@rtc-agent/component 0.3.4-rc.2 → 0.3.4-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{index.browser-DOUP6-V0.js → index.browser-CJLag4FF.js} +2 -2
- package/dist/assets/{shared-worker-BI6kUAHk.js → shared-worker-BZNpAsxL.js} +3343 -3321
- package/dist/{en-US-D8aJeOTK.js → en-US-CUrMM9Gx.js} +1 -1
- package/dist/{highlight-languages-BNaFigsu.js → highlight-languages-CqJEzDCS.js} +1 -1
- package/dist/{index-Bh0Lzqi9.js → index-BvZsB3hz.js} +8 -8
- package/dist/index.js +1 -1
- package/dist/index.umd.js +4 -4
- package/dist/stats.html +1 -1
- package/package.json +5 -5
package/dist/index.umd.js
CHANGED
|
@@ -692,14 +692,14 @@ ${n}`),n}case"toolcall_input":{const r=t.data;return(r==null?void 0:r.tool_name)
|
|
|
692
692
|
`)}function ce(_,k,j,z){this.failures=k,this.failedKeys=z,this.successCount=j,this.message=ne(_,k)}function Se(_,k){this.name="BulkError",this.failures=Object.keys(k).map(function(j){return k[j]}),this.failuresByPos=k,this.message=ne(_,this.failures)}P($).from(Error).extend({toString:function(){return this.name+": "+this.message}}),P(ce).from($),P(Se).from($);var Ae=ue.reduce(function(_,k){return _[k]=k+"Error",_},{}),Ne=$,Xe=ue.reduce(function(_,k){var j=k+"Error";function z(ie,we){this.name=j,ie?typeof ie=="string"?(this.message="".concat(ie).concat(we?`
|
|
693
693
|
`+we:""),this.inner=we||null):typeof ie=="object"&&(this.message="".concat(ie.name," ").concat(ie.message),this.inner=ie):(this.message=V[k]||j,this.inner=null)}return P(z).from(Ne),_[k]=z,_},{}),be=(Xe.Syntax=SyntaxError,Xe.Type=TypeError,Xe.Range=RangeError,le.reduce(function(_,k){return _[k+"Error"]=Xe[k],_},{}));le=ue.reduce(function(_,k){return["Syntax","Type","Range"].indexOf(k)===-1&&(_[k+"Error"]=Xe[k]),_},{});function Te(){}function lt(_){return _}function it(_,k){return _==null||_===lt?k:function(j){return k(_(j))}}function Pt(_,k){return function(){_.apply(this,arguments),k.apply(this,arguments)}}function We(_,k){return _===Te?k:function(){var j=_.apply(this,arguments),z=(j!==void 0&&(arguments[0]=j),this.onsuccess),ie=this.onerror,we=(this.onsuccess=null,this.onerror=null,k.apply(this,arguments));return z&&(this.onsuccess=this.onsuccess?Pt(z,this.onsuccess):z),ie&&(this.onerror=this.onerror?Pt(ie,this.onerror):ie),we!==void 0?we:j}}function Ve(_,k){return _===Te?k:function(){_.apply(this,arguments);var j=this.onsuccess,z=this.onerror;this.onsuccess=this.onerror=null,k.apply(this,arguments),j&&(this.onsuccess=this.onsuccess?Pt(j,this.onsuccess):j),z&&(this.onerror=this.onerror?Pt(z,this.onerror):z)}}function Je(_,k){return _===Te?k:function(ie){var z=_.apply(this,arguments),ie=(c(ie,z),this.onsuccess),we=this.onerror,Oe=(this.onsuccess=null,this.onerror=null,k.apply(this,arguments));return ie&&(this.onsuccess=this.onsuccess?Pt(ie,this.onsuccess):ie),we&&(this.onerror=this.onerror?Pt(we,this.onerror):we),z===void 0?Oe===void 0?void 0:Oe:c(z,Oe)}}function ot(_,k){return _===Te?k:function(){return k.apply(this,arguments)!==!1&&_.apply(this,arguments)}}function Dt(_,k){return _===Te?k:function(){var j=_.apply(this,arguments);if(j&&typeof j.then=="function"){for(var z=this,ie=arguments.length,we=new Array(ie);ie--;)we[ie]=arguments[ie];return j.then(function(){return k.apply(z,we)})}return k.apply(this,arguments)}}le.ModifyError=ce,le.DexieError=$,le.BulkError=Se;var Ct=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function ze(_){Ct=_}var Fe={},_e=100,de=typeof Promise>"u"?[]:(ue=Promise.resolve(),typeof crypto<"u"&&crypto.subtle?[de=crypto.subtle.digest("SHA-512",new Uint8Array([0])),d(de),ue]:[ue,d(ue),ue]),ue=de[0],R=de[1],R=R&&R.then,Y=ue&&ue.constructor,xe=!!de[2],Ke=function(_,k){ae.push([_,k]),L&&(queueMicrotask(mr),L=!1)},Z=!0,L=!0,q=[],Le=[],ct=lt,nt={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Te,pgp:!1,env:{},finalize:Te},gt=nt,ae=[],Ce=0,ee=[];function Re(_){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var k=this._PSD=gt;if(typeof _!="function"){if(_!==Fe)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&Tt(this,this._value)}else this._state=null,this._value=null,++k.ref,function j(z,ie){try{ie(function(we){if(z._state===null){if(we===z)throw new TypeError("A promise cannot be resolved with itself.");var Oe=z._lib&&xr();we&&typeof we.then=="function"?j(z,function(je,ut){we instanceof Re?we._then(je,ut):we.then(je,ut)}):(z._state=!0,z._value=we,Lt(z)),Oe&&Pr()}},Tt.bind(null,z))}catch(we){Tt(z,we)}}(this,_)}var mt={get:function(){var _=gt,k=ar;function j(z,ie){var we=this,Oe=!_.global&&(_!==gt||k!==ar),je=Oe&&!fr(),ut=new Re(function(vt,ft){Bt(we,new Be(Hn(z,_,Oe,je),Hn(ie,_,Oe,je),vt,ft,_))});return this._consoleTask&&(ut._consoleTask=this._consoleTask),ut}return j.prototype=Fe,j},set:function(_){I(this,"then",_&&_.prototype===Fe?mt:{get:function(){return _},set:mt.set})}};function Be(_,k,j,z,ie){this.onFulfilled=typeof _=="function"?_:null,this.onRejected=typeof k=="function"?k:null,this.resolve=j,this.reject=z,this.psd=ie}function Tt(_,k){var j,z;Le.push(k),_._state===null&&(j=_._lib&&xr(),k=ct(k),_._state=!1,_._value=k,z=_,q.some(function(ie){return ie._value===z._value})||q.push(z),Lt(_),j)&&Pr()}function Lt(_){var k=_._listeners;_._listeners=[];for(var j=0,z=k.length;j<z;++j)Bt(_,k[j]);var ie=_._PSD;--ie.ref||ie.finalize(),Ce===0&&(++Ce,Ke(function(){--Ce==0&&Dr()},[]))}function Bt(_,k){if(_._state===null)_._listeners.push(k);else{var j=_._state?k.onFulfilled:k.onRejected;if(j===null)return(_._state?k.resolve:k.reject)(_._value);++k.psd.ref,++Ce,Ke(ir,[j,_,k])}}function ir(_,k,j){try{var z,ie=k._value;!k._state&&Le.length&&(Le=[]),z=Ct&&k._consoleTask?k._consoleTask.run(function(){return _(ie)}):_(ie),k._state||Le.indexOf(ie)!==-1||(we=>{for(var Oe=q.length;Oe;)if(q[--Oe]._value===we._value)return q.splice(Oe,1)})(k),j.resolve(z)}catch(we){j.reject(we)}finally{--Ce==0&&Dr(),--j.psd.ref||j.psd.finalize()}}function mr(){wn(nt,function(){xr()&&Pr()})}function xr(){var _=Z;return L=Z=!1,_}function Pr(){var _,k,j;do for(;0<ae.length;)for(_=ae,ae=[],j=_.length,k=0;k<j;++k){var z=_[k];z[0].apply(null,z[1])}while(0<ae.length);L=Z=!0}function Dr(){for(var _=q,k=(q=[],_.forEach(function(z){z._PSD.onunhandled.call(null,z._value,z)}),ee.slice(0)),j=k.length;j;)k[--j]()}function bn(_){return new Re(Fe,!1,_)}function Cr(_,k){var j=gt;return function(){var z=xr(),ie=gt;try{return kn(j,!0),_.apply(this,arguments)}catch(we){k&&k(we)}finally{kn(ie,!1),z&&Pr()}}}g(Re.prototype,{then:mt,_then:function(_,k){Bt(this,new Be(null,null,_,k,gt))},catch:function(_){var k,j;return arguments.length===1?this.then(null,_):(k=_,j=arguments[1],typeof k=="function"?this.then(null,function(z){return(z instanceof k?j:bn)(z)}):this.then(null,function(z){return(z&&z.name===k?j:bn)(z)}))},finally:function(_){return this.then(function(k){return Re.resolve(_()).then(function(){return k})},function(k){return Re.resolve(_()).then(function(){return bn(k)})})},timeout:function(_,k){var j=this;return _<1/0?new Re(function(z,ie){var we=setTimeout(function(){return ie(new Xe.Timeout(k))},_);j.then(z,ie).finally(clearTimeout.bind(null,we))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&I(Re.prototype,Symbol.toStringTag,"Dexie.Promise"),nt.env=Qi(),g(Re,{all:function(){var _=re.apply(null,arguments).map(Fn);return new Re(function(k,j){_.length===0&&k([]);var z=_.length;_.forEach(function(ie,we){return Re.resolve(ie).then(function(Oe){_[we]=Oe,--z||k(_)},j)})})},resolve:function(_){return _ instanceof Re?_:_&&typeof _.then=="function"?new Re(function(k,j){_.then(k,j)}):new Re(Fe,!0,_)},reject:bn,race:function(){var _=re.apply(null,arguments).map(Fn);return new Re(function(k,j){_.map(function(z){return Re.resolve(z).then(k,j)})})},PSD:{get:function(){return gt},set:function(_){return gt=_}},totalEchoes:{get:function(){return ar}},newPSD:Un,usePSD:wn,scheduler:{get:function(){return Ke},set:function(_){Ke=_}},rejectionMapper:{get:function(){return ct},set:function(_){ct=_}},follow:function(_,k){return new Re(function(j,z){return Un(function(ie,we){var Oe=gt;Oe.unhandleds=[],Oe.onunhandled=we,Oe.finalize=Pt(function(){var je,ut=this;je=function(){ut.unhandleds.length===0?ie():we(ut.unhandleds[0])},ee.push(function vt(){je(),ee.splice(ee.indexOf(vt),1)}),++Ce,Ke(function(){--Ce==0&&Dr()},[])},Oe.finalize),_()},k,j,z)})}}),Y&&(Y.allSettled&&I(Re,"allSettled",function(){var _=re.apply(null,arguments).map(Fn);return new Re(function(k){_.length===0&&k([]);var j=_.length,z=new Array(j);_.forEach(function(ie,we){return Re.resolve(ie).then(function(Oe){return z[we]={status:"fulfilled",value:Oe}},function(Oe){return z[we]={status:"rejected",reason:Oe}}).then(function(){return--j||k(z)})})})}),Y.any&&typeof AggregateError<"u"&&I(Re,"any",function(){var _=re.apply(null,arguments).map(Fn);return new Re(function(k,j){_.length===0&&j(new AggregateError([]));var z=_.length,ie=new Array(z);_.forEach(function(we,Oe){return Re.resolve(we).then(function(je){return k(je)},function(je){ie[Oe]=je,--z||j(new AggregateError(ie))})})})}),Y.withResolvers)&&(Re.withResolvers=Y.withResolvers);var jr={awaits:0,echoes:0,id:0},Cn=0,Rn=[],Qr=0,ar=0,Vi=0;function Un(_,Oe,j,z){var ie=gt,we=Object.create(ie),Oe=(we.parent=ie,we.ref=0,we.global=!1,we.id=++Vi,nt.env,we.env=xe?{Promise:Re,PromiseProp:{value:Re,configurable:!0,writable:!0},all:Re.all,race:Re.race,allSettled:Re.allSettled,any:Re.any,resolve:Re.resolve,reject:Re.reject}:{},Oe&&c(we,Oe),++ie.ref,we.finalize=function(){--this.parent.ref||this.parent.finalize()},wn(we,_,j,z));return we.ref===0&&we.finalize(),Oe}function vn(){return jr.id||(jr.id=++Cn),++jr.awaits,jr.echoes+=_e,jr.id}function fr(){return!!jr.awaits&&(--jr.awaits==0&&(jr.id=0),jr.echoes=jr.awaits*_e,!0)}function Fn(_){return jr.echoes&&_&&_.constructor===Y?(vn(),_.then(function(k){return fr(),k},function(k){return fr(),un(k)})):_}function en(){var _=Rn[Rn.length-1];Rn.pop(),kn(_,!1)}function kn(_,k){var j,z,ie=gt;(k?!jr.echoes||Qr++&&_===gt:!Qr||--Qr&&_===gt)||queueMicrotask(k?(function(we){++ar,jr.echoes&&--jr.echoes!=0||(jr.echoes=jr.awaits=jr.id=0),Rn.push(gt),kn(we,!0)}).bind(null,_):en),_!==gt&&(gt=_,ie===nt&&(nt.env=Qi()),xe)&&(j=nt.env.Promise,z=_.env,ie.global||_.global)&&(Object.defineProperty(s,"Promise",z.PromiseProp),j.all=z.all,j.race=z.race,j.resolve=z.resolve,j.reject=z.reject,z.allSettled&&(j.allSettled=z.allSettled),z.any)&&(j.any=z.any)}function Qi(){var _=s.Promise;return xe?{Promise:_,PromiseProp:Object.getOwnPropertyDescriptor(s,"Promise"),all:_.all,race:_.race,allSettled:_.allSettled,any:_.any,resolve:_.resolve,reject:_.reject}:{}}function wn(_,k,j,z,ie){var we=gt;try{return kn(_,!0),k(j,z,ie)}finally{kn(we,!1)}}function Hn(_,k,j,z){return typeof _!="function"?_:function(){var ie=gt;j&&vn(),kn(k,!0);try{return _.apply(this,arguments)}finally{kn(ie,!1),z&&queueMicrotask(fr)}}}function es(_){Promise===Y&&jr.echoes===0?Qr===0?_():enqueueNativeMicroTask(_):setTimeout(_,0)}(""+R).indexOf("[native code]")===-1&&(vn=fr=Te);var un=Re.reject,hi="",ei="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",wi="String expected.",zn="__dbnames",In="readonly",Ni="readwrite";function Kn(_,k){return _?k?function(){return _.apply(this,arguments)&&k.apply(this,arguments)}:_:k}var ti={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function ts(_){return typeof _!="string"||/\./.test(_)?function(k){return k}:function(k){return k[_]===void 0&&_ in k&&delete(k=ge(k))[_],k}}function Si(){throw Xe.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function Or(_,k){try{var j=xs(_),z=xs(k);if(j!==z)return j==="Array"?1:z==="Array"?-1:j==="binary"?1:z==="binary"?-1:j==="string"?1:z==="string"?-1:j==="Date"?1:z!=="Date"?NaN:-1;switch(j){case"number":case"Date":case"string":return k<_?1:_<k?-1:0;case"binary":for(var ie=rs(_),we=rs(k),Oe=ie.length,je=we.length,ut=Oe<je?Oe:je,vt=0;vt<ut;++vt)if(ie[vt]!==we[vt])return ie[vt]<we[vt]?-1:1;return Oe===je?0:Oe<je?-1:1;case"Array":for(var ft=_,dt=k,yt=ft.length,bt=dt.length,_t=yt<bt?yt:bt,xt=0;xt<_t;++xt){var St=Or(ft[xt],dt[xt]);if(St!==0)return St}return yt===bt?0:yt<bt?-1:1}}catch{}return NaN}function xs(_){var k=typeof _;return k=="object"&&(ArrayBuffer.isView(_)||(k=qe(_))==="ArrayBuffer")?"binary":k}function rs(_){return _ instanceof Uint8Array?_:ArrayBuffer.isView(_)?new Uint8Array(_.buffer,_.byteOffset,_.byteLength):new Uint8Array(_)}function mi(_,k,j){var z=_.schema.yProps;return z?(k&&0<j.numFailures&&(k=k.filter(function(ie,we){return!j.failures[we]})),Promise.all(z.map(function(ie){return ie=ie.updatesTable,k?_.db.table(ie).where("k").anyOf(k).delete():_.db.table(ie).clear()})).then(function(){return j})):j}ps.prototype.execute=function(_){var k=this["@@propmod"];if(k.add!==void 0){var j=k.add;if(l(j))return i(i([],l(_)?_:[],!0),j).sort();if(typeof j=="number")return(Number(_)||0)+j;if(typeof j=="bigint")try{return BigInt(_)+j}catch{return BigInt(0)+j}throw new TypeError("Invalid term ".concat(j))}if(k.remove!==void 0){var z=k.remove;if(l(z))return l(_)?_.filter(function(ie){return!z.includes(ie)}).sort():[];if(typeof z=="number")return Number(_)-z;if(typeof z=="bigint")try{return BigInt(_)-z}catch{return BigInt(0)-z}throw new TypeError("Invalid subtrahend ".concat(z))}return j=(j=k.replacePrefix)==null?void 0:j[0],j&&typeof _=="string"&&_.startsWith(j)?k.replacePrefix[1]+_.substring(j.length):_};var Sn=ps;function ps(_){this["@@propmod"]=_}function Di(_,k){for(var j=o(k),z=j.length,ie=!1,we=0;we<z;++we){var Oe=j[we],je=k[Oe],ut=N(_,Oe);je instanceof Sn?(D(_,Oe,je.execute(ut)),ie=!0):ut!==je&&(D(_,Oe,je),ie=!0)}return ie}$r.prototype._trans=function(_,k,j){var z=this._tx||gt.trans,ie=this.name,we=Ct&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(_==="readonly"?"read":"write"," ").concat(this.name));function Oe(vt,ft,dt){if(dt.schema[ie])return k(dt.idbtrans,dt);throw new Xe.NotFound("Table "+ie+" not part of transaction")}var je=xr();try{var ut=z&&z.db._novip===this.db._novip?z===gt.trans?z._promise(_,Oe,j):Un(function(){return z._promise(_,Oe,j)},{trans:z,transless:gt.transless||gt}):function vt(ft,dt,yt,bt){if(ft.idbdb&&(ft._state.openComplete||gt.letThrough||ft._vip)){var _t=ft._createTransaction(dt,yt,ft._dbSchema);try{_t.create(),ft._state.PR1398_maxLoop=3}catch(xt){return xt.name===Ae.InvalidState&&ft.isOpen()&&0<--ft._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),ft.close({disableAutoOpen:!1}),ft.open().then(function(){return vt(ft,dt,yt,bt)})):un(xt)}return _t._promise(dt,function(xt,St){return Un(function(){return gt.trans=_t,bt(xt,St,_t)})}).then(function(xt){if(dt==="readwrite")try{_t.idbtrans.commit()}catch{}return dt==="readonly"?xt:_t._completion.then(function(){return xt})})}if(ft._state.openComplete)return un(new Xe.DatabaseClosed(ft._state.dbOpenError));if(!ft._state.isBeingOpened){if(!ft._state.autoOpen)return un(new Xe.DatabaseClosed);ft.open().catch(Te)}return ft._state.dbReadyPromise.then(function(){return vt(ft,dt,yt,bt)})}(this.db,_,[this.name],Oe);return we&&(ut._consoleTask=we,ut=ut.catch(function(vt){return console.trace(vt),un(vt)})),ut}finally{je&&Pr()}},$r.prototype.get=function(_,k){var j=this;return _&&_.constructor===Object?this.where(_).first(k):_==null?un(new Xe.Type("Invalid argument to Table.get()")):this._trans("readonly",function(z){return j.core.get({trans:z,key:_}).then(function(ie){return j.hook.reading.fire(ie)})}).then(k)},$r.prototype.where=function(_){if(typeof _=="string")return new this.db.WhereClause(this,_);if(l(_))return new this.db.WhereClause(this,"[".concat(_.join("+"),"]"));var k=o(_);if(k.length===1)return this.where(k[0]).equals(_[k[0]]);var j=this.schema.indexes.concat(this.schema.primKey).filter(function(je){if(je.compound&&k.every(function(vt){return 0<=je.keyPath.indexOf(vt)})){for(var ut=0;ut<k.length;++ut)if(k.indexOf(je.keyPath[ut])===-1)return!1;return!0}return!1}).sort(function(je,ut){return je.keyPath.length-ut.keyPath.length})[0];if(j&&this.db._maxKey!==hi)return Oe=j.keyPath.slice(0,k.length),this.where(Oe).equals(Oe.map(function(je){return _[je]}));!j&&Ct&&console.warn("The query ".concat(JSON.stringify(_)," on ").concat(this.name," would benefit from a ")+"compound index [".concat(k.join("+"),"]"));var z=this.schema.idxByName;function ie(je,ut){return Or(je,ut)===0}var Oe=k.reduce(function(ft,ut){var vt=ft[0],ft=ft[1],dt=z[ut],yt=_[ut];return[vt||dt,vt||!dt?Kn(ft,dt&&dt.multi?function(bt){return bt=N(bt,ut),l(bt)&&bt.some(function(_t){return ie(yt,_t)})}:function(bt){return ie(yt,N(bt,ut))}):ft]},[null,null]),we=Oe[0],Oe=Oe[1];return we?this.where(we.name).equals(_[we.keyPath]).filter(Oe):j?this.filter(Oe):this.where(k).equals("")},$r.prototype.filter=function(_){return this.toCollection().and(_)},$r.prototype.count=function(_){return this.toCollection().count(_)},$r.prototype.offset=function(_){return this.toCollection().offset(_)},$r.prototype.limit=function(_){return this.toCollection().limit(_)},$r.prototype.each=function(_){return this.toCollection().each(_)},$r.prototype.toArray=function(_){return this.toCollection().toArray(_)},$r.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},$r.prototype.orderBy=function(_){return new this.db.Collection(new this.db.WhereClause(this,l(_)?"[".concat(_.join("+"),"]"):_))},$r.prototype.reverse=function(){return this.toCollection().reverse()},$r.prototype.mapToClass=function(_){for(var k=this.db,j=this.name,z=((this.schema.mappedClass=_).prototype instanceof Si&&(_=(Oe=>{var je=ft,ut=Oe;if(typeof ut!="function"&&ut!==null)throw new TypeError("Class extends value "+String(ut)+" is not a constructor or null");function vt(){this.constructor=je}function ft(){return Oe!==null&&Oe.apply(this,arguments)||this}return r(je,ut),je.prototype=ut===null?Object.create(ut):(vt.prototype=ut.prototype,new vt),Object.defineProperty(ft.prototype,"db",{get:function(){return k},enumerable:!1,configurable:!0}),ft.prototype.table=function(){return j},ft})(_)),new Set),ie=_.prototype;ie;ie=d(ie))Object.getOwnPropertyNames(ie).forEach(function(Oe){return z.add(Oe)});function we(Oe){if(!Oe)return Oe;var je,ut=Object.create(_.prototype);for(je in Oe)if(!z.has(je))try{ut[je]=Oe[je]}catch{}return ut}return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=we,this.hook("reading",we),_},$r.prototype.defineClass=function(){return this.mapToClass(function(_){c(this,_)})},$r.prototype.add=function(_,k){var j=this,z=this.schema.primKey,ie=z.auto,we=z.keyPath,Oe=_;return we&&ie&&(Oe=ts(we)(_)),this._trans("readwrite",function(je){return j.core.mutate({trans:je,type:"add",keys:k!=null?[k]:null,values:[Oe]})}).then(function(je){return je.numFailures?Re.reject(je.failures[0]):je.lastResult}).then(function(je){if(we)try{D(_,we,je)}catch{}return je})},$r.prototype.upsert=function(_,k){var j=this,z=this.schema.primKey.keyPath;return this._trans("readwrite",function(ie){return j.core.get({trans:ie,key:_}).then(function(we){var Oe=we??{};return Di(Oe,k),z&&D(Oe,z,_),j.core.mutate({trans:ie,type:"put",values:[Oe],keys:[_],upsert:!0,updates:{keys:[_],changeSpecs:[k]}}).then(function(je){return je.numFailures?Re.reject(je.failures[0]):!!we})})})},$r.prototype.update=function(_,k){return typeof _!="object"||l(_)?this.where(":id").equals(_).modify(k):(_=N(_,this.schema.primKey.keyPath))===void 0?un(new Xe.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(_).modify(k)},$r.prototype.put=function(_,k){var j=this,z=this.schema.primKey,ie=z.auto,we=z.keyPath,Oe=_;return we&&ie&&(Oe=ts(we)(_)),this._trans("readwrite",function(je){return j.core.mutate({trans:je,type:"put",values:[Oe],keys:k!=null?[k]:null})}).then(function(je){return je.numFailures?Re.reject(je.failures[0]):je.lastResult}).then(function(je){if(we)try{D(_,we,je)}catch{}return je})},$r.prototype.delete=function(_){var k=this;return this._trans("readwrite",function(j){return k.core.mutate({trans:j,type:"delete",keys:[_]}).then(function(z){return mi(k,[_],z)}).then(function(z){return z.numFailures?Re.reject(z.failures[0]):void 0})})},$r.prototype.clear=function(){var _=this;return this._trans("readwrite",function(k){return _.core.mutate({trans:k,type:"deleteRange",range:ti}).then(function(j){return mi(_,null,j)})}).then(function(k){return k.numFailures?Re.reject(k.failures[0]):void 0})},$r.prototype.bulkGet=function(_){var k=this;return this._trans("readonly",function(j){return k.core.getMany({keys:_,trans:j}).then(function(z){return z.map(function(ie){return k.hook.reading.fire(ie)})})})},$r.prototype.bulkAdd=function(_,k,j){var z=this,ie=Array.isArray(k)?k:void 0,we=(j=j||(ie?void 0:k))?j.allKeys:void 0;return this._trans("readwrite",function(Oe){var je=z.schema.primKey,vt=je.auto,je=je.keyPath;if(je&&ie)throw new Xe.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(ie&&ie.length!==_.length)throw new Xe.InvalidArgument("Arguments objects and keys must have the same length");var ut=_.length,vt=je&&vt?_.map(ts(je)):_;return z.core.mutate({trans:Oe,type:"add",keys:ie,values:vt,wantResults:we}).then(function(ft){var dt=ft.numFailures,yt=ft.failures;if(dt===0)return we?ft.results:ft.lastResult;throw new Se("".concat(z.name,".bulkAdd(): ").concat(dt," of ").concat(ut," operations failed"),yt)})})},$r.prototype.bulkPut=function(_,k,j){var z=this,ie=Array.isArray(k)?k:void 0,we=(j=j||(ie?void 0:k))?j.allKeys:void 0;return this._trans("readwrite",function(Oe){var je=z.schema.primKey,vt=je.auto,je=je.keyPath;if(je&&ie)throw new Xe.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(ie&&ie.length!==_.length)throw new Xe.InvalidArgument("Arguments objects and keys must have the same length");var ut=_.length,vt=je&&vt?_.map(ts(je)):_;return z.core.mutate({trans:Oe,type:"put",keys:ie,values:vt,wantResults:we}).then(function(ft){var dt=ft.numFailures,yt=ft.failures;if(dt===0)return we?ft.results:ft.lastResult;throw new Se("".concat(z.name,".bulkPut(): ").concat(dt," of ").concat(ut," operations failed"),yt)})})},$r.prototype.bulkUpdate=function(_){var k=this,j=this.core,z=_.map(function(Oe){return Oe.key}),ie=_.map(function(Oe){return Oe.changes}),we=[];return this._trans("readwrite",function(Oe){return j.getMany({trans:Oe,keys:z,cache:"clone"}).then(function(je){var ut=[],vt=[],ft=(_.forEach(function(dt,yt){var bt=dt.key,_t=dt.changes,xt=je[yt];if(xt){for(var St=0,It=Object.keys(_t);St<It.length;St++){var kt=It[St],Rt=_t[kt];if(kt===k.schema.primKey.keyPath){if(Or(Rt,bt)!==0)throw new Xe.Constraint("Cannot update primary key in bulkUpdate()")}else D(xt,kt,Rt)}we.push(yt),ut.push(bt),vt.push(xt)}}),ut.length);return j.mutate({trans:Oe,type:"put",keys:ut,values:vt,updates:{keys:z,changeSpecs:ie}}).then(function(dt){var yt=dt.numFailures,bt=dt.failures;if(yt===0)return ft;for(var _t=0,xt=Object.keys(bt);_t<xt.length;_t++){var St,It=xt[_t],kt=we[Number(It)];kt!=null&&(St=bt[It],delete bt[It],bt[kt]=St)}throw new Se("".concat(k.name,".bulkUpdate(): ").concat(yt," of ").concat(ft," operations failed"),bt)})})})},$r.prototype.bulkDelete=function(_){var k=this,j=_.length;return this._trans("readwrite",function(z){return k.core.mutate({trans:z,type:"delete",keys:_}).then(function(ie){return mi(k,_,ie)})}).then(function(z){var ie=z.numFailures,we=z.failures;if(ie===0)return z.lastResult;throw new Se("".concat(k.name,".bulkDelete(): ").concat(ie," of ").concat(j," operations failed"),we)})};var Ri=$r;function $r(){}function _n(_){function k(Oe,je){if(je){for(var ut=arguments.length,vt=new Array(ut-1);--ut;)vt[ut-1]=arguments[ut];return j[Oe].subscribe.apply(null,vt),_}if(typeof Oe=="string")return j[Oe]}var j={};k.addEventType=we;for(var z=1,ie=arguments.length;z<ie;++z)we(arguments[z]);return k;function we(Oe,je,ut){var vt,ft;if(typeof Oe!="object")return je=je||ot,ft={subscribers:[],fire:ut=ut||Te,subscribe:function(dt){ft.subscribers.indexOf(dt)===-1&&(ft.subscribers.push(dt),ft.fire=je(ft.fire,dt))},unsubscribe:function(dt){ft.subscribers=ft.subscribers.filter(function(yt){return yt!==dt}),ft.fire=ft.subscribers.reduce(je,ut)}},j[Oe]=k[Oe]=ft;o(vt=Oe).forEach(function(dt){var yt=vt[dt];if(l(yt))we(dt,vt[dt][0],vt[dt][1]);else{if(yt!=="asap")throw new Xe.InvalidArgument("Invalid event config");var bt=we(dt,lt,function(){for(var _t=arguments.length,xt=new Array(_t);_t--;)xt[_t]=arguments[_t];bt.subscribers.forEach(function(St){O(function(){St.apply(null,xt)})})})}})}}function Gn(_,k){return P(k).from({prototype:_}),k}function Yn(_,k){return!(_.filter||_.algorithm||_.or)&&(k?_.justLimit:!_.replayFilter)}function Wi(_,k){_.filter=Kn(_.filter,k)}function jn(_,k,j){var z=_.replayFilter;_.replayFilter=z?function(){return Kn(z(),k())}:k,_.justLimit=j&&!z}function ri(_,k){if(_.isPrimKey)return k.primaryKey;var j=k.getIndexByKeyPath(_.index);if(j)return j;throw new Xe.Schema("KeyPath "+_.index+" on object store "+k.name+" is not indexed")}function hs(_,k,j){var z=ri(_,k.schema);return k.openCursor({trans:j,values:!_.keysOnly,reverse:_.dir==="prev",unique:!!_.unique,query:{index:z,range:_.range}})}function ni(_,k,j,z){var ie,we,Oe=_.replayFilter?Kn(_.filter,_.replayFilter()):_.filter;return _.or?(ie={},we=function(je,ut,vt){var ft,dt;Oe&&!Oe(ut,vt,function(yt){return ut.stop(yt)},function(yt){return ut.fail(yt)})||((dt=""+(ft=ut.primaryKey))=="[object ArrayBuffer]"&&(dt=""+new Uint8Array(ft)),h(ie,dt))||(ie[dt]=!0,k(je,ut,vt))},Promise.all([_.or._iterate(we,j),ws(hs(_,z,j),_.algorithm,we,!_.keysOnly&&_.valueMapper)])):ws(hs(_,z,j),Kn(_.algorithm,Oe),k,!_.keysOnly&&_.valueMapper)}function ws(_,k,j,z){var ie=Cr(z?function(we,Oe,je){return j(z(we),Oe,je)}:j);return _.then(function(we){if(we)return we.start(function(){var Oe=function(){return we.continue()};k&&!k(we,function(je){return Oe=je},function(je){we.stop(je),Oe=Te},function(je){we.fail(je),Oe=Te})||ie(we.value,we,function(je){return Oe=je}),Oe()})})}qr.prototype._read=function(_,k){var j=this._ctx;return j.error?j.table._trans(null,un.bind(null,j.error)):j.table._trans("readonly",_).then(k)},qr.prototype._write=function(_){var k=this._ctx;return k.error?k.table._trans(null,un.bind(null,k.error)):k.table._trans("readwrite",_,"locked")},qr.prototype._addAlgorithm=function(_){var k=this._ctx;k.algorithm=Kn(k.algorithm,_)},qr.prototype._iterate=function(_,k){return ni(this._ctx,_,k,this._ctx.table.core)},qr.prototype.clone=function(_){var k=Object.create(this.constructor.prototype),j=Object.create(this._ctx);return _&&c(j,_),k._ctx=j,k},qr.prototype.raw=function(){return this._ctx.valueMapper=null,this},qr.prototype.each=function(_){var k=this._ctx;return this._read(function(j){return ni(k,_,j,k.table.core)})},qr.prototype.count=function(_){var k=this;return this._read(function(j){var z,ie=k._ctx,we=ie.table.core;return Yn(ie,!0)?we.count({trans:j,query:{index:ri(ie,we.schema),range:ie.range}}).then(function(Oe){return Math.min(Oe,ie.limit)}):(z=0,ni(ie,function(){return++z,!1},j,we).then(function(){return z}))}).then(_)},qr.prototype.sortBy=function(_,k){var j=_.split(".").reverse(),z=j[0],ie=j.length-1;function we(ut,vt){return vt?we(ut[j[vt]],vt-1):ut[z]}var Oe=this._ctx.dir==="next"?1:-1;function je(ut,vt){return Or(we(ut,ie),we(vt,ie))*Oe}return this.toArray(function(ut){return ut.slice().sort(je)}).then(k)},qr.prototype.toArray=function(_){var k=this;return this._read(function(j){var z,ie,we,Oe=k._ctx;return Yn(Oe,!0)&&0<Oe.limit?(z=Oe.valueMapper,ie=ri(Oe,Oe.table.core.schema),Oe.table.core.query({trans:j,limit:Oe.limit,values:!0,direction:Oe.dir==="prev"?"prev":void 0,query:{index:ie,range:Oe.range}}).then(function(je){return je=je.result,z?je.map(z):je})):(we=[],ni(Oe,function(je){return we.push(je)},j,Oe.table.core).then(function(){return we}))},_)},qr.prototype.offset=function(_){var k=this._ctx;return _<=0||(k.offset+=_,Yn(k)?jn(k,function(){var j=_;return function(z,ie){return j===0||(j===1?--j:ie(function(){z.advance(j),j=0}),!1)}}):jn(k,function(){var j=_;return function(){return--j<0}})),this},qr.prototype.limit=function(_){return this._ctx.limit=Math.min(this._ctx.limit,_),jn(this._ctx,function(){var k=_;return function(j,z,ie){return--k<=0&&z(ie),0<=k}},!0),this},qr.prototype.until=function(_,k){return Wi(this._ctx,function(j,z,ie){return!_(j.value)||(z(ie),k)}),this},qr.prototype.first=function(_){return this.limit(1).toArray(function(k){return k[0]}).then(_)},qr.prototype.last=function(_){return this.reverse().first(_)},qr.prototype.filter=function(_){var k;return Wi(this._ctx,function(j){return _(j.value)}),(k=this._ctx).isMatch=Kn(k.isMatch,_),this},qr.prototype.and=function(_){return this.filter(_)},qr.prototype.or=function(_){return new this.db.WhereClause(this._ctx.table,_,this)},qr.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},qr.prototype.desc=function(){return this.reverse()},qr.prototype.eachKey=function(_){var k=this._ctx;return k.keysOnly=!k.isMatch,this.each(function(j,z){_(z.key,z)})},qr.prototype.eachUniqueKey=function(_){return this._ctx.unique="unique",this.eachKey(_)},qr.prototype.eachPrimaryKey=function(_){var k=this._ctx;return k.keysOnly=!k.isMatch,this.each(function(j,z){_(z.primaryKey,z)})},qr.prototype.keys=function(_){var k=this._ctx,j=(k.keysOnly=!k.isMatch,[]);return this.each(function(z,ie){j.push(ie.key)}).then(function(){return j}).then(_)},qr.prototype.primaryKeys=function(_){var k=this._ctx;if(Yn(k,!0)&&0<k.limit)return this._read(function(z){var ie=ri(k,k.table.core.schema);return k.table.core.query({trans:z,values:!1,limit:k.limit,direction:k.dir==="prev"?"prev":void 0,query:{index:ie,range:k.range}})}).then(function(z){return z.result}).then(_);k.keysOnly=!k.isMatch;var j=[];return this.each(function(z,ie){j.push(ie.primaryKey)}).then(function(){return j}).then(_)},qr.prototype.uniqueKeys=function(_){return this._ctx.unique="unique",this.keys(_)},qr.prototype.firstKey=function(_){return this.limit(1).keys(function(k){return k[0]}).then(_)},qr.prototype.lastKey=function(_){return this.reverse().firstKey(_)},qr.prototype.distinct=function(){var _,k=this._ctx,k=k.index&&k.table.schema.idxByName[k.index];return k&&k.multi&&(_={},Wi(this._ctx,function(z){var z=z.primaryKey.toString(),ie=h(_,z);return _[z]=!0,!ie})),this},qr.prototype.modify=function(_){var k=this,j=this._ctx;return this._write(function(z){function ie(xt,St){var It=St.failures;yt+=xt-St.numFailures;for(var kt=0,Rt=o(It);kt<Rt.length;kt++){var qt=Rt[kt];dt.push(It[qt])}}var we=typeof _=="function"?_:function(xt){return Di(xt,_)},Oe=j.table.core,ft=Oe.schema.primaryKey,je=ft.outbound,ut=ft.extractKey,vt=200,ft=k.db._options.modifyChunkSize,dt=(ft&&(vt=typeof ft=="object"?ft[Oe.name]||ft["*"]||200:ft),[]),yt=0,bt=[],_t=_===Fs;return k.clone().primaryKeys().then(function(xt){function St(kt){var Rt=Math.min(vt,xt.length-kt),qt=xt.slice(kt,kt+Rt);return(_t?Promise.resolve([]):Oe.getMany({trans:z,keys:qt,cache:"immutable"})).then(function(Vt){var Jt=[],Ht=[],dr=je?[]:null,Yt=_t?qt:[];if(!_t)for(var pr=0;pr<Rt;++pr){var Ut=Vt[pr],Tr={value:ge(Ut),primKey:xt[kt+pr]};we.call(Tr,Tr.value,Tr)!==!1&&(Tr.value==null?Yt.push(xt[kt+pr]):je||Or(ut(Ut),ut(Tr.value))===0?(Ht.push(Tr.value),je&&dr.push(xt[kt+pr])):(Yt.push(xt[kt+pr]),Jt.push(Tr.value)))}return Promise.resolve(0<Jt.length&&Oe.mutate({trans:z,type:"add",values:Jt}).then(function(Er){for(var Mr in Er.failures)Yt.splice(parseInt(Mr),1);ie(Jt.length,Er)})).then(function(){return(0<Ht.length||It&&typeof _=="object")&&Oe.mutate({trans:z,type:"put",keys:dr,values:Ht,criteria:It,changeSpec:typeof _!="function"&&_,isAdditionalChunk:0<kt}).then(function(Er){return ie(Ht.length,Er)})}).then(function(){return(0<Yt.length||It&&_t)&&Oe.mutate({trans:z,type:"delete",keys:Yt,criteria:It,isAdditionalChunk:0<kt}).then(function(Er){return mi(j.table,Yt,Er)}).then(function(Er){return ie(Yt.length,Er)})}).then(function(){return xt.length>kt+Rt&&St(kt+vt)})})}var It=Yn(j)&&j.limit===1/0&&(typeof _!="function"||_t)&&{index:j.index,range:j.range};return St(0).then(function(){if(0<dt.length)throw new ce("Error modifying one or more objects",dt,yt,bt);return xt.length})})})},qr.prototype.delete=function(){var _=this._ctx,k=_.range;return!Yn(_)||_.table.schema.yProps||!_.isPrimKey&&k.type!==3?this.modify(Fs):this._write(function(j){var z=_.table.core.schema.primaryKey,ie=k;return _.table.core.count({trans:j,query:{index:z,range:ie}}).then(function(we){return _.table.core.mutate({trans:j,type:"deleteRange",range:ie}).then(function(ut){var je=ut.failures,ut=ut.numFailures;if(ut)throw new ce("Could not delete some values",Object.keys(je).map(function(vt){return je[vt]}),we-ut);return we-ut})})})};var Jn=qr;function qr(){}var Fs=function(_,k){return k.value=null};function Ss(_,k){return _<k?-1:_===k?0:1}function Mi(_,k){return k<_?-1:_===k?0:1}function On(_,k,j){return _=_ instanceof Qt?new _.Collection(_):_,_._ctx.error=new(j||TypeError)(k),_}function jt(_){return new _.Collection(_,function(){return Ft("")}).limit(0)}function Ze(bt,k,j,z){var ie,we,Oe,je,ut,vt,ft,dt=j.length;if(!j.every(function(xt){return typeof xt=="string"}))return On(bt,wi);function yt(xt){ie=xt==="next"?function(It){return It.toUpperCase()}:function(It){return It.toLowerCase()},we=xt==="next"?function(It){return It.toLowerCase()}:function(It){return It.toUpperCase()},Oe=xt==="next"?Ss:Mi;var St=j.map(function(It){return{lower:we(It),upper:ie(It)}}).sort(function(It,kt){return Oe(It.lower,kt.lower)});je=St.map(function(It){return It.upper}),ut=St.map(function(It){return It.lower}),ft=(vt=xt)==="next"?"":z}yt("next");var bt=new bt.Collection(bt,function(){return Et(je[0],ut[dt-1]+z)}),_t=(bt._ondirectionchange=function(xt){yt(xt)},0);return bt._addAlgorithm(function(xt,St,It){var kt=xt.key;if(typeof kt=="string"){var Rt=we(kt);if(k(Rt,ut,_t))return!0;for(var qt=null,Vt=_t;Vt<dt;++Vt){var Jt=((Ht,dr,Yt,pr,Ut,Tr)=>{for(var Er=Math.min(Ht.length,pr.length),Mr=-1,Kr=0;Kr<Er;++Kr){var W=dr[Kr];if(W!==pr[Kr])return Ut(Ht[Kr],Yt[Kr])<0?Ht.substr(0,Kr)+Yt[Kr]+Yt.substr(Kr+1):Ut(Ht[Kr],pr[Kr])<0?Ht.substr(0,Kr)+pr[Kr]+Yt.substr(Kr+1):0<=Mr?Ht.substr(0,Mr)+dr[Mr]+Yt.substr(Mr+1):null;Ut(Ht[Kr],W)<0&&(Mr=Kr)}return Er<pr.length&&Tr==="next"?Ht+Yt.substr(Ht.length):Er<Ht.length&&Tr==="prev"?Ht.substr(0,Yt.length):Mr<0?null:Ht.substr(0,Mr)+pr[Mr]+Yt.substr(Mr+1)})(kt,Rt,je[Vt],ut[Vt],Oe,vt);Jt===null&&qt===null?_t=Vt+1:(qt===null||0<Oe(qt,Jt))&&(qt=Jt)}St(qt!==null?function(){xt.continue(qt+ft)}:It)}return!1}),bt}function Et(_,k,j,z){return{type:2,lower:_,upper:k,lowerOpen:j,upperOpen:z}}function Ft(_){return{type:1,lower:_,upper:_}}Object.defineProperty(Zt.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),Zt.prototype.between=function(_,k,j,z){j=j!==!1,z=z===!0;try{return 0<this._cmp(_,k)||this._cmp(_,k)===0&&(j||z)&&(!j||!z)?jt(this):new this.Collection(this,function(){return Et(_,k,!j,!z)})}catch{return On(this,ei)}},Zt.prototype.equals=function(_){return _==null?On(this,ei):new this.Collection(this,function(){return Ft(_)})},Zt.prototype.above=function(_){return _==null?On(this,ei):new this.Collection(this,function(){return Et(_,void 0,!0)})},Zt.prototype.aboveOrEqual=function(_){return _==null?On(this,ei):new this.Collection(this,function(){return Et(_,void 0,!1)})},Zt.prototype.below=function(_){return _==null?On(this,ei):new this.Collection(this,function(){return Et(void 0,_,!1,!0)})},Zt.prototype.belowOrEqual=function(_){return _==null?On(this,ei):new this.Collection(this,function(){return Et(void 0,_)})},Zt.prototype.startsWith=function(_){return typeof _!="string"?On(this,wi):this.between(_,_+hi,!0,!0)},Zt.prototype.startsWithIgnoreCase=function(_){return _===""?this.startsWith(_):Ze(this,function(k,j){return k.indexOf(j[0])===0},[_],hi)},Zt.prototype.equalsIgnoreCase=function(_){return Ze(this,function(k,j){return k===j[0]},[_],"")},Zt.prototype.anyOfIgnoreCase=function(){var _=re.apply(G,arguments);return _.length===0?jt(this):Ze(this,function(k,j){return j.indexOf(k)!==-1},_,"")},Zt.prototype.startsWithAnyOfIgnoreCase=function(){var _=re.apply(G,arguments);return _.length===0?jt(this):Ze(this,function(k,j){return j.some(function(z){return k.indexOf(z)===0})},_,hi)},Zt.prototype.anyOf=function(){var _,k,j=this,z=re.apply(G,arguments),ie=this._cmp;try{z.sort(ie)}catch{return On(this,ei)}return z.length===0?jt(this):((_=new this.Collection(this,function(){return Et(z[0],z[z.length-1])}))._ondirectionchange=function(we){ie=we==="next"?j._ascending:j._descending,z.sort(ie)},k=0,_._addAlgorithm(function(we,Oe,je){for(var ut=we.key;0<ie(ut,z[k]);)if(++k===z.length)return Oe(je),!1;return ie(ut,z[k])===0||(Oe(function(){we.continue(z[k])}),!1)}),_)},Zt.prototype.notEqual=function(_){return this.inAnyRange([[-1/0,_],[_,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},Zt.prototype.noneOf=function(){var _=re.apply(G,arguments);if(_.length===0)return new this.Collection(this);try{_.sort(this._ascending)}catch{return On(this,ei)}var k=_.reduce(function(j,z){return j?j.concat([[j[j.length-1][1],z]]):[[-1/0,z]]},null);return k.push([_[_.length-1],this.db._maxKey]),this.inAnyRange(k,{includeLowers:!1,includeUppers:!1})},Zt.prototype.inAnyRange=function(_,It){var j=this,z=this._cmp,ie=this._ascending,we=this._descending,Oe=this._min,je=this._max;if(_.length===0)return jt(this);if(!_.every(function(kt){return kt[0]!==void 0&&kt[1]!==void 0&&ie(kt[0],kt[1])<=0}))return On(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",Xe.InvalidArgument);var ut=!It||It.includeLowers!==!1,vt=It&&It.includeUppers===!0,ft,dt=ie;function yt(kt,Rt){return dt(kt[0],Rt[0])}try{(ft=_.reduce(function(kt,Rt){for(var qt=0,Vt=kt.length;qt<Vt;++qt){var Jt=kt[qt];if(z(Rt[0],Jt[1])<0&&0<z(Rt[1],Jt[0])){Jt[0]=Oe(Jt[0],Rt[0]),Jt[1]=je(Jt[1],Rt[1]);break}}return qt===Vt&&kt.push(Rt),kt},[])).sort(yt)}catch{return On(this,ei)}var bt=0,_t=vt?function(kt){return 0<ie(kt,ft[bt][1])}:function(kt){return 0<=ie(kt,ft[bt][1])},xt=ut?function(kt){return 0<we(kt,ft[bt][0])}:function(kt){return 0<=we(kt,ft[bt][0])},St=_t,It=new this.Collection(this,function(){return Et(ft[0][0],ft[ft.length-1][1],!ut,!vt)});return It._ondirectionchange=function(kt){dt=kt==="next"?(St=_t,ie):(St=xt,we),ft.sort(yt)},It._addAlgorithm(function(kt,Rt,qt){for(var Vt,Jt=kt.key;St(Jt);)if(++bt===ft.length)return Rt(qt),!1;return!_t(Vt=Jt)&&!xt(Vt)||(j._cmp(Jt,ft[bt][1])===0||j._cmp(Jt,ft[bt][0])===0||Rt(function(){dt===ie?kt.continue(ft[bt][0]):kt.continue(ft[bt][1])}),!1)}),It},Zt.prototype.startsWithAnyOf=function(){var _=re.apply(G,arguments);return _.every(function(k){return typeof k=="string"})?_.length===0?jt(this):this.inAnyRange(_.map(function(k){return[k,k+hi]})):On(this,"startsWithAnyOf() only works with strings")};var Qt=Zt;function Zt(){}function ur(_){return Cr(function(k){return Rr(k),_(k.target.error),!1})}function Rr(_){_.stopPropagation&&_.stopPropagation(),_.preventDefault&&_.preventDefault()}var Jr="storagemutated",En="x-storagemutated-1",dn=_n(null,Jr),Ts=(tn.prototype._lock=function(){return v(!gt.global),++this._reculock,this._reculock!==1||gt.global||(gt.lockOwnerFor=this),this},tn.prototype._unlock=function(){if(v(!gt.global),--this._reculock==0)for(gt.global||(gt.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var _=this._blockedFuncs.shift();try{wn(_[1],_[0])}catch{}}return this},tn.prototype._locked=function(){return this._reculock&>.lockOwnerFor!==this},tn.prototype.create=function(_){var k=this;if(this.mode){var j=this.db.idbdb,z=this.db._state.dbOpenError;if(v(!this.idbtrans),!_&&!j)switch(z&&z.name){case"DatabaseClosedError":throw new Xe.DatabaseClosed(z);case"MissingAPIError":throw new Xe.MissingAPI(z.message,z);default:throw new Xe.OpenFailed(z)}if(!this.active)throw new Xe.TransactionInactive;v(this._completion._state===null),(_=this.idbtrans=_||(this.db.core||j).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=Cr(function(ie){Rr(ie),k._reject(_.error)}),_.onabort=Cr(function(ie){Rr(ie),k.active&&k._reject(new Xe.Abort(_.error)),k.active=!1,k.on("abort").fire(ie)}),_.oncomplete=Cr(function(){k.active=!1,k._resolve(),"mutatedParts"in _&&dn.storagemutated.fire(_.mutatedParts)})}return this},tn.prototype._promise=function(_,k,j){var z,ie=this;return _==="readwrite"&&this.mode!=="readwrite"?un(new Xe.ReadOnly("Transaction is readonly")):this.active?this._locked()?new Re(function(we,Oe){ie._blockedFuncs.push([function(){ie._promise(_,k,j).then(we,Oe)},gt])}):j?Un(function(){var we=new Re(function(Oe,je){ie._lock();var ut=k(Oe,je,ie);ut&&ut.then&&ut.then(Oe,je)});return we.finally(function(){return ie._unlock()}),we._lib=!0,we}):((z=new Re(function(we,Oe){var je=k(we,Oe,ie);je&&je.then&&je.then(we,Oe)}))._lib=!0,z):un(new Xe.TransactionInactive)},tn.prototype._root=function(){return this.parent?this.parent._root():this},tn.prototype.waitFor=function(_){var k,j=this._root(),z=Re.resolve(_),ie=(j._waitingFor?j._waitingFor=j._waitingFor.then(function(){return z}):(j._waitingFor=z,j._waitingQueue=[],k=j.idbtrans.objectStore(j.storeNames[0]),function we(){for(++j._spinCount;j._waitingQueue.length;)j._waitingQueue.shift()();j._waitingFor&&(k.get(-1/0).onsuccess=we)}()),j._waitingFor);return new Re(function(we,Oe){z.then(function(je){return j._waitingQueue.push(Cr(we.bind(null,je)))},function(je){return j._waitingQueue.push(Cr(Oe.bind(null,je)))}).finally(function(){j._waitingFor===ie&&(j._waitingFor=null)})})},tn.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new Xe.Abort))},tn.prototype.table=function(_){var k=this._memoizedTables||(this._memoizedTables={});if(h(k,_))return k[_];var j=this.schema[_];if(j)return(j=new this.db.Table(_,j,this)).core=this.db.core.table(_),k[_]=j;throw new Xe.NotFound("Table "+_+" not part of transaction")},tn);function tn(){}function js(_,k,j,z,ie,we,Oe,je){return{name:_,keyPath:k,unique:j,multi:z,auto:ie,compound:we,src:(j&&!Oe?"&":"")+(z?"*":"")+(ie?"++":"")+oo(k),type:je}}function oo(_){return typeof _=="string"?_:_?"["+[].join.call(_,"+")+"]":""}function tr(_,k,j){return{name:_,primKey:k,indexes:j,mappedClass:null,idxByName:(z=function(ie){return[ie.name,ie]},j.reduce(function(ie,we,Oe){return we=z(we,Oe),we&&(ie[we[0]]=we[1]),ie},{}))};var z}var Hi=function(_){try{return _.only([[]]),Hi=function(){return[[]]},[[]]}catch{return Hi=function(){return hi},hi}};function $s(_){return _==null?function(){}:typeof _=="string"?(k=_).split(".").length===1?function(j){return j[k]}:function(j){return N(j,k)}:function(j){return N(j,_)};var k}function qs(_){return[].slice.call(_)}var No=0;function Es(_){return _==null?":id":typeof _=="string"?_:"[".concat(_.join("+"),"]")}function ao(_,k,Oe){function z(St){if(St.type===3)return null;if(St.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var bt=St.lower,_t=St.upper,xt=St.lowerOpen,St=St.upperOpen;return bt===void 0?_t===void 0?null:k.upperBound(_t,!!St):_t===void 0?k.lowerBound(bt,!!xt):k.bound(bt,_t,!!xt,!!St)}function ie(yt){var bt,_t,xt=yt.name;return{name:xt,schema:yt,mutate:function(St){var It=St.trans,kt=St.type,Rt=St.keys,qt=St.values,Vt=St.range;return new Promise(function(Jt,Ht){Jt=Cr(Jt);var dr=It.objectStore(xt),Yt=dr.keyPath==null,pr=kt==="put"||kt==="add";if(!pr&&kt!=="delete"&&kt!=="deleteRange")throw new Error("Invalid operation type: "+kt);var Ut,Tr=(Rt||qt||{length:1}).length;if(Rt&&qt&&Rt.length!==qt.length)throw new Error("Given keys array must have same length as given values array.");if(Tr===0)return Jt({numFailures:0,failures:{},results:[],lastResult:void 0});function Er(At){++W,Rr(At)}var Mr=[],Kr=[],W=0;if(kt==="deleteRange"){if(Vt.type===4)return Jt({numFailures:W,failures:Kr,results:[],lastResult:void 0});Vt.type===3?Mr.push(Ut=dr.clear()):Mr.push(Ut=dr.delete(z(Vt)))}else{var Yt=pr?Yt?[qt,Rt]:[qt,null]:[Rt,null],U=Yt[0],J=Yt[1];if(pr)for(var Ee=0;Ee<Tr;++Ee)Mr.push(Ut=J&&J[Ee]!==void 0?dr[kt](U[Ee],J[Ee]):dr[kt](U[Ee])),Ut.onerror=Er;else for(Ee=0;Ee<Tr;++Ee)Mr.push(Ut=dr[kt](U[Ee])),Ut.onerror=Er}function tt(At){At=At.target.result,Mr.forEach(function(lr,hn){return lr.error!=null&&(Kr[hn]=lr.error)}),Jt({numFailures:W,failures:Kr,results:kt==="delete"?Rt:Mr.map(function(lr){return lr.result}),lastResult:At})}Ut.onerror=function(At){Er(At),tt(At)},Ut.onsuccess=tt})},getMany:function(St){var It=St.trans,kt=St.keys;return new Promise(function(Rt,qt){Rt=Cr(Rt);for(var Vt,Jt=It.objectStore(xt),Ht=kt.length,dr=new Array(Ht),Yt=0,pr=0,Ut=function(Mr){Mr=Mr.target,dr[Mr._pos]=Mr.result,++pr===Yt&&Rt(dr)},Tr=ur(qt),Er=0;Er<Ht;++Er)kt[Er]!=null&&((Vt=Jt.get(kt[Er]))._pos=Er,Vt.onsuccess=Ut,Vt.onerror=Tr,++Yt);Yt===0&&Rt(dr)})},get:function(St){var It=St.trans,kt=St.key;return new Promise(function(Rt,qt){Rt=Cr(Rt);var Vt=It.objectStore(xt).get(kt);Vt.onsuccess=function(Jt){return Rt(Jt.target.result)},Vt.onerror=ur(qt)})},query:(bt=ut,_t=vt,function(St){return new Promise(function(It,kt){It=Cr(It);var Rt,qt,Vt,Jt,Tr=St.trans,Ht=St.values,dr=St.limit,Ut=St.query,Yt=(Yt=St.direction)!=null?Yt:"next",pr=dr===1/0?void 0:dr,Er=Ut.index,Ut=Ut.range,Tr=Tr.objectStore(xt),Tr=Er.isPrimaryKey?Tr:Tr.index(Er.name),Er=z(Ut);if(dr===0)return It({result:[]});_t?(Ut={query:Er,count:pr,direction:Yt},(Rt=Ht?Tr.getAll(Ut):Tr.getAllKeys(Ut)).onsuccess=function(Mr){return It({result:Mr.target.result})},Rt.onerror=ur(kt)):bt&&Yt==="next"?((Rt=Ht?Tr.getAll(Er,pr):Tr.getAllKeys(Er,pr)).onsuccess=function(Mr){return It({result:Mr.target.result})},Rt.onerror=ur(kt)):(qt=0,Vt=!Ht&&"openKeyCursor"in Tr?Tr.openKeyCursor(Er,Yt):Tr.openCursor(Er,Yt),Jt=[],Vt.onsuccess=function(){var Mr=Vt.result;return!Mr||(Jt.push(Ht?Mr.value:Mr.primaryKey),++qt===dr)?It({result:Jt}):void Mr.continue()},Vt.onerror=ur(kt))})}),openCursor:function(St){var It=St.trans,kt=St.values,Rt=St.query,qt=St.reverse,Vt=St.unique;return new Promise(function(Jt,Ht){Jt=Cr(Jt);var pr=Rt.index,dr=Rt.range,Yt=It.objectStore(xt),Yt=pr.isPrimaryKey?Yt:Yt.index(pr.name),pr=qt?Vt?"prevunique":"prev":Vt?"nextunique":"next",Ut=!kt&&"openKeyCursor"in Yt?Yt.openKeyCursor(z(dr),pr):Yt.openCursor(z(dr),pr);Ut.onerror=ur(Ht),Ut.onsuccess=Cr(function(Tr){var Er,Mr,Kr,W,U=Ut.result;U?(U.___id=++No,U.done=!1,Er=U.continue.bind(U),Mr=(Mr=U.continuePrimaryKey)&&Mr.bind(U),Kr=U.advance.bind(U),W=function(){throw new Error("Cursor not stopped")},U.trans=It,U.stop=U.continue=U.continuePrimaryKey=U.advance=function(){throw new Error("Cursor not started")},U.fail=Cr(Ht),U.next=function(){var J=this,Ee=1;return this.start(function(){return Ee--?J.continue():J.stop()}).then(function(){return J})},U.start=function(J){function Ee(){if(Ut.result)try{J()}catch(At){U.fail(At)}else U.done=!0,U.start=function(){throw new Error("Cursor behind last entry")},U.stop()}var tt=new Promise(function(At,lr){At=Cr(At),Ut.onerror=ur(lr),U.fail=lr,U.stop=function(hn){U.stop=U.continue=U.continuePrimaryKey=U.advance=W,At(hn)}});return Ut.onsuccess=Cr(function(At){Ut.onsuccess=Ee,Ee()}),U.continue=Er,U.continuePrimaryKey=Mr,U.advance=Kr,Ee(),tt},Jt(U)):Jt(null)},Ht)})},count:function(St){var It=St.query,kt=St.trans,Rt=It.index,qt=It.range;return new Promise(function(Vt,Jt){var Ht=kt.objectStore(xt),Ht=Rt.isPrimaryKey?Ht:Ht.index(Rt.name),dr=z(qt),dr=dr?Ht.count(dr):Ht.count();dr.onsuccess=Cr(function(Yt){return Vt(Yt.target.result)}),dr.onerror=ur(Jt)})}}}we=Oe,je=qs((Oe=_).objectStoreNames),ft=0<je.length?we.objectStore(je[0]):{};var we,Oe={schema:{name:Oe.name,tables:je.map(function(yt){return we.objectStore(yt)}).map(function(yt){var bt=yt.keyPath,_t=yt.autoIncrement,St=l(bt),xt={},St={name:yt.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:bt==null,compound:St,keyPath:bt,autoIncrement:_t,unique:!0,extractKey:$s(bt)},indexes:qs(yt.indexNames).map(function(It){return yt.index(It)}).map(function(qt){var Vt=qt.name,kt=qt.unique,Rt=qt.multiEntry,qt=qt.keyPath,Vt={name:Vt,compound:l(qt),keyPath:qt,unique:kt,multiEntry:Rt,extractKey:$s(qt)};return xt[Es(qt)]=Vt}),getIndexByKeyPath:function(It){return xt[Es(It)]}};return xt[":id"]=St.primaryKey,bt!=null&&(xt[Es(bt)]=St.primaryKey),St})},hasGetAll:0<je.length&&"getAll"in ft&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604),hasIdb3Features:"getAllRecords"in ft},je=Oe.schema,ut=Oe.hasGetAll,vt=Oe.hasIdb3Features,ft=je.tables.map(ie),dt={};return ft.forEach(function(yt){return dt[yt.name]=yt}),{stack:"dbcore",transaction:_.transaction.bind(_),table:function(yt){if(dt[yt])return dt[yt];throw new Error("Table '".concat(yt,"' not found"))},MIN_KEY:-1/0,MAX_KEY:Hi(k),schema:je}}function lo(_,k,j,z){return j=j.IDBKeyRange,k=ao(k,j,z),{dbcore:_.dbcore.reduce(function(ie,we){return we=we.create,n(n({},ie),we(ie))},k)}}function As(_,k){var j=k.db,j=lo(_._middlewares,j,_._deps,k);_.core=j.dbcore,_.tables.forEach(function(z){var ie=z.name;_.core.schema.tables.some(function(we){return we.name===ie})&&(z.core=_.core.table(ie),_[ie]instanceof _.Table)&&(_[ie].core=z.core)})}function ns(_,k,j,z){j.forEach(function(ie){var we=z[ie];k.forEach(function(Oe){var je=function ut(vt,ft){return C(vt,ft)||(vt=d(vt))&&ut(vt,ft)}(Oe,ie);(!je||"value"in je&&je.value===void 0)&&(Oe===_.Transaction.prototype||Oe instanceof _.Transaction?I(Oe,ie,{get:function(){return this.table(ie)},set:function(ut){b(this,ie,{value:ut,writable:!0,configurable:!0,enumerable:!0})}}):Oe[ie]=new _.Table(ie,we))})})}function Us(_,k){k.forEach(function(j){for(var z in j)j[z]instanceof _.Table&&delete j[z]})}function oa(_,k){return _._cfg.version-k._cfg.version}function Ki(_,k,j,z){var ie=_._dbSchema,we=(j.objectStoreNames.contains("$meta")&&!ie.$meta&&(ie.$meta=tr("$meta",Ro("")[0],[]),_._storeNames.push("$meta")),_._createTransaction("readwrite",_._storeNames,ie)),Oe=(we.create(j),we._completion.catch(z),we._reject.bind(we)),je=gt.transless||gt;Un(function(){if(gt.trans=we,gt.transless=je,k!==0)return As(_,j),vt=k,((ut=we).storeNames.includes("$meta")?ut.table("$meta").get("version").then(function(ft){return ft??vt}):Re.resolve(vt)).then(function(St){var dt=_,yt=St,bt=we,_t=j,xt=[],St=dt._versions,It=dt._dbSchema=Nn(0,dt.idbdb,_t);return(St=St.filter(function(kt){return kt._cfg.version>=yt})).length===0?Re.resolve():(St.forEach(function(kt){xt.push(function(){var Rt,qt,Vt,Jt=It,Ht=kt._cfg.dbschema,dr=(ms(dt,Jt,_t),ms(dt,Ht,_t),It=dt._dbSchema=Ht,zs(Jt,Ht)),Yt=(dr.add.forEach(function(pr){co(_t,pr[0],pr[1].primKey,pr[1].indexes)}),dr.change.forEach(function(pr){if(pr.recreate)throw new Xe.Upgrade("Not yet support for changing primary key");var Ut=_t.objectStore(pr.name);pr.add.forEach(function(Tr){return Ps(Ut,Tr)}),pr.change.forEach(function(Tr){Ut.deleteIndex(Tr.name),Ps(Ut,Tr)}),pr.del.forEach(function(Tr){return Ut.deleteIndex(Tr)})}),kt._cfg.contentUpgrade);if(Yt&&kt._cfg.version>yt)return As(dt,_t),bt._memoizedTables={},Rt=B(Ht),dr.del.forEach(function(pr){Rt[pr]=Jt[pr]}),Us(dt,[dt.Transaction.prototype]),ns(dt,[dt.Transaction.prototype],o(Rt),Rt),bt.schema=Rt,(qt=ye(Yt))&&vn(),Ht=Re.follow(function(){var pr;(Vt=Yt(bt))&&qt&&(pr=fr.bind(null,null),Vt.then(pr,pr))}),Vt&&typeof Vt.then=="function"?Re.resolve(Vt):Ht.then(function(){return Vt})}),xt.push(function(Rt){var qt,Vt,Jt=kt._cfg.dbschema;qt=Jt,Vt=Rt,[].slice.call(Vt.db.objectStoreNames).forEach(function(Ht){return qt[Ht]==null&&Vt.db.deleteObjectStore(Ht)}),Us(dt,[dt.Transaction.prototype]),ns(dt,[dt.Transaction.prototype],dt._storeNames,dt._dbSchema),bt.schema=dt._dbSchema}),xt.push(function(Rt){dt.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(dt.idbdb.version/10)===kt._cfg.version?(dt.idbdb.deleteObjectStore("$meta"),delete dt._dbSchema.$meta,dt._storeNames=dt._storeNames.filter(function(qt){return qt!=="$meta"})):Rt.objectStore("$meta").put(kt._cfg.version,"version"))})}),function kt(){return xt.length?Re.resolve(xt.shift()(bt.idbtrans)).then(kt):Re.resolve()}().then(function(){Vs(It,_t)}))}).catch(Oe);var ut,vt;o(ie).forEach(function(ft){co(j,ft,ie[ft].primKey,ie[ft].indexes)}),As(_,j),Re.follow(function(){return _.on.populate.fire(we)}).catch(Oe)})}function Do(_,k){Vs(_._dbSchema,k),k.db.version%10!=0||k.objectStoreNames.contains("$meta")||k.db.createObjectStore("$meta").add(Math.ceil(k.db.version/10-1),"version");var j=Nn(0,_.idbdb,k);ms(_,_._dbSchema,k);for(var z=0,ie=zs(j,_._dbSchema).change;z<ie.length;z++){var we=(Oe=>{if(Oe.change.length||Oe.recreate)return console.warn("Unable to patch indexes of table ".concat(Oe.name," because it has changes on the type of index or primary key.")),{value:void 0};var je=k.objectStore(Oe.name);Oe.add.forEach(function(ut){Ct&&console.debug("Dexie upgrade patch: Creating missing index ".concat(Oe.name,".").concat(ut.src)),Ps(je,ut)})})(ie[z]);if(typeof we=="object")return we.value}}function zs(_,k){var j,z={del:[],add:[],change:[]};for(j in _)k[j]||z.del.push(j);for(j in k){var ie=_[j],we=k[j];if(ie){var Oe={name:j,def:we,recreate:!1,del:[],add:[],change:[]};if(""+(ie.primKey.keyPath||"")!=""+(we.primKey.keyPath||"")||ie.primKey.auto!==we.primKey.auto)Oe.recreate=!0,z.change.push(Oe);else{var je=ie.idxByName,ut=we.idxByName,vt=void 0;for(vt in je)ut[vt]||Oe.del.push(vt);for(vt in ut){var ft=je[vt],dt=ut[vt];ft?ft.src!==dt.src&&Oe.change.push(dt):Oe.add.push(dt)}(0<Oe.del.length||0<Oe.add.length||0<Oe.change.length)&&z.change.push(Oe)}}else z.add.push([j,we])}return z}function co(_,k,j,z){var ie=_.db.createObjectStore(k,j.keyPath?{keyPath:j.keyPath,autoIncrement:j.auto}:{autoIncrement:j.auto});z.forEach(function(we){return Ps(ie,we)})}function Vs(_,k){o(_).forEach(function(j){k.db.objectStoreNames.contains(j)||(Ct&&console.debug("Dexie: Creating missing table",j),co(k,j,_[j].primKey,_[j].indexes))})}function Ps(_,k){_.createIndex(k.name,k.keyPath,{unique:k.unique,multiEntry:k.multi})}function Nn(_,k,j){var z={};return w(k.objectStoreNames,0).forEach(function(ie){for(var we=j.objectStore(ie),Oe=js(oo(vt=we.keyPath),vt||"",!0,!1,!!we.autoIncrement,vt&&typeof vt!="string",!0),je=[],ut=0;ut<we.indexNames.length;++ut){var ft=we.index(we.indexNames[ut]),vt=ft.keyPath,ft=js(ft.name,vt,!!ft.unique,!!ft.multiEntry,!1,vt&&typeof vt!="string",!1);je.push(ft)}z[ie]=tr(ie,Oe,je)}),z}function ms(_,k,j){for(var z=j.db.objectStoreNames,ie=0;ie<z.length;++ie){var we=z[ie],Oe=j.objectStore(we);_._hasGetAll="getAll"in Oe;for(var je=0;je<Oe.indexNames.length;++je){var ut,vt=Oe.indexNames[je],ft=Oe.index(vt).keyPath,ft=typeof ft=="string"?ft:"["+w(ft).join("+")+"]";k[we]&&(ut=k[we].idxByName[ft])&&(ut.name=vt,delete k[we].idxByName[ft],k[we].idxByName[vt]=ut)}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&s.WorkerGlobalScope&&s instanceof s.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(_._hasGetAll=!1)}function Ro(_){return _.split(",").map(function(k,j){var ie=k.split(":"),z=(z=ie[1])==null?void 0:z.trim(),ie=(k=ie[0].trim()).replace(/([&*]|\+\+)/g,""),we=/^\[/.test(ie)?ie.match(/^\[(.*)\]$/)[1].split("+"):ie;return js(ie,we||null,/\&/.test(k),/\*/.test(k),/\+\+/.test(k),l(we),j===0,z)})}Gi.prototype._createTableSchema=tr,Gi.prototype._parseIndexSyntax=Ro,Gi.prototype._parseStoresSpec=function(_,k){var j=this;o(_).forEach(function(z){if(_[z]!==null){var ie=j._parseIndexSyntax(_[z]),we=ie.shift();if(!we)throw new Xe.Schema("Invalid schema for table "+z+": "+_[z]);if(we.unique=!0,we.multi)throw new Xe.Schema("Primary key cannot be multiEntry*");ie.forEach(function(Oe){if(Oe.auto)throw new Xe.Schema("Only primary key can be marked as autoIncrement (++)");if(!Oe.keyPath)throw new Xe.Schema("Index must have a name and cannot be an empty string")}),we=j._createTableSchema(z,we,ie),k[z]=we}})},Gi.prototype.stores=function(j){var k=this.db,j=(this._cfg.storesSource=this._cfg.storesSource?c(this._cfg.storesSource,j):j,k._versions),z={},ie={};return j.forEach(function(we){c(z,we._cfg.storesSource),ie=we._cfg.dbschema={},we._parseStoresSpec(z,ie)}),k._dbSchema=ie,Us(k,[k._allTables,k,k.Transaction.prototype]),ns(k,[k._allTables,k,k.Transaction.prototype,this._cfg.tables],o(ie),ie),k._storeNames=o(ie),this},Gi.prototype.upgrade=function(_){return this._cfg.contentUpgrade=Dt(this._cfg.contentUpgrade||Te,_),this};var aa=Gi;function Gi(){}var Cs=(()=>{var _,k,j;return typeof FinalizationRegistry<"u"&&typeof WeakRef<"u"?(_=new Set,k=new FinalizationRegistry(function(z){_.delete(z)}),{toArray:function(){return Array.from(_).map(function(z){return z.deref()}).filter(function(z){return z!==void 0})},add:function(z){var ie=new WeakRef(z._novip);_.add(ie),k.register(z._novip,ie,ie),_.size>z._options.maxConnections&&(ie=_.values().next().value,_.delete(ie),k.unregister(ie))},remove:function(z){if(z)for(var ie=_.values(),we=ie.next();!we.done;){var Oe=we.value;if(Oe.deref()===z._novip)return _.delete(Oe),void k.unregister(Oe);we=ie.next()}}}):(j=[],{toArray:function(){return j},add:function(z){j.push(z._novip)},remove:function(z){z&&(z=j.indexOf(z._novip))!==-1&&j.splice(z,1)}})})();function uo(_,k){var j=_._dbNamesDB;return j||(j=_._dbNamesDB=new Ti(zn,{addons:[],indexedDB:_,IDBKeyRange:k})).version(1).stores({dbnames:"name"}),j.table("dbnames")}function Ws(_){return _&&typeof _.databases=="function"}function fo(_){return Un(function(){return gt.letThrough=!0,_()})}function Hs(_){return!("from"in _)}var An=function(_,k){var j;if(!this)return j=new An,_&&"d"in _&&c(j,_),j;c(this,arguments.length?{d:1,from:_,to:1<arguments.length?k:_}:{d:0})};function gi(_,k,j){var z=Or(k,j);if(!isNaN(z)){if(0<z)throw RangeError();if(Hs(_))return c(_,{from:k,to:j,d:1});var z=_.l,ie=_.r;if(Or(j,_.from)<0)return z?gi(z,k,j):_.l={from:k,to:j,d:1,l:null,r:null},oe(_);if(0<Or(k,_.to))return ie?gi(ie,k,j):_.r={from:k,to:j,d:1,l:null,r:null},oe(_);Or(k,_.from)<0&&(_.from=k,_.l=null,_.d=ie?ie.d+1:1),0<Or(j,_.to)&&(_.to=j,_.r=null,_.d=_.l?_.l.d+1:1),k=!_.r,z&&!_.l&&ii(_,z),ie&&k&&ii(_,ie)}}function ii(_,k){Hs(k)||function j(z,ie){var we=ie.from,Oe=ie.l,je=ie.r;gi(z,we,ie.to),Oe&&j(z,Oe),je&&j(z,je)}(_,k)}function po(_,k){var j=ks(k),z=j.next();if(!z.done)for(var ie=z.value,we=ks(_),Oe=we.next(ie.from),je=Oe.value;!z.done&&!Oe.done;){if(Or(je.from,ie.to)<=0&&0<=Or(je.to,ie.from))return!0;Or(ie.from,je.from)<0?ie=(z=j.next(je.from)).value:je=(Oe=we.next(ie.from)).value}return!1}function ks(_){var k=Hs(_)?null:{s:0,n:_};return{next:function(j){for(var z=0<arguments.length;k;)switch(k.s){case 0:if(k.s=1,z)for(;k.n.l&&Or(j,k.n.from)<0;)k={up:k,n:k.n.l,s:1};else for(;k.n.l;)k={up:k,n:k.n.l,s:1};case 1:if(k.s=2,!z||Or(j,k.n.to)<=0)return{value:k.n,done:!1};case 2:if(k.n.r){k.s=3,k={up:k,n:k.n.r,s:0};continue}case 3:k=k.up}return{done:!0}}}}function oe(_){var k,j,z,ie=(((ie=_.r)==null?void 0:ie.d)||0)-(((ie=_.l)==null?void 0:ie.d)||0),ie=1<ie?"r":ie<-1?"l":"";ie&&(k=ie=="r"?"l":"r",j=n({},_),z=_[ie],_.from=z.from,_.to=z.to,_[ie]=z[ie],j[ie]=z[k],(_[k]=j).d=f(j)),_.d=f(_)}function f(j){var k=j.r,j=j.l;return(k?j?Math.max(k.d,j.d):k.d:j?j.d:0)+1}function a(_,k){return o(k).forEach(function(j){_[j]?ii(_[j],k[j]):_[j]=function z(ie){var we,Oe,je={};for(we in ie)h(ie,we)&&(Oe=ie[we],je[we]=!Oe||typeof Oe!="object"||F.has(Oe.constructor)?Oe:z(Oe));return je}(k[j])}),_}function p(_,k){return _.all||k.all||Object.keys(_).some(function(j){return k[j]&&po(k[j],_[j])})}g(An.prototype,((ue={add:function(_){return ii(this,_),this},addKey:function(_){return gi(this,_,_),this},addKeys:function(_){var k=this;return _.forEach(function(j){return gi(k,j,j)}),this},hasKey:function(_){var k=ks(this).next(_).value;return k&&Or(k.from,_)<=0&&0<=Or(k.to,_)}})[Pe]=function(){return ks(this)},ue));var y={},M={},fe=!1;function ke(_){a(M,_),fe||(fe=!0,setTimeout(function(){fe=!1,He(M,!(M={}))},0))}function He(_,k){k===void 0&&(k=!1);var j=new Set;if(_.all)for(var z=0,ie=Object.values(y);z<ie.length;z++)rt(je=ie[z],_,j,k);else for(var we in _){var Oe,je,we=/^idb\:\/\/(.*)\/(.*)\//.exec(we);we&&(Oe=we[1],we=we[2],je=y["idb://".concat(Oe,"/").concat(we)])&&rt(je,_,j,k)}j.forEach(function(ut){return ut()})}function rt(_,k,j,z){for(var ie=[],we=0,Oe=Object.entries(_.queries.query);we<Oe.length;we++){for(var je=Oe[we],ut=je[0],vt=[],ft=0,dt=je[1];ft<dt.length;ft++){var yt=dt[ft];p(k,yt.obsSet)?yt.subscribers.forEach(function(St){return j.add(St)}):z&&vt.push(yt)}z&&ie.push([ut,vt])}if(z)for(var bt=0,_t=ie;bt<_t.length;bt++){var xt=_t[bt],ut=xt[0],vt=xt[1];_.queries.query[ut]=vt}}function pt(_){var k=_._state,j=_._deps.indexedDB;if(k.isBeingOpened||_.idbdb)return k.dbReadyPromise.then(function(){return k.dbOpenError?un(k.dbOpenError):_});k.isBeingOpened=!0,k.dbOpenError=null,k.openComplete=!1;var z=k.openCanceller,ie=Math.round(10*_.verno),we=!1;function Oe(){if(k.openCanceller!==z)throw new Xe.DatabaseClosed("db.open() was cancelled")}function je(){return new Re(function(yt,bt){if(Oe(),!j)throw new Xe.MissingAPI;var _t=_.name,xt=k.autoSchema||!ie?j.open(_t):j.open(_t,ie);if(!xt)throw new Xe.MissingAPI;xt.onerror=ur(bt),xt.onblocked=Cr(_._fireOnBlocked),xt.onupgradeneeded=Cr(function(St){var It;ft=xt.transaction,k.autoSchema&&!_._options.allowEmptyDB?(xt.onerror=Rr,ft.abort(),xt.result.close(),(It=j.deleteDatabase(_t)).onsuccess=It.onerror=Cr(function(){bt(new Xe.NoSuchDatabase("Database ".concat(_t," doesnt exist")))})):(ft.onerror=ur(bt),It=St.oldVersion>Math.pow(2,62)?0:St.oldVersion,dt=It<1,_.idbdb=xt.result,we&&Do(_,ft),Ki(_,It/10,ft,bt))},bt),xt.onsuccess=Cr(function(){ft=null;var St,It,kt,Rt,qt,Vt,Jt=_.idbdb=xt.result,Ht=w(Jt.objectStoreNames);if(0<Ht.length)try{var dr=Jt.transaction((qt=Ht).length===1?qt[0]:qt,"readonly");if(k.autoSchema)Vt=Jt,Rt=dr,(kt=_).verno=Vt.version/10,Rt=kt._dbSchema=Nn(0,Vt,Rt),kt._storeNames=w(Vt.objectStoreNames,0),ns(kt,[kt._allTables],o(Rt),Rt);else if(ms(_,_._dbSchema,dr),It=dr,((It=zs(Nn(0,(St=_).idbdb,It),St._dbSchema)).add.length||It.change.some(function(Yt){return Yt.add.length||Yt.change.length}))&&!we)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),Jt.close(),ie=Jt.version+1,we=!0,yt(je());As(_,dr)}catch{}Cs.add(_),Jt.onversionchange=Cr(function(Yt){k.vcFired=!0,_.on("versionchange").fire(Yt)}),Jt.onclose=Cr(function(){_.close({disableAutoOpen:!1})}),dt&&(Ht=_._deps,qt=_t,Ws(Vt=Ht.indexedDB)||qt===zn||uo(Vt,Ht.IDBKeyRange).put({name:qt}).catch(Te)),yt()},bt)}).catch(function(yt){switch(yt==null?void 0:yt.name){case"UnknownError":if(0<k.PR1398_maxLoop)return k.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),je();break;case"VersionError":if(0<ie)return ie=0,je()}return Re.reject(yt)})}var ut,vt=k.dbReadyResolve,ft=null,dt=!1;return Re.race([z,(typeof navigator>"u"?Re.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(yt){function bt(){return indexedDB.databases().finally(yt)}ut=setInterval(bt,100),bt()}).finally(function(){return clearInterval(ut)}):Promise.resolve()).then(je)]).then(function(){return Oe(),k.onReadyBeingFired=[],Re.resolve(fo(function(){return _.on.ready.fire(_.vip)})).then(function yt(){var bt;if(0<k.onReadyBeingFired.length)return bt=k.onReadyBeingFired.reduce(Dt,Te),k.onReadyBeingFired=[],Re.resolve(fo(function(){return bt(_.vip)})).then(yt)})}).finally(function(){k.openCanceller===z&&(k.onReadyBeingFired=null,k.isBeingOpened=!1)}).catch(function(yt){k.dbOpenError=yt;try{ft&&ft.abort()}catch{}return z===k.openCanceller&&_._close(),un(yt)}).finally(function(){k.openComplete=!0,vt()}).then(function(){var yt;return dt&&(yt={},_.tables.forEach(function(bt){bt.schema.indexes.forEach(function(_t){_t.name&&(yt["idb://".concat(_.name,"/").concat(bt.name,"/").concat(_t.name)]=new An(-1/0,[[[]]]))}),yt["idb://".concat(_.name,"/").concat(bt.name,"/")]=yt["idb://".concat(_.name,"/").concat(bt.name,"/:dels")]=new An(-1/0,[[[]]])}),dn(Jr).fire(yt),He(yt,!0)),_})}function Ot(_){function k(we){return _.next(we)}var j=ie(k),z=ie(function(we){return _.throw(we)});function ie(we){return function(je){var je=we(je),ut=je.value;return je.done?ut:ut&&typeof ut.then=="function"?ut.then(j,z):l(ut)?Promise.all(ut).then(j,z):j(ut)}}return ie(k)()}function $t(_,k,j){for(var z=l(_)?_.slice():[_],ie=0;ie<j;++ie)z.push(k);return z}var Wt={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(_){return n(n({},_),{table:function(z){var j=_.table(z),z=j.schema,ie=Object.create(null),we=[];function Oe(yt,bt,_t){var kt=Es(yt),xt=ie[kt]=ie[kt]||[],St=yt==null?0:typeof yt=="string"?1:yt.length,It=0<bt,kt=n(n({},_t),{name:It?"".concat(kt,"(virtual-from:").concat(_t.name,")"):_t.name,lowLevelIndex:_t,isVirtual:It,keyTail:bt,keyLength:St,extractKey:$s(yt),unique:!It&&_t.unique});return xt.push(kt),kt.isPrimaryKey||we.push(kt),1<St&&Oe(St===2?yt[0]:yt.slice(0,St-1),bt+1,_t),xt.sort(function(Rt,qt){return Rt.keyTail-qt.keyTail}),kt}var je=Oe(z.primaryKey.keyPath,0,z.primaryKey);ie[":id"]=[je];for(var ut=0,vt=z.indexes;ut<vt.length;ut++){var ft=vt[ut];Oe(ft.keyPath,0,ft)}function dt(yt){var bt,_t=yt.query.index;return _t.isVirtual?n(n({},yt),{query:{index:_t.lowLevelIndex,range:(bt=yt.query.range,_t=_t.keyTail,{type:bt.type===1?2:bt.type,lower:$t(bt.lower,bt.lowerOpen?_.MAX_KEY:_.MIN_KEY,_t),lowerOpen:!0,upper:$t(bt.upper,bt.upperOpen?_.MIN_KEY:_.MAX_KEY,_t),upperOpen:!0})}}):yt}return n(n({},j),{schema:n(n({},z),{primaryKey:je,indexes:we,getIndexByKeyPath:function(yt){return(yt=ie[Es(yt)])&&yt[0]}}),count:function(yt){return j.count(dt(yt))},query:function(yt){return j.query(dt(yt))},openCursor:function(yt){var bt=yt.query.index,_t=bt.keyTail,xt=bt.keyLength;return bt.isVirtual?j.openCursor(dt(yt)).then(function(It){return It&&St(It)}):j.openCursor(yt);function St(It){return Object.create(It,{continue:{value:function(kt){kt!=null?It.continue($t(kt,yt.reverse?_.MAX_KEY:_.MIN_KEY,_t)):yt.unique?It.continue(It.key.slice(0,xt).concat(yt.reverse?_.MIN_KEY:_.MAX_KEY,_t)):It.continue()}},continuePrimaryKey:{value:function(kt,Rt){It.continuePrimaryKey($t(kt,_.MAX_KEY,_t),Rt)}},primaryKey:{get:function(){return It.primaryKey}},key:{get:function(){var kt=It.key;return xt===1?kt[0]:kt.slice(0,xt)}},value:{get:function(){return It.value}}})}}})}})}};function nr(_,k,j,z){return j=j||{},z=z||"",o(_).forEach(function(ie){var we,Oe,je;h(k,ie)?(we=_[ie],Oe=k[ie],typeof we=="object"&&typeof Oe=="object"&&we&&Oe?(je=qe(we))!==qe(Oe)?j[z+ie]=k[ie]:je==="Object"?nr(we,Oe,j,z+ie+"."):we!==Oe&&(j[z+ie]=k[ie]):we!==Oe&&(j[z+ie]=k[ie])):j[z+ie]=void 0}),o(k).forEach(function(ie){h(_,ie)||(j[z+ie]=k[ie])}),j}function Br(_,k){return k.type==="delete"?k.keys:k.keys||k.values.map(_.extractKey)}var ln={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(_){return n(n({},_),{table:function(k){var j=_.table(k),z=j.schema.primaryKey;return n(n({},j),{mutate:function(ie){var we=gt.trans,Oe=we.table(k).hook,je=Oe.deleting,ut=Oe.creating,vt=Oe.updating;switch(ie.type){case"add":if(ut.fire===Te)break;return we._promise("readwrite",function(){return ft(ie)},!0);case"put":if(ut.fire===Te&&vt.fire===Te)break;return we._promise("readwrite",function(){return ft(ie)},!0);case"delete":if(je.fire===Te)break;return we._promise("readwrite",function(){return ft(ie)},!0);case"deleteRange":if(je.fire===Te)break;return we._promise("readwrite",function(){return function dt(yt,bt,_t){return j.query({trans:yt,values:!1,query:{index:z,range:bt},limit:_t}).then(function(xt){var St=xt.result;return ft({type:"delete",keys:St,trans:yt}).then(function(It){return 0<It.numFailures?Promise.reject(It.failures[0]):St.length<_t?{failures:[],numFailures:0,lastResult:void 0}:dt(yt,n(n({},bt),{lower:St[St.length-1],lowerOpen:!0}),_t)})})}(ie.trans,ie.range,1e4)},!0)}return j.mutate(ie);function ft(dt){var yt,bt,_t,xt=gt.trans,St=dt.keys||Br(z,dt);if(St)return(dt=dt.type==="add"||dt.type==="put"?n(n({},dt),{keys:St}):n({},dt)).type!=="delete"&&(dt.values=i([],dt.values)),dt.keys&&(dt.keys=i([],dt.keys)),yt=j,_t=St,((bt=dt).type==="add"?Promise.resolve([]):yt.getMany({trans:bt.trans,keys:_t,cache:"immutable"})).then(function(It){var kt=St.map(function(Rt,qt){var Vt,Jt,Ht,dr=It[qt],Yt={onerror:null,onsuccess:null};return dt.type==="delete"?je.fire.call(Yt,Rt,dr,xt):dt.type==="add"||dr===void 0?(Vt=ut.fire.call(Yt,Rt,dt.values[qt],xt),Rt==null&&Vt!=null&&(dt.keys[qt]=Rt=Vt,z.outbound||D(dt.values[qt],z.keyPath,Rt))):(Vt=nr(dr,dt.values[qt]),(Jt=vt.fire.call(Yt,Vt,Rt,dr,xt))&&(Ht=dt.values[qt],Object.keys(Jt).forEach(function(pr){h(Ht,pr)?Ht[pr]=Jt[pr]:D(Ht,pr,Jt[pr])}))),Yt});return j.mutate(dt).then(function(Rt){for(var qt=Rt.failures,Vt=Rt.results,Jt=Rt.numFailures,Rt=Rt.lastResult,Ht=0;Ht<St.length;++Ht){var dr=(Vt||St)[Ht],Yt=kt[Ht];dr==null?Yt.onerror&&Yt.onerror(qt[Ht]):Yt.onsuccess&&Yt.onsuccess(dt.type==="put"&&It[Ht]?dt.values[Ht]:dr)}return{failures:qt,results:Vt,numFailures:Jt,lastResult:Rt}}).catch(function(Rt){return kt.forEach(function(qt){return qt.onerror&&qt.onerror(Rt)}),Promise.reject(Rt)})});throw new Error("Keys missing")}}})}})}};function vr(_,k,j){try{if(!k||k.keys.length<_.length)return null;for(var z=[],ie=0,we=0;ie<k.keys.length&&we<_.length;++ie)Or(k.keys[ie],_[we])===0&&(z.push(j?ge(k.values[ie]):k.values[ie]),++we);return z.length===_.length?z:null}catch{return null}}var Ur={stack:"dbcore",level:-1,create:function(_){return{table:function(k){var j=_.table(k);return n(n({},j),{getMany:function(z){var ie;return z.cache?(ie=vr(z.keys,z.trans._cache,z.cache==="clone"))?Re.resolve(ie):j.getMany(z).then(function(we){return z.trans._cache={keys:z.keys,values:z.cache==="clone"?ge(we):we},we}):j.getMany(z)},mutate:function(z){return z.type!=="add"&&(z.trans._cache=null),j.mutate(z)}})}}}};function Li(_,k){return _.trans.mode==="readonly"&&!!_.subscr&&!_.trans.explicit&&_.trans.db._options.cache!=="disabled"&&!k.schema.primaryKey.outbound}function yi(_,k){switch(_){case"query":return k.values&&!k.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var Mo={stack:"dbcore",level:0,name:"Observability",create:function(_){var k=_.schema.name,j=new An(_.MIN_KEY,_.MAX_KEY);return n(n({},_),{transaction:function(z,ie,we){if(gt.subscr&&ie!=="readonly")throw new Xe.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(gt.querier));return _.transaction(z,ie,we)},table:function(z){function ie(St){var xt,St=St.query;return[xt=St.index,new An((xt=(St=St.range).lower)!=null?xt:_.MIN_KEY,(xt=St.upper)!=null?xt:_.MAX_KEY)]}var we=_.table(z),Oe=we.schema,je=Oe.primaryKey,ut=Oe.indexes,vt=je.extractKey,ft=je.outbound,dt=je.autoIncrement&&ut.filter(function(_t){return _t.compound&&_t.keyPath.includes(je.keyPath)}),yt=n(n({},we),{mutate:function(_t){function xt(Ut){return Ut="idb://".concat(k,"/").concat(z,"/").concat(Ut),qt[Ut]||(qt[Ut]=new An)}var St,It,kt,Rt=_t.trans,qt=_t.mutatedParts||(_t.mutatedParts={}),Vt=xt(""),Jt=xt(":dels"),Ht=_t.type,Yt=_t.type==="deleteRange"?[_t.range]:_t.type==="delete"?[_t.keys]:_t.values.length<50?[Br(je,_t).filter(function(Ut){return Ut}),_t.values]:[],dr=Yt[0],Yt=Yt[1],pr=_t.trans._cache;return l(dr)?(Vt.addKeys(dr),(Ht=Ht==="delete"||dr.length===Yt.length?vr(dr,pr):null)||Jt.addKeys(dr),(Ht||Yt)&&(St=xt,It=Ht,kt=Yt,Oe.indexes.forEach(function(Ut){var Tr=St(Ut.name||"");function Er(Kr){return Kr!=null?Ut.extractKey(Kr):null}function Mr(Kr){Ut.multiEntry&&l(Kr)?Kr.forEach(function(W){return Tr.addKey(W)}):Tr.addKey(Kr)}(It||kt).forEach(function(Kr,J){var U=It&&Er(It[J]),J=kt&&Er(kt[J]);Or(U,J)!==0&&(U!=null&&Mr(U),J!=null)&&Mr(J)})}))):dr?(Yt={from:(pr=dr.lower)!=null?pr:_.MIN_KEY,to:(Ht=dr.upper)!=null?Ht:_.MAX_KEY},Jt.add(Yt),Vt.add(Yt)):(Vt.add(j),Jt.add(j),Oe.indexes.forEach(function(Ut){return xt(Ut.name).add(j)})),we.mutate(_t).then(function(Ut){return!dr||_t.type!=="add"&&_t.type!=="put"||(Vt.addKeys(Ut.results),dt&&dt.forEach(function(Tr){for(var Er=_t.values.map(function(U){return Tr.extractKey(U)}),Mr=Tr.keyPath.findIndex(function(U){return U===je.keyPath}),Kr=0,W=Ut.results.length;Kr<W;++Kr)Er[Kr][Mr]=Ut.results[Kr];xt(Tr.name).addKeys(Er)})),Rt.mutatedParts=a(Rt.mutatedParts||{},qt),Ut})}}),bt={get:function(_t){return[je,new An(_t.key)]},getMany:function(_t){return[je,new An().addKeys(_t.keys)]},count:ie,query:ie,openCursor:ie};return o(bt).forEach(function(_t){yt[_t]=function(xt){var St=gt.subscr,It=!!St,kt=Li(gt,we)&&yi(_t,xt)?xt.obsSet={}:St;if(It){var Rt,St=function(Yt){return Yt="idb://".concat(k,"/").concat(z,"/").concat(Yt),kt[Yt]||(kt[Yt]=new An)},qt=St(""),Vt=St(":dels"),It=bt[_t](xt),Jt=It[0],It=It[1];if((_t==="query"&&Jt.isPrimaryKey&&!xt.values?Vt:St(Jt.name||"")).add(It),!Jt.isPrimaryKey){if(_t!=="count")return Rt=_t==="query"&&ft&&xt.values&&we.query(n(n({},xt),{values:!1})),we[_t].apply(this,arguments).then(function(Yt){if(_t==="query"){if(ft&&xt.values)return Rt.then(function(Er){return Er=Er.result,qt.addKeys(Er),Yt});var pr=xt.values?Yt.result.map(vt):Yt.result;(xt.values?qt:Vt).addKeys(pr)}else{var Ut,Tr;if(_t==="openCursor")return Tr=xt.values,(Ut=Yt)&&Object.create(Ut,{key:{get:function(){return Vt.addKey(Ut.primaryKey),Ut.key}},primaryKey:{get:function(){var Er=Ut.primaryKey;return Vt.addKey(Er),Er}},value:{get:function(){return Tr&&qt.addKey(Ut.primaryKey),Ut.value}}})}return Yt});Vt.add(j)}}return we[_t].apply(this,arguments)}}),yt}})}};function ho(_,k,j){var z;return j.numFailures===0?k:k.type==="deleteRange"||(z=k.keys?k.keys.length:"values"in k&&k.values?k.values.length:1,j.numFailures===z)?null:(z=n({},k),l(z.keys)&&(z.keys=z.keys.filter(function(ie,we){return!(we in j.failures)})),"values"in z&&l(z.values)&&(z.values=z.values.filter(function(ie,we){return!(we in j.failures)})),z)}function Ks(_,k){return j=_,((z=k).lower===void 0||(z.lowerOpen?0<Or(j,z.lower):0<=Or(j,z.lower)))&&(j=_,(z=k).upper===void 0||(z.upperOpen?Or(j,z.upper)<0:Or(j,z.upper)<=0));var j,z}function mo(_,k,j,z,ie,we){var Oe,je,ut,vt,ft,dt,yt;return!j||j.length===0||(Oe=k.query.index,je=Oe.multiEntry,ut=k.query.range,vt=z.schema.primaryKey.extractKey,ft=Oe.extractKey,dt=(Oe.lowLevelIndex||Oe).extractKey,(z=j.reduce(function(bt,_t){var xt=bt,St=[];if(_t.type==="add"||_t.type==="put")for(var It=new An,kt=_t.values.length-1;0<=kt;--kt){var Rt,qt=_t.values[kt],Vt=vt(qt);!It.hasKey(Vt)&&(Rt=ft(qt),je&&l(Rt)?Rt.some(function(pr){return Ks(pr,ut)}):Ks(Rt,ut))&&(It.addKey(Vt),St.push(qt))}switch(_t.type){case"add":var Jt=new An().addKeys(k.values?bt.map(function(Ut){return vt(Ut)}):bt),xt=bt.concat(k.values?St.filter(function(Ut){return Ut=vt(Ut),!Jt.hasKey(Ut)&&(Jt.addKey(Ut),!0)}):St.map(function(Ut){return vt(Ut)}).filter(function(Ut){return!Jt.hasKey(Ut)&&(Jt.addKey(Ut),!0)}));break;case"put":var Ht=new An().addKeys(_t.values.map(function(Ut){return vt(Ut)}));xt=bt.filter(function(Ut){return!Ht.hasKey(k.values?vt(Ut):Ut)}).concat(k.values?St:St.map(function(Ut){return vt(Ut)}));break;case"delete":var dr=new An().addKeys(_t.keys);xt=bt.filter(function(Ut){return!dr.hasKey(k.values?vt(Ut):Ut)});break;case"deleteRange":var Yt=_t.range;xt=bt.filter(function(Ut){return!Ks(vt(Ut),Yt)})}return xt},_))===_)?_:(yt=function(bt,_t){return Or(dt(bt),dt(_t))||Or(vt(bt),vt(_t))},z.sort(k.direction==="prev"||k.direction==="prevunique"?function(bt,_t){return yt(_t,bt)}:yt),k.limit&&k.limit<1/0&&(z.length>k.limit?z.length=k.limit:_.length===k.limit&&z.length<k.limit&&(ie.dirty=!0)),we?Object.freeze(z):z)}function go(_,k){return Or(_.lower,k.lower)===0&&Or(_.upper,k.upper)===0&&!!_.lowerOpen==!!k.lowerOpen&&!!_.upperOpen==!!k.upperOpen}function Lo(_,k){return((j,z,ie,we)=>{if(j===void 0)return z!==void 0?-1:0;if(z===void 0)return 1;if((j=Or(j,z))===0){if(ie&&we)return 0;if(ie)return 1;if(we)return-1}return j})(_.lower,k.lower,_.lowerOpen,k.lowerOpen)<=0&&0<=((j,z,ie,we)=>{if(j===void 0)return z!==void 0?1:0;if(z===void 0)return-1;if((j=Or(j,z))===0){if(ie&&we)return 0;if(ie)return-1;if(we)return 1}return j})(_.upper,k.upper,_.upperOpen,k.upperOpen)}function Bo(_,k,j,z){_.subscribers.add(j),z.addEventListener("abort",function(){var ie,we;_.subscribers.delete(j),_.subscribers.size===0&&(ie=_,we=k,setTimeout(function(){ie.subscribers.size===0&&me(we,ie)},3e3))})}var Fo={stack:"dbcore",level:0,name:"Cache",create:function(_){var k=_.schema.name;return n(n({},_),{transaction:function(j,z,ie){var we,Oe,je=_.transaction(j,z,ie);return z==="readwrite"&&(ie=(we=new AbortController).signal,je.addEventListener("abort",(Oe=function(ut){return function(){if(we.abort(),z==="readwrite"){for(var vt=new Set,ft=0,dt=j;ft<dt.length;ft++){var yt=dt[ft],bt=y["idb://".concat(k,"/").concat(yt)];if(bt){var _t=_.table(yt),xt=bt.optimisticOps.filter(function(Ut){return Ut.trans===je});if(je._explicit&&ut&&je.mutatedParts)for(var St=0,It=Object.values(bt.queries.query);St<It.length;St++)for(var kt=0,Rt=(Jt=It[St]).slice();kt<Rt.length;kt++)p((Ht=Rt[kt]).obsSet,je.mutatedParts)&&(me(Jt,Ht),Ht.subscribers.forEach(function(Ut){return vt.add(Ut)}));else if(0<xt.length){bt.optimisticOps=bt.optimisticOps.filter(function(Ut){return Ut.trans!==je});for(var qt=0,Vt=Object.values(bt.queries.query);qt<Vt.length;qt++)for(var Jt,Ht,dr,Yt=0,pr=(Jt=Vt[qt]).slice();Yt<pr.length;Yt++)(Ht=pr[Yt]).res!=null&&je.mutatedParts&&(ut&&!Ht.dirty?(dr=Object.isFrozen(Ht.res),dr=mo(Ht.res,Ht.req,xt,_t,Ht,dr),Ht.dirty?(me(Jt,Ht),Ht.subscribers.forEach(function(Ut){return vt.add(Ut)})):dr!==Ht.res&&(Ht.res=dr,Ht.promise=Re.resolve({result:dr}))):(Ht.dirty&&me(Jt,Ht),Ht.subscribers.forEach(function(Ut){return vt.add(Ut)})))}}}vt.forEach(function(Ut){return Ut()})}}})(!1),{signal:ie}),je.addEventListener("error",Oe(!1),{signal:ie}),je.addEventListener("complete",Oe(!0),{signal:ie})),je},table:function(j){var z=_.table(j),ie=z.schema.primaryKey;return n(n({},z),{mutate:function(we){var Oe,je=gt.trans;return!ie.outbound&&je.db._options.cache!=="disabled"&&!je.explicit&&je.idbtrans.mode==="readwrite"&&(Oe=y["idb://".concat(k,"/").concat(j)])?(je=z.mutate(we),we.type!=="add"&&we.type!=="put"||!(50<=we.values.length||Br(ie,we).some(function(ut){return ut==null}))?(Oe.optimisticOps.push(we),we.mutatedParts&&ke(we.mutatedParts),je.then(function(ut){0<ut.numFailures&&(me(Oe.optimisticOps,we),(ut=ho(0,we,ut))&&Oe.optimisticOps.push(ut),we.mutatedParts)&&ke(we.mutatedParts)}),je.catch(function(){me(Oe.optimisticOps,we),we.mutatedParts&&ke(we.mutatedParts)})):je.then(function(ut){var vt=ho(0,n(n({},we),{values:we.values.map(function(ft,dt){var yt;return ut.failures[dt]?ft:(D(yt=(yt=ie.keyPath)!=null&&yt.includes(".")?ge(ft):n({},ft),ie.keyPath,ut.results[dt]),yt)})}),ut);Oe.optimisticOps.push(vt),queueMicrotask(function(){return we.mutatedParts&&ke(we.mutatedParts)})}),je):z.mutate(we)},query:function(we){var Oe,je,ut,vt,ft,dt,yt;return Li(gt,z)&&yi("query",we)?(Oe=((ut=gt.trans)==null?void 0:ut.db._options.cache)==="immutable",je=(ut=gt).requery,ut=ut.signal,dt=((bt,_t,xt,St)=>{var It=y["idb://".concat(bt,"/").concat(_t)];if(!It)return[];if(!(bt=It.queries[xt]))return[null,!1,It,null];var kt=bt[(St.query?St.query.index.name:null)||""];if(!kt)return[null,!1,It,null];switch(xt){case"query":var Rt=(qt=St.direction)!=null?qt:"next",qt=kt.find(function(Vt){var Jt;return Vt.req.limit===St.limit&&Vt.req.values===St.values&&((Jt=Vt.req.direction)!=null?Jt:"next")===Rt&&go(Vt.req.query.range,St.query.range)});return qt?[qt,!0,It,kt]:[kt.find(function(Vt){var Jt;return("limit"in Vt.req?Vt.req.limit:1/0)>=St.limit&&((Jt=Vt.req.direction)!=null?Jt:"next")===Rt&&(!St.values||Vt.req.values)&&Lo(Vt.req.query.range,St.query.range)}),!1,It,kt];case"count":return qt=kt.find(function(Vt){return go(Vt.req.query.range,St.query.range)}),[qt,!!qt,It,kt]}})(k,j,"query",we),yt=dt[0],vt=dt[2],ft=dt[3],yt&&dt[1]?yt.obsSet=we.obsSet:(dt=z.query(we).then(function(bt){var _t=bt.result;if(yt&&(yt.res=_t),Oe){for(var xt=0,St=_t.length;xt<St;++xt)Object.freeze(_t[xt]);Object.freeze(_t)}return bt}).catch(function(bt){return ft&&yt&&me(ft,yt),Promise.reject(bt)}),yt={obsSet:we.obsSet,promise:dt,subscribers:new Set,type:"query",req:we,dirty:!1},ft?ft.push(yt):(ft=[yt],(vt=vt||(y["idb://".concat(k,"/").concat(j)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[we.query.index.name||""]=ft)),Bo(yt,ft,je,ut),yt.promise.then(function(bt){return bt=mo(bt.result,we,vt==null?void 0:vt.optimisticOps,z,yt,Oe),{result:Oe?bt:ge(bt)}})):z.query(we)}})}})}};function Is(_,k){return new Proxy(_,{get:function(j,z,ie){return z==="db"?k:Reflect.get(j,z,ie)}})}A.prototype.version=function(_){if(isNaN(_)||_<.1)throw new Xe.Type("Given version is not a positive number");if(_=Math.round(10*_)/10,this.idbdb||this._state.isBeingOpened)throw new Xe.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,_);var k=this._versions,j=k.filter(function(z){return z._cfg.version===_})[0];return j||(j=new this.Version(_),k.push(j),k.sort(oa),j.stores({}),this._state.autoSchema=!1),j},A.prototype._whenReady=function(_){var k=this;return this.idbdb&&(this._state.openComplete||gt.letThrough||this._vip)?_():new Re(function(j,z){if(k._state.openComplete)return z(new Xe.DatabaseClosed(k._state.dbOpenError));if(!k._state.isBeingOpened){if(!k._state.autoOpen)return void z(new Xe.DatabaseClosed);k.open().catch(Te)}k._state.dbReadyPromise.then(j,z)}).then(_)},A.prototype.use=function(ie){var k=ie.stack,j=ie.create,z=ie.level,ie=ie.name,we=(ie&&this.unuse({stack:k,name:ie}),this._middlewares[k]||(this._middlewares[k]=[]));return we.push({stack:k,create:j,level:z??10,name:ie}),we.sort(function(Oe,je){return Oe.level-je.level}),this},A.prototype.unuse=function(_){var k=_.stack,j=_.name,z=_.create;return k&&this._middlewares[k]&&(this._middlewares[k]=this._middlewares[k].filter(function(ie){return z?ie.create!==z:!!j&&ie.name!==j})),this},A.prototype.open=function(){var _=this;return wn(nt,function(){return pt(_)})},A.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var _=this._state;if(Cs.remove(this),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}_.isBeingOpened||(_.dbReadyPromise=new Re(function(k){_.dbReadyResolve=k}),_.openCanceller=new Re(function(k,j){_.cancelOpen=j}))},A.prototype.close=function(k){var k=(k===void 0?{disableAutoOpen:!0}:k).disableAutoOpen,j=this._state;k?(j.isBeingOpened&&j.cancelOpen(new Xe.DatabaseClosed),this._close(),j.autoOpen=!1,j.dbOpenError=new Xe.DatabaseClosed):(this._close(),j.autoOpen=this._options.autoOpen||j.isBeingOpened,j.openComplete=!1,j.dbOpenError=null)},A.prototype.delete=function(_){var k=this,j=(_===void 0&&(_={disableAutoOpen:!0}),0<arguments.length&&typeof arguments[0]!="object"),z=this._state;return new Re(function(ie,we){function Oe(){k.close(_);var je=k._deps.indexedDB.deleteDatabase(k.name);je.onsuccess=Cr(function(){var ut,vt,ft;ut=k._deps,vt=k.name,Ws(ft=ut.indexedDB)||vt===zn||uo(ft,ut.IDBKeyRange).delete(vt).catch(Te),ie()}),je.onerror=ur(we),je.onblocked=k._fireOnBlocked}if(j)throw new Xe.InvalidArgument("Invalid closeOptions argument to db.delete()");z.isBeingOpened?z.dbReadyPromise.then(Oe):Oe()})},A.prototype.backendDB=function(){return this.idbdb},A.prototype.isOpen=function(){return this.idbdb!==null},A.prototype.hasBeenClosed=function(){var _=this._state.dbOpenError;return _&&_.name==="DatabaseClosed"},A.prototype.hasFailed=function(){return this._state.dbOpenError!==null},A.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(A.prototype,"tables",{get:function(){var _=this;return o(this._allTables).map(function(k){return _._allTables[k]})},enumerable:!1,configurable:!0}),A.prototype.transaction=function(){var _=(function(k,j,z){var ie=arguments.length;if(ie<2)throw new Xe.InvalidArgument("Too few arguments");for(var we=new Array(ie-1);--ie;)we[ie-1]=arguments[ie];return z=we.pop(),[k,te(we),z]}).apply(this,arguments);return this._transaction.apply(this,_)},A.prototype._transaction=function(_,k,j){var z,ie,we=this,Oe=gt.trans,je=(Oe&&Oe.db===this&&_.indexOf("!")===-1||(Oe=null),_.indexOf("?")!==-1);_=_.replace("!","").replace("?","");try{if(ie=k.map(function(vt){if(vt=vt instanceof we.Table?vt.name:vt,typeof vt!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return vt}),_=="r"||_===In)z=In;else{if(_!="rw"&&_!=Ni)throw new Xe.InvalidArgument("Invalid transaction mode: "+_);z=Ni}if(Oe){if(Oe.mode===In&&z===Ni){if(!je)throw new Xe.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");Oe=null}Oe&&ie.forEach(function(vt){if(Oe&&Oe.storeNames.indexOf(vt)===-1){if(!je)throw new Xe.SubTransaction("Table "+vt+" not included in parent transaction.");Oe=null}}),je&&Oe&&!Oe.active&&(Oe=null)}}catch(vt){return Oe?Oe._promise(null,function(ft,dt){dt(vt)}):un(vt)}var ut=(function vt(ft,dt,yt,bt,_t){return Re.resolve().then(function(){var kt=gt.transless||gt,xt=ft._createTransaction(dt,yt,ft._dbSchema,bt),kt=(xt.explicit=!0,{trans:xt,transless:kt});if(bt)xt.idbtrans=bt.idbtrans;else try{xt.create(),xt.idbtrans._explicit=!0,ft._state.PR1398_maxLoop=3}catch(Rt){return Rt.name===Ae.InvalidState&&ft.isOpen()&&0<--ft._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),ft.close({disableAutoOpen:!1}),ft.open().then(function(){return vt(ft,dt,yt,null,_t)})):un(Rt)}var St,It=ye(_t),kt=(It&&vn(),Re.follow(function(){var Rt;(St=_t.call(xt,xt))&&(It?(Rt=fr.bind(null,null),St.then(Rt,Rt)):typeof St.next=="function"&&typeof St.throw=="function"&&(St=Ot(St)))},kt));return(St&&typeof St.then=="function"?Re.resolve(St).then(function(Rt){return xt.active?Rt:un(new Xe.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):kt.then(function(){return St})).then(function(Rt){return bt&&xt._resolve(),xt._completion.then(function(){return Rt})}).catch(function(Rt){return xt._reject(Rt),un(Rt)})})}).bind(null,this,z,ie,Oe,j);return Oe?Oe._promise(z,ut,"lock"):gt.trans?wn(gt.transless,function(){return we._whenReady(ut)}):this._whenReady(ut)},A.prototype.table=function(_){if(h(this._allTables,_))return this._allTables[_];throw new Xe.InvalidTable("Table ".concat(_," does not exist"))};var Ti=A;function A(_,k){var j,z,ie,we,Oe,je=this,ut=(this._middlewares={},this.verno=0,A.dependencies),ut=(this._options=k=n({addons:A.addons,autoOpen:!0,indexedDB:ut.indexedDB,IDBKeyRange:ut.IDBKeyRange,cache:"cloned",maxConnections:1e3},k),this._deps={indexedDB:k.indexedDB,IDBKeyRange:k.IDBKeyRange},k.addons),vt=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:Te,dbReadyPromise:null,cancelOpen:Te,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:k.autoOpen}),ft=(vt.dbReadyPromise=new Re(function(dt){vt.dbReadyResolve=dt}),vt.openCanceller=new Re(function(dt,yt){vt.cancelOpen=yt}),this._state=vt,this.name=_,this.on=_n(this,"populate","blocked","versionchange","close",{ready:[Dt,Te]}),this.once=function(dt,yt){var bt=function(){for(var _t=[],xt=0;xt<arguments.length;xt++)_t[xt]=arguments[xt];je.on(dt).unsubscribe(bt),yt.apply(je,_t)};return je.on(dt,bt)},this.on.ready.subscribe=S(this.on.ready.subscribe,function(dt){return function(yt,bt){A.vip(function(){var _t,xt=je._state;xt.openComplete?(xt.dbOpenError||Re.resolve().then(yt),bt&&dt(yt)):xt.onReadyBeingFired?(xt.onReadyBeingFired.push(yt),bt&&dt(yt)):(dt(yt),_t=je,bt||dt(function St(){_t.on.ready.unsubscribe(yt),_t.on.ready.unsubscribe(St)}))})}}),this.Collection=(j=this,Gn(Jn.prototype,function(St,xt){this.db=j;var bt=ti,_t=null;if(xt)try{bt=xt()}catch(kt){_t=kt}var xt=St._ctx,St=xt.table,It=St.hook.reading.fire;this._ctx={table:St,index:xt.index,isPrimKey:!xt.index||St.schema.primKey.keyPath&&xt.index===St.schema.primKey.name,range:bt,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:_t,or:xt.or,valueMapper:It!==lt?It:null}})),this.Table=(z=this,Gn(Ri.prototype,function(dt,yt,bt){this.db=z,this._tx=bt,this.name=dt,this.schema=yt,this.hook=z._allTables[dt]?z._allTables[dt].hook:_n(null,{creating:[We,Te],reading:[it,lt],updating:[Je,Te],deleting:[Ve,Te]})})),this.Transaction=(ie=this,Gn(Ts.prototype,function(dt,yt,bt,_t,xt){var St=this;dt!=="readonly"&&yt.forEach(function(It){It=(It=bt[It])==null?void 0:It.yProps,It&&(yt=yt.concat(It.map(function(kt){return kt.updatesTable})))}),this.db=ie,this.mode=dt,this.storeNames=yt,this.schema=bt,this.chromeTransactionDurability=_t,this.idbtrans=null,this.on=_n(this,"complete","error","abort"),this.parent=xt||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new Re(function(It,kt){St._resolve=It,St._reject=kt}),this._completion.then(function(){St.active=!1,St.on.complete.fire()},function(It){var kt=St.active;return St.active=!1,St.on.error.fire(It),St.parent?St.parent._reject(It):kt&&St.idbtrans&&St.idbtrans.abort(),un(It)})})),this.Version=(we=this,Gn(aa.prototype,function(dt){this.db=we,this._cfg={version:dt,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(Oe=this,Gn(Qt.prototype,function(dt,yt,bt){if(this.db=Oe,this._ctx={table:dt,index:yt===":id"?null:yt,or:bt},this._cmp=this._ascending=Or,this._descending=function(_t,xt){return Or(xt,_t)},this._max=function(_t,xt){return 0<Or(_t,xt)?_t:xt},this._min=function(_t,xt){return Or(_t,xt)<0?_t:xt},this._IDBKeyRange=Oe._deps.IDBKeyRange,!this._IDBKeyRange)throw new Xe.MissingAPI})),this.on("versionchange",function(dt){0<dt.newVersion?console.warn("Another connection wants to upgrade database '".concat(je.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(je.name,"'. Closing db now to resume the delete request.")),je.close({disableAutoOpen:!1})}),this.on("blocked",function(dt){!dt.newVersion||dt.newVersion<dt.oldVersion?console.warn("Dexie.delete('".concat(je.name,"') was blocked")):console.warn("Upgrade '".concat(je.name,"' blocked by other connection holding version ").concat(dt.oldVersion/10))}),this._maxKey=Hi(k.IDBKeyRange),this._createTransaction=function(dt,yt,bt,_t){return new je.Transaction(dt,yt,bt,je._options.chromeTransactionDurability,_t)},this._fireOnBlocked=function(dt){je.on("blocked").fire(dt),Cs.toArray().filter(function(yt){return yt.name===je.name&&yt!==je&&!yt._state.vcFired}).map(function(yt){return yt.on("versionchange").fire(dt)})},this.use(Ur),this.use(Fo),this.use(Mo),this.use(Wt),this.use(ln),new Proxy(this,{get:function(dt,yt,bt){var _t;return yt==="_vip"||(yt==="table"?function(xt){return Is(je.table(xt),ft)}:(_t=Reflect.get(dt,yt,bt))instanceof Ri?Is(_t,ft):yt==="tables"?_t.map(function(xt){return Is(xt,ft)}):yt==="_createTransaction"?function(){return Is(_t.apply(this,arguments),ft)}:_t)}}));this.vip=ft,ut.forEach(function(dt){return dt(je)})}var E,R=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",H=(se.prototype.subscribe=function(_,k,j){return this._subscribe(_&&typeof _!="function"?_:{next:_,error:k,complete:j})},se.prototype[R]=function(){return this},se);function se(_){this._subscribe=_}try{E={indexedDB:s.indexedDB||s.mozIndexedDB||s.webkitIndexedDB||s.msIndexedDB,IDBKeyRange:s.IDBKeyRange||s.webkitIDBKeyRange}}catch{E={indexedDB:null,IDBKeyRange:null}}function ve(_){var k,j=!1,z=new H(function(ie){var we=ye(_),Oe,je=!1,ut={},vt={},ft={get closed(){return je},unsubscribe:function(){je||(je=!0,Oe&&Oe.abort(),dt&&dn.storagemutated.unsubscribe(_t))}},dt=(ie.start&&ie.start(ft),!1),yt=function(){return es(xt)};function bt(){return p(vt,ut)}var _t=function(St){a(ut,St),bt()&&yt()},xt=function(){var St,It,kt;!je&&E.indexedDB&&(ut={},St={},Oe&&Oe.abort(),Oe=new AbortController,kt=(Rt=>{var qt=xr();try{we&&vn();var Vt=Un(_,Rt);return Vt=we?Vt.finally(fr):Vt}finally{qt&&Pr()}})(It={subscr:St,signal:Oe.signal,requery:yt,querier:_,trans:null}),dt||(dn.storagemutated.subscribe(_t),dt=!0),Promise.resolve(kt).then(function(Rt){j=!0,k=Rt,je||It.signal.aborted||(bt()||(vt=St,bt())?yt():(ut={},es(function(){return!je&&ie.next&&ie.next(Rt)})))},function(Rt){j=!1,["DatabaseClosedError","AbortError"].includes(Rt==null?void 0:Rt.name)||je||es(function(){je||ie.error&&ie.error(Rt)})}))};return setTimeout(yt,0),ft});return z.hasValue=function(){return j},z.getValue=function(){return k},z}var De=Ti;function $e(_){var k=ht;try{ht=!0,dn.storagemutated.fire(_),He(_,!0)}finally{ht=k}}g(De,n(n({},le),{delete:function(_){return new De(_,{addons:[]}).delete()},exists:function(_){return new De(_,{addons:[]}).open().then(function(k){return k.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(_){try{return k=De.dependencies,j=k.indexedDB,k=k.IDBKeyRange,(Ws(j)?Promise.resolve(j.databases()).then(function(z){return z.map(function(ie){return ie.name}).filter(function(ie){return ie!==zn})}):uo(j,k).toCollection().primaryKeys()).then(_)}catch{return un(new Xe.MissingAPI)}var k,j},defineClass:function(){return function(_){c(this,_)}},ignoreTransaction:function(_){return gt.trans?wn(gt.transless||nt,_):_()},vip:fo,async:function(_){return function(){try{var k=Ot(_.apply(this,arguments));return k&&typeof k.then=="function"?k:Re.resolve(k)}catch(j){return un(j)}}},spawn:function(_,k,j){try{var z=Ot(_.apply(j,k||[]));return z&&typeof z.then=="function"?z:Re.resolve(z)}catch(ie){return un(ie)}},currentTransaction:{get:function(){return gt.trans||null}},waitFor:function(_,k){return _=Re.resolve(typeof _=="function"?De.ignoreTransaction(_):_).timeout(k||6e4),gt.trans?gt.trans.waitFor(_):_},Promise:Re,debug:{get:function(){return Ct},set:function(_){ze(_)}},derive:P,extend:c,props:g,override:S,Events:_n,on:dn,liveQuery:ve,extendObservabilitySet:a,getByKeyPath:N,setByKeyPath:D,delByKeyPath:function(_,k){typeof k=="string"?D(_,k,void 0):"length"in k&&[].map.call(k,function(j){D(_,j,void 0)})},shallowClone:B,deepClone:ge,getObjectDiff:nr,cmp:Or,asap:O,minKey:-1/0,addons:[],connections:{get:Cs.toArray},errnames:Ae,dependencies:E,cache:y,semVer:"4.4.5",version:"4.4.5".split(".").map(function(_){return parseInt(_)}).reduce(function(_,k,j){return _+k/Math.pow(10,2*j)})})),De.maxKey=Hi(De.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(dn(Jr,function(_){ht||(_=new CustomEvent(En,{detail:_}),ht=!0,dispatchEvent(_),ht=!1)}),addEventListener(En,function(_){_=_.detail,ht||$e(_)}));var et,ht=!1,st=function(){};return typeof BroadcastChannel<"u"&&((st=function(){(et=new BroadcastChannel(En)).onmessage=function(_){return _.data&&$e(_.data)}})(),typeof et.unref=="function"&&et.unref(),dn(Jr,function(_){ht||et.postMessage(_)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(_){if(!Ti.disableBfCache&&_.persisted){Ct&&console.debug("Dexie: handling persisted pagehide"),et!=null&&et.close();for(var k=0,j=Cs.toArray();k<j.length;k++)j[k].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(_){!Ti.disableBfCache&&_.persisted&&(Ct&&console.debug("Dexie: handling persisted pageshow"),st(),$e({all:new An(-1/0,[[]])}))})),Re.rejectionMapper=function(_,k){return!_||_ instanceof $||_ instanceof TypeError||_ instanceof SyntaxError||!_.name||!be[_.name]?_:(k=new be[_.name](k||_.message,_),"stack"in _&&I(k,"stack",{get:function(){return this.inner.stack}}),k)},ze(Ct),n(Ti,Object.freeze({__proto__:null,DEFAULT_MAX_CONNECTIONS:1e3,Dexie:Ti,Entity:Si,PropModification:Sn,RangeSet:An,add:function(_){return new Sn({add:_})},cmp:Or,default:Ti,liveQuery:ve,mergeRanges:ii,rangesOverlap:po,remove:function(_){return new Sn({remove:_})},replacePrefix:function(_,k){return new Sn({replacePrefix:[_,k]})}}),{default:Ti}),Ti})})(xT);var nR=xT.exports;const Nb=G0(nR),wT=Symbol.for("Dexie"),Db=globalThis[wT]||(globalThis[wT]=Nb);if(Nb.semVer!==Db.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${Nb.semVer} and ${Db.semVer}`);const{liveQuery:Iee,mergeRanges:Oee,rangesOverlap:Nee,RangeSet:Dee,cmp:Ree,Entity:Mee,PropModification:Lee,replacePrefix:Bee,add:Fee,remove:jee,DexieYProvider:$ee}=Db;function fa(t){throw new Error("[RTCAgentDatabase] getDatabase() called without a name before any database was initialized. Pass a databaseName.")}const Ys=er("UIUpdateBus"),sa=class sa{constructor(){sr(this,"entityListeners",new Map);sr(this,"wildcardListeners",new Set);sr(this,"bulkUpdateListeners",new Set);sr(this,"gapFillListeners",new Set);sr(this,"_processingChains",new Map);sr(this,"_listenerCounter",0);sr(this,"_listenerIds",new WeakMap);sr(this,"_suspendDepth",0);sr(this,"_suspendSafetyTimer");sr(this,"_suspendedEvents",[]);sr(this,"_suspendedEntities",new Set);sr(this,"_initialized",!1)}async init(){this._initialized||(this._initialized=!0)}_getListenerId(e){let r=this._listenerIds.get(e);return r===void 0&&(r=++this._listenerCounter,this._listenerIds.set(e,r)),r}_getChainKey(e,r,n){return`${e}:${r}:${this._getListenerId(n)}`}_dispatchToListener(e,r,n){const i=this._getChainKey(r.entity,r.entityId,e),o=(this._processingChains.get(i)??Promise.resolve()).then(()=>this._withTimeout(e(r,n),sa.CHAIN_TIMEOUT_MS,i)).catch(l=>{Ys.error("listener error:",l)});this._processingChains.set(i,o),o.finally(()=>{this._processingChains.get(i)===o&&this._processingChains.delete(i)})}async _withTimeout(e,r,n){if(!e)return;let i;const s=new Promise((o,l)=>{i=setTimeout(()=>{l(new Error(`Listener chain timeout after ${r}ms for ${n}`))},r)});try{return await Promise.race([e,s])}finally{i&&clearTimeout(i)}}subscribe(e,r){if(typeof e=="function")return this.wildcardListeners.add(e),()=>{this.wildcardListeners.delete(e)};const n=e,i=r;let s=this.entityListeners.get(n);return s||(s=new Set,this.entityListeners.set(n,s)),s.add(i),()=>{s.delete(i),s.size===0&&this.entityListeners.delete(n)}}async publish(e,r){if(this._suspendDepth>0){if(this._suspendedEvents.length>=sa.MAX_SUSPENDED_EVENTS)throw new Error(`Suspended events limit exceeded (${sa.MAX_SUSPENDED_EVENTS}). Resume UI updates before publishing more events, or reduce event frequency during suspend.`);this._suspendedEvents.push(e),this._suspendedEntities.add(e.entity);return}let n=0;if(!(r!=null&&r.skipPersist)&&sa.persistEnabled&&this._initialized)try{const s=fa();let o;try{o=structuredClone(e)}catch{o=JSON.parse(JSON.stringify(e))}const l={event:o,timestamp:Date.now()},c=s.constructor.currentTransaction;c?n=await c.table("ui_updates").add(l):n=await s.ui_updates.add(l)}catch(s){Ys.warn("Failed to persist UI update to queue (seq not advanced):",s)}else(r==null?void 0:r.seqOverride)!==void 0&&(n=r.seqOverride);for(const s of this.wildcardListeners)this._dispatchToListener(s,e,n);const i=this.entityListeners.get(e.entity);if(i)for(const s of i)this._dispatchToListener(s,e,n)}suspend(){this._suspendDepth++,this._suspendDepth===1&&(this._suspendSafetyTimer=setTimeout(()=>{Ys.error("UIUpdateBus suspend exceeded safety timeout, forcing resume"),this._forceResume()},sa.MAX_SUSPEND_MS)),Ys.debug(`suspend: depth=${this._suspendDepth}`)}resume(){if(this._suspendDepth===0){Ys.warn("resume called without matching suspend, ignoring");return}this._suspendDepth--,this._suspendDepth===0&&(this._suspendSafetyTimer&&(clearTimeout(this._suspendSafetyTimer),this._suspendSafetyTimer=void 0),this._flushSuspendedEvents()),Ys.debug(`resume: depth=${this._suspendDepth}`)}_forceResume(){const e=this._processingChains.size;e>0&&Ys.warn(`Force resuming with ${e} pending processing chains. This may cause temporary state inconsistency. Pending chains will continue running in background.`),this._suspendDepth=0,this._suspendSafetyTimer&&(clearTimeout(this._suspendSafetyTimer),this._suspendSafetyTimer=void 0),this._flushSuspendedEvents(),Ys.warn("Force resumed after safety timeout")}_flushSuspendedEvents(){const e=this._suspendedEvents.length;if(e>0){const r={entities:new Set(this._suspendedEntities),eventCount:e};for(const n of this.bulkUpdateListeners)try{n(r)}catch(i){Ys.error("bulk update listener error:",i)}this._suspendedEvents=[],this._suspendedEntities.clear()}}onBulkUpdate(e){return this.bulkUpdateListeners.add(e),()=>{this.bulkUpdateListeners.delete(e)}}emitGapFillStart(){Ys.debug("[BulkUpdate] UIUpdateBus.emitGapFillStart() called");for(const e of this.gapFillListeners)try{e(!0)}catch(r){Ys.error("gap fill listener error:",r)}}emitGapFillEnd(){Ys.debug("[BulkUpdate] UIUpdateBus.emitGapFillEnd() called");for(const e of this.gapFillListeners)try{e(!1)}catch(r){Ys.error("gap fill listener error:",r)}}onGapFillState(e){return this.gapFillListeners.add(e),()=>{this.gapFillListeners.delete(e)}}clear(){this.entityListeners.clear(),this.wildcardListeners.clear(),this.bulkUpdateListeners.clear(),this.gapFillListeners.clear(),this._processingChains.clear(),this._suspendDepth=0,this._suspendSafetyTimer&&(clearTimeout(this._suspendSafetyTimer),this._suspendSafetyTimer=void 0),this._suspendedEvents=[],this._suspendedEntities.clear(),this._initialized=!1}};sr(sa,"persistEnabled",!0),sr(sa,"MAX_SUSPEND_MS",3e4),sr(sa,"CHAIN_TIMEOUT_MS",1e4),sr(sa,"MAX_SUSPENDED_EVENTS",1e3);let Rb=sa,Mb=null;function _u(){return Mb||(Mb=new Rb),Mb}var iR={exports:{}};(function(t,e){(function(r){t.exports=r()})(function(r){var n=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function i(T,w){var S=T[0],v=T[1],O=T[2],N=T[3];S+=(v&O|~v&N)+w[0]-680876936|0,S=(S<<7|S>>>25)+v|0,N+=(S&v|~S&O)+w[1]-389564586|0,N=(N<<12|N>>>20)+S|0,O+=(N&S|~N&v)+w[2]+606105819|0,O=(O<<17|O>>>15)+N|0,v+=(O&N|~O&S)+w[3]-1044525330|0,v=(v<<22|v>>>10)+O|0,S+=(v&O|~v&N)+w[4]-176418897|0,S=(S<<7|S>>>25)+v|0,N+=(S&v|~S&O)+w[5]+1200080426|0,N=(N<<12|N>>>20)+S|0,O+=(N&S|~N&v)+w[6]-1473231341|0,O=(O<<17|O>>>15)+N|0,v+=(O&N|~O&S)+w[7]-45705983|0,v=(v<<22|v>>>10)+O|0,S+=(v&O|~v&N)+w[8]+1770035416|0,S=(S<<7|S>>>25)+v|0,N+=(S&v|~S&O)+w[9]-1958414417|0,N=(N<<12|N>>>20)+S|0,O+=(N&S|~N&v)+w[10]-42063|0,O=(O<<17|O>>>15)+N|0,v+=(O&N|~O&S)+w[11]-1990404162|0,v=(v<<22|v>>>10)+O|0,S+=(v&O|~v&N)+w[12]+1804603682|0,S=(S<<7|S>>>25)+v|0,N+=(S&v|~S&O)+w[13]-40341101|0,N=(N<<12|N>>>20)+S|0,O+=(N&S|~N&v)+w[14]-1502002290|0,O=(O<<17|O>>>15)+N|0,v+=(O&N|~O&S)+w[15]+1236535329|0,v=(v<<22|v>>>10)+O|0,S+=(v&N|O&~N)+w[1]-165796510|0,S=(S<<5|S>>>27)+v|0,N+=(S&O|v&~O)+w[6]-1069501632|0,N=(N<<9|N>>>23)+S|0,O+=(N&v|S&~v)+w[11]+643717713|0,O=(O<<14|O>>>18)+N|0,v+=(O&S|N&~S)+w[0]-373897302|0,v=(v<<20|v>>>12)+O|0,S+=(v&N|O&~N)+w[5]-701558691|0,S=(S<<5|S>>>27)+v|0,N+=(S&O|v&~O)+w[10]+38016083|0,N=(N<<9|N>>>23)+S|0,O+=(N&v|S&~v)+w[15]-660478335|0,O=(O<<14|O>>>18)+N|0,v+=(O&S|N&~S)+w[4]-405537848|0,v=(v<<20|v>>>12)+O|0,S+=(v&N|O&~N)+w[9]+568446438|0,S=(S<<5|S>>>27)+v|0,N+=(S&O|v&~O)+w[14]-1019803690|0,N=(N<<9|N>>>23)+S|0,O+=(N&v|S&~v)+w[3]-187363961|0,O=(O<<14|O>>>18)+N|0,v+=(O&S|N&~S)+w[8]+1163531501|0,v=(v<<20|v>>>12)+O|0,S+=(v&N|O&~N)+w[13]-1444681467|0,S=(S<<5|S>>>27)+v|0,N+=(S&O|v&~O)+w[2]-51403784|0,N=(N<<9|N>>>23)+S|0,O+=(N&v|S&~v)+w[7]+1735328473|0,O=(O<<14|O>>>18)+N|0,v+=(O&S|N&~S)+w[12]-1926607734|0,v=(v<<20|v>>>12)+O|0,S+=(v^O^N)+w[5]-378558|0,S=(S<<4|S>>>28)+v|0,N+=(S^v^O)+w[8]-2022574463|0,N=(N<<11|N>>>21)+S|0,O+=(N^S^v)+w[11]+1839030562|0,O=(O<<16|O>>>16)+N|0,v+=(O^N^S)+w[14]-35309556|0,v=(v<<23|v>>>9)+O|0,S+=(v^O^N)+w[1]-1530992060|0,S=(S<<4|S>>>28)+v|0,N+=(S^v^O)+w[4]+1272893353|0,N=(N<<11|N>>>21)+S|0,O+=(N^S^v)+w[7]-155497632|0,O=(O<<16|O>>>16)+N|0,v+=(O^N^S)+w[10]-1094730640|0,v=(v<<23|v>>>9)+O|0,S+=(v^O^N)+w[13]+681279174|0,S=(S<<4|S>>>28)+v|0,N+=(S^v^O)+w[0]-358537222|0,N=(N<<11|N>>>21)+S|0,O+=(N^S^v)+w[3]-722521979|0,O=(O<<16|O>>>16)+N|0,v+=(O^N^S)+w[6]+76029189|0,v=(v<<23|v>>>9)+O|0,S+=(v^O^N)+w[9]-640364487|0,S=(S<<4|S>>>28)+v|0,N+=(S^v^O)+w[12]-421815835|0,N=(N<<11|N>>>21)+S|0,O+=(N^S^v)+w[15]+530742520|0,O=(O<<16|O>>>16)+N|0,v+=(O^N^S)+w[2]-995338651|0,v=(v<<23|v>>>9)+O|0,S+=(O^(v|~N))+w[0]-198630844|0,S=(S<<6|S>>>26)+v|0,N+=(v^(S|~O))+w[7]+1126891415|0,N=(N<<10|N>>>22)+S|0,O+=(S^(N|~v))+w[14]-1416354905|0,O=(O<<15|O>>>17)+N|0,v+=(N^(O|~S))+w[5]-57434055|0,v=(v<<21|v>>>11)+O|0,S+=(O^(v|~N))+w[12]+1700485571|0,S=(S<<6|S>>>26)+v|0,N+=(v^(S|~O))+w[3]-1894986606|0,N=(N<<10|N>>>22)+S|0,O+=(S^(N|~v))+w[10]-1051523|0,O=(O<<15|O>>>17)+N|0,v+=(N^(O|~S))+w[1]-2054922799|0,v=(v<<21|v>>>11)+O|0,S+=(O^(v|~N))+w[8]+1873313359|0,S=(S<<6|S>>>26)+v|0,N+=(v^(S|~O))+w[15]-30611744|0,N=(N<<10|N>>>22)+S|0,O+=(S^(N|~v))+w[6]-1560198380|0,O=(O<<15|O>>>17)+N|0,v+=(N^(O|~S))+w[13]+1309151649|0,v=(v<<21|v>>>11)+O|0,S+=(O^(v|~N))+w[4]-145523070|0,S=(S<<6|S>>>26)+v|0,N+=(v^(S|~O))+w[11]-1120210379|0,N=(N<<10|N>>>22)+S|0,O+=(S^(N|~v))+w[2]+718787259|0,O=(O<<15|O>>>17)+N|0,v+=(N^(O|~S))+w[9]-343485551|0,v=(v<<21|v>>>11)+O|0,T[0]=S+T[0]|0,T[1]=v+T[1]|0,T[2]=O+T[2]|0,T[3]=N+T[3]|0}function s(T){var w=[],S;for(S=0;S<64;S+=4)w[S>>2]=T.charCodeAt(S)+(T.charCodeAt(S+1)<<8)+(T.charCodeAt(S+2)<<16)+(T.charCodeAt(S+3)<<24);return w}function o(T){var w=[],S;for(S=0;S<64;S+=4)w[S>>2]=T[S]+(T[S+1]<<8)+(T[S+2]<<16)+(T[S+3]<<24);return w}function l(T){var w=T.length,S=[1732584193,-271733879,-1732584194,271733878],v,O,N,D,B,Q;for(v=64;v<=w;v+=64)i(S,s(T.substring(v-64,v)));for(T=T.substring(v-64),O=T.length,N=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],v=0;v<O;v+=1)N[v>>2]|=T.charCodeAt(v)<<(v%4<<3);if(N[v>>2]|=128<<(v%4<<3),v>55)for(i(S,N),v=0;v<16;v+=1)N[v]=0;return D=w*8,D=D.toString(16).match(/(.*?)(.{0,8})$/),B=parseInt(D[2],16),Q=parseInt(D[1],16)||0,N[14]=B,N[15]=Q,i(S,N),S}function c(T){var w=T.length,S=[1732584193,-271733879,-1732584194,271733878],v,O,N,D,B,Q;for(v=64;v<=w;v+=64)i(S,o(T.subarray(v-64,v)));for(T=v-64<w?T.subarray(v-64):new Uint8Array(0),O=T.length,N=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],v=0;v<O;v+=1)N[v>>2]|=T[v]<<(v%4<<3);if(N[v>>2]|=128<<(v%4<<3),v>55)for(i(S,N),v=0;v<16;v+=1)N[v]=0;return D=w*8,D=D.toString(16).match(/(.*?)(.{0,8})$/),B=parseInt(D[2],16),Q=parseInt(D[1],16)||0,N[14]=B,N[15]=Q,i(S,N),S}function d(T){var w="",S;for(S=0;S<4;S+=1)w+=n[T>>S*8+4&15]+n[T>>S*8&15];return w}function u(T){var w;for(w=0;w<T.length;w+=1)T[w]=d(T[w]);return T.join("")}u(l("hello")),typeof ArrayBuffer<"u"&&!ArrayBuffer.prototype.slice&&function(){function T(w,S){return w=w|0||0,w<0?Math.max(w+S,0):Math.min(w,S)}ArrayBuffer.prototype.slice=function(w,S){var v=this.byteLength,O=T(w,v),N=v,D,B,Q,te;return S!==r&&(N=T(S,v)),O>N?new ArrayBuffer(0):(D=N-O,B=new ArrayBuffer(D),Q=new Uint8Array(B),te=new Uint8Array(this,O,D),Q.set(te),B)}}();function h(T){return/[\u0080-\uFFFF]/.test(T)&&(T=unescape(encodeURIComponent(T))),T}function g(T,w){var S=T.length,v=new ArrayBuffer(S),O=new Uint8Array(v),N;for(N=0;N<S;N+=1)O[N]=T.charCodeAt(N);return w?O:v}function b(T){return String.fromCharCode.apply(null,new Uint8Array(T))}function I(T,w,S){var v=new Uint8Array(T.byteLength+w.byteLength);return v.set(new Uint8Array(T)),v.set(new Uint8Array(w),T.byteLength),v}function P(T){var w=[],S=T.length,v;for(v=0;v<S-1;v+=2)w.push(parseInt(T.substr(v,2),16));return String.fromCharCode.apply(String,w)}function C(){this.reset()}return C.prototype.append=function(T){return this.appendBinary(h(T)),this},C.prototype.appendBinary=function(T){this._buff+=T,this._length+=T.length;var w=this._buff.length,S;for(S=64;S<=w;S+=64)i(this._hash,s(this._buff.substring(S-64,S)));return this._buff=this._buff.substring(S-64),this},C.prototype.end=function(T){var w=this._buff,S=w.length,v,O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],N;for(v=0;v<S;v+=1)O[v>>2]|=w.charCodeAt(v)<<(v%4<<3);return this._finish(O,S),N=u(this._hash),T&&(N=P(N)),this.reset(),N},C.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},C.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},C.prototype.setState=function(T){return this._buff=T.buff,this._length=T.length,this._hash=T.hash,this},C.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},C.prototype._finish=function(T,w){var S=w,v,O,N;if(T[S>>2]|=128<<(S%4<<3),S>55)for(i(this._hash,T),S=0;S<16;S+=1)T[S]=0;v=this._length*8,v=v.toString(16).match(/(.*?)(.{0,8})$/),O=parseInt(v[2],16),N=parseInt(v[1],16)||0,T[14]=O,T[15]=N,i(this._hash,T)},C.hash=function(T,w){return C.hashBinary(h(T),w)},C.hashBinary=function(T,w){var S=l(T),v=u(S);return w?P(v):v},C.ArrayBuffer=function(){this.reset()},C.ArrayBuffer.prototype.append=function(T){var w=I(this._buff.buffer,T),S=w.length,v;for(this._length+=T.byteLength,v=64;v<=S;v+=64)i(this._hash,o(w.subarray(v-64,v)));return this._buff=v-64<S?new Uint8Array(w.buffer.slice(v-64)):new Uint8Array(0),this},C.ArrayBuffer.prototype.end=function(T){var w=this._buff,S=w.length,v=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],O,N;for(O=0;O<S;O+=1)v[O>>2]|=w[O]<<(O%4<<3);return this._finish(v,S),N=u(this._hash),T&&(N=P(N)),this.reset(),N},C.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},C.ArrayBuffer.prototype.getState=function(){var T=C.prototype.getState.call(this);return T.buff=b(T.buff),T},C.ArrayBuffer.prototype.setState=function(T){return T.buff=g(T.buff,!0),C.prototype.setState.call(this,T)},C.ArrayBuffer.prototype.destroy=C.prototype.destroy,C.ArrayBuffer.prototype._finish=C.prototype._finish,C.ArrayBuffer.hash=function(T,w){var S=c(new Uint8Array(T)),v=u(S);return w?P(v):v},C})})(iR);const vo=er("VirtualFS");class xu extends Error{constructor(e,r){super(r),this.code=e,this.name="PathError"}}function ja(t){if(!t||typeof t!="string")throw new xu("EINVAL","Path must be a non-empty string");let e=t.startsWith("/")?t:"/"+t;const r=e.split("/").filter(n=>n&&n!==".");for(const n of r)if(n==="..")throw new xu("EINVAL","Path traversal (..) is not allowed");return e="/"+r.join("/"),e==="/"?"/":e.replace(/\/$/,"")}function sR(t){const e=ja(t),r=e.lastIndexOf("/");return e.substring(r+1)}function lf(t,e){const r="\0DOUBLESTAR\0",n="\0DOTSTAR\0",s=t.replace(/\*\*/g,r).replace(/[.+^${}()|[\]\\/+]/g,"\\$&").replace(new RegExp(r,"g"),n).replace(/\*/g,"[^\\/]*").replace(/\?/g,"[^\\/]").replace(new RegExp(n,"g"),".*");return new RegExp(`^${s}$`).test(e)}class oR{async read(e,r,n){const i=ja(e);vo.debug("read:",i,"offset:",r,"limit:",n);const o=await fa().fileSystemEntries.get(i);if(!o)throw vo.debug("read: file not found:",i),new xu("ENOENT",`File not found: ${i}`);let l=o.content;if(r!==void 0||n!==void 0){const c=l.split(`
|
|
694
694
|
`),d=r!==void 0?Math.max(0,r-1):0,u=n!==void 0?d+n:c.length;l=c.slice(d,u).join(`
|
|
695
|
-
`)}return vo.debug("read: success, content length:",l.length),l}async write(e,r,n="overwrite",i){const s=ja(e),o=fa(),l=this.inferFileType(s);return o.transaction("rw",o.fileSystemEntries,async()=>{const c=await o.fileSystemEntries.get(s);if(n==="create-new"&&c)return c.content.length;let d=r,u;if(c&&n==="append")d=c.content+r,u={...c.metadata,...i,updatedAt:new Date};else{const g=new Date;if(u={name:sR(s),description:"",createdAt:(c==null?void 0:c.metadata.createdAt)||g,updatedAt:g,...i},l==="function"){const b=this.extractGroupFromPath(s);b&&(u.group=b)}}const h={path:s,type:l,content:d,metadata:u};return await o.fileSystemEntries.put(h),d.length})}async ls(e="/"){const r=ja(e);vo.debug("ls:",r);const n=fa(),i=new Set;if(r==="/"){const s=await n.fileSystemEntries.toCollection().toArray();for(const o of s){const l=o.path.split("/").filter(Boolean);l.length>0&&i.add(l[0])}}else{const s=r+"/",o=await n.fileSystemEntries.where("path").startsWith(s).toArray();for(const l of o){const d=l.path.substring(s.length).split("/");d.length>0&&i.add(d[0])}}return Array.from(i).sort()}async find(e,r="/"){const n=ja(r);vo.debug("find: pattern:",e,"path:",n);const i=fa();let s;if(n==="/")s=await i.fileSystemEntries.toCollection().toArray();else{const l=n+"/";s=await i.fileSystemEntries.where("path").startsWith(l).toArray()}const o=[];for(const l of s){const c=n==="/"?l.path.substring(1):l.path.substring(n.length+1);(lf(e,c)||lf(e,l.path))&&o.push(l.path)}return o.sort()}async grep(e,r="/",n=!1,i=250,s=0,o=0,l=0,c=!0,d="files_with_matches",u=!1,h,g){const b=ja(r);vo.debug("grep: pattern:",e,"path:",b,"caseSensitive:",n,"outputMode:",d);const I=fa();let P;try{const O=(n?"":"i")+"g",N=u?e.replace(/\./g,"[\\s\\S]"):e;P=new RegExp(N,O+(u?"m":""))}catch(O){throw vo.warn("grep: invalid regex pattern:",e,O),new SyntaxError(`Invalid regex pattern: ${e}`)}let C;if(b==="/")C=await I.fileSystemEntries.toCollection().toArray();else{const O=b+"/";C=await I.fileSystemEntries.where("path").startsWith(O).toArray()}g&&(C=C.filter(O=>{var D;return((D=O.path.split(".").pop())==null?void 0:D.toLowerCase())===g.toLowerCase()})),h&&(C=C.filter(O=>{const N=O.path.split("/").pop()||"",D=b==="/"?O.path.substring(1):O.path.substring(b.length+1);return lf(h,N)||lf(h,D)||lf(h,O.path)}));const T=[".git",".svn",".hg",".bzr",".jj",".sl"];if(C=C.filter(O=>!O.path.split("/").some(D=>T.includes(D))),d==="files_with_matches"){const O=[];for(const D of C)P.lastIndex=0,P.test(D.content)&&O.push(D.path);const N=O.slice(s,s+(i||O.length));return{mode:"files_with_matches",filenames:N,numFiles:N.length,appliedLimit:i&&O.length-s>i?i:void 0,appliedOffset:s>0?s:void 0}}if(d==="count"){const O=[];let N=0;for(const B of C){const Q=B.content.match(P),te=Q?Q.length:0;te>0&&(O.push({file:B.path,count:te}),N+=te)}const D=O.slice(s,s+(i||O.length));return{mode:"count",content:D.map(B=>`${B.file}:${B.count}`).join(`
|
|
695
|
+
`)}return vo.debug("read: success, content length:",l.length),l}async write(e,r,n="overwrite",i){const s=ja(e),o=fa(),l=this.inferFileType(s);return o.transaction("rw",o.fileSystemEntries,o.ui_updates,async()=>{const c=await o.fileSystemEntries.get(s);if(n==="create-new"&&c)return c.content.length;let d=r,u;if(c&&n==="append")d=c.content+r,u={...c.metadata,...i,updatedAt:new Date};else{const g=new Date;if(u={name:sR(s),description:"",createdAt:(c==null?void 0:c.metadata.createdAt)||g,updatedAt:g,...i},l==="function"){const b=this.extractGroupFromPath(s);b&&(u.group=b)}}const h={path:s,type:l,content:d,metadata:u};return await o.fileSystemEntries.put(h),d.length})}async ls(e="/"){const r=ja(e);vo.debug("ls:",r);const n=fa(),i=new Set;if(r==="/"){const s=await n.fileSystemEntries.toCollection().toArray();for(const o of s){const l=o.path.split("/").filter(Boolean);l.length>0&&i.add(l[0])}}else{const s=r+"/",o=await n.fileSystemEntries.where("path").startsWith(s).toArray();for(const l of o){const d=l.path.substring(s.length).split("/");d.length>0&&i.add(d[0])}}return Array.from(i).sort()}async find(e,r="/"){const n=ja(r);vo.debug("find: pattern:",e,"path:",n);const i=fa();let s;if(n==="/")s=await i.fileSystemEntries.toCollection().toArray();else{const l=n+"/";s=await i.fileSystemEntries.where("path").startsWith(l).toArray()}const o=[];for(const l of s){const c=n==="/"?l.path.substring(1):l.path.substring(n.length+1);(lf(e,c)||lf(e,l.path))&&o.push(l.path)}return o.sort()}async grep(e,r="/",n=!1,i=250,s=0,o=0,l=0,c=!0,d="files_with_matches",u=!1,h,g){const b=ja(r);vo.debug("grep: pattern:",e,"path:",b,"caseSensitive:",n,"outputMode:",d);const I=fa();let P;try{const O=(n?"":"i")+"g",N=u?e.replace(/\./g,"[\\s\\S]"):e;P=new RegExp(N,O+(u?"m":""))}catch(O){throw vo.warn("grep: invalid regex pattern:",e,O),new SyntaxError(`Invalid regex pattern: ${e}`)}let C;if(b==="/")C=await I.fileSystemEntries.toCollection().toArray();else{const O=b+"/";C=await I.fileSystemEntries.where("path").startsWith(O).toArray()}g&&(C=C.filter(O=>{var D;return((D=O.path.split(".").pop())==null?void 0:D.toLowerCase())===g.toLowerCase()})),h&&(C=C.filter(O=>{const N=O.path.split("/").pop()||"",D=b==="/"?O.path.substring(1):O.path.substring(b.length+1);return lf(h,N)||lf(h,D)||lf(h,O.path)}));const T=[".git",".svn",".hg",".bzr",".jj",".sl"];if(C=C.filter(O=>!O.path.split("/").some(D=>T.includes(D))),d==="files_with_matches"){const O=[];for(const D of C)P.lastIndex=0,P.test(D.content)&&O.push(D.path);const N=O.slice(s,s+(i||O.length));return{mode:"files_with_matches",filenames:N,numFiles:N.length,appliedLimit:i&&O.length-s>i?i:void 0,appliedOffset:s>0?s:void 0}}if(d==="count"){const O=[];let N=0;for(const B of C){const Q=B.content.match(P),te=Q?Q.length:0;te>0&&(O.push({file:B.path,count:te}),N+=te)}const D=O.slice(s,s+(i||O.length));return{mode:"count",content:D.map(B=>`${B.file}:${B.count}`).join(`
|
|
696
696
|
`),numFiles:D.length,numMatches:N,appliedLimit:i&&O.length-s>i?i:void 0,appliedOffset:s>0?s:void 0}}const w=[];for(const O of C){if(u){P.lastIndex=0;let D;for(;(D=P.exec(O.content))!==null;){const Q=O.content.substring(0,D.index).split(`
|
|
697
697
|
`).length-1,te=D[0],F=Q+te.split(`
|
|
698
698
|
`).length-1,K=O.content.split(`
|
|
699
699
|
`),ge=Math.max(0,Q-o),Ie=Math.min(K.length-1,F+l);for(let qe=ge;qe<=Ie;qe++)w.push({file:O.path,lineNumber:qe+1,line:K[qe]});D[0].length===0&&P.lastIndex++}continue}const N=O.content.split(`
|
|
700
700
|
`);for(let D=0;D<N.length;D++){const B=N[D];if(P.lastIndex=0,P.test(B)){const Q=Math.max(0,D-o),te=Math.min(N.length-1,D+l);for(let F=Q;F<=te;F++)w.push({file:O.path,lineNumber:F+1,line:N[F]})}}}const v=w.slice(s,s+(i||w.length)).map(O=>{const N=c?`${O.lineNumber}:`:"";return`${O.file}:${N}${O.line}`});return{mode:"content",content:v.join(`
|
|
701
|
-
`),numLines:v.length,filenames:[],numFiles:0,appliedLimit:i&&w.length-s>i?i:void 0,appliedOffset:s>0?s:void 0}}async queryByType(e){return fa().fileSystemEntries.where("type").equals(e).toArray()}async edit(e,r,n,i=!1){const s=ja(e);vo.debug("edit:",s,"replaceAll:",i);const o=fa();if(r==="")throw new Error("old_string must not be empty");if(r===n)throw new Error("No changes to make: old_string and new_string are exactly the same");return o.transaction("rw",o.fileSystemEntries,async()=>{const l=await o.fileSystemEntries.get(s);if(!l)throw new xu("ENOENT",`File not found: ${s}`);const c=l.content;let d=0,u=0;for(;;){const b=c.indexOf(r,u);if(b===-1)break;d++,u=b+r.length}if(d===0)throw new Error(`String to replace not found in file.
|
|
702
|
-
String: ${r}`);if(d>1&&!i)throw new Error(`Found ${d} matches of the string to replace, but replace_all is false. Either provide more context to make the match unique, or set replace_all to true.`);const h=i?c.split(r).join(n):c.replace(r,n),g={...l.metadata,updatedAt:new Date};return await o.fileSystemEntries.put({...l,content:h,metadata:g}),vo.debug("edit: success, replaced:",i?d:1),{replaced:i?d:1}})}async exists(e){const r=ja(e);return await fa().fileSystemEntries.get(r)!==void 0}async remove(e){const r=ja(e);vo.debug("remove:",r);const n=fa();await n.transaction("rw",n.fileSystemEntries,async()=>{if(!await n.fileSystemEntries.get(r))throw vo.debug("remove: file not found:",r),new xu("ENOENT",`File not found: ${r}`);await n.fileSystemEntries.delete(r)}),vo.debug("remove: success:",r)}inferFileType(e){return e.startsWith("/functions/")?"function":e.startsWith("/scenarios/")?"scenario":e.startsWith("/scripts/")?"script":(e.endsWith("/INDEX.md")||e==="/AGENT.md","index")}extractGroupFromPath(e){const r=e.split("/").filter(Boolean);if(r.length>=3&&r[0]==="functions")return r[1]}}const Vr=new oR,aR=er("PermissionChecker"),lR={ls:{manual:"allow",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},read:{manual:"allow",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},find:{manual:"allow",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},grep:{manual:"allow",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},write:{manual:"confirm",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},edit:{manual:"confirm",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},script:{manual:"confirm",edit:"confirm",plan:"confirm",auto:"confirm",bypass:"allow"},askUser:{manual:"confirm",edit:"confirm",plan:"confirm",auto:"confirm",bypass:"allow"}};class cR{check(e,r){const n=lR[e];return n?n[r]:(aR.warn(`Unknown tool: ${e}, requiring confirm`),"confirm")}needsConfirm(e,r){return this.check(e,r)==="confirm"}isAllowed(e,r){return this.check(e,r)==="allow"}}const uR=new cR;var Lb={},cf={},_o={},Bb={},uf={},Th={},Eh={},Ge={},Ah={},ST;function Fb(){if(ST)return Ah;ST=1,Object.defineProperty(Ah,"__esModule",{value:!0}),Ah.default=t;function t(e,r){const n=Object.keys(r);for(const i of n)if(e[i]!==r[i])return!1;return!0}return Ah}var Ph={},TT;function df(){if(TT)return Ph;TT=1,Object.defineProperty(Ph,"__esModule",{value:!0}),Ph.default=e;const t=new Set;function e(n,i,s="",o=n){if(t.has(o))return;t.add(o);const{internal:l,trace:c}=r(1,2);l||console.warn(`${s}\`${n}\` has been deprecated, please migrate to \`${i}\`
|
|
701
|
+
`),numLines:v.length,filenames:[],numFiles:0,appliedLimit:i&&w.length-s>i?i:void 0,appliedOffset:s>0?s:void 0}}async queryByType(e){return fa().fileSystemEntries.where("type").equals(e).toArray()}async edit(e,r,n,i=!1){const s=ja(e);vo.debug("edit:",s,"replaceAll:",i);const o=fa();if(r==="")throw new Error("old_string must not be empty");if(r===n)throw new Error("No changes to make: old_string and new_string are exactly the same");return o.transaction("rw",o.fileSystemEntries,o.ui_updates,async()=>{const l=await o.fileSystemEntries.get(s);if(!l)throw new xu("ENOENT",`File not found: ${s}`);const c=l.content;let d=0,u=0;for(;;){const b=c.indexOf(r,u);if(b===-1)break;d++,u=b+r.length}if(d===0)throw new Error(`String to replace not found in file.
|
|
702
|
+
String: ${r}`);if(d>1&&!i)throw new Error(`Found ${d} matches of the string to replace, but replace_all is false. Either provide more context to make the match unique, or set replace_all to true.`);const h=i?c.split(r).join(n):c.replace(r,n),g={...l.metadata,updatedAt:new Date};return await o.fileSystemEntries.put({...l,content:h,metadata:g}),vo.debug("edit: success, replaced:",i?d:1),{replaced:i?d:1}})}async exists(e){const r=ja(e);return await fa().fileSystemEntries.get(r)!==void 0}async remove(e){const r=ja(e);vo.debug("remove:",r);const n=fa();await n.transaction("rw",n.fileSystemEntries,n.ui_updates,async()=>{if(!await n.fileSystemEntries.get(r))throw vo.debug("remove: file not found:",r),new xu("ENOENT",`File not found: ${r}`);await n.fileSystemEntries.delete(r)}),vo.debug("remove: success:",r)}inferFileType(e){return e.startsWith("/functions/")?"function":e.startsWith("/scenarios/")?"scenario":e.startsWith("/scripts/")?"script":(e.endsWith("/INDEX.md")||e==="/AGENT.md","index")}extractGroupFromPath(e){const r=e.split("/").filter(Boolean);if(r.length>=3&&r[0]==="functions")return r[1]}}const Vr=new oR,aR=er("PermissionChecker"),lR={ls:{manual:"allow",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},read:{manual:"allow",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},find:{manual:"allow",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},grep:{manual:"allow",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},write:{manual:"confirm",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},edit:{manual:"confirm",edit:"allow",plan:"allow",auto:"allow",bypass:"allow"},script:{manual:"confirm",edit:"confirm",plan:"confirm",auto:"confirm",bypass:"allow"},askUser:{manual:"confirm",edit:"confirm",plan:"confirm",auto:"confirm",bypass:"allow"}};class cR{check(e,r){const n=lR[e];return n?n[r]:(aR.warn(`Unknown tool: ${e}, requiring confirm`),"confirm")}needsConfirm(e,r){return this.check(e,r)==="confirm"}isAllowed(e,r){return this.check(e,r)==="allow"}}const uR=new cR;var Lb={},cf={},_o={},Bb={},uf={},Th={},Eh={},Ge={},Ah={},ST;function Fb(){if(ST)return Ah;ST=1,Object.defineProperty(Ah,"__esModule",{value:!0}),Ah.default=t;function t(e,r){const n=Object.keys(r);for(const i of n)if(e[i]!==r[i])return!1;return!0}return Ah}var Ph={},TT;function df(){if(TT)return Ph;TT=1,Object.defineProperty(Ph,"__esModule",{value:!0}),Ph.default=e;const t=new Set;function e(n,i,s="",o=n){if(t.has(o))return;t.add(o);const{internal:l,trace:c}=r(1,2);l||console.warn(`${s}\`${n}\` has been deprecated, please migrate to \`${i}\`
|
|
703
703
|
${c}`)}function r(n,i){const{stackTraceLimit:s,prepareStackTrace:o}=Error;let l;if(Error.stackTraceLimit=1+n+i,Error.prepareStackTrace=function(d,u){l=u},new Error().stack,Error.stackTraceLimit=s,Error.prepareStackTrace=o,!l)return{internal:!1,trace:""};const c=l.slice(1+n,1+n+i);return{internal:/[\\/]@babel[\\/]/.test(c[1].getFileName()),trace:c.map(d=>` at ${d}`).join(`
|
|
704
704
|
`)}}return Ph}var ET;function di(){if(ET)return Ge;ET=1,Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.isAccessor=qw,Ge.isAnyTypeAnnotation=Rn,Ge.isArgumentPlaceholder=ms,Ge.isArrayExpression=r,Ge.isArrayPattern=Je,Ge.isArrayTypeAnnotation=Qr,Ge.isArrowFunctionExpression=ot,Ge.isAssignmentExpression=n,Ge.isAssignmentPattern=Ve,Ge.isAwaitExpression=Be,Ge.isBigIntLiteral=Lt,Ge.isBinary=Ut,Ge.isBinaryExpression=i,Ge.isBindExpression=Ro,Ge.isBlock=Mr,Ge.isBlockParent=Er,Ge.isBlockStatement=c,Ge.isBooleanLiteral=ge,Ge.isBooleanLiteralTypeAnnotation=Vi,Ge.isBooleanTypeAnnotation=ar,Ge.isBreakStatement=d,Ge.isCallExpression=u,Ge.isCatchClause=h,Ge.isClass=Fw,Ge.isClassAccessorProperty=Pr,Ge.isClassBody=Dt,Ge.isClassDeclaration=ze,Ge.isClassExpression=Ct,Ge.isClassImplements=vn,Ge.isClassMethod=ct,Ge.isClassPrivateMethod=bn,Ge.isClassPrivateProperty=Dr,Ge.isClassProperty=xr,Ge.isCompletionStatement=U,Ge.isConditional=J,Ge.isConditionalExpression=g,Ge.isContinueStatement=b,Ge.isDebuggerStatement=I,Ge.isDecimalLiteral=fo,Ge.isDeclaration=Ew,Ge.isDeclareClass=fr,Ge.isDeclareExportAllDeclaration=hi,Ge.isDeclareExportDeclaration=un,Ge.isDeclareFunction=Fn,Ge.isDeclareInterface=en,Ge.isDeclareModule=kn,Ge.isDeclareModuleExports=Qi,Ge.isDeclareOpaqueType=Hn,Ge.isDeclareTypeAlias=wn,Ge.isDeclareVariable=es,Ge.isDeclaredPredicate=ei,Ge.isDecorator=aa,Ge.isDirective=o,Ge.isDirectiveLiteral=l,Ge.isDoExpression=Gi,Ge.isDoWhileStatement=P,Ge.isEmptyStatement=C,Ge.isEmptyTypeAnnotation=rs,Ge.isEnumBody=Gw,Ge.isEnumBooleanBody=ur,Ge.isEnumBooleanMember=dn,Ge.isEnumDeclaration=Zt,Ge.isEnumDefaultedMember=js,Ge.isEnumMember=Yw,Ge.isEnumNumberBody=Rr,Ge.isEnumNumberMember=Ts,Ge.isEnumStringBody=Jr,Ge.isEnumStringMember=tn,Ge.isEnumSymbolBody=En,Ge.isExistsTypeAnnotation=wi,Ge.isExportAllDeclaration=Fe,Ge.isExportDeclaration=jw,Ge.isExportDefaultDeclaration=_e,Ge.isExportDefaultSpecifier=Cs,Ge.isExportNamedDeclaration=de,Ge.isExportNamespaceSpecifier=Bt,Ge.isExportSpecifier=ue,Ge.isExpression=pr,Ge.isExpressionStatement=T,Ge.isExpressionWrapper=At,Ge.isFile=w,Ge.isFlow=zw,Ge.isFlowBaseAnnotation=Ww,Ge.isFlowDeclaration=Hw,Ge.isFlowPredicate=Kw,Ge.isFlowType=Vw,Ge.isFor=lr,Ge.isForInStatement=S,Ge.isForOfStatement=Y,Ge.isForStatement=v,Ge.isForXStatement=hn,Ge.isFunction=bi,Ge.isFunctionDeclaration=O,Ge.isFunctionExpression=N,Ge.isFunctionParameter=Aw,Ge.isFunctionParent=jo,Ge.isFunctionTypeAnnotation=zn,Ge.isFunctionTypeParam=In,Ge.isGenericTypeAnnotation=Ni,Ge.isIdentifier=D,Ge.isIfStatement=B,Ge.isImmutable=Ow,Ge.isImport=Tt,Ge.isImportAttribute=Cn,Ge.isImportDeclaration=xe,Ge.isImportDefaultSpecifier=Ke,Ge.isImportExpression=q,Ge.isImportNamespaceSpecifier=Z,Ge.isImportOrExportDeclaration=k0,Ge.isImportSpecifier=L,Ge.isIndexedAccessType=oo,Ge.isInferredPredicate=Kn,Ge.isInterfaceDeclaration=ts,Ge.isInterfaceExtends=ti,Ge.isInterfaceTypeAnnotation=Si,Ge.isInterpreterDirective=s,Ge.isIntersectionTypeAnnotation=Or,Ge.isJSX=Jw,Ge.isJSXAttribute=Hi,Ge.isJSXClosingElement=$s,Ge.isJSXClosingFragment=co,Ge.isJSXElement=qs,Ge.isJSXEmptyExpression=No,Ge.isJSXExpressionContainer=Es,Ge.isJSXFragment=Do,Ge.isJSXIdentifier=lo,Ge.isJSXMemberExpression=As,Ge.isJSXNamespacedName=ns,Ge.isJSXOpeningElement=Us,Ge.isJSXOpeningFragment=zs,Ge.isJSXSpreadAttribute=oa,Ge.isJSXSpreadChild=ao,Ge.isJSXText=Ki,Ge.isLVal=Cw,Ge.isLabeledStatement=Q,Ge.isLiteral=Iw,Ge.isLogicalExpression=qe,Ge.isLoop=Ee,Ge.isMemberExpression=Pe,Ge.isMetaProperty=Le,Ge.isMethod=Dw,Ge.isMiscellaneous=Xw,Ge.isMixedTypeAnnotation=xs,Ge.isModuleDeclaration=oS,Ge.isModuleExpression=Hs,Ge.isModuleSpecifier=$w,Ge.isNewExpression=he,Ge.isNoop=Vs,Ge.isNullLiteral=K,Ge.isNullLiteralTypeAnnotation=Un,Ge.isNullableTypeAnnotation=mi,Ge.isNumberLiteral=rS,Ge.isNumberLiteralTypeAnnotation=Sn,Ge.isNumberTypeAnnotation=ps,Ge.isNumericLiteral=F,Ge.isObjectExpression=G,Ge.isObjectMember=Rw,Ge.isObjectMethod=re,Ge.isObjectPattern=nt,Ge.isObjectProperty=ye,Ge.isObjectTypeAnnotation=Di,Ge.isObjectTypeCallProperty=$r,Ge.isObjectTypeIndexer=_n,Ge.isObjectTypeInternalSlot=Ri,Ge.isObjectTypeProperty=Gn,Ge.isObjectTypeSpreadProperty=Yn,Ge.isOpaqueType=Wi,Ge.isOptionalCallExpression=mr,Ge.isOptionalIndexedAccessType=tr,Ge.isOptionalMemberExpression=ir,Ge.isParenthesizedExpression=ne,Ge.isPattern=Bw,Ge.isPatternLike=Pw,Ge.isPipelineBareFunction=ii,Ge.isPipelinePrimaryTopicReference=po,Ge.isPipelineTopicExpression=gi,Ge.isPlaceholder=Ps,Ge.isPrivate=Uw,Ge.isPrivateName=Cr,Ge.isProgram=me,Ge.isProperty=Mw,Ge.isPureish=Tw,Ge.isQualifiedTypeIdentifier=jn,Ge.isRecordExpression=uo,Ge.isRegExpLiteral=Ie,Ge.isRegexLiteral=nS,Ge.isRestElement=le,Ge.isRestProperty=iS,Ge.isReturnStatement=V,Ge.isScopable=Tr,Ge.isSequenceExpression=$,Ge.isSpreadElement=gt,Ge.isSpreadProperty=sS,Ge.isStandardized=Yt,Ge.isStatement=Kr,Ge.isStaticBlock=jr,Ge.isStringLiteral=te,Ge.isStringLiteralTypeAnnotation=ri,Ge.isStringTypeAnnotation=hs,Ge.isSuper=ae,Ge.isSwitchCase=ce,Ge.isSwitchStatement=Se,Ge.isSymbolTypeAnnotation=ni,Ge.isTSAnyKeyword=rt,Ge.isTSArrayType=Is,Ge.isTSAsExpression=je,Ge.isTSBaseType=tS,Ge.isTSBigIntKeyword=Ot,Ge.isTSBooleanKeyword=pt,Ge.isTSCallSignatureDeclaration=y,Ge.isTSConditionalType=ve,Ge.isTSConstructSignatureDeclaration=M,Ge.isTSConstructorType=mo,Ge.isTSDeclareFunction=f,Ge.isTSDeclareMethod=a,Ge.isTSEntityName=kw,Ge.isTSEnumBody=ft,Ge.isTSEnumDeclaration=dt,Ge.isTSEnumMember=yt,Ge.isTSExportAssignment=Rt,Ge.isTSExpressionWithTypeArguments=j,Ge.isTSExternalModuleReference=It,Ge.isTSFunctionType=Ks,Ge.isTSImportEqualsDeclaration=St,Ge.isTSImportType=xt,Ge.isTSIndexSignature=He,Ge.isTSIndexedAccessType=ht,Ge.isTSInferType=De,Ge.isTSInstantiationExpression=Oe,Ge.isTSInterfaceBody=ie,Ge.isTSInterfaceDeclaration=z,Ge.isTSIntersectionType=se,Ge.isTSIntrinsicKeyword=$t,Ge.isTSLiteralType=k,Ge.isTSMappedType=st,Ge.isTSMethodSignature=ke,Ge.isTSModuleBlock=_t,Ge.isTSModuleDeclaration=bt,Ge.isTSNamedTupleMember=R,Ge.isTSNamespaceExportDeclaration=qt,Ge.isTSNeverKeyword=Wt,Ge.isTSNonNullExpression=kt,Ge.isTSNullKeyword=nr,Ge.isTSNumberKeyword=Br,Ge.isTSObjectKeyword=ln,Ge.isTSOptionalType=A,Ge.isTSParameterProperty=oe,Ge.isTSParenthesizedType=$e,Ge.isTSPropertySignature=fe,Ge.isTSQualifiedName=p,Ge.isTSRestType=E,Ge.isTSSatisfiesExpression=ut,Ge.isTSStringKeyword=vr,Ge.isTSSymbolKeyword=Ur,Ge.isTSTemplateLiteralType=_,Ge.isTSThisType=ho,Ge.isTSTupleType=Ti,Ge.isTSType=eS,Ge.isTSTypeAliasDeclaration=we,Ge.isTSTypeAnnotation=Vt,Ge.isTSTypeAssertion=vt,Ge.isTSTypeElement=Qw,Ge.isTSTypeLiteral=Fo,Ge.isTSTypeOperator=et,Ge.isTSTypeParameter=dr,Ge.isTSTypeParameterDeclaration=Ht,Ge.isTSTypeParameterInstantiation=Jt,Ge.isTSTypePredicate=Lo,Ge.isTSTypeQuery=Bo,Ge.isTSTypeReference=go,Ge.isTSUndefinedKeyword=Li,Ge.isTSUnionType=H,Ge.isTSUnknownKeyword=yi,Ge.isTSVoidKeyword=Mo,Ge.isTaggedTemplateExpression=Ce,Ge.isTemplateElement=ee,Ge.isTemplateLiteral=Re,Ge.isTerminatorless=W,Ge.isThisExpression=Ae,Ge.isThisTypeAnnotation=ws,Ge.isThrowStatement=Ne,Ge.isTopicReference=An,Ge.isTryStatement=Xe,Ge.isTupleExpression=Ws,Ge.isTupleTypeAnnotation=Jn,Ge.isTypeAlias=Fs,Ge.isTypeAnnotation=Ss,Ge.isTypeCastExpression=Mi,Ge.isTypeParameter=On,Ge.isTypeParameterDeclaration=jt,Ge.isTypeParameterInstantiation=Ze,Ge.isTypeScript=Zw,Ge.isTypeofTypeAnnotation=qr,Ge.isUnaryExpression=be,Ge.isUnaryLike=Lw,Ge.isUnionTypeAnnotation=Et,Ge.isUpdateExpression=Te,Ge.isUserWhitespacable=Nw,Ge.isV8IntrinsicIdentifier=Nn,Ge.isVariableDeclaration=lt,Ge.isVariableDeclarator=it,Ge.isVariance=Ft,Ge.isVoidPattern=ks,Ge.isVoidTypeAnnotation=Qt,Ge.isWhile=tt,Ge.isWhileStatement=Pt,Ge.isWithStatement=We,Ge.isYieldExpression=mt;var t=Fb(),e=df();function r(x,m){return!x||x.type!=="ArrayExpression"?!1:m==null||(0,t.default)(x,m)}function n(x,m){return!x||x.type!=="AssignmentExpression"?!1:m==null||(0,t.default)(x,m)}function i(x,m){return!x||x.type!=="BinaryExpression"?!1:m==null||(0,t.default)(x,m)}function s(x,m){return!x||x.type!=="InterpreterDirective"?!1:m==null||(0,t.default)(x,m)}function o(x,m){return!x||x.type!=="Directive"?!1:m==null||(0,t.default)(x,m)}function l(x,m){return!x||x.type!=="DirectiveLiteral"?!1:m==null||(0,t.default)(x,m)}function c(x,m){return!x||x.type!=="BlockStatement"?!1:m==null||(0,t.default)(x,m)}function d(x,m){return!x||x.type!=="BreakStatement"?!1:m==null||(0,t.default)(x,m)}function u(x,m){return!x||x.type!=="CallExpression"?!1:m==null||(0,t.default)(x,m)}function h(x,m){return!x||x.type!=="CatchClause"?!1:m==null||(0,t.default)(x,m)}function g(x,m){return!x||x.type!=="ConditionalExpression"?!1:m==null||(0,t.default)(x,m)}function b(x,m){return!x||x.type!=="ContinueStatement"?!1:m==null||(0,t.default)(x,m)}function I(x,m){return!x||x.type!=="DebuggerStatement"?!1:m==null||(0,t.default)(x,m)}function P(x,m){return!x||x.type!=="DoWhileStatement"?!1:m==null||(0,t.default)(x,m)}function C(x,m){return!x||x.type!=="EmptyStatement"?!1:m==null||(0,t.default)(x,m)}function T(x,m){return!x||x.type!=="ExpressionStatement"?!1:m==null||(0,t.default)(x,m)}function w(x,m){return!x||x.type!=="File"?!1:m==null||(0,t.default)(x,m)}function S(x,m){return!x||x.type!=="ForInStatement"?!1:m==null||(0,t.default)(x,m)}function v(x,m){return!x||x.type!=="ForStatement"?!1:m==null||(0,t.default)(x,m)}function O(x,m){return!x||x.type!=="FunctionDeclaration"?!1:m==null||(0,t.default)(x,m)}function N(x,m){return!x||x.type!=="FunctionExpression"?!1:m==null||(0,t.default)(x,m)}function D(x,m){return!x||x.type!=="Identifier"?!1:m==null||(0,t.default)(x,m)}function B(x,m){return!x||x.type!=="IfStatement"?!1:m==null||(0,t.default)(x,m)}function Q(x,m){return!x||x.type!=="LabeledStatement"?!1:m==null||(0,t.default)(x,m)}function te(x,m){return!x||x.type!=="StringLiteral"?!1:m==null||(0,t.default)(x,m)}function F(x,m){return!x||x.type!=="NumericLiteral"?!1:m==null||(0,t.default)(x,m)}function K(x,m){return!x||x.type!=="NullLiteral"?!1:m==null||(0,t.default)(x,m)}function ge(x,m){return!x||x.type!=="BooleanLiteral"?!1:m==null||(0,t.default)(x,m)}function Ie(x,m){return!x||x.type!=="RegExpLiteral"?!1:m==null||(0,t.default)(x,m)}function qe(x,m){return!x||x.type!=="LogicalExpression"?!1:m==null||(0,t.default)(x,m)}function Pe(x,m){return!x||x.type!=="MemberExpression"?!1:m==null||(0,t.default)(x,m)}function he(x,m){return!x||x.type!=="NewExpression"?!1:m==null||(0,t.default)(x,m)}function me(x,m){return!x||x.type!=="Program"?!1:m==null||(0,t.default)(x,m)}function G(x,m){return!x||x.type!=="ObjectExpression"?!1:m==null||(0,t.default)(x,m)}function re(x,m){return!x||x.type!=="ObjectMethod"?!1:m==null||(0,t.default)(x,m)}function ye(x,m){return!x||x.type!=="ObjectProperty"?!1:m==null||(0,t.default)(x,m)}function le(x,m){return!x||x.type!=="RestElement"?!1:m==null||(0,t.default)(x,m)}function V(x,m){return!x||x.type!=="ReturnStatement"?!1:m==null||(0,t.default)(x,m)}function $(x,m){return!x||x.type!=="SequenceExpression"?!1:m==null||(0,t.default)(x,m)}function ne(x,m){return!x||x.type!=="ParenthesizedExpression"?!1:m==null||(0,t.default)(x,m)}function ce(x,m){return!x||x.type!=="SwitchCase"?!1:m==null||(0,t.default)(x,m)}function Se(x,m){return!x||x.type!=="SwitchStatement"?!1:m==null||(0,t.default)(x,m)}function Ae(x,m){return!x||x.type!=="ThisExpression"?!1:m==null||(0,t.default)(x,m)}function Ne(x,m){return!x||x.type!=="ThrowStatement"?!1:m==null||(0,t.default)(x,m)}function Xe(x,m){return!x||x.type!=="TryStatement"?!1:m==null||(0,t.default)(x,m)}function be(x,m){return!x||x.type!=="UnaryExpression"?!1:m==null||(0,t.default)(x,m)}function Te(x,m){return!x||x.type!=="UpdateExpression"?!1:m==null||(0,t.default)(x,m)}function lt(x,m){return!x||x.type!=="VariableDeclaration"?!1:m==null||(0,t.default)(x,m)}function it(x,m){return!x||x.type!=="VariableDeclarator"?!1:m==null||(0,t.default)(x,m)}function Pt(x,m){return!x||x.type!=="WhileStatement"?!1:m==null||(0,t.default)(x,m)}function We(x,m){return!x||x.type!=="WithStatement"?!1:m==null||(0,t.default)(x,m)}function Ve(x,m){return!x||x.type!=="AssignmentPattern"?!1:m==null||(0,t.default)(x,m)}function Je(x,m){return!x||x.type!=="ArrayPattern"?!1:m==null||(0,t.default)(x,m)}function ot(x,m){return!x||x.type!=="ArrowFunctionExpression"?!1:m==null||(0,t.default)(x,m)}function Dt(x,m){return!x||x.type!=="ClassBody"?!1:m==null||(0,t.default)(x,m)}function Ct(x,m){return!x||x.type!=="ClassExpression"?!1:m==null||(0,t.default)(x,m)}function ze(x,m){return!x||x.type!=="ClassDeclaration"?!1:m==null||(0,t.default)(x,m)}function Fe(x,m){return!x||x.type!=="ExportAllDeclaration"?!1:m==null||(0,t.default)(x,m)}function _e(x,m){return!x||x.type!=="ExportDefaultDeclaration"?!1:m==null||(0,t.default)(x,m)}function de(x,m){return!x||x.type!=="ExportNamedDeclaration"?!1:m==null||(0,t.default)(x,m)}function ue(x,m){return!x||x.type!=="ExportSpecifier"?!1:m==null||(0,t.default)(x,m)}function Y(x,m){return!x||x.type!=="ForOfStatement"?!1:m==null||(0,t.default)(x,m)}function xe(x,m){return!x||x.type!=="ImportDeclaration"?!1:m==null||(0,t.default)(x,m)}function Ke(x,m){return!x||x.type!=="ImportDefaultSpecifier"?!1:m==null||(0,t.default)(x,m)}function Z(x,m){return!x||x.type!=="ImportNamespaceSpecifier"?!1:m==null||(0,t.default)(x,m)}function L(x,m){return!x||x.type!=="ImportSpecifier"?!1:m==null||(0,t.default)(x,m)}function q(x,m){return!x||x.type!=="ImportExpression"?!1:m==null||(0,t.default)(x,m)}function Le(x,m){return!x||x.type!=="MetaProperty"?!1:m==null||(0,t.default)(x,m)}function ct(x,m){return!x||x.type!=="ClassMethod"?!1:m==null||(0,t.default)(x,m)}function nt(x,m){return!x||x.type!=="ObjectPattern"?!1:m==null||(0,t.default)(x,m)}function gt(x,m){return!x||x.type!=="SpreadElement"?!1:m==null||(0,t.default)(x,m)}function ae(x,m){return!x||x.type!=="Super"?!1:m==null||(0,t.default)(x,m)}function Ce(x,m){return!x||x.type!=="TaggedTemplateExpression"?!1:m==null||(0,t.default)(x,m)}function ee(x,m){return!x||x.type!=="TemplateElement"?!1:m==null||(0,t.default)(x,m)}function Re(x,m){return!x||x.type!=="TemplateLiteral"?!1:m==null||(0,t.default)(x,m)}function mt(x,m){return!x||x.type!=="YieldExpression"?!1:m==null||(0,t.default)(x,m)}function Be(x,m){return!x||x.type!=="AwaitExpression"?!1:m==null||(0,t.default)(x,m)}function Tt(x,m){return!x||x.type!=="Import"?!1:m==null||(0,t.default)(x,m)}function Lt(x,m){return!x||x.type!=="BigIntLiteral"?!1:m==null||(0,t.default)(x,m)}function Bt(x,m){return!x||x.type!=="ExportNamespaceSpecifier"?!1:m==null||(0,t.default)(x,m)}function ir(x,m){return!x||x.type!=="OptionalMemberExpression"?!1:m==null||(0,t.default)(x,m)}function mr(x,m){return!x||x.type!=="OptionalCallExpression"?!1:m==null||(0,t.default)(x,m)}function xr(x,m){return!x||x.type!=="ClassProperty"?!1:m==null||(0,t.default)(x,m)}function Pr(x,m){return!x||x.type!=="ClassAccessorProperty"?!1:m==null||(0,t.default)(x,m)}function Dr(x,m){return!x||x.type!=="ClassPrivateProperty"?!1:m==null||(0,t.default)(x,m)}function bn(x,m){return!x||x.type!=="ClassPrivateMethod"?!1:m==null||(0,t.default)(x,m)}function Cr(x,m){return!x||x.type!=="PrivateName"?!1:m==null||(0,t.default)(x,m)}function jr(x,m){return!x||x.type!=="StaticBlock"?!1:m==null||(0,t.default)(x,m)}function Cn(x,m){return!x||x.type!=="ImportAttribute"?!1:m==null||(0,t.default)(x,m)}function Rn(x,m){return!x||x.type!=="AnyTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Qr(x,m){return!x||x.type!=="ArrayTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function ar(x,m){return!x||x.type!=="BooleanTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Vi(x,m){return!x||x.type!=="BooleanLiteralTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Un(x,m){return!x||x.type!=="NullLiteralTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function vn(x,m){return!x||x.type!=="ClassImplements"?!1:m==null||(0,t.default)(x,m)}function fr(x,m){return!x||x.type!=="DeclareClass"?!1:m==null||(0,t.default)(x,m)}function Fn(x,m){return!x||x.type!=="DeclareFunction"?!1:m==null||(0,t.default)(x,m)}function en(x,m){return!x||x.type!=="DeclareInterface"?!1:m==null||(0,t.default)(x,m)}function kn(x,m){return!x||x.type!=="DeclareModule"?!1:m==null||(0,t.default)(x,m)}function Qi(x,m){return!x||x.type!=="DeclareModuleExports"?!1:m==null||(0,t.default)(x,m)}function wn(x,m){return!x||x.type!=="DeclareTypeAlias"?!1:m==null||(0,t.default)(x,m)}function Hn(x,m){return!x||x.type!=="DeclareOpaqueType"?!1:m==null||(0,t.default)(x,m)}function es(x,m){return!x||x.type!=="DeclareVariable"?!1:m==null||(0,t.default)(x,m)}function un(x,m){return!x||x.type!=="DeclareExportDeclaration"?!1:m==null||(0,t.default)(x,m)}function hi(x,m){return!x||x.type!=="DeclareExportAllDeclaration"?!1:m==null||(0,t.default)(x,m)}function ei(x,m){return!x||x.type!=="DeclaredPredicate"?!1:m==null||(0,t.default)(x,m)}function wi(x,m){return!x||x.type!=="ExistsTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function zn(x,m){return!x||x.type!=="FunctionTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function In(x,m){return!x||x.type!=="FunctionTypeParam"?!1:m==null||(0,t.default)(x,m)}function Ni(x,m){return!x||x.type!=="GenericTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Kn(x,m){return!x||x.type!=="InferredPredicate"?!1:m==null||(0,t.default)(x,m)}function ti(x,m){return!x||x.type!=="InterfaceExtends"?!1:m==null||(0,t.default)(x,m)}function ts(x,m){return!x||x.type!=="InterfaceDeclaration"?!1:m==null||(0,t.default)(x,m)}function Si(x,m){return!x||x.type!=="InterfaceTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Or(x,m){return!x||x.type!=="IntersectionTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function xs(x,m){return!x||x.type!=="MixedTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function rs(x,m){return!x||x.type!=="EmptyTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function mi(x,m){return!x||x.type!=="NullableTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Sn(x,m){return!x||x.type!=="NumberLiteralTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function ps(x,m){return!x||x.type!=="NumberTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Di(x,m){return!x||x.type!=="ObjectTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Ri(x,m){return!x||x.type!=="ObjectTypeInternalSlot"?!1:m==null||(0,t.default)(x,m)}function $r(x,m){return!x||x.type!=="ObjectTypeCallProperty"?!1:m==null||(0,t.default)(x,m)}function _n(x,m){return!x||x.type!=="ObjectTypeIndexer"?!1:m==null||(0,t.default)(x,m)}function Gn(x,m){return!x||x.type!=="ObjectTypeProperty"?!1:m==null||(0,t.default)(x,m)}function Yn(x,m){return!x||x.type!=="ObjectTypeSpreadProperty"?!1:m==null||(0,t.default)(x,m)}function Wi(x,m){return!x||x.type!=="OpaqueType"?!1:m==null||(0,t.default)(x,m)}function jn(x,m){return!x||x.type!=="QualifiedTypeIdentifier"?!1:m==null||(0,t.default)(x,m)}function ri(x,m){return!x||x.type!=="StringLiteralTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function hs(x,m){return!x||x.type!=="StringTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function ni(x,m){return!x||x.type!=="SymbolTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function ws(x,m){return!x||x.type!=="ThisTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Jn(x,m){return!x||x.type!=="TupleTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function qr(x,m){return!x||x.type!=="TypeofTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Fs(x,m){return!x||x.type!=="TypeAlias"?!1:m==null||(0,t.default)(x,m)}function Ss(x,m){return!x||x.type!=="TypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Mi(x,m){return!x||x.type!=="TypeCastExpression"?!1:m==null||(0,t.default)(x,m)}function On(x,m){return!x||x.type!=="TypeParameter"?!1:m==null||(0,t.default)(x,m)}function jt(x,m){return!x||x.type!=="TypeParameterDeclaration"?!1:m==null||(0,t.default)(x,m)}function Ze(x,m){return!x||x.type!=="TypeParameterInstantiation"?!1:m==null||(0,t.default)(x,m)}function Et(x,m){return!x||x.type!=="UnionTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Ft(x,m){return!x||x.type!=="Variance"?!1:m==null||(0,t.default)(x,m)}function Qt(x,m){return!x||x.type!=="VoidTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Zt(x,m){return!x||x.type!=="EnumDeclaration"?!1:m==null||(0,t.default)(x,m)}function ur(x,m){return!x||x.type!=="EnumBooleanBody"?!1:m==null||(0,t.default)(x,m)}function Rr(x,m){return!x||x.type!=="EnumNumberBody"?!1:m==null||(0,t.default)(x,m)}function Jr(x,m){return!x||x.type!=="EnumStringBody"?!1:m==null||(0,t.default)(x,m)}function En(x,m){return!x||x.type!=="EnumSymbolBody"?!1:m==null||(0,t.default)(x,m)}function dn(x,m){return!x||x.type!=="EnumBooleanMember"?!1:m==null||(0,t.default)(x,m)}function Ts(x,m){return!x||x.type!=="EnumNumberMember"?!1:m==null||(0,t.default)(x,m)}function tn(x,m){return!x||x.type!=="EnumStringMember"?!1:m==null||(0,t.default)(x,m)}function js(x,m){return!x||x.type!=="EnumDefaultedMember"?!1:m==null||(0,t.default)(x,m)}function oo(x,m){return!x||x.type!=="IndexedAccessType"?!1:m==null||(0,t.default)(x,m)}function tr(x,m){return!x||x.type!=="OptionalIndexedAccessType"?!1:m==null||(0,t.default)(x,m)}function Hi(x,m){return!x||x.type!=="JSXAttribute"?!1:m==null||(0,t.default)(x,m)}function $s(x,m){return!x||x.type!=="JSXClosingElement"?!1:m==null||(0,t.default)(x,m)}function qs(x,m){return!x||x.type!=="JSXElement"?!1:m==null||(0,t.default)(x,m)}function No(x,m){return!x||x.type!=="JSXEmptyExpression"?!1:m==null||(0,t.default)(x,m)}function Es(x,m){return!x||x.type!=="JSXExpressionContainer"?!1:m==null||(0,t.default)(x,m)}function ao(x,m){return!x||x.type!=="JSXSpreadChild"?!1:m==null||(0,t.default)(x,m)}function lo(x,m){return!x||x.type!=="JSXIdentifier"?!1:m==null||(0,t.default)(x,m)}function As(x,m){return!x||x.type!=="JSXMemberExpression"?!1:m==null||(0,t.default)(x,m)}function ns(x,m){return!x||x.type!=="JSXNamespacedName"?!1:m==null||(0,t.default)(x,m)}function Us(x,m){return!x||x.type!=="JSXOpeningElement"?!1:m==null||(0,t.default)(x,m)}function oa(x,m){return!x||x.type!=="JSXSpreadAttribute"?!1:m==null||(0,t.default)(x,m)}function Ki(x,m){return!x||x.type!=="JSXText"?!1:m==null||(0,t.default)(x,m)}function Do(x,m){return!x||x.type!=="JSXFragment"?!1:m==null||(0,t.default)(x,m)}function zs(x,m){return!x||x.type!=="JSXOpeningFragment"?!1:m==null||(0,t.default)(x,m)}function co(x,m){return!x||x.type!=="JSXClosingFragment"?!1:m==null||(0,t.default)(x,m)}function Vs(x,m){return!x||x.type!=="Noop"?!1:m==null||(0,t.default)(x,m)}function Ps(x,m){return!x||x.type!=="Placeholder"?!1:m==null||(0,t.default)(x,m)}function Nn(x,m){return!x||x.type!=="V8IntrinsicIdentifier"?!1:m==null||(0,t.default)(x,m)}function ms(x,m){return!x||x.type!=="ArgumentPlaceholder"?!1:m==null||(0,t.default)(x,m)}function Ro(x,m){return!x||x.type!=="BindExpression"?!1:m==null||(0,t.default)(x,m)}function aa(x,m){return!x||x.type!=="Decorator"?!1:m==null||(0,t.default)(x,m)}function Gi(x,m){return!x||x.type!=="DoExpression"?!1:m==null||(0,t.default)(x,m)}function Cs(x,m){return!x||x.type!=="ExportDefaultSpecifier"?!1:m==null||(0,t.default)(x,m)}function uo(x,m){return!x||x.type!=="RecordExpression"?!1:m==null||(0,t.default)(x,m)}function Ws(x,m){return!x||x.type!=="TupleExpression"?!1:m==null||(0,t.default)(x,m)}function fo(x,m){return!x||x.type!=="DecimalLiteral"?!1:m==null||(0,t.default)(x,m)}function Hs(x,m){return!x||x.type!=="ModuleExpression"?!1:m==null||(0,t.default)(x,m)}function An(x,m){return!x||x.type!=="TopicReference"?!1:m==null||(0,t.default)(x,m)}function gi(x,m){return!x||x.type!=="PipelineTopicExpression"?!1:m==null||(0,t.default)(x,m)}function ii(x,m){return!x||x.type!=="PipelineBareFunction"?!1:m==null||(0,t.default)(x,m)}function po(x,m){return!x||x.type!=="PipelinePrimaryTopicReference"?!1:m==null||(0,t.default)(x,m)}function ks(x,m){return!x||x.type!=="VoidPattern"?!1:m==null||(0,t.default)(x,m)}function oe(x,m){return!x||x.type!=="TSParameterProperty"?!1:m==null||(0,t.default)(x,m)}function f(x,m){return!x||x.type!=="TSDeclareFunction"?!1:m==null||(0,t.default)(x,m)}function a(x,m){return!x||x.type!=="TSDeclareMethod"?!1:m==null||(0,t.default)(x,m)}function p(x,m){return!x||x.type!=="TSQualifiedName"?!1:m==null||(0,t.default)(x,m)}function y(x,m){return!x||x.type!=="TSCallSignatureDeclaration"?!1:m==null||(0,t.default)(x,m)}function M(x,m){return!x||x.type!=="TSConstructSignatureDeclaration"?!1:m==null||(0,t.default)(x,m)}function fe(x,m){return!x||x.type!=="TSPropertySignature"?!1:m==null||(0,t.default)(x,m)}function ke(x,m){return!x||x.type!=="TSMethodSignature"?!1:m==null||(0,t.default)(x,m)}function He(x,m){return!x||x.type!=="TSIndexSignature"?!1:m==null||(0,t.default)(x,m)}function rt(x,m){return!x||x.type!=="TSAnyKeyword"?!1:m==null||(0,t.default)(x,m)}function pt(x,m){return!x||x.type!=="TSBooleanKeyword"?!1:m==null||(0,t.default)(x,m)}function Ot(x,m){return!x||x.type!=="TSBigIntKeyword"?!1:m==null||(0,t.default)(x,m)}function $t(x,m){return!x||x.type!=="TSIntrinsicKeyword"?!1:m==null||(0,t.default)(x,m)}function Wt(x,m){return!x||x.type!=="TSNeverKeyword"?!1:m==null||(0,t.default)(x,m)}function nr(x,m){return!x||x.type!=="TSNullKeyword"?!1:m==null||(0,t.default)(x,m)}function Br(x,m){return!x||x.type!=="TSNumberKeyword"?!1:m==null||(0,t.default)(x,m)}function ln(x,m){return!x||x.type!=="TSObjectKeyword"?!1:m==null||(0,t.default)(x,m)}function vr(x,m){return!x||x.type!=="TSStringKeyword"?!1:m==null||(0,t.default)(x,m)}function Ur(x,m){return!x||x.type!=="TSSymbolKeyword"?!1:m==null||(0,t.default)(x,m)}function Li(x,m){return!x||x.type!=="TSUndefinedKeyword"?!1:m==null||(0,t.default)(x,m)}function yi(x,m){return!x||x.type!=="TSUnknownKeyword"?!1:m==null||(0,t.default)(x,m)}function Mo(x,m){return!x||x.type!=="TSVoidKeyword"?!1:m==null||(0,t.default)(x,m)}function ho(x,m){return!x||x.type!=="TSThisType"?!1:m==null||(0,t.default)(x,m)}function Ks(x,m){return!x||x.type!=="TSFunctionType"?!1:m==null||(0,t.default)(x,m)}function mo(x,m){return!x||x.type!=="TSConstructorType"?!1:m==null||(0,t.default)(x,m)}function go(x,m){return!x||x.type!=="TSTypeReference"?!1:m==null||(0,t.default)(x,m)}function Lo(x,m){return!x||x.type!=="TSTypePredicate"?!1:m==null||(0,t.default)(x,m)}function Bo(x,m){return!x||x.type!=="TSTypeQuery"?!1:m==null||(0,t.default)(x,m)}function Fo(x,m){return!x||x.type!=="TSTypeLiteral"?!1:m==null||(0,t.default)(x,m)}function Is(x,m){return!x||x.type!=="TSArrayType"?!1:m==null||(0,t.default)(x,m)}function Ti(x,m){return!x||x.type!=="TSTupleType"?!1:m==null||(0,t.default)(x,m)}function A(x,m){return!x||x.type!=="TSOptionalType"?!1:m==null||(0,t.default)(x,m)}function E(x,m){return!x||x.type!=="TSRestType"?!1:m==null||(0,t.default)(x,m)}function R(x,m){return!x||x.type!=="TSNamedTupleMember"?!1:m==null||(0,t.default)(x,m)}function H(x,m){return!x||x.type!=="TSUnionType"?!1:m==null||(0,t.default)(x,m)}function se(x,m){return!x||x.type!=="TSIntersectionType"?!1:m==null||(0,t.default)(x,m)}function ve(x,m){return!x||x.type!=="TSConditionalType"?!1:m==null||(0,t.default)(x,m)}function De(x,m){return!x||x.type!=="TSInferType"?!1:m==null||(0,t.default)(x,m)}function $e(x,m){return!x||x.type!=="TSParenthesizedType"?!1:m==null||(0,t.default)(x,m)}function et(x,m){return!x||x.type!=="TSTypeOperator"?!1:m==null||(0,t.default)(x,m)}function ht(x,m){return!x||x.type!=="TSIndexedAccessType"?!1:m==null||(0,t.default)(x,m)}function st(x,m){return!x||x.type!=="TSMappedType"?!1:m==null||(0,t.default)(x,m)}function _(x,m){return!x||x.type!=="TSTemplateLiteralType"?!1:m==null||(0,t.default)(x,m)}function k(x,m){return!x||x.type!=="TSLiteralType"?!1:m==null||(0,t.default)(x,m)}function j(x,m){return!x||x.type!=="TSExpressionWithTypeArguments"?!1:m==null||(0,t.default)(x,m)}function z(x,m){return!x||x.type!=="TSInterfaceDeclaration"?!1:m==null||(0,t.default)(x,m)}function ie(x,m){return!x||x.type!=="TSInterfaceBody"?!1:m==null||(0,t.default)(x,m)}function we(x,m){return!x||x.type!=="TSTypeAliasDeclaration"?!1:m==null||(0,t.default)(x,m)}function Oe(x,m){return!x||x.type!=="TSInstantiationExpression"?!1:m==null||(0,t.default)(x,m)}function je(x,m){return!x||x.type!=="TSAsExpression"?!1:m==null||(0,t.default)(x,m)}function ut(x,m){return!x||x.type!=="TSSatisfiesExpression"?!1:m==null||(0,t.default)(x,m)}function vt(x,m){return!x||x.type!=="TSTypeAssertion"?!1:m==null||(0,t.default)(x,m)}function ft(x,m){return!x||x.type!=="TSEnumBody"?!1:m==null||(0,t.default)(x,m)}function dt(x,m){return!x||x.type!=="TSEnumDeclaration"?!1:m==null||(0,t.default)(x,m)}function yt(x,m){return!x||x.type!=="TSEnumMember"?!1:m==null||(0,t.default)(x,m)}function bt(x,m){return!x||x.type!=="TSModuleDeclaration"?!1:m==null||(0,t.default)(x,m)}function _t(x,m){return!x||x.type!=="TSModuleBlock"?!1:m==null||(0,t.default)(x,m)}function xt(x,m){return!x||x.type!=="TSImportType"?!1:m==null||(0,t.default)(x,m)}function St(x,m){return!x||x.type!=="TSImportEqualsDeclaration"?!1:m==null||(0,t.default)(x,m)}function It(x,m){return!x||x.type!=="TSExternalModuleReference"?!1:m==null||(0,t.default)(x,m)}function kt(x,m){return!x||x.type!=="TSNonNullExpression"?!1:m==null||(0,t.default)(x,m)}function Rt(x,m){return!x||x.type!=="TSExportAssignment"?!1:m==null||(0,t.default)(x,m)}function qt(x,m){return!x||x.type!=="TSNamespaceExportDeclaration"?!1:m==null||(0,t.default)(x,m)}function Vt(x,m){return!x||x.type!=="TSTypeAnnotation"?!1:m==null||(0,t.default)(x,m)}function Jt(x,m){return!x||x.type!=="TSTypeParameterInstantiation"?!1:m==null||(0,t.default)(x,m)}function Ht(x,m){return!x||x.type!=="TSTypeParameterDeclaration"?!1:m==null||(0,t.default)(x,m)}function dr(x,m){return!x||x.type!=="TSTypeParameter"?!1:m==null||(0,t.default)(x,m)}function Yt(x,m){if(!x)return!1;switch(x.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"InterpreterDirective":case"Directive":case"DirectiveLiteral":case"BlockStatement":case"BreakStatement":case"CallExpression":case"CatchClause":case"ConditionalExpression":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"File":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Identifier":case"IfStatement":case"LabeledStatement":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"Program":case"ObjectExpression":case"ObjectMethod":case"ObjectProperty":case"RestElement":case"ReturnStatement":case"SequenceExpression":case"ParenthesizedExpression":case"SwitchCase":case"SwitchStatement":case"ThisExpression":case"ThrowStatement":case"TryStatement":case"UnaryExpression":case"UpdateExpression":case"VariableDeclaration":case"VariableDeclarator":case"WhileStatement":case"WithStatement":case"AssignmentPattern":case"ArrayPattern":case"ArrowFunctionExpression":case"ClassBody":case"ClassExpression":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportSpecifier":case"ForOfStatement":case"ImportDeclaration":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportExpression":case"MetaProperty":case"ClassMethod":case"ObjectPattern":case"SpreadElement":case"Super":case"TaggedTemplateExpression":case"TemplateElement":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"ExportNamespaceSpecifier":case"OptionalMemberExpression":case"OptionalCallExpression":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":case"StaticBlock":case"ImportAttribute":break;case"Placeholder":switch(x.expectedNode){case"Identifier":case"StringLiteral":case"BlockStatement":case"ClassBody":break;default:return!1}break;default:return!1}return m==null||(0,t.default)(x,m)}function pr(x,m){if(!x)return!1;switch(x.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ParenthesizedExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":case"ArrowFunctionExpression":case"ClassExpression":case"ImportExpression":case"MetaProperty":case"Super":case"TaggedTemplateExpression":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"OptionalMemberExpression":case"OptionalCallExpression":case"TypeCastExpression":case"JSXElement":case"JSXFragment":case"BindExpression":case"DoExpression":case"RecordExpression":case"TupleExpression":case"DecimalLiteral":case"ModuleExpression":case"TopicReference":case"PipelineTopicExpression":case"PipelineBareFunction":case"PipelinePrimaryTopicReference":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(x.expectedNode){case"Expression":case"Identifier":case"StringLiteral":break;default:return!1}break;default:return!1}return m==null||(0,t.default)(x,m)}function Ut(x,m){if(!x)return!1;switch(x.type){case"BinaryExpression":case"LogicalExpression":break;default:return!1}return m==null||(0,t.default)(x,m)}function Tr(x,m){if(!x)return!1;switch(x.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ClassExpression":case"ClassDeclaration":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if(x.expectedNode==="BlockStatement")break;default:return!1}return m==null||(0,t.default)(x,m)}function Er(x,m){if(!x)return!1;switch(x.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if(x.expectedNode==="BlockStatement")break;default:return!1}return m==null||(0,t.default)(x,m)}function Mr(x,m){if(!x)return!1;switch(x.type){case"BlockStatement":case"Program":case"TSModuleBlock":break;case"Placeholder":if(x.expectedNode==="BlockStatement")break;default:return!1}return m==null||(0,t.default)(x,m)}function Kr(x,m){if(!x)return!1;switch(x.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ForOfStatement":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":case"TSExportAssignment":case"TSNamespaceExportDeclaration":break;case"Placeholder":switch(x.expectedNode){case"Statement":case"Declaration":case"BlockStatement":break;default:return!1}break;default:return!1}return m==null||(0,t.default)(x,m)}function W(x,m){if(!x)return!1;switch(x.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":case"YieldExpression":case"AwaitExpression":break;default:return!1}return m==null||(0,t.default)(x,m)}function U(x,m){if(!x)return!1;switch(x.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":break;default:return!1}return m==null||(0,t.default)(x,m)}function J(x,m){if(!x)return!1;switch(x.type){case"ConditionalExpression":case"IfStatement":break;default:return!1}return m==null||(0,t.default)(x,m)}function Ee(x,m){if(!x)return!1;switch(x.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":case"ForOfStatement":break;default:return!1}return m==null||(0,t.default)(x,m)}function tt(x,m){if(!x)return!1;switch(x.type){case"DoWhileStatement":case"WhileStatement":break;default:return!1}return m==null||(0,t.default)(x,m)}function At(x,m){if(!x)return!1;switch(x.type){case"ExpressionStatement":case"ParenthesizedExpression":case"TypeCastExpression":break;default:return!1}return m==null||(0,t.default)(x,m)}function lr(x,m){if(!x)return!1;switch(x.type){case"ForInStatement":case"ForStatement":case"ForOfStatement":break;default:return!1}return m==null||(0,t.default)(x,m)}function hn(x,m){if(!x)return!1;switch(x.type){case"ForInStatement":case"ForOfStatement":break;default:return!1}return m==null||(0,t.default)(x,m)}function bi(x,m){if(!x)return!1;switch(x.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return m==null||(0,t.default)(x,m)}function jo(x,m){if(!x)return!1;switch(x.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;default:return!1}return m==null||(0,t.default)(x,m)}function Tw(x,m){if(!x)return!1;switch(x.type){case"FunctionDeclaration":case"FunctionExpression":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"ArrowFunctionExpression":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if(x.expectedNode==="StringLiteral")break;default:return!1}return m==null||(0,t.default)(x,m)}function Ew(x,m){if(!x)return!1;switch(x.type){case"FunctionDeclaration":case"VariableDeclaration":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":break;case"Placeholder":if(x.expectedNode==="Declaration")break;default:return!1}return m==null||(0,t.default)(x,m)}function Aw(x,m){if(!x)return!1;switch(x.type){case"Identifier":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":break;case"Placeholder":if(x.expectedNode==="Identifier")break;default:return!1}return m==null||(0,t.default)(x,m)}function Pw(x,m){if(!x)return!1;switch(x.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(x.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return m==null||(0,t.default)(x,m)}function Cw(x,m){if(!x)return!1;switch(x.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSParameterProperty":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(x.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return m==null||(0,t.default)(x,m)}function kw(x,m){if(!x)return!1;switch(x.type){case"Identifier":case"TSQualifiedName":break;case"Placeholder":if(x.expectedNode==="Identifier")break;default:return!1}return m==null||(0,t.default)(x,m)}function Iw(x,m){if(!x)return!1;switch(x.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"TemplateLiteral":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if(x.expectedNode==="StringLiteral")break;default:return!1}return m==null||(0,t.default)(x,m)}function Ow(x,m){if(!x)return!1;switch(x.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"BigIntLiteral":case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXOpeningElement":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":case"DecimalLiteral":break;case"Placeholder":if(x.expectedNode==="StringLiteral")break;default:return!1}return m==null||(0,t.default)(x,m)}function Nw(x,m){if(!x)return!1;switch(x.type){case"ObjectMethod":case"ObjectProperty":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":break;default:return!1}return m==null||(0,t.default)(x,m)}function Dw(x,m){if(!x)return!1;switch(x.type){case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return m==null||(0,t.default)(x,m)}function Rw(x,m){if(!x)return!1;switch(x.type){case"ObjectMethod":case"ObjectProperty":break;default:return!1}return m==null||(0,t.default)(x,m)}function Mw(x,m){if(!x)return!1;switch(x.type){case"ObjectProperty":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":break;default:return!1}return m==null||(0,t.default)(x,m)}function Lw(x,m){if(!x)return!1;switch(x.type){case"UnaryExpression":case"SpreadElement":break;default:return!1}return m==null||(0,t.default)(x,m)}function Bw(x,m){if(!x)return!1;switch(x.type){case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":break;case"Placeholder":if(x.expectedNode==="Pattern")break;default:return!1}return m==null||(0,t.default)(x,m)}function Fw(x,m){if(!x)return!1;switch(x.type){case"ClassExpression":case"ClassDeclaration":break;default:return!1}return m==null||(0,t.default)(x,m)}function k0(x,m){if(!x)return!1;switch(x.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":break;default:return!1}return m==null||(0,t.default)(x,m)}function jw(x,m){if(!x)return!1;switch(x.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":break;default:return!1}return m==null||(0,t.default)(x,m)}function $w(x,m){if(!x)return!1;switch(x.type){case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":break;default:return!1}return m==null||(0,t.default)(x,m)}function qw(x,m){if(!x)return!1;switch(x.type){case"ClassAccessorProperty":break;default:return!1}return m==null||(0,t.default)(x,m)}function Uw(x,m){if(!x)return!1;switch(x.type){case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":break;default:return!1}return m==null||(0,t.default)(x,m)}function zw(x,m){if(!x)return!1;switch(x.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ClassImplements":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"DeclaredPredicate":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"FunctionTypeParam":case"GenericTypeAnnotation":case"InferredPredicate":case"InterfaceExtends":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":case"OpaqueType":case"QualifiedTypeIdentifier":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"TypeAlias":case"TypeAnnotation":case"TypeCastExpression":case"TypeParameter":case"TypeParameterDeclaration":case"TypeParameterInstantiation":case"UnionTypeAnnotation":case"Variance":case"VoidTypeAnnotation":case"EnumDeclaration":case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return!1}return m==null||(0,t.default)(x,m)}function Vw(x,m){if(!x)return!1;switch(x.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"GenericTypeAnnotation":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"UnionTypeAnnotation":case"VoidTypeAnnotation":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return!1}return m==null||(0,t.default)(x,m)}function Ww(x,m){if(!x)return!1;switch(x.type){case"AnyTypeAnnotation":case"BooleanTypeAnnotation":case"NullLiteralTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NumberTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"VoidTypeAnnotation":break;default:return!1}return m==null||(0,t.default)(x,m)}function Hw(x,m){if(!x)return!1;switch(x.type){case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":break;default:return!1}return m==null||(0,t.default)(x,m)}function Kw(x,m){if(!x)return!1;switch(x.type){case"DeclaredPredicate":case"InferredPredicate":break;default:return!1}return m==null||(0,t.default)(x,m)}function Gw(x,m){if(!x)return!1;switch(x.type){case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":break;default:return!1}return m==null||(0,t.default)(x,m)}function Yw(x,m){if(!x)return!1;switch(x.type){case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":break;default:return!1}return m==null||(0,t.default)(x,m)}function Jw(x,m){if(!x)return!1;switch(x.type){case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXEmptyExpression":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXIdentifier":case"JSXMemberExpression":case"JSXNamespacedName":case"JSXOpeningElement":case"JSXSpreadAttribute":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":break;default:return!1}return m==null||(0,t.default)(x,m)}function Xw(x,m){if(!x)return!1;switch(x.type){case"Noop":case"Placeholder":case"V8IntrinsicIdentifier":break;default:return!1}return m==null||(0,t.default)(x,m)}function Zw(x,m){if(!x)return!1;switch(x.type){case"TSParameterProperty":case"TSDeclareFunction":case"TSDeclareMethod":case"TSQualifiedName":case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSNamedTupleMember":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSInterfaceDeclaration":case"TSInterfaceBody":case"TSTypeAliasDeclaration":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSEnumBody":case"TSEnumDeclaration":case"TSEnumMember":case"TSModuleDeclaration":case"TSModuleBlock":case"TSImportType":case"TSImportEqualsDeclaration":case"TSExternalModuleReference":case"TSNonNullExpression":case"TSExportAssignment":case"TSNamespaceExportDeclaration":case"TSTypeAnnotation":case"TSTypeParameterInstantiation":case"TSTypeParameterDeclaration":case"TSTypeParameter":break;default:return!1}return m==null||(0,t.default)(x,m)}function Qw(x,m){if(!x)return!1;switch(x.type){case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":break;default:return!1}return m==null||(0,t.default)(x,m)}function eS(x,m){if(!x)return!1;switch(x.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSImportType":break;default:return!1}return m==null||(0,t.default)(x,m)}function tS(x,m){if(!x)return!1;switch(x.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSTemplateLiteralType":case"TSLiteralType":break;default:return!1}return m==null||(0,t.default)(x,m)}function rS(x,m){return(0,e.default)("isNumberLiteral","isNumericLiteral"),!x||x.type!=="NumberLiteral"?!1:m==null||(0,t.default)(x,m)}function nS(x,m){return(0,e.default)("isRegexLiteral","isRegExpLiteral"),!x||x.type!=="RegexLiteral"?!1:m==null||(0,t.default)(x,m)}function iS(x,m){return(0,e.default)("isRestProperty","isRestElement"),!x||x.type!=="RestProperty"?!1:m==null||(0,t.default)(x,m)}function sS(x,m){return(0,e.default)("isSpreadProperty","isSpreadElement"),!x||x.type!=="SpreadProperty"?!1:m==null||(0,t.default)(x,m)}function oS(x,m){return(0,e.default)("isModuleDeclaration","isImportOrExportDeclaration"),k0(x,m)}return Ge}var AT;function PT(){if(AT)return Eh;AT=1,Object.defineProperty(Eh,"__esModule",{value:!0}),Eh.default=r;var t=di();function e(n){return(0,t.isMemberExpression)(n)||(0,t.isMetaProperty)(n)}function r(n,i,s){if(!e(n))return!1;const o=Array.isArray(i)?i:i.split("."),l=[];let c;for(c=n;e(c);c=(d=c.object)!=null?d:c.meta){var d;l.push(c.property)}if(l.push(c),l.length<o.length||!s&&l.length>o.length)return!1;for(let u=0,h=l.length-1;u<o.length;u++,h--){const g=l[h];let b;if((0,t.isIdentifier)(g))b=g.name;else if((0,t.isStringLiteral)(g))b=g.value;else if((0,t.isThisExpression)(g))b="this";else if((0,t.isSuper)(g))b="super";else if((0,t.isPrivateName)(g))b="#"+g.id.name;else return!1;if(o[u]!==b)return!1}return!0}return Eh}var CT;function kT(){if(CT)return Th;CT=1,Object.defineProperty(Th,"__esModule",{value:!0}),Th.default=e;var t=PT();function e(r,n){const i=r.split(".");return s=>(0,t.default)(s,i,n)}return Th}var IT;function dR(){if(IT)return uf;IT=1,Object.defineProperty(uf,"__esModule",{value:!0}),uf.default=void 0;var t=kT();const e=(0,t.default)("React.Component");return uf.default=e,uf}var Ch={},OT;function fR(){if(OT)return Ch;OT=1,Object.defineProperty(Ch,"__esModule",{value:!0}),Ch.default=t;function t(e){return!!e&&/^[a-z]/.test(e)}return Ch}var kh={},Ih={},jb={},Ue={},uc={},$b={},Pi={},Oh={},Nh={},NT;function qb(){if(NT)return Nh;NT=1,Object.defineProperty(Nh,"__esModule",{value:!0}),Nh.default=e;var t=zo();function e(r,n){if(r===n)return!0;if(r==null||t.ALIAS_KEYS[n])return!1;const i=t.FLIPPED_ALIAS_KEYS[n];return!!(i!=null&&i.includes(r))}return Nh}var Dh={},DT;function RT(){if(DT)return Dh;DT=1,Object.defineProperty(Dh,"__esModule",{value:!0}),Dh.default=e;var t=zo();function e(r,n){if(r===n)return!0;const i=t.PLACEHOLDERS_ALIAS[r];return!!(i!=null&&i.includes(n))}return Dh}var MT;function ff(){if(MT)return Oh;MT=1,Object.defineProperty(Oh,"__esModule",{value:!0}),Oh.default=i;var t=Fb(),e=qb(),r=RT(),n=zo();function i(s,o,l){return o?(0,e.default)(o.type,s)?l===void 0?!0:(0,t.default)(o,l):!l&&o.type==="Placeholder"&&s in n.FLIPPED_ALIAS_KEYS?(0,r.default)(o.expectedNode,s):!1:!1}return Oh}var Rh={},wu={},pf={};Object.defineProperty(pf,"__esModule",{value:!0}),pf.isIdentifierChar=jT,pf.isIdentifierName=gR,pf.isIdentifierStart=FT;let Ub="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-Ა-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ--ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",LT="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ--ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・";const pR=new RegExp("["+Ub+"]"),hR=new RegExp("["+Ub+LT+"]");Ub=LT=null;const BT=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,57,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,261,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7381,42,31,98,114,8702,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4381,3,5773,3,7472,16,621,2467,541,1507,4938,6,8489],mR=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,78,5,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,266,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239];function zb(t,e){let r=65536;for(let n=0,i=e.length;n<i;n+=2){if(r+=e[n],r>t)return!1;if(r+=e[n+1],r>=t)return!0}return!1}function FT(t){return t<65?t===36:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&pR.test(String.fromCharCode(t)):zb(t,BT)}function jT(t){return t<48?t===36:t<58?!0:t<65?!1:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&hR.test(String.fromCharCode(t)):zb(t,BT)||zb(t,mR)}function gR(t){let e=!0;for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if((n&64512)===55296&&r+1<t.length){const i=t.charCodeAt(++r);(i&64512)===56320&&(n=65536+((n&1023)<<10)+(i&1023))}if(e){if(e=!1,!FT(n))return!1}else if(!jT(n))return!1}return!e}var dc={};Object.defineProperty(dc,"__esModule",{value:!0}),dc.isKeyword=xR,dc.isReservedWord=$T,dc.isStrictBindOnlyReservedWord=UT,dc.isStrictBindReservedWord=_R,dc.isStrictReservedWord=qT;const Vb={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},yR=new Set(Vb.keyword),bR=new Set(Vb.strict),vR=new Set(Vb.strictBind);function $T(t,e){return e&&t==="await"||t==="enum"}function qT(t,e){return $T(t,e)||bR.has(t)}function UT(t){return vR.has(t)}function _R(t,e){return qT(t,e)||UT(t)}function xR(t){return yR.has(t)}(function(t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return e.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return e.isIdentifierName}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return e.isIdentifierStart}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return r.isKeyword}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return r.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return r.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return r.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return r.isStrictReservedWord}});var e=pf,r=dc})(wu);var zT;function hf(){if(zT)return Rh;zT=1,Object.defineProperty(Rh,"__esModule",{value:!0}),Rh.default=e;var t=wu;function e(r,n=!0){return typeof r!="string"||n&&((0,t.isKeyword)(r)||(0,t.isStrictReservedWord)(r,!0))?!1:(0,t.isIdentifierName)(r)}return Rh}var Su={},VT;function wR(){if(VT)return Su;VT=1,Object.defineProperty(Su,"__esModule",{value:!0}),Su.readCodePoint=c,Su.readInt=l,Su.readStringContents=n;var t=function(u){return u>=48&&u<=57};const e={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},r={bin:d=>d===48||d===49,oct:d=>d>=48&&d<=55,dec:d=>d>=48&&d<=57,hex:d=>d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102};function n(d,u,h,g,b,I){const P=h,C=g,T=b;let w="",S=null,v=h;const{length:O}=u;for(;;){if(h>=O){I.unterminated(P,C,T),w+=u.slice(v,h);break}const N=u.charCodeAt(h);if(i(d,N,u,h)){w+=u.slice(v,h);break}if(N===92){w+=u.slice(v,h);const D=s(u,h,g,b,d==="template",I);D.ch===null&&!S?S={pos:h,lineStart:g,curLine:b}:w+=D.ch,{pos:h,lineStart:g,curLine:b}=D,v=h}else N===8232||N===8233?(++h,++b,g=h):N===10||N===13?d==="template"?(w+=u.slice(v,h)+`
|
|
705
705
|
`,++h,N===13&&u.charCodeAt(h)===10&&++h,++b,v=g=h):I.unterminated(P,C,T):++h}return{pos:h,str:w,firstInvalidLoc:S,lineStart:g,curLine:b,containsInvalid:!!S}}function i(d,u,h,g){return d==="template"?u===96||u===36&&h.charCodeAt(g+1)===123:u===(d==="double"?34:39)}function s(d,u,h,g,b,I){const P=!b;u++;const C=w=>({pos:u,ch:w,lineStart:h,curLine:g}),T=d.charCodeAt(u++);switch(T){case 110:return C(`
|
|
@@ -3310,7 +3310,7 @@ Name: ${r}
|
|
|
3310
3310
|
|
|
3311
3311
|
You can now run this script using:
|
|
3312
3312
|
- action: "run", name: "${r}"
|
|
3313
|
-
- Or reference it by path: ${s}`}}catch(s){return{success:!1,error:`Failed to save script: ${s instanceof Error?s.message:String(s)}`}}}async _runScript(e){const r=pi(e,"name");if(!r)return{success:!1,error:"name is required for run action"};const n=e.params||{},i=ga(e,"timeout")??3e4,s=pi(e,"title")??void 0;return this._executeCode(r,n,i,void 0,s)}async _evalScript(e){const r=pi(e,"code");if(!r)return{success:!1,error:"code is required for eval action"};const n=e.params||{},i=ga(e,"timeout")??3e4,s=pi(e,"title")??void 0;return this._executeCode(void 0,n,i,r,s)}async _executeCode(e,r,n,i,s){if(!this.rtcAgent)return{success:!1,error:"rtcAgent not initialized. Pass rtcAgent to ScriptTool constructor."};try{let o;if(i!==void 0)o=i;else{const I=`/scripts/${e}.ts`,P=await Vr.read(I);o=WU(P).code}const l={logs:[],warns:[],errors:[]},c=$U(this.rtcAgent,r,l,s||void 0),d=performance.now(),u=await KU(o,c,n,e),h=Math.round(performance.now()-d),g={};e&&(g.name=e),u!==void 0&&(g.result=u);const b=100;return l.logs.length>0&&(g.logs=l.logs.slice(0,b).map(V_)),l.warns.length>0&&(g.warnings=l.warns.slice(0,b).map(V_)),l.errors.length>0&&(g.errors=l.errors.slice(0,b).map(V_)),g.duration_ms=h,{success:!0,data:g}}catch(o){return o instanceof Error&&"isScriptTimeout"in o?{success:!1,error:o.message}:o instanceof Error&&"isScriptCompileError"in o?{success:!1,error:`Script compile error: ${o.message}`}:{success:!1,error:`Script execution failed: ${o instanceof Error?o.message:String(o)}`}}}}function rz(t){return[new JU,new XU,new ZU,new QU,new ez,new tz,new QO(t)]}const nz=er("ToolRegistry");class iz{constructor(e){sr(this,"tools",new Map);const r=rz(e);for(const n of r)this.register(n)}setRtcAgent(e){this.register(new QO(e))}register(e){this.tools.has(e.name)&&nz.warn(`Tool '${e.name}' is already registered and will be overwritten.`),this.tools.set(e.name,e)}get(e){return this.tools.get(e)}has(e){return this.tools.has(e)}getToolNames(){return Array.from(this.tools.keys())}async execute(e,r){const n=this.tools.get(e);if(!n)throw new Error(`Tool not found: ${e}`);return n.execute(r)}}const e4=new iz,Qn=er("RtcProcessor"),sz=1e3,t4=6e4,W_=10;class oz{constructor(e){sr(this,"persistence");sr(this,"processing",!1);sr(this,"pendingCheck",!1);sr(this,"retryCountMap",new Map);sr(this,"mode","edit");sr(this,"confirmDialog");sr(this,"askUserDialog");sr(this,"master");sr(this,"_lastSilentlySkippedRtcId");sr(this,"_abortController");this.persistence=e}setMode(e){this.mode=e}getMode(){return this.mode}setConfirmDialog(e){this.confirmDialog=e}setAskUserDialog(e){this.askUserDialog=e}setMaster(e){this.master=e}_isMasterAllowed(){return this.master===void 0||this.master.isMaster}cancel(){this._abortController?(Qn.debug("cancel() called, aborting processLoop"),this._abortController.abort()):Qn.debug("cancel() called, but no processLoop is running")}async onRtcUpdate(){if(this.processing){this.pendingCheck=!0;return}await this.processLoop()}async processLoop(){if(!this._isMasterAllowed()){Qn.debug("processLoop: not master, skipping");return}this._abortController=new AbortController;const e=this._abortController.signal;this.processing=!0,this._lastSilentlySkippedRtcId=void 0;try{for(;;){if(!this._isMasterAllowed()){Qn.debug("processLoop: lost master status during loop, exiting");break}if(e.aborted){Qn.debug("processLoop: cancelled, exiting");break}this.pendingCheck=!1;const r=await this.persistence.getNextRtcToProcess(void 0);if(!r){if(this.pendingCheck)continue;break}if(r.client_id===this._lastSilentlySkippedRtcId){Qn.warn(`processLoop: RTC ${r.client_id} returned again after silent skip, exiting loop to prevent infinite retry`);break}Qn.debug("processing RTC:",r.client_id,"tool:",r.tool_name,"sync_status:",r.sync_status);try{await this.processOne(r),Qn.debug("processOne completed successfully")}catch(n){if(n instanceof DOMException&&n.name==="AbortError")throw Qn.debug("processOne: sleep aborted by cancel(), propagating"),n;Qn.error("processOne failed:",n);const i=n instanceof Error?n.message:String(n);if(i.includes("connection")||i.includes("disconnected")){Qn.warn("connection error detected, exiting processLoop");break}await this.sleep(sz,e)}}}catch(r){if(r instanceof DOMException&&r.name==="AbortError")Qn.debug("processLoop: sleep aborted by cancel(), exiting");else throw r}finally{this.processing=!1,this._abortController=void 0}}async processOne(e){var r;if(e.sync_status==="failed"){const n=this.retryCountMap.get(e.client_id)||0;if(n>=W_){Qn.error(`RTC ${e.client_id} exceeded max submit retry count (${W_}), abandoning. The RTC remains in sync_status='failed' and will be retried on the next onRtcUpdate cycle.`),this.retryCountMap.delete(e.client_id),this._lastSilentlySkippedRtcId=e.client_id;return}const i=this.calculateBackoff(n);await this.sleep(i,(r=this._abortController)==null?void 0:r.signal);try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:e.status==="completed",result:e.result,error:e.error_message}),this.retryCountMap.delete(e.client_id)}catch(s){throw this.retryCountMap.set(e.client_id,n+1),s}}else{const n=e.tool_name;if(n==="askUser"){await this.processAskUser(e);return}const i=uR.needsConfirm(n,this.mode);let s=!0;if(i&&(s=await this.showConfirmDialog(e)),!s){try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!1,error:"User denied"})}catch(d){Qn.error("submitRtcResult (denied) failed, marking as synced to prevent retry:",d);try{await this.persistence.getEntityRepository().upsertRtc({client_id:e.client_id},"synced")}catch(u){Qn.error("Failed to mark RTC as synced:",u),this.retryCountMap.set(e.client_id,W_)}}return}let o,l=!0,c;try{const d=e.parameters||{},u=e4.execute(n,d);let h;const g=new Promise((I,P)=>{h=setTimeout(()=>P(new Error(`Tool execution timeout after ${t4}ms`)),t4)});let b;try{b=await Promise.race([u,g])}finally{clearTimeout(h)}u.catch(()=>{}),o=b.data,b.success||(l=!1,c=b.error)}catch(d){l=!1,c=d instanceof Error?d.message:String(d)}try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:l,result:o,error:c})}catch(d){Qn.error("submitRtcResult failed:",d)}}}async processAskUser(e){if(!this.askUserDialog){Qn.warn("askUserDialog not set, defaulting to reject");try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!1,error:"User declined to answer questions"})}catch(n){Qn.error("submitRtcResult (ask_user no dialog) failed:",n)}return}let r;try{r=await this.askUserDialog(e)}catch(n){Qn.error("askUserDialog threw:",n);try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!1,error:n instanceof Error?n.message:String(n)})}catch(i){Qn.error("submitRtcResult (ask_user error) failed:",i)}return}try{r===null?await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!1,error:"User declined to answer questions"}):await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!0,result:r})}catch(n){Qn.error("submitRtcResult (ask_user) failed:",n)}}calculateBackoff(e){return Math.min(1e3*Math.pow(2,e),3e4)}sleep(e,r){return new Promise((n,i)=>{if(r!=null&&r.aborted){i(new DOMException("Sleep aborted","AbortError"));return}const s=setTimeout(()=>{r==null||r.removeEventListener("abort",o),n()},e),o=()=>{clearTimeout(s),r==null||r.removeEventListener("abort",o),i(new DOMException("Sleep aborted","AbortError"))};r==null||r.addEventListener("abort",o,{once:!0})})}async showConfirmDialog(e){return this.confirmDialog?this.confirmDialog(e):(Qn.warn("confirmDialog not set, defaulting to reject"),!1)}}function r4(t){return new SharedWorker(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/shared-worker-BI6kUAHk.js").href:new URL("assets/shared-worker-BI6kUAHk.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&document.currentScript.src||document.baseURI).href),{type:"module",name:t==null?void 0:t.name})}const Ln=er("WorkerBridge");function az(t){const e=t.toString(),r=e.match(/new URL\(\s*(["'`])([^"'`]+)\1/);if(r)return r[2];const n=e.match(/new SharedWorker\(\s*(["'`])([^"'`]+)\1/);if(n)return n[2];throw new Error("[WorkerBridge] Cannot extract worker URL from factory. Source: "+e.slice(0,300))}function n4(t,e){let r=0;return(...n)=>{const i=Date.now();i-r>=e&&(r=i,t(...n))}}const Bs=class Bs{constructor(e,r={}){this._auth=e,this._worker=null,this._core=null,this._initialized=!1,this._initPromise=null,this._operationCounter=0,this._connectionListeners=new Set,this._hasRestoredFromStorage=!1,this._yieldResolves=[],this._config=r,this._databaseName="default",this._lastProcessedSeq=0,this._callbacks={onUIUpdate:n=>{_u().publish(n.event,{skipPersist:!0,seqOverride:n.seq}),n.seq>this._lastProcessedSeq&&this._updateLastProcessedSeq(n.seq)},requestToken:async()=>{const n=await this._auth.getAccessTokenAsync();if(!n)throw new Error("[WorkerBridge] no access token available");return n},requestTokenRefresh:()=>this._auth.handleTokenExpired(),onConnectionStateChange:n=>{Ln.debug("[WorkerBridge] onConnectionStateChange called, state:",n.state,"reason:",n.reason,"listeners:",this._connectionListeners.size);for(const i of this._connectionListeners)try{i(n)}catch(s){Ln.error("connection listener error:",s)}},onGapFillState:n=>{Ln.debug("[BulkUpdate] WorkerBridge.onGapFillState called, isSyncing:",n);const i=_u();n?i.emitGapFillStart():i.emitGapFillEnd()},onStateGap:()=>{Ln.warn("catchUp: state gap detected — events were lost (likely TTL cleanup)"),this._lastProcessedSeq=0,this._saveLastProcessedSeq(),_u().emitGapFillEnd()},onAccountBanned:n=>{Ln.warn("Account banned:",n);try{sessionStorage.setItem("rtc-account-banned-pending",JSON.stringify({reason:n,timestamp:Date.now()}))}catch(s){Ln.debug("sessionStorage unavailable for ban state",s)}const i=document.querySelector("rtc-agent");i?(i.dispatchEvent(new CustomEvent("rtc-account-banned",{bubbles:!0,composed:!0,detail:{reason:n}})),Ln.warn("dispatched rtc-account-banned event from onAccountBanned callback")):Ln.error("rtc-agent element not found when handling account banned; ban state saved in sessionStorage")}},this._proxiedCallbacks=wh(this._callbacks)}static _getWorkerName(){return"rtc-agent-worker"}async initWorker(){let e=null;for(let r=0;r<=Bs.MAX_INIT_RETRIES;r++)try{r>0&&(Ln.warn(`Retrying worker initialization (attempt ${r+1}/${Bs.MAX_INIT_RETRIES+1})...`),await this._delay(Bs.INIT_RETRY_DELAY_MS*r)),await this._initWorkerOnce(),await this._verifyWorkerAlive();return}catch(n){e=n instanceof Error?n:new Error(String(n)),Ln.error(`Worker initialization attempt ${r+1} failed:`,e),this._cleanupFailedWorker()}throw new Error(`[WorkerBridge] Failed to initialize SharedWorker after ${Bs.MAX_INIT_RETRIES+1} attempts: ${e==null?void 0:e.message}`)}async _initWorkerOnce(){const e=Bs._getWorkerName();if(this._config.workerURL)Ln.info("Using custom workerURL:",this._config.workerURL),this._worker=new SharedWorker(this._config.workerURL,{name:e,type:"module"});else{const r=az(r4),n=typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:gs&&gs.tagName.toUpperCase()==="SCRIPT"&&gs.src||new URL("index.umd.js",document.baseURI).href,i=new URL(r,n).href,s=window.location.origin;let o;try{o=new URL(i).origin}catch(c){Ln.debug("Failed to parse worker URL origin, assuming same-origin:",c),o=s}const l=o!==s;if(Ln.info("worker init:",{workerURL:i,pageOrigin:s,workerOrigin:o,isCrossOrigin:l}),!l)this._worker=r4({name:e});else{let c;try{const h=await fetch(i,{cache:"default"});if(!h.ok)throw new Error(`HTTP ${h.status} ${h.statusText}`);c=await h.text()}catch(h){throw new Error(`[WorkerBridge] failed to fetch worker script from ${i}: ${h instanceof Error?h.message:h}`)}const d=new Blob([c],{type:"application/javascript"}),u=URL.createObjectURL(d);try{this._worker=new SharedWorker(u,{name:e,type:"module"})}finally{URL.revokeObjectURL(u)}}}this._core=yT(this._worker.port),this._worker.onerror=r=>{Ln.error("SharedWorker error:",{message:r.message,filename:r.filename,lineno:r.lineno,colno:r.colno,error:r.error})},this._worker.port.onmessageerror=r=>{Ln.error("port message error:",r)}}async _verifyWorkerAlive(){if(!this._core)throw new Error("[WorkerBridge] No core available for verification");let e;const r=new Promise((n,i)=>{e=setTimeout(()=>{const s=`Worker verification timed out after ${Bs.VERIFICATION_TIMEOUT_MS}ms. This may indicate a stale SharedWorker from a previous browser session (e.g., after force-killing a tab during debugging). To resolve: visit chrome://inspect/#workers, find and terminate the stale 'rtc-agent-worker' instance, then reload the page.`;i(new Error(s))},Bs.VERIFICATION_TIMEOUT_MS)});try{const n=await Promise.race([this._core.ping(),r]);if(n!=="pong")throw new Error(`Unexpected ping response: ${n}`);Ln.info("Worker verification successful")}catch(n){const i=n instanceof Error?n.message:"unknown error";throw new Error(`[WorkerBridge] Worker verification failed: ${i}`)}finally{e!==void 0&&clearTimeout(e)}}_cleanupFailedWorker(){if(this._worker){try{this._worker.port.close()}catch{}this._worker=null}this._core=null}_delay(e){return new Promise(r=>setTimeout(r,e))}get core(){return this._core}async init(e){if(this._initialized){Ln.warn("already initialized");return}if(this._initPromise)return this._initPromise;this._initPromise=this._doInit(e);try{await this._initPromise,this._initialized=!0}finally{this._initPromise=null}}async _doInit(e){if(!this._worker||!this._core)throw new Error("[WorkerBridge] init() called before initWorker()");const r=e.databaseName??"default",n=r!==this._databaseName;this._databaseName=r,(!this._hasRestoredFromStorage||n)&&(this._lastProcessedSeq=this._loadLastProcessedSeq(),this._hasRestoredFromStorage=!0),this._worker.port.start(),await this._core.init(e),await this._core.registerCallback(this._proxiedCallbacks),await this._doCatchUp()}async destroy(e=!1){var r;if((r=this._catchUpAbortController)==null||r.abort(),!!this._initialized&&!(!this._worker||!this._core)){try{await this._core.unregisterCallback(this._proxiedCallbacks)}catch(n){Ln.warn("unregisterCallback failed:",n)}if(this._connectionListeners.clear(),this._worker.port.close(),this._initialized=!1,this._yieldChannel&&(this._yieldChannel.port1.close(),this._yieldChannel.port2.close(),this._yieldChannel=void 0),this._yieldResolves.length=0,e){this._lastProcessedSeq=0,this._hasRestoredFromStorage=!1;try{sessionStorage.removeItem(this._getSessionStorageKey())}catch{}}}}async getConnectionState(){return this._core.getConnectionState()}onConnectionStateChange(e){return this._connectionListeners.add(e),()=>{this._connectionListeners.delete(e)}}installVirtualFSProxy(){const e=this._core;Vr.read=(r,n,i)=>e.virtualFSRead(r,n,i),Vr.write=(r,n,i="overwrite",s)=>e.virtualFSWrite(r,n,i,s),Vr.ls=r=>e.virtualFSLs(r),Vr.find=(r,n)=>e.virtualFSFind(r,n),Vr.grep=(r,n,i,s)=>e.virtualFSGrep(r,n,i,s),Vr.queryByType=r=>e.virtualFSQueryByType(r),Vr.exists=r=>e.virtualFSExists(r),Vr.remove=r=>e.virtualFSRemove(r)}async cacheFile(e,r,n,i,s){return this._core.cacheFile(e,r,n,i,s)}async cacheFilePending(e,r,n,i,s){return this._core.cacheFilePending(e,r,n,i,s)}async getCachedFile(e,r){return this._core.getCachedFile(e,r)}async evictExpiredCache(){return this._core.evictExpiredCache()}async evictCache(e){return this._core.evictCache(e)}async uploadFile(e,r,n,i,s,o,l,c){if(l!=null&&l.aborted)throw new DOMException("Upload aborted","AbortError");const d=`op-upload-${++this._operationCounter}`;let u;if(l){const g=()=>{this._core.cancelFileOperation(d)};l.addEventListener("abort",g,{once:!0}),u=()=>l.removeEventListener("abort",g)}const h=o?wh(n4(o,100)):void 0;try{return await this._core.uploadFile(e,r,n,i,s,d,h,c)}finally{u==null||u()}}async downloadFile(e,r,n,i,s){if(i!=null&&i.aborted)throw new DOMException("Download aborted","AbortError");const o=`op-download-${++this._operationCounter}`;let l;if(i){const d=()=>{this._core.cancelFileOperation(o)};i.addEventListener("abort",d,{once:!0}),l=()=>i.removeEventListener("abort",d)}const c=n?wh(n4(n,100)):void 0;try{return await this._core.downloadFile(e,r,c,o,s)}finally{l==null||l()}}async deleteFile(e,r){return this._core.deleteFile(e,r)}async calculateFileMD5(e){return this._core.calculateFileMD5(e)}async headFile(e,r){return this._core.headFile(e,r)}async getPresignedUrl(e,r,n){return this._core.getPresignedUrl(e,r,n)}async listFiles(e,r=100,n=0){return this._core.listFiles(e,r,n)}async countFiles(e){return this._core.countFiles(e)}async syncPendingFiles(){return this._core.syncPendingFiles()}async resumeInterruptedUploads(){return this._core.resumeInterruptedUploads()}async getCacheStats(){return this._core.getCacheStats()}async updateFileMetadata(e,r,n){return this._core.updateFileMetadata(e,r,n)}async _doCatchUp(){if(!this._core)return;this._catchUpAbortController=new AbortController;const e=this._catchUpAbortController.signal;try{let r=this._lastProcessedSeq,n=0,i=!0;for(;i&&!e.aborted;){const s=await this._core.getCatchUpEvents(r);if(e.aborted)break;if(s.hasGap){Ln.warn("catchUp: gap detected, triggering state refresh"),this._callbacks.onStateGap();return}if(s.entries.length===0)return;Ln.debug(`catchUp: replaying ${s.entries.length} events from seq ${r}`);const o=8;let l=performance.now();for(let c=0;c<s.entries.length&&!e.aborted;c++){const d=s.entries[c],u=d.seq;if(!(u<=this._lastProcessedSeq)){if(!this._isValidUIUpdateEvent(d.event)){Ln.warn("catchUp: skipping entry with invalid event structure");continue}try{this._callbacks.onUIUpdate({event:d.event,seq:u}),n++}catch(h){Ln.error("catchUp: failed to deliver event, stopping:",h);return}performance.now()-l>o&&(await this._yieldToMain(),l=performance.now())}}r=s.entries[s.entries.length-1].seq,i=s.hasMore}if(e.aborted){Ln.debug("catchUp: cancelled");return}n>0&&Ln.debug(`catchUp: delivered ${n} total events`)}catch(r){e.aborted||Ln.error("catchUp: failed to query events (non-fatal):",r)}finally{this._catchUpAbortController=void 0}}_yieldToMain(){return new Promise(e=>{this._yieldChannel||(this._yieldChannel=new MessageChannel,this._yieldChannel.port1.onmessage=()=>{const r=this._yieldResolves.shift();r&&r()}),this._yieldResolves.push(e),this._yieldChannel.port2.postMessage(null)})}_isValidUIUpdateEvent(e){if(!e||typeof e!="object")return!1;const r=e;return typeof r.entity=="string"&&typeof r.action=="string"&&typeof r.entityId=="string"}_updateLastProcessedSeq(e){this._lastProcessedSeq=e,this._saveLastProcessedSeq()}_getSessionStorageKey(){return`${Bs.SESSION_STORAGE_KEY_PREFIX}-${this._databaseName}`}_loadLastProcessedSeq(){try{const e=sessionStorage.getItem(this._getSessionStorageKey());if(e!==null){const r=parseInt(e,10);if(!isNaN(r)&&r>=0)return r}}catch{}return 0}_saveLastProcessedSeq(){try{sessionStorage.setItem(this._getSessionStorageKey(),String(this._lastProcessedSeq))}catch{Ln.debug("Failed to save lastProcessedSeq to sessionStorage (non-fatal)")}}};Bs.SESSION_STORAGE_KEY_PREFIX="rtc-ui-update-seq",Bs.MAX_INIT_RETRIES=3,Bs.INIT_RETRY_DELAY_MS=1e3,Bs.VERIFICATION_TIMEOUT_MS=5e3;let H_=Bs;const rp=er("MasterLock");class lz{constructor(e){this._isMaster=!1,this._controlled=!1,this._lockName=`rtc-agent-master-${e}`}get isMaster(){return this._isMaster}get isControlled(){return this._controlled}async acquire(){var e;if(this._controlled){rp.warn("already acquiring/acquired, ignoring");return}if(!this._isWebLocksAvailable()){rp.warn("Web Locks API not available, acting as always-master"),this._isMaster=!0,this._controlled=!0,(e=this.onAcquire)==null||e.call(this);return}this._controlled=!0,this._abortController=new AbortController,navigator.locks.request(this._lockName,{signal:this._abortController.signal},async()=>{var r,n;this._isMaster=!0,rp.info("acquired lock → became Master"),(r=this.onAcquire)==null||r.call(this),await new Promise(i=>{this._releaseResolve=i}),this._isMaster=!1,rp.info("released lock → lost Master"),(n=this.onRelease)==null||n.call(this)}).catch(r=>{r instanceof DOMException&&r.name==="AbortError"||rp.error("lock request error:",r)})}release(){this._controlled&&(this._releaseResolve&&(this._releaseResolve(),this._releaseResolve=void 0),!this._isMaster&&this._abortController&&this._abortController.abort(),this._controlled=!1)}_isWebLocksAvailable(){return typeof navigator<"u"&&"locks"in navigator}}const Ds=er("PersistenceController");function dte(t){return t}class cz{constructor(e){this._core=e}async connect(){Ds.info("connect() called"),await this._core.connect(),Ds.info("connect() completed, worker state:",await this._core.getConnectionState())}disconnect(){this._core.disconnect()}async reconnect(){await this._core.reconnect()}async listSessions(e,r){return this._core.listSessions(e,r)}async getSession(e){return this._core.getSession(e)}async listMessages(e,r,n,i){return this._core.listMessages(e,r,n,i)}async getMessage(e){return this._core.getMessage(e)}async listRtc(e,r,n){return this._core.listRtc(e,r,n)}async getNextRtcToProcess(e){return this._core.getNextRtcToProcess(e)}async sendMessage(e){return this._core.sendMessage(e)}async insertLocalMessage(e){return this._core.insertLocalMessage(e)}async stopTurn(e){return this._core.stopTurn(e)}async closeSession(e){return this._core.closeSession(e)}async openSession(e){return this._core.openSession(e)}async compactSession(e,r){return this._core.compactSession(e,r)}async submitRtcResult(e){return this._core.submitRtcResult(e)}async forkSession(e){return this._core.forkSession(e)}async deleteSession(e){return this._core.deleteSession(e)}async updateSessionTitle(e,r){return this._core.updateSessionTitle(e,r)}async close(){await this._core.close()}async flushAll(){return this._core.flushAll()}async initializeVirtualFS(e){await this._core.initializeVirtualFS(e??{})}getClient(){throw new Error("[WorkerPersistenceAdapter] getClient() is not available. Use PersistenceController.onConnectionStateChange() instead.")}getOffsetManager(){return{reset:()=>this._core.resetOffset()}}getEntityRepository(){throw new Error("[WorkerPersistenceAdapter] getEntityRepository() is not available.")}}const Ql=class Ql{constructor(e,r){this._connectGeneration=0,this._auth=r,e.addController(this)}set databaseName(e){this._databaseNameOverride=e}set workerURL(e){this._workerURL=e}get layer(){return this._layer}get isConnected(){return this._layer!==void 0}get workerBridge(){return this._workerBridge}get masterLock(){return this._masterLock}get fileStorage(){if(!this._fileStorage){if(!this._workerBridge)throw new Error("[PersistenceController] fileStorage requires an active connection. Call connect() first.");const e=this._auth.state.userId;if(!e)throw new Error("[PersistenceController] fileStorage requires userId from auth state.");this._fileStorage=new q2(this._workerBridge,e)}return this._fileStorage}hostConnected(){}hostDisconnected(){this.disconnect()}async connect(){if(Ds.debug("connect() called"),this._layer)return;if(this._connecting)return this._connecting;const e=lT(),r=this._auth.state.userId;if(Ds.debug("connect() userId:",r,"deviceId:",e),!r)throw new Error("[PersistenceController] connect() called without userId; refusing to open a shared database");const n={databaseName:this._databaseNameOverride?`${this._databaseNameOverride}-${r}`:`rtc-agent-${r}`,deviceId:e,userId:r,serverURL:Uo.serverURL,client:{endpoint:Uo.wsEndpoint,getToken:async()=>{const s=await this._auth.getAccessTokenAsync();if(!s)throw Ds.warn("getToken: no access token available"),new Error("No access token available");return s},onTokenExpired:()=>this._auth.handleTokenExpired(),onAccountBanned:s=>{Ds.warn("Account banned:",s)},deviceId:e,userId:r}},i=this._connectGeneration;return this._connecting=this._connectWorker(n).finally(()=>{this._connectGeneration===i&&(this._connecting=void 0)}),this._connecting}async _connectWorker(e){let r=null;for(let n=0;n<=Ql.MAX_CONNECT_RETRIES;n++)try{n>0&&(Ds.warn(`Retrying connection (attempt ${n+1}/${Ql.MAX_CONNECT_RETRIES+1})...`),await this._delay(Ql.CONNECT_RETRY_DELAY_MS*n)),await this._connectWorkerOnce(e);return}catch(i){r=i instanceof Error?i:new Error(String(i)),Ds.error(`Connection attempt ${n+1} failed:`,r),await this._cleanupFailedConnection()}throw new Error(`[PersistenceController] Failed to connect after ${Ql.MAX_CONNECT_RETRIES+1} attempts: ${r==null?void 0:r.message}`)}async _connectWorkerOnce(e){const r=new H_(this._auth,{workerURL:this._workerURL});if(this._workerBridge=r,await r.initWorker(),this._workerBridge!==r){await r.destroy().catch(()=>{});return}const{getToken:n,onTokenExpired:i,onAccountBanned:s,...o}=e.client,l={...e,client:o};if(await r.init(l),this._workerBridge!==r){await r.destroy().catch(()=>{});return}r.installVirtualFSProxy(),this._layer=new cz(r.core),await r.core.connect();const c=this._auth.state.userId;c&&(this._masterLock=new lz(c),this._masterLock.onAcquire=()=>{Ds.info("this Tab became Master")},this._masterLock.onRelease=()=>{Ds.info("this Tab lost Master")},this._masterLock.acquire())}async _cleanupFailedConnection(){if(this._workerBridge){try{await this._workerBridge.destroy()}catch(e){Ds.debug("Cleanup after failed connection (non-critical):",e)}this._workerBridge=void 0}this._layer=void 0,this._fileStorage=void 0}_delay(e){return new Promise(r=>setTimeout(r,e))}async disconnect(){var i;this._connectGeneration++;const e=this._connectGeneration;this._connecting&&(this._connecting=void 0);const r=this._layer,n=this._workerBridge;if(this._layer=void 0,this._workerBridge=void 0,r)try{await r.getOffsetManager().reset(),await r.close()}catch(s){Ds.error("disconnect error:",s)}if(n){(i=this._masterLock)==null||i.release(),this._masterLock=void 0,this._fileStorage=void 0;try{await n.destroy()}catch(s){Ds.error("WorkerBridge disconnect error:",s)}}this._connectGeneration!==e&&Ds.warn("disconnect interrupted by new connect, generation changed")}async getConnectionState(){return this._workerBridge?this._workerBridge.getConnectionState():"disconnected"}onConnectionStateChange(e){return this._workerBridge?this._workerBridge.onConnectionStateChange(e):()=>{}}};Ql.MAX_CONNECT_RETRIES=2,Ql.CONNECT_RETRY_DELAY_MS=2e3;let K_=Ql;const i4=er("EventBus");class s4{constructor(){this.handlers=new Map}on(e,r){return this.handlers.has(e)||this.handlers.set(e,new Set),this.handlers.get(e).add(r),()=>{var n;(n=this.handlers.get(e))==null||n.delete(r)}}once(e,r){const n=i=>(this.off(e,n),r(i));return this.on(e,n)}off(e,r){var n;(n=this.handlers.get(e))==null||n.delete(r)}emit(e,r){const n=this.handlers.get(e);if(!n)return;const i=Array.from(n);for(const s of i)try{s(r)}catch(o){i4.error(`Handler error for event '${e}':`,o)}}async emitAsync(e,r){const n=this.handlers.get(e);if(!n)return;const i=Array.from(n),s=[];for(const o of i)s.push(Promise.resolve(o(r)).catch(l=>{i4.error(`Async handler error for event '${e}':`,l)}));await Promise.all(s)}async emitAsyncStrict(e,r){const n=this.handlers.get(e);if(!n)return;const i=Array.from(n),s=[];for(const o of i)s.push(Promise.resolve(o(r)));await Promise.all(s)}clearAll(){this.handlers.clear()}clearEvent(e){this.handlers.delete(e)}}function o4(){return new s4}const To=o4(),uz=er("SkillController");class a4{constructor(e,r){this._registry=null,this._config={},this._unsubscribes=[],this._host=e,this._config=r||{},e.addController(this)}get value(){return{registry:this._registry}}get actions(){return{getRegistry:()=>this._registry,setRegistry:e=>{this._registry=e,this._host.requestUpdate(),this._bridgeToolRegistry(e)}}}_bridgeToolRegistry(e){const r=new Proxy({callFunction:(n,i)=>e.execute(n,i),readFile:n=>Vr.read(n),writeFile:(n,i)=>Vr.write(n,i).then(()=>{}),listDir:n=>Vr.ls(n)},{get(n,i){return i in n?n[i]:e[i]}});e4.setRtcAgent(r),uz.info("rtcAgent API bridged to ToolRegistry")}setConfig(e){this._config=e}hostConnected(){this._subscribeEvents()}hostDisconnected(){for(const e of this._unsubscribes)e();this._unsubscribes=[]}_subscribeEvents(){for(const n of this._unsubscribes)n();this._unsubscribes=[];const e=To.on("ui:toast",n=>{this._config.onToast&&this._config.onToast(n.message,n.type)});this._unsubscribes.push(e);const r=To.on("ui:confirm-request",n=>{this._config.onConfirmRequest&&this._config.onConfirmRequest(n.requestId,n.path,n.message)});this._unsubscribes.push(r)}respondToConfirm(e,r){To.emit("ui:confirm-response",{requestId:e,confirmed:r})}}class dz{constructor(e){this._toasts=[],this._timers=new Map,this._host=e,this._host.addController(this),this.actions={show:(r,n="info",i)=>this._show(r,n,i),remove:r=>this._remove(r)}}get toasts(){return this._toasts}hostConnected(){}hostDisconnected(){for(const e of this._timers.values())clearTimeout(e);this._timers.clear(),this._toasts.length>0&&(this._toasts=[],this._host.requestUpdate())}_show(e,r,n){const i=Date.now()+Math.random();this._toasts=[...this._toasts,{id:i,message:e,type:r,action:n}],this._host.requestUpdate();const s=r==="error"?0:r==="success"?2e3:2500;if(s>0){const o=setTimeout(()=>this._remove(i),s);this._timers.set(i,o)}}_remove(e){const r=this._timers.get(e);r!==void 0&&(clearTimeout(r),this._timers.delete(e)),this._toasts=this._toasts.filter(n=>n.id!==e),this._host.requestUpdate()}}const l4=er("ForkController");class fz{constructor(e){this._state=null,this._deps=null,this._host=e,this._host.addController(this),this.actions={requestFork:(r,n,i,s)=>this._requestFork(r,n,i,s),submitFork:r=>this._submitFork(r),clearFork:()=>this._clearFork()}}get state(){return this._state}get isActive(){return this._state!==null}setDeps(e){this._deps=e}hostConnected(){}hostDisconnected(){}_requestFork(e,r,n,i){var o;const s=i.length>30?i.slice(0,30)+"...":i;this._state={oldSessionClientId:e,oldMessageClientId:r,newSessionClientId:n,hintMessage:Me(wr`🔀 从「${s}」分叉`)},this._host.requestUpdate(),(o=this._deps)==null||o.clearMessages(),l4.debug("_requestFork: state set, transient params handled by tab property binding")}async _submitFork(e){if(!this._state||!this._deps)return;const r=`msg-${crypto.randomUUID()}`;try{await this._deps.executeFork({oldSessionClientId:this._state.oldSessionClientId,oldMessageClientId:this._state.oldMessageClientId,newSessionClientId:this._state.newSessionClientId,newMessageClientId:r,content:e})}catch(n){l4.error("forkSession failed:",n)}this._clearFork()}_clearFork(){var e;this._state&&((e=this._deps)==null||e.clearTransientParams(this._state.newSessionClientId)),this._state=null,this._host.requestUpdate()}}const c4=er("ActivityController");class pz{constructor(e){this._state={...ch},this.host=e,this.host.addController(this),this.actions={setActivity:r=>this._setActivity(r),showSidebar:()=>this._showSidebar(),hideSidebar:()=>this._hideSidebar(),toggleSidebar:()=>this._toggleSidebar(),reset:()=>this._reset()},this._restore()}get value(){return{state:this._state,actions:this.actions}}get active(){return this._state.active}get sidebarVisible(){return this._state.sidebarVisible}hostConnected(){}hostDisconnected(){}_restore(){try{const e=localStorage.getItem(Xr.activityBar);if(!e)return;const r=JSON.parse(e),n=i=>i==="files"||i==="chat"||i==="settings"||i==="functions";r&&typeof r=="object"&&(this._state={active:n(r.active)?r.active:ch.active,sidebarVisible:typeof r.sidebarVisible=="boolean"?r.sidebarVisible:ch.sidebarVisible})}catch(e){c4.debug("Failed to restore activity state:",e)}}_persist(){try{localStorage.setItem(Xr.activityBar,JSON.stringify(this._state))}catch(e){c4.debug("Failed to persist activity state:",e)}}_setActivity(e){this._state.active===e?this._toggleSidebar():(this._state={active:e,sidebarVisible:this._state.sidebarVisible},this._persist(),this.host.requestUpdate())}_showSidebar(){this._state.sidebarVisible||(this._state={...this._state,sidebarVisible:!0},this._persist(),this.host.requestUpdate())}_hideSidebar(){this._state.sidebarVisible&&(this._state={...this._state,sidebarVisible:!1},this._persist(),this.host.requestUpdate())}_toggleSidebar(){this._state={...this._state,sidebarVisible:!this._state.sidebarVisible},this._persist(),this.host.requestUpdate()}_reset(){this._state={...ch},this._persist(),this.host.requestUpdate()}}class hz{constructor(e){this._state={...L2},this._expandedPaths=new Set,this._loadingPaths=new Set,this._host=e,e.addController(this)}get state(){return this._state}get value(){return{state:this._state,actions:this.actions,isExpanded:e=>this._expandedPaths.has(e),isLoading:e=>this._loadingPaths.has(e),isSelected:e=>this._state.selectedPath===e}}get actions(){return{setRoot:e=>this._setRoot(e),toggleNode:e=>this._toggleNode(e),expandAll:()=>this._expandAll(),collapseAll:()=>this._collapseAll(),selectNode:e=>this._selectNode(e),setLoading:(e,r)=>this._setLoading(e,r),updateChildren:(e,r)=>this._updateChildren(e,r),reset:()=>this._reset()}}hostConnected(){}hostDisconnected(){this._reset()}_setRoot(e){this._state={...this._state,root:e},this._host.requestUpdate()}_toggleNode(e){this._expandedPaths.has(e)?this._expandedPaths.delete(e):this._expandedPaths.add(e),this._host.requestUpdate()}_expandAll(){this._state.root&&(this._collectFolderPaths(this._state.root,this._expandedPaths),this._host.requestUpdate())}_collapseAll(){this._expandedPaths.clear(),this._host.requestUpdate()}_selectNode(e){this._state={...this._state,selectedPath:e},this._host.requestUpdate()}_setLoading(e,r){r?this._loadingPaths.add(e):this._loadingPaths.delete(e),this._host.requestUpdate()}_updateChildren(e,r){if(!this._state.root)return;const n=this._updateNodeChildren(this._state.root,e,r);n&&(this._state={...this._state,root:n},this._host.requestUpdate())}_reset(){this._state={...L2},this._expandedPaths.clear(),this._loadingPaths.clear(),this._host.requestUpdate()}_collectFolderPaths(e,r){if(e.type==="folder"&&(r.add(e.path),e.children))for(const n of e.children)this._collectFolderPaths(n,r)}_updateNodeChildren(e,r,n){if(e.path===r)return{...e,children:n};if(e.type==="folder"&&e.children){const i=e.children.map(o=>this._updateNodeChildren(o,r,n)||o);if(i.some((o,l)=>o!==e.children[l]))return{...e,children:i}}return null}}const u4=er("EditorAreaController");class mz{constructor(e){this._tabs=[],this._activeFilePath="",this._host=e,this._host.addController(this),this.actions={openFile:(r,n,i)=>this._openFile(r,n,i),closeFile:r=>this._closeFile(r),closeAll:()=>this._closeAll(),switchTab:r=>this._switchTab(r),updateContent:(r,n)=>this._updateContent(r,n),saveFile:r=>this._saveFile(r),setViewMode:(r,n)=>this._setViewMode(r,n),setCursorPosition:(r,n)=>this._setCursorPosition(r,n),loadContent:(r,n)=>this._loadContent(r,n)},this._restore()}hostConnected(){}hostDisconnected(){this._cursorPersistTimer&&(clearTimeout(this._cursorPersistTimer),this._cursorPersistTimer=void 0)}_restore(){var e;try{const r=localStorage.getItem(Xr.editorArea);if(!r)return;const n=JSON.parse(r);if(!n||!Array.isArray(n.tabs))return;const i=o=>o==="edit"||o==="preview"||o==="split";this._tabs=n.tabs.map(o=>({filePath:o.filePath,content:"",isDirty:!1,cursorPosition:i(o.viewMode)?{line:1,column:1}:o.cursorPosition??{line:1,column:1},viewMode:i(o.viewMode)?o.viewMode:"edit"}));const s=this._tabs.some(o=>o.filePath===n.activeFilePath);this._activeFilePath=s?n.activeFilePath:((e=this._tabs[0])==null?void 0:e.filePath)??""}catch(r){u4.debug("Failed to restore editor area state:",r)}}_persist(){try{if(this._tabs.length===0){localStorage.removeItem(Xr.editorArea);return}const e={tabs:this._tabs.map(r=>({filePath:r.filePath,viewMode:r.viewMode,cursorPosition:r.cursorPosition})),activeFilePath:this._activeFilePath};localStorage.setItem(Xr.editorArea,JSON.stringify(e))}catch(e){u4.debug("Failed to persist editor area state:",e)}}get state(){return{tabs:this._tabs,activeFilePath:this._activeFilePath}}get tabs(){return this._tabs}get activeFilePath(){return this._activeFilePath}get activeTab(){return this._tabs.find(e=>e.filePath===this._activeFilePath)}_openFile(e,r,n="edit"){if(this._tabs.find(o=>o.filePath===e)){this._activeFilePath=e,this._persist(),this._host.requestUpdate();return}const s={filePath:e,content:r,isDirty:!1,cursorPosition:{line:1,column:1},viewMode:n};this._tabs=[...this._tabs,s],this._activeFilePath=e,this._persist(),this._host.requestUpdate()}_closeFile(e){const r=this._tabs.findIndex(i=>i.filePath===e);if(r===-1)return;const n=e===this._activeFilePath;if(this._tabs=this._tabs.filter(i=>i.filePath!==e),n)if(this._tabs.length===0)this._activeFilePath="";else{const i=Math.min(r,this._tabs.length-1);this._activeFilePath=this._tabs[i].filePath}this._persist(),this._host.requestUpdate()}_closeAll(){this._tabs=[],this._activeFilePath="",this._persist(),this._host.requestUpdate()}_switchTab(e){this._tabs.some(n=>n.filePath===e)&&(this._activeFilePath=e,this._persist(),this._host.requestUpdate())}_updateContent(e,r){this._tabs=this._tabs.map(n=>n.filePath!==e?n:{...n,content:r,isDirty:!0}),this._host.requestUpdate()}_saveFile(e){this._tabs=this._tabs.map(r=>r.filePath!==e?r:{...r,isDirty:!1}),this._persist(),this._host.requestUpdate()}_setViewMode(e,r){this._tabs=this._tabs.map(n=>n.filePath!==e?n:{...n,viewMode:r}),this._persist(),this._host.requestUpdate()}_setCursorPosition(e,r){const n=this._tabs.find(i=>i.filePath===e);n&&(n.cursorPosition.line===r.line&&n.cursorPosition.column===r.column||(this._tabs=this._tabs.map(i=>i.filePath!==e?i:{...i,cursorPosition:r}),this._host.requestUpdate(),!this._cursorPersistTimer&&(this._cursorPersistTimer=setTimeout(()=>{this._cursorPersistTimer=void 0,this._persist()},2e3))))}_loadContent(e,r){if(this._tabs.find(s=>s.filePath===e)){this._tabs=this._tabs.map(s=>s.filePath!==e?s:{...s,content:r,isDirty:!1}),this._host.requestUpdate();return}const i={filePath:e,content:r,isDirty:!1,cursorPosition:{line:1,column:1},viewMode:"edit"};this._tabs=[...this._tabs,i],this._activeFilePath||(this._activeFilePath=e),this._persist(),this._host.requestUpdate()}}function gz(t){var r;switch((r=t.split(".").pop())==null?void 0:r.toLowerCase()){case"md":return"Markdown";case"js":return"JavaScript";case"ts":return"TypeScript";case"json":return"JSON";case"html":return"HTML";case"css":return"CSS";case"txt":return"Plain Text";default:return"File"}}class yz{constructor(e,r){this._host=e,this._editorController=r,this._host.addController(this)}hostConnected(){}hostDisconnected(){}get info(){const e=this._editorController.activeTab;return e?{fileType:gz(e.filePath),encoding:"UTF-8",cursor:e.cursorPosition,saveStatus:e.isDirty?"unsaved":"saved"}:{fileType:"",encoding:"UTF-8",cursor:{line:1,column:1},saveStatus:"none"}}}class bz{constructor(e){this._state={rootNodes:[]},this._expanded=new Map,this.host=e,this.host.addController(this),this.actions={toggleExpand:r=>this._toggleExpand(r),expand:r=>this._setExpanded(r,!0),collapse:r=>this._setExpanded(r,!1),rebuildTree:r=>this._rebuildTree(r)},this._restoreExpanded()}get value(){return{state:this._state,actions:this.actions}}hostConnected(){}hostDisconnected(){}_restoreExpanded(){}_persistExpanded(){try{const e={};this._expanded.forEach((r,n)=>{r&&(e[n]=!0)}),Object.keys(e).length>0?localStorage.setItem(Xr.sessionTreeExpanded,JSON.stringify(e)):localStorage.removeItem(Xr.sessionTreeExpanded)}catch{}}_toggleExpand(e){const r=this._expanded.get(e)??!1;this._setExpanded(e,!r)}_setExpanded(e,r){this._expanded.set(e,r),this._persistExpanded(),this._rebuildTreeFromCache()}_rebuildTreeFromCache(){this._cachedSessions&&this._buildTree(this._cachedSessions)}_rebuildTree(e){this._cachedSessions=e,this._buildTree(e)}_buildTree(e){const r=e.filter(s=>!s.rootClientSessionId),n=new Map;for(const s of e)if(s.rootClientSessionId){const o=n.get(s.rootClientSessionId)??[];o.push(s),n.set(s.rootClientSessionId,o)}const i=r.map(s=>this._buildNode(s,n));i.sort((s,o)=>o.session.updatedAt-s.session.updatedAt),this._state={rootNodes:i},this.host.requestUpdate()}_buildNode(e,r){const n=(r.get(e.clientId)??[]).sort((i,s)=>i.createdAt-s.createdAt).map(i=>this._buildNode(i,r));return{session:e,children:n,isExpanded:this._expanded.get(e.clientId)??!1}}}const gy=er("SessionTabController"),G_="rtc:active-tab";class vz{constructor(e){this._state={tabs:[],activeSessionId:null},this.host=e,this.host.addController(this),this.actions={openOrActivate:(r,n,i)=>this._openOrActivate(r,n,i),closeTab:r=>this._closeTab(r),setActiveTab:r=>this._setActiveTab(r),clearAll:()=>this._clearAll(),updateTabTitles:r=>this.updateTabTitles(r),syncTabStatuses:r=>this.syncTabStatuses(r),markSaved:r=>this._markSaved(r),findUnsavedTab:()=>this._findUnsavedTab(),updateTabStatus:(r,n)=>this._updateTabStatus(r,n),restoreActiveFromStorage:()=>this._restoreActiveFromStorage(),getStoredActiveSessionId:()=>this._getStoredActiveSessionId(),setTransientParams:(r,n)=>this._setTransientParams(r,n),clearTransientParams:r=>this._clearTransientParams(r)}}get value(){return{state:this._state,actions:this.actions}}hostConnected(){}hostDisconnected(){}filterInvalidTabs(e){const r=this._state.tabs.length,n=this._state.tabs.filter(s=>e.has(s.sessionId)||s.isUnsaved===!0);let i=this._state.activeSessionId;return i&&!n.some(s=>s.sessionId===i)&&(i=n.length>0?n[0].sessionId:null),n.length!==r?(this._state={tabs:n,activeSessionId:i},this.host.requestUpdate(),!0):!1}updateTabTitles(e){let r=!1;const n=this._state.tabs.map(i=>{const s=e.get(i.sessionId);return s!==void 0&&s.trim()!==""&&s!==i.title?(r=!0,{...i,title:s,isDefault:!1,isUnsaved:!1}):i});return r&&(this._state={...this._state,tabs:n},this.host.requestUpdate()),r}syncTabStatuses(e){let r=!1;const n=this._state.tabs.map(i=>{const s=e.get(i.sessionId);return s!==void 0&&s!==i.status?(r=!0,{...i,status:s}):i});return r&&(this._state={...this._state,tabs:n},this.host.requestUpdate()),r}_isPlaceholderTitle(e){return!e||e===Me("未命名")||e===Me("新聊天")}_findUnsavedTab(){return this._state.tabs.find(e=>e.isUnsaved===!0)}_markSaved(e){const r=this._state.tabs.find(i=>i.sessionId===e);if(!r||r.isUnsaved!==!0)return;const n=this._state.tabs.map(i=>i.sessionId===e?{...i,isUnsaved:!1}:i);this._state={...this._state,tabs:n},this.host.requestUpdate()}_updateTabStatus(e,r){const n=this._state.tabs.find(s=>s.sessionId===e);if(!n||n.status===r)return;const i=this._state.tabs.map(s=>s.sessionId===e?{...s,status:r}:s);this._state={...this._state,tabs:i},this.host.requestUpdate()}_openOrActivate(e,r,n){const i=this._isPlaceholderTitle(r),s=(n==null?void 0:n.activate)??!0,o=(n==null?void 0:n.skipPersist)??!1,l=(n==null?void 0:n.initialInputValue)!==void 0||(n==null?void 0:n.noticeMessage)!==void 0?{initialInputValue:n==null?void 0:n.initialInputValue,noticeMessage:n==null?void 0:n.noticeMessage}:void 0,c=this._state.tabs.findIndex(d=>d.sessionId===e);if(c>=0){const d=this._state.tabs[c];if(i&&!d.isDefault&&d.title!==r){gy.debug("Protected tab title:",d.title),s&&this._state.activeSessionId!==e&&(this._state={...this._state,activeSessionId:e},o||this._persistActiveSessionId(e),this.host.requestUpdate());return}const u=this._state.tabs.map((g,b)=>{if(b!==c)return g;const I={...g,title:r,isDefault:!!i};return l&&(I.initialInputValue=l.initialInputValue,I.noticeMessage=l.noticeMessage,I.initialValueVersion=(g.initialValueVersion??0)+1),I}),h=s?e:this._state.activeSessionId;this._state={tabs:u,activeSessionId:h},s&&!o&&this._persistActiveSessionId(h)}else{const d={sessionId:e,title:r,isDefault:!!i,isUnsaved:(n==null?void 0:n.isUnsaved)??!1,...l?{initialInputValue:l.initialInputValue,noticeMessage:l.noticeMessage,initialValueVersion:1}:{}},u=[...this._state.tabs,d],h=s?e:this._state.activeSessionId;this._state={tabs:u,activeSessionId:h},s&&!o&&this._persistActiveSessionId(h)}this.host.requestUpdate()}_closeTab(e){const r=this._state.tabs.findIndex(s=>s.sessionId===e);if(r<0)return;const n=this._state.tabs.filter(s=>s.sessionId!==e);let i=this._state.activeSessionId;if(i===e){if(n.length===0)i=null;else{const s=Math.min(r,n.length-1);i=n[s].sessionId}this._persistActiveSessionId(i)}this._state={tabs:n,activeSessionId:i},this.host.requestUpdate()}_setActiveTab(e){e!==null&&e!==this._state.activeSessionId?(this._state={...this._state,activeSessionId:e},this._persistActiveSessionId(e),this.host.requestUpdate()):e===null&&this._state.activeSessionId!==null&&(this._state={...this._state,activeSessionId:null},this._persistActiveSessionId(null),this.host.requestUpdate())}_clearAll(){this._state={tabs:[],activeSessionId:null},this._persistActiveSessionId(null),this.host.requestUpdate()}_persistActiveSessionId(e){try{if(typeof window>"u"||!window.localStorage)return;e===null?window.localStorage.removeItem(G_):window.localStorage.setItem(G_,e)}catch{}}_getStoredActiveSessionId(){try{return typeof window>"u"||!window.localStorage?null:window.localStorage.getItem(G_)}catch{return null}}_setTransientParams(e,r){if(!this._state.tabs.find(s=>s.sessionId===e))return;const i=this._state.tabs.map(s=>s.sessionId===e?{...s,initialInputValue:r.initialInputValue,noticeMessage:r.noticeMessage,initialValueVersion:(s.initialValueVersion??0)+1}:s);this._state={...this._state,tabs:i},this.host.requestUpdate()}_clearTransientParams(e){const r=this._state.tabs.find(i=>i.sessionId===e);if(!r||r.initialInputValue===void 0&&r.noticeMessage===void 0)return;const n=this._state.tabs.map(i=>i.sessionId===e?{...i,initialInputValue:void 0,noticeMessage:void 0}:i);this._state={...this._state,tabs:n},this.host.requestUpdate()}_restoreActiveFromStorage(){const e=this._getStoredActiveSessionId();return e?this._state.tabs.some(r=>r.sessionId===e)?this._state.activeSessionId===e?(gy.debug("Already active:",e),!1):(gy.debug("Restoring active tab:",e),this._state={...this._state,activeSessionId:e},this.host.requestUpdate(),!0):(gy.debug("Stored id not in tabs:",e),!1):!1}}const d4=er("SettingsController");class _z{constructor(e){this._state={...nf},this.host=e,this.host.addController(this),this.actions={updateAppearance:r=>this._update("appearance",r),updateChat:r=>this._update("chat",r),updateFiles:r=>this._update("files",r),updateNotifications:r=>this._update("notifications",r),resetAll:()=>this._reset()},this._restore()}get value(){return{state:this._state,actions:this.actions}}hostConnected(){this._removeGlobalListeners(),this._themeMediaQuery=window.matchMedia("(prefers-color-scheme: dark)"),this._themeMediaListener=()=>{this._state.appearance.theme==="system"&&this._applyTheme()},this._themeMediaQuery.addEventListener("change",this._themeMediaListener),(this.host.closest("rtc-agent")||this.host).hasAttribute("theme")||this._applyTheme(),this._applyFontSize(),this._storageListener=()=>this._handleStorageChange(),window.addEventListener("storage",this._storageListener)}hostDisconnected(){this._removeGlobalListeners(),document.documentElement.style.removeProperty("--rtc-font-size-user")}_removeGlobalListeners(){this._storageListener&&(window.removeEventListener("storage",this._storageListener),this._storageListener=void 0),this._themeMediaQuery&&this._themeMediaListener&&(this._themeMediaQuery.removeEventListener("change",this._themeMediaListener),this._themeMediaListener=void 0)}_restore(){var e,r;try{const n=localStorage.getItem(Xr.settings);if(!n)return;const i=JSON.parse(n);this._state={appearance:{theme:this._validateTheme((e=i.appearance)==null?void 0:e.theme),fontSize:this._validateFontSize((r=i.appearance)==null?void 0:r.fontSize)},chat:{...nf.chat,...i.chat},files:{...nf.files,...i.files},notifications:{...nf.notifications,...i.notifications}}}catch(n){d4.debug("Failed to restore settings:",n)}}_update(e,r){const n=this._state;this._state={...this._state,[e]:{...this._state[e],...r}},this._persist(),this._applyDiff(n,this._state),this.host.requestUpdate()}_reset(){const e=this._state;this._state={...nf},this._persist(),this._applyDiff(e,this._state),this.host.requestUpdate()}_persist(){try{localStorage.setItem(Xr.settings,JSON.stringify(this._state))}catch(e){d4.debug("Failed to persist settings:",e)}}_applyDiff(e,r){e.appearance.theme!==r.appearance.theme&&this._applyTheme(),e.appearance.fontSize!==r.appearance.fontSize&&this._applyFontSize()}_applyTheme(){var i;const e=this._state.appearance.theme,r=e==="system"?(i=this._themeMediaQuery)!=null&&i.matches?"dark":"light":e,n=this.host.closest("rtc-agent")||this.host;"theme"in n&&(n.theme=r)}_applyFontSize(){const e=this._state.appearance.fontSize,r=Math.min(24,Math.max(12,e));document.documentElement.style.setProperty("--rtc-font-size-user",`${r}px`)}_handleStorageChange(){const e=this._state;this._restore(),this._applyDiff(e,this._state),this.host.requestUpdate()}_validateTheme(e){return e==="light"||e==="dark"||e==="system"?e:"system"}_validateFontSize(e){return Math.min(24,Math.max(12,typeof e=="number"?e:14))}}const xz="data:audio/mpeg;base64,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",wz="data:audio/mpeg;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjYyLjEyLjEwMAAAAAAAAAAAAAAA//uQwAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAANAAAW2gAkJCQkJCQkNjY2NjY2NjZJSUlJSUlJSVtbW1tbW1ttbW1tbW1tbX9/f39/f39/kpKSkpKSkqSkpKSkpKSktra2tra2trbJycnJycnJ29vb29vb29vt7e3t7e3t7f////////8AAAAATGF2YzYyLjI4AAAAAAAAAAAAAAAAJASSAAAAAAAAFtoqbTRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uQxAAAE8xlJBW3gAs+uCNbPUAAMxMTMTEzM3M9QTRUk0lDM3GxQ6N+mD9fM+3VOxizZ0ky8bMPCTBwUwUDLfhgCEA5AcgSAQwXAuCgUafOc0zTQ9Rs8ejxgVisePKa+bv44e98AA8Md/wA//zDBH8AA8/w8MAAAAAA8PDw8MAAAAAA8PDw8MAAAAAA8PDw8MAAAAAA8PDw8MAAAAAA8PDw8MAAAAEB4eHh6QAADPDw8/9AEAAAAAAJGFmJ8YuJDxgCgYmD8GkhGYHAARkluwHWyNQZcaVpwtjpGPbgyYRZIRjsiXGGKG4YHAHoBAAMPQIMwNQCANdlA71Mmj+B0LYGLUAalIiYtwNOuAEIgZIiBkjKSnX4CQgGHCAYcUDeUGyVt/gAAw2YLIgbWD9QxT/+FoIpINXBkYY0QVEFf/8coUEKCIaLlFykOHOHO///Jkc0c0pEWIsYkVJ0yJ7///yeMSKl0yLxssutSej////b1a1UkWMUkjJFEupJF7/bs//pAC+pgBAAuXpMAxAsDA7wKIwDcACMDuCvTEIhEkxI//uSxA8CGDHnBL32gApjPOCBv4ioYhBNXUu+TQIAVswhEBeMF4BdzAvgHEwIYBPMATANjAFwA4BAFwIABwGkE9HieW7skmq1NSSdNaCzrGtTNNKq3qXTSSat1KQUy1IKsxktlLUjr3d6lLN8+69kkq0LprsXLIqq0FKuqbJqTXWkte906qq1ug6SnSRZKydNnalRUpm2Pomro1qSqROrZBb51JI4tad6/bYrRehvbRbOGRRs+h/31CRlEAYYCQmJHhk7WaJiGA2g3pgLw3YZft0nGNojJZhq4NcYLEBimBcgNhgNAB+YB6AQGAQABoOAFlOHoazD2MrM7J1crqWzIxXalX362a2Z6b+1j10b1VmSpaktglap3fkParJdlXqiuZVorNXPV7yurHUiM7bdmzKpaZHMqZ0XZHb7odR1a9NWKXBiGpWV3VloHCFI2vnyJVVAcPABpMAVkQCoVgJZgRgAmYJWBkGHPCyZ5vfaCZPmcDGKCBn5hBoMocWc5qdGGZiuY/GRhwIoDlypFNNnoZUp0mn3unK6QaxrtcUdc6P2+//7ksQoA9a6CP4P8QqK6D0fwf2hUTzX2sMvUk/Snny3M3SXEwPnrN2FdrmDHqE2alQyK4nleYmJoRGUdNyktces3HKUtkEl0ehlPK3tbXek7XGyWp4yt3SnS0qaqMdW8QLSm9cM9XjRMPiV6ToazTZhQXla0vr33ayFnLaGAOgDpgIACAYDaA1mBWAVRgjYIqYQQD1GKNiT59vCI2aeAZPmFihQhggwJ+cHYGmNJlp4YoRmAhS8XWYLA1mVOiIiW6ilsuL0GUy2ub/X1PLTULcKyWro9LFPrS0nFdWOdYQVaRHxtSN72debdTkmZuacelzo1Mx+0dzTRvTrUzyzurJBkNOl3SD39mqukKa6ofSjXl9B1R1EKrKIkDbHcT3R6TJAijkmKUY1DT1lx9gmo3JC6tYiPRUDmFBQY3J5mBAGm2Wb4qxg2YVKYegRbHJt/Sxo/ojwYOqAbmBnAEBgNIAGJAMg0AXjQAYjWpo1iV3Nq6VU1ZDXMS6nIZ3li9L3ctBxUqpzoS6ullEWQ1jX7HPKdDndGR4irVIsjHKKzzVdBZH/+5LENoPVvekADnylSlg9IIG/iKmtQWdUnUxkOj5DGUlHHkscaZisrnmdTbmO7LcSdijnl6qd2VOLFUxUIRqvU9CQoUH1OZVK87qoiERYhLrf6eyoDIcguImEExjqKZo7Gu65gSwOwYHGOSmMd9c5kHArkYZkDDmCqgWBgWQC+YDKAbGAdADpgD4AQEACqtbZXCjPbMrUpRWu+yOa1qNomu6vXYjddrs/XX2Zs7sJY2Q3O+shryttXZVMdGTvStiWdN3diTIVHuQr7czN5pnLqlloa18itHVbyaMVVgpPdUoZsMHGSTkv4NPOFkUS7QQAEmAJgABgFQAmYCuAiGBpAgZhZYuMdRVzXGNSGApiQoWgYOwCun94hyjua2kGaFJi4Uki3JQVxrO1vCpzEVdWT0j5yXprU9R7/E2sw3S9cXCZlT8RNVExD6XNsx9T5ExwlUuqEzctxDDl+okx3HxE1azHbRV/bxaWQyoOePeZqq9Yi2iFIqRi+91q2nF3xUw7TUD9671XgMHnxETaPQx7mC0BiV7ub/TlmGsHl2zAHABY//uSxFsD1gYJAA/tCorvwR/B/ZlRwD0A3MBmAXjApQJcwQwDyMH1BoTFBA1Y++kAVNLXNOjDQArkwT8FYOiwTYXIzhFMdJjBg1aTTVrQLfeau9Z49NHsrz0JXka3S1m3P39q9bMS3QrW2YzN9P27YzvTxsY6FlneG7IZ3ucK84KftOt8VGtm9VZDdrttZu1RmdsMq2iVwhGeov7Xf3jwzfTIZDM7l9stsd5xulU4M6U00fy1xvFLQin+FRpyOOxAwNiW7O5+zdsoyQ8Af5IIDCxkyQ0NFWzcpQ739MFUB9DDFxlk30qxvM4qEfTA8gHowG0A7MAwAFDAEQAEIAAE610M7huWZ/sM2UzzptXlph3Ky1DPP1uguP0kI0rSmhbGc9S8syeWY2Q3PtPqGTy0Hln5XynYZms71ynkZH30MkxBaGcOqRIf5E5ZQiz/W3+nzL0ZTKV//lOfBT5lk99D64YWK2OspJJKJJtMmTgDAzKANlM9PDAZwL8wLYM+MFza7jEZwgswS0CkMBmAUzALwC4wBQAZMAFACgYABl7lNVOFdv/7ksRrghN15wSt/GVCbyHiDZ+guLscOITesr1FI5ZXEAQShx76FwKnCKI4jmPT1Zo88IBHHPsg8TmFo9r1CcLq1VfHa3VWms/78/P/f1zxVdV9nrfcZ1mwIiOaB0GjLHiyiSlFC7IzuBp6mMESWQWFH/3/oTUEAARy3fRkAGCkB2YM4ExhRAemF2C0YUwNZhthTGJ0HqYs5shhdQunG2vQaDz6p6G1jmf+RIYmgn5hGhrG9viaFwxkCdmMGSBFUYXSJiI9GPUeZAPBkMymQiod/ac+idqAdlmdRIdEyc4YAyYaIB38a7As6csIcIab0kbYqbEwao6aUsbdgaRqZ9oZZmZFoYZmAWAWYjqwRrBkyICwVKggkASJghxgRJghBggRhwIKIAomnwn2nAq9UCrVXK9ViVhV0ulYzEWctacFwnRdJ4Xqel6XoeuAH3fSG30ldPSS+WT85Pzk/R0U9O2rNNS01NS1qtarWu3Ll25XqZ4Z4YZ4Z4Z8vqJQkJCQYGBqq6aYYGGBg5ZdVUWDBISVK0VVVFgMDVVUWSpQkGBiVVf/+5LElgAmpR8Vr3NMio684MXfjThNMomZZZZdVVE4KZRdsoBQOCYwaAUwnCY1Y2ECiIKiuYFh+YDIAonO2OshgbQA6BgH4MAOQwAaDAAFUz1Oe6sq7jhPRmGYKm6S3q7WjsljlPSZ3LtBNgwB/K70ox0IoYFQS/LATz/IJLizy9J5dPWFrLOkefy7XLIv4ZRQjd/zJp/kfL0Lz4pdzO3zQ3kMnOQ/M6bkuQ2vn9QkncjiHlb2HmR+WeefcQdXVLtPLYAYTa39WJIymDaiFRgCoAkYAUAEmAPAE5gMIGUeRPPhmB7gIxgFgAWDgA5K1p1Fcpcs1Z2jVuOW5hyCSChVUSsdSEzI5mqMHtV9D6mXWo0zDQY56OrL5+MEY1y/JDmUExlKPuUBe0Dcqnkc8mbIlhOwTj/kUNjNjrkI3TdX8ZnMjPuhqW7llXrlKEeTpqS95KkcCzUFzRt49eGldlce4xp0RGABGEqCp5gEwA+YAyAKGAXgHhgQQI2f85rFHQjWZBDRhAAl2l6yISh0aUy2tq10t8r2YPeR1TaxU+93A964//uSxHABE5mtAq+UccqVOx/B/iFJBmbQe81TvPMTLrEUGRkTMP47vSlqrzWeIJQm+VRIuu7u3huenJMhop5Z4LrlDmmrhSK/pZh06RNupiiLi7NHP8rzF1pbNd1PRypDOZ76JWsZ802Oa2oxi40GKGrDA0UmdacAQAdx1SwEX1MIdEiDAHwBYwBIAPMAkAMzAbQP49n/CjMEPAXDAMgBUBACyGrJpDcjNN/t92synuGx3z/rZuutq3131ldjRxuv6yfeeMx63cfDQzU2a3xvjfqRhdkMPM7/NzO7FXoO9wtmL6ZzMjyuV1NxBw0c5yEGyjIDRtH/RSLm0iK5mmVTUJZ5ZpFesYbGSfgyx2wDJNhxYfUfYuuqRONqzWiKRxg8we6YAwAImAGgBRgDoBUYCwBxndLWCBgcgCiYBOAHAYAJTqcW/VrWenJEiKZnrLIqbEkclFR1E0kM6DbpZ2RnqTtOZEKCbHcXejWU6ofRsrSHXRTpFA/kf5MdIEd+Fc193rGlTUL0/JZIjuezpyxUNLXzVEM0YyEFkb/HPbnLqz63IP/7ksSVgxP9zwCvmHHKZL0gRfKOOPYykdI5kxlMNoIWQm2MgEEuNNhNPLHLGs6JvnzAoBAYAmCAqYA+A2GvLr0ZgMoA8CgAlTZlsPWUKZmZMp0GHS6CKqKCjIQ9nntlIUmIhkqmdXW6S+ojoOr9ennU61ndi1PlVaRZyEQhpWErG5Z07UIzSHGVT1VkezEoKtEA8afSAkpAYKicMPcKtkqqNHd3f0ABWYWsNWY3Mr3MFUCYQUAsmAIgBBgBYCoYD0BQm7LPuRxgcY8DGBhrQmJtYD8A8EClO75721esVcvrddS/O6Rq/yFRtVcZ/aRzcykHRjFiuvn/n6+kvmbtfr6/qXmv4+5Udc+8qjrXvPNc0Qt/CzMNWs10kU91HVtPUM1d2sW083MSaD1kLE2UOe8sswl/ekmanp1R9GgtOYAsAyGGKibxgrYCWYD8AhmA1gNoMIAD18/fUxzACOMB/A6zAkAFA5JUwjA0YkDCy+icVMCoBQRUIiE8oTIky48JYZimtIozabvXMOew+4gEjZQUs34xR/Zs49zE8wlPvgWbk+f/+5LEv4AQVWENTnyogkWz4Rn9oUgfqsJ1PMklHFVC/zGG/KS9wWTqlU0ld4Q1VN6Dqrwsl2PpGhxf/UlYv3SdGSyy0jfjt2winJh+WzFeB9h0ZMO+TqdVPbe9maJP+GwRZL9ClkYFEe7UppORpS31i0k2JSXWPeVKupNSc9aTXq2/L1G2UI9gAAOMAnAaTCTg00wPwCwMBnAFTAXAOQwiMUvOFmqEjFPwh0wUIDCMCPAYTnODYpTPGDEBgcDZZT1+Z45YWvtY5VGS1Zy3vW6lmrN73+PbX4z139vvbvTFPu183t+j8y/sPJoa7JJ3/Ssfnf3AGpeUJEa+dMPn590QfMpd1Y/TS4nSr5pkfHjp8vDhnUkeaY69RZ4NiS4PbINn9EyVHU5xa09ioeroaSSQykFSeb7JUsFpc0bLNP8xNHY052j16+4+IzFJVW3tJ3PLldUAAB6qZnOUQ2wALgMwYQjjdyNJnkxgEjIp/MGADOjM2UrUw7IFKMDfAbzAXgDAwC8AZMAYADDACwActmpo7/Md7wyxsU2+6wb65mUtq0QR//uSxPwDGvII/A/pLENDQV/F/Rm5oYWiq89EgY2gjW+Nqh/P6HVEIH9Zp1ctO78HRd9QxzXqMlamEiUiGio2MT7SIHOtqtJva3SCPECsvlPzEXP3xU5xGiTq3pN46ER4r3Nuz2eXrEcytim/SYrxp4iuVPuX3yV/fjIUbS3wC4AYEAaMCUIkxhBwTDKEWMBUC8aDZM8dXczHOBjg9OXMO4Hgw9wnzgIDrvTMGDMFi46mkPzcrl7/y+MRiISyOSycWbbqSWioquFJLPt5529dtS7dTK46P9t2rlbWstuSyjKGO4tBxIpopZVkw7GEakbU2m8fVimcVXdtWKFRZmXyW2ukhiuimqlfjnuSBtSewxVuETFx8e5TEX1nLVdD4N+junq16+daaF88jsWeuqhD26hjc4RtRRKHi26GTw2ZVjsYEVTgfWp0mkv8XySVtw1zl6QTuSTNshZBTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7ksTuAhZllQUufQmLfsCfBe0luVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUEWVdFrpeUvyCAjMKAOMbwoMuEHMTARM2RwOMOhOnksPL7GM/yXMbAqNf0TwFZSaIZEDAkVkxljMSa8/0Mxmz//Wdp3paAgIkKAiS/VVKrswEBH1S+MxqrFqAgICpBhJdUKsaGXdmNj2AjVVaqFAVQCFLGYwoCoU11Xy4axoa8ZRKwCZlVYzMbfV2AjChjUmY6rMzGpQ2DCjVSDH+q6kBCZ6rntf6v/0SiG8CsRWIKiDYWLCpMQU1FMy4xMDCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+5LEkwPWZczyTuRtCAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",Sz="data:audio/mpeg;base64,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qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+5LEpgPbOgrmD20nSAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",yy=er("NotificationController"),ec=class ec{constructor(e){this._state={...B2},this._sounds=new Map,this._lastNotifyTime=0,this._abortController=new AbortController,this.host=e,this.host.addController(this),this.actions={markAsRead:()=>this._markAsRead(),clearAll:()=>this._clearAll()}}get value(){return{state:this._state,actions:this.actions}}hostConnected(){this._preloadSounds(),this._subscribeToMessages()}hostDisconnected(){var e;(e=this._busUnsubscribe)==null||e.call(this),this._sounds.clear(),this._deferredSoundTimer&&(clearTimeout(this._deferredSoundTimer),this._deferredSoundTimer=void 0),this._idleCallbackId!==void 0&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=void 0),this._abortController.abort(),this._abortController=new AbortController,this.host.removeAttribute("data-notification")}_preloadSounds(){this._sounds.clear();const e={message:xz};for(const[i,s]of Object.entries(e))this._loadSound(i,s);const r={complete:wz,error:Sz},n=()=>{this._deferredSoundTimer!==void 0&&(clearTimeout(this._deferredSoundTimer),this._deferredSoundTimer=void 0),this._idleCallbackId=void 0;for(const[i,s]of Object.entries(r))this._loadSound(i,s)};this._idleCallbackId!==void 0&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=void 0),"requestIdleCallback"in window?(this._idleCallbackId=requestIdleCallback(n),this._deferredSoundTimer=setTimeout(()=>{this._idleCallbackId!==void 0&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=void 0),n()},ec.IDLE_FALLBACK_DELAY_MS)):this._deferredSoundTimer=setTimeout(n,ec.DEFERRED_SOUND_DELAY_MS)}_loadSound(e,r){const n=new Audio;n.preload="auto",n.addEventListener("canplaythrough",()=>{this.host.isConnected&&this._sounds.set(e,n)},{once:!0}),n.addEventListener("error",()=>{yy.warn(`Audio load failed (file may not exist): ${r}`),this._sounds.delete(e)},{once:!0}),n.src=r}_playSound(e){var i;const r=(i=this.settingsController)==null?void 0:i.value.state.notifications;if(!(r!=null&&r.soundEnabled))return;const n=this._sounds.get(e);n&&(n.currentTime=0,n.volume=1,n.play().catch(s=>{s.name==="NotAllowedError"?yy.warn("Audio playback blocked by browser; user interaction required"):yy.warn("Playback failed:",s)}))}_subscribeToMessages(){var r;(r=this._busUnsubscribe)==null||r.call(this);const e=_u();this._busUnsubscribe=e.subscribe("message",n=>{n.action==="created"&&n.field==="content"&&this._handleNewMessage(n)})}async _handleNewMessage(e){const r=Date.now();if(!(r-this._lastNotifyTime<ec.NOTIFY_THROTTLE_MS)){this._lastNotifyTime=r;try{const n=this._abortController.signal,i=this.persistence?await Promise.race([this.persistence.getMessage(e.entityId),new Promise((o,l)=>{if(n.aborted){l(new DOMException("Aborted","AbortError"));return}n.addEventListener("abort",()=>{l(new DOMException("Aborted","AbortError"))},{once:!0})})]):void 0;if(n.aborted)return;const s=i==null?void 0:i.session_client_id;if(!s||!this._shouldNotify(s))return;this._triggerNotification(e,s)}catch(n){if(n instanceof Error&&n.name==="AbortError")return;yy.error("Failed to handle message:",n)}}}_shouldNotify(e){var i,s;const r=(i=this.sessionController)==null?void 0:i.value.state.currentSessionId;if(r&&e===r)return!1;const n=(s=this.settingsController)==null?void 0:s.value.state.notifications;return!(!(n!=null&&n.soundEnabled)&&!(n!=null&&n.toastEnabled))}_triggerNotification(e,r){var i;this._playSound("message"),this._state={unreadCount:this._state.unreadCount+1,lastNotificationAt:Date.now()},this.host.requestUpdate(),((i=this.windowStateController)==null?void 0:i.value.state.mode)==="minimized"?this._animateMinimizeIcon():this._showToast(e,r)}_showToast(e,r){var d,u,h;const n=(d=this.settingsController)==null?void 0:d.value.state.notifications;if(!(n!=null&&n.toastEnabled))return;const i=e.newValue,s=gh(i),l=(((u=this.sessionController)==null?void 0:u.value.state.sessions)??[]).find(g=>g.clientId===r),c=(l==null?void 0:l.title)??Me("新消息");(h=this.toastController)==null||h.actions.show(`${c}: ${s}`,"info",{label:Me("查看"),onClick:()=>this._navigateToSession(r)})}_navigateToSession(e){var r;(r=this.sessionController)==null||r.actions.switchSession(e),this.actions.markAsRead(),this.host.dispatchEvent(new CustomEvent("rtc-notification-click",{bubbles:!0,composed:!0,detail:{sessionId:e}}))}_animateMinimizeIcon(){this.host.setAttribute("data-notification","active")}_clearAnimation(){this.host.removeAttribute("data-notification")}_markAsRead(){this._state={...this._state,unreadCount:0},this._clearAnimation(),this.host.requestUpdate()}_clearAll(){this._state={...B2},this._clearAnimation(),this.host.requestUpdate()}};ec.NOTIFY_THROTTLE_MS=300,ec.IDLE_FALLBACK_DELAY_MS=2e3,ec.DEFERRED_SOUND_DELAY_MS=500;let Y_=ec;class Tz{constructor(e,r){this.host=e,this.deps=r,this.host.addController(this),this._initializeHandlers()}hostConnected(){}hostDisconnected(){this.unbindEvents(this.host)}_initializeHandlers(){const{windowState:e,auth:r,session:n,message:i,persistence:s,toast:o,fork:l,activity:c,fileExplorer:d,editorArea:u,settings:h,sessionTab:g,autoSaveTimers:b,getRtcProcessor:I,setRtcProcessor:P,getUnsubConnection:C,setUnsubConnection:T,bumpConnectGeneration:w,setConnecting:S,fileTreeLoaded:v,setFileTreeLoaded:O,setInitialSessionLoadDone:N,loadFileTree:D,loadFolderChildren:B,handleFileOpen:Q,handleEditorSave:te,handleRestoreDefault:F,handleCommand:K,beforeMessageSend:ge,showRestoreConfirmDialog:Ie,handleLoginRequested:qe,dispatchClearActiveInput:Pe,getShadowRoot:he,findScrollableParent:me,scheduleAutoSave:G,log:re}=this.deps;this._boundOnMinimize=()=>e.actions.minimize(),this._boundOnMaximize=()=>e.actions.maximize(),this._boundOnRestore=()=>e.actions.restore(),this._boundOnLoginRequested=ye=>{qe(ye)},this._boundOnLogout=()=>{for(const V of b.values())clearTimeout(V);b.clear(),O(!1),N(!1),u.actions.closeAll(),g.actions.clearAll(),c.actions.setActivity("chat"),l.actions.clearFork();const ye=I();ye==null||ye.cancel(),P(void 0);const le=C();le==null||le(),T(void 0),w(),S(void 0),s.disconnect(),n.actions.reset(),i.actions.clearMessages()},this._boundOnAccountBanned=ye=>{re.warn("account banned, triggering logout");const le=ye.detail,V=le==null?void 0:le.reason;try{sessionStorage.removeItem("rtc-account-banned-pending")}catch{}o.actions.show(rT(V),"error"),r.actions.logout()},this._boundOnNewSession=()=>{l.actions.clearFork(),n.value.state.currentSessionId||i.actions.clearMessages()},this._boundOnSessionDeleteRequested=async ye=>{const{sessionId:le}=ye.detail;re.debug("session delete requested:",le);const V=await n.actions.deleteSession(le);if(V.ok)o.actions.show("会话已删除","success");else{const $={"delete-failed":"删除失败,请稍后重试"};o.actions.show($[V.error??""]??V.error??"删除失败","error")}},this._boundOnSessionRenameConfirmed=async ye=>{const{sessionId:le,title:V}=ye.detail;if(!V.trim())return;const $=await n.actions.renameSession(le,V.trim());if(!$.ok){const ne={"rename-failed":"重命名失败,请稍后重试"};o.actions.show(ne[$.error??""]??$.error??"重命名失败","error")}},this._boundOnInputSubmit=async ye=>{const V=ye.detail.contentData,ne=(Ae=>typeof Ae=="string"?Ae:"")(V.data),ce={message:{content:ne,metadata:void 0}};if(await ge(ce)){ce.message.content!==ne&&(V.data=ce.message.content);try{l.isActive?await l.actions.submitFork(V):await i.actions.sendMessage(V);const Ae=n.value.state.currentSessionId;Ae&&g.actions.markSaved(Ae)}catch(Ae){re.error("message submit failed:",Ae)}}},this._boundOnForkInitiated=ye=>{const{oldSessionClientId:le,oldMessageClientId:V,newSessionClientId:$,content:ne}=ye.detail;l.actions.requestFork(le,V,$,ne)},this._boundOnStopRequested=ye=>{const le=ye.detail;s.layer&&s.layer.stopTurn(le.sessionClientId)},this._boundOnResendMessage=ye=>{const V=ye.detail.message;V!=null&&V.clientId&&(V!=null&&V.content)&&i.actions.resendMessage(V.clientId,V.content)},this._boundOnToastRequested=ye=>{const le=ye.detail;o.actions.show(le.message,le.type)},this._boundOnToastClose=ye=>{const le=ye.detail;o.actions.remove(le.id)},this._boundOnCommandRequested=ye=>{const le=ye.detail;K(le.name,le.args)},this._boundOnActivityChange=ye=>{const{activity:le,toggleSidebar:V}=ye.detail;V?c.actions.toggleSidebar():(c.actions.setActivity(le),le==="settings"&&c.actions.showSidebar(),le==="files"&&!v()&&s.isConnected&&D())},this._boundOnFileSelect=ye=>{const{path:le}=ye.detail;Q(le)},this._boundOnFolderToggle=ye=>{const{path:le}=ye.detail;d.value.isExpanded(le)&&(re.debug("_boundOnFolderToggle: loading children for",le),B(le))},this._boundOnFileExplorerRefresh=()=>{D()},this._boundOnEditorAreaSave=ye=>{const{filePath:le}=ye.detail;te(le)},this._boundOnEditorAreaTabClose=ye=>{const{filePath:le}=ye.detail,V=b.get(le);V&&(clearTimeout(V),b.delete(le)),u.actions.closeFile(le)},this._boundOnEditorAreaTabSelect=ye=>{const{filePath:le}=ye.detail;u.actions.switchTab(le)},this._boundOnEditorAreaContentChange=ye=>{const{filePath:le,content:V}=ye.detail;u.actions.updateContent(le,V),h.value.state.files.autoSave&&G(le)},this._boundOnEditorAreaViewModeChange=ye=>{const{filePath:le,viewMode:V}=ye.detail;u.actions.setViewMode(le,V)},this._boundOnEditorAreaCursorMove=ye=>{const le=ye.detail,V=u.activeFilePath;V&&u.actions.setCursorPosition(V,le)},this._boundOnEditorAreaRestoreDefault=async ye=>{const{filePath:le}=ye.detail;if(!await Ie(le,he()))return;const $=await F(le);$.success?o.actions.show("已恢复默认内容","success"):o.actions.show($.error??"恢复失败","error")},this._boundOnChatLayoutSessionSelect=ye=>{const{sessionId:le}=ye.detail;re.debug("chat-layout session selected:",le)},this._boundOnChatLayoutTabActivate=ye=>{const{sessionId:le}=ye.detail;re.debug("chat-layout tab activated:",le)},this._boundOnChatLayoutTabClose=ye=>{const{sessionId:le}=ye.detail;re.debug("chat-layout tab closed:",le)},this._boundOnKeydown=ye=>{if(ye.key==="Escape"&&l.isActive){l.actions.clearFork(),Pe();return}if(!(c.active!=="files"||!(ye.metaKey||ye.ctrlKey))){if(ye.key==="s"||ye.key==="S"){const V=u.state.activeFilePath;V&&(ye.preventDefault(),te(V))}else if(ye.key==="w"||ye.key==="W"){const V=u.state.activeFilePath;V&&(ye.preventDefault(),u.actions.closeFile(V))}}},this._boundOnWheel=ye=>{const le=ye.composedPath()[0],V=le instanceof Element?le:null,$=V?me(V):null;if(!$){ye.preventDefault(),ye.stopPropagation();return}const{scrollTop:ne,scrollHeight:ce,clientHeight:Se,scrollLeft:Ae,scrollWidth:Ne,clientWidth:Xe}=$,be=ne<=0,Te=Math.ceil(ne+Se)>=ce,lt=ye.deltaY<0,it=ye.deltaY>0,Pt=ce>Se,We=Ae<=0,Ve=Math.ceil(Ae+Xe)>=Ne,Je=ye.deltaX<0||ye.shiftKey&&ye.deltaY<0,ot=ye.deltaX>0||ye.shiftKey&&ye.deltaY>0,Dt=Ne>Xe;(Pt&&(be&<||Te&&it)||Dt&&(We&&Je||Ve&&ot))&&(ye.preventDefault(),ye.stopPropagation())},this._boundOnDrawerClose=()=>{c.actions.hideSidebar()}}bindEvents(e){e.addEventListener("rtc-window-minimize",this._boundOnMinimize),e.addEventListener("rtc-window-maximize",this._boundOnMaximize),e.addEventListener("rtc-window-restore",this._boundOnRestore),e.addEventListener("rtc-auth-login-requested",this._boundOnLoginRequested),e.addEventListener("rtc-auth-logout",this._boundOnLogout),e.addEventListener("rtc-account-banned",this._boundOnAccountBanned),e.addEventListener("rtc-new-session",this._boundOnNewSession),e.addEventListener("rtc-session-delete-requested",this._boundOnSessionDeleteRequested),e.addEventListener("rtc-session-rename-confirmed",this._boundOnSessionRenameConfirmed),e.addEventListener("rtc-input-submit",this._boundOnInputSubmit),e.addEventListener("rtc-fork-initiated",this._boundOnForkInitiated),e.addEventListener("rtc-stop-requested",this._boundOnStopRequested),e.addEventListener("rtc-user-message-resend",this._boundOnResendMessage),e.addEventListener("rtc-toast-requested",this._boundOnToastRequested),e.addEventListener("rtc-toast-close",this._boundOnToastClose),e.addEventListener("rtc-command-requested",this._boundOnCommandRequested),e.addEventListener("activity-change",this._boundOnActivityChange),e.addEventListener("file-select",this._boundOnFileSelect),e.addEventListener("folder-toggle",this._boundOnFolderToggle),e.addEventListener("refresh-requested",this._boundOnFileExplorerRefresh),e.addEventListener("editor-area-save",this._boundOnEditorAreaSave),e.addEventListener("editor-area-tab-close",this._boundOnEditorAreaTabClose),e.addEventListener("editor-area-tab-select",this._boundOnEditorAreaTabSelect),e.addEventListener("editor-area-content-change",this._boundOnEditorAreaContentChange),e.addEventListener("editor-area-view-mode-change",this._boundOnEditorAreaViewModeChange),e.addEventListener("editor-area-cursor-move",this._boundOnEditorAreaCursorMove),e.addEventListener("editor-area-restore-default",this._boundOnEditorAreaRestoreDefault),e.addEventListener("rtc-chat-layout-session-select",this._boundOnChatLayoutSessionSelect),e.addEventListener("rtc-chat-layout-tab-activate",this._boundOnChatLayoutTabActivate),e.addEventListener("rtc-chat-layout-tab-close",this._boundOnChatLayoutTabClose),e.addEventListener("rtc-drawer-close",this._boundOnDrawerClose),e.addEventListener("keydown",this._boundOnKeydown),e.addEventListener("wheel",this._boundOnWheel,{passive:!1})}unbindEvents(e){e.removeEventListener("rtc-window-minimize",this._boundOnMinimize),e.removeEventListener("rtc-window-maximize",this._boundOnMaximize),e.removeEventListener("rtc-window-restore",this._boundOnRestore),e.removeEventListener("rtc-auth-login-requested",this._boundOnLoginRequested),e.removeEventListener("rtc-auth-logout",this._boundOnLogout),e.removeEventListener("rtc-account-banned",this._boundOnAccountBanned),e.removeEventListener("rtc-new-session",this._boundOnNewSession),e.removeEventListener("rtc-session-delete-requested",this._boundOnSessionDeleteRequested),e.removeEventListener("rtc-session-rename-confirmed",this._boundOnSessionRenameConfirmed),e.removeEventListener("rtc-input-submit",this._boundOnInputSubmit),e.removeEventListener("rtc-fork-initiated",this._boundOnForkInitiated),e.removeEventListener("rtc-stop-requested",this._boundOnStopRequested),e.removeEventListener("rtc-user-message-resend",this._boundOnResendMessage),e.removeEventListener("rtc-toast-requested",this._boundOnToastRequested),e.removeEventListener("rtc-toast-close",this._boundOnToastClose),e.removeEventListener("rtc-command-requested",this._boundOnCommandRequested),e.removeEventListener("activity-change",this._boundOnActivityChange),e.removeEventListener("file-select",this._boundOnFileSelect),e.removeEventListener("folder-toggle",this._boundOnFolderToggle),e.removeEventListener("refresh-requested",this._boundOnFileExplorerRefresh),e.removeEventListener("editor-area-save",this._boundOnEditorAreaSave),e.removeEventListener("editor-area-tab-close",this._boundOnEditorAreaTabClose),e.removeEventListener("editor-area-tab-select",this._boundOnEditorAreaTabSelect),e.removeEventListener("editor-area-content-change",this._boundOnEditorAreaContentChange),e.removeEventListener("editor-area-view-mode-change",this._boundOnEditorAreaViewModeChange),e.removeEventListener("editor-area-cursor-move",this._boundOnEditorAreaCursorMove),e.removeEventListener("editor-area-restore-default",this._boundOnEditorAreaRestoreDefault),e.removeEventListener("rtc-chat-layout-session-select",this._boundOnChatLayoutSessionSelect),e.removeEventListener("rtc-chat-layout-tab-activate",this._boundOnChatLayoutTabActivate),e.removeEventListener("rtc-chat-layout-tab-close",this._boundOnChatLayoutTabClose),e.removeEventListener("rtc-drawer-close",this._boundOnDrawerClose),e.removeEventListener("keydown",this._boundOnKeydown),e.removeEventListener("wheel",this._boundOnWheel)}get handlers(){return{onLoginRequested:this._boundOnLoginRequested}}}const f4=er("FunctionsController");class Ez{constructor(e){this._registry=null,this._state={...wb},this.host=e,this.host.addController(this),this.actions={refresh:()=>this._refresh()}}get value(){return{state:this._state,actions:this.actions}}hostConnected(){}hostDisconnected(){}setRegistry(e){this._registry=e,e?this._refresh():(this._state={...wb},this.host.requestUpdate())}_refresh(){if(!this._registry){this._state={...wb},this.host.requestUpdate();return}try{const e=this._registry.listFunctions(),r=this._registry.listGroups();this._state={functions:e,groups:r},f4.debug("Refreshed function list:",e.length,"functions,",r.length,"groups"),this.host.requestUpdate()}catch(e){f4.error("Failed to refresh function list:",e)}}}function J_(t,e){var o,l;const r=[];let n=t;for(;n!=null&&n._def;){const c=n._def.typeName||n._def.type;if(c==="ZodOptional"||c==="optional"||c==="ZodDefault"||c==="default")n=n._def.innerType;else break}const i=(n==null?void 0:n._def)&&(n._def.typeName==="ZodObject"||n._def.shape!==void 0&&typeof n._def.shape=="object"&&!Array.isArray(n._def.shape));if(!n||!n._def||!i)throw new Error("zodToParams expects a ZodObject schema (got: "+(((o=n==null?void 0:n._def)==null?void 0:o.typeName)||((l=n==null?void 0:n._def)==null?void 0:l.type)||"unknown")+")");const s=typeof n._def.shape=="function"?n._def.shape():n._def.shape;for(const[c,d]of Object.entries(s)){const u=Eo(d),{isOptional:h,description:g,example:b}=X_(d);r.push({name:c,schema:{...u,description:(e==null?void 0:e[c])||g||u.description,...b!==void 0?{example:b}:{}},required:!h,description:(e==null?void 0:e[c])||g})}return r}function X_(t){var c,d;const e=t._def;if(!e)return{isOptional:!1};let r=!1,n,i;const s=e.typeName||e.type;if((s==="ZodOptional"||s==="optional"||s==="ZodDefault"||s==="default")&&(r=!0,e.innerType)){const u=X_(e.innerType);n=u.description,i=u.example}e.description?n=e.description:t.description&&(n=t.description);const o=e.meta;(o==null?void 0:o.example)!==void 0?i=o.example:o!=null&&o.examples&&o.examples.length>0&&(i=o.examples[0]);const l=(c=t._zod)==null?void 0:c.bag;if(i===void 0&&(l==null?void 0:l.example)!==void 0?i=l.example:i===void 0&&(l!=null&&l.examples)&&l.examples.length>0&&(i=l.examples[0]),i===void 0&&(s==="ZodEnum"||s==="enum")&&((d=e.values)==null?void 0:d.length)>0&&(i=e.values[0]),i===void 0&&(s==="ZodDefault"||s==="default")&&typeof e.defaultValue=="function")try{i=e.defaultValue()}catch{}return{isOptional:r,description:n,example:i}}function Z_(t){return Eo(t)}function Eo(t){const e=t._def;if(!e)return{};const r=e.meta,n=r==null?void 0:r.format;switch(e.typeName||e.type){case"ZodString":case"string":{const s={type:"string"};if(e.checks)for(const o of e.checks){const l=o.def||o,c=o.kind||l.check,d=o.value??l.value;if((c==="min"||c==="minLength")&&(s.minLength=d),(c==="max"||c==="maxLength")&&(s.maxLength=d),c==="regex"){const u=o.regex||l.regex;u&&(s.pattern=u.source||u)}}return n&&(s.format=n),s}case"ZodNumber":case"number":{const s={type:"number"};let o=!1;if(e.checks)for(const l of e.checks){const c=l.def||l,d=l.kind||c.check,u=l.value??c.value;d==="min"&&(s.minimum=u),d==="max"&&(s.maximum=u),(d==="int"||c.type==="number"&&c.format==="safeint")&&(o=!0)}return o&&(s.type="integer"),n&&(s.format=n),s}case"ZodBoolean":case"boolean":return{type:"boolean"};case"ZodEnum":case"enum":return{type:"string",enum:e.values};case"ZodArray":case"array":return{type:"array",items:Eo(e.element||e.type)};case"ZodOptional":case"optional":return Eo(e.innerType);case"ZodDefault":case"default":return{...Eo(e.innerType),default:typeof e.defaultValue=="function"?e.defaultValue():e.defaultValue};case"ZodObject":case"object":{const s=typeof e.shape=="function"?e.shape():e.shape;if(!s)return{type:"object"};const o={},l=[];for(const[u,h]of Object.entries(s)){const g=Eo(h),b=X_(h);b.description&&!g.description&&(g.description=b.description),o[u]=g,b.isOptional||l.push(u)}const c={type:"object",properties:o};l.length>0&&(c.required=l);const d=e.description||t.description;return d&&(c.description=d),c}case"ZodVoid":case"void":return{type:"null"};case"ZodNull":case"null":return{type:"null"};case"ZodNullable":case"nullable":return{...Eo(e.innerType),nullable:!0};case"ZodRecord":case"record":{const s=e.valueType||e.type;return{type:"object",additionalProperties:s?Eo(s):{}}}case"ZodAny":case"any":return{};case"ZodUnknown":case"unknown":return{};case"ZodLiteral":case"literal":{const s=e.value,o=typeof s;return o==="string"?{type:"string",enum:[s]}:o==="number"?{type:"number",enum:[s]}:o==="boolean"?{type:"boolean",enum:[s]}:{enum:[s]}}case"ZodUnion":case"union":case"ZodDiscriminatedUnion":case"discriminatedUnion":{const s=e.options||[];return s.length===0?{}:{oneOf:s.map(l=>Eo(l))}}case"ZodIntersection":case"intersection":{const s=Eo(e.left),o=Eo(e.right);return{allOf:[s,o]}}case"ZodTuple":case"tuple":{const s=(e.items||[]).map(o=>Eo(o));return{type:"array",items:s.length>0?{oneOf:s}:{},minItems:s.length,maxItems:s.length}}default:return{}}}function by(t,e){const r=t._def;return r&&(r.meta={...r.meta,...e}),t}const p4=er("MarkdownGenerator");function tl(t){return t?t.$ref?`[${t.$ref.split("/").pop()||t.$ref}](${t.$ref})`:t.oneOf&&t.oneOf.length>0?t.oneOf.map(e=>tl(e)).join(" | "):t.type==="array"&&t.items?`${tl(t.items)}[]`:t.type==="object"&&t.properties?`{ ${Object.entries(t.properties).map(([r,n])=>`${r}: ${tl(n)}`).join(", ")} }`:t.type?t.format?`${t.type} (${t.format})`:t.type:t.format?t.format:"unknown":"unknown"}function vy(t,e,r,n,i=0){const s=[],o=" ".repeat(i),l=i>0?`└─ ${e}`:e,c=t.example!==void 0?`\`${JSON.stringify(t.example)}\``:"";if(t.type&&t.type!=="object"&&t.type!=="array"){const g=tl(t),b=n||t.description||"",I=r?"Yes":"No";return s.push(`| ${o}${l} | ${g} | ${I} | ${b} | ${c} |`),s}if(t.type==="array"&&t.items){const g=`${tl(t.items)}[]`,b=n||t.description||"",I=r?"Yes":"No";if(s.push(`| ${o}${l} | ${g} | ${I} | ${b} | ${c} |`),t.items.type==="object"&&t.items.properties){const P=t.items.required||[];for(const[C,T]of Object.entries(t.items.properties)){const w=P.includes(C);s.push(...vy(T,C,w,T.description,i+1))}}return s}if(t.type==="object"&&t.properties){const g=n||t.description||"",b=r?"Yes":"No";s.push(`| ${o}${l} | object | ${b} | ${g} | ${c} |`);const I=t.required||[];for(const[P,C]of Object.entries(t.properties)){const T=I.includes(P);s.push(...vy(C,P,T,C.description,i+1))}return s}const d=tl(t),u=n||t.description||"",h=r?"Yes":"No";return s.push(`| ${o}${l} | ${d} | ${h} | ${u} | ${c} |`),s}function Q_(t,e){var s,o,l,c,d;let r=`<!-- AUTO-GENERATED by rtc-agent FunctionRegistry. Do not edit manually. -->
|
|
3313
|
+
- Or reference it by path: ${s}`}}catch(s){return{success:!1,error:`Failed to save script: ${s instanceof Error?s.message:String(s)}`}}}async _runScript(e){const r=pi(e,"name");if(!r)return{success:!1,error:"name is required for run action"};const n=e.params||{},i=ga(e,"timeout")??3e4,s=pi(e,"title")??void 0;return this._executeCode(r,n,i,void 0,s)}async _evalScript(e){const r=pi(e,"code");if(!r)return{success:!1,error:"code is required for eval action"};const n=e.params||{},i=ga(e,"timeout")??3e4,s=pi(e,"title")??void 0;return this._executeCode(void 0,n,i,r,s)}async _executeCode(e,r,n,i,s){if(!this.rtcAgent)return{success:!1,error:"rtcAgent not initialized. Pass rtcAgent to ScriptTool constructor."};try{let o;if(i!==void 0)o=i;else{const I=`/scripts/${e}.ts`,P=await Vr.read(I);o=WU(P).code}const l={logs:[],warns:[],errors:[]},c=$U(this.rtcAgent,r,l,s||void 0),d=performance.now(),u=await KU(o,c,n,e),h=Math.round(performance.now()-d),g={};e&&(g.name=e),u!==void 0&&(g.result=u);const b=100;return l.logs.length>0&&(g.logs=l.logs.slice(0,b).map(V_)),l.warns.length>0&&(g.warnings=l.warns.slice(0,b).map(V_)),l.errors.length>0&&(g.errors=l.errors.slice(0,b).map(V_)),g.duration_ms=h,{success:!0,data:g}}catch(o){return o instanceof Error&&"isScriptTimeout"in o?{success:!1,error:o.message}:o instanceof Error&&"isScriptCompileError"in o?{success:!1,error:`Script compile error: ${o.message}`}:{success:!1,error:`Script execution failed: ${o instanceof Error?o.message:String(o)}`}}}}function rz(t){return[new JU,new XU,new ZU,new QU,new ez,new tz,new QO(t)]}const nz=er("ToolRegistry");class iz{constructor(e){sr(this,"tools",new Map);const r=rz(e);for(const n of r)this.register(n)}setRtcAgent(e){this.register(new QO(e))}register(e){this.tools.has(e.name)&&nz.warn(`Tool '${e.name}' is already registered and will be overwritten.`),this.tools.set(e.name,e)}get(e){return this.tools.get(e)}has(e){return this.tools.has(e)}getToolNames(){return Array.from(this.tools.keys())}async execute(e,r){const n=this.tools.get(e);if(!n)throw new Error(`Tool not found: ${e}`);return n.execute(r)}}const e4=new iz,Qn=er("RtcProcessor"),sz=1e3,t4=6e4,W_=10;class oz{constructor(e){sr(this,"persistence");sr(this,"processing",!1);sr(this,"pendingCheck",!1);sr(this,"retryCountMap",new Map);sr(this,"mode","edit");sr(this,"confirmDialog");sr(this,"askUserDialog");sr(this,"master");sr(this,"_lastSilentlySkippedRtcId");sr(this,"_abortController");this.persistence=e}setMode(e){this.mode=e}getMode(){return this.mode}setConfirmDialog(e){this.confirmDialog=e}setAskUserDialog(e){this.askUserDialog=e}setMaster(e){this.master=e}_isMasterAllowed(){return this.master===void 0||this.master.isMaster}cancel(){this._abortController?(Qn.debug("cancel() called, aborting processLoop"),this._abortController.abort()):Qn.debug("cancel() called, but no processLoop is running")}async onRtcUpdate(){if(this.processing){this.pendingCheck=!0;return}await this.processLoop()}async processLoop(){if(!this._isMasterAllowed()){Qn.debug("processLoop: not master, skipping");return}this._abortController=new AbortController;const e=this._abortController.signal;this.processing=!0,this._lastSilentlySkippedRtcId=void 0;try{for(;;){if(!this._isMasterAllowed()){Qn.debug("processLoop: lost master status during loop, exiting");break}if(e.aborted){Qn.debug("processLoop: cancelled, exiting");break}this.pendingCheck=!1;const r=await this.persistence.getNextRtcToProcess(void 0);if(!r){if(this.pendingCheck)continue;break}if(r.client_id===this._lastSilentlySkippedRtcId){Qn.warn(`processLoop: RTC ${r.client_id} returned again after silent skip, exiting loop to prevent infinite retry`);break}Qn.debug("processing RTC:",r.client_id,"tool:",r.tool_name,"sync_status:",r.sync_status);try{await this.processOne(r),Qn.debug("processOne completed successfully")}catch(n){if(n instanceof DOMException&&n.name==="AbortError")throw Qn.debug("processOne: sleep aborted by cancel(), propagating"),n;Qn.error("processOne failed:",n);const i=n instanceof Error?n.message:String(n);if(i.includes("connection")||i.includes("disconnected")){Qn.warn("connection error detected, exiting processLoop");break}await this.sleep(sz,e)}}}catch(r){if(r instanceof DOMException&&r.name==="AbortError")Qn.debug("processLoop: sleep aborted by cancel(), exiting");else throw r}finally{this.processing=!1,this._abortController=void 0}}async processOne(e){var r;if(e.sync_status==="failed"){const n=this.retryCountMap.get(e.client_id)||0;if(n>=W_){Qn.error(`RTC ${e.client_id} exceeded max submit retry count (${W_}), abandoning. The RTC remains in sync_status='failed' and will be retried on the next onRtcUpdate cycle.`),this.retryCountMap.delete(e.client_id),this._lastSilentlySkippedRtcId=e.client_id;return}const i=this.calculateBackoff(n);await this.sleep(i,(r=this._abortController)==null?void 0:r.signal);try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:e.status==="completed",result:e.result,error:e.error_message}),this.retryCountMap.delete(e.client_id)}catch(s){throw this.retryCountMap.set(e.client_id,n+1),s}}else{const n=e.tool_name;if(n==="askUser"){await this.processAskUser(e);return}const i=uR.needsConfirm(n,this.mode);let s=!0;if(i&&(s=await this.showConfirmDialog(e)),!s){try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!1,error:"User denied"})}catch(d){Qn.error("submitRtcResult (denied) failed, marking as synced to prevent retry:",d);try{await this.persistence.getEntityRepository().upsertRtc({client_id:e.client_id},"synced")}catch(u){Qn.error("Failed to mark RTC as synced:",u),this.retryCountMap.set(e.client_id,W_)}}return}let o,l=!0,c;try{const d=e.parameters||{},u=e4.execute(n,d);let h;const g=new Promise((I,P)=>{h=setTimeout(()=>P(new Error(`Tool execution timeout after ${t4}ms`)),t4)});let b;try{b=await Promise.race([u,g])}finally{clearTimeout(h)}u.catch(()=>{}),o=b.data,b.success||(l=!1,c=b.error)}catch(d){l=!1,c=d instanceof Error?d.message:String(d)}try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:l,result:o,error:c})}catch(d){Qn.error("submitRtcResult failed:",d)}}}async processAskUser(e){if(!this.askUserDialog){Qn.warn("askUserDialog not set, defaulting to reject");try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!1,error:"User declined to answer questions"})}catch(n){Qn.error("submitRtcResult (ask_user no dialog) failed:",n)}return}let r;try{r=await this.askUserDialog(e)}catch(n){Qn.error("askUserDialog threw:",n);try{await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!1,error:n instanceof Error?n.message:String(n)})}catch(i){Qn.error("submitRtcResult (ask_user error) failed:",i)}return}try{r===null?await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!1,error:"User declined to answer questions"}):await this.persistence.submitRtcResult({rtcClientId:e.client_id,success:!0,result:r})}catch(n){Qn.error("submitRtcResult (ask_user) failed:",n)}}calculateBackoff(e){return Math.min(1e3*Math.pow(2,e),3e4)}sleep(e,r){return new Promise((n,i)=>{if(r!=null&&r.aborted){i(new DOMException("Sleep aborted","AbortError"));return}const s=setTimeout(()=>{r==null||r.removeEventListener("abort",o),n()},e),o=()=>{clearTimeout(s),r==null||r.removeEventListener("abort",o),i(new DOMException("Sleep aborted","AbortError"))};r==null||r.addEventListener("abort",o,{once:!0})})}async showConfirmDialog(e){return this.confirmDialog?this.confirmDialog(e):(Qn.warn("confirmDialog not set, defaulting to reject"),!1)}}function r4(t){return new SharedWorker(""+(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__dirname+"/assets/shared-worker-BZNpAsxL.js").href:new URL("assets/shared-worker-BZNpAsxL.js",typeof document>"u"?location.href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&document.currentScript.src||document.baseURI).href),{type:"module",name:t==null?void 0:t.name})}const Ln=er("WorkerBridge");function az(t){const e=t.toString(),r=e.match(/new URL\(\s*(["'`])([^"'`]+)\1/);if(r)return r[2];const n=e.match(/new SharedWorker\(\s*(["'`])([^"'`]+)\1/);if(n)return n[2];throw new Error("[WorkerBridge] Cannot extract worker URL from factory. Source: "+e.slice(0,300))}function n4(t,e){let r=0;return(...n)=>{const i=Date.now();i-r>=e&&(r=i,t(...n))}}const Bs=class Bs{constructor(e,r={}){this._auth=e,this._worker=null,this._core=null,this._initialized=!1,this._initPromise=null,this._operationCounter=0,this._connectionListeners=new Set,this._hasRestoredFromStorage=!1,this._yieldResolves=[],this._config=r,this._databaseName="default",this._lastProcessedSeq=0,this._callbacks={onUIUpdate:n=>{_u().publish(n.event,{skipPersist:!0,seqOverride:n.seq}),n.seq>this._lastProcessedSeq&&this._updateLastProcessedSeq(n.seq)},requestToken:async()=>{const n=await this._auth.getAccessTokenAsync();if(!n)throw new Error("[WorkerBridge] no access token available");return n},requestTokenRefresh:()=>this._auth.handleTokenExpired(),onConnectionStateChange:n=>{Ln.debug("[WorkerBridge] onConnectionStateChange called, state:",n.state,"reason:",n.reason,"listeners:",this._connectionListeners.size);for(const i of this._connectionListeners)try{i(n)}catch(s){Ln.error("connection listener error:",s)}},onGapFillState:n=>{Ln.debug("[BulkUpdate] WorkerBridge.onGapFillState called, isSyncing:",n);const i=_u();n?i.emitGapFillStart():i.emitGapFillEnd()},onStateGap:()=>{Ln.warn("catchUp: state gap detected — events were lost (likely TTL cleanup)"),this._lastProcessedSeq=0,this._saveLastProcessedSeq(),_u().emitGapFillEnd()},onAccountBanned:n=>{Ln.warn("Account banned:",n);try{sessionStorage.setItem("rtc-account-banned-pending",JSON.stringify({reason:n,timestamp:Date.now()}))}catch(s){Ln.debug("sessionStorage unavailable for ban state",s)}const i=document.querySelector("rtc-agent");i?(i.dispatchEvent(new CustomEvent("rtc-account-banned",{bubbles:!0,composed:!0,detail:{reason:n}})),Ln.warn("dispatched rtc-account-banned event from onAccountBanned callback")):Ln.error("rtc-agent element not found when handling account banned; ban state saved in sessionStorage")}},this._proxiedCallbacks=wh(this._callbacks)}static _getWorkerName(){return"rtc-agent-worker"}async initWorker(){let e=null;for(let r=0;r<=Bs.MAX_INIT_RETRIES;r++)try{r>0&&(Ln.warn(`Retrying worker initialization (attempt ${r+1}/${Bs.MAX_INIT_RETRIES+1})...`),await this._delay(Bs.INIT_RETRY_DELAY_MS*r)),await this._initWorkerOnce(),await this._verifyWorkerAlive();return}catch(n){e=n instanceof Error?n:new Error(String(n)),Ln.error(`Worker initialization attempt ${r+1} failed:`,e),this._cleanupFailedWorker()}throw new Error(`[WorkerBridge] Failed to initialize SharedWorker after ${Bs.MAX_INIT_RETRIES+1} attempts: ${e==null?void 0:e.message}`)}async _initWorkerOnce(){const e=Bs._getWorkerName();if(this._config.workerURL)Ln.info("Using custom workerURL:",this._config.workerURL),this._worker=new SharedWorker(this._config.workerURL,{name:e,type:"module"});else{const r=az(r4),n=typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:gs&&gs.tagName.toUpperCase()==="SCRIPT"&&gs.src||new URL("index.umd.js",document.baseURI).href,i=new URL(r,n).href,s=window.location.origin;let o;try{o=new URL(i).origin}catch(c){Ln.debug("Failed to parse worker URL origin, assuming same-origin:",c),o=s}const l=o!==s;if(Ln.info("worker init:",{workerURL:i,pageOrigin:s,workerOrigin:o,isCrossOrigin:l}),!l)this._worker=r4({name:e});else{let c;try{const h=await fetch(i,{cache:"default"});if(!h.ok)throw new Error(`HTTP ${h.status} ${h.statusText}`);c=await h.text()}catch(h){throw new Error(`[WorkerBridge] failed to fetch worker script from ${i}: ${h instanceof Error?h.message:h}`)}const d=new Blob([c],{type:"application/javascript"}),u=URL.createObjectURL(d);try{this._worker=new SharedWorker(u,{name:e,type:"module"})}finally{URL.revokeObjectURL(u)}}}this._core=yT(this._worker.port),this._worker.onerror=r=>{Ln.error("SharedWorker error:",{message:r.message,filename:r.filename,lineno:r.lineno,colno:r.colno,error:r.error})},this._worker.port.onmessageerror=r=>{Ln.error("port message error:",r)}}async _verifyWorkerAlive(){if(!this._core)throw new Error("[WorkerBridge] No core available for verification");let e;const r=new Promise((n,i)=>{e=setTimeout(()=>{const s=`Worker verification timed out after ${Bs.VERIFICATION_TIMEOUT_MS}ms. This may indicate a stale SharedWorker from a previous browser session (e.g., after force-killing a tab during debugging). To resolve: visit chrome://inspect/#workers, find and terminate the stale 'rtc-agent-worker' instance, then reload the page.`;i(new Error(s))},Bs.VERIFICATION_TIMEOUT_MS)});try{const n=await Promise.race([this._core.ping(),r]);if(n!=="pong")throw new Error(`Unexpected ping response: ${n}`);Ln.info("Worker verification successful")}catch(n){const i=n instanceof Error?n.message:"unknown error";throw new Error(`[WorkerBridge] Worker verification failed: ${i}`)}finally{e!==void 0&&clearTimeout(e)}}_cleanupFailedWorker(){if(this._worker){try{this._worker.port.close()}catch{}this._worker=null}this._core=null}_delay(e){return new Promise(r=>setTimeout(r,e))}get core(){return this._core}async init(e){if(this._initialized){Ln.warn("already initialized");return}if(this._initPromise)return this._initPromise;this._initPromise=this._doInit(e);try{await this._initPromise,this._initialized=!0}finally{this._initPromise=null}}async _doInit(e){if(!this._worker||!this._core)throw new Error("[WorkerBridge] init() called before initWorker()");const r=e.databaseName??"default",n=r!==this._databaseName;this._databaseName=r,(!this._hasRestoredFromStorage||n)&&(this._lastProcessedSeq=this._loadLastProcessedSeq(),this._hasRestoredFromStorage=!0),this._worker.port.start(),await this._core.init(e),await this._core.registerCallback(this._proxiedCallbacks),await this._doCatchUp()}async destroy(e=!1){var r;if((r=this._catchUpAbortController)==null||r.abort(),!!this._initialized&&!(!this._worker||!this._core)){try{await this._core.unregisterCallback(this._proxiedCallbacks)}catch(n){Ln.warn("unregisterCallback failed:",n)}if(this._connectionListeners.clear(),this._worker.port.close(),this._initialized=!1,this._yieldChannel&&(this._yieldChannel.port1.close(),this._yieldChannel.port2.close(),this._yieldChannel=void 0),this._yieldResolves.length=0,e){this._lastProcessedSeq=0,this._hasRestoredFromStorage=!1;try{sessionStorage.removeItem(this._getSessionStorageKey())}catch{}}}}async getConnectionState(){return this._core.getConnectionState()}onConnectionStateChange(e){return this._connectionListeners.add(e),()=>{this._connectionListeners.delete(e)}}installVirtualFSProxy(){const e=this._core;Vr.read=(r,n,i)=>e.virtualFSRead(r,n,i),Vr.write=(r,n,i="overwrite",s)=>e.virtualFSWrite(r,n,i,s),Vr.ls=r=>e.virtualFSLs(r),Vr.find=(r,n)=>e.virtualFSFind(r,n),Vr.grep=(r,n,i,s)=>e.virtualFSGrep(r,n,i,s),Vr.queryByType=r=>e.virtualFSQueryByType(r),Vr.exists=r=>e.virtualFSExists(r),Vr.remove=r=>e.virtualFSRemove(r)}async cacheFile(e,r,n,i,s){return this._core.cacheFile(e,r,n,i,s)}async cacheFilePending(e,r,n,i,s){return this._core.cacheFilePending(e,r,n,i,s)}async getCachedFile(e,r){return this._core.getCachedFile(e,r)}async evictExpiredCache(){return this._core.evictExpiredCache()}async evictCache(e){return this._core.evictCache(e)}async uploadFile(e,r,n,i,s,o,l,c){if(l!=null&&l.aborted)throw new DOMException("Upload aborted","AbortError");const d=`op-upload-${++this._operationCounter}`;let u;if(l){const g=()=>{this._core.cancelFileOperation(d)};l.addEventListener("abort",g,{once:!0}),u=()=>l.removeEventListener("abort",g)}const h=o?wh(n4(o,100)):void 0;try{return await this._core.uploadFile(e,r,n,i,s,d,h,c)}finally{u==null||u()}}async downloadFile(e,r,n,i,s){if(i!=null&&i.aborted)throw new DOMException("Download aborted","AbortError");const o=`op-download-${++this._operationCounter}`;let l;if(i){const d=()=>{this._core.cancelFileOperation(o)};i.addEventListener("abort",d,{once:!0}),l=()=>i.removeEventListener("abort",d)}const c=n?wh(n4(n,100)):void 0;try{return await this._core.downloadFile(e,r,c,o,s)}finally{l==null||l()}}async deleteFile(e,r){return this._core.deleteFile(e,r)}async calculateFileMD5(e){return this._core.calculateFileMD5(e)}async headFile(e,r){return this._core.headFile(e,r)}async getPresignedUrl(e,r,n){return this._core.getPresignedUrl(e,r,n)}async listFiles(e,r=100,n=0){return this._core.listFiles(e,r,n)}async countFiles(e){return this._core.countFiles(e)}async syncPendingFiles(){return this._core.syncPendingFiles()}async resumeInterruptedUploads(){return this._core.resumeInterruptedUploads()}async getCacheStats(){return this._core.getCacheStats()}async updateFileMetadata(e,r,n){return this._core.updateFileMetadata(e,r,n)}async _doCatchUp(){if(!this._core)return;this._catchUpAbortController=new AbortController;const e=this._catchUpAbortController.signal;try{let r=this._lastProcessedSeq,n=0,i=!0;for(;i&&!e.aborted;){const s=await this._core.getCatchUpEvents(r);if(e.aborted)break;if(s.hasGap){Ln.warn("catchUp: gap detected, triggering state refresh"),this._callbacks.onStateGap();return}if(s.entries.length===0)return;Ln.debug(`catchUp: replaying ${s.entries.length} events from seq ${r}`);const o=8;let l=performance.now();for(let c=0;c<s.entries.length&&!e.aborted;c++){const d=s.entries[c],u=d.seq;if(!(u<=this._lastProcessedSeq)){if(!this._isValidUIUpdateEvent(d.event)){Ln.warn("catchUp: skipping entry with invalid event structure");continue}try{this._callbacks.onUIUpdate({event:d.event,seq:u}),n++}catch(h){Ln.error("catchUp: failed to deliver event, stopping:",h);return}performance.now()-l>o&&(await this._yieldToMain(),l=performance.now())}}r=s.entries[s.entries.length-1].seq,i=s.hasMore}if(e.aborted){Ln.debug("catchUp: cancelled");return}n>0&&Ln.debug(`catchUp: delivered ${n} total events`)}catch(r){e.aborted||Ln.error("catchUp: failed to query events (non-fatal):",r)}finally{this._catchUpAbortController=void 0}}_yieldToMain(){return new Promise(e=>{this._yieldChannel||(this._yieldChannel=new MessageChannel,this._yieldChannel.port1.onmessage=()=>{const r=this._yieldResolves.shift();r&&r()}),this._yieldResolves.push(e),this._yieldChannel.port2.postMessage(null)})}_isValidUIUpdateEvent(e){if(!e||typeof e!="object")return!1;const r=e;return typeof r.entity=="string"&&typeof r.action=="string"&&typeof r.entityId=="string"}_updateLastProcessedSeq(e){this._lastProcessedSeq=e,this._saveLastProcessedSeq()}_getSessionStorageKey(){return`${Bs.SESSION_STORAGE_KEY_PREFIX}-${this._databaseName}`}_loadLastProcessedSeq(){try{const e=sessionStorage.getItem(this._getSessionStorageKey());if(e!==null){const r=parseInt(e,10);if(!isNaN(r)&&r>=0)return r}}catch{}return 0}_saveLastProcessedSeq(){try{sessionStorage.setItem(this._getSessionStorageKey(),String(this._lastProcessedSeq))}catch{Ln.debug("Failed to save lastProcessedSeq to sessionStorage (non-fatal)")}}};Bs.SESSION_STORAGE_KEY_PREFIX="rtc-ui-update-seq",Bs.MAX_INIT_RETRIES=3,Bs.INIT_RETRY_DELAY_MS=1e3,Bs.VERIFICATION_TIMEOUT_MS=5e3;let H_=Bs;const rp=er("MasterLock");class lz{constructor(e){this._isMaster=!1,this._controlled=!1,this._lockName=`rtc-agent-master-${e}`}get isMaster(){return this._isMaster}get isControlled(){return this._controlled}async acquire(){var e;if(this._controlled){rp.warn("already acquiring/acquired, ignoring");return}if(!this._isWebLocksAvailable()){rp.warn("Web Locks API not available, acting as always-master"),this._isMaster=!0,this._controlled=!0,(e=this.onAcquire)==null||e.call(this);return}this._controlled=!0,this._abortController=new AbortController,navigator.locks.request(this._lockName,{signal:this._abortController.signal},async()=>{var r,n;this._isMaster=!0,rp.info("acquired lock → became Master"),(r=this.onAcquire)==null||r.call(this),await new Promise(i=>{this._releaseResolve=i}),this._isMaster=!1,rp.info("released lock → lost Master"),(n=this.onRelease)==null||n.call(this)}).catch(r=>{r instanceof DOMException&&r.name==="AbortError"||rp.error("lock request error:",r)})}release(){this._controlled&&(this._releaseResolve&&(this._releaseResolve(),this._releaseResolve=void 0),!this._isMaster&&this._abortController&&this._abortController.abort(),this._controlled=!1)}_isWebLocksAvailable(){return typeof navigator<"u"&&"locks"in navigator}}const Ds=er("PersistenceController");function dte(t){return t}class cz{constructor(e){this._core=e}async connect(){Ds.info("connect() called"),await this._core.connect(),Ds.info("connect() completed, worker state:",await this._core.getConnectionState())}disconnect(){this._core.disconnect()}async reconnect(){await this._core.reconnect()}async listSessions(e,r){return this._core.listSessions(e,r)}async getSession(e){return this._core.getSession(e)}async listMessages(e,r,n,i){return this._core.listMessages(e,r,n,i)}async getMessage(e){return this._core.getMessage(e)}async listRtc(e,r,n){return this._core.listRtc(e,r,n)}async getNextRtcToProcess(e){return this._core.getNextRtcToProcess(e)}async sendMessage(e){return this._core.sendMessage(e)}async insertLocalMessage(e){return this._core.insertLocalMessage(e)}async stopTurn(e){return this._core.stopTurn(e)}async closeSession(e){return this._core.closeSession(e)}async openSession(e){return this._core.openSession(e)}async compactSession(e,r){return this._core.compactSession(e,r)}async submitRtcResult(e){return this._core.submitRtcResult(e)}async forkSession(e){return this._core.forkSession(e)}async deleteSession(e){return this._core.deleteSession(e)}async updateSessionTitle(e,r){return this._core.updateSessionTitle(e,r)}async close(){await this._core.close()}async flushAll(){return this._core.flushAll()}async initializeVirtualFS(e){await this._core.initializeVirtualFS(e??{})}getClient(){throw new Error("[WorkerPersistenceAdapter] getClient() is not available. Use PersistenceController.onConnectionStateChange() instead.")}getOffsetManager(){return{reset:()=>this._core.resetOffset()}}getEntityRepository(){throw new Error("[WorkerPersistenceAdapter] getEntityRepository() is not available.")}}const Ql=class Ql{constructor(e,r){this._connectGeneration=0,this._auth=r,e.addController(this)}set databaseName(e){this._databaseNameOverride=e}set workerURL(e){this._workerURL=e}get layer(){return this._layer}get isConnected(){return this._layer!==void 0}get workerBridge(){return this._workerBridge}get masterLock(){return this._masterLock}get fileStorage(){if(!this._fileStorage){if(!this._workerBridge)throw new Error("[PersistenceController] fileStorage requires an active connection. Call connect() first.");const e=this._auth.state.userId;if(!e)throw new Error("[PersistenceController] fileStorage requires userId from auth state.");this._fileStorage=new q2(this._workerBridge,e)}return this._fileStorage}hostConnected(){}hostDisconnected(){this.disconnect()}async connect(){if(Ds.debug("connect() called"),this._layer)return;if(this._connecting)return this._connecting;const e=lT(),r=this._auth.state.userId;if(Ds.debug("connect() userId:",r,"deviceId:",e),!r)throw new Error("[PersistenceController] connect() called without userId; refusing to open a shared database");const n={databaseName:this._databaseNameOverride?`${this._databaseNameOverride}-${r}`:`rtc-agent-${r}`,deviceId:e,userId:r,serverURL:Uo.serverURL,client:{endpoint:Uo.wsEndpoint,getToken:async()=>{const s=await this._auth.getAccessTokenAsync();if(!s)throw Ds.warn("getToken: no access token available"),new Error("No access token available");return s},onTokenExpired:()=>this._auth.handleTokenExpired(),onAccountBanned:s=>{Ds.warn("Account banned:",s)},deviceId:e,userId:r}},i=this._connectGeneration;return this._connecting=this._connectWorker(n).finally(()=>{this._connectGeneration===i&&(this._connecting=void 0)}),this._connecting}async _connectWorker(e){let r=null;for(let n=0;n<=Ql.MAX_CONNECT_RETRIES;n++)try{n>0&&(Ds.warn(`Retrying connection (attempt ${n+1}/${Ql.MAX_CONNECT_RETRIES+1})...`),await this._delay(Ql.CONNECT_RETRY_DELAY_MS*n)),await this._connectWorkerOnce(e);return}catch(i){r=i instanceof Error?i:new Error(String(i)),Ds.error(`Connection attempt ${n+1} failed:`,r),await this._cleanupFailedConnection()}throw new Error(`[PersistenceController] Failed to connect after ${Ql.MAX_CONNECT_RETRIES+1} attempts: ${r==null?void 0:r.message}`)}async _connectWorkerOnce(e){const r=new H_(this._auth,{workerURL:this._workerURL});if(this._workerBridge=r,await r.initWorker(),this._workerBridge!==r){await r.destroy().catch(()=>{});return}const{getToken:n,onTokenExpired:i,onAccountBanned:s,...o}=e.client,l={...e,client:o};if(await r.init(l),this._workerBridge!==r){await r.destroy().catch(()=>{});return}r.installVirtualFSProxy(),this._layer=new cz(r.core),await r.core.connect();const c=this._auth.state.userId;c&&(this._masterLock=new lz(c),this._masterLock.onAcquire=()=>{Ds.info("this Tab became Master")},this._masterLock.onRelease=()=>{Ds.info("this Tab lost Master")},this._masterLock.acquire())}async _cleanupFailedConnection(){if(this._workerBridge){try{await this._workerBridge.destroy()}catch(e){Ds.debug("Cleanup after failed connection (non-critical):",e)}this._workerBridge=void 0}this._layer=void 0,this._fileStorage=void 0}_delay(e){return new Promise(r=>setTimeout(r,e))}async disconnect(){var i;this._connectGeneration++;const e=this._connectGeneration;this._connecting&&(this._connecting=void 0);const r=this._layer,n=this._workerBridge;if(this._layer=void 0,this._workerBridge=void 0,r)try{await r.getOffsetManager().reset(),await r.close()}catch(s){Ds.error("disconnect error:",s)}if(n){(i=this._masterLock)==null||i.release(),this._masterLock=void 0,this._fileStorage=void 0;try{await n.destroy()}catch(s){Ds.error("WorkerBridge disconnect error:",s)}}this._connectGeneration!==e&&Ds.warn("disconnect interrupted by new connect, generation changed")}async getConnectionState(){return this._workerBridge?this._workerBridge.getConnectionState():"disconnected"}onConnectionStateChange(e){return this._workerBridge?this._workerBridge.onConnectionStateChange(e):()=>{}}};Ql.MAX_CONNECT_RETRIES=2,Ql.CONNECT_RETRY_DELAY_MS=2e3;let K_=Ql;const i4=er("EventBus");class s4{constructor(){this.handlers=new Map}on(e,r){return this.handlers.has(e)||this.handlers.set(e,new Set),this.handlers.get(e).add(r),()=>{var n;(n=this.handlers.get(e))==null||n.delete(r)}}once(e,r){const n=i=>(this.off(e,n),r(i));return this.on(e,n)}off(e,r){var n;(n=this.handlers.get(e))==null||n.delete(r)}emit(e,r){const n=this.handlers.get(e);if(!n)return;const i=Array.from(n);for(const s of i)try{s(r)}catch(o){i4.error(`Handler error for event '${e}':`,o)}}async emitAsync(e,r){const n=this.handlers.get(e);if(!n)return;const i=Array.from(n),s=[];for(const o of i)s.push(Promise.resolve(o(r)).catch(l=>{i4.error(`Async handler error for event '${e}':`,l)}));await Promise.all(s)}async emitAsyncStrict(e,r){const n=this.handlers.get(e);if(!n)return;const i=Array.from(n),s=[];for(const o of i)s.push(Promise.resolve(o(r)));await Promise.all(s)}clearAll(){this.handlers.clear()}clearEvent(e){this.handlers.delete(e)}}function o4(){return new s4}const To=o4(),uz=er("SkillController");class a4{constructor(e,r){this._registry=null,this._config={},this._unsubscribes=[],this._host=e,this._config=r||{},e.addController(this)}get value(){return{registry:this._registry}}get actions(){return{getRegistry:()=>this._registry,setRegistry:e=>{this._registry=e,this._host.requestUpdate(),this._bridgeToolRegistry(e)}}}_bridgeToolRegistry(e){const r=new Proxy({callFunction:(n,i)=>e.execute(n,i),readFile:n=>Vr.read(n),writeFile:(n,i)=>Vr.write(n,i).then(()=>{}),listDir:n=>Vr.ls(n)},{get(n,i){return i in n?n[i]:e[i]}});e4.setRtcAgent(r),uz.info("rtcAgent API bridged to ToolRegistry")}setConfig(e){this._config=e}hostConnected(){this._subscribeEvents()}hostDisconnected(){for(const e of this._unsubscribes)e();this._unsubscribes=[]}_subscribeEvents(){for(const n of this._unsubscribes)n();this._unsubscribes=[];const e=To.on("ui:toast",n=>{this._config.onToast&&this._config.onToast(n.message,n.type)});this._unsubscribes.push(e);const r=To.on("ui:confirm-request",n=>{this._config.onConfirmRequest&&this._config.onConfirmRequest(n.requestId,n.path,n.message)});this._unsubscribes.push(r)}respondToConfirm(e,r){To.emit("ui:confirm-response",{requestId:e,confirmed:r})}}class dz{constructor(e){this._toasts=[],this._timers=new Map,this._host=e,this._host.addController(this),this.actions={show:(r,n="info",i)=>this._show(r,n,i),remove:r=>this._remove(r)}}get toasts(){return this._toasts}hostConnected(){}hostDisconnected(){for(const e of this._timers.values())clearTimeout(e);this._timers.clear(),this._toasts.length>0&&(this._toasts=[],this._host.requestUpdate())}_show(e,r,n){const i=Date.now()+Math.random();this._toasts=[...this._toasts,{id:i,message:e,type:r,action:n}],this._host.requestUpdate();const s=r==="error"?0:r==="success"?2e3:2500;if(s>0){const o=setTimeout(()=>this._remove(i),s);this._timers.set(i,o)}}_remove(e){const r=this._timers.get(e);r!==void 0&&(clearTimeout(r),this._timers.delete(e)),this._toasts=this._toasts.filter(n=>n.id!==e),this._host.requestUpdate()}}const l4=er("ForkController");class fz{constructor(e){this._state=null,this._deps=null,this._host=e,this._host.addController(this),this.actions={requestFork:(r,n,i,s)=>this._requestFork(r,n,i,s),submitFork:r=>this._submitFork(r),clearFork:()=>this._clearFork()}}get state(){return this._state}get isActive(){return this._state!==null}setDeps(e){this._deps=e}hostConnected(){}hostDisconnected(){}_requestFork(e,r,n,i){var o;const s=i.length>30?i.slice(0,30)+"...":i;this._state={oldSessionClientId:e,oldMessageClientId:r,newSessionClientId:n,hintMessage:Me(wr`🔀 从「${s}」分叉`)},this._host.requestUpdate(),(o=this._deps)==null||o.clearMessages(),l4.debug("_requestFork: state set, transient params handled by tab property binding")}async _submitFork(e){if(!this._state||!this._deps)return;const r=`msg-${crypto.randomUUID()}`;try{await this._deps.executeFork({oldSessionClientId:this._state.oldSessionClientId,oldMessageClientId:this._state.oldMessageClientId,newSessionClientId:this._state.newSessionClientId,newMessageClientId:r,content:e})}catch(n){l4.error("forkSession failed:",n)}this._clearFork()}_clearFork(){var e;this._state&&((e=this._deps)==null||e.clearTransientParams(this._state.newSessionClientId)),this._state=null,this._host.requestUpdate()}}const c4=er("ActivityController");class pz{constructor(e){this._state={...ch},this.host=e,this.host.addController(this),this.actions={setActivity:r=>this._setActivity(r),showSidebar:()=>this._showSidebar(),hideSidebar:()=>this._hideSidebar(),toggleSidebar:()=>this._toggleSidebar(),reset:()=>this._reset()},this._restore()}get value(){return{state:this._state,actions:this.actions}}get active(){return this._state.active}get sidebarVisible(){return this._state.sidebarVisible}hostConnected(){}hostDisconnected(){}_restore(){try{const e=localStorage.getItem(Xr.activityBar);if(!e)return;const r=JSON.parse(e),n=i=>i==="files"||i==="chat"||i==="settings"||i==="functions";r&&typeof r=="object"&&(this._state={active:n(r.active)?r.active:ch.active,sidebarVisible:typeof r.sidebarVisible=="boolean"?r.sidebarVisible:ch.sidebarVisible})}catch(e){c4.debug("Failed to restore activity state:",e)}}_persist(){try{localStorage.setItem(Xr.activityBar,JSON.stringify(this._state))}catch(e){c4.debug("Failed to persist activity state:",e)}}_setActivity(e){this._state.active===e?this._toggleSidebar():(this._state={active:e,sidebarVisible:this._state.sidebarVisible},this._persist(),this.host.requestUpdate())}_showSidebar(){this._state.sidebarVisible||(this._state={...this._state,sidebarVisible:!0},this._persist(),this.host.requestUpdate())}_hideSidebar(){this._state.sidebarVisible&&(this._state={...this._state,sidebarVisible:!1},this._persist(),this.host.requestUpdate())}_toggleSidebar(){this._state={...this._state,sidebarVisible:!this._state.sidebarVisible},this._persist(),this.host.requestUpdate()}_reset(){this._state={...ch},this._persist(),this.host.requestUpdate()}}class hz{constructor(e){this._state={...L2},this._expandedPaths=new Set,this._loadingPaths=new Set,this._host=e,e.addController(this)}get state(){return this._state}get value(){return{state:this._state,actions:this.actions,isExpanded:e=>this._expandedPaths.has(e),isLoading:e=>this._loadingPaths.has(e),isSelected:e=>this._state.selectedPath===e}}get actions(){return{setRoot:e=>this._setRoot(e),toggleNode:e=>this._toggleNode(e),expandAll:()=>this._expandAll(),collapseAll:()=>this._collapseAll(),selectNode:e=>this._selectNode(e),setLoading:(e,r)=>this._setLoading(e,r),updateChildren:(e,r)=>this._updateChildren(e,r),reset:()=>this._reset()}}hostConnected(){}hostDisconnected(){this._reset()}_setRoot(e){this._state={...this._state,root:e},this._host.requestUpdate()}_toggleNode(e){this._expandedPaths.has(e)?this._expandedPaths.delete(e):this._expandedPaths.add(e),this._host.requestUpdate()}_expandAll(){this._state.root&&(this._collectFolderPaths(this._state.root,this._expandedPaths),this._host.requestUpdate())}_collapseAll(){this._expandedPaths.clear(),this._host.requestUpdate()}_selectNode(e){this._state={...this._state,selectedPath:e},this._host.requestUpdate()}_setLoading(e,r){r?this._loadingPaths.add(e):this._loadingPaths.delete(e),this._host.requestUpdate()}_updateChildren(e,r){if(!this._state.root)return;const n=this._updateNodeChildren(this._state.root,e,r);n&&(this._state={...this._state,root:n},this._host.requestUpdate())}_reset(){this._state={...L2},this._expandedPaths.clear(),this._loadingPaths.clear(),this._host.requestUpdate()}_collectFolderPaths(e,r){if(e.type==="folder"&&(r.add(e.path),e.children))for(const n of e.children)this._collectFolderPaths(n,r)}_updateNodeChildren(e,r,n){if(e.path===r)return{...e,children:n};if(e.type==="folder"&&e.children){const i=e.children.map(o=>this._updateNodeChildren(o,r,n)||o);if(i.some((o,l)=>o!==e.children[l]))return{...e,children:i}}return null}}const u4=er("EditorAreaController");class mz{constructor(e){this._tabs=[],this._activeFilePath="",this._host=e,this._host.addController(this),this.actions={openFile:(r,n,i)=>this._openFile(r,n,i),closeFile:r=>this._closeFile(r),closeAll:()=>this._closeAll(),switchTab:r=>this._switchTab(r),updateContent:(r,n)=>this._updateContent(r,n),saveFile:r=>this._saveFile(r),setViewMode:(r,n)=>this._setViewMode(r,n),setCursorPosition:(r,n)=>this._setCursorPosition(r,n),loadContent:(r,n)=>this._loadContent(r,n)},this._restore()}hostConnected(){}hostDisconnected(){this._cursorPersistTimer&&(clearTimeout(this._cursorPersistTimer),this._cursorPersistTimer=void 0)}_restore(){var e;try{const r=localStorage.getItem(Xr.editorArea);if(!r)return;const n=JSON.parse(r);if(!n||!Array.isArray(n.tabs))return;const i=o=>o==="edit"||o==="preview"||o==="split";this._tabs=n.tabs.map(o=>({filePath:o.filePath,content:"",isDirty:!1,cursorPosition:i(o.viewMode)?{line:1,column:1}:o.cursorPosition??{line:1,column:1},viewMode:i(o.viewMode)?o.viewMode:"edit"}));const s=this._tabs.some(o=>o.filePath===n.activeFilePath);this._activeFilePath=s?n.activeFilePath:((e=this._tabs[0])==null?void 0:e.filePath)??""}catch(r){u4.debug("Failed to restore editor area state:",r)}}_persist(){try{if(this._tabs.length===0){localStorage.removeItem(Xr.editorArea);return}const e={tabs:this._tabs.map(r=>({filePath:r.filePath,viewMode:r.viewMode,cursorPosition:r.cursorPosition})),activeFilePath:this._activeFilePath};localStorage.setItem(Xr.editorArea,JSON.stringify(e))}catch(e){u4.debug("Failed to persist editor area state:",e)}}get state(){return{tabs:this._tabs,activeFilePath:this._activeFilePath}}get tabs(){return this._tabs}get activeFilePath(){return this._activeFilePath}get activeTab(){return this._tabs.find(e=>e.filePath===this._activeFilePath)}_openFile(e,r,n="edit"){if(this._tabs.find(o=>o.filePath===e)){this._activeFilePath=e,this._persist(),this._host.requestUpdate();return}const s={filePath:e,content:r,isDirty:!1,cursorPosition:{line:1,column:1},viewMode:n};this._tabs=[...this._tabs,s],this._activeFilePath=e,this._persist(),this._host.requestUpdate()}_closeFile(e){const r=this._tabs.findIndex(i=>i.filePath===e);if(r===-1)return;const n=e===this._activeFilePath;if(this._tabs=this._tabs.filter(i=>i.filePath!==e),n)if(this._tabs.length===0)this._activeFilePath="";else{const i=Math.min(r,this._tabs.length-1);this._activeFilePath=this._tabs[i].filePath}this._persist(),this._host.requestUpdate()}_closeAll(){this._tabs=[],this._activeFilePath="",this._persist(),this._host.requestUpdate()}_switchTab(e){this._tabs.some(n=>n.filePath===e)&&(this._activeFilePath=e,this._persist(),this._host.requestUpdate())}_updateContent(e,r){this._tabs=this._tabs.map(n=>n.filePath!==e?n:{...n,content:r,isDirty:!0}),this._host.requestUpdate()}_saveFile(e){this._tabs=this._tabs.map(r=>r.filePath!==e?r:{...r,isDirty:!1}),this._persist(),this._host.requestUpdate()}_setViewMode(e,r){this._tabs=this._tabs.map(n=>n.filePath!==e?n:{...n,viewMode:r}),this._persist(),this._host.requestUpdate()}_setCursorPosition(e,r){const n=this._tabs.find(i=>i.filePath===e);n&&(n.cursorPosition.line===r.line&&n.cursorPosition.column===r.column||(this._tabs=this._tabs.map(i=>i.filePath!==e?i:{...i,cursorPosition:r}),this._host.requestUpdate(),!this._cursorPersistTimer&&(this._cursorPersistTimer=setTimeout(()=>{this._cursorPersistTimer=void 0,this._persist()},2e3))))}_loadContent(e,r){if(this._tabs.find(s=>s.filePath===e)){this._tabs=this._tabs.map(s=>s.filePath!==e?s:{...s,content:r,isDirty:!1}),this._host.requestUpdate();return}const i={filePath:e,content:r,isDirty:!1,cursorPosition:{line:1,column:1},viewMode:"edit"};this._tabs=[...this._tabs,i],this._activeFilePath||(this._activeFilePath=e),this._persist(),this._host.requestUpdate()}}function gz(t){var r;switch((r=t.split(".").pop())==null?void 0:r.toLowerCase()){case"md":return"Markdown";case"js":return"JavaScript";case"ts":return"TypeScript";case"json":return"JSON";case"html":return"HTML";case"css":return"CSS";case"txt":return"Plain Text";default:return"File"}}class yz{constructor(e,r){this._host=e,this._editorController=r,this._host.addController(this)}hostConnected(){}hostDisconnected(){}get info(){const e=this._editorController.activeTab;return e?{fileType:gz(e.filePath),encoding:"UTF-8",cursor:e.cursorPosition,saveStatus:e.isDirty?"unsaved":"saved"}:{fileType:"",encoding:"UTF-8",cursor:{line:1,column:1},saveStatus:"none"}}}class bz{constructor(e){this._state={rootNodes:[]},this._expanded=new Map,this.host=e,this.host.addController(this),this.actions={toggleExpand:r=>this._toggleExpand(r),expand:r=>this._setExpanded(r,!0),collapse:r=>this._setExpanded(r,!1),rebuildTree:r=>this._rebuildTree(r)},this._restoreExpanded()}get value(){return{state:this._state,actions:this.actions}}hostConnected(){}hostDisconnected(){}_restoreExpanded(){}_persistExpanded(){try{const e={};this._expanded.forEach((r,n)=>{r&&(e[n]=!0)}),Object.keys(e).length>0?localStorage.setItem(Xr.sessionTreeExpanded,JSON.stringify(e)):localStorage.removeItem(Xr.sessionTreeExpanded)}catch{}}_toggleExpand(e){const r=this._expanded.get(e)??!1;this._setExpanded(e,!r)}_setExpanded(e,r){this._expanded.set(e,r),this._persistExpanded(),this._rebuildTreeFromCache()}_rebuildTreeFromCache(){this._cachedSessions&&this._buildTree(this._cachedSessions)}_rebuildTree(e){this._cachedSessions=e,this._buildTree(e)}_buildTree(e){const r=e.filter(s=>!s.rootClientSessionId),n=new Map;for(const s of e)if(s.rootClientSessionId){const o=n.get(s.rootClientSessionId)??[];o.push(s),n.set(s.rootClientSessionId,o)}const i=r.map(s=>this._buildNode(s,n));i.sort((s,o)=>o.session.updatedAt-s.session.updatedAt),this._state={rootNodes:i},this.host.requestUpdate()}_buildNode(e,r){const n=(r.get(e.clientId)??[]).sort((i,s)=>i.createdAt-s.createdAt).map(i=>this._buildNode(i,r));return{session:e,children:n,isExpanded:this._expanded.get(e.clientId)??!1}}}const gy=er("SessionTabController"),G_="rtc:active-tab";class vz{constructor(e){this._state={tabs:[],activeSessionId:null},this.host=e,this.host.addController(this),this.actions={openOrActivate:(r,n,i)=>this._openOrActivate(r,n,i),closeTab:r=>this._closeTab(r),setActiveTab:r=>this._setActiveTab(r),clearAll:()=>this._clearAll(),updateTabTitles:r=>this.updateTabTitles(r),syncTabStatuses:r=>this.syncTabStatuses(r),markSaved:r=>this._markSaved(r),findUnsavedTab:()=>this._findUnsavedTab(),updateTabStatus:(r,n)=>this._updateTabStatus(r,n),restoreActiveFromStorage:()=>this._restoreActiveFromStorage(),getStoredActiveSessionId:()=>this._getStoredActiveSessionId(),setTransientParams:(r,n)=>this._setTransientParams(r,n),clearTransientParams:r=>this._clearTransientParams(r)}}get value(){return{state:this._state,actions:this.actions}}hostConnected(){}hostDisconnected(){}filterInvalidTabs(e){const r=this._state.tabs.length,n=this._state.tabs.filter(s=>e.has(s.sessionId)||s.isUnsaved===!0);let i=this._state.activeSessionId;return i&&!n.some(s=>s.sessionId===i)&&(i=n.length>0?n[0].sessionId:null),n.length!==r?(this._state={tabs:n,activeSessionId:i},this.host.requestUpdate(),!0):!1}updateTabTitles(e){let r=!1;const n=this._state.tabs.map(i=>{const s=e.get(i.sessionId);return s!==void 0&&s.trim()!==""&&s!==i.title?(r=!0,{...i,title:s,isDefault:!1,isUnsaved:!1}):i});return r&&(this._state={...this._state,tabs:n},this.host.requestUpdate()),r}syncTabStatuses(e){let r=!1;const n=this._state.tabs.map(i=>{const s=e.get(i.sessionId);return s!==void 0&&s!==i.status?(r=!0,{...i,status:s}):i});return r&&(this._state={...this._state,tabs:n},this.host.requestUpdate()),r}_isPlaceholderTitle(e){return!e||e===Me("未命名")||e===Me("新聊天")}_findUnsavedTab(){return this._state.tabs.find(e=>e.isUnsaved===!0)}_markSaved(e){const r=this._state.tabs.find(i=>i.sessionId===e);if(!r||r.isUnsaved!==!0)return;const n=this._state.tabs.map(i=>i.sessionId===e?{...i,isUnsaved:!1}:i);this._state={...this._state,tabs:n},this.host.requestUpdate()}_updateTabStatus(e,r){const n=this._state.tabs.find(s=>s.sessionId===e);if(!n||n.status===r)return;const i=this._state.tabs.map(s=>s.sessionId===e?{...s,status:r}:s);this._state={...this._state,tabs:i},this.host.requestUpdate()}_openOrActivate(e,r,n){const i=this._isPlaceholderTitle(r),s=(n==null?void 0:n.activate)??!0,o=(n==null?void 0:n.skipPersist)??!1,l=(n==null?void 0:n.initialInputValue)!==void 0||(n==null?void 0:n.noticeMessage)!==void 0?{initialInputValue:n==null?void 0:n.initialInputValue,noticeMessage:n==null?void 0:n.noticeMessage}:void 0,c=this._state.tabs.findIndex(d=>d.sessionId===e);if(c>=0){const d=this._state.tabs[c];if(i&&!d.isDefault&&d.title!==r){gy.debug("Protected tab title:",d.title),s&&this._state.activeSessionId!==e&&(this._state={...this._state,activeSessionId:e},o||this._persistActiveSessionId(e),this.host.requestUpdate());return}const u=this._state.tabs.map((g,b)=>{if(b!==c)return g;const I={...g,title:r,isDefault:!!i};return l&&(I.initialInputValue=l.initialInputValue,I.noticeMessage=l.noticeMessage,I.initialValueVersion=(g.initialValueVersion??0)+1),I}),h=s?e:this._state.activeSessionId;this._state={tabs:u,activeSessionId:h},s&&!o&&this._persistActiveSessionId(h)}else{const d={sessionId:e,title:r,isDefault:!!i,isUnsaved:(n==null?void 0:n.isUnsaved)??!1,...l?{initialInputValue:l.initialInputValue,noticeMessage:l.noticeMessage,initialValueVersion:1}:{}},u=[...this._state.tabs,d],h=s?e:this._state.activeSessionId;this._state={tabs:u,activeSessionId:h},s&&!o&&this._persistActiveSessionId(h)}this.host.requestUpdate()}_closeTab(e){const r=this._state.tabs.findIndex(s=>s.sessionId===e);if(r<0)return;const n=this._state.tabs.filter(s=>s.sessionId!==e);let i=this._state.activeSessionId;if(i===e){if(n.length===0)i=null;else{const s=Math.min(r,n.length-1);i=n[s].sessionId}this._persistActiveSessionId(i)}this._state={tabs:n,activeSessionId:i},this.host.requestUpdate()}_setActiveTab(e){e!==null&&e!==this._state.activeSessionId?(this._state={...this._state,activeSessionId:e},this._persistActiveSessionId(e),this.host.requestUpdate()):e===null&&this._state.activeSessionId!==null&&(this._state={...this._state,activeSessionId:null},this._persistActiveSessionId(null),this.host.requestUpdate())}_clearAll(){this._state={tabs:[],activeSessionId:null},this._persistActiveSessionId(null),this.host.requestUpdate()}_persistActiveSessionId(e){try{if(typeof window>"u"||!window.localStorage)return;e===null?window.localStorage.removeItem(G_):window.localStorage.setItem(G_,e)}catch{}}_getStoredActiveSessionId(){try{return typeof window>"u"||!window.localStorage?null:window.localStorage.getItem(G_)}catch{return null}}_setTransientParams(e,r){if(!this._state.tabs.find(s=>s.sessionId===e))return;const i=this._state.tabs.map(s=>s.sessionId===e?{...s,initialInputValue:r.initialInputValue,noticeMessage:r.noticeMessage,initialValueVersion:(s.initialValueVersion??0)+1}:s);this._state={...this._state,tabs:i},this.host.requestUpdate()}_clearTransientParams(e){const r=this._state.tabs.find(i=>i.sessionId===e);if(!r||r.initialInputValue===void 0&&r.noticeMessage===void 0)return;const n=this._state.tabs.map(i=>i.sessionId===e?{...i,initialInputValue:void 0,noticeMessage:void 0}:i);this._state={...this._state,tabs:n},this.host.requestUpdate()}_restoreActiveFromStorage(){const e=this._getStoredActiveSessionId();return e?this._state.tabs.some(r=>r.sessionId===e)?this._state.activeSessionId===e?(gy.debug("Already active:",e),!1):(gy.debug("Restoring active tab:",e),this._state={...this._state,activeSessionId:e},this.host.requestUpdate(),!0):(gy.debug("Stored id not in tabs:",e),!1):!1}}const d4=er("SettingsController");class _z{constructor(e){this._state={...nf},this.host=e,this.host.addController(this),this.actions={updateAppearance:r=>this._update("appearance",r),updateChat:r=>this._update("chat",r),updateFiles:r=>this._update("files",r),updateNotifications:r=>this._update("notifications",r),resetAll:()=>this._reset()},this._restore()}get value(){return{state:this._state,actions:this.actions}}hostConnected(){this._removeGlobalListeners(),this._themeMediaQuery=window.matchMedia("(prefers-color-scheme: dark)"),this._themeMediaListener=()=>{this._state.appearance.theme==="system"&&this._applyTheme()},this._themeMediaQuery.addEventListener("change",this._themeMediaListener),(this.host.closest("rtc-agent")||this.host).hasAttribute("theme")||this._applyTheme(),this._applyFontSize(),this._storageListener=()=>this._handleStorageChange(),window.addEventListener("storage",this._storageListener)}hostDisconnected(){this._removeGlobalListeners(),document.documentElement.style.removeProperty("--rtc-font-size-user")}_removeGlobalListeners(){this._storageListener&&(window.removeEventListener("storage",this._storageListener),this._storageListener=void 0),this._themeMediaQuery&&this._themeMediaListener&&(this._themeMediaQuery.removeEventListener("change",this._themeMediaListener),this._themeMediaListener=void 0)}_restore(){var e,r;try{const n=localStorage.getItem(Xr.settings);if(!n)return;const i=JSON.parse(n);this._state={appearance:{theme:this._validateTheme((e=i.appearance)==null?void 0:e.theme),fontSize:this._validateFontSize((r=i.appearance)==null?void 0:r.fontSize)},chat:{...nf.chat,...i.chat},files:{...nf.files,...i.files},notifications:{...nf.notifications,...i.notifications}}}catch(n){d4.debug("Failed to restore settings:",n)}}_update(e,r){const n=this._state;this._state={...this._state,[e]:{...this._state[e],...r}},this._persist(),this._applyDiff(n,this._state),this.host.requestUpdate()}_reset(){const e=this._state;this._state={...nf},this._persist(),this._applyDiff(e,this._state),this.host.requestUpdate()}_persist(){try{localStorage.setItem(Xr.settings,JSON.stringify(this._state))}catch(e){d4.debug("Failed to persist settings:",e)}}_applyDiff(e,r){e.appearance.theme!==r.appearance.theme&&this._applyTheme(),e.appearance.fontSize!==r.appearance.fontSize&&this._applyFontSize()}_applyTheme(){var i;const e=this._state.appearance.theme,r=e==="system"?(i=this._themeMediaQuery)!=null&&i.matches?"dark":"light":e,n=this.host.closest("rtc-agent")||this.host;"theme"in n&&(n.theme=r)}_applyFontSize(){const e=this._state.appearance.fontSize,r=Math.min(24,Math.max(12,e));document.documentElement.style.setProperty("--rtc-font-size-user",`${r}px`)}_handleStorageChange(){const e=this._state;this._restore(),this._applyDiff(e,this._state),this.host.requestUpdate()}_validateTheme(e){return e==="light"||e==="dark"||e==="system"?e:"system"}_validateFontSize(e){return Math.min(24,Math.max(12,typeof e=="number"?e:14))}}const xz="data:audio/mpeg;base64,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",wz="data:audio/mpeg;base64,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qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+5LEkwPWZczyTuRtCAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",Sz="data:audio/mpeg;base64,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qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+5LEpgPbOgrmD20nSAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",yy=er("NotificationController"),ec=class ec{constructor(e){this._state={...B2},this._sounds=new Map,this._lastNotifyTime=0,this._abortController=new AbortController,this.host=e,this.host.addController(this),this.actions={markAsRead:()=>this._markAsRead(),clearAll:()=>this._clearAll()}}get value(){return{state:this._state,actions:this.actions}}hostConnected(){this._preloadSounds(),this._subscribeToMessages()}hostDisconnected(){var e;(e=this._busUnsubscribe)==null||e.call(this),this._sounds.clear(),this._deferredSoundTimer&&(clearTimeout(this._deferredSoundTimer),this._deferredSoundTimer=void 0),this._idleCallbackId!==void 0&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=void 0),this._abortController.abort(),this._abortController=new AbortController,this.host.removeAttribute("data-notification")}_preloadSounds(){this._sounds.clear();const e={message:xz};for(const[i,s]of Object.entries(e))this._loadSound(i,s);const r={complete:wz,error:Sz},n=()=>{this._deferredSoundTimer!==void 0&&(clearTimeout(this._deferredSoundTimer),this._deferredSoundTimer=void 0),this._idleCallbackId=void 0;for(const[i,s]of Object.entries(r))this._loadSound(i,s)};this._idleCallbackId!==void 0&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=void 0),"requestIdleCallback"in window?(this._idleCallbackId=requestIdleCallback(n),this._deferredSoundTimer=setTimeout(()=>{this._idleCallbackId!==void 0&&(cancelIdleCallback(this._idleCallbackId),this._idleCallbackId=void 0),n()},ec.IDLE_FALLBACK_DELAY_MS)):this._deferredSoundTimer=setTimeout(n,ec.DEFERRED_SOUND_DELAY_MS)}_loadSound(e,r){const n=new Audio;n.preload="auto",n.addEventListener("canplaythrough",()=>{this.host.isConnected&&this._sounds.set(e,n)},{once:!0}),n.addEventListener("error",()=>{yy.warn(`Audio load failed (file may not exist): ${r}`),this._sounds.delete(e)},{once:!0}),n.src=r}_playSound(e){var i;const r=(i=this.settingsController)==null?void 0:i.value.state.notifications;if(!(r!=null&&r.soundEnabled))return;const n=this._sounds.get(e);n&&(n.currentTime=0,n.volume=1,n.play().catch(s=>{s.name==="NotAllowedError"?yy.warn("Audio playback blocked by browser; user interaction required"):yy.warn("Playback failed:",s)}))}_subscribeToMessages(){var r;(r=this._busUnsubscribe)==null||r.call(this);const e=_u();this._busUnsubscribe=e.subscribe("message",n=>{n.action==="created"&&n.field==="content"&&this._handleNewMessage(n)})}async _handleNewMessage(e){const r=Date.now();if(!(r-this._lastNotifyTime<ec.NOTIFY_THROTTLE_MS)){this._lastNotifyTime=r;try{const n=this._abortController.signal,i=this.persistence?await Promise.race([this.persistence.getMessage(e.entityId),new Promise((o,l)=>{if(n.aborted){l(new DOMException("Aborted","AbortError"));return}n.addEventListener("abort",()=>{l(new DOMException("Aborted","AbortError"))},{once:!0})})]):void 0;if(n.aborted)return;const s=i==null?void 0:i.session_client_id;if(!s||!this._shouldNotify(s))return;this._triggerNotification(e,s)}catch(n){if(n instanceof Error&&n.name==="AbortError")return;yy.error("Failed to handle message:",n)}}}_shouldNotify(e){var i,s;const r=(i=this.sessionController)==null?void 0:i.value.state.currentSessionId;if(r&&e===r)return!1;const n=(s=this.settingsController)==null?void 0:s.value.state.notifications;return!(!(n!=null&&n.soundEnabled)&&!(n!=null&&n.toastEnabled))}_triggerNotification(e,r){var i;this._playSound("message"),this._state={unreadCount:this._state.unreadCount+1,lastNotificationAt:Date.now()},this.host.requestUpdate(),((i=this.windowStateController)==null?void 0:i.value.state.mode)==="minimized"?this._animateMinimizeIcon():this._showToast(e,r)}_showToast(e,r){var d,u,h;const n=(d=this.settingsController)==null?void 0:d.value.state.notifications;if(!(n!=null&&n.toastEnabled))return;const i=e.newValue,s=gh(i),l=(((u=this.sessionController)==null?void 0:u.value.state.sessions)??[]).find(g=>g.clientId===r),c=(l==null?void 0:l.title)??Me("新消息");(h=this.toastController)==null||h.actions.show(`${c}: ${s}`,"info",{label:Me("查看"),onClick:()=>this._navigateToSession(r)})}_navigateToSession(e){var r;(r=this.sessionController)==null||r.actions.switchSession(e),this.actions.markAsRead(),this.host.dispatchEvent(new CustomEvent("rtc-notification-click",{bubbles:!0,composed:!0,detail:{sessionId:e}}))}_animateMinimizeIcon(){this.host.setAttribute("data-notification","active")}_clearAnimation(){this.host.removeAttribute("data-notification")}_markAsRead(){this._state={...this._state,unreadCount:0},this._clearAnimation(),this.host.requestUpdate()}_clearAll(){this._state={...B2},this._clearAnimation(),this.host.requestUpdate()}};ec.NOTIFY_THROTTLE_MS=300,ec.IDLE_FALLBACK_DELAY_MS=2e3,ec.DEFERRED_SOUND_DELAY_MS=500;let Y_=ec;class Tz{constructor(e,r){this.host=e,this.deps=r,this.host.addController(this),this._initializeHandlers()}hostConnected(){}hostDisconnected(){this.unbindEvents(this.host)}_initializeHandlers(){const{windowState:e,auth:r,session:n,message:i,persistence:s,toast:o,fork:l,activity:c,fileExplorer:d,editorArea:u,settings:h,sessionTab:g,autoSaveTimers:b,getRtcProcessor:I,setRtcProcessor:P,getUnsubConnection:C,setUnsubConnection:T,bumpConnectGeneration:w,setConnecting:S,fileTreeLoaded:v,setFileTreeLoaded:O,setInitialSessionLoadDone:N,loadFileTree:D,loadFolderChildren:B,handleFileOpen:Q,handleEditorSave:te,handleRestoreDefault:F,handleCommand:K,beforeMessageSend:ge,showRestoreConfirmDialog:Ie,handleLoginRequested:qe,dispatchClearActiveInput:Pe,getShadowRoot:he,findScrollableParent:me,scheduleAutoSave:G,log:re}=this.deps;this._boundOnMinimize=()=>e.actions.minimize(),this._boundOnMaximize=()=>e.actions.maximize(),this._boundOnRestore=()=>e.actions.restore(),this._boundOnLoginRequested=ye=>{qe(ye)},this._boundOnLogout=()=>{for(const V of b.values())clearTimeout(V);b.clear(),O(!1),N(!1),u.actions.closeAll(),g.actions.clearAll(),c.actions.setActivity("chat"),l.actions.clearFork();const ye=I();ye==null||ye.cancel(),P(void 0);const le=C();le==null||le(),T(void 0),w(),S(void 0),s.disconnect(),n.actions.reset(),i.actions.clearMessages()},this._boundOnAccountBanned=ye=>{re.warn("account banned, triggering logout");const le=ye.detail,V=le==null?void 0:le.reason;try{sessionStorage.removeItem("rtc-account-banned-pending")}catch{}o.actions.show(rT(V),"error"),r.actions.logout()},this._boundOnNewSession=()=>{l.actions.clearFork(),n.value.state.currentSessionId||i.actions.clearMessages()},this._boundOnSessionDeleteRequested=async ye=>{const{sessionId:le}=ye.detail;re.debug("session delete requested:",le);const V=await n.actions.deleteSession(le);if(V.ok)o.actions.show("会话已删除","success");else{const $={"delete-failed":"删除失败,请稍后重试"};o.actions.show($[V.error??""]??V.error??"删除失败","error")}},this._boundOnSessionRenameConfirmed=async ye=>{const{sessionId:le,title:V}=ye.detail;if(!V.trim())return;const $=await n.actions.renameSession(le,V.trim());if(!$.ok){const ne={"rename-failed":"重命名失败,请稍后重试"};o.actions.show(ne[$.error??""]??$.error??"重命名失败","error")}},this._boundOnInputSubmit=async ye=>{const V=ye.detail.contentData,ne=(Ae=>typeof Ae=="string"?Ae:"")(V.data),ce={message:{content:ne,metadata:void 0}};if(await ge(ce)){ce.message.content!==ne&&(V.data=ce.message.content);try{l.isActive?await l.actions.submitFork(V):await i.actions.sendMessage(V);const Ae=n.value.state.currentSessionId;Ae&&g.actions.markSaved(Ae)}catch(Ae){re.error("message submit failed:",Ae)}}},this._boundOnForkInitiated=ye=>{const{oldSessionClientId:le,oldMessageClientId:V,newSessionClientId:$,content:ne}=ye.detail;l.actions.requestFork(le,V,$,ne)},this._boundOnStopRequested=ye=>{const le=ye.detail;s.layer&&s.layer.stopTurn(le.sessionClientId)},this._boundOnResendMessage=ye=>{const V=ye.detail.message;V!=null&&V.clientId&&(V!=null&&V.content)&&i.actions.resendMessage(V.clientId,V.content)},this._boundOnToastRequested=ye=>{const le=ye.detail;o.actions.show(le.message,le.type)},this._boundOnToastClose=ye=>{const le=ye.detail;o.actions.remove(le.id)},this._boundOnCommandRequested=ye=>{const le=ye.detail;K(le.name,le.args)},this._boundOnActivityChange=ye=>{const{activity:le,toggleSidebar:V}=ye.detail;V?c.actions.toggleSidebar():(c.actions.setActivity(le),le==="settings"&&c.actions.showSidebar(),le==="files"&&!v()&&s.isConnected&&D())},this._boundOnFileSelect=ye=>{const{path:le}=ye.detail;Q(le)},this._boundOnFolderToggle=ye=>{const{path:le}=ye.detail;d.value.isExpanded(le)&&(re.debug("_boundOnFolderToggle: loading children for",le),B(le))},this._boundOnFileExplorerRefresh=()=>{D()},this._boundOnEditorAreaSave=ye=>{const{filePath:le}=ye.detail;te(le)},this._boundOnEditorAreaTabClose=ye=>{const{filePath:le}=ye.detail,V=b.get(le);V&&(clearTimeout(V),b.delete(le)),u.actions.closeFile(le)},this._boundOnEditorAreaTabSelect=ye=>{const{filePath:le}=ye.detail;u.actions.switchTab(le)},this._boundOnEditorAreaContentChange=ye=>{const{filePath:le,content:V}=ye.detail;u.actions.updateContent(le,V),h.value.state.files.autoSave&&G(le)},this._boundOnEditorAreaViewModeChange=ye=>{const{filePath:le,viewMode:V}=ye.detail;u.actions.setViewMode(le,V)},this._boundOnEditorAreaCursorMove=ye=>{const le=ye.detail,V=u.activeFilePath;V&&u.actions.setCursorPosition(V,le)},this._boundOnEditorAreaRestoreDefault=async ye=>{const{filePath:le}=ye.detail;if(!await Ie(le,he()))return;const $=await F(le);$.success?o.actions.show("已恢复默认内容","success"):o.actions.show($.error??"恢复失败","error")},this._boundOnChatLayoutSessionSelect=ye=>{const{sessionId:le}=ye.detail;re.debug("chat-layout session selected:",le)},this._boundOnChatLayoutTabActivate=ye=>{const{sessionId:le}=ye.detail;re.debug("chat-layout tab activated:",le)},this._boundOnChatLayoutTabClose=ye=>{const{sessionId:le}=ye.detail;re.debug("chat-layout tab closed:",le)},this._boundOnKeydown=ye=>{if(ye.key==="Escape"&&l.isActive){l.actions.clearFork(),Pe();return}if(!(c.active!=="files"||!(ye.metaKey||ye.ctrlKey))){if(ye.key==="s"||ye.key==="S"){const V=u.state.activeFilePath;V&&(ye.preventDefault(),te(V))}else if(ye.key==="w"||ye.key==="W"){const V=u.state.activeFilePath;V&&(ye.preventDefault(),u.actions.closeFile(V))}}},this._boundOnWheel=ye=>{const le=ye.composedPath()[0],V=le instanceof Element?le:null,$=V?me(V):null;if(!$){ye.preventDefault(),ye.stopPropagation();return}const{scrollTop:ne,scrollHeight:ce,clientHeight:Se,scrollLeft:Ae,scrollWidth:Ne,clientWidth:Xe}=$,be=ne<=0,Te=Math.ceil(ne+Se)>=ce,lt=ye.deltaY<0,it=ye.deltaY>0,Pt=ce>Se,We=Ae<=0,Ve=Math.ceil(Ae+Xe)>=Ne,Je=ye.deltaX<0||ye.shiftKey&&ye.deltaY<0,ot=ye.deltaX>0||ye.shiftKey&&ye.deltaY>0,Dt=Ne>Xe;(Pt&&(be&<||Te&&it)||Dt&&(We&&Je||Ve&&ot))&&(ye.preventDefault(),ye.stopPropagation())},this._boundOnDrawerClose=()=>{c.actions.hideSidebar()}}bindEvents(e){e.addEventListener("rtc-window-minimize",this._boundOnMinimize),e.addEventListener("rtc-window-maximize",this._boundOnMaximize),e.addEventListener("rtc-window-restore",this._boundOnRestore),e.addEventListener("rtc-auth-login-requested",this._boundOnLoginRequested),e.addEventListener("rtc-auth-logout",this._boundOnLogout),e.addEventListener("rtc-account-banned",this._boundOnAccountBanned),e.addEventListener("rtc-new-session",this._boundOnNewSession),e.addEventListener("rtc-session-delete-requested",this._boundOnSessionDeleteRequested),e.addEventListener("rtc-session-rename-confirmed",this._boundOnSessionRenameConfirmed),e.addEventListener("rtc-input-submit",this._boundOnInputSubmit),e.addEventListener("rtc-fork-initiated",this._boundOnForkInitiated),e.addEventListener("rtc-stop-requested",this._boundOnStopRequested),e.addEventListener("rtc-user-message-resend",this._boundOnResendMessage),e.addEventListener("rtc-toast-requested",this._boundOnToastRequested),e.addEventListener("rtc-toast-close",this._boundOnToastClose),e.addEventListener("rtc-command-requested",this._boundOnCommandRequested),e.addEventListener("activity-change",this._boundOnActivityChange),e.addEventListener("file-select",this._boundOnFileSelect),e.addEventListener("folder-toggle",this._boundOnFolderToggle),e.addEventListener("refresh-requested",this._boundOnFileExplorerRefresh),e.addEventListener("editor-area-save",this._boundOnEditorAreaSave),e.addEventListener("editor-area-tab-close",this._boundOnEditorAreaTabClose),e.addEventListener("editor-area-tab-select",this._boundOnEditorAreaTabSelect),e.addEventListener("editor-area-content-change",this._boundOnEditorAreaContentChange),e.addEventListener("editor-area-view-mode-change",this._boundOnEditorAreaViewModeChange),e.addEventListener("editor-area-cursor-move",this._boundOnEditorAreaCursorMove),e.addEventListener("editor-area-restore-default",this._boundOnEditorAreaRestoreDefault),e.addEventListener("rtc-chat-layout-session-select",this._boundOnChatLayoutSessionSelect),e.addEventListener("rtc-chat-layout-tab-activate",this._boundOnChatLayoutTabActivate),e.addEventListener("rtc-chat-layout-tab-close",this._boundOnChatLayoutTabClose),e.addEventListener("rtc-drawer-close",this._boundOnDrawerClose),e.addEventListener("keydown",this._boundOnKeydown),e.addEventListener("wheel",this._boundOnWheel,{passive:!1})}unbindEvents(e){e.removeEventListener("rtc-window-minimize",this._boundOnMinimize),e.removeEventListener("rtc-window-maximize",this._boundOnMaximize),e.removeEventListener("rtc-window-restore",this._boundOnRestore),e.removeEventListener("rtc-auth-login-requested",this._boundOnLoginRequested),e.removeEventListener("rtc-auth-logout",this._boundOnLogout),e.removeEventListener("rtc-account-banned",this._boundOnAccountBanned),e.removeEventListener("rtc-new-session",this._boundOnNewSession),e.removeEventListener("rtc-session-delete-requested",this._boundOnSessionDeleteRequested),e.removeEventListener("rtc-session-rename-confirmed",this._boundOnSessionRenameConfirmed),e.removeEventListener("rtc-input-submit",this._boundOnInputSubmit),e.removeEventListener("rtc-fork-initiated",this._boundOnForkInitiated),e.removeEventListener("rtc-stop-requested",this._boundOnStopRequested),e.removeEventListener("rtc-user-message-resend",this._boundOnResendMessage),e.removeEventListener("rtc-toast-requested",this._boundOnToastRequested),e.removeEventListener("rtc-toast-close",this._boundOnToastClose),e.removeEventListener("rtc-command-requested",this._boundOnCommandRequested),e.removeEventListener("activity-change",this._boundOnActivityChange),e.removeEventListener("file-select",this._boundOnFileSelect),e.removeEventListener("folder-toggle",this._boundOnFolderToggle),e.removeEventListener("refresh-requested",this._boundOnFileExplorerRefresh),e.removeEventListener("editor-area-save",this._boundOnEditorAreaSave),e.removeEventListener("editor-area-tab-close",this._boundOnEditorAreaTabClose),e.removeEventListener("editor-area-tab-select",this._boundOnEditorAreaTabSelect),e.removeEventListener("editor-area-content-change",this._boundOnEditorAreaContentChange),e.removeEventListener("editor-area-view-mode-change",this._boundOnEditorAreaViewModeChange),e.removeEventListener("editor-area-cursor-move",this._boundOnEditorAreaCursorMove),e.removeEventListener("editor-area-restore-default",this._boundOnEditorAreaRestoreDefault),e.removeEventListener("rtc-chat-layout-session-select",this._boundOnChatLayoutSessionSelect),e.removeEventListener("rtc-chat-layout-tab-activate",this._boundOnChatLayoutTabActivate),e.removeEventListener("rtc-chat-layout-tab-close",this._boundOnChatLayoutTabClose),e.removeEventListener("rtc-drawer-close",this._boundOnDrawerClose),e.removeEventListener("keydown",this._boundOnKeydown),e.removeEventListener("wheel",this._boundOnWheel)}get handlers(){return{onLoginRequested:this._boundOnLoginRequested}}}const f4=er("FunctionsController");class Ez{constructor(e){this._registry=null,this._state={...wb},this.host=e,this.host.addController(this),this.actions={refresh:()=>this._refresh()}}get value(){return{state:this._state,actions:this.actions}}hostConnected(){}hostDisconnected(){}setRegistry(e){this._registry=e,e?this._refresh():(this._state={...wb},this.host.requestUpdate())}_refresh(){if(!this._registry){this._state={...wb},this.host.requestUpdate();return}try{const e=this._registry.listFunctions(),r=this._registry.listGroups();this._state={functions:e,groups:r},f4.debug("Refreshed function list:",e.length,"functions,",r.length,"groups"),this.host.requestUpdate()}catch(e){f4.error("Failed to refresh function list:",e)}}}function J_(t,e){var o,l;const r=[];let n=t;for(;n!=null&&n._def;){const c=n._def.typeName||n._def.type;if(c==="ZodOptional"||c==="optional"||c==="ZodDefault"||c==="default")n=n._def.innerType;else break}const i=(n==null?void 0:n._def)&&(n._def.typeName==="ZodObject"||n._def.shape!==void 0&&typeof n._def.shape=="object"&&!Array.isArray(n._def.shape));if(!n||!n._def||!i)throw new Error("zodToParams expects a ZodObject schema (got: "+(((o=n==null?void 0:n._def)==null?void 0:o.typeName)||((l=n==null?void 0:n._def)==null?void 0:l.type)||"unknown")+")");const s=typeof n._def.shape=="function"?n._def.shape():n._def.shape;for(const[c,d]of Object.entries(s)){const u=Eo(d),{isOptional:h,description:g,example:b}=X_(d);r.push({name:c,schema:{...u,description:(e==null?void 0:e[c])||g||u.description,...b!==void 0?{example:b}:{}},required:!h,description:(e==null?void 0:e[c])||g})}return r}function X_(t){var c,d;const e=t._def;if(!e)return{isOptional:!1};let r=!1,n,i;const s=e.typeName||e.type;if((s==="ZodOptional"||s==="optional"||s==="ZodDefault"||s==="default")&&(r=!0,e.innerType)){const u=X_(e.innerType);n=u.description,i=u.example}e.description?n=e.description:t.description&&(n=t.description);const o=e.meta;(o==null?void 0:o.example)!==void 0?i=o.example:o!=null&&o.examples&&o.examples.length>0&&(i=o.examples[0]);const l=(c=t._zod)==null?void 0:c.bag;if(i===void 0&&(l==null?void 0:l.example)!==void 0?i=l.example:i===void 0&&(l!=null&&l.examples)&&l.examples.length>0&&(i=l.examples[0]),i===void 0&&(s==="ZodEnum"||s==="enum")&&((d=e.values)==null?void 0:d.length)>0&&(i=e.values[0]),i===void 0&&(s==="ZodDefault"||s==="default")&&typeof e.defaultValue=="function")try{i=e.defaultValue()}catch{}return{isOptional:r,description:n,example:i}}function Z_(t){return Eo(t)}function Eo(t){const e=t._def;if(!e)return{};const r=e.meta,n=r==null?void 0:r.format;switch(e.typeName||e.type){case"ZodString":case"string":{const s={type:"string"};if(e.checks)for(const o of e.checks){const l=o.def||o,c=o.kind||l.check,d=o.value??l.value;if((c==="min"||c==="minLength")&&(s.minLength=d),(c==="max"||c==="maxLength")&&(s.maxLength=d),c==="regex"){const u=o.regex||l.regex;u&&(s.pattern=u.source||u)}}return n&&(s.format=n),s}case"ZodNumber":case"number":{const s={type:"number"};let o=!1;if(e.checks)for(const l of e.checks){const c=l.def||l,d=l.kind||c.check,u=l.value??c.value;d==="min"&&(s.minimum=u),d==="max"&&(s.maximum=u),(d==="int"||c.type==="number"&&c.format==="safeint")&&(o=!0)}return o&&(s.type="integer"),n&&(s.format=n),s}case"ZodBoolean":case"boolean":return{type:"boolean"};case"ZodEnum":case"enum":return{type:"string",enum:e.values};case"ZodArray":case"array":return{type:"array",items:Eo(e.element||e.type)};case"ZodOptional":case"optional":return Eo(e.innerType);case"ZodDefault":case"default":return{...Eo(e.innerType),default:typeof e.defaultValue=="function"?e.defaultValue():e.defaultValue};case"ZodObject":case"object":{const s=typeof e.shape=="function"?e.shape():e.shape;if(!s)return{type:"object"};const o={},l=[];for(const[u,h]of Object.entries(s)){const g=Eo(h),b=X_(h);b.description&&!g.description&&(g.description=b.description),o[u]=g,b.isOptional||l.push(u)}const c={type:"object",properties:o};l.length>0&&(c.required=l);const d=e.description||t.description;return d&&(c.description=d),c}case"ZodVoid":case"void":return{type:"null"};case"ZodNull":case"null":return{type:"null"};case"ZodNullable":case"nullable":return{...Eo(e.innerType),nullable:!0};case"ZodRecord":case"record":{const s=e.valueType||e.type;return{type:"object",additionalProperties:s?Eo(s):{}}}case"ZodAny":case"any":return{};case"ZodUnknown":case"unknown":return{};case"ZodLiteral":case"literal":{const s=e.value,o=typeof s;return o==="string"?{type:"string",enum:[s]}:o==="number"?{type:"number",enum:[s]}:o==="boolean"?{type:"boolean",enum:[s]}:{enum:[s]}}case"ZodUnion":case"union":case"ZodDiscriminatedUnion":case"discriminatedUnion":{const s=e.options||[];return s.length===0?{}:{oneOf:s.map(l=>Eo(l))}}case"ZodIntersection":case"intersection":{const s=Eo(e.left),o=Eo(e.right);return{allOf:[s,o]}}case"ZodTuple":case"tuple":{const s=(e.items||[]).map(o=>Eo(o));return{type:"array",items:s.length>0?{oneOf:s}:{},minItems:s.length,maxItems:s.length}}default:return{}}}function by(t,e){const r=t._def;return r&&(r.meta={...r.meta,...e}),t}const p4=er("MarkdownGenerator");function tl(t){return t?t.$ref?`[${t.$ref.split("/").pop()||t.$ref}](${t.$ref})`:t.oneOf&&t.oneOf.length>0?t.oneOf.map(e=>tl(e)).join(" | "):t.type==="array"&&t.items?`${tl(t.items)}[]`:t.type==="object"&&t.properties?`{ ${Object.entries(t.properties).map(([r,n])=>`${r}: ${tl(n)}`).join(", ")} }`:t.type?t.format?`${t.type} (${t.format})`:t.type:t.format?t.format:"unknown":"unknown"}function vy(t,e,r,n,i=0){const s=[],o=" ".repeat(i),l=i>0?`└─ ${e}`:e,c=t.example!==void 0?`\`${JSON.stringify(t.example)}\``:"";if(t.type&&t.type!=="object"&&t.type!=="array"){const g=tl(t),b=n||t.description||"",I=r?"Yes":"No";return s.push(`| ${o}${l} | ${g} | ${I} | ${b} | ${c} |`),s}if(t.type==="array"&&t.items){const g=`${tl(t.items)}[]`,b=n||t.description||"",I=r?"Yes":"No";if(s.push(`| ${o}${l} | ${g} | ${I} | ${b} | ${c} |`),t.items.type==="object"&&t.items.properties){const P=t.items.required||[];for(const[C,T]of Object.entries(t.items.properties)){const w=P.includes(C);s.push(...vy(T,C,w,T.description,i+1))}}return s}if(t.type==="object"&&t.properties){const g=n||t.description||"",b=r?"Yes":"No";s.push(`| ${o}${l} | object | ${b} | ${g} | ${c} |`);const I=t.required||[];for(const[P,C]of Object.entries(t.properties)){const T=I.includes(P);s.push(...vy(C,P,T,C.description,i+1))}return s}const d=tl(t),u=n||t.description||"",h=r?"Yes":"No";return s.push(`| ${o}${l} | ${d} | ${h} | ${u} | ${c} |`),s}function Q_(t,e){var s,o,l,c,d;let r=`<!-- AUTO-GENERATED by rtc-agent FunctionRegistry. Do not edit manually. -->
|
|
3314
3314
|
|
|
3315
3315
|
`;r+=`# ${t.name}
|
|
3316
3316
|
|