@rizom/brain 0.2.0-alpha.294 → 0.2.0-alpha.295

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/brain.js +38 -38
  2. package/dist/chunks/{app-7h0ktmqe.js → app-xadmfc1k.js} +2 -2
  3. package/dist/chunks/{blog-post-adapter-pry4wmvh.js → blog-post-adapter-msa366fv.js} +2 -2
  4. package/dist/chunks/{index-bm64b1kf.js → index-0j1nh99p.js} +2 -2
  5. package/dist/chunks/{index-xbknv9v6.js → index-arzakchn.js} +2 -2
  6. package/dist/chunks/{index-zphmeesv.js → index-j76x5vkr.js} +3 -3
  7. package/dist/chunks/{index-b6mztv4y.js → index-mhww1ck3.js} +37 -37
  8. package/dist/chunks/{index-b6mztv4y.js.map → index-mhww1ck3.js.map} +4 -4
  9. package/dist/chunks/{index-6770cfwj.js → index-r1wexhe0.js} +2 -2
  10. package/dist/chunks/{index-7rbj9rvh.js → index-svssjkg1.js} +3 -3
  11. package/dist/chunks/{index-7rbj9rvh.js.map → index-svssjkg1.js.map} +1 -1
  12. package/dist/chunks/{linkedin-template-ac495hbj.js → linkedin-template-bnqx93px.js} +2 -2
  13. package/dist/chunks/{rss-datasource-979yw455.js → rss-datasource-02m437cd.js} +2 -2
  14. package/dist/entities.js +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/interfaces.js +1 -1
  17. package/dist/model.js +39 -39
  18. package/dist/model.js.map +1 -1
  19. package/dist/plugins.js +1 -1
  20. package/dist/services.js +1 -1
  21. package/package.json +1 -1
  22. /package/dist/chunks/{app-7h0ktmqe.js.map → app-xadmfc1k.js.map} +0 -0
  23. /package/dist/chunks/{blog-post-adapter-pry4wmvh.js.map → blog-post-adapter-msa366fv.js.map} +0 -0
  24. /package/dist/chunks/{index-bm64b1kf.js.map → index-0j1nh99p.js.map} +0 -0
  25. /package/dist/chunks/{index-xbknv9v6.js.map → index-arzakchn.js.map} +0 -0
  26. /package/dist/chunks/{index-zphmeesv.js.map → index-j76x5vkr.js.map} +0 -0
  27. /package/dist/chunks/{index-6770cfwj.js.map → index-r1wexhe0.js.map} +0 -0
  28. /package/dist/chunks/{linkedin-template-ac495hbj.js.map → linkedin-template-bnqx93px.js.map} +0 -0
  29. /package/dist/chunks/{rss-datasource-979yw455.js.map → rss-datasource-02m437cd.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
  import{Of as Fm}from"./index-k9v3kt7p.js";import{Qf as M1}from"./index-n52wxje0.js";import{$f as Em,Bg as Z7,Dg as yf,Eg as DY,Eh as yA,Gh as Nm,Ig as v9,Jg as $Y,Mg as aA,Nh as QY,Og as Z7$,Wf as pA,Xf as dA,Yf as uA,dg as X7,eg as Fh,fg as Oh,gg as IF,hg as nm,ng as uh,pg as I9,ph as Vg,qh as WY,rh as bf,sh as tb,tg as d$,th as tA,ug as XJ,vg as vf,wg as cX,xg as G7,zg as KY}from"./index-5xdwvk1h.js";import{Vh as H}from"./index-w249kyr1.js";import{Wh as $7$,Yh as M8}from"./index-jfrysrt9.js";function KJ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function gY$($){try{return new URL($).hostname.replace(/\./g,"-")}catch{return($.split("/")[0]??$).replace(/\./g,"-")}}function hY$($,Z){let X=KJ($);if(!X){let J=Date.now().toString(36);return Z?`id-${J}-${Z}`:`id-${J}`}return Z?`${X}-${Z}`:X}var yc=new Set(["series","species","sheep","deer","fish"]);function C3($){if(yc.has($.toLowerCase()))return $;if($.endsWith("y")&&$.length>1){let Z=$[$.length-2];if(!"aeiou".includes(Z?.toLowerCase()??""))return $.slice(0,-1)+"ies"}if($.endsWith("s")||$.endsWith("x")||$.endsWith("ch"))return $+"es";return $+"s"}function mY$($){return $.replace(/[-_]/g," ").replace(/([A-Z])/g," $1").replace(/\b\w/g,(Z)=>Z.toUpperCase()).replace(/\s+/g," ").trim()}function fY$($){let X=$.split("-").map((G)=>G.charAt(0).toUpperCase()+G.slice(1)),J=X.pop();if(J)X.push(C3(J));return X.join(" ")}var bc={github:"GitHub",instagram:"Instagram",linkedin:"LinkedIn",email:"Email",website:"Website"};function cY$($){let Z=$.toLowerCase(),X=bc[Z];if(X!==void 0)return X;return $.replace(/\b\w/g,(J)=>J.toUpperCase())}function pY$($,Z){if(!Z)return $;try{return new URL($,Z).toString()}catch{return $}}function dY$($){let X=$.split(/\s+/).filter((J)=>J.length>0).length;return Math.max(1,Math.ceil(X/200))}function uY$($){let Z=$.replace(/\s+/g," ").trim();if(!Z)return;let X=Z.match(/^(.*?[.!?])(?:\s|$)/);if(X?.[1])return X[1];return Z.length<=200?Z:`${Z.slice(0,197)}\u2026`}function oY$($,Z){if($.length<=Z)return $;let X=$.slice(0,Z),J=X.lastIndexOf(" ");return J>0?X.slice(0,J)+"...":X+"..."}function nY$($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#39;")}var M0={};M8(M0,{zipWith:()=>gV,zipRight:()=>Tn,zipParRight:()=>Rn,zipParLeft:()=>zn,zipPar:()=>Mn,zipLeft:()=>Fn,zip:()=>Pn,void:()=>_n,succeed:()=>R2,matchEffect:()=>Nn,match:()=>bV,mapErrorCause:()=>Bn,mapError:()=>On,mapBoth:()=>Qn,map:()=>Vn,isSuccess:()=>K9,isInterrupted:()=>$n,isFailure:()=>z2,isExit:()=>eo,interrupt:()=>yV,getOrElse:()=>Kn,fromOption:()=>An,fromEither:()=>Un,forEachEffect:()=>bD,flatten:()=>vV,flatMapEffect:()=>Hn,flatMap:()=>Dn,failCause:()=>IV,fail:()=>kV,exists:()=>Wn,die:()=>Yn,causeOption:()=>Jn,asVoid:()=>Xn,as:()=>Zn,all:()=>Gn});var nZ={};M8(nZ,{zipWith:()=>AT,void:()=>Dp,try:()=>Up,transposeOption:()=>Sp,transposeMapOption:()=>jp,right:()=>S$,orElse:()=>Tp,merge:()=>s9,match:()=>UT,mapLeft:()=>Op,mapBoth:()=>Qp,map:()=>I1,liftPredicate:()=>Bp,let:()=>xp,left:()=>f$,isRight:()=>c6,isLeft:()=>R0,isEither:()=>HT,getRight:()=>Ap,getOrUndefined:()=>Pp,getOrThrowWith:()=>m3,getOrThrow:()=>Fp,getOrNull:()=>_p,getOrElse:()=>h3,getLeft:()=>Kp,getEquivalence:()=>Vp,gen:()=>Cp,fromOption:()=>g3,fromNullable:()=>Hp,flip:()=>Rp,flatMap:()=>wJ,filterOrLeft:()=>Np,bindTo:()=>Ep,bind:()=>qp,ap:()=>zp,andThen:()=>Mp,all:()=>f3,TypeId:()=>Wp,Do:()=>Lp});var dY=($)=>typeof $==="function",V=function($,Z){if(typeof $==="function")return function(){if($(arguments))return Z.apply(this,arguments);return(X)=>Z(X,...arguments)};switch($){case 0:case 1:throw RangeError(`Invalid arity ${$}`);case 2:return function(X,J){if(arguments.length>=2)return Z(X,J);return function(G){return Z(G,X)}};case 3:return function(X,J,G){if(arguments.length>=3)return Z(X,J,G);return function(Y){return Z(Y,X,J)}};case 4:return function(X,J,G,Y){if(arguments.length>=4)return Z(X,J,G,Y);return function(W){return Z(W,X,J,G)}};case 5:return function(X,J,G,Y,W){if(arguments.length>=5)return Z(X,J,G,Y,W);return function(D){return Z(D,X,J,G,Y)}};default:return function(){if(arguments.length>=$)return Z.apply(this,arguments);let X=arguments;return function(J){return Z(J,...X)}}}};var R$=($)=>$;var N7=($)=>()=>$,m6=N7(!0),JZ=N7(!1),uY=N7(null),VJ=N7(void 0),MZ=VJ;function F($,Z,X,J,G,Y,W,D,U){switch(arguments.length){case 1:return $;case 2:return Z($);case 3:return X(Z($));case 4:return J(X(Z($)));case 5:return G(J(X(Z($))));case 6:return Y(G(J(X(Z($)))));case 7:return W(Y(G(J(X(Z($))))));case 8:return D(W(Y(G(J(X(Z($)))))));case 9:return U(D(W(Y(G(J(X(Z($))))))));default:{let A=arguments[0];for(let Q=1;Q<arguments.length;Q++)A=arguments[Q](A);return A}}}var f6=($)=>(Z,X)=>Z===X||$(Z,X),gc=($,Z)=>$===Z,hc=()=>gc;var fF=hc();var cF=V(2,($,Z)=>f6((X,J)=>$(Z(X),Z(J))));var oY=($)=>f6((Z,X)=>{if(Z.length!==X.length)return!1;for(let J=0;J<Z.length;J++)if(!$(Z[J],X[J]))return!1;return!0});var P7=($)=>V(3,(Z,X,J)=>$(Z,(G)=>({...G,[X]:J(G)}))),F7=($)=>V(2,(Z,X)=>$(Z,(J)=>({[X]:J}))),T7=($,Z)=>V(3,(X,J,G)=>Z(X,(Y)=>$(G(Y),(W)=>({...Y,[J]:W}))));var QJ,_$=($,Z)=>{if(!QJ)globalThis["effect/GlobalValue"]??=new Map,QJ=globalThis["effect/GlobalValue"];if(!QJ.has($))QJ.set($,Z());return QJ.get($)};var OJ=($)=>typeof $==="string",BJ=($)=>typeof $==="number";var q3=($)=>typeof $==="bigint";var c8=dY;var mc=($)=>typeof $==="object"&&$!==null,q1=($)=>mc($)||c8($),u=V(2,($,Z)=>q1($)&&(Z in $)),I4=V(2,($,Z)=>u($,"_tag")&&$._tag===Z),c9=($)=>$===null||$===void 0;var p8=($)=>typeof $==="string"||u($,Symbol.iterator);var E3=($)=>u($,"then")&&c8($.then);var E1=($)=>`BUG: ${$} - please report an issue at https://github.com/Effect-TS/effect/issues`;var x3=Symbol.for("effect/Gen/GenKind"),nY=($)=>q1($)&&(x3 in $);class dF{value;constructor($){this.value=$}get _F(){return R$}get _R(){return($)=>$}get _O(){return($)=>$}get _E(){return($)=>$}[x3]=x3;[Symbol.iterator](){return new d9(this)}}class d9{self;called=!1;constructor($){this.self=$}next($){return this.called?{value:$,done:!0}:(this.called=!0,{value:this.self,done:!1})}return($){return{value:$,done:!0}}throw($){throw $}[Symbol.iterator](){return new d9(this.self)}}var rY=()=>function(){let $=arguments[0];for(let Z=1;Z<arguments.length;Z++)$=arguments[Z]($);return new dF($)},fc=335903614,cc=4150755663,pc=1481765933,dc=1284865837,uc=9007199254740992,oc=134217728;class j3{_state;constructor($,Z,X,J){if(c9(Z)&&c9($))Z=Math.random()*4294967295>>>0,$=0;else if(c9(Z))Z=$,$=0;if(c9(J)&&c9(X))J=this._state?this._state[3]:cc,X=this._state?this._state[2]:fc;else if(c9(J))J=X,X=0;return this._state=new Int32Array([0,0,X>>>0,((J||0)|1)>>>0]),this._next(),pF(this._state,this._state[0],this._state[1],$>>>0,Z>>>0),this._next(),this}getState(){return[this._state[0],this._state[1],this._state[2],this._state[3]]}setState($){this._state[0]=$[0],this._state[1]=$[1],this._state[2]=$[2],this._state[3]=$[3]|1}integer($){return Math.round(this.number()*Number.MAX_SAFE_INTEGER)%$}number(){let $=(this._next()&67108863)*1,Z=(this._next()&134217727)*1;return($*oc+Z)/uc}_next(){let $=this._state[0]>>>0,Z=this._state[1]>>>0;nc(this._state,$,Z,pc,dc),pF(this._state,this._state[0],this._state[1],this._state[2],this._state[3]);let X=$>>>18,J=(Z>>>18|$<<14)>>>0;X=(X^$)>>>0,J=(J^Z)>>>0;let G=(J>>>27|X<<5)>>>0,Y=$>>>27,W=(-Y>>>0&31)>>>0;return(G>>>Y|G<<W)>>>0}}function nc($,Z,X,J,G){let Y=(X>>>16)*(G&65535)>>>0,W=(X&65535)*(G>>>16)>>>0,D=(X&65535)*(G&65535)>>>0,U=(X>>>16)*(G>>>16)+((W>>>16)+(Y>>>16))>>>0;if(W=W<<16>>>0,D=D+W>>>0,D>>>0<W>>>0)U=U+1>>>0;if(Y=Y<<16>>>0,D=D+Y>>>0,D>>>0<Y>>>0)U=U+1>>>0;U=U+Math.imul(X,J)>>>0,U=U+Math.imul(Z,G)>>>0,$[0]=U,$[1]=D}function pF($,Z,X,J,G){let Y=Z+J>>>0,W=X+G>>>0;if(W>>>0<X>>>0)Y=Y+1|0;$[0]=Y,$[1]=W}var S3=Symbol.for("effect/Utils/YieldWrap");class x1{#$;constructor($){this.#$=$}[S3](){return this.#$}}function u9($){if(typeof $==="object"&&$!==null&&S3 in $)return $[S3]();throw Error(E1("yieldWrapGet"))}var W8=_$("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var uF={effect_internal_function:($)=>{return $()}},rc={effect_internal_function:($)=>{try{return $()}finally{}}},lc=uF.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,E0=lc?uF.effect_internal_function:rc.effect_internal_function,ic=function*(){}.constructor,oF=($)=>q1($)&&$.constructor===ic;var I3=_$(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),Y$=Symbol.for("effect/Hash"),a=($)=>{if(W8.enabled===!0)return 0;switch(typeof $){case"number":return o9($);case"bigint":return o$($.toString(10));case"boolean":return o$(String($));case"symbol":return o$(String($));case"string":return o$($);case"undefined":return o$("undefined");case"function":case"object":if($===null)return o$("null");else if($ instanceof Date){if(Number.isNaN($.getTime()))return o$("Invalid Date");return a($.toISOString())}else if($ instanceof URL)return a($.href);else if(sc($))return $[Y$]();else return NJ($);default:throw Error(`BUG: unhandled typeof ${typeof $} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},NJ=($)=>{if(!I3.has($))I3.set($,o9(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return I3.get($)},V$=($)=>(Z)=>Z*53^$,lY=($)=>$&3221225471|$>>>1&1073741824,sc=($)=>u($,Y$),o9=($)=>{if($!==$||$===1/0)return 0;let Z=$|0;if(Z!==$)Z^=$*4294967295;while($>4294967295)Z^=$/=4294967295;return lY(Z)},o$=($)=>{let Z=5381,X=$.length;while(X)Z=Z*33^$.charCodeAt(--X);return lY(Z)},ac=($,Z)=>{let X=12289;for(let J=0;J<Z.length;J++)X^=F(o$(Z[J]),V$(a($[Z[J]])));return lY(X)},iY=($)=>ac($,Object.keys($)),n0=($)=>{let Z=6151;for(let X=0;X<$.length;X++)Z=F(Z,V$(a($[X])));return lY(Z)},C$=function(){if(arguments.length===1){let X=arguments[0];return function(J){return Object.defineProperty(X,Y$,{value(){return J},enumerable:!1}),J}}let $=arguments[0],Z=arguments[1];return Object.defineProperty($,Y$,{value(){return Z},enumerable:!1}),Z};var G$=Symbol.for("effect/Equal");function s(){if(arguments.length===1)return($)=>sY($,arguments[0]);return sY(arguments[0],arguments[1])}function sY($,Z){if($===Z)return!0;let X=typeof $;if(X!==typeof Z)return!1;if(X==="object"||X==="function"){if($!==null&&Z!==null){if(M7($)&&M7(Z))if(a($)===a(Z)&&$[G$](Z))return!0;else return W8.enabled&&W8.tester?W8.tester($,Z):!1;else if($ instanceof Date&&Z instanceof Date){let J=$.getTime(),G=Z.getTime();return J===G||Number.isNaN(J)&&Number.isNaN(G)}else if($ instanceof URL&&Z instanceof URL)return $.href===Z.href}if(W8.enabled){if($===null||Z===null)return!1;if(Array.isArray($)&&Array.isArray(Z))return $.length===Z.length&&$.every((J,G)=>sY(J,Z[G]));if(Object.getPrototypeOf($)===Object.prototype&&Object.getPrototypeOf(Z)===Object.prototype){let J=Object.keys($),G=Object.keys(Z);if(J.length===G.length){for(let Y of J)if(!((Y in Z)&&sY($[Y],Z[Y])))return W8.tester?W8.tester($,Z):!1;return!0}}return W8.tester?W8.tester($,Z):!1}}return W8.enabled&&W8.tester?W8.tester($,Z):!1}var M7=($)=>u($,G$),_J=()=>s;var w$=Symbol.for("nodejs.util.inspect.custom"),y$=($)=>{try{if(u($,"toJSON")&&c8($.toJSON)&&$.toJSON.length===0)return $.toJSON();else if(Array.isArray($))return $.map(y$)}catch{return{}}return lF($)};var k$=($)=>JSON.stringify($,null,2),QW$={toJSON(){return y$(this)},[w$](){return this.toJSON()},toString(){return k$(this.toJSON())}};var S1=($,Z=2)=>{if(typeof $==="string")return $;try{return typeof $==="object"?aY($,Z):String($)}catch{return String($)}},aY=($,Z)=>{let X=[],J=JSON.stringify($,(G,Y)=>typeof Y==="object"&&Y!==null?X.includes(Y)?void 0:X.push(Y)&&(n9.fiberRefs!==void 0&&nF(Y)?Y[v3](n9.fiberRefs):Y):Y,Z);return X=void 0,J},v3=Symbol.for("effect/Inspectable/Redactable"),nF=($)=>typeof $==="object"&&$!==null&&(v3 in $),n9=_$("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),rF=($,Z)=>{let X=n9.fiberRefs;n9.fiberRefs=$;try{return Z()}finally{n9.fiberRefs=X}},lF=($)=>{if(nF($)&&n9.fiberRefs!==void 0)return $[v3](n9.fiberRefs);return $};var n=($,Z)=>{switch(Z.length){case 0:return $;case 1:return Z[0]($);case 2:return Z[1](Z[0]($));case 3:return Z[2](Z[1](Z[0]($)));case 4:return Z[3](Z[2](Z[1](Z[0]($))));case 5:return Z[4](Z[3](Z[2](Z[1](Z[0]($)))));case 6:return Z[5](Z[4](Z[3](Z[2](Z[1](Z[0]($))))));case 7:return Z[6](Z[5](Z[4](Z[3](Z[2](Z[1](Z[0]($)))))));case 8:return Z[7](Z[6](Z[5](Z[4](Z[3](Z[2](Z[1](Z[0]($))))))));case 9:return Z[8](Z[7](Z[6](Z[5](Z[4](Z[3](Z[2](Z[1](Z[0]($)))))))));default:{let X=$;for(let J=0,G=Z.length;J<G;J++)X=Z[J](X);return X}}};var r9="Async",l9="Commit",X0="Failure",R7="OnFailure",w7="OnSuccess",C7="OnSuccessAndFailure",J0="Success",tY="Sync",iF="Tag",j1="UpdateRuntimeFlags",L7="While",i9="Iterator",eY="WithRuntime",q7="Yield",PJ="RevertFlags";var tc="3.22.0",TJ=()=>tc;var aF=Symbol.for("effect/Effect"),tF=Symbol.for("effect/Stream"),eF=Symbol.for("effect/Sink"),$T=Symbol.for("effect/Channel"),v4={_R:($)=>$,_E:($)=>$,_A:($)=>$,_V:TJ()},ec={_A:($)=>$,_In:($)=>$,_L:($)=>$,_E:($)=>$,_R:($)=>$},$p={_Env:($)=>$,_InErr:($)=>$,_InElem:($)=>$,_InDone:($)=>$,_OutErr:($)=>$,_OutElem:($)=>$,_OutDone:($)=>$},k1={[aF]:v4,[tF]:v4,[eF]:ec,[$T]:$p,[G$]($){return this===$},[Y$](){return C$(this,NJ(this))},[Symbol.iterator](){return new d9(new x1(this))},pipe(){return n(this,arguments)}},E7={[Y$](){return C$(this,iY(this))},[G$]($){let Z=Object.keys(this),X=Object.keys($);if(Z.length!==X.length)return!1;for(let J of Z)if(!((J in $)&&s(this[J],$[J])))return!1;return!0}},d8={...k1,_op:l9},y3={...d8,...E7},ZT=function(){function $(){}return $.prototype=d8,$}();var JT=Symbol.for("effect/Option"),GT={...k1,[JT]:{_A:($)=>$},[w$](){return this.toJSON()},toString(){return k$(this.toJSON())}},Zp=Object.assign(Object.create(GT),{_tag:"Some",_op:"Some",[G$]($){return $W($)&&b3($)&&s(this.value,$.value)},[Y$](){return C$(this,V$(a(this._tag))(a(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:y$(this.value)}}}),Xp=a("None"),Jp=Object.assign(Object.create(GT),{_tag:"None",_op:"None",[G$]($){return $W($)&&B6($)},[Y$](){return Xp},toJSON(){return{_id:"Option",_tag:this._tag}}}),$W=($)=>u($,JT),B6=($)=>$._tag==="None",b3=($)=>$._tag==="Some",N6=Object.create(Jp),oZ=($)=>{let Z=Object.create(Zp);return Z.value=$,Z};var ZW=Symbol.for("effect/Either"),YT={...k1,[ZW]:{_R:($)=>$},[w$](){return this.toJSON()},toString(){return k$(this.toJSON())}},Gp=Object.assign(Object.create(YT),{_tag:"Right",_op:"Right",[G$]($){return XW($)&&JW($)&&s(this.right,$.right)},[Y$](){return V$(a(this._tag))(a(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:y$(this.right)}}}),Yp=Object.assign(Object.create(YT),{_tag:"Left",_op:"Left",[G$]($){return XW($)&&x7($)&&s(this.left,$.left)},[Y$](){return V$(a(this._tag))(a(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:y$(this.left)}}}),XW=($)=>u($,ZW),x7=($)=>$._tag==="Left",JW=($)=>$._tag==="Right",zJ=($)=>{let Z=Object.create(Yp);return Z.left=$,Z},RJ=($)=>{let Z=Object.create(Gp);return Z.right=$,Z},GW=($)=>JW($)?N6:oZ($.left),YW=($)=>x7($)?N6:oZ($.right),WT=V(2,($,Z)=>B6($)?zJ(Z()):RJ($.value));var Wp=ZW,S$=RJ,Dp=S$(void 0);var f$=zJ,Hp=V(2,($,Z)=>$==null?f$(Z($)):S$($)),g3=WT,Up=($)=>{if(c8($))try{return S$($())}catch(Z){return f$(Z)}else try{return S$($.try())}catch(Z){return f$($.catch(Z))}};var HT=XW,R0=x7,c6=JW,Ap=YW,Kp=GW,Vp=({left:$,right:Z})=>f6((X,J)=>R0(X)?R0(J)&&$(X.left,J.left):c6(J)&&Z(X.right,J.right)),Qp=V(2,($,{onLeft:Z,onRight:X})=>R0($)?f$(Z($.left)):S$(X($.right))),Op=V(2,($,Z)=>R0($)?f$(Z($.left)):S$($.right)),I1=V(2,($,Z)=>c6($)?S$(Z($.right)):f$($.left)),UT=V(2,($,{onLeft:Z,onRight:X})=>R0($)?Z($.left):X($.right)),Bp=V(3,($,Z,X)=>Z($)?S$($):f$(X($))),Np=V(3,($,Z,X)=>wJ($,(J)=>Z(J)?S$(J):f$(X(J)))),s9=UT({onLeft:R$,onRight:R$}),h3=V(2,($,Z)=>R0($)?Z($.left):$.right),_p=h3(uY),Pp=h3(VJ),m3=V(2,($,Z)=>{if(c6($))return $.right;throw Z($.left)}),Fp=m3(()=>Error("getOrThrow called on a Left")),Tp=V(2,($,Z)=>R0($)?Z($.left):S$($.right)),wJ=V(2,($,Z)=>R0($)?f$($.left):Z($.right)),Mp=V(2,($,Z)=>wJ($,(X)=>{let J=c8(Z)?Z(X):Z;return HT(J)?J:S$(J)})),AT=V(3,($,Z,X)=>wJ($,(J)=>I1(Z,(G)=>X(J,G)))),zp=V(2,($,Z)=>AT($,Z,(X,J)=>X(J))),f3=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(R0(J))return J;X.push(J.right)}return S$(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(R0(J))return J;Z[X]=J.right}return S$(Z)},Rp=($)=>R0($)?S$($.left):f$($.right),wp=rY(),Cp=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(wp),J=X.next();while(!J.done){let G=nY(J.value)?J.value.value:u9(J.value);if(R0(G))return G;J=X.next(G.right)}return S$(J.value)},Lp=S$({}),qp=T7(I1,wJ),Ep=F7(I1),xp=P7(I1);var Sp=($)=>{return B6($)?S$(N6):I1($.value,oZ)},jp=V(2,($,Z)=>B6($)?S$(N6):I1(Z($.value),oZ));var c3=($)=>$.length>0;var W0={};M8(W0,{zipWith:()=>n3,zipRight:()=>ip,zipLeft:()=>sp,void:()=>op,toRefinement:()=>yp,toArray:()=>FT,tap:()=>NT,some:()=>j,reduceCompact:()=>$d,productMany:()=>tp,product:()=>_T,partitionMap:()=>Zd,orElseSome:()=>d3,orElseEither:()=>fp,orElse:()=>mp,none:()=>S,mergeWith:()=>p6,match:()=>c0,map:()=>x0,liftThrowable:()=>u3,liftPredicate:()=>Wd,liftNullable:()=>pp,lift2:()=>Yd,let:()=>Ad,isSome:()=>c$,isOption:()=>QT,isNone:()=>I$,getRight:()=>gp,getOrder:()=>Gd,getOrUndefined:()=>r0,getOrThrowWith:()=>OT,getOrThrow:()=>o3,getOrNull:()=>dp,getOrElse:()=>p0,getLeft:()=>hp,getEquivalence:()=>Jd,gen:()=>Od,fromNullable:()=>D8,fromIterable:()=>bp,flatten:()=>lp,flatMapNullable:()=>rp,flatMap:()=>rZ,firstSomeOf:()=>cp,filterMap:()=>TT,filter:()=>Xd,exists:()=>Hd,containsWith:()=>MT,contains:()=>r3,composeK:()=>ap,bindTo:()=>Ud,bind:()=>Kd,asVoid:()=>up,as:()=>BT,ap:()=>ep,andThen:()=>np,all:()=>PT,TypeId:()=>vp,Do:()=>Vd});var CJ=($)=>(Z,X)=>Z===X?0:$(Z,X);var KT=CJ(($,Z)=>$<Z?-1:1);var WW=V(2,($,Z)=>CJ((X,J)=>$(Z(X),Z(J))));var Ip=($)=>{return CJ((Z,X)=>{let J=Math.min(Z.length,X.length),G=0;for(let Y of $){if(G>=J)break;let W=Y(Z[G],X[G]);if(W!==0)return W;G++}return 0})};var VT=(...$)=>Ip($);var p3=($)=>V(2,(Z,X)=>$(Z,X)===1);var vp=Symbol.for("effect/Option"),S=()=>N6,j=oZ,QT=$W,I$=B6,c$=b3,c0=V(2,($,{onNone:Z,onSome:X})=>I$($)?Z():X($.value)),yp=($)=>(Z)=>c$($(Z)),bp=($)=>{for(let Z of $)return j(Z);return S()},gp=YW,hp=GW,p0=V(2,($,Z)=>I$($)?Z():$.value),mp=V(2,($,Z)=>I$($)?Z():$),d3=V(2,($,Z)=>I$($)?j(Z()):$),fp=V(2,($,Z)=>I$($)?x0(Z(),RJ):x0($,zJ)),cp=($)=>{let Z=S();for(Z of $)if(c$(Z))return Z;return Z},D8=($)=>$==null?S():j($),pp=($)=>(...Z)=>D8($(...Z)),dp=p0(uY),r0=p0(VJ),u3=($)=>(...Z)=>{try{return j($(...Z))}catch{return S()}},OT=V(2,($,Z)=>{if(c$($))return $.value;throw Z()}),o3=OT(()=>Error("getOrThrow called on a None")),x0=V(2,($,Z)=>I$($)?S():j(Z($.value))),BT=V(2,($,Z)=>x0($,()=>Z)),up=BT(void 0),op=j(void 0);var rZ=V(2,($,Z)=>I$($)?S():Z($.value)),np=V(2,($,Z)=>rZ($,(X)=>{let J=dY(Z)?Z(X):Z;return QT(J)?J:j(J)})),rp=V(2,($,Z)=>I$($)?S():D8(Z($.value))),lp=rZ(R$),ip=V(2,($,Z)=>rZ($,()=>Z)),sp=V(2,($,Z)=>NT($,()=>Z)),ap=V(2,($,Z)=>(X)=>rZ($(X),Z)),NT=V(2,($,Z)=>rZ($,(X)=>x0(Z(X),()=>X))),_T=($,Z)=>c$($)&&c$(Z)?j([$.value,Z.value]):S(),tp=($,Z)=>{if(I$($))return S();let X=[$.value];for(let J of Z){if(I$(J))return S();X.push(J.value)}return j(X)},PT=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(I$(J))return S();X.push(J.value)}return j(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(I$(J))return S();Z[X]=J.value}return j(Z)},n3=V(3,($,Z,X)=>x0(_T($,Z),([J,G])=>X(J,G))),ep=V(2,($,Z)=>n3($,Z,(X,J)=>X(J))),$d=V(3,($,Z,X)=>{let J=Z;for(let G of $)if(c$(G))J=X(J,G.value);return J}),FT=($)=>I$($)?[]:[$.value],Zd=V(2,($,Z)=>{if(I$($))return[S(),S()];let X=Z($.value);return x7(X)?[j(X.left),S()]:[S(),j(X.right)]}),TT=rZ,Xd=V(2,($,Z)=>TT($,(X)=>Z(X)?oZ(X):N6)),Jd=($)=>f6((Z,X)=>I$(Z)?I$(X):I$(X)?!1:$(Z.value,X.value)),Gd=($)=>CJ((Z,X)=>c$(Z)?c$(X)?$(Z.value,X.value):1:-1),Yd=($)=>V(2,(Z,X)=>n3(Z,X,$)),Wd=V(2,($,Z)=>Z($)?j($):S()),MT=($)=>V(2,(Z,X)=>I$(Z)?!1:$(Z.value,X)),Dd=_J(),r3=MT(Dd),Hd=V(2,($,Z)=>I$($)?!1:Z($.value)),Ud=F7(x0),Ad=P7(x0);var Kd=T7(x0,rZ),Vd=j({}),Qd=rY(),Od=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(Qd),J=X.next();while(!J.done){let G=nY(J.value)?J.value.value:u9(J.value);if(I$(G))return G;J=X.next(G.value)}return j(J.value)},p6=($)=>(Z,X)=>{if(I$(Z))return X;else if(I$(X))return Z;return j($(Z.value,X.value))};var zT=(...$)=>$;var HW=($)=>{let X=$[Symbol.iterator]().next();if(X.done)throw Error("unsafeHead: empty iterable");return X.value};var Nd={[Symbol.iterator](){return _d}},_d={next(){return{done:!0,value:void 0}}},UW=()=>Nd;var RT=V(2,($,Z)=>({[Symbol.iterator](){let X=$[Symbol.iterator](),J=0;return{next(){let G=X.next();if(G.done)return{done:!0,value:void 0};return{done:!1,value:Z(G.value,J++)}}}}}));var LJ=($)=>Array($),l3=V(2,($,Z)=>{let X=Math.max(1,Math.floor($)),J=Array(X);for(let G=0;G<X;G++)J[G]=Z(G);return J});var P$=($)=>Array.isArray($)?$:Array.from($),CT=($)=>Array.isArray($)?$:[$];var S7=V(2,($,Z)=>[Z,...$]);var LT=V(2,($,Z)=>[...$,Z]),i3=V(2,($,Z)=>P$($).concat(P$(Z)));var Pd=($)=>$.length===0,qT=Pd,AW=c3,EZ=c3;var ET=($,Z)=>$<0||$>=Z.length,Fd=($,Z)=>Math.floor(Math.min(Math.max(0,$),Z.length)),Td=V(2,($,Z)=>{let X=Math.floor(Z);return ET(X,$)?S():j($[X])}),s3=V(2,($,Z)=>{let X=Math.floor(Z);if(ET(X,$))throw Error(`Index ${X} out of bounds`);return $[X]});var y4=Td(0),KZ=s3(0),xT=($)=>EZ($)?j(a3($)):S(),a3=($)=>$[$.length-1];var d6=($)=>$.slice(1);var Md=($,Z)=>{let X=0;for(let J of $){if(!Z(J,X))break;X++}return X},ST=V(2,($,Z)=>Rd($,Md($,Z))),jT=V(2,($,Z)=>{let X=P$($);return X.slice(Fd(Z,X),X.length)});var t3=($)=>Array.from($).reverse(),H8=V(2,($,Z)=>{let X=Array.from($);return X.sort(Z),X});var e3=V(2,($,Z)=>kT($,Z,zT)),kT=V(3,($,Z,X)=>{let J=P$($),G=P$(Z);if(EZ(J)&&EZ(G)){let Y=[X(KZ(J),KZ(G))],W=Math.min(J.length,G.length);for(let D=1;D<W;D++)Y[D]=X(J[D],G[D]);return Y}return[]});var zd=_J();var Rd=V(2,($,Z)=>{let X=Array.from($),J=Math.floor(Z);if(EZ(X)){if(J>=1)return wd(X,J);return[[],X]}return[X,[]]}),wd=V(2,($,Z)=>{let X=Math.max(1,Math.floor(Z));return X>=$.length?[Cd($),[]]:[S7($.slice(1,X),KZ($)),$.slice(X)]});var Cd=($)=>$.slice();var Ld=V(3,($,Z,X)=>{let J=P$($),G=P$(Z);if(EZ(J)){if(EZ(G))return yT(X)(i3(J,G));return J}return G}),_6=V(2,($,Z)=>Ld($,Z,zd));var P6=()=>[],lZ=($)=>[$],u6=V(2,($,Z)=>$.map(Z)),IT=V(2,($,Z)=>{if(qT($))return[];let X=[];for(let J=0;J<$.length;J++){let G=Z($[J],J);for(let Y=0;Y<G.length;Y++)X.push(G[Y])}return X}),KW=IT(R$),j7=V(2,($,Z)=>{let X=P$($),J=[];for(let G=0;G<X.length;G++){let Y=Z(X[G],G);if(c$(Y))J.push(Y.value)}return J});var $K=V(2,($,Z)=>{let X=[],J=[],G=P$($);for(let Y=0;Y<G.length;Y++){let W=Z(G[Y],Y);if(R0(W))X.push(W.left);else J.push(W.right)}return[X,J]}),vT=j7(R$);var b4=V(3,($,Z,X)=>P$($).reduce((J,G,Y)=>X(J,G,Y),Z)),VW=V(3,($,Z,X)=>P$($).reduceRight((J,G,Y)=>X(J,G,Y),Z));var ZK=($,Z)=>{let X=[],J=$,G;while(c$(G=Z(J))){let[Y,W]=G.value;X.push(Y),J=W}return X};var k7=oY;var yT=V(2,($,Z)=>{let X=P$($);if(EZ(X)){let J=[KZ(X)],G=d6(X);for(let Y of G)if(J.every((W)=>!Z(Y,W)))J.push(Y);return J}return[]}),XK=($)=>yT($,_J());var v1=V(2,($,Z)=>P$($).join(Z));var bT=Symbol.for("effect/Chunk");function qd($,Z,X,J,G){for(let Y=Z;Y<Math.min($.length,Z+G);Y++)X[J+Y-Z]=$[Y];return X}var gT=[],Ed=($)=>f6((Z,X)=>Z.length===X.length&&u8(Z).every((J,G)=>$(J,a9(X,G)))),xd=Ed(s),Sd={[bT]:{_A:($)=>$},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Chunk",values:u8(this).map(y$)}},[w$](){return this.toJSON()},[G$]($){return hT($)&&xd(this,$)},[Y$](){return C$(this,n0(u8(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return gT[Symbol.iterator]();default:return u8(this)[Symbol.iterator]()}},pipe(){return n(this,arguments)}},YZ=($)=>{let Z=Object.create(Sd);switch(Z.backing=$,$._tag){case"IEmpty":{Z.length=0,Z.depth=0,Z.left=Z,Z.right=Z;break}case"IConcat":{Z.length=$.left.length+$.right.length,Z.depth=1+Math.max($.left.depth,$.right.depth),Z.left=$.left,Z.right=$.right;break}case"IArray":{Z.length=$.array.length,Z.depth=0,Z.left=o6,Z.right=o6;break}case"ISingleton":{Z.length=1,Z.depth=0,Z.left=o6,Z.right=o6;break}case"ISlice":{Z.length=$.length,Z.depth=$.chunk.depth+1,Z.left=o6,Z.right=o6;break}}return Z},hT=($)=>u($,bT),o6=YZ({_tag:"IEmpty"}),w0=()=>o6,qJ=(...$)=>vd($),S0=($)=>YZ({_tag:"ISingleton",a:$}),g4=($)=>hT($)?$:EJ(P$($)),JK=($,Z,X)=>{switch($.backing._tag){case"IArray":{qd($.backing.array,0,Z,X,$.length);break}case"IConcat":{JK($.left,Z,X),JK($.right,Z,X+$.left.length);break}case"ISingleton":{Z[X]=$.backing.a;break}case"ISlice":{let J=0,G=X;while(J<$.length)Z[G]=a9($,J),J+=1,G+=1;break}}};var jd=($)=>{switch($.backing._tag){case"IEmpty":return gT;case"IArray":return $.backing.array;default:{let Z=Array($.length);return JK($,Z,0),$.backing={_tag:"IArray",array:Z},$.left=o6,$.right=o6,$.depth=0,Z}}},u8=jd,kd=($)=>{switch($.backing._tag){case"IEmpty":case"ISingleton":return $;case"IArray":return YZ({_tag:"IArray",array:t3($.backing.array)});case"IConcat":return YZ({_tag:"IConcat",left:R8($.backing.right),right:R8($.backing.left)});case"ISlice":return EJ(t3(u8($)))}},R8=kd,Id=V(2,($,Z)=>Z<0||Z>=$.length?S():j(a9($,Z))),EJ=($)=>$.length===0?w0():$.length===1?S0($[0]):YZ({_tag:"IArray",array:$}),vd=($)=>EJ($),a9=V(2,($,Z)=>{switch($.backing._tag){case"IEmpty":throw Error("Index out of bounds");case"ISingleton":{if(Z!==0)throw Error("Index out of bounds");return $.backing.a}case"IArray":{if(Z>=$.length||Z<0)throw Error("Index out of bounds");return $.backing.array[Z]}case"IConcat":return Z<$.left.length?a9($.left,Z):a9($.right,Z-$.left.length);case"ISlice":return a9($.backing.chunk,Z+$.backing.offset)}}),I7=V(2,($,Z)=>z8($,S0(Z))),O0=V(2,($,Z)=>z8(S0(Z),$));var GK=V(2,($,Z)=>{if(Z<=0)return $;else if(Z>=$.length)return o6;else switch($.backing._tag){case"ISlice":return YZ({_tag:"ISlice",chunk:$.backing.chunk,offset:$.backing.offset+Z,length:$.backing.length-Z});case"IConcat":{if(Z>$.left.length)return GK($.right,Z-$.left.length);return YZ({_tag:"IConcat",left:GK($.left,Z),right:$.right})}default:return YZ({_tag:"ISlice",chunk:$,offset:Z,length:$.length-Z})}});var z8=V(2,($,Z)=>{if($.backing._tag==="IEmpty")return Z;if(Z.backing._tag==="IEmpty")return $;let X=Z.depth-$.depth;if(Math.abs(X)<=1)return YZ({_tag:"IConcat",left:$,right:Z});else if(X<-1)if($.left.depth>=$.right.depth){let J=z8($.right,Z);return YZ({_tag:"IConcat",left:$.left,right:J})}else{let J=z8($.right.right,Z);if(J.depth===$.depth-3){let G=YZ({_tag:"IConcat",left:$.right.left,right:J});return YZ({_tag:"IConcat",left:$.left,right:G})}else{let G=YZ({_tag:"IConcat",left:$.left,right:$.right.left});return YZ({_tag:"IConcat",left:G,right:J})}}else if(Z.right.depth>=Z.left.depth){let J=z8($,Z.left);return YZ({_tag:"IConcat",left:J,right:Z.right})}else{let J=z8($,Z.left.left);if(J.depth===Z.depth-3){let G=YZ({_tag:"IConcat",left:J,right:Z.left.right});return YZ({_tag:"IConcat",left:G,right:Z.right})}else{let G=YZ({_tag:"IConcat",left:Z.left.right,right:Z.right});return YZ({_tag:"IConcat",left:J,right:G})}}});var QW=($)=>$.length===0,D0=($)=>$.length>0,xJ=Id(0),YK=($)=>a9($,0),g$=YK;var H0=($)=>GK($,1);var i0={};M8(i0,{unsafeMake:()=>dd,unsafeGet:()=>n8,pick:()=>nd,omit:()=>rd,mergeAll:()=>VK,merge:()=>r8,make:()=>U8,isTag:()=>b7,isReference:()=>ud,isContext:()=>KK,getOrElse:()=>od,getOption:()=>C8,get:()=>l0,empty:()=>VZ,add:()=>e$,TagTypeId:()=>cd,Tag:()=>ld,ReferenceTypeId:()=>pd,Reference:()=>n6,GenericTag:()=>WZ});var OW=Symbol.for("effect/Context/Tag"),v7=Symbol.for("effect/Context/Reference"),yd="effect/STM",bd=Symbol.for(yd),y7={...k1,_op:"Tag",[bd]:v4,[OW]:{_Service:($)=>$,_Identifier:($)=>$},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[w$](){return this.toJSON()},of($){return $},context($){return UK(this,$)}},gd={...y7,[v7]:v7},mT=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;let J=Object.create(y7);return Object.defineProperty(J,"stack",{get(){return X.stack}}),J.key=$,J},fT=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,y7),J.key=$,Object.defineProperty(J,"stack",{get(){return X.stack}}),J},cT=()=>($,Z)=>{let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();Error.stackTraceLimit=X;function G(){}return Object.setPrototypeOf(G,gd),G.key=$,G.defaultValue=Z.defaultValue,Object.defineProperty(G,"stack",{get(){return J.stack}}),G},DK=Symbol.for("effect/Context"),hd={[DK]:{_Services:($)=>$},[G$]($){if(HK($)){if(this.unsafeMap.size===$.unsafeMap.size){for(let Z of this.unsafeMap.keys())if(!$.unsafeMap.has(Z)||!s(this.unsafeMap.get(Z),$.unsafeMap.get(Z)))return!1;return!0}}return!1},[Y$](){return C$(this,o9(this.unsafeMap.size))},pipe(){return n(this,arguments)},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(y$)}},[w$](){return this.toJSON()}},o8=($)=>{let Z=Object.create(hd);return Z.unsafeMap=$,Z},md=($)=>{let Z=Error(`Service not found${$.key?`: ${String($.key)}`:""}`);if($.stack){let X=$.stack.split(`
3
3
  `);if(X.length>2){let J=X[2].match(/at (.*)/);if(J)Z.message=Z.message+` (defined at ${J[1]})`}}if(Z.stack){let X=Z.stack.split(`
4
4
  `);X.splice(1,3),Z.stack=X.join(`
5
- `)}return Z},HK=($)=>u($,DK),pT=($)=>u($,OW),BW=($)=>u($,v7),fd=o8(new Map),dT=()=>fd,UK=($,Z)=>o8(new Map([[$.key,Z]])),uT=V(3,($,Z,X)=>{let J=new Map($.unsafeMap);return J.set(Z.key,X),o8(J)}),WK=_$("effect/Context/defaultValueCache",()=>new Map),NW=($)=>{if(WK.has($.key))return WK.get($.key);let Z=$.defaultValue();return WK.set($.key,Z),Z},oT=($,Z)=>{return $.unsafeMap.has(Z.key)?$.unsafeMap.get(Z.key):NW(Z)},AK=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key)){if(v7 in Z)return NW(Z);throw md(Z)}return $.unsafeMap.get(Z.key)}),nT=AK,rT=V(3,($,Z,X)=>{if(!$.unsafeMap.has(Z.key))return BW(Z)?NW(Z):X();return $.unsafeMap.get(Z.key)}),lT=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key))return BW(Z)?oZ(NW(Z)):N6;return oZ($.unsafeMap.get(Z.key))}),iT=V(2,($,Z)=>{let X=new Map($.unsafeMap);for(let[J,G]of Z.unsafeMap)X.set(J,G);return o8(X)}),sT=(...$)=>{let Z=new Map;for(let X=0;X<$.length;X++)$[X].unsafeMap.forEach((J,G)=>{Z.set(G,J)});return o8(Z)},aT=(...$)=>(Z)=>{let X=new Set($.map((G)=>G.key)),J=new Map;for(let[G,Y]of Z.unsafeMap.entries())if(X.has(G))J.set(G,Y);return o8(J)},tT=(...$)=>(Z)=>{let X=new Map(Z.unsafeMap);for(let J of $)X.delete(J.key);return o8(X)};var cd=OW,pd=v7,WZ=mT;var dd=o8,KK=HK,b7=pT,ud=BW,VZ=dT,U8=UK,e$=uT,l0=nT,od=rT,n8=AK,C8=lT,r8=iT,VK=sT,nd=aT,rd=tT,ld=fT,n6=cT;var QK=Symbol.for("effect/Duration"),GM=BigInt(0),$M=BigInt(24),_W=BigInt(60),OK=BigInt(1000),ZM=BigInt(1e6),XM=BigInt(1e9),id=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Y0=($)=>{if(YM($))return $;else if(BJ($))return xZ($);else if(q3($))return SJ($);else if(Array.isArray($)&&$.length===2&&$.every(BJ)){if($[0]===-1/0||$[1]===-1/0||Number.isNaN($[0])||Number.isNaN($[1]))return K8;if($[0]===1/0||$[1]===1/0)return ed;return SJ(BigInt(Math.round($[0]*1e9))+BigInt(Math.round($[1])))}else if(OJ($)){let Z=id.exec($);if(Z){let[X,J,G]=Z,Y=Number(J);switch(G){case"nano":case"nanos":return SJ(BigInt(J));case"micro":case"micros":return $u(BigInt(J));case"milli":case"millis":return xZ(Y);case"second":case"seconds":return BK(Y);case"minute":case"minutes":return Zu(Y);case"hour":case"hours":return Xu(Y);case"day":case"days":return Ju(Y);case"week":case"weeks":return Gu(Y)}}}throw Error("Invalid DurationInput")};var JM={_tag:"Millis",millis:0},sd={_tag:"Infinity"},ad={[QK]:QK,[Y$](){return C$(this,iY(this.value))},[G$]($){return YM($)&&Hu(this,$)},toString(){return`Duration(${PK(this)})`},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",hrtime:Wu(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},A8=($)=>{let Z=Object.create(ad);if(BJ($))if(isNaN($)||$<=0)Z.value=JM;else if(!Number.isFinite($))Z.value=sd;else if(!Number.isInteger($))Z.value={_tag:"Nanos",nanos:BigInt(Math.round($*1e6))};else Z.value={_tag:"Millis",millis:$};else if($<=GM)Z.value=JM;else Z.value={_tag:"Nanos",nanos:$};return Z},YM=($)=>u($,QK);var td=($)=>{switch($.value._tag){case"Millis":return $.value.millis===0;case"Nanos":return $.value.nanos===GM;case"Infinity":return!1}},K8=A8(0),ed=A8(1/0),SJ=($)=>A8($),$u=($)=>A8($*OK),xZ=($)=>A8($),BK=($)=>A8($*1000),Zu=($)=>A8($*60000),Xu=($)=>A8($*3600000),Ju=($)=>A8($*86400000),Gu=($)=>A8($*604800000),zZ=($)=>WM($,{onMillis:(Z)=>Z,onNanos:(Z)=>Number(Z)/1e6});var Yu=($)=>{let Z=Y0($);switch(Z.value._tag){case"Infinity":throw Error("Cannot convert infinite duration to nanos");case"Nanos":return Z.value.nanos;case"Millis":return BigInt(Math.round(Z.value.millis*1e6))}},Wu=($)=>{let Z=Y0($);switch(Z.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(Z.value.nanos/XM),Number(Z.value.nanos%XM)];case"Millis":return[Math.floor(Z.value.millis/1000),Math.round(Z.value.millis%1000*1e6)]}},WM=V(2,($,Z)=>{let X=Y0($);switch(X.value._tag){case"Nanos":return Z.onNanos(X.value.nanos);case"Infinity":return Z.onMillis(1/0);case"Millis":return Z.onMillis(X.value.millis)}}),jJ=V(3,($,Z,X)=>{let J=Y0($),G=Y0(Z);if(J.value._tag==="Infinity"||G.value._tag==="Infinity")return X.onMillis(zZ(J),zZ(G));else if(J.value._tag==="Nanos"||G.value._tag==="Nanos"){let Y=J.value._tag==="Nanos"?J.value.nanos:BigInt(Math.round(J.value.millis*1e6)),W=G.value._tag==="Nanos"?G.value.nanos:BigInt(Math.round(G.value.millis*1e6));return X.onNanos(Y,W)}return X.onMillis(J.value.millis,G.value.millis)});var Du=($,Z)=>jJ($,Z,{onMillis:(X,J)=>X===J,onNanos:(X,J)=>X===J});var NK=V(2,($,Z)=>WM($,{onMillis:(X)=>A8(X*Z),onNanos:(X)=>A8(X*BigInt(Z))}));var _K=V(2,($,Z)=>jJ($,Z,{onMillis:(X,J)=>A8(X+J),onNanos:(X,J)=>A8(X+J)})),DM=V(2,($,Z)=>jJ($,Z,{onMillis:(X,J)=>X<J,onNanos:(X,J)=>X<J})),HM=V(2,($,Z)=>jJ($,Z,{onMillis:(X,J)=>X<=J,onNanos:(X,J)=>X<=J}));var PW=V(2,($,Z)=>jJ($,Z,{onMillis:(X,J)=>X>=J,onNanos:(X,J)=>X>=J})),Hu=V(2,($,Z)=>Du(Y0($),Y0(Z))),Uu=($)=>{let Z=Y0($);if(Z.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};let X=Yu(Z),J=X/ZM,G=J/OK,Y=G/_W,W=Y/_W,D=W/$M;return{days:Number(D),hours:Number(W%$M),minutes:Number(Y%_W),seconds:Number(G%_W),millis:Number(J%OK),nanos:Number(X%ZM)}},PK=($)=>{let Z=Y0($);if(Z.value._tag==="Infinity")return"Infinity";if(td(Z))return"0";let X=Uu(Z),J=[];if(X.days!==0)J.push(`${X.days}d`);if(X.hours!==0)J.push(`${X.hours}h`);if(X.minutes!==0)J.push(`${X.minutes}m`);if(X.seconds!==0)J.push(`${X.seconds}s`);if(X.millis!==0)J.push(`${X.millis}ms`);if(X.nanos!==0)J.push(`${X.nanos}ns`);return J.join(" ")};var h4=5,FK=Math.pow(2,5),UM=FK-1,AM=FK/2,KM=FK/4;function Au($){return $-=$>>1&1431655765,$=($&858993459)+($>>2&858993459),$=$+($>>4)&252645135,$+=$>>8,$+=$>>16,$&127}function m4($,Z){return Z>>>$&UM}function f4($){return 1<<$}function FW($,Z){return Au($&Z-1)}var VM=($,Z)=>({value:$,previous:Z});function t9($,Z,X,J){let G=J;if(!$){let Y=J.length;G=Array(Y);for(let W=0;W<Y;++W)G[W]=J[W]}return G[Z]=X,G}function TK($,Z,X){let J=X.length-1,G=0,Y=0,W=X;if($)G=Y=Z;else{W=Array(J);while(G<Z)W[Y++]=X[G++]}++G;while(G<=J)W[Y++]=X[G++];if($)W.length=J;return W}function QM($,Z,X,J){let G=J.length;if($){let U=G;while(U>=Z)J[U--]=J[U];return J[Z]=X,J}let Y=0,W=0,D=Array(G+1);while(Y<Z)D[W++]=J[Y++];D[Z]=X;while(Y<G)D[++W]=J[Y++];return D}class y1{_tag="EmptyNode";modify($,Z,X,J,G,Y){let W=X(S());if(I$(W))return new y1;return++Y.value,new e9($,J,G,W)}}function l8($){return I4($,"EmptyNode")}function Vu($){return l8($)||$._tag==="LeafNode"||$._tag==="CollisionNode"}function TW($,Z){return l8($)?!1:Z===$.edit}class e9{edit;hash;key;value;_tag="LeafNode";constructor($,Z,X,J){this.edit=$,this.hash=Z,this.key=X,this.value=J}modify($,Z,X,J,G,Y){if(s(G,this.key)){let D=X(this.value);if(D===this.value)return this;else if(I$(D))return--Y.value,new y1;if(TW(this,$))return this.value=D,this;return new e9($,J,G,D)}let W=X(S());if(I$(W))return this;return++Y.value,OM($,Z,this.hash,this,J,new e9($,J,G,W))}}class MK{edit;hash;children;_tag="CollisionNode";constructor($,Z,X){this.edit=$,this.hash=Z,this.children=X}modify($,Z,X,J,G,Y){if(J===this.hash){let D=TW(this,$),U=this.updateCollisionList(D,$,this.hash,this.children,X,G,Y);if(U===this.children)return this;return U.length>1?new MK($,this.hash,U):U[0]}let W=X(S());if(I$(W))return this;return++Y.value,OM($,Z,this.hash,this,J,new e9($,J,G,W))}updateCollisionList($,Z,X,J,G,Y,W){let D=J.length;for(let A=0;A<D;++A){let Q=J[A];if("key"in Q&&s(Y,Q.key)){let O=Q.value,P=G(O);if(P===O)return J;if(I$(P))return--W.value,TK($,A,J);return t9($,A,new e9(Z,X,Y,P),J)}}let U=G(S());if(I$(U))return J;return++W.value,t9($,D,new e9(Z,X,Y,U),J)}}class g7{edit;mask;children;_tag="IndexedNode";constructor($,Z,X){this.edit=$,this.mask=Z,this.children=X}modify($,Z,X,J,G,Y){let W=this.mask,D=this.children,U=m4(Z,J),A=f4(U),Q=FW(W,A),O=W&A,P=TW(this,$);if(!O){let K$=new y1().modify($,Z+h4,X,J,G,Y);if(!K$)return this;return D.length>=AM?Ou($,U,K$,W,D):new g7($,W|A,QM(P,Q,K$,D))}let _=D[Q],M=_.modify($,Z+h4,X,J,G,Y);if(_===M)return this;let z=W,x;if(l8(M)){if(z&=~A,!z)return new y1;if(D.length<=2&&Vu(D[Q^1]))return D[Q^1];x=TK(P,Q,D)}else x=t9(P,Q,M,D);if(P)return this.mask=z,this.children=x,this;return new g7($,z,x)}}class zK{edit;size;children;_tag="ArrayNode";constructor($,Z,X){this.edit=$,this.size=Z,this.children=X}modify($,Z,X,J,G,Y){let W=this.size,D=this.children,U=m4(Z,J),A=D[U],Q=(A||new y1).modify($,Z+h4,X,J,G,Y);if(A===Q)return this;let O=TW(this,$),P;if(l8(A)&&!l8(Q))++W,P=t9(O,U,Q,D);else if(!l8(A)&&l8(Q)){if(--W,W<=KM)return Qu($,W,U,D);P=t9(O,U,new y1,D)}else P=t9(O,U,Q,D);if(O)return this.size=W,this.children=P,this;return new zK($,W,P)}}function Qu($,Z,X,J){let G=Array(Z-1),Y=0,W=0;for(let D=0,U=J.length;D<U;++D)if(D!==X){let A=J[D];if(A&&!l8(A))G[Y++]=A,W|=1<<D}return new g7($,W,G)}function Ou($,Z,X,J,G){let Y=[],W=J,D=0;for(let U=0;W;++U){if(W&1)Y[U]=G[D++];W>>>=1}return Y[Z]=X,new zK($,D+1,Y)}function Bu($,Z,X,J,G,Y){if(X===G)return new MK($,X,[Y,J]);let W=m4(Z,X),D=m4(Z,G);if(W===D)return(U)=>new g7($,f4(W)|f4(D),[U]);else{let U=W<D?[J,Y]:[Y,J];return new g7($,f4(W)|f4(D),U)}}function OM($,Z,X,J,G,Y){let W=void 0,D=Z;while(!0){let U=Bu($,D,X,J,G,Y);if(typeof U==="function")W=VM(U,W),D=D+h4;else{let A=U;while(W!=null)A=W.value(A),W=W.previous;return A}}}var BM="effect/HashMap",MW=Symbol.for(BM),_u={[MW]:MW,[Symbol.iterator](){return new RW(this,($,Z)=>[$,Z])},[Y$](){let $=a(BM);for(let Z of this)$^=F(a(Z[0]),V$(a(Z[1])));return C$(this,$)},[G$]($){if(FM($)){if($._size!==this._size)return!1;for(let Z of this){let X=F($,wW(Z[0],a(Z[0])));if(I$(X))return!1;else if(!s(Z[1],X.value))return!1}return!0}return!1},toString(){return k$(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},RK=($,Z,X,J)=>{let G=Object.create(_u);return G._editable=$,G._edit=Z,G._root=X,G._size=J,G};class RW{map;f;v;constructor($,Z){this.map=$,this.f=Z,this.v=NM(this.map._root,this.f,void 0)}next(){if(I$(this.v))return{done:!0,value:void 0};let $=this.v.value;return this.v=zW($.cont),{done:!1,value:$.value}}[Symbol.iterator](){return new RW(this.map,this.f)}}var zW=($)=>$?_M($[0],$[1],$[2],$[3],$[4]):S(),NM=($,Z,X=void 0)=>{switch($._tag){case"LeafNode":{if(c$($.value))return j({value:Z($.key,$.value.value),cont:X});return zW(X)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let J=$.children;return _M(J.length,J,0,Z,X)}default:return zW(X)}},_M=($,Z,X,J,G)=>{while(X<$){let Y=Z[X++];if(Y&&!l8(Y))return NM(Y,J,[$,Z,X,J,G])}return zW(G)},Pu=RK(!1,0,new y1,0),h7=()=>Pu;var PM=($)=>{let Z=IJ(h7());for(let X of $)$5(Z,X[0],X[1]);return CK(Z)},FM=($)=>u($,MW),TM=($)=>$&&l8($._root),MM=V(2,($,Z)=>wW($,Z,a(Z))),wW=V(3,($,Z,X)=>{let J=$._root,G=0;while(!0)switch(J._tag){case"LeafNode":return s(Z,J.key)?J.value:S();case"CollisionNode":{if(X===J.hash){let Y=J.children;for(let W=0,D=Y.length;W<D;++W){let U=Y[W];if("key"in U&&s(Z,U.key))return U.value}}return S()}case"IndexedNode":{let Y=m4(G,X),W=f4(Y);if(J.mask&W){J=J.children[FW(J.mask,W)],G+=h4;break}return S()}case"ArrayNode":{if(J=J.children[m4(G,X)],J){G+=h4;break}return S()}default:return S()}});var wK=V(2,($,Z)=>c$(wW($,Z,a(Z))));var $5=V(3,($,Z,X)=>LW($,Z,()=>j(X))),Fu=V(3,($,Z,X)=>{if($._editable)return $._root=Z,$._size=X,$;return Z===$._root?$:RK($._editable,$._edit,Z,X)}),CW=($)=>new RW($,(Z)=>Z);var kJ=($)=>$._size;var IJ=($)=>RK(!0,$._edit+1,$._root,$._size),CK=($)=>{return $._editable=!1,$},zM=V(2,($,Z)=>{let X=IJ($);return Z(X),CK(X)}),LW=V(3,($,Z,X)=>RM($,Z,a(Z),X)),RM=V(4,($,Z,X,J)=>{let G={value:$._size},Y=$._root.modify($._editable?$._edit:NaN,0,J,X,Z,G);return F($,Fu(Y,G.value))});var qW=V(2,($,Z)=>LW($,Z,S));var wM=V(2,($,Z)=>m7($,h7(),(X,J,G)=>$5(X,G,Z(J,G))));var EW=V(2,($,Z)=>m7($,void 0,(X,J,G)=>Z(J,G))),m7=V(3,($,Z,X)=>{let J=$._root;if(J._tag==="LeafNode")return c$(J.value)?X(Z,J.value.value,J.key):Z;if(J._tag==="EmptyNode")return Z;let G=[J.children],Y;while(Y=G.pop())for(let W=0,D=Y.length;W<D;){let U=Y[W++];if(U&&!l8(U))if(U._tag==="LeafNode"){if(c$(U.value))Z=X(Z,U.value.value,U.key)}else G.push(U.children)}return Z});var LM="effect/HashSet",xW=Symbol.for(LM),Tu={[xW]:xW,[Symbol.iterator](){return CW(this._keyMap)},[Y$](){return C$(this,V$(a(this._keyMap))(a(LM)))},[G$]($){if(qM($))return kJ(this._keyMap)===kJ($._keyMap)&&s(this._keyMap,$._keyMap);return!1},toString(){return k$(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},SW=($)=>{let Z=Object.create(Tu);return Z._keyMap=$,Z},qM=($)=>u($,xW),Mu=SW(h7()),Z5=()=>Mu,EM=($)=>{let Z=kW(Z5());for(let X of $)c4(Z,X);return IW(Z)},xM=(...$)=>{let Z=kW(Z5());for(let X of $)c4(Z,X);return IW(Z)},jW=V(2,($,Z)=>wK($._keyMap,Z)),SM=V(2,($,Z)=>{let X=!1;for(let J of $)if(X=Z(J),X)break;return X}),jM=V(2,($,Z)=>!SM($,(X)=>!Z(X)));var kM=($)=>kJ($._keyMap),kW=($)=>SW(IJ($._keyMap)),IW=($)=>{return $._keyMap._editable=!1,$},vJ=V(2,($,Z)=>{let X=kW($);return Z(X),IW(X)}),c4=V(2,($,Z)=>$._keyMap._editable?($5(Z,!0)($._keyMap),$):SW($5(Z,!0)($._keyMap))),LK=V(2,($,Z)=>$._keyMap._editable?(qW(Z)($._keyMap),$):SW(qW(Z)($._keyMap))),IM=V(2,($,Z)=>vJ($,(X)=>{for(let J of Z)LK(X,J)}));var vM=V(2,($,Z)=>vJ(Z5(),(X)=>{vW($,(J)=>c4(X,J));for(let J of Z)c4(X,J)}));var yM=V(2,($,Z)=>vJ(Z5(),(X)=>{vW($,(J)=>{let G=Z(J);if(!jW(X,G))c4(X,G)})})),bM=V(2,($,Z)=>vJ(Z5(),(X)=>{vW($,(J)=>{for(let G of Z(J))if(!jW(X,G))c4(X,G)})})),vW=V(2,($,Z)=>EW($._keyMap,(X,J)=>Z(J))),gM=V(3,($,Z,X)=>m7($._keyMap,Z,(J,G,Y)=>X(J,Y)));var i8=Z5,yW=EM,F6=xM,f7=jW;var hM=jM;var b1=kM;var X5=c4,qK=LK,EK=IM;var l6=vM;var xK=yM,SK=bM;var J5=gM;var mM=Symbol.for("effect/MutableRef"),Ru={[mM]:mM,toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableRef",current:y$(this.current)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},i6=($)=>{let Z=Object.create(Ru);return Z.current=$,Z},bW=V(3,($,Z,X)=>{if(s(Z,$.current))return $.current=X,!0;return!1});var s6=($)=>$.current;var g1=V(2,($,Z)=>{return $.current=Z,$});var fW="effect/FiberId",p4=Symbol.for(fW),d4="None",gW="Runtime",hW="Composite",wu=o$(`${fW}-${d4}`);class cM{[p4]=p4;_tag=d4;id=-1;startTimeMillis=-1;[Y$](){return wu}[G$]($){return pW($)&&$._tag===d4}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[w$](){return this.toJSON()}}class jK{id;startTimeMillis;[p4]=p4;_tag=gW;constructor($,Z){this.id=$,this.startTimeMillis=Z}[Y$](){return C$(this,o$(`${fW}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[G$]($){return pW($)&&$._tag===gW&&this.id===$.id&&this.startTimeMillis===$.startTimeMillis}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,id:this.id,startTimeMillis:this.startTimeMillis}}[w$](){return this.toJSON()}}class pM{left;right;[p4]=p4;_tag=hW;constructor($,Z){this.left=$,this.right=Z}_hash;[Y$](){return F(o$(`${fW}-${this._tag}`),V$(a(this.left)),V$(a(this.right)),C$(this))}[G$]($){return pW($)&&$._tag===hW&&s(this.left,$.left)&&s(this.right,$.right)}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,left:y$(this.left),right:y$(this.right)}}[w$](){return this.toJSON()}}var cW=new cM;var pW=($)=>u($,p4),kK=($)=>{return $._tag===d4||F(mW($),hM((Z)=>kK(Z)))};var dM=V(2,($,Z)=>{if($._tag===d4)return Z;if(Z._tag===d4)return $;return new pM($,Z)});var uM=V(2,($,Z)=>kK($)?Z:$),bJ=($)=>{switch($._tag){case d4:return i8();case gW:return F6($.id);case hW:return F(bJ($.left),l6(bJ($.right)))}},fM=_$(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>i6(0)),oM=($,Z)=>{return new jK($,Z)},dW=($)=>{return Array.from(bJ($)).map((X)=>`#${X}`).join(",")};var mW=($)=>{switch($._tag){case d4:return i8();case gW:return F6($);case hW:return F(mW($.left),l6(mW($.right)))}},nM=()=>{let $=s6(fM);return F(fM,g1($+1)),new jK($,Date.now())};var d0=cW;var V8=dM;var uW=uM,u4=bJ,oW=oM,lM=dW;var nW=nM;var G5=h7;var iM=PM,sM=TM,IK=MM;var SZ=$5,vK=CW;var aM=zM,tM=LW;var eM=wM;var $z=EW,yK=m7;var gJ=Symbol.for("effect/List"),bK=($)=>P$($),Cu=($)=>cF(k7($),bK),Lu=Cu(s),qu={[gJ]:gJ,_tag:"Cons",toString(){return k$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:bK(this).map(y$)}},[w$](){return this.toJSON()},[G$]($){return Xz($)&&this._tag===$._tag&&Lu(this,$)},[Y$](){return C$(this,n0(bK(this)))},[Symbol.iterator](){let $=!1,Z=this;return{next(){if($)return this.return();if(Z._tag==="Nil")return $=!0,this.return();let X=Z.head;return Z=Z.tail,{done:$,value:X}},return(X){if(!$)$=!0;return{done:!0,value:X}}}},pipe(){return n(this,arguments)}},rW=($,Z)=>{let X=Object.create(qu);return X.head=$,X.tail=Z,X},Eu=o$("Nil"),xu={[gJ]:gJ,_tag:"Nil",toString(){return k$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[w$](){return this.toJSON()},[Y$](){return Eu},[G$]($){return Xz($)&&this._tag===$._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return n(this,arguments)}},Zz=Object.create(xu),Xz=($)=>u($,gJ),a6=($)=>$._tag==="Nil",gK=($)=>$._tag==="Cons";var Su=()=>Zz,h1=($,Z)=>rW($,Z),t6=Su,hJ=($)=>rW($,Zz);var Jz=V(2,($,Z)=>ju(Z,$)),lW=V(2,($,Z)=>h1(Z,$)),ju=V(2,($,Z)=>{if(a6($))return Z;else if(a6(Z))return $;else{let X=rW(Z.head,$),J=X,G=Z.tail;while(!a6(G)){let Y=rW(G.head,$);J.tail=Y,J=Y,G=G.tail}return X}});var Gz=V(3,($,Z,X)=>{let J=Z,G=$;while(!a6(G))J=X(J,G.head),G=G.tail;return J});var Yz=($)=>{let Z=t6(),X=$;while(!a6(X))Z=lW(Z,X.head),X=X.tail;return Z};var OH$=Object.assign(Object.create(Array.prototype),{[Y$](){return C$(this,n0(this))},[G$]($){if(Array.isArray($)&&this.length===$.length)return this.every((Z,X)=>s(Z,$[X]));else return!1}}),p7=function(){function $(Z){if(Z)Object.assign(this,Z)}return $.prototype=E7,$}(),sW=($)=>Object.assign(Object.create(E7),$);var ku=Symbol.for("effect/DifferContextPatch");function Dz($){return $}var fJ={...p7.prototype,[ku]:{_Value:Dz,_Patch:Dz}},Iu=Object.assign(Object.create(fJ),{_tag:"Empty"}),vu=Object.create(Iu),hK=()=>vu,yu=Object.assign(Object.create(fJ),{_tag:"AndThen"}),bu=($,Z)=>{let X=Object.create(yu);return X.first=$,X.second=Z,X},gu=Object.assign(Object.create(fJ),{_tag:"AddService"}),hu=($,Z)=>{let X=Object.create(gu);return X.key=$,X.service=Z,X},mu=Object.assign(Object.create(fJ),{_tag:"RemoveService"}),fu=($)=>{let Z=Object.create(mu);return Z.key=$,Z},cu=Object.assign(Object.create(fJ),{_tag:"UpdateService"}),pu=($,Z)=>{let X=Object.create(cu);return X.key=$,X.update=Z,X},Hz=($,Z)=>{let X=new Map($.unsafeMap),J=hK();for(let[G,Y]of Z.unsafeMap.entries())if(X.has(G)){let W=X.get(G);if(X.delete(G),!s(W,Y))J=mJ(pu(G,()=>Y))(J)}else X.delete(G),J=mJ(hu(G,Y))(J);for(let[G]of X.entries())J=mJ(fu(G))(J);return J},mJ=V(2,($,Z)=>bu($,Z)),Uz=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=!1,J=S0($),G=new Map(Z.unsafeMap);while(D0(J)){let W=g$(J),D=H0(J);switch(W._tag){case"Empty":{J=D;break}case"AddService":{G.set(W.key,W.service),J=D;break}case"AndThen":{J=O0(O0(D,W.second),W.first);break}case"RemoveService":{G.delete(W.key),J=D;break}case"UpdateService":{G.set(W.key,W.update(G.get(W.key))),X=!0,J=D;break}}}if(!X)return o8(G);let Y=new Map;for(let[W]of Z.unsafeMap)if(G.has(W))Y.set(W,G.get(W)),G.delete(W);for(let[W,D]of G)Y.set(W,D);return o8(Y)});var uu=Symbol.for("effect/DifferHashSetPatch");function mK($){return $}var tW={...p7.prototype,[uu]:{_Value:mK,_Key:mK,_Patch:mK}},ou=Object.assign(Object.create(tW),{_tag:"Empty"}),nu=Object.create(ou),fK=()=>nu,ru=Object.assign(Object.create(tW),{_tag:"AndThen"}),lu=($,Z)=>{let X=Object.create(ru);return X.first=$,X.second=Z,X},iu=Object.assign(Object.create(tW),{_tag:"Add"}),su=($)=>{let Z=Object.create(iu);return Z.value=$,Z},au=Object.assign(Object.create(tW),{_tag:"Remove"}),tu=($)=>{let Z=Object.create(au);return Z.value=$,Z},Az=($,Z)=>{let[X,J]=J5([$,fK()],([G,Y],W)=>{if(f7(W)(G))return[qK(W)(G),Y];return[G,aW(su(W))(Y)]})(Z);return J5(J,(G,Y)=>aW(tu(Y))(G))(X)},aW=V(2,($,Z)=>lu($,Z)),Kz=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=Z,J=S0($);while(D0(J)){let G=g$(J),Y=H0(J);switch(G._tag){case"Empty":{J=Y;break}case"AndThen":{J=O0(G.first)(O0(G.second)(Y));break}case"Add":{X=X5(G.value)(X),J=Y;break}case"Remove":X=qK(G.value)(X),J=Y}}return X});var $o=Symbol.for("effect/DifferReadonlyArrayPatch");function Vz($){return $}var pJ={...p7.prototype,[$o]:{_Value:Vz,_Patch:Vz}},Zo=Object.assign(Object.create(pJ),{_tag:"Empty"}),Xo=Object.create(Zo),cK=()=>Xo,Jo=Object.assign(Object.create(pJ),{_tag:"AndThen"}),Go=($,Z)=>{let X=Object.create(Jo);return X.first=$,X.second=Z,X},Yo=Object.assign(Object.create(pJ),{_tag:"Append"}),Wo=($)=>{let Z=Object.create(Yo);return Z.values=$,Z},Do=Object.assign(Object.create(pJ),{_tag:"Slice"}),Ho=($,Z)=>{let X=Object.create(Do);return X.from=$,X.until=Z,X},Uo=Object.assign(Object.create(pJ),{_tag:"Update"}),Ao=($,Z)=>{let X=Object.create(Uo);return X.index=$,X.patch=Z,X},Qz=($)=>{let Z=0,X=cK();while(Z<$.oldValue.length&&Z<$.newValue.length){let J=$.oldValue[Z],G=$.newValue[Z],Y=$.differ.diff(J,G);if(!s(Y,$.differ.empty))X=cJ(X,Ao(Z,Y));Z=Z+1}if(Z<$.oldValue.length)X=cJ(X,Ho(0,Z));if(Z<$.newValue.length)X=cJ(X,Wo(jT(Z)($.newValue)));return X},cJ=V(2,($,Z)=>Go($,Z)),Oz=V(3,($,Z,X)=>{if($._tag==="Empty")return Z;let J=Z.slice(),G=lZ($);while(AW(G)){let Y=KZ(G),W=d6(G);switch(Y._tag){case"Empty":{G=W;break}case"AndThen":{W.unshift(Y.first,Y.second),G=W;break}case"Append":{for(let D of Y.values)J.push(D);G=W;break}case"Slice":{J=J.slice(Y.from,Y.until),G=W;break}case"Update":{J[Y.index]=X.patch(Y.patch,J[Y.index]),G=W;break}}}return J});var Bz=Symbol.for("effect/Differ"),Vo={[Bz]:{_P:R$,_V:R$},pipe(){return n(this,arguments)}},n4=($)=>{let Z=Object.create(Vo);return Z.empty=$.empty,Z.diff=$.diff,Z.combine=$.combine,Z.patch=$.patch,Z},pK=()=>n4({empty:hK(),combine:($,Z)=>mJ(Z)($),diff:($,Z)=>Hz($,Z),patch:($,Z)=>Uz(Z)($)});var dK=()=>n4({empty:fK(),combine:($,Z)=>aW(Z)($),diff:($,Z)=>Az($,Z),patch:($,Z)=>Kz(Z)($)});var uK=($)=>n4({empty:cK(),combine:(Z,X)=>cJ(Z,X),diff:(Z,X)=>Qz({oldValue:Z,newValue:X,differ:$}),patch:(Z,X)=>Oz(Z,X,$)});var eW=()=>Nz(($,Z)=>Z),Nz=($)=>n4({empty:R$,combine:(Z,X)=>{if(Z===R$)return X;if(X===R$)return Z;return(J)=>X(Z(J))},diff:(Z,X)=>{if(s(Z,X))return R$;return N7(X)},patch:(Z,X)=>$(X,Z(X))});var dJ=255,_z=8,$D=($)=>$&dJ,ZD=($)=>$>>_z&dJ,Y5=($,Z)=>($&dJ)+((Z&$&dJ)<<_z),XD=Y5(0,0),Pz=($)=>Y5($,$),Fz=($)=>Y5($,0);var Tz=V(2,($,Z)=>Y5($D($)&~Z,ZD($)));var nK=V(2,($,Z)=>$|Z);var Mz=($)=>~$>>>0&dJ;var Qo=0,M6=1,Rz=2,rK=4,JD=16,lK=32;var wz=($)=>GD($,lK),iK=V(2,($,Z)=>$&~Z);var sK=V(2,($,Z)=>$|Z);var z6=($)=>uJ($)&&!Oo($),uJ=($)=>GD($,M6);var GD=V(2,($,Z)=>($&Z)!==0),aK=(...$)=>$.reduce((Z,X)=>Z|X,0),Cz=aK(Qo);var tK=($)=>GD($,rK);var Oo=($)=>GD($,JD);var s8=V(2,($,Z)=>Y5($^Z,Z)),m1=V(2,($,Z)=>$&(Mz($D(Z))|ZD(Z))|$D(Z)&ZD(Z));var eK=n4({empty:XD,diff:($,Z)=>s8($,Z),combine:($,Z)=>nK(Z)($),patch:($,Z)=>m1(Z,$)});var Lz=XD;var $V=Pz,ZV=Fz;var XV=Tz;var Ez={_tag:"Empty"},GV=($,Z)=>({_tag:"Par",left:$,right:Z}),YD=($,Z)=>({_tag:"Seq",left:$,right:Z}),YV=($,Z)=>({_tag:"Single",dataSource:$,blockedRequest:Z});var xz=($)=>{let Z=hJ($),X=t6();while(!0){let[J,G]=Gz(Z,[jz(),t6()],([Y,W],D)=>{let[U,A]=Bo(D);return[zo(Y,U),Jz(W,A)]});if(X=No(X,J),a6(G))return Yz(X);Z=G}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},Bo=($)=>{let Z=$,X=jz(),J=t6(),G=t6();while(!0)switch(Z._tag){case"Empty":{if(a6(J))return[X,G];Z=J.head,J=J.tail;break}case"Par":{J=h1(Z.right,J),Z=Z.left;break}case"Seq":{let{left:Y,right:W}=Z;switch(Y._tag){case"Empty":{Z=W;break}case"Par":{let{left:D,right:U}=Y;Z=GV(YD(D,W),YD(U,W));break}case"Seq":{let{left:D,right:U}=Y;Z=YD(D,YD(U,W));break}case"Single":{Z=Y,G=h1(W,G);break}}break}case"Single":{if(X=Mo(X,Z),a6(J))return[X,G];Z=J.head,J=J.tail;break}}throw Error("BUG: BlockedRequests.step - please report an issue at https://github.com/Effect-TS/effect/issues")},No=($,Z)=>{if(a6($))return hJ(JV(Z));if(Ro(Z))return $;let X=xo($.head),J=wo(Z);if(X.length===1&&J.length===1&&s(X[0],J[0]))return h1(Eo($.head,JV(Z)),$.tail);return h1(JV(Z),$)},_o=Symbol.for("effect/RequestBlock/Entry");class Sz{request;result;listeners;ownerId;state;[_o]=Po;constructor($,Z,X,J,G){this.request=$,this.result=Z,this.listeners=X,this.ownerId=J,this.state=G}}var Po={_R:($)=>$};var WV=($)=>new Sz($.request,$.result,$.listeners,$.ownerId,$.state),Fo=Symbol.for("effect/RequestBlock/RequestBlockParallel"),To={_R:($)=>$};class WD{map;[Fo]=To;constructor($){this.map=$}}var jz=()=>new WD(G5());var Mo=($,Z)=>new WD(tM($.map,Z.dataSource,(X)=>d3(x0(X,I7(Z.blockedRequest)),()=>S0(Z.blockedRequest)))),zo=($,Z)=>new WD(yK($.map,Z.map,(X,J,G)=>SZ(X,G,c0(IK(X,G),{onNone:()=>J,onSome:(Y)=>z8(J,Y)})))),Ro=($)=>sM($.map),wo=($)=>Array.from(vK($.map)),JV=($)=>qo(eM($.map,(Z)=>S0(Z))),Co=Symbol.for("effect/RequestBlock/RequestBlockSequential"),Lo={_R:($)=>$};class DV{map;[Co]=Lo;constructor($){this.map=$}}var qo=($)=>new DV($),Eo=($,Z)=>new DV(yK(Z.map,$.map,(X,J,G)=>SZ(X,G,c0(IK(X,G),{onNone:()=>w0(),onSome:(Y)=>z8(Y,J)}))));var xo=($)=>Array.from(vK($.map)),kz=($)=>Array.from($.map);var r4="Die",f1="Empty",l4="Fail",i4="Interrupt",s4="Parallel",a4="Sequential";var bz="effect/Cause",DD=Symbol.for(bz),jo={_E:($)=>$},o7={[DD]:jo,[Y$](){return F(a(bz),V$(a(ko(this))),C$(this))},[G$]($){return oJ($)&&tz(this,$)},pipe(){return n(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:y$(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:y$(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:y$(this.left),right:y$(this.right)}}},toString(){return w6(this)},[w$](){return this.toJSON()}},u0=(()=>{let $=Object.create(o7);return $._tag=f1,$})(),Q8=($)=>{let Z=Object.create(o7);return Z._tag=l4,Z.error=$,Z},P0=($)=>{let Z=Object.create(o7);return Z._tag=r4,Z.defect=$,Z},QZ=($)=>{let Z=Object.create(o7);return Z._tag=i4,Z.fiberId=$,Z},F0=($,Z)=>{let X=Object.create(o7);return X._tag=s4,X.left=$,X.right=Z,X},$0=($,Z)=>{let X=Object.create(o7);return X._tag=a4,X.left=$,X.right=Z,X},oJ=($)=>u($,DD),HD=($)=>$._tag===f1,gz=($)=>$._tag===l4,D5=($)=>$._tag===r4,hz=($)=>$._tag===i4,mz=($)=>$._tag===a4,fz=($)=>$._tag===s4,cz=($)=>A5($,void 0,vo),nJ=($)=>{if($._tag===f1)return!0;return c1($,!0,(Z,X)=>{switch(X._tag){case f1:return j(Z);case r4:case l4:case i4:return j(!1);default:return S()}})},pz=($)=>c$(i7($)),dz=($)=>c$(AV($)),n7=($)=>c$(KV($)),H5=($)=>A5(void 0,yo)($),r7=($)=>R8(c1($,w0(),(Z,X)=>X._tag===l4?j(F(Z,O0(X.error))):S())),l7=($)=>R8(c1($,w0(),(Z,X)=>X._tag===r4?j(F(Z,O0(X.defect))):S())),U5=($)=>c1($,i8(),(Z,X)=>X._tag===i4?j(F(Z,X5(X.fiberId))):S()),i7=($)=>e6($,(Z)=>Z._tag===l4?j(Z.error):S()),R6=($)=>{let Z=i7($);switch(Z._tag){case"None":return S$($);case"Some":return f$(Z.value)}},AV=($)=>e6($,(Z)=>Z._tag===r4?j(Z.defect):S()),uz=($)=>$1($,{onEmpty:j(u0),onFail:x0(Q8),onDie:(Z)=>j(P0(Z)),onInterrupt:(Z)=>j(QZ(Z)),onSequential:p6($0),onParallel:p6(F0)}),KV=($)=>e6($,(Z)=>Z._tag===i4?j(Z.fiberId):S()),UD=($)=>$1($,{onEmpty:S(),onFail:()=>S(),onDie:(Z)=>j(P0(Z)),onInterrupt:()=>S(),onSequential:p6($0),onParallel:p6(F0)}),oz=($)=>$1($,{onEmpty:S(),onFail:(Z)=>j(P0(Z)),onDie:(Z)=>j(P0(Z)),onInterrupt:()=>S(),onSequential:p6($0),onParallel:p6(F0)}),nz=($)=>$1($,{onEmpty:i8(),onFail:(Z)=>F6(Q8(Z)),onDie:(Z)=>F6(P0(Z)),onInterrupt:(Z)=>F6(QZ(Z)),onSequential:(Z,X)=>SK(Z,(J)=>xK(X,(G)=>$0(J,G))),onParallel:(Z,X)=>SK(Z,(J)=>xK(X,(G)=>F0(J,G)))}),rJ=($)=>$1($,{onEmpty:u0,onFail:()=>u0,onDie:P0,onInterrupt:QZ,onSequential:$0,onParallel:F0}),rz=($)=>$1($,{onEmpty:u0,onFail:P0,onDie:P0,onInterrupt:QZ,onSequential:$0,onParallel:F0}),lz=V(2,($,Z)=>$1($,{onEmpty:j(u0),onFail:(X)=>j(Q8(X)),onDie:(X)=>{let J=Z(X);return c$(J)?S():j(P0(X))},onInterrupt:(X)=>j(QZ(X)),onSequential:p6($0),onParallel:p6(F0)})),iz=V(2,($,Z)=>s7($,()=>Z)),s7=V(2,($,Z)=>u7($,(X)=>Q8(Z(X)))),u7=V(2,($,Z)=>$1($,{onEmpty:u0,onFail:(X)=>Z(X),onDie:(X)=>P0(X),onInterrupt:(X)=>QZ(X),onSequential:(X,J)=>$0(X,J),onParallel:(X,J)=>F0(X,J)})),AD=($)=>u7($,R$),sz=V(2,($,Z)=>c8(Z)?u7($,Z):u7($,()=>Z)),az=V(2,($,Z)=>{if(Z._tag===f1||$===Z)return!0;return c1($,!1,(X,J)=>{return j(X||tz(J,Z))})}),tz=($,Z)=>{let X=S0($),J=S0(Z);while(D0(X)&&D0(J)){let[G,Y]=F(g$(X),c1([i8(),w0()],([U,A],Q)=>{let[O,P]=HV(Q);return j([F(U,l6(O)),F(A,z8(P))])})),[W,D]=F(g$(J),c1([i8(),w0()],([U,A],Q)=>{let[O,P]=HV(Q);return j([F(U,l6(O)),F(A,z8(P))])}));if(!s(G,W))return!1;X=Y,J=D}return!0},ko=($)=>{return Io(S0($),w0())},Io=($,Z)=>{while(!0){let[X,J]=F($,b4([i8(),w0()],([Y,W],D)=>{let[U,A]=HV(D);return[F(Y,l6(U)),F(W,z8(A))]})),G=b1(X)>0?F(Z,O0(X)):Z;if(QW(J))return R8(G);$=J,Z=G}throw Error(E1("Cause.flattenCauseLoop"))},e6=V(2,($,Z)=>{let X=[$];while(X.length>0){let J=X.pop(),G=Z(J);switch(G._tag){case"None":{switch(J._tag){case a4:case s4:{X.push(J.right),X.push(J.left);break}}break}case"Some":return G}}return S()}),ez=V(2,($,Z)=>A5($,void 0,bo(Z))),HV=($)=>{let Z=$,X=[],J=i8(),G=w0();while(Z!==void 0)switch(Z._tag){case f1:{if(X.length===0)return[J,G];Z=X.pop();break}case l4:{if(J=X5(J,qJ(Z._tag,Z.error)),X.length===0)return[J,G];Z=X.pop();break}case r4:{if(J=X5(J,qJ(Z._tag,Z.defect)),X.length===0)return[J,G];Z=X.pop();break}case i4:{if(J=X5(J,qJ(Z._tag,Z.fiberId)),X.length===0)return[J,G];Z=X.pop();break}case a4:{switch(Z.left._tag){case f1:{Z=Z.right;break}case a4:{Z=$0(Z.left.left,$0(Z.left.right,Z.right));break}case s4:{Z=F0($0(Z.left.left,Z.right),$0(Z.left.right,Z.right));break}default:{G=O0(G,Z.right),Z=Z.left;break}}break}case s4:{X.push(Z.right),Z=Z.left;break}}throw Error(E1("Cause.evaluateCauseLoop"))},vo={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:($,Z,X)=>Z+X,parallelCase:($,Z,X)=>Z+X},yo={emptyCase:m6,failCase:JZ,dieCase:JZ,interruptCase:m6,sequentialCase:($,Z,X)=>Z&&X,parallelCase:($,Z,X)=>Z&&X},bo=($)=>({emptyCase:()=>u0,failCase:(Z,X)=>Q8(X),dieCase:(Z,X)=>P0(X),interruptCase:(Z,X)=>QZ(X),sequentialCase:(Z,X,J)=>{if($(X)){if($(J))return $0(X,J);return X}if($(J))return J;return u0},parallelCase:(Z,X,J)=>{if($(X)){if($(J))return F0(X,J);return X}if($(J))return J;return u0}}),vz="SequentialCase",yz="ParallelCase",$1=V(2,($,{onDie:Z,onEmpty:X,onFail:J,onInterrupt:G,onParallel:Y,onSequential:W})=>{return A5($,void 0,{emptyCase:()=>X,failCase:(D,U)=>J(U),dieCase:(D,U)=>Z(U),interruptCase:(D,U)=>G(U),sequentialCase:(D,U,A)=>W(U,A),parallelCase:(D,U,A)=>Y(U,A)})}),c1=V(3,($,Z,X)=>{let J=Z,G=$,Y=[];while(G!==void 0){let W=X(J,G);switch(J=c$(W)?W.value:J,G._tag){case a4:{Y.push(G.right),G=G.left;break}case s4:{Y.push(G.right),G=G.left;break}default:{G=void 0;break}}if(G===void 0&&Y.length>0)G=Y.pop()}return J}),A5=V(3,($,Z,X)=>{let J=[$],G=[];while(J.length>0){let W=J.pop();switch(W._tag){case f1:{G.push(S$(X.emptyCase(Z)));break}case l4:{G.push(S$(X.failCase(Z,W.error)));break}case r4:{G.push(S$(X.dieCase(Z,W.defect)));break}case i4:{G.push(S$(X.interruptCase(Z,W.fiberId)));break}case a4:{J.push(W.right),J.push(W.left),G.push(f$({_tag:vz}));break}case s4:{J.push(W.right),J.push(W.left),G.push(f$({_tag:yz}));break}}}let Y=[];while(G.length>0){let W=G.pop();switch(W._tag){case"Left":{switch(W.left._tag){case vz:{let D=Y.pop(),U=Y.pop(),A=X.sequentialCase(Z,D,U);Y.push(A);break}case yz:{let D=Y.pop(),U=Y.pop(),A=X.parallelCase(Z,D,U);Y.push(A);break}}break}case"Right":{Y.push(W.right);break}}}if(Y.length===0)throw Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return Y.pop()}),w6=($,Z)=>{if(H5($))return"All fibers interrupted without errors.";return a7($).map(function(X){if(Z?.renderErrorCause!==!0||X.cause===void 0)return X.stack;return`${X.stack} {
5
+ `)}return Z},HK=($)=>u($,DK),pT=($)=>u($,OW),BW=($)=>u($,v7),fd=o8(new Map),dT=()=>fd,UK=($,Z)=>o8(new Map([[$.key,Z]])),uT=V(3,($,Z,X)=>{let J=new Map($.unsafeMap);return J.set(Z.key,X),o8(J)}),WK=_$("effect/Context/defaultValueCache",()=>new Map),NW=($)=>{if(WK.has($.key))return WK.get($.key);let Z=$.defaultValue();return WK.set($.key,Z),Z},oT=($,Z)=>{return $.unsafeMap.has(Z.key)?$.unsafeMap.get(Z.key):NW(Z)},AK=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key)){if(v7 in Z)return NW(Z);throw md(Z)}return $.unsafeMap.get(Z.key)}),nT=AK,rT=V(3,($,Z,X)=>{if(!$.unsafeMap.has(Z.key))return BW(Z)?NW(Z):X();return $.unsafeMap.get(Z.key)}),lT=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key))return BW(Z)?oZ(NW(Z)):N6;return oZ($.unsafeMap.get(Z.key))}),iT=V(2,($,Z)=>{let X=new Map($.unsafeMap);for(let[J,G]of Z.unsafeMap)X.set(J,G);return o8(X)}),sT=(...$)=>{let Z=new Map;for(let X=0;X<$.length;X++)$[X].unsafeMap.forEach((J,G)=>{Z.set(G,J)});return o8(Z)},aT=(...$)=>(Z)=>{let X=new Set($.map((G)=>G.key)),J=new Map;for(let[G,Y]of Z.unsafeMap.entries())if(X.has(G))J.set(G,Y);return o8(J)},tT=(...$)=>(Z)=>{let X=new Map(Z.unsafeMap);for(let J of $)X.delete(J.key);return o8(X)};var cd=OW,pd=v7,WZ=mT;var dd=o8,KK=HK,b7=pT,ud=BW,VZ=dT,U8=UK,e$=uT,l0=nT,od=rT,n8=AK,C8=lT,r8=iT,VK=sT,nd=aT,rd=tT,ld=fT,n6=cT;var QK=Symbol.for("effect/Duration"),GM=BigInt(0),$M=BigInt(24),_W=BigInt(60),OK=BigInt(1000),ZM=BigInt(1e6),XM=BigInt(1e9),id=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Y0=($)=>{if(YM($))return $;else if(BJ($))return xZ($);else if(q3($))return SJ($);else if(Array.isArray($)&&$.length===2&&$.every(BJ)){if($[0]===-1/0||$[1]===-1/0||Number.isNaN($[0])||Number.isNaN($[1]))return K8;if($[0]===1/0||$[1]===1/0)return ed;return SJ(BigInt(Math.round($[0]*1e9))+BigInt(Math.round($[1])))}else if(OJ($)){let Z=id.exec($);if(Z){let[X,J,G]=Z,Y=Number(J);switch(G){case"nano":case"nanos":return SJ(BigInt(J));case"micro":case"micros":return $u(BigInt(J));case"milli":case"millis":return xZ(Y);case"second":case"seconds":return BK(Y);case"minute":case"minutes":return Zu(Y);case"hour":case"hours":return Xu(Y);case"day":case"days":return Ju(Y);case"week":case"weeks":return Gu(Y)}}}throw Error("Invalid DurationInput")};var JM={_tag:"Millis",millis:0},sd={_tag:"Infinity"},ad={[QK]:QK,[Y$](){return C$(this,iY(this.value))},[G$]($){return YM($)&&Hu(this,$)},toString(){return`Duration(${PK(this)})`},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",hrtime:Wu(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},A8=($)=>{let Z=Object.create(ad);if(BJ($))if(isNaN($)||$<=0)Z.value=JM;else if(!Number.isFinite($))Z.value=sd;else if(!Number.isInteger($))Z.value={_tag:"Nanos",nanos:BigInt(Math.round($*1e6))};else Z.value={_tag:"Millis",millis:$};else if($<=GM)Z.value=JM;else Z.value={_tag:"Nanos",nanos:$};return Z},YM=($)=>u($,QK);var td=($)=>{switch($.value._tag){case"Millis":return $.value.millis===0;case"Nanos":return $.value.nanos===GM;case"Infinity":return!1}},K8=A8(0),ed=A8(1/0),SJ=($)=>A8($),$u=($)=>A8($*OK),xZ=($)=>A8($),BK=($)=>A8($*1000),Zu=($)=>A8($*60000),Xu=($)=>A8($*3600000),Ju=($)=>A8($*86400000),Gu=($)=>A8($*604800000),zZ=($)=>WM($,{onMillis:(Z)=>Z,onNanos:(Z)=>Number(Z)/1e6});var Yu=($)=>{let Z=Y0($);switch(Z.value._tag){case"Infinity":throw Error("Cannot convert infinite duration to nanos");case"Nanos":return Z.value.nanos;case"Millis":return BigInt(Math.round(Z.value.millis*1e6))}},Wu=($)=>{let Z=Y0($);switch(Z.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(Z.value.nanos/XM),Number(Z.value.nanos%XM)];case"Millis":return[Math.floor(Z.value.millis/1000),Math.round(Z.value.millis%1000*1e6)]}},WM=V(2,($,Z)=>{let X=Y0($);switch(X.value._tag){case"Nanos":return Z.onNanos(X.value.nanos);case"Infinity":return Z.onMillis(1/0);case"Millis":return Z.onMillis(X.value.millis)}}),jJ=V(3,($,Z,X)=>{let J=Y0($),G=Y0(Z);if(J.value._tag==="Infinity"||G.value._tag==="Infinity")return X.onMillis(zZ(J),zZ(G));else if(J.value._tag==="Nanos"||G.value._tag==="Nanos"){let Y=J.value._tag==="Nanos"?J.value.nanos:BigInt(Math.round(J.value.millis*1e6)),W=G.value._tag==="Nanos"?G.value.nanos:BigInt(Math.round(G.value.millis*1e6));return X.onNanos(Y,W)}return X.onMillis(J.value.millis,G.value.millis)});var Du=($,Z)=>jJ($,Z,{onMillis:(X,J)=>X===J,onNanos:(X,J)=>X===J});var NK=V(2,($,Z)=>WM($,{onMillis:(X)=>A8(X*Z),onNanos:(X)=>A8(X*BigInt(Z))}));var _K=V(2,($,Z)=>jJ($,Z,{onMillis:(X,J)=>A8(X+J),onNanos:(X,J)=>A8(X+J)})),DM=V(2,($,Z)=>jJ($,Z,{onMillis:(X,J)=>X<J,onNanos:(X,J)=>X<J})),HM=V(2,($,Z)=>jJ($,Z,{onMillis:(X,J)=>X<=J,onNanos:(X,J)=>X<=J}));var PW=V(2,($,Z)=>jJ($,Z,{onMillis:(X,J)=>X>=J,onNanos:(X,J)=>X>=J})),Hu=V(2,($,Z)=>Du(Y0($),Y0(Z))),Uu=($)=>{let Z=Y0($);if(Z.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};let X=Yu(Z),J=X/ZM,G=J/OK,Y=G/_W,W=Y/_W,D=W/$M;return{days:Number(D),hours:Number(W%$M),minutes:Number(Y%_W),seconds:Number(G%_W),millis:Number(J%OK),nanos:Number(X%ZM)}},PK=($)=>{let Z=Y0($);if(Z.value._tag==="Infinity")return"Infinity";if(td(Z))return"0";let X=Uu(Z),J=[];if(X.days!==0)J.push(`${X.days}d`);if(X.hours!==0)J.push(`${X.hours}h`);if(X.minutes!==0)J.push(`${X.minutes}m`);if(X.seconds!==0)J.push(`${X.seconds}s`);if(X.millis!==0)J.push(`${X.millis}ms`);if(X.nanos!==0)J.push(`${X.nanos}ns`);return J.join(" ")};var h4=5,FK=Math.pow(2,5),UM=FK-1,AM=FK/2,KM=FK/4;function Au($){return $-=$>>1&1431655765,$=($&858993459)+($>>2&858993459),$=$+($>>4)&252645135,$+=$>>8,$+=$>>16,$&127}function m4($,Z){return Z>>>$&UM}function f4($){return 1<<$}function FW($,Z){return Au($&Z-1)}var VM=($,Z)=>({value:$,previous:Z});function t9($,Z,X,J){let G=J;if(!$){let Y=J.length;G=Array(Y);for(let W=0;W<Y;++W)G[W]=J[W]}return G[Z]=X,G}function TK($,Z,X){let J=X.length-1,G=0,Y=0,W=X;if($)G=Y=Z;else{W=Array(J);while(G<Z)W[Y++]=X[G++]}++G;while(G<=J)W[Y++]=X[G++];if($)W.length=J;return W}function QM($,Z,X,J){let G=J.length;if($){let U=G;while(U>=Z)J[U--]=J[U];return J[Z]=X,J}let Y=0,W=0,D=Array(G+1);while(Y<Z)D[W++]=J[Y++];D[Z]=X;while(Y<G)D[++W]=J[Y++];return D}class y1{_tag="EmptyNode";modify($,Z,X,J,G,Y){let W=X(S());if(I$(W))return new y1;return++Y.value,new e9($,J,G,W)}}function l8($){return I4($,"EmptyNode")}function Vu($){return l8($)||$._tag==="LeafNode"||$._tag==="CollisionNode"}function TW($,Z){return l8($)?!1:Z===$.edit}class e9{edit;hash;key;value;_tag="LeafNode";constructor($,Z,X,J){this.edit=$,this.hash=Z,this.key=X,this.value=J}modify($,Z,X,J,G,Y){if(s(G,this.key)){let D=X(this.value);if(D===this.value)return this;else if(I$(D))return--Y.value,new y1;if(TW(this,$))return this.value=D,this;return new e9($,J,G,D)}let W=X(S());if(I$(W))return this;return++Y.value,OM($,Z,this.hash,this,J,new e9($,J,G,W))}}class MK{edit;hash;children;_tag="CollisionNode";constructor($,Z,X){this.edit=$,this.hash=Z,this.children=X}modify($,Z,X,J,G,Y){if(J===this.hash){let D=TW(this,$),U=this.updateCollisionList(D,$,this.hash,this.children,X,G,Y);if(U===this.children)return this;return U.length>1?new MK($,this.hash,U):U[0]}let W=X(S());if(I$(W))return this;return++Y.value,OM($,Z,this.hash,this,J,new e9($,J,G,W))}updateCollisionList($,Z,X,J,G,Y,W){let D=J.length;for(let A=0;A<D;++A){let Q=J[A];if("key"in Q&&s(Y,Q.key)){let O=Q.value,P=G(O);if(P===O)return J;if(I$(P))return--W.value,TK($,A,J);return t9($,A,new e9(Z,X,Y,P),J)}}let U=G(S());if(I$(U))return J;return++W.value,t9($,D,new e9(Z,X,Y,U),J)}}class g7{edit;mask;children;_tag="IndexedNode";constructor($,Z,X){this.edit=$,this.mask=Z,this.children=X}modify($,Z,X,J,G,Y){let W=this.mask,D=this.children,U=m4(Z,J),A=f4(U),Q=FW(W,A),O=W&A,P=TW(this,$);if(!O){let K$=new y1().modify($,Z+h4,X,J,G,Y);if(!K$)return this;return D.length>=AM?Ou($,U,K$,W,D):new g7($,W|A,QM(P,Q,K$,D))}let N=D[Q],M=N.modify($,Z+h4,X,J,G,Y);if(N===M)return this;let w=W,q;if(l8(M)){if(w&=~A,!w)return new y1;if(D.length<=2&&Vu(D[Q^1]))return D[Q^1];q=TK(P,Q,D)}else q=t9(P,Q,M,D);if(P)return this.mask=w,this.children=q,this;return new g7($,w,q)}}class zK{edit;size;children;_tag="ArrayNode";constructor($,Z,X){this.edit=$,this.size=Z,this.children=X}modify($,Z,X,J,G,Y){let W=this.size,D=this.children,U=m4(Z,J),A=D[U],Q=(A||new y1).modify($,Z+h4,X,J,G,Y);if(A===Q)return this;let O=TW(this,$),P;if(l8(A)&&!l8(Q))++W,P=t9(O,U,Q,D);else if(!l8(A)&&l8(Q)){if(--W,W<=KM)return Qu($,W,U,D);P=t9(O,U,new y1,D)}else P=t9(O,U,Q,D);if(O)return this.size=W,this.children=P,this;return new zK($,W,P)}}function Qu($,Z,X,J){let G=Array(Z-1),Y=0,W=0;for(let D=0,U=J.length;D<U;++D)if(D!==X){let A=J[D];if(A&&!l8(A))G[Y++]=A,W|=1<<D}return new g7($,W,G)}function Ou($,Z,X,J,G){let Y=[],W=J,D=0;for(let U=0;W;++U){if(W&1)Y[U]=G[D++];W>>>=1}return Y[Z]=X,new zK($,D+1,Y)}function Bu($,Z,X,J,G,Y){if(X===G)return new MK($,X,[Y,J]);let W=m4(Z,X),D=m4(Z,G);if(W===D)return(U)=>new g7($,f4(W)|f4(D),[U]);else{let U=W<D?[J,Y]:[Y,J];return new g7($,f4(W)|f4(D),U)}}function OM($,Z,X,J,G,Y){let W=void 0,D=Z;while(!0){let U=Bu($,D,X,J,G,Y);if(typeof U==="function")W=VM(U,W),D=D+h4;else{let A=U;while(W!=null)A=W.value(A),W=W.previous;return A}}}var BM="effect/HashMap",MW=Symbol.for(BM),_u={[MW]:MW,[Symbol.iterator](){return new RW(this,($,Z)=>[$,Z])},[Y$](){let $=a(BM);for(let Z of this)$^=F(a(Z[0]),V$(a(Z[1])));return C$(this,$)},[G$]($){if(FM($)){if($._size!==this._size)return!1;for(let Z of this){let X=F($,wW(Z[0],a(Z[0])));if(I$(X))return!1;else if(!s(Z[1],X.value))return!1}return!0}return!1},toString(){return k$(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},RK=($,Z,X,J)=>{let G=Object.create(_u);return G._editable=$,G._edit=Z,G._root=X,G._size=J,G};class RW{map;f;v;constructor($,Z){this.map=$,this.f=Z,this.v=NM(this.map._root,this.f,void 0)}next(){if(I$(this.v))return{done:!0,value:void 0};let $=this.v.value;return this.v=zW($.cont),{done:!1,value:$.value}}[Symbol.iterator](){return new RW(this.map,this.f)}}var zW=($)=>$?_M($[0],$[1],$[2],$[3],$[4]):S(),NM=($,Z,X=void 0)=>{switch($._tag){case"LeafNode":{if(c$($.value))return j({value:Z($.key,$.value.value),cont:X});return zW(X)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let J=$.children;return _M(J.length,J,0,Z,X)}default:return zW(X)}},_M=($,Z,X,J,G)=>{while(X<$){let Y=Z[X++];if(Y&&!l8(Y))return NM(Y,J,[$,Z,X,J,G])}return zW(G)},Pu=RK(!1,0,new y1,0),h7=()=>Pu;var PM=($)=>{let Z=IJ(h7());for(let X of $)$5(Z,X[0],X[1]);return CK(Z)},FM=($)=>u($,MW),TM=($)=>$&&l8($._root),MM=V(2,($,Z)=>wW($,Z,a(Z))),wW=V(3,($,Z,X)=>{let J=$._root,G=0;while(!0)switch(J._tag){case"LeafNode":return s(Z,J.key)?J.value:S();case"CollisionNode":{if(X===J.hash){let Y=J.children;for(let W=0,D=Y.length;W<D;++W){let U=Y[W];if("key"in U&&s(Z,U.key))return U.value}}return S()}case"IndexedNode":{let Y=m4(G,X),W=f4(Y);if(J.mask&W){J=J.children[FW(J.mask,W)],G+=h4;break}return S()}case"ArrayNode":{if(J=J.children[m4(G,X)],J){G+=h4;break}return S()}default:return S()}});var wK=V(2,($,Z)=>c$(wW($,Z,a(Z))));var $5=V(3,($,Z,X)=>LW($,Z,()=>j(X))),Fu=V(3,($,Z,X)=>{if($._editable)return $._root=Z,$._size=X,$;return Z===$._root?$:RK($._editable,$._edit,Z,X)}),CW=($)=>new RW($,(Z)=>Z);var kJ=($)=>$._size;var IJ=($)=>RK(!0,$._edit+1,$._root,$._size),CK=($)=>{return $._editable=!1,$},zM=V(2,($,Z)=>{let X=IJ($);return Z(X),CK(X)}),LW=V(3,($,Z,X)=>RM($,Z,a(Z),X)),RM=V(4,($,Z,X,J)=>{let G={value:$._size},Y=$._root.modify($._editable?$._edit:NaN,0,J,X,Z,G);return F($,Fu(Y,G.value))});var qW=V(2,($,Z)=>LW($,Z,S));var wM=V(2,($,Z)=>m7($,h7(),(X,J,G)=>$5(X,G,Z(J,G))));var EW=V(2,($,Z)=>m7($,void 0,(X,J,G)=>Z(J,G))),m7=V(3,($,Z,X)=>{let J=$._root;if(J._tag==="LeafNode")return c$(J.value)?X(Z,J.value.value,J.key):Z;if(J._tag==="EmptyNode")return Z;let G=[J.children],Y;while(Y=G.pop())for(let W=0,D=Y.length;W<D;){let U=Y[W++];if(U&&!l8(U))if(U._tag==="LeafNode"){if(c$(U.value))Z=X(Z,U.value.value,U.key)}else G.push(U.children)}return Z});var LM="effect/HashSet",xW=Symbol.for(LM),Tu={[xW]:xW,[Symbol.iterator](){return CW(this._keyMap)},[Y$](){return C$(this,V$(a(this._keyMap))(a(LM)))},[G$]($){if(qM($))return kJ(this._keyMap)===kJ($._keyMap)&&s(this._keyMap,$._keyMap);return!1},toString(){return k$(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},SW=($)=>{let Z=Object.create(Tu);return Z._keyMap=$,Z},qM=($)=>u($,xW),Mu=SW(h7()),Z5=()=>Mu,EM=($)=>{let Z=kW(Z5());for(let X of $)c4(Z,X);return IW(Z)},xM=(...$)=>{let Z=kW(Z5());for(let X of $)c4(Z,X);return IW(Z)},jW=V(2,($,Z)=>wK($._keyMap,Z)),SM=V(2,($,Z)=>{let X=!1;for(let J of $)if(X=Z(J),X)break;return X}),jM=V(2,($,Z)=>!SM($,(X)=>!Z(X)));var kM=($)=>kJ($._keyMap),kW=($)=>SW(IJ($._keyMap)),IW=($)=>{return $._keyMap._editable=!1,$},vJ=V(2,($,Z)=>{let X=kW($);return Z(X),IW(X)}),c4=V(2,($,Z)=>$._keyMap._editable?($5(Z,!0)($._keyMap),$):SW($5(Z,!0)($._keyMap))),LK=V(2,($,Z)=>$._keyMap._editable?(qW(Z)($._keyMap),$):SW(qW(Z)($._keyMap))),IM=V(2,($,Z)=>vJ($,(X)=>{for(let J of Z)LK(X,J)}));var vM=V(2,($,Z)=>vJ(Z5(),(X)=>{vW($,(J)=>c4(X,J));for(let J of Z)c4(X,J)}));var yM=V(2,($,Z)=>vJ(Z5(),(X)=>{vW($,(J)=>{let G=Z(J);if(!jW(X,G))c4(X,G)})})),bM=V(2,($,Z)=>vJ(Z5(),(X)=>{vW($,(J)=>{for(let G of Z(J))if(!jW(X,G))c4(X,G)})})),vW=V(2,($,Z)=>EW($._keyMap,(X,J)=>Z(J))),gM=V(3,($,Z,X)=>m7($._keyMap,Z,(J,G,Y)=>X(J,Y)));var i8=Z5,yW=EM,F6=xM,f7=jW;var hM=jM;var b1=kM;var X5=c4,qK=LK,EK=IM;var l6=vM;var xK=yM,SK=bM;var J5=gM;var mM=Symbol.for("effect/MutableRef"),Ru={[mM]:mM,toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableRef",current:y$(this.current)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},i6=($)=>{let Z=Object.create(Ru);return Z.current=$,Z},bW=V(3,($,Z,X)=>{if(s(Z,$.current))return $.current=X,!0;return!1});var s6=($)=>$.current;var g1=V(2,($,Z)=>{return $.current=Z,$});var fW="effect/FiberId",p4=Symbol.for(fW),d4="None",gW="Runtime",hW="Composite",wu=o$(`${fW}-${d4}`);class cM{[p4]=p4;_tag=d4;id=-1;startTimeMillis=-1;[Y$](){return wu}[G$]($){return pW($)&&$._tag===d4}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[w$](){return this.toJSON()}}class jK{id;startTimeMillis;[p4]=p4;_tag=gW;constructor($,Z){this.id=$,this.startTimeMillis=Z}[Y$](){return C$(this,o$(`${fW}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[G$]($){return pW($)&&$._tag===gW&&this.id===$.id&&this.startTimeMillis===$.startTimeMillis}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,id:this.id,startTimeMillis:this.startTimeMillis}}[w$](){return this.toJSON()}}class pM{left;right;[p4]=p4;_tag=hW;constructor($,Z){this.left=$,this.right=Z}_hash;[Y$](){return F(o$(`${fW}-${this._tag}`),V$(a(this.left)),V$(a(this.right)),C$(this))}[G$]($){return pW($)&&$._tag===hW&&s(this.left,$.left)&&s(this.right,$.right)}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,left:y$(this.left),right:y$(this.right)}}[w$](){return this.toJSON()}}var cW=new cM;var pW=($)=>u($,p4),kK=($)=>{return $._tag===d4||F(mW($),hM((Z)=>kK(Z)))};var dM=V(2,($,Z)=>{if($._tag===d4)return Z;if(Z._tag===d4)return $;return new pM($,Z)});var uM=V(2,($,Z)=>kK($)?Z:$),bJ=($)=>{switch($._tag){case d4:return i8();case gW:return F6($.id);case hW:return F(bJ($.left),l6(bJ($.right)))}},fM=_$(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>i6(0)),oM=($,Z)=>{return new jK($,Z)},dW=($)=>{return Array.from(bJ($)).map((X)=>`#${X}`).join(",")};var mW=($)=>{switch($._tag){case d4:return i8();case gW:return F6($);case hW:return F(mW($.left),l6(mW($.right)))}},nM=()=>{let $=s6(fM);return F(fM,g1($+1)),new jK($,Date.now())};var d0=cW;var V8=dM;var uW=uM,u4=bJ,oW=oM,lM=dW;var nW=nM;var G5=h7;var iM=PM,sM=TM,IK=MM;var SZ=$5,vK=CW;var aM=zM,tM=LW;var eM=wM;var $z=EW,yK=m7;var gJ=Symbol.for("effect/List"),bK=($)=>P$($),Cu=($)=>cF(k7($),bK),Lu=Cu(s),qu={[gJ]:gJ,_tag:"Cons",toString(){return k$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:bK(this).map(y$)}},[w$](){return this.toJSON()},[G$]($){return Xz($)&&this._tag===$._tag&&Lu(this,$)},[Y$](){return C$(this,n0(bK(this)))},[Symbol.iterator](){let $=!1,Z=this;return{next(){if($)return this.return();if(Z._tag==="Nil")return $=!0,this.return();let X=Z.head;return Z=Z.tail,{done:$,value:X}},return(X){if(!$)$=!0;return{done:!0,value:X}}}},pipe(){return n(this,arguments)}},rW=($,Z)=>{let X=Object.create(qu);return X.head=$,X.tail=Z,X},Eu=o$("Nil"),xu={[gJ]:gJ,_tag:"Nil",toString(){return k$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[w$](){return this.toJSON()},[Y$](){return Eu},[G$]($){return Xz($)&&this._tag===$._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return n(this,arguments)}},Zz=Object.create(xu),Xz=($)=>u($,gJ),a6=($)=>$._tag==="Nil",gK=($)=>$._tag==="Cons";var Su=()=>Zz,h1=($,Z)=>rW($,Z),t6=Su,hJ=($)=>rW($,Zz);var Jz=V(2,($,Z)=>ju(Z,$)),lW=V(2,($,Z)=>h1(Z,$)),ju=V(2,($,Z)=>{if(a6($))return Z;else if(a6(Z))return $;else{let X=rW(Z.head,$),J=X,G=Z.tail;while(!a6(G)){let Y=rW(G.head,$);J.tail=Y,J=Y,G=G.tail}return X}});var Gz=V(3,($,Z,X)=>{let J=Z,G=$;while(!a6(G))J=X(J,G.head),G=G.tail;return J});var Yz=($)=>{let Z=t6(),X=$;while(!a6(X))Z=lW(Z,X.head),X=X.tail;return Z};var OH$=Object.assign(Object.create(Array.prototype),{[Y$](){return C$(this,n0(this))},[G$]($){if(Array.isArray($)&&this.length===$.length)return this.every((Z,X)=>s(Z,$[X]));else return!1}}),p7=function(){function $(Z){if(Z)Object.assign(this,Z)}return $.prototype=E7,$}(),sW=($)=>Object.assign(Object.create(E7),$);var ku=Symbol.for("effect/DifferContextPatch");function Dz($){return $}var fJ={...p7.prototype,[ku]:{_Value:Dz,_Patch:Dz}},Iu=Object.assign(Object.create(fJ),{_tag:"Empty"}),vu=Object.create(Iu),hK=()=>vu,yu=Object.assign(Object.create(fJ),{_tag:"AndThen"}),bu=($,Z)=>{let X=Object.create(yu);return X.first=$,X.second=Z,X},gu=Object.assign(Object.create(fJ),{_tag:"AddService"}),hu=($,Z)=>{let X=Object.create(gu);return X.key=$,X.service=Z,X},mu=Object.assign(Object.create(fJ),{_tag:"RemoveService"}),fu=($)=>{let Z=Object.create(mu);return Z.key=$,Z},cu=Object.assign(Object.create(fJ),{_tag:"UpdateService"}),pu=($,Z)=>{let X=Object.create(cu);return X.key=$,X.update=Z,X},Hz=($,Z)=>{let X=new Map($.unsafeMap),J=hK();for(let[G,Y]of Z.unsafeMap.entries())if(X.has(G)){let W=X.get(G);if(X.delete(G),!s(W,Y))J=mJ(pu(G,()=>Y))(J)}else X.delete(G),J=mJ(hu(G,Y))(J);for(let[G]of X.entries())J=mJ(fu(G))(J);return J},mJ=V(2,($,Z)=>bu($,Z)),Uz=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=!1,J=S0($),G=new Map(Z.unsafeMap);while(D0(J)){let W=g$(J),D=H0(J);switch(W._tag){case"Empty":{J=D;break}case"AddService":{G.set(W.key,W.service),J=D;break}case"AndThen":{J=O0(O0(D,W.second),W.first);break}case"RemoveService":{G.delete(W.key),J=D;break}case"UpdateService":{G.set(W.key,W.update(G.get(W.key))),X=!0,J=D;break}}}if(!X)return o8(G);let Y=new Map;for(let[W]of Z.unsafeMap)if(G.has(W))Y.set(W,G.get(W)),G.delete(W);for(let[W,D]of G)Y.set(W,D);return o8(Y)});var uu=Symbol.for("effect/DifferHashSetPatch");function mK($){return $}var tW={...p7.prototype,[uu]:{_Value:mK,_Key:mK,_Patch:mK}},ou=Object.assign(Object.create(tW),{_tag:"Empty"}),nu=Object.create(ou),fK=()=>nu,ru=Object.assign(Object.create(tW),{_tag:"AndThen"}),lu=($,Z)=>{let X=Object.create(ru);return X.first=$,X.second=Z,X},iu=Object.assign(Object.create(tW),{_tag:"Add"}),su=($)=>{let Z=Object.create(iu);return Z.value=$,Z},au=Object.assign(Object.create(tW),{_tag:"Remove"}),tu=($)=>{let Z=Object.create(au);return Z.value=$,Z},Az=($,Z)=>{let[X,J]=J5([$,fK()],([G,Y],W)=>{if(f7(W)(G))return[qK(W)(G),Y];return[G,aW(su(W))(Y)]})(Z);return J5(J,(G,Y)=>aW(tu(Y))(G))(X)},aW=V(2,($,Z)=>lu($,Z)),Kz=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=Z,J=S0($);while(D0(J)){let G=g$(J),Y=H0(J);switch(G._tag){case"Empty":{J=Y;break}case"AndThen":{J=O0(G.first)(O0(G.second)(Y));break}case"Add":{X=X5(G.value)(X),J=Y;break}case"Remove":X=qK(G.value)(X),J=Y}}return X});var $o=Symbol.for("effect/DifferReadonlyArrayPatch");function Vz($){return $}var pJ={...p7.prototype,[$o]:{_Value:Vz,_Patch:Vz}},Zo=Object.assign(Object.create(pJ),{_tag:"Empty"}),Xo=Object.create(Zo),cK=()=>Xo,Jo=Object.assign(Object.create(pJ),{_tag:"AndThen"}),Go=($,Z)=>{let X=Object.create(Jo);return X.first=$,X.second=Z,X},Yo=Object.assign(Object.create(pJ),{_tag:"Append"}),Wo=($)=>{let Z=Object.create(Yo);return Z.values=$,Z},Do=Object.assign(Object.create(pJ),{_tag:"Slice"}),Ho=($,Z)=>{let X=Object.create(Do);return X.from=$,X.until=Z,X},Uo=Object.assign(Object.create(pJ),{_tag:"Update"}),Ao=($,Z)=>{let X=Object.create(Uo);return X.index=$,X.patch=Z,X},Qz=($)=>{let Z=0,X=cK();while(Z<$.oldValue.length&&Z<$.newValue.length){let J=$.oldValue[Z],G=$.newValue[Z],Y=$.differ.diff(J,G);if(!s(Y,$.differ.empty))X=cJ(X,Ao(Z,Y));Z=Z+1}if(Z<$.oldValue.length)X=cJ(X,Ho(0,Z));if(Z<$.newValue.length)X=cJ(X,Wo(jT(Z)($.newValue)));return X},cJ=V(2,($,Z)=>Go($,Z)),Oz=V(3,($,Z,X)=>{if($._tag==="Empty")return Z;let J=Z.slice(),G=lZ($);while(AW(G)){let Y=KZ(G),W=d6(G);switch(Y._tag){case"Empty":{G=W;break}case"AndThen":{W.unshift(Y.first,Y.second),G=W;break}case"Append":{for(let D of Y.values)J.push(D);G=W;break}case"Slice":{J=J.slice(Y.from,Y.until),G=W;break}case"Update":{J[Y.index]=X.patch(Y.patch,J[Y.index]),G=W;break}}}return J});var Bz=Symbol.for("effect/Differ"),Vo={[Bz]:{_P:R$,_V:R$},pipe(){return n(this,arguments)}},n4=($)=>{let Z=Object.create(Vo);return Z.empty=$.empty,Z.diff=$.diff,Z.combine=$.combine,Z.patch=$.patch,Z},pK=()=>n4({empty:hK(),combine:($,Z)=>mJ(Z)($),diff:($,Z)=>Hz($,Z),patch:($,Z)=>Uz(Z)($)});var dK=()=>n4({empty:fK(),combine:($,Z)=>aW(Z)($),diff:($,Z)=>Az($,Z),patch:($,Z)=>Kz(Z)($)});var uK=($)=>n4({empty:cK(),combine:(Z,X)=>cJ(Z,X),diff:(Z,X)=>Qz({oldValue:Z,newValue:X,differ:$}),patch:(Z,X)=>Oz(Z,X,$)});var eW=()=>Nz(($,Z)=>Z),Nz=($)=>n4({empty:R$,combine:(Z,X)=>{if(Z===R$)return X;if(X===R$)return Z;return(J)=>X(Z(J))},diff:(Z,X)=>{if(s(Z,X))return R$;return N7(X)},patch:(Z,X)=>$(X,Z(X))});var dJ=255,_z=8,$D=($)=>$&dJ,ZD=($)=>$>>_z&dJ,Y5=($,Z)=>($&dJ)+((Z&$&dJ)<<_z),XD=Y5(0,0),Pz=($)=>Y5($,$),Fz=($)=>Y5($,0);var Tz=V(2,($,Z)=>Y5($D($)&~Z,ZD($)));var nK=V(2,($,Z)=>$|Z);var Mz=($)=>~$>>>0&dJ;var Qo=0,M6=1,Rz=2,rK=4,JD=16,lK=32;var wz=($)=>GD($,lK),iK=V(2,($,Z)=>$&~Z);var sK=V(2,($,Z)=>$|Z);var z6=($)=>uJ($)&&!Oo($),uJ=($)=>GD($,M6);var GD=V(2,($,Z)=>($&Z)!==0),aK=(...$)=>$.reduce((Z,X)=>Z|X,0),Cz=aK(Qo);var tK=($)=>GD($,rK);var Oo=($)=>GD($,JD);var s8=V(2,($,Z)=>Y5($^Z,Z)),m1=V(2,($,Z)=>$&(Mz($D(Z))|ZD(Z))|$D(Z)&ZD(Z));var eK=n4({empty:XD,diff:($,Z)=>s8($,Z),combine:($,Z)=>nK(Z)($),patch:($,Z)=>m1(Z,$)});var Lz=XD;var $V=Pz,ZV=Fz;var XV=Tz;var Ez={_tag:"Empty"},GV=($,Z)=>({_tag:"Par",left:$,right:Z}),YD=($,Z)=>({_tag:"Seq",left:$,right:Z}),YV=($,Z)=>({_tag:"Single",dataSource:$,blockedRequest:Z});var xz=($)=>{let Z=hJ($),X=t6();while(!0){let[J,G]=Gz(Z,[jz(),t6()],([Y,W],D)=>{let[U,A]=Bo(D);return[zo(Y,U),Jz(W,A)]});if(X=No(X,J),a6(G))return Yz(X);Z=G}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},Bo=($)=>{let Z=$,X=jz(),J=t6(),G=t6();while(!0)switch(Z._tag){case"Empty":{if(a6(J))return[X,G];Z=J.head,J=J.tail;break}case"Par":{J=h1(Z.right,J),Z=Z.left;break}case"Seq":{let{left:Y,right:W}=Z;switch(Y._tag){case"Empty":{Z=W;break}case"Par":{let{left:D,right:U}=Y;Z=GV(YD(D,W),YD(U,W));break}case"Seq":{let{left:D,right:U}=Y;Z=YD(D,YD(U,W));break}case"Single":{Z=Y,G=h1(W,G);break}}break}case"Single":{if(X=Mo(X,Z),a6(J))return[X,G];Z=J.head,J=J.tail;break}}throw Error("BUG: BlockedRequests.step - please report an issue at https://github.com/Effect-TS/effect/issues")},No=($,Z)=>{if(a6($))return hJ(JV(Z));if(Ro(Z))return $;let X=xo($.head),J=wo(Z);if(X.length===1&&J.length===1&&s(X[0],J[0]))return h1(Eo($.head,JV(Z)),$.tail);return h1(JV(Z),$)},_o=Symbol.for("effect/RequestBlock/Entry");class Sz{request;result;listeners;ownerId;state;[_o]=Po;constructor($,Z,X,J,G){this.request=$,this.result=Z,this.listeners=X,this.ownerId=J,this.state=G}}var Po={_R:($)=>$};var WV=($)=>new Sz($.request,$.result,$.listeners,$.ownerId,$.state),Fo=Symbol.for("effect/RequestBlock/RequestBlockParallel"),To={_R:($)=>$};class WD{map;[Fo]=To;constructor($){this.map=$}}var jz=()=>new WD(G5());var Mo=($,Z)=>new WD(tM($.map,Z.dataSource,(X)=>d3(x0(X,I7(Z.blockedRequest)),()=>S0(Z.blockedRequest)))),zo=($,Z)=>new WD(yK($.map,Z.map,(X,J,G)=>SZ(X,G,c0(IK(X,G),{onNone:()=>J,onSome:(Y)=>z8(J,Y)})))),Ro=($)=>sM($.map),wo=($)=>Array.from(vK($.map)),JV=($)=>qo(eM($.map,(Z)=>S0(Z))),Co=Symbol.for("effect/RequestBlock/RequestBlockSequential"),Lo={_R:($)=>$};class DV{map;[Co]=Lo;constructor($){this.map=$}}var qo=($)=>new DV($),Eo=($,Z)=>new DV(yK(Z.map,$.map,(X,J,G)=>SZ(X,G,c0(IK(X,G),{onNone:()=>w0(),onSome:(Y)=>z8(Y,J)}))));var xo=($)=>Array.from(vK($.map)),kz=($)=>Array.from($.map);var r4="Die",f1="Empty",l4="Fail",i4="Interrupt",s4="Parallel",a4="Sequential";var bz="effect/Cause",DD=Symbol.for(bz),jo={_E:($)=>$},o7={[DD]:jo,[Y$](){return F(a(bz),V$(a(ko(this))),C$(this))},[G$]($){return oJ($)&&tz(this,$)},pipe(){return n(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:y$(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:y$(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:y$(this.left),right:y$(this.right)}}},toString(){return w6(this)},[w$](){return this.toJSON()}},u0=(()=>{let $=Object.create(o7);return $._tag=f1,$})(),Q8=($)=>{let Z=Object.create(o7);return Z._tag=l4,Z.error=$,Z},P0=($)=>{let Z=Object.create(o7);return Z._tag=r4,Z.defect=$,Z},QZ=($)=>{let Z=Object.create(o7);return Z._tag=i4,Z.fiberId=$,Z},F0=($,Z)=>{let X=Object.create(o7);return X._tag=s4,X.left=$,X.right=Z,X},$0=($,Z)=>{let X=Object.create(o7);return X._tag=a4,X.left=$,X.right=Z,X},oJ=($)=>u($,DD),HD=($)=>$._tag===f1,gz=($)=>$._tag===l4,D5=($)=>$._tag===r4,hz=($)=>$._tag===i4,mz=($)=>$._tag===a4,fz=($)=>$._tag===s4,cz=($)=>A5($,void 0,vo),nJ=($)=>{if($._tag===f1)return!0;return c1($,!0,(Z,X)=>{switch(X._tag){case f1:return j(Z);case r4:case l4:case i4:return j(!1);default:return S()}})},pz=($)=>c$(i7($)),dz=($)=>c$(AV($)),n7=($)=>c$(KV($)),H5=($)=>A5(void 0,yo)($),r7=($)=>R8(c1($,w0(),(Z,X)=>X._tag===l4?j(F(Z,O0(X.error))):S())),l7=($)=>R8(c1($,w0(),(Z,X)=>X._tag===r4?j(F(Z,O0(X.defect))):S())),U5=($)=>c1($,i8(),(Z,X)=>X._tag===i4?j(F(Z,X5(X.fiberId))):S()),i7=($)=>e6($,(Z)=>Z._tag===l4?j(Z.error):S()),R6=($)=>{let Z=i7($);switch(Z._tag){case"None":return S$($);case"Some":return f$(Z.value)}},AV=($)=>e6($,(Z)=>Z._tag===r4?j(Z.defect):S()),uz=($)=>$1($,{onEmpty:j(u0),onFail:x0(Q8),onDie:(Z)=>j(P0(Z)),onInterrupt:(Z)=>j(QZ(Z)),onSequential:p6($0),onParallel:p6(F0)}),KV=($)=>e6($,(Z)=>Z._tag===i4?j(Z.fiberId):S()),UD=($)=>$1($,{onEmpty:S(),onFail:()=>S(),onDie:(Z)=>j(P0(Z)),onInterrupt:()=>S(),onSequential:p6($0),onParallel:p6(F0)}),oz=($)=>$1($,{onEmpty:S(),onFail:(Z)=>j(P0(Z)),onDie:(Z)=>j(P0(Z)),onInterrupt:()=>S(),onSequential:p6($0),onParallel:p6(F0)}),nz=($)=>$1($,{onEmpty:i8(),onFail:(Z)=>F6(Q8(Z)),onDie:(Z)=>F6(P0(Z)),onInterrupt:(Z)=>F6(QZ(Z)),onSequential:(Z,X)=>SK(Z,(J)=>xK(X,(G)=>$0(J,G))),onParallel:(Z,X)=>SK(Z,(J)=>xK(X,(G)=>F0(J,G)))}),rJ=($)=>$1($,{onEmpty:u0,onFail:()=>u0,onDie:P0,onInterrupt:QZ,onSequential:$0,onParallel:F0}),rz=($)=>$1($,{onEmpty:u0,onFail:P0,onDie:P0,onInterrupt:QZ,onSequential:$0,onParallel:F0}),lz=V(2,($,Z)=>$1($,{onEmpty:j(u0),onFail:(X)=>j(Q8(X)),onDie:(X)=>{let J=Z(X);return c$(J)?S():j(P0(X))},onInterrupt:(X)=>j(QZ(X)),onSequential:p6($0),onParallel:p6(F0)})),iz=V(2,($,Z)=>s7($,()=>Z)),s7=V(2,($,Z)=>u7($,(X)=>Q8(Z(X)))),u7=V(2,($,Z)=>$1($,{onEmpty:u0,onFail:(X)=>Z(X),onDie:(X)=>P0(X),onInterrupt:(X)=>QZ(X),onSequential:(X,J)=>$0(X,J),onParallel:(X,J)=>F0(X,J)})),AD=($)=>u7($,R$),sz=V(2,($,Z)=>c8(Z)?u7($,Z):u7($,()=>Z)),az=V(2,($,Z)=>{if(Z._tag===f1||$===Z)return!0;return c1($,!1,(X,J)=>{return j(X||tz(J,Z))})}),tz=($,Z)=>{let X=S0($),J=S0(Z);while(D0(X)&&D0(J)){let[G,Y]=F(g$(X),c1([i8(),w0()],([U,A],Q)=>{let[O,P]=HV(Q);return j([F(U,l6(O)),F(A,z8(P))])})),[W,D]=F(g$(J),c1([i8(),w0()],([U,A],Q)=>{let[O,P]=HV(Q);return j([F(U,l6(O)),F(A,z8(P))])}));if(!s(G,W))return!1;X=Y,J=D}return!0},ko=($)=>{return Io(S0($),w0())},Io=($,Z)=>{while(!0){let[X,J]=F($,b4([i8(),w0()],([Y,W],D)=>{let[U,A]=HV(D);return[F(Y,l6(U)),F(W,z8(A))]})),G=b1(X)>0?F(Z,O0(X)):Z;if(QW(J))return R8(G);$=J,Z=G}throw Error(E1("Cause.flattenCauseLoop"))},e6=V(2,($,Z)=>{let X=[$];while(X.length>0){let J=X.pop(),G=Z(J);switch(G._tag){case"None":{switch(J._tag){case a4:case s4:{X.push(J.right),X.push(J.left);break}}break}case"Some":return G}}return S()}),ez=V(2,($,Z)=>A5($,void 0,bo(Z))),HV=($)=>{let Z=$,X=[],J=i8(),G=w0();while(Z!==void 0)switch(Z._tag){case f1:{if(X.length===0)return[J,G];Z=X.pop();break}case l4:{if(J=X5(J,qJ(Z._tag,Z.error)),X.length===0)return[J,G];Z=X.pop();break}case r4:{if(J=X5(J,qJ(Z._tag,Z.defect)),X.length===0)return[J,G];Z=X.pop();break}case i4:{if(J=X5(J,qJ(Z._tag,Z.fiberId)),X.length===0)return[J,G];Z=X.pop();break}case a4:{switch(Z.left._tag){case f1:{Z=Z.right;break}case a4:{Z=$0(Z.left.left,$0(Z.left.right,Z.right));break}case s4:{Z=F0($0(Z.left.left,Z.right),$0(Z.left.right,Z.right));break}default:{G=O0(G,Z.right),Z=Z.left;break}}break}case s4:{X.push(Z.right),Z=Z.left;break}}throw Error(E1("Cause.evaluateCauseLoop"))},vo={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:($,Z,X)=>Z+X,parallelCase:($,Z,X)=>Z+X},yo={emptyCase:m6,failCase:JZ,dieCase:JZ,interruptCase:m6,sequentialCase:($,Z,X)=>Z&&X,parallelCase:($,Z,X)=>Z&&X},bo=($)=>({emptyCase:()=>u0,failCase:(Z,X)=>Q8(X),dieCase:(Z,X)=>P0(X),interruptCase:(Z,X)=>QZ(X),sequentialCase:(Z,X,J)=>{if($(X)){if($(J))return $0(X,J);return X}if($(J))return J;return u0},parallelCase:(Z,X,J)=>{if($(X)){if($(J))return F0(X,J);return X}if($(J))return J;return u0}}),vz="SequentialCase",yz="ParallelCase",$1=V(2,($,{onDie:Z,onEmpty:X,onFail:J,onInterrupt:G,onParallel:Y,onSequential:W})=>{return A5($,void 0,{emptyCase:()=>X,failCase:(D,U)=>J(U),dieCase:(D,U)=>Z(U),interruptCase:(D,U)=>G(U),sequentialCase:(D,U,A)=>W(U,A),parallelCase:(D,U,A)=>Y(U,A)})}),c1=V(3,($,Z,X)=>{let J=Z,G=$,Y=[];while(G!==void 0){let W=X(J,G);switch(J=c$(W)?W.value:J,G._tag){case a4:{Y.push(G.right),G=G.left;break}case s4:{Y.push(G.right),G=G.left;break}default:{G=void 0;break}}if(G===void 0&&Y.length>0)G=Y.pop()}return J}),A5=V(3,($,Z,X)=>{let J=[$],G=[];while(J.length>0){let W=J.pop();switch(W._tag){case f1:{G.push(S$(X.emptyCase(Z)));break}case l4:{G.push(S$(X.failCase(Z,W.error)));break}case r4:{G.push(S$(X.dieCase(Z,W.defect)));break}case i4:{G.push(S$(X.interruptCase(Z,W.fiberId)));break}case a4:{J.push(W.right),J.push(W.left),G.push(f$({_tag:vz}));break}case s4:{J.push(W.right),J.push(W.left),G.push(f$({_tag:yz}));break}}}let Y=[];while(G.length>0){let W=G.pop();switch(W._tag){case"Left":{switch(W.left._tag){case vz:{let D=Y.pop(),U=Y.pop(),A=X.sequentialCase(Z,D,U);Y.push(A);break}case yz:{let D=Y.pop(),U=Y.pop(),A=X.parallelCase(Z,D,U);Y.push(A);break}}break}case"Right":{Y.push(W.right);break}}}if(Y.length===0)throw Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return Y.pop()}),w6=($,Z)=>{if(H5($))return"All fibers interrupted without errors.";return a7($).map(function(X){if(Z?.renderErrorCause!==!0||X.cause===void 0)return X.stack;return`${X.stack} {
6
6
  ${$R(X.cause," ")}
7
7
  }`}).join(`
8
8
  `)},$R=($,Z)=>{let X=$.stack.split(`
@@ -12,43 +12,43 @@ ${$R($.cause,`${Z} `)}
12
12
  ${Z}}`;return J},UV=($)=>{let Z=typeof $==="object"&&$!==null,X=Error.stackTraceLimit;Error.stackTraceLimit=1;let J=Error(go($),Z&&"cause"in $&&typeof $.cause<"u"?{cause:UV($.cause)}:void 0);if(Error.stackTraceLimit=X,J.message==="")J.message="An error has occurred";if(Error.stackTraceLimit=X,J.name=$ instanceof Error?$.name:"Error",Z){if(W5 in $)J.span=$[W5];Object.keys($).forEach((G)=>{if(!(G in J))J[G]=$[G]})}return J.stack=mo(`${J.name}: ${J.message}`,$ instanceof Error&&$.stack?$.stack:"",J.span),J},go=($)=>{if(typeof $==="string")return $;if(typeof $==="object"&&$!==null&&$ instanceof Error)return $.message;try{if(u($,"toString")&&c8($.toString)&&$.toString!==Object.prototype.toString&&$.toString!==globalThis.Array.prototype.toString)return $.toString()}catch{}return aY($)},ho=/\((.*)\)/g,lJ=_$("effect/Tracer/spanToTrace",()=>new WeakMap),mo=($,Z,X)=>{let J=[$],G=Z.startsWith($)?Z.slice($.length).split(`
13
13
  `):Z.split(`
14
14
  `);for(let Y=1;Y<G.length;Y++){if(G[Y].includes(" at new BaseEffectError")||G[Y].includes(" at new YieldableError")){Y++;continue}if(G[Y].includes("Generator.next"))break;if(G[Y].includes("effect_internal_function"))break;J.push(G[Y].replace(/at .*effect_instruction_i.*\((.*)\)/,"at $1").replace(/EffectPrimitive\.\w+/,"<anonymous>"))}if(X){let Y=X,W=0;while(Y&&Y._tag==="Span"&&W<10){let D=lJ.get(Y);if(typeof D==="function"){let U=D();if(typeof U==="string"){let A=U.matchAll(ho),Q=!1;for(let[,O]of A)Q=!0,J.push(` at ${Y.name} (${O})`);if(!Q)J.push(` at ${Y.name} (${U.replace(/^at /,"")})`)}else J.push(` at ${Y.name}`)}else J.push(` at ${Y.name}`);Y=r0(Y.parent),W++}}return J.join(`
15
- `)},W5=Symbol.for("effect/SpanAnnotation"),a7=($)=>A5($,void 0,{emptyCase:()=>[],dieCase:(Z,X)=>{return[UV(X)]},failCase:(Z,X)=>{return[UV(X)]},interruptCase:()=>[],parallelCase:(Z,X,J)=>[...X,...J],sequentialCase:(Z,X,J)=>[...X,...J]});var K5="Pending",iJ="Done";var fo="effect/Deferred",XR=Symbol.for(fo),JR={_E:($)=>$,_A:($)=>$},GR=($)=>{return{_tag:K5,joiners:$}},VV=($)=>{return{_tag:iJ,effect:$}};class t7{self;called=!1;constructor($){this.self=$}next($){return this.called?{value:$,done:!0}:(this.called=!0,{value:this.self,done:!1})}return($){return{value:$,done:!0}}throw($){throw $}[Symbol.iterator](){return new t7(this.self)}}var d1=($,Z)=>{let X=new h0("Blocked");return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X},QD=($)=>{let Z=new h0("RunBlocked");return Z.effect_instruction_i0=$,Z},u1=Symbol.for("effect/Effect");class QV{patch;op;_op=PJ;constructor($,Z){this.patch=$,this.op=Z}}class h0{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[u1]=v4;constructor($){this._op=$}[G$]($){return this===$}[Y$](){return C$(this,NJ(this))}pipe(){return n(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:y$(this.effect_instruction_i0),effect_instruction_i1:y$(this.effect_instruction_i1),effect_instruction_i2:y$(this.effect_instruction_i2)}}toString(){return k$(this.toJSON())}[w$](){return this.toJSON()}[Symbol.iterator](){return new t7(new x1(this))}}class OV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[u1]=v4;constructor($){this._op=$,this._tag=$}[G$]($){return z5($)&&$._op==="Failure"&&s(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return F(o$(this._tag),V$(a(this.effect_instruction_i0)),C$(this))}get cause(){return this.effect_instruction_i0}pipe(){return n(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return k$(this.toJSON())}[w$](){return this.toJSON()}[Symbol.iterator](){return new t7(new x1(this))}}class BV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[u1]=v4;constructor($){this._op=$,this._tag=$}[G$]($){return z5($)&&$._op==="Success"&&s(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return F(o$(this._tag),V$(a(this.effect_instruction_i0)),C$(this))}get value(){return this.effect_instruction_i0}pipe(){return n(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:y$(this.value)}}toString(){return k$(this.toJSON())}[w$](){return this.toJSON()}[Symbol.iterator](){return new t7(new x1(this))}}var p$=($)=>u($,u1),x$=($)=>{let Z=new h0(eY);return Z.effect_instruction_i0=$,Z},OD=V(3,($,Z,X)=>j0((J)=>T($,(G)=>T(V0(D$(()=>J(Z(G)))),(Y)=>{return D$(()=>X(G,Y)).pipe(B0({onFailure:(W)=>{switch(Y._tag){case X0:return E$($0(Y.effect_instruction_i0,W));case J0:return E$(W)}},onSuccess:()=>Y}))})))),i$=V(2,($,Z)=>T($,()=>R(Z))),T0=($)=>i$($,void 0),W2=function(){let $=new h0(l9);switch(arguments.length){case 2:{$.effect_instruction_i0=arguments[0],$.commit=arguments[1];break}case 3:{$.effect_instruction_i0=arguments[0],$.effect_instruction_i1=arguments[1],$.commit=arguments[2];break}case 4:{$.effect_instruction_i0=arguments[0],$.effect_instruction_i1=arguments[1],$.effect_instruction_i2=arguments[2],$.commit=arguments[3];break}default:throw Error(E1("you're not supposed to end up here"))}return $},e7=($,Z=d0)=>{let X=new h0(r9),J=void 0;return X.effect_instruction_i0=(G)=>{J=$(G)},X.effect_instruction_i1=Z,J1(X,(G)=>p$(J)?J:M$)},D2=($,Z=d0)=>D$(()=>e7($,Z)),jZ=($,Z=d0)=>{return W2($,function(){let X=void 0,J=void 0;function G(U){if(X)X(U);else if(J===void 0)J=U}let Y=new h0(r9);Y.effect_instruction_i0=(U)=>{if(X=U,J)U(J)},Y.effect_instruction_i1=Z;let W=void 0,D=void 0;if(this.effect_instruction_i0.length!==1)D=new AbortController,W=E0(()=>this.effect_instruction_i0(G,D.signal));else W=E0(()=>this.effect_instruction_i0(G));return W||D?J1(Y,(U)=>{if(D)D.abort();return W??M$}):Y})};var Z1=V(2,($,Z)=>{let X=new h0(R7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),C6=V(2,($,Z)=>s0($,{onFailure:Z,onSuccess:R})),H2=V(3,($,Z,X)=>Z1($,(J)=>{let G=R6(J);switch(G._tag){case"Left":return Z(G.left)?X(G.left):E$(J);case"Right":return E$(G.right)}})),YR=V(2,($,Z)=>Z1($,(X)=>{let J=R6(X);switch(J._tag){case"Left":return F(Z(J.left),p0(()=>E$(X)));case"Right":return E$(J.right)}})),WR=($)=>x$((Z,X)=>$(uJ(X.runtimeFlags))),KD=Symbol.for("effect/OriginalAnnotation"),DR=($)=>{if(u($,KD))return $[KD];return $},BD=($,Z)=>{if(c$(Z))return new Proxy($,{has(X,J){return J===W5||J===KD||J in X},get(X,J){if(J===W5)return Z.value;if(J===KD)return $;return X[J]}});return $},RZ=($)=>q1($)&&!(W5 in $)?x$((Z)=>E$(P0(BD($,yD(Z))))):E$(P0($)),t4=($)=>o1(()=>P0(new RV($))),L8=($)=>T(E($),RZ),a8=($)=>s0($,{onFailure:(Z)=>R(f$(Z)),onSuccess:(Z)=>R(S$(Z))}),V0=($)=>U2($,{onFailure:b$,onSuccess:Z0}),L$=($)=>q1($)&&!(W5 in $)?x$((Z)=>E$(Q8(BD($,yD(Z))))):E$(Q8($)),t8=($)=>T(E($),L$),E$=($)=>{let Z=new OV(X0);return Z.effect_instruction_i0=$,Z},o1=($)=>T(E($),E$),n1=x$(($)=>R($.id())),O8=($)=>x$((Z)=>$(Z.id())),T=V(2,($,Z)=>{let X=new h0(w7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),e4=V(2,($,Z)=>T($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(p$(J))return J;else if(E3(J))return e7((G)=>{J.then((Y)=>G(R(Y)),(Y)=>G(L$(new M5(Y,"An unknown error occurred in Effect.andThen"))))});return R(J)})),ND=($)=>{let Z=new h0("OnStep");return Z.effect_instruction_i0=$,Z},kZ=($)=>T($,R$),$9=($)=>s0($,{onFailure:R,onSuccess:L$}),U2=V(2,($,Z)=>B0($,{onFailure:(X)=>R(Z.onFailure(X)),onSuccess:(X)=>R(Z.onSuccess(X))})),B0=V(2,($,Z)=>{let X=new h0(C7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z.onFailure,X.effect_instruction_i2=Z.onSuccess,X}),s0=V(2,($,Z)=>B0($,{onFailure:(X)=>{if(l7(X).length>0)return E$(rz(X));let G=r7(X);if(G.length>0)return Z.onFailure(YK(G));return E$(X)},onSuccess:Z.onSuccess})),OZ=V(2,($,Z)=>D$(()=>{let X=P$($),J=LJ(X.length),G=0;return i$(J9({while:()=>G<X.length,body:()=>Z(X[G],G),step:(Y)=>{J[G++]=Y}}),J)})),q8=V(2,($,Z)=>D$(()=>{let X=P$($),J=0;return J9({while:()=>J<X.length,body:()=>Z(X[J],J),step:()=>{J++}})})),_D=V(($)=>typeof $[0]==="boolean"||p$($[0]),($,Z)=>p$($)?T($,(X)=>X?Z.onTrue():Z.onFalse()):$?Z.onTrue():Z.onFalse()),PD=T(n1,($)=>FD($)),FD=($)=>E$(QZ($)),r1=($)=>{let Z=new h0(j1);return Z.effect_instruction_i0=$V(M6),Z.effect_instruction_i1=()=>$,Z},HR=($)=>W2($,function(){let Z=new h0(j1);return Z.effect_instruction_i0=$V(M6),Z.effect_instruction_i1=(X)=>uJ(X)?E0(()=>this.effect_instruction_i0(r1)):E0(()=>this.effect_instruction_i0(l1)),Z}),X1=V(2,($,Z)=>j0((X)=>T(V0(X($)),(J)=>xV(Z,J)))),I=V(2,($,Z)=>T($,(X)=>E(()=>Z(X)))),A2=V(2,($,Z)=>s0($,{onFailure:(X)=>t8(()=>Z.onFailure(X)),onSuccess:(X)=>E(()=>Z.onSuccess(X))})),Z9=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=R6(X);switch(J._tag){case"Left":return t8(()=>Z(J.left));case"Right":return E$(J.right)}},onSuccess:R})),TD=V(2,($,Z)=>iZ($,(X)=>_2(X)?M$:Z(X.effect_instruction_i0))),iZ=V(2,($,Z)=>j0((X)=>B0(X($),{onFailure:(J)=>{let G=b$(J);return B0(Z(G),{onFailure:(Y)=>b$($0(J,Y)),onSuccess:()=>G})},onSuccess:(J)=>{let G=Z0(J);return j$(Z(G),G)}}))),J1=V(2,($,Z)=>iZ($,R5({onFailure:(X)=>H5(X)?T0(Z(U5(X))):M$,onSuccess:()=>M$}))),Q5=V(2,($,Z)=>po($,Z,R)),O5=($)=>NV($,R$),NV=V(2,($,Z)=>s0($,{onFailure:(X)=>RZ(Z(X)),onSuccess:R})),UR=$K,$X=x$(($,Z)=>R(Z.runtimeFlags)),R=($)=>{let Z=new BV(J0);return Z.effect_instruction_i0=$,Z},D$=($)=>{let Z=new h0(l9);return Z.commit=$,Z},E=($)=>{let Z=new h0(tY);return Z.effect_instruction_i0=$,Z},IZ=V(($)=>$.length===3||$.length===2&&!(q1($[1])&&("onlyEffect"in $[1])),($,Z)=>T($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(p$(J))return i$(J,X);else if(E3(J))return e7((G)=>{J.then((Y)=>G(R(X)),(Y)=>G(L$(new M5(Y,"An unknown error occurred in Effect.tap"))))});return R(X)})),MD=($)=>x$((Z)=>{let X=Z.getFiberRef(tJ),J=F(X,p0(()=>Z.scope()));return $(C0(tJ,j(J)))}),po=V(3,($,Z,X)=>B0($,{onFailure:(J)=>{if(l7(J).length>0)return E$(o3(oz(J)));return Z()},onSuccess:X})),l1=($)=>{let Z=new h0(j1);return Z.effect_instruction_i0=ZV(M6),Z.effect_instruction_i1=()=>$,Z},j0=($)=>W2($,function(){let Z=new h0(j1);return Z.effect_instruction_i0=ZV(M6),Z.effect_instruction_i1=(X)=>uJ(X)?E0(()=>this.effect_instruction_i0(r1)):E0(()=>this.effect_instruction_i0(l1)),Z}),M$=R(void 0);var X9=($)=>{let Z=new h0(j1);return Z.effect_instruction_i0=$,Z.effect_instruction_i1=void 0,Z},ZX=V(2,($,Z)=>T(Z,(X)=>{if(X)return F($,I(j));return R(S())})),J9=($)=>{let Z=new h0(L7);return Z.effect_instruction_i0=$.while,Z.effect_instruction_i1=$.body,Z.effect_instruction_i2=$.step,Z},aJ=($)=>D$(()=>{let Z=new h0(i9);return Z.effect_instruction_i0=$(),Z}),zD=function(){let $=arguments.length===1?arguments[0]:arguments[1].bind(arguments[0]);return aJ(()=>$(F))},XX=($,...Z)=>Object.defineProperty(Z.length===0?function(...X){return aJ(()=>$.apply(this,X))}:function(...X){let J=aJ(()=>$.apply(this,X));for(let G of Z)J=G(J,...X);return J},"length",{value:$.length,configurable:!0}),AR=V(2,($,Z)=>C0($,qD,Z)),KR=V(2,($,Z)=>C0($,K2,Z)),RD=V(2,($,Z)=>{let X=new h0(j1);return X.effect_instruction_i0=Z,X.effect_instruction_i1=()=>$,X}),VR=V(2,($,Z)=>C0($,Q2,Z)),QR=V(2,($,Z)=>C0($,W9,Z)),G1=($)=>{let Z=new h0(q7);return typeof $?.priority<"u"?MV(Z,$.priority):Z},B5=V(2,($,Z)=>T($,(X)=>I(Z,(J)=>[X,J])));var N5=V(2,($,Z)=>T($,(X)=>i$(Z,X))),j$=V(2,($,Z)=>T($,()=>Z)),sZ=V(3,($,Z,X)=>T($,(J)=>I(Z,(G)=>X(J,G)))),G9=D2(()=>{let $=setInterval(()=>{},2147483647);return E(()=>clearInterval($))}),Y9=($)=>T(n1,(Z)=>F($,vZ(Z))),vZ=V(2,($,Z)=>T($.interruptAsFork(Z),()=>$.await)),OR={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return n(this,arguments)}},BR={_tag:"Fatal",syslog:2,label:"FATAL",ordinal:50000,pipe(){return n(this,arguments)}},NR={_tag:"Error",syslog:3,label:"ERROR",ordinal:40000,pipe(){return n(this,arguments)}},_V={_tag:"Warning",syslog:4,label:"WARN",ordinal:30000,pipe(){return n(this,arguments)}},PV={_tag:"Info",syslog:6,label:"INFO",ordinal:20000,pipe(){return n(this,arguments)}},FV={_tag:"Debug",syslog:7,label:"DEBUG",ordinal:1e4,pipe(){return n(this,arguments)}},_R={_tag:"Trace",syslog:7,label:"TRACE",ordinal:0,pipe(){return n(this,arguments)}},PR={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return n(this,arguments)}};var uo="effect/FiberRef",oo=Symbol.for(uo),no={_A:($)=>$},E8=($)=>x$((Z)=>Z0(Z.getFiberRef($)));var wZ=V(2,($,Z)=>T(E8($),Z)),V5=V(2,($,Z)=>ro($,()=>[void 0,Z]));var ro=V(2,($,Z)=>x$((X)=>{let[J,G]=Z(X.getFiberRef($));return X.setFiberRef($,G),R(J)}));var C0=V(3,($,Z,X)=>OD(N5(E8(Z),V5(Z,X)),()=>$,(J)=>V5(Z,J))),a0=V(3,($,Z,X)=>wZ(Z,(J)=>C0($,Z,X(J)))),L0=($,Z)=>_5($,{differ:eW(),fork:Z?.fork??R$,join:Z?.join}),FR=($)=>{let Z=dK();return _5($,{differ:Z,fork:Z.empty})},lo=($)=>{let Z=uK(eW());return _5($,{differ:Z,fork:Z.empty})},wD=($)=>{let Z=pK();return _5($,{differ:Z,fork:Z.empty})},_5=($,Z)=>{return{...d8,[oo]:no,initial:$,commit(){return E8(this)},diff:(J,G)=>Z.differ.diff(J,G),combine:(J,G)=>Z.differ.combine(J,G),patch:(J)=>(G)=>Z.differ.patch(J,G),fork:Z.fork,join:Z.join??((J,G)=>G)}},TR=($)=>_5($,{differ:eK,fork:eK.empty}),B8=_$(Symbol.for("effect/FiberRef/currentContext"),()=>wD(VZ())),i1=_$(Symbol.for("effect/FiberRef/currentSchedulingPriority"),()=>L0(0)),CD=_$(Symbol.for("effect/FiberRef/currentMaxOpsBeforeYield"),()=>L0(2048)),s1=_$(Symbol.for("effect/FiberRef/currentLogAnnotation"),()=>L0(G5())),TV=_$(Symbol.for("effect/FiberRef/currentLogLevel"),()=>L0(PV)),LD=_$(Symbol.for("effect/FiberRef/currentLogSpan"),()=>L0(t6())),MV=V(2,($,Z)=>C0($,i1,Z)),MR=V(2,($,Z)=>C0($,CD,Z)),qD=_$(Symbol.for("effect/FiberRef/currentConcurrency"),()=>L0("unbounded")),K2=_$(Symbol.for("effect/FiberRef/currentRequestBatching"),()=>L0(!0)),V2=_$(Symbol.for("effect/FiberRef/currentUnhandledErrorLogLevel"),()=>L0(j(FV))),ED=_$(Symbol.for("effect/FiberRef/versionMismatchErrorLogLevel"),()=>L0(j(_V))),zR=V(2,($,Z)=>C0($,V2,Z)),a1=_$(Symbol.for("effect/FiberRef/currentMetricLabels"),()=>lo(P6())),RR=E8(a1),tJ=_$(Symbol.for("effect/FiberRef/currentForkScopeOverride"),()=>L0(S(),{fork:()=>S(),join:($,Z)=>$})),P5=_$(Symbol.for("effect/FiberRef/currentInterruptedCause"),()=>L0(u0,{fork:()=>u0,join:($,Z)=>$})),Q2=_$(Symbol.for("effect/FiberRef/currentTracerEnabled"),()=>L0(!0)),W9=_$(Symbol.for("effect/FiberRef/currentTracerTiming"),()=>L0(!0)),JX=_$(Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),()=>L0(G5())),xD=_$(Symbol.for("effect/FiberRef/currentTracerSpanLinks"),()=>L0(w0())),O2=Symbol.for("effect/Scope"),B2=Symbol.for("effect/CloseableScope"),N2=($,Z)=>$.addFinalizer(()=>T0(Z)),D9=($,Z)=>$.addFinalizer(Z),F5=($,Z)=>$.close(Z),x8=($,Z)=>$.fork(Z),wR=($)=>{return zV(R$)($)},zV=V(2,($,Z)=>{let X=F($,i7,x0(Z));switch(X._tag){case"None":return F(l7($),xJ,c0({onNone:()=>{let J=P$(U5($)).flatMap((G)=>P$(u4(G)).map((Y)=>`#${Y}`));return new wV(J?`Interrupted by fibers: ${J.join(", ")}`:void 0)},onSome:R$}));case"Some":return X.value}}),GX=function(){class $ extends globalThis.Error{commit(){return L$(this)}toJSON(){let Z={...this};if(this.message)Z.message=this.message;if(this.cause)Z.cause=this.cause;return Z}[w$](){if(this.toString!==globalThis.Error.prototype.toString)return this.stack?`${this.toString()}
15
+ `)},W5=Symbol.for("effect/SpanAnnotation"),a7=($)=>A5($,void 0,{emptyCase:()=>[],dieCase:(Z,X)=>{return[UV(X)]},failCase:(Z,X)=>{return[UV(X)]},interruptCase:()=>[],parallelCase:(Z,X,J)=>[...X,...J],sequentialCase:(Z,X,J)=>[...X,...J]});var K5="Pending",iJ="Done";var fo="effect/Deferred",XR=Symbol.for(fo),JR={_E:($)=>$,_A:($)=>$},GR=($)=>{return{_tag:K5,joiners:$}},VV=($)=>{return{_tag:iJ,effect:$}};class t7{self;called=!1;constructor($){this.self=$}next($){return this.called?{value:$,done:!0}:(this.called=!0,{value:this.self,done:!1})}return($){return{value:$,done:!0}}throw($){throw $}[Symbol.iterator](){return new t7(this.self)}}var d1=($,Z)=>{let X=new h0("Blocked");return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X},QD=($)=>{let Z=new h0("RunBlocked");return Z.effect_instruction_i0=$,Z},u1=Symbol.for("effect/Effect");class QV{patch;op;_op=PJ;constructor($,Z){this.patch=$,this.op=Z}}class h0{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[u1]=v4;constructor($){this._op=$}[G$]($){return this===$}[Y$](){return C$(this,NJ(this))}pipe(){return n(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:y$(this.effect_instruction_i0),effect_instruction_i1:y$(this.effect_instruction_i1),effect_instruction_i2:y$(this.effect_instruction_i2)}}toString(){return k$(this.toJSON())}[w$](){return this.toJSON()}[Symbol.iterator](){return new t7(new x1(this))}}class OV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[u1]=v4;constructor($){this._op=$,this._tag=$}[G$]($){return z5($)&&$._op==="Failure"&&s(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return F(o$(this._tag),V$(a(this.effect_instruction_i0)),C$(this))}get cause(){return this.effect_instruction_i0}pipe(){return n(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return k$(this.toJSON())}[w$](){return this.toJSON()}[Symbol.iterator](){return new t7(new x1(this))}}class BV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[u1]=v4;constructor($){this._op=$,this._tag=$}[G$]($){return z5($)&&$._op==="Success"&&s(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return F(o$(this._tag),V$(a(this.effect_instruction_i0)),C$(this))}get value(){return this.effect_instruction_i0}pipe(){return n(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:y$(this.value)}}toString(){return k$(this.toJSON())}[w$](){return this.toJSON()}[Symbol.iterator](){return new t7(new x1(this))}}var p$=($)=>u($,u1),x$=($)=>{let Z=new h0(eY);return Z.effect_instruction_i0=$,Z},OD=V(3,($,Z,X)=>j0((J)=>T($,(G)=>T(V0(D$(()=>J(Z(G)))),(Y)=>{return D$(()=>X(G,Y)).pipe(B0({onFailure:(W)=>{switch(Y._tag){case X0:return E$($0(Y.effect_instruction_i0,W));case J0:return E$(W)}},onSuccess:()=>Y}))})))),i$=V(2,($,Z)=>T($,()=>z(Z))),T0=($)=>i$($,void 0),W2=function(){let $=new h0(l9);switch(arguments.length){case 2:{$.effect_instruction_i0=arguments[0],$.commit=arguments[1];break}case 3:{$.effect_instruction_i0=arguments[0],$.effect_instruction_i1=arguments[1],$.commit=arguments[2];break}case 4:{$.effect_instruction_i0=arguments[0],$.effect_instruction_i1=arguments[1],$.effect_instruction_i2=arguments[2],$.commit=arguments[3];break}default:throw Error(E1("you're not supposed to end up here"))}return $},e7=($,Z=d0)=>{let X=new h0(r9),J=void 0;return X.effect_instruction_i0=(G)=>{J=$(G)},X.effect_instruction_i1=Z,J1(X,(G)=>p$(J)?J:M$)},D2=($,Z=d0)=>D$(()=>e7($,Z)),jZ=($,Z=d0)=>{return W2($,function(){let X=void 0,J=void 0;function G(U){if(X)X(U);else if(J===void 0)J=U}let Y=new h0(r9);Y.effect_instruction_i0=(U)=>{if(X=U,J)U(J)},Y.effect_instruction_i1=Z;let W=void 0,D=void 0;if(this.effect_instruction_i0.length!==1)D=new AbortController,W=E0(()=>this.effect_instruction_i0(G,D.signal));else W=E0(()=>this.effect_instruction_i0(G));return W||D?J1(Y,(U)=>{if(D)D.abort();return W??M$}):Y})};var Z1=V(2,($,Z)=>{let X=new h0(R7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),C6=V(2,($,Z)=>s0($,{onFailure:Z,onSuccess:z})),H2=V(3,($,Z,X)=>Z1($,(J)=>{let G=R6(J);switch(G._tag){case"Left":return Z(G.left)?X(G.left):E$(J);case"Right":return E$(G.right)}})),YR=V(2,($,Z)=>Z1($,(X)=>{let J=R6(X);switch(J._tag){case"Left":return F(Z(J.left),p0(()=>E$(X)));case"Right":return E$(J.right)}})),WR=($)=>x$((Z,X)=>$(uJ(X.runtimeFlags))),KD=Symbol.for("effect/OriginalAnnotation"),DR=($)=>{if(u($,KD))return $[KD];return $},BD=($,Z)=>{if(c$(Z))return new Proxy($,{has(X,J){return J===W5||J===KD||J in X},get(X,J){if(J===W5)return Z.value;if(J===KD)return $;return X[J]}});return $},RZ=($)=>q1($)&&!(W5 in $)?x$((Z)=>E$(P0(BD($,yD(Z))))):E$(P0($)),t4=($)=>o1(()=>P0(new RV($))),L8=($)=>T(x($),RZ),a8=($)=>s0($,{onFailure:(Z)=>z(f$(Z)),onSuccess:(Z)=>z(S$(Z))}),V0=($)=>U2($,{onFailure:b$,onSuccess:Z0}),L$=($)=>q1($)&&!(W5 in $)?x$((Z)=>E$(Q8(BD($,yD(Z))))):E$(Q8($)),t8=($)=>T(x($),L$),E$=($)=>{let Z=new OV(X0);return Z.effect_instruction_i0=$,Z},o1=($)=>T(x($),E$),n1=x$(($)=>z($.id())),O8=($)=>x$((Z)=>$(Z.id())),T=V(2,($,Z)=>{let X=new h0(w7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),e4=V(2,($,Z)=>T($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(p$(J))return J;else if(E3(J))return e7((G)=>{J.then((Y)=>G(z(Y)),(Y)=>G(L$(new M5(Y,"An unknown error occurred in Effect.andThen"))))});return z(J)})),ND=($)=>{let Z=new h0("OnStep");return Z.effect_instruction_i0=$,Z},kZ=($)=>T($,R$),$9=($)=>s0($,{onFailure:z,onSuccess:L$}),U2=V(2,($,Z)=>B0($,{onFailure:(X)=>z(Z.onFailure(X)),onSuccess:(X)=>z(Z.onSuccess(X))})),B0=V(2,($,Z)=>{let X=new h0(C7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z.onFailure,X.effect_instruction_i2=Z.onSuccess,X}),s0=V(2,($,Z)=>B0($,{onFailure:(X)=>{if(l7(X).length>0)return E$(rz(X));let G=r7(X);if(G.length>0)return Z.onFailure(YK(G));return E$(X)},onSuccess:Z.onSuccess})),OZ=V(2,($,Z)=>D$(()=>{let X=P$($),J=LJ(X.length),G=0;return i$(J9({while:()=>G<X.length,body:()=>Z(X[G],G),step:(Y)=>{J[G++]=Y}}),J)})),q8=V(2,($,Z)=>D$(()=>{let X=P$($),J=0;return J9({while:()=>J<X.length,body:()=>Z(X[J],J),step:()=>{J++}})})),_D=V(($)=>typeof $[0]==="boolean"||p$($[0]),($,Z)=>p$($)?T($,(X)=>X?Z.onTrue():Z.onFalse()):$?Z.onTrue():Z.onFalse()),PD=T(n1,($)=>FD($)),FD=($)=>E$(QZ($)),r1=($)=>{let Z=new h0(j1);return Z.effect_instruction_i0=$V(M6),Z.effect_instruction_i1=()=>$,Z},HR=($)=>W2($,function(){let Z=new h0(j1);return Z.effect_instruction_i0=$V(M6),Z.effect_instruction_i1=(X)=>uJ(X)?E0(()=>this.effect_instruction_i0(r1)):E0(()=>this.effect_instruction_i0(l1)),Z}),X1=V(2,($,Z)=>j0((X)=>T(V0(X($)),(J)=>xV(Z,J)))),I=V(2,($,Z)=>T($,(X)=>x(()=>Z(X)))),A2=V(2,($,Z)=>s0($,{onFailure:(X)=>t8(()=>Z.onFailure(X)),onSuccess:(X)=>x(()=>Z.onSuccess(X))})),Z9=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=R6(X);switch(J._tag){case"Left":return t8(()=>Z(J.left));case"Right":return E$(J.right)}},onSuccess:z})),TD=V(2,($,Z)=>iZ($,(X)=>_2(X)?M$:Z(X.effect_instruction_i0))),iZ=V(2,($,Z)=>j0((X)=>B0(X($),{onFailure:(J)=>{let G=b$(J);return B0(Z(G),{onFailure:(Y)=>b$($0(J,Y)),onSuccess:()=>G})},onSuccess:(J)=>{let G=Z0(J);return j$(Z(G),G)}}))),J1=V(2,($,Z)=>iZ($,R5({onFailure:(X)=>H5(X)?T0(Z(U5(X))):M$,onSuccess:()=>M$}))),Q5=V(2,($,Z)=>po($,Z,z)),O5=($)=>NV($,R$),NV=V(2,($,Z)=>s0($,{onFailure:(X)=>RZ(Z(X)),onSuccess:z})),UR=$K,$X=x$(($,Z)=>z(Z.runtimeFlags)),z=($)=>{let Z=new BV(J0);return Z.effect_instruction_i0=$,Z},D$=($)=>{let Z=new h0(l9);return Z.commit=$,Z},x=($)=>{let Z=new h0(tY);return Z.effect_instruction_i0=$,Z},IZ=V(($)=>$.length===3||$.length===2&&!(q1($[1])&&("onlyEffect"in $[1])),($,Z)=>T($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(p$(J))return i$(J,X);else if(E3(J))return e7((G)=>{J.then((Y)=>G(z(X)),(Y)=>G(L$(new M5(Y,"An unknown error occurred in Effect.tap"))))});return z(X)})),MD=($)=>x$((Z)=>{let X=Z.getFiberRef(tJ),J=F(X,p0(()=>Z.scope()));return $(C0(tJ,j(J)))}),po=V(3,($,Z,X)=>B0($,{onFailure:(J)=>{if(l7(J).length>0)return E$(o3(oz(J)));return Z()},onSuccess:X})),l1=($)=>{let Z=new h0(j1);return Z.effect_instruction_i0=ZV(M6),Z.effect_instruction_i1=()=>$,Z},j0=($)=>W2($,function(){let Z=new h0(j1);return Z.effect_instruction_i0=ZV(M6),Z.effect_instruction_i1=(X)=>uJ(X)?E0(()=>this.effect_instruction_i0(r1)):E0(()=>this.effect_instruction_i0(l1)),Z}),M$=z(void 0);var X9=($)=>{let Z=new h0(j1);return Z.effect_instruction_i0=$,Z.effect_instruction_i1=void 0,Z},ZX=V(2,($,Z)=>T(Z,(X)=>{if(X)return F($,I(j));return z(S())})),J9=($)=>{let Z=new h0(L7);return Z.effect_instruction_i0=$.while,Z.effect_instruction_i1=$.body,Z.effect_instruction_i2=$.step,Z},aJ=($)=>D$(()=>{let Z=new h0(i9);return Z.effect_instruction_i0=$(),Z}),zD=function(){let $=arguments.length===1?arguments[0]:arguments[1].bind(arguments[0]);return aJ(()=>$(F))},XX=($,...Z)=>Object.defineProperty(Z.length===0?function(...X){return aJ(()=>$.apply(this,X))}:function(...X){let J=aJ(()=>$.apply(this,X));for(let G of Z)J=G(J,...X);return J},"length",{value:$.length,configurable:!0}),AR=V(2,($,Z)=>C0($,qD,Z)),KR=V(2,($,Z)=>C0($,K2,Z)),RD=V(2,($,Z)=>{let X=new h0(j1);return X.effect_instruction_i0=Z,X.effect_instruction_i1=()=>$,X}),VR=V(2,($,Z)=>C0($,Q2,Z)),QR=V(2,($,Z)=>C0($,W9,Z)),G1=($)=>{let Z=new h0(q7);return typeof $?.priority<"u"?MV(Z,$.priority):Z},B5=V(2,($,Z)=>T($,(X)=>I(Z,(J)=>[X,J])));var N5=V(2,($,Z)=>T($,(X)=>i$(Z,X))),j$=V(2,($,Z)=>T($,()=>Z)),sZ=V(3,($,Z,X)=>T($,(J)=>I(Z,(G)=>X(J,G)))),G9=D2(()=>{let $=setInterval(()=>{},2147483647);return x(()=>clearInterval($))}),Y9=($)=>T(n1,(Z)=>F($,vZ(Z))),vZ=V(2,($,Z)=>T($.interruptAsFork(Z),()=>$.await)),OR={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return n(this,arguments)}},BR={_tag:"Fatal",syslog:2,label:"FATAL",ordinal:50000,pipe(){return n(this,arguments)}},NR={_tag:"Error",syslog:3,label:"ERROR",ordinal:40000,pipe(){return n(this,arguments)}},_V={_tag:"Warning",syslog:4,label:"WARN",ordinal:30000,pipe(){return n(this,arguments)}},PV={_tag:"Info",syslog:6,label:"INFO",ordinal:20000,pipe(){return n(this,arguments)}},FV={_tag:"Debug",syslog:7,label:"DEBUG",ordinal:1e4,pipe(){return n(this,arguments)}},_R={_tag:"Trace",syslog:7,label:"TRACE",ordinal:0,pipe(){return n(this,arguments)}},PR={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return n(this,arguments)}};var uo="effect/FiberRef",oo=Symbol.for(uo),no={_A:($)=>$},E8=($)=>x$((Z)=>Z0(Z.getFiberRef($)));var wZ=V(2,($,Z)=>T(E8($),Z)),V5=V(2,($,Z)=>ro($,()=>[void 0,Z]));var ro=V(2,($,Z)=>x$((X)=>{let[J,G]=Z(X.getFiberRef($));return X.setFiberRef($,G),z(J)}));var C0=V(3,($,Z,X)=>OD(N5(E8(Z),V5(Z,X)),()=>$,(J)=>V5(Z,J))),a0=V(3,($,Z,X)=>wZ(Z,(J)=>C0($,Z,X(J)))),L0=($,Z)=>_5($,{differ:eW(),fork:Z?.fork??R$,join:Z?.join}),FR=($)=>{let Z=dK();return _5($,{differ:Z,fork:Z.empty})},lo=($)=>{let Z=uK(eW());return _5($,{differ:Z,fork:Z.empty})},wD=($)=>{let Z=pK();return _5($,{differ:Z,fork:Z.empty})},_5=($,Z)=>{return{...d8,[oo]:no,initial:$,commit(){return E8(this)},diff:(J,G)=>Z.differ.diff(J,G),combine:(J,G)=>Z.differ.combine(J,G),patch:(J)=>(G)=>Z.differ.patch(J,G),fork:Z.fork,join:Z.join??((J,G)=>G)}},TR=($)=>_5($,{differ:eK,fork:eK.empty}),B8=_$(Symbol.for("effect/FiberRef/currentContext"),()=>wD(VZ())),i1=_$(Symbol.for("effect/FiberRef/currentSchedulingPriority"),()=>L0(0)),CD=_$(Symbol.for("effect/FiberRef/currentMaxOpsBeforeYield"),()=>L0(2048)),s1=_$(Symbol.for("effect/FiberRef/currentLogAnnotation"),()=>L0(G5())),TV=_$(Symbol.for("effect/FiberRef/currentLogLevel"),()=>L0(PV)),LD=_$(Symbol.for("effect/FiberRef/currentLogSpan"),()=>L0(t6())),MV=V(2,($,Z)=>C0($,i1,Z)),MR=V(2,($,Z)=>C0($,CD,Z)),qD=_$(Symbol.for("effect/FiberRef/currentConcurrency"),()=>L0("unbounded")),K2=_$(Symbol.for("effect/FiberRef/currentRequestBatching"),()=>L0(!0)),V2=_$(Symbol.for("effect/FiberRef/currentUnhandledErrorLogLevel"),()=>L0(j(FV))),ED=_$(Symbol.for("effect/FiberRef/versionMismatchErrorLogLevel"),()=>L0(j(_V))),zR=V(2,($,Z)=>C0($,V2,Z)),a1=_$(Symbol.for("effect/FiberRef/currentMetricLabels"),()=>lo(P6())),RR=E8(a1),tJ=_$(Symbol.for("effect/FiberRef/currentForkScopeOverride"),()=>L0(S(),{fork:()=>S(),join:($,Z)=>$})),P5=_$(Symbol.for("effect/FiberRef/currentInterruptedCause"),()=>L0(u0,{fork:()=>u0,join:($,Z)=>$})),Q2=_$(Symbol.for("effect/FiberRef/currentTracerEnabled"),()=>L0(!0)),W9=_$(Symbol.for("effect/FiberRef/currentTracerTiming"),()=>L0(!0)),JX=_$(Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),()=>L0(G5())),xD=_$(Symbol.for("effect/FiberRef/currentTracerSpanLinks"),()=>L0(w0())),O2=Symbol.for("effect/Scope"),B2=Symbol.for("effect/CloseableScope"),N2=($,Z)=>$.addFinalizer(()=>T0(Z)),D9=($,Z)=>$.addFinalizer(Z),F5=($,Z)=>$.close(Z),x8=($,Z)=>$.fork(Z),wR=($)=>{return zV(R$)($)},zV=V(2,($,Z)=>{let X=F($,i7,x0(Z));switch(X._tag){case"None":return F(l7($),xJ,c0({onNone:()=>{let J=P$(U5($)).flatMap((G)=>P$(u4(G)).map((Y)=>`#${Y}`));return new wV(J?`Interrupted by fibers: ${J.join(", ")}`:void 0)},onSome:R$}));case"Some":return X.value}}),GX=function(){class $ extends globalThis.Error{commit(){return L$(this)}toJSON(){let Z={...this};if(this.message)Z.message=this.message;if(this.cause)Z.cause=this.cause;return Z}[w$](){if(this.toString!==globalThis.Error.prototype.toString)return this.stack?`${this.toString()}
16
16
  ${this.stack.split(`
17
17
  `).slice(1).join(`
18
- `)}`:this.toString();else if("Bun"in globalThis)return w6(Q8(this),{renderErrorCause:!0});return this}}return Object.assign($.prototype,y3),$}(),T5=($,Z)=>{class X extends GX{_tag=Z}return Object.assign(X.prototype,$),X.prototype.name=Z,X},eJ=Symbol.for("effect/Cause/errors/RuntimeException"),RV=T5({[eJ]:eJ},"RuntimeException"),CR=($)=>u($,eJ),$2=Symbol.for("effect/Cause/errors/InterruptedException"),wV=T5({[$2]:$2},"InterruptedException"),SD=($)=>u($,$2),Z2=Symbol.for("effect/Cause/errors/IllegalArgument"),e8=T5({[Z2]:Z2},"IllegalArgumentException"),LR=($)=>u($,Z2),X2=Symbol.for("effect/Cause/errors/NoSuchElement"),yZ=T5({[X2]:X2},"NoSuchElementException"),jD=($)=>u($,X2),VD=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),lH$=T5({[VD]:VD},"InvalidPubSubCapacityException"),J2=Symbol.for("effect/Cause/errors/ExceededCapacityException"),qR=T5({[J2]:J2},"ExceededCapacityException"),ER=($)=>u($,J2);var G2=Symbol.for("effect/Cause/errors/Timeout"),CV=T5({[G2]:G2},"TimeoutException"),xR=($)=>new CV(`Operation timed out after '${PK($)}'`),SR=($)=>u($,G2),Y2=Symbol.for("effect/Cause/errors/UnknownException"),M5=function(){class $ extends GX{_tag="UnknownException";error;constructor(Z,X){super(X??"An unknown error occurred",{cause:Z});this.error=Z}}return Object.assign($.prototype,{[Y2]:Y2,name:"UnknownException"}),$}(),jR=($)=>u($,Y2),z5=($)=>p$($)&&("_tag"in $)&&($._tag==="Success"||$._tag==="Failure"),kD=($)=>$._tag==="Failure",_2=($)=>$._tag==="Success",kR=($)=>{switch($._tag){case X0:return n7($.effect_instruction_i0);case J0:return!1}},LV=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z0(Z)}}),YX=($)=>LV($,void 0),IR=($)=>{switch($._tag){case X0:return j($.effect_instruction_i0);case J0:return S()}},H9=($,Z)=>io($,Z?.parallel?F0:$0),ID=($)=>b$(P0($)),vR=V(2,($,Z)=>{switch($._tag){case X0:return!1;case J0:return Z($.effect_instruction_i0)}}),U9=($)=>b$(Q8($)),b$=($)=>{let Z=new OV(X0);return Z.effect_instruction_i0=$,Z},qV=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z($.effect_instruction_i0)}}),yR=V(2,($,Z)=>{switch($._tag){case X0:return R(b$($.effect_instruction_i0));case J0:return Z($.effect_instruction_i0)}}),bR=($)=>F($,qV(R$)),gR=V(2,($,Z)=>{switch($._tag){case X0:return R(b$($.effect_instruction_i0));case J0:return V0(Z($.effect_instruction_i0))}}),hR=($)=>{switch($._tag){case"Left":return U9($.left);case"Right":return Z0($.right)}},mR=($)=>{switch($._tag){case"None":return U9(void 0);case"Some":return Z0($.value)}},fR=V(2,($,Z)=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return $.effect_instruction_i0}}),P2=($)=>b$(QZ($)),sJ=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z0(Z($.effect_instruction_i0))}}),cR=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return b$(F($.effect_instruction_i0,s7(Z)));case J0:return Z0(X($.effect_instruction_i0))}}),pR=V(2,($,Z)=>{switch($._tag){case X0:return b$(F($.effect_instruction_i0,s7(Z)));case J0:return Z0($.effect_instruction_i0)}}),dR=V(2,($,Z)=>{switch($._tag){case X0:return b$(Z($.effect_instruction_i0));case J0:return Z0($.effect_instruction_i0)}}),R5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return X($.effect_instruction_i0)}}),w5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return X($.effect_instruction_i0)}}),Z0=($)=>{let Z=new BV(J0);return Z.effect_instruction_i0=$,Z},bZ=Z0(void 0),uR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>[X,J],onFailure:$0})),oR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>X,onFailure:$0})),nR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>J,onFailure:$0})),rR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>[X,J],onFailure:F0})),lR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>X,onFailure:F0})),iR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>J,onFailure:F0})),$6=V(3,($,Z,{onFailure:X,onSuccess:J})=>{switch($._tag){case X0:switch(Z._tag){case J0:return b$($.effect_instruction_i0);case X0:return b$(X($.effect_instruction_i0,Z.effect_instruction_i0))}case J0:switch(Z._tag){case J0:return Z0(J($.effect_instruction_i0,Z.effect_instruction_i0));case X0:return b$(Z.effect_instruction_i0)}}}),io=($,Z)=>{let X=g4($);if(!D0(X))return S();return F(H0(X),b4(F(g$(X),sJ(S0)),(J,G)=>F(J,$6(G,{onSuccess:(Y,W)=>F(Y,O0(W)),onFailure:Z}))),sJ(R8),sJ((J)=>u8(J)),j)},F2=($)=>{return{...d8,[XR]:JR,state:i6(GR([])),commit(){return DZ(this)},blockingOn:$}},N8=()=>T(n1,($)=>sR($)),sR=($)=>E(()=>F2($)),DZ=($)=>D2((Z)=>{let X=s6($.state);switch(X._tag){case iJ:return Z(X.effect);case K5:return X.joiners.push(Z),so($,Z)}},$.blockingOn),EV=V(2,($,Z)=>X1(Z,$)),T2=V(2,($,Z)=>E(()=>{let X=s6($.state);switch(X._tag){case iJ:return!1;case K5:{g1($.state,VV(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z);return!0}}})),xV=V(2,($,Z)=>T2($,Z));var M2=V(2,($,Z)=>T2($,E$(Z)));var aR=($)=>T(n1,(Z)=>T2($,FD(Z)));var SV=V(2,($,Z)=>T2($,R(Z)));var WX=($,Z)=>{let X=s6($.state);if(X._tag===K5){g1($.state,VV(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z)}},so=($,Z)=>E(()=>{let X=s6($.state);if(X._tag===K5){let J=X.joiners.indexOf(Z);if(J>=0)X.joiners.splice(J,1)}}),ao=x$(($)=>Z0($.currentContext)),_8=()=>ao;var S8=($)=>T(_8(),$),aZ=V(2,($,Z)=>C0(B8,Z)($)),vD=V(2,($,Z)=>a0(B8,(X)=>r8(X,Z))($)),A9=V(2,($,Z)=>S8((X)=>aZ($,Z(X)))),jV=V(2,($,Z)=>T($,(X)=>T(Z.predicate(X),(J)=>J?R(X):Z.orElse(X)))),tR=V(2,($,Z)=>jV($,{predicate:Z.predicate,orElse:(X)=>L$(Z.orFailWith(X))})),yD=($)=>{let Z=$.currentSpan;return Z!==void 0&&Z._tag==="Span"?j(Z):S()},to={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:BigInt(0),endTime:BigInt(0),exit:bZ},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},eR=($)=>Object.assign(Object.create(to),$);var eo=z5,z2=kD,K9=_2,$n=kR,Zn=LV,Xn=YX,Jn=IR,Gn=H9,Yn=ID,Wn=vR,kV=U9,IV=b$,Dn=qV,Hn=yR,vV=bR,bD=gR,Un=hR,An=mR,Kn=fR,yV=P2,Vn=sJ,Qn=cR,On=pR,Bn=dR,bV=R5,Nn=w5,R2=Z0,_n=bZ;var Pn=uR,Fn=oR,Tn=nR,Mn=rR,zn=lR,Rn=iR,gV=$6;var o0={};M8(o0,{use:()=>xi,make:()=>Si,fork:()=>hO,extend:()=>Ei,close:()=>gO,addFinalizerExit:()=>qi,addFinalizer:()=>Li,ScopeTypeId:()=>wi,Scope:()=>bO,CloseableScopeTypeId:()=>Ci});var $w=($)=>!$;var Zw=k1,gD=d8;var Cn=ZT;class V9 extends Cn{}var Xw="Sequential",Jw="Parallel",Ln="ParallelN",Z6={_tag:Xw},w2={_tag:Jw},Gw=($)=>({_tag:Ln,parallelism:$}),hV=($)=>$._tag===Xw,mV=($)=>$._tag===Jw;var fD=Z6,cD=w2,pD=Gw;function Yw($){return new t1($)}function Ww(){return Yw(new Map)}var fV=Symbol.for("effect/FiberRefs");class t1{locals;[fV]=fV;constructor($){this.locals=$}pipe(){return n(this,arguments)}}var En=($,Z,X,J=!1)=>{let G=$,Y=Z,W=X,D=J,U=void 0;while(U===void 0)if(EZ(Y)&&EZ(W)){let A=KZ(Y)[0],Q=d6(Y),O=KZ(W)[0],P=KZ(W)[1],_=d6(W);if(A.startTimeMillis<O.startTimeMillis)W=_,D=!0;else if(A.startTimeMillis>O.startTimeMillis)Y=Q;else if(A.id<O.id)W=_,D=!0;else if(A.id>O.id)Y=Q;else U=[P,D]}else U=[G.initial,!0];return U},dD=V(3,($,Z,X)=>{let J=new Map($.locals);return X.locals.forEach((G,Y)=>{let W=G[0][1];if(!G[0][0][G$](Z)){if(!J.has(Y)){if(s(W,Y.initial))return;J.set(Y,[[Z,Y.join(Y.initial,W)]]);return}let D=J.get(Y),[U,A]=En(Y,D,G);if(A){let Q=Y.diff(U,W),O=D[0][1],P=Y.join(O,Y.patch(Q)(O));if(!s(O,P)){let _,M=D[0][0];if(M[G$](Z))_=[[M,P],...D.slice(1)];else _=[[Z,P],...D];J.set(Y,_)}}}}),new t1(J)}),pV=V(2,($,Z)=>{let X=new Map;return Dw($,X,Z),new t1(X)}),Dw=($,Z,X)=>{$.locals.forEach((J,G)=>{let Y=J[0][1],W=G.patch(G.fork)(Y);if(s(Y,W))Z.set(G,J);else Z.set(G,[[X,W],...J])})},Hw=($)=>yW($.locals.keys()),Uw=($)=>q8(Hw($),(Z)=>V5(Z,e1($,Z))),C2=V(2,($,Z)=>{let X=new Map($.locals);return X.delete(Z),new t1(X)}),uD=V(2,($,Z)=>{if(!$.locals.has(Z))return S();return j(KZ($.locals.get(Z))[1])}),e1=V(2,($,Z)=>F(uD($,Z),p0(()=>Z.initial))),DX=V(2,($,{fiberId:Z,fiberRef:X,value:J})=>{if($.locals.size===0)return new t1(new Map([[X,[[Z,J]]]]));let G=new Map($.locals);return cV(G,Z,X,J),new t1(G)}),cV=($,Z,X,J)=>{let G=$.get(X)??[],Y;if(EZ(G)){let[W,D]=KZ(G);if(W[G$](Z))if(s(D,J))return;else Y=[[Z,J],...G.slice(1)];else Y=[[Z,J],...G]}else Y=[[Z,J]];$.set(X,Y)},Aw=V(2,($,{entries:Z,forkAs:X})=>{if($.locals.size===0)return new t1(new Map(Z));let J=new Map($.locals);if(X!==void 0)Dw($,J,X);return Z.forEach(([G,Y])=>{if(Y.length===1)cV(J,Y[0][0],G,Y[0][1]);else Y.forEach(([W,D])=>{cV(J,W,G,D)})}),new t1(J)});var uV=uD,Kw=e1,Vw=dD,Qw=Uw;var Ow=Aw;var Bw=Ww;var Nw="Empty",_w="Add",Pw="Remove",Fw="Update",Tw="AndThen",Mw={_tag:Nw},L2=($,Z)=>{let X=new Map($.locals),J=Mw;for(let[G,Y]of Z.locals.entries()){let W=KZ(Y)[1],D=X.get(G);if(D!==void 0){let U=KZ(D)[1];if(!s(U,W))J=oD({_tag:Fw,fiberRef:G,patch:G.diff(U,W)})(J)}else J=oD({_tag:_w,fiberRef:G,value:W})(J);X.delete(G)}for(let[G]of X.entries())J=oD({_tag:Pw,fiberRef:G})(J);return J},oD=V(2,($,Z)=>({_tag:Tw,first:$,second:Z})),nD=V(3,($,Z,X)=>{let J=X,G=lZ($);while(EZ(G)){let Y=KZ(G),W=d6(G);switch(Y._tag){case Nw:{G=W;break}case _w:{J=DX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.value}),G=W;break}case Pw:{J=C2(J,Y.fiberRef),G=W;break}case Fw:{let D=e1(J,Y.fiberRef);J=DX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.fiberRef.patch(Y.patch)(D)}),G=W;break}case Tw:{G=S7(Y.first)(S7(Y.second)(W));break}}}return J});var C5=L2;var L5=nD;var lD="effect/FiberStatus",Q9=Symbol.for(lD),rD="Done",nV="Running",rV="Suspended",xn=o$(`${lD}-${rD}`);class ww{[Q9]=Q9;_tag=rD;[Y$](){return xn}[G$]($){return iD($)&&$._tag===rD}}class Cw{runtimeFlags;[Q9]=Q9;_tag=nV;constructor($){this.runtimeFlags=$}[Y$](){return F(a(lD),V$(a(this._tag)),V$(a(this.runtimeFlags)),C$(this))}[G$]($){return iD($)&&$._tag===nV&&this.runtimeFlags===$.runtimeFlags}}class Lw{runtimeFlags;blockingOn;[Q9]=Q9;_tag=rV;constructor($,Z){this.runtimeFlags=$,this.blockingOn=Z}[Y$](){return F(a(lD),V$(a(this._tag)),V$(a(this.runtimeFlags)),V$(a(this.blockingOn)),C$(this))}[G$]($){return iD($)&&$._tag===rV&&this.runtimeFlags===$.runtimeFlags&&s(this.blockingOn,$.blockingOn)}}var qw=new ww,Ew=($)=>new Cw($),xw=($,Z)=>new Lw($,Z),iD=($)=>u($,Q9),Sw=($)=>$._tag===rD,jw=($)=>$._tag===nV,kw=($)=>$._tag===rV;var Iw=qw,lV=Ew,vw=xw;var sD=Sw,yw=jw,bw=kw;var BZ=KT;var vn=OR,iV=BR,sV=NR,aV=_V,tV=PV,eV=FV,$Q=_R,yn=PR;var bn=F(BZ,WW(($)=>$.ordinal));var ZQ=p3(bn);var XQ=($)=>{switch($){case"All":return vn;case"Debug":return eV;case"Error":return sV;case"Fatal":return iV;case"Info":return tV;case"Trace":return $Q;case"None":return yn;case"Warning":return aV}};var gn=Symbol.for("effect/Micro"),tD=Symbol.for("effect/Micro/MicroExit");var mw=Symbol.for("effect/Micro/MicroCause");var hn={_E:R$};class YQ extends globalThis.Error{_tag;traces;[mw];constructor($,Z,X){let J=`MicroCause.${$}`,G,Y,W;if(Z instanceof globalThis.Error){G=`(${J}) ${Z.name}`,Y=Z.message;let D=Y.split(`
18
+ `)}`:this.toString();else if("Bun"in globalThis)return w6(Q8(this),{renderErrorCause:!0});return this}}return Object.assign($.prototype,y3),$}(),T5=($,Z)=>{class X extends GX{_tag=Z}return Object.assign(X.prototype,$),X.prototype.name=Z,X},eJ=Symbol.for("effect/Cause/errors/RuntimeException"),RV=T5({[eJ]:eJ},"RuntimeException"),CR=($)=>u($,eJ),$2=Symbol.for("effect/Cause/errors/InterruptedException"),wV=T5({[$2]:$2},"InterruptedException"),SD=($)=>u($,$2),Z2=Symbol.for("effect/Cause/errors/IllegalArgument"),e8=T5({[Z2]:Z2},"IllegalArgumentException"),LR=($)=>u($,Z2),X2=Symbol.for("effect/Cause/errors/NoSuchElement"),yZ=T5({[X2]:X2},"NoSuchElementException"),jD=($)=>u($,X2),VD=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),lH$=T5({[VD]:VD},"InvalidPubSubCapacityException"),J2=Symbol.for("effect/Cause/errors/ExceededCapacityException"),qR=T5({[J2]:J2},"ExceededCapacityException"),ER=($)=>u($,J2);var G2=Symbol.for("effect/Cause/errors/Timeout"),CV=T5({[G2]:G2},"TimeoutException"),xR=($)=>new CV(`Operation timed out after '${PK($)}'`),SR=($)=>u($,G2),Y2=Symbol.for("effect/Cause/errors/UnknownException"),M5=function(){class $ extends GX{_tag="UnknownException";error;constructor(Z,X){super(X??"An unknown error occurred",{cause:Z});this.error=Z}}return Object.assign($.prototype,{[Y2]:Y2,name:"UnknownException"}),$}(),jR=($)=>u($,Y2),z5=($)=>p$($)&&("_tag"in $)&&($._tag==="Success"||$._tag==="Failure"),kD=($)=>$._tag==="Failure",_2=($)=>$._tag==="Success",kR=($)=>{switch($._tag){case X0:return n7($.effect_instruction_i0);case J0:return!1}},LV=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z0(Z)}}),YX=($)=>LV($,void 0),IR=($)=>{switch($._tag){case X0:return j($.effect_instruction_i0);case J0:return S()}},H9=($,Z)=>io($,Z?.parallel?F0:$0),ID=($)=>b$(P0($)),vR=V(2,($,Z)=>{switch($._tag){case X0:return!1;case J0:return Z($.effect_instruction_i0)}}),U9=($)=>b$(Q8($)),b$=($)=>{let Z=new OV(X0);return Z.effect_instruction_i0=$,Z},qV=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z($.effect_instruction_i0)}}),yR=V(2,($,Z)=>{switch($._tag){case X0:return z(b$($.effect_instruction_i0));case J0:return Z($.effect_instruction_i0)}}),bR=($)=>F($,qV(R$)),gR=V(2,($,Z)=>{switch($._tag){case X0:return z(b$($.effect_instruction_i0));case J0:return V0(Z($.effect_instruction_i0))}}),hR=($)=>{switch($._tag){case"Left":return U9($.left);case"Right":return Z0($.right)}},mR=($)=>{switch($._tag){case"None":return U9(void 0);case"Some":return Z0($.value)}},fR=V(2,($,Z)=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return $.effect_instruction_i0}}),P2=($)=>b$(QZ($)),sJ=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z0(Z($.effect_instruction_i0))}}),cR=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return b$(F($.effect_instruction_i0,s7(Z)));case J0:return Z0(X($.effect_instruction_i0))}}),pR=V(2,($,Z)=>{switch($._tag){case X0:return b$(F($.effect_instruction_i0,s7(Z)));case J0:return Z0($.effect_instruction_i0)}}),dR=V(2,($,Z)=>{switch($._tag){case X0:return b$(Z($.effect_instruction_i0));case J0:return Z0($.effect_instruction_i0)}}),R5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return X($.effect_instruction_i0)}}),w5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return X($.effect_instruction_i0)}}),Z0=($)=>{let Z=new BV(J0);return Z.effect_instruction_i0=$,Z},bZ=Z0(void 0),uR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>[X,J],onFailure:$0})),oR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>X,onFailure:$0})),nR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>J,onFailure:$0})),rR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>[X,J],onFailure:F0})),lR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>X,onFailure:F0})),iR=V(2,($,Z)=>$6($,Z,{onSuccess:(X,J)=>J,onFailure:F0})),$6=V(3,($,Z,{onFailure:X,onSuccess:J})=>{switch($._tag){case X0:switch(Z._tag){case J0:return b$($.effect_instruction_i0);case X0:return b$(X($.effect_instruction_i0,Z.effect_instruction_i0))}case J0:switch(Z._tag){case J0:return Z0(J($.effect_instruction_i0,Z.effect_instruction_i0));case X0:return b$(Z.effect_instruction_i0)}}}),io=($,Z)=>{let X=g4($);if(!D0(X))return S();return F(H0(X),b4(F(g$(X),sJ(S0)),(J,G)=>F(J,$6(G,{onSuccess:(Y,W)=>F(Y,O0(W)),onFailure:Z}))),sJ(R8),sJ((J)=>u8(J)),j)},F2=($)=>{return{...d8,[XR]:JR,state:i6(GR([])),commit(){return DZ(this)},blockingOn:$}},N8=()=>T(n1,($)=>sR($)),sR=($)=>x(()=>F2($)),DZ=($)=>D2((Z)=>{let X=s6($.state);switch(X._tag){case iJ:return Z(X.effect);case K5:return X.joiners.push(Z),so($,Z)}},$.blockingOn),EV=V(2,($,Z)=>X1(Z,$)),T2=V(2,($,Z)=>x(()=>{let X=s6($.state);switch(X._tag){case iJ:return!1;case K5:{g1($.state,VV(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z);return!0}}})),xV=V(2,($,Z)=>T2($,Z));var M2=V(2,($,Z)=>T2($,E$(Z)));var aR=($)=>T(n1,(Z)=>T2($,FD(Z)));var SV=V(2,($,Z)=>T2($,z(Z)));var WX=($,Z)=>{let X=s6($.state);if(X._tag===K5){g1($.state,VV(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z)}},so=($,Z)=>x(()=>{let X=s6($.state);if(X._tag===K5){let J=X.joiners.indexOf(Z);if(J>=0)X.joiners.splice(J,1)}}),ao=x$(($)=>Z0($.currentContext)),_8=()=>ao;var S8=($)=>T(_8(),$),aZ=V(2,($,Z)=>C0(B8,Z)($)),vD=V(2,($,Z)=>a0(B8,(X)=>r8(X,Z))($)),A9=V(2,($,Z)=>S8((X)=>aZ($,Z(X)))),jV=V(2,($,Z)=>T($,(X)=>T(Z.predicate(X),(J)=>J?z(X):Z.orElse(X)))),tR=V(2,($,Z)=>jV($,{predicate:Z.predicate,orElse:(X)=>L$(Z.orFailWith(X))})),yD=($)=>{let Z=$.currentSpan;return Z!==void 0&&Z._tag==="Span"?j(Z):S()},to={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:BigInt(0),endTime:BigInt(0),exit:bZ},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},eR=($)=>Object.assign(Object.create(to),$);var eo=z5,z2=kD,K9=_2,$n=kR,Zn=LV,Xn=YX,Jn=IR,Gn=H9,Yn=ID,Wn=vR,kV=U9,IV=b$,Dn=qV,Hn=yR,vV=bR,bD=gR,Un=hR,An=mR,Kn=fR,yV=P2,Vn=sJ,Qn=cR,On=pR,Bn=dR,bV=R5,Nn=w5,R2=Z0,_n=bZ;var Pn=uR,Fn=oR,Tn=nR,Mn=rR,zn=lR,Rn=iR,gV=$6;var o0={};M8(o0,{use:()=>xi,make:()=>Si,fork:()=>hO,extend:()=>Ei,close:()=>gO,addFinalizerExit:()=>qi,addFinalizer:()=>Li,ScopeTypeId:()=>wi,Scope:()=>bO,CloseableScopeTypeId:()=>Ci});var $w=($)=>!$;var Zw=k1,gD=d8;var Cn=ZT;class V9 extends Cn{}var Xw="Sequential",Jw="Parallel",Ln="ParallelN",Z6={_tag:Xw},w2={_tag:Jw},Gw=($)=>({_tag:Ln,parallelism:$}),hV=($)=>$._tag===Xw,mV=($)=>$._tag===Jw;var fD=Z6,cD=w2,pD=Gw;function Yw($){return new t1($)}function Ww(){return Yw(new Map)}var fV=Symbol.for("effect/FiberRefs");class t1{locals;[fV]=fV;constructor($){this.locals=$}pipe(){return n(this,arguments)}}var En=($,Z,X,J=!1)=>{let G=$,Y=Z,W=X,D=J,U=void 0;while(U===void 0)if(EZ(Y)&&EZ(W)){let A=KZ(Y)[0],Q=d6(Y),O=KZ(W)[0],P=KZ(W)[1],N=d6(W);if(A.startTimeMillis<O.startTimeMillis)W=N,D=!0;else if(A.startTimeMillis>O.startTimeMillis)Y=Q;else if(A.id<O.id)W=N,D=!0;else if(A.id>O.id)Y=Q;else U=[P,D]}else U=[G.initial,!0];return U},dD=V(3,($,Z,X)=>{let J=new Map($.locals);return X.locals.forEach((G,Y)=>{let W=G[0][1];if(!G[0][0][G$](Z)){if(!J.has(Y)){if(s(W,Y.initial))return;J.set(Y,[[Z,Y.join(Y.initial,W)]]);return}let D=J.get(Y),[U,A]=En(Y,D,G);if(A){let Q=Y.diff(U,W),O=D[0][1],P=Y.join(O,Y.patch(Q)(O));if(!s(O,P)){let N,M=D[0][0];if(M[G$](Z))N=[[M,P],...D.slice(1)];else N=[[Z,P],...D];J.set(Y,N)}}}}),new t1(J)}),pV=V(2,($,Z)=>{let X=new Map;return Dw($,X,Z),new t1(X)}),Dw=($,Z,X)=>{$.locals.forEach((J,G)=>{let Y=J[0][1],W=G.patch(G.fork)(Y);if(s(Y,W))Z.set(G,J);else Z.set(G,[[X,W],...J])})},Hw=($)=>yW($.locals.keys()),Uw=($)=>q8(Hw($),(Z)=>V5(Z,e1($,Z))),C2=V(2,($,Z)=>{let X=new Map($.locals);return X.delete(Z),new t1(X)}),uD=V(2,($,Z)=>{if(!$.locals.has(Z))return S();return j(KZ($.locals.get(Z))[1])}),e1=V(2,($,Z)=>F(uD($,Z),p0(()=>Z.initial))),DX=V(2,($,{fiberId:Z,fiberRef:X,value:J})=>{if($.locals.size===0)return new t1(new Map([[X,[[Z,J]]]]));let G=new Map($.locals);return cV(G,Z,X,J),new t1(G)}),cV=($,Z,X,J)=>{let G=$.get(X)??[],Y;if(EZ(G)){let[W,D]=KZ(G);if(W[G$](Z))if(s(D,J))return;else Y=[[Z,J],...G.slice(1)];else Y=[[Z,J],...G]}else Y=[[Z,J]];$.set(X,Y)},Aw=V(2,($,{entries:Z,forkAs:X})=>{if($.locals.size===0)return new t1(new Map(Z));let J=new Map($.locals);if(X!==void 0)Dw($,J,X);return Z.forEach(([G,Y])=>{if(Y.length===1)cV(J,Y[0][0],G,Y[0][1]);else Y.forEach(([W,D])=>{cV(J,W,G,D)})}),new t1(J)});var uV=uD,Kw=e1,Vw=dD,Qw=Uw;var Ow=Aw;var Bw=Ww;var Nw="Empty",_w="Add",Pw="Remove",Fw="Update",Tw="AndThen",Mw={_tag:Nw},L2=($,Z)=>{let X=new Map($.locals),J=Mw;for(let[G,Y]of Z.locals.entries()){let W=KZ(Y)[1],D=X.get(G);if(D!==void 0){let U=KZ(D)[1];if(!s(U,W))J=oD({_tag:Fw,fiberRef:G,patch:G.diff(U,W)})(J)}else J=oD({_tag:_w,fiberRef:G,value:W})(J);X.delete(G)}for(let[G]of X.entries())J=oD({_tag:Pw,fiberRef:G})(J);return J},oD=V(2,($,Z)=>({_tag:Tw,first:$,second:Z})),nD=V(3,($,Z,X)=>{let J=X,G=lZ($);while(EZ(G)){let Y=KZ(G),W=d6(G);switch(Y._tag){case Nw:{G=W;break}case _w:{J=DX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.value}),G=W;break}case Pw:{J=C2(J,Y.fiberRef),G=W;break}case Fw:{let D=e1(J,Y.fiberRef);J=DX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.fiberRef.patch(Y.patch)(D)}),G=W;break}case Tw:{G=S7(Y.first)(S7(Y.second)(W));break}}}return J});var C5=L2;var L5=nD;var lD="effect/FiberStatus",Q9=Symbol.for(lD),rD="Done",nV="Running",rV="Suspended",xn=o$(`${lD}-${rD}`);class ww{[Q9]=Q9;_tag=rD;[Y$](){return xn}[G$]($){return iD($)&&$._tag===rD}}class Cw{runtimeFlags;[Q9]=Q9;_tag=nV;constructor($){this.runtimeFlags=$}[Y$](){return F(a(lD),V$(a(this._tag)),V$(a(this.runtimeFlags)),C$(this))}[G$]($){return iD($)&&$._tag===nV&&this.runtimeFlags===$.runtimeFlags}}class Lw{runtimeFlags;blockingOn;[Q9]=Q9;_tag=rV;constructor($,Z){this.runtimeFlags=$,this.blockingOn=Z}[Y$](){return F(a(lD),V$(a(this._tag)),V$(a(this.runtimeFlags)),V$(a(this.blockingOn)),C$(this))}[G$]($){return iD($)&&$._tag===rV&&this.runtimeFlags===$.runtimeFlags&&s(this.blockingOn,$.blockingOn)}}var qw=new ww,Ew=($)=>new Cw($),xw=($,Z)=>new Lw($,Z),iD=($)=>u($,Q9),Sw=($)=>$._tag===rD,jw=($)=>$._tag===nV,kw=($)=>$._tag===rV;var Iw=qw,lV=Ew,vw=xw;var sD=Sw,yw=jw,bw=kw;var BZ=KT;var vn=OR,iV=BR,sV=NR,aV=_V,tV=PV,eV=FV,$Q=_R,yn=PR;var bn=F(BZ,WW(($)=>$.ordinal));var ZQ=p3(bn);var XQ=($)=>{switch($){case"All":return vn;case"Debug":return eV;case"Error":return sV;case"Fatal":return iV;case"Info":return tV;case"Trace":return $Q;case"None":return yn;case"Warning":return aV}};var gn=Symbol.for("effect/Micro"),tD=Symbol.for("effect/Micro/MicroExit");var mw=Symbol.for("effect/Micro/MicroCause");var hn={_E:R$};class YQ extends globalThis.Error{_tag;traces;[mw];constructor($,Z,X){let J=`MicroCause.${$}`,G,Y,W;if(Z instanceof globalThis.Error){G=`(${J}) ${Z.name}`,Y=Z.message;let D=Y.split(`
19
19
  `).length;W=Z.stack?`(${J}) ${Z.stack.split(`
20
20
  `).slice(0,D+3).join(`
21
21
  `)}`:`${G}: ${Y}`}else G=J,Y=S1(Z,0),W=`${G}: ${Y}`;if(X.length>0)W+=`
22
22
  ${X.join(`
23
- `)}`;super(Y);this._tag=$,this.traces=X,this[mw]=hn,this.name=G,this.stack=W}pipe(){return n(this,arguments)}toString(){return this.stack}[w$](){return this.stack}}class pw extends YQ{defect;constructor($,Z=[]){super("Die",$,Z);this.defect=$}}var mn=($,Z=[])=>new pw($,Z);class dw extends YQ{constructor($=[]){super("Interrupt","interrupted",$)}}var fn=($=[])=>new dw($);var cn=($)=>$._tag==="Interrupt";var fw=Symbol.for("effect/Micro/MicroFiber"),pn={_A:R$,_E:R$};class uw{context;interruptible;[fw];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor($,Z=!0){this.context=$,this.interruptible=Z,this[fw]=pn}getRef($){return oT(this.context,$)}addObserver($){if(this._exit)return $(this._exit),MZ;return this._observers.push($),()=>{let Z=this._observers.indexOf($);if(Z>=0)this._observers.splice(Z,1)}}_interrupted=!1;unsafeInterrupt(){if(this._exit)return;if(this._interrupted=!0,this.interruptible)this.evaluate(AQ)}unsafePoll(){return this._exit}evaluate($){if(this._exit)return;else if(this._yielded!==void 0){let J=this._yielded;this._yielded=void 0,J()}let Z=this.runLoop($);if(Z===aD)return;let X=cw.interruptChildren&&cw.interruptChildren(this);if(X!==void 0)return this.evaluate($H(X,()=>Z));this._exit=Z;for(let J=0;J<this._observers.length;J++)this._observers[J](Z);this._observers.length=0}runLoop($){let Z=!1,X=$;this.currentOpCount=0;try{while(!0){if(this.currentOpCount++,!Z&&this.getRef(XH).shouldYield(this)){Z=!0;let J=X;X=$H(rn,()=>J)}if(X=X[JQ](this),X===aD){let J=this._yielded;if(tD in J)return this._yielded=void 0,J;return aD}}}catch(J){if(!u(X,JQ))return GQ(`MicroFiber.runLoop: Not a valid effect: ${String(X)}`);return GQ(J)}}getCont($){while(!0){let Z=this._stack.pop();if(!Z)return;let X=Z[eD]&&Z[eD](this);if(X)return{[$]:X};if(Z[$])return Z}}_yielded=void 0;yieldWith($){return this._yielded=$,aD}children(){return this._children??=new Set}}var cw=_$("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var ow=Symbol.for("effect/Micro/identifier"),HZ=Symbol.for("effect/Micro/args"),JQ=Symbol.for("effect/Micro/evaluate"),UX=Symbol.for("effect/Micro/successCont"),HX=Symbol.for("effect/Micro/failureCont"),eD=Symbol.for("effect/Micro/ensureCont"),aD=Symbol.for("effect/Micro/Yield"),dn={_A:R$,_E:R$,_R:R$},un={...Zw,_op:"Micro",[gn]:dn,pipe(){return n(this,arguments)},[Symbol.iterator](){return new d9(new x1(this))},toJSON(){return{_id:"Micro",op:this[ow],...HZ in this?{args:this[HZ]}:void 0}},toString(){return k$(this)},[w$](){return k$(this)}};function on($){return GQ("Micro.evaluate: Not implemented")}var ZH=($)=>({...un,[ow]:$.op,[JQ]:$.eval??on,[UX]:$.contA,[HX]:$.contE,[eD]:$.ensure}),WQ=($)=>{let Z=ZH($);return function(){let X=Object.create(Z);return X[HZ]=$.single===!1?arguments:arguments[0],X}},nw=($)=>{let Z={...ZH($),[tD]:tD,_tag:$.op,get[$.prop](){return this[HZ]},toJSON(){return{_id:"MicroExit",_tag:$.op,[$.prop]:this[HZ]}},[G$](X){return an(X)&&X._tag===$.op&&s(this[HZ],X[HZ])},[Y$](){return C$(this,V$(o$($.op))(a(this[HZ])))}};return function(X){let J=Object.create(Z);return J[HZ]=X,J[UX]=void 0,J[HX]=void 0,J[eD]=void 0,J}},DQ=nw({op:"Success",prop:"value",eval($){let Z=$.getCont(UX);return Z?Z[UX](this[HZ],$):$.yieldWith(this)}}),rw=nw({op:"Failure",prop:"cause",eval($){let Z=$.getCont(HX);while(cn(this[HZ])&&Z&&$.interruptible)Z=$.getCont(HX);return Z?Z[HX](this[HZ],$):$.yieldWith(this)}});var nn=WQ({op:"Yield",eval($){let Z=!1;return $.getRef(XH).scheduleTask(()=>{if(Z)return;$.evaluate(tn)},this[HZ]??0),$.yieldWith(()=>{Z=!0})}}),rn=nn(0);var ln=DQ(void 0);var HQ=WQ({op:"WithMicroFiber",eval($){return this[HZ]($)}});var $H=V(2,($,Z)=>{let X=Object.create(sn);return X[HZ]=$,X[UX]=Z,X}),sn=ZH({op:"OnSuccess",eval($){return $._stack.push(this),this[HZ]}});var an=($)=>u($,tD),lw=DQ,UQ=rw,AQ=UQ(fn());var GQ=($)=>UQ(mn($));var tn=lw(void 0);var en="setImmediate"in globalThis?globalThis.setImmediate:($)=>setTimeout($,0);class KQ{tasks=[];running=!1;scheduleTask($,Z){if(this.tasks.push($),!this.running)this.running=!0,en(this.afterScheduled)}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let $=this.tasks;this.tasks=[];for(let Z=0,X=$.length;Z<X;Z++)$[Z]()}shouldYield($){return $.currentOpCount>=$.getRef(sw)}flush(){while(this.tasks.length>0)this.runTasks()}}var $r=V(2,($,Z)=>HQ((X)=>{let J=X.context;return X.context=Z(J),Jr($,()=>{return X.context=J,ln})}));var iw=V(2,($,Z)=>$r($,r8(Z)));class sw extends n6()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class XH extends n6()("effect/Micro/currentScheduler",{defaultValue:()=>new KQ}){}var Zr=V(2,($,Z)=>{let X=Object.create(Xr);return X[HZ]=$,X[UX]=Z.onSuccess,X[HX]=Z.onFailure,X}),Xr=ZH({op:"OnSuccessAndFailure",eval($){return $._stack.push(this),this[HZ]}});var Jr=V(2,($,Z)=>Yr((X)=>Zr(X($),{onFailure:(J)=>$H(Z(UQ(J)),()=>rw(J)),onSuccess:(J)=>$H(Z(lw(J)),()=>DQ(J))})));var aw=WQ({op:"SetInterruptible",ensure($){if($.interruptible=this[HZ],$._interrupted&&$.interruptible)return()=>AQ}}),Gr=($)=>HQ((Z)=>{if(Z.interruptible)return $;if(Z.interruptible=!0,Z._stack.push(aw(!1)),Z._interrupted)return AQ;return $}),Yr=($)=>HQ((Z)=>{if(!Z.interruptible)return $(R$);return Z.interruptible=!1,Z._stack.push(aw(!0)),$(Gr)});var tw=($,Z)=>{let X=new uw(XH.context(Z?.scheduler??new KQ));if(X.evaluate($),Z?.signal)if(Z.signal.aborted)X.unsafeInterrupt();else{let J=()=>X.unsafeInterrupt();Z.signal.addEventListener("abort",J,{once:!0}),X.addObserver(()=>Z.signal.removeEventListener("abort",J))}return X};var O9=Symbol.for("effect/Readable");var _U$={[O9]:O9,pipe(){return n(this,arguments)}};var JH=Symbol.for("effect/Ref"),VQ={_A:($)=>$};class $C extends V9{ref;commit(){return this.get}[JH]=VQ;[O9]=O9;constructor($){super();this.ref=$,this.get=E(()=>s6(this.ref))}get;modify($){return E(()=>{let Z=s6(this.ref),[X,J]=$(Z);if(Z!==J)g1(J)(this.ref);return X})}}var AX=($)=>new $C(i6($)),q5=($)=>E(()=>AX($)),CZ=($)=>$.get,Y1=V(2,($,Z)=>$.modify(()=>[void 0,Z])),ZC=V(2,($,Z)=>$.modify((X)=>[X,Z]));var QQ=V(2,($,Z)=>$.modify(Z));var E5=V(2,($,Z)=>$.modify((X)=>[void 0,Z(X)]));var YH=q5,WH=CZ,XC=ZC;var JC=E5;class DH{scheduleDrain;running=!1;tasks=new OQ;constructor($){this.scheduleDrain=$}starveInternal=($)=>{let Z=this.tasks.buckets;this.tasks.buckets=[];for(let[X,J]of Z)for(let G=0;G<J.length;G++)J[G]();if(this.tasks.buckets.length===0)this.running=!1;else this.starve($)};starve($=0){this.scheduleDrain($,this.starveInternal)}scheduleTask($,Z){if(this.tasks.scheduleTask($,Z),!this.running)this.running=!0,this.starve()}static cached($){let Z=new DH($),X=new WeakMap;return(J)=>{if(J===void 0)return Z;let G=X.get(J);if(G===void 0)G=new DH($),X.set(J,G);return G}}}class OQ{buckets=[];scheduleTask($,Z){let X=this.buckets.length,J=void 0,G=0;for(;G<X;G++)if(this.buckets[G][0]<=Z)J=this.buckets[G];else break;if(J&&J[0]===Z)J[1].push($);else if(G===X)this.buckets.push([Z,[$]]);else this.buckets.splice(G,0,[Z,[$]])}}class YC{maxNextTickBeforeTimer;getRunner=DH.cached(($,Z)=>{if($>=this.maxNextTickBeforeTimer)setTimeout(()=>Z(0),0);else Promise.resolve(void 0).then(()=>Z($+1))});constructor($){this.maxNextTickBeforeTimer=$}shouldYield($){return $.currentOpCount>$.getFiberRef(CD)?$.getFiberRef(i1):!1}scheduleTask($,Z,X){this.getRunner(X).scheduleTask($,Z)}}var WC=_$(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new YC(2048));class BQ{tasks=new OQ;deferred=!1;scheduleTask($,Z,X){if(this.deferred)WC.scheduleTask($,Z,X);else this.tasks.scheduleTask($,Z)}shouldYield($){return $.currentOpCount>$.getFiberRef(CD)?$.getFiberRef(i1):!1}flush(){while(this.tasks.buckets.length>0){let $=this.tasks.buckets;this.tasks.buckets=[];for(let[Z,X]of $)for(let J=0;J<X.length;J++)X[J]()}this.deferred=!0}}var $4=_$(Symbol.for("effect/FiberRef/currentScheduler"),()=>L0(WC)),DC=V(2,($,Z)=>C0($,$4,Z));var Dr="effect/Clock",HH=Symbol.for(Dr),tZ=WZ("effect/Clock"),Hr=2147483647,HC={unsafeSchedule($,Z){let X=zZ(Z);if(X>Hr)return JZ;let J=!1,G=setTimeout(()=>{J=!0,$()},X);return()=>{return clearTimeout(G),!J}}},UC=function(){let $=BigInt(1e6);if(typeof performance>"u"||typeof performance.now!=="function")return()=>BigInt(Date.now())*$;let Z;return()=>{if(Z===void 0)Z=BigInt(Date.now())*$-BigInt(Math.round(performance.now()*1e6));return Z+BigInt(Math.round(performance.now()*1e6))}}(),Ur=function(){let $=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!$)return UC;let Z=UC()-$.bigint();return()=>Z+$.bigint()}();class AC{[HH]=HH;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return Ur()}currentTimeMillis=E(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=E(()=>this.unsafeCurrentTimeNanos());scheduler(){return R(HC)}sleep($){return jZ((Z)=>{let X=HC.unsafeSchedule(()=>Z(M$),$);return T0(E(X))})}}var UH=()=>new AC;var AH=_$(Symbol.for("effect/FiberRef/currentRequestMap"),()=>L0(new Map));var PQ=($,Z,X,J)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return wZ(qD,(G)=>G==="unbounded"?X():G>1?J(G):Z());default:return $>1?J($):Z()}},E2=($,Z,X)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return wZ(qD,(J)=>J==="unbounded"||J>1?X():Z());default:return $>1?X():Z()}};var KC=($)=>$.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var FQ="And",TQ="Or",MQ="InvalidData",zQ="MissingData",RQ="SourceUnavailable",wQ="Unsupported";var Or="effect/ConfigError",VC=Symbol.for(Or),KX={_tag:"ConfigError",[VC]:VC},CQ=($,Z)=>{let X=Object.create(KX);return X._op=FQ,X.left=$,X.right=Z,Object.defineProperty(X,"toString",{enumerable:!1,value(){return`${this.left} and ${this.right}`}}),Object.defineProperty(X,"message",{enumerable:!1,get(){return this.toString()}}),X},LQ=($,Z)=>{let X=Object.create(KX);return X._op=TQ,X.left=$,X.right=Z,Object.defineProperty(X,"toString",{enumerable:!1,value(){return`${this.left} or ${this.right}`}}),Object.defineProperty(X,"message",{enumerable:!1,get(){return this.toString()}}),X},Br=($,Z,X={pathDelim:"."})=>{let J=Object.create(KX);return J._op=MQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Invalid data at ${F(this.path,v1(X.pathDelim))}: "${this.message}")`}}),J},Z4=($,Z,X={pathDelim:"."})=>{let J=Object.create(KX);return J._op=zQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Missing data at ${F(this.path,v1(X.pathDelim))}: "${this.message}")`}}),J},Nr=($,Z,X,J={pathDelim:"."})=>{let G=Object.create(KX);return G._op=RQ,G.path=$,G.message=Z,G.cause=X,Object.defineProperty(G,"toString",{enumerable:!1,value(){return`(Source unavailable at ${F(this.path,v1(J.pathDelim))}: "${this.message}")`}}),G},_r=($,Z,X={pathDelim:"."})=>{let J=Object.create(KX);return J._op=wQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${F(this.path,v1(X.pathDelim))}: "${this.message}")`}}),J};var B9=V(2,($,Z)=>{switch($._op){case FQ:return CQ(B9($.left,Z),B9($.right,Z));case TQ:return LQ(B9($.left,Z),B9($.right,Z));case MQ:return Br([...Z,...$.path],$.message);case zQ:return Z4([...Z,...$.path],$.message);case RQ:return Nr([...Z,...$.path],$.message,$.cause);case wQ:return _r([...Z,...$.path],$.message)}});var OC={_tag:"Empty"};var KH=V(2,($,Z)=>{let X=hJ(Z),J=$;while(gK(X)){let G=X.head;switch(G._tag){case"Empty":{X=X.tail;break}case"AndThen":{X=h1(G.first,h1(G.second,X.tail));break}case"MapName":{J=u6(J,G.f),X=X.tail;break}case"Nested":{J=S7(J,G.name),X=X.tail;break}case"Unnested":{if(F(y4(J),r3(G.name)))J=d6(J),X=X.tail;else return f$(Z4(J,`Expected ${G.name} to be in path in ConfigProvider#unnested`));break}}}return S$(J)});var BC="Constant",NC="Fail",_C="Fallback",PC="Described",FC="Lazy",TC="MapOrFail",MC="Nested",zC="Primitive",RC="Sequence",wC="HashMap",CC="ZipWith";var VH=($,Z)=>[...$,...Z],Tr="effect/ConfigProvider",LC=Symbol.for(Tr),VX=WZ("effect/ConfigProvider"),Mr="effect/ConfigProviderFlat",qC=Symbol.for(Mr),zr=($)=>({[LC]:LC,pipe(){return n(this,arguments)},...$}),Rr=($)=>({[qC]:qC,patch:$.patch,load:(Z,X,J=!0)=>$.load(Z,X,J),enumerateChildren:$.enumerateChildren}),wr=($)=>zr({load:(Z)=>T(X6($,P6(),Z,!1),(X)=>c0(y4(X),{onNone:()=>L$(Z4(P6(),`Expected a single value having structure: ${Z}`)),onSome:R})),flattened:$}),EC=($)=>{let{pathDelim:Z,seqDelim:X}=Object.assign({},{pathDelim:"_",seqDelim:","},$),J=(U)=>F(U,v1(Z)),G=(U)=>U.split(Z),Y=()=>typeof process<"u"&&("env"in process)&&typeof process.env==="object"?process.env:{};return wr(Rr({load:(U,A,Q=!0)=>{let O=J(U),P=Y(),_=O in P?j(P[O]):S();return F(_,Z9(()=>Z4(U,`Expected ${O} to exist in the process context`)),T((M)=>xr(M,U,A,X,Q)))},enumerateChildren:(U)=>E(()=>{let A=Y(),P=Object.keys(A).map((_)=>G(_.toUpperCase())).filter((_)=>{for(let M=0;M<U.length;M++){let z=F(U,s3(M)),x=_[M];if(x===void 0||z!==x)return!1}return!0}).flatMap((_)=>_.slice(U.length,U.length+1));return yW(P)}),patch:OC}))};var Cr=($,Z,X,J)=>{let G=ZK(X.length,(U)=>U>=J.length?S():j([$(U),U+1])),Y=ZK(J.length,(U)=>U>=X.length?S():j([Z(U),U+1])),W=VH(X,G),D=VH(J,Y);return[W,D]},Lr=($,Z)=>{let X=Z;if(X._tag==="Nested"){let J=$.slice();while(X._tag==="Nested")J.push(X.name),X=X.config;return J}return $},X6=($,Z,X,J)=>{let G=X;switch(G._tag){case BC:return R(lZ(G.value));case PC:return D$(()=>X6($,Z,G.config,J));case NC:return L$(Z4(Z,G.message));case _C:return F(D$(()=>X6($,Z,G.first,J)),C6((Y)=>{if(G.condition(Y))return F(X6($,Z,G.second,J),C6((W)=>L$(LQ(Y,W))));return L$(Y)}));case FC:return D$(()=>X6($,Z,G.config(),J));case TC:return D$(()=>F(X6($,Z,G.original,J),T(OZ((Y)=>F(G.mapOrFail(Y),Z9(B9(Lr(Z,G.original))))))));case MC:return D$(()=>X6($,VH(Z,lZ(G.name)),G.config,J));case zC:return F(KH(Z,$.patch),T((Y)=>F($.load(Y,G,J),T((W)=>{if(W.length===0){let D=F(xT(Y),p0(()=>"<n/a>"));return L$(Z4([],`Expected ${G.description} with name ${D}`))}return R(W)}))));case RC:return F(KH(Z,$.patch),T((Y)=>F($.enumerateChildren(Y),T(jr),T((W)=>{if(W.length===0)return D$(()=>I(X6($,Z,G.config,!0),lZ));return F(OZ(W,(D)=>X6($,LT(Z,`[${D}]`),G.config,!0)),I((D)=>{let U=KW(D);if(U.length===0)return lZ(P6());return lZ(U)}))}))));case wC:return D$(()=>F(KH(Z,$.patch),T((Y)=>F($.enumerateChildren(Y),T((W)=>{return F(W,OZ((D)=>X6($,VH(Y,lZ(D)),G.valueConfig,J)),I((D)=>{if(D.length===0)return lZ(G5());return F(Sr(D),u6((U)=>iM(e3(P$(W),U))))}))})))));case CC:return D$(()=>F(X6($,Z,G.left,J),a8,T((Y)=>F(X6($,Z,G.right,J),a8,T((W)=>{if(R0(Y)&&R0(W))return L$(CQ(Y.left,W.left));if(R0(Y)&&c6(W))return L$(Y.left);if(c6(Y)&&R0(W))return L$(W.left);if(c6(Y)&&c6(W)){let D=F(Z,v1(".")),U=qr(Z,D),[A,Q]=Cr(U,U,F(Y.right,u6(S$)),F(W.right,u6(S$)));return F(A,e3(Q),OZ(([O,P])=>F(B5(O,P),I(([_,M])=>G.zip(_,M)))))}throw Error("BUG: ConfigProvider.fromFlatLoop - please report an issue at https://github.com/Effect-TS/effect/issues")})))))}},qr=($,Z)=>(X)=>f$(Z4($,`The element at index ${X} in a sequence at path "${Z}" was missing`));var Er=($,Z)=>{return $.split(new RegExp(`\\s*${KC(Z)}\\s*`))},xr=($,Z,X,J,G)=>{if(!G)return F(X.parse($),A2({onFailure:B9(Z),onSuccess:lZ}));return F(Er($,J),OZ((Y)=>X.parse(Y.trim())),Z9(B9(Z)))},Sr=($)=>{return Object.keys($[0]).map((Z)=>$.map((X)=>X[Z]))},jr=($)=>F(OZ($,Ir),A2({onFailure:()=>P6(),onSuccess:H8(BZ)}),a8,I(s9));var kr=/^(\[(\d+)\])$/,Ir=($)=>{let Z=$.match(kr);if(Z!==null){let X=Z[2];return F(X!==void 0&&X.length>0?j(X):S(),rZ(vr))}return S()};var vr=($)=>{let Z=Number.parseInt($);return Number.isNaN(Z)?S():j(Z)};var x5={};M8(x5,{sleep:()=>NX,make:()=>cr,currentTimeNanos:()=>EQ,currentTimeMillis:()=>Y4,clockWith:()=>xQ,ClockTypeId:()=>fr,Clock:()=>SQ});var xC=Symbol.for("effect/Console"),X4=WZ("effect/Console"),SC={[xC]:xC,assert($,...Z){return E(()=>{console.assert($,...Z)})},clear:E(()=>{console.clear()}),count($){return E(()=>{console.count($)})},countReset($){return E(()=>{console.countReset($)})},debug(...$){return E(()=>{console.debug(...$)})},dir($,Z){return E(()=>{console.dir($,Z)})},dirxml(...$){return E(()=>{console.dirxml(...$)})},error(...$){return E(()=>{console.error(...$)})},group($){return $?.collapsed?E(()=>console.groupCollapsed($?.label)):E(()=>console.group($?.label))},groupEnd:E(()=>{console.groupEnd()}),info(...$){return E(()=>{console.info(...$)})},log(...$){return E(()=>{console.log(...$)})},table($,Z){return E(()=>{console.table($,Z)})},time($){return E(()=>console.time($))},timeEnd($){return E(()=>console.timeEnd($))},timeLog($,...Z){return E(()=>{console.timeLog($,...Z)})},trace(...$){return E(()=>{console.trace(...$)})},warn(...$){return E(()=>{console.warn(...$)})},unsafe:console};var br="effect/Random",x2=Symbol.for(br),J4=WZ("effect/Random");class kC{seed;[x2]=x2;PRNG;constructor($){this.seed=$,this.PRNG=new j3($)}get next(){return E(()=>this.PRNG.number())}get nextBoolean(){return I(this.next,($)=>$>0.5)}get nextInt(){return E(()=>this.PRNG.integer(Number.MAX_SAFE_INTEGER))}nextRange($,Z){return I(this.next,(X)=>(Z-$)*X+$)}nextIntBetween($,Z){return E(()=>this.PRNG.integer(Z-$)+$)}shuffle($){return IC($,(Z)=>this.nextIntBetween(0,Z))}}var IC=($,Z)=>{return D$(()=>F(E(()=>Array.from($)),T((X)=>{let J=[];for(let G=X.length;G>=2;G=G-1)J.push(G);return F(J,q8((G)=>F(Z(G),I((Y)=>gr(X,G-1,Y)))),i$(g4(X)))})))},gr=($,Z,X)=>{let J=$[Z];return $[Z]=$[X],$[X]=J,$},qQ=($)=>new kC(a($));class vC{values;[x2]=x2;index=0;constructor($){if(this.values=$,$.length===0)throw Error("Requires at least one value")}getNextValue(){let $=this.values[this.index];return this.index=(this.index+1)%this.values.length,$}get next(){return E(()=>{let $=this.getNextValue();if(typeof $==="number")return Math.max(0,Math.min(1,$));return a($)/2147483647})}get nextBoolean(){return E(()=>{let $=this.getNextValue();if(typeof $==="boolean")return $;return a($)%2===0})}get nextInt(){return E(()=>{let $=this.getNextValue();if(typeof $==="number"&&Number.isFinite($))return Math.round($);return Math.abs(a($))})}nextRange($,Z){return I(this.next,(X)=>(Z-$)*X+$)}nextIntBetween($,Z){return E(()=>{let X=this.getNextValue();if(typeof X==="number"&&Number.isFinite(X))return Math.max($,Math.min(Z-1,Math.round(X)));let J=Math.abs(a(X));return $+J%(Z-$)})}shuffle($){return IC($,(Z)=>this.nextIntBetween(0,Z))}}var yC=($)=>new vC($);var gC=Symbol.for("effect/Tracer"),hr=($)=>({[gC]:gC,...$}),G4=WZ("effect/Tracer"),gZ=WZ("effect/ParentSpan"),hC=function(){return function(X){let J="";for(let G=0;G<X;G++)J+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return J}}();class mC{name;parent;context;startTime;kind;_tag="Span";spanId;traceId="native";sampled=!0;status;attributes;events=[];links;constructor($,Z,X,J,G,Y){this.name=$,this.parent=Z,this.context=X,this.startTime=G,this.kind=Y,this.status={_tag:"Started",startTime:G},this.attributes=new Map,this.traceId=Z._tag==="Some"?Z.value.traceId:hC(32),this.spanId=hC(16),this.links=Array.from(J)}end($,Z){this.status={_tag:"Ended",endTime:$,exit:Z,startTime:this.status.startTime}}attribute($,Z){this.attributes.set($,Z)}event($,Z,X){this.events.push([$,Z,X??{}])}addLinks($){this.links.push(...$)}}var fC=hr({span:($,Z,X,J,G,Y)=>new mC($,Z,X,J,G,Y),context:($)=>$()});var j8=($)=>{if($?.captureStackTrace===!1)return $;else if($?.captureStackTrace!==void 0&&typeof $.captureStackTrace!=="boolean")return $;let Z=Error.stackTraceLimit;Error.stackTraceLimit=3;let X=Error();Error.stackTraceLimit=Z;let J=!1;return{...$,captureStackTrace:()=>{if(J!==!1)return J;if(X.stack!==void 0){let G=X.stack.split(`
24
- `);if(G[3]!==void 0)return J=G[3].trim(),J}}}},QX=n6()("effect/Tracer/DisablePropagation",{defaultValue:JZ});var mr=F(VZ(),e$(tZ,UH()),e$(X4,SC),e$(J4,qQ(Math.random())),e$(VX,EC()),e$(G4,fC)),z0=_$(Symbol.for("effect/DefaultServices/currentServices"),()=>wD(mr)),cC=($)=>{let Z=Y0($);return S2((X)=>X.sleep(Z))},QH=($)=>x$((Z)=>$(Z.currentDefaultServices)),S2=($)=>QH((Z)=>$(Z.unsafeMap.get(tZ.key))),pC=S2(($)=>$.currentTimeMillis),dC=S2(($)=>$.currentTimeNanos),uC=V(2,($,Z)=>a0(z0,e$(tZ,Z))($)),oC=V(2,($,Z)=>a0(z0,e$(VX,Z))($)),nC=($)=>QH((Z)=>$(Z.unsafeMap.get(VX.key)));var BX=($)=>QH((Z)=>$(Z.unsafeMap.get(J4.key))),rC=V(2,($,Z)=>a0(z0,e$(J4,Z))($)),lC=BX(($)=>$.next);var OH=($)=>QH((Z)=>$(Z.unsafeMap.get(G4.key))),iC=V(2,($,Z)=>a0(z0,e$(G4,Z))($));var fr=HH,cr=UH,NX=cC,Y4=pC,EQ=dC,xQ=S2,SQ=tZ;var sC=($,Z)=>({label:$,startTime:Z}),jQ=($)=>$.replace(/[\s="]/g,"_"),kQ=($)=>(Z)=>{return`${jQ(Z.label)}=${$-Z.startTime}ms`};var tC=sC;var eC=OH;var $L="effect/MetricLabel",IQ=Symbol.for($L);class ZL{key;value;[IQ]=IQ;_hash;constructor($,Z){this.key=$,this.value=Z,this._hash=o$($L+this.key+this.value)}[Y$](){return this._hash}[G$]($){return ur($)&&this.key===$.key&&this.value===$.value}pipe(){return n(this,arguments)}}var S5=($,Z)=>{return new ZL($,Z)},ur=($)=>u($,IQ);var XL=V(($)=>p$($[0]),function(){let $=arguments;return a0($[0],s1,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),_X=($)=>I($,j),JL=($)=>Z9($,j),yQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;return D$(()=>{try{return R(E0(Z))}catch(J){return L$(X?E0(()=>X(J)):new M5(J,"An unknown error occurred in Effect.try"))}})},GL=V(3,($,Z,X)=>C6($,(J)=>{if(u(J,Z)&&J[Z]===X.failure)return X.onFailure(J);return L$(J)})),YL=V(2,($,Z)=>Z1($,(X)=>{let J=e6(X,(G)=>D5(G)?j(G):S());switch(J._tag){case"None":return E$(X);case"Some":return Z(J.value.defect)}})),WL=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=Z(X);switch(J._tag){case"None":return E$(X);case"Some":return J.value}},onSuccess:R})),DL=V(2,($,Z)=>Z1($,(X)=>{let J=e6(X,(G)=>D5(G)?j(G):S());switch(J._tag){case"None":return E$(X);case"Some":{let G=Z(J.value.defect);return G._tag==="Some"?G.value:E$(X)}}})),HL=V(($)=>p$($[0]),($,...Z)=>{let X=Z[Z.length-1],J;if(Z.length===2)J=I4(Z[0]);else J=(G)=>{let Y=u(G,"_tag")?G._tag:void 0;if(!Y)return!1;for(let W=0;W<Z.length-1;W++)if(Z[W]===Y)return!0;return!1};return H2($,J,X)}),UL=V(2,($,Z)=>{let X;return H2($,(J)=>{return X??=Object.keys(Z),u(J,"_tag")&&OJ(J._tag)&&X.includes(J._tag)},(J)=>Z[J._tag](J))}),AL=($)=>U2($,{onFailure:R$,onSuccess:()=>u0}),W1=xQ,KL=W1(R),VL=V(2,($,Z)=>j$(NX(Z),$)),_H=($)=>x$((Z,X)=>$({id:Z.id(),status:X,interruptors:U5(Z.getFiberRef(P5))})),QL=_H(($)=>b1($.interruptors)>0?PD:M$),OL=_H(R),PX=($)=>v2($,PH,L2),or=($)=>v2($,B5(PH,$X),([Z,X],[J,G])=>[L2(Z,J),s8(X,G)]),BL=R({}),NL=T7(I,T),_L=F7(I),PL=P7(I),FL=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=R(!1),W=0;while((G=X.next())&&!G.done){let D=G.value,U=W++;Y=T(Y,(A)=>{if(A)return J.push(D),R(!0);return Z(D,U)})}return I(Y,()=>J)})),TL=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=R(!0),W=0;while((G=X.next())&&!G.done){let D=G.value,U=W++;Y=T(Y,(A)=>I(A?Z(D,U):R(!1),(Q)=>{if(!Q)J.push(D);return Q}))}return I(Y,()=>J)})),ML=($)=>I(_8(),$),bQ=($)=>Q5($,()=>T(G1(),()=>bQ($))),zL=V(2,($,Z)=>I(OZ($,R$),j7(Z))),RL=V(3,($,Z,X)=>j2($,Z,(J)=>L8(()=>X(J)))),wL=V(3,($,Z,X)=>j2($,Z,()=>t4(X))),j2=V(3,($,Z,X)=>T($,(J)=>Z(J)?R(J):X(J))),CL=V(3,($,Z,X)=>D$(()=>Z($)?R($):L$(X($)))),LL=V(($)=>p$($[0]),($,Z,X)=>j2($,Z,(J)=>X===void 0?L$(new yZ):t8(()=>X(J)))),qL=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=X.next();if(!J.done)return EL(X,0,Z,J.value);return R(S())})),EL=($,Z,X,J)=>T(X(J,Z),(G)=>{if(G)return R(j(J));let Y=$.next();if(!Y.done)return EL($,Z+1,X,Y.value);return R(S())}),xL=($)=>D$(()=>{let Z=g4($);if(!D0(Z))return L8(()=>new e8("Received an empty collection of effects"));return F(H0(Z),b4(g$(Z),(X,J)=>Q5(X,()=>J)))}),SL=V(2,($,Z)=>$9(Z($9($)))),k2=V(2,($,Z)=>s0($,{onFailure:(X)=>R(Z.onFailure(X)),onSuccess:(X)=>R(Z.onSuccess(X))})),jL=V(2,($,Z)=>D$(()=>kL($[Symbol.iterator](),0,Z))),kL=($,Z,X)=>{let J=$.next();return J.done?R(!0):T(X(J.value,Z),(G)=>G?kL($,Z+1,X):R(G))},gQ=($)=>{let Z=T(T($,()=>G1()),()=>Z);return Z},PH=x$(($)=>R($.getFiberRefs())),IL=($)=>T($,(Z)=>{let J=Z[Symbol.iterator]().next();if(J.done)return L$(new yZ);return R(J.value)}),FH=($)=>k2($,{onFailure:MZ,onSuccess:MZ}),vL=($)=>B0($,{onFailure:(Z)=>mQ(Z,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>M$}),yL=($)=>MH((Z,X)=>Vw(X,Z,$)),bL=($)=>k2($,{onFailure:m6,onSuccess:JZ}),gL=($)=>k2($,{onFailure:JZ,onSuccess:m6}),hQ=($,Z)=>D$(()=>{if(Z.while($))return T(Z.body($),(X)=>hQ(X,Z));return R($)}),W4=($)=>(...Z)=>{let X=D8($),J=void 0;for(let G=0,Y=Z.length;G<Y;G++){let W=Z[G];if(oJ(W)){if(J!==void 0)J=$0(J,W);else J=W;Z=[...Z.slice(0,G),...Z.slice(G+1)],G--}}if(J===void 0)J=u0;return x$((G)=>{return G.log(Z,J,X),M$})},hL=W4(),mL=W4($Q),mQ=W4(eV),fL=W4(tV),cL=W4(aV),pL=W4(sV),dL=W4(iV),uL=V(2,($,Z)=>T(Y4,(X)=>a0($,LD,lW(tC(Z,X))))),oL=E8(s1),nL=($,Z)=>Z.discard?lL($,Z.while,Z.step,Z.body):I(rL($,Z.while,Z.step,Z.body),P$),rL=($,Z,X,J)=>D$(()=>Z($)?T(J($),(G)=>I(rL(X($),Z,X,J),lW(G))):E(()=>t6())),lL=($,Z,X,J)=>D$(()=>Z($)?T(J($),()=>lL(X($),Z,X,J)):M$),iL=V(3,($,Z,X)=>D$(()=>{let J=$[Symbol.iterator](),G=[],Y=R(Z),W,D=0;while(!(W=J.next()).done){let U=D++,A=W.value;Y=T(Y,(Q)=>I(X(Q,A,U),([O,P])=>{return G.push(P),O}))}return I(Y,(U)=>[U,G])})),FX=V(2,($,Z)=>B0($,{onFailure:(X)=>o1(()=>Z(X)),onSuccess:R})),TH=($)=>F(N8(),T((Z)=>F(or($),X1(Z),fQ,I((X)=>j$(X,F(DZ(Z),T(([J,G])=>i$(B5(j5(J[0]),X9(J[1])),G)))))))),sL=($)=>s0($,{onFailure:(Z)=>R(Z),onSuccess:R}),I2=($)=>I($,(Z)=>!Z),aL=($)=>T($,(Z)=>{switch(Z._tag){case"None":return M$;case"Some":return L$(new yZ)}}),fQ=($)=>I(YH(!0),(Z)=>T0(ZX($,XC(Z,!1)))),tL=($)=>s0($,{onFailure:()=>R(S()),onSuccess:(Z)=>R(j(Z))}),eL=V(2,($,Z)=>Q5($,()=>t8(Z))),$q=V(2,($,Z)=>Q5($,()=>E(Z))),Zq=($)=>B0($,{onFailure:(Z)=>{let X=P$(r7(Z));return X.length===0?E$(Z):L$(X)},onSuccess:R}),j5=($)=>MH((Z,X)=>F($,nD(Z,X))),Xq=($)=>$.length>=1?jZ((Z,X)=>{try{$(X).then((J)=>Z(R(J)),(J)=>Z(RZ(J)))}catch(J){Z(RZ(J))}}):jZ((Z)=>{try{$().then((X)=>Z(R(X)),(X)=>Z(RZ(X)))}catch(X){Z(RZ(X))}}),_9=V(3,($,Z,X)=>S8((J)=>aZ($,e$(J,Z,X)))),P9=V(3,($,Z,X)=>S8((J)=>T(X,(G)=>aZ($,F(J,e$(Z,G)))))),Jq=BX(R),Gq=V(3,($,Z,X)=>P$($).reduce((J,G,Y)=>T(J,(W)=>X(W,G,Y)),R(Z))),Yq=V(3,($,Z,X)=>P$($).reduceRight((J,G,Y)=>T(J,(W)=>X(G,W,Y)),R(Z))),Wq=V(3,($,Z,X)=>T(E(()=>$[Symbol.iterator]()),(J)=>Dq(J,0,Z,X.while,X.body))),Dq=($,Z,X,J,G)=>{let Y=$.next();if(!Y.done&&J(X))return T(G(X,Y.value,Z),(W)=>Dq($,Z+1,W,J,G));return R(X)},Hq=V(2,($,Z)=>D$(()=>Uq($,Z))),Uq=($,Z)=>T($,(X)=>Z<=0?R(X):j$(G1(),Uq($,Z-1))),Aq=($)=>B0($,{onFailure:L$,onSuccess:R}),Kq=($)=>D$(()=>Qw($)),k5=NX,I5=R(S()),Vq=($)=>R(j($)),v2=V(3,($,Z,X)=>T(Z,(J)=>T($,(G)=>I(Z,(Y)=>[X(J,Y),G])))),Qq=V(($)=>p$($[0]),function(){return cQ(arguments[0],typeof arguments[1]==="string"?[S5(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([$,Z])=>S5($,Z)))}),cQ=V(2,($,Z)=>a0($,a1,(X)=>_6(X,Z))),Oq=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=R(!1),W=0;while((G=X.next())&&!G.done){let D=G.value,U=W++;Y=T(Y,(A)=>{if(A)return R(!0);return J.push(D),Z(D,U)})}return I(Y,()=>J)})),Bq=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=R(!0),W=0;while((G=X.next())&&!G.done){let D=G.value,U=W++;Y=T(Y,(A)=>F(A?Z(D,U):R(!1),I((Q)=>{if(Q)J.push(D);return Q})))}return I(Y,()=>J)})),Nq=V(2,($,{onFailure:Z,onSuccess:X})=>B0($,{onFailure:(J)=>{let G=R6(J);switch(G._tag){case"Left":return j$(Z(G.left),E$(J));case"Right":return E$(J)}},onSuccess:(J)=>i$(X(J),J)})),_q=V(2,($,Z)=>Z1($,(X)=>c0(UD(X),{onNone:()=>E$(X),onSome:(J)=>j$(Z(J),E$(X))}))),pQ=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=R6(X);switch(J._tag){case"Left":return j$(Z(J.left),E$(X));case"Right":return E$(X)}},onSuccess:R})),Pq=V(3,($,Z,X)=>pQ($,(J)=>{if(I4(J,Z))return X(J);return M$})),Fq=V(2,($,Z)=>B0($,{onFailure:(X)=>j$(Z(X),E$(X)),onSuccess:R})),Tq=($)=>dQ($,EQ),dQ=V(2,($,Z)=>v2($,Z,(X,J)=>SJ(J-X))),nr=eC,Mq=nr(R),uQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;let J=(G)=>X?t8(()=>X(G)):L$(new M5(G,"An unknown error occurred in Effect.tryPromise"));if(Z.length>=1)return jZ((G,Y)=>{try{Z(Y).then((W)=>G(R(W)),(W)=>G(J(W)))}catch(W){G(J(W))}});return jZ((G)=>{try{Z().then((Y)=>G(R(Y)),(Y)=>G(J(Y)))}catch(Y){G(J(Y))}})},zq=V(2,($,Z)=>T($,(X)=>yQ({try:()=>Z.try(X),catch:Z.catch}))),Rq=V(2,($,Z)=>T($,(X)=>uQ({try:Z.try.length>=1?(J)=>Z.try(X,J):()=>Z.try(X),catch:Z.catch}))),wq=V(2,($,Z)=>D$(()=>Z()?I5:_X($))),Cq=V(2,($,Z)=>T(Z,(X)=>X?I5:_X($))),Lq=($)=>FX($,AD),MH=($)=>x$((Z)=>{return Z.setFiberRefs($(Z.id(),Z.getFiberRefs())),M$}),qq=V(3,($,Z,X)=>A9($,(J)=>e$(J,Z,X(n8(J,Z))))),zH=V(2,($,Z)=>D$(()=>Z()?I($,j):R(S()))),Eq=V(3,($,Z,X)=>T(E8(Z),(J)=>X(J)?I($,(G)=>[J,j(G)]):R([J,S()]))),xq=V(3,($,Z,X)=>T(WH(Z),(J)=>X(J)?I($,(G)=>[J,j(G)]):R([J,S()]))),Sq=V(2,($,Z)=>Z($)),jq=($,Z)=>(...X)=>T($,(J)=>Z(J)(...X)),kq=($,Z)=>(...X)=>I($,(J)=>Z(J)(...X)),oQ=($)=>new Proxy({},{get(Z,X,J){return(...G)=>T($,(Y)=>Y[X](...G))}}),nQ=($)=>new Proxy({},{get(Z,X,J){return T($,(G)=>p$(G[X])?G[X]:R(G[X]))}}),Iq=($)=>({functions:oQ($),constants:nQ($)}),vq=($)=>I(_8(),C8($)),rQ=($)=>T(_8(),C8($)),yq=function(){let $=arguments;return FH(T(iQ,(Z)=>E(()=>{if(typeof $[0]==="string")Z.attribute($[0],$[1]);else for(let X in $[0])Z.attribute(X,$[0][X])})))},bq=function(){let $=arguments,Z=Array.isArray($[0])?$[0]:[{_tag:"SpanLink",span:$[0],attributes:$[1]??{}}];return FH(T(lQ,(X)=>E(()=>X.addLinks(Z))))},gq=V(($)=>p$($[0]),function(){let $=arguments;return a0($[0],JX,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),hq=rQ(gZ),lQ=T(_8(),($)=>{let Z=$.unsafeMap.get(gZ.key);return Z!==void 0&&Z._tag==="Span"?R(Z):L$(new yZ)}),iQ=T(_8(),($)=>{let Z=y2(C8($,gZ));return Z._tag==="Some"&&Z.value._tag==="Span"?R(Z.value):L$(new yZ)}),mq=V(($)=>p$($[0]),($,Z,X)=>a0($,xD,I7({_tag:"SpanLink",span:Z,attributes:X??{}}))),fq=BigInt(0),y2=rZ(($)=>l0($.context,QX)?$._tag==="Span"?y2($.parent):S():j($)),RH=($,Z,X)=>{let J=!$.getFiberRef(Q2)||X.context&&l0(X.context,QX),G=$.getFiberRef(B8),Y=X.parent?j(X.parent):X.root?S():y2(C8(G,gZ)),W;if(J)W=eR({name:Z,parent:Y,context:e$(X.context??VZ(),QX,!0)});else{let D=$.getFiberRef(z0),U=l0(D,G4),A=l0(D,SQ),Q=$.getFiberRef(W9),O=$.getFiberRefs(),P=uV(O,JX),_=uV(O,xD),M=_._tag==="Some"?X.links!==void 0?[...u8(_.value),...X.links??[]]:u8(_.value):X.links??P6();if(W=U.span(Z,Y,X.context??VZ(),M,Q?A.unsafeCurrentTimeNanos():fq,X.kind??"internal",X),P._tag==="Some")$z(P.value,(z,x)=>W.attribute(x,z));if(X.attributes!==void 0)Object.entries(X.attributes).forEach(([z,x])=>W.attribute(z,x))}if(typeof X.captureStackTrace==="function")lJ.set(W,X.captureStackTrace);return W},cq=($,Z)=>{return Z=j8(Z),x$((X)=>R(RH(X,$,Z)))},pq=E8(JX),dq=E8(xD),sQ=($,Z,X,J)=>E(()=>{if($.status._tag==="Ended")return;if(kD(Z)&&lJ.has($))$.attribute("code.stacktrace",lJ.get($)());$.end(J?X.unsafeCurrentTimeNanos():fq,Z)}),BH=($,...Z)=>{let X=j8(Z.length===1?void 0:Z[0]),J=Z[Z.length-1];return x$((G)=>{let Y=RH(G,$,X),W=G.getFiberRef(W9),D=l0(G.getFiberRef(z0),tZ);return iZ(J(Y),(U)=>sQ(Y,U,D,W))})},NH=V(2,($,Z)=>_9($,gZ,Z)),aQ=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return BH(Z,X,(G)=>NH(J,G))}return(J)=>BH(Z,X,(G)=>NH(J,G))},uq=($)=>function(){let Z=$.captureStackTrace??!1;if($.captureStackTrace!==!1){let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();Error.stackTraceLimit=X;let G=!1;Z=()=>{if(G!==!1)return G;if(J.stack)return G=J.stack.trim().split(`
23
+ `)}`;super(Y);this._tag=$,this.traces=X,this[mw]=hn,this.name=G,this.stack=W}pipe(){return n(this,arguments)}toString(){return this.stack}[w$](){return this.stack}}class pw extends YQ{defect;constructor($,Z=[]){super("Die",$,Z);this.defect=$}}var mn=($,Z=[])=>new pw($,Z);class dw extends YQ{constructor($=[]){super("Interrupt","interrupted",$)}}var fn=($=[])=>new dw($);var cn=($)=>$._tag==="Interrupt";var fw=Symbol.for("effect/Micro/MicroFiber"),pn={_A:R$,_E:R$};class uw{context;interruptible;[fw];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor($,Z=!0){this.context=$,this.interruptible=Z,this[fw]=pn}getRef($){return oT(this.context,$)}addObserver($){if(this._exit)return $(this._exit),MZ;return this._observers.push($),()=>{let Z=this._observers.indexOf($);if(Z>=0)this._observers.splice(Z,1)}}_interrupted=!1;unsafeInterrupt(){if(this._exit)return;if(this._interrupted=!0,this.interruptible)this.evaluate(AQ)}unsafePoll(){return this._exit}evaluate($){if(this._exit)return;else if(this._yielded!==void 0){let J=this._yielded;this._yielded=void 0,J()}let Z=this.runLoop($);if(Z===aD)return;let X=cw.interruptChildren&&cw.interruptChildren(this);if(X!==void 0)return this.evaluate($H(X,()=>Z));this._exit=Z;for(let J=0;J<this._observers.length;J++)this._observers[J](Z);this._observers.length=0}runLoop($){let Z=!1,X=$;this.currentOpCount=0;try{while(!0){if(this.currentOpCount++,!Z&&this.getRef(XH).shouldYield(this)){Z=!0;let J=X;X=$H(rn,()=>J)}if(X=X[JQ](this),X===aD){let J=this._yielded;if(tD in J)return this._yielded=void 0,J;return aD}}}catch(J){if(!u(X,JQ))return GQ(`MicroFiber.runLoop: Not a valid effect: ${String(X)}`);return GQ(J)}}getCont($){while(!0){let Z=this._stack.pop();if(!Z)return;let X=Z[eD]&&Z[eD](this);if(X)return{[$]:X};if(Z[$])return Z}}_yielded=void 0;yieldWith($){return this._yielded=$,aD}children(){return this._children??=new Set}}var cw=_$("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var ow=Symbol.for("effect/Micro/identifier"),HZ=Symbol.for("effect/Micro/args"),JQ=Symbol.for("effect/Micro/evaluate"),UX=Symbol.for("effect/Micro/successCont"),HX=Symbol.for("effect/Micro/failureCont"),eD=Symbol.for("effect/Micro/ensureCont"),aD=Symbol.for("effect/Micro/Yield"),dn={_A:R$,_E:R$,_R:R$},un={...Zw,_op:"Micro",[gn]:dn,pipe(){return n(this,arguments)},[Symbol.iterator](){return new d9(new x1(this))},toJSON(){return{_id:"Micro",op:this[ow],...HZ in this?{args:this[HZ]}:void 0}},toString(){return k$(this)},[w$](){return k$(this)}};function on($){return GQ("Micro.evaluate: Not implemented")}var ZH=($)=>({...un,[ow]:$.op,[JQ]:$.eval??on,[UX]:$.contA,[HX]:$.contE,[eD]:$.ensure}),WQ=($)=>{let Z=ZH($);return function(){let X=Object.create(Z);return X[HZ]=$.single===!1?arguments:arguments[0],X}},nw=($)=>{let Z={...ZH($),[tD]:tD,_tag:$.op,get[$.prop](){return this[HZ]},toJSON(){return{_id:"MicroExit",_tag:$.op,[$.prop]:this[HZ]}},[G$](X){return an(X)&&X._tag===$.op&&s(this[HZ],X[HZ])},[Y$](){return C$(this,V$(o$($.op))(a(this[HZ])))}};return function(X){let J=Object.create(Z);return J[HZ]=X,J[UX]=void 0,J[HX]=void 0,J[eD]=void 0,J}},DQ=nw({op:"Success",prop:"value",eval($){let Z=$.getCont(UX);return Z?Z[UX](this[HZ],$):$.yieldWith(this)}}),rw=nw({op:"Failure",prop:"cause",eval($){let Z=$.getCont(HX);while(cn(this[HZ])&&Z&&$.interruptible)Z=$.getCont(HX);return Z?Z[HX](this[HZ],$):$.yieldWith(this)}});var nn=WQ({op:"Yield",eval($){let Z=!1;return $.getRef(XH).scheduleTask(()=>{if(Z)return;$.evaluate(tn)},this[HZ]??0),$.yieldWith(()=>{Z=!0})}}),rn=nn(0);var ln=DQ(void 0);var HQ=WQ({op:"WithMicroFiber",eval($){return this[HZ]($)}});var $H=V(2,($,Z)=>{let X=Object.create(sn);return X[HZ]=$,X[UX]=Z,X}),sn=ZH({op:"OnSuccess",eval($){return $._stack.push(this),this[HZ]}});var an=($)=>u($,tD),lw=DQ,UQ=rw,AQ=UQ(fn());var GQ=($)=>UQ(mn($));var tn=lw(void 0);var en="setImmediate"in globalThis?globalThis.setImmediate:($)=>setTimeout($,0);class KQ{tasks=[];running=!1;scheduleTask($,Z){if(this.tasks.push($),!this.running)this.running=!0,en(this.afterScheduled)}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let $=this.tasks;this.tasks=[];for(let Z=0,X=$.length;Z<X;Z++)$[Z]()}shouldYield($){return $.currentOpCount>=$.getRef(sw)}flush(){while(this.tasks.length>0)this.runTasks()}}var $r=V(2,($,Z)=>HQ((X)=>{let J=X.context;return X.context=Z(J),Jr($,()=>{return X.context=J,ln})}));var iw=V(2,($,Z)=>$r($,r8(Z)));class sw extends n6()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class XH extends n6()("effect/Micro/currentScheduler",{defaultValue:()=>new KQ}){}var Zr=V(2,($,Z)=>{let X=Object.create(Xr);return X[HZ]=$,X[UX]=Z.onSuccess,X[HX]=Z.onFailure,X}),Xr=ZH({op:"OnSuccessAndFailure",eval($){return $._stack.push(this),this[HZ]}});var Jr=V(2,($,Z)=>Yr((X)=>Zr(X($),{onFailure:(J)=>$H(Z(UQ(J)),()=>rw(J)),onSuccess:(J)=>$H(Z(lw(J)),()=>DQ(J))})));var aw=WQ({op:"SetInterruptible",ensure($){if($.interruptible=this[HZ],$._interrupted&&$.interruptible)return()=>AQ}}),Gr=($)=>HQ((Z)=>{if(Z.interruptible)return $;if(Z.interruptible=!0,Z._stack.push(aw(!1)),Z._interrupted)return AQ;return $}),Yr=($)=>HQ((Z)=>{if(!Z.interruptible)return $(R$);return Z.interruptible=!1,Z._stack.push(aw(!0)),$(Gr)});var tw=($,Z)=>{let X=new uw(XH.context(Z?.scheduler??new KQ));if(X.evaluate($),Z?.signal)if(Z.signal.aborted)X.unsafeInterrupt();else{let J=()=>X.unsafeInterrupt();Z.signal.addEventListener("abort",J,{once:!0}),X.addObserver(()=>Z.signal.removeEventListener("abort",J))}return X};var O9=Symbol.for("effect/Readable");var _U$={[O9]:O9,pipe(){return n(this,arguments)}};var JH=Symbol.for("effect/Ref"),VQ={_A:($)=>$};class $C extends V9{ref;commit(){return this.get}[JH]=VQ;[O9]=O9;constructor($){super();this.ref=$,this.get=x(()=>s6(this.ref))}get;modify($){return x(()=>{let Z=s6(this.ref),[X,J]=$(Z);if(Z!==J)g1(J)(this.ref);return X})}}var AX=($)=>new $C(i6($)),q5=($)=>x(()=>AX($)),CZ=($)=>$.get,Y1=V(2,($,Z)=>$.modify(()=>[void 0,Z])),ZC=V(2,($,Z)=>$.modify((X)=>[X,Z]));var QQ=V(2,($,Z)=>$.modify(Z));var E5=V(2,($,Z)=>$.modify((X)=>[void 0,Z(X)]));var YH=q5,WH=CZ,XC=ZC;var JC=E5;class DH{scheduleDrain;running=!1;tasks=new OQ;constructor($){this.scheduleDrain=$}starveInternal=($)=>{let Z=this.tasks.buckets;this.tasks.buckets=[];for(let[X,J]of Z)for(let G=0;G<J.length;G++)J[G]();if(this.tasks.buckets.length===0)this.running=!1;else this.starve($)};starve($=0){this.scheduleDrain($,this.starveInternal)}scheduleTask($,Z){if(this.tasks.scheduleTask($,Z),!this.running)this.running=!0,this.starve()}static cached($){let Z=new DH($),X=new WeakMap;return(J)=>{if(J===void 0)return Z;let G=X.get(J);if(G===void 0)G=new DH($),X.set(J,G);return G}}}class OQ{buckets=[];scheduleTask($,Z){let X=this.buckets.length,J=void 0,G=0;for(;G<X;G++)if(this.buckets[G][0]<=Z)J=this.buckets[G];else break;if(J&&J[0]===Z)J[1].push($);else if(G===X)this.buckets.push([Z,[$]]);else this.buckets.splice(G,0,[Z,[$]])}}class YC{maxNextTickBeforeTimer;getRunner=DH.cached(($,Z)=>{if($>=this.maxNextTickBeforeTimer)setTimeout(()=>Z(0),0);else Promise.resolve(void 0).then(()=>Z($+1))});constructor($){this.maxNextTickBeforeTimer=$}shouldYield($){return $.currentOpCount>$.getFiberRef(CD)?$.getFiberRef(i1):!1}scheduleTask($,Z,X){this.getRunner(X).scheduleTask($,Z)}}var WC=_$(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new YC(2048));class BQ{tasks=new OQ;deferred=!1;scheduleTask($,Z,X){if(this.deferred)WC.scheduleTask($,Z,X);else this.tasks.scheduleTask($,Z)}shouldYield($){return $.currentOpCount>$.getFiberRef(CD)?$.getFiberRef(i1):!1}flush(){while(this.tasks.buckets.length>0){let $=this.tasks.buckets;this.tasks.buckets=[];for(let[Z,X]of $)for(let J=0;J<X.length;J++)X[J]()}this.deferred=!0}}var $4=_$(Symbol.for("effect/FiberRef/currentScheduler"),()=>L0(WC)),DC=V(2,($,Z)=>C0($,$4,Z));var Dr="effect/Clock",HH=Symbol.for(Dr),tZ=WZ("effect/Clock"),Hr=2147483647,HC={unsafeSchedule($,Z){let X=zZ(Z);if(X>Hr)return JZ;let J=!1,G=setTimeout(()=>{J=!0,$()},X);return()=>{return clearTimeout(G),!J}}},UC=function(){let $=BigInt(1e6);if(typeof performance>"u"||typeof performance.now!=="function")return()=>BigInt(Date.now())*$;let Z;return()=>{if(Z===void 0)Z=BigInt(Date.now())*$-BigInt(Math.round(performance.now()*1e6));return Z+BigInt(Math.round(performance.now()*1e6))}}(),Ur=function(){let $=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!$)return UC;let Z=UC()-$.bigint();return()=>Z+$.bigint()}();class AC{[HH]=HH;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return Ur()}currentTimeMillis=x(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=x(()=>this.unsafeCurrentTimeNanos());scheduler(){return z(HC)}sleep($){return jZ((Z)=>{let X=HC.unsafeSchedule(()=>Z(M$),$);return T0(x(X))})}}var UH=()=>new AC;var AH=_$(Symbol.for("effect/FiberRef/currentRequestMap"),()=>L0(new Map));var PQ=($,Z,X,J)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return wZ(qD,(G)=>G==="unbounded"?X():G>1?J(G):Z());default:return $>1?J($):Z()}},E2=($,Z,X)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return wZ(qD,(J)=>J==="unbounded"||J>1?X():Z());default:return $>1?X():Z()}};var KC=($)=>$.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var FQ="And",TQ="Or",MQ="InvalidData",zQ="MissingData",RQ="SourceUnavailable",wQ="Unsupported";var Or="effect/ConfigError",VC=Symbol.for(Or),KX={_tag:"ConfigError",[VC]:VC},CQ=($,Z)=>{let X=Object.create(KX);return X._op=FQ,X.left=$,X.right=Z,Object.defineProperty(X,"toString",{enumerable:!1,value(){return`${this.left} and ${this.right}`}}),Object.defineProperty(X,"message",{enumerable:!1,get(){return this.toString()}}),X},LQ=($,Z)=>{let X=Object.create(KX);return X._op=TQ,X.left=$,X.right=Z,Object.defineProperty(X,"toString",{enumerable:!1,value(){return`${this.left} or ${this.right}`}}),Object.defineProperty(X,"message",{enumerable:!1,get(){return this.toString()}}),X},Br=($,Z,X={pathDelim:"."})=>{let J=Object.create(KX);return J._op=MQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Invalid data at ${F(this.path,v1(X.pathDelim))}: "${this.message}")`}}),J},Z4=($,Z,X={pathDelim:"."})=>{let J=Object.create(KX);return J._op=zQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Missing data at ${F(this.path,v1(X.pathDelim))}: "${this.message}")`}}),J},Nr=($,Z,X,J={pathDelim:"."})=>{let G=Object.create(KX);return G._op=RQ,G.path=$,G.message=Z,G.cause=X,Object.defineProperty(G,"toString",{enumerable:!1,value(){return`(Source unavailable at ${F(this.path,v1(J.pathDelim))}: "${this.message}")`}}),G},_r=($,Z,X={pathDelim:"."})=>{let J=Object.create(KX);return J._op=wQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${F(this.path,v1(X.pathDelim))}: "${this.message}")`}}),J};var B9=V(2,($,Z)=>{switch($._op){case FQ:return CQ(B9($.left,Z),B9($.right,Z));case TQ:return LQ(B9($.left,Z),B9($.right,Z));case MQ:return Br([...Z,...$.path],$.message);case zQ:return Z4([...Z,...$.path],$.message);case RQ:return Nr([...Z,...$.path],$.message,$.cause);case wQ:return _r([...Z,...$.path],$.message)}});var OC={_tag:"Empty"};var KH=V(2,($,Z)=>{let X=hJ(Z),J=$;while(gK(X)){let G=X.head;switch(G._tag){case"Empty":{X=X.tail;break}case"AndThen":{X=h1(G.first,h1(G.second,X.tail));break}case"MapName":{J=u6(J,G.f),X=X.tail;break}case"Nested":{J=S7(J,G.name),X=X.tail;break}case"Unnested":{if(F(y4(J),r3(G.name)))J=d6(J),X=X.tail;else return f$(Z4(J,`Expected ${G.name} to be in path in ConfigProvider#unnested`));break}}}return S$(J)});var BC="Constant",NC="Fail",_C="Fallback",PC="Described",FC="Lazy",TC="MapOrFail",MC="Nested",zC="Primitive",RC="Sequence",wC="HashMap",CC="ZipWith";var VH=($,Z)=>[...$,...Z],Tr="effect/ConfigProvider",LC=Symbol.for(Tr),VX=WZ("effect/ConfigProvider"),Mr="effect/ConfigProviderFlat",qC=Symbol.for(Mr),zr=($)=>({[LC]:LC,pipe(){return n(this,arguments)},...$}),Rr=($)=>({[qC]:qC,patch:$.patch,load:(Z,X,J=!0)=>$.load(Z,X,J),enumerateChildren:$.enumerateChildren}),wr=($)=>zr({load:(Z)=>T(X6($,P6(),Z,!1),(X)=>c0(y4(X),{onNone:()=>L$(Z4(P6(),`Expected a single value having structure: ${Z}`)),onSome:z})),flattened:$}),EC=($)=>{let{pathDelim:Z,seqDelim:X}=Object.assign({},{pathDelim:"_",seqDelim:","},$),J=(U)=>F(U,v1(Z)),G=(U)=>U.split(Z),Y=()=>typeof process<"u"&&("env"in process)&&typeof process.env==="object"?process.env:{};return wr(Rr({load:(U,A,Q=!0)=>{let O=J(U),P=Y(),N=O in P?j(P[O]):S();return F(N,Z9(()=>Z4(U,`Expected ${O} to exist in the process context`)),T((M)=>xr(M,U,A,X,Q)))},enumerateChildren:(U)=>x(()=>{let A=Y(),P=Object.keys(A).map((N)=>G(N.toUpperCase())).filter((N)=>{for(let M=0;M<U.length;M++){let w=F(U,s3(M)),q=N[M];if(q===void 0||w!==q)return!1}return!0}).flatMap((N)=>N.slice(U.length,U.length+1));return yW(P)}),patch:OC}))};var Cr=($,Z,X,J)=>{let G=ZK(X.length,(U)=>U>=J.length?S():j([$(U),U+1])),Y=ZK(J.length,(U)=>U>=X.length?S():j([Z(U),U+1])),W=VH(X,G),D=VH(J,Y);return[W,D]},Lr=($,Z)=>{let X=Z;if(X._tag==="Nested"){let J=$.slice();while(X._tag==="Nested")J.push(X.name),X=X.config;return J}return $},X6=($,Z,X,J)=>{let G=X;switch(G._tag){case BC:return z(lZ(G.value));case PC:return D$(()=>X6($,Z,G.config,J));case NC:return L$(Z4(Z,G.message));case _C:return F(D$(()=>X6($,Z,G.first,J)),C6((Y)=>{if(G.condition(Y))return F(X6($,Z,G.second,J),C6((W)=>L$(LQ(Y,W))));return L$(Y)}));case FC:return D$(()=>X6($,Z,G.config(),J));case TC:return D$(()=>F(X6($,Z,G.original,J),T(OZ((Y)=>F(G.mapOrFail(Y),Z9(B9(Lr(Z,G.original))))))));case MC:return D$(()=>X6($,VH(Z,lZ(G.name)),G.config,J));case zC:return F(KH(Z,$.patch),T((Y)=>F($.load(Y,G,J),T((W)=>{if(W.length===0){let D=F(xT(Y),p0(()=>"<n/a>"));return L$(Z4([],`Expected ${G.description} with name ${D}`))}return z(W)}))));case RC:return F(KH(Z,$.patch),T((Y)=>F($.enumerateChildren(Y),T(jr),T((W)=>{if(W.length===0)return D$(()=>I(X6($,Z,G.config,!0),lZ));return F(OZ(W,(D)=>X6($,LT(Z,`[${D}]`),G.config,!0)),I((D)=>{let U=KW(D);if(U.length===0)return lZ(P6());return lZ(U)}))}))));case wC:return D$(()=>F(KH(Z,$.patch),T((Y)=>F($.enumerateChildren(Y),T((W)=>{return F(W,OZ((D)=>X6($,VH(Y,lZ(D)),G.valueConfig,J)),I((D)=>{if(D.length===0)return lZ(G5());return F(Sr(D),u6((U)=>iM(e3(P$(W),U))))}))})))));case CC:return D$(()=>F(X6($,Z,G.left,J),a8,T((Y)=>F(X6($,Z,G.right,J),a8,T((W)=>{if(R0(Y)&&R0(W))return L$(CQ(Y.left,W.left));if(R0(Y)&&c6(W))return L$(Y.left);if(c6(Y)&&R0(W))return L$(W.left);if(c6(Y)&&c6(W)){let D=F(Z,v1(".")),U=qr(Z,D),[A,Q]=Cr(U,U,F(Y.right,u6(S$)),F(W.right,u6(S$)));return F(A,e3(Q),OZ(([O,P])=>F(B5(O,P),I(([N,M])=>G.zip(N,M)))))}throw Error("BUG: ConfigProvider.fromFlatLoop - please report an issue at https://github.com/Effect-TS/effect/issues")})))))}},qr=($,Z)=>(X)=>f$(Z4($,`The element at index ${X} in a sequence at path "${Z}" was missing`));var Er=($,Z)=>{return $.split(new RegExp(`\\s*${KC(Z)}\\s*`))},xr=($,Z,X,J,G)=>{if(!G)return F(X.parse($),A2({onFailure:B9(Z),onSuccess:lZ}));return F(Er($,J),OZ((Y)=>X.parse(Y.trim())),Z9(B9(Z)))},Sr=($)=>{return Object.keys($[0]).map((Z)=>$.map((X)=>X[Z]))},jr=($)=>F(OZ($,Ir),A2({onFailure:()=>P6(),onSuccess:H8(BZ)}),a8,I(s9));var kr=/^(\[(\d+)\])$/,Ir=($)=>{let Z=$.match(kr);if(Z!==null){let X=Z[2];return F(X!==void 0&&X.length>0?j(X):S(),rZ(vr))}return S()};var vr=($)=>{let Z=Number.parseInt($);return Number.isNaN(Z)?S():j(Z)};var x5={};M8(x5,{sleep:()=>NX,make:()=>cr,currentTimeNanos:()=>EQ,currentTimeMillis:()=>Y4,clockWith:()=>xQ,ClockTypeId:()=>fr,Clock:()=>SQ});var xC=Symbol.for("effect/Console"),X4=WZ("effect/Console"),SC={[xC]:xC,assert($,...Z){return x(()=>{console.assert($,...Z)})},clear:x(()=>{console.clear()}),count($){return x(()=>{console.count($)})},countReset($){return x(()=>{console.countReset($)})},debug(...$){return x(()=>{console.debug(...$)})},dir($,Z){return x(()=>{console.dir($,Z)})},dirxml(...$){return x(()=>{console.dirxml(...$)})},error(...$){return x(()=>{console.error(...$)})},group($){return $?.collapsed?x(()=>console.groupCollapsed($?.label)):x(()=>console.group($?.label))},groupEnd:x(()=>{console.groupEnd()}),info(...$){return x(()=>{console.info(...$)})},log(...$){return x(()=>{console.log(...$)})},table($,Z){return x(()=>{console.table($,Z)})},time($){return x(()=>console.time($))},timeEnd($){return x(()=>console.timeEnd($))},timeLog($,...Z){return x(()=>{console.timeLog($,...Z)})},trace(...$){return x(()=>{console.trace(...$)})},warn(...$){return x(()=>{console.warn(...$)})},unsafe:console};var br="effect/Random",x2=Symbol.for(br),J4=WZ("effect/Random");class kC{seed;[x2]=x2;PRNG;constructor($){this.seed=$,this.PRNG=new j3($)}get next(){return x(()=>this.PRNG.number())}get nextBoolean(){return I(this.next,($)=>$>0.5)}get nextInt(){return x(()=>this.PRNG.integer(Number.MAX_SAFE_INTEGER))}nextRange($,Z){return I(this.next,(X)=>(Z-$)*X+$)}nextIntBetween($,Z){return x(()=>this.PRNG.integer(Z-$)+$)}shuffle($){return IC($,(Z)=>this.nextIntBetween(0,Z))}}var IC=($,Z)=>{return D$(()=>F(x(()=>Array.from($)),T((X)=>{let J=[];for(let G=X.length;G>=2;G=G-1)J.push(G);return F(J,q8((G)=>F(Z(G),I((Y)=>gr(X,G-1,Y)))),i$(g4(X)))})))},gr=($,Z,X)=>{let J=$[Z];return $[Z]=$[X],$[X]=J,$},qQ=($)=>new kC(a($));class vC{values;[x2]=x2;index=0;constructor($){if(this.values=$,$.length===0)throw Error("Requires at least one value")}getNextValue(){let $=this.values[this.index];return this.index=(this.index+1)%this.values.length,$}get next(){return x(()=>{let $=this.getNextValue();if(typeof $==="number")return Math.max(0,Math.min(1,$));return a($)/2147483647})}get nextBoolean(){return x(()=>{let $=this.getNextValue();if(typeof $==="boolean")return $;return a($)%2===0})}get nextInt(){return x(()=>{let $=this.getNextValue();if(typeof $==="number"&&Number.isFinite($))return Math.round($);return Math.abs(a($))})}nextRange($,Z){return I(this.next,(X)=>(Z-$)*X+$)}nextIntBetween($,Z){return x(()=>{let X=this.getNextValue();if(typeof X==="number"&&Number.isFinite(X))return Math.max($,Math.min(Z-1,Math.round(X)));let J=Math.abs(a(X));return $+J%(Z-$)})}shuffle($){return IC($,(Z)=>this.nextIntBetween(0,Z))}}var yC=($)=>new vC($);var gC=Symbol.for("effect/Tracer"),hr=($)=>({[gC]:gC,...$}),G4=WZ("effect/Tracer"),gZ=WZ("effect/ParentSpan"),hC=function(){return function(X){let J="";for(let G=0;G<X;G++)J+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return J}}();class mC{name;parent;context;startTime;kind;_tag="Span";spanId;traceId="native";sampled=!0;status;attributes;events=[];links;constructor($,Z,X,J,G,Y){this.name=$,this.parent=Z,this.context=X,this.startTime=G,this.kind=Y,this.status={_tag:"Started",startTime:G},this.attributes=new Map,this.traceId=Z._tag==="Some"?Z.value.traceId:hC(32),this.spanId=hC(16),this.links=Array.from(J)}end($,Z){this.status={_tag:"Ended",endTime:$,exit:Z,startTime:this.status.startTime}}attribute($,Z){this.attributes.set($,Z)}event($,Z,X){this.events.push([$,Z,X??{}])}addLinks($){this.links.push(...$)}}var fC=hr({span:($,Z,X,J,G,Y)=>new mC($,Z,X,J,G,Y),context:($)=>$()});var j8=($)=>{if($?.captureStackTrace===!1)return $;else if($?.captureStackTrace!==void 0&&typeof $.captureStackTrace!=="boolean")return $;let Z=Error.stackTraceLimit;Error.stackTraceLimit=3;let X=Error();Error.stackTraceLimit=Z;let J=!1;return{...$,captureStackTrace:()=>{if(J!==!1)return J;if(X.stack!==void 0){let G=X.stack.split(`
24
+ `);if(G[3]!==void 0)return J=G[3].trim(),J}}}},QX=n6()("effect/Tracer/DisablePropagation",{defaultValue:JZ});var mr=F(VZ(),e$(tZ,UH()),e$(X4,SC),e$(J4,qQ(Math.random())),e$(VX,EC()),e$(G4,fC)),z0=_$(Symbol.for("effect/DefaultServices/currentServices"),()=>wD(mr)),cC=($)=>{let Z=Y0($);return S2((X)=>X.sleep(Z))},QH=($)=>x$((Z)=>$(Z.currentDefaultServices)),S2=($)=>QH((Z)=>$(Z.unsafeMap.get(tZ.key))),pC=S2(($)=>$.currentTimeMillis),dC=S2(($)=>$.currentTimeNanos),uC=V(2,($,Z)=>a0(z0,e$(tZ,Z))($)),oC=V(2,($,Z)=>a0(z0,e$(VX,Z))($)),nC=($)=>QH((Z)=>$(Z.unsafeMap.get(VX.key)));var BX=($)=>QH((Z)=>$(Z.unsafeMap.get(J4.key))),rC=V(2,($,Z)=>a0(z0,e$(J4,Z))($)),lC=BX(($)=>$.next);var OH=($)=>QH((Z)=>$(Z.unsafeMap.get(G4.key))),iC=V(2,($,Z)=>a0(z0,e$(G4,Z))($));var fr=HH,cr=UH,NX=cC,Y4=pC,EQ=dC,xQ=S2,SQ=tZ;var sC=($,Z)=>({label:$,startTime:Z}),jQ=($)=>$.replace(/[\s="]/g,"_"),kQ=($)=>(Z)=>{return`${jQ(Z.label)}=${$-Z.startTime}ms`};var tC=sC;var eC=OH;var $L="effect/MetricLabel",IQ=Symbol.for($L);class ZL{key;value;[IQ]=IQ;_hash;constructor($,Z){this.key=$,this.value=Z,this._hash=o$($L+this.key+this.value)}[Y$](){return this._hash}[G$]($){return ur($)&&this.key===$.key&&this.value===$.value}pipe(){return n(this,arguments)}}var S5=($,Z)=>{return new ZL($,Z)},ur=($)=>u($,IQ);var XL=V(($)=>p$($[0]),function(){let $=arguments;return a0($[0],s1,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),_X=($)=>I($,j),JL=($)=>Z9($,j),yQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;return D$(()=>{try{return z(E0(Z))}catch(J){return L$(X?E0(()=>X(J)):new M5(J,"An unknown error occurred in Effect.try"))}})},GL=V(3,($,Z,X)=>C6($,(J)=>{if(u(J,Z)&&J[Z]===X.failure)return X.onFailure(J);return L$(J)})),YL=V(2,($,Z)=>Z1($,(X)=>{let J=e6(X,(G)=>D5(G)?j(G):S());switch(J._tag){case"None":return E$(X);case"Some":return Z(J.value.defect)}})),WL=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=Z(X);switch(J._tag){case"None":return E$(X);case"Some":return J.value}},onSuccess:z})),DL=V(2,($,Z)=>Z1($,(X)=>{let J=e6(X,(G)=>D5(G)?j(G):S());switch(J._tag){case"None":return E$(X);case"Some":{let G=Z(J.value.defect);return G._tag==="Some"?G.value:E$(X)}}})),HL=V(($)=>p$($[0]),($,...Z)=>{let X=Z[Z.length-1],J;if(Z.length===2)J=I4(Z[0]);else J=(G)=>{let Y=u(G,"_tag")?G._tag:void 0;if(!Y)return!1;for(let W=0;W<Z.length-1;W++)if(Z[W]===Y)return!0;return!1};return H2($,J,X)}),UL=V(2,($,Z)=>{let X;return H2($,(J)=>{return X??=Object.keys(Z),u(J,"_tag")&&OJ(J._tag)&&X.includes(J._tag)},(J)=>Z[J._tag](J))}),AL=($)=>U2($,{onFailure:R$,onSuccess:()=>u0}),W1=xQ,KL=W1(z),VL=V(2,($,Z)=>j$(NX(Z),$)),_H=($)=>x$((Z,X)=>$({id:Z.id(),status:X,interruptors:U5(Z.getFiberRef(P5))})),QL=_H(($)=>b1($.interruptors)>0?PD:M$),OL=_H(z),PX=($)=>v2($,PH,L2),or=($)=>v2($,B5(PH,$X),([Z,X],[J,G])=>[L2(Z,J),s8(X,G)]),BL=z({}),NL=T7(I,T),_L=F7(I),PL=P7(I),FL=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=z(!1),W=0;while((G=X.next())&&!G.done){let D=G.value,U=W++;Y=T(Y,(A)=>{if(A)return J.push(D),z(!0);return Z(D,U)})}return I(Y,()=>J)})),TL=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=z(!0),W=0;while((G=X.next())&&!G.done){let D=G.value,U=W++;Y=T(Y,(A)=>I(A?Z(D,U):z(!1),(Q)=>{if(!Q)J.push(D);return Q}))}return I(Y,()=>J)})),ML=($)=>I(_8(),$),bQ=($)=>Q5($,()=>T(G1(),()=>bQ($))),zL=V(2,($,Z)=>I(OZ($,R$),j7(Z))),RL=V(3,($,Z,X)=>j2($,Z,(J)=>L8(()=>X(J)))),wL=V(3,($,Z,X)=>j2($,Z,()=>t4(X))),j2=V(3,($,Z,X)=>T($,(J)=>Z(J)?z(J):X(J))),CL=V(3,($,Z,X)=>D$(()=>Z($)?z($):L$(X($)))),LL=V(($)=>p$($[0]),($,Z,X)=>j2($,Z,(J)=>X===void 0?L$(new yZ):t8(()=>X(J)))),qL=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=X.next();if(!J.done)return EL(X,0,Z,J.value);return z(S())})),EL=($,Z,X,J)=>T(X(J,Z),(G)=>{if(G)return z(j(J));let Y=$.next();if(!Y.done)return EL($,Z+1,X,Y.value);return z(S())}),xL=($)=>D$(()=>{let Z=g4($);if(!D0(Z))return L8(()=>new e8("Received an empty collection of effects"));return F(H0(Z),b4(g$(Z),(X,J)=>Q5(X,()=>J)))}),SL=V(2,($,Z)=>$9(Z($9($)))),k2=V(2,($,Z)=>s0($,{onFailure:(X)=>z(Z.onFailure(X)),onSuccess:(X)=>z(Z.onSuccess(X))})),jL=V(2,($,Z)=>D$(()=>kL($[Symbol.iterator](),0,Z))),kL=($,Z,X)=>{let J=$.next();return J.done?z(!0):T(X(J.value,Z),(G)=>G?kL($,Z+1,X):z(G))},gQ=($)=>{let Z=T(T($,()=>G1()),()=>Z);return Z},PH=x$(($)=>z($.getFiberRefs())),IL=($)=>T($,(Z)=>{let J=Z[Symbol.iterator]().next();if(J.done)return L$(new yZ);return z(J.value)}),FH=($)=>k2($,{onFailure:MZ,onSuccess:MZ}),vL=($)=>B0($,{onFailure:(Z)=>mQ(Z,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>M$}),yL=($)=>MH((Z,X)=>Vw(X,Z,$)),bL=($)=>k2($,{onFailure:m6,onSuccess:JZ}),gL=($)=>k2($,{onFailure:JZ,onSuccess:m6}),hQ=($,Z)=>D$(()=>{if(Z.while($))return T(Z.body($),(X)=>hQ(X,Z));return z($)}),W4=($)=>(...Z)=>{let X=D8($),J=void 0;for(let G=0,Y=Z.length;G<Y;G++){let W=Z[G];if(oJ(W)){if(J!==void 0)J=$0(J,W);else J=W;Z=[...Z.slice(0,G),...Z.slice(G+1)],G--}}if(J===void 0)J=u0;return x$((G)=>{return G.log(Z,J,X),M$})},hL=W4(),mL=W4($Q),mQ=W4(eV),fL=W4(tV),cL=W4(aV),pL=W4(sV),dL=W4(iV),uL=V(2,($,Z)=>T(Y4,(X)=>a0($,LD,lW(tC(Z,X))))),oL=E8(s1),nL=($,Z)=>Z.discard?lL($,Z.while,Z.step,Z.body):I(rL($,Z.while,Z.step,Z.body),P$),rL=($,Z,X,J)=>D$(()=>Z($)?T(J($),(G)=>I(rL(X($),Z,X,J),lW(G))):x(()=>t6())),lL=($,Z,X,J)=>D$(()=>Z($)?T(J($),()=>lL(X($),Z,X,J)):M$),iL=V(3,($,Z,X)=>D$(()=>{let J=$[Symbol.iterator](),G=[],Y=z(Z),W,D=0;while(!(W=J.next()).done){let U=D++,A=W.value;Y=T(Y,(Q)=>I(X(Q,A,U),([O,P])=>{return G.push(P),O}))}return I(Y,(U)=>[U,G])})),FX=V(2,($,Z)=>B0($,{onFailure:(X)=>o1(()=>Z(X)),onSuccess:z})),TH=($)=>F(N8(),T((Z)=>F(or($),X1(Z),fQ,I((X)=>j$(X,F(DZ(Z),T(([J,G])=>i$(B5(j5(J[0]),X9(J[1])),G)))))))),sL=($)=>s0($,{onFailure:(Z)=>z(Z),onSuccess:z}),I2=($)=>I($,(Z)=>!Z),aL=($)=>T($,(Z)=>{switch(Z._tag){case"None":return M$;case"Some":return L$(new yZ)}}),fQ=($)=>I(YH(!0),(Z)=>T0(ZX($,XC(Z,!1)))),tL=($)=>s0($,{onFailure:()=>z(S()),onSuccess:(Z)=>z(j(Z))}),eL=V(2,($,Z)=>Q5($,()=>t8(Z))),$q=V(2,($,Z)=>Q5($,()=>x(Z))),Zq=($)=>B0($,{onFailure:(Z)=>{let X=P$(r7(Z));return X.length===0?E$(Z):L$(X)},onSuccess:z}),j5=($)=>MH((Z,X)=>F($,nD(Z,X))),Xq=($)=>$.length>=1?jZ((Z,X)=>{try{$(X).then((J)=>Z(z(J)),(J)=>Z(RZ(J)))}catch(J){Z(RZ(J))}}):jZ((Z)=>{try{$().then((X)=>Z(z(X)),(X)=>Z(RZ(X)))}catch(X){Z(RZ(X))}}),_9=V(3,($,Z,X)=>S8((J)=>aZ($,e$(J,Z,X)))),P9=V(3,($,Z,X)=>S8((J)=>T(X,(G)=>aZ($,F(J,e$(Z,G)))))),Jq=BX(z),Gq=V(3,($,Z,X)=>P$($).reduce((J,G,Y)=>T(J,(W)=>X(W,G,Y)),z(Z))),Yq=V(3,($,Z,X)=>P$($).reduceRight((J,G,Y)=>T(J,(W)=>X(G,W,Y)),z(Z))),Wq=V(3,($,Z,X)=>T(x(()=>$[Symbol.iterator]()),(J)=>Dq(J,0,Z,X.while,X.body))),Dq=($,Z,X,J,G)=>{let Y=$.next();if(!Y.done&&J(X))return T(G(X,Y.value,Z),(W)=>Dq($,Z+1,W,J,G));return z(X)},Hq=V(2,($,Z)=>D$(()=>Uq($,Z))),Uq=($,Z)=>T($,(X)=>Z<=0?z(X):j$(G1(),Uq($,Z-1))),Aq=($)=>B0($,{onFailure:L$,onSuccess:z}),Kq=($)=>D$(()=>Qw($)),k5=NX,I5=z(S()),Vq=($)=>z(j($)),v2=V(3,($,Z,X)=>T(Z,(J)=>T($,(G)=>I(Z,(Y)=>[X(J,Y),G])))),Qq=V(($)=>p$($[0]),function(){return cQ(arguments[0],typeof arguments[1]==="string"?[S5(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([$,Z])=>S5($,Z)))}),cQ=V(2,($,Z)=>a0($,a1,(X)=>_6(X,Z))),Oq=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=z(!1),W=0;while((G=X.next())&&!G.done){let D=G.value,U=W++;Y=T(Y,(A)=>{if(A)return z(!0);return J.push(D),Z(D,U)})}return I(Y,()=>J)})),Bq=V(2,($,Z)=>D$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=z(!0),W=0;while((G=X.next())&&!G.done){let D=G.value,U=W++;Y=T(Y,(A)=>F(A?Z(D,U):z(!1),I((Q)=>{if(Q)J.push(D);return Q})))}return I(Y,()=>J)})),Nq=V(2,($,{onFailure:Z,onSuccess:X})=>B0($,{onFailure:(J)=>{let G=R6(J);switch(G._tag){case"Left":return j$(Z(G.left),E$(J));case"Right":return E$(J)}},onSuccess:(J)=>i$(X(J),J)})),_q=V(2,($,Z)=>Z1($,(X)=>c0(UD(X),{onNone:()=>E$(X),onSome:(J)=>j$(Z(J),E$(X))}))),pQ=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=R6(X);switch(J._tag){case"Left":return j$(Z(J.left),E$(X));case"Right":return E$(X)}},onSuccess:z})),Pq=V(3,($,Z,X)=>pQ($,(J)=>{if(I4(J,Z))return X(J);return M$})),Fq=V(2,($,Z)=>B0($,{onFailure:(X)=>j$(Z(X),E$(X)),onSuccess:z})),Tq=($)=>dQ($,EQ),dQ=V(2,($,Z)=>v2($,Z,(X,J)=>SJ(J-X))),nr=eC,Mq=nr(z),uQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;let J=(G)=>X?t8(()=>X(G)):L$(new M5(G,"An unknown error occurred in Effect.tryPromise"));if(Z.length>=1)return jZ((G,Y)=>{try{Z(Y).then((W)=>G(z(W)),(W)=>G(J(W)))}catch(W){G(J(W))}});return jZ((G)=>{try{Z().then((Y)=>G(z(Y)),(Y)=>G(J(Y)))}catch(Y){G(J(Y))}})},zq=V(2,($,Z)=>T($,(X)=>yQ({try:()=>Z.try(X),catch:Z.catch}))),Rq=V(2,($,Z)=>T($,(X)=>uQ({try:Z.try.length>=1?(J)=>Z.try(X,J):()=>Z.try(X),catch:Z.catch}))),wq=V(2,($,Z)=>D$(()=>Z()?I5:_X($))),Cq=V(2,($,Z)=>T(Z,(X)=>X?I5:_X($))),Lq=($)=>FX($,AD),MH=($)=>x$((Z)=>{return Z.setFiberRefs($(Z.id(),Z.getFiberRefs())),M$}),qq=V(3,($,Z,X)=>A9($,(J)=>e$(J,Z,X(n8(J,Z))))),zH=V(2,($,Z)=>D$(()=>Z()?I($,j):z(S()))),Eq=V(3,($,Z,X)=>T(E8(Z),(J)=>X(J)?I($,(G)=>[J,j(G)]):z([J,S()]))),xq=V(3,($,Z,X)=>T(WH(Z),(J)=>X(J)?I($,(G)=>[J,j(G)]):z([J,S()]))),Sq=V(2,($,Z)=>Z($)),jq=($,Z)=>(...X)=>T($,(J)=>Z(J)(...X)),kq=($,Z)=>(...X)=>I($,(J)=>Z(J)(...X)),oQ=($)=>new Proxy({},{get(Z,X,J){return(...G)=>T($,(Y)=>Y[X](...G))}}),nQ=($)=>new Proxy({},{get(Z,X,J){return T($,(G)=>p$(G[X])?G[X]:z(G[X]))}}),Iq=($)=>({functions:oQ($),constants:nQ($)}),vq=($)=>I(_8(),C8($)),rQ=($)=>T(_8(),C8($)),yq=function(){let $=arguments;return FH(T(iQ,(Z)=>x(()=>{if(typeof $[0]==="string")Z.attribute($[0],$[1]);else for(let X in $[0])Z.attribute(X,$[0][X])})))},bq=function(){let $=arguments,Z=Array.isArray($[0])?$[0]:[{_tag:"SpanLink",span:$[0],attributes:$[1]??{}}];return FH(T(lQ,(X)=>x(()=>X.addLinks(Z))))},gq=V(($)=>p$($[0]),function(){let $=arguments;return a0($[0],JX,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),hq=rQ(gZ),lQ=T(_8(),($)=>{let Z=$.unsafeMap.get(gZ.key);return Z!==void 0&&Z._tag==="Span"?z(Z):L$(new yZ)}),iQ=T(_8(),($)=>{let Z=y2(C8($,gZ));return Z._tag==="Some"&&Z.value._tag==="Span"?z(Z.value):L$(new yZ)}),mq=V(($)=>p$($[0]),($,Z,X)=>a0($,xD,I7({_tag:"SpanLink",span:Z,attributes:X??{}}))),fq=BigInt(0),y2=rZ(($)=>l0($.context,QX)?$._tag==="Span"?y2($.parent):S():j($)),RH=($,Z,X)=>{let J=!$.getFiberRef(Q2)||X.context&&l0(X.context,QX),G=$.getFiberRef(B8),Y=X.parent?j(X.parent):X.root?S():y2(C8(G,gZ)),W;if(J)W=eR({name:Z,parent:Y,context:e$(X.context??VZ(),QX,!0)});else{let D=$.getFiberRef(z0),U=l0(D,G4),A=l0(D,SQ),Q=$.getFiberRef(W9),O=$.getFiberRefs(),P=uV(O,JX),N=uV(O,xD),M=N._tag==="Some"?X.links!==void 0?[...u8(N.value),...X.links??[]]:u8(N.value):X.links??P6();if(W=U.span(Z,Y,X.context??VZ(),M,Q?A.unsafeCurrentTimeNanos():fq,X.kind??"internal",X),P._tag==="Some")$z(P.value,(w,q)=>W.attribute(q,w));if(X.attributes!==void 0)Object.entries(X.attributes).forEach(([w,q])=>W.attribute(w,q))}if(typeof X.captureStackTrace==="function")lJ.set(W,X.captureStackTrace);return W},cq=($,Z)=>{return Z=j8(Z),x$((X)=>z(RH(X,$,Z)))},pq=E8(JX),dq=E8(xD),sQ=($,Z,X,J)=>x(()=>{if($.status._tag==="Ended")return;if(kD(Z)&&lJ.has($))$.attribute("code.stacktrace",lJ.get($)());$.end(J?X.unsafeCurrentTimeNanos():fq,Z)}),BH=($,...Z)=>{let X=j8(Z.length===1?void 0:Z[0]),J=Z[Z.length-1];return x$((G)=>{let Y=RH(G,$,X),W=G.getFiberRef(W9),D=l0(G.getFiberRef(z0),tZ);return iZ(J(Y),(U)=>sQ(Y,U,D,W))})},NH=V(2,($,Z)=>_9($,gZ,Z)),aQ=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return BH(Z,X,(G)=>NH(J,G))}return(J)=>BH(Z,X,(G)=>NH(J,G))},uq=($)=>function(){let Z=$.captureStackTrace??!1;if($.captureStackTrace!==!1){let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();Error.stackTraceLimit=X;let G=!1;Z=()=>{if(G!==!1)return G;if(J.stack)return G=J.stack.trim().split(`
25
25
  `).slice(2).join(`
26
- `).trim(),G}}return D$(()=>{let X=typeof $.options==="function"?$.options.apply(null,arguments):$.options;return aQ(D$(()=>E0(()=>$.body.apply(this,arguments))),X.name,{...X,captureStackTrace:Z})})},oq=($)=>$==null?L$(new yZ):R($),nq=($)=>C6(I($,j),(Z)=>jD(Z)?I5:L$(Z));var tQ="InterruptSignal",eQ="Stateful",$O="Resume",ZO="YieldNow",wH=($)=>({_tag:"InterruptSignal",cause:$}),MX=($)=>({_tag:"Stateful",onFiber:$}),v5=($)=>({_tag:"Resume",effect:$}),rq=()=>({_tag:"YieldNow"});var rr="effect/FiberScope",CH=Symbol.for(rr);class iq{[CH]=CH;fiberId=d0;roots=new Set;add($,Z){this.roots.add(Z),Z.addObserver(()=>{this.roots.delete(Z)})}}class sq{fiberId;parent;[CH]=CH;constructor($,Z){this.fiberId=$,this.parent=Z}add($,Z){this.parent.tell(MX((X)=>{X.addChild(Z),Z.addObserver(()=>{X.removeChild(Z)})}))}}var aq=($)=>{return new sq($.id(),$)},L6=_$(Symbol.for("effect/FiberScope/Global"),()=>new iq);var lr="effect/Fiber",D4=Symbol.for(lr),zX={_E:($)=>$,_A:($)=>$},qH={[D4]:zX,pipe(){return n(this,arguments)}},ir="effect/Fiber",g2=Symbol.for(ir),tq=F(VT(BZ,BZ),WW(($)=>[$.id().startTimeMillis,$.id().id])),eq=($)=>u($,D4),b2=($)=>(g2 in $),EH=($)=>$.await,$E=($)=>$.children,y5=($)=>{return{...d8,commit(){return NZ(this)},...qH,id:()=>d0,await:R($),children:R([]),inheritAll:M$,poll:R(j($)),interruptAsFork:()=>M$}},xH=($)=>I($.status,(Z)=>({id:$.id(),status:Z})),ZE=($)=>OZ($,xH),XE=($)=>y5(kV($)),JO=($)=>y5(IV($)),JE=($)=>I(V0($),y5),GE=($)=>$.id(),SH=($)=>$.inheritAll,YE=($)=>y5(yV($)),WE=($)=>T(n1,(Z)=>F($,h2(Z))),h2=V(2,XX(function*($,Z){for(let X of $){if(b2(X)){X.unsafeInterruptAsFork(Z);continue}yield*X.interruptAsFork(Z)}for(let X of $){if(b2(X)&&X.unsafePoll())continue;yield*X.await}})),jH=V(2,($,Z)=>$.interruptAsFork(Z)),NZ=($)=>N5(kZ($.await),$.inheritAll),LH=V(2,($,Z)=>GO($,(X)=>E(()=>Z(X)))),GO=V(2,($,Z)=>{return{...d8,commit(){return NZ(this)},...qH,id:()=>$.id(),await:T($.await,bD(Z)),children:$.children,inheritAll:$.inheritAll,poll:T($.poll,(J)=>{switch(J._tag){case"None":return R(S());case"Some":return F(bD(J.value,Z),I(j))}}),interruptAsFork:(J)=>$.interruptAsFork(J)}}),DE=V(2,($,Z)=>I($.await,bV({onFailure:(X)=>JO(X),onSuccess:(X)=>Z(X)}))),HE=V(2,($,{onFiber:Z,onRuntimeFiber:X})=>{if(b2($))return X($);return Z($)}),sr={...d8,commit(){return NZ(this)},...qH,id:()=>d0,await:G9,children:R([]),inheritAll:G9,poll:R(S()),interruptAsFork:()=>G9},UE=sr,YO=V(2,($,Z)=>({...d8,commit(){return NZ(this)},...qH,id:()=>uW($.id(),Z.id()),await:sZ($.await,Z.await,(X,J)=>K9(X)?X:J),children:$.children,inheritAll:j$(Z.inheritAll,$.inheritAll),poll:sZ($.poll,Z.poll,(X,J)=>{switch(X._tag){case"None":return S();case"Some":return K9(X.value)?X:J}}),interruptAsFork:(X)=>F(vZ($,X),j$(F(Z,vZ(X))),T0)})),AE=V(2,($,Z)=>YO(LH($,f$),LH(Z,S$))),KE=($)=>$.poll,ar=($)=>{let Z=$>0?Math.floor:Math.ceil;return{days:Z($/86400000),hours:Z($/3600000)%24,minutes:Z($/60000)%60,seconds:Z($/1000)%60,milliseconds:Z($)%1000,microseconds:Z($*1000)%1000,nanoseconds:Z($*1e6)%1000}},tr=($)=>{if(sD($))return"Done";if(yw($))return"Running";return`Suspended(${z6($.runtimeFlags)?"interruptible":"uninterruptible"})`},VE=($)=>T(Y4,(Z)=>I(xH($),(X)=>{let J=Z-X.id.startTimeMillis,{days:G,hours:Y,milliseconds:W,minutes:D,seconds:U}=ar(J),A=(G===0?"":`${G}d`)+(G===0&&Y===0?"":`${Y}h`)+(G===0&&Y===0&&D===0?"":`${D}m`)+(G===0&&Y===0&&D===0&&U===0?"":`${U}s`)+`${W}ms`,Q=bw(X.status)?(()=>{let P=u4(X.status.blockingOn);return b1(P)>0?"waiting on "+Array.from(P).map((_)=>`${_}`).join(", "):""})():"",O=tr(X.status);return`[Fiber](#${X.id.id}) (${A}) ${Q}
27
- Status: ${O}`})),WO=()=>Array.from(L6.roots),QE=E(WO),OE=($)=>$.status,DO=($)=>y5(R2($)),BE=DO(void 0);var H4="effect/FiberCurrent",NE=()=>D8(globalThis[H4]);var er="effect/Logger",_E=Symbol.for(er),PE={_Message:($)=>$,_Output:($)=>$},kH=($)=>({[_E]:PE,log:$,pipe(){return n(this,arguments)}});var XA$={[_E]:PE,log:MZ,pipe(){return n(this,arguments)}};var $l=/^[^\s"=]*$/,Zl=($,Z)=>({annotations:X,cause:J,date:G,fiberId:Y,logLevel:W,message:D,spans:U})=>{let A=(M)=>M.match($l)?M:$(M),Q=(M,z)=>`${jQ(M)}=${A(z)}`,O=(M,z)=>" "+Q(M,z),P=Q("timestamp",G.toISOString());P+=O("level",W.label),P+=O("fiber",dW(Y));let _=CT(D);for(let M=0;M<_.length;M++)P+=O("message",S1(_[M],Z));if(!HD(J))P+=O("cause",w6(J,{renderErrorCause:!0}));for(let M of U)P+=" "+kQ(G.getTime())(M);for(let[M,z]of X)P+=O(M,S1(z,Z));return P},Xl=($)=>`"${$.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,FE=kH(Zl(Xl));var b5={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},JA$={None:[],All:[],Trace:[b5.gray],Debug:[b5.blue],Info:[b5.green],Warning:[b5.yellow],Error:[b5.red],Fatal:[b5.bgBrightRed,b5.black]};var TE=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,GA$=TE&&process.stdout.isTTY===!0,YA$=TE||"Deno"in globalThis;var ME="effect/MetricBoundaries",UO=Symbol.for(ME);class zE{values;[UO]=UO;constructor($){this.values=$,this._hash=F(o$(ME),V$(n0(this.values)))}_hash;[Y$](){return this._hash}[G$]($){return Gl($)&&s(this.values,$.values)}pipe(){return n(this,arguments)}}var Gl=($)=>u($,UO),Yl=($)=>{let Z=F($,i3(S0(Number.POSITIVE_INFINITY)),XK);return new zE(Z)};var RE=($)=>F(l3($.count-1,(Z)=>$.start*Math.pow($.factor,Z)),EJ,Yl);var Dl="effect/MetricKeyType",wE=Symbol.for(Dl),CE="effect/MetricKeyType/Counter",AO=Symbol.for(CE),Hl="effect/MetricKeyType/Frequency",Ul=Symbol.for(Hl),Al="effect/MetricKeyType/Gauge",Kl=Symbol.for(Al),LE="effect/MetricKeyType/Histogram",KO=Symbol.for(LE),Vl="effect/MetricKeyType/Summary",Ql=Symbol.for(Vl),qE={_In:($)=>$,_Out:($)=>$};class EE{incremental;bigint;[wE]=qE;[AO]=AO;constructor($,Z){this.incremental=$,this.bigint=Z,this._hash=o$(CE)}_hash;[Y$](){return this._hash}[G$]($){return VO($)}pipe(){return n(this,arguments)}}class xE{boundaries;[wE]=qE;[KO]=KO;constructor($){this.boundaries=$,this._hash=F(o$(LE),V$(a(this.boundaries)))}_hash;[Y$](){return this._hash}[G$]($){return QO($)&&s(this.boundaries,$.boundaries)}pipe(){return n(this,arguments)}}var SE=($)=>new EE($?.incremental??!1,$?.bigint??!1);var jE=($)=>{return new xE($)};var VO=($)=>u($,AO),kE=($)=>u($,Ul),IE=($)=>u($,Kl),QO=($)=>u($,KO),vE=($)=>u($,Ql);var Ol="effect/MetricKey",bE=Symbol.for(Ol),Bl={_Type:($)=>$},Nl=k7(s);class IH{name;keyType;description;tags;[bE]=Bl;constructor($,Z,X,J=[]){this.name=$,this.keyType=Z,this.description=X,this.tags=J,this._hash=F(o$(this.name+this.description),V$(a(this.keyType)),V$(n0(this.tags)))}_hash;[Y$](){return this._hash}[G$]($){return _l($)&&this.name===$.name&&s(this.keyType,$.keyType)&&s(this.description,$.description)&&Nl(this.tags,$.tags)}pipe(){return n(this,arguments)}}var _l=($)=>u($,bE),gE=($,Z)=>new IH($,SE(Z),D8(Z?.description));var hE=($,Z,X)=>new IH($,jE(Z),D8(X));var mE=V(2,($,Z)=>Z.length===0?$:new IH($.name,$.keyType,$.description,_6($.tags,Z)));var fE=Symbol.for("effect/MutableHashMap"),Fl={[fE]:fE,[Symbol.iterator](){return new OO(this)},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}};class OO{self;referentialIterator;bucketIterator;constructor($){this.self=$,this.referentialIterator=$.referential[Symbol.iterator]()}next(){if(this.bucketIterator!==void 0)return this.bucketIterator.next();let $=this.referentialIterator.next();if($.done)return this.bucketIterator=new cE(this.self.buckets.values()),this.next();return $}[Symbol.iterator](){return new OO(this.self)}}class cE{backing;constructor($){this.backing=$}currentBucket;next(){if(this.currentBucket===void 0){let Z=this.backing.next();if(Z.done)return Z;this.currentBucket=Z.value[Symbol.iterator]()}let $=this.currentBucket.next();if($.done)return this.currentBucket=void 0,this.next();return $}}var U4=()=>{let $=Object.create(Fl);return $.referential=new Map,$.buckets=new Map,$.bucketsSize=0,$};var N0=V(2,($,Z)=>{if(M7(Z)===!1)return $.referential.has(Z)?j($.referential.get(Z)):S();let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return S();return Tl($,J,Z)});var Tl=($,Z,X,J=!1)=>{for(let G=0,Y=Z.length;G<Y;G++)if(X[G$](Z[G][0])){let W=Z[G][1];if(J)Z.splice(G,1),$.bucketsSize--;return j(W)}return S()},k8=V(2,($,Z)=>c$(N0($,Z))),hZ=V(3,($,Z,X)=>{if(M7(Z)===!1)return $.referential.set(Z,X),$;let J=Z[Y$](),G=$.buckets.get(J);if(G===void 0)return $.buckets.set(J,[[Z,X]]),$.bucketsSize++,$;return pE($,G,Z),G.push([Z,X]),$.bucketsSize++,$}),pE=($,Z,X)=>{for(let J=0,G=Z.length;J<G;J++)if(X[G$](Z[J][0])){Z.splice(J,1),$.bucketsSize--;return}};var A4=V(2,($,Z)=>{if(M7(Z)===!1)return $.referential.delete(Z),$;let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return $;if(pE($,J,Z),J.length===0)$.buckets.delete(X);return $});var g5=($)=>{return $.referential.size+$.bucketsSize};var Ml="effect/MetricState",m2=Symbol.for(Ml),dE="effect/MetricState/Counter",BO=Symbol.for(dE),uE="effect/MetricState/Frequency",NO=Symbol.for(uE),oE="effect/MetricState/Gauge",_O=Symbol.for(oE),nE="effect/MetricState/Histogram",PO=Symbol.for(nE),rE="effect/MetricState/Summary",FO=Symbol.for(rE),f2={_A:($)=>$};class lE{count;[m2]=f2;[BO]=BO;constructor($){this.count=$}[Y$](){return F(a(dE),V$(a(this.count)),C$(this))}[G$]($){return Rl($)&&this.count===$.count}pipe(){return n(this,arguments)}}var zl=k7(s);class iE{occurrences;[m2]=f2;[NO]=NO;constructor($){this.occurrences=$}_hash;[Y$](){return F(o$(uE),V$(n0(P$(this.occurrences.entries()))),C$(this))}[G$]($){return wl($)&&zl(P$(this.occurrences.entries()),P$($.occurrences.entries()))}pipe(){return n(this,arguments)}}class sE{value;[m2]=f2;[_O]=_O;constructor($){this.value=$}[Y$](){return F(a(oE),V$(a(this.value)),C$(this))}[G$]($){return Cl($)&&this.value===$.value}pipe(){return n(this,arguments)}}class aE{buckets;count;min;max;sum;[m2]=f2;[PO]=PO;constructor($,Z,X,J,G){this.buckets=$,this.count=Z,this.min=X,this.max=J,this.sum=G}[Y$](){return F(a(nE),V$(a(this.buckets)),V$(a(this.count)),V$(a(this.min)),V$(a(this.max)),V$(a(this.sum)),C$(this))}[G$]($){return Ll($)&&s(this.buckets,$.buckets)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return n(this,arguments)}}class tE{error;quantiles;count;min;max;sum;[m2]=f2;[FO]=FO;constructor($,Z,X,J,G,Y){this.error=$,this.quantiles=Z,this.count=X,this.min=J,this.max=G,this.sum=Y}[Y$](){return F(a(rE),V$(a(this.error)),V$(a(this.quantiles)),V$(a(this.count)),V$(a(this.min)),V$(a(this.max)),V$(a(this.sum)),C$(this))}[G$]($){return ql($)&&this.error===$.error&&s(this.quantiles,$.quantiles)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return n(this,arguments)}}var eE=($)=>new lE($),$x=($)=>{return new iE($)},Zx=($)=>new sE($),Xx=($)=>new aE($.buckets,$.count,$.min,$.max,$.sum),Jx=($)=>new tE($.error,$.quantiles,$.count,$.min,$.max,$.sum);var Rl=($)=>u($,BO),wl=($)=>u($,NO),Cl=($)=>u($,_O),Ll=($)=>u($,PO),ql=($)=>u($,FO);var xl="effect/MetricHook",Sl=Symbol.for(xl),jl={_In:($)=>$,_Out:($)=>$},c2=($)=>({[Sl]:jl,pipe(){return n(this,arguments)},...$});var Gx=BigInt(0),Wx=($)=>{let Z=$.keyType.bigint?Gx:0,X=$.keyType.incremental?$.keyType.bigint?(G)=>G>=Gx:(G)=>G>=0:(G)=>!0,J=(G)=>{if(X(G))Z=Z+G};return c2({get:()=>eE(Z),update:J,modify:J})},Dx=($)=>{let Z=new Map;for(let J of $.keyType.preregisteredWords)Z.set(J,0);let X=(J)=>{let G=Z.get(J)??0;Z.set(J,G+1)};return c2({get:()=>$x(Z),update:X,modify:X})},Hx=($,Z)=>{let X=Z;return c2({get:()=>Zx(X),update:(J)=>{X=J},modify:(J)=>{X=X+J}})},Ux=($)=>{let Z=$.keyType.boundaries.values,X=Z.length,J=new Uint32Array(X+1),G=new Float64Array(X),Y=0,W=0,D=Number.MAX_VALUE,U=Number.MIN_VALUE;F(Z,H8(BZ),u6((O,P)=>{G[P]=O}));let A=(O)=>{let P=0,_=X;while(P!==_){let M=Math.floor(P+(_-P)/2),z=G[M];if(O<=z)_=M;else P=M;if(_===P+1)if(O<=G[P])_=P;else P=_}if(J[P]=J[P]+1,Y=Y+1,W=W+O,O<D)D=O;if(O>U)U=O},Q=()=>{let O=LJ(X),P=0;for(let _=0;_<X;_++){let M=G[_],z=J[_];P=P+z,O[_]=[M,P]}return O};return c2({get:()=>Xx({buckets:Q(),count:Y,min:D,max:U,sum:W}),update:A,modify:A})},Ax=($)=>{let{error:Z,maxAge:X,maxSize:J,quantiles:G}=$.keyType,Y=F(G,H8(BZ)),W=LJ(J),D=0,U=0,A=0,Q=0,O=0,P=(M)=>{let z=[],x=0;while(x!==J-1){let K$=W[x];if(K$!=null){let[l,J$]=K$,B$=xZ(M-l);if(PW(B$,K8)&&HM(B$,X))z.push(J$)}x=x+1}return kl(Z,Y,H8(z,BZ))},_=(M,z)=>{if(J>0){D=D+1;let x=D%J;W[x]=[z,M]}Q=U===0?M:Math.min(Q,M),O=U===0?M:Math.max(O,M),U=U+1,A=A+M};return c2({get:()=>Jx({error:Z,quantiles:P(Date.now()),count:U,min:Q,max:O,sum:A}),update:([M,z])=>_(M,z),modify:([M,z])=>_(M,z)})},kl=($,Z,X)=>{let J=X.length;if(!EZ(Z))return P6();let G=Z[0],Y=Z.slice(1),W=Yx($,J,S(),0,G,X),D=lZ(W);return Y.forEach((U)=>{D.push(Yx($,J,W.value,W.consumed,U,W.rest))}),u6(D,(U)=>[U.quantile,U.value])},Yx=($,Z,X,J,G,Y)=>{let W=$,D=Z,U=X,A=J,Q=G,O=Y,P=$,_=Z,M=X,z=J,x=G,K$=Y;while(!0){if(!EZ(O))return{quantile:Q,value:S(),consumed:A,rest:[]};if(Q===1)return{quantile:Q,value:j(a3(O)),consumed:A+O.length,rest:[]};let l=KZ(O),J$=ST(O,(v$)=>v$===l),B$=Q*D,h$=W/2*B$,A$=A+J$[0].length,m$=Math.abs(A$-B$);if(A$<B$-h$){P=W,_=D,M=y4(O),z=A$,x=Q,K$=J$[1],W=P,D=_,U=M,A=z,Q=x,O=K$;continue}if(A$>B$+h$){let v$=I$(U)?j(l):U;return{quantile:Q,value:v$,consumed:A,rest:O}}switch(U._tag){case"None":{P=W,_=D,M=y4(O),z=A$,x=Q,K$=J$[1],W=P,D=_,U=M,A=z,Q=x,O=K$;continue}case"Some":{let v$=Math.abs(B$-U.value);if(m$<v$){P=W,_=D,M=y4(O),z=A$,x=Q,K$=J$[1],W=P,D=_,U=M,A=z,Q=x,O=K$;continue}return{quantile:Q,value:j(U.value),consumed:A,rest:O}}}}throw Error("BUG: MetricHook.resolveQuantiles - please report an issue at https://github.com/Effect-TS/effect/issues")};var vl="effect/MetricPair",yl=Symbol.for(vl),bl={_Type:($)=>$};var Kx=($,Z)=>{return{[yl]:bl,metricKey:$,metricState:Z,pipe(){return n(this,arguments)}}};var hl="effect/MetricRegistry",Vx=Symbol.for(hl);class Qx{[Vx]=Vx;map=U4();snapshot(){let $=[];for(let[Z,X]of this.map)$.push(Kx(Z,X.get()));return $}get($){let Z=F(this.map,N0($),r0);if(Z==null){if(VO($.keyType))return this.getCounter($);if(IE($.keyType))return this.getGauge($);if(kE($.keyType))return this.getFrequency($);if(QO($.keyType))return this.getHistogram($);if(vE($.keyType))return this.getSummary($);throw Error("BUG: MetricRegistry.get - unknown MetricKeyType - please report an issue at https://github.com/Effect-TS/effect/issues")}else return Z}getCounter($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Wx($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getFrequency($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Dx($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getGauge($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Hx($,$.keyType.bigint?BigInt(0):0);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getHistogram($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Ux($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getSummary($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Ax($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}}var Ox=()=>{return new Qx};var fl="effect/Metric",cl=Symbol.for(fl),pl={_Type:($)=>$,_In:($)=>$,_Out:($)=>$},Bx=_$(Symbol.for("effect/Metric/globalMetricRegistry"),()=>Ox()),Nx=function($,Z,X,J){let G=Object.assign((Y)=>IZ(Y,(W)=>ul(G,W)),{[cl]:pl,keyType:$,unsafeUpdate:Z,unsafeValue:X,unsafeModify:J,register(){return this.unsafeValue([]),this},pipe(){return n(this,arguments)}});return G};var p2=($,Z)=>_x(gE($,Z));var _x=($)=>{let Z,X=new WeakMap,J=(G)=>{if(G.length===0){if(Z!==void 0)return Z;return Z=Bx.get($),Z}let Y=X.get(G);if(Y!==void 0)return Y;return Y=Bx.get(mE($,G)),X.set(G,Y),Y};return Nx($.keyType,(G,Y)=>J(Y).update(G),(G)=>J(G).get(),(G,Y)=>J(Y).modify(G))};var Px=($,Z,X)=>_x(hE($,Z,X));var Fx=V(3,($,Z,X)=>dl($,[S5(Z,X)]));var dl=V(2,($,Z)=>{return Nx($.keyType,(X,J)=>$.unsafeUpdate(X,_6(Z,J)),(X)=>$.unsafeValue(_6(Z,X)),(X,J)=>$.unsafeModify(X,_6(Z,J)))});var ul=V(2,($,Z)=>wZ(a1,(X)=>E(()=>$.unsafeUpdate(Z,X))));var nl="effect/Request",TO=Symbol.for(nl),rl={_E:($)=>$,_A:($)=>$},gA$={...E7,[TO]:rl},Tx=($)=>u($,TO);var MO=V(2,($,Z)=>wZ(AH,(X)=>E(()=>{if(X.has($)){let J=X.get($);if(!J.state.completed)J.state.completed=!0,WX(J.result,Z)}})));class d2{count=0;observers=new Set;interrupted=!1;addObserver($){this.observers.add($)}removeObserver($){this.observers.delete($)}increment(){this.count++,this.observers.forEach(($)=>$(this.count))}decrement(){this.count--,this.observers.forEach(($)=>$(this.count))}}var il="effect/Supervisor",u2=Symbol.for(il),yH={_T:($)=>$};class o2{underlying;value0;[u2]=yH;constructor($,Z){this.underlying=$,this.value0=Z}get value(){return this.value0}onStart($,Z,X,J){this.underlying.onStart($,Z,X,J)}onEnd($,Z){this.underlying.onEnd($,Z)}onEffect($,Z){this.underlying.onEffect($,Z)}onSuspend($){this.underlying.onSuspend($)}onResume($){this.underlying.onResume($)}map($){return new o2(this,F(this.value,I($)))}zip($){return new n2(this,$)}}class n2{left;right;_tag="Zip";[u2]=yH;constructor($,Z){this.left=$,this.right=Z}get value(){return B5(this.left.value,this.right.value)}onStart($,Z,X,J){this.left.onStart($,Z,X,J),this.right.onStart($,Z,X,J)}onEnd($,Z){this.left.onEnd($,Z),this.right.onEnd($,Z)}onEffect($,Z){this.left.onEffect($,Z),this.right.onEffect($,Z)}onSuspend($){this.left.onSuspend($),this.right.onSuspend($)}onResume($){this.left.onResume($),this.right.onResume($)}map($){return new o2(this,F(this.value,I($)))}zip($){return new n2(this,$)}}var zO=($)=>u($,u2)&&I4($,"Zip");class Mx{[u2]=yH;fibers=new Set;get value(){return E(()=>Array.from(this.fibers))}onStart($,Z,X,J){this.fibers.add(J)}onEnd($,Z){this.fibers.delete(Z)}onEffect($,Z){}onSuspend($){}onResume($){}map($){return new o2(this,F(this.value,I($)))}zip($){return new n2(this,$)}onRun($,Z){return $()}}class zx{effect;[u2]=yH;constructor($){this.effect=$}get value(){return this.effect}onStart($,Z,X,J){}onEnd($,Z){}onEffect($,Z){}onSuspend($){}onResume($){}map($){return new o2(this,F(this.value,I($)))}zip($){return new n2(this,$)}onRun($,Z){return $()}}var sl=()=>{return new Mx},Rx=E(sl),al=($)=>{return new zx($)},h5=_$("effect/Supervisor/none",()=>al(M$));var wx=n4;var Cx="Empty",Lx="AddSupervisor",qx="RemoveSupervisor",Ex="AndThen",RX={_tag:Cx},gH=($,Z)=>{return{_tag:Ex,first:$,second:Z}},el=($,Z)=>{return $i(Z,S0($))},$i=($,Z)=>{let X=$,J=Z;while(D0(J)){let G=g$(J);switch(G._tag){case Cx:{J=H0(J);break}case Lx:{X=X.zip(G.supervisor),J=H0(J);break}case qx:{X=RO(X,G.supervisor),J=H0(J);break}case Ex:{J=O0(G.first)(O0(G.second)(H0(J)));break}}}return X},RO=($,Z)=>{if(s($,Z))return h5;else if(zO($))return RO($.left,Z).zip(RO($.right,Z));else return $},hH=($)=>{if(s($,h5))return i8();else if(zO($))return F(hH($.left),l6(hH($.right)));else return F6($)},Zi=($,Z)=>{if(s($,Z))return RX;let X=hH($),J=hH(Z),G=F(J,EK(X),J5(RX,(W,D)=>gH(W,{_tag:Lx,supervisor:D}))),Y=F(X,EK(J),J5(RX,(W,D)=>gH(W,{_tag:qx,supervisor:D})));return gH(G,Y)},xx=wx({empty:RX,patch:el,combine:gH,diff:Zi});var Ji=p2("effect_fiber_started",{incremental:!0}),Sx=p2("effect_fiber_active"),Gi=p2("effect_fiber_successes",{incremental:!0}),Yi=p2("effect_fiber_failures",{incremental:!0}),Wi=Fx(Px("effect_fiber_lifetimes",RE({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),r2="Continue",Di="Done",jx="Yield",Hi={_E:($)=>$,_A:($)=>$},mH=($)=>{throw Error(`BUG: FiberRuntime - ${S1($)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},K4=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),V4=_$("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),l2={[w7]:($,Z,X)=>{return E0(()=>Z.effect_instruction_i1(X))},["OnStep"]:($,Z,X)=>{return Z0(Z0(X))},[C7]:($,Z,X)=>{return E0(()=>Z.effect_instruction_i2(X))},[PJ]:($,Z,X)=>{if($.patchRuntimeFlags($.currentRuntimeFlags,Z.patch),z6($.currentRuntimeFlags)&&$.isInterrupted())return b$($.getInterruptedCause());else return Z0(X)},[L7]:($,Z,X)=>{if(E0(()=>Z.effect_instruction_i2(X)),E0(()=>Z.effect_instruction_i0()))return $.pushStack(Z),E0(()=>Z.effect_instruction_i1());else return M$},[i9]:($,Z,X)=>{while(!0){let J=E0(()=>Z.effect_instruction_i0.next(X));if(J.done)return Z0(J.value);let G=u9(J.value);if(!z5(G))return $.pushStack(Z),G;else if(G._tag==="Failure")return G;X=G.value}}},Ui={[tQ]:($,Z,X,J)=>{return $.processNewInterruptSignal(J.cause),z6(Z)?b$(J.cause):X},[$O]:($,Z,X,J)=>{throw Error("It is illegal to have multiple concurrent run loops in a single fiber")},[eQ]:($,Z,X,J)=>{return J.onFiber($,lV(Z)),X},[ZO]:($,Z,X,J)=>{return T(G1(),()=>X)}},Ai=($)=>q8(xz($),(Z)=>Q4(kz(Z),([X,J])=>{let G=new Map,Y=[];for(let D of J){Y.push(u8(D));for(let U of D)G.set(U.request,U)}let W=Y.flat();return C0(Ri(X.runAll(Y),W,()=>W.forEach((D)=>{D.listeners.interrupted=!0})),AH,G)},!1,!1)),Ki=TJ();class uH extends V9{[D4]=zX;[g2]=Hi;_fiberRefs;_fiberId;_queue=[];_children=null;_observers=[];_running=!1;_stack=[];_asyncInterruptor=null;_asyncBlockingOn=null;_exitValue=null;_steps=[];_isYielding=!1;currentRuntimeFlags;currentOpCount=0;currentSupervisor;currentScheduler;currentTracer;currentSpan;currentContext;currentDefaultServices;constructor($,Z,X){super();if(this.currentRuntimeFlags=X,this._fiberId=$,this._fiberRefs=Z,tK(X)){let J=this.getFiberRef(a1);Ji.unsafeUpdate(1,J),Sx.unsafeUpdate(1,J)}this.refreshRefCache()}commit(){return NZ(this)}id(){return this._fiberId}resume($){this.tell(v5($))}get status(){return this.ask(($,Z)=>Z)}get runtimeFlags(){return this.ask(($,Z)=>{if(sD(Z))return $.currentRuntimeFlags;return Z.runtimeFlags})}scope(){return aq(this)}get children(){return this.ask(($)=>Array.from($.getChildren()))}getChildren(){if(this._children===null)this._children=new Set;return this._children}getInterruptedCause(){return this.getFiberRef(P5)}fiberRefs(){return this.ask(($)=>$.getFiberRefs())}ask($){return D$(()=>{let Z=F2(this._fiberId);return this.tell(MX((X,J)=>{WX(Z,E(()=>$(X,J)))})),DZ(Z)})}tell($){if(this._queue.push($),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return jZ(($)=>{let Z=(X)=>$(R(X));if(this._exitValue!==null){Z(this._exitValue);return}return this.tell(MX((X,J)=>{if(X._exitValue!==null)Z(this._exitValue);else X.addObserver(Z)})),E(()=>this.tell(MX((X,J)=>{X.removeObserver(Z)})))},this.id())}get inheritAll(){return x$(($,Z)=>{let X=$.id(),J=$.getFiberRefs(),G=Z.runtimeFlags,Y=this.getFiberRefs(),W=dD(J,X,Y);$.setFiberRefs(W);let D=$.getFiberRef(vx),U=F(s8(G,D),XV(M6),XV(JD));return X9(U)})}get poll(){return E(()=>D8(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork($){return E(()=>this.tell(wH(QZ($))))}unsafeInterruptAsFork($){this.tell(wH(QZ($)))}addObserver($){if(this._exitValue!==null)$(this._exitValue);else this._observers.push($)}removeObserver($){this._observers=this._observers.filter((Z)=>Z!==$)}getFiberRefs(){return this.setFiberRef(vx,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef($){this._fiberRefs=C2(this._fiberRefs,$)}getFiberRef($){if(this._fiberRefs.locals.has($))return this._fiberRefs.locals.get($)[0][1];return $.initial}setFiberRef($,Z){this._fiberRefs=DX(this._fiberRefs,{fiberId:this._fiberId,fiberRef:$,value:Z}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(z0),this.currentTracer=this.currentDefaultServices.unsafeMap.get(G4.key),this.currentSupervisor=this.getFiberRef(rH),this.currentScheduler=this.getFiberRef($4),this.currentContext=this.getFiberRef(B8),this.currentSpan=this.currentContext.unsafeMap.get(gZ.key)}setFiberRefs($){this._fiberRefs=$,this.refreshRefCache()}addChild($){this.getChildren().add($)}removeChild($){this.getChildren().delete($)}transferChildren($){let Z=this._children;if(this._children=null,Z!==null&&Z.size>0){for(let X of Z)if(X._exitValue===null)$.add(this.currentRuntimeFlags,X)}}drainQueueOnCurrentThread(){let $=!0;while($){let Z=r2,X=globalThis[H4];globalThis[H4]=this;try{while(Z===r2)Z=this._queue.length===0?Di:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[H4]=X}if(this._queue.length>0&&!this._running)if(this._running=!0,Z===jx)this.drainQueueLaterOnExecutor(),$=!1;else $=!0;else $=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(i1),this)}drainQueueWhileRunning($,Z){let X=Z;while(this._queue.length>0){let J=this._queue.splice(0,1)[0];X=Ui[J._tag](this,$,X,J)}return X}isInterrupted(){return!nJ(this.getFiberRef(P5))}addInterruptedCause($){let Z=this.getFiberRef(P5);this.setFiberRef(P5,$0(Z,$))}processNewInterruptSignal($){this.addInterruptedCause($),this.sendInterruptSignalToAllChildren()}sendInterruptSignalToAllChildren(){if(this._children===null||this._children.size===0)return!1;let $=!1;for(let Z of this._children)Z.tell(wH(QZ(this.id()))),$=!0;return $}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let $=this._children.values();this._children=null;let Z=!1;return J9({while:()=>!Z,body:()=>{let J=$.next();if(!J.done)return T0(J.value.await);else return E(()=>{Z=!0})},step:()=>{}})}return null}reportExitValue($){if(tK(this.currentRuntimeFlags)){let Z=this.getFiberRef(a1),X=this.id().startTimeMillis,J=Date.now();switch(Wi.unsafeUpdate(J-X,Z),Sx.unsafeUpdate(-1,Z),$._tag){case J0:{Gi.unsafeUpdate(1,Z);break}case X0:{Yi.unsafeUpdate(1,Z);break}}}if($._tag==="Failure"){let Z=this.getFiberRef(V2);if(!H5($.cause)&&Z._tag==="Some")this.log("Fiber terminated with an unhandled error",$.cause,Z)}}setExitValue($){this._exitValue=$,this.reportExitValue($);for(let Z=this._observers.length-1;Z>=0;Z--)this._observers[Z]($);this._observers=[]}getLoggers(){return this.getFiberRef(bx)}log($,Z,X){let J=c$(X)?X.value:this.getFiberRef(TV),G=this.getFiberRef(CO);if(ZQ(G,J))return;let Y=this.getFiberRef(LD),W=this.getFiberRef(s1),D=this.getLoggers(),U=this.getFiberRefs();if(b1(D)>0){let A=l0(this.getFiberRef(z0),tZ),Q=new Date(A.unsafeCurrentTimeMillis());rF(U,()=>{for(let O of D)O.log({fiberId:this.id(),logLevel:J,message:$,cause:Z,context:U,spans:Y,annotations:W,date:Q})})}}evaluateMessageWhileSuspended($){switch($._tag){case ZO:return jx;case tQ:{if(this.processNewInterruptSignal($.cause),this._asyncInterruptor!==null)this._asyncInterruptor(b$($.cause)),this._asyncInterruptor=null;return r2}case $O:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect($.effect),r2;case eQ:return $.onFiber(this,this._exitValue!==null?Iw:vw(this.currentRuntimeFlags,this._asyncBlockingOn)),r2;default:return mH($)}}evaluateEffect($){this.currentSupervisor.onResume(this);try{let Z=z6(this.currentRuntimeFlags)&&this.isInterrupted()?b$(this.getInterruptedCause()):$;while(Z!==null){let X=Z,J=this.runLoop(X);if(J===K4){let G=V4.currentOp;if(V4.currentOp=null,G._op===q7)if(wz(this.currentRuntimeFlags))this.tell(rq()),this.tell(v5(bZ)),Z=null;else Z=bZ;else if(G._op===r9)Z=null}else{this.currentRuntimeFlags=F(this.currentRuntimeFlags,sK(JD));let G=this.interruptAllChildren();if(G!==null)Z=T(G,()=>J);else{if(this._queue.length===0)this.setExitValue(J);else this.tell(v5(J));Z=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start($){if(!this._running){this._running=!0;let Z=globalThis[H4];globalThis[H4]=this;try{this.evaluateEffect($)}finally{if(this._running=!1,globalThis[H4]=Z,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(v5($))}startFork($){this.tell(v5($))}patchRuntimeFlags($,Z){let X=m1($,Z);return globalThis[H4]=this,this.currentRuntimeFlags=X,X}initiateAsync($,Z){let X=!1,J=(G)=>{if(!X)X=!0,this.tell(v5(G))};if(z6($))this._asyncInterruptor=J;try{Z(J)}catch(G){J(E$(P0(G)))}}pushStack($){if(this._stack.push($),$._op==="OnStep")this._steps.push({refs:this.getFiberRefs(),flags:this.currentRuntimeFlags})}popStack(){let $=this._stack.pop();if($){if($._op==="OnStep")this._steps.pop();return $}return}getNextSuccessCont(){let $=this.popStack();while($){if($._op!==R7)return $;$=this.popStack()}}getNextFailCont(){let $=this.popStack();while($){if($._op!==w7&&$._op!==L7&&$._op!==i9)return $;$=this.popStack()}}[iF]($){return E(()=>n8(this.currentContext,$))}["Left"]($){return L$($.left)}["None"]($){return L$(new yZ)}["Right"]($){return Z0($.right)}["Some"]($){return Z0($.value)}["Micro"]($){return e7((Z)=>{let X=Z,J=tw(iw($,this.currentContext));return J.addObserver((G)=>{if(G._tag==="Success")return X(Z0(G.value));switch(G.cause._tag){case"Interrupt":return X(b$(QZ(d0)));case"Fail":return X(L$(G.cause.error));case"Die":return X(RZ(G.cause.defect))}}),e7((G)=>{X=(Y)=>{G(M$)},J.unsafeInterrupt()})})}[tY]($){let Z=E0(()=>$.effect_instruction_i0()),X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in l2))mH(X);return l2[X._op](this,X,Z)}else return V4.currentOp=Z0(Z),K4}[J0]($){let Z=$,X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in l2))mH(X);return l2[X._op](this,X,Z.effect_instruction_i0)}else return V4.currentOp=Z,K4}[X0]($){let Z=$.effect_instruction_i0,X=this.getNextFailCont();if(X!==void 0)switch(X._op){case R7:case C7:if(!(z6(this.currentRuntimeFlags)&&this.isInterrupted()))return E0(()=>X.effect_instruction_i1(Z));else return b$(rJ(Z));case"OnStep":if(!(z6(this.currentRuntimeFlags)&&this.isInterrupted()))return Z0(b$(Z));else return b$(rJ(Z));case PJ:if(this.patchRuntimeFlags(this.currentRuntimeFlags,X.patch),z6(this.currentRuntimeFlags)&&this.isInterrupted())return b$($0(Z,this.getInterruptedCause()));else return b$(Z);default:mH(X)}else return V4.currentOp=b$(Z),K4}[eY]($){return E0(()=>$.effect_instruction_i0(this,lV(this.currentRuntimeFlags)))}["Blocked"]($){let Z=this.getFiberRefs(),X=this.currentRuntimeFlags;if(this._steps.length>0){let J=[],G=this._steps[this._steps.length-1],Y=this.popStack();while(Y&&Y._op!=="OnStep")J.push(Y),Y=this.popStack();this.setFiberRefs(G.refs),this.currentRuntimeFlags=G.flags;let W=C5(G.refs,Z),D=s8(G.flags,X);return Z0(d1($.effect_instruction_i0,x$((U)=>{while(J.length>0)U.pushStack(J.pop());return U.setFiberRefs(L5(U.id(),U.getFiberRefs())(W)),U.currentRuntimeFlags=m1(D)(U.currentRuntimeFlags),$.effect_instruction_i1})))}return j0((J)=>T(wX(QD($.effect_instruction_i0)),()=>J($.effect_instruction_i1)))}["RunBlocked"]($){return Ai($.effect_instruction_i0)}[j1]($){let Z=$.effect_instruction_i0,X=this.currentRuntimeFlags,J=m1(X,Z);if(z6(J)&&this.isInterrupted())return b$(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,Z),$.effect_instruction_i1){let G=s8(J,X);return this.pushStack(new QV(G,$)),E0(()=>$.effect_instruction_i1(X))}else return bZ}[w7]($){return this.pushStack($),$.effect_instruction_i0}["OnStep"]($){return this.pushStack($),$.effect_instruction_i0}[R7]($){return this.pushStack($),$.effect_instruction_i0}[C7]($){return this.pushStack($),$.effect_instruction_i0}[r9]($){return this._asyncBlockingOn=$.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,$.effect_instruction_i0),V4.currentOp=$,K4}[q7]($){return this._isYielding=!1,V4.currentOp=$,K4}[L7]($){let{effect_instruction_i0:Z,effect_instruction_i1:X}=$;if(Z())return this.pushStack($),X();else return bZ}[i9]($){return l2[i9](this,$,void 0)}[l9]($){return E0(()=>$.commit())}runLoop($){let Z=$;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&Rz)!==0)this.currentSupervisor.onEffect(this,Z);if(this._queue.length>0)Z=this.drainQueueWhileRunning(this.currentRuntimeFlags,Z);if(!this._isYielding){this.currentOpCount+=1;let X=this.currentScheduler.shouldYield(this);if(X!==!1){this._isYielding=!0,this.currentOpCount=0;let J=Z;Z=T(G1({priority:X}),()=>J)}}try{if(Z=this.currentTracer.context(()=>{if(Ki!==Z[u1]._V){let X=this.getFiberRef(ED);if(X._tag==="Some"){let J=Z[u1]._V;this.log(`Executing an Effect versioned ${J} with a Runtime of version ${TJ()}, you may want to dedupe the effect dependencies, you can use the language service plugin to detect this at compile time: https://github.com/Effect-TS/language-service`,u0,X)}}return this[Z._op](Z)},this),Z===K4){let X=V4.currentOp;if(X._op===q7||X._op===r9)return K4;return V4.currentOp=null,X._op===J0||X._op===X0?X:b$(P0(X))}}catch(X){if(Z!==K4&&!u(Z,"_op")||!(Z._op in this))Z=t4(`Not a valid effect: ${S1(Z)}`);else if(SD(X))Z=b$($0(P0(X),QZ(d0)));else Z=RZ(X)}}}run=()=>{this.drainQueueOnCurrentThread()}}var CO=_$("effect/FiberRef/currentMinimumLogLevel",()=>L0(XQ("Info"))),Vi=($)=>kH((Z)=>{let X=Kw(Z.context,z0);l0(X,X4).unsafe.log($.log(Z))});var Qi=_$(Symbol.for("effect/Logger/defaultLogger"),()=>Vi(FE));var Oi=_$(Symbol.for("effect/Logger/tracerLogger"),()=>kH(({annotations:$,cause:Z,context:X,fiberId:J,logLevel:G,message:Y})=>{let W=y2(C8(e1(X,B8),gZ));if(W._tag==="None"||W.value._tag==="ExternalSpan")return;let D=n8(e1(X,z0),tZ),U={};for(let[A,Q]of $)U[A]=Q;if(U["effect.fiberId"]=lM(J),U["effect.logLevel"]=G.label,Z!==null&&Z._tag!=="Empty")U["effect.cause"]=w6(Z,{renderErrorCause:!0});W.value.event(S1(Array.isArray(Y)&&Y.length===1?Y[0]:Y),D.unsafeCurrentTimeNanos(),U)}));var bx=_$(Symbol.for("effect/FiberRef/currentLoggers"),()=>FR(F6(Qi,Oi)));var gx=function(){if(typeof arguments[0]==="string")return LZ(s1,SZ(arguments[0],arguments[1]));let $=Object.entries(arguments[0]);return LZ(s1,aM((Z)=>{for(let X=0;X<$.length;X++){let[J,G]=$[X];SZ(Z,J,G)}return Z}))},hx=V(2,($,Z)=>{let X=typeof Z==="string"?XQ(Z):Z;return x$((J)=>{let G=J.getFiberRef(CO);if(ZQ(G,X))return R(S());return I($,j)})}),f5=V(($)=>p$($[0]),($,Z)=>l1(IZ($,(X)=>D1((J)=>Z(X,J))))),mx=V(($)=>p$($[0]),($,Z)=>v8($,D1((X)=>Z(X)))),D1=($)=>x$((Z)=>{let X=Z.getFiberRefs(),J=iK(Z.currentRuntimeFlags,M6);return T(kO,(G)=>D9(G,(Y)=>x$((W)=>{let D=W.getFiberRefs(),U=W.currentRuntimeFlags,A=C5(D,X),Q=s8(U,J),O=C5(X,D);return W.setFiberRefs(L5(A,W.id(),X)),v8(RD($(Y),Q),E(()=>{W.setFiberRefs(L5(O,W.id(),W.getFiberRefs()))}))})))}),fx=($)=>{return C0(tJ,j(L6))($)},kx=Symbol.for("effect/Effect/existsPar/found"),cx=V(($)=>p8($[0])&&!p$($[0]),($,Z,X)=>E2(X?.concurrency,()=>D$(()=>px($[Symbol.iterator](),0,Z)),()=>s0(I8($,(J,G)=>_D(Z(J,G),{onTrue:()=>L$(kx),onFalse:()=>M$}),X),{onFailure:(J)=>J===kx?R(!0):L$(J),onSuccess:()=>R(!1)}))),px=($,Z,X)=>{let J=$.next();if(J.done)return R(!1);return T(X(J.value,Z),(G)=>G?R(G):px($,Z+1,X))},dx=V(($)=>p8($[0])&&!p$($[0]),($,Z,X)=>{let J=X?.negate?(G,Y)=>I(Z(G,Y),$w):Z;return E2(X?.concurrency,()=>D$(()=>P$($).reduceRight((G,Y,W)=>sZ(G,D$(()=>J(Y,W)),(D,U)=>U?[Y,...D]:D),E(()=>[]))),()=>I(I8($,(G,Y)=>I(J(G,Y),(W)=>W?j(G):S()),X),vT))}),Bi=($)=>{if(Array.isArray($)||p8($))return[$,S()];let Z=Object.keys($),X=Z.length;return[Z.map((J)=>$[J]),j((J)=>{let G={};for(let Y=0;Y<X;Y++)G[Z[Y]]=J[Y];return G})]},Ni=($,Z,X)=>{let J=[];for(let G of $)J.push(a8(G));return T(I8(J,R$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>{let Y=S(),W=G.length,D=Array(W),U=Array(W),A=!1;for(let Q=0;Q<W;Q++){let O=G[Q];if(O._tag==="Left")D[Q]=j(O.left),A=!0;else U[Q]=O.right,D[Q]=Y}if(A)return Z._tag==="Some"?L$(Z.value(D)):L$(D);else if(X?.discard)return M$;return Z._tag==="Some"?R(Z.value(U)):R(U)})},_i=($,Z,X)=>{let J=[];for(let G of $)J.push(a8(G));if(X?.discard)return I8(J,R$,{concurrency:X?.concurrency,batching:X?.batching,discard:!0,concurrentFinalizers:X?.concurrentFinalizers});return I(I8(J,R$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>Z._tag==="Some"?Z.value(G):G)},F9=($,Z)=>{let[X,J]=Bi($);if(Z?.mode==="validate")return Ni(X,J,Z);else if(Z?.mode==="either")return _i(X,J,Z);return Z?.discard!==!0&&J._tag==="Some"?I(I8(X,R$,Z),J.value):I8(X,R$,Z)},ux=($)=>(Z)=>F9(Z,$),ox=($,Z)=>I(F9(P$($).map(V0),Z),j7((X)=>_2(X)?j(X.effect_instruction_i0):S())),LO=V(2,($,Z)=>Array.from({length:Z},()=>$)),nx=V(($)=>p$($[0]),($,Z,X)=>F9(LO($,Z),X)),I8=V(($)=>p8($[0]),($,Z,X)=>x$((J)=>{let G=X?.batching===!0||X?.batching==="inherit"&&J.getFiberRef(K2);if(X?.discard)return PQ(X.concurrency,()=>m5(fD,X?.concurrentFinalizers)((Y)=>G?Q4($,(W,D)=>Y(Z(W,D)),!0,!1,1):q8($,(W,D)=>Y(Z(W,D)))),()=>m5(cD,X?.concurrentFinalizers)((Y)=>Q4($,(W,D)=>Y(Z(W,D)),G,!1)),(Y)=>m5(pD(Y),X?.concurrentFinalizers)((W)=>Q4($,(D,U)=>W(Z(D,U)),G,!1,Y)));return PQ(X?.concurrency,()=>m5(fD,X?.concurrentFinalizers)((Y)=>G?wO($,1,(W,D)=>Y(Z(W,D)),!0):OZ($,(W,D)=>Y(Z(W,D)))),()=>m5(cD,X?.concurrentFinalizers)((Y)=>fH($,(W,D)=>Y(Z(W,D)),G)),(Y)=>m5(pD(Y),X?.concurrentFinalizers)((W)=>wO($,Y,(D,U)=>W(Z(D,U)),G)))})),fH=($,Z,X)=>D$(()=>{let J=P$($),G=Array(J.length);return j$(Q4(J,(W,D)=>T(Z(W,D),(U)=>E(()=>G[D]=U)),X,!1),R(G))}),Q4=($,Z,X,J,G)=>j0((Y)=>MD((W)=>x$((D)=>{let U=Array.from($).reverse(),A=U.length;if(A===0)return M$;let Q=0,O=!1,P=G?Math.min(U.length,G):U.length,_=new Set,M=[],z=()=>_.forEach((v$)=>{v$.currentScheduler.scheduleTask(()=>{v$.unsafeInterruptAsFork(D.id())},0,v$)}),x=[],K$=[],l=[],J$=()=>{let v$=M.filter(({exit:A0})=>A0._tag==="Failure").sort((A0,i)=>A0.index<i.index?-1:A0.index===i.index?0:1).map(({exit:A0})=>A0);if(v$.length===0)v$.push(bZ);return v$},B$=(v$,A0=!1)=>{let i=l1(W(v$)),$$=Pi(i,D,D.currentRuntimeFlags,L6);return D.currentScheduler.scheduleTask(()=>{if(A0)$$.unsafeInterruptAsFork(D.id());$$.resume(i)},0,$$),$$},h$=()=>{if(!J)A-=U.length,U=[];O=!0,z()},A$=X?ND:V0,m$=B$(jZ((v$)=>{let A0=($$,r)=>{if($$._op==="Blocked")l.push($$);else if(M.push({index:r,exit:$$}),$$._op==="Failure"&&!O)h$()},i=()=>{if(U.length>0){let $$=U.pop(),r=Q++,Q$=()=>{let Q0=U.pop();return r=Q++,T(G1(),()=>T(A$(Y(Z(Q0,r))),T$))},T$=(Q0)=>{if(U.length>0){if(A0(Q0,r),U.length>0)return Q$()}return R(Q0)},q$=T(A$(Y(Z($$,r))),T$),Z$=B$(q$);if(x.push(Z$),_.add(Z$),O)Z$.currentScheduler.scheduleTask(()=>{Z$.unsafeInterruptAsFork(D.id())},0,Z$);Z$.addObserver((Q0)=>{let b0;if(Q0._op==="Failure")b0=Q0;else b0=Q0.effect_instruction_i0;if(K$.push(Z$),_.delete(Z$),A0(b0,r),M.length===A)v$(R(p0(H9(J$(),{parallel:!0}),()=>bZ)));else if(l.length+M.length===A){let h6=J$(),G8=l.map((F8)=>F8.effect_instruction_i0).reduce(GV);v$(R(d1(G8,Q4([p0(H9(h6,{parallel:!0}),()=>bZ),...l.map((F8)=>F8.effect_instruction_i1)],(F8)=>F8,X,!0,G))))}else i()})}};for(let $$=0;$$<P;$$++)i()}));return T0(iZ(kZ(Y(NZ(m$))),R5({onFailure:(v$)=>{h$();let A0=l.length+1,i=Math.min(typeof G==="number"?G:l.length,l.length),$$=Array.from(l);return jZ((r)=>{let Q$=[],T$=0,q$=0,Z$=(b0,h6)=>(G8)=>{if(Q$[b0]=G8,T$++,T$===A0)r(Z0(b$(v$)));if($$.length>0&&h6)Q0()},Q0=()=>{B$($$.pop(),!0).addObserver(Z$(q$,!0)),q$++};m$.addObserver(Z$(q$,!1)),q$++;for(let b0=0;b0<i;b0++)Q0()})},onSuccess:()=>OZ(K$,(v$)=>v$.inheritAll)})))}))),wO=($,Z,X,J)=>D$(()=>{let G=P$($),Y=Array(G.length);return j$(Q4(G,(D,U)=>I(X(D,U),(A)=>Y[U]=A),J,!1,Z),R(Y))}),O4=($)=>x$((Z,X)=>R(i2($,Z,X.runtimeFlags))),wX=($)=>Fi($,L6),rx=V(2,($,Z)=>O4(TD($,(X)=>{let J=R6(X);switch(J._tag){case"Left":return Z(J.left);case"Right":return E$(J.right)}}))),i2=($,Z,X,J=null)=>{let G=cH($,Z,X,J);return G.resume($),G},Pi=($,Z,X,J=null)=>{return cH($,Z,X,J)},cH=($,Z,X,J=null)=>{let G=nW(),Y=Z.getFiberRefs(),W=pV(Y,G),D=new uH(G,W,X),U=e1(W,B8),A=D.currentSupervisor;return A.onStart(U,$,j(Z),D),D.addObserver((O)=>A.onEnd(O,D)),(J!==null?J:F(Z.getFiberRef(tJ),p0(()=>Z.scope()))).add(X,D),D},Fi=($,Z)=>x$((X,J)=>R(i2($,X,J.runtimeFlags,Z))),qO=V(($)=>c8($[2]),($,Z,X,J)=>E2(J?.concurrency,()=>P$($).reduce((G,Y,W)=>sZ(G,Y,(D,U)=>X(D,U,W)),R(Z)),()=>T(YH(Z),(G)=>T(I8($,(Y,W)=>T(Y,(D)=>JC(G,(U)=>X(U,D,W))),J),()=>WH(G))))),EO=V(($)=>p8($[0]),($,Z,X)=>F(I8($,(J,G)=>a8(Z(J,G)),X),I((J)=>UR(J,R$)))),lx=V(($)=>p8($[0]),($,Z,X)=>T(EO($,Z,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),([J,G])=>AW(J)?L$(J):X?.discard?M$:R(G))),ix=($)=>x$((Z,X)=>jZ((J)=>{let G=new Set,Y,W=u0,D=()=>{for(let Q of G)Q.unsafeInterruptAsFork(Z.id())},U=!1,A=!0;for(let Q of $){A=!1;let O=i2(r1(Q),Z,X.runtimeFlags);if(G.add(O),O.addObserver((P)=>{if(G.delete(O),!Y)if(P._tag==="Success")U=!0,Y=O,W=u0,D();else W=F0(P.cause,W);if(U&&G.size===0)J(Y?j$(SH(Y),Y.unsafePoll()):E$(W))}),Y)break}if(A)return J(L8(()=>new e8("Received an empty collection of effects")));return U=!0,h2(G,Z.id())})),sx=V(($)=>p8($[0])&&!p$($[0]),($,Z,X,J)=>E2(J?.concurrency,()=>P$($).reduce((G,Y,W)=>sZ(G,Y,(D,U)=>X(D,U,W)),Z),()=>D$(()=>F(qO([Z,...$],S(),(G,Y,W)=>{switch(G._tag){case"None":return j(Y);case"Some":return j(X(G.value,Y,W))}},J),I((G)=>{switch(G._tag){case"None":throw Error("BUG: Effect.reduceEffect - please report an issue at https://github.com/Effect-TS/effect/issues");case"Some":return G.value}}))))),pH=($)=>S8((Z)=>c0(C8(Z,U1),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Parallel":return $;case"Sequential":case"ParallelN":return T(x8(X,cD),(J)=>A1($,J))}}})),Ix=($)=>(Z)=>S8((X)=>c0(C8(X,U1),{onNone:()=>Z,onSome:(J)=>{if(J.strategy._tag==="ParallelN"&&J.strategy.parallelism===$)return Z;return T(x8(J,pD($)),(G)=>A1(Z,G))}})),ax=($)=>(Z)=>m5($,!0)(Z),m5=($,Z)=>(X)=>S8((J)=>c0(C8(J,U1),{onNone:()=>X(R$),onSome:(G)=>{if(Z===!0){let Y=$._tag==="Parallel"?pH:$._tag==="Sequential"?dH:Ix($.parallelism);switch(G.strategy._tag){case"Parallel":return Y(X(pH));case"Sequential":return Y(X(dH));case"ParallelN":return Y(X(Ix(G.strategy.parallelism)))}}else return X(R$)}})),G6=($)=>T(U1,$),s2=($)=>T(c5(),(Z)=>iZ($(Z),(X)=>Z.close(X))),oH=($)=>T(c5(),(Z)=>IO($,Z)),dH=($)=>S8((Z)=>c0(C8(Z,U1),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Sequential":return $;case"Parallel":case"ParallelN":return T(x8(X,fD),(J)=>A1($,J))}}})),tx=($,Z)=>xO([S5($,Z)]),xO=($)=>LZ(a1,(Z)=>_6(Z,$)),ex=V(2,($,Z)=>s2((X)=>T(A1($,X),Z))),$S=V(($)=>p$($[1]),($,Z,X)=>SO($,Z,(J,G)=>[J,G],X)),SO=V(($)=>p$($[1]),($,Z,X,J)=>kZ(H1(V0($),V0(Z),(G,Y)=>$6(G,Y,{onSuccess:X,onFailure:(W,D)=>J?.concurrent?F0(W,D):$0(W,D)}),J)));var ZS=V(($)=>p8($[0]),($,Z,X)=>$9(I8($,(J,G)=>$9(Z(J,G)),X))),XS=($)=>LZ(z0,e$(tZ,$)),JS=($)=>LZ(z0,e$(J4,$)),nH=($)=>LZ(z0,e$(VX,$)),GS=($)=>G6((Z)=>T(x8(Z,Z6),(X)=>F($,A1(X),I((J)=>[O8((G)=>F5(X,P2(G))),J])))),YS=V(($)=>p$($[1]),($,Z,X)=>H1($,Z,(J,G)=>[J,G],X)),WS=V(($)=>p$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return N5($,Z);return H1($,Z,(J,G)=>J,X)}),DS=V(($)=>p$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return j$($,Z);return H1($,Z,(J,G)=>G,X)}),H1=V(($)=>p$($[1]),($,Z,X,J)=>I(F9([$,Z],{concurrency:J?.concurrent?2:1,batching:J?.batching,concurrentFinalizers:J?.concurrentFinalizers}),([G,Y])=>X(G,Y))),jO=($)=>{if($===Lz)return M$;return F($X,T((Z)=>{let X=m1(Z,$),J=s8(X,Z);return F(X9($),j$(D1(()=>X9(J))),T0)}),l1)},U1=WZ("effect/Scope"),kO=U1,Ti=($,Z)=>{if($.state._tag==="Open")$.state.finalizers.set({},Z)},Mi={[O2]:O2,[B2]:B2,pipe(){return n(this,arguments)},fork($){return E(()=>{let Z=HS($);if(this.state._tag==="Closed")return Z.state=this.state,Z;let X={},J=(G)=>Z.close(G);return this.state.finalizers.set(X,J),Ti(Z,(G)=>E(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(X)})),Z})},close($){return D$(()=>{if(this.state._tag==="Closed")return M$;let Z=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:$},Z.length===0)return M$;return hV(this.strategy)?F(OZ(Z,(X)=>V0(X($))),T((X)=>F(H9(X),x0(YX),p0(()=>bZ)))):mV(this.strategy)?F(fH(Z,(X)=>V0(X($)),!1),T((X)=>F(H9(X,{parallel:!0}),x0(YX),p0(()=>bZ)))):F(wO(Z,this.strategy.parallelism,(X)=>V0(X($)),!1),T((X)=>F(H9(X,{parallel:!0}),x0(YX),p0(()=>bZ))))})},addFinalizer($){return D$(()=>{if(this.state._tag==="Closed")return $(this.state.exit);return this.state.finalizers.set({},$),M$})}},HS=($=Z6)=>{let Z=Object.create(Mi);return Z.strategy=$,Z.state={_tag:"Open",finalizers:new Map},Z},c5=($=Z6)=>E(()=>HS($)),A1=V(2,($,Z)=>A9($,r8(U8(U1,Z)))),IO=V(2,($,Z)=>F($,A1(Z),iZ((X)=>Z.close(X)))),zi=($)=>_5($,{differ:xx,fork:RX}),mZ=V(2,($,Z)=>T0(f5(T(E8($),(X)=>i$(V5($,Z),X)),(X)=>V5($,X)))),LZ=V(2,($,Z)=>wZ($,(X)=>mZ($,Z(X))));var vx=TR(Cz),rH=zi(h5),lH=($)=>I8($,EH),CX=($)=>{return{...gD,commit(){return NZ(this)},[D4]:zX,id:()=>P$($).reduce((X,J)=>V8(X,J.id()),d0),await:V0(fH($,(X)=>kZ(X.await),!1)),children:I(fH($,(X)=>X.children,!1),KW),inheritAll:q8($,(X)=>X.inheritAll),poll:I(OZ($,(X)=>X.poll),VW(j(Z0([])),(X,J)=>{switch(J._tag){case"None":return S();case"Some":switch(X._tag){case"None":return S();case"Some":return j($6(J.value,X.value,{onSuccess:(G,Y)=>[G,...Y],onFailure:F0}))}}})),interruptAsFork:(X)=>q8($,(J)=>J.interruptAsFork(X))}},US=($)=>T0(wX(Y9($))),AS=($)=>NZ(CX($)),KS=($)=>f5(R($),Y9),vO=V(3,($,Z,X)=>yO($,Z,{onSelfWin:(J,G)=>T(J.await,(Y)=>{switch(Y._tag){case J0:return T(J.inheritAll,()=>X.onSelfDone(Y,G));case X0:return X.onSelfDone(Y,G)}}),onOtherWin:(J,G)=>T(J.await,(Y)=>{switch(Y._tag){case J0:return T(J.inheritAll,()=>X.onOtherDone(Y,G));case X0:return X.onOtherDone(Y,G)}})})),VS=($)=>j0((Z)=>O8((X)=>T(wX(Z($)),(J)=>F(Z(NZ(J)),J1(()=>F(J,jH(X))))))),iH=V(2,($,Z)=>O8((X)=>vO($,Z,{onSelfDone:(J,G)=>w5(J,{onFailure:(Y)=>F(NZ(G),FX((W)=>F0(Y,W))),onSuccess:(Y)=>F(G,vZ(X),i$(Y))}),onOtherDone:(J,G)=>w5(J,{onFailure:(Y)=>F(NZ(G),FX((W)=>F0(W,Y))),onSuccess:(Y)=>F(G,vZ(X),i$(Y))})}))),yO=V(3,($,Z,X)=>x$((J,G)=>{let Y=G.runtimeFlags,W=i6(!0),D=cH($,J,Y,X.selfScope),U=cH(Z,J,Y,X.otherScope);return jZ((A)=>{D.addObserver(()=>yx(D,U,X.onSelfWin,W,A)),U.addObserver(()=>yx(U,D,X.onOtherWin,W,A)),D.startFork($),U.startFork(Z)},V8(D.id(),U.id()))})),yx=($,Z,X,J,G)=>{if(bW(!0,!1)(J))G(X($,Z))},v8=V(2,($,Z)=>j0((X)=>B0(X($),{onFailure:(J)=>B0(Z,{onFailure:(G)=>E$($0(J,G)),onSuccess:()=>E$(J)}),onSuccess:(J)=>i$(Z,J)}))),Ri=($,Z,X)=>O8((J)=>v8(T(wX(r1($)),(G)=>jZ((Y)=>{let W=Z.map((A)=>A.listeners.count),D=()=>{if(W.every((A)=>A===0)){if(Z.every((A)=>{if(A.result.state.current._tag==="Pending")return!0;else if(A.result.state.current._tag==="Done"&&z5(A.result.state.current.effect)&&A.result.state.current.effect._tag==="Failure"&&n7(A.result.state.current.effect.cause))return!0;else return!1}))U.forEach((A)=>A()),X?.(),Y(Y9(G))}};G.addObserver((A)=>{U.forEach((Q)=>Q()),Y(A)});let U=Z.map((A,Q)=>{let O=(P)=>{W[Q]=P,D()};return A.listeners.addObserver(O),()=>A.listeners.removeObserver(O)});return D(),E(()=>{U.forEach((A)=>A())})})),D$(()=>{let G=Z.flatMap((Y)=>{if(!Y.state.completed)return[Y];return[]});return q8(G,(Y)=>MO(Y.request,P2(J)))})));var J6=($,Z)=>{return Z=j8(Z),l1(x$((X)=>{let J=n8(X.getFiberRef(B8),U1),G=RH(X,$,Z),Y=X.getFiberRef(W9),W=l0(X.getFiberRef(z0),tZ);return i$(D9(J,(D)=>sQ(G,D,W,Y)),G)}))},sH=($)=>LZ(z0,e$(G4,$)),QS=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return T(J6(Z,j8(X)),(G)=>_9(J,gZ,G))}return(J)=>T(J6(Z,j8(X)),(G)=>_9(J,gZ,G))};var wi=O2,Ci=B2,bO=U1,Li=N2,qi=D9,gO=F5,Ei=A1,hO=x8,xi=IO,Si=c5;var t={};M8(t,{zipWith:()=>vv,zipRight:()=>O6$,zipLeft:()=>Q6$,zip:()=>V6$,yieldNow:()=>H$$,withUnhandledErrorLogLevel:()=>I8$,withTracerTiming:()=>x6$,withTracerScoped:()=>q6$,withTracerEnabled:()=>E6$,withTracer:()=>L6$,withSpanScoped:()=>d6$,withSpan:()=>yv,withSchedulingPriority:()=>y0$,withScheduler:()=>v0$,withRuntimeFlagsPatchScoped:()=>l8$,withRuntimeFlagsPatch:()=>r8$,withRequestCaching:()=>z6$,withRequestCache:()=>R6$,withRequestBatching:()=>M6$,withRandomScoped:()=>u8$,withRandomFixed:()=>d8$,withRandom:()=>Iv,withParentSpan:()=>u6$,withMetric:()=>$6$,withMaxOpsBeforeYield:()=>b0$,withLogSpan:()=>x8$,withFiberRuntime:()=>T4,withExecutionPlan:()=>L$$,withEarlyRelease:()=>B0$,withConsoleScoped:()=>d0$,withConsole:()=>u0$,withConfigProviderScoped:()=>XZ$,withConfigProvider:()=>ZZ$,withConcurrency:()=>I0$,withClockScoped:()=>m0$,withClock:()=>f0$,whileLoop:()=>SG,whenRef:()=>hZ$,whenLogLevel:()=>v8$,whenFiberRef:()=>gZ$,whenEffect:()=>bZ$,when:()=>yZ$,void:()=>M4,validateWith:()=>K6$,validateFirst:()=>le,validateAll:()=>re,validate:()=>A6$,using:()=>O0$,useSpan:()=>c6$,updateService:()=>_Z$,updateFiberRefs:()=>O8$,unsandbox:()=>k$$,unsafeMakeSemaphore:()=>Z6$,unsafeMakeLatch:()=>J6$,unlessEffect:()=>vZ$,unless:()=>IZ$,uninterruptibleMask:()=>c$$,uninterruptible:()=>f$$,tryPromise:()=>j$$,tryMapPromise:()=>S$$,tryMap:()=>x$$,try:()=>E$$,transposeOption:()=>r6$,transposeMapOption:()=>l6$,transplant:()=>k0$,tracerWith:()=>C6$,tracer:()=>w6$,timeoutTo:()=>e0$,timeoutOption:()=>s0$,timeoutFailCause:()=>t0$,timeoutFail:()=>a0$,timeout:()=>i0$,timedWith:()=>l0$,timed:()=>r0$,tapErrorTag:()=>iZ$,tapErrorCause:()=>sZ$,tapError:()=>lZ$,tapDefect:()=>rZ$,tapBoth:()=>nZ$,tap:()=>BN,takeWhile:()=>ke,takeUntil:()=>je,tagMetricsScoped:()=>a8$,tagMetrics:()=>i8$,sync:()=>O1,suspend:()=>QN,supervised:()=>j0$,summarized:()=>oZ$,succeedSome:()=>D$$,succeedNone:()=>VN,succeed:()=>KN,step:()=>P6$,spanLinks:()=>b6$,spanAnnotations:()=>y6$,sleep:()=>n0$,setFiberRefs:()=>Q8$,serviceOptional:()=>NZ$,serviceOption:()=>BZ$,serviceMembers:()=>OZ$,serviceFunctions:()=>VZ$,serviceFunctionEffect:()=>KZ$,serviceFunction:()=>AZ$,serviceConstants:()=>QZ$,sequentialFinalizers:()=>H0$,scopedWith:()=>V0$,scoped:()=>Q0$,scopeWith:()=>K0$,scope:()=>A0$,scheduleFrom:()=>Y8$,scheduleForked:()=>G8$,schedule:()=>J8$,sandbox:()=>w$$,runtime:()=>jG,runSyncExit:()=>U6$,runSync:()=>H6$,runRequestBlock:()=>_6$,runPromiseExit:()=>D6$,runPromise:()=>W6$,runFork:()=>kG,runCallback:()=>Y6$,retryOrElse:()=>q$$,retry:()=>C$$,request:()=>F6$,replicateEffect:()=>ne,replicate:()=>oe,repeatOrElse:()=>X8$,repeatN:()=>Z8$,repeat:()=>$8$,reduceWhile:()=>pe,reduceRight:()=>de,reduceEffect:()=>ue,reduce:()=>ce,randomWith:()=>p8$,random:()=>c8$,raceWith:()=>uZ$,raceFirst:()=>dZ$,raceAll:()=>pZ$,race:()=>cZ$,provideServiceEffect:()=>UZ$,provideService:()=>HZ$,provide:()=>DZ$,promise:()=>W$$,patchRuntimeFlags:()=>n8$,patchFiberRefs:()=>V8$,partition:()=>fe,parallelFinalizers:()=>D0$,parallelErrors:()=>R$$,orElseSucceed:()=>m8$,orElseFail:()=>h8$,orElse:()=>g8$,orDieWith:()=>b8$,orDie:()=>y8$,optionFromOptional:()=>n6$,option:()=>RZ$,once:()=>Ce,onInterrupt:()=>m$$,onExit:()=>W0$,onError:()=>Y0$,none:()=>Y$$,never:()=>G$$,negate:()=>$0$,metricLabels:()=>e8$,mergeAll:()=>me,merge:()=>e$$,matchEffect:()=>T8$,matchCauseEffect:()=>F8$,matchCause:()=>P8$,match:()=>_8$,mapInputContext:()=>WZ$,mapErrorCause:()=>t$$,mapError:()=>a$$,mapBoth:()=>s$$,mapAccum:()=>i$$,map:()=>$8,makeSpanScoped:()=>f6$,makeSpan:()=>m6$,makeSemaphore:()=>X6$,makeLatch:()=>G6$,loop:()=>eZ$,logWithLevel:()=>z8$,logWarning:()=>L8$,logTrace:()=>R8$,logInfo:()=>C8$,logFatal:()=>E8$,logError:()=>q8$,logDebug:()=>w8$,logAnnotations:()=>k8$,log:()=>M8$,locallyWith:()=>U8$,locallyScopedWith:()=>K8$,locallyScoped:()=>A8$,locally:()=>H8$,linkSpans:()=>g6$,linkSpanCurrent:()=>h6$,liftPredicate:()=>p$$,let:()=>zZ$,labelMetricsScoped:()=>t8$,labelMetrics:()=>s8$,iterate:()=>tZ$,isSuccess:()=>N8$,isFailure:()=>B8$,isEffect:()=>LG,intoDeferred:()=>xG,interruptibleMask:()=>h$$,interruptible:()=>g$$,interruptWith:()=>b$$,interrupt:()=>hX,inheritFiberRefs:()=>D8$,ignoreLogged:()=>z$$,ignore:()=>M$$,if:()=>LZ$,head:()=>he,getRuntimeFlags:()=>o8$,getFiberRefs:()=>W8$,gen:()=>J$$,functionWithSpan:()=>p6$,fromNullable:()=>o6$,fromFiberEffect:()=>S0$,fromFiber:()=>x0$,forkWithErrorHandler:()=>E0$,forkScoped:()=>q0$,forkIn:()=>L0$,forkDaemon:()=>ON,forkAll:()=>C0$,fork:()=>w0$,forever:()=>aZ$,forEach:()=>qG,fnUntraced:()=>t6$,fn:()=>a6$,flipWith:()=>l$$,flip:()=>r$$,flatten:()=>fZ$,flatMap:()=>s5,firstSuccessOf:()=>f8$,findFirst:()=>ge,finalizersMask:()=>U0$,filterOrFail:()=>SZ$,filterOrElse:()=>xZ$,filterOrDieMessage:()=>EZ$,filterOrDie:()=>qZ$,filterMap:()=>be,filterEffectOrFail:()=>kZ$,filterEffectOrElse:()=>jZ$,filter:()=>ye,fiberIdWith:()=>mX,fiberId:()=>R0$,failSync:()=>ee,failCauseSync:()=>$$$,failCause:()=>kv,fail:()=>te,exit:()=>CZ$,exists:()=>ve,every:()=>Ie,eventually:()=>T$$,ensuringChildren:()=>z0$,ensuringChild:()=>M0$,ensuring:()=>G0$,ensureSuccessType:()=>e6$,ensureRequirementsType:()=>Z1$,ensureErrorType:()=>$1$,either:()=>wZ$,dropWhile:()=>Se,dropUntil:()=>xe,disconnect:()=>y$$,diffFiberRefs:()=>T0$,dieSync:()=>X$$,dieMessage:()=>Z$$,die:()=>AN,descriptorWith:()=>F0$,descriptor:()=>P0$,delay:()=>o0$,daemonChildren:()=>_0$,custom:()=>ae,currentSpan:()=>k6$,currentPropagatedSpan:()=>I6$,currentParentSpan:()=>v6$,contextWithEffect:()=>YZ$,contextWith:()=>GZ$,context:()=>JZ$,consoleWith:()=>p0$,console:()=>c0$,configProviderWith:()=>$Z$,clockWith:()=>h0$,clock:()=>g0$,checkInterruptible:()=>v$$,cause:()=>F$$,catchTags:()=>P$$,catchTag:()=>_$$,catchSomeDefect:()=>N$$,catchSomeCause:()=>B$$,catchSome:()=>O$$,catchIf:()=>Q$$,catchAllDefect:()=>V$$,catchAllCause:()=>K$$,catchAll:()=>A$$,catch:()=>U$$,cachedWithTTL:()=>Me,cachedInvalidateWithTTL:()=>ze,cachedFunction:()=>we,cached:()=>Re,cacheRequestResult:()=>T6$,blocked:()=>N6$,bindTo:()=>MZ$,bindAll:()=>TZ$,bind:()=>FZ$,awaitAllChildren:()=>N0$,asyncEffect:()=>se,async:()=>ie,asVoid:()=>n$$,asSomeError:()=>o$$,asSome:()=>u$$,as:()=>d$$,ap:()=>B6$,annotateSpans:()=>S6$,annotateLogsScoped:()=>j8$,annotateLogs:()=>S8$,annotateCurrentSpan:()=>j6$,andThen:()=>mZ$,allowInterrupt:()=>I$$,allWith:()=>qe,allSuccesses:()=>Ee,all:()=>Le,addFinalizer:()=>J0$,acquireUseRelease:()=>X0$,acquireReleaseInterruptible:()=>Z0$,acquireRelease:()=>EG,Tag:()=>i6$,Service:()=>s6$,EffectTypeId:()=>Te,Do:()=>PZ$});var Y6={};M8(Y6,{stripSomeDefects:()=>Qs,stripFailures:()=>Vs,squashWith:()=>Ts,squash:()=>t2,size:()=>ti,sequential:()=>ui,reduceWithContext:()=>e2,reduce:()=>ws,prettyErrors:()=>ms,pretty:()=>hs,parallel:()=>di,originalError:()=>fs,match:()=>Rs,map:()=>Bs,linearize:()=>Ks,keepDefects:()=>As,isUnknownException:()=>ys,isTimeoutException:()=>Is,isSequentialType:()=>si,isRuntimeException:()=>js,isParallelType:()=>ai,isNoSuchElementException:()=>xs,isInterruptedOnly:()=>a2,isInterruptedException:()=>Ls,isInterrupted:()=>Xs,isInterruptType:()=>ii,isIllegalArgumentException:()=>qs,isFailure:()=>$s,isFailType:()=>ri,isExceededCapacityException:()=>gs,isEmptyType:()=>ni,isEmpty:()=>ei,isDieType:()=>li,isDie:()=>Zs,isCause:()=>oi,interruptors:()=>Ys,interruptOption:()=>Us,interrupt:()=>pi,flipCauseOption:()=>Ds,flatten:()=>Ps,flatMap:()=>Ns,find:()=>Ms,filter:()=>zs,failures:()=>Js,failureOrCause:()=>mO,failureOption:()=>Ws,fail:()=>aH,empty:()=>ci,dieOption:()=>Hs,die:()=>tH,defects:()=>Gs,contains:()=>Fs,as:()=>Os,andThen:()=>_s,YieldableError:()=>fi,UnknownExceptionTypeId:()=>mi,UnknownException:()=>vs,TimeoutExceptionTypeId:()=>hi,TimeoutException:()=>ks,RuntimeExceptionTypeId:()=>ki,RuntimeException:()=>Ss,NoSuchElementExceptionTypeId:()=>yi,NoSuchElementException:()=>Es,InvalidPubSubCapacityExceptionTypeId:()=>bi,InterruptedExceptionTypeId:()=>Ii,InterruptedException:()=>Cs,IllegalArgumentExceptionTypeId:()=>vi,IllegalArgumentException:()=>$G,ExceededCapacityExceptionTypeId:()=>gi,ExceededCapacityException:()=>bs,CauseTypeId:()=>ji});var ji=DD,ki=eJ,Ii=$2,vi=Z2,yi=X2,bi=VD,gi=J2,hi=G2,mi=Y2,fi=GX,ci=u0,aH=Q8,tH=P0,pi=QZ,di=F0,ui=$0,oi=oJ,ni=HD,ri=gz,li=D5,ii=hz,si=mz,ai=fz,ti=cz,ei=nJ,$s=pz,Zs=dz,Xs=n7,a2=H5,Js=r7,Gs=l7,Ys=U5,Ws=i7,mO=R6,Ds=uz,Hs=AV,Us=KV,As=UD,Ks=nz,Vs=rJ,Qs=lz,Os=iz,Bs=s7,Ns=u7,_s=sz,Ps=AD,Fs=az,t2=wR,Ts=zV,Ms=e6,zs=ez,Rs=$1,ws=c1,e2=A5,Cs=wV,Ls=SD,$G=e8,qs=LR,Es=yZ,xs=jD,Ss=RV,js=CR,ks=CV,Is=SR,vs=M5,ys=jR,bs=qR,gs=ER,hs=w6,ms=a7,fs=DR;var cs="effect/ScheduleInterval",ZG=Symbol.for(cs),fO={[ZG]:ZG,startMillis:0,endMillis:0},eH=($,Z)=>{if($>Z)return fO;return{[ZG]:ZG,startMillis:$,endMillis:Z}},OS=V(2,($,Z)=>BS($,Z)===$),BS=V(2,($,Z)=>{if($.endMillis<=Z.startMillis)return $;if(Z.endMillis<=$.startMillis)return Z;if($.startMillis<Z.startMillis)return $;if(Z.startMillis<$.startMillis)return Z;if($.endMillis<=Z.endMillis)return $;return Z});var NS=($)=>{return $.startMillis>=$.endMillis};var _S=V(2,($,Z)=>{let X=Math.max($.startMillis,Z.startMillis),J=Math.min($.endMillis,Z.endMillis);return eH(X,J)}),PS=($)=>{return xZ($.endMillis-$.startMillis)};var FS=($)=>{return eH($,Number.POSITIVE_INFINITY)};var eZ=eH,cO=fO,TS=OS;var MS=NS;var zS=_S,RS=PS;var q6=FS;var ds="effect/ScheduleIntervals",pO=Symbol.for(ds),ZU=($)=>{return{[pO]:pO,intervals:$}};var LS=V(2,($,Z)=>{if(!D0(Z.intervals))return $;if(!D0($.intervals))return Z;if(g$($.intervals).startMillis<g$(Z.intervals).startMillis)return CS(H0($.intervals),Z.intervals,g$($.intervals),w0());return CS($.intervals,H0(Z.intervals),g$(Z.intervals),w0())}),CS=($,Z,X,J)=>{let G=$,Y=Z,W=X,D=J;while(D0(G)||D0(Y))if(!D0(G)&&D0(Y))if(W.endMillis<g$(Y).startMillis)D=F(D,O0(W)),W=g$(Y),Y=H0(Y),G=w0();else W=eZ(W.startMillis,g$(Y).endMillis),Y=H0(Y),G=w0();else if(D0(G)&&QW(Y))if(W.endMillis<g$(G).startMillis)D=F(D,O0(W)),W=g$(G),Y=w0(),G=H0(G);else W=eZ(W.startMillis,g$(G).endMillis),Y=w0(),G=H0(G);else if(D0(G)&&D0(Y))if(g$(G).startMillis<g$(Y).startMillis)if(W.endMillis<g$(G).startMillis)D=F(D,O0(W)),W=g$(G),G=H0(G);else W=eZ(W.startMillis,g$(G).endMillis),G=H0(G);else if(W.endMillis<g$(Y).startMillis)D=F(D,O0(W)),W=g$(Y),Y=H0(Y);else W=eZ(W.startMillis,g$(Y).endMillis),Y=H0(Y);else throw Error(E1("Intervals.unionLoop"));return ZU(F(D,O0(W),R8))},qS=V(2,($,Z)=>us($.intervals,Z.intervals,w0())),us=($,Z,X)=>{let J=$,G=Z,Y=X;while(D0(J)&&D0(G)){let W=F(g$(J),zS(g$(G))),D=MS(W)?Y:F(Y,O0(W));if(F(g$(J),TS(g$(G))))J=H0(J);else G=H0(G);Y=D}return ZU(R8(Y))},$U=($)=>{return F($.intervals,xJ,p0(()=>cO)).startMillis},ES=($)=>{return F($.intervals,xJ,p0(()=>cO)).endMillis},dO=V(2,($,Z)=>$U($)<$U(Z)),xS=($)=>{return D0($.intervals)},SS=V(2,($,Z)=>dO($,Z)?Z:$);var jS=ZU;var uO=LS,kS=qS,T9=$U,XU=ES,IS=dO,vS=xS,yS=SS;var nO="Continue",bS="Done",gS=($)=>{return{_tag:nO,intervals:$}},hS=($)=>{return{_tag:nO,intervals:jS(S0($))}},mS={_tag:bS},fS=($)=>{return $._tag===nO},cS=($)=>{return $._tag===bS};var p5=gS;var t0=hS,y8=mS,N4=fS,UZ=cS;class uS{permits;waiters=new Set;taken=0;constructor($){this.permits=$}get free(){return this.permits-this.taken}take=($)=>D2((Z)=>{if(this.free<$){let X=()=>{if(this.free<$)return;this.waiters.delete(X),Z(D$(()=>{if(this.free<$)return this.take($);return this.taken+=$,R($)}))};return this.waiters.add(X),E(()=>{this.waiters.delete(X)})}Z(D$(()=>{if(this.free<$)return this.take($);return this.taken+=$,R($)}))});updateTakenUnsafe($,Z){if(this.taken=Z(this.taken),this.waiters.size>0)$.getFiberRef($4).scheduleTask(()=>{let X=this.waiters.values(),J=X.next();while(J.done===!1&&this.free>0)J.value(),J=X.next()},$.getFiberRef(i1),$);return R(this.free)}updateTaken($){return x$((Z)=>this.updateTakenUnsafe(Z,$))}resize=($)=>T0(x$((Z)=>{if(this.permits=$,this.free<0)return M$;return this.updateTakenUnsafe(Z,(X)=>X)}));release=($)=>this.updateTaken((Z)=>Z-$);releaseAll=this.updateTaken(($)=>0);withPermits=($)=>(Z)=>j0((X)=>T(X(this.take($)),(J)=>v8(X(Z),this.release(J))));withPermitsIfAvailable=($)=>(Z)=>j0((X)=>D$(()=>{if(this.free<$)return I5;return this.taken+=$,v8(X(_X(Z)),this.release($))}))}var JU=($)=>new uS($),oS=($)=>E(()=>JU($));class nS extends V9{isOpen;waiters=[];scheduled=!1;constructor($){super();this.isOpen=$}commit(){return this.await}unsafeSchedule($){if(this.scheduled||this.waiters.length===0)return M$;return this.scheduled=!0,$.currentScheduler.scheduleTask(this.flushWaiters,$.getFiberRef(i1),$),M$}flushWaiters=()=>{this.scheduled=!1;let $=this.waiters;this.waiters=[];for(let Z=0;Z<$.length;Z++)$[Z](bZ)};open=x$(($)=>{if(this.isOpen)return M$;return this.isOpen=!0,this.unsafeSchedule($)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=x$(($)=>{if(this.isOpen)return M$;return this.unsafeSchedule($)});await=D2(($)=>{if(this.isOpen)return $(M$);return this.waiters.push($),E(()=>{let Z=this.waiters.indexOf($);if(Z!==-1)this.waiters.splice(Z,1)})});unsafeClose(){this.isOpen=!1}close=E(()=>{this.isOpen=!1});whenOpen=($)=>{return j$(this.await,$)}}var iO=($)=>new nS($??!1),rS=($)=>E(()=>iO($)),lS=($)=>GU($,lH),iS=V(2,($,Z)=>I(sO($,Z),(X)=>X[0])),sO=V(2,($,Z)=>{let X=Y0(Z);return T(_8(),(J)=>I(WU(S()),(G)=>[aZ(rs($,X,G),J),ls(G)]))}),dS=($,Z,X)=>{let J=zZ(Y0(Z));return F(N8(),IZ((G)=>X1($,G)),I((G)=>j([X+J,G])))},rs=($,Z,X)=>j0((J)=>F(W1((G)=>G.currentTimeMillis),T((G)=>ts(X,(Y)=>{switch(Y._tag){case"None":return j(dS($,Z,G));case"Some":{let[W]=Y.value;return W-G<=0?j(dS($,Z,G)):S()}}})),T((G)=>I$(G)?t4("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):J(DZ(G.value[1]))))),ls=($)=>Y1($,S()),sS=V(2,($,Z)=>GU($,(X)=>Z(CX(X)))),GU=V(2,($,Z)=>T(Rx,(X)=>F(tO($,X),v8(T(X.value,Z))))),aS=V(($)=>p8($[0]),($,Z)=>Z?.discard?q8($,O4):I(OZ($,O4),CX)),aO=V(2,($,Z)=>x$((X,J)=>{let G=Z,Y=i2($,X,J.runtimeFlags,L6);if(G.state._tag==="Open"){let W=()=>O8((U)=>s(U,Y.id())?M$:T0(Y9(Y))),D={};G.state.finalizers.set(D,W),Y.addObserver(()=>{if(G.state._tag==="Closed")return;G.state.finalizers.delete(D)})}else Y.unsafeInterruptAsFork(X.id());return R(Y)})),YU=($)=>G6((Z)=>aO($,Z)),tS=($)=>NZ($),eS=($)=>D$(()=>T($,NZ)),rO=Symbol.for("effect/Effect/memoizeFunction.key");class lO{a;eq;[rO]=rO;constructor($,Z){this.a=$,this.eq=Z}[G$]($){if(u($,rO))if(this.eq)return this.eq(this.a,$.a);else return s(this.a,$.a);return!1}[Y$](){return this.eq?0:C$(this,a(this.a))}}var $j=($,Z)=>{return F(E(()=>U4()),T(WU),I((X)=>(J)=>F(X.modifyEffect((G)=>{let Y=F(G,N0(new lO(J,Z)));if(I$(Y))return F(N8(),IZ((W)=>F(PX($(J)),X1(W),O4)),I((W)=>[W,F(G,hZ(new lO(J,Z),W))]));return R([Y.value,G])}),T(DZ),T(([G,Y])=>F(j5(G),i$(Y))))))},Zj=V(2,($,Z)=>F(V0($),iH(V0(Z)),(X)=>kZ(X))),tO=V(2,($,Z)=>{return a0(rH,(J)=>J.zip(Z))($)}),Xj=V(2,($,Z)=>eO($,{onTimeout:()=>xR(Z),duration:Z})),eO=V(2,($,{duration:Z,onTimeout:X})=>kZ(XG($,{onTimeout:()=>t8(X),onSuccess:R,duration:Z}))),Jj=V(2,($,{duration:Z,onTimeout:X})=>kZ(XG($,{onTimeout:()=>o1(X),onSuccess:R,duration:Z}))),Gj=V(2,($,Z)=>XG($,{duration:Z,onSuccess:j,onTimeout:S})),XG=V(2,($,{duration:Z,onSuccess:X,onTimeout:J})=>O8((G)=>j0((Y)=>yO(Y($),r1(k5(Z)),{onSelfWin:(W,D)=>T(W.await,(U)=>{if(U._tag==="Success")return T(W.inheritAll,()=>i$(vZ(D,G),X(U.value)));else return T(vZ(D,G),()=>b$(U.cause))}),onOtherWin:(W,D)=>T(W.await,(U)=>{if(U._tag==="Success")return T(W.inheritAll,()=>i$(vZ(D,G),J()));else return T(vZ(D,G),()=>b$(U.cause))}),otherScope:L6})))),is="effect/Ref/SynchronizedRef",ss=Symbol.for(is),as={_A:($)=>$};class Yj extends V9{ref;withLock;[ss]=as;[JH]=VQ;[O9]=O9;constructor($,Z){super();this.ref=$,this.withLock=Z,this.get=CZ(this.ref)}get;commit(){return this.get}modify($){return this.modifyEffect((Z)=>R($(Z)))}modifyEffect($){return this.withLock(F(T(CZ(this.ref),$),T(([Z,X])=>i$(Y1(this.ref,X),Z))))}}var WU=($)=>E(()=>$B($)),$B=($)=>{let Z=AX($),X=JU(1);return new Yj(Z,X.withPermits(1))},ts=V(2,($,Z)=>$.modifyEffect((X)=>{let J=Z(X);switch(J._tag){case"None":return R([X,X]);case"Some":return I(J.value,(G)=>[G,G])}})),Wj=V(2,($,Z)=>JG($,Z,(X,J)=>[X,J])),Dj=V(2,($,Z)=>JG($,Z,(X,J)=>X)),Hj=V(2,($,Z)=>JG($,Z,(X,J)=>J)),JG=V(3,($,Z,X)=>({...gD,commit(){return NZ(this)},[D4]:zX,id:()=>F($.id(),uW(Z.id())),await:F($.await,kZ,H1(kZ(Z.await),X,{concurrent:!0}),V0),children:$.children,inheritAll:j$(Z.inheritAll,$.inheritAll),poll:sZ($.poll,Z.poll,(J,G)=>F(J,rZ((Y)=>F(G,x0((W)=>gV(Y,W,{onSuccess:X,onFailure:F0})))))),interruptAsFork:(J)=>j$($.interruptAsFork(J),Z.interruptAsFork(J)),pipe(){return n(this,arguments)}})),Uj=V(($)=>p$($[0]),($,Z,X)=>T($,(J)=>F9(Z(J),X).pipe(I((G)=>Object.assign({},J,G)))));var Aj=Symbol.for("effect/ManagedRuntime");var Kj="ExtendScope",Vj="Fold",XB="Fresh",Qj="FromEffect",Oj="Scoped",Bj="Suspend",Nj="Provide",JB="ProvideMerge",_j="MergeAll",Pj="ZipWith";var K1={};M8(K1,{zipWith:()=>da,zipRight:()=>pa,zipLeft:()=>ca,zip:()=>fa,void:()=>ma,unsafeRoots:()=>ya,succeed:()=>ha,status:()=>ga,scoped:()=>ba,roots:()=>va,pretty:()=>Ia,poll:()=>ka,orElseEither:()=>ja,orElse:()=>Sa,never:()=>xa,match:()=>Ea,mapFiber:()=>qa,mapEffect:()=>La,map:()=>Ca,joinAll:()=>wa,join:()=>Ra,isRuntimeFiber:()=>Ya,isFiber:()=>Ga,interrupted:()=>Fa,interruptFork:()=>za,interruptAsFork:()=>Ta,interruptAs:()=>M9,interruptAllAs:()=>YG,interruptAll:()=>Ma,interrupt:()=>Pa,inheritAll:()=>_a,id:()=>Wa,getCurrentFiber:()=>Na,fromEffect:()=>Ba,failCause:()=>Oa,fail:()=>Qa,dumpAll:()=>Va,dump:()=>Ka,done:()=>Aa,children:()=>Ha,awaitAll:()=>Da,await:()=>GG,all:()=>Ua,RuntimeFiberTypeId:()=>Xa,Order:()=>Ja,FiberTypeId:()=>Za});var Za=D4,Xa=g2,Ja=tq,Ga=eq,Ya=b2,Wa=GE,GG=EH;var Da=lH,Ha=$E,Ua=CX,Aa=y5,Ka=xH,Va=ZE,Qa=XE,Oa=JO,Ba=JE,Na=NE,_a=SH,Pa=Y9,Fa=YE,M9=vZ,Ta=jH,Ma=WE,YG=h2,za=US,Ra=NZ,wa=AS,Ca=LH,La=GO,qa=DE,Ea=HE,xa=UE,Sa=YO,ja=AE,ka=KE,Ia=VE,va=QE,ya=WO,ba=KS,ga=OE,ha=DO,ma=BE;var fa=Wj,ca=Dj,pa=Hj,da=JG;var LX=($)=>function(){if(arguments.length===1){let Z=arguments[0];return(X,...J)=>$(Z,X,...J)}return $.apply(this,arguments)},qX=LX(($,Z,X)=>{let J=nW(),G=[[B8,[[J,$.context]]]];if(X?.scheduler)G.push([$4,[[J,X.scheduler]]]);let Y=Ow($.fiberRefs,{entries:G,forkAs:J});if(X?.updateRefs)Y=X.updateRefs(Y,J);let W=new uH(J,Y,$.runtimeFlags),D=Z;if(X?.scope)D=T(hO(X.scope,Z6),(A)=>j$(N2(A,O8((Q)=>s(Q,W.id())?M$:vZ(W,Q))),iZ(Z,(Q)=>gO(A,Q))));let U=W.currentSupervisor;if(U!==h5)U.onStart($.context,D,S(),W),W.addObserver((A)=>U.onEnd(A,W));if(L6.add($.runtimeFlags,W),X?.immediate===!1)W.resume(D);else W.start(D);return W}),DU=LX(($,Z,X={})=>{let J=qX($,Z,X);if(X.onExit)J.addObserver((G)=>{X.onExit(G)});return(G,Y)=>DU($)(F(J,M9(G??d0)),{...Y,onExit:Y?.onExit?(W)=>Y.onExit(vV(W)):void 0})}),Fj=LX(($,Z)=>{let X=WB($)(Z);if(X._tag==="Failure")throw YB(X.effect_instruction_i0);return X.effect_instruction_i0});class Tj extends Error{fiber;_tag="AsyncFiberException";constructor($){super(`Fiber #${$.id().id} cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work`);this.fiber=$,this.name=this._tag,this.stack=this.message}}var ua=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new Tj($);return Error.stackTraceLimit=Z,X};var GB=Symbol.for("effect/Runtime/FiberFailure"),WG=Symbol.for("effect/Runtime/FiberFailure/Cause");class Mj extends Error{[GB];[WG];constructor($){let Z=a7($)[0];super(Z?.message||"An error has occurred");if(this[GB]=GB,this[WG]=$,this.name=Z?`(FiberFailure) ${Z.name}`:"FiberFailure",Z?.stack)this.stack=Z.stack}toJSON(){return{_id:"FiberFailure",cause:this[WG].toJSON()}}toString(){return"(FiberFailure) "+w6(this[WG],{renderErrorCause:!0})}[w$](){return this.toString()}}var YB=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new Mj($);return Error.stackTraceLimit=Z,X};var zj=($)=>{let Z=$;switch(Z._op){case"Failure":case"Success":return Z;case"Left":return U9(Z.left);case"Right":return Z0(Z.right);case"Some":return Z0(Z.value);case"None":return U9(new yZ)}},WB=LX(($,Z)=>{let X=zj(Z);if(X)return X;let J=new BQ,G=qX($)(Z,{scheduler:J});J.flush();let Y=G.unsafePoll();if(Y)return Y;return ID(BD(ua(G),yD(G)))}),Rj=LX(($,Z,X)=>DB($,Z,X).then((J)=>{switch(J._tag){case J0:return J.effect_instruction_i0;case X0:throw YB(J.effect_instruction_i0)}})),DB=LX(($,Z,X)=>new Promise((J)=>{let G=zj(Z);if(G)J(G);let Y=qX($)(Z);if(Y.addObserver((W)=>{J(W)}),X?.signal!==void 0)if(X.signal.aborted)Y.unsafeInterruptAsFork(Y.id());else X.signal.addEventListener("abort",()=>{Y.unsafeInterruptAsFork(Y.id())},{once:!0})}));class HB{context;runtimeFlags;fiberRefs;constructor($,Z,X){this.context=$,this.runtimeFlags=Z,this.fiberRefs=X}pipe(){return n(this,arguments)}}var UB=($)=>new HB($.context,$.runtimeFlags,$.fiberRefs),EX=()=>x$(($,Z)=>R(new HB($.getFiberRef(B8),Z.runtimeFlags,$.getFiberRefs()))),wj=aK(M6,lK,rK),E6=UB({context:VZ(),runtimeFlags:wj,fiberRefs:Bw()});var Cj=DU(E6),Lj=qX(E6),qj=Rj(E6),Ej=DB(E6),xj=Fj(E6),Sj=WB(E6),jj=($)=>D$(()=>{let Z=void 0;return T(N8(),(X)=>T(EX(),(J)=>j0((G)=>j$(O4(G(B0($((Y)=>DU(J)(X1(Y,X))),{onFailure:(Y)=>M2(X,Y),onSuccess:(Y)=>{return Z=Y,M$}}))),G(J1(DZ(X),()=>Z??M$))))))});var kj=V(2,($,Z)=>$.modifyEffect(Z));var na="effect/Layer",UU=Symbol.for(na),ra={_RIn:($)=>$,_E:($)=>$,_ROut:($)=>$},W6={[UU]:ra,pipe(){return n(this,arguments)}},la="effect/Layer/MemoMap",DG=Symbol.for(la),KB=n6()("effect/Layer/CurrentMemoMap",{defaultValue:()=>ia()}),UG=($)=>u($,UU),VB=($)=>{return $._op_layer===XB};class QB{ref;[DG];constructor($){this.ref=$,this[DG]=DG}getOrElseMemoize($,Z){return F(kj(this.ref,(X)=>{let J=X.get($);if(J!==void 0){let[G,Y]=J,W=F(G,T(([D,U])=>F(j5(D),i$(U))),iZ(R5({onFailure:()=>M$,onSuccess:()=>D9(Z,Y)})));return R([W,X])}return F(q5(0),T((G)=>F(N8(),T((Y)=>F(q5(()=>M$),I((W)=>{let D=j0((A)=>F(c5(),T((Q)=>F(A(T(gj($,Q,!0),(O)=>PX(O(this)))),V0,T((O)=>{switch(O._tag){case X0:return F(M2(Y,O.effect_instruction_i0),j$(F5(Q,O)),j$(E$(O.effect_instruction_i0)));case J0:return F(Y1(W,(P)=>F(F5(Q,P),ZX(QQ(G,(_)=>[_===1,_-1])),T0)),j$(E5(G,(P)=>P+1)),j$(D9(Z,(P)=>F(E(()=>X.delete($)),j$(CZ(W)),T((_)=>_(P))))),j$(SV(Y,O.effect_instruction_i0)),i$(O.effect_instruction_i0[1]))}}))))),U=[F(DZ(Y),iZ(w5({onFailure:()=>M$,onSuccess:()=>E5(G,(A)=>A+1)}))),(A)=>F(CZ(W),T((Q)=>Q(A)))];return[D,VB($)?X:X.set($,U)]}))))))}),kZ)}}var OB=D$(()=>I(WU(new Map),($)=>new QB($))),ia=()=>new QB($B(new Map)),bj=($)=>G6((Z)=>z9($,Z)),z9=V(2,($,Z)=>T(OB,(X)=>AU($,X,Z))),AU=V(3,($,Z,X)=>T(gj($,X),(J)=>_9(J(Z),KB,Z))),gj=($,Z,X=!1)=>{let J=$;switch(J._op_layer){case"Locally":return E(()=>(G)=>J.f(G.getOrElseMemoize(J.self,Z)));case"ExtendScope":return E(()=>(G)=>G6((Y)=>G.getOrElseMemoize(J.layer,Y)));case"Fold":return E(()=>(G)=>F(G.getOrElseMemoize(J.layer,Z),B0({onFailure:(Y)=>G.getOrElseMemoize(J.failureK(Y),Z),onSuccess:(Y)=>G.getOrElseMemoize(J.successK(Y),Z)})));case"Fresh":return E(()=>(G)=>F(J.layer,z9(Z)));case"FromEffect":return X?E(()=>(G)=>J.effect):E(()=>(G)=>G.getOrElseMemoize($,Z));case"Provide":return E(()=>(G)=>F(G.getOrElseMemoize(J.first,Z),T((Y)=>F(G.getOrElseMemoize(J.second,Z),aZ(Y)))));case"Scoped":return X?E(()=>(G)=>A1(J.effect,Z)):E(()=>(G)=>G.getOrElseMemoize($,Z));case"Suspend":return E(()=>(G)=>G.getOrElseMemoize(J.evaluate(),Z));case"ProvideMerge":return E(()=>(G)=>F(G.getOrElseMemoize(J.first,Z),sZ(G.getOrElseMemoize(J.second,Z),J.zipK)));case"ZipWith":return zD(function*(){let G=yield*x8(Z,w2),Y=yield*x8(G,Z6),W=yield*x8(G,Z6);return(D)=>F(D.getOrElseMemoize(J.first,Y),H1(D.getOrElseMemoize(J.second,W),J.zipK,{concurrent:!0}))});case"MergeAll":{let G=J.layers;return I(x8(Z,w2),(Y)=>(W)=>{let D=Array(G.length);return I(Q4(G,XX(function*(U,A){let Q=yield*x8(Y,Z6),O=yield*W.getOrElseMemoize(U,Q);D[A]=O}),!1,!1),()=>VK(...D))})}}},d5=V(2,($,Z)=>_U($,{onFailure:Z,onSuccess:_4})),BB=V(2,($,Z)=>NU($,{onFailure:Z,onSuccess:_4})),NB=($)=>AG(tH($)),hj=($)=>VU(()=>tH($())),mj=($)=>BU($,()=>VZ()),KU=()=>fZ(_8()),fj=($)=>{let Z=Object.create(W6);return Z._op_layer=Kj,Z.layer=$,Z},_B=($)=>AG(aH($)),PB=($)=>VU(()=>aH($())),AG=($)=>fZ(E$($)),VU=($)=>fZ(o1($)),V1=V(2,($,Z)=>_U($,{onFailure:_B,onSuccess:Z})),cj=V(2,($,Z)=>V1($,l0(Z))),FB=($)=>{let Z=Object.create(W6);return Z._op_layer=XB,Z.layer=$,Z},R9=V(2,($,Z)=>{let X=b7($),J=X?$:Z;return fZ(I(X?Z:$,(Y)=>U8(J,Y)))}),pj=($)=>fZ(I($,()=>VZ()));function fZ($){let Z=Object.create(W6);return Z._op_layer=Qj,Z.effect=$,Z}var dj=V(3,($,Z,X)=>QU($,C0(Z,X))),QU=V(2,($,Z)=>{let X=Object.create(W6);return X._op_layer="Locally",X.self=$,X.f=Z,X}),OU=V(3,($,Z,X)=>QU($,a0(Z,X))),uj=($,Z)=>u5(mZ($,Z)),oj=($,Z)=>u5(LZ($,Z)),nj=($,Z,X)=>fZ(I($,(J)=>U8(Z,X(J)))),rj=($)=>oH(j$(G6((Z)=>F($,z9(Z))),G9)),lj=function(){if(arguments.length===1)return($)=>Ij(arguments[0],$);return Ij(arguments[0],arguments[1])},Ij=($,Z)=>xX($,new Proxy({...Z},{get(X,J,G){if(J in X)return X[J];let Y=Error.stackTraceLimit;Error.stackTraceLimit=2;let W=Error(`${$.key}: Unimplemented method "${J.toString()}"`);return Error.stackTraceLimit=Y,W.name="UnimplementedError",sa(W)},has:m6})),sa=($)=>{let Z=RZ($);function X(){return Z}return Object.assign(X,Z),Object.setPrototypeOf(X,Object.getPrototypeOf(Z)),X},BU=V(2,($,Z)=>V1($,(X)=>_4(Z(X)))),ij=V(2,($,Z)=>d5($,(X)=>PB(()=>Z(X)))),NU=V(2,($,{onFailure:Z,onSuccess:X})=>{let J=Object.create(W6);return J._op_layer=Vj,J.layer=$,J.failureK=Z,J.successK=X,J}),_U=V(2,($,{onFailure:Z,onSuccess:X})=>NU($,{onFailure:(J)=>{let G=mO(J);switch(G._tag){case"Left":return Z(G.left);case"Right":return AG(G.right)}},onSuccess:X})),sj=($)=>G6((Z)=>I(TH(z9($,Z)),fZ)),TB=V(2,($,Z)=>MB($,Z,(X,J)=>r8(X,J))),PU=(...$)=>{let Z=Object.create(W6);return Z._op_layer=_j,Z.layers=$,Z},aj=($)=>d5($,(Z)=>NB(Z)),tj=V(2,($,Z)=>d5($,Z)),ej=($)=>TB(KU(),$),$k=V(4,($,Z,X,J)=>BU($,(G)=>U8(X,J(n8(G,Z))))),Zk=V(2,($,Z)=>VG(()=>{let X=WZ("effect/Layer/retry/{ state: unknown }");return F(xX(X,{state:Z.initial}),V1((J)=>Xk($,Z,X,F(J,l0(X)).state)))})),Xk=($,Z,X,J)=>{return F($,d5((G)=>F(aa(Z,X,G,J),V1((Y)=>FB(Xk($,Z,X,F(Y,l0(X)).state))))))},aa=($,Z,X,J)=>{return R9(Z,F(Y4,T((G)=>F($.step(G,X,J),T(([Y,W,D])=>UZ(D)?L$(X):F(NX(xZ(T9(D.intervals)-G)),i$({state:Y})))))))},w9=V(2,($,Z)=>{let X=b7($),J=X?$:Z;return KG(I(X?Z:$,(Y)=>U8(J,Y)))}),u5=($)=>KG(F($,i$(VZ()))),KG=($)=>{let Z=Object.create(W6);return Z._op_layer=Oj,Z.effect=$,Z},Jk=KG(I(f5(c5(),($,Z)=>$.close(Z)),($)=>U8(bO,$))),Gk=($)=>R9($,$),xX=V(2,($,Z)=>{let X=b7($);return fZ(R(U8(X?$:Z,X?Z:$)))}),_4=($)=>{return fZ(R($))},Yk=_4(VZ()),VG=($)=>{let Z=Object.create(W6);return Z._op_layer=Bj,Z.evaluate=$,Z},FU=V(2,($,Z)=>{let X=b7($),J=X?$:Z,G=X?Z:$;return fZ(E(()=>U8(J,G())))}),Wk=($)=>{return fZ(E($))},Dk=V(2,($,Z)=>V1($,(X)=>fZ(i$(Z(X),X)))),Hk=V(2,($,Z)=>d5($,(X)=>fZ(T(Z(X),()=>L$(X))))),Uk=V(2,($,Z)=>BB($,(X)=>fZ(T(Z(X),()=>E$(X))))),Ak=($)=>F(G6((Z)=>z9($,Z)),T((Z)=>F(EX(),aZ(Z)))),Kk=V(2,($,Z)=>T(G6((X)=>AU($,Z,X)),(X)=>F(EX(),aZ(X)))),o5=V(2,($,Z)=>VG(()=>{let X=Object.create(W6);return X._op_layer=Nj,X.first=Object.create(W6,{_op_layer:{value:JB,enumerable:!0},first:{value:KU(),enumerable:!0},second:{value:Array.isArray(Z)?PU(...Z):Z},zipK:{value:(J,G)=>F(J,r8(G))}}),X.second=$,X})),Vk=V(2,($,Z)=>{let X=Object.create(W6);return X._op_layer=JB,X.first=Z,X.second=o5($,Z),X.zipK=(J,G)=>{return F(J,r8(G))},X}),MB=V(3,($,Z,X)=>VG(()=>{let J=Object.create(W6);return J._op_layer=Pj,J.first=$,J.second=Z,J.zipK=X,J})),zB=($)=>{let Z=WZ("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return V1(R9(Z,$),(X)=>l0(X,Z))},HG=($)=>{let Z=WZ("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return V1(w9(Z,$),(X)=>l0(X,Z))},Qk=V(($)=>UG($[0]),function(){let $=arguments;return OU($[0],s1,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),Ok=V(($)=>UG($[0]),function(){let $=arguments;return OU($[0],JX,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),Bk=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return HG(I(X?.onEnd?IZ(J6(Z,X),(G)=>D1((Y)=>X.onEnd(G,Y))):J6(Z,X),(G)=>HU(J,G)))}return(J)=>HG(I(X?.onEnd?IZ(J6(Z,X),(G)=>D1((Y)=>X.onEnd(G,Y))):J6(Z,X),(G)=>HU(J,G)))},HU=V(2,($,Z)=>o5($,_4(U8(gZ,Z)))),vj=V(2,($,Z)=>s2((X)=>T(z9(Z,X),(J)=>vD($,J)))),yj=V(2,($,Z)=>{let X=C5(E6.fiberRefs,Z.fiberRefs),J=s8(E6.runtimeFlags,Z.runtimeFlags);return j0((G)=>x$((Y)=>{let W=Y.getFiberRef(B8),D=Y.getFiberRefs(),U=L5(Y.id(),D)(X),A=Y.currentRuntimeFlags,Q=m1(J)(A),O=C5(U,D),P=s8(Q,A);return Y.setFiberRefs(U),Y.currentRuntimeFlags=Q,v8(vD(G($),r8(W,Z.context)),x$((_)=>{return _.setFiberRefs(L5(_.id(),_.getFiberRefs())(O)),_.currentRuntimeFlags=m1(P)(_.currentRuntimeFlags),M$}))}))}),TU=V(2,($,Z)=>{if(Array.isArray(Z))return vj($,PU(...Z));else if(UG(Z))return vj($,Z);else if(KK(Z))return vD($,Z);else if(Aj in Z)return T(Z.runtimeEffect,(X)=>yj($,X));else return yj($,Z)});var Nk=I(E8(z0),l0(X4)),_k=($)=>wZ(z0,(Z)=>$(l0(Z,X4))),Pk=V(2,($,Z)=>a0($,z0,e$(X4,Z))),Fk=($)=>LZ(z0,e$(X4,$));var ea=function(){let $=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends GX{constructor(X){super(X?.message,X?.cause?{cause:X.cause}:void 0);if(X)Object.assign(this,X),Object.defineProperty(this,$,{value:X,enumerable:!1})}toJSON(){return{...this[$],...this}}}}.BaseEffectError}(),Tk=($)=>{let Z={BaseEffectError:class extends ea{_tag=$}};return Z.BaseEffectError.prototype.name=$,Z.BaseEffectError};var RB=Symbol.for("effect/DateTime"),wB=Symbol.for("effect/DateTime/TimeZone"),Rk={[RB]:RB,pipe(){return n(this,arguments)},[w$](){return this.toString()},toJSON(){return jX(this).toJSON()}},Zt={...Rk,_tag:"Utc",[Y$](){return C$(this,o9(this.epochMillis))},[G$]($){return BG($)&&$._tag==="Utc"&&this.epochMillis===$.epochMillis},toString(){return`DateTime.Utc(${jX(this).toJSON()})`}},Xt={...Rk,_tag:"Zoned",[Y$](){return F(o9(this.epochMillis),V$(a(this.zone)),C$(this))},[G$]($){return BG($)&&$._tag==="Zoned"&&this.epochMillis===$.epochMillis&&s(this.zone,$.zone)},toString(){return`DateTime.Zoned(${Rt(this)})`}},wk={[wB]:wB,[w$](){return this.toString()}},Jt={...wk,_tag:"Named",[Y$](){return C$(this,o$(`Named:${this.id}`))},[G$]($){return SX($)&&$._tag==="Named"&&this.id===$.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},Gt={...wk,_tag:"Offset",[Y$](){return C$(this,o$(`Offset:${this.offset}`))},[G$]($){return SX($)&&$._tag==="Offset"&&this.offset===$.offset},toString(){return`TimeZone.Offset(${Ek(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},Q1=($,Z,X)=>{let J=Object.create(Xt);return J.epochMillis=$,J.zone=Z,Object.defineProperty(J,"partsUtc",{value:X,enumerable:!1,writable:!0}),Object.defineProperty(J,"adjustedEpochMillis",{value:void 0,enumerable:!1,writable:!0}),Object.defineProperty(J,"partsAdjusted",{value:void 0,enumerable:!1,writable:!0}),J},BG=($)=>u($,RB),Yt=($)=>BG($[0]),SX=($)=>u($,wB);var Ck=($)=>SX($)&&$._tag==="Named";var Wt=($)=>$._tag==="Zoned";var Lk=($)=>{let Z=Object.create(Zt);return Z.epochMillis=$,Object.defineProperty(Z,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),Z},zU=($)=>{let Z=$.getTime();if(Number.isNaN(Z))throw new $G("Invalid date");return Lk(Z)},Dt=($)=>{if(BG($))return $;else if($ instanceof Date)return zU($);else if(typeof $==="object"){let Z=new Date(0);return Ft(Z,$),zU(Z)}else if(typeof $==="string"&&!Ht($))return zU(new Date($+"Z"));return zU(new Date($))},Ht=($)=>/Z|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test($),Ut=-8639999956800000,At=8639999949600000,RU=($,Z)=>{if(Z?.timeZone===void 0&&BG($)&&Wt($))return $;let X=Dt($);if(X.epochMillis<Ut||X.epochMillis>At)throw RangeError(`Epoch millis out of range: ${X.epochMillis}`);let J;if(Z?.timeZone===void 0){let G=new Date(X.epochMillis).getTimezoneOffset()*-60*1000;J=CB(G)}else if(SX(Z?.timeZone))J=Z.timeZone;else if(typeof Z?.timeZone==="number")J=CB(Z.timeZone);else{let G=LB(Z.timeZone);if(I$(G))throw new $G(`Invalid time zone: ${Z.timeZone}`);J=G.value}if(Z?.adjustForTimeZone!==!0)return Q1(X.epochMillis,J,X.partsUtc);return jk(X.epochMillis,J,Z?.disambiguation??"compatible")};var OG=_$("effect/DateTime/validZoneCache",()=>new Map),Kt={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},Vt=($)=>{let Z=$.resolvedOptions().timeZone;if(OG.has(Z))return OG.get(Z);let X=Object.create(Jt);return X.id=Z,X.format=$,OG.set(Z,X),X},Qt=($)=>{if(OG.has($))return OG.get($);try{return Vt(new Intl.DateTimeFormat("en-US",{...Kt,timeZone:$}))}catch{throw new $G(`Invalid time zone: ${$}`)}},CB=($)=>{let Z=Object.create(Gt);return Z.offset=$,Z},Ot=u3(Qt);var Bt=/^(?:GMT|[+-])/,LB=($)=>{if(Bt.test($)){let Z=kk($);return Z===null?S():j(CB(Z))}return Ot($)};var jX=($)=>new Date($.epochMillis),n5=($)=>{if($._tag==="Utc")return new Date($.epochMillis);else if($.zone._tag==="Offset")return new Date($.epochMillis+$.zone.offset);else if($.adjustedEpochMillis!==void 0)return new Date($.adjustedEpochMillis);let Z=$.zone.format.formatToParts($.epochMillis).filter((J)=>J.type!=="literal"),X=new Date(0);return X.setUTCFullYear(Number(Z[2].value),Number(Z[0].value)-1,Number(Z[1].value)),X.setUTCHours(Number(Z[3].value),Number(Z[4].value),Number(Z[5].value),Number(Z[6].value)),$.adjustedEpochMillis=X.getTime(),X},qk=($)=>{return n5($).getTime()-_t($)},Ek=($)=>{let Z=Math.abs($),X=Math.floor(Z/3600000),J=Math.round(Z%3600000/60000);if(J===60)X+=1,J=0;return`${$<0?"-":"+"}${String(X).padStart(2,"0")}:${String(J).padStart(2,"0")}`},Nt=($)=>Ek(qk($)),_t=($)=>$.epochMillis;var xk=($)=>({millis:$.getUTCMilliseconds(),seconds:$.getUTCSeconds(),minutes:$.getUTCMinutes(),hours:$.getUTCHours(),day:$.getUTCDate(),weekDay:$.getUTCDay(),month:$.getUTCMonth()+1,year:$.getUTCFullYear()}),Sk=($)=>{if($._tag==="Utc")return Pt($);else if($.partsAdjusted!==void 0)return $.partsAdjusted;return $.partsAdjusted=Mt($,xk),$.partsAdjusted},Pt=($)=>{if($.partsUtc!==void 0)return $.partsUtc;return $.partsUtc=zt($,xk),$.partsUtc};var Ft=($,Z)=>{if(Z.year!==void 0)$.setUTCFullYear(Z.year);if(Z.month!==void 0)$.setUTCMonth(Z.month-1);if(Z.day!==void 0)$.setUTCDate(Z.day);if(Z.weekDay!==void 0){let X=Z.weekDay-$.getUTCDay();$.setUTCDate($.getUTCDate()+X)}if(Z.hours!==void 0)$.setUTCHours(Z.hours);if(Z.minutes!==void 0)$.setUTCMinutes(Z.minutes);if(Z.seconds!==void 0)$.setUTCSeconds(Z.seconds);if(Z.millis!==void 0)$.setUTCMilliseconds(Z.millis)};var Mk=86400000,jk=($,Z,X)=>{if(Z._tag==="Offset")return Q1($-Z.offset,Z);let J=QG($-Mk,$,Z),G=QG($+Mk,$,Z);if(J===G)return Q1($-J,Z);let Y=J<G,W=J-G;if(Y){if(QG($-G,$,Z)===G)return Q1($-G,Z);let A=Q1($-J,Z),Q=n5(A).getTime();if($!==Q)switch(X){case"reject":{let O=new Date($).toISOString();throw RangeError(`Gap time: ${O} does not exist in time zone ${Z.id}`)}case"earlier":return Q1($-G,Z);case"compatible":case"later":return A}return A}if(QG($-J,$,Z)===J){if(X==="earlier"||X==="compatible")return Q1($-J,Z);if(QG($-J+W,$+W,Z)===J)return Q1($-J,Z);if(X==="reject"){let A=new Date($).toISOString();throw RangeError(`Ambiguous time: ${A} occurs twice in time zone ${Z.id}`)}}return Q1($-G,Z)},Tt=/([+-])(\d{2}):(\d{2})$/,kk=($)=>{let Z=Tt.exec($);if(Z===null)return null;let[,X,J,G]=Z;return(X==="+"?1:-1)*(Number(J)*60+Number(G))*60*1000},QG=($,Z,X)=>{let J=X.format.formatToParts($).find((Y)=>Y.type==="timeZoneName")?.value??"";if(J==="GMT")return 0;let G=kk(J);if(G===null)return qk(Q1(Z,X));return G},Ik=V(Yt,($,Z,X)=>{if($._tag==="Utc"){let Y=jX($);return Z(Y),Lk(Y.getTime())}let J=n5($),G=new Date(J.getTime());return Z(G),jk(G.getTime(),$.zone,X?.disambiguation??"compatible")});var Mt=V(2,($,Z)=>Z(n5($))),zt=V(2,($,Z)=>Z(jX($)));var zk=($)=>{let Z=n5($);return $._tag==="Utc"?Z.toISOString():`${Z.toISOString().slice(0,-1)}${Nt($)}`},Rt=($)=>$.zone._tag==="Offset"?zk($):`${zk($)}[${$.zone.id}]`;var vk=($)=>$.length>0;var EB=Symbol.for("effect/Cron"),Lt={[EB]:EB,[G$]($){return xB($)&&jt(this,$)},[Y$](){return F(a(this.tz),V$(a(this.and)),V$(n0(P$(this.seconds))),V$(n0(P$(this.minutes))),V$(n0(P$(this.hours))),V$(n0(P$(this.days))),V$(n0(P$(this.months))),V$(n0(P$(this.weekdays))),C$(this))},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Cron",tz:this.tz,seconds:P$(this.seconds),minutes:P$(this.minutes),hours:P$(this.hours),days:P$(this.days),months:P$(this.months),weekdays:P$(this.weekdays)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},xB=($)=>u($,EB),qt=($)=>{let Z=Object.create(Lt);Z.seconds=new Set(H8($.seconds??[0],BZ)),Z.minutes=new Set(H8($.minutes,BZ)),Z.hours=new Set(H8($.hours,BZ)),Z.days=new Set(H8($.days,BZ)),Z.months=new Set(H8($.months,BZ)),Z.weekdays=new Set(H8($.weekdays,BZ)),Z.and=$.and===!0,Z.tz=D8($.tz);let X=Array.from(Z.seconds),J=Array.from(Z.minutes),G=Array.from(Z.hours),Y=Array.from(Z.days),W=Array.from(Z.months),D=Array.from(Z.weekdays);return Z.first={second:X[0]??0,minute:J[0]??0,hour:G[0]??0,day:Y[0]??1,month:(W[0]??1)-1,weekday:D[0]??0},Z.last={second:X[X.length-1]??59,minute:J[J.length-1]??59,hour:G[G.length-1]??23,day:Y[Y.length-1]??31,month:(W[W.length-1]??12)-1,weekday:D[D.length-1]??6},Z.next={second:D6(X,60,"next"),minute:D6(J,60,"next"),hour:D6(G,24,"next"),day:D6(Y,32,"next"),month:D6(W,13,"next"),weekday:D6(D,7,"next")},Z.prev={second:D6(X,60,"prev"),minute:D6(J,60,"prev"),hour:D6(G,24,"prev"),day:D6(Y,32,"prev"),month:D6(W,13,"prev"),weekday:D6(D,7,"prev")},Z},D6=($,Z,X)=>{let J=Array(Z).fill(void 0);if($.length===0)return J;let G=void 0;if(X==="next"){let Y=$.length-1;for(let W=Z-1;W>=0;W--){while(Y>=0&&$[Y]>=W)G=$[Y--];J[W]=G}}else{let Y=0;for(let W=0;W<Z;W++){while(Y<$.length&&$[Y]<=W)G=$[Y++];J[W]=G}}return J},yk=Symbol.for("effect/Cron/errors/ParseError");class x6 extends Tk("CronParseError"){[yk]=yk}var gk=($,Z)=>{let X=$.trim().split(/\s+/).filter(vk);if(X.length!==5&&X.length!==6)return f$(new x6({message:"Invalid number of segments in cron expression",input:$}));if(X.length===5)X.unshift("0");let[J,G,Y,W,D,U]=X,A=Z===void 0||SX(Z)?S$(Z):g3(LB(Z),()=>new x6({message:"Invalid time zone in cron expression",input:Z}));return f3({tz:A,seconds:IX(J,kt),minutes:IX(G,It),hours:IX(Y,vt),days:IX(W,yt),months:IX(D,bt),weekdays:IX(U,gt)}).pipe(I1(({days:Q,hours:O,minutes:P,months:_,seconds:M,tz:z,weekdays:x})=>qt({tz:z,seconds:M.values,minutes:P.values,hours:O.values,days:Q.values,months:_.values,weekdays:x.values,and:(Q.wildcard||x.wildcard)&&Q.values.size!==0&&x.values.size!==0})))};var hk=($,Z)=>{let X=RU(Z,{timeZone:r0($.tz)}).pipe(Sk);if($.seconds.size!==0&&!$.seconds.has(X.seconds))return!1;if($.minutes.size!==0&&!$.minutes.has(X.minutes))return!1;if($.hours.size!==0&&!$.hours.has(X.hours))return!1;if($.months.size!==0&&!$.months.has(X.month))return!1;if($.days.size===0&&$.weekdays.size===0)return!0;if($.and)return($.days.size===0||$.days.has(X.day))&&($.weekdays.size===0||$.weekdays.has(X.weekDay));if($.weekdays.size===0)return $.days.has(X.day);if($.days.size===0)return $.weekdays.has(X.weekDay);return $.days.has(X.day)||$.weekdays.has(X.weekDay)},NG=($)=>new Date(Date.UTC($.getUTCFullYear(),$.getUTCMonth()+1,0)).getUTCDate(),mk=($,Z)=>{return Et($,Z,"next")};var Et=($,Z,X)=>{let J=r0($.tz),G=RU(Z??new Date,{timeZone:J}),Y=X==="prev",W=Y?-1:1,D=$[X],U=Y?$.last:$.first,A=Y?(_,M)=>_<M:(_,M)=>_>M,O=J!==void 0&&Ck(J)&&J.id==="UTC"?MZ:(_)=>{let M=RU(_,{timeZone:G.zone,adjustForTimeZone:!0,disambiguation:Y?"later":void 0}).pipe(n5),z=_.getTime()-M.getTime();if(Y?z!==0:z>0)_.setTime(M.getTime())},P=Ik(G,(_)=>{_.setUTCSeconds(_.getUTCSeconds()+W,0);for(let M=0;M<1e4;M++){if($.seconds.size!==0){let z=_.getUTCSeconds(),x=D.second[z];if(x===void 0){_.setUTCMinutes(_.getUTCMinutes()+W,U.second),O(_);continue}if(A(x,z)){_.setUTCSeconds(x),O(_);continue}}if($.minutes.size!==0){let z=_.getUTCMinutes(),x=D.minute[z];if(x===void 0){_.setUTCHours(_.getUTCHours()+W,U.minute,U.second),O(_);continue}if(A(x,z)){_.setUTCMinutes(x,U.second),O(_);continue}}if($.hours.size!==0){let z=_.getUTCHours(),x=D.hour[z];if(x===void 0){_.setUTCDate(_.getUTCDate()+W),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}if(A(x,z)){_.setUTCHours(x,U.minute,U.second),O(_);continue}}if($.weekdays.size!==0||$.days.size!==0)if($.and){let z=$.days.size===0||$.days.has(_.getUTCDate()),x=$.weekdays.size===0||$.weekdays.has(_.getUTCDay());if(!z||!x){_.setUTCDate(_.getUTCDate()+W),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}else{let z=Y?-1/0:1/0,x=Y?-1/0:1/0;if($.weekdays.size!==0){let l=_.getUTCDay(),J$=D.weekday[l];if(J$===void 0)z=Y?l-7+U.weekday:7-l+U.weekday;else z=J$-l}if($.days.size!==0&&z!==0){let l=_.getUTCDate(),J$=D.day[l];if(J$===void 0)if(Y){let B$=NG(new Date(Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),0)));x=-(l+(B$-U.day))}else x=NG(_)-l+U.day;else if(!Y&&J$>NG(_))x=NG(_)-l+U.day;else x=J$-l}let K$=Y?Math.max(z,x):Math.min(z,x);if(K$!==0){_.setUTCDate(_.getUTCDate()+K$),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}if($.months.size!==0){let z=_.getUTCMonth()+1,x=D.month[z],K$=(l)=>{if($.days.size!==0&&$.weekdays.size===0)return U.day;let J$=NG(new Date(Date.UTC(_.getUTCFullYear(),l,1)));return Y?J$:1};if(x===void 0){_.setUTCFullYear(_.getUTCFullYear()+W),_.setUTCMonth(U.month,K$(U.month)),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}if(A(x,z)){let l=x-1;_.setUTCMonth(l,K$(l)),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}return}throw Error("Unable to find next cron date")});return jX(P)};var xt=f6(($,Z)=>$.and===Z.and&&kX($.seconds,Z.seconds)&&kX($.minutes,Z.minutes)&&kX($.hours,Z.hours)&&kX($.days,Z.days)&&kX($.months,Z.months)&&kX($.weekdays,Z.weekdays)),St=oY(fF),kX=($,Z)=>St(P$($),P$(Z)),jt=V(2,($,Z)=>xt($,Z)),kt={min:0,max:59},It={min:0,max:59},vt={min:0,max:23},yt={min:1,max:31},bt={min:1,max:12,aliases:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12}},gt={min:0,max:7,normalize:($)=>$===7?0:$,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},IX=($,Z)=>{let X=new Set,J=$.split(","),G=bk(J[0]),Y=G[0]==="*",W=Z.normalize??((U)=>U),D=Y&&(G[1]===void 0||G[1]===1)?MZ:(U)=>{X.add(W(U))};for(let U=0;U<J.length;U++){let A=J[U],[Q,O]=U===0?G:bk(A);if(O!==void 0){if(!Number.isInteger(O))return f$(new x6({message:"Expected step value to be a positive integer",input:$}));if(O<1)return f$(new x6({message:"Expected step value to be greater than 0",input:$}));if(O>Z.max)return f$(new x6({message:`Expected step value to be less than ${Z.max}`,input:$}))}if(Q==="*"){if(U===0&&(O===void 0||O===1))continue;for(let P=Z.min;P<=Z.max;P+=O??1)D(P)}else{let[P,_]=ht(Q,Z.aliases);if(!Number.isInteger(P))return f$(new x6({message:"Expected a positive integer",input:$}));if(P<Z.min||P>Z.max)return f$(new x6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(_===void 0)for(let M=P;M<=(O===void 0?P:Z.max);M+=O??1)D(M);else{if(!Number.isInteger(_))return f$(new x6({message:"Expected a positive integer",input:$}));if(_<Z.min||_>Z.max)return f$(new x6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(P>_)return f$(new x6({message:"Invalid value range",input:$}));for(let M=P;M<=_;M+=O??1)D(M)}}}return S$({values:X,wildcard:Y})},bk=($)=>{let Z=$.indexOf("/");if(Z!==-1){let X=$.slice(Z+1);return[$.slice(0,Z),fk.test(X)?Number(X):NaN]}return[$,void 0]},ht=($,Z)=>{let X=$.indexOf("-");if(X!==-1)return[qB($.slice(0,X),Z),qB($.slice(X+1),Z)];return[qB($,Z),void 0]};function qB($,Z){return Z?.[$.toLocaleLowerCase()]??(fk.test($)?Number($):NaN)}var fk=/^\d+$/;var ck=lC;var pk=yC;var ft="effect/Schedule",LU=Symbol.for(ft),qU=($)=>u($,LU),ct="effect/ScheduleDriver",kB=Symbol.for(ct),SB={start:0,now:0,input:void 0,output:void 0,elapsed:K8,elapsedSincePrevious:K8,recurrence:0},r5=n6()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>SB}),pt={_Out:($)=>$,_In:($)=>$,_R:($)=>$},dt={_Out:($)=>$,_In:($)=>$,_R:($)=>$};class nk{initial;step;[LU]=pt;constructor($,Z){this.initial=$,this.step=Z}pipe(){return n(this,arguments)}}var uk=($,Z,X,J)=>E5($,(G)=>G.recurrence===0?{now:Z,input:X,output:J,recurrence:G.recurrence+1,elapsed:K8,elapsedSincePrevious:K8,start:Z}:{now:Z,input:X,output:J,recurrence:G.recurrence+1,elapsed:xZ(Z-G.start),elapsedSincePrevious:xZ(Z-G.now),start:G.start});class rk{schedule;ref;[kB]=dt;constructor($,Z){this.schedule=$,this.ref=Z}get state(){return I(CZ(this.ref),($)=>$[1])}get last(){return T(CZ(this.ref),([$,Z])=>{switch($._tag){case"None":return t8(()=>new yZ);case"Some":return R($.value)}})}iterationMeta=AX(SB);get reset(){return Y1(this.ref,[S(),this.schedule.initial]).pipe(N5(Y1(this.iterationMeta,SB)))}next($){return F(I(CZ(this.ref),(Z)=>Z[1]),T((Z)=>F(Y4,T((X)=>F(D$(()=>this.schedule.step(X,$,Z)),T(([J,G,Y])=>{let W=Y1(this.ref,[j(G),J]);if(UZ(Y))return W.pipe(j$(L$(S())));let D=T9(Y.intervals)-X;if(D<=0)return W.pipe(j$(uk(this.iterationMeta,X,$,G)),i$(G));let U=xZ(D);return F(W,j$(uk(this.iterationMeta,X,$,G)),j$(k5(U)),i$(G))}))))))}}var r$=($,Z)=>new nk($,Z),EU=V(2,($,Z)=>IB($,(X)=>E(()=>Z(X)))),IB=V(2,($,Z)=>TG($,(X,J)=>I(Z(X),(G)=>_K(J,Y0(G))))),lk=V(2,($,Z)=>_Z(vB($,Z),s9)),vB=V(2,($,Z)=>r$([$.initial,Z.initial,!0],(X,J,G)=>G[2]?T($.step(X,J,G[0]),([Y,W,D])=>{if(UZ(D))return I(Z.step(X,J,G[1]),([U,A,Q])=>[[Y,U,!1],S$(A),Q]);return R([[Y,G[1],!0],f$(W),D])}):I(Z.step(X,J,G[1]),([Y,W,D])=>[[G[0],Y,!1],S$(W),D]))),ik=V(2,($,Z)=>_Z($,()=>Z)),xU=($)=>_Z($,MZ),sk=V(2,($,Z)=>r$([$.initial,Z.initial],(X,[J,G],Y)=>sZ($.step(X,J,Y[0]),Z.step(X,G,Y[1]),([W,D,U],[A,Q,O])=>{if(N4(U)&&N4(O)){let P=F(U.intervals,uO(O.intervals));return[[W,A],[D,Q],p5(P)]}return[[W,A],[D,Q],y8]}))),vX=V(2,($,Z)=>l5($,(X,J)=>E(()=>Z(X,J)))),l5=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>{if(UZ(D))return R([Y,W,y8]);return I(Z(J,W),(U)=>U?[Y,W,D]:[Y,W,y8])}))),ak=()=>i5(P4()),i5=($)=>IU($,w0(),(Z,X)=>F(Z,I7(X))),tk=($)=>i5(fB($)),ek=($)=>i5(cB($)),$I=($)=>i5(dB($)),ZI=($)=>i5(uB($)),XI=V(2,($,Z)=>r$([$.initial,Z.initial],(X,J,G)=>T($.step(X,J,G[0]),([Y,W,D])=>I(Z.step(X,W,G[1]),([U,A,Q])=>UZ(D)?[[Y,U],A,y8]:UZ(Q)?[[Y,U],A,y8]:[[Y,U],A,p5(F(D.intervals,yS(Q.intervals)))])))),yB=V(2,($,Z)=>SU($,(X)=>E(()=>Z(X)))),JI=V(2,($,Z)=>r$($.initial,(X,J,G)=>A9($.step(X,J,G),Z))),SU=V(2,($,Z)=>r$($.initial,(X,J,G)=>T(Z(J),(Y)=>$.step(X,Y,G)))),GI=($,Z)=>{let X=xB($)?S$($):gk($,Z);return r$([!0,[Number.MIN_SAFE_INTEGER,0,0]],(J,G,[Y,W])=>{if(J===Number.POSITIVE_INFINITY)return R([[!1,W],[W[1],W[2]],y8]);if(J<W[0])return R([[!1,W],[W[1],W[2]],t0(eZ(W[1],W[2]))]);if(R0(X))return RZ(X.left);let D=X.right,U=new Date(J),A;if(Y&&hk(D,U))A=J;A=mk(D,U).getTime();let Q=tB(A),O=oI(A);return R([[!1,[A,Q,O]],[Q,O],t0(eZ(Q,O))])})},YI=($)=>{return r$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||31<$)return L8(()=>new e8(`Invalid argument in: dayOfMonth(${$}). Must be in range 1...31`));let G=J[1],W=st(Z,$,G===0),D=eB(W),U=lI(W),A=eZ(D,U);return R([[U,G+1],G,t0(A)])})},WI=($)=>{return r$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||7<$)return L8(()=>new e8(`Invalid argument in: dayOfWeek(${$}). Must be in range 1 (Monday)...7 (Sunday)`));let G=J[1],W=it(Z,$,G===0),D=eB(W),U=lI(W),A=eZ(D,U);return R([[U,G+1],G,t0(A)])})},DI=V(2,($,Z)=>jU($,(X)=>E(()=>Z(X)))),jU=V(2,($,Z)=>TG($,(X,J)=>Z(J))),PG=($)=>EU($,(Z)=>Z),HI=($)=>r$($.initial,(Z,X,J)=>F($.step(Z,X,J),T(([G,Y,W])=>{if(UZ(W))return R([G,K8,W]);return R([G,xZ(T9(W.intervals)-Z),W])}))),UI=V(2,($,{onInput:Z,onOutput:X})=>_Z(yB($,Z),X)),AI=V(2,($,{onInput:Z,onOutput:X})=>kU(SU($,Z),X)),FG=($)=>F(q5([S(),$.initial]),I((Z)=>new rk($,Z))),bB=($)=>{let Z=Y0($),X=zZ(Z);return r$(!0,(J,G,Y)=>R(Y?[!1,Z,t0(q6(J+X))]:[!1,K8,y8]))},KI=V(2,($,Z)=>rB($,Z)),VI=V(3,($,Z,X)=>vU($,Z,X)),QI=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>UZ(D)?i$(Z,[Y,W,D]):R([Y,W,D])))),OI=($,Z=2)=>{let X=Y0($);return PG(_Z(S6,(J)=>NK(X,Math.pow(Z,J))))},BI=($)=>{let Z=Y0($);return PG(F(MG([Z,Z],([X,J])=>[J,_K(X,J)]),_Z((X)=>X[0])))},NI=($)=>{let Z=Y0($),X=zZ(Z);return r$([S(),0],(J,G,[Y,W])=>E(()=>{switch(Y._tag){case"None":return[[j([J,J+X]),W+1],W,t0(q6(J+X))];case"Some":{let[D,U]=Y.value,A=J>U+X,Q=s(Z,K8)?Z:xZ(X-(J-D)%X),O=s(Q,K8)?Z:Q,P=A?J:J+zZ(O);return[[j([D,P]),W+1],W,t0(q6(P))]}}}))},_I=($)=>bB($),PI=($,...Z)=>r$([[$,...Z].map((X)=>Y0(X)),!0],(X,J,[G,Y])=>E(()=>{if(Y){let W=G[0],D=q6(X+zZ(W));if(G.length>=2)return[[G.slice(1),!0],W,t0(D)];let U=G.slice(1);return[[[W,...U],!1],W,t0(D)]}return[[G,!1],K8,y8]})),FI=($)=>_Z(P4(),$),TI=($)=>r$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||23<$)return L8(()=>new e8(`Invalid argument in: hourOfDay(${$}). Must be in range 0...23`));let G=J[1],W=lt(Z,$,G===0),D=rI(W),U=rt(W),A=eZ(D,U);return R([[U,G+1],G,t0(A)])}),P4=()=>r$(void 0,($,Z,X)=>R([X,Z,t0(q6($))])),C9=V(2,($,Z)=>gB($,Z,kS)),gB=V(3,($,Z,X)=>r$([$.initial,Z.initial],(J,G,Y)=>F(sZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),(W,D)=>[W,D]),T(([[W,D,U],[A,Q,O]])=>{if(N4(U)&&N4(O))return jB($,Z,G,W,D,U.intervals,A,Q,O.intervals,X);return R([[W,A],[D,Q],y8])})))),jB=($,Z,X,J,G,Y,W,D,U,A)=>{let Q=A(Y,U);if(vS(Q))return R([[J,W],[G,D],p5(Q)]);if(F(Y,IS(U)))return T($.step(XU(Y),X,J),([O,P,_])=>{if(UZ(_))return R([[O,W],[P,D],y8]);return jB($,Z,X,O,P,_.intervals,W,D,U,A)});return T(Z.step(XU(U),X,W),([O,P,_])=>{if(UZ(_))return R([[J,O],[G,P],y8]);return jB($,Z,X,J,G,Y,O,P,_.intervals,A)})},MI=($)=>hB($,{min:0.8,max:1.2}),hB=V(2,($,Z)=>{let{max:X,min:J}=Object.assign({min:0.8,max:1.2},Z);return jU($,(G)=>I(ck,(Y)=>{let W=zZ(G),D=W*J*(1-Y)+W*X*Y;return xZ(D)}))}),zI=($)=>{let Z=Y0($);return PG(_Z(S6,(X)=>NK(Z,X+1)))},_Z=V(2,($,Z)=>kU($,(X)=>E(()=>Z(X)))),kU=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>I(Z(W),(U)=>[Y,U,D])))),RI=($)=>r$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return L8(()=>new e8(`Invalid argument in: minuteOfHour(${$}). Must be in range 0...59`));let G=J[1],W=nt(Z,$,G===0),D=nI(W),U=ot(W),A=eZ(D,U);return R([[U,G+1],G,t0(A)])}),wI=V(2,($,Z)=>TG($,(X,J)=>E(()=>Z(X,J)))),TG=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>{if(UZ(D))return R([Y,W,D]);let U=D.intervals,A=RS(eZ(X,T9(U)));return I(Z(W,A),(Q)=>{let O=Y0(Q),P=T9(U),_=X+zZ(O),M=_-P,z=Math.max(0,XU(U)+M),x=eZ(_,z);return[Y,W,t0(x)]})}))),CI=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>i$(Z(W,D),[Y,W,D])))),mB=($)=>r$($.initial,(Z,X,J)=>F($.step(Z,X,J),I(([G,Y,W])=>[G,X,W]))),LI=V(2,($,Z)=>r$($.initial,(X,J,G)=>aZ($.step(X,J,G),Z))),qI=V(3,($,Z,X)=>r$($.initial,(J,G,Y)=>S8((W)=>aZ($.step(J,G,Y),e$(W,Z,X))))),fB=($)=>lB(P4(),$),cB=($)=>zG(P4(),$),EI=($)=>iB(_Z(P4(),$),c$),pB=($)=>{let Z=Y0($);return yU(gU,(X)=>DM(X,Z))},dB=($)=>sB(P4(),$),uB=($)=>RG(P4(),$),yX=($)=>yU(S6,(Z)=>Z<$),IU=V(3,($,Z,X)=>oB($,Z,(J,G)=>E(()=>X(J,G)))),oB=V(3,($,Z,X)=>r$([$.initial,Z],(J,G,[Y,W])=>T($.step(J,G,Y),([D,U,A])=>UZ(A)?R([[D,W],W,A]):I(X(W,U),(Q)=>[[D,Q],W,A]))));var xI=($)=>IU($,0,(Z,X)=>Z+1),SI=V(2,($,Z)=>{let X=Y0(Z);return F($,C9(gU),nB(([,J])=>PW(J,X)),_Z((J)=>J[0]))}),nB=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>Z(W)?$.step(X,J,$.initial):R([Y,W,D])))),jI=V(3,($,Z,X)=>F(kI($,Z,g4(X),$.initial,w0()),I((J)=>R8(J)))),kI=($,Z,X,J,G)=>{if(!D0(X))return R(G);let Y=g$(X),W=H0(X);return T($.step(Z,Y,J),([D,U,A])=>{if(UZ(A))return E(()=>F(G,O0(U)));return kI($,T9(A.intervals),W,D,O0(G,U))})},II=($)=>r$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return L8(()=>new e8(`Invalid argument in: secondOfMinute(${$}). Must be in range 0...59`));let G=J[1],W=ut(Z,$,G===0),D=tB(W),U=oI(W),A=eZ(D,U);return R([[U,G+1],G,t0(A)])}),vI=($)=>EU(S6,()=>$),yI=($)=>_Z(S6,()=>$),bI=($)=>_Z(S6,$),gI=V(2,($,Z)=>r$($.initial,(X,J,G)=>j$(Z(J),$.step(X,J,G)))),hI=V(2,($,Z)=>r$($.initial,(X,J,G)=>IZ($.step(X,J,G),([,Y])=>Z(Y)))),MG=($,Z)=>r$($,(X,J,G)=>E(()=>[Z(G),G,t0(q6(X))])),rB=V(2,($,Z)=>vU($,Z,uO)),vU=V(3,($,Z,X)=>r$([$.initial,Z.initial],(J,G,Y)=>sZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),([W,D,U],[A,Q,O])=>{if(UZ(U)&&UZ(O))return[[W,A],[D,Q],y8];if(UZ(U)&&N4(O))return[[W,A],[D,Q],p5(O.intervals)];if(N4(U)&&UZ(O))return[[W,A],[D,Q],p5(U.intervals)];if(N4(U)&&N4(O)){let P=X(U.intervals,O.intervals);return[[W,A],[D,Q],p5(P)]}throw Error("BUG: Schedule.unionWith - please report an issue at https://github.com/Effect-TS/effect/issues")}))),lB=V(2,($,Z)=>vX($,(X,J)=>!Z(X))),zG=V(2,($,Z)=>l5($,(X,J)=>I2(Z(X)))),iB=V(2,($,Z)=>vX($,(X,J)=>!Z(J))),mI=V(2,($,Z)=>l5($,(X,J)=>I2(Z(J)))),fI=V(2,($,Z)=>aB($,pB(Z))),sB=V(2,($,Z)=>vX($,(X,J)=>Z(X))),RG=V(2,($,Z)=>l5($,(X,J)=>Z(X))),yU=V(2,($,Z)=>vX($,(X,J)=>Z(J))),cI=V(2,($,Z)=>l5($,(X,J)=>Z(J))),pI=($)=>{let Z=Y0($),X=zZ(Z);return r$([S(),0],(J,G,[Y,W])=>{switch(Y._tag){case"None":return R([[j(J),W+1],W,t0(q6(J+X))]);case"Some":return R([[j(Y.value),W+1],W,t0(q6(J+(X-(J-Y.value)%X)))])}})},aB=V(2,($,Z)=>_Z(C9($,Z),(X)=>X[0])),dI=V(2,($,Z)=>_Z(C9($,Z),(X)=>X[1])),uI=V(3,($,Z,X)=>_Z(C9($,Z),([J,G])=>X(J,G))),tB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),Z.getSeconds(),0).getTime()},oI=($)=>{let Z=new Date(tB($));return Z.setSeconds(Z.getSeconds()+1)},ut=($,Z,X)=>{let J=new Date($);if(J.getSeconds()===Z&&X)return $;if(J.getSeconds()<Z)return J.setSeconds(Z);let G=new Date(J.setSeconds(Z));return G.setTime(G.getTime()+60000)},nI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),0,0).getTime()},ot=($)=>{let Z=new Date(nI($));return Z.setMinutes(Z.getMinutes()+1)},nt=($,Z,X)=>{let J=new Date($);if(J.getMinutes()===Z&&X)return $;if(J.getMinutes()<Z)return J.setMinutes(Z);let G=new Date(J.setMinutes(Z));return G.setTime(G.getTime()+3600000)},rI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),0,0,0).getTime()},rt=($)=>{let Z=new Date(rI($));return Z.setHours(Z.getHours()+1)},lt=($,Z,X)=>{let J=new Date($);if(J.getHours()===Z&&X)return $;if(J.getHours()<Z)return J.setHours(Z);let G=new Date(J.setHours(Z));return G.setTime(G.getTime()+86400000)},eB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),0,0,0,0).getTime()},lI=($)=>{let Z=new Date(eB($));return Z.setDate(Z.getDate()+1)},it=($,Z,X)=>{let J=new Date($);if(J.getDay()===Z&&X)return $;let G=(7+Z-J.getDay())%7;return J.setDate(J.getDate()+(G===0?7:G))},st=($,Z,X)=>{let J=new Date($);if(J.getDate()===Z&&X)return $;if(J.getDate()<Z)return J.setDate(Z);return iI($,Z,1)},iI=($,Z,X)=>{let J=new Date($),G=new Date(J.setDate(Z));if(new Date(G.setMonth(G.getMonth()+X)).getDate()===Z){let W=new Date($),D=new Date(W.setDate(Z));return D.setMonth(D.getMonth()+X)}return iI($,Z,X+1)},wU=Symbol.for("effect/Schedule/ScheduleDefect");class sI{error;[wU];constructor($){this.error=$,this[wU]=wU}}var at=($)=>u($,wU),CU=($)=>C6($,(Z)=>RZ(new sI(Z))),tt=($)=>c0(e6($,(Z)=>D5(Z)&&at(Z.defect)?j(Z.defect):S()),{onNone:()=>$,onSome:(Z)=>Q8(Z.error)}),wG=($)=>Z1($,(Z)=>E$(tt(Z))),ok=V(2,($,Z)=>$N($,Z,(X,J)=>L$(X))),aI=V(2,($,Z)=>{if(qU(Z))return ok($,Z);let X=Z.schedule??mB(S6),J=Z.while?RG(X,(W)=>{let D=Z.while(W);if(typeof D==="boolean")return R(D);return CU(D)}):X,G=Z.until?zG(J,(W)=>{let D=Z.until(W);if(typeof D==="boolean")return R(D);return CU(D)}):J,Y=Z.times?C9(G,yX(Z.times)).pipe(_Z((W)=>W[0])):G;return wG(ok($,Y))}),$N=V(3,($,Z,X)=>T(FG(Z),(J)=>s0($,{onFailure:(G)=>X(G,S()),onSuccess:(G)=>tI(P9($,r5,CZ(J.iterationMeta)),J,(Y,W)=>P9(X(Y,W),r5,CZ(J.iterationMeta)),G)}))),tI=($,Z,X,J)=>s0(Z.next(J),{onFailure:()=>O5(Z.last),onSuccess:(G)=>s0($,{onFailure:(Y)=>X(Y,j(G)),onSuccess:(Y)=>tI($,Z,X,Y)})}),_G=V(2,($,Z)=>ZN($,Z,(X,J)=>L$(X))),eI=V(2,($,Z)=>{if(qU(Z))return _G($,Z);return wG(_G($,bU(Z)))}),bU=($)=>{let Z=$.schedule??S6,X=$.while?RG(Z,(G)=>{let Y=$.while(G);if(typeof Y==="boolean")return R(Y);return CU(Y)}):Z,J=$.until?zG(X,(G)=>{let Y=$.until(G);if(typeof Y==="boolean")return R(Y);return CU(Y)}):X;return $.times!==void 0?C9(J,yX($.times)):J},ZN=V(3,($,Z,X)=>T(FG(Z),(J)=>$v(P9($,r5,CZ(J.iterationMeta)),J,(G,Y)=>P9(X(G,Y),r5,CZ(J.iterationMeta))))),$v=($,Z,X)=>{return C6($,(J)=>s0(Z.next(J),{onFailure:()=>F(Z.last,O5,T((G)=>X(J,G))),onSuccess:()=>$v($,Z,X)}))},XN=V(2,($,Z)=>JN($,void 0,Z)),JN=V(3,($,Z,X)=>T(FG(X),(J)=>Zv(P9($,r5,CZ(J.iterationMeta)),Z,J))),Zv=($,Z,X)=>s0(X.next(Z),{onFailure:()=>O5(X.last),onSuccess:()=>T($,(J)=>Zv($,J,X))}),Xv=MG(0,($)=>$+1),gU=r$(S(),($,Z,X)=>{switch(X._tag){case"None":return R([j($),K8,t0(q6($))]);case"Some":return R([j(X.value),xZ($-X.value),t0(q6($))])}}),S6=MG(0,($)=>$+1),hU=xU(yX(1)),Jv=xU(yX(0)),Gv=V(2,($,Z)=>YU(XN($,Z)));var Wv=V(2,($,Z)=>D$(()=>{let X=0,J;return T(J9({while:()=>X<Z.steps.length&&(J===void 0||R0(J)),body:()=>{let G=Z.steps[X],Y=TU($,G.provide);if(J){let W=!1,D=Y;Y=D$(()=>{if(W)return D;return W=!0,J}),Y=wG(_G(Y,Yv(G,!1)))}else{let W=Yv(G,!0);Y=W?wG(_G(Y,W)):Y}return a8(Y)},step:(G)=>{J=G,X++}}),()=>J)})),Yv=($,Z)=>{if(!Z)return bU({schedule:$.schedule?$.schedule:$.attempts?void 0:hU,times:$.attempts,while:$.while});else if($.attempts===1||!($.schedule||$.attempts))return;return bU({schedule:$.schedule,while:$.while,times:$.attempts?$.attempts-1:void 0})};var mU=N8;var F4=DZ;var Dv=xV;var Hv=aR;var YN=F2,fU=WX;var Uv=Symbol.for("effect/MutableList"),$e={[Uv]:Uv,[Symbol.iterator](){let $=!1,Z=this.head;return{next(){if($)return this.return();if(Z==null)return $=!0,this.return();let X=Z.value;return Z=Z.next,{done:$,value:X}},return(X){if(!$)$=!0;return{done:!0,value:X}}}},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableList",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},Ze=($)=>({value:$,removed:!1,prev:void 0,next:void 0}),Av=()=>{let $=Object.create($e);return $.head=void 0,$.tail=void 0,$._length=0,$};var Kv=($)=>DN($)===0,DN=($)=>$._length;var Vv=V(2,($,Z)=>{let X=Ze(Z);if($.head===void 0)$.head=X;if($.tail===void 0)$.tail=X;else $.tail.next=X,X.prev=$.tail,$.tail=X;return $._length+=1,$}),Qv=($)=>{let Z=$.head;if(Z!==void 0)return Xe($,Z),Z.value;return};var Xe=($,Z)=>{if(Z.removed)return;if(Z.removed=!0,Z.prev!==void 0&&Z.next!==void 0)Z.prev.next=Z.next,Z.next.prev=Z.prev;else if(Z.prev!==void 0)$.tail=Z.prev,Z.prev.next=void 0;else if(Z.next!==void 0)$.head=Z.next,Z.next.prev=void 0;else $.tail=void 0,$.head=void 0;if($._length>0)$._length-=1};var Ov=Symbol.for("effect/MutableQueue"),HN=Symbol.for("effect/mutable/MutableQueue/Empty"),Ge={[Ov]:Ov,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},Ye=($)=>{let Z=Object.create(Ge);return Z.queue=Av(),Z.capacity=$,Z};var Bv=()=>Ye(void 0);var Nv=V(2,($,Z)=>{let X=DN($.queue);if($.capacity!==void 0&&X===$.capacity)return!1;return Vv(Z)($.queue),!0});var _v=V(2,($,Z)=>{if(Kv($.queue))return Z;return Qv($.queue)});var Pv=($,Z,X,J)=>sW({_tag:"Complete",key:$,exit:Z,entryStats:X,timeToLiveMillis:J}),Fv=($,Z)=>sW({_tag:"Pending",key:$,deferred:Z}),De=($,Z)=>sW({_tag:"Refreshing",deferred:$,complete:Z}),UN=Symbol.for("effect/Cache/MapKey");class Tv{current;[UN]=UN;previous=void 0;next=void 0;constructor($){this.current=$}[Y$](){return F(a(this.current),V$(a(this.previous)),V$(a(this.next)),C$(this))}[G$]($){if(this===$)return!0;return He($)&&s(this.current,$.current)&&s(this.previous,$.previous)&&s(this.next,$.next)}}var bX=($)=>new Tv($),He=($)=>u($,UN);class Mv{head=void 0;tail=void 0;add($){if($!==this.tail)if(this.tail===void 0)this.head=$,this.tail=$;else{let{previous:Z,next:X}=$;if(X!==void 0)if($.next=void 0,Z!==void 0)Z.next=X,X.previous=Z;else this.head=X,this.head.previous=void 0;this.tail.next=$,$.previous=this.tail,this.tail=$}}remove(){let $=this.head;if($!==void 0){let Z=$.next;if(Z!==void 0)$.next=void 0,this.head=Z,this.head.previous=void 0;else this.head=void 0,this.tail=void 0}return $}}var Ue=()=>new Mv,Ae=($,Z,X,J,G,Y)=>({map:$,keys:Z,accesses:X,updating:J,hits:G,misses:Y}),Ke=()=>Ae(U4(),Ue(),Bv(),i6(!1),0,0),Ve="effect/Cache",Qe=Symbol.for(Ve),Oe={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},Be="effect/ConsumerCache",Ne=Symbol.for(Be),_e={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},Pe=($)=>$,cU=($)=>({loadedMillis:$});class zv{capacity;context;fiberId;lookup;timeToLive;[Qe]=Oe;[Ne]=_e;cacheState;constructor($,Z,X,J,G){this.capacity=$,this.context=Z,this.fiberId=X,this.lookup=J,this.timeToLive=G,this.cacheState=Ke()}get($){return I(this.getEither($),s9)}get cacheStats(){return E(()=>Pe({hits:this.cacheState.hits,misses:this.cacheState.misses,size:g5(this.cacheState.map)}))}getOption($){return D$(()=>c0(N0(this.cacheState.map,$),{onNone:()=>{let Z=bX($);return this.trackAccess(Z),this.trackMiss(),R(S())},onSome:(Z)=>this.resolveMapValue(Z)}))}getOptionComplete($){return D$(()=>c0(N0(this.cacheState.map,$),{onNone:()=>{let Z=bX($);return this.trackAccess(Z),this.trackMiss(),R(S())},onSome:(Z)=>this.resolveMapValue(Z,!0)}))}contains($){return E(()=>k8(this.cacheState.map,$))}entryStats($){return E(()=>{let Z=N0(this.cacheState.map,$);if(c$(Z))switch(Z.value._tag){case"Complete":{let X=Z.value.entryStats.loadedMillis;return j(cU(X))}case"Pending":return S();case"Refreshing":{let X=Z.value.complete.entryStats.loadedMillis;return j(cU(X))}}return S()})}getEither($){return D$(()=>{let Z=$,X=void 0,J=void 0,G=r0(N0(this.cacheState.map,Z));if(G===void 0)if(J=YN(this.fiberId),X=bX(Z),k8(this.cacheState.map,Z))G=r0(N0(this.cacheState.map,Z));else hZ(this.cacheState.map,Z,Fv(X,J));if(G===void 0)return this.trackAccess(X),this.trackMiss(),I(this.lookupValueOf($,J),S$);else return T(this.resolveMapValue(G),c0({onNone:()=>this.getEither($),onSome:(Y)=>R(f$(Y))}))})}invalidate($){return E(()=>{A4(this.cacheState.map,$)})}invalidateWhen($,Z){return E(()=>{let X=N0(this.cacheState.map,$);if(c$(X)&&X.value._tag==="Complete"){if(X.value.exit._tag==="Success"){if(Z(X.value.exit.value))A4(this.cacheState.map,$)}}})}get invalidateAll(){return E(()=>{this.cacheState.map=U4()})}refresh($){return W1((Z)=>D$(()=>{let X=$,J=YN(this.fiberId),G=r0(N0(this.cacheState.map,X));if(G===void 0)if(k8(this.cacheState.map,X))G=r0(N0(this.cacheState.map,X));else hZ(this.cacheState.map,X,Fv(bX(X),J));if(G===void 0)return T0(this.lookupValueOf($,J));else switch(G._tag){case"Complete":{if(this.hasExpired(Z,G.timeToLiveMillis)){let Y=r0(N0(this.cacheState.map,X));if(s(Y,G))A4(this.cacheState.map,X);return T0(this.get($))}return F(this.lookupValueOf($,J),zH(()=>{let Y=r0(N0(this.cacheState.map,X));if(s(Y,G)){let W=De(J,G);return hZ(this.cacheState.map,X,W),!0}return!1}),T0)}case"Pending":return F4(G.deferred);case"Refreshing":return F4(G.deferred)}}))}set($,Z){return W1((X)=>E(()=>{let J=X.unsafeCurrentTimeMillis(),G=$,Y=R2(Z),W=Pv(bX(G),Y,cU(J),J+zZ(Y0(this.timeToLive(Y))));hZ(this.cacheState.map,G,W)}))}get size(){return E(()=>{return g5(this.cacheState.map)})}get values(){return E(()=>{let $=[];for(let Z of this.cacheState.map)if(Z[1]._tag==="Complete"&&Z[1].exit._tag==="Success")$.push(Z[1].exit.value);return $})}get entries(){return E(()=>{let $=[];for(let Z of this.cacheState.map)if(Z[1]._tag==="Complete"&&Z[1].exit._tag==="Success")$.push([Z[0],Z[1].exit.value]);return $})}get keys(){return E(()=>{let $=[];for(let Z of this.cacheState.map)if(Z[1]._tag==="Complete"&&Z[1].exit._tag==="Success")$.push(Z[0]);return $})}resolveMapValue($,Z=!1){return W1((X)=>{switch($._tag){case"Complete":{if(this.trackAccess($.key),this.hasExpired(X,$.timeToLiveMillis))return A4(this.cacheState.map,$.key.current),R(S());return this.trackHit(),I($.exit,j)}case"Pending":{if(this.trackAccess($.key),this.trackHit(),Z)return R(S());return I(F4($.deferred),j)}case"Refreshing":{if(this.trackAccess($.complete.key),this.trackHit(),this.hasExpired(X,$.complete.timeToLiveMillis)){if(Z)return R(S());return I(F4($.deferred),j)}return I($.complete.exit,j)}}})}trackHit(){this.cacheState.hits=this.cacheState.hits+1}trackMiss(){this.cacheState.misses=this.cacheState.misses+1}trackAccess($){if(Nv(this.cacheState.accesses,$),bW(this.cacheState.updating,!1,!0)){let Z=!0;while(Z){let J=_v(this.cacheState.accesses,HN);if(J===HN)Z=!1;else this.cacheState.keys.add(J)}let X=g5(this.cacheState.map);Z=X>this.capacity;while(Z){let J=this.cacheState.keys.remove();if(J!==void 0){if(k8(this.cacheState.map,J.current))A4(this.cacheState.map,J.current),X=X-1,Z=X>this.capacity}else Z=!1}g1(this.cacheState.updating,!1)}}hasExpired($,Z){return $.unsafeCurrentTimeMillis()>Z}lookupValueOf($,Z){return W1((X)=>D$(()=>{let J=$;return F(this.lookup($),aZ(this.context),V0,T((G)=>{let Y=X.unsafeCurrentTimeMillis(),W=cU(Y),D=Pv(bX(J),G,W,Y+zZ(Y0(this.timeToLive(G))));return hZ(this.cacheState.map,J,D),j$(Dv(Z,G),G)}),J1(()=>j$(Hv(Z),E(()=>{A4(this.cacheState.map,J)}))))}))}}var Rv=($,Z,X)=>new zv($,VZ(),cW,Z,(J)=>Y0(X(J)));var gX=_$(Symbol.for("effect/FiberRef/currentCache"),()=>L0(Rv(65536,()=>I(N8(),($)=>({listeners:new d2,handle:$})),()=>BK(60)))),CG=_$(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>L0(!1)),wv=($,Z)=>T(p$(Z)?Z:R(Z),(X)=>O8((J)=>{let G=new Proxy($,{});return wZ(CG,(Y)=>{if(Y){let D=wZ(gX,(U)=>T(U.getEither(G),(A)=>{switch(A._tag){case"Left":{if(A.left.listeners.interrupted)return T(U.invalidateWhen(G,(Q)=>Q.handle===A.left.handle),()=>D);return A.left.listeners.increment(),j0((Q)=>T(V0(d1(Ez,Q(DZ(A.left.handle)))),(O)=>{return A.left.listeners.decrement(),O}))}case"Right":return A.right.listeners.increment(),j0((Q)=>T(V0(d1(YV(X,WV({request:G,result:A.right.handle,listeners:A.right.listeners,ownerId:J,state:{completed:!1}})),Q(DZ(A.right.handle)))),()=>{return A.right.listeners.decrement(),DZ(A.right.handle)}))}}));return D}let W=new d2;return W.increment(),T(N8(),(D)=>v8(d1(YV(X,WV({request:G,result:D,listeners:W,ownerId:J,state:{completed:!1}})),DZ(D)),E(()=>W.decrement())))})})),Cv=($,Z)=>{return wZ(CG,(X)=>{if(X)return wZ(gX,(J)=>T(J.getEither($),(G)=>{switch(G._tag){case"Left":return M$;case"Right":return EV(G.right.handle,Z)}}));return M$})},Lv=V(2,($,Z)=>C0($,CG,Z)),qv=V(2,($,Z)=>C0($,gX,Z));var xv=Tx;var Te=u1,LG=p$,Me=iS,ze=sO,Re=TH,we=$j,Ce=fQ,Le=F9,qe=ux,Ee=ox,xe=FL,Se=TL,je=Oq,ke=Bq,Ie=jL,ve=cx,ye=dx,be=zL,ge=qL,qG=I8,he=IL,me=qO,fe=EO,ce=Gq,pe=Wq,de=Yq,ue=sx,oe=LO,ne=nx,re=lx,le=ZS,ie=jZ,se=jj,ae=W2,T4=x$,te=L$,ee=t8,kv=E$,$$$=o1,AN=RZ,Z$$=t4,X$$=L8,J$$=zD,G$$=G9,Y$$=aL,W$$=Xq,KN=R,VN=I5,D$$=Vq,QN=D$,O1=E,M4=M$;var H$$=G1,U$$=GL;var A$$=C6,K$$=Z1,V$$=YL,Q$$=H2,O$$=YR,B$$=WL,N$$=DL,_$$=HL,P$$=UL,F$$=AL,T$$=bQ,M$$=FH,z$$=vL,R$$=Zq,w$$=Aq,C$$=eI,L$$=Wv,q$$=ZN,E$$=yQ;var x$$=zq,S$$=Rq,j$$=uQ,k$$=Lq,I$$=QL,v$$=WR,y$$=VS,hX=PD,b$$=FD,g$$=r1,h$$=HR,m$$=J1,f$$=l1,c$$=j0,p$$=CL,d$$=i$,u$$=_X,o$$=JL,n$$=T0,r$$=$9,l$$=SL,$8=I,i$$=iL,s$$=A2,a$$=Z9,t$$=FX,e$$=sL,$0$=I2,EG=f5,Z0$=mx,X0$=OD,J0$=D1,G0$=v8,Y0$=TD,W0$=iZ,D0$=pH,H0$=dH,U0$=ax,A0$=kO,K0$=G6,V0$=s2,Q0$=oH,O0$=ex,B0$=GS,N0$=lS,_0$=fx,P0$=OL,F0$=_H,T0$=PX,M0$=sS,z0$=GU,R0$=n1,mX=O8,w0$=O4,ON=wX,C0$=aS,L0$=aO,q0$=YU,E0$=rx,x0$=tS,S0$=eS,j0$=tO,k0$=MD,I0$=AR,v0$=DC,y0$=MV,b0$=MR,g0$=KL,h0$=W1,m0$=XS,f0$=uC,c0$=Nk,p0$=_k,d0$=Fk,u0$=Pk,o0$=VL,n0$=k5,r0$=Tq,l0$=dQ,i0$=Xj,s0$=Gj,a0$=eO,t0$=Jj,e0$=XG,$Z$=nC,ZZ$=oC,XZ$=nH,JZ$=_8,GZ$=ML,YZ$=S8,WZ$=A9,DZ$=TU,HZ$=_9,UZ$=P9,AZ$=kq,KZ$=jq,VZ$=oQ,QZ$=nQ,OZ$=Iq,BZ$=vq,NZ$=rQ,_Z$=qq,PZ$=BL,FZ$=NL,TZ$=Uj,MZ$=_L,zZ$=PL;var RZ$=tL,wZ$=a8,CZ$=V0,xG=X1,LZ$=_D;var qZ$=RL,EZ$=wL,xZ$=j2,SZ$=LL,jZ$=jV,kZ$=tR,IZ$=wq,vZ$=Cq,yZ$=zH,bZ$=ZX,gZ$=Eq,hZ$=xq,s5=T,mZ$=e4,fZ$=kZ,cZ$=iH,pZ$=ix,dZ$=Zj,uZ$=vO,oZ$=v2,BN=IZ,nZ$=Nq,rZ$=_q,lZ$=pQ,iZ$=Pq,sZ$=Fq,aZ$=gQ,tZ$=hQ,eZ$=nL,$8$=aI,Z8$=Hq,X8$=$N,J8$=XN,G8$=Gv,Y8$=JN,SG=J9,W8$=PH,D8$=yL,H8$=C0,U8$=a0,A8$=mZ,K8$=LZ,V8$=j5,Q8$=Kq,O8$=MH,B8$=bL,N8$=gL,_8$=k2,P8$=U2,F8$=B0,T8$=s0,M8$=hL,z8$=($,...Z)=>W4($)(...Z),R8$=mL,w8$=mQ,C8$=fL,L8$=cL,q8$=pL,E8$=dL,x8$=uL,S8$=XL,j8$=gx,k8$=oL,I8$=zR,v8$=hx,y8$=O5,b8$=NV,g8$=Q5,h8$=eL,m8$=$q,f8$=xL,c8$=Jq,p8$=BX,Iv=rC,d8$=V(2,($,Z)=>Iv($,pk(Z))),u8$=JS,jG=EX,o8$=$X,n8$=X9,r8$=RD,l8$=jO,i8$=Qq,s8$=cQ,a8$=tx,t8$=xO,e8$=RR,$6$=Sq,Z6$=JU,X6$=oS,J6$=iO,G6$=rS,kG=Lj,Y6$=Cj,W6$=qj,D6$=Ej,H6$=xj,U6$=Sj,A6$=$S,K6$=SO,V6$=YS,Q6$=WS,O6$=DS,vv=H1,B6$=V(2,($,Z)=>vv($,Z,(X,J)=>X(J))),N6$=d1,_6$=QD,P6$=ND,F6$=V(($)=>xv($[0]),wv),T6$=Cv,M6$=KR,z6$=Lv,R6$=qv,w6$=Mq,C6$=OH,L6$=iC,q6$=sH,E6$=VR,x6$=QR,S6$=gq,j6$=yq,k6$=lQ,I6$=iQ,v6$=hq,y6$=pq,b6$=dq,g6$=mq,h6$=bq,m6$=cq,f6$=J6,c6$=BH,yv=aQ,p6$=uq,d6$=QS,u6$=NH,o6$=oq,n6$=nq,r6$=($)=>{return B6($)?VN:$8($.value,oZ)},l6$=V(2,($,Z)=>B6($)?VN:$8(Z($.value),oZ)),bv=($)=>{let Z=new Map;return new Proxy($,{get(X,J,G){if(J in X)return Reflect.get(X,J,G);if(Z.has(J))return Z.get(J);let Y=(...O)=>e4(X,(P)=>{if(typeof P[J]==="function")return Z.set(J,(..._)=>e4(X,(M)=>M[J](..._))),P[J](...O);return Z.set(J,e4(X,(_)=>_[J])),P[J]}),W=e4(X,(O)=>O[J]);Object.assign(Y,W);let{apply:D,bind:U,call:A}=Y,Q=Object.setPrototypeOf({},Object.getPrototypeOf(W));return Q.apply=D,Q.bind=U,Q.call=A,Object.setPrototypeOf(Y,Q),Z.set(J,Y),Y}})},i6$=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,y7),J.key=$,Object.defineProperty(J,"use",{get(){return(G)=>e4(this,G)}}),Object.defineProperty(J,"stack",{get(){return X.stack}}),bv(J)},s6$=function(){return function(){let[$,Z]=arguments,X="accessors"in Z?Z.accessors:!1,J=Error.stackTraceLimit;Error.stackTraceLimit=2;let G=Error();Error.stackTraceLimit=J;let Y="unchecked",W=function(O){if(Y==="unchecked"){let P=Object.getPrototypeOf(O);if(P===Object.prototype||P===null)Y="plain";else{let _=Object.getPrototypeOf(this);Object.setPrototypeOf(_,P),Y="patched"}}if(Y==="plain")Object.assign(this,O);else if(Y==="patched")return Object.setPrototypeOf(O,Object.getPrototypeOf(this)),O};W.prototype._tag=$,Object.defineProperty(W,"make",{get(){return(O)=>new this(O)}}),Object.defineProperty(W,"use",{get(){return(O)=>e4(this,O)}}),W.key=$,Object.assign(W,y7),Object.defineProperty(W,"stack",{get(){return G.stack}});let D="dependencies"in Z&&Z.dependencies.length>0,U=D?"DefaultWithoutDependencies":"Default",A,Q=!1;if("effect"in Z)Q=typeof Z.effect==="function",Object.defineProperty(W,U,{get(){if(Q)return function(){return R9(W,$8(Z.effect.apply(null,arguments),(O)=>new this(O)))}.bind(this);return A??=R9(W,$8(Z.effect,(O)=>new this(O)))}});else if("scoped"in Z)Q=typeof Z.scoped==="function",Object.defineProperty(W,U,{get(){if(Q)return function(){return w9(W,$8(Z.scoped.apply(null,arguments),(O)=>new this(O)))}.bind(this);return A??=w9(W,$8(Z.scoped,(O)=>new this(O)))}});else if("sync"in Z)Object.defineProperty(W,U,{get(){return A??=FU(W,()=>new this(Z.sync()))}});else Object.defineProperty(W,U,{get(){return A??=xX(W,new this(Z.succeed))}});if(D){let O;Object.defineProperty(W,"Default",{get(){if(Q)return function(){return o5(this.DefaultWithoutDependencies.apply(null,arguments),Z.dependencies)};return O??=o5(this.DefaultWithoutDependencies,Z.dependencies)}})}return X===!0?bv(W):W}},a6$=function($,...Z){let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();if(Error.stackTraceLimit=X,typeof $!=="string")return Sv($.length,function(...W){let D=Error.stackTraceLimit;Error.stackTraceLimit=2;let U=Error();return Error.stackTraceLimit=D,jv({self:this,body:$,args:W,pipeables:Z,spanName:"<anonymous>",spanOptions:{context:QX.context(!0)},errorDef:J,errorCall:U})});let G=$,Y=Z[0];return(W,...D)=>Sv(W.length,{[G](...U){let A=Error.stackTraceLimit;Error.stackTraceLimit=2;let Q=Error();return Error.stackTraceLimit=A,jv({self:this,body:W,args:U,pipeables:D,spanName:G,spanOptions:Y,errorDef:J,errorCall:Q})}}[G])};function Sv($,Z){return Object.defineProperty(Z,"length",{value:$,configurable:!0})}function jv($){let Z,X=void 0;if(oF($.body))Z=aJ(()=>$.body.apply($.self,$.args));else try{Z=$.body.apply($.self,$.args)}catch(W){X=W,Z=AN(W)}if($.pipeables.length>0)try{for(let W of $.pipeables)Z=W(Z,...$.args)}catch(W){Z=X?kv($0(P0(X),P0(W))):AN(W)}let J=!1,G=()=>{if(J!==!1)return J;if($.errorCall.stack){let W=$.errorDef.stack.trim().split(`
26
+ `).trim(),G}}return D$(()=>{let X=typeof $.options==="function"?$.options.apply(null,arguments):$.options;return aQ(D$(()=>E0(()=>$.body.apply(this,arguments))),X.name,{...X,captureStackTrace:Z})})},oq=($)=>$==null?L$(new yZ):z($),nq=($)=>C6(I($,j),(Z)=>jD(Z)?I5:L$(Z));var tQ="InterruptSignal",eQ="Stateful",$O="Resume",ZO="YieldNow",wH=($)=>({_tag:"InterruptSignal",cause:$}),MX=($)=>({_tag:"Stateful",onFiber:$}),v5=($)=>({_tag:"Resume",effect:$}),rq=()=>({_tag:"YieldNow"});var rr="effect/FiberScope",CH=Symbol.for(rr);class iq{[CH]=CH;fiberId=d0;roots=new Set;add($,Z){this.roots.add(Z),Z.addObserver(()=>{this.roots.delete(Z)})}}class sq{fiberId;parent;[CH]=CH;constructor($,Z){this.fiberId=$,this.parent=Z}add($,Z){this.parent.tell(MX((X)=>{X.addChild(Z),Z.addObserver(()=>{X.removeChild(Z)})}))}}var aq=($)=>{return new sq($.id(),$)},L6=_$(Symbol.for("effect/FiberScope/Global"),()=>new iq);var lr="effect/Fiber",D4=Symbol.for(lr),zX={_E:($)=>$,_A:($)=>$},qH={[D4]:zX,pipe(){return n(this,arguments)}},ir="effect/Fiber",g2=Symbol.for(ir),tq=F(VT(BZ,BZ),WW(($)=>[$.id().startTimeMillis,$.id().id])),eq=($)=>u($,D4),b2=($)=>(g2 in $),EH=($)=>$.await,$E=($)=>$.children,y5=($)=>{return{...d8,commit(){return NZ(this)},...qH,id:()=>d0,await:z($),children:z([]),inheritAll:M$,poll:z(j($)),interruptAsFork:()=>M$}},xH=($)=>I($.status,(Z)=>({id:$.id(),status:Z})),ZE=($)=>OZ($,xH),XE=($)=>y5(kV($)),JO=($)=>y5(IV($)),JE=($)=>I(V0($),y5),GE=($)=>$.id(),SH=($)=>$.inheritAll,YE=($)=>y5(yV($)),WE=($)=>T(n1,(Z)=>F($,h2(Z))),h2=V(2,XX(function*($,Z){for(let X of $){if(b2(X)){X.unsafeInterruptAsFork(Z);continue}yield*X.interruptAsFork(Z)}for(let X of $){if(b2(X)&&X.unsafePoll())continue;yield*X.await}})),jH=V(2,($,Z)=>$.interruptAsFork(Z)),NZ=($)=>N5(kZ($.await),$.inheritAll),LH=V(2,($,Z)=>GO($,(X)=>x(()=>Z(X)))),GO=V(2,($,Z)=>{return{...d8,commit(){return NZ(this)},...qH,id:()=>$.id(),await:T($.await,bD(Z)),children:$.children,inheritAll:$.inheritAll,poll:T($.poll,(J)=>{switch(J._tag){case"None":return z(S());case"Some":return F(bD(J.value,Z),I(j))}}),interruptAsFork:(J)=>$.interruptAsFork(J)}}),DE=V(2,($,Z)=>I($.await,bV({onFailure:(X)=>JO(X),onSuccess:(X)=>Z(X)}))),HE=V(2,($,{onFiber:Z,onRuntimeFiber:X})=>{if(b2($))return X($);return Z($)}),sr={...d8,commit(){return NZ(this)},...qH,id:()=>d0,await:G9,children:z([]),inheritAll:G9,poll:z(S()),interruptAsFork:()=>G9},UE=sr,YO=V(2,($,Z)=>({...d8,commit(){return NZ(this)},...qH,id:()=>uW($.id(),Z.id()),await:sZ($.await,Z.await,(X,J)=>K9(X)?X:J),children:$.children,inheritAll:j$(Z.inheritAll,$.inheritAll),poll:sZ($.poll,Z.poll,(X,J)=>{switch(X._tag){case"None":return S();case"Some":return K9(X.value)?X:J}}),interruptAsFork:(X)=>F(vZ($,X),j$(F(Z,vZ(X))),T0)})),AE=V(2,($,Z)=>YO(LH($,f$),LH(Z,S$))),KE=($)=>$.poll,ar=($)=>{let Z=$>0?Math.floor:Math.ceil;return{days:Z($/86400000),hours:Z($/3600000)%24,minutes:Z($/60000)%60,seconds:Z($/1000)%60,milliseconds:Z($)%1000,microseconds:Z($*1000)%1000,nanoseconds:Z($*1e6)%1000}},tr=($)=>{if(sD($))return"Done";if(yw($))return"Running";return`Suspended(${z6($.runtimeFlags)?"interruptible":"uninterruptible"})`},VE=($)=>T(Y4,(Z)=>I(xH($),(X)=>{let J=Z-X.id.startTimeMillis,{days:G,hours:Y,milliseconds:W,minutes:D,seconds:U}=ar(J),A=(G===0?"":`${G}d`)+(G===0&&Y===0?"":`${Y}h`)+(G===0&&Y===0&&D===0?"":`${D}m`)+(G===0&&Y===0&&D===0&&U===0?"":`${U}s`)+`${W}ms`,Q=bw(X.status)?(()=>{let P=u4(X.status.blockingOn);return b1(P)>0?"waiting on "+Array.from(P).map((N)=>`${N}`).join(", "):""})():"",O=tr(X.status);return`[Fiber](#${X.id.id}) (${A}) ${Q}
27
+ Status: ${O}`})),WO=()=>Array.from(L6.roots),QE=x(WO),OE=($)=>$.status,DO=($)=>y5(R2($)),BE=DO(void 0);var H4="effect/FiberCurrent",NE=()=>D8(globalThis[H4]);var er="effect/Logger",_E=Symbol.for(er),PE={_Message:($)=>$,_Output:($)=>$},kH=($)=>({[_E]:PE,log:$,pipe(){return n(this,arguments)}});var XA$={[_E]:PE,log:MZ,pipe(){return n(this,arguments)}};var $l=/^[^\s"=]*$/,Zl=($,Z)=>({annotations:X,cause:J,date:G,fiberId:Y,logLevel:W,message:D,spans:U})=>{let A=(M)=>M.match($l)?M:$(M),Q=(M,w)=>`${jQ(M)}=${A(w)}`,O=(M,w)=>" "+Q(M,w),P=Q("timestamp",G.toISOString());P+=O("level",W.label),P+=O("fiber",dW(Y));let N=CT(D);for(let M=0;M<N.length;M++)P+=O("message",S1(N[M],Z));if(!HD(J))P+=O("cause",w6(J,{renderErrorCause:!0}));for(let M of U)P+=" "+kQ(G.getTime())(M);for(let[M,w]of X)P+=O(M,S1(w,Z));return P},Xl=($)=>`"${$.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,FE=kH(Zl(Xl));var b5={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},JA$={None:[],All:[],Trace:[b5.gray],Debug:[b5.blue],Info:[b5.green],Warning:[b5.yellow],Error:[b5.red],Fatal:[b5.bgBrightRed,b5.black]};var TE=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,GA$=TE&&process.stdout.isTTY===!0,YA$=TE||"Deno"in globalThis;var ME="effect/MetricBoundaries",UO=Symbol.for(ME);class zE{values;[UO]=UO;constructor($){this.values=$,this._hash=F(o$(ME),V$(n0(this.values)))}_hash;[Y$](){return this._hash}[G$]($){return Gl($)&&s(this.values,$.values)}pipe(){return n(this,arguments)}}var Gl=($)=>u($,UO),Yl=($)=>{let Z=F($,i3(S0(Number.POSITIVE_INFINITY)),XK);return new zE(Z)};var RE=($)=>F(l3($.count-1,(Z)=>$.start*Math.pow($.factor,Z)),EJ,Yl);var Dl="effect/MetricKeyType",wE=Symbol.for(Dl),CE="effect/MetricKeyType/Counter",AO=Symbol.for(CE),Hl="effect/MetricKeyType/Frequency",Ul=Symbol.for(Hl),Al="effect/MetricKeyType/Gauge",Kl=Symbol.for(Al),LE="effect/MetricKeyType/Histogram",KO=Symbol.for(LE),Vl="effect/MetricKeyType/Summary",Ql=Symbol.for(Vl),qE={_In:($)=>$,_Out:($)=>$};class EE{incremental;bigint;[wE]=qE;[AO]=AO;constructor($,Z){this.incremental=$,this.bigint=Z,this._hash=o$(CE)}_hash;[Y$](){return this._hash}[G$]($){return VO($)}pipe(){return n(this,arguments)}}class xE{boundaries;[wE]=qE;[KO]=KO;constructor($){this.boundaries=$,this._hash=F(o$(LE),V$(a(this.boundaries)))}_hash;[Y$](){return this._hash}[G$]($){return QO($)&&s(this.boundaries,$.boundaries)}pipe(){return n(this,arguments)}}var SE=($)=>new EE($?.incremental??!1,$?.bigint??!1);var jE=($)=>{return new xE($)};var VO=($)=>u($,AO),kE=($)=>u($,Ul),IE=($)=>u($,Kl),QO=($)=>u($,KO),vE=($)=>u($,Ql);var Ol="effect/MetricKey",bE=Symbol.for(Ol),Bl={_Type:($)=>$},Nl=k7(s);class IH{name;keyType;description;tags;[bE]=Bl;constructor($,Z,X,J=[]){this.name=$,this.keyType=Z,this.description=X,this.tags=J,this._hash=F(o$(this.name+this.description),V$(a(this.keyType)),V$(n0(this.tags)))}_hash;[Y$](){return this._hash}[G$]($){return _l($)&&this.name===$.name&&s(this.keyType,$.keyType)&&s(this.description,$.description)&&Nl(this.tags,$.tags)}pipe(){return n(this,arguments)}}var _l=($)=>u($,bE),gE=($,Z)=>new IH($,SE(Z),D8(Z?.description));var hE=($,Z,X)=>new IH($,jE(Z),D8(X));var mE=V(2,($,Z)=>Z.length===0?$:new IH($.name,$.keyType,$.description,_6($.tags,Z)));var fE=Symbol.for("effect/MutableHashMap"),Fl={[fE]:fE,[Symbol.iterator](){return new OO(this)},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}};class OO{self;referentialIterator;bucketIterator;constructor($){this.self=$,this.referentialIterator=$.referential[Symbol.iterator]()}next(){if(this.bucketIterator!==void 0)return this.bucketIterator.next();let $=this.referentialIterator.next();if($.done)return this.bucketIterator=new cE(this.self.buckets.values()),this.next();return $}[Symbol.iterator](){return new OO(this.self)}}class cE{backing;constructor($){this.backing=$}currentBucket;next(){if(this.currentBucket===void 0){let Z=this.backing.next();if(Z.done)return Z;this.currentBucket=Z.value[Symbol.iterator]()}let $=this.currentBucket.next();if($.done)return this.currentBucket=void 0,this.next();return $}}var U4=()=>{let $=Object.create(Fl);return $.referential=new Map,$.buckets=new Map,$.bucketsSize=0,$};var N0=V(2,($,Z)=>{if(M7(Z)===!1)return $.referential.has(Z)?j($.referential.get(Z)):S();let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return S();return Tl($,J,Z)});var Tl=($,Z,X,J=!1)=>{for(let G=0,Y=Z.length;G<Y;G++)if(X[G$](Z[G][0])){let W=Z[G][1];if(J)Z.splice(G,1),$.bucketsSize--;return j(W)}return S()},k8=V(2,($,Z)=>c$(N0($,Z))),hZ=V(3,($,Z,X)=>{if(M7(Z)===!1)return $.referential.set(Z,X),$;let J=Z[Y$](),G=$.buckets.get(J);if(G===void 0)return $.buckets.set(J,[[Z,X]]),$.bucketsSize++,$;return pE($,G,Z),G.push([Z,X]),$.bucketsSize++,$}),pE=($,Z,X)=>{for(let J=0,G=Z.length;J<G;J++)if(X[G$](Z[J][0])){Z.splice(J,1),$.bucketsSize--;return}};var A4=V(2,($,Z)=>{if(M7(Z)===!1)return $.referential.delete(Z),$;let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return $;if(pE($,J,Z),J.length===0)$.buckets.delete(X);return $});var g5=($)=>{return $.referential.size+$.bucketsSize};var Ml="effect/MetricState",m2=Symbol.for(Ml),dE="effect/MetricState/Counter",BO=Symbol.for(dE),uE="effect/MetricState/Frequency",NO=Symbol.for(uE),oE="effect/MetricState/Gauge",_O=Symbol.for(oE),nE="effect/MetricState/Histogram",PO=Symbol.for(nE),rE="effect/MetricState/Summary",FO=Symbol.for(rE),f2={_A:($)=>$};class lE{count;[m2]=f2;[BO]=BO;constructor($){this.count=$}[Y$](){return F(a(dE),V$(a(this.count)),C$(this))}[G$]($){return Rl($)&&this.count===$.count}pipe(){return n(this,arguments)}}var zl=k7(s);class iE{occurrences;[m2]=f2;[NO]=NO;constructor($){this.occurrences=$}_hash;[Y$](){return F(o$(uE),V$(n0(P$(this.occurrences.entries()))),C$(this))}[G$]($){return wl($)&&zl(P$(this.occurrences.entries()),P$($.occurrences.entries()))}pipe(){return n(this,arguments)}}class sE{value;[m2]=f2;[_O]=_O;constructor($){this.value=$}[Y$](){return F(a(oE),V$(a(this.value)),C$(this))}[G$]($){return Cl($)&&this.value===$.value}pipe(){return n(this,arguments)}}class aE{buckets;count;min;max;sum;[m2]=f2;[PO]=PO;constructor($,Z,X,J,G){this.buckets=$,this.count=Z,this.min=X,this.max=J,this.sum=G}[Y$](){return F(a(nE),V$(a(this.buckets)),V$(a(this.count)),V$(a(this.min)),V$(a(this.max)),V$(a(this.sum)),C$(this))}[G$]($){return Ll($)&&s(this.buckets,$.buckets)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return n(this,arguments)}}class tE{error;quantiles;count;min;max;sum;[m2]=f2;[FO]=FO;constructor($,Z,X,J,G,Y){this.error=$,this.quantiles=Z,this.count=X,this.min=J,this.max=G,this.sum=Y}[Y$](){return F(a(rE),V$(a(this.error)),V$(a(this.quantiles)),V$(a(this.count)),V$(a(this.min)),V$(a(this.max)),V$(a(this.sum)),C$(this))}[G$]($){return ql($)&&this.error===$.error&&s(this.quantiles,$.quantiles)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return n(this,arguments)}}var eE=($)=>new lE($),$x=($)=>{return new iE($)},Zx=($)=>new sE($),Xx=($)=>new aE($.buckets,$.count,$.min,$.max,$.sum),Jx=($)=>new tE($.error,$.quantiles,$.count,$.min,$.max,$.sum);var Rl=($)=>u($,BO),wl=($)=>u($,NO),Cl=($)=>u($,_O),Ll=($)=>u($,PO),ql=($)=>u($,FO);var xl="effect/MetricHook",Sl=Symbol.for(xl),jl={_In:($)=>$,_Out:($)=>$},c2=($)=>({[Sl]:jl,pipe(){return n(this,arguments)},...$});var Gx=BigInt(0),Wx=($)=>{let Z=$.keyType.bigint?Gx:0,X=$.keyType.incremental?$.keyType.bigint?(G)=>G>=Gx:(G)=>G>=0:(G)=>!0,J=(G)=>{if(X(G))Z=Z+G};return c2({get:()=>eE(Z),update:J,modify:J})},Dx=($)=>{let Z=new Map;for(let J of $.keyType.preregisteredWords)Z.set(J,0);let X=(J)=>{let G=Z.get(J)??0;Z.set(J,G+1)};return c2({get:()=>$x(Z),update:X,modify:X})},Hx=($,Z)=>{let X=Z;return c2({get:()=>Zx(X),update:(J)=>{X=J},modify:(J)=>{X=X+J}})},Ux=($)=>{let Z=$.keyType.boundaries.values,X=Z.length,J=new Uint32Array(X+1),G=new Float64Array(X),Y=0,W=0,D=Number.MAX_VALUE,U=Number.MIN_VALUE;F(Z,H8(BZ),u6((O,P)=>{G[P]=O}));let A=(O)=>{let P=0,N=X;while(P!==N){let M=Math.floor(P+(N-P)/2),w=G[M];if(O<=w)N=M;else P=M;if(N===P+1)if(O<=G[P])N=P;else P=N}if(J[P]=J[P]+1,Y=Y+1,W=W+O,O<D)D=O;if(O>U)U=O},Q=()=>{let O=LJ(X),P=0;for(let N=0;N<X;N++){let M=G[N],w=J[N];P=P+w,O[N]=[M,P]}return O};return c2({get:()=>Xx({buckets:Q(),count:Y,min:D,max:U,sum:W}),update:A,modify:A})},Ax=($)=>{let{error:Z,maxAge:X,maxSize:J,quantiles:G}=$.keyType,Y=F(G,H8(BZ)),W=LJ(J),D=0,U=0,A=0,Q=0,O=0,P=(M)=>{let w=[],q=0;while(q!==J-1){let K$=W[q];if(K$!=null){let[l,J$]=K$,B$=xZ(M-l);if(PW(B$,K8)&&HM(B$,X))w.push(J$)}q=q+1}return kl(Z,Y,H8(w,BZ))},N=(M,w)=>{if(J>0){D=D+1;let q=D%J;W[q]=[w,M]}Q=U===0?M:Math.min(Q,M),O=U===0?M:Math.max(O,M),U=U+1,A=A+M};return c2({get:()=>Jx({error:Z,quantiles:P(Date.now()),count:U,min:Q,max:O,sum:A}),update:([M,w])=>N(M,w),modify:([M,w])=>N(M,w)})},kl=($,Z,X)=>{let J=X.length;if(!EZ(Z))return P6();let G=Z[0],Y=Z.slice(1),W=Yx($,J,S(),0,G,X),D=lZ(W);return Y.forEach((U)=>{D.push(Yx($,J,W.value,W.consumed,U,W.rest))}),u6(D,(U)=>[U.quantile,U.value])},Yx=($,Z,X,J,G,Y)=>{let W=$,D=Z,U=X,A=J,Q=G,O=Y,P=$,N=Z,M=X,w=J,q=G,K$=Y;while(!0){if(!EZ(O))return{quantile:Q,value:S(),consumed:A,rest:[]};if(Q===1)return{quantile:Q,value:j(a3(O)),consumed:A+O.length,rest:[]};let l=KZ(O),J$=ST(O,(v$)=>v$===l),B$=Q*D,h$=W/2*B$,A$=A+J$[0].length,m$=Math.abs(A$-B$);if(A$<B$-h$){P=W,N=D,M=y4(O),w=A$,q=Q,K$=J$[1],W=P,D=N,U=M,A=w,Q=q,O=K$;continue}if(A$>B$+h$){let v$=I$(U)?j(l):U;return{quantile:Q,value:v$,consumed:A,rest:O}}switch(U._tag){case"None":{P=W,N=D,M=y4(O),w=A$,q=Q,K$=J$[1],W=P,D=N,U=M,A=w,Q=q,O=K$;continue}case"Some":{let v$=Math.abs(B$-U.value);if(m$<v$){P=W,N=D,M=y4(O),w=A$,q=Q,K$=J$[1],W=P,D=N,U=M,A=w,Q=q,O=K$;continue}return{quantile:Q,value:j(U.value),consumed:A,rest:O}}}}throw Error("BUG: MetricHook.resolveQuantiles - please report an issue at https://github.com/Effect-TS/effect/issues")};var vl="effect/MetricPair",yl=Symbol.for(vl),bl={_Type:($)=>$};var Kx=($,Z)=>{return{[yl]:bl,metricKey:$,metricState:Z,pipe(){return n(this,arguments)}}};var hl="effect/MetricRegistry",Vx=Symbol.for(hl);class Qx{[Vx]=Vx;map=U4();snapshot(){let $=[];for(let[Z,X]of this.map)$.push(Kx(Z,X.get()));return $}get($){let Z=F(this.map,N0($),r0);if(Z==null){if(VO($.keyType))return this.getCounter($);if(IE($.keyType))return this.getGauge($);if(kE($.keyType))return this.getFrequency($);if(QO($.keyType))return this.getHistogram($);if(vE($.keyType))return this.getSummary($);throw Error("BUG: MetricRegistry.get - unknown MetricKeyType - please report an issue at https://github.com/Effect-TS/effect/issues")}else return Z}getCounter($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Wx($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getFrequency($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Dx($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getGauge($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Hx($,$.keyType.bigint?BigInt(0):0);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getHistogram($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Ux($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getSummary($){let Z=F(this.map,N0($),r0);if(Z==null){let X=Ax($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}}var Ox=()=>{return new Qx};var fl="effect/Metric",cl=Symbol.for(fl),pl={_Type:($)=>$,_In:($)=>$,_Out:($)=>$},Bx=_$(Symbol.for("effect/Metric/globalMetricRegistry"),()=>Ox()),Nx=function($,Z,X,J){let G=Object.assign((Y)=>IZ(Y,(W)=>ul(G,W)),{[cl]:pl,keyType:$,unsafeUpdate:Z,unsafeValue:X,unsafeModify:J,register(){return this.unsafeValue([]),this},pipe(){return n(this,arguments)}});return G};var p2=($,Z)=>_x(gE($,Z));var _x=($)=>{let Z,X=new WeakMap,J=(G)=>{if(G.length===0){if(Z!==void 0)return Z;return Z=Bx.get($),Z}let Y=X.get(G);if(Y!==void 0)return Y;return Y=Bx.get(mE($,G)),X.set(G,Y),Y};return Nx($.keyType,(G,Y)=>J(Y).update(G),(G)=>J(G).get(),(G,Y)=>J(Y).modify(G))};var Px=($,Z,X)=>_x(hE($,Z,X));var Fx=V(3,($,Z,X)=>dl($,[S5(Z,X)]));var dl=V(2,($,Z)=>{return Nx($.keyType,(X,J)=>$.unsafeUpdate(X,_6(Z,J)),(X)=>$.unsafeValue(_6(Z,X)),(X,J)=>$.unsafeModify(X,_6(Z,J)))});var ul=V(2,($,Z)=>wZ(a1,(X)=>x(()=>$.unsafeUpdate(Z,X))));var nl="effect/Request",TO=Symbol.for(nl),rl={_E:($)=>$,_A:($)=>$},gA$={...E7,[TO]:rl},Tx=($)=>u($,TO);var MO=V(2,($,Z)=>wZ(AH,(X)=>x(()=>{if(X.has($)){let J=X.get($);if(!J.state.completed)J.state.completed=!0,WX(J.result,Z)}})));class d2{count=0;observers=new Set;interrupted=!1;addObserver($){this.observers.add($)}removeObserver($){this.observers.delete($)}increment(){this.count++,this.observers.forEach(($)=>$(this.count))}decrement(){this.count--,this.observers.forEach(($)=>$(this.count))}}var il="effect/Supervisor",u2=Symbol.for(il),yH={_T:($)=>$};class o2{underlying;value0;[u2]=yH;constructor($,Z){this.underlying=$,this.value0=Z}get value(){return this.value0}onStart($,Z,X,J){this.underlying.onStart($,Z,X,J)}onEnd($,Z){this.underlying.onEnd($,Z)}onEffect($,Z){this.underlying.onEffect($,Z)}onSuspend($){this.underlying.onSuspend($)}onResume($){this.underlying.onResume($)}map($){return new o2(this,F(this.value,I($)))}zip($){return new n2(this,$)}}class n2{left;right;_tag="Zip";[u2]=yH;constructor($,Z){this.left=$,this.right=Z}get value(){return B5(this.left.value,this.right.value)}onStart($,Z,X,J){this.left.onStart($,Z,X,J),this.right.onStart($,Z,X,J)}onEnd($,Z){this.left.onEnd($,Z),this.right.onEnd($,Z)}onEffect($,Z){this.left.onEffect($,Z),this.right.onEffect($,Z)}onSuspend($){this.left.onSuspend($),this.right.onSuspend($)}onResume($){this.left.onResume($),this.right.onResume($)}map($){return new o2(this,F(this.value,I($)))}zip($){return new n2(this,$)}}var zO=($)=>u($,u2)&&I4($,"Zip");class Mx{[u2]=yH;fibers=new Set;get value(){return x(()=>Array.from(this.fibers))}onStart($,Z,X,J){this.fibers.add(J)}onEnd($,Z){this.fibers.delete(Z)}onEffect($,Z){}onSuspend($){}onResume($){}map($){return new o2(this,F(this.value,I($)))}zip($){return new n2(this,$)}onRun($,Z){return $()}}class zx{effect;[u2]=yH;constructor($){this.effect=$}get value(){return this.effect}onStart($,Z,X,J){}onEnd($,Z){}onEffect($,Z){}onSuspend($){}onResume($){}map($){return new o2(this,F(this.value,I($)))}zip($){return new n2(this,$)}onRun($,Z){return $()}}var sl=()=>{return new Mx},Rx=x(sl),al=($)=>{return new zx($)},h5=_$("effect/Supervisor/none",()=>al(M$));var wx=n4;var Cx="Empty",Lx="AddSupervisor",qx="RemoveSupervisor",Ex="AndThen",RX={_tag:Cx},gH=($,Z)=>{return{_tag:Ex,first:$,second:Z}},el=($,Z)=>{return $i(Z,S0($))},$i=($,Z)=>{let X=$,J=Z;while(D0(J)){let G=g$(J);switch(G._tag){case Cx:{J=H0(J);break}case Lx:{X=X.zip(G.supervisor),J=H0(J);break}case qx:{X=RO(X,G.supervisor),J=H0(J);break}case Ex:{J=O0(G.first)(O0(G.second)(H0(J)));break}}}return X},RO=($,Z)=>{if(s($,Z))return h5;else if(zO($))return RO($.left,Z).zip(RO($.right,Z));else return $},hH=($)=>{if(s($,h5))return i8();else if(zO($))return F(hH($.left),l6(hH($.right)));else return F6($)},Zi=($,Z)=>{if(s($,Z))return RX;let X=hH($),J=hH(Z),G=F(J,EK(X),J5(RX,(W,D)=>gH(W,{_tag:Lx,supervisor:D}))),Y=F(X,EK(J),J5(RX,(W,D)=>gH(W,{_tag:qx,supervisor:D})));return gH(G,Y)},xx=wx({empty:RX,patch:el,combine:gH,diff:Zi});var Ji=p2("effect_fiber_started",{incremental:!0}),Sx=p2("effect_fiber_active"),Gi=p2("effect_fiber_successes",{incremental:!0}),Yi=p2("effect_fiber_failures",{incremental:!0}),Wi=Fx(Px("effect_fiber_lifetimes",RE({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),r2="Continue",Di="Done",jx="Yield",Hi={_E:($)=>$,_A:($)=>$},mH=($)=>{throw Error(`BUG: FiberRuntime - ${S1($)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},K4=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),V4=_$("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),l2={[w7]:($,Z,X)=>{return E0(()=>Z.effect_instruction_i1(X))},["OnStep"]:($,Z,X)=>{return Z0(Z0(X))},[C7]:($,Z,X)=>{return E0(()=>Z.effect_instruction_i2(X))},[PJ]:($,Z,X)=>{if($.patchRuntimeFlags($.currentRuntimeFlags,Z.patch),z6($.currentRuntimeFlags)&&$.isInterrupted())return b$($.getInterruptedCause());else return Z0(X)},[L7]:($,Z,X)=>{if(E0(()=>Z.effect_instruction_i2(X)),E0(()=>Z.effect_instruction_i0()))return $.pushStack(Z),E0(()=>Z.effect_instruction_i1());else return M$},[i9]:($,Z,X)=>{while(!0){let J=E0(()=>Z.effect_instruction_i0.next(X));if(J.done)return Z0(J.value);let G=u9(J.value);if(!z5(G))return $.pushStack(Z),G;else if(G._tag==="Failure")return G;X=G.value}}},Ui={[tQ]:($,Z,X,J)=>{return $.processNewInterruptSignal(J.cause),z6(Z)?b$(J.cause):X},[$O]:($,Z,X,J)=>{throw Error("It is illegal to have multiple concurrent run loops in a single fiber")},[eQ]:($,Z,X,J)=>{return J.onFiber($,lV(Z)),X},[ZO]:($,Z,X,J)=>{return T(G1(),()=>X)}},Ai=($)=>q8(xz($),(Z)=>Q4(kz(Z),([X,J])=>{let G=new Map,Y=[];for(let D of J){Y.push(u8(D));for(let U of D)G.set(U.request,U)}let W=Y.flat();return C0(Ri(X.runAll(Y),W,()=>W.forEach((D)=>{D.listeners.interrupted=!0})),AH,G)},!1,!1)),Ki=TJ();class uH extends V9{[D4]=zX;[g2]=Hi;_fiberRefs;_fiberId;_queue=[];_children=null;_observers=[];_running=!1;_stack=[];_asyncInterruptor=null;_asyncBlockingOn=null;_exitValue=null;_steps=[];_isYielding=!1;currentRuntimeFlags;currentOpCount=0;currentSupervisor;currentScheduler;currentTracer;currentSpan;currentContext;currentDefaultServices;constructor($,Z,X){super();if(this.currentRuntimeFlags=X,this._fiberId=$,this._fiberRefs=Z,tK(X)){let J=this.getFiberRef(a1);Ji.unsafeUpdate(1,J),Sx.unsafeUpdate(1,J)}this.refreshRefCache()}commit(){return NZ(this)}id(){return this._fiberId}resume($){this.tell(v5($))}get status(){return this.ask(($,Z)=>Z)}get runtimeFlags(){return this.ask(($,Z)=>{if(sD(Z))return $.currentRuntimeFlags;return Z.runtimeFlags})}scope(){return aq(this)}get children(){return this.ask(($)=>Array.from($.getChildren()))}getChildren(){if(this._children===null)this._children=new Set;return this._children}getInterruptedCause(){return this.getFiberRef(P5)}fiberRefs(){return this.ask(($)=>$.getFiberRefs())}ask($){return D$(()=>{let Z=F2(this._fiberId);return this.tell(MX((X,J)=>{WX(Z,x(()=>$(X,J)))})),DZ(Z)})}tell($){if(this._queue.push($),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return jZ(($)=>{let Z=(X)=>$(z(X));if(this._exitValue!==null){Z(this._exitValue);return}return this.tell(MX((X,J)=>{if(X._exitValue!==null)Z(this._exitValue);else X.addObserver(Z)})),x(()=>this.tell(MX((X,J)=>{X.removeObserver(Z)})))},this.id())}get inheritAll(){return x$(($,Z)=>{let X=$.id(),J=$.getFiberRefs(),G=Z.runtimeFlags,Y=this.getFiberRefs(),W=dD(J,X,Y);$.setFiberRefs(W);let D=$.getFiberRef(vx),U=F(s8(G,D),XV(M6),XV(JD));return X9(U)})}get poll(){return x(()=>D8(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork($){return x(()=>this.tell(wH(QZ($))))}unsafeInterruptAsFork($){this.tell(wH(QZ($)))}addObserver($){if(this._exitValue!==null)$(this._exitValue);else this._observers.push($)}removeObserver($){this._observers=this._observers.filter((Z)=>Z!==$)}getFiberRefs(){return this.setFiberRef(vx,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef($){this._fiberRefs=C2(this._fiberRefs,$)}getFiberRef($){if(this._fiberRefs.locals.has($))return this._fiberRefs.locals.get($)[0][1];return $.initial}setFiberRef($,Z){this._fiberRefs=DX(this._fiberRefs,{fiberId:this._fiberId,fiberRef:$,value:Z}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(z0),this.currentTracer=this.currentDefaultServices.unsafeMap.get(G4.key),this.currentSupervisor=this.getFiberRef(rH),this.currentScheduler=this.getFiberRef($4),this.currentContext=this.getFiberRef(B8),this.currentSpan=this.currentContext.unsafeMap.get(gZ.key)}setFiberRefs($){this._fiberRefs=$,this.refreshRefCache()}addChild($){this.getChildren().add($)}removeChild($){this.getChildren().delete($)}transferChildren($){let Z=this._children;if(this._children=null,Z!==null&&Z.size>0){for(let X of Z)if(X._exitValue===null)$.add(this.currentRuntimeFlags,X)}}drainQueueOnCurrentThread(){let $=!0;while($){let Z=r2,X=globalThis[H4];globalThis[H4]=this;try{while(Z===r2)Z=this._queue.length===0?Di:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[H4]=X}if(this._queue.length>0&&!this._running)if(this._running=!0,Z===jx)this.drainQueueLaterOnExecutor(),$=!1;else $=!0;else $=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(i1),this)}drainQueueWhileRunning($,Z){let X=Z;while(this._queue.length>0){let J=this._queue.splice(0,1)[0];X=Ui[J._tag](this,$,X,J)}return X}isInterrupted(){return!nJ(this.getFiberRef(P5))}addInterruptedCause($){let Z=this.getFiberRef(P5);this.setFiberRef(P5,$0(Z,$))}processNewInterruptSignal($){this.addInterruptedCause($),this.sendInterruptSignalToAllChildren()}sendInterruptSignalToAllChildren(){if(this._children===null||this._children.size===0)return!1;let $=!1;for(let Z of this._children)Z.tell(wH(QZ(this.id()))),$=!0;return $}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let $=this._children.values();this._children=null;let Z=!1;return J9({while:()=>!Z,body:()=>{let J=$.next();if(!J.done)return T0(J.value.await);else return x(()=>{Z=!0})},step:()=>{}})}return null}reportExitValue($){if(tK(this.currentRuntimeFlags)){let Z=this.getFiberRef(a1),X=this.id().startTimeMillis,J=Date.now();switch(Wi.unsafeUpdate(J-X,Z),Sx.unsafeUpdate(-1,Z),$._tag){case J0:{Gi.unsafeUpdate(1,Z);break}case X0:{Yi.unsafeUpdate(1,Z);break}}}if($._tag==="Failure"){let Z=this.getFiberRef(V2);if(!H5($.cause)&&Z._tag==="Some")this.log("Fiber terminated with an unhandled error",$.cause,Z)}}setExitValue($){this._exitValue=$,this.reportExitValue($);for(let Z=this._observers.length-1;Z>=0;Z--)this._observers[Z]($);this._observers=[]}getLoggers(){return this.getFiberRef(bx)}log($,Z,X){let J=c$(X)?X.value:this.getFiberRef(TV),G=this.getFiberRef(CO);if(ZQ(G,J))return;let Y=this.getFiberRef(LD),W=this.getFiberRef(s1),D=this.getLoggers(),U=this.getFiberRefs();if(b1(D)>0){let A=l0(this.getFiberRef(z0),tZ),Q=new Date(A.unsafeCurrentTimeMillis());rF(U,()=>{for(let O of D)O.log({fiberId:this.id(),logLevel:J,message:$,cause:Z,context:U,spans:Y,annotations:W,date:Q})})}}evaluateMessageWhileSuspended($){switch($._tag){case ZO:return jx;case tQ:{if(this.processNewInterruptSignal($.cause),this._asyncInterruptor!==null)this._asyncInterruptor(b$($.cause)),this._asyncInterruptor=null;return r2}case $O:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect($.effect),r2;case eQ:return $.onFiber(this,this._exitValue!==null?Iw:vw(this.currentRuntimeFlags,this._asyncBlockingOn)),r2;default:return mH($)}}evaluateEffect($){this.currentSupervisor.onResume(this);try{let Z=z6(this.currentRuntimeFlags)&&this.isInterrupted()?b$(this.getInterruptedCause()):$;while(Z!==null){let X=Z,J=this.runLoop(X);if(J===K4){let G=V4.currentOp;if(V4.currentOp=null,G._op===q7)if(wz(this.currentRuntimeFlags))this.tell(rq()),this.tell(v5(bZ)),Z=null;else Z=bZ;else if(G._op===r9)Z=null}else{this.currentRuntimeFlags=F(this.currentRuntimeFlags,sK(JD));let G=this.interruptAllChildren();if(G!==null)Z=T(G,()=>J);else{if(this._queue.length===0)this.setExitValue(J);else this.tell(v5(J));Z=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start($){if(!this._running){this._running=!0;let Z=globalThis[H4];globalThis[H4]=this;try{this.evaluateEffect($)}finally{if(this._running=!1,globalThis[H4]=Z,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(v5($))}startFork($){this.tell(v5($))}patchRuntimeFlags($,Z){let X=m1($,Z);return globalThis[H4]=this,this.currentRuntimeFlags=X,X}initiateAsync($,Z){let X=!1,J=(G)=>{if(!X)X=!0,this.tell(v5(G))};if(z6($))this._asyncInterruptor=J;try{Z(J)}catch(G){J(E$(P0(G)))}}pushStack($){if(this._stack.push($),$._op==="OnStep")this._steps.push({refs:this.getFiberRefs(),flags:this.currentRuntimeFlags})}popStack(){let $=this._stack.pop();if($){if($._op==="OnStep")this._steps.pop();return $}return}getNextSuccessCont(){let $=this.popStack();while($){if($._op!==R7)return $;$=this.popStack()}}getNextFailCont(){let $=this.popStack();while($){if($._op!==w7&&$._op!==L7&&$._op!==i9)return $;$=this.popStack()}}[iF]($){return x(()=>n8(this.currentContext,$))}["Left"]($){return L$($.left)}["None"]($){return L$(new yZ)}["Right"]($){return Z0($.right)}["Some"]($){return Z0($.value)}["Micro"]($){return e7((Z)=>{let X=Z,J=tw(iw($,this.currentContext));return J.addObserver((G)=>{if(G._tag==="Success")return X(Z0(G.value));switch(G.cause._tag){case"Interrupt":return X(b$(QZ(d0)));case"Fail":return X(L$(G.cause.error));case"Die":return X(RZ(G.cause.defect))}}),e7((G)=>{X=(Y)=>{G(M$)},J.unsafeInterrupt()})})}[tY]($){let Z=E0(()=>$.effect_instruction_i0()),X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in l2))mH(X);return l2[X._op](this,X,Z)}else return V4.currentOp=Z0(Z),K4}[J0]($){let Z=$,X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in l2))mH(X);return l2[X._op](this,X,Z.effect_instruction_i0)}else return V4.currentOp=Z,K4}[X0]($){let Z=$.effect_instruction_i0,X=this.getNextFailCont();if(X!==void 0)switch(X._op){case R7:case C7:if(!(z6(this.currentRuntimeFlags)&&this.isInterrupted()))return E0(()=>X.effect_instruction_i1(Z));else return b$(rJ(Z));case"OnStep":if(!(z6(this.currentRuntimeFlags)&&this.isInterrupted()))return Z0(b$(Z));else return b$(rJ(Z));case PJ:if(this.patchRuntimeFlags(this.currentRuntimeFlags,X.patch),z6(this.currentRuntimeFlags)&&this.isInterrupted())return b$($0(Z,this.getInterruptedCause()));else return b$(Z);default:mH(X)}else return V4.currentOp=b$(Z),K4}[eY]($){return E0(()=>$.effect_instruction_i0(this,lV(this.currentRuntimeFlags)))}["Blocked"]($){let Z=this.getFiberRefs(),X=this.currentRuntimeFlags;if(this._steps.length>0){let J=[],G=this._steps[this._steps.length-1],Y=this.popStack();while(Y&&Y._op!=="OnStep")J.push(Y),Y=this.popStack();this.setFiberRefs(G.refs),this.currentRuntimeFlags=G.flags;let W=C5(G.refs,Z),D=s8(G.flags,X);return Z0(d1($.effect_instruction_i0,x$((U)=>{while(J.length>0)U.pushStack(J.pop());return U.setFiberRefs(L5(U.id(),U.getFiberRefs())(W)),U.currentRuntimeFlags=m1(D)(U.currentRuntimeFlags),$.effect_instruction_i1})))}return j0((J)=>T(wX(QD($.effect_instruction_i0)),()=>J($.effect_instruction_i1)))}["RunBlocked"]($){return Ai($.effect_instruction_i0)}[j1]($){let Z=$.effect_instruction_i0,X=this.currentRuntimeFlags,J=m1(X,Z);if(z6(J)&&this.isInterrupted())return b$(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,Z),$.effect_instruction_i1){let G=s8(J,X);return this.pushStack(new QV(G,$)),E0(()=>$.effect_instruction_i1(X))}else return bZ}[w7]($){return this.pushStack($),$.effect_instruction_i0}["OnStep"]($){return this.pushStack($),$.effect_instruction_i0}[R7]($){return this.pushStack($),$.effect_instruction_i0}[C7]($){return this.pushStack($),$.effect_instruction_i0}[r9]($){return this._asyncBlockingOn=$.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,$.effect_instruction_i0),V4.currentOp=$,K4}[q7]($){return this._isYielding=!1,V4.currentOp=$,K4}[L7]($){let{effect_instruction_i0:Z,effect_instruction_i1:X}=$;if(Z())return this.pushStack($),X();else return bZ}[i9]($){return l2[i9](this,$,void 0)}[l9]($){return E0(()=>$.commit())}runLoop($){let Z=$;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&Rz)!==0)this.currentSupervisor.onEffect(this,Z);if(this._queue.length>0)Z=this.drainQueueWhileRunning(this.currentRuntimeFlags,Z);if(!this._isYielding){this.currentOpCount+=1;let X=this.currentScheduler.shouldYield(this);if(X!==!1){this._isYielding=!0,this.currentOpCount=0;let J=Z;Z=T(G1({priority:X}),()=>J)}}try{if(Z=this.currentTracer.context(()=>{if(Ki!==Z[u1]._V){let X=this.getFiberRef(ED);if(X._tag==="Some"){let J=Z[u1]._V;this.log(`Executing an Effect versioned ${J} with a Runtime of version ${TJ()}, you may want to dedupe the effect dependencies, you can use the language service plugin to detect this at compile time: https://github.com/Effect-TS/language-service`,u0,X)}}return this[Z._op](Z)},this),Z===K4){let X=V4.currentOp;if(X._op===q7||X._op===r9)return K4;return V4.currentOp=null,X._op===J0||X._op===X0?X:b$(P0(X))}}catch(X){if(Z!==K4&&!u(Z,"_op")||!(Z._op in this))Z=t4(`Not a valid effect: ${S1(Z)}`);else if(SD(X))Z=b$($0(P0(X),QZ(d0)));else Z=RZ(X)}}}run=()=>{this.drainQueueOnCurrentThread()}}var CO=_$("effect/FiberRef/currentMinimumLogLevel",()=>L0(XQ("Info"))),Vi=($)=>kH((Z)=>{let X=Kw(Z.context,z0);l0(X,X4).unsafe.log($.log(Z))});var Qi=_$(Symbol.for("effect/Logger/defaultLogger"),()=>Vi(FE));var Oi=_$(Symbol.for("effect/Logger/tracerLogger"),()=>kH(({annotations:$,cause:Z,context:X,fiberId:J,logLevel:G,message:Y})=>{let W=y2(C8(e1(X,B8),gZ));if(W._tag==="None"||W.value._tag==="ExternalSpan")return;let D=n8(e1(X,z0),tZ),U={};for(let[A,Q]of $)U[A]=Q;if(U["effect.fiberId"]=lM(J),U["effect.logLevel"]=G.label,Z!==null&&Z._tag!=="Empty")U["effect.cause"]=w6(Z,{renderErrorCause:!0});W.value.event(S1(Array.isArray(Y)&&Y.length===1?Y[0]:Y),D.unsafeCurrentTimeNanos(),U)}));var bx=_$(Symbol.for("effect/FiberRef/currentLoggers"),()=>FR(F6(Qi,Oi)));var gx=function(){if(typeof arguments[0]==="string")return LZ(s1,SZ(arguments[0],arguments[1]));let $=Object.entries(arguments[0]);return LZ(s1,aM((Z)=>{for(let X=0;X<$.length;X++){let[J,G]=$[X];SZ(Z,J,G)}return Z}))},hx=V(2,($,Z)=>{let X=typeof Z==="string"?XQ(Z):Z;return x$((J)=>{let G=J.getFiberRef(CO);if(ZQ(G,X))return z(S());return I($,j)})}),f5=V(($)=>p$($[0]),($,Z)=>l1(IZ($,(X)=>D1((J)=>Z(X,J))))),mx=V(($)=>p$($[0]),($,Z)=>v8($,D1((X)=>Z(X)))),D1=($)=>x$((Z)=>{let X=Z.getFiberRefs(),J=iK(Z.currentRuntimeFlags,M6);return T(kO,(G)=>D9(G,(Y)=>x$((W)=>{let D=W.getFiberRefs(),U=W.currentRuntimeFlags,A=C5(D,X),Q=s8(U,J),O=C5(X,D);return W.setFiberRefs(L5(A,W.id(),X)),v8(RD($(Y),Q),x(()=>{W.setFiberRefs(L5(O,W.id(),W.getFiberRefs()))}))})))}),fx=($)=>{return C0(tJ,j(L6))($)},kx=Symbol.for("effect/Effect/existsPar/found"),cx=V(($)=>p8($[0])&&!p$($[0]),($,Z,X)=>E2(X?.concurrency,()=>D$(()=>px($[Symbol.iterator](),0,Z)),()=>s0(I8($,(J,G)=>_D(Z(J,G),{onTrue:()=>L$(kx),onFalse:()=>M$}),X),{onFailure:(J)=>J===kx?z(!0):L$(J),onSuccess:()=>z(!1)}))),px=($,Z,X)=>{let J=$.next();if(J.done)return z(!1);return T(X(J.value,Z),(G)=>G?z(G):px($,Z+1,X))},dx=V(($)=>p8($[0])&&!p$($[0]),($,Z,X)=>{let J=X?.negate?(G,Y)=>I(Z(G,Y),$w):Z;return E2(X?.concurrency,()=>D$(()=>P$($).reduceRight((G,Y,W)=>sZ(G,D$(()=>J(Y,W)),(D,U)=>U?[Y,...D]:D),x(()=>[]))),()=>I(I8($,(G,Y)=>I(J(G,Y),(W)=>W?j(G):S()),X),vT))}),Bi=($)=>{if(Array.isArray($)||p8($))return[$,S()];let Z=Object.keys($),X=Z.length;return[Z.map((J)=>$[J]),j((J)=>{let G={};for(let Y=0;Y<X;Y++)G[Z[Y]]=J[Y];return G})]},Ni=($,Z,X)=>{let J=[];for(let G of $)J.push(a8(G));return T(I8(J,R$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>{let Y=S(),W=G.length,D=Array(W),U=Array(W),A=!1;for(let Q=0;Q<W;Q++){let O=G[Q];if(O._tag==="Left")D[Q]=j(O.left),A=!0;else U[Q]=O.right,D[Q]=Y}if(A)return Z._tag==="Some"?L$(Z.value(D)):L$(D);else if(X?.discard)return M$;return Z._tag==="Some"?z(Z.value(U)):z(U)})},_i=($,Z,X)=>{let J=[];for(let G of $)J.push(a8(G));if(X?.discard)return I8(J,R$,{concurrency:X?.concurrency,batching:X?.batching,discard:!0,concurrentFinalizers:X?.concurrentFinalizers});return I(I8(J,R$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>Z._tag==="Some"?Z.value(G):G)},F9=($,Z)=>{let[X,J]=Bi($);if(Z?.mode==="validate")return Ni(X,J,Z);else if(Z?.mode==="either")return _i(X,J,Z);return Z?.discard!==!0&&J._tag==="Some"?I(I8(X,R$,Z),J.value):I8(X,R$,Z)},ux=($)=>(Z)=>F9(Z,$),ox=($,Z)=>I(F9(P$($).map(V0),Z),j7((X)=>_2(X)?j(X.effect_instruction_i0):S())),LO=V(2,($,Z)=>Array.from({length:Z},()=>$)),nx=V(($)=>p$($[0]),($,Z,X)=>F9(LO($,Z),X)),I8=V(($)=>p8($[0]),($,Z,X)=>x$((J)=>{let G=X?.batching===!0||X?.batching==="inherit"&&J.getFiberRef(K2);if(X?.discard)return PQ(X.concurrency,()=>m5(fD,X?.concurrentFinalizers)((Y)=>G?Q4($,(W,D)=>Y(Z(W,D)),!0,!1,1):q8($,(W,D)=>Y(Z(W,D)))),()=>m5(cD,X?.concurrentFinalizers)((Y)=>Q4($,(W,D)=>Y(Z(W,D)),G,!1)),(Y)=>m5(pD(Y),X?.concurrentFinalizers)((W)=>Q4($,(D,U)=>W(Z(D,U)),G,!1,Y)));return PQ(X?.concurrency,()=>m5(fD,X?.concurrentFinalizers)((Y)=>G?wO($,1,(W,D)=>Y(Z(W,D)),!0):OZ($,(W,D)=>Y(Z(W,D)))),()=>m5(cD,X?.concurrentFinalizers)((Y)=>fH($,(W,D)=>Y(Z(W,D)),G)),(Y)=>m5(pD(Y),X?.concurrentFinalizers)((W)=>wO($,Y,(D,U)=>W(Z(D,U)),G)))})),fH=($,Z,X)=>D$(()=>{let J=P$($),G=Array(J.length);return j$(Q4(J,(W,D)=>T(Z(W,D),(U)=>x(()=>G[D]=U)),X,!1),z(G))}),Q4=($,Z,X,J,G)=>j0((Y)=>MD((W)=>x$((D)=>{let U=Array.from($).reverse(),A=U.length;if(A===0)return M$;let Q=0,O=!1,P=G?Math.min(U.length,G):U.length,N=new Set,M=[],w=()=>N.forEach((v$)=>{v$.currentScheduler.scheduleTask(()=>{v$.unsafeInterruptAsFork(D.id())},0,v$)}),q=[],K$=[],l=[],J$=()=>{let v$=M.filter(({exit:A0})=>A0._tag==="Failure").sort((A0,i)=>A0.index<i.index?-1:A0.index===i.index?0:1).map(({exit:A0})=>A0);if(v$.length===0)v$.push(bZ);return v$},B$=(v$,A0=!1)=>{let i=l1(W(v$)),$$=Pi(i,D,D.currentRuntimeFlags,L6);return D.currentScheduler.scheduleTask(()=>{if(A0)$$.unsafeInterruptAsFork(D.id());$$.resume(i)},0,$$),$$},h$=()=>{if(!J)A-=U.length,U=[];O=!0,w()},A$=X?ND:V0,m$=B$(jZ((v$)=>{let A0=($$,r)=>{if($$._op==="Blocked")l.push($$);else if(M.push({index:r,exit:$$}),$$._op==="Failure"&&!O)h$()},i=()=>{if(U.length>0){let $$=U.pop(),r=Q++,Q$=()=>{let Q0=U.pop();return r=Q++,T(G1(),()=>T(A$(Y(Z(Q0,r))),T$))},T$=(Q0)=>{if(U.length>0){if(A0(Q0,r),U.length>0)return Q$()}return z(Q0)},q$=T(A$(Y(Z($$,r))),T$),Z$=B$(q$);if(q.push(Z$),N.add(Z$),O)Z$.currentScheduler.scheduleTask(()=>{Z$.unsafeInterruptAsFork(D.id())},0,Z$);Z$.addObserver((Q0)=>{let b0;if(Q0._op==="Failure")b0=Q0;else b0=Q0.effect_instruction_i0;if(K$.push(Z$),N.delete(Z$),A0(b0,r),M.length===A)v$(z(p0(H9(J$(),{parallel:!0}),()=>bZ)));else if(l.length+M.length===A){let h6=J$(),G8=l.map((F8)=>F8.effect_instruction_i0).reduce(GV);v$(z(d1(G8,Q4([p0(H9(h6,{parallel:!0}),()=>bZ),...l.map((F8)=>F8.effect_instruction_i1)],(F8)=>F8,X,!0,G))))}else i()})}};for(let $$=0;$$<P;$$++)i()}));return T0(iZ(kZ(Y(NZ(m$))),R5({onFailure:(v$)=>{h$();let A0=l.length+1,i=Math.min(typeof G==="number"?G:l.length,l.length),$$=Array.from(l);return jZ((r)=>{let Q$=[],T$=0,q$=0,Z$=(b0,h6)=>(G8)=>{if(Q$[b0]=G8,T$++,T$===A0)r(Z0(b$(v$)));if($$.length>0&&h6)Q0()},Q0=()=>{B$($$.pop(),!0).addObserver(Z$(q$,!0)),q$++};m$.addObserver(Z$(q$,!1)),q$++;for(let b0=0;b0<i;b0++)Q0()})},onSuccess:()=>OZ(K$,(v$)=>v$.inheritAll)})))}))),wO=($,Z,X,J)=>D$(()=>{let G=P$($),Y=Array(G.length);return j$(Q4(G,(D,U)=>I(X(D,U),(A)=>Y[U]=A),J,!1,Z),z(Y))}),O4=($)=>x$((Z,X)=>z(i2($,Z,X.runtimeFlags))),wX=($)=>Fi($,L6),rx=V(2,($,Z)=>O4(TD($,(X)=>{let J=R6(X);switch(J._tag){case"Left":return Z(J.left);case"Right":return E$(J.right)}}))),i2=($,Z,X,J=null)=>{let G=cH($,Z,X,J);return G.resume($),G},Pi=($,Z,X,J=null)=>{return cH($,Z,X,J)},cH=($,Z,X,J=null)=>{let G=nW(),Y=Z.getFiberRefs(),W=pV(Y,G),D=new uH(G,W,X),U=e1(W,B8),A=D.currentSupervisor;return A.onStart(U,$,j(Z),D),D.addObserver((O)=>A.onEnd(O,D)),(J!==null?J:F(Z.getFiberRef(tJ),p0(()=>Z.scope()))).add(X,D),D},Fi=($,Z)=>x$((X,J)=>z(i2($,X,J.runtimeFlags,Z))),qO=V(($)=>c8($[2]),($,Z,X,J)=>E2(J?.concurrency,()=>P$($).reduce((G,Y,W)=>sZ(G,Y,(D,U)=>X(D,U,W)),z(Z)),()=>T(YH(Z),(G)=>T(I8($,(Y,W)=>T(Y,(D)=>JC(G,(U)=>X(U,D,W))),J),()=>WH(G))))),EO=V(($)=>p8($[0]),($,Z,X)=>F(I8($,(J,G)=>a8(Z(J,G)),X),I((J)=>UR(J,R$)))),lx=V(($)=>p8($[0]),($,Z,X)=>T(EO($,Z,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),([J,G])=>AW(J)?L$(J):X?.discard?M$:z(G))),ix=($)=>x$((Z,X)=>jZ((J)=>{let G=new Set,Y,W=u0,D=()=>{for(let Q of G)Q.unsafeInterruptAsFork(Z.id())},U=!1,A=!0;for(let Q of $){A=!1;let O=i2(r1(Q),Z,X.runtimeFlags);if(G.add(O),O.addObserver((P)=>{if(G.delete(O),!Y)if(P._tag==="Success")U=!0,Y=O,W=u0,D();else W=F0(P.cause,W);if(U&&G.size===0)J(Y?j$(SH(Y),Y.unsafePoll()):E$(W))}),Y)break}if(A)return J(L8(()=>new e8("Received an empty collection of effects")));return U=!0,h2(G,Z.id())})),sx=V(($)=>p8($[0])&&!p$($[0]),($,Z,X,J)=>E2(J?.concurrency,()=>P$($).reduce((G,Y,W)=>sZ(G,Y,(D,U)=>X(D,U,W)),Z),()=>D$(()=>F(qO([Z,...$],S(),(G,Y,W)=>{switch(G._tag){case"None":return j(Y);case"Some":return j(X(G.value,Y,W))}},J),I((G)=>{switch(G._tag){case"None":throw Error("BUG: Effect.reduceEffect - please report an issue at https://github.com/Effect-TS/effect/issues");case"Some":return G.value}}))))),pH=($)=>S8((Z)=>c0(C8(Z,U1),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Parallel":return $;case"Sequential":case"ParallelN":return T(x8(X,cD),(J)=>A1($,J))}}})),Ix=($)=>(Z)=>S8((X)=>c0(C8(X,U1),{onNone:()=>Z,onSome:(J)=>{if(J.strategy._tag==="ParallelN"&&J.strategy.parallelism===$)return Z;return T(x8(J,pD($)),(G)=>A1(Z,G))}})),ax=($)=>(Z)=>m5($,!0)(Z),m5=($,Z)=>(X)=>S8((J)=>c0(C8(J,U1),{onNone:()=>X(R$),onSome:(G)=>{if(Z===!0){let Y=$._tag==="Parallel"?pH:$._tag==="Sequential"?dH:Ix($.parallelism);switch(G.strategy._tag){case"Parallel":return Y(X(pH));case"Sequential":return Y(X(dH));case"ParallelN":return Y(X(Ix(G.strategy.parallelism)))}}else return X(R$)}})),G6=($)=>T(U1,$),s2=($)=>T(c5(),(Z)=>iZ($(Z),(X)=>Z.close(X))),oH=($)=>T(c5(),(Z)=>IO($,Z)),dH=($)=>S8((Z)=>c0(C8(Z,U1),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Sequential":return $;case"Parallel":case"ParallelN":return T(x8(X,fD),(J)=>A1($,J))}}})),tx=($,Z)=>xO([S5($,Z)]),xO=($)=>LZ(a1,(Z)=>_6(Z,$)),ex=V(2,($,Z)=>s2((X)=>T(A1($,X),Z))),$S=V(($)=>p$($[1]),($,Z,X)=>SO($,Z,(J,G)=>[J,G],X)),SO=V(($)=>p$($[1]),($,Z,X,J)=>kZ(H1(V0($),V0(Z),(G,Y)=>$6(G,Y,{onSuccess:X,onFailure:(W,D)=>J?.concurrent?F0(W,D):$0(W,D)}),J)));var ZS=V(($)=>p8($[0]),($,Z,X)=>$9(I8($,(J,G)=>$9(Z(J,G)),X))),XS=($)=>LZ(z0,e$(tZ,$)),JS=($)=>LZ(z0,e$(J4,$)),nH=($)=>LZ(z0,e$(VX,$)),GS=($)=>G6((Z)=>T(x8(Z,Z6),(X)=>F($,A1(X),I((J)=>[O8((G)=>F5(X,P2(G))),J])))),YS=V(($)=>p$($[1]),($,Z,X)=>H1($,Z,(J,G)=>[J,G],X)),WS=V(($)=>p$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return N5($,Z);return H1($,Z,(J,G)=>J,X)}),DS=V(($)=>p$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return j$($,Z);return H1($,Z,(J,G)=>G,X)}),H1=V(($)=>p$($[1]),($,Z,X,J)=>I(F9([$,Z],{concurrency:J?.concurrent?2:1,batching:J?.batching,concurrentFinalizers:J?.concurrentFinalizers}),([G,Y])=>X(G,Y))),jO=($)=>{if($===Lz)return M$;return F($X,T((Z)=>{let X=m1(Z,$),J=s8(X,Z);return F(X9($),j$(D1(()=>X9(J))),T0)}),l1)},U1=WZ("effect/Scope"),kO=U1,Ti=($,Z)=>{if($.state._tag==="Open")$.state.finalizers.set({},Z)},Mi={[O2]:O2,[B2]:B2,pipe(){return n(this,arguments)},fork($){return x(()=>{let Z=HS($);if(this.state._tag==="Closed")return Z.state=this.state,Z;let X={},J=(G)=>Z.close(G);return this.state.finalizers.set(X,J),Ti(Z,(G)=>x(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(X)})),Z})},close($){return D$(()=>{if(this.state._tag==="Closed")return M$;let Z=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:$},Z.length===0)return M$;return hV(this.strategy)?F(OZ(Z,(X)=>V0(X($))),T((X)=>F(H9(X),x0(YX),p0(()=>bZ)))):mV(this.strategy)?F(fH(Z,(X)=>V0(X($)),!1),T((X)=>F(H9(X,{parallel:!0}),x0(YX),p0(()=>bZ)))):F(wO(Z,this.strategy.parallelism,(X)=>V0(X($)),!1),T((X)=>F(H9(X,{parallel:!0}),x0(YX),p0(()=>bZ))))})},addFinalizer($){return D$(()=>{if(this.state._tag==="Closed")return $(this.state.exit);return this.state.finalizers.set({},$),M$})}},HS=($=Z6)=>{let Z=Object.create(Mi);return Z.strategy=$,Z.state={_tag:"Open",finalizers:new Map},Z},c5=($=Z6)=>x(()=>HS($)),A1=V(2,($,Z)=>A9($,r8(U8(U1,Z)))),IO=V(2,($,Z)=>F($,A1(Z),iZ((X)=>Z.close(X)))),zi=($)=>_5($,{differ:xx,fork:RX}),mZ=V(2,($,Z)=>T0(f5(T(E8($),(X)=>i$(V5($,Z),X)),(X)=>V5($,X)))),LZ=V(2,($,Z)=>wZ($,(X)=>mZ($,Z(X))));var vx=TR(Cz),rH=zi(h5),lH=($)=>I8($,EH),CX=($)=>{return{...gD,commit(){return NZ(this)},[D4]:zX,id:()=>P$($).reduce((X,J)=>V8(X,J.id()),d0),await:V0(fH($,(X)=>kZ(X.await),!1)),children:I(fH($,(X)=>X.children,!1),KW),inheritAll:q8($,(X)=>X.inheritAll),poll:I(OZ($,(X)=>X.poll),VW(j(Z0([])),(X,J)=>{switch(J._tag){case"None":return S();case"Some":switch(X._tag){case"None":return S();case"Some":return j($6(J.value,X.value,{onSuccess:(G,Y)=>[G,...Y],onFailure:F0}))}}})),interruptAsFork:(X)=>q8($,(J)=>J.interruptAsFork(X))}},US=($)=>T0(wX(Y9($))),AS=($)=>NZ(CX($)),KS=($)=>f5(z($),Y9),vO=V(3,($,Z,X)=>yO($,Z,{onSelfWin:(J,G)=>T(J.await,(Y)=>{switch(Y._tag){case J0:return T(J.inheritAll,()=>X.onSelfDone(Y,G));case X0:return X.onSelfDone(Y,G)}}),onOtherWin:(J,G)=>T(J.await,(Y)=>{switch(Y._tag){case J0:return T(J.inheritAll,()=>X.onOtherDone(Y,G));case X0:return X.onOtherDone(Y,G)}})})),VS=($)=>j0((Z)=>O8((X)=>T(wX(Z($)),(J)=>F(Z(NZ(J)),J1(()=>F(J,jH(X))))))),iH=V(2,($,Z)=>O8((X)=>vO($,Z,{onSelfDone:(J,G)=>w5(J,{onFailure:(Y)=>F(NZ(G),FX((W)=>F0(Y,W))),onSuccess:(Y)=>F(G,vZ(X),i$(Y))}),onOtherDone:(J,G)=>w5(J,{onFailure:(Y)=>F(NZ(G),FX((W)=>F0(W,Y))),onSuccess:(Y)=>F(G,vZ(X),i$(Y))})}))),yO=V(3,($,Z,X)=>x$((J,G)=>{let Y=G.runtimeFlags,W=i6(!0),D=cH($,J,Y,X.selfScope),U=cH(Z,J,Y,X.otherScope);return jZ((A)=>{D.addObserver(()=>yx(D,U,X.onSelfWin,W,A)),U.addObserver(()=>yx(U,D,X.onOtherWin,W,A)),D.startFork($),U.startFork(Z)},V8(D.id(),U.id()))})),yx=($,Z,X,J,G)=>{if(bW(!0,!1)(J))G(X($,Z))},v8=V(2,($,Z)=>j0((X)=>B0(X($),{onFailure:(J)=>B0(Z,{onFailure:(G)=>E$($0(J,G)),onSuccess:()=>E$(J)}),onSuccess:(J)=>i$(Z,J)}))),Ri=($,Z,X)=>O8((J)=>v8(T(wX(r1($)),(G)=>jZ((Y)=>{let W=Z.map((A)=>A.listeners.count),D=()=>{if(W.every((A)=>A===0)){if(Z.every((A)=>{if(A.result.state.current._tag==="Pending")return!0;else if(A.result.state.current._tag==="Done"&&z5(A.result.state.current.effect)&&A.result.state.current.effect._tag==="Failure"&&n7(A.result.state.current.effect.cause))return!0;else return!1}))U.forEach((A)=>A()),X?.(),Y(Y9(G))}};G.addObserver((A)=>{U.forEach((Q)=>Q()),Y(A)});let U=Z.map((A,Q)=>{let O=(P)=>{W[Q]=P,D()};return A.listeners.addObserver(O),()=>A.listeners.removeObserver(O)});return D(),x(()=>{U.forEach((A)=>A())})})),D$(()=>{let G=Z.flatMap((Y)=>{if(!Y.state.completed)return[Y];return[]});return q8(G,(Y)=>MO(Y.request,P2(J)))})));var J6=($,Z)=>{return Z=j8(Z),l1(x$((X)=>{let J=n8(X.getFiberRef(B8),U1),G=RH(X,$,Z),Y=X.getFiberRef(W9),W=l0(X.getFiberRef(z0),tZ);return i$(D9(J,(D)=>sQ(G,D,W,Y)),G)}))},sH=($)=>LZ(z0,e$(G4,$)),QS=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return T(J6(Z,j8(X)),(G)=>_9(J,gZ,G))}return(J)=>T(J6(Z,j8(X)),(G)=>_9(J,gZ,G))};var wi=O2,Ci=B2,bO=U1,Li=N2,qi=D9,gO=F5,Ei=A1,hO=x8,xi=IO,Si=c5;var t={};M8(t,{zipWith:()=>vv,zipRight:()=>O6$,zipLeft:()=>Q6$,zip:()=>V6$,yieldNow:()=>H$$,withUnhandledErrorLogLevel:()=>I8$,withTracerTiming:()=>x6$,withTracerScoped:()=>q6$,withTracerEnabled:()=>E6$,withTracer:()=>L6$,withSpanScoped:()=>d6$,withSpan:()=>yv,withSchedulingPriority:()=>y0$,withScheduler:()=>v0$,withRuntimeFlagsPatchScoped:()=>l8$,withRuntimeFlagsPatch:()=>r8$,withRequestCaching:()=>z6$,withRequestCache:()=>R6$,withRequestBatching:()=>M6$,withRandomScoped:()=>u8$,withRandomFixed:()=>d8$,withRandom:()=>Iv,withParentSpan:()=>u6$,withMetric:()=>$6$,withMaxOpsBeforeYield:()=>b0$,withLogSpan:()=>x8$,withFiberRuntime:()=>T4,withExecutionPlan:()=>L$$,withEarlyRelease:()=>B0$,withConsoleScoped:()=>d0$,withConsole:()=>u0$,withConfigProviderScoped:()=>XZ$,withConfigProvider:()=>ZZ$,withConcurrency:()=>I0$,withClockScoped:()=>m0$,withClock:()=>f0$,whileLoop:()=>SG,whenRef:()=>hZ$,whenLogLevel:()=>v8$,whenFiberRef:()=>gZ$,whenEffect:()=>bZ$,when:()=>yZ$,void:()=>M4,validateWith:()=>K6$,validateFirst:()=>le,validateAll:()=>re,validate:()=>A6$,using:()=>O0$,useSpan:()=>c6$,updateService:()=>_Z$,updateFiberRefs:()=>O8$,unsandbox:()=>k$$,unsafeMakeSemaphore:()=>Z6$,unsafeMakeLatch:()=>J6$,unlessEffect:()=>vZ$,unless:()=>IZ$,uninterruptibleMask:()=>c$$,uninterruptible:()=>f$$,tryPromise:()=>j$$,tryMapPromise:()=>S$$,tryMap:()=>x$$,try:()=>E$$,transposeOption:()=>r6$,transposeMapOption:()=>l6$,transplant:()=>k0$,tracerWith:()=>C6$,tracer:()=>w6$,timeoutTo:()=>e0$,timeoutOption:()=>s0$,timeoutFailCause:()=>t0$,timeoutFail:()=>a0$,timeout:()=>i0$,timedWith:()=>l0$,timed:()=>r0$,tapErrorTag:()=>iZ$,tapErrorCause:()=>sZ$,tapError:()=>lZ$,tapDefect:()=>rZ$,tapBoth:()=>nZ$,tap:()=>BN,takeWhile:()=>ke,takeUntil:()=>je,tagMetricsScoped:()=>a8$,tagMetrics:()=>i8$,sync:()=>O1,suspend:()=>QN,supervised:()=>j0$,summarized:()=>oZ$,succeedSome:()=>D$$,succeedNone:()=>VN,succeed:()=>KN,step:()=>P6$,spanLinks:()=>b6$,spanAnnotations:()=>y6$,sleep:()=>n0$,setFiberRefs:()=>Q8$,serviceOptional:()=>NZ$,serviceOption:()=>BZ$,serviceMembers:()=>OZ$,serviceFunctions:()=>VZ$,serviceFunctionEffect:()=>KZ$,serviceFunction:()=>AZ$,serviceConstants:()=>QZ$,sequentialFinalizers:()=>H0$,scopedWith:()=>V0$,scoped:()=>Q0$,scopeWith:()=>K0$,scope:()=>A0$,scheduleFrom:()=>Y8$,scheduleForked:()=>G8$,schedule:()=>J8$,sandbox:()=>w$$,runtime:()=>jG,runSyncExit:()=>U6$,runSync:()=>H6$,runRequestBlock:()=>_6$,runPromiseExit:()=>D6$,runPromise:()=>W6$,runFork:()=>kG,runCallback:()=>Y6$,retryOrElse:()=>q$$,retry:()=>C$$,request:()=>F6$,replicateEffect:()=>ne,replicate:()=>oe,repeatOrElse:()=>X8$,repeatN:()=>Z8$,repeat:()=>$8$,reduceWhile:()=>pe,reduceRight:()=>de,reduceEffect:()=>ue,reduce:()=>ce,randomWith:()=>p8$,random:()=>c8$,raceWith:()=>uZ$,raceFirst:()=>dZ$,raceAll:()=>pZ$,race:()=>cZ$,provideServiceEffect:()=>UZ$,provideService:()=>HZ$,provide:()=>DZ$,promise:()=>W$$,patchRuntimeFlags:()=>n8$,patchFiberRefs:()=>V8$,partition:()=>fe,parallelFinalizers:()=>D0$,parallelErrors:()=>R$$,orElseSucceed:()=>m8$,orElseFail:()=>h8$,orElse:()=>g8$,orDieWith:()=>b8$,orDie:()=>y8$,optionFromOptional:()=>n6$,option:()=>RZ$,once:()=>Ce,onInterrupt:()=>m$$,onExit:()=>W0$,onError:()=>Y0$,none:()=>Y$$,never:()=>G$$,negate:()=>$0$,metricLabels:()=>e8$,mergeAll:()=>me,merge:()=>e$$,matchEffect:()=>T8$,matchCauseEffect:()=>F8$,matchCause:()=>P8$,match:()=>_8$,mapInputContext:()=>WZ$,mapErrorCause:()=>t$$,mapError:()=>a$$,mapBoth:()=>s$$,mapAccum:()=>i$$,map:()=>$8,makeSpanScoped:()=>f6$,makeSpan:()=>m6$,makeSemaphore:()=>X6$,makeLatch:()=>G6$,loop:()=>eZ$,logWithLevel:()=>z8$,logWarning:()=>L8$,logTrace:()=>R8$,logInfo:()=>C8$,logFatal:()=>E8$,logError:()=>q8$,logDebug:()=>w8$,logAnnotations:()=>k8$,log:()=>M8$,locallyWith:()=>U8$,locallyScopedWith:()=>K8$,locallyScoped:()=>A8$,locally:()=>H8$,linkSpans:()=>g6$,linkSpanCurrent:()=>h6$,liftPredicate:()=>p$$,let:()=>zZ$,labelMetricsScoped:()=>t8$,labelMetrics:()=>s8$,iterate:()=>tZ$,isSuccess:()=>N8$,isFailure:()=>B8$,isEffect:()=>LG,intoDeferred:()=>xG,interruptibleMask:()=>h$$,interruptible:()=>g$$,interruptWith:()=>b$$,interrupt:()=>hX,inheritFiberRefs:()=>D8$,ignoreLogged:()=>z$$,ignore:()=>M$$,if:()=>LZ$,head:()=>he,getRuntimeFlags:()=>o8$,getFiberRefs:()=>W8$,gen:()=>J$$,functionWithSpan:()=>p6$,fromNullable:()=>o6$,fromFiberEffect:()=>S0$,fromFiber:()=>x0$,forkWithErrorHandler:()=>E0$,forkScoped:()=>q0$,forkIn:()=>L0$,forkDaemon:()=>ON,forkAll:()=>C0$,fork:()=>w0$,forever:()=>aZ$,forEach:()=>qG,fnUntraced:()=>t6$,fn:()=>a6$,flipWith:()=>l$$,flip:()=>r$$,flatten:()=>fZ$,flatMap:()=>s5,firstSuccessOf:()=>f8$,findFirst:()=>ge,finalizersMask:()=>U0$,filterOrFail:()=>SZ$,filterOrElse:()=>xZ$,filterOrDieMessage:()=>EZ$,filterOrDie:()=>qZ$,filterMap:()=>be,filterEffectOrFail:()=>kZ$,filterEffectOrElse:()=>jZ$,filter:()=>ye,fiberIdWith:()=>mX,fiberId:()=>R0$,failSync:()=>ee,failCauseSync:()=>$$$,failCause:()=>kv,fail:()=>te,exit:()=>CZ$,exists:()=>ve,every:()=>Ie,eventually:()=>T$$,ensuringChildren:()=>z0$,ensuringChild:()=>M0$,ensuring:()=>G0$,ensureSuccessType:()=>e6$,ensureRequirementsType:()=>Z1$,ensureErrorType:()=>$1$,either:()=>wZ$,dropWhile:()=>Se,dropUntil:()=>xe,disconnect:()=>y$$,diffFiberRefs:()=>T0$,dieSync:()=>X$$,dieMessage:()=>Z$$,die:()=>AN,descriptorWith:()=>F0$,descriptor:()=>P0$,delay:()=>o0$,daemonChildren:()=>_0$,custom:()=>ae,currentSpan:()=>k6$,currentPropagatedSpan:()=>I6$,currentParentSpan:()=>v6$,contextWithEffect:()=>YZ$,contextWith:()=>GZ$,context:()=>JZ$,consoleWith:()=>p0$,console:()=>c0$,configProviderWith:()=>$Z$,clockWith:()=>h0$,clock:()=>g0$,checkInterruptible:()=>v$$,cause:()=>F$$,catchTags:()=>P$$,catchTag:()=>_$$,catchSomeDefect:()=>N$$,catchSomeCause:()=>B$$,catchSome:()=>O$$,catchIf:()=>Q$$,catchAllDefect:()=>V$$,catchAllCause:()=>K$$,catchAll:()=>A$$,catch:()=>U$$,cachedWithTTL:()=>Me,cachedInvalidateWithTTL:()=>ze,cachedFunction:()=>we,cached:()=>Re,cacheRequestResult:()=>T6$,blocked:()=>N6$,bindTo:()=>MZ$,bindAll:()=>TZ$,bind:()=>FZ$,awaitAllChildren:()=>N0$,asyncEffect:()=>se,async:()=>ie,asVoid:()=>n$$,asSomeError:()=>o$$,asSome:()=>u$$,as:()=>d$$,ap:()=>B6$,annotateSpans:()=>S6$,annotateLogsScoped:()=>j8$,annotateLogs:()=>S8$,annotateCurrentSpan:()=>j6$,andThen:()=>mZ$,allowInterrupt:()=>I$$,allWith:()=>qe,allSuccesses:()=>Ee,all:()=>Le,addFinalizer:()=>J0$,acquireUseRelease:()=>X0$,acquireReleaseInterruptible:()=>Z0$,acquireRelease:()=>EG,Tag:()=>i6$,Service:()=>s6$,EffectTypeId:()=>Te,Do:()=>PZ$});var Y6={};M8(Y6,{stripSomeDefects:()=>Qs,stripFailures:()=>Vs,squashWith:()=>Ts,squash:()=>t2,size:()=>ti,sequential:()=>ui,reduceWithContext:()=>e2,reduce:()=>ws,prettyErrors:()=>ms,pretty:()=>hs,parallel:()=>di,originalError:()=>fs,match:()=>Rs,map:()=>Bs,linearize:()=>Ks,keepDefects:()=>As,isUnknownException:()=>ys,isTimeoutException:()=>Is,isSequentialType:()=>si,isRuntimeException:()=>js,isParallelType:()=>ai,isNoSuchElementException:()=>xs,isInterruptedOnly:()=>a2,isInterruptedException:()=>Ls,isInterrupted:()=>Xs,isInterruptType:()=>ii,isIllegalArgumentException:()=>qs,isFailure:()=>$s,isFailType:()=>ri,isExceededCapacityException:()=>gs,isEmptyType:()=>ni,isEmpty:()=>ei,isDieType:()=>li,isDie:()=>Zs,isCause:()=>oi,interruptors:()=>Ys,interruptOption:()=>Us,interrupt:()=>pi,flipCauseOption:()=>Ds,flatten:()=>Ps,flatMap:()=>Ns,find:()=>Ms,filter:()=>zs,failures:()=>Js,failureOrCause:()=>mO,failureOption:()=>Ws,fail:()=>aH,empty:()=>ci,dieOption:()=>Hs,die:()=>tH,defects:()=>Gs,contains:()=>Fs,as:()=>Os,andThen:()=>_s,YieldableError:()=>fi,UnknownExceptionTypeId:()=>mi,UnknownException:()=>vs,TimeoutExceptionTypeId:()=>hi,TimeoutException:()=>ks,RuntimeExceptionTypeId:()=>ki,RuntimeException:()=>Ss,NoSuchElementExceptionTypeId:()=>yi,NoSuchElementException:()=>Es,InvalidPubSubCapacityExceptionTypeId:()=>bi,InterruptedExceptionTypeId:()=>Ii,InterruptedException:()=>Cs,IllegalArgumentExceptionTypeId:()=>vi,IllegalArgumentException:()=>$G,ExceededCapacityExceptionTypeId:()=>gi,ExceededCapacityException:()=>bs,CauseTypeId:()=>ji});var ji=DD,ki=eJ,Ii=$2,vi=Z2,yi=X2,bi=VD,gi=J2,hi=G2,mi=Y2,fi=GX,ci=u0,aH=Q8,tH=P0,pi=QZ,di=F0,ui=$0,oi=oJ,ni=HD,ri=gz,li=D5,ii=hz,si=mz,ai=fz,ti=cz,ei=nJ,$s=pz,Zs=dz,Xs=n7,a2=H5,Js=r7,Gs=l7,Ys=U5,Ws=i7,mO=R6,Ds=uz,Hs=AV,Us=KV,As=UD,Ks=nz,Vs=rJ,Qs=lz,Os=iz,Bs=s7,Ns=u7,_s=sz,Ps=AD,Fs=az,t2=wR,Ts=zV,Ms=e6,zs=ez,Rs=$1,ws=c1,e2=A5,Cs=wV,Ls=SD,$G=e8,qs=LR,Es=yZ,xs=jD,Ss=RV,js=CR,ks=CV,Is=SR,vs=M5,ys=jR,bs=qR,gs=ER,hs=w6,ms=a7,fs=DR;var cs="effect/ScheduleInterval",ZG=Symbol.for(cs),fO={[ZG]:ZG,startMillis:0,endMillis:0},eH=($,Z)=>{if($>Z)return fO;return{[ZG]:ZG,startMillis:$,endMillis:Z}},OS=V(2,($,Z)=>BS($,Z)===$),BS=V(2,($,Z)=>{if($.endMillis<=Z.startMillis)return $;if(Z.endMillis<=$.startMillis)return Z;if($.startMillis<Z.startMillis)return $;if(Z.startMillis<$.startMillis)return Z;if($.endMillis<=Z.endMillis)return $;return Z});var NS=($)=>{return $.startMillis>=$.endMillis};var _S=V(2,($,Z)=>{let X=Math.max($.startMillis,Z.startMillis),J=Math.min($.endMillis,Z.endMillis);return eH(X,J)}),PS=($)=>{return xZ($.endMillis-$.startMillis)};var FS=($)=>{return eH($,Number.POSITIVE_INFINITY)};var eZ=eH,cO=fO,TS=OS;var MS=NS;var zS=_S,RS=PS;var q6=FS;var ds="effect/ScheduleIntervals",pO=Symbol.for(ds),ZU=($)=>{return{[pO]:pO,intervals:$}};var LS=V(2,($,Z)=>{if(!D0(Z.intervals))return $;if(!D0($.intervals))return Z;if(g$($.intervals).startMillis<g$(Z.intervals).startMillis)return CS(H0($.intervals),Z.intervals,g$($.intervals),w0());return CS($.intervals,H0(Z.intervals),g$(Z.intervals),w0())}),CS=($,Z,X,J)=>{let G=$,Y=Z,W=X,D=J;while(D0(G)||D0(Y))if(!D0(G)&&D0(Y))if(W.endMillis<g$(Y).startMillis)D=F(D,O0(W)),W=g$(Y),Y=H0(Y),G=w0();else W=eZ(W.startMillis,g$(Y).endMillis),Y=H0(Y),G=w0();else if(D0(G)&&QW(Y))if(W.endMillis<g$(G).startMillis)D=F(D,O0(W)),W=g$(G),Y=w0(),G=H0(G);else W=eZ(W.startMillis,g$(G).endMillis),Y=w0(),G=H0(G);else if(D0(G)&&D0(Y))if(g$(G).startMillis<g$(Y).startMillis)if(W.endMillis<g$(G).startMillis)D=F(D,O0(W)),W=g$(G),G=H0(G);else W=eZ(W.startMillis,g$(G).endMillis),G=H0(G);else if(W.endMillis<g$(Y).startMillis)D=F(D,O0(W)),W=g$(Y),Y=H0(Y);else W=eZ(W.startMillis,g$(Y).endMillis),Y=H0(Y);else throw Error(E1("Intervals.unionLoop"));return ZU(F(D,O0(W),R8))},qS=V(2,($,Z)=>us($.intervals,Z.intervals,w0())),us=($,Z,X)=>{let J=$,G=Z,Y=X;while(D0(J)&&D0(G)){let W=F(g$(J),zS(g$(G))),D=MS(W)?Y:F(Y,O0(W));if(F(g$(J),TS(g$(G))))J=H0(J);else G=H0(G);Y=D}return ZU(R8(Y))},$U=($)=>{return F($.intervals,xJ,p0(()=>cO)).startMillis},ES=($)=>{return F($.intervals,xJ,p0(()=>cO)).endMillis},dO=V(2,($,Z)=>$U($)<$U(Z)),xS=($)=>{return D0($.intervals)},SS=V(2,($,Z)=>dO($,Z)?Z:$);var jS=ZU;var uO=LS,kS=qS,T9=$U,XU=ES,IS=dO,vS=xS,yS=SS;var nO="Continue",bS="Done",gS=($)=>{return{_tag:nO,intervals:$}},hS=($)=>{return{_tag:nO,intervals:jS(S0($))}},mS={_tag:bS},fS=($)=>{return $._tag===nO},cS=($)=>{return $._tag===bS};var p5=gS;var t0=hS,y8=mS,N4=fS,UZ=cS;class uS{permits;waiters=new Set;taken=0;constructor($){this.permits=$}get free(){return this.permits-this.taken}take=($)=>D2((Z)=>{if(this.free<$){let X=()=>{if(this.free<$)return;this.waiters.delete(X),Z(D$(()=>{if(this.free<$)return this.take($);return this.taken+=$,z($)}))};return this.waiters.add(X),x(()=>{this.waiters.delete(X)})}Z(D$(()=>{if(this.free<$)return this.take($);return this.taken+=$,z($)}))});updateTakenUnsafe($,Z){if(this.taken=Z(this.taken),this.waiters.size>0)$.getFiberRef($4).scheduleTask(()=>{let X=this.waiters.values(),J=X.next();while(J.done===!1&&this.free>0)J.value(),J=X.next()},$.getFiberRef(i1),$);return z(this.free)}updateTaken($){return x$((Z)=>this.updateTakenUnsafe(Z,$))}resize=($)=>T0(x$((Z)=>{if(this.permits=$,this.free<0)return M$;return this.updateTakenUnsafe(Z,(X)=>X)}));release=($)=>this.updateTaken((Z)=>Z-$);releaseAll=this.updateTaken(($)=>0);withPermits=($)=>(Z)=>j0((X)=>T(X(this.take($)),(J)=>v8(X(Z),this.release(J))));withPermitsIfAvailable=($)=>(Z)=>j0((X)=>D$(()=>{if(this.free<$)return I5;return this.taken+=$,v8(X(_X(Z)),this.release($))}))}var JU=($)=>new uS($),oS=($)=>x(()=>JU($));class nS extends V9{isOpen;waiters=[];scheduled=!1;constructor($){super();this.isOpen=$}commit(){return this.await}unsafeSchedule($){if(this.scheduled||this.waiters.length===0)return M$;return this.scheduled=!0,$.currentScheduler.scheduleTask(this.flushWaiters,$.getFiberRef(i1),$),M$}flushWaiters=()=>{this.scheduled=!1;let $=this.waiters;this.waiters=[];for(let Z=0;Z<$.length;Z++)$[Z](bZ)};open=x$(($)=>{if(this.isOpen)return M$;return this.isOpen=!0,this.unsafeSchedule($)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=x$(($)=>{if(this.isOpen)return M$;return this.unsafeSchedule($)});await=D2(($)=>{if(this.isOpen)return $(M$);return this.waiters.push($),x(()=>{let Z=this.waiters.indexOf($);if(Z!==-1)this.waiters.splice(Z,1)})});unsafeClose(){this.isOpen=!1}close=x(()=>{this.isOpen=!1});whenOpen=($)=>{return j$(this.await,$)}}var iO=($)=>new nS($??!1),rS=($)=>x(()=>iO($)),lS=($)=>GU($,lH),iS=V(2,($,Z)=>I(sO($,Z),(X)=>X[0])),sO=V(2,($,Z)=>{let X=Y0(Z);return T(_8(),(J)=>I(WU(S()),(G)=>[aZ(rs($,X,G),J),ls(G)]))}),dS=($,Z,X)=>{let J=zZ(Y0(Z));return F(N8(),IZ((G)=>X1($,G)),I((G)=>j([X+J,G])))},rs=($,Z,X)=>j0((J)=>F(W1((G)=>G.currentTimeMillis),T((G)=>ts(X,(Y)=>{switch(Y._tag){case"None":return j(dS($,Z,G));case"Some":{let[W]=Y.value;return W-G<=0?j(dS($,Z,G)):S()}}})),T((G)=>I$(G)?t4("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):J(DZ(G.value[1]))))),ls=($)=>Y1($,S()),sS=V(2,($,Z)=>GU($,(X)=>Z(CX(X)))),GU=V(2,($,Z)=>T(Rx,(X)=>F(tO($,X),v8(T(X.value,Z))))),aS=V(($)=>p8($[0]),($,Z)=>Z?.discard?q8($,O4):I(OZ($,O4),CX)),aO=V(2,($,Z)=>x$((X,J)=>{let G=Z,Y=i2($,X,J.runtimeFlags,L6);if(G.state._tag==="Open"){let W=()=>O8((U)=>s(U,Y.id())?M$:T0(Y9(Y))),D={};G.state.finalizers.set(D,W),Y.addObserver(()=>{if(G.state._tag==="Closed")return;G.state.finalizers.delete(D)})}else Y.unsafeInterruptAsFork(X.id());return z(Y)})),YU=($)=>G6((Z)=>aO($,Z)),tS=($)=>NZ($),eS=($)=>D$(()=>T($,NZ)),rO=Symbol.for("effect/Effect/memoizeFunction.key");class lO{a;eq;[rO]=rO;constructor($,Z){this.a=$,this.eq=Z}[G$]($){if(u($,rO))if(this.eq)return this.eq(this.a,$.a);else return s(this.a,$.a);return!1}[Y$](){return this.eq?0:C$(this,a(this.a))}}var $j=($,Z)=>{return F(x(()=>U4()),T(WU),I((X)=>(J)=>F(X.modifyEffect((G)=>{let Y=F(G,N0(new lO(J,Z)));if(I$(Y))return F(N8(),IZ((W)=>F(PX($(J)),X1(W),O4)),I((W)=>[W,F(G,hZ(new lO(J,Z),W))]));return z([Y.value,G])}),T(DZ),T(([G,Y])=>F(j5(G),i$(Y))))))},Zj=V(2,($,Z)=>F(V0($),iH(V0(Z)),(X)=>kZ(X))),tO=V(2,($,Z)=>{return a0(rH,(J)=>J.zip(Z))($)}),Xj=V(2,($,Z)=>eO($,{onTimeout:()=>xR(Z),duration:Z})),eO=V(2,($,{duration:Z,onTimeout:X})=>kZ(XG($,{onTimeout:()=>t8(X),onSuccess:z,duration:Z}))),Jj=V(2,($,{duration:Z,onTimeout:X})=>kZ(XG($,{onTimeout:()=>o1(X),onSuccess:z,duration:Z}))),Gj=V(2,($,Z)=>XG($,{duration:Z,onSuccess:j,onTimeout:S})),XG=V(2,($,{duration:Z,onSuccess:X,onTimeout:J})=>O8((G)=>j0((Y)=>yO(Y($),r1(k5(Z)),{onSelfWin:(W,D)=>T(W.await,(U)=>{if(U._tag==="Success")return T(W.inheritAll,()=>i$(vZ(D,G),X(U.value)));else return T(vZ(D,G),()=>b$(U.cause))}),onOtherWin:(W,D)=>T(W.await,(U)=>{if(U._tag==="Success")return T(W.inheritAll,()=>i$(vZ(D,G),J()));else return T(vZ(D,G),()=>b$(U.cause))}),otherScope:L6})))),is="effect/Ref/SynchronizedRef",ss=Symbol.for(is),as={_A:($)=>$};class Yj extends V9{ref;withLock;[ss]=as;[JH]=VQ;[O9]=O9;constructor($,Z){super();this.ref=$,this.withLock=Z,this.get=CZ(this.ref)}get;commit(){return this.get}modify($){return this.modifyEffect((Z)=>z($(Z)))}modifyEffect($){return this.withLock(F(T(CZ(this.ref),$),T(([Z,X])=>i$(Y1(this.ref,X),Z))))}}var WU=($)=>x(()=>$B($)),$B=($)=>{let Z=AX($),X=JU(1);return new Yj(Z,X.withPermits(1))},ts=V(2,($,Z)=>$.modifyEffect((X)=>{let J=Z(X);switch(J._tag){case"None":return z([X,X]);case"Some":return I(J.value,(G)=>[G,G])}})),Wj=V(2,($,Z)=>JG($,Z,(X,J)=>[X,J])),Dj=V(2,($,Z)=>JG($,Z,(X,J)=>X)),Hj=V(2,($,Z)=>JG($,Z,(X,J)=>J)),JG=V(3,($,Z,X)=>({...gD,commit(){return NZ(this)},[D4]:zX,id:()=>F($.id(),uW(Z.id())),await:F($.await,kZ,H1(kZ(Z.await),X,{concurrent:!0}),V0),children:$.children,inheritAll:j$(Z.inheritAll,$.inheritAll),poll:sZ($.poll,Z.poll,(J,G)=>F(J,rZ((Y)=>F(G,x0((W)=>gV(Y,W,{onSuccess:X,onFailure:F0})))))),interruptAsFork:(J)=>j$($.interruptAsFork(J),Z.interruptAsFork(J)),pipe(){return n(this,arguments)}})),Uj=V(($)=>p$($[0]),($,Z,X)=>T($,(J)=>F9(Z(J),X).pipe(I((G)=>Object.assign({},J,G)))));var Aj=Symbol.for("effect/ManagedRuntime");var Kj="ExtendScope",Vj="Fold",XB="Fresh",Qj="FromEffect",Oj="Scoped",Bj="Suspend",Nj="Provide",JB="ProvideMerge",_j="MergeAll",Pj="ZipWith";var K1={};M8(K1,{zipWith:()=>da,zipRight:()=>pa,zipLeft:()=>ca,zip:()=>fa,void:()=>ma,unsafeRoots:()=>ya,succeed:()=>ha,status:()=>ga,scoped:()=>ba,roots:()=>va,pretty:()=>Ia,poll:()=>ka,orElseEither:()=>ja,orElse:()=>Sa,never:()=>xa,match:()=>Ea,mapFiber:()=>qa,mapEffect:()=>La,map:()=>Ca,joinAll:()=>wa,join:()=>Ra,isRuntimeFiber:()=>Ya,isFiber:()=>Ga,interrupted:()=>Fa,interruptFork:()=>za,interruptAsFork:()=>Ta,interruptAs:()=>M9,interruptAllAs:()=>YG,interruptAll:()=>Ma,interrupt:()=>Pa,inheritAll:()=>_a,id:()=>Wa,getCurrentFiber:()=>Na,fromEffect:()=>Ba,failCause:()=>Oa,fail:()=>Qa,dumpAll:()=>Va,dump:()=>Ka,done:()=>Aa,children:()=>Ha,awaitAll:()=>Da,await:()=>GG,all:()=>Ua,RuntimeFiberTypeId:()=>Xa,Order:()=>Ja,FiberTypeId:()=>Za});var Za=D4,Xa=g2,Ja=tq,Ga=eq,Ya=b2,Wa=GE,GG=EH;var Da=lH,Ha=$E,Ua=CX,Aa=y5,Ka=xH,Va=ZE,Qa=XE,Oa=JO,Ba=JE,Na=NE,_a=SH,Pa=Y9,Fa=YE,M9=vZ,Ta=jH,Ma=WE,YG=h2,za=US,Ra=NZ,wa=AS,Ca=LH,La=GO,qa=DE,Ea=HE,xa=UE,Sa=YO,ja=AE,ka=KE,Ia=VE,va=QE,ya=WO,ba=KS,ga=OE,ha=DO,ma=BE;var fa=Wj,ca=Dj,pa=Hj,da=JG;var LX=($)=>function(){if(arguments.length===1){let Z=arguments[0];return(X,...J)=>$(Z,X,...J)}return $.apply(this,arguments)},qX=LX(($,Z,X)=>{let J=nW(),G=[[B8,[[J,$.context]]]];if(X?.scheduler)G.push([$4,[[J,X.scheduler]]]);let Y=Ow($.fiberRefs,{entries:G,forkAs:J});if(X?.updateRefs)Y=X.updateRefs(Y,J);let W=new uH(J,Y,$.runtimeFlags),D=Z;if(X?.scope)D=T(hO(X.scope,Z6),(A)=>j$(N2(A,O8((Q)=>s(Q,W.id())?M$:vZ(W,Q))),iZ(Z,(Q)=>gO(A,Q))));let U=W.currentSupervisor;if(U!==h5)U.onStart($.context,D,S(),W),W.addObserver((A)=>U.onEnd(A,W));if(L6.add($.runtimeFlags,W),X?.immediate===!1)W.resume(D);else W.start(D);return W}),DU=LX(($,Z,X={})=>{let J=qX($,Z,X);if(X.onExit)J.addObserver((G)=>{X.onExit(G)});return(G,Y)=>DU($)(F(J,M9(G??d0)),{...Y,onExit:Y?.onExit?(W)=>Y.onExit(vV(W)):void 0})}),Fj=LX(($,Z)=>{let X=WB($)(Z);if(X._tag==="Failure")throw YB(X.effect_instruction_i0);return X.effect_instruction_i0});class Tj extends Error{fiber;_tag="AsyncFiberException";constructor($){super(`Fiber #${$.id().id} cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work`);this.fiber=$,this.name=this._tag,this.stack=this.message}}var ua=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new Tj($);return Error.stackTraceLimit=Z,X};var GB=Symbol.for("effect/Runtime/FiberFailure"),WG=Symbol.for("effect/Runtime/FiberFailure/Cause");class Mj extends Error{[GB];[WG];constructor($){let Z=a7($)[0];super(Z?.message||"An error has occurred");if(this[GB]=GB,this[WG]=$,this.name=Z?`(FiberFailure) ${Z.name}`:"FiberFailure",Z?.stack)this.stack=Z.stack}toJSON(){return{_id:"FiberFailure",cause:this[WG].toJSON()}}toString(){return"(FiberFailure) "+w6(this[WG],{renderErrorCause:!0})}[w$](){return this.toString()}}var YB=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new Mj($);return Error.stackTraceLimit=Z,X};var zj=($)=>{let Z=$;switch(Z._op){case"Failure":case"Success":return Z;case"Left":return U9(Z.left);case"Right":return Z0(Z.right);case"Some":return Z0(Z.value);case"None":return U9(new yZ)}},WB=LX(($,Z)=>{let X=zj(Z);if(X)return X;let J=new BQ,G=qX($)(Z,{scheduler:J});J.flush();let Y=G.unsafePoll();if(Y)return Y;return ID(BD(ua(G),yD(G)))}),Rj=LX(($,Z,X)=>DB($,Z,X).then((J)=>{switch(J._tag){case J0:return J.effect_instruction_i0;case X0:throw YB(J.effect_instruction_i0)}})),DB=LX(($,Z,X)=>new Promise((J)=>{let G=zj(Z);if(G)J(G);let Y=qX($)(Z);if(Y.addObserver((W)=>{J(W)}),X?.signal!==void 0)if(X.signal.aborted)Y.unsafeInterruptAsFork(Y.id());else X.signal.addEventListener("abort",()=>{Y.unsafeInterruptAsFork(Y.id())},{once:!0})}));class HB{context;runtimeFlags;fiberRefs;constructor($,Z,X){this.context=$,this.runtimeFlags=Z,this.fiberRefs=X}pipe(){return n(this,arguments)}}var UB=($)=>new HB($.context,$.runtimeFlags,$.fiberRefs),EX=()=>x$(($,Z)=>z(new HB($.getFiberRef(B8),Z.runtimeFlags,$.getFiberRefs()))),wj=aK(M6,lK,rK),E6=UB({context:VZ(),runtimeFlags:wj,fiberRefs:Bw()});var Cj=DU(E6),Lj=qX(E6),qj=Rj(E6),Ej=DB(E6),xj=Fj(E6),Sj=WB(E6),jj=($)=>D$(()=>{let Z=void 0;return T(N8(),(X)=>T(EX(),(J)=>j0((G)=>j$(O4(G(B0($((Y)=>DU(J)(X1(Y,X))),{onFailure:(Y)=>M2(X,Y),onSuccess:(Y)=>{return Z=Y,M$}}))),G(J1(DZ(X),()=>Z??M$))))))});var kj=V(2,($,Z)=>$.modifyEffect(Z));var na="effect/Layer",UU=Symbol.for(na),ra={_RIn:($)=>$,_E:($)=>$,_ROut:($)=>$},W6={[UU]:ra,pipe(){return n(this,arguments)}},la="effect/Layer/MemoMap",DG=Symbol.for(la),KB=n6()("effect/Layer/CurrentMemoMap",{defaultValue:()=>ia()}),UG=($)=>u($,UU),VB=($)=>{return $._op_layer===XB};class QB{ref;[DG];constructor($){this.ref=$,this[DG]=DG}getOrElseMemoize($,Z){return F(kj(this.ref,(X)=>{let J=X.get($);if(J!==void 0){let[G,Y]=J,W=F(G,T(([D,U])=>F(j5(D),i$(U))),iZ(R5({onFailure:()=>M$,onSuccess:()=>D9(Z,Y)})));return z([W,X])}return F(q5(0),T((G)=>F(N8(),T((Y)=>F(q5(()=>M$),I((W)=>{let D=j0((A)=>F(c5(),T((Q)=>F(A(T(gj($,Q,!0),(O)=>PX(O(this)))),V0,T((O)=>{switch(O._tag){case X0:return F(M2(Y,O.effect_instruction_i0),j$(F5(Q,O)),j$(E$(O.effect_instruction_i0)));case J0:return F(Y1(W,(P)=>F(F5(Q,P),ZX(QQ(G,(N)=>[N===1,N-1])),T0)),j$(E5(G,(P)=>P+1)),j$(D9(Z,(P)=>F(x(()=>X.delete($)),j$(CZ(W)),T((N)=>N(P))))),j$(SV(Y,O.effect_instruction_i0)),i$(O.effect_instruction_i0[1]))}}))))),U=[F(DZ(Y),iZ(w5({onFailure:()=>M$,onSuccess:()=>E5(G,(A)=>A+1)}))),(A)=>F(CZ(W),T((Q)=>Q(A)))];return[D,VB($)?X:X.set($,U)]}))))))}),kZ)}}var OB=D$(()=>I(WU(new Map),($)=>new QB($))),ia=()=>new QB($B(new Map)),bj=($)=>G6((Z)=>z9($,Z)),z9=V(2,($,Z)=>T(OB,(X)=>AU($,X,Z))),AU=V(3,($,Z,X)=>T(gj($,X),(J)=>_9(J(Z),KB,Z))),gj=($,Z,X=!1)=>{let J=$;switch(J._op_layer){case"Locally":return x(()=>(G)=>J.f(G.getOrElseMemoize(J.self,Z)));case"ExtendScope":return x(()=>(G)=>G6((Y)=>G.getOrElseMemoize(J.layer,Y)));case"Fold":return x(()=>(G)=>F(G.getOrElseMemoize(J.layer,Z),B0({onFailure:(Y)=>G.getOrElseMemoize(J.failureK(Y),Z),onSuccess:(Y)=>G.getOrElseMemoize(J.successK(Y),Z)})));case"Fresh":return x(()=>(G)=>F(J.layer,z9(Z)));case"FromEffect":return X?x(()=>(G)=>J.effect):x(()=>(G)=>G.getOrElseMemoize($,Z));case"Provide":return x(()=>(G)=>F(G.getOrElseMemoize(J.first,Z),T((Y)=>F(G.getOrElseMemoize(J.second,Z),aZ(Y)))));case"Scoped":return X?x(()=>(G)=>A1(J.effect,Z)):x(()=>(G)=>G.getOrElseMemoize($,Z));case"Suspend":return x(()=>(G)=>G.getOrElseMemoize(J.evaluate(),Z));case"ProvideMerge":return x(()=>(G)=>F(G.getOrElseMemoize(J.first,Z),sZ(G.getOrElseMemoize(J.second,Z),J.zipK)));case"ZipWith":return zD(function*(){let G=yield*x8(Z,w2),Y=yield*x8(G,Z6),W=yield*x8(G,Z6);return(D)=>F(D.getOrElseMemoize(J.first,Y),H1(D.getOrElseMemoize(J.second,W),J.zipK,{concurrent:!0}))});case"MergeAll":{let G=J.layers;return I(x8(Z,w2),(Y)=>(W)=>{let D=Array(G.length);return I(Q4(G,XX(function*(U,A){let Q=yield*x8(Y,Z6),O=yield*W.getOrElseMemoize(U,Q);D[A]=O}),!1,!1),()=>VK(...D))})}}},d5=V(2,($,Z)=>_U($,{onFailure:Z,onSuccess:_4})),BB=V(2,($,Z)=>NU($,{onFailure:Z,onSuccess:_4})),NB=($)=>AG(tH($)),hj=($)=>VU(()=>tH($())),mj=($)=>BU($,()=>VZ()),KU=()=>fZ(_8()),fj=($)=>{let Z=Object.create(W6);return Z._op_layer=Kj,Z.layer=$,Z},_B=($)=>AG(aH($)),PB=($)=>VU(()=>aH($())),AG=($)=>fZ(E$($)),VU=($)=>fZ(o1($)),V1=V(2,($,Z)=>_U($,{onFailure:_B,onSuccess:Z})),cj=V(2,($,Z)=>V1($,l0(Z))),FB=($)=>{let Z=Object.create(W6);return Z._op_layer=XB,Z.layer=$,Z},R9=V(2,($,Z)=>{let X=b7($),J=X?$:Z;return fZ(I(X?Z:$,(Y)=>U8(J,Y)))}),pj=($)=>fZ(I($,()=>VZ()));function fZ($){let Z=Object.create(W6);return Z._op_layer=Qj,Z.effect=$,Z}var dj=V(3,($,Z,X)=>QU($,C0(Z,X))),QU=V(2,($,Z)=>{let X=Object.create(W6);return X._op_layer="Locally",X.self=$,X.f=Z,X}),OU=V(3,($,Z,X)=>QU($,a0(Z,X))),uj=($,Z)=>u5(mZ($,Z)),oj=($,Z)=>u5(LZ($,Z)),nj=($,Z,X)=>fZ(I($,(J)=>U8(Z,X(J)))),rj=($)=>oH(j$(G6((Z)=>F($,z9(Z))),G9)),lj=function(){if(arguments.length===1)return($)=>Ij(arguments[0],$);return Ij(arguments[0],arguments[1])},Ij=($,Z)=>xX($,new Proxy({...Z},{get(X,J,G){if(J in X)return X[J];let Y=Error.stackTraceLimit;Error.stackTraceLimit=2;let W=Error(`${$.key}: Unimplemented method "${J.toString()}"`);return Error.stackTraceLimit=Y,W.name="UnimplementedError",sa(W)},has:m6})),sa=($)=>{let Z=RZ($);function X(){return Z}return Object.assign(X,Z),Object.setPrototypeOf(X,Object.getPrototypeOf(Z)),X},BU=V(2,($,Z)=>V1($,(X)=>_4(Z(X)))),ij=V(2,($,Z)=>d5($,(X)=>PB(()=>Z(X)))),NU=V(2,($,{onFailure:Z,onSuccess:X})=>{let J=Object.create(W6);return J._op_layer=Vj,J.layer=$,J.failureK=Z,J.successK=X,J}),_U=V(2,($,{onFailure:Z,onSuccess:X})=>NU($,{onFailure:(J)=>{let G=mO(J);switch(G._tag){case"Left":return Z(G.left);case"Right":return AG(G.right)}},onSuccess:X})),sj=($)=>G6((Z)=>I(TH(z9($,Z)),fZ)),TB=V(2,($,Z)=>MB($,Z,(X,J)=>r8(X,J))),PU=(...$)=>{let Z=Object.create(W6);return Z._op_layer=_j,Z.layers=$,Z},aj=($)=>d5($,(Z)=>NB(Z)),tj=V(2,($,Z)=>d5($,Z)),ej=($)=>TB(KU(),$),$k=V(4,($,Z,X,J)=>BU($,(G)=>U8(X,J(n8(G,Z))))),Zk=V(2,($,Z)=>VG(()=>{let X=WZ("effect/Layer/retry/{ state: unknown }");return F(xX(X,{state:Z.initial}),V1((J)=>Xk($,Z,X,F(J,l0(X)).state)))})),Xk=($,Z,X,J)=>{return F($,d5((G)=>F(aa(Z,X,G,J),V1((Y)=>FB(Xk($,Z,X,F(Y,l0(X)).state))))))},aa=($,Z,X,J)=>{return R9(Z,F(Y4,T((G)=>F($.step(G,X,J),T(([Y,W,D])=>UZ(D)?L$(X):F(NX(xZ(T9(D.intervals)-G)),i$({state:Y})))))))},w9=V(2,($,Z)=>{let X=b7($),J=X?$:Z;return KG(I(X?Z:$,(Y)=>U8(J,Y)))}),u5=($)=>KG(F($,i$(VZ()))),KG=($)=>{let Z=Object.create(W6);return Z._op_layer=Oj,Z.effect=$,Z},Jk=KG(I(f5(c5(),($,Z)=>$.close(Z)),($)=>U8(bO,$))),Gk=($)=>R9($,$),xX=V(2,($,Z)=>{let X=b7($);return fZ(z(U8(X?$:Z,X?Z:$)))}),_4=($)=>{return fZ(z($))},Yk=_4(VZ()),VG=($)=>{let Z=Object.create(W6);return Z._op_layer=Bj,Z.evaluate=$,Z},FU=V(2,($,Z)=>{let X=b7($),J=X?$:Z,G=X?Z:$;return fZ(x(()=>U8(J,G())))}),Wk=($)=>{return fZ(x($))},Dk=V(2,($,Z)=>V1($,(X)=>fZ(i$(Z(X),X)))),Hk=V(2,($,Z)=>d5($,(X)=>fZ(T(Z(X),()=>L$(X))))),Uk=V(2,($,Z)=>BB($,(X)=>fZ(T(Z(X),()=>E$(X))))),Ak=($)=>F(G6((Z)=>z9($,Z)),T((Z)=>F(EX(),aZ(Z)))),Kk=V(2,($,Z)=>T(G6((X)=>AU($,Z,X)),(X)=>F(EX(),aZ(X)))),o5=V(2,($,Z)=>VG(()=>{let X=Object.create(W6);return X._op_layer=Nj,X.first=Object.create(W6,{_op_layer:{value:JB,enumerable:!0},first:{value:KU(),enumerable:!0},second:{value:Array.isArray(Z)?PU(...Z):Z},zipK:{value:(J,G)=>F(J,r8(G))}}),X.second=$,X})),Vk=V(2,($,Z)=>{let X=Object.create(W6);return X._op_layer=JB,X.first=Z,X.second=o5($,Z),X.zipK=(J,G)=>{return F(J,r8(G))},X}),MB=V(3,($,Z,X)=>VG(()=>{let J=Object.create(W6);return J._op_layer=Pj,J.first=$,J.second=Z,J.zipK=X,J})),zB=($)=>{let Z=WZ("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return V1(R9(Z,$),(X)=>l0(X,Z))},HG=($)=>{let Z=WZ("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return V1(w9(Z,$),(X)=>l0(X,Z))},Qk=V(($)=>UG($[0]),function(){let $=arguments;return OU($[0],s1,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),Ok=V(($)=>UG($[0]),function(){let $=arguments;return OU($[0],JX,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),Bk=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return HG(I(X?.onEnd?IZ(J6(Z,X),(G)=>D1((Y)=>X.onEnd(G,Y))):J6(Z,X),(G)=>HU(J,G)))}return(J)=>HG(I(X?.onEnd?IZ(J6(Z,X),(G)=>D1((Y)=>X.onEnd(G,Y))):J6(Z,X),(G)=>HU(J,G)))},HU=V(2,($,Z)=>o5($,_4(U8(gZ,Z)))),vj=V(2,($,Z)=>s2((X)=>T(z9(Z,X),(J)=>vD($,J)))),yj=V(2,($,Z)=>{let X=C5(E6.fiberRefs,Z.fiberRefs),J=s8(E6.runtimeFlags,Z.runtimeFlags);return j0((G)=>x$((Y)=>{let W=Y.getFiberRef(B8),D=Y.getFiberRefs(),U=L5(Y.id(),D)(X),A=Y.currentRuntimeFlags,Q=m1(J)(A),O=C5(U,D),P=s8(Q,A);return Y.setFiberRefs(U),Y.currentRuntimeFlags=Q,v8(vD(G($),r8(W,Z.context)),x$((N)=>{return N.setFiberRefs(L5(N.id(),N.getFiberRefs())(O)),N.currentRuntimeFlags=m1(P)(N.currentRuntimeFlags),M$}))}))}),TU=V(2,($,Z)=>{if(Array.isArray(Z))return vj($,PU(...Z));else if(UG(Z))return vj($,Z);else if(KK(Z))return vD($,Z);else if(Aj in Z)return T(Z.runtimeEffect,(X)=>yj($,X));else return yj($,Z)});var Nk=I(E8(z0),l0(X4)),_k=($)=>wZ(z0,(Z)=>$(l0(Z,X4))),Pk=V(2,($,Z)=>a0($,z0,e$(X4,Z))),Fk=($)=>LZ(z0,e$(X4,$));var ea=function(){let $=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends GX{constructor(X){super(X?.message,X?.cause?{cause:X.cause}:void 0);if(X)Object.assign(this,X),Object.defineProperty(this,$,{value:X,enumerable:!1})}toJSON(){return{...this[$],...this}}}}.BaseEffectError}(),Tk=($)=>{let Z={BaseEffectError:class extends ea{_tag=$}};return Z.BaseEffectError.prototype.name=$,Z.BaseEffectError};var RB=Symbol.for("effect/DateTime"),wB=Symbol.for("effect/DateTime/TimeZone"),Rk={[RB]:RB,pipe(){return n(this,arguments)},[w$](){return this.toString()},toJSON(){return jX(this).toJSON()}},Zt={...Rk,_tag:"Utc",[Y$](){return C$(this,o9(this.epochMillis))},[G$]($){return BG($)&&$._tag==="Utc"&&this.epochMillis===$.epochMillis},toString(){return`DateTime.Utc(${jX(this).toJSON()})`}},Xt={...Rk,_tag:"Zoned",[Y$](){return F(o9(this.epochMillis),V$(a(this.zone)),C$(this))},[G$]($){return BG($)&&$._tag==="Zoned"&&this.epochMillis===$.epochMillis&&s(this.zone,$.zone)},toString(){return`DateTime.Zoned(${Rt(this)})`}},wk={[wB]:wB,[w$](){return this.toString()}},Jt={...wk,_tag:"Named",[Y$](){return C$(this,o$(`Named:${this.id}`))},[G$]($){return SX($)&&$._tag==="Named"&&this.id===$.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},Gt={...wk,_tag:"Offset",[Y$](){return C$(this,o$(`Offset:${this.offset}`))},[G$]($){return SX($)&&$._tag==="Offset"&&this.offset===$.offset},toString(){return`TimeZone.Offset(${Ek(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},Q1=($,Z,X)=>{let J=Object.create(Xt);return J.epochMillis=$,J.zone=Z,Object.defineProperty(J,"partsUtc",{value:X,enumerable:!1,writable:!0}),Object.defineProperty(J,"adjustedEpochMillis",{value:void 0,enumerable:!1,writable:!0}),Object.defineProperty(J,"partsAdjusted",{value:void 0,enumerable:!1,writable:!0}),J},BG=($)=>u($,RB),Yt=($)=>BG($[0]),SX=($)=>u($,wB);var Ck=($)=>SX($)&&$._tag==="Named";var Wt=($)=>$._tag==="Zoned";var Lk=($)=>{let Z=Object.create(Zt);return Z.epochMillis=$,Object.defineProperty(Z,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),Z},zU=($)=>{let Z=$.getTime();if(Number.isNaN(Z))throw new $G("Invalid date");return Lk(Z)},Dt=($)=>{if(BG($))return $;else if($ instanceof Date)return zU($);else if(typeof $==="object"){let Z=new Date(0);return Ft(Z,$),zU(Z)}else if(typeof $==="string"&&!Ht($))return zU(new Date($+"Z"));return zU(new Date($))},Ht=($)=>/Z|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test($),Ut=-8639999956800000,At=8639999949600000,RU=($,Z)=>{if(Z?.timeZone===void 0&&BG($)&&Wt($))return $;let X=Dt($);if(X.epochMillis<Ut||X.epochMillis>At)throw RangeError(`Epoch millis out of range: ${X.epochMillis}`);let J;if(Z?.timeZone===void 0){let G=new Date(X.epochMillis).getTimezoneOffset()*-60*1000;J=CB(G)}else if(SX(Z?.timeZone))J=Z.timeZone;else if(typeof Z?.timeZone==="number")J=CB(Z.timeZone);else{let G=LB(Z.timeZone);if(I$(G))throw new $G(`Invalid time zone: ${Z.timeZone}`);J=G.value}if(Z?.adjustForTimeZone!==!0)return Q1(X.epochMillis,J,X.partsUtc);return jk(X.epochMillis,J,Z?.disambiguation??"compatible")};var OG=_$("effect/DateTime/validZoneCache",()=>new Map),Kt={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},Vt=($)=>{let Z=$.resolvedOptions().timeZone;if(OG.has(Z))return OG.get(Z);let X=Object.create(Jt);return X.id=Z,X.format=$,OG.set(Z,X),X},Qt=($)=>{if(OG.has($))return OG.get($);try{return Vt(new Intl.DateTimeFormat("en-US",{...Kt,timeZone:$}))}catch{throw new $G(`Invalid time zone: ${$}`)}},CB=($)=>{let Z=Object.create(Gt);return Z.offset=$,Z},Ot=u3(Qt);var Bt=/^(?:GMT|[+-])/,LB=($)=>{if(Bt.test($)){let Z=kk($);return Z===null?S():j(CB(Z))}return Ot($)};var jX=($)=>new Date($.epochMillis),n5=($)=>{if($._tag==="Utc")return new Date($.epochMillis);else if($.zone._tag==="Offset")return new Date($.epochMillis+$.zone.offset);else if($.adjustedEpochMillis!==void 0)return new Date($.adjustedEpochMillis);let Z=$.zone.format.formatToParts($.epochMillis).filter((J)=>J.type!=="literal"),X=new Date(0);return X.setUTCFullYear(Number(Z[2].value),Number(Z[0].value)-1,Number(Z[1].value)),X.setUTCHours(Number(Z[3].value),Number(Z[4].value),Number(Z[5].value),Number(Z[6].value)),$.adjustedEpochMillis=X.getTime(),X},qk=($)=>{return n5($).getTime()-_t($)},Ek=($)=>{let Z=Math.abs($),X=Math.floor(Z/3600000),J=Math.round(Z%3600000/60000);if(J===60)X+=1,J=0;return`${$<0?"-":"+"}${String(X).padStart(2,"0")}:${String(J).padStart(2,"0")}`},Nt=($)=>Ek(qk($)),_t=($)=>$.epochMillis;var xk=($)=>({millis:$.getUTCMilliseconds(),seconds:$.getUTCSeconds(),minutes:$.getUTCMinutes(),hours:$.getUTCHours(),day:$.getUTCDate(),weekDay:$.getUTCDay(),month:$.getUTCMonth()+1,year:$.getUTCFullYear()}),Sk=($)=>{if($._tag==="Utc")return Pt($);else if($.partsAdjusted!==void 0)return $.partsAdjusted;return $.partsAdjusted=Mt($,xk),$.partsAdjusted},Pt=($)=>{if($.partsUtc!==void 0)return $.partsUtc;return $.partsUtc=zt($,xk),$.partsUtc};var Ft=($,Z)=>{if(Z.year!==void 0)$.setUTCFullYear(Z.year);if(Z.month!==void 0)$.setUTCMonth(Z.month-1);if(Z.day!==void 0)$.setUTCDate(Z.day);if(Z.weekDay!==void 0){let X=Z.weekDay-$.getUTCDay();$.setUTCDate($.getUTCDate()+X)}if(Z.hours!==void 0)$.setUTCHours(Z.hours);if(Z.minutes!==void 0)$.setUTCMinutes(Z.minutes);if(Z.seconds!==void 0)$.setUTCSeconds(Z.seconds);if(Z.millis!==void 0)$.setUTCMilliseconds(Z.millis)};var Mk=86400000,jk=($,Z,X)=>{if(Z._tag==="Offset")return Q1($-Z.offset,Z);let J=QG($-Mk,$,Z),G=QG($+Mk,$,Z);if(J===G)return Q1($-J,Z);let Y=J<G,W=J-G;if(Y){if(QG($-G,$,Z)===G)return Q1($-G,Z);let A=Q1($-J,Z),Q=n5(A).getTime();if($!==Q)switch(X){case"reject":{let O=new Date($).toISOString();throw RangeError(`Gap time: ${O} does not exist in time zone ${Z.id}`)}case"earlier":return Q1($-G,Z);case"compatible":case"later":return A}return A}if(QG($-J,$,Z)===J){if(X==="earlier"||X==="compatible")return Q1($-J,Z);if(QG($-J+W,$+W,Z)===J)return Q1($-J,Z);if(X==="reject"){let A=new Date($).toISOString();throw RangeError(`Ambiguous time: ${A} occurs twice in time zone ${Z.id}`)}}return Q1($-G,Z)},Tt=/([+-])(\d{2}):(\d{2})$/,kk=($)=>{let Z=Tt.exec($);if(Z===null)return null;let[,X,J,G]=Z;return(X==="+"?1:-1)*(Number(J)*60+Number(G))*60*1000},QG=($,Z,X)=>{let J=X.format.formatToParts($).find((Y)=>Y.type==="timeZoneName")?.value??"";if(J==="GMT")return 0;let G=kk(J);if(G===null)return qk(Q1(Z,X));return G},Ik=V(Yt,($,Z,X)=>{if($._tag==="Utc"){let Y=jX($);return Z(Y),Lk(Y.getTime())}let J=n5($),G=new Date(J.getTime());return Z(G),jk(G.getTime(),$.zone,X?.disambiguation??"compatible")});var Mt=V(2,($,Z)=>Z(n5($))),zt=V(2,($,Z)=>Z(jX($)));var zk=($)=>{let Z=n5($);return $._tag==="Utc"?Z.toISOString():`${Z.toISOString().slice(0,-1)}${Nt($)}`},Rt=($)=>$.zone._tag==="Offset"?zk($):`${zk($)}[${$.zone.id}]`;var vk=($)=>$.length>0;var EB=Symbol.for("effect/Cron"),Lt={[EB]:EB,[G$]($){return xB($)&&jt(this,$)},[Y$](){return F(a(this.tz),V$(a(this.and)),V$(n0(P$(this.seconds))),V$(n0(P$(this.minutes))),V$(n0(P$(this.hours))),V$(n0(P$(this.days))),V$(n0(P$(this.months))),V$(n0(P$(this.weekdays))),C$(this))},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Cron",tz:this.tz,seconds:P$(this.seconds),minutes:P$(this.minutes),hours:P$(this.hours),days:P$(this.days),months:P$(this.months),weekdays:P$(this.weekdays)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},xB=($)=>u($,EB),qt=($)=>{let Z=Object.create(Lt);Z.seconds=new Set(H8($.seconds??[0],BZ)),Z.minutes=new Set(H8($.minutes,BZ)),Z.hours=new Set(H8($.hours,BZ)),Z.days=new Set(H8($.days,BZ)),Z.months=new Set(H8($.months,BZ)),Z.weekdays=new Set(H8($.weekdays,BZ)),Z.and=$.and===!0,Z.tz=D8($.tz);let X=Array.from(Z.seconds),J=Array.from(Z.minutes),G=Array.from(Z.hours),Y=Array.from(Z.days),W=Array.from(Z.months),D=Array.from(Z.weekdays);return Z.first={second:X[0]??0,minute:J[0]??0,hour:G[0]??0,day:Y[0]??1,month:(W[0]??1)-1,weekday:D[0]??0},Z.last={second:X[X.length-1]??59,minute:J[J.length-1]??59,hour:G[G.length-1]??23,day:Y[Y.length-1]??31,month:(W[W.length-1]??12)-1,weekday:D[D.length-1]??6},Z.next={second:D6(X,60,"next"),minute:D6(J,60,"next"),hour:D6(G,24,"next"),day:D6(Y,32,"next"),month:D6(W,13,"next"),weekday:D6(D,7,"next")},Z.prev={second:D6(X,60,"prev"),minute:D6(J,60,"prev"),hour:D6(G,24,"prev"),day:D6(Y,32,"prev"),month:D6(W,13,"prev"),weekday:D6(D,7,"prev")},Z},D6=($,Z,X)=>{let J=Array(Z).fill(void 0);if($.length===0)return J;let G=void 0;if(X==="next"){let Y=$.length-1;for(let W=Z-1;W>=0;W--){while(Y>=0&&$[Y]>=W)G=$[Y--];J[W]=G}}else{let Y=0;for(let W=0;W<Z;W++){while(Y<$.length&&$[Y]<=W)G=$[Y++];J[W]=G}}return J},yk=Symbol.for("effect/Cron/errors/ParseError");class x6 extends Tk("CronParseError"){[yk]=yk}var gk=($,Z)=>{let X=$.trim().split(/\s+/).filter(vk);if(X.length!==5&&X.length!==6)return f$(new x6({message:"Invalid number of segments in cron expression",input:$}));if(X.length===5)X.unshift("0");let[J,G,Y,W,D,U]=X,A=Z===void 0||SX(Z)?S$(Z):g3(LB(Z),()=>new x6({message:"Invalid time zone in cron expression",input:Z}));return f3({tz:A,seconds:IX(J,kt),minutes:IX(G,It),hours:IX(Y,vt),days:IX(W,yt),months:IX(D,bt),weekdays:IX(U,gt)}).pipe(I1(({days:Q,hours:O,minutes:P,months:N,seconds:M,tz:w,weekdays:q})=>qt({tz:w,seconds:M.values,minutes:P.values,hours:O.values,days:Q.values,months:N.values,weekdays:q.values,and:(Q.wildcard||q.wildcard)&&Q.values.size!==0&&q.values.size!==0})))};var hk=($,Z)=>{let X=RU(Z,{timeZone:r0($.tz)}).pipe(Sk);if($.seconds.size!==0&&!$.seconds.has(X.seconds))return!1;if($.minutes.size!==0&&!$.minutes.has(X.minutes))return!1;if($.hours.size!==0&&!$.hours.has(X.hours))return!1;if($.months.size!==0&&!$.months.has(X.month))return!1;if($.days.size===0&&$.weekdays.size===0)return!0;if($.and)return($.days.size===0||$.days.has(X.day))&&($.weekdays.size===0||$.weekdays.has(X.weekDay));if($.weekdays.size===0)return $.days.has(X.day);if($.days.size===0)return $.weekdays.has(X.weekDay);return $.days.has(X.day)||$.weekdays.has(X.weekDay)},NG=($)=>new Date(Date.UTC($.getUTCFullYear(),$.getUTCMonth()+1,0)).getUTCDate(),mk=($,Z)=>{return Et($,Z,"next")};var Et=($,Z,X)=>{let J=r0($.tz),G=RU(Z??new Date,{timeZone:J}),Y=X==="prev",W=Y?-1:1,D=$[X],U=Y?$.last:$.first,A=Y?(N,M)=>N<M:(N,M)=>N>M,O=J!==void 0&&Ck(J)&&J.id==="UTC"?MZ:(N)=>{let M=RU(N,{timeZone:G.zone,adjustForTimeZone:!0,disambiguation:Y?"later":void 0}).pipe(n5),w=N.getTime()-M.getTime();if(Y?w!==0:w>0)N.setTime(M.getTime())},P=Ik(G,(N)=>{N.setUTCSeconds(N.getUTCSeconds()+W,0);for(let M=0;M<1e4;M++){if($.seconds.size!==0){let w=N.getUTCSeconds(),q=D.second[w];if(q===void 0){N.setUTCMinutes(N.getUTCMinutes()+W,U.second),O(N);continue}if(A(q,w)){N.setUTCSeconds(q),O(N);continue}}if($.minutes.size!==0){let w=N.getUTCMinutes(),q=D.minute[w];if(q===void 0){N.setUTCHours(N.getUTCHours()+W,U.minute,U.second),O(N);continue}if(A(q,w)){N.setUTCMinutes(q,U.second),O(N);continue}}if($.hours.size!==0){let w=N.getUTCHours(),q=D.hour[w];if(q===void 0){N.setUTCDate(N.getUTCDate()+W),N.setUTCHours(U.hour,U.minute,U.second),O(N);continue}if(A(q,w)){N.setUTCHours(q,U.minute,U.second),O(N);continue}}if($.weekdays.size!==0||$.days.size!==0)if($.and){let w=$.days.size===0||$.days.has(N.getUTCDate()),q=$.weekdays.size===0||$.weekdays.has(N.getUTCDay());if(!w||!q){N.setUTCDate(N.getUTCDate()+W),N.setUTCHours(U.hour,U.minute,U.second),O(N);continue}}else{let w=Y?-1/0:1/0,q=Y?-1/0:1/0;if($.weekdays.size!==0){let l=N.getUTCDay(),J$=D.weekday[l];if(J$===void 0)w=Y?l-7+U.weekday:7-l+U.weekday;else w=J$-l}if($.days.size!==0&&w!==0){let l=N.getUTCDate(),J$=D.day[l];if(J$===void 0)if(Y){let B$=NG(new Date(Date.UTC(N.getUTCFullYear(),N.getUTCMonth(),0)));q=-(l+(B$-U.day))}else q=NG(N)-l+U.day;else if(!Y&&J$>NG(N))q=NG(N)-l+U.day;else q=J$-l}let K$=Y?Math.max(w,q):Math.min(w,q);if(K$!==0){N.setUTCDate(N.getUTCDate()+K$),N.setUTCHours(U.hour,U.minute,U.second),O(N);continue}}if($.months.size!==0){let w=N.getUTCMonth()+1,q=D.month[w],K$=(l)=>{if($.days.size!==0&&$.weekdays.size===0)return U.day;let J$=NG(new Date(Date.UTC(N.getUTCFullYear(),l,1)));return Y?J$:1};if(q===void 0){N.setUTCFullYear(N.getUTCFullYear()+W),N.setUTCMonth(U.month,K$(U.month)),N.setUTCHours(U.hour,U.minute,U.second),O(N);continue}if(A(q,w)){let l=q-1;N.setUTCMonth(l,K$(l)),N.setUTCHours(U.hour,U.minute,U.second),O(N);continue}}return}throw Error("Unable to find next cron date")});return jX(P)};var xt=f6(($,Z)=>$.and===Z.and&&kX($.seconds,Z.seconds)&&kX($.minutes,Z.minutes)&&kX($.hours,Z.hours)&&kX($.days,Z.days)&&kX($.months,Z.months)&&kX($.weekdays,Z.weekdays)),St=oY(fF),kX=($,Z)=>St(P$($),P$(Z)),jt=V(2,($,Z)=>xt($,Z)),kt={min:0,max:59},It={min:0,max:59},vt={min:0,max:23},yt={min:1,max:31},bt={min:1,max:12,aliases:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12}},gt={min:0,max:7,normalize:($)=>$===7?0:$,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},IX=($,Z)=>{let X=new Set,J=$.split(","),G=bk(J[0]),Y=G[0]==="*",W=Z.normalize??((U)=>U),D=Y&&(G[1]===void 0||G[1]===1)?MZ:(U)=>{X.add(W(U))};for(let U=0;U<J.length;U++){let A=J[U],[Q,O]=U===0?G:bk(A);if(O!==void 0){if(!Number.isInteger(O))return f$(new x6({message:"Expected step value to be a positive integer",input:$}));if(O<1)return f$(new x6({message:"Expected step value to be greater than 0",input:$}));if(O>Z.max)return f$(new x6({message:`Expected step value to be less than ${Z.max}`,input:$}))}if(Q==="*"){if(U===0&&(O===void 0||O===1))continue;for(let P=Z.min;P<=Z.max;P+=O??1)D(P)}else{let[P,N]=ht(Q,Z.aliases);if(!Number.isInteger(P))return f$(new x6({message:"Expected a positive integer",input:$}));if(P<Z.min||P>Z.max)return f$(new x6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(N===void 0)for(let M=P;M<=(O===void 0?P:Z.max);M+=O??1)D(M);else{if(!Number.isInteger(N))return f$(new x6({message:"Expected a positive integer",input:$}));if(N<Z.min||N>Z.max)return f$(new x6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(P>N)return f$(new x6({message:"Invalid value range",input:$}));for(let M=P;M<=N;M+=O??1)D(M)}}}return S$({values:X,wildcard:Y})},bk=($)=>{let Z=$.indexOf("/");if(Z!==-1){let X=$.slice(Z+1);return[$.slice(0,Z),fk.test(X)?Number(X):NaN]}return[$,void 0]},ht=($,Z)=>{let X=$.indexOf("-");if(X!==-1)return[qB($.slice(0,X),Z),qB($.slice(X+1),Z)];return[qB($,Z),void 0]};function qB($,Z){return Z?.[$.toLocaleLowerCase()]??(fk.test($)?Number($):NaN)}var fk=/^\d+$/;var ck=lC;var pk=yC;var ft="effect/Schedule",LU=Symbol.for(ft),qU=($)=>u($,LU),ct="effect/ScheduleDriver",kB=Symbol.for(ct),SB={start:0,now:0,input:void 0,output:void 0,elapsed:K8,elapsedSincePrevious:K8,recurrence:0},r5=n6()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>SB}),pt={_Out:($)=>$,_In:($)=>$,_R:($)=>$},dt={_Out:($)=>$,_In:($)=>$,_R:($)=>$};class nk{initial;step;[LU]=pt;constructor($,Z){this.initial=$,this.step=Z}pipe(){return n(this,arguments)}}var uk=($,Z,X,J)=>E5($,(G)=>G.recurrence===0?{now:Z,input:X,output:J,recurrence:G.recurrence+1,elapsed:K8,elapsedSincePrevious:K8,start:Z}:{now:Z,input:X,output:J,recurrence:G.recurrence+1,elapsed:xZ(Z-G.start),elapsedSincePrevious:xZ(Z-G.now),start:G.start});class rk{schedule;ref;[kB]=dt;constructor($,Z){this.schedule=$,this.ref=Z}get state(){return I(CZ(this.ref),($)=>$[1])}get last(){return T(CZ(this.ref),([$,Z])=>{switch($._tag){case"None":return t8(()=>new yZ);case"Some":return z($.value)}})}iterationMeta=AX(SB);get reset(){return Y1(this.ref,[S(),this.schedule.initial]).pipe(N5(Y1(this.iterationMeta,SB)))}next($){return F(I(CZ(this.ref),(Z)=>Z[1]),T((Z)=>F(Y4,T((X)=>F(D$(()=>this.schedule.step(X,$,Z)),T(([J,G,Y])=>{let W=Y1(this.ref,[j(G),J]);if(UZ(Y))return W.pipe(j$(L$(S())));let D=T9(Y.intervals)-X;if(D<=0)return W.pipe(j$(uk(this.iterationMeta,X,$,G)),i$(G));let U=xZ(D);return F(W,j$(uk(this.iterationMeta,X,$,G)),j$(k5(U)),i$(G))}))))))}}var r$=($,Z)=>new nk($,Z),EU=V(2,($,Z)=>IB($,(X)=>x(()=>Z(X)))),IB=V(2,($,Z)=>TG($,(X,J)=>I(Z(X),(G)=>_K(J,Y0(G))))),lk=V(2,($,Z)=>_Z(vB($,Z),s9)),vB=V(2,($,Z)=>r$([$.initial,Z.initial,!0],(X,J,G)=>G[2]?T($.step(X,J,G[0]),([Y,W,D])=>{if(UZ(D))return I(Z.step(X,J,G[1]),([U,A,Q])=>[[Y,U,!1],S$(A),Q]);return z([[Y,G[1],!0],f$(W),D])}):I(Z.step(X,J,G[1]),([Y,W,D])=>[[G[0],Y,!1],S$(W),D]))),ik=V(2,($,Z)=>_Z($,()=>Z)),xU=($)=>_Z($,MZ),sk=V(2,($,Z)=>r$([$.initial,Z.initial],(X,[J,G],Y)=>sZ($.step(X,J,Y[0]),Z.step(X,G,Y[1]),([W,D,U],[A,Q,O])=>{if(N4(U)&&N4(O)){let P=F(U.intervals,uO(O.intervals));return[[W,A],[D,Q],p5(P)]}return[[W,A],[D,Q],y8]}))),vX=V(2,($,Z)=>l5($,(X,J)=>x(()=>Z(X,J)))),l5=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>{if(UZ(D))return z([Y,W,y8]);return I(Z(J,W),(U)=>U?[Y,W,D]:[Y,W,y8])}))),ak=()=>i5(P4()),i5=($)=>IU($,w0(),(Z,X)=>F(Z,I7(X))),tk=($)=>i5(fB($)),ek=($)=>i5(cB($)),$I=($)=>i5(dB($)),ZI=($)=>i5(uB($)),XI=V(2,($,Z)=>r$([$.initial,Z.initial],(X,J,G)=>T($.step(X,J,G[0]),([Y,W,D])=>I(Z.step(X,W,G[1]),([U,A,Q])=>UZ(D)?[[Y,U],A,y8]:UZ(Q)?[[Y,U],A,y8]:[[Y,U],A,p5(F(D.intervals,yS(Q.intervals)))])))),yB=V(2,($,Z)=>SU($,(X)=>x(()=>Z(X)))),JI=V(2,($,Z)=>r$($.initial,(X,J,G)=>A9($.step(X,J,G),Z))),SU=V(2,($,Z)=>r$($.initial,(X,J,G)=>T(Z(J),(Y)=>$.step(X,Y,G)))),GI=($,Z)=>{let X=xB($)?S$($):gk($,Z);return r$([!0,[Number.MIN_SAFE_INTEGER,0,0]],(J,G,[Y,W])=>{if(J===Number.POSITIVE_INFINITY)return z([[!1,W],[W[1],W[2]],y8]);if(J<W[0])return z([[!1,W],[W[1],W[2]],t0(eZ(W[1],W[2]))]);if(R0(X))return RZ(X.left);let D=X.right,U=new Date(J),A;if(Y&&hk(D,U))A=J;A=mk(D,U).getTime();let Q=tB(A),O=oI(A);return z([[!1,[A,Q,O]],[Q,O],t0(eZ(Q,O))])})},YI=($)=>{return r$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||31<$)return L8(()=>new e8(`Invalid argument in: dayOfMonth(${$}). Must be in range 1...31`));let G=J[1],W=st(Z,$,G===0),D=eB(W),U=lI(W),A=eZ(D,U);return z([[U,G+1],G,t0(A)])})},WI=($)=>{return r$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||7<$)return L8(()=>new e8(`Invalid argument in: dayOfWeek(${$}). Must be in range 1 (Monday)...7 (Sunday)`));let G=J[1],W=it(Z,$,G===0),D=eB(W),U=lI(W),A=eZ(D,U);return z([[U,G+1],G,t0(A)])})},DI=V(2,($,Z)=>jU($,(X)=>x(()=>Z(X)))),jU=V(2,($,Z)=>TG($,(X,J)=>Z(J))),PG=($)=>EU($,(Z)=>Z),HI=($)=>r$($.initial,(Z,X,J)=>F($.step(Z,X,J),T(([G,Y,W])=>{if(UZ(W))return z([G,K8,W]);return z([G,xZ(T9(W.intervals)-Z),W])}))),UI=V(2,($,{onInput:Z,onOutput:X})=>_Z(yB($,Z),X)),AI=V(2,($,{onInput:Z,onOutput:X})=>kU(SU($,Z),X)),FG=($)=>F(q5([S(),$.initial]),I((Z)=>new rk($,Z))),bB=($)=>{let Z=Y0($),X=zZ(Z);return r$(!0,(J,G,Y)=>z(Y?[!1,Z,t0(q6(J+X))]:[!1,K8,y8]))},KI=V(2,($,Z)=>rB($,Z)),VI=V(3,($,Z,X)=>vU($,Z,X)),QI=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>UZ(D)?i$(Z,[Y,W,D]):z([Y,W,D])))),OI=($,Z=2)=>{let X=Y0($);return PG(_Z(S6,(J)=>NK(X,Math.pow(Z,J))))},BI=($)=>{let Z=Y0($);return PG(F(MG([Z,Z],([X,J])=>[J,_K(X,J)]),_Z((X)=>X[0])))},NI=($)=>{let Z=Y0($),X=zZ(Z);return r$([S(),0],(J,G,[Y,W])=>x(()=>{switch(Y._tag){case"None":return[[j([J,J+X]),W+1],W,t0(q6(J+X))];case"Some":{let[D,U]=Y.value,A=J>U+X,Q=s(Z,K8)?Z:xZ(X-(J-D)%X),O=s(Q,K8)?Z:Q,P=A?J:J+zZ(O);return[[j([D,P]),W+1],W,t0(q6(P))]}}}))},_I=($)=>bB($),PI=($,...Z)=>r$([[$,...Z].map((X)=>Y0(X)),!0],(X,J,[G,Y])=>x(()=>{if(Y){let W=G[0],D=q6(X+zZ(W));if(G.length>=2)return[[G.slice(1),!0],W,t0(D)];let U=G.slice(1);return[[[W,...U],!1],W,t0(D)]}return[[G,!1],K8,y8]})),FI=($)=>_Z(P4(),$),TI=($)=>r$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||23<$)return L8(()=>new e8(`Invalid argument in: hourOfDay(${$}). Must be in range 0...23`));let G=J[1],W=lt(Z,$,G===0),D=rI(W),U=rt(W),A=eZ(D,U);return z([[U,G+1],G,t0(A)])}),P4=()=>r$(void 0,($,Z,X)=>z([X,Z,t0(q6($))])),C9=V(2,($,Z)=>gB($,Z,kS)),gB=V(3,($,Z,X)=>r$([$.initial,Z.initial],(J,G,Y)=>F(sZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),(W,D)=>[W,D]),T(([[W,D,U],[A,Q,O]])=>{if(N4(U)&&N4(O))return jB($,Z,G,W,D,U.intervals,A,Q,O.intervals,X);return z([[W,A],[D,Q],y8])})))),jB=($,Z,X,J,G,Y,W,D,U,A)=>{let Q=A(Y,U);if(vS(Q))return z([[J,W],[G,D],p5(Q)]);if(F(Y,IS(U)))return T($.step(XU(Y),X,J),([O,P,N])=>{if(UZ(N))return z([[O,W],[P,D],y8]);return jB($,Z,X,O,P,N.intervals,W,D,U,A)});return T(Z.step(XU(U),X,W),([O,P,N])=>{if(UZ(N))return z([[J,O],[G,P],y8]);return jB($,Z,X,J,G,Y,O,P,N.intervals,A)})},MI=($)=>hB($,{min:0.8,max:1.2}),hB=V(2,($,Z)=>{let{max:X,min:J}=Object.assign({min:0.8,max:1.2},Z);return jU($,(G)=>I(ck,(Y)=>{let W=zZ(G),D=W*J*(1-Y)+W*X*Y;return xZ(D)}))}),zI=($)=>{let Z=Y0($);return PG(_Z(S6,(X)=>NK(Z,X+1)))},_Z=V(2,($,Z)=>kU($,(X)=>x(()=>Z(X)))),kU=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>I(Z(W),(U)=>[Y,U,D])))),RI=($)=>r$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return L8(()=>new e8(`Invalid argument in: minuteOfHour(${$}). Must be in range 0...59`));let G=J[1],W=nt(Z,$,G===0),D=nI(W),U=ot(W),A=eZ(D,U);return z([[U,G+1],G,t0(A)])}),wI=V(2,($,Z)=>TG($,(X,J)=>x(()=>Z(X,J)))),TG=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>{if(UZ(D))return z([Y,W,D]);let U=D.intervals,A=RS(eZ(X,T9(U)));return I(Z(W,A),(Q)=>{let O=Y0(Q),P=T9(U),N=X+zZ(O),M=N-P,w=Math.max(0,XU(U)+M),q=eZ(N,w);return[Y,W,t0(q)]})}))),CI=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>i$(Z(W,D),[Y,W,D])))),mB=($)=>r$($.initial,(Z,X,J)=>F($.step(Z,X,J),I(([G,Y,W])=>[G,X,W]))),LI=V(2,($,Z)=>r$($.initial,(X,J,G)=>aZ($.step(X,J,G),Z))),qI=V(3,($,Z,X)=>r$($.initial,(J,G,Y)=>S8((W)=>aZ($.step(J,G,Y),e$(W,Z,X))))),fB=($)=>lB(P4(),$),cB=($)=>zG(P4(),$),EI=($)=>iB(_Z(P4(),$),c$),pB=($)=>{let Z=Y0($);return yU(gU,(X)=>DM(X,Z))},dB=($)=>sB(P4(),$),uB=($)=>RG(P4(),$),yX=($)=>yU(S6,(Z)=>Z<$),IU=V(3,($,Z,X)=>oB($,Z,(J,G)=>x(()=>X(J,G)))),oB=V(3,($,Z,X)=>r$([$.initial,Z],(J,G,[Y,W])=>T($.step(J,G,Y),([D,U,A])=>UZ(A)?z([[D,W],W,A]):I(X(W,U),(Q)=>[[D,Q],W,A]))));var xI=($)=>IU($,0,(Z,X)=>Z+1),SI=V(2,($,Z)=>{let X=Y0(Z);return F($,C9(gU),nB(([,J])=>PW(J,X)),_Z((J)=>J[0]))}),nB=V(2,($,Z)=>r$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,D])=>Z(W)?$.step(X,J,$.initial):z([Y,W,D])))),jI=V(3,($,Z,X)=>F(kI($,Z,g4(X),$.initial,w0()),I((J)=>R8(J)))),kI=($,Z,X,J,G)=>{if(!D0(X))return z(G);let Y=g$(X),W=H0(X);return T($.step(Z,Y,J),([D,U,A])=>{if(UZ(A))return x(()=>F(G,O0(U)));return kI($,T9(A.intervals),W,D,O0(G,U))})},II=($)=>r$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return L8(()=>new e8(`Invalid argument in: secondOfMinute(${$}). Must be in range 0...59`));let G=J[1],W=ut(Z,$,G===0),D=tB(W),U=oI(W),A=eZ(D,U);return z([[U,G+1],G,t0(A)])}),vI=($)=>EU(S6,()=>$),yI=($)=>_Z(S6,()=>$),bI=($)=>_Z(S6,$),gI=V(2,($,Z)=>r$($.initial,(X,J,G)=>j$(Z(J),$.step(X,J,G)))),hI=V(2,($,Z)=>r$($.initial,(X,J,G)=>IZ($.step(X,J,G),([,Y])=>Z(Y)))),MG=($,Z)=>r$($,(X,J,G)=>x(()=>[Z(G),G,t0(q6(X))])),rB=V(2,($,Z)=>vU($,Z,uO)),vU=V(3,($,Z,X)=>r$([$.initial,Z.initial],(J,G,Y)=>sZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),([W,D,U],[A,Q,O])=>{if(UZ(U)&&UZ(O))return[[W,A],[D,Q],y8];if(UZ(U)&&N4(O))return[[W,A],[D,Q],p5(O.intervals)];if(N4(U)&&UZ(O))return[[W,A],[D,Q],p5(U.intervals)];if(N4(U)&&N4(O)){let P=X(U.intervals,O.intervals);return[[W,A],[D,Q],p5(P)]}throw Error("BUG: Schedule.unionWith - please report an issue at https://github.com/Effect-TS/effect/issues")}))),lB=V(2,($,Z)=>vX($,(X,J)=>!Z(X))),zG=V(2,($,Z)=>l5($,(X,J)=>I2(Z(X)))),iB=V(2,($,Z)=>vX($,(X,J)=>!Z(J))),mI=V(2,($,Z)=>l5($,(X,J)=>I2(Z(J)))),fI=V(2,($,Z)=>aB($,pB(Z))),sB=V(2,($,Z)=>vX($,(X,J)=>Z(X))),RG=V(2,($,Z)=>l5($,(X,J)=>Z(X))),yU=V(2,($,Z)=>vX($,(X,J)=>Z(J))),cI=V(2,($,Z)=>l5($,(X,J)=>Z(J))),pI=($)=>{let Z=Y0($),X=zZ(Z);return r$([S(),0],(J,G,[Y,W])=>{switch(Y._tag){case"None":return z([[j(J),W+1],W,t0(q6(J+X))]);case"Some":return z([[j(Y.value),W+1],W,t0(q6(J+(X-(J-Y.value)%X)))])}})},aB=V(2,($,Z)=>_Z(C9($,Z),(X)=>X[0])),dI=V(2,($,Z)=>_Z(C9($,Z),(X)=>X[1])),uI=V(3,($,Z,X)=>_Z(C9($,Z),([J,G])=>X(J,G))),tB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),Z.getSeconds(),0).getTime()},oI=($)=>{let Z=new Date(tB($));return Z.setSeconds(Z.getSeconds()+1)},ut=($,Z,X)=>{let J=new Date($);if(J.getSeconds()===Z&&X)return $;if(J.getSeconds()<Z)return J.setSeconds(Z);let G=new Date(J.setSeconds(Z));return G.setTime(G.getTime()+60000)},nI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),0,0).getTime()},ot=($)=>{let Z=new Date(nI($));return Z.setMinutes(Z.getMinutes()+1)},nt=($,Z,X)=>{let J=new Date($);if(J.getMinutes()===Z&&X)return $;if(J.getMinutes()<Z)return J.setMinutes(Z);let G=new Date(J.setMinutes(Z));return G.setTime(G.getTime()+3600000)},rI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),0,0,0).getTime()},rt=($)=>{let Z=new Date(rI($));return Z.setHours(Z.getHours()+1)},lt=($,Z,X)=>{let J=new Date($);if(J.getHours()===Z&&X)return $;if(J.getHours()<Z)return J.setHours(Z);let G=new Date(J.setHours(Z));return G.setTime(G.getTime()+86400000)},eB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),0,0,0,0).getTime()},lI=($)=>{let Z=new Date(eB($));return Z.setDate(Z.getDate()+1)},it=($,Z,X)=>{let J=new Date($);if(J.getDay()===Z&&X)return $;let G=(7+Z-J.getDay())%7;return J.setDate(J.getDate()+(G===0?7:G))},st=($,Z,X)=>{let J=new Date($);if(J.getDate()===Z&&X)return $;if(J.getDate()<Z)return J.setDate(Z);return iI($,Z,1)},iI=($,Z,X)=>{let J=new Date($),G=new Date(J.setDate(Z));if(new Date(G.setMonth(G.getMonth()+X)).getDate()===Z){let W=new Date($),D=new Date(W.setDate(Z));return D.setMonth(D.getMonth()+X)}return iI($,Z,X+1)},wU=Symbol.for("effect/Schedule/ScheduleDefect");class sI{error;[wU];constructor($){this.error=$,this[wU]=wU}}var at=($)=>u($,wU),CU=($)=>C6($,(Z)=>RZ(new sI(Z))),tt=($)=>c0(e6($,(Z)=>D5(Z)&&at(Z.defect)?j(Z.defect):S()),{onNone:()=>$,onSome:(Z)=>Q8(Z.error)}),wG=($)=>Z1($,(Z)=>E$(tt(Z))),ok=V(2,($,Z)=>$N($,Z,(X,J)=>L$(X))),aI=V(2,($,Z)=>{if(qU(Z))return ok($,Z);let X=Z.schedule??mB(S6),J=Z.while?RG(X,(W)=>{let D=Z.while(W);if(typeof D==="boolean")return z(D);return CU(D)}):X,G=Z.until?zG(J,(W)=>{let D=Z.until(W);if(typeof D==="boolean")return z(D);return CU(D)}):J,Y=Z.times?C9(G,yX(Z.times)).pipe(_Z((W)=>W[0])):G;return wG(ok($,Y))}),$N=V(3,($,Z,X)=>T(FG(Z),(J)=>s0($,{onFailure:(G)=>X(G,S()),onSuccess:(G)=>tI(P9($,r5,CZ(J.iterationMeta)),J,(Y,W)=>P9(X(Y,W),r5,CZ(J.iterationMeta)),G)}))),tI=($,Z,X,J)=>s0(Z.next(J),{onFailure:()=>O5(Z.last),onSuccess:(G)=>s0($,{onFailure:(Y)=>X(Y,j(G)),onSuccess:(Y)=>tI($,Z,X,Y)})}),_G=V(2,($,Z)=>ZN($,Z,(X,J)=>L$(X))),eI=V(2,($,Z)=>{if(qU(Z))return _G($,Z);return wG(_G($,bU(Z)))}),bU=($)=>{let Z=$.schedule??S6,X=$.while?RG(Z,(G)=>{let Y=$.while(G);if(typeof Y==="boolean")return z(Y);return CU(Y)}):Z,J=$.until?zG(X,(G)=>{let Y=$.until(G);if(typeof Y==="boolean")return z(Y);return CU(Y)}):X;return $.times!==void 0?C9(J,yX($.times)):J},ZN=V(3,($,Z,X)=>T(FG(Z),(J)=>$v(P9($,r5,CZ(J.iterationMeta)),J,(G,Y)=>P9(X(G,Y),r5,CZ(J.iterationMeta))))),$v=($,Z,X)=>{return C6($,(J)=>s0(Z.next(J),{onFailure:()=>F(Z.last,O5,T((G)=>X(J,G))),onSuccess:()=>$v($,Z,X)}))},XN=V(2,($,Z)=>JN($,void 0,Z)),JN=V(3,($,Z,X)=>T(FG(X),(J)=>Zv(P9($,r5,CZ(J.iterationMeta)),Z,J))),Zv=($,Z,X)=>s0(X.next(Z),{onFailure:()=>O5(X.last),onSuccess:()=>T($,(J)=>Zv($,J,X))}),Xv=MG(0,($)=>$+1),gU=r$(S(),($,Z,X)=>{switch(X._tag){case"None":return z([j($),K8,t0(q6($))]);case"Some":return z([j(X.value),xZ($-X.value),t0(q6($))])}}),S6=MG(0,($)=>$+1),hU=xU(yX(1)),Jv=xU(yX(0)),Gv=V(2,($,Z)=>YU(XN($,Z)));var Wv=V(2,($,Z)=>D$(()=>{let X=0,J;return T(J9({while:()=>X<Z.steps.length&&(J===void 0||R0(J)),body:()=>{let G=Z.steps[X],Y=TU($,G.provide);if(J){let W=!1,D=Y;Y=D$(()=>{if(W)return D;return W=!0,J}),Y=wG(_G(Y,Yv(G,!1)))}else{let W=Yv(G,!0);Y=W?wG(_G(Y,W)):Y}return a8(Y)},step:(G)=>{J=G,X++}}),()=>J)})),Yv=($,Z)=>{if(!Z)return bU({schedule:$.schedule?$.schedule:$.attempts?void 0:hU,times:$.attempts,while:$.while});else if($.attempts===1||!($.schedule||$.attempts))return;return bU({schedule:$.schedule,while:$.while,times:$.attempts?$.attempts-1:void 0})};var mU=N8;var F4=DZ;var Dv=xV;var Hv=aR;var YN=F2,fU=WX;var Uv=Symbol.for("effect/MutableList"),$e={[Uv]:Uv,[Symbol.iterator](){let $=!1,Z=this.head;return{next(){if($)return this.return();if(Z==null)return $=!0,this.return();let X=Z.value;return Z=Z.next,{done:$,value:X}},return(X){if(!$)$=!0;return{done:!0,value:X}}}},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableList",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},Ze=($)=>({value:$,removed:!1,prev:void 0,next:void 0}),Av=()=>{let $=Object.create($e);return $.head=void 0,$.tail=void 0,$._length=0,$};var Kv=($)=>DN($)===0,DN=($)=>$._length;var Vv=V(2,($,Z)=>{let X=Ze(Z);if($.head===void 0)$.head=X;if($.tail===void 0)$.tail=X;else $.tail.next=X,X.prev=$.tail,$.tail=X;return $._length+=1,$}),Qv=($)=>{let Z=$.head;if(Z!==void 0)return Xe($,Z),Z.value;return};var Xe=($,Z)=>{if(Z.removed)return;if(Z.removed=!0,Z.prev!==void 0&&Z.next!==void 0)Z.prev.next=Z.next,Z.next.prev=Z.prev;else if(Z.prev!==void 0)$.tail=Z.prev,Z.prev.next=void 0;else if(Z.next!==void 0)$.head=Z.next,Z.next.prev=void 0;else $.tail=void 0,$.head=void 0;if($._length>0)$._length-=1};var Ov=Symbol.for("effect/MutableQueue"),HN=Symbol.for("effect/mutable/MutableQueue/Empty"),Ge={[Ov]:Ov,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(y$)}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},Ye=($)=>{let Z=Object.create(Ge);return Z.queue=Av(),Z.capacity=$,Z};var Bv=()=>Ye(void 0);var Nv=V(2,($,Z)=>{let X=DN($.queue);if($.capacity!==void 0&&X===$.capacity)return!1;return Vv(Z)($.queue),!0});var _v=V(2,($,Z)=>{if(Kv($.queue))return Z;return Qv($.queue)});var Pv=($,Z,X,J)=>sW({_tag:"Complete",key:$,exit:Z,entryStats:X,timeToLiveMillis:J}),Fv=($,Z)=>sW({_tag:"Pending",key:$,deferred:Z}),De=($,Z)=>sW({_tag:"Refreshing",deferred:$,complete:Z}),UN=Symbol.for("effect/Cache/MapKey");class Tv{current;[UN]=UN;previous=void 0;next=void 0;constructor($){this.current=$}[Y$](){return F(a(this.current),V$(a(this.previous)),V$(a(this.next)),C$(this))}[G$]($){if(this===$)return!0;return He($)&&s(this.current,$.current)&&s(this.previous,$.previous)&&s(this.next,$.next)}}var bX=($)=>new Tv($),He=($)=>u($,UN);class Mv{head=void 0;tail=void 0;add($){if($!==this.tail)if(this.tail===void 0)this.head=$,this.tail=$;else{let{previous:Z,next:X}=$;if(X!==void 0)if($.next=void 0,Z!==void 0)Z.next=X,X.previous=Z;else this.head=X,this.head.previous=void 0;this.tail.next=$,$.previous=this.tail,this.tail=$}}remove(){let $=this.head;if($!==void 0){let Z=$.next;if(Z!==void 0)$.next=void 0,this.head=Z,this.head.previous=void 0;else this.head=void 0,this.tail=void 0}return $}}var Ue=()=>new Mv,Ae=($,Z,X,J,G,Y)=>({map:$,keys:Z,accesses:X,updating:J,hits:G,misses:Y}),Ke=()=>Ae(U4(),Ue(),Bv(),i6(!1),0,0),Ve="effect/Cache",Qe=Symbol.for(Ve),Oe={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},Be="effect/ConsumerCache",Ne=Symbol.for(Be),_e={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},Pe=($)=>$,cU=($)=>({loadedMillis:$});class zv{capacity;context;fiberId;lookup;timeToLive;[Qe]=Oe;[Ne]=_e;cacheState;constructor($,Z,X,J,G){this.capacity=$,this.context=Z,this.fiberId=X,this.lookup=J,this.timeToLive=G,this.cacheState=Ke()}get($){return I(this.getEither($),s9)}get cacheStats(){return x(()=>Pe({hits:this.cacheState.hits,misses:this.cacheState.misses,size:g5(this.cacheState.map)}))}getOption($){return D$(()=>c0(N0(this.cacheState.map,$),{onNone:()=>{let Z=bX($);return this.trackAccess(Z),this.trackMiss(),z(S())},onSome:(Z)=>this.resolveMapValue(Z)}))}getOptionComplete($){return D$(()=>c0(N0(this.cacheState.map,$),{onNone:()=>{let Z=bX($);return this.trackAccess(Z),this.trackMiss(),z(S())},onSome:(Z)=>this.resolveMapValue(Z,!0)}))}contains($){return x(()=>k8(this.cacheState.map,$))}entryStats($){return x(()=>{let Z=N0(this.cacheState.map,$);if(c$(Z))switch(Z.value._tag){case"Complete":{let X=Z.value.entryStats.loadedMillis;return j(cU(X))}case"Pending":return S();case"Refreshing":{let X=Z.value.complete.entryStats.loadedMillis;return j(cU(X))}}return S()})}getEither($){return D$(()=>{let Z=$,X=void 0,J=void 0,G=r0(N0(this.cacheState.map,Z));if(G===void 0)if(J=YN(this.fiberId),X=bX(Z),k8(this.cacheState.map,Z))G=r0(N0(this.cacheState.map,Z));else hZ(this.cacheState.map,Z,Fv(X,J));if(G===void 0)return this.trackAccess(X),this.trackMiss(),I(this.lookupValueOf($,J),S$);else return T(this.resolveMapValue(G),c0({onNone:()=>this.getEither($),onSome:(Y)=>z(f$(Y))}))})}invalidate($){return x(()=>{A4(this.cacheState.map,$)})}invalidateWhen($,Z){return x(()=>{let X=N0(this.cacheState.map,$);if(c$(X)&&X.value._tag==="Complete"){if(X.value.exit._tag==="Success"){if(Z(X.value.exit.value))A4(this.cacheState.map,$)}}})}get invalidateAll(){return x(()=>{this.cacheState.map=U4()})}refresh($){return W1((Z)=>D$(()=>{let X=$,J=YN(this.fiberId),G=r0(N0(this.cacheState.map,X));if(G===void 0)if(k8(this.cacheState.map,X))G=r0(N0(this.cacheState.map,X));else hZ(this.cacheState.map,X,Fv(bX(X),J));if(G===void 0)return T0(this.lookupValueOf($,J));else switch(G._tag){case"Complete":{if(this.hasExpired(Z,G.timeToLiveMillis)){let Y=r0(N0(this.cacheState.map,X));if(s(Y,G))A4(this.cacheState.map,X);return T0(this.get($))}return F(this.lookupValueOf($,J),zH(()=>{let Y=r0(N0(this.cacheState.map,X));if(s(Y,G)){let W=De(J,G);return hZ(this.cacheState.map,X,W),!0}return!1}),T0)}case"Pending":return F4(G.deferred);case"Refreshing":return F4(G.deferred)}}))}set($,Z){return W1((X)=>x(()=>{let J=X.unsafeCurrentTimeMillis(),G=$,Y=R2(Z),W=Pv(bX(G),Y,cU(J),J+zZ(Y0(this.timeToLive(Y))));hZ(this.cacheState.map,G,W)}))}get size(){return x(()=>{return g5(this.cacheState.map)})}get values(){return x(()=>{let $=[];for(let Z of this.cacheState.map)if(Z[1]._tag==="Complete"&&Z[1].exit._tag==="Success")$.push(Z[1].exit.value);return $})}get entries(){return x(()=>{let $=[];for(let Z of this.cacheState.map)if(Z[1]._tag==="Complete"&&Z[1].exit._tag==="Success")$.push([Z[0],Z[1].exit.value]);return $})}get keys(){return x(()=>{let $=[];for(let Z of this.cacheState.map)if(Z[1]._tag==="Complete"&&Z[1].exit._tag==="Success")$.push(Z[0]);return $})}resolveMapValue($,Z=!1){return W1((X)=>{switch($._tag){case"Complete":{if(this.trackAccess($.key),this.hasExpired(X,$.timeToLiveMillis))return A4(this.cacheState.map,$.key.current),z(S());return this.trackHit(),I($.exit,j)}case"Pending":{if(this.trackAccess($.key),this.trackHit(),Z)return z(S());return I(F4($.deferred),j)}case"Refreshing":{if(this.trackAccess($.complete.key),this.trackHit(),this.hasExpired(X,$.complete.timeToLiveMillis)){if(Z)return z(S());return I(F4($.deferred),j)}return I($.complete.exit,j)}}})}trackHit(){this.cacheState.hits=this.cacheState.hits+1}trackMiss(){this.cacheState.misses=this.cacheState.misses+1}trackAccess($){if(Nv(this.cacheState.accesses,$),bW(this.cacheState.updating,!1,!0)){let Z=!0;while(Z){let J=_v(this.cacheState.accesses,HN);if(J===HN)Z=!1;else this.cacheState.keys.add(J)}let X=g5(this.cacheState.map);Z=X>this.capacity;while(Z){let J=this.cacheState.keys.remove();if(J!==void 0){if(k8(this.cacheState.map,J.current))A4(this.cacheState.map,J.current),X=X-1,Z=X>this.capacity}else Z=!1}g1(this.cacheState.updating,!1)}}hasExpired($,Z){return $.unsafeCurrentTimeMillis()>Z}lookupValueOf($,Z){return W1((X)=>D$(()=>{let J=$;return F(this.lookup($),aZ(this.context),V0,T((G)=>{let Y=X.unsafeCurrentTimeMillis(),W=cU(Y),D=Pv(bX(J),G,W,Y+zZ(Y0(this.timeToLive(G))));return hZ(this.cacheState.map,J,D),j$(Dv(Z,G),G)}),J1(()=>j$(Hv(Z),x(()=>{A4(this.cacheState.map,J)}))))}))}}var Rv=($,Z,X)=>new zv($,VZ(),cW,Z,(J)=>Y0(X(J)));var gX=_$(Symbol.for("effect/FiberRef/currentCache"),()=>L0(Rv(65536,()=>I(N8(),($)=>({listeners:new d2,handle:$})),()=>BK(60)))),CG=_$(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>L0(!1)),wv=($,Z)=>T(p$(Z)?Z:z(Z),(X)=>O8((J)=>{let G=new Proxy($,{});return wZ(CG,(Y)=>{if(Y){let D=wZ(gX,(U)=>T(U.getEither(G),(A)=>{switch(A._tag){case"Left":{if(A.left.listeners.interrupted)return T(U.invalidateWhen(G,(Q)=>Q.handle===A.left.handle),()=>D);return A.left.listeners.increment(),j0((Q)=>T(V0(d1(Ez,Q(DZ(A.left.handle)))),(O)=>{return A.left.listeners.decrement(),O}))}case"Right":return A.right.listeners.increment(),j0((Q)=>T(V0(d1(YV(X,WV({request:G,result:A.right.handle,listeners:A.right.listeners,ownerId:J,state:{completed:!1}})),Q(DZ(A.right.handle)))),()=>{return A.right.listeners.decrement(),DZ(A.right.handle)}))}}));return D}let W=new d2;return W.increment(),T(N8(),(D)=>v8(d1(YV(X,WV({request:G,result:D,listeners:W,ownerId:J,state:{completed:!1}})),DZ(D)),x(()=>W.decrement())))})})),Cv=($,Z)=>{return wZ(CG,(X)=>{if(X)return wZ(gX,(J)=>T(J.getEither($),(G)=>{switch(G._tag){case"Left":return M$;case"Right":return EV(G.right.handle,Z)}}));return M$})},Lv=V(2,($,Z)=>C0($,CG,Z)),qv=V(2,($,Z)=>C0($,gX,Z));var xv=Tx;var Te=u1,LG=p$,Me=iS,ze=sO,Re=TH,we=$j,Ce=fQ,Le=F9,qe=ux,Ee=ox,xe=FL,Se=TL,je=Oq,ke=Bq,Ie=jL,ve=cx,ye=dx,be=zL,ge=qL,qG=I8,he=IL,me=qO,fe=EO,ce=Gq,pe=Wq,de=Yq,ue=sx,oe=LO,ne=nx,re=lx,le=ZS,ie=jZ,se=jj,ae=W2,T4=x$,te=L$,ee=t8,kv=E$,$$$=o1,AN=RZ,Z$$=t4,X$$=L8,J$$=zD,G$$=G9,Y$$=aL,W$$=Xq,KN=z,VN=I5,D$$=Vq,QN=D$,O1=x,M4=M$;var H$$=G1,U$$=GL;var A$$=C6,K$$=Z1,V$$=YL,Q$$=H2,O$$=YR,B$$=WL,N$$=DL,_$$=HL,P$$=UL,F$$=AL,T$$=bQ,M$$=FH,z$$=vL,R$$=Zq,w$$=Aq,C$$=eI,L$$=Wv,q$$=ZN,E$$=yQ;var x$$=zq,S$$=Rq,j$$=uQ,k$$=Lq,I$$=QL,v$$=WR,y$$=VS,hX=PD,b$$=FD,g$$=r1,h$$=HR,m$$=J1,f$$=l1,c$$=j0,p$$=CL,d$$=i$,u$$=_X,o$$=JL,n$$=T0,r$$=$9,l$$=SL,$8=I,i$$=iL,s$$=A2,a$$=Z9,t$$=FX,e$$=sL,$0$=I2,EG=f5,Z0$=mx,X0$=OD,J0$=D1,G0$=v8,Y0$=TD,W0$=iZ,D0$=pH,H0$=dH,U0$=ax,A0$=kO,K0$=G6,V0$=s2,Q0$=oH,O0$=ex,B0$=GS,N0$=lS,_0$=fx,P0$=OL,F0$=_H,T0$=PX,M0$=sS,z0$=GU,R0$=n1,mX=O8,w0$=O4,ON=wX,C0$=aS,L0$=aO,q0$=YU,E0$=rx,x0$=tS,S0$=eS,j0$=tO,k0$=MD,I0$=AR,v0$=DC,y0$=MV,b0$=MR,g0$=KL,h0$=W1,m0$=XS,f0$=uC,c0$=Nk,p0$=_k,d0$=Fk,u0$=Pk,o0$=VL,n0$=k5,r0$=Tq,l0$=dQ,i0$=Xj,s0$=Gj,a0$=eO,t0$=Jj,e0$=XG,$Z$=nC,ZZ$=oC,XZ$=nH,JZ$=_8,GZ$=ML,YZ$=S8,WZ$=A9,DZ$=TU,HZ$=_9,UZ$=P9,AZ$=kq,KZ$=jq,VZ$=oQ,QZ$=nQ,OZ$=Iq,BZ$=vq,NZ$=rQ,_Z$=qq,PZ$=BL,FZ$=NL,TZ$=Uj,MZ$=_L,zZ$=PL;var RZ$=tL,wZ$=a8,CZ$=V0,xG=X1,LZ$=_D;var qZ$=RL,EZ$=wL,xZ$=j2,SZ$=LL,jZ$=jV,kZ$=tR,IZ$=wq,vZ$=Cq,yZ$=zH,bZ$=ZX,gZ$=Eq,hZ$=xq,s5=T,mZ$=e4,fZ$=kZ,cZ$=iH,pZ$=ix,dZ$=Zj,uZ$=vO,oZ$=v2,BN=IZ,nZ$=Nq,rZ$=_q,lZ$=pQ,iZ$=Pq,sZ$=Fq,aZ$=gQ,tZ$=hQ,eZ$=nL,$8$=aI,Z8$=Hq,X8$=$N,J8$=XN,G8$=Gv,Y8$=JN,SG=J9,W8$=PH,D8$=yL,H8$=C0,U8$=a0,A8$=mZ,K8$=LZ,V8$=j5,Q8$=Kq,O8$=MH,B8$=bL,N8$=gL,_8$=k2,P8$=U2,F8$=B0,T8$=s0,M8$=hL,z8$=($,...Z)=>W4($)(...Z),R8$=mL,w8$=mQ,C8$=fL,L8$=cL,q8$=pL,E8$=dL,x8$=uL,S8$=XL,j8$=gx,k8$=oL,I8$=zR,v8$=hx,y8$=O5,b8$=NV,g8$=Q5,h8$=eL,m8$=$q,f8$=xL,c8$=Jq,p8$=BX,Iv=rC,d8$=V(2,($,Z)=>Iv($,pk(Z))),u8$=JS,jG=EX,o8$=$X,n8$=X9,r8$=RD,l8$=jO,i8$=Qq,s8$=cQ,a8$=tx,t8$=xO,e8$=RR,$6$=Sq,Z6$=JU,X6$=oS,J6$=iO,G6$=rS,kG=Lj,Y6$=Cj,W6$=qj,D6$=Ej,H6$=xj,U6$=Sj,A6$=$S,K6$=SO,V6$=YS,Q6$=WS,O6$=DS,vv=H1,B6$=V(2,($,Z)=>vv($,Z,(X,J)=>X(J))),N6$=d1,_6$=QD,P6$=ND,F6$=V(($)=>xv($[0]),wv),T6$=Cv,M6$=KR,z6$=Lv,R6$=qv,w6$=Mq,C6$=OH,L6$=iC,q6$=sH,E6$=VR,x6$=QR,S6$=gq,j6$=yq,k6$=lQ,I6$=iQ,v6$=hq,y6$=pq,b6$=dq,g6$=mq,h6$=bq,m6$=cq,f6$=J6,c6$=BH,yv=aQ,p6$=uq,d6$=QS,u6$=NH,o6$=oq,n6$=nq,r6$=($)=>{return B6($)?VN:$8($.value,oZ)},l6$=V(2,($,Z)=>B6($)?VN:$8(Z($.value),oZ)),bv=($)=>{let Z=new Map;return new Proxy($,{get(X,J,G){if(J in X)return Reflect.get(X,J,G);if(Z.has(J))return Z.get(J);let Y=(...O)=>e4(X,(P)=>{if(typeof P[J]==="function")return Z.set(J,(...N)=>e4(X,(M)=>M[J](...N))),P[J](...O);return Z.set(J,e4(X,(N)=>N[J])),P[J]}),W=e4(X,(O)=>O[J]);Object.assign(Y,W);let{apply:D,bind:U,call:A}=Y,Q=Object.setPrototypeOf({},Object.getPrototypeOf(W));return Q.apply=D,Q.bind=U,Q.call=A,Object.setPrototypeOf(Y,Q),Z.set(J,Y),Y}})},i6$=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,y7),J.key=$,Object.defineProperty(J,"use",{get(){return(G)=>e4(this,G)}}),Object.defineProperty(J,"stack",{get(){return X.stack}}),bv(J)},s6$=function(){return function(){let[$,Z]=arguments,X="accessors"in Z?Z.accessors:!1,J=Error.stackTraceLimit;Error.stackTraceLimit=2;let G=Error();Error.stackTraceLimit=J;let Y="unchecked",W=function(O){if(Y==="unchecked"){let P=Object.getPrototypeOf(O);if(P===Object.prototype||P===null)Y="plain";else{let N=Object.getPrototypeOf(this);Object.setPrototypeOf(N,P),Y="patched"}}if(Y==="plain")Object.assign(this,O);else if(Y==="patched")return Object.setPrototypeOf(O,Object.getPrototypeOf(this)),O};W.prototype._tag=$,Object.defineProperty(W,"make",{get(){return(O)=>new this(O)}}),Object.defineProperty(W,"use",{get(){return(O)=>e4(this,O)}}),W.key=$,Object.assign(W,y7),Object.defineProperty(W,"stack",{get(){return G.stack}});let D="dependencies"in Z&&Z.dependencies.length>0,U=D?"DefaultWithoutDependencies":"Default",A,Q=!1;if("effect"in Z)Q=typeof Z.effect==="function",Object.defineProperty(W,U,{get(){if(Q)return function(){return R9(W,$8(Z.effect.apply(null,arguments),(O)=>new this(O)))}.bind(this);return A??=R9(W,$8(Z.effect,(O)=>new this(O)))}});else if("scoped"in Z)Q=typeof Z.scoped==="function",Object.defineProperty(W,U,{get(){if(Q)return function(){return w9(W,$8(Z.scoped.apply(null,arguments),(O)=>new this(O)))}.bind(this);return A??=w9(W,$8(Z.scoped,(O)=>new this(O)))}});else if("sync"in Z)Object.defineProperty(W,U,{get(){return A??=FU(W,()=>new this(Z.sync()))}});else Object.defineProperty(W,U,{get(){return A??=xX(W,new this(Z.succeed))}});if(D){let O;Object.defineProperty(W,"Default",{get(){if(Q)return function(){return o5(this.DefaultWithoutDependencies.apply(null,arguments),Z.dependencies)};return O??=o5(this.DefaultWithoutDependencies,Z.dependencies)}})}return X===!0?bv(W):W}},a6$=function($,...Z){let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();if(Error.stackTraceLimit=X,typeof $!=="string")return Sv($.length,function(...W){let D=Error.stackTraceLimit;Error.stackTraceLimit=2;let U=Error();return Error.stackTraceLimit=D,jv({self:this,body:$,args:W,pipeables:Z,spanName:"<anonymous>",spanOptions:{context:QX.context(!0)},errorDef:J,errorCall:U})});let G=$,Y=Z[0];return(W,...D)=>Sv(W.length,{[G](...U){let A=Error.stackTraceLimit;Error.stackTraceLimit=2;let Q=Error();return Error.stackTraceLimit=A,jv({self:this,body:W,args:U,pipeables:D,spanName:G,spanOptions:Y,errorDef:J,errorCall:Q})}}[G])};function Sv($,Z){return Object.defineProperty(Z,"length",{value:$,configurable:!0})}function jv($){let Z,X=void 0;if(oF($.body))Z=aJ(()=>$.body.apply($.self,$.args));else try{Z=$.body.apply($.self,$.args)}catch(W){X=W,Z=AN(W)}if($.pipeables.length>0)try{for(let W of $.pipeables)Z=W(Z,...$.args)}catch(W){Z=X?kv($0(P0(X),P0(W))):AN(W)}let J=!1,G=()=>{if(J!==!1)return J;if($.errorCall.stack){let W=$.errorDef.stack.trim().split(`
28
28
  `),D=$.errorCall.stack.trim().split(`
29
29
  `),U=W.slice(2).join(`
30
30
  `).trim();if(!U.includes("("))U=U.replace(/at (.*)/,"at ($1)");let A=D.slice(2).join(`
31
31
  `).trim();if(!A.includes("("))A=A.replace(/at (.*)/,"at ($1)");return J=`${U}
32
- ${A}`,J}},Y=$.spanOptions&&"captureStackTrace"in $.spanOptions?$.spanOptions:{captureStackTrace:G,...$.spanOptions};return yv(Z,$.spanName,Y)}var t6$=XX,e6$=()=>($)=>$,$1$=()=>($)=>$,Z1$=()=>($)=>$;var B1={};M8(B1,{unsafeSet:()=>dU,unsafeHas:()=>uU,unsafeGet:()=>pv,size:()=>Q1$,set:()=>D1$,runtimePromise:()=>dv,runtime:()=>FN,run:()=>V1$,remove:()=>A1$,makeRuntimePromise:()=>Y1$,makeRuntime:()=>G1$,make:()=>PN,join:()=>O1$,isFiberMap:()=>_N,has:()=>U1$,get:()=>H1$,clear:()=>K1$,awaitEmpty:()=>B1$,TypeId:()=>pU});var IG=qX;var gv=E6;var hv=UB;var pU=Symbol.for("effect/FiberMap"),_N=($)=>u($,pU),X1$={[pU]:pU,[Symbol.iterator](){if(this.state._tag==="Closed")return UW();return this.state.backing[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},J1$=($,Z)=>{let X=Object.create(X1$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},PN=()=>EG($8(mU(),($)=>J1$(U4(),$)),($)=>T4((Z)=>{let X=$.state;if(X._tag==="Closed")return M4;return $.state={_tag:"Closed"},YG(RT(X.backing,([,J])=>J),V8(Z.id(),fX)).pipe(xG($.deferred))})),G1$=()=>s5(PN(),($)=>FN($)()),Y1$=()=>s5(PN(),($)=>dv($)()),cv=-1,fX=oW(cv,0),W1$=e2(void 0,{emptyCase:JZ,failCase:JZ,dieCase:JZ,interruptCase:($,Z)=>f7(u4(Z),cv),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),dU=V(($)=>_N($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(V8(J?.interruptAs??d0,fX));return}let G=N0($.state.backing,Z);if(G._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(V8(J?.interruptAs??d0,fX));return}else if(G.value===X)return;G.value.unsafeInterruptAsFork(V8(J?.interruptAs??d0,fX))}hZ($.state.backing,Z,X),X.addObserver((Y)=>{if($.state._tag==="Closed")return;let W=N0($.state.backing,Z);if(c$(W)&&X===W.value)A4($.state.backing,Z);if(z2(Y)&&(J?.propagateInterruption===!0?!W1$(Y.cause):!a2(Y.cause)))fU($.deferred,Y)})}),D1$=V(($)=>_N($[0]),($,Z,X,J)=>mX((G)=>O1(()=>dU($,Z,X,{...J,interruptAs:G})))),pv=V(2,($,Z)=>$.state._tag==="Closed"?S():N0($.state.backing,Z)),H1$=V(2,($,Z)=>QN(()=>pv($,Z))),uU=V(2,($,Z)=>$.state._tag==="Closed"?!1:k8($.state.backing,Z)),U1$=V(2,($,Z)=>O1(()=>uU($,Z))),A1$=V(2,($,Z)=>T4((X)=>{if($.state._tag==="Closed")return M4;let J=N0($.state.backing,Z);if(J._tag==="None")return M4;return M9(J.value,V8(X.id(),fX))})),K1$=($)=>T4((Z)=>{if($.state._tag==="Closed")return M4;return qG($.state.backing,([,X])=>M9(X,V8(Z.id(),fX)))}),NN=function(){let $=void 0;return()=>{if($===void 0)$=kG(hX);return $}}(),V1$=function(){let $=arguments[0];if(LG(arguments[2]))return fv($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>fv($,Z,J,X)},fv=($,Z,X,J)=>T4((G)=>{if($.state._tag==="Closed")return hX;else if(J?.onlyIfMissing===!0&&uU($,Z))return O1(NN);let Y=hv({context:G.currentContext,fiberRefs:G.getFiberRefs(),runtimeFlags:gv.runtimeFlags}),W=IG(Y)(X);return dU($,Z,W,{...J,interruptAs:G.id()}),KN(W)}),FN=($)=>()=>$8(jG(),(Z)=>{let X=IG(Z);return(J,G,Y)=>{if($.state._tag==="Closed")return NN();else if(Y?.onlyIfMissing===!0&&uU($,J))return NN();let W=X(G,Y);return dU($,J,W,Y),W}}),dv=($)=>()=>$8(FN($)(),(Z)=>(X,J,G)=>new Promise((Y,W)=>Z(X,J,G).addObserver((D)=>{if(K9(D))Y(D.value);else W(t2(D.cause))}))),Q1$=($)=>O1(()=>$.state._tag==="Closed"?0:g5($.state.backing)),O1$=($)=>F4($.deferred),B1$=($)=>SG({while:()=>$.state._tag==="Open"&&g5($.state.backing)>0,body:()=>GG(HW($)[1]),step:MZ});var a5={};M8(a5,{unsafeAdd:()=>nU,size:()=>w1$,runtimePromise:()=>rv,runtime:()=>RN,run:()=>R1$,makeRuntimePromise:()=>F1$,makeRuntime:()=>P1$,make:()=>MN,join:()=>C1$,isFiberSet:()=>TN,clear:()=>z1$,awaitEmpty:()=>L1$,add:()=>M1$,TypeId:()=>oU});var oU=Symbol.for("effect/FiberSet"),TN=($)=>u($,oU),N1$={[oU]:oU,[Symbol.iterator](){if(this.state._tag==="Closed")return UW();return this.state.backing[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},_1$=($,Z)=>{let X=Object.create(N1$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},MN=()=>EG($8(mU(),($)=>_1$(new Set,$)),($)=>T4((Z)=>{let X=$.state;if(X._tag==="Closed")return M4;$.state={_tag:"Closed"};let J=X.backing;return YG(J,V8(Z.id(),zN)).pipe(xG($.deferred))})),P1$=()=>s5(MN(),($)=>RN($)()),F1$=()=>s5(MN(),($)=>rv($)()),ov=-1,zN=oW(ov,0),T1$=e2(void 0,{emptyCase:JZ,failCase:JZ,dieCase:JZ,interruptCase:($,Z)=>f7(u4(Z),ov),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),nU=V(($)=>TN($[0]),($,Z,X)=>{if($.state._tag==="Closed"){Z.unsafeInterruptAsFork(V8(X?.interruptAs??d0,zN));return}else if($.state.backing.has(Z))return;$.state.backing.add(Z),Z.addObserver((J)=>{if($.state._tag==="Closed")return;if($.state.backing.delete(Z),z2(J)&&(X?.propagateInterruption===!0?!T1$(J.cause):!a2(J.cause)))fU($.deferred,J)})}),M1$=V(($)=>TN($[0]),($,Z,X)=>mX((J)=>O1(()=>nU($,Z,{...X,interruptAs:J})))),z1$=($)=>T4((Z)=>{if($.state._tag==="Closed")return M4;return qG($.state.backing,(X)=>M9(X,V8(Z.id(),zN)))}),nv=function(){let $=void 0;return()=>{if($===void 0)$=kG(hX);return $}}(),R1$=function(){let $=arguments[0];if(!LG(arguments[1])){let Z=arguments[1];return(X)=>uv($,X,Z)}return uv($,arguments[1],arguments[2])},uv=($,Z,X)=>mX((J)=>{if($.state._tag==="Closed")return O1(nv);return BN(ON(Z),(G)=>nU($,G,{...X,interruptAs:J}))}),RN=($)=>()=>$8(jG(),(Z)=>{let X=IG(Z);return(J,G)=>{if($.state._tag==="Closed")return nv();let Y=X(J,G);return nU($,Y),Y}}),rv=($)=>()=>$8(RN($)(),(Z)=>(X,J)=>new Promise((G,Y)=>Z(X,J).addObserver((W)=>{if(K9(W))G(W.value);else Y(t2(W.cause))}))),w1$=($)=>O1(()=>$.state._tag==="Closed"?0:$.state.backing.size),C1$=($)=>F4($.deferred),L1$=($)=>SG({while:()=>$.state._tag==="Open"&&$.state.backing.size>0,body:()=>GG(HW($)),step:MZ});var vG={};M8(vG,{zipWith:()=>v4$,withSpan:()=>a4$,withParentSpan:()=>t4$,updateService:()=>Z9$,unwrapScoped:()=>b4$,unwrapEffect:()=>y4$,toRuntimeWithMemoMap:()=>k4$,toRuntime:()=>j4$,tapErrorCause:()=>S4$,tapError:()=>x4$,tap:()=>E4$,syncContext:()=>q4$,sync:()=>L4$,suspend:()=>C4$,succeedContext:()=>w4$,succeed:()=>R4$,span:()=>o4$,setVersionMismatchErrorLogLevel:()=>s4$,setUnhandledErrorLogLevel:()=>i4$,setTracerTiming:()=>l4$,setTracerEnabled:()=>r4$,setTracer:()=>n4$,setScheduler:()=>u4$,setRequestCaching:()=>p4$,setRequestCache:()=>d4$,setRequestBatching:()=>c4$,setRandom:()=>f4$,setConfigProvider:()=>h4$,setClock:()=>g4$,service:()=>z4$,scopedDiscard:()=>j6,scopedContext:()=>M4$,scoped:()=>T4$,scope:()=>F4$,retry:()=>P4$,provideMerge:()=>I4$,provide:()=>$y,project:()=>V4$,passthrough:()=>K4$,parentSpan:()=>m4$,orElse:()=>A4$,orDie:()=>U4$,mock:()=>$4$,mergeAll:()=>H4$,merge:()=>D4$,memoize:()=>W4$,matchCause:()=>Y4$,match:()=>G4$,mapError:()=>J4$,map:()=>ev,makeMemoMap:()=>e4$,locallyWith:()=>B4$,locallyScoped:()=>N4$,locallyEffect:()=>Q4$,locally:()=>O4$,launch:()=>X4$,isLayer:()=>j1$,isFresh:()=>k1$,function:()=>Z4$,fresh:()=>e1$,flatten:()=>t1$,flatMap:()=>a1$,fiberRefLocallyScopedWith:()=>_4$,failSync:()=>l1$,failCauseSync:()=>s1$,failCause:()=>i1$,fail:()=>r1$,extendScope:()=>n1$,ensureSuccessType:()=>X9$,ensureRequirementsType:()=>G9$,ensureErrorType:()=>J9$,empty:()=>o1$,effectDiscard:()=>d1$,effectContext:()=>u1$,effect:()=>p1$,discard:()=>c1$,dieSync:()=>f1$,die:()=>m1$,context:()=>tv,catchAllCause:()=>h1$,catchAll:()=>g1$,buildWithScope:()=>b1$,buildWithMemoMap:()=>$9$,build:()=>y1$,annotateSpans:()=>v1$,annotateLogs:()=>I1$,MemoMapTypeId:()=>x1$,LayerTypeId:()=>E1$,CurrentMemoMap:()=>S1$});var lv=($)=>u5(nH($)),iv=($)=>_4(U8(gZ,$)),sv=($,Z)=>{return Z=j8(Z),w9(gZ,Z?.onEnd?IZ(J6($,Z),(X)=>D1((J)=>Z.onEnd(X,J))):J6($,Z))},av=($)=>u5(sH($));var E1$=UU,x1$=DG,S1$=KB,j1$=UG,k1$=VB,I1$=Qk,v1$=Ok,y1$=bj,b1$=z9,g1$=d5,h1$=BB,tv=KU,m1$=NB,f1$=hj,c1$=mj,p1$=R9,d1$=pj,u1$=fZ,o1$=Yk,n1$=fj,r1$=_B,l1$=PB,i1$=AG,s1$=VU,a1$=V1,t1$=cj,e1$=FB,$4$=lj,Z4$=nj;var X4$=rj,ev=BU,J4$=ij,G4$=_U,Y4$=NU,W4$=sj,D4$=TB,H4$=PU,U4$=aj,A4$=tj,K4$=ej,V4$=$k,Q4$=QU,O4$=dj,B4$=OU,N4$=uj,_4$=oj,P4$=Zk,F4$=Jk,T4$=w9,j6=u5,M4$=KG,z4$=Gk,R4$=xX,w4$=_4,C4$=VG,L4$=FU,q4$=Wk,E4$=Dk,x4$=Hk,S4$=Uk,j4$=Ak,k4$=Kk,$y=o5,I4$=Vk,v4$=MB,y4$=zB,b4$=HG,g4$=($)=>j6(LZ(z0,e$(tZ,$))),h4$=lv,m4$=iv,f4$=($)=>j6(LZ(z0,e$(J4,$))),c4$=($)=>j6(mZ(K2,$)),p4$=($)=>j6(mZ(CG,$)),d4$=($)=>j6(p$($)?T($,(Z)=>mZ(gX,Z)):mZ(gX,$)),u4$=($)=>j6(mZ($4,$)),o4$=sv,n4$=av,r4$=($)=>j6(mZ(Q2,$)),l4$=($)=>j6(mZ(W9,$)),i4$=($)=>j6(mZ(V2,$)),s4$=($)=>j6(mZ(ED,$)),a4$=Bk,t4$=HU,e4$=OB,$9$=AU,Z9$=V(3,($,Z,X)=>$y($,ev(tv(),(J)=>e$(J,Z,X(n8(J,Z)))))),X9$=()=>($)=>$,J9$=()=>($)=>$,G9$=()=>($)=>$;var N1={};M8(N1,{zipWith:()=>s5$,zipRight:()=>i5$,zipLeft:()=>l5$,windowed:()=>r5$,whileOutputEffect:()=>n5$,whileOutput:()=>o5$,whileInputEffect:()=>u5$,whileInput:()=>d5$,upTo:()=>p5$,untilOutputEffect:()=>c5$,untilOutput:()=>f5$,untilInputEffect:()=>m5$,untilInput:()=>h5$,unionWith:()=>g5$,union:()=>b5$,unfold:()=>y5$,tapOutput:()=>v5$,tapInput:()=>I5$,sync:()=>k5$,succeed:()=>j5$,stop:()=>S5$,spaced:()=>x5$,secondOfMinute:()=>S9$,run:()=>E5$,resetWhen:()=>q5$,resetAfter:()=>L5$,repetitions:()=>C5$,repeatForever:()=>w5$,reduceEffect:()=>R5$,reduce:()=>z5$,recurs:()=>M5$,recurWhileEffect:()=>T5$,recurWhile:()=>F5$,recurUpTo:()=>P5$,recurUntilOption:()=>_5$,recurUntilEffect:()=>N5$,recurUntil:()=>B5$,provideService:()=>O5$,provideContext:()=>Q5$,passthrough:()=>Z5$,once:()=>V5$,onDecision:()=>K5$,modifyDelayEffect:()=>A5$,modifyDelay:()=>U5$,minuteOfHour:()=>j9$,mapInputEffect:()=>L9$,mapInputContext:()=>q9$,mapInput:()=>C9$,mapEffect:()=>H5$,mapBothEffect:()=>f9$,mapBoth:()=>m9$,map:()=>D5$,makeWithState:()=>D9$,linear:()=>W5$,jitteredWith:()=>Y5$,jittered:()=>G5$,isSchedule:()=>H9$,intersectWith:()=>J5$,intersect:()=>X5$,identity:()=>$5$,hourOfDay:()=>k9$,fromFunction:()=>e9$,fromDelays:()=>t9$,fromDelay:()=>a9$,forever:()=>s9$,fixed:()=>i9$,fibonacci:()=>l9$,exponential:()=>r9$,ensuring:()=>n9$,elapsed:()=>o9$,eitherWith:()=>u9$,either:()=>d9$,duration:()=>p9$,driver:()=>c9$,delays:()=>h9$,delayedSchedule:()=>g9$,delayedEffect:()=>b9$,delayed:()=>y9$,dayOfWeek:()=>v9$,dayOfMonth:()=>I9$,cron:()=>x9$,count:()=>E9$,compose:()=>w9$,collectWhileEffect:()=>R9$,collectWhile:()=>z9$,collectUntilEffect:()=>M9$,collectUntil:()=>T9$,collectAllOutputs:()=>F9$,collectAllInputs:()=>P9$,checkEffect:()=>_9$,check:()=>N9$,bothInOut:()=>B9$,asVoid:()=>O9$,as:()=>Q9$,andThenEither:()=>V9$,andThen:()=>K9$,addDelayEffect:()=>A9$,addDelay:()=>U9$,ScheduleTypeId:()=>Y9$,ScheduleDriverTypeId:()=>W9$,CurrentIterationMetadata:()=>a5$});var Y9$=LU,W9$=kB,D9$=r$,H9$=qU,U9$=EU,A9$=IB,K9$=lk,V9$=vB,Q9$=ik,O9$=xU,B9$=sk,N9$=vX,_9$=l5,P9$=ak,F9$=i5,T9$=tk,M9$=ek,z9$=$I,R9$=ZI,w9$=XI,C9$=yB,L9$=SU,q9$=JI,E9$=Xv,x9$=GI,S9$=II,j9$=RI,k9$=TI,I9$=YI,v9$=WI,y9$=DI,b9$=jU,g9$=PG,h9$=HI,m9$=UI,f9$=AI,c9$=FG,p9$=bB,d9$=KI,u9$=VI,o9$=gU,n9$=QI,r9$=OI,l9$=BI,i9$=NI,s9$=S6,a9$=_I,t9$=PI,e9$=FI,$5$=P4,Z5$=mB,X5$=C9,J5$=gB,G5$=MI,Y5$=hB,W5$=zI,D5$=_Z,H5$=kU,U5$=wI,A5$=TG,K5$=CI,V5$=hU,Q5$=LI,O5$=qI,B5$=fB,N5$=cB,_5$=EI,P5$=pB,F5$=dB,T5$=uB,M5$=yX,z5$=IU,R5$=oB,w5$=S6,C5$=xI,L5$=SI,q5$=nB,E5$=jI,x5$=vI,S5$=Jv,j5$=yI,k5$=bI,I5$=gI,v5$=hI,y5$=MG,b5$=rB,g5$=vU,h5$=lB,m5$=zG,f5$=iB,c5$=mI,p5$=fI,d5$=sB,u5$=RG,o5$=yU,n5$=cI,r5$=pI,l5$=aB,i5$=dI,s5$=uI,a5$=r5;function DB$($,Z){return vG.scoped($,t.acquireRelease(t.sync(Z),(X)=>t.sync(()=>{X.close()})).pipe(t.map((X)=>X.service)))}var yG=H.record(H.string(),H.unknown());var t5$=H.object({id:H.string(),sessionId:H.string(),interfaceType:H.string(),channelId:H.string(),personId:H.string().optional(),channelName:H.string().optional(),startedAt:H.string(),lastActiveAt:H.string(),createdAt:H.string(),updatedAt:H.string(),metadata:yG}),e5$=H.object({id:H.string(),conversationId:H.string(),role:cX,content:H.string(),timestamp:H.string(),metadata:yG});var wN=H.object({name:H.string(),role:H.string(),purpose:H.string(),values:H.array(H.string())}),CN=H.object({name:H.string(),organization:H.string().optional(),description:H.string().optional(),avatar:H.string().optional(),website:H.string().optional(),email:H.string().optional(),socialLinks:H.array(H.object({platform:H.enum(["github","instagram","linkedin","email","website"]),url:H.string(),label:H.string().optional()})).optional()});var pX=$7$(Z7$(),1);function z4($,Z){let X=Object.fromEntries(Object.entries(Z).filter(([,J])=>J!==void 0&&J!==null));if(Object.keys(X).length===0)return $;return pX.default.stringify($,X)}function LN($){if($ instanceof Date)return $.toISOString();if(Array.isArray($))return $.map(LN);if($!==null&&typeof $==="object"){let Z={};for(let[X,J]of Object.entries($))Z[X]=LN(J);return Z}return $}function cZ($,Z){let{content:X,data:J}=pX.default($),G=LN(J);return{content:X.trim(),metadata:Z.parse(G)}}function bG($){if(Object.keys($).length===0)return"";let X=pX.default.stringify("",$).match(/^---\n[\s\S]*?\n---/);return X?X[0]:""}function Zy($){if(typeof $!=="object"||$===null||Array.isArray($))return $;let{visibility:Z,...X}=$;return X}var X7$=H.object({visibility:H.enum(["public","shared","restricted","private"]).optional().transform(($)=>{if($===void 0)return;return $==="private"?"restricted":$})});function rU($){let Z=pX.default($);return X7$.parse(Z.data).visibility}function Xy($){let X=$.match(/^---\r?\n[\s\S]*?\r?\n---/)?.[0].match(/^visibility:/m);return X!==null&&X!==void 0}function t5($,Z){if(Z==="public"&&!Xy($))return $;let X=pX.default($),J=Object.fromEntries(Object.entries(X.data).filter(([G])=>G!=="visibility"));if(Z!=="public")J.visibility=Z;return z4(X.content.trim(),J)}var J7$=H.looseObject({issues:H.array(H.looseObject({message:H.string()}))});class R4 extends Error{entityType;originalError;constructor($,Z){super(`Invalid entity data for ${$}: ${d$(Z)}`);this.name="EntityValidationError",this.entityType=$,this.originalError=Z}}function lU($){return J7$.safeParse($).success}function Jy($){return $ instanceof R4||lU($)}function iU($,Z){if(Z instanceof R4)return Z;return lU(Z)?new R4($,Z):void 0}var G7$={generateBodyTemplate:()=>""},qN=H.record(H.string(),H.unknown());function Gy($){return{parse:(Z)=>$.parse(Zy(Z))}}class _1{entityType;purpose;schema;frontmatterSchema;isSingleton;hasBody;supportsCoverImage;publishedStatuses;fmSchema;bodyFormatter;constructor($){if(this.entityType=$.entityType,this.purpose=$.purpose,this.schema=$.schema,this.frontmatterSchema=$.frontmatterSchema,this.fmSchema=$.frontmatterSchema,this.bodyFormatter=$.bodyFormatter??G7$,$.isSingleton!==void 0)this.isSingleton=$.isSingleton;if($.hasBody!==void 0)this.hasBody=$.hasBody;if($.supportsCoverImage!==void 0)this.supportsCoverImage=$.supportsCoverImage;if($.publishedStatuses!==void 0)this.publishedStatuses=$.publishedStatuses}toMarkdown($){let Z=this.renderBody($),J={...this.readExistingFrontmatter($.content)},G=Object.keys(this.frontmatterSchema.shape);for(let[Y,W]of Object.entries($.metadata))if(G.includes(Y))J[Y]=W;return this.buildMarkdown(Z,J)}renderBody($){return this.extractBody($.content)}readExistingFrontmatter($){try{return cZ($,qN).metadata}catch{return{}}}extractMetadata($){return $.metadata}parseFrontMatter($,Z){try{return cZ($,Gy(Z)).metadata}catch(X){throw new R4(this.entityType,X)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter($){return bG(qN.parse($.metadata))}extractBody($){try{return cZ($,qN).content}catch{return $}}parseFrontmatter($){try{return cZ($,Gy(this.fmSchema)).metadata}catch(Z){throw new R4(this.entityType,Z)}}buildMarkdown($,Z){return z4($,Z)}}var EN=H.enum(["public","shared","restricted"]),P1=H.union([EN,H.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $});function sU($){return P1.parse($)}var Y7$={public:["public"],shared:["public","shared"],restricted:["public","shared","restricted"]};function w4($){return Y7$[$]}function aU($,Z){return w4(Z).includes($??"public")}function L9($){if($==="admin")return"restricted";if($==="trusted")return"shared";return"public"}function xN($,Z){return aU(Z,L9($))}var H6=H.object({id:H.string(),entityType:H.string(),content:H.string(),created:H.string().datetime(),updated:H.string().datetime(),visibility:P1,metadata:H.record(H.string(),H.unknown()),contentHash:H.string()}),W7$=H.enum(["public","shared","restricted"]),Yy=H.object({id:H.string(),entityType:H.string(),content:H.string(),created:H.string().datetime(),updated:H.string().datetime(),visibility:H.union([W7$,H.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $}),metadata:H.record(H.string(),H.unknown()),contentHash:H.string()}),tU=H.object({}),D7$=H.object({mediaType:H.string(),url:H.string(),downloadUrl:H.string().optional(),previewUrl:H.string().optional(),filename:H.string().optional(),sizeBytes:H.number().optional(),source:H.object({entityType:H.string().optional(),entityId:H.string().optional(),attachmentType:H.string().optional()}).optional()});class SN extends _1{constructor(){super({entityType:"note",purpose:"A generic entity with no specialized adapter.",schema:H6,frontmatterSchema:tU})}toMarkdown($){return $.content}fromMarkdown($){return{content:$}}}import{createClient as kb}from"@libsql/client";import{createClient as U_}from"@libsql/client";var L=Symbol.for("drizzle:entityKind");function v($,Z){if(!$||typeof $!=="object")return!1;if($ instanceof Z)return!0;if(!Object.prototype.hasOwnProperty.call(Z,L))throw Error(`Class "${Z.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let X=Object.getPrototypeOf($).constructor;if(X)while(X){if(L in X&&X[L]===Z[L])return!0;X=Object.getPrototypeOf(X)}return!1}class G0{constructor($,Z){this.table=$,this.config=Z,this.name=Z.name,this.keyAsName=Z.keyAsName,this.notNull=Z.notNull,this.default=Z.default,this.defaultFn=Z.defaultFn,this.onUpdateFn=Z.onUpdateFn,this.hasDefault=Z.hasDefault,this.primary=Z.primaryKey,this.isUnique=Z.isUnique,this.uniqueName=Z.uniqueName,this.uniqueType=Z.uniqueType,this.dataType=Z.dataType,this.columnType=Z.columnType,this.generated=Z.generated,this.generatedIdentity=Z.generatedIdentity}static[L]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue($){return $}mapToDriverValue($){return $}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class jN{static[L]="ColumnBuilder";config;constructor($,Z,X){this.config={name:$,keyAsName:$==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:Z,columnType:X,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default($){return this.config.default=$,this.config.hasDefault=!0,this}$defaultFn($){return this.config.defaultFn=$,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn($){return this.config.onUpdateFn=$,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName($){if(this.config.name!=="")return;this.config.name=$}}var b8=Symbol.for("drizzle:Name");function Wy($,...Z){return $(...Z)}function Dy($,Z){return`${$[b8]}_${Z.join("_")}_unique`}class gG extends G0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=Dy($,[Z.name]);super($,Z);this.table=$}static[L]="PgColumn"}class H7$ extends gG{static[L]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op($){return this.indexConfig.opClass=$,this}}class U7$ extends gG{static[L]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}var Hy=Symbol.for("drizzle:isPgEnum");function Uy($){return!!$&&typeof $==="function"&&Hy in $&&$[Hy]===!0}class A7$ extends gG{static[L]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}class k0{static[L]="Subquery";constructor($,Z,X,J=!1,G=[]){this._={brand:"Subquery",sql:$,selectedFields:Z,alias:X,isWith:J,usedTables:G}}}class hG extends k0{static[L]="WithSubquery"}var Ay="0.45.2";var kN,IN,Ky={startActiveSpan($,Z){if(!kN)return Z();if(!IN)IN=kN.trace.getTracer("drizzle-orm",Ay);return Wy((X,J)=>J.startActiveSpan($,(G)=>{try{return Z(G)}catch(Y){throw G.setStatus({code:X.SpanStatusCode.ERROR,message:Y instanceof Error?Y.message:"Unknown error"}),Y}finally{G.end()}}),kN,IN)}};var I0=Symbol.for("drizzle:ViewBaseConfig");var eU=Symbol.for("drizzle:Schema"),$A=Symbol.for("drizzle:Columns"),Vy=Symbol.for("drizzle:ExtraConfigColumns"),vN=Symbol.for("drizzle:OriginalName"),yN=Symbol.for("drizzle:BaseName"),mG=Symbol.for("drizzle:IsAlias"),Qy=Symbol.for("drizzle:ExtraConfigBuilder"),K7$=Symbol.for("drizzle:IsDrizzleTable");class e{static[L]="Table";static Symbol={Name:b8,Schema:eU,OriginalName:vN,Columns:$A,ExtraConfigColumns:Vy,BaseName:yN,IsAlias:mG,ExtraConfigBuilder:Qy};[b8];[vN];[eU];[$A];[Vy];[yN];[mG]=!1;[K7$]=!0;[Qy]=void 0;constructor($,Z,X){this[b8]=this[vN]=$,this[eU]=Z,this[yN]=X}}function q9($){return $[b8]}function e5($){return`${$[eU]??"public"}.${$[b8]}`}function bN($){return $!==null&&$!==void 0&&typeof $.getSQL==="function"}function V7$($){let Z={sql:"",params:[]};for(let X of $)if(Z.sql+=X.sql,Z.params.push(...X.params),X.typings?.length){if(!Z.typings)Z.typings=[];Z.typings.push(...X.typings)}return Z}class AZ{static[L]="StringChunk";value;constructor($){this.value=Array.isArray($)?$:[$]}getSQL(){return new U$([this])}}class U${constructor($){this.queryChunks=$;for(let Z of $)if(v(Z,e)){let X=Z[e.Symbol.Schema];this.usedTables.push(X===void 0?Z[e.Symbol.Name]:X+"."+Z[e.Symbol.Name])}}static[L]="SQL";decoder=By;shouldInlineParams=!1;usedTables=[];append($){return this.queryChunks.push(...$.queryChunks),this}toQuery($){return Ky.startActiveSpan("drizzle.buildSQL",(Z)=>{let X=this.buildQueryFromSourceParams(this.queryChunks,$);return Z?.setAttributes({"drizzle.query.text":X.sql,"drizzle.query.params":JSON.stringify(X.params)}),X})}buildQueryFromSourceParams($,Z){let X=Object.assign({},Z,{inlineParams:Z.inlineParams||this.shouldInlineParams,paramStartIndex:Z.paramStartIndex||{value:0}}),{casing:J,escapeName:G,escapeParam:Y,prepareTyping:W,inlineParams:D,paramStartIndex:U}=X;return V7$($.map((A)=>{if(v(A,AZ))return{sql:A.value.join(""),params:[]};if(v(A,ZA))return{sql:G(A.value),params:[]};if(A===void 0)return{sql:"",params:[]};if(Array.isArray(A)){let Q=[new AZ("(")];for(let[O,P]of A.entries())if(Q.push(P),O<A.length-1)Q.push(new AZ(", "));return Q.push(new AZ(")")),this.buildQueryFromSourceParams(Q,X)}if(v(A,U$))return this.buildQueryFromSourceParams(A.queryChunks,{...X,inlineParams:D||A.shouldInlineParams});if(v(A,e)){let Q=A[e.Symbol.Schema],O=A[e.Symbol.Name];return{sql:Q===void 0||A[mG]?G(O):G(Q)+"."+G(O),params:[]}}if(v(A,G0)){let Q=J.getColumnCasing(A);if(Z.invokeSource==="indexes")return{sql:G(Q),params:[]};let O=A.table[e.Symbol.Schema];return{sql:A.table[mG]||O===void 0?G(A.table[e.Symbol.Name])+"."+G(Q):G(O)+"."+G(A.table[e.Symbol.Name])+"."+G(Q),params:[]}}if(v(A,U6)){let Q=A[I0].schema,O=A[I0].name;return{sql:Q===void 0||A[I0].isAlias?G(O):G(Q)+"."+G(O),params:[]}}if(v(A,g8)){if(v(A.value,E9))return{sql:Y(U.value++,A),params:[A],typings:["none"]};let Q=A.value===null?null:A.encoder.mapToDriverValue(A.value);if(v(Q,U$))return this.buildQueryFromSourceParams([Q],X);if(D)return{sql:this.mapInlineParam(Q,X),params:[]};let O=["none"];if(W)O=[W(A.encoder)];return{sql:Y(U.value++,Q),params:[Q],typings:O}}if(v(A,E9))return{sql:Y(U.value++,A),params:[A],typings:["none"]};if(v(A,U$.Aliased)&&A.fieldAlias!==void 0)return{sql:G(A.fieldAlias),params:[]};if(v(A,k0)){if(A._.isWith)return{sql:G(A._.alias),params:[]};return this.buildQueryFromSourceParams([new AZ("("),A._.sql,new AZ(") "),new ZA(A._.alias)],X)}if(Uy(A)){if(A.schema)return{sql:G(A.schema)+"."+G(A.enumName),params:[]};return{sql:G(A.enumName),params:[]}}if(bN(A)){if(A.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([A.getSQL()],X);return this.buildQueryFromSourceParams([new AZ("("),A.getSQL(),new AZ(")")],X)}if(D)return{sql:this.mapInlineParam(A,X),params:[]};return{sql:Y(U.value++,A),params:[A],typings:["none"]}}))}mapInlineParam($,{escapeString:Z}){if($===null)return"null";if(typeof $==="number"||typeof $==="boolean")return $.toString();if(typeof $==="string")return Z($);if(typeof $==="object"){let X=$.toString();if(X==="[object Object]")return Z(JSON.stringify($));return Z(X)}throw Error("Unexpected param value: "+$)}getSQL(){return this}as($){if($===void 0)return this;return new U$.Aliased(this,$)}mapWith($){return this.decoder=typeof $==="function"?{mapFromDriverValue:$}:$,this}inlineParams(){return this.shouldInlineParams=!0,this}if($){return $?this:void 0}}class ZA{constructor($){this.value=$}static[L]="Name";brand;getSQL(){return new U$([this])}}function Oy($){return typeof $==="object"&&$!==null&&"mapToDriverValue"in $&&typeof $.mapToDriverValue==="function"}var By={mapFromDriverValue:($)=>$},Ny={mapToDriverValue:($)=>$},FN$={...By,...Ny};class g8{constructor($,Z=Ny){this.value=$,this.encoder=Z}static[L]="Param";brand;getSQL(){return new U$([this])}}function N($,...Z){let X=[];if(Z.length>0||$.length>0&&$[0]!=="")X.push(new AZ($[0]));for(let[J,G]of Z.entries())X.push(G,new AZ($[J+1]));return new U$(X)}(($)=>{function Z(){return new U$([])}$.empty=Z;function X(U){return new U$(U)}$.fromList=X;function J(U){return new U$([new AZ(U)])}$.raw=J;function G(U,A){let Q=[];for(let[O,P]of U.entries()){if(O>0&&A!==void 0)Q.push(A);Q.push(P)}return new U$(Q)}$.join=G;function Y(U){return new ZA(U)}$.identifier=Y;function W(U){return new E9(U)}$.placeholder=W;function D(U,A){return new g8(U,A)}$.param=D})(N||(N={}));(($)=>{class Z{constructor(X,J){this.sql=X,this.fieldAlias=J}static[L]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new Z(this.sql,this.fieldAlias)}}$.Aliased=Z})(U$||(U$={}));class E9{constructor($){this.name=$}static[L]="Placeholder";getSQL(){return new U$([this])}}function fG($,Z){return $.map((X)=>{if(v(X,E9)){if(!(X.name in Z))throw Error(`No value for placeholder "${X.name}" was provided`);return Z[X.name]}if(v(X,g8)&&v(X.value,E9)){if(!(X.value.name in Z))throw Error(`No value for placeholder "${X.value.name}" was provided`);return X.encoder.mapToDriverValue(Z[X.value.name])}return X})}var Q7$=Symbol.for("drizzle:IsDrizzleView");class U6{static[L]="View";[I0];[Q7$]=!0;constructor({name:$,schema:Z,selectedFields:X,query:J}){this[I0]={name:$,originalName:$,schema:Z,selectedFields:X,query:J,isExisting:!J,isAlias:!1}}getSQL(){return new U$([this])}}G0.prototype.getSQL=function(){return new U$([this])};e.prototype.getSQL=function(){return new U$([this])};k0.prototype.getSQL=function(){return new U$([this])};function gN($,Z,X){let J={},G=$.reduce((Y,{path:W,field:D},U)=>{let A;if(v(D,G0))A=D;else if(v(D,U$))A=D.decoder;else if(v(D,k0))A=D._.sql.decoder;else A=D.sql.decoder;let Q=Y;for(let[O,P]of W.entries())if(O<W.length-1){if(!(P in Q))Q[P]={};Q=Q[P]}else{let _=Z[U],M=Q[P]=_===null?null:A.mapFromDriverValue(_);if(X&&v(D,G0)&&W.length===2){let z=W[0];if(!(z in J))J[z]=M===null?q9(D.table):!1;else if(typeof J[z]==="string"&&J[z]!==q9(D.table))J[z]=!1}}return Y},{});if(X&&Object.keys(J).length>0){for(let[Y,W]of Object.entries(J))if(typeof W==="string"&&!X[W])G[Y]=null}return G}function A6($,Z){return Object.entries($).reduce((X,[J,G])=>{if(typeof J!=="string")return X;let Y=Z?[...Z,J]:[J];if(v(G,G0)||v(G,U$)||v(G,U$.Aliased)||v(G,k0))X.push({path:Y,field:G});else if(v(G,e))X.push(...A6(G[e.Symbol.Columns],Y));else X.push(...A6(G,Y));return X},[])}function cG($,Z){let X=Object.keys($),J=Object.keys(Z);if(X.length!==J.length)return!1;for(let[G,Y]of X.entries())if(Y!==J[G])return!1;return!0}function XA($,Z){let X=Object.entries(Z).filter(([,J])=>J!==void 0).map(([J,G])=>{if(v(G,U$)||v(G,G0))return[J,G];else return[J,new g8(G,$[e.Symbol.Columns][J])]});if(X.length===0)throw Error("No values to set");return Object.fromEntries(X)}function _y($,Z){for(let X of Z)for(let J of Object.getOwnPropertyNames(X.prototype)){if(J==="constructor")continue;Object.defineProperty($.prototype,J,Object.getOwnPropertyDescriptor(X.prototype,J)||Object.create(null))}}function Py($){return $[e.Symbol.Columns]}function pG($){return v($,k0)?$._.alias:v($,U6)?$[I0].name:v($,U$)?void 0:$[e.Symbol.IsAlias]?$[e.Symbol.Name]:$[e.Symbol.BaseName]}function F1($,Z){return{name:typeof $==="string"&&$.length>0?$:"",config:typeof $==="object"?$:Z}}function Fy($){if(typeof $!=="object"||$===null)return!1;if($.constructor.name!=="Object")return!1;if("logger"in $){let Z=typeof $.logger;if(Z!=="boolean"&&(Z!=="object"||typeof $.logger.logQuery!=="function")&&Z!=="undefined")return!1;return!0}if("schema"in $){let Z=typeof $.schema;if(Z!=="object"&&Z!=="undefined")return!1;return!0}if("casing"in $){let Z=typeof $.casing;if(Z!=="string"&&Z!=="undefined")return!1;return!0}if("mode"in $){if($.mode!=="default"||$.mode!=="planetscale"||$.mode!==void 0)return!1;return!0}if("connection"in $){let Z=typeof $.connection;if(Z!=="string"&&Z!=="object"&&Z!=="undefined")return!1;return!0}if("client"in $){let Z=typeof $.client;if(Z!=="object"&&Z!=="function"&&Z!=="undefined")return!1;return!0}if(Object.keys($).length===0)return!0;return!1}var hN=typeof TextDecoder>"u"?null:new TextDecoder;class Ty{static[L]="ConsoleLogWriter";write($){console.log($)}}class mN{static[L]="DefaultLogger";writer;constructor($){this.writer=$?.writer??new Ty}logQuery($,Z){let X=Z.map((G)=>{try{return JSON.stringify(G)}catch{return String(G)}}),J=X.length?` -- params: [${X.join(", ")}]`:"";this.writer.write(`Query: ${$}${J}`)}}class fN{static[L]="NoopLogger";logQuery(){}}var My=Symbol.for("drizzle:PgInlineForeignKeys"),zy=Symbol.for("drizzle:EnableRLS");class cN extends e{static[L]="PgTable";static Symbol=Object.assign({},e.Symbol,{InlineForeignKeys:My,EnableRLS:zy});[My]=[];[zy]=!1;[e.Symbol.ExtraConfigBuilder]=void 0;[e.Symbol.ExtraConfigColumns]={}}class pN{static[L]="PgPrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new Ry($,this.columns,this.name)}}class Ry{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[cN.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function P8($,Z){if(Oy(Z)&&!bN($)&&!v($,g8)&&!v($,E9)&&!v($,G0)&&!v($,e)&&!v($,U6))return new g8($,Z);return $}var c=($,Z)=>{return N`${$} = ${P8(Z,$)}`},JA=($,Z)=>{return N`${$} <> ${P8(Z,$)}`};function F$(...$){let Z=$.filter((X)=>X!==void 0);if(Z.length===0)return;if(Z.length===1)return new U$(Z);return new U$([new AZ("("),N.join(Z,new AZ(" and ")),new AZ(")")])}function x9(...$){let Z=$.filter((X)=>X!==void 0);if(Z.length===0)return;if(Z.length===1)return new U$(Z);return new U$([new AZ("("),N.join(Z,new AZ(" or ")),new AZ(")")])}function wy($){return N`not ${$}`}var dX=($,Z)=>{return N`${$} > ${P8(Z,$)}`},Cy=($,Z)=>{return N`${$} >= ${P8(Z,$)}`},Ly=($,Z)=>{return N`${$} < ${P8(Z,$)}`},k6=($,Z)=>{return N`${$} <= ${P8(Z,$)}`};function Z8($,Z){if(Array.isArray(Z)){if(Z.length===0)return N`false`;return N`${$} in ${Z.map((X)=>P8(X,$))}`}return N`${$} in ${P8(Z,$)}`}function qy($,Z){if(Array.isArray(Z)){if(Z.length===0)return N`true`;return N`${$} not in ${Z.map((X)=>P8(X,$))}`}return N`${$} not in ${P8(Z,$)}`}function C4($){return N`${$} is null`}function uX($){return N`${$} is not null`}function dG($){return N`exists ${$}`}function GA($){return N`not exists ${$}`}function Ey($,Z,X){return N`${$} between ${P8(Z,$)} and ${P8(X,$)}`}function xy($,Z,X){return N`${$} not between ${P8(Z,$)} and ${P8(X,$)}`}function Sy($,Z){return N`${$} like ${Z}`}function jy($,Z){return N`${$} not like ${Z}`}function ky($,Z){return N`${$} ilike ${Z}`}function Iy($,Z){return N`${$} not ilike ${Z}`}function v0($){return N`${$} asc`}function PZ($){return N`${$} desc`}class dN{constructor($,Z,X){this.sourceTable=$,this.referencedTable=Z,this.relationName=X,this.referencedTableName=Z[e.Symbol.Name]}static[L]="Relation";referencedTableName;fieldName}class vy{constructor($,Z){this.table=$,this.config=Z}static[L]="Relations"}class S9 extends dN{constructor($,Z,X,J){super($,Z,X?.relationName);this.config=X,this.isNullable=J}static[L]="One";withFieldName($){let Z=new S9(this.sourceTable,this.referencedTable,this.config,this.isNullable);return Z.fieldName=$,Z}}class uG extends dN{constructor($,Z,X){super($,Z,X?.relationName);this.config=X}static[L]="Many";withFieldName($){let Z=new uG(this.sourceTable,this.referencedTable,this.config);return Z.fieldName=$,Z}}function yy(){return{and:F$,between:Ey,eq:c,exists:dG,gt:dX,gte:Cy,ilike:ky,inArray:Z8,isNull:C4,isNotNull:uX,like:Sy,lt:Ly,lte:k6,ne:JA,not:wy,notBetween:xy,notExists:GA,notLike:jy,notIlike:Iy,notInArray:qy,or:x9,sql:N}}function by(){return{sql:N,asc:v0,desc:PZ}}function gy($,Z){if(Object.keys($).length===1&&"default"in $&&!v($.default,e))$=$.default;let X={},J={},G={};for(let[Y,W]of Object.entries($))if(v(W,e)){let D=e5(W),U=J[D];X[D]=Y,G[Y]={tsName:Y,dbName:W[e.Symbol.Name],schema:W[e.Symbol.Schema],columns:W[e.Symbol.Columns],relations:U?.relations??{},primaryKey:U?.primaryKey??[]};for(let Q of Object.values(W[e.Symbol.Columns]))if(Q.primary)G[Y].primaryKey.push(Q);let A=W[e.Symbol.ExtraConfigBuilder]?.(W[e.Symbol.ExtraConfigColumns]);if(A){for(let Q of Object.values(A))if(v(Q,pN))G[Y].primaryKey.push(...Q.columns)}}else if(v(W,vy)){let D=e5(W.table),U=X[D],A=W.config(Z(W.table)),Q;for(let[O,P]of Object.entries(A))if(U){let _=G[U];if(_.relations[O]=P,Q)_.primaryKey.push(...Q)}else{if(!(D in J))J[D]={relations:{},primaryKey:Q};J[D].relations[O]=P}}return{tables:G,tableNamesMap:X}}function O7$($){return function(X,J){return new S9($,X,J,J?.fields.reduce((G,Y)=>G&&Y.notNull,!0)??!1)}}function B7$($){return function(X,J){return new uG($,X,J)}}function hy($,Z,X){if(v(X,S9)&&X.config)return{fields:X.config.fields,references:X.config.references};let J=Z[e5(X.referencedTable)];if(!J)throw Error(`Table "${X.referencedTable[e.Symbol.Name]}" not found in schema`);let G=$[J];if(!G)throw Error(`Table "${J}" not found in schema`);let Y=X.sourceTable,W=Z[e5(Y)];if(!W)throw Error(`Table "${Y[e.Symbol.Name]}" not found in schema`);let D=[];for(let U of Object.values(G.relations))if(X.relationName&&X!==U&&U.relationName===X.relationName||!X.relationName&&U.referencedTable===X.sourceTable)D.push(U);if(D.length>1)throw X.relationName?Error(`There are multiple relations with name "${X.relationName}" in table "${J}"`):Error(`There are multiple relations between "${J}" and "${X.sourceTable[e.Symbol.Name]}". Please specify relation name`);if(D[0]&&v(D[0],S9)&&D[0].config)return{fields:D[0].config.references,references:D[0].config.fields};throw Error(`There is not enough information to infer relation "${W}.${X.fieldName}"`)}function my($){return{one:O7$($),many:B7$($)}}function YA($,Z,X,J,G=(Y)=>Y){let Y={};for(let[W,D]of J.entries())if(D.isJson){let U=Z.relations[D.tsKey],A=X[W],Q=typeof A==="string"?JSON.parse(A):A;Y[D.tsKey]=v(U,S9)?Q&&YA($,$[D.relationTableTsKey],Q,D.selection,G):Q.map((O)=>YA($,$[D.relationTableTsKey],O,D.selection,G))}else{let U=G(X[W]),A=D.field,Q;if(v(A,G0))Q=A;else if(v(A,U$))Q=A.decoder;else Q=A.sql.decoder;Y[D.tsKey]=U===null?null:Q.mapFromDriverValue(U)}return Y}class oX{constructor($){this.table=$}static[L]="ColumnAliasProxyHandler";get($,Z){if(Z==="table")return this.table;return $[Z]}}class oG{constructor($,Z){this.alias=$,this.replaceOriginalName=Z}static[L]="TableAliasProxyHandler";get($,Z){if(Z===e.Symbol.IsAlias)return!0;if(Z===e.Symbol.Name)return this.alias;if(this.replaceOriginalName&&Z===e.Symbol.OriginalName)return this.alias;if(Z===I0)return{...$[I0],name:this.alias,isAlias:!0};if(Z===e.Symbol.Columns){let J=$[e.Symbol.Columns];if(!J)return J;let G={};return Object.keys(J).map((Y)=>{G[Y]=new Proxy(J[Y],new oX(new Proxy($,this)))}),G}let X=$[Z];if(v(X,G0))return new Proxy(X,new oX(new Proxy($,this)));return X}}function WA($,Z){return new Proxy($,new oG(Z,!1))}function T1($,Z){return new Proxy($,new oX(new Proxy($.table,new oG(Z,!1))))}function uN($,Z){return new U$.Aliased(nG($.sql,Z),$.fieldAlias)}function nG($,Z){return N.join($.queryChunks.map((X)=>{if(v(X,G0))return T1(X,Z);if(v(X,U$))return nG(X,Z);if(v(X,U$.Aliased))return uN(X,Z);return X}))}class e0{static[L]="SelectionProxyHandler";config;constructor($){this.config={...$}}get($,Z){if(Z==="_")return{...$._,selectedFields:new Proxy($._.selectedFields,this)};if(Z===I0)return{...$[I0],selectedFields:new Proxy($[I0].selectedFields,this)};if(typeof Z==="symbol")return $[Z];let J=(v($,k0)?$._.selectedFields:v($,U6)?$[I0].selectedFields:$)[Z];if(v(J,U$.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!J.isSelectionField)return J.sql;let G=J.clone();return G.isSelectionField=!0,G}if(v(J,U$)){if(this.config.sqlBehavior==="sql")return J;throw Error(`You tried to reference "${Z}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(v(J,G0)){if(this.config.alias)return new Proxy(J,new oX(new Proxy(J.table,new oG(this.config.alias,this.config.replaceOriginalName??!1))));return J}if(typeof J!=="object"||J===null)return J;return new Proxy(J,new e0(this.config))}}class X8{static[L]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch($){return this.then(void 0,$)}finally($){return this.then((Z)=>{return $?.(),Z},(Z)=>{throw $?.(),Z})}then($,Z){return this.execute().then($,Z)}}class oN{static[L]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor($,Z){if(this.reference=()=>{let{name:X,columns:J,foreignColumns:G}=$();return{name:X,columns:J,foreignTable:G[0].table,foreignColumns:G}},Z)this._onUpdate=Z.onUpdate,this._onDelete=Z.onDelete}onUpdate($){return this._onUpdate=$,this}onDelete($){return this._onDelete=$,this}build($){return new fy($,this)}}class fy{constructor($,Z){this.table=$,this.reference=Z.reference,this.onUpdate=Z._onUpdate,this.onDelete=Z._onDelete}static[L]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:$,columns:Z,foreignColumns:X}=this.reference(),J=Z.map((W)=>W.name),G=X.map((W)=>W.name),Y=[this.table[b8],...J,X[0].table[b8],...G];return $??`${Y.join("_")}_fk`}}function cy($,Z){return`${$[b8]}_${Z.join("_")}_unique`}class FZ extends jN{static[L]="SQLiteColumnBuilder";foreignKeyConfigs=[];references($,Z={}){return this.foreignKeyConfigs.push({ref:$,actions:Z}),this}unique($){return this.config.isUnique=!0,this.config.uniqueName=$,this}generatedAlwaysAs($,Z){return this.config.generated={as:$,type:"always",mode:Z?.mode??"virtual"},this}buildForeignKeys($,Z){return this.foreignKeyConfigs.map(({ref:X,actions:J})=>{return((G,Y)=>{let W=new oN(()=>{let D=G();return{columns:[$],foreignColumns:[D]}});if(Y.onUpdate)W.onUpdate(Y.onUpdate);if(Y.onDelete)W.onDelete(Y.onDelete);return W.build(Z)})(X,J)})}}class m0 extends G0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=cy($,[Z.name]);super($,Z);this.table=$}static[L]="SQLiteColumn"}class py extends FZ{static[L]="SQLiteBigIntBuilder";constructor($){super($,"bigint","SQLiteBigInt")}build($){return new dy($,this.config)}}class dy extends m0{static[L]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue($){if(typeof Buffer<"u"&&Buffer.from){let Z=Buffer.isBuffer($)?$:$ instanceof ArrayBuffer?Buffer.from($):$.buffer?Buffer.from($.buffer,$.byteOffset,$.byteLength):Buffer.from($);return BigInt(Z.toString("utf8"))}return BigInt(hN.decode($))}mapToDriverValue($){return Buffer.from($.toString())}}class uy extends FZ{static[L]="SQLiteBlobJsonBuilder";constructor($){super($,"json","SQLiteBlobJson")}build($){return new oy($,this.config)}}class oy extends m0{static[L]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue($){if(typeof Buffer<"u"&&Buffer.from){let Z=Buffer.isBuffer($)?$:$ instanceof ArrayBuffer?Buffer.from($):$.buffer?Buffer.from($.buffer,$.byteOffset,$.byteLength):Buffer.from($);return JSON.parse(Z.toString("utf8"))}return JSON.parse(hN.decode($))}mapToDriverValue($){return Buffer.from(JSON.stringify($))}}class ny extends FZ{static[L]="SQLiteBlobBufferBuilder";constructor($){super($,"buffer","SQLiteBlobBuffer")}build($){return new ry($,this.config)}}class ry extends m0{static[L]="SQLiteBlobBuffer";mapFromDriverValue($){if(Buffer.isBuffer($))return $;return Buffer.from($)}getSQLType(){return"blob"}}function ly($,Z){let{name:X,config:J}=F1($,Z);if(J?.mode==="json")return new uy(X);if(J?.mode==="bigint")return new py(X);return new ny(X)}class iy extends FZ{static[L]="SQLiteCustomColumnBuilder";constructor($,Z,X){super($,"custom","SQLiteCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=X}build($){return new sy($,this.config)}}class sy extends m0{static[L]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor($,Z){super($,Z);this.sqlName=Z.customTypeParams.dataType(Z.fieldConfig),this.mapTo=Z.customTypeParams.toDriver,this.mapFrom=Z.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue($){return typeof this.mapFrom==="function"?this.mapFrom($):$}mapToDriverValue($){return typeof this.mapTo==="function"?this.mapTo($):$}}function DA($){return(Z,X)=>{let{name:J,config:G}=F1(Z,X);return new iy(J,G,$)}}class HA extends FZ{static[L]="SQLiteBaseIntegerBuilder";constructor($,Z,X){super($,Z,X);this.config.autoIncrement=!1}primaryKey($){if($?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}}class UA extends m0{static[L]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class ay extends HA{static[L]="SQLiteIntegerBuilder";constructor($){super($,"number","SQLiteInteger")}build($){return new ty($,this.config)}}class ty extends UA{static[L]="SQLiteInteger"}class ey extends HA{static[L]="SQLiteTimestampBuilder";constructor($,Z){super($,"date","SQLiteTimestamp");this.config.mode=Z}defaultNow(){return this.default(N`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build($){return new $b($,this.config)}}class $b extends UA{static[L]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue($){if(this.config.mode==="timestamp")return new Date($*1000);return new Date($)}mapToDriverValue($){let Z=$.getTime();if(this.config.mode==="timestamp")return Math.floor(Z/1000);return Z}}class Zb extends HA{static[L]="SQLiteBooleanBuilder";constructor($,Z){super($,"boolean","SQLiteBoolean");this.config.mode=Z}build($){return new Xb($,this.config)}}class Xb extends UA{static[L]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue($){return Number($)===1}mapToDriverValue($){return $?1:0}}function a$($,Z){let{name:X,config:J}=F1($,Z);if(J?.mode==="timestamp"||J?.mode==="timestamp_ms")return new ey(X,J.mode);if(J?.mode==="boolean")return new Zb(X,J.mode);return new ay(X)}class Jb extends FZ{static[L]="SQLiteNumericBuilder";constructor($){super($,"string","SQLiteNumeric")}build($){return new Gb($,this.config)}}class Gb extends m0{static[L]="SQLiteNumeric";mapFromDriverValue($){if(typeof $==="string")return $;return String($)}getSQLType(){return"numeric"}}class Yb extends FZ{static[L]="SQLiteNumericNumberBuilder";constructor($){super($,"number","SQLiteNumericNumber")}build($){return new Wb($,this.config)}}class Wb extends m0{static[L]="SQLiteNumericNumber";mapFromDriverValue($){if(typeof $==="number")return $;return Number($)}mapToDriverValue=String;getSQLType(){return"numeric"}}class Db extends FZ{static[L]="SQLiteNumericBigIntBuilder";constructor($){super($,"bigint","SQLiteNumericBigInt")}build($){return new Hb($,this.config)}}class Hb extends m0{static[L]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function Ub($,Z){let{name:X,config:J}=F1($,Z),G=J?.mode;return G==="number"?new Yb(X):G==="bigint"?new Db(X):new Jb(X)}class Ab extends FZ{static[L]="SQLiteRealBuilder";constructor($){super($,"number","SQLiteReal")}build($){return new Kb($,this.config)}}class Kb extends m0{static[L]="SQLiteReal";getSQLType(){return"real"}}function Vb($){return new Ab($??"")}class Qb extends FZ{static[L]="SQLiteTextBuilder";constructor($,Z){super($,"string","SQLiteText");this.config.enumValues=Z.enum,this.config.length=Z.length}build($){return new Ob($,this.config)}}class Ob extends m0{static[L]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor($,Z){super($,Z)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class Bb extends FZ{static[L]="SQLiteTextJsonBuilder";constructor($){super($,"json","SQLiteTextJson")}build($){return new Nb($,this.config)}}class Nb extends m0{static[L]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue($){return JSON.parse($)}mapToDriverValue($){return JSON.stringify($)}}function X$($,Z={}){let{name:X,config:J}=F1($,Z);if(J.mode==="json")return new Bb(X);return new Qb(X,J)}function _b(){return{blob:ly,customType:DA,integer:a$,numeric:Ub,real:Vb,text:X$}}var nN=Symbol.for("drizzle:SQLiteInlineForeignKeys");class $Z extends e{static[L]="SQLiteTable";static Symbol=Object.assign({},e.Symbol,{InlineForeignKeys:nN});[e.Symbol.Columns];[nN]=[];[e.Symbol.ExtraConfigBuilder]=void 0}function N7$($,Z,X,J,G=$){let Y=new $Z($,J,G),W=typeof Z==="function"?Z(_b()):Z,D=Object.fromEntries(Object.entries(W).map(([A,Q])=>{let O=Q;O.setName(A);let P=O.build(Y);return Y[nN].push(...O.buildForeignKeys(P,Y)),[A,P]})),U=Object.assign(Y,D);if(U[e.Symbol.Columns]=D,U[e.Symbol.ExtraConfigColumns]=D,X)U[$Z.Symbol.ExtraConfigBuilder]=X;return U}var TZ=($,Z,X)=>{return N7$($,Z,X)};class Pb{constructor($,Z){this.name=$,this.value=Z}static[L]="SQLiteCheckBuilder";brand;build($){return new Fb($,this)}}class Fb{constructor($,Z){this.table=$,this.name=Z.name,this.value=Z.value}static[L]="SQLiteCheck";name;value}function Tb($,Z){return new Pb($,Z)}class rN{constructor($,Z){this.name=$,this.unique=Z}static[L]="SQLiteIndexBuilderOn";on(...$){return new Mb(this.name,$,this.unique)}}class Mb{static[L]="SQLiteIndexBuilder";config;constructor($,Z,X){this.config={name:$,columns:Z,unique:X,where:void 0}}where($){return this.config.where=$,this}build($){return new zb(this.config,$)}}class zb{static[L]="SQLiteIndex";config;constructor($,Z){this.config={...$,table:Z}}}function ZZ($){return new rN($,!1)}function WP$($){return new rN($,!0)}function j9(...$){if($[0].columns)return new lN($[0].columns,$[0].name);return new lN($)}class lN{static[L]="SQLitePrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new Rb($,this.columns,this.name)}}class Rb{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[$Z.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function I6($){if(v($,$Z))return[`${$[e.Symbol.BaseName]}`];if(v($,k0))return $._.usedTables??[];if(v($,U$))return $.usedTables??[];return[]}class AA extends X8{constructor($,Z,X,J){super();this.table=$,this.session=Z,this.dialect=X,this.config={table:$,withList:J}}static[L]="SQLiteDelete";config;where($){return this.config.where=$,this}orderBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.table[e.Symbol.Columns],new e0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),X=Array.isArray(Z)?Z:[Z];this.config.orderBy=X}else{let Z=$;this.config.orderBy=Z}return this}limit($){return this.config.limit=$,this}returning($=this.table[$Z.Symbol.Columns]){return this.config.returning=A6($),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:$,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare($=!0){return this.session[$?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:I6(this.config.table)})}prepare(){return this._prepare(!1)}run=($)=>{return this._prepare().run($)};all=($)=>{return this._prepare().all($)};get=($)=>{return this._prepare().get($)};values=($)=>{return this._prepare().values($)};async execute($){return this._prepare().execute($)}$dynamic(){return this}}function _7$($){return($.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((X)=>X.toLowerCase()).join("_")}function P7$($){return($.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((X,J,G)=>{let Y=G===0?J.toLowerCase():`${J[0].toUpperCase()}${J.slice(1)}`;return X+Y},"")}function F7$($){return $}class iN{static[L]="CasingCache";cache={};cachedTables={};convert;constructor($){this.convert=$==="snake_case"?_7$:$==="camelCase"?P7$:F7$}getColumnCasing($){if(!$.keyAsName)return $.name;let Z=$.table[e.Symbol.Schema]??"public",X=$.table[e.Symbol.OriginalName],J=`${Z}.${X}.${$.name}`;if(!this.cache[J])this.cacheTable($.table);return this.cache[J]}cacheTable($){let Z=$[e.Symbol.Schema]??"public",X=$[e.Symbol.OriginalName],J=`${Z}.${X}`;if(!this.cachedTables[J]){for(let G of Object.values($[e.Symbol.Columns])){let Y=`${J}.${G.name}`;this.cache[Y]=this.convert(G.name)}this.cachedTables[J]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class nX extends Error{static[L]="DrizzleError";constructor({message:$,cause:Z}){super($);this.name="DrizzleError",this.cause=Z}}class L4 extends Error{constructor($,Z,X){super(`Failed query: ${$}
33
- params: ${Z}`);if(this.query=$,this.params=Z,this.cause=X,Error.captureStackTrace(this,L4),X)this.cause=X}}class sN extends nX{static[L]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function wb($){return N`count(${$||N.raw("*")})`.mapWith(Number)}class $7 extends U6{static[L]="SQLiteViewBase"}class rX{static[L]="SQLiteDialect";casing;constructor($){this.casing=new iN($?.casing)}escapeName($){return`"${$.replace(/"/g,'""')}"`}escapeParam($){return"?"}escapeString($){return`'${$.replace(/'/g,"''")}'`}buildWithCTE($){if(!$?.length)return;let Z=[N`with `];for(let[X,J]of $.entries())if(Z.push(N`${N.identifier(J._.alias)} as (${J._.sql})`),X<$.length-1)Z.push(N`, `);return Z.push(N` `),N.join(Z)}buildDeleteQuery({table:$,where:Z,returning:X,withList:J,limit:G,orderBy:Y}){let W=this.buildWithCTE(J),D=X?N` returning ${this.buildSelection(X,{isSingleTable:!0})}`:void 0,U=Z?N` where ${Z}`:void 0,A=this.buildOrderBy(Y),Q=this.buildLimit(G);return N`${W}delete from ${$}${U}${D}${A}${Q}`}buildUpdateSet($,Z){let X=$[e.Symbol.Columns],J=Object.keys(X).filter((Y)=>Z[Y]!==void 0||X[Y]?.onUpdateFn!==void 0),G=J.length;return N.join(J.flatMap((Y,W)=>{let D=X[Y],U=D.onUpdateFn?.(),A=Z[Y]??(v(U,U$)?U:N.param(U,D)),Q=N`${N.identifier(this.casing.getColumnCasing(D))} = ${A}`;if(W<G-1)return[Q,N.raw(", ")];return[Q]}))}buildUpdateQuery({table:$,set:Z,where:X,returning:J,withList:G,joins:Y,from:W,limit:D,orderBy:U}){let A=this.buildWithCTE(G),Q=this.buildUpdateSet($,Z),O=W&&N.join([N.raw(" from "),this.buildFromTable(W)]),P=this.buildJoins(Y),_=J?N` returning ${this.buildSelection(J,{isSingleTable:!0})}`:void 0,M=X?N` where ${X}`:void 0,z=this.buildOrderBy(U),x=this.buildLimit(D);return N`${A}update ${$} set ${Q}${O}${P}${M}${_}${z}${x}`}buildSelection($,{isSingleTable:Z=!1}={}){let X=$.length,J=$.flatMap(({field:G},Y)=>{let W=[];if(v(G,U$.Aliased)&&G.isSelectionField)W.push(N.identifier(G.fieldAlias));else if(v(G,U$.Aliased)||v(G,U$)){let D=v(G,U$.Aliased)?G.sql:G;if(Z)W.push(new U$(D.queryChunks.map((U)=>{if(v(U,G0))return N.identifier(this.casing.getColumnCasing(U));return U})));else W.push(D);if(v(G,U$.Aliased))W.push(N` as ${N.identifier(G.fieldAlias)}`)}else if(v(G,G0)){let D=G.table[e.Symbol.Name];if(G.columnType==="SQLiteNumericBigInt")if(Z)W.push(N`cast(${N.identifier(this.casing.getColumnCasing(G))} as text)`);else W.push(N`cast(${N.identifier(D)}.${N.identifier(this.casing.getColumnCasing(G))} as text)`);else if(Z)W.push(N.identifier(this.casing.getColumnCasing(G)));else W.push(N`${N.identifier(D)}.${N.identifier(this.casing.getColumnCasing(G))}`)}else if(v(G,k0)){let D=Object.entries(G._.selectedFields);if(D.length===1){let U=D[0][1],A=v(U,U$)?U.decoder:v(U,G0)?{mapFromDriverValue:(Q)=>U.mapFromDriverValue(Q)}:U.sql.decoder;if(A)G._.sql.decoder=A}W.push(G)}if(Y<X-1)W.push(N`, `);return W});return N.join(J)}buildJoins($){if(!$||$.length===0)return;let Z=[];if($)for(let[X,J]of $.entries()){if(X===0)Z.push(N` `);let G=J.table,Y=J.on?N` on ${J.on}`:void 0;if(v(G,$Z)){let W=G[$Z.Symbol.Name],D=G[$Z.Symbol.Schema],U=G[$Z.Symbol.OriginalName],A=W===U?void 0:J.alias;Z.push(N`${N.raw(J.joinType)} join ${D?N`${N.identifier(D)}.`:void 0}${N.identifier(U)}${A&&N` ${N.identifier(A)}`}${Y}`)}else Z.push(N`${N.raw(J.joinType)} join ${G}${Y}`);if(X<$.length-1)Z.push(N` `)}return N.join(Z)}buildLimit($){return typeof $==="object"||typeof $==="number"&&$>=0?N` limit ${$}`:void 0}buildOrderBy($){let Z=[];if($){for(let[X,J]of $.entries())if(Z.push(J),X<$.length-1)Z.push(N`, `)}return Z.length>0?N` order by ${N.join(Z)}`:void 0}buildFromTable($){if(v($,e)&&$[e.Symbol.IsAlias])return N`${N`${N.identifier($[e.Symbol.Schema]??"")}.`.if($[e.Symbol.Schema])}${N.identifier($[e.Symbol.OriginalName])} ${N.identifier($[e.Symbol.Name])}`;return $}buildSelectQuery({withList:$,fields:Z,fieldsFlat:X,where:J,having:G,table:Y,joins:W,orderBy:D,groupBy:U,limit:A,offset:Q,distinct:O,setOperators:P}){let _=X??A6(Z);for(let r of _)if(v(r.field,G0)&&q9(r.field.table)!==(v(Y,k0)?Y._.alias:v(Y,$7)?Y[I0].name:v(Y,U$)?void 0:q9(Y))&&!((Q$)=>W?.some(({alias:T$})=>T$===(Q$[e.Symbol.IsAlias]?q9(Q$):Q$[e.Symbol.BaseName])))(r.field.table)){let Q$=q9(r.field.table);throw Error(`Your "${r.path.join("->")}" field references a column "${Q$}"."${r.field.name}", but the table "${Q$}" is not part of the query! Did you forget to join it?`)}let M=!W||W.length===0,z=this.buildWithCTE($),x=O?N` distinct`:void 0,K$=this.buildSelection(_,{isSingleTable:M}),l=this.buildFromTable(Y),J$=this.buildJoins(W),B$=J?N` where ${J}`:void 0,h$=G?N` having ${G}`:void 0,A$=[];if(U){for(let[r,Q$]of U.entries())if(A$.push(Q$),r<U.length-1)A$.push(N`, `)}let m$=A$.length>0?N` group by ${N.join(A$)}`:void 0,v$=this.buildOrderBy(D),A0=this.buildLimit(A),i=Q?N` offset ${Q}`:void 0,$$=N`${z}select${x} ${K$} from ${l}${J$}${B$}${m$}${h$}${v$}${A0}${i}`;if(P.length>0)return this.buildSetOperations($$,P);return $$}buildSetOperations($,Z){let[X,...J]=Z;if(!X)throw Error("Cannot pass undefined values to any set operator");if(J.length===0)return this.buildSetOperationQuery({leftSelect:$,setOperator:X});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:$,setOperator:X}),J)}buildSetOperationQuery({leftSelect:$,setOperator:{type:Z,isAll:X,rightSelect:J,limit:G,orderBy:Y,offset:W}}){let D=N`${$.getSQL()} `,U=N`${J.getSQL()}`,A;if(Y&&Y.length>0){let _=[];for(let M of Y)if(v(M,m0))_.push(N.identifier(M.name));else if(v(M,U$)){for(let z=0;z<M.queryChunks.length;z++){let x=M.queryChunks[z];if(v(x,m0))M.queryChunks[z]=N.identifier(this.casing.getColumnCasing(x))}_.push(N`${M}`)}else _.push(N`${M}`);A=N` order by ${N.join(_,N`, `)}`}let Q=typeof G==="object"||typeof G==="number"&&G>=0?N` limit ${G}`:void 0,O=N.raw(`${Z} ${X?"all ":""}`),P=W?N` offset ${W}`:void 0;return N`${D}${O}${U}${A}${Q}${P}`}buildInsertQuery({table:$,values:Z,onConflict:X,returning:J,withList:G,select:Y}){let W=[],D=$[e.Symbol.Columns],U=Object.entries(D).filter(([M,z])=>!z.shouldDisableInsert()),A=U.map(([,M])=>N.identifier(this.casing.getColumnCasing(M)));if(Y){let M=Z;if(v(M,U$))W.push(M);else W.push(M.getSQL())}else{let M=Z;W.push(N.raw("values "));for(let[z,x]of M.entries()){let K$=[];for(let[l,J$]of U){let B$=x[l];if(B$===void 0||v(B$,g8)&&B$.value===void 0){let h$;if(J$.default!==null&&J$.default!==void 0)h$=v(J$.default,U$)?J$.default:N.param(J$.default,J$);else if(J$.defaultFn!==void 0){let A$=J$.defaultFn();h$=v(A$,U$)?A$:N.param(A$,J$)}else if(!J$.default&&J$.onUpdateFn!==void 0){let A$=J$.onUpdateFn();h$=v(A$,U$)?A$:N.param(A$,J$)}else h$=N`null`;K$.push(h$)}else K$.push(B$)}if(W.push(K$),z<M.length-1)W.push(N`, `)}}let Q=this.buildWithCTE(G),O=N.join(W),P=J?N` returning ${this.buildSelection(J,{isSingleTable:!0})}`:void 0,_=X?.length?N.join(X):void 0;return N`${Q}insert into ${$} ${A} ${O}${_}${P}`}sqlToQuery($,Z){return $.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:Z})}buildRelationalQuery({fullSchema:$,schema:Z,tableNamesMap:X,table:J,tableConfig:G,queryConfig:Y,tableAlias:W,nestedQueryRelation:D,joinOn:U}){let A=[],Q,O,P=[],_,M=[];if(Y===!0)A=Object.entries(G.columns).map(([K$,l])=>({dbKey:l.name,tsKey:K$,field:T1(l,W),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let x=Object.fromEntries(Object.entries(G.columns).map(([A$,m$])=>[A$,T1(m$,W)]));if(Y.where){let A$=typeof Y.where==="function"?Y.where(x,yy()):Y.where;_=A$&&nG(A$,W)}let K$=[],l=[];if(Y.columns){let A$=!1;for(let[m$,v$]of Object.entries(Y.columns)){if(v$===void 0)continue;if(m$ in G.columns){if(!A$&&v$===!0)A$=!0;l.push(m$)}}if(l.length>0)l=A$?l.filter((m$)=>Y.columns?.[m$]===!0):Object.keys(G.columns).filter((m$)=>!l.includes(m$))}else l=Object.keys(G.columns);for(let A$ of l){let m$=G.columns[A$];K$.push({tsKey:A$,value:m$})}let J$=[];if(Y.with)J$=Object.entries(Y.with).filter((A$)=>!!A$[1]).map(([A$,m$])=>({tsKey:A$,queryConfig:m$,relation:G.relations[A$]}));let B$;if(Y.extras){B$=typeof Y.extras==="function"?Y.extras(x,{sql:N}):Y.extras;for(let[A$,m$]of Object.entries(B$))K$.push({tsKey:A$,value:uN(m$,W)})}for(let{tsKey:A$,value:m$}of K$)A.push({dbKey:v(m$,U$.Aliased)?m$.fieldAlias:G.columns[A$].name,tsKey:A$,field:v(m$,G0)?T1(m$,W):m$,relationTableTsKey:void 0,isJson:!1,selection:[]});let h$=typeof Y.orderBy==="function"?Y.orderBy(x,by()):Y.orderBy??[];if(!Array.isArray(h$))h$=[h$];P=h$.map((A$)=>{if(v(A$,G0))return T1(A$,W);return nG(A$,W)}),Q=Y.limit,O=Y.offset;for(let{tsKey:A$,queryConfig:m$,relation:v$}of J$){let A0=hy(Z,X,v$),i=e5(v$.referencedTable),$$=X[i],r=`${W}_${A$}`,Q$=F$(...A0.fields.map((Z$,Q0)=>c(T1(A0.references[Q0],r),T1(Z$,W)))),T$=this.buildRelationalQuery({fullSchema:$,schema:Z,tableNamesMap:X,table:$[$$],tableConfig:Z[$$],queryConfig:v(v$,S9)?m$===!0?{limit:1}:{...m$,limit:1}:m$,tableAlias:r,joinOn:Q$,nestedQueryRelation:v$}),q$=N`(${T$.sql})`.as(A$);A.push({dbKey:A$,tsKey:A$,field:q$,relationTableTsKey:$$,isJson:!0,selection:T$.selection})}}if(A.length===0)throw new nX({message:`No fields selected for table "${G.tsName}" ("${W}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});let z;if(_=F$(U,_),D){let x=N`json_array(${N.join(A.map(({field:J$})=>v(J$,m0)?N.identifier(this.casing.getColumnCasing(J$)):v(J$,U$.Aliased)?J$.sql:J$),N`, `)})`;if(v(D,uG))x=N`coalesce(json_group_array(${x}), json_array())`;let K$=[{dbKey:"data",tsKey:"data",field:x.as("data"),isJson:!0,relationTableTsKey:G.tsName,selection:A}];if(Q!==void 0||O!==void 0||P.length>0)z=this.buildSelectQuery({table:WA(J,W),fields:{},fieldsFlat:[{path:[],field:N.raw("*")}],where:_,limit:Q,offset:O,orderBy:P,setOperators:[]}),_=void 0,Q=void 0,O=void 0,P=void 0;else z=WA(J,W);z=this.buildSelectQuery({table:v(z,$Z)?z:new k0(z,{},W),fields:{},fieldsFlat:K$.map(({field:J$})=>({path:[],field:v(J$,G0)?T1(J$,W):J$})),joins:M,where:_,limit:Q,offset:O,orderBy:P,setOperators:[]})}else z=this.buildSelectQuery({table:WA(J,W),fields:{},fieldsFlat:A.map(({field:x})=>({path:[],field:v(x,G0)?T1(x,W):x})),joins:M,where:_,limit:Q,offset:O,orderBy:P,setOperators:[]});return{tableTsKey:G.tsName,sql:z,selection:A}}}class aN extends rX{static[L]="SQLiteSyncDialect";migrate($,Z,X){let J=X===void 0?"__drizzle_migrations":typeof X==="string"?"__drizzle_migrations":X.migrationsTable??"__drizzle_migrations",G=N`
34
- CREATE TABLE IF NOT EXISTS ${N.identifier(J)} (
32
+ ${A}`,J}},Y=$.spanOptions&&"captureStackTrace"in $.spanOptions?$.spanOptions:{captureStackTrace:G,...$.spanOptions};return yv(Z,$.spanName,Y)}var t6$=XX,e6$=()=>($)=>$,$1$=()=>($)=>$,Z1$=()=>($)=>$;var B1={};M8(B1,{unsafeSet:()=>dU,unsafeHas:()=>uU,unsafeGet:()=>pv,size:()=>Q1$,set:()=>D1$,runtimePromise:()=>dv,runtime:()=>FN,run:()=>V1$,remove:()=>A1$,makeRuntimePromise:()=>Y1$,makeRuntime:()=>G1$,make:()=>PN,join:()=>O1$,isFiberMap:()=>_N,has:()=>U1$,get:()=>H1$,clear:()=>K1$,awaitEmpty:()=>B1$,TypeId:()=>pU});var IG=qX;var gv=E6;var hv=UB;var pU=Symbol.for("effect/FiberMap"),_N=($)=>u($,pU),X1$={[pU]:pU,[Symbol.iterator](){if(this.state._tag==="Closed")return UW();return this.state.backing[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},J1$=($,Z)=>{let X=Object.create(X1$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},PN=()=>EG($8(mU(),($)=>J1$(U4(),$)),($)=>T4((Z)=>{let X=$.state;if(X._tag==="Closed")return M4;return $.state={_tag:"Closed"},YG(RT(X.backing,([,J])=>J),V8(Z.id(),fX)).pipe(xG($.deferred))})),G1$=()=>s5(PN(),($)=>FN($)()),Y1$=()=>s5(PN(),($)=>dv($)()),cv=-1,fX=oW(cv,0),W1$=e2(void 0,{emptyCase:JZ,failCase:JZ,dieCase:JZ,interruptCase:($,Z)=>f7(u4(Z),cv),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),dU=V(($)=>_N($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(V8(J?.interruptAs??d0,fX));return}let G=N0($.state.backing,Z);if(G._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(V8(J?.interruptAs??d0,fX));return}else if(G.value===X)return;G.value.unsafeInterruptAsFork(V8(J?.interruptAs??d0,fX))}hZ($.state.backing,Z,X),X.addObserver((Y)=>{if($.state._tag==="Closed")return;let W=N0($.state.backing,Z);if(c$(W)&&X===W.value)A4($.state.backing,Z);if(z2(Y)&&(J?.propagateInterruption===!0?!W1$(Y.cause):!a2(Y.cause)))fU($.deferred,Y)})}),D1$=V(($)=>_N($[0]),($,Z,X,J)=>mX((G)=>O1(()=>dU($,Z,X,{...J,interruptAs:G})))),pv=V(2,($,Z)=>$.state._tag==="Closed"?S():N0($.state.backing,Z)),H1$=V(2,($,Z)=>QN(()=>pv($,Z))),uU=V(2,($,Z)=>$.state._tag==="Closed"?!1:k8($.state.backing,Z)),U1$=V(2,($,Z)=>O1(()=>uU($,Z))),A1$=V(2,($,Z)=>T4((X)=>{if($.state._tag==="Closed")return M4;let J=N0($.state.backing,Z);if(J._tag==="None")return M4;return M9(J.value,V8(X.id(),fX))})),K1$=($)=>T4((Z)=>{if($.state._tag==="Closed")return M4;return qG($.state.backing,([,X])=>M9(X,V8(Z.id(),fX)))}),NN=function(){let $=void 0;return()=>{if($===void 0)$=kG(hX);return $}}(),V1$=function(){let $=arguments[0];if(LG(arguments[2]))return fv($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>fv($,Z,J,X)},fv=($,Z,X,J)=>T4((G)=>{if($.state._tag==="Closed")return hX;else if(J?.onlyIfMissing===!0&&uU($,Z))return O1(NN);let Y=hv({context:G.currentContext,fiberRefs:G.getFiberRefs(),runtimeFlags:gv.runtimeFlags}),W=IG(Y)(X);return dU($,Z,W,{...J,interruptAs:G.id()}),KN(W)}),FN=($)=>()=>$8(jG(),(Z)=>{let X=IG(Z);return(J,G,Y)=>{if($.state._tag==="Closed")return NN();else if(Y?.onlyIfMissing===!0&&uU($,J))return NN();let W=X(G,Y);return dU($,J,W,Y),W}}),dv=($)=>()=>$8(FN($)(),(Z)=>(X,J,G)=>new Promise((Y,W)=>Z(X,J,G).addObserver((D)=>{if(K9(D))Y(D.value);else W(t2(D.cause))}))),Q1$=($)=>O1(()=>$.state._tag==="Closed"?0:g5($.state.backing)),O1$=($)=>F4($.deferred),B1$=($)=>SG({while:()=>$.state._tag==="Open"&&g5($.state.backing)>0,body:()=>GG(HW($)[1]),step:MZ});var a5={};M8(a5,{unsafeAdd:()=>nU,size:()=>w1$,runtimePromise:()=>rv,runtime:()=>RN,run:()=>R1$,makeRuntimePromise:()=>F1$,makeRuntime:()=>P1$,make:()=>MN,join:()=>C1$,isFiberSet:()=>TN,clear:()=>z1$,awaitEmpty:()=>L1$,add:()=>M1$,TypeId:()=>oU});var oU=Symbol.for("effect/FiberSet"),TN=($)=>u($,oU),N1$={[oU]:oU,[Symbol.iterator](){if(this.state._tag==="Closed")return UW();return this.state.backing[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[w$](){return this.toJSON()},pipe(){return n(this,arguments)}},_1$=($,Z)=>{let X=Object.create(N1$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},MN=()=>EG($8(mU(),($)=>_1$(new Set,$)),($)=>T4((Z)=>{let X=$.state;if(X._tag==="Closed")return M4;$.state={_tag:"Closed"};let J=X.backing;return YG(J,V8(Z.id(),zN)).pipe(xG($.deferred))})),P1$=()=>s5(MN(),($)=>RN($)()),F1$=()=>s5(MN(),($)=>rv($)()),ov=-1,zN=oW(ov,0),T1$=e2(void 0,{emptyCase:JZ,failCase:JZ,dieCase:JZ,interruptCase:($,Z)=>f7(u4(Z),ov),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),nU=V(($)=>TN($[0]),($,Z,X)=>{if($.state._tag==="Closed"){Z.unsafeInterruptAsFork(V8(X?.interruptAs??d0,zN));return}else if($.state.backing.has(Z))return;$.state.backing.add(Z),Z.addObserver((J)=>{if($.state._tag==="Closed")return;if($.state.backing.delete(Z),z2(J)&&(X?.propagateInterruption===!0?!T1$(J.cause):!a2(J.cause)))fU($.deferred,J)})}),M1$=V(($)=>TN($[0]),($,Z,X)=>mX((J)=>O1(()=>nU($,Z,{...X,interruptAs:J})))),z1$=($)=>T4((Z)=>{if($.state._tag==="Closed")return M4;return qG($.state.backing,(X)=>M9(X,V8(Z.id(),zN)))}),nv=function(){let $=void 0;return()=>{if($===void 0)$=kG(hX);return $}}(),R1$=function(){let $=arguments[0];if(!LG(arguments[1])){let Z=arguments[1];return(X)=>uv($,X,Z)}return uv($,arguments[1],arguments[2])},uv=($,Z,X)=>mX((J)=>{if($.state._tag==="Closed")return O1(nv);return BN(ON(Z),(G)=>nU($,G,{...X,interruptAs:J}))}),RN=($)=>()=>$8(jG(),(Z)=>{let X=IG(Z);return(J,G)=>{if($.state._tag==="Closed")return nv();let Y=X(J,G);return nU($,Y),Y}}),rv=($)=>()=>$8(RN($)(),(Z)=>(X,J)=>new Promise((G,Y)=>Z(X,J).addObserver((W)=>{if(K9(W))G(W.value);else Y(t2(W.cause))}))),w1$=($)=>O1(()=>$.state._tag==="Closed"?0:$.state.backing.size),C1$=($)=>F4($.deferred),L1$=($)=>SG({while:()=>$.state._tag==="Open"&&$.state.backing.size>0,body:()=>GG(HW($)),step:MZ});var vG={};M8(vG,{zipWith:()=>v4$,withSpan:()=>a4$,withParentSpan:()=>t4$,updateService:()=>Z9$,unwrapScoped:()=>b4$,unwrapEffect:()=>y4$,toRuntimeWithMemoMap:()=>k4$,toRuntime:()=>j4$,tapErrorCause:()=>S4$,tapError:()=>x4$,tap:()=>E4$,syncContext:()=>q4$,sync:()=>L4$,suspend:()=>C4$,succeedContext:()=>w4$,succeed:()=>R4$,span:()=>o4$,setVersionMismatchErrorLogLevel:()=>s4$,setUnhandledErrorLogLevel:()=>i4$,setTracerTiming:()=>l4$,setTracerEnabled:()=>r4$,setTracer:()=>n4$,setScheduler:()=>u4$,setRequestCaching:()=>p4$,setRequestCache:()=>d4$,setRequestBatching:()=>c4$,setRandom:()=>f4$,setConfigProvider:()=>h4$,setClock:()=>g4$,service:()=>z4$,scopedDiscard:()=>j6,scopedContext:()=>M4$,scoped:()=>T4$,scope:()=>F4$,retry:()=>P4$,provideMerge:()=>I4$,provide:()=>$y,project:()=>V4$,passthrough:()=>K4$,parentSpan:()=>m4$,orElse:()=>A4$,orDie:()=>U4$,mock:()=>$4$,mergeAll:()=>H4$,merge:()=>D4$,memoize:()=>W4$,matchCause:()=>Y4$,match:()=>G4$,mapError:()=>J4$,map:()=>ev,makeMemoMap:()=>e4$,locallyWith:()=>B4$,locallyScoped:()=>N4$,locallyEffect:()=>Q4$,locally:()=>O4$,launch:()=>X4$,isLayer:()=>j1$,isFresh:()=>k1$,function:()=>Z4$,fresh:()=>e1$,flatten:()=>t1$,flatMap:()=>a1$,fiberRefLocallyScopedWith:()=>_4$,failSync:()=>l1$,failCauseSync:()=>s1$,failCause:()=>i1$,fail:()=>r1$,extendScope:()=>n1$,ensureSuccessType:()=>X9$,ensureRequirementsType:()=>G9$,ensureErrorType:()=>J9$,empty:()=>o1$,effectDiscard:()=>d1$,effectContext:()=>u1$,effect:()=>p1$,discard:()=>c1$,dieSync:()=>f1$,die:()=>m1$,context:()=>tv,catchAllCause:()=>h1$,catchAll:()=>g1$,buildWithScope:()=>b1$,buildWithMemoMap:()=>$9$,build:()=>y1$,annotateSpans:()=>v1$,annotateLogs:()=>I1$,MemoMapTypeId:()=>x1$,LayerTypeId:()=>E1$,CurrentMemoMap:()=>S1$});var lv=($)=>u5(nH($)),iv=($)=>_4(U8(gZ,$)),sv=($,Z)=>{return Z=j8(Z),w9(gZ,Z?.onEnd?IZ(J6($,Z),(X)=>D1((J)=>Z.onEnd(X,J))):J6($,Z))},av=($)=>u5(sH($));var E1$=UU,x1$=DG,S1$=KB,j1$=UG,k1$=VB,I1$=Qk,v1$=Ok,y1$=bj,b1$=z9,g1$=d5,h1$=BB,tv=KU,m1$=NB,f1$=hj,c1$=mj,p1$=R9,d1$=pj,u1$=fZ,o1$=Yk,n1$=fj,r1$=_B,l1$=PB,i1$=AG,s1$=VU,a1$=V1,t1$=cj,e1$=FB,$4$=lj,Z4$=nj;var X4$=rj,ev=BU,J4$=ij,G4$=_U,Y4$=NU,W4$=sj,D4$=TB,H4$=PU,U4$=aj,A4$=tj,K4$=ej,V4$=$k,Q4$=QU,O4$=dj,B4$=OU,N4$=uj,_4$=oj,P4$=Zk,F4$=Jk,T4$=w9,j6=u5,M4$=KG,z4$=Gk,R4$=xX,w4$=_4,C4$=VG,L4$=FU,q4$=Wk,E4$=Dk,x4$=Hk,S4$=Uk,j4$=Ak,k4$=Kk,$y=o5,I4$=Vk,v4$=MB,y4$=zB,b4$=HG,g4$=($)=>j6(LZ(z0,e$(tZ,$))),h4$=lv,m4$=iv,f4$=($)=>j6(LZ(z0,e$(J4,$))),c4$=($)=>j6(mZ(K2,$)),p4$=($)=>j6(mZ(CG,$)),d4$=($)=>j6(p$($)?T($,(Z)=>mZ(gX,Z)):mZ(gX,$)),u4$=($)=>j6(mZ($4,$)),o4$=sv,n4$=av,r4$=($)=>j6(mZ(Q2,$)),l4$=($)=>j6(mZ(W9,$)),i4$=($)=>j6(mZ(V2,$)),s4$=($)=>j6(mZ(ED,$)),a4$=Bk,t4$=HU,e4$=OB,$9$=AU,Z9$=V(3,($,Z,X)=>$y($,ev(tv(),(J)=>e$(J,Z,X(n8(J,Z)))))),X9$=()=>($)=>$,J9$=()=>($)=>$,G9$=()=>($)=>$;var N1={};M8(N1,{zipWith:()=>s5$,zipRight:()=>i5$,zipLeft:()=>l5$,windowed:()=>r5$,whileOutputEffect:()=>n5$,whileOutput:()=>o5$,whileInputEffect:()=>u5$,whileInput:()=>d5$,upTo:()=>p5$,untilOutputEffect:()=>c5$,untilOutput:()=>f5$,untilInputEffect:()=>m5$,untilInput:()=>h5$,unionWith:()=>g5$,union:()=>b5$,unfold:()=>y5$,tapOutput:()=>v5$,tapInput:()=>I5$,sync:()=>k5$,succeed:()=>j5$,stop:()=>S5$,spaced:()=>x5$,secondOfMinute:()=>S9$,run:()=>E5$,resetWhen:()=>q5$,resetAfter:()=>L5$,repetitions:()=>C5$,repeatForever:()=>w5$,reduceEffect:()=>R5$,reduce:()=>z5$,recurs:()=>M5$,recurWhileEffect:()=>T5$,recurWhile:()=>F5$,recurUpTo:()=>P5$,recurUntilOption:()=>_5$,recurUntilEffect:()=>N5$,recurUntil:()=>B5$,provideService:()=>O5$,provideContext:()=>Q5$,passthrough:()=>Z5$,once:()=>V5$,onDecision:()=>K5$,modifyDelayEffect:()=>A5$,modifyDelay:()=>U5$,minuteOfHour:()=>j9$,mapInputEffect:()=>L9$,mapInputContext:()=>q9$,mapInput:()=>C9$,mapEffect:()=>H5$,mapBothEffect:()=>f9$,mapBoth:()=>m9$,map:()=>D5$,makeWithState:()=>D9$,linear:()=>W5$,jitteredWith:()=>Y5$,jittered:()=>G5$,isSchedule:()=>H9$,intersectWith:()=>J5$,intersect:()=>X5$,identity:()=>$5$,hourOfDay:()=>k9$,fromFunction:()=>e9$,fromDelays:()=>t9$,fromDelay:()=>a9$,forever:()=>s9$,fixed:()=>i9$,fibonacci:()=>l9$,exponential:()=>r9$,ensuring:()=>n9$,elapsed:()=>o9$,eitherWith:()=>u9$,either:()=>d9$,duration:()=>p9$,driver:()=>c9$,delays:()=>h9$,delayedSchedule:()=>g9$,delayedEffect:()=>b9$,delayed:()=>y9$,dayOfWeek:()=>v9$,dayOfMonth:()=>I9$,cron:()=>x9$,count:()=>E9$,compose:()=>w9$,collectWhileEffect:()=>R9$,collectWhile:()=>z9$,collectUntilEffect:()=>M9$,collectUntil:()=>T9$,collectAllOutputs:()=>F9$,collectAllInputs:()=>P9$,checkEffect:()=>_9$,check:()=>N9$,bothInOut:()=>B9$,asVoid:()=>O9$,as:()=>Q9$,andThenEither:()=>V9$,andThen:()=>K9$,addDelayEffect:()=>A9$,addDelay:()=>U9$,ScheduleTypeId:()=>Y9$,ScheduleDriverTypeId:()=>W9$,CurrentIterationMetadata:()=>a5$});var Y9$=LU,W9$=kB,D9$=r$,H9$=qU,U9$=EU,A9$=IB,K9$=lk,V9$=vB,Q9$=ik,O9$=xU,B9$=sk,N9$=vX,_9$=l5,P9$=ak,F9$=i5,T9$=tk,M9$=ek,z9$=$I,R9$=ZI,w9$=XI,C9$=yB,L9$=SU,q9$=JI,E9$=Xv,x9$=GI,S9$=II,j9$=RI,k9$=TI,I9$=YI,v9$=WI,y9$=DI,b9$=jU,g9$=PG,h9$=HI,m9$=UI,f9$=AI,c9$=FG,p9$=bB,d9$=KI,u9$=VI,o9$=gU,n9$=QI,r9$=OI,l9$=BI,i9$=NI,s9$=S6,a9$=_I,t9$=PI,e9$=FI,$5$=P4,Z5$=mB,X5$=C9,J5$=gB,G5$=MI,Y5$=hB,W5$=zI,D5$=_Z,H5$=kU,U5$=wI,A5$=TG,K5$=CI,V5$=hU,Q5$=LI,O5$=qI,B5$=fB,N5$=cB,_5$=EI,P5$=pB,F5$=dB,T5$=uB,M5$=yX,z5$=IU,R5$=oB,w5$=S6,C5$=xI,L5$=SI,q5$=nB,E5$=jI,x5$=vI,S5$=Jv,j5$=yI,k5$=bI,I5$=gI,v5$=hI,y5$=MG,b5$=rB,g5$=vU,h5$=lB,m5$=zG,f5$=iB,c5$=mI,p5$=fI,d5$=sB,u5$=RG,o5$=yU,n5$=cI,r5$=pI,l5$=aB,i5$=dI,s5$=uI,a5$=r5;function DB$($,Z){return vG.scoped($,t.acquireRelease(t.sync(Z),(X)=>t.sync(()=>{X.close()})).pipe(t.map((X)=>X.service)))}var yG=H.record(H.string(),H.unknown());var t5$=H.object({id:H.string(),sessionId:H.string(),interfaceType:H.string(),channelId:H.string(),personId:H.string().optional(),channelName:H.string().optional(),startedAt:H.string(),lastActiveAt:H.string(),createdAt:H.string(),updatedAt:H.string(),metadata:yG}),e5$=H.object({id:H.string(),conversationId:H.string(),role:cX,content:H.string(),timestamp:H.string(),metadata:yG});var wN=H.object({name:H.string(),role:H.string(),purpose:H.string(),values:H.array(H.string())}),CN=H.object({name:H.string(),organization:H.string().optional(),description:H.string().optional(),avatar:H.string().optional(),website:H.string().optional(),email:H.string().optional(),socialLinks:H.array(H.object({platform:H.enum(["github","instagram","linkedin","email","website"]),url:H.string(),label:H.string().optional()})).optional()});var pX=$7$(Z7$(),1);function z4($,Z){let X=Object.fromEntries(Object.entries(Z).filter(([,J])=>J!==void 0&&J!==null));if(Object.keys(X).length===0)return $;return pX.default.stringify($,X)}function LN($){if($ instanceof Date)return $.toISOString();if(Array.isArray($))return $.map(LN);if($!==null&&typeof $==="object"){let Z={};for(let[X,J]of Object.entries($))Z[X]=LN(J);return Z}return $}function cZ($,Z){let{content:X,data:J}=pX.default($),G=LN(J);return{content:X.trim(),metadata:Z.parse(G)}}function bG($){if(Object.keys($).length===0)return"";let X=pX.default.stringify("",$).match(/^---\n[\s\S]*?\n---/);return X?X[0]:""}function Zy($){if(typeof $!=="object"||$===null||Array.isArray($))return $;let{visibility:Z,...X}=$;return X}var X7$=H.object({visibility:H.enum(["public","shared","restricted","private"]).optional().transform(($)=>{if($===void 0)return;return $==="private"?"restricted":$})});function rU($){let Z=pX.default($);return X7$.parse(Z.data).visibility}function Xy($){let X=$.match(/^---\r?\n[\s\S]*?\r?\n---/)?.[0].match(/^visibility:/m);return X!==null&&X!==void 0}function t5($,Z){if(Z==="public"&&!Xy($))return $;let X=pX.default($),J=Object.fromEntries(Object.entries(X.data).filter(([G])=>G!=="visibility"));if(Z!=="public")J.visibility=Z;return z4(X.content.trim(),J)}var J7$=H.looseObject({issues:H.array(H.looseObject({message:H.string()}))});class R4 extends Error{entityType;originalError;constructor($,Z){super(`Invalid entity data for ${$}: ${d$(Z)}`);this.name="EntityValidationError",this.entityType=$,this.originalError=Z}}function lU($){return J7$.safeParse($).success}function Jy($){return $ instanceof R4||lU($)}function iU($,Z){if(Z instanceof R4)return Z;return lU(Z)?new R4($,Z):void 0}var G7$={generateBodyTemplate:()=>""},qN=H.record(H.string(),H.unknown());function Gy($){return{parse:(Z)=>$.parse(Zy(Z))}}class _1{entityType;purpose;schema;frontmatterSchema;isSingleton;hasBody;supportsCoverImage;publishedStatuses;fmSchema;bodyFormatter;constructor($){if(this.entityType=$.entityType,this.purpose=$.purpose,this.schema=$.schema,this.frontmatterSchema=$.frontmatterSchema,this.fmSchema=$.frontmatterSchema,this.bodyFormatter=$.bodyFormatter??G7$,$.isSingleton!==void 0)this.isSingleton=$.isSingleton;if($.hasBody!==void 0)this.hasBody=$.hasBody;if($.supportsCoverImage!==void 0)this.supportsCoverImage=$.supportsCoverImage;if($.publishedStatuses!==void 0)this.publishedStatuses=$.publishedStatuses}toMarkdown($){let Z=this.renderBody($),J={...this.readExistingFrontmatter($.content)},G=Object.keys(this.frontmatterSchema.shape);for(let[Y,W]of Object.entries($.metadata))if(G.includes(Y))J[Y]=W;return this.buildMarkdown(Z,J)}renderBody($){return this.extractBody($.content)}readExistingFrontmatter($){try{return cZ($,qN).metadata}catch{return{}}}extractMetadata($){return $.metadata}parseFrontMatter($,Z){try{return cZ($,Gy(Z)).metadata}catch(X){throw new R4(this.entityType,X)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter($){return bG(qN.parse($.metadata))}extractBody($){try{return cZ($,qN).content}catch{return $}}parseFrontmatter($){try{return cZ($,Gy(this.fmSchema)).metadata}catch(Z){throw new R4(this.entityType,Z)}}buildMarkdown($,Z){return z4($,Z)}}var EN=H.enum(["public","shared","restricted"]),P1=H.union([EN,H.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $});function sU($){return P1.parse($)}var Y7$={public:["public"],shared:["public","shared"],restricted:["public","shared","restricted"]};function w4($){return Y7$[$]}function aU($,Z){return w4(Z).includes($??"public")}function L9($){if($==="admin")return"restricted";if($==="trusted")return"shared";return"public"}function xN($,Z){return aU(Z,L9($))}var H6=H.object({id:H.string(),entityType:H.string(),content:H.string(),created:H.string().datetime(),updated:H.string().datetime(),visibility:P1,metadata:H.record(H.string(),H.unknown()),contentHash:H.string()}),W7$=H.enum(["public","shared","restricted"]),Yy=H.object({id:H.string(),entityType:H.string(),content:H.string(),created:H.string().datetime(),updated:H.string().datetime(),visibility:H.union([W7$,H.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $}),metadata:H.record(H.string(),H.unknown()),contentHash:H.string()}),tU=H.object({}),D7$=H.object({mediaType:H.string(),url:H.string(),downloadUrl:H.string().optional(),previewUrl:H.string().optional(),filename:H.string().optional(),sizeBytes:H.number().optional(),source:H.object({entityType:H.string().optional(),entityId:H.string().optional(),attachmentType:H.string().optional()}).optional()});class SN extends _1{constructor(){super({entityType:"note",purpose:"A generic entity with no specialized adapter.",schema:H6,frontmatterSchema:tU})}toMarkdown($){return $.content}fromMarkdown($){return{content:$}}}import{createClient as kb}from"@libsql/client";import{createClient as U_}from"@libsql/client";var L=Symbol.for("drizzle:entityKind");function v($,Z){if(!$||typeof $!=="object")return!1;if($ instanceof Z)return!0;if(!Object.prototype.hasOwnProperty.call(Z,L))throw Error(`Class "${Z.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let X=Object.getPrototypeOf($).constructor;if(X)while(X){if(L in X&&X[L]===Z[L])return!0;X=Object.getPrototypeOf(X)}return!1}class G0{constructor($,Z){this.table=$,this.config=Z,this.name=Z.name,this.keyAsName=Z.keyAsName,this.notNull=Z.notNull,this.default=Z.default,this.defaultFn=Z.defaultFn,this.onUpdateFn=Z.onUpdateFn,this.hasDefault=Z.hasDefault,this.primary=Z.primaryKey,this.isUnique=Z.isUnique,this.uniqueName=Z.uniqueName,this.uniqueType=Z.uniqueType,this.dataType=Z.dataType,this.columnType=Z.columnType,this.generated=Z.generated,this.generatedIdentity=Z.generatedIdentity}static[L]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue($){return $}mapToDriverValue($){return $}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class jN{static[L]="ColumnBuilder";config;constructor($,Z,X){this.config={name:$,keyAsName:$==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:Z,columnType:X,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default($){return this.config.default=$,this.config.hasDefault=!0,this}$defaultFn($){return this.config.defaultFn=$,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn($){return this.config.onUpdateFn=$,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName($){if(this.config.name!=="")return;this.config.name=$}}var b8=Symbol.for("drizzle:Name");function Wy($,...Z){return $(...Z)}function Dy($,Z){return`${$[b8]}_${Z.join("_")}_unique`}class gG extends G0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=Dy($,[Z.name]);super($,Z);this.table=$}static[L]="PgColumn"}class H7$ extends gG{static[L]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op($){return this.indexConfig.opClass=$,this}}class U7$ extends gG{static[L]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}var Hy=Symbol.for("drizzle:isPgEnum");function Uy($){return!!$&&typeof $==="function"&&Hy in $&&$[Hy]===!0}class A7$ extends gG{static[L]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}class k0{static[L]="Subquery";constructor($,Z,X,J=!1,G=[]){this._={brand:"Subquery",sql:$,selectedFields:Z,alias:X,isWith:J,usedTables:G}}}class hG extends k0{static[L]="WithSubquery"}var Ay="0.45.2";var kN,IN,Ky={startActiveSpan($,Z){if(!kN)return Z();if(!IN)IN=kN.trace.getTracer("drizzle-orm",Ay);return Wy((X,J)=>J.startActiveSpan($,(G)=>{try{return Z(G)}catch(Y){throw G.setStatus({code:X.SpanStatusCode.ERROR,message:Y instanceof Error?Y.message:"Unknown error"}),Y}finally{G.end()}}),kN,IN)}};var I0=Symbol.for("drizzle:ViewBaseConfig");var eU=Symbol.for("drizzle:Schema"),$A=Symbol.for("drizzle:Columns"),Vy=Symbol.for("drizzle:ExtraConfigColumns"),vN=Symbol.for("drizzle:OriginalName"),yN=Symbol.for("drizzle:BaseName"),mG=Symbol.for("drizzle:IsAlias"),Qy=Symbol.for("drizzle:ExtraConfigBuilder"),K7$=Symbol.for("drizzle:IsDrizzleTable");class e{static[L]="Table";static Symbol={Name:b8,Schema:eU,OriginalName:vN,Columns:$A,ExtraConfigColumns:Vy,BaseName:yN,IsAlias:mG,ExtraConfigBuilder:Qy};[b8];[vN];[eU];[$A];[Vy];[yN];[mG]=!1;[K7$]=!0;[Qy]=void 0;constructor($,Z,X){this[b8]=this[vN]=$,this[eU]=Z,this[yN]=X}}function q9($){return $[b8]}function e5($){return`${$[eU]??"public"}.${$[b8]}`}function bN($){return $!==null&&$!==void 0&&typeof $.getSQL==="function"}function V7$($){let Z={sql:"",params:[]};for(let X of $)if(Z.sql+=X.sql,Z.params.push(...X.params),X.typings?.length){if(!Z.typings)Z.typings=[];Z.typings.push(...X.typings)}return Z}class AZ{static[L]="StringChunk";value;constructor($){this.value=Array.isArray($)?$:[$]}getSQL(){return new U$([this])}}class U${constructor($){this.queryChunks=$;for(let Z of $)if(v(Z,e)){let X=Z[e.Symbol.Schema];this.usedTables.push(X===void 0?Z[e.Symbol.Name]:X+"."+Z[e.Symbol.Name])}}static[L]="SQL";decoder=By;shouldInlineParams=!1;usedTables=[];append($){return this.queryChunks.push(...$.queryChunks),this}toQuery($){return Ky.startActiveSpan("drizzle.buildSQL",(Z)=>{let X=this.buildQueryFromSourceParams(this.queryChunks,$);return Z?.setAttributes({"drizzle.query.text":X.sql,"drizzle.query.params":JSON.stringify(X.params)}),X})}buildQueryFromSourceParams($,Z){let X=Object.assign({},Z,{inlineParams:Z.inlineParams||this.shouldInlineParams,paramStartIndex:Z.paramStartIndex||{value:0}}),{casing:J,escapeName:G,escapeParam:Y,prepareTyping:W,inlineParams:D,paramStartIndex:U}=X;return V7$($.map((A)=>{if(v(A,AZ))return{sql:A.value.join(""),params:[]};if(v(A,ZA))return{sql:G(A.value),params:[]};if(A===void 0)return{sql:"",params:[]};if(Array.isArray(A)){let Q=[new AZ("(")];for(let[O,P]of A.entries())if(Q.push(P),O<A.length-1)Q.push(new AZ(", "));return Q.push(new AZ(")")),this.buildQueryFromSourceParams(Q,X)}if(v(A,U$))return this.buildQueryFromSourceParams(A.queryChunks,{...X,inlineParams:D||A.shouldInlineParams});if(v(A,e)){let Q=A[e.Symbol.Schema],O=A[e.Symbol.Name];return{sql:Q===void 0||A[mG]?G(O):G(Q)+"."+G(O),params:[]}}if(v(A,G0)){let Q=J.getColumnCasing(A);if(Z.invokeSource==="indexes")return{sql:G(Q),params:[]};let O=A.table[e.Symbol.Schema];return{sql:A.table[mG]||O===void 0?G(A.table[e.Symbol.Name])+"."+G(Q):G(O)+"."+G(A.table[e.Symbol.Name])+"."+G(Q),params:[]}}if(v(A,U6)){let Q=A[I0].schema,O=A[I0].name;return{sql:Q===void 0||A[I0].isAlias?G(O):G(Q)+"."+G(O),params:[]}}if(v(A,g8)){if(v(A.value,E9))return{sql:Y(U.value++,A),params:[A],typings:["none"]};let Q=A.value===null?null:A.encoder.mapToDriverValue(A.value);if(v(Q,U$))return this.buildQueryFromSourceParams([Q],X);if(D)return{sql:this.mapInlineParam(Q,X),params:[]};let O=["none"];if(W)O=[W(A.encoder)];return{sql:Y(U.value++,Q),params:[Q],typings:O}}if(v(A,E9))return{sql:Y(U.value++,A),params:[A],typings:["none"]};if(v(A,U$.Aliased)&&A.fieldAlias!==void 0)return{sql:G(A.fieldAlias),params:[]};if(v(A,k0)){if(A._.isWith)return{sql:G(A._.alias),params:[]};return this.buildQueryFromSourceParams([new AZ("("),A._.sql,new AZ(") "),new ZA(A._.alias)],X)}if(Uy(A)){if(A.schema)return{sql:G(A.schema)+"."+G(A.enumName),params:[]};return{sql:G(A.enumName),params:[]}}if(bN(A)){if(A.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([A.getSQL()],X);return this.buildQueryFromSourceParams([new AZ("("),A.getSQL(),new AZ(")")],X)}if(D)return{sql:this.mapInlineParam(A,X),params:[]};return{sql:Y(U.value++,A),params:[A],typings:["none"]}}))}mapInlineParam($,{escapeString:Z}){if($===null)return"null";if(typeof $==="number"||typeof $==="boolean")return $.toString();if(typeof $==="string")return Z($);if(typeof $==="object"){let X=$.toString();if(X==="[object Object]")return Z(JSON.stringify($));return Z(X)}throw Error("Unexpected param value: "+$)}getSQL(){return this}as($){if($===void 0)return this;return new U$.Aliased(this,$)}mapWith($){return this.decoder=typeof $==="function"?{mapFromDriverValue:$}:$,this}inlineParams(){return this.shouldInlineParams=!0,this}if($){return $?this:void 0}}class ZA{constructor($){this.value=$}static[L]="Name";brand;getSQL(){return new U$([this])}}function Oy($){return typeof $==="object"&&$!==null&&"mapToDriverValue"in $&&typeof $.mapToDriverValue==="function"}var By={mapFromDriverValue:($)=>$},Ny={mapToDriverValue:($)=>$},FN$={...By,...Ny};class g8{constructor($,Z=Ny){this.value=$,this.encoder=Z}static[L]="Param";brand;getSQL(){return new U$([this])}}function _($,...Z){let X=[];if(Z.length>0||$.length>0&&$[0]!=="")X.push(new AZ($[0]));for(let[J,G]of Z.entries())X.push(G,new AZ($[J+1]));return new U$(X)}(($)=>{function Z(){return new U$([])}$.empty=Z;function X(U){return new U$(U)}$.fromList=X;function J(U){return new U$([new AZ(U)])}$.raw=J;function G(U,A){let Q=[];for(let[O,P]of U.entries()){if(O>0&&A!==void 0)Q.push(A);Q.push(P)}return new U$(Q)}$.join=G;function Y(U){return new ZA(U)}$.identifier=Y;function W(U){return new E9(U)}$.placeholder=W;function D(U,A){return new g8(U,A)}$.param=D})(_||(_={}));(($)=>{class Z{constructor(X,J){this.sql=X,this.fieldAlias=J}static[L]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new Z(this.sql,this.fieldAlias)}}$.Aliased=Z})(U$||(U$={}));class E9{constructor($){this.name=$}static[L]="Placeholder";getSQL(){return new U$([this])}}function fG($,Z){return $.map((X)=>{if(v(X,E9)){if(!(X.name in Z))throw Error(`No value for placeholder "${X.name}" was provided`);return Z[X.name]}if(v(X,g8)&&v(X.value,E9)){if(!(X.value.name in Z))throw Error(`No value for placeholder "${X.value.name}" was provided`);return X.encoder.mapToDriverValue(Z[X.value.name])}return X})}var Q7$=Symbol.for("drizzle:IsDrizzleView");class U6{static[L]="View";[I0];[Q7$]=!0;constructor({name:$,schema:Z,selectedFields:X,query:J}){this[I0]={name:$,originalName:$,schema:Z,selectedFields:X,query:J,isExisting:!J,isAlias:!1}}getSQL(){return new U$([this])}}G0.prototype.getSQL=function(){return new U$([this])};e.prototype.getSQL=function(){return new U$([this])};k0.prototype.getSQL=function(){return new U$([this])};function gN($,Z,X){let J={},G=$.reduce((Y,{path:W,field:D},U)=>{let A;if(v(D,G0))A=D;else if(v(D,U$))A=D.decoder;else if(v(D,k0))A=D._.sql.decoder;else A=D.sql.decoder;let Q=Y;for(let[O,P]of W.entries())if(O<W.length-1){if(!(P in Q))Q[P]={};Q=Q[P]}else{let N=Z[U],M=Q[P]=N===null?null:A.mapFromDriverValue(N);if(X&&v(D,G0)&&W.length===2){let w=W[0];if(!(w in J))J[w]=M===null?q9(D.table):!1;else if(typeof J[w]==="string"&&J[w]!==q9(D.table))J[w]=!1}}return Y},{});if(X&&Object.keys(J).length>0){for(let[Y,W]of Object.entries(J))if(typeof W==="string"&&!X[W])G[Y]=null}return G}function A6($,Z){return Object.entries($).reduce((X,[J,G])=>{if(typeof J!=="string")return X;let Y=Z?[...Z,J]:[J];if(v(G,G0)||v(G,U$)||v(G,U$.Aliased)||v(G,k0))X.push({path:Y,field:G});else if(v(G,e))X.push(...A6(G[e.Symbol.Columns],Y));else X.push(...A6(G,Y));return X},[])}function cG($,Z){let X=Object.keys($),J=Object.keys(Z);if(X.length!==J.length)return!1;for(let[G,Y]of X.entries())if(Y!==J[G])return!1;return!0}function XA($,Z){let X=Object.entries(Z).filter(([,J])=>J!==void 0).map(([J,G])=>{if(v(G,U$)||v(G,G0))return[J,G];else return[J,new g8(G,$[e.Symbol.Columns][J])]});if(X.length===0)throw Error("No values to set");return Object.fromEntries(X)}function _y($,Z){for(let X of Z)for(let J of Object.getOwnPropertyNames(X.prototype)){if(J==="constructor")continue;Object.defineProperty($.prototype,J,Object.getOwnPropertyDescriptor(X.prototype,J)||Object.create(null))}}function Py($){return $[e.Symbol.Columns]}function pG($){return v($,k0)?$._.alias:v($,U6)?$[I0].name:v($,U$)?void 0:$[e.Symbol.IsAlias]?$[e.Symbol.Name]:$[e.Symbol.BaseName]}function F1($,Z){return{name:typeof $==="string"&&$.length>0?$:"",config:typeof $==="object"?$:Z}}function Fy($){if(typeof $!=="object"||$===null)return!1;if($.constructor.name!=="Object")return!1;if("logger"in $){let Z=typeof $.logger;if(Z!=="boolean"&&(Z!=="object"||typeof $.logger.logQuery!=="function")&&Z!=="undefined")return!1;return!0}if("schema"in $){let Z=typeof $.schema;if(Z!=="object"&&Z!=="undefined")return!1;return!0}if("casing"in $){let Z=typeof $.casing;if(Z!=="string"&&Z!=="undefined")return!1;return!0}if("mode"in $){if($.mode!=="default"||$.mode!=="planetscale"||$.mode!==void 0)return!1;return!0}if("connection"in $){let Z=typeof $.connection;if(Z!=="string"&&Z!=="object"&&Z!=="undefined")return!1;return!0}if("client"in $){let Z=typeof $.client;if(Z!=="object"&&Z!=="function"&&Z!=="undefined")return!1;return!0}if(Object.keys($).length===0)return!0;return!1}var hN=typeof TextDecoder>"u"?null:new TextDecoder;class Ty{static[L]="ConsoleLogWriter";write($){console.log($)}}class mN{static[L]="DefaultLogger";writer;constructor($){this.writer=$?.writer??new Ty}logQuery($,Z){let X=Z.map((G)=>{try{return JSON.stringify(G)}catch{return String(G)}}),J=X.length?` -- params: [${X.join(", ")}]`:"";this.writer.write(`Query: ${$}${J}`)}}class fN{static[L]="NoopLogger";logQuery(){}}var My=Symbol.for("drizzle:PgInlineForeignKeys"),zy=Symbol.for("drizzle:EnableRLS");class cN extends e{static[L]="PgTable";static Symbol=Object.assign({},e.Symbol,{InlineForeignKeys:My,EnableRLS:zy});[My]=[];[zy]=!1;[e.Symbol.ExtraConfigBuilder]=void 0;[e.Symbol.ExtraConfigColumns]={}}class pN{static[L]="PgPrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new Ry($,this.columns,this.name)}}class Ry{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[cN.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function P8($,Z){if(Oy(Z)&&!bN($)&&!v($,g8)&&!v($,E9)&&!v($,G0)&&!v($,e)&&!v($,U6))return new g8($,Z);return $}var c=($,Z)=>{return _`${$} = ${P8(Z,$)}`},JA=($,Z)=>{return _`${$} <> ${P8(Z,$)}`};function F$(...$){let Z=$.filter((X)=>X!==void 0);if(Z.length===0)return;if(Z.length===1)return new U$(Z);return new U$([new AZ("("),_.join(Z,new AZ(" and ")),new AZ(")")])}function x9(...$){let Z=$.filter((X)=>X!==void 0);if(Z.length===0)return;if(Z.length===1)return new U$(Z);return new U$([new AZ("("),_.join(Z,new AZ(" or ")),new AZ(")")])}function wy($){return _`not ${$}`}var dX=($,Z)=>{return _`${$} > ${P8(Z,$)}`},Cy=($,Z)=>{return _`${$} >= ${P8(Z,$)}`},Ly=($,Z)=>{return _`${$} < ${P8(Z,$)}`},k6=($,Z)=>{return _`${$} <= ${P8(Z,$)}`};function Z8($,Z){if(Array.isArray(Z)){if(Z.length===0)return _`false`;return _`${$} in ${Z.map((X)=>P8(X,$))}`}return _`${$} in ${P8(Z,$)}`}function qy($,Z){if(Array.isArray(Z)){if(Z.length===0)return _`true`;return _`${$} not in ${Z.map((X)=>P8(X,$))}`}return _`${$} not in ${P8(Z,$)}`}function C4($){return _`${$} is null`}function uX($){return _`${$} is not null`}function dG($){return _`exists ${$}`}function GA($){return _`not exists ${$}`}function Ey($,Z,X){return _`${$} between ${P8(Z,$)} and ${P8(X,$)}`}function xy($,Z,X){return _`${$} not between ${P8(Z,$)} and ${P8(X,$)}`}function Sy($,Z){return _`${$} like ${Z}`}function jy($,Z){return _`${$} not like ${Z}`}function ky($,Z){return _`${$} ilike ${Z}`}function Iy($,Z){return _`${$} not ilike ${Z}`}function v0($){return _`${$} asc`}function PZ($){return _`${$} desc`}class dN{constructor($,Z,X){this.sourceTable=$,this.referencedTable=Z,this.relationName=X,this.referencedTableName=Z[e.Symbol.Name]}static[L]="Relation";referencedTableName;fieldName}class vy{constructor($,Z){this.table=$,this.config=Z}static[L]="Relations"}class S9 extends dN{constructor($,Z,X,J){super($,Z,X?.relationName);this.config=X,this.isNullable=J}static[L]="One";withFieldName($){let Z=new S9(this.sourceTable,this.referencedTable,this.config,this.isNullable);return Z.fieldName=$,Z}}class uG extends dN{constructor($,Z,X){super($,Z,X?.relationName);this.config=X}static[L]="Many";withFieldName($){let Z=new uG(this.sourceTable,this.referencedTable,this.config);return Z.fieldName=$,Z}}function yy(){return{and:F$,between:Ey,eq:c,exists:dG,gt:dX,gte:Cy,ilike:ky,inArray:Z8,isNull:C4,isNotNull:uX,like:Sy,lt:Ly,lte:k6,ne:JA,not:wy,notBetween:xy,notExists:GA,notLike:jy,notIlike:Iy,notInArray:qy,or:x9,sql:_}}function by(){return{sql:_,asc:v0,desc:PZ}}function gy($,Z){if(Object.keys($).length===1&&"default"in $&&!v($.default,e))$=$.default;let X={},J={},G={};for(let[Y,W]of Object.entries($))if(v(W,e)){let D=e5(W),U=J[D];X[D]=Y,G[Y]={tsName:Y,dbName:W[e.Symbol.Name],schema:W[e.Symbol.Schema],columns:W[e.Symbol.Columns],relations:U?.relations??{},primaryKey:U?.primaryKey??[]};for(let Q of Object.values(W[e.Symbol.Columns]))if(Q.primary)G[Y].primaryKey.push(Q);let A=W[e.Symbol.ExtraConfigBuilder]?.(W[e.Symbol.ExtraConfigColumns]);if(A){for(let Q of Object.values(A))if(v(Q,pN))G[Y].primaryKey.push(...Q.columns)}}else if(v(W,vy)){let D=e5(W.table),U=X[D],A=W.config(Z(W.table)),Q;for(let[O,P]of Object.entries(A))if(U){let N=G[U];if(N.relations[O]=P,Q)N.primaryKey.push(...Q)}else{if(!(D in J))J[D]={relations:{},primaryKey:Q};J[D].relations[O]=P}}return{tables:G,tableNamesMap:X}}function O7$($){return function(X,J){return new S9($,X,J,J?.fields.reduce((G,Y)=>G&&Y.notNull,!0)??!1)}}function B7$($){return function(X,J){return new uG($,X,J)}}function hy($,Z,X){if(v(X,S9)&&X.config)return{fields:X.config.fields,references:X.config.references};let J=Z[e5(X.referencedTable)];if(!J)throw Error(`Table "${X.referencedTable[e.Symbol.Name]}" not found in schema`);let G=$[J];if(!G)throw Error(`Table "${J}" not found in schema`);let Y=X.sourceTable,W=Z[e5(Y)];if(!W)throw Error(`Table "${Y[e.Symbol.Name]}" not found in schema`);let D=[];for(let U of Object.values(G.relations))if(X.relationName&&X!==U&&U.relationName===X.relationName||!X.relationName&&U.referencedTable===X.sourceTable)D.push(U);if(D.length>1)throw X.relationName?Error(`There are multiple relations with name "${X.relationName}" in table "${J}"`):Error(`There are multiple relations between "${J}" and "${X.sourceTable[e.Symbol.Name]}". Please specify relation name`);if(D[0]&&v(D[0],S9)&&D[0].config)return{fields:D[0].config.references,references:D[0].config.fields};throw Error(`There is not enough information to infer relation "${W}.${X.fieldName}"`)}function my($){return{one:O7$($),many:B7$($)}}function YA($,Z,X,J,G=(Y)=>Y){let Y={};for(let[W,D]of J.entries())if(D.isJson){let U=Z.relations[D.tsKey],A=X[W],Q=typeof A==="string"?JSON.parse(A):A;Y[D.tsKey]=v(U,S9)?Q&&YA($,$[D.relationTableTsKey],Q,D.selection,G):Q.map((O)=>YA($,$[D.relationTableTsKey],O,D.selection,G))}else{let U=G(X[W]),A=D.field,Q;if(v(A,G0))Q=A;else if(v(A,U$))Q=A.decoder;else Q=A.sql.decoder;Y[D.tsKey]=U===null?null:Q.mapFromDriverValue(U)}return Y}class oX{constructor($){this.table=$}static[L]="ColumnAliasProxyHandler";get($,Z){if(Z==="table")return this.table;return $[Z]}}class oG{constructor($,Z){this.alias=$,this.replaceOriginalName=Z}static[L]="TableAliasProxyHandler";get($,Z){if(Z===e.Symbol.IsAlias)return!0;if(Z===e.Symbol.Name)return this.alias;if(this.replaceOriginalName&&Z===e.Symbol.OriginalName)return this.alias;if(Z===I0)return{...$[I0],name:this.alias,isAlias:!0};if(Z===e.Symbol.Columns){let J=$[e.Symbol.Columns];if(!J)return J;let G={};return Object.keys(J).map((Y)=>{G[Y]=new Proxy(J[Y],new oX(new Proxy($,this)))}),G}let X=$[Z];if(v(X,G0))return new Proxy(X,new oX(new Proxy($,this)));return X}}function WA($,Z){return new Proxy($,new oG(Z,!1))}function T1($,Z){return new Proxy($,new oX(new Proxy($.table,new oG(Z,!1))))}function uN($,Z){return new U$.Aliased(nG($.sql,Z),$.fieldAlias)}function nG($,Z){return _.join($.queryChunks.map((X)=>{if(v(X,G0))return T1(X,Z);if(v(X,U$))return nG(X,Z);if(v(X,U$.Aliased))return uN(X,Z);return X}))}class e0{static[L]="SelectionProxyHandler";config;constructor($){this.config={...$}}get($,Z){if(Z==="_")return{...$._,selectedFields:new Proxy($._.selectedFields,this)};if(Z===I0)return{...$[I0],selectedFields:new Proxy($[I0].selectedFields,this)};if(typeof Z==="symbol")return $[Z];let J=(v($,k0)?$._.selectedFields:v($,U6)?$[I0].selectedFields:$)[Z];if(v(J,U$.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!J.isSelectionField)return J.sql;let G=J.clone();return G.isSelectionField=!0,G}if(v(J,U$)){if(this.config.sqlBehavior==="sql")return J;throw Error(`You tried to reference "${Z}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(v(J,G0)){if(this.config.alias)return new Proxy(J,new oX(new Proxy(J.table,new oG(this.config.alias,this.config.replaceOriginalName??!1))));return J}if(typeof J!=="object"||J===null)return J;return new Proxy(J,new e0(this.config))}}class X8{static[L]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch($){return this.then(void 0,$)}finally($){return this.then((Z)=>{return $?.(),Z},(Z)=>{throw $?.(),Z})}then($,Z){return this.execute().then($,Z)}}class oN{static[L]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor($,Z){if(this.reference=()=>{let{name:X,columns:J,foreignColumns:G}=$();return{name:X,columns:J,foreignTable:G[0].table,foreignColumns:G}},Z)this._onUpdate=Z.onUpdate,this._onDelete=Z.onDelete}onUpdate($){return this._onUpdate=$,this}onDelete($){return this._onDelete=$,this}build($){return new fy($,this)}}class fy{constructor($,Z){this.table=$,this.reference=Z.reference,this.onUpdate=Z._onUpdate,this.onDelete=Z._onDelete}static[L]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:$,columns:Z,foreignColumns:X}=this.reference(),J=Z.map((W)=>W.name),G=X.map((W)=>W.name),Y=[this.table[b8],...J,X[0].table[b8],...G];return $??`${Y.join("_")}_fk`}}function cy($,Z){return`${$[b8]}_${Z.join("_")}_unique`}class FZ extends jN{static[L]="SQLiteColumnBuilder";foreignKeyConfigs=[];references($,Z={}){return this.foreignKeyConfigs.push({ref:$,actions:Z}),this}unique($){return this.config.isUnique=!0,this.config.uniqueName=$,this}generatedAlwaysAs($,Z){return this.config.generated={as:$,type:"always",mode:Z?.mode??"virtual"},this}buildForeignKeys($,Z){return this.foreignKeyConfigs.map(({ref:X,actions:J})=>{return((G,Y)=>{let W=new oN(()=>{let D=G();return{columns:[$],foreignColumns:[D]}});if(Y.onUpdate)W.onUpdate(Y.onUpdate);if(Y.onDelete)W.onDelete(Y.onDelete);return W.build(Z)})(X,J)})}}class m0 extends G0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=cy($,[Z.name]);super($,Z);this.table=$}static[L]="SQLiteColumn"}class py extends FZ{static[L]="SQLiteBigIntBuilder";constructor($){super($,"bigint","SQLiteBigInt")}build($){return new dy($,this.config)}}class dy extends m0{static[L]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue($){if(typeof Buffer<"u"&&Buffer.from){let Z=Buffer.isBuffer($)?$:$ instanceof ArrayBuffer?Buffer.from($):$.buffer?Buffer.from($.buffer,$.byteOffset,$.byteLength):Buffer.from($);return BigInt(Z.toString("utf8"))}return BigInt(hN.decode($))}mapToDriverValue($){return Buffer.from($.toString())}}class uy extends FZ{static[L]="SQLiteBlobJsonBuilder";constructor($){super($,"json","SQLiteBlobJson")}build($){return new oy($,this.config)}}class oy extends m0{static[L]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue($){if(typeof Buffer<"u"&&Buffer.from){let Z=Buffer.isBuffer($)?$:$ instanceof ArrayBuffer?Buffer.from($):$.buffer?Buffer.from($.buffer,$.byteOffset,$.byteLength):Buffer.from($);return JSON.parse(Z.toString("utf8"))}return JSON.parse(hN.decode($))}mapToDriverValue($){return Buffer.from(JSON.stringify($))}}class ny extends FZ{static[L]="SQLiteBlobBufferBuilder";constructor($){super($,"buffer","SQLiteBlobBuffer")}build($){return new ry($,this.config)}}class ry extends m0{static[L]="SQLiteBlobBuffer";mapFromDriverValue($){if(Buffer.isBuffer($))return $;return Buffer.from($)}getSQLType(){return"blob"}}function ly($,Z){let{name:X,config:J}=F1($,Z);if(J?.mode==="json")return new uy(X);if(J?.mode==="bigint")return new py(X);return new ny(X)}class iy extends FZ{static[L]="SQLiteCustomColumnBuilder";constructor($,Z,X){super($,"custom","SQLiteCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=X}build($){return new sy($,this.config)}}class sy extends m0{static[L]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor($,Z){super($,Z);this.sqlName=Z.customTypeParams.dataType(Z.fieldConfig),this.mapTo=Z.customTypeParams.toDriver,this.mapFrom=Z.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue($){return typeof this.mapFrom==="function"?this.mapFrom($):$}mapToDriverValue($){return typeof this.mapTo==="function"?this.mapTo($):$}}function DA($){return(Z,X)=>{let{name:J,config:G}=F1(Z,X);return new iy(J,G,$)}}class HA extends FZ{static[L]="SQLiteBaseIntegerBuilder";constructor($,Z,X){super($,Z,X);this.config.autoIncrement=!1}primaryKey($){if($?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}}class UA extends m0{static[L]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class ay extends HA{static[L]="SQLiteIntegerBuilder";constructor($){super($,"number","SQLiteInteger")}build($){return new ty($,this.config)}}class ty extends UA{static[L]="SQLiteInteger"}class ey extends HA{static[L]="SQLiteTimestampBuilder";constructor($,Z){super($,"date","SQLiteTimestamp");this.config.mode=Z}defaultNow(){return this.default(_`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build($){return new $b($,this.config)}}class $b extends UA{static[L]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue($){if(this.config.mode==="timestamp")return new Date($*1000);return new Date($)}mapToDriverValue($){let Z=$.getTime();if(this.config.mode==="timestamp")return Math.floor(Z/1000);return Z}}class Zb extends HA{static[L]="SQLiteBooleanBuilder";constructor($,Z){super($,"boolean","SQLiteBoolean");this.config.mode=Z}build($){return new Xb($,this.config)}}class Xb extends UA{static[L]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue($){return Number($)===1}mapToDriverValue($){return $?1:0}}function a$($,Z){let{name:X,config:J}=F1($,Z);if(J?.mode==="timestamp"||J?.mode==="timestamp_ms")return new ey(X,J.mode);if(J?.mode==="boolean")return new Zb(X,J.mode);return new ay(X)}class Jb extends FZ{static[L]="SQLiteNumericBuilder";constructor($){super($,"string","SQLiteNumeric")}build($){return new Gb($,this.config)}}class Gb extends m0{static[L]="SQLiteNumeric";mapFromDriverValue($){if(typeof $==="string")return $;return String($)}getSQLType(){return"numeric"}}class Yb extends FZ{static[L]="SQLiteNumericNumberBuilder";constructor($){super($,"number","SQLiteNumericNumber")}build($){return new Wb($,this.config)}}class Wb extends m0{static[L]="SQLiteNumericNumber";mapFromDriverValue($){if(typeof $==="number")return $;return Number($)}mapToDriverValue=String;getSQLType(){return"numeric"}}class Db extends FZ{static[L]="SQLiteNumericBigIntBuilder";constructor($){super($,"bigint","SQLiteNumericBigInt")}build($){return new Hb($,this.config)}}class Hb extends m0{static[L]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function Ub($,Z){let{name:X,config:J}=F1($,Z),G=J?.mode;return G==="number"?new Yb(X):G==="bigint"?new Db(X):new Jb(X)}class Ab extends FZ{static[L]="SQLiteRealBuilder";constructor($){super($,"number","SQLiteReal")}build($){return new Kb($,this.config)}}class Kb extends m0{static[L]="SQLiteReal";getSQLType(){return"real"}}function Vb($){return new Ab($??"")}class Qb extends FZ{static[L]="SQLiteTextBuilder";constructor($,Z){super($,"string","SQLiteText");this.config.enumValues=Z.enum,this.config.length=Z.length}build($){return new Ob($,this.config)}}class Ob extends m0{static[L]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor($,Z){super($,Z)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class Bb extends FZ{static[L]="SQLiteTextJsonBuilder";constructor($){super($,"json","SQLiteTextJson")}build($){return new Nb($,this.config)}}class Nb extends m0{static[L]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue($){return JSON.parse($)}mapToDriverValue($){return JSON.stringify($)}}function X$($,Z={}){let{name:X,config:J}=F1($,Z);if(J.mode==="json")return new Bb(X);return new Qb(X,J)}function _b(){return{blob:ly,customType:DA,integer:a$,numeric:Ub,real:Vb,text:X$}}var nN=Symbol.for("drizzle:SQLiteInlineForeignKeys");class $Z extends e{static[L]="SQLiteTable";static Symbol=Object.assign({},e.Symbol,{InlineForeignKeys:nN});[e.Symbol.Columns];[nN]=[];[e.Symbol.ExtraConfigBuilder]=void 0}function N7$($,Z,X,J,G=$){let Y=new $Z($,J,G),W=typeof Z==="function"?Z(_b()):Z,D=Object.fromEntries(Object.entries(W).map(([A,Q])=>{let O=Q;O.setName(A);let P=O.build(Y);return Y[nN].push(...O.buildForeignKeys(P,Y)),[A,P]})),U=Object.assign(Y,D);if(U[e.Symbol.Columns]=D,U[e.Symbol.ExtraConfigColumns]=D,X)U[$Z.Symbol.ExtraConfigBuilder]=X;return U}var TZ=($,Z,X)=>{return N7$($,Z,X)};class Pb{constructor($,Z){this.name=$,this.value=Z}static[L]="SQLiteCheckBuilder";brand;build($){return new Fb($,this)}}class Fb{constructor($,Z){this.table=$,this.name=Z.name,this.value=Z.value}static[L]="SQLiteCheck";name;value}function Tb($,Z){return new Pb($,Z)}class rN{constructor($,Z){this.name=$,this.unique=Z}static[L]="SQLiteIndexBuilderOn";on(...$){return new Mb(this.name,$,this.unique)}}class Mb{static[L]="SQLiteIndexBuilder";config;constructor($,Z,X){this.config={name:$,columns:Z,unique:X,where:void 0}}where($){return this.config.where=$,this}build($){return new zb(this.config,$)}}class zb{static[L]="SQLiteIndex";config;constructor($,Z){this.config={...$,table:Z}}}function ZZ($){return new rN($,!1)}function WP$($){return new rN($,!0)}function j9(...$){if($[0].columns)return new lN($[0].columns,$[0].name);return new lN($)}class lN{static[L]="SQLitePrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new Rb($,this.columns,this.name)}}class Rb{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[$Z.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function I6($){if(v($,$Z))return[`${$[e.Symbol.BaseName]}`];if(v($,k0))return $._.usedTables??[];if(v($,U$))return $.usedTables??[];return[]}class AA extends X8{constructor($,Z,X,J){super();this.table=$,this.session=Z,this.dialect=X,this.config={table:$,withList:J}}static[L]="SQLiteDelete";config;where($){return this.config.where=$,this}orderBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.table[e.Symbol.Columns],new e0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),X=Array.isArray(Z)?Z:[Z];this.config.orderBy=X}else{let Z=$;this.config.orderBy=Z}return this}limit($){return this.config.limit=$,this}returning($=this.table[$Z.Symbol.Columns]){return this.config.returning=A6($),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:$,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare($=!0){return this.session[$?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:I6(this.config.table)})}prepare(){return this._prepare(!1)}run=($)=>{return this._prepare().run($)};all=($)=>{return this._prepare().all($)};get=($)=>{return this._prepare().get($)};values=($)=>{return this._prepare().values($)};async execute($){return this._prepare().execute($)}$dynamic(){return this}}function _7$($){return($.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((X)=>X.toLowerCase()).join("_")}function P7$($){return($.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((X,J,G)=>{let Y=G===0?J.toLowerCase():`${J[0].toUpperCase()}${J.slice(1)}`;return X+Y},"")}function F7$($){return $}class iN{static[L]="CasingCache";cache={};cachedTables={};convert;constructor($){this.convert=$==="snake_case"?_7$:$==="camelCase"?P7$:F7$}getColumnCasing($){if(!$.keyAsName)return $.name;let Z=$.table[e.Symbol.Schema]??"public",X=$.table[e.Symbol.OriginalName],J=`${Z}.${X}.${$.name}`;if(!this.cache[J])this.cacheTable($.table);return this.cache[J]}cacheTable($){let Z=$[e.Symbol.Schema]??"public",X=$[e.Symbol.OriginalName],J=`${Z}.${X}`;if(!this.cachedTables[J]){for(let G of Object.values($[e.Symbol.Columns])){let Y=`${J}.${G.name}`;this.cache[Y]=this.convert(G.name)}this.cachedTables[J]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class nX extends Error{static[L]="DrizzleError";constructor({message:$,cause:Z}){super($);this.name="DrizzleError",this.cause=Z}}class L4 extends Error{constructor($,Z,X){super(`Failed query: ${$}
33
+ params: ${Z}`);if(this.query=$,this.params=Z,this.cause=X,Error.captureStackTrace(this,L4),X)this.cause=X}}class sN extends nX{static[L]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function wb($){return _`count(${$||_.raw("*")})`.mapWith(Number)}class $7 extends U6{static[L]="SQLiteViewBase"}class rX{static[L]="SQLiteDialect";casing;constructor($){this.casing=new iN($?.casing)}escapeName($){return`"${$.replace(/"/g,'""')}"`}escapeParam($){return"?"}escapeString($){return`'${$.replace(/'/g,"''")}'`}buildWithCTE($){if(!$?.length)return;let Z=[_`with `];for(let[X,J]of $.entries())if(Z.push(_`${_.identifier(J._.alias)} as (${J._.sql})`),X<$.length-1)Z.push(_`, `);return Z.push(_` `),_.join(Z)}buildDeleteQuery({table:$,where:Z,returning:X,withList:J,limit:G,orderBy:Y}){let W=this.buildWithCTE(J),D=X?_` returning ${this.buildSelection(X,{isSingleTable:!0})}`:void 0,U=Z?_` where ${Z}`:void 0,A=this.buildOrderBy(Y),Q=this.buildLimit(G);return _`${W}delete from ${$}${U}${D}${A}${Q}`}buildUpdateSet($,Z){let X=$[e.Symbol.Columns],J=Object.keys(X).filter((Y)=>Z[Y]!==void 0||X[Y]?.onUpdateFn!==void 0),G=J.length;return _.join(J.flatMap((Y,W)=>{let D=X[Y],U=D.onUpdateFn?.(),A=Z[Y]??(v(U,U$)?U:_.param(U,D)),Q=_`${_.identifier(this.casing.getColumnCasing(D))} = ${A}`;if(W<G-1)return[Q,_.raw(", ")];return[Q]}))}buildUpdateQuery({table:$,set:Z,where:X,returning:J,withList:G,joins:Y,from:W,limit:D,orderBy:U}){let A=this.buildWithCTE(G),Q=this.buildUpdateSet($,Z),O=W&&_.join([_.raw(" from "),this.buildFromTable(W)]),P=this.buildJoins(Y),N=J?_` returning ${this.buildSelection(J,{isSingleTable:!0})}`:void 0,M=X?_` where ${X}`:void 0,w=this.buildOrderBy(U),q=this.buildLimit(D);return _`${A}update ${$} set ${Q}${O}${P}${M}${N}${w}${q}`}buildSelection($,{isSingleTable:Z=!1}={}){let X=$.length,J=$.flatMap(({field:G},Y)=>{let W=[];if(v(G,U$.Aliased)&&G.isSelectionField)W.push(_.identifier(G.fieldAlias));else if(v(G,U$.Aliased)||v(G,U$)){let D=v(G,U$.Aliased)?G.sql:G;if(Z)W.push(new U$(D.queryChunks.map((U)=>{if(v(U,G0))return _.identifier(this.casing.getColumnCasing(U));return U})));else W.push(D);if(v(G,U$.Aliased))W.push(_` as ${_.identifier(G.fieldAlias)}`)}else if(v(G,G0)){let D=G.table[e.Symbol.Name];if(G.columnType==="SQLiteNumericBigInt")if(Z)W.push(_`cast(${_.identifier(this.casing.getColumnCasing(G))} as text)`);else W.push(_`cast(${_.identifier(D)}.${_.identifier(this.casing.getColumnCasing(G))} as text)`);else if(Z)W.push(_.identifier(this.casing.getColumnCasing(G)));else W.push(_`${_.identifier(D)}.${_.identifier(this.casing.getColumnCasing(G))}`)}else if(v(G,k0)){let D=Object.entries(G._.selectedFields);if(D.length===1){let U=D[0][1],A=v(U,U$)?U.decoder:v(U,G0)?{mapFromDriverValue:(Q)=>U.mapFromDriverValue(Q)}:U.sql.decoder;if(A)G._.sql.decoder=A}W.push(G)}if(Y<X-1)W.push(_`, `);return W});return _.join(J)}buildJoins($){if(!$||$.length===0)return;let Z=[];if($)for(let[X,J]of $.entries()){if(X===0)Z.push(_` `);let G=J.table,Y=J.on?_` on ${J.on}`:void 0;if(v(G,$Z)){let W=G[$Z.Symbol.Name],D=G[$Z.Symbol.Schema],U=G[$Z.Symbol.OriginalName],A=W===U?void 0:J.alias;Z.push(_`${_.raw(J.joinType)} join ${D?_`${_.identifier(D)}.`:void 0}${_.identifier(U)}${A&&_` ${_.identifier(A)}`}${Y}`)}else Z.push(_`${_.raw(J.joinType)} join ${G}${Y}`);if(X<$.length-1)Z.push(_` `)}return _.join(Z)}buildLimit($){return typeof $==="object"||typeof $==="number"&&$>=0?_` limit ${$}`:void 0}buildOrderBy($){let Z=[];if($){for(let[X,J]of $.entries())if(Z.push(J),X<$.length-1)Z.push(_`, `)}return Z.length>0?_` order by ${_.join(Z)}`:void 0}buildFromTable($){if(v($,e)&&$[e.Symbol.IsAlias])return _`${_`${_.identifier($[e.Symbol.Schema]??"")}.`.if($[e.Symbol.Schema])}${_.identifier($[e.Symbol.OriginalName])} ${_.identifier($[e.Symbol.Name])}`;return $}buildSelectQuery({withList:$,fields:Z,fieldsFlat:X,where:J,having:G,table:Y,joins:W,orderBy:D,groupBy:U,limit:A,offset:Q,distinct:O,setOperators:P}){let N=X??A6(Z);for(let r of N)if(v(r.field,G0)&&q9(r.field.table)!==(v(Y,k0)?Y._.alias:v(Y,$7)?Y[I0].name:v(Y,U$)?void 0:q9(Y))&&!((Q$)=>W?.some(({alias:T$})=>T$===(Q$[e.Symbol.IsAlias]?q9(Q$):Q$[e.Symbol.BaseName])))(r.field.table)){let Q$=q9(r.field.table);throw Error(`Your "${r.path.join("->")}" field references a column "${Q$}"."${r.field.name}", but the table "${Q$}" is not part of the query! Did you forget to join it?`)}let M=!W||W.length===0,w=this.buildWithCTE($),q=O?_` distinct`:void 0,K$=this.buildSelection(N,{isSingleTable:M}),l=this.buildFromTable(Y),J$=this.buildJoins(W),B$=J?_` where ${J}`:void 0,h$=G?_` having ${G}`:void 0,A$=[];if(U){for(let[r,Q$]of U.entries())if(A$.push(Q$),r<U.length-1)A$.push(_`, `)}let m$=A$.length>0?_` group by ${_.join(A$)}`:void 0,v$=this.buildOrderBy(D),A0=this.buildLimit(A),i=Q?_` offset ${Q}`:void 0,$$=_`${w}select${q} ${K$} from ${l}${J$}${B$}${m$}${h$}${v$}${A0}${i}`;if(P.length>0)return this.buildSetOperations($$,P);return $$}buildSetOperations($,Z){let[X,...J]=Z;if(!X)throw Error("Cannot pass undefined values to any set operator");if(J.length===0)return this.buildSetOperationQuery({leftSelect:$,setOperator:X});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:$,setOperator:X}),J)}buildSetOperationQuery({leftSelect:$,setOperator:{type:Z,isAll:X,rightSelect:J,limit:G,orderBy:Y,offset:W}}){let D=_`${$.getSQL()} `,U=_`${J.getSQL()}`,A;if(Y&&Y.length>0){let N=[];for(let M of Y)if(v(M,m0))N.push(_.identifier(M.name));else if(v(M,U$)){for(let w=0;w<M.queryChunks.length;w++){let q=M.queryChunks[w];if(v(q,m0))M.queryChunks[w]=_.identifier(this.casing.getColumnCasing(q))}N.push(_`${M}`)}else N.push(_`${M}`);A=_` order by ${_.join(N,_`, `)}`}let Q=typeof G==="object"||typeof G==="number"&&G>=0?_` limit ${G}`:void 0,O=_.raw(`${Z} ${X?"all ":""}`),P=W?_` offset ${W}`:void 0;return _`${D}${O}${U}${A}${Q}${P}`}buildInsertQuery({table:$,values:Z,onConflict:X,returning:J,withList:G,select:Y}){let W=[],D=$[e.Symbol.Columns],U=Object.entries(D).filter(([M,w])=>!w.shouldDisableInsert()),A=U.map(([,M])=>_.identifier(this.casing.getColumnCasing(M)));if(Y){let M=Z;if(v(M,U$))W.push(M);else W.push(M.getSQL())}else{let M=Z;W.push(_.raw("values "));for(let[w,q]of M.entries()){let K$=[];for(let[l,J$]of U){let B$=q[l];if(B$===void 0||v(B$,g8)&&B$.value===void 0){let h$;if(J$.default!==null&&J$.default!==void 0)h$=v(J$.default,U$)?J$.default:_.param(J$.default,J$);else if(J$.defaultFn!==void 0){let A$=J$.defaultFn();h$=v(A$,U$)?A$:_.param(A$,J$)}else if(!J$.default&&J$.onUpdateFn!==void 0){let A$=J$.onUpdateFn();h$=v(A$,U$)?A$:_.param(A$,J$)}else h$=_`null`;K$.push(h$)}else K$.push(B$)}if(W.push(K$),w<M.length-1)W.push(_`, `)}}let Q=this.buildWithCTE(G),O=_.join(W),P=J?_` returning ${this.buildSelection(J,{isSingleTable:!0})}`:void 0,N=X?.length?_.join(X):void 0;return _`${Q}insert into ${$} ${A} ${O}${N}${P}`}sqlToQuery($,Z){return $.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:Z})}buildRelationalQuery({fullSchema:$,schema:Z,tableNamesMap:X,table:J,tableConfig:G,queryConfig:Y,tableAlias:W,nestedQueryRelation:D,joinOn:U}){let A=[],Q,O,P=[],N,M=[];if(Y===!0)A=Object.entries(G.columns).map(([K$,l])=>({dbKey:l.name,tsKey:K$,field:T1(l,W),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let q=Object.fromEntries(Object.entries(G.columns).map(([A$,m$])=>[A$,T1(m$,W)]));if(Y.where){let A$=typeof Y.where==="function"?Y.where(q,yy()):Y.where;N=A$&&nG(A$,W)}let K$=[],l=[];if(Y.columns){let A$=!1;for(let[m$,v$]of Object.entries(Y.columns)){if(v$===void 0)continue;if(m$ in G.columns){if(!A$&&v$===!0)A$=!0;l.push(m$)}}if(l.length>0)l=A$?l.filter((m$)=>Y.columns?.[m$]===!0):Object.keys(G.columns).filter((m$)=>!l.includes(m$))}else l=Object.keys(G.columns);for(let A$ of l){let m$=G.columns[A$];K$.push({tsKey:A$,value:m$})}let J$=[];if(Y.with)J$=Object.entries(Y.with).filter((A$)=>!!A$[1]).map(([A$,m$])=>({tsKey:A$,queryConfig:m$,relation:G.relations[A$]}));let B$;if(Y.extras){B$=typeof Y.extras==="function"?Y.extras(q,{sql:_}):Y.extras;for(let[A$,m$]of Object.entries(B$))K$.push({tsKey:A$,value:uN(m$,W)})}for(let{tsKey:A$,value:m$}of K$)A.push({dbKey:v(m$,U$.Aliased)?m$.fieldAlias:G.columns[A$].name,tsKey:A$,field:v(m$,G0)?T1(m$,W):m$,relationTableTsKey:void 0,isJson:!1,selection:[]});let h$=typeof Y.orderBy==="function"?Y.orderBy(q,by()):Y.orderBy??[];if(!Array.isArray(h$))h$=[h$];P=h$.map((A$)=>{if(v(A$,G0))return T1(A$,W);return nG(A$,W)}),Q=Y.limit,O=Y.offset;for(let{tsKey:A$,queryConfig:m$,relation:v$}of J$){let A0=hy(Z,X,v$),i=e5(v$.referencedTable),$$=X[i],r=`${W}_${A$}`,Q$=F$(...A0.fields.map((Z$,Q0)=>c(T1(A0.references[Q0],r),T1(Z$,W)))),T$=this.buildRelationalQuery({fullSchema:$,schema:Z,tableNamesMap:X,table:$[$$],tableConfig:Z[$$],queryConfig:v(v$,S9)?m$===!0?{limit:1}:{...m$,limit:1}:m$,tableAlias:r,joinOn:Q$,nestedQueryRelation:v$}),q$=_`(${T$.sql})`.as(A$);A.push({dbKey:A$,tsKey:A$,field:q$,relationTableTsKey:$$,isJson:!0,selection:T$.selection})}}if(A.length===0)throw new nX({message:`No fields selected for table "${G.tsName}" ("${W}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});let w;if(N=F$(U,N),D){let q=_`json_array(${_.join(A.map(({field:J$})=>v(J$,m0)?_.identifier(this.casing.getColumnCasing(J$)):v(J$,U$.Aliased)?J$.sql:J$),_`, `)})`;if(v(D,uG))q=_`coalesce(json_group_array(${q}), json_array())`;let K$=[{dbKey:"data",tsKey:"data",field:q.as("data"),isJson:!0,relationTableTsKey:G.tsName,selection:A}];if(Q!==void 0||O!==void 0||P.length>0)w=this.buildSelectQuery({table:WA(J,W),fields:{},fieldsFlat:[{path:[],field:_.raw("*")}],where:N,limit:Q,offset:O,orderBy:P,setOperators:[]}),N=void 0,Q=void 0,O=void 0,P=void 0;else w=WA(J,W);w=this.buildSelectQuery({table:v(w,$Z)?w:new k0(w,{},W),fields:{},fieldsFlat:K$.map(({field:J$})=>({path:[],field:v(J$,G0)?T1(J$,W):J$})),joins:M,where:N,limit:Q,offset:O,orderBy:P,setOperators:[]})}else w=this.buildSelectQuery({table:WA(J,W),fields:{},fieldsFlat:A.map(({field:q})=>({path:[],field:v(q,G0)?T1(q,W):q})),joins:M,where:N,limit:Q,offset:O,orderBy:P,setOperators:[]});return{tableTsKey:G.tsName,sql:w,selection:A}}}class aN extends rX{static[L]="SQLiteSyncDialect";migrate($,Z,X){let J=X===void 0?"__drizzle_migrations":typeof X==="string"?"__drizzle_migrations":X.migrationsTable??"__drizzle_migrations",G=_`
34
+ CREATE TABLE IF NOT EXISTS ${_.identifier(J)} (
35
35
  id SERIAL PRIMARY KEY,
36
36
  hash text NOT NULL,
37
37
  created_at numeric
38
38
  )
39
- `;Z.run(G);let W=Z.values(N`SELECT id, hash, created_at FROM ${N.identifier(J)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;Z.run(N`BEGIN`);try{for(let D of $)if(!W||Number(W[2])<D.folderMillis){for(let U of D.sql)Z.run(N.raw(U));Z.run(N`INSERT INTO ${N.identifier(J)} ("hash", "created_at") VALUES(${D.hash}, ${D.folderMillis})`)}Z.run(N`COMMIT`)}catch(D){throw Z.run(N`ROLLBACK`),D}}}class tN extends rX{static[L]="SQLiteAsyncDialect";async migrate($,Z,X){let J=X===void 0?"__drizzle_migrations":typeof X==="string"?"__drizzle_migrations":X.migrationsTable??"__drizzle_migrations",G=N`
40
- CREATE TABLE IF NOT EXISTS ${N.identifier(J)} (
39
+ `;Z.run(G);let W=Z.values(_`SELECT id, hash, created_at FROM ${_.identifier(J)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;Z.run(_`BEGIN`);try{for(let D of $)if(!W||Number(W[2])<D.folderMillis){for(let U of D.sql)Z.run(_.raw(U));Z.run(_`INSERT INTO ${_.identifier(J)} ("hash", "created_at") VALUES(${D.hash}, ${D.folderMillis})`)}Z.run(_`COMMIT`)}catch(D){throw Z.run(_`ROLLBACK`),D}}}class tN extends rX{static[L]="SQLiteAsyncDialect";async migrate($,Z,X){let J=X===void 0?"__drizzle_migrations":typeof X==="string"?"__drizzle_migrations":X.migrationsTable??"__drizzle_migrations",G=_`
40
+ CREATE TABLE IF NOT EXISTS ${_.identifier(J)} (
41
41
  id SERIAL PRIMARY KEY,
42
42
  hash text NOT NULL,
43
43
  created_at numeric
44
44
  )
45
- `;await Z.run(G);let W=(await Z.values(N`SELECT id, hash, created_at FROM ${N.identifier(J)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await Z.transaction(async(D)=>{for(let U of $)if(!W||Number(W[2])<U.folderMillis){for(let A of U.sql)await D.run(N.raw(A));await D.run(N`INSERT INTO ${N.identifier(J)} ("hash", "created_at") VALUES(${U.hash}, ${U.folderMillis})`)}})}}class eN{static[L]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class v6{static[L]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor($){this.fields=$.fields,this.session=$.session,this.dialect=$.dialect,this.withList=$.withList,this.distinct=$.distinct}from($){let Z=!!this.fields,X;if(this.fields)X=this.fields;else if(v($,k0))X=Object.fromEntries(Object.keys($._.selectedFields).map((J)=>[J,$[J]]));else if(v($,$7))X=$[I0].selectedFields;else if(v($,U$))X={};else X=Py($);return new $_({table:$,fields:X,isPartialSelect:Z,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class Cb extends eN{static[L]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:$,fields:Z,isPartialSelect:X,session:J,dialect:G,withList:Y,distinct:W}){super();this.config={withList:Y,table:$,fields:{...Z},distinct:W,setOperators:[]},this.isPartialSelect=X,this.session=J,this.dialect=G,this._={selectedFields:Z,config:this.config},this.tableName=pG($),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let D of I6($))this.usedTables.add(D)}getUsedTables(){return[...this.usedTables]}createJoin($){return(Z,X)=>{let J=this.tableName,G=pG(Z);for(let Y of I6(Z))this.usedTables.add(Y);if(typeof G==="string"&&this.config.joins?.some((Y)=>Y.alias===G))throw Error(`Alias "${G}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof J==="string")this.config.fields={[J]:this.config.fields};if(typeof G==="string"&&!v(Z,U$)){let Y=v(Z,k0)?Z._.selectedFields:v(Z,U6)?Z[I0].selectedFields:Z[e.Symbol.Columns];this.config.fields[G]=Y}}if(typeof X==="function")X=X(new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:X,table:Z,joinType:$,alias:G}),typeof G==="string")switch($){case"left":{this.joinsNotNullableMap[G]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([Y])=>[Y,!1])),this.joinsNotNullableMap[G]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[G]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([Y])=>[Y,!1])),this.joinsNotNullableMap[G]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator($,Z){return(X)=>{let J=typeof X==="function"?X(T7$()):X;if(!cG(this.getSelectedFields(),J.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:$,isAll:Z,rightSelect:J}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators($){return this.config.setOperators.push(...$),this}where($){if(typeof $==="function")$=$(new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=$,this}having($){if(typeof $==="function")$=$(new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=$,this}groupBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(Z)?Z:[Z]}else this.config.groupBy=$;return this}orderBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),X=Array.isArray(Z)?Z:[Z];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=X;else this.config.orderBy=X}else{let Z=$;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=Z;else this.config.orderBy=Z}return this}limit($){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=$;else this.config.limit=$;return this}offset($){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=$;else this.config.offset=$;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:$,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}as($){let Z=[];if(Z.push(...I6(this.config.table)),this.config.joins)for(let X of this.config.joins)Z.push(...I6(X.table));return new Proxy(new k0(this.getSQL(),this.config.fields,$,!1,[...new Set(Z)]),new e0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new e0({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class $_ extends Cb{static[L]="SQLiteSelect";_prepare($=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let Z=A6(this.config.fields),X=this.session[$?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),Z,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return X.joinsNotNullableMap=this.joinsNotNullableMap,X}$withCache($){return this.cacheConfig=$===void 0?{config:{},enable:!0,autoInvalidate:!0}:$===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...$},this}prepare(){return this._prepare(!1)}run=($)=>{return this._prepare().run($)};all=($)=>{return this._prepare().all($)};get=($)=>{return this._prepare().get($)};values=($)=>{return this._prepare().values($)};async execute(){return this.all()}}_y($_,[X8]);function KA($,Z){return(X,J,...G)=>{let Y=[J,...G].map((W)=>({type:$,isAll:Z,rightSelect:W}));for(let W of Y)if(!cG(X.getSelectedFields(),W.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return X.addSetOperators(Y)}}var T7$=()=>({union:M7$,unionAll:z7$,intersect:R7$,except:w7$}),M7$=KA("union",!1),z7$=KA("union",!0),R7$=KA("intersect",!1),w7$=KA("except",!1);class rG{static[L]="SQLiteQueryBuilder";dialect;dialectConfig;constructor($){this.dialect=v($,rX)?$:void 0,this.dialectConfig=v($,rX)?void 0:$}$with=($,Z)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(X);return new Proxy(new hG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new e0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...$){let Z=this;function X(G){return new v6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$})}function J(G){return new v6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$,distinct:!0})}return{select:X,selectDistinct:J}}select($){return new v6({fields:$??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct($){return new v6({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new aN(this.dialectConfig);return this.dialect}}class VA{constructor($,Z,X,J){this.table=$,this.session=Z,this.dialect=X,this.withList=J}static[L]="SQLiteInsertBuilder";values($){if($=Array.isArray($)?$:[$],$.length===0)throw Error("values() must be called with at least one value");let Z=$.map((X)=>{let J={},G=this.table[e.Symbol.Columns];for(let Y of Object.keys(X)){let W=X[Y];J[Y]=v(W,U$)?W:new g8(W,G[Y])}return J});return new Z_(this.table,Z,this.session,this.dialect,this.withList)}select($){let Z=typeof $==="function"?$(new rG):$;if(!v(Z,U$)&&!cG(this.table[$A],Z._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new Z_(this.table,Z,this.session,this.dialect,this.withList,!0)}}class Z_ extends X8{constructor($,Z,X,J,G,Y){super();this.session=X,this.dialect=J,this.config={table:$,values:Z,withList:G,select:Y}}static[L]="SQLiteInsert";config;returning($=this.config.table[$Z.Symbol.Columns]){return this.config.returning=A6($),this}onConflictDoNothing($={}){if(!this.config.onConflict)this.config.onConflict=[];if($.target===void 0)this.config.onConflict.push(N` on conflict do nothing`);else{let Z=Array.isArray($.target)?N`${$.target}`:N`${[$.target]}`,X=$.where?N` where ${$.where}`:N``;this.config.onConflict.push(N` on conflict ${Z} do nothing${X}`)}return this}onConflictDoUpdate($){if($.where&&($.targetWhere||$.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');if(!this.config.onConflict)this.config.onConflict=[];let Z=$.where?N` where ${$.where}`:void 0,X=$.targetWhere?N` where ${$.targetWhere}`:void 0,J=$.setWhere?N` where ${$.setWhere}`:void 0,G=Array.isArray($.target)?N`${$.target}`:N`${[$.target]}`,Y=this.dialect.buildUpdateSet(this.config.table,XA(this.config.table,$.set));return this.config.onConflict.push(N` on conflict ${G}${X} do update set ${Y}${Z}${J}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:$,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare($=!0){return this.session[$?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:I6(this.config.table)})}prepare(){return this._prepare(!1)}run=($)=>{return this._prepare().run($)};all=($)=>{return this._prepare().all($)};get=($)=>{return this._prepare().get($)};values=($)=>{return this._prepare().values($)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class QA{constructor($,Z,X,J){this.table=$,this.session=Z,this.dialect=X,this.withList=J}static[L]="SQLiteUpdateBuilder";set($){return new Lb(this.table,XA(this.table,$),this.session,this.dialect,this.withList)}}class Lb extends X8{constructor($,Z,X,J,G){super();this.session=X,this.dialect=J,this.config={set:Z,table:$,withList:G,joins:[]}}static[L]="SQLiteUpdate";config;from($){return this.config.from=$,this}createJoin($){return(Z,X)=>{let J=pG(Z);if(typeof J==="string"&&this.config.joins.some((G)=>G.alias===J))throw Error(`Alias "${J}" is already used in this query`);if(typeof X==="function"){let G=this.config.from?v(Z,$Z)?Z[e.Symbol.Columns]:v(Z,k0)?Z._.selectedFields:v(Z,$7)?Z[I0].selectedFields:void 0:void 0;X=X(new Proxy(this.config.table[e.Symbol.Columns],new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),G&&new Proxy(G,new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:X,table:Z,joinType:$,alias:J}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where($){return this.config.where=$,this}orderBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.table[e.Symbol.Columns],new e0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),X=Array.isArray(Z)?Z:[Z];this.config.orderBy=X}else{let Z=$;this.config.orderBy=Z}return this}limit($){return this.config.limit=$,this}returning($=this.config.table[$Z.Symbol.Columns]){return this.config.returning=A6($),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:$,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare($=!0){return this.session[$?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:I6(this.config.table)})}prepare(){return this._prepare(!1)}run=($)=>{return this._prepare().run($)};all=($)=>{return this._prepare().all($)};get=($)=>{return this._prepare().get($)};values=($)=>{return this._prepare().values($)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class lG extends U${constructor($){super(lG.buildEmbeddedCount($.source,$.filters).queryChunks);this.params=$,this.session=$.session,this.sql=lG.buildCount($.source,$.filters)}sql;static[L]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount($,Z){return N`(select count(*) from ${$}${N.raw(" where ").if(Z)}${Z})`}static buildCount($,Z){return N`select count(*) from ${$}${N.raw(" where ").if(Z)}${Z}`}then($,Z){return Promise.resolve(this.session.count(this.sql)).then($,Z)}catch($){return this.then(void 0,$)}finally($){return this.then((Z)=>{return $?.(),Z},(Z)=>{throw $?.(),Z})}}class J_{constructor($,Z,X,J,G,Y,W,D){this.mode=$,this.fullSchema=Z,this.schema=X,this.tableNamesMap=J,this.table=G,this.tableConfig=Y,this.dialect=W,this.session=D}static[L]="SQLiteAsyncRelationalQueryBuilder";findMany($){return this.mode==="sync"?new X_(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many"):new OA(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many")}findFirst($){return this.mode==="sync"?new X_(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first"):new OA(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first")}}class OA extends X8{constructor($,Z,X,J,G,Y,W,D,U){super();this.fullSchema=$,this.schema=Z,this.tableNamesMap=X,this.table=J,this.tableConfig=G,this.dialect=Y,this.session=W,this.config=D,this.mode=U}static[L]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare($=!1){let{query:Z,builtQuery:X}=this._toSQL();return this.session[$?"prepareOneTimeQuery":"prepareQuery"](X,void 0,this.mode==="first"?"get":"all",!0,(J,G)=>{let Y=J.map((W)=>YA(this.schema,this.tableConfig,W,Z.selection,G));if(this.mode==="first")return Y[0];return Y})}prepare(){return this._prepare(!1)}_toSQL(){let $=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),Z=this.dialect.sqlToQuery($.sql);return{query:$,builtQuery:Z}}toSQL(){return this._toSQL().builtQuery}executeRaw(){if(this.mode==="first")return this._prepare(!1).get();return this._prepare(!1).all()}async execute(){return this.executeRaw()}}class X_ extends OA{static[L]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class lX extends X8{constructor($,Z,X,J,G){super();this.execute=$,this.getSQL=Z,this.dialect=J,this.mapBatchResult=G,this.config={action:X}}static[L]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult($,Z){return Z?this.mapBatchResult($):$}_prepare(){return this}isResponseInArrayMode(){return!1}}class iG{constructor($,Z,X,J){this.resultKind=$,this.dialect=Z,this.session=X,this._=J?{schema:J.schema,fullSchema:J.fullSchema,tableNamesMap:J.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let G=this.query;if(this._.schema)for(let[Y,W]of Object.entries(this._.schema))G[Y]=new J_($,J.fullSchema,this._.schema,this._.tableNamesMap,J.fullSchema[Y],W,Z,X);this.$cache={invalidate:async(Y)=>{}}}static[L]="BaseSQLiteDatabase";query;$with=($,Z)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(new rG(X.dialect));return new Proxy(new hG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new e0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count($,Z){return new lG({source:$,filters:Z,session:this.session})}with(...$){let Z=this;function X(D){return new v6({fields:D??void 0,session:Z.session,dialect:Z.dialect,withList:$})}function J(D){return new v6({fields:D??void 0,session:Z.session,dialect:Z.dialect,withList:$,distinct:!0})}function G(D){return new QA(D,Z.session,Z.dialect,$)}function Y(D){return new VA(D,Z.session,Z.dialect,$)}function W(D){return new AA(D,Z.session,Z.dialect,$)}return{select:X,selectDistinct:J,update:G,insert:Y,delete:W}}select($){return new v6({fields:$??void 0,session:this.session,dialect:this.dialect})}selectDistinct($){return new v6({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update($){return new QA($,this.session,this.dialect)}$cache;insert($){return new VA($,this.session,this.dialect)}delete($){return new AA($,this.session,this.dialect)}run($){let Z=typeof $==="string"?N.raw($):$.getSQL();if(this.resultKind==="async")return new lX(async()=>this.session.run(Z),()=>Z,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(Z)}all($){let Z=typeof $==="string"?N.raw($):$.getSQL();if(this.resultKind==="async")return new lX(async()=>this.session.all(Z),()=>Z,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(Z)}get($){let Z=typeof $==="string"?N.raw($):$.getSQL();if(this.resultKind==="async")return new lX(async()=>this.session.get(Z),()=>Z,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(Z)}values($){let Z=typeof $==="string"?N.raw($):$.getSQL();if(this.resultKind==="async")return new lX(async()=>this.session.values(Z),()=>Z,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(Z)}transaction($,Z){return this.session.transaction($,Z)}}class qb{static[L]="Cache"}class sG extends qb{strategy(){return"all"}static[L]="NoopCache";async get($){return}async put($,Z,X,J){}async onMutate($){}}async function G_($,Z){let X=`${$}-${JSON.stringify(Z)}`,G=new TextEncoder().encode(X),Y=await crypto.subtle.digest("SHA-256",G);return[...new Uint8Array(Y)].map((U)=>U.toString(16).padStart(2,"0")).join("")}class Eb extends X8{constructor($){super();this.resultCb=$}static[L]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class Y_{constructor($,Z,X,J,G,Y){if(this.mode=$,this.executeMethod=Z,this.query=X,this.cache=J,this.queryMetadata=G,this.cacheConfig=Y,J&&J.strategy()==="all"&&Y===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[L]="PreparedQuery";joinsNotNullableMap;async queryWithCache($,Z,X){if(this.cache===void 0||v(this.cache,sG)||this.queryMetadata===void 0)try{return await X()}catch(J){throw new L4($,Z,J)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await X()}catch(J){throw new L4($,Z,J)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[J]=await Promise.all([X(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return J}catch(J){throw new L4($,Z,J)}if(!this.cacheConfig)try{return await X()}catch(J){throw new L4($,Z,J)}if(this.queryMetadata.type==="select"){let J=await this.cache.get(this.cacheConfig.tag??await G_($,Z),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(J===void 0){let G;try{G=await X()}catch(Y){throw new L4($,Z,Y)}return await this.cache.put(this.cacheConfig.tag??await G_($,Z),G,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),G}return J}try{return await X()}catch(J){throw new L4($,Z,J)}}getQuery(){return this.query}mapRunResult($,Z){return $}mapAllResult($,Z){throw Error("Not implemented")}mapGetResult($,Z){throw Error("Not implemented")}execute($){if(this.mode==="async")return this[this.executeMethod]($);return new Eb(()=>this[this.executeMethod]($))}mapResult($,Z){switch(this.executeMethod){case"run":return this.mapRunResult($,Z);case"all":return this.mapAllResult($,Z);case"get":return this.mapGetResult($,Z)}}}class W_{constructor($){this.dialect=$}static[L]="SQLiteSession";prepareOneTimeQuery($,Z,X,J,G,Y,W){return this.prepareQuery($,Z,X,J,G,Y,W)}run($){let Z=this.dialect.sqlToQuery($);try{return this.prepareOneTimeQuery(Z,void 0,"run",!1).run()}catch(X){throw new nX({cause:X,message:`Failed to run the query '${Z.sql}'`})}}extractRawRunValueFromBatchResult($){return $}all($){return this.prepareOneTimeQuery(this.dialect.sqlToQuery($),void 0,"run",!1).all()}extractRawAllValueFromBatchResult($){throw Error("Not implemented")}get($){return this.prepareOneTimeQuery(this.dialect.sqlToQuery($),void 0,"run",!1).get()}extractRawGetValueFromBatchResult($){throw Error("Not implemented")}values($){return this.prepareOneTimeQuery(this.dialect.sqlToQuery($),void 0,"run",!1).values()}async count($){return(await this.values($))[0][0]}extractRawValuesValueFromBatchResult($){throw Error("Not implemented")}}class D_ extends iG{constructor($,Z,X,J,G=0){super($,Z,X,J);this.schema=J,this.nestedIndex=G}static[L]="SQLiteTransaction";rollback(){throw new sN}}class NA extends W_{constructor($,Z,X,J,G){super(Z);this.client=$,this.schema=X,this.options=J,this.tx=G,this.logger=J.logger??new fN,this.cache=J.cache??new sG}static[L]="LibSQLSession";logger;cache;prepareQuery($,Z,X,J,G,Y,W){return new Sb(this.client,$,this.logger,this.cache,Y,W,Z,this.tx,X,J,G)}async batch($){let Z=[],X=[];for(let G of $){let Y=G._prepare(),W=Y.getQuery();Z.push(Y),X.push({sql:W.sql,args:W.params})}return(await this.client.batch(X)).map((G,Y)=>Z[Y].mapResult(G,!0))}async migrate($){let Z=[],X=[];for(let G of $){let Y=G._prepare(),W=Y.getQuery();Z.push(Y),X.push({sql:W.sql,args:W.params})}return(await this.client.migrate(X)).map((G,Y)=>Z[Y].mapResult(G,!0))}async transaction($,Z){let X=await this.client.transaction(),J=new NA(this.client,this.dialect,this.schema,this.options,X),G=new H_("async",this.dialect,J,this.schema);try{let Y=await $(G);return await X.commit(),Y}catch(Y){throw await X.rollback(),Y}}extractRawAllValueFromBatchResult($){return $.rows}extractRawGetValueFromBatchResult($){return $.rows[0]}extractRawValuesValueFromBatchResult($){return $.rows}}class H_ extends D_{static[L]="LibSQLTransaction";async transaction($){let Z=`sp${this.nestedIndex}`,X=new H_("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(N.raw(`savepoint ${Z}`));try{let J=await $(X);return await this.session.run(N.raw(`release savepoint ${Z}`)),J}catch(J){throw await this.session.run(N.raw(`rollback to savepoint ${Z}`)),J}}}class Sb extends Y_{constructor($,Z,X,J,G,Y,W,D,U,A,Q){super("async",U,Z,J,G,Y);this.client=$,this.logger=X,this.fields=W,this.tx=D,this._isResponseInArrayMode=A,this.customResultMapper=Q,this.customResultMapper=Q,this.fields=W}static[L]="LibSQLPreparedQuery";async run($){let Z=fG(this.query.params,$??{});return this.logger.logQuery(this.query.sql,Z),await this.queryWithCache(this.query.sql,Z,async()=>{let X={sql:this.query.sql,args:Z};return this.tx?this.tx.execute(X):this.client.execute(X)})}async all($){let{fields:Z,logger:X,query:J,tx:G,client:Y,customResultMapper:W}=this;if(!Z&&!W){let U=fG(J.params,$??{});return X.logQuery(J.sql,U),await this.queryWithCache(J.sql,U,async()=>{let A={sql:J.sql,args:U};return(G?G.execute(A):Y.execute(A)).then(({rows:Q})=>this.mapAllResult(Q))})}let D=await this.values($);return this.mapAllResult(D)}mapAllResult($,Z){if(Z)$=$.rows;if(!this.fields&&!this.customResultMapper)return $.map((X)=>xb(X));if(this.customResultMapper)return this.customResultMapper($,BA);return $.map((X)=>{return gN(this.fields,Array.prototype.slice.call(X).map((J)=>BA(J)),this.joinsNotNullableMap)})}async get($){let{fields:Z,logger:X,query:J,tx:G,client:Y,customResultMapper:W}=this;if(!Z&&!W){let U=fG(J.params,$??{});return X.logQuery(J.sql,U),await this.queryWithCache(J.sql,U,async()=>{let A={sql:J.sql,args:U};return(G?G.execute(A):Y.execute(A)).then(({rows:Q})=>this.mapGetResult(Q))})}let D=await this.values($);return this.mapGetResult(D)}mapGetResult($,Z){if(Z)$=$.rows;let X=$[0];if(!this.fields&&!this.customResultMapper)return xb(X);if(!X)return;if(this.customResultMapper)return this.customResultMapper($,BA);return gN(this.fields,Array.prototype.slice.call(X).map((J)=>BA(J)),this.joinsNotNullableMap)}async values($){let Z=fG(this.query.params,$??{});return this.logger.logQuery(this.query.sql,Z),await this.queryWithCache(this.query.sql,Z,async()=>{let X={sql:this.query.sql,args:Z};return(this.tx?this.tx.execute(X):this.client.execute(X)).then(({rows:J})=>J)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}function xb($){return Object.keys($).reduce((Z,X)=>{if(Object.prototype.propertyIsEnumerable.call($,X))Z[X]=$[X];return Z},{})}function BA($){if(typeof ArrayBuffer<"u"&&$ instanceof ArrayBuffer){if(typeof Buffer<"u"){if(!($ instanceof Buffer))return Buffer.from($);return $}if(typeof TextDecoder<"u")return new TextDecoder().decode($);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return $}class jb extends iG{static[L]="LibSQLDatabase";async batch($){return this.session.batch($)}}function iX($,Z={}){let X=new tN({casing:Z.casing}),J;if(Z.logger===!0)J=new mN;else if(Z.logger!==!1)J=Z.logger;let G;if(Z.schema){let D=gy(Z.schema,my);G={fullSchema:Z.schema,schema:D.tables,tableNamesMap:D.tableNamesMap}}let Y=new NA($,X,G,{logger:J,cache:Z.cache},void 0),W=new jb("async",X,Y,G);if(W.$client=$,W.$cache=Z.cache,W.$cache)W.$cache.invalidate=Z.cache?.onMutate;return W}function _A(...$){if(typeof $[0]==="string"){let Z=U_({url:$[0]});return iX(Z,$[1])}if(Fy($[0])){let{connection:Z,client:X,...J}=$[0];if(X)return iX(X,J);let G=typeof Z==="string"?U_({url:Z}):U_(Z);return iX(G,J)}return iX($[0],$[1])}(($)=>{function Z(X){return iX({},X)}$.mock=Z})(_A||(_A={}));function Ib($){if($.authToken!==void 0)return $.authToken;if($.authTokenEnv===void 0)return;return process.env[$.authTokenEnv]}function y6($){let{url:Z,schema:X}=$,J=Ib($),G=J?kb({url:Z,authToken:J}):kb({url:Z});return{db:_A(G,{schema:X}),client:G,url:Z}}async function b6($,Z){if(!Z.startsWith("file:"))return;await $.execute("PRAGMA journal_mode = WAL"),await $.execute("PRAGMA busy_timeout = 5000")}import C7$ from"crypto";import A_ from"fs";function vb($){let Z=$.migrationsFolder,X=[],J=`${Z}/meta/_journal.json`;if(!A_.existsSync(J))throw Error("Can't find meta/_journal.json file");let G=A_.readFileSync(`${Z}/meta/_journal.json`).toString(),Y=JSON.parse(G);for(let W of Y.entries){let D=`${Z}/${W.tag}.sql`;try{let U=A_.readFileSync(`${Z}/${W.tag}.sql`).toString(),A=U.split("--> statement-breakpoint").map((Q)=>{return Q});X.push({sql:A,bps:W.breakpoints,folderMillis:W.when,hash:C7$.createHash("sha256").update(U).digest("hex")})}catch{throw Error(`No file ${D} found in ${Z} folder`)}}return X}async function yb($,Z){let X=vb(Z),J=Z.migrationsTable??"__drizzle_migrations",G=N`
46
- CREATE TABLE IF NOT EXISTS ${N.identifier(J)} (
45
+ `;await Z.run(G);let W=(await Z.values(_`SELECT id, hash, created_at FROM ${_.identifier(J)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await Z.transaction(async(D)=>{for(let U of $)if(!W||Number(W[2])<U.folderMillis){for(let A of U.sql)await D.run(_.raw(A));await D.run(_`INSERT INTO ${_.identifier(J)} ("hash", "created_at") VALUES(${U.hash}, ${U.folderMillis})`)}})}}class eN{static[L]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class v6{static[L]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor($){this.fields=$.fields,this.session=$.session,this.dialect=$.dialect,this.withList=$.withList,this.distinct=$.distinct}from($){let Z=!!this.fields,X;if(this.fields)X=this.fields;else if(v($,k0))X=Object.fromEntries(Object.keys($._.selectedFields).map((J)=>[J,$[J]]));else if(v($,$7))X=$[I0].selectedFields;else if(v($,U$))X={};else X=Py($);return new $_({table:$,fields:X,isPartialSelect:Z,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class Cb extends eN{static[L]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:$,fields:Z,isPartialSelect:X,session:J,dialect:G,withList:Y,distinct:W}){super();this.config={withList:Y,table:$,fields:{...Z},distinct:W,setOperators:[]},this.isPartialSelect=X,this.session=J,this.dialect=G,this._={selectedFields:Z,config:this.config},this.tableName=pG($),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let D of I6($))this.usedTables.add(D)}getUsedTables(){return[...this.usedTables]}createJoin($){return(Z,X)=>{let J=this.tableName,G=pG(Z);for(let Y of I6(Z))this.usedTables.add(Y);if(typeof G==="string"&&this.config.joins?.some((Y)=>Y.alias===G))throw Error(`Alias "${G}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof J==="string")this.config.fields={[J]:this.config.fields};if(typeof G==="string"&&!v(Z,U$)){let Y=v(Z,k0)?Z._.selectedFields:v(Z,U6)?Z[I0].selectedFields:Z[e.Symbol.Columns];this.config.fields[G]=Y}}if(typeof X==="function")X=X(new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:X,table:Z,joinType:$,alias:G}),typeof G==="string")switch($){case"left":{this.joinsNotNullableMap[G]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([Y])=>[Y,!1])),this.joinsNotNullableMap[G]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[G]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([Y])=>[Y,!1])),this.joinsNotNullableMap[G]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator($,Z){return(X)=>{let J=typeof X==="function"?X(T7$()):X;if(!cG(this.getSelectedFields(),J.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:$,isAll:Z,rightSelect:J}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators($){return this.config.setOperators.push(...$),this}where($){if(typeof $==="function")$=$(new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=$,this}having($){if(typeof $==="function")$=$(new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=$,this}groupBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(Z)?Z:[Z]}else this.config.groupBy=$;return this}orderBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.fields,new e0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),X=Array.isArray(Z)?Z:[Z];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=X;else this.config.orderBy=X}else{let Z=$;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=Z;else this.config.orderBy=Z}return this}limit($){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=$;else this.config.limit=$;return this}offset($){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=$;else this.config.offset=$;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:$,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}as($){let Z=[];if(Z.push(...I6(this.config.table)),this.config.joins)for(let X of this.config.joins)Z.push(...I6(X.table));return new Proxy(new k0(this.getSQL(),this.config.fields,$,!1,[...new Set(Z)]),new e0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new e0({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class $_ extends Cb{static[L]="SQLiteSelect";_prepare($=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let Z=A6(this.config.fields),X=this.session[$?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),Z,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return X.joinsNotNullableMap=this.joinsNotNullableMap,X}$withCache($){return this.cacheConfig=$===void 0?{config:{},enable:!0,autoInvalidate:!0}:$===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...$},this}prepare(){return this._prepare(!1)}run=($)=>{return this._prepare().run($)};all=($)=>{return this._prepare().all($)};get=($)=>{return this._prepare().get($)};values=($)=>{return this._prepare().values($)};async execute(){return this.all()}}_y($_,[X8]);function KA($,Z){return(X,J,...G)=>{let Y=[J,...G].map((W)=>({type:$,isAll:Z,rightSelect:W}));for(let W of Y)if(!cG(X.getSelectedFields(),W.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return X.addSetOperators(Y)}}var T7$=()=>({union:M7$,unionAll:z7$,intersect:R7$,except:w7$}),M7$=KA("union",!1),z7$=KA("union",!0),R7$=KA("intersect",!1),w7$=KA("except",!1);class rG{static[L]="SQLiteQueryBuilder";dialect;dialectConfig;constructor($){this.dialect=v($,rX)?$:void 0,this.dialectConfig=v($,rX)?void 0:$}$with=($,Z)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(X);return new Proxy(new hG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new e0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...$){let Z=this;function X(G){return new v6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$})}function J(G){return new v6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$,distinct:!0})}return{select:X,selectDistinct:J}}select($){return new v6({fields:$??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct($){return new v6({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new aN(this.dialectConfig);return this.dialect}}class VA{constructor($,Z,X,J){this.table=$,this.session=Z,this.dialect=X,this.withList=J}static[L]="SQLiteInsertBuilder";values($){if($=Array.isArray($)?$:[$],$.length===0)throw Error("values() must be called with at least one value");let Z=$.map((X)=>{let J={},G=this.table[e.Symbol.Columns];for(let Y of Object.keys(X)){let W=X[Y];J[Y]=v(W,U$)?W:new g8(W,G[Y])}return J});return new Z_(this.table,Z,this.session,this.dialect,this.withList)}select($){let Z=typeof $==="function"?$(new rG):$;if(!v(Z,U$)&&!cG(this.table[$A],Z._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new Z_(this.table,Z,this.session,this.dialect,this.withList,!0)}}class Z_ extends X8{constructor($,Z,X,J,G,Y){super();this.session=X,this.dialect=J,this.config={table:$,values:Z,withList:G,select:Y}}static[L]="SQLiteInsert";config;returning($=this.config.table[$Z.Symbol.Columns]){return this.config.returning=A6($),this}onConflictDoNothing($={}){if(!this.config.onConflict)this.config.onConflict=[];if($.target===void 0)this.config.onConflict.push(_` on conflict do nothing`);else{let Z=Array.isArray($.target)?_`${$.target}`:_`${[$.target]}`,X=$.where?_` where ${$.where}`:_``;this.config.onConflict.push(_` on conflict ${Z} do nothing${X}`)}return this}onConflictDoUpdate($){if($.where&&($.targetWhere||$.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');if(!this.config.onConflict)this.config.onConflict=[];let Z=$.where?_` where ${$.where}`:void 0,X=$.targetWhere?_` where ${$.targetWhere}`:void 0,J=$.setWhere?_` where ${$.setWhere}`:void 0,G=Array.isArray($.target)?_`${$.target}`:_`${[$.target]}`,Y=this.dialect.buildUpdateSet(this.config.table,XA(this.config.table,$.set));return this.config.onConflict.push(_` on conflict ${G}${X} do update set ${Y}${Z}${J}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:$,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare($=!0){return this.session[$?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:I6(this.config.table)})}prepare(){return this._prepare(!1)}run=($)=>{return this._prepare().run($)};all=($)=>{return this._prepare().all($)};get=($)=>{return this._prepare().get($)};values=($)=>{return this._prepare().values($)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class QA{constructor($,Z,X,J){this.table=$,this.session=Z,this.dialect=X,this.withList=J}static[L]="SQLiteUpdateBuilder";set($){return new Lb(this.table,XA(this.table,$),this.session,this.dialect,this.withList)}}class Lb extends X8{constructor($,Z,X,J,G){super();this.session=X,this.dialect=J,this.config={set:Z,table:$,withList:G,joins:[]}}static[L]="SQLiteUpdate";config;from($){return this.config.from=$,this}createJoin($){return(Z,X)=>{let J=pG(Z);if(typeof J==="string"&&this.config.joins.some((G)=>G.alias===J))throw Error(`Alias "${J}" is already used in this query`);if(typeof X==="function"){let G=this.config.from?v(Z,$Z)?Z[e.Symbol.Columns]:v(Z,k0)?Z._.selectedFields:v(Z,$7)?Z[I0].selectedFields:void 0:void 0;X=X(new Proxy(this.config.table[e.Symbol.Columns],new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),G&&new Proxy(G,new e0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:X,table:Z,joinType:$,alias:J}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where($){return this.config.where=$,this}orderBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.table[e.Symbol.Columns],new e0({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),X=Array.isArray(Z)?Z:[Z];this.config.orderBy=X}else{let Z=$;this.config.orderBy=Z}return this}limit($){return this.config.limit=$,this}returning($=this.config.table[$Z.Symbol.Columns]){return this.config.returning=A6($),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:$,...Z}=this.dialect.sqlToQuery(this.getSQL());return Z}_prepare($=!0){return this.session[$?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:I6(this.config.table)})}prepare(){return this._prepare(!1)}run=($)=>{return this._prepare().run($)};all=($)=>{return this._prepare().all($)};get=($)=>{return this._prepare().get($)};values=($)=>{return this._prepare().values($)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class lG extends U${constructor($){super(lG.buildEmbeddedCount($.source,$.filters).queryChunks);this.params=$,this.session=$.session,this.sql=lG.buildCount($.source,$.filters)}sql;static[L]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount($,Z){return _`(select count(*) from ${$}${_.raw(" where ").if(Z)}${Z})`}static buildCount($,Z){return _`select count(*) from ${$}${_.raw(" where ").if(Z)}${Z}`}then($,Z){return Promise.resolve(this.session.count(this.sql)).then($,Z)}catch($){return this.then(void 0,$)}finally($){return this.then((Z)=>{return $?.(),Z},(Z)=>{throw $?.(),Z})}}class J_{constructor($,Z,X,J,G,Y,W,D){this.mode=$,this.fullSchema=Z,this.schema=X,this.tableNamesMap=J,this.table=G,this.tableConfig=Y,this.dialect=W,this.session=D}static[L]="SQLiteAsyncRelationalQueryBuilder";findMany($){return this.mode==="sync"?new X_(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many"):new OA(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many")}findFirst($){return this.mode==="sync"?new X_(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first"):new OA(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first")}}class OA extends X8{constructor($,Z,X,J,G,Y,W,D,U){super();this.fullSchema=$,this.schema=Z,this.tableNamesMap=X,this.table=J,this.tableConfig=G,this.dialect=Y,this.session=W,this.config=D,this.mode=U}static[L]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare($=!1){let{query:Z,builtQuery:X}=this._toSQL();return this.session[$?"prepareOneTimeQuery":"prepareQuery"](X,void 0,this.mode==="first"?"get":"all",!0,(J,G)=>{let Y=J.map((W)=>YA(this.schema,this.tableConfig,W,Z.selection,G));if(this.mode==="first")return Y[0];return Y})}prepare(){return this._prepare(!1)}_toSQL(){let $=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),Z=this.dialect.sqlToQuery($.sql);return{query:$,builtQuery:Z}}toSQL(){return this._toSQL().builtQuery}executeRaw(){if(this.mode==="first")return this._prepare(!1).get();return this._prepare(!1).all()}async execute(){return this.executeRaw()}}class X_ extends OA{static[L]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class lX extends X8{constructor($,Z,X,J,G){super();this.execute=$,this.getSQL=Z,this.dialect=J,this.mapBatchResult=G,this.config={action:X}}static[L]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult($,Z){return Z?this.mapBatchResult($):$}_prepare(){return this}isResponseInArrayMode(){return!1}}class iG{constructor($,Z,X,J){this.resultKind=$,this.dialect=Z,this.session=X,this._=J?{schema:J.schema,fullSchema:J.fullSchema,tableNamesMap:J.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let G=this.query;if(this._.schema)for(let[Y,W]of Object.entries(this._.schema))G[Y]=new J_($,J.fullSchema,this._.schema,this._.tableNamesMap,J.fullSchema[Y],W,Z,X);this.$cache={invalidate:async(Y)=>{}}}static[L]="BaseSQLiteDatabase";query;$with=($,Z)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(new rG(X.dialect));return new Proxy(new hG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new e0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count($,Z){return new lG({source:$,filters:Z,session:this.session})}with(...$){let Z=this;function X(D){return new v6({fields:D??void 0,session:Z.session,dialect:Z.dialect,withList:$})}function J(D){return new v6({fields:D??void 0,session:Z.session,dialect:Z.dialect,withList:$,distinct:!0})}function G(D){return new QA(D,Z.session,Z.dialect,$)}function Y(D){return new VA(D,Z.session,Z.dialect,$)}function W(D){return new AA(D,Z.session,Z.dialect,$)}return{select:X,selectDistinct:J,update:G,insert:Y,delete:W}}select($){return new v6({fields:$??void 0,session:this.session,dialect:this.dialect})}selectDistinct($){return new v6({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update($){return new QA($,this.session,this.dialect)}$cache;insert($){return new VA($,this.session,this.dialect)}delete($){return new AA($,this.session,this.dialect)}run($){let Z=typeof $==="string"?_.raw($):$.getSQL();if(this.resultKind==="async")return new lX(async()=>this.session.run(Z),()=>Z,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(Z)}all($){let Z=typeof $==="string"?_.raw($):$.getSQL();if(this.resultKind==="async")return new lX(async()=>this.session.all(Z),()=>Z,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(Z)}get($){let Z=typeof $==="string"?_.raw($):$.getSQL();if(this.resultKind==="async")return new lX(async()=>this.session.get(Z),()=>Z,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(Z)}values($){let Z=typeof $==="string"?_.raw($):$.getSQL();if(this.resultKind==="async")return new lX(async()=>this.session.values(Z),()=>Z,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(Z)}transaction($,Z){return this.session.transaction($,Z)}}class qb{static[L]="Cache"}class sG extends qb{strategy(){return"all"}static[L]="NoopCache";async get($){return}async put($,Z,X,J){}async onMutate($){}}async function G_($,Z){let X=`${$}-${JSON.stringify(Z)}`,G=new TextEncoder().encode(X),Y=await crypto.subtle.digest("SHA-256",G);return[...new Uint8Array(Y)].map((U)=>U.toString(16).padStart(2,"0")).join("")}class Eb extends X8{constructor($){super();this.resultCb=$}static[L]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class Y_{constructor($,Z,X,J,G,Y){if(this.mode=$,this.executeMethod=Z,this.query=X,this.cache=J,this.queryMetadata=G,this.cacheConfig=Y,J&&J.strategy()==="all"&&Y===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[L]="PreparedQuery";joinsNotNullableMap;async queryWithCache($,Z,X){if(this.cache===void 0||v(this.cache,sG)||this.queryMetadata===void 0)try{return await X()}catch(J){throw new L4($,Z,J)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await X()}catch(J){throw new L4($,Z,J)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[J]=await Promise.all([X(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return J}catch(J){throw new L4($,Z,J)}if(!this.cacheConfig)try{return await X()}catch(J){throw new L4($,Z,J)}if(this.queryMetadata.type==="select"){let J=await this.cache.get(this.cacheConfig.tag??await G_($,Z),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(J===void 0){let G;try{G=await X()}catch(Y){throw new L4($,Z,Y)}return await this.cache.put(this.cacheConfig.tag??await G_($,Z),G,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),G}return J}try{return await X()}catch(J){throw new L4($,Z,J)}}getQuery(){return this.query}mapRunResult($,Z){return $}mapAllResult($,Z){throw Error("Not implemented")}mapGetResult($,Z){throw Error("Not implemented")}execute($){if(this.mode==="async")return this[this.executeMethod]($);return new Eb(()=>this[this.executeMethod]($))}mapResult($,Z){switch(this.executeMethod){case"run":return this.mapRunResult($,Z);case"all":return this.mapAllResult($,Z);case"get":return this.mapGetResult($,Z)}}}class W_{constructor($){this.dialect=$}static[L]="SQLiteSession";prepareOneTimeQuery($,Z,X,J,G,Y,W){return this.prepareQuery($,Z,X,J,G,Y,W)}run($){let Z=this.dialect.sqlToQuery($);try{return this.prepareOneTimeQuery(Z,void 0,"run",!1).run()}catch(X){throw new nX({cause:X,message:`Failed to run the query '${Z.sql}'`})}}extractRawRunValueFromBatchResult($){return $}all($){return this.prepareOneTimeQuery(this.dialect.sqlToQuery($),void 0,"run",!1).all()}extractRawAllValueFromBatchResult($){throw Error("Not implemented")}get($){return this.prepareOneTimeQuery(this.dialect.sqlToQuery($),void 0,"run",!1).get()}extractRawGetValueFromBatchResult($){throw Error("Not implemented")}values($){return this.prepareOneTimeQuery(this.dialect.sqlToQuery($),void 0,"run",!1).values()}async count($){return(await this.values($))[0][0]}extractRawValuesValueFromBatchResult($){throw Error("Not implemented")}}class D_ extends iG{constructor($,Z,X,J,G=0){super($,Z,X,J);this.schema=J,this.nestedIndex=G}static[L]="SQLiteTransaction";rollback(){throw new sN}}class NA extends W_{constructor($,Z,X,J,G){super(Z);this.client=$,this.schema=X,this.options=J,this.tx=G,this.logger=J.logger??new fN,this.cache=J.cache??new sG}static[L]="LibSQLSession";logger;cache;prepareQuery($,Z,X,J,G,Y,W){return new Sb(this.client,$,this.logger,this.cache,Y,W,Z,this.tx,X,J,G)}async batch($){let Z=[],X=[];for(let G of $){let Y=G._prepare(),W=Y.getQuery();Z.push(Y),X.push({sql:W.sql,args:W.params})}return(await this.client.batch(X)).map((G,Y)=>Z[Y].mapResult(G,!0))}async migrate($){let Z=[],X=[];for(let G of $){let Y=G._prepare(),W=Y.getQuery();Z.push(Y),X.push({sql:W.sql,args:W.params})}return(await this.client.migrate(X)).map((G,Y)=>Z[Y].mapResult(G,!0))}async transaction($,Z){let X=await this.client.transaction(),J=new NA(this.client,this.dialect,this.schema,this.options,X),G=new H_("async",this.dialect,J,this.schema);try{let Y=await $(G);return await X.commit(),Y}catch(Y){throw await X.rollback(),Y}}extractRawAllValueFromBatchResult($){return $.rows}extractRawGetValueFromBatchResult($){return $.rows[0]}extractRawValuesValueFromBatchResult($){return $.rows}}class H_ extends D_{static[L]="LibSQLTransaction";async transaction($){let Z=`sp${this.nestedIndex}`,X=new H_("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(_.raw(`savepoint ${Z}`));try{let J=await $(X);return await this.session.run(_.raw(`release savepoint ${Z}`)),J}catch(J){throw await this.session.run(_.raw(`rollback to savepoint ${Z}`)),J}}}class Sb extends Y_{constructor($,Z,X,J,G,Y,W,D,U,A,Q){super("async",U,Z,J,G,Y);this.client=$,this.logger=X,this.fields=W,this.tx=D,this._isResponseInArrayMode=A,this.customResultMapper=Q,this.customResultMapper=Q,this.fields=W}static[L]="LibSQLPreparedQuery";async run($){let Z=fG(this.query.params,$??{});return this.logger.logQuery(this.query.sql,Z),await this.queryWithCache(this.query.sql,Z,async()=>{let X={sql:this.query.sql,args:Z};return this.tx?this.tx.execute(X):this.client.execute(X)})}async all($){let{fields:Z,logger:X,query:J,tx:G,client:Y,customResultMapper:W}=this;if(!Z&&!W){let U=fG(J.params,$??{});return X.logQuery(J.sql,U),await this.queryWithCache(J.sql,U,async()=>{let A={sql:J.sql,args:U};return(G?G.execute(A):Y.execute(A)).then(({rows:Q})=>this.mapAllResult(Q))})}let D=await this.values($);return this.mapAllResult(D)}mapAllResult($,Z){if(Z)$=$.rows;if(!this.fields&&!this.customResultMapper)return $.map((X)=>xb(X));if(this.customResultMapper)return this.customResultMapper($,BA);return $.map((X)=>{return gN(this.fields,Array.prototype.slice.call(X).map((J)=>BA(J)),this.joinsNotNullableMap)})}async get($){let{fields:Z,logger:X,query:J,tx:G,client:Y,customResultMapper:W}=this;if(!Z&&!W){let U=fG(J.params,$??{});return X.logQuery(J.sql,U),await this.queryWithCache(J.sql,U,async()=>{let A={sql:J.sql,args:U};return(G?G.execute(A):Y.execute(A)).then(({rows:Q})=>this.mapGetResult(Q))})}let D=await this.values($);return this.mapGetResult(D)}mapGetResult($,Z){if(Z)$=$.rows;let X=$[0];if(!this.fields&&!this.customResultMapper)return xb(X);if(!X)return;if(this.customResultMapper)return this.customResultMapper($,BA);return gN(this.fields,Array.prototype.slice.call(X).map((J)=>BA(J)),this.joinsNotNullableMap)}async values($){let Z=fG(this.query.params,$??{});return this.logger.logQuery(this.query.sql,Z),await this.queryWithCache(this.query.sql,Z,async()=>{let X={sql:this.query.sql,args:Z};return(this.tx?this.tx.execute(X):this.client.execute(X)).then(({rows:J})=>J)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}function xb($){return Object.keys($).reduce((Z,X)=>{if(Object.prototype.propertyIsEnumerable.call($,X))Z[X]=$[X];return Z},{})}function BA($){if(typeof ArrayBuffer<"u"&&$ instanceof ArrayBuffer){if(typeof Buffer<"u"){if(!($ instanceof Buffer))return Buffer.from($);return $}if(typeof TextDecoder<"u")return new TextDecoder().decode($);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return $}class jb extends iG{static[L]="LibSQLDatabase";async batch($){return this.session.batch($)}}function iX($,Z={}){let X=new tN({casing:Z.casing}),J;if(Z.logger===!0)J=new mN;else if(Z.logger!==!1)J=Z.logger;let G;if(Z.schema){let D=gy(Z.schema,my);G={fullSchema:Z.schema,schema:D.tables,tableNamesMap:D.tableNamesMap}}let Y=new NA($,X,G,{logger:J,cache:Z.cache},void 0),W=new jb("async",X,Y,G);if(W.$client=$,W.$cache=Z.cache,W.$cache)W.$cache.invalidate=Z.cache?.onMutate;return W}function _A(...$){if(typeof $[0]==="string"){let Z=U_({url:$[0]});return iX(Z,$[1])}if(Fy($[0])){let{connection:Z,client:X,...J}=$[0];if(X)return iX(X,J);let G=typeof Z==="string"?U_({url:Z}):U_(Z);return iX(G,J)}return iX($[0],$[1])}(($)=>{function Z(X){return iX({},X)}$.mock=Z})(_A||(_A={}));function Ib($){if($.authToken!==void 0)return $.authToken;if($.authTokenEnv===void 0)return;return process.env[$.authTokenEnv]}function y6($){let{url:Z,schema:X}=$,J=Ib($),G=J?kb({url:Z,authToken:J}):kb({url:Z});return{db:_A(G,{schema:X}),client:G,url:Z}}async function b6($,Z){if(!Z.startsWith("file:"))return;await $.execute("PRAGMA journal_mode = WAL"),await $.execute("PRAGMA busy_timeout = 5000")}import C7$ from"crypto";import A_ from"fs";function vb($){let Z=$.migrationsFolder,X=[],J=`${Z}/meta/_journal.json`;if(!A_.existsSync(J))throw Error("Can't find meta/_journal.json file");let G=A_.readFileSync(`${Z}/meta/_journal.json`).toString(),Y=JSON.parse(G);for(let W of Y.entries){let D=`${Z}/${W.tag}.sql`;try{let U=A_.readFileSync(`${Z}/${W.tag}.sql`).toString(),A=U.split("--> statement-breakpoint").map((Q)=>{return Q});X.push({sql:A,bps:W.breakpoints,folderMillis:W.when,hash:C7$.createHash("sha256").update(U).digest("hex")})}catch{throw Error(`No file ${D} found in ${Z} folder`)}}return X}async function yb($,Z){let X=vb(Z),J=Z.migrationsTable??"__drizzle_migrations",G=_`
46
+ CREATE TABLE IF NOT EXISTS ${_.identifier(J)} (
47
47
  id SERIAL PRIMARY KEY,
48
48
  hash text NOT NULL,
49
49
  created_at numeric
50
50
  )
51
- `;await $.session.run(G);let W=(await $.values(N`SELECT id, hash, created_at FROM ${N.identifier(J)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0,D=[];for(let U of X)if(!W||Number(W[2])<U.folderMillis){for(let A of U.sql)D.push($.run(N.raw(A)));D.push($.run(N`INSERT INTO ${N.identifier(J)} ("hash", "created_at") VALUES(${U.hash}, ${U.folderMillis})`))}await $.session.migrate(D)}async function L7$($){let{label:Z,config:X,schema:J,migrationsFolder:G,afterMigrate:Y}=$,W=`${Z}-migrate`,D=$.logger?.child(W)??M1.getInstance().child(W),{db:U,client:A,url:Q}=y6({url:X.url,schema:J,authToken:X.authToken,authTokenEnv:$.authTokenEnv});D.debug(`Running ${Z} migrations...`);try{await b6(A,Q),await yb(U,{migrationsFolder:G}),await Y?.(A),D.debug(`${Z} migrations completed successfully`)}catch(O){throw D.error(`${Z} migration failed:`,O),O}finally{A.close()}}function q7$($,Z){return $.includes("/dist/")?new URL(`./migrations/${Z}`,$).pathname:new URL("../drizzle",$).pathname}var h=TZ("entities",{id:X$("id").notNull(),entityType:X$("entityType").notNull(),content:X$("content").notNull(),contentHash:X$("contentHash").notNull(),visibility:X$("visibility",{enum:["public","shared","restricted"]}).notNull().default("public"),metadata:X$("metadata",{mode:"json"}).$type().notNull().default(N`'{}'`),created:a$("created").notNull().$defaultFn(()=>Date.now()),updated:a$("updated").notNull().$defaultFn(()=>Date.now())},($)=>{return{pk:j9({columns:[$.id,$.entityType]}),visibilityCheck:Tb("entities_visibility_check",N`${$.visibility} IN ('public', 'shared', 'restricted')`)}});var XZ=TZ("projection_dirty_inputs",{generation:a$("generation").primaryKey({autoIncrement:!0}),sourceType:X$("source_type").notNull(),sourceId:X$("source_id").notNull(),revision:X$("revision").notNull(),operation:X$("operation",{enum:["upsert","delete"]}).notNull(),markedAt:a$("marked_at").notNull()},($)=>({generationIdx:ZZ("projection_dirty_inputs_generation_idx").on($.generation)})),y0=TZ("projection_waves",{id:X$("id").primaryKey(),cutoffGeneration:a$("cutoff_generation").notNull(),graphFingerprint:X$("graph_fingerprint").notNull(),status:X$("status",{enum:["running","completed","failed"]}).notNull(),startedAt:a$("started_at").notNull(),completedAt:a$("completed_at")}),h8=TZ("projection_incidents",{waveId:X$("wave_id").primaryKey().references(()=>y0.id,{onDelete:"cascade"}),ruleId:X$("rule_id").notNull(),jobId:X$("job_id"),failureReason:X$("failure_reason").notNull(),recoveryGeneration:a$("recovery_generation").notNull(),createdAt:a$("created_at").notNull(),resolvedAt:a$("resolved_at")},($)=>({unresolvedIdx:ZZ("projection_incidents_unresolved_idx").on($.resolvedAt,$.createdAt)})),q4=TZ("projection_wave_inputs",{waveId:X$("wave_id").notNull().references(()=>y0.id,{onDelete:"cascade"}),sourceType:X$("source_type").notNull(),sourceId:X$("source_id").notNull(),revision:X$("revision").notNull(),operation:X$("operation",{enum:["upsert","delete"]}).notNull(),generation:a$("generation").notNull()},($)=>({pk:j9({columns:[$.waveId,$.sourceType,$.sourceId]}),generationIdx:ZZ("projection_wave_inputs_generation_idx").on($.waveId,$.generation)})),t$=TZ("projection_wave_rules",{waveId:X$("wave_id").notNull().references(()=>y0.id,{onDelete:"cascade"}),ruleId:X$("rule_id").notNull(),targetType:X$("target_type").notNull(),level:a$("level").notNull(),jobId:X$("job_id"),status:X$("status",{enum:["pending","queued","completed","failed"]}).notNull(),inputFingerprint:X$("input_fingerprint"),changedTargets:X$("changed_targets",{mode:"json"}).$type().notNull().default([])},($)=>({pk:j9({columns:[$.waveId,$.ruleId]}),statusIdx:ZZ("projection_wave_rules_status_idx").on($.waveId,$.status,$.level)})),K6=TZ("projection_rule_memos",{ruleId:X$("rule_id").notNull(),ruleVersion:X$("rule_version").notNull(),inputFingerprint:X$("input_fingerprint").notNull(),writeIntents:X$("write_intents",{mode:"json"}).$type().notNull(),createdAt:a$("created_at").notNull()},($)=>({pk:j9({columns:[$.ruleId,$.ruleVersion,$.inputFingerprint]})}));function K_($){return y6({url:$.url,schema:{entities:h,projectionDirtyInputs:XZ,projectionWaves:y0,projectionIncidents:h8,projectionWaveInputs:q4,projectionWaveRules:t$,projectionRuleMemos:K6},authToken:$.authToken,authTokenEnv:"DATABASE_AUTH_TOKEN"})}async function bb($){await $.execute(`
51
+ `;await $.session.run(G);let W=(await $.values(_`SELECT id, hash, created_at FROM ${_.identifier(J)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0,D=[];for(let U of X)if(!W||Number(W[2])<U.folderMillis){for(let A of U.sql)D.push($.run(_.raw(A)));D.push($.run(_`INSERT INTO ${_.identifier(J)} ("hash", "created_at") VALUES(${U.hash}, ${U.folderMillis})`))}await $.session.migrate(D)}async function L7$($){let{label:Z,config:X,schema:J,migrationsFolder:G,afterMigrate:Y}=$,W=`${Z}-migrate`,D=$.logger?.child(W)??M1.getInstance().child(W),{db:U,client:A,url:Q}=y6({url:X.url,schema:J,authToken:X.authToken,authTokenEnv:$.authTokenEnv});D.debug(`Running ${Z} migrations...`);try{await b6(A,Q),await yb(U,{migrationsFolder:G}),await Y?.(A),D.debug(`${Z} migrations completed successfully`)}catch(O){throw D.error(`${Z} migration failed:`,O),O}finally{A.close()}}function q7$($,Z){return $.includes("/dist/")?new URL(`./migrations/${Z}`,$).pathname:new URL("../drizzle",$).pathname}var h=TZ("entities",{id:X$("id").notNull(),entityType:X$("entityType").notNull(),content:X$("content").notNull(),contentHash:X$("contentHash").notNull(),visibility:X$("visibility",{enum:["public","shared","restricted"]}).notNull().default("public"),metadata:X$("metadata",{mode:"json"}).$type().notNull().default(_`'{}'`),created:a$("created").notNull().$defaultFn(()=>Date.now()),updated:a$("updated").notNull().$defaultFn(()=>Date.now())},($)=>{return{pk:j9({columns:[$.id,$.entityType]}),visibilityCheck:Tb("entities_visibility_check",_`${$.visibility} IN ('public', 'shared', 'restricted')`)}});var XZ=TZ("projection_dirty_inputs",{generation:a$("generation").primaryKey({autoIncrement:!0}),sourceType:X$("source_type").notNull(),sourceId:X$("source_id").notNull(),revision:X$("revision").notNull(),operation:X$("operation",{enum:["upsert","delete"]}).notNull(),markedAt:a$("marked_at").notNull()},($)=>({generationIdx:ZZ("projection_dirty_inputs_generation_idx").on($.generation)})),y0=TZ("projection_waves",{id:X$("id").primaryKey(),cutoffGeneration:a$("cutoff_generation").notNull(),graphFingerprint:X$("graph_fingerprint").notNull(),status:X$("status",{enum:["running","completed","failed"]}).notNull(),startedAt:a$("started_at").notNull(),completedAt:a$("completed_at")}),h8=TZ("projection_incidents",{waveId:X$("wave_id").primaryKey().references(()=>y0.id,{onDelete:"cascade"}),ruleId:X$("rule_id").notNull(),jobId:X$("job_id"),failureReason:X$("failure_reason").notNull(),recoveryGeneration:a$("recovery_generation").notNull(),createdAt:a$("created_at").notNull(),resolvedAt:a$("resolved_at")},($)=>({unresolvedIdx:ZZ("projection_incidents_unresolved_idx").on($.resolvedAt,$.createdAt)})),q4=TZ("projection_wave_inputs",{waveId:X$("wave_id").notNull().references(()=>y0.id,{onDelete:"cascade"}),sourceType:X$("source_type").notNull(),sourceId:X$("source_id").notNull(),revision:X$("revision").notNull(),operation:X$("operation",{enum:["upsert","delete"]}).notNull(),generation:a$("generation").notNull()},($)=>({pk:j9({columns:[$.waveId,$.sourceType,$.sourceId]}),generationIdx:ZZ("projection_wave_inputs_generation_idx").on($.waveId,$.generation)})),t$=TZ("projection_wave_rules",{waveId:X$("wave_id").notNull().references(()=>y0.id,{onDelete:"cascade"}),ruleId:X$("rule_id").notNull(),targetType:X$("target_type").notNull(),level:a$("level").notNull(),jobId:X$("job_id"),status:X$("status",{enum:["pending","queued","completed","failed"]}).notNull(),inputFingerprint:X$("input_fingerprint"),changedTargets:X$("changed_targets",{mode:"json"}).$type().notNull().default([])},($)=>({pk:j9({columns:[$.waveId,$.ruleId]}),statusIdx:ZZ("projection_wave_rules_status_idx").on($.waveId,$.status,$.level)})),K6=TZ("projection_rule_memos",{ruleId:X$("rule_id").notNull(),ruleVersion:X$("rule_version").notNull(),inputFingerprint:X$("input_fingerprint").notNull(),writeIntents:X$("write_intents",{mode:"json"}).$type().notNull(),createdAt:a$("created_at").notNull()},($)=>({pk:j9({columns:[$.ruleId,$.ruleVersion,$.inputFingerprint]})}));function K_($){return y6({url:$.url,schema:{entities:h,projectionDirtyInputs:XZ,projectionWaves:y0,projectionIncidents:h8,projectionWaveInputs:q4,projectionWaveRules:t$,projectionRuleMemos:K6},authToken:$.authToken,authTokenEnv:"DATABASE_AUTH_TOKEN"})}async function bb($){await $.execute(`
52
52
  CREATE VIRTUAL TABLE IF NOT EXISTS entity_fts USING fts5(
53
53
  entity_id UNINDEXED,
54
54
  entity_type UNINDEXED,
@@ -65,15 +65,15 @@ params: ${Z}`);if(this.query=$,this.params=Z,this.cause=X,Error.captureStackTrac
65
65
  `),await $.execute("UPDATE embeddings SET entity_type = 'note' WHERE entity_type = 'base'")}async function O_($){await $.execute(`
66
66
  CREATE INDEX IF NOT EXISTS embeddings_embedding_idx
67
67
  ON embeddings(libsql_vector_idx(embedding))
68
- `)}async function B_($,Z){await $.execute(`ATTACH DATABASE '${Z}' AS emb`)}function N_($){return $.startsWith("file:")?$.slice(5):$}function V6($){return"restricted"}var E7$=H.object({id:H.string().min(1,"Entity ID is required"),entityType:H.string().min(1,"Entity type is required"),contentHash:H.string().min(1,"Content hash is required"),operation:H.enum(["create","update"])});class aG{logger;embeddingService;entityService;messageBus;static createFresh($,Z,X){return new aG($,Z,X)}constructor($,Z,X){if(this.logger=M1.getInstance().child("EmbeddingJobHandler"),this.embeddingService=Z,this.entityService=$,X)this.messageBus=X}async process($,Z,X){try{this.logger.debug("Processing embedding job",{jobId:Z,entityId:$.id,entityType:$.entityType,contentHash:$.contentHash});let J=await this.entityService.getEntity({entityType:$.entityType,id:$.id,visibilityScope:V6("embedding regeneration must index every entity, no user surface")});if(!J){this.logger.warn("Entity no longer exists, skipping embedding job",{jobId:Z,entityId:$.id,entityType:$.entityType,operation:$.operation});return}if(J.contentHash!==$.contentHash){this.logger.info("Entity content changed since job created, skipping stale embedding",{jobId:Z,entityId:$.id,entityType:$.entityType,jobContentHash:$.contentHash,currentContentHash:J.contentHash});return}let{embedding:G,usage:Y}=await this.embeddingService.generateEmbedding(J.content);if(this.logger.info("ai:usage",{operation:"embedding",provider:"openai",model:"text-embedding-3-small",inputTokens:Y.tokens,outputTokens:0}),await this.entityService.storeEmbedding({entityId:$.id,entityType:$.entityType,embedding:G,contentHash:$.contentHash}),this.messageBus)this.logger.debug(`Emitting entity:embedding:ready event for ${$.entityType}:${$.id}`),await this.messageBus.send({type:Z7.embeddingReady,payload:{entityType:$.entityType,entityId:$.id,entity:J},sender:"entity-service",broadcast:!0});this.logger.debug("Embedding job completed successfully",{jobId:Z,entityId:$.id,embeddingDimensions:G.length})}catch(J){throw this.logger.error("Embedding job failed",{jobId:Z,entityId:$.id,entityType:$.entityType,error:J}),J}}async onError($,Z,X){this.logger.error("Embedding job error handler called",{jobId:X,entityId:Z.id,entityType:Z.entityType,contentHash:Z.contentHash,errorMessage:$.message,errorStack:$.stack})}validateAndParse($){let Z=E7$.safeParse($);if(!Z.success)return this.logger.warn("Invalid embedding job data",{data:$,validationError:Z.error.issues}),null;return this.logger.debug("Embedding job data validation successful",{entityId:Z.data.id,entityType:Z.data.entityType,contentHash:Z.data.contentHash}),Z.data}}function fb($,Z={}){if(Z.maxNeighborDistance!==void 0&&(!Number.isFinite(Z.maxNeighborDistance)||Z.maxNeighborDistance<0||Z.maxNeighborDistance>2))throw RangeError("maxNeighborDistance must be between 0 and 2");x7$($,Z.origin);let X=$.map((U)=>hb(U.embedding)),J=Z.origin?hb(Z.origin.embedding):S7$(X),G=k7$(X),Y=Z.origin?{kind:"entity",entityId:Z.origin.entityId,entityType:Z.origin.entityType}:{kind:"centroid"},W=$.map((U,A)=>({entityId:U.entityId,entityType:U.entityType,coordinates:G[A]??[0,0],distanceToOrigin:cb(X[A]??new Float64Array,J)})),D=W.map((U)=>U.distanceToOrigin);return{origin:Y,points:W,neighbors:j7$($,X,Z.maxNeighborDistance),distanceRange:{min:D.length>0?Math.min(...D):0,max:D.length>0?Math.max(...D):0}}}function x7$($,Z){let X=$[0]?.embedding.length??Z?.embedding.length;if(X===void 0)return;for(let J of $)if(J.embedding.length!==X)throw RangeError("Semantic embeddings must have matching dimensions");if(Z&&Z.embedding.length!==X)throw RangeError("Semantic origin must match point dimensions")}function hb($){let Z=0;for(let G of $)Z+=G*G;let X=Math.sqrt(Z),J=new Float64Array($.length);if(X<=0.000000000001)return J;for(let G=0;G<$.length;G+=1)J[G]=($[G]??0)/X;return J}function S7$($){let Z=$[0]?.length??0,X=new Float64Array(Z);if($.length===0)return X;for(let Y of $)for(let W=0;W<Z;W+=1)X[W]=(X[W]??0)+(Y[W]??0);let J=0;for(let Y of X)J+=Y*Y;let G=Math.sqrt(J);if(G<=0.000000000001)return new Float64Array(Z);for(let Y=0;Y<Z;Y+=1)X[Y]=(X[Y]??0)/G;return X}function cb($,Z){if($.length===0||Z.length===0)return 1;let X=0,J=0,G=0;for(let W=0;W<$.length;W+=1){let D=$[W]??0,U=Z[W]??0;X+=D*U,J+=D*D,G+=U*U}if(J<=0.000000000001||G<=0.000000000001)return 1;return 1-Math.max(-1,Math.min(1,X/Math.sqrt(J*G)))}function j7$($,Z,X){if(X===void 0)return[];let J=[];for(let G=0;G<$.length;G+=1)for(let Y=G+1;Y<$.length;Y+=1){let W=$[G],D=$[Y],U=Z[G],A=Z[Y];if(!W||!D||!U||!A)continue;let Q=cb(U,A);if(Q<=X)J.push({source:{entityId:W.entityId,entityType:W.entityType},target:{entityId:D.entityId,entityType:D.entityType},distance:Q})}return J}function k7$($){let Z=$.length;if(Z===0)return[];if(Z===1)return[[0,0]];let X=$[0]?.length??0,J=new Float64Array(X);for(let D of $)for(let U=0;U<X;U+=1)J[U]=(J[U]??0)+(D[U]??0)/Z;let G=Array.from({length:Z},()=>Array(Z).fill(0));for(let D=0;D<Z;D+=1)for(let U=D;U<Z;U+=1){let A=0,Q=$[D],O=$[U];if(!Q||!O)continue;for(let M=0;M<X;M+=1)A+=((Q[M]??0)-(J[M]??0))*((O[M]??0)-(J[M]??0));let P=G[D],_=G[U];if(P)P[U]=A;if(_)_[D]=A}let Y=[],W=[];for(let D=0;D<2;D+=1){let U=I7$(G,Y,D);if(!U){Y.push(Array(Z).fill(0)),W.push(0);continue}Y.push(U),W.push(Math.max(0,v7$(G,U)))}return Array.from({length:Z},(D,U)=>[(Y[0]?.[U]??0)*Math.sqrt(W[0]??0),(Y[1]?.[U]??0)*Math.sqrt(W[1]??0)])}function I7$($,Z,X){let J=$.length,G=Array.from({length:J},(W,D)=>Math.sin((D+1)*(X+1))+Math.cos((D+1)*(X+2)));if(G=mb(G,Z),__(G)<=0.000000000001)return null;for(let W=0;W<100;W+=1){let D=mb(pb($,G),Z),U=__(D);if(U<=0.000000000001)return null;G=D.map((A)=>A/U)}let Y=G.reduce((W,D,U)=>Math.abs(D)>Math.abs(G[W]??0)?U:W,0);if((G[Y]??0)<0)G=G.map((W)=>-W);return G}function pb($,Z){return $.map((X)=>X.reduce((J,G,Y)=>J+G*(Z[Y]??0),0))}function mb($,Z){let X=[...$];for(let G of Z){let Y=X.reduce((W,D,U)=>W+D*(G[U]??0),0);for(let W=0;W<X.length;W+=1)X[W]=(X[W]??0)-Y*(G[W]??0)}let J=__(X);return J<=0.000000000001?X:X.map((G)=>G/J)}function __($){return Math.sqrt($.reduce((Z,X)=>Z+X*X,0))}function v7$($,Z){let X=pb($,Z);return Z.reduce((J,G,Y)=>J+G*(X[Y]??0),0)}var y7$=12000,b7$=0.82;function db($,Z,X=y7$){let J=$.trim().replace(/\s+/g," ");if(J.length<=X)return J;return Z?.warn("Truncating search query that exceeds max length",{originalLength:J.length,truncatedLength:X}),J.slice(0,X)}var g7$=H.object({limit:H.number().int().positive().optional().default(20),offset:H.number().int().min(0).optional().default(0),types:H.array(H.string()).optional().default([]),excludeTypes:H.array(H.string()).optional().default([]),weight:H.record(H.string(),H.number()).optional(),visibilityScope:H.enum(["public","shared","restricted"]).optional(),includeUngenerated:H.boolean().optional().default(!1),minScore:H.number().min(0).optional()}),h7$=H.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},H.record(H.string(),H.unknown()));class PA{db;embeddingService;serializer;logger;embeddingsEnabled;constructor($,Z,X,J,G=!0){this.db=$,this.embeddingService=Z,this.serializer=X,this.logger=J.child("EntitySearch"),this.embeddingsEnabled=G}async search($,Z){let X=g7$.parse(Z??{}),{limit:J,offset:G,types:Y,excludeTypes:W,weight:D,visibilityScope:U,includeUngenerated:A,minScore:Q}=X,O=D&&Object.keys(D).length>0,P=db($,this.logger);if(this.logger.debug(`Searching entities with query (${P.length} chars)`),!this.embeddingsEnabled)return this.searchLexically(P,{limit:J,offset:G,types:Y,excludeTypes:W,weight:D,visibilityScope:U,includeUngenerated:A,minScore:Q});let{embedding:_}=await this.embeddingService.generateEmbedding(P),M=JSON.stringify(Array.from(_)),z=this.buildWeightMultiplier(O?D:void 0),x=[];if(Y.length>0)x.push(N`${h.entityType} IN (${N.join(Y.map((K$)=>N`${K$}`),N`, `)})`);if(W.length>0)x.push(N`${h.entityType} NOT IN (${N.join(W.map((K$)=>N`${K$}`),N`, `)})`);return this.searchWithAttachedDb(M,z,[...x,...this.buildVisibilityConditions(U),...this.buildGenerationStatusConditions(A)],J,G,P,Q)}async searchLexically($,Z){if(!$)return[];let X='"'+$.replace(/"/g,'""')+'"',J=[N`entity_fts MATCH ${X}`];if(Z.types.length>0)J.push(Z8(h.entityType,Z.types));if(Z.excludeTypes.length>0)J.push(N`${h.entityType} NOT IN (${N.join(Z.excludeTypes.map((D)=>N`${D}`),N`, `)})`);J.push(...this.buildVisibilityConditions(Z.visibilityScope),...this.buildGenerationStatusConditions(Z.includeUngenerated));let G=this.buildWeightMultiplier(Z.weight),Y=N`(0.5 + 0.5 * ((-bm25(entity_fts)) / (1.0 - bm25(entity_fts)))) * (${G})`;if(Z.minScore!==void 0)J.push(N`${Y} >= ${Z.minScore}`);let W=await this.db.select({id:h.id,entityType:h.entityType,content:h.content,contentHash:h.contentHash,visibility:h.visibility,created:h.created,updated:h.updated,metadata:h.metadata,weighted_score:Y.as("weighted_score")}).from(h).innerJoin(N`entity_fts`,N`entity_fts.entity_id = ${h.id} AND entity_fts.entity_type = ${h.entityType}`).where(F$(...J)).orderBy(N`weighted_score DESC`).limit(Z.limit).offset(Z.offset);return this.mapSearchResults(W,$)}buildVisibilityConditions($){let Z=$??"public";if(Z==="restricted")return[];return[Z8(h.visibility,w4(Z))]}buildGenerationStatusConditions($){if($)return[];return[N`(json_extract(${h.metadata}, '$.status') IS NULL OR json_extract(${h.metadata}, '$.status') NOT IN ('generating', 'failed'))`]}static FTS_ALPHA=0.3;buildWeightMultiplier($){let Z=Object.entries($??{}).filter(([,J])=>Number.isFinite(J));if(Z.length===0)return N`1.0`;let X=Z.map(([J,G])=>N`WHEN ${h.entityType} = ${J} THEN ${G}`);return N`CASE ${N.join(X,N` `)} ELSE 1.0 END`}async searchWithAttachedDb($,Z,X,J,G,Y,W){let D=PA.FTS_ALPHA,U=N`(1.0 - vector_distance_cos(emb_e.embedding, vector32(${$})) / 2.0) * (${Z})`,A=N`vector_distance_cos(emb_e.embedding, vector32(${$}))`,Q='"'+Y.replace(/"/g,'""')+'"',O=N`CASE WHEN EXISTS (
68
+ `)}async function B_($,Z){await $.execute(`ATTACH DATABASE '${Z}' AS emb`)}function N_($){return $.startsWith("file:")?$.slice(5):$}function V6($){return"restricted"}var E7$=H.object({id:H.string().min(1,"Entity ID is required"),entityType:H.string().min(1,"Entity type is required"),contentHash:H.string().min(1,"Content hash is required"),operation:H.enum(["create","update"])});class aG{logger;embeddingService;entityService;messageBus;static createFresh($,Z,X){return new aG($,Z,X)}constructor($,Z,X){if(this.logger=M1.getInstance().child("EmbeddingJobHandler"),this.embeddingService=Z,this.entityService=$,X)this.messageBus=X}async process($,Z,X){try{this.logger.debug("Processing embedding job",{jobId:Z,entityId:$.id,entityType:$.entityType,contentHash:$.contentHash});let J=await this.entityService.getEntity({entityType:$.entityType,id:$.id,visibilityScope:V6("embedding regeneration must index every entity, no user surface")});if(!J){this.logger.warn("Entity no longer exists, skipping embedding job",{jobId:Z,entityId:$.id,entityType:$.entityType,operation:$.operation});return}if(J.contentHash!==$.contentHash){this.logger.info("Entity content changed since job created, skipping stale embedding",{jobId:Z,entityId:$.id,entityType:$.entityType,jobContentHash:$.contentHash,currentContentHash:J.contentHash});return}let{embedding:G,usage:Y}=await this.embeddingService.generateEmbedding(J.content);if(this.logger.info("ai:usage",{operation:"embedding",provider:"openai",model:"text-embedding-3-small",inputTokens:Y.tokens,outputTokens:0}),await this.entityService.storeEmbedding({entityId:$.id,entityType:$.entityType,embedding:G,contentHash:$.contentHash}),this.messageBus)this.logger.debug(`Emitting entity:embedding:ready event for ${$.entityType}:${$.id}`),await this.messageBus.send({type:Z7.embeddingReady,payload:{entityType:$.entityType,entityId:$.id,entity:J},sender:"entity-service",broadcast:!0});this.logger.debug("Embedding job completed successfully",{jobId:Z,entityId:$.id,embeddingDimensions:G.length})}catch(J){throw this.logger.error("Embedding job failed",{jobId:Z,entityId:$.id,entityType:$.entityType,error:J}),J}}async onError($,Z,X){this.logger.error("Embedding job error handler called",{jobId:X,entityId:Z.id,entityType:Z.entityType,contentHash:Z.contentHash,errorMessage:$.message,errorStack:$.stack})}validateAndParse($){let Z=E7$.safeParse($);if(!Z.success)return this.logger.warn("Invalid embedding job data",{data:$,validationError:Z.error.issues}),null;return this.logger.debug("Embedding job data validation successful",{entityId:Z.data.id,entityType:Z.data.entityType,contentHash:Z.data.contentHash}),Z.data}}function fb($,Z={}){if(Z.maxNeighborDistance!==void 0&&(!Number.isFinite(Z.maxNeighborDistance)||Z.maxNeighborDistance<0||Z.maxNeighborDistance>2))throw RangeError("maxNeighborDistance must be between 0 and 2");x7$($,Z.origin);let X=$.map((U)=>hb(U.embedding)),J=Z.origin?hb(Z.origin.embedding):S7$(X),G=k7$(X),Y=Z.origin?{kind:"entity",entityId:Z.origin.entityId,entityType:Z.origin.entityType}:{kind:"centroid"},W=$.map((U,A)=>({entityId:U.entityId,entityType:U.entityType,coordinates:G[A]??[0,0],distanceToOrigin:cb(X[A]??new Float64Array,J)})),D=W.map((U)=>U.distanceToOrigin);return{origin:Y,points:W,neighbors:j7$($,X,Z.maxNeighborDistance),distanceRange:{min:D.length>0?Math.min(...D):0,max:D.length>0?Math.max(...D):0}}}function x7$($,Z){let X=$[0]?.embedding.length??Z?.embedding.length;if(X===void 0)return;for(let J of $)if(J.embedding.length!==X)throw RangeError("Semantic embeddings must have matching dimensions");if(Z&&Z.embedding.length!==X)throw RangeError("Semantic origin must match point dimensions")}function hb($){let Z=0;for(let G of $)Z+=G*G;let X=Math.sqrt(Z),J=new Float64Array($.length);if(X<=0.000000000001)return J;for(let G=0;G<$.length;G+=1)J[G]=($[G]??0)/X;return J}function S7$($){let Z=$[0]?.length??0,X=new Float64Array(Z);if($.length===0)return X;for(let Y of $)for(let W=0;W<Z;W+=1)X[W]=(X[W]??0)+(Y[W]??0);let J=0;for(let Y of X)J+=Y*Y;let G=Math.sqrt(J);if(G<=0.000000000001)return new Float64Array(Z);for(let Y=0;Y<Z;Y+=1)X[Y]=(X[Y]??0)/G;return X}function cb($,Z){if($.length===0||Z.length===0)return 1;let X=0,J=0,G=0;for(let W=0;W<$.length;W+=1){let D=$[W]??0,U=Z[W]??0;X+=D*U,J+=D*D,G+=U*U}if(J<=0.000000000001||G<=0.000000000001)return 1;return 1-Math.max(-1,Math.min(1,X/Math.sqrt(J*G)))}function j7$($,Z,X){if(X===void 0)return[];let J=[];for(let G=0;G<$.length;G+=1)for(let Y=G+1;Y<$.length;Y+=1){let W=$[G],D=$[Y],U=Z[G],A=Z[Y];if(!W||!D||!U||!A)continue;let Q=cb(U,A);if(Q<=X)J.push({source:{entityId:W.entityId,entityType:W.entityType},target:{entityId:D.entityId,entityType:D.entityType},distance:Q})}return J}function k7$($){let Z=$.length;if(Z===0)return[];if(Z===1)return[[0,0]];let X=$[0]?.length??0,J=new Float64Array(X);for(let D of $)for(let U=0;U<X;U+=1)J[U]=(J[U]??0)+(D[U]??0)/Z;let G=Array.from({length:Z},()=>Array(Z).fill(0));for(let D=0;D<Z;D+=1)for(let U=D;U<Z;U+=1){let A=0,Q=$[D],O=$[U];if(!Q||!O)continue;for(let M=0;M<X;M+=1)A+=((Q[M]??0)-(J[M]??0))*((O[M]??0)-(J[M]??0));let P=G[D],N=G[U];if(P)P[U]=A;if(N)N[D]=A}let Y=[],W=[];for(let D=0;D<2;D+=1){let U=I7$(G,Y,D);if(!U){Y.push(Array(Z).fill(0)),W.push(0);continue}Y.push(U),W.push(Math.max(0,v7$(G,U)))}return Array.from({length:Z},(D,U)=>[(Y[0]?.[U]??0)*Math.sqrt(W[0]??0),(Y[1]?.[U]??0)*Math.sqrt(W[1]??0)])}function I7$($,Z,X){let J=$.length,G=Array.from({length:J},(W,D)=>Math.sin((D+1)*(X+1))+Math.cos((D+1)*(X+2)));if(G=mb(G,Z),__(G)<=0.000000000001)return null;for(let W=0;W<100;W+=1){let D=mb(pb($,G),Z),U=__(D);if(U<=0.000000000001)return null;G=D.map((A)=>A/U)}let Y=G.reduce((W,D,U)=>Math.abs(D)>Math.abs(G[W]??0)?U:W,0);if((G[Y]??0)<0)G=G.map((W)=>-W);return G}function pb($,Z){return $.map((X)=>X.reduce((J,G,Y)=>J+G*(Z[Y]??0),0))}function mb($,Z){let X=[...$];for(let G of Z){let Y=X.reduce((W,D,U)=>W+D*(G[U]??0),0);for(let W=0;W<X.length;W+=1)X[W]=(X[W]??0)-Y*(G[W]??0)}let J=__(X);return J<=0.000000000001?X:X.map((G)=>G/J)}function __($){return Math.sqrt($.reduce((Z,X)=>Z+X*X,0))}function v7$($,Z){let X=pb($,Z);return Z.reduce((J,G,Y)=>J+G*(X[Y]??0),0)}var y7$=12000,b7$=0.82;function db($,Z,X=y7$){let J=$.trim().replace(/\s+/g," ");if(J.length<=X)return J;return Z?.warn("Truncating search query that exceeds max length",{originalLength:J.length,truncatedLength:X}),J.slice(0,X)}var g7$=H.object({limit:H.number().int().positive().optional().default(20),offset:H.number().int().min(0).optional().default(0),types:H.array(H.string()).optional().default([]),excludeTypes:H.array(H.string()).optional().default([]),weight:H.record(H.string(),H.number()).optional(),visibilityScope:H.enum(["public","shared","restricted"]).optional(),includeUngenerated:H.boolean().optional().default(!1),minScore:H.number().min(0).optional()}),h7$=H.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},H.record(H.string(),H.unknown()));class PA{db;embeddingService;serializer;logger;embeddingsEnabled;constructor($,Z,X,J,G=!0){this.db=$,this.embeddingService=Z,this.serializer=X,this.logger=J.child("EntitySearch"),this.embeddingsEnabled=G}async search($,Z){let X=g7$.parse(Z??{}),{limit:J,offset:G,types:Y,excludeTypes:W,weight:D,visibilityScope:U,includeUngenerated:A,minScore:Q}=X,O=D&&Object.keys(D).length>0,P=db($,this.logger);if(this.logger.debug(`Searching entities with query (${P.length} chars)`),!this.embeddingsEnabled)return this.searchLexically(P,{limit:J,offset:G,types:Y,excludeTypes:W,weight:D,visibilityScope:U,includeUngenerated:A,minScore:Q});let{embedding:N}=await this.embeddingService.generateEmbedding(P),M=JSON.stringify(Array.from(N)),w=this.buildWeightMultiplier(O?D:void 0),q=[];if(Y.length>0)q.push(_`${h.entityType} IN (${_.join(Y.map((K$)=>_`${K$}`),_`, `)})`);if(W.length>0)q.push(_`${h.entityType} NOT IN (${_.join(W.map((K$)=>_`${K$}`),_`, `)})`);return this.searchWithAttachedDb(M,w,[...q,...this.buildVisibilityConditions(U),...this.buildGenerationStatusConditions(A)],J,G,P,Q)}async searchLexically($,Z){if(!$)return[];let X='"'+$.replace(/"/g,'""')+'"',J=[_`entity_fts MATCH ${X}`];if(Z.types.length>0)J.push(Z8(h.entityType,Z.types));if(Z.excludeTypes.length>0)J.push(_`${h.entityType} NOT IN (${_.join(Z.excludeTypes.map((D)=>_`${D}`),_`, `)})`);J.push(...this.buildVisibilityConditions(Z.visibilityScope),...this.buildGenerationStatusConditions(Z.includeUngenerated));let G=this.buildWeightMultiplier(Z.weight),Y=_`(0.5 + 0.5 * ((-bm25(entity_fts)) / (1.0 - bm25(entity_fts)))) * (${G})`;if(Z.minScore!==void 0)J.push(_`${Y} >= ${Z.minScore}`);let W=await this.db.select({id:h.id,entityType:h.entityType,content:h.content,contentHash:h.contentHash,visibility:h.visibility,created:h.created,updated:h.updated,metadata:h.metadata,weighted_score:Y.as("weighted_score")}).from(h).innerJoin(_`entity_fts`,_`entity_fts.entity_id = ${h.id} AND entity_fts.entity_type = ${h.entityType}`).where(F$(...J)).orderBy(_`weighted_score DESC`).limit(Z.limit).offset(Z.offset);return this.mapSearchResults(W,$)}buildVisibilityConditions($){let Z=$??"public";if(Z==="restricted")return[];return[Z8(h.visibility,w4(Z))]}buildGenerationStatusConditions($){if($)return[];return[_`(json_extract(${h.metadata}, '$.status') IS NULL OR json_extract(${h.metadata}, '$.status') NOT IN ('generating', 'failed'))`]}static FTS_ALPHA=0.3;buildWeightMultiplier($){let Z=Object.entries($??{}).filter(([,J])=>Number.isFinite(J));if(Z.length===0)return _`1.0`;let X=Z.map(([J,G])=>_`WHEN ${h.entityType} = ${J} THEN ${G}`);return _`CASE ${_.join(X,_` `)} ELSE 1.0 END`}async searchWithAttachedDb($,Z,X,J,G,Y,W){let D=PA.FTS_ALPHA,U=_`(1.0 - vector_distance_cos(emb_e.embedding, vector32(${$})) / 2.0) * (${Z})`,A=_`vector_distance_cos(emb_e.embedding, vector32(${$}))`,Q='"'+Y.replace(/"/g,'""')+'"',O=_`CASE WHEN EXISTS (
69
69
  SELECT 1 FROM entity_fts WHERE entity_fts MATCH ${Q}
70
70
  AND entity_id = ${h.id} AND entity_type = ${h.entityType}
71
- ) THEN 1.0 ELSE 0.0 END`,P=N`(${1-D} * ${U}) + (${D} * ${O})`,_=await this.db.select({id:h.id,entityType:h.entityType,content:h.content,contentHash:h.contentHash,visibility:h.visibility,created:h.created,updated:h.updated,metadata:h.metadata,distance:A,weighted_score:P}).from(h).innerJoin(N`emb.embeddings AS emb_e`,N`${h.id} = emb_e.entity_id AND ${h.entityType} = emb_e.entity_type`).where(F$(N`${A} < ${b7$}`,...W!==void 0?[N`${P} >= ${W}`]:[],...X)).orderBy(PZ(P)).limit(J).offset(G);return this.mapSearchResults(_,Y)}async searchEntities($,Z,X){let J={types:[$],limit:X?.limit??20,offset:0,sortBy:"relevance",sortDirection:"desc"};return this.search(Z,J)}async projectSemanticSpace($){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let Z=$.types&&$.types.length>0?new Set($.types):void 0,X=Z?new Set(Z):void 0;if(X&&$.origin)X.add($.origin.entityType);let J=await this.readEmbeddings(X?Array.from(X):void 0,$.visibilityScope),G=$.origin,Y=G?J.find((D)=>D.entityId===G.entityId&&D.entityType===G.entityType):void 0,W=J.filter((D)=>{let U=Z?.has(D.entityType)??!0,A=D.entityId===G?.entityId&&D.entityType===G.entityType;return U&&!A});return fb(W,{...Y&&{origin:Y},...$.maxNeighborDistance!==void 0&&{maxNeighborDistance:$.maxNeighborDistance}})}async readEmbeddings($,Z){let X=this.buildVisibilityConditions(Z);if($&&$.length>0)X.push(Z8(h.entityType,$));let J=N`emb_e.embedding`.mapWith({mapFromDriverValue(G){if(!ArrayBuffer.isView(G))throw TypeError("Expected embedding blob to be an ArrayBuffer view");let Y=new Uint8Array(G.buffer,G.byteOffset,G.byteLength);if(Y.byteLength%Float32Array.BYTES_PER_ELEMENT!==0)throw RangeError("Embedding blob byte length must be divisible by 4");let W=new Uint8Array(Y.byteLength);return W.set(Y),new Float32Array(W.buffer)}});return this.db.select({entityId:h.id,entityType:h.entityType,embedding:J}).from(h).innerJoin(N`emb.embeddings AS emb_e`,N`${h.id} = emb_e.entity_id AND ${h.entityType} = emb_e.entity_type`).where(X.length>0?F$(...X):void 0).orderBy(v0(h.entityType),v0(h.id))}async searchWithDistances($){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let Z=db($,this.logger),{embedding:X}=await this.embeddingService.generateEmbedding(Z),J=JSON.stringify(Array.from(X)),G=N`vector_distance_cos(emb_e.embedding, vector32(${J}))`;return await this.db.select({entityId:h.id,entityType:h.entityType,distance:G}).from(h).innerJoin(N`emb.embeddings AS emb_e`,N`${h.id} = emb_e.entity_id AND ${h.entityType} = emb_e.entity_type`).orderBy(N`${G} ASC`)}mapSearchResults($,Z){let X=[];for(let G of $)try{let Y=h7$.parse(G.metadata),W=this.serializer.reconstructEntity({id:G.id,entityType:G.entityType,content:G.content,contentHash:G.contentHash,visibility:G.visibility,created:G.created,updated:G.updated,metadata:Y});X.push({entity:W,score:G.weighted_score,excerpt:this.createExcerpt(G.content,Z)})}catch(Y){this.logger.error(`Failed to parse entity during search: ${Y}`)}let J=Z.length>50?Z.substring(0,50)+"...":Z;return this.logger.debug(`Found ${X.length} results for query "${J}"`),X}createExcerpt($,Z){let J=Z.toLowerCase(),Y=$.toLowerCase().indexOf(J);if(Y!==-1){let W=Math.max(0,Y-50),D=Math.min($.length,Y+J.length+50),U=$.slice(W,D);if(W>0)U="..."+U;if(D<$.length)U=U+"...";return U}return $.slice(0,200)+($.length>200?"...":"")}}class P_{entityRegistry;logger;constructor($,Z){this.entityRegistry=$,this.logger=Z.child("EntitySerializer")}serializeEntity($){let Z=this.entityRegistry.getAdapter($.entityType);return t5(Z.toMarkdown($),$.visibility)}deserializeEntity($,Z){let X=this.entityRegistry.getAdapter(Z),J;try{J=X.fromMarkdown($)}catch(A){throw iU(Z,A)??A}let{metadata:G,visibility:Y,...W}=J,D=rU($),U=this.stripPolicyMetadata(G??{});return{...W,...D&&{visibility:D},metadata:U}}async convertToEntity($){try{return this.reconstructEntity($)}catch(Z){let X=d$(Z);return this.logger.error(`Failed to parse entity of type ${$.entityType} with ID ${$.id}: ${X}`),null}}async convertToEntities($,Z){let X=[];for(let J of $)try{X.push(this.reconstructEntity(J))}catch(G){let Y=d$(G);this.logger.error(`Failed to parse entity of type ${Z} with ID ${J.id}: ${Y}`)}return X}reconstructEntity($){let Z=this.entityRegistry.getAdapter($.entityType),X=Z.fromMarkdown($.content),{metadata:J,visibility:G,...Y}=X,W={id:$.id,entityType:$.entityType,content:$.content,contentHash:$.contentHash,created:new Date($.created).toISOString(),updated:new Date($.updated).toISOString(),visibility:$.visibility,...Y,...this.stripPolicyMetadata($.metadata),metadata:this.stripPolicyMetadata($.metadata)};return Z.schema.parse(W)}prepareEntityForStorage($,Z){let X=this.entityRegistry.getAdapter(Z),J=t5(X.toMarkdown($),$.visibility),G=this.stripPolicyMetadata(X.extractMetadata($));return{markdown:J,metadata:G}}stripPolicyMetadata($){let{visibility:Z,...X}=$;return X}}var m7$=H.record(H.string(),H.unknown());function F_($){return{id:$.id,entityType:$.entityType,content:$.content,contentHash:$.contentHash,visibility:sU($.visibility),created:$.created,updated:$.updated,metadata:m7$.parse($.metadata)}}var f7$=H.object({field:H.string(),direction:H.enum(["asc","desc"]),nullsFirst:H.boolean().optional()}),c7$=H.object({limit:H.number().int().positive().optional(),offset:H.number().int().min(0).optional().default(0),sortFields:H.array(f7$).optional(),filter:H.object({metadata:H.record(H.string(),H.unknown()).optional(),visibilityScope:H.enum(["public","shared","restricted"]).optional()}).optional(),publishedOnly:H.boolean().optional()});class T_{db;embeddingDb;serializer;logger;constructor($){this.db=$.db,this.embeddingDb=$.embeddingDb,this.serializer=$.serializer,this.logger=$.logger.child("EntityQueries")}async getEntityData($,Z,X){this.logger.debug(`Getting entity of type ${$} with ID ${Z}`);let J=X??"public",G=[c(h.id,Z),c(h.entityType,$)];if(J!=="restricted")G.push(Z8(h.visibility,w4(J)));let Y=await this.db.select().from(h).where(F$(...G)).limit(1);if(Y.length===0)return this.logger.debug(`Entity of type ${$} with ID ${Z} not found`),null;let W=Y[0];if(!W)return null;return F_(W)}async listEntities($,Z={},X){let J=c7$.parse(Z),{limit:G,offset:Y,sortFields:W,filter:D,publishedOnly:U}=J;this.logger.debug(`Listing entities of type ${$} (limit: ${G}, offset: ${Y}, filter: ${JSON.stringify(D)}, publishedOnly: ${U})`);let A=this.buildWhereConditions($,U,D?.metadata,D?.visibilityScope,X),Q=this.buildOrderByClauses(W),O=this.db.select().from(h).where(F$(...A)).orderBy(...Q).offset(Y),P=G!==void 0?await O.limit(G):await O,_=await this.serializer.convertToEntities(P.map(F_),$);return this.logger.debug(`Listed ${_.length} entities of type ${$}`),_}buildWhereConditions($,Z,X,J,G){let Y=[c(h.entityType,$)];if(Z){let D=N`json_extract(${h.metadata}, '$.status')`;if(G&&G.length>0)Y.push(N`${D} IN (${N.join(G.map((U)=>N`${U}`),N`, `)})`);else Y.push(N`(${D} = 'published' OR ${D} = 'active' OR ${D} IS NULL)`)}let W=J??"public";if(W!=="restricted")Y.push(Z8(h.visibility,w4(W)));if(X){for(let[D,U]of Object.entries(X))if(U!==void 0){let A=`$.${D}`;Y.push(N`json_extract(${h.metadata}, ${A}) = ${U}`)}}return Y}buildOrderByClauses($){if(!$||$.length===0)return[PZ(h.updated)];return $.flatMap(({field:Z,direction:X,nullsFirst:J})=>{let G=X==="desc"?PZ:v0;if(Z==="id")return[G(h.id)];if(Z==="created"){let W=h.created;if(J)return[v0(uX(W)),G(W)];return[G(W)]}if(Z==="updated"){let W=h.updated;if(J)return[v0(uX(W)),G(W)];return[G(W)]}let Y=N`json_extract(${h.metadata}, '$.' || ${Z})`;if(J)return[v0(uX(Y)),G(Y)];return[G(Y)]})}async countEntities($,Z={},X){let J=this.buildWhereConditions($,Z.publishedOnly,Z.filter?.metadata,Z.filter?.visibilityScope,X),G=await this.db.select({count:N`COUNT(*)`}).from(h).where(F$(...J));return Number(G[0]?.count??0)}async getEntityCounts($){this.logger.debug("Getting entity counts by type");let Z=$??"public",X=[];if(Z!=="restricted")X.push(Z8(h.visibility,w4(Z)));let J=this.db.select({entityType:h.entityType,count:N`COUNT(*)`.as("count")}).from(h),G=await(X.length>0?J.where(F$(...X)).groupBy(h.entityType):J.groupBy(h.entityType));return this.logger.debug(`Found ${G.length} entity types`),G.map((Y)=>({entityType:Y.entityType,count:Number(Y.count)}))}async entityExists($,Z){return(await this.db.select({id:h.id}).from(h).where(F$(c(h.entityType,$),c(h.id,Z))).limit(1)).length>0}async deleteEntity($,Z){if(this.logger.debug(`Deleting entity of type ${$} with ID ${Z}`),!await this.entityExists($,Z))return this.logger.debug(`Entity of type ${$} with ID ${Z} not found for deletion`),!1;return await this.embeddingDb.delete(f0).where(F$(c(f0.entityType,$),c(f0.entityId,Z))),await this.db.run(N`DELETE FROM entity_fts WHERE entity_id = ${Z} AND entity_type = ${$}`),await this.db.delete(h).where(F$(c(h.entityType,$),c(h.id,Z))),this.logger.debug(`Deleted entity of type ${$} with ID ${Z}`),!0}}import{webcrypto as ob}from"crypto";var ub="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var p7$=128,k9,sX;function d7$($){if($<0)throw RangeError("Wrong ID size");try{if(!k9||k9.length<$)k9=Buffer.allocUnsafe($*p7$),ob.getRandomValues(k9),sX=0;else if(sX+$>k9.length)ob.getRandomValues(k9),sX=0}catch(Z){throw k9=void 0,Z}sX+=$}function M_($=21){d7$($|=0);let Z="";for(let X=sX-$;X<sX;X++)Z+=ub[k9[X]&63];return Z}function qZ($=12){return M_($)}function cM$($){return`${$}_${M_(12)}`}var u7$=H.custom(($)=>typeof $==="object"&&$!==null&&!Array.isArray($));function R_($){if(Array.isArray($))return $.map((X)=>X===void 0?null:R_(X));let Z=u7$.safeParse($);if(Z.success)return Object.fromEntries(Object.entries(Z.data).filter(([,X])=>X!==void 0).sort(([X],[J])=>X.localeCompare(J)).map(([X,J])=>[X,R_(J)]));return $}function w_($){return JSON.stringify(R_($))}function z_($){return I9(w_($))}var o7$=H.object({id:H.string().min(1),entityType:H.string().min(1),contentHash:H.string().min(1)});function n7$($){try{let Z=o7$.parse(JSON.parse($.data));return{entityId:Z.id,entityType:Z.entityType,contentHash:Z.contentHash}}catch{return null}}function nb($){return`${$.entityType}:${$.entityId}:${$.contentHash}`}function r7$($){for(let Z=$;Z instanceof Error;Z=Z.cause)if(Z.message.includes("UNIQUE constraint failed")||Z.message.includes("SQLITE_CONSTRAINT"))return!0;return!1}class C_ extends Error{}class L_{db;embeddingDb;entityRegistry;entitySerializer;entityQueries;jobQueueService;messageBus;mutationAdmission;projectionStore;embeddingsEnabled;projectionWakeup;logger;constructor($){if(this.db=$.db,this.embeddingDb=$.embeddingDb,this.entityRegistry=$.entityRegistry,this.entitySerializer=$.entitySerializer,this.entityQueries=$.entityQueries,this.jobQueueService=$.jobQueueService,this.projectionStore=$.projectionStore,this.embeddingsEnabled=$.embeddingsEnabled,this.logger=$.logger.child("EntityMutations"),$.messageBus)this.messageBus=$.messageBus;if($.mutationAdmission)this.mutationAdmission=$.mutationAdmission}setProjectionWakeup($){this.projectionWakeup=$;let Z=!0;return()=>{if(!Z)return;if(Z=!1,this.projectionWakeup===$)this.projectionWakeup=void 0}}async createEntity($){let{entity:Z,options:X}=$;this.logger.debug(`Creating entity asynchronously of type: ${Z.entityType}`);let J=new Date().toISOString(),G={...Z,id:Z.id??qZ(),created:Z.created??J,updated:Z.updated??J,contentHash:I9(Z.content)},Y=this.entityRegistry.validateEntity(Z.entityType,G),W=this.entityRegistry.getPersistValidator(Y.entityType);if(W)await W(Y,{operation:"create"});let{markdown:D,metadata:U}=this.entitySerializer.prepareEntityForStorage(Y,Y.entityType),A=I9(D),Q=Y.id;if(X?.deduplicateId)Q=await this.resolveUniqueId(Y.id,Y.entityType);return await this.mutationAdmission?.assertMutationAdmission({operation:"create",entityType:Y.entityType,entityId:Q}),await this.projectionStore.withDirtyInput({sourceType:Y.entityType,sourceId:Q,revision:z_({contentHash:A,metadata:U,visibility:Y.visibility}),operation:"upsert",markedAt:Date.now()},async(O)=>{await O.insert(h).values({id:Q,entityType:Y.entityType,content:D,contentHash:A,visibility:Y.visibility,metadata:U,created:new Date(Y.created).getTime(),updated:new Date(Y.updated).getTime()}),await this.upsertFtsIndex(O,Q,Y.entityType,D)}),await this.notifyProjectionScheduler(),this.logger.debug(`Persisted entity ${Y.entityType}:${Q} immediately`),await this.emitEntityEvent(Z7.created,Y.entityType,Q,{...Y,id:Q},void 0,X?.eventContext),this.enqueueEmbeddingJob({entityId:Q,entityType:Y.entityType,contentHash:A,operation:"create",...X?.priority!==void 0&&{priority:X.priority},...X?.maxRetries!==void 0&&{maxRetries:X.maxRetries},...X?.eventContext&&{eventContext:X.eventContext}})}async updateEntity($){let{entity:Z,options:X}=$;this.logger.debug(`Updating entity asynchronously: ${Z.entityType} with ID ${Z.id}`);let J={...Z,updated:new Date().toISOString(),contentHash:I9(Z.content)},G=this.entityRegistry.validateEntity(Z.entityType,J),Y=this.entityRegistry.getPersistValidator(G.entityType);if(Y)await Y(G,{operation:"update"});let{markdown:W,metadata:D}=this.entitySerializer.prepareEntityForStorage(G,G.entityType),U=I9(W),Q=(await this.db.select({contentHash:h.contentHash,visibility:h.visibility,metadata:h.metadata}).from(h).where(F$(c(h.id,G.id),c(h.entityType,G.entityType))).limit(1)).at(0);if(!Q)throw Error(`Entity not found: ${G.entityType}:${G.id}`);if(X?.expectedContentHash!==void 0&&Q.contentHash!==X.expectedContentHash)return this.logger.debug(`Skipping stale update for ${G.entityType}:${G.id}`),{entityId:G.id,jobId:"",skipped:!0,skipReason:"content-conflict"};if(Q.contentHash===U&&Q.visibility===G.visibility&&w_(Q.metadata)===w_(D)){if(this.logger.debug(`Skipping no-op update for ${G.entityType}:${G.id}`),X?.eventContext)await this.emitEntityEvent(Z7.updated,G.entityType,G.id,G,Q.metadata,X.eventContext);return{entityId:G.id,jobId:"",skipped:!0}}await this.mutationAdmission?.assertMutationAdmission({operation:"update",entityType:G.entityType,entityId:G.id});try{await this.projectionStore.withDirtyInput({sourceType:G.entityType,sourceId:G.id,revision:z_({contentHash:U,metadata:D,visibility:G.visibility}),operation:"upsert",markedAt:Date.now()},async(O)=>{let P=await O.update(h).set({content:W,contentHash:U,visibility:G.visibility,metadata:D,updated:new Date(G.updated).getTime()}).where(F$(c(h.id,G.id),c(h.entityType,G.entityType),X?.expectedContentHash!==void 0?c(h.contentHash,X.expectedContentHash):void 0));if(X?.expectedContentHash!==void 0&&Number(P.rowsAffected)===0)throw new C_;await this.upsertFtsIndex(O,G.id,G.entityType,W)})}catch(O){if(!(O instanceof C_))throw O;return this.logger.debug(`Skipping concurrently stale update for ${G.entityType}:${G.id}`),{entityId:G.id,jobId:"",skipped:!0,skipReason:"content-conflict"}}return await this.notifyProjectionScheduler(),this.logger.debug(`Updated entity ${G.entityType}:${G.id} immediately`),await this.emitEntityEvent(Z7.updated,G.entityType,G.id,G,Q.metadata,X?.eventContext),this.enqueueEmbeddingJob({entityId:G.id,entityType:G.entityType,contentHash:U,operation:"update",...X?.priority!==void 0&&{priority:X.priority},...X?.maxRetries!==void 0&&{maxRetries:X.maxRetries},...X?.eventContext&&{eventContext:X.eventContext}})}async deleteEntity($){let{entityType:Z,id:X,options:J}=$,G=await this.entityQueries.getEntityData(Z,X),Y=G?await this.entitySerializer.convertToEntity(G)??void 0:void 0;if(G)await this.mutationAdmission?.assertMutationAdmission({operation:"delete",entityType:Z,entityId:X});if(!G)return!1;return await this.embeddingDb.delete(f0).where(F$(c(f0.entityType,Z),c(f0.entityId,X))),await this.projectionStore.withDirtyInput({sourceType:Z,sourceId:X,revision:`deleted:${z_({contentHash:G.contentHash,metadata:G.metadata,visibility:G.visibility})}`,operation:"delete",markedAt:Date.now()},async(W)=>{await W.run(N`DELETE FROM entity_fts WHERE entity_id = ${X} AND entity_type = ${Z}`),await W.delete(h).where(F$(c(h.entityType,Z),c(h.id,X)))}),await this.notifyProjectionScheduler(),await this.emitEntityEvent(Z7.deleted,Z,X,Y,void 0,J?.eventContext),!0}async upsertEntity($){let{entity:Z,options:X}=$;if(this.logger.debug(`Upserting entity of type ${Z.entityType} with ID ${Z.id}`),await this.entityQueries.entityExists(Z.entityType,Z.id))return{...await this.updateEntity({entity:Z,...X!==void 0&&{options:X}}),created:!1};try{return{...await this.createEntity({entity:Z,...X!==void 0&&{options:X}}),created:!0}}catch(G){if(!r7$(G))throw G;return this.logger.debug(`Entity ${Z.entityType}:${Z.id} was created concurrently, updating instead`),{...await this.updateEntity({entity:Z,...X!==void 0&&{options:X}}),created:!1}}}async reconcileProjectionTargets($){await Promise.all($.map(async(Z)=>{if(Z.operation==="delete"){await this.embeddingDb.delete(f0).where(F$(c(f0.entityType,Z.entityType),c(f0.entityId,Z.entityId)));return}if(!Z.contentHash)throw Error(`Projection target ${Z.entityType}:${Z.entityId} has no content hash`);await this.enqueueEmbeddingJob({entityId:Z.entityId,entityType:Z.entityType,contentHash:Z.contentHash,operation:"update"})}))}async storeEmbedding($){await this.embeddingDb.insert(f0).values({entityId:$.entityId,entityType:$.entityType,embedding:$.embedding,contentHash:$.contentHash}).onConflictDoUpdate({target:[f0.entityId,f0.entityType],set:{embedding:$.embedding,contentHash:$.contentHash}})}async backfillMissingEmbeddings(){if(!this.embeddingsEnabled)return this.logger.debug("Skipping embedding backfill; semantic indexing is disabled"),{queued:0,skipped:0};let $=await this.getEmbeddingBackfillCandidates();if($.tableMissing)return this.logger.debug("Skipping embedding backfill; entities table missing"),{queued:0,skipped:0};let Z=0,X=$.skipped;for(let J of $.rowsToBackfill)if((await this.enqueueEmbeddingJob({entityId:J.id,entityType:J.entityType,contentHash:J.contentHash,operation:"update"})).jobId)Z++;else X++;return{queued:Z,skipped:X}}async getEmbeddingIndexStats(){let $=await this.getEmbeddingBackfillCandidates();return{missingEmbeddings:$.missingEmbeddings,staleEmbeddings:$.staleEmbeddings,failedEmbeddings:$.failedEmbeddings,embeddableEntities:$.embeddableEntities,embeddedEntities:$.embeddedEntities}}async getEmbeddingBackfillCandidates(){if(!await this.hasEntityTable())return{tableMissing:!0,skipped:0,rowsToBackfill:[],missingEmbeddings:0,staleEmbeddings:0,failedEmbeddings:0,embeddableEntities:0,embeddedEntities:0};let $=await this.getFailedEmbeddingKeys(),Z=await this.db.select({id:h.id,entityType:h.entityType,contentHash:h.contentHash}).from(h),X=await this.embeddingDb.select({entityId:f0.entityId,entityType:f0.entityType,contentHash:f0.contentHash}).from(f0),J=new Map;for(let O of X)J.set(`${O.entityType}:${O.entityId}`,O.contentHash);let G=[],Y=0,W=0,D=0,U=0,A=0,Q=0;for(let O of Z){if(this.entityRegistry.getEntityTypeConfig(O.entityType).embeddable===!1){Y++;continue}A++;let _=nb({entityId:O.id,entityType:O.entityType,contentHash:O.contentHash}),M=$.has(_),z=J.get(`${O.entityType}:${O.id}`);if(z===void 0){if(M)U++,Y++;else W++,G.push(O);continue}if(z!==O.contentHash){if(M)U++,Y++;else D++,G.push(O);continue}Q++,Y++}return{tableMissing:!1,skipped:Y,rowsToBackfill:G,missingEmbeddings:W,staleEmbeddings:D,failedEmbeddings:U,embeddableEntities:A,embeddedEntities:Q}}async getFailedEmbeddingKeys(){let $=await this.jobQueueService.getFailedJobs([v9.embedding]),Z=new Set;for(let X of $){let J=n7$(X);if(J)Z.add(nb(J))}return Z}async hasEntityTable(){return(await this.db.all(N`SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'entities'`)).length>0}async upsertFtsIndex($,Z,X,J){await $.run(N`DELETE FROM entity_fts WHERE entity_id = ${Z} AND entity_type = ${X}`),await $.run(N`INSERT INTO entity_fts (entity_id, entity_type, content) VALUES (${Z}, ${X}, ${J})`)}async resolveUniqueId($,Z){if(!await this.entityQueries.entityExists(Z,$))return $;for(let G=2;G<=100;G++){let Y=`${$}-${G}`;if(!await this.entityQueries.entityExists(Z,Y))return this.logger.debug(`Deduplicated entity ID: ${$} \u2192 ${Y}`),Y}let J=`${$}-${qZ().slice(0,8)}`;return this.logger.warn(`Could not deduplicate entity ID after 100 attempts, using random suffix: ${J}`),J}async notifyProjectionScheduler(){try{await this.projectionWakeup?.()}catch($){this.logger.error("Failed to wake projection scheduler",$)}}async emitEntityEvent($,Z,X,J,G,Y){if(!this.messageBus)return;this.logger.debug(`Emitting ${$} for ${Z}:${X}`);let W={entityType:Z,entityId:X,...Y?.conversationId?{conversationId:Y.conversationId}:{},...Y?.channelId?{channelId:Y.channelId}:{},...Y?.runId?{runId:Y.runId}:{},...Y?.toolCallId?{toolCallId:Y.toolCallId}:{},...Y?.actor?{actor:Y.actor}:{},...Y?.interfaceType?{interfaceType:Y.interfaceType}:{}};if(J)W.entity=J;if(G)W.previousMetadata=G;await this.messageBus.send({type:$,payload:W,sender:"entity-service",broadcast:!0})}async enqueueEmbeddingJob($){let{entityId:Z,entityType:X,contentHash:J,operation:G,priority:Y,maxRetries:W,eventContext:D}=$,U=this.entityRegistry.getEntityTypeConfig(X);if(!this.embeddingsEnabled||U.embeddable===!1)return this.logger.debug(`Skipping embedding for ${this.embeddingsEnabled?"non-embeddable entity type":"disabled indexing"}: ${X}:${Z}`),{entityId:Z,jobId:"",skipped:!1};let A={id:Z,entityType:X,contentHash:J,operation:G},Q=await this.jobQueueService.enqueue({type:v9.embedding,data:A,options:{...Y!==void 0&&{priority:Y},...W!==void 0&&{maxRetries:W},source:"entity-service",deduplication:"coalesce",deduplicationKey:`embedding:${X}:${Z}:${J}`,metadata:{operationType:"data_processing",operationTarget:Z,...D?.interfaceType?{interfaceType:D.interfaceType,requestedByInterface:D.interfaceType}:{},...D?.actor?{requestedByActor:D.actor,...D.actor.kind==="user"?{requestedByUserId:D.actor.userId}:{}}:{},silent:!0}}});return this.logger.debug(`Queued embedding job for ${X}:${Z} (job: ${Q})`),{entityId:Z,jobId:Q,skipped:!1}}}class q_{tail=Promise.resolve();run($,Z){if(Z?.aborted)return Promise.reject(Z.reason);let X=this.tail,J=()=>{};this.tail=new Promise((W)=>{J=W});let G=!1,Y=X.then(async()=>{try{return G=!0,Z?.throwIfAborted(),await $()}finally{J()}});return l7$(Y,()=>G,Z)}async idle(){await this.tail}}class E_{tails=new Map;async run($,Z){let X=this.tails.get($),J=()=>{},G=new Promise((Y)=>{J=Y});this.tails.set($,G),await X;try{return await Z()}finally{if(J(),this.tails.get($)===G)this.tails.delete($)}}}function l7$($,Z,X){if(!X)return $;return new Promise((J,G)=>{let Y=()=>{if(!Z())G(X.reason)};X.addEventListener("abort",Y,{once:!0}),$.then(J,G).finally(()=>{X.removeEventListener("abort",Y)})})}var aX=H.lazy(()=>H.union([H.null(),H.boolean(),H.number().finite().refine(($)=>!Number.isInteger($)||Number.isSafeInteger($),{message:"integer exceeds the JSON-safe range"}),H.string(),H.array(aX),H.record(H.string(),aX)])),g6=H.record(H.string(),aX),i7$=H.strictObject({id:H.string().trim().min(1),entityType:H.string().trim().min(1),content:H.string(),metadata:g6,visibility:P1}),y9=H.discriminatedUnion("operation",[H.strictObject({operation:H.literal("upsert"),entity:i7$}),H.strictObject({operation:H.literal("delete"),entityType:H.string().trim().min(1),id:H.string().trim().min(1)})]);var rb=H.strictObject({sourceType:H.string().trim().min(1),sourceId:H.string().trim().min(1),revision:H.string().trim().min(1),operation:H.enum(["upsert","delete"]),markedAt:H.number().int().nonnegative()}),s7$=H.strictObject({waveId:H.string().trim().min(1),ruleId:H.string().trim().min(1),jobId:H.string().trim().min(1).nullable(),failureReason:H.string().trim().min(1).max(500),failedAt:H.number().int().nonnegative()}),lb=H.strictObject({ruleId:H.string().trim().min(1),ruleVersion:H.string().trim().min(1),inputFingerprint:H.string().trim().min(1)}),a7$=H.strictObject({ruleId:H.string().trim().min(1),targetType:H.string().trim().min(1),level:H.number().int().nonnegative()}),t7$=H.strictObject({entityType:H.string().trim().min(1),entityId:H.string().trim().min(1),operation:H.enum(["upsert","delete"]),contentHash:H.string().min(1).optional()});function x_($){return`${$.sourceType}\x00${$.sourceId}`}function ib($){let Z=new Map;for(let X of $)Z.set(x_(X),X);return[...Z.values()].sort((X,J)=>X.generation-J.generation)}function tX($){if(Array.isArray($))return`[${$.map((Z)=>tX(Z)).join(",")}]`;if($!==null&&typeof $==="object")return`{${Object.entries($).sort(([Z],[X])=>Z.localeCompare(X)).map(([Z,X])=>`${JSON.stringify(Z)}:${tX(X)}`).join(",")}}`;return JSON.stringify($)}function tG($){let Z=H.array(t7$).parse($.changedTargets);return{...$,changedTargets:Z}}class FA{db;mutationAdmission;transactionTail=new q_;constructor($,Z){this.db=$,this.mutationAdmission=Z}async markDirty($){let Z=rb.parse($),J=(await this.db.insert(XZ).values(Z).returning({generation:XZ.generation}))[0]?.generation;if(J===void 0)throw Error("Failed to persist projection dirty input");return J}withDirtyInput($,Z){let X=rb.parse($);return this.runTransaction(async(J)=>{let G=await Z(J);return await J.insert(XZ).values(X),G})}async listPendingInputs(){let $=await this.db.select().from(XZ).orderBy(v0(XZ.generation));return ib($)}async claimPendingWave($){let Z=H.string().trim().min(1).parse($.waveId),X=H.string().trim().min(1).parse($.graphFingerprint),J=H.number().int().nonnegative().parse($.startedAt);return this.runTransaction(async(G)=>{let Y=await G.select({id:y0.id}).from(y0).where(c(y0.status,"running")).limit(1);if(Y.length>0)throw Error(`Cannot claim projection wave while "${Y[0]?.id}" is running`);let D=(await G.select({generation:XZ.generation}).from(XZ).orderBy(PZ(XZ.generation)).limit(1))[0]?.generation;if(D===void 0)return null;let U={id:Z,cutoffGeneration:D,graphFingerprint:X,status:"running",startedAt:J,completedAt:null};await G.insert(y0).values(U);let A=await G.select().from(XZ).where(k6(XZ.generation,D)).orderBy(v0(XZ.generation)),Q=ib(A);return await G.insert(q4).values(Q.map((O)=>({waveId:Z,sourceType:O.sourceType,sourceId:O.sourceId,revision:O.revision,operation:O.operation,generation:O.generation}))),await G.delete(XZ).where(k6(XZ.generation,D)),U})}listWaveInputs($){return this.db.select().from(q4).where(c(q4.waveId,$)).orderBy(v0(q4.generation))}async getActiveWave(){return(await this.db.select().from(y0).where(c(y0.status,"running")).limit(1))[0]??null}async completeWave($,Z){let X=H.string().trim().min(1).parse($),J=H.number().int().nonnegative().parse(Z);return this.runTransaction(async(G)=>{let W=(await G.select().from(y0).where(c(y0.id,X)).limit(1))[0];if(!W)throw Error(`Projection wave "${X}" does not exist`);if(W.status==="completed")return W;if(W.status==="failed")throw Error(`Projection wave "${X}" already failed`);if((await G.select({ruleId:t$.ruleId}).from(t$).where(F$(c(t$.waveId,X),JA(t$.status,"completed"))).limit(1)).length>0)throw Error(`Projection wave "${X}" has incomplete projection rules`);let A=(await G.update(y0).set({status:"completed",completedAt:J}).where(c(y0.id,X)).returning())[0];if(!A)throw Error(`Failed to mark projection wave "${X}" completed`);return await G.update(h8).set({resolvedAt:J}).where(F$(C4(h8.resolvedAt),k6(h8.recoveryGeneration,W.cutoffGeneration))),A})}async failWave($,Z){let X=H.string().trim().min(1).parse($),J=H.number().int().nonnegative().parse(Z);return this.runTransaction(async(G)=>(await this.failWaveInTransaction(G,X,J)).wave)}async failWaveWithIncident($){let Z=s7$.parse($);return this.runTransaction(async(X)=>{let J=await this.failWaveInTransaction(X,Z.waveId,Z.failedAt);if((await X.update(t$).set({status:"failed"}).where(F$(c(t$.waveId,Z.waveId),c(t$.ruleId,Z.ruleId))).returning({ruleId:t$.ruleId})).length===0)throw Error(`Projection rule "${Z.ruleId}" is not scheduled for wave "${Z.waveId}"`);return await X.insert(h8).values({waveId:Z.waveId,ruleId:Z.ruleId,jobId:Z.jobId,failureReason:Z.failureReason,recoveryGeneration:J.recoveryGeneration,createdAt:Z.failedAt,resolvedAt:null}).onConflictDoNothing({target:h8.waveId}),J.wave})}async getUnresolvedProjectionIncidentDiagnostics($=10){let Z=H.number().int().positive().max(100).parse($),[X,J]=await Promise.all([this.db.select({total:N`count(*)`}).from(h8).where(C4(h8.resolvedAt)),this.db.select().from(h8).where(C4(h8.resolvedAt)).orderBy(PZ(h8.createdAt)).limit(Z)]);return{total:Number(X[0]?.total??0),incidents:J}}async failWaveInTransaction($,Z,X){let G=(await $.select().from(y0).where(c(y0.id,Z)).limit(1))[0];if(!G)throw Error(`Projection wave "${Z}" does not exist`);if(G.status==="completed")throw Error(`Projection wave "${Z}" already completed`);if(G.status==="failed")return{wave:G,recoveryGeneration:await this.getRecoveryGeneration($,G.cutoffGeneration)};let Y=await $.select().from(q4).where(c(q4.waveId,Z)),W=await $.select().from(XZ),D=new Set(W.map(x_)),U=Y.filter((P)=>!D.has(x_(P)));if(U.length>0)await $.insert(XZ).values(U.map((P)=>({sourceType:P.sourceType,sourceId:P.sourceId,revision:P.revision,operation:P.operation,markedAt:X})));let A=await this.getRecoveryGeneration($,G.cutoffGeneration),O=(await $.update(y0).set({status:"failed",completedAt:X}).where(c(y0.id,Z)).returning())[0];if(!O)throw Error(`Failed to mark projection wave "${Z}" failed`);return{wave:O,recoveryGeneration:A}}async getRecoveryGeneration($,Z){let X=await $.select({generation:N`max(${XZ.generation})`}).from(XZ);return Number(X[0]?.generation??Z)}async putWaveRules($,Z){let X=H.string().trim().min(1).parse($),G=H.array(a7$).min(1).parse(Z).map((Y)=>({waveId:X,ruleId:Y.ruleId,targetType:Y.targetType,level:Y.level,status:"pending",changedTargets:[]}));await this.db.insert(t$).values(G)}async listWaveRules($){return(await this.db.select().from(t$).where(c(t$.waveId,$)).orderBy(v0(t$.level),v0(t$.ruleId))).map(tG)}async queueWaveRule($,Z,X){let J=H.string().trim().min(1).parse($),G=H.string().trim().min(1).parse(Z),Y=H.string().trim().min(1).parse(X),D=(await this.db.update(t$).set({status:"queued",jobId:Y}).where(F$(c(t$.waveId,J),c(t$.ruleId,G),c(t$.status,"pending"))).returning())[0];if(D)return tG(D);let U=await this.getWaveRule(J,G);if(U?.status==="completed"||U?.status==="queued"&&U.jobId===Y)return U;throw Error(`Projection rule "${G}" is not pending for wave "${J}"`)}async getWaveRule($,Z){let J=(await this.db.select().from(t$).where(F$(c(t$.waveId,$),c(t$.ruleId,Z))).limit(1))[0];return J?tG(J):null}async applyRuleResult($){let Z=H.string().trim().min(1).parse($.waveId),X=lb.parse({ruleId:$.ruleId,ruleVersion:$.ruleVersion,inputFingerprint:$.inputFingerprint}),J=H.array(y9).parse($.writeIntents),G=H.number().int().nonnegative().parse($.completedAt);return this.runTransaction(async(Y)=>{let D=(await Y.select().from(t$).where(F$(c(t$.waveId,Z),c(t$.ruleId,X.ruleId))).limit(1))[0];if(!D)throw Error(`Projection rule "${X.ruleId}" is not scheduled for wave "${Z}"`);for(let M of J){let z=M.operation==="upsert"?M.entity.entityType:M.entityType;if(z!==D.targetType)throw Error(`Projection rule "${X.ruleId}" cannot write entity type "${z}"`)}if(D.status==="completed"){if(D.inputFingerprint!==X.inputFingerprint)throw Error(`Projection rule "${X.ruleId}" already completed with another input`);return tG(D)}if(D.status==="failed")throw Error(`Projection rule "${X.ruleId}" already failed for wave "${Z}"`);if((await Y.select({status:y0.status}).from(y0).where(c(y0.id,Z)).limit(1))[0]?.status!=="running")throw Error(`Projection wave "${Z}" is not running`);let Q=(await Y.select().from(K6).where(F$(c(K6.ruleId,X.ruleId),c(K6.ruleVersion,X.ruleVersion),c(K6.inputFingerprint,X.inputFingerprint))).limit(1))[0];if(Q&&tX(Q.writeIntents)!==tX(J))throw Error(`Projection memo conflict for rule "${X.ruleId}" and fingerprint "${X.inputFingerprint}"`);if(!Q)await Y.insert(K6).values({...X,writeIntents:J,createdAt:G});let O=await J.reduce(async(M,z)=>{let x=await M,K$=await this.applyWriteIntent(Y,z,G);return K$?[...x,K$]:x},Promise.resolve([])),_=(await Y.update(t$).set({status:"completed",inputFingerprint:X.inputFingerprint,changedTargets:O}).where(F$(c(t$.waveId,Z),c(t$.ruleId,X.ruleId))).returning())[0];if(!_)throw Error(`Failed to complete projection rule "${X.ruleId}" for wave "${Z}"`);return tG(_)})}async getRuleMemo($){let Z=lb.parse($),J=(await this.db.select().from(K6).where(F$(c(K6.ruleId,Z.ruleId),c(K6.ruleVersion,Z.ruleVersion),c(K6.inputFingerprint,Z.inputFingerprint))).limit(1))[0];if(!J)return null;return{...J,writeIntents:H.array(y9).parse(J.writeIntents)}}async runTransaction($){return this.transactionTail.run(()=>this.db.transaction($))}async applyWriteIntent($,Z,X){let J=Z.operation==="upsert"?Z.entity.entityType:Z.entityType,G=Z.operation==="upsert"?Z.entity.id:Z.id,W=(await $.select({content:h.content,contentHash:h.contentHash,metadata:h.metadata,visibility:h.visibility}).from(h).where(F$(c(h.entityType,J),c(h.id,G))).limit(1))[0];if(Z.operation==="delete"){if(!W)return null;return await this.mutationAdmission?.assertMutationAdmission({operation:"delete",entityType:J,entityId:G}),await $.delete(h).where(F$(c(h.entityType,J),c(h.id,G))),await $.run(N`DELETE FROM entity_fts WHERE entity_id = ${G} AND entity_type = ${J}`),{entityType:J,entityId:G,operation:"delete"}}let D=I9(Z.entity.content);if(W?.contentHash===D&&W.content===Z.entity.content&&W.visibility===Z.entity.visibility&&tX(W.metadata)===tX(Z.entity.metadata))return null;if(await this.mutationAdmission?.assertMutationAdmission({operation:W?"update":"create",entityType:J,entityId:G}),W)await $.update(h).set({content:Z.entity.content,contentHash:D,metadata:Z.entity.metadata,visibility:Z.entity.visibility,updated:X}).where(F$(c(h.entityType,J),c(h.id,G)));else await $.insert(h).values({id:G,entityType:J,content:Z.entity.content,contentHash:D,metadata:Z.entity.metadata,visibility:Z.entity.visibility,created:X,updated:X});return await $.run(N`DELETE FROM entity_fts WHERE entity_id = ${G} AND entity_type = ${J}`),await $.run(N`INSERT INTO entity_fts (entity_id, entity_type, content) VALUES (${G}, ${J}, ${Z.entity.content})`),{entityType:J,entityId:G,operation:"upsert",contentHash:D}}}var e7$=/!\[([^\]]*)\]\(entity:\/\/image\/([^)]+)\)/g;function $X$($){return $.includes("entity://image/")}var ZX$=new Set(["image"]);function sb($){return!ZX$.has($)}class S_{logger;constructor($){this.logger=$.child("ContentResolver")}detectReferences($){let Z=[],X=new RegExp(e7$.source,"g"),J;while((J=X.exec($))!==null)Z.push({alt:J[1]??"",imageId:J[2]??"",originalMarkdown:J[0]});return Z}async resolve($,Z,X){if(!$X$($))return{content:$,resolvedCount:0,failedCount:0};let J=this.detectReferences($);if(J.length===0)return{content:$,resolvedCount:0,failedCount:0};let G=[...new Set(J.map((A)=>A.imageId))],Y=new Map;for(let A of G)try{let Q=await Z.getEntityRaw({entityType:"image",id:A,...X!==void 0&&{visibilityScope:X}});if(Q?.content)Y.set(A,Q.content);else this.logger.warn("Image entity not found",{imageId:A})}catch(Q){this.logger.warn("Failed to fetch image entity",{imageId:A,error:d$(Q)})}let W=$,D=0,U=0;for(let A of J){let Q=Y.get(A.imageId);if(Q){let O=`![${A.alt}](${Q})`;W=W.replace(A.originalMarkdown,O),D++}else U++}if(D>0)this.logger.debug("Resolved image references",{resolvedCount:D,failedCount:U});return{content:W,resolvedCount:D,failedCount:U}}}function ab($,Z){return t.suspend(()=>{let X,J=$.pipe(t.match({onFailure:(W)=>{return X={kind:"failure",error:W},X},onSuccess:(W)=>{return X={kind:"status",status:W},X}})),G=N1.spaced(Z.intervalMs),Y=Z.timeoutMs===void 0?G:G.pipe(N1.upTo(Z.timeoutMs));return J.pipe(t.repeat({schedule:Y,until:(W)=>W.kind==="status"&&W.status.ready}),t.flatMap(()=>{if(X?.kind==="status")return t.succeed(X.status);if(X?.kind==="failure")return t.fail(X.error);return t.die(Error("Index readiness polling completed without an attempt"))}))})}class j_{db;dbClient;dbUrl;searchDbClient;embeddingDb;embeddingDbClient;dbInitPromise;entityRegistry;logger;jobQueueService;entitySearch;entitySerializer;entityQueries;entityMutations;projectionStore;contentResolver;embeddingHandlerRegistered=!1;indexReady=!1;close(){let $,Z=!1;try{if(this.embeddingHandlerRegistered)this.jobQueueService.unregisterHandler(v9.embedding),this.embeddingHandlerRegistered=!1}catch(X){$=X,Z=!0}try{this.embeddingDbClient.close()}catch(X){if(!Z)$=X;Z=!0}try{this.searchDbClient.close()}catch(X){if(!Z)$=X;Z=!0}try{this.dbClient.close()}catch(X){if(!Z)$=X;Z=!0}if(Z)throw $}static createFresh($){return new j_($)}constructor($){let{db:Z,client:X,url:J}=K_($.dbConfig);this.db=Z,this.dbClient=X,this.dbUrl=J,this.projectionStore=new FA(this.db,$.mutationAdmission);let G,Y;try{let W=K_($.dbConfig);G=W.client,this.searchDbClient=W.client;let D=V_($.embeddingDbConfig);if(Y=D.client,this.embeddingDb=D.db,this.embeddingDbClient=D.client,this.entityRegistry=$.entityRegistry,this.logger=($.logger??M1.getInstance()).child("EntityService"),!$.jobQueueService)throw Error("JobQueueService is required for EntityService initialization");this.jobQueueService=$.jobQueueService,this.entitySerializer=new P_(this.entityRegistry,this.logger),this.entityQueries=new T_({db:this.db,serializer:this.entitySerializer,logger:this.logger,embeddingDb:this.embeddingDb});let U=$.embeddingsEnabled??!0;if(this.entitySearch=new PA(W.db,$.embeddingService,this.entitySerializer,this.logger,U),this.entityMutations=new L_({db:this.db,entityRegistry:this.entityRegistry,entitySerializer:this.entitySerializer,entityQueries:this.entityQueries,jobQueueService:this.jobQueueService,logger:this.logger,...$.messageBus&&{messageBus:$.messageBus},...$.mutationAdmission&&{mutationAdmission:$.mutationAdmission},projectionStore:this.projectionStore,embeddingDb:this.embeddingDb,embeddingsEnabled:U}),this.contentResolver=new S_(this.logger),$.embeddingsEnabled??!0){let A=aG.createFresh(this,$.embeddingService,$.messageBus);this.jobQueueService.registerHandler(v9.embedding,A),this.embeddingHandlerRegistered=!0}this.dbInitPromise=this.initializeDatabase($.embeddingDbConfig,$.embeddingService.dimensions),this.dbInitPromise.catch(()=>{})}catch(W){try{if(this.embeddingHandlerRegistered)$.jobQueueService?.unregisterHandler(v9.embedding),this.embeddingHandlerRegistered=!1}catch{}try{Y?.close()}catch{}try{G?.close()}catch{}try{X.close()}catch{}throw W}}async initialize(){await this.dbInitPromise}async initializeDatabase($,Z){try{await b6(this.dbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to enable WAL mode for entity database (non-fatal)",X)}try{await b6(this.searchDbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to configure entity search database (non-fatal)",X)}try{await b6(this.embeddingDbClient,$.url)}catch(X){this.logger.warn("Failed to enable WAL mode for embedding database (non-fatal)",X)}await bb(this.dbClient),await Q_(this.embeddingDbClient,Z),await O_(this.embeddingDbClient),await B_(this.searchDbClient,N_($.url))}getProjectionStore(){return this.projectionStore}setProjectionWakeup($){return this.entityMutations.setProjectionWakeup($)}async createEntity($){return await this.initialize(),this.entityMutations.createEntity($)}async createEntityFromMarkdown($){await this.initialize();let{input:Z,options:X}=$,J=this.entitySerializer.deserializeEntity(Z.markdown,Z.entityType);return this.entityMutations.createEntity({entity:{...J,id:Z.id,entityType:Z.entityType,content:Z.markdown,metadata:J.metadata??{},...Z.visibility!==void 0?{visibility:Z.visibility}:{}},...X!==void 0&&{options:X}})}async updateEntity($){return await this.initialize(),this.entityMutations.updateEntity($)}async deleteEntity($){return await this.initialize(),this.entityMutations.deleteEntity($)}async upsertEntity($){return await this.initialize(),this.entityMutations.upsertEntity($)}async storeEmbedding($){return await this.initialize(),this.entityMutations.storeEmbedding($)}async reconcileProjectionTargets($){return await this.initialize(),this.entityMutations.reconcileProjectionTargets($)}async backfillMissingEmbeddings(){return await this.initialize(),this.indexReady=!1,this.entityMutations.backfillMissingEmbeddings()}isIndexReady(){return this.indexReady}async awaitIndexReady($){await this.initialize();let Z=!1,X=t.tryPromise({try:()=>this.getIndexReadinessStatus(),catch:(Y)=>Y}).pipe(t.tapError((Y)=>t.sync(()=>{if(!Z)this.logger.warn("Semantic index readiness check failed; retrying",{error:Y}),Z=!0})),t.tap(()=>t.sync(()=>{Z=!1}))),J=ab(X,{intervalMs:$.intervalMs??250,...$.timeoutMs!==void 0&&{timeoutMs:$.timeoutMs}}),G=await t.runPromiseExit(J,{...$.signal&&{signal:$.signal}});if(M0.isFailure(G)){if($.signal?.aborted)throw $.signal.reason;throw Y6.squash(G.cause)}if(G.value.ready)this.indexReady=!0;return G.value}async getIndexReadinessStatus(){let[$,Z]=await Promise.all([this.jobQueueService.getActiveJobs([v9.embedding]),this.entityMutations.getEmbeddingIndexStats()]),X=$.length,J=X===0&&Z.missingEmbeddings===0&&Z.staleEmbeddings===0,G=J&&Z.failedEmbeddings>0;return{ready:J,degraded:G,activeEmbeddingJobs:X,missingEmbeddings:Z.missingEmbeddings,staleEmbeddings:Z.staleEmbeddings,failedEmbeddings:Z.failedEmbeddings,embeddableEntities:Z.embeddableEntities,embeddedEntities:Z.embeddedEntities}}async getEntity($){await this.initialize();let{entityType:Z,id:X,visibilityScope:J}=$,G=await this.getEntityRaw({entityType:Z,id:X,...J!==void 0&&{visibilityScope:J}});if(!G)return null;if(sb(Z)&&G.content){let Y=await this.contentResolver.resolve(G.content,this,J);if(Y.resolvedCount>0)return{...G,content:Y.content}}return G}async getEntityRaw($){await this.initialize();let{entityType:Z,id:X,visibilityScope:J}=$,G=await this.entityQueries.getEntityData(Z,X,J);if(!G)return null;return this.entitySerializer.convertToEntity(G)}async listEntities($){await this.initialize();let{entityType:Z,options:X}=$;return this.entityQueries.listEntities(Z,X,this.publishedStatusesFor(Z))}async countEntities($){await this.initialize();let{entityType:Z,options:X}=$;return this.entityQueries.countEntities(Z,X,this.publishedStatusesFor(Z))}publishedStatusesFor($){if(!this.entityRegistry.hasEntityType($))return;return this.entityRegistry.getAdapter($).publishedStatuses}async getEntityCounts($){return await this.initialize(),this.entityQueries.getEntityCounts($)}async search($){return await this.initialize(),this.entitySearch.search($.query,$.options)}async searchEntities($,Z,X){return await this.initialize(),this.entitySearch.searchEntities($,Z,X)}async searchWithDistances($){return await this.initialize(),this.entitySearch.searchWithDistances($.query)}async projectSemanticSpace($){return await this.initialize(),this.entitySearch.projectSemanticSpace($)}async countEmbeddings(){return await this.initialize(),(await this.embeddingDb.select({count:N`count(*)`}).from(f0))[0]?.count??0}serializeEntity($){return this.entitySerializer.serializeEntity($)}deserializeEntity($,Z){return this.entitySerializer.deserializeEntity($,Z)}getEntityTypes(){return this.entityRegistry.getAllEntityTypes()}hasEntityType($){return this.entityRegistry.hasEntityType($)}getEntityTypeConfig($){return this.entityRegistry.getEntityTypeConfig($)}getWeightMap(){return this.entityRegistry.getWeightMap()}async getAsyncJobStatus($){let Z=await this.jobQueueService.getStatus($);if(!Z)return null;return{status:Z.status,...Z.lastError&&{error:Z.lastError}}}}class k_{entitySchemas=new Map;entityAdapters=new Map;entityConfigs=new Map;createInterceptors=new Map;uploadSaveHandlers=[];persistValidators=new Map;frontmatterExtensions=new Map;logger;static createFresh($){return new k_($)}constructor($){this.logger=$}registerEntityType($,Z,X,J){if(this.logger.debug(`Registering entity type: ${$}`),this.entitySchemas.has($))throw Error(`Entity type registration failed for ${$}: Entity type is already registered`);if(this.entitySchemas.set($,Z),this.entityAdapters.set($,X),J)this.entityConfigs.set($,J);this.logger.debug(`Registered entity type: ${$}`)}unregisterEntityType($){this.entitySchemas.delete($),this.entityAdapters.delete($),this.entityConfigs.delete($),this.createInterceptors.delete($),this.persistValidators.delete($),this.frontmatterExtensions.delete($),this.uploadSaveHandlers=this.uploadSaveHandlers.filter((Z)=>Z.entityType!==$),this.logger.debug(`Unregistered entity type: ${$}`)}getSchema($){let Z=this.entitySchemas.get($);if(!Z)throw Error(`Entity type registration failed for ${$}: No schema registered for entity type`);return Z}getAdapter($){let Z=this.entityAdapters.get($);if(!Z)throw Error(`Entity type registration failed for ${$}: No adapter registered for entity type`);let X=this.mergeExtensions($,Z.frontmatterSchema);if(!X||X===Z.frontmatterSchema)return Z;return Object.create(Z,{frontmatterSchema:{value:X,enumerable:!0}})}hasEntityType($){return this.entitySchemas.has($)&&this.entityAdapters.has($)}validateEntity($,Z){let J=this.getSchema($).parse(this.normalizePolicyFields(Z)),G=H6.parse(J);return{...J!==null&&typeof J==="object"&&!Array.isArray(J)?Object.fromEntries(Object.entries(J)):{},id:G.id,entityType:G.entityType,content:G.content,created:G.created,updated:G.updated,visibility:G.visibility,metadata:G.metadata,contentHash:G.contentHash}}normalizePolicyFields($){if($===null||typeof $!=="object"||Array.isArray($))return $;let Z=Object.fromEntries(Object.entries($));return Z.visibility=P1.parse(Z.visibility),Z}getAllEntityTypes(){return Array.from(this.entitySchemas.keys())}getEntityTypeConfig($){return this.entityConfigs.get($)??{}}getWeightMap(){let $={};for(let[Z,X]of this.entityConfigs)if(X.weight!==void 0)$[Z]=X.weight;return $}registerCreateInterceptor($,Z){this.createInterceptors.set($,Z)}getCreateInterceptor($){return this.createInterceptors.get($)}registerUploadSaveHandler($){this.uploadSaveHandlers=[...this.uploadSaveHandlers.filter((Z)=>Z.entityType!==$.entityType),$]}getUploadSaveHandler($){return this.uploadSaveHandlers.find((Z)=>Z.mediaTypes.some((X)=>X.endsWith("/*")?$.startsWith(`${X.slice(0,-1)}`):$===X))}registerPersistValidator($,Z){this.persistValidators.set($,Z)}getPersistValidator($){return this.persistValidators.get($)}extendFrontmatterSchema($,Z){let X=this.entityAdapters.get($);if(!X)throw Error(`Cannot extend frontmatter schema for ${$}: entity type is not registered`);if(!X.frontmatterSchema)throw Error(`Cannot extend frontmatter schema for ${$}: adapter has no frontmatterSchema`);let J=this.frontmatterExtensions.get($)??[];J.push(Z),this.frontmatterExtensions.set($,J),this.logger.debug(`Extended frontmatter schema for entity type: ${$}`)}getEffectiveFrontmatterSchema($){let Z=this.entityAdapters.get($);return this.mergeExtensions($,Z?.frontmatterSchema)}mergeExtensions($,Z){if(!Z)return;let X=this.frontmatterExtensions.get($);if(!X?.length)return Z;let J=Z;for(let G of X)J=J.extend(G.shape);return J.superRefine((G,Y)=>{for(let W of X){let D=Object.fromEntries(Object.keys(W.shape).flatMap((A)=>Object.hasOwn(G,A)?[[A,G[A]]]:[])),U=W.safeParse(D);if(!U.success)for(let A of U.error.issues)Y.addIssue({code:"custom",path:[...A.path],message:A.message})}})}}class eb{format($){let Z=[];Z.push(`\\[${$.id}\\]`);let X=$.content,J={};if($.content.trim())try{let G=cZ($.content,H.record(H.string(),H.unknown()));X=G.content,J=G.metadata}catch{X=$.content}if(X.trim()){let G=X.trim();G=tb(G);let Y=J.title??$.metadata.title??$.metadata.name;if(Y){if(G.split(`
71
+ ) THEN 1.0 ELSE 0.0 END`,P=_`(${1-D} * ${U}) + (${D} * ${O})`,N=await this.db.select({id:h.id,entityType:h.entityType,content:h.content,contentHash:h.contentHash,visibility:h.visibility,created:h.created,updated:h.updated,metadata:h.metadata,distance:A,weighted_score:P}).from(h).innerJoin(_`emb.embeddings AS emb_e`,_`${h.id} = emb_e.entity_id AND ${h.entityType} = emb_e.entity_type`).where(F$(_`${A} < ${b7$}`,...W!==void 0?[_`${P} >= ${W}`]:[],...X)).orderBy(PZ(P)).limit(J).offset(G);return this.mapSearchResults(N,Y)}async searchEntities($,Z,X){let J={types:[$],limit:X?.limit??20,offset:0,sortBy:"relevance",sortDirection:"desc"};return this.search(Z,J)}async projectSemanticSpace($){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let Z=$.types&&$.types.length>0?new Set($.types):void 0,X=Z?new Set(Z):void 0;if(X&&$.origin)X.add($.origin.entityType);let J=await this.readEmbeddings(X?Array.from(X):void 0,$.visibilityScope),G=$.origin,Y=G?J.find((D)=>D.entityId===G.entityId&&D.entityType===G.entityType):void 0,W=J.filter((D)=>{let U=Z?.has(D.entityType)??!0,A=D.entityId===G?.entityId&&D.entityType===G.entityType;return U&&!A});return fb(W,{...Y&&{origin:Y},...$.maxNeighborDistance!==void 0&&{maxNeighborDistance:$.maxNeighborDistance}})}async readEmbeddings($,Z){let X=this.buildVisibilityConditions(Z);if($&&$.length>0)X.push(Z8(h.entityType,$));let J=_`emb_e.embedding`.mapWith({mapFromDriverValue(G){if(!ArrayBuffer.isView(G))throw TypeError("Expected embedding blob to be an ArrayBuffer view");let Y=new Uint8Array(G.buffer,G.byteOffset,G.byteLength);if(Y.byteLength%Float32Array.BYTES_PER_ELEMENT!==0)throw RangeError("Embedding blob byte length must be divisible by 4");let W=new Uint8Array(Y.byteLength);return W.set(Y),new Float32Array(W.buffer)}});return this.db.select({entityId:h.id,entityType:h.entityType,embedding:J}).from(h).innerJoin(_`emb.embeddings AS emb_e`,_`${h.id} = emb_e.entity_id AND ${h.entityType} = emb_e.entity_type`).where(X.length>0?F$(...X):void 0).orderBy(v0(h.entityType),v0(h.id))}async searchWithDistances($){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let Z=db($,this.logger),{embedding:X}=await this.embeddingService.generateEmbedding(Z),J=JSON.stringify(Array.from(X)),G=_`vector_distance_cos(emb_e.embedding, vector32(${J}))`;return await this.db.select({entityId:h.id,entityType:h.entityType,distance:G}).from(h).innerJoin(_`emb.embeddings AS emb_e`,_`${h.id} = emb_e.entity_id AND ${h.entityType} = emb_e.entity_type`).orderBy(_`${G} ASC`)}mapSearchResults($,Z){let X=[];for(let G of $)try{let Y=h7$.parse(G.metadata),W=this.serializer.reconstructEntity({id:G.id,entityType:G.entityType,content:G.content,contentHash:G.contentHash,visibility:G.visibility,created:G.created,updated:G.updated,metadata:Y});X.push({entity:W,score:G.weighted_score,excerpt:this.createExcerpt(G.content,Z)})}catch(Y){this.logger.error(`Failed to parse entity during search: ${Y}`)}let J=Z.length>50?Z.substring(0,50)+"...":Z;return this.logger.debug(`Found ${X.length} results for query "${J}"`),X}createExcerpt($,Z){let J=Z.toLowerCase(),Y=$.toLowerCase().indexOf(J);if(Y!==-1){let W=Math.max(0,Y-50),D=Math.min($.length,Y+J.length+50),U=$.slice(W,D);if(W>0)U="..."+U;if(D<$.length)U=U+"...";return U}return $.slice(0,200)+($.length>200?"...":"")}}class P_{entityRegistry;logger;constructor($,Z){this.entityRegistry=$,this.logger=Z.child("EntitySerializer")}serializeEntity($){let Z=this.entityRegistry.getAdapter($.entityType);return t5(Z.toMarkdown($),$.visibility)}deserializeEntity($,Z){let X=this.entityRegistry.getAdapter(Z),J;try{J=X.fromMarkdown($)}catch(A){throw iU(Z,A)??A}let{metadata:G,visibility:Y,...W}=J,D=rU($),U=this.stripPolicyMetadata(G??{});return{...W,...D&&{visibility:D},metadata:U}}async convertToEntity($){try{return this.reconstructEntity($)}catch(Z){let X=d$(Z);return this.logger.error(`Failed to parse entity of type ${$.entityType} with ID ${$.id}: ${X}`),null}}async convertToEntities($,Z){let X=[];for(let J of $)try{X.push(this.reconstructEntity(J))}catch(G){let Y=d$(G);this.logger.error(`Failed to parse entity of type ${Z} with ID ${J.id}: ${Y}`)}return X}reconstructEntity($){let Z=this.entityRegistry.getAdapter($.entityType),X=Z.fromMarkdown($.content),{metadata:J,visibility:G,...Y}=X,W={id:$.id,entityType:$.entityType,content:$.content,contentHash:$.contentHash,created:new Date($.created).toISOString(),updated:new Date($.updated).toISOString(),visibility:$.visibility,...Y,...this.stripPolicyMetadata($.metadata),metadata:this.stripPolicyMetadata($.metadata)};return Z.schema.parse(W)}prepareEntityForStorage($,Z){let X=this.entityRegistry.getAdapter(Z),J=t5(X.toMarkdown($),$.visibility),G=this.stripPolicyMetadata(X.extractMetadata($));return{markdown:J,metadata:G}}stripPolicyMetadata($){let{visibility:Z,...X}=$;return X}}var m7$=H.record(H.string(),H.unknown());function F_($){return{id:$.id,entityType:$.entityType,content:$.content,contentHash:$.contentHash,visibility:sU($.visibility),created:$.created,updated:$.updated,metadata:m7$.parse($.metadata)}}var f7$=H.object({field:H.string(),direction:H.enum(["asc","desc"]),nullsFirst:H.boolean().optional()}),c7$=H.object({limit:H.number().int().positive().optional(),offset:H.number().int().min(0).optional().default(0),sortFields:H.array(f7$).optional(),filter:H.object({metadata:H.record(H.string(),H.unknown()).optional(),visibilityScope:H.enum(["public","shared","restricted"]).optional()}).optional(),publishedOnly:H.boolean().optional()});class T_{db;embeddingDb;serializer;logger;constructor($){this.db=$.db,this.embeddingDb=$.embeddingDb,this.serializer=$.serializer,this.logger=$.logger.child("EntityQueries")}async getEntityData($,Z,X){this.logger.debug(`Getting entity of type ${$} with ID ${Z}`);let J=X??"public",G=[c(h.id,Z),c(h.entityType,$)];if(J!=="restricted")G.push(Z8(h.visibility,w4(J)));let Y=await this.db.select().from(h).where(F$(...G)).limit(1);if(Y.length===0)return this.logger.debug(`Entity of type ${$} with ID ${Z} not found`),null;let W=Y[0];if(!W)return null;return F_(W)}async listEntities($,Z={},X){let J=c7$.parse(Z),{limit:G,offset:Y,sortFields:W,filter:D,publishedOnly:U}=J;this.logger.debug(`Listing entities of type ${$} (limit: ${G}, offset: ${Y}, filter: ${JSON.stringify(D)}, publishedOnly: ${U})`);let A=this.buildWhereConditions($,U,D?.metadata,D?.visibilityScope,X),Q=this.buildOrderByClauses(W),O=this.db.select().from(h).where(F$(...A)).orderBy(...Q).offset(Y),P=G!==void 0?await O.limit(G):await O,N=await this.serializer.convertToEntities(P.map(F_),$);return this.logger.debug(`Listed ${N.length} entities of type ${$}`),N}buildWhereConditions($,Z,X,J,G){let Y=[c(h.entityType,$)];if(Z){let D=_`json_extract(${h.metadata}, '$.status')`;if(G&&G.length>0)Y.push(_`${D} IN (${_.join(G.map((U)=>_`${U}`),_`, `)})`);else Y.push(_`(${D} = 'published' OR ${D} = 'active' OR ${D} IS NULL)`)}let W=J??"public";if(W!=="restricted")Y.push(Z8(h.visibility,w4(W)));if(X){for(let[D,U]of Object.entries(X))if(U!==void 0){let A=`$.${D}`;Y.push(_`json_extract(${h.metadata}, ${A}) = ${U}`)}}return Y}buildOrderByClauses($){if(!$||$.length===0)return[PZ(h.updated)];return $.flatMap(({field:Z,direction:X,nullsFirst:J})=>{let G=X==="desc"?PZ:v0;if(Z==="id")return[G(h.id)];if(Z==="created"){let W=h.created;if(J)return[v0(uX(W)),G(W)];return[G(W)]}if(Z==="updated"){let W=h.updated;if(J)return[v0(uX(W)),G(W)];return[G(W)]}let Y=_`json_extract(${h.metadata}, '$.' || ${Z})`;if(J)return[v0(uX(Y)),G(Y)];return[G(Y)]})}async countEntities($,Z={},X){let J=this.buildWhereConditions($,Z.publishedOnly,Z.filter?.metadata,Z.filter?.visibilityScope,X),G=await this.db.select({count:_`COUNT(*)`}).from(h).where(F$(...J));return Number(G[0]?.count??0)}async getEntityCounts($){this.logger.debug("Getting entity counts by type");let Z=$??"public",X=[];if(Z!=="restricted")X.push(Z8(h.visibility,w4(Z)));let J=this.db.select({entityType:h.entityType,count:_`COUNT(*)`.as("count")}).from(h),G=await(X.length>0?J.where(F$(...X)).groupBy(h.entityType):J.groupBy(h.entityType));return this.logger.debug(`Found ${G.length} entity types`),G.map((Y)=>({entityType:Y.entityType,count:Number(Y.count)}))}async entityExists($,Z){return(await this.db.select({id:h.id}).from(h).where(F$(c(h.entityType,$),c(h.id,Z))).limit(1)).length>0}async deleteEntity($,Z){if(this.logger.debug(`Deleting entity of type ${$} with ID ${Z}`),!await this.entityExists($,Z))return this.logger.debug(`Entity of type ${$} with ID ${Z} not found for deletion`),!1;return await this.embeddingDb.delete(f0).where(F$(c(f0.entityType,$),c(f0.entityId,Z))),await this.db.run(_`DELETE FROM entity_fts WHERE entity_id = ${Z} AND entity_type = ${$}`),await this.db.delete(h).where(F$(c(h.entityType,$),c(h.id,Z))),this.logger.debug(`Deleted entity of type ${$} with ID ${Z}`),!0}}import{webcrypto as ob}from"crypto";var ub="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var p7$=128,k9,sX;function d7$($){if($<0)throw RangeError("Wrong ID size");try{if(!k9||k9.length<$)k9=Buffer.allocUnsafe($*p7$),ob.getRandomValues(k9),sX=0;else if(sX+$>k9.length)ob.getRandomValues(k9),sX=0}catch(Z){throw k9=void 0,Z}sX+=$}function M_($=21){d7$($|=0);let Z="";for(let X=sX-$;X<sX;X++)Z+=ub[k9[X]&63];return Z}function qZ($=12){return M_($)}function cM$($){return`${$}_${M_(12)}`}var u7$=H.custom(($)=>typeof $==="object"&&$!==null&&!Array.isArray($));function R_($){if(Array.isArray($))return $.map((X)=>X===void 0?null:R_(X));let Z=u7$.safeParse($);if(Z.success)return Object.fromEntries(Object.entries(Z.data).filter(([,X])=>X!==void 0).sort(([X],[J])=>X.localeCompare(J)).map(([X,J])=>[X,R_(J)]));return $}function w_($){return JSON.stringify(R_($))}function z_($){return I9(w_($))}var o7$=H.object({id:H.string().min(1),entityType:H.string().min(1),contentHash:H.string().min(1)});function n7$($){try{let Z=o7$.parse(JSON.parse($.data));return{entityId:Z.id,entityType:Z.entityType,contentHash:Z.contentHash}}catch{return null}}function nb($){return`${$.entityType}:${$.entityId}:${$.contentHash}`}function r7$($){for(let Z=$;Z instanceof Error;Z=Z.cause)if(Z.message.includes("UNIQUE constraint failed")||Z.message.includes("SQLITE_CONSTRAINT"))return!0;return!1}class C_ extends Error{}class L_{db;embeddingDb;entityRegistry;entitySerializer;entityQueries;jobQueueService;messageBus;mutationAdmission;projectionStore;embeddingsEnabled;projectionWakeup;logger;constructor($){if(this.db=$.db,this.embeddingDb=$.embeddingDb,this.entityRegistry=$.entityRegistry,this.entitySerializer=$.entitySerializer,this.entityQueries=$.entityQueries,this.jobQueueService=$.jobQueueService,this.projectionStore=$.projectionStore,this.embeddingsEnabled=$.embeddingsEnabled,this.logger=$.logger.child("EntityMutations"),$.messageBus)this.messageBus=$.messageBus;if($.mutationAdmission)this.mutationAdmission=$.mutationAdmission}setProjectionWakeup($){this.projectionWakeup=$;let Z=!0;return()=>{if(!Z)return;if(Z=!1,this.projectionWakeup===$)this.projectionWakeup=void 0}}async createEntity($){let{entity:Z,options:X}=$;this.logger.debug(`Creating entity asynchronously of type: ${Z.entityType}`);let J=new Date().toISOString(),G={...Z,id:Z.id??qZ(),created:Z.created??J,updated:Z.updated??J,contentHash:I9(Z.content)},Y=this.entityRegistry.validateEntity(Z.entityType,G),W=this.entityRegistry.getPersistValidator(Y.entityType);if(W)await W(Y,{operation:"create"});let{markdown:D,metadata:U}=this.entitySerializer.prepareEntityForStorage(Y,Y.entityType),A=I9(D),Q=Y.id;if(X?.deduplicateId)Q=await this.resolveUniqueId(Y.id,Y.entityType);return await this.mutationAdmission?.assertMutationAdmission({operation:"create",entityType:Y.entityType,entityId:Q}),await this.projectionStore.withDirtyInput({sourceType:Y.entityType,sourceId:Q,revision:z_({contentHash:A,metadata:U,visibility:Y.visibility}),operation:"upsert",markedAt:Date.now()},async(O)=>{await O.insert(h).values({id:Q,entityType:Y.entityType,content:D,contentHash:A,visibility:Y.visibility,metadata:U,created:new Date(Y.created).getTime(),updated:new Date(Y.updated).getTime()}),await this.upsertFtsIndex(O,Q,Y.entityType,D)}),await this.notifyProjectionScheduler(),this.logger.debug(`Persisted entity ${Y.entityType}:${Q} immediately`),await this.emitEntityEvent(Z7.created,Y.entityType,Q,{...Y,id:Q},void 0,X?.eventContext),this.enqueueEmbeddingJob({entityId:Q,entityType:Y.entityType,contentHash:A,operation:"create",...X?.priority!==void 0&&{priority:X.priority},...X?.maxRetries!==void 0&&{maxRetries:X.maxRetries},...X?.eventContext&&{eventContext:X.eventContext}})}async updateEntity($){let{entity:Z,options:X}=$;this.logger.debug(`Updating entity asynchronously: ${Z.entityType} with ID ${Z.id}`);let J={...Z,updated:new Date().toISOString(),contentHash:I9(Z.content)},G=this.entityRegistry.validateEntity(Z.entityType,J),Y=this.entityRegistry.getPersistValidator(G.entityType);if(Y)await Y(G,{operation:"update"});let{markdown:W,metadata:D}=this.entitySerializer.prepareEntityForStorage(G,G.entityType),U=I9(W),Q=(await this.db.select({contentHash:h.contentHash,visibility:h.visibility,metadata:h.metadata}).from(h).where(F$(c(h.id,G.id),c(h.entityType,G.entityType))).limit(1)).at(0);if(!Q)throw Error(`Entity not found: ${G.entityType}:${G.id}`);if(X?.expectedContentHash!==void 0&&Q.contentHash!==X.expectedContentHash)return this.logger.debug(`Skipping stale update for ${G.entityType}:${G.id}`),{entityId:G.id,jobId:"",skipped:!0,skipReason:"content-conflict"};if(Q.contentHash===U&&Q.visibility===G.visibility&&w_(Q.metadata)===w_(D)){if(this.logger.debug(`Skipping no-op update for ${G.entityType}:${G.id}`),X?.eventContext)await this.emitEntityEvent(Z7.updated,G.entityType,G.id,G,Q.metadata,X.eventContext);return{entityId:G.id,jobId:"",skipped:!0}}await this.mutationAdmission?.assertMutationAdmission({operation:"update",entityType:G.entityType,entityId:G.id});try{await this.projectionStore.withDirtyInput({sourceType:G.entityType,sourceId:G.id,revision:z_({contentHash:U,metadata:D,visibility:G.visibility}),operation:"upsert",markedAt:Date.now()},async(O)=>{let P=await O.update(h).set({content:W,contentHash:U,visibility:G.visibility,metadata:D,updated:new Date(G.updated).getTime()}).where(F$(c(h.id,G.id),c(h.entityType,G.entityType),X?.expectedContentHash!==void 0?c(h.contentHash,X.expectedContentHash):void 0));if(X?.expectedContentHash!==void 0&&Number(P.rowsAffected)===0)throw new C_;await this.upsertFtsIndex(O,G.id,G.entityType,W)})}catch(O){if(!(O instanceof C_))throw O;return this.logger.debug(`Skipping concurrently stale update for ${G.entityType}:${G.id}`),{entityId:G.id,jobId:"",skipped:!0,skipReason:"content-conflict"}}return await this.notifyProjectionScheduler(),this.logger.debug(`Updated entity ${G.entityType}:${G.id} immediately`),await this.emitEntityEvent(Z7.updated,G.entityType,G.id,G,Q.metadata,X?.eventContext),this.enqueueEmbeddingJob({entityId:G.id,entityType:G.entityType,contentHash:U,operation:"update",...X?.priority!==void 0&&{priority:X.priority},...X?.maxRetries!==void 0&&{maxRetries:X.maxRetries},...X?.eventContext&&{eventContext:X.eventContext}})}async deleteEntity($){let{entityType:Z,id:X,options:J}=$,G=await this.entityQueries.getEntityData(Z,X),Y=G?await this.entitySerializer.convertToEntity(G)??void 0:void 0;if(G)await this.mutationAdmission?.assertMutationAdmission({operation:"delete",entityType:Z,entityId:X});if(!G)return!1;return await this.embeddingDb.delete(f0).where(F$(c(f0.entityType,Z),c(f0.entityId,X))),await this.projectionStore.withDirtyInput({sourceType:Z,sourceId:X,revision:`deleted:${z_({contentHash:G.contentHash,metadata:G.metadata,visibility:G.visibility})}`,operation:"delete",markedAt:Date.now()},async(W)=>{await W.run(_`DELETE FROM entity_fts WHERE entity_id = ${X} AND entity_type = ${Z}`),await W.delete(h).where(F$(c(h.entityType,Z),c(h.id,X)))}),await this.notifyProjectionScheduler(),await this.emitEntityEvent(Z7.deleted,Z,X,Y,void 0,J?.eventContext),!0}async upsertEntity($){let{entity:Z,options:X}=$;if(this.logger.debug(`Upserting entity of type ${Z.entityType} with ID ${Z.id}`),await this.entityQueries.entityExists(Z.entityType,Z.id))return{...await this.updateEntity({entity:Z,...X!==void 0&&{options:X}}),created:!1};try{return{...await this.createEntity({entity:Z,...X!==void 0&&{options:X}}),created:!0}}catch(G){if(!r7$(G))throw G;return this.logger.debug(`Entity ${Z.entityType}:${Z.id} was created concurrently, updating instead`),{...await this.updateEntity({entity:Z,...X!==void 0&&{options:X}}),created:!1}}}async reconcileProjectionTargets($){await Promise.all($.map(async(Z)=>{if(Z.operation==="delete"){await this.embeddingDb.delete(f0).where(F$(c(f0.entityType,Z.entityType),c(f0.entityId,Z.entityId)));return}if(!Z.contentHash)throw Error(`Projection target ${Z.entityType}:${Z.entityId} has no content hash`);await this.enqueueEmbeddingJob({entityId:Z.entityId,entityType:Z.entityType,contentHash:Z.contentHash,operation:"update"})}))}async storeEmbedding($){await this.embeddingDb.insert(f0).values({entityId:$.entityId,entityType:$.entityType,embedding:$.embedding,contentHash:$.contentHash}).onConflictDoUpdate({target:[f0.entityId,f0.entityType],set:{embedding:$.embedding,contentHash:$.contentHash}})}async backfillMissingEmbeddings(){if(!this.embeddingsEnabled)return this.logger.debug("Skipping embedding backfill; semantic indexing is disabled"),{queued:0,skipped:0};let $=await this.getEmbeddingBackfillCandidates();if($.tableMissing)return this.logger.debug("Skipping embedding backfill; entities table missing"),{queued:0,skipped:0};let Z=0,X=$.skipped;for(let J of $.rowsToBackfill)if((await this.enqueueEmbeddingJob({entityId:J.id,entityType:J.entityType,contentHash:J.contentHash,operation:"update"})).jobId)Z++;else X++;return{queued:Z,skipped:X}}async getEmbeddingIndexStats(){let $=await this.getEmbeddingBackfillCandidates();return{missingEmbeddings:$.missingEmbeddings,staleEmbeddings:$.staleEmbeddings,failedEmbeddings:$.failedEmbeddings,embeddableEntities:$.embeddableEntities,embeddedEntities:$.embeddedEntities}}async getEmbeddingBackfillCandidates(){if(!await this.hasEntityTable())return{tableMissing:!0,skipped:0,rowsToBackfill:[],missingEmbeddings:0,staleEmbeddings:0,failedEmbeddings:0,embeddableEntities:0,embeddedEntities:0};let $=await this.getFailedEmbeddingKeys(),Z=await this.db.select({id:h.id,entityType:h.entityType,contentHash:h.contentHash}).from(h),X=await this.embeddingDb.select({entityId:f0.entityId,entityType:f0.entityType,contentHash:f0.contentHash}).from(f0),J=new Map;for(let O of X)J.set(`${O.entityType}:${O.entityId}`,O.contentHash);let G=[],Y=0,W=0,D=0,U=0,A=0,Q=0;for(let O of Z){if(this.entityRegistry.getEntityTypeConfig(O.entityType).embeddable===!1){Y++;continue}A++;let N=nb({entityId:O.id,entityType:O.entityType,contentHash:O.contentHash}),M=$.has(N),w=J.get(`${O.entityType}:${O.id}`);if(w===void 0){if(M)U++,Y++;else W++,G.push(O);continue}if(w!==O.contentHash){if(M)U++,Y++;else D++,G.push(O);continue}Q++,Y++}return{tableMissing:!1,skipped:Y,rowsToBackfill:G,missingEmbeddings:W,staleEmbeddings:D,failedEmbeddings:U,embeddableEntities:A,embeddedEntities:Q}}async getFailedEmbeddingKeys(){let $=await this.jobQueueService.getFailedJobs([v9.embedding]),Z=new Set;for(let X of $){let J=n7$(X);if(J)Z.add(nb(J))}return Z}async hasEntityTable(){return(await this.db.all(_`SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'entities'`)).length>0}async upsertFtsIndex($,Z,X,J){await $.run(_`DELETE FROM entity_fts WHERE entity_id = ${Z} AND entity_type = ${X}`),await $.run(_`INSERT INTO entity_fts (entity_id, entity_type, content) VALUES (${Z}, ${X}, ${J})`)}async resolveUniqueId($,Z){if(!await this.entityQueries.entityExists(Z,$))return $;for(let G=2;G<=100;G++){let Y=`${$}-${G}`;if(!await this.entityQueries.entityExists(Z,Y))return this.logger.debug(`Deduplicated entity ID: ${$} \u2192 ${Y}`),Y}let J=`${$}-${qZ().slice(0,8)}`;return this.logger.warn(`Could not deduplicate entity ID after 100 attempts, using random suffix: ${J}`),J}async notifyProjectionScheduler(){try{await this.projectionWakeup?.()}catch($){this.logger.error("Failed to wake projection scheduler",$)}}async emitEntityEvent($,Z,X,J,G,Y){if(!this.messageBus)return;this.logger.debug(`Emitting ${$} for ${Z}:${X}`);let W={entityType:Z,entityId:X,...Y?.conversationId?{conversationId:Y.conversationId}:{},...Y?.channelId?{channelId:Y.channelId}:{},...Y?.runId?{runId:Y.runId}:{},...Y?.toolCallId?{toolCallId:Y.toolCallId}:{},...Y?.actor?{actor:Y.actor}:{},...Y?.interfaceType?{interfaceType:Y.interfaceType}:{}};if(J)W.entity=J;if(G)W.previousMetadata=G;await this.messageBus.send({type:$,payload:W,sender:"entity-service",broadcast:!0})}async enqueueEmbeddingJob($){let{entityId:Z,entityType:X,contentHash:J,operation:G,priority:Y,maxRetries:W,eventContext:D}=$,U=this.entityRegistry.getEntityTypeConfig(X);if(!this.embeddingsEnabled||U.embeddable===!1)return this.logger.debug(`Skipping embedding for ${this.embeddingsEnabled?"non-embeddable entity type":"disabled indexing"}: ${X}:${Z}`),{entityId:Z,jobId:"",skipped:!1};let A={id:Z,entityType:X,contentHash:J,operation:G},Q=await this.jobQueueService.enqueue({type:v9.embedding,data:A,options:{...Y!==void 0&&{priority:Y},...W!==void 0&&{maxRetries:W},source:"entity-service",deduplication:"coalesce",deduplicationKey:`embedding:${X}:${Z}:${J}`,metadata:{operationType:"data_processing",operationTarget:Z,...D?.interfaceType?{interfaceType:D.interfaceType,requestedByInterface:D.interfaceType}:{},...D?.actor?{requestedByActor:D.actor,...D.actor.kind==="user"?{requestedByUserId:D.actor.userId}:{}}:{},silent:!0}}});return this.logger.debug(`Queued embedding job for ${X}:${Z} (job: ${Q})`),{entityId:Z,jobId:Q,skipped:!1}}}class q_{tail=Promise.resolve();run($,Z){if(Z?.aborted)return Promise.reject(Z.reason);let X=this.tail,J=()=>{};this.tail=new Promise((W)=>{J=W});let G=!1,Y=X.then(async()=>{try{return G=!0,Z?.throwIfAborted(),await $()}finally{J()}});return l7$(Y,()=>G,Z)}async idle(){await this.tail}}class E_{tails=new Map;async run($,Z){let X=this.tails.get($),J=()=>{},G=new Promise((Y)=>{J=Y});this.tails.set($,G),await X;try{return await Z()}finally{if(J(),this.tails.get($)===G)this.tails.delete($)}}}function l7$($,Z,X){if(!X)return $;return new Promise((J,G)=>{let Y=()=>{if(!Z())G(X.reason)};X.addEventListener("abort",Y,{once:!0}),$.then(J,G).finally(()=>{X.removeEventListener("abort",Y)})})}var aX=H.lazy(()=>H.union([H.null(),H.boolean(),H.number().finite().refine(($)=>!Number.isInteger($)||Number.isSafeInteger($),{message:"integer exceeds the JSON-safe range"}),H.string(),H.array(aX),H.record(H.string(),aX)])),g6=H.record(H.string(),aX),i7$=H.strictObject({id:H.string().trim().min(1),entityType:H.string().trim().min(1),content:H.string(),metadata:g6,visibility:P1}),y9=H.discriminatedUnion("operation",[H.strictObject({operation:H.literal("upsert"),entity:i7$}),H.strictObject({operation:H.literal("delete"),entityType:H.string().trim().min(1),id:H.string().trim().min(1)})]);var rb=H.strictObject({sourceType:H.string().trim().min(1),sourceId:H.string().trim().min(1),revision:H.string().trim().min(1),operation:H.enum(["upsert","delete"]),markedAt:H.number().int().nonnegative()}),s7$=H.strictObject({waveId:H.string().trim().min(1),ruleId:H.string().trim().min(1),jobId:H.string().trim().min(1).nullable(),failureReason:H.string().trim().min(1).max(500),failedAt:H.number().int().nonnegative()}),lb=H.strictObject({ruleId:H.string().trim().min(1),ruleVersion:H.string().trim().min(1),inputFingerprint:H.string().trim().min(1)}),a7$=H.strictObject({ruleId:H.string().trim().min(1),targetType:H.string().trim().min(1),level:H.number().int().nonnegative()}),t7$=H.strictObject({entityType:H.string().trim().min(1),entityId:H.string().trim().min(1),operation:H.enum(["upsert","delete"]),contentHash:H.string().min(1).optional()});function x_($){return`${$.sourceType}\x00${$.sourceId}`}function ib($){let Z=new Map;for(let X of $)Z.set(x_(X),X);return[...Z.values()].sort((X,J)=>X.generation-J.generation)}function tX($){if(Array.isArray($))return`[${$.map((Z)=>tX(Z)).join(",")}]`;if($!==null&&typeof $==="object")return`{${Object.entries($).sort(([Z],[X])=>Z.localeCompare(X)).map(([Z,X])=>`${JSON.stringify(Z)}:${tX(X)}`).join(",")}}`;return JSON.stringify($)}function tG($){let Z=H.array(t7$).parse($.changedTargets);return{...$,changedTargets:Z}}class FA{db;mutationAdmission;transactionTail=new q_;constructor($,Z){this.db=$,this.mutationAdmission=Z}async markDirty($){let Z=rb.parse($),J=(await this.db.insert(XZ).values(Z).returning({generation:XZ.generation}))[0]?.generation;if(J===void 0)throw Error("Failed to persist projection dirty input");return J}withDirtyInput($,Z){let X=rb.parse($);return this.runTransaction(async(J)=>{let G=await Z(J);return await J.insert(XZ).values(X),G})}async listPendingInputs(){let $=await this.db.select().from(XZ).orderBy(v0(XZ.generation));return ib($)}async claimPendingWave($){let Z=H.string().trim().min(1).parse($.waveId),X=H.string().trim().min(1).parse($.graphFingerprint),J=H.number().int().nonnegative().parse($.startedAt);return this.runTransaction(async(G)=>{let Y=await G.select({id:y0.id}).from(y0).where(c(y0.status,"running")).limit(1);if(Y.length>0)throw Error(`Cannot claim projection wave while "${Y[0]?.id}" is running`);let D=(await G.select({generation:XZ.generation}).from(XZ).orderBy(PZ(XZ.generation)).limit(1))[0]?.generation;if(D===void 0)return null;let U={id:Z,cutoffGeneration:D,graphFingerprint:X,status:"running",startedAt:J,completedAt:null};await G.insert(y0).values(U);let A=await G.select().from(XZ).where(k6(XZ.generation,D)).orderBy(v0(XZ.generation)),Q=ib(A);return await G.insert(q4).values(Q.map((O)=>({waveId:Z,sourceType:O.sourceType,sourceId:O.sourceId,revision:O.revision,operation:O.operation,generation:O.generation}))),await G.delete(XZ).where(k6(XZ.generation,D)),U})}listWaveInputs($){return this.db.select().from(q4).where(c(q4.waveId,$)).orderBy(v0(q4.generation))}async getActiveWave(){return(await this.db.select().from(y0).where(c(y0.status,"running")).limit(1))[0]??null}async completeWave($,Z){let X=H.string().trim().min(1).parse($),J=H.number().int().nonnegative().parse(Z);return this.runTransaction(async(G)=>{let W=(await G.select().from(y0).where(c(y0.id,X)).limit(1))[0];if(!W)throw Error(`Projection wave "${X}" does not exist`);if(W.status==="completed")return W;if(W.status==="failed")throw Error(`Projection wave "${X}" already failed`);if((await G.select({ruleId:t$.ruleId}).from(t$).where(F$(c(t$.waveId,X),JA(t$.status,"completed"))).limit(1)).length>0)throw Error(`Projection wave "${X}" has incomplete projection rules`);let A=(await G.update(y0).set({status:"completed",completedAt:J}).where(c(y0.id,X)).returning())[0];if(!A)throw Error(`Failed to mark projection wave "${X}" completed`);return await G.update(h8).set({resolvedAt:J}).where(F$(C4(h8.resolvedAt),k6(h8.recoveryGeneration,W.cutoffGeneration))),A})}async failWave($,Z){let X=H.string().trim().min(1).parse($),J=H.number().int().nonnegative().parse(Z);return this.runTransaction(async(G)=>(await this.failWaveInTransaction(G,X,J)).wave)}async failWaveWithIncident($){let Z=s7$.parse($);return this.runTransaction(async(X)=>{let J=await this.failWaveInTransaction(X,Z.waveId,Z.failedAt);if((await X.update(t$).set({status:"failed"}).where(F$(c(t$.waveId,Z.waveId),c(t$.ruleId,Z.ruleId))).returning({ruleId:t$.ruleId})).length===0)throw Error(`Projection rule "${Z.ruleId}" is not scheduled for wave "${Z.waveId}"`);return await X.insert(h8).values({waveId:Z.waveId,ruleId:Z.ruleId,jobId:Z.jobId,failureReason:Z.failureReason,recoveryGeneration:J.recoveryGeneration,createdAt:Z.failedAt,resolvedAt:null}).onConflictDoNothing({target:h8.waveId}),J.wave})}async getUnresolvedProjectionIncidentDiagnostics($=10){let Z=H.number().int().positive().max(100).parse($),[X,J]=await Promise.all([this.db.select({total:_`count(*)`}).from(h8).where(C4(h8.resolvedAt)),this.db.select().from(h8).where(C4(h8.resolvedAt)).orderBy(PZ(h8.createdAt)).limit(Z)]);return{total:Number(X[0]?.total??0),incidents:J}}async failWaveInTransaction($,Z,X){let G=(await $.select().from(y0).where(c(y0.id,Z)).limit(1))[0];if(!G)throw Error(`Projection wave "${Z}" does not exist`);if(G.status==="completed")throw Error(`Projection wave "${Z}" already completed`);if(G.status==="failed")return{wave:G,recoveryGeneration:await this.getRecoveryGeneration($,G.cutoffGeneration)};let Y=await $.select().from(q4).where(c(q4.waveId,Z)),W=await $.select().from(XZ),D=new Set(W.map(x_)),U=Y.filter((P)=>!D.has(x_(P)));if(U.length>0)await $.insert(XZ).values(U.map((P)=>({sourceType:P.sourceType,sourceId:P.sourceId,revision:P.revision,operation:P.operation,markedAt:X})));let A=await this.getRecoveryGeneration($,G.cutoffGeneration),O=(await $.update(y0).set({status:"failed",completedAt:X}).where(c(y0.id,Z)).returning())[0];if(!O)throw Error(`Failed to mark projection wave "${Z}" failed`);return{wave:O,recoveryGeneration:A}}async getRecoveryGeneration($,Z){let X=await $.select({generation:_`max(${XZ.generation})`}).from(XZ);return Number(X[0]?.generation??Z)}async putWaveRules($,Z){let X=H.string().trim().min(1).parse($),G=H.array(a7$).min(1).parse(Z).map((Y)=>({waveId:X,ruleId:Y.ruleId,targetType:Y.targetType,level:Y.level,status:"pending",changedTargets:[]}));await this.db.insert(t$).values(G)}async listWaveRules($){return(await this.db.select().from(t$).where(c(t$.waveId,$)).orderBy(v0(t$.level),v0(t$.ruleId))).map(tG)}async queueWaveRule($,Z,X){let J=H.string().trim().min(1).parse($),G=H.string().trim().min(1).parse(Z),Y=H.string().trim().min(1).parse(X),D=(await this.db.update(t$).set({status:"queued",jobId:Y}).where(F$(c(t$.waveId,J),c(t$.ruleId,G),c(t$.status,"pending"))).returning())[0];if(D)return tG(D);let U=await this.getWaveRule(J,G);if(U?.status==="completed"||U?.status==="queued"&&U.jobId===Y)return U;throw Error(`Projection rule "${G}" is not pending for wave "${J}"`)}async getWaveRule($,Z){let J=(await this.db.select().from(t$).where(F$(c(t$.waveId,$),c(t$.ruleId,Z))).limit(1))[0];return J?tG(J):null}async applyRuleResult($){let Z=H.string().trim().min(1).parse($.waveId),X=lb.parse({ruleId:$.ruleId,ruleVersion:$.ruleVersion,inputFingerprint:$.inputFingerprint}),J=H.array(y9).parse($.writeIntents),G=H.number().int().nonnegative().parse($.completedAt);return this.runTransaction(async(Y)=>{let D=(await Y.select().from(t$).where(F$(c(t$.waveId,Z),c(t$.ruleId,X.ruleId))).limit(1))[0];if(!D)throw Error(`Projection rule "${X.ruleId}" is not scheduled for wave "${Z}"`);for(let M of J){let w=M.operation==="upsert"?M.entity.entityType:M.entityType;if(w!==D.targetType)throw Error(`Projection rule "${X.ruleId}" cannot write entity type "${w}"`)}if(D.status==="completed"){if(D.inputFingerprint!==X.inputFingerprint)throw Error(`Projection rule "${X.ruleId}" already completed with another input`);return tG(D)}if(D.status==="failed")throw Error(`Projection rule "${X.ruleId}" already failed for wave "${Z}"`);if((await Y.select({status:y0.status}).from(y0).where(c(y0.id,Z)).limit(1))[0]?.status!=="running")throw Error(`Projection wave "${Z}" is not running`);let Q=(await Y.select().from(K6).where(F$(c(K6.ruleId,X.ruleId),c(K6.ruleVersion,X.ruleVersion),c(K6.inputFingerprint,X.inputFingerprint))).limit(1))[0];if(Q&&tX(Q.writeIntents)!==tX(J))throw Error(`Projection memo conflict for rule "${X.ruleId}" and fingerprint "${X.inputFingerprint}"`);if(!Q)await Y.insert(K6).values({...X,writeIntents:J,createdAt:G});let O=await J.reduce(async(M,w)=>{let q=await M,K$=await this.applyWriteIntent(Y,w,G);return K$?[...q,K$]:q},Promise.resolve([])),N=(await Y.update(t$).set({status:"completed",inputFingerprint:X.inputFingerprint,changedTargets:O}).where(F$(c(t$.waveId,Z),c(t$.ruleId,X.ruleId))).returning())[0];if(!N)throw Error(`Failed to complete projection rule "${X.ruleId}" for wave "${Z}"`);return tG(N)})}async getRuleMemo($){let Z=lb.parse($),J=(await this.db.select().from(K6).where(F$(c(K6.ruleId,Z.ruleId),c(K6.ruleVersion,Z.ruleVersion),c(K6.inputFingerprint,Z.inputFingerprint))).limit(1))[0];if(!J)return null;return{...J,writeIntents:H.array(y9).parse(J.writeIntents)}}async runTransaction($){return this.transactionTail.run(()=>this.db.transaction($))}async applyWriteIntent($,Z,X){let J=Z.operation==="upsert"?Z.entity.entityType:Z.entityType,G=Z.operation==="upsert"?Z.entity.id:Z.id,W=(await $.select({content:h.content,contentHash:h.contentHash,metadata:h.metadata,visibility:h.visibility}).from(h).where(F$(c(h.entityType,J),c(h.id,G))).limit(1))[0];if(Z.operation==="delete"){if(!W)return null;return await this.mutationAdmission?.assertMutationAdmission({operation:"delete",entityType:J,entityId:G}),await $.delete(h).where(F$(c(h.entityType,J),c(h.id,G))),await $.run(_`DELETE FROM entity_fts WHERE entity_id = ${G} AND entity_type = ${J}`),{entityType:J,entityId:G,operation:"delete"}}let D=I9(Z.entity.content);if(W?.contentHash===D&&W.content===Z.entity.content&&W.visibility===Z.entity.visibility&&tX(W.metadata)===tX(Z.entity.metadata))return null;if(await this.mutationAdmission?.assertMutationAdmission({operation:W?"update":"create",entityType:J,entityId:G}),W)await $.update(h).set({content:Z.entity.content,contentHash:D,metadata:Z.entity.metadata,visibility:Z.entity.visibility,updated:X}).where(F$(c(h.entityType,J),c(h.id,G)));else await $.insert(h).values({id:G,entityType:J,content:Z.entity.content,contentHash:D,metadata:Z.entity.metadata,visibility:Z.entity.visibility,created:X,updated:X});return await $.run(_`DELETE FROM entity_fts WHERE entity_id = ${G} AND entity_type = ${J}`),await $.run(_`INSERT INTO entity_fts (entity_id, entity_type, content) VALUES (${G}, ${J}, ${Z.entity.content})`),{entityType:J,entityId:G,operation:"upsert",contentHash:D}}}var e7$=/!\[([^\]]*)\]\(entity:\/\/image\/([^)]+)\)/g;function $X$($){return $.includes("entity://image/")}var ZX$=new Set(["image"]);function sb($){return!ZX$.has($)}class S_{logger;constructor($){this.logger=$.child("ContentResolver")}detectReferences($){let Z=[],X=new RegExp(e7$.source,"g"),J;while((J=X.exec($))!==null)Z.push({alt:J[1]??"",imageId:J[2]??"",originalMarkdown:J[0]});return Z}async resolve($,Z,X){if(!$X$($))return{content:$,resolvedCount:0,failedCount:0};let J=this.detectReferences($);if(J.length===0)return{content:$,resolvedCount:0,failedCount:0};let G=[...new Set(J.map((A)=>A.imageId))],Y=new Map;for(let A of G)try{let Q=await Z.getEntityRaw({entityType:"image",id:A,...X!==void 0&&{visibilityScope:X}});if(Q?.content)Y.set(A,Q.content);else this.logger.warn("Image entity not found",{imageId:A})}catch(Q){this.logger.warn("Failed to fetch image entity",{imageId:A,error:d$(Q)})}let W=$,D=0,U=0;for(let A of J){let Q=Y.get(A.imageId);if(Q){let O=`![${A.alt}](${Q})`;W=W.replace(A.originalMarkdown,O),D++}else U++}if(D>0)this.logger.debug("Resolved image references",{resolvedCount:D,failedCount:U});return{content:W,resolvedCount:D,failedCount:U}}}function ab($,Z){return t.suspend(()=>{let X,J=$.pipe(t.match({onFailure:(W)=>{return X={kind:"failure",error:W},X},onSuccess:(W)=>{return X={kind:"status",status:W},X}})),G=N1.spaced(Z.intervalMs),Y=Z.timeoutMs===void 0?G:G.pipe(N1.upTo(Z.timeoutMs));return J.pipe(t.repeat({schedule:Y,until:(W)=>W.kind==="status"&&W.status.ready}),t.flatMap(()=>{if(X?.kind==="status")return t.succeed(X.status);if(X?.kind==="failure")return t.fail(X.error);return t.die(Error("Index readiness polling completed without an attempt"))}))})}class j_{db;dbClient;dbUrl;searchDbClient;embeddingDb;embeddingDbClient;dbInitPromise;entityRegistry;logger;jobQueueService;entitySearch;entitySerializer;entityQueries;entityMutations;projectionStore;contentResolver;embeddingHandlerRegistered=!1;indexReady=!1;close(){let $,Z=!1;try{if(this.embeddingHandlerRegistered)this.jobQueueService.unregisterHandler(v9.embedding),this.embeddingHandlerRegistered=!1}catch(X){$=X,Z=!0}try{this.embeddingDbClient.close()}catch(X){if(!Z)$=X;Z=!0}try{this.searchDbClient.close()}catch(X){if(!Z)$=X;Z=!0}try{this.dbClient.close()}catch(X){if(!Z)$=X;Z=!0}if(Z)throw $}static createFresh($){return new j_($)}constructor($){let{db:Z,client:X,url:J}=K_($.dbConfig);this.db=Z,this.dbClient=X,this.dbUrl=J,this.projectionStore=new FA(this.db,$.mutationAdmission);let G,Y;try{let W=K_($.dbConfig);G=W.client,this.searchDbClient=W.client;let D=V_($.embeddingDbConfig);if(Y=D.client,this.embeddingDb=D.db,this.embeddingDbClient=D.client,this.entityRegistry=$.entityRegistry,this.logger=($.logger??M1.getInstance()).child("EntityService"),!$.jobQueueService)throw Error("JobQueueService is required for EntityService initialization");this.jobQueueService=$.jobQueueService,this.entitySerializer=new P_(this.entityRegistry,this.logger),this.entityQueries=new T_({db:this.db,serializer:this.entitySerializer,logger:this.logger,embeddingDb:this.embeddingDb});let U=$.embeddingsEnabled??!0;if(this.entitySearch=new PA(W.db,$.embeddingService,this.entitySerializer,this.logger,U),this.entityMutations=new L_({db:this.db,entityRegistry:this.entityRegistry,entitySerializer:this.entitySerializer,entityQueries:this.entityQueries,jobQueueService:this.jobQueueService,logger:this.logger,...$.messageBus&&{messageBus:$.messageBus},...$.mutationAdmission&&{mutationAdmission:$.mutationAdmission},projectionStore:this.projectionStore,embeddingDb:this.embeddingDb,embeddingsEnabled:U}),this.contentResolver=new S_(this.logger),$.embeddingsEnabled??!0){let A=aG.createFresh(this,$.embeddingService,$.messageBus);this.jobQueueService.registerHandler(v9.embedding,A),this.embeddingHandlerRegistered=!0}this.dbInitPromise=this.initializeDatabase($.embeddingDbConfig,$.embeddingService.dimensions),this.dbInitPromise.catch(()=>{})}catch(W){try{if(this.embeddingHandlerRegistered)$.jobQueueService?.unregisterHandler(v9.embedding),this.embeddingHandlerRegistered=!1}catch{}try{Y?.close()}catch{}try{G?.close()}catch{}try{X.close()}catch{}throw W}}async initialize(){await this.dbInitPromise}async initializeDatabase($,Z){try{await b6(this.dbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to enable WAL mode for entity database (non-fatal)",X)}try{await b6(this.searchDbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to configure entity search database (non-fatal)",X)}try{await b6(this.embeddingDbClient,$.url)}catch(X){this.logger.warn("Failed to enable WAL mode for embedding database (non-fatal)",X)}await bb(this.dbClient),await Q_(this.embeddingDbClient,Z),await O_(this.embeddingDbClient),await B_(this.searchDbClient,N_($.url))}getProjectionStore(){return this.projectionStore}setProjectionWakeup($){return this.entityMutations.setProjectionWakeup($)}async createEntity($){return await this.initialize(),this.entityMutations.createEntity($)}async createEntityFromMarkdown($){await this.initialize();let{input:Z,options:X}=$,J=this.entitySerializer.deserializeEntity(Z.markdown,Z.entityType);return this.entityMutations.createEntity({entity:{...J,id:Z.id,entityType:Z.entityType,content:Z.markdown,metadata:J.metadata??{},...Z.visibility!==void 0?{visibility:Z.visibility}:{}},...X!==void 0&&{options:X}})}async updateEntity($){return await this.initialize(),this.entityMutations.updateEntity($)}async deleteEntity($){return await this.initialize(),this.entityMutations.deleteEntity($)}async upsertEntity($){return await this.initialize(),this.entityMutations.upsertEntity($)}async storeEmbedding($){return await this.initialize(),this.entityMutations.storeEmbedding($)}async reconcileProjectionTargets($){return await this.initialize(),this.entityMutations.reconcileProjectionTargets($)}async backfillMissingEmbeddings(){return await this.initialize(),this.indexReady=!1,this.entityMutations.backfillMissingEmbeddings()}isIndexReady(){return this.indexReady}async awaitIndexReady($){await this.initialize();let Z=!1,X=t.tryPromise({try:()=>this.getIndexReadinessStatus(),catch:(Y)=>Y}).pipe(t.tapError((Y)=>t.sync(()=>{if(!Z)this.logger.warn("Semantic index readiness check failed; retrying",{error:Y}),Z=!0})),t.tap(()=>t.sync(()=>{Z=!1}))),J=ab(X,{intervalMs:$.intervalMs??250,...$.timeoutMs!==void 0&&{timeoutMs:$.timeoutMs}}),G=await t.runPromiseExit(J,{...$.signal&&{signal:$.signal}});if(M0.isFailure(G)){if($.signal?.aborted)throw $.signal.reason;throw Y6.squash(G.cause)}if(G.value.ready)this.indexReady=!0;return G.value}async getIndexReadinessStatus(){let[$,Z]=await Promise.all([this.jobQueueService.getActiveJobs([v9.embedding]),this.entityMutations.getEmbeddingIndexStats()]),X=$.length,J=X===0&&Z.missingEmbeddings===0&&Z.staleEmbeddings===0,G=J&&Z.failedEmbeddings>0;return{ready:J,degraded:G,activeEmbeddingJobs:X,missingEmbeddings:Z.missingEmbeddings,staleEmbeddings:Z.staleEmbeddings,failedEmbeddings:Z.failedEmbeddings,embeddableEntities:Z.embeddableEntities,embeddedEntities:Z.embeddedEntities}}async getEntity($){await this.initialize();let{entityType:Z,id:X,visibilityScope:J}=$,G=await this.getEntityRaw({entityType:Z,id:X,...J!==void 0&&{visibilityScope:J}});if(!G)return null;if(sb(Z)&&G.content){let Y=await this.contentResolver.resolve(G.content,this,J);if(Y.resolvedCount>0)return{...G,content:Y.content}}return G}async getEntityRaw($){await this.initialize();let{entityType:Z,id:X,visibilityScope:J}=$,G=await this.entityQueries.getEntityData(Z,X,J);if(!G)return null;return this.entitySerializer.convertToEntity(G)}async listEntities($){await this.initialize();let{entityType:Z,options:X}=$;return this.entityQueries.listEntities(Z,X,this.publishedStatusesFor(Z))}async countEntities($){await this.initialize();let{entityType:Z,options:X}=$;return this.entityQueries.countEntities(Z,X,this.publishedStatusesFor(Z))}publishedStatusesFor($){if(!this.entityRegistry.hasEntityType($))return;return this.entityRegistry.getAdapter($).publishedStatuses}async getEntityCounts($){return await this.initialize(),this.entityQueries.getEntityCounts($)}async search($){return await this.initialize(),this.entitySearch.search($.query,$.options)}async searchEntities($,Z,X){return await this.initialize(),this.entitySearch.searchEntities($,Z,X)}async searchWithDistances($){return await this.initialize(),this.entitySearch.searchWithDistances($.query)}async projectSemanticSpace($){return await this.initialize(),this.entitySearch.projectSemanticSpace($)}async countEmbeddings(){return await this.initialize(),(await this.embeddingDb.select({count:_`count(*)`}).from(f0))[0]?.count??0}serializeEntity($){return this.entitySerializer.serializeEntity($)}deserializeEntity($,Z){return this.entitySerializer.deserializeEntity($,Z)}getEntityTypes(){return this.entityRegistry.getAllEntityTypes()}hasEntityType($){return this.entityRegistry.hasEntityType($)}getEntityTypeConfig($){return this.entityRegistry.getEntityTypeConfig($)}getWeightMap(){return this.entityRegistry.getWeightMap()}async getAsyncJobStatus($){let Z=await this.jobQueueService.getStatus($);if(!Z)return null;return{status:Z.status,...Z.lastError&&{error:Z.lastError}}}}class k_{entitySchemas=new Map;entityAdapters=new Map;entityConfigs=new Map;createInterceptors=new Map;uploadSaveHandlers=[];persistValidators=new Map;frontmatterExtensions=new Map;logger;static createFresh($){return new k_($)}constructor($){this.logger=$}registerEntityType($,Z,X,J){if(this.logger.debug(`Registering entity type: ${$}`),this.entitySchemas.has($))throw Error(`Entity type registration failed for ${$}: Entity type is already registered`);if(this.entitySchemas.set($,Z),this.entityAdapters.set($,X),J)this.entityConfigs.set($,J);this.logger.debug(`Registered entity type: ${$}`)}unregisterEntityType($){this.entitySchemas.delete($),this.entityAdapters.delete($),this.entityConfigs.delete($),this.createInterceptors.delete($),this.persistValidators.delete($),this.frontmatterExtensions.delete($),this.uploadSaveHandlers=this.uploadSaveHandlers.filter((Z)=>Z.entityType!==$),this.logger.debug(`Unregistered entity type: ${$}`)}getSchema($){let Z=this.entitySchemas.get($);if(!Z)throw Error(`Entity type registration failed for ${$}: No schema registered for entity type`);return Z}getAdapter($){let Z=this.entityAdapters.get($);if(!Z)throw Error(`Entity type registration failed for ${$}: No adapter registered for entity type`);let X=this.mergeExtensions($,Z.frontmatterSchema);if(!X||X===Z.frontmatterSchema)return Z;return Object.create(Z,{frontmatterSchema:{value:X,enumerable:!0}})}hasEntityType($){return this.entitySchemas.has($)&&this.entityAdapters.has($)}validateEntity($,Z){let J=this.getSchema($).parse(this.normalizePolicyFields(Z)),G=H6.parse(J);return{...J!==null&&typeof J==="object"&&!Array.isArray(J)?Object.fromEntries(Object.entries(J)):{},id:G.id,entityType:G.entityType,content:G.content,created:G.created,updated:G.updated,visibility:G.visibility,metadata:G.metadata,contentHash:G.contentHash}}normalizePolicyFields($){if($===null||typeof $!=="object"||Array.isArray($))return $;let Z=Object.fromEntries(Object.entries($));return Z.visibility=P1.parse(Z.visibility),Z}getAllEntityTypes(){return Array.from(this.entitySchemas.keys())}getEntityTypeConfig($){return this.entityConfigs.get($)??{}}getWeightMap(){let $={};for(let[Z,X]of this.entityConfigs)if(X.weight!==void 0)$[Z]=X.weight;return $}registerCreateInterceptor($,Z){this.createInterceptors.set($,Z)}getCreateInterceptor($){return this.createInterceptors.get($)}registerUploadSaveHandler($){this.uploadSaveHandlers=[...this.uploadSaveHandlers.filter((Z)=>Z.entityType!==$.entityType),$]}getUploadSaveHandler($){return this.uploadSaveHandlers.find((Z)=>Z.mediaTypes.some((X)=>X.endsWith("/*")?$.startsWith(`${X.slice(0,-1)}`):$===X))}registerPersistValidator($,Z){this.persistValidators.set($,Z)}getPersistValidator($){return this.persistValidators.get($)}extendFrontmatterSchema($,Z){let X=this.entityAdapters.get($);if(!X)throw Error(`Cannot extend frontmatter schema for ${$}: entity type is not registered`);if(!X.frontmatterSchema)throw Error(`Cannot extend frontmatter schema for ${$}: adapter has no frontmatterSchema`);let J=this.frontmatterExtensions.get($)??[];J.push(Z),this.frontmatterExtensions.set($,J),this.logger.debug(`Extended frontmatter schema for entity type: ${$}`)}getEffectiveFrontmatterSchema($){let Z=this.entityAdapters.get($);return this.mergeExtensions($,Z?.frontmatterSchema)}mergeExtensions($,Z){if(!Z)return;let X=this.frontmatterExtensions.get($);if(!X?.length)return Z;let J=Z;for(let G of X)J=J.extend(G.shape);return J.superRefine((G,Y)=>{for(let W of X){let D=Object.fromEntries(Object.keys(W.shape).flatMap((A)=>Object.hasOwn(G,A)?[[A,G[A]]]:[])),U=W.safeParse(D);if(!U.success)for(let A of U.error.issues)Y.addIssue({code:"custom",path:[...A.path],message:A.message})}})}}class eb{format($){let Z=[];Z.push(`\\[${$.id}\\]`);let X=$.content,J={};if($.content.trim())try{let G=cZ($.content,H.record(H.string(),H.unknown()));X=G.content,J=G.metadata}catch{X=$.content}if(X.trim()){let G=X.trim();G=tb(G);let Y=J.title??$.metadata.title??$.metadata.name;if(Y){if(G.split(`
72
72
  `)[0]?.trim().toLowerCase()===String(Y).toLowerCase())G=G.split(`
73
73
  `).slice(1).join(`
74
74
  `).trim()}if(G){let W=G.replace(/\s+/g," ").trim(),D=W.length>500?W.substring(0,500)+"...":W;Z.push(D)}}return Z.join(`
75
75
 
76
- `)}parse($){throw Error("BaseEntityFormatter is for display only. Use BaseEntityAdapter for parsing operations.")}}class eX{cache=null;cacheParseError=null;logger;entityService;entityType;defaultBody;readScope;constructor($,Z,X,J,G="public"){this.entityService=$,this.logger=Z.child(this.constructor.name),this.entityType=X,this.defaultBody=J,this.readScope=G}async initialize(){if(await this.load())return;if(await this.load())return;this.logger.info(`No ${this.entityType} found, creating default ${this.entityType}`);try{let $=this.createContent(this.defaultBody);await this.entityService.createEntity({entity:{id:this.entityType,entityType:this.entityType,content:$,metadata:{}}}),await this.load(),this.logger.info(`Default ${this.entityType} created successfully`)}catch($){this.logger.error(`Failed to create default ${this.entityType}`,{error:$})}}get(){if(this.cache&&!this.cacheParseError)return this.parseBody(this.cache.content);return this.defaultBody}getContent(){if(this.cache)return this.cache.content;return this.createContent(this.defaultBody)}async refreshCache(){await this.load()}async load(){try{let $=await this.entityService.getEntity({entityType:this.entityType,id:this.entityType,visibilityScope:this.readScope});if(this.cache=$,this.cacheParseError=null,$)try{return this.parseBody($.content),this.logger.debug(`${this.entityType} loaded`),!0}catch(Z){return this.cacheParseError=Z instanceof Error?Z:Error(String(Z)),this.logger.error(`Failed to parse ${this.entityType} \u2014 using default. Fix the entity content to clear this error.`,{error:this.cacheParseError.message}),!0}else this.logger.debug(`No ${this.entityType} found in database`)}catch($){this.logger.warn(`Failed to load ${this.entityType}`,{error:$}),this.cache=null,this.cacheParseError=null}return!1}}function XX$($,Z){let X=$.getAdapter(Z.entityType);if(!X.buildStub)return;let J=X.buildStub({id:Z.id,title:Z.title}),G=new Date().toISOString();return{id:Z.id,entityType:Z.entityType,content:J.content,metadata:J.metadata,visibility:"public",created:G,updated:G,contentHash:""}}function $g($,Z){return Z==="public"?$:`${$}-${Z}`}function Zg($,Z,X,J){let G=J.getEntityTypeConfig($).publish?.publishStatuses;if(!G?.length||typeof X!=="string")return"non-publish";let Y=typeof Z==="string"&&G.includes(Z);if(!G.includes(X))return"non-publish";return Y?"within-publish-set":"boundary"}class I_{dataSources=new Map;logger;static createFresh($){return new I_($)}constructor($){this.logger=$.child("DataSourceRegistry")}register($){let Z=$.id.includes(":")?$.id:`shell:${$.id}`;this.registerWithId(Z,$)}registerWithId($,Z){if(this.dataSources.has($)){let X=Error(`DataSource with id "${$}" already exists`);throw this.logger.error("DataSource registration failed",{error:X,id:$}),X}this.dataSources.set($,Z),this.logger.debug("DataSource registered",{id:$,name:Z.name})}unregister($){if(this.dataSources.delete($))this.logger.debug("DataSource unregistered",{id:$});else this.logger.warn("Attempted to unregister non-existent DataSource",{id:$})}get($){return this.dataSources.get($)}has($){return this.dataSources.has($)}list(){return Array.from(this.dataSources.values())}getIds(){return Array.from(this.dataSources.keys())}getByCapability($){return this.list().filter((Z)=>{switch($){case"canFetch":return!!Z.fetch;case"canGenerate":return!!Z.generate;case"canTransform":return!!Z.transform;default:return!1}})}find($){return this.list().filter($)}clear(){let $=this.dataSources.size;this.dataSources.clear(),this.logger.debug("DataSource registry cleared",{count:$})}}var Xg=H.object({currentPage:H.number(),totalPages:H.number(),totalItems:H.number(),pageSize:H.number(),hasNextPage:H.boolean(),hasPrevPage:H.boolean()});function v_($,Z,X){let J=Math.max(1,Math.ceil($/X));return{currentPage:Z,totalPages:J,totalItems:$,pageSize:X,hasNextPage:Z<J,hasPrevPage:Z>1}}async function y_($,Z,X,J,G="public"){try{let Y=await $.getEntity({entityType:Z,id:X,visibilityScope:G});if(Y)return Y;let W=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{slug:X},visibilityScope:G}}});if(W[0])return W[0];let D=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:X},visibilityScope:G}}});if(D[0])return D[0];let U=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:KJ(X)},visibilityScope:G}}});if(U[0])return U[0];let A=await $.listEntities({entityType:Z,options:{limit:200,filter:{visibilityScope:G}}}),Q=KJ(X);return A.find((O)=>typeof O.metadata.title==="string"&&KJ(O.metadata.title)===Q)??null}catch(Y){if(J)J.error(`Failed to find entity ${Z}:${X}`,{error:Y});return null}}async function Jg($,Z,X,J,G="Entity",Y="public"){let W=await y_($,Z,X,J,Y);if(!W)return{ok:!1,error:`${G} not found: ${Z}/${X}`};return{ok:!0,entity:W}}class b9{callback;heartbeatInterval;constructor($){this.callback=$}static from($){if(!$)return;return new b9($)}createSub($){let{scale:Z}=$??{};if(Z){let{start:X,end:J}=Z,G=J-X;return new b9(async(Y)=>{let W=X+Y.progress/(Y.total??100)*G;await this.callback({...Y,progress:W,total:100})})}return new b9(this.callback)}async report($){await this.callback($)}startHeartbeat($,Z=5000){this.stopHeartbeat(),this.heartbeatInterval=setInterval(()=>{this.report({message:$,progress:0}).catch(()=>{})},Z)}stopHeartbeat(){if(this.heartbeatInterval)clearInterval(this.heartbeatInterval),this.heartbeatInterval=void 0}toCallback(){return this.callback}}var JX$=H.object({enabled:H.boolean().describe("Whether the plugin is enabled"),debug:H.boolean().describe("Enable debug logging for this plugin")});class eG extends Error{pluginId;issues;constructor($,Z){super(`Invalid plugin config for ${$}`);this.name="PluginConfigValidationError",this.pluginId=$,this.issues=Z}}var GX$=H.object({toolName:H.string(),args:H.unknown(),progressToken:H.union([H.string(),H.number()]).optional(),hasProgress:H.boolean().optional(),interfaceType:H.string(),actor:X7,displayName:H.string().optional(),conversationId:H.string().optional(),channelId:H.string().optional(),channelName:H.string().optional(),runId:H.string().optional(),toolCallId:H.string().optional(),userPermissionLevel:H.enum(["admin","trusted","public"]).optional(),isAnchor:H.boolean().optional(),signal:H.custom(($)=>$ instanceof AbortSignal).optional()}),YX$=H.object({resourceUri:H.string()});class J7{id;version;description;packageName;config;context;get logger(){return this.context?.logger??M1.createFresh({context:this.id})}constructor($,Z,X,J){this.id=$,this.packageName=Z.name,this.version=Z.version,this.description=Z.description??`${Z.name} plugin`;let G=J.safeParse(X);if(!G.success)throw new eG($,G.error.issues.map((Y)=>({path:Y.path.map(String).join("."),code:Y.code,message:Y.message})));this.config=G.data}setupMessageHandlers($){$.messaging.subscribe($Y.toolExecute(this.id),async(Z)=>{try{let X=GX$.safeParse(Z.payload);if(!X.success)return{success:!1,error:"Invalid tool execution request format"};let{toolName:J,args:G,progressToken:Y,hasProgress:W,interfaceType:D,actor:U,displayName:A,conversationId:Q,channelId:O,channelName:P,runId:_,toolCallId:M,userPermissionLevel:z,isAnchor:x,signal:K$}=X.data,J$=(await this.getTools()).find((A$)=>A$.name===J);if(!J$)return{success:!1,error:`Tool not found: ${J}`};let B$={interfaceType:D,actor:U,...A&&{displayName:A},...Q&&{conversationId:Q},...O&&{channelId:O},...P&&{channelName:P},..._&&{runId:_},...M&&{toolCallId:M},...z&&{userPermissionLevel:z},...x!==void 0&&{isAnchor:x},...K$&&{signal:K$},...W&&Y!==void 0&&{progressToken:Y,sendProgress:async(A$)=>{await $.messaging.send({type:$Y.progress(this.id),payload:{progressToken:Y,notification:A$}})}}};return{success:!0,data:await J$.handler(G,B$)}}catch(X){return this.logger.error("Tool execution error",X),{success:!1,error:d$(X)}}}),$.messaging.subscribe($Y.resourceGet(this.id),async(Z)=>{try{let X=YX$.safeParse(Z.payload);if(!X.success)return{success:!1,error:"Invalid resource get request format"};let{resourceUri:J}=X.data,Y=(await this.getResources()).find((D)=>D.uri===J);if(!Y)return{success:!1,error:`Resource not found: ${J}`};return{success:!0,data:await Y.handler()}}catch(X){return this.logger.error("Resource fetch error",X),{success:!1,error:d$(X)}}})}async onRegister($){}async onRegistrationComplete($){}async finalizeRegistration(){await this.onRegistrationComplete(this.getContext())}async onReady($){}async ready(){await this.onReady(this.getContext())}async getCapabilities(){let $=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...$&&{instructions:$}}}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}async shutdown(){await this.onShutdown()}async onShutdown(){}getContext(){if(!this.context)throw Error(`Plugin ${this.id}: Plugin not registered yet`);return this.context}determineUserPermissionLevel($){return"public"}createProgressBridge($){if(!$)return;let Z=this.context;if(!Z)return;let X=this.id;return b9.from(async(J)=>{await Z.messaging.send({type:$Y.progress(X),payload:{progressToken:$,notification:{progress:J.progress,total:J.total,message:J.message}}})})}}var Gg=H.object({id:H.string(),template:H.string(),content:H.unknown().optional(),dataQuery:H.looseObject({entityType:H.string().optional(),template:H.string().optional(),query:H.looseObject({id:H.string().optional(),limit:H.number().optional(),offset:H.number().optional()}).optional()}).optional(),order:H.number().optional()}),b_=["primary","secondary"],Yg=H.object({show:H.boolean().default(!1),label:H.string().optional(),slot:H.enum(b_).default("primary"),priority:H.number().min(0).max(100).default(50)}).optional(),g_=H.object({id:H.string(),path:H.string(),title:H.string().default(""),pageLabel:H.string().optional(),description:H.string().default(""),sections:H.array(Gg).default([]),layout:H.string().default("default"),fullscreen:H.boolean().optional(),pluginId:H.string().optional(),sourceEntityType:H.string().optional(),external:H.boolean().optional(),navigation:Yg}),Wg=H.object({routes:H.array(g_),pluginId:H.string()}),Dg=H.object({paths:H.array(H.string()).optional(),pluginId:H.string().optional()}),Hg=H.object({pluginId:H.string().optional()}),Ug=H.object({path:H.string()}),TA=H.object({label:H.string(),href:H.string(),priority:H.number()});var WX$="site:metadata:get",DX$="site:metadata:updated",MA=H.object({heading:H.string().describe("Main CTA heading text"),buttonText:H.string().describe("Call-to-action button text"),buttonLink:H.string().describe("URL or anchor for the CTA button")}),h_=H.object({blurb:H.string().optional().describe("Short italic subtitle under the section title")}),m_=H.object({represents:H.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:H.string().describe("The site's title"),description:H.string().describe("The site's description"),url:H.string().optional().describe("Canonical site URL"),copyright:H.string().optional().describe("Copyright notice text"),logo:H.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:H.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:H.string().optional().describe("Analytics script HTML"),cta:MA.optional().describe("Call-to-action configuration"),sections:H.record(H.string(),h_).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.")});var HX$=H.object({platform:H.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:H.string().describe("Profile or contact URL"),label:H.string().optional().describe("Optional display label")}),UX$=H.object({represents:H.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:H.string().describe("The site's title"),description:H.string().describe("The site's description"),url:H.string().optional().describe("Canonical site URL"),copyright:H.string(),logo:H.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:H.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:H.string().optional().describe("Analytics script HTML"),cta:MA.optional().describe("Call-to-action configuration"),sections:H.record(H.string(),h_).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers."),navigation:H.object({primary:H.array(TA),secondary:H.array(TA)}),socialLinks:H.array(HX$).optional().describe("Social media links from profile metadata")});var AX$=H.record(H.string(),H.unknown());function Ag($,Z){let X=AX$.safeParse($);return X.success&&Z.every((J)=>(J in X.data))}class ZY{parse($){throw Error("This response format is read-only and cannot be parsed back to data")}formatKeyValue($,Z){if(Z===void 0||Z===null)return"";return`**${$}:** ${String(Z)}`}formatList($){return $.map((Z)=>`- ${String(Z)}`).join(`
76
+ `)}parse($){throw Error("BaseEntityFormatter is for display only. Use BaseEntityAdapter for parsing operations.")}}class eX{cache=null;cacheParseError=null;logger;entityService;entityType;defaultBody;readScope;constructor($,Z,X,J,G="public"){this.entityService=$,this.logger=Z.child(this.constructor.name),this.entityType=X,this.defaultBody=J,this.readScope=G}async initialize(){if(await this.load())return;if(await this.load())return;this.logger.info(`No ${this.entityType} found, creating default ${this.entityType}`);try{let $=this.createContent(this.defaultBody);await this.entityService.createEntity({entity:{id:this.entityType,entityType:this.entityType,content:$,metadata:{}}}),await this.load(),this.logger.info(`Default ${this.entityType} created successfully`)}catch($){this.logger.error(`Failed to create default ${this.entityType}`,{error:$})}}get(){if(this.cache&&!this.cacheParseError)return this.parseBody(this.cache.content);return this.defaultBody}getContent(){if(this.cache)return this.cache.content;return this.createContent(this.defaultBody)}async refreshCache(){await this.load()}async load(){try{let $=await this.entityService.getEntity({entityType:this.entityType,id:this.entityType,visibilityScope:this.readScope});if(this.cache=$,this.cacheParseError=null,$)try{return this.parseBody($.content),this.logger.debug(`${this.entityType} loaded`),!0}catch(Z){return this.cacheParseError=Z instanceof Error?Z:Error(String(Z)),this.logger.error(`Failed to parse ${this.entityType} \u2014 using default. Fix the entity content to clear this error.`,{error:this.cacheParseError.message}),!0}else this.logger.debug(`No ${this.entityType} found in database`)}catch($){this.logger.warn(`Failed to load ${this.entityType}`,{error:$}),this.cache=null,this.cacheParseError=null}return!1}}function XX$($,Z){let X=$.getAdapter(Z.entityType);if(!X.buildStub)return;let J=X.buildStub({id:Z.id,title:Z.title}),G=new Date().toISOString();return{id:Z.id,entityType:Z.entityType,content:J.content,metadata:J.metadata,visibility:"public",created:G,updated:G,contentHash:""}}function $g($,Z){return Z==="public"?$:`${$}-${Z}`}function Zg($,Z,X,J){let G=J.getEntityTypeConfig($).publish?.publishStatuses;if(!G?.length||typeof X!=="string")return"non-publish";let Y=typeof Z==="string"&&G.includes(Z);if(!G.includes(X))return"non-publish";return Y?"within-publish-set":"boundary"}class I_{dataSources=new Map;logger;static createFresh($){return new I_($)}constructor($){this.logger=$.child("DataSourceRegistry")}register($){let Z=$.id.includes(":")?$.id:`shell:${$.id}`;this.registerWithId(Z,$)}registerWithId($,Z){if(this.dataSources.has($)){let X=Error(`DataSource with id "${$}" already exists`);throw this.logger.error("DataSource registration failed",{error:X,id:$}),X}this.dataSources.set($,Z),this.logger.debug("DataSource registered",{id:$,name:Z.name})}unregister($){if(this.dataSources.delete($))this.logger.debug("DataSource unregistered",{id:$});else this.logger.warn("Attempted to unregister non-existent DataSource",{id:$})}get($){return this.dataSources.get($)}has($){return this.dataSources.has($)}list(){return Array.from(this.dataSources.values())}getIds(){return Array.from(this.dataSources.keys())}getByCapability($){return this.list().filter((Z)=>{switch($){case"canFetch":return!!Z.fetch;case"canGenerate":return!!Z.generate;case"canTransform":return!!Z.transform;default:return!1}})}find($){return this.list().filter($)}clear(){let $=this.dataSources.size;this.dataSources.clear(),this.logger.debug("DataSource registry cleared",{count:$})}}var Xg=H.object({currentPage:H.number(),totalPages:H.number(),totalItems:H.number(),pageSize:H.number(),hasNextPage:H.boolean(),hasPrevPage:H.boolean()});function v_($,Z,X){let J=Math.max(1,Math.ceil($/X));return{currentPage:Z,totalPages:J,totalItems:$,pageSize:X,hasNextPage:Z<J,hasPrevPage:Z>1}}async function y_($,Z,X,J,G="public"){try{let Y=await $.getEntity({entityType:Z,id:X,visibilityScope:G});if(Y)return Y;let W=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{slug:X},visibilityScope:G}}});if(W[0])return W[0];let D=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:X},visibilityScope:G}}});if(D[0])return D[0];let U=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:KJ(X)},visibilityScope:G}}});if(U[0])return U[0];let A=await $.listEntities({entityType:Z,options:{limit:200,filter:{visibilityScope:G}}}),Q=KJ(X);return A.find((O)=>typeof O.metadata.title==="string"&&KJ(O.metadata.title)===Q)??null}catch(Y){if(J)J.error(`Failed to find entity ${Z}:${X}`,{error:Y});return null}}async function Jg($,Z,X,J,G="Entity",Y="public"){let W=await y_($,Z,X,J,Y);if(!W)return{ok:!1,error:`${G} not found: ${Z}/${X}`};return{ok:!0,entity:W}}class b9{callback;heartbeatInterval;constructor($){this.callback=$}static from($){if(!$)return;return new b9($)}createSub($){let{scale:Z}=$??{};if(Z){let{start:X,end:J}=Z,G=J-X;return new b9(async(Y)=>{let W=X+Y.progress/(Y.total??100)*G;await this.callback({...Y,progress:W,total:100})})}return new b9(this.callback)}async report($){await this.callback($)}startHeartbeat($,Z=5000){this.stopHeartbeat(),this.heartbeatInterval=setInterval(()=>{this.report({message:$,progress:0}).catch(()=>{})},Z)}stopHeartbeat(){if(this.heartbeatInterval)clearInterval(this.heartbeatInterval),this.heartbeatInterval=void 0}toCallback(){return this.callback}}var JX$=H.object({enabled:H.boolean().describe("Whether the plugin is enabled"),debug:H.boolean().describe("Enable debug logging for this plugin")});class eG extends Error{pluginId;issues;constructor($,Z){super(`Invalid plugin config for ${$}`);this.name="PluginConfigValidationError",this.pluginId=$,this.issues=Z}}var GX$=H.object({toolName:H.string(),args:H.unknown(),progressToken:H.union([H.string(),H.number()]).optional(),hasProgress:H.boolean().optional(),interfaceType:H.string(),actor:X7,displayName:H.string().optional(),conversationId:H.string().optional(),channelId:H.string().optional(),channelName:H.string().optional(),runId:H.string().optional(),toolCallId:H.string().optional(),userPermissionLevel:H.enum(["admin","trusted","public"]).optional(),isAnchor:H.boolean().optional(),signal:H.custom(($)=>$ instanceof AbortSignal).optional()}),YX$=H.object({resourceUri:H.string()});class J7{id;version;description;packageName;config;context;get logger(){return this.context?.logger??M1.createFresh({context:this.id})}constructor($,Z,X,J){this.id=$,this.packageName=Z.name,this.version=Z.version,this.description=Z.description??`${Z.name} plugin`;let G=J.safeParse(X);if(!G.success)throw new eG($,G.error.issues.map((Y)=>({path:Y.path.map(String).join("."),code:Y.code,message:Y.message})));this.config=G.data}setupMessageHandlers($){$.messaging.subscribe($Y.toolExecute(this.id),async(Z)=>{try{let X=GX$.safeParse(Z.payload);if(!X.success)return{success:!1,error:"Invalid tool execution request format"};let{toolName:J,args:G,progressToken:Y,hasProgress:W,interfaceType:D,actor:U,displayName:A,conversationId:Q,channelId:O,channelName:P,runId:N,toolCallId:M,userPermissionLevel:w,isAnchor:q,signal:K$}=X.data,J$=(await this.getTools()).find((A$)=>A$.name===J);if(!J$)return{success:!1,error:`Tool not found: ${J}`};let B$={interfaceType:D,actor:U,...A&&{displayName:A},...Q&&{conversationId:Q},...O&&{channelId:O},...P&&{channelName:P},...N&&{runId:N},...M&&{toolCallId:M},...w&&{userPermissionLevel:w},...q!==void 0&&{isAnchor:q},...K$&&{signal:K$},...W&&Y!==void 0&&{progressToken:Y,sendProgress:async(A$)=>{await $.messaging.send({type:$Y.progress(this.id),payload:{progressToken:Y,notification:A$}})}}};return{success:!0,data:await J$.handler(G,B$)}}catch(X){return this.logger.error("Tool execution error",X),{success:!1,error:d$(X)}}}),$.messaging.subscribe($Y.resourceGet(this.id),async(Z)=>{try{let X=YX$.safeParse(Z.payload);if(!X.success)return{success:!1,error:"Invalid resource get request format"};let{resourceUri:J}=X.data,Y=(await this.getResources()).find((D)=>D.uri===J);if(!Y)return{success:!1,error:`Resource not found: ${J}`};return{success:!0,data:await Y.handler()}}catch(X){return this.logger.error("Resource fetch error",X),{success:!1,error:d$(X)}}})}async onRegister($){}async onRegistrationComplete($){}async finalizeRegistration(){await this.onRegistrationComplete(this.getContext())}async onReady($){}async ready(){await this.onReady(this.getContext())}async getCapabilities(){let $=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...$&&{instructions:$}}}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}async shutdown(){await this.onShutdown()}async onShutdown(){}getContext(){if(!this.context)throw Error(`Plugin ${this.id}: Plugin not registered yet`);return this.context}determineUserPermissionLevel($){return"public"}createProgressBridge($){if(!$)return;let Z=this.context;if(!Z)return;let X=this.id;return b9.from(async(J)=>{await Z.messaging.send({type:$Y.progress(X),payload:{progressToken:$,notification:{progress:J.progress,total:J.total,message:J.message}}})})}}var Gg=H.object({id:H.string(),template:H.string(),content:H.unknown().optional(),dataQuery:H.looseObject({entityType:H.string().optional(),template:H.string().optional(),query:H.looseObject({id:H.string().optional(),limit:H.number().optional(),offset:H.number().optional()}).optional()}).optional(),order:H.number().optional()}),b_=["primary","secondary"],Yg=H.object({show:H.boolean().default(!1),label:H.string().optional(),slot:H.enum(b_).default("primary"),priority:H.number().min(0).max(100).default(50)}).optional(),g_=H.object({id:H.string(),path:H.string(),title:H.string().default(""),pageLabel:H.string().optional(),description:H.string().default(""),sections:H.array(Gg).default([]),layout:H.string().default("default"),fullscreen:H.boolean().optional(),pluginId:H.string().optional(),sourceEntityType:H.string().optional(),external:H.boolean().optional(),navigation:Yg}),Wg=H.object({routes:H.array(g_),pluginId:H.string()}),Dg=H.object({paths:H.array(H.string()).optional(),pluginId:H.string().optional()}),Hg=H.object({pluginId:H.string().optional()}),Ug=H.object({path:H.string()}),TA=H.object({label:H.string(),href:H.string(),priority:H.number()});var WX$="site:metadata:get",DX$="site:metadata:updated",MA=H.object({heading:H.string().describe("Main CTA heading text"),buttonText:H.string().describe("Call-to-action button text"),buttonLink:H.string().describe("URL or anchor for the CTA button")}),h_=H.object({blurb:H.string().optional().describe("Short italic subtitle under the section title")}),m_=H.object({represents:H.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:H.string().describe("The site's title"),description:H.string().describe("The site's description"),url:H.string().optional().describe("Canonical site URL"),copyright:H.string().optional().describe("Copyright notice text"),logo:H.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:H.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:H.string().optional().describe("Analytics script HTML"),cta:MA.optional().describe("Call-to-action configuration"),sections:H.record(H.string(),h_).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.")});var HX$=H.object({platform:H.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:H.string().describe("Profile or contact URL"),label:H.string().optional().describe("Optional display label")}),UX$=H.object({represents:H.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:H.string().describe("The site's title"),description:H.string().describe("The site's description"),url:H.string().optional().describe("Canonical site URL"),copyright:H.string(),logo:H.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:H.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:H.string().optional().describe("Analytics script HTML"),cta:MA.optional().describe("Call-to-action configuration"),sections:H.record(H.string(),h_).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers."),navigation:H.object({primary:H.array(TA),secondary:H.array(TA)}),socialLinks:H.array(HX$).optional().describe("Social media links from profile metadata")});var AX$=H.record(H.string(),H.unknown());function Ag($,Z){let X=AX$.safeParse($);return X.success&&Z.every((J)=>(J in X.data))}class ZY{parse($){throw Error("This response format is read-only and cannot be parsed back to data")}formatKeyValue($,Z){if(Z===void 0||Z===null)return"";return`**${$}:** ${String(Z)}`}formatList($){return $.map((Z)=>`- ${String(Z)}`).join(`
77
77
  `)}formatTable($,Z){let X=`| ${$.join(" | ")} |`,J=`| ${$.map(()=>"---").join(" | ")} |`,G=Z.map((Y)=>`| ${Y.map((W)=>String(W??"")).join(" | ")} |`).join(`
78
78
  `);return`${X}
79
79
  ${J}
@@ -86,24 +86,24 @@ ${$}
86
86
  `)}extractTextFromParagraph($){return this.extractInlineText($.children).trim()}extractInlineText($){let Z=[];for(let X of $)if(X.type==="text")Z.push(this.extractTextValue(X));else if(X.type==="emphasis"){let J=this.extractInlineText(X.children);if(J)Z.push(`*${J}*`)}else if(X.type==="strong"){let J=this.extractInlineText(X.children);if(J)Z.push(`**${J}**`)}return Z.join("")}extractSimpleArrayItems($){let Z=[];for(let X of $)if(X.type==="list"){let J=X;for(let G of J.children){let Y=this.extractTextFromListItem(G);if(Y)Z.push(Y)}}return Z}extractObjectArrayItems($,Z,X){let J=[],G=[],Y=!1;for(let W of $)if(W.type==="heading"&&W.depth===Z){if(Y&&G.length>0){let D=this.extractSubsections(G,Z+1),U=this.buildDataFromSections(D,X,Z+1);J.push(U)}G=[],Y=!0}else if(Y)G.push(W);if(Y&&G.length>0){let W=this.extractSubsections(G,Z+1),D=this.buildDataFromSections(W,X,Z+1);J.push(D)}return J}extractTextFromListItem($){let Z=[];for(let X of $.children)if(X.type==="paragraph"){let J=this.extractTextFromParagraph(X);if(J)Z.push(J)}return Z.join(`
87
87
  `)}}function QX$($){return $&&$.__esModule&&Object.prototype.hasOwnProperty.call($,"default")?$.default:$}var pZ={},zA={},g9={},Qg;function JY(){if(Qg)return g9;Qg=1;function $(W){return typeof W>"u"||W===null}function Z(W){return typeof W==="object"&&W!==null}function X(W){if(Array.isArray(W))return W;else if($(W))return[];return[W]}function J(W,D){if(D){let U=Object.keys(D);for(let A=0,Q=U.length;A<Q;A+=1){let O=U[A];W[O]=D[O]}}return W}function G(W,D){let U="";for(let A=0;A<D;A+=1)U+=W;return U}function Y(W){return W===0&&Number.NEGATIVE_INFINITY===1/W}return g9.isNothing=$,g9.isObject=Z,g9.toArray=X,g9.repeat=G,g9.isNegativeZero=Y,g9.extend=J,g9}var f_,Og;function GY(){if(Og)return f_;Og=1;function $(X,J){let G="",Y=X.reason||"(unknown reason)";if(!X.mark)return Y;if(X.mark.name)G+='in "'+X.mark.name+'" ';if(G+="("+(X.mark.line+1)+":"+(X.mark.column+1)+")",!J&&X.mark.snippet)G+=`
88
88
 
89
- `+X.mark.snippet;return Y+" "+G}function Z(X,J){if(Error.call(this),this.name="YAMLException",this.reason=X,this.mark=J,this.message=$(this,!1),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=Error().stack||""}return Z.prototype=Object.create(Error.prototype),Z.prototype.constructor=Z,Z.prototype.toString=function(J){return this.name+": "+$(this,J)},f_=Z,f_}var c_,Bg;function OX$(){if(Bg)return c_;Bg=1;let $=JY();function Z(G,Y,W,D,U){let A="",Q="",O=Math.floor(U/2)-1;if(D-Y>O)A=" ... ",Y=D-O+A.length;if(W-D>O)Q=" ...",W=D+O-Q.length;return{str:A+G.slice(Y,W).replace(/\t/g,"\u2192")+Q,pos:D-Y+A.length}}function X(G,Y){return $.repeat(" ",Y-G.length)+G}function J(G,Y){if(Y=Object.create(Y||null),!G.buffer)return null;if(!Y.maxLength)Y.maxLength=79;if(typeof Y.indent!=="number")Y.indent=1;if(typeof Y.linesBefore!=="number")Y.linesBefore=3;if(typeof Y.linesAfter!=="number")Y.linesAfter=2;let W=/\r?\n|\r|\0/g,D=[0],U=[],A,Q=-1;while(A=W.exec(G.buffer))if(U.push(A.index),D.push(A.index+A[0].length),G.position<=A.index&&Q<0)Q=D.length-2;if(Q<0)Q=D.length-1;let O="",P=Math.min(G.line+Y.linesAfter,U.length).toString().length,_=Y.maxLength-(Y.indent+P+3);for(let z=1;z<=Y.linesBefore;z++){if(Q-z<0)break;let x=Z(G.buffer,D[Q-z],U[Q-z],G.position-(D[Q]-D[Q-z]),_);O=$.repeat(" ",Y.indent)+X((G.line-z+1).toString(),P)+" | "+x.str+`
90
- `+O}let M=Z(G.buffer,D[Q],U[Q],G.position,_);O+=$.repeat(" ",Y.indent)+X((G.line+1).toString(),P)+" | "+M.str+`
89
+ `+X.mark.snippet;return Y+" "+G}function Z(X,J){if(Error.call(this),this.name="YAMLException",this.reason=X,this.mark=J,this.message=$(this,!1),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=Error().stack||""}return Z.prototype=Object.create(Error.prototype),Z.prototype.constructor=Z,Z.prototype.toString=function(J){return this.name+": "+$(this,J)},f_=Z,f_}var c_,Bg;function OX$(){if(Bg)return c_;Bg=1;let $=JY();function Z(G,Y,W,D,U){let A="",Q="",O=Math.floor(U/2)-1;if(D-Y>O)A=" ... ",Y=D-O+A.length;if(W-D>O)Q=" ...",W=D+O-Q.length;return{str:A+G.slice(Y,W).replace(/\t/g,"\u2192")+Q,pos:D-Y+A.length}}function X(G,Y){return $.repeat(" ",Y-G.length)+G}function J(G,Y){if(Y=Object.create(Y||null),!G.buffer)return null;if(!Y.maxLength)Y.maxLength=79;if(typeof Y.indent!=="number")Y.indent=1;if(typeof Y.linesBefore!=="number")Y.linesBefore=3;if(typeof Y.linesAfter!=="number")Y.linesAfter=2;let W=/\r?\n|\r|\0/g,D=[0],U=[],A,Q=-1;while(A=W.exec(G.buffer))if(U.push(A.index),D.push(A.index+A[0].length),G.position<=A.index&&Q<0)Q=D.length-2;if(Q<0)Q=D.length-1;let O="",P=Math.min(G.line+Y.linesAfter,U.length).toString().length,N=Y.maxLength-(Y.indent+P+3);for(let w=1;w<=Y.linesBefore;w++){if(Q-w<0)break;let q=Z(G.buffer,D[Q-w],U[Q-w],G.position-(D[Q]-D[Q-w]),N);O=$.repeat(" ",Y.indent)+X((G.line-w+1).toString(),P)+" | "+q.str+`
90
+ `+O}let M=Z(G.buffer,D[Q],U[Q],G.position,N);O+=$.repeat(" ",Y.indent)+X((G.line+1).toString(),P)+" | "+M.str+`
91
91
  `,O+=$.repeat("-",Y.indent+P+3+M.pos)+`^
92
- `;for(let z=1;z<=Y.linesAfter;z++){if(Q+z>=U.length)break;let x=Z(G.buffer,D[Q+z],U[Q+z],G.position-(D[Q]-D[Q+z]),_);O+=$.repeat(" ",Y.indent)+X((G.line+z+1).toString(),P)+" | "+x.str+`
93
- `}return O.replace(/\n$/,"")}return c_=J,c_}var p_,Ng;function J8(){if(Ng)return p_;Ng=1;let $=GY(),Z=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],X=["scalar","sequence","mapping"];function J(Y){let W={};if(Y!==null)Object.keys(Y).forEach(function(D){Y[D].forEach(function(U){W[String(U)]=D})});return W}function G(Y,W){if(W=W||{},Object.keys(W).forEach(function(D){if(Z.indexOf(D)===-1)throw new $('Unknown option "'+D+'" is met in definition of "'+Y+'" YAML type.')}),this.options=W,this.tag=Y,this.kind=W.kind||null,this.resolve=W.resolve||function(){return!0},this.construct=W.construct||function(D){return D},this.instanceOf=W.instanceOf||null,this.predicate=W.predicate||null,this.represent=W.represent||null,this.representName=W.representName||null,this.defaultStyle=W.defaultStyle||null,this.multi=W.multi||!1,this.styleAliases=J(W.styleAliases||null),X.indexOf(this.kind)===-1)throw new $('Unknown kind "'+this.kind+'" is specified for "'+Y+'" YAML type.')}return p_=G,p_}var d_,_g;function hg(){if(_g)return d_;_g=1;let $=GY(),Z=J8();function X(Y,W){let D=[];return Y[W].forEach(function(U){let A=D.length;D.forEach(function(Q,O){if(Q.tag===U.tag&&Q.kind===U.kind&&Q.multi===U.multi)A=O}),D[A]=U}),D}function J(){let Y={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function W(D){if(D.multi)Y.multi[D.kind].push(D),Y.multi.fallback.push(D);else Y[D.kind][D.tag]=Y.fallback[D.tag]=D}for(let D=0,U=arguments.length;D<U;D+=1)arguments[D].forEach(W);return Y}function G(Y){return this.extend(Y)}return G.prototype.extend=function(W){let D=[],U=[];if(W instanceof Z)U.push(W);else if(Array.isArray(W))U=U.concat(W);else if(W&&(Array.isArray(W.implicit)||Array.isArray(W.explicit))){if(W.implicit)D=D.concat(W.implicit);if(W.explicit)U=U.concat(W.explicit)}else throw new $("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");D.forEach(function(Q){if(!(Q instanceof Z))throw new $("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(Q.loadKind&&Q.loadKind!=="scalar")throw new $("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(Q.multi)throw new $("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),U.forEach(function(Q){if(!(Q instanceof Z))throw new $("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let A=Object.create(G.prototype);return A.implicit=(this.implicit||[]).concat(D),A.explicit=(this.explicit||[]).concat(U),A.compiledImplicit=X(A,"implicit"),A.compiledExplicit=X(A,"explicit"),A.compiledTypeMap=J(A.compiledImplicit,A.compiledExplicit),A},d_=G,d_}var u_,Pg;function mg(){if(Pg)return u_;return Pg=1,u_=new(J8())("tag:yaml.org,2002:str",{kind:"scalar",construct:function(Z){return Z!==null?Z:""}}),u_}var o_,Fg;function fg(){if(Fg)return o_;return Fg=1,o_=new(J8())("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(Z){return Z!==null?Z:[]}}),o_}var n_,Tg;function cg(){if(Tg)return n_;return Tg=1,n_=new(J8())("tag:yaml.org,2002:map",{kind:"mapping",construct:function(Z){return Z!==null?Z:{}}}),n_}var r_,Mg;function pg(){if(Mg)return r_;return Mg=1,r_=new(hg())({explicit:[mg(),fg(),cg()]}),r_}var l_,zg;function dg(){if(zg)return l_;zg=1;let $=J8();function Z(G){if(G===null)return!0;let Y=G.length;return Y===1&&G==="~"||Y===4&&(G==="null"||G==="Null"||G==="NULL")}function X(){return null}function J(G){return G===null}return l_=new $("tag:yaml.org,2002:null",{kind:"scalar",resolve:Z,construct:X,predicate:J,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),l_}var i_,Rg;function ug(){if(Rg)return i_;Rg=1;let $=J8();function Z(G){if(G===null)return!1;let Y=G.length;return Y===4&&(G==="true"||G==="True"||G==="TRUE")||Y===5&&(G==="false"||G==="False"||G==="FALSE")}function X(G){return G==="true"||G==="True"||G==="TRUE"}function J(G){return Object.prototype.toString.call(G)==="[object Boolean]"}return i_=new $("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Z,construct:X,predicate:J,represent:{lowercase:function(G){return G?"true":"false"},uppercase:function(G){return G?"TRUE":"FALSE"},camelcase:function(G){return G?"True":"False"}},defaultStyle:"lowercase"}),i_}var s_,wg;function og(){if(wg)return s_;wg=1;let $=JY(),Z=J8();function X(A){return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function J(A){return A>=48&&A<=55}function G(A){return A>=48&&A<=57}function Y(A){if(A===null)return!1;let Q=A.length,O=0,P=!1;if(!Q)return!1;let _=A[O];if(_==="-"||_==="+")_=A[++O];if(_==="0"){if(O+1===Q)return!0;if(_=A[++O],_==="b"){O++;for(;O<Q;O++){if(_=A[O],_!=="0"&&_!=="1")return!1;P=!0}return P&&isFinite(W(A))}if(_==="x"){O++;for(;O<Q;O++){if(!X(A.charCodeAt(O)))return!1;P=!0}return P&&isFinite(W(A))}if(_==="o"){O++;for(;O<Q;O++){if(!J(A.charCodeAt(O)))return!1;P=!0}return P&&isFinite(W(A))}}for(;O<Q;O++){if(!G(A.charCodeAt(O)))return!1;P=!0}if(!P)return!1;return isFinite(W(A))}function W(A){let Q=A,O=1,P=Q[0];if(P==="-"||P==="+"){if(P==="-")O=-1;Q=Q.slice(1),P=Q[0]}if(Q==="0")return 0;if(P==="0"){if(Q[1]==="b")return O*parseInt(Q.slice(2),2);if(Q[1]==="x")return O*parseInt(Q.slice(2),16);if(Q[1]==="o")return O*parseInt(Q.slice(2),8)}return O*parseInt(Q,10)}function D(A){return W(A)}function U(A){return Object.prototype.toString.call(A)==="[object Number]"&&(A%1===0&&!$.isNegativeZero(A))}return s_=new Z("tag:yaml.org,2002:int",{kind:"scalar",resolve:Y,construct:D,predicate:U,represent:{binary:function(A){return A>=0?"0b"+A.toString(2):"-0b"+A.toString(2).slice(1)},octal:function(A){return A>=0?"0o"+A.toString(8):"-0o"+A.toString(8).slice(1)},decimal:function(A){return A.toString(10)},hexadecimal:function(A){return A>=0?"0x"+A.toString(16).toUpperCase():"-0x"+A.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),s_}var a_,Cg;function ng(){if(Cg)return a_;Cg=1;let $=JY(),Z=J8(),X=new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),J=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function G(A){if(A===null)return!1;if(!X.test(A))return!1;if(isFinite(parseFloat(A,10)))return!0;return J.test(A)}function Y(A){let Q=A.toLowerCase(),O=Q[0]==="-"?-1:1;if("+-".indexOf(Q[0])>=0)Q=Q.slice(1);if(Q===".inf")return O===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;else if(Q===".nan")return NaN;return O*parseFloat(Q,10)}let W=/^[-+]?[0-9]+e/;function D(A,Q){if(isNaN(A))switch(Q){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===A)switch(Q){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===A)switch(Q){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if($.isNegativeZero(A))return"-0.0";let O=A.toString(10);return W.test(O)?O.replace("e",".e"):O}function U(A){return Object.prototype.toString.call(A)==="[object Number]"&&(A%1!==0||$.isNegativeZero(A))}return a_=new Z("tag:yaml.org,2002:float",{kind:"scalar",resolve:G,construct:Y,predicate:U,represent:D,defaultStyle:"lowercase"}),a_}var t_,Lg;function rg(){if(Lg)return t_;return Lg=1,t_=pg().extend({implicit:[dg(),ug(),og(),ng()]}),t_}var e_,qg;function lg(){if(qg)return e_;return qg=1,e_=rg(),e_}var $P,Eg;function ig(){if(Eg)return $P;Eg=1;let $=J8(),Z=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),X=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function J(W){if(W===null)return!1;if(Z.exec(W)!==null)return!0;if(X.exec(W)!==null)return!0;return!1}function G(W){let D=0,U=null,A=Z.exec(W);if(A===null)A=X.exec(W);if(A===null)throw Error("Date resolve error");let Q=+A[1],O=+A[2]-1,P=+A[3];if(!A[4])return new Date(Date.UTC(Q,O,P));let _=+A[4],M=+A[5],z=+A[6];if(A[7]){D=A[7].slice(0,3);while(D.length<3)D+="0";D=+D}if(A[9]){let K$=+A[10],l=+(A[11]||0);if(U=(K$*60+l)*60000,A[9]==="-")U=-U}let x=new Date(Date.UTC(Q,O,P,_,M,z,D));if(U)x.setTime(x.getTime()-U);return x}function Y(W){return W.toISOString()}return $P=new $("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:J,construct:G,instanceOf:Date,represent:Y}),$P}var ZP,xg;function sg(){if(xg)return ZP;xg=1;let $=J8();function Z(X){return X==="<<"||X===null}return ZP=new $("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Z}),ZP}var XP,Sg;function ag(){if(Sg)return XP;Sg=1;let $=J8(),Z=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
94
- \r`;function X(W){if(W===null)return!1;let D=0,U=W.length,A=Z;for(let Q=0;Q<U;Q++){let O=A.indexOf(W.charAt(Q));if(O>64)continue;if(O<0)return!1;D+=6}return D%8===0}function J(W){let D=W.replace(/[\r\n=]/g,""),U=D.length,A=Z,Q=0,O=[];for(let _=0;_<U;_++){if(_%4===0&&_)O.push(Q>>16&255),O.push(Q>>8&255),O.push(Q&255);Q=Q<<6|A.indexOf(D.charAt(_))}let P=U%4*6;if(P===0)O.push(Q>>16&255),O.push(Q>>8&255),O.push(Q&255);else if(P===18)O.push(Q>>10&255),O.push(Q>>2&255);else if(P===12)O.push(Q>>4&255);return new Uint8Array(O)}function G(W){let D="",U=0,A=W.length,Q=Z;for(let P=0;P<A;P++){if(P%3===0&&P)D+=Q[U>>18&63],D+=Q[U>>12&63],D+=Q[U>>6&63],D+=Q[U&63];U=(U<<8)+W[P]}let O=A%3;if(O===0)D+=Q[U>>18&63],D+=Q[U>>12&63],D+=Q[U>>6&63],D+=Q[U&63];else if(O===2)D+=Q[U>>10&63],D+=Q[U>>4&63],D+=Q[U<<2&63],D+=Q[64];else if(O===1)D+=Q[U>>2&63],D+=Q[U<<4&63],D+=Q[64],D+=Q[64];return D}function Y(W){return Object.prototype.toString.call(W)==="[object Uint8Array]"}return XP=new $("tag:yaml.org,2002:binary",{kind:"scalar",resolve:X,construct:J,predicate:Y,represent:G}),XP}var JP,jg;function tg(){if(jg)return JP;jg=1;let $=J8(),Z=Object.prototype.hasOwnProperty,X=Object.prototype.toString;function J(Y){if(Y===null)return!0;let W=[],D=Y;for(let U=0,A=D.length;U<A;U+=1){let Q=D[U],O=!1;if(X.call(Q)!=="[object Object]")return!1;let P;for(P in Q)if(Z.call(Q,P))if(!O)O=!0;else return!1;if(!O)return!1;if(W.indexOf(P)===-1)W.push(P);else return!1}return!0}function G(Y){return Y!==null?Y:[]}return JP=new $("tag:yaml.org,2002:omap",{kind:"sequence",resolve:J,construct:G}),JP}var GP,kg;function eg(){if(kg)return GP;kg=1;let $=J8(),Z=Object.prototype.toString;function X(G){if(G===null)return!0;let Y=G,W=Array(Y.length);for(let D=0,U=Y.length;D<U;D+=1){let A=Y[D];if(Z.call(A)!=="[object Object]")return!1;let Q=Object.keys(A);if(Q.length!==1)return!1;W[D]=[Q[0],A[Q[0]]]}return!0}function J(G){if(G===null)return[];let Y=G,W=Array(Y.length);for(let D=0,U=Y.length;D<U;D+=1){let A=Y[D],Q=Object.keys(A);W[D]=[Q[0],A[Q[0]]]}return W}return GP=new $("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:X,construct:J}),GP}var YP,Ig;function $h(){if(Ig)return YP;Ig=1;let $=J8(),Z=Object.prototype.hasOwnProperty;function X(G){if(G===null)return!0;let Y=G;for(let W in Y)if(Z.call(Y,W)){if(Y[W]!==null)return!1}return!0}function J(G){return G!==null?G:{}}return YP=new $("tag:yaml.org,2002:set",{kind:"mapping",resolve:X,construct:J}),YP}var WP,vg;function HP(){if(vg)return WP;return vg=1,WP=lg().extend({implicit:[ig(),sg()],explicit:[ag(),tg(),eg(),$h()]}),WP}var yg;function BX$(){if(yg)return zA;yg=1;let $=JY(),Z=GY(),X=OX$(),J=HP(),G=Object.prototype.hasOwnProperty,Y=1,W=2,D=3,U=4,A=1,Q=2,O=3,P=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,_=/[\x85\u2028\u2029]/,M=/[,\[\]{}]/,z=/^(?:!|!!|![0-9A-Za-z-]+!)$/,x=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function K$(K){return Object.prototype.toString.call(K)}function l(K){return K===10||K===13}function J$(K){return K===9||K===32}function B$(K){return K===9||K===32||K===10||K===13}function h$(K){return K===44||K===91||K===93||K===123||K===125}function A$(K){if(K>=48&&K<=57)return K-48;let w=K|32;if(w>=97&&w<=102)return w-97+10;return-1}function m$(K){if(K===120)return 2;if(K===117)return 4;if(K===85)return 8;return 0}function v$(K){if(K>=48&&K<=57)return K-48;return-1}function A0(K){switch(K){case 48:return"\x00";case 97:return"\x07";case 98:return"\b";case 116:return"\t";case 9:return"\t";case 110:return`
95
- `;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function i(K){if(K<=65535)return String.fromCharCode(K);return String.fromCharCode((K-65536>>10)+55296,(K-65536&1023)+56320)}function $$(K,w,k){if(w==="__proto__")Object.defineProperty(K,w,{configurable:!0,enumerable:!0,writable:!0,value:k});else K[w]=k}let r=Array(256),Q$=Array(256);for(let K=0;K<256;K++)r[K]=A0(K)?1:0,Q$[K]=A0(K);function T$(K,w){this.input=K,this.filename=w.filename||null,this.schema=w.schema||J,this.onWarning=w.onWarning||null,this.legacy=w.legacy||!1,this.json=w.json||!1,this.listener=w.listener||null,this.maxDepth=typeof w.maxDepth==="number"?w.maxDepth:100,this.maxTotalMergeKeys=typeof w.maxTotalMergeKeys==="number"?w.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=K.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function q$(K,w){let k={name:K.filename,buffer:K.input.slice(0,-1),position:K.position,line:K.line,column:K.position-K.lineStart};return k.snippet=X(k),new Z(w,k)}function Z$(K,w){throw q$(K,w)}function Q0(K,w){if(K.onWarning)K.onWarning.call(null,q$(K,w))}function b0(K,w,k){let g=K.anchorMapTransactions;if(g.length!==0){let q=g[g.length-1];if(!G.call(q,w))q[w]={existed:G.call(K.anchorMap,w),value:K.anchorMap[w]}}K.anchorMap[w]=k}function h6(K){K.anchorMapTransactions.push(Object.create(null))}function G8(K){let w=K.anchorMapTransactions.pop(),k=K.anchorMapTransactions;if(k.length===0)return;let g=k[k.length-1],q=Object.keys(w);for(let o=0,B=q.length;o<B;o+=1){let C=q[o];if(!G.call(g,C))g[C]=w[C]}}function F8(K){let w=K.anchorMapTransactions.pop(),k=Object.keys(w);for(let g=k.length-1;g>=0;g-=1){let q=w[k[g]];if(q.existed)K.anchorMap[k[g]]=q.value;else delete K.anchorMap[k[g]]}}function j4(K){return{position:K.position,line:K.line,lineStart:K.lineStart,lineIndent:K.lineIndent,firstTabInLine:K.firstTabInLine,tag:K.tag,anchor:K.anchor,kind:K.kind,result:K.result}}function Y8(K,w){K.position=w.position,K.line=w.line,K.lineStart=w.lineStart,K.lineIndent=w.lineIndent,K.firstTabInLine=w.firstTabInLine,K.tag=w.tag,K.anchor=w.anchor,K.kind=w.kind,K.result=w.result}let IY={YAML:function(w,k,g){if(w.version!==null)Z$(w,"duplication of %YAML directive");if(g.length!==1)Z$(w,"YAML directive accepts exactly one argument");let q=/^([0-9]+)\.([0-9]+)$/.exec(g[0]);if(q===null)Z$(w,"ill-formed argument of the YAML directive");let o=parseInt(q[1],10),B=parseInt(q[2],10);if(o!==1)Z$(w,"unacceptable YAML version of the document");if(w.version=g[0],w.checkLineBreaks=B<2,B!==1&&B!==2)Q0(w,"unsupported YAML version of the document")},TAG:function(w,k,g){let q;if(g.length!==2)Z$(w,"TAG directive accepts exactly two arguments");let o=g[0];if(q=g[1],!z.test(o))Z$(w,"ill-formed tag handle (first argument) of the TAG directive");if(G.call(w.tagMap,o))Z$(w,'there is a previously declared suffix for "'+o+'" tag handle');if(!x.test(q))Z$(w,"ill-formed tag prefix (second argument) of the TAG directive");try{q=decodeURIComponent(q)}catch(B){Z$(w,"tag prefix is malformed: "+q)}w.tagMap[o]=q}};function T8(K,w,k,g){if(w<k){let q=K.input.slice(w,k);if(g)for(let o=0,B=q.length;o<B;o+=1){let C=q.charCodeAt(o);if(!(C===9||C>=32&&C<=1114111))Z$(K,"expected valid JSON character")}else if(P.test(q))Z$(K,"the stream contains non-printable characters");K.result+=q}}function k4(K,w,k,g){if(!$.isObject(k))Z$(K,"cannot merge mappings; the provided source object is unacceptable");let q=Object.keys(k);for(let o=0,B=q.length;o<B;o+=1){let C=q[o];if(K.maxTotalMergeKeys!==-1&&++K.totalMergeKeys>K.maxTotalMergeKeys)Z$(K,"merge keys exceeded maxTotalMergeKeys ("+K.maxTotalMergeKeys+")");if(!G.call(w,C))$$(w,C,k[C]),g[C]=!0}}function R1(K,w,k,g,q,o,B,C,p){if(Array.isArray(q)){q=Array.prototype.slice.call(q);for(let y=0,b=q.length;y<b;y+=1){if(Array.isArray(q[y]))Z$(K,"nested arrays are not supported inside keys");if(typeof q==="object"&&K$(q[y])==="[object Object]")q[y]="[object Object]"}}if(typeof q==="object"&&K$(q)==="[object Object]")q="[object Object]";if(q=String(q),w===null)w={};if(g==="tag:yaml.org,2002:merge")if(Array.isArray(o))for(let y=0,b=o.length;y<b;y+=1)k4(K,w,o[y],k);else k4(K,w,o,k);else{if(!K.json&&!G.call(k,q)&&G.call(w,q))K.line=B||K.line,K.lineStart=C||K.lineStart,K.position=p||K.position,Z$(K,"duplicated mapping key");$$(w,q,o),delete k[q]}return w}function O7(K){let w=K.input.charCodeAt(K.position);if(w===10)K.position++;else if(w===13){if(K.position++,K.input.charCodeAt(K.position)===10)K.position++}else Z$(K,"a line break is expected");K.line+=1,K.lineStart=K.position,K.firstTabInLine=-1}function g0(K,w,k){let g=0,q=K.input.charCodeAt(K.position);while(q!==0){while(J$(q)){if(q===9&&K.firstTabInLine===-1)K.firstTabInLine=K.position;q=K.input.charCodeAt(++K.position)}if(w&&q===35)do q=K.input.charCodeAt(++K.position);while(q!==10&&q!==13&&q!==0);if(l(q)){O7(K),q=K.input.charCodeAt(K.position),g++,K.lineIndent=0;while(q===32)K.lineIndent++,q=K.input.charCodeAt(++K.position)}else break}if(k!==-1&&g!==0&&K.lineIndent<k)Q0(K,"deficient indentation");return g}function B7(K){let w=K.position,k=K.input.charCodeAt(w);if((k===45||k===46)&&k===K.input.charCodeAt(w+1)&&k===K.input.charCodeAt(w+2)){if(w+=3,k=K.input.charCodeAt(w),k===0||B$(k))return!0}return!1}function w1(K,w){if(w===1)K.result+=" ";else if(w>1)K.result+=$.repeat(`
96
- `,w-1)}function vY(K,w,k){let g,q,o,B,C,p,y=K.kind,b=K.result,d=K.input.charCodeAt(K.position);if(B$(d)||h$(d)||d===35||d===38||d===42||d===33||d===124||d===62||d===39||d===34||d===37||d===64||d===96)return!1;if(d===63||d===45){let f=K.input.charCodeAt(K.position+1);if(B$(f)||k&&h$(f))return!1}K.kind="scalar",K.result="",g=q=K.position,o=!1;while(d!==0){if(d===58){let f=K.input.charCodeAt(K.position+1);if(B$(f)||k&&h$(f))break}else if(d===35){let f=K.input.charCodeAt(K.position-1);if(B$(f))break}else if(K.position===K.lineStart&&B7(K)||k&&h$(d))break;else if(l(d))if(B=K.line,C=K.lineStart,p=K.lineIndent,g0(K,!1,-1),K.lineIndent>=w){o=!0,d=K.input.charCodeAt(K.position);continue}else{K.position=q,K.line=B,K.lineStart=C,K.lineIndent=p;break}if(o)T8(K,g,q,!1),w1(K,K.line-B),g=q=K.position,o=!1;if(!J$(d))q=K.position+1;d=K.input.charCodeAt(++K.position)}if(T8(K,g,q,!1),K.result)return!0;return K.kind=y,K.result=b,!1}function yY(K,w){let k,g,q=K.input.charCodeAt(K.position);if(q!==39)return!1;K.kind="scalar",K.result="",K.position++,k=g=K.position;while((q=K.input.charCodeAt(K.position))!==0)if(q===39)if(T8(K,k,K.position,!0),q=K.input.charCodeAt(++K.position),q===39)k=K.position,K.position++,g=K.position;else return!0;else if(l(q))T8(K,k,g,!0),w1(K,g0(K,!1,w)),k=g=K.position;else if(K.position===K.lineStart&&B7(K))Z$(K,"unexpected end of the document within a single quoted scalar");else if(K.position++,!J$(q))g=K.position;Z$(K,"unexpected end of the stream within a single quoted scalar")}function HJ(K,w){let k,g,q,o=K.input.charCodeAt(K.position);if(o!==34)return!1;K.kind="scalar",K.result="",K.position++,k=g=K.position;while((o=K.input.charCodeAt(K.position))!==0)if(o===34)return T8(K,k,K.position,!0),K.position++,!0;else if(o===92){if(T8(K,k,K.position,!0),o=K.input.charCodeAt(++K.position),l(o))g0(K,!1,w);else if(o<256&&r[o])K.result+=Q$[o],K.position++;else if((q=m$(o))>0){let B=q,C=0;for(;B>0;B--)if(o=K.input.charCodeAt(++K.position),(q=A$(o))>=0)C=(C<<4)+q;else Z$(K,"expected hexadecimal character");K.result+=i(C),K.position++}else Z$(K,"unknown escape sequence");k=g=K.position}else if(l(o))T8(K,k,g,!0),w1(K,g0(K,!1,w)),k=g=K.position;else if(K.position===K.lineStart&&B7(K))Z$(K,"unexpected end of the document within a double quoted scalar");else if(K.position++,!J$(o))g=K.position;Z$(K,"unexpected end of the stream within a double quoted scalar")}function bY(K,w){let k=!0,g,q,o,B=K.tag,C,p=K.anchor,y,b,d,f,H$=Object.create(null),W$,N$,z$,u$=K.input.charCodeAt(K.position);if(u$===91)y=93,f=!1,C=[];else if(u$===123)y=125,f=!0,C={};else return!1;if(K.anchor!==null)b0(K,K.anchor,C);u$=K.input.charCodeAt(++K.position);while(u$!==0){if(g0(K,!0,w),u$=K.input.charCodeAt(K.position),u$===y)return K.position++,K.tag=B,K.anchor=p,K.kind=f?"mapping":"sequence",K.result=C,!0;else if(!k)Z$(K,"missed comma between flow collection entries");else if(u$===44)Z$(K,"expected the node content, but found ','");if(N$=W$=z$=null,b=d=!1,u$===63){let _0=K.input.charCodeAt(K.position+1);if(B$(_0))b=d=!0,K.position++,g0(K,!0,w)}if(g=K.line,q=K.lineStart,o=K.position,L1(K,w,Y,!1,!0),N$=K.tag,W$=K.result,g0(K,!0,w),u$=K.input.charCodeAt(K.position),(d||K.line===g)&&u$===58)b=!0,u$=K.input.charCodeAt(++K.position),g0(K,!0,w),L1(K,w,Y,!1,!0),z$=K.result;if(f)R1(K,C,H$,N$,W$,z$,g,q,o);else if(b)C.push(R1(K,null,H$,N$,W$,z$,g,q,o));else C.push(W$);if(g0(K,!0,w),u$=K.input.charCodeAt(K.position),u$===44)k=!0,u$=K.input.charCodeAt(++K.position);else k=!1}Z$(K,"unexpected end of the stream within a flow collection")}function gY(K,w){let k,g=A,q=!1,o=!1,B=w,C=0,p=!1,y,b=K.input.charCodeAt(K.position);if(b===124)k=!1;else if(b===62)k=!0;else return!1;K.kind="scalar",K.result="";while(b!==0)if(b=K.input.charCodeAt(++K.position),b===43||b===45)if(A===g)g=b===43?O:Q;else Z$(K,"repeat of a chomping mode identifier");else if((y=v$(b))>=0)if(y===0)Z$(K,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!o)B=w+y-1,o=!0;else Z$(K,"repeat of an indentation width identifier");else break;if(J$(b)){do b=K.input.charCodeAt(++K.position);while(J$(b));if(b===35)do b=K.input.charCodeAt(++K.position);while(!l(b)&&b!==0)}while(b!==0){O7(K),K.lineIndent=0,b=K.input.charCodeAt(K.position);while((!o||K.lineIndent<B)&&b===32)K.lineIndent++,b=K.input.charCodeAt(++K.position);if(!o&&K.lineIndent>B)B=K.lineIndent;if(l(b)){C++;continue}if(!o&&B===0)Z$(K,"missing indentation for block scalar");if(K.lineIndent<B){if(g===O)K.result+=$.repeat(`
97
- `,q?1+C:C);else if(g===A){if(q)K.result+=`
92
+ `;for(let w=1;w<=Y.linesAfter;w++){if(Q+w>=U.length)break;let q=Z(G.buffer,D[Q+w],U[Q+w],G.position-(D[Q]-D[Q+w]),N);O+=$.repeat(" ",Y.indent)+X((G.line+w+1).toString(),P)+" | "+q.str+`
93
+ `}return O.replace(/\n$/,"")}return c_=J,c_}var p_,Ng;function J8(){if(Ng)return p_;Ng=1;let $=GY(),Z=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],X=["scalar","sequence","mapping"];function J(Y){let W={};if(Y!==null)Object.keys(Y).forEach(function(D){Y[D].forEach(function(U){W[String(U)]=D})});return W}function G(Y,W){if(W=W||{},Object.keys(W).forEach(function(D){if(Z.indexOf(D)===-1)throw new $('Unknown option "'+D+'" is met in definition of "'+Y+'" YAML type.')}),this.options=W,this.tag=Y,this.kind=W.kind||null,this.resolve=W.resolve||function(){return!0},this.construct=W.construct||function(D){return D},this.instanceOf=W.instanceOf||null,this.predicate=W.predicate||null,this.represent=W.represent||null,this.representName=W.representName||null,this.defaultStyle=W.defaultStyle||null,this.multi=W.multi||!1,this.styleAliases=J(W.styleAliases||null),X.indexOf(this.kind)===-1)throw new $('Unknown kind "'+this.kind+'" is specified for "'+Y+'" YAML type.')}return p_=G,p_}var d_,_g;function hg(){if(_g)return d_;_g=1;let $=GY(),Z=J8();function X(Y,W){let D=[];return Y[W].forEach(function(U){let A=D.length;D.forEach(function(Q,O){if(Q.tag===U.tag&&Q.kind===U.kind&&Q.multi===U.multi)A=O}),D[A]=U}),D}function J(){let Y={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function W(D){if(D.multi)Y.multi[D.kind].push(D),Y.multi.fallback.push(D);else Y[D.kind][D.tag]=Y.fallback[D.tag]=D}for(let D=0,U=arguments.length;D<U;D+=1)arguments[D].forEach(W);return Y}function G(Y){return this.extend(Y)}return G.prototype.extend=function(W){let D=[],U=[];if(W instanceof Z)U.push(W);else if(Array.isArray(W))U=U.concat(W);else if(W&&(Array.isArray(W.implicit)||Array.isArray(W.explicit))){if(W.implicit)D=D.concat(W.implicit);if(W.explicit)U=U.concat(W.explicit)}else throw new $("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");D.forEach(function(Q){if(!(Q instanceof Z))throw new $("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(Q.loadKind&&Q.loadKind!=="scalar")throw new $("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(Q.multi)throw new $("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),U.forEach(function(Q){if(!(Q instanceof Z))throw new $("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let A=Object.create(G.prototype);return A.implicit=(this.implicit||[]).concat(D),A.explicit=(this.explicit||[]).concat(U),A.compiledImplicit=X(A,"implicit"),A.compiledExplicit=X(A,"explicit"),A.compiledTypeMap=J(A.compiledImplicit,A.compiledExplicit),A},d_=G,d_}var u_,Pg;function mg(){if(Pg)return u_;return Pg=1,u_=new(J8())("tag:yaml.org,2002:str",{kind:"scalar",construct:function(Z){return Z!==null?Z:""}}),u_}var o_,Fg;function fg(){if(Fg)return o_;return Fg=1,o_=new(J8())("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(Z){return Z!==null?Z:[]}}),o_}var n_,Tg;function cg(){if(Tg)return n_;return Tg=1,n_=new(J8())("tag:yaml.org,2002:map",{kind:"mapping",construct:function(Z){return Z!==null?Z:{}}}),n_}var r_,Mg;function pg(){if(Mg)return r_;return Mg=1,r_=new(hg())({explicit:[mg(),fg(),cg()]}),r_}var l_,zg;function dg(){if(zg)return l_;zg=1;let $=J8();function Z(G){if(G===null)return!0;let Y=G.length;return Y===1&&G==="~"||Y===4&&(G==="null"||G==="Null"||G==="NULL")}function X(){return null}function J(G){return G===null}return l_=new $("tag:yaml.org,2002:null",{kind:"scalar",resolve:Z,construct:X,predicate:J,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),l_}var i_,Rg;function ug(){if(Rg)return i_;Rg=1;let $=J8();function Z(G){if(G===null)return!1;let Y=G.length;return Y===4&&(G==="true"||G==="True"||G==="TRUE")||Y===5&&(G==="false"||G==="False"||G==="FALSE")}function X(G){return G==="true"||G==="True"||G==="TRUE"}function J(G){return Object.prototype.toString.call(G)==="[object Boolean]"}return i_=new $("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Z,construct:X,predicate:J,represent:{lowercase:function(G){return G?"true":"false"},uppercase:function(G){return G?"TRUE":"FALSE"},camelcase:function(G){return G?"True":"False"}},defaultStyle:"lowercase"}),i_}var s_,wg;function og(){if(wg)return s_;wg=1;let $=JY(),Z=J8();function X(A){return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function J(A){return A>=48&&A<=55}function G(A){return A>=48&&A<=57}function Y(A){if(A===null)return!1;let Q=A.length,O=0,P=!1;if(!Q)return!1;let N=A[O];if(N==="-"||N==="+")N=A[++O];if(N==="0"){if(O+1===Q)return!0;if(N=A[++O],N==="b"){O++;for(;O<Q;O++){if(N=A[O],N!=="0"&&N!=="1")return!1;P=!0}return P&&isFinite(W(A))}if(N==="x"){O++;for(;O<Q;O++){if(!X(A.charCodeAt(O)))return!1;P=!0}return P&&isFinite(W(A))}if(N==="o"){O++;for(;O<Q;O++){if(!J(A.charCodeAt(O)))return!1;P=!0}return P&&isFinite(W(A))}}for(;O<Q;O++){if(!G(A.charCodeAt(O)))return!1;P=!0}if(!P)return!1;return isFinite(W(A))}function W(A){let Q=A,O=1,P=Q[0];if(P==="-"||P==="+"){if(P==="-")O=-1;Q=Q.slice(1),P=Q[0]}if(Q==="0")return 0;if(P==="0"){if(Q[1]==="b")return O*parseInt(Q.slice(2),2);if(Q[1]==="x")return O*parseInt(Q.slice(2),16);if(Q[1]==="o")return O*parseInt(Q.slice(2),8)}return O*parseInt(Q,10)}function D(A){return W(A)}function U(A){return Object.prototype.toString.call(A)==="[object Number]"&&(A%1===0&&!$.isNegativeZero(A))}return s_=new Z("tag:yaml.org,2002:int",{kind:"scalar",resolve:Y,construct:D,predicate:U,represent:{binary:function(A){return A>=0?"0b"+A.toString(2):"-0b"+A.toString(2).slice(1)},octal:function(A){return A>=0?"0o"+A.toString(8):"-0o"+A.toString(8).slice(1)},decimal:function(A){return A.toString(10)},hexadecimal:function(A){return A>=0?"0x"+A.toString(16).toUpperCase():"-0x"+A.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),s_}var a_,Cg;function ng(){if(Cg)return a_;Cg=1;let $=JY(),Z=J8(),X=new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),J=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function G(A){if(A===null)return!1;if(!X.test(A))return!1;if(isFinite(parseFloat(A,10)))return!0;return J.test(A)}function Y(A){let Q=A.toLowerCase(),O=Q[0]==="-"?-1:1;if("+-".indexOf(Q[0])>=0)Q=Q.slice(1);if(Q===".inf")return O===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;else if(Q===".nan")return NaN;return O*parseFloat(Q,10)}let W=/^[-+]?[0-9]+e/;function D(A,Q){if(isNaN(A))switch(Q){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===A)switch(Q){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===A)switch(Q){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if($.isNegativeZero(A))return"-0.0";let O=A.toString(10);return W.test(O)?O.replace("e",".e"):O}function U(A){return Object.prototype.toString.call(A)==="[object Number]"&&(A%1!==0||$.isNegativeZero(A))}return a_=new Z("tag:yaml.org,2002:float",{kind:"scalar",resolve:G,construct:Y,predicate:U,represent:D,defaultStyle:"lowercase"}),a_}var t_,Lg;function rg(){if(Lg)return t_;return Lg=1,t_=pg().extend({implicit:[dg(),ug(),og(),ng()]}),t_}var e_,qg;function lg(){if(qg)return e_;return qg=1,e_=rg(),e_}var $P,Eg;function ig(){if(Eg)return $P;Eg=1;let $=J8(),Z=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),X=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function J(W){if(W===null)return!1;if(Z.exec(W)!==null)return!0;if(X.exec(W)!==null)return!0;return!1}function G(W){let D=0,U=null,A=Z.exec(W);if(A===null)A=X.exec(W);if(A===null)throw Error("Date resolve error");let Q=+A[1],O=+A[2]-1,P=+A[3];if(!A[4])return new Date(Date.UTC(Q,O,P));let N=+A[4],M=+A[5],w=+A[6];if(A[7]){D=A[7].slice(0,3);while(D.length<3)D+="0";D=+D}if(A[9]){let K$=+A[10],l=+(A[11]||0);if(U=(K$*60+l)*60000,A[9]==="-")U=-U}let q=new Date(Date.UTC(Q,O,P,N,M,w,D));if(U)q.setTime(q.getTime()-U);return q}function Y(W){return W.toISOString()}return $P=new $("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:J,construct:G,instanceOf:Date,represent:Y}),$P}var ZP,xg;function sg(){if(xg)return ZP;xg=1;let $=J8();function Z(X){return X==="<<"||X===null}return ZP=new $("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Z}),ZP}var XP,Sg;function ag(){if(Sg)return XP;Sg=1;let $=J8(),Z=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
94
+ \r`;function X(W){if(W===null)return!1;let D=0,U=W.length,A=Z;for(let Q=0;Q<U;Q++){let O=A.indexOf(W.charAt(Q));if(O>64)continue;if(O<0)return!1;D+=6}return D%8===0}function J(W){let D=W.replace(/[\r\n=]/g,""),U=D.length,A=Z,Q=0,O=[];for(let N=0;N<U;N++){if(N%4===0&&N)O.push(Q>>16&255),O.push(Q>>8&255),O.push(Q&255);Q=Q<<6|A.indexOf(D.charAt(N))}let P=U%4*6;if(P===0)O.push(Q>>16&255),O.push(Q>>8&255),O.push(Q&255);else if(P===18)O.push(Q>>10&255),O.push(Q>>2&255);else if(P===12)O.push(Q>>4&255);return new Uint8Array(O)}function G(W){let D="",U=0,A=W.length,Q=Z;for(let P=0;P<A;P++){if(P%3===0&&P)D+=Q[U>>18&63],D+=Q[U>>12&63],D+=Q[U>>6&63],D+=Q[U&63];U=(U<<8)+W[P]}let O=A%3;if(O===0)D+=Q[U>>18&63],D+=Q[U>>12&63],D+=Q[U>>6&63],D+=Q[U&63];else if(O===2)D+=Q[U>>10&63],D+=Q[U>>4&63],D+=Q[U<<2&63],D+=Q[64];else if(O===1)D+=Q[U>>2&63],D+=Q[U<<4&63],D+=Q[64],D+=Q[64];return D}function Y(W){return Object.prototype.toString.call(W)==="[object Uint8Array]"}return XP=new $("tag:yaml.org,2002:binary",{kind:"scalar",resolve:X,construct:J,predicate:Y,represent:G}),XP}var JP,jg;function tg(){if(jg)return JP;jg=1;let $=J8(),Z=Object.prototype.hasOwnProperty,X=Object.prototype.toString;function J(Y){if(Y===null)return!0;let W=[],D=Y;for(let U=0,A=D.length;U<A;U+=1){let Q=D[U],O=!1;if(X.call(Q)!=="[object Object]")return!1;let P;for(P in Q)if(Z.call(Q,P))if(!O)O=!0;else return!1;if(!O)return!1;if(W.indexOf(P)===-1)W.push(P);else return!1}return!0}function G(Y){return Y!==null?Y:[]}return JP=new $("tag:yaml.org,2002:omap",{kind:"sequence",resolve:J,construct:G}),JP}var GP,kg;function eg(){if(kg)return GP;kg=1;let $=J8(),Z=Object.prototype.toString;function X(G){if(G===null)return!0;let Y=G,W=Array(Y.length);for(let D=0,U=Y.length;D<U;D+=1){let A=Y[D];if(Z.call(A)!=="[object Object]")return!1;let Q=Object.keys(A);if(Q.length!==1)return!1;W[D]=[Q[0],A[Q[0]]]}return!0}function J(G){if(G===null)return[];let Y=G,W=Array(Y.length);for(let D=0,U=Y.length;D<U;D+=1){let A=Y[D],Q=Object.keys(A);W[D]=[Q[0],A[Q[0]]]}return W}return GP=new $("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:X,construct:J}),GP}var YP,Ig;function $h(){if(Ig)return YP;Ig=1;let $=J8(),Z=Object.prototype.hasOwnProperty;function X(G){if(G===null)return!0;let Y=G;for(let W in Y)if(Z.call(Y,W)){if(Y[W]!==null)return!1}return!0}function J(G){return G!==null?G:{}}return YP=new $("tag:yaml.org,2002:set",{kind:"mapping",resolve:X,construct:J}),YP}var WP,vg;function HP(){if(vg)return WP;return vg=1,WP=lg().extend({implicit:[ig(),sg()],explicit:[ag(),tg(),eg(),$h()]}),WP}var yg;function BX$(){if(yg)return zA;yg=1;let $=JY(),Z=GY(),X=OX$(),J=HP(),G=Object.prototype.hasOwnProperty,Y=1,W=2,D=3,U=4,A=1,Q=2,O=3,P=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,N=/[\x85\u2028\u2029]/,M=/[,\[\]{}]/,w=/^(?:!|!!|![0-9A-Za-z-]+!)$/,q=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function K$(K){return Object.prototype.toString.call(K)}function l(K){return K===10||K===13}function J$(K){return K===9||K===32}function B$(K){return K===9||K===32||K===10||K===13}function h$(K){return K===44||K===91||K===93||K===123||K===125}function A$(K){if(K>=48&&K<=57)return K-48;let R=K|32;if(R>=97&&R<=102)return R-97+10;return-1}function m$(K){if(K===120)return 2;if(K===117)return 4;if(K===85)return 8;return 0}function v$(K){if(K>=48&&K<=57)return K-48;return-1}function A0(K){switch(K){case 48:return"\x00";case 97:return"\x07";case 98:return"\b";case 116:return"\t";case 9:return"\t";case 110:return`
95
+ `;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}function i(K){if(K<=65535)return String.fromCharCode(K);return String.fromCharCode((K-65536>>10)+55296,(K-65536&1023)+56320)}function $$(K,R,k){if(R==="__proto__")Object.defineProperty(K,R,{configurable:!0,enumerable:!0,writable:!0,value:k});else K[R]=k}let r=Array(256),Q$=Array(256);for(let K=0;K<256;K++)r[K]=A0(K)?1:0,Q$[K]=A0(K);function T$(K,R){this.input=K,this.filename=R.filename||null,this.schema=R.schema||J,this.onWarning=R.onWarning||null,this.legacy=R.legacy||!1,this.json=R.json||!1,this.listener=R.listener||null,this.maxDepth=typeof R.maxDepth==="number"?R.maxDepth:100,this.maxTotalMergeKeys=typeof R.maxTotalMergeKeys==="number"?R.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=K.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}function q$(K,R){let k={name:K.filename,buffer:K.input.slice(0,-1),position:K.position,line:K.line,column:K.position-K.lineStart};return k.snippet=X(k),new Z(R,k)}function Z$(K,R){throw q$(K,R)}function Q0(K,R){if(K.onWarning)K.onWarning.call(null,q$(K,R))}function b0(K,R,k){let g=K.anchorMapTransactions;if(g.length!==0){let E=g[g.length-1];if(!G.call(E,R))E[R]={existed:G.call(K.anchorMap,R),value:K.anchorMap[R]}}K.anchorMap[R]=k}function h6(K){K.anchorMapTransactions.push(Object.create(null))}function G8(K){let R=K.anchorMapTransactions.pop(),k=K.anchorMapTransactions;if(k.length===0)return;let g=k[k.length-1],E=Object.keys(R);for(let o=0,B=E.length;o<B;o+=1){let C=E[o];if(!G.call(g,C))g[C]=R[C]}}function F8(K){let R=K.anchorMapTransactions.pop(),k=Object.keys(R);for(let g=k.length-1;g>=0;g-=1){let E=R[k[g]];if(E.existed)K.anchorMap[k[g]]=E.value;else delete K.anchorMap[k[g]]}}function j4(K){return{position:K.position,line:K.line,lineStart:K.lineStart,lineIndent:K.lineIndent,firstTabInLine:K.firstTabInLine,tag:K.tag,anchor:K.anchor,kind:K.kind,result:K.result}}function Y8(K,R){K.position=R.position,K.line=R.line,K.lineStart=R.lineStart,K.lineIndent=R.lineIndent,K.firstTabInLine=R.firstTabInLine,K.tag=R.tag,K.anchor=R.anchor,K.kind=R.kind,K.result=R.result}let IY={YAML:function(R,k,g){if(R.version!==null)Z$(R,"duplication of %YAML directive");if(g.length!==1)Z$(R,"YAML directive accepts exactly one argument");let E=/^([0-9]+)\.([0-9]+)$/.exec(g[0]);if(E===null)Z$(R,"ill-formed argument of the YAML directive");let o=parseInt(E[1],10),B=parseInt(E[2],10);if(o!==1)Z$(R,"unacceptable YAML version of the document");if(R.version=g[0],R.checkLineBreaks=B<2,B!==1&&B!==2)Q0(R,"unsupported YAML version of the document")},TAG:function(R,k,g){let E;if(g.length!==2)Z$(R,"TAG directive accepts exactly two arguments");let o=g[0];if(E=g[1],!w.test(o))Z$(R,"ill-formed tag handle (first argument) of the TAG directive");if(G.call(R.tagMap,o))Z$(R,'there is a previously declared suffix for "'+o+'" tag handle');if(!q.test(E))Z$(R,"ill-formed tag prefix (second argument) of the TAG directive");try{E=decodeURIComponent(E)}catch(B){Z$(R,"tag prefix is malformed: "+E)}R.tagMap[o]=E}};function T8(K,R,k,g){if(R<k){let E=K.input.slice(R,k);if(g)for(let o=0,B=E.length;o<B;o+=1){let C=E.charCodeAt(o);if(!(C===9||C>=32&&C<=1114111))Z$(K,"expected valid JSON character")}else if(P.test(E))Z$(K,"the stream contains non-printable characters");K.result+=E}}function k4(K,R,k,g){if(!$.isObject(k))Z$(K,"cannot merge mappings; the provided source object is unacceptable");let E=Object.keys(k);for(let o=0,B=E.length;o<B;o+=1){let C=E[o];if(K.maxTotalMergeKeys!==-1&&++K.totalMergeKeys>K.maxTotalMergeKeys)Z$(K,"merge keys exceeded maxTotalMergeKeys ("+K.maxTotalMergeKeys+")");if(!G.call(R,C))$$(R,C,k[C]),g[C]=!0}}function R1(K,R,k,g,E,o,B,C,p){if(Array.isArray(E)){E=Array.prototype.slice.call(E);for(let y=0,b=E.length;y<b;y+=1){if(Array.isArray(E[y]))Z$(K,"nested arrays are not supported inside keys");if(typeof E==="object"&&K$(E[y])==="[object Object]")E[y]="[object Object]"}}if(typeof E==="object"&&K$(E)==="[object Object]")E="[object Object]";if(E=String(E),R===null)R={};if(g==="tag:yaml.org,2002:merge")if(Array.isArray(o))for(let y=0,b=o.length;y<b;y+=1)k4(K,R,o[y],k);else k4(K,R,o,k);else{if(!K.json&&!G.call(k,E)&&G.call(R,E))K.line=B||K.line,K.lineStart=C||K.lineStart,K.position=p||K.position,Z$(K,"duplicated mapping key");$$(R,E,o),delete k[E]}return R}function O7(K){let R=K.input.charCodeAt(K.position);if(R===10)K.position++;else if(R===13){if(K.position++,K.input.charCodeAt(K.position)===10)K.position++}else Z$(K,"a line break is expected");K.line+=1,K.lineStart=K.position,K.firstTabInLine=-1}function g0(K,R,k){let g=0,E=K.input.charCodeAt(K.position);while(E!==0){while(J$(E)){if(E===9&&K.firstTabInLine===-1)K.firstTabInLine=K.position;E=K.input.charCodeAt(++K.position)}if(R&&E===35)do E=K.input.charCodeAt(++K.position);while(E!==10&&E!==13&&E!==0);if(l(E)){O7(K),E=K.input.charCodeAt(K.position),g++,K.lineIndent=0;while(E===32)K.lineIndent++,E=K.input.charCodeAt(++K.position)}else break}if(k!==-1&&g!==0&&K.lineIndent<k)Q0(K,"deficient indentation");return g}function B7(K){let R=K.position,k=K.input.charCodeAt(R);if((k===45||k===46)&&k===K.input.charCodeAt(R+1)&&k===K.input.charCodeAt(R+2)){if(R+=3,k=K.input.charCodeAt(R),k===0||B$(k))return!0}return!1}function w1(K,R){if(R===1)K.result+=" ";else if(R>1)K.result+=$.repeat(`
96
+ `,R-1)}function vY(K,R,k){let g,E,o,B,C,p,y=K.kind,b=K.result,d=K.input.charCodeAt(K.position);if(B$(d)||h$(d)||d===35||d===38||d===42||d===33||d===124||d===62||d===39||d===34||d===37||d===64||d===96)return!1;if(d===63||d===45){let f=K.input.charCodeAt(K.position+1);if(B$(f)||k&&h$(f))return!1}K.kind="scalar",K.result="",g=E=K.position,o=!1;while(d!==0){if(d===58){let f=K.input.charCodeAt(K.position+1);if(B$(f)||k&&h$(f))break}else if(d===35){let f=K.input.charCodeAt(K.position-1);if(B$(f))break}else if(K.position===K.lineStart&&B7(K)||k&&h$(d))break;else if(l(d))if(B=K.line,C=K.lineStart,p=K.lineIndent,g0(K,!1,-1),K.lineIndent>=R){o=!0,d=K.input.charCodeAt(K.position);continue}else{K.position=E,K.line=B,K.lineStart=C,K.lineIndent=p;break}if(o)T8(K,g,E,!1),w1(K,K.line-B),g=E=K.position,o=!1;if(!J$(d))E=K.position+1;d=K.input.charCodeAt(++K.position)}if(T8(K,g,E,!1),K.result)return!0;return K.kind=y,K.result=b,!1}function yY(K,R){let k,g,E=K.input.charCodeAt(K.position);if(E!==39)return!1;K.kind="scalar",K.result="",K.position++,k=g=K.position;while((E=K.input.charCodeAt(K.position))!==0)if(E===39)if(T8(K,k,K.position,!0),E=K.input.charCodeAt(++K.position),E===39)k=K.position,K.position++,g=K.position;else return!0;else if(l(E))T8(K,k,g,!0),w1(K,g0(K,!1,R)),k=g=K.position;else if(K.position===K.lineStart&&B7(K))Z$(K,"unexpected end of the document within a single quoted scalar");else if(K.position++,!J$(E))g=K.position;Z$(K,"unexpected end of the stream within a single quoted scalar")}function HJ(K,R){let k,g,E,o=K.input.charCodeAt(K.position);if(o!==34)return!1;K.kind="scalar",K.result="",K.position++,k=g=K.position;while((o=K.input.charCodeAt(K.position))!==0)if(o===34)return T8(K,k,K.position,!0),K.position++,!0;else if(o===92){if(T8(K,k,K.position,!0),o=K.input.charCodeAt(++K.position),l(o))g0(K,!1,R);else if(o<256&&r[o])K.result+=Q$[o],K.position++;else if((E=m$(o))>0){let B=E,C=0;for(;B>0;B--)if(o=K.input.charCodeAt(++K.position),(E=A$(o))>=0)C=(C<<4)+E;else Z$(K,"expected hexadecimal character");K.result+=i(C),K.position++}else Z$(K,"unknown escape sequence");k=g=K.position}else if(l(o))T8(K,k,g,!0),w1(K,g0(K,!1,R)),k=g=K.position;else if(K.position===K.lineStart&&B7(K))Z$(K,"unexpected end of the document within a double quoted scalar");else if(K.position++,!J$(o))g=K.position;Z$(K,"unexpected end of the stream within a double quoted scalar")}function bY(K,R){let k=!0,g,E,o,B=K.tag,C,p=K.anchor,y,b,d,f,H$=Object.create(null),W$,N$,z$,u$=K.input.charCodeAt(K.position);if(u$===91)y=93,f=!1,C=[];else if(u$===123)y=125,f=!0,C={};else return!1;if(K.anchor!==null)b0(K,K.anchor,C);u$=K.input.charCodeAt(++K.position);while(u$!==0){if(g0(K,!0,R),u$=K.input.charCodeAt(K.position),u$===y)return K.position++,K.tag=B,K.anchor=p,K.kind=f?"mapping":"sequence",K.result=C,!0;else if(!k)Z$(K,"missed comma between flow collection entries");else if(u$===44)Z$(K,"expected the node content, but found ','");if(N$=W$=z$=null,b=d=!1,u$===63){let _0=K.input.charCodeAt(K.position+1);if(B$(_0))b=d=!0,K.position++,g0(K,!0,R)}if(g=K.line,E=K.lineStart,o=K.position,L1(K,R,Y,!1,!0),N$=K.tag,W$=K.result,g0(K,!0,R),u$=K.input.charCodeAt(K.position),(d||K.line===g)&&u$===58)b=!0,u$=K.input.charCodeAt(++K.position),g0(K,!0,R),L1(K,R,Y,!1,!0),z$=K.result;if(f)R1(K,C,H$,N$,W$,z$,g,E,o);else if(b)C.push(R1(K,null,H$,N$,W$,z$,g,E,o));else C.push(W$);if(g0(K,!0,R),u$=K.input.charCodeAt(K.position),u$===44)k=!0,u$=K.input.charCodeAt(++K.position);else k=!1}Z$(K,"unexpected end of the stream within a flow collection")}function gY(K,R){let k,g=A,E=!1,o=!1,B=R,C=0,p=!1,y,b=K.input.charCodeAt(K.position);if(b===124)k=!1;else if(b===62)k=!0;else return!1;K.kind="scalar",K.result="";while(b!==0)if(b=K.input.charCodeAt(++K.position),b===43||b===45)if(A===g)g=b===43?O:Q;else Z$(K,"repeat of a chomping mode identifier");else if((y=v$(b))>=0)if(y===0)Z$(K,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!o)B=R+y-1,o=!0;else Z$(K,"repeat of an indentation width identifier");else break;if(J$(b)){do b=K.input.charCodeAt(++K.position);while(J$(b));if(b===35)do b=K.input.charCodeAt(++K.position);while(!l(b)&&b!==0)}while(b!==0){O7(K),K.lineIndent=0,b=K.input.charCodeAt(K.position);while((!o||K.lineIndent<B)&&b===32)K.lineIndent++,b=K.input.charCodeAt(++K.position);if(!o&&K.lineIndent>B)B=K.lineIndent;if(l(b)){C++;continue}if(!o&&B===0)Z$(K,"missing indentation for block scalar");if(K.lineIndent<B){if(g===O)K.result+=$.repeat(`
97
+ `,E?1+C:C);else if(g===A){if(E)K.result+=`
98
98
  `}break}if(k)if(J$(b))p=!0,K.result+=$.repeat(`
99
- `,q?1+C:C);else if(p)p=!1,K.result+=$.repeat(`
100
- `,C+1);else if(C===0){if(q)K.result+=" "}else K.result+=$.repeat(`
99
+ `,E?1+C:C);else if(p)p=!1,K.result+=$.repeat(`
100
+ `,C+1);else if(C===0){if(E)K.result+=" "}else K.result+=$.repeat(`
101
101
  `,C);else K.result+=$.repeat(`
102
- `,q?1+C:C);q=!0,o=!0,C=0;let d=K.position;while(!l(b)&&b!==0)b=K.input.charCodeAt(++K.position);T8(K,d,K.position,!1)}return!0}function C1(K,w){let{tag:k,anchor:g}=K,q=[],o=!1;if(K.firstTabInLine!==-1)return!1;if(K.anchor!==null)b0(K,K.anchor,q);let B=K.input.charCodeAt(K.position);while(B!==0){if(K.firstTabInLine!==-1)K.position=K.firstTabInLine,Z$(K,"tab characters must not be used in indentation");if(B!==45)break;let C=K.input.charCodeAt(K.position+1);if(!B$(C))break;if(o=!0,K.position++,g0(K,!0,-1)){if(K.lineIndent<=w){q.push(null),B=K.input.charCodeAt(K.position);continue}}let p=K.line;if(L1(K,w,D,!1,!0),q.push(K.result),g0(K,!0,-1),B=K.input.charCodeAt(K.position),(K.line===p||K.lineIndent>w)&&B!==0)Z$(K,"bad indentation of a sequence entry");else if(K.lineIndent<w)break}if(o)return K.tag=k,K.anchor=g,K.kind="sequence",K.result=q,!0;return!1}function hY(K,w,k){let g,q,o,B,C=K.tag,p=K.anchor,y={},b=Object.create(null),d=null,f=null,H$=null,W$=!1,N$=!1;if(K.firstTabInLine!==-1)return!1;if(K.anchor!==null)b0(K,K.anchor,y);let z$=K.input.charCodeAt(K.position);while(z$!==0){if(!W$&&K.firstTabInLine!==-1)K.position=K.firstTabInLine,Z$(K,"tab characters must not be used in indentation");let u$=K.input.charCodeAt(K.position+1),_0=K.line;if((z$===63||z$===58)&&B$(u$)){if(z$===63){if(W$)R1(K,y,b,d,f,null,q,o,B),d=f=H$=null;N$=!0,W$=!0,g=!0}else if(W$)W$=!1,g=!0;else Z$(K,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");K.position+=1,z$=u$}else{if(q=K.line,o=K.lineStart,B=K.position,!L1(K,k,W,!1,!0))break;if(K.line===_0){z$=K.input.charCodeAt(K.position);while(J$(z$))z$=K.input.charCodeAt(++K.position);if(z$===58){if(z$=K.input.charCodeAt(++K.position),!B$(z$))Z$(K,"a whitespace character is expected after the key-value separator within a block mapping");if(W$)R1(K,y,b,d,f,null,q,o,B),d=f=H$=null;N$=!0,W$=!1,g=!1,d=K.tag,f=K.result}else if(N$)Z$(K,"can not read an implicit mapping pair; a colon is missed");else return K.tag=C,K.anchor=p,!0}else if(N$)Z$(K,"can not read a block mapping entry; a multiline key may not be an implicit key");else return K.tag=C,K.anchor=p,!0}if(K.line===_0||K.lineIndent>w){if(W$)q=K.line,o=K.lineStart,B=K.position;if(L1(K,w,U,!0,g))if(W$)f=K.result;else H$=K.result;if(!W$)R1(K,y,b,d,f,H$,q,o,B),d=f=H$=null;g0(K,!0,-1),z$=K.input.charCodeAt(K.position)}if((K.line===_0||K.lineIndent>w)&&z$!==0)Z$(K,"bad indentation of a mapping entry");else if(K.lineIndent<w)break}if(W$)R1(K,y,b,d,f,null,q,o,B);if(N$)K.tag=C,K.anchor=p,K.kind="mapping",K.result=y;return N$}function M3(K){let w=!1,k=!1,g,q,o=K.input.charCodeAt(K.position);if(o!==33)return!1;if(K.tag!==null)Z$(K,"duplication of a tag property");if(o=K.input.charCodeAt(++K.position),o===60)w=!0,o=K.input.charCodeAt(++K.position);else if(o===33)k=!0,g="!!",o=K.input.charCodeAt(++K.position);else g="!";let B=K.position;if(w){do o=K.input.charCodeAt(++K.position);while(o!==0&&o!==62);if(K.position<K.length)q=K.input.slice(B,K.position),o=K.input.charCodeAt(++K.position);else Z$(K,"unexpected end of the stream within a verbatim tag")}else{while(o!==0&&!B$(o)){if(o===33)if(!k){if(g=K.input.slice(B-1,K.position+1),!z.test(g))Z$(K,"named tag handle cannot contain such characters");k=!0,B=K.position+1}else Z$(K,"tag suffix cannot contain exclamation marks");o=K.input.charCodeAt(++K.position)}if(q=K.input.slice(B,K.position),M.test(q))Z$(K,"tag suffix cannot contain flow indicator characters")}if(q&&!x.test(q))Z$(K,"tag name cannot contain such characters: "+q);try{q=decodeURIComponent(q)}catch(C){Z$(K,"tag name is malformed: "+q)}if(w)K.tag=q;else if(G.call(K.tagMap,g))K.tag=K.tagMap[g]+q;else if(g==="!")K.tag="!"+q;else if(g==="!!")K.tag="tag:yaml.org,2002:"+q;else Z$(K,'undeclared tag handle "'+g+'"');return!0}function mY(K){let w=K.input.charCodeAt(K.position);if(w!==38)return!1;if(K.anchor!==null)Z$(K,"duplication of an anchor property");w=K.input.charCodeAt(++K.position);let k=K.position;while(w!==0&&!B$(w)&&!h$(w))w=K.input.charCodeAt(++K.position);if(K.position===k)Z$(K,"name of an anchor node must contain at least one character");return K.anchor=K.input.slice(k,K.position),!0}function fY(K){let w=K.input.charCodeAt(K.position);if(w!==42)return!1;w=K.input.charCodeAt(++K.position);let k=K.position;while(w!==0&&!B$(w)&&!h$(w))w=K.input.charCodeAt(++K.position);if(K.position===k)Z$(K,"name of an alias node must contain at least one character");let g=K.input.slice(k,K.position);if(!G.call(K.anchorMap,g))Z$(K,'unidentified alias "'+g+'"');return K.result=K.anchorMap[g],g0(K,!0,-1),!0}function z3(K,w,k,g){let q=j4(K);if(h6(K),Y8(K,w),K.tag=null,K.anchor=null,K.kind=null,K.result=null,hY(K,k,g)&&K.kind==="mapping")return G8(K),!0;return F8(K),Y8(K,q),!1}function L1(K,w,k,g,q){let o,B,C=1,p=!1,y=!1,b=null,d,f,H$;if(K.depth>=K.maxDepth)Z$(K,"nesting exceeded maxDepth ("+K.maxDepth+")");if(K.depth+=1,K.listener!==null)K.listener("open",K);K.tag=null,K.anchor=null,K.kind=null,K.result=null;let W$=o=B=U===k||D===k;if(g){if(g0(K,!0,-1)){if(p=!0,K.lineIndent>w)C=1;else if(K.lineIndent===w)C=0;else if(K.lineIndent<w)C=-1}}if(C===1)while(!0){let N$=K.input.charCodeAt(K.position),z$=j4(K);if(p&&(N$===33&&K.tag!==null||N$===38&&K.anchor!==null))break;if(!M3(K)&&!mY(K))break;if(b===null)b=z$;if(g0(K,!0,-1)){if(p=!0,B=W$,K.lineIndent>w)C=1;else if(K.lineIndent===w)C=0;else if(K.lineIndent<w)C=-1}else B=!1}if(B)B=p||q;if(C===1||U===k){if(Y===k||W===k)f=w;else f=w+1;if(H$=K.position-K.lineStart,C===1)if(B&&(C1(K,H$)||hY(K,H$,f))||bY(K,f))y=!0;else{let N$=K.input.charCodeAt(K.position);if(b!==null&&W$&&!B&&N$!==124&&N$!==62&&z3(K,b,b.position-b.lineStart,f))y=!0;else if(o&&gY(K,f)||yY(K,f)||HJ(K,f))y=!0;else if(fY(K)){if(y=!0,K.tag!==null||K.anchor!==null)Z$(K,"alias node should not have any properties")}else if(vY(K,f,Y===k)){if(y=!0,K.tag===null)K.tag="?"}if(K.anchor!==null)b0(K,K.anchor,K.result)}else if(C===0)y=B&&C1(K,H$)}if(K.tag===null){if(K.anchor!==null)b0(K,K.anchor,K.result)}else if(K.tag==="?"){if(K.result!==null&&K.kind!=="scalar")Z$(K,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+K.kind+'"');for(let N$=0,z$=K.implicitTypes.length;N$<z$;N$+=1)if(d=K.implicitTypes[N$],d.resolve(K.result)){if(K.result=d.construct(K.result),K.tag=d.tag,K.anchor!==null)b0(K,K.anchor,K.result);break}}else if(K.tag!=="!"){if(G.call(K.typeMap[K.kind||"fallback"],K.tag))d=K.typeMap[K.kind||"fallback"][K.tag];else{d=null;let N$=K.typeMap.multi[K.kind||"fallback"];for(let z$=0,u$=N$.length;z$<u$;z$+=1)if(K.tag.slice(0,N$[z$].tag.length)===N$[z$].tag){d=N$[z$];break}}if(!d)Z$(K,"unknown tag !<"+K.tag+">");if(K.result!==null&&d.kind!==K.kind)Z$(K,"unacceptable node kind for !<"+K.tag+'> tag; it should be "'+d.kind+'", not "'+K.kind+'"');if(!d.resolve(K.result,K.tag))Z$(K,"cannot resolve a node with !<"+K.tag+"> explicit tag");else if(K.result=d.construct(K.result,K.tag),K.anchor!==null)b0(K,K.anchor,K.result)}if(K.listener!==null)K.listener("close",K);return K.depth-=1,K.tag!==null||K.anchor!==null||y}function R3(K){let w=K.position,k=!1,g;K.version=null,K.checkLineBreaks=K.legacy,K.tagMap=Object.create(null),K.anchorMap=Object.create(null);while((g=K.input.charCodeAt(K.position))!==0){if(g0(K,!0,-1),g=K.input.charCodeAt(K.position),K.lineIndent>0||g!==37)break;k=!0,g=K.input.charCodeAt(++K.position);let q=K.position;while(g!==0&&!B$(g))g=K.input.charCodeAt(++K.position);let o=K.input.slice(q,K.position),B=[];if(o.length<1)Z$(K,"directive name must not be less than one character in length");while(g!==0){while(J$(g))g=K.input.charCodeAt(++K.position);if(g===35){do g=K.input.charCodeAt(++K.position);while(g!==0&&!l(g));break}if(l(g))break;q=K.position;while(g!==0&&!B$(g))g=K.input.charCodeAt(++K.position);B.push(K.input.slice(q,K.position))}if(g!==0)O7(K);if(G.call(IY,o))IY[o](K,o,B);else Q0(K,'unknown document directive "'+o+'"')}if(g0(K,!0,-1),K.lineIndent===0&&K.input.charCodeAt(K.position)===45&&K.input.charCodeAt(K.position+1)===45&&K.input.charCodeAt(K.position+2)===45)K.position+=3,g0(K,!0,-1);else if(k)Z$(K,"directives end mark is expected");if(L1(K,K.lineIndent-1,U,!1,!0),g0(K,!0,-1),K.checkLineBreaks&&_.test(K.input.slice(w,K.position)))Q0(K,"non-ASCII line breaks are interpreted as content");if(K.documents.push(K.result),K.position===K.lineStart&&B7(K)){if(K.input.charCodeAt(K.position)===46)K.position+=3,g0(K,!0,-1);return}if(K.position<K.length-1)Z$(K,"end of the stream or a document separator is expected")}function cY(K,w){if(K=String(K),w=w||{},K.length!==0){if(K.charCodeAt(K.length-1)!==10&&K.charCodeAt(K.length-1)!==13)K+=`
103
- `;if(K.charCodeAt(0)===65279)K=K.slice(1)}let k=new T$(K,w),g=K.indexOf("\x00");if(g!==-1)k.position=g,Z$(k,"null byte is not allowed in input");k.input+="\x00";while(k.input.charCodeAt(k.position)===32)k.lineIndent+=1,k.position+=1;while(k.position<k.length-1)R3(k);return k.documents}function pY(K,w,k){if(w!==null&&typeof w==="object"&&typeof k>"u")k=w,w=null;let g=cY(K,k);if(typeof w!=="function")return g;for(let q=0,o=g.length;q<o;q+=1)w(g[q])}function w3(K,w){let k=cY(K,w);if(k.length===0)return;else if(k.length===1)return k[0];throw new Z("expected a single document in the stream, but found more")}return zA.loadAll=pY,zA.load=w3,zA}var DP={},bg;function NX$(){if(bg)return DP;bg=1;let $=JY(),Z=GY(),X=HP(),J=Object.prototype.toString,G=Object.prototype.hasOwnProperty,Y=65279,W=9,D=10,U=13,A=32,Q=33,O=34,P=35,_=37,M=38,z=39,x=42,K$=44,l=45,J$=58,B$=61,h$=62,A$=63,m$=64,v$=91,A0=93,i=96,$$=123,r=124,Q$=125,T$={};T$[0]="\\0",T$[7]="\\a",T$[8]="\\b",T$[9]="\\t",T$[10]="\\n",T$[11]="\\v",T$[12]="\\f",T$[13]="\\r",T$[27]="\\e",T$[34]="\\\"",T$[92]="\\\\",T$[133]="\\N",T$[160]="\\_",T$[8232]="\\L",T$[8233]="\\P";let q$=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Z$=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Q0(B,C){if(C===null)return{};let p={},y=Object.keys(C);for(let b=0,d=y.length;b<d;b+=1){let f=y[b],H$=String(C[f]);if(f.slice(0,2)==="!!")f="tag:yaml.org,2002:"+f.slice(2);let W$=B.compiledTypeMap.fallback[f];if(W$&&G.call(W$.styleAliases,H$))H$=W$.styleAliases[H$];p[f]=H$}return p}function b0(B){let C,p,y=B.toString(16).toUpperCase();if(B<=255)C="x",p=2;else if(B<=65535)C="u",p=4;else if(B<=4294967295)C="U",p=8;else throw new Z("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+C+$.repeat("0",p-y.length)+y}let h6=1,G8=2;function F8(B){this.schema=B.schema||X,this.indent=Math.max(1,B.indent||2),this.noArrayIndent=B.noArrayIndent||!1,this.skipInvalid=B.skipInvalid||!1,this.flowLevel=$.isNothing(B.flowLevel)?-1:B.flowLevel,this.styleMap=Q0(this.schema,B.styles||null),this.sortKeys=B.sortKeys||!1,this.lineWidth=B.lineWidth||80,this.noRefs=B.noRefs||!1,this.noCompatMode=B.noCompatMode||!1,this.condenseFlow=B.condenseFlow||!1,this.quotingType=B.quotingType==='"'?G8:h6,this.forceQuotes=B.forceQuotes||!1,this.replacer=typeof B.replacer==="function"?B.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function j4(B,C){let p=$.repeat(" ",C),y=0,b="",d=B.length;while(y<d){let f,H$=B.indexOf(`
102
+ `,E?1+C:C);E=!0,o=!0,C=0;let d=K.position;while(!l(b)&&b!==0)b=K.input.charCodeAt(++K.position);T8(K,d,K.position,!1)}return!0}function C1(K,R){let{tag:k,anchor:g}=K,E=[],o=!1;if(K.firstTabInLine!==-1)return!1;if(K.anchor!==null)b0(K,K.anchor,E);let B=K.input.charCodeAt(K.position);while(B!==0){if(K.firstTabInLine!==-1)K.position=K.firstTabInLine,Z$(K,"tab characters must not be used in indentation");if(B!==45)break;let C=K.input.charCodeAt(K.position+1);if(!B$(C))break;if(o=!0,K.position++,g0(K,!0,-1)){if(K.lineIndent<=R){E.push(null),B=K.input.charCodeAt(K.position);continue}}let p=K.line;if(L1(K,R,D,!1,!0),E.push(K.result),g0(K,!0,-1),B=K.input.charCodeAt(K.position),(K.line===p||K.lineIndent>R)&&B!==0)Z$(K,"bad indentation of a sequence entry");else if(K.lineIndent<R)break}if(o)return K.tag=k,K.anchor=g,K.kind="sequence",K.result=E,!0;return!1}function hY(K,R,k){let g,E,o,B,C=K.tag,p=K.anchor,y={},b=Object.create(null),d=null,f=null,H$=null,W$=!1,N$=!1;if(K.firstTabInLine!==-1)return!1;if(K.anchor!==null)b0(K,K.anchor,y);let z$=K.input.charCodeAt(K.position);while(z$!==0){if(!W$&&K.firstTabInLine!==-1)K.position=K.firstTabInLine,Z$(K,"tab characters must not be used in indentation");let u$=K.input.charCodeAt(K.position+1),_0=K.line;if((z$===63||z$===58)&&B$(u$)){if(z$===63){if(W$)R1(K,y,b,d,f,null,E,o,B),d=f=H$=null;N$=!0,W$=!0,g=!0}else if(W$)W$=!1,g=!0;else Z$(K,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");K.position+=1,z$=u$}else{if(E=K.line,o=K.lineStart,B=K.position,!L1(K,k,W,!1,!0))break;if(K.line===_0){z$=K.input.charCodeAt(K.position);while(J$(z$))z$=K.input.charCodeAt(++K.position);if(z$===58){if(z$=K.input.charCodeAt(++K.position),!B$(z$))Z$(K,"a whitespace character is expected after the key-value separator within a block mapping");if(W$)R1(K,y,b,d,f,null,E,o,B),d=f=H$=null;N$=!0,W$=!1,g=!1,d=K.tag,f=K.result}else if(N$)Z$(K,"can not read an implicit mapping pair; a colon is missed");else return K.tag=C,K.anchor=p,!0}else if(N$)Z$(K,"can not read a block mapping entry; a multiline key may not be an implicit key");else return K.tag=C,K.anchor=p,!0}if(K.line===_0||K.lineIndent>R){if(W$)E=K.line,o=K.lineStart,B=K.position;if(L1(K,R,U,!0,g))if(W$)f=K.result;else H$=K.result;if(!W$)R1(K,y,b,d,f,H$,E,o,B),d=f=H$=null;g0(K,!0,-1),z$=K.input.charCodeAt(K.position)}if((K.line===_0||K.lineIndent>R)&&z$!==0)Z$(K,"bad indentation of a mapping entry");else if(K.lineIndent<R)break}if(W$)R1(K,y,b,d,f,null,E,o,B);if(N$)K.tag=C,K.anchor=p,K.kind="mapping",K.result=y;return N$}function M3(K){let R=!1,k=!1,g,E,o=K.input.charCodeAt(K.position);if(o!==33)return!1;if(K.tag!==null)Z$(K,"duplication of a tag property");if(o=K.input.charCodeAt(++K.position),o===60)R=!0,o=K.input.charCodeAt(++K.position);else if(o===33)k=!0,g="!!",o=K.input.charCodeAt(++K.position);else g="!";let B=K.position;if(R){do o=K.input.charCodeAt(++K.position);while(o!==0&&o!==62);if(K.position<K.length)E=K.input.slice(B,K.position),o=K.input.charCodeAt(++K.position);else Z$(K,"unexpected end of the stream within a verbatim tag")}else{while(o!==0&&!B$(o)){if(o===33)if(!k){if(g=K.input.slice(B-1,K.position+1),!w.test(g))Z$(K,"named tag handle cannot contain such characters");k=!0,B=K.position+1}else Z$(K,"tag suffix cannot contain exclamation marks");o=K.input.charCodeAt(++K.position)}if(E=K.input.slice(B,K.position),M.test(E))Z$(K,"tag suffix cannot contain flow indicator characters")}if(E&&!q.test(E))Z$(K,"tag name cannot contain such characters: "+E);try{E=decodeURIComponent(E)}catch(C){Z$(K,"tag name is malformed: "+E)}if(R)K.tag=E;else if(G.call(K.tagMap,g))K.tag=K.tagMap[g]+E;else if(g==="!")K.tag="!"+E;else if(g==="!!")K.tag="tag:yaml.org,2002:"+E;else Z$(K,'undeclared tag handle "'+g+'"');return!0}function mY(K){let R=K.input.charCodeAt(K.position);if(R!==38)return!1;if(K.anchor!==null)Z$(K,"duplication of an anchor property");R=K.input.charCodeAt(++K.position);let k=K.position;while(R!==0&&!B$(R)&&!h$(R))R=K.input.charCodeAt(++K.position);if(K.position===k)Z$(K,"name of an anchor node must contain at least one character");return K.anchor=K.input.slice(k,K.position),!0}function fY(K){let R=K.input.charCodeAt(K.position);if(R!==42)return!1;R=K.input.charCodeAt(++K.position);let k=K.position;while(R!==0&&!B$(R)&&!h$(R))R=K.input.charCodeAt(++K.position);if(K.position===k)Z$(K,"name of an alias node must contain at least one character");let g=K.input.slice(k,K.position);if(!G.call(K.anchorMap,g))Z$(K,'unidentified alias "'+g+'"');return K.result=K.anchorMap[g],g0(K,!0,-1),!0}function z3(K,R,k,g){let E=j4(K);if(h6(K),Y8(K,R),K.tag=null,K.anchor=null,K.kind=null,K.result=null,hY(K,k,g)&&K.kind==="mapping")return G8(K),!0;return F8(K),Y8(K,E),!1}function L1(K,R,k,g,E){let o,B,C=1,p=!1,y=!1,b=null,d,f,H$;if(K.depth>=K.maxDepth)Z$(K,"nesting exceeded maxDepth ("+K.maxDepth+")");if(K.depth+=1,K.listener!==null)K.listener("open",K);K.tag=null,K.anchor=null,K.kind=null,K.result=null;let W$=o=B=U===k||D===k;if(g){if(g0(K,!0,-1)){if(p=!0,K.lineIndent>R)C=1;else if(K.lineIndent===R)C=0;else if(K.lineIndent<R)C=-1}}if(C===1)while(!0){let N$=K.input.charCodeAt(K.position),z$=j4(K);if(p&&(N$===33&&K.tag!==null||N$===38&&K.anchor!==null))break;if(!M3(K)&&!mY(K))break;if(b===null)b=z$;if(g0(K,!0,-1)){if(p=!0,B=W$,K.lineIndent>R)C=1;else if(K.lineIndent===R)C=0;else if(K.lineIndent<R)C=-1}else B=!1}if(B)B=p||E;if(C===1||U===k){if(Y===k||W===k)f=R;else f=R+1;if(H$=K.position-K.lineStart,C===1)if(B&&(C1(K,H$)||hY(K,H$,f))||bY(K,f))y=!0;else{let N$=K.input.charCodeAt(K.position);if(b!==null&&W$&&!B&&N$!==124&&N$!==62&&z3(K,b,b.position-b.lineStart,f))y=!0;else if(o&&gY(K,f)||yY(K,f)||HJ(K,f))y=!0;else if(fY(K)){if(y=!0,K.tag!==null||K.anchor!==null)Z$(K,"alias node should not have any properties")}else if(vY(K,f,Y===k)){if(y=!0,K.tag===null)K.tag="?"}if(K.anchor!==null)b0(K,K.anchor,K.result)}else if(C===0)y=B&&C1(K,H$)}if(K.tag===null){if(K.anchor!==null)b0(K,K.anchor,K.result)}else if(K.tag==="?"){if(K.result!==null&&K.kind!=="scalar")Z$(K,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+K.kind+'"');for(let N$=0,z$=K.implicitTypes.length;N$<z$;N$+=1)if(d=K.implicitTypes[N$],d.resolve(K.result)){if(K.result=d.construct(K.result),K.tag=d.tag,K.anchor!==null)b0(K,K.anchor,K.result);break}}else if(K.tag!=="!"){if(G.call(K.typeMap[K.kind||"fallback"],K.tag))d=K.typeMap[K.kind||"fallback"][K.tag];else{d=null;let N$=K.typeMap.multi[K.kind||"fallback"];for(let z$=0,u$=N$.length;z$<u$;z$+=1)if(K.tag.slice(0,N$[z$].tag.length)===N$[z$].tag){d=N$[z$];break}}if(!d)Z$(K,"unknown tag !<"+K.tag+">");if(K.result!==null&&d.kind!==K.kind)Z$(K,"unacceptable node kind for !<"+K.tag+'> tag; it should be "'+d.kind+'", not "'+K.kind+'"');if(!d.resolve(K.result,K.tag))Z$(K,"cannot resolve a node with !<"+K.tag+"> explicit tag");else if(K.result=d.construct(K.result,K.tag),K.anchor!==null)b0(K,K.anchor,K.result)}if(K.listener!==null)K.listener("close",K);return K.depth-=1,K.tag!==null||K.anchor!==null||y}function R3(K){let R=K.position,k=!1,g;K.version=null,K.checkLineBreaks=K.legacy,K.tagMap=Object.create(null),K.anchorMap=Object.create(null);while((g=K.input.charCodeAt(K.position))!==0){if(g0(K,!0,-1),g=K.input.charCodeAt(K.position),K.lineIndent>0||g!==37)break;k=!0,g=K.input.charCodeAt(++K.position);let E=K.position;while(g!==0&&!B$(g))g=K.input.charCodeAt(++K.position);let o=K.input.slice(E,K.position),B=[];if(o.length<1)Z$(K,"directive name must not be less than one character in length");while(g!==0){while(J$(g))g=K.input.charCodeAt(++K.position);if(g===35){do g=K.input.charCodeAt(++K.position);while(g!==0&&!l(g));break}if(l(g))break;E=K.position;while(g!==0&&!B$(g))g=K.input.charCodeAt(++K.position);B.push(K.input.slice(E,K.position))}if(g!==0)O7(K);if(G.call(IY,o))IY[o](K,o,B);else Q0(K,'unknown document directive "'+o+'"')}if(g0(K,!0,-1),K.lineIndent===0&&K.input.charCodeAt(K.position)===45&&K.input.charCodeAt(K.position+1)===45&&K.input.charCodeAt(K.position+2)===45)K.position+=3,g0(K,!0,-1);else if(k)Z$(K,"directives end mark is expected");if(L1(K,K.lineIndent-1,U,!1,!0),g0(K,!0,-1),K.checkLineBreaks&&N.test(K.input.slice(R,K.position)))Q0(K,"non-ASCII line breaks are interpreted as content");if(K.documents.push(K.result),K.position===K.lineStart&&B7(K)){if(K.input.charCodeAt(K.position)===46)K.position+=3,g0(K,!0,-1);return}if(K.position<K.length-1)Z$(K,"end of the stream or a document separator is expected")}function cY(K,R){if(K=String(K),R=R||{},K.length!==0){if(K.charCodeAt(K.length-1)!==10&&K.charCodeAt(K.length-1)!==13)K+=`
103
+ `;if(K.charCodeAt(0)===65279)K=K.slice(1)}let k=new T$(K,R),g=K.indexOf("\x00");if(g!==-1)k.position=g,Z$(k,"null byte is not allowed in input");k.input+="\x00";while(k.input.charCodeAt(k.position)===32)k.lineIndent+=1,k.position+=1;while(k.position<k.length-1)R3(k);return k.documents}function pY(K,R,k){if(R!==null&&typeof R==="object"&&typeof k>"u")k=R,R=null;let g=cY(K,k);if(typeof R!=="function")return g;for(let E=0,o=g.length;E<o;E+=1)R(g[E])}function w3(K,R){let k=cY(K,R);if(k.length===0)return;else if(k.length===1)return k[0];throw new Z("expected a single document in the stream, but found more")}return zA.loadAll=pY,zA.load=w3,zA}var DP={},bg;function NX$(){if(bg)return DP;bg=1;let $=JY(),Z=GY(),X=HP(),J=Object.prototype.toString,G=Object.prototype.hasOwnProperty,Y=65279,W=9,D=10,U=13,A=32,Q=33,O=34,P=35,N=37,M=38,w=39,q=42,K$=44,l=45,J$=58,B$=61,h$=62,A$=63,m$=64,v$=91,A0=93,i=96,$$=123,r=124,Q$=125,T$={};T$[0]="\\0",T$[7]="\\a",T$[8]="\\b",T$[9]="\\t",T$[10]="\\n",T$[11]="\\v",T$[12]="\\f",T$[13]="\\r",T$[27]="\\e",T$[34]="\\\"",T$[92]="\\\\",T$[133]="\\N",T$[160]="\\_",T$[8232]="\\L",T$[8233]="\\P";let q$=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Z$=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Q0(B,C){if(C===null)return{};let p={},y=Object.keys(C);for(let b=0,d=y.length;b<d;b+=1){let f=y[b],H$=String(C[f]);if(f.slice(0,2)==="!!")f="tag:yaml.org,2002:"+f.slice(2);let W$=B.compiledTypeMap.fallback[f];if(W$&&G.call(W$.styleAliases,H$))H$=W$.styleAliases[H$];p[f]=H$}return p}function b0(B){let C,p,y=B.toString(16).toUpperCase();if(B<=255)C="x",p=2;else if(B<=65535)C="u",p=4;else if(B<=4294967295)C="U",p=8;else throw new Z("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+C+$.repeat("0",p-y.length)+y}let h6=1,G8=2;function F8(B){this.schema=B.schema||X,this.indent=Math.max(1,B.indent||2),this.noArrayIndent=B.noArrayIndent||!1,this.skipInvalid=B.skipInvalid||!1,this.flowLevel=$.isNothing(B.flowLevel)?-1:B.flowLevel,this.styleMap=Q0(this.schema,B.styles||null),this.sortKeys=B.sortKeys||!1,this.lineWidth=B.lineWidth||80,this.noRefs=B.noRefs||!1,this.noCompatMode=B.noCompatMode||!1,this.condenseFlow=B.condenseFlow||!1,this.quotingType=B.quotingType==='"'?G8:h6,this.forceQuotes=B.forceQuotes||!1,this.replacer=typeof B.replacer==="function"?B.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function j4(B,C){let p=$.repeat(" ",C),y=0,b="",d=B.length;while(y<d){let f,H$=B.indexOf(`
104
104
  `,y);if(H$===-1)f=B.slice(y),y=d;else f=B.slice(y,H$+1),y=H$+1;if(f.length&&f!==`
105
105
  `)b+=p;b+=f}return b}function Y8(B,C){return`
106
- `+$.repeat(" ",B.indent*C)}function IY(B,C){for(let p=0,y=B.implicitTypes.length;p<y;p+=1)if(B.implicitTypes[p].resolve(C))return!0;return!1}function T8(B){return B===A||B===W}function k4(B){return B>=32&&B<=126||B>=161&&B<=55295&&B!==8232&&B!==8233||B>=57344&&B<=65533&&B!==Y||B>=65536&&B<=1114111}function R1(B){return k4(B)&&B!==Y&&B!==U&&B!==D}function O7(B,C,p){let y=R1(B),b=y&&!T8(B);return(p?y:y&&B!==K$&&B!==v$&&B!==A0&&B!==$$&&B!==Q$)&&B!==P&&!(C===J$&&!b)||R1(C)&&!T8(C)&&B===P||C===J$&&b}function g0(B){return k4(B)&&B!==Y&&!T8(B)&&B!==l&&B!==A$&&B!==J$&&B!==K$&&B!==v$&&B!==A0&&B!==$$&&B!==Q$&&B!==P&&B!==M&&B!==x&&B!==Q&&B!==r&&B!==B$&&B!==h$&&B!==z&&B!==O&&B!==_&&B!==m$&&B!==i}function B7(B){return!T8(B)&&B!==J$}function w1(B,C){let p=B.charCodeAt(C),y;if(p>=55296&&p<=56319&&C+1<B.length){if(y=B.charCodeAt(C+1),y>=56320&&y<=57343)return(p-55296)*1024+y-56320+65536}return p}function vY(B){return/^\n* /.test(B)}let yY=1,HJ=2,bY=3,gY=4,C1=5;function hY(B,C,p,y,b,d,f,H$){let W$,N$=0,z$=null,u$=!1,_0=!1,mF=y!==-1,UJ=-1,AJ=g0(w1(B,0))&&B7(w1(B,B.length-1));if(C||f)for(W$=0;W$<B.length;N$>=65536?W$+=2:W$++){if(N$=w1(B,W$),!k4(N$))return C1;AJ=AJ&&O7(N$,z$,H$),z$=N$}else{for(W$=0;W$<B.length;N$>=65536?W$+=2:W$++){if(N$=w1(B,W$),N$===D){if(u$=!0,mF)_0=_0||W$-UJ-1>y&&B[UJ+1]!==" ",UJ=W$}else if(!k4(N$))return C1;AJ=AJ&&O7(N$,z$,H$),z$=N$}_0=_0||mF&&(W$-UJ-1>y&&B[UJ+1]!==" ")}if(!u$&&!_0){if(AJ&&!f&&!b(B))return yY;return d===G8?C1:HJ}if(p>9&&vY(B))return C1;if(!f)return _0?gY:bY;return d===G8?C1:HJ}function M3(B,C,p,y,b){B.dump=function(){if(C.length===0)return B.quotingType===G8?'""':"''";if(!B.noCompatMode){if(q$.indexOf(C)!==-1||Z$.test(C))return B.quotingType===G8?'"'+C+'"':"'"+C+"'"}let d=B.indent*Math.max(1,p),f=B.lineWidth===-1?-1:Math.max(Math.min(B.lineWidth,40),B.lineWidth-d),H$=y||B.flowLevel>-1&&p>=B.flowLevel;function W$(N$){return IY(B,N$)}switch(hY(C,H$,B.indent,f,W$,B.quotingType,B.forceQuotes&&!y,b)){case yY:return C;case HJ:return"'"+C.replace(/'/g,"''")+"'";case bY:return"|"+mY(C,B.indent)+fY(j4(C,d));case gY:return">"+mY(C,B.indent)+fY(j4(z3(C,f),d));case C1:return'"'+R3(C)+'"';default:throw new Z("impossible error: invalid scalar style")}}()}function mY(B,C){let p=vY(B)?String(C):"",y=B[B.length-1]===`
106
+ `+$.repeat(" ",B.indent*C)}function IY(B,C){for(let p=0,y=B.implicitTypes.length;p<y;p+=1)if(B.implicitTypes[p].resolve(C))return!0;return!1}function T8(B){return B===A||B===W}function k4(B){return B>=32&&B<=126||B>=161&&B<=55295&&B!==8232&&B!==8233||B>=57344&&B<=65533&&B!==Y||B>=65536&&B<=1114111}function R1(B){return k4(B)&&B!==Y&&B!==U&&B!==D}function O7(B,C,p){let y=R1(B),b=y&&!T8(B);return(p?y:y&&B!==K$&&B!==v$&&B!==A0&&B!==$$&&B!==Q$)&&B!==P&&!(C===J$&&!b)||R1(C)&&!T8(C)&&B===P||C===J$&&b}function g0(B){return k4(B)&&B!==Y&&!T8(B)&&B!==l&&B!==A$&&B!==J$&&B!==K$&&B!==v$&&B!==A0&&B!==$$&&B!==Q$&&B!==P&&B!==M&&B!==q&&B!==Q&&B!==r&&B!==B$&&B!==h$&&B!==w&&B!==O&&B!==N&&B!==m$&&B!==i}function B7(B){return!T8(B)&&B!==J$}function w1(B,C){let p=B.charCodeAt(C),y;if(p>=55296&&p<=56319&&C+1<B.length){if(y=B.charCodeAt(C+1),y>=56320&&y<=57343)return(p-55296)*1024+y-56320+65536}return p}function vY(B){return/^\n* /.test(B)}let yY=1,HJ=2,bY=3,gY=4,C1=5;function hY(B,C,p,y,b,d,f,H$){let W$,N$=0,z$=null,u$=!1,_0=!1,mF=y!==-1,UJ=-1,AJ=g0(w1(B,0))&&B7(w1(B,B.length-1));if(C||f)for(W$=0;W$<B.length;N$>=65536?W$+=2:W$++){if(N$=w1(B,W$),!k4(N$))return C1;AJ=AJ&&O7(N$,z$,H$),z$=N$}else{for(W$=0;W$<B.length;N$>=65536?W$+=2:W$++){if(N$=w1(B,W$),N$===D){if(u$=!0,mF)_0=_0||W$-UJ-1>y&&B[UJ+1]!==" ",UJ=W$}else if(!k4(N$))return C1;AJ=AJ&&O7(N$,z$,H$),z$=N$}_0=_0||mF&&(W$-UJ-1>y&&B[UJ+1]!==" ")}if(!u$&&!_0){if(AJ&&!f&&!b(B))return yY;return d===G8?C1:HJ}if(p>9&&vY(B))return C1;if(!f)return _0?gY:bY;return d===G8?C1:HJ}function M3(B,C,p,y,b){B.dump=function(){if(C.length===0)return B.quotingType===G8?'""':"''";if(!B.noCompatMode){if(q$.indexOf(C)!==-1||Z$.test(C))return B.quotingType===G8?'"'+C+'"':"'"+C+"'"}let d=B.indent*Math.max(1,p),f=B.lineWidth===-1?-1:Math.max(Math.min(B.lineWidth,40),B.lineWidth-d),H$=y||B.flowLevel>-1&&p>=B.flowLevel;function W$(N$){return IY(B,N$)}switch(hY(C,H$,B.indent,f,W$,B.quotingType,B.forceQuotes&&!y,b)){case yY:return C;case HJ:return"'"+C.replace(/'/g,"''")+"'";case bY:return"|"+mY(C,B.indent)+fY(j4(C,d));case gY:return">"+mY(C,B.indent)+fY(j4(z3(C,f),d));case C1:return'"'+R3(C)+'"';default:throw new Z("impossible error: invalid scalar style")}}()}function mY(B,C){let p=vY(B)?String(C):"",y=B[B.length-1]===`
107
107
  `,d=y&&(B[B.length-2]===`
108
108
  `||B===`
109
109
  `)?"+":y?"":"-";return p+d+`
@@ -114,12 +114,12 @@ ${$}
114
114
  `:"")+L1(W$,C),b=d}return y}function L1(B,C){if(B===""||B[0]===" ")return B;let p=/ [^ ]/g,y,b=0,d,f=0,H$=0,W$="";while(y=p.exec(B)){if(H$=y.index,H$-b>C)d=f>b?f:H$,W$+=`
115
115
  `+B.slice(b,d),b=d+1;f=H$}if(W$+=`
116
116
  `,B.length-b>C&&f>b)W$+=B.slice(b,f)+`
117
- `+B.slice(f+1);else W$+=B.slice(b);return W$.slice(1)}function R3(B){let C="",p=0;for(let y=0;y<B.length;p>=65536?y+=2:y++){p=w1(B,y);let b=T$[p];if(!b&&k4(p)){if(C+=B[y],p>=65536)C+=B[y+1]}else C+=b||b0(p)}return C}function cY(B,C,p){let y="",b=B.tag;for(let d=0,f=p.length;d<f;d+=1){let H$=p[d];if(B.replacer)H$=B.replacer.call(p,String(d),H$);if(k(B,C,H$,!1,!1)||typeof H$>"u"&&k(B,C,null,!1,!1)){if(y!=="")y+=","+(!B.condenseFlow?" ":"");y+=B.dump}}B.tag=b,B.dump="["+y+"]"}function pY(B,C,p,y){let b="",d=B.tag;for(let f=0,H$=p.length;f<H$;f+=1){let W$=p[f];if(B.replacer)W$=B.replacer.call(p,String(f),W$);if(k(B,C+1,W$,!0,!0,!1,!0)||typeof W$>"u"&&k(B,C+1,null,!0,!0,!1,!0)){if(!y||b!=="")b+=Y8(B,C);if(B.dump&&D===B.dump.charCodeAt(0))b+="-";else b+="- ";b+=B.dump}}B.tag=d,B.dump=b||"[]"}function w3(B,C,p){let y="",b=B.tag,d=Object.keys(p);for(let f=0,H$=d.length;f<H$;f+=1){let W$="";if(y!=="")W$+=", ";if(B.condenseFlow)W$+='"';let N$=d[f],z$=p[N$];if(B.replacer)z$=B.replacer.call(p,N$,z$);if(!k(B,C,N$,!1,!1))continue;if(B.dump.length>1024)W$+="? ";if(W$+=B.dump+(B.condenseFlow?'"':"")+":"+(B.condenseFlow?"":" "),!k(B,C,z$,!1,!1))continue;W$+=B.dump,y+=W$}B.tag=b,B.dump="{"+y+"}"}function K(B,C,p,y){let b="",d=B.tag,f=Object.keys(p);if(B.sortKeys===!0)f.sort();else if(typeof B.sortKeys==="function")f.sort(B.sortKeys);else if(B.sortKeys)throw new Z("sortKeys must be a boolean or a function");for(let H$=0,W$=f.length;H$<W$;H$+=1){let N$="";if(!y||b!=="")N$+=Y8(B,C);let z$=f[H$],u$=p[z$];if(B.replacer)u$=B.replacer.call(p,z$,u$);if(!k(B,C+1,z$,!0,!0,!0))continue;let _0=B.tag!==null&&B.tag!=="?"||B.dump&&B.dump.length>1024;if(_0)if(B.dump&&D===B.dump.charCodeAt(0))N$+="?";else N$+="? ";if(N$+=B.dump,_0)N$+=Y8(B,C);if(!k(B,C+1,u$,!0,_0))continue;if(B.dump&&D===B.dump.charCodeAt(0))N$+=":";else N$+=": ";N$+=B.dump,b+=N$}B.tag=d,B.dump=b||"{}"}function w(B,C,p){let y=p?B.explicitTypes:B.implicitTypes;for(let b=0,d=y.length;b<d;b+=1){let f=y[b];if((f.instanceOf||f.predicate)&&(!f.instanceOf||typeof C==="object"&&C instanceof f.instanceOf)&&(!f.predicate||f.predicate(C))){if(p)if(f.multi&&f.representName)B.tag=f.representName(C);else B.tag=f.tag;else B.tag="?";if(f.represent){let H$=B.styleMap[f.tag]||f.defaultStyle,W$;if(J.call(f.represent)==="[object Function]")W$=f.represent(C,H$);else if(G.call(f.represent,H$))W$=f.represent[H$](C,H$);else throw new Z("!<"+f.tag+'> tag resolver accepts not "'+H$+'" style');B.dump=W$}return!0}}return!1}function k(B,C,p,y,b,d,f){if(B.tag=null,B.dump=p,!w(B,p,!1))w(B,p,!0);let H$=J.call(B.dump),W$=y;if(y)y=B.flowLevel<0||B.flowLevel>C;let N$=H$==="[object Object]"||H$==="[object Array]",z$,u$;if(N$)z$=B.duplicates.indexOf(p),u$=z$!==-1;if(B.tag!==null&&B.tag!=="?"||u$||B.indent!==2&&C>0)b=!1;if(u$&&B.usedDuplicates[z$])B.dump="*ref_"+z$;else{if(N$&&u$&&!B.usedDuplicates[z$])B.usedDuplicates[z$]=!0;if(H$==="[object Object]"){if(y&&Object.keys(B.dump).length!==0){if(K(B,C,B.dump,b),u$)B.dump="&ref_"+z$+B.dump}else if(w3(B,C,B.dump),u$)B.dump="&ref_"+z$+" "+B.dump}else if(H$==="[object Array]"){if(y&&B.dump.length!==0){if(B.noArrayIndent&&!f&&C>0)pY(B,C-1,B.dump,b);else pY(B,C,B.dump,b);if(u$)B.dump="&ref_"+z$+B.dump}else if(cY(B,C,B.dump),u$)B.dump="&ref_"+z$+" "+B.dump}else if(H$==="[object String]"){if(B.tag!=="?")M3(B,B.dump,C,d,W$)}else if(H$==="[object Undefined]")return!1;else{if(B.skipInvalid)return!1;throw new Z("unacceptable kind of an object to dump "+H$)}if(B.tag!==null&&B.tag!=="?"){let _0=encodeURI(B.tag[0]==="!"?B.tag.slice(1):B.tag).replace(/!/g,"%21");if(B.tag[0]==="!")_0="!"+_0;else if(_0.slice(0,18)==="tag:yaml.org,2002:")_0="!!"+_0.slice(18);else _0="!<"+_0+">";B.dump=_0+" "+B.dump}}return!0}function g(B,C){let p=[],y=[];q(B,p,y);let b=y.length;for(let d=0;d<b;d+=1)C.duplicates.push(p[y[d]]);C.usedDuplicates=Array(b)}function q(B,C,p){if(B!==null&&typeof B==="object"){let y=C.indexOf(B);if(y!==-1){if(p.indexOf(y)===-1)p.push(y)}else if(C.push(B),Array.isArray(B))for(let b=0,d=B.length;b<d;b+=1)q(B[b],C,p);else{let b=Object.keys(B);for(let d=0,f=b.length;d<f;d+=1)q(B[b[d]],C,p)}}}function o(B,C){C=C||{};let p=new F8(C);if(!p.noRefs)g(B,p);let y=B;if(p.replacer)y=p.replacer.call({"":y},"",y);if(k(p,0,y,!0,!0))return p.dump+`
118
- `;return""}return DP.dump=o,DP}var gg;function _X$(){if(gg)return pZ;gg=1;let $=BX$(),Z=NX$();function X(J,G){return function(){throw Error("Function yaml."+J+" is removed in js-yaml 4. Use yaml."+G+" instead, which is now safe by default.")}}return pZ.Type=J8(),pZ.Schema=hg(),pZ.FAILSAFE_SCHEMA=pg(),pZ.JSON_SCHEMA=rg(),pZ.CORE_SCHEMA=lg(),pZ.DEFAULT_SCHEMA=HP(),pZ.load=$.load,pZ.loadAll=$.loadAll,pZ.dump=Z.dump,pZ.YAMLException=GY(),pZ.types={binary:ag(),float:ng(),map:cg(),null:dg(),pairs:eg(),set:$h(),timestamp:ig(),bool:ug(),int:og(),merge:sg(),omap:tg(),seq:fg(),str:mg()},pZ.safeLoad=X("safeLoad","load"),pZ.safeLoadAll=X("safeLoadAll","loadAll"),pZ.safeDump=X("safeDump","dump"),pZ}var PX$=_X$(),FX$=QX$(PX$),{Type:lR$,Schema:iR$,FAILSAFE_SCHEMA:sR$,JSON_SCHEMA:aR$,CORE_SCHEMA:tR$,DEFAULT_SCHEMA:eR$,load:TX$,loadAll:$w$,dump:MX$,YAMLException:Zw$,types:Xw$,safeLoad:Jw$,safeLoadAll:Gw$,safeDump:Yw$}=FX$;var Dw$=H.record(H.string(),H.unknown());class Xh{format($){return $.message}parse($){return{message:$.trim()}}}var Sw$=H.object({slug:H.string(),title:H.string(),type:H.string(),entityId:H.string(),contentHash:H.string()});function YY($,Z){return Z?$.nullable().default(null):$}function AP($){switch($.type){case"string":return YY(H.string(),$.optional);case"number":return YY(H.number(),$.optional);case"enum":return YY(H.enum($.options),$.optional);case"object":{let Z={};for(let[X,J]of Object.entries($.fields))Z[X]=AP(J);return YY(H.object(Z),$.optional)}case"array":{let Z=H.array(zX$($));if($.minItems!==void 0)Z=Z.min($.minItems);if($.length!==void 0)Z=Z.length($.length);return YY(Z,$.optional)}}}function zX$($){let{items:Z}=$;switch(Z.type){case"string":return H.string();case"number":return H.number();case"enum":return H.enum(Z.options);case"object":{let X={};for(let[J,G]of Object.entries(Z.fields))X[J]=AP(G);return H.object(X)}}}function UP($,Z){switch(Z.type){case"string":case"enum":return{key:$,label:Z.label,type:"string"};case"number":return{key:$,label:Z.label,type:"number"};case"object":return{key:$,label:Z.label,type:"object",children:Object.entries(Z.fields).map(([X,J])=>UP(X,J))};case"array":{let X={key:$,label:Z.label,type:"array"};switch(Z.items.type){case"string":case"enum":return X.itemType="string",X;case"number":return X.itemType="number",X;case"object":return X.itemType="object",X.itemMappings=Object.entries(Z.items.fields).map(([J,G])=>UP(J,G)),X}}}}function Jh($,Z){let X={};for(let[Y,W]of Object.entries(Z.fields))X[Y]=AP(W);let J=H.object(X),G=new XY(J,{title:Z.title,mappings:Object.entries(Z.fields).map(([Y,W])=>UP(Y,W))});return{name:$,description:Z.description,schema:J,formatter:G,requiredPermission:Z.requiredPermission??"public",layout:{component:Z.layout,...Z.fullscreen!==void 0?{fullscreen:Z.fullscreen}:{}},...Z.runtimeScripts?{runtimeScripts:Z.runtimeScripts}:{}}}function RX$($){let Z={};for(let[X,J]of Object.entries($.sections))Z[X]=Jh(X,J);return Z}var wX$=m_.omit({url:!0,analyticsScript:!0}),Gh=wX$.extend({title:H.string().optional().describe("Optional site title override"),description:H.string().optional().describe("Optional site description override")});function Yh($){return Gh.parse(WY($).frontmatter)}async function CX$($){let X=(await $.listEntities({entityType:"site-info",options:{limit:1}}))[0];if(!X)throw Error("Site info not found \u2014 create a site-info entity");return Yh(X.content)}function KP($,Z={}){let X=Wh($),J=Wh(Z.sharedDomain??"rizom.ai").replace(/^\./,""),G=`.${J}`;if(X.endsWith(G)){let Y=X.slice(0,-G.length);if(Y.length>0&&!Y.includes("."))return`${Y}-preview.${J}`}return`preview.${X}`}function Wh($){return $.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class $J{static instance=null;entityDisplay;constructor(){}static getInstance(){return $J.instance??=new $J,$J.instance}configure($){this.entityDisplay=$}static resetInstance(){$J.instance=null}hasRoute($){return this.entityDisplay?.[$]!==void 0}generateUrl($,Z){let X=this.entityDisplay?.[$];if(X)return`/${X.pluralName??X.label.toLowerCase()+"s"}/${Z}`;return`/${C3($)}/${Z}`}}var Hh=["primary","secondary"];var LX$=H.custom(($)=>typeof $==="function","Expected a Preact component"),qX$=H.strictObject({show:H.boolean().optional(),label:H.string().min(1).optional(),slot:H.enum(Hh).optional(),priority:H.number().optional()}),EX$=H.strictObject({id:H.string().min(1),template:H.string().min(1),content:H.unknown().optional(),dataQuery:H.looseObject({entityType:H.string().optional(),template:H.string().optional(),query:H.record(H.string(),H.unknown()).optional()}).optional(),order:H.number().optional()}),xX$=H.strictObject({id:H.string().min(1),path:H.string().startsWith("/"),title:H.string().optional(),pageLabel:H.string().optional(),description:H.string().optional(),sections:H.array(EX$).optional(),layout:H.string().min(1).optional(),fullscreen:H.boolean().optional(),pluginId:H.string().optional(),sourceEntityType:H.string().optional(),external:H.boolean().optional(),navigation:qX$.optional()}),SX$=H.strictObject({label:H.string().min(1),pluralName:H.string().min(1).optional(),layout:H.string().min(1).optional(),paginate:H.boolean().optional(),pageSize:H.number().int().positive().optional(),navigation:H.strictObject({show:H.boolean().optional(),slot:H.enum(Hh).optional(),priority:H.number().optional()}).optional()}),jX$=H.strictObject({schema:H.custom(($)=>$ instanceof H.ZodType,"Expected a Zod schema"),component:H.custom(($)=>typeof $==="function","Expected a Preact component"),title:H.string().min(1),description:H.string(),requiredPermission:H.enum(["admin","trusted","public"]).optional(),fullscreen:H.boolean().optional()}),Dh=H.strictObject({namespace:H.string().min(1),sections:H.record(H.string(),jX$)}),kX$=H.record(H.string(),H.json()),IX$=H.record(H.string(),H.record(H.string(),kX$)),Uh=H.strictObject({layouts:H.record(H.string(),LX$).refine(($)=>typeof $.default==="function",{message:'Site layouts must include a "default" component'}),routes:H.array(xX$),content:IX$.optional(),sections:H.union([Dh,H.array(Dh)]).optional(),themeOverride:H.string().optional(),headScripts:H.array(H.string()).optional(),entityDisplay:H.record(H.string(),SX$),staticAssets:H.record(H.string(),H.string()).optional()}).superRefine(($,Z)=>{let X=new Set;for(let[Y,W]of $.routes.entries()){if(X.has(W.id))Z.addIssue({code:"custom",path:["routes",Y,"id"],message:`Duplicate route id "${W.id}"`});X.add(W.id);let D=W.layout??"default";if(!$.layouts[D])Z.addIssue({code:"custom",path:["routes",Y,"layout"],message:`Unknown layout "${D}"`})}let J=Array.isArray($.sections)?$.sections:$.sections?[$.sections]:[],G=new Map(J.map((Y)=>[Y.namespace,Y]));if(G.size!==J.length)Z.addIssue({code:"custom",path:["sections"],message:"Section group namespaces must be unique"});for(let[Y,W]of Object.entries($.content??{})){let D=G.get(Y);if(!D){Z.addIssue({code:"custom",path:["content",Y],message:`Content namespace "${Y}" has no section group`});continue}for(let[U,A]of Object.entries(W)){let Q=D.sections[U];if(!Q){Z.addIssue({code:"custom",path:["content",Y,U],message:`Content section "${Y}.${U}" is not defined`});continue}let O=Q.schema.safeParse(A);if(!O.success)Z.addIssue({code:"custom",path:["content",Y,U],message:`Content does not satisfy the "${Y}.${U}" schema: ${H.prettifyError(O.error)}`})}}});var vX$=H.string();function yX$($){return $!==null&&typeof $==="object"&&!Array.isArray($)}var bX$=H.custom(($)=>{if(!yX$($))return!1;let{plugin:Z,...X}=$;if(Z!==void 0&&typeof Z!=="function")return!1;return Uh.safeParse(X).success});var VP=H.enum(["file_operations","content_operations","data_processing","batch_processing"]),gX$=H.object({pluginId:H.string().optional(),progressToken:H.union([H.string(),H.number()]).optional(),operationType:VP,operationTarget:H.string().optional(),interfaceType:H.string().optional(),conversationId:H.string().optional(),channelId:H.string().optional(),requestedByActor:X7.optional(),requestedByUserId:H.string().optional(),requestedByInterface:H.string().optional(),silent:H.boolean().optional(),provenance:G7.optional()}),Y7=H.object({pluginId:H.string().optional(),progressToken:H.union([H.string(),H.number()]).optional(),operationType:VP,operationTarget:H.string().optional(),interfaceType:H.string().optional(),conversationId:H.string().optional(),channelId:H.string().optional(),requestedByActor:X7.optional(),requestedByUserId:H.string().optional(),requestedByInterface:H.string().optional(),silent:H.boolean().optional(),provenance:G7.optional(),rootJobId:H.string()}),NC$=H.enum(["none","skip","replace","coalesce"]);var hX$=H.object({id:H.string(),type:H.string(),data:H.string(),status:H.enum(["pending","processing","completed","failed"]),source:H.string().nullable(),priority:H.number(),retryCount:H.number(),maxRetries:H.number(),lastError:H.string().nullable(),createdAt:H.number(),scheduledFor:H.number(),startedAt:H.number().nullable(),completedAt:H.number().nullable(),attemptId:H.string().nullable(),workerSlotId:H.string().nullable(),workerSessionId:H.string().nullable(),leaseExpiresAt:H.number().nullable(),attemptHeartbeatAt:H.number().nullable(),runtimeUpdatedAt:H.number().nullable(),metadata:Y7,progress:H.custom(($)=>typeof $==="object"&&$!==null&&("progress"in $)&&typeof $.progress==="number").nullable(),result:H.unknown().nullable().optional()}),E4=15000;var QP=H.enum(["pending","processing","completed","failed"]),Ah=H.enum(["completed","failed"]),O$={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},mX$=H.object({id:H.string(),type:H.string(),status:QP,data:H.unknown(),result:H.unknown().optional(),lastError:H.string().optional().nullable(),attempts:H.number(),maxRetries:H.number(),priority:H.number(),createdAt:H.date(),updatedAt:H.date(),processedAt:H.date().optional().nullable(),completedAt:H.date().optional().nullable(),failedAt:H.date().optional().nullable()}),fX$=H.object({jobId:H.string(),type:H.string(),status:Ah,result:H.unknown().optional(),error:H.string().optional()}),OP=H.object({success:H.literal(!1),error:H.string().optional()}),RA=H.object({id:H.string(),type:H.enum(["job","batch"]),status:QP,message:H.string().optional(),progress:H.object({current:H.number(),total:H.number(),percentage:H.number()}).optional(),aggregationKey:H.string().optional(),batchDetails:H.object({totalOperations:H.number(),completedOperations:H.number(),failedOperations:H.number(),currentOperation:H.string().optional(),errors:H.array(H.string()).optional()}).optional(),jobDetails:H.object({jobType:H.string(),priority:H.number(),retryCount:H.number()}).optional(),metadata:Y7});var m=TZ("job_queue",{id:X$("id").primaryKey().$defaultFn(()=>qZ()),type:X$("type").notNull(),data:X$("data").notNull(),result:X$("result",{mode:"json"}),progress:X$("progress",{mode:"json"}).$type(),source:X$("source"),metadata:X$("metadata",{mode:"json"}).$type().notNull(),status:X$("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:a$("priority").notNull().default(0),retryCount:a$("retryCount").notNull().default(0),maxRetries:a$("maxRetries").notNull().default(3),lastError:X$("lastError"),createdAt:a$("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:a$("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:a$("startedAt"),completedAt:a$("completedAt"),attemptId:X$("attemptId"),workerSlotId:X$("workerSlotId"),workerSessionId:X$("workerSessionId"),leaseExpiresAt:a$("leaseExpiresAt"),attemptHeartbeatAt:a$("attemptHeartbeatAt"),runtimeUpdatedAt:a$("runtimeUpdatedAt")},($)=>({queueReadyIdx:ZZ("idx_job_queue_ready").on($.status,$.priority,$.scheduledFor),jobTypeIdx:ZZ("idx_job_queue_type").on($.type,$.status),runtimeUpdatesIdx:ZZ("idx_job_queue_runtime_updates").on($.runtimeUpdatedAt,$.id),jobSourceIdx:ZZ("idx_job_queue_source").on($.source)})),l$=TZ("job_worker_sessions",{slotId:X$("slotId").primaryKey(),sessionId:X$("sessionId").notNull().unique(),startedAt:a$("startedAt").notNull(),heartbeatAt:a$("heartbeatAt").notNull(),expiresAt:a$("expiresAt").notNull().default(0)},($)=>({heartbeatIdx:ZZ("idx_job_worker_sessions_heartbeat").on($.heartbeatAt),expiresIdx:ZZ("idx_job_worker_sessions_expires").on($.expiresAt)}));function Kh($){return y6({url:$.url,schema:{jobQueue:m,jobWorkerSessions:l$},authToken:$.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN"})}class BP{declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor($,Z){this.logger=$.child("HandlerRegistry"),this.mode=Z}registerHandler($,Z,X){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has($))throw Error(`Job handler is already registered for type: ${$}`);if(this.declarations.set($,{handler:Z,pluginId:X}),this.validators.set($,Z),this.mode!=="validation-only")this.handlers.set($,Z);this.logger.debug("Registered job execution declaration",{type:$,pluginId:X,mode:this.mode})}unregisterHandler($){this.declarations.delete($),this.handlers.delete($),this.validators.delete($),this.logger.debug("Unregistered job handler",{type:$})}unregisterPluginHandlers($){let Z=[...this.declarations.entries()].filter(([,X])=>X.pluginId===$).map(([X])=>X);for(let X of Z)this.declarations.delete(X),this.handlers.delete(X),this.validators.delete(X);if(Z.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:$,count:Z.length,types:Z})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([$],[Z])=>$.localeCompare(Z)).map(([$,Z])=>Object.freeze({type:$,pluginId:Z.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){if(!this.finalizedRegistrations)throw Error("Job handler registrations are not finalized");return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getHandler($){return this.handlers.get($)}getValidator($){return this.validators.get($)}}var cX$=H.looseObject({deduplicationKey:H.string().optional()});class NP{findDuplicate($,Z,X){if(!Z||Z==="none")return null;let J=this.filterByDeduplicationKey($,X).sort((Y,W)=>W.createdAt-Y.createdAt||W.id.localeCompare(Y.id)),G=J.find((Y)=>Y.status===O$.PENDING)??null;if(Z==="skip"||Z==="replace")return G;return G??J[0]??null}filterByDeduplicationKey($,Z){if(!Z)return $;return $.filter((X)=>{let J=cX$.safeParse(X.metadata);return J.success&&J.data.deduplicationKey===Z})}}var pX$=2000,dX$=5,uX$=40,oX$=new E_;class _P{db;transactionClient;databaseUrl;logger;deduplicator=new NP;writeRetryBudgetMs;constructor($,Z,X,J,G){this.db=$,this.transactionClient=Z,this.databaseUrl=X,this.logger=J.child("JobQueueRepository"),this.writeRetryBudgetMs=G?.writeRetryBudgetMs??pX$}async insert($){await this.db.insert(m).values($)}async enqueueAtomic($){return oX$.run(this.databaseUrl,async()=>{let Z=await this.acquireWriteTransaction($);try{let X=await this.decideEnqueue(Z,$);return await this.commitWriteTransaction(Z,$),X}catch(X){if(!Z.closed)try{await Z.rollback()}catch(J){this.logger.error("Failed to roll back atomic enqueue",{type:$.jobData.type,rollbackError:J})}throw X}finally{Z.close()}})}async decideEnqueue($,Z){let{jobData:X,strategy:J,deduplicationKey:G,beforeInsert:Y}=Z,W=J??"none",D=async()=>{await Y?.(),await this.insertJob($,X)};if(W==="none")return await D(),{kind:"inserted",jobId:X.id};let U=await this.getActiveDeduplicationCandidates($,X.type),A=this.deduplicator.findDuplicate(U,W,G);if(!A)return await D(),{kind:"inserted",jobId:X.id};if(W==="skip")return{kind:"skipped",jobId:A.id};if(W==="coalesce"){if((await $.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),A.id,A.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${A.id}`);return{kind:"coalesced",jobId:A.id}}await Y?.();let Q=Date.now();if((await $.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[O$.FAILED,"Replaced by newer job",Q,Q,A.id,O$.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${A.id}`);return await this.insertJob($,X),{kind:"replaced",jobId:X.id,replacedJobId:A.id}}async getActiveDeduplicationCandidates($,Z){return(await $.execute({sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[Z,O$.PENDING,O$.PROCESSING]})).rows.map((J)=>this.parseDeduplicationCandidate(J))}parseDeduplicationCandidate($){let{id:Z,status:X,createdAt:J,metadata:G}=$;if(typeof Z!=="string"||X!==O$.PENDING&&X!==O$.PROCESSING||typeof J!=="number"&&typeof J!=="bigint"||typeof G!=="string")throw Error("Invalid active job row returned during atomic enqueue");let Y=JSON.parse(G);return{id:Z,status:X,createdAt:Number(J),metadata:Y}}async insertJob($,Z){if((await $.execute({sql:"INSERT INTO `job_queue` (\n `id`, `type`, `data`, `result`, `source`, `metadata`,\n `status`, `priority`, `retryCount`, `maxRetries`,\n `lastError`, `createdAt`, `scheduledFor`, `startedAt`,\n `completedAt`\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",args:[Z.id,Z.type,Z.data,this.serializeJson(Z.result),Z.source,JSON.stringify(Z.metadata),Z.status,Z.priority,Z.retryCount,Z.maxRetries,Z.lastError,Z.createdAt,Z.scheduledFor,Z.startedAt,Z.completedAt]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${Z.id}`)}serializeJson($){if($===void 0||$===null)return null;return JSON.stringify($)}commitWriteTransaction($,Z){return this.retryOnConflict("commit",Z,async()=>{await $.commit()},(X)=>this.isSerializationConflict(X)&&!$.closed)}acquireWriteTransaction($){return this.retryOnConflict("acquire",$,()=>this.transactionClient.transaction("write"),(Z)=>this.isSerializationConflict(Z))}async retryOnConflict($,Z,X,J,G=Date.now()+this.writeRetryBudgetMs,Y=1){try{return await X()}catch(W){if(!J(W))throw W;let D=Math.min(dX$*2**(Y-1),uX$),U=D/2+Math.random()*(D/2);if(Date.now()+U>=G)throw this.transactionConflictError($,Z,Y,W);return await new Promise((A)=>setTimeout(A,U)),this.retryOnConflict($,Z,X,J,G,Y+1)}}transactionConflictError($,Z,X,J){let G=Z.strategy??"none",Y=Z.deduplicationKey?"present":"absent";return Error(`Failed to ${$} atomic enqueue transaction for type "${Z.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${X} attempts (strategy: ${G}, key: ${Y})`,{cause:J})}isSerializationConflict($){for(let Z=$;Z!==void 0;){let X=typeof Z==="object"&&Z!==null&&"code"in Z?String(Z.code):"",J=d$(Z,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(X)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(J))return!0;Z=Z instanceof Error?Z.cause:void 0}return!1}async startWorkerSession($,Z,X=Date.now(),J=E4){let G=X+J;await this.db.insert(l$).values({slotId:$,sessionId:Z,startedAt:X,heartbeatAt:X,expiresAt:G}).onConflictDoUpdate({target:l$.slotId,set:{sessionId:Z,startedAt:X,heartbeatAt:X,expiresAt:G}})}async heartbeatWorkerSession($,Z,X=Date.now(),J=E4){return(await this.db.update(l$).set({heartbeatAt:X,expiresAt:X+J}).where(F$(c(l$.slotId,$),c(l$.sessionId,Z))).returning({slotId:l$.slotId})).length===1}async endWorkerSession($,Z){return(await this.db.delete(l$).where(F$(c(l$.slotId,$),c(l$.sessionId,Z))).returning({slotId:l$.slotId})).length===1}async complete($,Z,X){let J=Date.now(),Y=(await this.db.update(m).set({status:O$.COMPLETED,result:Z,lastError:null,completedAt:J,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(J)}).where(this.attemptWriteGuard($,X)).returning({id:m.id})).length===1;if(Y)this.logger.debug("Job completed",{jobId:$,hasResult:Z!==void 0});return Y}async update($,Z,X){let G=(await this.db.update(m).set({data:JSON.stringify(Z)}).where(this.attemptWriteGuard($,X)).returning({id:m.id})).length===1;if(G)this.logger.debug("Job data updated",{jobId:$});return G}async recordAttemptProgress($,Z,X,J=Date.now()){return(await this.db.update(m).set({attemptHeartbeatAt:J,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(J),progress:X}).where(this.attemptWriteGuard($,Z)).returning({id:m.id})).length===1}async renewAttemptLease($,Z,X,J){return(await this.db.update(m).set({attemptHeartbeatAt:X,leaseExpiresAt:X+J}).where(this.attemptWriteGuard($,Z)).returning({id:m.id})).length===1}async fail($,Z,X,J=Date.now()){let Y=(await this.db.select({retryCount:m.retryCount,maxRetries:m.maxRetries,type:m.type,scheduledFor:m.scheduledFor,startedAt:m.startedAt,runtimeUpdatedAt:m.runtimeUpdatedAt}).from(m).where(this.attemptWriteGuard($,X)).limit(1))[0];if(!Y)return!1;let W=Y.retryCount<Y.maxRetries,D=W?Y.retryCount+1:Y.retryCount,U=Math.min(1000*2**Y.retryCount,60000),A=W?J+U:Y.scheduledFor;if((await this.db.update(m).set({status:W?O$.PENDING:O$.FAILED,retryCount:D,lastError:Z.message,scheduledFor:A,completedAt:W?null:J,runtimeUpdatedAt:W?Y.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(J),startedAt:W?null:Y.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(F$(this.attemptWriteGuard($,X),c(m.retryCount,Y.retryCount))).returning({id:m.id})).length!==1)return!1;if(W)this.logger.debug("Job scheduled for retry",{jobId:$,retryCount:D,backoffMs:U,scheduledFor:new Date(A).toISOString()});else this.logger.error("Job failed after max retries",{jobId:$,type:Y.type,retryCount:Y.retryCount,error:Z.message});return!0}async getStatus($){return(await this.db.select().from(m).where(c(m.id,$)).limit(1))[0]??null}async getStatusByEntityId($){return(await this.db.select().from(m).where(N`json_extract(${m.data}, '$.id') = ${$}`).orderBy(PZ(m.createdAt)).limit(1))[0]??null}async getStats(){let $=await this.db.select({status:m.status,count:N`count(*)`}).from(m).groupBy(m.status),Z={pending:0,processing:0,failed:0,completed:0,total:0};for(let X of $){let J=Number(X.count);Z[X.status]=J,Z.total+=J}return Z}async getDiagnostics($=Date.now()){let[Z,X,J]=await Promise.all([this.db.select({type:m.type,status:m.status,count:N`count(*)`}).from(m).groupBy(m.type,m.status),this.db.select({oldestPendingAt:N`min(case when ${m.status} = ${O$.PENDING} then ${m.createdAt} end)`,duePending:N`coalesce(sum(case when ${m.status} = ${O$.PENDING} and ${m.scheduledFor} <= ${$} then 1 else 0 end), 0)`,oldestDuePendingAt:N`min(case when ${m.status} = ${O$.PENDING} and ${m.scheduledFor} <= ${$} then ${m.scheduledFor} end)`,latestClaimAt:N`max(${m.startedAt})`,oldestProcessingAt:N`min(case when ${m.status} = ${O$.PROCESSING} then ${m.startedAt} end)`,staleLeaseCount:N`coalesce(sum(case when ${m.status} = ${O$.PROCESSING} and ${m.leaseExpiresAt} is not null and ${m.leaseExpiresAt} <= ${$} then 1 else 0 end), 0)`}).from(m),this.db.select({total:N`count(*)`,active:N`coalesce(sum(case when ${l$.expiresAt} > ${$} then 1 else 0 end), 0)`,stale:N`coalesce(sum(case when ${l$.expiresAt} <= ${$} then 1 else 0 end), 0)`,latestHeartbeatAt:N`max(${l$.heartbeatAt})`}).from(l$)]),G={pending:0,processing:0,completed:0,failed:0},Y=Z.map((A)=>{let Q=Number(A.count);return G[A.status]+=Q,{type:A.type,status:A.status,count:Q}}),W=X[0],D=J[0],U=(A)=>A===null||A===void 0?null:Math.max(0,$-Number(A));return{totals:G,byType:Y,oldestPendingAgeMs:U(W?.oldestPendingAt),duePending:Number(W?.duePending??0),oldestDuePendingAgeMs:U(W?.oldestDuePendingAt),latestClaimAgeMs:U(W?.latestClaimAt),oldestProcessingAgeMs:U(W?.oldestProcessingAt),staleLeaseCount:Number(W?.staleLeaseCount??0),workerSessions:{total:Number(D?.total??0),active:Number(D?.active??0),stale:Number(D?.stale??0),latestHeartbeatAgeMs:U(D?.latestHeartbeatAt)}}}async getRuntimeUpdates($,Z){return(await this.db.select().from(m).where(N`(${m.runtimeUpdatedAt}, ${m.id}) > (${$.updatedAt}, ${$.jobId})`).orderBy(v0(m.runtimeUpdatedAt),v0(m.id)).limit(Z)).map((J)=>({job:J,cursor:{updatedAt:J.runtimeUpdatedAt??0,jobId:J.id}}))}async cleanup($){let Z=Date.now()-$;return(await this.db.delete(m).where(F$(x9(c(m.status,O$.COMPLETED),c(m.status,O$.FAILED)),k6(m.completedAt,Z)))).rowsAffected}async getActiveJobs($){let Z=x9(c(m.status,O$.PENDING),c(m.status,O$.PROCESSING)),X=$&&$.length>0?F$(Z,Z8(m.type,$)):Z;return this.db.select().from(m).where(X).orderBy(PZ(m.createdAt))}async getFailedJobs($){let Z=c(m.status,O$.FAILED),X=$&&$.length>0?F$(Z,Z8(m.type,$)):Z;return this.db.select().from(m).where(X).orderBy(PZ(m.createdAt))}async claimNextReady($){let{now:Z,attemptId:X,workerSlotId:J,workerSessionId:G,leaseDurationMs:Y,executableTypes:W}=$,D=this.db.select({slotId:l$.slotId}).from(l$).where(F$(c(l$.slotId,J),c(l$.sessionId,G),dX(l$.expiresAt,Z))),U=this.db.select({slotId:l$.slotId}).from(l$).where(F$(c(l$.slotId,m.workerSlotId),c(l$.sessionId,m.workerSessionId))),A=this.db.select({slotId:l$.slotId}).from(l$).where(F$(c(l$.slotId,m.workerSlotId),c(l$.sessionId,m.workerSessionId),k6(l$.expiresAt,Z))),Q=F$(c(m.status,O$.PROCESSING),x9(C4(m.attemptId),GA(U),F$(k6(m.leaseExpiresAt,Z),dG(A)))),O=N`${m.status} = ${O$.PROCESSING} AND ${m.retryCount} + 1 > ${m.maxRetries}`,P=this.db.select({id:m.id}).from(m).where(F$(Z8(m.type,W),x9(F$(c(m.status,O$.PENDING),k6(m.scheduledFor,Z)),Q))).orderBy(v0(m.priority),v0(m.createdAt)).limit(1),M=(await this.db.update(m).set({status:N`CASE WHEN ${O} THEN ${O$.FAILED} ELSE ${O$.PROCESSING} END`,retryCount:N`CASE WHEN ${m.status} = ${O$.PROCESSING} THEN ${m.retryCount} + 1 ELSE ${m.retryCount} END`,lastError:N`CASE WHEN ${m.status} = ${O$.PROCESSING} THEN 'Attempt lease expired' ELSE ${m.lastError} END`,startedAt:N`CASE WHEN ${O} THEN ${m.startedAt} ELSE ${Z} END`,completedAt:N`CASE WHEN ${O} THEN ${Z} ELSE NULL END`,attemptId:N`CASE WHEN ${O} THEN ${m.attemptId} ELSE ${X} END`,workerSlotId:N`CASE WHEN ${O} THEN ${m.workerSlotId} ELSE ${J} END`,workerSessionId:N`CASE WHEN ${O} THEN ${m.workerSessionId} ELSE ${G} END`,leaseExpiresAt:N`CASE WHEN ${O} THEN ${m.leaseExpiresAt} ELSE ${Z+Y} END`,attemptHeartbeatAt:N`CASE WHEN ${O} THEN ${m.attemptHeartbeatAt} ELSE ${Z} END`,runtimeUpdatedAt:N`CASE WHEN ${O} THEN ${this.nextRuntimeUpdatedAt(Z)} ELSE ${m.runtimeUpdatedAt} END`}).where(F$(Z8(m.id,P),dG(D))).returning())[0];if(M?.status!==O$.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:M.id,attemptId:M.attemptId,workerSlotId:J,workerSessionId:G}),M}nextRuntimeUpdatedAt($){return N`max(${$}, coalesce((select max(${m.runtimeUpdatedAt}) from ${m}), 0) + 1)`}attemptWriteGuard($,Z){return Z?F$(c(m.id,$),c(m.status,O$.PROCESSING),c(m.attemptId,Z)):F$(c(m.id,$),C4(m.attemptId),x9(c(m.status,O$.PENDING),c(m.status,O$.PROCESSING)))}}import{AsyncLocalStorage as nX$}from"async_hooks";class ZJ{storage=new nX$;static createFresh(){return new ZJ}constructor(){}current(){return this.storage.getStore()}run($,Z,X){if(Z.length===0)throw Error("Operation ID must not be empty");let J=G7.parse($),G=rX$(J);return this.storage.run(Object.freeze({provenance:G,operationId:Z}),X)}}function rX$($){if(Object.freeze($.projectionLineage),$.sourceEntity)Object.freeze($.sourceEntity);return Object.freeze($)}class PP{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${qZ()}`;directWorkerSessionId=qZ();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh($,Z,X){return new PP($,Z??M1.getInstance(),X)}constructor($,Z,X){let{db:J,client:G,url:Y}=Kh($);this.client=G,this.databaseUrl=Y,this.logger=Z.child("JobQueueService"),this.operationContext=X?.operationContext??ZJ.createFresh(),this.projectionAdmission=X?.projectionAdmission,this.handlerRegistry=new BP(this.logger,X?.handlerRegistrationMode??"combined"),this.repository=new _P(J,G,Y,this.logger),this.directLeaseDurationMs=$.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await b6(this.client,this.databaseUrl)}catch($){this.logger.warn("Failed to enable WAL mode (non-fatal)",$)}finally{this.walInitializationSettled=!0,this.closeClientWhenReady()}}closeClientWhenReady(){if(!this.closeRequested||this.inFlightEnqueues>0||this.walInitialization!==null&&!this.walInitializationSettled)return;this.closeClient()}closeClient(){if(this.clientClosed)return;this.clientClosed=!0,this.client.close()}registerHandler($,Z,X){this.handlerRegistry.registerHandler($,Z,X)}unregisterHandler($){this.handlerRegistry.unregisterHandler($)}unregisterPluginHandlers($){this.handlerRegistry.unregisterPluginHandlers($)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler($){return this.handlerRegistry.getHandler($)}getValidator($){return this.handlerRegistry.getValidator($)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue($){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated($)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated($){let{type:Z,data:X,options:J}=$,G=this.handlerRegistry.getValidator(Z);if(!G)throw Error(`No job type declared: ${Z}`);let Y=G.validateAndParse(X);if(Y===null)throw Error(`Invalid job data for type: ${Z}`);let W=Date.now(),D=qZ(),U=J?.rootJobId??this.operationContext.current()?.provenance.rootJobId??D,A=this.createJobProvenance(D,U,J),Q=J?.metadata??{operationType:"data_processing"},{provenance:O,...P}=Q,_={id:D,type:Z,data:JSON.stringify(Y),status:O$.PENDING,priority:J?.priority??0,maxRetries:J?.maxRetries??3,retryCount:0,source:J?.source??null,metadata:{...P,...J?.deduplicationKey&&{deduplicationKey:J.deduplicationKey},rootJobId:U,provenance:A},createdAt:W,scheduledFor:J?.delayMs?W+J.delayMs:W,result:null,lastError:null,startedAt:null,completedAt:null},M;try{let z=await this.repository.enqueueAtomic({jobData:_,strategy:J?.deduplication,deduplicationKey:J?.deduplicationKey,beforeInsert:async()=>{M=await this.projectionAdmission?.reserveJobAdmission(A)}});if(M?.commit(),z.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:Z,existingJobId:z.jobId});else if(z.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:Z,existingJobId:z.jobId});else{if(z.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:Z,oldJobId:z.replacedJobId});this.logger.debug("Job enqueued",{id:z.jobId,type:Z,priority:_.priority,rootJobId:_.metadata.rootJobId})}return z.jobId}catch(z){throw M?.rollback(),this.logger.error("Failed to enqueue job",{type:Z,error:d$(z)}),z}}createJobProvenance($,Z,X){let J=this.operationContext.current(),G=X?.metadata.provenance??J?.provenance,Y=G?.rootJobId===Z?G:void 0,W=J?.provenance.rootJobId===Z?J.operationId:void 0,D=X?.projection,U=D?[...Y?.projectionLineage??[],D.id]:[...Y?.projectionLineage??[]],A=D?.id??Y?.projectionId;return G7.parse({rootJobId:Z,causationId:W??Y?.causationId??$,...A?{projectionId:A}:{},projectionLineage:U,...D?.sourceEntity?{sourceEntity:D.sourceEntity}:Y?.sourceEntity?{sourceEntity:Y.sourceEntity}:{},derivationDepth:U.length})}async dequeue($){let Z=this.handlerRegistry.getRegisteredTypes();if(Z.length===0)return null;let X=$??await this.getDirectClaimOptions(),J=Date.now(),G=await this.repository.claimNextReady({...X,now:J,attemptId:qZ(),executableTypes:Z});if(!G)return null;return this.logger.debug("Job dequeued",{id:G.id,type:G.type,priority:G.priority,retryCount:G.retryCount,attemptId:G.attemptId,workerSlotId:G.workerSlotId,workerSessionId:G.workerSessionId}),G}async startWorkerSession($,Z,X=E4){await this.repository.startWorkerSession($,Z,Date.now(),X)}heartbeatWorkerSession($,Z,X=E4){return this.repository.heartbeatWorkerSession($,Z,Date.now(),X)}endWorkerSession($,Z){return this.repository.endWorkerSession($,Z)}renewAttemptLease($,Z,X){return this.repository.renewAttemptLease($,Z,Date.now(),X)}recordAttemptProgress($,Z,X){return this.repository.recordAttemptProgress($,Z,X)}complete($,Z,X){return this.repository.complete($,Z,X)}update($,Z,X){return this.repository.update($,Z,X)}fail($,Z,X){return this.repository.fail($,Z,X)}async getDirectClaimOptions(){return this.directSessionStart??=this.repository.startWorkerSession(this.directWorkerSlotId,this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs),await this.directSessionStart,{workerSlotId:this.directWorkerSlotId,workerSessionId:this.directWorkerSessionId,leaseDurationMs:this.directLeaseDurationMs}}async getStatus($){return this.repository.getStatus($)}async getStatusByEntityId($){return this.repository.getStatusByEntityId($)}async getStats(){return this.repository.getStats()}getDiagnostics($){return this.repository.getDiagnostics($)}async waitForIdle($={}){let Z=$.quietMs??250,X=$.pollIntervalMs??25,J=Date.now()+($.timeoutMs??30000),G=async(Y)=>{$.signal?.throwIfAborted();let{totals:W}=await this.getDiagnostics(),U=W.pending===0&&W.processing===0?Y??Date.now():null;if(U!==null&&Date.now()-U>=Z)return;if(Date.now()>=J)throw Error(`Timed out waiting for the job queue to settle: ${W.pending} pending, ${W.processing} processing`);return await Bun.sleep(X),G(U)};return G(null)}getRuntimeUpdates($,Z=1000){return this.repository.getRuntimeUpdates($,Z)}async cleanup($){let Z=await this.repository.cleanup($);if(Z>0)this.logger.info("Cleaned up old jobs",{deletedCount:Z,olderThanMs:$});return Z}async getActiveJobs($){return this.repository.getActiveJobs($)}async getFailedJobs($){return this.repository.getFailedJobs($)}}class Vh extends Error{constructor($,Z){super(`Job ${$} exceeded its ${Z}ms execution deadline`);this.name="JobDeadlineExceededError"}}class FP{logger;jobQueueService;progressMonitor;config;isRunning=!1;shouldStop=!1;activeJobs=new Set;stats;startTime=0;pollFiber=null;currentPoll=null;workerScope=null;jobFibers=null;activeTransition=null;transitionQueue=[];clock;operationContext;workerSessionId=null;workerHeartbeatStop=null;static createFresh($,Z,X,J,G){return new FP($,Z,X,J,G)}constructor($,Z,X,J,G){if(this.logger=X.child("JobQueueWorker"),this.jobQueueService=$,this.progressMonitor=Z,this.clock=G?.clock,this.operationContext=G?.operationContext??ZJ.createFresh(),this.config={concurrency:J?.concurrency??1,pollInterval:J?.pollInterval??1000,maxJobs:J?.maxJobs??0,autoStart:J?.autoStart??!1,workerSlotId:J?.workerSlotId??process.env.BRAIN_JOB_WORKER_SLOT_ID??"default",defaultExecutionTimeoutMs:J?.defaultExecutionTimeoutMs??300000,cancellationGraceMs:J?.cancellationGraceMs??5000,errorCallbackTimeoutMs:J?.errorCallbackTimeoutMs??1e4,leaseDurationMs:J?.leaseDurationMs??30000,attemptHeartbeatIntervalMs:J?.attemptHeartbeatIntervalMs??1e4,workerHeartbeatIntervalMs:J?.workerHeartbeatIntervalMs??5000,workerSessionTimeoutMs:J?.workerSessionTimeoutMs??E4,onUnhealthy:J?.onUnhealthy??(()=>{return})},this.stats={processedJobs:0,failedJobs:0,activeJobs:0,uptime:0,isRunning:!1,isHealthy:!0},this.logger.debug("JobQueueWorker initialized",{concurrency:this.config.concurrency,pollInterval:this.config.pollInterval,maxJobs:this.config.maxJobs,autoStart:this.config.autoStart}),this.config.autoStart)this.start().catch((Y)=>{this.logger.error("Failed to auto-start JobQueueWorker",{error:Y})})}start(){return this.requestTransition("start",!0)}async startWorker(){if(this.isRunning){this.logger.warn("Worker is already running");return}this.logger.debug("Starting JobQueueWorker");let $=qZ();await this.jobQueueService.startWorkerSession(this.config.workerSlotId,$,this.config.workerSessionTimeoutMs),this.workerSessionId=$,this.isRunning=!0,this.shouldStop=!1,this.startTime=Date.now(),this.stats.isRunning=!0,this.stats.isHealthy=!0,delete this.stats.unhealthyReason,this.startWorkerHeartbeat(),this.workerScope=t.runSync(o0.make()),this.jobFibers=t.runSync(o0.extend(B1.make(),this.workerScope)),this.pollFiber=t.runFork(this.runPollingLoop())}stop(){return this.requestTransition("stop",!0)}async stopWorker($){if(!this.isRunning){this.logger.warn("Worker is not running");return}if(this.logger.debug("Stopping JobQueueWorker"),this.shouldStop=!0,$.awaitInFlightPoll&&this.pollFiber){let X=this.pollFiber;await t.runPromise(K1.interrupt(X)),this.pollFiber=null}if($.awaitInFlightPoll&&this.currentPoll)await this.currentPoll,this.currentPoll=null;if(this.jobFibers)this.logger.debug("Waiting for active jobs to complete",{activeJobs:this.activeJobs.size}),await t.runPromise(B1.awaitEmpty(this.jobFibers));await this.closeWorkerScope(),await this.stopWorkerHeartbeat();let Z=this.workerSessionId;if(this.workerSessionId=null,Z)await this.jobQueueService.endWorkerSession(this.config.workerSlotId,Z);this.isRunning=!1,this.stats.isRunning=!1,this.logger.debug("JobQueueWorker stopped")}getStats(){return{...this.stats,activeJobs:this.activeJobs.size,uptime:this.isRunning?Date.now()-this.startTime:0}}isWorkerRunning(){return this.isRunning}isStopRequested(){return this.shouldStop}async processAvailableJobs(){if(!this.isRunning||this.shouldStop)return;try{let $=this.config.concurrency-this.activeJobs.size;if($<=0)return;if(this.config.maxJobs>0){let J=this.stats.processedJobs+this.stats.failedJobs,G=this.config.maxJobs-J-this.activeJobs.size;if(G<=0){this.logger.debug("Maximum job limit reached, stopping worker",{maxJobs:this.config.maxJobs,processedJobs:this.stats.processedJobs,failedJobs:this.stats.failedJobs}),await this.requestTransition("stop",!1);return}$=Math.min($,G)}let Z=[];for(let J=0;J<$;J++){if(this.isStopRequested())break;let G=this.workerSessionId;if(!G)throw Error("Worker session is not available");let Y=await this.jobQueueService.dequeue({workerSlotId:this.config.workerSlotId,workerSessionId:G,leaseDurationMs:this.config.leaseDurationMs});if(Y)Z.push(Y);else break}let X=this.jobFibers;if(!X){if(Z.length>0)throw Error("Worker job fiber scope is not available");return}for(let J of Z)this.activeJobs.add(J.id),await t.runPromise(B1.run(X,J.id,t.promise(()=>this.processJobWrapper(J))))}catch($){this.logger.error("Error processing available jobs",{error:$}),this.stats.lastError=d$($)}}async processJobWrapper($){let Z=$.id;try{this.logger.debug("Processing job",{jobId:Z,type:$.type,priority:$.priority,retryCount:$.retryCount});let X=await this.processJob($);if(X.status==="completed")this.stats.processedJobs++,this.logger.debug("Job completed successfully",{jobId:Z,type:X.type});else this.stats.failedJobs++,this.logger.warn("Job failed",{jobId:Z,type:X.type,error:X.error})}catch(X){this.stats.failedJobs++,this.logger.error("Error processing job",{jobId:Z,type:$.type,error:X}),this.stats.lastError=d$(X)}finally{this.activeJobs.delete(Z)}}runPollingLoop(){let Z=t.suspend(()=>{if(!this.isWorkerRunning()||this.isStopRequested())return t.interrupt;return this.currentPoll=this.processAvailableJobs(),t.promise(()=>this.currentPoll??Promise.resolve()).pipe(t.andThen(t.suspend(()=>{return this.currentPoll=null,!this.isWorkerRunning()||this.isStopRequested()?t.interrupt:t.void})))}).pipe(t.schedule(N1.spaced(this.config.pollInterval)),t.asVoid);return(this.clock?t.withClock(Z,this.clock):Z).pipe(t.ensuring(t.sync(()=>{this.pollFiber=null})))}requestTransition($,Z){let X=this.transitionQueue.at(-1)??this.activeTransition;if(X?.kind===$)return X.promise;let J=()=>{return},G=()=>{return},Y=new Promise((D,U)=>{J=D,G=U}),W={kind:$,awaitInFlightPoll:Z,promise:Y,resolve:J,reject:G};return this.transitionQueue.push(W),this.runNextTransition(),Y}runNextTransition(){if(this.activeTransition)return;let $=this.transitionQueue.shift();if(!$)return;this.activeTransition=$,($.kind==="start"?this.startWorker():this.stopWorker({awaitInFlightPoll:$.awaitInFlightPoll})).then(()=>this.completeTransition($,!0),(X)=>this.completeTransition($,!1,X))}completeTransition($,Z,X){if(this.activeTransition!==$)return;if(this.activeTransition=null,Z)$.resolve();else $.reject(X);queueMicrotask(()=>this.runNextTransition())}async closeWorkerScope(){let $=this.workerScope;if(this.workerScope=null,this.jobFibers=null,$)await t.runPromise(o0.close($,M0.void))}startHeartbeatLoop($){let Z=null,X=!1,J=setInterval(()=>{if(X||Z)return;Z=$.beat().then((G)=>{if(!G)$.onStale()}).catch($.onError).finally(()=>{Z=null})},Math.max(1,$.intervalMs));return async()=>{if(X)return;X=!0,clearInterval(J),await Z}}startWorkerHeartbeat(){this.workerHeartbeatStop=this.startHeartbeatLoop({intervalMs:this.config.workerHeartbeatIntervalMs,beat:async()=>{let $=this.workerSessionId;if(!$)return!0;return this.jobQueueService.heartbeatWorkerSession(this.config.workerSlotId,$,this.config.workerSessionTimeoutMs)},onStale:()=>this.markUnhealthy("Worker session was superseded"),onError:($)=>this.markUnhealthy(`Worker session heartbeat failed: ${d$($)}`)})}async stopWorkerHeartbeat(){await this.workerHeartbeatStop?.(),this.workerHeartbeatStop=null}startAttemptHeartbeat($,Z){let X=$.attemptId;if(!X)return async()=>{return};return this.startHeartbeatLoop({intervalMs:this.config.attemptHeartbeatIntervalMs,beat:()=>this.jobQueueService.renewAttemptLease($.id,X,this.config.leaseDurationMs),onStale:()=>{let J=Error("Job attempt was superseded");Z.abort(J),this.markUnhealthy(J.message)},onError:(J)=>{let G=XJ(J);Z.abort(G),this.markUnhealthy(`Attempt lease heartbeat failed: ${G.message}`)}})}markUnhealthy($){if(!this.stats.isHealthy)return;this.stats.isHealthy=!1,this.stats.unhealthyReason=$,this.stats.lastError=$,this.shouldStop=!0,this.logger.error("Job queue worker is unhealthy",{reason:$});try{this.config.onUnhealthy($)}catch(Z){this.logger.error("Job queue worker unhealthy callback failed",{reason:$,error:d$(Z)})}}async raceOutcome($,Z){let X,J=new Promise((G)=>{X=setTimeout(()=>G({kind:"timeout"}),Math.max(1,Z))});try{return await Promise.race([$,J])}finally{if(X)clearTimeout(X)}}async executeWithDeadline($,Z,X,J){let G=Promise.resolve().then(J).then((U)=>({kind:"success",value:U}),(U)=>({kind:"failure",error:U})),Y=await this.raceOutcome(G,Z);if(Y.kind!=="timeout"){if(Y.kind==="failure")throw Y.error;return Y.value}let W=new Vh($,Z);if(X.abort(W),(await this.raceOutcome(G,this.config.cancellationGraceMs)).kind!=="timeout")throw W;throw this.markUnhealthy(`${W.message}; handler ignored cancellation grace`),await G,W}processJob($){let Z=$.metadata.provenance??{rootJobId:$.metadata.rootJobId,causationId:$.id,projectionLineage:[],derivationDepth:0};return this.operationContext.run(Z,$.id,()=>this.processJobWithinContext($))}async processJobWithinContext($){let Z=$.attemptId;if(!Z){let D=Error(`Claimed job ${$.id} has no attempt fencing token`);return this.markUnhealthy(D.message),{jobId:$.id,type:$.type,status:O$.FAILED,error:D.message}}let X=this.jobQueueService.getHandler($.type);if(!X){let D=Error(`No handler registered for job type: ${$.type}`);return await this.jobQueueService.fail($.id,D,Z),{jobId:$.id,type:$.type,status:O$.FAILED,error:D.message}}let J=new AbortController,G=this.startAttemptHeartbeat($,J),Y=!1,W=async()=>{if(Y)return;Y=!0,await G()};try{this.logger.debug("Processing job",{jobId:$.id,type:$.type,attemptId:Z});let D=JSON.parse($.data),U=X.validateAndParse(D);if(U===null)throw Error(`Invalid job data for type: ${$.type}`);let A=this.progressMonitor.createProgressReporter($.id,Z),Q=X.executionTimeoutMs??this.config.defaultExecutionTimeoutMs,O=await this.executeWithDeadline($.type,Q,J,()=>X.process(U,$.id,A,J.signal));await W();let P=OP.safeParse(O);if(P.success){let M=P.data.error??"Handler returned failure",z=Error(M);if(await this.jobQueueService.fail($.id,z,Z))await this.emitTerminalFailure($,z,X,Z);return{jobId:$.id,type:$.type,status:O$.FAILED,error:M}}if(!await this.jobQueueService.complete($.id,O,Z))return{jobId:$.id,type:$.type,status:O$.FAILED,error:"Job attempt no longer owns the claim"};return await this.progressMonitor.handleJobStatusChange($.id,"completed",$.metadata),{jobId:$.id,type:$.type,status:O$.COMPLETED,result:O}}catch(D){let U=XJ(D);if(await W(),await this.runHandlerErrorCallback("onError",X,$,U,Z),await this.jobQueueService.fail($.id,U,Z))await this.emitTerminalFailure($,U,X,Z);return{jobId:$.id,type:$.type,status:O$.FAILED,error:U.message}}}async emitTerminalFailure($,Z,X,J){if((await this.jobQueueService.getStatus($.id))?.status!==O$.FAILED)return;await this.runHandlerErrorCallback("onTerminalError",X,$,Z,J),await this.progressMonitor.handleJobStatusChange($.id,"failed",$.metadata)}async runHandlerErrorCallback($,Z,X,J,G){let Y=Z[$];if(!Y)return;try{let W=Z.validateAndParse(JSON.parse(X.data));if(W===null)return;let D=this.progressMonitor.createProgressReporter(X.id,G),U=new AbortController;await this.executeWithDeadline(`${X.type}:${$}`,this.config.errorCallbackTimeoutMs,U,()=>Y.call(Z,J,W,X.id,D,U.signal))}catch(W){this.logger.error($==="onError"?"Job handler error callback failed":"Job handler terminal error callback failed",{jobId:X.id,error:W})}}}var lX$=86400000,Qh=3600000;class TP{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh($,Z,X){return new TP($,Z,X)}constructor($,Z,X){this.jobQueue=$,this.logger=Z,this.clock=X?.clock}start($=Qh){return this.requestTransition("start",$)}stop(){return this.requestTransition("stop",Qh)}async startCleanup($){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=t.runFork(this.runCleanupLoop($))}runCleanupLoop($){let Z=this.cleanupTerminalBatchMetadata().pipe(t.schedule(N1.spaced($)),t.asVoid);return this.clock?t.withClock(Z,this.clock):Z}scheduleTerminalBatchCleanup(){if(!this.acceptingCleanup)return;this.cleanupSupervisor??=this.createCleanupSupervisor();let $=t.runFork(this.cleanupTerminalBatchMetadata());a5.unsafeAdd(this.cleanupSupervisor.fibers,$)}async stopCleanup(){this.acceptingCleanup=!1;let $=this.cleanupFiber;if(this.cleanupFiber=null,$)await t.runPromise(K1.interrupt($));let Z=this.cleanupSupervisor;if(Z)await t.runPromise(a5.awaitEmpty(Z.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(Z)await t.runPromise(o0.close(Z.scope,M0.void)),this.cleanupSupervisor=null}requestTransition($,Z){let X=this.transitionQueue.at(-1)??this.activeTransition;if(X?.kind===$)return X.promise;let J=()=>{return},G=()=>{return},Y=new Promise((D,U)=>{J=D,G=U}),W={kind:$,intervalMs:Z,promise:Y,resolve:J,reject:G};return this.transitionQueue.push(W),this.runNextTransition(),Y}runNextTransition(){if(this.activeTransition)return;let $=this.transitionQueue.shift();if(!$)return;this.activeTransition=$,($.kind==="start"?this.startCleanup($.intervalMs):this.stopCleanup()).then(()=>this.completeTransition($,!0),(X)=>this.completeTransition($,!1,X))}completeTransition($,Z,X){if(this.activeTransition!==$)return;if(this.activeTransition=null,Z)$.resolve();else $.reject(X);queueMicrotask(()=>this.runNextTransition())}createCleanupSupervisor(){let $=t.runSync(o0.make()),Z=t.runSync(o0.extend(a5.make(),$));return{scope:$,fibers:Z}}cleanupTerminalBatchMetadata(){return t.tryPromise({try:()=>{let $=this.cleanup(lX$);return this.inFlightCleanups.add($),$.then(()=>this.inFlightCleanups.delete($),()=>this.inFlightCleanups.delete($)),$},catch:($)=>$}).pipe(t.asVoid,t.catchAll(($)=>t.sync(()=>{this.logger.warn("Failed to clean up terminal batch metadata",{error:$})})))}validateOperations($){for(let Z of $){let X=this.jobQueue.getValidator(Z.type);if(!X)throw Error(`No job type declared: ${Z.type}`);if(X.validateAndParse(Z.data)===null)throw Error(`Invalid job data for type: ${Z.type}`)}}async enqueueBatch($,Z,X,J){if($.length===0)throw Error("Cannot enqueue empty batch");this.validateOperations($);let G=[];this.batches.set(X,{jobIds:G,operations:$,source:Z.source,startedAt:new Date().toISOString(),metadata:{...Z.metadata,rootJobId:X}});try{for(let Y of $){let W={...Z,rootJobId:X,metadata:{...Z.metadata,operationTarget:Y.type}},D=await this.jobQueue.enqueue({type:Y.type,data:Y.data,options:W});G.push(D)}return this.logger.debug("Enqueued batch operations",{batchId:X,operationCount:$.length,jobIds:G,rootJobId:X}),this.scheduleTerminalBatchCleanup(),X}catch(Y){throw this.batches.delete(X),this.logger.error("Failed to enqueue batch operations",{error:Y,operationCount:$.length,enqueuedJobs:G.length}),Y}}async getBatchStatus($){let Z=this.batches.get($);if(!Z)return null;try{let X=await Promise.all(Z.jobIds.map((A)=>this.jobQueue.getStatus(A))),J=0,G=0,Y=0,W=[];for(let[A,Q]of X.entries()){if(!Q){G++;let O=Z.operations[A],P=Z.jobIds[A]??"unknown";W.push(`Missing job ${P}${O?` for ${O.type}`:""}`);continue}switch(Q.status){case"completed":J++;break;case"failed":if(G++,Q.lastError)W.push(Q.lastError);break;case"processing":case"pending":Y++;break}}Y+=Z.operations.length-Z.jobIds.length;let D;if(Y>0)D=O$.PROCESSING;else if(G>0)D=O$.FAILED;else D=O$.COMPLETED;if(Z.terminalAt===void 0&&(D===O$.COMPLETED||D===O$.FAILED))Z.terminalAt=Date.now();let U;for(let A=0;A<Z.jobIds.length;A++){let Q=X[A];if(Q&&Q.status!=="completed"&&Q.status!=="failed"){let O=Z.operations[A];if(O)U=`Processing ${O.type}`;break}}return{batchId:$,totalOperations:Z.operations.length,completedOperations:J,failedOperations:G,errors:W,status:D,currentOperation:U,metadata:Z.metadata}}catch(X){throw this.logger.error("Failed to get batch status",{batchId:$,error:X}),X}}async cleanup($){let Z=Date.now()-$,X=0;for(let[J,G]of this.batches.entries()){if(G.terminalAt!==void 0){if(G.terminalAt<=Z)this.batches.delete(J),X++;continue}if(new Date(G.startedAt).getTime()<=Z){let W=await this.getBatchStatus(J);if(W&&(W.status===O$.COMPLETED||W.status===O$.FAILED))this.batches.delete(J),X++}}return this.logger.debug("Cleaned up batch metadata",{cleaned:X}),X}registerBatch($,Z,X,J,G){this.batches.set($,{jobIds:Z,operations:X,source:J,startedAt:new Date().toISOString(),metadata:G}),this.logger.debug("Registered batch metadata",{batchId:$,operationCount:X.length,jobIds:Z})}async getActiveBatches(){let $=[];try{for(let[Z,X]of this.batches){let J=await this.getBatchStatus(Z);if(J&&(J.status==="pending"||J.status==="processing"))$.push({batchId:Z,status:J,metadata:{operations:X.operations,source:X.source,startedAt:X.startedAt,metadata:X.metadata}})}return this.logger.debug("Retrieved active batches",{count:$.length}),$}catch(Z){throw this.logger.error("Failed to get active batches",{error:Z}),Z}}}var iX$=H.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},H.record(H.string(),H.unknown()));class MP{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};polling=!1;static createFresh($,Z,X,J,G="combined"){return new MP($,Z,X,J,G)}constructor($,Z,X,J,G){this.jobQueueService=$,this.messageBus=Z,this.batchJobManager=X,this.logger=J,this.mode=G}start(){if(this.mode==="durable-reader"&&!this.pollTimer){this.pollCursor={updatedAt:Date.now(),jobId:""},this.pollTimer=setInterval(()=>{this.pollDurableUpdates()},250),this.pollTimer.unref(),this.logger.debug("Job progress monitor ready (durable polling mode)");return}this.logger.debug("Job progress monitor ready (event-driven mode)")}stop(){if(this.pollTimer)clearInterval(this.pollTimer);this.pollTimer=void 0,this.logger.debug("Job progress monitor stopped")}async pollDurableUpdates(){if(this.polling)return;this.polling=!0;try{let $=await this.jobQueueService.getRuntimeUpdates(this.pollCursor,100);for(let Z of $)if(this.pollCursor=Z.cursor,Z.job.status==="processing"&&Z.job.progress)await this.publishJobProgress(Z.job,Z.job.progress);else if(Z.job.status==="completed"||Z.job.status==="failed")await this.handleJobStatusChange(Z.job.id,Z.job.status,Z.job.metadata)}catch($){this.logger.error("Failed to poll durable job progress",{error:$})}finally{this.polling=!1}}createProgressReporter($,Z){let X=b9.from(async(J)=>{await this.emitJobProgress($,J,Z)});if(!X)throw Error("Failed to create ProgressReporter");return X}async emitBatchProgress($,Z,X){try{let J={totalOperations:Z.totalOperations,completedOperations:Z.completedOperations,failedOperations:Z.failedOperations,currentOperation:Z.currentOperation??"Processing batch...",errors:Z.errors},G={id:$,type:"batch",status:Z.status,metadata:X,batchDetails:J};if(Z.totalOperations>0)G.progress={current:Z.completedOperations,total:Z.totalOperations,percentage:Math.round(Z.completedOperations/Z.totalOperations*100)};await this.messageBus.send({type:DY.progress,payload:G,sender:"job-progress-monitor",broadcast:!0}),this.logger.debug("Emitted batch progress update",{batchId:$,status:Z.status,progress:`${Z.completedOperations}/${Z.totalOperations}`})}catch(J){this.logger.error("Error emitting batch progress update",{batchId:$,error:J})}}isBatchChild($,Z){return!!Z&&Z!==$}get publishesEvents(){return this.mode!=="durable-writer"}async broadcastEvent($){await this.messageBus.send({type:DY.progress,payload:$,sender:"job-progress-monitor",broadcast:!0})}async emitJobProgress($,Z,X){try{if(X&&!await this.jobQueueService.recordAttemptProgress($,X,Z)){this.logger.debug("Discarding progress from obsolete job attempt",{jobId:$,attemptId:X});return}if(!this.publishesEvents)return;let J=await this.jobQueueService.getStatus($);if(!J){this.logger.warn("Job not found for progress update",{jobId:$});return}await this.publishJobProgress(J,Z)}catch(J){this.logger.error("Error emitting job progress",{jobId:$,error:J})}}async publishJobProgress($,Z){if($.metadata.silent)return;if(this.isBatchChild($.id,$.metadata.rootJobId))return;let X=Z.total??0,J={id:$.id,type:"job",status:"processing",metadata:$.metadata,message:Z.message};if(X>0)J.progress={current:Z.progress,total:X,percentage:Math.round(Z.progress/X*100)};await this.broadcastEvent(J)}async emitJobCompletion($){await this.emitJobStatusEvent($,"completed")}async emitJobFailure($){await this.emitJobStatusEvent($,"failed")}async emitJobStatusEvent($,Z){if(!this.publishesEvents)return;try{let X=await this.jobQueueService.getStatus($);if(!X){this.logger.warn(`Cannot emit ${Z} for unknown job`,{jobId:$});return}if(X.metadata.silent)return;if(this.isBatchChild($,X.metadata.rootJobId)){this.logger.debug(`Skipping individual job ${Z} for batch operation`,{jobId:$,rootJobId:X.metadata.rootJobId});return}let J={id:$,type:"job",status:Z,message:this.extractStatusMessage(X,Z),metadata:X.metadata,jobDetails:{jobType:X.type,priority:X.priority,retryCount:X.retryCount}};await this.broadcastEvent(J),this.logger.debug(`Emitted job ${Z} event`,{jobId:$})}catch(X){this.logger.error(`Error emitting job ${Z} event`,{jobId:$,error:X})}}extractStatusMessage($,Z){if(Z==="failed")return $.lastError??void 0;if(!$.result)return;try{let X=iX$.parse($.result),J=X.message;if(J)return String(J);let G=X.routesBuilt;if(G!==void 0)return`${G} routes built`}catch{}return}getStats(){return{isRunning:!0}}async handleJobStatusChange($,Z,X){if(!this.publishesEvents)return;let J=X?Y7.safeParse(X):void 0,G=J?.success?J.data:void 0;if(G?.silent)return;try{if(await this.emitJobStatusEvent($,Z),G&&this.isBatchChild($,G.rootJobId))try{let Y=G.rootJobId,W=await this.batchJobManager.getBatchStatus(Y);if(W){let D=W.metadata??G;await this.emitBatchProgress(Y,W,D)}}catch(Y){this.logger.warn("Failed to emit batch progress",{jobId:$,rootJobId:G.rootJobId,error:Y})}}catch(Y){this.logger.error("Failed to handle job status change",{jobId:$,status:Z,error:Y})}}}var sX$=H.record(H.string(),H.unknown());class HY{logger;schema;jobTypeName;executionTimeoutMs;constructor($,Z){this.logger=$,this.schema=Z.schema,this.jobTypeName=Z.jobTypeName,this.executionTimeoutMs=Z.executionTimeoutMs}validateAndParse($){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);let Z=this.schema.safeParse($);if(!Z.success)return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:$,validationError:Z.error.issues}),null;return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog(Z.data)}),Z.data}async onError($,Z,X,J,G){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:X,errorMessage:$.message,errorStack:$.stack,data:this.summarizeDataForLog(Z)})}async reportProgress($,Z){await $.report({progress:Z.progress,total:Z.total??100,message:Z.message})}summarizeDataForLog($){let Z=sX$.safeParse($);return Z.success?Z.data:{}}}function zP($,Z,X){return async(J)=>{let{type:G,data:Y,toolContext:W=null,options:D,projection:U}=J,A=W?Oh(W):void 0,{metadata:Q,...O}=D??{},P={operationType:"data_processing",pluginId:Z,...Q,...W&&{interfaceType:W.interfaceType,conversationId:W.conversationId,channelId:W.channelId,requestedByActor:W.actor,...A?{requestedByUserId:A}:{},requestedByInterface:W.interfaceType}};if(W&&!A)delete P.requestedByUserId;let _={...O,source:Z,...D?.rootJobId&&{rootJobId:D.rootJobId},...U&&{projection:U},metadata:P},M=X&&!G.includes(":")?`${Z}:${G}`:G;return $.enqueue({type:M,data:Y,options:_})}}function RP($,Z){return async(X,J)=>{let G=qZ(),Y=X.map((D)=>({...D,type:D.type.includes(":")?D.type:`${Z}:${D.type}`})),W={...J,source:Z,rootJobId:G,metadata:{...J?.metadata,operationType:"batch_processing",pluginId:Z}};return await $.enqueueBatch(Y,W,G,Z),G}}function wP($,Z){return(X,J)=>{let G=X.includes(":")?X:`${Z}:${X}`;$.registerHandler(G,J,Z)}}var aX$=H.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)),tX$=H.object({name:H.string(),schema:aX$});function Bh($){return tX$.safeParse($).success}function eX$($){if(!$)return;return{status:$.status,message:$.message,lastCheck:$.lastCheck?.toISOString(),details:$.details}}function Nh($){return{model:$.model,version:$.version,uptime:$.uptime,entities:$.entities,entityCounts:$.entityCounts,embeddings:$.embeddings,ai:$.ai,daemons:$.daemons.map((Z)=>({name:Z.name,pluginId:Z.pluginId,status:Z.status,health:eX$(Z.health)})),endpoints:$.endpoints,interactions:$.interactions}}var _h={digest:"conversation:digest"};var U0=TZ("conversations",{id:X$("id").primaryKey(),sessionId:X$("session_id").notNull(),interfaceType:X$("interface_type").notNull(),channelId:X$("channel_id").notNull(),personId:X$("person_id"),started:X$("started").notNull(),lastActive:X$("last_active").notNull(),metadata:X$("metadata"),created:X$("created").notNull(),updated:X$("updated").notNull()},($)=>({sessionIdx:ZZ("idx_conversations_session").on($.sessionId),channelIdx:ZZ("idx_conversations_channel").on($.channelId),personIdx:ZZ("idx_conversations_person").on($.personId),interfaceSessionIdx:ZZ("idx_conversations_interface_session").on($.interfaceType,$.sessionId),interfaceChannelIdx:ZZ("idx_conversations_interface_channel").on($.interfaceType,$.channelId)})),dZ=TZ("messages",{id:X$("id").primaryKey(),conversationId:X$("conversation_id").notNull().references(()=>U0.id,{onDelete:"cascade"}),role:X$("role").notNull(),content:X$("content").notNull(),timestamp:X$("timestamp").notNull(),metadata:X$("metadata")},($)=>({conversationIdx:ZZ("idx_messages_conversation").on($.conversationId),timestampIdx:ZZ("idx_messages_timestamp").on($.timestamp)})),W7=TZ("summary_tracking",{conversationId:X$("conversation_id").primaryKey().references(()=>U0.id,{onDelete:"cascade"}),lastSummarizedAt:X$("last_summarized_at"),lastMessageId:X$("last_message_id"),messagesSinceSummary:a$("messages_since_summary").default(0),updated:X$("updated").notNull()});function Ph($){return y6({url:$.url,schema:{conversations:U0,messages:dZ,summaryTracking:W7},authToken:$.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var $J$=H.preprocess(($)=>{if(typeof $!=="string")return $;try{return JSON.parse($)}catch{return}},H.record(H.string(),H.unknown())).catch({});function D7($){return $J$.parse($)}var CA="conversation:messageAdded",CP="conversation:started",UY=H.object({identity:X7,interfaceType:H.string(),role:cX,displayName:H.string().optional(),username:H.string().optional(),isBot:H.boolean().optional()}),ZJ$=H.preprocess(XJ$,UY);function XJ$($){if(!wA($)||"identity"in $)return $;let{actorId:Z,interfaceType:X,role:J}=$;if(typeof Z!=="string"||typeof X!=="string"||J!=="user"&&J!=="assistant")return $;let{userId:G,canonicalId:Y}=$;return{identity:Fh({actorId:Z,interfaceType:X,role:J,...typeof G==="string"?{userId:G}:{},...typeof Y==="string"?{canonicalId:Y}:{}}),interfaceType:X,role:J,...typeof $.displayName==="string"?{displayName:$.displayName}:{},...typeof $.username==="string"?{username:$.username}:{},...typeof $.isBot==="boolean"?{isBot:$.isBot}:{}}}var AY=H.object({messageId:H.string().optional(),channelId:H.string().optional(),channelName:H.string().optional(),threadId:H.string().optional(),metadata:H.record(H.string(),H.unknown()).optional()}),Th=H.looseObject({actor:ZJ$.optional(),source:AY.optional()});function Mh($){if(typeof $==="string")try{let Z=JSON.parse($);return wA(Z)?Z:null}catch{return null}return wA($)?$:null}function JJ$($){if($.role!=="assistant")return!1;if($.content.trim().length===0)return!1;let Z=Mh($.metadata),X=Z?.entityMemoryRefs;if(Array.isArray(X)&&X.length>0)return!1;let J=Z?.cards;if(!Array.isArray(J))return!0;return!J.some((G)=>{if(!wA(G))return!1;if(G.kind==="tool-approval")return!0;return G.kind==="actions"&&G.id==="actions:upload-intent"})}function wA($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var GJ$=H.object({id:H.string(),conversationId:H.string(),role:H.string(),content:H.string(),timestamp:H.string(),metadata:H.string().nullable()}),zh=H.object({conversationId:H.string(),messageCount:H.number(),messages:H.array(GJ$),windowStart:H.number(),windowEnd:H.number(),windowSize:H.number(),timestamp:H.string()});class LA{db;logger;messageBus;config;dbClient=null;dbUrl=null;pragmaInitialization=null;constructor($,Z,X,J={}){this.db=$,this.logger=Z,this.messageBus=X,this.config={digestTriggerInterval:5,digestWindowSize:10,...J}}initialize(){return this.pragmaInitialization??=this.applyPragmas(),this.pragmaInitialization}async applyPragmas(){let $=this.dbClient,Z=this.dbUrl;if(!$||Z===null)return;try{await b6($,Z)}catch(X){this.logger.warn("Failed to enable conversation database pragmas (non-fatal)",X)}}getDatabaseClient(){if(!this.dbClient)throw Error("ConversationService does not own a database client");return this.dbClient}close(){this.dbClient?.close()}static createFresh($,Z,X,J){return new LA($,Z,X,J)}static createFreshFromConfig($,Z,X,J){let{db:G,client:Y,url:W}=Ph(X),D=new LA(G,$,Z,J);return D.dbClient=Y,D.dbUrl=W,D}async startConversation($){let{sessionId:Z,interfaceType:X,channelId:J,personId:G,metadata:Y}=$,W=new Date().toISOString();if(await this.getConversation(Z))return await this.db.update(U0).set({lastActive:W,updated:W}).where(c(U0.id,Z)),this.logger.debug("Resumed existing conversation",{conversationId:Z,interfaceType:X}),Z;let U={id:Z,sessionId:Z,interfaceType:X,channelId:J,personId:G??null,started:W,lastActive:W,created:W,updated:W,metadata:JSON.stringify(Y)};await this.db.insert(U0).values(U);let A={conversationId:Z,messagesSinceSummary:0,updated:W};return await this.db.insert(W7).values(A),this.logger.debug("Started new conversation",{conversationId:Z,sessionId:Z,interfaceType:X}),await this.messageBus.send({type:CP,payload:{conversationId:Z,sessionId:Z,interfaceType:X,timestamp:W},sender:"conversation-service",broadcast:!0}),Z}async addMessage($){let{conversationId:Z,role:X,content:J,metadata:G}=$,Y=new Date().toISOString(),W=qZ(12),D={id:W,conversationId:Z,role:X,content:J,timestamp:Y,metadata:G?JSON.stringify(G):null};await this.db.insert(dZ).values(D),await this.db.update(U0).set({lastActive:Y,updated:Y}).where(c(U0.id,Z)),await this.db.update(W7).set({messagesSinceSummary:N`${W7.messagesSinceSummary} + 1`,lastMessageId:W,updated:Y}).where(c(W7.conversationId,Z)),this.logger.debug("Added message to conversation",{conversationId:Z,role:X,messageId:W}),await this.messageBus.send({type:CA,payload:{conversationId:Z,messageId:W,role:X,content:J,metadata:G,timestamp:Y},sender:"conversation-service",broadcast:!0}),await this.checkAndBroadcastDigest(Z,Y)}async getMessages($,Z={}){let{limit:X=20,range:J}=Z;if(J){let G=J.start-1,Y=J.end-J.start+1;return await this.db.select().from(dZ).where(c(dZ.conversationId,$)).orderBy(v0(dZ.timestamp)).limit(Y).offset(G)}else return(await this.db.select().from(dZ).where(c(dZ.conversationId,$)).orderBy(PZ(dZ.timestamp)).limit(X)).reverse()}async getConversation($){return(await this.db.select().from(U0).where(c(U0.id,$)).limit(1))[0]??null}async listConversations($={}){let{limit:Z=100,updatedAfter:X,interfaceType:J,sessionId:G,channelId:Y,personId:W}=$,D=[X?dX(U0.updated,X):void 0,J?c(U0.interfaceType,J):void 0,G?c(U0.sessionId,G):void 0,Y?c(U0.channelId,Y):void 0,W?c(U0.personId,W):void 0].filter((A)=>A!==void 0),U=this.db.select().from(U0).orderBy(PZ(U0.lastActive)).limit(Z);if(D.length===0)return U;return U.where(F$(...D))}async searchConversations($,Z){let X=`%${$.toLowerCase()}%`;return(await this.db.selectDistinct({conversation:U0}).from(U0).leftJoin(dZ,c(dZ.conversationId,U0.id)).where(Z?N`lower(${dZ.content}) LIKE ${X} AND ${U0.sessionId} = ${Z}`:N`lower(${dZ.content}) LIKE ${X}`).orderBy(PZ(U0.lastActive))).map((G)=>G.conversation)}async countMessages($){let[Z]=await this.db.select({count:wb()}).from(dZ).where(c(dZ.conversationId,$));return Number(Z?.count??0)}async updateConversationMetadata($){let Z=await this.getConversation($.conversationId);if(!Z)return!1;let X=new Date().toISOString(),J={...D7(Z.metadata),...$.metadata};return await this.db.update(U0).set({metadata:JSON.stringify(J),updated:X}).where(c(U0.id,$.conversationId)),this.logger.debug("Updated conversation metadata",{conversationId:$.conversationId}),!0}async deleteConversation($){if(!await this.getConversation($))return!1;return await this.db.delete(U0).where(c(U0.id,$)),this.logger.debug("Deleted conversation",{conversationId:$}),!0}async checkAndBroadcastDigest($,Z){let X=await this.countMessages($),J=this.config.digestTriggerInterval??10;if(X>0&&X%J===0)await this.broadcastDigest($,X,Z)}async broadcastDigest($,Z,X){let J=this.config.digestWindowSize??20,G=Math.max(1,Z-J+1),Y=Z,W=await this.getMessages($,{range:{start:G,end:Y}}),D={conversationId:$,messageCount:Z,messages:W,windowStart:G,windowEnd:Y,windowSize:W.length,timestamp:X};await this.messageBus.send({type:_h.digest,payload:D,sender:"conversation-service",broadcast:!0}),this.logger.debug("Broadcast conversation digest",{conversationId:$,messageCount:Z,windowStart:G,windowEnd:Y,windowSize:W.length})}}function WJ$($){let Z=cX.safeParse($);return Z.success?Z.data:"user"}function qA($){let Z=D7($.metadata),X=typeof Z.channelName==="string"?Z.channelName:void 0;return{id:$.id,sessionId:$.sessionId,interfaceType:$.interfaceType,channelId:$.channelId,...$.personId?{personId:$.personId}:{},channelName:X,startedAt:$.started,lastActiveAt:$.lastActive,createdAt:$.created,updatedAt:$.updated,metadata:Z}}function Rh($){return{id:$.id,conversationId:$.conversationId,role:WJ$($.role),content:$.content,timestamp:$.timestamp,metadata:D7($.metadata)}}function wh($){return wN.parse($)}function Ch($){return CN.parse($)}function Lh($){return async()=>{return Nh(await $.getAppInfo())}}function qh($,Z){return{get:()=>wh($.getIdentity()),getProfile:()=>Ch($.getProfile()),getAppInfo:Z}}function Eh($,Z){let X=$.getProfileKindRegistry();return{register:(J)=>{X.register(Z,J)},getResolved:()=>X.getResolved(),getSelectedDefinition:()=>X.getSelectedDefinition()}}function LP($){let Z=$.getChannelRegistry();return{listDescriptors:()=>Z.listDescriptors(),getDescriptor:(X)=>Z.getDescriptor(X),getDeliveryProvider:(X)=>Z.getDeliveryProvider(X)}}function xh($,Z){let X=$.getOperationalHealthRegistry();return{register:(J,G)=>X.register(Z,J,G)}}function Sh($,Z){let X=$.getInboxRegistry();return{registerSource:(J)=>{X.registerSource(Z,J)},listSources:()=>X.listSources(),getSource:(J)=>X.getSource(J)}}function jh($,Z){let X=$.getInboxFollowUpRegistry();return{registerKind:(J)=>{X.registerKind(Z,J)},listKinds:()=>X.listKinds(),getKind:(J)=>X.getKind(J),resolveUniversal:(J)=>X.resolveUniversal(J)}}function kh($,Z){let X=$.getChannelRegistry();return{...LP($),registerDescriptor:(J)=>{X.registerDescriptor(Z,J)},registerDeliveryProvider:(J)=>{X.registerDeliveryProvider(Z,J)}}}function Ih($,Z,X,J=!1){let G=$.getMessageBus();return{send:async(W)=>{return G.send({...W,sender:Z})},subscribe:(W,D)=>{if(J)return()=>{};if(Bh(W)){let U=W,A=D,Q=async(O)=>{let P=U.schema.safeParse(O.payload);if(!P.success)return X.warn(`Invalid payload for channel ${U.name}`,{error:P.error.message}),{noop:!0};let{payload:_,...M}=O;return A(P.data,M)};return G.subscribe(U.name,Q)}return G.subscribe(W,D)},subscribeExecution:(W,D)=>G.subscribe(W,D)}}function vh($,Z){let X=$.getJobQueueService();return{...$.jobs,enqueue:zP(X,Z,!0),enqueueBatch:RP($.jobs,Z),registerHandler:wP(X,Z)}}function yh($){let Z=$.getPermissionService();return{assertEntityActionAllowed:(X,J,G)=>{Z.assertEntityActionAllowed(X,J,G.userPermissionLevel)}}}function bh($){return{get:async(Z)=>{let J=await $.getConversationService().getConversation(Z);return J?qA(J):null},search:async(Z)=>{return(await $.getConversationService().searchConversations(Z)).map(qA)},list:async(Z)=>{return(await $.getConversationService().listConversations(Z)).map(qA)},getMessages:async(Z,X)=>{return(await $.getConversationService().getMessages(Z,X)).map(Rh)},countMessages:async(Z)=>{return $.getConversationService().countMessages(Z)}}}function gh($,Z){return{registerHandler:(X,J)=>{$.registerEvalHandler(Z,X,J)}}}function hh($){return{register:(Z,X)=>{$.getInsightsRegistry().register(Z,X)}}}function mh($){return{has:(Z)=>$.getPluginPackageName(Z)!==void 0}}function fh($,Z){return{register:(X)=>{$.registerEndpoint({...X,pluginId:Z})}}}function ch($,Z){return{register:(X)=>{$.registerInteraction({...X,pluginId:Z})}}}var qP="DeclarativeOperatorWidget";function ph($,Z){if("success"in Z&&Z.success)return!0;let X="error"in Z?Z.error:void 0;throw Error(`Dashboard widget ${$} failed: ${X??"unknown host error"}`)}function dh($,Z,X){return{registerWidget:async(J)=>{if(!X(KY.registerWidget))return!1;let G=await $.send({type:KY.registerWidget,payload:{...J,pluginId:Z}});return ph("register",G)},unregisterWidget:async(J)=>{if(!X(KY.unregisterWidget))return!1;let G=await $.send({type:KY.unregisterWidget,payload:{pluginId:Z,...J?{widgetId:J}:{}}});return ph("unregister",G)}}}function H7($,Z,X){let J=$.getEntityService(),G=$.getLogger().child(Z),Y=$.getDomain(),W=$.getLocalSiteUrl(),D=$.shouldPreferLocalUrls(),U=$.getThemeCSS(),A=Lh($),Q=$.getAttachmentRegistry(),O=$.getRuntimeUploadRegistry(),P=$.getRuntimeState(),_=$.getAccountSettingsRegistry(),M=X?.executionOnly===!0,z=Ih($,Z,G,M);return{pluginId:Z,executionOnly:M,logger:G,entityService:J,semantic:{project:(x)=>J.projectSemanticSpace(x)},identity:qh($,A),profileKinds:Eh($,Z),channels:LP($),inbox:Sh($,Z),inboxFollowUps:jh($,Z),appInfo:A,readiness:()=>$.getRuntimeReadiness(),operationalHealth:xh($,Z),judge:(x)=>$.judge(x),domain:Y,siteUrl:Y?`https://${Y}`:void 0,localSiteUrl:W,previewUrl:Y?`https://${KP(Y)}`:void 0,preferLocalUrls:D,themeCSS:U,entityDisplay:X?.entityDisplay,spaces:$.getSpaces(),permissions:yh($),messaging:z,dashboard:dh(z,Z,(x)=>$.getMessageBus().hasHandlers?.(x)??!1),jobs:vh($,Z),attachments:Q,uploads:O,accountSettings:_,runtimeState:P,recurringChecks:$.getRecurringChecks(Z),conversations:bh($),dataDir:$.getDataDir(),eval:M?{registerHandler:()=>{}}:gh($,Z),insights:M?{register:()=>{}}:hh($),plugins:mh($),endpoints:M?{register:()=>{}}:fh($,Z),interactions:M?{register:()=>{}}:ch($,Z)}}function DJ$($){return $.replace(/:/g,"-")}function HJ$($){return $.split(/[:.-]/).map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join(" ")}var EP=new Map;async function EA($,Z,X){let J=EP.get(Z);if(J!==void 0)return J;let G=DJ$(Z),Y;try{Y=await $.getEntity({entityType:"prompt",id:G})}catch{return X}if(Y?.content){let W=cZ(Y.content,H.record(H.string(),H.unknown())).content;return EP.set(Z,W),W}try{let W=HJ$(Z),D=z4(X,{title:W,target:Z});await $.createEntity({entity:{id:G,entityType:"prompt",content:D,metadata:{title:W,target:Z,slug:G}}})}catch{}return EP.set(Z,X),X}async function UJ$($,Z){let X=$.list().filter((J)=>!!J.basePrompt);return await Promise.all(X.map((J)=>EA(Z,J.name,J.basePrompt))),X.length}function xA($){let Z=$.getEntityService(),X=$.getEntityRegistry(),J=$.getDataSourceRegistry();return{register:(G,Y,W,D)=>{X.registerEntityType(G,Y,W,D)},getAdapter:(G)=>{try{return X.getAdapter(G)}catch{return}},extendFrontmatterSchema:(G,Y)=>{X.extendFrontmatterSchema(G,Y)},getEffectiveFrontmatterSchema:(G)=>{return X.getEffectiveFrontmatterSchema(G)},registerPersistValidator:(G,Y)=>{X.registerPersistValidator(G,Y)},registerCreateInterceptor:(G,Y)=>{X.registerCreateInterceptor(G,Y)},registerUploadSaveHandler:(G)=>{X.registerUploadSaveHandler(G)},getUploadSaveHandler:(G)=>{return X.getUploadSaveHandler(G)},update:async(G)=>{return Z.updateEntity({entity:G})},registerDataSource:(G)=>{J.register(G)}}}function SA($){return{resolve:(Z,X)=>{return EA($,Z,X)}}}function jA($){return{query:(Z,X)=>$.query(Z,X),generate:async(Z)=>{return $.generateContent(Z)},generateObject:async(Z,X,J)=>{return $.generateObject(Z,X,J)},generateImage:async(Z,X)=>{return $.generateImage(Z,X)},canGenerateImages:()=>{return $.canGenerateImages()}}}function xP($,Z,X){let J=H7($,Z,X),G=$.getEntityService();return{...J,entityService:G,entities:xA($),ai:jA($),prompts:SA(G),permissions:J.permissions}}var SP=H.object({});class VY extends J7{type="entity";entityActionPolicy;constructor($,Z,X,J,G){super($,Z,X,J);if(G!==void 0)this.entityActionPolicy=G}async register($,Z){let X=xP($,this.id,Z);this.context=X,this.setupMessageHandlers(X);let J=this.getProjectionRules(X),G=this.getEntityTypeConfig(),Y=J.some((P)=>P.targetType===this.entityType),W=G?.projectionSource!==!1&&G?.projectionSourceRole!=="excluded"&&(G?.projectionSource===!0||G?.projectionSourceRole!==void 0),D=Y&&!W?{...G,projectionSource:!1,projectionSourceRole:"excluded"}:G;if(X.entities.register(this.entityType,this.schema,this.adapter,D),this.interceptCreate!==VY.prototype.interceptCreate)X.entities.registerCreateInterceptor(this.entityType,(P,_)=>this.interceptCreate(P,_,X));let U=this.createGenerationHandler(X);if(U)X.jobs.registerHandler(`${this.entityType}:generation`,U);let A=this.getTemplates();if(A&&Object.keys(A).length>0)$.registerTemplates(A,this.id);let Q=this.getDataSources();for(let P of Q)X.entities.registerDataSource(P);await this.onRegister(this.context);let O=await this.getInstructions();return{tools:[],resources:[],...O&&{instructions:O},...J.length>0&&{projectionRules:J}}}async interceptCreate($,Z,X){return{kind:"continue",input:$}}createGenerationHandler($){return null}getTemplates(){return null}getDataSources(){return[]}getEntityTypeConfig(){return}getProjectionRules($){return[]}}function kP($){return uh(jP($))}function jP($,Z=new Set){if($===null)return"null";if(typeof $==="string"||typeof $==="boolean")return JSON.stringify($);if(typeof $==="number"){if(!Number.isFinite($))throw Error("Projection inputs cannot contain non-finite numbers");if(Number.isInteger($)&&!Number.isSafeInteger($))throw Error("Projection inputs cannot contain unsafe integers");return JSON.stringify($)}if(typeof $!=="object")throw Error(`Projection inputs cannot contain ${typeof $} values`);if(Z.has($))throw Error("Projection inputs cannot contain circular values");let X=new Set(Z).add($);if(Array.isArray($))return`[${$.map((G)=>jP(G,X)).join(",")}]`;let J=Object.getPrototypeOf($);if(J!==Object.prototype&&J!==null)throw Error("Projection inputs must contain only plain JSON objects");return`{${Object.entries($).filter(([,G])=>G!==void 0).sort(([G],[Y])=>G.localeCompare(Y)).map(([G,Y])=>`${JSON.stringify(G)}:${jP(Y,X)}`).join(",")}}`}function IP($){if($!==null&&typeof $==="object"){for(let Z of Object.values($))IP(Z);Object.freeze($)}return $}var AJ$=H.strictObject({id:H.string().trim().min(1),version:H.string().trim().min(1),sources:H.array(H.strictObject({kind:H.literal("entity"),types:H.array(H.string().trim().min(1)).min(1),excludeTypes:H.array(H.string().trim().min(1)).optional()})),targetType:H.string().trim().min(1),sourceChangeBatchDelayMs:H.number().int().nonnegative().default(0)});function vP($){let Z=AJ$.parse({id:$.id,version:$.version,sources:$.sources,targetType:$.targetType,sourceChangeBatchDelayMs:$.sourceChangeBatchDelayMs});if(typeof $.selectInput!=="function")throw Error(`Projection rule "${Z.id}" must select input`);if(typeof $.derive!=="function")throw Error(`Projection rule "${Z.id}" must derive output`);let X=Z.sources.map((J)=>{let G=Object.freeze([...J.types]),Y=J.excludeTypes?Object.freeze([...J.excludeTypes]):void 0,W={kind:"entity",types:G,...Y?{excludeTypes:Y}:{}};return Object.freeze(W)});return Object.freeze({id:Z.id,version:Z.version,sources:Object.freeze(X),targetType:Z.targetType,sourceChangeBatchDelayMs:Z.sourceChangeBatchDelayMs,inputSchema:$.inputSchema,selectInput:async(J,G,Y)=>{let W=await $.selectInput(J,G,Y),D=g6.parse(W);return IP($.inputSchema.parse(D))},fingerprint:kP,derive:async(J,G,Y)=>{let W=$.inputSchema.parse(J),D=H.array(y9).parse(await $.derive(W,G,Y));for(let U of D){let A=U.operation==="upsert"?U.entity.entityType:U.entityType;if(A!==Z.targetType)throw Error(`Projection rule "${Z.id}" cannot write entity type "${A}"`)}return IP(D)}})}var KJ$=H.record(H.string(),H.unknown()),VJ$=H.object({items:H.array(H.object({operation:H.enum(["upsert","delete"]),id:H.string(),source:g6.optional()}))}),oh=new WeakMap;function kA($){let Z=oh.get($);if(!Z)Z=H6.extend({entityType:H.literal($.type),metadata:$.metadata}),oh.set($,Z);return Z}function JJ($,Z){return kA($).parse(Z)}function nh($,Z){return $.markdown?$.markdown.encode({content:Z.content,metadata:$.metadata.parse(Z.metadata)}):{content:Z.content,frontmatter:Z.metadata}}function rh($,Z){let X=nh($,Z);return z4(X.content,X.frontmatter)}function QJ$($){let Z=kA($);return{entityType:$.type,purpose:$.purpose,schema:Z,frontmatterSchema:$.metadata,toMarkdown(X){return rh($,X)},fromMarkdown(X){let J=cZ(X,KJ$),G=$.markdown?$.markdown.decode({content:J.content,frontmatter:J.metadata}):{content:J.content,metadata:J.metadata};return{content:G.content,metadata:$.metadata.parse(G.metadata)}},extractMetadata:(X)=>X.metadata,parseFrontMatter:(X,J)=>cZ(X,J).metadata,generateFrontMatter(X){return bG(nh($,X).frontmatter)},getBodyTemplate:()=>""}}async function OJ$($,Z,X){let J=kA($.source).parse(Z),G=[];return await $.project({source:J,signal:X,target:{async upsert(Y){let W=g6.parse($.target.metadata.parse(Y.metadata)),D=Y.visibility??"public";G.push({operation:"upsert",entity:{id:Y.id,entityType:$.target.type,content:t5(rh($.target,{content:Y.content,metadata:W}),D),metadata:W,visibility:D}})}}}),G}function BJ$($,Z,X){return vP({id:X($.id),version:Z,sources:[{kind:"entity",types:[$.source.type]}],targetType:$.target.type,inputSchema:g6,async selectInput(J,G){let Y=J.inputs.filter(({sourceType:D})=>D===$.source.type),W=await Promise.all(Y.map(async(D)=>{if(D.operation==="delete")return{operation:"delete",id:D.sourceId};let U=await G.entities.getEntity({entityType:D.sourceType,id:D.sourceId,visibilityScope:"restricted"});if(!U)throw Error(`Projection "${$.id}" could not load ${D.sourceType}:${D.sourceId}`);return{operation:"upsert",id:D.sourceId,source:U}}));return g6.parse({items:W})},async derive(J,G,Y){let W=VJ$.parse(J),D=[];for(let U of W.items){if(Y.throwIfAborted(),U.operation==="delete"){D.push({operation:"delete",entityType:$.target.type,id:U.id});continue}if(!U.source)throw Error(`Projection "${$.id}" upsert item ${U.id} is missing its source`);D.push(...await OJ$($,U.source,Y))}return D}})}class lh extends VY{projections;scope;entityType;schema;adapter;constructor($,Z,X,J){super(J($.type),X,{},SP);this.projections=Z,this.scope=J,this.entityType=$.type,this.schema=kA($),this.adapter=QJ$($)}getProjectionRules(){return this.projections.map(($)=>BJ$($,this.version,this.scope))}}function ih($,Z,X,J){return $.map((G)=>new lh(G,Z.filter(({source:Y})=>Y===G),X,J))}var sh=Symbol.for("rizom.plugin-package.runtime-factory");function GJ(){return H.custom(($)=>$!==null&&typeof $==="object")}function uZ($,Z){if(!/^[a-z][a-z0-9-]*$/u.test($))throw Error(`${Z} must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens`)}function h9($){uZ($.id,"Plugin definition id");let Z={kind:"rizom-plugin-package",family:$.family,id:$.id,config:$.config},X=Object.assign({},$.public,Z);return Object.defineProperty(X,sh,{configurable:!1,enumerable:!1,value:$.instantiate,writable:!1}),Object.freeze(X)}function NJ$($){if($===null||typeof $!=="object")return!1;let Z=$;return Z.kind==="rizom-plugin-package"&&typeof Z.id==="string"&&typeof Z.family==="string"&&Z.config!==void 0&&typeof Z.config.safeParse==="function"&&typeof Z[sh]==="function"}function _J$($){if(uZ($.type,"Entity type"),!$.purpose.trim())throw Error(`Entity "${$.type}" purpose must not be empty`);return Object.freeze({kind:"rizom-entity",...$})}function PJ$($){return uZ($.id,"Projection id"),Object.freeze({kind:"rizom-projection",...$})}var FJ$=H.object({});function TJ$($){let Z=Object.freeze([...$.entities]),X=Object.freeze([...$.projections??[]]),J=new Set(Z),G=Z.map(({type:U})=>U);if(new Set(G).size!==G.length)throw Error(`Entity package "${$.id}" contains duplicate entity types`);let Y=X.map(({id:U})=>U);if(new Set(Y).size!==Y.length)throw Error(`Entity package "${$.id}" contains duplicate projection ids`);let W=X.find(({source:U,target:A})=>!J.has(U)||!J.has(A));if(W)throw Error(`Entity package "${$.id}" projection "${W.id}" references an entity outside its package`);let D={entities:Z,projections:X};return h9({family:"entity",id:$.id,config:FJ$,public:D,instantiate:({package:U,scope:A})=>ih(Z,X,U,A)})}var MJ$=["public","trusted","admin"];function z1($,Z){if(!$.trim())throw Error(`${Z} must not be empty`)}function U7($,Z){if($!==void 0)z1($,Z)}function yP($,Z){if($!==void 0&&!Number.isFinite($))throw Error(`${Z} priority must be finite`)}function OY($,Z){if(!MJ$.includes($))throw Error(`${Z} permission "${String($)}" is unsupported`)}function IA($,Z){return QY.hasPermission($,Z)}var ah=new WeakMap;function th($){let Z=ah.get($);if(!Z)throw Error(`Dashboard widget "${$.definition.id}" was not bound by defineDashboardWidget().bind()`);return Z}function eh($){if(uZ($.id,"Dashboard widget id"),z1($.title,`Dashboard widget "${$.id}" title`),z1($.group,`Dashboard widget "${$.id}" group`),U7($.description,`Dashboard widget "${$.id}" description`),yP($.priority,`Dashboard widget "${$.id}"`),OY($.permission,`Dashboard widget "${$.id}"`),!["primary","secondary","sidebar"].includes($.placement))throw Error(`Dashboard widget "${$.id}" placement "${String($.placement)}" is unsupported`);let Z={kind:"rizom-dashboard-widget",...$,bind(X,J){let G=Object.freeze({kind:"rizom-dashboard-widget-binding",definition:Z});return ah.set(G,J),G}};return Object.freeze(Z)}var zJ$=new WeakMap;function $m($){uZ($.id,"CMS workspace id"),z1($.label,`CMS workspace "${$.id}" label`),U7($.description,`CMS workspace "${$.id}" description`),yP($.priority,`CMS workspace "${$.id}"`),OY($.permission,`CMS workspace "${$.id}"`);let Z=new Set;for(let J of $.actions){if(Z.has(J.name))throw Error(`CMS workspace "${$.id}" declares action "${J.name}" more than once`);if(Z.add(J.name),J.permission!==void 0&&!IA(J.permission,$.permission))throw Error(`CMS workspace "${$.id}" action "${J.name}" permission cannot be lower than the workspace permission`)}let X={kind:"rizom-cms-workspace",...$,...$.entities?{entities:Object.freeze([...$.entities])}:{},actions:Object.freeze([...$.actions]),bind(J,G){let Y=new Set;for(let D of G.actions){if(!X.actions.includes(D.definition))throw Error(`CMS workspace "${X.id}" cannot bind undeclared action "${D.definition.name}"`);if(Y.has(D.definition))throw Error(`CMS workspace "${X.id}" binds action "${D.definition.name}" more than once`);Y.add(D.definition)}for(let D of X.actions)if(!Y.has(D))throw Error(`CMS workspace "${X.id}" has no executor for action "${D.name}"`);let W=Object.freeze({kind:"rizom-cms-workspace-binding",definition:X,actions:Object.freeze([...G.actions])});return zJ$.set(W,{authorize:G.authorize,load:G.load}),W}};return Object.freeze(X)}var Zm=new WeakMap;function Xm($){if(uZ($.name,"Job name"),$.retry&&(!Number.isInteger($.retry.attempts)||$.retry.attempts<1))throw Error(`Job "${$.name}" retry attempts must be at least 1`);if($.deadline)bP($.deadline);let Z={kind:"rizom-service-job",...$,handle(X){let J=Object.freeze({kind:"rizom-service-job-binding",definition:Z});return Zm.set(J,X),J}};return Object.freeze(Z)}function Jm($){let Z=Zm.get($);if(!Z)throw Error(`Job "${$.definition.name}" was not created by defineJob().handle()`);return Z}function bP($){let Z=/^(\d+)(ms|s|m)$/u.exec($);if(!Z)throw Error(`Invalid job deadline "${$}"`);let X=Number(Z[1]);if(!Number.isSafeInteger(X)||X<1)throw Error(`Job deadline "${$}" must be positive`);let J=Z[2];return X*(J==="m"?60000:J==="s"?1000:1)}function Gm($){if(uZ($.name,"Tool name"),!$.description.trim())throw Error(`Tool "${$.name}" description must not be empty`);return Object.freeze({kind:"rizom-service-tool",...$})}function gP($){z1($.title,"Account settings title"),U7($.description,"Account settings description");let Z=Object.keys($.schema.shape),X=new Set(Object.keys($.fields)),J=new Set(["text","url","number","checkbox"]);for(let[Y,W]of Object.entries($.fields)){if(!Z.includes(Y))throw Error(`Account settings field "${Y}" is not declared by the settings schema`);if(z1(W.label,`Account settings field "${Y}" label`),W.control!==void 0&&!J.has(W.control))throw Error(`Account settings field "${Y}" has unsupported control "${String(W.control)}"`);if(W.secret!==void 0&&typeof W.secret!=="boolean")throw Error(`Account settings field "${Y}" secret must be boolean`)}for(let Y of Z)if(!X.has(Y))throw Error(`Account settings schema field "${Y}" has no field declaration; declare its label and whether it is secret`);let G=Object.freeze(Object.fromEntries(Object.entries($.fields).map(([Y,W])=>[Y,Object.freeze({...W})])));return Object.freeze({kind:"rizom-account-settings",...$,fields:G})}var RJ$=new WeakMap;function Ym($){if(uZ($.name,"Workspace action name"),z1($.label,`Workspace action "${$.name}" label`),U7($.confirmation,`Workspace action "${$.name}" confirmation`),$.permission!==void 0)OY($.permission,`Workspace action "${$.name}"`);let Z={kind:"rizom-workspace-action",...$,bind(X,J){let G=Object.freeze({kind:"rizom-workspace-action-binding",definition:Z});return RJ$.set(G,J),G}};return Object.freeze(Z)}import{AsyncLocalStorage as iJ$}from"async_hooks";var m8=H.string().trim().min(1).max(120),A7=H.string().trim().min(1).max(160),BY=H.string().max(500),Dm=H.string().max(4000),hP=H.enum(["good","warn","neutral","error"]),mP=H.union([H.string().max(2000),H.number().finite(),H.boolean(),H.null()]),Wm=H.string().max(2048).refine(($)=>{try{let Z=new URL($);return Z.protocol==="https:"||Z.protocol==="http:"}catch{return!1}},{message:"External operator links must use http or https"});function wJ$($){return $!==null&&typeof $==="object"&&"kind"in $&&$.kind==="rizom-entity"&&"type"in $&&typeof $.type==="string"&&$.type.length>0}var CJ$=H.custom(wJ$,{message:"Expected an imported entity definition"});function LJ$($){return{kind:"external",href:$.external}}function qJ$($){return{kind:"entity",entityType:$.entity.type,id:$.id}}var fP=H.union([H.object({external:Wm}).strict().transform(LJ$),H.object({entity:CJ$,id:m8}).strict().transform(qJ$),H.object({kind:H.literal("external"),href:Wm}).strict(),H.object({kind:H.literal("entity"),entityType:m8,id:m8}).strict()]),EJ$=H.object({label:A7,value:H.union([H.string().max(500),H.number().finite()]),tone:hP.optional()}).strict(),xJ$=H.object({label:A7,value:mP}).strict(),SJ$=H.object({type:H.literal("stats"),id:m8.optional(),items:H.array(EJ$).max(20)}).strict(),jJ$=H.object({type:H.literal("key-values"),id:m8.optional(),items:H.array(xJ$).max(40)}).strict(),kJ$=H.object({type:H.literal("notice"),id:m8.optional(),title:A7.optional(),text:Dm,tone:hP.optional()}).strict(),IJ$=H.object({type:H.literal("links"),id:m8.optional(),items:H.array(H.object({label:A7,target:fP}).strict()).max(30)}).strict(),vJ$=H.object({id:m8,title:BY,description:Dm.optional(),meta:BY.optional(),tone:hP.optional(),link:fP.optional()}).strict(),yJ$=H.object({type:H.literal("list"),id:m8,empty:BY,items:H.array(vJ$).max(200)}).strict().superRefine(($,Z)=>{let X=new Set;for(let[J,G]of $.items.entries()){if(X.has(G.id))Z.addIssue({code:"custom",message:`List item id "${G.id}" is duplicated`,path:["items",J,"id"]});X.add(G.id)}}),bJ$=H.object({key:m8,label:A7,align:H.enum(["start","center","end"]).optional()}).strict(),gJ$=H.object({key:m8,label:A7,values:H.array(mP).max(50)}).strict(),hJ$=H.union([mP,H.array(H.string().max(500)).max(50)]),mJ$=H.object({id:m8,cells:H.record(H.string(),hJ$),link:fP.optional()}).strict(),fJ$=H.object({type:H.literal("table"),id:m8,empty:BY,filters:H.array(gJ$).max(20).optional(),columns:H.array(bJ$).min(1).max(30),rows:H.array(mJ$).max(500)}).strict().superRefine(($,Z)=>{let X=new Set;for(let[G,Y]of $.columns.entries()){if(X.has(Y.key))Z.addIssue({code:"custom",message:`Table column key "${Y.key}" is duplicated`,path:["columns",G,"key"]});X.add(Y.key)}for(let[G,Y]of($.filters??[]).entries())if(!X.has(Y.key))Z.addIssue({code:"custom",message:`Table filter key "${Y.key}" has no matching column`,path:["filters",G,"key"]});let J=new Set;for(let[G,Y]of $.rows.entries()){if(J.has(Y.id))Z.addIssue({code:"custom",message:`Table row id "${Y.id}" is duplicated`,path:["rows",G,"id"]});J.add(Y.id);for(let W of Object.keys(Y.cells))if(!X.has(W))Z.addIssue({code:"custom",message:`Table cell key "${W}" has no matching column`,path:["rows",G,"cells",W]})}}),Hm=H.object({title:BY.optional(),blocks:H.array(H.union([SJ$,jJ$,kJ$,IJ$,yJ$,fJ$])).max(50)}).strict().superRefine(($,Z)=>{let X=new Set;for(let[J,G]of $.blocks.entries()){if(G.id===void 0)continue;if(X.has(G.id))Z.addIssue({code:"custom",message:`Operator view block id "${G.id}" is duplicated`,path:["blocks",J,"id"]});X.add(G.id)}}),Um=H.object({items:H.array(H.object({label:A7,value:H.string().max(500)}).strict()).max(4),attention:H.number().int().nonnegative().optional()}).strict(),cJ$=H.object({view:Hm,digest:Um.optional()}).strict();function cP($){return $.issues.map((Z)=>({path:Z.path,message:Z.message}))}function Am($){let Z=Hm.safeParse($);return Z.success?{success:!0,data:Z.data}:{success:!1,issues:cP(Z.error)}}function Km($){let Z=Um.safeParse($);return Z.success?{success:!0,data:Z.data}:{success:!1,issues:cP(Z.error)}}function pP($){let Z=cJ$.safeParse($);return Z.success?{success:!0,data:Z.data}:{success:!1,issues:cP(Z.error)}}var NY=new WeakMap;function Vm($,Z){let X=NY.get($);if(X&&X!==Z)throw Error(`Job "${$.name}" is registered as both "${X}" and "${Z}"`);NY.set($,Z)}function Qm($,Z){if(NY.get($)===Z)NY.delete($)}function _Y($){let Z=NY.get($);if(!Z)throw Error(`Job "${$.name}" is not registered by an active declarative service`);return Z}function K7($,Z,X){return Error(`Service "${$.publicServiceId}" package "${$.packageName}" dashboard widget "${$.widgetId}" ${Z}${X?`: ${X}`:""}`)}function dP($){return $.slice(0,5).map((Z)=>{return`${Z.path.length>0?Z.path.join("."):"value"}: ${Z.message}`}).join("; ")}function pJ$($,Z,X){let J=$.safeParse(Z);if(!J.success)throw K7(X,"returned invalid data; return a value matching its data schema",dP(J.error.issues));return J.data}function dJ$($,Z){let X=Am($);if(!X.success)throw K7(Z,"returned an invalid view; use supported OperatorView blocks and safe links",dP(X.issues));return X.data}function uJ$($,Z){let X=Km($);if(!X.success)throw K7(Z,"returned an invalid digest; provide at most four bounded lines and a non-negative attention count",dP(X.issues));return X.data}function oJ$($,Z){let X={...Z};for(let J in X)if($.fields[J]?.secret===!0)delete X[J];return Object.freeze(X)}function nJ$($,Z){return $.parse(Z)}function Om($,Z){let X=Z.status==="completed"&&Z.result!==void 0?nJ$($.output,Z.result):void 0;return Object.freeze({id:Z.id,status:Z.status,...X!==void 0?{result:X}:{},...Z.lastError?{error:Z.lastError}:{}})}function rJ$($){return{async enqueue(Z,X){let J=_Y(Z),G=await $.jobs.enqueue({type:J,data:Z.input.parse(X),options:{source:$.pluginId,metadata:{operationType:"data_processing",pluginId:$.pluginId}}});return Object.freeze({id:G,status:async()=>{let Y=await $.jobs.getStatus(G);return Y?.type===J?Om(Z,Y):null}})},async status(Z,X){let J=_Y(Z),G=await $.jobs.getStatus(X);return G?.type===J?Om(Z,G):null}}}async function lJ$($){let{caller:Z,signal:X}=$.provider;X.throwIfAborted();let J=Z?.permission??"public",G=L9(J),Y=Z&&$.accountSettingsRegistration?await $.context.accountSettings.getForActor($.accountSettingsRegistration,Z.actor.id):null,W=Y&&$.accountSettingsRegistration?oJ$($.accountSettingsRegistration.definition,Y):null;return{config:$.config,state:$.state,caller:Z,settings:W,entities:{async get(D,U){X.throwIfAborted();let A=await $.context.entityService.getEntity({entityType:D.type,id:U,visibilityScope:G});return X.throwIfAborted(),A?JJ(D,A):null},async list(D){X.throwIfAborted();let U=await $.context.entityService.listEntities({entityType:D.type,options:{filter:{visibilityScope:G}}});return X.throwIfAborted(),U.map((A)=>JJ(D,A))},async search(D,U){X.throwIfAborted();let A=await $.context.entityService.search({query:U,options:{types:[D.type],visibilityScope:G}});return X.throwIfAborted(),A.map(({entity:Q})=>JJ(D,Q))}},jobs:rJ$($.context),permissions:{allows(D,U){try{return $.context.permissions.assertEntityActionAllowed(D.type,U,{userPermissionLevel:J}),!0}catch{return!1}}},signal:X}}function Bm($){let Z=$.binding.definition,X={publicServiceId:$.publicServiceId,packageName:$.packageName,widgetId:Z.id},J=th($.binding);return{id:Z.id,title:Z.title,...Z.description?{description:Z.description}:{},group:Z.group,rendererName:qP,section:Z.placement,priority:Z.priority??50,visibility:Z.permission,async dataProvider(G){let Y={...G,signal:AbortSignal.any([G.signal,$.runtimeSignal])},W=Y.caller?.permission??"public";if(!IA(W,Z.permission))throw K7(X,"was requested below its minimum permission");let D=await lJ$({config:$.config,state:$.state,...$.accountSettingsRegistration?{accountSettingsRegistration:$.accountSettingsRegistration}:{},provider:Y,context:$.context});Y.signal.throwIfAborted();let U;try{U=await J(D)}catch(_){if(Y.signal.aborted)throw Y.signal.reason??_;throw K7(X,"data loader failed")}Y.signal.throwIfAborted();let A=pJ$(Z.data,U,X),Q;try{Q=Z.view({data:A})}catch(_){if(Y.signal.aborted)throw Y.signal.reason??_;throw K7(X,"view derivation failed")}let O=dJ$(Q,X),P;if(Z.digest){let _;try{_=Z.digest({data:A})}catch(M){if(Y.signal.aborted)throw Y.signal.reason??M;throw K7(X,"digest derivation failed")}P=uJ$(_,X)}return Object.freeze({view:O,...P?{digest:P}:{}})},digestProvider(G){let Y=pP(G);if(!Y.success)return{};return{...Y.data.digest?{digest:Y.data.digest.items.map((W)=>({...W,tone:"plain"}))}:{},...Y.data.digest?.attention!==void 0?{needsAttention:Y.data.digest.attention}:{}}}}}function uP($,Z,X){let J=H7($,Z,X),G=$.getEntityService(),Y=$.getRenderService(),W=$.getContentService(),D=$.getPermissionService();return{...J,permissions:{...J.permissions,getConfiguredPrincipalSeeds:()=>D.getConfiguredPrincipalSeeds(),replaceRuntimePrincipalState:(U)=>D.replaceRuntimePrincipalState(U)},entityService:G,entities:xA($),webRoutes:{getRoutes:()=>$.getPluginWebRoutes()},templates:{register:(U,A)=>{$.registerTemplates(U,A??Z)},format:(U,A)=>{return W.formatContent(U,A,{pluginId:Z})},parse:(U,A)=>{return W.parseContent(U,A,Z)},resolve:async(U,A)=>{return await W.resolveContent(U,A,Z)},getCapabilities:(U)=>{let A=U.includes(":")?U:`${Z}:${U}`,Q=$.getTemplate(A);if(!Q)return null;let O=Nm.getCapabilities(Q);return{canGenerate:O.canGenerate,canFetch:O.canFetch,canRender:O.canRender,isStaticOnly:O.isStaticOnly}}},views:{get:(U)=>{return Y.get(U)??void 0},list:()=>{return Y.list()},hasRenderer:(U,A="web")=>{return Y.hasRenderer(U,A)},getRenderer:(U,A="web")=>{return Y.getRenderer(U,A)},validate:(U,A)=>{return Y.validate(U,A)}},prompts:SA(G),ai:jA($),registerInstructions:(U)=>{$.registerInstructions(Z,U)}}}class vA extends J7{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register($,Z){let X=uP($,this.id,Z);return this.context=X,this.setupMessageHandlers(X),await this.onRegister(X),this.getCapabilities()}get entityService(){return this.getContext().entityService}registerEntityType($,Z,X,J){this.getContext().entities.register($,Z,X,J)}async enqueueJob($){return this.getContext().jobs.enqueue($)}async enqueueBatch($,Z){return this.getContext().jobs.enqueueBatch($,Z)}async registerEntityTypes($){}async registerJobHandlers($){}async onRegister($){await this.registerEntityTypes($),await this.registerJobHandlers($)}}var oP="_rizomConfirmationToken";function _m($,Z){return $.format({value:$.schema.parse(Z)})}function sJ$($){if($===null||typeof $!=="object")return;let Z=Reflect.get($,oP);return typeof Z==="string"?Z:void 0}function aJ$($){if($===void 0)return{};try{return JSON.parse($)}catch{return $}}function Pm($,Z){let X=Z.status==="completed"&&Z.result!==void 0?$.output.parse(Z.result):void 0;return{id:Z.id,status:Z.status,progress:Z.progress,...X!==void 0?{result:X}:{},...Z.lastError?{error:Z.lastError}:{}}}function tJ$($,Z,X){let J=$.definition,G=Jm($);return{...J.deadline?{executionTimeoutMs:bP(J.deadline)}:{},validateAndParse(Y){let W=J.input.safeParse(Y);return W.success?W.data:null},async process(Y,W,D,U){let A=await G({input:Y,signal:U,progress:D,templates:X,entities:{async get(Q,O){let P=await Z.entityService.getEntity({entityType:Q.type,id:O,visibilityScope:"restricted"});return P?JJ(Q,P):null}},messaging:{async publish(Q){await Z.messaging.send({type:Q.topic,payload:Q.data})}}});return J.output.parse(A)}}}class Tm extends vA{definition;publicId;toolContext=new iJ$;cleanups=[];registeredJobs=new Set;operatorAbortController=new AbortController;registeredDashboardWidgetIds=[];accountSettingsRegistration;dashboardWidgetBindings=[];scopedShell;state;tools;resources;constructor($,Z,X,J){super(J,X,Z,GJ());this.definition=$,this.publicId=$.id}register($,Z){return this.scopedShell=$,super.register($,Z)}async onRegister($){if(await super.onRegister($),this.definition.cmsWorkspaces&&!$.executionOnly)throw Error(`Service "${this.publicId}" CMS workspaces require the operator runtime`);if(this.definition.accountSettings&&!$.executionOnly)this.accountSettingsRegistration=$.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});if(this.state=this.definition.setup?await this.definition.setup({config:this.config,lifecycle:{onCleanup:(G)=>{this.cleanups.push(G)}}}):Object.freeze({}),this.definition.dashboardWidgets&&!$.executionOnly){let G=this.definition.dashboardWidgets({config:this.config,state:this.requireState(),accountSettings:this.definition.accountSettings}),Y=new Set;for(let W of G){let D=W.definition.id;if(Y.has(D))throw Error(`Service "${this.publicId}" package "${this.packageName}" registers dashboard widget "${D}" more than once; return each local widget definition once`);Y.add(D)}this.dashboardWidgetBindings=Object.freeze([...G])}let Z=this.templateFormatter();$.templates.register(this.runtimeTemplates(),this.id),this.registerPrompts();let X=this.definition.jobs?.({config:this.config,state:this.state})??[],J=new Set;for(let G of X){let Y=G.definition;if(J.has(Y.name))throw Error(`Service "${this.publicId}" registers job "${Y.name}" more than once`);J.add(Y.name),this.registeredJobs.add(Y),Vm(Y,`${this.id}:${Y.name}`),$.jobs.registerHandler(Y.name,tJ$(G,$,Z))}}async onRegistrationComplete($){if(this.definition.accountSettings&&!$.executionOnly&&!$.accountSettings.hasBackend())throw Error(`Service "${this.publicId}" account settings require auth-service and an account settings encryption key`);if($.executionOnly||this.dashboardWidgetBindings.length===0)return;let Z=[];try{for(let X of this.dashboardWidgetBindings){let J=Bm({publicServiceId:this.publicId,packageName:this.packageName,config:this.config,state:this.requireState(),...this.accountSettingsRegistration?{accountSettingsRegistration:this.accountSettingsRegistration}:{},binding:X,context:$,runtimeSignal:this.operatorAbortController.signal}),G;try{G=await $.dashboard.registerWidget(J)}catch(Y){throw Error(`Service "${this.publicId}" package "${this.packageName}" dashboard widget "${X.definition.id}" host registration failed; correct the declaration or Dashboard configuration: ${d$(Y)}`,{cause:Y})}if(!G){await this.rollbackDashboardWidgets($,Z),this.logger.debug("Dashboard host absent; declarative widgets are inert",{serviceId:this.publicId,packageName:this.packageName,widgetCount:this.dashboardWidgetBindings.length});return}Z.push(X.definition.id)}this.registeredDashboardWidgetIds.push(...Z)}catch(X){throw await this.rollbackDashboardWidgets($,Z),X}}async getTools(){if(this.tools)return this.tools;let $=this.requireState(),Z=this.definition.tools?.({config:this.config,state:$,jobs:this.jobs(),templates:this.templateFormatter()})??[],X=new Set;return this.tools=Z.map((J)=>{if(X.has(J.name))throw Error(`Service "${this.publicId}" defines tool "${J.name}" more than once`);return X.add(J.name),this.runtimeTool(J)}),this.tools}async getResources(){if(this.resources)return this.resources;let $=this.definition.resources?.({config:this.config,state:this.requireState()})??{};return this.resources=Object.entries($).map(([Z,X])=>this.runtimeResource(Z,X)),this.resources}async getInstructions(){return this.definition.instructions?.({config:this.config,state:this.requireState()})}async onShutdown(){this.operatorAbortController.abort(Error(`Service "${this.publicId}" is shutting down`)),await this.rollbackDashboardWidgets(this.getContext(),this.registeredDashboardWidgetIds.splice(0)),this.dashboardWidgetBindings=[],this.tools=void 0,this.resources=void 0;for(let $ of this.registeredJobs)Qm($,`${this.id}:${$.name}`);this.registeredJobs.clear();for(let $ of this.cleanups.splice(0).reverse())await $()}async rollbackDashboardWidgets($,Z){for(let X of[...Z].reverse()){try{await $.dashboard.unregisterWidget(X)}catch(G){this.logger.error("Failed to unregister declarative dashboard widget",{serviceId:this.publicId,packageName:this.packageName,widgetId:X,error:d$(G)})}let J=this.registeredDashboardWidgetIds.lastIndexOf(X);if(J>=0)this.registeredDashboardWidgetIds.splice(J,1)}}requireState(){if(this.state===void 0)throw Error(`Service "${this.publicId}" has not completed setup`);return this.state}jobs(){let $=this.getContext();return{enqueue:async(Z,X)=>{if(!this.registeredJobs.has(Z))throw Error(`Service "${this.publicId}" cannot enqueue unregistered job "${Z.name}"`);let J=Z.input.parse(X),G=this.toolContext.getStore(),Y=Z.retry?Z.retry.attempts-1:void 0,W=await $.jobs.enqueue({type:Z.name,data:J,...G?{toolContext:G}:{},options:{source:this.id,metadata:{operationType:"data_processing",pluginId:this.id},...Y!==void 0?{maxRetries:Y}:{}}});return Object.freeze({id:W,status:async()=>{let D=await $.jobs.getStatus(W);return D?Pm(Z,D):null}})},async status(Z,X){let J=await $.jobs.getStatus(X);return J?Pm(Z,J):null}}}templateFormatter(){let $=this.definition.templates;return{format(Z,X){let J=$?.[Z];if(!J)throw Error(`Template not found: ${Z}`);return _m(J,X)}}}runtimeTemplates(){let $=this.definition.templates,Z=this.definition.views,X={},J=new Set([...Object.keys($??{}),...Object.keys(Z??{})]);for(let G of J){let Y=$?.[G],W=Z?.[G];if(Y&&W&&Y.schema!==W.schema)throw Error(`Service "${this.publicId}" template and view "${G}" must share one schema`);let D=Y?.schema??W?.schema;if(!D)continue;let U={name:G,description:W?.description??`${this.publicId} ${G}`,schema:D,requiredPermission:"admin",...Y?{formatter:{format:(Q)=>_m(Y,Q),parse:()=>{throw Error(`Template "${G}" is format-only`)}}}:{}};if(!W){X[G]=yA(U);continue}let A=(Q)=>{let O=W.schema.parse(Q);return typeof W.renderers.web==="function"?W.renderers.web(O):W.renderers.web};X[G]=yA({...U,schema:D,layout:{component:A}})}return X}registerPrompts(){let $=this.scopedShell;if(!$)throw Error(`Service "${this.publicId}" has no shell`);let Z=this.definition.prompts;for(let[X,J]of Object.entries(Z??{})){let G={name:`${this.publicId}_${X}`,...J.description?{description:J.description}:{},args:{input:{description:"JSON input",required:!0}},handler:async(Y)=>{let W=J.input.parse(aJ$(Y.input));return{messages:[{role:"user",content:{type:"text",text:J.render({input:W})}}]}}};$.registerPrompt(this.id,G)}}runtimeResource($,Z){return{uri:Z.uri,name:$,...Z.description?{description:Z.description}:{},mimeType:Z.mimeType??"text/plain",handler:async()=>({contents:[{uri:Z.uri,mimeType:Z.mimeType??"text/plain",text:await Z.read()}]})}}runtimeTool($){let Z=`${this.publicId}_${$.name}`,X=Fm({label:$.name,requestNoun:"the operation"});return{name:Z,description:$.description,inputSchema:$.input.shape,outputSchema:$.output,visibility:$.permission??"admin",sideEffects:$.sideEffects??($.confirmation?"writes":"none"),handler:async(J,G)=>{try{let Y=sJ$(J);if(Y!==void 0){let U=X.validateConfirmed(Y,J);if(U)return U;let A={...H.record(H.string(),H.unknown()).parse(J)};delete A[oP],J=A}let W=$.input.parse(J);if(Y===void 0&&$.confirmation)return{needsConfirmation:!0,toolName:Z,summary:$.confirmation,args:X.buildArgs((U)=>({...H.record(H.string(),H.unknown()).parse(W),[oP]:U}))};let D=await this.toolContext.run(G,()=>$.execute({input:W,signal:G.signal??new AbortController().signal}));return{success:!0,data:$.output.parse(D)}}catch(Y){return{success:!1,error:d$(Y)}}}}}}function Mm($,Z,X,J){return new Tm($,Z,X,J)}function zm($){return h9({family:"service",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Mm($,Z,X,J($.id))})}function eJ$($){if($.accountSettings!==void 0){let X={...$,accountSettings:$.accountSettings};return zm(X)}let Z={...$,accountSettings:void 0};return zm(Z)}var Rm=30000,wm=1e4;function Cm($,Z,X){let J,G=new Promise((Y,W)=>{J=setTimeout(()=>W(Error(X)),Z)});return Promise.race([$,G]).finally(()=>clearTimeout(J))}function bA($,Z,X){let J=!1,G=0,Y,W,D=Promise.resolve(),U=new Map,A=()=>{let _=D.catch(()=>{return}).then(()=>Q());return D=_.then(()=>{Y=void 0},(M)=>{Y="Account task reconciliation failed"}),_},Q=async()=>{if(!J)return;let _=G,M=await X.listConfigured(Z);if(_!==G)return;let z=new Map(M.map((x)=>[x.id,x.revision]));for(let[x,K$]of U)if(z.get(x)!==K$.revision)await P(x,K$);if(_!==G)return;for(let x of M)if(!U.has(x.id))O(x)},O=(_)=>{let M=new AbortController,z,x,K$=new Promise((B$,h$)=>{z=B$,x=h$}),l={controller:M,revision:_.revision,status:"starting",message:"Connecting",run:Promise.resolve()},J$=Promise.resolve().then(()=>$.run({account:Object.freeze({id:_.id,settings:_.settings}),signal:M.signal,health:{ready(){l.status="ready",l.message="Ready",z?.()},warning(B$){l.status="warning",l.message=B$}}})).then(()=>{if(!M.signal.aborted)throw Error(`Account-bound daemon "${$.id}" stopped before it was aborted`)}).catch((B$)=>{if(M.signal.aborted)return;let h$=B$ instanceof Error?B$:Error(d$(B$));l.status="error",l.message="Account task failed",x?.(h$)});l.run=J$,U.set(_.id,l),Cm(K$,Rm,`Account-bound daemon "${$.id}" did not report readiness within ${Rm}ms`).catch(()=>{if(M.signal.aborted)return;l.status="error",l.message="Account task did not become ready",M.abort()})},P=async(_,M)=>{if(U.get(_)!==M)return;U.delete(_),M.controller.abort(),await Cm(M.run,wm,`Account-bound daemon "${$.id}" task did not stop within ${wm}ms`).catch(()=>{return})};return{async start(){if(J)return;J=!0,G++,W=X.subscribe(Z,()=>{A()}),await A()},async stop(){if(!J&&U.size===0)return;J=!1,G++,W?.(),W=void 0,await D.catch(()=>{return});let _=[...U.entries()];await Promise.all(_.map(([M,z])=>P(M,z)))},healthCheck(){let _={total:U.size,ready:0,warning:0,error:0};for(let z of U.values())if(z.status==="ready")_.ready++;else if(z.status==="warning")_.warning++;else if(z.status==="error")_.error++;let M=Y||_.error>0?"error":_.warning>0?"warning":"healthy";return Promise.resolve({status:M,message:Y??(_.total===0?"No configured accounts":`${_.ready} of ${_.total} account task(s) ready`),lastCheck:new Date,details:_})}}}var eE$=["GET","POST","PUT","DELETE","OPTIONS"];function gA($,Z={}){return new Response(JSON.stringify($),{status:Z.status??200,headers:{"Content-Type":"application/json; charset=utf-8",...Z.headers}})}function PY($,Z,X={}){return gA({error:$},{status:Z,...X})}function FY($){let Z,X,J={status:"unknown",message:"Waiting for readiness",lastCheck:new Date};return{async start(){if(Z)return;Z=new AbortController;let G=Z,Y,W,D=new Promise((Q,O)=>{Y=Q,W=O});X=Promise.resolve().then(()=>$.run({signal:G.signal,health:{ready(){J={status:"healthy",message:"Ready",lastCheck:new Date},Y?.()},warning(Q){J={status:"warning",message:Q,lastCheck:new Date}}}})).then(()=>{if(!G.signal.aborted)throw Error(`Daemon "${$.id}" stopped before it was aborted`)}).catch((Q)=>{let O=Q instanceof Error?Q:Error(String(Q));throw J={status:"error",message:O.message,lastCheck:new Date},W?.(O),O}),X.catch(()=>{return});let U,A=new Promise((Q,O)=>{U=setTimeout(()=>{let P=Error(`Daemon "${$.id}" did not report readiness within 30000ms`);J={status:"error",message:P.message,lastCheck:new Date},G.abort(),O(P)},30000)});try{await Promise.race([D,A])}finally{clearTimeout(U)}},async stop(){let G=Z,Y=X;Z=void 0,X=void 0,G?.abort();let W,D=Y?await Promise.race([Y.then(()=>!0,()=>!0),new Promise((U)=>{W=setTimeout(()=>U(!1),1e4)})]):!0;if(clearTimeout(W),!D)J={status:"error",message:`Daemon "${$.id}" did not stop within 10000ms`,lastCheck:new Date};if(J.status!=="error")J={status:"unknown",message:"Stopped",lastCheck:new Date}},healthCheck(){return Promise.resolve({...J,lastCheck:new Date})}}}function Lm($){return Em($)}function qm($){if(!$)return;return{...$.userPermissionLevel&&{userPermissionLevel:$.userPermissionLevel},...$.isAnchor!==void 0&&{isAnchor:$.isAnchor},...$.interfaceType&&{interfaceType:$.interfaceType},...$.channelId&&{channelId:$.channelId},...$.channelName&&{channelName:$.channelName},...$.actor&&{actor:$.actor},...$.source&&{source:$.source},...$.attachments&&{attachments:$.attachments}}}function xm($){return{chat:async(Z,X,J,G)=>{let Y=qm(J),W=G?await $.chat(Z,X,Y,G):await $.chat(Z,X,Y);return Lm(W)},confirmPendingAction:async(Z,X,J,G,Y)=>{let W=qm(G);if(!W)throw Error("Confirmation requires caller context.");let D=Y?await $.confirmPendingAction(Z,X,J,W,Y):await $.confirmPendingAction(Z,X,J,W);return Lm(D)},invalidate:()=>{$.invalidateAgent()}}}var TY=Symbol.for("brains.httpRouteSnapshotProvider");function $2$($,Z){if($[TY])throw Error("HTTP route snapshot provider is already bound");Object.defineProperty($,TY,{value:Z,enumerable:!1,configurable:!0,writable:!1})}function Sm($,Z){let X=$[TY];if(!X)throw Error("HTTP route snapshot provider is not bound");if(Z[TY])return;$2$(Z,X)}function jm($){let Z=$[TY];if(!Z)throw Error("HTTP route snapshot provider is not bound");return Z()}function hA($,Z,X){let J=H7($,Z,X),G=$.getMCPService(),Y=$.getPermissionService(),W=xm($.getAgentService());return{...J,mcpTransport:G,agent:W,permissions:{...J.permissions,getUserLevel:(D,U,A)=>{return Y.determineUserLevel(D,U,A)},isAnchor:(D,U)=>Y.isAnchor(D,U)},daemons:{register:(D,U)=>{let A=`${Z}:${D}`;$.registerDaemon(A,U,Z),J.logger.debug(`Registered daemon: ${A}`)}},conversations:{...J.conversations,start:async(D)=>{return $.getConversationService().startConversation(D)},addMessage:async(D)=>{await $.getConversationService().addMessage(D)},updateMetadata:async(D)=>{return $.getConversationService().updateConversationMetadata(D)},delete:async(D)=>{return $.getConversationService().deleteConversation(D)}},tools:{listForPermissionLevel:(D)=>{return $.listToolsForPermissionLevel(D)}},apiRoutes:{getRoutes:()=>{return $.getPluginApiRoutes()},getMessageBus:()=>{return $.getMessageBus()}},webRoutes:{getRoutes:()=>{return $.getPluginWebRoutes()}},httpRoutes:{getRoutes:()=>jm($)},plugins:{has:(D)=>$.hasPlugin(D)}}}function nP($,Z,X){return{...hA($,Z,X),channels:kh($,Z)}}var Z2$=3600000;class YJ extends J7{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=Z2$;createContext($,Z){return hA($,this.id,Z)}async register($,Z){let X=this.createContext($,Z);if(this.context=X,this.initializeDaemon(),this.daemon)await this.registerDaemon(X);return this.setupMessageHandlers(X),await this.onRegister(X),this.getCapabilities()}async onRegister($){}async registerDaemon($){if(!this.daemon)return;$.daemons.register(this.id,this.daemon),$.logger.debug(`Registered daemon for interface: ${this.id}`)}createDaemon(){return}requiresDaemonStartup(){return!1}getWebRoutes(){return[]}initializeDaemon(){let $=this.createDaemon();if($)this.daemon=$}async handleProgressEvent($,Z){}cleanupExpiredEntries(){let $=Date.now(),Z=[];for(let[X,J]of this.jobTrackingEntries)if($-J.createdAt>this.jobTrackingTtlMs)Z.push(X);for(let X of Z)this.jobTrackingEntries.delete(X)}ownsJob($,Z){return this.jobTrackingEntries.has($)||Z!==void 0&&this.jobTrackingEntries.has(Z)}getJobTracking($,Z){let X=this.jobTrackingEntries.get($);if(X)return X.info;if(Z){let J=this.jobTrackingEntries.get(Z);if(J)return J.info}return}setJobTracking($,Z){this.cleanupExpiredEntries(),this.jobTrackingEntries.set($,{info:Z,createdAt:Date.now()})}removeJobTracking($){this.jobTrackingEntries.delete($)}async createJobWithTracking($,Z){let J=await this.getContext().jobs.enqueue($);return this.setJobTracking(J,Z),J}async createBatchWithTracking($,Z,X){let G=await this.getContext().jobs.enqueueBatch($,X);return this.setJobTracking(G,Z),G}}class km extends YJ{definition;accountSettingsRegistration;routes=[];hasRequiredDaemon=!1;constructor($,Z,X,J){super(J,X,Z,GJ());this.definition=$}async onRegister($){if(await super.onRegister($),this.definition.accountSettings)this.accountSettingsRegistration=$.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});let Z=this.jobs($),X=this.definition.routes?.({config:this.config,jobs:Z})??[];this.routes=X.map((Y)=>this.runtimeRoute(Y,$));let J=this.definition.daemons?.({config:this.config,jobs:Z})??[],G=new Set;for(let Y of J){if(G.has(Y.id))throw Error(`Interface "${this.definition.id}" defines daemon "${Y.id}" more than once`);if(G.add(Y.id),this.hasRequiredDaemon||=Y.required,Y.forAccounts){if(Y.forAccounts!==this.definition.accountSettings)throw Error(`Interface "${this.definition.id}" account-bound daemon "${Y.id}" must reference its attached account settings`);let W=this.accountSettingsRegistration;if(!W)throw Error(`Interface "${this.definition.id}" account-bound daemon "${Y.id}" has no registered account settings`);$.daemons.register(Y.id,bA(Y,W,$.accountSettings));continue}$.daemons.register(Y.id,FY(Y))}}async onRegistrationComplete($){if(this.accountSettingsRegistration&&!$.accountSettings.hasBackend())throw Error(`Interface "${this.definition.id}" account settings require auth-service and an account settings encryption key`)}getWebRoutes(){return[...this.routes]}requiresDaemonStartup(){return this.hasRequiredDaemon}async onShutdown(){this.accountSettingsRegistration=void 0,this.routes=[],this.hasRequiredDaemon=!1,await super.onShutdown()}jobs($){return{enqueue:async(Z,X)=>{let J=Z.input.parse(X),G=await $.jobs.enqueue({type:_Y(Z),data:J});return Object.freeze({id:G})}}}runtimeRoute($,Z){return{method:$.method,path:$.path,public:!0,handler:async(X)=>{let J=await this.resolveCaller($,X,Z);if($.security.kind==="protocol"&&!J)return PY("Unauthorized",401);let G;if($.body){let W;try{W=await X.json()}catch{return PY("Request body must be valid JSON",400)}let D=$.body.safeParse(W);if(!D.success)return PY("Request body is invalid",400);G=D.data}let Y=await $.handle({request:X,body:G,caller:J});return gA($.response.parse(Y))}}}async resolveCaller($,Z,X){if($.security.kind==="public")return null;let J=await $.security.authenticate({request:Z});if(!J?.id.trim())return null;let G=X.permissions.getUserLevel(this.definition.id,J.id);return Object.freeze({actor:Object.freeze({...J}),permission:G,isAnchor:X.permissions.isAnchor(this.definition.id,J.id)})}}function Im($,Z,X,J){return new km($,Z,X,J)}var vm=["GET","POST","PUT","DELETE","OPTIONS"];function rP($,Z){$.messaging.subscribe(DY.progress,async(X)=>{try{let J=RA.safeParse(X.payload);if(!J.success)return Z.onInvalidSchema(),{success:!1};let G=J.data;return await Z.onProgress(G,G.metadata),{success:!0}}catch(J){return Z.onError(J),{success:!1}}})}function lP($){let Z=$.status==="completed"?"\u2705":"\u274C",X=$.status==="completed"?"completed":"failed",J=$.metadata.operationType.replace(/_/g," "),G=$.metadata.operationTarget?`: ${$.metadata.operationTarget}`:"",Y=`${Z} **${J}${G}** ${X}`;if($.message)Y+=`
117
+ `+B.slice(f+1);else W$+=B.slice(b);return W$.slice(1)}function R3(B){let C="",p=0;for(let y=0;y<B.length;p>=65536?y+=2:y++){p=w1(B,y);let b=T$[p];if(!b&&k4(p)){if(C+=B[y],p>=65536)C+=B[y+1]}else C+=b||b0(p)}return C}function cY(B,C,p){let y="",b=B.tag;for(let d=0,f=p.length;d<f;d+=1){let H$=p[d];if(B.replacer)H$=B.replacer.call(p,String(d),H$);if(k(B,C,H$,!1,!1)||typeof H$>"u"&&k(B,C,null,!1,!1)){if(y!=="")y+=","+(!B.condenseFlow?" ":"");y+=B.dump}}B.tag=b,B.dump="["+y+"]"}function pY(B,C,p,y){let b="",d=B.tag;for(let f=0,H$=p.length;f<H$;f+=1){let W$=p[f];if(B.replacer)W$=B.replacer.call(p,String(f),W$);if(k(B,C+1,W$,!0,!0,!1,!0)||typeof W$>"u"&&k(B,C+1,null,!0,!0,!1,!0)){if(!y||b!=="")b+=Y8(B,C);if(B.dump&&D===B.dump.charCodeAt(0))b+="-";else b+="- ";b+=B.dump}}B.tag=d,B.dump=b||"[]"}function w3(B,C,p){let y="",b=B.tag,d=Object.keys(p);for(let f=0,H$=d.length;f<H$;f+=1){let W$="";if(y!=="")W$+=", ";if(B.condenseFlow)W$+='"';let N$=d[f],z$=p[N$];if(B.replacer)z$=B.replacer.call(p,N$,z$);if(!k(B,C,N$,!1,!1))continue;if(B.dump.length>1024)W$+="? ";if(W$+=B.dump+(B.condenseFlow?'"':"")+":"+(B.condenseFlow?"":" "),!k(B,C,z$,!1,!1))continue;W$+=B.dump,y+=W$}B.tag=b,B.dump="{"+y+"}"}function K(B,C,p,y){let b="",d=B.tag,f=Object.keys(p);if(B.sortKeys===!0)f.sort();else if(typeof B.sortKeys==="function")f.sort(B.sortKeys);else if(B.sortKeys)throw new Z("sortKeys must be a boolean or a function");for(let H$=0,W$=f.length;H$<W$;H$+=1){let N$="";if(!y||b!=="")N$+=Y8(B,C);let z$=f[H$],u$=p[z$];if(B.replacer)u$=B.replacer.call(p,z$,u$);if(!k(B,C+1,z$,!0,!0,!0))continue;let _0=B.tag!==null&&B.tag!=="?"||B.dump&&B.dump.length>1024;if(_0)if(B.dump&&D===B.dump.charCodeAt(0))N$+="?";else N$+="? ";if(N$+=B.dump,_0)N$+=Y8(B,C);if(!k(B,C+1,u$,!0,_0))continue;if(B.dump&&D===B.dump.charCodeAt(0))N$+=":";else N$+=": ";N$+=B.dump,b+=N$}B.tag=d,B.dump=b||"{}"}function R(B,C,p){let y=p?B.explicitTypes:B.implicitTypes;for(let b=0,d=y.length;b<d;b+=1){let f=y[b];if((f.instanceOf||f.predicate)&&(!f.instanceOf||typeof C==="object"&&C instanceof f.instanceOf)&&(!f.predicate||f.predicate(C))){if(p)if(f.multi&&f.representName)B.tag=f.representName(C);else B.tag=f.tag;else B.tag="?";if(f.represent){let H$=B.styleMap[f.tag]||f.defaultStyle,W$;if(J.call(f.represent)==="[object Function]")W$=f.represent(C,H$);else if(G.call(f.represent,H$))W$=f.represent[H$](C,H$);else throw new Z("!<"+f.tag+'> tag resolver accepts not "'+H$+'" style');B.dump=W$}return!0}}return!1}function k(B,C,p,y,b,d,f){if(B.tag=null,B.dump=p,!R(B,p,!1))R(B,p,!0);let H$=J.call(B.dump),W$=y;if(y)y=B.flowLevel<0||B.flowLevel>C;let N$=H$==="[object Object]"||H$==="[object Array]",z$,u$;if(N$)z$=B.duplicates.indexOf(p),u$=z$!==-1;if(B.tag!==null&&B.tag!=="?"||u$||B.indent!==2&&C>0)b=!1;if(u$&&B.usedDuplicates[z$])B.dump="*ref_"+z$;else{if(N$&&u$&&!B.usedDuplicates[z$])B.usedDuplicates[z$]=!0;if(H$==="[object Object]"){if(y&&Object.keys(B.dump).length!==0){if(K(B,C,B.dump,b),u$)B.dump="&ref_"+z$+B.dump}else if(w3(B,C,B.dump),u$)B.dump="&ref_"+z$+" "+B.dump}else if(H$==="[object Array]"){if(y&&B.dump.length!==0){if(B.noArrayIndent&&!f&&C>0)pY(B,C-1,B.dump,b);else pY(B,C,B.dump,b);if(u$)B.dump="&ref_"+z$+B.dump}else if(cY(B,C,B.dump),u$)B.dump="&ref_"+z$+" "+B.dump}else if(H$==="[object String]"){if(B.tag!=="?")M3(B,B.dump,C,d,W$)}else if(H$==="[object Undefined]")return!1;else{if(B.skipInvalid)return!1;throw new Z("unacceptable kind of an object to dump "+H$)}if(B.tag!==null&&B.tag!=="?"){let _0=encodeURI(B.tag[0]==="!"?B.tag.slice(1):B.tag).replace(/!/g,"%21");if(B.tag[0]==="!")_0="!"+_0;else if(_0.slice(0,18)==="tag:yaml.org,2002:")_0="!!"+_0.slice(18);else _0="!<"+_0+">";B.dump=_0+" "+B.dump}}return!0}function g(B,C){let p=[],y=[];E(B,p,y);let b=y.length;for(let d=0;d<b;d+=1)C.duplicates.push(p[y[d]]);C.usedDuplicates=Array(b)}function E(B,C,p){if(B!==null&&typeof B==="object"){let y=C.indexOf(B);if(y!==-1){if(p.indexOf(y)===-1)p.push(y)}else if(C.push(B),Array.isArray(B))for(let b=0,d=B.length;b<d;b+=1)E(B[b],C,p);else{let b=Object.keys(B);for(let d=0,f=b.length;d<f;d+=1)E(B[b[d]],C,p)}}}function o(B,C){C=C||{};let p=new F8(C);if(!p.noRefs)g(B,p);let y=B;if(p.replacer)y=p.replacer.call({"":y},"",y);if(k(p,0,y,!0,!0))return p.dump+`
118
+ `;return""}return DP.dump=o,DP}var gg;function _X$(){if(gg)return pZ;gg=1;let $=BX$(),Z=NX$();function X(J,G){return function(){throw Error("Function yaml."+J+" is removed in js-yaml 4. Use yaml."+G+" instead, which is now safe by default.")}}return pZ.Type=J8(),pZ.Schema=hg(),pZ.FAILSAFE_SCHEMA=pg(),pZ.JSON_SCHEMA=rg(),pZ.CORE_SCHEMA=lg(),pZ.DEFAULT_SCHEMA=HP(),pZ.load=$.load,pZ.loadAll=$.loadAll,pZ.dump=Z.dump,pZ.YAMLException=GY(),pZ.types={binary:ag(),float:ng(),map:cg(),null:dg(),pairs:eg(),set:$h(),timestamp:ig(),bool:ug(),int:og(),merge:sg(),omap:tg(),seq:fg(),str:mg()},pZ.safeLoad=X("safeLoad","load"),pZ.safeLoadAll=X("safeLoadAll","loadAll"),pZ.safeDump=X("safeDump","dump"),pZ}var PX$=_X$(),FX$=QX$(PX$),{Type:lR$,Schema:iR$,FAILSAFE_SCHEMA:sR$,JSON_SCHEMA:aR$,CORE_SCHEMA:tR$,DEFAULT_SCHEMA:eR$,load:TX$,loadAll:$w$,dump:MX$,YAMLException:Zw$,types:Xw$,safeLoad:Jw$,safeLoadAll:Gw$,safeDump:Yw$}=FX$;var Dw$=H.record(H.string(),H.unknown());class Xh{format($){return $.message}parse($){return{message:$.trim()}}}var Sw$=H.object({slug:H.string(),title:H.string(),type:H.string(),entityId:H.string(),contentHash:H.string()});function YY($,Z){return Z?$.nullable().default(null):$}function AP($){switch($.type){case"string":return YY(H.string(),$.optional);case"number":return YY(H.number(),$.optional);case"enum":return YY(H.enum($.options),$.optional);case"object":{let Z={};for(let[X,J]of Object.entries($.fields))Z[X]=AP(J);return YY(H.object(Z),$.optional)}case"array":{let Z=H.array(zX$($));if($.minItems!==void 0)Z=Z.min($.minItems);if($.length!==void 0)Z=Z.length($.length);return YY(Z,$.optional)}}}function zX$($){let{items:Z}=$;switch(Z.type){case"string":return H.string();case"number":return H.number();case"enum":return H.enum(Z.options);case"object":{let X={};for(let[J,G]of Object.entries(Z.fields))X[J]=AP(G);return H.object(X)}}}function UP($,Z){switch(Z.type){case"string":case"enum":return{key:$,label:Z.label,type:"string"};case"number":return{key:$,label:Z.label,type:"number"};case"object":return{key:$,label:Z.label,type:"object",children:Object.entries(Z.fields).map(([X,J])=>UP(X,J))};case"array":{let X={key:$,label:Z.label,type:"array"};switch(Z.items.type){case"string":case"enum":return X.itemType="string",X;case"number":return X.itemType="number",X;case"object":return X.itemType="object",X.itemMappings=Object.entries(Z.items.fields).map(([J,G])=>UP(J,G)),X}}}}function Jh($,Z){let X={};for(let[Y,W]of Object.entries(Z.fields))X[Y]=AP(W);let J=H.object(X),G=new XY(J,{title:Z.title,mappings:Object.entries(Z.fields).map(([Y,W])=>UP(Y,W))});return{name:$,description:Z.description,schema:J,formatter:G,requiredPermission:Z.requiredPermission??"public",layout:{component:Z.layout,...Z.fullscreen!==void 0?{fullscreen:Z.fullscreen}:{}},...Z.runtimeScripts?{runtimeScripts:Z.runtimeScripts}:{}}}function RX$($){let Z={};for(let[X,J]of Object.entries($.sections))Z[X]=Jh(X,J);return Z}var wX$=m_.omit({url:!0,analyticsScript:!0}),Gh=wX$.extend({title:H.string().optional().describe("Optional site title override"),description:H.string().optional().describe("Optional site description override")});function Yh($){return Gh.parse(WY($).frontmatter)}async function CX$($){let X=(await $.listEntities({entityType:"site-info",options:{limit:1}}))[0];if(!X)throw Error("Site info not found \u2014 create a site-info entity");return Yh(X.content)}function KP($,Z={}){let X=Wh($),J=Wh(Z.sharedDomain??"rizom.ai").replace(/^\./,""),G=`.${J}`;if(X.endsWith(G)){let Y=X.slice(0,-G.length);if(Y.length>0&&!Y.includes("."))return`${Y}-preview.${J}`}return`preview.${X}`}function Wh($){return $.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class $J{static instance=null;entityDisplay;constructor(){}static getInstance(){return $J.instance??=new $J,$J.instance}configure($){this.entityDisplay=$}static resetInstance(){$J.instance=null}hasRoute($){return this.entityDisplay?.[$]!==void 0}generateUrl($,Z){let X=this.entityDisplay?.[$];if(X)return`/${X.pluralName??X.label.toLowerCase()+"s"}/${Z}`;return`/${C3($)}/${Z}`}}var Hh=["primary","secondary"];var LX$=H.custom(($)=>typeof $==="function","Expected a Preact component"),qX$=H.strictObject({show:H.boolean().optional(),label:H.string().min(1).optional(),slot:H.enum(Hh).optional(),priority:H.number().optional()}),EX$=H.strictObject({id:H.string().min(1),template:H.string().min(1),content:H.unknown().optional(),dataQuery:H.looseObject({entityType:H.string().optional(),template:H.string().optional(),query:H.record(H.string(),H.unknown()).optional()}).optional(),order:H.number().optional()}),xX$=H.strictObject({id:H.string().min(1),path:H.string().startsWith("/"),title:H.string().optional(),pageLabel:H.string().optional(),description:H.string().optional(),sections:H.array(EX$).optional(),layout:H.string().min(1).optional(),fullscreen:H.boolean().optional(),pluginId:H.string().optional(),sourceEntityType:H.string().optional(),external:H.boolean().optional(),navigation:qX$.optional()}),SX$=H.strictObject({label:H.string().min(1),pluralName:H.string().min(1).optional(),layout:H.string().min(1).optional(),paginate:H.boolean().optional(),pageSize:H.number().int().positive().optional(),navigation:H.strictObject({show:H.boolean().optional(),slot:H.enum(Hh).optional(),priority:H.number().optional()}).optional()}),jX$=H.strictObject({schema:H.custom(($)=>$ instanceof H.ZodType,"Expected a Zod schema"),component:H.custom(($)=>typeof $==="function","Expected a Preact component"),title:H.string().min(1),description:H.string(),requiredPermission:H.enum(["admin","trusted","public"]).optional(),fullscreen:H.boolean().optional()}),Dh=H.strictObject({namespace:H.string().min(1),sections:H.record(H.string(),jX$)}),kX$=H.record(H.string(),H.json()),IX$=H.record(H.string(),H.record(H.string(),kX$)),Uh=H.strictObject({layouts:H.record(H.string(),LX$).refine(($)=>typeof $.default==="function",{message:'Site layouts must include a "default" component'}),routes:H.array(xX$),content:IX$.optional(),sections:H.union([Dh,H.array(Dh)]).optional(),themeOverride:H.string().optional(),headScripts:H.array(H.string()).optional(),entityDisplay:H.record(H.string(),SX$),staticAssets:H.record(H.string(),H.string()).optional()}).superRefine(($,Z)=>{let X=new Set;for(let[Y,W]of $.routes.entries()){if(X.has(W.id))Z.addIssue({code:"custom",path:["routes",Y,"id"],message:`Duplicate route id "${W.id}"`});X.add(W.id);let D=W.layout??"default";if(!$.layouts[D])Z.addIssue({code:"custom",path:["routes",Y,"layout"],message:`Unknown layout "${D}"`})}let J=Array.isArray($.sections)?$.sections:$.sections?[$.sections]:[],G=new Map(J.map((Y)=>[Y.namespace,Y]));if(G.size!==J.length)Z.addIssue({code:"custom",path:["sections"],message:"Section group namespaces must be unique"});for(let[Y,W]of Object.entries($.content??{})){let D=G.get(Y);if(!D){Z.addIssue({code:"custom",path:["content",Y],message:`Content namespace "${Y}" has no section group`});continue}for(let[U,A]of Object.entries(W)){let Q=D.sections[U];if(!Q){Z.addIssue({code:"custom",path:["content",Y,U],message:`Content section "${Y}.${U}" is not defined`});continue}let O=Q.schema.safeParse(A);if(!O.success)Z.addIssue({code:"custom",path:["content",Y,U],message:`Content does not satisfy the "${Y}.${U}" schema: ${H.prettifyError(O.error)}`})}}});var vX$=H.string();function yX$($){return $!==null&&typeof $==="object"&&!Array.isArray($)}var bX$=H.custom(($)=>{if(!yX$($))return!1;let{plugin:Z,...X}=$;if(Z!==void 0&&typeof Z!=="function")return!1;return Uh.safeParse(X).success});var VP=H.enum(["file_operations","content_operations","data_processing","batch_processing"]),gX$=H.object({pluginId:H.string().optional(),progressToken:H.union([H.string(),H.number()]).optional(),operationType:VP,operationTarget:H.string().optional(),interfaceType:H.string().optional(),conversationId:H.string().optional(),channelId:H.string().optional(),requestedByActor:X7.optional(),requestedByUserId:H.string().optional(),requestedByInterface:H.string().optional(),silent:H.boolean().optional(),provenance:G7.optional()}),Y7=H.object({pluginId:H.string().optional(),progressToken:H.union([H.string(),H.number()]).optional(),operationType:VP,operationTarget:H.string().optional(),interfaceType:H.string().optional(),conversationId:H.string().optional(),channelId:H.string().optional(),requestedByActor:X7.optional(),requestedByUserId:H.string().optional(),requestedByInterface:H.string().optional(),silent:H.boolean().optional(),provenance:G7.optional(),rootJobId:H.string()}),NC$=H.enum(["none","skip","replace","coalesce"]);var hX$=H.object({id:H.string(),type:H.string(),data:H.string(),status:H.enum(["pending","processing","completed","failed"]),source:H.string().nullable(),priority:H.number(),retryCount:H.number(),maxRetries:H.number(),lastError:H.string().nullable(),createdAt:H.number(),scheduledFor:H.number(),startedAt:H.number().nullable(),completedAt:H.number().nullable(),attemptId:H.string().nullable(),workerSlotId:H.string().nullable(),workerSessionId:H.string().nullable(),leaseExpiresAt:H.number().nullable(),attemptHeartbeatAt:H.number().nullable(),runtimeUpdatedAt:H.number().nullable(),metadata:Y7,progress:H.custom(($)=>typeof $==="object"&&$!==null&&("progress"in $)&&typeof $.progress==="number").nullable(),result:H.unknown().nullable().optional()}),E4=15000;var QP=H.enum(["pending","processing","completed","failed"]),Ah=H.enum(["completed","failed"]),O$={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},mX$=H.object({id:H.string(),type:H.string(),status:QP,data:H.unknown(),result:H.unknown().optional(),lastError:H.string().optional().nullable(),attempts:H.number(),maxRetries:H.number(),priority:H.number(),createdAt:H.date(),updatedAt:H.date(),processedAt:H.date().optional().nullable(),completedAt:H.date().optional().nullable(),failedAt:H.date().optional().nullable()}),fX$=H.object({jobId:H.string(),type:H.string(),status:Ah,result:H.unknown().optional(),error:H.string().optional()}),OP=H.object({success:H.literal(!1),error:H.string().optional()}),RA=H.object({id:H.string(),type:H.enum(["job","batch"]),status:QP,message:H.string().optional(),progress:H.object({current:H.number(),total:H.number(),percentage:H.number()}).optional(),aggregationKey:H.string().optional(),batchDetails:H.object({totalOperations:H.number(),completedOperations:H.number(),failedOperations:H.number(),currentOperation:H.string().optional(),errors:H.array(H.string()).optional()}).optional(),jobDetails:H.object({jobType:H.string(),priority:H.number(),retryCount:H.number()}).optional(),metadata:Y7});var m=TZ("job_queue",{id:X$("id").primaryKey().$defaultFn(()=>qZ()),type:X$("type").notNull(),data:X$("data").notNull(),result:X$("result",{mode:"json"}),progress:X$("progress",{mode:"json"}).$type(),source:X$("source"),metadata:X$("metadata",{mode:"json"}).$type().notNull(),status:X$("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:a$("priority").notNull().default(0),retryCount:a$("retryCount").notNull().default(0),maxRetries:a$("maxRetries").notNull().default(3),lastError:X$("lastError"),createdAt:a$("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:a$("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:a$("startedAt"),completedAt:a$("completedAt"),attemptId:X$("attemptId"),workerSlotId:X$("workerSlotId"),workerSessionId:X$("workerSessionId"),leaseExpiresAt:a$("leaseExpiresAt"),attemptHeartbeatAt:a$("attemptHeartbeatAt"),runtimeUpdatedAt:a$("runtimeUpdatedAt")},($)=>({queueReadyIdx:ZZ("idx_job_queue_ready").on($.status,$.priority,$.scheduledFor),jobTypeIdx:ZZ("idx_job_queue_type").on($.type,$.status),runtimeUpdatesIdx:ZZ("idx_job_queue_runtime_updates").on($.runtimeUpdatedAt,$.id),jobSourceIdx:ZZ("idx_job_queue_source").on($.source)})),l$=TZ("job_worker_sessions",{slotId:X$("slotId").primaryKey(),sessionId:X$("sessionId").notNull().unique(),startedAt:a$("startedAt").notNull(),heartbeatAt:a$("heartbeatAt").notNull(),expiresAt:a$("expiresAt").notNull().default(0)},($)=>({heartbeatIdx:ZZ("idx_job_worker_sessions_heartbeat").on($.heartbeatAt),expiresIdx:ZZ("idx_job_worker_sessions_expires").on($.expiresAt)}));function Kh($){return y6({url:$.url,schema:{jobQueue:m,jobWorkerSessions:l$},authToken:$.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN"})}class BP{declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor($,Z){this.logger=$.child("HandlerRegistry"),this.mode=Z}registerHandler($,Z,X){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has($))throw Error(`Job handler is already registered for type: ${$}`);if(this.declarations.set($,{handler:Z,pluginId:X}),this.validators.set($,Z),this.mode!=="validation-only")this.handlers.set($,Z);this.logger.debug("Registered job execution declaration",{type:$,pluginId:X,mode:this.mode})}unregisterHandler($){this.declarations.delete($),this.handlers.delete($),this.validators.delete($),this.logger.debug("Unregistered job handler",{type:$})}unregisterPluginHandlers($){let Z=[...this.declarations.entries()].filter(([,X])=>X.pluginId===$).map(([X])=>X);for(let X of Z)this.declarations.delete(X),this.handlers.delete(X),this.validators.delete(X);if(Z.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:$,count:Z.length,types:Z})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([$],[Z])=>$.localeCompare(Z)).map(([$,Z])=>Object.freeze({type:$,pluginId:Z.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){if(!this.finalizedRegistrations)throw Error("Job handler registrations are not finalized");return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getHandler($){return this.handlers.get($)}getValidator($){return this.validators.get($)}}var cX$=H.looseObject({deduplicationKey:H.string().optional()});class NP{findDuplicate($,Z,X){if(!Z||Z==="none")return null;let J=this.filterByDeduplicationKey($,X).sort((Y,W)=>W.createdAt-Y.createdAt||W.id.localeCompare(Y.id)),G=J.find((Y)=>Y.status===O$.PENDING)??null;if(Z==="skip"||Z==="replace")return G;return G??J[0]??null}filterByDeduplicationKey($,Z){if(!Z)return $;return $.filter((X)=>{let J=cX$.safeParse(X.metadata);return J.success&&J.data.deduplicationKey===Z})}}var pX$=2000,dX$=5,uX$=40,oX$=new E_;class _P{db;transactionClient;databaseUrl;logger;deduplicator=new NP;writeRetryBudgetMs;constructor($,Z,X,J,G){this.db=$,this.transactionClient=Z,this.databaseUrl=X,this.logger=J.child("JobQueueRepository"),this.writeRetryBudgetMs=G?.writeRetryBudgetMs??pX$}async insert($){await this.db.insert(m).values($)}async enqueueAtomic($){return oX$.run(this.databaseUrl,async()=>{let Z=Date.now()+this.writeRetryBudgetMs,X=1;for(;;){let J=await this.acquireWriteTransaction($,Z),G={prepared:!1},Y=!1;try{let W=await this.decideEnqueue(J,$,()=>{G.prepared=!0});return Y=!0,await J.commit(),W}catch(W){let D=Y&&this.isSerializationConflict(W)&&!J.closed,U=!0;if(!J.closed)try{await J.rollback()}catch(A){U=!1,this.logger.error("Failed to roll back atomic enqueue",{type:$.jobData.type,rollbackError:A})}if(G.prepared)$.onInsertRollback?.();if(!D||!U)throw W;await this.waitForConflictRetry("commit",$,Z,X,W),X++}finally{J.close()}}})}async decideEnqueue($,Z,X){let{jobData:J,strategy:G,deduplicationKey:Y,beforeInsert:W}=Z,D=G??"none",U=async()=>{await W?.(),X()},A=async()=>{await U(),await this.insertJob($,J)};if(D==="none")return await A(),{kind:"inserted",jobId:J.id};let Q=await this.getActiveDeduplicationCandidates($,J.type),O=this.deduplicator.findDuplicate(Q,D,Y);if(!O)return await A(),{kind:"inserted",jobId:J.id};if(D==="skip")return{kind:"skipped",jobId:O.id};if(D==="coalesce"){if((await $.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),O.id,O.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${O.id}`);return{kind:"coalesced",jobId:O.id}}await U();let P=Date.now();if((await $.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[O$.FAILED,"Replaced by newer job",P,P,O.id,O$.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${O.id}`);return await this.insertJob($,J),{kind:"replaced",jobId:J.id,replacedJobId:O.id}}async getActiveDeduplicationCandidates($,Z){return(await $.execute({sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[Z,O$.PENDING,O$.PROCESSING]})).rows.map((J)=>this.parseDeduplicationCandidate(J))}parseDeduplicationCandidate($){let{id:Z,status:X,createdAt:J,metadata:G}=$;if(typeof Z!=="string"||X!==O$.PENDING&&X!==O$.PROCESSING||typeof J!=="number"&&typeof J!=="bigint"||typeof G!=="string")throw Error("Invalid active job row returned during atomic enqueue");let Y=JSON.parse(G);return{id:Z,status:X,createdAt:Number(J),metadata:Y}}async insertJob($,Z){if((await $.execute({sql:"INSERT INTO `job_queue` (\n `id`, `type`, `data`, `result`, `source`, `metadata`,\n `status`, `priority`, `retryCount`, `maxRetries`,\n `lastError`, `createdAt`, `scheduledFor`, `startedAt`,\n `completedAt`\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",args:[Z.id,Z.type,Z.data,this.serializeJson(Z.result),Z.source,JSON.stringify(Z.metadata),Z.status,Z.priority,Z.retryCount,Z.maxRetries,Z.lastError,Z.createdAt,Z.scheduledFor,Z.startedAt,Z.completedAt]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${Z.id}`)}serializeJson($){if($===void 0||$===null)return null;return JSON.stringify($)}acquireWriteTransaction($,Z){return this.retryOnConflict("acquire",$,()=>this.transactionClient.transaction("write"),(X)=>this.isSerializationConflict(X),Z)}async waitForConflictRetry($,Z,X,J,G){let Y=Math.min(dX$*2**(J-1),uX$),W=Y/2+Math.random()*(Y/2);if(Date.now()+W>=X)throw this.transactionConflictError($,Z,J,G);await new Promise((D)=>setTimeout(D,W))}async retryOnConflict($,Z,X,J,G=Date.now()+this.writeRetryBudgetMs,Y=1){try{return await X()}catch(W){if(!J(W))throw W;return await this.waitForConflictRetry($,Z,G,Y,W),this.retryOnConflict($,Z,X,J,G,Y+1)}}transactionConflictError($,Z,X,J){let G=Z.strategy??"none",Y=Z.deduplicationKey?"present":"absent";return Error(`Failed to ${$} atomic enqueue transaction for type "${Z.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${X} attempts (strategy: ${G}, key: ${Y})`,{cause:J})}isSerializationConflict($){for(let Z=$;Z!==void 0;){let X=typeof Z==="object"&&Z!==null&&"code"in Z?String(Z.code):"",J=d$(Z,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(X)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(J))return!0;Z=Z instanceof Error?Z.cause:void 0}return!1}async startWorkerSession($,Z,X=Date.now(),J=E4){let G=X+J;await this.db.insert(l$).values({slotId:$,sessionId:Z,startedAt:X,heartbeatAt:X,expiresAt:G}).onConflictDoUpdate({target:l$.slotId,set:{sessionId:Z,startedAt:X,heartbeatAt:X,expiresAt:G}})}async heartbeatWorkerSession($,Z,X=Date.now(),J=E4){return(await this.db.update(l$).set({heartbeatAt:X,expiresAt:X+J}).where(F$(c(l$.slotId,$),c(l$.sessionId,Z))).returning({slotId:l$.slotId})).length===1}async endWorkerSession($,Z){return(await this.db.delete(l$).where(F$(c(l$.slotId,$),c(l$.sessionId,Z))).returning({slotId:l$.slotId})).length===1}async complete($,Z,X){let J=Date.now(),Y=(await this.db.update(m).set({status:O$.COMPLETED,result:Z,lastError:null,completedAt:J,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(J)}).where(this.attemptWriteGuard($,X)).returning({id:m.id})).length===1;if(Y)this.logger.debug("Job completed",{jobId:$,hasResult:Z!==void 0});return Y}async update($,Z,X){let G=(await this.db.update(m).set({data:JSON.stringify(Z)}).where(this.attemptWriteGuard($,X)).returning({id:m.id})).length===1;if(G)this.logger.debug("Job data updated",{jobId:$});return G}async recordAttemptProgress($,Z,X,J=Date.now()){return(await this.db.update(m).set({attemptHeartbeatAt:J,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(J),progress:X}).where(this.attemptWriteGuard($,Z)).returning({id:m.id})).length===1}async renewAttemptLease($,Z,X,J){return(await this.db.update(m).set({attemptHeartbeatAt:X,leaseExpiresAt:X+J}).where(this.attemptWriteGuard($,Z)).returning({id:m.id})).length===1}async fail($,Z,X,J=Date.now()){let Y=(await this.db.select({retryCount:m.retryCount,maxRetries:m.maxRetries,type:m.type,scheduledFor:m.scheduledFor,startedAt:m.startedAt,runtimeUpdatedAt:m.runtimeUpdatedAt}).from(m).where(this.attemptWriteGuard($,X)).limit(1))[0];if(!Y)return!1;let W=Y.retryCount<Y.maxRetries,D=W?Y.retryCount+1:Y.retryCount,U=Math.min(1000*2**Y.retryCount,60000),A=W?J+U:Y.scheduledFor;if((await this.db.update(m).set({status:W?O$.PENDING:O$.FAILED,retryCount:D,lastError:Z.message,scheduledFor:A,completedAt:W?null:J,runtimeUpdatedAt:W?Y.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(J),startedAt:W?null:Y.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(F$(this.attemptWriteGuard($,X),c(m.retryCount,Y.retryCount))).returning({id:m.id})).length!==1)return!1;if(W)this.logger.debug("Job scheduled for retry",{jobId:$,retryCount:D,backoffMs:U,scheduledFor:new Date(A).toISOString()});else this.logger.error("Job failed after max retries",{jobId:$,type:Y.type,retryCount:Y.retryCount,error:Z.message});return!0}async getStatus($){return(await this.db.select().from(m).where(c(m.id,$)).limit(1))[0]??null}async getStatusByEntityId($){return(await this.db.select().from(m).where(_`json_extract(${m.data}, '$.id') = ${$}`).orderBy(PZ(m.createdAt)).limit(1))[0]??null}async getStats(){let $=await this.db.select({status:m.status,count:_`count(*)`}).from(m).groupBy(m.status),Z={pending:0,processing:0,failed:0,completed:0,total:0};for(let X of $){let J=Number(X.count);Z[X.status]=J,Z.total+=J}return Z}async getDiagnostics($=Date.now()){let[Z,X,J]=await Promise.all([this.db.select({type:m.type,status:m.status,count:_`count(*)`}).from(m).groupBy(m.type,m.status),this.db.select({oldestPendingAt:_`min(case when ${m.status} = ${O$.PENDING} then ${m.createdAt} end)`,duePending:_`coalesce(sum(case when ${m.status} = ${O$.PENDING} and ${m.scheduledFor} <= ${$} then 1 else 0 end), 0)`,oldestDuePendingAt:_`min(case when ${m.status} = ${O$.PENDING} and ${m.scheduledFor} <= ${$} then ${m.scheduledFor} end)`,latestClaimAt:_`max(${m.startedAt})`,oldestProcessingAt:_`min(case when ${m.status} = ${O$.PROCESSING} then ${m.startedAt} end)`,staleLeaseCount:_`coalesce(sum(case when ${m.status} = ${O$.PROCESSING} and ${m.leaseExpiresAt} is not null and ${m.leaseExpiresAt} <= ${$} then 1 else 0 end), 0)`}).from(m),this.db.select({total:_`count(*)`,active:_`coalesce(sum(case when ${l$.expiresAt} > ${$} then 1 else 0 end), 0)`,stale:_`coalesce(sum(case when ${l$.expiresAt} <= ${$} then 1 else 0 end), 0)`,latestHeartbeatAt:_`max(${l$.heartbeatAt})`}).from(l$)]),G={pending:0,processing:0,completed:0,failed:0},Y=Z.map((A)=>{let Q=Number(A.count);return G[A.status]+=Q,{type:A.type,status:A.status,count:Q}}),W=X[0],D=J[0],U=(A)=>A===null||A===void 0?null:Math.max(0,$-Number(A));return{totals:G,byType:Y,oldestPendingAgeMs:U(W?.oldestPendingAt),duePending:Number(W?.duePending??0),oldestDuePendingAgeMs:U(W?.oldestDuePendingAt),latestClaimAgeMs:U(W?.latestClaimAt),oldestProcessingAgeMs:U(W?.oldestProcessingAt),staleLeaseCount:Number(W?.staleLeaseCount??0),workerSessions:{total:Number(D?.total??0),active:Number(D?.active??0),stale:Number(D?.stale??0),latestHeartbeatAgeMs:U(D?.latestHeartbeatAt)}}}async getRuntimeUpdates($,Z){return(await this.db.select().from(m).where(_`(${m.runtimeUpdatedAt}, ${m.id}) > (${$.updatedAt}, ${$.jobId})`).orderBy(v0(m.runtimeUpdatedAt),v0(m.id)).limit(Z)).map((J)=>({job:J,cursor:{updatedAt:J.runtimeUpdatedAt??0,jobId:J.id}}))}async cleanup($){let Z=Date.now()-$;return(await this.db.delete(m).where(F$(x9(c(m.status,O$.COMPLETED),c(m.status,O$.FAILED)),k6(m.completedAt,Z)))).rowsAffected}async getActiveJobs($){let Z=x9(c(m.status,O$.PENDING),c(m.status,O$.PROCESSING)),X=$&&$.length>0?F$(Z,Z8(m.type,$)):Z;return this.db.select().from(m).where(X).orderBy(PZ(m.createdAt))}async getFailedJobs($){let Z=c(m.status,O$.FAILED),X=$&&$.length>0?F$(Z,Z8(m.type,$)):Z;return this.db.select().from(m).where(X).orderBy(PZ(m.createdAt))}async claimNextReady($){let{now:Z,attemptId:X,workerSlotId:J,workerSessionId:G,leaseDurationMs:Y,executableTypes:W}=$,D=this.db.select({slotId:l$.slotId}).from(l$).where(F$(c(l$.slotId,J),c(l$.sessionId,G),dX(l$.expiresAt,Z))),U=this.db.select({slotId:l$.slotId}).from(l$).where(F$(c(l$.slotId,m.workerSlotId),c(l$.sessionId,m.workerSessionId))),A=this.db.select({slotId:l$.slotId}).from(l$).where(F$(c(l$.slotId,m.workerSlotId),c(l$.sessionId,m.workerSessionId),k6(l$.expiresAt,Z))),Q=F$(c(m.status,O$.PROCESSING),x9(C4(m.attemptId),GA(U),F$(k6(m.leaseExpiresAt,Z),dG(A)))),O=_`${m.status} = ${O$.PROCESSING} AND ${m.retryCount} + 1 > ${m.maxRetries}`,P=this.db.select({id:m.id}).from(m).where(F$(Z8(m.type,W),x9(F$(c(m.status,O$.PENDING),k6(m.scheduledFor,Z)),Q))).orderBy(v0(m.priority),v0(m.createdAt)).limit(1),M=(await this.db.update(m).set({status:_`CASE WHEN ${O} THEN ${O$.FAILED} ELSE ${O$.PROCESSING} END`,retryCount:_`CASE WHEN ${m.status} = ${O$.PROCESSING} THEN ${m.retryCount} + 1 ELSE ${m.retryCount} END`,lastError:_`CASE WHEN ${m.status} = ${O$.PROCESSING} THEN 'Attempt lease expired' ELSE ${m.lastError} END`,startedAt:_`CASE WHEN ${O} THEN ${m.startedAt} ELSE ${Z} END`,completedAt:_`CASE WHEN ${O} THEN ${Z} ELSE NULL END`,attemptId:_`CASE WHEN ${O} THEN ${m.attemptId} ELSE ${X} END`,workerSlotId:_`CASE WHEN ${O} THEN ${m.workerSlotId} ELSE ${J} END`,workerSessionId:_`CASE WHEN ${O} THEN ${m.workerSessionId} ELSE ${G} END`,leaseExpiresAt:_`CASE WHEN ${O} THEN ${m.leaseExpiresAt} ELSE ${Z+Y} END`,attemptHeartbeatAt:_`CASE WHEN ${O} THEN ${m.attemptHeartbeatAt} ELSE ${Z} END`,runtimeUpdatedAt:_`CASE WHEN ${O} THEN ${this.nextRuntimeUpdatedAt(Z)} ELSE ${m.runtimeUpdatedAt} END`}).where(F$(Z8(m.id,P),dG(D))).returning())[0];if(M?.status!==O$.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:M.id,attemptId:M.attemptId,workerSlotId:J,workerSessionId:G}),M}nextRuntimeUpdatedAt($){return _`max(${$}, coalesce((select max(${m.runtimeUpdatedAt}) from ${m}), 0) + 1)`}attemptWriteGuard($,Z){return Z?F$(c(m.id,$),c(m.status,O$.PROCESSING),c(m.attemptId,Z)):F$(c(m.id,$),C4(m.attemptId),x9(c(m.status,O$.PENDING),c(m.status,O$.PROCESSING)))}}import{AsyncLocalStorage as nX$}from"async_hooks";class ZJ{storage=new nX$;static createFresh(){return new ZJ}constructor(){}current(){return this.storage.getStore()}run($,Z,X){if(Z.length===0)throw Error("Operation ID must not be empty");let J=G7.parse($),G=rX$(J);return this.storage.run(Object.freeze({provenance:G,operationId:Z}),X)}}function rX$($){if(Object.freeze($.projectionLineage),$.sourceEntity)Object.freeze($.sourceEntity);return Object.freeze($)}class PP{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${qZ()}`;directWorkerSessionId=qZ();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh($,Z,X){return new PP($,Z??M1.getInstance(),X)}constructor($,Z,X){let{db:J,client:G,url:Y}=Kh($);this.client=G,this.databaseUrl=Y,this.logger=Z.child("JobQueueService"),this.operationContext=X?.operationContext??ZJ.createFresh(),this.projectionAdmission=X?.projectionAdmission,this.handlerRegistry=new BP(this.logger,X?.handlerRegistrationMode??"combined"),this.repository=new _P(J,G,Y,this.logger),this.directLeaseDurationMs=$.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await b6(this.client,this.databaseUrl)}catch($){this.logger.warn("Failed to enable WAL mode (non-fatal)",$)}finally{this.walInitializationSettled=!0,this.closeClientWhenReady()}}closeClientWhenReady(){if(!this.closeRequested||this.inFlightEnqueues>0||this.walInitialization!==null&&!this.walInitializationSettled)return;this.closeClient()}closeClient(){if(this.clientClosed)return;this.clientClosed=!0,this.client.close()}registerHandler($,Z,X){this.handlerRegistry.registerHandler($,Z,X)}unregisterHandler($){this.handlerRegistry.unregisterHandler($)}unregisterPluginHandlers($){this.handlerRegistry.unregisterPluginHandlers($)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler($){return this.handlerRegistry.getHandler($)}getValidator($){return this.handlerRegistry.getValidator($)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue($){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated($)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated($){let{type:Z,data:X,options:J}=$,G=this.handlerRegistry.getValidator(Z);if(!G)throw Error(`No job type declared: ${Z}`);let Y=G.validateAndParse(X);if(Y===null)throw Error(`Invalid job data for type: ${Z}`);let W=Date.now(),D=qZ(),U=J?.rootJobId??this.operationContext.current()?.provenance.rootJobId??D,A=this.createJobProvenance(D,U,J),Q=J?.metadata??{operationType:"data_processing"},{provenance:O,...P}=Q,N={id:D,type:Z,data:JSON.stringify(Y),status:O$.PENDING,priority:J?.priority??0,maxRetries:J?.maxRetries??3,retryCount:0,source:J?.source??null,metadata:{...P,...J?.deduplicationKey&&{deduplicationKey:J.deduplicationKey},rootJobId:U,provenance:A},createdAt:W,scheduledFor:J?.delayMs?W+J.delayMs:W,result:null,lastError:null,startedAt:null,completedAt:null},M,w=()=>{M?.rollback(),M=void 0};try{let q=await this.repository.enqueueAtomic({jobData:N,strategy:J?.deduplication,deduplicationKey:J?.deduplicationKey,beforeInsert:async()=>{M=await this.projectionAdmission?.reserveJobAdmission(A)},onInsertRollback:w});if(M?.commit(),M=void 0,q.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:Z,existingJobId:q.jobId});else if(q.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:Z,existingJobId:q.jobId});else{if(q.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:Z,oldJobId:q.replacedJobId});this.logger.debug("Job enqueued",{id:q.jobId,type:Z,priority:N.priority,rootJobId:N.metadata.rootJobId})}return q.jobId}catch(q){throw w(),this.logger.error("Failed to enqueue job",{type:Z,error:d$(q)}),q}}createJobProvenance($,Z,X){let J=this.operationContext.current(),G=X?.metadata.provenance??J?.provenance,Y=G?.rootJobId===Z?G:void 0,W=J?.provenance.rootJobId===Z?J.operationId:void 0,D=X?.projection,U=D?[...Y?.projectionLineage??[],D.id]:[...Y?.projectionLineage??[]],A=D?.id??Y?.projectionId;return G7.parse({rootJobId:Z,causationId:W??Y?.causationId??$,...A?{projectionId:A}:{},projectionLineage:U,...D?.sourceEntity?{sourceEntity:D.sourceEntity}:Y?.sourceEntity?{sourceEntity:Y.sourceEntity}:{},derivationDepth:U.length})}async dequeue($){let Z=this.handlerRegistry.getRegisteredTypes();if(Z.length===0)return null;let X=$??await this.getDirectClaimOptions(),J=Date.now(),G=await this.repository.claimNextReady({...X,now:J,attemptId:qZ(),executableTypes:Z});if(!G)return null;return this.logger.debug("Job dequeued",{id:G.id,type:G.type,priority:G.priority,retryCount:G.retryCount,attemptId:G.attemptId,workerSlotId:G.workerSlotId,workerSessionId:G.workerSessionId}),G}async startWorkerSession($,Z,X=E4){await this.repository.startWorkerSession($,Z,Date.now(),X)}heartbeatWorkerSession($,Z,X=E4){return this.repository.heartbeatWorkerSession($,Z,Date.now(),X)}endWorkerSession($,Z){return this.repository.endWorkerSession($,Z)}renewAttemptLease($,Z,X){return this.repository.renewAttemptLease($,Z,Date.now(),X)}recordAttemptProgress($,Z,X){return this.repository.recordAttemptProgress($,Z,X)}complete($,Z,X){return this.repository.complete($,Z,X)}update($,Z,X){return this.repository.update($,Z,X)}fail($,Z,X){return this.repository.fail($,Z,X)}async getDirectClaimOptions(){return this.directSessionStart??=this.repository.startWorkerSession(this.directWorkerSlotId,this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs),await this.directSessionStart,{workerSlotId:this.directWorkerSlotId,workerSessionId:this.directWorkerSessionId,leaseDurationMs:this.directLeaseDurationMs}}async getStatus($){return this.repository.getStatus($)}async getStatusByEntityId($){return this.repository.getStatusByEntityId($)}async getStats(){return this.repository.getStats()}getDiagnostics($){return this.repository.getDiagnostics($)}async waitForIdle($={}){let Z=$.quietMs??250,X=$.pollIntervalMs??25,J=Date.now()+($.timeoutMs??30000),G=async(Y)=>{$.signal?.throwIfAborted();let{totals:W}=await this.getDiagnostics(),U=W.pending===0&&W.processing===0?Y??Date.now():null;if(U!==null&&Date.now()-U>=Z)return;if(Date.now()>=J)throw Error(`Timed out waiting for the job queue to settle: ${W.pending} pending, ${W.processing} processing`);return await Bun.sleep(X),G(U)};return G(null)}getRuntimeUpdates($,Z=1000){return this.repository.getRuntimeUpdates($,Z)}async cleanup($){let Z=await this.repository.cleanup($);if(Z>0)this.logger.info("Cleaned up old jobs",{deletedCount:Z,olderThanMs:$});return Z}async getActiveJobs($){return this.repository.getActiveJobs($)}async getFailedJobs($){return this.repository.getFailedJobs($)}}class Vh extends Error{constructor($,Z){super(`Job ${$} exceeded its ${Z}ms execution deadline`);this.name="JobDeadlineExceededError"}}class FP{logger;jobQueueService;progressMonitor;config;isRunning=!1;shouldStop=!1;activeJobs=new Set;stats;startTime=0;pollFiber=null;currentPoll=null;workerScope=null;jobFibers=null;activeTransition=null;transitionQueue=[];clock;operationContext;workerSessionId=null;workerHeartbeatStop=null;static createFresh($,Z,X,J,G){return new FP($,Z,X,J,G)}constructor($,Z,X,J,G){if(this.logger=X.child("JobQueueWorker"),this.jobQueueService=$,this.progressMonitor=Z,this.clock=G?.clock,this.operationContext=G?.operationContext??ZJ.createFresh(),this.config={concurrency:J?.concurrency??1,pollInterval:J?.pollInterval??1000,maxJobs:J?.maxJobs??0,autoStart:J?.autoStart??!1,workerSlotId:J?.workerSlotId??process.env.BRAIN_JOB_WORKER_SLOT_ID??"default",defaultExecutionTimeoutMs:J?.defaultExecutionTimeoutMs??300000,cancellationGraceMs:J?.cancellationGraceMs??5000,errorCallbackTimeoutMs:J?.errorCallbackTimeoutMs??1e4,leaseDurationMs:J?.leaseDurationMs??30000,attemptHeartbeatIntervalMs:J?.attemptHeartbeatIntervalMs??1e4,workerHeartbeatIntervalMs:J?.workerHeartbeatIntervalMs??5000,workerSessionTimeoutMs:J?.workerSessionTimeoutMs??E4,onUnhealthy:J?.onUnhealthy??(()=>{return})},this.stats={processedJobs:0,failedJobs:0,activeJobs:0,uptime:0,isRunning:!1,isHealthy:!0},this.logger.debug("JobQueueWorker initialized",{concurrency:this.config.concurrency,pollInterval:this.config.pollInterval,maxJobs:this.config.maxJobs,autoStart:this.config.autoStart}),this.config.autoStart)this.start().catch((Y)=>{this.logger.error("Failed to auto-start JobQueueWorker",{error:Y})})}start(){return this.requestTransition("start",!0)}async startWorker(){if(this.isRunning){this.logger.warn("Worker is already running");return}this.logger.debug("Starting JobQueueWorker");let $=qZ();await this.jobQueueService.startWorkerSession(this.config.workerSlotId,$,this.config.workerSessionTimeoutMs),this.workerSessionId=$,this.isRunning=!0,this.shouldStop=!1,this.startTime=Date.now(),this.stats.isRunning=!0,this.stats.isHealthy=!0,delete this.stats.unhealthyReason,this.startWorkerHeartbeat(),this.workerScope=t.runSync(o0.make()),this.jobFibers=t.runSync(o0.extend(B1.make(),this.workerScope)),this.pollFiber=t.runFork(this.runPollingLoop())}stop(){return this.requestTransition("stop",!0)}async stopWorker($){if(!this.isRunning){this.logger.warn("Worker is not running");return}if(this.logger.debug("Stopping JobQueueWorker"),this.shouldStop=!0,$.awaitInFlightPoll&&this.pollFiber){let X=this.pollFiber;await t.runPromise(K1.interrupt(X)),this.pollFiber=null}if($.awaitInFlightPoll&&this.currentPoll)await this.currentPoll,this.currentPoll=null;if(this.jobFibers)this.logger.debug("Waiting for active jobs to complete",{activeJobs:this.activeJobs.size}),await t.runPromise(B1.awaitEmpty(this.jobFibers));await this.closeWorkerScope(),await this.stopWorkerHeartbeat();let Z=this.workerSessionId;if(this.workerSessionId=null,Z)await this.jobQueueService.endWorkerSession(this.config.workerSlotId,Z);this.isRunning=!1,this.stats.isRunning=!1,this.logger.debug("JobQueueWorker stopped")}getStats(){return{...this.stats,activeJobs:this.activeJobs.size,uptime:this.isRunning?Date.now()-this.startTime:0}}isWorkerRunning(){return this.isRunning}isStopRequested(){return this.shouldStop}async processAvailableJobs(){if(!this.isRunning||this.shouldStop)return;try{let $=this.config.concurrency-this.activeJobs.size;if($<=0)return;if(this.config.maxJobs>0){let J=this.stats.processedJobs+this.stats.failedJobs,G=this.config.maxJobs-J-this.activeJobs.size;if(G<=0){this.logger.debug("Maximum job limit reached, stopping worker",{maxJobs:this.config.maxJobs,processedJobs:this.stats.processedJobs,failedJobs:this.stats.failedJobs}),await this.requestTransition("stop",!1);return}$=Math.min($,G)}let Z=[];for(let J=0;J<$;J++){if(this.isStopRequested())break;let G=this.workerSessionId;if(!G)throw Error("Worker session is not available");let Y=await this.jobQueueService.dequeue({workerSlotId:this.config.workerSlotId,workerSessionId:G,leaseDurationMs:this.config.leaseDurationMs});if(Y)Z.push(Y);else break}let X=this.jobFibers;if(!X){if(Z.length>0)throw Error("Worker job fiber scope is not available");return}for(let J of Z)this.activeJobs.add(J.id),await t.runPromise(B1.run(X,J.id,t.promise(()=>this.processJobWrapper(J))))}catch($){this.logger.error("Error processing available jobs",{error:$}),this.stats.lastError=d$($)}}async processJobWrapper($){let Z=$.id;try{this.logger.debug("Processing job",{jobId:Z,type:$.type,priority:$.priority,retryCount:$.retryCount});let X=await this.processJob($);if(X.status==="completed")this.stats.processedJobs++,this.logger.debug("Job completed successfully",{jobId:Z,type:X.type});else this.stats.failedJobs++,this.logger.warn("Job failed",{jobId:Z,type:X.type,error:X.error})}catch(X){this.stats.failedJobs++,this.logger.error("Error processing job",{jobId:Z,type:$.type,error:X}),this.stats.lastError=d$(X)}finally{this.activeJobs.delete(Z)}}runPollingLoop(){let Z=t.suspend(()=>{if(!this.isWorkerRunning()||this.isStopRequested())return t.interrupt;return this.currentPoll=this.processAvailableJobs(),t.promise(()=>this.currentPoll??Promise.resolve()).pipe(t.andThen(t.suspend(()=>{return this.currentPoll=null,!this.isWorkerRunning()||this.isStopRequested()?t.interrupt:t.void})))}).pipe(t.schedule(N1.spaced(this.config.pollInterval)),t.asVoid);return(this.clock?t.withClock(Z,this.clock):Z).pipe(t.ensuring(t.sync(()=>{this.pollFiber=null})))}requestTransition($,Z){let X=this.transitionQueue.at(-1)??this.activeTransition;if(X?.kind===$)return X.promise;let J=()=>{return},G=()=>{return},Y=new Promise((D,U)=>{J=D,G=U}),W={kind:$,awaitInFlightPoll:Z,promise:Y,resolve:J,reject:G};return this.transitionQueue.push(W),this.runNextTransition(),Y}runNextTransition(){if(this.activeTransition)return;let $=this.transitionQueue.shift();if(!$)return;this.activeTransition=$,($.kind==="start"?this.startWorker():this.stopWorker({awaitInFlightPoll:$.awaitInFlightPoll})).then(()=>this.completeTransition($,!0),(X)=>this.completeTransition($,!1,X))}completeTransition($,Z,X){if(this.activeTransition!==$)return;if(this.activeTransition=null,Z)$.resolve();else $.reject(X);queueMicrotask(()=>this.runNextTransition())}async closeWorkerScope(){let $=this.workerScope;if(this.workerScope=null,this.jobFibers=null,$)await t.runPromise(o0.close($,M0.void))}startHeartbeatLoop($){let Z=null,X=!1,J=setInterval(()=>{if(X||Z)return;Z=$.beat().then((G)=>{if(!G)$.onStale()}).catch($.onError).finally(()=>{Z=null})},Math.max(1,$.intervalMs));return async()=>{if(X)return;X=!0,clearInterval(J),await Z}}startWorkerHeartbeat(){this.workerHeartbeatStop=this.startHeartbeatLoop({intervalMs:this.config.workerHeartbeatIntervalMs,beat:async()=>{let $=this.workerSessionId;if(!$)return!0;return this.jobQueueService.heartbeatWorkerSession(this.config.workerSlotId,$,this.config.workerSessionTimeoutMs)},onStale:()=>this.markUnhealthy("Worker session was superseded"),onError:($)=>this.markUnhealthy(`Worker session heartbeat failed: ${d$($)}`)})}async stopWorkerHeartbeat(){await this.workerHeartbeatStop?.(),this.workerHeartbeatStop=null}startAttemptHeartbeat($,Z){let X=$.attemptId;if(!X)return async()=>{return};return this.startHeartbeatLoop({intervalMs:this.config.attemptHeartbeatIntervalMs,beat:()=>this.jobQueueService.renewAttemptLease($.id,X,this.config.leaseDurationMs),onStale:()=>{let J=Error("Job attempt was superseded");Z.abort(J),this.markUnhealthy(J.message)},onError:(J)=>{let G=XJ(J);Z.abort(G),this.markUnhealthy(`Attempt lease heartbeat failed: ${G.message}`)}})}markUnhealthy($){if(!this.stats.isHealthy)return;this.stats.isHealthy=!1,this.stats.unhealthyReason=$,this.stats.lastError=$,this.shouldStop=!0,this.logger.error("Job queue worker is unhealthy",{reason:$});try{this.config.onUnhealthy($)}catch(Z){this.logger.error("Job queue worker unhealthy callback failed",{reason:$,error:d$(Z)})}}async raceOutcome($,Z){let X,J=new Promise((G)=>{X=setTimeout(()=>G({kind:"timeout"}),Math.max(1,Z))});try{return await Promise.race([$,J])}finally{if(X)clearTimeout(X)}}async executeWithDeadline($,Z,X,J){let G=Promise.resolve().then(J).then((U)=>({kind:"success",value:U}),(U)=>({kind:"failure",error:U})),Y=await this.raceOutcome(G,Z);if(Y.kind!=="timeout"){if(Y.kind==="failure")throw Y.error;return Y.value}let W=new Vh($,Z);if(X.abort(W),(await this.raceOutcome(G,this.config.cancellationGraceMs)).kind!=="timeout")throw W;throw this.markUnhealthy(`${W.message}; handler ignored cancellation grace`),await G,W}processJob($){let Z=$.metadata.provenance??{rootJobId:$.metadata.rootJobId,causationId:$.id,projectionLineage:[],derivationDepth:0};return this.operationContext.run(Z,$.id,()=>this.processJobWithinContext($))}async processJobWithinContext($){let Z=$.attemptId;if(!Z){let D=Error(`Claimed job ${$.id} has no attempt fencing token`);return this.markUnhealthy(D.message),{jobId:$.id,type:$.type,status:O$.FAILED,error:D.message}}let X=this.jobQueueService.getHandler($.type);if(!X){let D=Error(`No handler registered for job type: ${$.type}`);return await this.jobQueueService.fail($.id,D,Z),{jobId:$.id,type:$.type,status:O$.FAILED,error:D.message}}let J=new AbortController,G=this.startAttemptHeartbeat($,J),Y=!1,W=async()=>{if(Y)return;Y=!0,await G()};try{this.logger.debug("Processing job",{jobId:$.id,type:$.type,attemptId:Z});let D=JSON.parse($.data),U=X.validateAndParse(D);if(U===null)throw Error(`Invalid job data for type: ${$.type}`);let A=this.progressMonitor.createProgressReporter($.id,Z),Q=X.executionTimeoutMs??this.config.defaultExecutionTimeoutMs,O=await this.executeWithDeadline($.type,Q,J,()=>X.process(U,$.id,A,J.signal));await W();let P=OP.safeParse(O);if(P.success){let M=P.data.error??"Handler returned failure",w=Error(M);if(await this.jobQueueService.fail($.id,w,Z))await this.emitTerminalFailure($,w,X,Z);return{jobId:$.id,type:$.type,status:O$.FAILED,error:M}}if(!await this.jobQueueService.complete($.id,O,Z))return{jobId:$.id,type:$.type,status:O$.FAILED,error:"Job attempt no longer owns the claim"};return await this.progressMonitor.handleJobStatusChange($.id,"completed",$.metadata),{jobId:$.id,type:$.type,status:O$.COMPLETED,result:O}}catch(D){let U=XJ(D);if(await W(),await this.runHandlerErrorCallback("onError",X,$,U,Z),await this.jobQueueService.fail($.id,U,Z))await this.emitTerminalFailure($,U,X,Z);return{jobId:$.id,type:$.type,status:O$.FAILED,error:U.message}}}async emitTerminalFailure($,Z,X,J){if((await this.jobQueueService.getStatus($.id))?.status!==O$.FAILED)return;await this.runHandlerErrorCallback("onTerminalError",X,$,Z,J),await this.progressMonitor.handleJobStatusChange($.id,"failed",$.metadata)}async runHandlerErrorCallback($,Z,X,J,G){let Y=Z[$];if(!Y)return;try{let W=Z.validateAndParse(JSON.parse(X.data));if(W===null)return;let D=this.progressMonitor.createProgressReporter(X.id,G),U=new AbortController;await this.executeWithDeadline(`${X.type}:${$}`,this.config.errorCallbackTimeoutMs,U,()=>Y.call(Z,J,W,X.id,D,U.signal))}catch(W){this.logger.error($==="onError"?"Job handler error callback failed":"Job handler terminal error callback failed",{jobId:X.id,error:W})}}}var lX$=86400000,Qh=3600000;class TP{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh($,Z,X){return new TP($,Z,X)}constructor($,Z,X){this.jobQueue=$,this.logger=Z,this.clock=X?.clock}start($=Qh){return this.requestTransition("start",$)}stop(){return this.requestTransition("stop",Qh)}async startCleanup($){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=t.runFork(this.runCleanupLoop($))}runCleanupLoop($){let Z=this.cleanupTerminalBatchMetadata().pipe(t.schedule(N1.spaced($)),t.asVoid);return this.clock?t.withClock(Z,this.clock):Z}scheduleTerminalBatchCleanup(){if(!this.acceptingCleanup)return;this.cleanupSupervisor??=this.createCleanupSupervisor();let $=t.runFork(this.cleanupTerminalBatchMetadata());a5.unsafeAdd(this.cleanupSupervisor.fibers,$)}async stopCleanup(){this.acceptingCleanup=!1;let $=this.cleanupFiber;if(this.cleanupFiber=null,$)await t.runPromise(K1.interrupt($));let Z=this.cleanupSupervisor;if(Z)await t.runPromise(a5.awaitEmpty(Z.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(Z)await t.runPromise(o0.close(Z.scope,M0.void)),this.cleanupSupervisor=null}requestTransition($,Z){let X=this.transitionQueue.at(-1)??this.activeTransition;if(X?.kind===$)return X.promise;let J=()=>{return},G=()=>{return},Y=new Promise((D,U)=>{J=D,G=U}),W={kind:$,intervalMs:Z,promise:Y,resolve:J,reject:G};return this.transitionQueue.push(W),this.runNextTransition(),Y}runNextTransition(){if(this.activeTransition)return;let $=this.transitionQueue.shift();if(!$)return;this.activeTransition=$,($.kind==="start"?this.startCleanup($.intervalMs):this.stopCleanup()).then(()=>this.completeTransition($,!0),(X)=>this.completeTransition($,!1,X))}completeTransition($,Z,X){if(this.activeTransition!==$)return;if(this.activeTransition=null,Z)$.resolve();else $.reject(X);queueMicrotask(()=>this.runNextTransition())}createCleanupSupervisor(){let $=t.runSync(o0.make()),Z=t.runSync(o0.extend(a5.make(),$));return{scope:$,fibers:Z}}cleanupTerminalBatchMetadata(){return t.tryPromise({try:()=>{let $=this.cleanup(lX$);return this.inFlightCleanups.add($),$.then(()=>this.inFlightCleanups.delete($),()=>this.inFlightCleanups.delete($)),$},catch:($)=>$}).pipe(t.asVoid,t.catchAll(($)=>t.sync(()=>{this.logger.warn("Failed to clean up terminal batch metadata",{error:$})})))}validateOperations($){for(let Z of $){let X=this.jobQueue.getValidator(Z.type);if(!X)throw Error(`No job type declared: ${Z.type}`);if(X.validateAndParse(Z.data)===null)throw Error(`Invalid job data for type: ${Z.type}`)}}async enqueueBatch($,Z,X,J){if($.length===0)throw Error("Cannot enqueue empty batch");this.validateOperations($);let G=[];this.batches.set(X,{jobIds:G,operations:$,source:Z.source,startedAt:new Date().toISOString(),metadata:{...Z.metadata,rootJobId:X}});try{for(let Y of $){let W={...Z,rootJobId:X,metadata:{...Z.metadata,operationTarget:Y.type}},D=await this.jobQueue.enqueue({type:Y.type,data:Y.data,options:W});G.push(D)}return this.logger.debug("Enqueued batch operations",{batchId:X,operationCount:$.length,jobIds:G,rootJobId:X}),this.scheduleTerminalBatchCleanup(),X}catch(Y){throw this.batches.delete(X),this.logger.error("Failed to enqueue batch operations",{error:Y,operationCount:$.length,enqueuedJobs:G.length}),Y}}async getBatchStatus($){let Z=this.batches.get($);if(!Z)return null;try{let X=await Promise.all(Z.jobIds.map((A)=>this.jobQueue.getStatus(A))),J=0,G=0,Y=0,W=[];for(let[A,Q]of X.entries()){if(!Q){G++;let O=Z.operations[A],P=Z.jobIds[A]??"unknown";W.push(`Missing job ${P}${O?` for ${O.type}`:""}`);continue}switch(Q.status){case"completed":J++;break;case"failed":if(G++,Q.lastError)W.push(Q.lastError);break;case"processing":case"pending":Y++;break}}Y+=Z.operations.length-Z.jobIds.length;let D;if(Y>0)D=O$.PROCESSING;else if(G>0)D=O$.FAILED;else D=O$.COMPLETED;if(Z.terminalAt===void 0&&(D===O$.COMPLETED||D===O$.FAILED))Z.terminalAt=Date.now();let U;for(let A=0;A<Z.jobIds.length;A++){let Q=X[A];if(Q&&Q.status!=="completed"&&Q.status!=="failed"){let O=Z.operations[A];if(O)U=`Processing ${O.type}`;break}}return{batchId:$,totalOperations:Z.operations.length,completedOperations:J,failedOperations:G,errors:W,status:D,currentOperation:U,metadata:Z.metadata}}catch(X){throw this.logger.error("Failed to get batch status",{batchId:$,error:X}),X}}async cleanup($){let Z=Date.now()-$,X=0;for(let[J,G]of this.batches.entries()){if(G.terminalAt!==void 0){if(G.terminalAt<=Z)this.batches.delete(J),X++;continue}if(new Date(G.startedAt).getTime()<=Z){let W=await this.getBatchStatus(J);if(W&&(W.status===O$.COMPLETED||W.status===O$.FAILED))this.batches.delete(J),X++}}return this.logger.debug("Cleaned up batch metadata",{cleaned:X}),X}registerBatch($,Z,X,J,G){this.batches.set($,{jobIds:Z,operations:X,source:J,startedAt:new Date().toISOString(),metadata:G}),this.logger.debug("Registered batch metadata",{batchId:$,operationCount:X.length,jobIds:Z})}async getActiveBatches(){let $=[];try{for(let[Z,X]of this.batches){let J=await this.getBatchStatus(Z);if(J&&(J.status==="pending"||J.status==="processing"))$.push({batchId:Z,status:J,metadata:{operations:X.operations,source:X.source,startedAt:X.startedAt,metadata:X.metadata}})}return this.logger.debug("Retrieved active batches",{count:$.length}),$}catch(Z){throw this.logger.error("Failed to get active batches",{error:Z}),Z}}}var iX$=H.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},H.record(H.string(),H.unknown()));class MP{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};polling=!1;static createFresh($,Z,X,J,G="combined"){return new MP($,Z,X,J,G)}constructor($,Z,X,J,G){this.jobQueueService=$,this.messageBus=Z,this.batchJobManager=X,this.logger=J,this.mode=G}start(){if(this.mode==="durable-reader"&&!this.pollTimer){this.pollCursor={updatedAt:Date.now(),jobId:""},this.pollTimer=setInterval(()=>{this.pollDurableUpdates()},250),this.pollTimer.unref(),this.logger.debug("Job progress monitor ready (durable polling mode)");return}this.logger.debug("Job progress monitor ready (event-driven mode)")}stop(){if(this.pollTimer)clearInterval(this.pollTimer);this.pollTimer=void 0,this.logger.debug("Job progress monitor stopped")}async pollDurableUpdates(){if(this.polling)return;this.polling=!0;try{let $=await this.jobQueueService.getRuntimeUpdates(this.pollCursor,100);for(let Z of $)if(this.pollCursor=Z.cursor,Z.job.status==="processing"&&Z.job.progress)await this.publishJobProgress(Z.job,Z.job.progress);else if(Z.job.status==="completed"||Z.job.status==="failed")await this.handleJobStatusChange(Z.job.id,Z.job.status,Z.job.metadata)}catch($){this.logger.error("Failed to poll durable job progress",{error:$})}finally{this.polling=!1}}createProgressReporter($,Z){let X=b9.from(async(J)=>{await this.emitJobProgress($,J,Z)});if(!X)throw Error("Failed to create ProgressReporter");return X}async emitBatchProgress($,Z,X){try{let J={totalOperations:Z.totalOperations,completedOperations:Z.completedOperations,failedOperations:Z.failedOperations,currentOperation:Z.currentOperation??"Processing batch...",errors:Z.errors},G={id:$,type:"batch",status:Z.status,metadata:X,batchDetails:J};if(Z.totalOperations>0)G.progress={current:Z.completedOperations,total:Z.totalOperations,percentage:Math.round(Z.completedOperations/Z.totalOperations*100)};await this.messageBus.send({type:DY.progress,payload:G,sender:"job-progress-monitor",broadcast:!0}),this.logger.debug("Emitted batch progress update",{batchId:$,status:Z.status,progress:`${Z.completedOperations}/${Z.totalOperations}`})}catch(J){this.logger.error("Error emitting batch progress update",{batchId:$,error:J})}}isBatchChild($,Z){return!!Z&&Z!==$}get publishesEvents(){return this.mode!=="durable-writer"}async broadcastEvent($){await this.messageBus.send({type:DY.progress,payload:$,sender:"job-progress-monitor",broadcast:!0})}async emitJobProgress($,Z,X){try{if(X&&!await this.jobQueueService.recordAttemptProgress($,X,Z)){this.logger.debug("Discarding progress from obsolete job attempt",{jobId:$,attemptId:X});return}if(!this.publishesEvents)return;let J=await this.jobQueueService.getStatus($);if(!J){this.logger.warn("Job not found for progress update",{jobId:$});return}await this.publishJobProgress(J,Z)}catch(J){this.logger.error("Error emitting job progress",{jobId:$,error:J})}}async publishJobProgress($,Z){if($.metadata.silent)return;if(this.isBatchChild($.id,$.metadata.rootJobId))return;let X=Z.total??0,J={id:$.id,type:"job",status:"processing",metadata:$.metadata,message:Z.message};if(X>0)J.progress={current:Z.progress,total:X,percentage:Math.round(Z.progress/X*100)};await this.broadcastEvent(J)}async emitJobCompletion($){await this.emitJobStatusEvent($,"completed")}async emitJobFailure($){await this.emitJobStatusEvent($,"failed")}async emitJobStatusEvent($,Z){if(!this.publishesEvents)return;try{let X=await this.jobQueueService.getStatus($);if(!X){this.logger.warn(`Cannot emit ${Z} for unknown job`,{jobId:$});return}if(X.metadata.silent)return;if(this.isBatchChild($,X.metadata.rootJobId)){this.logger.debug(`Skipping individual job ${Z} for batch operation`,{jobId:$,rootJobId:X.metadata.rootJobId});return}let J={id:$,type:"job",status:Z,message:this.extractStatusMessage(X,Z),metadata:X.metadata,jobDetails:{jobType:X.type,priority:X.priority,retryCount:X.retryCount}};await this.broadcastEvent(J),this.logger.debug(`Emitted job ${Z} event`,{jobId:$})}catch(X){this.logger.error(`Error emitting job ${Z} event`,{jobId:$,error:X})}}extractStatusMessage($,Z){if(Z==="failed")return $.lastError??void 0;if(!$.result)return;try{let X=iX$.parse($.result),J=X.message;if(J)return String(J);let G=X.routesBuilt;if(G!==void 0)return`${G} routes built`}catch{}return}getStats(){return{isRunning:!0}}async handleJobStatusChange($,Z,X){if(!this.publishesEvents)return;let J=X?Y7.safeParse(X):void 0,G=J?.success?J.data:void 0;if(G?.silent)return;try{if(await this.emitJobStatusEvent($,Z),G&&this.isBatchChild($,G.rootJobId))try{let Y=G.rootJobId,W=await this.batchJobManager.getBatchStatus(Y);if(W){let D=W.metadata??G;await this.emitBatchProgress(Y,W,D)}}catch(Y){this.logger.warn("Failed to emit batch progress",{jobId:$,rootJobId:G.rootJobId,error:Y})}}catch(Y){this.logger.error("Failed to handle job status change",{jobId:$,status:Z,error:Y})}}}var sX$=H.record(H.string(),H.unknown());class HY{logger;schema;jobTypeName;executionTimeoutMs;constructor($,Z){this.logger=$,this.schema=Z.schema,this.jobTypeName=Z.jobTypeName,this.executionTimeoutMs=Z.executionTimeoutMs}validateAndParse($){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);let Z=this.schema.safeParse($);if(!Z.success)return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:$,validationError:Z.error.issues}),null;return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog(Z.data)}),Z.data}async onError($,Z,X,J,G){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:X,errorMessage:$.message,errorStack:$.stack,data:this.summarizeDataForLog(Z)})}async reportProgress($,Z){await $.report({progress:Z.progress,total:Z.total??100,message:Z.message})}summarizeDataForLog($){let Z=sX$.safeParse($);return Z.success?Z.data:{}}}function zP($,Z,X){return async(J)=>{let{type:G,data:Y,toolContext:W=null,options:D,projection:U}=J,A=W?Oh(W):void 0,{metadata:Q,...O}=D??{},P={operationType:"data_processing",pluginId:Z,...Q,...W&&{interfaceType:W.interfaceType,conversationId:W.conversationId,channelId:W.channelId,requestedByActor:W.actor,...A?{requestedByUserId:A}:{},requestedByInterface:W.interfaceType}};if(W&&!A)delete P.requestedByUserId;let N={...O,source:Z,...D?.rootJobId&&{rootJobId:D.rootJobId},...U&&{projection:U},metadata:P},M=X&&!G.includes(":")?`${Z}:${G}`:G;return $.enqueue({type:M,data:Y,options:N})}}function RP($,Z){return async(X,J)=>{let G=qZ(),Y=X.map((D)=>({...D,type:D.type.includes(":")?D.type:`${Z}:${D.type}`})),W={...J,source:Z,rootJobId:G,metadata:{...J?.metadata,operationType:"batch_processing",pluginId:Z}};return await $.enqueueBatch(Y,W,G,Z),G}}function wP($,Z){return(X,J)=>{let G=X.includes(":")?X:`${Z}:${X}`;$.registerHandler(G,J,Z)}}var aX$=H.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)),tX$=H.object({name:H.string(),schema:aX$});function Bh($){return tX$.safeParse($).success}function eX$($){if(!$)return;return{status:$.status,message:$.message,lastCheck:$.lastCheck?.toISOString(),details:$.details}}function Nh($){return{model:$.model,version:$.version,uptime:$.uptime,entities:$.entities,entityCounts:$.entityCounts,embeddings:$.embeddings,ai:$.ai,daemons:$.daemons.map((Z)=>({name:Z.name,pluginId:Z.pluginId,status:Z.status,health:eX$(Z.health)})),endpoints:$.endpoints,interactions:$.interactions}}var _h={digest:"conversation:digest"};var U0=TZ("conversations",{id:X$("id").primaryKey(),sessionId:X$("session_id").notNull(),interfaceType:X$("interface_type").notNull(),channelId:X$("channel_id").notNull(),personId:X$("person_id"),started:X$("started").notNull(),lastActive:X$("last_active").notNull(),metadata:X$("metadata"),created:X$("created").notNull(),updated:X$("updated").notNull()},($)=>({sessionIdx:ZZ("idx_conversations_session").on($.sessionId),channelIdx:ZZ("idx_conversations_channel").on($.channelId),personIdx:ZZ("idx_conversations_person").on($.personId),interfaceSessionIdx:ZZ("idx_conversations_interface_session").on($.interfaceType,$.sessionId),interfaceChannelIdx:ZZ("idx_conversations_interface_channel").on($.interfaceType,$.channelId)})),dZ=TZ("messages",{id:X$("id").primaryKey(),conversationId:X$("conversation_id").notNull().references(()=>U0.id,{onDelete:"cascade"}),role:X$("role").notNull(),content:X$("content").notNull(),timestamp:X$("timestamp").notNull(),metadata:X$("metadata")},($)=>({conversationIdx:ZZ("idx_messages_conversation").on($.conversationId),timestampIdx:ZZ("idx_messages_timestamp").on($.timestamp)})),W7=TZ("summary_tracking",{conversationId:X$("conversation_id").primaryKey().references(()=>U0.id,{onDelete:"cascade"}),lastSummarizedAt:X$("last_summarized_at"),lastMessageId:X$("last_message_id"),messagesSinceSummary:a$("messages_since_summary").default(0),updated:X$("updated").notNull()});function Ph($){return y6({url:$.url,schema:{conversations:U0,messages:dZ,summaryTracking:W7},authToken:$.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var $J$=H.preprocess(($)=>{if(typeof $!=="string")return $;try{return JSON.parse($)}catch{return}},H.record(H.string(),H.unknown())).catch({});function D7($){return $J$.parse($)}var CA="conversation:messageAdded",CP="conversation:started",UY=H.object({identity:X7,interfaceType:H.string(),role:cX,displayName:H.string().optional(),username:H.string().optional(),isBot:H.boolean().optional()}),ZJ$=H.preprocess(XJ$,UY);function XJ$($){if(!wA($)||"identity"in $)return $;let{actorId:Z,interfaceType:X,role:J}=$;if(typeof Z!=="string"||typeof X!=="string"||J!=="user"&&J!=="assistant")return $;let{userId:G,canonicalId:Y}=$;return{identity:Fh({actorId:Z,interfaceType:X,role:J,...typeof G==="string"?{userId:G}:{},...typeof Y==="string"?{canonicalId:Y}:{}}),interfaceType:X,role:J,...typeof $.displayName==="string"?{displayName:$.displayName}:{},...typeof $.username==="string"?{username:$.username}:{},...typeof $.isBot==="boolean"?{isBot:$.isBot}:{}}}var AY=H.object({messageId:H.string().optional(),channelId:H.string().optional(),channelName:H.string().optional(),threadId:H.string().optional(),metadata:H.record(H.string(),H.unknown()).optional()}),Th=H.looseObject({actor:ZJ$.optional(),source:AY.optional()});function Mh($){if(typeof $==="string")try{let Z=JSON.parse($);return wA(Z)?Z:null}catch{return null}return wA($)?$:null}function JJ$($){if($.role!=="assistant")return!1;if($.content.trim().length===0)return!1;let Z=Mh($.metadata),X=Z?.entityMemoryRefs;if(Array.isArray(X)&&X.length>0)return!1;let J=Z?.cards;if(!Array.isArray(J))return!0;return!J.some((G)=>{if(!wA(G))return!1;if(G.kind==="tool-approval")return!0;return G.kind==="actions"&&G.id==="actions:upload-intent"})}function wA($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var GJ$=H.object({id:H.string(),conversationId:H.string(),role:H.string(),content:H.string(),timestamp:H.string(),metadata:H.string().nullable()}),zh=H.object({conversationId:H.string(),messageCount:H.number(),messages:H.array(GJ$),windowStart:H.number(),windowEnd:H.number(),windowSize:H.number(),timestamp:H.string()});class LA{db;logger;messageBus;config;dbClient=null;dbUrl=null;pragmaInitialization=null;constructor($,Z,X,J={}){this.db=$,this.logger=Z,this.messageBus=X,this.config={digestTriggerInterval:5,digestWindowSize:10,...J}}initialize(){return this.pragmaInitialization??=this.applyPragmas(),this.pragmaInitialization}async applyPragmas(){let $=this.dbClient,Z=this.dbUrl;if(!$||Z===null)return;try{await b6($,Z)}catch(X){this.logger.warn("Failed to enable conversation database pragmas (non-fatal)",X)}}getDatabaseClient(){if(!this.dbClient)throw Error("ConversationService does not own a database client");return this.dbClient}close(){this.dbClient?.close()}static createFresh($,Z,X,J){return new LA($,Z,X,J)}static createFreshFromConfig($,Z,X,J){let{db:G,client:Y,url:W}=Ph(X),D=new LA(G,$,Z,J);return D.dbClient=Y,D.dbUrl=W,D}async startConversation($){let{sessionId:Z,interfaceType:X,channelId:J,personId:G,metadata:Y}=$,W=new Date().toISOString();if(await this.getConversation(Z))return await this.db.update(U0).set({lastActive:W,updated:W}).where(c(U0.id,Z)),this.logger.debug("Resumed existing conversation",{conversationId:Z,interfaceType:X}),Z;let U={id:Z,sessionId:Z,interfaceType:X,channelId:J,personId:G??null,started:W,lastActive:W,created:W,updated:W,metadata:JSON.stringify(Y)};await this.db.insert(U0).values(U);let A={conversationId:Z,messagesSinceSummary:0,updated:W};return await this.db.insert(W7).values(A),this.logger.debug("Started new conversation",{conversationId:Z,sessionId:Z,interfaceType:X}),await this.messageBus.send({type:CP,payload:{conversationId:Z,sessionId:Z,interfaceType:X,timestamp:W},sender:"conversation-service",broadcast:!0}),Z}async addMessage($){let{conversationId:Z,role:X,content:J,metadata:G}=$,Y=new Date().toISOString(),W=qZ(12),D={id:W,conversationId:Z,role:X,content:J,timestamp:Y,metadata:G?JSON.stringify(G):null};await this.db.insert(dZ).values(D),await this.db.update(U0).set({lastActive:Y,updated:Y}).where(c(U0.id,Z)),await this.db.update(W7).set({messagesSinceSummary:_`${W7.messagesSinceSummary} + 1`,lastMessageId:W,updated:Y}).where(c(W7.conversationId,Z)),this.logger.debug("Added message to conversation",{conversationId:Z,role:X,messageId:W}),await this.messageBus.send({type:CA,payload:{conversationId:Z,messageId:W,role:X,content:J,metadata:G,timestamp:Y},sender:"conversation-service",broadcast:!0}),await this.checkAndBroadcastDigest(Z,Y)}async getMessages($,Z={}){let{limit:X=20,range:J}=Z;if(J){let G=J.start-1,Y=J.end-J.start+1;return await this.db.select().from(dZ).where(c(dZ.conversationId,$)).orderBy(v0(dZ.timestamp)).limit(Y).offset(G)}else return(await this.db.select().from(dZ).where(c(dZ.conversationId,$)).orderBy(PZ(dZ.timestamp)).limit(X)).reverse()}async getConversation($){return(await this.db.select().from(U0).where(c(U0.id,$)).limit(1))[0]??null}async listConversations($={}){let{limit:Z=100,updatedAfter:X,interfaceType:J,sessionId:G,channelId:Y,personId:W}=$,D=[X?dX(U0.updated,X):void 0,J?c(U0.interfaceType,J):void 0,G?c(U0.sessionId,G):void 0,Y?c(U0.channelId,Y):void 0,W?c(U0.personId,W):void 0].filter((A)=>A!==void 0),U=this.db.select().from(U0).orderBy(PZ(U0.lastActive)).limit(Z);if(D.length===0)return U;return U.where(F$(...D))}async searchConversations($,Z){let X=`%${$.toLowerCase()}%`;return(await this.db.selectDistinct({conversation:U0}).from(U0).leftJoin(dZ,c(dZ.conversationId,U0.id)).where(Z?_`lower(${dZ.content}) LIKE ${X} AND ${U0.sessionId} = ${Z}`:_`lower(${dZ.content}) LIKE ${X}`).orderBy(PZ(U0.lastActive))).map((G)=>G.conversation)}async countMessages($){let[Z]=await this.db.select({count:wb()}).from(dZ).where(c(dZ.conversationId,$));return Number(Z?.count??0)}async updateConversationMetadata($){let Z=await this.getConversation($.conversationId);if(!Z)return!1;let X=new Date().toISOString(),J={...D7(Z.metadata),...$.metadata};return await this.db.update(U0).set({metadata:JSON.stringify(J),updated:X}).where(c(U0.id,$.conversationId)),this.logger.debug("Updated conversation metadata",{conversationId:$.conversationId}),!0}async deleteConversation($){if(!await this.getConversation($))return!1;return await this.db.delete(U0).where(c(U0.id,$)),this.logger.debug("Deleted conversation",{conversationId:$}),!0}async checkAndBroadcastDigest($,Z){let X=await this.countMessages($),J=this.config.digestTriggerInterval??10;if(X>0&&X%J===0)await this.broadcastDigest($,X,Z)}async broadcastDigest($,Z,X){let J=this.config.digestWindowSize??20,G=Math.max(1,Z-J+1),Y=Z,W=await this.getMessages($,{range:{start:G,end:Y}}),D={conversationId:$,messageCount:Z,messages:W,windowStart:G,windowEnd:Y,windowSize:W.length,timestamp:X};await this.messageBus.send({type:_h.digest,payload:D,sender:"conversation-service",broadcast:!0}),this.logger.debug("Broadcast conversation digest",{conversationId:$,messageCount:Z,windowStart:G,windowEnd:Y,windowSize:W.length})}}function WJ$($){let Z=cX.safeParse($);return Z.success?Z.data:"user"}function qA($){let Z=D7($.metadata),X=typeof Z.channelName==="string"?Z.channelName:void 0;return{id:$.id,sessionId:$.sessionId,interfaceType:$.interfaceType,channelId:$.channelId,...$.personId?{personId:$.personId}:{},channelName:X,startedAt:$.started,lastActiveAt:$.lastActive,createdAt:$.created,updatedAt:$.updated,metadata:Z}}function Rh($){return{id:$.id,conversationId:$.conversationId,role:WJ$($.role),content:$.content,timestamp:$.timestamp,metadata:D7($.metadata)}}function wh($){return wN.parse($)}function Ch($){return CN.parse($)}function Lh($){return async()=>{return Nh(await $.getAppInfo())}}function qh($,Z){return{get:()=>wh($.getIdentity()),getProfile:()=>Ch($.getProfile()),getAppInfo:Z}}function Eh($,Z){let X=$.getProfileKindRegistry();return{register:(J)=>{X.register(Z,J)},getResolved:()=>X.getResolved(),getSelectedDefinition:()=>X.getSelectedDefinition()}}function LP($){let Z=$.getChannelRegistry();return{listDescriptors:()=>Z.listDescriptors(),getDescriptor:(X)=>Z.getDescriptor(X),getDeliveryProvider:(X)=>Z.getDeliveryProvider(X)}}function xh($,Z){let X=$.getOperationalHealthRegistry();return{register:(J,G)=>X.register(Z,J,G)}}function Sh($,Z){let X=$.getInboxRegistry();return{registerSource:(J)=>{X.registerSource(Z,J)},listSources:()=>X.listSources(),getSource:(J)=>X.getSource(J)}}function jh($,Z){let X=$.getInboxFollowUpRegistry();return{registerKind:(J)=>{X.registerKind(Z,J)},listKinds:()=>X.listKinds(),getKind:(J)=>X.getKind(J),resolveUniversal:(J)=>X.resolveUniversal(J)}}function kh($,Z){let X=$.getChannelRegistry();return{...LP($),registerDescriptor:(J)=>{X.registerDescriptor(Z,J)},registerDeliveryProvider:(J)=>{X.registerDeliveryProvider(Z,J)}}}function Ih($,Z,X,J=!1){let G=$.getMessageBus();return{send:async(W)=>{return G.send({...W,sender:Z})},subscribe:(W,D)=>{if(J)return()=>{};if(Bh(W)){let U=W,A=D,Q=async(O)=>{let P=U.schema.safeParse(O.payload);if(!P.success)return X.warn(`Invalid payload for channel ${U.name}`,{error:P.error.message}),{noop:!0};let{payload:N,...M}=O;return A(P.data,M)};return G.subscribe(U.name,Q)}return G.subscribe(W,D)},subscribeExecution:(W,D)=>G.subscribe(W,D)}}function vh($,Z){let X=$.getJobQueueService();return{...$.jobs,enqueue:zP(X,Z,!0),enqueueBatch:RP($.jobs,Z),registerHandler:wP(X,Z)}}function yh($){let Z=$.getPermissionService();return{assertEntityActionAllowed:(X,J,G)=>{Z.assertEntityActionAllowed(X,J,G.userPermissionLevel)}}}function bh($){return{get:async(Z)=>{let J=await $.getConversationService().getConversation(Z);return J?qA(J):null},search:async(Z)=>{return(await $.getConversationService().searchConversations(Z)).map(qA)},list:async(Z)=>{return(await $.getConversationService().listConversations(Z)).map(qA)},getMessages:async(Z,X)=>{return(await $.getConversationService().getMessages(Z,X)).map(Rh)},countMessages:async(Z)=>{return $.getConversationService().countMessages(Z)}}}function gh($,Z){return{registerHandler:(X,J)=>{$.registerEvalHandler(Z,X,J)}}}function hh($){return{register:(Z,X)=>{$.getInsightsRegistry().register(Z,X)}}}function mh($){return{has:(Z)=>$.getPluginPackageName(Z)!==void 0}}function fh($,Z){return{register:(X)=>{$.registerEndpoint({...X,pluginId:Z})}}}function ch($,Z){return{register:(X)=>{$.registerInteraction({...X,pluginId:Z})}}}var qP="DeclarativeOperatorWidget";function ph($,Z){if("success"in Z&&Z.success)return!0;let X="error"in Z?Z.error:void 0;throw Error(`Dashboard widget ${$} failed: ${X??"unknown host error"}`)}function dh($,Z,X){return{registerWidget:async(J)=>{if(!X(KY.registerWidget))return!1;let G=await $.send({type:KY.registerWidget,payload:{...J,pluginId:Z}});return ph("register",G)},unregisterWidget:async(J)=>{if(!X(KY.unregisterWidget))return!1;let G=await $.send({type:KY.unregisterWidget,payload:{pluginId:Z,...J?{widgetId:J}:{}}});return ph("unregister",G)}}}function H7($,Z,X){let J=$.getEntityService(),G=$.getLogger().child(Z),Y=$.getDomain(),W=$.getLocalSiteUrl(),D=$.shouldPreferLocalUrls(),U=$.getThemeCSS(),A=Lh($),Q=$.getAttachmentRegistry(),O=$.getRuntimeUploadRegistry(),P=$.getRuntimeState(),N=$.getAccountSettingsRegistry(),M=X?.executionOnly===!0,w=Ih($,Z,G,M);return{pluginId:Z,executionOnly:M,logger:G,entityService:J,semantic:{project:(q)=>J.projectSemanticSpace(q)},identity:qh($,A),profileKinds:Eh($,Z),channels:LP($),inbox:Sh($,Z),inboxFollowUps:jh($,Z),appInfo:A,readiness:()=>$.getRuntimeReadiness(),operationalHealth:xh($,Z),judge:(q)=>$.judge(q),domain:Y,siteUrl:Y?`https://${Y}`:void 0,localSiteUrl:W,previewUrl:Y?`https://${KP(Y)}`:void 0,preferLocalUrls:D,themeCSS:U,entityDisplay:X?.entityDisplay,spaces:$.getSpaces(),permissions:yh($),messaging:w,dashboard:dh(w,Z,(q)=>$.getMessageBus().hasHandlers?.(q)??!1),jobs:vh($,Z),attachments:Q,uploads:O,accountSettings:N,runtimeState:P,recurringChecks:$.getRecurringChecks(Z),conversations:bh($),dataDir:$.getDataDir(),eval:M?{registerHandler:()=>{}}:gh($,Z),insights:M?{register:()=>{}}:hh($),plugins:mh($),endpoints:M?{register:()=>{}}:fh($,Z),interactions:M?{register:()=>{}}:ch($,Z)}}function DJ$($){return $.replace(/:/g,"-")}function HJ$($){return $.split(/[:.-]/).map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join(" ")}var EP=new Map;async function EA($,Z,X){let J=EP.get(Z);if(J!==void 0)return J;let G=DJ$(Z),Y;try{Y=await $.getEntity({entityType:"prompt",id:G})}catch{return X}if(Y?.content){let W=cZ(Y.content,H.record(H.string(),H.unknown())).content;return EP.set(Z,W),W}try{let W=HJ$(Z),D=z4(X,{title:W,target:Z});await $.createEntity({entity:{id:G,entityType:"prompt",content:D,metadata:{title:W,target:Z,slug:G}}})}catch{}return EP.set(Z,X),X}async function UJ$($,Z){let X=$.list().filter((J)=>!!J.basePrompt);return await Promise.all(X.map((J)=>EA(Z,J.name,J.basePrompt))),X.length}function xA($){let Z=$.getEntityService(),X=$.getEntityRegistry(),J=$.getDataSourceRegistry();return{register:(G,Y,W,D)=>{X.registerEntityType(G,Y,W,D)},getAdapter:(G)=>{try{return X.getAdapter(G)}catch{return}},extendFrontmatterSchema:(G,Y)=>{X.extendFrontmatterSchema(G,Y)},getEffectiveFrontmatterSchema:(G)=>{return X.getEffectiveFrontmatterSchema(G)},registerPersistValidator:(G,Y)=>{X.registerPersistValidator(G,Y)},registerCreateInterceptor:(G,Y)=>{X.registerCreateInterceptor(G,Y)},registerUploadSaveHandler:(G)=>{X.registerUploadSaveHandler(G)},getUploadSaveHandler:(G)=>{return X.getUploadSaveHandler(G)},update:async(G)=>{return Z.updateEntity({entity:G})},registerDataSource:(G)=>{J.register(G)}}}function SA($){return{resolve:(Z,X)=>{return EA($,Z,X)}}}function jA($){return{query:(Z,X)=>$.query(Z,X),generate:async(Z)=>{return $.generateContent(Z)},generateObject:async(Z,X,J)=>{return $.generateObject(Z,X,J)},generateImage:async(Z,X)=>{return $.generateImage(Z,X)},canGenerateImages:()=>{return $.canGenerateImages()}}}function xP($,Z,X){let J=H7($,Z,X),G=$.getEntityService();return{...J,entityService:G,entities:xA($),ai:jA($),prompts:SA(G),permissions:J.permissions}}var SP=H.object({});class VY extends J7{type="entity";entityActionPolicy;constructor($,Z,X,J,G){super($,Z,X,J);if(G!==void 0)this.entityActionPolicy=G}async register($,Z){let X=xP($,this.id,Z);this.context=X,this.setupMessageHandlers(X);let J=this.getProjectionRules(X),G=this.getEntityTypeConfig(),Y=J.some((P)=>P.targetType===this.entityType),W=G?.projectionSource!==!1&&G?.projectionSourceRole!=="excluded"&&(G?.projectionSource===!0||G?.projectionSourceRole!==void 0),D=Y&&!W?{...G,projectionSource:!1,projectionSourceRole:"excluded"}:G;if(X.entities.register(this.entityType,this.schema,this.adapter,D),this.interceptCreate!==VY.prototype.interceptCreate)X.entities.registerCreateInterceptor(this.entityType,(P,N)=>this.interceptCreate(P,N,X));let U=this.createGenerationHandler(X);if(U)X.jobs.registerHandler(`${this.entityType}:generation`,U);let A=this.getTemplates();if(A&&Object.keys(A).length>0)$.registerTemplates(A,this.id);let Q=this.getDataSources();for(let P of Q)X.entities.registerDataSource(P);await this.onRegister(this.context);let O=await this.getInstructions();return{tools:[],resources:[],...O&&{instructions:O},...J.length>0&&{projectionRules:J}}}async interceptCreate($,Z,X){return{kind:"continue",input:$}}createGenerationHandler($){return null}getTemplates(){return null}getDataSources(){return[]}getEntityTypeConfig(){return}getProjectionRules($){return[]}}function kP($){return uh(jP($))}function jP($,Z=new Set){if($===null)return"null";if(typeof $==="string"||typeof $==="boolean")return JSON.stringify($);if(typeof $==="number"){if(!Number.isFinite($))throw Error("Projection inputs cannot contain non-finite numbers");if(Number.isInteger($)&&!Number.isSafeInteger($))throw Error("Projection inputs cannot contain unsafe integers");return JSON.stringify($)}if(typeof $!=="object")throw Error(`Projection inputs cannot contain ${typeof $} values`);if(Z.has($))throw Error("Projection inputs cannot contain circular values");let X=new Set(Z).add($);if(Array.isArray($))return`[${$.map((G)=>jP(G,X)).join(",")}]`;let J=Object.getPrototypeOf($);if(J!==Object.prototype&&J!==null)throw Error("Projection inputs must contain only plain JSON objects");return`{${Object.entries($).filter(([,G])=>G!==void 0).sort(([G],[Y])=>G.localeCompare(Y)).map(([G,Y])=>`${JSON.stringify(G)}:${jP(Y,X)}`).join(",")}}`}function IP($){if($!==null&&typeof $==="object"){for(let Z of Object.values($))IP(Z);Object.freeze($)}return $}var AJ$=H.strictObject({id:H.string().trim().min(1),version:H.string().trim().min(1),sources:H.array(H.strictObject({kind:H.literal("entity"),types:H.array(H.string().trim().min(1)).min(1),excludeTypes:H.array(H.string().trim().min(1)).optional()})),targetType:H.string().trim().min(1),sourceChangeBatchDelayMs:H.number().int().nonnegative().default(0)});function vP($){let Z=AJ$.parse({id:$.id,version:$.version,sources:$.sources,targetType:$.targetType,sourceChangeBatchDelayMs:$.sourceChangeBatchDelayMs});if(typeof $.selectInput!=="function")throw Error(`Projection rule "${Z.id}" must select input`);if(typeof $.derive!=="function")throw Error(`Projection rule "${Z.id}" must derive output`);let X=Z.sources.map((J)=>{let G=Object.freeze([...J.types]),Y=J.excludeTypes?Object.freeze([...J.excludeTypes]):void 0,W={kind:"entity",types:G,...Y?{excludeTypes:Y}:{}};return Object.freeze(W)});return Object.freeze({id:Z.id,version:Z.version,sources:Object.freeze(X),targetType:Z.targetType,sourceChangeBatchDelayMs:Z.sourceChangeBatchDelayMs,inputSchema:$.inputSchema,selectInput:async(J,G,Y)=>{let W=await $.selectInput(J,G,Y),D=g6.parse(W);return IP($.inputSchema.parse(D))},fingerprint:kP,derive:async(J,G,Y)=>{let W=$.inputSchema.parse(J),D=H.array(y9).parse(await $.derive(W,G,Y));for(let U of D){let A=U.operation==="upsert"?U.entity.entityType:U.entityType;if(A!==Z.targetType)throw Error(`Projection rule "${Z.id}" cannot write entity type "${A}"`)}return IP(D)}})}var KJ$=H.record(H.string(),H.unknown()),VJ$=H.object({items:H.array(H.object({operation:H.enum(["upsert","delete"]),id:H.string(),source:g6.optional()}))}),oh=new WeakMap;function kA($){let Z=oh.get($);if(!Z)Z=H6.extend({entityType:H.literal($.type),metadata:$.metadata}),oh.set($,Z);return Z}function JJ($,Z){return kA($).parse(Z)}function nh($,Z){return $.markdown?$.markdown.encode({content:Z.content,metadata:$.metadata.parse(Z.metadata)}):{content:Z.content,frontmatter:Z.metadata}}function rh($,Z){let X=nh($,Z);return z4(X.content,X.frontmatter)}function QJ$($){let Z=kA($);return{entityType:$.type,purpose:$.purpose,schema:Z,frontmatterSchema:$.metadata,toMarkdown(X){return rh($,X)},fromMarkdown(X){let J=cZ(X,KJ$),G=$.markdown?$.markdown.decode({content:J.content,frontmatter:J.metadata}):{content:J.content,metadata:J.metadata};return{content:G.content,metadata:$.metadata.parse(G.metadata)}},extractMetadata:(X)=>X.metadata,parseFrontMatter:(X,J)=>cZ(X,J).metadata,generateFrontMatter(X){return bG(nh($,X).frontmatter)},getBodyTemplate:()=>""}}async function OJ$($,Z,X){let J=kA($.source).parse(Z),G=[];return await $.project({source:J,signal:X,target:{async upsert(Y){let W=g6.parse($.target.metadata.parse(Y.metadata)),D=Y.visibility??"public";G.push({operation:"upsert",entity:{id:Y.id,entityType:$.target.type,content:t5(rh($.target,{content:Y.content,metadata:W}),D),metadata:W,visibility:D}})}}}),G}function BJ$($,Z,X){return vP({id:X($.id),version:Z,sources:[{kind:"entity",types:[$.source.type]}],targetType:$.target.type,inputSchema:g6,async selectInput(J,G){let Y=J.inputs.filter(({sourceType:D})=>D===$.source.type),W=await Promise.all(Y.map(async(D)=>{if(D.operation==="delete")return{operation:"delete",id:D.sourceId};let U=await G.entities.getEntity({entityType:D.sourceType,id:D.sourceId,visibilityScope:"restricted"});if(!U)throw Error(`Projection "${$.id}" could not load ${D.sourceType}:${D.sourceId}`);return{operation:"upsert",id:D.sourceId,source:U}}));return g6.parse({items:W})},async derive(J,G,Y){let W=VJ$.parse(J),D=[];for(let U of W.items){if(Y.throwIfAborted(),U.operation==="delete"){D.push({operation:"delete",entityType:$.target.type,id:U.id});continue}if(!U.source)throw Error(`Projection "${$.id}" upsert item ${U.id} is missing its source`);D.push(...await OJ$($,U.source,Y))}return D}})}class lh extends VY{projections;scope;entityType;schema;adapter;constructor($,Z,X,J){super(J($.type),X,{},SP);this.projections=Z,this.scope=J,this.entityType=$.type,this.schema=kA($),this.adapter=QJ$($)}getProjectionRules(){return this.projections.map(($)=>BJ$($,this.version,this.scope))}}function ih($,Z,X,J){return $.map((G)=>new lh(G,Z.filter(({source:Y})=>Y===G),X,J))}var sh=Symbol.for("rizom.plugin-package.runtime-factory");function GJ(){return H.custom(($)=>$!==null&&typeof $==="object")}function uZ($,Z){if(!/^[a-z][a-z0-9-]*$/u.test($))throw Error(`${Z} must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens`)}function h9($){uZ($.id,"Plugin definition id");let Z={kind:"rizom-plugin-package",family:$.family,id:$.id,config:$.config},X=Object.assign({},$.public,Z);return Object.defineProperty(X,sh,{configurable:!1,enumerable:!1,value:$.instantiate,writable:!1}),Object.freeze(X)}function NJ$($){if($===null||typeof $!=="object")return!1;let Z=$;return Z.kind==="rizom-plugin-package"&&typeof Z.id==="string"&&typeof Z.family==="string"&&Z.config!==void 0&&typeof Z.config.safeParse==="function"&&typeof Z[sh]==="function"}function _J$($){if(uZ($.type,"Entity type"),!$.purpose.trim())throw Error(`Entity "${$.type}" purpose must not be empty`);return Object.freeze({kind:"rizom-entity",...$})}function PJ$($){return uZ($.id,"Projection id"),Object.freeze({kind:"rizom-projection",...$})}var FJ$=H.object({});function TJ$($){let Z=Object.freeze([...$.entities]),X=Object.freeze([...$.projections??[]]),J=new Set(Z),G=Z.map(({type:U})=>U);if(new Set(G).size!==G.length)throw Error(`Entity package "${$.id}" contains duplicate entity types`);let Y=X.map(({id:U})=>U);if(new Set(Y).size!==Y.length)throw Error(`Entity package "${$.id}" contains duplicate projection ids`);let W=X.find(({source:U,target:A})=>!J.has(U)||!J.has(A));if(W)throw Error(`Entity package "${$.id}" projection "${W.id}" references an entity outside its package`);let D={entities:Z,projections:X};return h9({family:"entity",id:$.id,config:FJ$,public:D,instantiate:({package:U,scope:A})=>ih(Z,X,U,A)})}var MJ$=["public","trusted","admin"];function z1($,Z){if(!$.trim())throw Error(`${Z} must not be empty`)}function U7($,Z){if($!==void 0)z1($,Z)}function yP($,Z){if($!==void 0&&!Number.isFinite($))throw Error(`${Z} priority must be finite`)}function OY($,Z){if(!MJ$.includes($))throw Error(`${Z} permission "${String($)}" is unsupported`)}function IA($,Z){return QY.hasPermission($,Z)}var ah=new WeakMap;function th($){let Z=ah.get($);if(!Z)throw Error(`Dashboard widget "${$.definition.id}" was not bound by defineDashboardWidget().bind()`);return Z}function eh($){if(uZ($.id,"Dashboard widget id"),z1($.title,`Dashboard widget "${$.id}" title`),z1($.group,`Dashboard widget "${$.id}" group`),U7($.description,`Dashboard widget "${$.id}" description`),yP($.priority,`Dashboard widget "${$.id}"`),OY($.permission,`Dashboard widget "${$.id}"`),!["primary","secondary","sidebar"].includes($.placement))throw Error(`Dashboard widget "${$.id}" placement "${String($.placement)}" is unsupported`);let Z={kind:"rizom-dashboard-widget",...$,bind(X,J){let G=Object.freeze({kind:"rizom-dashboard-widget-binding",definition:Z});return ah.set(G,J),G}};return Object.freeze(Z)}var zJ$=new WeakMap;function $m($){uZ($.id,"CMS workspace id"),z1($.label,`CMS workspace "${$.id}" label`),U7($.description,`CMS workspace "${$.id}" description`),yP($.priority,`CMS workspace "${$.id}"`),OY($.permission,`CMS workspace "${$.id}"`);let Z=new Set;for(let J of $.actions){if(Z.has(J.name))throw Error(`CMS workspace "${$.id}" declares action "${J.name}" more than once`);if(Z.add(J.name),J.permission!==void 0&&!IA(J.permission,$.permission))throw Error(`CMS workspace "${$.id}" action "${J.name}" permission cannot be lower than the workspace permission`)}let X={kind:"rizom-cms-workspace",...$,...$.entities?{entities:Object.freeze([...$.entities])}:{},actions:Object.freeze([...$.actions]),bind(J,G){let Y=new Set;for(let D of G.actions){if(!X.actions.includes(D.definition))throw Error(`CMS workspace "${X.id}" cannot bind undeclared action "${D.definition.name}"`);if(Y.has(D.definition))throw Error(`CMS workspace "${X.id}" binds action "${D.definition.name}" more than once`);Y.add(D.definition)}for(let D of X.actions)if(!Y.has(D))throw Error(`CMS workspace "${X.id}" has no executor for action "${D.name}"`);let W=Object.freeze({kind:"rizom-cms-workspace-binding",definition:X,actions:Object.freeze([...G.actions])});return zJ$.set(W,{authorize:G.authorize,load:G.load}),W}};return Object.freeze(X)}var Zm=new WeakMap;function Xm($){if(uZ($.name,"Job name"),$.retry&&(!Number.isInteger($.retry.attempts)||$.retry.attempts<1))throw Error(`Job "${$.name}" retry attempts must be at least 1`);if($.deadline)bP($.deadline);let Z={kind:"rizom-service-job",...$,handle(X){let J=Object.freeze({kind:"rizom-service-job-binding",definition:Z});return Zm.set(J,X),J}};return Object.freeze(Z)}function Jm($){let Z=Zm.get($);if(!Z)throw Error(`Job "${$.definition.name}" was not created by defineJob().handle()`);return Z}function bP($){let Z=/^(\d+)(ms|s|m)$/u.exec($);if(!Z)throw Error(`Invalid job deadline "${$}"`);let X=Number(Z[1]);if(!Number.isSafeInteger(X)||X<1)throw Error(`Job deadline "${$}" must be positive`);let J=Z[2];return X*(J==="m"?60000:J==="s"?1000:1)}function Gm($){if(uZ($.name,"Tool name"),!$.description.trim())throw Error(`Tool "${$.name}" description must not be empty`);return Object.freeze({kind:"rizom-service-tool",...$})}function gP($){z1($.title,"Account settings title"),U7($.description,"Account settings description");let Z=Object.keys($.schema.shape),X=new Set(Object.keys($.fields)),J=new Set(["text","url","number","checkbox"]);for(let[Y,W]of Object.entries($.fields)){if(!Z.includes(Y))throw Error(`Account settings field "${Y}" is not declared by the settings schema`);if(z1(W.label,`Account settings field "${Y}" label`),W.control!==void 0&&!J.has(W.control))throw Error(`Account settings field "${Y}" has unsupported control "${String(W.control)}"`);if(W.secret!==void 0&&typeof W.secret!=="boolean")throw Error(`Account settings field "${Y}" secret must be boolean`)}for(let Y of Z)if(!X.has(Y))throw Error(`Account settings schema field "${Y}" has no field declaration; declare its label and whether it is secret`);let G=Object.freeze(Object.fromEntries(Object.entries($.fields).map(([Y,W])=>[Y,Object.freeze({...W})])));return Object.freeze({kind:"rizom-account-settings",...$,fields:G})}var RJ$=new WeakMap;function Ym($){if(uZ($.name,"Workspace action name"),z1($.label,`Workspace action "${$.name}" label`),U7($.confirmation,`Workspace action "${$.name}" confirmation`),$.permission!==void 0)OY($.permission,`Workspace action "${$.name}"`);let Z={kind:"rizom-workspace-action",...$,bind(X,J){let G=Object.freeze({kind:"rizom-workspace-action-binding",definition:Z});return RJ$.set(G,J),G}};return Object.freeze(Z)}import{AsyncLocalStorage as iJ$}from"async_hooks";var m8=H.string().trim().min(1).max(120),A7=H.string().trim().min(1).max(160),BY=H.string().max(500),Dm=H.string().max(4000),hP=H.enum(["good","warn","neutral","error"]),mP=H.union([H.string().max(2000),H.number().finite(),H.boolean(),H.null()]),Wm=H.string().max(2048).refine(($)=>{try{let Z=new URL($);return Z.protocol==="https:"||Z.protocol==="http:"}catch{return!1}},{message:"External operator links must use http or https"});function wJ$($){return $!==null&&typeof $==="object"&&"kind"in $&&$.kind==="rizom-entity"&&"type"in $&&typeof $.type==="string"&&$.type.length>0}var CJ$=H.custom(wJ$,{message:"Expected an imported entity definition"});function LJ$($){return{kind:"external",href:$.external}}function qJ$($){return{kind:"entity",entityType:$.entity.type,id:$.id}}var fP=H.union([H.object({external:Wm}).strict().transform(LJ$),H.object({entity:CJ$,id:m8}).strict().transform(qJ$),H.object({kind:H.literal("external"),href:Wm}).strict(),H.object({kind:H.literal("entity"),entityType:m8,id:m8}).strict()]),EJ$=H.object({label:A7,value:H.union([H.string().max(500),H.number().finite()]),tone:hP.optional()}).strict(),xJ$=H.object({label:A7,value:mP}).strict(),SJ$=H.object({type:H.literal("stats"),id:m8.optional(),items:H.array(EJ$).max(20)}).strict(),jJ$=H.object({type:H.literal("key-values"),id:m8.optional(),items:H.array(xJ$).max(40)}).strict(),kJ$=H.object({type:H.literal("notice"),id:m8.optional(),title:A7.optional(),text:Dm,tone:hP.optional()}).strict(),IJ$=H.object({type:H.literal("links"),id:m8.optional(),items:H.array(H.object({label:A7,target:fP}).strict()).max(30)}).strict(),vJ$=H.object({id:m8,title:BY,description:Dm.optional(),meta:BY.optional(),tone:hP.optional(),link:fP.optional()}).strict(),yJ$=H.object({type:H.literal("list"),id:m8,empty:BY,items:H.array(vJ$).max(200)}).strict().superRefine(($,Z)=>{let X=new Set;for(let[J,G]of $.items.entries()){if(X.has(G.id))Z.addIssue({code:"custom",message:`List item id "${G.id}" is duplicated`,path:["items",J,"id"]});X.add(G.id)}}),bJ$=H.object({key:m8,label:A7,align:H.enum(["start","center","end"]).optional()}).strict(),gJ$=H.object({key:m8,label:A7,values:H.array(mP).max(50)}).strict(),hJ$=H.union([mP,H.array(H.string().max(500)).max(50)]),mJ$=H.object({id:m8,cells:H.record(H.string(),hJ$),link:fP.optional()}).strict(),fJ$=H.object({type:H.literal("table"),id:m8,empty:BY,filters:H.array(gJ$).max(20).optional(),columns:H.array(bJ$).min(1).max(30),rows:H.array(mJ$).max(500)}).strict().superRefine(($,Z)=>{let X=new Set;for(let[G,Y]of $.columns.entries()){if(X.has(Y.key))Z.addIssue({code:"custom",message:`Table column key "${Y.key}" is duplicated`,path:["columns",G,"key"]});X.add(Y.key)}for(let[G,Y]of($.filters??[]).entries())if(!X.has(Y.key))Z.addIssue({code:"custom",message:`Table filter key "${Y.key}" has no matching column`,path:["filters",G,"key"]});let J=new Set;for(let[G,Y]of $.rows.entries()){if(J.has(Y.id))Z.addIssue({code:"custom",message:`Table row id "${Y.id}" is duplicated`,path:["rows",G,"id"]});J.add(Y.id);for(let W of Object.keys(Y.cells))if(!X.has(W))Z.addIssue({code:"custom",message:`Table cell key "${W}" has no matching column`,path:["rows",G,"cells",W]})}}),Hm=H.object({title:BY.optional(),blocks:H.array(H.union([SJ$,jJ$,kJ$,IJ$,yJ$,fJ$])).max(50)}).strict().superRefine(($,Z)=>{let X=new Set;for(let[J,G]of $.blocks.entries()){if(G.id===void 0)continue;if(X.has(G.id))Z.addIssue({code:"custom",message:`Operator view block id "${G.id}" is duplicated`,path:["blocks",J,"id"]});X.add(G.id)}}),Um=H.object({items:H.array(H.object({label:A7,value:H.string().max(500)}).strict()).max(4),attention:H.number().int().nonnegative().optional()}).strict(),cJ$=H.object({view:Hm,digest:Um.optional()}).strict();function cP($){return $.issues.map((Z)=>({path:Z.path,message:Z.message}))}function Am($){let Z=Hm.safeParse($);return Z.success?{success:!0,data:Z.data}:{success:!1,issues:cP(Z.error)}}function Km($){let Z=Um.safeParse($);return Z.success?{success:!0,data:Z.data}:{success:!1,issues:cP(Z.error)}}function pP($){let Z=cJ$.safeParse($);return Z.success?{success:!0,data:Z.data}:{success:!1,issues:cP(Z.error)}}var NY=new WeakMap;function Vm($,Z){let X=NY.get($);if(X&&X!==Z)throw Error(`Job "${$.name}" is registered as both "${X}" and "${Z}"`);NY.set($,Z)}function Qm($,Z){if(NY.get($)===Z)NY.delete($)}function _Y($){let Z=NY.get($);if(!Z)throw Error(`Job "${$.name}" is not registered by an active declarative service`);return Z}function K7($,Z,X){return Error(`Service "${$.publicServiceId}" package "${$.packageName}" dashboard widget "${$.widgetId}" ${Z}${X?`: ${X}`:""}`)}function dP($){return $.slice(0,5).map((Z)=>{return`${Z.path.length>0?Z.path.join("."):"value"}: ${Z.message}`}).join("; ")}function pJ$($,Z,X){let J=$.safeParse(Z);if(!J.success)throw K7(X,"returned invalid data; return a value matching its data schema",dP(J.error.issues));return J.data}function dJ$($,Z){let X=Am($);if(!X.success)throw K7(Z,"returned an invalid view; use supported OperatorView blocks and safe links",dP(X.issues));return X.data}function uJ$($,Z){let X=Km($);if(!X.success)throw K7(Z,"returned an invalid digest; provide at most four bounded lines and a non-negative attention count",dP(X.issues));return X.data}function oJ$($,Z){let X={...Z};for(let J in X)if($.fields[J]?.secret===!0)delete X[J];return Object.freeze(X)}function nJ$($,Z){return $.parse(Z)}function Om($,Z){let X=Z.status==="completed"&&Z.result!==void 0?nJ$($.output,Z.result):void 0;return Object.freeze({id:Z.id,status:Z.status,...X!==void 0?{result:X}:{},...Z.lastError?{error:Z.lastError}:{}})}function rJ$($){return{async enqueue(Z,X){let J=_Y(Z),G=await $.jobs.enqueue({type:J,data:Z.input.parse(X),options:{source:$.pluginId,metadata:{operationType:"data_processing",pluginId:$.pluginId}}});return Object.freeze({id:G,status:async()=>{let Y=await $.jobs.getStatus(G);return Y?.type===J?Om(Z,Y):null}})},async status(Z,X){let J=_Y(Z),G=await $.jobs.getStatus(X);return G?.type===J?Om(Z,G):null}}}async function lJ$($){let{caller:Z,signal:X}=$.provider;X.throwIfAborted();let J=Z?.permission??"public",G=L9(J),Y=Z&&$.accountSettingsRegistration?await $.context.accountSettings.getForActor($.accountSettingsRegistration,Z.actor.id):null,W=Y&&$.accountSettingsRegistration?oJ$($.accountSettingsRegistration.definition,Y):null;return{config:$.config,state:$.state,caller:Z,settings:W,entities:{async get(D,U){X.throwIfAborted();let A=await $.context.entityService.getEntity({entityType:D.type,id:U,visibilityScope:G});return X.throwIfAborted(),A?JJ(D,A):null},async list(D){X.throwIfAborted();let U=await $.context.entityService.listEntities({entityType:D.type,options:{filter:{visibilityScope:G}}});return X.throwIfAborted(),U.map((A)=>JJ(D,A))},async search(D,U){X.throwIfAborted();let A=await $.context.entityService.search({query:U,options:{types:[D.type],visibilityScope:G}});return X.throwIfAborted(),A.map(({entity:Q})=>JJ(D,Q))}},jobs:rJ$($.context),permissions:{allows(D,U){try{return $.context.permissions.assertEntityActionAllowed(D.type,U,{userPermissionLevel:J}),!0}catch{return!1}}},signal:X}}function Bm($){let Z=$.binding.definition,X={publicServiceId:$.publicServiceId,packageName:$.packageName,widgetId:Z.id},J=th($.binding);return{id:Z.id,title:Z.title,...Z.description?{description:Z.description}:{},group:Z.group,rendererName:qP,section:Z.placement,priority:Z.priority??50,visibility:Z.permission,async dataProvider(G){let Y={...G,signal:AbortSignal.any([G.signal,$.runtimeSignal])},W=Y.caller?.permission??"public";if(!IA(W,Z.permission))throw K7(X,"was requested below its minimum permission");let D=await lJ$({config:$.config,state:$.state,...$.accountSettingsRegistration?{accountSettingsRegistration:$.accountSettingsRegistration}:{},provider:Y,context:$.context});Y.signal.throwIfAborted();let U;try{U=await J(D)}catch(N){if(Y.signal.aborted)throw Y.signal.reason??N;throw K7(X,"data loader failed")}Y.signal.throwIfAborted();let A=pJ$(Z.data,U,X),Q;try{Q=Z.view({data:A})}catch(N){if(Y.signal.aborted)throw Y.signal.reason??N;throw K7(X,"view derivation failed")}let O=dJ$(Q,X),P;if(Z.digest){let N;try{N=Z.digest({data:A})}catch(M){if(Y.signal.aborted)throw Y.signal.reason??M;throw K7(X,"digest derivation failed")}P=uJ$(N,X)}return Object.freeze({view:O,...P?{digest:P}:{}})},digestProvider(G){let Y=pP(G);if(!Y.success)return{};return{...Y.data.digest?{digest:Y.data.digest.items.map((W)=>({...W,tone:"plain"}))}:{},...Y.data.digest?.attention!==void 0?{needsAttention:Y.data.digest.attention}:{}}}}}function uP($,Z,X){let J=H7($,Z,X),G=$.getEntityService(),Y=$.getRenderService(),W=$.getContentService(),D=$.getPermissionService();return{...J,permissions:{...J.permissions,getConfiguredPrincipalSeeds:()=>D.getConfiguredPrincipalSeeds(),replaceRuntimePrincipalState:(U)=>D.replaceRuntimePrincipalState(U)},entityService:G,entities:xA($),webRoutes:{getRoutes:()=>$.getPluginWebRoutes()},templates:{register:(U,A)=>{$.registerTemplates(U,A??Z)},format:(U,A)=>{return W.formatContent(U,A,{pluginId:Z})},parse:(U,A)=>{return W.parseContent(U,A,Z)},resolve:async(U,A)=>{return await W.resolveContent(U,A,Z)},getCapabilities:(U)=>{let A=U.includes(":")?U:`${Z}:${U}`,Q=$.getTemplate(A);if(!Q)return null;let O=Nm.getCapabilities(Q);return{canGenerate:O.canGenerate,canFetch:O.canFetch,canRender:O.canRender,isStaticOnly:O.isStaticOnly}}},views:{get:(U)=>{return Y.get(U)??void 0},list:()=>{return Y.list()},hasRenderer:(U,A="web")=>{return Y.hasRenderer(U,A)},getRenderer:(U,A="web")=>{return Y.getRenderer(U,A)},validate:(U,A)=>{return Y.validate(U,A)}},prompts:SA(G),ai:jA($),registerInstructions:(U)=>{$.registerInstructions(Z,U)}}}class vA extends J7{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register($,Z){let X=uP($,this.id,Z);return this.context=X,this.setupMessageHandlers(X),await this.onRegister(X),this.getCapabilities()}get entityService(){return this.getContext().entityService}registerEntityType($,Z,X,J){this.getContext().entities.register($,Z,X,J)}async enqueueJob($){return this.getContext().jobs.enqueue($)}async enqueueBatch($,Z){return this.getContext().jobs.enqueueBatch($,Z)}async registerEntityTypes($){}async registerJobHandlers($){}async onRegister($){await this.registerEntityTypes($),await this.registerJobHandlers($)}}var oP="_rizomConfirmationToken";function _m($,Z){return $.format({value:$.schema.parse(Z)})}function sJ$($){if($===null||typeof $!=="object")return;let Z=Reflect.get($,oP);return typeof Z==="string"?Z:void 0}function aJ$($){if($===void 0)return{};try{return JSON.parse($)}catch{return $}}function Pm($,Z){let X=Z.status==="completed"&&Z.result!==void 0?$.output.parse(Z.result):void 0;return{id:Z.id,status:Z.status,progress:Z.progress,...X!==void 0?{result:X}:{},...Z.lastError?{error:Z.lastError}:{}}}function tJ$($,Z,X){let J=$.definition,G=Jm($);return{...J.deadline?{executionTimeoutMs:bP(J.deadline)}:{},validateAndParse(Y){let W=J.input.safeParse(Y);return W.success?W.data:null},async process(Y,W,D,U){let A=await G({input:Y,signal:U,progress:D,templates:X,entities:{async get(Q,O){let P=await Z.entityService.getEntity({entityType:Q.type,id:O,visibilityScope:"restricted"});return P?JJ(Q,P):null}},messaging:{async publish(Q){await Z.messaging.send({type:Q.topic,payload:Q.data})}}});return J.output.parse(A)}}}class Tm extends vA{definition;publicId;toolContext=new iJ$;cleanups=[];registeredJobs=new Set;operatorAbortController=new AbortController;registeredDashboardWidgetIds=[];accountSettingsRegistration;dashboardWidgetBindings=[];scopedShell;state;tools;resources;constructor($,Z,X,J){super(J,X,Z,GJ());this.definition=$,this.publicId=$.id}register($,Z){return this.scopedShell=$,super.register($,Z)}async onRegister($){if(await super.onRegister($),this.definition.cmsWorkspaces&&!$.executionOnly)throw Error(`Service "${this.publicId}" CMS workspaces require the operator runtime`);if(this.definition.accountSettings&&!$.executionOnly)this.accountSettingsRegistration=$.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});if(this.state=this.definition.setup?await this.definition.setup({config:this.config,lifecycle:{onCleanup:(G)=>{this.cleanups.push(G)}}}):Object.freeze({}),this.definition.dashboardWidgets&&!$.executionOnly){let G=this.definition.dashboardWidgets({config:this.config,state:this.requireState(),accountSettings:this.definition.accountSettings}),Y=new Set;for(let W of G){let D=W.definition.id;if(Y.has(D))throw Error(`Service "${this.publicId}" package "${this.packageName}" registers dashboard widget "${D}" more than once; return each local widget definition once`);Y.add(D)}this.dashboardWidgetBindings=Object.freeze([...G])}let Z=this.templateFormatter();$.templates.register(this.runtimeTemplates(),this.id),this.registerPrompts();let X=this.definition.jobs?.({config:this.config,state:this.state})??[],J=new Set;for(let G of X){let Y=G.definition;if(J.has(Y.name))throw Error(`Service "${this.publicId}" registers job "${Y.name}" more than once`);J.add(Y.name),this.registeredJobs.add(Y),Vm(Y,`${this.id}:${Y.name}`),$.jobs.registerHandler(Y.name,tJ$(G,$,Z))}}async onRegistrationComplete($){if(this.definition.accountSettings&&!$.executionOnly&&!$.accountSettings.hasBackend())throw Error(`Service "${this.publicId}" account settings require auth-service and an account settings encryption key`);if($.executionOnly||this.dashboardWidgetBindings.length===0)return;let Z=[];try{for(let X of this.dashboardWidgetBindings){let J=Bm({publicServiceId:this.publicId,packageName:this.packageName,config:this.config,state:this.requireState(),...this.accountSettingsRegistration?{accountSettingsRegistration:this.accountSettingsRegistration}:{},binding:X,context:$,runtimeSignal:this.operatorAbortController.signal}),G;try{G=await $.dashboard.registerWidget(J)}catch(Y){throw Error(`Service "${this.publicId}" package "${this.packageName}" dashboard widget "${X.definition.id}" host registration failed; correct the declaration or Dashboard configuration: ${d$(Y)}`,{cause:Y})}if(!G){await this.rollbackDashboardWidgets($,Z),this.logger.debug("Dashboard host absent; declarative widgets are inert",{serviceId:this.publicId,packageName:this.packageName,widgetCount:this.dashboardWidgetBindings.length});return}Z.push(X.definition.id)}this.registeredDashboardWidgetIds.push(...Z)}catch(X){throw await this.rollbackDashboardWidgets($,Z),X}}async getTools(){if(this.tools)return this.tools;let $=this.requireState(),Z=this.definition.tools?.({config:this.config,state:$,jobs:this.jobs(),templates:this.templateFormatter()})??[],X=new Set;return this.tools=Z.map((J)=>{if(X.has(J.name))throw Error(`Service "${this.publicId}" defines tool "${J.name}" more than once`);return X.add(J.name),this.runtimeTool(J)}),this.tools}async getResources(){if(this.resources)return this.resources;let $=this.definition.resources?.({config:this.config,state:this.requireState()})??{};return this.resources=Object.entries($).map(([Z,X])=>this.runtimeResource(Z,X)),this.resources}async getInstructions(){return this.definition.instructions?.({config:this.config,state:this.requireState()})}async onShutdown(){this.operatorAbortController.abort(Error(`Service "${this.publicId}" is shutting down`)),await this.rollbackDashboardWidgets(this.getContext(),this.registeredDashboardWidgetIds.splice(0)),this.dashboardWidgetBindings=[],this.tools=void 0,this.resources=void 0;for(let $ of this.registeredJobs)Qm($,`${this.id}:${$.name}`);this.registeredJobs.clear();for(let $ of this.cleanups.splice(0).reverse())await $()}async rollbackDashboardWidgets($,Z){for(let X of[...Z].reverse()){try{await $.dashboard.unregisterWidget(X)}catch(G){this.logger.error("Failed to unregister declarative dashboard widget",{serviceId:this.publicId,packageName:this.packageName,widgetId:X,error:d$(G)})}let J=this.registeredDashboardWidgetIds.lastIndexOf(X);if(J>=0)this.registeredDashboardWidgetIds.splice(J,1)}}requireState(){if(this.state===void 0)throw Error(`Service "${this.publicId}" has not completed setup`);return this.state}jobs(){let $=this.getContext();return{enqueue:async(Z,X)=>{if(!this.registeredJobs.has(Z))throw Error(`Service "${this.publicId}" cannot enqueue unregistered job "${Z.name}"`);let J=Z.input.parse(X),G=this.toolContext.getStore(),Y=Z.retry?Z.retry.attempts-1:void 0,W=await $.jobs.enqueue({type:Z.name,data:J,...G?{toolContext:G}:{},options:{source:this.id,metadata:{operationType:"data_processing",pluginId:this.id},...Y!==void 0?{maxRetries:Y}:{}}});return Object.freeze({id:W,status:async()=>{let D=await $.jobs.getStatus(W);return D?Pm(Z,D):null}})},async status(Z,X){let J=await $.jobs.getStatus(X);return J?Pm(Z,J):null}}}templateFormatter(){let $=this.definition.templates;return{format(Z,X){let J=$?.[Z];if(!J)throw Error(`Template not found: ${Z}`);return _m(J,X)}}}runtimeTemplates(){let $=this.definition.templates,Z=this.definition.views,X={},J=new Set([...Object.keys($??{}),...Object.keys(Z??{})]);for(let G of J){let Y=$?.[G],W=Z?.[G];if(Y&&W&&Y.schema!==W.schema)throw Error(`Service "${this.publicId}" template and view "${G}" must share one schema`);let D=Y?.schema??W?.schema;if(!D)continue;let U={name:G,description:W?.description??`${this.publicId} ${G}`,schema:D,requiredPermission:"admin",...Y?{formatter:{format:(Q)=>_m(Y,Q),parse:()=>{throw Error(`Template "${G}" is format-only`)}}}:{}};if(!W){X[G]=yA(U);continue}let A=(Q)=>{let O=W.schema.parse(Q);return typeof W.renderers.web==="function"?W.renderers.web(O):W.renderers.web};X[G]=yA({...U,schema:D,layout:{component:A}})}return X}registerPrompts(){let $=this.scopedShell;if(!$)throw Error(`Service "${this.publicId}" has no shell`);let Z=this.definition.prompts;for(let[X,J]of Object.entries(Z??{})){let G={name:`${this.publicId}_${X}`,...J.description?{description:J.description}:{},args:{input:{description:"JSON input",required:!0}},handler:async(Y)=>{let W=J.input.parse(aJ$(Y.input));return{messages:[{role:"user",content:{type:"text",text:J.render({input:W})}}]}}};$.registerPrompt(this.id,G)}}runtimeResource($,Z){return{uri:Z.uri,name:$,...Z.description?{description:Z.description}:{},mimeType:Z.mimeType??"text/plain",handler:async()=>({contents:[{uri:Z.uri,mimeType:Z.mimeType??"text/plain",text:await Z.read()}]})}}runtimeTool($){let Z=`${this.publicId}_${$.name}`,X=Fm({label:$.name,requestNoun:"the operation"});return{name:Z,description:$.description,inputSchema:$.input.shape,outputSchema:$.output,visibility:$.permission??"admin",sideEffects:$.sideEffects??($.confirmation?"writes":"none"),handler:async(J,G)=>{try{let Y=sJ$(J);if(Y!==void 0){let U=X.validateConfirmed(Y,J);if(U)return U;let A={...H.record(H.string(),H.unknown()).parse(J)};delete A[oP],J=A}let W=$.input.parse(J);if(Y===void 0&&$.confirmation)return{needsConfirmation:!0,toolName:Z,summary:$.confirmation,args:X.buildArgs((U)=>({...H.record(H.string(),H.unknown()).parse(W),[oP]:U}))};let D=await this.toolContext.run(G,()=>$.execute({input:W,signal:G.signal??new AbortController().signal}));return{success:!0,data:$.output.parse(D)}}catch(Y){return{success:!1,error:d$(Y)}}}}}}function Mm($,Z,X,J){return new Tm($,Z,X,J)}function zm($){return h9({family:"service",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Mm($,Z,X,J($.id))})}function eJ$($){if($.accountSettings!==void 0){let X={...$,accountSettings:$.accountSettings};return zm(X)}let Z={...$,accountSettings:void 0};return zm(Z)}var Rm=30000,wm=1e4;function Cm($,Z,X){let J,G=new Promise((Y,W)=>{J=setTimeout(()=>W(Error(X)),Z)});return Promise.race([$,G]).finally(()=>clearTimeout(J))}function bA($,Z,X){let J=!1,G=0,Y,W,D=Promise.resolve(),U=new Map,A=()=>{let N=D.catch(()=>{return}).then(()=>Q());return D=N.then(()=>{Y=void 0},(M)=>{Y="Account task reconciliation failed"}),N},Q=async()=>{if(!J)return;let N=G,M=await X.listConfigured(Z);if(N!==G)return;let w=new Map(M.map((q)=>[q.id,q.revision]));for(let[q,K$]of U)if(w.get(q)!==K$.revision)await P(q,K$);if(N!==G)return;for(let q of M)if(!U.has(q.id))O(q)},O=(N)=>{let M=new AbortController,w,q,K$=new Promise((B$,h$)=>{w=B$,q=h$}),l={controller:M,revision:N.revision,status:"starting",message:"Connecting",run:Promise.resolve()},J$=Promise.resolve().then(()=>$.run({account:Object.freeze({id:N.id,settings:N.settings}),signal:M.signal,health:{ready(){l.status="ready",l.message="Ready",w?.()},warning(B$){l.status="warning",l.message=B$}}})).then(()=>{if(!M.signal.aborted)throw Error(`Account-bound daemon "${$.id}" stopped before it was aborted`)}).catch((B$)=>{if(M.signal.aborted)return;let h$=B$ instanceof Error?B$:Error(d$(B$));l.status="error",l.message="Account task failed",q?.(h$)});l.run=J$,U.set(N.id,l),Cm(K$,Rm,`Account-bound daemon "${$.id}" did not report readiness within ${Rm}ms`).catch(()=>{if(M.signal.aborted)return;l.status="error",l.message="Account task did not become ready",M.abort()})},P=async(N,M)=>{if(U.get(N)!==M)return;U.delete(N),M.controller.abort(),await Cm(M.run,wm,`Account-bound daemon "${$.id}" task did not stop within ${wm}ms`).catch(()=>{return})};return{async start(){if(J)return;J=!0,G++,W=X.subscribe(Z,()=>{A()}),await A()},async stop(){if(!J&&U.size===0)return;J=!1,G++,W?.(),W=void 0,await D.catch(()=>{return});let N=[...U.entries()];await Promise.all(N.map(([M,w])=>P(M,w)))},healthCheck(){let N={total:U.size,ready:0,warning:0,error:0};for(let w of U.values())if(w.status==="ready")N.ready++;else if(w.status==="warning")N.warning++;else if(w.status==="error")N.error++;let M=Y||N.error>0?"error":N.warning>0?"warning":"healthy";return Promise.resolve({status:M,message:Y??(N.total===0?"No configured accounts":`${N.ready} of ${N.total} account task(s) ready`),lastCheck:new Date,details:N})}}}var eE$=["GET","POST","PUT","DELETE","OPTIONS"];function gA($,Z={}){return new Response(JSON.stringify($),{status:Z.status??200,headers:{"Content-Type":"application/json; charset=utf-8",...Z.headers}})}function PY($,Z,X={}){return gA({error:$},{status:Z,...X})}function FY($){let Z,X,J={status:"unknown",message:"Waiting for readiness",lastCheck:new Date};return{async start(){if(Z)return;Z=new AbortController;let G=Z,Y,W,D=new Promise((Q,O)=>{Y=Q,W=O});X=Promise.resolve().then(()=>$.run({signal:G.signal,health:{ready(){J={status:"healthy",message:"Ready",lastCheck:new Date},Y?.()},warning(Q){J={status:"warning",message:Q,lastCheck:new Date}}}})).then(()=>{if(!G.signal.aborted)throw Error(`Daemon "${$.id}" stopped before it was aborted`)}).catch((Q)=>{let O=Q instanceof Error?Q:Error(String(Q));throw J={status:"error",message:O.message,lastCheck:new Date},W?.(O),O}),X.catch(()=>{return});let U,A=new Promise((Q,O)=>{U=setTimeout(()=>{let P=Error(`Daemon "${$.id}" did not report readiness within 30000ms`);J={status:"error",message:P.message,lastCheck:new Date},G.abort(),O(P)},30000)});try{await Promise.race([D,A])}finally{clearTimeout(U)}},async stop(){let G=Z,Y=X;Z=void 0,X=void 0,G?.abort();let W,D=Y?await Promise.race([Y.then(()=>!0,()=>!0),new Promise((U)=>{W=setTimeout(()=>U(!1),1e4)})]):!0;if(clearTimeout(W),!D)J={status:"error",message:`Daemon "${$.id}" did not stop within 10000ms`,lastCheck:new Date};if(J.status!=="error")J={status:"unknown",message:"Stopped",lastCheck:new Date}},healthCheck(){return Promise.resolve({...J,lastCheck:new Date})}}}function Lm($){return Em($)}function qm($){if(!$)return;return{...$.userPermissionLevel&&{userPermissionLevel:$.userPermissionLevel},...$.isAnchor!==void 0&&{isAnchor:$.isAnchor},...$.interfaceType&&{interfaceType:$.interfaceType},...$.channelId&&{channelId:$.channelId},...$.channelName&&{channelName:$.channelName},...$.actor&&{actor:$.actor},...$.source&&{source:$.source},...$.attachments&&{attachments:$.attachments}}}function xm($){return{chat:async(Z,X,J,G)=>{let Y=qm(J),W=G?await $.chat(Z,X,Y,G):await $.chat(Z,X,Y);return Lm(W)},confirmPendingAction:async(Z,X,J,G,Y)=>{let W=qm(G);if(!W)throw Error("Confirmation requires caller context.");let D=Y?await $.confirmPendingAction(Z,X,J,W,Y):await $.confirmPendingAction(Z,X,J,W);return Lm(D)},invalidate:()=>{$.invalidateAgent()}}}var TY=Symbol.for("brains.httpRouteSnapshotProvider");function $2$($,Z){if($[TY])throw Error("HTTP route snapshot provider is already bound");Object.defineProperty($,TY,{value:Z,enumerable:!1,configurable:!0,writable:!1})}function Sm($,Z){let X=$[TY];if(!X)throw Error("HTTP route snapshot provider is not bound");if(Z[TY])return;$2$(Z,X)}function jm($){let Z=$[TY];if(!Z)throw Error("HTTP route snapshot provider is not bound");return Z()}function hA($,Z,X){let J=H7($,Z,X),G=$.getMCPService(),Y=$.getPermissionService(),W=xm($.getAgentService());return{...J,mcpTransport:G,agent:W,permissions:{...J.permissions,getUserLevel:(D,U,A)=>{return Y.determineUserLevel(D,U,A)},isAnchor:(D,U)=>Y.isAnchor(D,U)},daemons:{register:(D,U)=>{let A=`${Z}:${D}`;$.registerDaemon(A,U,Z),J.logger.debug(`Registered daemon: ${A}`)}},conversations:{...J.conversations,start:async(D)=>{return $.getConversationService().startConversation(D)},addMessage:async(D)=>{await $.getConversationService().addMessage(D)},updateMetadata:async(D)=>{return $.getConversationService().updateConversationMetadata(D)},delete:async(D)=>{return $.getConversationService().deleteConversation(D)}},tools:{listForPermissionLevel:(D)=>{return $.listToolsForPermissionLevel(D)}},apiRoutes:{getRoutes:()=>{return $.getPluginApiRoutes()},getMessageBus:()=>{return $.getMessageBus()}},webRoutes:{getRoutes:()=>{return $.getPluginWebRoutes()}},httpRoutes:{getRoutes:()=>jm($)},plugins:{has:(D)=>$.hasPlugin(D)}}}function nP($,Z,X){return{...hA($,Z,X),channels:kh($,Z)}}var Z2$=3600000;class YJ extends J7{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=Z2$;createContext($,Z){return hA($,this.id,Z)}async register($,Z){let X=this.createContext($,Z);if(this.context=X,this.initializeDaemon(),this.daemon)await this.registerDaemon(X);return this.setupMessageHandlers(X),await this.onRegister(X),this.getCapabilities()}async onRegister($){}async registerDaemon($){if(!this.daemon)return;$.daemons.register(this.id,this.daemon),$.logger.debug(`Registered daemon for interface: ${this.id}`)}createDaemon(){return}requiresDaemonStartup(){return!1}getWebRoutes(){return[]}initializeDaemon(){let $=this.createDaemon();if($)this.daemon=$}async handleProgressEvent($,Z){}cleanupExpiredEntries(){let $=Date.now(),Z=[];for(let[X,J]of this.jobTrackingEntries)if($-J.createdAt>this.jobTrackingTtlMs)Z.push(X);for(let X of Z)this.jobTrackingEntries.delete(X)}ownsJob($,Z){return this.jobTrackingEntries.has($)||Z!==void 0&&this.jobTrackingEntries.has(Z)}getJobTracking($,Z){let X=this.jobTrackingEntries.get($);if(X)return X.info;if(Z){let J=this.jobTrackingEntries.get(Z);if(J)return J.info}return}setJobTracking($,Z){this.cleanupExpiredEntries(),this.jobTrackingEntries.set($,{info:Z,createdAt:Date.now()})}removeJobTracking($){this.jobTrackingEntries.delete($)}async createJobWithTracking($,Z){let J=await this.getContext().jobs.enqueue($);return this.setJobTracking(J,Z),J}async createBatchWithTracking($,Z,X){let G=await this.getContext().jobs.enqueueBatch($,X);return this.setJobTracking(G,Z),G}}class km extends YJ{definition;accountSettingsRegistration;routes=[];hasRequiredDaemon=!1;constructor($,Z,X,J){super(J,X,Z,GJ());this.definition=$}async onRegister($){if(await super.onRegister($),this.definition.accountSettings)this.accountSettingsRegistration=$.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});let Z=this.jobs($),X=this.definition.routes?.({config:this.config,jobs:Z})??[];this.routes=X.map((Y)=>this.runtimeRoute(Y,$));let J=this.definition.daemons?.({config:this.config,jobs:Z})??[],G=new Set;for(let Y of J){if(G.has(Y.id))throw Error(`Interface "${this.definition.id}" defines daemon "${Y.id}" more than once`);if(G.add(Y.id),this.hasRequiredDaemon||=Y.required,Y.forAccounts){if(Y.forAccounts!==this.definition.accountSettings)throw Error(`Interface "${this.definition.id}" account-bound daemon "${Y.id}" must reference its attached account settings`);let W=this.accountSettingsRegistration;if(!W)throw Error(`Interface "${this.definition.id}" account-bound daemon "${Y.id}" has no registered account settings`);$.daemons.register(Y.id,bA(Y,W,$.accountSettings));continue}$.daemons.register(Y.id,FY(Y))}}async onRegistrationComplete($){if(this.accountSettingsRegistration&&!$.accountSettings.hasBackend())throw Error(`Interface "${this.definition.id}" account settings require auth-service and an account settings encryption key`)}getWebRoutes(){return[...this.routes]}requiresDaemonStartup(){return this.hasRequiredDaemon}async onShutdown(){this.accountSettingsRegistration=void 0,this.routes=[],this.hasRequiredDaemon=!1,await super.onShutdown()}jobs($){return{enqueue:async(Z,X)=>{let J=Z.input.parse(X),G=await $.jobs.enqueue({type:_Y(Z),data:J});return Object.freeze({id:G})}}}runtimeRoute($,Z){return{method:$.method,path:$.path,public:!0,handler:async(X)=>{let J=await this.resolveCaller($,X,Z);if($.security.kind==="protocol"&&!J)return PY("Unauthorized",401);let G;if($.body){let W;try{W=await X.json()}catch{return PY("Request body must be valid JSON",400)}let D=$.body.safeParse(W);if(!D.success)return PY("Request body is invalid",400);G=D.data}let Y=await $.handle({request:X,body:G,caller:J});return gA($.response.parse(Y))}}}async resolveCaller($,Z,X){if($.security.kind==="public")return null;let J=await $.security.authenticate({request:Z});if(!J?.id.trim())return null;let G=X.permissions.getUserLevel(this.definition.id,J.id);return Object.freeze({actor:Object.freeze({...J}),permission:G,isAnchor:X.permissions.isAnchor(this.definition.id,J.id)})}}function Im($,Z,X,J){return new km($,Z,X,J)}var vm=["GET","POST","PUT","DELETE","OPTIONS"];function rP($,Z){$.messaging.subscribe(DY.progress,async(X)=>{try{let J=RA.safeParse(X.payload);if(!J.success)return Z.onInvalidSchema(),{success:!1};let G=J.data;return await Z.onProgress(G,G.metadata),{success:!0}}catch(J){return Z.onError(J),{success:!1}}})}function lP($){let Z=$.status==="completed"?"\u2705":"\u274C",X=$.status==="completed"?"completed":"failed",J=$.metadata.operationType.replace(/_/g," "),G=$.metadata.operationTarget?`: ${$.metadata.operationTarget}`:"",Y=`${Z} **${J}${G}** ${X}`;if($.message)Y+=`
119
119
  ${$.message}`;return Y}function iP($){let Z=$.metadata.operationType.replace(/_/g," "),X=$.metadata.operationTarget?`: ${$.metadata.operationTarget}`:"",J=`\uD83D\uDD04 **${Z}${X}**`;if($.progress&&$.progress.total>0)J+=` ${$.progress.current}/${$.progress.total} (${$.progress.percentage}%)`;if($.message)J+=`
120
120
  ${$.message}`;return J}var X2$=H.enum(["tool:invoking","tool:completed","tool:failed"]),J2$=H.object({toolName:H.string().min(1),conversationId:H.string().min(1),interfaceType:H.string().min(1),channelId:H.string().min(1).optional(),channelName:H.string().min(1).optional(),toolCallId:H.string().min(1).optional(),error:H.string().optional()}),G2$=["tool:invoking","tool:completed","tool:failed"];function sP($,Z){for(let X of G2$)$.messaging.subscribe(X,async(J)=>{try{let G=X2$.safeParse(J.type),Y=J2$.safeParse(J.payload);if(!G.success||!Y.success)return Z.onInvalidSchema(),{success:!1};return await Z.onToolActivity({type:G.data,...Y.data}),{success:!0}}catch(G){return Z.onError(G),{success:!1}}})}class aP{scope;fibers;delayMs;clock;closePromise=null;closed=!1;constructor($,Z){this.delayMs=$,this.clock=Z?.clock,this.scope=t.runSync(o0.make()),this.fibers=t.runSync(o0.extend(B1.make(),this.scope))}schedule($,Z){if(this.closed)return;let X=t.sleep(this.delayMs).pipe(t.andThen(t.sync(Z))),J=this.clock?t.withClock(X,this.clock):X,G=t.runFork(J);B1.unsafeSet(this.fibers,$,G)}close(){return this.closed=!0,this.closePromise??=t.runPromise(o0.close(this.scope,M0.void)),this.closePromise}}function MY($,Z){return{state:Z,toolName:$.toolName,conversationId:$.conversationId,interfaceType:$.interfaceType,...$.channelId!==void 0&&{channelId:$.channelId},...$.channelName!==void 0&&{channelName:$.channelName},...$.error!==void 0&&{error:$.error}}}function tP($){return`${$.conversationId}:${$.toolName}`}function eP($){if($.startsWith("playbook_"))return"playbook";return($.startsWith("system_")?$.slice(7):$).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().toLowerCase()}function ym($){switch($){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Approval required";case"failed":return"Tool failed"}}function bm($){switch($){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Tool awaiting approval";case"failed":return"Tool failed"}}function gm($){let Z=tP($),X=eP($.toolName),J=ym($.state),G=bm($.state),Y=`${G}: ${X}`;return{key:Z,label:X,title:J,fallbackPrefix:G,fallback:$.error?`${Y}: ${$.error}`:Y}}function hm($,Z){return $.pendingConfirmations?.some((X)=>X.toolName===Z)===!0||Y2$($.cards).some((X)=>X.toolName===Z)}function Y2$($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}var mm=500,W2$=500;class $F{transport;cleanupSupervisor=new aP(W2$);progressEvents=new Map;progressMessageTracking=new Map;agentResponseTracking=new Map;pendingToolCompletions=new Map;progressCallback;isProcessingInput=!1;currentChannelId=null;bufferedCompletionMessages=[];constructor($){this.transport=$}hasProgressCallback(){return this.progressCallback!==void 0}registerProgressCallback($){this.progressCallback=$,$(this.getActiveProgressEvents())}unregisterProgressCallback(){this.progressCallback=void 0}getProgressEvents(){return Array.from(this.progressEvents.values())}getActiveProgressEvents(){return Array.from(this.progressEvents.values()).filter(($)=>$.status==="processing")}trackAgentResponseForJob($,Z,X){this.agentResponseTracking.set($,{messageId:Z,channelId:X,lastUpdate:Date.now()}),this.transport.logger().debug("Tracking agent response for job",{jobId:$,messageId:Z,channelId:X})}startProcessingInput($=null){this.isProcessingInput=!0,this.currentChannelId=$}endProcessingInput(){this.isProcessingInput=!1;for(let{message:$,channelId:Z}of this.bufferedCompletionMessages)this.transport.sendMessageToChannel({channelId:Z,message:$});this.bufferedCompletionMessages=[],this.currentChannelId=null}getCurrentChannelId(){return this.currentChannelId}async close(){await this.cleanupSupervisor.close(),this.progressEvents.clear(),this.progressMessageTracking.clear(),this.agentResponseTracking.clear(),this.pendingToolCompletions.clear(),this.bufferedCompletionMessages=[],this.isProcessingInput=!1,this.currentChannelId=null,this.progressCallback=void 0}async handleProgressEvent($){if(!this.shouldHandleProgressEvent($))return;this.updateProgressState($);let Z=$.metadata.channelId??null,X=$.metadata.rootJobId;if(await this.handleProcessingProgress($,Z,X))return;if($.status==="completed"||$.status==="failed")await this.handleTerminalProgress($,Z,X);await this.transport.onProgressUpdate($),this.logProgressProcessed($)}async handleToolActivityEvent($){if($.interfaceType!==this.transport.interfaceId())return;switch($.type){case"tool:invoking":this.pendingToolCompletions.delete(this.getToolCompletionKey($)),await this.transport.handleToolStatusUpdate(MY($,"running"));return;case"tool:completed":if(this.isProcessingInput){this.pendingToolCompletions.set(this.getToolCompletionKey($),$);return}await this.transport.handleToolStatusUpdate(MY($,"completed"));return;case"tool:failed":this.pendingToolCompletions.delete(this.getToolCompletionKey($)),await this.transport.handleToolStatusUpdate(MY($,"failed"));return}}async handleAgentResponseToolStatuses($,Z){if(this.pendingToolCompletions.size===0)return;let X=this.transport.interfaceId(),J=Array.from(this.pendingToolCompletions.values()).filter((G)=>G.interfaceType===X&&G.conversationId===Z);for(let G of J){this.pendingToolCompletions.delete(this.getToolCompletionKey(G));let Y=hm($,G.toolName)?"awaiting-approval":"completed";await this.transport.handleToolStatusUpdate(MY(G,Y))}}shouldHandleProgressEvent($){let Z=$.metadata.interfaceType;return!Z||Z===this.transport.interfaceId()}updateProgressState($){this.progressEvents.set($.id,$),this.notifyProgressCallback()}async handleProcessingProgress($,Z,X){if($.status!=="processing"||!this.transport.supportsMessageEditing())return!1;let J=this.agentResponseTracking.get($.id);if(J)return await this.editTrackedProgressMessage($,J),!0;let G=this.transport.formatProgressOutput($),Y=this.progressMessageTracking.get(X),W=Date.now();if(Y){if(W-Y.lastUpdate>=mm)await this.transport.editMessage({channelId:Y.channelId,messageId:Y.messageId,newMessage:G}),Y.lastUpdate=W}else if(Z&&!this.isProcessingInput)await this.sendInitialProgressMessage(X,Z,G,W);return!1}async editTrackedProgressMessage($,Z){let X=Date.now();if(X-Z.lastUpdate<mm)return;await this.transport.editMessage({channelId:Z.channelId,messageId:Z.messageId,newMessage:this.transport.formatProgressOutput($)}),Z.lastUpdate=X}async sendInitialProgressMessage($,Z,X,J){let G=await this.transport.sendMessageWithId({channelId:Z,message:X});if(!G)return;this.progressMessageTracking.set($,{messageId:G,channelId:Z,lastUpdate:J}),this.transport.logger().debug("Tracking progress message",{rootJobId:$,messageId:G,channelId:Z})}async handleTerminalProgress($,Z,X){let J=this.transport.formatCompletionOutput($),G=this.progressMessageTracking.get(X),Y=this.agentResponseTracking.get($.id);if(this.transport.logger().debug("Completion event received",{eventId:$.id,rootJobId:X,hasProgressTracking:!!G,hasAgentTracking:!!Y,supportsEditing:this.transport.supportsMessageEditing()}),this.transport.supportsMessageEditing())await this.updateTrackedCompletion($,J,G,Y,X);if(!G&&!Y&&Z)this.sendOrBufferCompletionMessage(J,Z);this.scheduleProgressCleanup($.id)}async updateTrackedCompletion($,Z,X,J,G){if(J){if(await this.transport.editMessage({channelId:J.channelId,messageId:J.messageId,newMessage:Z}),this.agentResponseTracking.delete($.id),X)this.progressMessageTracking.delete(G);return}if(X)await this.transport.editMessage({channelId:X.channelId,messageId:X.messageId,newMessage:Z}),this.progressMessageTracking.delete(G)}sendOrBufferCompletionMessage($,Z){if(this.isProcessingInput){this.bufferedCompletionMessages.push({message:$,channelId:Z});return}this.transport.sendMessageToChannel({channelId:Z,message:$})}scheduleProgressCleanup($){this.cleanupSupervisor.schedule($,()=>{this.progressEvents.delete($),this.notifyProgressCallback()})}logProgressProcessed($){this.transport.logger().debug("Progress event processed",{eventId:$.id,status:$.status,operationType:$.metadata.operationType,targetChannel:$.metadata.channelId})}getToolCompletionKey($){return`${$.interfaceType}:${$.conversationId}:${$.toolName}`}notifyProgressCallback(){this.progressCallback?.(this.getProgressEvents())}}var ZF=1e5,D2$=[".md",".txt",".markdown"],H2$=["text/plain","text/markdown","text/x-markdown"],U2$=/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi,A2$=["meet.google.com","zoom.us","teams.microsoft.com","whereby.com","gather.town","calendly.com","cal.com","discord.com","discord.gg","cdn.discordapp.com","media.discordapp.net","giphy.com","tenor.com","wetransfer.com","file.io"],XF=H.object({captureUrls:H.boolean().default(!1),blockedUrlDomains:H.array(H.string()).default(A2$)});function fm($,Z){if(Z&&H2$.some((X)=>Z.startsWith(X)))return!0;return D2$.some((X)=>$.toLowerCase().endsWith(X))}function cm($){return $<=ZF}function pm($){if($.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode($),!0}catch{return!1}}function dm($,Z){return`User uploaded a file "${$}":
121
121
 
122
- ${Z}`}function um($,Z){let X=$.match(U2$)??[];return[...new Set(X)].filter((J)=>{try{let{hostname:G}=new URL(J);return!Z.some((Y)=>G===Y||G.endsWith(`.${Y}`))}catch{return!1}})}function WJ($,Z){let X=$.attachment.source;if((X?.entityType==="document"||X?.entityType==="image")&&X.entityId)return{entityType:X.entityType,id:X.entityId};return JF($.attachment.downloadUrl??$.attachment.url,Z)}function JF($,Z="http://local"){if(!$)return;let X;try{X=new URL($,Z)}catch{return}let J=X.searchParams.get("id")?.trim();if(!J)return;if(X.pathname==="/api/chat/attachments/document")return{entityType:"document",id:J};if(X.pathname==="/api/chat/attachments/image")return{entityType:"image",id:J};return}function mA($,Z){let X=K2$(Z,$==="document"?/^application\/pdf$/i:/^image\/[a-z0-9.+-]+$/i);if(!X)return;if($==="document"&&X.mimeType.toLowerCase()!=="application/pdf")return;return X}function fA($,Z,X,J){let G=$?.filename;if(typeof G==="string"&&G.trim())return G;if(X==="document")return`${Z}.pdf`;let Y=$?.format;if(typeof Y==="string"&&Y.trim())return`${Z}.${Y==="jpeg"?"jpg":Y}`;let W=J.split("/")[1]?.split("+")[0]??"png";return`${Z}.${W}`}function K2$($,Z){let X=$.match(/^data:([^;]+);base64,(.+)$/i),J=X?.[1],G=X?.[2];if(!J||!G||!Z.test(J))return;let Y=Buffer.from(G,"base64");return{mimeType:J,data:Y.buffer.slice(Y.byteOffset,Y.byteOffset+Y.byteLength)}}async function zY({entityRef:$,userLevel:Z,getEntity:X,getVisibleEntity:J}){let G=L9(Z),Y=await J($,G);if(Y)return{status:"visible",entity:Y};return Boolean(await X($))?{status:"denied"}:{status:"missing"}}function cA($){return $==="admin"||$==="trusted"}async function om($){let Z=new Set;for(let X of $.cards??[]){if(X.kind!=="attachment")continue;let J=WJ(X,$.displayBaseUrl);if(!J)continue;if((await zY({entityRef:J,userLevel:$.userLevel,getEntity:$.getEntity,getVisibleEntity:$.getVisibleEntity})).status==="denied")Z.add(X.id)}return Z}class RY extends YJ{createContext($,Z){return nP($,this.id,Z)}isUploadableTextFile($,Z){return fm($,Z)}isFileSizeAllowed($){return cm($)}formatFileUploadMessage($,Z){return dm($,Z)}getMaxFileUploadBytes(){return ZF}isLikelyTextContent($){return pm($)}async resolveNativeArtifactDelivery($){let Z=[],X=new Set;if(!this.context||!$.cards)return{files:Z,deniedCardIds:X};let J=this.context;for(let G of $.cards){if(G.kind!=="attachment")continue;let Y=WJ(G,$.displayBaseUrl);if(!Y)continue;let W=await zY({entityRef:Y,userLevel:$.userPermissionLevel,getEntity:(U)=>J.entityService.getEntity(U),getVisibleEntity:(U,A)=>J.entityService.getEntity({...U,visibilityScope:A})});if(W.status==="denied"){X.add(G.id);continue}if(W.status!=="visible")continue;if(!cA($.userPermissionLevel))continue;if(typeof W.entity.content!=="string")continue;let D=mA(Y.entityType,W.entity.content);if(!D)continue;if($.maxBytes!==void 0&&D.data.byteLength>$.maxBytes){this.logger.debug("Skipping oversized native artifact upload",{cardId:G.id,sizeBytes:D.data.byteLength});continue}Z.push({cardId:G.id,data:new Uint8Array(D.data),filename:G.attachment.filename??fA(W.entity.metadata,Y.id,Y.entityType,D.mimeType),mimeType:D.mimeType})}return{files:Z,deniedCardIds:X}}extractCaptureableUrls($,Z){return um($,Z)}async captureUrlViaAgent($,Z,X,J,G){if(!this.context)return;let Y=this.context.permissions.getUserLevel(J,X,G);await this.context.agent.chat(`Save this link: ${$}`,`links-${Z}`,{userPermissionLevel:Y,interfaceType:J,channelId:Z})}progress=new $F({interfaceId:()=>this.id,logger:()=>this.logger,sendMessageToChannel:($)=>this.sendMessageToChannel($),sendMessageWithId:($)=>this.sendMessageWithId($),editMessage:($)=>this.editMessage($),supportsMessageEditing:()=>this.supportsMessageEditing(),formatProgressOutput:($)=>this.formatProgressOutput($),formatCompletionOutput:($)=>this.formatCompletionOutput($),onProgressUpdate:($)=>this.onProgressUpdate($),handleToolStatusUpdate:($)=>this.handleToolStatusUpdate($)});sendMessageToChannel($){return}sendMessageWithId($){return Promise.resolve(void 0)}editMessage($){return Promise.resolve(!1)}supportsMessageEditing(){return!1}registerProgressCallback($){this.progress.registerProgressCallback($)}unregisterProgressCallback(){this.progress.unregisterProgressCallback()}hasProgressCallback(){return this.progress.hasProgressCallback()}trackAgentResponseForJob($,Z,X){this.progress.trackAgentResponseForJob($,Z,X)}async onRegister($){await super.onRegister($),rP($,{onProgress:async(Z,X)=>{await this.handleProgressEvent(Z,X)},onError:(Z)=>{this.logger.error("Error handling progress event",{error:Z,interfaceId:this.id})},onInvalidSchema:()=>{this.logger.warn("Invalid progress event schema",{interfaceId:this.id})}}),sP($,{onToolActivity:async(Z)=>{await this.handleToolActivityEvent(Z)},onError:(Z)=>{this.logger.error("Error handling tool activity event",{error:Z,interfaceId:this.id})},onInvalidSchema:()=>{this.logger.warn("Invalid tool activity event schema",{interfaceId:this.id})}}),this.logger.debug("Message interface registered with progress and tool handlers",{id:this.id})}async onShutdown(){await this.progress.close(),await super.onShutdown()}async handleProgressEvent($,Z){await this.progress.handleProgressEvent($)}formatProgressOutput($){return iP($)}formatCompletionOutput($){return lP($)}async onProgressUpdate($){}async handleToolActivityEvent($){await this.progress.handleToolActivityEvent($)}async handleToolStatusUpdate($){}async handleAgentResponseToolStatuses($,Z){await this.progress.handleAgentResponseToolStatuses($,Z)}getProgressEvents(){return this.progress.getProgressEvents()}getActiveProgressEvents(){return this.progress.getActiveProgressEvents()}startProcessingInput($=null){this.progress.startProcessingInput($)}endProcessingInput(){this.progress.endProcessingInput()}getCurrentChannelId(){return this.progress.getCurrentChannelId()}}function GF($){if(typeof $==="string")return{text:$};return{text:$.fallbackText??"Message update"}}async function V2$($,Z){let X=await fetch($.url,{signal:Z});if(!X.ok)throw Error(`Attachment "${$.name}" could not be downloaded (${X.status})`);let J=new Uint8Array(await X.arrayBuffer());if($.mediaType.startsWith("text/"))return{kind:"text",filename:$.name,mediaType:$.mediaType,content:new TextDecoder().decode(J),sizeBytes:J.byteLength};return{kind:"file",filename:$.name,mediaType:$.mediaType,data:J,sizeBytes:J.byteLength}}class rm extends RY{definition;accountSettingsRegistration;hasRequiredDaemon=!1;state;constructor($,Z,X,J){super(J,X,Z,GJ());this.definition=$}async onRegister($){if(await super.onRegister($),this.definition.accountSettings)this.accountSettingsRegistration=$.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});if(this.state=this.definition.setup?await this.definition.setup({config:this.config}):Object.freeze({}),$.channels.registerDescriptor({type:this.definition.channel.type,displayName:this.definition.channel.displayName,subjectLabel:this.definition.channel.subjectLabel,...this.definition.deliver?{manualDelivery:!0}:{}}),this.definition.deliver)$.channels.registerDeliveryProvider({channelType:this.definition.channel.type,isAvailable:()=>Promise.resolve(this.state!==void 0),send:(J)=>this.deliver(J)});let Z=this.definition.daemons?.({config:this.config,state:this.requireState()})??[],X=new Set;for(let J of Z){if(X.has(J.id)||J.id==="listener")throw Error(`Message interface "${this.definition.id}" defines daemon "${J.id}" more than once`);if(X.add(J.id),this.hasRequiredDaemon||=J.required,J.forAccounts){if(J.forAccounts!==this.definition.accountSettings)throw Error(`Message interface "${this.definition.id}" account-bound daemon "${J.id}" must reference its attached account settings`);let G=this.accountSettingsRegistration;if(!G)throw Error(`Message interface "${this.definition.id}" account-bound daemon "${J.id}" has no registered account settings`);$.daemons.register(J.id,bA(J,G,$.accountSettings));continue}$.daemons.register(J.id,FY(J))}if(this.definition.listen)$.daemons.register("listener",FY({kind:"rizom-interface-daemon",id:"listener",required:!1,run:({signal:J,health:G})=>this.definition.listen?.({config:this.config,state:this.requireState(),signal:J,health:G,messages:{receiveAuthenticated:(Y)=>this.receiveAuthenticated(Y,J)}})??Promise.resolve()}))}async onRegistrationComplete($){if(this.accountSettingsRegistration&&!$.accountSettings.hasBackend())throw Error(`Message interface "${this.definition.id}" account settings require auth-service and an account settings encryption key`)}requiresDaemonStartup(){return this.hasRequiredDaemon}sendMessageToChannel($){let Z=$.channelId,X=this.definition.send;if(!Z||!X)return;Promise.resolve().then(()=>X({config:this.config,state:this.requireState(),channel:{id:Z},message:GF($.message)})).catch((J)=>{this.logger.error("Message delivery failed",{error:J})})}async sendMessageWithId($){if(!$.channelId||!this.definition.send)return;let Z=await this.definition.send({config:this.config,state:this.requireState(),channel:{id:$.channelId},message:GF($.message)});return typeof Z==="string"?Z:void 0}async editMessage($){if(!$.channelId||!this.definition.edit)return!1;return await this.definition.edit({config:this.config,state:this.requireState(),channel:{id:$.channelId},messageId:$.messageId,message:GF($.newMessage)}),!0}supportsMessageEditing(){return this.definition.edit!==void 0}async onShutdown(){this.accountSettingsRegistration=void 0,this.hasRequiredDaemon=!1,this.state=void 0,await super.onShutdown()}requireState(){if(!this.state)throw Error(`Message interface "${this.definition.id}" has not completed setup`);return this.state}async deliver($){if(!this.definition.deliver)return{status:"failed",failureCode:"delivery_not_supported"};try{let Z=this.parseRecipient($.recipient),X=await this.definition.deliver({config:this.config,state:this.requireState(),recipient:Z,message:{text:$.text}});return{status:"sent",...typeof X==="string"?{providerDeliveryId:X}:{}}}catch(Z){return this.logger.warn("Outbound channel delivery failed",{error:Z}),{status:"failed",failureCode:"delivery_failed"}}}parseRecipient($){let Z=this.definition.channel.recipient.safeParse($);if(Z.success)return Z.data;try{let Y=this.definition.channel.recipient.safeParse(JSON.parse($));if(Y.success)return Y.data}catch{}let X=Reflect.get(this.definition.channel.recipient,"shape"),J=X!==null&&typeof X==="object"?Object.keys(X):[],G=J.length===1?J[0]:void 0;if(G)return this.definition.channel.recipient.parse({[G]:$});return this.definition.channel.recipient.parse($)}async receiveAuthenticated($,Z){if(!$.sender.id.trim()||!$.channel.id.trim())throw Error("Authenticated messages require sender and channel ids");let X=this.getContext(),J=this.definition.channel.type,G=X.permissions.getUserLevel(J,$.sender.id),Y=X.permissions.isAnchor(J,$.sender.id),W=[J,$.channel.id,$.channel.threadId].filter((U)=>U!==void 0).join(":"),D=[];if($.attachments){let U=await $.attachments();for(let A of U)D.push(await V2$(A,Z))}this.startProcessingInput($.channel.id);try{let U=await X.agent.chat($.text,W,{userPermissionLevel:G,isAnchor:Y,interfaceType:J,channelId:$.channel.id,actor:{identity:{kind:"external",externalActorId:nm(J,$.sender.id)},interfaceType:J,role:"user",...$.sender.displayName?{displayName:$.sender.displayName}:{}},source:{channelId:$.channel.id,...$.channel.threadId?{threadId:$.channel.threadId}:{}},...D.length>0?{attachments:D}:{}},Z),A=await this.sendMessageWithId({channelId:$.channel.id,message:U.text});if(A){for(let Q of U.toolResults??[])if(Q.jobId)this.trackAgentResponseForJob(Q.jobId,A,$.channel.id)}await this.handleAgentResponseToolStatuses(U,W)}finally{this.endProcessingInput()}}}function lm($,Z,X,J){return new rm($,Z,X,J)}function Q2$($){return Object.freeze({kind:"protocol",...$})}function O2$($){if(!vm.includes($.method))throw Error(`Unsupported interface route method "${$.method}"`);if(!$.path.startsWith("/"))throw Error(`Interface route path "${$.path}" must be absolute`);return Object.freeze({kind:"rizom-interface-route",...$})}function B2$($){uZ($.id,"Daemon id");let{required:Z=!1,...X}=$;return Object.freeze({kind:"rizom-interface-daemon",...X,required:Z})}function N2$($){return h9({family:"interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Im($,Z,X,J($.id))})}function _2$($){if(uZ($.channel.type,"Channel type"),$.listen&&!$.send)throw Error(`Message interface "${$.id}" must define send when it defines listen`);if($.edit&&!$.send)throw Error(`Message interface "${$.id}" must define send when it defines edit`);return h9({family:"message-interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>lm($,Z,X,J($.id))})}var YF=H.object({kind:H.string().min(1),id:H.string().min(1)}),im=H.object({kind:H.literal("text"),filename:H.string().min(1),mediaType:H.string().min(1),content:H.string(),sizeBytes:H.number().nonnegative().optional(),source:YF.optional()}),S2$=H.custom(($)=>$ instanceof Uint8Array),j2$=H.object({kind:H.literal("file"),filename:H.string().min(1),mediaType:H.string().min(1),data:S2$,sizeBytes:H.number().nonnegative().optional(),source:YF.optional()}),sm=H.discriminatedUnion("kind",[im,j2$]),k2$=H.object({userPermissionLevel:H.enum(["admin","trusted","public"]).optional(),isAnchor:H.boolean().optional(),interfaceType:H.string().optional(),channelId:H.string().optional(),channelName:H.string().optional(),actor:UY.optional(),source:AY.optional(),attachments:H.array(sm).optional()});var I2$=H.object({status:H.enum(["healthy","warning","error","unknown"]),message:H.string().optional(),lastCheck:H.date().optional(),details:H.record(H.string(),H.unknown()).optional()}),am=H.object({name:H.string(),pluginId:H.string(),status:H.string(),health:I2$.optional()});var tm=H.enum(["admin","trusted","public"]),wY=H.object({label:H.string(),url:H.string(),pluginId:H.string(),priority:H.number().default(100),visibility:tm.default("public")}),WF=H.enum(["human","agent","admin","protocol"]),DF=H.enum(["available","coming-soon","disabled"]),CY=H.object({id:H.string(),label:H.string(),description:H.string().optional(),href:H.string(),kind:WF,pluginId:H.string(),priority:H.number().default(100),visibility:tm.default("public"),status:DF.default("available")}),oA=H.object({entityType:H.string(),count:H.number()}),HF=H.object({status:H.enum(["operational","degraded"]),reasons:H.array(H.string()),worker:H.object({state:H.enum(["active","missing","stale"]),activeSessions:H.number().int().nonnegative(),staleSessions:H.number().int().nonnegative(),latestHeartbeatAgeMs:H.number().nonnegative().nullable()}),queue:H.object({duePending:H.number().int().nonnegative(),processing:H.number().int().nonnegative(),oldestDuePendingAgeMs:H.number().nonnegative().nullable(),latestClaimAgeMs:H.number().nonnegative().nullable(),stalled:H.boolean()})}),em=H.object({model:H.string(),version:H.string(),uptime:H.number(),entities:H.number(),entityCounts:H.array(oA),embeddings:H.number(),backgroundWork:HF,ai:H.object({model:H.string(),embeddingModel:H.string()}),daemons:H.array(am),endpoints:H.array(wY),interactions:H.array(CY)});var v2$=H.object({status:H.enum(["healthy","warning","error","unknown"]),message:H.string().optional(),lastCheck:H.string().optional(),details:H.record(H.string(),H.unknown()).optional()}),y2$=H.object({name:H.string(),pluginId:H.string(),status:H.string(),health:v2$.optional()}),b2$=H.object({model:H.string(),version:H.string(),uptime:H.number(),entities:H.number(),entityCounts:H.array(oA),embeddings:H.number(),ai:H.object({model:H.string(),embeddingModel:H.string()}),daemons:H.array(y2$),endpoints:H.array(wY),interactions:H.array(CY)});var nA=H.object({name:H.string().min(1),status:H.enum(["healthy","degraded","unhealthy"]),message:H.string().optional(),details:H.record(H.string(),H.unknown()).optional()}),$f=H.object({totals:H.object({pending:H.number().int().nonnegative(),processing:H.number().int().nonnegative(),completed:H.number().int().nonnegative(),failed:H.number().int().nonnegative()}),byType:H.array(H.object({type:H.string().min(1),status:H.enum(["pending","processing","completed","failed"]),count:H.number().int().nonnegative()})),oldestPendingAgeMs:H.number().nonnegative().nullable(),duePending:H.number().int().nonnegative(),oldestDuePendingAgeMs:H.number().nonnegative().nullable(),latestClaimAgeMs:H.number().nonnegative().nullable(),oldestProcessingAgeMs:H.number().nonnegative().nullable(),staleLeaseCount:H.number().int().nonnegative(),workerSessions:H.object({total:H.number().int().nonnegative(),active:H.number().int().nonnegative(),stale:H.number().int().nonnegative(),latestHeartbeatAgeMs:H.number().nonnegative().nullable()})}),Zf=H.object({memory:H.object({rssBytes:H.number().int().nonnegative(),heapUsedBytes:H.number().int().nonnegative(),heapTotalBytes:H.number().int().nonnegative()}),fileDescriptors:H.number().int().nonnegative().nullable(),processes:H.object({total:H.number().int().nonnegative().nullable(),zombies:H.number().int().nonnegative().nullable()}),queue:$f.nullable(),projection:H.object({initialized:H.boolean(),trackedRoots:H.number().int().nonnegative(),openCircuits:H.array(H.object({projectionId:H.string().min(1),reason:H.string().min(1),openedAt:H.number().int().nonnegative(),expiresAt:H.number().int().nonnegative()}))}),worker:H.object({total:H.number().int().nonnegative(),active:H.number().int().nonnegative(),stale:H.number().int().nonnegative(),latestHeartbeatAgeMs:H.number().nonnegative().nullable()})}),g2$=H.object({status:H.enum(["ready","not_ready"]),operationalStatus:H.enum(["operational","degraded"]),checkedAt:H.iso.datetime(),checks:H.array(nA),resources:Zf});var h2$=H.union([H.object({success:H.boolean(),data:H.unknown().optional(),error:H.string().optional()}),H.object({noop:H.literal(!0)})]),m2$=H.object({id:H.string(),timestamp:H.string(),type:H.string(),source:H.string(),target:H.string().optional(),metadata:yG.optional()});async function f2$({context:$,targetType:Z,desired:X,getId:J,toEntityInput:G,equals:Y,deleteStale:W=!1,outputVisibility:D="public",concurrency:U=1,logger:A}){let Q=new Map;for(let l of X)Q.set(J(l),l);let O=(await $.entityService.listEntities({entityType:Z,options:{filter:{visibilityScope:D}}})).filter((l)=>l.visibility===D),P=new Map(O.map((l)=>[l.id,l])),_=0,M=0,z=0,x=0,K$=Math.max(1,U);if(W){let l=O.filter((J$)=>!Q.has(J$.id));await Xf(l,K$,async(J$)=>{await $.entityService.deleteEntity({entityType:Z,id:J$.id}),z++})}return await Xf(Array.from(Q),K$,async([l,J$])=>{let B$=P.get(l),h$={...G(J$,l),visibility:D};try{if(!B$){await $.entityService.createEntity({entity:h$}),_++;return}if(Y?.(B$,J$)??!1){x++;return}await $.entityService.updateEntity({entity:{...B$,...h$,id:l,entityType:Z,visibility:D}}),M++}catch(A$){A?.error("Failed to reconcile entity",{targetType:Z,id:l,error:d$(A$)})}}),{created:_,updated:M,deleted:z,skipped:x}}async function Xf($,Z,X){let J=await t.runPromiseExit(t.forEach($,(G)=>t.tryPromise({try:()=>X(G),catch:(Y)=>Y}),{concurrency:Z,discard:!0}));if(M0.isFailure(J))throw Y6.squash(J.cause)}async function c2$({entityService:$,entity:Z,options:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:V6("pending entity identity check")});if(J)return{entityId:J.id,created:!1,existingEntity:J};let G=await $.createEntity({entity:Z,...X?{options:X}:{}});return{entityId:G.entityId,created:!0,mutation:G}}async function p2$({entityService:$,entity:Z,expectedContentHash:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:V6("pending entity completion")});if(J){let Y={...J,content:Z.content,metadata:Z.metadata,updated:Z.updated??new Date().toISOString()},W=await $.updateEntity({entity:Y,...X!==void 0?{options:{expectedContentHash:X}}:{}});return{entityId:W.entityId,updated:!0,mutation:W,previousEntity:J}}if(X!==void 0)return{entityId:Z.id,updated:!1,mutation:{entityId:Z.id,jobId:"",skipped:!0,skipReason:"content-conflict"}};let G=await $.createEntity({entity:Z});return{entityId:G.entityId,updated:!1,mutation:G}}async function d2$({entityService:$,entityType:Z,id:X,error:J,content:G}){let Y=await $.getEntity({entityType:Z,id:X,visibilityScope:V6("pending entity failure")});if(!Y)return{found:!1};let W={...Y,content:G??Y.content,metadata:{...Y.metadata,status:"failed",processingError:J},updated:new Date().toISOString()},D=await $.updateEntity({entity:W});return{found:!0,entityId:D.entityId,mutation:D,previousEntity:Y}}var Jf=H.union([H.string(),H.number().finite(),H.boolean(),H.null()]);function u2$($,Z){return Buffer.from(JSON.stringify([$,Z])).toString("base64url")}function rA($,Z){return{packageName:$.packageName,definitionId:$.definitionId,actorId:Z}}function o2$($){let Z=$.replaceAll(/([a-z0-9])([A-Z])/g,"$1 $2").replaceAll(/[-_]+/g," ").trim();return Z?`${Z[0]?.toUpperCase()??""}${Z.slice(1)}`:$}function UF($){return $.schema.shape}function Gf($){let Z=$!==null&&typeof $==="object"?Reflect.get($,"safeParse"):void 0;if(typeof Z!=="function")return{success:!1};let X=Z.call($,void 0);if(X!==null&&typeof X==="object"&&Reflect.get(X,"success")===!0)return{success:!0,data:Reflect.get(X,"data")};return{success:!1}}function n2$($){let Z=Gf($);if(!Z.success)return;let X=Jf.safeParse(Z.data);return X.success?X.data:void 0}function r2$($,Z){let X={};for(let J of Object.keys(UF($))){let G=Reflect.get(Z,J);if(G!==void 0)X[J]=Jf.parse(G)}return Object.freeze(X)}function l2$($,Z){let X=Object.entries($),J=Object.entries(Z);return X.length===J.length&&X.every(([G,Y])=>Object.hasOwn(Z,G)&&Object.is(Y,Z[G]))}class Yf{registrations=new Map;listeners=new Map;mutationTails=new Map;backend;register($){if(!$.ownerPluginId.trim())throw Error("Account settings owner plugin id must not be empty");if(!$.packageName.trim())throw Error("Account settings package name must not be empty");if(!$.definitionId.trim())throw Error("Account settings definition id must not be empty");let Z=u2$($.packageName,$.definitionId),X=this.registrations.get(Z);if(X){if(X.ownerPluginId===$.ownerPluginId&&X.definition===$.definition)return X;throw Error(`Account settings definition "${$.packageName}:${$.definitionId}" is already registered`)}let J=Object.freeze({id:Z,...$});return this.registrations.set(Z,J),J}unregister($){if(this.registrations.get($.id)!==$)return;this.registrations.delete($.id),this.listeners.delete($.id)}bindBackend($){if(this.backend&&this.backend!==$)throw Error("Account settings backend is already bound");this.backend=$;for(let X of this.registrations.values())this.notify(X.id);let Z=!0;return()=>{if(!Z)return;if(Z=!1,this.backend===$)this.backend=void 0}}hasRegistrations(){return this.registrations.size>0}hasBackend(){return this.backend!==void 0}listRegistrations(){return[...this.registrations.values()].sort(($,Z)=>$.id.localeCompare(Z.id))}async listForms($){let Z=[];for(let X of this.listRegistrations()){let J=await this.requireBackend(X).read(rA(X,$));Z.push(this.formFor(X,J))}return Z}async save($,Z,X){let J=this.requireRegistration($);return this.serializeMutation(`${J.id}:${Z}`,async()=>{let G=this.requireBackend(J),Y=rA(J,Z),W=await G.read(Y),D=UF(J.definition),U=Object.keys(X).find((_)=>!Object.hasOwn(D,_));if(U)throw Error(`Account settings field "${U}" is not declared by "${J.packageName}:${J.definitionId}"`);let A={};for(let _ of Object.keys(D)){let M=J.definition.fields[_]?.secret===!0;if(!Object.hasOwn(X,_)){if(M&&W?.values[_]!==void 0)A[_]=W.values[_];continue}let z=X[_];if(M&&(z===""||z===void 0)){if(W?.values[_]!==void 0)A[_]=W.values[_];continue}if(z!==void 0)A[_]=z}let Q=J.definition.schema.parse(A),O=r2$(J.definition,Q),P=W&&l2$(W.values,O)?W:await G.write(Y,O);if(P!==W)this.notify(J.id);return this.formFor(J,P)})}async delete($,Z){let X=this.requireRegistration($);return this.serializeMutation(`${X.id}:${Z}`,async()=>{let J=await this.requireBackend(X).delete(rA(X,Z));if(J)this.notify(X.id);return J})}async deleteActor($){let Z=this.backend,X=Z?await Z.deleteActor($):0;return this.refreshActor($),X}accountDeleted($){this.refreshActor($)}refreshActor($){for(let Z of this.registrations.values())this.notify(Z.id)}async getForActor($,Z){this.requireAttached($);let X=await this.requireBackend($).read(rA($,Z));return X?Object.freeze($.definition.schema.parse(X.values)):null}async listConfigured($){return this.requireAttached($),(await this.requireBackend($).list({packageName:$.packageName,definitionId:$.definitionId})).map((X)=>Object.freeze({id:X.actorId,settings:Object.freeze($.definition.schema.parse(X.values)),revision:X.revision}))}subscribe($,Z){this.requireAttached($);let X=this.listeners.get($.id)??new Set;return X.add(Z),this.listeners.set($.id,X),()=>{if(X.delete(Z),X.size===0)this.listeners.delete($.id)}}formFor($,Z){let X=Object.entries(UF($.definition)).map(([J,G])=>{let Y=$.definition.fields[J],W=Y?.secret===!0,D=Z?.values[J],U=D!==void 0?D:n2$(G);return Object.freeze({name:J,label:Y?.label??o2$(J),control:Y?.control??"text",secret:W,required:!Gf(G).success,...W?{set:D!==void 0}:U!==void 0?{value:U}:{}})});return Object.freeze({id:$.id,title:$.definition.title,...$.definition.description?{description:$.definition.description}:{},configured:Z!==null,revision:Z?.revision??null,fields:Object.freeze(X)})}requireRegistration($){let Z=this.registrations.get($);if(!Z)throw Error("Account settings definition not found");return Z}requireAttached($){if(this.registrations.get($.id)!==$)throw Error("Account settings definition is not registered")}requireBackend($){if(!this.backend)throw Error(`Account settings runtime is unavailable for "${$.packageName}:${$.definitionId}"`);return this.backend}notify($){for(let Z of this.listeners.get($)??[])Z()}serializeMutation($,Z){let J=(this.mutationTails.get($)??Promise.resolve()).catch(()=>{return}).then(Z),G=J.then(()=>{return},()=>{return});return this.mutationTails.set($,G),G.finally(()=>{if(this.mutationTails.get($)===G)this.mutationTails.delete($)}),J}}var Hf=/^[a-z][a-z0-9-]*$/,i2$=H.strictObject({source:H.string().min(1).max(500),flags:H.string().regex(/^[imu]*$/).optional()}),s2$=H.strictObject({type:H.string().trim().regex(Hf),displayName:H.string().trim().min(1).max(100),subjectLabel:H.string().trim().min(1).max(100),subjectPattern:i2$.optional(),manualDelivery:H.boolean().optional()});class Uf{descriptorRegistrations=new Map;providerRegistrations=new Map;activeDescriptors=new Map;activeProviders=new Map;finalized=!1;registerDescriptor($,Z){this.assertRegistrationOpen();let X=Wf($),J=s2$.parse(Z);if(J.subjectPattern)new RegExp(J.subjectPattern.source,J.subjectPattern.flags);let G=Object.freeze({type:J.type,displayName:J.displayName,subjectLabel:J.subjectLabel,...J.subjectPattern?{subjectPattern:Object.freeze({...J.subjectPattern})}:{},...J.manualDelivery!==void 0?{manualDelivery:J.manualDelivery}:{}}),Y=this.descriptorRegistrations.get(J.type)??[];Y.push({pluginId:X,descriptor:G}),this.descriptorRegistrations.set(J.type,Y)}registerDeliveryProvider($,Z){this.assertRegistrationOpen();let X=Wf($),J=AF(Z.channelType);if(typeof Z.isAvailable!=="function"||typeof Z.send!=="function")throw Error("Channel delivery provider operations are required");let G=Object.freeze({channelType:J,isAvailable:Z.isAvailable.bind(Z),send:Z.send.bind(Z)}),Y=this.providerRegistrations.get(J)??[];Y.push({pluginId:X,provider:G}),this.providerRegistrations.set(J,Y)}unregisterPlugin($){let Z=$.trim();for(let[X,J]of this.descriptorRegistrations){let G=J.filter((Y)=>Y.pluginId!==Z);if(G.length===0)this.descriptorRegistrations.delete(X);else this.descriptorRegistrations.set(X,G)}for(let[X,J]of this.providerRegistrations){let G=J.filter((Y)=>Y.pluginId!==Z);if(G.length===0)this.providerRegistrations.delete(X);else this.providerRegistrations.set(X,G)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listDescriptors(){return this.assertFinalized(),[...this.activeDescriptors.values()].sort(($,Z)=>$.type.localeCompare(Z.type))}getDescriptor($){return this.assertFinalized(),this.activeDescriptors.get(AF($))}getDeliveryProvider($){return this.assertFinalized(),this.activeProviders.get(AF($))}isFinalized(){return this.finalized}rebuildActiveState($){let Z=new Map,X=new Map;for(let[J,G]of this.descriptorRegistrations){if(G.length>1){if(!$)continue;throw Df("Channel",J,G)}let Y=G[0]?.descriptor;if(Y)Z.set(J,Y)}for(let[J,G]of this.providerRegistrations){if(G.length>1){if(!$)continue;throw Df("Delivery provider for channel",J,G)}if(!Z.has(J)){if($)throw Error(`Delivery provider for channel "${J}" has no descriptor`);continue}let Y=this.descriptorRegistrations.get(J)?.[0]?.pluginId,W=G[0]?.pluginId;if(Y!==W){if($)throw Error(`Delivery provider for channel "${J}" must be registered by descriptor owner "${Y??"unknown"}", not "${W??"unknown"}"`);continue}let D=G[0]?.provider;if(D)X.set(J,D)}this.activeDescriptors=Z,this.activeProviders=X}assertRegistrationOpen(){if(this.finalized)throw Error("Channel registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Channel registry is not finalized")}}function Wf($){let Z=$.trim();if(!Z)throw Error("Channel registration plugin id is required");return Z}function AF($){let Z=$.trim();if(!Hf.test(Z))throw Error(`Invalid channel type: ${$}`);return Z}function Df($,Z,X){let J=X.map((G)=>G.pluginId).sort().join(", ");return Error(`${$} "${Z}" is registered by multiple plugins: ${J}`)}var Af=/[\s\\\p{Cc}\p{Cf}]/u;function LY($){if(typeof $!=="string"||$!==$.trim()||$.length===0||$.length>2048||!$.startsWith("/")||$.startsWith("//")||Af.test($))return;try{let Z=new URL($,"https://brains.invalid");if(Z.origin!=="https://brains.invalid")return;let X=`${Z.pathname}${Z.search}${Z.hash}`;return X.length>0&&X.length<=2048&&X.startsWith("/")&&!X.startsWith("//")&&!Af.test(X)?X:void 0}catch{return}}function jS$($,Z,X={}){let J=LY($);if(!J)return;let G=new URL(J,"https://brains.invalid");if(X.replace)G.search="",G.hash="";for(let[Y,W]of Z)G.searchParams.set(Y,W);return LY(`${G.pathname}${G.search}${G.hash}`)}var a2$=/^[a-z][a-z0-9-]*$/,f8=H.string().trim().regex(a2$),KF=H.string().trim().min(1).max(300),Kf=H.enum(["high","normal"]),VF=f8.max(40),QF=f8.max(40),Vf=H.strictObject({value:QF,label:H.string().trim().min(1).max(100)}),Qf=H.strictObject({key:VF,label:H.string().trim().min(1).max(100),values:H.array(Vf).min(1).max(20)}).superRefine(($,Z)=>{let X=new Set;for(let J of $.values){if(X.has(J.value))Z.addIssue({code:"custom",path:["values"],message:`Duplicate inbox facet value: ${J.value}`});X.add(J.value)}}),Of=H.array(Qf).max(8).superRefine(($,Z)=>{let X=new Set;for(let J of $){if(X.has(J.key))Z.addIssue({code:"custom",path:[],message:`Duplicate inbox facet key: ${J.key}`});X.add(J.key)}}),OF=H.record(VF,QF).refine(($)=>Object.keys($).length<=8,{message:"Inbox items may declare at most eight facets"}),Bf=H.strictObject({id:f8,label:H.string().trim().min(1).max(100),confirm:H.boolean().optional()}),Nf=H.strictObject({entityType:H.string().trim().min(1).max(100),entityId:H.string().trim().min(1).max(300)}),_f=H.strictObject({label:H.string().trim().min(1).max(300),personId:H.string().trim().min(1).max(200).optional()}),lA=H.strictObject({id:KF,title:H.string().trim().min(1).max(160),summary:H.string().trim().min(1).max(1000).optional(),contact:_f.optional(),threadOrdinal:H.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),receivedAt:H.iso.datetime(),urgency:Kf,entityRef:Nf.optional(),facets:OF.optional(),actions:H.array(Bf).max(10)}).superRefine(($,Z)=>{let X=new Set;for(let J of $.actions){if(X.has(J.id))Z.addIssue({code:"custom",path:["actions"],message:`Duplicate inbox action id: ${J.id}`});X.add(J.id)}}),Pf=H.array(lA).max(1000),iA=H.strictObject({permissionLevel:H.enum(["admin","trusted","public"])}),t2$=H.strictObject({sourceId:f8,displayName:H.string().trim().min(1).max(100)}),Ff=H.strictObject({sourceId:f8,displayName:H.string().trim().min(1).max(100),facets:Of.optional()});class Tf{registrations=new Map;activeSources=new Map;finalized=!1;registerSource($,Z){this.assertRegistrationOpen();let X=JG$($),J=Ff.parse({sourceId:Z.sourceId,displayName:Z.displayName,...Z.facets?{facets:Z.facets}:{}});if(typeof Z.list!=="function"||typeof Z.act!=="function")throw Error("Inbox source operations are required");let G=e2$(J,J.facets??[],Z),Y=this.registrations.get(J.sourceId)??[];Y.push({pluginId:X,source:G}),this.registrations.set(J.sourceId,Y)}unregisterPlugin($){let Z=$.trim();for(let[X,J]of this.registrations){let G=J.filter((Y)=>Y.pluginId!==Z);if(G.length===0)this.registrations.delete(X);else this.registrations.set(X,G)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listSources(){return this.assertFinalized(),[...this.activeSources.values()].sort(($,Z)=>$.sourceId.localeCompare(Z.sourceId))}getSource($){return this.assertFinalized(),this.activeSources.get(GG$($))}isFinalized(){return this.finalized}rebuildActiveState($){let Z=new Map;for(let[X,J]of this.registrations){if(J.length>1){if(!$)continue;let Y=J.map((W)=>W.pluginId).sort().join(", ");throw Error(`Inbox source "${X}" is registered by multiple plugins: ${Y}`)}let G=J[0]?.source;if(G)Z.set(X,G)}this.activeSources=Z}assertRegistrationOpen(){if(this.finalized)throw Error("Inbox registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Inbox registry is not finalized")}}function e2$($,Z,X){let J=ZG$(Z),G=XG$(J);return Object.freeze({...$,...J.length>0?{facets:J}:{},list:async()=>{let Y=Pf.parse(await X.list());for(let W of Y)if(W.facets!==void 0)G.parse(W.facets);return Y.map($G$)},act:async(Y,W,D)=>{let U=KF.parse(Y),A=f8.parse(W);await X.act(U,A,iA.parse(D))}})}function $G$($){let Z=$.actions.map((X)=>Object.freeze({...X}));return Object.freeze(Z),Object.freeze({...$,...$.contact?{contact:Object.freeze({...$.contact})}:{},...$.entityRef?{entityRef:Object.freeze({...$.entityRef})}:{},...$.facets?{facets:Object.freeze({...$.facets})}:{},actions:Z})}function ZG$($){let Z=$.map((X)=>{let J=X.values.map((G)=>Object.freeze({...G}));return Object.freeze(J),Object.freeze({...X,values:J})});return Object.freeze(Z),Z}function XG$($){let Z=new Map($.map((X)=>[X.key,new Set(X.values.map((J)=>J.value))]));return OF.superRefine((X,J)=>{for(let[G,Y]of Object.entries(X))if(!Z.get(G)?.has(Y))J.addIssue({code:"custom",path:[G],message:`Undeclared inbox facet value: ${G}=${Y}`})})}function JG$($){let Z=$.trim();if(!Z)throw Error("Inbox registration plugin id is required");return Z}function GG$($){return f8.parse($)}var YG$=2048,WG$=8192,DG$=H.strictObject({kind:f8,label:H.string().trim().min(1).max(100),priority:H.number().int().min(0).max(1000),mode:H.enum(["universal","declared"]),permissionLevel:H.enum(["admin","trusted","public"]),contextSchema:H.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)&&typeof $.safeParse==="function").optional(),applies:H.custom(($)=>typeof $==="function"),resolve:H.custom(($)=>typeof $==="function")}).superRefine(($,Z)=>{if($.mode==="declared"&&$.contextSchema===void 0)Z.addIssue({code:"custom",path:["contextSchema"],message:"Declared inbox follow-up kinds require a context schema"});if($.mode==="universal"&&$.contextSchema!==void 0)Z.addIssue({code:"custom",path:["contextSchema"],message:"Universal inbox follow-up kinds cannot accept context"})}),HG$=H.strictObject({href:H.string(),state:H.unknown().optional()}),Mf=H.record(H.string(),H.json()).refine(($)=>new TextEncoder().encode(JSON.stringify($)).byteLength<=WG$,{message:"Inbox follow-up state is too large"}),UG$=H.strictObject({kind:f8,label:H.string().trim().min(1).max(100),href:H.string().min(1).max(YG$).refine(($)=>LY($)===$),state:Mf.optional()});class zf{registrations=new Map;activeKinds=new Map;finalized=!1;logger;constructor($){this.logger=$}registerKind($,Z){this.assertRegistrationOpen();let X=OG$($),J=Object.freeze(DG$.parse(Z)),G=this.registrations.get(J.kind)??[];G.push({pluginId:X,kind:J}),this.registrations.set(J.kind,G)}unregisterPlugin($){let Z=$.trim();for(let[X,J]of this.registrations){let G=J.filter((Y)=>Y.pluginId!==Z);if(G.length===0)this.registrations.delete(X);else this.registrations.set(X,G)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listKinds(){return this.assertFinalized(),[...this.activeKinds.values()].sort(QG$)}getKind($){return this.assertFinalized(),this.activeKinds.get(f8.parse($))}async resolveUniversal($){this.assertFinalized();let Z=Object.freeze({sourceId:f8.parse($.sourceId),item:lA.parse($.item),actor:iA.parse($.actor)});return(await Promise.all(this.listKinds().filter((J)=>J.mode==="universal").map(async(J)=>AG$(J,Z,this.logger)))).filter((J)=>J!==void 0)}isFinalized(){return this.finalized}rebuildActiveState($){let Z=new Map;for(let[X,J]of this.registrations){if(J.length>1){if(!$)continue;let Y=J.map((W)=>W.pluginId).sort().join(", ");throw Error(`Inbox follow-up kind "${X}" is registered by multiple plugins: ${Y}`)}let G=J[0]?.kind;if(G)Z.set(X,G)}this.activeKinds=Z}assertRegistrationOpen(){if(this.finalized)throw Error("Inbox follow-up registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Inbox follow-up registry is not finalized")}}async function AG$($,Z,X){if(!QY.hasPermission(Z.actor.permissionLevel,$.permissionLevel))return;try{if(!await $.applies(Z))return;let J=await $.resolve(Z);if(!J)return;let G=KG$(J);return Object.freeze({kind:$.kind,label:$.label,href:G.href,...G.state?{state:G.state}:{}})}catch(J){X?.debug("Inbox follow-up kind did not resolve",{kind:$.kind,sourceId:Z.sourceId,error:J});return}}function KG$($){let Z=HG$.parse($),X=LY(Z.href);if(!X)throw Error("Invalid inbox follow-up target");let J=Z.state===void 0?void 0:VG$(Z.state);return{href:X,...J?{state:J}:{}}}function VG$($){return Object.freeze(Mf.parse($))}function QG$($,Z){return $.priority-Z.priority||$.kind.localeCompare(Z.kind)}function OG$($){let Z=$.trim();if(!Z)throw Error("Inbox follow-up registration plugin id is required");return Z}var BG$={pluginsRegistered:"system:plugins:registered",initialSyncCompleted:"sync:initial:completed",shellReady:"system:shell:ready"};function NG$($){return H.discriminatedUnion("success",[H.strictObject({success:H.literal(!0),data:$}),H.strictObject({success:H.literal(!1),error:H.string().min(1)})])}function _G$($){return{name:$.name,description:$.description,inputSchema:$.inputSchema,outputSchema:$.outputSchema,visibility:"admin",sideEffects:"none",handler:async(Z,X)=>{if(X.userPermissionLevel!=="admin")return{success:!1,error:$.errors.permission};let J=$.filterSchema.safeParse(Z);if(!J.success)return{success:!1,error:$.errors.invalidFilter};try{return{success:!0,data:await $.list(J.data)}}catch{return{success:!1,error:$.errors.failed}}}}}function PG$($){return{register:(Z,X,J)=>{return $.register(Z,X,J)},resolve:(Z)=>{return $.resolve(Z)},hasProvider:(Z,X)=>{return $.has(Z,X)},getProviderMetadata:(Z,X)=>{return $.getMetadata(Z,X)}}}class BF{providers=new Map;static createFresh(){return new BF}constructor(){}register($,Z,X){return this.getOrCreateSourceProviders($).set(Z,X),()=>{this.unregister($,Z)}}async resolve($){let Z=this.get($.sourceEntityType,$.attachmentType);if(!Z)return;return Z.resolve($)}get($,Z){return this.providers.get($)?.get(Z)}has($,Z){return this.get($,Z)!==void 0}getMetadata($,Z){return this.get($,Z)?.metadata}unregister($,Z){let X=this.providers.get($);if(!X)return;if(X.delete(Z),X.size===0)this.providers.delete($)}getRegisteredAttachmentTypes($){return Array.from(this.providers.get($)?.keys()??[])}clear(){this.providers.clear()}getOrCreateSourceProviders($){let Z=this.providers.get($);if(Z)return Z;let X=new Map;return this.providers.set($,X),X}}import{mkdir as FG$,readdir as TG$,readFile as Rf,rm as wf,stat as MG$,writeFile as Cf}from"fs/promises";import{basename as zG$,dirname as RG$,join as x4}from"path";var sA=/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Lf=86400000,qf=200;class V7 extends Error{code;constructor($,Z){super(Z);this.code=$,this.name="RuntimeUploadStoreError"}}var wG$=H.object({id:H.string().regex(sA),ref:H.object({kind:H.string().min(1),id:H.string().regex(sA)}),filename:H.string().min(1),mediaType:H.string().min(1),sizeBytes:H.number().nonnegative(),createdAt:H.string().datetime(),metadata:H.record(H.string(),H.unknown()).optional()});function CG$($){return{scoped:(Z)=>$.scoped(Z)}}function Ef($){return zG$($)==="brain-data"?x4(RG$($),"data"):$}class NF{dataDir;constructor($){this.dataDir=Ef($.dataDir)}static createFresh($){return new NF($)}scoped($){return new _F({...$,dataDir:this.dataDir})}}class _F{options;retentionMs;maxCount;createUploadId;getNow;constructor($){this.options=$,this.retentionMs=$.retentionMs??Lf,this.maxCount=$.maxCount??qf,this.createUploadId=$.createId??(()=>`upload-${crypto.randomUUID()}`),this.getNow=$.now??(()=>new Date)}async save($){let Z=this.createUploadId();this.assertValidUploadId(Z);let X={id:Z,ref:{kind:this.options.refKind,id:Z},filename:$.filename,mediaType:$.mediaType,sizeBytes:$.content.byteLength,createdAt:this.getNow().toISOString(),...$.metadata!==void 0&&{metadata:$.metadata}},J=this.getUploadDir(Z);return await FG$(J,{recursive:!0}),await Cf(x4(J,"content"),$.content),await Cf(x4(J,"metadata.json"),`${JSON.stringify(X,null,2)}
122
+ ${Z}`}function um($,Z){let X=$.match(U2$)??[];return[...new Set(X)].filter((J)=>{try{let{hostname:G}=new URL(J);return!Z.some((Y)=>G===Y||G.endsWith(`.${Y}`))}catch{return!1}})}function WJ($,Z){let X=$.attachment.source;if((X?.entityType==="document"||X?.entityType==="image")&&X.entityId)return{entityType:X.entityType,id:X.entityId};return JF($.attachment.downloadUrl??$.attachment.url,Z)}function JF($,Z="http://local"){if(!$)return;let X;try{X=new URL($,Z)}catch{return}let J=X.searchParams.get("id")?.trim();if(!J)return;if(X.pathname==="/api/chat/attachments/document")return{entityType:"document",id:J};if(X.pathname==="/api/chat/attachments/image")return{entityType:"image",id:J};return}function mA($,Z){let X=K2$(Z,$==="document"?/^application\/pdf$/i:/^image\/[a-z0-9.+-]+$/i);if(!X)return;if($==="document"&&X.mimeType.toLowerCase()!=="application/pdf")return;return X}function fA($,Z,X,J){let G=$?.filename;if(typeof G==="string"&&G.trim())return G;if(X==="document")return`${Z}.pdf`;let Y=$?.format;if(typeof Y==="string"&&Y.trim())return`${Z}.${Y==="jpeg"?"jpg":Y}`;let W=J.split("/")[1]?.split("+")[0]??"png";return`${Z}.${W}`}function K2$($,Z){let X=$.match(/^data:([^;]+);base64,(.+)$/i),J=X?.[1],G=X?.[2];if(!J||!G||!Z.test(J))return;let Y=Buffer.from(G,"base64");return{mimeType:J,data:Y.buffer.slice(Y.byteOffset,Y.byteOffset+Y.byteLength)}}async function zY({entityRef:$,userLevel:Z,getEntity:X,getVisibleEntity:J}){let G=L9(Z),Y=await J($,G);if(Y)return{status:"visible",entity:Y};return Boolean(await X($))?{status:"denied"}:{status:"missing"}}function cA($){return $==="admin"||$==="trusted"}async function om($){let Z=new Set;for(let X of $.cards??[]){if(X.kind!=="attachment")continue;let J=WJ(X,$.displayBaseUrl);if(!J)continue;if((await zY({entityRef:J,userLevel:$.userLevel,getEntity:$.getEntity,getVisibleEntity:$.getVisibleEntity})).status==="denied")Z.add(X.id)}return Z}class RY extends YJ{createContext($,Z){return nP($,this.id,Z)}isUploadableTextFile($,Z){return fm($,Z)}isFileSizeAllowed($){return cm($)}formatFileUploadMessage($,Z){return dm($,Z)}getMaxFileUploadBytes(){return ZF}isLikelyTextContent($){return pm($)}async resolveNativeArtifactDelivery($){let Z=[],X=new Set;if(!this.context||!$.cards)return{files:Z,deniedCardIds:X};let J=this.context;for(let G of $.cards){if(G.kind!=="attachment")continue;let Y=WJ(G,$.displayBaseUrl);if(!Y)continue;let W=await zY({entityRef:Y,userLevel:$.userPermissionLevel,getEntity:(U)=>J.entityService.getEntity(U),getVisibleEntity:(U,A)=>J.entityService.getEntity({...U,visibilityScope:A})});if(W.status==="denied"){X.add(G.id);continue}if(W.status!=="visible")continue;if(!cA($.userPermissionLevel))continue;if(typeof W.entity.content!=="string")continue;let D=mA(Y.entityType,W.entity.content);if(!D)continue;if($.maxBytes!==void 0&&D.data.byteLength>$.maxBytes){this.logger.debug("Skipping oversized native artifact upload",{cardId:G.id,sizeBytes:D.data.byteLength});continue}Z.push({cardId:G.id,data:new Uint8Array(D.data),filename:G.attachment.filename??fA(W.entity.metadata,Y.id,Y.entityType,D.mimeType),mimeType:D.mimeType})}return{files:Z,deniedCardIds:X}}extractCaptureableUrls($,Z){return um($,Z)}async captureUrlViaAgent($,Z,X,J,G){if(!this.context)return;let Y=this.context.permissions.getUserLevel(J,X,G);await this.context.agent.chat(`Save this link: ${$}`,`links-${Z}`,{userPermissionLevel:Y,interfaceType:J,channelId:Z})}progress=new $F({interfaceId:()=>this.id,logger:()=>this.logger,sendMessageToChannel:($)=>this.sendMessageToChannel($),sendMessageWithId:($)=>this.sendMessageWithId($),editMessage:($)=>this.editMessage($),supportsMessageEditing:()=>this.supportsMessageEditing(),formatProgressOutput:($)=>this.formatProgressOutput($),formatCompletionOutput:($)=>this.formatCompletionOutput($),onProgressUpdate:($)=>this.onProgressUpdate($),handleToolStatusUpdate:($)=>this.handleToolStatusUpdate($)});sendMessageToChannel($){return}sendMessageWithId($){return Promise.resolve(void 0)}editMessage($){return Promise.resolve(!1)}supportsMessageEditing(){return!1}registerProgressCallback($){this.progress.registerProgressCallback($)}unregisterProgressCallback(){this.progress.unregisterProgressCallback()}hasProgressCallback(){return this.progress.hasProgressCallback()}trackAgentResponseForJob($,Z,X){this.progress.trackAgentResponseForJob($,Z,X)}async onRegister($){await super.onRegister($),rP($,{onProgress:async(Z,X)=>{await this.handleProgressEvent(Z,X)},onError:(Z)=>{this.logger.error("Error handling progress event",{error:Z,interfaceId:this.id})},onInvalidSchema:()=>{this.logger.warn("Invalid progress event schema",{interfaceId:this.id})}}),sP($,{onToolActivity:async(Z)=>{await this.handleToolActivityEvent(Z)},onError:(Z)=>{this.logger.error("Error handling tool activity event",{error:Z,interfaceId:this.id})},onInvalidSchema:()=>{this.logger.warn("Invalid tool activity event schema",{interfaceId:this.id})}}),this.logger.debug("Message interface registered with progress and tool handlers",{id:this.id})}async onShutdown(){await this.progress.close(),await super.onShutdown()}async handleProgressEvent($,Z){await this.progress.handleProgressEvent($)}formatProgressOutput($){return iP($)}formatCompletionOutput($){return lP($)}async onProgressUpdate($){}async handleToolActivityEvent($){await this.progress.handleToolActivityEvent($)}async handleToolStatusUpdate($){}async handleAgentResponseToolStatuses($,Z){await this.progress.handleAgentResponseToolStatuses($,Z)}getProgressEvents(){return this.progress.getProgressEvents()}getActiveProgressEvents(){return this.progress.getActiveProgressEvents()}startProcessingInput($=null){this.progress.startProcessingInput($)}endProcessingInput(){this.progress.endProcessingInput()}getCurrentChannelId(){return this.progress.getCurrentChannelId()}}function GF($){if(typeof $==="string")return{text:$};return{text:$.fallbackText??"Message update"}}async function V2$($,Z){let X=await fetch($.url,{signal:Z});if(!X.ok)throw Error(`Attachment "${$.name}" could not be downloaded (${X.status})`);let J=new Uint8Array(await X.arrayBuffer());if($.mediaType.startsWith("text/"))return{kind:"text",filename:$.name,mediaType:$.mediaType,content:new TextDecoder().decode(J),sizeBytes:J.byteLength};return{kind:"file",filename:$.name,mediaType:$.mediaType,data:J,sizeBytes:J.byteLength}}class rm extends RY{definition;accountSettingsRegistration;hasRequiredDaemon=!1;state;constructor($,Z,X,J){super(J,X,Z,GJ());this.definition=$}async onRegister($){if(await super.onRegister($),this.definition.accountSettings)this.accountSettingsRegistration=$.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});if(this.state=this.definition.setup?await this.definition.setup({config:this.config}):Object.freeze({}),$.channels.registerDescriptor({type:this.definition.channel.type,displayName:this.definition.channel.displayName,subjectLabel:this.definition.channel.subjectLabel,...this.definition.deliver?{manualDelivery:!0}:{}}),this.definition.deliver)$.channels.registerDeliveryProvider({channelType:this.definition.channel.type,isAvailable:()=>Promise.resolve(this.state!==void 0),send:(J)=>this.deliver(J)});let Z=this.definition.daemons?.({config:this.config,state:this.requireState()})??[],X=new Set;for(let J of Z){if(X.has(J.id)||J.id==="listener")throw Error(`Message interface "${this.definition.id}" defines daemon "${J.id}" more than once`);if(X.add(J.id),this.hasRequiredDaemon||=J.required,J.forAccounts){if(J.forAccounts!==this.definition.accountSettings)throw Error(`Message interface "${this.definition.id}" account-bound daemon "${J.id}" must reference its attached account settings`);let G=this.accountSettingsRegistration;if(!G)throw Error(`Message interface "${this.definition.id}" account-bound daemon "${J.id}" has no registered account settings`);$.daemons.register(J.id,bA(J,G,$.accountSettings));continue}$.daemons.register(J.id,FY(J))}if(this.definition.listen)$.daemons.register("listener",FY({kind:"rizom-interface-daemon",id:"listener",required:!1,run:({signal:J,health:G})=>this.definition.listen?.({config:this.config,state:this.requireState(),signal:J,health:G,messages:{receiveAuthenticated:(Y)=>this.receiveAuthenticated(Y,J)}})??Promise.resolve()}))}async onRegistrationComplete($){if(this.accountSettingsRegistration&&!$.accountSettings.hasBackend())throw Error(`Message interface "${this.definition.id}" account settings require auth-service and an account settings encryption key`)}requiresDaemonStartup(){return this.hasRequiredDaemon}sendMessageToChannel($){let Z=$.channelId,X=this.definition.send;if(!Z||!X)return;Promise.resolve().then(()=>X({config:this.config,state:this.requireState(),channel:{id:Z},message:GF($.message)})).catch((J)=>{this.logger.error("Message delivery failed",{error:J})})}async sendMessageWithId($){if(!$.channelId||!this.definition.send)return;let Z=await this.definition.send({config:this.config,state:this.requireState(),channel:{id:$.channelId},message:GF($.message)});return typeof Z==="string"?Z:void 0}async editMessage($){if(!$.channelId||!this.definition.edit)return!1;return await this.definition.edit({config:this.config,state:this.requireState(),channel:{id:$.channelId},messageId:$.messageId,message:GF($.newMessage)}),!0}supportsMessageEditing(){return this.definition.edit!==void 0}async onShutdown(){this.accountSettingsRegistration=void 0,this.hasRequiredDaemon=!1,this.state=void 0,await super.onShutdown()}requireState(){if(!this.state)throw Error(`Message interface "${this.definition.id}" has not completed setup`);return this.state}async deliver($){if(!this.definition.deliver)return{status:"failed",failureCode:"delivery_not_supported"};try{let Z=this.parseRecipient($.recipient),X=await this.definition.deliver({config:this.config,state:this.requireState(),recipient:Z,message:{text:$.text}});return{status:"sent",...typeof X==="string"?{providerDeliveryId:X}:{}}}catch(Z){return this.logger.warn("Outbound channel delivery failed",{error:Z}),{status:"failed",failureCode:"delivery_failed"}}}parseRecipient($){let Z=this.definition.channel.recipient.safeParse($);if(Z.success)return Z.data;try{let Y=this.definition.channel.recipient.safeParse(JSON.parse($));if(Y.success)return Y.data}catch{}let X=Reflect.get(this.definition.channel.recipient,"shape"),J=X!==null&&typeof X==="object"?Object.keys(X):[],G=J.length===1?J[0]:void 0;if(G)return this.definition.channel.recipient.parse({[G]:$});return this.definition.channel.recipient.parse($)}async receiveAuthenticated($,Z){if(!$.sender.id.trim()||!$.channel.id.trim())throw Error("Authenticated messages require sender and channel ids");let X=this.getContext(),J=this.definition.channel.type,G=X.permissions.getUserLevel(J,$.sender.id),Y=X.permissions.isAnchor(J,$.sender.id),W=[J,$.channel.id,$.channel.threadId].filter((U)=>U!==void 0).join(":"),D=[];if($.attachments){let U=await $.attachments();for(let A of U)D.push(await V2$(A,Z))}this.startProcessingInput($.channel.id);try{let U=await X.agent.chat($.text,W,{userPermissionLevel:G,isAnchor:Y,interfaceType:J,channelId:$.channel.id,actor:{identity:{kind:"external",externalActorId:nm(J,$.sender.id)},interfaceType:J,role:"user",...$.sender.displayName?{displayName:$.sender.displayName}:{}},source:{channelId:$.channel.id,...$.channel.threadId?{threadId:$.channel.threadId}:{}},...D.length>0?{attachments:D}:{}},Z),A=await this.sendMessageWithId({channelId:$.channel.id,message:U.text});if(A){for(let Q of U.toolResults??[])if(Q.jobId)this.trackAgentResponseForJob(Q.jobId,A,$.channel.id)}await this.handleAgentResponseToolStatuses(U,W)}finally{this.endProcessingInput()}}}function lm($,Z,X,J){return new rm($,Z,X,J)}function Q2$($){return Object.freeze({kind:"protocol",...$})}function O2$($){if(!vm.includes($.method))throw Error(`Unsupported interface route method "${$.method}"`);if(!$.path.startsWith("/"))throw Error(`Interface route path "${$.path}" must be absolute`);return Object.freeze({kind:"rizom-interface-route",...$})}function B2$($){uZ($.id,"Daemon id");let{required:Z=!1,...X}=$;return Object.freeze({kind:"rizom-interface-daemon",...X,required:Z})}function N2$($){return h9({family:"interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Im($,Z,X,J($.id))})}function _2$($){if(uZ($.channel.type,"Channel type"),$.listen&&!$.send)throw Error(`Message interface "${$.id}" must define send when it defines listen`);if($.edit&&!$.send)throw Error(`Message interface "${$.id}" must define send when it defines edit`);return h9({family:"message-interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>lm($,Z,X,J($.id))})}var YF=H.object({kind:H.string().min(1),id:H.string().min(1)}),im=H.object({kind:H.literal("text"),filename:H.string().min(1),mediaType:H.string().min(1),content:H.string(),sizeBytes:H.number().nonnegative().optional(),source:YF.optional()}),S2$=H.custom(($)=>$ instanceof Uint8Array),j2$=H.object({kind:H.literal("file"),filename:H.string().min(1),mediaType:H.string().min(1),data:S2$,sizeBytes:H.number().nonnegative().optional(),source:YF.optional()}),sm=H.discriminatedUnion("kind",[im,j2$]),k2$=H.object({userPermissionLevel:H.enum(["admin","trusted","public"]).optional(),isAnchor:H.boolean().optional(),interfaceType:H.string().optional(),channelId:H.string().optional(),channelName:H.string().optional(),actor:UY.optional(),source:AY.optional(),attachments:H.array(sm).optional()});var I2$=H.object({status:H.enum(["healthy","warning","error","unknown"]),message:H.string().optional(),lastCheck:H.date().optional(),details:H.record(H.string(),H.unknown()).optional()}),am=H.object({name:H.string(),pluginId:H.string(),status:H.string(),health:I2$.optional()});var tm=H.enum(["admin","trusted","public"]),wY=H.object({label:H.string(),url:H.string(),pluginId:H.string(),priority:H.number().default(100),visibility:tm.default("public")}),WF=H.enum(["human","agent","admin","protocol"]),DF=H.enum(["available","coming-soon","disabled"]),CY=H.object({id:H.string(),label:H.string(),description:H.string().optional(),href:H.string(),kind:WF,pluginId:H.string(),priority:H.number().default(100),visibility:tm.default("public"),status:DF.default("available")}),oA=H.object({entityType:H.string(),count:H.number()}),HF=H.object({status:H.enum(["operational","degraded"]),reasons:H.array(H.string()),worker:H.object({state:H.enum(["active","missing","stale"]),activeSessions:H.number().int().nonnegative(),staleSessions:H.number().int().nonnegative(),latestHeartbeatAgeMs:H.number().nonnegative().nullable()}),queue:H.object({duePending:H.number().int().nonnegative(),processing:H.number().int().nonnegative(),oldestDuePendingAgeMs:H.number().nonnegative().nullable(),latestClaimAgeMs:H.number().nonnegative().nullable(),stalled:H.boolean()})}),em=H.object({model:H.string(),version:H.string(),uptime:H.number(),entities:H.number(),entityCounts:H.array(oA),embeddings:H.number(),backgroundWork:HF,ai:H.object({model:H.string(),embeddingModel:H.string()}),daemons:H.array(am),endpoints:H.array(wY),interactions:H.array(CY)});var v2$=H.object({status:H.enum(["healthy","warning","error","unknown"]),message:H.string().optional(),lastCheck:H.string().optional(),details:H.record(H.string(),H.unknown()).optional()}),y2$=H.object({name:H.string(),pluginId:H.string(),status:H.string(),health:v2$.optional()}),b2$=H.object({model:H.string(),version:H.string(),uptime:H.number(),entities:H.number(),entityCounts:H.array(oA),embeddings:H.number(),ai:H.object({model:H.string(),embeddingModel:H.string()}),daemons:H.array(y2$),endpoints:H.array(wY),interactions:H.array(CY)});var nA=H.object({name:H.string().min(1),status:H.enum(["healthy","degraded","unhealthy"]),message:H.string().optional(),details:H.record(H.string(),H.unknown()).optional()}),$f=H.object({totals:H.object({pending:H.number().int().nonnegative(),processing:H.number().int().nonnegative(),completed:H.number().int().nonnegative(),failed:H.number().int().nonnegative()}),byType:H.array(H.object({type:H.string().min(1),status:H.enum(["pending","processing","completed","failed"]),count:H.number().int().nonnegative()})),oldestPendingAgeMs:H.number().nonnegative().nullable(),duePending:H.number().int().nonnegative(),oldestDuePendingAgeMs:H.number().nonnegative().nullable(),latestClaimAgeMs:H.number().nonnegative().nullable(),oldestProcessingAgeMs:H.number().nonnegative().nullable(),staleLeaseCount:H.number().int().nonnegative(),workerSessions:H.object({total:H.number().int().nonnegative(),active:H.number().int().nonnegative(),stale:H.number().int().nonnegative(),latestHeartbeatAgeMs:H.number().nonnegative().nullable()})}),Zf=H.object({memory:H.object({rssBytes:H.number().int().nonnegative(),heapUsedBytes:H.number().int().nonnegative(),heapTotalBytes:H.number().int().nonnegative()}),fileDescriptors:H.number().int().nonnegative().nullable(),processes:H.object({total:H.number().int().nonnegative().nullable(),zombies:H.number().int().nonnegative().nullable()}),queue:$f.nullable(),projection:H.object({initialized:H.boolean(),trackedRoots:H.number().int().nonnegative(),openCircuits:H.array(H.object({projectionId:H.string().min(1),reason:H.string().min(1),openedAt:H.number().int().nonnegative(),expiresAt:H.number().int().nonnegative()}))}),worker:H.object({total:H.number().int().nonnegative(),active:H.number().int().nonnegative(),stale:H.number().int().nonnegative(),latestHeartbeatAgeMs:H.number().nonnegative().nullable()})}),g2$=H.object({status:H.enum(["ready","not_ready"]),operationalStatus:H.enum(["operational","degraded"]),checkedAt:H.iso.datetime(),checks:H.array(nA),resources:Zf});var h2$=H.union([H.object({success:H.boolean(),data:H.unknown().optional(),error:H.string().optional()}),H.object({noop:H.literal(!0)})]),m2$=H.object({id:H.string(),timestamp:H.string(),type:H.string(),source:H.string(),target:H.string().optional(),metadata:yG.optional()});async function f2$({context:$,targetType:Z,desired:X,getId:J,toEntityInput:G,equals:Y,deleteStale:W=!1,outputVisibility:D="public",concurrency:U=1,logger:A}){let Q=new Map;for(let l of X)Q.set(J(l),l);let O=(await $.entityService.listEntities({entityType:Z,options:{filter:{visibilityScope:D}}})).filter((l)=>l.visibility===D),P=new Map(O.map((l)=>[l.id,l])),N=0,M=0,w=0,q=0,K$=Math.max(1,U);if(W){let l=O.filter((J$)=>!Q.has(J$.id));await Xf(l,K$,async(J$)=>{await $.entityService.deleteEntity({entityType:Z,id:J$.id}),w++})}return await Xf(Array.from(Q),K$,async([l,J$])=>{let B$=P.get(l),h$={...G(J$,l),visibility:D};try{if(!B$){await $.entityService.createEntity({entity:h$}),N++;return}if(Y?.(B$,J$)??!1){q++;return}await $.entityService.updateEntity({entity:{...B$,...h$,id:l,entityType:Z,visibility:D}}),M++}catch(A$){A?.error("Failed to reconcile entity",{targetType:Z,id:l,error:d$(A$)})}}),{created:N,updated:M,deleted:w,skipped:q}}async function Xf($,Z,X){let J=await t.runPromiseExit(t.forEach($,(G)=>t.tryPromise({try:()=>X(G),catch:(Y)=>Y}),{concurrency:Z,discard:!0}));if(M0.isFailure(J))throw Y6.squash(J.cause)}async function c2$({entityService:$,entity:Z,options:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:V6("pending entity identity check")});if(J)return{entityId:J.id,created:!1,existingEntity:J};let G=await $.createEntity({entity:Z,...X?{options:X}:{}});return{entityId:G.entityId,created:!0,mutation:G}}async function p2$({entityService:$,entity:Z,expectedContentHash:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:V6("pending entity completion")});if(J){let Y={...J,content:Z.content,metadata:Z.metadata,updated:Z.updated??new Date().toISOString()},W=await $.updateEntity({entity:Y,...X!==void 0?{options:{expectedContentHash:X}}:{}});return{entityId:W.entityId,updated:!0,mutation:W,previousEntity:J}}if(X!==void 0)return{entityId:Z.id,updated:!1,mutation:{entityId:Z.id,jobId:"",skipped:!0,skipReason:"content-conflict"}};let G=await $.createEntity({entity:Z});return{entityId:G.entityId,updated:!1,mutation:G}}async function d2$({entityService:$,entityType:Z,id:X,error:J,content:G}){let Y=await $.getEntity({entityType:Z,id:X,visibilityScope:V6("pending entity failure")});if(!Y)return{found:!1};let W={...Y,content:G??Y.content,metadata:{...Y.metadata,status:"failed",processingError:J},updated:new Date().toISOString()},D=await $.updateEntity({entity:W});return{found:!0,entityId:D.entityId,mutation:D,previousEntity:Y}}var Jf=H.union([H.string(),H.number().finite(),H.boolean(),H.null()]);function u2$($,Z){return Buffer.from(JSON.stringify([$,Z])).toString("base64url")}function rA($,Z){return{packageName:$.packageName,definitionId:$.definitionId,actorId:Z}}function o2$($){let Z=$.replaceAll(/([a-z0-9])([A-Z])/g,"$1 $2").replaceAll(/[-_]+/g," ").trim();return Z?`${Z[0]?.toUpperCase()??""}${Z.slice(1)}`:$}function UF($){return $.schema.shape}function Gf($){let Z=$!==null&&typeof $==="object"?Reflect.get($,"safeParse"):void 0;if(typeof Z!=="function")return{success:!1};let X=Z.call($,void 0);if(X!==null&&typeof X==="object"&&Reflect.get(X,"success")===!0)return{success:!0,data:Reflect.get(X,"data")};return{success:!1}}function n2$($){let Z=Gf($);if(!Z.success)return;let X=Jf.safeParse(Z.data);return X.success?X.data:void 0}function r2$($,Z){let X={};for(let J of Object.keys(UF($))){let G=Reflect.get(Z,J);if(G!==void 0)X[J]=Jf.parse(G)}return Object.freeze(X)}function l2$($,Z){let X=Object.entries($),J=Object.entries(Z);return X.length===J.length&&X.every(([G,Y])=>Object.hasOwn(Z,G)&&Object.is(Y,Z[G]))}class Yf{registrations=new Map;listeners=new Map;mutationTails=new Map;backend;register($){if(!$.ownerPluginId.trim())throw Error("Account settings owner plugin id must not be empty");if(!$.packageName.trim())throw Error("Account settings package name must not be empty");if(!$.definitionId.trim())throw Error("Account settings definition id must not be empty");let Z=u2$($.packageName,$.definitionId),X=this.registrations.get(Z);if(X){if(X.ownerPluginId===$.ownerPluginId&&X.definition===$.definition)return X;throw Error(`Account settings definition "${$.packageName}:${$.definitionId}" is already registered`)}let J=Object.freeze({id:Z,...$});return this.registrations.set(Z,J),J}unregister($){if(this.registrations.get($.id)!==$)return;this.registrations.delete($.id),this.listeners.delete($.id)}bindBackend($){if(this.backend&&this.backend!==$)throw Error("Account settings backend is already bound");this.backend=$;for(let X of this.registrations.values())this.notify(X.id);let Z=!0;return()=>{if(!Z)return;if(Z=!1,this.backend===$)this.backend=void 0}}hasRegistrations(){return this.registrations.size>0}hasBackend(){return this.backend!==void 0}listRegistrations(){return[...this.registrations.values()].sort(($,Z)=>$.id.localeCompare(Z.id))}async listForms($){let Z=[];for(let X of this.listRegistrations()){let J=await this.requireBackend(X).read(rA(X,$));Z.push(this.formFor(X,J))}return Z}async save($,Z,X){let J=this.requireRegistration($);return this.serializeMutation(`${J.id}:${Z}`,async()=>{let G=this.requireBackend(J),Y=rA(J,Z),W=await G.read(Y),D=UF(J.definition),U=Object.keys(X).find((N)=>!Object.hasOwn(D,N));if(U)throw Error(`Account settings field "${U}" is not declared by "${J.packageName}:${J.definitionId}"`);let A={};for(let N of Object.keys(D)){let M=J.definition.fields[N]?.secret===!0;if(!Object.hasOwn(X,N)){if(M&&W?.values[N]!==void 0)A[N]=W.values[N];continue}let w=X[N];if(M&&(w===""||w===void 0)){if(W?.values[N]!==void 0)A[N]=W.values[N];continue}if(w!==void 0)A[N]=w}let Q=J.definition.schema.parse(A),O=r2$(J.definition,Q),P=W&&l2$(W.values,O)?W:await G.write(Y,O);if(P!==W)this.notify(J.id);return this.formFor(J,P)})}async delete($,Z){let X=this.requireRegistration($);return this.serializeMutation(`${X.id}:${Z}`,async()=>{let J=await this.requireBackend(X).delete(rA(X,Z));if(J)this.notify(X.id);return J})}async deleteActor($){let Z=this.backend,X=Z?await Z.deleteActor($):0;return this.refreshActor($),X}accountDeleted($){this.refreshActor($)}refreshActor($){for(let Z of this.registrations.values())this.notify(Z.id)}async getForActor($,Z){this.requireAttached($);let X=await this.requireBackend($).read(rA($,Z));return X?Object.freeze($.definition.schema.parse(X.values)):null}async listConfigured($){return this.requireAttached($),(await this.requireBackend($).list({packageName:$.packageName,definitionId:$.definitionId})).map((X)=>Object.freeze({id:X.actorId,settings:Object.freeze($.definition.schema.parse(X.values)),revision:X.revision}))}subscribe($,Z){this.requireAttached($);let X=this.listeners.get($.id)??new Set;return X.add(Z),this.listeners.set($.id,X),()=>{if(X.delete(Z),X.size===0)this.listeners.delete($.id)}}formFor($,Z){let X=Object.entries(UF($.definition)).map(([J,G])=>{let Y=$.definition.fields[J],W=Y?.secret===!0,D=Z?.values[J],U=D!==void 0?D:n2$(G);return Object.freeze({name:J,label:Y?.label??o2$(J),control:Y?.control??"text",secret:W,required:!Gf(G).success,...W?{set:D!==void 0}:U!==void 0?{value:U}:{}})});return Object.freeze({id:$.id,title:$.definition.title,...$.definition.description?{description:$.definition.description}:{},configured:Z!==null,revision:Z?.revision??null,fields:Object.freeze(X)})}requireRegistration($){let Z=this.registrations.get($);if(!Z)throw Error("Account settings definition not found");return Z}requireAttached($){if(this.registrations.get($.id)!==$)throw Error("Account settings definition is not registered")}requireBackend($){if(!this.backend)throw Error(`Account settings runtime is unavailable for "${$.packageName}:${$.definitionId}"`);return this.backend}notify($){for(let Z of this.listeners.get($)??[])Z()}serializeMutation($,Z){let J=(this.mutationTails.get($)??Promise.resolve()).catch(()=>{return}).then(Z),G=J.then(()=>{return},()=>{return});return this.mutationTails.set($,G),G.finally(()=>{if(this.mutationTails.get($)===G)this.mutationTails.delete($)}),J}}var Hf=/^[a-z][a-z0-9-]*$/,i2$=H.strictObject({source:H.string().min(1).max(500),flags:H.string().regex(/^[imu]*$/).optional()}),s2$=H.strictObject({type:H.string().trim().regex(Hf),displayName:H.string().trim().min(1).max(100),subjectLabel:H.string().trim().min(1).max(100),subjectPattern:i2$.optional(),manualDelivery:H.boolean().optional()});class Uf{descriptorRegistrations=new Map;providerRegistrations=new Map;activeDescriptors=new Map;activeProviders=new Map;finalized=!1;registerDescriptor($,Z){this.assertRegistrationOpen();let X=Wf($),J=s2$.parse(Z);if(J.subjectPattern)new RegExp(J.subjectPattern.source,J.subjectPattern.flags);let G=Object.freeze({type:J.type,displayName:J.displayName,subjectLabel:J.subjectLabel,...J.subjectPattern?{subjectPattern:Object.freeze({...J.subjectPattern})}:{},...J.manualDelivery!==void 0?{manualDelivery:J.manualDelivery}:{}}),Y=this.descriptorRegistrations.get(J.type)??[];Y.push({pluginId:X,descriptor:G}),this.descriptorRegistrations.set(J.type,Y)}registerDeliveryProvider($,Z){this.assertRegistrationOpen();let X=Wf($),J=AF(Z.channelType);if(typeof Z.isAvailable!=="function"||typeof Z.send!=="function")throw Error("Channel delivery provider operations are required");let G=Object.freeze({channelType:J,isAvailable:Z.isAvailable.bind(Z),send:Z.send.bind(Z)}),Y=this.providerRegistrations.get(J)??[];Y.push({pluginId:X,provider:G}),this.providerRegistrations.set(J,Y)}unregisterPlugin($){let Z=$.trim();for(let[X,J]of this.descriptorRegistrations){let G=J.filter((Y)=>Y.pluginId!==Z);if(G.length===0)this.descriptorRegistrations.delete(X);else this.descriptorRegistrations.set(X,G)}for(let[X,J]of this.providerRegistrations){let G=J.filter((Y)=>Y.pluginId!==Z);if(G.length===0)this.providerRegistrations.delete(X);else this.providerRegistrations.set(X,G)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listDescriptors(){return this.assertFinalized(),[...this.activeDescriptors.values()].sort(($,Z)=>$.type.localeCompare(Z.type))}getDescriptor($){return this.assertFinalized(),this.activeDescriptors.get(AF($))}getDeliveryProvider($){return this.assertFinalized(),this.activeProviders.get(AF($))}isFinalized(){return this.finalized}rebuildActiveState($){let Z=new Map,X=new Map;for(let[J,G]of this.descriptorRegistrations){if(G.length>1){if(!$)continue;throw Df("Channel",J,G)}let Y=G[0]?.descriptor;if(Y)Z.set(J,Y)}for(let[J,G]of this.providerRegistrations){if(G.length>1){if(!$)continue;throw Df("Delivery provider for channel",J,G)}if(!Z.has(J)){if($)throw Error(`Delivery provider for channel "${J}" has no descriptor`);continue}let Y=this.descriptorRegistrations.get(J)?.[0]?.pluginId,W=G[0]?.pluginId;if(Y!==W){if($)throw Error(`Delivery provider for channel "${J}" must be registered by descriptor owner "${Y??"unknown"}", not "${W??"unknown"}"`);continue}let D=G[0]?.provider;if(D)X.set(J,D)}this.activeDescriptors=Z,this.activeProviders=X}assertRegistrationOpen(){if(this.finalized)throw Error("Channel registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Channel registry is not finalized")}}function Wf($){let Z=$.trim();if(!Z)throw Error("Channel registration plugin id is required");return Z}function AF($){let Z=$.trim();if(!Hf.test(Z))throw Error(`Invalid channel type: ${$}`);return Z}function Df($,Z,X){let J=X.map((G)=>G.pluginId).sort().join(", ");return Error(`${$} "${Z}" is registered by multiple plugins: ${J}`)}var Af=/[\s\\\p{Cc}\p{Cf}]/u;function LY($){if(typeof $!=="string"||$!==$.trim()||$.length===0||$.length>2048||!$.startsWith("/")||$.startsWith("//")||Af.test($))return;try{let Z=new URL($,"https://brains.invalid");if(Z.origin!=="https://brains.invalid")return;let X=`${Z.pathname}${Z.search}${Z.hash}`;return X.length>0&&X.length<=2048&&X.startsWith("/")&&!X.startsWith("//")&&!Af.test(X)?X:void 0}catch{return}}function jS$($,Z,X={}){let J=LY($);if(!J)return;let G=new URL(J,"https://brains.invalid");if(X.replace)G.search="",G.hash="";for(let[Y,W]of Z)G.searchParams.set(Y,W);return LY(`${G.pathname}${G.search}${G.hash}`)}var a2$=/^[a-z][a-z0-9-]*$/,f8=H.string().trim().regex(a2$),KF=H.string().trim().min(1).max(300),Kf=H.enum(["high","normal"]),VF=f8.max(40),QF=f8.max(40),Vf=H.strictObject({value:QF,label:H.string().trim().min(1).max(100)}),Qf=H.strictObject({key:VF,label:H.string().trim().min(1).max(100),values:H.array(Vf).min(1).max(20)}).superRefine(($,Z)=>{let X=new Set;for(let J of $.values){if(X.has(J.value))Z.addIssue({code:"custom",path:["values"],message:`Duplicate inbox facet value: ${J.value}`});X.add(J.value)}}),Of=H.array(Qf).max(8).superRefine(($,Z)=>{let X=new Set;for(let J of $){if(X.has(J.key))Z.addIssue({code:"custom",path:[],message:`Duplicate inbox facet key: ${J.key}`});X.add(J.key)}}),OF=H.record(VF,QF).refine(($)=>Object.keys($).length<=8,{message:"Inbox items may declare at most eight facets"}),Bf=H.strictObject({id:f8,label:H.string().trim().min(1).max(100),confirm:H.boolean().optional()}),Nf=H.strictObject({entityType:H.string().trim().min(1).max(100),entityId:H.string().trim().min(1).max(300)}),_f=H.strictObject({label:H.string().trim().min(1).max(300),personId:H.string().trim().min(1).max(200).optional()}),lA=H.strictObject({id:KF,title:H.string().trim().min(1).max(160),summary:H.string().trim().min(1).max(1000).optional(),contact:_f.optional(),threadOrdinal:H.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),receivedAt:H.iso.datetime(),urgency:Kf,entityRef:Nf.optional(),facets:OF.optional(),actions:H.array(Bf).max(10)}).superRefine(($,Z)=>{let X=new Set;for(let J of $.actions){if(X.has(J.id))Z.addIssue({code:"custom",path:["actions"],message:`Duplicate inbox action id: ${J.id}`});X.add(J.id)}}),Pf=H.array(lA).max(1000),iA=H.strictObject({permissionLevel:H.enum(["admin","trusted","public"])}),t2$=H.strictObject({sourceId:f8,displayName:H.string().trim().min(1).max(100)}),Ff=H.strictObject({sourceId:f8,displayName:H.string().trim().min(1).max(100),facets:Of.optional()});class Tf{registrations=new Map;activeSources=new Map;finalized=!1;registerSource($,Z){this.assertRegistrationOpen();let X=JG$($),J=Ff.parse({sourceId:Z.sourceId,displayName:Z.displayName,...Z.facets?{facets:Z.facets}:{}});if(typeof Z.list!=="function"||typeof Z.act!=="function")throw Error("Inbox source operations are required");let G=e2$(J,J.facets??[],Z),Y=this.registrations.get(J.sourceId)??[];Y.push({pluginId:X,source:G}),this.registrations.set(J.sourceId,Y)}unregisterPlugin($){let Z=$.trim();for(let[X,J]of this.registrations){let G=J.filter((Y)=>Y.pluginId!==Z);if(G.length===0)this.registrations.delete(X);else this.registrations.set(X,G)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listSources(){return this.assertFinalized(),[...this.activeSources.values()].sort(($,Z)=>$.sourceId.localeCompare(Z.sourceId))}getSource($){return this.assertFinalized(),this.activeSources.get(GG$($))}isFinalized(){return this.finalized}rebuildActiveState($){let Z=new Map;for(let[X,J]of this.registrations){if(J.length>1){if(!$)continue;let Y=J.map((W)=>W.pluginId).sort().join(", ");throw Error(`Inbox source "${X}" is registered by multiple plugins: ${Y}`)}let G=J[0]?.source;if(G)Z.set(X,G)}this.activeSources=Z}assertRegistrationOpen(){if(this.finalized)throw Error("Inbox registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Inbox registry is not finalized")}}function e2$($,Z,X){let J=ZG$(Z),G=XG$(J);return Object.freeze({...$,...J.length>0?{facets:J}:{},list:async()=>{let Y=Pf.parse(await X.list());for(let W of Y)if(W.facets!==void 0)G.parse(W.facets);return Y.map($G$)},act:async(Y,W,D)=>{let U=KF.parse(Y),A=f8.parse(W);await X.act(U,A,iA.parse(D))}})}function $G$($){let Z=$.actions.map((X)=>Object.freeze({...X}));return Object.freeze(Z),Object.freeze({...$,...$.contact?{contact:Object.freeze({...$.contact})}:{},...$.entityRef?{entityRef:Object.freeze({...$.entityRef})}:{},...$.facets?{facets:Object.freeze({...$.facets})}:{},actions:Z})}function ZG$($){let Z=$.map((X)=>{let J=X.values.map((G)=>Object.freeze({...G}));return Object.freeze(J),Object.freeze({...X,values:J})});return Object.freeze(Z),Z}function XG$($){let Z=new Map($.map((X)=>[X.key,new Set(X.values.map((J)=>J.value))]));return OF.superRefine((X,J)=>{for(let[G,Y]of Object.entries(X))if(!Z.get(G)?.has(Y))J.addIssue({code:"custom",path:[G],message:`Undeclared inbox facet value: ${G}=${Y}`})})}function JG$($){let Z=$.trim();if(!Z)throw Error("Inbox registration plugin id is required");return Z}function GG$($){return f8.parse($)}var YG$=2048,WG$=8192,DG$=H.strictObject({kind:f8,label:H.string().trim().min(1).max(100),priority:H.number().int().min(0).max(1000),mode:H.enum(["universal","declared"]),permissionLevel:H.enum(["admin","trusted","public"]),contextSchema:H.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)&&typeof $.safeParse==="function").optional(),applies:H.custom(($)=>typeof $==="function"),resolve:H.custom(($)=>typeof $==="function")}).superRefine(($,Z)=>{if($.mode==="declared"&&$.contextSchema===void 0)Z.addIssue({code:"custom",path:["contextSchema"],message:"Declared inbox follow-up kinds require a context schema"});if($.mode==="universal"&&$.contextSchema!==void 0)Z.addIssue({code:"custom",path:["contextSchema"],message:"Universal inbox follow-up kinds cannot accept context"})}),HG$=H.strictObject({href:H.string(),state:H.unknown().optional()}),Mf=H.record(H.string(),H.json()).refine(($)=>new TextEncoder().encode(JSON.stringify($)).byteLength<=WG$,{message:"Inbox follow-up state is too large"}),UG$=H.strictObject({kind:f8,label:H.string().trim().min(1).max(100),href:H.string().min(1).max(YG$).refine(($)=>LY($)===$),state:Mf.optional()});class zf{registrations=new Map;activeKinds=new Map;finalized=!1;logger;constructor($){this.logger=$}registerKind($,Z){this.assertRegistrationOpen();let X=OG$($),J=Object.freeze(DG$.parse(Z)),G=this.registrations.get(J.kind)??[];G.push({pluginId:X,kind:J}),this.registrations.set(J.kind,G)}unregisterPlugin($){let Z=$.trim();for(let[X,J]of this.registrations){let G=J.filter((Y)=>Y.pluginId!==Z);if(G.length===0)this.registrations.delete(X);else this.registrations.set(X,G)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listKinds(){return this.assertFinalized(),[...this.activeKinds.values()].sort(QG$)}getKind($){return this.assertFinalized(),this.activeKinds.get(f8.parse($))}async resolveUniversal($){this.assertFinalized();let Z=Object.freeze({sourceId:f8.parse($.sourceId),item:lA.parse($.item),actor:iA.parse($.actor)});return(await Promise.all(this.listKinds().filter((J)=>J.mode==="universal").map(async(J)=>AG$(J,Z,this.logger)))).filter((J)=>J!==void 0)}isFinalized(){return this.finalized}rebuildActiveState($){let Z=new Map;for(let[X,J]of this.registrations){if(J.length>1){if(!$)continue;let Y=J.map((W)=>W.pluginId).sort().join(", ");throw Error(`Inbox follow-up kind "${X}" is registered by multiple plugins: ${Y}`)}let G=J[0]?.kind;if(G)Z.set(X,G)}this.activeKinds=Z}assertRegistrationOpen(){if(this.finalized)throw Error("Inbox follow-up registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Inbox follow-up registry is not finalized")}}async function AG$($,Z,X){if(!QY.hasPermission(Z.actor.permissionLevel,$.permissionLevel))return;try{if(!await $.applies(Z))return;let J=await $.resolve(Z);if(!J)return;let G=KG$(J);return Object.freeze({kind:$.kind,label:$.label,href:G.href,...G.state?{state:G.state}:{}})}catch(J){X?.debug("Inbox follow-up kind did not resolve",{kind:$.kind,sourceId:Z.sourceId,error:J});return}}function KG$($){let Z=HG$.parse($),X=LY(Z.href);if(!X)throw Error("Invalid inbox follow-up target");let J=Z.state===void 0?void 0:VG$(Z.state);return{href:X,...J?{state:J}:{}}}function VG$($){return Object.freeze(Mf.parse($))}function QG$($,Z){return $.priority-Z.priority||$.kind.localeCompare(Z.kind)}function OG$($){let Z=$.trim();if(!Z)throw Error("Inbox follow-up registration plugin id is required");return Z}var BG$={pluginsRegistered:"system:plugins:registered",initialSyncCompleted:"sync:initial:completed",shellReady:"system:shell:ready"};function NG$($){return H.discriminatedUnion("success",[H.strictObject({success:H.literal(!0),data:$}),H.strictObject({success:H.literal(!1),error:H.string().min(1)})])}function _G$($){return{name:$.name,description:$.description,inputSchema:$.inputSchema,outputSchema:$.outputSchema,visibility:"admin",sideEffects:"none",handler:async(Z,X)=>{if(X.userPermissionLevel!=="admin")return{success:!1,error:$.errors.permission};let J=$.filterSchema.safeParse(Z);if(!J.success)return{success:!1,error:$.errors.invalidFilter};try{return{success:!0,data:await $.list(J.data)}}catch{return{success:!1,error:$.errors.failed}}}}}function PG$($){return{register:(Z,X,J)=>{return $.register(Z,X,J)},resolve:(Z)=>{return $.resolve(Z)},hasProvider:(Z,X)=>{return $.has(Z,X)},getProviderMetadata:(Z,X)=>{return $.getMetadata(Z,X)}}}class BF{providers=new Map;static createFresh(){return new BF}constructor(){}register($,Z,X){return this.getOrCreateSourceProviders($).set(Z,X),()=>{this.unregister($,Z)}}async resolve($){let Z=this.get($.sourceEntityType,$.attachmentType);if(!Z)return;return Z.resolve($)}get($,Z){return this.providers.get($)?.get(Z)}has($,Z){return this.get($,Z)!==void 0}getMetadata($,Z){return this.get($,Z)?.metadata}unregister($,Z){let X=this.providers.get($);if(!X)return;if(X.delete(Z),X.size===0)this.providers.delete($)}getRegisteredAttachmentTypes($){return Array.from(this.providers.get($)?.keys()??[])}clear(){this.providers.clear()}getOrCreateSourceProviders($){let Z=this.providers.get($);if(Z)return Z;let X=new Map;return this.providers.set($,X),X}}import{mkdir as FG$,readdir as TG$,readFile as Rf,rm as wf,stat as MG$,writeFile as Cf}from"fs/promises";import{basename as zG$,dirname as RG$,join as x4}from"path";var sA=/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,Lf=86400000,qf=200;class V7 extends Error{code;constructor($,Z){super(Z);this.code=$,this.name="RuntimeUploadStoreError"}}var wG$=H.object({id:H.string().regex(sA),ref:H.object({kind:H.string().min(1),id:H.string().regex(sA)}),filename:H.string().min(1),mediaType:H.string().min(1),sizeBytes:H.number().nonnegative(),createdAt:H.string().datetime(),metadata:H.record(H.string(),H.unknown()).optional()});function CG$($){return{scoped:(Z)=>$.scoped(Z)}}function Ef($){return zG$($)==="brain-data"?x4(RG$($),"data"):$}class NF{dataDir;constructor($){this.dataDir=Ef($.dataDir)}static createFresh($){return new NF($)}scoped($){return new _F({...$,dataDir:this.dataDir})}}class _F{options;retentionMs;maxCount;createUploadId;getNow;constructor($){this.options=$,this.retentionMs=$.retentionMs??Lf,this.maxCount=$.maxCount??qf,this.createUploadId=$.createId??(()=>`upload-${crypto.randomUUID()}`),this.getNow=$.now??(()=>new Date)}async save($){let Z=this.createUploadId();this.assertValidUploadId(Z);let X={id:Z,ref:{kind:this.options.refKind,id:Z},filename:$.filename,mediaType:$.mediaType,sizeBytes:$.content.byteLength,createdAt:this.getNow().toISOString(),...$.metadata!==void 0&&{metadata:$.metadata}},J=this.getUploadDir(Z);return await FG$(J,{recursive:!0}),await Cf(x4(J,"content"),$.content),await Cf(x4(J,"metadata.json"),`${JSON.stringify(X,null,2)}
123
123
  `,"utf8"),await this.prune(),X}async remove($){this.assertValidUploadId($),await wf(this.getUploadDir($),{recursive:!0,force:!0})}async read($){let Z=await this.readRecord($);try{let X=await Rf(x4(this.getUploadDir($),"content"));return{record:Z,content:X}}catch{throw new V7("not_found","Upload not found")}}async readRecord($){this.assertValidUploadId($);try{let Z=await Rf(x4(this.getUploadDir($),"metadata.json"),"utf8"),X=wG$.safeParse(JSON.parse(Z));if(!X.success||X.data.id!==$||X.data.ref.id!==$||X.data.ref.kind!==this.options.refKind)throw new V7("invalid_metadata","Invalid upload metadata");return X.data}catch(Z){if(Z instanceof V7)throw Z;throw new V7("not_found","Upload not found")}}toResponseBody($){return{...$,url:this.getUploadUrl($.id),downloadUrl:this.getUploadUrl($.id,!0)}}async prune(){let $=this.getUploadsRoot();try{let Z=await TG$($),J=(await Promise.all(Z.map(async(W)=>{try{let D=await MG$(x4($,W));return D.isDirectory()?{entry:W,mtimeMs:D.mtimeMs}:null}catch{return null}}))).filter((W)=>W!==null).sort((W,D)=>D.mtimeMs-W.mtimeMs),G=this.getNow().getTime()-this.retentionMs,Y=J.filter((W,D)=>D>=this.maxCount||W.mtimeMs<G);await Promise.all(Y.map((W)=>wf(x4($,W.entry),{recursive:!0,force:!0})))}catch{}}getUploadDir($){return this.assertValidUploadId($),x4(this.getUploadsRoot(),$)}getUploadsRoot(){return x4(this.options.dataDir,this.options.namespace,"uploads")}getUploadUrl($,Z=!1){this.assertValidUploadId($);let X=encodeURIComponent($);return`${this.options.routePath}?id=${X}${Z?"&download=1":""}`}assertValidUploadId($){if(!sA.test($))throw new V7("invalid_ref","Invalid upload ref")}}var eS$=H.object({id:H.string(),type:H.string(),version:H.string(),status:H.string()}),$j$=H.object({name:H.string(),description:H.string()});var EG$=H.object({id:H.string(),version:H.string(),type:H.enum(["core","entity","service","interface"]),description:H.string().optional(),dependencies:H.array(H.string()).optional(),packageName:H.string()});var xf=H.looseObject({id:H.string().optional(),limit:H.number().optional(),page:H.number().optional(),pageSize:H.number().optional(),baseUrl:H.string().optional()}),Sf=H.looseObject({entityType:H.string().optional(),query:xf.optional()});class jf{logger;constructor($){this.logger=$}buildDetailResult($,Z){throw Error(`${this.id}: buildDetailResult() not implemented. Override this method or override fetch() to handle detail views.`)}parseQuery($){let Z=Sf.parse($);return{entityType:Z.entityType??this.config.entityType,query:Z.query??{}}}async fetch($,Z,X){let J=this.parseQuery($),G=X.entityService;if(J.query.id){let W=await this.fetchDetail(J.query.id,G);return Z.parse(this.buildDetailResult(W.item,W.navigation))}let Y=await this.fetchList(J.query,G);return Z.parse(this.buildListResult(Y.items,Y.pagination,J.query))}async fetchDetail($,Z){let X=await this.lookupEntity($,Z),J=this.transformEntity(X),G=null;if(this.config.enableNavigation)G=await this.resolveNavigation(X,Z);return{item:J,navigation:G}}async fetchList($,Z,X){let J=$.page??1,G=$.pageSize??$.limit??this.config.defaultLimit??100,Y=(J-1)*G,W=$.page!==void 0,[D,U]=await Promise.all([Z.listEntities({entityType:this.config.entityType,options:{limit:G,offset:Y,sortFields:this.config.defaultSort,...X}}),W?Z.countEntities({entityType:this.config.entityType,options:X?.filter?{filter:X.filter}:void 0}):Promise.resolve(0)]),A=D.map((O)=>this.transformEntity(O)),Q=W?v_(U,J,G):null;return{items:A,pagination:Q}}async resolveNavigation($,Z,X){let J=this.config.navigationLimit??1000,G=await Z.listEntities({entityType:this.config.entityType,options:{limit:J,sortFields:X??this.config.defaultSort}}),Y=G.findIndex((Q)=>Q.id===$.id),W=Y>0?G[Y-1]:void 0,D=Y<G.length-1?G[Y+1]:void 0,U=W?this.transformEntity(W):null,A=D?this.transformEntity(D):null;return{prev:U,next:A}}async lookupEntity($,Z){if(this.config.lookupField==="id"){let G=await Z.getEntity({entityType:this.config.entityType,id:$});if(!G)throw Error(`${this.config.entityType} not found: ${$}`);return G}let J=(await Z.listEntities({entityType:this.config.entityType,options:{filter:{metadata:{slug:$}},limit:1}}))[0];if(!J)throw Error(`${this.config.entityType} not found with slug: ${$}`);return J}}function PF($){if(typeof $!=="object"||$===null||!("entityId"in $))return;let Z=$.entityId;return typeof Z==="string"&&Z.trim().length>0?Z.trim():void 0}function kf($){if(typeof $!=="object"||$===null||!("coverImage"in $))return;let Z=$.coverImage;if(Z===void 0||Z===!1)return;if(Z===!0)return{generate:!0};if(typeof Z!=="object"||Z===null)return;let X=Z;if(X.generate===!1)return;let J=X.prompt?.trim();return{generate:!0,...J&&{prompt:J}}}function eA($){return Object.fromEntries(Object.entries($).filter(([,Z])=>Z!==void 0))}function If($){let Z={...$};return delete Z.status,delete Z.error,eA(Z)}class gf extends HY{context;entityType;constructor($,Z,X){super($,{schema:X.schema,jobTypeName:X.jobTypeName});this.context=Z,this.entityType=X.entityType}async afterCreate($,Z,X,J){}async onGenerationFailure($,Z){}validateAndParse($){let Z=super.validateAndParse($);if(!Z)return null;let X=kf($);if(typeof Z!=="object")return Z;let J=PF($);if(!X&&!J)return Z;return Object.assign(Z,{...X&&{coverImage:X},...J&&{entityId:J}}),Z}async process($,Z,X){try{await this.reportProgress(X,{progress:aA.START,message:`Starting ${this.jobTypeName}`});let J=await this.generate($,X),G=PF($),Y=G?this.applyPreallocatedEntityId(G,J):J;await this.reportProgress(X,{progress:aA.SAVE,message:`Saving ${this.entityType} to database`});let W=G?await this.updatePreallocatedStub(G,Y):await this.context.entityService.createEntity({entity:{id:Y.id,entityType:this.entityType,content:Y.content,metadata:Y.metadata},options:Y.createOptions});return await this.afterCreate($,W.entityId,X,Y),await this.enqueueGenericCoverImageIfRequested($,W.entityId,X,Y),await this.reportProgress(X,{progress:aA.COMPLETE,message:`${Y.title??this.entityType} created successfully`}),{success:!0,entityId:W.entityId,...Y.resultExtras}}catch(J){if(J instanceof FF)return await this.markPreallocatedStubFailed($,J.message),await this.onGenerationFailure($,J.message),{success:!1,error:J.message};let G=d$(J);return this.logger.error(`${this.jobTypeName} job failed`,{error:J,jobId:Z,data:this.summarizeDataForLog($)}),await this.markPreallocatedStubFailed($,G),await this.onGenerationFailure($,G),vf.failure(J)}}applyPreallocatedEntityId($,Z){let X={...Z.metadata},J=Z.content,G=Z.resultExtras;if(typeof X.slug==="string")X.slug=$,J=tA(J,"slug",$),G={...G,slug:$};return{...Z,id:$,content:J,metadata:X,...G&&{resultExtras:G}}}async updatePreallocatedStub($,Z){let X=await this.context.entityService.getEntity({entityType:this.entityType,id:$,visibilityScope:"restricted"});if(!X)throw Error(`Pre-allocated entity stub not found: ${this.entityType}/${$}`);let J=this.mergeStubWithGenerated(X,Z);return this.context.entityService.updateEntity({entity:{...X,id:$,entityType:this.entityType,content:J.content,metadata:J.metadata}})}mergeStubWithGenerated($,Z){let X=If(WY($.content).frontmatter),J=If($.metadata),G=eA(Z.metadata),Y=WY(Z.content),W=eA(Y.frontmatter),D=eA({...X,...G,...W});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(D),{content:bf(D,Y.content),metadata:{...J,...G}}}async markPreallocatedStubFailed($,Z){let X=PF($);if(!X)return;try{let J=await this.context.entityService.getEntity({entityType:this.entityType,id:X,visibilityScope:"restricted"});if(!J)return;await this.context.entityService.updateEntity({entity:{...J,content:tA(tA(J.content,"status","failed"),"error",Z),metadata:{...J.metadata,status:"failed",error:Z}}})}catch(J){this.logger.warn("Failed to mark generation stub as failed",{error:J,entityId:X,entityType:this.entityType})}}async enqueueGenericCoverImageIfRequested($,Z,X,J){let G=kf($);if(!G)return;await this.reportProgress(X,{progress:90,message:"Queueing cover image generation"});let Y=J.title??Z;await this.context.jobs.enqueue({type:yf.generate,data:{prompt:G.prompt??`Editorial cover image for: ${Y}. `,title:`${Y} Cover`,aspectRatio:"16:9",targetEntityType:this.entityType,targetEntityId:Z,entityTitle:Y,entityContent:J.content},toolContext:{interfaceType:"job",actor:{kind:"service",serviceId:"generation-job-handler"}}})}failEarly($){throw new FF($)}}class FF extends Error{constructor($){super($);this.name="GenerationFailure"}}var xG$=H.string().trim().min(1).max(200),SG$=H.string().trim().min(1).max(100).regex(/^[a-z0-9][a-z0-9.-]*$/);class hf{registrations=new Map;register($,Z,X){let J=xG$.parse($),G=SG$.parse(Z),Y=`${J}:${G}`;if(this.registrations.has(Y))throw Error(`Operational health check already registered: ${Y}`);return this.registrations.set(Y,{pluginId:J,name:Y,provider:X}),()=>this.registrations.delete(Y)}unregisterPlugin($){let Z=$.trim();for(let[X,J]of this.registrations)if(J.pluginId===Z)this.registrations.delete(X)}async getChecks(){let $=[...this.registrations.values()].sort((Z,X)=>Z.name.localeCompare(X.name));return Promise.all($.map(async(Z)=>{try{return nA.parse({name:Z.name,...await Z.provider()})}catch{return{name:Z.name,status:"degraded",message:"Operational health check failed"}}}))}}function mf($){let Z=pf($.status),X=ff($),J=cf($),G=J?`${Z}: ${X} ${J}`:`${Z}: ${X}`;return{title:Z,label:X,...J?{amount:J}:{},...$.message?{message:$.message}:{},fallback:$.message?`${G}
124
124
  ${$.message}`:G}}function ff($){let Z=$.metadata.operationType.replace(/_/g," ");return $.metadata.operationTarget?`${Z}: ${$.metadata.operationTarget}`:Z}function cf($){if(!$.progress||$.progress.total<=0)return;return`${$.progress.current}/${$.progress.total} (${$.progress.percentage}%)`}function pf($){switch($){case"pending":return"Job queued";case"processing":return"Job processing";case"completed":return"Job completed";case"failed":return"Job failed"}}var jG$=new Set(["yes","y","ok","sure","proceed","confirm","go"]),kG$=new Set(["no","n","cancel","abort","stop","nope"]);function DJ($){let Z=$.toLowerCase().trim();if(Z==="")return;if(jG$.has(Z))return{confirmed:!0};if(kG$.has(Z))return{confirmed:!1};return}function df($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}function uf($){return $?.find((Z)=>Z.kind==="tool-approval"&&(Z.state==="output-available"||Z.state==="output-error"||Z.state==="output-denied"))}function of($,Z){if(Z.length===0)return $;if($.trim().length>0)return $;if(Z.length===1)return Z[0]?.summary??$;return"Multiple approvals required."}function nf($){let Z=$.state==="output-error"?"failed":$.state==="output-denied"?"declined":"completed";return{resolution:Z,summary:$.summary,toolName:$.toolName,error:Z==="failed"?$.error:void 0}}function lf({message:$,approvalIds:Z}){if(Z.size===0)return{kind:"not-confirmation"};let X=TF($,Z);if(!X)return{kind:"notice",message:"Please reply with yes to confirm or no/cancel to abort."};if(!X.approvalId&&tf($))return{kind:"notice",message:`No matching pending approval id. Pending approval ids: ${rf(Z)}.`};if(Z.size>1&&!X.approvalId)return{kind:"notice",message:`Multiple approvals are pending; include one approval id with yes or no/cancel: ${rf(Z)}.`};let J=X.approvalId??IG$(Z);if(!J)return{kind:"notice",message:"No pending approval to resolve."};return{kind:"confirm",approvalId:J,confirmed:X.confirmed}}function TF($,Z){let X=DJ($),J=sf($,Z);if(X)return{...X,...J?{approvalId:J}:{}};let G=$.split(/\s+/).map((Y)=>DJ(Y)).find((Y)=>Y!==void 0);if(!G)return;return{...G,...J?{approvalId:J}:{}}}function sf($,Z){if(!Z||Z.size===0)return;let X=$.toLowerCase();return[...Z].sort((J,G)=>G.length-J.length).find((J)=>af(X,J.toLowerCase()))}function af($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^a-z0-9_-])${X}($|[^a-z0-9_-])`).test($)}function tf($){return/(^|[^a-z0-9_-])approval[:-][a-z0-9_-]+/i.test($)}function IG$($){for(let Z of $)return Z;return}function rf($){return[...$].join(", ")}var vG$=H.object({kind:H.string().min(1),id:H.string().min(1)}),yG$=H.object({kind:H.string().min(1),filename:H.string().min(1),mediaType:H.string().min(1),sizeBytes:H.number().nonnegative().optional(),source:vG$.optional()}),bG$=H.array(yG$),wj$=H.array(dA),gG$=H.array(pA),hG$=H.record(H.string(),H.unknown());function EY($){if(typeof $==="string")try{return qY(JSON.parse($))}catch{return null}return qY($)}function MF($){let Z=EY($),X=bG$.safeParse(Z?.attachments);return X.success?X.data:[]}function ef($){let X=EY($)?.cards;if(!Array.isArray(X))return[];return X.map((J)=>uA.safeParse(J)).filter((J)=>J.success).map((J)=>J.data)}function $3($,Z){let X=[],J=new Set;for(let G of $){let Y=qY(G);if(!Y)continue;if(Z.role&&Y.role!==Z.role)continue;for(let W of MF(Y.metadata)){if(W.source?.kind!==Z.sourceKind)continue;if(J.has(W.source.id))continue;J.add(W.source.id),X.push(W.source.id)}}return X}function Z3($){let Z=new Set;for(let X of $){let J=qY(X);if(!J)continue;let Y=EY(J.metadata)?.cards;if(!Array.isArray(Y))continue;let W=Y.filter((U)=>qY(U)?.kind==="tool-approval"),D=gG$.safeParse(W);if(!D.success)continue;for(let U of D.data)if(U.state==="approval-requested")Z.add(U.id);else Z.delete(U.id)}return Z}function qY($){let Z=hG$.safeParse($);return Z.success?Z.data:null}class zF{options;pendingByConversation=new Map;constructor($){this.options=$}rememberFromResponse($,Z){if(!Z.pendingConfirmations||Z.pendingConfirmations.length===0)return;this.pendingByConversation.set($,new Set(Z.pendingConfirmations.map((X)=>X.id)))}replaceApprovals($,Z){if(Z.length===0){this.pendingByConversation.delete($);return}this.pendingByConversation.set($,new Set(Z))}async getApprovalIds($){let Z=this.pendingByConversation.get($);if(Z&&Z.size>0)return new Set(Z);let X=await this.restoreApprovalIds($);if(X.size>0)this.pendingByConversation.set($,X);return new Set(X)}removeApproval($,Z){let X=this.pendingByConversation.get($);if(!X)return;if(X.delete(Z),X.size===0)this.pendingByConversation.delete($)}deleteConversation($){this.pendingByConversation.delete($)}syncFromResponse($,Z,X){if(Z.pendingConfirmations===void 0)return;let J=new Set(Z.pendingConfirmations.map((G)=>G.id).filter((G)=>G!==X));if(J.size===0){this.pendingByConversation.delete($);return}this.pendingByConversation.set($,J)}formatRemainingApprovalHelp($,Z){if(Z.pendingConfirmations!==void 0)return;let X=this.pendingByConversation.get($);if(!X||X.size===0)return;return`Remaining pending approval ids: ${[...X].map((J)=>`\`${J}\``).join(", ")}.`}async restoreApprovalIds($){try{let Z=await this.options.loadMessages($);return Z3(Z)}catch(Z){return this.options.onRestoreError?.(Z,$),new Set}}}var mG$=H.record(H.string(),H.unknown());function $c($){let Z=mG$.safeParse($);return Z.success?Z.data:null}function X3($,Z){return $c($)?.[Z]}function S4($,Z){let X=X3($,Z);return typeof X==="string"?X:void 0}function Zc($,Z){let X=X3($,Z);return typeof X==="boolean"?X:void 0}function fG$($){return Array.isArray($.toolResults)?$.toolResults[0]:void 0}function cG$($){if(!Array.isArray($.cards))return;return $.cards.find((Z)=>S4(Z,"kind")==="tool-approval")}function pG$($){return X3($,"data")}function dG$($){let X=$.indexOf(`
125
125
 
@@ -130,7 +130,7 @@ Result:`);if(X===-1)return;let J=$.slice(X+9).trim();if(!J)return;try{return JSO
130
130
  `)}function DY$($,Z){let X=[`Sources: ${$.title??"Retrieved context"}`];for(let J of $.sources){let G=Z.resolveUrl(J.url),Y=G&&!Z.isHiddenUrl(G)?` \u2014 ${G}`:"";X.push(`- ${J.title??J.source}${Y}`)}return X.join(`
131
131
  `)}function HY$($,Z){let X=[`Actions: ${$.title??"Suggested actions"}`];for(let J of $.actions){let G=J.type==="event"&&Z.eventActionUnavailableLabel?` (${Z.eventActionUnavailableLabel})`:"";X.push(`- ${J.label}${G}`)}return X.join(`
132
132
  `)}function Fc($){return{identity:$.identity,interfaceType:$.interfaceType,role:$.role??"user",...$.displayName?{displayName:$.displayName}:{},...$.username?{username:$.username}:{},...$.isBot!==void 0?{isBot:UY$($.isBot)}:{}}}function UY$($){if(typeof $==="boolean")return $;return $.toLowerCase()==="true"}function Tc($){return{...$.messageId?{messageId:$.messageId}:{},...$.channelId?{channelId:$.channelId}:{},...$.channelName?{channelName:$.channelName}:{},...$.threadId?{threadId:$.threadId}:{},...$.metadata?{metadata:$.metadata}:{}}}function Mc($){if($.skippedMessages.length===0)return{message:$.message};return{message:["Messages received while the previous response was still running (oldest first, for context only):",...$.skippedMessages.map(AY$),"","Latest message to answer:",$.message].join(`
133
- `),metadata:{supersededMessageCount:$.skippedMessages.length,supersededMessageIds:$.skippedMessages.map((J)=>J.id).filter((J)=>J!==void 0)}}}function AY$($){let Z=$.text.trim(),X=$.authorName?.trim();return X?`- ${X}: ${Z}`:`- ${Z}`}async function FY$($){let{entityType:Z,title:X,deriveId:J,regeneratePrompt:G,context:Y}=$,W=J(X),D=await Y.entityService.getEntity({entityType:Z,id:W});if(!D||D.metadata.status==="generating")return X;Y.logger.debug(`Entity ID collision: ${Z}/${W}, asking AI for a new title`);let U=H.object({title:H.string().max(80).describe("A short, unique title (2-6 words)")}),{object:A}=await Y.ai.generateObject(`The title "${X}" is already taken. ${G}`,U),Q=A.title;return Y.logger.debug(`AI suggested new title: "${Q}"`),Q}class Q3{tail=Promise.resolve();run($){let Z=this.tail.then(()=>$());return this.tail=Z.then(()=>{return},()=>{return}),Z}async settle(){await this.tail}}var TY$="current";class zc{store;schema;createEmpty;key;queue=new Q3;statePromise;constructor($){this.store=$.runtimeState.scoped({namespace:$.namespace,schema:$.schema}),this.schema=$.schema,this.createEmpty=$.createEmpty,this.key=$.key??TY$}mutate($){return this.queue.run(async()=>{let Z=await this.load(),X=await $(Z);return await this.persist(Z),X})}async snapshot(){return await this.settle(),structuredClone(await this.load())}settle(){return this.queue.settle()}load(){return this.statePromise??=this.store.get(this.key).then(($)=>$??this.createEmpty()),this.statePromise}async persist($){await this.store.set(this.key,this.schema.parse($))}}var SF="cms:register-workspace";function MY$($,Z){if($.userPermissionLevel!=="admin")throw Error(`${Z} requires admin permission`)}var zY$=H.object({workspaceUrl:H.string()});async function RY$($,Z){let X=await $.messaging.send({type:SF,payload:Z});if(!("success"in X)||!X.success)return;let J=zY$.safeParse(X.data);return J.success?J.data.workspaceUrl:void 0}var jF=H6.extend({id:H.literal("brain-character"),entityType:H.literal("brain-character")}),O3=H.object({name:H.string().describe("The brain's friendly display name"),role:H.string().describe("The brain's primary role"),purpose:H.string().describe("The brain's purpose and goals"),values:H.array(H.string()).describe("Core values that guide behavior")});var Rc=H.record(H.string(),H.unknown());class B3 extends _1{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:jF,frontmatterSchema:O3,isSingleton:!0,hasBody:!1})}createCharacterContent($){return this.buildMarkdown("",$)}parseCharacterBody($){return this.parseFrontmatter($)}toMarkdown($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",Rc.parse(Z))}fromMarkdown($){return{content:$,entityType:"brain-character"}}extractMetadata($){let Z=this.parseFrontmatter($.content);return{role:Z.role,values:Z.values}}generateFrontMatter($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",Rc.parse(Z))}}class N3 extends eX{adapter=new B3;static getDefaultCharacter(){return{name:"Brain",role:"Knowledge assistant",purpose:"Help organize, understand, and retrieve information from your knowledge base",values:["clarity","accuracy","helpfulness"]}}static createFresh($,Z,X){return new N3($,Z,X)}constructor($,Z,X){super($,Z,"brain-character",X??N3.getDefaultCharacter(),V6("brain character is loaded at bootstrap before any user is in scope"))}parseBody($){return this.adapter.parseCharacterBody($)}createContent($){return this.adapter.createCharacterContent($)}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}var kF=H6.extend({id:H.literal("anchor-profile"),entityType:H.literal("anchor-profile")}),wc=H.enum(["person","team","organization"]),Q7=H.object({name:H.string().describe("Name of the anchor"),organization:H.string().optional().describe("Organization the anchor belongs to"),description:H.string().optional().describe("Short description or biography"),avatar:H.string().optional().describe("URL or asset path to avatar/logo"),website:H.string().optional().describe("Primary website URL"),email:H.string().optional().describe("Contact email"),socialLinks:H.array(H.object({platform:H.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:H.string().describe("Profile or contact URL"),label:H.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});var wY$=H.record(H.string(),H.unknown());class _3 extends _1{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's Anchor (singleton).",schema:kF,frontmatterSchema:Q7,isSingleton:!0,hasBody:!0})}createProfileContent($){let Z=Q7.parse($);return this.buildMarkdown("",Z)}parseProfileBody($,Z){if(Z){let{metadata:X,content:J}=cZ($,Z);return J?{...X,story:J}:X}return this.parseFrontmatter($)}fromMarkdown($){return{content:$,entityType:"anchor-profile"}}extractMetadata($){let Z=this.parseFrontmatter($.content);return{name:Z.name,email:Z.email,website:Z.website}}generateFrontMatter($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",wY$.parse(Z))}}class kY extends eX{adapter=new _3;static getDefaultProfile(){return{name:"Unknown"}}static createFresh($,Z,X){return new kY($,Z,X)}constructor($,Z,X){super($,Z,"anchor-profile",X??kY.getDefaultProfile(),V6("anchor profile is loaded at bootstrap before any user is in scope"))}parseBody($){return this.adapter.parseProfileBody($)}createContent($){return this.adapter.createProfileContent($)}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}var P3=H.enum(["person","team","organization"]),CY$=H.object({kind:H.string().trim().min(1),category:P3,labels:H.object({singular:H.string().trim().min(1),plural:H.string().trim().min(1)})});function LY$($){if(typeof $!=="object"||$===null||!("shape"in $)||!("safeParse"in $)||typeof $.safeParse!=="function")throw Error("Profile kind fields must be a Zod object schema")}class Cc{selectedKind;registrations=new Map;finalized=!1;resolved=null;selectedDefinition;constructor($){let Z=$?.trim();this.selectedKind=Z===""?void 0:Z}register($,Z){if(this.finalized)throw Error("Profile kind registration is closed");let X=CY$.parse(Z);LY$(Z.fields);let J=Object.freeze({...Z,kind:X.kind,category:X.category,labels:Object.freeze({...X.labels})}),G=this.registrations.get(X.kind)??[];G.push({pluginId:$,definition:J}),this.registrations.set(X.kind,G)}unregisterPlugin($){for(let[Z,X]of this.registrations){let J=X.filter((G)=>G.pluginId!==$);if(J.length===0)this.registrations.delete(Z);else this.registrations.set(Z,J)}}finalize(){if(this.finalized)return this.resolved;let Z=[...this.registrations.entries()].filter(([,J])=>J.length>1).sort(([J],[G])=>J.localeCompare(G))[0];if(Z){let[J,G]=Z,Y=G.map((W)=>W.pluginId).sort().join(", ");throw Error(`Profile kind "${J}" is registered by multiple plugins: ${Y}`)}if(!this.selectedKind)return this.finalized=!0,this.resolved=null,null;let X=this.registrations.get(this.selectedKind)?.[0];if(!X)throw Error(`Selected profile kind "${this.selectedKind}" is not registered`);return this.selectedDefinition=X.definition,this.resolved=Object.freeze({kind:X.definition.kind,category:X.definition.category,labels:Object.freeze({...X.definition.labels})}),this.finalized=!0,this.resolved}getResolved(){return this.assertFinalized(),this.resolved}getSelectedDefinition(){return this.assertFinalized(),this.selectedDefinition}isFinalized(){return this.finalized}assertFinalized(){if(!this.finalized)throw Error("Profile kind selection has not been finalized")}}var Lc=30000;class vF{logger;resolver;links=[];actorIndex=new Map;negativeActorIndex=new Map;static createFresh($,Z){return new vF($,Z)}constructor($,Z){this.logger=$.child("CanonicalIdentityService"),this.resolver=Z}async refreshCache(){this.links=[],this.actorIndex=new Map,this.negativeActorIndex=new Map,this.logger.debug("Canonical identity links refreshed",{linkCount:0,actorCount:0})}getLinks(){return this.links}resolveActor($){let Z=IF($),X=this.actorIndex.get(Z);if(!X)return null;if(X.expiresAt<=Date.now())return this.actorIndex.delete(Z),null;return X.resolution}async enrichActor($){if($.identity.kind==="user"&&$.identity.canonicalId||$.role!=="user")return $;let Z=this.resolveActor($.identity);if(Z)return this.enrichedActor($,Z);let X=IF($.identity),J=this.negativeActorIndex.get(X);if(J&&J>Date.now())return $;this.negativeActorIndex.delete(X);let G=await this.resolver?.($.identity);if(!G)return this.negativeActorIndex.set(X,Date.now()+Lc),$;let Y={identity:$.identity,...$.displayName?{label:$.displayName}:{}},W={...G,actors:[Y],matchedActor:Y};return this.actorIndex.set(X,{resolution:W,expiresAt:Date.now()+Lc}),this.links=[...this.links.filter((D)=>D.userId!==W.userId),W],this.enrichedActor($,W)}enrichedActor($,Z){return{...$,identity:{kind:"user",userId:Z.userId,canonicalId:Z.canonicalId},...Z.displayName?{displayName:Z.displayName}:{}}}}var qc="https://rizom.ai/ext/anchor-profile/v1",Ec=H.looseObject({id:H.string(),description:H.string(),name:H.string().optional(),tags:H.array(H.string()).optional().default([])}),xc=Q7.extend({kind:H.string().trim().min(1).optional(),category:P3.optional()}).superRefine(($,Z)=>{if($.kind===void 0!==($.category===void 0))Z.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),qY$=H.looseObject({uri:H.string(),params:H.record(H.string(),H.unknown()).optional()}),Sc=H.looseObject({name:H.string(),url:H.string(),description:H.string().optional(),skills:H.array(Ec).optional().default([]),capabilities:H.looseObject({extensions:H.array(qY$).optional().default([])}).optional()});function EY$($){let Z=Sc.safeParse($);if(!Z.success)return null;let X=Z.data,G=(X.capabilities?.extensions??[]).find((W)=>W.uri===qc),Y=null;if(G?.params){let W=xc.safeParse(G.params);if(W.success)Y=W.data}return{brainName:X.name,url:X.url,description:X.description??"",skills:X.skills.map((W)=>({id:W.id,name:W.name??W.id,description:W.description,tags:W.tags})),anchor:Y}}var xY$=H.object({name:H.string(),description:H.string(),tags:H.array(H.string()),examples:H.array(H.string())});import{EventEmitter as Ic}from"events";var q0={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},Q6={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class O6 extends Error{pluginId;constructor($,Z){super(`Plugin ${$}: ${Z}`);this.name="PluginError",this.pluginId=$}}class yF{scope;ingress=new Set;closePromise=null;closed=!1;constructor(){this.scope=t.runSync(o0.make())}addFinalizer($){if(this.closed)throw Error("Cannot register a resource after plugin teardown");t.runSync(o0.addFinalizer(this.scope,t.promise(async()=>{await $()})))}addIngress($){if(this.closed)throw Error("Cannot register ingress after plugin teardown");this.ingress.add($)}close($=M0.void){return this.closed=!0,this.closePromise??=this.closeScope($),this.closePromise}async closeScope($){let Z,X=!1,J=[...this.ingress].reverse();for(let D of J)try{D.stopAdmission()}catch(U){if(!X)Z=U;X=!0}let G=await Promise.allSettled(J.map((D)=>Promise.resolve().then(()=>D.drain())));this.ingress.clear();let Y=G.find((D)=>D.status==="rejected");if(!X&&Y)Z=Y.reason,X=!0;let W=await t.runPromiseExit(o0.close(this.scope,$));if(!X&&M0.isFailure(W))Z=Y6.squash(W.cause),X=!0;if(X)throw Z}}function jc($,Z){let X=$.getMessageBus(),J=new Set,G={send:(i)=>X.send(i),hasHandlers:(i)=>X.hasHandlers?.(i)??!1,subscribe:(i,$$,r)=>{let Q$=!0,T$=new Set,q$=(b0)=>{if(!Q$)return{noop:!0};let h6,G8=new Promise((Y8)=>{h6=Y8});T$.add(G8);let F8=()=>{T$.delete(G8),h6()},j4;try{j4=Promise.resolve($$(b0))}catch(Y8){throw F8(),Y8}return j4.then((Y8)=>{return F8(),Y8},(Y8)=>{throw F8(),Y8})},Z$=X.subscribe(i,q$,r),Q0={type:i,originalHandler:$$,stopAdmission:()=>{if(!Q$)return;Q$=!1,Z$(),J.delete(Q0)}};J.add(Q0);try{Z.addIngress({stopAdmission:Q0.stopAdmission,drain:async()=>{await Promise.all(T$)}})}catch(b0){throw Q0.stopAdmission(),b0}return Q0.stopAdmission},unsubscribe:(i,$$)=>{let r=[...J].filter((Q$)=>Q$.type===i&&Q$.originalHandler===$$);if(r.length===0){X.unsubscribe(i,$$);return}for(let Q$ of r)Q$.stopAdmission()}},Y=$.getAttachmentRegistry(),W={...Y,register:(i,$$,r)=>{let Q$=!0,T$=Y.register(i,$$,r),q$=()=>{if(!Q$)return;Q$=!1,T$()};return Z.addFinalizer(q$),q$}},D=$.getEntityRegistry(),U=new Proxy(D,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerEntityType"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterEntityType(q$));return T$};return typeof r==="function"?r.bind(i):r}}),A=$.getProfileKindRegistry(),Q=new Proxy(A,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),O=$.getChannelRegistry(),P=new Proxy(O,{get(i,$$){let r=Reflect.get(i,$$,i);if(($$==="registerDescriptor"||$$==="registerDeliveryProvider")&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),_=$.getInboxRegistry(),M=new Proxy(_,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerSource"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),z=$.getInboxFollowUpRegistry(),x=new Proxy(z,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerKind"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),K$=$.getAccountSettingsRegistry(),l=new Proxy(K$,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$);return Z.addFinalizer(()=>i.unregister(T$)),T$};return typeof r==="function"?r.bind(i):r}}),J$=$.getOperationalHealthRegistry(),B$=new Proxy(J$,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),h$=$.getDataSourceRegistry(),A$=new Proxy(h$,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="object"&&q$!==null&&"id"in q$&&typeof q$.id==="string"){let Z$=q$.id.includes(":")?q$.id:`shell:${q$.id}`;Z.addFinalizer(()=>i.unregister(Z$))}return T$};return typeof r==="function"?r.bind(i):r}}),m$=$.getInsightsRegistry(),v$=new Proxy(m$,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregister(q$));return T$};return typeof r==="function"?r.bind(i):r}}),A0=new Proxy($,{get(i,$$){if($$==="getMessageBus")return()=>G;if($$==="getAttachmentRegistry")return()=>W;if($$==="getEntityRegistry")return()=>U;if($$==="getDataSourceRegistry")return()=>A$;if($$==="getProfileKindRegistry")return()=>Q;if($$==="getChannelRegistry")return()=>P;if($$==="getInboxRegistry")return()=>M;if($$==="getInboxFollowUpRegistry")return()=>x;if($$==="getOperationalHealthRegistry")return()=>B$;if($$==="getAccountSettingsRegistry")return()=>l;if($$==="getInsightsRegistry")return()=>v$;let r=Reflect.get(i,$$,i);return typeof r==="function"?r.bind(i):r}});return Sm($,A0),A0}class bF{plugins;events;daemonRegistry;logger;projectionRegistry;resourceScopes=new Map;releasePromises=new Map;constructor($,Z,X,J,G){this.plugins=$,this.events=Z,this.daemonRegistry=X,this.projectionRegistry=J,this.logger=G.child("PluginLifecycle")}async initializePlugin($,Z,X){let J=this.plugins.get($);if(!J)throw new O6($,"Registration failed: Plugin is not registered");let G=J.plugin,Y=new yF;Y.addFinalizer(()=>Z.unregisterPluginCapabilities?.($)),Y.addFinalizer(()=>Z.getJobQueueService().unregisterPluginHandlers($)),Y.addFinalizer(()=>this.projectionRegistry.unregisterPlugin($)),this.resourceScopes.set($,Y),this.releasePromises.delete($),this.logger.debug(`Initializing plugin: ${$}`);try{this.events.emit(Q6.BEFORE_INITIALIZE,$,G);let W=await G.register(jc(Z,Y),X);return J.status=q0.INITIALIZED,this.logger.debug(`Initialized plugin: ${$}`),this.events.emit(Q6.INITIALIZED,$,G),W}catch(W){throw this.logger.error(`Error initializing plugin ${$}: ${d$(W)}`),await this.failPluginInitialization($,W),W}}async finalizePluginRegistration($){let Z=this.plugins.get($);if(!Z)throw new O6($,"Registration finalization failed: Plugin is not registered");if(Z.status!==q0.INITIALIZED)return;try{await Z.plugin.finalizeRegistration?.(),this.logger.debug(`Registration finalized for plugin: ${$}`)}catch(X){throw await this.failPluginInitialization($,X),X}}async readyPlugin($){let Z=this.plugins.get($);if(!Z)throw new O6($,"Ready failed: Plugin is not registered");if(Z.status!==q0.INITIALIZED){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${$}`);return}try{await Z.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${$}`)}catch(X){let J=XJ(X);Z.status=q0.ERROR,Z.error=J;try{this.events.emit(Q6.ERROR,$,J)}catch(G){this.logger.error(`Plugin error listener failed for ${$}`,G)}throw J}}async startPluginDaemons($){let Z=this.plugins.get($);if(Z?.status!==q0.INITIALIZED)return;try{await this.daemonRegistry.startPlugin($),this.logger.debug(`Started daemons for plugin: ${$}`)}catch(X){if(Z.plugin.requiresDaemonStartup?.())throw X;this.logger.warn(`Daemon ${$} failed to start: ${d$(X)}`)}}async failPluginInitialization($,Z){let X=this.plugins.get($);if(!X)return;let J=X.status!==q0.ERROR,G=XJ(Z);if(X.status=q0.ERROR,X.error=G,await this.releasePluginResources($,M0.fail(Z)),J)try{this.events.emit(Q6.ERROR,$,G)}catch(Y){this.logger.error(`Plugin error listener failed for ${$}`,Y)}}async disablePlugin($){let Z=this.plugins.get($);if(!Z){this.logger.warn(`Cannot disable plugin ${$}: not registered`);return}if(Z.status===q0.DISABLED)return;this.logger.debug(`Disabling plugin: ${$}`);let X=Z.status===q0.ERROR;await this.releasePluginResources($,M0.void);let J=this.plugins.get($);if(!X&&J&&J.status!==q0.DISABLED)J.status=q0.DISABLED,this.events.emit(Q6.DISABLED,$,J.plugin);this.logger.debug(`Disabled plugin: ${$}`)}releasePluginResources($,Z){let X=this.releasePromises.get($);if(X)return X;let J=this.releasePluginResourcesOnce($,Z);return this.releasePromises.set($,J),J}async releasePluginResourcesOnce($,Z){let X=this.plugins.get($);if(!X)return;try{await this.daemonRegistry.stopPlugin($),this.logger.debug(`Stopped daemons for plugin: ${$}`)}catch(G){this.logger.error(`Failed to stop daemons for plugin: ${$}`,G)}let J=this.resourceScopes.get($);if(this.resourceScopes.delete($),J)try{await J.close(Z)}catch(G){this.logger.error(`Failed to close resources for plugin ${$}`,G)}if(X.plugin.shutdown)try{await X.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${$}`)}catch(G){this.logger.error(`Plugin shutdown failed for ${$}:`,G)}for(let G of this.daemonRegistry.getByPlugin($))try{await this.daemonRegistry.unregister(G.name)}catch(Y){this.logger.error(`Failed to unregister daemon ${G.name} for plugin ${$}`,Y)}}}class gF{plugins;events;logger;constructor($,Z,X){this.plugins=$,this.events=Z,this.logger=X.child("DependencyResolver")}async resolveInitializationOrder($){this.logger.debug("Resolving plugin initialization order...");let Z=Array.from(this.plugins.keys()),X=new Set,J=!0;while(J&&X.size<Z.length){J=!1;for(let W of Z){if(X.has(W))continue;if(!this.plugins.get(W))continue;if(this.getUnmetDependencies(W).length===0)try{await $(W),X.add(W),J=!0}catch(A){let Q=d$(A);this.logger.error(`Failed to initialize plugin ${W}: ${Q}`),X.add(W),J=!0}}}let G=Z.filter((W)=>!X.has(W));if(G.length>0){let W=G.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${W}`);for(let D of G){let U=this.getUnmetDependencies(D);this.logger.error(`Plugin ${D} has unmet dependencies: ${U.join(", ")}`);let A=this.plugins.get(D);if(A)A.status=q0.ERROR,A.error=new O6(D,`Unmet dependencies: ${U.join(", ")}`);this.events.emit(Q6.ERROR,D,A?.error)}}let Y=new Set;for(let[W,D]of this.plugins)if(D.status===q0.INITIALIZED)Y.add(W);return this.logger.debug(`Resolved ${Y.size} of ${Z.length} plugins`),{initialized:Y,failed:G}}getUnmetDependencies($){let Z=this.plugins.get($);if(!Z)return[];let{dependencies:X}=Z,J=[];for(let G of X){let Y=this.plugins.get(G);if(!Y){J.push(G);continue}if(Y.status!==q0.INITIALIZED)J.push(G)}return J}}class hF{logger;projectionRegistry;constructor($,Z){this.logger=$.child("CapabilityRegistrar"),this.projectionRegistry=Z}async registerCapabilities($,Z,X,J){if(!J?.executionOnly&&X.tools.length>0)$.registerTools(Z,X.tools),this.logger.debug(`Registered ${X.tools.length} tools from ${Z}`);if(!J?.executionOnly&&X.resources.length>0)$.registerResources(Z,X.resources),this.logger.debug(`Registered ${X.resources.length} resources from ${Z}`);if(!J?.executionOnly&&X.instructions)$.registerInstructions(Z,X.instructions),this.logger.debug(`Registered instructions from ${Z}`);let G=X.projectionRules??[];try{for(let Y of G)this.projectionRegistry.registerRule(Z,Y)}catch(Y){throw this.projectionRegistry.unregisterPlugin(Z),Y}if(G.length>0)this.logger.debug(`Registered ${G.length} projection rules from ${Z}`)}}class F3{projections=new Map;rules=new Map;static createFresh(){return new F3}constructor(){}registerRule($,Z){if(!Object.isFrozen(Z))throw Error(`Projection rule "${Z.id}" must be created with defineProjectionRule`);let X=this.projections.get(Z.id);if(X)throw Error(`Projection "${Z.id}" is already registered by "${X.pluginId}"`);let J={id:Z.id,pluginId:$,targetType:Z.targetType,sources:Z.sources.map((Y)=>({kind:Y.kind,types:[...Y.types],...Y.excludeTypes?{excludeTypes:[...Y.excludeTypes]}:{}}))};this.projections.set(Z.id,J),this.rules.set(Z.id,Z);let G=!0;return()=>{if(!G)return;if(G=!1,this.rules.get(Z.id)===Z)this.rules.delete(Z.id);if(this.projections.get(Z.id)===J)this.projections.delete(Z.id)}}unregisterPlugin($){for(let[Z,X]of this.projections)if(X.pluginId===$)this.projections.delete(Z),this.rules.delete(Z)}list(){return Array.from(this.projections.values()).sort(($,Z)=>$.id.localeCompare(Z.id)).map(kY$)}listRules(){return[...this.rules.values()].sort(($,Z)=>$.id.localeCompare(Z.id))}validate($){let Z=this.list(),X=new Set($.map(({type:W})=>W));for(let W of Z)if(!X.has(W.targetType))throw Error(`Projection "${W.id}" targets unregistered entity type "${W.targetType}"`);let J=$.filter(({projectionSource:W})=>W).map(({type:W})=>W).sort(),G=IY$(Z,J),Y=yY$(Z,G)[0];if(Y){let W=bY$(Y,G);throw Error(`Projection cycle is not supported: ${[...W,W[0]].join(" -> ")}`)}return jY$({projections:Z,edges:G,unknownSourceTypes:SY$(Z,X)})}}function SY$($,Z){let X=[];for(let J of $){let G=[...new Set(J.sources.flatMap((Y)=>[...Y.types,...Y.excludeTypes??[]]).filter((Y)=>Y!=="*"&&!Z.has(Y)))].sort();if(G.length>0)X.push({projectionId:J.id,types:G})}return X}function jY$($){for(let Z of $.projections){for(let X of Z.sources){if(Object.freeze(X.types),X.excludeTypes)Object.freeze(X.excludeTypes);Object.freeze(X)}Object.freeze(Z.sources),Object.freeze(Z)}for(let Z of $.edges)Object.freeze(Z.causes),Object.freeze(Z);for(let Z of $.unknownSourceTypes)Object.freeze(Z.types),Object.freeze(Z);return Object.freeze($.unknownSourceTypes),Object.freeze($.projections),Object.freeze($.edges),Object.freeze($)}function kY$($){return{...$,sources:$.sources.map((Z)=>({...Z,types:[...Z.types],...Z.excludeTypes?{excludeTypes:[...Z.excludeTypes]}:{}}))}}function IY$($,Z){let X=new Map;for(let J of $)for(let G of $){let Y=vY$(J,G,Z);if(Y.length===0)continue;X.set(`${J.id}\x00${G.id}`,new Set(Y))}return Array.from(X,([J,G])=>{let[Y="",W=""]=J.split("\x00");return{from:Y,to:W,causes:[...G].sort()}}).sort((J,G)=>J.from.localeCompare(G.from)||J.to.localeCompare(G.to))}function vY$($,Z,X){let J=[];for(let G of Z.sources){let Y=new Set(G.excludeTypes??[]);if((G.types.includes("*")?[...G.types.filter((D)=>D!=="*"),...X]:G.types).includes($.targetType)&&!Y.has($.targetType))J.push(`entity:${$.targetType}`)}return[...new Set(J)]}function yY$($,Z){let X=$.map(({id:O})=>O).sort(),J=kc(X,Z),G=new Map,Y=new Map,W=[],D=new Set,U=[],A=0,Q=(O)=>{G.set(O,A),Y.set(O,A),A++,W.push(O),D.add(O);for(let z of J.get(O)??[])if(!G.has(z))Q(z),Y.set(O,Math.min(Y.get(O)??0,Y.get(z)??0));else if(D.has(z))Y.set(O,Math.min(Y.get(O)??0,G.get(z)??0));if(Y.get(O)!==G.get(O))return;let P=[],_;do{if(_=W.pop(),!_)break;D.delete(_),P.push(_)}while(_!==O);let M=J.get(O)?.includes(O)??!1;if(P.length>1||M)U.push(P.sort())};for(let O of X)if(!G.has(O))Q(O);return U.sort((O,P)=>(O[0]??"").localeCompare(P[0]??""))}function bY$($,Z){let X=new Set($),J=kc($,Z),G=[...$].sort()[0];if(!G)return[];if(J.get(G)?.includes(G))return[G];let Y=(W,D)=>{for(let U of J.get(W)??[]){if(!X.has(U))continue;if(U===G)return D;if(D.includes(U))continue;let A=Y(U,[...D,U]);if(A)return A}return};return Y(G,[G])??[...$].sort()}function kc($,Z){let X=new Map;for(let J of $)X.set(J,[]);for(let J of Z){let G=X.get(J.from);if(G&&!G.includes(J.to))G.push(J.to)}for(let J of X.values())J.sort();return X}async function vc($){let X=(await t.runPromise(t.all($.map((J)=>t.either(t.tryPromise({try:J,catch:(G)=>G}))),{concurrency:"unbounded"}))).find(nZ.isLeft);if(X)throw X.left}class T3{plugins=new Map;logger;events=new Ic;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=F3.createFresh();projectionGraph;static createFresh($,Z){return new T3($,Z)}setShell($){this.shell=$}constructor($,Z){this.logger=$.child("PluginManager"),this.events=new Ic,this.daemonRegistry=Z,this.pluginLifecycle=new bF(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,$),this.dependencyResolver=new gF(this.plugins,this.events,$),this.capabilityRegistrar=new hF($,this.projectionRegistry)}registerPlugin($){if(!$.id)throw new O6("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${$.id} (${$.version})`),this.plugins.has($.id)){let G=this.plugins.get($.id)?.plugin.version;throw new O6($.id,`Registration failed: Plugin is already registered with version ${G}`)}let Z=$.dependencies??[],X={plugin:$,status:q0.REGISTERED,dependencies:Z};this.plugins.set($.id,X),this.logger.debug(`Registered plugin: ${$.id} (${$.version})`),this.events.emit(Q6.REGISTERED,$.id,$)}async initializePlugins($){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let Z=await this.dependencyResolver.resolveInitializationOrder(async(X)=>{await this.initializePlugin(X,$)});this.logger.debug(`Initialized ${Z.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin($,Z){if(!this.shell)throw new O6($,"Cannot initialize plugin: Shell not set. Call setShell() first.");let X=this.shell;try{let J=await this.pluginLifecycle.initializePlugin($,X,Z);await this.capabilityRegistrar.registerCapabilities(X,$,J,{executionOnly:Z?.executionOnly}),this.initializedPluginIds.push($)}catch(J){throw await this.pluginLifecycle.failPluginInitialization($,J),J}}async finalizePluginRegistrations(){this.logger.debug("Finalizing plugin registrations...");for(let X of this.initializedPluginIds)await this.pluginLifecycle.finalizePluginRegistration(X);if(!this.shell)throw Error("Cannot validate projections before the shell is set");let $=this.shell.getEntityRegistry(),Z=this.projectionRegistry.validate($.getAllEntityTypes().map((X)=>{let J=$.getEntityTypeConfig(X);return{type:X,projectionSource:J.projectionSource!==!1&&J.projectionSourceRole!=="excluded"}}));this.projectionGraph=Z;for(let X of Z.unknownSourceTypes)this.logger.warn("Projection declares entity source types no installed plugin registers",{projectionId:X.projectionId,types:X.types});this.logger.debug("Validated projection graph",{projections:Z.projections.length,edges:Z.edges.length})}getProjectionGraphSnapshot(){if(!this.projectionGraph)throw Error("Projection graph has not been finalized");return this.projectionGraph}getProjectionRulesSnapshot(){if(!this.projectionGraph)throw Error("Projection graph has not been finalized");return Object.freeze(this.projectionRegistry.listRules())}async readyPlugins(){this.logger.debug("Dispatching plugin ready hooks...");try{await vc(this.initializedPluginIds.map(($)=>()=>this.pluginLifecycle.readyPlugin($)))}catch($){for(let Z of this.initializedPluginIds){let X=this.plugins.get(Z);if(X?.status===q0.ERROR)await this.pluginLifecycle.failPluginInitialization(Z,X.error??$)}throw $}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await vc(this.initializedPluginIds.map(($)=>()=>this.pluginLifecycle.startPluginDaemons($)))}getPlugin($){return this.plugins.get($)?.plugin}getPluginStatus($){return this.plugins.get($)?.status}hasPlugin($){return this.plugins.has($)}isPluginInitialized($){return this.plugins.get($)?.status===q0.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter(($)=>$[1].status===q0.ERROR&&$[1].error!==void 0).map(([$,Z])=>({id:$,error:Z.error}))}getPluginPackageName($){return this.plugins.get($)?.plugin.packageName}async disablePlugin($){await this.pluginLifecycle.disablePlugin($)}async shutdownPlugins(){let $=new Set;for(let Z of[...this.initializedPluginIds].reverse())await this.disablePlugin(Z),$.add(Z);for(let Z of[...this.plugins.keys()].reverse())if(!$.has(Z))await this.disablePlugin(Z)}on($,Z){this.events.on($,Z)}once($,Z){this.events.once($,Z)}off($,Z){this.events.off($,Z)}getEventEmitter(){return this.events}}export{b9 as va,eG as wa,b_ as xa,g_ as ya,Wg as za,Dg as Aa,Hg as Ba,Ug as Ca,WX$ as Da,DX$ as Ea,UX$ as Fa,ZY as Ga,XY as Ha,TX$ as Ia,MX$ as Ja,Xh as Ka,RX$ as La,Gh as Ma,CX$ as Na,KJ as Oa,gY$ as Pa,hY$ as Qa,C3 as Ra,mY$ as Sa,fY$ as Ta,cY$ as Ua,pY$ as Va,dY$ as Wa,uY$ as Xa,oY$ as Ya,nY$ as Za,$J as _a,bX$ as $a,qZ as ab,cM$ as bb,RA as cb,N as db,c as eb,JA as fb,F$ as gb,x9 as hb,dX as ib,Ly as jb,k6 as kb,Z8 as lb,C4 as mb,uX as nb,dG as ob,GA as pb,PZ as qb,oG as rb,a$ as sb,X$ as tb,TZ as ub,Tb as vb,ZZ as wb,WP$ as xb,j9 as yb,_A as zb,y6 as Ab,b6 as Bb,yb as Cb,L7$ as Db,q7$ as Eb,m as Fb,l$ as Gb,q_ as Hb,E_ as Ib,ZJ as Jb,PP as Kb,nZ as Lb,W0 as Mb,i0 as Nb,Y6 as Ob,x5 as Pb,M0 as Qb,o0 as Rb,K1 as Sb,t as Tb,B1 as Ub,a5 as Vb,vG as Wb,N1 as Xb,DB$ as Yb,FP as Zb,TP as _b,MP as $b,HY as ac,zP as bc,RP as cc,wP as dc,U0 as ec,dZ as fc,W7 as gc,D7 as hc,Th as ic,Mh as jc,JJ$ as kc,LA as lc,yG as mc,t5$ as nc,e5$ as oc,wN as pc,CN as qc,qP as rc,h as sc,XZ as tc,y0 as uc,h8 as vc,q4 as wc,t$ as xc,K6 as yc,bb as zc,V6 as Ac,EN as Bc,P1 as Cc,aU as Dc,L9 as Ec,xN as Fc,H6 as Gc,Yy as Hc,z4 as Ic,cZ as Jc,rU as Kc,t5 as Lc,Jy as Mc,g6 as Nc,j_ as Oc,k_ as Pc,eb as Qc,_1 as Rc,SN as Sc,XX$ as Tc,$g as Uc,Zg as Vc,I_ as Wc,Xg as Xc,y_ as Yc,Jg as Zc,EA as _c,UJ$ as $c,jA as ad,vA as bd,SP as cd,VY as dd,kP as ed,f2$ as fd,vP as gd,c2$ as hd,p2$ as id,d2$ as jd,$2$ as kd,YJ as ld,Yf as md,Uf as nd,LY as od,jS$ as pd,f8 as qd,KF as rd,Kf as sd,OF as td,_f as ud,lA as vd,Pf as wd,t2$ as xd,Ff as yd,Tf as zd,UG$ as Ad,zf as Bd,BG$ as Cd,NG$ as Dd,_G$ as Ed,PG$ as Fd,BF as Gd,sA as Hd,V7 as Id,CG$ as Jd,NF as Kd,uZ as Ld,NJ$ as Md,_J$ as Nd,PJ$ as Od,TJ$ as Pd,eh as Qd,$m as Rd,pP as Sd,Xm as Td,Gm as Ud,gP as Vd,Ym as Wd,eJ$ as Xd,eE$ as Yd,gA as Zd,tP as _d,eP as $d,gm as ae,WJ as be,mA as ce,fA as de,zY as ee,cA as fe,om as ge,RY as he,Q2$ as ie,O2$ as je,B2$ as ke,N2$ as le,_2$ as me,wY as ne,CY as oe,EG$ as pe,jf as qe,gf as re,k2$ as se,b2$ as te,nA as ue,$f as ve,Zf as we,g2$ as xe,hf as ye,h2$ as ze,m2$ as Ae,mf as Be,DJ as Ce,df as De,uf as Ee,of as Fe,nf as Ge,lf as He,TF as Ie,MF as Je,ef as Ke,zF as Le,J3 as Me,Xc as Ne,G3 as Oe,RF as Pe,Jc as Qe,Gc as Re,Wc as Se,Dc as Te,Y3 as Ue,Ac as Ve,Kc as We,D3 as Xe,xY as Ye,SY as Ze,Vc as _e,Qc as $e,Oc as af,xF as bf,jY as cf,_c as df,Pc as ef,Fc as ff,Tc as gf,Mc as hf,FY$ as if,zc as jf,SF as kf,MY$ as lf,RY$ as mf,O3 as nf,B3 as of,N3 as pf,wc as qf,Q7 as rf,_3 as sf,kY as tf,Cc as uf,vF as vf,qc as wf,EY$ as xf,xY$ as yf,O6 as zf,T3 as Af};
133
+ `),metadata:{supersededMessageCount:$.skippedMessages.length,supersededMessageIds:$.skippedMessages.map((J)=>J.id).filter((J)=>J!==void 0)}}}function AY$($){let Z=$.text.trim(),X=$.authorName?.trim();return X?`- ${X}: ${Z}`:`- ${Z}`}async function FY$($){let{entityType:Z,title:X,deriveId:J,regeneratePrompt:G,context:Y}=$,W=J(X),D=await Y.entityService.getEntity({entityType:Z,id:W});if(!D||D.metadata.status==="generating")return X;Y.logger.debug(`Entity ID collision: ${Z}/${W}, asking AI for a new title`);let U=H.object({title:H.string().max(80).describe("A short, unique title (2-6 words)")}),{object:A}=await Y.ai.generateObject(`The title "${X}" is already taken. ${G}`,U),Q=A.title;return Y.logger.debug(`AI suggested new title: "${Q}"`),Q}class Q3{tail=Promise.resolve();run($){let Z=this.tail.then(()=>$());return this.tail=Z.then(()=>{return},()=>{return}),Z}async settle(){await this.tail}}var TY$="current";class zc{store;schema;createEmpty;key;queue=new Q3;statePromise;constructor($){this.store=$.runtimeState.scoped({namespace:$.namespace,schema:$.schema}),this.schema=$.schema,this.createEmpty=$.createEmpty,this.key=$.key??TY$}mutate($){return this.queue.run(async()=>{let Z=await this.load(),X=await $(Z);return await this.persist(Z),X})}async snapshot(){return await this.settle(),structuredClone(await this.load())}settle(){return this.queue.settle()}load(){return this.statePromise??=this.store.get(this.key).then(($)=>$??this.createEmpty()),this.statePromise}async persist($){await this.store.set(this.key,this.schema.parse($))}}var SF="cms:register-workspace";function MY$($,Z){if($.userPermissionLevel!=="admin")throw Error(`${Z} requires admin permission`)}var zY$=H.object({workspaceUrl:H.string()});async function RY$($,Z){let X=await $.messaging.send({type:SF,payload:Z});if(!("success"in X)||!X.success)return;let J=zY$.safeParse(X.data);return J.success?J.data.workspaceUrl:void 0}var jF=H6.extend({id:H.literal("brain-character"),entityType:H.literal("brain-character")}),O3=H.object({name:H.string().describe("The brain's friendly display name"),role:H.string().describe("The brain's primary role"),purpose:H.string().describe("The brain's purpose and goals"),values:H.array(H.string()).describe("Core values that guide behavior")});var Rc=H.record(H.string(),H.unknown());class B3 extends _1{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:jF,frontmatterSchema:O3,isSingleton:!0,hasBody:!1})}createCharacterContent($){return this.buildMarkdown("",$)}parseCharacterBody($){return this.parseFrontmatter($)}toMarkdown($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",Rc.parse(Z))}fromMarkdown($){return{content:$,entityType:"brain-character"}}extractMetadata($){let Z=this.parseFrontmatter($.content);return{role:Z.role,values:Z.values}}generateFrontMatter($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",Rc.parse(Z))}}class N3 extends eX{adapter=new B3;static getDefaultCharacter(){return{name:"Brain",role:"Knowledge assistant",purpose:"Help organize, understand, and retrieve information from your knowledge base",values:["clarity","accuracy","helpfulness"]}}static createFresh($,Z,X){return new N3($,Z,X)}constructor($,Z,X){super($,Z,"brain-character",X??N3.getDefaultCharacter(),V6("brain character is loaded at bootstrap before any user is in scope"))}parseBody($){return this.adapter.parseCharacterBody($)}createContent($){return this.adapter.createCharacterContent($)}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}var kF=H6.extend({id:H.literal("anchor-profile"),entityType:H.literal("anchor-profile")}),wc=H.enum(["person","team","organization"]),Q7=H.object({name:H.string().describe("Name of the anchor"),organization:H.string().optional().describe("Organization the anchor belongs to"),description:H.string().optional().describe("Short description or biography"),avatar:H.string().optional().describe("URL or asset path to avatar/logo"),website:H.string().optional().describe("Primary website URL"),email:H.string().optional().describe("Contact email"),socialLinks:H.array(H.object({platform:H.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:H.string().describe("Profile or contact URL"),label:H.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});var wY$=H.record(H.string(),H.unknown());class _3 extends _1{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's Anchor (singleton).",schema:kF,frontmatterSchema:Q7,isSingleton:!0,hasBody:!0})}createProfileContent($){let Z=Q7.parse($);return this.buildMarkdown("",Z)}parseProfileBody($,Z){if(Z){let{metadata:X,content:J}=cZ($,Z);return J?{...X,story:J}:X}return this.parseFrontmatter($)}fromMarkdown($){return{content:$,entityType:"anchor-profile"}}extractMetadata($){let Z=this.parseFrontmatter($.content);return{name:Z.name,email:Z.email,website:Z.website}}generateFrontMatter($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",wY$.parse(Z))}}class kY extends eX{adapter=new _3;static getDefaultProfile(){return{name:"Unknown"}}static createFresh($,Z,X){return new kY($,Z,X)}constructor($,Z,X){super($,Z,"anchor-profile",X??kY.getDefaultProfile(),V6("anchor profile is loaded at bootstrap before any user is in scope"))}parseBody($){return this.adapter.parseProfileBody($)}createContent($){return this.adapter.createProfileContent($)}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}var P3=H.enum(["person","team","organization"]),CY$=H.object({kind:H.string().trim().min(1),category:P3,labels:H.object({singular:H.string().trim().min(1),plural:H.string().trim().min(1)})});function LY$($){if(typeof $!=="object"||$===null||!("shape"in $)||!("safeParse"in $)||typeof $.safeParse!=="function")throw Error("Profile kind fields must be a Zod object schema")}class Cc{selectedKind;registrations=new Map;finalized=!1;resolved=null;selectedDefinition;constructor($){let Z=$?.trim();this.selectedKind=Z===""?void 0:Z}register($,Z){if(this.finalized)throw Error("Profile kind registration is closed");let X=CY$.parse(Z);LY$(Z.fields);let J=Object.freeze({...Z,kind:X.kind,category:X.category,labels:Object.freeze({...X.labels})}),G=this.registrations.get(X.kind)??[];G.push({pluginId:$,definition:J}),this.registrations.set(X.kind,G)}unregisterPlugin($){for(let[Z,X]of this.registrations){let J=X.filter((G)=>G.pluginId!==$);if(J.length===0)this.registrations.delete(Z);else this.registrations.set(Z,J)}}finalize(){if(this.finalized)return this.resolved;let Z=[...this.registrations.entries()].filter(([,J])=>J.length>1).sort(([J],[G])=>J.localeCompare(G))[0];if(Z){let[J,G]=Z,Y=G.map((W)=>W.pluginId).sort().join(", ");throw Error(`Profile kind "${J}" is registered by multiple plugins: ${Y}`)}if(!this.selectedKind)return this.finalized=!0,this.resolved=null,null;let X=this.registrations.get(this.selectedKind)?.[0];if(!X)throw Error(`Selected profile kind "${this.selectedKind}" is not registered`);return this.selectedDefinition=X.definition,this.resolved=Object.freeze({kind:X.definition.kind,category:X.definition.category,labels:Object.freeze({...X.definition.labels})}),this.finalized=!0,this.resolved}getResolved(){return this.assertFinalized(),this.resolved}getSelectedDefinition(){return this.assertFinalized(),this.selectedDefinition}isFinalized(){return this.finalized}assertFinalized(){if(!this.finalized)throw Error("Profile kind selection has not been finalized")}}var Lc=30000;class vF{logger;resolver;links=[];actorIndex=new Map;negativeActorIndex=new Map;static createFresh($,Z){return new vF($,Z)}constructor($,Z){this.logger=$.child("CanonicalIdentityService"),this.resolver=Z}async refreshCache(){this.links=[],this.actorIndex=new Map,this.negativeActorIndex=new Map,this.logger.debug("Canonical identity links refreshed",{linkCount:0,actorCount:0})}getLinks(){return this.links}resolveActor($){let Z=IF($),X=this.actorIndex.get(Z);if(!X)return null;if(X.expiresAt<=Date.now())return this.actorIndex.delete(Z),null;return X.resolution}async enrichActor($){if($.identity.kind==="user"&&$.identity.canonicalId||$.role!=="user")return $;let Z=this.resolveActor($.identity);if(Z)return this.enrichedActor($,Z);let X=IF($.identity),J=this.negativeActorIndex.get(X);if(J&&J>Date.now())return $;this.negativeActorIndex.delete(X);let G=await this.resolver?.($.identity);if(!G)return this.negativeActorIndex.set(X,Date.now()+Lc),$;let Y={identity:$.identity,...$.displayName?{label:$.displayName}:{}},W={...G,actors:[Y],matchedActor:Y};return this.actorIndex.set(X,{resolution:W,expiresAt:Date.now()+Lc}),this.links=[...this.links.filter((D)=>D.userId!==W.userId),W],this.enrichedActor($,W)}enrichedActor($,Z){return{...$,identity:{kind:"user",userId:Z.userId,canonicalId:Z.canonicalId},...Z.displayName?{displayName:Z.displayName}:{}}}}var qc="https://rizom.ai/ext/anchor-profile/v1",Ec=H.looseObject({id:H.string(),description:H.string(),name:H.string().optional(),tags:H.array(H.string()).optional().default([])}),xc=Q7.extend({kind:H.string().trim().min(1).optional(),category:P3.optional()}).superRefine(($,Z)=>{if($.kind===void 0!==($.category===void 0))Z.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),qY$=H.looseObject({uri:H.string(),params:H.record(H.string(),H.unknown()).optional()}),Sc=H.looseObject({name:H.string(),url:H.string(),description:H.string().optional(),skills:H.array(Ec).optional().default([]),capabilities:H.looseObject({extensions:H.array(qY$).optional().default([])}).optional()});function EY$($){let Z=Sc.safeParse($);if(!Z.success)return null;let X=Z.data,G=(X.capabilities?.extensions??[]).find((W)=>W.uri===qc),Y=null;if(G?.params){let W=xc.safeParse(G.params);if(W.success)Y=W.data}return{brainName:X.name,url:X.url,description:X.description??"",skills:X.skills.map((W)=>({id:W.id,name:W.name??W.id,description:W.description,tags:W.tags})),anchor:Y}}var xY$=H.object({name:H.string(),description:H.string(),tags:H.array(H.string()),examples:H.array(H.string())});import{EventEmitter as Ic}from"events";var q0={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},Q6={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class O6 extends Error{pluginId;constructor($,Z){super(`Plugin ${$}: ${Z}`);this.name="PluginError",this.pluginId=$}}class yF{scope;ingress=new Set;closePromise=null;closed=!1;constructor(){this.scope=t.runSync(o0.make())}addFinalizer($){if(this.closed)throw Error("Cannot register a resource after plugin teardown");t.runSync(o0.addFinalizer(this.scope,t.promise(async()=>{await $()})))}addIngress($){if(this.closed)throw Error("Cannot register ingress after plugin teardown");this.ingress.add($)}close($=M0.void){return this.closed=!0,this.closePromise??=this.closeScope($),this.closePromise}async closeScope($){let Z,X=!1,J=[...this.ingress].reverse();for(let D of J)try{D.stopAdmission()}catch(U){if(!X)Z=U;X=!0}let G=await Promise.allSettled(J.map((D)=>Promise.resolve().then(()=>D.drain())));this.ingress.clear();let Y=G.find((D)=>D.status==="rejected");if(!X&&Y)Z=Y.reason,X=!0;let W=await t.runPromiseExit(o0.close(this.scope,$));if(!X&&M0.isFailure(W))Z=Y6.squash(W.cause),X=!0;if(X)throw Z}}function jc($,Z){let X=$.getMessageBus(),J=new Set,G={send:(i)=>X.send(i),hasHandlers:(i)=>X.hasHandlers?.(i)??!1,subscribe:(i,$$,r)=>{let Q$=!0,T$=new Set,q$=(b0)=>{if(!Q$)return{noop:!0};let h6,G8=new Promise((Y8)=>{h6=Y8});T$.add(G8);let F8=()=>{T$.delete(G8),h6()},j4;try{j4=Promise.resolve($$(b0))}catch(Y8){throw F8(),Y8}return j4.then((Y8)=>{return F8(),Y8},(Y8)=>{throw F8(),Y8})},Z$=X.subscribe(i,q$,r),Q0={type:i,originalHandler:$$,stopAdmission:()=>{if(!Q$)return;Q$=!1,Z$(),J.delete(Q0)}};J.add(Q0);try{Z.addIngress({stopAdmission:Q0.stopAdmission,drain:async()=>{await Promise.all(T$)}})}catch(b0){throw Q0.stopAdmission(),b0}return Q0.stopAdmission},unsubscribe:(i,$$)=>{let r=[...J].filter((Q$)=>Q$.type===i&&Q$.originalHandler===$$);if(r.length===0){X.unsubscribe(i,$$);return}for(let Q$ of r)Q$.stopAdmission()}},Y=$.getAttachmentRegistry(),W={...Y,register:(i,$$,r)=>{let Q$=!0,T$=Y.register(i,$$,r),q$=()=>{if(!Q$)return;Q$=!1,T$()};return Z.addFinalizer(q$),q$}},D=$.getEntityRegistry(),U=new Proxy(D,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerEntityType"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterEntityType(q$));return T$};return typeof r==="function"?r.bind(i):r}}),A=$.getProfileKindRegistry(),Q=new Proxy(A,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),O=$.getChannelRegistry(),P=new Proxy(O,{get(i,$$){let r=Reflect.get(i,$$,i);if(($$==="registerDescriptor"||$$==="registerDeliveryProvider")&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),N=$.getInboxRegistry(),M=new Proxy(N,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerSource"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),w=$.getInboxFollowUpRegistry(),q=new Proxy(w,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerKind"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),K$=$.getAccountSettingsRegistry(),l=new Proxy(K$,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$);return Z.addFinalizer(()=>i.unregister(T$)),T$};return typeof r==="function"?r.bind(i):r}}),J$=$.getOperationalHealthRegistry(),B$=new Proxy(J$,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return T$};return typeof r==="function"?r.bind(i):r}}),h$=$.getDataSourceRegistry(),A$=new Proxy(h$,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="object"&&q$!==null&&"id"in q$&&typeof q$.id==="string"){let Z$=q$.id.includes(":")?q$.id:`shell:${q$.id}`;Z.addFinalizer(()=>i.unregister(Z$))}return T$};return typeof r==="function"?r.bind(i):r}}),m$=$.getInsightsRegistry(),v$=new Proxy(m$,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="register"&&typeof r==="function")return(...Q$)=>{let T$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregister(q$));return T$};return typeof r==="function"?r.bind(i):r}}),A0=new Proxy($,{get(i,$$){if($$==="getMessageBus")return()=>G;if($$==="getAttachmentRegistry")return()=>W;if($$==="getEntityRegistry")return()=>U;if($$==="getDataSourceRegistry")return()=>A$;if($$==="getProfileKindRegistry")return()=>Q;if($$==="getChannelRegistry")return()=>P;if($$==="getInboxRegistry")return()=>M;if($$==="getInboxFollowUpRegistry")return()=>q;if($$==="getOperationalHealthRegistry")return()=>B$;if($$==="getAccountSettingsRegistry")return()=>l;if($$==="getInsightsRegistry")return()=>v$;let r=Reflect.get(i,$$,i);return typeof r==="function"?r.bind(i):r}});return Sm($,A0),A0}class bF{plugins;events;daemonRegistry;logger;projectionRegistry;resourceScopes=new Map;releasePromises=new Map;constructor($,Z,X,J,G){this.plugins=$,this.events=Z,this.daemonRegistry=X,this.projectionRegistry=J,this.logger=G.child("PluginLifecycle")}async initializePlugin($,Z,X){let J=this.plugins.get($);if(!J)throw new O6($,"Registration failed: Plugin is not registered");let G=J.plugin,Y=new yF;Y.addFinalizer(()=>Z.unregisterPluginCapabilities?.($)),Y.addFinalizer(()=>Z.getJobQueueService().unregisterPluginHandlers($)),Y.addFinalizer(()=>this.projectionRegistry.unregisterPlugin($)),this.resourceScopes.set($,Y),this.releasePromises.delete($),this.logger.debug(`Initializing plugin: ${$}`);try{this.events.emit(Q6.BEFORE_INITIALIZE,$,G);let W=await G.register(jc(Z,Y),X);return J.status=q0.INITIALIZED,this.logger.debug(`Initialized plugin: ${$}`),this.events.emit(Q6.INITIALIZED,$,G),W}catch(W){throw this.logger.error(`Error initializing plugin ${$}: ${d$(W)}`),await this.failPluginInitialization($,W),W}}async finalizePluginRegistration($){let Z=this.plugins.get($);if(!Z)throw new O6($,"Registration finalization failed: Plugin is not registered");if(Z.status!==q0.INITIALIZED)return;try{await Z.plugin.finalizeRegistration?.(),this.logger.debug(`Registration finalized for plugin: ${$}`)}catch(X){throw await this.failPluginInitialization($,X),X}}async readyPlugin($){let Z=this.plugins.get($);if(!Z)throw new O6($,"Ready failed: Plugin is not registered");if(Z.status!==q0.INITIALIZED){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${$}`);return}try{await Z.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${$}`)}catch(X){let J=XJ(X);Z.status=q0.ERROR,Z.error=J;try{this.events.emit(Q6.ERROR,$,J)}catch(G){this.logger.error(`Plugin error listener failed for ${$}`,G)}throw J}}async startPluginDaemons($){let Z=this.plugins.get($);if(Z?.status!==q0.INITIALIZED)return;try{await this.daemonRegistry.startPlugin($),this.logger.debug(`Started daemons for plugin: ${$}`)}catch(X){if(Z.plugin.requiresDaemonStartup?.())throw X;this.logger.warn(`Daemon ${$} failed to start: ${d$(X)}`)}}async failPluginInitialization($,Z){let X=this.plugins.get($);if(!X)return;let J=X.status!==q0.ERROR,G=XJ(Z);if(X.status=q0.ERROR,X.error=G,await this.releasePluginResources($,M0.fail(Z)),J)try{this.events.emit(Q6.ERROR,$,G)}catch(Y){this.logger.error(`Plugin error listener failed for ${$}`,Y)}}async disablePlugin($){let Z=this.plugins.get($);if(!Z){this.logger.warn(`Cannot disable plugin ${$}: not registered`);return}if(Z.status===q0.DISABLED)return;this.logger.debug(`Disabling plugin: ${$}`);let X=Z.status===q0.ERROR;await this.releasePluginResources($,M0.void);let J=this.plugins.get($);if(!X&&J&&J.status!==q0.DISABLED)J.status=q0.DISABLED,this.events.emit(Q6.DISABLED,$,J.plugin);this.logger.debug(`Disabled plugin: ${$}`)}releasePluginResources($,Z){let X=this.releasePromises.get($);if(X)return X;let J=this.releasePluginResourcesOnce($,Z);return this.releasePromises.set($,J),J}async releasePluginResourcesOnce($,Z){let X=this.plugins.get($);if(!X)return;try{await this.daemonRegistry.stopPlugin($),this.logger.debug(`Stopped daemons for plugin: ${$}`)}catch(G){this.logger.error(`Failed to stop daemons for plugin: ${$}`,G)}let J=this.resourceScopes.get($);if(this.resourceScopes.delete($),J)try{await J.close(Z)}catch(G){this.logger.error(`Failed to close resources for plugin ${$}`,G)}if(X.plugin.shutdown)try{await X.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${$}`)}catch(G){this.logger.error(`Plugin shutdown failed for ${$}:`,G)}for(let G of this.daemonRegistry.getByPlugin($))try{await this.daemonRegistry.unregister(G.name)}catch(Y){this.logger.error(`Failed to unregister daemon ${G.name} for plugin ${$}`,Y)}}}class gF{plugins;events;logger;constructor($,Z,X){this.plugins=$,this.events=Z,this.logger=X.child("DependencyResolver")}async resolveInitializationOrder($){this.logger.debug("Resolving plugin initialization order...");let Z=Array.from(this.plugins.keys()),X=new Set,J=!0;while(J&&X.size<Z.length){J=!1;for(let W of Z){if(X.has(W))continue;if(!this.plugins.get(W))continue;if(this.getUnmetDependencies(W).length===0)try{await $(W),X.add(W),J=!0}catch(A){let Q=d$(A);this.logger.error(`Failed to initialize plugin ${W}: ${Q}`),X.add(W),J=!0}}}let G=Z.filter((W)=>!X.has(W));if(G.length>0){let W=G.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${W}`);for(let D of G){let U=this.getUnmetDependencies(D);this.logger.error(`Plugin ${D} has unmet dependencies: ${U.join(", ")}`);let A=this.plugins.get(D);if(A)A.status=q0.ERROR,A.error=new O6(D,`Unmet dependencies: ${U.join(", ")}`);this.events.emit(Q6.ERROR,D,A?.error)}}let Y=new Set;for(let[W,D]of this.plugins)if(D.status===q0.INITIALIZED)Y.add(W);return this.logger.debug(`Resolved ${Y.size} of ${Z.length} plugins`),{initialized:Y,failed:G}}getUnmetDependencies($){let Z=this.plugins.get($);if(!Z)return[];let{dependencies:X}=Z,J=[];for(let G of X){let Y=this.plugins.get(G);if(!Y){J.push(G);continue}if(Y.status!==q0.INITIALIZED)J.push(G)}return J}}class hF{logger;projectionRegistry;constructor($,Z){this.logger=$.child("CapabilityRegistrar"),this.projectionRegistry=Z}async registerCapabilities($,Z,X,J){if(!J?.executionOnly&&X.tools.length>0)$.registerTools(Z,X.tools),this.logger.debug(`Registered ${X.tools.length} tools from ${Z}`);if(!J?.executionOnly&&X.resources.length>0)$.registerResources(Z,X.resources),this.logger.debug(`Registered ${X.resources.length} resources from ${Z}`);if(!J?.executionOnly&&X.instructions)$.registerInstructions(Z,X.instructions),this.logger.debug(`Registered instructions from ${Z}`);let G=X.projectionRules??[];try{for(let Y of G)this.projectionRegistry.registerRule(Z,Y)}catch(Y){throw this.projectionRegistry.unregisterPlugin(Z),Y}if(G.length>0)this.logger.debug(`Registered ${G.length} projection rules from ${Z}`)}}class F3{projections=new Map;rules=new Map;static createFresh(){return new F3}constructor(){}registerRule($,Z){if(!Object.isFrozen(Z))throw Error(`Projection rule "${Z.id}" must be created with defineProjectionRule`);let X=this.projections.get(Z.id);if(X)throw Error(`Projection "${Z.id}" is already registered by "${X.pluginId}"`);let J={id:Z.id,pluginId:$,targetType:Z.targetType,sources:Z.sources.map((Y)=>({kind:Y.kind,types:[...Y.types],...Y.excludeTypes?{excludeTypes:[...Y.excludeTypes]}:{}}))};this.projections.set(Z.id,J),this.rules.set(Z.id,Z);let G=!0;return()=>{if(!G)return;if(G=!1,this.rules.get(Z.id)===Z)this.rules.delete(Z.id);if(this.projections.get(Z.id)===J)this.projections.delete(Z.id)}}unregisterPlugin($){for(let[Z,X]of this.projections)if(X.pluginId===$)this.projections.delete(Z),this.rules.delete(Z)}list(){return Array.from(this.projections.values()).sort(($,Z)=>$.id.localeCompare(Z.id)).map(kY$)}listRules(){return[...this.rules.values()].sort(($,Z)=>$.id.localeCompare(Z.id))}validate($){let Z=this.list(),X=new Set($.map(({type:W})=>W));for(let W of Z)if(!X.has(W.targetType))throw Error(`Projection "${W.id}" targets unregistered entity type "${W.targetType}"`);let J=$.filter(({projectionSource:W})=>W).map(({type:W})=>W).sort(),G=IY$(Z,J),Y=yY$(Z,G)[0];if(Y){let W=bY$(Y,G);throw Error(`Projection cycle is not supported: ${[...W,W[0]].join(" -> ")}`)}return jY$({projections:Z,edges:G,unknownSourceTypes:SY$(Z,X)})}}function SY$($,Z){let X=[];for(let J of $){let G=[...new Set(J.sources.flatMap((Y)=>[...Y.types,...Y.excludeTypes??[]]).filter((Y)=>Y!=="*"&&!Z.has(Y)))].sort();if(G.length>0)X.push({projectionId:J.id,types:G})}return X}function jY$($){for(let Z of $.projections){for(let X of Z.sources){if(Object.freeze(X.types),X.excludeTypes)Object.freeze(X.excludeTypes);Object.freeze(X)}Object.freeze(Z.sources),Object.freeze(Z)}for(let Z of $.edges)Object.freeze(Z.causes),Object.freeze(Z);for(let Z of $.unknownSourceTypes)Object.freeze(Z.types),Object.freeze(Z);return Object.freeze($.unknownSourceTypes),Object.freeze($.projections),Object.freeze($.edges),Object.freeze($)}function kY$($){return{...$,sources:$.sources.map((Z)=>({...Z,types:[...Z.types],...Z.excludeTypes?{excludeTypes:[...Z.excludeTypes]}:{}}))}}function IY$($,Z){let X=new Map;for(let J of $)for(let G of $){let Y=vY$(J,G,Z);if(Y.length===0)continue;X.set(`${J.id}\x00${G.id}`,new Set(Y))}return Array.from(X,([J,G])=>{let[Y="",W=""]=J.split("\x00");return{from:Y,to:W,causes:[...G].sort()}}).sort((J,G)=>J.from.localeCompare(G.from)||J.to.localeCompare(G.to))}function vY$($,Z,X){let J=[];for(let G of Z.sources){let Y=new Set(G.excludeTypes??[]);if((G.types.includes("*")?[...G.types.filter((D)=>D!=="*"),...X]:G.types).includes($.targetType)&&!Y.has($.targetType))J.push(`entity:${$.targetType}`)}return[...new Set(J)]}function yY$($,Z){let X=$.map(({id:O})=>O).sort(),J=kc(X,Z),G=new Map,Y=new Map,W=[],D=new Set,U=[],A=0,Q=(O)=>{G.set(O,A),Y.set(O,A),A++,W.push(O),D.add(O);for(let w of J.get(O)??[])if(!G.has(w))Q(w),Y.set(O,Math.min(Y.get(O)??0,Y.get(w)??0));else if(D.has(w))Y.set(O,Math.min(Y.get(O)??0,G.get(w)??0));if(Y.get(O)!==G.get(O))return;let P=[],N;do{if(N=W.pop(),!N)break;D.delete(N),P.push(N)}while(N!==O);let M=J.get(O)?.includes(O)??!1;if(P.length>1||M)U.push(P.sort())};for(let O of X)if(!G.has(O))Q(O);return U.sort((O,P)=>(O[0]??"").localeCompare(P[0]??""))}function bY$($,Z){let X=new Set($),J=kc($,Z),G=[...$].sort()[0];if(!G)return[];if(J.get(G)?.includes(G))return[G];let Y=(W,D)=>{for(let U of J.get(W)??[]){if(!X.has(U))continue;if(U===G)return D;if(D.includes(U))continue;let A=Y(U,[...D,U]);if(A)return A}return};return Y(G,[G])??[...$].sort()}function kc($,Z){let X=new Map;for(let J of $)X.set(J,[]);for(let J of Z){let G=X.get(J.from);if(G&&!G.includes(J.to))G.push(J.to)}for(let J of X.values())J.sort();return X}async function vc($){let X=(await t.runPromise(t.all($.map((J)=>t.either(t.tryPromise({try:J,catch:(G)=>G}))),{concurrency:"unbounded"}))).find(nZ.isLeft);if(X)throw X.left}class T3{plugins=new Map;logger;events=new Ic;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=F3.createFresh();projectionGraph;static createFresh($,Z){return new T3($,Z)}setShell($){this.shell=$}constructor($,Z){this.logger=$.child("PluginManager"),this.events=new Ic,this.daemonRegistry=Z,this.pluginLifecycle=new bF(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,$),this.dependencyResolver=new gF(this.plugins,this.events,$),this.capabilityRegistrar=new hF($,this.projectionRegistry)}registerPlugin($){if(!$.id)throw new O6("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${$.id} (${$.version})`),this.plugins.has($.id)){let G=this.plugins.get($.id)?.plugin.version;throw new O6($.id,`Registration failed: Plugin is already registered with version ${G}`)}let Z=$.dependencies??[],X={plugin:$,status:q0.REGISTERED,dependencies:Z};this.plugins.set($.id,X),this.logger.debug(`Registered plugin: ${$.id} (${$.version})`),this.events.emit(Q6.REGISTERED,$.id,$)}async initializePlugins($){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let Z=await this.dependencyResolver.resolveInitializationOrder(async(X)=>{await this.initializePlugin(X,$)});this.logger.debug(`Initialized ${Z.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin($,Z){if(!this.shell)throw new O6($,"Cannot initialize plugin: Shell not set. Call setShell() first.");let X=this.shell;try{let J=await this.pluginLifecycle.initializePlugin($,X,Z);await this.capabilityRegistrar.registerCapabilities(X,$,J,{executionOnly:Z?.executionOnly}),this.initializedPluginIds.push($)}catch(J){throw await this.pluginLifecycle.failPluginInitialization($,J),J}}async finalizePluginRegistrations(){this.logger.debug("Finalizing plugin registrations...");for(let X of this.initializedPluginIds)await this.pluginLifecycle.finalizePluginRegistration(X);if(!this.shell)throw Error("Cannot validate projections before the shell is set");let $=this.shell.getEntityRegistry(),Z=this.projectionRegistry.validate($.getAllEntityTypes().map((X)=>{let J=$.getEntityTypeConfig(X);return{type:X,projectionSource:J.projectionSource!==!1&&J.projectionSourceRole!=="excluded"}}));this.projectionGraph=Z;for(let X of Z.unknownSourceTypes)this.logger.warn("Projection declares entity source types no installed plugin registers",{projectionId:X.projectionId,types:X.types});this.logger.debug("Validated projection graph",{projections:Z.projections.length,edges:Z.edges.length})}getProjectionGraphSnapshot(){if(!this.projectionGraph)throw Error("Projection graph has not been finalized");return this.projectionGraph}getProjectionRulesSnapshot(){if(!this.projectionGraph)throw Error("Projection graph has not been finalized");return Object.freeze(this.projectionRegistry.listRules())}async readyPlugins(){this.logger.debug("Dispatching plugin ready hooks...");try{await vc(this.initializedPluginIds.map(($)=>()=>this.pluginLifecycle.readyPlugin($)))}catch($){for(let Z of this.initializedPluginIds){let X=this.plugins.get(Z);if(X?.status===q0.ERROR)await this.pluginLifecycle.failPluginInitialization(Z,X.error??$)}throw $}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await vc(this.initializedPluginIds.map(($)=>()=>this.pluginLifecycle.startPluginDaemons($)))}getPlugin($){return this.plugins.get($)?.plugin}getPluginStatus($){return this.plugins.get($)?.status}hasPlugin($){return this.plugins.has($)}isPluginInitialized($){return this.plugins.get($)?.status===q0.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter(($)=>$[1].status===q0.ERROR&&$[1].error!==void 0).map(([$,Z])=>({id:$,error:Z.error}))}getPluginPackageName($){return this.plugins.get($)?.plugin.packageName}async disablePlugin($){await this.pluginLifecycle.disablePlugin($)}async shutdownPlugins(){let $=new Set;for(let Z of[...this.initializedPluginIds].reverse())await this.disablePlugin(Z),$.add(Z);for(let Z of[...this.plugins.keys()].reverse())if(!$.has(Z))await this.disablePlugin(Z)}on($,Z){this.events.on($,Z)}once($,Z){this.events.once($,Z)}off($,Z){this.events.off($,Z)}getEventEmitter(){return this.events}}export{b9 as va,eG as wa,b_ as xa,g_ as ya,Wg as za,Dg as Aa,Hg as Ba,Ug as Ca,WX$ as Da,DX$ as Ea,UX$ as Fa,ZY as Ga,XY as Ha,TX$ as Ia,MX$ as Ja,Xh as Ka,RX$ as La,Gh as Ma,CX$ as Na,KJ as Oa,gY$ as Pa,hY$ as Qa,C3 as Ra,mY$ as Sa,fY$ as Ta,cY$ as Ua,pY$ as Va,dY$ as Wa,uY$ as Xa,oY$ as Ya,nY$ as Za,$J as _a,bX$ as $a,qZ as ab,cM$ as bb,RA as cb,_ as db,c as eb,JA as fb,F$ as gb,x9 as hb,dX as ib,Ly as jb,k6 as kb,Z8 as lb,C4 as mb,uX as nb,dG as ob,GA as pb,PZ as qb,oG as rb,a$ as sb,X$ as tb,TZ as ub,Tb as vb,ZZ as wb,WP$ as xb,j9 as yb,_A as zb,y6 as Ab,b6 as Bb,yb as Cb,L7$ as Db,q7$ as Eb,m as Fb,l$ as Gb,q_ as Hb,E_ as Ib,ZJ as Jb,PP as Kb,nZ as Lb,W0 as Mb,i0 as Nb,Y6 as Ob,x5 as Pb,M0 as Qb,o0 as Rb,K1 as Sb,t as Tb,B1 as Ub,a5 as Vb,vG as Wb,N1 as Xb,DB$ as Yb,FP as Zb,TP as _b,MP as $b,HY as ac,zP as bc,RP as cc,wP as dc,U0 as ec,dZ as fc,W7 as gc,D7 as hc,Th as ic,Mh as jc,JJ$ as kc,LA as lc,yG as mc,t5$ as nc,e5$ as oc,wN as pc,CN as qc,qP as rc,h as sc,XZ as tc,y0 as uc,h8 as vc,q4 as wc,t$ as xc,K6 as yc,bb as zc,V6 as Ac,EN as Bc,P1 as Cc,aU as Dc,L9 as Ec,xN as Fc,H6 as Gc,Yy as Hc,z4 as Ic,cZ as Jc,rU as Kc,t5 as Lc,Jy as Mc,g6 as Nc,j_ as Oc,k_ as Pc,eb as Qc,_1 as Rc,SN as Sc,XX$ as Tc,$g as Uc,Zg as Vc,I_ as Wc,Xg as Xc,y_ as Yc,Jg as Zc,EA as _c,UJ$ as $c,jA as ad,vA as bd,SP as cd,VY as dd,kP as ed,f2$ as fd,vP as gd,c2$ as hd,p2$ as id,d2$ as jd,$2$ as kd,YJ as ld,Yf as md,Uf as nd,LY as od,jS$ as pd,f8 as qd,KF as rd,Kf as sd,OF as td,_f as ud,lA as vd,Pf as wd,t2$ as xd,Ff as yd,Tf as zd,UG$ as Ad,zf as Bd,BG$ as Cd,NG$ as Dd,_G$ as Ed,PG$ as Fd,BF as Gd,sA as Hd,V7 as Id,CG$ as Jd,NF as Kd,uZ as Ld,NJ$ as Md,_J$ as Nd,PJ$ as Od,TJ$ as Pd,eh as Qd,$m as Rd,pP as Sd,Xm as Td,Gm as Ud,gP as Vd,Ym as Wd,eJ$ as Xd,eE$ as Yd,gA as Zd,tP as _d,eP as $d,gm as ae,WJ as be,mA as ce,fA as de,zY as ee,cA as fe,om as ge,RY as he,Q2$ as ie,O2$ as je,B2$ as ke,N2$ as le,_2$ as me,wY as ne,CY as oe,EG$ as pe,jf as qe,gf as re,k2$ as se,b2$ as te,nA as ue,$f as ve,Zf as we,g2$ as xe,hf as ye,h2$ as ze,m2$ as Ae,mf as Be,DJ as Ce,df as De,uf as Ee,of as Fe,nf as Ge,lf as He,TF as Ie,MF as Je,ef as Ke,zF as Le,J3 as Me,Xc as Ne,G3 as Oe,RF as Pe,Jc as Qe,Gc as Re,Wc as Se,Dc as Te,Y3 as Ue,Ac as Ve,Kc as We,D3 as Xe,xY as Ye,SY as Ze,Vc as _e,Qc as $e,Oc as af,xF as bf,jY as cf,_c as df,Pc as ef,Fc as ff,Tc as gf,Mc as hf,FY$ as if,zc as jf,SF as kf,MY$ as lf,RY$ as mf,O3 as nf,B3 as of,N3 as pf,wc as qf,Q7 as rf,_3 as sf,kY as tf,Cc as uf,vF as vf,qc as wf,EY$ as xf,xY$ as yf,O6 as zf,T3 as Af};
134
134
 
135
- //# debugId=5861C55EF4DC9B0164756E2164756E21
136
- //# sourceMappingURL=index-b6mztv4y.js.map
135
+ //# debugId=BBAC6732C740ED5C64756E2164756E21
136
+ //# sourceMappingURL=index-mhww1ck3.js.map