@rizom/brain 0.2.0-alpha.289 → 0.2.0-alpha.290
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/brain.js +38 -38
- package/dist/chunks/{app-dwzb3tnp.js → app-jpp8918r.js} +2 -2
- package/dist/chunks/{blog-post-adapter-d8pqw69s.js → blog-post-adapter-e9qeze9e.js} +2 -2
- package/dist/chunks/{index-676p6zgc.js → index-0ndfnbbq.js} +2 -2
- package/dist/chunks/{index-eshm19g0.js → index-1hbp5mpx.js} +33 -33
- package/dist/chunks/{index-eshm19g0.js.map → index-1hbp5mpx.js.map} +4 -4
- package/dist/chunks/{index-me044pff.js → index-2hgkq47h.js} +3 -3
- package/dist/chunks/{index-582snmtn.js → index-bcgyg336.js} +2 -2
- package/dist/chunks/{index-pzmewstp.js → index-p9wd2y2n.js} +3 -3
- package/dist/chunks/{index-pzmewstp.js.map → index-p9wd2y2n.js.map} +1 -1
- package/dist/chunks/{index-z7me3bpa.js → index-w0sageef.js} +2 -2
- package/dist/chunks/{linkedin-template-y9kkzwcn.js → linkedin-template-fdyh5wzt.js} +2 -2
- package/dist/chunks/{rss-datasource-bcar45fw.js → rss-datasource-gbta7yt5.js} +2 -2
- package/dist/entities.js +1 -1
- package/dist/index.js +1 -1
- package/dist/interfaces.js +1 -1
- package/dist/model.d.ts +10 -0
- package/dist/model.js +39 -39
- package/dist/model.js.map +1 -1
- package/dist/plugins.js +1 -1
- package/dist/services.js +1 -1
- package/package.json +1 -1
- /package/dist/chunks/{app-dwzb3tnp.js.map → app-jpp8918r.js.map} +0 -0
- /package/dist/chunks/{blog-post-adapter-d8pqw69s.js.map → blog-post-adapter-e9qeze9e.js.map} +0 -0
- /package/dist/chunks/{index-676p6zgc.js.map → index-0ndfnbbq.js.map} +0 -0
- /package/dist/chunks/{index-me044pff.js.map → index-2hgkq47h.js.map} +0 -0
- /package/dist/chunks/{index-582snmtn.js.map → index-bcgyg336.js.map} +0 -0
- /package/dist/chunks/{index-z7me3bpa.js.map → index-w0sageef.js.map} +0 -0
- /package/dist/chunks/{linkedin-template-y9kkzwcn.js.map → linkedin-template-fdyh5wzt.js.map} +0 -0
- /package/dist/chunks/{rss-datasource-bcar45fw.js.map → rss-datasource-gbta7yt5.js.map} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{If as rh}from"./index-e9k9xkwe.js";import{Kf as F9}from"./index-msyn1rxk.js";import{$f as ag,Ah as ch,Cg as k4,Dg as sG,Gg as cA,Hh as DY,Ig as q5$,Qf as IA,Rf as vA,Sf as yA,Vf as Xm,Zf as $7,_f as Xh,ag as NF,bg as zm,hg as Lh,jg as j4,jh as ib,kh as XY,lh as Df,mh as yb,ng as l$,nh as dA,og as eX,pg as Wf,qg as gX,rg as X7,tg as PP,vg as e5,xg as Hf,yg as JY,yh as LA}from"./index-6y6w69yf.js";import{Ph as D}from"./index-mr9h7gd6.js";import{Qh as L5$,Sh as T8}from"./index-evs9rvr6.js";function HJ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function yG$($){try{return new URL($).hostname.replace(/\./g,"-")}catch{return($.split("/")[0]??$).replace(/\./g,"-")}}function bG$($,Z){let X=HJ($);if(!X){let J=Date.now().toString(36);return Z?`id-${J}-${Z}`:`id-${J}`}return Z?`${X}-${Z}`:X}var Hp=new Set(["series","species","sheep","deer","fish"]);function N3($){if(Hp.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 gG$($){return $.replace(/[-_]/g," ").replace(/([A-Z])/g," $1").replace(/\b\w/g,(Z)=>Z.toUpperCase()).replace(/\s+/g," ").trim()}function hG$($){let X=$.split("-").map((G)=>G.charAt(0).toUpperCase()+G.slice(1)),J=X.pop();if(J)X.push(N3(J));return X.join(" ")}var Dp={github:"GitHub",instagram:"Instagram",linkedin:"LinkedIn",email:"Email",website:"Website"};function mG$($){let Z=$.toLowerCase(),X=Dp[Z];if(X!==void 0)return X;return $.replace(/\b\w/g,(J)=>J.toUpperCase())}function fG$($,Z){if(!Z)return $;try{return new URL($,Z).toString()}catch{return $}}function pG$($){let X=$.split(/\s+/).filter((J)=>J.length>0).length;return Math.max(1,Math.ceil(X/200))}function cG$($){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 dG$($,Z){if($.length<=Z)return $;let X=$.slice(0,Z),J=X.lastIndexOf(" ");return J>0?X.slice(0,J)+"...":X+"..."}function uG$($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}var T0={};T8(T0,{zipWith:()=>EV,zipRight:()=>no,zipParRight:()=>io,zipParLeft:()=>ro,zipPar:()=>lo,zipLeft:()=>oo,zip:()=>uo,void:()=>co,succeed:()=>F2,matchEffect:()=>po,match:()=>qV,mapErrorCause:()=>fo,mapError:()=>mo,mapBoth:()=>ho,map:()=>go,isSuccess:()=>A4,isInterrupted:()=>Ro,isFailure:()=>P2,isExit:()=>Co,interrupt:()=>LV,getOrElse:()=>bo,fromOption:()=>yo,fromEither:()=>vo,forEachEffect:()=>EH,flatten:()=>RV,flatMapEffect:()=>Io,flatMap:()=>ko,failCause:()=>CV,fail:()=>wV,exists:()=>jo,die:()=>So,causeOption:()=>Eo,asVoid:()=>qo,as:()=>Lo,all:()=>xo});var nZ={};T8(nZ,{zipWith:()=>lF,void:()=>Ip,try:()=>yp,transposeOption:()=>Xc,transposeMapOption:()=>Jc,right:()=>S$,orElse:()=>np,merge:()=>r4,match:()=>nF,mapLeft:()=>fp,mapBoth:()=>mp,map:()=>k9,liftPredicate:()=>pp,let:()=>Zc,left:()=>f$,isRight:()=>m6,isLeft:()=>w0,isEither:()=>oF,getRight:()=>bp,getOrUndefined:()=>up,getOrThrowWith:()=>S3,getOrThrow:()=>op,getOrNull:()=>dp,getOrElse:()=>x3,getLeft:()=>gp,getEquivalence:()=>hp,gen:()=>ap,fromOption:()=>E3,fromNullable:()=>vp,flip:()=>ip,flatMap:()=>zJ,filterOrLeft:()=>cp,bindTo:()=>$c,bind:()=>ep,ap:()=>rp,andThen:()=>lp,all:()=>j3,TypeId:()=>kp,Do:()=>tp});var yY=($)=>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(H){return Z(H,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 w$=($)=>$;var V7=($)=>()=>$,g6=V7(!0),JZ=V7(!1),bY=V7(null),DJ=V7(void 0),TZ=DJ;function F($,Z,X,J,G,Y,W,H,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 H(W(Y(G(J(X(Z($)))))));case 9:return U(H(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 h6=($)=>(Z,X)=>Z===X||$(Z,X),Up=($,Z)=>$===Z,Ap=()=>Up;var wF=Ap();var CF=V(2,($,Z)=>h6((X,J)=>$(Z(X),Z(J))));var gY=($)=>h6((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 O7=($)=>V(3,(Z,X,J)=>$(Z,(G)=>({...G,[X]:J(G)}))),B7=($)=>V(2,(Z,X)=>$(Z,(J)=>({[X]:J}))),N7=($,Z)=>V(3,(X,J,G)=>Z(X,(Y)=>$(G(Y),(W)=>({...Y,[J]:W}))));var UJ,_$=($,Z)=>{if(!UJ)globalThis["effect/GlobalValue"]??=new Map,UJ=globalThis["effect/GlobalValue"];if(!UJ.has($))UJ.set($,Z());return UJ.get($)};var AJ=($)=>typeof $==="string",KJ=($)=>typeof $==="number";var P3=($)=>typeof $==="bigint";var m8=yY;var Kp=($)=>typeof $==="object"&&$!==null,L9=($)=>Kp($)||m8($),u=V(2,($,Z)=>L9($)&&(Z in $)),k1=V(2,($,Z)=>u($,"_tag")&&$._tag===Z),m4=($)=>$===null||$===void 0;var f8=($)=>typeof $==="string"||u($,Symbol.iterator);var F3=($)=>u($,"then")&&m8($.then);var q9=($)=>`BUG: ${$} - please report an issue at https://github.com/Effect-TS/effect/issues`;var z3=Symbol.for("effect/Gen/GenKind"),hY=($)=>L9($)&&(z3 in $);class LF{value;constructor($){this.value=$}get _F(){return w$}get _R(){return($)=>$}get _O(){return($)=>$}get _E(){return($)=>$}[z3]=z3;[Symbol.iterator](){return new p4(this)}}class p4{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 p4(this.self)}}var mY=()=>function(){let $=arguments[0];for(let Z=1;Z<arguments.length;Z++)$=arguments[Z]($);return new LF($)},Vp=335903614,Qp=4150755663,Op=1481765933,Bp=1284865837,Np=9007199254740992,_p=134217728;class M3{_state;constructor($,Z,X,J){if(m4(Z)&&m4($))Z=Math.random()*4294967295>>>0,$=0;else if(m4(Z))Z=$,$=0;if(m4(J)&&m4(X))J=this._state?this._state[3]:Qp,X=this._state?this._state[2]:Vp;else if(m4(J))J=X,X=0;return this._state=new Int32Array([0,0,X>>>0,((J||0)|1)>>>0]),this._next(),RF(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($*_p+Z)/Np}_next(){let $=this._state[0]>>>0,Z=this._state[1]>>>0;Pp(this._state,$,Z,Op,Bp),RF(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 Pp($,Z,X,J,G){let Y=(X>>>16)*(G&65535)>>>0,W=(X&65535)*(G>>>16)>>>0,H=(X&65535)*(G&65535)>>>0,U=(X>>>16)*(G>>>16)+((W>>>16)+(Y>>>16))>>>0;if(W=W<<16>>>0,H=H+W>>>0,H>>>0<W>>>0)U=U+1>>>0;if(Y=Y<<16>>>0,H=H+Y>>>0,H>>>0<Y>>>0)U=U+1>>>0;U=U+Math.imul(X,J)>>>0,U=U+Math.imul(Z,G)>>>0,$[0]=U,$[1]=H}function RF($,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 T3=Symbol.for("effect/Utils/YieldWrap");class E9{#$;constructor($){this.#$=$}[T3](){return this.#$}}function c4($){if(typeof $==="object"&&$!==null&&T3 in $)return $[T3]();throw Error(q9("yieldWrapGet"))}var W8=_$("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var qF={effect_internal_function:($)=>{return $()}},Fp={effect_internal_function:($)=>{try{return $()}finally{}}},zp=qF.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,E0=zp?qF.effect_internal_function:Fp.effect_internal_function,Tp=function*(){}.constructor,EF=($)=>L9($)&&$.constructor===Tp;var C3=_$(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),Y$=Symbol.for("effect/Hash"),a=($)=>{if(W8.enabled===!0)return 0;switch(typeof $){case"number":return d4($);case"bigint":return u$($.toString(10));case"boolean":return u$(String($));case"symbol":return u$(String($));case"string":return u$($);case"undefined":return u$("undefined");case"function":case"object":if($===null)return u$("null");else if($ instanceof Date){if(Number.isNaN($.getTime()))return u$("Invalid Date");return a($.toISOString())}else if($ instanceof URL)return a($.href);else if(Mp($))return $[Y$]();else return VJ($);default:throw Error(`BUG: unhandled typeof ${typeof $} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},VJ=($)=>{if(!C3.has($))C3.set($,d4(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return C3.get($)},V$=($)=>(Z)=>Z*53^$,fY=($)=>$&3221225471|$>>>1&1073741824,Mp=($)=>u($,Y$),d4=($)=>{if($!==$||$===1/0)return 0;let Z=$|0;if(Z!==$)Z^=$*4294967295;while($>4294967295)Z^=$/=4294967295;return fY(Z)},u$=($)=>{let Z=5381,X=$.length;while(X)Z=Z*33^$.charCodeAt(--X);return fY(Z)},wp=($,Z)=>{let X=12289;for(let J=0;J<Z.length;J++)X^=F(u$(Z[J]),V$(a($[Z[J]])));return fY(X)},pY=($)=>wp($,Object.keys($)),n0=($)=>{let Z=6151;for(let X=0;X<$.length;X++)Z=F(Z,V$(a($[X])));return fY(Z)},R$=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($)=>cY($,arguments[0]);return cY(arguments[0],arguments[1])}function cY($,Z){if($===Z)return!0;let X=typeof $;if(X!==typeof Z)return!1;if(X==="object"||X==="function"){if($!==null&&Z!==null){if(_7($)&&_7(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)=>cY(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)&&cY($[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 _7=($)=>u($,G$),QJ=()=>s;var C$=Symbol.for("nodejs.util.inspect.custom"),y$=($)=>{try{if(u($,"toJSON")&&m8($.toJSON)&&$.toJSON.length===0)return $.toJSON();else if(Array.isArray($))return $.map(y$)}catch{return{}}return jF($)};var k$=($)=>JSON.stringify($,null,2),KY$={toJSON(){return y$(this)},[C$](){return this.toJSON()},toString(){return k$(this.toJSON())}};var x9=($,Z=2)=>{if(typeof $==="string")return $;try{return typeof $==="object"?dY($,Z):String($)}catch{return String($)}},dY=($,Z)=>{let X=[],J=JSON.stringify($,(G,Y)=>typeof Y==="object"&&Y!==null?X.includes(Y)?void 0:X.push(Y)&&(u4.fiberRefs!==void 0&&xF(Y)?Y[R3](u4.fiberRefs):Y):Y,Z);return X=void 0,J},R3=Symbol.for("effect/Inspectable/Redactable"),xF=($)=>typeof $==="object"&&$!==null&&(R3 in $),u4=_$("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),SF=($,Z)=>{let X=u4.fiberRefs;u4.fiberRefs=$;try{return Z()}finally{u4.fiberRefs=X}},jF=($)=>{if(xF($)&&u4.fiberRefs!==void 0)return $[R3](u4.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 o4="Async",n4="Commit",X0="Failure",F7="OnFailure",z7="OnSuccess",T7="OnSuccessAndFailure",J0="Success",uY="Sync",kF="Tag",S9="UpdateRuntimeFlags",M7="While",l4="Iterator",oY="WithRuntime",w7="Yield",OJ="RevertFlags";var Cp="3.22.0",NJ=()=>Cp;var vF=Symbol.for("effect/Effect"),yF=Symbol.for("effect/Stream"),bF=Symbol.for("effect/Sink"),gF=Symbol.for("effect/Channel"),I1={_R:($)=>$,_E:($)=>$,_A:($)=>$,_V:NJ()},Rp={_A:($)=>$,_In:($)=>$,_L:($)=>$,_E:($)=>$,_R:($)=>$},Lp={_Env:($)=>$,_InErr:($)=>$,_InElem:($)=>$,_InDone:($)=>$,_OutErr:($)=>$,_OutElem:($)=>$,_OutDone:($)=>$},j9={[vF]:I1,[yF]:I1,[bF]:Rp,[gF]:Lp,[G$]($){return this===$},[Y$](){return R$(this,VJ(this))},[Symbol.iterator](){return new p4(new E9(this))},pipe(){return n(this,arguments)}},C7={[Y$](){return R$(this,pY(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}},p8={...j9,_op:n4},L3={...p8,...C7},hF=function(){function $(){}return $.prototype=p8,$}();var fF=Symbol.for("effect/Option"),pF={...j9,[fF]:{_A:($)=>$},[C$](){return this.toJSON()},toString(){return k$(this.toJSON())}},qp=Object.assign(Object.create(pF),{_tag:"Some",_op:"Some",[G$]($){return nY($)&&q3($)&&s(this.value,$.value)},[Y$](){return R$(this,V$(a(this._tag))(a(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:y$(this.value)}}}),Ep=a("None"),xp=Object.assign(Object.create(pF),{_tag:"None",_op:"None",[G$]($){return nY($)&&Q6($)},[Y$](){return Ep},toJSON(){return{_id:"Option",_tag:this._tag}}}),nY=($)=>u($,fF),Q6=($)=>$._tag==="None",q3=($)=>$._tag==="Some",O6=Object.create(xp),oZ=($)=>{let Z=Object.create(qp);return Z.value=$,Z};var lY=Symbol.for("effect/Either"),cF={...j9,[lY]:{_R:($)=>$},[C$](){return this.toJSON()},toString(){return k$(this.toJSON())}},Sp=Object.assign(Object.create(cF),{_tag:"Right",_op:"Right",[G$]($){return rY($)&&iY($)&&s(this.right,$.right)},[Y$](){return V$(a(this._tag))(a(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:y$(this.right)}}}),jp=Object.assign(Object.create(cF),{_tag:"Left",_op:"Left",[G$]($){return rY($)&&R7($)&&s(this.left,$.left)},[Y$](){return V$(a(this._tag))(a(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:y$(this.left)}}}),rY=($)=>u($,lY),R7=($)=>$._tag==="Left",iY=($)=>$._tag==="Right",PJ=($)=>{let Z=Object.create(jp);return Z.left=$,Z},FJ=($)=>{let Z=Object.create(Sp);return Z.right=$,Z},sY=($)=>iY($)?O6:oZ($.left),aY=($)=>R7($)?O6:oZ($.right),dF=V(2,($,Z)=>Q6($)?PJ(Z()):FJ($.value));var kp=lY,S$=FJ,Ip=S$(void 0);var f$=PJ,vp=V(2,($,Z)=>$==null?f$(Z($)):S$($)),E3=dF,yp=($)=>{if(m8($))try{return S$($())}catch(Z){return f$(Z)}else try{return S$($.try())}catch(Z){return f$($.catch(Z))}};var oF=rY,w0=R7,m6=iY,bp=aY,gp=sY,hp=({left:$,right:Z})=>h6((X,J)=>w0(X)?w0(J)&&$(X.left,J.left):m6(J)&&Z(X.right,J.right)),mp=V(2,($,{onLeft:Z,onRight:X})=>w0($)?f$(Z($.left)):S$(X($.right))),fp=V(2,($,Z)=>w0($)?f$(Z($.left)):S$($.right)),k9=V(2,($,Z)=>m6($)?S$(Z($.right)):f$($.left)),nF=V(2,($,{onLeft:Z,onRight:X})=>w0($)?Z($.left):X($.right)),pp=V(3,($,Z,X)=>Z($)?S$($):f$(X($))),cp=V(3,($,Z,X)=>zJ($,(J)=>Z(J)?S$(J):f$(X(J)))),r4=nF({onLeft:w$,onRight:w$}),x3=V(2,($,Z)=>w0($)?Z($.left):$.right),dp=x3(bY),up=x3(DJ),S3=V(2,($,Z)=>{if(m6($))return $.right;throw Z($.left)}),op=S3(()=>Error("getOrThrow called on a Left")),np=V(2,($,Z)=>w0($)?Z($.left):S$($.right)),zJ=V(2,($,Z)=>w0($)?f$($.left):Z($.right)),lp=V(2,($,Z)=>zJ($,(X)=>{let J=m8(Z)?Z(X):Z;return oF(J)?J:S$(J)})),lF=V(3,($,Z,X)=>zJ($,(J)=>k9(Z,(G)=>X(J,G)))),rp=V(2,($,Z)=>lF($,Z,(X,J)=>X(J))),j3=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(w0(J))return J;X.push(J.right)}return S$(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(w0(J))return J;Z[X]=J.right}return S$(Z)},ip=($)=>w0($)?S$($.left):f$($.right),sp=mY(),ap=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(sp),J=X.next();while(!J.done){let G=hY(J.value)?J.value.value:c4(J.value);if(w0(G))return G;J=X.next(G.right)}return S$(J.value)},tp=S$({}),ep=N7(k9,zJ),$c=B7(k9),Zc=O7(k9);var Xc=($)=>{return Q6($)?S$(O6):k9($.value,oZ)},Jc=V(2,($,Z)=>Q6($)?S$(O6):k9(Z($.value),oZ));var k3=($)=>$.length>0;var W0={};T8(W0,{zipWith:()=>g3,zipRight:()=>Tc,zipLeft:()=>Mc,void:()=>_c,toRefinement:()=>Hc,toArray:()=>Xz,tap:()=>eF,some:()=>j,reduceCompact:()=>Lc,productMany:()=>Cc,product:()=>$z,partitionMap:()=>qc,orElseSome:()=>v3,orElseEither:()=>Vc,orElse:()=>Kc,none:()=>x,mergeWith:()=>f6,match:()=>p0,map:()=>x0,liftThrowable:()=>y3,liftPredicate:()=>kc,liftNullable:()=>Oc,lift2:()=>jc,let:()=>bc,isSome:()=>p$,isOption:()=>sF,isNone:()=>I$,getRight:()=>Uc,getOrder:()=>Sc,getOrUndefined:()=>l0,getOrThrowWith:()=>aF,getOrThrow:()=>b3,getOrNull:()=>Bc,getOrElse:()=>c0,getLeft:()=>Ac,getEquivalence:()=>xc,gen:()=>fc,fromNullable:()=>H8,fromIterable:()=>Dc,flatten:()=>zc,flatMapNullable:()=>Fc,flatMap:()=>lZ,firstSomeOf:()=>Qc,filterMap:()=>Jz,filter:()=>Ec,exists:()=>vc,containsWith:()=>Gz,contains:()=>h3,composeK:()=>wc,bindTo:()=>yc,bind:()=>gc,asVoid:()=>Nc,as:()=>tF,ap:()=>Rc,andThen:()=>Pc,all:()=>Zz,TypeId:()=>Wc,Do:()=>hc});var TJ=($)=>(Z,X)=>Z===X?0:$(Z,X);var rF=TJ(($,Z)=>$<Z?-1:1);var tY=V(2,($,Z)=>TJ((X,J)=>$(Z(X),Z(J))));var Yc=($)=>{return TJ((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 iF=(...$)=>Yc($);var I3=($)=>V(2,(Z,X)=>$(Z,X)===1);var Wc=Symbol.for("effect/Option"),x=()=>O6,j=oZ,sF=nY,I$=Q6,p$=q3,p0=V(2,($,{onNone:Z,onSome:X})=>I$($)?Z():X($.value)),Hc=($)=>(Z)=>p$($(Z)),Dc=($)=>{for(let Z of $)return j(Z);return x()},Uc=aY,Ac=sY,c0=V(2,($,Z)=>I$($)?Z():$.value),Kc=V(2,($,Z)=>I$($)?Z():$),v3=V(2,($,Z)=>I$($)?j(Z()):$),Vc=V(2,($,Z)=>I$($)?x0(Z(),FJ):x0($,PJ)),Qc=($)=>{let Z=x();for(Z of $)if(p$(Z))return Z;return Z},H8=($)=>$==null?x():j($),Oc=($)=>(...Z)=>H8($(...Z)),Bc=c0(bY),l0=c0(DJ),y3=($)=>(...Z)=>{try{return j($(...Z))}catch{return x()}},aF=V(2,($,Z)=>{if(p$($))return $.value;throw Z()}),b3=aF(()=>Error("getOrThrow called on a None")),x0=V(2,($,Z)=>I$($)?x():j(Z($.value))),tF=V(2,($,Z)=>x0($,()=>Z)),Nc=tF(void 0),_c=j(void 0);var lZ=V(2,($,Z)=>I$($)?x():Z($.value)),Pc=V(2,($,Z)=>lZ($,(X)=>{let J=yY(Z)?Z(X):Z;return sF(J)?J:j(J)})),Fc=V(2,($,Z)=>I$($)?x():H8(Z($.value))),zc=lZ(w$),Tc=V(2,($,Z)=>lZ($,()=>Z)),Mc=V(2,($,Z)=>eF($,()=>Z)),wc=V(2,($,Z)=>(X)=>lZ($(X),Z)),eF=V(2,($,Z)=>lZ($,(X)=>x0(Z(X),()=>X))),$z=($,Z)=>p$($)&&p$(Z)?j([$.value,Z.value]):x(),Cc=($,Z)=>{if(I$($))return x();let X=[$.value];for(let J of Z){if(I$(J))return x();X.push(J.value)}return j(X)},Zz=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(I$(J))return x();X.push(J.value)}return j(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(I$(J))return x();Z[X]=J.value}return j(Z)},g3=V(3,($,Z,X)=>x0($z($,Z),([J,G])=>X(J,G))),Rc=V(2,($,Z)=>g3($,Z,(X,J)=>X(J))),Lc=V(3,($,Z,X)=>{let J=Z;for(let G of $)if(p$(G))J=X(J,G.value);return J}),Xz=($)=>I$($)?[]:[$.value],qc=V(2,($,Z)=>{if(I$($))return[x(),x()];let X=Z($.value);return R7(X)?[j(X.left),x()]:[x(),j(X.right)]}),Jz=lZ,Ec=V(2,($,Z)=>Jz($,(X)=>Z(X)?oZ(X):O6)),xc=($)=>h6((Z,X)=>I$(Z)?I$(X):I$(X)?!1:$(Z.value,X.value)),Sc=($)=>TJ((Z,X)=>p$(Z)?p$(X)?$(Z.value,X.value):1:-1),jc=($)=>V(2,(Z,X)=>g3(Z,X,$)),kc=V(2,($,Z)=>Z($)?j($):x()),Gz=($)=>V(2,(Z,X)=>I$(Z)?!1:$(Z.value,X)),Ic=QJ(),h3=Gz(Ic),vc=V(2,($,Z)=>I$($)?!1:Z($.value)),yc=B7(x0),bc=O7(x0);var gc=N7(x0,lZ),hc=j({}),mc=mY(),fc=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(mc),J=X.next();while(!J.done){let G=hY(J.value)?J.value.value:c4(J.value);if(I$(G))return G;J=X.next(G.value)}return j(J.value)},f6=($)=>(Z,X)=>{if(I$(Z))return X;else if(I$(X))return Z;return j($(Z.value,X.value))};var Yz=(...$)=>$;var $W=($)=>{let X=$[Symbol.iterator]().next();if(X.done)throw Error("unsafeHead: empty iterable");return X.value};var cc={[Symbol.iterator](){return dc}},dc={next(){return{done:!0,value:void 0}}},ZW=()=>cc;var Wz=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 MJ=($)=>Array($),m3=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($),Dz=($)=>Array.isArray($)?$:[$];var L7=V(2,($,Z)=>[Z,...$]);var Uz=V(2,($,Z)=>[...$,Z]),f3=V(2,($,Z)=>P$($).concat(P$(Z)));var uc=($)=>$.length===0,Az=uc,XW=k3,EZ=k3;var Kz=($,Z)=>$<0||$>=Z.length,oc=($,Z)=>Math.floor(Math.min(Math.max(0,$),Z.length)),nc=V(2,($,Z)=>{let X=Math.floor(Z);return Kz(X,$)?x():j($[X])}),p3=V(2,($,Z)=>{let X=Math.floor(Z);if(Kz(X,$))throw Error(`Index ${X} out of bounds`);return $[X]});var v1=nc(0),KZ=p3(0),Vz=($)=>EZ($)?j(c3($)):x(),c3=($)=>$[$.length-1];var p6=($)=>$.slice(1);var lc=($,Z)=>{let X=0;for(let J of $){if(!Z(J,X))break;X++}return X},Qz=V(2,($,Z)=>ic($,lc($,Z))),Oz=V(2,($,Z)=>{let X=P$($);return X.slice(oc(Z,X),X.length)});var d3=($)=>Array.from($).reverse(),D8=V(2,($,Z)=>{let X=Array.from($);return X.sort(Z),X});var u3=V(2,($,Z)=>Bz($,Z,Yz)),Bz=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 H=1;H<W;H++)Y[H]=X(J[H],G[H]);return Y}return[]});var rc=QJ();var ic=V(2,($,Z)=>{let X=Array.from($),J=Math.floor(Z);if(EZ(X)){if(J>=1)return sc(X,J);return[[],X]}return[X,[]]}),sc=V(2,($,Z)=>{let X=Math.max(1,Math.floor(Z));return X>=$.length?[ac($),[]]:[L7($.slice(1,X),KZ($)),$.slice(X)]});var ac=($)=>$.slice();var tc=V(3,($,Z,X)=>{let J=P$($),G=P$(Z);if(EZ(J)){if(EZ(G))return Pz(X)(f3(J,G));return J}return G}),B6=V(2,($,Z)=>tc($,Z,rc));var N6=()=>[],rZ=($)=>[$],c6=V(2,($,Z)=>$.map(Z)),Nz=V(2,($,Z)=>{if(Az($))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}),JW=Nz(w$),q7=V(2,($,Z)=>{let X=P$($),J=[];for(let G=0;G<X.length;G++){let Y=Z(X[G],G);if(p$(Y))J.push(Y.value)}return J});var o3=V(2,($,Z)=>{let X=[],J=[],G=P$($);for(let Y=0;Y<G.length;Y++){let W=Z(G[Y],Y);if(w0(W))X.push(W.left);else J.push(W.right)}return[X,J]}),_z=q7(w$);var y1=V(3,($,Z,X)=>P$($).reduce((J,G,Y)=>X(J,G,Y),Z)),GW=V(3,($,Z,X)=>P$($).reduceRight((J,G,Y)=>X(J,G,Y),Z));var n3=($,Z)=>{let X=[],J=$,G;while(p$(G=Z(J))){let[Y,W]=G.value;X.push(Y),J=W}return X};var E7=gY;var Pz=V(2,($,Z)=>{let X=P$($);if(EZ(X)){let J=[KZ(X)],G=p6(X);for(let Y of G)if(J.every((W)=>!Z(Y,W)))J.push(Y);return J}return[]}),l3=($)=>Pz($,QJ());var I9=V(2,($,Z)=>P$($).join(Z));var Fz=Symbol.for("effect/Chunk");function ec($,Z,X,J,G){for(let Y=Z;Y<Math.min($.length,Z+G);Y++)X[J+Y-Z]=$[Y];return X}var zz=[],$d=($)=>h6((Z,X)=>Z.length===X.length&&c8(Z).every((J,G)=>$(J,i4(X,G)))),Zd=$d(s),Xd={[Fz]:{_A:($)=>$},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Chunk",values:c8(this).map(y$)}},[C$](){return this.toJSON()},[G$]($){return Tz($)&&Zd(this,$)},[Y$](){return R$(this,n0(c8(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return zz[Symbol.iterator]();default:return c8(this)[Symbol.iterator]()}},pipe(){return n(this,arguments)}},YZ=($)=>{let Z=Object.create(Xd);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=d6,Z.right=d6;break}case"ISingleton":{Z.length=1,Z.depth=0,Z.left=d6,Z.right=d6;break}case"ISlice":{Z.length=$.length,Z.depth=$.chunk.depth+1,Z.left=d6,Z.right=d6;break}}return Z},Tz=($)=>u($,Fz),d6=YZ({_tag:"IEmpty"}),C0=()=>d6,wJ=(...$)=>Wd($),S0=($)=>YZ({_tag:"ISingleton",a:$}),b1=($)=>Tz($)?$:CJ(P$($)),r3=($,Z,X)=>{switch($.backing._tag){case"IArray":{ec($.backing.array,0,Z,X,$.length);break}case"IConcat":{r3($.left,Z,X),r3($.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]=i4($,J),J+=1,G+=1;break}}};var Jd=($)=>{switch($.backing._tag){case"IEmpty":return zz;case"IArray":return $.backing.array;default:{let Z=Array($.length);return r3($,Z,0),$.backing={_tag:"IArray",array:Z},$.left=d6,$.right=d6,$.depth=0,Z}}},c8=Jd,Gd=($)=>{switch($.backing._tag){case"IEmpty":case"ISingleton":return $;case"IArray":return YZ({_tag:"IArray",array:d3($.backing.array)});case"IConcat":return YZ({_tag:"IConcat",left:w8($.backing.right),right:w8($.backing.left)});case"ISlice":return CJ(d3(c8($)))}},w8=Gd,Yd=V(2,($,Z)=>Z<0||Z>=$.length?x():j(i4($,Z))),CJ=($)=>$.length===0?C0():$.length===1?S0($[0]):YZ({_tag:"IArray",array:$}),Wd=($)=>CJ($),i4=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?i4($.left,Z):i4($.right,Z-$.left.length);case"ISlice":return i4($.backing.chunk,Z+$.backing.offset)}}),x7=V(2,($,Z)=>M8($,S0(Z))),O0=V(2,($,Z)=>M8(S0(Z),$));var i3=V(2,($,Z)=>{if(Z<=0)return $;else if(Z>=$.length)return d6;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 i3($.right,Z-$.left.length);return YZ({_tag:"IConcat",left:i3($.left,Z),right:$.right})}default:return YZ({_tag:"ISlice",chunk:$,offset:Z,length:$.length-Z})}});var M8=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=M8($.right,Z);return YZ({_tag:"IConcat",left:$.left,right:J})}else{let J=M8($.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=M8($,Z.left);return YZ({_tag:"IConcat",left:J,right:Z.right})}else{let J=M8($,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 YW=($)=>$.length===0,H0=($)=>$.length>0,RJ=Yd(0),s3=($)=>i4($,0),g$=s3;var D0=($)=>i3($,1);var i0={};T8(i0,{unsafeMake:()=>Bd,unsafeGet:()=>u8,pick:()=>Pd,omit:()=>Fd,mergeAll:()=>JK,merge:()=>o8,make:()=>U8,isTag:()=>k7,isReference:()=>Nd,isContext:()=>XK,getOrElse:()=>_d,getOption:()=>R8,get:()=>r0,empty:()=>VZ,add:()=>e$,TagTypeId:()=>Qd,Tag:()=>zd,ReferenceTypeId:()=>Od,Reference:()=>u6,GenericTag:()=>WZ});var WW=Symbol.for("effect/Context/Tag"),S7=Symbol.for("effect/Context/Reference"),Hd="effect/STM",Dd=Symbol.for(Hd),j7={...j9,_op:"Tag",[Dd]:I1,[WW]:{_Service:($)=>$,_Identifier:($)=>$},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[C$](){return this.toJSON()},of($){return $},context($){return $K(this,$)}},Ud={...j7,[S7]:S7},Mz=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;let J=Object.create(j7);return Object.defineProperty(J,"stack",{get(){return X.stack}}),J.key=$,J},wz=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,j7),J.key=$,Object.defineProperty(J,"stack",{get(){return X.stack}}),J},Cz=()=>($,Z)=>{let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();Error.stackTraceLimit=X;function G(){}return Object.setPrototypeOf(G,Ud),G.key=$,G.defaultValue=Z.defaultValue,Object.defineProperty(G,"stack",{get(){return J.stack}}),G},t3=Symbol.for("effect/Context"),Ad={[t3]:{_Services:($)=>$},[G$]($){if(e3($)){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 R$(this,d4(this.unsafeMap.size))},pipe(){return n(this,arguments)},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(y$)}},[C$](){return this.toJSON()}},d8=($)=>{let Z=Object.create(Ad);return Z.unsafeMap=$,Z},Kd=($)=>{let Z=Error(`Service not found${$.key?`: ${String($.key)}`:""}`);if($.stack){let X=$.stack.split(`
|
|
2
|
+
import{If as lh}from"./index-e9k9xkwe.js";import{Kf as F9}from"./index-msyn1rxk.js";import{$f as ag,Ah as ch,Cg as k4,Dg as sG,Gg as cA,Hh as DY,Ig as q5$,Qf as IA,Rf as vA,Sf as yA,Vf as Xm,Zf as $7,_f as Xh,ag as NF,bg as zm,hg as Lh,jg as j4,jh as ib,kh as XY,lh as Df,mh as yb,ng as r$,nh as dA,og as eX,pg as Wf,qg as gX,rg as X7,tg as PP,vg as e5,xg as Hf,yg as JY,yh as LA}from"./index-6y6w69yf.js";import{Ph as D}from"./index-mr9h7gd6.js";import{Qh as L5$,Sh as T8}from"./index-evs9rvr6.js";function HJ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function yG$($){try{return new URL($).hostname.replace(/\./g,"-")}catch{return($.split("/")[0]??$).replace(/\./g,"-")}}function bG$($,Z){let X=HJ($);if(!X){let J=Date.now().toString(36);return Z?`id-${J}-${Z}`:`id-${J}`}return Z?`${X}-${Z}`:X}var Hp=new Set(["series","species","sheep","deer","fish"]);function N3($){if(Hp.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 gG$($){return $.replace(/[-_]/g," ").replace(/([A-Z])/g," $1").replace(/\b\w/g,(Z)=>Z.toUpperCase()).replace(/\s+/g," ").trim()}function hG$($){let X=$.split("-").map((G)=>G.charAt(0).toUpperCase()+G.slice(1)),J=X.pop();if(J)X.push(N3(J));return X.join(" ")}var Dp={github:"GitHub",instagram:"Instagram",linkedin:"LinkedIn",email:"Email",website:"Website"};function mG$($){let Z=$.toLowerCase(),X=Dp[Z];if(X!==void 0)return X;return $.replace(/\b\w/g,(J)=>J.toUpperCase())}function fG$($,Z){if(!Z)return $;try{return new URL($,Z).toString()}catch{return $}}function pG$($){let X=$.split(/\s+/).filter((J)=>J.length>0).length;return Math.max(1,Math.ceil(X/200))}function cG$($){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 dG$($,Z){if($.length<=Z)return $;let X=$.slice(0,Z),J=X.lastIndexOf(" ");return J>0?X.slice(0,J)+"...":X+"..."}function uG$($){return $.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}var T0={};T8(T0,{zipWith:()=>EV,zipRight:()=>no,zipParRight:()=>io,zipParLeft:()=>lo,zipPar:()=>ro,zipLeft:()=>oo,zip:()=>uo,void:()=>co,succeed:()=>F2,matchEffect:()=>po,match:()=>qV,mapErrorCause:()=>fo,mapError:()=>mo,mapBoth:()=>ho,map:()=>go,isSuccess:()=>A4,isInterrupted:()=>Ro,isFailure:()=>P2,isExit:()=>Co,interrupt:()=>LV,getOrElse:()=>bo,fromOption:()=>yo,fromEither:()=>vo,forEachEffect:()=>EH,flatten:()=>RV,flatMapEffect:()=>Io,flatMap:()=>ko,failCause:()=>CV,fail:()=>wV,exists:()=>jo,die:()=>So,causeOption:()=>Eo,asVoid:()=>qo,as:()=>Lo,all:()=>xo});var nZ={};T8(nZ,{zipWith:()=>rF,void:()=>Ip,try:()=>yp,transposeOption:()=>Xc,transposeMapOption:()=>Jc,right:()=>S$,orElse:()=>np,merge:()=>l4,match:()=>nF,mapLeft:()=>fp,mapBoth:()=>mp,map:()=>k9,liftPredicate:()=>pp,let:()=>Zc,left:()=>f$,isRight:()=>m6,isLeft:()=>w0,isEither:()=>oF,getRight:()=>bp,getOrUndefined:()=>up,getOrThrowWith:()=>S3,getOrThrow:()=>op,getOrNull:()=>dp,getOrElse:()=>x3,getLeft:()=>gp,getEquivalence:()=>hp,gen:()=>ap,fromOption:()=>E3,fromNullable:()=>vp,flip:()=>ip,flatMap:()=>zJ,filterOrLeft:()=>cp,bindTo:()=>$c,bind:()=>ep,ap:()=>lp,andThen:()=>rp,all:()=>j3,TypeId:()=>kp,Do:()=>tp});var yY=($)=>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(H){return Z(H,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 w$=($)=>$;var V7=($)=>()=>$,g6=V7(!0),JZ=V7(!1),bY=V7(null),DJ=V7(void 0),TZ=DJ;function F($,Z,X,J,G,Y,W,H,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 H(W(Y(G(J(X(Z($)))))));case 9:return U(H(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 h6=($)=>(Z,X)=>Z===X||$(Z,X),Up=($,Z)=>$===Z,Ap=()=>Up;var wF=Ap();var CF=V(2,($,Z)=>h6((X,J)=>$(Z(X),Z(J))));var gY=($)=>h6((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 O7=($)=>V(3,(Z,X,J)=>$(Z,(G)=>({...G,[X]:J(G)}))),B7=($)=>V(2,(Z,X)=>$(Z,(J)=>({[X]:J}))),N7=($,Z)=>V(3,(X,J,G)=>Z(X,(Y)=>$(G(Y),(W)=>({...Y,[J]:W}))));var UJ,_$=($,Z)=>{if(!UJ)globalThis["effect/GlobalValue"]??=new Map,UJ=globalThis["effect/GlobalValue"];if(!UJ.has($))UJ.set($,Z());return UJ.get($)};var AJ=($)=>typeof $==="string",KJ=($)=>typeof $==="number";var P3=($)=>typeof $==="bigint";var m8=yY;var Kp=($)=>typeof $==="object"&&$!==null,L9=($)=>Kp($)||m8($),u=V(2,($,Z)=>L9($)&&(Z in $)),k1=V(2,($,Z)=>u($,"_tag")&&$._tag===Z),m4=($)=>$===null||$===void 0;var f8=($)=>typeof $==="string"||u($,Symbol.iterator);var F3=($)=>u($,"then")&&m8($.then);var q9=($)=>`BUG: ${$} - please report an issue at https://github.com/Effect-TS/effect/issues`;var z3=Symbol.for("effect/Gen/GenKind"),hY=($)=>L9($)&&(z3 in $);class LF{value;constructor($){this.value=$}get _F(){return w$}get _R(){return($)=>$}get _O(){return($)=>$}get _E(){return($)=>$}[z3]=z3;[Symbol.iterator](){return new p4(this)}}class p4{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 p4(this.self)}}var mY=()=>function(){let $=arguments[0];for(let Z=1;Z<arguments.length;Z++)$=arguments[Z]($);return new LF($)},Vp=335903614,Qp=4150755663,Op=1481765933,Bp=1284865837,Np=9007199254740992,_p=134217728;class M3{_state;constructor($,Z,X,J){if(m4(Z)&&m4($))Z=Math.random()*4294967295>>>0,$=0;else if(m4(Z))Z=$,$=0;if(m4(J)&&m4(X))J=this._state?this._state[3]:Qp,X=this._state?this._state[2]:Vp;else if(m4(J))J=X,X=0;return this._state=new Int32Array([0,0,X>>>0,((J||0)|1)>>>0]),this._next(),RF(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($*_p+Z)/Np}_next(){let $=this._state[0]>>>0,Z=this._state[1]>>>0;Pp(this._state,$,Z,Op,Bp),RF(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 Pp($,Z,X,J,G){let Y=(X>>>16)*(G&65535)>>>0,W=(X&65535)*(G>>>16)>>>0,H=(X&65535)*(G&65535)>>>0,U=(X>>>16)*(G>>>16)+((W>>>16)+(Y>>>16))>>>0;if(W=W<<16>>>0,H=H+W>>>0,H>>>0<W>>>0)U=U+1>>>0;if(Y=Y<<16>>>0,H=H+Y>>>0,H>>>0<Y>>>0)U=U+1>>>0;U=U+Math.imul(X,J)>>>0,U=U+Math.imul(Z,G)>>>0,$[0]=U,$[1]=H}function RF($,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 T3=Symbol.for("effect/Utils/YieldWrap");class E9{#$;constructor($){this.#$=$}[T3](){return this.#$}}function c4($){if(typeof $==="object"&&$!==null&&T3 in $)return $[T3]();throw Error(q9("yieldWrapGet"))}var W8=_$("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var qF={effect_internal_function:($)=>{return $()}},Fp={effect_internal_function:($)=>{try{return $()}finally{}}},zp=qF.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,E0=zp?qF.effect_internal_function:Fp.effect_internal_function,Tp=function*(){}.constructor,EF=($)=>L9($)&&$.constructor===Tp;var C3=_$(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),Y$=Symbol.for("effect/Hash"),a=($)=>{if(W8.enabled===!0)return 0;switch(typeof $){case"number":return d4($);case"bigint":return u$($.toString(10));case"boolean":return u$(String($));case"symbol":return u$(String($));case"string":return u$($);case"undefined":return u$("undefined");case"function":case"object":if($===null)return u$("null");else if($ instanceof Date){if(Number.isNaN($.getTime()))return u$("Invalid Date");return a($.toISOString())}else if($ instanceof URL)return a($.href);else if(Mp($))return $[Y$]();else return VJ($);default:throw Error(`BUG: unhandled typeof ${typeof $} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},VJ=($)=>{if(!C3.has($))C3.set($,d4(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return C3.get($)},V$=($)=>(Z)=>Z*53^$,fY=($)=>$&3221225471|$>>>1&1073741824,Mp=($)=>u($,Y$),d4=($)=>{if($!==$||$===1/0)return 0;let Z=$|0;if(Z!==$)Z^=$*4294967295;while($>4294967295)Z^=$/=4294967295;return fY(Z)},u$=($)=>{let Z=5381,X=$.length;while(X)Z=Z*33^$.charCodeAt(--X);return fY(Z)},wp=($,Z)=>{let X=12289;for(let J=0;J<Z.length;J++)X^=F(u$(Z[J]),V$(a($[Z[J]])));return fY(X)},pY=($)=>wp($,Object.keys($)),n0=($)=>{let Z=6151;for(let X=0;X<$.length;X++)Z=F(Z,V$(a($[X])));return fY(Z)},R$=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($)=>cY($,arguments[0]);return cY(arguments[0],arguments[1])}function cY($,Z){if($===Z)return!0;let X=typeof $;if(X!==typeof Z)return!1;if(X==="object"||X==="function"){if($!==null&&Z!==null){if(_7($)&&_7(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)=>cY(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)&&cY($[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 _7=($)=>u($,G$),QJ=()=>s;var C$=Symbol.for("nodejs.util.inspect.custom"),y$=($)=>{try{if(u($,"toJSON")&&m8($.toJSON)&&$.toJSON.length===0)return $.toJSON();else if(Array.isArray($))return $.map(y$)}catch{return{}}return jF($)};var k$=($)=>JSON.stringify($,null,2),KY$={toJSON(){return y$(this)},[C$](){return this.toJSON()},toString(){return k$(this.toJSON())}};var x9=($,Z=2)=>{if(typeof $==="string")return $;try{return typeof $==="object"?dY($,Z):String($)}catch{return String($)}},dY=($,Z)=>{let X=[],J=JSON.stringify($,(G,Y)=>typeof Y==="object"&&Y!==null?X.includes(Y)?void 0:X.push(Y)&&(u4.fiberRefs!==void 0&&xF(Y)?Y[R3](u4.fiberRefs):Y):Y,Z);return X=void 0,J},R3=Symbol.for("effect/Inspectable/Redactable"),xF=($)=>typeof $==="object"&&$!==null&&(R3 in $),u4=_$("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),SF=($,Z)=>{let X=u4.fiberRefs;u4.fiberRefs=$;try{return Z()}finally{u4.fiberRefs=X}},jF=($)=>{if(xF($)&&u4.fiberRefs!==void 0)return $[R3](u4.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 o4="Async",n4="Commit",X0="Failure",F7="OnFailure",z7="OnSuccess",T7="OnSuccessAndFailure",J0="Success",uY="Sync",kF="Tag",S9="UpdateRuntimeFlags",M7="While",r4="Iterator",oY="WithRuntime",w7="Yield",OJ="RevertFlags";var Cp="3.22.0",NJ=()=>Cp;var vF=Symbol.for("effect/Effect"),yF=Symbol.for("effect/Stream"),bF=Symbol.for("effect/Sink"),gF=Symbol.for("effect/Channel"),I1={_R:($)=>$,_E:($)=>$,_A:($)=>$,_V:NJ()},Rp={_A:($)=>$,_In:($)=>$,_L:($)=>$,_E:($)=>$,_R:($)=>$},Lp={_Env:($)=>$,_InErr:($)=>$,_InElem:($)=>$,_InDone:($)=>$,_OutErr:($)=>$,_OutElem:($)=>$,_OutDone:($)=>$},j9={[vF]:I1,[yF]:I1,[bF]:Rp,[gF]:Lp,[G$]($){return this===$},[Y$](){return R$(this,VJ(this))},[Symbol.iterator](){return new p4(new E9(this))},pipe(){return n(this,arguments)}},C7={[Y$](){return R$(this,pY(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}},p8={...j9,_op:n4},L3={...p8,...C7},hF=function(){function $(){}return $.prototype=p8,$}();var fF=Symbol.for("effect/Option"),pF={...j9,[fF]:{_A:($)=>$},[C$](){return this.toJSON()},toString(){return k$(this.toJSON())}},qp=Object.assign(Object.create(pF),{_tag:"Some",_op:"Some",[G$]($){return nY($)&&q3($)&&s(this.value,$.value)},[Y$](){return R$(this,V$(a(this._tag))(a(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:y$(this.value)}}}),Ep=a("None"),xp=Object.assign(Object.create(pF),{_tag:"None",_op:"None",[G$]($){return nY($)&&Q6($)},[Y$](){return Ep},toJSON(){return{_id:"Option",_tag:this._tag}}}),nY=($)=>u($,fF),Q6=($)=>$._tag==="None",q3=($)=>$._tag==="Some",O6=Object.create(xp),oZ=($)=>{let Z=Object.create(qp);return Z.value=$,Z};var rY=Symbol.for("effect/Either"),cF={...j9,[rY]:{_R:($)=>$},[C$](){return this.toJSON()},toString(){return k$(this.toJSON())}},Sp=Object.assign(Object.create(cF),{_tag:"Right",_op:"Right",[G$]($){return lY($)&&iY($)&&s(this.right,$.right)},[Y$](){return V$(a(this._tag))(a(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:y$(this.right)}}}),jp=Object.assign(Object.create(cF),{_tag:"Left",_op:"Left",[G$]($){return lY($)&&R7($)&&s(this.left,$.left)},[Y$](){return V$(a(this._tag))(a(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:y$(this.left)}}}),lY=($)=>u($,rY),R7=($)=>$._tag==="Left",iY=($)=>$._tag==="Right",PJ=($)=>{let Z=Object.create(jp);return Z.left=$,Z},FJ=($)=>{let Z=Object.create(Sp);return Z.right=$,Z},sY=($)=>iY($)?O6:oZ($.left),aY=($)=>R7($)?O6:oZ($.right),dF=V(2,($,Z)=>Q6($)?PJ(Z()):FJ($.value));var kp=rY,S$=FJ,Ip=S$(void 0);var f$=PJ,vp=V(2,($,Z)=>$==null?f$(Z($)):S$($)),E3=dF,yp=($)=>{if(m8($))try{return S$($())}catch(Z){return f$(Z)}else try{return S$($.try())}catch(Z){return f$($.catch(Z))}};var oF=lY,w0=R7,m6=iY,bp=aY,gp=sY,hp=({left:$,right:Z})=>h6((X,J)=>w0(X)?w0(J)&&$(X.left,J.left):m6(J)&&Z(X.right,J.right)),mp=V(2,($,{onLeft:Z,onRight:X})=>w0($)?f$(Z($.left)):S$(X($.right))),fp=V(2,($,Z)=>w0($)?f$(Z($.left)):S$($.right)),k9=V(2,($,Z)=>m6($)?S$(Z($.right)):f$($.left)),nF=V(2,($,{onLeft:Z,onRight:X})=>w0($)?Z($.left):X($.right)),pp=V(3,($,Z,X)=>Z($)?S$($):f$(X($))),cp=V(3,($,Z,X)=>zJ($,(J)=>Z(J)?S$(J):f$(X(J)))),l4=nF({onLeft:w$,onRight:w$}),x3=V(2,($,Z)=>w0($)?Z($.left):$.right),dp=x3(bY),up=x3(DJ),S3=V(2,($,Z)=>{if(m6($))return $.right;throw Z($.left)}),op=S3(()=>Error("getOrThrow called on a Left")),np=V(2,($,Z)=>w0($)?Z($.left):S$($.right)),zJ=V(2,($,Z)=>w0($)?f$($.left):Z($.right)),rp=V(2,($,Z)=>zJ($,(X)=>{let J=m8(Z)?Z(X):Z;return oF(J)?J:S$(J)})),rF=V(3,($,Z,X)=>zJ($,(J)=>k9(Z,(G)=>X(J,G)))),lp=V(2,($,Z)=>rF($,Z,(X,J)=>X(J))),j3=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(w0(J))return J;X.push(J.right)}return S$(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(w0(J))return J;Z[X]=J.right}return S$(Z)},ip=($)=>w0($)?S$($.left):f$($.right),sp=mY(),ap=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(sp),J=X.next();while(!J.done){let G=hY(J.value)?J.value.value:c4(J.value);if(w0(G))return G;J=X.next(G.right)}return S$(J.value)},tp=S$({}),ep=N7(k9,zJ),$c=B7(k9),Zc=O7(k9);var Xc=($)=>{return Q6($)?S$(O6):k9($.value,oZ)},Jc=V(2,($,Z)=>Q6($)?S$(O6):k9(Z($.value),oZ));var k3=($)=>$.length>0;var W0={};T8(W0,{zipWith:()=>g3,zipRight:()=>Tc,zipLeft:()=>Mc,void:()=>_c,toRefinement:()=>Hc,toArray:()=>Xz,tap:()=>eF,some:()=>j,reduceCompact:()=>Lc,productMany:()=>Cc,product:()=>$z,partitionMap:()=>qc,orElseSome:()=>v3,orElseEither:()=>Vc,orElse:()=>Kc,none:()=>x,mergeWith:()=>f6,match:()=>p0,map:()=>x0,liftThrowable:()=>y3,liftPredicate:()=>kc,liftNullable:()=>Oc,lift2:()=>jc,let:()=>bc,isSome:()=>p$,isOption:()=>sF,isNone:()=>I$,getRight:()=>Uc,getOrder:()=>Sc,getOrUndefined:()=>r0,getOrThrowWith:()=>aF,getOrThrow:()=>b3,getOrNull:()=>Bc,getOrElse:()=>c0,getLeft:()=>Ac,getEquivalence:()=>xc,gen:()=>fc,fromNullable:()=>H8,fromIterable:()=>Dc,flatten:()=>zc,flatMapNullable:()=>Fc,flatMap:()=>rZ,firstSomeOf:()=>Qc,filterMap:()=>Jz,filter:()=>Ec,exists:()=>vc,containsWith:()=>Gz,contains:()=>h3,composeK:()=>wc,bindTo:()=>yc,bind:()=>gc,asVoid:()=>Nc,as:()=>tF,ap:()=>Rc,andThen:()=>Pc,all:()=>Zz,TypeId:()=>Wc,Do:()=>hc});var TJ=($)=>(Z,X)=>Z===X?0:$(Z,X);var lF=TJ(($,Z)=>$<Z?-1:1);var tY=V(2,($,Z)=>TJ((X,J)=>$(Z(X),Z(J))));var Yc=($)=>{return TJ((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 iF=(...$)=>Yc($);var I3=($)=>V(2,(Z,X)=>$(Z,X)===1);var Wc=Symbol.for("effect/Option"),x=()=>O6,j=oZ,sF=nY,I$=Q6,p$=q3,p0=V(2,($,{onNone:Z,onSome:X})=>I$($)?Z():X($.value)),Hc=($)=>(Z)=>p$($(Z)),Dc=($)=>{for(let Z of $)return j(Z);return x()},Uc=aY,Ac=sY,c0=V(2,($,Z)=>I$($)?Z():$.value),Kc=V(2,($,Z)=>I$($)?Z():$),v3=V(2,($,Z)=>I$($)?j(Z()):$),Vc=V(2,($,Z)=>I$($)?x0(Z(),FJ):x0($,PJ)),Qc=($)=>{let Z=x();for(Z of $)if(p$(Z))return Z;return Z},H8=($)=>$==null?x():j($),Oc=($)=>(...Z)=>H8($(...Z)),Bc=c0(bY),r0=c0(DJ),y3=($)=>(...Z)=>{try{return j($(...Z))}catch{return x()}},aF=V(2,($,Z)=>{if(p$($))return $.value;throw Z()}),b3=aF(()=>Error("getOrThrow called on a None")),x0=V(2,($,Z)=>I$($)?x():j(Z($.value))),tF=V(2,($,Z)=>x0($,()=>Z)),Nc=tF(void 0),_c=j(void 0);var rZ=V(2,($,Z)=>I$($)?x():Z($.value)),Pc=V(2,($,Z)=>rZ($,(X)=>{let J=yY(Z)?Z(X):Z;return sF(J)?J:j(J)})),Fc=V(2,($,Z)=>I$($)?x():H8(Z($.value))),zc=rZ(w$),Tc=V(2,($,Z)=>rZ($,()=>Z)),Mc=V(2,($,Z)=>eF($,()=>Z)),wc=V(2,($,Z)=>(X)=>rZ($(X),Z)),eF=V(2,($,Z)=>rZ($,(X)=>x0(Z(X),()=>X))),$z=($,Z)=>p$($)&&p$(Z)?j([$.value,Z.value]):x(),Cc=($,Z)=>{if(I$($))return x();let X=[$.value];for(let J of Z){if(I$(J))return x();X.push(J.value)}return j(X)},Zz=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(I$(J))return x();X.push(J.value)}return j(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(I$(J))return x();Z[X]=J.value}return j(Z)},g3=V(3,($,Z,X)=>x0($z($,Z),([J,G])=>X(J,G))),Rc=V(2,($,Z)=>g3($,Z,(X,J)=>X(J))),Lc=V(3,($,Z,X)=>{let J=Z;for(let G of $)if(p$(G))J=X(J,G.value);return J}),Xz=($)=>I$($)?[]:[$.value],qc=V(2,($,Z)=>{if(I$($))return[x(),x()];let X=Z($.value);return R7(X)?[j(X.left),x()]:[x(),j(X.right)]}),Jz=rZ,Ec=V(2,($,Z)=>Jz($,(X)=>Z(X)?oZ(X):O6)),xc=($)=>h6((Z,X)=>I$(Z)?I$(X):I$(X)?!1:$(Z.value,X.value)),Sc=($)=>TJ((Z,X)=>p$(Z)?p$(X)?$(Z.value,X.value):1:-1),jc=($)=>V(2,(Z,X)=>g3(Z,X,$)),kc=V(2,($,Z)=>Z($)?j($):x()),Gz=($)=>V(2,(Z,X)=>I$(Z)?!1:$(Z.value,X)),Ic=QJ(),h3=Gz(Ic),vc=V(2,($,Z)=>I$($)?!1:Z($.value)),yc=B7(x0),bc=O7(x0);var gc=N7(x0,rZ),hc=j({}),mc=mY(),fc=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(mc),J=X.next();while(!J.done){let G=hY(J.value)?J.value.value:c4(J.value);if(I$(G))return G;J=X.next(G.value)}return j(J.value)},f6=($)=>(Z,X)=>{if(I$(Z))return X;else if(I$(X))return Z;return j($(Z.value,X.value))};var Yz=(...$)=>$;var $W=($)=>{let X=$[Symbol.iterator]().next();if(X.done)throw Error("unsafeHead: empty iterable");return X.value};var cc={[Symbol.iterator](){return dc}},dc={next(){return{done:!0,value:void 0}}},ZW=()=>cc;var Wz=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 MJ=($)=>Array($),m3=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($),Dz=($)=>Array.isArray($)?$:[$];var L7=V(2,($,Z)=>[Z,...$]);var Uz=V(2,($,Z)=>[...$,Z]),f3=V(2,($,Z)=>P$($).concat(P$(Z)));var uc=($)=>$.length===0,Az=uc,XW=k3,EZ=k3;var Kz=($,Z)=>$<0||$>=Z.length,oc=($,Z)=>Math.floor(Math.min(Math.max(0,$),Z.length)),nc=V(2,($,Z)=>{let X=Math.floor(Z);return Kz(X,$)?x():j($[X])}),p3=V(2,($,Z)=>{let X=Math.floor(Z);if(Kz(X,$))throw Error(`Index ${X} out of bounds`);return $[X]});var v1=nc(0),KZ=p3(0),Vz=($)=>EZ($)?j(c3($)):x(),c3=($)=>$[$.length-1];var p6=($)=>$.slice(1);var rc=($,Z)=>{let X=0;for(let J of $){if(!Z(J,X))break;X++}return X},Qz=V(2,($,Z)=>ic($,rc($,Z))),Oz=V(2,($,Z)=>{let X=P$($);return X.slice(oc(Z,X),X.length)});var d3=($)=>Array.from($).reverse(),D8=V(2,($,Z)=>{let X=Array.from($);return X.sort(Z),X});var u3=V(2,($,Z)=>Bz($,Z,Yz)),Bz=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 H=1;H<W;H++)Y[H]=X(J[H],G[H]);return Y}return[]});var lc=QJ();var ic=V(2,($,Z)=>{let X=Array.from($),J=Math.floor(Z);if(EZ(X)){if(J>=1)return sc(X,J);return[[],X]}return[X,[]]}),sc=V(2,($,Z)=>{let X=Math.max(1,Math.floor(Z));return X>=$.length?[ac($),[]]:[L7($.slice(1,X),KZ($)),$.slice(X)]});var ac=($)=>$.slice();var tc=V(3,($,Z,X)=>{let J=P$($),G=P$(Z);if(EZ(J)){if(EZ(G))return Pz(X)(f3(J,G));return J}return G}),B6=V(2,($,Z)=>tc($,Z,lc));var N6=()=>[],lZ=($)=>[$],c6=V(2,($,Z)=>$.map(Z)),Nz=V(2,($,Z)=>{if(Az($))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}),JW=Nz(w$),q7=V(2,($,Z)=>{let X=P$($),J=[];for(let G=0;G<X.length;G++){let Y=Z(X[G],G);if(p$(Y))J.push(Y.value)}return J});var o3=V(2,($,Z)=>{let X=[],J=[],G=P$($);for(let Y=0;Y<G.length;Y++){let W=Z(G[Y],Y);if(w0(W))X.push(W.left);else J.push(W.right)}return[X,J]}),_z=q7(w$);var y1=V(3,($,Z,X)=>P$($).reduce((J,G,Y)=>X(J,G,Y),Z)),GW=V(3,($,Z,X)=>P$($).reduceRight((J,G,Y)=>X(J,G,Y),Z));var n3=($,Z)=>{let X=[],J=$,G;while(p$(G=Z(J))){let[Y,W]=G.value;X.push(Y),J=W}return X};var E7=gY;var Pz=V(2,($,Z)=>{let X=P$($);if(EZ(X)){let J=[KZ(X)],G=p6(X);for(let Y of G)if(J.every((W)=>!Z(Y,W)))J.push(Y);return J}return[]}),r3=($)=>Pz($,QJ());var I9=V(2,($,Z)=>P$($).join(Z));var Fz=Symbol.for("effect/Chunk");function ec($,Z,X,J,G){for(let Y=Z;Y<Math.min($.length,Z+G);Y++)X[J+Y-Z]=$[Y];return X}var zz=[],$d=($)=>h6((Z,X)=>Z.length===X.length&&c8(Z).every((J,G)=>$(J,i4(X,G)))),Zd=$d(s),Xd={[Fz]:{_A:($)=>$},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Chunk",values:c8(this).map(y$)}},[C$](){return this.toJSON()},[G$]($){return Tz($)&&Zd(this,$)},[Y$](){return R$(this,n0(c8(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return zz[Symbol.iterator]();default:return c8(this)[Symbol.iterator]()}},pipe(){return n(this,arguments)}},YZ=($)=>{let Z=Object.create(Xd);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=d6,Z.right=d6;break}case"ISingleton":{Z.length=1,Z.depth=0,Z.left=d6,Z.right=d6;break}case"ISlice":{Z.length=$.length,Z.depth=$.chunk.depth+1,Z.left=d6,Z.right=d6;break}}return Z},Tz=($)=>u($,Fz),d6=YZ({_tag:"IEmpty"}),C0=()=>d6,wJ=(...$)=>Wd($),S0=($)=>YZ({_tag:"ISingleton",a:$}),b1=($)=>Tz($)?$:CJ(P$($)),l3=($,Z,X)=>{switch($.backing._tag){case"IArray":{ec($.backing.array,0,Z,X,$.length);break}case"IConcat":{l3($.left,Z,X),l3($.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]=i4($,J),J+=1,G+=1;break}}};var Jd=($)=>{switch($.backing._tag){case"IEmpty":return zz;case"IArray":return $.backing.array;default:{let Z=Array($.length);return l3($,Z,0),$.backing={_tag:"IArray",array:Z},$.left=d6,$.right=d6,$.depth=0,Z}}},c8=Jd,Gd=($)=>{switch($.backing._tag){case"IEmpty":case"ISingleton":return $;case"IArray":return YZ({_tag:"IArray",array:d3($.backing.array)});case"IConcat":return YZ({_tag:"IConcat",left:w8($.backing.right),right:w8($.backing.left)});case"ISlice":return CJ(d3(c8($)))}},w8=Gd,Yd=V(2,($,Z)=>Z<0||Z>=$.length?x():j(i4($,Z))),CJ=($)=>$.length===0?C0():$.length===1?S0($[0]):YZ({_tag:"IArray",array:$}),Wd=($)=>CJ($),i4=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?i4($.left,Z):i4($.right,Z-$.left.length);case"ISlice":return i4($.backing.chunk,Z+$.backing.offset)}}),x7=V(2,($,Z)=>M8($,S0(Z))),O0=V(2,($,Z)=>M8(S0(Z),$));var i3=V(2,($,Z)=>{if(Z<=0)return $;else if(Z>=$.length)return d6;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 i3($.right,Z-$.left.length);return YZ({_tag:"IConcat",left:i3($.left,Z),right:$.right})}default:return YZ({_tag:"ISlice",chunk:$,offset:Z,length:$.length-Z})}});var M8=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=M8($.right,Z);return YZ({_tag:"IConcat",left:$.left,right:J})}else{let J=M8($.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=M8($,Z.left);return YZ({_tag:"IConcat",left:J,right:Z.right})}else{let J=M8($,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 YW=($)=>$.length===0,H0=($)=>$.length>0,RJ=Yd(0),s3=($)=>i4($,0),g$=s3;var D0=($)=>i3($,1);var i0={};T8(i0,{unsafeMake:()=>Bd,unsafeGet:()=>u8,pick:()=>Pd,omit:()=>Fd,mergeAll:()=>JK,merge:()=>o8,make:()=>U8,isTag:()=>k7,isReference:()=>Nd,isContext:()=>XK,getOrElse:()=>_d,getOption:()=>R8,get:()=>l0,empty:()=>VZ,add:()=>e$,TagTypeId:()=>Qd,Tag:()=>zd,ReferenceTypeId:()=>Od,Reference:()=>u6,GenericTag:()=>WZ});var WW=Symbol.for("effect/Context/Tag"),S7=Symbol.for("effect/Context/Reference"),Hd="effect/STM",Dd=Symbol.for(Hd),j7={...j9,_op:"Tag",[Dd]:I1,[WW]:{_Service:($)=>$,_Identifier:($)=>$},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[C$](){return this.toJSON()},of($){return $},context($){return $K(this,$)}},Ud={...j7,[S7]:S7},Mz=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;let J=Object.create(j7);return Object.defineProperty(J,"stack",{get(){return X.stack}}),J.key=$,J},wz=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,j7),J.key=$,Object.defineProperty(J,"stack",{get(){return X.stack}}),J},Cz=()=>($,Z)=>{let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();Error.stackTraceLimit=X;function G(){}return Object.setPrototypeOf(G,Ud),G.key=$,G.defaultValue=Z.defaultValue,Object.defineProperty(G,"stack",{get(){return J.stack}}),G},t3=Symbol.for("effect/Context"),Ad={[t3]:{_Services:($)=>$},[G$]($){if(e3($)){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 R$(this,d4(this.unsafeMap.size))},pipe(){return n(this,arguments)},toString(){return k$(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(y$)}},[C$](){return this.toJSON()}},d8=($)=>{let Z=Object.create(Ad);return Z.unsafeMap=$,Z},Kd=($)=>{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},e3=($)=>u($,t3),Rz=($)=>u($,WW),HW=($)=>u($,S7),Vd=d8(new Map),Lz=()=>Vd,$K=($,Z)=>d8(new Map([[$.key,Z]])),qz=V(3,($,Z,X)=>{let J=new Map($.unsafeMap);return J.set(Z.key,X),d8(J)}),a3=_$("effect/Context/defaultValueCache",()=>new Map),DW=($)=>{if(a3.has($.key))return a3.get($.key);let Z=$.defaultValue();return a3.set($.key,Z),Z},Ez=($,Z)=>{return $.unsafeMap.has(Z.key)?$.unsafeMap.get(Z.key):DW(Z)},ZK=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key)){if(S7 in Z)return DW(Z);throw Kd(Z)}return $.unsafeMap.get(Z.key)}),xz=ZK,Sz=V(3,($,Z,X)=>{if(!$.unsafeMap.has(Z.key))return HW(Z)?DW(Z):X();return $.unsafeMap.get(Z.key)}),jz=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key))return HW(Z)?oZ(DW(Z)):O6;return oZ($.unsafeMap.get(Z.key))}),kz=V(2,($,Z)=>{let X=new Map($.unsafeMap);for(let[J,G]of Z.unsafeMap)X.set(J,G);return d8(X)}),Iz=(...$)=>{let Z=new Map;for(let X=0;X<$.length;X++)$[X].unsafeMap.forEach((J,G)=>{Z.set(G,J)});return d8(Z)},vz=(...$)=>(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 d8(J)},yz=(...$)=>(Z)=>{let X=new Map(Z.unsafeMap);for(let J of $)X.delete(J.key);return d8(X)};var Qd=WW,Od=S7,WZ=Mz;var Bd=d8,XK=e3,k7=Rz,Nd=HW,VZ=Lz,U8=$K,e$=qz,r0=xz,_d=Sz,u8=ZK,R8=jz,o8=kz,JK=Iz,Pd=vz,Fd=yz,zd=wz,u6=Cz;var GK=Symbol.for("effect/Duration"),pz=BigInt(0),gz=BigInt(24),UW=BigInt(60),YK=BigInt(1000),hz=BigInt(1e6),mz=BigInt(1e9),Td=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Y0=($)=>{if(cz($))return $;else if(KJ($))return xZ($);else if(P3($))return LJ($);else if(Array.isArray($)&&$.length===2&&$.every(KJ)){if($[0]===-1/0||$[1]===-1/0||Number.isNaN($[0])||Number.isNaN($[1]))return K8;if($[0]===1/0||$[1]===1/0)return Rd;return LJ(BigInt(Math.round($[0]*1e9))+BigInt(Math.round($[1])))}else if(AJ($)){let Z=Td.exec($);if(Z){let[X,J,G]=Z,Y=Number(J);switch(G){case"nano":case"nanos":return LJ(BigInt(J));case"micro":case"micros":return Ld(BigInt(J));case"milli":case"millis":return xZ(Y);case"second":case"seconds":return WK(Y);case"minute":case"minutes":return qd(Y);case"hour":case"hours":return Ed(Y);case"day":case"days":return xd(Y);case"week":case"weeks":return Sd(Y)}}}throw Error("Invalid DurationInput")};var fz={_tag:"Millis",millis:0},Md={_tag:"Infinity"},wd={[GK]:GK,[Y$](){return R$(this,pY(this.value))},[G$]($){return cz($)&&vd(this,$)},toString(){return`Duration(${UK(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:kd(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},A8=($)=>{let Z=Object.create(wd);if(KJ($))if(isNaN($)||$<=0)Z.value=fz;else if(!Number.isFinite($))Z.value=Md;else if(!Number.isInteger($))Z.value={_tag:"Nanos",nanos:BigInt(Math.round($*1e6))};else Z.value={_tag:"Millis",millis:$};else if($<=pz)Z.value=fz;else Z.value={_tag:"Nanos",nanos:$};return Z},cz=($)=>u($,GK);var Cd=($)=>{switch($.value._tag){case"Millis":return $.value.millis===0;case"Nanos":return $.value.nanos===pz;case"Infinity":return!1}},K8=A8(0),Rd=A8(1/0),LJ=($)=>A8($),Ld=($)=>A8($*YK),xZ=($)=>A8($),WK=($)=>A8($*1000),qd=($)=>A8($*60000),Ed=($)=>A8($*3600000),xd=($)=>A8($*86400000),Sd=($)=>A8($*604800000),MZ=($)=>dz($,{onMillis:(Z)=>Z,onNanos:(Z)=>Number(Z)/1e6});var jd=($)=>{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))}},kd=($)=>{let Z=Y0($);switch(Z.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(Z.value.nanos/mz),Number(Z.value.nanos%mz)];case"Millis":return[Math.floor(Z.value.millis/1000),Math.round(Z.value.millis%1000*1e6)]}},dz=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)}}),qJ=V(3,($,Z,X)=>{let J=Y0($),G=Y0(Z);if(J.value._tag==="Infinity"||G.value._tag==="Infinity")return X.onMillis(MZ(J),MZ(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 Id=($,Z)=>qJ($,Z,{onMillis:(X,J)=>X===J,onNanos:(X,J)=>X===J});var HK=V(2,($,Z)=>dz($,{onMillis:(X)=>A8(X*Z),onNanos:(X)=>A8(X*BigInt(Z))}));var DK=V(2,($,Z)=>qJ($,Z,{onMillis:(X,J)=>A8(X+J),onNanos:(X,J)=>A8(X+J)})),uz=V(2,($,Z)=>qJ($,Z,{onMillis:(X,J)=>X<J,onNanos:(X,J)=>X<J})),oz=V(2,($,Z)=>qJ($,Z,{onMillis:(X,J)=>X<=J,onNanos:(X,J)=>X<=J}));var AW=V(2,($,Z)=>qJ($,Z,{onMillis:(X,J)=>X>=J,onNanos:(X,J)=>X>=J})),vd=V(2,($,Z)=>Id(Y0($),Y0(Z))),yd=($)=>{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=jd(Z),J=X/hz,G=J/YK,Y=G/UW,W=Y/UW,H=W/gz;return{days:Number(H),hours:Number(W%gz),minutes:Number(Y%UW),seconds:Number(G%UW),millis:Number(J%YK),nanos:Number(X%hz)}},UK=($)=>{let Z=Y0($);if(Z.value._tag==="Infinity")return"Infinity";if(Cd(Z))return"0";let X=yd(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 g1=5,AK=Math.pow(2,5),nz=AK-1,lz=AK/2,rz=AK/4;function bd($){return $-=$>>1&1431655765,$=($&858993459)+($>>2&858993459),$=$+($>>4)&252645135,$+=$>>8,$+=$>>16,$&127}function h1($,Z){return Z>>>$&nz}function m1($){return 1<<$}function KW($,Z){return bd($&Z-1)}var iz=($,Z)=>({value:$,previous:Z});function s4($,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 KK($,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 sz($,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,H=Array(G+1);while(Y<Z)H[W++]=J[Y++];H[Z]=X;while(Y<G)H[++W]=J[Y++];return H}class v9{_tag="EmptyNode";modify($,Z,X,J,G,Y){let W=X(x());if(I$(W))return new v9;return++Y.value,new a4($,J,G,W)}}function n8($){return k1($,"EmptyNode")}function hd($){return n8($)||$._tag==="LeafNode"||$._tag==="CollisionNode"}function VW($,Z){return n8($)?!1:Z===$.edit}class a4{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 H=X(this.value);if(H===this.value)return this;else if(I$(H))return--Y.value,new v9;if(VW(this,$))return this.value=H,this;return new a4($,J,G,H)}let W=X(x());if(I$(W))return this;return++Y.value,az($,Z,this.hash,this,J,new a4($,J,G,W))}}class VK{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 H=VW(this,$),U=this.updateCollisionList(H,$,this.hash,this.children,X,G,Y);if(U===this.children)return this;return U.length>1?new VK($,this.hash,U):U[0]}let W=X(x());if(I$(W))return this;return++Y.value,az($,Z,this.hash,this,J,new a4($,J,G,W))}updateCollisionList($,Z,X,J,G,Y,W){let H=J.length;for(let A=0;A<H;++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,KK($,A,J);return s4($,A,new a4(Z,X,Y,P),J)}}let U=G(x());if(I$(U))return J;return++W.value,s4($,H,new a4(Z,X,Y,U),J)}}class I7{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,H=this.children,U=h1(Z,J),A=m1(U),Q=KW(W,A),O=W&A,P=VW(this,$);if(!O){let K$=new v9().modify($,Z+g1,X,J,G,Y);if(!K$)return this;return H.length>=lz?fd($,U,K$,W,H):new I7($,W|A,sz(P,Q,K$,H))}let _=H[Q],T=_.modify($,Z+g1,X,J,G,Y);if(_===T)return this;let M=W,S;if(n8(T)){if(M&=~A,!M)return new v9;if(H.length<=2&&hd(H[Q^1]))return H[Q^1];S=KK(P,Q,H)}else S=s4(P,Q,T,H);if(P)return this.mask=M,this.children=S,this;return new I7($,M,S)}}class QK{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,H=this.children,U=h1(Z,J),A=H[U],Q=(A||new v9).modify($,Z+g1,X,J,G,Y);if(A===Q)return this;let O=VW(this,$),P;if(n8(A)&&!n8(Q))++W,P=s4(O,U,Q,H);else if(!n8(A)&&n8(Q)){if(--W,W<=rz)return md($,W,U,H);P=s4(O,U,new v9,H)}else P=s4(O,U,Q,H);if(O)return this.size=W,this.children=P,this;return new QK($,W,P)}}function md($,Z,X,J){let G=Array(Z-1),Y=0,W=0;for(let H=0,U=J.length;H<U;++H)if(H!==X){let A=J[H];if(A&&!n8(A))G[Y++]=A,W|=1<<H}return new I7($,W,G)}function fd($,Z,X,J,G){let Y=[],W=J,H=0;for(let U=0;W;++U){if(W&1)Y[U]=G[H++];W>>>=1}return Y[Z]=X,new QK($,H+1,Y)}function pd($,Z,X,J,G,Y){if(X===G)return new VK($,X,[Y,J]);let W=h1(Z,X),H=h1(Z,G);if(W===H)return(U)=>new I7($,m1(W)|m1(H),[U]);else{let U=W<H?[J,Y]:[Y,J];return new I7($,m1(W)|m1(H),U)}}function az($,Z,X,J,G,Y){let W=void 0,H=Z;while(!0){let U=pd($,H,X,J,G,Y);if(typeof U==="function")W=iz(U,W),H=H+g1;else{let A=U;while(W!=null)A=W.value(A),W=W.previous;return A}}}var tz="effect/HashMap",QW=Symbol.for(tz),dd={[QW]:QW,[Symbol.iterator](){return new BW(this,($,Z)=>[$,Z])},[Y$](){let $=a(tz);for(let Z of this)$^=F(a(Z[0]),V$(a(Z[1])));return R$(this,$)},[G$]($){if(XT($)){if($._size!==this._size)return!1;for(let Z of this){let X=F($,NW(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$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},OK=($,Z,X,J)=>{let G=Object.create(dd);return G._editable=$,G._edit=Z,G._root=X,G._size=J,G};class BW{map;f;v;constructor($,Z){this.map=$,this.f=Z,this.v=ez(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=OW($.cont),{done:!1,value:$.value}}[Symbol.iterator](){return new BW(this.map,this.f)}}var OW=($)=>$?$T($[0],$[1],$[2],$[3],$[4]):x(),ez=($,Z,X=void 0)=>{switch($._tag){case"LeafNode":{if(p$($.value))return j({value:Z($.key,$.value.value),cont:X});return OW(X)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let J=$.children;return $T(J.length,J,0,Z,X)}default:return OW(X)}},$T=($,Z,X,J,G)=>{while(X<$){let Y=Z[X++];if(Y&&!n8(Y))return ez(Y,J,[$,Z,X,J,G])}return OW(G)},ud=OK(!1,0,new v9,0),v7=()=>ud;var ZT=($)=>{let Z=xJ(v7());for(let X of $)t4(Z,X[0],X[1]);return NK(Z)},XT=($)=>u($,QW),JT=($)=>$&&n8($._root),GT=V(2,($,Z)=>NW($,Z,a(Z))),NW=V(3,($,Z,X)=>{let J=$._root,G=0;while(!0)switch(J._tag){case"LeafNode":return s(Z,J.key)?J.value:x();case"CollisionNode":{if(X===J.hash){let Y=J.children;for(let W=0,H=Y.length;W<H;++W){let U=Y[W];if("key"in U&&s(Z,U.key))return U.value}}return x()}case"IndexedNode":{let Y=h1(G,X),W=m1(Y);if(J.mask&W){J=J.children[KW(J.mask,W)],G+=g1;break}return x()}case"ArrayNode":{if(J=J.children[h1(G,X)],J){G+=g1;break}return x()}default:return x()}});var BK=V(2,($,Z)=>p$(NW($,Z,a(Z))));var t4=V(3,($,Z,X)=>PW($,Z,()=>j(X))),od=V(3,($,Z,X)=>{if($._editable)return $._root=Z,$._size=X,$;return Z===$._root?$:OK($._editable,$._edit,Z,X)}),_W=($)=>new BW($,(Z)=>Z);var EJ=($)=>$._size;var xJ=($)=>OK(!0,$._edit+1,$._root,$._size),NK=($)=>{return $._editable=!1,$},YT=V(2,($,Z)=>{let X=xJ($);return Z(X),NK(X)}),PW=V(3,($,Z,X)=>WT($,Z,a(Z),X)),WT=V(4,($,Z,X,J)=>{let G={value:$._size},Y=$._root.modify($._editable?$._edit:NaN,0,J,X,Z,G);return F($,od(Y,G.value))});var FW=V(2,($,Z)=>PW($,Z,x));var HT=V(2,($,Z)=>y7($,v7(),(X,J,G)=>t4(X,G,Z(J,G))));var zW=V(2,($,Z)=>y7($,void 0,(X,J,G)=>Z(J,G))),y7=V(3,($,Z,X)=>{let J=$._root;if(J._tag==="LeafNode")return p$(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,H=Y.length;W<H;){let U=Y[W++];if(U&&!n8(U))if(U._tag==="LeafNode"){if(p$(U.value))Z=X(Z,U.value.value,U.key)}else G.push(U.children)}return Z});var UT="effect/HashSet",TW=Symbol.for(UT),nd={[TW]:TW,[Symbol.iterator](){return _W(this._keyMap)},[Y$](){return R$(this,V$(a(this._keyMap))(a(UT)))},[G$]($){if(AT($))return EJ(this._keyMap)===EJ($._keyMap)&&s(this._keyMap,$._keyMap);return!1},toString(){return k$(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(y$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},MW=($)=>{let Z=Object.create(nd);return Z._keyMap=$,Z},AT=($)=>u($,TW),ld=MW(v7()),e4=()=>ld,KT=($)=>{let Z=CW(e4());for(let X of $)f1(Z,X);return RW(Z)},VT=(...$)=>{let Z=CW(e4());for(let X of $)f1(Z,X);return RW(Z)},wW=V(2,($,Z)=>BK($._keyMap,Z)),QT=V(2,($,Z)=>{let X=!1;for(let J of $)if(X=Z(J),X)break;return X}),OT=V(2,($,Z)=>!QT($,(X)=>!Z(X)));var BT=($)=>EJ($._keyMap),CW=($)=>MW(xJ($._keyMap)),RW=($)=>{return $._keyMap._editable=!1,$},SJ=V(2,($,Z)=>{let X=CW($);return Z(X),RW(X)}),f1=V(2,($,Z)=>$._keyMap._editable?(t4(Z,!0)($._keyMap),$):MW(t4(Z,!0)($._keyMap))),_K=V(2,($,Z)=>$._keyMap._editable?(FW(Z)($._keyMap),$):MW(FW(Z)($._keyMap))),NT=V(2,($,Z)=>SJ($,(X)=>{for(let J of Z)_K(X,J)}));var _T=V(2,($,Z)=>SJ(e4(),(X)=>{LW($,(J)=>f1(X,J));for(let J of Z)f1(X,J)}));var PT=V(2,($,Z)=>SJ(e4(),(X)=>{LW($,(J)=>{let G=Z(J);if(!wW(X,G))f1(X,G)})})),FT=V(2,($,Z)=>SJ(e4(),(X)=>{LW($,(J)=>{for(let G of Z(J))if(!wW(X,G))f1(X,G)})})),LW=V(2,($,Z)=>zW($._keyMap,(X,J)=>Z(J))),zT=V(3,($,Z,X)=>y7($._keyMap,Z,(J,G,Y)=>X(J,Y)));var l8=e4,qW=KT,_6=VT,b7=wW;var TT=OT;var y9=BT;var $5=f1,PK=_K,FK=NT;var n6=_T;var zK=PT,TK=FT;var Z5=zT;var MT=Symbol.for("effect/MutableRef"),id={[MT]:MT,toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableRef",current:y$(this.current)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},l6=($)=>{let Z=Object.create(id);return Z.current=$,Z},EW=V(3,($,Z,X)=>{if(s(Z,$.current))return $.current=X,!0;return!1});var r6=($)=>$.current;var b9=V(2,($,Z)=>{return $.current=Z,$});var kW="effect/FiberId",p1=Symbol.for(kW),c1="None",xW="Runtime",SW="Composite",sd=u$(`${kW}-${c1}`);class CT{[p1]=p1;_tag=c1;id=-1;startTimeMillis=-1;[Y$](){return sd}[G$]($){return vW($)&&$._tag===c1}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[C$](){return this.toJSON()}}class MK{id;startTimeMillis;[p1]=p1;_tag=xW;constructor($,Z){this.id=$,this.startTimeMillis=Z}[Y$](){return R$(this,u$(`${kW}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[G$]($){return vW($)&&$._tag===xW&&this.id===$.id&&this.startTimeMillis===$.startTimeMillis}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,id:this.id,startTimeMillis:this.startTimeMillis}}[C$](){return this.toJSON()}}class RT{left;right;[p1]=p1;_tag=SW;constructor($,Z){this.left=$,this.right=Z}_hash;[Y$](){return F(u$(`${kW}-${this._tag}`),V$(a(this.left)),V$(a(this.right)),R$(this))}[G$]($){return vW($)&&$._tag===SW&&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)}}[C$](){return this.toJSON()}}var IW=new CT;var vW=($)=>u($,p1),wK=($)=>{return $._tag===c1||F(jW($),TT((Z)=>wK(Z)))};var LT=V(2,($,Z)=>{if($._tag===c1)return Z;if(Z._tag===c1)return $;return new RT($,Z)});var qT=V(2,($,Z)=>wK($)?Z:$),kJ=($)=>{switch($._tag){case c1:return l8();case xW:return _6($.id);case SW:return F(kJ($.left),n6(kJ($.right)))}},wT=_$(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>l6(0)),ET=($,Z)=>{return new MK($,Z)},yW=($)=>{return Array.from(kJ($)).map((X)=>`#${X}`).join(",")};var jW=($)=>{switch($._tag){case c1:return l8();case xW:return _6($);case SW:return F(jW($.left),n6(jW($.right)))}},xT=()=>{let $=r6(wT);return F(wT,b9($+1)),new MK($,Date.now())};var d0=IW;var V8=LT;var bW=qT,d1=kJ,gW=ET,jT=yW;var hW=xT;var X5=v7;var kT=ZT,IT=JT,CK=GT;var SZ=t4,RK=_W;var vT=YT,yT=PW;var bT=HT;var gT=zW,LK=y7;var IJ=Symbol.for("effect/List"),qK=($)=>P$($),ad=($)=>CF(E7($),qK),td=ad(s),ed={[IJ]:IJ,_tag:"Cons",toString(){return k$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:qK(this).map(y$)}},[C$](){return this.toJSON()},[G$]($){return mT($)&&this._tag===$._tag&&td(this,$)},[Y$](){return R$(this,n0(qK(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)}},mW=($,Z)=>{let X=Object.create(ed);return X.head=$,X.tail=Z,X},$u=u$("Nil"),Zu={[IJ]:IJ,_tag:"Nil",toString(){return k$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[C$](){return this.toJSON()},[Y$](){return $u},[G$]($){return mT($)&&this._tag===$._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return n(this,arguments)}},hT=Object.create(Zu),mT=($)=>u($,IJ),i6=($)=>$._tag==="Nil",EK=($)=>$._tag==="Cons";var Xu=()=>hT,g9=($,Z)=>mW($,Z),s6=Xu,vJ=($)=>mW($,hT);var fT=V(2,($,Z)=>Ju(Z,$)),fW=V(2,($,Z)=>g9(Z,$)),Ju=V(2,($,Z)=>{if(i6($))return Z;else if(i6(Z))return $;else{let X=mW(Z.head,$),J=X,G=Z.tail;while(!i6(G)){let Y=mW(G.head,$);J.tail=Y,J=Y,G=G.tail}return X}});var pT=V(3,($,Z,X)=>{let J=Z,G=$;while(!i6(G))J=X(J,G.head),G=G.tail;return J});var cT=($)=>{let Z=s6(),X=$;while(!i6(X))Z=fW(Z,X.head),X=X.tail;return Z};var VH$=Object.assign(Object.create(Array.prototype),{[Y$](){return R$(this,n0(this))},[G$]($){if(Array.isArray($)&&this.length===$.length)return this.every((Z,X)=>s(Z,$[X]));else return!1}}),h7=function(){function $(Z){if(Z)Object.assign(this,Z)}return $.prototype=C7,$}(),cW=($)=>Object.assign(Object.create(C7),$);var Gu=Symbol.for("effect/DifferContextPatch");function uT($){return $}var bJ={...h7.prototype,[Gu]:{_Value:uT,_Patch:uT}},Yu=Object.assign(Object.create(bJ),{_tag:"Empty"}),Wu=Object.create(Yu),xK=()=>Wu,Hu=Object.assign(Object.create(bJ),{_tag:"AndThen"}),Du=($,Z)=>{let X=Object.create(Hu);return X.first=$,X.second=Z,X},Uu=Object.assign(Object.create(bJ),{_tag:"AddService"}),Au=($,Z)=>{let X=Object.create(Uu);return X.key=$,X.service=Z,X},Ku=Object.assign(Object.create(bJ),{_tag:"RemoveService"}),Vu=($)=>{let Z=Object.create(Ku);return Z.key=$,Z},Qu=Object.assign(Object.create(bJ),{_tag:"UpdateService"}),Ou=($,Z)=>{let X=Object.create(Qu);return X.key=$,X.update=Z,X},oT=($,Z)=>{let X=new Map($.unsafeMap),J=xK();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=yJ(Ou(G,()=>Y))(J)}else X.delete(G),J=yJ(Au(G,Y))(J);for(let[G]of X.entries())J=yJ(Vu(G))(J);return J},yJ=V(2,($,Z)=>Du($,Z)),nT=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=!1,J=S0($),G=new Map(Z.unsafeMap);while(H0(J)){let W=g$(J),H=D0(J);switch(W._tag){case"Empty":{J=H;break}case"AddService":{G.set(W.key,W.service),J=H;break}case"AndThen":{J=O0(O0(H,W.second),W.first);break}case"RemoveService":{G.delete(W.key),J=H;break}case"UpdateService":{G.set(W.key,W.update(G.get(W.key))),X=!0,J=H;break}}}if(!X)return d8(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,H]of G)Y.set(W,H);return d8(Y)});var Nu=Symbol.for("effect/DifferHashSetPatch");function SK($){return $}var uW={...h7.prototype,[Nu]:{_Value:SK,_Key:SK,_Patch:SK}},_u=Object.assign(Object.create(uW),{_tag:"Empty"}),Pu=Object.create(_u),jK=()=>Pu,Fu=Object.assign(Object.create(uW),{_tag:"AndThen"}),zu=($,Z)=>{let X=Object.create(Fu);return X.first=$,X.second=Z,X},Tu=Object.assign(Object.create(uW),{_tag:"Add"}),Mu=($)=>{let Z=Object.create(Tu);return Z.value=$,Z},wu=Object.assign(Object.create(uW),{_tag:"Remove"}),Cu=($)=>{let Z=Object.create(wu);return Z.value=$,Z},lT=($,Z)=>{let[X,J]=Z5([$,jK()],([G,Y],W)=>{if(b7(W)(G))return[PK(W)(G),Y];return[G,dW(Mu(W))(Y)]})(Z);return Z5(J,(G,Y)=>dW(Cu(Y))(G))(X)},dW=V(2,($,Z)=>zu($,Z)),rT=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=Z,J=S0($);while(H0(J)){let G=g$(J),Y=D0(J);switch(G._tag){case"Empty":{J=Y;break}case"AndThen":{J=O0(G.first)(O0(G.second)(Y));break}case"Add":{X=$5(G.value)(X),J=Y;break}case"Remove":X=PK(G.value)(X),J=Y}}return X});var Lu=Symbol.for("effect/DifferReadonlyArrayPatch");function iT($){return $}var hJ={...h7.prototype,[Lu]:{_Value:iT,_Patch:iT}},qu=Object.assign(Object.create(hJ),{_tag:"Empty"}),Eu=Object.create(qu),kK=()=>Eu,xu=Object.assign(Object.create(hJ),{_tag:"AndThen"}),Su=($,Z)=>{let X=Object.create(xu);return X.first=$,X.second=Z,X},ju=Object.assign(Object.create(hJ),{_tag:"Append"}),ku=($)=>{let Z=Object.create(ju);return Z.values=$,Z},Iu=Object.assign(Object.create(hJ),{_tag:"Slice"}),vu=($,Z)=>{let X=Object.create(Iu);return X.from=$,X.until=Z,X},yu=Object.assign(Object.create(hJ),{_tag:"Update"}),bu=($,Z)=>{let X=Object.create(yu);return X.index=$,X.patch=Z,X},sT=($)=>{let Z=0,X=kK();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=gJ(X,bu(Z,Y));Z=Z+1}if(Z<$.oldValue.length)X=gJ(X,vu(0,Z));if(Z<$.newValue.length)X=gJ(X,ku(Oz(Z)($.newValue)));return X},gJ=V(2,($,Z)=>Su($,Z)),aT=V(3,($,Z,X)=>{if($._tag==="Empty")return Z;let J=Z.slice(),G=rZ($);while(XW(G)){let Y=KZ(G),W=p6(G);switch(Y._tag){case"Empty":{G=W;break}case"AndThen":{W.unshift(Y.first,Y.second),G=W;break}case"Append":{for(let H of Y.values)J.push(H);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 tT=Symbol.for("effect/Differ"),hu={[tT]:{_P:w$,_V:w$},pipe(){return n(this,arguments)}},o1=($)=>{let Z=Object.create(hu);return Z.empty=$.empty,Z.diff=$.diff,Z.combine=$.combine,Z.patch=$.patch,Z},IK=()=>o1({empty:xK(),combine:($,Z)=>yJ(Z)($),diff:($,Z)=>oT($,Z),patch:($,Z)=>nT(Z)($)});var vK=()=>o1({empty:jK(),combine:($,Z)=>dW(Z)($),diff:($,Z)=>lT($,Z),patch:($,Z)=>rT(Z)($)});var yK=($)=>o1({empty:kK(),combine:(Z,X)=>gJ(Z,X),diff:(Z,X)=>sT({oldValue:Z,newValue:X,differ:$}),patch:(Z,X)=>aT(Z,X,$)});var oW=()=>eT(($,Z)=>Z),eT=($)=>o1({empty:w$,combine:(Z,X)=>{if(Z===w$)return X;if(X===w$)return Z;return(J)=>X(Z(J))},diff:(Z,X)=>{if(s(Z,X))return w$;return V7(X)},patch:(Z,X)=>$(X,Z(X))});var mJ=255,$M=8,nW=($)=>$&mJ,lW=($)=>$>>$M&mJ,J5=($,Z)=>($&mJ)+((Z&$&mJ)<<$M),rW=J5(0,0),ZM=($)=>J5($,$),XM=($)=>J5($,0);var JM=V(2,($,Z)=>J5(nW($)&~Z,lW($)));var gK=V(2,($,Z)=>$|Z);var GM=($)=>~$>>>0&mJ;var mu=0,F6=1,WM=2,hK=4,iW=16,mK=32;var HM=($)=>sW($,mK),fK=V(2,($,Z)=>$&~Z);var pK=V(2,($,Z)=>$|Z);var z6=($)=>fJ($)&&!fu($),fJ=($)=>sW($,F6);var sW=V(2,($,Z)=>($&Z)!==0),cK=(...$)=>$.reduce((Z,X)=>Z|X,0),DM=cK(mu);var dK=($)=>sW($,hK);var fu=($)=>sW($,iW);var r8=V(2,($,Z)=>J5($^Z,Z)),h9=V(2,($,Z)=>$&(GM(nW(Z))|lW(Z))|nW(Z)&lW(Z));var uK=o1({empty:rW,diff:($,Z)=>r8($,Z),combine:($,Z)=>gK(Z)($),patch:($,Z)=>h9(Z,$)});var UM=rW;var oK=ZM,nK=XM;var lK=JM;var KM={_tag:"Empty"},iK=($,Z)=>({_tag:"Par",left:$,right:Z}),aW=($,Z)=>({_tag:"Seq",left:$,right:Z}),sK=($,Z)=>({_tag:"Single",dataSource:$,blockedRequest:Z});var VM=($)=>{let Z=vJ($),X=s6();while(!0){let[J,G]=pT(Z,[OM(),s6()],([Y,W],H)=>{let[U,A]=pu(H);return[ru(Y,U),fT(W,A)]});if(X=cu(X,J),i6(G))return cT(X);Z=G}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},pu=($)=>{let Z=$,X=OM(),J=s6(),G=s6();while(!0)switch(Z._tag){case"Empty":{if(i6(J))return[X,G];Z=J.head,J=J.tail;break}case"Par":{J=g9(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:H,right:U}=Y;Z=iK(aW(H,W),aW(U,W));break}case"Seq":{let{left:H,right:U}=Y;Z=aW(H,aW(U,W));break}case"Single":{Z=Y,G=g9(W,G);break}}break}case"Single":{if(X=lu(X,Z),i6(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")},cu=($,Z)=>{if(i6($))return vJ(rK(Z));if(iu(Z))return $;let X=Zo($.head),J=su(Z);if(X.length===1&&J.length===1&&s(X[0],J[0]))return g9($o($.head,rK(Z)),$.tail);return g9(rK(Z),$)},du=Symbol.for("effect/RequestBlock/Entry");class QM{request;result;listeners;ownerId;state;[du]=uu;constructor($,Z,X,J,G){this.request=$,this.result=Z,this.listeners=X,this.ownerId=J,this.state=G}}var uu={_R:($)=>$};var aK=($)=>new QM($.request,$.result,$.listeners,$.ownerId,$.state),ou=Symbol.for("effect/RequestBlock/RequestBlockParallel"),nu={_R:($)=>$};class tW{map;[ou]=nu;constructor($){this.map=$}}var OM=()=>new tW(X5());var lu=($,Z)=>new tW(yT($.map,Z.dataSource,(X)=>v3(x0(X,x7(Z.blockedRequest)),()=>S0(Z.blockedRequest)))),ru=($,Z)=>new tW(LK($.map,Z.map,(X,J,G)=>SZ(X,G,p0(CK(X,G),{onNone:()=>J,onSome:(Y)=>M8(J,Y)})))),iu=($)=>IT($.map),su=($)=>Array.from(RK($.map)),rK=($)=>eu(bT($.map,(Z)=>S0(Z))),au=Symbol.for("effect/RequestBlock/RequestBlockSequential"),tu={_R:($)=>$};class tK{map;[au]=tu;constructor($){this.map=$}}var eu=($)=>new tK($),$o=($,Z)=>new tK(LK(Z.map,$.map,(X,J,G)=>SZ(X,G,p0(CK(X,G),{onNone:()=>C0(),onSome:(Y)=>M8(Y,J)}))));var Zo=($)=>Array.from(RK($.map)),BM=($)=>Array.from($.map);var n1="Die",m9="Empty",l1="Fail",r1="Interrupt",i1="Parallel",s1="Sequential";var FM="effect/Cause",eW=Symbol.for(FM),Jo={_E:($)=>$},p7={[eW]:Jo,[Y$](){return F(a(FM),V$(a(Go(this))),R$(this))},[G$]($){return pJ($)&&yM(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 M6(this)},[C$](){return this.toJSON()}},u0=(()=>{let $=Object.create(p7);return $._tag=m9,$})(),Q8=($)=>{let Z=Object.create(p7);return Z._tag=l1,Z.error=$,Z},P0=($)=>{let Z=Object.create(p7);return Z._tag=n1,Z.defect=$,Z},QZ=($)=>{let Z=Object.create(p7);return Z._tag=r1,Z.fiberId=$,Z},F0=($,Z)=>{let X=Object.create(p7);return X._tag=i1,X.left=$,X.right=Z,X},$0=($,Z)=>{let X=Object.create(p7);return X._tag=s1,X.left=$,X.right=Z,X},pJ=($)=>u($,eW),$H=($)=>$._tag===m9,zM=($)=>$._tag===l1,Y5=($)=>$._tag===n1,TM=($)=>$._tag===r1,MM=($)=>$._tag===s1,wM=($)=>$._tag===i1,CM=($)=>D5($,void 0,Wo),cJ=($)=>{if($._tag===m9)return!0;return f9($,!0,(Z,X)=>{switch(X._tag){case m9:return j(Z);case n1:case l1:case r1:return j(!1);default:return x()}})},RM=($)=>p$(o7($)),LM=($)=>p$(ZV($)),c7=($)=>p$(XV($)),W5=($)=>D5(void 0,Ho)($),d7=($)=>w8(f9($,C0(),(Z,X)=>X._tag===l1?j(F(Z,O0(X.error))):x())),u7=($)=>w8(f9($,C0(),(Z,X)=>X._tag===n1?j(F(Z,O0(X.defect))):x())),H5=($)=>f9($,l8(),(Z,X)=>X._tag===r1?j(F(Z,$5(X.fiberId))):x()),o7=($)=>a6($,(Z)=>Z._tag===l1?j(Z.error):x()),T6=($)=>{let Z=o7($);switch(Z._tag){case"None":return S$($);case"Some":return f$(Z.value)}},ZV=($)=>a6($,(Z)=>Z._tag===n1?j(Z.defect):x()),qM=($)=>t6($,{onEmpty:j(u0),onFail:x0(Q8),onDie:(Z)=>j(P0(Z)),onInterrupt:(Z)=>j(QZ(Z)),onSequential:f6($0),onParallel:f6(F0)}),XV=($)=>a6($,(Z)=>Z._tag===r1?j(Z.fiberId):x()),ZH=($)=>t6($,{onEmpty:x(),onFail:()=>x(),onDie:(Z)=>j(P0(Z)),onInterrupt:()=>x(),onSequential:f6($0),onParallel:f6(F0)}),EM=($)=>t6($,{onEmpty:x(),onFail:(Z)=>j(P0(Z)),onDie:(Z)=>j(P0(Z)),onInterrupt:()=>x(),onSequential:f6($0),onParallel:f6(F0)}),xM=($)=>t6($,{onEmpty:l8(),onFail:(Z)=>_6(Q8(Z)),onDie:(Z)=>_6(P0(Z)),onInterrupt:(Z)=>_6(QZ(Z)),onSequential:(Z,X)=>TK(Z,(J)=>zK(X,(G)=>$0(J,G))),onParallel:(Z,X)=>TK(Z,(J)=>zK(X,(G)=>F0(J,G)))}),dJ=($)=>t6($,{onEmpty:u0,onFail:()=>u0,onDie:P0,onInterrupt:QZ,onSequential:$0,onParallel:F0}),SM=($)=>t6($,{onEmpty:u0,onFail:P0,onDie:P0,onInterrupt:QZ,onSequential:$0,onParallel:F0}),jM=V(2,($,Z)=>t6($,{onEmpty:j(u0),onFail:(X)=>j(Q8(X)),onDie:(X)=>{let J=Z(X);return p$(J)?x():j(P0(X))},onInterrupt:(X)=>j(QZ(X)),onSequential:f6($0),onParallel:f6(F0)})),kM=V(2,($,Z)=>n7($,()=>Z)),n7=V(2,($,Z)=>f7($,(X)=>Q8(Z(X)))),f7=V(2,($,Z)=>t6($,{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)})),XH=($)=>f7($,w$),IM=V(2,($,Z)=>m8(Z)?f7($,Z):f7($,()=>Z)),vM=V(2,($,Z)=>{if(Z._tag===m9||$===Z)return!0;return f9($,!1,(X,J)=>{return j(X||yM(J,Z))})}),yM=($,Z)=>{let X=S0($),J=S0(Z);while(H0(X)&&H0(J)){let[G,Y]=F(g$(X),f9([l8(),C0()],([U,A],Q)=>{let[O,P]=eK(Q);return j([F(U,n6(O)),F(A,M8(P))])})),[W,H]=F(g$(J),f9([l8(),C0()],([U,A],Q)=>{let[O,P]=eK(Q);return j([F(U,n6(O)),F(A,M8(P))])}));if(!s(G,W))return!1;X=Y,J=H}return!0},Go=($)=>{return Yo(S0($),C0())},Yo=($,Z)=>{while(!0){let[X,J]=F($,y1([l8(),C0()],([Y,W],H)=>{let[U,A]=eK(H);return[F(Y,n6(U)),F(W,M8(A))]})),G=y9(X)>0?F(Z,O0(X)):Z;if(YW(J))return w8(G);$=J,Z=G}throw Error(q9("Cause.flattenCauseLoop"))},a6=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 s1:case i1:{X.push(J.right),X.push(J.left);break}}break}case"Some":return G}}return x()}),bM=V(2,($,Z)=>D5($,void 0,Do(Z))),eK=($)=>{let Z=$,X=[],J=l8(),G=C0();while(Z!==void 0)switch(Z._tag){case m9:{if(X.length===0)return[J,G];Z=X.pop();break}case l1:{if(J=$5(J,wJ(Z._tag,Z.error)),X.length===0)return[J,G];Z=X.pop();break}case n1:{if(J=$5(J,wJ(Z._tag,Z.defect)),X.length===0)return[J,G];Z=X.pop();break}case r1:{if(J=$5(J,wJ(Z._tag,Z.fiberId)),X.length===0)return[J,G];Z=X.pop();break}case s1:{switch(Z.left._tag){case m9:{Z=Z.right;break}case s1:{Z=$0(Z.left.left,$0(Z.left.right,Z.right));break}case i1:{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 i1:{X.push(Z.right),Z=Z.left;break}}throw Error(q9("Cause.evaluateCauseLoop"))},Wo={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:($,Z,X)=>Z+X,parallelCase:($,Z,X)=>Z+X},Ho={emptyCase:g6,failCase:JZ,dieCase:JZ,interruptCase:g6,sequentialCase:($,Z,X)=>Z&&X,parallelCase:($,Z,X)=>Z&&X},Do=($)=>({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}}),_M="SequentialCase",PM="ParallelCase",t6=V(2,($,{onDie:Z,onEmpty:X,onFail:J,onInterrupt:G,onParallel:Y,onSequential:W})=>{return D5($,void 0,{emptyCase:()=>X,failCase:(H,U)=>J(U),dieCase:(H,U)=>Z(U),interruptCase:(H,U)=>G(U),sequentialCase:(H,U,A)=>W(U,A),parallelCase:(H,U,A)=>Y(U,A)})}),f9=V(3,($,Z,X)=>{let J=Z,G=$,Y=[];while(G!==void 0){let W=X(J,G);switch(J=p$(W)?W.value:J,G._tag){case s1:{Y.push(G.right),G=G.left;break}case i1:{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}),D5=V(3,($,Z,X)=>{let J=[$],G=[];while(J.length>0){let W=J.pop();switch(W._tag){case m9:{G.push(S$(X.emptyCase(Z)));break}case l1:{G.push(S$(X.failCase(Z,W.error)));break}case n1:{G.push(S$(X.dieCase(Z,W.defect)));break}case r1:{G.push(S$(X.interruptCase(Z,W.fiberId)));break}case s1:{J.push(W.right),J.push(W.left),G.push(f$({_tag:_M}));break}case i1:{J.push(W.right),J.push(W.left),G.push(f$({_tag:PM}));break}}}let Y=[];while(G.length>0){let W=G.pop();switch(W._tag){case"Left":{switch(W.left._tag){case _M:{let H=Y.pop(),U=Y.pop(),A=X.sequentialCase(Z,H,U);Y.push(A);break}case PM:{let H=Y.pop(),U=Y.pop(),A=X.parallelCase(Z,H,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()}),M6=($,Z)=>{if(W5($))return"All fibers interrupted without errors.";return l7($).map(function(X){if(Z?.renderErrorCause!==!0||X.cause===void 0)return X.stack;return`${X.stack} {
|
|
5
|
+
`)}return Z},e3=($)=>u($,t3),Rz=($)=>u($,WW),HW=($)=>u($,S7),Vd=d8(new Map),Lz=()=>Vd,$K=($,Z)=>d8(new Map([[$.key,Z]])),qz=V(3,($,Z,X)=>{let J=new Map($.unsafeMap);return J.set(Z.key,X),d8(J)}),a3=_$("effect/Context/defaultValueCache",()=>new Map),DW=($)=>{if(a3.has($.key))return a3.get($.key);let Z=$.defaultValue();return a3.set($.key,Z),Z},Ez=($,Z)=>{return $.unsafeMap.has(Z.key)?$.unsafeMap.get(Z.key):DW(Z)},ZK=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key)){if(S7 in Z)return DW(Z);throw Kd(Z)}return $.unsafeMap.get(Z.key)}),xz=ZK,Sz=V(3,($,Z,X)=>{if(!$.unsafeMap.has(Z.key))return HW(Z)?DW(Z):X();return $.unsafeMap.get(Z.key)}),jz=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key))return HW(Z)?oZ(DW(Z)):O6;return oZ($.unsafeMap.get(Z.key))}),kz=V(2,($,Z)=>{let X=new Map($.unsafeMap);for(let[J,G]of Z.unsafeMap)X.set(J,G);return d8(X)}),Iz=(...$)=>{let Z=new Map;for(let X=0;X<$.length;X++)$[X].unsafeMap.forEach((J,G)=>{Z.set(G,J)});return d8(Z)},vz=(...$)=>(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 d8(J)},yz=(...$)=>(Z)=>{let X=new Map(Z.unsafeMap);for(let J of $)X.delete(J.key);return d8(X)};var Qd=WW,Od=S7,WZ=Mz;var Bd=d8,XK=e3,k7=Rz,Nd=HW,VZ=Lz,U8=$K,e$=qz,l0=xz,_d=Sz,u8=ZK,R8=jz,o8=kz,JK=Iz,Pd=vz,Fd=yz,zd=wz,u6=Cz;var GK=Symbol.for("effect/Duration"),pz=BigInt(0),gz=BigInt(24),UW=BigInt(60),YK=BigInt(1000),hz=BigInt(1e6),mz=BigInt(1e9),Td=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Y0=($)=>{if(cz($))return $;else if(KJ($))return xZ($);else if(P3($))return LJ($);else if(Array.isArray($)&&$.length===2&&$.every(KJ)){if($[0]===-1/0||$[1]===-1/0||Number.isNaN($[0])||Number.isNaN($[1]))return K8;if($[0]===1/0||$[1]===1/0)return Rd;return LJ(BigInt(Math.round($[0]*1e9))+BigInt(Math.round($[1])))}else if(AJ($)){let Z=Td.exec($);if(Z){let[X,J,G]=Z,Y=Number(J);switch(G){case"nano":case"nanos":return LJ(BigInt(J));case"micro":case"micros":return Ld(BigInt(J));case"milli":case"millis":return xZ(Y);case"second":case"seconds":return WK(Y);case"minute":case"minutes":return qd(Y);case"hour":case"hours":return Ed(Y);case"day":case"days":return xd(Y);case"week":case"weeks":return Sd(Y)}}}throw Error("Invalid DurationInput")};var fz={_tag:"Millis",millis:0},Md={_tag:"Infinity"},wd={[GK]:GK,[Y$](){return R$(this,pY(this.value))},[G$]($){return cz($)&&vd(this,$)},toString(){return`Duration(${UK(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:kd(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},A8=($)=>{let Z=Object.create(wd);if(KJ($))if(isNaN($)||$<=0)Z.value=fz;else if(!Number.isFinite($))Z.value=Md;else if(!Number.isInteger($))Z.value={_tag:"Nanos",nanos:BigInt(Math.round($*1e6))};else Z.value={_tag:"Millis",millis:$};else if($<=pz)Z.value=fz;else Z.value={_tag:"Nanos",nanos:$};return Z},cz=($)=>u($,GK);var Cd=($)=>{switch($.value._tag){case"Millis":return $.value.millis===0;case"Nanos":return $.value.nanos===pz;case"Infinity":return!1}},K8=A8(0),Rd=A8(1/0),LJ=($)=>A8($),Ld=($)=>A8($*YK),xZ=($)=>A8($),WK=($)=>A8($*1000),qd=($)=>A8($*60000),Ed=($)=>A8($*3600000),xd=($)=>A8($*86400000),Sd=($)=>A8($*604800000),MZ=($)=>dz($,{onMillis:(Z)=>Z,onNanos:(Z)=>Number(Z)/1e6});var jd=($)=>{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))}},kd=($)=>{let Z=Y0($);switch(Z.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(Z.value.nanos/mz),Number(Z.value.nanos%mz)];case"Millis":return[Math.floor(Z.value.millis/1000),Math.round(Z.value.millis%1000*1e6)]}},dz=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)}}),qJ=V(3,($,Z,X)=>{let J=Y0($),G=Y0(Z);if(J.value._tag==="Infinity"||G.value._tag==="Infinity")return X.onMillis(MZ(J),MZ(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 Id=($,Z)=>qJ($,Z,{onMillis:(X,J)=>X===J,onNanos:(X,J)=>X===J});var HK=V(2,($,Z)=>dz($,{onMillis:(X)=>A8(X*Z),onNanos:(X)=>A8(X*BigInt(Z))}));var DK=V(2,($,Z)=>qJ($,Z,{onMillis:(X,J)=>A8(X+J),onNanos:(X,J)=>A8(X+J)})),uz=V(2,($,Z)=>qJ($,Z,{onMillis:(X,J)=>X<J,onNanos:(X,J)=>X<J})),oz=V(2,($,Z)=>qJ($,Z,{onMillis:(X,J)=>X<=J,onNanos:(X,J)=>X<=J}));var AW=V(2,($,Z)=>qJ($,Z,{onMillis:(X,J)=>X>=J,onNanos:(X,J)=>X>=J})),vd=V(2,($,Z)=>Id(Y0($),Y0(Z))),yd=($)=>{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=jd(Z),J=X/hz,G=J/YK,Y=G/UW,W=Y/UW,H=W/gz;return{days:Number(H),hours:Number(W%gz),minutes:Number(Y%UW),seconds:Number(G%UW),millis:Number(J%YK),nanos:Number(X%hz)}},UK=($)=>{let Z=Y0($);if(Z.value._tag==="Infinity")return"Infinity";if(Cd(Z))return"0";let X=yd(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 g1=5,AK=Math.pow(2,5),nz=AK-1,rz=AK/2,lz=AK/4;function bd($){return $-=$>>1&1431655765,$=($&858993459)+($>>2&858993459),$=$+($>>4)&252645135,$+=$>>8,$+=$>>16,$&127}function h1($,Z){return Z>>>$&nz}function m1($){return 1<<$}function KW($,Z){return bd($&Z-1)}var iz=($,Z)=>({value:$,previous:Z});function s4($,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 KK($,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 sz($,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,H=Array(G+1);while(Y<Z)H[W++]=J[Y++];H[Z]=X;while(Y<G)H[++W]=J[Y++];return H}class v9{_tag="EmptyNode";modify($,Z,X,J,G,Y){let W=X(x());if(I$(W))return new v9;return++Y.value,new a4($,J,G,W)}}function n8($){return k1($,"EmptyNode")}function hd($){return n8($)||$._tag==="LeafNode"||$._tag==="CollisionNode"}function VW($,Z){return n8($)?!1:Z===$.edit}class a4{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 H=X(this.value);if(H===this.value)return this;else if(I$(H))return--Y.value,new v9;if(VW(this,$))return this.value=H,this;return new a4($,J,G,H)}let W=X(x());if(I$(W))return this;return++Y.value,az($,Z,this.hash,this,J,new a4($,J,G,W))}}class VK{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 H=VW(this,$),U=this.updateCollisionList(H,$,this.hash,this.children,X,G,Y);if(U===this.children)return this;return U.length>1?new VK($,this.hash,U):U[0]}let W=X(x());if(I$(W))return this;return++Y.value,az($,Z,this.hash,this,J,new a4($,J,G,W))}updateCollisionList($,Z,X,J,G,Y,W){let H=J.length;for(let A=0;A<H;++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,KK($,A,J);return s4($,A,new a4(Z,X,Y,P),J)}}let U=G(x());if(I$(U))return J;return++W.value,s4($,H,new a4(Z,X,Y,U),J)}}class I7{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,H=this.children,U=h1(Z,J),A=m1(U),Q=KW(W,A),O=W&A,P=VW(this,$);if(!O){let K$=new v9().modify($,Z+g1,X,J,G,Y);if(!K$)return this;return H.length>=rz?fd($,U,K$,W,H):new I7($,W|A,sz(P,Q,K$,H))}let _=H[Q],T=_.modify($,Z+g1,X,J,G,Y);if(_===T)return this;let M=W,S;if(n8(T)){if(M&=~A,!M)return new v9;if(H.length<=2&&hd(H[Q^1]))return H[Q^1];S=KK(P,Q,H)}else S=s4(P,Q,T,H);if(P)return this.mask=M,this.children=S,this;return new I7($,M,S)}}class QK{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,H=this.children,U=h1(Z,J),A=H[U],Q=(A||new v9).modify($,Z+g1,X,J,G,Y);if(A===Q)return this;let O=VW(this,$),P;if(n8(A)&&!n8(Q))++W,P=s4(O,U,Q,H);else if(!n8(A)&&n8(Q)){if(--W,W<=lz)return md($,W,U,H);P=s4(O,U,new v9,H)}else P=s4(O,U,Q,H);if(O)return this.size=W,this.children=P,this;return new QK($,W,P)}}function md($,Z,X,J){let G=Array(Z-1),Y=0,W=0;for(let H=0,U=J.length;H<U;++H)if(H!==X){let A=J[H];if(A&&!n8(A))G[Y++]=A,W|=1<<H}return new I7($,W,G)}function fd($,Z,X,J,G){let Y=[],W=J,H=0;for(let U=0;W;++U){if(W&1)Y[U]=G[H++];W>>>=1}return Y[Z]=X,new QK($,H+1,Y)}function pd($,Z,X,J,G,Y){if(X===G)return new VK($,X,[Y,J]);let W=h1(Z,X),H=h1(Z,G);if(W===H)return(U)=>new I7($,m1(W)|m1(H),[U]);else{let U=W<H?[J,Y]:[Y,J];return new I7($,m1(W)|m1(H),U)}}function az($,Z,X,J,G,Y){let W=void 0,H=Z;while(!0){let U=pd($,H,X,J,G,Y);if(typeof U==="function")W=iz(U,W),H=H+g1;else{let A=U;while(W!=null)A=W.value(A),W=W.previous;return A}}}var tz="effect/HashMap",QW=Symbol.for(tz),dd={[QW]:QW,[Symbol.iterator](){return new BW(this,($,Z)=>[$,Z])},[Y$](){let $=a(tz);for(let Z of this)$^=F(a(Z[0]),V$(a(Z[1])));return R$(this,$)},[G$]($){if(XT($)){if($._size!==this._size)return!1;for(let Z of this){let X=F($,NW(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$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},OK=($,Z,X,J)=>{let G=Object.create(dd);return G._editable=$,G._edit=Z,G._root=X,G._size=J,G};class BW{map;f;v;constructor($,Z){this.map=$,this.f=Z,this.v=ez(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=OW($.cont),{done:!1,value:$.value}}[Symbol.iterator](){return new BW(this.map,this.f)}}var OW=($)=>$?$T($[0],$[1],$[2],$[3],$[4]):x(),ez=($,Z,X=void 0)=>{switch($._tag){case"LeafNode":{if(p$($.value))return j({value:Z($.key,$.value.value),cont:X});return OW(X)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let J=$.children;return $T(J.length,J,0,Z,X)}default:return OW(X)}},$T=($,Z,X,J,G)=>{while(X<$){let Y=Z[X++];if(Y&&!n8(Y))return ez(Y,J,[$,Z,X,J,G])}return OW(G)},ud=OK(!1,0,new v9,0),v7=()=>ud;var ZT=($)=>{let Z=xJ(v7());for(let X of $)t4(Z,X[0],X[1]);return NK(Z)},XT=($)=>u($,QW),JT=($)=>$&&n8($._root),GT=V(2,($,Z)=>NW($,Z,a(Z))),NW=V(3,($,Z,X)=>{let J=$._root,G=0;while(!0)switch(J._tag){case"LeafNode":return s(Z,J.key)?J.value:x();case"CollisionNode":{if(X===J.hash){let Y=J.children;for(let W=0,H=Y.length;W<H;++W){let U=Y[W];if("key"in U&&s(Z,U.key))return U.value}}return x()}case"IndexedNode":{let Y=h1(G,X),W=m1(Y);if(J.mask&W){J=J.children[KW(J.mask,W)],G+=g1;break}return x()}case"ArrayNode":{if(J=J.children[h1(G,X)],J){G+=g1;break}return x()}default:return x()}});var BK=V(2,($,Z)=>p$(NW($,Z,a(Z))));var t4=V(3,($,Z,X)=>PW($,Z,()=>j(X))),od=V(3,($,Z,X)=>{if($._editable)return $._root=Z,$._size=X,$;return Z===$._root?$:OK($._editable,$._edit,Z,X)}),_W=($)=>new BW($,(Z)=>Z);var EJ=($)=>$._size;var xJ=($)=>OK(!0,$._edit+1,$._root,$._size),NK=($)=>{return $._editable=!1,$},YT=V(2,($,Z)=>{let X=xJ($);return Z(X),NK(X)}),PW=V(3,($,Z,X)=>WT($,Z,a(Z),X)),WT=V(4,($,Z,X,J)=>{let G={value:$._size},Y=$._root.modify($._editable?$._edit:NaN,0,J,X,Z,G);return F($,od(Y,G.value))});var FW=V(2,($,Z)=>PW($,Z,x));var HT=V(2,($,Z)=>y7($,v7(),(X,J,G)=>t4(X,G,Z(J,G))));var zW=V(2,($,Z)=>y7($,void 0,(X,J,G)=>Z(J,G))),y7=V(3,($,Z,X)=>{let J=$._root;if(J._tag==="LeafNode")return p$(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,H=Y.length;W<H;){let U=Y[W++];if(U&&!n8(U))if(U._tag==="LeafNode"){if(p$(U.value))Z=X(Z,U.value.value,U.key)}else G.push(U.children)}return Z});var UT="effect/HashSet",TW=Symbol.for(UT),nd={[TW]:TW,[Symbol.iterator](){return _W(this._keyMap)},[Y$](){return R$(this,V$(a(this._keyMap))(a(UT)))},[G$]($){if(AT($))return EJ(this._keyMap)===EJ($._keyMap)&&s(this._keyMap,$._keyMap);return!1},toString(){return k$(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(y$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},MW=($)=>{let Z=Object.create(nd);return Z._keyMap=$,Z},AT=($)=>u($,TW),rd=MW(v7()),e4=()=>rd,KT=($)=>{let Z=CW(e4());for(let X of $)f1(Z,X);return RW(Z)},VT=(...$)=>{let Z=CW(e4());for(let X of $)f1(Z,X);return RW(Z)},wW=V(2,($,Z)=>BK($._keyMap,Z)),QT=V(2,($,Z)=>{let X=!1;for(let J of $)if(X=Z(J),X)break;return X}),OT=V(2,($,Z)=>!QT($,(X)=>!Z(X)));var BT=($)=>EJ($._keyMap),CW=($)=>MW(xJ($._keyMap)),RW=($)=>{return $._keyMap._editable=!1,$},SJ=V(2,($,Z)=>{let X=CW($);return Z(X),RW(X)}),f1=V(2,($,Z)=>$._keyMap._editable?(t4(Z,!0)($._keyMap),$):MW(t4(Z,!0)($._keyMap))),_K=V(2,($,Z)=>$._keyMap._editable?(FW(Z)($._keyMap),$):MW(FW(Z)($._keyMap))),NT=V(2,($,Z)=>SJ($,(X)=>{for(let J of Z)_K(X,J)}));var _T=V(2,($,Z)=>SJ(e4(),(X)=>{LW($,(J)=>f1(X,J));for(let J of Z)f1(X,J)}));var PT=V(2,($,Z)=>SJ(e4(),(X)=>{LW($,(J)=>{let G=Z(J);if(!wW(X,G))f1(X,G)})})),FT=V(2,($,Z)=>SJ(e4(),(X)=>{LW($,(J)=>{for(let G of Z(J))if(!wW(X,G))f1(X,G)})})),LW=V(2,($,Z)=>zW($._keyMap,(X,J)=>Z(J))),zT=V(3,($,Z,X)=>y7($._keyMap,Z,(J,G,Y)=>X(J,Y)));var r8=e4,qW=KT,_6=VT,b7=wW;var TT=OT;var y9=BT;var $5=f1,PK=_K,FK=NT;var n6=_T;var zK=PT,TK=FT;var Z5=zT;var MT=Symbol.for("effect/MutableRef"),id={[MT]:MT,toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableRef",current:y$(this.current)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},r6=($)=>{let Z=Object.create(id);return Z.current=$,Z},EW=V(3,($,Z,X)=>{if(s(Z,$.current))return $.current=X,!0;return!1});var l6=($)=>$.current;var b9=V(2,($,Z)=>{return $.current=Z,$});var kW="effect/FiberId",p1=Symbol.for(kW),c1="None",xW="Runtime",SW="Composite",sd=u$(`${kW}-${c1}`);class CT{[p1]=p1;_tag=c1;id=-1;startTimeMillis=-1;[Y$](){return sd}[G$]($){return vW($)&&$._tag===c1}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[C$](){return this.toJSON()}}class MK{id;startTimeMillis;[p1]=p1;_tag=xW;constructor($,Z){this.id=$,this.startTimeMillis=Z}[Y$](){return R$(this,u$(`${kW}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[G$]($){return vW($)&&$._tag===xW&&this.id===$.id&&this.startTimeMillis===$.startTimeMillis}toString(){return k$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,id:this.id,startTimeMillis:this.startTimeMillis}}[C$](){return this.toJSON()}}class RT{left;right;[p1]=p1;_tag=SW;constructor($,Z){this.left=$,this.right=Z}_hash;[Y$](){return F(u$(`${kW}-${this._tag}`),V$(a(this.left)),V$(a(this.right)),R$(this))}[G$]($){return vW($)&&$._tag===SW&&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)}}[C$](){return this.toJSON()}}var IW=new CT;var vW=($)=>u($,p1),wK=($)=>{return $._tag===c1||F(jW($),TT((Z)=>wK(Z)))};var LT=V(2,($,Z)=>{if($._tag===c1)return Z;if(Z._tag===c1)return $;return new RT($,Z)});var qT=V(2,($,Z)=>wK($)?Z:$),kJ=($)=>{switch($._tag){case c1:return r8();case xW:return _6($.id);case SW:return F(kJ($.left),n6(kJ($.right)))}},wT=_$(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>r6(0)),ET=($,Z)=>{return new MK($,Z)},yW=($)=>{return Array.from(kJ($)).map((X)=>`#${X}`).join(",")};var jW=($)=>{switch($._tag){case c1:return r8();case xW:return _6($);case SW:return F(jW($.left),n6(jW($.right)))}},xT=()=>{let $=l6(wT);return F(wT,b9($+1)),new MK($,Date.now())};var d0=IW;var V8=LT;var bW=qT,d1=kJ,gW=ET,jT=yW;var hW=xT;var X5=v7;var kT=ZT,IT=JT,CK=GT;var SZ=t4,RK=_W;var vT=YT,yT=PW;var bT=HT;var gT=zW,LK=y7;var IJ=Symbol.for("effect/List"),qK=($)=>P$($),ad=($)=>CF(E7($),qK),td=ad(s),ed={[IJ]:IJ,_tag:"Cons",toString(){return k$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:qK(this).map(y$)}},[C$](){return this.toJSON()},[G$]($){return mT($)&&this._tag===$._tag&&td(this,$)},[Y$](){return R$(this,n0(qK(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)}},mW=($,Z)=>{let X=Object.create(ed);return X.head=$,X.tail=Z,X},$u=u$("Nil"),Zu={[IJ]:IJ,_tag:"Nil",toString(){return k$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[C$](){return this.toJSON()},[Y$](){return $u},[G$]($){return mT($)&&this._tag===$._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return n(this,arguments)}},hT=Object.create(Zu),mT=($)=>u($,IJ),i6=($)=>$._tag==="Nil",EK=($)=>$._tag==="Cons";var Xu=()=>hT,g9=($,Z)=>mW($,Z),s6=Xu,vJ=($)=>mW($,hT);var fT=V(2,($,Z)=>Ju(Z,$)),fW=V(2,($,Z)=>g9(Z,$)),Ju=V(2,($,Z)=>{if(i6($))return Z;else if(i6(Z))return $;else{let X=mW(Z.head,$),J=X,G=Z.tail;while(!i6(G)){let Y=mW(G.head,$);J.tail=Y,J=Y,G=G.tail}return X}});var pT=V(3,($,Z,X)=>{let J=Z,G=$;while(!i6(G))J=X(J,G.head),G=G.tail;return J});var cT=($)=>{let Z=s6(),X=$;while(!i6(X))Z=fW(Z,X.head),X=X.tail;return Z};var VH$=Object.assign(Object.create(Array.prototype),{[Y$](){return R$(this,n0(this))},[G$]($){if(Array.isArray($)&&this.length===$.length)return this.every((Z,X)=>s(Z,$[X]));else return!1}}),h7=function(){function $(Z){if(Z)Object.assign(this,Z)}return $.prototype=C7,$}(),cW=($)=>Object.assign(Object.create(C7),$);var Gu=Symbol.for("effect/DifferContextPatch");function uT($){return $}var bJ={...h7.prototype,[Gu]:{_Value:uT,_Patch:uT}},Yu=Object.assign(Object.create(bJ),{_tag:"Empty"}),Wu=Object.create(Yu),xK=()=>Wu,Hu=Object.assign(Object.create(bJ),{_tag:"AndThen"}),Du=($,Z)=>{let X=Object.create(Hu);return X.first=$,X.second=Z,X},Uu=Object.assign(Object.create(bJ),{_tag:"AddService"}),Au=($,Z)=>{let X=Object.create(Uu);return X.key=$,X.service=Z,X},Ku=Object.assign(Object.create(bJ),{_tag:"RemoveService"}),Vu=($)=>{let Z=Object.create(Ku);return Z.key=$,Z},Qu=Object.assign(Object.create(bJ),{_tag:"UpdateService"}),Ou=($,Z)=>{let X=Object.create(Qu);return X.key=$,X.update=Z,X},oT=($,Z)=>{let X=new Map($.unsafeMap),J=xK();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=yJ(Ou(G,()=>Y))(J)}else X.delete(G),J=yJ(Au(G,Y))(J);for(let[G]of X.entries())J=yJ(Vu(G))(J);return J},yJ=V(2,($,Z)=>Du($,Z)),nT=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=!1,J=S0($),G=new Map(Z.unsafeMap);while(H0(J)){let W=g$(J),H=D0(J);switch(W._tag){case"Empty":{J=H;break}case"AddService":{G.set(W.key,W.service),J=H;break}case"AndThen":{J=O0(O0(H,W.second),W.first);break}case"RemoveService":{G.delete(W.key),J=H;break}case"UpdateService":{G.set(W.key,W.update(G.get(W.key))),X=!0,J=H;break}}}if(!X)return d8(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,H]of G)Y.set(W,H);return d8(Y)});var Nu=Symbol.for("effect/DifferHashSetPatch");function SK($){return $}var uW={...h7.prototype,[Nu]:{_Value:SK,_Key:SK,_Patch:SK}},_u=Object.assign(Object.create(uW),{_tag:"Empty"}),Pu=Object.create(_u),jK=()=>Pu,Fu=Object.assign(Object.create(uW),{_tag:"AndThen"}),zu=($,Z)=>{let X=Object.create(Fu);return X.first=$,X.second=Z,X},Tu=Object.assign(Object.create(uW),{_tag:"Add"}),Mu=($)=>{let Z=Object.create(Tu);return Z.value=$,Z},wu=Object.assign(Object.create(uW),{_tag:"Remove"}),Cu=($)=>{let Z=Object.create(wu);return Z.value=$,Z},rT=($,Z)=>{let[X,J]=Z5([$,jK()],([G,Y],W)=>{if(b7(W)(G))return[PK(W)(G),Y];return[G,dW(Mu(W))(Y)]})(Z);return Z5(J,(G,Y)=>dW(Cu(Y))(G))(X)},dW=V(2,($,Z)=>zu($,Z)),lT=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=Z,J=S0($);while(H0(J)){let G=g$(J),Y=D0(J);switch(G._tag){case"Empty":{J=Y;break}case"AndThen":{J=O0(G.first)(O0(G.second)(Y));break}case"Add":{X=$5(G.value)(X),J=Y;break}case"Remove":X=PK(G.value)(X),J=Y}}return X});var Lu=Symbol.for("effect/DifferReadonlyArrayPatch");function iT($){return $}var hJ={...h7.prototype,[Lu]:{_Value:iT,_Patch:iT}},qu=Object.assign(Object.create(hJ),{_tag:"Empty"}),Eu=Object.create(qu),kK=()=>Eu,xu=Object.assign(Object.create(hJ),{_tag:"AndThen"}),Su=($,Z)=>{let X=Object.create(xu);return X.first=$,X.second=Z,X},ju=Object.assign(Object.create(hJ),{_tag:"Append"}),ku=($)=>{let Z=Object.create(ju);return Z.values=$,Z},Iu=Object.assign(Object.create(hJ),{_tag:"Slice"}),vu=($,Z)=>{let X=Object.create(Iu);return X.from=$,X.until=Z,X},yu=Object.assign(Object.create(hJ),{_tag:"Update"}),bu=($,Z)=>{let X=Object.create(yu);return X.index=$,X.patch=Z,X},sT=($)=>{let Z=0,X=kK();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=gJ(X,bu(Z,Y));Z=Z+1}if(Z<$.oldValue.length)X=gJ(X,vu(0,Z));if(Z<$.newValue.length)X=gJ(X,ku(Oz(Z)($.newValue)));return X},gJ=V(2,($,Z)=>Su($,Z)),aT=V(3,($,Z,X)=>{if($._tag==="Empty")return Z;let J=Z.slice(),G=lZ($);while(XW(G)){let Y=KZ(G),W=p6(G);switch(Y._tag){case"Empty":{G=W;break}case"AndThen":{W.unshift(Y.first,Y.second),G=W;break}case"Append":{for(let H of Y.values)J.push(H);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 tT=Symbol.for("effect/Differ"),hu={[tT]:{_P:w$,_V:w$},pipe(){return n(this,arguments)}},o1=($)=>{let Z=Object.create(hu);return Z.empty=$.empty,Z.diff=$.diff,Z.combine=$.combine,Z.patch=$.patch,Z},IK=()=>o1({empty:xK(),combine:($,Z)=>yJ(Z)($),diff:($,Z)=>oT($,Z),patch:($,Z)=>nT(Z)($)});var vK=()=>o1({empty:jK(),combine:($,Z)=>dW(Z)($),diff:($,Z)=>rT($,Z),patch:($,Z)=>lT(Z)($)});var yK=($)=>o1({empty:kK(),combine:(Z,X)=>gJ(Z,X),diff:(Z,X)=>sT({oldValue:Z,newValue:X,differ:$}),patch:(Z,X)=>aT(Z,X,$)});var oW=()=>eT(($,Z)=>Z),eT=($)=>o1({empty:w$,combine:(Z,X)=>{if(Z===w$)return X;if(X===w$)return Z;return(J)=>X(Z(J))},diff:(Z,X)=>{if(s(Z,X))return w$;return V7(X)},patch:(Z,X)=>$(X,Z(X))});var mJ=255,$M=8,nW=($)=>$&mJ,rW=($)=>$>>$M&mJ,J5=($,Z)=>($&mJ)+((Z&$&mJ)<<$M),lW=J5(0,0),ZM=($)=>J5($,$),XM=($)=>J5($,0);var JM=V(2,($,Z)=>J5(nW($)&~Z,rW($)));var gK=V(2,($,Z)=>$|Z);var GM=($)=>~$>>>0&mJ;var mu=0,F6=1,WM=2,hK=4,iW=16,mK=32;var HM=($)=>sW($,mK),fK=V(2,($,Z)=>$&~Z);var pK=V(2,($,Z)=>$|Z);var z6=($)=>fJ($)&&!fu($),fJ=($)=>sW($,F6);var sW=V(2,($,Z)=>($&Z)!==0),cK=(...$)=>$.reduce((Z,X)=>Z|X,0),DM=cK(mu);var dK=($)=>sW($,hK);var fu=($)=>sW($,iW);var l8=V(2,($,Z)=>J5($^Z,Z)),h9=V(2,($,Z)=>$&(GM(nW(Z))|rW(Z))|nW(Z)&rW(Z));var uK=o1({empty:lW,diff:($,Z)=>l8($,Z),combine:($,Z)=>gK(Z)($),patch:($,Z)=>h9(Z,$)});var UM=lW;var oK=ZM,nK=XM;var rK=JM;var KM={_tag:"Empty"},iK=($,Z)=>({_tag:"Par",left:$,right:Z}),aW=($,Z)=>({_tag:"Seq",left:$,right:Z}),sK=($,Z)=>({_tag:"Single",dataSource:$,blockedRequest:Z});var VM=($)=>{let Z=vJ($),X=s6();while(!0){let[J,G]=pT(Z,[OM(),s6()],([Y,W],H)=>{let[U,A]=pu(H);return[lu(Y,U),fT(W,A)]});if(X=cu(X,J),i6(G))return cT(X);Z=G}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},pu=($)=>{let Z=$,X=OM(),J=s6(),G=s6();while(!0)switch(Z._tag){case"Empty":{if(i6(J))return[X,G];Z=J.head,J=J.tail;break}case"Par":{J=g9(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:H,right:U}=Y;Z=iK(aW(H,W),aW(U,W));break}case"Seq":{let{left:H,right:U}=Y;Z=aW(H,aW(U,W));break}case"Single":{Z=Y,G=g9(W,G);break}}break}case"Single":{if(X=ru(X,Z),i6(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")},cu=($,Z)=>{if(i6($))return vJ(lK(Z));if(iu(Z))return $;let X=Zo($.head),J=su(Z);if(X.length===1&&J.length===1&&s(X[0],J[0]))return g9($o($.head,lK(Z)),$.tail);return g9(lK(Z),$)},du=Symbol.for("effect/RequestBlock/Entry");class QM{request;result;listeners;ownerId;state;[du]=uu;constructor($,Z,X,J,G){this.request=$,this.result=Z,this.listeners=X,this.ownerId=J,this.state=G}}var uu={_R:($)=>$};var aK=($)=>new QM($.request,$.result,$.listeners,$.ownerId,$.state),ou=Symbol.for("effect/RequestBlock/RequestBlockParallel"),nu={_R:($)=>$};class tW{map;[ou]=nu;constructor($){this.map=$}}var OM=()=>new tW(X5());var ru=($,Z)=>new tW(yT($.map,Z.dataSource,(X)=>v3(x0(X,x7(Z.blockedRequest)),()=>S0(Z.blockedRequest)))),lu=($,Z)=>new tW(LK($.map,Z.map,(X,J,G)=>SZ(X,G,p0(CK(X,G),{onNone:()=>J,onSome:(Y)=>M8(J,Y)})))),iu=($)=>IT($.map),su=($)=>Array.from(RK($.map)),lK=($)=>eu(bT($.map,(Z)=>S0(Z))),au=Symbol.for("effect/RequestBlock/RequestBlockSequential"),tu={_R:($)=>$};class tK{map;[au]=tu;constructor($){this.map=$}}var eu=($)=>new tK($),$o=($,Z)=>new tK(LK(Z.map,$.map,(X,J,G)=>SZ(X,G,p0(CK(X,G),{onNone:()=>C0(),onSome:(Y)=>M8(Y,J)}))));var Zo=($)=>Array.from(RK($.map)),BM=($)=>Array.from($.map);var n1="Die",m9="Empty",r1="Fail",l1="Interrupt",i1="Parallel",s1="Sequential";var FM="effect/Cause",eW=Symbol.for(FM),Jo={_E:($)=>$},p7={[eW]:Jo,[Y$](){return F(a(FM),V$(a(Go(this))),R$(this))},[G$]($){return pJ($)&&yM(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 M6(this)},[C$](){return this.toJSON()}},u0=(()=>{let $=Object.create(p7);return $._tag=m9,$})(),Q8=($)=>{let Z=Object.create(p7);return Z._tag=r1,Z.error=$,Z},P0=($)=>{let Z=Object.create(p7);return Z._tag=n1,Z.defect=$,Z},QZ=($)=>{let Z=Object.create(p7);return Z._tag=l1,Z.fiberId=$,Z},F0=($,Z)=>{let X=Object.create(p7);return X._tag=i1,X.left=$,X.right=Z,X},$0=($,Z)=>{let X=Object.create(p7);return X._tag=s1,X.left=$,X.right=Z,X},pJ=($)=>u($,eW),$H=($)=>$._tag===m9,zM=($)=>$._tag===r1,Y5=($)=>$._tag===n1,TM=($)=>$._tag===l1,MM=($)=>$._tag===s1,wM=($)=>$._tag===i1,CM=($)=>D5($,void 0,Wo),cJ=($)=>{if($._tag===m9)return!0;return f9($,!0,(Z,X)=>{switch(X._tag){case m9:return j(Z);case n1:case r1:case l1:return j(!1);default:return x()}})},RM=($)=>p$(o7($)),LM=($)=>p$(ZV($)),c7=($)=>p$(XV($)),W5=($)=>D5(void 0,Ho)($),d7=($)=>w8(f9($,C0(),(Z,X)=>X._tag===r1?j(F(Z,O0(X.error))):x())),u7=($)=>w8(f9($,C0(),(Z,X)=>X._tag===n1?j(F(Z,O0(X.defect))):x())),H5=($)=>f9($,r8(),(Z,X)=>X._tag===l1?j(F(Z,$5(X.fiberId))):x()),o7=($)=>a6($,(Z)=>Z._tag===r1?j(Z.error):x()),T6=($)=>{let Z=o7($);switch(Z._tag){case"None":return S$($);case"Some":return f$(Z.value)}},ZV=($)=>a6($,(Z)=>Z._tag===n1?j(Z.defect):x()),qM=($)=>t6($,{onEmpty:j(u0),onFail:x0(Q8),onDie:(Z)=>j(P0(Z)),onInterrupt:(Z)=>j(QZ(Z)),onSequential:f6($0),onParallel:f6(F0)}),XV=($)=>a6($,(Z)=>Z._tag===l1?j(Z.fiberId):x()),ZH=($)=>t6($,{onEmpty:x(),onFail:()=>x(),onDie:(Z)=>j(P0(Z)),onInterrupt:()=>x(),onSequential:f6($0),onParallel:f6(F0)}),EM=($)=>t6($,{onEmpty:x(),onFail:(Z)=>j(P0(Z)),onDie:(Z)=>j(P0(Z)),onInterrupt:()=>x(),onSequential:f6($0),onParallel:f6(F0)}),xM=($)=>t6($,{onEmpty:r8(),onFail:(Z)=>_6(Q8(Z)),onDie:(Z)=>_6(P0(Z)),onInterrupt:(Z)=>_6(QZ(Z)),onSequential:(Z,X)=>TK(Z,(J)=>zK(X,(G)=>$0(J,G))),onParallel:(Z,X)=>TK(Z,(J)=>zK(X,(G)=>F0(J,G)))}),dJ=($)=>t6($,{onEmpty:u0,onFail:()=>u0,onDie:P0,onInterrupt:QZ,onSequential:$0,onParallel:F0}),SM=($)=>t6($,{onEmpty:u0,onFail:P0,onDie:P0,onInterrupt:QZ,onSequential:$0,onParallel:F0}),jM=V(2,($,Z)=>t6($,{onEmpty:j(u0),onFail:(X)=>j(Q8(X)),onDie:(X)=>{let J=Z(X);return p$(J)?x():j(P0(X))},onInterrupt:(X)=>j(QZ(X)),onSequential:f6($0),onParallel:f6(F0)})),kM=V(2,($,Z)=>n7($,()=>Z)),n7=V(2,($,Z)=>f7($,(X)=>Q8(Z(X)))),f7=V(2,($,Z)=>t6($,{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)})),XH=($)=>f7($,w$),IM=V(2,($,Z)=>m8(Z)?f7($,Z):f7($,()=>Z)),vM=V(2,($,Z)=>{if(Z._tag===m9||$===Z)return!0;return f9($,!1,(X,J)=>{return j(X||yM(J,Z))})}),yM=($,Z)=>{let X=S0($),J=S0(Z);while(H0(X)&&H0(J)){let[G,Y]=F(g$(X),f9([r8(),C0()],([U,A],Q)=>{let[O,P]=eK(Q);return j([F(U,n6(O)),F(A,M8(P))])})),[W,H]=F(g$(J),f9([r8(),C0()],([U,A],Q)=>{let[O,P]=eK(Q);return j([F(U,n6(O)),F(A,M8(P))])}));if(!s(G,W))return!1;X=Y,J=H}return!0},Go=($)=>{return Yo(S0($),C0())},Yo=($,Z)=>{while(!0){let[X,J]=F($,y1([r8(),C0()],([Y,W],H)=>{let[U,A]=eK(H);return[F(Y,n6(U)),F(W,M8(A))]})),G=y9(X)>0?F(Z,O0(X)):Z;if(YW(J))return w8(G);$=J,Z=G}throw Error(q9("Cause.flattenCauseLoop"))},a6=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 s1:case i1:{X.push(J.right),X.push(J.left);break}}break}case"Some":return G}}return x()}),bM=V(2,($,Z)=>D5($,void 0,Do(Z))),eK=($)=>{let Z=$,X=[],J=r8(),G=C0();while(Z!==void 0)switch(Z._tag){case m9:{if(X.length===0)return[J,G];Z=X.pop();break}case r1:{if(J=$5(J,wJ(Z._tag,Z.error)),X.length===0)return[J,G];Z=X.pop();break}case n1:{if(J=$5(J,wJ(Z._tag,Z.defect)),X.length===0)return[J,G];Z=X.pop();break}case l1:{if(J=$5(J,wJ(Z._tag,Z.fiberId)),X.length===0)return[J,G];Z=X.pop();break}case s1:{switch(Z.left._tag){case m9:{Z=Z.right;break}case s1:{Z=$0(Z.left.left,$0(Z.left.right,Z.right));break}case i1:{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 i1:{X.push(Z.right),Z=Z.left;break}}throw Error(q9("Cause.evaluateCauseLoop"))},Wo={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:($,Z,X)=>Z+X,parallelCase:($,Z,X)=>Z+X},Ho={emptyCase:g6,failCase:JZ,dieCase:JZ,interruptCase:g6,sequentialCase:($,Z,X)=>Z&&X,parallelCase:($,Z,X)=>Z&&X},Do=($)=>({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}}),_M="SequentialCase",PM="ParallelCase",t6=V(2,($,{onDie:Z,onEmpty:X,onFail:J,onInterrupt:G,onParallel:Y,onSequential:W})=>{return D5($,void 0,{emptyCase:()=>X,failCase:(H,U)=>J(U),dieCase:(H,U)=>Z(U),interruptCase:(H,U)=>G(U),sequentialCase:(H,U,A)=>W(U,A),parallelCase:(H,U,A)=>Y(U,A)})}),f9=V(3,($,Z,X)=>{let J=Z,G=$,Y=[];while(G!==void 0){let W=X(J,G);switch(J=p$(W)?W.value:J,G._tag){case s1:{Y.push(G.right),G=G.left;break}case i1:{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}),D5=V(3,($,Z,X)=>{let J=[$],G=[];while(J.length>0){let W=J.pop();switch(W._tag){case m9:{G.push(S$(X.emptyCase(Z)));break}case r1:{G.push(S$(X.failCase(Z,W.error)));break}case n1:{G.push(S$(X.dieCase(Z,W.defect)));break}case l1:{G.push(S$(X.interruptCase(Z,W.fiberId)));break}case s1:{J.push(W.right),J.push(W.left),G.push(f$({_tag:_M}));break}case i1:{J.push(W.right),J.push(W.left),G.push(f$({_tag:PM}));break}}}let Y=[];while(G.length>0){let W=G.pop();switch(W._tag){case"Left":{switch(W.left._tag){case _M:{let H=Y.pop(),U=Y.pop(),A=X.sequentialCase(Z,H,U);Y.push(A);break}case PM:{let H=Y.pop(),U=Y.pop(),A=X.parallelCase(Z,H,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()}),M6=($,Z)=>{if(W5($))return"All fibers interrupted without errors.";return r7($).map(function(X){if(Z?.renderErrorCause!==!0||X.cause===void 0)return X.stack;return`${X.stack} {
|
|
6
6
|
${gM(X.cause," ")}
|
|
7
7
|
}`}).join(`
|
|
8
8
|
`)},gM=($,Z)=>{let X=$.stack.split(`
|
|
@@ -11,26 +11,26 @@ ${Z}${X[G]}`;if($.cause)J+=` {
|
|
|
11
11
|
${gM($.cause,`${Z} `)}
|
|
12
12
|
${Z}}`;return J},$V=($)=>{let Z=typeof $==="object"&&$!==null,X=Error.stackTraceLimit;Error.stackTraceLimit=1;let J=Error(Uo($),Z&&"cause"in $&&typeof $.cause<"u"?{cause:$V($.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(G5 in $)J.span=$[G5];Object.keys($).forEach((G)=>{if(!(G in J))J[G]=$[G]})}return J.stack=Ko(`${J.name}: ${J.message}`,$ instanceof Error&&$.stack?$.stack:"",J.span),J},Uo=($)=>{if(typeof $==="string")return $;if(typeof $==="object"&&$!==null&&$ instanceof Error)return $.message;try{if(u($,"toString")&&m8($.toString)&&$.toString!==Object.prototype.toString&&$.toString!==globalThis.Array.prototype.toString)return $.toString()}catch{}return dY($)},Ao=/\((.*)\)/g,uJ=_$("effect/Tracer/spanToTrace",()=>new WeakMap),Ko=($,Z,X)=>{let J=[$],G=Z.startsWith($)?Z.slice($.length).split(`
|
|
13
13
|
`):Z.split(`
|
|
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 H=uJ.get(Y);if(typeof H==="function"){let U=H();if(typeof U==="string"){let A=U.matchAll(Ao),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=
|
|
15
|
-
`)},G5=Symbol.for("effect/SpanAnnotation"),l7=($)=>D5($,void 0,{emptyCase:()=>[],dieCase:(Z,X)=>{return[$V(X)]},failCase:(Z,X)=>{return[$V(X)]},interruptCase:()=>[],parallelCase:(Z,X,J)=>[...X,...J],sequentialCase:(Z,X,J)=>[...X,...J]});var U5="Pending",oJ="Done";var Vo="effect/Deferred",mM=Symbol.for(Vo),fM={_E:($)=>$,_A:($)=>$},pM=($)=>{return{_tag:U5,joiners:$}},JV=($)=>{return{_tag:oJ,effect:$}};class r7{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 r7(this.self)}}var c9=($,Z)=>{let X=new h0("Blocked");return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X},YH=($)=>{let Z=new h0("RunBlocked");return Z.effect_instruction_i0=$,Z},d9=Symbol.for("effect/Effect");class GV{patch;op;_op=OJ;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;[d9]=I1;constructor($){this._op=$}[G$]($){return this===$}[Y$](){return R$(this,VJ(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())}[C$](){return this.toJSON()}[Symbol.iterator](){return new r7(new E9(this))}}class YV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[d9]=I1;constructor($){this._op=$,this._tag=$}[G$]($){return z5($)&&$._op==="Failure"&&s(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return F(u$(this._tag),V$(a(this.effect_instruction_i0)),R$(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())}[C$](){return this.toJSON()}[Symbol.iterator](){return new r7(new E9(this))}}class WV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[d9]=I1;constructor($){this._op=$,this._tag=$}[G$]($){return z5($)&&$._op==="Success"&&s(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return F(u$(this._tag),V$(a(this.effect_instruction_i0)),R$(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())}[C$](){return this.toJSON()}[Symbol.iterator](){return new r7(new E9(this))}}var c$=($)=>u($,d9),x$=($)=>{let Z=new h0(oY);return Z.effect_instruction_i0=$,Z},WH=V(3,($,Z,X)=>j0((J)=>z($,(G)=>z(V0(H$(()=>J(Z(G)))),(Y)=>{return H$(()=>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)=>z($,()=>w(Z))),z0=($)=>i$($,void 0),X2=function(){let $=new h0(n4);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(q9("you're not supposed to end up here"))}return $},i7=($,Z=d0)=>{let X=new h0(o4),J=void 0;return X.effect_instruction_i0=(G)=>{J=$(G)},X.effect_instruction_i1=Z,Z9(X,(G)=>c$(J)?J:T$)},J2=($,Z=d0)=>H$(()=>i7($,Z)),jZ=($,Z=d0)=>{return X2($,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(o4);Y.effect_instruction_i0=(U)=>{if(X=U,J)U(J)},Y.effect_instruction_i1=Z;let W=void 0,H=void 0;if(this.effect_instruction_i0.length!==1)H=new AbortController,W=E0(()=>this.effect_instruction_i0(G,H.signal));else W=E0(()=>this.effect_instruction_i0(G));return W||H?Z9(Y,(U)=>{if(H)H.abort();return W??T$}):Y})};var e6=V(2,($,Z)=>{let X=new h0(F7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),w6=V(2,($,Z)=>s0($,{onFailure:Z,onSuccess:w})),G2=V(3,($,Z,X)=>e6($,(J)=>{let G=T6(J);switch(G._tag){case"Left":return Z(G.left)?X(G.left):E$(J);case"Right":return E$(G.right)}})),cM=V(2,($,Z)=>e6($,(X)=>{let J=T6(X);switch(J._tag){case"Left":return F(Z(J.left),c0(()=>E$(X)));case"Right":return E$(J.right)}})),dM=($)=>x$((Z,X)=>$(fJ(X.runtimeFlags))),JH=Symbol.for("effect/OriginalAnnotation"),uM=($)=>{if(u($,JH))return $[JH];return $},HH=($,Z)=>{if(p$(Z))return new Proxy($,{has(X,J){return J===G5||J===JH||J in X},get(X,J){if(J===G5)return Z.value;if(J===JH)return $;return X[J]}});return $},wZ=($)=>L9($)&&!(G5 in $)?x$((Z)=>E$(P0(HH($,qH(Z))))):E$(P0($)),a1=($)=>u9(()=>P0(new OV($))),L8=($)=>z(E($),wZ),i8=($)=>s0($,{onFailure:(Z)=>w(f$(Z)),onSuccess:(Z)=>w(S$(Z))}),V0=($)=>Y2($,{onFailure:b$,onSuccess:Z0}),L$=($)=>L9($)&&!(G5 in $)?x$((Z)=>E$(Q8(HH($,qH(Z))))):E$(Q8($)),s8=($)=>z(E($),L$),E$=($)=>{let Z=new YV(X0);return Z.effect_instruction_i0=$,Z},u9=($)=>z(E($),E$),o9=x$(($)=>w($.id())),O8=($)=>x$((Z)=>$(Z.id())),z=V(2,($,Z)=>{let X=new h0(z7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),t1=V(2,($,Z)=>z($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(c$(J))return J;else if(F3(J))return i7((G)=>{J.then((Y)=>G(w(Y)),(Y)=>G(L$(new F5(Y,"An unknown error occurred in Effect.andThen"))))});return w(J)})),DH=($)=>{let Z=new h0("OnStep");return Z.effect_instruction_i0=$,Z},kZ=($)=>z($,w$),e1=($)=>s0($,{onFailure:w,onSuccess:L$}),Y2=V(2,($,Z)=>B0($,{onFailure:(X)=>w(Z.onFailure(X)),onSuccess:(X)=>w(Z.onSuccess(X))})),B0=V(2,($,Z)=>{let X=new h0(T7);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(u7(X).length>0)return E$(SM(X));let G=d7(X);if(G.length>0)return Z.onFailure(s3(G));return E$(X)},onSuccess:Z.onSuccess})),OZ=V(2,($,Z)=>H$(()=>{let X=P$($),J=MJ(X.length),G=0;return i$(X4({while:()=>G<X.length,body:()=>Z(X[G],G),step:(Y)=>{J[G++]=Y}}),J)})),q8=V(2,($,Z)=>H$(()=>{let X=P$($),J=0;return X4({while:()=>J<X.length,body:()=>Z(X[J],J),step:()=>{J++}})})),UH=V(($)=>typeof $[0]==="boolean"||c$($[0]),($,Z)=>c$($)?z($,(X)=>X?Z.onTrue():Z.onFalse()):$?Z.onTrue():Z.onFalse()),AH=z(o9,($)=>KH($)),KH=($)=>E$(QZ($)),n9=($)=>{let Z=new h0(S9);return Z.effect_instruction_i0=oK(F6),Z.effect_instruction_i1=()=>$,Z},oM=($)=>X2($,function(){let Z=new h0(S9);return Z.effect_instruction_i0=oK(F6),Z.effect_instruction_i1=(X)=>fJ(X)?E0(()=>this.effect_instruction_i0(n9)):E0(()=>this.effect_instruction_i0(l9)),Z}),$9=V(2,($,Z)=>j0((X)=>z(V0(X($)),(J)=>zV(Z,J)))),I=V(2,($,Z)=>z($,(X)=>E(()=>Z(X)))),W2=V(2,($,Z)=>s0($,{onFailure:(X)=>s8(()=>Z.onFailure(X)),onSuccess:(X)=>E(()=>Z.onSuccess(X))})),$4=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=T6(X);switch(J._tag){case"Left":return s8(()=>Z(J.left));case"Right":return E$(J.right)}},onSuccess:w})),VH=V(2,($,Z)=>iZ($,(X)=>Q2(X)?T$: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)}}))),Z9=V(2,($,Z)=>iZ($,T5({onFailure:(X)=>W5(X)?z0(Z(H5(X))):T$,onSuccess:()=>T$}))),K5=V(2,($,Z)=>Oo($,Z,w)),V5=($)=>HV($,w$),HV=V(2,($,Z)=>s0($,{onFailure:(X)=>wZ(Z(X)),onSuccess:w})),nM=o3,s7=x$(($,Z)=>w(Z.runtimeFlags)),w=($)=>{let Z=new WV(J0);return Z.effect_instruction_i0=$,Z},H$=($)=>{let Z=new h0(n4);return Z.commit=$,Z},E=($)=>{let Z=new h0(uY);return Z.effect_instruction_i0=$,Z},IZ=V(($)=>$.length===3||$.length===2&&!(L9($[1])&&("onlyEffect"in $[1])),($,Z)=>z($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(c$(J))return i$(J,X);else if(F3(J))return i7((G)=>{J.then((Y)=>G(w(X)),(Y)=>G(L$(new F5(Y,"An unknown error occurred in Effect.tap"))))});return w(X)})),QH=($)=>x$((Z)=>{let X=Z.getFiberRef(rJ),J=F(X,c0(()=>Z.scope()));return $(R0(rJ,j(J)))}),Oo=V(3,($,Z,X)=>B0($,{onFailure:(J)=>{if(u7(J).length>0)return E$(b3(EM(J)));return Z()},onSuccess:X})),l9=($)=>{let Z=new h0(S9);return Z.effect_instruction_i0=nK(F6),Z.effect_instruction_i1=()=>$,Z},j0=($)=>X2($,function(){let Z=new h0(S9);return Z.effect_instruction_i0=nK(F6),Z.effect_instruction_i1=(X)=>fJ(X)?E0(()=>this.effect_instruction_i0(n9)):E0(()=>this.effect_instruction_i0(l9)),Z}),T$=w(void 0);var Z4=($)=>{let Z=new h0(S9);return Z.effect_instruction_i0=$,Z.effect_instruction_i1=void 0,Z},a7=V(2,($,Z)=>z(Z,(X)=>{if(X)return F($,I(j));return w(x())})),X4=($)=>{let Z=new h0(M7);return Z.effect_instruction_i0=$.while,Z.effect_instruction_i1=$.body,Z.effect_instruction_i2=$.step,Z},lJ=($)=>H$(()=>{let Z=new h0(l4);return Z.effect_instruction_i0=$(),Z}),OH=function(){let $=arguments.length===1?arguments[0]:arguments[1].bind(arguments[0]);return lJ(()=>$(F))},t7=($,...Z)=>Object.defineProperty(Z.length===0?function(...X){return lJ(()=>$.apply(this,X))}:function(...X){let J=lJ(()=>$.apply(this,X));for(let G of Z)J=G(J,...X);return J},"length",{value:$.length,configurable:!0}),lM=V(2,($,Z)=>R0($,FH,Z)),rM=V(2,($,Z)=>R0($,H2,Z)),BH=V(2,($,Z)=>{let X=new h0(S9);return X.effect_instruction_i0=Z,X.effect_instruction_i1=()=>$,X}),iM=V(2,($,Z)=>R0($,U2,Z)),sM=V(2,($,Z)=>R0($,Y4,Z)),X9=($)=>{let Z=new h0(w7);return typeof $?.priority<"u"?VV(Z,$.priority):Z},Q5=V(2,($,Z)=>z($,(X)=>I(Z,(J)=>[X,J])));var O5=V(2,($,Z)=>z($,(X)=>i$(Z,X))),j$=V(2,($,Z)=>z($,()=>Z)),sZ=V(3,($,Z,X)=>z($,(J)=>I(Z,(G)=>X(J,G)))),J4=J2(()=>{let $=setInterval(()=>{},2147483647);return E(()=>clearInterval($))}),G4=($)=>z(o9,(Z)=>F($,vZ(Z))),vZ=V(2,($,Z)=>z($.interruptAsFork(Z),()=>$.await)),aM={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return n(this,arguments)}},tM={_tag:"Fatal",syslog:2,label:"FATAL",ordinal:50000,pipe(){return n(this,arguments)}},eM={_tag:"Error",syslog:3,label:"ERROR",ordinal:40000,pipe(){return n(this,arguments)}},DV={_tag:"Warning",syslog:4,label:"WARN",ordinal:30000,pipe(){return n(this,arguments)}},UV={_tag:"Info",syslog:6,label:"INFO",ordinal:20000,pipe(){return n(this,arguments)}},AV={_tag:"Debug",syslog:7,label:"DEBUG",ordinal:1e4,pipe(){return n(this,arguments)}},$w={_tag:"Trace",syslog:7,label:"TRACE",ordinal:0,pipe(){return n(this,arguments)}},Zw={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return n(this,arguments)}};var Bo="effect/FiberRef",No=Symbol.for(Bo),_o={_A:($)=>$},E8=($)=>x$((Z)=>Z0(Z.getFiberRef($)));var CZ=V(2,($,Z)=>z(E8($),Z)),A5=V(2,($,Z)=>Po($,()=>[void 0,Z]));var Po=V(2,($,Z)=>x$((X)=>{let[J,G]=Z(X.getFiberRef($));return X.setFiberRef($,G),w(J)}));var R0=V(3,($,Z,X)=>WH(O5(E8(Z),A5(Z,X)),()=>$,(J)=>A5(Z,J))),a0=V(3,($,Z,X)=>CZ(Z,(J)=>R0($,Z,X(J)))),L0=($,Z)=>B5($,{differ:oW(),fork:Z?.fork??w$,join:Z?.join}),Xw=($)=>{let Z=vK();return B5($,{differ:Z,fork:Z.empty})},Fo=($)=>{let Z=yK(oW());return B5($,{differ:Z,fork:Z.empty})},NH=($)=>{let Z=IK();return B5($,{differ:Z,fork:Z.empty})},B5=($,Z)=>{return{...p8,[No]:_o,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)}},Jw=($)=>B5($,{differ:uK,fork:uK.empty}),B8=_$(Symbol.for("effect/FiberRef/currentContext"),()=>NH(VZ())),r9=_$(Symbol.for("effect/FiberRef/currentSchedulingPriority"),()=>L0(0)),_H=_$(Symbol.for("effect/FiberRef/currentMaxOpsBeforeYield"),()=>L0(2048)),i9=_$(Symbol.for("effect/FiberRef/currentLogAnnotation"),()=>L0(X5())),KV=_$(Symbol.for("effect/FiberRef/currentLogLevel"),()=>L0(UV)),PH=_$(Symbol.for("effect/FiberRef/currentLogSpan"),()=>L0(s6())),VV=V(2,($,Z)=>R0($,r9,Z)),Gw=V(2,($,Z)=>R0($,_H,Z)),FH=_$(Symbol.for("effect/FiberRef/currentConcurrency"),()=>L0("unbounded")),H2=_$(Symbol.for("effect/FiberRef/currentRequestBatching"),()=>L0(!0)),D2=_$(Symbol.for("effect/FiberRef/currentUnhandledErrorLogLevel"),()=>L0(j(AV))),zH=_$(Symbol.for("effect/FiberRef/versionMismatchErrorLogLevel"),()=>L0(j(DV))),Yw=V(2,($,Z)=>R0($,D2,Z)),s9=_$(Symbol.for("effect/FiberRef/currentMetricLabels"),()=>Fo(N6())),Ww=E8(s9),rJ=_$(Symbol.for("effect/FiberRef/currentForkScopeOverride"),()=>L0(x(),{fork:()=>x(),join:($,Z)=>$})),N5=_$(Symbol.for("effect/FiberRef/currentInterruptedCause"),()=>L0(u0,{fork:()=>u0,join:($,Z)=>$})),U2=_$(Symbol.for("effect/FiberRef/currentTracerEnabled"),()=>L0(!0)),Y4=_$(Symbol.for("effect/FiberRef/currentTracerTiming"),()=>L0(!0)),e7=_$(Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),()=>L0(X5())),TH=_$(Symbol.for("effect/FiberRef/currentTracerSpanLinks"),()=>L0(C0())),A2=Symbol.for("effect/Scope"),K2=Symbol.for("effect/CloseableScope"),V2=($,Z)=>$.addFinalizer(()=>z0(Z)),W4=($,Z)=>$.addFinalizer(Z),_5=($,Z)=>$.close(Z),x8=($,Z)=>$.fork(Z),Hw=($)=>{return QV(w$)($)},QV=V(2,($,Z)=>{let X=F($,o7,x0(Z));switch(X._tag){case"None":return F(u7($),RJ,p0({onNone:()=>{let J=P$(H5($)).flatMap((G)=>P$(d1(G)).map((Y)=>`#${Y}`));return new BV(J?`Interrupted by fibers: ${J.join(", ")}`:void 0)},onSome:w$}));case"Some":return X.value}}),$X=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}[C$](){if(this.toString!==globalThis.Error.prototype.toString)return this.stack?`${this.toString()}
|
|
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 H=uJ.get(Y);if(typeof H==="function"){let U=H();if(typeof U==="string"){let A=U.matchAll(Ao),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
|
+
`)},G5=Symbol.for("effect/SpanAnnotation"),r7=($)=>D5($,void 0,{emptyCase:()=>[],dieCase:(Z,X)=>{return[$V(X)]},failCase:(Z,X)=>{return[$V(X)]},interruptCase:()=>[],parallelCase:(Z,X,J)=>[...X,...J],sequentialCase:(Z,X,J)=>[...X,...J]});var U5="Pending",oJ="Done";var Vo="effect/Deferred",mM=Symbol.for(Vo),fM={_E:($)=>$,_A:($)=>$},pM=($)=>{return{_tag:U5,joiners:$}},JV=($)=>{return{_tag:oJ,effect:$}};class l7{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 l7(this.self)}}var c9=($,Z)=>{let X=new h0("Blocked");return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X},YH=($)=>{let Z=new h0("RunBlocked");return Z.effect_instruction_i0=$,Z},d9=Symbol.for("effect/Effect");class GV{patch;op;_op=OJ;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;[d9]=I1;constructor($){this._op=$}[G$]($){return this===$}[Y$](){return R$(this,VJ(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())}[C$](){return this.toJSON()}[Symbol.iterator](){return new l7(new E9(this))}}class YV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[d9]=I1;constructor($){this._op=$,this._tag=$}[G$]($){return z5($)&&$._op==="Failure"&&s(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return F(u$(this._tag),V$(a(this.effect_instruction_i0)),R$(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())}[C$](){return this.toJSON()}[Symbol.iterator](){return new l7(new E9(this))}}class WV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[d9]=I1;constructor($){this._op=$,this._tag=$}[G$]($){return z5($)&&$._op==="Success"&&s(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return F(u$(this._tag),V$(a(this.effect_instruction_i0)),R$(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())}[C$](){return this.toJSON()}[Symbol.iterator](){return new l7(new E9(this))}}var c$=($)=>u($,d9),x$=($)=>{let Z=new h0(oY);return Z.effect_instruction_i0=$,Z},WH=V(3,($,Z,X)=>j0((J)=>z($,(G)=>z(V0(H$(()=>J(Z(G)))),(Y)=>{return H$(()=>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)=>z($,()=>w(Z))),z0=($)=>i$($,void 0),X2=function(){let $=new h0(n4);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(q9("you're not supposed to end up here"))}return $},i7=($,Z=d0)=>{let X=new h0(o4),J=void 0;return X.effect_instruction_i0=(G)=>{J=$(G)},X.effect_instruction_i1=Z,Z9(X,(G)=>c$(J)?J:T$)},J2=($,Z=d0)=>H$(()=>i7($,Z)),jZ=($,Z=d0)=>{return X2($,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(o4);Y.effect_instruction_i0=(U)=>{if(X=U,J)U(J)},Y.effect_instruction_i1=Z;let W=void 0,H=void 0;if(this.effect_instruction_i0.length!==1)H=new AbortController,W=E0(()=>this.effect_instruction_i0(G,H.signal));else W=E0(()=>this.effect_instruction_i0(G));return W||H?Z9(Y,(U)=>{if(H)H.abort();return W??T$}):Y})};var e6=V(2,($,Z)=>{let X=new h0(F7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),w6=V(2,($,Z)=>s0($,{onFailure:Z,onSuccess:w})),G2=V(3,($,Z,X)=>e6($,(J)=>{let G=T6(J);switch(G._tag){case"Left":return Z(G.left)?X(G.left):E$(J);case"Right":return E$(G.right)}})),cM=V(2,($,Z)=>e6($,(X)=>{let J=T6(X);switch(J._tag){case"Left":return F(Z(J.left),c0(()=>E$(X)));case"Right":return E$(J.right)}})),dM=($)=>x$((Z,X)=>$(fJ(X.runtimeFlags))),JH=Symbol.for("effect/OriginalAnnotation"),uM=($)=>{if(u($,JH))return $[JH];return $},HH=($,Z)=>{if(p$(Z))return new Proxy($,{has(X,J){return J===G5||J===JH||J in X},get(X,J){if(J===G5)return Z.value;if(J===JH)return $;return X[J]}});return $},wZ=($)=>L9($)&&!(G5 in $)?x$((Z)=>E$(P0(HH($,qH(Z))))):E$(P0($)),a1=($)=>u9(()=>P0(new OV($))),L8=($)=>z(E($),wZ),i8=($)=>s0($,{onFailure:(Z)=>w(f$(Z)),onSuccess:(Z)=>w(S$(Z))}),V0=($)=>Y2($,{onFailure:b$,onSuccess:Z0}),L$=($)=>L9($)&&!(G5 in $)?x$((Z)=>E$(Q8(HH($,qH(Z))))):E$(Q8($)),s8=($)=>z(E($),L$),E$=($)=>{let Z=new YV(X0);return Z.effect_instruction_i0=$,Z},u9=($)=>z(E($),E$),o9=x$(($)=>w($.id())),O8=($)=>x$((Z)=>$(Z.id())),z=V(2,($,Z)=>{let X=new h0(z7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),t1=V(2,($,Z)=>z($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(c$(J))return J;else if(F3(J))return i7((G)=>{J.then((Y)=>G(w(Y)),(Y)=>G(L$(new F5(Y,"An unknown error occurred in Effect.andThen"))))});return w(J)})),DH=($)=>{let Z=new h0("OnStep");return Z.effect_instruction_i0=$,Z},kZ=($)=>z($,w$),e1=($)=>s0($,{onFailure:w,onSuccess:L$}),Y2=V(2,($,Z)=>B0($,{onFailure:(X)=>w(Z.onFailure(X)),onSuccess:(X)=>w(Z.onSuccess(X))})),B0=V(2,($,Z)=>{let X=new h0(T7);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(u7(X).length>0)return E$(SM(X));let G=d7(X);if(G.length>0)return Z.onFailure(s3(G));return E$(X)},onSuccess:Z.onSuccess})),OZ=V(2,($,Z)=>H$(()=>{let X=P$($),J=MJ(X.length),G=0;return i$(X4({while:()=>G<X.length,body:()=>Z(X[G],G),step:(Y)=>{J[G++]=Y}}),J)})),q8=V(2,($,Z)=>H$(()=>{let X=P$($),J=0;return X4({while:()=>J<X.length,body:()=>Z(X[J],J),step:()=>{J++}})})),UH=V(($)=>typeof $[0]==="boolean"||c$($[0]),($,Z)=>c$($)?z($,(X)=>X?Z.onTrue():Z.onFalse()):$?Z.onTrue():Z.onFalse()),AH=z(o9,($)=>KH($)),KH=($)=>E$(QZ($)),n9=($)=>{let Z=new h0(S9);return Z.effect_instruction_i0=oK(F6),Z.effect_instruction_i1=()=>$,Z},oM=($)=>X2($,function(){let Z=new h0(S9);return Z.effect_instruction_i0=oK(F6),Z.effect_instruction_i1=(X)=>fJ(X)?E0(()=>this.effect_instruction_i0(n9)):E0(()=>this.effect_instruction_i0(r9)),Z}),$9=V(2,($,Z)=>j0((X)=>z(V0(X($)),(J)=>zV(Z,J)))),I=V(2,($,Z)=>z($,(X)=>E(()=>Z(X)))),W2=V(2,($,Z)=>s0($,{onFailure:(X)=>s8(()=>Z.onFailure(X)),onSuccess:(X)=>E(()=>Z.onSuccess(X))})),$4=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=T6(X);switch(J._tag){case"Left":return s8(()=>Z(J.left));case"Right":return E$(J.right)}},onSuccess:w})),VH=V(2,($,Z)=>iZ($,(X)=>Q2(X)?T$: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)}}))),Z9=V(2,($,Z)=>iZ($,T5({onFailure:(X)=>W5(X)?z0(Z(H5(X))):T$,onSuccess:()=>T$}))),K5=V(2,($,Z)=>Oo($,Z,w)),V5=($)=>HV($,w$),HV=V(2,($,Z)=>s0($,{onFailure:(X)=>wZ(Z(X)),onSuccess:w})),nM=o3,s7=x$(($,Z)=>w(Z.runtimeFlags)),w=($)=>{let Z=new WV(J0);return Z.effect_instruction_i0=$,Z},H$=($)=>{let Z=new h0(n4);return Z.commit=$,Z},E=($)=>{let Z=new h0(uY);return Z.effect_instruction_i0=$,Z},IZ=V(($)=>$.length===3||$.length===2&&!(L9($[1])&&("onlyEffect"in $[1])),($,Z)=>z($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(c$(J))return i$(J,X);else if(F3(J))return i7((G)=>{J.then((Y)=>G(w(X)),(Y)=>G(L$(new F5(Y,"An unknown error occurred in Effect.tap"))))});return w(X)})),QH=($)=>x$((Z)=>{let X=Z.getFiberRef(lJ),J=F(X,c0(()=>Z.scope()));return $(R0(lJ,j(J)))}),Oo=V(3,($,Z,X)=>B0($,{onFailure:(J)=>{if(u7(J).length>0)return E$(b3(EM(J)));return Z()},onSuccess:X})),r9=($)=>{let Z=new h0(S9);return Z.effect_instruction_i0=nK(F6),Z.effect_instruction_i1=()=>$,Z},j0=($)=>X2($,function(){let Z=new h0(S9);return Z.effect_instruction_i0=nK(F6),Z.effect_instruction_i1=(X)=>fJ(X)?E0(()=>this.effect_instruction_i0(n9)):E0(()=>this.effect_instruction_i0(r9)),Z}),T$=w(void 0);var Z4=($)=>{let Z=new h0(S9);return Z.effect_instruction_i0=$,Z.effect_instruction_i1=void 0,Z},a7=V(2,($,Z)=>z(Z,(X)=>{if(X)return F($,I(j));return w(x())})),X4=($)=>{let Z=new h0(M7);return Z.effect_instruction_i0=$.while,Z.effect_instruction_i1=$.body,Z.effect_instruction_i2=$.step,Z},rJ=($)=>H$(()=>{let Z=new h0(r4);return Z.effect_instruction_i0=$(),Z}),OH=function(){let $=arguments.length===1?arguments[0]:arguments[1].bind(arguments[0]);return rJ(()=>$(F))},t7=($,...Z)=>Object.defineProperty(Z.length===0?function(...X){return rJ(()=>$.apply(this,X))}:function(...X){let J=rJ(()=>$.apply(this,X));for(let G of Z)J=G(J,...X);return J},"length",{value:$.length,configurable:!0}),rM=V(2,($,Z)=>R0($,FH,Z)),lM=V(2,($,Z)=>R0($,H2,Z)),BH=V(2,($,Z)=>{let X=new h0(S9);return X.effect_instruction_i0=Z,X.effect_instruction_i1=()=>$,X}),iM=V(2,($,Z)=>R0($,U2,Z)),sM=V(2,($,Z)=>R0($,Y4,Z)),X9=($)=>{let Z=new h0(w7);return typeof $?.priority<"u"?VV(Z,$.priority):Z},Q5=V(2,($,Z)=>z($,(X)=>I(Z,(J)=>[X,J])));var O5=V(2,($,Z)=>z($,(X)=>i$(Z,X))),j$=V(2,($,Z)=>z($,()=>Z)),sZ=V(3,($,Z,X)=>z($,(J)=>I(Z,(G)=>X(J,G)))),J4=J2(()=>{let $=setInterval(()=>{},2147483647);return E(()=>clearInterval($))}),G4=($)=>z(o9,(Z)=>F($,vZ(Z))),vZ=V(2,($,Z)=>z($.interruptAsFork(Z),()=>$.await)),aM={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return n(this,arguments)}},tM={_tag:"Fatal",syslog:2,label:"FATAL",ordinal:50000,pipe(){return n(this,arguments)}},eM={_tag:"Error",syslog:3,label:"ERROR",ordinal:40000,pipe(){return n(this,arguments)}},DV={_tag:"Warning",syslog:4,label:"WARN",ordinal:30000,pipe(){return n(this,arguments)}},UV={_tag:"Info",syslog:6,label:"INFO",ordinal:20000,pipe(){return n(this,arguments)}},AV={_tag:"Debug",syslog:7,label:"DEBUG",ordinal:1e4,pipe(){return n(this,arguments)}},$w={_tag:"Trace",syslog:7,label:"TRACE",ordinal:0,pipe(){return n(this,arguments)}},Zw={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return n(this,arguments)}};var Bo="effect/FiberRef",No=Symbol.for(Bo),_o={_A:($)=>$},E8=($)=>x$((Z)=>Z0(Z.getFiberRef($)));var CZ=V(2,($,Z)=>z(E8($),Z)),A5=V(2,($,Z)=>Po($,()=>[void 0,Z]));var Po=V(2,($,Z)=>x$((X)=>{let[J,G]=Z(X.getFiberRef($));return X.setFiberRef($,G),w(J)}));var R0=V(3,($,Z,X)=>WH(O5(E8(Z),A5(Z,X)),()=>$,(J)=>A5(Z,J))),a0=V(3,($,Z,X)=>CZ(Z,(J)=>R0($,Z,X(J)))),L0=($,Z)=>B5($,{differ:oW(),fork:Z?.fork??w$,join:Z?.join}),Xw=($)=>{let Z=vK();return B5($,{differ:Z,fork:Z.empty})},Fo=($)=>{let Z=yK(oW());return B5($,{differ:Z,fork:Z.empty})},NH=($)=>{let Z=IK();return B5($,{differ:Z,fork:Z.empty})},B5=($,Z)=>{return{...p8,[No]:_o,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)}},Jw=($)=>B5($,{differ:uK,fork:uK.empty}),B8=_$(Symbol.for("effect/FiberRef/currentContext"),()=>NH(VZ())),l9=_$(Symbol.for("effect/FiberRef/currentSchedulingPriority"),()=>L0(0)),_H=_$(Symbol.for("effect/FiberRef/currentMaxOpsBeforeYield"),()=>L0(2048)),i9=_$(Symbol.for("effect/FiberRef/currentLogAnnotation"),()=>L0(X5())),KV=_$(Symbol.for("effect/FiberRef/currentLogLevel"),()=>L0(UV)),PH=_$(Symbol.for("effect/FiberRef/currentLogSpan"),()=>L0(s6())),VV=V(2,($,Z)=>R0($,l9,Z)),Gw=V(2,($,Z)=>R0($,_H,Z)),FH=_$(Symbol.for("effect/FiberRef/currentConcurrency"),()=>L0("unbounded")),H2=_$(Symbol.for("effect/FiberRef/currentRequestBatching"),()=>L0(!0)),D2=_$(Symbol.for("effect/FiberRef/currentUnhandledErrorLogLevel"),()=>L0(j(AV))),zH=_$(Symbol.for("effect/FiberRef/versionMismatchErrorLogLevel"),()=>L0(j(DV))),Yw=V(2,($,Z)=>R0($,D2,Z)),s9=_$(Symbol.for("effect/FiberRef/currentMetricLabels"),()=>Fo(N6())),Ww=E8(s9),lJ=_$(Symbol.for("effect/FiberRef/currentForkScopeOverride"),()=>L0(x(),{fork:()=>x(),join:($,Z)=>$})),N5=_$(Symbol.for("effect/FiberRef/currentInterruptedCause"),()=>L0(u0,{fork:()=>u0,join:($,Z)=>$})),U2=_$(Symbol.for("effect/FiberRef/currentTracerEnabled"),()=>L0(!0)),Y4=_$(Symbol.for("effect/FiberRef/currentTracerTiming"),()=>L0(!0)),e7=_$(Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),()=>L0(X5())),TH=_$(Symbol.for("effect/FiberRef/currentTracerSpanLinks"),()=>L0(C0())),A2=Symbol.for("effect/Scope"),K2=Symbol.for("effect/CloseableScope"),V2=($,Z)=>$.addFinalizer(()=>z0(Z)),W4=($,Z)=>$.addFinalizer(Z),_5=($,Z)=>$.close(Z),x8=($,Z)=>$.fork(Z),Hw=($)=>{return QV(w$)($)},QV=V(2,($,Z)=>{let X=F($,o7,x0(Z));switch(X._tag){case"None":return F(u7($),RJ,p0({onNone:()=>{let J=P$(H5($)).flatMap((G)=>P$(d1(G)).map((Y)=>`#${Y}`));return new BV(J?`Interrupted by fibers: ${J.join(", ")}`:void 0)},onSome:w$}));case"Some":return X.value}}),$X=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}[C$](){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 M6(Q8(this),{renderErrorCause:!0});return this}}return Object.assign($.prototype,L3),$}(),P5=($,Z)=>{class X extends $X{_tag=Z}return Object.assign(X.prototype,$),X.prototype.name=Z,X},iJ=Symbol.for("effect/Cause/errors/RuntimeException"),OV=P5({[iJ]:iJ},"RuntimeException"),Dw=($)=>u($,iJ),sJ=Symbol.for("effect/Cause/errors/InterruptedException"),BV=P5({[sJ]:sJ},"InterruptedException"),MH=($)=>u($,sJ),aJ=Symbol.for("effect/Cause/errors/IllegalArgument"),a8=P5({[aJ]:aJ},"IllegalArgumentException"),Uw=($)=>u($,aJ),tJ=Symbol.for("effect/Cause/errors/NoSuchElement"),yZ=P5({[tJ]:tJ},"NoSuchElementException"),wH=($)=>u($,tJ),GH=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),nH$=P5({[GH]:GH},"InvalidPubSubCapacityException"),eJ=Symbol.for("effect/Cause/errors/ExceededCapacityException"),Aw=P5({[eJ]:eJ},"ExceededCapacityException"),Kw=($)=>u($,eJ);var $2=Symbol.for("effect/Cause/errors/Timeout"),NV=P5({[$2]:$2},"TimeoutException"),Vw=($)=>new NV(`Operation timed out after '${UK($)}'`),Qw=($)=>u($,$2),Z2=Symbol.for("effect/Cause/errors/UnknownException"),F5=function(){class $ extends $X{_tag="UnknownException";error;constructor(Z,X){super(X??"An unknown error occurred",{cause:Z});this.error=Z}}return Object.assign($.prototype,{[Z2]:Z2,name:"UnknownException"}),$}(),Ow=($)=>u($,Z2),z5=($)=>c$($)&&("_tag"in $)&&($._tag==="Success"||$._tag==="Failure"),CH=($)=>$._tag==="Failure",Q2=($)=>$._tag==="Success",Bw=($)=>{switch($._tag){case X0:return c7($.effect_instruction_i0);case J0:return!1}},_V=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z0(Z)}}),ZX=($)=>_V($,void 0),Nw=($)=>{switch($._tag){case X0:return j($.effect_instruction_i0);case J0:return x()}},H4=($,Z)=>zo($,Z?.parallel?F0:$0),RH=($)=>b$(P0($)),_w=V(2,($,Z)=>{switch($._tag){case X0:return!1;case J0:return Z($.effect_instruction_i0)}}),D4=($)=>b$(Q8($)),b$=($)=>{let Z=new YV(X0);return Z.effect_instruction_i0=$,Z},PV=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z($.effect_instruction_i0)}}),Pw=V(2,($,Z)=>{switch($._tag){case X0:return w(b$($.effect_instruction_i0));case J0:return Z($.effect_instruction_i0)}}),Fw=($)=>F($,PV(w$)),zw=V(2,($,Z)=>{switch($._tag){case X0:return w(b$($.effect_instruction_i0));case J0:return V0(Z($.effect_instruction_i0))}}),Tw=($)=>{switch($._tag){case"Left":return D4($.left);case"Right":return Z0($.right)}},Mw=($)=>{switch($._tag){case"None":return D4(void 0);case"Some":return Z0($.value)}},ww=V(2,($,Z)=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return $.effect_instruction_i0}}),O2=($)=>b$(QZ($)),nJ=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z0(Z($.effect_instruction_i0))}}),Cw=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return b$(F($.effect_instruction_i0,n7(Z)));case J0:return Z0(X($.effect_instruction_i0))}}),Rw=V(2,($,Z)=>{switch($._tag){case X0:return b$(F($.effect_instruction_i0,n7(Z)));case J0:return Z0($.effect_instruction_i0)}}),Lw=V(2,($,Z)=>{switch($._tag){case X0:return b$(Z($.effect_instruction_i0));case J0:return Z0($.effect_instruction_i0)}}),T5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return X($.effect_instruction_i0)}}),M5=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 WV(J0);return Z.effect_instruction_i0=$,Z},bZ=Z0(void 0),qw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>[X,J],onFailure:$0})),Ew=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>X,onFailure:$0})),xw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>J,onFailure:$0})),Sw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>[X,J],onFailure:F0})),jw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>X,onFailure:F0})),kw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>J,onFailure:F0})),t8=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)}}}),zo=($,Z)=>{let X=b1($);if(!H0(X))return x();return F(D0(X),y1(F(g$(X),nJ(S0)),(J,G)=>F(J,t8(G,{onSuccess:(Y,W)=>F(Y,O0(W)),onFailure:Z}))),nJ(w8),nJ((J)=>c8(J)),j)},B2=($)=>{return{...p8,[mM]:fM,state:l6(pM([])),commit(){return HZ(this)},blockingOn:$}},N8=()=>z(o9,($)=>Iw($)),Iw=($)=>E(()=>B2($)),HZ=($)=>J2((Z)=>{let X=r6($.state);switch(X._tag){case oJ:return Z(X.effect);case U5:return X.joiners.push(Z),To($,Z)}},$.blockingOn),FV=V(2,($,Z)=>$9(Z,$)),N2=V(2,($,Z)=>E(()=>{let X=r6($.state);switch(X._tag){case oJ:return!1;case U5:{b9($.state,JV(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z);return!0}}})),zV=V(2,($,Z)=>N2($,Z));var _2=V(2,($,Z)=>N2($,E$(Z)));var vw=($)=>z(o9,(Z)=>N2($,KH(Z)));var TV=V(2,($,Z)=>N2($,w(Z)));var XX=($,Z)=>{let X=r6($.state);if(X._tag===U5){b9($.state,JV(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z)}},To=($,Z)=>E(()=>{let X=r6($.state);if(X._tag===U5){let J=X.joiners.indexOf(Z);if(J>=0)X.joiners.splice(J,1)}}),Mo=x$(($)=>Z0($.currentContext)),_8=()=>Mo;var S8=($)=>z(_8(),$),aZ=V(2,($,Z)=>R0(B8,Z)($)),LH=V(2,($,Z)=>a0(B8,(X)=>o8(X,Z))($)),U4=V(2,($,Z)=>S8((X)=>aZ($,Z(X)))),MV=V(2,($,Z)=>z($,(X)=>z(Z.predicate(X),(J)=>J?w(X):Z.orElse(X)))),yw=V(2,($,Z)=>MV($,{predicate:Z.predicate,orElse:(X)=>L$(Z.orFailWith(X))})),qH=($)=>{let Z=$.currentSpan;return Z!==void 0&&Z._tag==="Span"?j(Z):x()},wo={_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(){}},bw=($)=>Object.assign(Object.create(wo),$);var Co=z5,P2=CH,A4=Q2,Ro=Bw,Lo=_V,qo=ZX,Eo=Nw,xo=H4,So=RH,jo=_w,wV=D4,CV=b$,ko=PV,Io=Pw,RV=Fw,EH=zw,vo=Tw,yo=Mw,bo=ww,LV=O2,go=nJ,ho=Cw,mo=Rw,fo=Lw,qV=T5,po=M5,F2=Z0,co=bZ;var uo=qw,oo=Ew,no=xw,lo=Sw,ro=jw,io=kw,EV=t8;var o0={};T8(o0,{use:()=>Zi,make:()=>Xi,fork:()=>xO,extend:()=>$i,close:()=>EO,addFinalizerExit:()=>er,addFinalizer:()=>tr,ScopeTypeId:()=>sr,Scope:()=>qO,CloseableScopeTypeId:()=>ar});var gw=($)=>!$;var hw=j9,xH=p8;var ao=hF;class K4 extends ao{}var mw="Sequential",fw="Parallel",to="ParallelN",e8={_tag:mw},z2={_tag:fw},pw=($)=>({_tag:to,parallelism:$}),xV=($)=>$._tag===mw,SV=($)=>$._tag===fw;var kH=e8,IH=z2,vH=pw;function cw($){return new a9($)}function dw(){return cw(new Map)}var jV=Symbol.for("effect/FiberRefs");class a9{locals;[jV]=jV;constructor($){this.locals=$}pipe(){return n(this,arguments)}}var $n=($,Z,X,J=!1)=>{let G=$,Y=Z,W=X,H=J,U=void 0;while(U===void 0)if(EZ(Y)&&EZ(W)){let A=KZ(Y)[0],Q=p6(Y),O=KZ(W)[0],P=KZ(W)[1],_=p6(W);if(A.startTimeMillis<O.startTimeMillis)W=_,H=!0;else if(A.startTimeMillis>O.startTimeMillis)Y=Q;else if(A.id<O.id)W=_,H=!0;else if(A.id>O.id)Y=Q;else U=[P,H]}else U=[G.initial,!0];return U},yH=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 H=J.get(Y),[U,A]=$n(Y,H,G);if(A){let Q=Y.diff(U,W),O=H[0][1],P=Y.join(O,Y.patch(Q)(O));if(!s(O,P)){let _,T=H[0][0];if(T[G$](Z))_=[[T,P],...H.slice(1)];else _=[[Z,P],...H];J.set(Y,_)}}}}),new a9(J)}),IV=V(2,($,Z)=>{let X=new Map;return uw($,X,Z),new a9(X)}),uw=($,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])})},ow=($)=>qW($.locals.keys()),nw=($)=>q8(ow($),(Z)=>A5(Z,t9($,Z))),T2=V(2,($,Z)=>{let X=new Map($.locals);return X.delete(Z),new a9(X)}),bH=V(2,($,Z)=>{if(!$.locals.has(Z))return x();return j(KZ($.locals.get(Z))[1])}),t9=V(2,($,Z)=>F(bH($,Z),c0(()=>Z.initial))),JX=V(2,($,{fiberId:Z,fiberRef:X,value:J})=>{if($.locals.size===0)return new a9(new Map([[X,[[Z,J]]]]));let G=new Map($.locals);return kV(G,Z,X,J),new a9(G)}),kV=($,Z,X,J)=>{let G=$.get(X)??[],Y;if(EZ(G)){let[W,H]=KZ(G);if(W[G$](Z))if(s(H,J))return;else Y=[[Z,J],...G.slice(1)];else Y=[[Z,J],...G]}else Y=[[Z,J]];$.set(X,Y)},lw=V(2,($,{entries:Z,forkAs:X})=>{if($.locals.size===0)return new a9(new Map(Z));let J=new Map($.locals);if(X!==void 0)uw($,J,X);return Z.forEach(([G,Y])=>{if(Y.length===1)kV(J,Y[0][0],G,Y[0][1]);else Y.forEach(([W,H])=>{kV(J,W,G,H)})}),new a9(J)});var yV=bH,rw=t9,iw=yH,sw=nw;var aw=lw;var tw=dw;var ew="Empty",$C="Add",ZC="Remove",XC="Update",JC="AndThen",GC={_tag:ew},M2=($,Z)=>{let X=new Map($.locals),J=GC;for(let[G,Y]of Z.locals.entries()){let W=KZ(Y)[1],H=X.get(G);if(H!==void 0){let U=KZ(H)[1];if(!s(U,W))J=gH({_tag:XC,fiberRef:G,patch:G.diff(U,W)})(J)}else J=gH({_tag:$C,fiberRef:G,value:W})(J);X.delete(G)}for(let[G]of X.entries())J=gH({_tag:ZC,fiberRef:G})(J);return J},gH=V(2,($,Z)=>({_tag:JC,first:$,second:Z})),hH=V(3,($,Z,X)=>{let J=X,G=rZ($);while(EZ(G)){let Y=KZ(G),W=p6(G);switch(Y._tag){case ew:{G=W;break}case $C:{J=JX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.value}),G=W;break}case ZC:{J=T2(J,Y.fiberRef),G=W;break}case XC:{let H=t9(J,Y.fiberRef);J=JX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.fiberRef.patch(Y.patch)(H)}),G=W;break}case JC:{G=L7(Y.first)(L7(Y.second)(W));break}}}return J});var w5=M2;var C5=hH;var fH="effect/FiberStatus",V4=Symbol.for(fH),mH="Done",gV="Running",hV="Suspended",Zn=u$(`${fH}-${mH}`);class HC{[V4]=V4;_tag=mH;[Y$](){return Zn}[G$]($){return pH($)&&$._tag===mH}}class DC{runtimeFlags;[V4]=V4;_tag=gV;constructor($){this.runtimeFlags=$}[Y$](){return F(a(fH),V$(a(this._tag)),V$(a(this.runtimeFlags)),R$(this))}[G$]($){return pH($)&&$._tag===gV&&this.runtimeFlags===$.runtimeFlags}}class UC{runtimeFlags;blockingOn;[V4]=V4;_tag=hV;constructor($,Z){this.runtimeFlags=$,this.blockingOn=Z}[Y$](){return F(a(fH),V$(a(this._tag)),V$(a(this.runtimeFlags)),V$(a(this.blockingOn)),R$(this))}[G$]($){return pH($)&&$._tag===hV&&this.runtimeFlags===$.runtimeFlags&&s(this.blockingOn,$.blockingOn)}}var AC=new HC,KC=($)=>new DC($),VC=($,Z)=>new UC($,Z),pH=($)=>u($,V4),QC=($)=>$._tag===mH,OC=($)=>$._tag===gV,BC=($)=>$._tag===hV;var NC=AC,mV=KC,_C=VC;var cH=QC,PC=OC,FC=BC;var BZ=rF;var Wn=aM,fV=tM,pV=eM,cV=DV,dV=UV,uV=AV,oV=$w,Hn=Zw;var Dn=F(BZ,tY(($)=>$.ordinal));var nV=I3(Dn);var lV=($)=>{switch($){case"All":return Wn;case"Debug":return uV;case"Error":return pV;case"Fatal":return fV;case"Info":return dV;case"Trace":return oV;case"None":return Hn;case"Warning":return cV}};var Un=Symbol.for("effect/Micro"),uH=Symbol.for("effect/Micro/MicroExit");var MC=Symbol.for("effect/Micro/MicroCause");var An={_E:w$};class sV extends globalThis.Error{_tag;traces;[MC];constructor($,Z,X){let J=`MicroCause.${$}`,G,Y,W;if(Z instanceof globalThis.Error){G=`(${J}) ${Z.name}`,Y=Z.message;let H=Y.split(`
|
|
18
|
+
`)}`:this.toString();else if("Bun"in globalThis)return M6(Q8(this),{renderErrorCause:!0});return this}}return Object.assign($.prototype,L3),$}(),P5=($,Z)=>{class X extends $X{_tag=Z}return Object.assign(X.prototype,$),X.prototype.name=Z,X},iJ=Symbol.for("effect/Cause/errors/RuntimeException"),OV=P5({[iJ]:iJ},"RuntimeException"),Dw=($)=>u($,iJ),sJ=Symbol.for("effect/Cause/errors/InterruptedException"),BV=P5({[sJ]:sJ},"InterruptedException"),MH=($)=>u($,sJ),aJ=Symbol.for("effect/Cause/errors/IllegalArgument"),a8=P5({[aJ]:aJ},"IllegalArgumentException"),Uw=($)=>u($,aJ),tJ=Symbol.for("effect/Cause/errors/NoSuchElement"),yZ=P5({[tJ]:tJ},"NoSuchElementException"),wH=($)=>u($,tJ),GH=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),nH$=P5({[GH]:GH},"InvalidPubSubCapacityException"),eJ=Symbol.for("effect/Cause/errors/ExceededCapacityException"),Aw=P5({[eJ]:eJ},"ExceededCapacityException"),Kw=($)=>u($,eJ);var $2=Symbol.for("effect/Cause/errors/Timeout"),NV=P5({[$2]:$2},"TimeoutException"),Vw=($)=>new NV(`Operation timed out after '${UK($)}'`),Qw=($)=>u($,$2),Z2=Symbol.for("effect/Cause/errors/UnknownException"),F5=function(){class $ extends $X{_tag="UnknownException";error;constructor(Z,X){super(X??"An unknown error occurred",{cause:Z});this.error=Z}}return Object.assign($.prototype,{[Z2]:Z2,name:"UnknownException"}),$}(),Ow=($)=>u($,Z2),z5=($)=>c$($)&&("_tag"in $)&&($._tag==="Success"||$._tag==="Failure"),CH=($)=>$._tag==="Failure",Q2=($)=>$._tag==="Success",Bw=($)=>{switch($._tag){case X0:return c7($.effect_instruction_i0);case J0:return!1}},_V=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z0(Z)}}),ZX=($)=>_V($,void 0),Nw=($)=>{switch($._tag){case X0:return j($.effect_instruction_i0);case J0:return x()}},H4=($,Z)=>zo($,Z?.parallel?F0:$0),RH=($)=>b$(P0($)),_w=V(2,($,Z)=>{switch($._tag){case X0:return!1;case J0:return Z($.effect_instruction_i0)}}),D4=($)=>b$(Q8($)),b$=($)=>{let Z=new YV(X0);return Z.effect_instruction_i0=$,Z},PV=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z($.effect_instruction_i0)}}),Pw=V(2,($,Z)=>{switch($._tag){case X0:return w(b$($.effect_instruction_i0));case J0:return Z($.effect_instruction_i0)}}),Fw=($)=>F($,PV(w$)),zw=V(2,($,Z)=>{switch($._tag){case X0:return w(b$($.effect_instruction_i0));case J0:return V0(Z($.effect_instruction_i0))}}),Tw=($)=>{switch($._tag){case"Left":return D4($.left);case"Right":return Z0($.right)}},Mw=($)=>{switch($._tag){case"None":return D4(void 0);case"Some":return Z0($.value)}},ww=V(2,($,Z)=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return $.effect_instruction_i0}}),O2=($)=>b$(QZ($)),nJ=V(2,($,Z)=>{switch($._tag){case X0:return b$($.effect_instruction_i0);case J0:return Z0(Z($.effect_instruction_i0))}}),Cw=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return b$(F($.effect_instruction_i0,n7(Z)));case J0:return Z0(X($.effect_instruction_i0))}}),Rw=V(2,($,Z)=>{switch($._tag){case X0:return b$(F($.effect_instruction_i0,n7(Z)));case J0:return Z0($.effect_instruction_i0)}}),Lw=V(2,($,Z)=>{switch($._tag){case X0:return b$(Z($.effect_instruction_i0));case J0:return Z0($.effect_instruction_i0)}}),T5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case X0:return Z($.effect_instruction_i0);case J0:return X($.effect_instruction_i0)}}),M5=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 WV(J0);return Z.effect_instruction_i0=$,Z},bZ=Z0(void 0),qw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>[X,J],onFailure:$0})),Ew=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>X,onFailure:$0})),xw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>J,onFailure:$0})),Sw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>[X,J],onFailure:F0})),jw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>X,onFailure:F0})),kw=V(2,($,Z)=>t8($,Z,{onSuccess:(X,J)=>J,onFailure:F0})),t8=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)}}}),zo=($,Z)=>{let X=b1($);if(!H0(X))return x();return F(D0(X),y1(F(g$(X),nJ(S0)),(J,G)=>F(J,t8(G,{onSuccess:(Y,W)=>F(Y,O0(W)),onFailure:Z}))),nJ(w8),nJ((J)=>c8(J)),j)},B2=($)=>{return{...p8,[mM]:fM,state:r6(pM([])),commit(){return HZ(this)},blockingOn:$}},N8=()=>z(o9,($)=>Iw($)),Iw=($)=>E(()=>B2($)),HZ=($)=>J2((Z)=>{let X=l6($.state);switch(X._tag){case oJ:return Z(X.effect);case U5:return X.joiners.push(Z),To($,Z)}},$.blockingOn),FV=V(2,($,Z)=>$9(Z,$)),N2=V(2,($,Z)=>E(()=>{let X=l6($.state);switch(X._tag){case oJ:return!1;case U5:{b9($.state,JV(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z);return!0}}})),zV=V(2,($,Z)=>N2($,Z));var _2=V(2,($,Z)=>N2($,E$(Z)));var vw=($)=>z(o9,(Z)=>N2($,KH(Z)));var TV=V(2,($,Z)=>N2($,w(Z)));var XX=($,Z)=>{let X=l6($.state);if(X._tag===U5){b9($.state,JV(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z)}},To=($,Z)=>E(()=>{let X=l6($.state);if(X._tag===U5){let J=X.joiners.indexOf(Z);if(J>=0)X.joiners.splice(J,1)}}),Mo=x$(($)=>Z0($.currentContext)),_8=()=>Mo;var S8=($)=>z(_8(),$),aZ=V(2,($,Z)=>R0(B8,Z)($)),LH=V(2,($,Z)=>a0(B8,(X)=>o8(X,Z))($)),U4=V(2,($,Z)=>S8((X)=>aZ($,Z(X)))),MV=V(2,($,Z)=>z($,(X)=>z(Z.predicate(X),(J)=>J?w(X):Z.orElse(X)))),yw=V(2,($,Z)=>MV($,{predicate:Z.predicate,orElse:(X)=>L$(Z.orFailWith(X))})),qH=($)=>{let Z=$.currentSpan;return Z!==void 0&&Z._tag==="Span"?j(Z):x()},wo={_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(){}},bw=($)=>Object.assign(Object.create(wo),$);var Co=z5,P2=CH,A4=Q2,Ro=Bw,Lo=_V,qo=ZX,Eo=Nw,xo=H4,So=RH,jo=_w,wV=D4,CV=b$,ko=PV,Io=Pw,RV=Fw,EH=zw,vo=Tw,yo=Mw,bo=ww,LV=O2,go=nJ,ho=Cw,mo=Rw,fo=Lw,qV=T5,po=M5,F2=Z0,co=bZ;var uo=qw,oo=Ew,no=xw,ro=Sw,lo=jw,io=kw,EV=t8;var o0={};T8(o0,{use:()=>Zi,make:()=>Xi,fork:()=>xO,extend:()=>$i,close:()=>EO,addFinalizerExit:()=>el,addFinalizer:()=>tl,ScopeTypeId:()=>sl,Scope:()=>qO,CloseableScopeTypeId:()=>al});var gw=($)=>!$;var hw=j9,xH=p8;var ao=hF;class K4 extends ao{}var mw="Sequential",fw="Parallel",to="ParallelN",e8={_tag:mw},z2={_tag:fw},pw=($)=>({_tag:to,parallelism:$}),xV=($)=>$._tag===mw,SV=($)=>$._tag===fw;var kH=e8,IH=z2,vH=pw;function cw($){return new a9($)}function dw(){return cw(new Map)}var jV=Symbol.for("effect/FiberRefs");class a9{locals;[jV]=jV;constructor($){this.locals=$}pipe(){return n(this,arguments)}}var $n=($,Z,X,J=!1)=>{let G=$,Y=Z,W=X,H=J,U=void 0;while(U===void 0)if(EZ(Y)&&EZ(W)){let A=KZ(Y)[0],Q=p6(Y),O=KZ(W)[0],P=KZ(W)[1],_=p6(W);if(A.startTimeMillis<O.startTimeMillis)W=_,H=!0;else if(A.startTimeMillis>O.startTimeMillis)Y=Q;else if(A.id<O.id)W=_,H=!0;else if(A.id>O.id)Y=Q;else U=[P,H]}else U=[G.initial,!0];return U},yH=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 H=J.get(Y),[U,A]=$n(Y,H,G);if(A){let Q=Y.diff(U,W),O=H[0][1],P=Y.join(O,Y.patch(Q)(O));if(!s(O,P)){let _,T=H[0][0];if(T[G$](Z))_=[[T,P],...H.slice(1)];else _=[[Z,P],...H];J.set(Y,_)}}}}),new a9(J)}),IV=V(2,($,Z)=>{let X=new Map;return uw($,X,Z),new a9(X)}),uw=($,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])})},ow=($)=>qW($.locals.keys()),nw=($)=>q8(ow($),(Z)=>A5(Z,t9($,Z))),T2=V(2,($,Z)=>{let X=new Map($.locals);return X.delete(Z),new a9(X)}),bH=V(2,($,Z)=>{if(!$.locals.has(Z))return x();return j(KZ($.locals.get(Z))[1])}),t9=V(2,($,Z)=>F(bH($,Z),c0(()=>Z.initial))),JX=V(2,($,{fiberId:Z,fiberRef:X,value:J})=>{if($.locals.size===0)return new a9(new Map([[X,[[Z,J]]]]));let G=new Map($.locals);return kV(G,Z,X,J),new a9(G)}),kV=($,Z,X,J)=>{let G=$.get(X)??[],Y;if(EZ(G)){let[W,H]=KZ(G);if(W[G$](Z))if(s(H,J))return;else Y=[[Z,J],...G.slice(1)];else Y=[[Z,J],...G]}else Y=[[Z,J]];$.set(X,Y)},rw=V(2,($,{entries:Z,forkAs:X})=>{if($.locals.size===0)return new a9(new Map(Z));let J=new Map($.locals);if(X!==void 0)uw($,J,X);return Z.forEach(([G,Y])=>{if(Y.length===1)kV(J,Y[0][0],G,Y[0][1]);else Y.forEach(([W,H])=>{kV(J,W,G,H)})}),new a9(J)});var yV=bH,lw=t9,iw=yH,sw=nw;var aw=rw;var tw=dw;var ew="Empty",$C="Add",ZC="Remove",XC="Update",JC="AndThen",GC={_tag:ew},M2=($,Z)=>{let X=new Map($.locals),J=GC;for(let[G,Y]of Z.locals.entries()){let W=KZ(Y)[1],H=X.get(G);if(H!==void 0){let U=KZ(H)[1];if(!s(U,W))J=gH({_tag:XC,fiberRef:G,patch:G.diff(U,W)})(J)}else J=gH({_tag:$C,fiberRef:G,value:W})(J);X.delete(G)}for(let[G]of X.entries())J=gH({_tag:ZC,fiberRef:G})(J);return J},gH=V(2,($,Z)=>({_tag:JC,first:$,second:Z})),hH=V(3,($,Z,X)=>{let J=X,G=lZ($);while(EZ(G)){let Y=KZ(G),W=p6(G);switch(Y._tag){case ew:{G=W;break}case $C:{J=JX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.value}),G=W;break}case ZC:{J=T2(J,Y.fiberRef),G=W;break}case XC:{let H=t9(J,Y.fiberRef);J=JX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.fiberRef.patch(Y.patch)(H)}),G=W;break}case JC:{G=L7(Y.first)(L7(Y.second)(W));break}}}return J});var w5=M2;var C5=hH;var fH="effect/FiberStatus",V4=Symbol.for(fH),mH="Done",gV="Running",hV="Suspended",Zn=u$(`${fH}-${mH}`);class HC{[V4]=V4;_tag=mH;[Y$](){return Zn}[G$]($){return pH($)&&$._tag===mH}}class DC{runtimeFlags;[V4]=V4;_tag=gV;constructor($){this.runtimeFlags=$}[Y$](){return F(a(fH),V$(a(this._tag)),V$(a(this.runtimeFlags)),R$(this))}[G$]($){return pH($)&&$._tag===gV&&this.runtimeFlags===$.runtimeFlags}}class UC{runtimeFlags;blockingOn;[V4]=V4;_tag=hV;constructor($,Z){this.runtimeFlags=$,this.blockingOn=Z}[Y$](){return F(a(fH),V$(a(this._tag)),V$(a(this.runtimeFlags)),V$(a(this.blockingOn)),R$(this))}[G$]($){return pH($)&&$._tag===hV&&this.runtimeFlags===$.runtimeFlags&&s(this.blockingOn,$.blockingOn)}}var AC=new HC,KC=($)=>new DC($),VC=($,Z)=>new UC($,Z),pH=($)=>u($,V4),QC=($)=>$._tag===mH,OC=($)=>$._tag===gV,BC=($)=>$._tag===hV;var NC=AC,mV=KC,_C=VC;var cH=QC,PC=OC,FC=BC;var BZ=lF;var Wn=aM,fV=tM,pV=eM,cV=DV,dV=UV,uV=AV,oV=$w,Hn=Zw;var Dn=F(BZ,tY(($)=>$.ordinal));var nV=I3(Dn);var rV=($)=>{switch($){case"All":return Wn;case"Debug":return uV;case"Error":return pV;case"Fatal":return fV;case"Info":return dV;case"Trace":return oV;case"None":return Hn;case"Warning":return cV}};var Un=Symbol.for("effect/Micro"),uH=Symbol.for("effect/Micro/MicroExit");var MC=Symbol.for("effect/Micro/MicroCause");var An={_E:w$};class sV extends globalThis.Error{_tag;traces;[MC];constructor($,Z,X){let J=`MicroCause.${$}`,G,Y,W;if(Z instanceof globalThis.Error){G=`(${J}) ${Z.name}`,Y=Z.message;let H=Y.split(`
|
|
19
19
|
`).length;W=Z.stack?`(${J}) ${Z.stack.split(`
|
|
20
20
|
`).slice(0,H+3).join(`
|
|
21
21
|
`)}`:`${G}: ${Y}`}else G=J,Y=x9(Z,0),W=`${G}: ${Y}`;if(X.length>0)W+=`
|
|
22
22
|
${X.join(`
|
|
23
|
-
`)}`;super(Y);this._tag=$,this.traces=X,this[MC]=An,this.name=G,this.stack=W}pipe(){return n(this,arguments)}toString(){return this.stack}[C$](){return this.stack}}class RC extends sV{defect;constructor($,Z=[]){super("Die",$,Z);this.defect=$}}var Kn=($,Z=[])=>new RC($,Z);class LC extends sV{constructor($=[]){super("Interrupt","interrupted",$)}}var Vn=($=[])=>new LC($);var Qn=($)=>$._tag==="Interrupt";var wC=Symbol.for("effect/Micro/MicroFiber"),On={_A:w$,_E:w$};class qC{context;interruptible;[wC];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor($,Z=!0){this.context=$,this.interruptible=Z,this[wC]=On}getRef($){return Ez(this.context,$)}addObserver($){if(this._exit)return $(this._exit),TZ;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(ZQ)}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===dH)return;let X=CC.interruptChildren&&CC.interruptChildren(this);if(X!==void 0)return this.evaluate(nH(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(rH).shouldYield(this)){Z=!0;let J=X;X=nH(Fn,()=>J)}if(X=X[rV](this),X===dH){let J=this._yielded;if(uH in J)return this._yielded=void 0,J;return dH}}}catch(J){if(!u(X,rV))return iV(`MicroFiber.runLoop: Not a valid effect: ${String(X)}`);return iV(J)}}getCont($){while(!0){let Z=this._stack.pop();if(!Z)return;let X=Z[oH]&&Z[oH](this);if(X)return{[$]:X};if(Z[$])return Z}}_yielded=void 0;yieldWith($){return this._yielded=$,dH}children(){return this._children??=new Set}}var CC=_$("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var EC=Symbol.for("effect/Micro/identifier"),DZ=Symbol.for("effect/Micro/args"),rV=Symbol.for("effect/Micro/evaluate"),YX=Symbol.for("effect/Micro/successCont"),GX=Symbol.for("effect/Micro/failureCont"),oH=Symbol.for("effect/Micro/ensureCont"),dH=Symbol.for("effect/Micro/Yield"),Bn={_A:w$,_E:w$,_R:w$},Nn={...hw,_op:"Micro",[Un]:Bn,pipe(){return n(this,arguments)},[Symbol.iterator](){return new p4(new E9(this))},toJSON(){return{_id:"Micro",op:this[EC],...DZ in this?{args:this[DZ]}:void 0}},toString(){return k$(this)},[C$](){return k$(this)}};function _n($){return iV("Micro.evaluate: Not implemented")}var lH=($)=>({...Nn,[EC]:$.op,[rV]:$.eval??_n,[YX]:$.contA,[GX]:$.contE,[oH]:$.ensure}),aV=($)=>{let Z=lH($);return function(){let X=Object.create(Z);return X[DZ]=$.single===!1?arguments:arguments[0],X}},xC=($)=>{let Z={...lH($),[uH]:uH,_tag:$.op,get[$.prop](){return this[DZ]},toJSON(){return{_id:"MicroExit",_tag:$.op,[$.prop]:this[DZ]}},[G$](X){return Mn(X)&&X._tag===$.op&&s(this[DZ],X[DZ])},[Y$](){return R$(this,V$(u$($.op))(a(this[DZ])))}};return function(X){let J=Object.create(Z);return J[DZ]=X,J[YX]=void 0,J[GX]=void 0,J[oH]=void 0,J}},tV=xC({op:"Success",prop:"value",eval($){let Z=$.getCont(YX);return Z?Z[YX](this[DZ],$):$.yieldWith(this)}}),SC=xC({op:"Failure",prop:"cause",eval($){let Z=$.getCont(GX);while(Qn(this[DZ])&&Z&&$.interruptible)Z=$.getCont(GX);return Z?Z[GX](this[DZ],$):$.yieldWith(this)}});var Pn=aV({op:"Yield",eval($){let Z=!1;return $.getRef(rH).scheduleTask(()=>{if(Z)return;$.evaluate(wn)},this[DZ]??0),$.yieldWith(()=>{Z=!0})}}),Fn=Pn(0);var zn=tV(void 0);var eV=aV({op:"WithMicroFiber",eval($){return this[DZ]($)}});var nH=V(2,($,Z)=>{let X=Object.create(Tn);return X[DZ]=$,X[YX]=Z,X}),Tn=lH({op:"OnSuccess",eval($){return $._stack.push(this),this[DZ]}});var Mn=($)=>u($,uH),jC=tV,$Q=SC,ZQ=$Q(Vn());var iV=($)=>$Q(Kn($));var wn=jC(void 0);var Cn="setImmediate"in globalThis?globalThis.setImmediate:($)=>setTimeout($,0);class XQ{tasks=[];running=!1;scheduleTask($,Z){if(this.tasks.push($),!this.running)this.running=!0,Cn(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(IC)}flush(){while(this.tasks.length>0)this.runTasks()}}var Rn=V(2,($,Z)=>eV((X)=>{let J=X.context;return X.context=Z(J),En($,()=>{return X.context=J,zn})}));var kC=V(2,($,Z)=>Rn($,o8(Z)));class IC extends u6()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class rH extends u6()("effect/Micro/currentScheduler",{defaultValue:()=>new XQ}){}var Ln=V(2,($,Z)=>{let X=Object.create(qn);return X[DZ]=$,X[YX]=Z.onSuccess,X[GX]=Z.onFailure,X}),qn=lH({op:"OnSuccessAndFailure",eval($){return $._stack.push(this),this[DZ]}});var En=V(2,($,Z)=>Sn((X)=>Ln(X($),{onFailure:(J)=>nH(Z($Q(J)),()=>SC(J)),onSuccess:(J)=>nH(Z(jC(J)),()=>tV(J))})));var vC=aV({op:"SetInterruptible",ensure($){if($.interruptible=this[DZ],$._interrupted&&$.interruptible)return()=>ZQ}}),xn=($)=>eV((Z)=>{if(Z.interruptible)return $;if(Z.interruptible=!0,Z._stack.push(vC(!1)),Z._interrupted)return ZQ;return $}),Sn=($)=>eV((Z)=>{if(!Z.interruptible)return $(w$);return Z.interruptible=!1,Z._stack.push(vC(!0)),$(xn)});var yC=($,Z)=>{let X=new qC(rH.context(Z?.scheduler??new XQ));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 Q4=Symbol.for("effect/Readable");var BD$={[Q4]:Q4,pipe(){return n(this,arguments)}};var iH=Symbol.for("effect/Ref"),JQ={_A:($)=>$};class gC extends K4{ref;commit(){return this.get}[iH]=JQ;[Q4]=Q4;constructor($){super();this.ref=$,this.get=E(()=>r6(this.ref))}get;modify($){return E(()=>{let Z=r6(this.ref),[X,J]=$(Z);if(Z!==J)b9(J)(this.ref);return X})}}var WX=($)=>new gC(l6($)),R5=($)=>E(()=>WX($)),RZ=($)=>$.get,J9=V(2,($,Z)=>$.modify(()=>[void 0,Z])),hC=V(2,($,Z)=>$.modify((X)=>[X,Z]));var GQ=V(2,($,Z)=>$.modify(Z));var L5=V(2,($,Z)=>$.modify((X)=>[void 0,Z(X)]));var aH=R5,tH=RZ,mC=hC;var fC=L5;class eH{scheduleDrain;running=!1;tasks=new YQ;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 eH($),X=new WeakMap;return(J)=>{if(J===void 0)return Z;let G=X.get(J);if(G===void 0)G=new eH($),X.set(J,G);return G}}}class YQ{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 cC{maxNextTickBeforeTimer;getRunner=eH.cached(($,Z)=>{if($>=this.maxNextTickBeforeTimer)setTimeout(()=>Z(0),0);else Promise.resolve(void 0).then(()=>Z($+1))});constructor($){this.maxNextTickBeforeTimer=$}shouldYield($){return $.currentOpCount>$.getFiberRef(_H)?$.getFiberRef(r9):!1}scheduleTask($,Z,X){this.getRunner(X).scheduleTask($,Z)}}var dC=_$(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new cC(2048));class WQ{tasks=new YQ;deferred=!1;scheduleTask($,Z,X){if(this.deferred)dC.scheduleTask($,Z,X);else this.tasks.scheduleTask($,Z)}shouldYield($){return $.currentOpCount>$.getFiberRef(_H)?$.getFiberRef(r9):!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 e9=_$(Symbol.for("effect/FiberRef/currentScheduler"),()=>L0(dC)),uC=V(2,($,Z)=>R0($,e9,Z));var kn="effect/Clock",$D=Symbol.for(kn),tZ=WZ("effect/Clock"),In=2147483647,oC={unsafeSchedule($,Z){let X=MZ(Z);if(X>In)return JZ;let J=!1,G=setTimeout(()=>{J=!0,$()},X);return()=>{return clearTimeout(G),!J}}},nC=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))}}(),vn=function(){let $=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!$)return nC;let Z=nC()-$.bigint();return()=>Z+$.bigint()}();class lC{[$D]=$D;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return vn()}currentTimeMillis=E(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=E(()=>this.unsafeCurrentTimeNanos());scheduler(){return w(oC)}sleep($){return jZ((Z)=>{let X=oC.unsafeSchedule(()=>Z(T$),$);return z0(E(X))})}}var ZD=()=>new lC;var XD=_$(Symbol.for("effect/FiberRef/currentRequestMap"),()=>L0(new Map));var UQ=($,Z,X,J)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return CZ(FH,(G)=>G==="unbounded"?X():G>1?J(G):Z());default:return $>1?J($):Z()}},C2=($,Z,X)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return CZ(FH,(J)=>J==="unbounded"||J>1?X():Z());default:return $>1?X():Z()}};var rC=($)=>$.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var AQ="And",KQ="Or",VQ="InvalidData",QQ="MissingData",OQ="SourceUnavailable",BQ="Unsupported";var mn="effect/ConfigError",iC=Symbol.for(mn),HX={_tag:"ConfigError",[iC]:iC},NQ=($,Z)=>{let X=Object.create(HX);return X._op=AQ,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},_Q=($,Z)=>{let X=Object.create(HX);return X._op=KQ,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},fn=($,Z,X={pathDelim:"."})=>{let J=Object.create(HX);return J._op=VQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Invalid data at ${F(this.path,I9(X.pathDelim))}: "${this.message}")`}}),J},$1=($,Z,X={pathDelim:"."})=>{let J=Object.create(HX);return J._op=QQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Missing data at ${F(this.path,I9(X.pathDelim))}: "${this.message}")`}}),J},pn=($,Z,X,J={pathDelim:"."})=>{let G=Object.create(HX);return G._op=OQ,G.path=$,G.message=Z,G.cause=X,Object.defineProperty(G,"toString",{enumerable:!1,value(){return`(Source unavailable at ${F(this.path,I9(J.pathDelim))}: "${this.message}")`}}),G},cn=($,Z,X={pathDelim:"."})=>{let J=Object.create(HX);return J._op=BQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${F(this.path,I9(X.pathDelim))}: "${this.message}")`}}),J};var O4=V(2,($,Z)=>{switch($._op){case AQ:return NQ(O4($.left,Z),O4($.right,Z));case KQ:return _Q(O4($.left,Z),O4($.right,Z));case VQ:return fn([...Z,...$.path],$.message);case QQ:return $1([...Z,...$.path],$.message);case OQ:return pn([...Z,...$.path],$.message,$.cause);case BQ:return cn([...Z,...$.path],$.message)}});var aC={_tag:"Empty"};var JD=V(2,($,Z)=>{let X=vJ(Z),J=$;while(EK(X)){let G=X.head;switch(G._tag){case"Empty":{X=X.tail;break}case"AndThen":{X=g9(G.first,g9(G.second,X.tail));break}case"MapName":{J=c6(J,G.f),X=X.tail;break}case"Nested":{J=L7(J,G.name),X=X.tail;break}case"Unnested":{if(F(v1(J),h3(G.name)))J=p6(J),X=X.tail;else return f$($1(J,`Expected ${G.name} to be in path in ConfigProvider#unnested`));break}}}return S$(J)});var tC="Constant",eC="Fail",$R="Fallback",ZR="Described",XR="Lazy",JR="MapOrFail",GR="Nested",YR="Primitive",WR="Sequence",HR="HashMap",DR="ZipWith";var GD=($,Z)=>[...$,...Z],on="effect/ConfigProvider",UR=Symbol.for(on),DX=WZ("effect/ConfigProvider"),nn="effect/ConfigProviderFlat",AR=Symbol.for(nn),ln=($)=>({[UR]:UR,pipe(){return n(this,arguments)},...$}),rn=($)=>({[AR]:AR,patch:$.patch,load:(Z,X,J=!0)=>$.load(Z,X,J),enumerateChildren:$.enumerateChildren}),sn=($)=>ln({load:(Z)=>z($6($,N6(),Z,!1),(X)=>p0(v1(X),{onNone:()=>L$($1(N6(),`Expected a single value having structure: ${Z}`)),onSome:w})),flattened:$}),KR=($)=>{let{pathDelim:Z,seqDelim:X}=Object.assign({},{pathDelim:"_",seqDelim:","},$),J=(U)=>F(U,I9(Z)),G=(U)=>U.split(Z),Y=()=>typeof process<"u"&&("env"in process)&&typeof process.env==="object"?process.env:{};return sn(rn({load:(U,A,Q=!0)=>{let O=J(U),P=Y(),_=O in P?j(P[O]):x();return F(_,$4(()=>$1(U,`Expected ${O} to exist in the process context`)),z((T)=>Zl(T,U,A,X,Q)))},enumerateChildren:(U)=>E(()=>{let A=Y(),P=Object.keys(A).map((_)=>G(_.toUpperCase())).filter((_)=>{for(let T=0;T<U.length;T++){let M=F(U,p3(T)),S=_[T];if(S===void 0||M!==S)return!1}return!0}).flatMap((_)=>_.slice(U.length,U.length+1));return qW(P)}),patch:aC}))};var an=($,Z,X,J)=>{let G=n3(X.length,(U)=>U>=J.length?x():j([$(U),U+1])),Y=n3(J.length,(U)=>U>=X.length?x():j([Z(U),U+1])),W=GD(X,G),H=GD(J,Y);return[W,H]},tn=($,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 $},$6=($,Z,X,J)=>{let G=X;switch(G._tag){case tC:return w(rZ(G.value));case ZR:return H$(()=>$6($,Z,G.config,J));case eC:return L$($1(Z,G.message));case $R:return F(H$(()=>$6($,Z,G.first,J)),w6((Y)=>{if(G.condition(Y))return F($6($,Z,G.second,J),w6((W)=>L$(_Q(Y,W))));return L$(Y)}));case XR:return H$(()=>$6($,Z,G.config(),J));case JR:return H$(()=>F($6($,Z,G.original,J),z(OZ((Y)=>F(G.mapOrFail(Y),$4(O4(tn(Z,G.original))))))));case GR:return H$(()=>$6($,GD(Z,rZ(G.name)),G.config,J));case YR:return F(JD(Z,$.patch),z((Y)=>F($.load(Y,G,J),z((W)=>{if(W.length===0){let H=F(Vz(Y),c0(()=>"<n/a>"));return L$($1([],`Expected ${G.description} with name ${H}`))}return w(W)}))));case WR:return F(JD(Z,$.patch),z((Y)=>F($.enumerateChildren(Y),z(Jl),z((W)=>{if(W.length===0)return H$(()=>I($6($,Z,G.config,!0),rZ));return F(OZ(W,(H)=>$6($,Uz(Z,`[${H}]`),G.config,!0)),I((H)=>{let U=JW(H);if(U.length===0)return rZ(N6());return rZ(U)}))}))));case HR:return H$(()=>F(JD(Z,$.patch),z((Y)=>F($.enumerateChildren(Y),z((W)=>{return F(W,OZ((H)=>$6($,GD(Y,rZ(H)),G.valueConfig,J)),I((H)=>{if(H.length===0)return rZ(X5());return F(Xl(H),c6((U)=>kT(u3(P$(W),U))))}))})))));case DR:return H$(()=>F($6($,Z,G.left,J),i8,z((Y)=>F($6($,Z,G.right,J),i8,z((W)=>{if(w0(Y)&&w0(W))return L$(NQ(Y.left,W.left));if(w0(Y)&&m6(W))return L$(Y.left);if(m6(Y)&&w0(W))return L$(W.left);if(m6(Y)&&m6(W)){let H=F(Z,I9(".")),U=en(Z,H),[A,Q]=an(U,U,F(Y.right,c6(S$)),F(W.right,c6(S$)));return F(A,u3(Q),OZ(([O,P])=>F(Q5(O,P),I(([_,T])=>G.zip(_,T)))))}throw Error("BUG: ConfigProvider.fromFlatLoop - please report an issue at https://github.com/Effect-TS/effect/issues")})))))}},en=($,Z)=>(X)=>f$($1($,`The element at index ${X} in a sequence at path "${Z}" was missing`));var $l=($,Z)=>{return $.split(new RegExp(`\\s*${rC(Z)}\\s*`))},Zl=($,Z,X,J,G)=>{if(!G)return F(X.parse($),W2({onFailure:O4(Z),onSuccess:rZ}));return F($l($,J),OZ((Y)=>X.parse(Y.trim())),$4(O4(Z)))},Xl=($)=>{return Object.keys($[0]).map((Z)=>$.map((X)=>X[Z]))},Jl=($)=>F(OZ($,Yl),W2({onFailure:()=>N6(),onSuccess:D8(BZ)}),i8,I(r4));var Gl=/^(\[(\d+)\])$/,Yl=($)=>{let Z=$.match(Gl);if(Z!==null){let X=Z[2];return F(X!==void 0&&X.length>0?j(X):x(),lZ(Wl))}return x()};var Wl=($)=>{let Z=Number.parseInt($);return Number.isNaN(Z)?x():j(Z)};var q5={};T8(q5,{sleep:()=>VX,make:()=>Ql,currentTimeNanos:()=>FQ,currentTimeMillis:()=>G1,clockWith:()=>zQ,ClockTypeId:()=>Vl,Clock:()=>TQ});var VR=Symbol.for("effect/Console"),Z1=WZ("effect/Console"),QR={[VR]:VR,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 Dl="effect/Random",R2=Symbol.for(Dl),X1=WZ("effect/Random");class BR{seed;[R2]=R2;PRNG;constructor($){this.seed=$,this.PRNG=new M3($)}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 NR($,(Z)=>this.nextIntBetween(0,Z))}}var NR=($,Z)=>{return H$(()=>F(E(()=>Array.from($)),z((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)=>Ul(X,G-1,Y)))),i$(b1(X)))})))},Ul=($,Z,X)=>{let J=$[Z];return $[Z]=$[X],$[X]=J,$},PQ=($)=>new BR(a($));class _R{values;[R2]=R2;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 NR($,(Z)=>this.nextIntBetween(0,Z))}}var PR=($)=>new _R($);var zR=Symbol.for("effect/Tracer"),Al=($)=>({[zR]:zR,...$}),J1=WZ("effect/Tracer"),gZ=WZ("effect/ParentSpan"),TR=function(){return function(X){let J="";for(let G=0;G<X;G++)J+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return J}}();class MR{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:TR(32),this.spanId=TR(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 wR=Al({span:($,Z,X,J,G,Y)=>new MR($,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}}}},UX=u6()("effect/Tracer/DisablePropagation",{defaultValue:JZ});var Kl=F(VZ(),e$(tZ,ZD()),e$(Z1,QR),e$(X1,PQ(Math.random())),e$(DX,KR()),e$(J1,wR)),M0=_$(Symbol.for("effect/DefaultServices/currentServices"),()=>NH(Kl)),CR=($)=>{let Z=Y0($);return L2((X)=>X.sleep(Z))},YD=($)=>x$((Z)=>$(Z.currentDefaultServices)),L2=($)=>YD((Z)=>$(Z.unsafeMap.get(tZ.key))),RR=L2(($)=>$.currentTimeMillis),LR=L2(($)=>$.currentTimeNanos),qR=V(2,($,Z)=>a0(M0,e$(tZ,Z))($)),ER=V(2,($,Z)=>a0(M0,e$(DX,Z))($)),xR=($)=>YD((Z)=>$(Z.unsafeMap.get(DX.key)));var KX=($)=>YD((Z)=>$(Z.unsafeMap.get(X1.key))),SR=V(2,($,Z)=>a0(M0,e$(X1,Z))($)),jR=KX(($)=>$.next);var WD=($)=>YD((Z)=>$(Z.unsafeMap.get(J1.key))),kR=V(2,($,Z)=>a0(M0,e$(J1,Z))($));var Vl=$D,Ql=ZD,VX=CR,G1=RR,FQ=LR,zQ=L2,TQ=tZ;var IR=($,Z)=>({label:$,startTime:Z}),MQ=($)=>$.replace(/[\s="]/g,"_"),wQ=($)=>(Z)=>{return`${MQ(Z.label)}=${$-Z.startTime}ms`};var yR=IR;var bR=WD;var gR="effect/MetricLabel",CQ=Symbol.for(gR);class hR{key;value;[CQ]=CQ;_hash;constructor($,Z){this.key=$,this.value=Z,this._hash=u$(gR+this.key+this.value)}[Y$](){return this._hash}[G$]($){return Nl($)&&this.key===$.key&&this.value===$.value}pipe(){return n(this,arguments)}}var E5=($,Z)=>{return new hR($,Z)},Nl=($)=>u($,CQ);var mR=V(($)=>c$($[0]),function(){let $=arguments;return a0($[0],i9,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),QX=($)=>I($,j),fR=($)=>$4($,j),LQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;return H$(()=>{try{return w(E0(Z))}catch(J){return L$(X?E0(()=>X(J)):new F5(J,"An unknown error occurred in Effect.try"))}})},pR=V(3,($,Z,X)=>w6($,(J)=>{if(u(J,Z)&&J[Z]===X.failure)return X.onFailure(J);return L$(J)})),cR=V(2,($,Z)=>e6($,(X)=>{let J=a6(X,(G)=>Y5(G)?j(G):x());switch(J._tag){case"None":return E$(X);case"Some":return Z(J.value.defect)}})),dR=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=Z(X);switch(J._tag){case"None":return E$(X);case"Some":return J.value}},onSuccess:w})),uR=V(2,($,Z)=>e6($,(X)=>{let J=a6(X,(G)=>Y5(G)?j(G):x());switch(J._tag){case"None":return E$(X);case"Some":{let G=Z(J.value.defect);return G._tag==="Some"?G.value:E$(X)}}})),oR=V(($)=>c$($[0]),($,...Z)=>{let X=Z[Z.length-1],J;if(Z.length===2)J=k1(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 G2($,J,X)}),nR=V(2,($,Z)=>{let X;return G2($,(J)=>{return X??=Object.keys(Z),u(J,"_tag")&&AJ(J._tag)&&X.includes(J._tag)},(J)=>Z[J._tag](J))}),lR=($)=>Y2($,{onFailure:w$,onSuccess:()=>u0}),G9=zQ,rR=G9(w),iR=V(2,($,Z)=>j$(VX(Z),$)),UD=($)=>x$((Z,X)=>$({id:Z.id(),status:X,interruptors:H5(Z.getFiberRef(N5))})),sR=UD(($)=>y9($.interruptors)>0?AH:T$),aR=UD(w),OX=($)=>S2($,AD,M2),_l=($)=>S2($,Q5(AD,s7),([Z,X],[J,G])=>[M2(Z,J),r8(X,G)]),tR=w({}),eR=N7(I,z),$L=B7(I),ZL=O7(I),XL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=w(!1),W=0;while((G=X.next())&&!G.done){let H=G.value,U=W++;Y=z(Y,(A)=>{if(A)return J.push(H),w(!0);return Z(H,U)})}return I(Y,()=>J)})),JL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=w(!0),W=0;while((G=X.next())&&!G.done){let H=G.value,U=W++;Y=z(Y,(A)=>I(A?Z(H,U):w(!1),(Q)=>{if(!Q)J.push(H);return Q}))}return I(Y,()=>J)})),GL=($)=>I(_8(),$),qQ=($)=>K5($,()=>z(X9(),()=>qQ($))),YL=V(2,($,Z)=>I(OZ($,w$),q7(Z))),WL=V(3,($,Z,X)=>q2($,Z,(J)=>L8(()=>X(J)))),HL=V(3,($,Z,X)=>q2($,Z,()=>a1(X))),q2=V(3,($,Z,X)=>z($,(J)=>Z(J)?w(J):X(J))),DL=V(3,($,Z,X)=>H$(()=>Z($)?w($):L$(X($)))),UL=V(($)=>c$($[0]),($,Z,X)=>q2($,Z,(J)=>X===void 0?L$(new yZ):s8(()=>X(J)))),AL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=X.next();if(!J.done)return KL(X,0,Z,J.value);return w(x())})),KL=($,Z,X,J)=>z(X(J,Z),(G)=>{if(G)return w(j(J));let Y=$.next();if(!Y.done)return KL($,Z+1,X,Y.value);return w(x())}),VL=($)=>H$(()=>{let Z=b1($);if(!H0(Z))return L8(()=>new a8("Received an empty collection of effects"));return F(D0(Z),y1(g$(Z),(X,J)=>K5(X,()=>J)))}),QL=V(2,($,Z)=>e1(Z(e1($)))),E2=V(2,($,Z)=>s0($,{onFailure:(X)=>w(Z.onFailure(X)),onSuccess:(X)=>w(Z.onSuccess(X))})),OL=V(2,($,Z)=>H$(()=>BL($[Symbol.iterator](),0,Z))),BL=($,Z,X)=>{let J=$.next();return J.done?w(!0):z(X(J.value,Z),(G)=>G?BL($,Z+1,X):w(G))},EQ=($)=>{let Z=z(z($,()=>X9()),()=>Z);return Z},AD=x$(($)=>w($.getFiberRefs())),NL=($)=>z($,(Z)=>{let J=Z[Symbol.iterator]().next();if(J.done)return L$(new yZ);return w(J.value)}),KD=($)=>E2($,{onFailure:TZ,onSuccess:TZ}),_L=($)=>B0($,{onFailure:(Z)=>SQ(Z,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>T$}),PL=($)=>QD((Z,X)=>iw(X,Z,$)),FL=($)=>E2($,{onFailure:g6,onSuccess:JZ}),zL=($)=>E2($,{onFailure:JZ,onSuccess:g6}),xQ=($,Z)=>H$(()=>{if(Z.while($))return z(Z.body($),(X)=>xQ(X,Z));return w($)}),Y1=($)=>(...Z)=>{let X=H8($),J=void 0;for(let G=0,Y=Z.length;G<Y;G++){let W=Z[G];if(pJ(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),T$})},TL=Y1(),ML=Y1(oV),SQ=Y1(uV),wL=Y1(dV),CL=Y1(cV),RL=Y1(pV),LL=Y1(fV),qL=V(2,($,Z)=>z(G1,(X)=>a0($,PH,fW(yR(Z,X))))),EL=E8(i9),xL=($,Z)=>Z.discard?jL($,Z.while,Z.step,Z.body):I(SL($,Z.while,Z.step,Z.body),P$),SL=($,Z,X,J)=>H$(()=>Z($)?z(J($),(G)=>I(SL(X($),Z,X,J),fW(G))):E(()=>s6())),jL=($,Z,X,J)=>H$(()=>Z($)?z(J($),()=>jL(X($),Z,X,J)):T$),kL=V(3,($,Z,X)=>H$(()=>{let J=$[Symbol.iterator](),G=[],Y=w(Z),W,H=0;while(!(W=J.next()).done){let U=H++,A=W.value;Y=z(Y,(Q)=>I(X(Q,A,U),([O,P])=>{return G.push(P),O}))}return I(Y,(U)=>[U,G])})),BX=V(2,($,Z)=>B0($,{onFailure:(X)=>u9(()=>Z(X)),onSuccess:w})),VD=($)=>F(N8(),z((Z)=>F(_l($),$9(Z),jQ,I((X)=>j$(X,F(HZ(Z),z(([J,G])=>i$(Q5(x5(J[0]),Z4(J[1])),G)))))))),IL=($)=>s0($,{onFailure:(Z)=>w(Z),onSuccess:w}),x2=($)=>I($,(Z)=>!Z),vL=($)=>z($,(Z)=>{switch(Z._tag){case"None":return T$;case"Some":return L$(new yZ)}}),jQ=($)=>I(aH(!0),(Z)=>z0(a7($,mC(Z,!1)))),yL=($)=>s0($,{onFailure:()=>w(x()),onSuccess:(Z)=>w(j(Z))}),bL=V(2,($,Z)=>K5($,()=>s8(Z))),gL=V(2,($,Z)=>K5($,()=>E(Z))),hL=($)=>B0($,{onFailure:(Z)=>{let X=P$(d7(Z));return X.length===0?E$(Z):L$(X)},onSuccess:w}),x5=($)=>QD((Z,X)=>F($,hH(Z,X))),mL=($)=>$.length>=1?jZ((Z,X)=>{try{$(X).then((J)=>Z(w(J)),(J)=>Z(wZ(J)))}catch(J){Z(wZ(J))}}):jZ((Z)=>{try{$().then((X)=>Z(w(X)),(X)=>Z(wZ(X)))}catch(X){Z(wZ(X))}}),N4=V(3,($,Z,X)=>S8((J)=>aZ($,e$(J,Z,X)))),_4=V(3,($,Z,X)=>S8((J)=>z(X,(G)=>aZ($,F(J,e$(Z,G)))))),fL=KX(w),pL=V(3,($,Z,X)=>P$($).reduce((J,G,Y)=>z(J,(W)=>X(W,G,Y)),w(Z))),cL=V(3,($,Z,X)=>P$($).reduceRight((J,G,Y)=>z(J,(W)=>X(G,W,Y)),w(Z))),dL=V(3,($,Z,X)=>z(E(()=>$[Symbol.iterator]()),(J)=>uL(J,0,Z,X.while,X.body))),uL=($,Z,X,J,G)=>{let Y=$.next();if(!Y.done&&J(X))return z(G(X,Y.value,Z),(W)=>uL($,Z+1,W,J,G));return w(X)},oL=V(2,($,Z)=>H$(()=>nL($,Z))),nL=($,Z)=>z($,(X)=>Z<=0?w(X):j$(X9(),nL($,Z-1))),lL=($)=>B0($,{onFailure:L$,onSuccess:w}),rL=($)=>H$(()=>sw($)),S5=VX,j5=w(x()),iL=($)=>w(j($)),S2=V(3,($,Z,X)=>z(Z,(J)=>z($,(G)=>I(Z,(Y)=>[X(J,Y),G])))),sL=V(($)=>c$($[0]),function(){return kQ(arguments[0],typeof arguments[1]==="string"?[E5(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([$,Z])=>E5($,Z)))}),kQ=V(2,($,Z)=>a0($,s9,(X)=>B6(X,Z))),aL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=w(!1),W=0;while((G=X.next())&&!G.done){let H=G.value,U=W++;Y=z(Y,(A)=>{if(A)return w(!0);return J.push(H),Z(H,U)})}return I(Y,()=>J)})),tL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=w(!0),W=0;while((G=X.next())&&!G.done){let H=G.value,U=W++;Y=z(Y,(A)=>F(A?Z(H,U):w(!1),I((Q)=>{if(Q)J.push(H);return Q})))}return I(Y,()=>J)})),eL=V(2,($,{onFailure:Z,onSuccess:X})=>B0($,{onFailure:(J)=>{let G=T6(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)=>e6($,(X)=>p0(ZH(X),{onNone:()=>E$(X),onSome:(J)=>j$(Z(J),E$(X))}))),IQ=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=T6(X);switch(J._tag){case"Left":return j$(Z(J.left),E$(X));case"Right":return E$(X)}},onSuccess:w})),Zq=V(3,($,Z,X)=>IQ($,(J)=>{if(k1(J,Z))return X(J);return T$})),Xq=V(2,($,Z)=>B0($,{onFailure:(X)=>j$(Z(X),E$(X)),onSuccess:w})),Jq=($)=>vQ($,FQ),vQ=V(2,($,Z)=>S2($,Z,(X,J)=>LJ(J-X))),Pl=bR,Gq=Pl(w),yQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;let J=(G)=>X?s8(()=>X(G)):L$(new F5(G,"An unknown error occurred in Effect.tryPromise"));if(Z.length>=1)return jZ((G,Y)=>{try{Z(Y).then((W)=>G(w(W)),(W)=>G(J(W)))}catch(W){G(J(W))}});return jZ((G)=>{try{Z().then((Y)=>G(w(Y)),(Y)=>G(J(Y)))}catch(Y){G(J(Y))}})},Yq=V(2,($,Z)=>z($,(X)=>LQ({try:()=>Z.try(X),catch:Z.catch}))),Wq=V(2,($,Z)=>z($,(X)=>yQ({try:Z.try.length>=1?(J)=>Z.try(X,J):()=>Z.try(X),catch:Z.catch}))),Hq=V(2,($,Z)=>H$(()=>Z()?j5:QX($))),Dq=V(2,($,Z)=>z(Z,(X)=>X?j5:QX($))),Uq=($)=>BX($,XH),QD=($)=>x$((Z)=>{return Z.setFiberRefs($(Z.id(),Z.getFiberRefs())),T$}),Aq=V(3,($,Z,X)=>U4($,(J)=>e$(J,Z,X(u8(J,Z))))),OD=V(2,($,Z)=>H$(()=>Z()?I($,j):w(x()))),Kq=V(3,($,Z,X)=>z(E8(Z),(J)=>X(J)?I($,(G)=>[J,j(G)]):w([J,x()]))),Vq=V(3,($,Z,X)=>z(tH(Z),(J)=>X(J)?I($,(G)=>[J,j(G)]):w([J,x()]))),Qq=V(2,($,Z)=>Z($)),Oq=($,Z)=>(...X)=>z($,(J)=>Z(J)(...X)),Bq=($,Z)=>(...X)=>I($,(J)=>Z(J)(...X)),bQ=($)=>new Proxy({},{get(Z,X,J){return(...G)=>z($,(Y)=>Y[X](...G))}}),gQ=($)=>new Proxy({},{get(Z,X,J){return z($,(G)=>c$(G[X])?G[X]:w(G[X]))}}),Nq=($)=>({functions:bQ($),constants:gQ($)}),_q=($)=>I(_8(),R8($)),hQ=($)=>z(_8(),R8($)),Pq=function(){let $=arguments;return KD(z(fQ,(Z)=>E(()=>{if(typeof $[0]==="string")Z.attribute($[0],$[1]);else for(let X in $[0])Z.attribute(X,$[0][X])})))},Fq=function(){let $=arguments,Z=Array.isArray($[0])?$[0]:[{_tag:"SpanLink",span:$[0],attributes:$[1]??{}}];return KD(z(mQ,(X)=>E(()=>X.addLinks(Z))))},zq=V(($)=>c$($[0]),function(){let $=arguments;return a0($[0],e7,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),Tq=hQ(gZ),mQ=z(_8(),($)=>{let Z=$.unsafeMap.get(gZ.key);return Z!==void 0&&Z._tag==="Span"?w(Z):L$(new yZ)}),fQ=z(_8(),($)=>{let Z=j2(R8($,gZ));return Z._tag==="Some"&&Z.value._tag==="Span"?w(Z.value):L$(new yZ)}),Mq=V(($)=>c$($[0]),($,Z,X)=>a0($,TH,x7({_tag:"SpanLink",span:Z,attributes:X??{}}))),wq=BigInt(0),j2=lZ(($)=>r0($.context,UX)?$._tag==="Span"?j2($.parent):x():j($)),BD=($,Z,X)=>{let J=!$.getFiberRef(U2)||X.context&&r0(X.context,UX),G=$.getFiberRef(B8),Y=X.parent?j(X.parent):X.root?x():j2(R8(G,gZ)),W;if(J)W=bw({name:Z,parent:Y,context:e$(X.context??VZ(),UX,!0)});else{let H=$.getFiberRef(M0),U=r0(H,J1),A=r0(H,TQ),Q=$.getFiberRef(Y4),O=$.getFiberRefs(),P=yV(O,e7),_=yV(O,TH),T=_._tag==="Some"?X.links!==void 0?[...c8(_.value),...X.links??[]]:c8(_.value):X.links??N6();if(W=U.span(Z,Y,X.context??VZ(),T,Q?A.unsafeCurrentTimeNanos():wq,X.kind??"internal",X),P._tag==="Some")gT(P.value,(M,S)=>W.attribute(S,M));if(X.attributes!==void 0)Object.entries(X.attributes).forEach(([M,S])=>W.attribute(M,S))}if(typeof X.captureStackTrace==="function")uJ.set(W,X.captureStackTrace);return W},Cq=($,Z)=>{return Z=j8(Z),x$((X)=>w(BD(X,$,Z)))},Rq=E8(e7),Lq=E8(TH),pQ=($,Z,X,J)=>E(()=>{if($.status._tag==="Ended")return;if(CH(Z)&&uJ.has($))$.attribute("code.stacktrace",uJ.get($)());$.end(J?X.unsafeCurrentTimeNanos():wq,Z)}),HD=($,...Z)=>{let X=j8(Z.length===1?void 0:Z[0]),J=Z[Z.length-1];return x$((G)=>{let Y=BD(G,$,X),W=G.getFiberRef(Y4),H=r0(G.getFiberRef(M0),tZ);return iZ(J(Y),(U)=>pQ(Y,U,H,W))})},DD=V(2,($,Z)=>N4($,gZ,Z)),cQ=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return HD(Z,X,(G)=>DD(J,G))}return(J)=>HD(Z,X,(G)=>DD(J,G))},qq=($)=>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[MC]=An,this.name=G,this.stack=W}pipe(){return n(this,arguments)}toString(){return this.stack}[C$](){return this.stack}}class RC extends sV{defect;constructor($,Z=[]){super("Die",$,Z);this.defect=$}}var Kn=($,Z=[])=>new RC($,Z);class LC extends sV{constructor($=[]){super("Interrupt","interrupted",$)}}var Vn=($=[])=>new LC($);var Qn=($)=>$._tag==="Interrupt";var wC=Symbol.for("effect/Micro/MicroFiber"),On={_A:w$,_E:w$};class qC{context;interruptible;[wC];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor($,Z=!0){this.context=$,this.interruptible=Z,this[wC]=On}getRef($){return Ez(this.context,$)}addObserver($){if(this._exit)return $(this._exit),TZ;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(ZQ)}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===dH)return;let X=CC.interruptChildren&&CC.interruptChildren(this);if(X!==void 0)return this.evaluate(nH(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(lH).shouldYield(this)){Z=!0;let J=X;X=nH(Fn,()=>J)}if(X=X[lV](this),X===dH){let J=this._yielded;if(uH in J)return this._yielded=void 0,J;return dH}}}catch(J){if(!u(X,lV))return iV(`MicroFiber.runLoop: Not a valid effect: ${String(X)}`);return iV(J)}}getCont($){while(!0){let Z=this._stack.pop();if(!Z)return;let X=Z[oH]&&Z[oH](this);if(X)return{[$]:X};if(Z[$])return Z}}_yielded=void 0;yieldWith($){return this._yielded=$,dH}children(){return this._children??=new Set}}var CC=_$("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var EC=Symbol.for("effect/Micro/identifier"),DZ=Symbol.for("effect/Micro/args"),lV=Symbol.for("effect/Micro/evaluate"),YX=Symbol.for("effect/Micro/successCont"),GX=Symbol.for("effect/Micro/failureCont"),oH=Symbol.for("effect/Micro/ensureCont"),dH=Symbol.for("effect/Micro/Yield"),Bn={_A:w$,_E:w$,_R:w$},Nn={...hw,_op:"Micro",[Un]:Bn,pipe(){return n(this,arguments)},[Symbol.iterator](){return new p4(new E9(this))},toJSON(){return{_id:"Micro",op:this[EC],...DZ in this?{args:this[DZ]}:void 0}},toString(){return k$(this)},[C$](){return k$(this)}};function _n($){return iV("Micro.evaluate: Not implemented")}var rH=($)=>({...Nn,[EC]:$.op,[lV]:$.eval??_n,[YX]:$.contA,[GX]:$.contE,[oH]:$.ensure}),aV=($)=>{let Z=rH($);return function(){let X=Object.create(Z);return X[DZ]=$.single===!1?arguments:arguments[0],X}},xC=($)=>{let Z={...rH($),[uH]:uH,_tag:$.op,get[$.prop](){return this[DZ]},toJSON(){return{_id:"MicroExit",_tag:$.op,[$.prop]:this[DZ]}},[G$](X){return Mn(X)&&X._tag===$.op&&s(this[DZ],X[DZ])},[Y$](){return R$(this,V$(u$($.op))(a(this[DZ])))}};return function(X){let J=Object.create(Z);return J[DZ]=X,J[YX]=void 0,J[GX]=void 0,J[oH]=void 0,J}},tV=xC({op:"Success",prop:"value",eval($){let Z=$.getCont(YX);return Z?Z[YX](this[DZ],$):$.yieldWith(this)}}),SC=xC({op:"Failure",prop:"cause",eval($){let Z=$.getCont(GX);while(Qn(this[DZ])&&Z&&$.interruptible)Z=$.getCont(GX);return Z?Z[GX](this[DZ],$):$.yieldWith(this)}});var Pn=aV({op:"Yield",eval($){let Z=!1;return $.getRef(lH).scheduleTask(()=>{if(Z)return;$.evaluate(wn)},this[DZ]??0),$.yieldWith(()=>{Z=!0})}}),Fn=Pn(0);var zn=tV(void 0);var eV=aV({op:"WithMicroFiber",eval($){return this[DZ]($)}});var nH=V(2,($,Z)=>{let X=Object.create(Tn);return X[DZ]=$,X[YX]=Z,X}),Tn=rH({op:"OnSuccess",eval($){return $._stack.push(this),this[DZ]}});var Mn=($)=>u($,uH),jC=tV,$Q=SC,ZQ=$Q(Vn());var iV=($)=>$Q(Kn($));var wn=jC(void 0);var Cn="setImmediate"in globalThis?globalThis.setImmediate:($)=>setTimeout($,0);class XQ{tasks=[];running=!1;scheduleTask($,Z){if(this.tasks.push($),!this.running)this.running=!0,Cn(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(IC)}flush(){while(this.tasks.length>0)this.runTasks()}}var Rn=V(2,($,Z)=>eV((X)=>{let J=X.context;return X.context=Z(J),En($,()=>{return X.context=J,zn})}));var kC=V(2,($,Z)=>Rn($,o8(Z)));class IC extends u6()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class lH extends u6()("effect/Micro/currentScheduler",{defaultValue:()=>new XQ}){}var Ln=V(2,($,Z)=>{let X=Object.create(qn);return X[DZ]=$,X[YX]=Z.onSuccess,X[GX]=Z.onFailure,X}),qn=rH({op:"OnSuccessAndFailure",eval($){return $._stack.push(this),this[DZ]}});var En=V(2,($,Z)=>Sn((X)=>Ln(X($),{onFailure:(J)=>nH(Z($Q(J)),()=>SC(J)),onSuccess:(J)=>nH(Z(jC(J)),()=>tV(J))})));var vC=aV({op:"SetInterruptible",ensure($){if($.interruptible=this[DZ],$._interrupted&&$.interruptible)return()=>ZQ}}),xn=($)=>eV((Z)=>{if(Z.interruptible)return $;if(Z.interruptible=!0,Z._stack.push(vC(!1)),Z._interrupted)return ZQ;return $}),Sn=($)=>eV((Z)=>{if(!Z.interruptible)return $(w$);return Z.interruptible=!1,Z._stack.push(vC(!0)),$(xn)});var yC=($,Z)=>{let X=new qC(lH.context(Z?.scheduler??new XQ));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 Q4=Symbol.for("effect/Readable");var BD$={[Q4]:Q4,pipe(){return n(this,arguments)}};var iH=Symbol.for("effect/Ref"),JQ={_A:($)=>$};class gC extends K4{ref;commit(){return this.get}[iH]=JQ;[Q4]=Q4;constructor($){super();this.ref=$,this.get=E(()=>l6(this.ref))}get;modify($){return E(()=>{let Z=l6(this.ref),[X,J]=$(Z);if(Z!==J)b9(J)(this.ref);return X})}}var WX=($)=>new gC(r6($)),R5=($)=>E(()=>WX($)),RZ=($)=>$.get,J9=V(2,($,Z)=>$.modify(()=>[void 0,Z])),hC=V(2,($,Z)=>$.modify((X)=>[X,Z]));var GQ=V(2,($,Z)=>$.modify(Z));var L5=V(2,($,Z)=>$.modify((X)=>[void 0,Z(X)]));var aH=R5,tH=RZ,mC=hC;var fC=L5;class eH{scheduleDrain;running=!1;tasks=new YQ;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 eH($),X=new WeakMap;return(J)=>{if(J===void 0)return Z;let G=X.get(J);if(G===void 0)G=new eH($),X.set(J,G);return G}}}class YQ{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 cC{maxNextTickBeforeTimer;getRunner=eH.cached(($,Z)=>{if($>=this.maxNextTickBeforeTimer)setTimeout(()=>Z(0),0);else Promise.resolve(void 0).then(()=>Z($+1))});constructor($){this.maxNextTickBeforeTimer=$}shouldYield($){return $.currentOpCount>$.getFiberRef(_H)?$.getFiberRef(l9):!1}scheduleTask($,Z,X){this.getRunner(X).scheduleTask($,Z)}}var dC=_$(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new cC(2048));class WQ{tasks=new YQ;deferred=!1;scheduleTask($,Z,X){if(this.deferred)dC.scheduleTask($,Z,X);else this.tasks.scheduleTask($,Z)}shouldYield($){return $.currentOpCount>$.getFiberRef(_H)?$.getFiberRef(l9):!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 e9=_$(Symbol.for("effect/FiberRef/currentScheduler"),()=>L0(dC)),uC=V(2,($,Z)=>R0($,e9,Z));var kn="effect/Clock",$D=Symbol.for(kn),tZ=WZ("effect/Clock"),In=2147483647,oC={unsafeSchedule($,Z){let X=MZ(Z);if(X>In)return JZ;let J=!1,G=setTimeout(()=>{J=!0,$()},X);return()=>{return clearTimeout(G),!J}}},nC=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))}}(),vn=function(){let $=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!$)return nC;let Z=nC()-$.bigint();return()=>Z+$.bigint()}();class rC{[$D]=$D;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return vn()}currentTimeMillis=E(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=E(()=>this.unsafeCurrentTimeNanos());scheduler(){return w(oC)}sleep($){return jZ((Z)=>{let X=oC.unsafeSchedule(()=>Z(T$),$);return z0(E(X))})}}var ZD=()=>new rC;var XD=_$(Symbol.for("effect/FiberRef/currentRequestMap"),()=>L0(new Map));var UQ=($,Z,X,J)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return CZ(FH,(G)=>G==="unbounded"?X():G>1?J(G):Z());default:return $>1?J($):Z()}},C2=($,Z,X)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return CZ(FH,(J)=>J==="unbounded"||J>1?X():Z());default:return $>1?X():Z()}};var lC=($)=>$.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var AQ="And",KQ="Or",VQ="InvalidData",QQ="MissingData",OQ="SourceUnavailable",BQ="Unsupported";var mn="effect/ConfigError",iC=Symbol.for(mn),HX={_tag:"ConfigError",[iC]:iC},NQ=($,Z)=>{let X=Object.create(HX);return X._op=AQ,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},_Q=($,Z)=>{let X=Object.create(HX);return X._op=KQ,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},fn=($,Z,X={pathDelim:"."})=>{let J=Object.create(HX);return J._op=VQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Invalid data at ${F(this.path,I9(X.pathDelim))}: "${this.message}")`}}),J},$1=($,Z,X={pathDelim:"."})=>{let J=Object.create(HX);return J._op=QQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Missing data at ${F(this.path,I9(X.pathDelim))}: "${this.message}")`}}),J},pn=($,Z,X,J={pathDelim:"."})=>{let G=Object.create(HX);return G._op=OQ,G.path=$,G.message=Z,G.cause=X,Object.defineProperty(G,"toString",{enumerable:!1,value(){return`(Source unavailable at ${F(this.path,I9(J.pathDelim))}: "${this.message}")`}}),G},cn=($,Z,X={pathDelim:"."})=>{let J=Object.create(HX);return J._op=BQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${F(this.path,I9(X.pathDelim))}: "${this.message}")`}}),J};var O4=V(2,($,Z)=>{switch($._op){case AQ:return NQ(O4($.left,Z),O4($.right,Z));case KQ:return _Q(O4($.left,Z),O4($.right,Z));case VQ:return fn([...Z,...$.path],$.message);case QQ:return $1([...Z,...$.path],$.message);case OQ:return pn([...Z,...$.path],$.message,$.cause);case BQ:return cn([...Z,...$.path],$.message)}});var aC={_tag:"Empty"};var JD=V(2,($,Z)=>{let X=vJ(Z),J=$;while(EK(X)){let G=X.head;switch(G._tag){case"Empty":{X=X.tail;break}case"AndThen":{X=g9(G.first,g9(G.second,X.tail));break}case"MapName":{J=c6(J,G.f),X=X.tail;break}case"Nested":{J=L7(J,G.name),X=X.tail;break}case"Unnested":{if(F(v1(J),h3(G.name)))J=p6(J),X=X.tail;else return f$($1(J,`Expected ${G.name} to be in path in ConfigProvider#unnested`));break}}}return S$(J)});var tC="Constant",eC="Fail",$R="Fallback",ZR="Described",XR="Lazy",JR="MapOrFail",GR="Nested",YR="Primitive",WR="Sequence",HR="HashMap",DR="ZipWith";var GD=($,Z)=>[...$,...Z],on="effect/ConfigProvider",UR=Symbol.for(on),DX=WZ("effect/ConfigProvider"),nn="effect/ConfigProviderFlat",AR=Symbol.for(nn),rn=($)=>({[UR]:UR,pipe(){return n(this,arguments)},...$}),ln=($)=>({[AR]:AR,patch:$.patch,load:(Z,X,J=!0)=>$.load(Z,X,J),enumerateChildren:$.enumerateChildren}),sn=($)=>rn({load:(Z)=>z($6($,N6(),Z,!1),(X)=>p0(v1(X),{onNone:()=>L$($1(N6(),`Expected a single value having structure: ${Z}`)),onSome:w})),flattened:$}),KR=($)=>{let{pathDelim:Z,seqDelim:X}=Object.assign({},{pathDelim:"_",seqDelim:","},$),J=(U)=>F(U,I9(Z)),G=(U)=>U.split(Z),Y=()=>typeof process<"u"&&("env"in process)&&typeof process.env==="object"?process.env:{};return sn(ln({load:(U,A,Q=!0)=>{let O=J(U),P=Y(),_=O in P?j(P[O]):x();return F(_,$4(()=>$1(U,`Expected ${O} to exist in the process context`)),z((T)=>Zr(T,U,A,X,Q)))},enumerateChildren:(U)=>E(()=>{let A=Y(),P=Object.keys(A).map((_)=>G(_.toUpperCase())).filter((_)=>{for(let T=0;T<U.length;T++){let M=F(U,p3(T)),S=_[T];if(S===void 0||M!==S)return!1}return!0}).flatMap((_)=>_.slice(U.length,U.length+1));return qW(P)}),patch:aC}))};var an=($,Z,X,J)=>{let G=n3(X.length,(U)=>U>=J.length?x():j([$(U),U+1])),Y=n3(J.length,(U)=>U>=X.length?x():j([Z(U),U+1])),W=GD(X,G),H=GD(J,Y);return[W,H]},tn=($,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 $},$6=($,Z,X,J)=>{let G=X;switch(G._tag){case tC:return w(lZ(G.value));case ZR:return H$(()=>$6($,Z,G.config,J));case eC:return L$($1(Z,G.message));case $R:return F(H$(()=>$6($,Z,G.first,J)),w6((Y)=>{if(G.condition(Y))return F($6($,Z,G.second,J),w6((W)=>L$(_Q(Y,W))));return L$(Y)}));case XR:return H$(()=>$6($,Z,G.config(),J));case JR:return H$(()=>F($6($,Z,G.original,J),z(OZ((Y)=>F(G.mapOrFail(Y),$4(O4(tn(Z,G.original))))))));case GR:return H$(()=>$6($,GD(Z,lZ(G.name)),G.config,J));case YR:return F(JD(Z,$.patch),z((Y)=>F($.load(Y,G,J),z((W)=>{if(W.length===0){let H=F(Vz(Y),c0(()=>"<n/a>"));return L$($1([],`Expected ${G.description} with name ${H}`))}return w(W)}))));case WR:return F(JD(Z,$.patch),z((Y)=>F($.enumerateChildren(Y),z(Jr),z((W)=>{if(W.length===0)return H$(()=>I($6($,Z,G.config,!0),lZ));return F(OZ(W,(H)=>$6($,Uz(Z,`[${H}]`),G.config,!0)),I((H)=>{let U=JW(H);if(U.length===0)return lZ(N6());return lZ(U)}))}))));case HR:return H$(()=>F(JD(Z,$.patch),z((Y)=>F($.enumerateChildren(Y),z((W)=>{return F(W,OZ((H)=>$6($,GD(Y,lZ(H)),G.valueConfig,J)),I((H)=>{if(H.length===0)return lZ(X5());return F(Xr(H),c6((U)=>kT(u3(P$(W),U))))}))})))));case DR:return H$(()=>F($6($,Z,G.left,J),i8,z((Y)=>F($6($,Z,G.right,J),i8,z((W)=>{if(w0(Y)&&w0(W))return L$(NQ(Y.left,W.left));if(w0(Y)&&m6(W))return L$(Y.left);if(m6(Y)&&w0(W))return L$(W.left);if(m6(Y)&&m6(W)){let H=F(Z,I9(".")),U=en(Z,H),[A,Q]=an(U,U,F(Y.right,c6(S$)),F(W.right,c6(S$)));return F(A,u3(Q),OZ(([O,P])=>F(Q5(O,P),I(([_,T])=>G.zip(_,T)))))}throw Error("BUG: ConfigProvider.fromFlatLoop - please report an issue at https://github.com/Effect-TS/effect/issues")})))))}},en=($,Z)=>(X)=>f$($1($,`The element at index ${X} in a sequence at path "${Z}" was missing`));var $r=($,Z)=>{return $.split(new RegExp(`\\s*${lC(Z)}\\s*`))},Zr=($,Z,X,J,G)=>{if(!G)return F(X.parse($),W2({onFailure:O4(Z),onSuccess:lZ}));return F($r($,J),OZ((Y)=>X.parse(Y.trim())),$4(O4(Z)))},Xr=($)=>{return Object.keys($[0]).map((Z)=>$.map((X)=>X[Z]))},Jr=($)=>F(OZ($,Yr),W2({onFailure:()=>N6(),onSuccess:D8(BZ)}),i8,I(l4));var Gr=/^(\[(\d+)\])$/,Yr=($)=>{let Z=$.match(Gr);if(Z!==null){let X=Z[2];return F(X!==void 0&&X.length>0?j(X):x(),rZ(Wr))}return x()};var Wr=($)=>{let Z=Number.parseInt($);return Number.isNaN(Z)?x():j(Z)};var q5={};T8(q5,{sleep:()=>VX,make:()=>Qr,currentTimeNanos:()=>FQ,currentTimeMillis:()=>G1,clockWith:()=>zQ,ClockTypeId:()=>Vr,Clock:()=>TQ});var VR=Symbol.for("effect/Console"),Z1=WZ("effect/Console"),QR={[VR]:VR,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 Dr="effect/Random",R2=Symbol.for(Dr),X1=WZ("effect/Random");class BR{seed;[R2]=R2;PRNG;constructor($){this.seed=$,this.PRNG=new M3($)}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 NR($,(Z)=>this.nextIntBetween(0,Z))}}var NR=($,Z)=>{return H$(()=>F(E(()=>Array.from($)),z((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)=>Ur(X,G-1,Y)))),i$(b1(X)))})))},Ur=($,Z,X)=>{let J=$[Z];return $[Z]=$[X],$[X]=J,$},PQ=($)=>new BR(a($));class _R{values;[R2]=R2;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 NR($,(Z)=>this.nextIntBetween(0,Z))}}var PR=($)=>new _R($);var zR=Symbol.for("effect/Tracer"),Ar=($)=>({[zR]:zR,...$}),J1=WZ("effect/Tracer"),gZ=WZ("effect/ParentSpan"),TR=function(){return function(X){let J="";for(let G=0;G<X;G++)J+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return J}}();class MR{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:TR(32),this.spanId=TR(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 wR=Ar({span:($,Z,X,J,G,Y)=>new MR($,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}}}},UX=u6()("effect/Tracer/DisablePropagation",{defaultValue:JZ});var Kr=F(VZ(),e$(tZ,ZD()),e$(Z1,QR),e$(X1,PQ(Math.random())),e$(DX,KR()),e$(J1,wR)),M0=_$(Symbol.for("effect/DefaultServices/currentServices"),()=>NH(Kr)),CR=($)=>{let Z=Y0($);return L2((X)=>X.sleep(Z))},YD=($)=>x$((Z)=>$(Z.currentDefaultServices)),L2=($)=>YD((Z)=>$(Z.unsafeMap.get(tZ.key))),RR=L2(($)=>$.currentTimeMillis),LR=L2(($)=>$.currentTimeNanos),qR=V(2,($,Z)=>a0(M0,e$(tZ,Z))($)),ER=V(2,($,Z)=>a0(M0,e$(DX,Z))($)),xR=($)=>YD((Z)=>$(Z.unsafeMap.get(DX.key)));var KX=($)=>YD((Z)=>$(Z.unsafeMap.get(X1.key))),SR=V(2,($,Z)=>a0(M0,e$(X1,Z))($)),jR=KX(($)=>$.next);var WD=($)=>YD((Z)=>$(Z.unsafeMap.get(J1.key))),kR=V(2,($,Z)=>a0(M0,e$(J1,Z))($));var Vr=$D,Qr=ZD,VX=CR,G1=RR,FQ=LR,zQ=L2,TQ=tZ;var IR=($,Z)=>({label:$,startTime:Z}),MQ=($)=>$.replace(/[\s="]/g,"_"),wQ=($)=>(Z)=>{return`${MQ(Z.label)}=${$-Z.startTime}ms`};var yR=IR;var bR=WD;var gR="effect/MetricLabel",CQ=Symbol.for(gR);class hR{key;value;[CQ]=CQ;_hash;constructor($,Z){this.key=$,this.value=Z,this._hash=u$(gR+this.key+this.value)}[Y$](){return this._hash}[G$]($){return Nr($)&&this.key===$.key&&this.value===$.value}pipe(){return n(this,arguments)}}var E5=($,Z)=>{return new hR($,Z)},Nr=($)=>u($,CQ);var mR=V(($)=>c$($[0]),function(){let $=arguments;return a0($[0],i9,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),QX=($)=>I($,j),fR=($)=>$4($,j),LQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;return H$(()=>{try{return w(E0(Z))}catch(J){return L$(X?E0(()=>X(J)):new F5(J,"An unknown error occurred in Effect.try"))}})},pR=V(3,($,Z,X)=>w6($,(J)=>{if(u(J,Z)&&J[Z]===X.failure)return X.onFailure(J);return L$(J)})),cR=V(2,($,Z)=>e6($,(X)=>{let J=a6(X,(G)=>Y5(G)?j(G):x());switch(J._tag){case"None":return E$(X);case"Some":return Z(J.value.defect)}})),dR=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=Z(X);switch(J._tag){case"None":return E$(X);case"Some":return J.value}},onSuccess:w})),uR=V(2,($,Z)=>e6($,(X)=>{let J=a6(X,(G)=>Y5(G)?j(G):x());switch(J._tag){case"None":return E$(X);case"Some":{let G=Z(J.value.defect);return G._tag==="Some"?G.value:E$(X)}}})),oR=V(($)=>c$($[0]),($,...Z)=>{let X=Z[Z.length-1],J;if(Z.length===2)J=k1(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 G2($,J,X)}),nR=V(2,($,Z)=>{let X;return G2($,(J)=>{return X??=Object.keys(Z),u(J,"_tag")&&AJ(J._tag)&&X.includes(J._tag)},(J)=>Z[J._tag](J))}),rR=($)=>Y2($,{onFailure:w$,onSuccess:()=>u0}),G9=zQ,lR=G9(w),iR=V(2,($,Z)=>j$(VX(Z),$)),UD=($)=>x$((Z,X)=>$({id:Z.id(),status:X,interruptors:H5(Z.getFiberRef(N5))})),sR=UD(($)=>y9($.interruptors)>0?AH:T$),aR=UD(w),OX=($)=>S2($,AD,M2),_r=($)=>S2($,Q5(AD,s7),([Z,X],[J,G])=>[M2(Z,J),l8(X,G)]),tR=w({}),eR=N7(I,z),$L=B7(I),ZL=O7(I),XL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=w(!1),W=0;while((G=X.next())&&!G.done){let H=G.value,U=W++;Y=z(Y,(A)=>{if(A)return J.push(H),w(!0);return Z(H,U)})}return I(Y,()=>J)})),JL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=w(!0),W=0;while((G=X.next())&&!G.done){let H=G.value,U=W++;Y=z(Y,(A)=>I(A?Z(H,U):w(!1),(Q)=>{if(!Q)J.push(H);return Q}))}return I(Y,()=>J)})),GL=($)=>I(_8(),$),qQ=($)=>K5($,()=>z(X9(),()=>qQ($))),YL=V(2,($,Z)=>I(OZ($,w$),q7(Z))),WL=V(3,($,Z,X)=>q2($,Z,(J)=>L8(()=>X(J)))),HL=V(3,($,Z,X)=>q2($,Z,()=>a1(X))),q2=V(3,($,Z,X)=>z($,(J)=>Z(J)?w(J):X(J))),DL=V(3,($,Z,X)=>H$(()=>Z($)?w($):L$(X($)))),UL=V(($)=>c$($[0]),($,Z,X)=>q2($,Z,(J)=>X===void 0?L$(new yZ):s8(()=>X(J)))),AL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=X.next();if(!J.done)return KL(X,0,Z,J.value);return w(x())})),KL=($,Z,X,J)=>z(X(J,Z),(G)=>{if(G)return w(j(J));let Y=$.next();if(!Y.done)return KL($,Z+1,X,Y.value);return w(x())}),VL=($)=>H$(()=>{let Z=b1($);if(!H0(Z))return L8(()=>new a8("Received an empty collection of effects"));return F(D0(Z),y1(g$(Z),(X,J)=>K5(X,()=>J)))}),QL=V(2,($,Z)=>e1(Z(e1($)))),E2=V(2,($,Z)=>s0($,{onFailure:(X)=>w(Z.onFailure(X)),onSuccess:(X)=>w(Z.onSuccess(X))})),OL=V(2,($,Z)=>H$(()=>BL($[Symbol.iterator](),0,Z))),BL=($,Z,X)=>{let J=$.next();return J.done?w(!0):z(X(J.value,Z),(G)=>G?BL($,Z+1,X):w(G))},EQ=($)=>{let Z=z(z($,()=>X9()),()=>Z);return Z},AD=x$(($)=>w($.getFiberRefs())),NL=($)=>z($,(Z)=>{let J=Z[Symbol.iterator]().next();if(J.done)return L$(new yZ);return w(J.value)}),KD=($)=>E2($,{onFailure:TZ,onSuccess:TZ}),_L=($)=>B0($,{onFailure:(Z)=>SQ(Z,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>T$}),PL=($)=>QD((Z,X)=>iw(X,Z,$)),FL=($)=>E2($,{onFailure:g6,onSuccess:JZ}),zL=($)=>E2($,{onFailure:JZ,onSuccess:g6}),xQ=($,Z)=>H$(()=>{if(Z.while($))return z(Z.body($),(X)=>xQ(X,Z));return w($)}),Y1=($)=>(...Z)=>{let X=H8($),J=void 0;for(let G=0,Y=Z.length;G<Y;G++){let W=Z[G];if(pJ(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),T$})},TL=Y1(),ML=Y1(oV),SQ=Y1(uV),wL=Y1(dV),CL=Y1(cV),RL=Y1(pV),LL=Y1(fV),qL=V(2,($,Z)=>z(G1,(X)=>a0($,PH,fW(yR(Z,X))))),EL=E8(i9),xL=($,Z)=>Z.discard?jL($,Z.while,Z.step,Z.body):I(SL($,Z.while,Z.step,Z.body),P$),SL=($,Z,X,J)=>H$(()=>Z($)?z(J($),(G)=>I(SL(X($),Z,X,J),fW(G))):E(()=>s6())),jL=($,Z,X,J)=>H$(()=>Z($)?z(J($),()=>jL(X($),Z,X,J)):T$),kL=V(3,($,Z,X)=>H$(()=>{let J=$[Symbol.iterator](),G=[],Y=w(Z),W,H=0;while(!(W=J.next()).done){let U=H++,A=W.value;Y=z(Y,(Q)=>I(X(Q,A,U),([O,P])=>{return G.push(P),O}))}return I(Y,(U)=>[U,G])})),BX=V(2,($,Z)=>B0($,{onFailure:(X)=>u9(()=>Z(X)),onSuccess:w})),VD=($)=>F(N8(),z((Z)=>F(_r($),$9(Z),jQ,I((X)=>j$(X,F(HZ(Z),z(([J,G])=>i$(Q5(x5(J[0]),Z4(J[1])),G)))))))),IL=($)=>s0($,{onFailure:(Z)=>w(Z),onSuccess:w}),x2=($)=>I($,(Z)=>!Z),vL=($)=>z($,(Z)=>{switch(Z._tag){case"None":return T$;case"Some":return L$(new yZ)}}),jQ=($)=>I(aH(!0),(Z)=>z0(a7($,mC(Z,!1)))),yL=($)=>s0($,{onFailure:()=>w(x()),onSuccess:(Z)=>w(j(Z))}),bL=V(2,($,Z)=>K5($,()=>s8(Z))),gL=V(2,($,Z)=>K5($,()=>E(Z))),hL=($)=>B0($,{onFailure:(Z)=>{let X=P$(d7(Z));return X.length===0?E$(Z):L$(X)},onSuccess:w}),x5=($)=>QD((Z,X)=>F($,hH(Z,X))),mL=($)=>$.length>=1?jZ((Z,X)=>{try{$(X).then((J)=>Z(w(J)),(J)=>Z(wZ(J)))}catch(J){Z(wZ(J))}}):jZ((Z)=>{try{$().then((X)=>Z(w(X)),(X)=>Z(wZ(X)))}catch(X){Z(wZ(X))}}),N4=V(3,($,Z,X)=>S8((J)=>aZ($,e$(J,Z,X)))),_4=V(3,($,Z,X)=>S8((J)=>z(X,(G)=>aZ($,F(J,e$(Z,G)))))),fL=KX(w),pL=V(3,($,Z,X)=>P$($).reduce((J,G,Y)=>z(J,(W)=>X(W,G,Y)),w(Z))),cL=V(3,($,Z,X)=>P$($).reduceRight((J,G,Y)=>z(J,(W)=>X(G,W,Y)),w(Z))),dL=V(3,($,Z,X)=>z(E(()=>$[Symbol.iterator]()),(J)=>uL(J,0,Z,X.while,X.body))),uL=($,Z,X,J,G)=>{let Y=$.next();if(!Y.done&&J(X))return z(G(X,Y.value,Z),(W)=>uL($,Z+1,W,J,G));return w(X)},oL=V(2,($,Z)=>H$(()=>nL($,Z))),nL=($,Z)=>z($,(X)=>Z<=0?w(X):j$(X9(),nL($,Z-1))),rL=($)=>B0($,{onFailure:L$,onSuccess:w}),lL=($)=>H$(()=>sw($)),S5=VX,j5=w(x()),iL=($)=>w(j($)),S2=V(3,($,Z,X)=>z(Z,(J)=>z($,(G)=>I(Z,(Y)=>[X(J,Y),G])))),sL=V(($)=>c$($[0]),function(){return kQ(arguments[0],typeof arguments[1]==="string"?[E5(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([$,Z])=>E5($,Z)))}),kQ=V(2,($,Z)=>a0($,s9,(X)=>B6(X,Z))),aL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=w(!1),W=0;while((G=X.next())&&!G.done){let H=G.value,U=W++;Y=z(Y,(A)=>{if(A)return w(!0);return J.push(H),Z(H,U)})}return I(Y,()=>J)})),tL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=w(!0),W=0;while((G=X.next())&&!G.done){let H=G.value,U=W++;Y=z(Y,(A)=>F(A?Z(H,U):w(!1),I((Q)=>{if(Q)J.push(H);return Q})))}return I(Y,()=>J)})),eL=V(2,($,{onFailure:Z,onSuccess:X})=>B0($,{onFailure:(J)=>{let G=T6(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)=>e6($,(X)=>p0(ZH(X),{onNone:()=>E$(X),onSome:(J)=>j$(Z(J),E$(X))}))),IQ=V(2,($,Z)=>B0($,{onFailure:(X)=>{let J=T6(X);switch(J._tag){case"Left":return j$(Z(J.left),E$(X));case"Right":return E$(X)}},onSuccess:w})),Zq=V(3,($,Z,X)=>IQ($,(J)=>{if(k1(J,Z))return X(J);return T$})),Xq=V(2,($,Z)=>B0($,{onFailure:(X)=>j$(Z(X),E$(X)),onSuccess:w})),Jq=($)=>vQ($,FQ),vQ=V(2,($,Z)=>S2($,Z,(X,J)=>LJ(J-X))),Pr=bR,Gq=Pr(w),yQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;let J=(G)=>X?s8(()=>X(G)):L$(new F5(G,"An unknown error occurred in Effect.tryPromise"));if(Z.length>=1)return jZ((G,Y)=>{try{Z(Y).then((W)=>G(w(W)),(W)=>G(J(W)))}catch(W){G(J(W))}});return jZ((G)=>{try{Z().then((Y)=>G(w(Y)),(Y)=>G(J(Y)))}catch(Y){G(J(Y))}})},Yq=V(2,($,Z)=>z($,(X)=>LQ({try:()=>Z.try(X),catch:Z.catch}))),Wq=V(2,($,Z)=>z($,(X)=>yQ({try:Z.try.length>=1?(J)=>Z.try(X,J):()=>Z.try(X),catch:Z.catch}))),Hq=V(2,($,Z)=>H$(()=>Z()?j5:QX($))),Dq=V(2,($,Z)=>z(Z,(X)=>X?j5:QX($))),Uq=($)=>BX($,XH),QD=($)=>x$((Z)=>{return Z.setFiberRefs($(Z.id(),Z.getFiberRefs())),T$}),Aq=V(3,($,Z,X)=>U4($,(J)=>e$(J,Z,X(u8(J,Z))))),OD=V(2,($,Z)=>H$(()=>Z()?I($,j):w(x()))),Kq=V(3,($,Z,X)=>z(E8(Z),(J)=>X(J)?I($,(G)=>[J,j(G)]):w([J,x()]))),Vq=V(3,($,Z,X)=>z(tH(Z),(J)=>X(J)?I($,(G)=>[J,j(G)]):w([J,x()]))),Qq=V(2,($,Z)=>Z($)),Oq=($,Z)=>(...X)=>z($,(J)=>Z(J)(...X)),Bq=($,Z)=>(...X)=>I($,(J)=>Z(J)(...X)),bQ=($)=>new Proxy({},{get(Z,X,J){return(...G)=>z($,(Y)=>Y[X](...G))}}),gQ=($)=>new Proxy({},{get(Z,X,J){return z($,(G)=>c$(G[X])?G[X]:w(G[X]))}}),Nq=($)=>({functions:bQ($),constants:gQ($)}),_q=($)=>I(_8(),R8($)),hQ=($)=>z(_8(),R8($)),Pq=function(){let $=arguments;return KD(z(fQ,(Z)=>E(()=>{if(typeof $[0]==="string")Z.attribute($[0],$[1]);else for(let X in $[0])Z.attribute(X,$[0][X])})))},Fq=function(){let $=arguments,Z=Array.isArray($[0])?$[0]:[{_tag:"SpanLink",span:$[0],attributes:$[1]??{}}];return KD(z(mQ,(X)=>E(()=>X.addLinks(Z))))},zq=V(($)=>c$($[0]),function(){let $=arguments;return a0($[0],e7,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),Tq=hQ(gZ),mQ=z(_8(),($)=>{let Z=$.unsafeMap.get(gZ.key);return Z!==void 0&&Z._tag==="Span"?w(Z):L$(new yZ)}),fQ=z(_8(),($)=>{let Z=j2(R8($,gZ));return Z._tag==="Some"&&Z.value._tag==="Span"?w(Z.value):L$(new yZ)}),Mq=V(($)=>c$($[0]),($,Z,X)=>a0($,TH,x7({_tag:"SpanLink",span:Z,attributes:X??{}}))),wq=BigInt(0),j2=rZ(($)=>l0($.context,UX)?$._tag==="Span"?j2($.parent):x():j($)),BD=($,Z,X)=>{let J=!$.getFiberRef(U2)||X.context&&l0(X.context,UX),G=$.getFiberRef(B8),Y=X.parent?j(X.parent):X.root?x():j2(R8(G,gZ)),W;if(J)W=bw({name:Z,parent:Y,context:e$(X.context??VZ(),UX,!0)});else{let H=$.getFiberRef(M0),U=l0(H,J1),A=l0(H,TQ),Q=$.getFiberRef(Y4),O=$.getFiberRefs(),P=yV(O,e7),_=yV(O,TH),T=_._tag==="Some"?X.links!==void 0?[...c8(_.value),...X.links??[]]:c8(_.value):X.links??N6();if(W=U.span(Z,Y,X.context??VZ(),T,Q?A.unsafeCurrentTimeNanos():wq,X.kind??"internal",X),P._tag==="Some")gT(P.value,(M,S)=>W.attribute(S,M));if(X.attributes!==void 0)Object.entries(X.attributes).forEach(([M,S])=>W.attribute(M,S))}if(typeof X.captureStackTrace==="function")uJ.set(W,X.captureStackTrace);return W},Cq=($,Z)=>{return Z=j8(Z),x$((X)=>w(BD(X,$,Z)))},Rq=E8(e7),Lq=E8(TH),pQ=($,Z,X,J)=>E(()=>{if($.status._tag==="Ended")return;if(CH(Z)&&uJ.has($))$.attribute("code.stacktrace",uJ.get($)());$.end(J?X.unsafeCurrentTimeNanos():wq,Z)}),HD=($,...Z)=>{let X=j8(Z.length===1?void 0:Z[0]),J=Z[Z.length-1];return x$((G)=>{let Y=BD(G,$,X),W=G.getFiberRef(Y4),H=l0(G.getFiberRef(M0),tZ);return iZ(J(Y),(U)=>pQ(Y,U,H,W))})},DD=V(2,($,Z)=>N4($,gZ,Z)),cQ=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return HD(Z,X,(G)=>DD(J,G))}return(J)=>HD(Z,X,(G)=>DD(J,G))},qq=($)=>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 H$(()=>{let X=typeof $.options==="function"?$.options.apply(null,arguments):$.options;return cQ(H$(()=>E0(()=>$.body.apply(this,arguments))),X.name,{...X,captureStackTrace:Z})})},Eq=($)=>$==null?L$(new yZ):w($),xq=($)=>w6(I($,j),(Z)=>wH(Z)?j5:L$(Z));var dQ="InterruptSignal",uQ="Stateful",oQ="Resume",nQ="YieldNow",ND=($)=>({_tag:"InterruptSignal",cause:$}),_X=($)=>({_tag:"Stateful",onFiber:$}),k5=($)=>({_tag:"Resume",effect:$}),Sq=()=>({_tag:"YieldNow"});var
|
|
27
|
-
Status: ${O}`})),aQ=()=>Array.from(C6.roots),sq=E(aQ),aq=($)=>$.status,tQ=($)=>I5(F2($)),tq=tQ(void 0);var H1="effect/FiberCurrent",eq=()=>H8(globalThis[H1]);var Rl="effect/Logger",$E=Symbol.for(Rl),ZE={_Message:($)=>$,_Output:($)=>$},CD=($)=>({[$E]:ZE,log:$,pipe(){return n(this,arguments)}});var $U$={[$E]:ZE,log:TZ,pipe(){return n(this,arguments)}};var Ll=/^[^\s"=]*$/,ql=($,Z)=>({annotations:X,cause:J,date:G,fiberId:Y,logLevel:W,message:H,spans:U})=>{let A=(T)=>T.match(Ll)?T:$(T),Q=(T,M)=>`${MQ(T)}=${A(M)}`,O=(T,M)=>" "+Q(T,M),P=Q("timestamp",G.toISOString());P+=O("level",W.label),P+=O("fiber",yW(Y));let _=Dz(H);for(let T=0;T<_.length;T++)P+=O("message",x9(_[T],Z));if(!$H(J))P+=O("cause",M6(J,{renderErrorCause:!0}));for(let T of U)P+=" "+wQ(G.getTime())(T);for(let[T,M]of X)P+=O(T,x9(M,Z));return P},El=($)=>`"${$.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,XE=CD(ql(El));var v5={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},ZU$={None:[],All:[],Trace:[v5.gray],Debug:[v5.blue],Info:[v5.green],Warning:[v5.yellow],Error:[v5.red],Fatal:[v5.bgBrightRed,v5.black]};var JE=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,XU$=JE&&process.stdout.isTTY===!0,JU$=JE||"Deno"in globalThis;var GE="effect/MetricBoundaries",$O=Symbol.for(GE);class YE{values;[$O]=$O;constructor($){this.values=$,this._hash=F(u$(GE),V$(n0(this.values)))}_hash;[Y$](){return this._hash}[G$]($){return Sl($)&&s(this.values,$.values)}pipe(){return n(this,arguments)}}var Sl=($)=>u($,$O),jl=($)=>{let Z=F($,f3(S0(Number.POSITIVE_INFINITY)),l3);return new YE(Z)};var WE=($)=>F(m3($.count-1,(Z)=>$.start*Math.pow($.factor,Z)),CJ,jl);var Il="effect/MetricKeyType",HE=Symbol.for(Il),DE="effect/MetricKeyType/Counter",ZO=Symbol.for(DE),vl="effect/MetricKeyType/Frequency",yl=Symbol.for(vl),bl="effect/MetricKeyType/Gauge",gl=Symbol.for(bl),UE="effect/MetricKeyType/Histogram",XO=Symbol.for(UE),hl="effect/MetricKeyType/Summary",ml=Symbol.for(hl),AE={_In:($)=>$,_Out:($)=>$};class KE{incremental;bigint;[HE]=AE;[ZO]=ZO;constructor($,Z){this.incremental=$,this.bigint=Z,this._hash=u$(DE)}_hash;[Y$](){return this._hash}[G$]($){return JO($)}pipe(){return n(this,arguments)}}class VE{boundaries;[HE]=AE;[XO]=XO;constructor($){this.boundaries=$,this._hash=F(u$(UE),V$(a(this.boundaries)))}_hash;[Y$](){return this._hash}[G$]($){return GO($)&&s(this.boundaries,$.boundaries)}pipe(){return n(this,arguments)}}var QE=($)=>new KE($?.incremental??!1,$?.bigint??!1);var OE=($)=>{return new VE($)};var JO=($)=>u($,ZO),BE=($)=>u($,yl),NE=($)=>u($,gl),GO=($)=>u($,XO),_E=($)=>u($,ml);var fl="effect/MetricKey",FE=Symbol.for(fl),pl={_Type:($)=>$},cl=E7(s);class RD{name;keyType;description;tags;[FE]=pl;constructor($,Z,X,J=[]){this.name=$,this.keyType=Z,this.description=X,this.tags=J,this._hash=F(u$(this.name+this.description),V$(a(this.keyType)),V$(n0(this.tags)))}_hash;[Y$](){return this._hash}[G$]($){return dl($)&&this.name===$.name&&s(this.keyType,$.keyType)&&s(this.description,$.description)&&cl(this.tags,$.tags)}pipe(){return n(this,arguments)}}var dl=($)=>u($,FE),zE=($,Z)=>new RD($,QE(Z),H8(Z?.description));var TE=($,Z,X)=>new RD($,OE(Z),H8(X));var ME=V(2,($,Z)=>Z.length===0?$:new RD($.name,$.keyType,$.description,B6($.tags,Z)));var wE=Symbol.for("effect/MutableHashMap"),ol={[wE]:wE,[Symbol.iterator](){return new YO(this)},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(y$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}};class YO{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 YO(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 D1=()=>{let $=Object.create(ol);return $.referential=new Map,$.buckets=new Map,$.bucketsSize=0,$};var N0=V(2,($,Z)=>{if(_7(Z)===!1)return $.referential.has(Z)?j($.referential.get(Z)):x();let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return x();return nl($,J,Z)});var nl=($,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 x()},k8=V(2,($,Z)=>p$(N0($,Z))),hZ=V(3,($,Z,X)=>{if(_7(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 RE($,G,Z),G.push([Z,X]),$.bucketsSize++,$}),RE=($,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 U1=V(2,($,Z)=>{if(_7(Z)===!1)return $.referential.delete(Z),$;let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return $;if(RE($,J,Z),J.length===0)$.buckets.delete(X);return $});var y5=($)=>{return $.referential.size+$.bucketsSize};var ll="effect/MetricState",y2=Symbol.for(ll),LE="effect/MetricState/Counter",WO=Symbol.for(LE),qE="effect/MetricState/Frequency",HO=Symbol.for(qE),EE="effect/MetricState/Gauge",DO=Symbol.for(EE),xE="effect/MetricState/Histogram",UO=Symbol.for(xE),SE="effect/MetricState/Summary",AO=Symbol.for(SE),b2={_A:($)=>$};class jE{count;[y2]=b2;[WO]=WO;constructor($){this.count=$}[Y$](){return F(a(LE),V$(a(this.count)),R$(this))}[G$]($){return il($)&&this.count===$.count}pipe(){return n(this,arguments)}}var rl=E7(s);class kE{occurrences;[y2]=b2;[HO]=HO;constructor($){this.occurrences=$}_hash;[Y$](){return F(u$(qE),V$(n0(P$(this.occurrences.entries()))),R$(this))}[G$]($){return sl($)&&rl(P$(this.occurrences.entries()),P$($.occurrences.entries()))}pipe(){return n(this,arguments)}}class IE{value;[y2]=b2;[DO]=DO;constructor($){this.value=$}[Y$](){return F(a(EE),V$(a(this.value)),R$(this))}[G$]($){return al($)&&this.value===$.value}pipe(){return n(this,arguments)}}class vE{buckets;count;min;max;sum;[y2]=b2;[UO]=UO;constructor($,Z,X,J,G){this.buckets=$,this.count=Z,this.min=X,this.max=J,this.sum=G}[Y$](){return F(a(xE),V$(a(this.buckets)),V$(a(this.count)),V$(a(this.min)),V$(a(this.max)),V$(a(this.sum)),R$(this))}[G$]($){return tl($)&&s(this.buckets,$.buckets)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return n(this,arguments)}}class yE{error;quantiles;count;min;max;sum;[y2]=b2;[AO]=AO;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(SE),V$(a(this.error)),V$(a(this.quantiles)),V$(a(this.count)),V$(a(this.min)),V$(a(this.max)),V$(a(this.sum)),R$(this))}[G$]($){return el($)&&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 bE=($)=>new jE($),gE=($)=>{return new kE($)},hE=($)=>new IE($),mE=($)=>new vE($.buckets,$.count,$.min,$.max,$.sum),fE=($)=>new yE($.error,$.quantiles,$.count,$.min,$.max,$.sum);var il=($)=>u($,WO),sl=($)=>u($,HO),al=($)=>u($,DO),tl=($)=>u($,UO),el=($)=>u($,AO);var Zr="effect/MetricHook",Xr=Symbol.for(Zr),Jr={_In:($)=>$,_Out:($)=>$},g2=($)=>({[Xr]:Jr,pipe(){return n(this,arguments)},...$});var pE=BigInt(0),dE=($)=>{let Z=$.keyType.bigint?pE:0,X=$.keyType.incremental?$.keyType.bigint?(G)=>G>=pE:(G)=>G>=0:(G)=>!0,J=(G)=>{if(X(G))Z=Z+G};return g2({get:()=>bE(Z),update:J,modify:J})},uE=($)=>{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 g2({get:()=>gE(Z),update:X,modify:X})},oE=($,Z)=>{let X=Z;return g2({get:()=>hE(X),update:(J)=>{X=J},modify:(J)=>{X=X+J}})},nE=($)=>{let Z=$.keyType.boundaries.values,X=Z.length,J=new Uint32Array(X+1),G=new Float64Array(X),Y=0,W=0,H=Number.MAX_VALUE,U=Number.MIN_VALUE;F(Z,D8(BZ),c6((O,P)=>{G[P]=O}));let A=(O)=>{let P=0,_=X;while(P!==_){let T=Math.floor(P+(_-P)/2),M=G[T];if(O<=M)_=T;else P=T;if(_===P+1)if(O<=G[P])_=P;else P=_}if(J[P]=J[P]+1,Y=Y+1,W=W+O,O<H)H=O;if(O>U)U=O},Q=()=>{let O=MJ(X),P=0;for(let _=0;_<X;_++){let T=G[_],M=J[_];P=P+M,O[_]=[T,P]}return O};return g2({get:()=>mE({buckets:Q(),count:Y,min:H,max:U,sum:W}),update:A,modify:A})},lE=($)=>{let{error:Z,maxAge:X,maxSize:J,quantiles:G}=$.keyType,Y=F(G,D8(BZ)),W=MJ(J),H=0,U=0,A=0,Q=0,O=0,P=(T)=>{let M=[],S=0;while(S!==J-1){let K$=W[S];if(K$!=null){let[r,J$]=K$,B$=xZ(T-r);if(AW(B$,K8)&&oz(B$,X))M.push(J$)}S=S+1}return Gr(Z,Y,D8(M,BZ))},_=(T,M)=>{if(J>0){H=H+1;let S=H%J;W[S]=[M,T]}Q=U===0?T:Math.min(Q,T),O=U===0?T:Math.max(O,T),U=U+1,A=A+T};return g2({get:()=>fE({error:Z,quantiles:P(Date.now()),count:U,min:Q,max:O,sum:A}),update:([T,M])=>_(T,M),modify:([T,M])=>_(T,M)})},Gr=($,Z,X)=>{let J=X.length;if(!EZ(Z))return N6();let G=Z[0],Y=Z.slice(1),W=cE($,J,x(),0,G,X),H=rZ(W);return Y.forEach((U)=>{H.push(cE($,J,W.value,W.consumed,U,W.rest))}),c6(H,(U)=>[U.quantile,U.value])},cE=($,Z,X,J,G,Y)=>{let W=$,H=Z,U=X,A=J,Q=G,O=Y,P=$,_=Z,T=X,M=J,S=G,K$=Y;while(!0){if(!EZ(O))return{quantile:Q,value:x(),consumed:A,rest:[]};if(Q===1)return{quantile:Q,value:j(c3(O)),consumed:A+O.length,rest:[]};let r=KZ(O),J$=Qz(O,(v$)=>v$===r),B$=Q*H,h$=W/2*B$,A$=A+J$[0].length,m$=Math.abs(A$-B$);if(A$<B$-h$){P=W,_=H,T=v1(O),M=A$,S=Q,K$=J$[1],W=P,H=_,U=T,A=M,Q=S,O=K$;continue}if(A$>B$+h$){let v$=I$(U)?j(r):U;return{quantile:Q,value:v$,consumed:A,rest:O}}switch(U._tag){case"None":{P=W,_=H,T=v1(O),M=A$,S=Q,K$=J$[1],W=P,H=_,U=T,A=M,Q=S,O=K$;continue}case"Some":{let v$=Math.abs(B$-U.value);if(m$<v$){P=W,_=H,T=v1(O),M=A$,S=Q,K$=J$[1],W=P,H=_,U=T,A=M,Q=S,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 Wr="effect/MetricPair",Hr=Symbol.for(Wr),Dr={_Type:($)=>$};var rE=($,Z)=>{return{[Hr]:Dr,metricKey:$,metricState:Z,pipe(){return n(this,arguments)}}};var Ar="effect/MetricRegistry",iE=Symbol.for(Ar);class sE{[iE]=iE;map=D1();snapshot(){let $=[];for(let[Z,X]of this.map)$.push(rE(Z,X.get()));return $}get($){let Z=F(this.map,N0($),l0);if(Z==null){if(JO($.keyType))return this.getCounter($);if(NE($.keyType))return this.getGauge($);if(BE($.keyType))return this.getFrequency($);if(GO($.keyType))return this.getHistogram($);if(_E($.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($),l0);if(Z==null){let X=dE($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getFrequency($){let Z=F(this.map,N0($),l0);if(Z==null){let X=uE($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getGauge($){let Z=F(this.map,N0($),l0);if(Z==null){let X=oE($,$.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($),l0);if(Z==null){let X=nE($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}getSummary($){let Z=F(this.map,N0($),l0);if(Z==null){let X=lE($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}}var aE=()=>{return new sE};var Vr="effect/Metric",Qr=Symbol.for(Vr),Or={_Type:($)=>$,_In:($)=>$,_Out:($)=>$},tE=_$(Symbol.for("effect/Metric/globalMetricRegistry"),()=>aE()),eE=function($,Z,X,J){let G=Object.assign((Y)=>IZ(Y,(W)=>Nr(G,W)),{[Qr]:Or,keyType:$,unsafeUpdate:Z,unsafeValue:X,unsafeModify:J,register(){return this.unsafeValue([]),this},pipe(){return n(this,arguments)}});return G};var h2=($,Z)=>$x(zE($,Z));var $x=($)=>{let Z,X=new WeakMap,J=(G)=>{if(G.length===0){if(Z!==void 0)return Z;return Z=tE.get($),Z}let Y=X.get(G);if(Y!==void 0)return Y;return Y=tE.get(ME($,G)),X.set(G,Y),Y};return eE($.keyType,(G,Y)=>J(Y).update(G),(G)=>J(G).get(),(G,Y)=>J(Y).modify(G))};var Zx=($,Z,X)=>$x(TE($,Z,X));var Xx=V(3,($,Z,X)=>Br($,[E5(Z,X)]));var Br=V(2,($,Z)=>{return eE($.keyType,(X,J)=>$.unsafeUpdate(X,B6(Z,J)),(X)=>$.unsafeValue(B6(Z,X)),(X,J)=>$.unsafeModify(X,B6(Z,J)))});var Nr=V(2,($,Z)=>CZ(s9,(X)=>E(()=>$.unsafeUpdate(Z,X))));var Pr="effect/Request",KO=Symbol.for(Pr),Fr={_E:($)=>$,_A:($)=>$},yU$={...C7,[KO]:Fr},Jx=($)=>u($,KO);var VO=V(2,($,Z)=>CZ(XD,(X)=>E(()=>{if(X.has($)){let J=X.get($);if(!J.state.completed)J.state.completed=!0,XX(J.result,Z)}})));class m2{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 Tr="effect/Supervisor",f2=Symbol.for(Tr),qD={_T:($)=>$};class p2{underlying;value0;[f2]=qD;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 p2(this,F(this.value,I($)))}zip($){return new c2(this,$)}}class c2{left;right;_tag="Zip";[f2]=qD;constructor($,Z){this.left=$,this.right=Z}get value(){return Q5(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 p2(this,F(this.value,I($)))}zip($){return new c2(this,$)}}var QO=($)=>u($,f2)&&k1($,"Zip");class Gx{[f2]=qD;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 p2(this,F(this.value,I($)))}zip($){return new c2(this,$)}onRun($,Z){return $()}}class Yx{effect;[f2]=qD;constructor($){this.effect=$}get value(){return this.effect}onStart($,Z,X,J){}onEnd($,Z){}onEffect($,Z){}onSuspend($){}onResume($){}map($){return new p2(this,F(this.value,I($)))}zip($){return new c2(this,$)}onRun($,Z){return $()}}var Mr=()=>{return new Gx},Wx=E(Mr),wr=($)=>{return new Yx($)},b5=_$("effect/Supervisor/none",()=>wr(T$));var Hx=o1;var Dx="Empty",Ux="AddSupervisor",Ax="RemoveSupervisor",Kx="AndThen",FX={_tag:Dx},xD=($,Z)=>{return{_tag:Kx,first:$,second:Z}},Rr=($,Z)=>{return Lr(Z,S0($))},Lr=($,Z)=>{let X=$,J=Z;while(H0(J)){let G=g$(J);switch(G._tag){case Dx:{J=D0(J);break}case Ux:{X=X.zip(G.supervisor),J=D0(J);break}case Ax:{X=OO(X,G.supervisor),J=D0(J);break}case Kx:{J=O0(G.first)(O0(G.second)(D0(J)));break}}}return X},OO=($,Z)=>{if(s($,Z))return b5;else if(QO($))return OO($.left,Z).zip(OO($.right,Z));else return $},SD=($)=>{if(s($,b5))return l8();else if(QO($))return F(SD($.left),n6(SD($.right)));else return _6($)},qr=($,Z)=>{if(s($,Z))return FX;let X=SD($),J=SD(Z),G=F(J,FK(X),Z5(FX,(W,H)=>xD(W,{_tag:Ux,supervisor:H}))),Y=F(X,FK(J),Z5(FX,(W,H)=>xD(W,{_tag:Ax,supervisor:H})));return xD(G,Y)},Vx=Hx({empty:FX,patch:Rr,combine:xD,diff:qr});var xr=h2("effect_fiber_started",{incremental:!0}),Qx=h2("effect_fiber_active"),Sr=h2("effect_fiber_successes",{incremental:!0}),jr=h2("effect_fiber_failures",{incremental:!0}),kr=Xx(Zx("effect_fiber_lifetimes",WE({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),d2="Continue",Ir="Done",Ox="Yield",vr={_E:($)=>$,_A:($)=>$},jD=($)=>{throw Error(`BUG: FiberRuntime - ${x9($)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},A1=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),K1=_$("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),u2={[z7]:($,Z,X)=>{return E0(()=>Z.effect_instruction_i1(X))},["OnStep"]:($,Z,X)=>{return Z0(Z0(X))},[T7]:($,Z,X)=>{return E0(()=>Z.effect_instruction_i2(X))},[OJ]:($,Z,X)=>{if($.patchRuntimeFlags($.currentRuntimeFlags,Z.patch),z6($.currentRuntimeFlags)&&$.isInterrupted())return b$($.getInterruptedCause());else return Z0(X)},[M7]:($,Z,X)=>{if(E0(()=>Z.effect_instruction_i2(X)),E0(()=>Z.effect_instruction_i0()))return $.pushStack(Z),E0(()=>Z.effect_instruction_i1());else return T$},[l4]:($,Z,X)=>{while(!0){let J=E0(()=>Z.effect_instruction_i0.next(X));if(J.done)return Z0(J.value);let G=c4(J.value);if(!z5(G))return $.pushStack(Z),G;else if(G._tag==="Failure")return G;X=G.value}}},yr={[dQ]:($,Z,X,J)=>{return $.processNewInterruptSignal(J.cause),z6(Z)?b$(J.cause):X},[oQ]:($,Z,X,J)=>{throw Error("It is illegal to have multiple concurrent run loops in a single fiber")},[uQ]:($,Z,X,J)=>{return J.onFiber($,mV(Z)),X},[nQ]:($,Z,X,J)=>{return z(X9(),()=>X)}},br=($)=>q8(VM($),(Z)=>V1(BM(Z),([X,J])=>{let G=new Map,Y=[];for(let H of J){Y.push(c8(H));for(let U of H)G.set(U.request,U)}let W=Y.flat();return R0(ir(X.runAll(Y),W,()=>W.forEach((H)=>{H.listeners.interrupted=!0})),XD,G)},!1,!1)),gr=NJ();class bD extends K4{[W1]=PX;[I2]=vr;_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,dK(X)){let J=this.getFiberRef(s9);xr.unsafeUpdate(1,J),Qx.unsafeUpdate(1,J)}this.refreshRefCache()}commit(){return NZ(this)}id(){return this._fiberId}resume($){this.tell(k5($))}get status(){return this.ask(($,Z)=>Z)}get runtimeFlags(){return this.ask(($,Z)=>{if(cH(Z))return $.currentRuntimeFlags;return Z.runtimeFlags})}scope(){return vq(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(N5)}fiberRefs(){return this.ask(($)=>$.getFiberRefs())}ask($){return H$(()=>{let Z=B2(this._fiberId);return this.tell(_X((X,J)=>{XX(Z,E(()=>$(X,J)))})),HZ(Z)})}tell($){if(this._queue.push($),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return jZ(($)=>{let Z=(X)=>$(w(X));if(this._exitValue!==null){Z(this._exitValue);return}return this.tell(_X((X,J)=>{if(X._exitValue!==null)Z(this._exitValue);else X.addObserver(Z)})),E(()=>this.tell(_X((X,J)=>{X.removeObserver(Z)})))},this.id())}get inheritAll(){return x$(($,Z)=>{let X=$.id(),J=$.getFiberRefs(),G=Z.runtimeFlags,Y=this.getFiberRefs(),W=yH(J,X,Y);$.setFiberRefs(W);let H=$.getFiberRef(_x),U=F(r8(G,H),lK(F6),lK(iW));return Z4(U)})}get poll(){return E(()=>H8(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork($){return E(()=>this.tell(ND(QZ($))))}unsafeInterruptAsFork($){this.tell(ND(QZ($)))}addObserver($){if(this._exitValue!==null)$(this._exitValue);else this._observers.push($)}removeObserver($){this._observers=this._observers.filter((Z)=>Z!==$)}getFiberRefs(){return this.setFiberRef(_x,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef($){this._fiberRefs=T2(this._fiberRefs,$)}getFiberRef($){if(this._fiberRefs.locals.has($))return this._fiberRefs.locals.get($)[0][1];return $.initial}setFiberRef($,Z){this._fiberRefs=JX(this._fiberRefs,{fiberId:this._fiberId,fiberRef:$,value:Z}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(M0),this.currentTracer=this.currentDefaultServices.unsafeMap.get(J1.key),this.currentSupervisor=this.getFiberRef(mD),this.currentScheduler=this.getFiberRef(e9),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=d2,X=globalThis[H1];globalThis[H1]=this;try{while(Z===d2)Z=this._queue.length===0?Ir:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[H1]=X}if(this._queue.length>0&&!this._running)if(this._running=!0,Z===Ox)this.drainQueueLaterOnExecutor(),$=!1;else $=!0;else $=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(r9),this)}drainQueueWhileRunning($,Z){let X=Z;while(this._queue.length>0){let J=this._queue.splice(0,1)[0];X=yr[J._tag](this,$,X,J)}return X}isInterrupted(){return!cJ(this.getFiberRef(N5))}addInterruptedCause($){let Z=this.getFiberRef(N5);this.setFiberRef(N5,$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(ND(QZ(this.id()))),$=!0;return $}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let $=this._children.values();this._children=null;let Z=!1;return X4({while:()=>!Z,body:()=>{let J=$.next();if(!J.done)return z0(J.value.await);else return E(()=>{Z=!0})},step:()=>{}})}return null}reportExitValue($){if(dK(this.currentRuntimeFlags)){let Z=this.getFiberRef(s9),X=this.id().startTimeMillis,J=Date.now();switch(kr.unsafeUpdate(J-X,Z),Qx.unsafeUpdate(-1,Z),$._tag){case J0:{Sr.unsafeUpdate(1,Z);break}case X0:{jr.unsafeUpdate(1,Z);break}}}if($._tag==="Failure"){let Z=this.getFiberRef(D2);if(!W5($.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(Fx)}log($,Z,X){let J=p$(X)?X.value:this.getFiberRef(KV),G=this.getFiberRef(NO);if(nV(G,J))return;let Y=this.getFiberRef(PH),W=this.getFiberRef(i9),H=this.getLoggers(),U=this.getFiberRefs();if(y9(H)>0){let A=r0(this.getFiberRef(M0),tZ),Q=new Date(A.unsafeCurrentTimeMillis());SF(U,()=>{for(let O of H)O.log({fiberId:this.id(),logLevel:J,message:$,cause:Z,context:U,spans:Y,annotations:W,date:Q})})}}evaluateMessageWhileSuspended($){switch($._tag){case nQ:return Ox;case dQ:{if(this.processNewInterruptSignal($.cause),this._asyncInterruptor!==null)this._asyncInterruptor(b$($.cause)),this._asyncInterruptor=null;return d2}case oQ:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect($.effect),d2;case uQ:return $.onFiber(this,this._exitValue!==null?NC:_C(this.currentRuntimeFlags,this._asyncBlockingOn)),d2;default:return jD($)}}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===A1){let G=K1.currentOp;if(K1.currentOp=null,G._op===w7)if(HM(this.currentRuntimeFlags))this.tell(Sq()),this.tell(k5(bZ)),Z=null;else Z=bZ;else if(G._op===o4)Z=null}else{this.currentRuntimeFlags=F(this.currentRuntimeFlags,pK(iW));let G=this.interruptAllChildren();if(G!==null)Z=z(G,()=>J);else{if(this._queue.length===0)this.setExitValue(J);else this.tell(k5(J));Z=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start($){if(!this._running){this._running=!0;let Z=globalThis[H1];globalThis[H1]=this;try{this.evaluateEffect($)}finally{if(this._running=!1,globalThis[H1]=Z,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(k5($))}startFork($){this.tell(k5($))}patchRuntimeFlags($,Z){let X=h9($,Z);return globalThis[H1]=this,this.currentRuntimeFlags=X,X}initiateAsync($,Z){let X=!1,J=(G)=>{if(!X)X=!0,this.tell(k5(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!==F7)return $;$=this.popStack()}}getNextFailCont(){let $=this.popStack();while($){if($._op!==z7&&$._op!==M7&&$._op!==l4)return $;$=this.popStack()}}[kF]($){return E(()=>u8(this.currentContext,$))}["Left"]($){return L$($.left)}["None"]($){return L$(new yZ)}["Right"]($){return Z0($.right)}["Some"]($){return Z0($.value)}["Micro"]($){return i7((Z)=>{let X=Z,J=yC(kC($,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(wZ(G.cause.defect))}}),i7((G)=>{X=(Y)=>{G(T$)},J.unsafeInterrupt()})})}[uY]($){let Z=E0(()=>$.effect_instruction_i0()),X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in u2))jD(X);return u2[X._op](this,X,Z)}else return K1.currentOp=Z0(Z),A1}[J0]($){let Z=$,X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in u2))jD(X);return u2[X._op](this,X,Z.effect_instruction_i0)}else return K1.currentOp=Z,A1}[X0]($){let Z=$.effect_instruction_i0,X=this.getNextFailCont();if(X!==void 0)switch(X._op){case F7:case T7:if(!(z6(this.currentRuntimeFlags)&&this.isInterrupted()))return E0(()=>X.effect_instruction_i1(Z));else return b$(dJ(Z));case"OnStep":if(!(z6(this.currentRuntimeFlags)&&this.isInterrupted()))return Z0(b$(Z));else return b$(dJ(Z));case OJ:if(this.patchRuntimeFlags(this.currentRuntimeFlags,X.patch),z6(this.currentRuntimeFlags)&&this.isInterrupted())return b$($0(Z,this.getInterruptedCause()));else return b$(Z);default:jD(X)}else return K1.currentOp=b$(Z),A1}[oY]($){return E0(()=>$.effect_instruction_i0(this,mV(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=w5(G.refs,Z),H=r8(G.flags,X);return Z0(c9($.effect_instruction_i0,x$((U)=>{while(J.length>0)U.pushStack(J.pop());return U.setFiberRefs(C5(U.id(),U.getFiberRefs())(W)),U.currentRuntimeFlags=h9(H)(U.currentRuntimeFlags),$.effect_instruction_i1})))}return j0((J)=>z(zX(YH($.effect_instruction_i0)),()=>J($.effect_instruction_i1)))}["RunBlocked"]($){return br($.effect_instruction_i0)}[S9]($){let Z=$.effect_instruction_i0,X=this.currentRuntimeFlags,J=h9(X,Z);if(z6(J)&&this.isInterrupted())return b$(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,Z),$.effect_instruction_i1){let G=r8(J,X);return this.pushStack(new GV(G,$)),E0(()=>$.effect_instruction_i1(X))}else return bZ}[z7]($){return this.pushStack($),$.effect_instruction_i0}["OnStep"]($){return this.pushStack($),$.effect_instruction_i0}[F7]($){return this.pushStack($),$.effect_instruction_i0}[T7]($){return this.pushStack($),$.effect_instruction_i0}[o4]($){return this._asyncBlockingOn=$.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,$.effect_instruction_i0),K1.currentOp=$,A1}[w7]($){return this._isYielding=!1,K1.currentOp=$,A1}[M7]($){let{effect_instruction_i0:Z,effect_instruction_i1:X}=$;if(Z())return this.pushStack($),X();else return bZ}[l4]($){return u2[l4](this,$,void 0)}[n4]($){return E0(()=>$.commit())}runLoop($){let Z=$;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&WM)!==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=z(X9({priority:X}),()=>J)}}try{if(Z=this.currentTracer.context(()=>{if(gr!==Z[d9]._V){let X=this.getFiberRef(zH);if(X._tag==="Some"){let J=Z[d9]._V;this.log(`Executing an Effect versioned ${J} with a Runtime of version ${NJ()}, 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===A1){let X=K1.currentOp;if(X._op===w7||X._op===o4)return A1;return K1.currentOp=null,X._op===J0||X._op===X0?X:b$(P0(X))}}catch(X){if(Z!==A1&&!u(Z,"_op")||!(Z._op in this))Z=a1(`Not a valid effect: ${x9(Z)}`);else if(MH(X))Z=b$($0(P0(X),QZ(d0)));else Z=wZ(X)}}}run=()=>{this.drainQueueOnCurrentThread()}}var NO=_$("effect/FiberRef/currentMinimumLogLevel",()=>L0(lV("Info"))),hr=($)=>CD((Z)=>{let X=rw(Z.context,M0);r0(X,Z1).unsafe.log($.log(Z))});var mr=_$(Symbol.for("effect/Logger/defaultLogger"),()=>hr(XE));var fr=_$(Symbol.for("effect/Logger/tracerLogger"),()=>CD(({annotations:$,cause:Z,context:X,fiberId:J,logLevel:G,message:Y})=>{let W=j2(R8(t9(X,B8),gZ));if(W._tag==="None"||W.value._tag==="ExternalSpan")return;let H=u8(t9(X,M0),tZ),U={};for(let[A,Q]of $)U[A]=Q;if(U["effect.fiberId"]=jT(J),U["effect.logLevel"]=G.label,Z!==null&&Z._tag!=="Empty")U["effect.cause"]=M6(Z,{renderErrorCause:!0});W.value.event(x9(Array.isArray(Y)&&Y.length===1?Y[0]:Y),H.unsafeCurrentTimeNanos(),U)}));var Fx=_$(Symbol.for("effect/FiberRef/currentLoggers"),()=>Xw(_6(mr,fr)));var zx=function(){if(typeof arguments[0]==="string")return LZ(i9,SZ(arguments[0],arguments[1]));let $=Object.entries(arguments[0]);return LZ(i9,vT((Z)=>{for(let X=0;X<$.length;X++){let[J,G]=$[X];SZ(Z,J,G)}return Z}))},Tx=V(2,($,Z)=>{let X=typeof Z==="string"?lV(Z):Z;return x$((J)=>{let G=J.getFiberRef(NO);if(nV(G,X))return w(x());return I($,j)})}),h5=V(($)=>c$($[0]),($,Z)=>l9(IZ($,(X)=>Y9((J)=>Z(X,J))))),Mx=V(($)=>c$($[0]),($,Z)=>v8($,Y9((X)=>Z(X)))),Y9=($)=>x$((Z)=>{let X=Z.getFiberRefs(),J=fK(Z.currentRuntimeFlags,F6);return z(wO,(G)=>W4(G,(Y)=>x$((W)=>{let H=W.getFiberRefs(),U=W.currentRuntimeFlags,A=w5(H,X),Q=r8(U,J),O=w5(X,H);return W.setFiberRefs(C5(A,W.id(),X)),v8(BH($(Y),Q),E(()=>{W.setFiberRefs(C5(O,W.id(),W.getFiberRefs()))}))})))}),wx=($)=>{return R0(rJ,j(C6))($)},Bx=Symbol.for("effect/Effect/existsPar/found"),Cx=V(($)=>f8($[0])&&!c$($[0]),($,Z,X)=>C2(X?.concurrency,()=>H$(()=>Rx($[Symbol.iterator](),0,Z)),()=>s0(I8($,(J,G)=>UH(Z(J,G),{onTrue:()=>L$(Bx),onFalse:()=>T$}),X),{onFailure:(J)=>J===Bx?w(!0):L$(J),onSuccess:()=>w(!1)}))),Rx=($,Z,X)=>{let J=$.next();if(J.done)return w(!1);return z(X(J.value,Z),(G)=>G?w(G):Rx($,Z+1,X))},Lx=V(($)=>f8($[0])&&!c$($[0]),($,Z,X)=>{let J=X?.negate?(G,Y)=>I(Z(G,Y),gw):Z;return C2(X?.concurrency,()=>H$(()=>P$($).reduceRight((G,Y,W)=>sZ(G,H$(()=>J(Y,W)),(H,U)=>U?[Y,...H]:H),E(()=>[]))),()=>I(I8($,(G,Y)=>I(J(G,Y),(W)=>W?j(G):x()),X),_z))}),pr=($)=>{if(Array.isArray($)||f8($))return[$,x()];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})]},cr=($,Z,X)=>{let J=[];for(let G of $)J.push(i8(G));return z(I8(J,w$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>{let Y=x(),W=G.length,H=Array(W),U=Array(W),A=!1;for(let Q=0;Q<W;Q++){let O=G[Q];if(O._tag==="Left")H[Q]=j(O.left),A=!0;else U[Q]=O.right,H[Q]=Y}if(A)return Z._tag==="Some"?L$(Z.value(H)):L$(H);else if(X?.discard)return T$;return Z._tag==="Some"?w(Z.value(U)):w(U)})},dr=($,Z,X)=>{let J=[];for(let G of $)J.push(i8(G));if(X?.discard)return I8(J,w$,{concurrency:X?.concurrency,batching:X?.batching,discard:!0,concurrentFinalizers:X?.concurrentFinalizers});return I(I8(J,w$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>Z._tag==="Some"?Z.value(G):G)},P4=($,Z)=>{let[X,J]=pr($);if(Z?.mode==="validate")return cr(X,J,Z);else if(Z?.mode==="either")return dr(X,J,Z);return Z?.discard!==!0&&J._tag==="Some"?I(I8(X,w$,Z),J.value):I8(X,w$,Z)},qx=($)=>(Z)=>P4(Z,$),Ex=($,Z)=>I(P4(P$($).map(V0),Z),q7((X)=>Q2(X)?j(X.effect_instruction_i0):x())),_O=V(2,($,Z)=>Array.from({length:Z},()=>$)),xx=V(($)=>c$($[0]),($,Z,X)=>P4(_O($,Z),X)),I8=V(($)=>f8($[0]),($,Z,X)=>x$((J)=>{let G=X?.batching===!0||X?.batching==="inherit"&&J.getFiberRef(H2);if(X?.discard)return UQ(X.concurrency,()=>g5(kH,X?.concurrentFinalizers)((Y)=>G?V1($,(W,H)=>Y(Z(W,H)),!0,!1,1):q8($,(W,H)=>Y(Z(W,H)))),()=>g5(IH,X?.concurrentFinalizers)((Y)=>V1($,(W,H)=>Y(Z(W,H)),G,!1)),(Y)=>g5(vH(Y),X?.concurrentFinalizers)((W)=>V1($,(H,U)=>W(Z(H,U)),G,!1,Y)));return UQ(X?.concurrency,()=>g5(kH,X?.concurrentFinalizers)((Y)=>G?BO($,1,(W,H)=>Y(Z(W,H)),!0):OZ($,(W,H)=>Y(Z(W,H)))),()=>g5(IH,X?.concurrentFinalizers)((Y)=>kD($,(W,H)=>Y(Z(W,H)),G)),(Y)=>g5(vH(Y),X?.concurrentFinalizers)((W)=>BO($,Y,(H,U)=>W(Z(H,U)),G)))})),kD=($,Z,X)=>H$(()=>{let J=P$($),G=Array(J.length);return j$(V1(J,(W,H)=>z(Z(W,H),(U)=>E(()=>G[H]=U)),X,!1),w(G))}),V1=($,Z,X,J,G)=>j0((Y)=>QH((W)=>x$((H)=>{let U=Array.from($).reverse(),A=U.length;if(A===0)return T$;let Q=0,O=!1,P=G?Math.min(U.length,G):U.length,_=new Set,T=[],M=()=>_.forEach((v$)=>{v$.currentScheduler.scheduleTask(()=>{v$.unsafeInterruptAsFork(H.id())},0,v$)}),S=[],K$=[],r=[],J$=()=>{let v$=T.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=l9(W(v$)),$$=ur(i,H,H.currentRuntimeFlags,C6);return H.currentScheduler.scheduleTask(()=>{if(A0)$$.unsafeInterruptAsFork(H.id());$$.resume(i)},0,$$),$$},h$=()=>{if(!J)A-=U.length,U=[];O=!0,M()},A$=X?DH:V0,m$=B$(jZ((v$)=>{let A0=($$,l)=>{if($$._op==="Blocked")r.push($$);else if(T.push({index:l,exit:$$}),$$._op==="Failure"&&!O)h$()},i=()=>{if(U.length>0){let $$=U.pop(),l=Q++,Q$=()=>{let Q0=U.pop();return l=Q++,z(X9(),()=>z(A$(Y(Z(Q0,l))),z$))},z$=(Q0)=>{if(U.length>0){if(A0(Q0,l),U.length>0)return Q$()}return w(Q0)},q$=z(A$(Y(Z($$,l))),z$),Z$=B$(q$);if(S.push(Z$),_.add(Z$),O)Z$.currentScheduler.scheduleTask(()=>{Z$.unsafeInterruptAsFork(H.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,l),T.length===A)v$(w(c0(H4(J$(),{parallel:!0}),()=>bZ)));else if(r.length+T.length===A){let b6=J$(),G8=r.map((F8)=>F8.effect_instruction_i0).reduce(iK);v$(w(c9(G8,V1([c0(H4(b6,{parallel:!0}),()=>bZ),...r.map((F8)=>F8.effect_instruction_i1)],(F8)=>F8,X,!0,G))))}else i()})}};for(let $$=0;$$<P;$$++)i()}));return z0(iZ(kZ(Y(NZ(m$))),T5({onFailure:(v$)=>{h$();let A0=r.length+1,i=Math.min(typeof G==="number"?G:r.length,r.length),$$=Array.from(r);return jZ((l)=>{let Q$=[],z$=0,q$=0,Z$=(b0,b6)=>(G8)=>{if(Q$[b0]=G8,z$++,z$===A0)l(Z0(b$(v$)));if($$.length>0&&b6)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)})))}))),BO=($,Z,X,J)=>H$(()=>{let G=P$($),Y=Array(G.length);return j$(V1(G,(H,U)=>I(X(H,U),(A)=>Y[U]=A),J,!1,Z),w(Y))}),Q1=($)=>x$((Z,X)=>w(o2($,Z,X.runtimeFlags))),zX=($)=>or($,C6),Sx=V(2,($,Z)=>Q1(VH($,(X)=>{let J=T6(X);switch(J._tag){case"Left":return Z(J.left);case"Right":return E$(J.right)}}))),o2=($,Z,X,J=null)=>{let G=ID($,Z,X,J);return G.resume($),G},ur=($,Z,X,J=null)=>{return ID($,Z,X,J)},ID=($,Z,X,J=null)=>{let G=hW(),Y=Z.getFiberRefs(),W=IV(Y,G),H=new bD(G,W,X),U=t9(W,B8),A=H.currentSupervisor;return A.onStart(U,$,j(Z),H),H.addObserver((O)=>A.onEnd(O,H)),(J!==null?J:F(Z.getFiberRef(rJ),c0(()=>Z.scope()))).add(X,H),H},or=($,Z)=>x$((X,J)=>w(o2($,X,J.runtimeFlags,Z))),PO=V(($)=>m8($[2]),($,Z,X,J)=>C2(J?.concurrency,()=>P$($).reduce((G,Y,W)=>sZ(G,Y,(H,U)=>X(H,U,W)),w(Z)),()=>z(aH(Z),(G)=>z(I8($,(Y,W)=>z(Y,(H)=>fC(G,(U)=>X(U,H,W))),J),()=>tH(G))))),FO=V(($)=>f8($[0]),($,Z,X)=>F(I8($,(J,G)=>i8(Z(J,G)),X),I((J)=>nM(J,w$)))),jx=V(($)=>f8($[0]),($,Z,X)=>z(FO($,Z,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),([J,G])=>XW(J)?L$(J):X?.discard?T$:w(G))),kx=($)=>x$((Z,X)=>jZ((J)=>{let G=new Set,Y,W=u0,H=()=>{for(let Q of G)Q.unsafeInterruptAsFork(Z.id())},U=!1,A=!0;for(let Q of $){A=!1;let O=o2(n9(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,H();else W=F0(P.cause,W);if(U&&G.size===0)J(Y?j$(MD(Y),Y.unsafePoll()):E$(W))}),Y)break}if(A)return J(L8(()=>new a8("Received an empty collection of effects")));return U=!0,v2(G,Z.id())})),Ix=V(($)=>f8($[0])&&!c$($[0]),($,Z,X,J)=>C2(J?.concurrency,()=>P$($).reduce((G,Y,W)=>sZ(G,Y,(H,U)=>X(H,U,W)),Z),()=>H$(()=>F(PO([Z,...$],x(),(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}}))))),vD=($)=>S8((Z)=>p0(R8(Z,H9),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Parallel":return $;case"Sequential":case"ParallelN":return z(x8(X,IH),(J)=>D9($,J))}}})),Nx=($)=>(Z)=>S8((X)=>p0(R8(X,H9),{onNone:()=>Z,onSome:(J)=>{if(J.strategy._tag==="ParallelN"&&J.strategy.parallelism===$)return Z;return z(x8(J,vH($)),(G)=>D9(Z,G))}})),vx=($)=>(Z)=>g5($,!0)(Z),g5=($,Z)=>(X)=>S8((J)=>p0(R8(J,H9),{onNone:()=>X(w$),onSome:(G)=>{if(Z===!0){let Y=$._tag==="Parallel"?vD:$._tag==="Sequential"?yD:Nx($.parallelism);switch(G.strategy._tag){case"Parallel":return Y(X(vD));case"Sequential":return Y(X(yD));case"ParallelN":return Y(X(Nx(G.strategy.parallelism)))}}else return X(w$)}})),X6=($)=>z(H9,$),n2=($)=>z(m5(),(Z)=>iZ($(Z),(X)=>Z.close(X))),gD=($)=>z(m5(),(Z)=>CO($,Z)),yD=($)=>S8((Z)=>p0(R8(Z,H9),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Sequential":return $;case"Parallel":case"ParallelN":return z(x8(X,kH),(J)=>D9($,J))}}})),yx=($,Z)=>zO([E5($,Z)]),zO=($)=>LZ(s9,(Z)=>B6(Z,$)),bx=V(2,($,Z)=>n2((X)=>z(D9($,X),Z))),gx=V(($)=>c$($[1]),($,Z,X)=>TO($,Z,(J,G)=>[J,G],X)),TO=V(($)=>c$($[1]),($,Z,X,J)=>kZ(W9(V0($),V0(Z),(G,Y)=>t8(G,Y,{onSuccess:X,onFailure:(W,H)=>J?.concurrent?F0(W,H):$0(W,H)}),J)));var hx=V(($)=>f8($[0]),($,Z,X)=>e1(I8($,(J,G)=>e1(Z(J,G)),X))),mx=($)=>LZ(M0,e$(tZ,$)),fx=($)=>LZ(M0,e$(X1,$)),hD=($)=>LZ(M0,e$(DX,$)),px=($)=>X6((Z)=>z(x8(Z,e8),(X)=>F($,D9(X),I((J)=>[O8((G)=>_5(X,O2(G))),J])))),cx=V(($)=>c$($[1]),($,Z,X)=>W9($,Z,(J,G)=>[J,G],X)),dx=V(($)=>c$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return O5($,Z);return W9($,Z,(J,G)=>J,X)}),ux=V(($)=>c$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return j$($,Z);return W9($,Z,(J,G)=>G,X)}),W9=V(($)=>c$($[1]),($,Z,X,J)=>I(P4([$,Z],{concurrency:J?.concurrent?2:1,batching:J?.batching,concurrentFinalizers:J?.concurrentFinalizers}),([G,Y])=>X(G,Y))),MO=($)=>{if($===UM)return T$;return F(s7,z((Z)=>{let X=h9(Z,$),J=r8(X,Z);return F(Z4($),j$(Y9(()=>Z4(J))),z0)}),l9)},H9=WZ("effect/Scope"),wO=H9,nr=($,Z)=>{if($.state._tag==="Open")$.state.finalizers.set({},Z)},lr={[A2]:A2,[K2]:K2,pipe(){return n(this,arguments)},fork($){return E(()=>{let Z=ox($);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),nr(Z,(G)=>E(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(X)})),Z})},close($){return H$(()=>{if(this.state._tag==="Closed")return T$;let Z=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:$},Z.length===0)return T$;return xV(this.strategy)?F(OZ(Z,(X)=>V0(X($))),z((X)=>F(H4(X),x0(ZX),c0(()=>bZ)))):SV(this.strategy)?F(kD(Z,(X)=>V0(X($)),!1),z((X)=>F(H4(X,{parallel:!0}),x0(ZX),c0(()=>bZ)))):F(BO(Z,this.strategy.parallelism,(X)=>V0(X($)),!1),z((X)=>F(H4(X,{parallel:!0}),x0(ZX),c0(()=>bZ))))})},addFinalizer($){return H$(()=>{if(this.state._tag==="Closed")return $(this.state.exit);return this.state.finalizers.set({},$),T$})}},ox=($=e8)=>{let Z=Object.create(lr);return Z.strategy=$,Z.state={_tag:"Open",finalizers:new Map},Z},m5=($=e8)=>E(()=>ox($)),D9=V(2,($,Z)=>U4($,o8(U8(H9,Z)))),CO=V(2,($,Z)=>F($,D9(Z),iZ((X)=>Z.close(X)))),rr=($)=>B5($,{differ:Vx,fork:FX}),mZ=V(2,($,Z)=>z0(h5(z(E8($),(X)=>i$(A5($,Z),X)),(X)=>A5($,X)))),LZ=V(2,($,Z)=>CZ($,(X)=>mZ($,Z(X))));var _x=Jw(DM),mD=rr(b5),fD=($)=>I8($,zD),TX=($)=>{return{...xH,commit(){return NZ(this)},[W1]:PX,id:()=>P$($).reduce((X,J)=>V8(X,J.id()),d0),await:V0(kD($,(X)=>kZ(X.await),!1)),children:I(kD($,(X)=>X.children,!1),JW),inheritAll:q8($,(X)=>X.inheritAll),poll:I(OZ($,(X)=>X.poll),GW(j(Z0([])),(X,J)=>{switch(J._tag){case"None":return x();case"Some":switch(X._tag){case"None":return x();case"Some":return j(t8(J.value,X.value,{onSuccess:(G,Y)=>[G,...Y],onFailure:F0}))}}})),interruptAsFork:(X)=>q8($,(J)=>J.interruptAsFork(X))}},nx=($)=>z0(zX(G4($))),lx=($)=>NZ(TX($)),rx=($)=>h5(w($),G4),RO=V(3,($,Z,X)=>LO($,Z,{onSelfWin:(J,G)=>z(J.await,(Y)=>{switch(Y._tag){case J0:return z(J.inheritAll,()=>X.onSelfDone(Y,G));case X0:return X.onSelfDone(Y,G)}}),onOtherWin:(J,G)=>z(J.await,(Y)=>{switch(Y._tag){case J0:return z(J.inheritAll,()=>X.onOtherDone(Y,G));case X0:return X.onOtherDone(Y,G)}})})),ix=($)=>j0((Z)=>O8((X)=>z(zX(Z($)),(J)=>F(Z(NZ(J)),Z9(()=>F(J,wD(X))))))),pD=V(2,($,Z)=>O8((X)=>RO($,Z,{onSelfDone:(J,G)=>M5(J,{onFailure:(Y)=>F(NZ(G),BX((W)=>F0(Y,W))),onSuccess:(Y)=>F(G,vZ(X),i$(Y))}),onOtherDone:(J,G)=>M5(J,{onFailure:(Y)=>F(NZ(G),BX((W)=>F0(W,Y))),onSuccess:(Y)=>F(G,vZ(X),i$(Y))})}))),LO=V(3,($,Z,X)=>x$((J,G)=>{let Y=G.runtimeFlags,W=l6(!0),H=ID($,J,Y,X.selfScope),U=ID(Z,J,Y,X.otherScope);return jZ((A)=>{H.addObserver(()=>Px(H,U,X.onSelfWin,W,A)),U.addObserver(()=>Px(U,H,X.onOtherWin,W,A)),H.startFork($),U.startFork(Z)},V8(H.id(),U.id()))})),Px=($,Z,X,J,G)=>{if(EW(!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)}))),ir=($,Z,X)=>O8((J)=>v8(z(zX(n9($)),(G)=>jZ((Y)=>{let W=Z.map((A)=>A.listeners.count),H=()=>{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"&&c7(A.result.state.current.effect.cause))return!0;else return!1}))U.forEach((A)=>A()),X?.(),Y(G4(G))}};G.addObserver((A)=>{U.forEach((Q)=>Q()),Y(A)});let U=Z.map((A,Q)=>{let O=(P)=>{W[Q]=P,H()};return A.listeners.addObserver(O),()=>A.listeners.removeObserver(O)});return H(),E(()=>{U.forEach((A)=>A())})})),H$(()=>{let G=Z.flatMap((Y)=>{if(!Y.state.completed)return[Y];return[]});return q8(G,(Y)=>VO(Y.request,O2(J)))})));var Z6=($,Z)=>{return Z=j8(Z),l9(x$((X)=>{let J=u8(X.getFiberRef(B8),H9),G=BD(X,$,Z),Y=X.getFiberRef(Y4),W=r0(X.getFiberRef(M0),tZ);return i$(W4(J,(H)=>pQ(G,H,W,Y)),G)}))},cD=($)=>LZ(M0,e$(J1,$)),sx=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return z(Z6(Z,j8(X)),(G)=>N4(J,gZ,G))}return(J)=>z(Z6(Z,j8(X)),(G)=>N4(J,gZ,G))};var sr=A2,ar=K2,qO=H9,tr=V2,er=W4,EO=_5,$i=D9,xO=x8,Zi=CO,Xi=m5;var t={};T8(t,{zipWith:()=>_v,zipRight:()=>f8$,zipLeft:()=>m8$,zip:()=>h8$,yieldNow:()=>ve,withUnhandledErrorLogLevel:()=>Y8$,withTracerTiming:()=>Z6$,withTracerScoped:()=>e8$,withTracerEnabled:()=>$6$,withTracer:()=>t8$,withSpanScoped:()=>B6$,withSpan:()=>Pv,withSchedulingPriority:()=>H0$,withScheduler:()=>W0$,withRuntimeFlagsPatchScoped:()=>z8$,withRuntimeFlagsPatch:()=>F8$,withRequestCaching:()=>r8$,withRequestCache:()=>i8$,withRequestBatching:()=>l8$,withRandomScoped:()=>N8$,withRandomFixed:()=>B8$,withRandom:()=>Nv,withParentSpan:()=>N6$,withMetric:()=>L8$,withMaxOpsBeforeYield:()=>D0$,withLogSpan:()=>Z8$,withFiberRuntime:()=>F1,withExecutionPlan:()=>te,withEarlyRelease:()=>p$$,withConsoleScoped:()=>B0$,withConsole:()=>N0$,withConfigProviderScoped:()=>E0$,withConfigProvider:()=>q0$,withConcurrency:()=>Y0$,withClockScoped:()=>K0$,withClock:()=>V0$,whileLoop:()=>LG,whenRef:()=>AZ$,whenLogLevel:()=>W8$,whenFiberRef:()=>UZ$,whenEffect:()=>DZ$,when:()=>HZ$,void:()=>z1,validateWith:()=>g8$,validateFirst:()=>ze,validateAll:()=>Fe,validate:()=>b8$,using:()=>f$$,useSpan:()=>Q6$,updateService:()=>d0$,updateFiberRefs:()=>fZ$,unsandbox:()=>G$$,unsafeMakeSemaphore:()=>q8$,unsafeMakeLatch:()=>x8$,unlessEffect:()=>WZ$,unless:()=>YZ$,uninterruptibleMask:()=>Q$$,uninterruptible:()=>V$$,tryPromise:()=>J$$,tryMapPromise:()=>X$$,tryMap:()=>Z$$,try:()=>$$$,transposeOption:()=>F6$,transposeMapOption:()=>z6$,transplant:()=>G0$,tracerWith:()=>a8$,tracer:()=>s8$,timeoutTo:()=>R0$,timeoutOption:()=>M0$,timeoutFailCause:()=>C0$,timeoutFail:()=>w0$,timeout:()=>T0$,timedWith:()=>z0$,timed:()=>F0$,tapErrorTag:()=>TZ$,tapErrorCause:()=>MZ$,tapError:()=>zZ$,tapDefect:()=>FZ$,tapBoth:()=>PZ$,tap:()=>WN,takeWhile:()=>Ge,takeUntil:()=>Je,tagMetricsScoped:()=>w8$,tagMetrics:()=>T8$,sync:()=>V9,suspend:()=>GN,supervised:()=>J0$,summarized:()=>_Z$,succeedSome:()=>Ie,succeedNone:()=>JN,succeed:()=>XN,step:()=>u8$,spanLinks:()=>D6$,spanAnnotations:()=>H6$,sleep:()=>P0$,setFiberRefs:()=>mZ$,serviceOptional:()=>c0$,serviceOption:()=>p0$,serviceMembers:()=>f0$,serviceFunctions:()=>h0$,serviceFunctionEffect:()=>g0$,serviceFunction:()=>b0$,serviceConstants:()=>m0$,sequentialFinalizers:()=>v$$,scopedWith:()=>h$$,scoped:()=>m$$,scopeWith:()=>g$$,scope:()=>b$$,scheduleFrom:()=>jZ$,scheduleForked:()=>SZ$,schedule:()=>xZ$,sandbox:()=>se,runtime:()=>qG,runSyncExit:()=>y8$,runSync:()=>v8$,runRequestBlock:()=>d8$,runPromiseExit:()=>I8$,runPromise:()=>k8$,runFork:()=>EG,runCallback:()=>j8$,retryOrElse:()=>ee,retry:()=>ae,request:()=>o8$,replicateEffect:()=>Pe,replicate:()=>_e,repeatOrElse:()=>EZ$,repeatN:()=>qZ$,repeat:()=>LZ$,reduceWhile:()=>Oe,reduceRight:()=>Be,reduceEffect:()=>Ne,reduce:()=>Qe,randomWith:()=>O8$,random:()=>Q8$,raceWith:()=>NZ$,raceFirst:()=>BZ$,raceAll:()=>OZ$,race:()=>QZ$,provideServiceEffect:()=>y0$,provideService:()=>v0$,provide:()=>I0$,promise:()=>ke,patchRuntimeFlags:()=>P8$,patchFiberRefs:()=>hZ$,partition:()=>Ve,parallelFinalizers:()=>I$$,parallelErrors:()=>ie,orElseSucceed:()=>K8$,orElseFail:()=>A8$,orElse:()=>U8$,orDieWith:()=>D8$,orDie:()=>H8$,optionFromOptional:()=>P6$,option:()=>i0$,once:()=>at,onInterrupt:()=>K$$,onExit:()=>k$$,onError:()=>j$$,none:()=>je,never:()=>Se,negate:()=>L$$,metricLabels:()=>R8$,mergeAll:()=>Ke,merge:()=>R$$,matchEffect:()=>nZ$,matchCauseEffect:()=>oZ$,matchCause:()=>uZ$,match:()=>dZ$,mapInputContext:()=>k0$,mapErrorCause:()=>C$$,mapError:()=>w$$,mapBoth:()=>M$$,mapAccum:()=>T$$,map:()=>$8,makeSpanScoped:()=>V6$,makeSpan:()=>K6$,makeSemaphore:()=>E8$,makeLatch:()=>S8$,loop:()=>RZ$,logWithLevel:()=>rZ$,logWarning:()=>tZ$,logTrace:()=>iZ$,logInfo:()=>aZ$,logFatal:()=>$8$,logError:()=>eZ$,logDebug:()=>sZ$,logAnnotations:()=>G8$,log:()=>lZ$,locallyWith:()=>yZ$,locallyScopedWith:()=>gZ$,locallyScoped:()=>bZ$,locally:()=>vZ$,linkSpans:()=>U6$,linkSpanCurrent:()=>A6$,liftPredicate:()=>O$$,let:()=>r0$,labelMetricsScoped:()=>C8$,labelMetrics:()=>M8$,iterate:()=>CZ$,isSuccess:()=>cZ$,isFailure:()=>pZ$,isEffect:()=>MG,intoDeferred:()=>RG,interruptibleMask:()=>A$$,interruptible:()=>U$$,interruptWith:()=>D$$,interrupt:()=>vX,inheritFiberRefs:()=>IZ$,ignoreLogged:()=>re,ignore:()=>le,if:()=>t0$,head:()=>Ae,getRuntimeFlags:()=>_8$,getFiberRefs:()=>kZ$,gen:()=>xe,functionWithSpan:()=>O6$,fromNullable:()=>_6$,fromFiberEffect:()=>X0$,fromFiber:()=>Z0$,forkWithErrorHandler:()=>$0$,forkScoped:()=>e$$,forkIn:()=>t$$,forkDaemon:()=>YN,forkAll:()=>a$$,fork:()=>s$$,forever:()=>wZ$,forEach:()=>wG,fnUntraced:()=>C6$,fn:()=>w6$,flipWith:()=>z$$,flip:()=>F$$,flatten:()=>VZ$,flatMap:()=>r5,firstSuccessOf:()=>V8$,findFirst:()=>Ue,finalizersMask:()=>y$$,filterOrFail:()=>XZ$,filterOrElse:()=>ZZ$,filterOrDieMessage:()=>$Z$,filterOrDie:()=>e0$,filterMap:()=>De,filterEffectOrFail:()=>GZ$,filterEffectOrElse:()=>JZ$,filter:()=>He,fiberIdWith:()=>yX,fiberId:()=>i$$,failSync:()=>Re,failCauseSync:()=>Le,failCause:()=>Bv,fail:()=>Ce,exit:()=>a0$,exists:()=>We,every:()=>Ye,eventually:()=>ne,ensuringChildren:()=>r$$,ensuringChild:()=>l$$,ensuring:()=>S$$,ensureSuccessType:()=>R6$,ensureRequirementsType:()=>q6$,ensureErrorType:()=>L6$,either:()=>s0$,dropWhile:()=>Xe,dropUntil:()=>Ze,disconnect:()=>H$$,diffFiberRefs:()=>n$$,dieSync:()=>Ee,dieMessage:()=>qe,die:()=>ZN,descriptorWith:()=>o$$,descriptor:()=>u$$,delay:()=>_0$,daemonChildren:()=>d$$,custom:()=>we,currentSpan:()=>G6$,currentPropagatedSpan:()=>Y6$,currentParentSpan:()=>W6$,contextWithEffect:()=>j0$,contextWith:()=>S0$,context:()=>x0$,consoleWith:()=>O0$,console:()=>Q0$,configProviderWith:()=>L0$,clockWith:()=>A0$,clock:()=>U0$,checkInterruptible:()=>W$$,cause:()=>oe,catchTags:()=>ue,catchTag:()=>de,catchSomeDefect:()=>ce,catchSomeCause:()=>pe,catchSome:()=>fe,catchIf:()=>me,catchAllDefect:()=>he,catchAllCause:()=>ge,catchAll:()=>be,catch:()=>ye,cachedWithTTL:()=>lt,cachedInvalidateWithTTL:()=>rt,cachedFunction:()=>st,cached:()=>it,cacheRequestResult:()=>n8$,blocked:()=>c8$,bindTo:()=>l0$,bindAll:()=>n0$,bind:()=>o0$,awaitAllChildren:()=>c$$,asyncEffect:()=>Me,async:()=>Te,asVoid:()=>P$$,asSomeError:()=>_$$,asSome:()=>N$$,as:()=>B$$,ap:()=>p8$,annotateSpans:()=>X6$,annotateLogsScoped:()=>J8$,annotateLogs:()=>X8$,annotateCurrentSpan:()=>J6$,andThen:()=>KZ$,allowInterrupt:()=>Y$$,allWith:()=>et,allSuccesses:()=>$e,all:()=>tt,addFinalizer:()=>x$$,acquireUseRelease:()=>E$$,acquireReleaseInterruptible:()=>q$$,acquireRelease:()=>CG,Tag:()=>T6$,Service:()=>M6$,EffectTypeId:()=>nt,Do:()=>u0$});var J6={};T8(J6,{stripSomeDefects:()=>mi,stripFailures:()=>hi,squashWith:()=>ni,squash:()=>r2,size:()=>Ci,sequential:()=>Ni,reduceWithContext:()=>i2,reduce:()=>si,prettyErrors:()=>Ks,pretty:()=>As,parallel:()=>Bi,originalError:()=>Vs,match:()=>ii,map:()=>pi,linearize:()=>gi,keepDefects:()=>bi,isUnknownException:()=>Hs,isTimeoutException:()=>Ys,isSequentialType:()=>Mi,isRuntimeException:()=>Js,isParallelType:()=>wi,isNoSuchElementException:()=>Zs,isInterruptedOnly:()=>l2,isInterruptedException:()=>ti,isInterrupted:()=>Ei,isInterruptType:()=>Ti,isIllegalArgumentException:()=>ei,isFailure:()=>Li,isFailType:()=>Fi,isExceededCapacityException:()=>Us,isEmptyType:()=>Pi,isEmpty:()=>Ri,isDieType:()=>zi,isDie:()=>qi,isCause:()=>_i,interruptors:()=>ji,interruptOption:()=>yi,interrupt:()=>Oi,flipCauseOption:()=>Ii,flatten:()=>ui,flatMap:()=>ci,find:()=>li,filter:()=>ri,failures:()=>xi,failureOrCause:()=>SO,failureOption:()=>ki,fail:()=>dD,empty:()=>Qi,dieOption:()=>vi,die:()=>uD,defects:()=>Si,contains:()=>oi,as:()=>fi,andThen:()=>di,YieldableError:()=>Vi,UnknownExceptionTypeId:()=>Ki,UnknownException:()=>Ws,TimeoutExceptionTypeId:()=>Ai,TimeoutException:()=>Gs,RuntimeExceptionTypeId:()=>Gi,RuntimeException:()=>Xs,NoSuchElementExceptionTypeId:()=>Hi,NoSuchElementException:()=>$s,InvalidPubSubCapacityExceptionTypeId:()=>Di,InterruptedExceptionTypeId:()=>Yi,InterruptedException:()=>ai,IllegalArgumentExceptionTypeId:()=>Wi,IllegalArgumentException:()=>s2,ExceededCapacityExceptionTypeId:()=>Ui,ExceededCapacityException:()=>Ds,CauseTypeId:()=>Ji});var Ji=eW,Gi=iJ,Yi=sJ,Wi=aJ,Hi=tJ,Di=GH,Ui=eJ,Ai=$2,Ki=Z2,Vi=$X,Qi=u0,dD=Q8,uD=P0,Oi=QZ,Bi=F0,Ni=$0,_i=pJ,Pi=$H,Fi=zM,zi=Y5,Ti=TM,Mi=MM,wi=wM,Ci=CM,Ri=cJ,Li=RM,qi=LM,Ei=c7,l2=W5,xi=d7,Si=u7,ji=H5,ki=o7,SO=T6,Ii=qM,vi=ZV,yi=XV,bi=ZH,gi=xM,hi=dJ,mi=jM,fi=kM,pi=n7,ci=f7,di=IM,ui=XH,oi=vM,r2=Hw,ni=QV,li=a6,ri=bM,ii=t6,si=f9,i2=D5,ai=BV,ti=MH,s2=a8,ei=Uw,$s=yZ,Zs=wH,Xs=OV,Js=Dw,Gs=NV,Ys=Qw,Ws=F5,Hs=Ow,Ds=Aw,Us=Kw,As=M6,Ks=l7,Vs=uM;var Qs="effect/ScheduleInterval",a2=Symbol.for(Qs),jO={[a2]:a2,startMillis:0,endMillis:0},oD=($,Z)=>{if($>Z)return jO;return{[a2]:a2,startMillis:$,endMillis:Z}},ax=V(2,($,Z)=>tx($,Z)===$),tx=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 ex=($)=>{return $.startMillis>=$.endMillis};var $S=V(2,($,Z)=>{let X=Math.max($.startMillis,Z.startMillis),J=Math.min($.endMillis,Z.endMillis);return oD(X,J)}),ZS=($)=>{return xZ($.endMillis-$.startMillis)};var XS=($)=>{return oD($,Number.POSITIVE_INFINITY)};var eZ=oD,kO=jO,JS=ax;var GS=ex;var YS=$S,WS=ZS;var R6=XS;var Bs="effect/ScheduleIntervals",IO=Symbol.for(Bs),lD=($)=>{return{[IO]:IO,intervals:$}};var US=V(2,($,Z)=>{if(!H0(Z.intervals))return $;if(!H0($.intervals))return Z;if(g$($.intervals).startMillis<g$(Z.intervals).startMillis)return DS(D0($.intervals),Z.intervals,g$($.intervals),C0());return DS($.intervals,D0(Z.intervals),g$(Z.intervals),C0())}),DS=($,Z,X,J)=>{let G=$,Y=Z,W=X,H=J;while(H0(G)||H0(Y))if(!H0(G)&&H0(Y))if(W.endMillis<g$(Y).startMillis)H=F(H,O0(W)),W=g$(Y),Y=D0(Y),G=C0();else W=eZ(W.startMillis,g$(Y).endMillis),Y=D0(Y),G=C0();else if(H0(G)&&YW(Y))if(W.endMillis<g$(G).startMillis)H=F(H,O0(W)),W=g$(G),Y=C0(),G=D0(G);else W=eZ(W.startMillis,g$(G).endMillis),Y=C0(),G=D0(G);else if(H0(G)&&H0(Y))if(g$(G).startMillis<g$(Y).startMillis)if(W.endMillis<g$(G).startMillis)H=F(H,O0(W)),W=g$(G),G=D0(G);else W=eZ(W.startMillis,g$(G).endMillis),G=D0(G);else if(W.endMillis<g$(Y).startMillis)H=F(H,O0(W)),W=g$(Y),Y=D0(Y);else W=eZ(W.startMillis,g$(Y).endMillis),Y=D0(Y);else throw Error(q9("Intervals.unionLoop"));return lD(F(H,O0(W),w8))},AS=V(2,($,Z)=>Ns($.intervals,Z.intervals,C0())),Ns=($,Z,X)=>{let J=$,G=Z,Y=X;while(H0(J)&&H0(G)){let W=F(g$(J),YS(g$(G))),H=GS(W)?Y:F(Y,O0(W));if(F(g$(J),JS(g$(G))))J=D0(J);else G=D0(G);Y=H}return lD(w8(Y))},nD=($)=>{return F($.intervals,RJ,c0(()=>kO)).startMillis},KS=($)=>{return F($.intervals,RJ,c0(()=>kO)).endMillis},vO=V(2,($,Z)=>nD($)<nD(Z)),VS=($)=>{return H0($.intervals)},QS=V(2,($,Z)=>vO($,Z)?Z:$);var OS=lD;var yO=US,BS=AS,F4=nD,rD=KS,NS=vO,_S=VS,PS=QS;var gO="Continue",FS="Done",zS=($)=>{return{_tag:gO,intervals:$}},TS=($)=>{return{_tag:gO,intervals:OS(S0($))}},MS={_tag:FS},wS=($)=>{return $._tag===gO},CS=($)=>{return $._tag===FS};var f5=zS;var t0=TS,y8=MS,B1=wS,UZ=CS;class qS{permits;waiters=new Set;taken=0;constructor($){this.permits=$}get free(){return this.permits-this.taken}take=($)=>J2((Z)=>{if(this.free<$){let X=()=>{if(this.free<$)return;this.waiters.delete(X),Z(H$(()=>{if(this.free<$)return this.take($);return this.taken+=$,w($)}))};return this.waiters.add(X),E(()=>{this.waiters.delete(X)})}Z(H$(()=>{if(this.free<$)return this.take($);return this.taken+=$,w($)}))});updateTakenUnsafe($,Z){if(this.taken=Z(this.taken),this.waiters.size>0)$.getFiberRef(e9).scheduleTask(()=>{let X=this.waiters.values(),J=X.next();while(J.done===!1&&this.free>0)J.value(),J=X.next()},$.getFiberRef(r9),$);return w(this.free)}updateTaken($){return x$((Z)=>this.updateTakenUnsafe(Z,$))}resize=($)=>z0(x$((Z)=>{if(this.permits=$,this.free<0)return T$;return this.updateTakenUnsafe(Z,(X)=>X)}));release=($)=>this.updateTaken((Z)=>Z-$);releaseAll=this.updateTaken(($)=>0);withPermits=($)=>(Z)=>j0((X)=>z(X(this.take($)),(J)=>v8(X(Z),this.release(J))));withPermitsIfAvailable=($)=>(Z)=>j0((X)=>H$(()=>{if(this.free<$)return j5;return this.taken+=$,v8(X(QX(Z)),this.release($))}))}var iD=($)=>new qS($),ES=($)=>E(()=>iD($));class xS extends K4{isOpen;waiters=[];scheduled=!1;constructor($){super();this.isOpen=$}commit(){return this.await}unsafeSchedule($){if(this.scheduled||this.waiters.length===0)return T$;return this.scheduled=!0,$.currentScheduler.scheduleTask(this.flushWaiters,$.getFiberRef(r9),$),T$}flushWaiters=()=>{this.scheduled=!1;let $=this.waiters;this.waiters=[];for(let Z=0;Z<$.length;Z++)$[Z](bZ)};open=x$(($)=>{if(this.isOpen)return T$;return this.isOpen=!0,this.unsafeSchedule($)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=x$(($)=>{if(this.isOpen)return T$;return this.unsafeSchedule($)});await=J2(($)=>{if(this.isOpen)return $(T$);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 fO=($)=>new xS($??!1),SS=($)=>E(()=>fO($)),jS=($)=>sD($,fD),kS=V(2,($,Z)=>I(pO($,Z),(X)=>X[0])),pO=V(2,($,Z)=>{let X=Y0(Z);return z(_8(),(J)=>I(tD(x()),(G)=>[aZ(Fs($,X,G),J),zs(G)]))}),LS=($,Z,X)=>{let J=MZ(Y0(Z));return F(N8(),IZ((G)=>$9($,G)),I((G)=>j([X+J,G])))},Fs=($,Z,X)=>j0((J)=>F(G9((G)=>G.currentTimeMillis),z((G)=>Cs(X,(Y)=>{switch(Y._tag){case"None":return j(LS($,Z,G));case"Some":{let[W]=Y.value;return W-G<=0?j(LS($,Z,G)):x()}}})),z((G)=>I$(G)?a1("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):J(HZ(G.value[1]))))),zs=($)=>J9($,x()),IS=V(2,($,Z)=>sD($,(X)=>Z(TX(X)))),sD=V(2,($,Z)=>z(Wx,(X)=>F(dO($,X),v8(z(X.value,Z))))),vS=V(($)=>f8($[0]),($,Z)=>Z?.discard?q8($,Q1):I(OZ($,Q1),TX)),cO=V(2,($,Z)=>x$((X,J)=>{let G=Z,Y=o2($,X,J.runtimeFlags,C6);if(G.state._tag==="Open"){let W=()=>O8((U)=>s(U,Y.id())?T$:z0(G4(Y))),H={};G.state.finalizers.set(H,W),Y.addObserver(()=>{if(G.state._tag==="Closed")return;G.state.finalizers.delete(H)})}else Y.unsafeInterruptAsFork(X.id());return w(Y)})),aD=($)=>X6((Z)=>cO($,Z)),yS=($)=>NZ($),bS=($)=>H$(()=>z($,NZ)),hO=Symbol.for("effect/Effect/memoizeFunction.key");class mO{a;eq;[hO]=hO;constructor($,Z){this.a=$,this.eq=Z}[G$]($){if(u($,hO))if(this.eq)return this.eq(this.a,$.a);else return s(this.a,$.a);return!1}[Y$](){return this.eq?0:R$(this,a(this.a))}}var gS=($,Z)=>{return F(E(()=>D1()),z(tD),I((X)=>(J)=>F(X.modifyEffect((G)=>{let Y=F(G,N0(new mO(J,Z)));if(I$(Y))return F(N8(),IZ((W)=>F(OX($(J)),$9(W),Q1)),I((W)=>[W,F(G,hZ(new mO(J,Z),W))]));return w([Y.value,G])}),z(HZ),z(([G,Y])=>F(x5(G),i$(Y))))))},hS=V(2,($,Z)=>F(V0($),pD(V0(Z)),(X)=>kZ(X))),dO=V(2,($,Z)=>{return a0(mD,(J)=>J.zip(Z))($)}),mS=V(2,($,Z)=>uO($,{onTimeout:()=>Vw(Z),duration:Z})),uO=V(2,($,{duration:Z,onTimeout:X})=>kZ(t2($,{onTimeout:()=>s8(X),onSuccess:w,duration:Z}))),fS=V(2,($,{duration:Z,onTimeout:X})=>kZ(t2($,{onTimeout:()=>u9(X),onSuccess:w,duration:Z}))),pS=V(2,($,Z)=>t2($,{duration:Z,onSuccess:j,onTimeout:x})),t2=V(2,($,{duration:Z,onSuccess:X,onTimeout:J})=>O8((G)=>j0((Y)=>LO(Y($),n9(S5(Z)),{onSelfWin:(W,H)=>z(W.await,(U)=>{if(U._tag==="Success")return z(W.inheritAll,()=>i$(vZ(H,G),X(U.value)));else return z(vZ(H,G),()=>b$(U.cause))}),onOtherWin:(W,H)=>z(W.await,(U)=>{if(U._tag==="Success")return z(W.inheritAll,()=>i$(vZ(H,G),J()));else return z(vZ(H,G),()=>b$(U.cause))}),otherScope:C6})))),Ts="effect/Ref/SynchronizedRef",Ms=Symbol.for(Ts),ws={_A:($)=>$};class cS extends K4{ref;withLock;[Ms]=ws;[iH]=JQ;[Q4]=Q4;constructor($,Z){super();this.ref=$,this.withLock=Z,this.get=RZ(this.ref)}get;commit(){return this.get}modify($){return this.modifyEffect((Z)=>w($(Z)))}modifyEffect($){return this.withLock(F(z(RZ(this.ref),$),z(([Z,X])=>i$(J9(this.ref,X),Z))))}}var tD=($)=>E(()=>oO($)),oO=($)=>{let Z=WX($),X=iD(1);return new cS(Z,X.withPermits(1))},Cs=V(2,($,Z)=>$.modifyEffect((X)=>{let J=Z(X);switch(J._tag){case"None":return w([X,X]);case"Some":return I(J.value,(G)=>[G,G])}})),dS=V(2,($,Z)=>e2($,Z,(X,J)=>[X,J])),uS=V(2,($,Z)=>e2($,Z,(X,J)=>X)),oS=V(2,($,Z)=>e2($,Z,(X,J)=>J)),e2=V(3,($,Z,X)=>({...xH,commit(){return NZ(this)},[W1]:PX,id:()=>F($.id(),bW(Z.id())),await:F($.await,kZ,W9(kZ(Z.await),X,{concurrent:!0}),V0),children:$.children,inheritAll:j$(Z.inheritAll,$.inheritAll),poll:sZ($.poll,Z.poll,(J,G)=>F(J,lZ((Y)=>F(G,x0((W)=>EV(Y,W,{onSuccess:X,onFailure:F0})))))),interruptAsFork:(J)=>j$($.interruptAsFork(J),Z.interruptAsFork(J)),pipe(){return n(this,arguments)}})),nS=V(($)=>c$($[0]),($,Z,X)=>z($,(J)=>P4(Z(J),X).pipe(I((G)=>Object.assign({},J,G)))));var lS=Symbol.for("effect/ManagedRuntime");var rS="ExtendScope",iS="Fold",lO="Fresh",sS="FromEffect",aS="Scoped",tS="Suspend",eS="Provide",rO="ProvideMerge",$j="MergeAll",Zj="ZipWith";var U9={};T8(U9,{zipWith:()=>Ba,zipRight:()=>Oa,zipLeft:()=>Qa,zip:()=>Va,void:()=>Ka,unsafeRoots:()=>Ha,succeed:()=>Aa,status:()=>Ua,scoped:()=>Da,roots:()=>Wa,pretty:()=>Ya,poll:()=>Ga,orElseEither:()=>Ja,orElse:()=>Xa,never:()=>Za,match:()=>$a,mapFiber:()=>es,mapEffect:()=>ts,map:()=>as,joinAll:()=>ss,join:()=>is,isRuntimeFiber:()=>js,isFiber:()=>Ss,interrupted:()=>os,interruptFork:()=>rs,interruptAsFork:()=>ns,interruptAs:()=>z4,interruptAllAs:()=>ZG,interruptAll:()=>ls,interrupt:()=>us,inheritAll:()=>ds,id:()=>ks,getCurrentFiber:()=>cs,fromEffect:()=>ps,failCause:()=>fs,fail:()=>ms,dumpAll:()=>hs,dump:()=>gs,done:()=>bs,children:()=>vs,awaitAll:()=>Is,await:()=>$G,all:()=>ys,RuntimeFiberTypeId:()=>Es,Order:()=>xs,FiberTypeId:()=>qs});var qs=W1,Es=I2,xs=yq,Ss=bq,js=k2,ks=pq,$G=zD;var Is=fD,vs=gq,ys=TX,bs=I5,gs=TD,hs=hq,ms=mq,fs=rQ,ps=fq,cs=eq,ds=MD,us=G4,os=cq,z4=vZ,ns=wD,ls=dq,ZG=v2,rs=nx,is=NZ,ss=lx,as=PD,ts=iQ,es=uq,$a=oq,Za=nq,Xa=sQ,Ja=lq,Ga=rq,Ya=iq,Wa=sq,Ha=aQ,Da=rx,Ua=aq,Aa=tQ,Ka=tq;var Va=dS,Qa=uS,Oa=oS,Ba=e2;var MX=($)=>function(){if(arguments.length===1){let Z=arguments[0];return(X,...J)=>$(Z,X,...J)}return $.apply(this,arguments)},wX=MX(($,Z,X)=>{let J=hW(),G=[[B8,[[J,$.context]]]];if(X?.scheduler)G.push([e9,[[J,X.scheduler]]]);let Y=aw($.fiberRefs,{entries:G,forkAs:J});if(X?.updateRefs)Y=X.updateRefs(Y,J);let W=new bD(J,Y,$.runtimeFlags),H=Z;if(X?.scope)H=z(xO(X.scope,e8),(A)=>j$(V2(A,O8((Q)=>s(Q,W.id())?T$:vZ(W,Q))),iZ(Z,(Q)=>EO(A,Q))));let U=W.currentSupervisor;if(U!==b5)U.onStart($.context,H,x(),W),W.addObserver((A)=>U.onEnd(A,W));if(C6.add($.runtimeFlags,W),X?.immediate===!1)W.resume(H);else W.start(H);return W}),eD=MX(($,Z,X={})=>{let J=wX($,Z,X);if(X.onExit)J.addObserver((G)=>{X.onExit(G)});return(G,Y)=>eD($)(F(J,z4(G??d0)),{...Y,onExit:Y?.onExit?(W)=>Y.onExit(RV(W)):void 0})}),Xj=MX(($,Z)=>{let X=aO($)(Z);if(X._tag==="Failure")throw sO(X.effect_instruction_i0);return X.effect_instruction_i0});class Jj 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 Na=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new Jj($);return Error.stackTraceLimit=Z,X};var iO=Symbol.for("effect/Runtime/FiberFailure"),XG=Symbol.for("effect/Runtime/FiberFailure/Cause");class Gj extends Error{[iO];[XG];constructor($){let Z=l7($)[0];super(Z?.message||"An error has occurred");if(this[iO]=iO,this[XG]=$,this.name=Z?`(FiberFailure) ${Z.name}`:"FiberFailure",Z?.stack)this.stack=Z.stack}toJSON(){return{_id:"FiberFailure",cause:this[XG].toJSON()}}toString(){return"(FiberFailure) "+M6(this[XG],{renderErrorCause:!0})}[C$](){return this.toString()}}var sO=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new Gj($);return Error.stackTraceLimit=Z,X};var Yj=($)=>{let Z=$;switch(Z._op){case"Failure":case"Success":return Z;case"Left":return D4(Z.left);case"Right":return Z0(Z.right);case"Some":return Z0(Z.value);case"None":return D4(new yZ)}},aO=MX(($,Z)=>{let X=Yj(Z);if(X)return X;let J=new WQ,G=wX($)(Z,{scheduler:J});J.flush();let Y=G.unsafePoll();if(Y)return Y;return RH(HH(Na(G),qH(G)))}),Wj=MX(($,Z,X)=>tO($,Z,X).then((J)=>{switch(J._tag){case J0:return J.effect_instruction_i0;case X0:throw sO(J.effect_instruction_i0)}})),tO=MX(($,Z,X)=>new Promise((J)=>{let G=Yj(Z);if(G)J(G);let Y=wX($)(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 eO{context;runtimeFlags;fiberRefs;constructor($,Z,X){this.context=$,this.runtimeFlags=Z,this.fiberRefs=X}pipe(){return n(this,arguments)}}var $B=($)=>new eO($.context,$.runtimeFlags,$.fiberRefs),CX=()=>x$(($,Z)=>w(new eO($.getFiberRef(B8),Z.runtimeFlags,$.getFiberRefs()))),Hj=cK(F6,mK,hK),L6=$B({context:VZ(),runtimeFlags:Hj,fiberRefs:tw()});var Dj=eD(L6),Uj=wX(L6),Aj=Wj(L6),Kj=tO(L6),Vj=Xj(L6),Qj=aO(L6),Oj=($)=>H$(()=>{let Z=void 0;return z(N8(),(X)=>z(CX(),(J)=>j0((G)=>j$(Q1(G(B0($((Y)=>eD(J)($9(Y,X))),{onFailure:(Y)=>_2(X,Y),onSuccess:(Y)=>{return Z=Y,T$}}))),G(Z9(HZ(X),()=>Z??T$))))))});var Bj=V(2,($,Z)=>$.modifyEffect(Z));var Pa="effect/Layer",ZU=Symbol.for(Pa),Fa={_RIn:($)=>$,_E:($)=>$,_ROut:($)=>$},G6={[ZU]:Fa,pipe(){return n(this,arguments)}},za="effect/Layer/MemoMap",JG=Symbol.for(za),XB=u6()("effect/Layer/CurrentMemoMap",{defaultValue:()=>Ta()}),YG=($)=>u($,ZU),JB=($)=>{return $._op_layer===lO};class GB{ref;[JG];constructor($){this.ref=$,this[JG]=JG}getOrElseMemoize($,Z){return F(Bj(this.ref,(X)=>{let J=X.get($);if(J!==void 0){let[G,Y]=J,W=F(G,z(([H,U])=>F(x5(H),i$(U))),iZ(T5({onFailure:()=>T$,onSuccess:()=>W4(Z,Y)})));return w([W,X])}return F(R5(0),z((G)=>F(N8(),z((Y)=>F(R5(()=>T$),I((W)=>{let H=j0((A)=>F(m5(),z((Q)=>F(A(z(zj($,Q,!0),(O)=>OX(O(this)))),V0,z((O)=>{switch(O._tag){case X0:return F(_2(Y,O.effect_instruction_i0),j$(_5(Q,O)),j$(E$(O.effect_instruction_i0)));case J0:return F(J9(W,(P)=>F(_5(Q,P),a7(GQ(G,(_)=>[_===1,_-1])),z0)),j$(L5(G,(P)=>P+1)),j$(W4(Z,(P)=>F(E(()=>X.delete($)),j$(RZ(W)),z((_)=>_(P))))),j$(TV(Y,O.effect_instruction_i0)),i$(O.effect_instruction_i0[1]))}}))))),U=[F(HZ(Y),iZ(M5({onFailure:()=>T$,onSuccess:()=>L5(G,(A)=>A+1)}))),(A)=>F(RZ(W),z((Q)=>Q(A)))];return[H,JB($)?X:X.set($,U)]}))))))}),kZ)}}var YB=H$(()=>I(tD(new Map),($)=>new GB($))),Ta=()=>new GB(oO(new Map)),Fj=($)=>X6((Z)=>T4($,Z)),T4=V(2,($,Z)=>z(YB,(X)=>XU($,X,Z))),XU=V(3,($,Z,X)=>z(zj($,X),(J)=>N4(J(Z),XB,Z))),zj=($,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)=>X6((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,T4(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),z((Y)=>F(G.getOrElseMemoize(J.second,Z),aZ(Y)))));case"Scoped":return X?E(()=>(G)=>D9(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 OH(function*(){let G=yield*x8(Z,z2),Y=yield*x8(G,e8),W=yield*x8(G,e8);return(H)=>F(H.getOrElseMemoize(J.first,Y),W9(H.getOrElseMemoize(J.second,W),J.zipK,{concurrent:!0}))});case"MergeAll":{let G=J.layers;return I(x8(Z,z2),(Y)=>(W)=>{let H=Array(G.length);return I(V1(G,t7(function*(U,A){let Q=yield*x8(Y,e8),O=yield*W.getOrElseMemoize(U,Q);H[A]=O}),!1,!1),()=>JK(...H))})}}},p5=V(2,($,Z)=>UU($,{onFailure:Z,onSuccess:N1})),WB=V(2,($,Z)=>DU($,{onFailure:Z,onSuccess:N1})),HB=($)=>WG(uD($)),Tj=($)=>GU(()=>uD($())),Mj=($)=>HU($,()=>VZ()),JU=()=>fZ(_8()),wj=($)=>{let Z=Object.create(G6);return Z._op_layer=rS,Z.layer=$,Z},DB=($)=>WG(dD($)),UB=($)=>GU(()=>dD($())),WG=($)=>fZ(E$($)),GU=($)=>fZ(u9($)),A9=V(2,($,Z)=>UU($,{onFailure:DB,onSuccess:Z})),Cj=V(2,($,Z)=>A9($,r0(Z))),AB=($)=>{let Z=Object.create(G6);return Z._op_layer=lO,Z.layer=$,Z},M4=V(2,($,Z)=>{let X=k7($),J=X?$:Z;return fZ(I(X?Z:$,(Y)=>U8(J,Y)))}),Rj=($)=>fZ(I($,()=>VZ()));function fZ($){let Z=Object.create(G6);return Z._op_layer=sS,Z.effect=$,Z}var Lj=V(3,($,Z,X)=>YU($,R0(Z,X))),YU=V(2,($,Z)=>{let X=Object.create(G6);return X._op_layer="Locally",X.self=$,X.f=Z,X}),WU=V(3,($,Z,X)=>YU($,a0(Z,X))),qj=($,Z)=>c5(mZ($,Z)),Ej=($,Z)=>c5(LZ($,Z)),xj=($,Z,X)=>fZ(I($,(J)=>U8(Z,X(J)))),Sj=($)=>gD(j$(X6((Z)=>F($,T4(Z))),J4)),jj=function(){if(arguments.length===1)return($)=>Nj(arguments[0],$);return Nj(arguments[0],arguments[1])},Nj=($,Z)=>RX($,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",Ma(W)},has:g6})),Ma=($)=>{let Z=wZ($);function X(){return Z}return Object.assign(X,Z),Object.setPrototypeOf(X,Object.getPrototypeOf(Z)),X},HU=V(2,($,Z)=>A9($,(X)=>N1(Z(X)))),kj=V(2,($,Z)=>p5($,(X)=>UB(()=>Z(X)))),DU=V(2,($,{onFailure:Z,onSuccess:X})=>{let J=Object.create(G6);return J._op_layer=iS,J.layer=$,J.failureK=Z,J.successK=X,J}),UU=V(2,($,{onFailure:Z,onSuccess:X})=>DU($,{onFailure:(J)=>{let G=SO(J);switch(G._tag){case"Left":return Z(G.left);case"Right":return WG(G.right)}},onSuccess:X})),Ij=($)=>X6((Z)=>I(VD(T4($,Z)),fZ)),KB=V(2,($,Z)=>VB($,Z,(X,J)=>o8(X,J))),AU=(...$)=>{let Z=Object.create(G6);return Z._op_layer=$j,Z.layers=$,Z},vj=($)=>p5($,(Z)=>HB(Z)),yj=V(2,($,Z)=>p5($,Z)),bj=($)=>KB(JU(),$),gj=V(4,($,Z,X,J)=>HU($,(G)=>U8(X,J(u8(G,Z))))),hj=V(2,($,Z)=>DG(()=>{let X=WZ("effect/Layer/retry/{ state: unknown }");return F(RX(X,{state:Z.initial}),A9((J)=>mj($,Z,X,F(J,r0(X)).state)))})),mj=($,Z,X,J)=>{return F($,p5((G)=>F(wa(Z,X,G,J),A9((Y)=>AB(mj($,Z,X,F(Y,r0(X)).state))))))},wa=($,Z,X,J)=>{return M4(Z,F(G1,z((G)=>F($.step(G,X,J),z(([Y,W,H])=>UZ(H)?L$(X):F(VX(xZ(F4(H.intervals)-G)),i$({state:Y})))))))},w4=V(2,($,Z)=>{let X=k7($),J=X?$:Z;return HG(I(X?Z:$,(Y)=>U8(J,Y)))}),c5=($)=>HG(F($,i$(VZ()))),HG=($)=>{let Z=Object.create(G6);return Z._op_layer=aS,Z.effect=$,Z},fj=HG(I(h5(m5(),($,Z)=>$.close(Z)),($)=>U8(qO,$))),pj=($)=>M4($,$),RX=V(2,($,Z)=>{let X=k7($);return fZ(w(U8(X?$:Z,X?Z:$)))}),N1=($)=>{return fZ(w($))},cj=N1(VZ()),DG=($)=>{let Z=Object.create(G6);return Z._op_layer=tS,Z.evaluate=$,Z},KU=V(2,($,Z)=>{let X=k7($),J=X?$:Z,G=X?Z:$;return fZ(E(()=>U8(J,G())))}),dj=($)=>{return fZ(E($))},uj=V(2,($,Z)=>A9($,(X)=>fZ(i$(Z(X),X)))),oj=V(2,($,Z)=>p5($,(X)=>fZ(z(Z(X),()=>L$(X))))),nj=V(2,($,Z)=>WB($,(X)=>fZ(z(Z(X),()=>E$(X))))),lj=($)=>F(X6((Z)=>T4($,Z)),z((Z)=>F(CX(),aZ(Z)))),rj=V(2,($,Z)=>z(X6((X)=>XU($,Z,X)),(X)=>F(CX(),aZ(X)))),d5=V(2,($,Z)=>DG(()=>{let X=Object.create(G6);return X._op_layer=eS,X.first=Object.create(G6,{_op_layer:{value:rO,enumerable:!0},first:{value:JU(),enumerable:!0},second:{value:Array.isArray(Z)?AU(...Z):Z},zipK:{value:(J,G)=>F(J,o8(G))}}),X.second=$,X})),ij=V(2,($,Z)=>{let X=Object.create(G6);return X._op_layer=rO,X.first=Z,X.second=d5($,Z),X.zipK=(J,G)=>{return F(J,o8(G))},X}),VB=V(3,($,Z,X)=>DG(()=>{let J=Object.create(G6);return J._op_layer=Zj,J.first=$,J.second=Z,J.zipK=X,J})),QB=($)=>{let Z=WZ("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return A9(M4(Z,$),(X)=>r0(X,Z))},GG=($)=>{let Z=WZ("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return A9(w4(Z,$),(X)=>r0(X,Z))},sj=V(($)=>YG($[0]),function(){let $=arguments;return WU($[0],i9,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),aj=V(($)=>YG($[0]),function(){let $=arguments;return WU($[0],e7,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),tj=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return GG(I(X?.onEnd?IZ(Z6(Z,X),(G)=>Y9((Y)=>X.onEnd(G,Y))):Z6(Z,X),(G)=>$U(J,G)))}return(J)=>GG(I(X?.onEnd?IZ(Z6(Z,X),(G)=>Y9((Y)=>X.onEnd(G,Y))):Z6(Z,X),(G)=>$U(J,G)))},$U=V(2,($,Z)=>d5($,N1(U8(gZ,Z)))),_j=V(2,($,Z)=>n2((X)=>z(T4(Z,X),(J)=>LH($,J)))),Pj=V(2,($,Z)=>{let X=w5(L6.fiberRefs,Z.fiberRefs),J=r8(L6.runtimeFlags,Z.runtimeFlags);return j0((G)=>x$((Y)=>{let W=Y.getFiberRef(B8),H=Y.getFiberRefs(),U=C5(Y.id(),H)(X),A=Y.currentRuntimeFlags,Q=h9(J)(A),O=w5(U,H),P=r8(Q,A);return Y.setFiberRefs(U),Y.currentRuntimeFlags=Q,v8(LH(G($),o8(W,Z.context)),x$((_)=>{return _.setFiberRefs(C5(_.id(),_.getFiberRefs())(O)),_.currentRuntimeFlags=h9(P)(_.currentRuntimeFlags),T$}))}))}),VU=V(2,($,Z)=>{if(Array.isArray(Z))return _j($,AU(...Z));else if(YG(Z))return _j($,Z);else if(XK(Z))return LH($,Z);else if(lS in Z)return z(Z.runtimeEffect,(X)=>Pj($,X));else return Pj($,Z)});var ej=I(E8(M0),r0(Z1)),$k=($)=>CZ(M0,(Z)=>$(r0(Z,Z1))),Zk=V(2,($,Z)=>a0($,M0,e$(Z1,Z))),Xk=($)=>LZ(M0,e$(Z1,$));var Ra=function(){let $=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends $X{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}(),Jk=($)=>{let Z={BaseEffectError:class extends Ra{_tag=$}};return Z.BaseEffectError.prototype.name=$,Z.BaseEffectError};var OB=Symbol.for("effect/DateTime"),BB=Symbol.for("effect/DateTime/TimeZone"),Wk={[OB]:OB,pipe(){return n(this,arguments)},[C$](){return this.toString()},toJSON(){return qX(this).toJSON()}},qa={...Wk,_tag:"Utc",[Y$](){return R$(this,d4(this.epochMillis))},[G$]($){return KG($)&&$._tag==="Utc"&&this.epochMillis===$.epochMillis},toString(){return`DateTime.Utc(${qX(this).toJSON()})`}},Ea={...Wk,_tag:"Zoned",[Y$](){return F(d4(this.epochMillis),V$(a(this.zone)),R$(this))},[G$]($){return KG($)&&$._tag==="Zoned"&&this.epochMillis===$.epochMillis&&s(this.zone,$.zone)},toString(){return`DateTime.Zoned(${ia(this)})`}},Hk={[BB]:BB,[C$](){return this.toString()}},xa={...Hk,_tag:"Named",[Y$](){return R$(this,u$(`Named:${this.id}`))},[G$]($){return LX($)&&$._tag==="Named"&&this.id===$.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},Sa={...Hk,_tag:"Offset",[Y$](){return R$(this,u$(`Offset:${this.offset}`))},[G$]($){return LX($)&&$._tag==="Offset"&&this.offset===$.offset},toString(){return`TimeZone.Offset(${Kk(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},K9=($,Z,X)=>{let J=Object.create(Ea);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},KG=($)=>u($,OB),ja=($)=>KG($[0]),LX=($)=>u($,BB);var Dk=($)=>LX($)&&$._tag==="Named";var ka=($)=>$._tag==="Zoned";var Uk=($)=>{let Z=Object.create(qa);return Z.epochMillis=$,Object.defineProperty(Z,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),Z},OU=($)=>{let Z=$.getTime();if(Number.isNaN(Z))throw new s2("Invalid date");return Uk(Z)},Ia=($)=>{if(KG($))return $;else if($ instanceof Date)return OU($);else if(typeof $==="object"){let Z=new Date(0);return oa(Z,$),OU(Z)}else if(typeof $==="string"&&!va($))return OU(new Date($+"Z"));return OU(new Date($))},va=($)=>/Z|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test($),ya=-8639999956800000,ba=8639999949600000,BU=($,Z)=>{if(Z?.timeZone===void 0&&KG($)&&ka($))return $;let X=Ia($);if(X.epochMillis<ya||X.epochMillis>ba)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=NB(G)}else if(LX(Z?.timeZone))J=Z.timeZone;else if(typeof Z?.timeZone==="number")J=NB(Z.timeZone);else{let G=_B(Z.timeZone);if(I$(G))throw new s2(`Invalid time zone: ${Z.timeZone}`);J=G.value}if(Z?.adjustForTimeZone!==!0)return K9(X.epochMillis,J,X.partsUtc);return Ok(X.epochMillis,J,Z?.disambiguation??"compatible")};var AG=_$("effect/DateTime/validZoneCache",()=>new Map),ga={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},ha=($)=>{let Z=$.resolvedOptions().timeZone;if(AG.has(Z))return AG.get(Z);let X=Object.create(xa);return X.id=Z,X.format=$,AG.set(Z,X),X},ma=($)=>{if(AG.has($))return AG.get($);try{return ha(new Intl.DateTimeFormat("en-US",{...ga,timeZone:$}))}catch{throw new s2(`Invalid time zone: ${$}`)}},NB=($)=>{let Z=Object.create(Sa);return Z.offset=$,Z},fa=y3(ma);var pa=/^(?:GMT|[+-])/,_B=($)=>{if(pa.test($)){let Z=Bk($);return Z===null?x():j(NB(Z))}return fa($)};var qX=($)=>new Date($.epochMillis),u5=($)=>{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},Ak=($)=>{return u5($).getTime()-da($)},Kk=($)=>{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")}`},ca=($)=>Kk(Ak($)),da=($)=>$.epochMillis;var Vk=($)=>({millis:$.getUTCMilliseconds(),seconds:$.getUTCSeconds(),minutes:$.getUTCMinutes(),hours:$.getUTCHours(),day:$.getUTCDate(),weekDay:$.getUTCDay(),month:$.getUTCMonth()+1,year:$.getUTCFullYear()}),Qk=($)=>{if($._tag==="Utc")return ua($);else if($.partsAdjusted!==void 0)return $.partsAdjusted;return $.partsAdjusted=la($,Vk),$.partsAdjusted},ua=($)=>{if($.partsUtc!==void 0)return $.partsUtc;return $.partsUtc=ra($,Vk),$.partsUtc};var oa=($,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 Gk=86400000,Ok=($,Z,X)=>{if(Z._tag==="Offset")return K9($-Z.offset,Z);let J=UG($-Gk,$,Z),G=UG($+Gk,$,Z);if(J===G)return K9($-J,Z);let Y=J<G,W=J-G;if(Y){if(UG($-G,$,Z)===G)return K9($-G,Z);let A=K9($-J,Z),Q=u5(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 K9($-G,Z);case"compatible":case"later":return A}return A}if(UG($-J,$,Z)===J){if(X==="earlier"||X==="compatible")return K9($-J,Z);if(UG($-J+W,$+W,Z)===J)return K9($-J,Z);if(X==="reject"){let A=new Date($).toISOString();throw RangeError(`Ambiguous time: ${A} occurs twice in time zone ${Z.id}`)}}return K9($-G,Z)},na=/([+-])(\d{2}):(\d{2})$/,Bk=($)=>{let Z=na.exec($);if(Z===null)return null;let[,X,J,G]=Z;return(X==="+"?1:-1)*(Number(J)*60+Number(G))*60*1000},UG=($,Z,X)=>{let J=X.format.formatToParts($).find((Y)=>Y.type==="timeZoneName")?.value??"";if(J==="GMT")return 0;let G=Bk(J);if(G===null)return Ak(K9(Z,X));return G},Nk=V(ja,($,Z,X)=>{if($._tag==="Utc"){let Y=qX($);return Z(Y),Uk(Y.getTime())}let J=u5($),G=new Date(J.getTime());return Z(G),Ok(G.getTime(),$.zone,X?.disambiguation??"compatible")});var la=V(2,($,Z)=>Z(u5($))),ra=V(2,($,Z)=>Z(qX($)));var Yk=($)=>{let Z=u5($);return $._tag==="Utc"?Z.toISOString():`${Z.toISOString().slice(0,-1)}${ca($)}`},ia=($)=>$.zone._tag==="Offset"?Yk($):`${Yk($)}[${$.zone.id}]`;var _k=($)=>$.length>0;var FB=Symbol.for("effect/Cron"),ta={[FB]:FB,[G$]($){return zB($)&&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))),R$(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)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},zB=($)=>u($,FB),ea=($)=>{let Z=Object.create(ta);Z.seconds=new Set(D8($.seconds??[0],BZ)),Z.minutes=new Set(D8($.minutes,BZ)),Z.hours=new Set(D8($.hours,BZ)),Z.days=new Set(D8($.days,BZ)),Z.months=new Set(D8($.months,BZ)),Z.weekdays=new Set(D8($.weekdays,BZ)),Z.and=$.and===!0,Z.tz=H8($.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),H=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:H[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:H[H.length-1]??6},Z.next={second:Y6(X,60,"next"),minute:Y6(J,60,"next"),hour:Y6(G,24,"next"),day:Y6(Y,32,"next"),month:Y6(W,13,"next"),weekday:Y6(H,7,"next")},Z.prev={second:Y6(X,60,"prev"),minute:Y6(J,60,"prev"),hour:Y6(G,24,"prev"),day:Y6(Y,32,"prev"),month:Y6(W,13,"prev"),weekday:Y6(H,7,"prev")},Z},Y6=($,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},Pk=Symbol.for("effect/Cron/errors/ParseError");class q6 extends Jk("CronParseError"){[Pk]=Pk}var zk=($,Z)=>{let X=$.trim().split(/\s+/).filter(_k);if(X.length!==5&&X.length!==6)return f$(new q6({message:"Invalid number of segments in cron expression",input:$}));if(X.length===5)X.unshift("0");let[J,G,Y,W,H,U]=X,A=Z===void 0||LX(Z)?S$(Z):E3(_B(Z),()=>new q6({message:"Invalid time zone in cron expression",input:Z}));return j3({tz:A,seconds:xX(J,Gt),minutes:xX(G,Yt),hours:xX(Y,Wt),days:xX(W,Ht),months:xX(H,Dt),weekdays:xX(U,Ut)}).pipe(k9(({days:Q,hours:O,minutes:P,months:_,seconds:T,tz:M,weekdays:S})=>ea({tz:M,seconds:T.values,minutes:P.values,hours:O.values,days:Q.values,months:_.values,weekdays:S.values,and:(Q.wildcard||S.wildcard)&&Q.values.size!==0&&S.values.size!==0})))};var Tk=($,Z)=>{let X=BU(Z,{timeZone:l0($.tz)}).pipe(Qk);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)},VG=($)=>new Date(Date.UTC($.getUTCFullYear(),$.getUTCMonth()+1,0)).getUTCDate(),Mk=($,Z)=>{return $t($,Z,"next")};var $t=($,Z,X)=>{let J=l0($.tz),G=BU(Z??new Date,{timeZone:J}),Y=X==="prev",W=Y?-1:1,H=$[X],U=Y?$.last:$.first,A=Y?(_,T)=>_<T:(_,T)=>_>T,O=J!==void 0&&Dk(J)&&J.id==="UTC"?TZ:(_)=>{let T=BU(_,{timeZone:G.zone,adjustForTimeZone:!0,disambiguation:Y?"later":void 0}).pipe(u5),M=_.getTime()-T.getTime();if(Y?M!==0:M>0)_.setTime(T.getTime())},P=Nk(G,(_)=>{_.setUTCSeconds(_.getUTCSeconds()+W,0);for(let T=0;T<1e4;T++){if($.seconds.size!==0){let M=_.getUTCSeconds(),S=H.second[M];if(S===void 0){_.setUTCMinutes(_.getUTCMinutes()+W,U.second),O(_);continue}if(A(S,M)){_.setUTCSeconds(S),O(_);continue}}if($.minutes.size!==0){let M=_.getUTCMinutes(),S=H.minute[M];if(S===void 0){_.setUTCHours(_.getUTCHours()+W,U.minute,U.second),O(_);continue}if(A(S,M)){_.setUTCMinutes(S,U.second),O(_);continue}}if($.hours.size!==0){let M=_.getUTCHours(),S=H.hour[M];if(S===void 0){_.setUTCDate(_.getUTCDate()+W),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}if(A(S,M)){_.setUTCHours(S,U.minute,U.second),O(_);continue}}if($.weekdays.size!==0||$.days.size!==0)if($.and){let M=$.days.size===0||$.days.has(_.getUTCDate()),S=$.weekdays.size===0||$.weekdays.has(_.getUTCDay());if(!M||!S){_.setUTCDate(_.getUTCDate()+W),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}else{let M=Y?-1/0:1/0,S=Y?-1/0:1/0;if($.weekdays.size!==0){let r=_.getUTCDay(),J$=H.weekday[r];if(J$===void 0)M=Y?r-7+U.weekday:7-r+U.weekday;else M=J$-r}if($.days.size!==0&&M!==0){let r=_.getUTCDate(),J$=H.day[r];if(J$===void 0)if(Y){let B$=VG(new Date(Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),0)));S=-(r+(B$-U.day))}else S=VG(_)-r+U.day;else if(!Y&&J$>VG(_))S=VG(_)-r+U.day;else S=J$-r}let K$=Y?Math.max(M,S):Math.min(M,S);if(K$!==0){_.setUTCDate(_.getUTCDate()+K$),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}if($.months.size!==0){let M=_.getUTCMonth()+1,S=H.month[M],K$=(r)=>{if($.days.size!==0&&$.weekdays.size===0)return U.day;let J$=VG(new Date(Date.UTC(_.getUTCFullYear(),r,1)));return Y?J$:1};if(S===void 0){_.setUTCFullYear(_.getUTCFullYear()+W),_.setUTCMonth(U.month,K$(U.month)),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}if(A(S,M)){let r=S-1;_.setUTCMonth(r,K$(r)),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}return}throw Error("Unable to find next cron date")});return qX(P)};var Zt=h6(($,Z)=>$.and===Z.and&&EX($.seconds,Z.seconds)&&EX($.minutes,Z.minutes)&&EX($.hours,Z.hours)&&EX($.days,Z.days)&&EX($.months,Z.months)&&EX($.weekdays,Z.weekdays)),Xt=gY(wF),EX=($,Z)=>Xt(P$($),P$(Z)),Jt=V(2,($,Z)=>Zt($,Z)),Gt={min:0,max:59},Yt={min:0,max:59},Wt={min:0,max:23},Ht={min:1,max:31},Dt={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}},Ut={min:0,max:7,normalize:($)=>$===7?0:$,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},xX=($,Z)=>{let X=new Set,J=$.split(","),G=Fk(J[0]),Y=G[0]==="*",W=Z.normalize??((U)=>U),H=Y&&(G[1]===void 0||G[1]===1)?TZ:(U)=>{X.add(W(U))};for(let U=0;U<J.length;U++){let A=J[U],[Q,O]=U===0?G:Fk(A);if(O!==void 0){if(!Number.isInteger(O))return f$(new q6({message:"Expected step value to be a positive integer",input:$}));if(O<1)return f$(new q6({message:"Expected step value to be greater than 0",input:$}));if(O>Z.max)return f$(new q6({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)H(P)}else{let[P,_]=At(Q,Z.aliases);if(!Number.isInteger(P))return f$(new q6({message:"Expected a positive integer",input:$}));if(P<Z.min||P>Z.max)return f$(new q6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(_===void 0)for(let T=P;T<=(O===void 0?P:Z.max);T+=O??1)H(T);else{if(!Number.isInteger(_))return f$(new q6({message:"Expected a positive integer",input:$}));if(_<Z.min||_>Z.max)return f$(new q6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(P>_)return f$(new q6({message:"Invalid value range",input:$}));for(let T=P;T<=_;T+=O??1)H(T)}}}return S$({values:X,wildcard:Y})},Fk=($)=>{let Z=$.indexOf("/");if(Z!==-1){let X=$.slice(Z+1);return[$.slice(0,Z),wk.test(X)?Number(X):NaN]}return[$,void 0]},At=($,Z)=>{let X=$.indexOf("-");if(X!==-1)return[PB($.slice(0,X),Z),PB($.slice(X+1),Z)];return[PB($,Z),void 0]};function PB($,Z){return Z?.[$.toLocaleLowerCase()]??(wk.test($)?Number($):NaN)}var wk=/^\d+$/;var Ck=jR;var Rk=PR;var Vt="effect/Schedule",PU=Symbol.for(Vt),FU=($)=>u($,PU),Qt="effect/ScheduleDriver",wB=Symbol.for(Qt),TB={start:0,now:0,input:void 0,output:void 0,elapsed:K8,elapsedSincePrevious:K8,recurrence:0},o5=u6()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>TB}),Ot={_Out:($)=>$,_In:($)=>$,_R:($)=>$},Bt={_Out:($)=>$,_In:($)=>$,_R:($)=>$};class xk{initial;step;[PU]=Ot;constructor($,Z){this.initial=$,this.step=Z}pipe(){return n(this,arguments)}}var qk=($,Z,X,J)=>L5($,(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 Sk{schedule;ref;[wB]=Bt;constructor($,Z){this.schedule=$,this.ref=Z}get state(){return I(RZ(this.ref),($)=>$[1])}get last(){return z(RZ(this.ref),([$,Z])=>{switch($._tag){case"None":return s8(()=>new yZ);case"Some":return w($.value)}})}iterationMeta=WX(TB);get reset(){return J9(this.ref,[x(),this.schedule.initial]).pipe(O5(J9(this.iterationMeta,TB)))}next($){return F(I(RZ(this.ref),(Z)=>Z[1]),z((Z)=>F(G1,z((X)=>F(H$(()=>this.schedule.step(X,$,Z)),z(([J,G,Y])=>{let W=J9(this.ref,[j(G),J]);if(UZ(Y))return W.pipe(j$(L$(x())));let H=F4(Y.intervals)-X;if(H<=0)return W.pipe(j$(qk(this.iterationMeta,X,$,G)),i$(G));let U=xZ(H);return F(W,j$(qk(this.iterationMeta,X,$,G)),j$(S5(U)),i$(G))}))))))}}var n$=($,Z)=>new xk($,Z),zU=V(2,($,Z)=>CB($,(X)=>E(()=>Z(X)))),CB=V(2,($,Z)=>NG($,(X,J)=>I(Z(X),(G)=>DK(J,Y0(G))))),jk=V(2,($,Z)=>_Z(RB($,Z),r4)),RB=V(2,($,Z)=>n$([$.initial,Z.initial,!0],(X,J,G)=>G[2]?z($.step(X,J,G[0]),([Y,W,H])=>{if(UZ(H))return I(Z.step(X,J,G[1]),([U,A,Q])=>[[Y,U,!1],S$(A),Q]);return w([[Y,G[1],!0],f$(W),H])}):I(Z.step(X,J,G[1]),([Y,W,H])=>[[G[0],Y,!1],S$(W),H]))),kk=V(2,($,Z)=>_Z($,()=>Z)),TU=($)=>_Z($,TZ),Ik=V(2,($,Z)=>n$([$.initial,Z.initial],(X,[J,G],Y)=>sZ($.step(X,J,Y[0]),Z.step(X,G,Y[1]),([W,H,U],[A,Q,O])=>{if(B1(U)&&B1(O)){let P=F(U.intervals,yO(O.intervals));return[[W,A],[H,Q],f5(P)]}return[[W,A],[H,Q],y8]}))),SX=V(2,($,Z)=>n5($,(X,J)=>E(()=>Z(X,J)))),n5=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>{if(UZ(H))return w([Y,W,y8]);return I(Z(J,W),(U)=>U?[Y,W,H]:[Y,W,y8])}))),vk=()=>l5(_1()),l5=($)=>RU($,C0(),(Z,X)=>F(Z,x7(X))),yk=($)=>l5(jB($)),bk=($)=>l5(kB($)),gk=($)=>l5(vB($)),hk=($)=>l5(yB($)),mk=V(2,($,Z)=>n$([$.initial,Z.initial],(X,J,G)=>z($.step(X,J,G[0]),([Y,W,H])=>I(Z.step(X,W,G[1]),([U,A,Q])=>UZ(H)?[[Y,U],A,y8]:UZ(Q)?[[Y,U],A,y8]:[[Y,U],A,f5(F(H.intervals,PS(Q.intervals)))])))),LB=V(2,($,Z)=>MU($,(X)=>E(()=>Z(X)))),fk=V(2,($,Z)=>n$($.initial,(X,J,G)=>U4($.step(X,J,G),Z))),MU=V(2,($,Z)=>n$($.initial,(X,J,G)=>z(Z(J),(Y)=>$.step(X,Y,G)))),pk=($,Z)=>{let X=zB($)?S$($):zk($,Z);return n$([!0,[Number.MIN_SAFE_INTEGER,0,0]],(J,G,[Y,W])=>{if(J===Number.POSITIVE_INFINITY)return w([[!1,W],[W[1],W[2]],y8]);if(J<W[0])return w([[!1,W],[W[1],W[2]],t0(eZ(W[1],W[2]))]);if(w0(X))return wZ(X.left);let H=X.right,U=new Date(J),A;if(Y&&Tk(H,U))A=J;A=Mk(H,U).getTime();let Q=dB(A),O=EI(A);return w([[!1,[A,Q,O]],[Q,O],t0(eZ(Q,O))])})},ck=($)=>{return n$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||31<$)return L8(()=>new a8(`Invalid argument in: dayOfMonth(${$}). Must be in range 1...31`));let G=J[1],W=Mt(Z,$,G===0),H=uB(W),U=jI(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])})},dk=($)=>{return n$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||7<$)return L8(()=>new a8(`Invalid argument in: dayOfWeek(${$}). Must be in range 1 (Monday)...7 (Sunday)`));let G=J[1],W=Tt(Z,$,G===0),H=uB(W),U=jI(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])})},uk=V(2,($,Z)=>wU($,(X)=>E(()=>Z(X)))),wU=V(2,($,Z)=>NG($,(X,J)=>Z(J))),OG=($)=>zU($,(Z)=>Z),ok=($)=>n$($.initial,(Z,X,J)=>F($.step(Z,X,J),z(([G,Y,W])=>{if(UZ(W))return w([G,K8,W]);return w([G,xZ(F4(W.intervals)-Z),W])}))),nk=V(2,($,{onInput:Z,onOutput:X})=>_Z(LB($,Z),X)),lk=V(2,($,{onInput:Z,onOutput:X})=>CU(MU($,Z),X)),BG=($)=>F(R5([x(),$.initial]),I((Z)=>new Sk($,Z))),qB=($)=>{let Z=Y0($),X=MZ(Z);return n$(!0,(J,G,Y)=>w(Y?[!1,Z,t0(R6(J+X))]:[!1,K8,y8]))},rk=V(2,($,Z)=>hB($,Z)),ik=V(3,($,Z,X)=>LU($,Z,X)),sk=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>UZ(H)?i$(Z,[Y,W,H]):w([Y,W,H])))),ak=($,Z=2)=>{let X=Y0($);return OG(_Z(E6,(J)=>HK(X,Math.pow(Z,J))))},tk=($)=>{let Z=Y0($);return OG(F(_G([Z,Z],([X,J])=>[J,DK(X,J)]),_Z((X)=>X[0])))},ek=($)=>{let Z=Y0($),X=MZ(Z);return n$([x(),0],(J,G,[Y,W])=>E(()=>{switch(Y._tag){case"None":return[[j([J,J+X]),W+1],W,t0(R6(J+X))];case"Some":{let[H,U]=Y.value,A=J>U+X,Q=s(Z,K8)?Z:xZ(X-(J-H)%X),O=s(Q,K8)?Z:Q,P=A?J:J+MZ(O);return[[j([H,P]),W+1],W,t0(R6(P))]}}}))},$I=($)=>qB($),ZI=($,...Z)=>n$([[$,...Z].map((X)=>Y0(X)),!0],(X,J,[G,Y])=>E(()=>{if(Y){let W=G[0],H=R6(X+MZ(W));if(G.length>=2)return[[G.slice(1),!0],W,t0(H)];let U=G.slice(1);return[[[W,...U],!1],W,t0(H)]}return[[G,!1],K8,y8]})),XI=($)=>_Z(_1(),$),JI=($)=>n$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||23<$)return L8(()=>new a8(`Invalid argument in: hourOfDay(${$}). Must be in range 0...23`));let G=J[1],W=zt(Z,$,G===0),H=SI(W),U=Ft(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])}),_1=()=>n$(void 0,($,Z,X)=>w([X,Z,t0(R6($))])),C4=V(2,($,Z)=>EB($,Z,BS)),EB=V(3,($,Z,X)=>n$([$.initial,Z.initial],(J,G,Y)=>F(sZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),(W,H)=>[W,H]),z(([[W,H,U],[A,Q,O]])=>{if(B1(U)&&B1(O))return MB($,Z,G,W,H,U.intervals,A,Q,O.intervals,X);return w([[W,A],[H,Q],y8])})))),MB=($,Z,X,J,G,Y,W,H,U,A)=>{let Q=A(Y,U);if(_S(Q))return w([[J,W],[G,H],f5(Q)]);if(F(Y,NS(U)))return z($.step(rD(Y),X,J),([O,P,_])=>{if(UZ(_))return w([[O,W],[P,H],y8]);return MB($,Z,X,O,P,_.intervals,W,H,U,A)});return z(Z.step(rD(U),X,W),([O,P,_])=>{if(UZ(_))return w([[J,O],[G,P],y8]);return MB($,Z,X,J,G,Y,O,P,_.intervals,A)})},GI=($)=>xB($,{min:0.8,max:1.2}),xB=V(2,($,Z)=>{let{max:X,min:J}=Object.assign({min:0.8,max:1.2},Z);return wU($,(G)=>I(Ck,(Y)=>{let W=MZ(G),H=W*J*(1-Y)+W*X*Y;return xZ(H)}))}),YI=($)=>{let Z=Y0($);return OG(_Z(E6,(X)=>HK(Z,X+1)))},_Z=V(2,($,Z)=>CU($,(X)=>E(()=>Z(X)))),CU=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>I(Z(W),(U)=>[Y,U,H])))),WI=($)=>n$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return L8(()=>new a8(`Invalid argument in: minuteOfHour(${$}). Must be in range 0...59`));let G=J[1],W=Pt(Z,$,G===0),H=xI(W),U=_t(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])}),HI=V(2,($,Z)=>NG($,(X,J)=>E(()=>Z(X,J)))),NG=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>{if(UZ(H))return w([Y,W,H]);let U=H.intervals,A=WS(eZ(X,F4(U)));return I(Z(W,A),(Q)=>{let O=Y0(Q),P=F4(U),_=X+MZ(O),T=_-P,M=Math.max(0,rD(U)+T),S=eZ(_,M);return[Y,W,t0(S)]})}))),DI=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>i$(Z(W,H),[Y,W,H])))),SB=($)=>n$($.initial,(Z,X,J)=>F($.step(Z,X,J),I(([G,Y,W])=>[G,X,W]))),UI=V(2,($,Z)=>n$($.initial,(X,J,G)=>aZ($.step(X,J,G),Z))),AI=V(3,($,Z,X)=>n$($.initial,(J,G,Y)=>S8((W)=>aZ($.step(J,G,Y),e$(W,Z,X))))),jB=($)=>mB(_1(),$),kB=($)=>PG(_1(),$),KI=($)=>fB(_Z(_1(),$),p$),IB=($)=>{let Z=Y0($);return qU(xU,(X)=>uz(X,Z))},vB=($)=>pB(_1(),$),yB=($)=>FG(_1(),$),jX=($)=>qU(E6,(Z)=>Z<$),RU=V(3,($,Z,X)=>bB($,Z,(J,G)=>E(()=>X(J,G)))),bB=V(3,($,Z,X)=>n$([$.initial,Z],(J,G,[Y,W])=>z($.step(J,G,Y),([H,U,A])=>UZ(A)?w([[H,W],W,A]):I(X(W,U),(Q)=>[[H,Q],W,A]))));var VI=($)=>RU($,0,(Z,X)=>Z+1),QI=V(2,($,Z)=>{let X=Y0(Z);return F($,C4(xU),gB(([,J])=>AW(J,X)),_Z((J)=>J[0]))}),gB=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>Z(W)?$.step(X,J,$.initial):w([Y,W,H])))),OI=V(3,($,Z,X)=>F(BI($,Z,b1(X),$.initial,C0()),I((J)=>w8(J)))),BI=($,Z,X,J,G)=>{if(!H0(X))return w(G);let Y=g$(X),W=D0(X);return z($.step(Z,Y,J),([H,U,A])=>{if(UZ(A))return E(()=>F(G,O0(U)));return BI($,F4(A.intervals),W,H,O0(G,U))})},NI=($)=>n$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return L8(()=>new a8(`Invalid argument in: secondOfMinute(${$}). Must be in range 0...59`));let G=J[1],W=Nt(Z,$,G===0),H=dB(W),U=EI(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])}),_I=($)=>zU(E6,()=>$),PI=($)=>_Z(E6,()=>$),FI=($)=>_Z(E6,$),zI=V(2,($,Z)=>n$($.initial,(X,J,G)=>j$(Z(J),$.step(X,J,G)))),TI=V(2,($,Z)=>n$($.initial,(X,J,G)=>IZ($.step(X,J,G),([,Y])=>Z(Y)))),_G=($,Z)=>n$($,(X,J,G)=>E(()=>[Z(G),G,t0(R6(X))])),hB=V(2,($,Z)=>LU($,Z,yO)),LU=V(3,($,Z,X)=>n$([$.initial,Z.initial],(J,G,Y)=>sZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),([W,H,U],[A,Q,O])=>{if(UZ(U)&&UZ(O))return[[W,A],[H,Q],y8];if(UZ(U)&&B1(O))return[[W,A],[H,Q],f5(O.intervals)];if(B1(U)&&UZ(O))return[[W,A],[H,Q],f5(U.intervals)];if(B1(U)&&B1(O)){let P=X(U.intervals,O.intervals);return[[W,A],[H,Q],f5(P)]}throw Error("BUG: Schedule.unionWith - please report an issue at https://github.com/Effect-TS/effect/issues")}))),mB=V(2,($,Z)=>SX($,(X,J)=>!Z(X))),PG=V(2,($,Z)=>n5($,(X,J)=>x2(Z(X)))),fB=V(2,($,Z)=>SX($,(X,J)=>!Z(J))),MI=V(2,($,Z)=>n5($,(X,J)=>x2(Z(J)))),wI=V(2,($,Z)=>cB($,IB(Z))),pB=V(2,($,Z)=>SX($,(X,J)=>Z(X))),FG=V(2,($,Z)=>n5($,(X,J)=>Z(X))),qU=V(2,($,Z)=>SX($,(X,J)=>Z(J))),CI=V(2,($,Z)=>n5($,(X,J)=>Z(J))),RI=($)=>{let Z=Y0($),X=MZ(Z);return n$([x(),0],(J,G,[Y,W])=>{switch(Y._tag){case"None":return w([[j(J),W+1],W,t0(R6(J+X))]);case"Some":return w([[j(Y.value),W+1],W,t0(R6(J+(X-(J-Y.value)%X)))])}})},cB=V(2,($,Z)=>_Z(C4($,Z),(X)=>X[0])),LI=V(2,($,Z)=>_Z(C4($,Z),(X)=>X[1])),qI=V(3,($,Z,X)=>_Z(C4($,Z),([J,G])=>X(J,G))),dB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),Z.getSeconds(),0).getTime()},EI=($)=>{let Z=new Date(dB($));return Z.setSeconds(Z.getSeconds()+1)},Nt=($,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)},xI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),0,0).getTime()},_t=($)=>{let Z=new Date(xI($));return Z.setMinutes(Z.getMinutes()+1)},Pt=($,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)},SI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),0,0,0).getTime()},Ft=($)=>{let Z=new Date(SI($));return Z.setHours(Z.getHours()+1)},zt=($,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)},uB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),0,0,0,0).getTime()},jI=($)=>{let Z=new Date(uB($));return Z.setDate(Z.getDate()+1)},Tt=($,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))},Mt=($,Z,X)=>{let J=new Date($);if(J.getDate()===Z&&X)return $;if(J.getDate()<Z)return J.setDate(Z);return kI($,Z,1)},kI=($,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($),H=new Date(W.setDate(Z));return H.setMonth(H.getMonth()+X)}return kI($,Z,X+1)},NU=Symbol.for("effect/Schedule/ScheduleDefect");class II{error;[NU];constructor($){this.error=$,this[NU]=NU}}var wt=($)=>u($,NU),_U=($)=>w6($,(Z)=>wZ(new II(Z))),Ct=($)=>p0(a6($,(Z)=>Y5(Z)&&wt(Z.defect)?j(Z.defect):x()),{onNone:()=>$,onSome:(Z)=>Q8(Z.error)}),zG=($)=>e6($,(Z)=>E$(Ct(Z))),Ek=V(2,($,Z)=>oB($,Z,(X,J)=>L$(X))),vI=V(2,($,Z)=>{if(FU(Z))return Ek($,Z);let X=Z.schedule??SB(E6),J=Z.while?FG(X,(W)=>{let H=Z.while(W);if(typeof H==="boolean")return w(H);return _U(H)}):X,G=Z.until?PG(J,(W)=>{let H=Z.until(W);if(typeof H==="boolean")return w(H);return _U(H)}):J,Y=Z.times?C4(G,jX(Z.times)).pipe(_Z((W)=>W[0])):G;return zG(Ek($,Y))}),oB=V(3,($,Z,X)=>z(BG(Z),(J)=>s0($,{onFailure:(G)=>X(G,x()),onSuccess:(G)=>yI(_4($,o5,RZ(J.iterationMeta)),J,(Y,W)=>_4(X(Y,W),o5,RZ(J.iterationMeta)),G)}))),yI=($,Z,X,J)=>s0(Z.next(J),{onFailure:()=>V5(Z.last),onSuccess:(G)=>s0($,{onFailure:(Y)=>X(Y,j(G)),onSuccess:(Y)=>yI($,Z,X,Y)})}),QG=V(2,($,Z)=>nB($,Z,(X,J)=>L$(X))),bI=V(2,($,Z)=>{if(FU(Z))return QG($,Z);return zG(QG($,EU(Z)))}),EU=($)=>{let Z=$.schedule??E6,X=$.while?FG(Z,(G)=>{let Y=$.while(G);if(typeof Y==="boolean")return w(Y);return _U(Y)}):Z,J=$.until?PG(X,(G)=>{let Y=$.until(G);if(typeof Y==="boolean")return w(Y);return _U(Y)}):X;return $.times!==void 0?C4(J,jX($.times)):J},nB=V(3,($,Z,X)=>z(BG(Z),(J)=>gI(_4($,o5,RZ(J.iterationMeta)),J,(G,Y)=>_4(X(G,Y),o5,RZ(J.iterationMeta))))),gI=($,Z,X)=>{return w6($,(J)=>s0(Z.next(J),{onFailure:()=>F(Z.last,V5,z((G)=>X(J,G))),onSuccess:()=>gI($,Z,X)}))},lB=V(2,($,Z)=>rB($,void 0,Z)),rB=V(3,($,Z,X)=>z(BG(X),(J)=>hI(_4($,o5,RZ(J.iterationMeta)),Z,J))),hI=($,Z,X)=>s0(X.next(Z),{onFailure:()=>V5(X.last),onSuccess:()=>z($,(J)=>hI($,J,X))}),mI=_G(0,($)=>$+1),xU=n$(x(),($,Z,X)=>{switch(X._tag){case"None":return w([j($),K8,t0(R6($))]);case"Some":return w([j(X.value),xZ($-X.value),t0(R6($))])}}),E6=_G(0,($)=>$+1),SU=TU(jX(1)),fI=TU(jX(0)),pI=V(2,($,Z)=>aD(lB($,Z)));var dI=V(2,($,Z)=>H$(()=>{let X=0,J;return z(X4({while:()=>X<Z.steps.length&&(J===void 0||w0(J)),body:()=>{let G=Z.steps[X],Y=VU($,G.provide);if(J){let W=!1,H=Y;Y=H$(()=>{if(W)return H;return W=!0,J}),Y=zG(QG(Y,cI(G,!1)))}else{let W=cI(G,!0);Y=W?zG(QG(Y,W)):Y}return i8(Y)},step:(G)=>{J=G,X++}}),()=>J)})),cI=($,Z)=>{if(!Z)return EU({schedule:$.schedule?$.schedule:$.attempts?void 0:SU,times:$.attempts,while:$.while});else if($.attempts===1||!($.schedule||$.attempts))return;return EU({schedule:$.schedule,while:$.while,times:$.attempts?$.attempts-1:void 0})};var jU=N8;var P1=HZ;var uI=zV;var oI=vw;var sB=B2,kU=XX;var nI=Symbol.for("effect/MutableList"),Lt={[nI]:nI,[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$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},qt=($)=>({value:$,removed:!1,prev:void 0,next:void 0}),lI=()=>{let $=Object.create(Lt);return $.head=void 0,$.tail=void 0,$._length=0,$};var rI=($)=>tB($)===0,tB=($)=>$._length;var iI=V(2,($,Z)=>{let X=qt(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,$}),sI=($)=>{let Z=$.head;if(Z!==void 0)return Et($,Z),Z.value;return};var Et=($,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 aI=Symbol.for("effect/MutableQueue"),eB=Symbol.for("effect/mutable/MutableQueue/Empty"),St={[aI]:aI,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(y$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},jt=($)=>{let Z=Object.create(St);return Z.queue=lI(),Z.capacity=$,Z};var tI=()=>jt(void 0);var eI=V(2,($,Z)=>{let X=tB($.queue);if($.capacity!==void 0&&X===$.capacity)return!1;return iI(Z)($.queue),!0});var $v=V(2,($,Z)=>{if(rI($.queue))return Z;return sI($.queue)});var Zv=($,Z,X,J)=>cW({_tag:"Complete",key:$,exit:Z,entryStats:X,timeToLiveMillis:J}),Xv=($,Z)=>cW({_tag:"Pending",key:$,deferred:Z}),It=($,Z)=>cW({_tag:"Refreshing",deferred:$,complete:Z}),$N=Symbol.for("effect/Cache/MapKey");class Jv{current;[$N]=$N;previous=void 0;next=void 0;constructor($){this.current=$}[Y$](){return F(a(this.current),V$(a(this.previous)),V$(a(this.next)),R$(this))}[G$]($){if(this===$)return!0;return vt($)&&s(this.current,$.current)&&s(this.previous,$.previous)&&s(this.next,$.next)}}var kX=($)=>new Jv($),vt=($)=>u($,$N);class Gv{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 yt=()=>new Gv,bt=($,Z,X,J,G,Y)=>({map:$,keys:Z,accesses:X,updating:J,hits:G,misses:Y}),gt=()=>bt(D1(),yt(),tI(),l6(!1),0,0),ht="effect/Cache",mt=Symbol.for(ht),ft={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},pt="effect/ConsumerCache",ct=Symbol.for(pt),dt={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},ut=($)=>$,IU=($)=>({loadedMillis:$});class Yv{capacity;context;fiberId;lookup;timeToLive;[mt]=ft;[ct]=dt;cacheState;constructor($,Z,X,J,G){this.capacity=$,this.context=Z,this.fiberId=X,this.lookup=J,this.timeToLive=G,this.cacheState=gt()}get($){return I(this.getEither($),r4)}get cacheStats(){return E(()=>ut({hits:this.cacheState.hits,misses:this.cacheState.misses,size:y5(this.cacheState.map)}))}getOption($){return H$(()=>p0(N0(this.cacheState.map,$),{onNone:()=>{let Z=kX($);return this.trackAccess(Z),this.trackMiss(),w(x())},onSome:(Z)=>this.resolveMapValue(Z)}))}getOptionComplete($){return H$(()=>p0(N0(this.cacheState.map,$),{onNone:()=>{let Z=kX($);return this.trackAccess(Z),this.trackMiss(),w(x())},onSome:(Z)=>this.resolveMapValue(Z,!0)}))}contains($){return E(()=>k8(this.cacheState.map,$))}entryStats($){return E(()=>{let Z=N0(this.cacheState.map,$);if(p$(Z))switch(Z.value._tag){case"Complete":{let X=Z.value.entryStats.loadedMillis;return j(IU(X))}case"Pending":return x();case"Refreshing":{let X=Z.value.complete.entryStats.loadedMillis;return j(IU(X))}}return x()})}getEither($){return H$(()=>{let Z=$,X=void 0,J=void 0,G=l0(N0(this.cacheState.map,Z));if(G===void 0)if(J=sB(this.fiberId),X=kX(Z),k8(this.cacheState.map,Z))G=l0(N0(this.cacheState.map,Z));else hZ(this.cacheState.map,Z,Xv(X,J));if(G===void 0)return this.trackAccess(X),this.trackMiss(),I(this.lookupValueOf($,J),S$);else return z(this.resolveMapValue(G),p0({onNone:()=>this.getEither($),onSome:(Y)=>w(f$(Y))}))})}invalidate($){return E(()=>{U1(this.cacheState.map,$)})}invalidateWhen($,Z){return E(()=>{let X=N0(this.cacheState.map,$);if(p$(X)&&X.value._tag==="Complete"){if(X.value.exit._tag==="Success"){if(Z(X.value.exit.value))U1(this.cacheState.map,$)}}})}get invalidateAll(){return E(()=>{this.cacheState.map=D1()})}refresh($){return G9((Z)=>H$(()=>{let X=$,J=sB(this.fiberId),G=l0(N0(this.cacheState.map,X));if(G===void 0)if(k8(this.cacheState.map,X))G=l0(N0(this.cacheState.map,X));else hZ(this.cacheState.map,X,Xv(kX(X),J));if(G===void 0)return z0(this.lookupValueOf($,J));else switch(G._tag){case"Complete":{if(this.hasExpired(Z,G.timeToLiveMillis)){let Y=l0(N0(this.cacheState.map,X));if(s(Y,G))U1(this.cacheState.map,X);return z0(this.get($))}return F(this.lookupValueOf($,J),OD(()=>{let Y=l0(N0(this.cacheState.map,X));if(s(Y,G)){let W=It(J,G);return hZ(this.cacheState.map,X,W),!0}return!1}),z0)}case"Pending":return P1(G.deferred);case"Refreshing":return P1(G.deferred)}}))}set($,Z){return G9((X)=>E(()=>{let J=X.unsafeCurrentTimeMillis(),G=$,Y=F2(Z),W=Zv(kX(G),Y,IU(J),J+MZ(Y0(this.timeToLive(Y))));hZ(this.cacheState.map,G,W)}))}get size(){return E(()=>{return y5(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 G9((X)=>{switch($._tag){case"Complete":{if(this.trackAccess($.key),this.hasExpired(X,$.timeToLiveMillis))return U1(this.cacheState.map,$.key.current),w(x());return this.trackHit(),I($.exit,j)}case"Pending":{if(this.trackAccess($.key),this.trackHit(),Z)return w(x());return I(P1($.deferred),j)}case"Refreshing":{if(this.trackAccess($.complete.key),this.trackHit(),this.hasExpired(X,$.complete.timeToLiveMillis)){if(Z)return w(x());return I(P1($.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(eI(this.cacheState.accesses,$),EW(this.cacheState.updating,!1,!0)){let Z=!0;while(Z){let J=$v(this.cacheState.accesses,eB);if(J===eB)Z=!1;else this.cacheState.keys.add(J)}let X=y5(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))U1(this.cacheState.map,J.current),X=X-1,Z=X>this.capacity}else Z=!1}b9(this.cacheState.updating,!1)}}hasExpired($,Z){return $.unsafeCurrentTimeMillis()>Z}lookupValueOf($,Z){return G9((X)=>H$(()=>{let J=$;return F(this.lookup($),aZ(this.context),V0,z((G)=>{let Y=X.unsafeCurrentTimeMillis(),W=IU(Y),H=Zv(kX(J),G,W,Y+MZ(Y0(this.timeToLive(G))));return hZ(this.cacheState.map,J,H),j$(uI(Z,G),G)}),Z9(()=>j$(oI(Z),E(()=>{U1(this.cacheState.map,J)}))))}))}}var Wv=($,Z,X)=>new Yv($,VZ(),IW,Z,(J)=>Y0(X(J)));var IX=_$(Symbol.for("effect/FiberRef/currentCache"),()=>L0(Wv(65536,()=>I(N8(),($)=>({listeners:new m2,handle:$})),()=>WK(60)))),TG=_$(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>L0(!1)),Hv=($,Z)=>z(c$(Z)?Z:w(Z),(X)=>O8((J)=>{let G=new Proxy($,{});return CZ(TG,(Y)=>{if(Y){let H=CZ(IX,(U)=>z(U.getEither(G),(A)=>{switch(A._tag){case"Left":{if(A.left.listeners.interrupted)return z(U.invalidateWhen(G,(Q)=>Q.handle===A.left.handle),()=>H);return A.left.listeners.increment(),j0((Q)=>z(V0(c9(KM,Q(HZ(A.left.handle)))),(O)=>{return A.left.listeners.decrement(),O}))}case"Right":return A.right.listeners.increment(),j0((Q)=>z(V0(c9(sK(X,aK({request:G,result:A.right.handle,listeners:A.right.listeners,ownerId:J,state:{completed:!1}})),Q(HZ(A.right.handle)))),()=>{return A.right.listeners.decrement(),HZ(A.right.handle)}))}}));return H}let W=new m2;return W.increment(),z(N8(),(H)=>v8(c9(sK(X,aK({request:G,result:H,listeners:W,ownerId:J,state:{completed:!1}})),HZ(H)),E(()=>W.decrement())))})})),Dv=($,Z)=>{return CZ(TG,(X)=>{if(X)return CZ(IX,(J)=>z(J.getEither($),(G)=>{switch(G._tag){case"Left":return T$;case"Right":return FV(G.right.handle,Z)}}));return T$})},Uv=V(2,($,Z)=>R0($,TG,Z)),Av=V(2,($,Z)=>R0($,IX,Z));var Vv=Jx;var nt=d9,MG=c$,lt=kS,rt=pO,it=VD,st=gS,at=jQ,tt=P4,et=qx,$e=Ex,Ze=XL,Xe=JL,Je=aL,Ge=tL,Ye=OL,We=Cx,He=Lx,De=YL,Ue=AL,wG=I8,Ae=NL,Ke=PO,Ve=FO,Qe=pL,Oe=dL,Be=cL,Ne=Ix,_e=_O,Pe=xx,Fe=jx,ze=hx,Te=jZ,Me=Oj,we=X2,F1=x$,Ce=L$,Re=s8,Bv=E$,Le=u9,ZN=wZ,qe=a1,Ee=L8,xe=OH,Se=J4,je=vL,ke=mL,XN=w,JN=j5,Ie=iL,GN=H$,V9=E,z1=T$;var ve=X9,ye=pR;var be=w6,ge=e6,he=cR,me=G2,fe=cM,pe=dR,ce=uR,de=oR,ue=nR,oe=lR,ne=qQ,le=KD,re=_L,ie=hL,se=lL,ae=bI,te=dI,ee=nB,$$$=LQ;var Z$$=Yq,X$$=Wq,J$$=yQ,G$$=Uq,Y$$=sR,W$$=dM,H$$=ix,vX=AH,D$$=KH,U$$=n9,A$$=oM,K$$=Z9,V$$=l9,Q$$=j0,O$$=DL,B$$=i$,N$$=QX,_$$=fR,P$$=z0,F$$=e1,z$$=QL,$8=I,T$$=kL,M$$=W2,w$$=$4,C$$=BX,R$$=IL,L$$=x2,CG=h5,q$$=Mx,E$$=WH,x$$=Y9,S$$=v8,j$$=VH,k$$=iZ,I$$=vD,v$$=yD,y$$=vx,b$$=wO,g$$=X6,h$$=n2,m$$=gD,f$$=bx,p$$=px,c$$=jS,d$$=wx,u$$=aR,o$$=UD,n$$=OX,l$$=IS,r$$=sD,i$$=o9,yX=O8,s$$=Q1,YN=zX,a$$=vS,t$$=cO,e$$=aD,$0$=Sx,Z0$=yS,X0$=bS,J0$=dO,G0$=QH,Y0$=lM,W0$=uC,H0$=VV,D0$=Gw,U0$=rR,A0$=G9,K0$=mx,V0$=qR,Q0$=ej,O0$=$k,B0$=Xk,N0$=Zk,_0$=iR,P0$=S5,F0$=Jq,z0$=vQ,T0$=mS,M0$=pS,w0$=uO,C0$=fS,R0$=t2,L0$=xR,q0$=ER,E0$=hD,x0$=_8,S0$=GL,j0$=S8,k0$=U4,I0$=VU,v0$=N4,y0$=_4,b0$=Bq,g0$=Oq,h0$=bQ,m0$=gQ,f0$=Nq,p0$=_q,c0$=hQ,d0$=Aq,u0$=tR,o0$=eR,n0$=nS,l0$=$L,r0$=ZL;var i0$=yL,s0$=i8,a0$=V0,RG=$9,t0$=UH;var e0$=WL,$Z$=HL,ZZ$=q2,XZ$=UL,JZ$=MV,GZ$=yw,YZ$=Hq,WZ$=Dq,HZ$=OD,DZ$=a7,UZ$=Kq,AZ$=Vq,r5=z,KZ$=t1,VZ$=kZ,QZ$=pD,OZ$=kx,BZ$=hS,NZ$=RO,_Z$=S2,WN=IZ,PZ$=eL,FZ$=$q,zZ$=IQ,TZ$=Zq,MZ$=Xq,wZ$=EQ,CZ$=xQ,RZ$=xL,LZ$=vI,qZ$=oL,EZ$=oB,xZ$=lB,SZ$=pI,jZ$=rB,LG=X4,kZ$=AD,IZ$=PL,vZ$=R0,yZ$=a0,bZ$=mZ,gZ$=LZ,hZ$=x5,mZ$=rL,fZ$=QD,pZ$=FL,cZ$=zL,dZ$=E2,uZ$=Y2,oZ$=B0,nZ$=s0,lZ$=TL,rZ$=($,...Z)=>Y1($)(...Z),iZ$=ML,sZ$=SQ,aZ$=wL,tZ$=CL,eZ$=RL,$8$=LL,Z8$=qL,X8$=mR,J8$=zx,G8$=EL,Y8$=Yw,W8$=Tx,H8$=V5,D8$=HV,U8$=K5,A8$=bL,K8$=gL,V8$=VL,Q8$=fL,O8$=KX,Nv=SR,B8$=V(2,($,Z)=>Nv($,Rk(Z))),N8$=fx,qG=CX,_8$=s7,P8$=Z4,F8$=BH,z8$=MO,T8$=sL,M8$=kQ,w8$=yx,C8$=zO,R8$=Ww,L8$=Qq,q8$=iD,E8$=ES,x8$=fO,S8$=SS,EG=Uj,j8$=Dj,k8$=Aj,I8$=Kj,v8$=Vj,y8$=Qj,b8$=gx,g8$=TO,h8$=cx,m8$=dx,f8$=ux,_v=W9,p8$=V(2,($,Z)=>_v($,Z,(X,J)=>X(J))),c8$=c9,d8$=YH,u8$=DH,o8$=V(($)=>Vv($[0]),Hv),n8$=Dv,l8$=rM,r8$=Uv,i8$=Av,s8$=Gq,a8$=WD,t8$=kR,e8$=cD,$6$=iM,Z6$=sM,X6$=zq,J6$=Pq,G6$=mQ,Y6$=fQ,W6$=Tq,H6$=Rq,D6$=Lq,U6$=Mq,A6$=Fq,K6$=Cq,V6$=Z6,Q6$=HD,Pv=cQ,O6$=qq,B6$=sx,N6$=DD,_6$=Eq,P6$=xq,F6$=($)=>{return Q6($)?JN:$8($.value,oZ)},z6$=V(2,($,Z)=>Q6($)?JN:$8(Z($.value),oZ)),Fv=($)=>{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)=>t1(X,(P)=>{if(typeof P[J]==="function")return Z.set(J,(..._)=>t1(X,(T)=>T[J](..._))),P[J](...O);return Z.set(J,t1(X,(_)=>_[J])),P[J]}),W=t1(X,(O)=>O[J]);Object.assign(Y,W);let{apply:H,bind:U,call:A}=Y,Q=Object.setPrototypeOf({},Object.getPrototypeOf(W));return Q.apply=H,Q.bind=U,Q.call=A,Object.setPrototypeOf(Y,Q),Z.set(J,Y),Y}})},T6$=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,j7),J.key=$,Object.defineProperty(J,"use",{get(){return(G)=>t1(this,G)}}),Object.defineProperty(J,"stack",{get(){return X.stack}}),Fv(J)},M6$=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)=>t1(this,O)}}),W.key=$,Object.assign(W,j7),Object.defineProperty(W,"stack",{get(){return G.stack}});let H="dependencies"in Z&&Z.dependencies.length>0,U=H?"DefaultWithoutDependencies":"Default",A,Q=!1;if("effect"in Z)Q=typeof Z.effect==="function",Object.defineProperty(W,U,{get(){if(Q)return function(){return M4(W,$8(Z.effect.apply(null,arguments),(O)=>new this(O)))}.bind(this);return A??=M4(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 w4(W,$8(Z.scoped.apply(null,arguments),(O)=>new this(O)))}.bind(this);return A??=w4(W,$8(Z.scoped,(O)=>new this(O)))}});else if("sync"in Z)Object.defineProperty(W,U,{get(){return A??=KU(W,()=>new this(Z.sync()))}});else Object.defineProperty(W,U,{get(){return A??=RX(W,new this(Z.succeed))}});if(H){let O;Object.defineProperty(W,"Default",{get(){if(Q)return function(){return d5(this.DefaultWithoutDependencies.apply(null,arguments),Z.dependencies)};return O??=d5(this.DefaultWithoutDependencies,Z.dependencies)}})}return X===!0?Fv(W):W}},w6$=function($,...Z){let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();if(Error.stackTraceLimit=X,typeof $!=="string")return Qv($.length,function(...W){let H=Error.stackTraceLimit;Error.stackTraceLimit=2;let U=Error();return Error.stackTraceLimit=H,Ov({self:this,body:$,args:W,pipeables:Z,spanName:"<anonymous>",spanOptions:{context:UX.context(!0)},errorDef:J,errorCall:U})});let G=$,Y=Z[0];return(W,...H)=>Qv(W.length,{[G](...U){let A=Error.stackTraceLimit;Error.stackTraceLimit=2;let Q=Error();return Error.stackTraceLimit=A,Ov({self:this,body:W,args:U,pipeables:H,spanName:G,spanOptions:Y,errorDef:J,errorCall:Q})}}[G])};function Qv($,Z){return Object.defineProperty(Z,"length",{value:$,configurable:!0})}function Ov($){let Z,X=void 0;if(EF($.body))Z=lJ(()=>$.body.apply($.self,$.args));else try{Z=$.body.apply($.self,$.args)}catch(W){X=W,Z=ZN(W)}if($.pipeables.length>0)try{for(let W of $.pipeables)Z=W(Z,...$.args)}catch(W){Z=X?Bv($0(P0(X),P0(W))):ZN(W)}let J=!1,G=()=>{if(J!==!1)return J;if($.errorCall.stack){let W=$.errorDef.stack.trim().split(`
|
|
26
|
+
`).trim(),G}}return H$(()=>{let X=typeof $.options==="function"?$.options.apply(null,arguments):$.options;return cQ(H$(()=>E0(()=>$.body.apply(this,arguments))),X.name,{...X,captureStackTrace:Z})})},Eq=($)=>$==null?L$(new yZ):w($),xq=($)=>w6(I($,j),(Z)=>wH(Z)?j5:L$(Z));var dQ="InterruptSignal",uQ="Stateful",oQ="Resume",nQ="YieldNow",ND=($)=>({_tag:"InterruptSignal",cause:$}),_X=($)=>({_tag:"Stateful",onFiber:$}),k5=($)=>({_tag:"Resume",effect:$}),Sq=()=>({_tag:"YieldNow"});var Fr="effect/FiberScope",_D=Symbol.for(Fr);class kq{[_D]=_D;fiberId=d0;roots=new Set;add($,Z){this.roots.add(Z),Z.addObserver(()=>{this.roots.delete(Z)})}}class Iq{fiberId;parent;[_D]=_D;constructor($,Z){this.fiberId=$,this.parent=Z}add($,Z){this.parent.tell(_X((X)=>{X.addChild(Z),Z.addObserver(()=>{X.removeChild(Z)})}))}}var vq=($)=>{return new Iq($.id(),$)},C6=_$(Symbol.for("effect/FiberScope/Global"),()=>new kq);var zr="effect/Fiber",W1=Symbol.for(zr),PX={_E:($)=>$,_A:($)=>$},FD={[W1]:PX,pipe(){return n(this,arguments)}},Tr="effect/Fiber",I2=Symbol.for(Tr),yq=F(iF(BZ,BZ),tY(($)=>[$.id().startTimeMillis,$.id().id])),bq=($)=>u($,W1),k2=($)=>(I2 in $),zD=($)=>$.await,gq=($)=>$.children,I5=($)=>{return{...p8,commit(){return NZ(this)},...FD,id:()=>d0,await:w($),children:w([]),inheritAll:T$,poll:w(j($)),interruptAsFork:()=>T$}},TD=($)=>I($.status,(Z)=>({id:$.id(),status:Z})),hq=($)=>OZ($,TD),mq=($)=>I5(wV($)),lQ=($)=>I5(CV($)),fq=($)=>I(V0($),I5),pq=($)=>$.id(),MD=($)=>$.inheritAll,cq=($)=>I5(LV($)),dq=($)=>z(o9,(Z)=>F($,v2(Z))),v2=V(2,t7(function*($,Z){for(let X of $){if(k2(X)){X.unsafeInterruptAsFork(Z);continue}yield*X.interruptAsFork(Z)}for(let X of $){if(k2(X)&&X.unsafePoll())continue;yield*X.await}})),wD=V(2,($,Z)=>$.interruptAsFork(Z)),NZ=($)=>O5(kZ($.await),$.inheritAll),PD=V(2,($,Z)=>iQ($,(X)=>E(()=>Z(X)))),iQ=V(2,($,Z)=>{return{...p8,commit(){return NZ(this)},...FD,id:()=>$.id(),await:z($.await,EH(Z)),children:$.children,inheritAll:$.inheritAll,poll:z($.poll,(J)=>{switch(J._tag){case"None":return w(x());case"Some":return F(EH(J.value,Z),I(j))}}),interruptAsFork:(J)=>$.interruptAsFork(J)}}),uq=V(2,($,Z)=>I($.await,qV({onFailure:(X)=>lQ(X),onSuccess:(X)=>Z(X)}))),oq=V(2,($,{onFiber:Z,onRuntimeFiber:X})=>{if(k2($))return X($);return Z($)}),Mr={...p8,commit(){return NZ(this)},...FD,id:()=>d0,await:J4,children:w([]),inheritAll:J4,poll:w(x()),interruptAsFork:()=>J4},nq=Mr,sQ=V(2,($,Z)=>({...p8,commit(){return NZ(this)},...FD,id:()=>bW($.id(),Z.id()),await:sZ($.await,Z.await,(X,J)=>A4(X)?X:J),children:$.children,inheritAll:j$(Z.inheritAll,$.inheritAll),poll:sZ($.poll,Z.poll,(X,J)=>{switch(X._tag){case"None":return x();case"Some":return A4(X.value)?X:J}}),interruptAsFork:(X)=>F(vZ($,X),j$(F(Z,vZ(X))),z0)})),rq=V(2,($,Z)=>sQ(PD($,f$),PD(Z,S$))),lq=($)=>$.poll,wr=($)=>{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}},Cr=($)=>{if(cH($))return"Done";if(PC($))return"Running";return`Suspended(${z6($.runtimeFlags)?"interruptible":"uninterruptible"})`},iq=($)=>z(G1,(Z)=>I(TD($),(X)=>{let J=Z-X.id.startTimeMillis,{days:G,hours:Y,milliseconds:W,minutes:H,seconds:U}=wr(J),A=(G===0?"":`${G}d`)+(G===0&&Y===0?"":`${Y}h`)+(G===0&&Y===0&&H===0?"":`${H}m`)+(G===0&&Y===0&&H===0&&U===0?"":`${U}s`)+`${W}ms`,Q=FC(X.status)?(()=>{let P=d1(X.status.blockingOn);return y9(P)>0?"waiting on "+Array.from(P).map((_)=>`${_}`).join(", "):""})():"",O=Cr(X.status);return`[Fiber](#${X.id.id}) (${A}) ${Q}
|
|
27
|
+
Status: ${O}`})),aQ=()=>Array.from(C6.roots),sq=E(aQ),aq=($)=>$.status,tQ=($)=>I5(F2($)),tq=tQ(void 0);var H1="effect/FiberCurrent",eq=()=>H8(globalThis[H1]);var Rr="effect/Logger",$E=Symbol.for(Rr),ZE={_Message:($)=>$,_Output:($)=>$},CD=($)=>({[$E]:ZE,log:$,pipe(){return n(this,arguments)}});var $U$={[$E]:ZE,log:TZ,pipe(){return n(this,arguments)}};var Lr=/^[^\s"=]*$/,qr=($,Z)=>({annotations:X,cause:J,date:G,fiberId:Y,logLevel:W,message:H,spans:U})=>{let A=(T)=>T.match(Lr)?T:$(T),Q=(T,M)=>`${MQ(T)}=${A(M)}`,O=(T,M)=>" "+Q(T,M),P=Q("timestamp",G.toISOString());P+=O("level",W.label),P+=O("fiber",yW(Y));let _=Dz(H);for(let T=0;T<_.length;T++)P+=O("message",x9(_[T],Z));if(!$H(J))P+=O("cause",M6(J,{renderErrorCause:!0}));for(let T of U)P+=" "+wQ(G.getTime())(T);for(let[T,M]of X)P+=O(T,x9(M,Z));return P},Er=($)=>`"${$.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,XE=CD(qr(Er));var v5={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},ZU$={None:[],All:[],Trace:[v5.gray],Debug:[v5.blue],Info:[v5.green],Warning:[v5.yellow],Error:[v5.red],Fatal:[v5.bgBrightRed,v5.black]};var JE=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,XU$=JE&&process.stdout.isTTY===!0,JU$=JE||"Deno"in globalThis;var GE="effect/MetricBoundaries",$O=Symbol.for(GE);class YE{values;[$O]=$O;constructor($){this.values=$,this._hash=F(u$(GE),V$(n0(this.values)))}_hash;[Y$](){return this._hash}[G$]($){return Sr($)&&s(this.values,$.values)}pipe(){return n(this,arguments)}}var Sr=($)=>u($,$O),jr=($)=>{let Z=F($,f3(S0(Number.POSITIVE_INFINITY)),r3);return new YE(Z)};var WE=($)=>F(m3($.count-1,(Z)=>$.start*Math.pow($.factor,Z)),CJ,jr);var Ir="effect/MetricKeyType",HE=Symbol.for(Ir),DE="effect/MetricKeyType/Counter",ZO=Symbol.for(DE),vr="effect/MetricKeyType/Frequency",yr=Symbol.for(vr),br="effect/MetricKeyType/Gauge",gr=Symbol.for(br),UE="effect/MetricKeyType/Histogram",XO=Symbol.for(UE),hr="effect/MetricKeyType/Summary",mr=Symbol.for(hr),AE={_In:($)=>$,_Out:($)=>$};class KE{incremental;bigint;[HE]=AE;[ZO]=ZO;constructor($,Z){this.incremental=$,this.bigint=Z,this._hash=u$(DE)}_hash;[Y$](){return this._hash}[G$]($){return JO($)}pipe(){return n(this,arguments)}}class VE{boundaries;[HE]=AE;[XO]=XO;constructor($){this.boundaries=$,this._hash=F(u$(UE),V$(a(this.boundaries)))}_hash;[Y$](){return this._hash}[G$]($){return GO($)&&s(this.boundaries,$.boundaries)}pipe(){return n(this,arguments)}}var QE=($)=>new KE($?.incremental??!1,$?.bigint??!1);var OE=($)=>{return new VE($)};var JO=($)=>u($,ZO),BE=($)=>u($,yr),NE=($)=>u($,gr),GO=($)=>u($,XO),_E=($)=>u($,mr);var fr="effect/MetricKey",FE=Symbol.for(fr),pr={_Type:($)=>$},cr=E7(s);class RD{name;keyType;description;tags;[FE]=pr;constructor($,Z,X,J=[]){this.name=$,this.keyType=Z,this.description=X,this.tags=J,this._hash=F(u$(this.name+this.description),V$(a(this.keyType)),V$(n0(this.tags)))}_hash;[Y$](){return this._hash}[G$]($){return dr($)&&this.name===$.name&&s(this.keyType,$.keyType)&&s(this.description,$.description)&&cr(this.tags,$.tags)}pipe(){return n(this,arguments)}}var dr=($)=>u($,FE),zE=($,Z)=>new RD($,QE(Z),H8(Z?.description));var TE=($,Z,X)=>new RD($,OE(Z),H8(X));var ME=V(2,($,Z)=>Z.length===0?$:new RD($.name,$.keyType,$.description,B6($.tags,Z)));var wE=Symbol.for("effect/MutableHashMap"),or={[wE]:wE,[Symbol.iterator](){return new YO(this)},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(y$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}};class YO{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 YO(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 D1=()=>{let $=Object.create(or);return $.referential=new Map,$.buckets=new Map,$.bucketsSize=0,$};var N0=V(2,($,Z)=>{if(_7(Z)===!1)return $.referential.has(Z)?j($.referential.get(Z)):x();let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return x();return nr($,J,Z)});var nr=($,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 x()},k8=V(2,($,Z)=>p$(N0($,Z))),hZ=V(3,($,Z,X)=>{if(_7(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 RE($,G,Z),G.push([Z,X]),$.bucketsSize++,$}),RE=($,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 U1=V(2,($,Z)=>{if(_7(Z)===!1)return $.referential.delete(Z),$;let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return $;if(RE($,J,Z),J.length===0)$.buckets.delete(X);return $});var y5=($)=>{return $.referential.size+$.bucketsSize};var rr="effect/MetricState",y2=Symbol.for(rr),LE="effect/MetricState/Counter",WO=Symbol.for(LE),qE="effect/MetricState/Frequency",HO=Symbol.for(qE),EE="effect/MetricState/Gauge",DO=Symbol.for(EE),xE="effect/MetricState/Histogram",UO=Symbol.for(xE),SE="effect/MetricState/Summary",AO=Symbol.for(SE),b2={_A:($)=>$};class jE{count;[y2]=b2;[WO]=WO;constructor($){this.count=$}[Y$](){return F(a(LE),V$(a(this.count)),R$(this))}[G$]($){return ir($)&&this.count===$.count}pipe(){return n(this,arguments)}}var lr=E7(s);class kE{occurrences;[y2]=b2;[HO]=HO;constructor($){this.occurrences=$}_hash;[Y$](){return F(u$(qE),V$(n0(P$(this.occurrences.entries()))),R$(this))}[G$]($){return sr($)&&lr(P$(this.occurrences.entries()),P$($.occurrences.entries()))}pipe(){return n(this,arguments)}}class IE{value;[y2]=b2;[DO]=DO;constructor($){this.value=$}[Y$](){return F(a(EE),V$(a(this.value)),R$(this))}[G$]($){return ar($)&&this.value===$.value}pipe(){return n(this,arguments)}}class vE{buckets;count;min;max;sum;[y2]=b2;[UO]=UO;constructor($,Z,X,J,G){this.buckets=$,this.count=Z,this.min=X,this.max=J,this.sum=G}[Y$](){return F(a(xE),V$(a(this.buckets)),V$(a(this.count)),V$(a(this.min)),V$(a(this.max)),V$(a(this.sum)),R$(this))}[G$]($){return tr($)&&s(this.buckets,$.buckets)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return n(this,arguments)}}class yE{error;quantiles;count;min;max;sum;[y2]=b2;[AO]=AO;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(SE),V$(a(this.error)),V$(a(this.quantiles)),V$(a(this.count)),V$(a(this.min)),V$(a(this.max)),V$(a(this.sum)),R$(this))}[G$]($){return er($)&&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 bE=($)=>new jE($),gE=($)=>{return new kE($)},hE=($)=>new IE($),mE=($)=>new vE($.buckets,$.count,$.min,$.max,$.sum),fE=($)=>new yE($.error,$.quantiles,$.count,$.min,$.max,$.sum);var ir=($)=>u($,WO),sr=($)=>u($,HO),ar=($)=>u($,DO),tr=($)=>u($,UO),er=($)=>u($,AO);var Zl="effect/MetricHook",Xl=Symbol.for(Zl),Jl={_In:($)=>$,_Out:($)=>$},g2=($)=>({[Xl]:Jl,pipe(){return n(this,arguments)},...$});var pE=BigInt(0),dE=($)=>{let Z=$.keyType.bigint?pE:0,X=$.keyType.incremental?$.keyType.bigint?(G)=>G>=pE:(G)=>G>=0:(G)=>!0,J=(G)=>{if(X(G))Z=Z+G};return g2({get:()=>bE(Z),update:J,modify:J})},uE=($)=>{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 g2({get:()=>gE(Z),update:X,modify:X})},oE=($,Z)=>{let X=Z;return g2({get:()=>hE(X),update:(J)=>{X=J},modify:(J)=>{X=X+J}})},nE=($)=>{let Z=$.keyType.boundaries.values,X=Z.length,J=new Uint32Array(X+1),G=new Float64Array(X),Y=0,W=0,H=Number.MAX_VALUE,U=Number.MIN_VALUE;F(Z,D8(BZ),c6((O,P)=>{G[P]=O}));let A=(O)=>{let P=0,_=X;while(P!==_){let T=Math.floor(P+(_-P)/2),M=G[T];if(O<=M)_=T;else P=T;if(_===P+1)if(O<=G[P])_=P;else P=_}if(J[P]=J[P]+1,Y=Y+1,W=W+O,O<H)H=O;if(O>U)U=O},Q=()=>{let O=MJ(X),P=0;for(let _=0;_<X;_++){let T=G[_],M=J[_];P=P+M,O[_]=[T,P]}return O};return g2({get:()=>mE({buckets:Q(),count:Y,min:H,max:U,sum:W}),update:A,modify:A})},rE=($)=>{let{error:Z,maxAge:X,maxSize:J,quantiles:G}=$.keyType,Y=F(G,D8(BZ)),W=MJ(J),H=0,U=0,A=0,Q=0,O=0,P=(T)=>{let M=[],S=0;while(S!==J-1){let K$=W[S];if(K$!=null){let[l,J$]=K$,B$=xZ(T-l);if(AW(B$,K8)&&oz(B$,X))M.push(J$)}S=S+1}return Gl(Z,Y,D8(M,BZ))},_=(T,M)=>{if(J>0){H=H+1;let S=H%J;W[S]=[M,T]}Q=U===0?T:Math.min(Q,T),O=U===0?T:Math.max(O,T),U=U+1,A=A+T};return g2({get:()=>fE({error:Z,quantiles:P(Date.now()),count:U,min:Q,max:O,sum:A}),update:([T,M])=>_(T,M),modify:([T,M])=>_(T,M)})},Gl=($,Z,X)=>{let J=X.length;if(!EZ(Z))return N6();let G=Z[0],Y=Z.slice(1),W=cE($,J,x(),0,G,X),H=lZ(W);return Y.forEach((U)=>{H.push(cE($,J,W.value,W.consumed,U,W.rest))}),c6(H,(U)=>[U.quantile,U.value])},cE=($,Z,X,J,G,Y)=>{let W=$,H=Z,U=X,A=J,Q=G,O=Y,P=$,_=Z,T=X,M=J,S=G,K$=Y;while(!0){if(!EZ(O))return{quantile:Q,value:x(),consumed:A,rest:[]};if(Q===1)return{quantile:Q,value:j(c3(O)),consumed:A+O.length,rest:[]};let l=KZ(O),J$=Qz(O,(v$)=>v$===l),B$=Q*H,h$=W/2*B$,A$=A+J$[0].length,m$=Math.abs(A$-B$);if(A$<B$-h$){P=W,_=H,T=v1(O),M=A$,S=Q,K$=J$[1],W=P,H=_,U=T,A=M,Q=S,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,_=H,T=v1(O),M=A$,S=Q,K$=J$[1],W=P,H=_,U=T,A=M,Q=S,O=K$;continue}case"Some":{let v$=Math.abs(B$-U.value);if(m$<v$){P=W,_=H,T=v1(O),M=A$,S=Q,K$=J$[1],W=P,H=_,U=T,A=M,Q=S,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 Wl="effect/MetricPair",Hl=Symbol.for(Wl),Dl={_Type:($)=>$};var lE=($,Z)=>{return{[Hl]:Dl,metricKey:$,metricState:Z,pipe(){return n(this,arguments)}}};var Al="effect/MetricRegistry",iE=Symbol.for(Al);class sE{[iE]=iE;map=D1();snapshot(){let $=[];for(let[Z,X]of this.map)$.push(lE(Z,X.get()));return $}get($){let Z=F(this.map,N0($),r0);if(Z==null){if(JO($.keyType))return this.getCounter($);if(NE($.keyType))return this.getGauge($);if(BE($.keyType))return this.getFrequency($);if(GO($.keyType))return this.getHistogram($);if(_E($.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=dE($);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=uE($);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=oE($,$.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=nE($);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=rE($);if(!F(this.map,k8($)))F(this.map,hZ($,X));Z=X}return Z}}var aE=()=>{return new sE};var Vl="effect/Metric",Ql=Symbol.for(Vl),Ol={_Type:($)=>$,_In:($)=>$,_Out:($)=>$},tE=_$(Symbol.for("effect/Metric/globalMetricRegistry"),()=>aE()),eE=function($,Z,X,J){let G=Object.assign((Y)=>IZ(Y,(W)=>Nl(G,W)),{[Ql]:Ol,keyType:$,unsafeUpdate:Z,unsafeValue:X,unsafeModify:J,register(){return this.unsafeValue([]),this},pipe(){return n(this,arguments)}});return G};var h2=($,Z)=>$x(zE($,Z));var $x=($)=>{let Z,X=new WeakMap,J=(G)=>{if(G.length===0){if(Z!==void 0)return Z;return Z=tE.get($),Z}let Y=X.get(G);if(Y!==void 0)return Y;return Y=tE.get(ME($,G)),X.set(G,Y),Y};return eE($.keyType,(G,Y)=>J(Y).update(G),(G)=>J(G).get(),(G,Y)=>J(Y).modify(G))};var Zx=($,Z,X)=>$x(TE($,Z,X));var Xx=V(3,($,Z,X)=>Bl($,[E5(Z,X)]));var Bl=V(2,($,Z)=>{return eE($.keyType,(X,J)=>$.unsafeUpdate(X,B6(Z,J)),(X)=>$.unsafeValue(B6(Z,X)),(X,J)=>$.unsafeModify(X,B6(Z,J)))});var Nl=V(2,($,Z)=>CZ(s9,(X)=>E(()=>$.unsafeUpdate(Z,X))));var Pl="effect/Request",KO=Symbol.for(Pl),Fl={_E:($)=>$,_A:($)=>$},yU$={...C7,[KO]:Fl},Jx=($)=>u($,KO);var VO=V(2,($,Z)=>CZ(XD,(X)=>E(()=>{if(X.has($)){let J=X.get($);if(!J.state.completed)J.state.completed=!0,XX(J.result,Z)}})));class m2{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 Tl="effect/Supervisor",f2=Symbol.for(Tl),qD={_T:($)=>$};class p2{underlying;value0;[f2]=qD;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 p2(this,F(this.value,I($)))}zip($){return new c2(this,$)}}class c2{left;right;_tag="Zip";[f2]=qD;constructor($,Z){this.left=$,this.right=Z}get value(){return Q5(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 p2(this,F(this.value,I($)))}zip($){return new c2(this,$)}}var QO=($)=>u($,f2)&&k1($,"Zip");class Gx{[f2]=qD;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 p2(this,F(this.value,I($)))}zip($){return new c2(this,$)}onRun($,Z){return $()}}class Yx{effect;[f2]=qD;constructor($){this.effect=$}get value(){return this.effect}onStart($,Z,X,J){}onEnd($,Z){}onEffect($,Z){}onSuspend($){}onResume($){}map($){return new p2(this,F(this.value,I($)))}zip($){return new c2(this,$)}onRun($,Z){return $()}}var Ml=()=>{return new Gx},Wx=E(Ml),wl=($)=>{return new Yx($)},b5=_$("effect/Supervisor/none",()=>wl(T$));var Hx=o1;var Dx="Empty",Ux="AddSupervisor",Ax="RemoveSupervisor",Kx="AndThen",FX={_tag:Dx},xD=($,Z)=>{return{_tag:Kx,first:$,second:Z}},Rl=($,Z)=>{return Ll(Z,S0($))},Ll=($,Z)=>{let X=$,J=Z;while(H0(J)){let G=g$(J);switch(G._tag){case Dx:{J=D0(J);break}case Ux:{X=X.zip(G.supervisor),J=D0(J);break}case Ax:{X=OO(X,G.supervisor),J=D0(J);break}case Kx:{J=O0(G.first)(O0(G.second)(D0(J)));break}}}return X},OO=($,Z)=>{if(s($,Z))return b5;else if(QO($))return OO($.left,Z).zip(OO($.right,Z));else return $},SD=($)=>{if(s($,b5))return r8();else if(QO($))return F(SD($.left),n6(SD($.right)));else return _6($)},ql=($,Z)=>{if(s($,Z))return FX;let X=SD($),J=SD(Z),G=F(J,FK(X),Z5(FX,(W,H)=>xD(W,{_tag:Ux,supervisor:H}))),Y=F(X,FK(J),Z5(FX,(W,H)=>xD(W,{_tag:Ax,supervisor:H})));return xD(G,Y)},Vx=Hx({empty:FX,patch:Rl,combine:xD,diff:ql});var xl=h2("effect_fiber_started",{incremental:!0}),Qx=h2("effect_fiber_active"),Sl=h2("effect_fiber_successes",{incremental:!0}),jl=h2("effect_fiber_failures",{incremental:!0}),kl=Xx(Zx("effect_fiber_lifetimes",WE({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),d2="Continue",Il="Done",Ox="Yield",vl={_E:($)=>$,_A:($)=>$},jD=($)=>{throw Error(`BUG: FiberRuntime - ${x9($)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},A1=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),K1=_$("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),u2={[z7]:($,Z,X)=>{return E0(()=>Z.effect_instruction_i1(X))},["OnStep"]:($,Z,X)=>{return Z0(Z0(X))},[T7]:($,Z,X)=>{return E0(()=>Z.effect_instruction_i2(X))},[OJ]:($,Z,X)=>{if($.patchRuntimeFlags($.currentRuntimeFlags,Z.patch),z6($.currentRuntimeFlags)&&$.isInterrupted())return b$($.getInterruptedCause());else return Z0(X)},[M7]:($,Z,X)=>{if(E0(()=>Z.effect_instruction_i2(X)),E0(()=>Z.effect_instruction_i0()))return $.pushStack(Z),E0(()=>Z.effect_instruction_i1());else return T$},[r4]:($,Z,X)=>{while(!0){let J=E0(()=>Z.effect_instruction_i0.next(X));if(J.done)return Z0(J.value);let G=c4(J.value);if(!z5(G))return $.pushStack(Z),G;else if(G._tag==="Failure")return G;X=G.value}}},yl={[dQ]:($,Z,X,J)=>{return $.processNewInterruptSignal(J.cause),z6(Z)?b$(J.cause):X},[oQ]:($,Z,X,J)=>{throw Error("It is illegal to have multiple concurrent run loops in a single fiber")},[uQ]:($,Z,X,J)=>{return J.onFiber($,mV(Z)),X},[nQ]:($,Z,X,J)=>{return z(X9(),()=>X)}},bl=($)=>q8(VM($),(Z)=>V1(BM(Z),([X,J])=>{let G=new Map,Y=[];for(let H of J){Y.push(c8(H));for(let U of H)G.set(U.request,U)}let W=Y.flat();return R0(il(X.runAll(Y),W,()=>W.forEach((H)=>{H.listeners.interrupted=!0})),XD,G)},!1,!1)),gl=NJ();class bD extends K4{[W1]=PX;[I2]=vl;_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,dK(X)){let J=this.getFiberRef(s9);xl.unsafeUpdate(1,J),Qx.unsafeUpdate(1,J)}this.refreshRefCache()}commit(){return NZ(this)}id(){return this._fiberId}resume($){this.tell(k5($))}get status(){return this.ask(($,Z)=>Z)}get runtimeFlags(){return this.ask(($,Z)=>{if(cH(Z))return $.currentRuntimeFlags;return Z.runtimeFlags})}scope(){return vq(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(N5)}fiberRefs(){return this.ask(($)=>$.getFiberRefs())}ask($){return H$(()=>{let Z=B2(this._fiberId);return this.tell(_X((X,J)=>{XX(Z,E(()=>$(X,J)))})),HZ(Z)})}tell($){if(this._queue.push($),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return jZ(($)=>{let Z=(X)=>$(w(X));if(this._exitValue!==null){Z(this._exitValue);return}return this.tell(_X((X,J)=>{if(X._exitValue!==null)Z(this._exitValue);else X.addObserver(Z)})),E(()=>this.tell(_X((X,J)=>{X.removeObserver(Z)})))},this.id())}get inheritAll(){return x$(($,Z)=>{let X=$.id(),J=$.getFiberRefs(),G=Z.runtimeFlags,Y=this.getFiberRefs(),W=yH(J,X,Y);$.setFiberRefs(W);let H=$.getFiberRef(_x),U=F(l8(G,H),rK(F6),rK(iW));return Z4(U)})}get poll(){return E(()=>H8(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork($){return E(()=>this.tell(ND(QZ($))))}unsafeInterruptAsFork($){this.tell(ND(QZ($)))}addObserver($){if(this._exitValue!==null)$(this._exitValue);else this._observers.push($)}removeObserver($){this._observers=this._observers.filter((Z)=>Z!==$)}getFiberRefs(){return this.setFiberRef(_x,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef($){this._fiberRefs=T2(this._fiberRefs,$)}getFiberRef($){if(this._fiberRefs.locals.has($))return this._fiberRefs.locals.get($)[0][1];return $.initial}setFiberRef($,Z){this._fiberRefs=JX(this._fiberRefs,{fiberId:this._fiberId,fiberRef:$,value:Z}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(M0),this.currentTracer=this.currentDefaultServices.unsafeMap.get(J1.key),this.currentSupervisor=this.getFiberRef(mD),this.currentScheduler=this.getFiberRef(e9),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=d2,X=globalThis[H1];globalThis[H1]=this;try{while(Z===d2)Z=this._queue.length===0?Il:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[H1]=X}if(this._queue.length>0&&!this._running)if(this._running=!0,Z===Ox)this.drainQueueLaterOnExecutor(),$=!1;else $=!0;else $=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(l9),this)}drainQueueWhileRunning($,Z){let X=Z;while(this._queue.length>0){let J=this._queue.splice(0,1)[0];X=yl[J._tag](this,$,X,J)}return X}isInterrupted(){return!cJ(this.getFiberRef(N5))}addInterruptedCause($){let Z=this.getFiberRef(N5);this.setFiberRef(N5,$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(ND(QZ(this.id()))),$=!0;return $}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let $=this._children.values();this._children=null;let Z=!1;return X4({while:()=>!Z,body:()=>{let J=$.next();if(!J.done)return z0(J.value.await);else return E(()=>{Z=!0})},step:()=>{}})}return null}reportExitValue($){if(dK(this.currentRuntimeFlags)){let Z=this.getFiberRef(s9),X=this.id().startTimeMillis,J=Date.now();switch(kl.unsafeUpdate(J-X,Z),Qx.unsafeUpdate(-1,Z),$._tag){case J0:{Sl.unsafeUpdate(1,Z);break}case X0:{jl.unsafeUpdate(1,Z);break}}}if($._tag==="Failure"){let Z=this.getFiberRef(D2);if(!W5($.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(Fx)}log($,Z,X){let J=p$(X)?X.value:this.getFiberRef(KV),G=this.getFiberRef(NO);if(nV(G,J))return;let Y=this.getFiberRef(PH),W=this.getFiberRef(i9),H=this.getLoggers(),U=this.getFiberRefs();if(y9(H)>0){let A=l0(this.getFiberRef(M0),tZ),Q=new Date(A.unsafeCurrentTimeMillis());SF(U,()=>{for(let O of H)O.log({fiberId:this.id(),logLevel:J,message:$,cause:Z,context:U,spans:Y,annotations:W,date:Q})})}}evaluateMessageWhileSuspended($){switch($._tag){case nQ:return Ox;case dQ:{if(this.processNewInterruptSignal($.cause),this._asyncInterruptor!==null)this._asyncInterruptor(b$($.cause)),this._asyncInterruptor=null;return d2}case oQ:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect($.effect),d2;case uQ:return $.onFiber(this,this._exitValue!==null?NC:_C(this.currentRuntimeFlags,this._asyncBlockingOn)),d2;default:return jD($)}}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===A1){let G=K1.currentOp;if(K1.currentOp=null,G._op===w7)if(HM(this.currentRuntimeFlags))this.tell(Sq()),this.tell(k5(bZ)),Z=null;else Z=bZ;else if(G._op===o4)Z=null}else{this.currentRuntimeFlags=F(this.currentRuntimeFlags,pK(iW));let G=this.interruptAllChildren();if(G!==null)Z=z(G,()=>J);else{if(this._queue.length===0)this.setExitValue(J);else this.tell(k5(J));Z=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start($){if(!this._running){this._running=!0;let Z=globalThis[H1];globalThis[H1]=this;try{this.evaluateEffect($)}finally{if(this._running=!1,globalThis[H1]=Z,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(k5($))}startFork($){this.tell(k5($))}patchRuntimeFlags($,Z){let X=h9($,Z);return globalThis[H1]=this,this.currentRuntimeFlags=X,X}initiateAsync($,Z){let X=!1,J=(G)=>{if(!X)X=!0,this.tell(k5(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!==F7)return $;$=this.popStack()}}getNextFailCont(){let $=this.popStack();while($){if($._op!==z7&&$._op!==M7&&$._op!==r4)return $;$=this.popStack()}}[kF]($){return E(()=>u8(this.currentContext,$))}["Left"]($){return L$($.left)}["None"]($){return L$(new yZ)}["Right"]($){return Z0($.right)}["Some"]($){return Z0($.value)}["Micro"]($){return i7((Z)=>{let X=Z,J=yC(kC($,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(wZ(G.cause.defect))}}),i7((G)=>{X=(Y)=>{G(T$)},J.unsafeInterrupt()})})}[uY]($){let Z=E0(()=>$.effect_instruction_i0()),X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in u2))jD(X);return u2[X._op](this,X,Z)}else return K1.currentOp=Z0(Z),A1}[J0]($){let Z=$,X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in u2))jD(X);return u2[X._op](this,X,Z.effect_instruction_i0)}else return K1.currentOp=Z,A1}[X0]($){let Z=$.effect_instruction_i0,X=this.getNextFailCont();if(X!==void 0)switch(X._op){case F7:case T7:if(!(z6(this.currentRuntimeFlags)&&this.isInterrupted()))return E0(()=>X.effect_instruction_i1(Z));else return b$(dJ(Z));case"OnStep":if(!(z6(this.currentRuntimeFlags)&&this.isInterrupted()))return Z0(b$(Z));else return b$(dJ(Z));case OJ:if(this.patchRuntimeFlags(this.currentRuntimeFlags,X.patch),z6(this.currentRuntimeFlags)&&this.isInterrupted())return b$($0(Z,this.getInterruptedCause()));else return b$(Z);default:jD(X)}else return K1.currentOp=b$(Z),A1}[oY]($){return E0(()=>$.effect_instruction_i0(this,mV(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=w5(G.refs,Z),H=l8(G.flags,X);return Z0(c9($.effect_instruction_i0,x$((U)=>{while(J.length>0)U.pushStack(J.pop());return U.setFiberRefs(C5(U.id(),U.getFiberRefs())(W)),U.currentRuntimeFlags=h9(H)(U.currentRuntimeFlags),$.effect_instruction_i1})))}return j0((J)=>z(zX(YH($.effect_instruction_i0)),()=>J($.effect_instruction_i1)))}["RunBlocked"]($){return bl($.effect_instruction_i0)}[S9]($){let Z=$.effect_instruction_i0,X=this.currentRuntimeFlags,J=h9(X,Z);if(z6(J)&&this.isInterrupted())return b$(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,Z),$.effect_instruction_i1){let G=l8(J,X);return this.pushStack(new GV(G,$)),E0(()=>$.effect_instruction_i1(X))}else return bZ}[z7]($){return this.pushStack($),$.effect_instruction_i0}["OnStep"]($){return this.pushStack($),$.effect_instruction_i0}[F7]($){return this.pushStack($),$.effect_instruction_i0}[T7]($){return this.pushStack($),$.effect_instruction_i0}[o4]($){return this._asyncBlockingOn=$.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,$.effect_instruction_i0),K1.currentOp=$,A1}[w7]($){return this._isYielding=!1,K1.currentOp=$,A1}[M7]($){let{effect_instruction_i0:Z,effect_instruction_i1:X}=$;if(Z())return this.pushStack($),X();else return bZ}[r4]($){return u2[r4](this,$,void 0)}[n4]($){return E0(()=>$.commit())}runLoop($){let Z=$;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&WM)!==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=z(X9({priority:X}),()=>J)}}try{if(Z=this.currentTracer.context(()=>{if(gl!==Z[d9]._V){let X=this.getFiberRef(zH);if(X._tag==="Some"){let J=Z[d9]._V;this.log(`Executing an Effect versioned ${J} with a Runtime of version ${NJ()}, 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===A1){let X=K1.currentOp;if(X._op===w7||X._op===o4)return A1;return K1.currentOp=null,X._op===J0||X._op===X0?X:b$(P0(X))}}catch(X){if(Z!==A1&&!u(Z,"_op")||!(Z._op in this))Z=a1(`Not a valid effect: ${x9(Z)}`);else if(MH(X))Z=b$($0(P0(X),QZ(d0)));else Z=wZ(X)}}}run=()=>{this.drainQueueOnCurrentThread()}}var NO=_$("effect/FiberRef/currentMinimumLogLevel",()=>L0(rV("Info"))),hl=($)=>CD((Z)=>{let X=lw(Z.context,M0);l0(X,Z1).unsafe.log($.log(Z))});var ml=_$(Symbol.for("effect/Logger/defaultLogger"),()=>hl(XE));var fl=_$(Symbol.for("effect/Logger/tracerLogger"),()=>CD(({annotations:$,cause:Z,context:X,fiberId:J,logLevel:G,message:Y})=>{let W=j2(R8(t9(X,B8),gZ));if(W._tag==="None"||W.value._tag==="ExternalSpan")return;let H=u8(t9(X,M0),tZ),U={};for(let[A,Q]of $)U[A]=Q;if(U["effect.fiberId"]=jT(J),U["effect.logLevel"]=G.label,Z!==null&&Z._tag!=="Empty")U["effect.cause"]=M6(Z,{renderErrorCause:!0});W.value.event(x9(Array.isArray(Y)&&Y.length===1?Y[0]:Y),H.unsafeCurrentTimeNanos(),U)}));var Fx=_$(Symbol.for("effect/FiberRef/currentLoggers"),()=>Xw(_6(ml,fl)));var zx=function(){if(typeof arguments[0]==="string")return LZ(i9,SZ(arguments[0],arguments[1]));let $=Object.entries(arguments[0]);return LZ(i9,vT((Z)=>{for(let X=0;X<$.length;X++){let[J,G]=$[X];SZ(Z,J,G)}return Z}))},Tx=V(2,($,Z)=>{let X=typeof Z==="string"?rV(Z):Z;return x$((J)=>{let G=J.getFiberRef(NO);if(nV(G,X))return w(x());return I($,j)})}),h5=V(($)=>c$($[0]),($,Z)=>r9(IZ($,(X)=>Y9((J)=>Z(X,J))))),Mx=V(($)=>c$($[0]),($,Z)=>v8($,Y9((X)=>Z(X)))),Y9=($)=>x$((Z)=>{let X=Z.getFiberRefs(),J=fK(Z.currentRuntimeFlags,F6);return z(wO,(G)=>W4(G,(Y)=>x$((W)=>{let H=W.getFiberRefs(),U=W.currentRuntimeFlags,A=w5(H,X),Q=l8(U,J),O=w5(X,H);return W.setFiberRefs(C5(A,W.id(),X)),v8(BH($(Y),Q),E(()=>{W.setFiberRefs(C5(O,W.id(),W.getFiberRefs()))}))})))}),wx=($)=>{return R0(lJ,j(C6))($)},Bx=Symbol.for("effect/Effect/existsPar/found"),Cx=V(($)=>f8($[0])&&!c$($[0]),($,Z,X)=>C2(X?.concurrency,()=>H$(()=>Rx($[Symbol.iterator](),0,Z)),()=>s0(I8($,(J,G)=>UH(Z(J,G),{onTrue:()=>L$(Bx),onFalse:()=>T$}),X),{onFailure:(J)=>J===Bx?w(!0):L$(J),onSuccess:()=>w(!1)}))),Rx=($,Z,X)=>{let J=$.next();if(J.done)return w(!1);return z(X(J.value,Z),(G)=>G?w(G):Rx($,Z+1,X))},Lx=V(($)=>f8($[0])&&!c$($[0]),($,Z,X)=>{let J=X?.negate?(G,Y)=>I(Z(G,Y),gw):Z;return C2(X?.concurrency,()=>H$(()=>P$($).reduceRight((G,Y,W)=>sZ(G,H$(()=>J(Y,W)),(H,U)=>U?[Y,...H]:H),E(()=>[]))),()=>I(I8($,(G,Y)=>I(J(G,Y),(W)=>W?j(G):x()),X),_z))}),pl=($)=>{if(Array.isArray($)||f8($))return[$,x()];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})]},cl=($,Z,X)=>{let J=[];for(let G of $)J.push(i8(G));return z(I8(J,w$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>{let Y=x(),W=G.length,H=Array(W),U=Array(W),A=!1;for(let Q=0;Q<W;Q++){let O=G[Q];if(O._tag==="Left")H[Q]=j(O.left),A=!0;else U[Q]=O.right,H[Q]=Y}if(A)return Z._tag==="Some"?L$(Z.value(H)):L$(H);else if(X?.discard)return T$;return Z._tag==="Some"?w(Z.value(U)):w(U)})},dl=($,Z,X)=>{let J=[];for(let G of $)J.push(i8(G));if(X?.discard)return I8(J,w$,{concurrency:X?.concurrency,batching:X?.batching,discard:!0,concurrentFinalizers:X?.concurrentFinalizers});return I(I8(J,w$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>Z._tag==="Some"?Z.value(G):G)},P4=($,Z)=>{let[X,J]=pl($);if(Z?.mode==="validate")return cl(X,J,Z);else if(Z?.mode==="either")return dl(X,J,Z);return Z?.discard!==!0&&J._tag==="Some"?I(I8(X,w$,Z),J.value):I8(X,w$,Z)},qx=($)=>(Z)=>P4(Z,$),Ex=($,Z)=>I(P4(P$($).map(V0),Z),q7((X)=>Q2(X)?j(X.effect_instruction_i0):x())),_O=V(2,($,Z)=>Array.from({length:Z},()=>$)),xx=V(($)=>c$($[0]),($,Z,X)=>P4(_O($,Z),X)),I8=V(($)=>f8($[0]),($,Z,X)=>x$((J)=>{let G=X?.batching===!0||X?.batching==="inherit"&&J.getFiberRef(H2);if(X?.discard)return UQ(X.concurrency,()=>g5(kH,X?.concurrentFinalizers)((Y)=>G?V1($,(W,H)=>Y(Z(W,H)),!0,!1,1):q8($,(W,H)=>Y(Z(W,H)))),()=>g5(IH,X?.concurrentFinalizers)((Y)=>V1($,(W,H)=>Y(Z(W,H)),G,!1)),(Y)=>g5(vH(Y),X?.concurrentFinalizers)((W)=>V1($,(H,U)=>W(Z(H,U)),G,!1,Y)));return UQ(X?.concurrency,()=>g5(kH,X?.concurrentFinalizers)((Y)=>G?BO($,1,(W,H)=>Y(Z(W,H)),!0):OZ($,(W,H)=>Y(Z(W,H)))),()=>g5(IH,X?.concurrentFinalizers)((Y)=>kD($,(W,H)=>Y(Z(W,H)),G)),(Y)=>g5(vH(Y),X?.concurrentFinalizers)((W)=>BO($,Y,(H,U)=>W(Z(H,U)),G)))})),kD=($,Z,X)=>H$(()=>{let J=P$($),G=Array(J.length);return j$(V1(J,(W,H)=>z(Z(W,H),(U)=>E(()=>G[H]=U)),X,!1),w(G))}),V1=($,Z,X,J,G)=>j0((Y)=>QH((W)=>x$((H)=>{let U=Array.from($).reverse(),A=U.length;if(A===0)return T$;let Q=0,O=!1,P=G?Math.min(U.length,G):U.length,_=new Set,T=[],M=()=>_.forEach((v$)=>{v$.currentScheduler.scheduleTask(()=>{v$.unsafeInterruptAsFork(H.id())},0,v$)}),S=[],K$=[],l=[],J$=()=>{let v$=T.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=r9(W(v$)),$$=ul(i,H,H.currentRuntimeFlags,C6);return H.currentScheduler.scheduleTask(()=>{if(A0)$$.unsafeInterruptAsFork(H.id());$$.resume(i)},0,$$),$$},h$=()=>{if(!J)A-=U.length,U=[];O=!0,M()},A$=X?DH:V0,m$=B$(jZ((v$)=>{let A0=($$,r)=>{if($$._op==="Blocked")l.push($$);else if(T.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++,z(X9(),()=>z(A$(Y(Z(Q0,r))),z$))},z$=(Q0)=>{if(U.length>0){if(A0(Q0,r),U.length>0)return Q$()}return w(Q0)},q$=z(A$(Y(Z($$,r))),z$),Z$=B$(q$);if(S.push(Z$),_.add(Z$),O)Z$.currentScheduler.scheduleTask(()=>{Z$.unsafeInterruptAsFork(H.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),T.length===A)v$(w(c0(H4(J$(),{parallel:!0}),()=>bZ)));else if(l.length+T.length===A){let b6=J$(),G8=l.map((F8)=>F8.effect_instruction_i0).reduce(iK);v$(w(c9(G8,V1([c0(H4(b6,{parallel:!0}),()=>bZ),...l.map((F8)=>F8.effect_instruction_i1)],(F8)=>F8,X,!0,G))))}else i()})}};for(let $$=0;$$<P;$$++)i()}));return z0(iZ(kZ(Y(NZ(m$))),T5({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$=[],z$=0,q$=0,Z$=(b0,b6)=>(G8)=>{if(Q$[b0]=G8,z$++,z$===A0)r(Z0(b$(v$)));if($$.length>0&&b6)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)})))}))),BO=($,Z,X,J)=>H$(()=>{let G=P$($),Y=Array(G.length);return j$(V1(G,(H,U)=>I(X(H,U),(A)=>Y[U]=A),J,!1,Z),w(Y))}),Q1=($)=>x$((Z,X)=>w(o2($,Z,X.runtimeFlags))),zX=($)=>ol($,C6),Sx=V(2,($,Z)=>Q1(VH($,(X)=>{let J=T6(X);switch(J._tag){case"Left":return Z(J.left);case"Right":return E$(J.right)}}))),o2=($,Z,X,J=null)=>{let G=ID($,Z,X,J);return G.resume($),G},ul=($,Z,X,J=null)=>{return ID($,Z,X,J)},ID=($,Z,X,J=null)=>{let G=hW(),Y=Z.getFiberRefs(),W=IV(Y,G),H=new bD(G,W,X),U=t9(W,B8),A=H.currentSupervisor;return A.onStart(U,$,j(Z),H),H.addObserver((O)=>A.onEnd(O,H)),(J!==null?J:F(Z.getFiberRef(lJ),c0(()=>Z.scope()))).add(X,H),H},ol=($,Z)=>x$((X,J)=>w(o2($,X,J.runtimeFlags,Z))),PO=V(($)=>m8($[2]),($,Z,X,J)=>C2(J?.concurrency,()=>P$($).reduce((G,Y,W)=>sZ(G,Y,(H,U)=>X(H,U,W)),w(Z)),()=>z(aH(Z),(G)=>z(I8($,(Y,W)=>z(Y,(H)=>fC(G,(U)=>X(U,H,W))),J),()=>tH(G))))),FO=V(($)=>f8($[0]),($,Z,X)=>F(I8($,(J,G)=>i8(Z(J,G)),X),I((J)=>nM(J,w$)))),jx=V(($)=>f8($[0]),($,Z,X)=>z(FO($,Z,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),([J,G])=>XW(J)?L$(J):X?.discard?T$:w(G))),kx=($)=>x$((Z,X)=>jZ((J)=>{let G=new Set,Y,W=u0,H=()=>{for(let Q of G)Q.unsafeInterruptAsFork(Z.id())},U=!1,A=!0;for(let Q of $){A=!1;let O=o2(n9(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,H();else W=F0(P.cause,W);if(U&&G.size===0)J(Y?j$(MD(Y),Y.unsafePoll()):E$(W))}),Y)break}if(A)return J(L8(()=>new a8("Received an empty collection of effects")));return U=!0,v2(G,Z.id())})),Ix=V(($)=>f8($[0])&&!c$($[0]),($,Z,X,J)=>C2(J?.concurrency,()=>P$($).reduce((G,Y,W)=>sZ(G,Y,(H,U)=>X(H,U,W)),Z),()=>H$(()=>F(PO([Z,...$],x(),(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}}))))),vD=($)=>S8((Z)=>p0(R8(Z,H9),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Parallel":return $;case"Sequential":case"ParallelN":return z(x8(X,IH),(J)=>D9($,J))}}})),Nx=($)=>(Z)=>S8((X)=>p0(R8(X,H9),{onNone:()=>Z,onSome:(J)=>{if(J.strategy._tag==="ParallelN"&&J.strategy.parallelism===$)return Z;return z(x8(J,vH($)),(G)=>D9(Z,G))}})),vx=($)=>(Z)=>g5($,!0)(Z),g5=($,Z)=>(X)=>S8((J)=>p0(R8(J,H9),{onNone:()=>X(w$),onSome:(G)=>{if(Z===!0){let Y=$._tag==="Parallel"?vD:$._tag==="Sequential"?yD:Nx($.parallelism);switch(G.strategy._tag){case"Parallel":return Y(X(vD));case"Sequential":return Y(X(yD));case"ParallelN":return Y(X(Nx(G.strategy.parallelism)))}}else return X(w$)}})),X6=($)=>z(H9,$),n2=($)=>z(m5(),(Z)=>iZ($(Z),(X)=>Z.close(X))),gD=($)=>z(m5(),(Z)=>CO($,Z)),yD=($)=>S8((Z)=>p0(R8(Z,H9),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Sequential":return $;case"Parallel":case"ParallelN":return z(x8(X,kH),(J)=>D9($,J))}}})),yx=($,Z)=>zO([E5($,Z)]),zO=($)=>LZ(s9,(Z)=>B6(Z,$)),bx=V(2,($,Z)=>n2((X)=>z(D9($,X),Z))),gx=V(($)=>c$($[1]),($,Z,X)=>TO($,Z,(J,G)=>[J,G],X)),TO=V(($)=>c$($[1]),($,Z,X,J)=>kZ(W9(V0($),V0(Z),(G,Y)=>t8(G,Y,{onSuccess:X,onFailure:(W,H)=>J?.concurrent?F0(W,H):$0(W,H)}),J)));var hx=V(($)=>f8($[0]),($,Z,X)=>e1(I8($,(J,G)=>e1(Z(J,G)),X))),mx=($)=>LZ(M0,e$(tZ,$)),fx=($)=>LZ(M0,e$(X1,$)),hD=($)=>LZ(M0,e$(DX,$)),px=($)=>X6((Z)=>z(x8(Z,e8),(X)=>F($,D9(X),I((J)=>[O8((G)=>_5(X,O2(G))),J])))),cx=V(($)=>c$($[1]),($,Z,X)=>W9($,Z,(J,G)=>[J,G],X)),dx=V(($)=>c$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return O5($,Z);return W9($,Z,(J,G)=>J,X)}),ux=V(($)=>c$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return j$($,Z);return W9($,Z,(J,G)=>G,X)}),W9=V(($)=>c$($[1]),($,Z,X,J)=>I(P4([$,Z],{concurrency:J?.concurrent?2:1,batching:J?.batching,concurrentFinalizers:J?.concurrentFinalizers}),([G,Y])=>X(G,Y))),MO=($)=>{if($===UM)return T$;return F(s7,z((Z)=>{let X=h9(Z,$),J=l8(X,Z);return F(Z4($),j$(Y9(()=>Z4(J))),z0)}),r9)},H9=WZ("effect/Scope"),wO=H9,nl=($,Z)=>{if($.state._tag==="Open")$.state.finalizers.set({},Z)},rl={[A2]:A2,[K2]:K2,pipe(){return n(this,arguments)},fork($){return E(()=>{let Z=ox($);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),nl(Z,(G)=>E(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(X)})),Z})},close($){return H$(()=>{if(this.state._tag==="Closed")return T$;let Z=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:$},Z.length===0)return T$;return xV(this.strategy)?F(OZ(Z,(X)=>V0(X($))),z((X)=>F(H4(X),x0(ZX),c0(()=>bZ)))):SV(this.strategy)?F(kD(Z,(X)=>V0(X($)),!1),z((X)=>F(H4(X,{parallel:!0}),x0(ZX),c0(()=>bZ)))):F(BO(Z,this.strategy.parallelism,(X)=>V0(X($)),!1),z((X)=>F(H4(X,{parallel:!0}),x0(ZX),c0(()=>bZ))))})},addFinalizer($){return H$(()=>{if(this.state._tag==="Closed")return $(this.state.exit);return this.state.finalizers.set({},$),T$})}},ox=($=e8)=>{let Z=Object.create(rl);return Z.strategy=$,Z.state={_tag:"Open",finalizers:new Map},Z},m5=($=e8)=>E(()=>ox($)),D9=V(2,($,Z)=>U4($,o8(U8(H9,Z)))),CO=V(2,($,Z)=>F($,D9(Z),iZ((X)=>Z.close(X)))),ll=($)=>B5($,{differ:Vx,fork:FX}),mZ=V(2,($,Z)=>z0(h5(z(E8($),(X)=>i$(A5($,Z),X)),(X)=>A5($,X)))),LZ=V(2,($,Z)=>CZ($,(X)=>mZ($,Z(X))));var _x=Jw(DM),mD=ll(b5),fD=($)=>I8($,zD),TX=($)=>{return{...xH,commit(){return NZ(this)},[W1]:PX,id:()=>P$($).reduce((X,J)=>V8(X,J.id()),d0),await:V0(kD($,(X)=>kZ(X.await),!1)),children:I(kD($,(X)=>X.children,!1),JW),inheritAll:q8($,(X)=>X.inheritAll),poll:I(OZ($,(X)=>X.poll),GW(j(Z0([])),(X,J)=>{switch(J._tag){case"None":return x();case"Some":switch(X._tag){case"None":return x();case"Some":return j(t8(J.value,X.value,{onSuccess:(G,Y)=>[G,...Y],onFailure:F0}))}}})),interruptAsFork:(X)=>q8($,(J)=>J.interruptAsFork(X))}},nx=($)=>z0(zX(G4($))),rx=($)=>NZ(TX($)),lx=($)=>h5(w($),G4),RO=V(3,($,Z,X)=>LO($,Z,{onSelfWin:(J,G)=>z(J.await,(Y)=>{switch(Y._tag){case J0:return z(J.inheritAll,()=>X.onSelfDone(Y,G));case X0:return X.onSelfDone(Y,G)}}),onOtherWin:(J,G)=>z(J.await,(Y)=>{switch(Y._tag){case J0:return z(J.inheritAll,()=>X.onOtherDone(Y,G));case X0:return X.onOtherDone(Y,G)}})})),ix=($)=>j0((Z)=>O8((X)=>z(zX(Z($)),(J)=>F(Z(NZ(J)),Z9(()=>F(J,wD(X))))))),pD=V(2,($,Z)=>O8((X)=>RO($,Z,{onSelfDone:(J,G)=>M5(J,{onFailure:(Y)=>F(NZ(G),BX((W)=>F0(Y,W))),onSuccess:(Y)=>F(G,vZ(X),i$(Y))}),onOtherDone:(J,G)=>M5(J,{onFailure:(Y)=>F(NZ(G),BX((W)=>F0(W,Y))),onSuccess:(Y)=>F(G,vZ(X),i$(Y))})}))),LO=V(3,($,Z,X)=>x$((J,G)=>{let Y=G.runtimeFlags,W=r6(!0),H=ID($,J,Y,X.selfScope),U=ID(Z,J,Y,X.otherScope);return jZ((A)=>{H.addObserver(()=>Px(H,U,X.onSelfWin,W,A)),U.addObserver(()=>Px(U,H,X.onOtherWin,W,A)),H.startFork($),U.startFork(Z)},V8(H.id(),U.id()))})),Px=($,Z,X,J,G)=>{if(EW(!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)}))),il=($,Z,X)=>O8((J)=>v8(z(zX(n9($)),(G)=>jZ((Y)=>{let W=Z.map((A)=>A.listeners.count),H=()=>{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"&&c7(A.result.state.current.effect.cause))return!0;else return!1}))U.forEach((A)=>A()),X?.(),Y(G4(G))}};G.addObserver((A)=>{U.forEach((Q)=>Q()),Y(A)});let U=Z.map((A,Q)=>{let O=(P)=>{W[Q]=P,H()};return A.listeners.addObserver(O),()=>A.listeners.removeObserver(O)});return H(),E(()=>{U.forEach((A)=>A())})})),H$(()=>{let G=Z.flatMap((Y)=>{if(!Y.state.completed)return[Y];return[]});return q8(G,(Y)=>VO(Y.request,O2(J)))})));var Z6=($,Z)=>{return Z=j8(Z),r9(x$((X)=>{let J=u8(X.getFiberRef(B8),H9),G=BD(X,$,Z),Y=X.getFiberRef(Y4),W=l0(X.getFiberRef(M0),tZ);return i$(W4(J,(H)=>pQ(G,H,W,Y)),G)}))},cD=($)=>LZ(M0,e$(J1,$)),sx=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return z(Z6(Z,j8(X)),(G)=>N4(J,gZ,G))}return(J)=>z(Z6(Z,j8(X)),(G)=>N4(J,gZ,G))};var sl=A2,al=K2,qO=H9,tl=V2,el=W4,EO=_5,$i=D9,xO=x8,Zi=CO,Xi=m5;var t={};T8(t,{zipWith:()=>_v,zipRight:()=>f8$,zipLeft:()=>m8$,zip:()=>h8$,yieldNow:()=>ve,withUnhandledErrorLogLevel:()=>Y8$,withTracerTiming:()=>Z6$,withTracerScoped:()=>e8$,withTracerEnabled:()=>$6$,withTracer:()=>t8$,withSpanScoped:()=>B6$,withSpan:()=>Pv,withSchedulingPriority:()=>H0$,withScheduler:()=>W0$,withRuntimeFlagsPatchScoped:()=>z8$,withRuntimeFlagsPatch:()=>F8$,withRequestCaching:()=>l8$,withRequestCache:()=>i8$,withRequestBatching:()=>r8$,withRandomScoped:()=>N8$,withRandomFixed:()=>B8$,withRandom:()=>Nv,withParentSpan:()=>N6$,withMetric:()=>L8$,withMaxOpsBeforeYield:()=>D0$,withLogSpan:()=>Z8$,withFiberRuntime:()=>F1,withExecutionPlan:()=>te,withEarlyRelease:()=>p$$,withConsoleScoped:()=>B0$,withConsole:()=>N0$,withConfigProviderScoped:()=>E0$,withConfigProvider:()=>q0$,withConcurrency:()=>Y0$,withClockScoped:()=>K0$,withClock:()=>V0$,whileLoop:()=>LG,whenRef:()=>AZ$,whenLogLevel:()=>W8$,whenFiberRef:()=>UZ$,whenEffect:()=>DZ$,when:()=>HZ$,void:()=>z1,validateWith:()=>g8$,validateFirst:()=>ze,validateAll:()=>Fe,validate:()=>b8$,using:()=>f$$,useSpan:()=>Q6$,updateService:()=>d0$,updateFiberRefs:()=>fZ$,unsandbox:()=>G$$,unsafeMakeSemaphore:()=>q8$,unsafeMakeLatch:()=>x8$,unlessEffect:()=>WZ$,unless:()=>YZ$,uninterruptibleMask:()=>Q$$,uninterruptible:()=>V$$,tryPromise:()=>J$$,tryMapPromise:()=>X$$,tryMap:()=>Z$$,try:()=>$$$,transposeOption:()=>F6$,transposeMapOption:()=>z6$,transplant:()=>G0$,tracerWith:()=>a8$,tracer:()=>s8$,timeoutTo:()=>R0$,timeoutOption:()=>M0$,timeoutFailCause:()=>C0$,timeoutFail:()=>w0$,timeout:()=>T0$,timedWith:()=>z0$,timed:()=>F0$,tapErrorTag:()=>TZ$,tapErrorCause:()=>MZ$,tapError:()=>zZ$,tapDefect:()=>FZ$,tapBoth:()=>PZ$,tap:()=>WN,takeWhile:()=>Ge,takeUntil:()=>Je,tagMetricsScoped:()=>w8$,tagMetrics:()=>T8$,sync:()=>V9,suspend:()=>GN,supervised:()=>J0$,summarized:()=>_Z$,succeedSome:()=>Ie,succeedNone:()=>JN,succeed:()=>XN,step:()=>u8$,spanLinks:()=>D6$,spanAnnotations:()=>H6$,sleep:()=>P0$,setFiberRefs:()=>mZ$,serviceOptional:()=>c0$,serviceOption:()=>p0$,serviceMembers:()=>f0$,serviceFunctions:()=>h0$,serviceFunctionEffect:()=>g0$,serviceFunction:()=>b0$,serviceConstants:()=>m0$,sequentialFinalizers:()=>v$$,scopedWith:()=>h$$,scoped:()=>m$$,scopeWith:()=>g$$,scope:()=>b$$,scheduleFrom:()=>jZ$,scheduleForked:()=>SZ$,schedule:()=>xZ$,sandbox:()=>se,runtime:()=>qG,runSyncExit:()=>y8$,runSync:()=>v8$,runRequestBlock:()=>d8$,runPromiseExit:()=>I8$,runPromise:()=>k8$,runFork:()=>EG,runCallback:()=>j8$,retryOrElse:()=>ee,retry:()=>ae,request:()=>o8$,replicateEffect:()=>Pe,replicate:()=>_e,repeatOrElse:()=>EZ$,repeatN:()=>qZ$,repeat:()=>LZ$,reduceWhile:()=>Oe,reduceRight:()=>Be,reduceEffect:()=>Ne,reduce:()=>Qe,randomWith:()=>O8$,random:()=>Q8$,raceWith:()=>NZ$,raceFirst:()=>BZ$,raceAll:()=>OZ$,race:()=>QZ$,provideServiceEffect:()=>y0$,provideService:()=>v0$,provide:()=>I0$,promise:()=>ke,patchRuntimeFlags:()=>P8$,patchFiberRefs:()=>hZ$,partition:()=>Ve,parallelFinalizers:()=>I$$,parallelErrors:()=>ie,orElseSucceed:()=>K8$,orElseFail:()=>A8$,orElse:()=>U8$,orDieWith:()=>D8$,orDie:()=>H8$,optionFromOptional:()=>P6$,option:()=>i0$,once:()=>at,onInterrupt:()=>K$$,onExit:()=>k$$,onError:()=>j$$,none:()=>je,never:()=>Se,negate:()=>L$$,metricLabels:()=>R8$,mergeAll:()=>Ke,merge:()=>R$$,matchEffect:()=>nZ$,matchCauseEffect:()=>oZ$,matchCause:()=>uZ$,match:()=>dZ$,mapInputContext:()=>k0$,mapErrorCause:()=>C$$,mapError:()=>w$$,mapBoth:()=>M$$,mapAccum:()=>T$$,map:()=>$8,makeSpanScoped:()=>V6$,makeSpan:()=>K6$,makeSemaphore:()=>E8$,makeLatch:()=>S8$,loop:()=>RZ$,logWithLevel:()=>lZ$,logWarning:()=>tZ$,logTrace:()=>iZ$,logInfo:()=>aZ$,logFatal:()=>$8$,logError:()=>eZ$,logDebug:()=>sZ$,logAnnotations:()=>G8$,log:()=>rZ$,locallyWith:()=>yZ$,locallyScopedWith:()=>gZ$,locallyScoped:()=>bZ$,locally:()=>vZ$,linkSpans:()=>U6$,linkSpanCurrent:()=>A6$,liftPredicate:()=>O$$,let:()=>l0$,labelMetricsScoped:()=>C8$,labelMetrics:()=>M8$,iterate:()=>CZ$,isSuccess:()=>cZ$,isFailure:()=>pZ$,isEffect:()=>MG,intoDeferred:()=>RG,interruptibleMask:()=>A$$,interruptible:()=>U$$,interruptWith:()=>D$$,interrupt:()=>vX,inheritFiberRefs:()=>IZ$,ignoreLogged:()=>le,ignore:()=>re,if:()=>t0$,head:()=>Ae,getRuntimeFlags:()=>_8$,getFiberRefs:()=>kZ$,gen:()=>xe,functionWithSpan:()=>O6$,fromNullable:()=>_6$,fromFiberEffect:()=>X0$,fromFiber:()=>Z0$,forkWithErrorHandler:()=>$0$,forkScoped:()=>e$$,forkIn:()=>t$$,forkDaemon:()=>YN,forkAll:()=>a$$,fork:()=>s$$,forever:()=>wZ$,forEach:()=>wG,fnUntraced:()=>C6$,fn:()=>w6$,flipWith:()=>z$$,flip:()=>F$$,flatten:()=>VZ$,flatMap:()=>l5,firstSuccessOf:()=>V8$,findFirst:()=>Ue,finalizersMask:()=>y$$,filterOrFail:()=>XZ$,filterOrElse:()=>ZZ$,filterOrDieMessage:()=>$Z$,filterOrDie:()=>e0$,filterMap:()=>De,filterEffectOrFail:()=>GZ$,filterEffectOrElse:()=>JZ$,filter:()=>He,fiberIdWith:()=>yX,fiberId:()=>i$$,failSync:()=>Re,failCauseSync:()=>Le,failCause:()=>Bv,fail:()=>Ce,exit:()=>a0$,exists:()=>We,every:()=>Ye,eventually:()=>ne,ensuringChildren:()=>l$$,ensuringChild:()=>r$$,ensuring:()=>S$$,ensureSuccessType:()=>R6$,ensureRequirementsType:()=>q6$,ensureErrorType:()=>L6$,either:()=>s0$,dropWhile:()=>Xe,dropUntil:()=>Ze,disconnect:()=>H$$,diffFiberRefs:()=>n$$,dieSync:()=>Ee,dieMessage:()=>qe,die:()=>ZN,descriptorWith:()=>o$$,descriptor:()=>u$$,delay:()=>_0$,daemonChildren:()=>d$$,custom:()=>we,currentSpan:()=>G6$,currentPropagatedSpan:()=>Y6$,currentParentSpan:()=>W6$,contextWithEffect:()=>j0$,contextWith:()=>S0$,context:()=>x0$,consoleWith:()=>O0$,console:()=>Q0$,configProviderWith:()=>L0$,clockWith:()=>A0$,clock:()=>U0$,checkInterruptible:()=>W$$,cause:()=>oe,catchTags:()=>ue,catchTag:()=>de,catchSomeDefect:()=>ce,catchSomeCause:()=>pe,catchSome:()=>fe,catchIf:()=>me,catchAllDefect:()=>he,catchAllCause:()=>ge,catchAll:()=>be,catch:()=>ye,cachedWithTTL:()=>rt,cachedInvalidateWithTTL:()=>lt,cachedFunction:()=>st,cached:()=>it,cacheRequestResult:()=>n8$,blocked:()=>c8$,bindTo:()=>r0$,bindAll:()=>n0$,bind:()=>o0$,awaitAllChildren:()=>c$$,asyncEffect:()=>Me,async:()=>Te,asVoid:()=>P$$,asSomeError:()=>_$$,asSome:()=>N$$,as:()=>B$$,ap:()=>p8$,annotateSpans:()=>X6$,annotateLogsScoped:()=>J8$,annotateLogs:()=>X8$,annotateCurrentSpan:()=>J6$,andThen:()=>KZ$,allowInterrupt:()=>Y$$,allWith:()=>et,allSuccesses:()=>$e,all:()=>tt,addFinalizer:()=>x$$,acquireUseRelease:()=>E$$,acquireReleaseInterruptible:()=>q$$,acquireRelease:()=>CG,Tag:()=>T6$,Service:()=>M6$,EffectTypeId:()=>nt,Do:()=>u0$});var J6={};T8(J6,{stripSomeDefects:()=>mi,stripFailures:()=>hi,squashWith:()=>ni,squash:()=>l2,size:()=>Ci,sequential:()=>Ni,reduceWithContext:()=>i2,reduce:()=>si,prettyErrors:()=>Ks,pretty:()=>As,parallel:()=>Bi,originalError:()=>Vs,match:()=>ii,map:()=>pi,linearize:()=>gi,keepDefects:()=>bi,isUnknownException:()=>Hs,isTimeoutException:()=>Ys,isSequentialType:()=>Mi,isRuntimeException:()=>Js,isParallelType:()=>wi,isNoSuchElementException:()=>Zs,isInterruptedOnly:()=>r2,isInterruptedException:()=>ti,isInterrupted:()=>Ei,isInterruptType:()=>Ti,isIllegalArgumentException:()=>ei,isFailure:()=>Li,isFailType:()=>Fi,isExceededCapacityException:()=>Us,isEmptyType:()=>Pi,isEmpty:()=>Ri,isDieType:()=>zi,isDie:()=>qi,isCause:()=>_i,interruptors:()=>ji,interruptOption:()=>yi,interrupt:()=>Oi,flipCauseOption:()=>Ii,flatten:()=>ui,flatMap:()=>ci,find:()=>ri,filter:()=>li,failures:()=>xi,failureOrCause:()=>SO,failureOption:()=>ki,fail:()=>dD,empty:()=>Qi,dieOption:()=>vi,die:()=>uD,defects:()=>Si,contains:()=>oi,as:()=>fi,andThen:()=>di,YieldableError:()=>Vi,UnknownExceptionTypeId:()=>Ki,UnknownException:()=>Ws,TimeoutExceptionTypeId:()=>Ai,TimeoutException:()=>Gs,RuntimeExceptionTypeId:()=>Gi,RuntimeException:()=>Xs,NoSuchElementExceptionTypeId:()=>Hi,NoSuchElementException:()=>$s,InvalidPubSubCapacityExceptionTypeId:()=>Di,InterruptedExceptionTypeId:()=>Yi,InterruptedException:()=>ai,IllegalArgumentExceptionTypeId:()=>Wi,IllegalArgumentException:()=>s2,ExceededCapacityExceptionTypeId:()=>Ui,ExceededCapacityException:()=>Ds,CauseTypeId:()=>Ji});var Ji=eW,Gi=iJ,Yi=sJ,Wi=aJ,Hi=tJ,Di=GH,Ui=eJ,Ai=$2,Ki=Z2,Vi=$X,Qi=u0,dD=Q8,uD=P0,Oi=QZ,Bi=F0,Ni=$0,_i=pJ,Pi=$H,Fi=zM,zi=Y5,Ti=TM,Mi=MM,wi=wM,Ci=CM,Ri=cJ,Li=RM,qi=LM,Ei=c7,r2=W5,xi=d7,Si=u7,ji=H5,ki=o7,SO=T6,Ii=qM,vi=ZV,yi=XV,bi=ZH,gi=xM,hi=dJ,mi=jM,fi=kM,pi=n7,ci=f7,di=IM,ui=XH,oi=vM,l2=Hw,ni=QV,ri=a6,li=bM,ii=t6,si=f9,i2=D5,ai=BV,ti=MH,s2=a8,ei=Uw,$s=yZ,Zs=wH,Xs=OV,Js=Dw,Gs=NV,Ys=Qw,Ws=F5,Hs=Ow,Ds=Aw,Us=Kw,As=M6,Ks=r7,Vs=uM;var Qs="effect/ScheduleInterval",a2=Symbol.for(Qs),jO={[a2]:a2,startMillis:0,endMillis:0},oD=($,Z)=>{if($>Z)return jO;return{[a2]:a2,startMillis:$,endMillis:Z}},ax=V(2,($,Z)=>tx($,Z)===$),tx=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 ex=($)=>{return $.startMillis>=$.endMillis};var $S=V(2,($,Z)=>{let X=Math.max($.startMillis,Z.startMillis),J=Math.min($.endMillis,Z.endMillis);return oD(X,J)}),ZS=($)=>{return xZ($.endMillis-$.startMillis)};var XS=($)=>{return oD($,Number.POSITIVE_INFINITY)};var eZ=oD,kO=jO,JS=ax;var GS=ex;var YS=$S,WS=ZS;var R6=XS;var Bs="effect/ScheduleIntervals",IO=Symbol.for(Bs),rD=($)=>{return{[IO]:IO,intervals:$}};var US=V(2,($,Z)=>{if(!H0(Z.intervals))return $;if(!H0($.intervals))return Z;if(g$($.intervals).startMillis<g$(Z.intervals).startMillis)return DS(D0($.intervals),Z.intervals,g$($.intervals),C0());return DS($.intervals,D0(Z.intervals),g$(Z.intervals),C0())}),DS=($,Z,X,J)=>{let G=$,Y=Z,W=X,H=J;while(H0(G)||H0(Y))if(!H0(G)&&H0(Y))if(W.endMillis<g$(Y).startMillis)H=F(H,O0(W)),W=g$(Y),Y=D0(Y),G=C0();else W=eZ(W.startMillis,g$(Y).endMillis),Y=D0(Y),G=C0();else if(H0(G)&&YW(Y))if(W.endMillis<g$(G).startMillis)H=F(H,O0(W)),W=g$(G),Y=C0(),G=D0(G);else W=eZ(W.startMillis,g$(G).endMillis),Y=C0(),G=D0(G);else if(H0(G)&&H0(Y))if(g$(G).startMillis<g$(Y).startMillis)if(W.endMillis<g$(G).startMillis)H=F(H,O0(W)),W=g$(G),G=D0(G);else W=eZ(W.startMillis,g$(G).endMillis),G=D0(G);else if(W.endMillis<g$(Y).startMillis)H=F(H,O0(W)),W=g$(Y),Y=D0(Y);else W=eZ(W.startMillis,g$(Y).endMillis),Y=D0(Y);else throw Error(q9("Intervals.unionLoop"));return rD(F(H,O0(W),w8))},AS=V(2,($,Z)=>Ns($.intervals,Z.intervals,C0())),Ns=($,Z,X)=>{let J=$,G=Z,Y=X;while(H0(J)&&H0(G)){let W=F(g$(J),YS(g$(G))),H=GS(W)?Y:F(Y,O0(W));if(F(g$(J),JS(g$(G))))J=D0(J);else G=D0(G);Y=H}return rD(w8(Y))},nD=($)=>{return F($.intervals,RJ,c0(()=>kO)).startMillis},KS=($)=>{return F($.intervals,RJ,c0(()=>kO)).endMillis},vO=V(2,($,Z)=>nD($)<nD(Z)),VS=($)=>{return H0($.intervals)},QS=V(2,($,Z)=>vO($,Z)?Z:$);var OS=rD;var yO=US,BS=AS,F4=nD,lD=KS,NS=vO,_S=VS,PS=QS;var gO="Continue",FS="Done",zS=($)=>{return{_tag:gO,intervals:$}},TS=($)=>{return{_tag:gO,intervals:OS(S0($))}},MS={_tag:FS},wS=($)=>{return $._tag===gO},CS=($)=>{return $._tag===FS};var f5=zS;var t0=TS,y8=MS,B1=wS,UZ=CS;class qS{permits;waiters=new Set;taken=0;constructor($){this.permits=$}get free(){return this.permits-this.taken}take=($)=>J2((Z)=>{if(this.free<$){let X=()=>{if(this.free<$)return;this.waiters.delete(X),Z(H$(()=>{if(this.free<$)return this.take($);return this.taken+=$,w($)}))};return this.waiters.add(X),E(()=>{this.waiters.delete(X)})}Z(H$(()=>{if(this.free<$)return this.take($);return this.taken+=$,w($)}))});updateTakenUnsafe($,Z){if(this.taken=Z(this.taken),this.waiters.size>0)$.getFiberRef(e9).scheduleTask(()=>{let X=this.waiters.values(),J=X.next();while(J.done===!1&&this.free>0)J.value(),J=X.next()},$.getFiberRef(l9),$);return w(this.free)}updateTaken($){return x$((Z)=>this.updateTakenUnsafe(Z,$))}resize=($)=>z0(x$((Z)=>{if(this.permits=$,this.free<0)return T$;return this.updateTakenUnsafe(Z,(X)=>X)}));release=($)=>this.updateTaken((Z)=>Z-$);releaseAll=this.updateTaken(($)=>0);withPermits=($)=>(Z)=>j0((X)=>z(X(this.take($)),(J)=>v8(X(Z),this.release(J))));withPermitsIfAvailable=($)=>(Z)=>j0((X)=>H$(()=>{if(this.free<$)return j5;return this.taken+=$,v8(X(QX(Z)),this.release($))}))}var iD=($)=>new qS($),ES=($)=>E(()=>iD($));class xS extends K4{isOpen;waiters=[];scheduled=!1;constructor($){super();this.isOpen=$}commit(){return this.await}unsafeSchedule($){if(this.scheduled||this.waiters.length===0)return T$;return this.scheduled=!0,$.currentScheduler.scheduleTask(this.flushWaiters,$.getFiberRef(l9),$),T$}flushWaiters=()=>{this.scheduled=!1;let $=this.waiters;this.waiters=[];for(let Z=0;Z<$.length;Z++)$[Z](bZ)};open=x$(($)=>{if(this.isOpen)return T$;return this.isOpen=!0,this.unsafeSchedule($)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=x$(($)=>{if(this.isOpen)return T$;return this.unsafeSchedule($)});await=J2(($)=>{if(this.isOpen)return $(T$);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 fO=($)=>new xS($??!1),SS=($)=>E(()=>fO($)),jS=($)=>sD($,fD),kS=V(2,($,Z)=>I(pO($,Z),(X)=>X[0])),pO=V(2,($,Z)=>{let X=Y0(Z);return z(_8(),(J)=>I(tD(x()),(G)=>[aZ(Fs($,X,G),J),zs(G)]))}),LS=($,Z,X)=>{let J=MZ(Y0(Z));return F(N8(),IZ((G)=>$9($,G)),I((G)=>j([X+J,G])))},Fs=($,Z,X)=>j0((J)=>F(G9((G)=>G.currentTimeMillis),z((G)=>Cs(X,(Y)=>{switch(Y._tag){case"None":return j(LS($,Z,G));case"Some":{let[W]=Y.value;return W-G<=0?j(LS($,Z,G)):x()}}})),z((G)=>I$(G)?a1("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):J(HZ(G.value[1]))))),zs=($)=>J9($,x()),IS=V(2,($,Z)=>sD($,(X)=>Z(TX(X)))),sD=V(2,($,Z)=>z(Wx,(X)=>F(dO($,X),v8(z(X.value,Z))))),vS=V(($)=>f8($[0]),($,Z)=>Z?.discard?q8($,Q1):I(OZ($,Q1),TX)),cO=V(2,($,Z)=>x$((X,J)=>{let G=Z,Y=o2($,X,J.runtimeFlags,C6);if(G.state._tag==="Open"){let W=()=>O8((U)=>s(U,Y.id())?T$:z0(G4(Y))),H={};G.state.finalizers.set(H,W),Y.addObserver(()=>{if(G.state._tag==="Closed")return;G.state.finalizers.delete(H)})}else Y.unsafeInterruptAsFork(X.id());return w(Y)})),aD=($)=>X6((Z)=>cO($,Z)),yS=($)=>NZ($),bS=($)=>H$(()=>z($,NZ)),hO=Symbol.for("effect/Effect/memoizeFunction.key");class mO{a;eq;[hO]=hO;constructor($,Z){this.a=$,this.eq=Z}[G$]($){if(u($,hO))if(this.eq)return this.eq(this.a,$.a);else return s(this.a,$.a);return!1}[Y$](){return this.eq?0:R$(this,a(this.a))}}var gS=($,Z)=>{return F(E(()=>D1()),z(tD),I((X)=>(J)=>F(X.modifyEffect((G)=>{let Y=F(G,N0(new mO(J,Z)));if(I$(Y))return F(N8(),IZ((W)=>F(OX($(J)),$9(W),Q1)),I((W)=>[W,F(G,hZ(new mO(J,Z),W))]));return w([Y.value,G])}),z(HZ),z(([G,Y])=>F(x5(G),i$(Y))))))},hS=V(2,($,Z)=>F(V0($),pD(V0(Z)),(X)=>kZ(X))),dO=V(2,($,Z)=>{return a0(mD,(J)=>J.zip(Z))($)}),mS=V(2,($,Z)=>uO($,{onTimeout:()=>Vw(Z),duration:Z})),uO=V(2,($,{duration:Z,onTimeout:X})=>kZ(t2($,{onTimeout:()=>s8(X),onSuccess:w,duration:Z}))),fS=V(2,($,{duration:Z,onTimeout:X})=>kZ(t2($,{onTimeout:()=>u9(X),onSuccess:w,duration:Z}))),pS=V(2,($,Z)=>t2($,{duration:Z,onSuccess:j,onTimeout:x})),t2=V(2,($,{duration:Z,onSuccess:X,onTimeout:J})=>O8((G)=>j0((Y)=>LO(Y($),n9(S5(Z)),{onSelfWin:(W,H)=>z(W.await,(U)=>{if(U._tag==="Success")return z(W.inheritAll,()=>i$(vZ(H,G),X(U.value)));else return z(vZ(H,G),()=>b$(U.cause))}),onOtherWin:(W,H)=>z(W.await,(U)=>{if(U._tag==="Success")return z(W.inheritAll,()=>i$(vZ(H,G),J()));else return z(vZ(H,G),()=>b$(U.cause))}),otherScope:C6})))),Ts="effect/Ref/SynchronizedRef",Ms=Symbol.for(Ts),ws={_A:($)=>$};class cS extends K4{ref;withLock;[Ms]=ws;[iH]=JQ;[Q4]=Q4;constructor($,Z){super();this.ref=$,this.withLock=Z,this.get=RZ(this.ref)}get;commit(){return this.get}modify($){return this.modifyEffect((Z)=>w($(Z)))}modifyEffect($){return this.withLock(F(z(RZ(this.ref),$),z(([Z,X])=>i$(J9(this.ref,X),Z))))}}var tD=($)=>E(()=>oO($)),oO=($)=>{let Z=WX($),X=iD(1);return new cS(Z,X.withPermits(1))},Cs=V(2,($,Z)=>$.modifyEffect((X)=>{let J=Z(X);switch(J._tag){case"None":return w([X,X]);case"Some":return I(J.value,(G)=>[G,G])}})),dS=V(2,($,Z)=>e2($,Z,(X,J)=>[X,J])),uS=V(2,($,Z)=>e2($,Z,(X,J)=>X)),oS=V(2,($,Z)=>e2($,Z,(X,J)=>J)),e2=V(3,($,Z,X)=>({...xH,commit(){return NZ(this)},[W1]:PX,id:()=>F($.id(),bW(Z.id())),await:F($.await,kZ,W9(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)=>EV(Y,W,{onSuccess:X,onFailure:F0})))))),interruptAsFork:(J)=>j$($.interruptAsFork(J),Z.interruptAsFork(J)),pipe(){return n(this,arguments)}})),nS=V(($)=>c$($[0]),($,Z,X)=>z($,(J)=>P4(Z(J),X).pipe(I((G)=>Object.assign({},J,G)))));var rS=Symbol.for("effect/ManagedRuntime");var lS="ExtendScope",iS="Fold",rO="Fresh",sS="FromEffect",aS="Scoped",tS="Suspend",eS="Provide",lO="ProvideMerge",$j="MergeAll",Zj="ZipWith";var U9={};T8(U9,{zipWith:()=>Ba,zipRight:()=>Oa,zipLeft:()=>Qa,zip:()=>Va,void:()=>Ka,unsafeRoots:()=>Ha,succeed:()=>Aa,status:()=>Ua,scoped:()=>Da,roots:()=>Wa,pretty:()=>Ya,poll:()=>Ga,orElseEither:()=>Ja,orElse:()=>Xa,never:()=>Za,match:()=>$a,mapFiber:()=>es,mapEffect:()=>ts,map:()=>as,joinAll:()=>ss,join:()=>is,isRuntimeFiber:()=>js,isFiber:()=>Ss,interrupted:()=>os,interruptFork:()=>ls,interruptAsFork:()=>ns,interruptAs:()=>z4,interruptAllAs:()=>ZG,interruptAll:()=>rs,interrupt:()=>us,inheritAll:()=>ds,id:()=>ks,getCurrentFiber:()=>cs,fromEffect:()=>ps,failCause:()=>fs,fail:()=>ms,dumpAll:()=>hs,dump:()=>gs,done:()=>bs,children:()=>vs,awaitAll:()=>Is,await:()=>$G,all:()=>ys,RuntimeFiberTypeId:()=>Es,Order:()=>xs,FiberTypeId:()=>qs});var qs=W1,Es=I2,xs=yq,Ss=bq,js=k2,ks=pq,$G=zD;var Is=fD,vs=gq,ys=TX,bs=I5,gs=TD,hs=hq,ms=mq,fs=lQ,ps=fq,cs=eq,ds=MD,us=G4,os=cq,z4=vZ,ns=wD,rs=dq,ZG=v2,ls=nx,is=NZ,ss=rx,as=PD,ts=iQ,es=uq,$a=oq,Za=nq,Xa=sQ,Ja=rq,Ga=lq,Ya=iq,Wa=sq,Ha=aQ,Da=lx,Ua=aq,Aa=tQ,Ka=tq;var Va=dS,Qa=uS,Oa=oS,Ba=e2;var MX=($)=>function(){if(arguments.length===1){let Z=arguments[0];return(X,...J)=>$(Z,X,...J)}return $.apply(this,arguments)},wX=MX(($,Z,X)=>{let J=hW(),G=[[B8,[[J,$.context]]]];if(X?.scheduler)G.push([e9,[[J,X.scheduler]]]);let Y=aw($.fiberRefs,{entries:G,forkAs:J});if(X?.updateRefs)Y=X.updateRefs(Y,J);let W=new bD(J,Y,$.runtimeFlags),H=Z;if(X?.scope)H=z(xO(X.scope,e8),(A)=>j$(V2(A,O8((Q)=>s(Q,W.id())?T$:vZ(W,Q))),iZ(Z,(Q)=>EO(A,Q))));let U=W.currentSupervisor;if(U!==b5)U.onStart($.context,H,x(),W),W.addObserver((A)=>U.onEnd(A,W));if(C6.add($.runtimeFlags,W),X?.immediate===!1)W.resume(H);else W.start(H);return W}),eD=MX(($,Z,X={})=>{let J=wX($,Z,X);if(X.onExit)J.addObserver((G)=>{X.onExit(G)});return(G,Y)=>eD($)(F(J,z4(G??d0)),{...Y,onExit:Y?.onExit?(W)=>Y.onExit(RV(W)):void 0})}),Xj=MX(($,Z)=>{let X=aO($)(Z);if(X._tag==="Failure")throw sO(X.effect_instruction_i0);return X.effect_instruction_i0});class Jj 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 Na=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new Jj($);return Error.stackTraceLimit=Z,X};var iO=Symbol.for("effect/Runtime/FiberFailure"),XG=Symbol.for("effect/Runtime/FiberFailure/Cause");class Gj extends Error{[iO];[XG];constructor($){let Z=r7($)[0];super(Z?.message||"An error has occurred");if(this[iO]=iO,this[XG]=$,this.name=Z?`(FiberFailure) ${Z.name}`:"FiberFailure",Z?.stack)this.stack=Z.stack}toJSON(){return{_id:"FiberFailure",cause:this[XG].toJSON()}}toString(){return"(FiberFailure) "+M6(this[XG],{renderErrorCause:!0})}[C$](){return this.toString()}}var sO=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new Gj($);return Error.stackTraceLimit=Z,X};var Yj=($)=>{let Z=$;switch(Z._op){case"Failure":case"Success":return Z;case"Left":return D4(Z.left);case"Right":return Z0(Z.right);case"Some":return Z0(Z.value);case"None":return D4(new yZ)}},aO=MX(($,Z)=>{let X=Yj(Z);if(X)return X;let J=new WQ,G=wX($)(Z,{scheduler:J});J.flush();let Y=G.unsafePoll();if(Y)return Y;return RH(HH(Na(G),qH(G)))}),Wj=MX(($,Z,X)=>tO($,Z,X).then((J)=>{switch(J._tag){case J0:return J.effect_instruction_i0;case X0:throw sO(J.effect_instruction_i0)}})),tO=MX(($,Z,X)=>new Promise((J)=>{let G=Yj(Z);if(G)J(G);let Y=wX($)(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 eO{context;runtimeFlags;fiberRefs;constructor($,Z,X){this.context=$,this.runtimeFlags=Z,this.fiberRefs=X}pipe(){return n(this,arguments)}}var $B=($)=>new eO($.context,$.runtimeFlags,$.fiberRefs),CX=()=>x$(($,Z)=>w(new eO($.getFiberRef(B8),Z.runtimeFlags,$.getFiberRefs()))),Hj=cK(F6,mK,hK),L6=$B({context:VZ(),runtimeFlags:Hj,fiberRefs:tw()});var Dj=eD(L6),Uj=wX(L6),Aj=Wj(L6),Kj=tO(L6),Vj=Xj(L6),Qj=aO(L6),Oj=($)=>H$(()=>{let Z=void 0;return z(N8(),(X)=>z(CX(),(J)=>j0((G)=>j$(Q1(G(B0($((Y)=>eD(J)($9(Y,X))),{onFailure:(Y)=>_2(X,Y),onSuccess:(Y)=>{return Z=Y,T$}}))),G(Z9(HZ(X),()=>Z??T$))))))});var Bj=V(2,($,Z)=>$.modifyEffect(Z));var Pa="effect/Layer",ZU=Symbol.for(Pa),Fa={_RIn:($)=>$,_E:($)=>$,_ROut:($)=>$},G6={[ZU]:Fa,pipe(){return n(this,arguments)}},za="effect/Layer/MemoMap",JG=Symbol.for(za),XB=u6()("effect/Layer/CurrentMemoMap",{defaultValue:()=>Ta()}),YG=($)=>u($,ZU),JB=($)=>{return $._op_layer===rO};class GB{ref;[JG];constructor($){this.ref=$,this[JG]=JG}getOrElseMemoize($,Z){return F(Bj(this.ref,(X)=>{let J=X.get($);if(J!==void 0){let[G,Y]=J,W=F(G,z(([H,U])=>F(x5(H),i$(U))),iZ(T5({onFailure:()=>T$,onSuccess:()=>W4(Z,Y)})));return w([W,X])}return F(R5(0),z((G)=>F(N8(),z((Y)=>F(R5(()=>T$),I((W)=>{let H=j0((A)=>F(m5(),z((Q)=>F(A(z(zj($,Q,!0),(O)=>OX(O(this)))),V0,z((O)=>{switch(O._tag){case X0:return F(_2(Y,O.effect_instruction_i0),j$(_5(Q,O)),j$(E$(O.effect_instruction_i0)));case J0:return F(J9(W,(P)=>F(_5(Q,P),a7(GQ(G,(_)=>[_===1,_-1])),z0)),j$(L5(G,(P)=>P+1)),j$(W4(Z,(P)=>F(E(()=>X.delete($)),j$(RZ(W)),z((_)=>_(P))))),j$(TV(Y,O.effect_instruction_i0)),i$(O.effect_instruction_i0[1]))}}))))),U=[F(HZ(Y),iZ(M5({onFailure:()=>T$,onSuccess:()=>L5(G,(A)=>A+1)}))),(A)=>F(RZ(W),z((Q)=>Q(A)))];return[H,JB($)?X:X.set($,U)]}))))))}),kZ)}}var YB=H$(()=>I(tD(new Map),($)=>new GB($))),Ta=()=>new GB(oO(new Map)),Fj=($)=>X6((Z)=>T4($,Z)),T4=V(2,($,Z)=>z(YB,(X)=>XU($,X,Z))),XU=V(3,($,Z,X)=>z(zj($,X),(J)=>N4(J(Z),XB,Z))),zj=($,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)=>X6((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,T4(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),z((Y)=>F(G.getOrElseMemoize(J.second,Z),aZ(Y)))));case"Scoped":return X?E(()=>(G)=>D9(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 OH(function*(){let G=yield*x8(Z,z2),Y=yield*x8(G,e8),W=yield*x8(G,e8);return(H)=>F(H.getOrElseMemoize(J.first,Y),W9(H.getOrElseMemoize(J.second,W),J.zipK,{concurrent:!0}))});case"MergeAll":{let G=J.layers;return I(x8(Z,z2),(Y)=>(W)=>{let H=Array(G.length);return I(V1(G,t7(function*(U,A){let Q=yield*x8(Y,e8),O=yield*W.getOrElseMemoize(U,Q);H[A]=O}),!1,!1),()=>JK(...H))})}}},p5=V(2,($,Z)=>UU($,{onFailure:Z,onSuccess:N1})),WB=V(2,($,Z)=>DU($,{onFailure:Z,onSuccess:N1})),HB=($)=>WG(uD($)),Tj=($)=>GU(()=>uD($())),Mj=($)=>HU($,()=>VZ()),JU=()=>fZ(_8()),wj=($)=>{let Z=Object.create(G6);return Z._op_layer=lS,Z.layer=$,Z},DB=($)=>WG(dD($)),UB=($)=>GU(()=>dD($())),WG=($)=>fZ(E$($)),GU=($)=>fZ(u9($)),A9=V(2,($,Z)=>UU($,{onFailure:DB,onSuccess:Z})),Cj=V(2,($,Z)=>A9($,l0(Z))),AB=($)=>{let Z=Object.create(G6);return Z._op_layer=rO,Z.layer=$,Z},M4=V(2,($,Z)=>{let X=k7($),J=X?$:Z;return fZ(I(X?Z:$,(Y)=>U8(J,Y)))}),Rj=($)=>fZ(I($,()=>VZ()));function fZ($){let Z=Object.create(G6);return Z._op_layer=sS,Z.effect=$,Z}var Lj=V(3,($,Z,X)=>YU($,R0(Z,X))),YU=V(2,($,Z)=>{let X=Object.create(G6);return X._op_layer="Locally",X.self=$,X.f=Z,X}),WU=V(3,($,Z,X)=>YU($,a0(Z,X))),qj=($,Z)=>c5(mZ($,Z)),Ej=($,Z)=>c5(LZ($,Z)),xj=($,Z,X)=>fZ(I($,(J)=>U8(Z,X(J)))),Sj=($)=>gD(j$(X6((Z)=>F($,T4(Z))),J4)),jj=function(){if(arguments.length===1)return($)=>Nj(arguments[0],$);return Nj(arguments[0],arguments[1])},Nj=($,Z)=>RX($,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",Ma(W)},has:g6})),Ma=($)=>{let Z=wZ($);function X(){return Z}return Object.assign(X,Z),Object.setPrototypeOf(X,Object.getPrototypeOf(Z)),X},HU=V(2,($,Z)=>A9($,(X)=>N1(Z(X)))),kj=V(2,($,Z)=>p5($,(X)=>UB(()=>Z(X)))),DU=V(2,($,{onFailure:Z,onSuccess:X})=>{let J=Object.create(G6);return J._op_layer=iS,J.layer=$,J.failureK=Z,J.successK=X,J}),UU=V(2,($,{onFailure:Z,onSuccess:X})=>DU($,{onFailure:(J)=>{let G=SO(J);switch(G._tag){case"Left":return Z(G.left);case"Right":return WG(G.right)}},onSuccess:X})),Ij=($)=>X6((Z)=>I(VD(T4($,Z)),fZ)),KB=V(2,($,Z)=>VB($,Z,(X,J)=>o8(X,J))),AU=(...$)=>{let Z=Object.create(G6);return Z._op_layer=$j,Z.layers=$,Z},vj=($)=>p5($,(Z)=>HB(Z)),yj=V(2,($,Z)=>p5($,Z)),bj=($)=>KB(JU(),$),gj=V(4,($,Z,X,J)=>HU($,(G)=>U8(X,J(u8(G,Z))))),hj=V(2,($,Z)=>DG(()=>{let X=WZ("effect/Layer/retry/{ state: unknown }");return F(RX(X,{state:Z.initial}),A9((J)=>mj($,Z,X,F(J,l0(X)).state)))})),mj=($,Z,X,J)=>{return F($,p5((G)=>F(wa(Z,X,G,J),A9((Y)=>AB(mj($,Z,X,F(Y,l0(X)).state))))))},wa=($,Z,X,J)=>{return M4(Z,F(G1,z((G)=>F($.step(G,X,J),z(([Y,W,H])=>UZ(H)?L$(X):F(VX(xZ(F4(H.intervals)-G)),i$({state:Y})))))))},w4=V(2,($,Z)=>{let X=k7($),J=X?$:Z;return HG(I(X?Z:$,(Y)=>U8(J,Y)))}),c5=($)=>HG(F($,i$(VZ()))),HG=($)=>{let Z=Object.create(G6);return Z._op_layer=aS,Z.effect=$,Z},fj=HG(I(h5(m5(),($,Z)=>$.close(Z)),($)=>U8(qO,$))),pj=($)=>M4($,$),RX=V(2,($,Z)=>{let X=k7($);return fZ(w(U8(X?$:Z,X?Z:$)))}),N1=($)=>{return fZ(w($))},cj=N1(VZ()),DG=($)=>{let Z=Object.create(G6);return Z._op_layer=tS,Z.evaluate=$,Z},KU=V(2,($,Z)=>{let X=k7($),J=X?$:Z,G=X?Z:$;return fZ(E(()=>U8(J,G())))}),dj=($)=>{return fZ(E($))},uj=V(2,($,Z)=>A9($,(X)=>fZ(i$(Z(X),X)))),oj=V(2,($,Z)=>p5($,(X)=>fZ(z(Z(X),()=>L$(X))))),nj=V(2,($,Z)=>WB($,(X)=>fZ(z(Z(X),()=>E$(X))))),rj=($)=>F(X6((Z)=>T4($,Z)),z((Z)=>F(CX(),aZ(Z)))),lj=V(2,($,Z)=>z(X6((X)=>XU($,Z,X)),(X)=>F(CX(),aZ(X)))),d5=V(2,($,Z)=>DG(()=>{let X=Object.create(G6);return X._op_layer=eS,X.first=Object.create(G6,{_op_layer:{value:lO,enumerable:!0},first:{value:JU(),enumerable:!0},second:{value:Array.isArray(Z)?AU(...Z):Z},zipK:{value:(J,G)=>F(J,o8(G))}}),X.second=$,X})),ij=V(2,($,Z)=>{let X=Object.create(G6);return X._op_layer=lO,X.first=Z,X.second=d5($,Z),X.zipK=(J,G)=>{return F(J,o8(G))},X}),VB=V(3,($,Z,X)=>DG(()=>{let J=Object.create(G6);return J._op_layer=Zj,J.first=$,J.second=Z,J.zipK=X,J})),QB=($)=>{let Z=WZ("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return A9(M4(Z,$),(X)=>l0(X,Z))},GG=($)=>{let Z=WZ("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return A9(w4(Z,$),(X)=>l0(X,Z))},sj=V(($)=>YG($[0]),function(){let $=arguments;return WU($[0],i9,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),aj=V(($)=>YG($[0]),function(){let $=arguments;return WU($[0],e7,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),tj=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=j8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return GG(I(X?.onEnd?IZ(Z6(Z,X),(G)=>Y9((Y)=>X.onEnd(G,Y))):Z6(Z,X),(G)=>$U(J,G)))}return(J)=>GG(I(X?.onEnd?IZ(Z6(Z,X),(G)=>Y9((Y)=>X.onEnd(G,Y))):Z6(Z,X),(G)=>$U(J,G)))},$U=V(2,($,Z)=>d5($,N1(U8(gZ,Z)))),_j=V(2,($,Z)=>n2((X)=>z(T4(Z,X),(J)=>LH($,J)))),Pj=V(2,($,Z)=>{let X=w5(L6.fiberRefs,Z.fiberRefs),J=l8(L6.runtimeFlags,Z.runtimeFlags);return j0((G)=>x$((Y)=>{let W=Y.getFiberRef(B8),H=Y.getFiberRefs(),U=C5(Y.id(),H)(X),A=Y.currentRuntimeFlags,Q=h9(J)(A),O=w5(U,H),P=l8(Q,A);return Y.setFiberRefs(U),Y.currentRuntimeFlags=Q,v8(LH(G($),o8(W,Z.context)),x$((_)=>{return _.setFiberRefs(C5(_.id(),_.getFiberRefs())(O)),_.currentRuntimeFlags=h9(P)(_.currentRuntimeFlags),T$}))}))}),VU=V(2,($,Z)=>{if(Array.isArray(Z))return _j($,AU(...Z));else if(YG(Z))return _j($,Z);else if(XK(Z))return LH($,Z);else if(rS in Z)return z(Z.runtimeEffect,(X)=>Pj($,X));else return Pj($,Z)});var ej=I(E8(M0),l0(Z1)),$k=($)=>CZ(M0,(Z)=>$(l0(Z,Z1))),Zk=V(2,($,Z)=>a0($,M0,e$(Z1,Z))),Xk=($)=>LZ(M0,e$(Z1,$));var Ra=function(){let $=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends $X{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}(),Jk=($)=>{let Z={BaseEffectError:class extends Ra{_tag=$}};return Z.BaseEffectError.prototype.name=$,Z.BaseEffectError};var OB=Symbol.for("effect/DateTime"),BB=Symbol.for("effect/DateTime/TimeZone"),Wk={[OB]:OB,pipe(){return n(this,arguments)},[C$](){return this.toString()},toJSON(){return qX(this).toJSON()}},qa={...Wk,_tag:"Utc",[Y$](){return R$(this,d4(this.epochMillis))},[G$]($){return KG($)&&$._tag==="Utc"&&this.epochMillis===$.epochMillis},toString(){return`DateTime.Utc(${qX(this).toJSON()})`}},Ea={...Wk,_tag:"Zoned",[Y$](){return F(d4(this.epochMillis),V$(a(this.zone)),R$(this))},[G$]($){return KG($)&&$._tag==="Zoned"&&this.epochMillis===$.epochMillis&&s(this.zone,$.zone)},toString(){return`DateTime.Zoned(${ia(this)})`}},Hk={[BB]:BB,[C$](){return this.toString()}},xa={...Hk,_tag:"Named",[Y$](){return R$(this,u$(`Named:${this.id}`))},[G$]($){return LX($)&&$._tag==="Named"&&this.id===$.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},Sa={...Hk,_tag:"Offset",[Y$](){return R$(this,u$(`Offset:${this.offset}`))},[G$]($){return LX($)&&$._tag==="Offset"&&this.offset===$.offset},toString(){return`TimeZone.Offset(${Kk(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},K9=($,Z,X)=>{let J=Object.create(Ea);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},KG=($)=>u($,OB),ja=($)=>KG($[0]),LX=($)=>u($,BB);var Dk=($)=>LX($)&&$._tag==="Named";var ka=($)=>$._tag==="Zoned";var Uk=($)=>{let Z=Object.create(qa);return Z.epochMillis=$,Object.defineProperty(Z,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),Z},OU=($)=>{let Z=$.getTime();if(Number.isNaN(Z))throw new s2("Invalid date");return Uk(Z)},Ia=($)=>{if(KG($))return $;else if($ instanceof Date)return OU($);else if(typeof $==="object"){let Z=new Date(0);return oa(Z,$),OU(Z)}else if(typeof $==="string"&&!va($))return OU(new Date($+"Z"));return OU(new Date($))},va=($)=>/Z|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test($),ya=-8639999956800000,ba=8639999949600000,BU=($,Z)=>{if(Z?.timeZone===void 0&&KG($)&&ka($))return $;let X=Ia($);if(X.epochMillis<ya||X.epochMillis>ba)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=NB(G)}else if(LX(Z?.timeZone))J=Z.timeZone;else if(typeof Z?.timeZone==="number")J=NB(Z.timeZone);else{let G=_B(Z.timeZone);if(I$(G))throw new s2(`Invalid time zone: ${Z.timeZone}`);J=G.value}if(Z?.adjustForTimeZone!==!0)return K9(X.epochMillis,J,X.partsUtc);return Ok(X.epochMillis,J,Z?.disambiguation??"compatible")};var AG=_$("effect/DateTime/validZoneCache",()=>new Map),ga={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},ha=($)=>{let Z=$.resolvedOptions().timeZone;if(AG.has(Z))return AG.get(Z);let X=Object.create(xa);return X.id=Z,X.format=$,AG.set(Z,X),X},ma=($)=>{if(AG.has($))return AG.get($);try{return ha(new Intl.DateTimeFormat("en-US",{...ga,timeZone:$}))}catch{throw new s2(`Invalid time zone: ${$}`)}},NB=($)=>{let Z=Object.create(Sa);return Z.offset=$,Z},fa=y3(ma);var pa=/^(?:GMT|[+-])/,_B=($)=>{if(pa.test($)){let Z=Bk($);return Z===null?x():j(NB(Z))}return fa($)};var qX=($)=>new Date($.epochMillis),u5=($)=>{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},Ak=($)=>{return u5($).getTime()-da($)},Kk=($)=>{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")}`},ca=($)=>Kk(Ak($)),da=($)=>$.epochMillis;var Vk=($)=>({millis:$.getUTCMilliseconds(),seconds:$.getUTCSeconds(),minutes:$.getUTCMinutes(),hours:$.getUTCHours(),day:$.getUTCDate(),weekDay:$.getUTCDay(),month:$.getUTCMonth()+1,year:$.getUTCFullYear()}),Qk=($)=>{if($._tag==="Utc")return ua($);else if($.partsAdjusted!==void 0)return $.partsAdjusted;return $.partsAdjusted=ra($,Vk),$.partsAdjusted},ua=($)=>{if($.partsUtc!==void 0)return $.partsUtc;return $.partsUtc=la($,Vk),$.partsUtc};var oa=($,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 Gk=86400000,Ok=($,Z,X)=>{if(Z._tag==="Offset")return K9($-Z.offset,Z);let J=UG($-Gk,$,Z),G=UG($+Gk,$,Z);if(J===G)return K9($-J,Z);let Y=J<G,W=J-G;if(Y){if(UG($-G,$,Z)===G)return K9($-G,Z);let A=K9($-J,Z),Q=u5(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 K9($-G,Z);case"compatible":case"later":return A}return A}if(UG($-J,$,Z)===J){if(X==="earlier"||X==="compatible")return K9($-J,Z);if(UG($-J+W,$+W,Z)===J)return K9($-J,Z);if(X==="reject"){let A=new Date($).toISOString();throw RangeError(`Ambiguous time: ${A} occurs twice in time zone ${Z.id}`)}}return K9($-G,Z)},na=/([+-])(\d{2}):(\d{2})$/,Bk=($)=>{let Z=na.exec($);if(Z===null)return null;let[,X,J,G]=Z;return(X==="+"?1:-1)*(Number(J)*60+Number(G))*60*1000},UG=($,Z,X)=>{let J=X.format.formatToParts($).find((Y)=>Y.type==="timeZoneName")?.value??"";if(J==="GMT")return 0;let G=Bk(J);if(G===null)return Ak(K9(Z,X));return G},Nk=V(ja,($,Z,X)=>{if($._tag==="Utc"){let Y=qX($);return Z(Y),Uk(Y.getTime())}let J=u5($),G=new Date(J.getTime());return Z(G),Ok(G.getTime(),$.zone,X?.disambiguation??"compatible")});var ra=V(2,($,Z)=>Z(u5($))),la=V(2,($,Z)=>Z(qX($)));var Yk=($)=>{let Z=u5($);return $._tag==="Utc"?Z.toISOString():`${Z.toISOString().slice(0,-1)}${ca($)}`},ia=($)=>$.zone._tag==="Offset"?Yk($):`${Yk($)}[${$.zone.id}]`;var _k=($)=>$.length>0;var FB=Symbol.for("effect/Cron"),ta={[FB]:FB,[G$]($){return zB($)&&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))),R$(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)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},zB=($)=>u($,FB),ea=($)=>{let Z=Object.create(ta);Z.seconds=new Set(D8($.seconds??[0],BZ)),Z.minutes=new Set(D8($.minutes,BZ)),Z.hours=new Set(D8($.hours,BZ)),Z.days=new Set(D8($.days,BZ)),Z.months=new Set(D8($.months,BZ)),Z.weekdays=new Set(D8($.weekdays,BZ)),Z.and=$.and===!0,Z.tz=H8($.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),H=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:H[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:H[H.length-1]??6},Z.next={second:Y6(X,60,"next"),minute:Y6(J,60,"next"),hour:Y6(G,24,"next"),day:Y6(Y,32,"next"),month:Y6(W,13,"next"),weekday:Y6(H,7,"next")},Z.prev={second:Y6(X,60,"prev"),minute:Y6(J,60,"prev"),hour:Y6(G,24,"prev"),day:Y6(Y,32,"prev"),month:Y6(W,13,"prev"),weekday:Y6(H,7,"prev")},Z},Y6=($,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},Pk=Symbol.for("effect/Cron/errors/ParseError");class q6 extends Jk("CronParseError"){[Pk]=Pk}var zk=($,Z)=>{let X=$.trim().split(/\s+/).filter(_k);if(X.length!==5&&X.length!==6)return f$(new q6({message:"Invalid number of segments in cron expression",input:$}));if(X.length===5)X.unshift("0");let[J,G,Y,W,H,U]=X,A=Z===void 0||LX(Z)?S$(Z):E3(_B(Z),()=>new q6({message:"Invalid time zone in cron expression",input:Z}));return j3({tz:A,seconds:xX(J,Gt),minutes:xX(G,Yt),hours:xX(Y,Wt),days:xX(W,Ht),months:xX(H,Dt),weekdays:xX(U,Ut)}).pipe(k9(({days:Q,hours:O,minutes:P,months:_,seconds:T,tz:M,weekdays:S})=>ea({tz:M,seconds:T.values,minutes:P.values,hours:O.values,days:Q.values,months:_.values,weekdays:S.values,and:(Q.wildcard||S.wildcard)&&Q.values.size!==0&&S.values.size!==0})))};var Tk=($,Z)=>{let X=BU(Z,{timeZone:r0($.tz)}).pipe(Qk);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)},VG=($)=>new Date(Date.UTC($.getUTCFullYear(),$.getUTCMonth()+1,0)).getUTCDate(),Mk=($,Z)=>{return $t($,Z,"next")};var $t=($,Z,X)=>{let J=r0($.tz),G=BU(Z??new Date,{timeZone:J}),Y=X==="prev",W=Y?-1:1,H=$[X],U=Y?$.last:$.first,A=Y?(_,T)=>_<T:(_,T)=>_>T,O=J!==void 0&&Dk(J)&&J.id==="UTC"?TZ:(_)=>{let T=BU(_,{timeZone:G.zone,adjustForTimeZone:!0,disambiguation:Y?"later":void 0}).pipe(u5),M=_.getTime()-T.getTime();if(Y?M!==0:M>0)_.setTime(T.getTime())},P=Nk(G,(_)=>{_.setUTCSeconds(_.getUTCSeconds()+W,0);for(let T=0;T<1e4;T++){if($.seconds.size!==0){let M=_.getUTCSeconds(),S=H.second[M];if(S===void 0){_.setUTCMinutes(_.getUTCMinutes()+W,U.second),O(_);continue}if(A(S,M)){_.setUTCSeconds(S),O(_);continue}}if($.minutes.size!==0){let M=_.getUTCMinutes(),S=H.minute[M];if(S===void 0){_.setUTCHours(_.getUTCHours()+W,U.minute,U.second),O(_);continue}if(A(S,M)){_.setUTCMinutes(S,U.second),O(_);continue}}if($.hours.size!==0){let M=_.getUTCHours(),S=H.hour[M];if(S===void 0){_.setUTCDate(_.getUTCDate()+W),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}if(A(S,M)){_.setUTCHours(S,U.minute,U.second),O(_);continue}}if($.weekdays.size!==0||$.days.size!==0)if($.and){let M=$.days.size===0||$.days.has(_.getUTCDate()),S=$.weekdays.size===0||$.weekdays.has(_.getUTCDay());if(!M||!S){_.setUTCDate(_.getUTCDate()+W),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}else{let M=Y?-1/0:1/0,S=Y?-1/0:1/0;if($.weekdays.size!==0){let l=_.getUTCDay(),J$=H.weekday[l];if(J$===void 0)M=Y?l-7+U.weekday:7-l+U.weekday;else M=J$-l}if($.days.size!==0&&M!==0){let l=_.getUTCDate(),J$=H.day[l];if(J$===void 0)if(Y){let B$=VG(new Date(Date.UTC(_.getUTCFullYear(),_.getUTCMonth(),0)));S=-(l+(B$-U.day))}else S=VG(_)-l+U.day;else if(!Y&&J$>VG(_))S=VG(_)-l+U.day;else S=J$-l}let K$=Y?Math.max(M,S):Math.min(M,S);if(K$!==0){_.setUTCDate(_.getUTCDate()+K$),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}if($.months.size!==0){let M=_.getUTCMonth()+1,S=H.month[M],K$=(l)=>{if($.days.size!==0&&$.weekdays.size===0)return U.day;let J$=VG(new Date(Date.UTC(_.getUTCFullYear(),l,1)));return Y?J$:1};if(S===void 0){_.setUTCFullYear(_.getUTCFullYear()+W),_.setUTCMonth(U.month,K$(U.month)),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}if(A(S,M)){let l=S-1;_.setUTCMonth(l,K$(l)),_.setUTCHours(U.hour,U.minute,U.second),O(_);continue}}return}throw Error("Unable to find next cron date")});return qX(P)};var Zt=h6(($,Z)=>$.and===Z.and&&EX($.seconds,Z.seconds)&&EX($.minutes,Z.minutes)&&EX($.hours,Z.hours)&&EX($.days,Z.days)&&EX($.months,Z.months)&&EX($.weekdays,Z.weekdays)),Xt=gY(wF),EX=($,Z)=>Xt(P$($),P$(Z)),Jt=V(2,($,Z)=>Zt($,Z)),Gt={min:0,max:59},Yt={min:0,max:59},Wt={min:0,max:23},Ht={min:1,max:31},Dt={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}},Ut={min:0,max:7,normalize:($)=>$===7?0:$,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},xX=($,Z)=>{let X=new Set,J=$.split(","),G=Fk(J[0]),Y=G[0]==="*",W=Z.normalize??((U)=>U),H=Y&&(G[1]===void 0||G[1]===1)?TZ:(U)=>{X.add(W(U))};for(let U=0;U<J.length;U++){let A=J[U],[Q,O]=U===0?G:Fk(A);if(O!==void 0){if(!Number.isInteger(O))return f$(new q6({message:"Expected step value to be a positive integer",input:$}));if(O<1)return f$(new q6({message:"Expected step value to be greater than 0",input:$}));if(O>Z.max)return f$(new q6({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)H(P)}else{let[P,_]=At(Q,Z.aliases);if(!Number.isInteger(P))return f$(new q6({message:"Expected a positive integer",input:$}));if(P<Z.min||P>Z.max)return f$(new q6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(_===void 0)for(let T=P;T<=(O===void 0?P:Z.max);T+=O??1)H(T);else{if(!Number.isInteger(_))return f$(new q6({message:"Expected a positive integer",input:$}));if(_<Z.min||_>Z.max)return f$(new q6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(P>_)return f$(new q6({message:"Invalid value range",input:$}));for(let T=P;T<=_;T+=O??1)H(T)}}}return S$({values:X,wildcard:Y})},Fk=($)=>{let Z=$.indexOf("/");if(Z!==-1){let X=$.slice(Z+1);return[$.slice(0,Z),wk.test(X)?Number(X):NaN]}return[$,void 0]},At=($,Z)=>{let X=$.indexOf("-");if(X!==-1)return[PB($.slice(0,X),Z),PB($.slice(X+1),Z)];return[PB($,Z),void 0]};function PB($,Z){return Z?.[$.toLocaleLowerCase()]??(wk.test($)?Number($):NaN)}var wk=/^\d+$/;var Ck=jR;var Rk=PR;var Vt="effect/Schedule",PU=Symbol.for(Vt),FU=($)=>u($,PU),Qt="effect/ScheduleDriver",wB=Symbol.for(Qt),TB={start:0,now:0,input:void 0,output:void 0,elapsed:K8,elapsedSincePrevious:K8,recurrence:0},o5=u6()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>TB}),Ot={_Out:($)=>$,_In:($)=>$,_R:($)=>$},Bt={_Out:($)=>$,_In:($)=>$,_R:($)=>$};class xk{initial;step;[PU]=Ot;constructor($,Z){this.initial=$,this.step=Z}pipe(){return n(this,arguments)}}var qk=($,Z,X,J)=>L5($,(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 Sk{schedule;ref;[wB]=Bt;constructor($,Z){this.schedule=$,this.ref=Z}get state(){return I(RZ(this.ref),($)=>$[1])}get last(){return z(RZ(this.ref),([$,Z])=>{switch($._tag){case"None":return s8(()=>new yZ);case"Some":return w($.value)}})}iterationMeta=WX(TB);get reset(){return J9(this.ref,[x(),this.schedule.initial]).pipe(O5(J9(this.iterationMeta,TB)))}next($){return F(I(RZ(this.ref),(Z)=>Z[1]),z((Z)=>F(G1,z((X)=>F(H$(()=>this.schedule.step(X,$,Z)),z(([J,G,Y])=>{let W=J9(this.ref,[j(G),J]);if(UZ(Y))return W.pipe(j$(L$(x())));let H=F4(Y.intervals)-X;if(H<=0)return W.pipe(j$(qk(this.iterationMeta,X,$,G)),i$(G));let U=xZ(H);return F(W,j$(qk(this.iterationMeta,X,$,G)),j$(S5(U)),i$(G))}))))))}}var n$=($,Z)=>new xk($,Z),zU=V(2,($,Z)=>CB($,(X)=>E(()=>Z(X)))),CB=V(2,($,Z)=>NG($,(X,J)=>I(Z(X),(G)=>DK(J,Y0(G))))),jk=V(2,($,Z)=>_Z(RB($,Z),l4)),RB=V(2,($,Z)=>n$([$.initial,Z.initial,!0],(X,J,G)=>G[2]?z($.step(X,J,G[0]),([Y,W,H])=>{if(UZ(H))return I(Z.step(X,J,G[1]),([U,A,Q])=>[[Y,U,!1],S$(A),Q]);return w([[Y,G[1],!0],f$(W),H])}):I(Z.step(X,J,G[1]),([Y,W,H])=>[[G[0],Y,!1],S$(W),H]))),kk=V(2,($,Z)=>_Z($,()=>Z)),TU=($)=>_Z($,TZ),Ik=V(2,($,Z)=>n$([$.initial,Z.initial],(X,[J,G],Y)=>sZ($.step(X,J,Y[0]),Z.step(X,G,Y[1]),([W,H,U],[A,Q,O])=>{if(B1(U)&&B1(O)){let P=F(U.intervals,yO(O.intervals));return[[W,A],[H,Q],f5(P)]}return[[W,A],[H,Q],y8]}))),SX=V(2,($,Z)=>n5($,(X,J)=>E(()=>Z(X,J)))),n5=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>{if(UZ(H))return w([Y,W,y8]);return I(Z(J,W),(U)=>U?[Y,W,H]:[Y,W,y8])}))),vk=()=>r5(_1()),r5=($)=>RU($,C0(),(Z,X)=>F(Z,x7(X))),yk=($)=>r5(jB($)),bk=($)=>r5(kB($)),gk=($)=>r5(vB($)),hk=($)=>r5(yB($)),mk=V(2,($,Z)=>n$([$.initial,Z.initial],(X,J,G)=>z($.step(X,J,G[0]),([Y,W,H])=>I(Z.step(X,W,G[1]),([U,A,Q])=>UZ(H)?[[Y,U],A,y8]:UZ(Q)?[[Y,U],A,y8]:[[Y,U],A,f5(F(H.intervals,PS(Q.intervals)))])))),LB=V(2,($,Z)=>MU($,(X)=>E(()=>Z(X)))),fk=V(2,($,Z)=>n$($.initial,(X,J,G)=>U4($.step(X,J,G),Z))),MU=V(2,($,Z)=>n$($.initial,(X,J,G)=>z(Z(J),(Y)=>$.step(X,Y,G)))),pk=($,Z)=>{let X=zB($)?S$($):zk($,Z);return n$([!0,[Number.MIN_SAFE_INTEGER,0,0]],(J,G,[Y,W])=>{if(J===Number.POSITIVE_INFINITY)return w([[!1,W],[W[1],W[2]],y8]);if(J<W[0])return w([[!1,W],[W[1],W[2]],t0(eZ(W[1],W[2]))]);if(w0(X))return wZ(X.left);let H=X.right,U=new Date(J),A;if(Y&&Tk(H,U))A=J;A=Mk(H,U).getTime();let Q=dB(A),O=EI(A);return w([[!1,[A,Q,O]],[Q,O],t0(eZ(Q,O))])})},ck=($)=>{return n$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||31<$)return L8(()=>new a8(`Invalid argument in: dayOfMonth(${$}). Must be in range 1...31`));let G=J[1],W=Mt(Z,$,G===0),H=uB(W),U=jI(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])})},dk=($)=>{return n$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||7<$)return L8(()=>new a8(`Invalid argument in: dayOfWeek(${$}). Must be in range 1 (Monday)...7 (Sunday)`));let G=J[1],W=Tt(Z,$,G===0),H=uB(W),U=jI(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])})},uk=V(2,($,Z)=>wU($,(X)=>E(()=>Z(X)))),wU=V(2,($,Z)=>NG($,(X,J)=>Z(J))),OG=($)=>zU($,(Z)=>Z),ok=($)=>n$($.initial,(Z,X,J)=>F($.step(Z,X,J),z(([G,Y,W])=>{if(UZ(W))return w([G,K8,W]);return w([G,xZ(F4(W.intervals)-Z),W])}))),nk=V(2,($,{onInput:Z,onOutput:X})=>_Z(LB($,Z),X)),rk=V(2,($,{onInput:Z,onOutput:X})=>CU(MU($,Z),X)),BG=($)=>F(R5([x(),$.initial]),I((Z)=>new Sk($,Z))),qB=($)=>{let Z=Y0($),X=MZ(Z);return n$(!0,(J,G,Y)=>w(Y?[!1,Z,t0(R6(J+X))]:[!1,K8,y8]))},lk=V(2,($,Z)=>hB($,Z)),ik=V(3,($,Z,X)=>LU($,Z,X)),sk=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>UZ(H)?i$(Z,[Y,W,H]):w([Y,W,H])))),ak=($,Z=2)=>{let X=Y0($);return OG(_Z(E6,(J)=>HK(X,Math.pow(Z,J))))},tk=($)=>{let Z=Y0($);return OG(F(_G([Z,Z],([X,J])=>[J,DK(X,J)]),_Z((X)=>X[0])))},ek=($)=>{let Z=Y0($),X=MZ(Z);return n$([x(),0],(J,G,[Y,W])=>E(()=>{switch(Y._tag){case"None":return[[j([J,J+X]),W+1],W,t0(R6(J+X))];case"Some":{let[H,U]=Y.value,A=J>U+X,Q=s(Z,K8)?Z:xZ(X-(J-H)%X),O=s(Q,K8)?Z:Q,P=A?J:J+MZ(O);return[[j([H,P]),W+1],W,t0(R6(P))]}}}))},$I=($)=>qB($),ZI=($,...Z)=>n$([[$,...Z].map((X)=>Y0(X)),!0],(X,J,[G,Y])=>E(()=>{if(Y){let W=G[0],H=R6(X+MZ(W));if(G.length>=2)return[[G.slice(1),!0],W,t0(H)];let U=G.slice(1);return[[[W,...U],!1],W,t0(H)]}return[[G,!1],K8,y8]})),XI=($)=>_Z(_1(),$),JI=($)=>n$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||23<$)return L8(()=>new a8(`Invalid argument in: hourOfDay(${$}). Must be in range 0...23`));let G=J[1],W=zt(Z,$,G===0),H=SI(W),U=Ft(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])}),_1=()=>n$(void 0,($,Z,X)=>w([X,Z,t0(R6($))])),C4=V(2,($,Z)=>EB($,Z,BS)),EB=V(3,($,Z,X)=>n$([$.initial,Z.initial],(J,G,Y)=>F(sZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),(W,H)=>[W,H]),z(([[W,H,U],[A,Q,O]])=>{if(B1(U)&&B1(O))return MB($,Z,G,W,H,U.intervals,A,Q,O.intervals,X);return w([[W,A],[H,Q],y8])})))),MB=($,Z,X,J,G,Y,W,H,U,A)=>{let Q=A(Y,U);if(_S(Q))return w([[J,W],[G,H],f5(Q)]);if(F(Y,NS(U)))return z($.step(lD(Y),X,J),([O,P,_])=>{if(UZ(_))return w([[O,W],[P,H],y8]);return MB($,Z,X,O,P,_.intervals,W,H,U,A)});return z(Z.step(lD(U),X,W),([O,P,_])=>{if(UZ(_))return w([[J,O],[G,P],y8]);return MB($,Z,X,J,G,Y,O,P,_.intervals,A)})},GI=($)=>xB($,{min:0.8,max:1.2}),xB=V(2,($,Z)=>{let{max:X,min:J}=Object.assign({min:0.8,max:1.2},Z);return wU($,(G)=>I(Ck,(Y)=>{let W=MZ(G),H=W*J*(1-Y)+W*X*Y;return xZ(H)}))}),YI=($)=>{let Z=Y0($);return OG(_Z(E6,(X)=>HK(Z,X+1)))},_Z=V(2,($,Z)=>CU($,(X)=>E(()=>Z(X)))),CU=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>I(Z(W),(U)=>[Y,U,H])))),WI=($)=>n$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return L8(()=>new a8(`Invalid argument in: minuteOfHour(${$}). Must be in range 0...59`));let G=J[1],W=Pt(Z,$,G===0),H=xI(W),U=_t(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])}),HI=V(2,($,Z)=>NG($,(X,J)=>E(()=>Z(X,J)))),NG=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>{if(UZ(H))return w([Y,W,H]);let U=H.intervals,A=WS(eZ(X,F4(U)));return I(Z(W,A),(Q)=>{let O=Y0(Q),P=F4(U),_=X+MZ(O),T=_-P,M=Math.max(0,lD(U)+T),S=eZ(_,M);return[Y,W,t0(S)]})}))),DI=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>i$(Z(W,H),[Y,W,H])))),SB=($)=>n$($.initial,(Z,X,J)=>F($.step(Z,X,J),I(([G,Y,W])=>[G,X,W]))),UI=V(2,($,Z)=>n$($.initial,(X,J,G)=>aZ($.step(X,J,G),Z))),AI=V(3,($,Z,X)=>n$($.initial,(J,G,Y)=>S8((W)=>aZ($.step(J,G,Y),e$(W,Z,X))))),jB=($)=>mB(_1(),$),kB=($)=>PG(_1(),$),KI=($)=>fB(_Z(_1(),$),p$),IB=($)=>{let Z=Y0($);return qU(xU,(X)=>uz(X,Z))},vB=($)=>pB(_1(),$),yB=($)=>FG(_1(),$),jX=($)=>qU(E6,(Z)=>Z<$),RU=V(3,($,Z,X)=>bB($,Z,(J,G)=>E(()=>X(J,G)))),bB=V(3,($,Z,X)=>n$([$.initial,Z],(J,G,[Y,W])=>z($.step(J,G,Y),([H,U,A])=>UZ(A)?w([[H,W],W,A]):I(X(W,U),(Q)=>[[H,Q],W,A]))));var VI=($)=>RU($,0,(Z,X)=>Z+1),QI=V(2,($,Z)=>{let X=Y0(Z);return F($,C4(xU),gB(([,J])=>AW(J,X)),_Z((J)=>J[0]))}),gB=V(2,($,Z)=>n$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>Z(W)?$.step(X,J,$.initial):w([Y,W,H])))),OI=V(3,($,Z,X)=>F(BI($,Z,b1(X),$.initial,C0()),I((J)=>w8(J)))),BI=($,Z,X,J,G)=>{if(!H0(X))return w(G);let Y=g$(X),W=D0(X);return z($.step(Z,Y,J),([H,U,A])=>{if(UZ(A))return E(()=>F(G,O0(U)));return BI($,F4(A.intervals),W,H,O0(G,U))})},NI=($)=>n$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return L8(()=>new a8(`Invalid argument in: secondOfMinute(${$}). Must be in range 0...59`));let G=J[1],W=Nt(Z,$,G===0),H=dB(W),U=EI(W),A=eZ(H,U);return w([[U,G+1],G,t0(A)])}),_I=($)=>zU(E6,()=>$),PI=($)=>_Z(E6,()=>$),FI=($)=>_Z(E6,$),zI=V(2,($,Z)=>n$($.initial,(X,J,G)=>j$(Z(J),$.step(X,J,G)))),TI=V(2,($,Z)=>n$($.initial,(X,J,G)=>IZ($.step(X,J,G),([,Y])=>Z(Y)))),_G=($,Z)=>n$($,(X,J,G)=>E(()=>[Z(G),G,t0(R6(X))])),hB=V(2,($,Z)=>LU($,Z,yO)),LU=V(3,($,Z,X)=>n$([$.initial,Z.initial],(J,G,Y)=>sZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),([W,H,U],[A,Q,O])=>{if(UZ(U)&&UZ(O))return[[W,A],[H,Q],y8];if(UZ(U)&&B1(O))return[[W,A],[H,Q],f5(O.intervals)];if(B1(U)&&UZ(O))return[[W,A],[H,Q],f5(U.intervals)];if(B1(U)&&B1(O)){let P=X(U.intervals,O.intervals);return[[W,A],[H,Q],f5(P)]}throw Error("BUG: Schedule.unionWith - please report an issue at https://github.com/Effect-TS/effect/issues")}))),mB=V(2,($,Z)=>SX($,(X,J)=>!Z(X))),PG=V(2,($,Z)=>n5($,(X,J)=>x2(Z(X)))),fB=V(2,($,Z)=>SX($,(X,J)=>!Z(J))),MI=V(2,($,Z)=>n5($,(X,J)=>x2(Z(J)))),wI=V(2,($,Z)=>cB($,IB(Z))),pB=V(2,($,Z)=>SX($,(X,J)=>Z(X))),FG=V(2,($,Z)=>n5($,(X,J)=>Z(X))),qU=V(2,($,Z)=>SX($,(X,J)=>Z(J))),CI=V(2,($,Z)=>n5($,(X,J)=>Z(J))),RI=($)=>{let Z=Y0($),X=MZ(Z);return n$([x(),0],(J,G,[Y,W])=>{switch(Y._tag){case"None":return w([[j(J),W+1],W,t0(R6(J+X))]);case"Some":return w([[j(Y.value),W+1],W,t0(R6(J+(X-(J-Y.value)%X)))])}})},cB=V(2,($,Z)=>_Z(C4($,Z),(X)=>X[0])),LI=V(2,($,Z)=>_Z(C4($,Z),(X)=>X[1])),qI=V(3,($,Z,X)=>_Z(C4($,Z),([J,G])=>X(J,G))),dB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),Z.getSeconds(),0).getTime()},EI=($)=>{let Z=new Date(dB($));return Z.setSeconds(Z.getSeconds()+1)},Nt=($,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)},xI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),0,0).getTime()},_t=($)=>{let Z=new Date(xI($));return Z.setMinutes(Z.getMinutes()+1)},Pt=($,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)},SI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),0,0,0).getTime()},Ft=($)=>{let Z=new Date(SI($));return Z.setHours(Z.getHours()+1)},zt=($,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)},uB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),0,0,0,0).getTime()},jI=($)=>{let Z=new Date(uB($));return Z.setDate(Z.getDate()+1)},Tt=($,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))},Mt=($,Z,X)=>{let J=new Date($);if(J.getDate()===Z&&X)return $;if(J.getDate()<Z)return J.setDate(Z);return kI($,Z,1)},kI=($,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($),H=new Date(W.setDate(Z));return H.setMonth(H.getMonth()+X)}return kI($,Z,X+1)},NU=Symbol.for("effect/Schedule/ScheduleDefect");class II{error;[NU];constructor($){this.error=$,this[NU]=NU}}var wt=($)=>u($,NU),_U=($)=>w6($,(Z)=>wZ(new II(Z))),Ct=($)=>p0(a6($,(Z)=>Y5(Z)&&wt(Z.defect)?j(Z.defect):x()),{onNone:()=>$,onSome:(Z)=>Q8(Z.error)}),zG=($)=>e6($,(Z)=>E$(Ct(Z))),Ek=V(2,($,Z)=>oB($,Z,(X,J)=>L$(X))),vI=V(2,($,Z)=>{if(FU(Z))return Ek($,Z);let X=Z.schedule??SB(E6),J=Z.while?FG(X,(W)=>{let H=Z.while(W);if(typeof H==="boolean")return w(H);return _U(H)}):X,G=Z.until?PG(J,(W)=>{let H=Z.until(W);if(typeof H==="boolean")return w(H);return _U(H)}):J,Y=Z.times?C4(G,jX(Z.times)).pipe(_Z((W)=>W[0])):G;return zG(Ek($,Y))}),oB=V(3,($,Z,X)=>z(BG(Z),(J)=>s0($,{onFailure:(G)=>X(G,x()),onSuccess:(G)=>yI(_4($,o5,RZ(J.iterationMeta)),J,(Y,W)=>_4(X(Y,W),o5,RZ(J.iterationMeta)),G)}))),yI=($,Z,X,J)=>s0(Z.next(J),{onFailure:()=>V5(Z.last),onSuccess:(G)=>s0($,{onFailure:(Y)=>X(Y,j(G)),onSuccess:(Y)=>yI($,Z,X,Y)})}),QG=V(2,($,Z)=>nB($,Z,(X,J)=>L$(X))),bI=V(2,($,Z)=>{if(FU(Z))return QG($,Z);return zG(QG($,EU(Z)))}),EU=($)=>{let Z=$.schedule??E6,X=$.while?FG(Z,(G)=>{let Y=$.while(G);if(typeof Y==="boolean")return w(Y);return _U(Y)}):Z,J=$.until?PG(X,(G)=>{let Y=$.until(G);if(typeof Y==="boolean")return w(Y);return _U(Y)}):X;return $.times!==void 0?C4(J,jX($.times)):J},nB=V(3,($,Z,X)=>z(BG(Z),(J)=>gI(_4($,o5,RZ(J.iterationMeta)),J,(G,Y)=>_4(X(G,Y),o5,RZ(J.iterationMeta))))),gI=($,Z,X)=>{return w6($,(J)=>s0(Z.next(J),{onFailure:()=>F(Z.last,V5,z((G)=>X(J,G))),onSuccess:()=>gI($,Z,X)}))},rB=V(2,($,Z)=>lB($,void 0,Z)),lB=V(3,($,Z,X)=>z(BG(X),(J)=>hI(_4($,o5,RZ(J.iterationMeta)),Z,J))),hI=($,Z,X)=>s0(X.next(Z),{onFailure:()=>V5(X.last),onSuccess:()=>z($,(J)=>hI($,J,X))}),mI=_G(0,($)=>$+1),xU=n$(x(),($,Z,X)=>{switch(X._tag){case"None":return w([j($),K8,t0(R6($))]);case"Some":return w([j(X.value),xZ($-X.value),t0(R6($))])}}),E6=_G(0,($)=>$+1),SU=TU(jX(1)),fI=TU(jX(0)),pI=V(2,($,Z)=>aD(rB($,Z)));var dI=V(2,($,Z)=>H$(()=>{let X=0,J;return z(X4({while:()=>X<Z.steps.length&&(J===void 0||w0(J)),body:()=>{let G=Z.steps[X],Y=VU($,G.provide);if(J){let W=!1,H=Y;Y=H$(()=>{if(W)return H;return W=!0,J}),Y=zG(QG(Y,cI(G,!1)))}else{let W=cI(G,!0);Y=W?zG(QG(Y,W)):Y}return i8(Y)},step:(G)=>{J=G,X++}}),()=>J)})),cI=($,Z)=>{if(!Z)return EU({schedule:$.schedule?$.schedule:$.attempts?void 0:SU,times:$.attempts,while:$.while});else if($.attempts===1||!($.schedule||$.attempts))return;return EU({schedule:$.schedule,while:$.while,times:$.attempts?$.attempts-1:void 0})};var jU=N8;var P1=HZ;var uI=zV;var oI=vw;var sB=B2,kU=XX;var nI=Symbol.for("effect/MutableList"),Lt={[nI]:nI,[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$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},qt=($)=>({value:$,removed:!1,prev:void 0,next:void 0}),rI=()=>{let $=Object.create(Lt);return $.head=void 0,$.tail=void 0,$._length=0,$};var lI=($)=>tB($)===0,tB=($)=>$._length;var iI=V(2,($,Z)=>{let X=qt(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,$}),sI=($)=>{let Z=$.head;if(Z!==void 0)return Et($,Z),Z.value;return};var Et=($,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 aI=Symbol.for("effect/MutableQueue"),eB=Symbol.for("effect/mutable/MutableQueue/Empty"),St={[aI]:aI,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(y$)}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},jt=($)=>{let Z=Object.create(St);return Z.queue=rI(),Z.capacity=$,Z};var tI=()=>jt(void 0);var eI=V(2,($,Z)=>{let X=tB($.queue);if($.capacity!==void 0&&X===$.capacity)return!1;return iI(Z)($.queue),!0});var $v=V(2,($,Z)=>{if(lI($.queue))return Z;return sI($.queue)});var Zv=($,Z,X,J)=>cW({_tag:"Complete",key:$,exit:Z,entryStats:X,timeToLiveMillis:J}),Xv=($,Z)=>cW({_tag:"Pending",key:$,deferred:Z}),It=($,Z)=>cW({_tag:"Refreshing",deferred:$,complete:Z}),$N=Symbol.for("effect/Cache/MapKey");class Jv{current;[$N]=$N;previous=void 0;next=void 0;constructor($){this.current=$}[Y$](){return F(a(this.current),V$(a(this.previous)),V$(a(this.next)),R$(this))}[G$]($){if(this===$)return!0;return vt($)&&s(this.current,$.current)&&s(this.previous,$.previous)&&s(this.next,$.next)}}var kX=($)=>new Jv($),vt=($)=>u($,$N);class Gv{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 yt=()=>new Gv,bt=($,Z,X,J,G,Y)=>({map:$,keys:Z,accesses:X,updating:J,hits:G,misses:Y}),gt=()=>bt(D1(),yt(),tI(),r6(!1),0,0),ht="effect/Cache",mt=Symbol.for(ht),ft={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},pt="effect/ConsumerCache",ct=Symbol.for(pt),dt={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},ut=($)=>$,IU=($)=>({loadedMillis:$});class Yv{capacity;context;fiberId;lookup;timeToLive;[mt]=ft;[ct]=dt;cacheState;constructor($,Z,X,J,G){this.capacity=$,this.context=Z,this.fiberId=X,this.lookup=J,this.timeToLive=G,this.cacheState=gt()}get($){return I(this.getEither($),l4)}get cacheStats(){return E(()=>ut({hits:this.cacheState.hits,misses:this.cacheState.misses,size:y5(this.cacheState.map)}))}getOption($){return H$(()=>p0(N0(this.cacheState.map,$),{onNone:()=>{let Z=kX($);return this.trackAccess(Z),this.trackMiss(),w(x())},onSome:(Z)=>this.resolveMapValue(Z)}))}getOptionComplete($){return H$(()=>p0(N0(this.cacheState.map,$),{onNone:()=>{let Z=kX($);return this.trackAccess(Z),this.trackMiss(),w(x())},onSome:(Z)=>this.resolveMapValue(Z,!0)}))}contains($){return E(()=>k8(this.cacheState.map,$))}entryStats($){return E(()=>{let Z=N0(this.cacheState.map,$);if(p$(Z))switch(Z.value._tag){case"Complete":{let X=Z.value.entryStats.loadedMillis;return j(IU(X))}case"Pending":return x();case"Refreshing":{let X=Z.value.complete.entryStats.loadedMillis;return j(IU(X))}}return x()})}getEither($){return H$(()=>{let Z=$,X=void 0,J=void 0,G=r0(N0(this.cacheState.map,Z));if(G===void 0)if(J=sB(this.fiberId),X=kX(Z),k8(this.cacheState.map,Z))G=r0(N0(this.cacheState.map,Z));else hZ(this.cacheState.map,Z,Xv(X,J));if(G===void 0)return this.trackAccess(X),this.trackMiss(),I(this.lookupValueOf($,J),S$);else return z(this.resolveMapValue(G),p0({onNone:()=>this.getEither($),onSome:(Y)=>w(f$(Y))}))})}invalidate($){return E(()=>{U1(this.cacheState.map,$)})}invalidateWhen($,Z){return E(()=>{let X=N0(this.cacheState.map,$);if(p$(X)&&X.value._tag==="Complete"){if(X.value.exit._tag==="Success"){if(Z(X.value.exit.value))U1(this.cacheState.map,$)}}})}get invalidateAll(){return E(()=>{this.cacheState.map=D1()})}refresh($){return G9((Z)=>H$(()=>{let X=$,J=sB(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,Xv(kX(X),J));if(G===void 0)return z0(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))U1(this.cacheState.map,X);return z0(this.get($))}return F(this.lookupValueOf($,J),OD(()=>{let Y=r0(N0(this.cacheState.map,X));if(s(Y,G)){let W=It(J,G);return hZ(this.cacheState.map,X,W),!0}return!1}),z0)}case"Pending":return P1(G.deferred);case"Refreshing":return P1(G.deferred)}}))}set($,Z){return G9((X)=>E(()=>{let J=X.unsafeCurrentTimeMillis(),G=$,Y=F2(Z),W=Zv(kX(G),Y,IU(J),J+MZ(Y0(this.timeToLive(Y))));hZ(this.cacheState.map,G,W)}))}get size(){return E(()=>{return y5(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 G9((X)=>{switch($._tag){case"Complete":{if(this.trackAccess($.key),this.hasExpired(X,$.timeToLiveMillis))return U1(this.cacheState.map,$.key.current),w(x());return this.trackHit(),I($.exit,j)}case"Pending":{if(this.trackAccess($.key),this.trackHit(),Z)return w(x());return I(P1($.deferred),j)}case"Refreshing":{if(this.trackAccess($.complete.key),this.trackHit(),this.hasExpired(X,$.complete.timeToLiveMillis)){if(Z)return w(x());return I(P1($.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(eI(this.cacheState.accesses,$),EW(this.cacheState.updating,!1,!0)){let Z=!0;while(Z){let J=$v(this.cacheState.accesses,eB);if(J===eB)Z=!1;else this.cacheState.keys.add(J)}let X=y5(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))U1(this.cacheState.map,J.current),X=X-1,Z=X>this.capacity}else Z=!1}b9(this.cacheState.updating,!1)}}hasExpired($,Z){return $.unsafeCurrentTimeMillis()>Z}lookupValueOf($,Z){return G9((X)=>H$(()=>{let J=$;return F(this.lookup($),aZ(this.context),V0,z((G)=>{let Y=X.unsafeCurrentTimeMillis(),W=IU(Y),H=Zv(kX(J),G,W,Y+MZ(Y0(this.timeToLive(G))));return hZ(this.cacheState.map,J,H),j$(uI(Z,G),G)}),Z9(()=>j$(oI(Z),E(()=>{U1(this.cacheState.map,J)}))))}))}}var Wv=($,Z,X)=>new Yv($,VZ(),IW,Z,(J)=>Y0(X(J)));var IX=_$(Symbol.for("effect/FiberRef/currentCache"),()=>L0(Wv(65536,()=>I(N8(),($)=>({listeners:new m2,handle:$})),()=>WK(60)))),TG=_$(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>L0(!1)),Hv=($,Z)=>z(c$(Z)?Z:w(Z),(X)=>O8((J)=>{let G=new Proxy($,{});return CZ(TG,(Y)=>{if(Y){let H=CZ(IX,(U)=>z(U.getEither(G),(A)=>{switch(A._tag){case"Left":{if(A.left.listeners.interrupted)return z(U.invalidateWhen(G,(Q)=>Q.handle===A.left.handle),()=>H);return A.left.listeners.increment(),j0((Q)=>z(V0(c9(KM,Q(HZ(A.left.handle)))),(O)=>{return A.left.listeners.decrement(),O}))}case"Right":return A.right.listeners.increment(),j0((Q)=>z(V0(c9(sK(X,aK({request:G,result:A.right.handle,listeners:A.right.listeners,ownerId:J,state:{completed:!1}})),Q(HZ(A.right.handle)))),()=>{return A.right.listeners.decrement(),HZ(A.right.handle)}))}}));return H}let W=new m2;return W.increment(),z(N8(),(H)=>v8(c9(sK(X,aK({request:G,result:H,listeners:W,ownerId:J,state:{completed:!1}})),HZ(H)),E(()=>W.decrement())))})})),Dv=($,Z)=>{return CZ(TG,(X)=>{if(X)return CZ(IX,(J)=>z(J.getEither($),(G)=>{switch(G._tag){case"Left":return T$;case"Right":return FV(G.right.handle,Z)}}));return T$})},Uv=V(2,($,Z)=>R0($,TG,Z)),Av=V(2,($,Z)=>R0($,IX,Z));var Vv=Jx;var nt=d9,MG=c$,rt=kS,lt=pO,it=VD,st=gS,at=jQ,tt=P4,et=qx,$e=Ex,Ze=XL,Xe=JL,Je=aL,Ge=tL,Ye=OL,We=Cx,He=Lx,De=YL,Ue=AL,wG=I8,Ae=NL,Ke=PO,Ve=FO,Qe=pL,Oe=dL,Be=cL,Ne=Ix,_e=_O,Pe=xx,Fe=jx,ze=hx,Te=jZ,Me=Oj,we=X2,F1=x$,Ce=L$,Re=s8,Bv=E$,Le=u9,ZN=wZ,qe=a1,Ee=L8,xe=OH,Se=J4,je=vL,ke=mL,XN=w,JN=j5,Ie=iL,GN=H$,V9=E,z1=T$;var ve=X9,ye=pR;var be=w6,ge=e6,he=cR,me=G2,fe=cM,pe=dR,ce=uR,de=oR,ue=nR,oe=rR,ne=qQ,re=KD,le=_L,ie=hL,se=rL,ae=bI,te=dI,ee=nB,$$$=LQ;var Z$$=Yq,X$$=Wq,J$$=yQ,G$$=Uq,Y$$=sR,W$$=dM,H$$=ix,vX=AH,D$$=KH,U$$=n9,A$$=oM,K$$=Z9,V$$=r9,Q$$=j0,O$$=DL,B$$=i$,N$$=QX,_$$=fR,P$$=z0,F$$=e1,z$$=QL,$8=I,T$$=kL,M$$=W2,w$$=$4,C$$=BX,R$$=IL,L$$=x2,CG=h5,q$$=Mx,E$$=WH,x$$=Y9,S$$=v8,j$$=VH,k$$=iZ,I$$=vD,v$$=yD,y$$=vx,b$$=wO,g$$=X6,h$$=n2,m$$=gD,f$$=bx,p$$=px,c$$=jS,d$$=wx,u$$=aR,o$$=UD,n$$=OX,r$$=IS,l$$=sD,i$$=o9,yX=O8,s$$=Q1,YN=zX,a$$=vS,t$$=cO,e$$=aD,$0$=Sx,Z0$=yS,X0$=bS,J0$=dO,G0$=QH,Y0$=rM,W0$=uC,H0$=VV,D0$=Gw,U0$=lR,A0$=G9,K0$=mx,V0$=qR,Q0$=ej,O0$=$k,B0$=Xk,N0$=Zk,_0$=iR,P0$=S5,F0$=Jq,z0$=vQ,T0$=mS,M0$=pS,w0$=uO,C0$=fS,R0$=t2,L0$=xR,q0$=ER,E0$=hD,x0$=_8,S0$=GL,j0$=S8,k0$=U4,I0$=VU,v0$=N4,y0$=_4,b0$=Bq,g0$=Oq,h0$=bQ,m0$=gQ,f0$=Nq,p0$=_q,c0$=hQ,d0$=Aq,u0$=tR,o0$=eR,n0$=nS,r0$=$L,l0$=ZL;var i0$=yL,s0$=i8,a0$=V0,RG=$9,t0$=UH;var e0$=WL,$Z$=HL,ZZ$=q2,XZ$=UL,JZ$=MV,GZ$=yw,YZ$=Hq,WZ$=Dq,HZ$=OD,DZ$=a7,UZ$=Kq,AZ$=Vq,l5=z,KZ$=t1,VZ$=kZ,QZ$=pD,OZ$=kx,BZ$=hS,NZ$=RO,_Z$=S2,WN=IZ,PZ$=eL,FZ$=$q,zZ$=IQ,TZ$=Zq,MZ$=Xq,wZ$=EQ,CZ$=xQ,RZ$=xL,LZ$=vI,qZ$=oL,EZ$=oB,xZ$=rB,SZ$=pI,jZ$=lB,LG=X4,kZ$=AD,IZ$=PL,vZ$=R0,yZ$=a0,bZ$=mZ,gZ$=LZ,hZ$=x5,mZ$=lL,fZ$=QD,pZ$=FL,cZ$=zL,dZ$=E2,uZ$=Y2,oZ$=B0,nZ$=s0,rZ$=TL,lZ$=($,...Z)=>Y1($)(...Z),iZ$=ML,sZ$=SQ,aZ$=wL,tZ$=CL,eZ$=RL,$8$=LL,Z8$=qL,X8$=mR,J8$=zx,G8$=EL,Y8$=Yw,W8$=Tx,H8$=V5,D8$=HV,U8$=K5,A8$=bL,K8$=gL,V8$=VL,Q8$=fL,O8$=KX,Nv=SR,B8$=V(2,($,Z)=>Nv($,Rk(Z))),N8$=fx,qG=CX,_8$=s7,P8$=Z4,F8$=BH,z8$=MO,T8$=sL,M8$=kQ,w8$=yx,C8$=zO,R8$=Ww,L8$=Qq,q8$=iD,E8$=ES,x8$=fO,S8$=SS,EG=Uj,j8$=Dj,k8$=Aj,I8$=Kj,v8$=Vj,y8$=Qj,b8$=gx,g8$=TO,h8$=cx,m8$=dx,f8$=ux,_v=W9,p8$=V(2,($,Z)=>_v($,Z,(X,J)=>X(J))),c8$=c9,d8$=YH,u8$=DH,o8$=V(($)=>Vv($[0]),Hv),n8$=Dv,r8$=lM,l8$=Uv,i8$=Av,s8$=Gq,a8$=WD,t8$=kR,e8$=cD,$6$=iM,Z6$=sM,X6$=zq,J6$=Pq,G6$=mQ,Y6$=fQ,W6$=Tq,H6$=Rq,D6$=Lq,U6$=Mq,A6$=Fq,K6$=Cq,V6$=Z6,Q6$=HD,Pv=cQ,O6$=qq,B6$=sx,N6$=DD,_6$=Eq,P6$=xq,F6$=($)=>{return Q6($)?JN:$8($.value,oZ)},z6$=V(2,($,Z)=>Q6($)?JN:$8(Z($.value),oZ)),Fv=($)=>{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)=>t1(X,(P)=>{if(typeof P[J]==="function")return Z.set(J,(..._)=>t1(X,(T)=>T[J](..._))),P[J](...O);return Z.set(J,t1(X,(_)=>_[J])),P[J]}),W=t1(X,(O)=>O[J]);Object.assign(Y,W);let{apply:H,bind:U,call:A}=Y,Q=Object.setPrototypeOf({},Object.getPrototypeOf(W));return Q.apply=H,Q.bind=U,Q.call=A,Object.setPrototypeOf(Y,Q),Z.set(J,Y),Y}})},T6$=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,j7),J.key=$,Object.defineProperty(J,"use",{get(){return(G)=>t1(this,G)}}),Object.defineProperty(J,"stack",{get(){return X.stack}}),Fv(J)},M6$=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)=>t1(this,O)}}),W.key=$,Object.assign(W,j7),Object.defineProperty(W,"stack",{get(){return G.stack}});let H="dependencies"in Z&&Z.dependencies.length>0,U=H?"DefaultWithoutDependencies":"Default",A,Q=!1;if("effect"in Z)Q=typeof Z.effect==="function",Object.defineProperty(W,U,{get(){if(Q)return function(){return M4(W,$8(Z.effect.apply(null,arguments),(O)=>new this(O)))}.bind(this);return A??=M4(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 w4(W,$8(Z.scoped.apply(null,arguments),(O)=>new this(O)))}.bind(this);return A??=w4(W,$8(Z.scoped,(O)=>new this(O)))}});else if("sync"in Z)Object.defineProperty(W,U,{get(){return A??=KU(W,()=>new this(Z.sync()))}});else Object.defineProperty(W,U,{get(){return A??=RX(W,new this(Z.succeed))}});if(H){let O;Object.defineProperty(W,"Default",{get(){if(Q)return function(){return d5(this.DefaultWithoutDependencies.apply(null,arguments),Z.dependencies)};return O??=d5(this.DefaultWithoutDependencies,Z.dependencies)}})}return X===!0?Fv(W):W}},w6$=function($,...Z){let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();if(Error.stackTraceLimit=X,typeof $!=="string")return Qv($.length,function(...W){let H=Error.stackTraceLimit;Error.stackTraceLimit=2;let U=Error();return Error.stackTraceLimit=H,Ov({self:this,body:$,args:W,pipeables:Z,spanName:"<anonymous>",spanOptions:{context:UX.context(!0)},errorDef:J,errorCall:U})});let G=$,Y=Z[0];return(W,...H)=>Qv(W.length,{[G](...U){let A=Error.stackTraceLimit;Error.stackTraceLimit=2;let Q=Error();return Error.stackTraceLimit=A,Ov({self:this,body:W,args:U,pipeables:H,spanName:G,spanOptions:Y,errorDef:J,errorCall:Q})}}[G])};function Qv($,Z){return Object.defineProperty(Z,"length",{value:$,configurable:!0})}function Ov($){let Z,X=void 0;if(EF($.body))Z=rJ(()=>$.body.apply($.self,$.args));else try{Z=$.body.apply($.self,$.args)}catch(W){X=W,Z=ZN(W)}if($.pipeables.length>0)try{for(let W of $.pipeables)Z=W(Z,...$.args)}catch(W){Z=X?Bv($0(P0(X),P0(W))):ZN(W)}let J=!1,G=()=>{if(J!==!1)return J;if($.errorCall.stack){let W=$.errorDef.stack.trim().split(`
|
|
28
28
|
`),H=$.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=H.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 Pv(Z,$.spanName,Y)}var C6$=t7,R6$=()=>($)=>$,L6$=()=>($)=>$,q6$=()=>($)=>$;var Q9={};T8(Q9,{unsafeSet:()=>yU,unsafeHas:()=>bU,unsafeGet:()=>Rv,size:()=>m6$,set:()=>I6$,runtimePromise:()=>Lv,runtime:()=>AN,run:()=>h6$,remove:()=>b6$,makeRuntimePromise:()=>j6$,makeRuntime:()=>S6$,make:()=>UN,join:()=>f6$,isFiberMap:()=>DN,has:()=>y6$,get:()=>v6$,clear:()=>g6$,awaitEmpty:()=>p6$,TypeId:()=>vU});var xG=wX;var zv=L6;var Tv=$B;var vU=Symbol.for("effect/FiberMap"),DN=($)=>u($,vU),E6$={[vU]:vU,[Symbol.iterator](){if(this.state._tag==="Closed")return ZW();return this.state.backing[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},x6$=($,Z)=>{let X=Object.create(E6$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},UN=()=>CG($8(jU(),($)=>x6$(D1(),$)),($)=>F1((Z)=>{let X=$.state;if(X._tag==="Closed")return z1;return $.state={_tag:"Closed"},ZG(Wz(X.backing,([,J])=>J),V8(Z.id(),bX)).pipe(RG($.deferred))})),S6$=()=>r5(UN(),($)=>AN($)()),j6$=()=>r5(UN(),($)=>Lv($)()),Cv=-1,bX=gW(Cv,0),k6$=i2(void 0,{emptyCase:JZ,failCase:JZ,dieCase:JZ,interruptCase:($,Z)=>b7(d1(Z),Cv),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),yU=V(($)=>DN($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(V8(J?.interruptAs??d0,bX));return}let G=N0($.state.backing,Z);if(G._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(V8(J?.interruptAs??d0,bX));return}else if(G.value===X)return;G.value.unsafeInterruptAsFork(V8(J?.interruptAs??d0,bX))}hZ($.state.backing,Z,X),X.addObserver((Y)=>{if($.state._tag==="Closed")return;let W=N0($.state.backing,Z);if(p$(W)&&X===W.value)U1($.state.backing,Z);if(P2(Y)&&(J?.propagateInterruption===!0?!k6$(Y.cause):!l2(Y.cause)))kU($.deferred,Y)})}),I6$=V(($)=>DN($[0]),($,Z,X,J)=>yX((G)=>V9(()=>yU($,Z,X,{...J,interruptAs:G})))),Rv=V(2,($,Z)=>$.state._tag==="Closed"?x():N0($.state.backing,Z)),v6$=V(2,($,Z)=>GN(()=>Rv($,Z))),bU=V(2,($,Z)=>$.state._tag==="Closed"?!1:k8($.state.backing,Z)),y6$=V(2,($,Z)=>V9(()=>bU($,Z))),b6$=V(2,($,Z)=>F1((X)=>{if($.state._tag==="Closed")return z1;let J=N0($.state.backing,Z);if(J._tag==="None")return z1;return z4(J.value,V8(X.id(),bX))})),g6$=($)=>F1((Z)=>{if($.state._tag==="Closed")return z1;return wG($.state.backing,([,X])=>z4(X,V8(Z.id(),bX)))}),HN=function(){let $=void 0;return()=>{if($===void 0)$=EG(vX);return $}}(),h6$=function(){let $=arguments[0];if(MG(arguments[2]))return wv($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>wv($,Z,J,X)},wv=($,Z,X,J)=>F1((G)=>{if($.state._tag==="Closed")return vX;else if(J?.onlyIfMissing===!0&&bU($,Z))return V9(HN);let Y=Tv({context:G.currentContext,fiberRefs:G.getFiberRefs(),runtimeFlags:zv.runtimeFlags}),W=xG(Y)(X);return yU($,Z,W,{...J,interruptAs:G.id()}),XN(W)}),AN=($)=>()=>$8(qG(),(Z)=>{let X=xG(Z);return(J,G,Y)=>{if($.state._tag==="Closed")return HN();else if(Y?.onlyIfMissing===!0&&bU($,J))return HN();let W=X(G,Y);return yU($,J,W,Y),W}}),Lv=($)=>()=>$8(AN($)(),(Z)=>(X,J,G)=>new Promise((Y,W)=>Z(X,J,G).addObserver((H)=>{if(A4(H))Y(H.value);else W(r2(H.cause))}))),m6$=($)=>V9(()=>$.state._tag==="Closed"?0:y5($.state.backing)),f6$=($)=>P1($.deferred),p6$=($)=>LG({while:()=>$.state._tag==="Open"&&y5($.state.backing)>0,body:()=>$G($W($)[1]),step:TZ});var i5={};T8(i5,{unsafeAdd:()=>hU,size:()=>s6$,runtimePromise:()=>Sv,runtime:()=>ON,run:()=>i6$,makeRuntimePromise:()=>o6$,makeRuntime:()=>u6$,make:()=>VN,join:()=>a6$,isFiberSet:()=>KN,clear:()=>r6$,awaitEmpty:()=>t6$,add:()=>l6$,TypeId:()=>gU});var gU=Symbol.for("effect/FiberSet"),KN=($)=>u($,gU),c6$={[gU]:gU,[Symbol.iterator](){if(this.state._tag==="Closed")return ZW();return this.state.backing[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},d6$=($,Z)=>{let X=Object.create(c6$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},VN=()=>CG($8(jU(),($)=>d6$(new Set,$)),($)=>F1((Z)=>{let X=$.state;if(X._tag==="Closed")return z1;$.state={_tag:"Closed"};let J=X.backing;return ZG(J,V8(Z.id(),QN)).pipe(RG($.deferred))})),u6$=()=>r5(VN(),($)=>ON($)()),o6$=()=>r5(VN(),($)=>Sv($)()),Ev=-1,QN=gW(Ev,0),n6$=i2(void 0,{emptyCase:JZ,failCase:JZ,dieCase:JZ,interruptCase:($,Z)=>b7(d1(Z),Ev),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),hU=V(($)=>KN($[0]),($,Z,X)=>{if($.state._tag==="Closed"){Z.unsafeInterruptAsFork(V8(X?.interruptAs??d0,QN));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),P2(J)&&(X?.propagateInterruption===!0?!n6$(J.cause):!l2(J.cause)))kU($.deferred,J)})}),l6$=V(($)=>KN($[0]),($,Z,X)=>yX((J)=>V9(()=>hU($,Z,{...X,interruptAs:J})))),r6$=($)=>F1((Z)=>{if($.state._tag==="Closed")return z1;return wG($.state.backing,(X)=>z4(X,V8(Z.id(),QN)))}),xv=function(){let $=void 0;return()=>{if($===void 0)$=EG(vX);return $}}(),i6$=function(){let $=arguments[0];if(!MG(arguments[1])){let Z=arguments[1];return(X)=>qv($,X,Z)}return qv($,arguments[1],arguments[2])},qv=($,Z,X)=>yX((J)=>{if($.state._tag==="Closed")return V9(xv);return WN(YN(Z),(G)=>hU($,G,{...X,interruptAs:J}))}),ON=($)=>()=>$8(qG(),(Z)=>{let X=xG(Z);return(J,G)=>{if($.state._tag==="Closed")return xv();let Y=X(J,G);return hU($,Y),Y}}),Sv=($)=>()=>$8(ON($)(),(Z)=>(X,J)=>new Promise((G,Y)=>Z(X,J).addObserver((W)=>{if(A4(W))G(W.value);else Y(r2(W.cause))}))),s6$=($)=>V9(()=>$.state._tag==="Closed"?0:$.state.backing.size),a6$=($)=>P1($.deferred),t6$=($)=>LG({while:()=>$.state._tag==="Open"&&$.state.backing.size>0,body:()=>$G($W($)),step:TZ});var SG={};T8(SG,{zipWith:()=>W1$,withSpan:()=>w1$,withParentSpan:()=>C1$,updateService:()=>q1$,unwrapScoped:()=>D1$,unwrapEffect:()=>H1$,toRuntimeWithMemoMap:()=>G1$,toRuntime:()=>J1$,tapErrorCause:()=>X1$,tapError:()=>Z1$,tap:()=>$1$,syncContext:()=>e9$,sync:()=>t9$,suspend:()=>a9$,succeedContext:()=>s9$,succeed:()=>i9$,span:()=>_1$,setVersionMismatchErrorLogLevel:()=>M1$,setUnhandledErrorLogLevel:()=>T1$,setTracerTiming:()=>z1$,setTracerEnabled:()=>F1$,setTracer:()=>P1$,setScheduler:()=>N1$,setRequestCaching:()=>O1$,setRequestCache:()=>B1$,setRequestBatching:()=>Q1$,setRandom:()=>V1$,setConfigProvider:()=>A1$,setClock:()=>U1$,service:()=>r9$,scopedDiscard:()=>x6,scopedContext:()=>l9$,scoped:()=>n9$,scope:()=>o9$,retry:()=>u9$,provideMerge:()=>Y1$,provide:()=>gv,project:()=>h9$,passthrough:()=>g9$,parentSpan:()=>K1$,orElse:()=>b9$,orDie:()=>y9$,mock:()=>L9$,mergeAll:()=>v9$,merge:()=>I9$,memoize:()=>k9$,matchCause:()=>j9$,match:()=>S9$,mapError:()=>x9$,map:()=>bv,makeMemoMap:()=>R1$,locallyWith:()=>p9$,locallyScoped:()=>c9$,locallyEffect:()=>m9$,locally:()=>f9$,launch:()=>E9$,isLayer:()=>J9$,isFresh:()=>G9$,function:()=>q9$,fresh:()=>R9$,flatten:()=>C9$,flatMap:()=>w9$,fiberRefLocallyScopedWith:()=>d9$,failSync:()=>z9$,failCauseSync:()=>M9$,failCause:()=>T9$,fail:()=>F9$,extendScope:()=>P9$,ensureSuccessType:()=>E1$,ensureRequirementsType:()=>S1$,ensureErrorType:()=>x1$,empty:()=>_9$,effectDiscard:()=>B9$,effectContext:()=>N9$,effect:()=>O9$,discard:()=>Q9$,dieSync:()=>V9$,die:()=>K9$,context:()=>yv,catchAllCause:()=>A9$,catchAll:()=>U9$,buildWithScope:()=>D9$,buildWithMemoMap:()=>L1$,build:()=>H9$,annotateSpans:()=>W9$,annotateLogs:()=>Y9$,MemoMapTypeId:()=>Z9$,LayerTypeId:()=>$9$,CurrentMemoMap:()=>X9$});var jv=($)=>c5(hD($)),kv=($)=>N1(U8(gZ,$)),Iv=($,Z)=>{return Z=j8(Z),w4(gZ,Z?.onEnd?IZ(Z6($,Z),(X)=>Y9((J)=>Z.onEnd(X,J))):Z6($,Z))},vv=($)=>c5(cD($));var $9$=ZU,Z9$=JG,X9$=XB,J9$=YG,G9$=JB,Y9$=sj,W9$=aj,H9$=Fj,D9$=T4,U9$=p5,A9$=WB,yv=JU,K9$=HB,V9$=Tj,Q9$=Mj,O9$=M4,B9$=Rj,N9$=fZ,_9$=cj,P9$=wj,F9$=DB,z9$=UB,T9$=WG,M9$=GU,w9$=A9,C9$=Cj,R9$=AB,L9$=jj,q9$=xj;var E9$=Sj,bv=HU,x9$=kj,S9$=UU,j9$=DU,k9$=Ij,I9$=KB,v9$=AU,y9$=vj,b9$=yj,g9$=bj,h9$=gj,m9$=YU,f9$=Lj,p9$=WU,c9$=qj,d9$=Ej,u9$=hj,o9$=fj,n9$=w4,x6=c5,l9$=HG,r9$=pj,i9$=RX,s9$=N1,a9$=DG,t9$=KU,e9$=dj,$1$=uj,Z1$=oj,X1$=nj,J1$=lj,G1$=rj,gv=d5,Y1$=ij,W1$=VB,H1$=QB,D1$=GG,U1$=($)=>x6(LZ(M0,e$(tZ,$))),A1$=jv,K1$=kv,V1$=($)=>x6(LZ(M0,e$(X1,$))),Q1$=($)=>x6(mZ(H2,$)),O1$=($)=>x6(mZ(TG,$)),B1$=($)=>x6(c$($)?z($,(Z)=>mZ(IX,Z)):mZ(IX,$)),N1$=($)=>x6(mZ(e9,$)),_1$=Iv,P1$=vv,F1$=($)=>x6(mZ(U2,$)),z1$=($)=>x6(mZ(Y4,$)),T1$=($)=>x6(mZ(D2,$)),M1$=($)=>x6(mZ(zH,$)),w1$=tj,C1$=$U,R1$=YB,L1$=XU,q1$=V(3,($,Z,X)=>gv($,bv(yv(),(J)=>e$(J,Z,X(u8(J,Z)))))),E1$=()=>($)=>$,x1$=()=>($)=>$,S1$=()=>($)=>$;var O9={};T8(O9,{zipWith:()=>M5$,zipRight:()=>T5$,zipLeft:()=>z5$,windowed:()=>F5$,whileOutputEffect:()=>P5$,whileOutput:()=>_5$,whileInputEffect:()=>N5$,whileInput:()=>B5$,upTo:()=>O5$,untilOutputEffect:()=>Q5$,untilOutput:()=>V5$,untilInputEffect:()=>K5$,untilInput:()=>A5$,unionWith:()=>U5$,union:()=>D5$,unfold:()=>H5$,tapOutput:()=>W5$,tapInput:()=>Y5$,sync:()=>G5$,succeed:()=>J5$,stop:()=>X5$,spaced:()=>Z5$,secondOfMinute:()=>X4$,run:()=>$5$,resetWhen:()=>e4$,resetAfter:()=>t4$,repetitions:()=>a4$,repeatForever:()=>s4$,reduceEffect:()=>i4$,reduce:()=>r4$,recurs:()=>l4$,recurWhileEffect:()=>n4$,recurWhile:()=>o4$,recurUpTo:()=>u4$,recurUntilOption:()=>d4$,recurUntilEffect:()=>c4$,recurUntil:()=>p4$,provideService:()=>f4$,provideContext:()=>m4$,passthrough:()=>q4$,once:()=>h4$,onDecision:()=>g4$,modifyDelayEffect:()=>b4$,modifyDelay:()=>y4$,minuteOfHour:()=>J4$,mapInputEffect:()=>t1$,mapInputContext:()=>e1$,mapInput:()=>a1$,mapEffect:()=>v4$,mapBothEffect:()=>V4$,mapBoth:()=>K4$,map:()=>I4$,makeWithState:()=>I1$,linear:()=>k4$,jitteredWith:()=>j4$,jittered:()=>S4$,isSchedule:()=>v1$,intersectWith:()=>x4$,intersect:()=>E4$,identity:()=>L4$,hourOfDay:()=>G4$,fromFunction:()=>R4$,fromDelays:()=>C4$,fromDelay:()=>w4$,forever:()=>M4$,fixed:()=>T4$,fibonacci:()=>z4$,exponential:()=>F4$,ensuring:()=>P4$,elapsed:()=>_4$,eitherWith:()=>N4$,either:()=>B4$,duration:()=>O4$,driver:()=>Q4$,delays:()=>A4$,delayedSchedule:()=>U4$,delayedEffect:()=>D4$,delayed:()=>H4$,dayOfWeek:()=>W4$,dayOfMonth:()=>Y4$,cron:()=>Z4$,count:()=>$4$,compose:()=>s1$,collectWhileEffect:()=>i1$,collectWhile:()=>r1$,collectUntilEffect:()=>l1$,collectUntil:()=>n1$,collectAllOutputs:()=>o1$,collectAllInputs:()=>u1$,checkEffect:()=>d1$,check:()=>c1$,bothInOut:()=>p1$,asVoid:()=>f1$,as:()=>m1$,andThenEither:()=>h1$,andThen:()=>g1$,addDelayEffect:()=>b1$,addDelay:()=>y1$,ScheduleTypeId:()=>j1$,ScheduleDriverTypeId:()=>k1$,CurrentIterationMetadata:()=>w5$});var j1$=PU,k1$=wB,I1$=n$,v1$=FU,y1$=zU,b1$=CB,g1$=jk,h1$=RB,m1$=kk,f1$=TU,p1$=Ik,c1$=SX,d1$=n5,u1$=vk,o1$=l5,n1$=yk,l1$=bk,r1$=gk,i1$=hk,s1$=mk,a1$=LB,t1$=MU,e1$=fk,$4$=mI,Z4$=pk,X4$=NI,J4$=WI,G4$=JI,Y4$=ck,W4$=dk,H4$=uk,D4$=wU,U4$=OG,A4$=ok,K4$=nk,V4$=lk,Q4$=BG,O4$=qB,B4$=rk,N4$=ik,_4$=xU,P4$=sk,F4$=ak,z4$=tk,T4$=ek,M4$=E6,w4$=$I,C4$=ZI,R4$=XI,L4$=_1,q4$=SB,E4$=C4,x4$=EB,S4$=GI,j4$=xB,k4$=YI,I4$=_Z,v4$=CU,y4$=HI,b4$=NG,g4$=DI,h4$=SU,m4$=UI,f4$=AI,p4$=jB,c4$=kB,d4$=KI,u4$=IB,o4$=vB,n4$=yB,l4$=jX,r4$=RU,i4$=bB,s4$=E6,a4$=VI,t4$=QI,e4$=gB,$5$=OI,Z5$=_I,X5$=fI,J5$=PI,G5$=FI,Y5$=zI,W5$=TI,H5$=_G,D5$=hB,U5$=LU,A5$=mB,K5$=PG,V5$=fB,Q5$=MI,O5$=wI,B5$=pB,N5$=FG,_5$=qU,P5$=CI,F5$=RI,z5$=cB,T5$=LI,M5$=qI,w5$=o5;function YO$($,Z){return SG.scoped($,t.acquireRelease(t.sync(Z),(X)=>t.sync(()=>{X.close()})).pipe(t.map((X)=>X.service)))}var jG=D.record(D.string(),D.unknown());var C5$=D.object({id:D.string(),sessionId:D.string(),interfaceType:D.string(),channelId:D.string(),personId:D.string().optional(),channelName:D.string().optional(),startedAt:D.string(),lastActiveAt:D.string(),createdAt:D.string(),updatedAt:D.string(),metadata:jG}),R5$=D.object({id:D.string(),conversationId:D.string(),role:gX,content:D.string(),timestamp:D.string(),metadata:jG});var BN=D.object({name:D.string(),role:D.string(),purpose:D.string(),values:D.array(D.string())}),NN=D.object({name:D.string(),organization:D.string().optional(),description:D.string().optional(),avatar:D.string().optional(),website:D.string().optional(),email:D.string().optional(),socialLinks:D.array(D.object({platform:D.enum(["github","instagram","linkedin","email","website"]),url:D.string(),label:D.string().optional()})).optional()});var hX=L5$(q5$(),1);function T1($,Z){let X=Object.fromEntries(Object.entries(Z).filter(([,J])=>J!==void 0&&J!==null));if(Object.keys(X).length===0)return $;return hX.default.stringify($,X)}function _N($){if($ instanceof Date)return $.toISOString();if(Array.isArray($))return $.map(_N);if($!==null&&typeof $==="object"){let Z={};for(let[X,J]of Object.entries($))Z[X]=_N(J);return Z}return $}function pZ($,Z){let{content:X,data:J}=hX.default($),G=_N(J);return{content:X.trim(),metadata:Z.parse(G)}}function kG($){if(Object.keys($).length===0)return"";let X=hX.default.stringify("",$).match(/^---\n[\s\S]*?\n---/);return X?X[0]:""}function hv($){if(typeof $!=="object"||$===null||Array.isArray($))return $;let{visibility:Z,...X}=$;return X}var E5$=D.object({visibility:D.enum(["public","shared","restricted","private"]).optional().transform(($)=>{if($===void 0)return;return $==="private"?"restricted":$})});function mU($){let Z=hX.default($);return E5$.parse(Z.data).visibility}function mv($){let X=$.match(/^---\r?\n[\s\S]*?\r?\n---/)?.[0].match(/^visibility:/m);return X!==null&&X!==void 0}function s5($,Z){if(Z==="public"&&!mv($))return $;let X=hX.default($),J=Object.fromEntries(Object.entries(X.data).filter(([G])=>G!=="visibility"));if(Z!=="public")J.visibility=Z;return T1(X.content.trim(),J)}var x5$=D.looseObject({issues:D.array(D.looseObject({message:D.string()}))});class M1 extends Error{entityType;originalError;constructor($,Z){super(`Invalid entity data for ${$}: ${l$(Z)}`);this.name="EntityValidationError",this.entityType=$,this.originalError=Z}}function fU($){return x5$.safeParse($).success}function fv($){return $ instanceof M1||fU($)}function pU($,Z){if(Z instanceof M1)return Z;return fU(Z)?new M1($,Z):void 0}var S5$={generateBodyTemplate:()=>""},PN=D.record(D.string(),D.unknown());function pv($){return{parse:(Z)=>$.parse(hv(Z))}}class B9{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??S5$,$.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 pZ($,PN).metadata}catch{return{}}}extractMetadata($){return $.metadata}parseFrontMatter($,Z){try{return pZ($,pv(Z)).metadata}catch(X){throw new M1(this.entityType,X)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter($){return kG(PN.parse($.metadata))}extractBody($){try{return pZ($,PN).content}catch{return $}}parseFrontmatter($){try{return pZ($,pv(this.fmSchema)).metadata}catch(Z){throw new M1(this.entityType,Z)}}buildMarkdown($,Z){return T1($,Z)}}var FN=D.enum(["public","shared","restricted"]),N9=D.union([FN,D.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $});function cU($){return N9.parse($)}var j5$={public:["public"],shared:["public","shared"],restricted:["public","shared","restricted"]};function w1($){return j5$[$]}function dU($,Z){return w1(Z).includes($??"public")}function mX($){if($==="admin")return"restricted";if($==="trusted")return"shared";return"public"}function zN($,Z){return dU(Z,mX($))}var W6=D.object({id:D.string(),entityType:D.string(),content:D.string(),created:D.string().datetime(),updated:D.string().datetime(),visibility:N9,metadata:D.record(D.string(),D.unknown()),contentHash:D.string()}),k5$=D.enum(["public","shared","restricted"]),cv=D.object({id:D.string(),entityType:D.string(),content:D.string(),created:D.string().datetime(),updated:D.string().datetime(),visibility:D.union([k5$,D.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $}),metadata:D.record(D.string(),D.unknown()),contentHash:D.string()}),uU=D.object({}),I5$=D.object({mediaType:D.string(),url:D.string(),downloadUrl:D.string().optional(),previewUrl:D.string().optional(),filename:D.string().optional(),sizeBytes:D.number().optional(),source:D.object({entityType:D.string().optional(),entityId:D.string().optional(),attachmentType:D.string().optional()}).optional()});class TN extends B9{constructor(){super({entityType:"note",purpose:"A generic entity with no specialized adapter.",schema:W6,frontmatterSchema:uU})}toMarkdown($){return $.content}fromMarkdown($){return{content:$}}}import{createClient as Bb}from"@libsql/client";import{createClient as $_}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 MN{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 dv($,...Z){return $(...Z)}function uv($,Z){return`${$[b8]}_${Z.join("_")}_unique`}class IG extends G0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=uv($,[Z.name]);super($,Z);this.table=$}static[L]="PgColumn"}class v5$ extends IG{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 y5$ extends IG{static[L]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}var ov=Symbol.for("drizzle:isPgEnum");function nv($){return!!$&&typeof $==="function"&&ov in $&&$[ov]===!0}class b5$ extends IG{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 vG extends k0{static[L]="WithSubquery"}var lv="0.45.2";var wN,CN,rv={startActiveSpan($,Z){if(!wN)return Z();if(!CN)CN=wN.trace.getTracer("drizzle-orm",lv);return dv((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()}}),wN,CN)}};var I0=Symbol.for("drizzle:ViewBaseConfig");var oU=Symbol.for("drizzle:Schema"),nU=Symbol.for("drizzle:Columns"),iv=Symbol.for("drizzle:ExtraConfigColumns"),RN=Symbol.for("drizzle:OriginalName"),LN=Symbol.for("drizzle:BaseName"),yG=Symbol.for("drizzle:IsAlias"),sv=Symbol.for("drizzle:ExtraConfigBuilder"),g5$=Symbol.for("drizzle:IsDrizzleTable");class e{static[L]="Table";static Symbol={Name:b8,Schema:oU,OriginalName:RN,Columns:nU,ExtraConfigColumns:iv,BaseName:LN,IsAlias:yG,ExtraConfigBuilder:sv};[b8];[RN];[oU];[nU];[iv];[LN];[yG]=!1;[g5$]=!0;[sv]=void 0;constructor($,Z,X){this[b8]=this[RN]=$,this[oU]=Z,this[LN]=X}}function R4($){return $[b8]}function a5($){return`${$[oU]??"public"}.${$[b8]}`}function qN($){return $!==null&&$!==void 0&&typeof $.getSQL==="function"}function h5$($){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=tv;shouldInlineParams=!1;usedTables=[];append($){return this.queryChunks.push(...$.queryChunks),this}toQuery($){return rv.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:H,paramStartIndex:U}=X;return h5$($.map((A)=>{if(v(A,AZ))return{sql:A.value.join(""),params:[]};if(v(A,lU))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:H||A.shouldInlineParams});if(v(A,e)){let Q=A[e.Symbol.Schema],O=A[e.Symbol.Name];return{sql:Q===void 0||A[yG]?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[yG]||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,H6)){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,L4))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(H)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,L4))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 lU(A._.alias)],X)}if(nv(A)){if(A.schema)return{sql:G(A.schema)+"."+G(A.enumName),params:[]};return{sql:G(A.enumName),params:[]}}if(qN(A)){if(A.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([A.getSQL()],X);return this.buildQueryFromSourceParams([new AZ("("),A.getSQL(),new AZ(")")],X)}if(H)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 lU{constructor($){this.value=$}static[L]="Name";brand;getSQL(){return new U$([this])}}function av($){return typeof $==="object"&&$!==null&&"mapToDriverValue"in $&&typeof $.mapToDriverValue==="function"}var tv={mapFromDriverValue:($)=>$},ev={mapToDriverValue:($)=>$},_B$={...tv,...ev};class g8{constructor($,Z=ev){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 lU(U)}$.identifier=Y;function W(U){return new L4(U)}$.placeholder=W;function H(U,A){return new g8(U,A)}$.param=H})(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 L4{constructor($){this.name=$}static[L]="Placeholder";getSQL(){return new U$([this])}}function bG($,Z){return $.map((X)=>{if(v(X,L4)){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,L4)){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 m5$=Symbol.for("drizzle:IsDrizzleView");class H6{static[L]="View";[I0];[m5$]=!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 EN($,Z,X){let J={},G=$.reduce((Y,{path:W,field:H},U)=>{let A;if(v(H,G0))A=H;else if(v(H,U$))A=H.decoder;else if(v(H,k0))A=H._.sql.decoder;else A=H.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],T=Q[P]=_===null?null:A.mapFromDriverValue(_);if(X&&v(H,G0)&&W.length===2){let M=W[0];if(!(M in J))J[M]=T===null?R4(H.table):!1;else if(typeof J[M]==="string"&&J[M]!==R4(H.table))J[M]=!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 D6($,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(...D6(G[e.Symbol.Columns],Y));else X.push(...D6(G,Y));return X},[])}function gG($,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 rU($,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 Zy($){return $[e.Symbol.Columns]}function hG($){return v($,k0)?$._.alias:v($,H6)?$[I0].name:v($,U$)?void 0:$[e.Symbol.IsAlias]?$[e.Symbol.Name]:$[e.Symbol.BaseName]}function _9($,Z){return{name:typeof $==="string"&&$.length>0?$:"",config:typeof $==="object"?$:Z}}function Xy($){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 xN=typeof TextDecoder>"u"?null:new TextDecoder;class Jy{static[L]="ConsoleLogWriter";write($){console.log($)}}class SN{static[L]="DefaultLogger";writer;constructor($){this.writer=$?.writer??new Jy}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 jN{static[L]="NoopLogger";logQuery(){}}var Gy=Symbol.for("drizzle:PgInlineForeignKeys"),Yy=Symbol.for("drizzle:EnableRLS");class kN extends e{static[L]="PgTable";static Symbol=Object.assign({},e.Symbol,{InlineForeignKeys:Gy,EnableRLS:Yy});[Gy]=[];[Yy]=!1;[e.Symbol.ExtraConfigBuilder]=void 0;[e.Symbol.ExtraConfigColumns]={}}class IN{static[L]="PgPrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new Wy($,this.columns,this.name)}}class Wy{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[kN.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function P8($,Z){if(av(Z)&&!qN($)&&!v($,g8)&&!v($,L4)&&!v($,G0)&&!v($,e)&&!v($,H6))return new g8($,Z);return $}var p=($,Z)=>{return N`${$} = ${P8(Z,$)}`},iU=($,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 q4(...$){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 Hy($){return N`not ${$}`}var fX=($,Z)=>{return N`${$} > ${P8(Z,$)}`},Dy=($,Z)=>{return N`${$} >= ${P8(Z,$)}`},Uy=($,Z)=>{return N`${$} < ${P8(Z,$)}`},S6=($,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 Ay($,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 C1($){return N`${$} is null`}function pX($){return N`${$} is not null`}function mG($){return N`exists ${$}`}function sU($){return N`not exists ${$}`}function Ky($,Z,X){return N`${$} between ${P8(Z,$)} and ${P8(X,$)}`}function Vy($,Z,X){return N`${$} not between ${P8(Z,$)} and ${P8(X,$)}`}function Qy($,Z){return N`${$} like ${Z}`}function Oy($,Z){return N`${$} not like ${Z}`}function By($,Z){return N`${$} ilike ${Z}`}function Ny($,Z){return N`${$} not ilike ${Z}`}function v0($){return N`${$} asc`}function PZ($){return N`${$} desc`}class vN{constructor($,Z,X){this.sourceTable=$,this.referencedTable=Z,this.relationName=X,this.referencedTableName=Z[e.Symbol.Name]}static[L]="Relation";referencedTableName;fieldName}class _y{constructor($,Z){this.table=$,this.config=Z}static[L]="Relations"}class E4 extends vN{constructor($,Z,X,J){super($,Z,X?.relationName);this.config=X,this.isNullable=J}static[L]="One";withFieldName($){let Z=new E4(this.sourceTable,this.referencedTable,this.config,this.isNullable);return Z.fieldName=$,Z}}class fG extends vN{constructor($,Z,X){super($,Z,X?.relationName);this.config=X}static[L]="Many";withFieldName($){let Z=new fG(this.sourceTable,this.referencedTable,this.config);return Z.fieldName=$,Z}}function Py(){return{and:F$,between:Ky,eq:p,exists:mG,gt:fX,gte:Dy,ilike:By,inArray:Z8,isNull:C1,isNotNull:pX,like:Qy,lt:Uy,lte:S6,ne:iU,not:Hy,notBetween:Vy,notExists:sU,notLike:Oy,notIlike:Ny,notInArray:Ay,or:q4,sql:N}}function Fy(){return{sql:N,asc:v0,desc:PZ}}function zy($,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 H=a5(W),U=J[H];X[H]=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,IN))G[Y].primaryKey.push(...Q.columns)}}else if(v(W,_y)){let H=a5(W.table),U=X[H],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(!(H in J))J[H]={relations:{},primaryKey:Q};J[H].relations[O]=P}}return{tables:G,tableNamesMap:X}}function f5$($){return function(X,J){return new E4($,X,J,J?.fields.reduce((G,Y)=>G&&Y.notNull,!0)??!1)}}function p5$($){return function(X,J){return new fG($,X,J)}}function Ty($,Z,X){if(v(X,E4)&&X.config)return{fields:X.config.fields,references:X.config.references};let J=Z[a5(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[a5(Y)];if(!W)throw Error(`Table "${Y[e.Symbol.Name]}" not found in schema`);let H=[];for(let U of Object.values(G.relations))if(X.relationName&&X!==U&&U.relationName===X.relationName||!X.relationName&&U.referencedTable===X.sourceTable)H.push(U);if(H.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(H[0]&&v(H[0],E4)&&H[0].config)return{fields:H[0].config.references,references:H[0].config.fields};throw Error(`There is not enough information to infer relation "${W}.${X.fieldName}"`)}function My($){return{one:f5$($),many:p5$($)}}function aU($,Z,X,J,G=(Y)=>Y){let Y={};for(let[W,H]of J.entries())if(H.isJson){let U=Z.relations[H.tsKey],A=X[W],Q=typeof A==="string"?JSON.parse(A):A;Y[H.tsKey]=v(U,E4)?Q&&aU($,$[H.relationTableTsKey],Q,H.selection,G):Q.map((O)=>aU($,$[H.relationTableTsKey],O,H.selection,G))}else{let U=G(X[W]),A=H.field,Q;if(v(A,G0))Q=A;else if(v(A,U$))Q=A.decoder;else Q=A.sql.decoder;Y[H.tsKey]=U===null?null:Q.mapFromDriverValue(U)}return Y}class cX{constructor($){this.table=$}static[L]="ColumnAliasProxyHandler";get($,Z){if(Z==="table")return this.table;return $[Z]}}class pG{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 cX(new Proxy($,this)))}),G}let X=$[Z];if(v(X,G0))return new Proxy(X,new cX(new Proxy($,this)));return X}}function tU($,Z){return new Proxy($,new pG(Z,!1))}function P9($,Z){return new Proxy($,new cX(new Proxy($.table,new pG(Z,!1))))}function yN($,Z){return new U$.Aliased(cG($.sql,Z),$.fieldAlias)}function cG($,Z){return N.join($.queryChunks.map((X)=>{if(v(X,G0))return P9(X,Z);if(v(X,U$))return cG(X,Z);if(v(X,U$.Aliased))return yN(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($,H6)?$[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 cX(new Proxy(J.table,new pG(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 bN{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 wy($,this)}}class wy{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 MN{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 bN(()=>{let H=G();return{columns:[$],foreignColumns:[H]}});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 Ry extends FZ{static[L]="SQLiteBigIntBuilder";constructor($){super($,"bigint","SQLiteBigInt")}build($){return new Ly($,this.config)}}class Ly 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(xN.decode($))}mapToDriverValue($){return Buffer.from($.toString())}}class qy extends FZ{static[L]="SQLiteBlobJsonBuilder";constructor($){super($,"json","SQLiteBlobJson")}build($){return new Ey($,this.config)}}class Ey 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(xN.decode($))}mapToDriverValue($){return Buffer.from(JSON.stringify($))}}class xy extends FZ{static[L]="SQLiteBlobBufferBuilder";constructor($){super($,"buffer","SQLiteBlobBuffer")}build($){return new Sy($,this.config)}}class Sy extends m0{static[L]="SQLiteBlobBuffer";mapFromDriverValue($){if(Buffer.isBuffer($))return $;return Buffer.from($)}getSQLType(){return"blob"}}function jy($,Z){let{name:X,config:J}=_9($,Z);if(J?.mode==="json")return new qy(X);if(J?.mode==="bigint")return new Ry(X);return new xy(X)}class ky extends FZ{static[L]="SQLiteCustomColumnBuilder";constructor($,Z,X){super($,"custom","SQLiteCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=X}build($){return new Iy($,this.config)}}class Iy 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 eU($){return(Z,X)=>{let{name:J,config:G}=_9(Z,X);return new ky(J,G,$)}}class $A 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 ZA extends m0{static[L]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class vy extends $A{static[L]="SQLiteIntegerBuilder";constructor($){super($,"number","SQLiteInteger")}build($){return new yy($,this.config)}}class yy extends ZA{static[L]="SQLiteInteger"}class by extends $A{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 gy($,this.config)}}class gy extends ZA{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 hy extends $A{static[L]="SQLiteBooleanBuilder";constructor($,Z){super($,"boolean","SQLiteBoolean");this.config.mode=Z}build($){return new my($,this.config)}}class my extends ZA{static[L]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue($){return Number($)===1}mapToDriverValue($){return $?1:0}}function a$($,Z){let{name:X,config:J}=_9($,Z);if(J?.mode==="timestamp"||J?.mode==="timestamp_ms")return new by(X,J.mode);if(J?.mode==="boolean")return new hy(X,J.mode);return new vy(X)}class fy extends FZ{static[L]="SQLiteNumericBuilder";constructor($){super($,"string","SQLiteNumeric")}build($){return new py($,this.config)}}class py extends m0{static[L]="SQLiteNumeric";mapFromDriverValue($){if(typeof $==="string")return $;return String($)}getSQLType(){return"numeric"}}class cy extends FZ{static[L]="SQLiteNumericNumberBuilder";constructor($){super($,"number","SQLiteNumericNumber")}build($){return new dy($,this.config)}}class dy extends m0{static[L]="SQLiteNumericNumber";mapFromDriverValue($){if(typeof $==="number")return $;return Number($)}mapToDriverValue=String;getSQLType(){return"numeric"}}class uy extends FZ{static[L]="SQLiteNumericBigIntBuilder";constructor($){super($,"bigint","SQLiteNumericBigInt")}build($){return new oy($,this.config)}}class oy extends m0{static[L]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function ny($,Z){let{name:X,config:J}=_9($,Z),G=J?.mode;return G==="number"?new cy(X):G==="bigint"?new uy(X):new fy(X)}class ly extends FZ{static[L]="SQLiteRealBuilder";constructor($){super($,"number","SQLiteReal")}build($){return new ry($,this.config)}}class ry extends m0{static[L]="SQLiteReal";getSQLType(){return"real"}}function iy($){return new ly($??"")}class sy extends FZ{static[L]="SQLiteTextBuilder";constructor($,Z){super($,"string","SQLiteText");this.config.enumValues=Z.enum,this.config.length=Z.length}build($){return new ay($,this.config)}}class ay 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 ty extends FZ{static[L]="SQLiteTextJsonBuilder";constructor($){super($,"json","SQLiteTextJson")}build($){return new ey($,this.config)}}class ey extends m0{static[L]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue($){return JSON.parse($)}mapToDriverValue($){return JSON.stringify($)}}function X$($,Z={}){let{name:X,config:J}=_9($,Z);if(J.mode==="json")return new ty(X);return new sy(X,J)}function $b(){return{blob:jy,customType:eU,integer:a$,numeric:ny,real:iy,text:X$}}var gN=Symbol.for("drizzle:SQLiteInlineForeignKeys");class $Z extends e{static[L]="SQLiteTable";static Symbol=Object.assign({},e.Symbol,{InlineForeignKeys:gN});[e.Symbol.Columns];[gN]=[];[e.Symbol.ExtraConfigBuilder]=void 0}function c5$($,Z,X,J,G=$){let Y=new $Z($,J,G),W=typeof Z==="function"?Z($b()):Z,H=Object.fromEntries(Object.entries(W).map(([A,Q])=>{let O=Q;O.setName(A);let P=O.build(Y);return Y[gN].push(...O.buildForeignKeys(P,Y)),[A,P]})),U=Object.assign(Y,H);if(U[e.Symbol.Columns]=H,U[e.Symbol.ExtraConfigColumns]=H,X)U[$Z.Symbol.ExtraConfigBuilder]=X;return U}var zZ=($,Z,X)=>{return c5$($,Z,X)};class Zb{constructor($,Z){this.name=$,this.value=Z}static[L]="SQLiteCheckBuilder";brand;build($){return new Xb($,this)}}class Xb{constructor($,Z){this.table=$,this.name=Z.name,this.value=Z.value}static[L]="SQLiteCheck";name;value}function Jb($,Z){return new Zb($,Z)}class hN{constructor($,Z){this.name=$,this.unique=Z}static[L]="SQLiteIndexBuilderOn";on(...$){return new Gb(this.name,$,this.unique)}}class Gb{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 Yb(this.config,$)}}class Yb{static[L]="SQLiteIndex";config;constructor($,Z){this.config={...$,table:Z}}}function ZZ($){return new hN($,!1)}function G_$($){return new hN($,!0)}function x4(...$){if($[0].columns)return new mN($[0].columns,$[0].name);return new mN($)}class mN{static[L]="SQLitePrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new Wb($,this.columns,this.name)}}class Wb{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 j6($){if(v($,$Z))return[`${$[e.Symbol.BaseName]}`];if(v($,k0))return $._.usedTables??[];if(v($,U$))return $.usedTables??[];return[]}class XA 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=D6($),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:j6(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 d5$($){return($.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((X)=>X.toLowerCase()).join("_")}function u5$($){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 o5$($){return $}class fN{static[L]="CasingCache";cache={};cachedTables={};convert;constructor($){this.convert=$==="snake_case"?d5$:$==="camelCase"?u5$:o5$}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 dX extends Error{static[L]="DrizzleError";constructor({message:$,cause:Z}){super($);this.name="DrizzleError",this.cause=Z}}class R1 extends Error{constructor($,Z,X){super(`Failed query: ${$}
|
|
33
|
-
params: ${Z}`);if(this.query=$,this.params=Z,this.cause=X,Error.captureStackTrace(this,R1),X)this.cause=X}}class pN extends dX{static[L]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function Hb($){return N`count(${$||N.raw("*")})`.mapWith(Number)}class t5 extends H6{static[L]="SQLiteViewBase"}class uX{static[L]="SQLiteDialect";casing;constructor($){this.casing=new fN($?.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),H=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}${H}${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 H=X[Y],U=H.onUpdateFn?.(),A=Z[Y]??(v(U,U$)?U:N.param(U,H)),Q=N`${N.identifier(this.casing.getColumnCasing(H))} = ${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:H,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,T=X?N` where ${X}`:void 0,M=this.buildOrderBy(U),S=this.buildLimit(H);return N`${A}update ${$} set ${Q}${O}${P}${T}${_}${M}${S}`}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 H=v(G,U$.Aliased)?G.sql:G;if(Z)W.push(new U$(H.queryChunks.map((U)=>{if(v(U,G0))return N.identifier(this.casing.getColumnCasing(U));return U})));else W.push(H);if(v(G,U$.Aliased))W.push(N` as ${N.identifier(G.fieldAlias)}`)}else if(v(G,G0)){let H=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(H)}.${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(H)}.${N.identifier(this.casing.getColumnCasing(G))}`)}else if(v(G,k0)){let H=Object.entries(G._.selectedFields);if(H.length===1){let U=H[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],H=G[$Z.Symbol.Schema],U=G[$Z.Symbol.OriginalName],A=W===U?void 0:J.alias;Z.push(N`${N.raw(J.joinType)} join ${H?N`${N.identifier(H)}.`: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:H,groupBy:U,limit:A,offset:Q,distinct:O,setOperators:P}){let _=X??D6(Z);for(let l of _)if(v(l.field,G0)&&R4(l.field.table)!==(v(Y,k0)?Y._.alias:v(Y,t5)?Y[I0].name:v(Y,U$)?void 0:R4(Y))&&!((Q$)=>W?.some(({alias:z$})=>z$===(Q$[e.Symbol.IsAlias]?R4(Q$):Q$[e.Symbol.BaseName])))(l.field.table)){let Q$=R4(l.field.table);throw Error(`Your "${l.path.join("->")}" field references a column "${Q$}"."${l.field.name}", but the table "${Q$}" is not part of the query! Did you forget to join it?`)}let T=!W||W.length===0,M=this.buildWithCTE($),S=O?N` distinct`:void 0,K$=this.buildSelection(_,{isSingleTable:T}),r=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[l,Q$]of U.entries())if(A$.push(Q$),l<U.length-1)A$.push(N`, `)}let m$=A$.length>0?N` group by ${N.join(A$)}`:void 0,v$=this.buildOrderBy(H),A0=this.buildLimit(A),i=Q?N` offset ${Q}`:void 0,$$=N`${M}select${S} ${K$} from ${r}${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 H=N`${$.getSQL()} `,U=N`${J.getSQL()}`,A;if(Y&&Y.length>0){let _=[];for(let T of Y)if(v(T,m0))_.push(N.identifier(T.name));else if(v(T,U$)){for(let M=0;M<T.queryChunks.length;M++){let S=T.queryChunks[M];if(v(S,m0))T.queryChunks[M]=N.identifier(this.casing.getColumnCasing(S))}_.push(N`${T}`)}else _.push(N`${T}`);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`${H}${O}${U}${A}${Q}${P}`}buildInsertQuery({table:$,values:Z,onConflict:X,returning:J,withList:G,select:Y}){let W=[],H=$[e.Symbol.Columns],U=Object.entries(H).filter(([T,M])=>!M.shouldDisableInsert()),A=U.map(([,T])=>N.identifier(this.casing.getColumnCasing(T)));if(Y){let T=Z;if(v(T,U$))W.push(T);else W.push(T.getSQL())}else{let T=Z;W.push(N.raw("values "));for(let[M,S]of T.entries()){let K$=[];for(let[r,J$]of U){let B$=S[r];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$),M<T.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:H,joinOn:U}){let A=[],Q,O,P=[],_,T=[];if(Y===!0)A=Object.entries(G.columns).map(([K$,r])=>({dbKey:r.name,tsKey:K$,field:P9(r,W),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let S=Object.fromEntries(Object.entries(G.columns).map(([A$,m$])=>[A$,P9(m$,W)]));if(Y.where){let A$=typeof Y.where==="function"?Y.where(S,Py()):Y.where;_=A$&&cG(A$,W)}let K$=[],r=[];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;r.push(m$)}}if(r.length>0)r=A$?r.filter((m$)=>Y.columns?.[m$]===!0):Object.keys(G.columns).filter((m$)=>!r.includes(m$))}else r=Object.keys(G.columns);for(let A$ of r){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(S,{sql:N}):Y.extras;for(let[A$,m$]of Object.entries(B$))K$.push({tsKey:A$,value:yN(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)?P9(m$,W):m$,relationTableTsKey:void 0,isJson:!1,selection:[]});let h$=typeof Y.orderBy==="function"?Y.orderBy(S,Fy()):Y.orderBy??[];if(!Array.isArray(h$))h$=[h$];P=h$.map((A$)=>{if(v(A$,G0))return P9(A$,W);return cG(A$,W)}),Q=Y.limit,O=Y.offset;for(let{tsKey:A$,queryConfig:m$,relation:v$}of J$){let A0=Ty(Z,X,v$),i=a5(v$.referencedTable),$$=X[i],l=`${W}_${A$}`,Q$=F$(...A0.fields.map((Z$,Q0)=>p(P9(A0.references[Q0],l),P9(Z$,W)))),z$=this.buildRelationalQuery({fullSchema:$,schema:Z,tableNamesMap:X,table:$[$$],tableConfig:Z[$$],queryConfig:v(v$,E4)?m$===!0?{limit:1}:{...m$,limit:1}:m$,tableAlias:l,joinOn:Q$,nestedQueryRelation:v$}),q$=N`(${z$.sql})`.as(A$);A.push({dbKey:A$,tsKey:A$,field:q$,relationTableTsKey:$$,isJson:!0,selection:z$.selection})}}if(A.length===0)throw new dX({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 M;if(_=F$(U,_),H){let S=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(H,fG))S=N`coalesce(json_group_array(${S}), json_array())`;let K$=[{dbKey:"data",tsKey:"data",field:S.as("data"),isJson:!0,relationTableTsKey:G.tsName,selection:A}];if(Q!==void 0||O!==void 0||P.length>0)M=this.buildSelectQuery({table:tU(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 M=tU(J,W);M=this.buildSelectQuery({table:v(M,$Z)?M:new k0(M,{},W),fields:{},fieldsFlat:K$.map(({field:J$})=>({path:[],field:v(J$,G0)?P9(J$,W):J$})),joins:T,where:_,limit:Q,offset:O,orderBy:P,setOperators:[]})}else M=this.buildSelectQuery({table:tU(J,W),fields:{},fieldsFlat:A.map(({field:S})=>({path:[],field:v(S,G0)?P9(S,W):S})),joins:T,where:_,limit:Q,offset:O,orderBy:P,setOperators:[]});return{tableTsKey:G.tsName,sql:M,selection:A}}}class cN extends uX{static[L]="SQLiteSyncDialect";migrate($,Z,X){let J=X===void 0?"__drizzle_migrations":typeof X==="string"?"__drizzle_migrations":X.migrationsTable??"__drizzle_migrations",G=N`
|
|
32
|
+
${A}`,J}},Y=$.spanOptions&&"captureStackTrace"in $.spanOptions?$.spanOptions:{captureStackTrace:G,...$.spanOptions};return Pv(Z,$.spanName,Y)}var C6$=t7,R6$=()=>($)=>$,L6$=()=>($)=>$,q6$=()=>($)=>$;var Q9={};T8(Q9,{unsafeSet:()=>yU,unsafeHas:()=>bU,unsafeGet:()=>Rv,size:()=>m6$,set:()=>I6$,runtimePromise:()=>Lv,runtime:()=>AN,run:()=>h6$,remove:()=>b6$,makeRuntimePromise:()=>j6$,makeRuntime:()=>S6$,make:()=>UN,join:()=>f6$,isFiberMap:()=>DN,has:()=>y6$,get:()=>v6$,clear:()=>g6$,awaitEmpty:()=>p6$,TypeId:()=>vU});var xG=wX;var zv=L6;var Tv=$B;var vU=Symbol.for("effect/FiberMap"),DN=($)=>u($,vU),E6$={[vU]:vU,[Symbol.iterator](){if(this.state._tag==="Closed")return ZW();return this.state.backing[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},x6$=($,Z)=>{let X=Object.create(E6$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},UN=()=>CG($8(jU(),($)=>x6$(D1(),$)),($)=>F1((Z)=>{let X=$.state;if(X._tag==="Closed")return z1;return $.state={_tag:"Closed"},ZG(Wz(X.backing,([,J])=>J),V8(Z.id(),bX)).pipe(RG($.deferred))})),S6$=()=>l5(UN(),($)=>AN($)()),j6$=()=>l5(UN(),($)=>Lv($)()),Cv=-1,bX=gW(Cv,0),k6$=i2(void 0,{emptyCase:JZ,failCase:JZ,dieCase:JZ,interruptCase:($,Z)=>b7(d1(Z),Cv),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),yU=V(($)=>DN($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(V8(J?.interruptAs??d0,bX));return}let G=N0($.state.backing,Z);if(G._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(V8(J?.interruptAs??d0,bX));return}else if(G.value===X)return;G.value.unsafeInterruptAsFork(V8(J?.interruptAs??d0,bX))}hZ($.state.backing,Z,X),X.addObserver((Y)=>{if($.state._tag==="Closed")return;let W=N0($.state.backing,Z);if(p$(W)&&X===W.value)U1($.state.backing,Z);if(P2(Y)&&(J?.propagateInterruption===!0?!k6$(Y.cause):!r2(Y.cause)))kU($.deferred,Y)})}),I6$=V(($)=>DN($[0]),($,Z,X,J)=>yX((G)=>V9(()=>yU($,Z,X,{...J,interruptAs:G})))),Rv=V(2,($,Z)=>$.state._tag==="Closed"?x():N0($.state.backing,Z)),v6$=V(2,($,Z)=>GN(()=>Rv($,Z))),bU=V(2,($,Z)=>$.state._tag==="Closed"?!1:k8($.state.backing,Z)),y6$=V(2,($,Z)=>V9(()=>bU($,Z))),b6$=V(2,($,Z)=>F1((X)=>{if($.state._tag==="Closed")return z1;let J=N0($.state.backing,Z);if(J._tag==="None")return z1;return z4(J.value,V8(X.id(),bX))})),g6$=($)=>F1((Z)=>{if($.state._tag==="Closed")return z1;return wG($.state.backing,([,X])=>z4(X,V8(Z.id(),bX)))}),HN=function(){let $=void 0;return()=>{if($===void 0)$=EG(vX);return $}}(),h6$=function(){let $=arguments[0];if(MG(arguments[2]))return wv($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>wv($,Z,J,X)},wv=($,Z,X,J)=>F1((G)=>{if($.state._tag==="Closed")return vX;else if(J?.onlyIfMissing===!0&&bU($,Z))return V9(HN);let Y=Tv({context:G.currentContext,fiberRefs:G.getFiberRefs(),runtimeFlags:zv.runtimeFlags}),W=xG(Y)(X);return yU($,Z,W,{...J,interruptAs:G.id()}),XN(W)}),AN=($)=>()=>$8(qG(),(Z)=>{let X=xG(Z);return(J,G,Y)=>{if($.state._tag==="Closed")return HN();else if(Y?.onlyIfMissing===!0&&bU($,J))return HN();let W=X(G,Y);return yU($,J,W,Y),W}}),Lv=($)=>()=>$8(AN($)(),(Z)=>(X,J,G)=>new Promise((Y,W)=>Z(X,J,G).addObserver((H)=>{if(A4(H))Y(H.value);else W(l2(H.cause))}))),m6$=($)=>V9(()=>$.state._tag==="Closed"?0:y5($.state.backing)),f6$=($)=>P1($.deferred),p6$=($)=>LG({while:()=>$.state._tag==="Open"&&y5($.state.backing)>0,body:()=>$G($W($)[1]),step:TZ});var i5={};T8(i5,{unsafeAdd:()=>hU,size:()=>s6$,runtimePromise:()=>Sv,runtime:()=>ON,run:()=>i6$,makeRuntimePromise:()=>o6$,makeRuntime:()=>u6$,make:()=>VN,join:()=>a6$,isFiberSet:()=>KN,clear:()=>l6$,awaitEmpty:()=>t6$,add:()=>r6$,TypeId:()=>gU});var gU=Symbol.for("effect/FiberSet"),KN=($)=>u($,gU),c6$={[gU]:gU,[Symbol.iterator](){if(this.state._tag==="Closed")return ZW();return this.state.backing[Symbol.iterator]()},toString(){return k$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[C$](){return this.toJSON()},pipe(){return n(this,arguments)}},d6$=($,Z)=>{let X=Object.create(c6$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},VN=()=>CG($8(jU(),($)=>d6$(new Set,$)),($)=>F1((Z)=>{let X=$.state;if(X._tag==="Closed")return z1;$.state={_tag:"Closed"};let J=X.backing;return ZG(J,V8(Z.id(),QN)).pipe(RG($.deferred))})),u6$=()=>l5(VN(),($)=>ON($)()),o6$=()=>l5(VN(),($)=>Sv($)()),Ev=-1,QN=gW(Ev,0),n6$=i2(void 0,{emptyCase:JZ,failCase:JZ,dieCase:JZ,interruptCase:($,Z)=>b7(d1(Z),Ev),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),hU=V(($)=>KN($[0]),($,Z,X)=>{if($.state._tag==="Closed"){Z.unsafeInterruptAsFork(V8(X?.interruptAs??d0,QN));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),P2(J)&&(X?.propagateInterruption===!0?!n6$(J.cause):!r2(J.cause)))kU($.deferred,J)})}),r6$=V(($)=>KN($[0]),($,Z,X)=>yX((J)=>V9(()=>hU($,Z,{...X,interruptAs:J})))),l6$=($)=>F1((Z)=>{if($.state._tag==="Closed")return z1;return wG($.state.backing,(X)=>z4(X,V8(Z.id(),QN)))}),xv=function(){let $=void 0;return()=>{if($===void 0)$=EG(vX);return $}}(),i6$=function(){let $=arguments[0];if(!MG(arguments[1])){let Z=arguments[1];return(X)=>qv($,X,Z)}return qv($,arguments[1],arguments[2])},qv=($,Z,X)=>yX((J)=>{if($.state._tag==="Closed")return V9(xv);return WN(YN(Z),(G)=>hU($,G,{...X,interruptAs:J}))}),ON=($)=>()=>$8(qG(),(Z)=>{let X=xG(Z);return(J,G)=>{if($.state._tag==="Closed")return xv();let Y=X(J,G);return hU($,Y),Y}}),Sv=($)=>()=>$8(ON($)(),(Z)=>(X,J)=>new Promise((G,Y)=>Z(X,J).addObserver((W)=>{if(A4(W))G(W.value);else Y(l2(W.cause))}))),s6$=($)=>V9(()=>$.state._tag==="Closed"?0:$.state.backing.size),a6$=($)=>P1($.deferred),t6$=($)=>LG({while:()=>$.state._tag==="Open"&&$.state.backing.size>0,body:()=>$G($W($)),step:TZ});var SG={};T8(SG,{zipWith:()=>W1$,withSpan:()=>w1$,withParentSpan:()=>C1$,updateService:()=>q1$,unwrapScoped:()=>D1$,unwrapEffect:()=>H1$,toRuntimeWithMemoMap:()=>G1$,toRuntime:()=>J1$,tapErrorCause:()=>X1$,tapError:()=>Z1$,tap:()=>$1$,syncContext:()=>e9$,sync:()=>t9$,suspend:()=>a9$,succeedContext:()=>s9$,succeed:()=>i9$,span:()=>_1$,setVersionMismatchErrorLogLevel:()=>M1$,setUnhandledErrorLogLevel:()=>T1$,setTracerTiming:()=>z1$,setTracerEnabled:()=>F1$,setTracer:()=>P1$,setScheduler:()=>N1$,setRequestCaching:()=>O1$,setRequestCache:()=>B1$,setRequestBatching:()=>Q1$,setRandom:()=>V1$,setConfigProvider:()=>A1$,setClock:()=>U1$,service:()=>l9$,scopedDiscard:()=>x6,scopedContext:()=>r9$,scoped:()=>n9$,scope:()=>o9$,retry:()=>u9$,provideMerge:()=>Y1$,provide:()=>gv,project:()=>h9$,passthrough:()=>g9$,parentSpan:()=>K1$,orElse:()=>b9$,orDie:()=>y9$,mock:()=>L9$,mergeAll:()=>v9$,merge:()=>I9$,memoize:()=>k9$,matchCause:()=>j9$,match:()=>S9$,mapError:()=>x9$,map:()=>bv,makeMemoMap:()=>R1$,locallyWith:()=>p9$,locallyScoped:()=>c9$,locallyEffect:()=>m9$,locally:()=>f9$,launch:()=>E9$,isLayer:()=>J9$,isFresh:()=>G9$,function:()=>q9$,fresh:()=>R9$,flatten:()=>C9$,flatMap:()=>w9$,fiberRefLocallyScopedWith:()=>d9$,failSync:()=>z9$,failCauseSync:()=>M9$,failCause:()=>T9$,fail:()=>F9$,extendScope:()=>P9$,ensureSuccessType:()=>E1$,ensureRequirementsType:()=>S1$,ensureErrorType:()=>x1$,empty:()=>_9$,effectDiscard:()=>B9$,effectContext:()=>N9$,effect:()=>O9$,discard:()=>Q9$,dieSync:()=>V9$,die:()=>K9$,context:()=>yv,catchAllCause:()=>A9$,catchAll:()=>U9$,buildWithScope:()=>D9$,buildWithMemoMap:()=>L1$,build:()=>H9$,annotateSpans:()=>W9$,annotateLogs:()=>Y9$,MemoMapTypeId:()=>Z9$,LayerTypeId:()=>$9$,CurrentMemoMap:()=>X9$});var jv=($)=>c5(hD($)),kv=($)=>N1(U8(gZ,$)),Iv=($,Z)=>{return Z=j8(Z),w4(gZ,Z?.onEnd?IZ(Z6($,Z),(X)=>Y9((J)=>Z.onEnd(X,J))):Z6($,Z))},vv=($)=>c5(cD($));var $9$=ZU,Z9$=JG,X9$=XB,J9$=YG,G9$=JB,Y9$=sj,W9$=aj,H9$=Fj,D9$=T4,U9$=p5,A9$=WB,yv=JU,K9$=HB,V9$=Tj,Q9$=Mj,O9$=M4,B9$=Rj,N9$=fZ,_9$=cj,P9$=wj,F9$=DB,z9$=UB,T9$=WG,M9$=GU,w9$=A9,C9$=Cj,R9$=AB,L9$=jj,q9$=xj;var E9$=Sj,bv=HU,x9$=kj,S9$=UU,j9$=DU,k9$=Ij,I9$=KB,v9$=AU,y9$=vj,b9$=yj,g9$=bj,h9$=gj,m9$=YU,f9$=Lj,p9$=WU,c9$=qj,d9$=Ej,u9$=hj,o9$=fj,n9$=w4,x6=c5,r9$=HG,l9$=pj,i9$=RX,s9$=N1,a9$=DG,t9$=KU,e9$=dj,$1$=uj,Z1$=oj,X1$=nj,J1$=rj,G1$=lj,gv=d5,Y1$=ij,W1$=VB,H1$=QB,D1$=GG,U1$=($)=>x6(LZ(M0,e$(tZ,$))),A1$=jv,K1$=kv,V1$=($)=>x6(LZ(M0,e$(X1,$))),Q1$=($)=>x6(mZ(H2,$)),O1$=($)=>x6(mZ(TG,$)),B1$=($)=>x6(c$($)?z($,(Z)=>mZ(IX,Z)):mZ(IX,$)),N1$=($)=>x6(mZ(e9,$)),_1$=Iv,P1$=vv,F1$=($)=>x6(mZ(U2,$)),z1$=($)=>x6(mZ(Y4,$)),T1$=($)=>x6(mZ(D2,$)),M1$=($)=>x6(mZ(zH,$)),w1$=tj,C1$=$U,R1$=YB,L1$=XU,q1$=V(3,($,Z,X)=>gv($,bv(yv(),(J)=>e$(J,Z,X(u8(J,Z)))))),E1$=()=>($)=>$,x1$=()=>($)=>$,S1$=()=>($)=>$;var O9={};T8(O9,{zipWith:()=>M5$,zipRight:()=>T5$,zipLeft:()=>z5$,windowed:()=>F5$,whileOutputEffect:()=>P5$,whileOutput:()=>_5$,whileInputEffect:()=>N5$,whileInput:()=>B5$,upTo:()=>O5$,untilOutputEffect:()=>Q5$,untilOutput:()=>V5$,untilInputEffect:()=>K5$,untilInput:()=>A5$,unionWith:()=>U5$,union:()=>D5$,unfold:()=>H5$,tapOutput:()=>W5$,tapInput:()=>Y5$,sync:()=>G5$,succeed:()=>J5$,stop:()=>X5$,spaced:()=>Z5$,secondOfMinute:()=>X4$,run:()=>$5$,resetWhen:()=>e4$,resetAfter:()=>t4$,repetitions:()=>a4$,repeatForever:()=>s4$,reduceEffect:()=>i4$,reduce:()=>l4$,recurs:()=>r4$,recurWhileEffect:()=>n4$,recurWhile:()=>o4$,recurUpTo:()=>u4$,recurUntilOption:()=>d4$,recurUntilEffect:()=>c4$,recurUntil:()=>p4$,provideService:()=>f4$,provideContext:()=>m4$,passthrough:()=>q4$,once:()=>h4$,onDecision:()=>g4$,modifyDelayEffect:()=>b4$,modifyDelay:()=>y4$,minuteOfHour:()=>J4$,mapInputEffect:()=>t1$,mapInputContext:()=>e1$,mapInput:()=>a1$,mapEffect:()=>v4$,mapBothEffect:()=>V4$,mapBoth:()=>K4$,map:()=>I4$,makeWithState:()=>I1$,linear:()=>k4$,jitteredWith:()=>j4$,jittered:()=>S4$,isSchedule:()=>v1$,intersectWith:()=>x4$,intersect:()=>E4$,identity:()=>L4$,hourOfDay:()=>G4$,fromFunction:()=>R4$,fromDelays:()=>C4$,fromDelay:()=>w4$,forever:()=>M4$,fixed:()=>T4$,fibonacci:()=>z4$,exponential:()=>F4$,ensuring:()=>P4$,elapsed:()=>_4$,eitherWith:()=>N4$,either:()=>B4$,duration:()=>O4$,driver:()=>Q4$,delays:()=>A4$,delayedSchedule:()=>U4$,delayedEffect:()=>D4$,delayed:()=>H4$,dayOfWeek:()=>W4$,dayOfMonth:()=>Y4$,cron:()=>Z4$,count:()=>$4$,compose:()=>s1$,collectWhileEffect:()=>i1$,collectWhile:()=>l1$,collectUntilEffect:()=>r1$,collectUntil:()=>n1$,collectAllOutputs:()=>o1$,collectAllInputs:()=>u1$,checkEffect:()=>d1$,check:()=>c1$,bothInOut:()=>p1$,asVoid:()=>f1$,as:()=>m1$,andThenEither:()=>h1$,andThen:()=>g1$,addDelayEffect:()=>b1$,addDelay:()=>y1$,ScheduleTypeId:()=>j1$,ScheduleDriverTypeId:()=>k1$,CurrentIterationMetadata:()=>w5$});var j1$=PU,k1$=wB,I1$=n$,v1$=FU,y1$=zU,b1$=CB,g1$=jk,h1$=RB,m1$=kk,f1$=TU,p1$=Ik,c1$=SX,d1$=n5,u1$=vk,o1$=r5,n1$=yk,r1$=bk,l1$=gk,i1$=hk,s1$=mk,a1$=LB,t1$=MU,e1$=fk,$4$=mI,Z4$=pk,X4$=NI,J4$=WI,G4$=JI,Y4$=ck,W4$=dk,H4$=uk,D4$=wU,U4$=OG,A4$=ok,K4$=nk,V4$=rk,Q4$=BG,O4$=qB,B4$=lk,N4$=ik,_4$=xU,P4$=sk,F4$=ak,z4$=tk,T4$=ek,M4$=E6,w4$=$I,C4$=ZI,R4$=XI,L4$=_1,q4$=SB,E4$=C4,x4$=EB,S4$=GI,j4$=xB,k4$=YI,I4$=_Z,v4$=CU,y4$=HI,b4$=NG,g4$=DI,h4$=SU,m4$=UI,f4$=AI,p4$=jB,c4$=kB,d4$=KI,u4$=IB,o4$=vB,n4$=yB,r4$=jX,l4$=RU,i4$=bB,s4$=E6,a4$=VI,t4$=QI,e4$=gB,$5$=OI,Z5$=_I,X5$=fI,J5$=PI,G5$=FI,Y5$=zI,W5$=TI,H5$=_G,D5$=hB,U5$=LU,A5$=mB,K5$=PG,V5$=fB,Q5$=MI,O5$=wI,B5$=pB,N5$=FG,_5$=qU,P5$=CI,F5$=RI,z5$=cB,T5$=LI,M5$=qI,w5$=o5;function YO$($,Z){return SG.scoped($,t.acquireRelease(t.sync(Z),(X)=>t.sync(()=>{X.close()})).pipe(t.map((X)=>X.service)))}var jG=D.record(D.string(),D.unknown());var C5$=D.object({id:D.string(),sessionId:D.string(),interfaceType:D.string(),channelId:D.string(),personId:D.string().optional(),channelName:D.string().optional(),startedAt:D.string(),lastActiveAt:D.string(),createdAt:D.string(),updatedAt:D.string(),metadata:jG}),R5$=D.object({id:D.string(),conversationId:D.string(),role:gX,content:D.string(),timestamp:D.string(),metadata:jG});var BN=D.object({name:D.string(),role:D.string(),purpose:D.string(),values:D.array(D.string())}),NN=D.object({name:D.string(),organization:D.string().optional(),description:D.string().optional(),avatar:D.string().optional(),website:D.string().optional(),email:D.string().optional(),socialLinks:D.array(D.object({platform:D.enum(["github","instagram","linkedin","email","website"]),url:D.string(),label:D.string().optional()})).optional()});var hX=L5$(q5$(),1);function T1($,Z){let X=Object.fromEntries(Object.entries(Z).filter(([,J])=>J!==void 0&&J!==null));if(Object.keys(X).length===0)return $;return hX.default.stringify($,X)}function _N($){if($ instanceof Date)return $.toISOString();if(Array.isArray($))return $.map(_N);if($!==null&&typeof $==="object"){let Z={};for(let[X,J]of Object.entries($))Z[X]=_N(J);return Z}return $}function pZ($,Z){let{content:X,data:J}=hX.default($),G=_N(J);return{content:X.trim(),metadata:Z.parse(G)}}function kG($){if(Object.keys($).length===0)return"";let X=hX.default.stringify("",$).match(/^---\n[\s\S]*?\n---/);return X?X[0]:""}function hv($){if(typeof $!=="object"||$===null||Array.isArray($))return $;let{visibility:Z,...X}=$;return X}var E5$=D.object({visibility:D.enum(["public","shared","restricted","private"]).optional().transform(($)=>{if($===void 0)return;return $==="private"?"restricted":$})});function mU($){let Z=hX.default($);return E5$.parse(Z.data).visibility}function mv($){let X=$.match(/^---\r?\n[\s\S]*?\r?\n---/)?.[0].match(/^visibility:/m);return X!==null&&X!==void 0}function s5($,Z){if(Z==="public"&&!mv($))return $;let X=hX.default($),J=Object.fromEntries(Object.entries(X.data).filter(([G])=>G!=="visibility"));if(Z!=="public")J.visibility=Z;return T1(X.content.trim(),J)}var x5$=D.looseObject({issues:D.array(D.looseObject({message:D.string()}))});class M1 extends Error{entityType;originalError;constructor($,Z){super(`Invalid entity data for ${$}: ${r$(Z)}`);this.name="EntityValidationError",this.entityType=$,this.originalError=Z}}function fU($){return x5$.safeParse($).success}function fv($){return $ instanceof M1||fU($)}function pU($,Z){if(Z instanceof M1)return Z;return fU(Z)?new M1($,Z):void 0}var S5$={generateBodyTemplate:()=>""},PN=D.record(D.string(),D.unknown());function pv($){return{parse:(Z)=>$.parse(hv(Z))}}class B9{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??S5$,$.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 pZ($,PN).metadata}catch{return{}}}extractMetadata($){return $.metadata}parseFrontMatter($,Z){try{return pZ($,pv(Z)).metadata}catch(X){throw new M1(this.entityType,X)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter($){return kG(PN.parse($.metadata))}extractBody($){try{return pZ($,PN).content}catch{return $}}parseFrontmatter($){try{return pZ($,pv(this.fmSchema)).metadata}catch(Z){throw new M1(this.entityType,Z)}}buildMarkdown($,Z){return T1($,Z)}}var FN=D.enum(["public","shared","restricted"]),N9=D.union([FN,D.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $});function cU($){return N9.parse($)}var j5$={public:["public"],shared:["public","shared"],restricted:["public","shared","restricted"]};function w1($){return j5$[$]}function dU($,Z){return w1(Z).includes($??"public")}function mX($){if($==="admin")return"restricted";if($==="trusted")return"shared";return"public"}function zN($,Z){return dU(Z,mX($))}var W6=D.object({id:D.string(),entityType:D.string(),content:D.string(),created:D.string().datetime(),updated:D.string().datetime(),visibility:N9,metadata:D.record(D.string(),D.unknown()),contentHash:D.string()}),k5$=D.enum(["public","shared","restricted"]),cv=D.object({id:D.string(),entityType:D.string(),content:D.string(),created:D.string().datetime(),updated:D.string().datetime(),visibility:D.union([k5$,D.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $}),metadata:D.record(D.string(),D.unknown()),contentHash:D.string()}),uU=D.object({}),I5$=D.object({mediaType:D.string(),url:D.string(),downloadUrl:D.string().optional(),previewUrl:D.string().optional(),filename:D.string().optional(),sizeBytes:D.number().optional(),source:D.object({entityType:D.string().optional(),entityId:D.string().optional(),attachmentType:D.string().optional()}).optional()});class TN extends B9{constructor(){super({entityType:"note",purpose:"A generic entity with no specialized adapter.",schema:W6,frontmatterSchema:uU})}toMarkdown($){return $.content}fromMarkdown($){return{content:$}}}import{createClient as Bb}from"@libsql/client";import{createClient as $_}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 MN{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 dv($,...Z){return $(...Z)}function uv($,Z){return`${$[b8]}_${Z.join("_")}_unique`}class IG extends G0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=uv($,[Z.name]);super($,Z);this.table=$}static[L]="PgColumn"}class v5$ extends IG{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 y5$ extends IG{static[L]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}var ov=Symbol.for("drizzle:isPgEnum");function nv($){return!!$&&typeof $==="function"&&ov in $&&$[ov]===!0}class b5$ extends IG{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 vG extends k0{static[L]="WithSubquery"}var rv="0.45.2";var wN,CN,lv={startActiveSpan($,Z){if(!wN)return Z();if(!CN)CN=wN.trace.getTracer("drizzle-orm",rv);return dv((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()}}),wN,CN)}};var I0=Symbol.for("drizzle:ViewBaseConfig");var oU=Symbol.for("drizzle:Schema"),nU=Symbol.for("drizzle:Columns"),iv=Symbol.for("drizzle:ExtraConfigColumns"),RN=Symbol.for("drizzle:OriginalName"),LN=Symbol.for("drizzle:BaseName"),yG=Symbol.for("drizzle:IsAlias"),sv=Symbol.for("drizzle:ExtraConfigBuilder"),g5$=Symbol.for("drizzle:IsDrizzleTable");class e{static[L]="Table";static Symbol={Name:b8,Schema:oU,OriginalName:RN,Columns:nU,ExtraConfigColumns:iv,BaseName:LN,IsAlias:yG,ExtraConfigBuilder:sv};[b8];[RN];[oU];[nU];[iv];[LN];[yG]=!1;[g5$]=!0;[sv]=void 0;constructor($,Z,X){this[b8]=this[RN]=$,this[oU]=Z,this[LN]=X}}function R4($){return $[b8]}function a5($){return`${$[oU]??"public"}.${$[b8]}`}function qN($){return $!==null&&$!==void 0&&typeof $.getSQL==="function"}function h5$($){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=tv;shouldInlineParams=!1;usedTables=[];append($){return this.queryChunks.push(...$.queryChunks),this}toQuery($){return lv.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:H,paramStartIndex:U}=X;return h5$($.map((A)=>{if(v(A,AZ))return{sql:A.value.join(""),params:[]};if(v(A,rU))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:H||A.shouldInlineParams});if(v(A,e)){let Q=A[e.Symbol.Schema],O=A[e.Symbol.Name];return{sql:Q===void 0||A[yG]?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[yG]||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,H6)){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,L4))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(H)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,L4))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 rU(A._.alias)],X)}if(nv(A)){if(A.schema)return{sql:G(A.schema)+"."+G(A.enumName),params:[]};return{sql:G(A.enumName),params:[]}}if(qN(A)){if(A.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([A.getSQL()],X);return this.buildQueryFromSourceParams([new AZ("("),A.getSQL(),new AZ(")")],X)}if(H)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 rU{constructor($){this.value=$}static[L]="Name";brand;getSQL(){return new U$([this])}}function av($){return typeof $==="object"&&$!==null&&"mapToDriverValue"in $&&typeof $.mapToDriverValue==="function"}var tv={mapFromDriverValue:($)=>$},ev={mapToDriverValue:($)=>$},_B$={...tv,...ev};class g8{constructor($,Z=ev){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 rU(U)}$.identifier=Y;function W(U){return new L4(U)}$.placeholder=W;function H(U,A){return new g8(U,A)}$.param=H})(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 L4{constructor($){this.name=$}static[L]="Placeholder";getSQL(){return new U$([this])}}function bG($,Z){return $.map((X)=>{if(v(X,L4)){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,L4)){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 m5$=Symbol.for("drizzle:IsDrizzleView");class H6{static[L]="View";[I0];[m5$]=!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 EN($,Z,X){let J={},G=$.reduce((Y,{path:W,field:H},U)=>{let A;if(v(H,G0))A=H;else if(v(H,U$))A=H.decoder;else if(v(H,k0))A=H._.sql.decoder;else A=H.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],T=Q[P]=_===null?null:A.mapFromDriverValue(_);if(X&&v(H,G0)&&W.length===2){let M=W[0];if(!(M in J))J[M]=T===null?R4(H.table):!1;else if(typeof J[M]==="string"&&J[M]!==R4(H.table))J[M]=!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 D6($,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(...D6(G[e.Symbol.Columns],Y));else X.push(...D6(G,Y));return X},[])}function gG($,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 lU($,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 Zy($){return $[e.Symbol.Columns]}function hG($){return v($,k0)?$._.alias:v($,H6)?$[I0].name:v($,U$)?void 0:$[e.Symbol.IsAlias]?$[e.Symbol.Name]:$[e.Symbol.BaseName]}function _9($,Z){return{name:typeof $==="string"&&$.length>0?$:"",config:typeof $==="object"?$:Z}}function Xy($){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 xN=typeof TextDecoder>"u"?null:new TextDecoder;class Jy{static[L]="ConsoleLogWriter";write($){console.log($)}}class SN{static[L]="DefaultLogger";writer;constructor($){this.writer=$?.writer??new Jy}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 jN{static[L]="NoopLogger";logQuery(){}}var Gy=Symbol.for("drizzle:PgInlineForeignKeys"),Yy=Symbol.for("drizzle:EnableRLS");class kN extends e{static[L]="PgTable";static Symbol=Object.assign({},e.Symbol,{InlineForeignKeys:Gy,EnableRLS:Yy});[Gy]=[];[Yy]=!1;[e.Symbol.ExtraConfigBuilder]=void 0;[e.Symbol.ExtraConfigColumns]={}}class IN{static[L]="PgPrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new Wy($,this.columns,this.name)}}class Wy{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[kN.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function P8($,Z){if(av(Z)&&!qN($)&&!v($,g8)&&!v($,L4)&&!v($,G0)&&!v($,e)&&!v($,H6))return new g8($,Z);return $}var p=($,Z)=>{return N`${$} = ${P8(Z,$)}`},iU=($,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 q4(...$){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 Hy($){return N`not ${$}`}var fX=($,Z)=>{return N`${$} > ${P8(Z,$)}`},Dy=($,Z)=>{return N`${$} >= ${P8(Z,$)}`},Uy=($,Z)=>{return N`${$} < ${P8(Z,$)}`},S6=($,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 Ay($,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 C1($){return N`${$} is null`}function pX($){return N`${$} is not null`}function mG($){return N`exists ${$}`}function sU($){return N`not exists ${$}`}function Ky($,Z,X){return N`${$} between ${P8(Z,$)} and ${P8(X,$)}`}function Vy($,Z,X){return N`${$} not between ${P8(Z,$)} and ${P8(X,$)}`}function Qy($,Z){return N`${$} like ${Z}`}function Oy($,Z){return N`${$} not like ${Z}`}function By($,Z){return N`${$} ilike ${Z}`}function Ny($,Z){return N`${$} not ilike ${Z}`}function v0($){return N`${$} asc`}function PZ($){return N`${$} desc`}class vN{constructor($,Z,X){this.sourceTable=$,this.referencedTable=Z,this.relationName=X,this.referencedTableName=Z[e.Symbol.Name]}static[L]="Relation";referencedTableName;fieldName}class _y{constructor($,Z){this.table=$,this.config=Z}static[L]="Relations"}class E4 extends vN{constructor($,Z,X,J){super($,Z,X?.relationName);this.config=X,this.isNullable=J}static[L]="One";withFieldName($){let Z=new E4(this.sourceTable,this.referencedTable,this.config,this.isNullable);return Z.fieldName=$,Z}}class fG extends vN{constructor($,Z,X){super($,Z,X?.relationName);this.config=X}static[L]="Many";withFieldName($){let Z=new fG(this.sourceTable,this.referencedTable,this.config);return Z.fieldName=$,Z}}function Py(){return{and:F$,between:Ky,eq:p,exists:mG,gt:fX,gte:Dy,ilike:By,inArray:Z8,isNull:C1,isNotNull:pX,like:Qy,lt:Uy,lte:S6,ne:iU,not:Hy,notBetween:Vy,notExists:sU,notLike:Oy,notIlike:Ny,notInArray:Ay,or:q4,sql:N}}function Fy(){return{sql:N,asc:v0,desc:PZ}}function zy($,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 H=a5(W),U=J[H];X[H]=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,IN))G[Y].primaryKey.push(...Q.columns)}}else if(v(W,_y)){let H=a5(W.table),U=X[H],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(!(H in J))J[H]={relations:{},primaryKey:Q};J[H].relations[O]=P}}return{tables:G,tableNamesMap:X}}function f5$($){return function(X,J){return new E4($,X,J,J?.fields.reduce((G,Y)=>G&&Y.notNull,!0)??!1)}}function p5$($){return function(X,J){return new fG($,X,J)}}function Ty($,Z,X){if(v(X,E4)&&X.config)return{fields:X.config.fields,references:X.config.references};let J=Z[a5(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[a5(Y)];if(!W)throw Error(`Table "${Y[e.Symbol.Name]}" not found in schema`);let H=[];for(let U of Object.values(G.relations))if(X.relationName&&X!==U&&U.relationName===X.relationName||!X.relationName&&U.referencedTable===X.sourceTable)H.push(U);if(H.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(H[0]&&v(H[0],E4)&&H[0].config)return{fields:H[0].config.references,references:H[0].config.fields};throw Error(`There is not enough information to infer relation "${W}.${X.fieldName}"`)}function My($){return{one:f5$($),many:p5$($)}}function aU($,Z,X,J,G=(Y)=>Y){let Y={};for(let[W,H]of J.entries())if(H.isJson){let U=Z.relations[H.tsKey],A=X[W],Q=typeof A==="string"?JSON.parse(A):A;Y[H.tsKey]=v(U,E4)?Q&&aU($,$[H.relationTableTsKey],Q,H.selection,G):Q.map((O)=>aU($,$[H.relationTableTsKey],O,H.selection,G))}else{let U=G(X[W]),A=H.field,Q;if(v(A,G0))Q=A;else if(v(A,U$))Q=A.decoder;else Q=A.sql.decoder;Y[H.tsKey]=U===null?null:Q.mapFromDriverValue(U)}return Y}class cX{constructor($){this.table=$}static[L]="ColumnAliasProxyHandler";get($,Z){if(Z==="table")return this.table;return $[Z]}}class pG{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 cX(new Proxy($,this)))}),G}let X=$[Z];if(v(X,G0))return new Proxy(X,new cX(new Proxy($,this)));return X}}function tU($,Z){return new Proxy($,new pG(Z,!1))}function P9($,Z){return new Proxy($,new cX(new Proxy($.table,new pG(Z,!1))))}function yN($,Z){return new U$.Aliased(cG($.sql,Z),$.fieldAlias)}function cG($,Z){return N.join($.queryChunks.map((X)=>{if(v(X,G0))return P9(X,Z);if(v(X,U$))return cG(X,Z);if(v(X,U$.Aliased))return yN(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($,H6)?$[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 cX(new Proxy(J.table,new pG(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 bN{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 wy($,this)}}class wy{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 MN{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 bN(()=>{let H=G();return{columns:[$],foreignColumns:[H]}});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 Ry extends FZ{static[L]="SQLiteBigIntBuilder";constructor($){super($,"bigint","SQLiteBigInt")}build($){return new Ly($,this.config)}}class Ly 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(xN.decode($))}mapToDriverValue($){return Buffer.from($.toString())}}class qy extends FZ{static[L]="SQLiteBlobJsonBuilder";constructor($){super($,"json","SQLiteBlobJson")}build($){return new Ey($,this.config)}}class Ey 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(xN.decode($))}mapToDriverValue($){return Buffer.from(JSON.stringify($))}}class xy extends FZ{static[L]="SQLiteBlobBufferBuilder";constructor($){super($,"buffer","SQLiteBlobBuffer")}build($){return new Sy($,this.config)}}class Sy extends m0{static[L]="SQLiteBlobBuffer";mapFromDriverValue($){if(Buffer.isBuffer($))return $;return Buffer.from($)}getSQLType(){return"blob"}}function jy($,Z){let{name:X,config:J}=_9($,Z);if(J?.mode==="json")return new qy(X);if(J?.mode==="bigint")return new Ry(X);return new xy(X)}class ky extends FZ{static[L]="SQLiteCustomColumnBuilder";constructor($,Z,X){super($,"custom","SQLiteCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=X}build($){return new Iy($,this.config)}}class Iy 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 eU($){return(Z,X)=>{let{name:J,config:G}=_9(Z,X);return new ky(J,G,$)}}class $A 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 ZA extends m0{static[L]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class vy extends $A{static[L]="SQLiteIntegerBuilder";constructor($){super($,"number","SQLiteInteger")}build($){return new yy($,this.config)}}class yy extends ZA{static[L]="SQLiteInteger"}class by extends $A{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 gy($,this.config)}}class gy extends ZA{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 hy extends $A{static[L]="SQLiteBooleanBuilder";constructor($,Z){super($,"boolean","SQLiteBoolean");this.config.mode=Z}build($){return new my($,this.config)}}class my extends ZA{static[L]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue($){return Number($)===1}mapToDriverValue($){return $?1:0}}function a$($,Z){let{name:X,config:J}=_9($,Z);if(J?.mode==="timestamp"||J?.mode==="timestamp_ms")return new by(X,J.mode);if(J?.mode==="boolean")return new hy(X,J.mode);return new vy(X)}class fy extends FZ{static[L]="SQLiteNumericBuilder";constructor($){super($,"string","SQLiteNumeric")}build($){return new py($,this.config)}}class py extends m0{static[L]="SQLiteNumeric";mapFromDriverValue($){if(typeof $==="string")return $;return String($)}getSQLType(){return"numeric"}}class cy extends FZ{static[L]="SQLiteNumericNumberBuilder";constructor($){super($,"number","SQLiteNumericNumber")}build($){return new dy($,this.config)}}class dy extends m0{static[L]="SQLiteNumericNumber";mapFromDriverValue($){if(typeof $==="number")return $;return Number($)}mapToDriverValue=String;getSQLType(){return"numeric"}}class uy extends FZ{static[L]="SQLiteNumericBigIntBuilder";constructor($){super($,"bigint","SQLiteNumericBigInt")}build($){return new oy($,this.config)}}class oy extends m0{static[L]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function ny($,Z){let{name:X,config:J}=_9($,Z),G=J?.mode;return G==="number"?new cy(X):G==="bigint"?new uy(X):new fy(X)}class ry extends FZ{static[L]="SQLiteRealBuilder";constructor($){super($,"number","SQLiteReal")}build($){return new ly($,this.config)}}class ly extends m0{static[L]="SQLiteReal";getSQLType(){return"real"}}function iy($){return new ry($??"")}class sy extends FZ{static[L]="SQLiteTextBuilder";constructor($,Z){super($,"string","SQLiteText");this.config.enumValues=Z.enum,this.config.length=Z.length}build($){return new ay($,this.config)}}class ay 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 ty extends FZ{static[L]="SQLiteTextJsonBuilder";constructor($){super($,"json","SQLiteTextJson")}build($){return new ey($,this.config)}}class ey extends m0{static[L]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue($){return JSON.parse($)}mapToDriverValue($){return JSON.stringify($)}}function X$($,Z={}){let{name:X,config:J}=_9($,Z);if(J.mode==="json")return new ty(X);return new sy(X,J)}function $b(){return{blob:jy,customType:eU,integer:a$,numeric:ny,real:iy,text:X$}}var gN=Symbol.for("drizzle:SQLiteInlineForeignKeys");class $Z extends e{static[L]="SQLiteTable";static Symbol=Object.assign({},e.Symbol,{InlineForeignKeys:gN});[e.Symbol.Columns];[gN]=[];[e.Symbol.ExtraConfigBuilder]=void 0}function c5$($,Z,X,J,G=$){let Y=new $Z($,J,G),W=typeof Z==="function"?Z($b()):Z,H=Object.fromEntries(Object.entries(W).map(([A,Q])=>{let O=Q;O.setName(A);let P=O.build(Y);return Y[gN].push(...O.buildForeignKeys(P,Y)),[A,P]})),U=Object.assign(Y,H);if(U[e.Symbol.Columns]=H,U[e.Symbol.ExtraConfigColumns]=H,X)U[$Z.Symbol.ExtraConfigBuilder]=X;return U}var zZ=($,Z,X)=>{return c5$($,Z,X)};class Zb{constructor($,Z){this.name=$,this.value=Z}static[L]="SQLiteCheckBuilder";brand;build($){return new Xb($,this)}}class Xb{constructor($,Z){this.table=$,this.name=Z.name,this.value=Z.value}static[L]="SQLiteCheck";name;value}function Jb($,Z){return new Zb($,Z)}class hN{constructor($,Z){this.name=$,this.unique=Z}static[L]="SQLiteIndexBuilderOn";on(...$){return new Gb(this.name,$,this.unique)}}class Gb{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 Yb(this.config,$)}}class Yb{static[L]="SQLiteIndex";config;constructor($,Z){this.config={...$,table:Z}}}function ZZ($){return new hN($,!1)}function G_$($){return new hN($,!0)}function x4(...$){if($[0].columns)return new mN($[0].columns,$[0].name);return new mN($)}class mN{static[L]="SQLitePrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new Wb($,this.columns,this.name)}}class Wb{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 j6($){if(v($,$Z))return[`${$[e.Symbol.BaseName]}`];if(v($,k0))return $._.usedTables??[];if(v($,U$))return $.usedTables??[];return[]}class XA 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=D6($),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:j6(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 d5$($){return($.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((X)=>X.toLowerCase()).join("_")}function u5$($){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 o5$($){return $}class fN{static[L]="CasingCache";cache={};cachedTables={};convert;constructor($){this.convert=$==="snake_case"?d5$:$==="camelCase"?u5$:o5$}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 dX extends Error{static[L]="DrizzleError";constructor({message:$,cause:Z}){super($);this.name="DrizzleError",this.cause=Z}}class R1 extends Error{constructor($,Z,X){super(`Failed query: ${$}
|
|
33
|
+
params: ${Z}`);if(this.query=$,this.params=Z,this.cause=X,Error.captureStackTrace(this,R1),X)this.cause=X}}class pN extends dX{static[L]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function Hb($){return N`count(${$||N.raw("*")})`.mapWith(Number)}class t5 extends H6{static[L]="SQLiteViewBase"}class uX{static[L]="SQLiteDialect";casing;constructor($){this.casing=new fN($?.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),H=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}${H}${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 H=X[Y],U=H.onUpdateFn?.(),A=Z[Y]??(v(U,U$)?U:N.param(U,H)),Q=N`${N.identifier(this.casing.getColumnCasing(H))} = ${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:H,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,T=X?N` where ${X}`:void 0,M=this.buildOrderBy(U),S=this.buildLimit(H);return N`${A}update ${$} set ${Q}${O}${P}${T}${_}${M}${S}`}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 H=v(G,U$.Aliased)?G.sql:G;if(Z)W.push(new U$(H.queryChunks.map((U)=>{if(v(U,G0))return N.identifier(this.casing.getColumnCasing(U));return U})));else W.push(H);if(v(G,U$.Aliased))W.push(N` as ${N.identifier(G.fieldAlias)}`)}else if(v(G,G0)){let H=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(H)}.${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(H)}.${N.identifier(this.casing.getColumnCasing(G))}`)}else if(v(G,k0)){let H=Object.entries(G._.selectedFields);if(H.length===1){let U=H[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],H=G[$Z.Symbol.Schema],U=G[$Z.Symbol.OriginalName],A=W===U?void 0:J.alias;Z.push(N`${N.raw(J.joinType)} join ${H?N`${N.identifier(H)}.`: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:H,groupBy:U,limit:A,offset:Q,distinct:O,setOperators:P}){let _=X??D6(Z);for(let r of _)if(v(r.field,G0)&&R4(r.field.table)!==(v(Y,k0)?Y._.alias:v(Y,t5)?Y[I0].name:v(Y,U$)?void 0:R4(Y))&&!((Q$)=>W?.some(({alias:z$})=>z$===(Q$[e.Symbol.IsAlias]?R4(Q$):Q$[e.Symbol.BaseName])))(r.field.table)){let Q$=R4(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 T=!W||W.length===0,M=this.buildWithCTE($),S=O?N` distinct`:void 0,K$=this.buildSelection(_,{isSingleTable:T}),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(H),A0=this.buildLimit(A),i=Q?N` offset ${Q}`:void 0,$$=N`${M}select${S} ${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 H=N`${$.getSQL()} `,U=N`${J.getSQL()}`,A;if(Y&&Y.length>0){let _=[];for(let T of Y)if(v(T,m0))_.push(N.identifier(T.name));else if(v(T,U$)){for(let M=0;M<T.queryChunks.length;M++){let S=T.queryChunks[M];if(v(S,m0))T.queryChunks[M]=N.identifier(this.casing.getColumnCasing(S))}_.push(N`${T}`)}else _.push(N`${T}`);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`${H}${O}${U}${A}${Q}${P}`}buildInsertQuery({table:$,values:Z,onConflict:X,returning:J,withList:G,select:Y}){let W=[],H=$[e.Symbol.Columns],U=Object.entries(H).filter(([T,M])=>!M.shouldDisableInsert()),A=U.map(([,T])=>N.identifier(this.casing.getColumnCasing(T)));if(Y){let T=Z;if(v(T,U$))W.push(T);else W.push(T.getSQL())}else{let T=Z;W.push(N.raw("values "));for(let[M,S]of T.entries()){let K$=[];for(let[l,J$]of U){let B$=S[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$),M<T.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:H,joinOn:U}){let A=[],Q,O,P=[],_,T=[];if(Y===!0)A=Object.entries(G.columns).map(([K$,l])=>({dbKey:l.name,tsKey:K$,field:P9(l,W),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let S=Object.fromEntries(Object.entries(G.columns).map(([A$,m$])=>[A$,P9(m$,W)]));if(Y.where){let A$=typeof Y.where==="function"?Y.where(S,Py()):Y.where;_=A$&&cG(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(S,{sql:N}):Y.extras;for(let[A$,m$]of Object.entries(B$))K$.push({tsKey:A$,value:yN(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)?P9(m$,W):m$,relationTableTsKey:void 0,isJson:!1,selection:[]});let h$=typeof Y.orderBy==="function"?Y.orderBy(S,Fy()):Y.orderBy??[];if(!Array.isArray(h$))h$=[h$];P=h$.map((A$)=>{if(v(A$,G0))return P9(A$,W);return cG(A$,W)}),Q=Y.limit,O=Y.offset;for(let{tsKey:A$,queryConfig:m$,relation:v$}of J$){let A0=Ty(Z,X,v$),i=a5(v$.referencedTable),$$=X[i],r=`${W}_${A$}`,Q$=F$(...A0.fields.map((Z$,Q0)=>p(P9(A0.references[Q0],r),P9(Z$,W)))),z$=this.buildRelationalQuery({fullSchema:$,schema:Z,tableNamesMap:X,table:$[$$],tableConfig:Z[$$],queryConfig:v(v$,E4)?m$===!0?{limit:1}:{...m$,limit:1}:m$,tableAlias:r,joinOn:Q$,nestedQueryRelation:v$}),q$=N`(${z$.sql})`.as(A$);A.push({dbKey:A$,tsKey:A$,field:q$,relationTableTsKey:$$,isJson:!0,selection:z$.selection})}}if(A.length===0)throw new dX({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 M;if(_=F$(U,_),H){let S=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(H,fG))S=N`coalesce(json_group_array(${S}), json_array())`;let K$=[{dbKey:"data",tsKey:"data",field:S.as("data"),isJson:!0,relationTableTsKey:G.tsName,selection:A}];if(Q!==void 0||O!==void 0||P.length>0)M=this.buildSelectQuery({table:tU(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 M=tU(J,W);M=this.buildSelectQuery({table:v(M,$Z)?M:new k0(M,{},W),fields:{},fieldsFlat:K$.map(({field:J$})=>({path:[],field:v(J$,G0)?P9(J$,W):J$})),joins:T,where:_,limit:Q,offset:O,orderBy:P,setOperators:[]})}else M=this.buildSelectQuery({table:tU(J,W),fields:{},fieldsFlat:A.map(({field:S})=>({path:[],field:v(S,G0)?P9(S,W):S})),joins:T,where:_,limit:Q,offset:O,orderBy:P,setOperators:[]});return{tableTsKey:G.tsName,sql:M,selection:A}}}class cN extends uX{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
34
|
CREATE TABLE IF NOT EXISTS ${N.identifier(J)} (
|
|
35
35
|
id SERIAL PRIMARY KEY,
|
|
36
36
|
hash text NOT NULL,
|
|
@@ -42,7 +42,7 @@ params: ${Z}`);if(this.query=$,this.params=Z,this.cause=X,Error.captureStackTrac
|
|
|
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(H)=>{for(let U of $)if(!W||Number(W[2])<U.folderMillis){for(let A of U.sql)await H.run(N.raw(A));await H.run(N`INSERT INTO ${N.identifier(J)} ("hash", "created_at") VALUES(${U.hash}, ${U.folderMillis})`)}})}}class uN{static[L]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class k6{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($,t5))X=$[I0].selectedFields;else if(v($,U$))X={};else X=Zy($);return new oN({table:$,fields:X,isPartialSelect:Z,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class Db extends uN{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=hG($),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let H of j6($))this.usedTables.add(H)}getUsedTables(){return[...this.usedTables]}createJoin($){return(Z,X)=>{let J=this.tableName,G=hG(Z);for(let Y of j6(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,H6)?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(n5$()):X;if(!gG(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(...j6(this.config.table)),this.config.joins)for(let X of this.config.joins)Z.push(...j6(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 oN extends Db{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=D6(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(oN,[X8]);function JA($,Z){return(X,J,...G)=>{let Y=[J,...G].map((W)=>({type:$,isAll:Z,rightSelect:W}));for(let W of Y)if(!gG(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 n5$=()=>({union:l5$,unionAll:r5$,intersect:i5$,except:s5$}),l5$=JA("union",!1),r5$=JA("union",!0),i5$=JA("intersect",!1),s5$=JA("except",!1);class dG{static[L]="SQLiteQueryBuilder";dialect;dialectConfig;constructor($){this.dialect=v($,uX)?$:void 0,this.dialectConfig=v($,uX)?void 0:$}$with=($,Z)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(X);return new Proxy(new vG(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 k6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$})}function J(G){return new k6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$,distinct:!0})}return{select:X,selectDistinct:J}}select($){return new k6({fields:$??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct($){return new k6({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new cN(this.dialectConfig);return this.dialect}}class GA{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 nN(this.table,Z,this.session,this.dialect,this.withList)}select($){let Z=typeof $==="function"?$(new dG):$;if(!v(Z,U$)&&!gG(this.table[nU],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 nN(this.table,Z,this.session,this.dialect,this.withList,!0)}}class nN 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=D6($),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,rU(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:j6(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 YA{constructor($,Z,X,J){this.table=$,this.session=Z,this.dialect=X,this.withList=J}static[L]="SQLiteUpdateBuilder";set($){return new Ub(this.table,rU(this.table,$),this.session,this.dialect,this.withList)}}class Ub 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=hG(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,t5)?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=D6($),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:j6(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 uG extends U${constructor($){super(uG.buildEmbeddedCount($.source,$.filters).queryChunks);this.params=$,this.session=$.session,this.sql=uG.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 rN{constructor($,Z,X,J,G,Y,W,H){this.mode=$,this.fullSchema=Z,this.schema=X,this.tableNamesMap=J,this.table=G,this.tableConfig=Y,this.dialect=W,this.session=H}static[L]="SQLiteAsyncRelationalQueryBuilder";findMany($){return this.mode==="sync"?new lN(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many"):new WA(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many")}findFirst($){return this.mode==="sync"?new lN(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first"):new WA(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first")}}class WA extends X8{constructor($,Z,X,J,G,Y,W,H,U){super();this.fullSchema=$,this.schema=Z,this.tableNamesMap=X,this.table=J,this.tableConfig=G,this.dialect=Y,this.session=W,this.config=H,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)=>aU(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 lN extends WA{static[L]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class oX 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 oG{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 rN($,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 dG(X.dialect));return new Proxy(new vG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new e0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count($,Z){return new uG({source:$,filters:Z,session:this.session})}with(...$){let Z=this;function X(H){return new k6({fields:H??void 0,session:Z.session,dialect:Z.dialect,withList:$})}function J(H){return new k6({fields:H??void 0,session:Z.session,dialect:Z.dialect,withList:$,distinct:!0})}function G(H){return new YA(H,Z.session,Z.dialect,$)}function Y(H){return new GA(H,Z.session,Z.dialect,$)}function W(H){return new XA(H,Z.session,Z.dialect,$)}return{select:X,selectDistinct:J,update:G,insert:Y,delete:W}}select($){return new k6({fields:$??void 0,session:this.session,dialect:this.dialect})}selectDistinct($){return new k6({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update($){return new YA($,this.session,this.dialect)}$cache;insert($){return new GA($,this.session,this.dialect)}delete($){return new XA($,this.session,this.dialect)}run($){let Z=typeof $==="string"?N.raw($):$.getSQL();if(this.resultKind==="async")return new oX(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 oX(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 oX(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 oX(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 Ab{static[L]="Cache"}class nG extends Ab{strategy(){return"all"}static[L]="NoopCache";async get($){return}async put($,Z,X,J){}async onMutate($){}}async function iN($,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 Kb extends X8{constructor($){super();this.resultCb=$}static[L]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class sN{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,nG)||this.queryMetadata===void 0)try{return await X()}catch(J){throw new R1($,Z,J)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await X()}catch(J){throw new R1($,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 R1($,Z,J)}if(!this.cacheConfig)try{return await X()}catch(J){throw new R1($,Z,J)}if(this.queryMetadata.type==="select"){let J=await this.cache.get(this.cacheConfig.tag??await iN($,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 R1($,Z,Y)}return await this.cache.put(this.cacheConfig.tag??await iN($,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 R1($,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 Kb(()=>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 aN{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 dX({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 tN extends oG{constructor($,Z,X,J,G=0){super($,Z,X,J);this.schema=J,this.nestedIndex=G}static[L]="SQLiteTransaction";rollback(){throw new pN}}class DA extends aN{constructor($,Z,X,J,G){super(Z);this.client=$,this.schema=X,this.options=J,this.tx=G,this.logger=J.logger??new jN,this.cache=J.cache??new nG}static[L]="LibSQLSession";logger;cache;prepareQuery($,Z,X,J,G,Y,W){return new Qb(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 DA(this.client,this.dialect,this.schema,this.options,X),G=new eN("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 eN extends tN{static[L]="LibSQLTransaction";async transaction($){let Z=`sp${this.nestedIndex}`,X=new eN("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 Qb extends sN{constructor($,Z,X,J,G,Y,W,H,U,A,Q){super("async",U,Z,J,G,Y);this.client=$,this.logger=X,this.fields=W,this.tx=H,this._isResponseInArrayMode=A,this.customResultMapper=Q,this.customResultMapper=Q,this.fields=W}static[L]="LibSQLPreparedQuery";async run($){let Z=bG(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=bG(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 H=await this.values($);return this.mapAllResult(H)}mapAllResult($,Z){if(Z)$=$.rows;if(!this.fields&&!this.customResultMapper)return $.map((X)=>Vb(X));if(this.customResultMapper)return this.customResultMapper($,HA);return $.map((X)=>{return EN(this.fields,Array.prototype.slice.call(X).map((J)=>HA(J)),this.joinsNotNullableMap)})}async get($){let{fields:Z,logger:X,query:J,tx:G,client:Y,customResultMapper:W}=this;if(!Z&&!W){let U=bG(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 H=await this.values($);return this.mapGetResult(H)}mapGetResult($,Z){if(Z)$=$.rows;let X=$[0];if(!this.fields&&!this.customResultMapper)return Vb(X);if(!X)return;if(this.customResultMapper)return this.customResultMapper($,HA);return EN(this.fields,Array.prototype.slice.call(X).map((J)=>HA(J)),this.joinsNotNullableMap)}async values($){let Z=bG(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 Vb($){return Object.keys($).reduce((Z,X)=>{if(Object.prototype.propertyIsEnumerable.call($,X))Z[X]=$[X];return Z},{})}function HA($){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 Ob extends oG{static[L]="LibSQLDatabase";async batch($){return this.session.batch($)}}function nX($,Z={}){let X=new dN({casing:Z.casing}),J;if(Z.logger===!0)J=new SN;else if(Z.logger!==!1)J=Z.logger;let G;if(Z.schema){let H=zy(Z.schema,My);G={fullSchema:Z.schema,schema:H.tables,tableNamesMap:H.tableNamesMap}}let Y=new DA($,X,G,{logger:J,cache:Z.cache},void 0),W=new Ob("async",X,Y,G);if(W.$client=$,W.$cache=Z.cache,W.$cache)W.$cache.invalidate=Z.cache?.onMutate;return W}function UA(...$){if(typeof $[0]==="string"){let Z=$_({url:$[0]});return nX(Z,$[1])}if(Xy($[0])){let{connection:Z,client:X,...J}=$[0];if(X)return nX(X,J);let G=typeof Z==="string"?$_({url:Z}):$_(Z);return nX(G,J)}return nX($[0],$[1])}(($)=>{function Z(X){return nX({},X)}$.mock=Z})(UA||(UA={}));function Nb($){if($.authToken!==void 0)return $.authToken;if($.authTokenEnv===void 0)return;return process.env[$.authTokenEnv]}function I6($){let{url:Z,schema:X}=$,J=Nb($),G=J?Bb({url:Z,authToken:J}):Bb({url:Z});return{db:UA(G,{schema:X}),client:G,url:Z}}async function v6($,Z){if(!Z.startsWith("file:"))return;await $.execute("PRAGMA journal_mode = WAL"),await $.execute("PRAGMA busy_timeout = 5000")}import a5$ from"crypto";import Z_ from"fs";function _b($){let Z=$.migrationsFolder,X=[],J=`${Z}/meta/_journal.json`;if(!Z_.existsSync(J))throw Error("Can't find meta/_journal.json file");let G=Z_.readFileSync(`${Z}/meta/_journal.json`).toString(),Y=JSON.parse(G);for(let W of Y.entries){let H=`${Z}/${W.tag}.sql`;try{let U=Z_.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:a5$.createHash("sha256").update(U).digest("hex")})}catch{throw Error(`No file ${H} found in ${Z} folder`)}}return X}async function Pb($,Z){let X=_b(Z),J=Z.migrationsTable??"__drizzle_migrations",G=N`
|
|
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(H)=>{for(let U of $)if(!W||Number(W[2])<U.folderMillis){for(let A of U.sql)await H.run(N.raw(A));await H.run(N`INSERT INTO ${N.identifier(J)} ("hash", "created_at") VALUES(${U.hash}, ${U.folderMillis})`)}})}}class uN{static[L]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class k6{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($,t5))X=$[I0].selectedFields;else if(v($,U$))X={};else X=Zy($);return new oN({table:$,fields:X,isPartialSelect:Z,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class Db extends uN{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=hG($),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let H of j6($))this.usedTables.add(H)}getUsedTables(){return[...this.usedTables]}createJoin($){return(Z,X)=>{let J=this.tableName,G=hG(Z);for(let Y of j6(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,H6)?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(n5$()):X;if(!gG(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(...j6(this.config.table)),this.config.joins)for(let X of this.config.joins)Z.push(...j6(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 oN extends Db{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=D6(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(oN,[X8]);function JA($,Z){return(X,J,...G)=>{let Y=[J,...G].map((W)=>({type:$,isAll:Z,rightSelect:W}));for(let W of Y)if(!gG(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 n5$=()=>({union:r5$,unionAll:l5$,intersect:i5$,except:s5$}),r5$=JA("union",!1),l5$=JA("union",!0),i5$=JA("intersect",!1),s5$=JA("except",!1);class dG{static[L]="SQLiteQueryBuilder";dialect;dialectConfig;constructor($){this.dialect=v($,uX)?$:void 0,this.dialectConfig=v($,uX)?void 0:$}$with=($,Z)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(X);return new Proxy(new vG(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 k6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$})}function J(G){return new k6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$,distinct:!0})}return{select:X,selectDistinct:J}}select($){return new k6({fields:$??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct($){return new k6({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new cN(this.dialectConfig);return this.dialect}}class GA{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 nN(this.table,Z,this.session,this.dialect,this.withList)}select($){let Z=typeof $==="function"?$(new dG):$;if(!v(Z,U$)&&!gG(this.table[nU],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 nN(this.table,Z,this.session,this.dialect,this.withList,!0)}}class nN 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=D6($),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,lU(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:j6(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 YA{constructor($,Z,X,J){this.table=$,this.session=Z,this.dialect=X,this.withList=J}static[L]="SQLiteUpdateBuilder";set($){return new Ub(this.table,lU(this.table,$),this.session,this.dialect,this.withList)}}class Ub 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=hG(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,t5)?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=D6($),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:j6(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 uG extends U${constructor($){super(uG.buildEmbeddedCount($.source,$.filters).queryChunks);this.params=$,this.session=$.session,this.sql=uG.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 lN{constructor($,Z,X,J,G,Y,W,H){this.mode=$,this.fullSchema=Z,this.schema=X,this.tableNamesMap=J,this.table=G,this.tableConfig=Y,this.dialect=W,this.session=H}static[L]="SQLiteAsyncRelationalQueryBuilder";findMany($){return this.mode==="sync"?new rN(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many"):new WA(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many")}findFirst($){return this.mode==="sync"?new rN(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first"):new WA(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first")}}class WA extends X8{constructor($,Z,X,J,G,Y,W,H,U){super();this.fullSchema=$,this.schema=Z,this.tableNamesMap=X,this.table=J,this.tableConfig=G,this.dialect=Y,this.session=W,this.config=H,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)=>aU(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 rN extends WA{static[L]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class oX 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 oG{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 lN($,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 dG(X.dialect));return new Proxy(new vG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new e0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count($,Z){return new uG({source:$,filters:Z,session:this.session})}with(...$){let Z=this;function X(H){return new k6({fields:H??void 0,session:Z.session,dialect:Z.dialect,withList:$})}function J(H){return new k6({fields:H??void 0,session:Z.session,dialect:Z.dialect,withList:$,distinct:!0})}function G(H){return new YA(H,Z.session,Z.dialect,$)}function Y(H){return new GA(H,Z.session,Z.dialect,$)}function W(H){return new XA(H,Z.session,Z.dialect,$)}return{select:X,selectDistinct:J,update:G,insert:Y,delete:W}}select($){return new k6({fields:$??void 0,session:this.session,dialect:this.dialect})}selectDistinct($){return new k6({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update($){return new YA($,this.session,this.dialect)}$cache;insert($){return new GA($,this.session,this.dialect)}delete($){return new XA($,this.session,this.dialect)}run($){let Z=typeof $==="string"?N.raw($):$.getSQL();if(this.resultKind==="async")return new oX(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 oX(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 oX(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 oX(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 Ab{static[L]="Cache"}class nG extends Ab{strategy(){return"all"}static[L]="NoopCache";async get($){return}async put($,Z,X,J){}async onMutate($){}}async function iN($,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 Kb extends X8{constructor($){super();this.resultCb=$}static[L]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class sN{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,nG)||this.queryMetadata===void 0)try{return await X()}catch(J){throw new R1($,Z,J)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await X()}catch(J){throw new R1($,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 R1($,Z,J)}if(!this.cacheConfig)try{return await X()}catch(J){throw new R1($,Z,J)}if(this.queryMetadata.type==="select"){let J=await this.cache.get(this.cacheConfig.tag??await iN($,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 R1($,Z,Y)}return await this.cache.put(this.cacheConfig.tag??await iN($,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 R1($,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 Kb(()=>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 aN{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 dX({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 tN extends oG{constructor($,Z,X,J,G=0){super($,Z,X,J);this.schema=J,this.nestedIndex=G}static[L]="SQLiteTransaction";rollback(){throw new pN}}class DA extends aN{constructor($,Z,X,J,G){super(Z);this.client=$,this.schema=X,this.options=J,this.tx=G,this.logger=J.logger??new jN,this.cache=J.cache??new nG}static[L]="LibSQLSession";logger;cache;prepareQuery($,Z,X,J,G,Y,W){return new Qb(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 DA(this.client,this.dialect,this.schema,this.options,X),G=new eN("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 eN extends tN{static[L]="LibSQLTransaction";async transaction($){let Z=`sp${this.nestedIndex}`,X=new eN("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 Qb extends sN{constructor($,Z,X,J,G,Y,W,H,U,A,Q){super("async",U,Z,J,G,Y);this.client=$,this.logger=X,this.fields=W,this.tx=H,this._isResponseInArrayMode=A,this.customResultMapper=Q,this.customResultMapper=Q,this.fields=W}static[L]="LibSQLPreparedQuery";async run($){let Z=bG(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=bG(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 H=await this.values($);return this.mapAllResult(H)}mapAllResult($,Z){if(Z)$=$.rows;if(!this.fields&&!this.customResultMapper)return $.map((X)=>Vb(X));if(this.customResultMapper)return this.customResultMapper($,HA);return $.map((X)=>{return EN(this.fields,Array.prototype.slice.call(X).map((J)=>HA(J)),this.joinsNotNullableMap)})}async get($){let{fields:Z,logger:X,query:J,tx:G,client:Y,customResultMapper:W}=this;if(!Z&&!W){let U=bG(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 H=await this.values($);return this.mapGetResult(H)}mapGetResult($,Z){if(Z)$=$.rows;let X=$[0];if(!this.fields&&!this.customResultMapper)return Vb(X);if(!X)return;if(this.customResultMapper)return this.customResultMapper($,HA);return EN(this.fields,Array.prototype.slice.call(X).map((J)=>HA(J)),this.joinsNotNullableMap)}async values($){let Z=bG(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 Vb($){return Object.keys($).reduce((Z,X)=>{if(Object.prototype.propertyIsEnumerable.call($,X))Z[X]=$[X];return Z},{})}function HA($){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 Ob extends oG{static[L]="LibSQLDatabase";async batch($){return this.session.batch($)}}function nX($,Z={}){let X=new dN({casing:Z.casing}),J;if(Z.logger===!0)J=new SN;else if(Z.logger!==!1)J=Z.logger;let G;if(Z.schema){let H=zy(Z.schema,My);G={fullSchema:Z.schema,schema:H.tables,tableNamesMap:H.tableNamesMap}}let Y=new DA($,X,G,{logger:J,cache:Z.cache},void 0),W=new Ob("async",X,Y,G);if(W.$client=$,W.$cache=Z.cache,W.$cache)W.$cache.invalidate=Z.cache?.onMutate;return W}function UA(...$){if(typeof $[0]==="string"){let Z=$_({url:$[0]});return nX(Z,$[1])}if(Xy($[0])){let{connection:Z,client:X,...J}=$[0];if(X)return nX(X,J);let G=typeof Z==="string"?$_({url:Z}):$_(Z);return nX(G,J)}return nX($[0],$[1])}(($)=>{function Z(X){return nX({},X)}$.mock=Z})(UA||(UA={}));function Nb($){if($.authToken!==void 0)return $.authToken;if($.authTokenEnv===void 0)return;return process.env[$.authTokenEnv]}function I6($){let{url:Z,schema:X}=$,J=Nb($),G=J?Bb({url:Z,authToken:J}):Bb({url:Z});return{db:UA(G,{schema:X}),client:G,url:Z}}async function v6($,Z){if(!Z.startsWith("file:"))return;await $.execute("PRAGMA journal_mode = WAL"),await $.execute("PRAGMA busy_timeout = 5000")}import a5$ from"crypto";import Z_ from"fs";function _b($){let Z=$.migrationsFolder,X=[],J=`${Z}/meta/_journal.json`;if(!Z_.existsSync(J))throw Error("Can't find meta/_journal.json file");let G=Z_.readFileSync(`${Z}/meta/_journal.json`).toString(),Y=JSON.parse(G);for(let W of Y.entries){let H=`${Z}/${W.tag}.sql`;try{let U=Z_.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:a5$.createHash("sha256").update(U).digest("hex")})}catch{throw Error(`No file ${H} found in ${Z} folder`)}}return X}async function Pb($,Z){let X=_b(Z),J=Z.migrationsTable??"__drizzle_migrations",G=N`
|
|
46
46
|
CREATE TABLE IF NOT EXISTS ${N.identifier(J)} (
|
|
47
47
|
id SERIAL PRIMARY KEY,
|
|
48
48
|
hash text NOT NULL,
|
|
@@ -65,24 +65,24 @@ 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 Y_($){await $.execute(`
|
|
66
66
|
CREATE INDEX IF NOT EXISTS embeddings_embedding_idx
|
|
67
67
|
ON embeddings(libsql_vector_idx(embedding))
|
|
68
|
-
`)}async function W_($,Z){await $.execute(`ATTACH DATABASE '${Z}' AS emb`)}function H_($){return $.startsWith("file:")?$.slice(5):$}function A6($){return"restricted"}var $7$=D.object({id:D.string().min(1,"Entity ID is required"),entityType:D.string().min(1,"Entity type is required"),contentHash:D.string().min(1,"Content hash is required"),operation:D.enum(["create","update"])});class
|
|
68
|
+
`)}async function W_($,Z){await $.execute(`ATTACH DATABASE '${Z}' AS emb`)}function H_($){return $.startsWith("file:")?$.slice(5):$}function A6($){return"restricted"}var $7$=D.object({id:D.string().min(1,"Entity ID is required"),entityType:D.string().min(1,"Entity type is required"),contentHash:D.string().min(1,"Content hash is required"),operation:D.enum(["create","update"])});class rG{logger;embeddingService;entityService;messageBus;static createFresh($,Z,X){return new rG($,Z,X)}constructor($,Z,X){if(this.logger=F9.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:A6("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:e5.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=$7$.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 wb($,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");Z7$($,Z.origin);let X=$.map((U)=>Tb(U.embedding)),J=Z.origin?Tb(Z.origin.embedding):X7$(X),G=G7$(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)})),H=W.map((U)=>U.distanceToOrigin);return{origin:Y,points:W,neighbors:J7$($,X,Z.maxNeighborDistance),distanceRange:{min:H.length>0?Math.min(...H):0,max:H.length>0?Math.max(...H):0}}}function Z7$($,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 Tb($){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 X7$($){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 H=$[W]??0,U=Z[W]??0;X+=H*U,J+=H*H,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],H=$[Y],U=Z[G],A=Z[Y];if(!W||!H||!U||!A)continue;let Q=Cb(U,A);if(Q<=X)J.push({source:{entityId:W.entityId,entityType:W.entityType},target:{entityId:H.entityId,entityType:H.entityType},distance:Q})}return J}function G7$($){let Z=$.length;if(Z===0)return[];if(Z===1)return[[0,0]];let X=$[0]?.length??0,J=new Float64Array(X);for(let H of $)for(let U=0;U<X;U+=1)J[U]=(J[U]??0)+(H[U]??0)/Z;let G=Array.from({length:Z},()=>Array(Z).fill(0));for(let H=0;H<Z;H+=1)for(let U=H;U<Z;U+=1){let A=0,Q=$[H],O=$[U];if(!Q||!O)continue;for(let T=0;T<X;T+=1)A+=((Q[T]??0)-(J[T]??0))*((O[T]??0)-(J[T]??0));let P=G[H],_=G[U];if(P)P[U]=A;if(_)_[H]=A}let Y=[],W=[];for(let H=0;H<2;H+=1){let U=Y7$(G,Y,H);if(!U){Y.push(Array(Z).fill(0)),W.push(0);continue}Y.push(U),W.push(Math.max(0,W7$(G,U)))}return Array.from({length:Z},(H,U)=>[(Y[0]?.[U]??0)*Math.sqrt(W[0]??0),(Y[1]?.[U]??0)*Math.sqrt(W[1]??0)])}function Y7$($,Z,X){let J=$.length,G=Array.from({length:J},(W,H)=>Math.sin((H+1)*(X+1))+Math.cos((H+1)*(X+2)));if(G=Mb(G,Z),D_(G)<=0.000000000001)return null;for(let W=0;W<100;W+=1){let H=Mb(Rb($,G),Z),U=D_(H);if(U<=0.000000000001)return null;G=H.map((A)=>A/U)}let Y=G.reduce((W,H,U)=>Math.abs(H)>Math.abs(G[W]??0)?U:W,0);if((G[Y]??0)<0)G=G.map((W)=>-W);return G}function Rb($,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,H,U)=>W+H*(G[U]??0),0);for(let W=0;W<X.length;W+=1)X[W]=(X[W]??0)-Y*(G[W]??0)}let J=D_(X);return J<=0.000000000001?X:X.map((G)=>G/J)}function D_($){return Math.sqrt($.reduce((Z,X)=>Z+X*X,0))}function W7$($,Z){let X=Rb($,Z);return Z.reduce((J,G,Y)=>J+G*(X[Y]??0),0)}var H7$=12000,D7$=0.82;function Lb($,Z,X=H7$){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 U7$=D.object({limit:D.number().int().positive().optional().default(20),offset:D.number().int().min(0).optional().default(0),types:D.array(D.string()).optional().default([]),excludeTypes:D.array(D.string()).optional().default([]),weight:D.record(D.string(),D.number()).optional(),visibilityScope:D.enum(["public","shared","restricted"]).optional(),includeUngenerated:D.boolean().optional().default(!1),minScore:D.number().min(0).optional()}),A7$=D.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},D.record(D.string(),D.unknown()));class AA{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=U7$.parse(Z??{}),{limit:J,offset:G,types:Y,excludeTypes:W,weight:H,visibilityScope:U,includeUngenerated:A,minScore:Q}=X,O=H&&Object.keys(H).length>0,P=Lb($,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:H,visibilityScope:U,includeUngenerated:A,minScore:Q});let{embedding:_}=await this.embeddingService.generateEmbedding(P),T=JSON.stringify(Array.from(_)),M=this.buildWeightMultiplier(O?H:void 0),S=[];if(Y.length>0)S.push(N`${h.entityType} IN (${N.join(Y.map((K$)=>N`${K$}`),N`, `)})`);if(W.length>0)S.push(N`${h.entityType} NOT IN (${N.join(W.map((K$)=>N`${K$}`),N`, `)})`);return this.searchWithAttachedDb(T,M,[...S,...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((H)=>N`${H}`),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,w1(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 H=AA.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 (
|
|
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-H} * ${U}) + (${H} * ${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} < ${D7$}`,...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((H)=>H.entityId===G.entityId&&H.entityType===G.entityType):void 0,W=J.filter((H)=>{let U=Z?.has(H.entityType)??!0,A=H.entityId===G?.entityId&&H.entityType===G.entityType;return U&&!A});return wb(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=Lb($,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=A7$.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),H=Math.min($.length,Y+J.length+50),U=$.slice(W,H);if(W>0)U="..."+U;if(H<$.length)U=U+"...";return U}return $.slice(0,200)+($.length>200?"...":"")}}class U_{entityRegistry;logger;constructor($,Z){this.entityRegistry=$,this.logger=Z.child("EntitySerializer")}serializeEntity($){let Z=this.entityRegistry.getAdapter($.entityType);return s5(Z.toMarkdown($),$.visibility)}deserializeEntity($,Z){let X=this.entityRegistry.getAdapter(Z),J;try{J=X.fromMarkdown($)}catch(A){throw pU(Z,A)??A}let{metadata:G,visibility:Y,...W}=J,H=mU($),U=this.stripPolicyMetadata(G??{});return{...W,...H&&{visibility:H},metadata:U}}async convertToEntity($){try{return this.reconstructEntity($)}catch(Z){let X=l$(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=l$(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=s5(X.toMarkdown($),$.visibility),G=this.stripPolicyMetadata(X.extractMetadata($));return{markdown:J,metadata:G}}stripPolicyMetadata($){let{visibility:Z,...X}=$;return X}}var K7$=D.record(D.string(),D.unknown());function A_($){return{id:$.id,entityType:$.entityType,content:$.content,contentHash:$.contentHash,visibility:cU($.visibility),created:$.created,updated:$.updated,metadata:K7$.parse($.metadata)}}var V7$=D.object({field:D.string(),direction:D.enum(["asc","desc"]),nullsFirst:D.boolean().optional()}),Q7$=D.object({limit:D.number().int().positive().optional(),offset:D.number().int().min(0).optional().default(0),sortFields:D.array(V7$).optional(),filter:D.object({metadata:D.record(D.string(),D.unknown()).optional(),visibilityScope:D.enum(["public","shared","restricted"]).optional()}).optional(),publishedOnly:D.boolean().optional()});class K_{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=[p(h.id,Z),p(h.entityType,$)];if(J!=="restricted")G.push(Z8(h.visibility,w1(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 A_(W)}async listEntities($,Z={},X){let J=Q7$.parse(Z),{limit:G,offset:Y,sortFields:W,filter:H,publishedOnly:U}=J;this.logger.debug(`Listing entities of type ${$} (limit: ${G}, offset: ${Y}, filter: ${JSON.stringify(H)}, publishedOnly: ${U})`);let A=this.buildWhereConditions($,U,H?.metadata,H?.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(A_),$);return this.logger.debug(`Listed ${_.length} entities of type ${$}`),_}buildWhereConditions($,Z,X,J,G){let Y=[p(h.entityType,$)];if(Z){let H=N`json_extract(${h.metadata}, '$.status')`;if(G&&G.length>0)Y.push(N`${H} IN (${N.join(G.map((U)=>N`${U}`),N`, `)})`);else Y.push(N`(${H} = 'published' OR ${H} = 'active' OR ${H} IS NULL)`)}let W=J??"public";if(W!=="restricted")Y.push(Z8(h.visibility,w1(W)));if(X){for(let[H,U]of Object.entries(X))if(U!==void 0){let A=`$.${H}`;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(pX(W)),G(W)];return[G(W)]}if(Z==="updated"){let W=h.updated;if(J)return[v0(pX(W)),G(W)];return[G(W)]}let Y=N`json_extract(${h.metadata}, '$.' || ${Z})`;if(J)return[v0(pX(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,w1(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$(p(h.entityType,$),p(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$(p(f0.entityType,$),p(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$(p(h.entityType,$),p(h.id,Z))),this.logger.debug(`Deleted entity of type ${$} with ID ${Z}`),!0}}import{webcrypto as Eb}from"crypto";var qb="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var O7$=128,S4,lX;function B7$($){if($<0)throw RangeError("Wrong ID size");try{if(!S4||S4.length<$)S4=Buffer.allocUnsafe($*O7$),Eb.getRandomValues(S4),lX=0;else if(lX+$>S4.length)Eb.getRandomValues(S4),lX=0}catch(Z){throw S4=void 0,Z}lX+=$}function V_($=21){B7$($|=0);let Z="";for(let X=lX-$;X<lX;X++)Z+=qb[S4[X]&63];return Z}function qZ($=12){return V_($)}function mz$($){return`${$}_${V_(12)}`}var N7$=D.custom(($)=>typeof $==="object"&&$!==null&&!Array.isArray($));function O_($){if(Array.isArray($))return $.map((X)=>X===void 0?null:O_(X));let Z=N7$.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,O_(J)]));return $}function B_($){return JSON.stringify(O_($))}function Q_($){return j4(B_($))}var _7$=D.object({id:D.string().min(1),entityType:D.string().min(1),contentHash:D.string().min(1)});function P7$($){try{let Z=_7$.parse(JSON.parse($.data));return{entityId:Z.id,entityType:Z.entityType,contentHash:Z.contentHash}}catch{return null}}function xb($){return`${$.entityType}:${$.entityId}:${$.contentHash}`}function F7$($){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 N_ extends Error{}class __{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:j4(Z.content)},Y=this.entityRegistry.validateEntity(Z.entityType,G),W=this.entityRegistry.getPersistValidator(Y.entityType);if(W)await W(Y,{operation:"create"});let{markdown:H,metadata:U}=this.entitySerializer.prepareEntityForStorage(Y,Y.entityType),A=j4(H),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:Q_({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:H,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,H)}),await this.notifyProjectionScheduler(),this.logger.debug(`Persisted entity ${Y.entityType}:${Q} immediately`),await this.emitEntityEvent(e5.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:j4(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:H}=this.entitySerializer.prepareEntityForStorage(G,G.entityType),U=j4(W),Q=(await this.db.select({contentHash:h.contentHash,visibility:h.visibility,metadata:h.metadata}).from(h).where(F$(p(h.id,G.id),p(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&&B_(Q.metadata)===B_(H)){if(this.logger.debug(`Skipping no-op update for ${G.entityType}:${G.id}`),X?.eventContext)await this.emitEntityEvent(e5.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:Q_({contentHash:U,metadata:H,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:H,updated:new Date(G.updated).getTime()}).where(F$(p(h.id,G.id),p(h.entityType,G.entityType),X?.expectedContentHash!==void 0?p(h.contentHash,X.expectedContentHash):void 0));if(X?.expectedContentHash!==void 0&&Number(P.rowsAffected)===0)throw new N_;await this.upsertFtsIndex(O,G.id,G.entityType,W)})}catch(O){if(!(O instanceof N_))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(e5.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$(p(f0.entityType,Z),p(f0.entityId,X))),await this.projectionStore.withDirtyInput({sourceType:Z,sourceId:X,revision:`deleted:${Q_({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$(p(h.entityType,Z),p(h.id,X)))}),await this.notifyProjectionScheduler(),await this.emitEntityEvent(e5.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(!F7$(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$(p(f0.entityType,Z.entityType),p(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,H=0,U=0,A=0,Q=0;for(let O of Z){if(this.entityRegistry.getEntityTypeConfig(O.entityType).embeddable===!1){Y++;continue}A++;let _=xb({entityId:O.id,entityType:O.entityType,contentHash:O.contentHash}),T=$.has(_),M=J.get(`${O.entityType}:${O.id}`);if(M===void 0){if(T)U++,Y++;else W++,G.push(O);continue}if(M!==O.contentHash){if(T)U++,Y++;else H++,G.push(O);continue}Q++,Y++}return{tableMissing:!1,skipped:Y,rowsToBackfill:G,missingEmbeddings:W,staleEmbeddings:H,failedEmbeddings:U,embeddableEntities:A,embeddedEntities:Q}}async getFailedEmbeddingKeys(){let $=await this.jobQueueService.getFailedJobs([k4.embedding]),Z=new Set;for(let X of $){let J=P7$(X);if(J)Z.add(xb(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:H}=$,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:k4.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,...H?.interfaceType?{interfaceType:H.interfaceType,requestedByInterface:H.interfaceType}:{},...H?.actor?{requestedByActor:H.actor,...H.actor.kind==="user"?{requestedByUserId:H.actor.userId}:{}}:{},silent:!0}}});return this.logger.debug(`Queued embedding job for ${X}:${Z} (job: ${Q})`),{entityId:Z,jobId:Q,skipped:!1}}}class P_{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 z7$(Y,()=>G,Z)}async idle(){await this.tail}}class F_{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 z7$($,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 rX=D.lazy(()=>D.union([D.null(),D.boolean(),D.number().finite().refine(($)=>!Number.isInteger($)||Number.isSafeInteger($),{message:"integer exceeds the JSON-safe range"}),D.string(),D.array(rX),D.record(D.string(),rX)])),y6=D.record(D.string(),rX),T7$=D.strictObject({id:D.string().trim().min(1),entityType:D.string().trim().min(1),content:D.string(),metadata:y6,visibility:N9}),I4=D.discriminatedUnion("operation",[D.strictObject({operation:D.literal("upsert"),entity:T7$}),D.strictObject({operation:D.literal("delete"),entityType:D.string().trim().min(1),id:D.string().trim().min(1)})]);var Sb=D.strictObject({sourceType:D.string().trim().min(1),sourceId:D.string().trim().min(1),revision:D.string().trim().min(1),operation:D.enum(["upsert","delete"]),markedAt:D.number().int().nonnegative()}),M7$=D.strictObject({waveId:D.string().trim().min(1),ruleId:D.string().trim().min(1),jobId:D.string().trim().min(1).nullable(),failureReason:D.string().trim().min(1).max(500),failedAt:D.number().int().nonnegative()}),jb=D.strictObject({ruleId:D.string().trim().min(1),ruleVersion:D.string().trim().min(1),inputFingerprint:D.string().trim().min(1)}),w7$=D.strictObject({ruleId:D.string().trim().min(1),targetType:D.string().trim().min(1),level:D.number().int().nonnegative()}),C7$=D.strictObject({entityType:D.string().trim().min(1),entityId:D.string().trim().min(1),operation:D.enum(["upsert","delete"]),contentHash:D.string().min(1).optional()});function z_($){return`${$.sourceType}\x00${$.sourceId}`}function kb($){let Z=new Map;for(let X of $)Z.set(z_(X),X);return[...Z.values()].sort((X,J)=>X.generation-J.generation)}function iX($){if(Array.isArray($))return`[${$.map((Z)=>iX(Z)).join(",")}]`;if($!==null&&typeof $==="object")return`{${Object.entries($).sort(([Z],[X])=>Z.localeCompare(X)).map(([Z,X])=>`${JSON.stringify(Z)}:${iX(X)}`).join(",")}}`;return JSON.stringify($)}function rG($){let Z=D.array(C7$).parse($.changedTargets);return{...$,changedTargets:Z}}class KA{db;mutationAdmission;transactionTail=new P_;constructor($,Z){this.db=$,this.mutationAdmission=Z}async markDirty($){let Z=Sb.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=Sb.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 kb($)}async claimPendingWave($){let Z=D.string().trim().min(1).parse($.waveId),X=D.string().trim().min(1).parse($.graphFingerprint),J=D.number().int().nonnegative().parse($.startedAt);return this.runTransaction(async(G)=>{let Y=await G.select({id:y0.id}).from(y0).where(p(y0.status,"running")).limit(1);if(Y.length>0)throw Error(`Cannot claim projection wave while "${Y[0]?.id}" is running`);let H=(await G.select({generation:XZ.generation}).from(XZ).orderBy(PZ(XZ.generation)).limit(1))[0]?.generation;if(H===void 0)return null;let U={id:Z,cutoffGeneration:H,graphFingerprint:X,status:"running",startedAt:J,completedAt:null};await G.insert(y0).values(U);let A=await G.select().from(XZ).where(S6(XZ.generation,H)).orderBy(v0(XZ.generation)),Q=kb(A);return await G.insert(L1).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(S6(XZ.generation,H)),U})}listWaveInputs($){return this.db.select().from(L1).where(p(L1.waveId,$)).orderBy(v0(L1.generation))}async getActiveWave(){return(await this.db.select().from(y0).where(p(y0.status,"running")).limit(1))[0]??null}async completeWave($,Z){let X=D.string().trim().min(1).parse($),J=D.number().int().nonnegative().parse(Z);return this.runTransaction(async(G)=>{let W=(await G.select().from(y0).where(p(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$(p(t$.waveId,X),iU(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(p(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$(C1(h8.resolvedAt),S6(h8.recoveryGeneration,W.cutoffGeneration))),A})}async failWave($,Z){let X=D.string().trim().min(1).parse($),J=D.number().int().nonnegative().parse(Z);return this.runTransaction(async(G)=>(await this.failWaveInTransaction(G,X,J)).wave)}async failWaveWithIncident($){let Z=M7$.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$(p(t$.waveId,Z.waveId),p(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=D.number().int().positive().max(100).parse($),[X,J]=await Promise.all([this.db.select({total:N`count(*)`}).from(h8).where(C1(h8.resolvedAt)),this.db.select().from(h8).where(C1(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(p(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(L1).where(p(L1.waveId,Z)),W=await $.select().from(XZ),H=new Set(W.map(z_)),U=Y.filter((P)=>!H.has(z_(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(p(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=D.string().trim().min(1).parse($),G=D.array(w7$).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(p(t$.waveId,$)).orderBy(v0(t$.level),v0(t$.ruleId))).map(rG)}async queueWaveRule($,Z,X){let J=D.string().trim().min(1).parse($),G=D.string().trim().min(1).parse(Z),Y=D.string().trim().min(1).parse(X),H=(await this.db.update(t$).set({status:"queued",jobId:Y}).where(F$(p(t$.waveId,J),p(t$.ruleId,G),p(t$.status,"pending"))).returning())[0];if(H)return rG(H);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$(p(t$.waveId,$),p(t$.ruleId,Z))).limit(1))[0];return J?rG(J):null}async applyRuleResult($){let Z=D.string().trim().min(1).parse($.waveId),X=jb.parse({ruleId:$.ruleId,ruleVersion:$.ruleVersion,inputFingerprint:$.inputFingerprint}),J=D.array(I4).parse($.writeIntents),G=D.number().int().nonnegative().parse($.completedAt);return this.runTransaction(async(Y)=>{let H=(await Y.select().from(t$).where(F$(p(t$.waveId,Z),p(t$.ruleId,X.ruleId))).limit(1))[0];if(!H)throw Error(`Projection rule "${X.ruleId}" is not scheduled for wave "${Z}"`);for(let T of J){let M=T.operation==="upsert"?T.entity.entityType:T.entityType;if(M!==H.targetType)throw Error(`Projection rule "${X.ruleId}" cannot write entity type "${M}"`)}if(H.status==="completed"){if(H.inputFingerprint!==X.inputFingerprint)throw Error(`Projection rule "${X.ruleId}" already completed with another input`);return rG(H)}if(H.status==="failed")throw Error(`Projection rule "${X.ruleId}" already failed for wave "${Z}"`);if((await Y.select({status:y0.status}).from(y0).where(p(y0.id,Z)).limit(1))[0]?.status!=="running")throw Error(`Projection wave "${Z}" is not running`);let Q=(await Y.select().from(U6).where(F$(p(U6.ruleId,X.ruleId),p(U6.ruleVersion,X.ruleVersion),p(U6.inputFingerprint,X.inputFingerprint))).limit(1))[0];if(Q&&iX(Q.writeIntents)!==iX(J))throw Error(`Projection memo conflict for rule "${X.ruleId}" and fingerprint "${X.inputFingerprint}"`);if(!Q)await Y.insert(U6).values({...X,writeIntents:J,createdAt:G});let O=await J.reduce(async(T,M)=>{let S=await T,K$=await this.applyWriteIntent(Y,M,G);return K$?[...S,K$]:S},Promise.resolve([])),_=(await Y.update(t$).set({status:"completed",inputFingerprint:X.inputFingerprint,changedTargets:O}).where(F$(p(t$.waveId,Z),p(t$.ruleId,X.ruleId))).returning())[0];if(!_)throw Error(`Failed to complete projection rule "${X.ruleId}" for wave "${Z}"`);return rG(_)})}async getRuleMemo($){let Z=jb.parse($),J=(await this.db.select().from(U6).where(F$(p(U6.ruleId,Z.ruleId),p(U6.ruleVersion,Z.ruleVersion),p(U6.inputFingerprint,Z.inputFingerprint))).limit(1))[0];if(!J)return null;return{...J,writeIntents:D.array(I4).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$(p(h.entityType,J),p(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$(p(h.entityType,J),p(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 H=j4(Z.entity.content);if(W?.contentHash===H&&W.content===Z.entity.content&&W.visibility===Z.entity.visibility&&iX(W.metadata)===iX(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:H,metadata:Z.entity.metadata,visibility:Z.entity.visibility,updated:X}).where(F$(p(h.entityType,J),p(h.id,G)));else await $.insert(h).values({id:G,entityType:J,content:Z.entity.content,contentHash:H,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:H}}}var R7$=/!\[([^\]]*)\]\(entity:\/\/image\/([^)]+)\)/g;function L7$($){return $.includes("entity://image/")}var q7$=new Set(["image"]);function Ib($){return!q7$.has($)}class T_{logger;constructor($){this.logger=$.child("ContentResolver")}detectReferences($){let Z=[],X=new RegExp(R7$.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(!L7$($))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:l$(Q)})}let W=$,H=0,U=0;for(let A of J){let Q=Y.get(A.imageId);if(Q){let O=``;W=W.replace(A.originalMarkdown,O),H++}else U++}if(H>0)this.logger.debug("Resolved image references",{resolvedCount:H,failedCount:U});return{content:W,resolvedCount:H,failedCount:U}}}function vb($,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=O9.spaced(Z.intervalMs),Y=Z.timeoutMs===void 0?G:G.pipe(O9.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 M_{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(k4.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 M_($)}constructor($){let{db:Z,client:X,url:J}=X_($.dbConfig);this.db=Z,this.dbClient=X,this.dbUrl=J,this.projectionStore=new KA(this.db,$.mutationAdmission);let G,Y;try{let W=X_($.dbConfig);G=W.client,this.searchDbClient=W.client;let H=J_($.embeddingDbConfig);if(Y=H.client,this.embeddingDb=H.db,this.embeddingDbClient=H.client,this.entityRegistry=$.entityRegistry,this.logger=($.logger??F9.getInstance()).child("EntityService"),!$.jobQueueService)throw Error("JobQueueService is required for EntityService initialization");this.jobQueueService=$.jobQueueService,this.entitySerializer=new U_(this.entityRegistry,this.logger),this.entityQueries=new K_({db:this.db,serializer:this.entitySerializer,logger:this.logger,embeddingDb:this.embeddingDb});let U=$.embeddingsEnabled??!0;if(this.entitySearch=new AA(W.db,$.embeddingService,this.entitySerializer,this.logger,U),this.entityMutations=new __({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 T_(this.logger),$.embeddingsEnabled??!0){let A=lG.createFresh(this,$.embeddingService,$.messageBus);this.jobQueueService.registerHandler(k4.embedding,A),this.embeddingHandlerRegistered=!0}this.dbInitPromise=this.initializeDatabase($.embeddingDbConfig,$.embeddingService.dimensions),this.dbInitPromise.catch(()=>{})}catch(W){try{if(this.embeddingHandlerRegistered)$.jobQueueService?.unregisterHandler(k4.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 v6(this.dbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to enable WAL mode for entity database (non-fatal)",X)}try{await v6(this.searchDbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to configure entity search database (non-fatal)",X)}try{await v6(this.embeddingDbClient,$.url)}catch(X){this.logger.warn("Failed to enable WAL mode for embedding database (non-fatal)",X)}await Fb(this.dbClient),await G_(this.embeddingDbClient,Z),await Y_(this.embeddingDbClient),await W_(this.searchDbClient,H_($.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=vb(X,{intervalMs:$.intervalMs??250,...$.timeoutMs!==void 0&&{timeoutMs:$.timeoutMs}}),G=await t.runPromiseExit(J,{...$.signal&&{signal:$.signal}});if(T0.isFailure(G)){if($.signal?.aborted)throw $.signal.reason;throw J6.squash(G.cause)}if(G.value.ready)this.indexReady=!0;return G.value}async getIndexReadinessStatus(){let[$,Z]=await Promise.all([this.jobQueueService.getActiveJobs([k4.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(Ib(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 w_{entitySchemas=new Map;entityAdapters=new Map;entityConfigs=new Map;createInterceptors=new Map;uploadSaveHandlers=[];persistValidators=new Map;frontmatterExtensions=new Map;logger;static createFresh($){return new w_($)}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=W6.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=N9.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 H=Object.fromEntries(Object.keys(W.shape).flatMap((A)=>Object.hasOwn(G,A)?[[A,G[A]]]:[])),U=W.safeParse(H);if(!U.success)for(let A of U.error.issues)Y.addIssue({code:"custom",path:[...A.path],message:A.message})}})}}class bb{format($){let Z=[];Z.push(`\\[${$.id}\\]`);let X=$.content,J={};if($.content.trim())try{let G=pZ($.content,D.record(D.string(),D.unknown()));X=G.content,J=G.metadata}catch{X=$.content}if(X.trim()){let G=X.trim();G=yb(G);let Y=J.title??$.metadata.title??$.metadata.name;if(Y){if(G.split(`
|
|
71
|
+
) THEN 1.0 ELSE 0.0 END`,P=N`(${1-H} * ${U}) + (${H} * ${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} < ${D7$}`,...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((H)=>H.entityId===G.entityId&&H.entityType===G.entityType):void 0,W=J.filter((H)=>{let U=Z?.has(H.entityType)??!0,A=H.entityId===G?.entityId&&H.entityType===G.entityType;return U&&!A});return wb(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=Lb($,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=A7$.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),H=Math.min($.length,Y+J.length+50),U=$.slice(W,H);if(W>0)U="..."+U;if(H<$.length)U=U+"...";return U}return $.slice(0,200)+($.length>200?"...":"")}}class U_{entityRegistry;logger;constructor($,Z){this.entityRegistry=$,this.logger=Z.child("EntitySerializer")}serializeEntity($){let Z=this.entityRegistry.getAdapter($.entityType);return s5(Z.toMarkdown($),$.visibility)}deserializeEntity($,Z){let X=this.entityRegistry.getAdapter(Z),J;try{J=X.fromMarkdown($)}catch(A){throw pU(Z,A)??A}let{metadata:G,visibility:Y,...W}=J,H=mU($),U=this.stripPolicyMetadata(G??{});return{...W,...H&&{visibility:H},metadata:U}}async convertToEntity($){try{return this.reconstructEntity($)}catch(Z){let X=r$(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=r$(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=s5(X.toMarkdown($),$.visibility),G=this.stripPolicyMetadata(X.extractMetadata($));return{markdown:J,metadata:G}}stripPolicyMetadata($){let{visibility:Z,...X}=$;return X}}var K7$=D.record(D.string(),D.unknown());function A_($){return{id:$.id,entityType:$.entityType,content:$.content,contentHash:$.contentHash,visibility:cU($.visibility),created:$.created,updated:$.updated,metadata:K7$.parse($.metadata)}}var V7$=D.object({field:D.string(),direction:D.enum(["asc","desc"]),nullsFirst:D.boolean().optional()}),Q7$=D.object({limit:D.number().int().positive().optional(),offset:D.number().int().min(0).optional().default(0),sortFields:D.array(V7$).optional(),filter:D.object({metadata:D.record(D.string(),D.unknown()).optional(),visibilityScope:D.enum(["public","shared","restricted"]).optional()}).optional(),publishedOnly:D.boolean().optional()});class K_{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=[p(h.id,Z),p(h.entityType,$)];if(J!=="restricted")G.push(Z8(h.visibility,w1(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 A_(W)}async listEntities($,Z={},X){let J=Q7$.parse(Z),{limit:G,offset:Y,sortFields:W,filter:H,publishedOnly:U}=J;this.logger.debug(`Listing entities of type ${$} (limit: ${G}, offset: ${Y}, filter: ${JSON.stringify(H)}, publishedOnly: ${U})`);let A=this.buildWhereConditions($,U,H?.metadata,H?.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(A_),$);return this.logger.debug(`Listed ${_.length} entities of type ${$}`),_}buildWhereConditions($,Z,X,J,G){let Y=[p(h.entityType,$)];if(Z){let H=N`json_extract(${h.metadata}, '$.status')`;if(G&&G.length>0)Y.push(N`${H} IN (${N.join(G.map((U)=>N`${U}`),N`, `)})`);else Y.push(N`(${H} = 'published' OR ${H} = 'active' OR ${H} IS NULL)`)}let W=J??"public";if(W!=="restricted")Y.push(Z8(h.visibility,w1(W)));if(X){for(let[H,U]of Object.entries(X))if(U!==void 0){let A=`$.${H}`;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(pX(W)),G(W)];return[G(W)]}if(Z==="updated"){let W=h.updated;if(J)return[v0(pX(W)),G(W)];return[G(W)]}let Y=N`json_extract(${h.metadata}, '$.' || ${Z})`;if(J)return[v0(pX(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,w1(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$(p(h.entityType,$),p(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$(p(f0.entityType,$),p(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$(p(h.entityType,$),p(h.id,Z))),this.logger.debug(`Deleted entity of type ${$} with ID ${Z}`),!0}}import{webcrypto as Eb}from"crypto";var qb="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var O7$=128,S4,rX;function B7$($){if($<0)throw RangeError("Wrong ID size");try{if(!S4||S4.length<$)S4=Buffer.allocUnsafe($*O7$),Eb.getRandomValues(S4),rX=0;else if(rX+$>S4.length)Eb.getRandomValues(S4),rX=0}catch(Z){throw S4=void 0,Z}rX+=$}function V_($=21){B7$($|=0);let Z="";for(let X=rX-$;X<rX;X++)Z+=qb[S4[X]&63];return Z}function qZ($=12){return V_($)}function mz$($){return`${$}_${V_(12)}`}var N7$=D.custom(($)=>typeof $==="object"&&$!==null&&!Array.isArray($));function O_($){if(Array.isArray($))return $.map((X)=>X===void 0?null:O_(X));let Z=N7$.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,O_(J)]));return $}function B_($){return JSON.stringify(O_($))}function Q_($){return j4(B_($))}var _7$=D.object({id:D.string().min(1),entityType:D.string().min(1),contentHash:D.string().min(1)});function P7$($){try{let Z=_7$.parse(JSON.parse($.data));return{entityId:Z.id,entityType:Z.entityType,contentHash:Z.contentHash}}catch{return null}}function xb($){return`${$.entityType}:${$.entityId}:${$.contentHash}`}function F7$($){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 N_ extends Error{}class __{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:j4(Z.content)},Y=this.entityRegistry.validateEntity(Z.entityType,G),W=this.entityRegistry.getPersistValidator(Y.entityType);if(W)await W(Y,{operation:"create"});let{markdown:H,metadata:U}=this.entitySerializer.prepareEntityForStorage(Y,Y.entityType),A=j4(H),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:Q_({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:H,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,H)}),await this.notifyProjectionScheduler(),this.logger.debug(`Persisted entity ${Y.entityType}:${Q} immediately`),await this.emitEntityEvent(e5.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:j4(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:H}=this.entitySerializer.prepareEntityForStorage(G,G.entityType),U=j4(W),Q=(await this.db.select({contentHash:h.contentHash,visibility:h.visibility,metadata:h.metadata}).from(h).where(F$(p(h.id,G.id),p(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&&B_(Q.metadata)===B_(H)){if(this.logger.debug(`Skipping no-op update for ${G.entityType}:${G.id}`),X?.eventContext)await this.emitEntityEvent(e5.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:Q_({contentHash:U,metadata:H,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:H,updated:new Date(G.updated).getTime()}).where(F$(p(h.id,G.id),p(h.entityType,G.entityType),X?.expectedContentHash!==void 0?p(h.contentHash,X.expectedContentHash):void 0));if(X?.expectedContentHash!==void 0&&Number(P.rowsAffected)===0)throw new N_;await this.upsertFtsIndex(O,G.id,G.entityType,W)})}catch(O){if(!(O instanceof N_))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(e5.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$(p(f0.entityType,Z),p(f0.entityId,X))),await this.projectionStore.withDirtyInput({sourceType:Z,sourceId:X,revision:`deleted:${Q_({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$(p(h.entityType,Z),p(h.id,X)))}),await this.notifyProjectionScheduler(),await this.emitEntityEvent(e5.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(!F7$(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$(p(f0.entityType,Z.entityType),p(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,H=0,U=0,A=0,Q=0;for(let O of Z){if(this.entityRegistry.getEntityTypeConfig(O.entityType).embeddable===!1){Y++;continue}A++;let _=xb({entityId:O.id,entityType:O.entityType,contentHash:O.contentHash}),T=$.has(_),M=J.get(`${O.entityType}:${O.id}`);if(M===void 0){if(T)U++,Y++;else W++,G.push(O);continue}if(M!==O.contentHash){if(T)U++,Y++;else H++,G.push(O);continue}Q++,Y++}return{tableMissing:!1,skipped:Y,rowsToBackfill:G,missingEmbeddings:W,staleEmbeddings:H,failedEmbeddings:U,embeddableEntities:A,embeddedEntities:Q}}async getFailedEmbeddingKeys(){let $=await this.jobQueueService.getFailedJobs([k4.embedding]),Z=new Set;for(let X of $){let J=P7$(X);if(J)Z.add(xb(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:H}=$,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:k4.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,...H?.interfaceType?{interfaceType:H.interfaceType,requestedByInterface:H.interfaceType}:{},...H?.actor?{requestedByActor:H.actor,...H.actor.kind==="user"?{requestedByUserId:H.actor.userId}:{}}:{},silent:!0}}});return this.logger.debug(`Queued embedding job for ${X}:${Z} (job: ${Q})`),{entityId:Z,jobId:Q,skipped:!1}}}class P_{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 z7$(Y,()=>G,Z)}async idle(){await this.tail}}class F_{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 z7$($,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 lX=D.lazy(()=>D.union([D.null(),D.boolean(),D.number().finite().refine(($)=>!Number.isInteger($)||Number.isSafeInteger($),{message:"integer exceeds the JSON-safe range"}),D.string(),D.array(lX),D.record(D.string(),lX)])),y6=D.record(D.string(),lX),T7$=D.strictObject({id:D.string().trim().min(1),entityType:D.string().trim().min(1),content:D.string(),metadata:y6,visibility:N9}),I4=D.discriminatedUnion("operation",[D.strictObject({operation:D.literal("upsert"),entity:T7$}),D.strictObject({operation:D.literal("delete"),entityType:D.string().trim().min(1),id:D.string().trim().min(1)})]);var Sb=D.strictObject({sourceType:D.string().trim().min(1),sourceId:D.string().trim().min(1),revision:D.string().trim().min(1),operation:D.enum(["upsert","delete"]),markedAt:D.number().int().nonnegative()}),M7$=D.strictObject({waveId:D.string().trim().min(1),ruleId:D.string().trim().min(1),jobId:D.string().trim().min(1).nullable(),failureReason:D.string().trim().min(1).max(500),failedAt:D.number().int().nonnegative()}),jb=D.strictObject({ruleId:D.string().trim().min(1),ruleVersion:D.string().trim().min(1),inputFingerprint:D.string().trim().min(1)}),w7$=D.strictObject({ruleId:D.string().trim().min(1),targetType:D.string().trim().min(1),level:D.number().int().nonnegative()}),C7$=D.strictObject({entityType:D.string().trim().min(1),entityId:D.string().trim().min(1),operation:D.enum(["upsert","delete"]),contentHash:D.string().min(1).optional()});function z_($){return`${$.sourceType}\x00${$.sourceId}`}function kb($){let Z=new Map;for(let X of $)Z.set(z_(X),X);return[...Z.values()].sort((X,J)=>X.generation-J.generation)}function iX($){if(Array.isArray($))return`[${$.map((Z)=>iX(Z)).join(",")}]`;if($!==null&&typeof $==="object")return`{${Object.entries($).sort(([Z],[X])=>Z.localeCompare(X)).map(([Z,X])=>`${JSON.stringify(Z)}:${iX(X)}`).join(",")}}`;return JSON.stringify($)}function lG($){let Z=D.array(C7$).parse($.changedTargets);return{...$,changedTargets:Z}}class KA{db;mutationAdmission;transactionTail=new P_;constructor($,Z){this.db=$,this.mutationAdmission=Z}async markDirty($){let Z=Sb.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=Sb.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 kb($)}async claimPendingWave($){let Z=D.string().trim().min(1).parse($.waveId),X=D.string().trim().min(1).parse($.graphFingerprint),J=D.number().int().nonnegative().parse($.startedAt);return this.runTransaction(async(G)=>{let Y=await G.select({id:y0.id}).from(y0).where(p(y0.status,"running")).limit(1);if(Y.length>0)throw Error(`Cannot claim projection wave while "${Y[0]?.id}" is running`);let H=(await G.select({generation:XZ.generation}).from(XZ).orderBy(PZ(XZ.generation)).limit(1))[0]?.generation;if(H===void 0)return null;let U={id:Z,cutoffGeneration:H,graphFingerprint:X,status:"running",startedAt:J,completedAt:null};await G.insert(y0).values(U);let A=await G.select().from(XZ).where(S6(XZ.generation,H)).orderBy(v0(XZ.generation)),Q=kb(A);return await G.insert(L1).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(S6(XZ.generation,H)),U})}listWaveInputs($){return this.db.select().from(L1).where(p(L1.waveId,$)).orderBy(v0(L1.generation))}async getActiveWave(){return(await this.db.select().from(y0).where(p(y0.status,"running")).limit(1))[0]??null}async completeWave($,Z){let X=D.string().trim().min(1).parse($),J=D.number().int().nonnegative().parse(Z);return this.runTransaction(async(G)=>{let W=(await G.select().from(y0).where(p(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$(p(t$.waveId,X),iU(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(p(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$(C1(h8.resolvedAt),S6(h8.recoveryGeneration,W.cutoffGeneration))),A})}async failWave($,Z){let X=D.string().trim().min(1).parse($),J=D.number().int().nonnegative().parse(Z);return this.runTransaction(async(G)=>(await this.failWaveInTransaction(G,X,J)).wave)}async failWaveWithIncident($){let Z=M7$.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$(p(t$.waveId,Z.waveId),p(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=D.number().int().positive().max(100).parse($),[X,J]=await Promise.all([this.db.select({total:N`count(*)`}).from(h8).where(C1(h8.resolvedAt)),this.db.select().from(h8).where(C1(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(p(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(L1).where(p(L1.waveId,Z)),W=await $.select().from(XZ),H=new Set(W.map(z_)),U=Y.filter((P)=>!H.has(z_(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(p(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=D.string().trim().min(1).parse($),G=D.array(w7$).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(p(t$.waveId,$)).orderBy(v0(t$.level),v0(t$.ruleId))).map(lG)}async queueWaveRule($,Z,X){let J=D.string().trim().min(1).parse($),G=D.string().trim().min(1).parse(Z),Y=D.string().trim().min(1).parse(X),H=(await this.db.update(t$).set({status:"queued",jobId:Y}).where(F$(p(t$.waveId,J),p(t$.ruleId,G),p(t$.status,"pending"))).returning())[0];if(H)return lG(H);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$(p(t$.waveId,$),p(t$.ruleId,Z))).limit(1))[0];return J?lG(J):null}async applyRuleResult($){let Z=D.string().trim().min(1).parse($.waveId),X=jb.parse({ruleId:$.ruleId,ruleVersion:$.ruleVersion,inputFingerprint:$.inputFingerprint}),J=D.array(I4).parse($.writeIntents),G=D.number().int().nonnegative().parse($.completedAt);return this.runTransaction(async(Y)=>{let H=(await Y.select().from(t$).where(F$(p(t$.waveId,Z),p(t$.ruleId,X.ruleId))).limit(1))[0];if(!H)throw Error(`Projection rule "${X.ruleId}" is not scheduled for wave "${Z}"`);for(let T of J){let M=T.operation==="upsert"?T.entity.entityType:T.entityType;if(M!==H.targetType)throw Error(`Projection rule "${X.ruleId}" cannot write entity type "${M}"`)}if(H.status==="completed"){if(H.inputFingerprint!==X.inputFingerprint)throw Error(`Projection rule "${X.ruleId}" already completed with another input`);return lG(H)}if(H.status==="failed")throw Error(`Projection rule "${X.ruleId}" already failed for wave "${Z}"`);if((await Y.select({status:y0.status}).from(y0).where(p(y0.id,Z)).limit(1))[0]?.status!=="running")throw Error(`Projection wave "${Z}" is not running`);let Q=(await Y.select().from(U6).where(F$(p(U6.ruleId,X.ruleId),p(U6.ruleVersion,X.ruleVersion),p(U6.inputFingerprint,X.inputFingerprint))).limit(1))[0];if(Q&&iX(Q.writeIntents)!==iX(J))throw Error(`Projection memo conflict for rule "${X.ruleId}" and fingerprint "${X.inputFingerprint}"`);if(!Q)await Y.insert(U6).values({...X,writeIntents:J,createdAt:G});let O=await J.reduce(async(T,M)=>{let S=await T,K$=await this.applyWriteIntent(Y,M,G);return K$?[...S,K$]:S},Promise.resolve([])),_=(await Y.update(t$).set({status:"completed",inputFingerprint:X.inputFingerprint,changedTargets:O}).where(F$(p(t$.waveId,Z),p(t$.ruleId,X.ruleId))).returning())[0];if(!_)throw Error(`Failed to complete projection rule "${X.ruleId}" for wave "${Z}"`);return lG(_)})}async getRuleMemo($){let Z=jb.parse($),J=(await this.db.select().from(U6).where(F$(p(U6.ruleId,Z.ruleId),p(U6.ruleVersion,Z.ruleVersion),p(U6.inputFingerprint,Z.inputFingerprint))).limit(1))[0];if(!J)return null;return{...J,writeIntents:D.array(I4).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$(p(h.entityType,J),p(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$(p(h.entityType,J),p(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 H=j4(Z.entity.content);if(W?.contentHash===H&&W.content===Z.entity.content&&W.visibility===Z.entity.visibility&&iX(W.metadata)===iX(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:H,metadata:Z.entity.metadata,visibility:Z.entity.visibility,updated:X}).where(F$(p(h.entityType,J),p(h.id,G)));else await $.insert(h).values({id:G,entityType:J,content:Z.entity.content,contentHash:H,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:H}}}var R7$=/!\[([^\]]*)\]\(entity:\/\/image\/([^)]+)\)/g;function L7$($){return $.includes("entity://image/")}var q7$=new Set(["image"]);function Ib($){return!q7$.has($)}class T_{logger;constructor($){this.logger=$.child("ContentResolver")}detectReferences($){let Z=[],X=new RegExp(R7$.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(!L7$($))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:r$(Q)})}let W=$,H=0,U=0;for(let A of J){let Q=Y.get(A.imageId);if(Q){let O=``;W=W.replace(A.originalMarkdown,O),H++}else U++}if(H>0)this.logger.debug("Resolved image references",{resolvedCount:H,failedCount:U});return{content:W,resolvedCount:H,failedCount:U}}}function vb($,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=O9.spaced(Z.intervalMs),Y=Z.timeoutMs===void 0?G:G.pipe(O9.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 M_{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(k4.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 M_($)}constructor($){let{db:Z,client:X,url:J}=X_($.dbConfig);this.db=Z,this.dbClient=X,this.dbUrl=J,this.projectionStore=new KA(this.db,$.mutationAdmission);let G,Y;try{let W=X_($.dbConfig);G=W.client,this.searchDbClient=W.client;let H=J_($.embeddingDbConfig);if(Y=H.client,this.embeddingDb=H.db,this.embeddingDbClient=H.client,this.entityRegistry=$.entityRegistry,this.logger=($.logger??F9.getInstance()).child("EntityService"),!$.jobQueueService)throw Error("JobQueueService is required for EntityService initialization");this.jobQueueService=$.jobQueueService,this.entitySerializer=new U_(this.entityRegistry,this.logger),this.entityQueries=new K_({db:this.db,serializer:this.entitySerializer,logger:this.logger,embeddingDb:this.embeddingDb});let U=$.embeddingsEnabled??!0;if(this.entitySearch=new AA(W.db,$.embeddingService,this.entitySerializer,this.logger,U),this.entityMutations=new __({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 T_(this.logger),$.embeddingsEnabled??!0){let A=rG.createFresh(this,$.embeddingService,$.messageBus);this.jobQueueService.registerHandler(k4.embedding,A),this.embeddingHandlerRegistered=!0}this.dbInitPromise=this.initializeDatabase($.embeddingDbConfig,$.embeddingService.dimensions),this.dbInitPromise.catch(()=>{})}catch(W){try{if(this.embeddingHandlerRegistered)$.jobQueueService?.unregisterHandler(k4.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 v6(this.dbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to enable WAL mode for entity database (non-fatal)",X)}try{await v6(this.searchDbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to configure entity search database (non-fatal)",X)}try{await v6(this.embeddingDbClient,$.url)}catch(X){this.logger.warn("Failed to enable WAL mode for embedding database (non-fatal)",X)}await Fb(this.dbClient),await G_(this.embeddingDbClient,Z),await Y_(this.embeddingDbClient),await W_(this.searchDbClient,H_($.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=vb(X,{intervalMs:$.intervalMs??250,...$.timeoutMs!==void 0&&{timeoutMs:$.timeoutMs}}),G=await t.runPromiseExit(J,{...$.signal&&{signal:$.signal}});if(T0.isFailure(G)){if($.signal?.aborted)throw $.signal.reason;throw J6.squash(G.cause)}if(G.value.ready)this.indexReady=!0;return G.value}async getIndexReadinessStatus(){let[$,Z]=await Promise.all([this.jobQueueService.getActiveJobs([k4.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(Ib(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 w_{entitySchemas=new Map;entityAdapters=new Map;entityConfigs=new Map;createInterceptors=new Map;uploadSaveHandlers=[];persistValidators=new Map;frontmatterExtensions=new Map;logger;static createFresh($){return new w_($)}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=W6.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=N9.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 H=Object.fromEntries(Object.keys(W.shape).flatMap((A)=>Object.hasOwn(G,A)?[[A,G[A]]]:[])),U=W.safeParse(H);if(!U.success)for(let A of U.error.issues)Y.addIssue({code:"custom",path:[...A.path],message:A.message})}})}}class bb{format($){let Z=[];Z.push(`\\[${$.id}\\]`);let X=$.content,J={};if($.content.trim())try{let G=pZ($.content,D.record(D.string(),D.unknown()));X=G.content,J=G.metadata}catch{X=$.content}if(X.trim()){let G=X.trim();G=yb(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(),H=W.length>500?W.substring(0,500)+"...":W;Z.push(H)}}return Z.join(`
|
|
75
75
|
|
|
76
|
-
`)}parse($){throw Error("BaseEntityFormatter is for display only. Use BaseEntityAdapter for parsing operations.")}}class sX{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 E7$($,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 gb($,Z){return Z==="public"?$:`${$}-${Z}`}function hb($,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 C_{dataSources=new Map;logger;static createFresh($){return new C_($)}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 mb=D.object({currentPage:D.number(),totalPages:D.number(),totalItems:D.number(),pageSize:D.number(),hasNextPage:D.boolean(),hasPrevPage:D.boolean()});function R_($,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 L_($,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 H=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:X},visibilityScope:G}}});if(H[0])return H[0];let U=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:HJ(X)},visibilityScope:G}}});if(U[0])return U[0];let A=await $.listEntities({entityType:Z,options:{limit:200,filter:{visibilityScope:G}}}),Q=HJ(X);return A.find((O)=>typeof O.metadata.title==="string"&&HJ(O.metadata.title)===Q)??null}catch(Y){if(J)J.error(`Failed to find entity ${Z}:${X}`,{error:Y});return null}}async function fb($,Z,X,J,G="Entity",Y="public"){let W=await L_($,Z,X,J,Y);if(!W)return{ok:!1,error:`${G} not found: ${Z}/${X}`};return{ok:!0,entity:W}}class v4{callback;heartbeatInterval;constructor($){this.callback=$}static from($){if(!$)return;return new v4($)}createSub($){let{scale:Z}=$??{};if(Z){let{start:X,end:J}=Z,G=J-X;return new v4(async(Y)=>{let W=X+Y.progress/(Y.total??100)*G;await this.callback({...Y,progress:W,total:100})})}return new v4(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 x7$=D.object({enabled:D.boolean().describe("Whether the plugin is enabled"),debug:D.boolean().describe("Enable debug logging for this plugin")});class iG extends Error{pluginId;issues;constructor($,Z){super(`Invalid plugin config for ${$}`);this.name="PluginConfigValidationError",this.pluginId=$,this.issues=Z}}var S7$=D.object({toolName:D.string(),args:D.unknown(),progressToken:D.union([D.string(),D.number()]).optional(),hasProgress:D.boolean().optional(),interfaceType:D.string(),actor:$7,displayName:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),channelName:D.string().optional(),runId:D.string().optional(),toolCallId:D.string().optional(),userPermissionLevel:D.enum(["admin","trusted","public"]).optional(),isAnchor:D.boolean().optional(),signal:D.custom(($)=>$ instanceof AbortSignal).optional()}),j7$=D.object({resourceUri:D.string()});class Z7{id;version;description;packageName;config;context;get logger(){return this.context?.logger??F9.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 iG($,G.error.issues.map((Y)=>({path:Y.path.map(String).join("."),code:Y.code,message:Y.message})));this.config=G.data}setupMessageHandlers($){$.messaging.subscribe(sG.toolExecute(this.id),async(Z)=>{try{let X=S7$.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:H,actor:U,displayName:A,conversationId:Q,channelId:O,channelName:P,runId:_,toolCallId:T,userPermissionLevel:M,isAnchor:S,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:H,actor:U,...A&&{displayName:A},...Q&&{conversationId:Q},...O&&{channelId:O},...P&&{channelName:P},..._&&{runId:_},...T&&{toolCallId:T},...M&&{userPermissionLevel:M},...S!==void 0&&{isAnchor:S},...K$&&{signal:K$},...W&&Y!==void 0&&{progressToken:Y,sendProgress:async(A$)=>{await $.messaging.send({type:sG.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:l$(X)}}}),$.messaging.subscribe(sG.resourceGet(this.id),async(Z)=>{try{let X=j7$.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((H)=>H.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:l$(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 v4.from(async(J)=>{await Z.messaging.send({type:sG.progress(X),payload:{progressToken:$,notification:{progress:J.progress,total:J.total,message:J.message}}})})}}var pb=D.object({id:D.string(),template:D.string(),content:D.unknown().optional(),dataQuery:D.looseObject({entityType:D.string().optional(),template:D.string().optional(),query:D.looseObject({id:D.string().optional(),limit:D.number().optional(),offset:D.number().optional()}).optional()}).optional(),order:D.number().optional()}),q_=["primary","secondary"],cb=D.object({show:D.boolean().default(!1),label:D.string().optional(),slot:D.enum(q_).default("primary"),priority:D.number().min(0).max(100).default(50)}).optional(),E_=D.object({id:D.string(),path:D.string(),title:D.string().default(""),pageLabel:D.string().optional(),description:D.string().default(""),sections:D.array(pb).default([]),layout:D.string().default("default"),fullscreen:D.boolean().optional(),pluginId:D.string().optional(),sourceEntityType:D.string().optional(),external:D.boolean().optional(),navigation:cb}),db=D.object({routes:D.array(E_),pluginId:D.string()}),ub=D.object({paths:D.array(D.string()).optional(),pluginId:D.string().optional()}),ob=D.object({pluginId:D.string().optional()}),nb=D.object({path:D.string()}),VA=D.object({label:D.string(),href:D.string(),priority:D.number()});var k7$="site:metadata:get",I7$="site:metadata:updated",QA=D.object({heading:D.string().describe("Main CTA heading text"),buttonText:D.string().describe("Call-to-action button text"),buttonLink:D.string().describe("URL or anchor for the CTA button")}),x_=D.object({blurb:D.string().optional().describe("Short italic subtitle under the section title")}),S_=D.object({represents:D.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:D.string().describe("The site's title"),description:D.string().describe("The site's description"),url:D.string().optional().describe("Canonical site URL"),copyright:D.string().optional().describe("Copyright notice text"),logo:D.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:D.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:D.string().optional().describe("Analytics script HTML"),cta:QA.optional().describe("Call-to-action configuration"),sections:D.record(D.string(),x_).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 v7$=D.object({platform:D.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:D.string().describe("Profile or contact URL"),label:D.string().optional().describe("Optional display label")}),y7$=D.object({represents:D.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:D.string().describe("The site's title"),description:D.string().describe("The site's description"),url:D.string().optional().describe("Canonical site URL"),copyright:D.string(),logo:D.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:D.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:D.string().optional().describe("Analytics script HTML"),cta:QA.optional().describe("Call-to-action configuration"),sections:D.record(D.string(),x_).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:D.object({primary:D.array(VA),secondary:D.array(VA)}),socialLinks:D.array(v7$).optional().describe("Social media links from profile metadata")});var b7$=D.record(D.string(),D.unknown());function lb($,Z){let X=b7$.safeParse($);return X.success&&Z.every((J)=>(J in X.data))}class aG{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 sX{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 E7$($,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 gb($,Z){return Z==="public"?$:`${$}-${Z}`}function hb($,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 C_{dataSources=new Map;logger;static createFresh($){return new C_($)}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 mb=D.object({currentPage:D.number(),totalPages:D.number(),totalItems:D.number(),pageSize:D.number(),hasNextPage:D.boolean(),hasPrevPage:D.boolean()});function R_($,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 L_($,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 H=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:X},visibilityScope:G}}});if(H[0])return H[0];let U=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:HJ(X)},visibilityScope:G}}});if(U[0])return U[0];let A=await $.listEntities({entityType:Z,options:{limit:200,filter:{visibilityScope:G}}}),Q=HJ(X);return A.find((O)=>typeof O.metadata.title==="string"&&HJ(O.metadata.title)===Q)??null}catch(Y){if(J)J.error(`Failed to find entity ${Z}:${X}`,{error:Y});return null}}async function fb($,Z,X,J,G="Entity",Y="public"){let W=await L_($,Z,X,J,Y);if(!W)return{ok:!1,error:`${G} not found: ${Z}/${X}`};return{ok:!0,entity:W}}class v4{callback;heartbeatInterval;constructor($){this.callback=$}static from($){if(!$)return;return new v4($)}createSub($){let{scale:Z}=$??{};if(Z){let{start:X,end:J}=Z,G=J-X;return new v4(async(Y)=>{let W=X+Y.progress/(Y.total??100)*G;await this.callback({...Y,progress:W,total:100})})}return new v4(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 x7$=D.object({enabled:D.boolean().describe("Whether the plugin is enabled"),debug:D.boolean().describe("Enable debug logging for this plugin")});class iG extends Error{pluginId;issues;constructor($,Z){super(`Invalid plugin config for ${$}`);this.name="PluginConfigValidationError",this.pluginId=$,this.issues=Z}}var S7$=D.object({toolName:D.string(),args:D.unknown(),progressToken:D.union([D.string(),D.number()]).optional(),hasProgress:D.boolean().optional(),interfaceType:D.string(),actor:$7,displayName:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),channelName:D.string().optional(),runId:D.string().optional(),toolCallId:D.string().optional(),userPermissionLevel:D.enum(["admin","trusted","public"]).optional(),isAnchor:D.boolean().optional(),signal:D.custom(($)=>$ instanceof AbortSignal).optional()}),j7$=D.object({resourceUri:D.string()});class Z7{id;version;description;packageName;config;context;get logger(){return this.context?.logger??F9.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 iG($,G.error.issues.map((Y)=>({path:Y.path.map(String).join("."),code:Y.code,message:Y.message})));this.config=G.data}setupMessageHandlers($){$.messaging.subscribe(sG.toolExecute(this.id),async(Z)=>{try{let X=S7$.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:H,actor:U,displayName:A,conversationId:Q,channelId:O,channelName:P,runId:_,toolCallId:T,userPermissionLevel:M,isAnchor:S,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:H,actor:U,...A&&{displayName:A},...Q&&{conversationId:Q},...O&&{channelId:O},...P&&{channelName:P},..._&&{runId:_},...T&&{toolCallId:T},...M&&{userPermissionLevel:M},...S!==void 0&&{isAnchor:S},...K$&&{signal:K$},...W&&Y!==void 0&&{progressToken:Y,sendProgress:async(A$)=>{await $.messaging.send({type:sG.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:r$(X)}}}),$.messaging.subscribe(sG.resourceGet(this.id),async(Z)=>{try{let X=j7$.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((H)=>H.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:r$(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 v4.from(async(J)=>{await Z.messaging.send({type:sG.progress(X),payload:{progressToken:$,notification:{progress:J.progress,total:J.total,message:J.message}}})})}}var pb=D.object({id:D.string(),template:D.string(),content:D.unknown().optional(),dataQuery:D.looseObject({entityType:D.string().optional(),template:D.string().optional(),query:D.looseObject({id:D.string().optional(),limit:D.number().optional(),offset:D.number().optional()}).optional()}).optional(),order:D.number().optional()}),q_=["primary","secondary"],cb=D.object({show:D.boolean().default(!1),label:D.string().optional(),slot:D.enum(q_).default("primary"),priority:D.number().min(0).max(100).default(50)}).optional(),E_=D.object({id:D.string(),path:D.string(),title:D.string().default(""),pageLabel:D.string().optional(),description:D.string().default(""),sections:D.array(pb).default([]),layout:D.string().default("default"),fullscreen:D.boolean().optional(),pluginId:D.string().optional(),sourceEntityType:D.string().optional(),external:D.boolean().optional(),navigation:cb}),db=D.object({routes:D.array(E_),pluginId:D.string()}),ub=D.object({paths:D.array(D.string()).optional(),pluginId:D.string().optional()}),ob=D.object({pluginId:D.string().optional()}),nb=D.object({path:D.string()}),VA=D.object({label:D.string(),href:D.string(),priority:D.number()});var k7$="site:metadata:get",I7$="site:metadata:updated",QA=D.object({heading:D.string().describe("Main CTA heading text"),buttonText:D.string().describe("Call-to-action button text"),buttonLink:D.string().describe("URL or anchor for the CTA button")}),x_=D.object({blurb:D.string().optional().describe("Short italic subtitle under the section title")}),S_=D.object({represents:D.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:D.string().describe("The site's title"),description:D.string().describe("The site's description"),url:D.string().optional().describe("Canonical site URL"),copyright:D.string().optional().describe("Copyright notice text"),logo:D.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:D.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:D.string().optional().describe("Analytics script HTML"),cta:QA.optional().describe("Call-to-action configuration"),sections:D.record(D.string(),x_).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 v7$=D.object({platform:D.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:D.string().describe("Profile or contact URL"),label:D.string().optional().describe("Optional display label")}),y7$=D.object({represents:D.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:D.string().describe("The site's title"),description:D.string().describe("The site's description"),url:D.string().optional().describe("Canonical site URL"),copyright:D.string(),logo:D.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:D.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:D.string().optional().describe("Analytics script HTML"),cta:QA.optional().describe("Call-to-action configuration"),sections:D.record(D.string(),x_).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:D.object({primary:D.array(VA),secondary:D.array(VA)}),socialLinks:D.array(v7$).optional().describe("Social media links from profile metadata")});var b7$=D.record(D.string(),D.unknown());function rb($,Z){let X=b7$.safeParse($);return X.success&&Z.every((J)=>(J in X.data))}class aG{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}
|
|
80
80
|
${G}`}formatCodeBlock($,Z=""){return`\`\`\`${Z}
|
|
81
81
|
${$}
|
|
82
|
-
\`\`\``}hasFields($,Z){return
|
|
82
|
+
\`\`\``}hasFields($,Z){return rb($,Z)}formatError($){return`Error: ${$}`}}var vM$=D.object({message:D.string()});var lb=D.record(D.string(),D.unknown());class tG{schema;config;processor=ib();constructor($,Z){this.schema=$,this.config=Z}getLabels(){let $={};for(let Z of this.config.mappings)$[Z.key]=Z.label;return $}generateBodyTemplate(){if(this.config.mappings.length===0)return"";let $=[];for(let Z of this.config.mappings)$.push(`## ${Z.label}`,"",`<!-- Write your ${Z.label.toLowerCase()} here -->`,"");return $.join(`
|
|
83
83
|
`).trimEnd()+`
|
|
84
84
|
`}format($){try{let Z=[`# ${this.config.title}`,""];for(let X of this.config.mappings)this.formatField($,X,Z,2);return Z.join(`
|
|
85
|
-
`)}catch(Z){throw Error(`Failed to format structured content: ${this.describeError(Z)}`,{cause:Z})}}parse($){try{let Z=this.processor.parse($),X=this.extractSections(Z,2),J=this.buildDataFromSections(X,this.config.mappings);return this.schema.parse(J)}catch(Z){throw Error(`Failed to parse structured content: ${this.describeError(Z)}`,{cause:Z})}}describeError($){if($ instanceof D.ZodError)return $.issues.map((Z)=>`${Z.path.join(".")||"(root)"}: ${Z.message}`).join("; ");return
|
|
85
|
+
`)}catch(Z){throw Error(`Failed to format structured content: ${this.describeError(Z)}`,{cause:Z})}}parse($){try{let Z=this.processor.parse($),X=this.extractSections(Z,2),J=this.buildDataFromSections(X,this.config.mappings);return this.schema.parse(J)}catch(Z){throw Error(`Failed to parse structured content: ${this.describeError(Z)}`,{cause:Z})}}describeError($){if($ instanceof D.ZodError)return $.issues.map((Z)=>`${Z.path.join(".")||"(root)"}: ${Z.message}`).join("; ");return r$($)}escapeBlockMarkup($){return $.replace(/^(\s*)#/gm,"$1\\#")}formatField($,Z,X,J){let G="#".repeat(J)+" "+Z.label,Y=this.getValueByPath($,Z.key);if(Z.type==="custom"&&Z.formatter){if(Y!==void 0&&Y!==null){X.push(G,"");let W=Z.formatter(Y);if(W)X.push(W,"")}return}switch(Z.type){case"string":case"number":if(Y===void 0||Y===null)break;X.push(G,this.escapeBlockMarkup(String(Y)),"");break;case"object":if(X.push(G),Z.children&&Y)for(let W of Z.children)this.formatField(Y,W,X,J+1);break;case"array":if(X.push(G,""),Array.isArray(Y))if(Z.itemType==="object"&&Z.itemMappings)Y.forEach((W,H)=>{if(X.push(`${"#".repeat(J+1)} ${Z.label.slice(0,-1)} ${H+1}`),X.push(""),Z.itemMappings)for(let U of Z.itemMappings)this.formatField(W,U,X,J+2)});else{for(let W of Y){let H=this.defaultArrayItemFormat(W);X.push(`- ${H}`)}X.push("")}break}}getValueByPath($,Z){let X=Z.split("."),J=$;for(let G of X){let Y=lb.safeParse(J);if(!Y.success)return;J=Y.data[G]}return J}defaultArrayItemFormat($){if(typeof $==="string"||typeof $==="number")return String($);return JSON.stringify($)}extractSections($,Z){let X=new Map,J=null,G=[];for(let Y of $.children)if(Y.type==="heading"&&Y.depth===Z){if(J)X.set(J.toLowerCase(),G);J=this.getHeadingText(Y),G=[]}else if(J)G.push(Y);if(J)X.set(J.toLowerCase(),G);return X}extractSubsections($,Z){let X=new Map,J=null,G=[];for(let Y of $)if(Y.type==="heading"&&Y.depth===Z){if(J)X.set(J.toLowerCase(),G);J=this.getHeadingText(Y),G=[]}else if(J)G.push(Y);if(J)X.set(J.toLowerCase(),G);return X}textNodeSchema=D.object({type:D.literal("text"),value:D.string()});extractTextValue($){let Z=this.textNodeSchema.safeParse($);return Z.success?Z.data.value:""}getHeadingText($){return $.children.filter((X)=>X.type==="text").map((X)=>this.extractTextValue(X)).join("")}buildDataFromSections($,Z,X=2){let J={};for(let G of Z){let Y=$.get(G.label.toLowerCase());if(G.type==="custom"&&G.parser&&Y){let W=this.getTextFromSection(Y),H=G.parser(W);this.setValueByPath(J,G.key,H)}else if(G.type==="object"&&G.children&&Y){let W=this.extractSubsections(Y,X+1),H=this.buildDataFromSections(W,G.children,X+1);this.setValueByPath(J,G.key,H)}else if(G.type==="array"&&Y)if(G.itemType==="object"&&G.itemMappings){let W=this.extractObjectArrayItems(Y,X+1,G.itemMappings);this.setValueByPath(J,G.key,W)}else{let W=this.extractSimpleArrayItems(Y);this.setValueByPath(J,G.key,W)}else if(Y){let W=this.getTextFromSection(Y),H=G.type==="number"?Number(W):W;this.setValueByPath(J,G.key,H)}}return J}setValueByPath($,Z,X){let J=Z.split("."),G=$;for(let W=0;W<J.length-1;W++){let H=J[W];if(!H)continue;let U=lb.safeParse(G[H]);if(U.success){G[H]=U.data,G=U.data;continue}let A={};G[H]=A,G=A}let Y=J[J.length-1];if(Y)G[Y]=X}getTextFromSection($){let Z=[];for(let X of $)if(X.type==="paragraph"){let J=this.extractTextFromParagraph(X);if(J)Z.push(J)}else 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.join(`
|
|
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 H=this.extractSubsections(G,Z+1),U=this.buildDataFromSections(H,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),H=this.buildDataFromSections(W,X,Z+1);J.push(H)}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 m7$($){return $&&$.__esModule&&Object.prototype.hasOwnProperty.call($,"default")?$.default:$}var cZ={},OA={},y4={},sb;function eG(){if(sb)return y4;sb=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,H){if(H){let U=Object.keys(H);for(let A=0,Q=U.length;A<Q;A+=1){let O=U[A];W[O]=H[O]}}return W}function G(W,H){let U="";for(let A=0;A<H;A+=1)U+=W;return U}function Y(W){return W===0&&Number.NEGATIVE_INFINITY===1/W}return y4.isNothing=$,y4.isObject=Z,y4.toArray=X,y4.repeat=G,y4.isNegativeZero=Y,y4.extend=J,y4}var j_,ab;function $Y(){if(ab)return j_;ab=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
|
|
|
@@ -90,20 +90,20 @@ ${$}
|
|
|
90
90
|
`+O}let T=Z(G.buffer,H[Q],U[Q],G.position,_);O+=$.repeat(" ",Y.indent)+X((G.line+1).toString(),P)+" | "+T.str+`
|
|
91
91
|
`,O+=$.repeat("-",Y.indent+P+3+T.pos)+`^
|
|
92
92
|
`;for(let M=1;M<=Y.linesAfter;M++){if(Q+M>=U.length)break;let S=Z(G.buffer,H[Q+M],U[Q+M],G.position-(H[Q]-H[Q+M]),_);O+=$.repeat(" ",Y.indent)+X((G.line+M+1).toString(),P)+" | "+S.str+`
|
|
93
|
-
`}return O.replace(/\n$/,"")}return k_=J,k_}var I_,eb;function J8(){if(eb)return I_;eb=1;let $=$Y(),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(H){Y[H].forEach(function(U){W[String(U)]=H})});return W}function G(Y,W){if(W=W||{},Object.keys(W).forEach(function(H){if(Z.indexOf(H)===-1)throw new $('Unknown option "'+H+'" 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(H){return H},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 I_=G,I_}var v_,$g;function Tg(){if($g)return v_;$g=1;let $=$Y(),Z=J8();function X(Y,W){let H=[];return Y[W].forEach(function(U){let A=H.length;H.forEach(function(Q,O){if(Q.tag===U.tag&&Q.kind===U.kind&&Q.multi===U.multi)A=O}),H[A]=U}),H}function J(){let Y={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function W(H){if(H.multi)Y.multi[H.kind].push(H),Y.multi.fallback.push(H);else Y[H.kind][H.tag]=Y.fallback[H.tag]=H}for(let H=0,U=arguments.length;H<U;H+=1)arguments[H].forEach(W);return Y}function G(Y){return this.extend(Y)}return G.prototype.extend=function(W){let H=[],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)H=H.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: [...] })");H.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(H),A.explicit=(this.explicit||[]).concat(U),A.compiledImplicit=X(A,"implicit"),A.compiledExplicit=X(A,"explicit"),A.compiledTypeMap=J(A.compiledImplicit,A.compiledExplicit),A},v_=G,v_}var y_,Zg;function Mg(){if(Zg)return y_;return Zg=1,y_=new(J8())("tag:yaml.org,2002:str",{kind:"scalar",construct:function(Z){return Z!==null?Z:""}}),y_}var b_,Xg;function wg(){if(Xg)return b_;return Xg=1,b_=new(J8())("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(Z){return Z!==null?Z:[]}}),b_}var g_,Jg;function Cg(){if(Jg)return g_;return Jg=1,g_=new(J8())("tag:yaml.org,2002:map",{kind:"mapping",construct:function(Z){return Z!==null?Z:{}}}),g_}var h_,Gg;function Rg(){if(Gg)return h_;return Gg=1,h_=new(Tg())({explicit:[Mg(),wg(),Cg()]}),h_}var m_,Yg;function Lg(){if(Yg)return m_;Yg=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 m_=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"}),m_}var f_,Wg;function qg(){if(Wg)return f_;Wg=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 f_=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"}),f_}var p_,Hg;function Eg(){if(Hg)return p_;Hg=1;let $=eG(),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 H(A){return W(A)}function U(A){return Object.prototype.toString.call(A)==="[object Number]"&&(A%1===0&&!$.isNegativeZero(A))}return p_=new Z("tag:yaml.org,2002:int",{kind:"scalar",resolve:Y,construct:H,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"]}}),p_}var c_,Dg;function xg(){if(Dg)return c_;Dg=1;let $=eG(),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 H(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 c_=new Z("tag:yaml.org,2002:float",{kind:"scalar",resolve:G,construct:Y,predicate:U,represent:H,defaultStyle:"lowercase"}),c_}var d_,Ug;function Sg(){if(Ug)return d_;return Ug=1,d_=Rg().extend({implicit:[Lg(),qg(),Eg(),xg()]}),d_}var u_,Ag;function jg(){if(Ag)return u_;return Ag=1,u_=Sg(),u_}var o_,Kg;function kg(){if(Kg)return o_;Kg=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 H=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],T=+A[5],M=+A[6];if(A[7]){H=A[7].slice(0,3);while(H.length<3)H+="0";H=+H}if(A[9]){let K$=+A[10],
|
|
94
|
-
\r`;function X(W){if(W===null)return!1;let H=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;H+=6}return H%8===0}function J(W){let H=W.replace(/[\r\n=]/g,""),U=H.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(H.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 H="",U=0,A=W.length,Q=Z;for(let P=0;P<A;P++){if(P%3===0&&P)H+=Q[U>>18&63],H+=Q[U>>12&63],H+=Q[U>>6&63],H+=Q[U&63];U=(U<<8)+W[P]}let O=A%3;if(O===0)H+=Q[U>>18&63],H+=Q[U>>12&63],H+=Q[U>>6&63],H+=Q[U&63];else if(O===2)H+=Q[U>>10&63],H+=Q[U>>4&63],H+=Q[U<<2&63],H+=Q[64];else if(O===1)H+=Q[U>>2&63],H+=Q[U<<4&63],H+=Q[64],H+=Q[64];return H}function Y(W){return Object.prototype.toString.call(W)==="[object Uint8Array]"}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,C,k){if(C==="__proto__")Object.defineProperty(K,C,{configurable:!0,enumerable:!0,writable:!0,value:k});else K[C]=k}let
|
|
96
|
-
`,C-1)}function LY(K,C,k){let g,q,o,B,R,c,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&&K7(K)||k&&h$(d))break;else if(
|
|
93
|
+
`}return O.replace(/\n$/,"")}return k_=J,k_}var I_,eb;function J8(){if(eb)return I_;eb=1;let $=$Y(),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(H){Y[H].forEach(function(U){W[String(U)]=H})});return W}function G(Y,W){if(W=W||{},Object.keys(W).forEach(function(H){if(Z.indexOf(H)===-1)throw new $('Unknown option "'+H+'" 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(H){return H},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 I_=G,I_}var v_,$g;function Tg(){if($g)return v_;$g=1;let $=$Y(),Z=J8();function X(Y,W){let H=[];return Y[W].forEach(function(U){let A=H.length;H.forEach(function(Q,O){if(Q.tag===U.tag&&Q.kind===U.kind&&Q.multi===U.multi)A=O}),H[A]=U}),H}function J(){let Y={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function W(H){if(H.multi)Y.multi[H.kind].push(H),Y.multi.fallback.push(H);else Y[H.kind][H.tag]=Y.fallback[H.tag]=H}for(let H=0,U=arguments.length;H<U;H+=1)arguments[H].forEach(W);return Y}function G(Y){return this.extend(Y)}return G.prototype.extend=function(W){let H=[],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)H=H.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: [...] })");H.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(H),A.explicit=(this.explicit||[]).concat(U),A.compiledImplicit=X(A,"implicit"),A.compiledExplicit=X(A,"explicit"),A.compiledTypeMap=J(A.compiledImplicit,A.compiledExplicit),A},v_=G,v_}var y_,Zg;function Mg(){if(Zg)return y_;return Zg=1,y_=new(J8())("tag:yaml.org,2002:str",{kind:"scalar",construct:function(Z){return Z!==null?Z:""}}),y_}var b_,Xg;function wg(){if(Xg)return b_;return Xg=1,b_=new(J8())("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(Z){return Z!==null?Z:[]}}),b_}var g_,Jg;function Cg(){if(Jg)return g_;return Jg=1,g_=new(J8())("tag:yaml.org,2002:map",{kind:"mapping",construct:function(Z){return Z!==null?Z:{}}}),g_}var h_,Gg;function Rg(){if(Gg)return h_;return Gg=1,h_=new(Tg())({explicit:[Mg(),wg(),Cg()]}),h_}var m_,Yg;function Lg(){if(Yg)return m_;Yg=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 m_=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"}),m_}var f_,Wg;function qg(){if(Wg)return f_;Wg=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 f_=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"}),f_}var p_,Hg;function Eg(){if(Hg)return p_;Hg=1;let $=eG(),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 H(A){return W(A)}function U(A){return Object.prototype.toString.call(A)==="[object Number]"&&(A%1===0&&!$.isNegativeZero(A))}return p_=new Z("tag:yaml.org,2002:int",{kind:"scalar",resolve:Y,construct:H,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"]}}),p_}var c_,Dg;function xg(){if(Dg)return c_;Dg=1;let $=eG(),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 H(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 c_=new Z("tag:yaml.org,2002:float",{kind:"scalar",resolve:G,construct:Y,predicate:U,represent:H,defaultStyle:"lowercase"}),c_}var d_,Ug;function Sg(){if(Ug)return d_;return Ug=1,d_=Rg().extend({implicit:[Lg(),qg(),Eg(),xg()]}),d_}var u_,Ag;function jg(){if(Ag)return u_;return Ag=1,u_=Sg(),u_}var o_,Kg;function kg(){if(Kg)return o_;Kg=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 H=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],T=+A[5],M=+A[6];if(A[7]){H=A[7].slice(0,3);while(H.length<3)H+="0";H=+H}if(A[9]){let K$=+A[10],l=+(A[11]||0);if(U=(K$*60+l)*60000,A[9]==="-")U=-U}let S=new Date(Date.UTC(Q,O,P,_,T,M,H));if(U)S.setTime(S.getTime()-U);return S}function Y(W){return W.toISOString()}return o_=new $("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:J,construct:G,instanceOf:Date,represent:Y}),o_}var n_,Vg;function Ig(){if(Vg)return n_;Vg=1;let $=J8();function Z(X){return X==="<<"||X===null}return n_=new $("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Z}),n_}var r_,Qg;function vg(){if(Qg)return r_;Qg=1;let $=J8(),Z=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
94
|
+
\r`;function X(W){if(W===null)return!1;let H=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;H+=6}return H%8===0}function J(W){let H=W.replace(/[\r\n=]/g,""),U=H.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(H.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 H="",U=0,A=W.length,Q=Z;for(let P=0;P<A;P++){if(P%3===0&&P)H+=Q[U>>18&63],H+=Q[U>>12&63],H+=Q[U>>6&63],H+=Q[U&63];U=(U<<8)+W[P]}let O=A%3;if(O===0)H+=Q[U>>18&63],H+=Q[U>>12&63],H+=Q[U>>6&63],H+=Q[U&63];else if(O===2)H+=Q[U>>10&63],H+=Q[U>>4&63],H+=Q[U<<2&63],H+=Q[64];else if(O===1)H+=Q[U>>2&63],H+=Q[U<<4&63],H+=Q[64],H+=Q[64];return H}function Y(W){return Object.prototype.toString.call(W)==="[object Uint8Array]"}return r_=new $("tag:yaml.org,2002:binary",{kind:"scalar",resolve:X,construct:J,predicate:Y,represent:G}),r_}var l_,Og;function yg(){if(Og)return l_;Og=1;let $=J8(),Z=Object.prototype.hasOwnProperty,X=Object.prototype.toString;function J(Y){if(Y===null)return!0;let W=[],H=Y;for(let U=0,A=H.length;U<A;U+=1){let Q=H[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 l_=new $("tag:yaml.org,2002:omap",{kind:"sequence",resolve:J,construct:G}),l_}var i_,Bg;function bg(){if(Bg)return i_;Bg=1;let $=J8(),Z=Object.prototype.toString;function X(G){if(G===null)return!0;let Y=G,W=Array(Y.length);for(let H=0,U=Y.length;H<U;H+=1){let A=Y[H];if(Z.call(A)!=="[object Object]")return!1;let Q=Object.keys(A);if(Q.length!==1)return!1;W[H]=[Q[0],A[Q[0]]]}return!0}function J(G){if(G===null)return[];let Y=G,W=Array(Y.length);for(let H=0,U=Y.length;H<U;H+=1){let A=Y[H],Q=Object.keys(A);W[H]=[Q[0],A[Q[0]]]}return W}return i_=new $("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:X,construct:J}),i_}var s_,Ng;function gg(){if(Ng)return s_;Ng=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 s_=new $("tag:yaml.org,2002:set",{kind:"mapping",resolve:X,construct:J}),s_}var a_,_g;function e_(){if(_g)return a_;return _g=1,a_=jg().extend({implicit:[kg(),Ig()],explicit:[vg(),yg(),bg(),gg()]}),a_}var Pg;function p7$(){if(Pg)return OA;Pg=1;let $=eG(),Z=$Y(),X=f7$(),J=e_(),G=Object.prototype.hasOwnProperty,Y=1,W=2,H=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]/,T=/[,\[\]{}]/,M=/^(?:!|!!|![0-9A-Za-z-]+!)$/,S=/^(?:!|[^,\[\]{}])(?:%[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 C=K|32;if(C>=97&&C<=102)return C-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,C,k){if(C==="__proto__")Object.defineProperty(K,C,{configurable:!0,enumerable:!0,writable:!0,value:k});else K[C]=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 z$(K,C){this.input=K,this.filename=C.filename||null,this.schema=C.schema||J,this.onWarning=C.onWarning||null,this.legacy=C.legacy||!1,this.json=C.json||!1,this.listener=C.listener||null,this.maxDepth=typeof C.maxDepth==="number"?C.maxDepth:100,this.maxTotalMergeKeys=typeof C.maxTotalMergeKeys==="number"?C.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,C){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(C,k)}function Z$(K,C){throw q$(K,C)}function Q0(K,C){if(K.onWarning)K.onWarning.call(null,q$(K,C))}function b0(K,C,k){let g=K.anchorMapTransactions;if(g.length!==0){let q=g[g.length-1];if(!G.call(q,C))q[C]={existed:G.call(K.anchorMap,C),value:K.anchorMap[C]}}K.anchorMap[C]=k}function b6(K){K.anchorMapTransactions.push(Object.create(null))}function G8(K){let C=K.anchorMapTransactions.pop(),k=K.anchorMapTransactions;if(k.length===0)return;let g=k[k.length-1],q=Object.keys(C);for(let o=0,B=q.length;o<B;o+=1){let R=q[o];if(!G.call(g,R))g[R]=C[R]}}function F8(K){let C=K.anchorMapTransactions.pop(),k=Object.keys(C);for(let g=k.length-1;g>=0;g-=1){let q=C[k[g]];if(q.existed)K.anchorMap[k[g]]=q.value;else delete K.anchorMap[k[g]]}}function S1(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,C){K.position=C.position,K.line=C.line,K.lineStart=C.lineStart,K.lineIndent=C.lineIndent,K.firstTabInLine=C.firstTabInLine,K.tag=C.tag,K.anchor=C.anchor,K.kind=C.kind,K.result=C.result}let RY={YAML:function(C,k,g){if(C.version!==null)Z$(C,"duplication of %YAML directive");if(g.length!==1)Z$(C,"YAML directive accepts exactly one argument");let q=/^([0-9]+)\.([0-9]+)$/.exec(g[0]);if(q===null)Z$(C,"ill-formed argument of the YAML directive");let o=parseInt(q[1],10),B=parseInt(q[2],10);if(o!==1)Z$(C,"unacceptable YAML version of the document");if(C.version=g[0],C.checkLineBreaks=B<2,B!==1&&B!==2)Q0(C,"unsupported YAML version of the document")},TAG:function(C,k,g){let q;if(g.length!==2)Z$(C,"TAG directive accepts exactly two arguments");let o=g[0];if(q=g[1],!M.test(o))Z$(C,"ill-formed tag handle (first argument) of the TAG directive");if(G.call(C.tagMap,o))Z$(C,'there is a previously declared suffix for "'+o+'" tag handle');if(!S.test(q))Z$(C,"ill-formed tag prefix (second argument) of the TAG directive");try{q=decodeURIComponent(q)}catch(B){Z$(C,"tag prefix is malformed: "+q)}C.tagMap[o]=q}};function z8(K,C,k,g){if(C<k){let q=K.input.slice(C,k);if(g)for(let o=0,B=q.length;o<B;o+=1){let R=q.charCodeAt(o);if(!(R===9||R>=32&&R<=1114111))Z$(K,"expected valid JSON character")}else if(P.test(q))Z$(K,"the stream contains non-printable characters");K.result+=q}}function j1(K,C,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 R=q[o];if(K.maxTotalMergeKeys!==-1&&++K.totalMergeKeys>K.maxTotalMergeKeys)Z$(K,"merge keys exceeded maxTotalMergeKeys ("+K.maxTotalMergeKeys+")");if(!G.call(C,R))$$(C,R,k[R]),g[R]=!0}}function M9(K,C,k,g,q,o,B,R,c){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),C===null)C={};if(g==="tag:yaml.org,2002:merge")if(Array.isArray(o))for(let y=0,b=o.length;y<b;y+=1)j1(K,C,o[y],k);else j1(K,C,o,k);else{if(!K.json&&!G.call(k,q)&&G.call(C,q))K.line=B||K.line,K.lineStart=R||K.lineStart,K.position=c||K.position,Z$(K,"duplicated mapping key");$$(C,q,o),delete k[q]}return C}function A7(K){let C=K.input.charCodeAt(K.position);if(C===10)K.position++;else if(C===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,C,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(C&&q===35)do q=K.input.charCodeAt(++K.position);while(q!==10&&q!==13&&q!==0);if(l(q)){A7(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 K7(K){let C=K.position,k=K.input.charCodeAt(C);if((k===45||k===46)&&k===K.input.charCodeAt(C+1)&&k===K.input.charCodeAt(C+2)){if(C+=3,k=K.input.charCodeAt(C),k===0||B$(k))return!0}return!1}function w9(K,C){if(C===1)K.result+=" ";else if(C>1)K.result+=$.repeat(`
|
|
96
|
+
`,C-1)}function LY(K,C,k){let g,q,o,B,R,c,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&&K7(K)||k&&h$(d))break;else if(l(d))if(B=K.line,R=K.lineStart,c=K.lineIndent,g0(K,!1,-1),K.lineIndent>=C){o=!0,d=K.input.charCodeAt(K.position);continue}else{K.position=q,K.line=B,K.lineStart=R,K.lineIndent=c;break}if(o)z8(K,g,q,!1),w9(K,K.line-B),g=q=K.position,o=!1;if(!J$(d))q=K.position+1;d=K.input.charCodeAt(++K.position)}if(z8(K,g,q,!1),K.result)return!0;return K.kind=y,K.result=b,!1}function qY(K,C){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(z8(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))z8(K,k,g,!0),w9(K,g0(K,!1,C)),k=g=K.position;else if(K.position===K.lineStart&&K7(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 GJ(K,C){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 z8(K,k,K.position,!0),K.position++,!0;else if(o===92){if(z8(K,k,K.position,!0),o=K.input.charCodeAt(++K.position),l(o))g0(K,!1,C);else if(o<256&&r[o])K.result+=Q$[o],K.position++;else if((q=m$(o))>0){let B=q,R=0;for(;B>0;B--)if(o=K.input.charCodeAt(++K.position),(q=A$(o))>=0)R=(R<<4)+q;else Z$(K,"expected hexadecimal character");K.result+=i(R),K.position++}else Z$(K,"unknown escape sequence");k=g=K.position}else if(l(o))z8(K,k,g,!0),w9(K,g0(K,!1,C)),k=g=K.position;else if(K.position===K.lineStart&&K7(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 EY(K,C){let k=!0,g,q,o,B=K.tag,R,c=K.anchor,y,b,d,f,D$=Object.create(null),W$,N$,M$,d$=K.input.charCodeAt(K.position);if(d$===91)y=93,f=!1,R=[];else if(d$===123)y=125,f=!0,R={};else return!1;if(K.anchor!==null)b0(K,K.anchor,R);d$=K.input.charCodeAt(++K.position);while(d$!==0){if(g0(K,!0,C),d$=K.input.charCodeAt(K.position),d$===y)return K.position++,K.tag=B,K.anchor=c,K.kind=f?"mapping":"sequence",K.result=R,!0;else if(!k)Z$(K,"missed comma between flow collection entries");else if(d$===44)Z$(K,"expected the node content, but found ','");if(N$=W$=M$=null,b=d=!1,d$===63){let _0=K.input.charCodeAt(K.position+1);if(B$(_0))b=d=!0,K.position++,g0(K,!0,C)}if(g=K.line,q=K.lineStart,o=K.position,R9(K,C,Y,!1,!0),N$=K.tag,W$=K.result,g0(K,!0,C),d$=K.input.charCodeAt(K.position),(d||K.line===g)&&d$===58)b=!0,d$=K.input.charCodeAt(++K.position),g0(K,!0,C),R9(K,C,Y,!1,!0),M$=K.result;if(f)M9(K,R,D$,N$,W$,M$,g,q,o);else if(b)R.push(M9(K,null,D$,N$,W$,M$,g,q,o));else R.push(W$);if(g0(K,!0,C),d$=K.input.charCodeAt(K.position),d$===44)k=!0,d$=K.input.charCodeAt(++K.position);else k=!1}Z$(K,"unexpected end of the stream within a flow collection")}function xY(K,C){let k,g=A,q=!1,o=!1,B=C,R=0,c=!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=C+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){A7(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)){R++;continue}if(!o&&B===0)Z$(K,"missing indentation for block scalar");if(K.lineIndent<B){if(g===O)K.result+=$.repeat(`
|
|
97
97
|
`,q?1+R:R);else if(g===A){if(q)K.result+=`
|
|
98
98
|
`}break}if(k)if(J$(b))c=!0,K.result+=$.repeat(`
|
|
99
99
|
`,q?1+R:R);else if(c)c=!1,K.result+=$.repeat(`
|
|
100
100
|
`,R+1);else if(R===0){if(q)K.result+=" "}else K.result+=$.repeat(`
|
|
101
101
|
`,R);else K.result+=$.repeat(`
|
|
102
|
-
`,q?1+R:R);q=!0,o=!0,R=0;let d=K.position;while(!
|
|
103
|
-
`;if(K.charCodeAt(0)===65279)K=K.slice(1)}let k=new z$(K,C),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)O3(k);return k.documents}function vY(K,C,k){if(C!==null&&typeof C==="object"&&typeof k>"u")k=C,C=null;let g=IY(K,k);if(typeof C!=="function")return g;for(let q=0,o=g.length;q<o;q+=1)C(g[q])}function B3(K,C){let k=IY(K,C);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 OA.loadAll=vY,OA.load=B3,OA}var t_={},Fg;function c7$(){if(Fg)return t_;Fg=1;let $=eG(),Z=$Y(),X=e_(),J=Object.prototype.toString,G=Object.prototype.hasOwnProperty,Y=65279,W=9,H=10,U=13,A=32,Q=33,O=34,P=35,_=37,T=38,M=39,S=42,K$=44,
|
|
102
|
+
`,q?1+R:R);q=!0,o=!0,R=0;let d=K.position;while(!l(b)&&b!==0)b=K.input.charCodeAt(++K.position);z8(K,d,K.position,!1)}return!0}function C9(K,C){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 R=K.input.charCodeAt(K.position+1);if(!B$(R))break;if(o=!0,K.position++,g0(K,!0,-1)){if(K.lineIndent<=C){q.push(null),B=K.input.charCodeAt(K.position);continue}}let c=K.line;if(R9(K,C,H,!1,!0),q.push(K.result),g0(K,!0,-1),B=K.input.charCodeAt(K.position),(K.line===c||K.lineIndent>C)&&B!==0)Z$(K,"bad indentation of a sequence entry");else if(K.lineIndent<C)break}if(o)return K.tag=k,K.anchor=g,K.kind="sequence",K.result=q,!0;return!1}function SY(K,C,k){let g,q,o,B,R=K.tag,c=K.anchor,y={},b=Object.create(null),d=null,f=null,D$=null,W$=!1,N$=!1;if(K.firstTabInLine!==-1)return!1;if(K.anchor!==null)b0(K,K.anchor,y);let M$=K.input.charCodeAt(K.position);while(M$!==0){if(!W$&&K.firstTabInLine!==-1)K.position=K.firstTabInLine,Z$(K,"tab characters must not be used in indentation");let d$=K.input.charCodeAt(K.position+1),_0=K.line;if((M$===63||M$===58)&&B$(d$)){if(M$===63){if(W$)M9(K,y,b,d,f,null,q,o,B),d=f=D$=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,M$=d$}else{if(q=K.line,o=K.lineStart,B=K.position,!R9(K,k,W,!1,!0))break;if(K.line===_0){M$=K.input.charCodeAt(K.position);while(J$(M$))M$=K.input.charCodeAt(++K.position);if(M$===58){if(M$=K.input.charCodeAt(++K.position),!B$(M$))Z$(K,"a whitespace character is expected after the key-value separator within a block mapping");if(W$)M9(K,y,b,d,f,null,q,o,B),d=f=D$=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=R,K.anchor=c,!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=R,K.anchor=c,!0}if(K.line===_0||K.lineIndent>C){if(W$)q=K.line,o=K.lineStart,B=K.position;if(R9(K,C,U,!0,g))if(W$)f=K.result;else D$=K.result;if(!W$)M9(K,y,b,d,f,D$,q,o,B),d=f=D$=null;g0(K,!0,-1),M$=K.input.charCodeAt(K.position)}if((K.line===_0||K.lineIndent>C)&&M$!==0)Z$(K,"bad indentation of a mapping entry");else if(K.lineIndent<C)break}if(W$)M9(K,y,b,d,f,null,q,o,B);if(N$)K.tag=R,K.anchor=c,K.kind="mapping",K.result=y;return N$}function V3(K){let C=!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)C=!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(C){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),!M.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),T.test(q))Z$(K,"tag suffix cannot contain flow indicator characters")}if(q&&!S.test(q))Z$(K,"tag name cannot contain such characters: "+q);try{q=decodeURIComponent(q)}catch(R){Z$(K,"tag name is malformed: "+q)}if(C)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 jY(K){let C=K.input.charCodeAt(K.position);if(C!==38)return!1;if(K.anchor!==null)Z$(K,"duplication of an anchor property");C=K.input.charCodeAt(++K.position);let k=K.position;while(C!==0&&!B$(C)&&!h$(C))C=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 kY(K){let C=K.input.charCodeAt(K.position);if(C!==42)return!1;C=K.input.charCodeAt(++K.position);let k=K.position;while(C!==0&&!B$(C)&&!h$(C))C=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 Q3(K,C,k,g){let q=S1(K);if(b6(K),Y8(K,C),K.tag=null,K.anchor=null,K.kind=null,K.result=null,SY(K,k,g)&&K.kind==="mapping")return G8(K),!0;return F8(K),Y8(K,q),!1}function R9(K,C,k,g,q){let o,B,R=1,c=!1,y=!1,b=null,d,f,D$;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||H===k;if(g){if(g0(K,!0,-1)){if(c=!0,K.lineIndent>C)R=1;else if(K.lineIndent===C)R=0;else if(K.lineIndent<C)R=-1}}if(R===1)while(!0){let N$=K.input.charCodeAt(K.position),M$=S1(K);if(c&&(N$===33&&K.tag!==null||N$===38&&K.anchor!==null))break;if(!V3(K)&&!jY(K))break;if(b===null)b=M$;if(g0(K,!0,-1)){if(c=!0,B=W$,K.lineIndent>C)R=1;else if(K.lineIndent===C)R=0;else if(K.lineIndent<C)R=-1}else B=!1}if(B)B=c||q;if(R===1||U===k){if(Y===k||W===k)f=C;else f=C+1;if(D$=K.position-K.lineStart,R===1)if(B&&(C9(K,D$)||SY(K,D$,f))||EY(K,f))y=!0;else{let N$=K.input.charCodeAt(K.position);if(b!==null&&W$&&!B&&N$!==124&&N$!==62&&Q3(K,b,b.position-b.lineStart,f))y=!0;else if(o&&xY(K,f)||qY(K,f)||GJ(K,f))y=!0;else if(kY(K)){if(y=!0,K.tag!==null||K.anchor!==null)Z$(K,"alias node should not have any properties")}else if(LY(K,f,Y===k)){if(y=!0,K.tag===null)K.tag="?"}if(K.anchor!==null)b0(K,K.anchor,K.result)}else if(R===0)y=B&&C9(K,D$)}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,M$=K.implicitTypes.length;N$<M$;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 M$=0,d$=N$.length;M$<d$;M$+=1)if(K.tag.slice(0,N$[M$].tag.length)===N$[M$].tag){d=N$[M$];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 O3(K){let C=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)A7(K);if(G.call(RY,o))RY[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(R9(K,K.lineIndent-1,U,!1,!0),g0(K,!0,-1),K.checkLineBreaks&&_.test(K.input.slice(C,K.position)))Q0(K,"non-ASCII line breaks are interpreted as content");if(K.documents.push(K.result),K.position===K.lineStart&&K7(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 IY(K,C){if(K=String(K),C=C||{},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 z$(K,C),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)O3(k);return k.documents}function vY(K,C,k){if(C!==null&&typeof C==="object"&&typeof k>"u")k=C,C=null;let g=IY(K,k);if(typeof C!=="function")return g;for(let q=0,o=g.length;q<o;q+=1)C(g[q])}function B3(K,C){let k=IY(K,C);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 OA.loadAll=vY,OA.load=B3,OA}var t_={},Fg;function c7$(){if(Fg)return t_;Fg=1;let $=eG(),Z=$Y(),X=e_(),J=Object.prototype.toString,G=Object.prototype.hasOwnProperty,Y=65279,W=9,H=10,U=13,A=32,Q=33,O=34,P=35,_=37,T=38,M=39,S=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,z$={};z$[0]="\\0",z$[7]="\\a",z$[8]="\\b",z$[9]="\\t",z$[10]="\\n",z$[11]="\\v",z$[12]="\\f",z$[13]="\\r",z$[27]="\\e",z$[34]="\\\"",z$[92]="\\\\",z$[133]="\\N",z$[160]="\\_",z$[8232]="\\L",z$[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,R){if(R===null)return{};let c={},y=Object.keys(R);for(let b=0,d=y.length;b<d;b+=1){let f=y[b],D$=String(R[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,D$))D$=W$.styleAliases[D$];c[f]=D$}return c}function b0(B){let R,c,y=B.toString(16).toUpperCase();if(B<=255)R="x",c=2;else if(B<=65535)R="u",c=4;else if(B<=4294967295)R="U",c=8;else throw new Z("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+R+$.repeat("0",c-y.length)+y}let b6=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:b6,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 S1(B,R){let c=$.repeat(" ",R),y=0,b="",d=B.length;while(y<d){let f,D$=B.indexOf(`
|
|
104
104
|
`,y);if(D$===-1)f=B.slice(y),y=d;else f=B.slice(y,D$+1),y=D$+1;if(f.length&&f!==`
|
|
105
105
|
`)b+=c;b+=f}return b}function Y8(B,R){return`
|
|
106
|
-
`+$.repeat(" ",B.indent*R)}function RY(B,R){for(let c=0,y=B.implicitTypes.length;c<y;c+=1)if(B.implicitTypes[c].resolve(R))return!0;return!1}function z8(B){return B===A||B===W}function j1(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 M9(B){return j1(B)&&B!==Y&&B!==U&&B!==H}function A7(B,R,c){let y=M9(B),b=y&&!z8(B);return(c?y:y&&B!==K$&&B!==v$&&B!==A0&&B!==$$&&B!==Q$)&&B!==P&&!(R===J$&&!b)||M9(R)&&!z8(R)&&B===P||R===J$&&b}function g0(B){return j1(B)&&B!==Y&&!z8(B)&&B!==
|
|
106
|
+
`+$.repeat(" ",B.indent*R)}function RY(B,R){for(let c=0,y=B.implicitTypes.length;c<y;c+=1)if(B.implicitTypes[c].resolve(R))return!0;return!1}function z8(B){return B===A||B===W}function j1(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 M9(B){return j1(B)&&B!==Y&&B!==U&&B!==H}function A7(B,R,c){let y=M9(B),b=y&&!z8(B);return(c?y:y&&B!==K$&&B!==v$&&B!==A0&&B!==$$&&B!==Q$)&&B!==P&&!(R===J$&&!b)||M9(R)&&!z8(R)&&B===P||R===J$&&b}function g0(B){return j1(B)&&B!==Y&&!z8(B)&&B!==l&&B!==A$&&B!==J$&&B!==K$&&B!==v$&&B!==A0&&B!==$$&&B!==Q$&&B!==P&&B!==T&&B!==S&&B!==Q&&B!==r&&B!==B$&&B!==h$&&B!==M&&B!==O&&B!==_&&B!==m$&&B!==i}function K7(B){return!z8(B)&&B!==J$}function w9(B,R){let c=B.charCodeAt(R),y;if(c>=55296&&c<=56319&&R+1<B.length){if(y=B.charCodeAt(R+1),y>=56320&&y<=57343)return(c-55296)*1024+y-56320+65536}return c}function LY(B){return/^\n* /.test(B)}let qY=1,GJ=2,EY=3,xY=4,C9=5;function SY(B,R,c,y,b,d,f,D$){let W$,N$=0,M$=null,d$=!1,_0=!1,MF=y!==-1,YJ=-1,WJ=g0(w9(B,0))&&K7(w9(B,B.length-1));if(R||f)for(W$=0;W$<B.length;N$>=65536?W$+=2:W$++){if(N$=w9(B,W$),!j1(N$))return C9;WJ=WJ&&A7(N$,M$,D$),M$=N$}else{for(W$=0;W$<B.length;N$>=65536?W$+=2:W$++){if(N$=w9(B,W$),N$===H){if(d$=!0,MF)_0=_0||W$-YJ-1>y&&B[YJ+1]!==" ",YJ=W$}else if(!j1(N$))return C9;WJ=WJ&&A7(N$,M$,D$),M$=N$}_0=_0||MF&&(W$-YJ-1>y&&B[YJ+1]!==" ")}if(!d$&&!_0){if(WJ&&!f&&!b(B))return qY;return d===G8?C9:GJ}if(c>9&&LY(B))return C9;if(!f)return _0?xY:EY;return d===G8?C9:GJ}function V3(B,R,c,y,b){B.dump=function(){if(R.length===0)return B.quotingType===G8?'""':"''";if(!B.noCompatMode){if(q$.indexOf(R)!==-1||Z$.test(R))return B.quotingType===G8?'"'+R+'"':"'"+R+"'"}let d=B.indent*Math.max(1,c),f=B.lineWidth===-1?-1:Math.max(Math.min(B.lineWidth,40),B.lineWidth-d),D$=y||B.flowLevel>-1&&c>=B.flowLevel;function W$(N$){return RY(B,N$)}switch(SY(R,D$,B.indent,f,W$,B.quotingType,B.forceQuotes&&!y,b)){case qY:return R;case GJ:return"'"+R.replace(/'/g,"''")+"'";case EY:return"|"+jY(R,B.indent)+kY(S1(R,d));case xY:return">"+jY(R,B.indent)+kY(S1(Q3(R,f),d));case C9:return'"'+O3(R)+'"';default:throw new Z("impossible error: invalid scalar style")}}()}function jY(B,R){let c=LY(B)?String(R):"",y=B[B.length-1]===`
|
|
107
107
|
`,d=y&&(B[B.length-2]===`
|
|
108
108
|
`||B===`
|
|
109
109
|
`)?"+":y?"":"-";return c+d+`
|
|
@@ -115,22 +115,22 @@ ${$}
|
|
|
115
115
|
`+B.slice(b,d),b=d+1;f=D$}if(W$+=`
|
|
116
116
|
`,B.length-b>R&&f>b)W$+=B.slice(b,f)+`
|
|
117
117
|
`+B.slice(f+1);else W$+=B.slice(b);return W$.slice(1)}function O3(B){let R="",c=0;for(let y=0;y<B.length;c>=65536?y+=2:y++){c=w9(B,y);let b=z$[c];if(!b&&j1(c)){if(R+=B[y],c>=65536)R+=B[y+1]}else R+=b||b0(c)}return R}function IY(B,R,c){let y="",b=B.tag;for(let d=0,f=c.length;d<f;d+=1){let D$=c[d];if(B.replacer)D$=B.replacer.call(c,String(d),D$);if(k(B,R,D$,!1,!1)||typeof D$>"u"&&k(B,R,null,!1,!1)){if(y!=="")y+=","+(!B.condenseFlow?" ":"");y+=B.dump}}B.tag=b,B.dump="["+y+"]"}function vY(B,R,c,y){let b="",d=B.tag;for(let f=0,D$=c.length;f<D$;f+=1){let W$=c[f];if(B.replacer)W$=B.replacer.call(c,String(f),W$);if(k(B,R+1,W$,!0,!0,!1,!0)||typeof W$>"u"&&k(B,R+1,null,!0,!0,!1,!0)){if(!y||b!=="")b+=Y8(B,R);if(B.dump&&H===B.dump.charCodeAt(0))b+="-";else b+="- ";b+=B.dump}}B.tag=d,B.dump=b||"[]"}function B3(B,R,c){let y="",b=B.tag,d=Object.keys(c);for(let f=0,D$=d.length;f<D$;f+=1){let W$="";if(y!=="")W$+=", ";if(B.condenseFlow)W$+='"';let N$=d[f],M$=c[N$];if(B.replacer)M$=B.replacer.call(c,N$,M$);if(!k(B,R,N$,!1,!1))continue;if(B.dump.length>1024)W$+="? ";if(W$+=B.dump+(B.condenseFlow?'"':"")+":"+(B.condenseFlow?"":" "),!k(B,R,M$,!1,!1))continue;W$+=B.dump,y+=W$}B.tag=b,B.dump="{"+y+"}"}function K(B,R,c,y){let b="",d=B.tag,f=Object.keys(c);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 D$=0,W$=f.length;D$<W$;D$+=1){let N$="";if(!y||b!=="")N$+=Y8(B,R);let M$=f[D$],d$=c[M$];if(B.replacer)d$=B.replacer.call(c,M$,d$);if(!k(B,R+1,M$,!0,!0,!0))continue;let _0=B.tag!==null&&B.tag!=="?"||B.dump&&B.dump.length>1024;if(_0)if(B.dump&&H===B.dump.charCodeAt(0))N$+="?";else N$+="? ";if(N$+=B.dump,_0)N$+=Y8(B,R);if(!k(B,R+1,d$,!0,_0))continue;if(B.dump&&H===B.dump.charCodeAt(0))N$+=":";else N$+=": ";N$+=B.dump,b+=N$}B.tag=d,B.dump=b||"{}"}function C(B,R,c){let y=c?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 R==="object"&&R instanceof f.instanceOf)&&(!f.predicate||f.predicate(R))){if(c)if(f.multi&&f.representName)B.tag=f.representName(R);else B.tag=f.tag;else B.tag="?";if(f.represent){let D$=B.styleMap[f.tag]||f.defaultStyle,W$;if(J.call(f.represent)==="[object Function]")W$=f.represent(R,D$);else if(G.call(f.represent,D$))W$=f.represent[D$](R,D$);else throw new Z("!<"+f.tag+'> tag resolver accepts not "'+D$+'" style');B.dump=W$}return!0}}return!1}function k(B,R,c,y,b,d,f){if(B.tag=null,B.dump=c,!C(B,c,!1))C(B,c,!0);let D$=J.call(B.dump),W$=y;if(y)y=B.flowLevel<0||B.flowLevel>R;let N$=D$==="[object Object]"||D$==="[object Array]",M$,d$;if(N$)M$=B.duplicates.indexOf(c),d$=M$!==-1;if(B.tag!==null&&B.tag!=="?"||d$||B.indent!==2&&R>0)b=!1;if(d$&&B.usedDuplicates[M$])B.dump="*ref_"+M$;else{if(N$&&d$&&!B.usedDuplicates[M$])B.usedDuplicates[M$]=!0;if(D$==="[object Object]"){if(y&&Object.keys(B.dump).length!==0){if(K(B,R,B.dump,b),d$)B.dump="&ref_"+M$+B.dump}else if(B3(B,R,B.dump),d$)B.dump="&ref_"+M$+" "+B.dump}else if(D$==="[object Array]"){if(y&&B.dump.length!==0){if(B.noArrayIndent&&!f&&R>0)vY(B,R-1,B.dump,b);else vY(B,R,B.dump,b);if(d$)B.dump="&ref_"+M$+B.dump}else if(IY(B,R,B.dump),d$)B.dump="&ref_"+M$+" "+B.dump}else if(D$==="[object String]"){if(B.tag!=="?")V3(B,B.dump,R,d,W$)}else if(D$==="[object Undefined]")return!1;else{if(B.skipInvalid)return!1;throw new Z("unacceptable kind of an object to dump "+D$)}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,R){let c=[],y=[];q(B,c,y);let b=y.length;for(let d=0;d<b;d+=1)R.duplicates.push(c[y[d]]);R.usedDuplicates=Array(b)}function q(B,R,c){if(B!==null&&typeof B==="object"){let y=R.indexOf(B);if(y!==-1){if(c.indexOf(y)===-1)c.push(y)}else if(R.push(B),Array.isArray(B))for(let b=0,d=B.length;b<d;b+=1)q(B[b],R,c);else{let b=Object.keys(B);for(let d=0,f=b.length;d<f;d+=1)q(B[b[d]],R,c)}}}function o(B,R){R=R||{};let c=new F8(R);if(!c.noRefs)g(B,c);let y=B;if(c.replacer)y=c.replacer.call({"":y},"",y);if(k(c,0,y,!0,!0))return c.dump+`
|
|
118
|
-
`;return""}return t_.dump=o,t_}var zg;function d7$(){if(zg)return cZ;zg=1;let $=p7$(),Z=c7$();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 cZ.Type=J8(),cZ.Schema=Tg(),cZ.FAILSAFE_SCHEMA=Rg(),cZ.JSON_SCHEMA=Sg(),cZ.CORE_SCHEMA=jg(),cZ.DEFAULT_SCHEMA=e_(),cZ.load=$.load,cZ.loadAll=$.loadAll,cZ.dump=Z.dump,cZ.YAMLException=$Y(),cZ.types={binary:vg(),float:xg(),map:Cg(),null:Lg(),pairs:bg(),set:gg(),timestamp:kg(),bool:qg(),int:Eg(),merge:Ig(),omap:yg(),seq:wg(),str:Mg()},cZ.safeLoad=X("safeLoad","load"),cZ.safeLoadAll=X("safeLoadAll","loadAll"),cZ.safeDump=X("safeDump","dump"),cZ}var u7$=d7$(),o7$=m7$(u7$),{Type:nM$,Schema:lM$,FAILSAFE_SCHEMA:rM$,JSON_SCHEMA:iM$,CORE_SCHEMA:sM$,DEFAULT_SCHEMA:aM$,load:n7$,loadAll:tM$,dump:l7$,YAMLException:eM$,types:$w$,safeLoad:Zw$,safeLoadAll:Xw$,safeDump:Jw$}=o7$;var Yw$=D.record(D.string(),D.unknown());class mg{format($){return $.message}parse($){return{message:$.trim()}}}var Ew$=D.object({slug:D.string(),title:D.string(),type:D.string(),entityId:D.string(),contentHash:D.string()});function ZY($,Z){return Z?$.nullable().default(null):$}function ZP($){switch($.type){case"string":return ZY(D.string(),$.optional);case"number":return ZY(D.number(),$.optional);case"enum":return ZY(D.enum($.options),$.optional);case"object":{let Z={};for(let[X,J]of Object.entries($.fields))Z[X]=ZP(J);return ZY(D.object(Z),$.optional)}case"array":{let Z=D.array(r7$($));if($.minItems!==void 0)Z=Z.min($.minItems);if($.length!==void 0)Z=Z.length($.length);return ZY(Z,$.optional)}}}function r7$($){let{items:Z}=$;switch(Z.type){case"string":return D.string();case"number":return D.number();case"enum":return D.enum(Z.options);case"object":{let X={};for(let[J,G]of Object.entries(Z.fields))X[J]=ZP(G);return D.object(X)}}}function $P($,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])=>$P(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])=>$P(J,G)),X}}}}function fg($,Z){let X={};for(let[Y,W]of Object.entries(Z.fields))X[Y]=ZP(W);let J=D.object(X),G=new tG(J,{title:Z.title,mappings:Object.entries(Z.fields).map(([Y,W])=>$P(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 i7$($){let Z={};for(let[X,J]of Object.entries($.sections))Z[X]=fg(X,J);return Z}var s7$=S_.omit({url:!0,analyticsScript:!0}),pg=s7$.extend({title:D.string().optional().describe("Optional site title override"),description:D.string().optional().describe("Optional site description override")});function cg($){return pg.parse(XY($).frontmatter)}async function a7$($){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 cg(X.content)}function XP($,Z={}){let X=dg($),J=dg(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 dg($){return $.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class aX{static instance=null;entityDisplay;constructor(){}static getInstance(){return aX.instance??=new aX,aX.instance}configure($){this.entityDisplay=$}static resetInstance(){aX.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`/${N3($)}/${Z}`}}var og=["primary","secondary"];var t7$=D.custom(($)=>typeof $==="function","Expected a Preact component"),e7$=D.strictObject({show:D.boolean().optional(),label:D.string().min(1).optional(),slot:D.enum(og).optional(),priority:D.number().optional()}),$X$=D.strictObject({id:D.string().min(1),template:D.string().min(1),content:D.unknown().optional(),dataQuery:D.looseObject({entityType:D.string().optional(),template:D.string().optional(),query:D.record(D.string(),D.unknown()).optional()}).optional(),order:D.number().optional()}),ZX$=D.strictObject({id:D.string().min(1),path:D.string().startsWith("/"),title:D.string().optional(),pageLabel:D.string().optional(),description:D.string().optional(),sections:D.array($X$).optional(),layout:D.string().min(1).optional(),fullscreen:D.boolean().optional(),pluginId:D.string().optional(),sourceEntityType:D.string().optional(),external:D.boolean().optional(),navigation:e7$.optional()}),XX$=D.strictObject({label:D.string().min(1),pluralName:D.string().min(1).optional(),layout:D.string().min(1).optional(),paginate:D.boolean().optional(),pageSize:D.number().int().positive().optional(),navigation:D.strictObject({show:D.boolean().optional(),slot:D.enum(og).optional(),priority:D.number().optional()}).optional()}),JX$=D.strictObject({schema:D.custom(($)=>$ instanceof D.ZodType,"Expected a Zod schema"),component:D.custom(($)=>typeof $==="function","Expected a Preact component"),title:D.string().min(1),description:D.string(),requiredPermission:D.enum(["admin","trusted","public"]).optional(),fullscreen:D.boolean().optional()}),ug=D.strictObject({namespace:D.string().min(1),sections:D.record(D.string(),JX$)}),GX$=D.record(D.string(),D.json()),YX$=D.record(D.string(),D.record(D.string(),GX$)),ng=D.strictObject({layouts:D.record(D.string(),t7$).refine(($)=>typeof $.default==="function",{message:'Site layouts must include a "default" component'}),routes:D.array(ZX$),content:YX$.optional(),sections:D.union([ug,D.array(ug)]).optional(),themeOverride:D.string().optional(),headScripts:D.array(D.string()).optional(),entityDisplay:D.record(D.string(),XX$),staticAssets:D.record(D.string(),D.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 H=W.layout??"default";if(!$.layouts[H])Z.addIssue({code:"custom",path:["routes",Y,"layout"],message:`Unknown layout "${H}"`})}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 H=G.get(Y);if(!H){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=H.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: ${D.prettifyError(O.error)}`})}}});var WX$=D.string();function HX$($){return $!==null&&typeof $==="object"&&!Array.isArray($)}var DX$=D.custom(($)=>{if(!HX$($))return!1;let{plugin:Z,...X}=$;if(Z!==void 0&&typeof Z!=="function")return!1;return ng.safeParse(X).success});var JP=D.enum(["file_operations","content_operations","data_processing","batch_processing"]),UX$=D.object({pluginId:D.string().optional(),progressToken:D.union([D.string(),D.number()]).optional(),operationType:JP,operationTarget:D.string().optional(),interfaceType:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),requestedByActor:$7.optional(),requestedByUserId:D.string().optional(),requestedByInterface:D.string().optional(),silent:D.boolean().optional(),provenance:X7.optional()}),J7=D.object({pluginId:D.string().optional(),progressToken:D.union([D.string(),D.number()]).optional(),operationType:JP,operationTarget:D.string().optional(),interfaceType:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),requestedByActor:$7.optional(),requestedByUserId:D.string().optional(),requestedByInterface:D.string().optional(),silent:D.boolean().optional(),provenance:X7.optional(),rootJobId:D.string()}),OC$=D.enum(["none","skip","replace","coalesce"]);var AX$=D.object({id:D.string(),type:D.string(),data:D.string(),status:D.enum(["pending","processing","completed","failed"]),source:D.string().nullable(),priority:D.number(),retryCount:D.number(),maxRetries:D.number(),lastError:D.string().nullable(),createdAt:D.number(),scheduledFor:D.number(),startedAt:D.number().nullable(),completedAt:D.number().nullable(),attemptId:D.string().nullable(),workerSlotId:D.string().nullable(),workerSessionId:D.string().nullable(),leaseExpiresAt:D.number().nullable(),attemptHeartbeatAt:D.number().nullable(),runtimeUpdatedAt:D.number().nullable(),metadata:J7,progress:D.custom(($)=>typeof $==="object"&&$!==null&&("progress"in $)&&typeof $.progress==="number").nullable(),result:D.unknown().nullable().optional()}),q1=15000;var GP=D.enum(["pending","processing","completed","failed"]),lg=D.enum(["completed","failed"]),O$={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},KX$=D.object({id:D.string(),type:D.string(),status:GP,data:D.unknown(),result:D.unknown().optional(),lastError:D.string().optional().nullable(),attempts:D.number(),maxRetries:D.number(),priority:D.number(),createdAt:D.date(),updatedAt:D.date(),processedAt:D.date().optional().nullable(),completedAt:D.date().optional().nullable(),failedAt:D.date().optional().nullable()}),VX$=D.object({jobId:D.string(),type:D.string(),status:lg,result:D.unknown().optional(),error:D.string().optional()}),YP=D.object({success:D.literal(!1),error:D.string().optional()}),BA=D.object({id:D.string(),type:D.enum(["job","batch"]),status:GP,message:D.string().optional(),progress:D.object({current:D.number(),total:D.number(),percentage:D.number()}).optional(),aggregationKey:D.string().optional(),batchDetails:D.object({totalOperations:D.number(),completedOperations:D.number(),failedOperations:D.number(),currentOperation:D.string().optional(),errors:D.array(D.string()).optional()}).optional(),jobDetails:D.object({jobType:D.string(),priority:D.number(),retryCount:D.number()}).optional(),metadata:J7});var m=zZ("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)})),r$=zZ("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 rg($){return I6({url:$.url,schema:{jobQueue:m,jobWorkerSessions:r$},authToken:$.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN"})}class WP{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 QX$=D.looseObject({deduplicationKey:D.string().optional()});class HP{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=QX$.safeParse(X.metadata);return J.success&&J.data.deduplicationKey===Z})}}var OX$=2000,BX$=5,NX$=40,_X$=new F_;class DP{db;transactionClient;databaseUrl;logger;deduplicator=new HP;writeRetryBudgetMs;constructor($,Z,X,J,G){this.db=$,this.transactionClient=Z,this.databaseUrl=X,this.logger=J.child("JobQueueRepository"),this.writeRetryBudgetMs=G?.writeRetryBudgetMs??OX$}async insert($){await this.db.insert(m).values($)}async enqueueAtomic($){return _X$.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",H=async()=>{await Y?.(),await this.insertJob($,X)};if(W==="none")return await H(),{kind:"inserted",jobId:X.id};let U=await this.getActiveDeduplicationCandidates($,X.type),A=this.deduplicator.findDuplicate(U,W,G);if(!A)return await H(),{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 H=Math.min(BX$*2**(Y-1),NX$),U=H/2+Math.random()*(H/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=l$(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=q1){let G=X+J;await this.db.insert(r$).values({slotId:$,sessionId:Z,startedAt:X,heartbeatAt:X,expiresAt:G}).onConflictDoUpdate({target:r$.slotId,set:{sessionId:Z,startedAt:X,heartbeatAt:X,expiresAt:G}})}async heartbeatWorkerSession($,Z,X=Date.now(),J=q1){return(await this.db.update(r$).set({heartbeatAt:X,expiresAt:X+J}).where(F$(p(r$.slotId,$),p(r$.sessionId,Z))).returning({slotId:r$.slotId})).length===1}async endWorkerSession($,Z){return(await this.db.delete(r$).where(F$(p(r$.slotId,$),p(r$.sessionId,Z))).returning({slotId:r$.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,H=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:H,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),p(m.retryCount,Y.retryCount))).returning({id:m.id})).length!==1)return!1;if(W)this.logger.debug("Job scheduled for retry",{jobId:$,retryCount:H,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(p(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 ${r$.expiresAt} > ${$} then 1 else 0 end), 0)`,stale:N`coalesce(sum(case when ${r$.expiresAt} <= ${$} then 1 else 0 end), 0)`,latestHeartbeatAt:N`max(${r$.heartbeatAt})`}).from(r$)]),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],H=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(H?.total??0),active:Number(H?.active??0),stale:Number(H?.stale??0),latestHeartbeatAgeMs:U(H?.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$(q4(p(m.status,O$.COMPLETED),p(m.status,O$.FAILED)),S6(m.completedAt,Z)))).rowsAffected}async getActiveJobs($){let Z=q4(p(m.status,O$.PENDING),p(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=p(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}=$,H=this.db.select({slotId:r$.slotId}).from(r$).where(F$(p(r$.slotId,J),p(r$.sessionId,G),fX(r$.expiresAt,Z))),U=this.db.select({slotId:r$.slotId}).from(r$).where(F$(p(r$.slotId,m.workerSlotId),p(r$.sessionId,m.workerSessionId))),A=this.db.select({slotId:r$.slotId}).from(r$).where(F$(p(r$.slotId,m.workerSlotId),p(r$.sessionId,m.workerSessionId),S6(r$.expiresAt,Z))),Q=F$(p(m.status,O$.PROCESSING),q4(C1(m.attemptId),sU(U),F$(S6(m.leaseExpiresAt,Z),mG(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),q4(F$(p(m.status,O$.PENDING),S6(m.scheduledFor,Z)),Q))).orderBy(v0(m.priority),v0(m.createdAt)).limit(1),T=(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),mG(H))).returning())[0];if(T?.status!==O$.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:T.id,attemptId:T.attemptId,workerSlotId:J,workerSessionId:G}),T}nextRuntimeUpdatedAt($){return N`max(${$}, coalesce((select max(${m.runtimeUpdatedAt}) from ${m}), 0) + 1)`}attemptWriteGuard($,Z){return Z?F$(p(m.id,$),p(m.status,O$.PROCESSING),p(m.attemptId,Z)):F$(p(m.id,$),C1(m.attemptId),q4(p(m.status,O$.PENDING),p(m.status,O$.PROCESSING)))}}import{AsyncLocalStorage as PX$}from"async_hooks";class tX{storage=new PX$;static createFresh(){return new tX}constructor(){}current(){return this.storage.getStore()}run($,Z,X){if(Z.length===0)throw Error("Operation ID must not be empty");let J=X7.parse($),G=FX$(J);return this.storage.run(Object.freeze({provenance:G,operationId:Z}),X)}}function FX$($){if(Object.freeze($.projectionLineage),$.sourceEntity)Object.freeze($.sourceEntity);return Object.freeze($)}class UP{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 UP($,Z??F9.getInstance(),X)}constructor($,Z,X){let{db:J,client:G,url:Y}=rg($);this.client=G,this.databaseUrl=Y,this.logger=Z.child("JobQueueService"),this.operationContext=X?.operationContext??tX.createFresh(),this.projectionAdmission=X?.projectionAdmission,this.handlerRegistry=new WP(this.logger,X?.handlerRegistrationMode??"combined"),this.repository=new DP(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 v6(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(),H=qZ(),U=J?.rootJobId??this.operationContext.current()?.provenance.rootJobId??H,A=this.createJobProvenance(H,U,J),Q=J?.metadata??{operationType:"data_processing"},{provenance:O,...P}=Q,_={id:H,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},T;try{let M=await this.repository.enqueueAtomic({jobData:_,strategy:J?.deduplication,deduplicationKey:J?.deduplicationKey,beforeInsert:async()=>{T=await this.projectionAdmission?.reserveJobAdmission(A)}});if(T?.commit(),M.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:Z,existingJobId:M.jobId});else if(M.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:Z,existingJobId:M.jobId});else{if(M.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:Z,oldJobId:M.replacedJobId});this.logger.debug("Job enqueued",{id:M.jobId,type:Z,priority:_.priority,rootJobId:_.metadata.rootJobId})}return M.jobId}catch(M){throw T?.rollback(),this.logger.error("Failed to enqueue job",{type:Z,error:l$(M)}),M}}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,H=X?.projection,U=H?[...Y?.projectionLineage??[],H.id]:[...Y?.projectionLineage??[]],A=H?.id??Y?.projectionId;return X7.parse({rootJobId:Z,causationId:W??Y?.causationId??$,...A?{projectionId:A}:{},projectionLineage:U,...H?.sourceEntity?{sourceEntity:H.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=q1){await this.repository.startWorkerSession($,Z,Date.now(),X)}heartbeatWorkerSession($,Z,X=q1){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($)}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 ig extends Error{constructor($,Z){super(`Job ${$} exceeded its ${Z}ms execution deadline`);this.name="JobDeadlineExceededError"}}class AP{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 AP($,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??tX.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??q1,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(Q9.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(U9.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(Q9.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(Q9.run(X,J.id,t.promise(()=>this.processJobWrapper(J))))}catch($){this.logger.error("Error processing available jobs",{error:$}),this.stats.lastError=l$($)}}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=l$(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(O9.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((H,U)=>{J=H,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($,T0.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: ${l$($)}`)})}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=eX(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:l$(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 ig($,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 H=Error(`Claimed job ${$.id} has no attempt fencing token`);return this.markUnhealthy(H.message),{jobId:$.id,type:$.type,status:O$.FAILED,error:H.message}}let X=this.jobQueueService.getHandler($.type);if(!X){let H=Error(`No handler registered for job type: ${$.type}`);return await this.jobQueueService.fail($.id,H,Z),{jobId:$.id,type:$.type,status:O$.FAILED,error:H.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 H=JSON.parse($.data),U=X.validateAndParse(H);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=YP.safeParse(O);if(P.success){let T=P.data.error??"Handler returned failure",M=Error(T);if(await this.jobQueueService.fail($.id,M,Z))await this.emitTerminalFailure($,M,X,Z);return{jobId:$.id,type:$.type,status:O$.FAILED,error:T}}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(H){let U=eX(H);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 H=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,H,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 zX$=86400000,sg=3600000;class KP{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh($,Z,X){return new KP($,Z,X)}constructor($,Z,X){this.jobQueue=$,this.logger=Z,this.clock=X?.clock}start($=sg){return this.requestTransition("start",$)}stop(){return this.requestTransition("stop",sg)}async startCleanup($){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=t.runFork(this.runCleanupLoop($))}runCleanupLoop($){let Z=this.cleanupTerminalBatchMetadata().pipe(t.schedule(O9.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());i5.unsafeAdd(this.cleanupSupervisor.fibers,$)}async stopCleanup(){this.acceptingCleanup=!1;let $=this.cleanupFiber;if(this.cleanupFiber=null,$)await t.runPromise(U9.interrupt($));let Z=this.cleanupSupervisor;if(Z)await t.runPromise(i5.awaitEmpty(Z.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(Z)await t.runPromise(o0.close(Z.scope,T0.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((H,U)=>{J=H,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(i5.make(),$));return{scope:$,fibers:Z}}cleanupTerminalBatchMetadata(){return t.tryPromise({try:()=>{let $=this.cleanup(zX$);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}},H=await this.jobQueue.enqueue({type:Y.type,data:Y.data,options:W});G.push(H)}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 H;if(Y>0)H=O$.PROCESSING;else if(G>0)H=O$.FAILED;else H=O$.COMPLETED;if(Z.terminalAt===void 0&&(H===O$.COMPLETED||H===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:H,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 TX$=D.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},D.record(D.string(),D.unknown()));class VP{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};polling=!1;static createFresh($,Z,X,J,G="combined"){return new VP($,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=v4.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:JY.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:JY.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=TX$.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?J7.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 H=W.metadata??G;await this.emitBatchProgress(Y,W,H)}}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 MX$=D.record(D.string(),D.unknown());class GY{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=MX$.safeParse($);return Z.success?Z.data:{}}}function QP($,Z,X){return async(J)=>{let{type:G,data:Y,toolContext:W=null,options:H,projection:U}=J,A=W?ag(W):void 0,{metadata:Q,...O}=H??{},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,...H?.rootJobId&&{rootJobId:H.rootJobId},...U&&{projection:U},metadata:P},T=X&&!G.includes(":")?`${Z}:${G}`:G;return $.enqueue({type:T,data:Y,options:_})}}function OP($,Z){return async(X,J)=>{let G=qZ(),Y=X.map((H)=>({...H,type:H.type.includes(":")?H.type:`${Z}:${H.type}`})),W={...J,source:Z,rootJobId:G,metadata:{...J?.metadata,operationType:"batch_processing",pluginId:Z}};return await $.enqueueBatch(Y,W,G,Z),G}}function BP($,Z){return(X,J)=>{let G=X.includes(":")?X:`${Z}:${X}`;$.registerHandler(G,J,Z)}}var wX$=D.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)),CX$=D.object({name:D.string(),schema:wX$});function tg($){return CX$.safeParse($).success}function RX$($){if(!$)return;return{status:$.status,message:$.message,lastCheck:$.lastCheck?.toISOString(),details:$.details}}function eg($){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:RX$(Z.health)})),endpoints:$.endpoints,interactions:$.interactions}}var $h={digest:"conversation:digest"};var U0=zZ("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=zZ("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)})),G7=zZ("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 Zh($){return I6({url:$.url,schema:{conversations:U0,messages:dZ,summaryTracking:G7},authToken:$.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var LX$=D.preprocess(($)=>{if(typeof $!=="string")return $;try{return JSON.parse($)}catch{return}},D.record(D.string(),D.unknown())).catch({});function Y7($){return LX$.parse($)}var _A="conversation:messageAdded",NP="conversation:started",YY=D.object({identity:$7,interfaceType:D.string(),role:gX,displayName:D.string().optional(),username:D.string().optional(),isBot:D.boolean().optional()}),qX$=D.preprocess(EX$,YY);function EX$($){if(!NA($)||"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:Xh({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 WY=D.object({messageId:D.string().optional(),channelId:D.string().optional(),channelName:D.string().optional(),threadId:D.string().optional(),metadata:D.record(D.string(),D.unknown()).optional()}),Jh=D.looseObject({actor:qX$.optional(),source:WY.optional()});function Gh($){if(typeof $==="string")try{let Z=JSON.parse($);return NA(Z)?Z:null}catch{return null}return NA($)?$:null}function xX$($){if($.role!=="assistant")return!1;if($.content.trim().length===0)return!1;let Z=Gh($.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(!NA(G))return!1;if(G.kind==="tool-approval")return!0;return G.kind==="actions"&&G.id==="actions:upload-intent"})}function NA($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var SX$=D.object({id:D.string(),conversationId:D.string(),role:D.string(),content:D.string(),timestamp:D.string(),metadata:D.string().nullable()}),Yh=D.object({conversationId:D.string(),messageCount:D.number(),messages:D.array(SX$),windowStart:D.number(),windowEnd:D.number(),windowSize:D.number(),timestamp:D.string()});class PA{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 v6($,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 PA($,Z,X,J)}static createFreshFromConfig($,Z,X,J){let{db:G,client:Y,url:W}=Zh(X),H=new PA(G,$,Z,J);return H.dbClient=Y,H.dbUrl=W,H}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(p(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(G7).values(A),this.logger.debug("Started new conversation",{conversationId:Z,sessionId:Z,interfaceType:X}),await this.messageBus.send({type:NP,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),H={id:W,conversationId:Z,role:X,content:J,timestamp:Y,metadata:G?JSON.stringify(G):null};await this.db.insert(dZ).values(H),await this.db.update(U0).set({lastActive:Y,updated:Y}).where(p(U0.id,Z)),await this.db.update(G7).set({messagesSinceSummary:N`${G7.messagesSinceSummary} + 1`,lastMessageId:W,updated:Y}).where(p(G7.conversationId,Z)),this.logger.debug("Added message to conversation",{conversationId:Z,role:X,messageId:W}),await this.messageBus.send({type:_A,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(p(dZ.conversationId,$)).orderBy(v0(dZ.timestamp)).limit(Y).offset(G)}else return(await this.db.select().from(dZ).where(p(dZ.conversationId,$)).orderBy(PZ(dZ.timestamp)).limit(X)).reverse()}async getConversation($){return(await this.db.select().from(U0).where(p(U0.id,$)).limit(1))[0]??null}async listConversations($={}){let{limit:Z=100,updatedAfter:X,interfaceType:J,sessionId:G,channelId:Y,personId:W}=$,H=[X?fX(U0.updated,X):void 0,J?p(U0.interfaceType,J):void 0,G?p(U0.sessionId,G):void 0,Y?p(U0.channelId,Y):void 0,W?p(U0.personId,W):void 0].filter((A)=>A!==void 0),U=this.db.select().from(U0).orderBy(PZ(U0.lastActive)).limit(Z);if(H.length===0)return U;return U.where(F$(...H))}async searchConversations($,Z){let X=`%${$.toLowerCase()}%`;return(await this.db.selectDistinct({conversation:U0}).from(U0).leftJoin(dZ,p(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:Hb()}).from(dZ).where(p(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={...Y7(Z.metadata),...$.metadata};return await this.db.update(U0).set({metadata:JSON.stringify(J),updated:X}).where(p(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(p(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}}),H={conversationId:$,messageCount:Z,messages:W,windowStart:G,windowEnd:Y,windowSize:W.length,timestamp:X};await this.messageBus.send({type:$h.digest,payload:H,sender:"conversation-service",broadcast:!0}),this.logger.debug("Broadcast conversation digest",{conversationId:$,messageCount:Z,windowStart:G,windowEnd:Y,windowSize:W.length})}}function kX$($){let Z=gX.safeParse($);return Z.success?Z.data:"user"}function FA($){let Z=Y7($.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 Wh($){return{id:$.id,conversationId:$.conversationId,role:kX$($.role),content:$.content,timestamp:$.timestamp,metadata:Y7($.metadata)}}function Hh($){return BN.parse($)}function Dh($){return NN.parse($)}function Uh($){return async()=>{return eg(await $.getAppInfo())}}function Ah($,Z){return{get:()=>Hh($.getIdentity()),getProfile:()=>Dh($.getProfile()),getAppInfo:Z}}function Kh($,Z){let X=$.getProfileKindRegistry();return{register:(J)=>{X.register(Z,J)},getResolved:()=>X.getResolved(),getSelectedDefinition:()=>X.getSelectedDefinition()}}function _P($){let Z=$.getChannelRegistry();return{listDescriptors:()=>Z.listDescriptors(),getDescriptor:(X)=>Z.getDescriptor(X),getDeliveryProvider:(X)=>Z.getDeliveryProvider(X)}}function Vh($,Z){let X=$.getOperationalHealthRegistry();return{register:(J,G)=>X.register(Z,J,G)}}function Qh($,Z){let X=$.getInboxRegistry();return{registerSource:(J)=>{X.registerSource(Z,J)},listSources:()=>X.listSources(),getSource:(J)=>X.getSource(J)}}function Oh($,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 Bh($,Z){let X=$.getChannelRegistry();return{..._P($),registerDescriptor:(J)=>{X.registerDescriptor(Z,J)},registerDeliveryProvider:(J)=>{X.registerDeliveryProvider(Z,J)}}}function Nh($,Z,X,J=!1){let G=$.getMessageBus();return{send:async(W)=>{return G.send({...W,sender:Z})},subscribe:(W,H)=>{if(J)return()=>{};if(tg(W)){let U=W,A=H,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:_,...T}=O;return A(P.data,T)};return G.subscribe(U.name,Q)}return G.subscribe(W,H)},subscribeExecution:(W,H)=>G.subscribe(W,H)}}function _h($,Z){let X=$.getJobQueueService();return{...$.jobs,enqueue:QP(X,Z,!0),enqueueBatch:OP($.jobs,Z),registerHandler:BP(X,Z)}}function Ph($){let Z=$.getPermissionService();return{assertEntityActionAllowed:(X,J,G)=>{Z.assertEntityActionAllowed(X,J,G.userPermissionLevel)}}}function Fh($){return{get:async(Z)=>{let J=await $.getConversationService().getConversation(Z);return J?FA(J):null},search:async(Z)=>{return(await $.getConversationService().searchConversations(Z)).map(FA)},list:async(Z)=>{return(await $.getConversationService().listConversations(Z)).map(FA)},getMessages:async(Z,X)=>{return(await $.getConversationService().getMessages(Z,X)).map(Wh)},countMessages:async(Z)=>{return $.getConversationService().countMessages(Z)}}}function zh($,Z){return{registerHandler:(X,J)=>{$.registerEvalHandler(Z,X,J)}}}function Th($){return{register:(Z,X)=>{$.getInsightsRegistry().register(Z,X)}}}function Mh($){return{has:(Z)=>$.getPluginPackageName(Z)!==void 0}}function wh($,Z){return{register:(X)=>{$.registerEndpoint({...X,pluginId:Z})}}}function Ch($,Z){return{register:(X)=>{$.registerInteraction({...X,pluginId:Z})}}}function Rh($,Z){return{registerWidget:async(X)=>{await $.send({type:PP.registerWidget,payload:{...X,pluginId:Z}})},unregisterWidget:async(X)=>{await $.send({type:PP.unregisterWidget,payload:{pluginId:Z,...X?{widgetId:X}:{}}})}}}function W7($,Z,X){let J=$.getEntityService(),G=$.getLogger().child(Z),Y=$.getDomain(),W=$.getLocalSiteUrl(),H=$.shouldPreferLocalUrls(),U=$.getThemeCSS(),A=Uh($),Q=$.getAttachmentRegistry(),O=$.getRuntimeUploadRegistry(),P=$.getRuntimeState(),_=$.getAccountSettingsRegistry(),T=X?.executionOnly===!0,M=Nh($,Z,G,T);return{pluginId:Z,executionOnly:T,logger:G,entityService:J,semantic:{project:(S)=>J.projectSemanticSpace(S)},identity:Ah($,A),profileKinds:Kh($,Z),channels:_P($),inbox:Qh($,Z),inboxFollowUps:Oh($,Z),appInfo:A,readiness:()=>$.getRuntimeReadiness(),operationalHealth:Vh($,Z),judge:(S)=>$.judge(S),domain:Y,siteUrl:Y?`https://${Y}`:void 0,localSiteUrl:W,previewUrl:Y?`https://${XP(Y)}`:void 0,preferLocalUrls:H,themeCSS:U,entityDisplay:X?.entityDisplay,spaces:$.getSpaces(),permissions:Ph($),messaging:M,dashboard:Rh(M,Z),jobs:_h($,Z),attachments:Q,uploads:O,accountSettings:_,runtimeState:P,recurringChecks:$.getRecurringChecks(Z),conversations:Fh($),dataDir:$.getDataDir(),eval:T?{registerHandler:()=>{}}:zh($,Z),insights:T?{register:()=>{}}:Th($),plugins:Mh($),endpoints:T?{register:()=>{}}:wh($,Z),interactions:T?{register:()=>{}}:Ch($,Z)}}function IX$($){return $.replace(/:/g,"-")}function vX$($){return $.split(/[:.-]/).map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join(" ")}var FP=new Map;async function zA($,Z,X){let J=FP.get(Z);if(J!==void 0)return J;let G=IX$(Z),Y;try{Y=await $.getEntity({entityType:"prompt",id:G})}catch{return X}if(Y?.content){let W=pZ(Y.content,D.record(D.string(),D.unknown())).content;return FP.set(Z,W),W}try{let W=vX$(Z),H=T1(X,{title:W,target:Z});await $.createEntity({entity:{id:G,entityType:"prompt",content:H,metadata:{title:W,target:Z,slug:G}}})}catch{}return FP.set(Z,X),X}async function yX$($,Z){let X=$.list().filter((J)=>!!J.basePrompt);return await Promise.all(X.map((J)=>zA(Z,J.name,J.basePrompt))),X.length}function TA($){let Z=$.getEntityService(),X=$.getEntityRegistry(),J=$.getDataSourceRegistry();return{register:(G,Y,W,H)=>{X.registerEntityType(G,Y,W,H)},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 MA($){return{resolve:(Z,X)=>{return zA($,Z,X)}}}function wA($){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 zP($,Z,X){let J=W7($,Z,X),G=$.getEntityService();return{...J,entityService:G,entities:TA($),ai:wA($),prompts:MA(G),permissions:J.permissions}}var TP=D.object({});class HY extends Z7{type="entity";entityActionPolicy;constructor($,Z,X,J,G){super($,Z,X,J);if(G!==void 0)this.entityActionPolicy=G}async register($,Z){let X=zP($,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),H=Y&&!W?{...G,projectionSource:!1,projectionSourceRole:"excluded"}:G;if(X.entities.register(this.entityType,this.schema,this.adapter,H),this.interceptCreate!==HY.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 wP($){return Lh(MP($))}function MP($,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)=>MP(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)}:${MP(Y,X)}`).join(",")}}`}function CP($){if($!==null&&typeof $==="object"){for(let Z of Object.values($))CP(Z);Object.freeze($)}return $}var bX$=D.strictObject({id:D.string().trim().min(1),version:D.string().trim().min(1),sources:D.array(D.strictObject({kind:D.literal("entity"),types:D.array(D.string().trim().min(1)).min(1),excludeTypes:D.array(D.string().trim().min(1)).optional()})),targetType:D.string().trim().min(1)});function RP($){let Z=bX$.parse({id:$.id,version:$.version,sources:$.sources,targetType:$.targetType});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,inputSchema:$.inputSchema,selectInput:async(J,G,Y)=>{let W=await $.selectInput(J,G,Y),H=y6.parse(W);return CP($.inputSchema.parse(H))},fingerprint:wP,derive:async(J,G,Y)=>{let W=$.inputSchema.parse(J),H=D.array(I4).parse(await $.derive(W,G,Y));for(let U of H){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 CP(H)}})}var gX$=D.record(D.string(),D.unknown()),hX$=D.object({items:D.array(D.object({operation:D.enum(["upsert","delete"]),id:D.string(),source:y6.optional()}))}),qh=new WeakMap;function CA($){let Z=qh.get($);if(!Z)Z=W6.extend({entityType:D.literal($.type),metadata:$.metadata}),qh.set($,Z);return Z}function Eh($,Z){return CA($).parse(Z)}function xh($,Z){return $.markdown?$.markdown.encode({content:Z.content,metadata:$.metadata.parse(Z.metadata)}):{content:Z.content,frontmatter:Z.metadata}}function Sh($,Z){let X=xh($,Z);return T1(X.content,X.frontmatter)}function mX$($){let Z=CA($);return{entityType:$.type,purpose:$.purpose,schema:Z,frontmatterSchema:$.metadata,toMarkdown(X){return Sh($,X)},fromMarkdown(X){let J=pZ(X,gX$),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)=>pZ(X,J).metadata,generateFrontMatter(X){return kG(xh($,X).frontmatter)},getBodyTemplate:()=>""}}async function fX$($,Z,X){let J=CA($.source).parse(Z),G=[];return await $.project({source:J,signal:X,target:{async upsert(Y){let W=y6.parse($.target.metadata.parse(Y.metadata)),H=Y.visibility??"public";G.push({operation:"upsert",entity:{id:Y.id,entityType:$.target.type,content:s5(Sh($.target,{content:Y.content,metadata:W}),H),metadata:W,visibility:H}})}}}),G}function pX$($,Z,X){return RP({id:X($.id),version:Z,sources:[{kind:"entity",types:[$.source.type]}],targetType:$.target.type,inputSchema:y6,async selectInput(J,G){let Y=J.inputs.filter(({sourceType:H})=>H===$.source.type),W=await Promise.all(Y.map(async(H)=>{if(H.operation==="delete")return{operation:"delete",id:H.sourceId};let U=await G.entities.getEntity({entityType:H.sourceType,id:H.sourceId,visibilityScope:"restricted"});if(!U)throw Error(`Projection "${$.id}" could not load ${H.sourceType}:${H.sourceId}`);return{operation:"upsert",id:H.sourceId,source:U}}));return y6.parse({items:W})},async derive(J,G,Y){let W=hX$.parse(J),H=[];for(let U of W.items){if(Y.throwIfAborted(),U.operation==="delete"){H.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`);H.push(...await fX$($,U.source,Y))}return H}})}class jh extends HY{projections;scope;entityType;schema;adapter;constructor($,Z,X,J){super(J($.type),X,{},TP);this.projections=Z,this.scope=J,this.entityType=$.type,this.schema=CA($),this.adapter=mX$($)}getProjectionRules(){return this.projections.map(($)=>pX$($,this.version,this.scope))}}function kh($,Z,X,J){return $.map((G)=>new jh(G,Z.filter(({source:Y})=>Y===G),X,J))}var Ih=Symbol.for("rizom.plugin-package.runtime-factory");function $J(){return D.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 b4($){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,Ih,{configurable:!1,enumerable:!1,value:$.instantiate,writable:!1}),Object.freeze(X)}function cX$($){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[Ih]==="function"}function dX$($){if(uZ($.type,"Entity type"),!$.purpose.trim())throw Error(`Entity "${$.type}" purpose must not be empty`);return Object.freeze({kind:"rizom-entity",...$})}function uX$($){return uZ($.id,"Projection id"),Object.freeze({kind:"rizom-projection",...$})}var oX$=D.object({});function nX$($){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 H={entities:Z,projections:X};return b4({family:"entity",id:$.id,config:oX$,public:H,instantiate:({package:U,scope:A})=>kh(Z,X,U,A)})}var vh=new WeakMap;function yh($){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)LP($.deadline);let Z={kind:"rizom-service-job",...$,handle(X){let J=Object.freeze({kind:"rizom-service-job-binding",definition:Z});return vh.set(J,X),J}};return Object.freeze(Z)}function bh($){let Z=vh.get($);if(!Z)throw Error(`Job "${$.definition.name}" was not created by defineJob().handle()`);return Z}function LP($){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 gh($){if(uZ($.name,"Tool name"),!$.description.trim())throw Error(`Tool "${$.name}" description must not be empty`);return Object.freeze({kind:"rizom-service-tool",...$})}var lX$=["public","trusted","admin"];function z9($,Z){if(!$.trim())throw Error(`${Z} must not be empty`)}function H7($,Z){if($!==void 0)z9($,Z)}function qP($,Z){if($!==void 0&&!Number.isFinite($))throw Error(`${Z} priority must be finite`)}function UY($,Z){if(!lX$.includes($))throw Error(`${Z} permission "${String($)}" is unsupported`)}function hh($,Z){return DY.hasPermission($,Z)}function EP($){z9($.title,"Account settings title"),H7($.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(z9(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 rX$=new WeakMap;function mh($){if(uZ($.id,"Dashboard widget id"),z9($.title,`Dashboard widget "${$.id}" title`),z9($.group,`Dashboard widget "${$.id}" group`),H7($.description,`Dashboard widget "${$.id}" description`),qP($.priority,`Dashboard widget "${$.id}"`),UY($.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 rX$.set(G,J),G}};return Object.freeze(Z)}var iX$=new WeakMap;function fh($){uZ($.id,"CMS workspace id"),z9($.label,`CMS workspace "${$.id}" label`),H7($.description,`CMS workspace "${$.id}" description`),qP($.priority,`CMS workspace "${$.id}"`),UY($.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&&!hh(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 H of G.actions){if(!X.actions.includes(H.definition))throw Error(`CMS workspace "${X.id}" cannot bind undeclared action "${H.definition.name}"`);if(Y.has(H.definition))throw Error(`CMS workspace "${X.id}" binds action "${H.definition.name}" more than once`);Y.add(H.definition)}for(let H of X.actions)if(!Y.has(H))throw Error(`CMS workspace "${X.id}" has no executor for action "${H.name}"`);let W=Object.freeze({kind:"rizom-cms-workspace-binding",definition:X,actions:Object.freeze([...G.actions])});return iX$.set(W,{authorize:G.authorize,load:G.load}),W}};return Object.freeze(X)}var sX$=new WeakMap;function ph($){if(uZ($.name,"Workspace action name"),z9($.label,`Workspace action "${$.name}" label`),H7($.confirmation,`Workspace action "${$.name}" confirmation`),$.permission!==void 0)UY($.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 sX$.set(G,J),G}};return Object.freeze(Z)}import{AsyncLocalStorage as aX$}from"async_hooks";function xP($,Z,X){let J=W7($,Z,X),G=$.getEntityService(),Y=$.getRenderService(),W=$.getContentService(),H=$.getPermissionService();return{...J,permissions:{...J.permissions,getConfiguredPrincipalSeeds:()=>H.getConfiguredPrincipalSeeds(),replaceRuntimePrincipalState:(U)=>H.replaceRuntimePrincipalState(U)},entityService:G,entities:TA($),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=ch.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:MA(G),ai:wA($),registerInstructions:(U)=>{$.registerInstructions(Z,U)}}}class RA extends Z7{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register($,Z){let X=xP($,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 AY=new WeakMap;function dh($,Z){let X=AY.get($);if(X&&X!==Z)throw Error(`Job "${$.name}" is registered as both "${X}" and "${Z}"`);AY.set($,Z)}function uh($,Z){if(AY.get($)===Z)AY.delete($)}function oh($){let Z=AY.get($);if(!Z)throw Error(`Job "${$.name}" is not registered by an active declarative service`);return Z}var SP="_rizomConfirmationToken";function nh($,Z){return $.format({value:$.schema.parse(Z)})}function tX$($){if($===null||typeof $!=="object")return;let Z=Reflect.get($,SP);return typeof Z==="string"?Z:void 0}function eX$($){if($===void 0)return{};try{return JSON.parse($)}catch{return $}}function lh($,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 $J$($,Z,X){let J=$.definition,G=bh($);return{...J.deadline?{executionTimeoutMs:LP(J.deadline)}:{},validateAndParse(Y){let W=J.input.safeParse(Y);return W.success?W.data:null},async process(Y,W,H,U){let A=await G({input:Y,signal:U,progress:H,templates:X,entities:{async get(Q,O){let P=await Z.entityService.getEntity({entityType:Q.type,id:O,visibilityScope:"restricted"});return P?Eh(Q,P):null}},messaging:{async publish(Q){await Z.messaging.send({type:Q.topic,payload:Q.data})}}});return J.output.parse(A)}}}class ih extends RA{definition;publicId;toolContext=new aX$;cleanups=[];registeredJobs=new Set;scopedShell;state;tools;resources;constructor($,Z,X,J){super(J,X,Z,$J());this.definition=$,this.publicId=$.id}register($){return this.scopedShell=$,super.register($)}async onRegister($){if(await super.onRegister($),this.definition.dashboardWidgets)throw Error(`Service "${this.publicId}" dashboard widgets require the operator runtime`);if(this.definition.cmsWorkspaces)throw Error(`Service "${this.publicId}" CMS workspaces require the operator runtime`);if(this.definition.accountSettings&&!$.executionOnly)$.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});this.state=this.definition.setup?await this.definition.setup({config:this.config,lifecycle:{onCleanup:(G)=>{this.cleanups.push(G)}}}):Object.freeze({});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),dh(Y,`${this.id}:${Y.name}`),$.jobs.registerHandler(Y.name,$J$(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`)}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.tools=void 0,this.resources=void 0;for(let $ of this.registeredJobs)uh($,`${this.id}:${$.name}`);this.registeredJobs.clear();for(let $ of this.cleanups.splice(0).reverse())await $()}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 H=await $.jobs.getStatus(W);return H?lh(Z,H):null}})},async status(Z,X){let J=await $.jobs.getStatus(X);return J?lh(Z,J):null}}}templateFormatter(){let $=this.definition.templates;return{format(Z,X){let J=$?.[Z];if(!J)throw Error(`Template not found: ${Z}`);return nh(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 H=Y?.schema??W?.schema;if(!H)continue;let U={name:G,description:W?.description??`${this.publicId} ${G}`,schema:H,requiredPermission:"admin",...Y?{formatter:{format:(Q)=>nh(Y,Q),parse:()=>{throw Error(`Template "${G}" is format-only`)}}}:{}};if(!W){X[G]=LA(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]=LA({...U,schema:H,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(eX$(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=rh({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=tX$(J);if(Y!==void 0){let U=X.validateConfirmed(Y,J);if(U)return U;let A={...D.record(D.string(),D.unknown()).parse(J)};delete A[SP],J=A}let W=$.input.parse(J);if(Y===void 0&&$.confirmation)return{needsConfirmation:!0,toolName:Z,summary:$.confirmation,args:X.buildArgs((U)=>({...D.record(D.string(),D.unknown()).parse(W),[SP]:U}))};let H=await this.toolContext.run(G,()=>$.execute({input:W,signal:G.signal??new AbortController().signal}));return{success:!0,data:$.output.parse(H)}}catch(Y){return{success:!1,error:l$(Y)}}}}}}function sh($,Z,X,J){return new ih($,Z,X,J)}function ZJ$($){return b4({family:"service",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>sh($,Z,X,J($.id))})}var ah=30000,th=1e4;function eh($,Z,X){let J,G=new Promise((Y,W)=>{J=setTimeout(()=>W(Error(X)),Z)});return Promise.race([$,G]).finally(()=>clearTimeout(J))}function qA($,Z,X){let J=!1,G=0,Y,W,H=Promise.resolve(),U=new Map,A=()=>{let _=H.catch(()=>{return}).then(()=>Q());return H=_.then(()=>{Y=void 0},(T)=>{Y="Account task reconciliation failed"}),_},Q=async()=>{if(!J)return;let _=G,T=await X.listConfigured(Z);if(_!==G)return;let M=new Map(T.map((S)=>[S.id,S.revision]));for(let[S,K$]of U)if(M.get(S)!==K$.revision)await P(S,K$);if(_!==G)return;for(let S of T)if(!U.has(S.id))O(S)},O=(_)=>{let T=new AbortController,M,S,K$=new Promise((B$,h$)=>{M=B$,S=h$}),r={controller:T,revision:_.revision,status:"starting",message:"Connecting",run:Promise.resolve()},J$=Promise.resolve().then(()=>$.run({account:Object.freeze({id:_.id,settings:_.settings}),signal:T.signal,health:{ready(){r.status="ready",r.message="Ready",M?.()},warning(B$){r.status="warning",r.message=B$}}})).then(()=>{if(!T.signal.aborted)throw Error(`Account-bound daemon "${$.id}" stopped before it was aborted`)}).catch((B$)=>{if(T.signal.aborted)return;let h$=B$ instanceof Error?B$:Error(l$(B$));r.status="error",r.message="Account task failed",S?.(h$)});r.run=J$,U.set(_.id,r),eh(K$,ah,`Account-bound daemon "${$.id}" did not report readiness within ${ah}ms`).catch(()=>{if(T.signal.aborted)return;r.status="error",r.message="Account task did not become ready",T.abort()})},P=async(_,T)=>{if(U.get(_)!==T)return;U.delete(_),T.controller.abort(),await eh(T.run,th,`Account-bound daemon "${$.id}" task did not stop within ${th}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 H.catch(()=>{return});let _=[...U.entries()];await Promise.all(_.map(([T,M])=>P(T,M)))},healthCheck(){let _={total:U.size,ready:0,warning:0,error:0};for(let M of U.values())if(M.status==="ready")_.ready++;else if(M.status==="warning")_.warning++;else if(M.status==="error")_.error++;let T=Y||_.error>0?"error":_.warning>0?"warning":"healthy";return Promise.resolve({status:T,message:Y??(_.total===0?"No configured accounts":`${_.ready} of ${_.total} account task(s) ready`),lastCheck:new Date,details:_})}}}var fq$=["GET","POST","PUT","DELETE","OPTIONS"];function EA($,Z={}){return new Response(JSON.stringify($),{status:Z.status??200,headers:{"Content-Type":"application/json; charset=utf-8",...Z.headers}})}function KY($,Z,X={}){return EA({error:$},{status:Z,...X})}function VY($){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,H=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([H,A])}finally{clearTimeout(U)}},async stop(){let G=Z,Y=X;Z=void 0,X=void 0,G?.abort();let W,H=Y?await Promise.race([Y.then(()=>!0,()=>!0),new Promise((U)=>{W=setTimeout(()=>U(!1),1e4)})]):!0;if(clearTimeout(W),!H)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 $m($){return Xm($)}function Zm($){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 Jm($){return{chat:async(Z,X,J,G)=>{let Y=Zm(J),W=G?await $.chat(Z,X,Y,G):await $.chat(Z,X,Y);return $m(W)},confirmPendingAction:async(Z,X,J,G,Y)=>{let W=Zm(G);if(!W)throw Error("Confirmation requires caller context.");let H=Y?await $.confirmPendingAction(Z,X,J,W,Y):await $.confirmPendingAction(Z,X,J,W);return $m(H)},invalidate:()=>{$.invalidateAgent()}}}var QY=Symbol.for("brains.httpRouteSnapshotProvider");function XJ$($,Z){if($[QY])throw Error("HTTP route snapshot provider is already bound");Object.defineProperty($,QY,{value:Z,enumerable:!1,configurable:!0,writable:!1})}function Gm($,Z){let X=$[QY];if(!X)throw Error("HTTP route snapshot provider is not bound");if(Z[QY])return;XJ$(Z,X)}function Ym($){let Z=$[QY];if(!Z)throw Error("HTTP route snapshot provider is not bound");return Z()}function xA($,Z,X){let J=W7($,Z,X),G=$.getMCPService(),Y=$.getPermissionService(),W=Jm($.getAgentService());return{...J,mcpTransport:G,agent:W,permissions:{...J.permissions,getUserLevel:(H,U,A)=>{return Y.determineUserLevel(H,U,A)},isAnchor:(H,U)=>Y.isAnchor(H,U)},daemons:{register:(H,U)=>{let A=`${Z}:${H}`;$.registerDaemon(A,U,Z),J.logger.debug(`Registered daemon: ${A}`)}},conversations:{...J.conversations,start:async(H)=>{return $.getConversationService().startConversation(H)},addMessage:async(H)=>{await $.getConversationService().addMessage(H)},updateMetadata:async(H)=>{return $.getConversationService().updateConversationMetadata(H)},delete:async(H)=>{return $.getConversationService().deleteConversation(H)}},tools:{listForPermissionLevel:(H)=>{return $.listToolsForPermissionLevel(H)}},apiRoutes:{getRoutes:()=>{return $.getPluginApiRoutes()},getMessageBus:()=>{return $.getMessageBus()}},webRoutes:{getRoutes:()=>{return $.getPluginWebRoutes()}},httpRoutes:{getRoutes:()=>Ym($)},plugins:{has:(H)=>$.hasPlugin(H)}}}function jP($,Z,X){return{...xA($,Z,X),channels:Bh($,Z)}}var JJ$=3600000;class ZJ extends Z7{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=JJ$;createContext($,Z){return xA($,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 Wm extends ZJ{definition;accountSettingsRegistration;routes=[];hasRequiredDaemon=!1;constructor($,Z,X,J){super(J,X,Z,$J());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,qA(Y,W,$.accountSettings));continue}$.daemons.register(Y.id,VY(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:oh(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 KY("Unauthorized",401);let G;if($.body){let W;try{W=await X.json()}catch{return KY("Request body must be valid JSON",400)}let H=$.body.safeParse(W);if(!H.success)return KY("Request body is invalid",400);G=H.data}let Y=await $.handle({request:X,body:G,caller:J});return EA($.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 Hm($,Z,X,J){return new Wm($,Z,X,J)}var Dm=["GET","POST","PUT","DELETE","OPTIONS"];function kP($,Z){$.messaging.subscribe(JY.progress,async(X)=>{try{let J=BA.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 IP($){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+=`
|
|
118
|
+
`;return""}return t_.dump=o,t_}var zg;function d7$(){if(zg)return cZ;zg=1;let $=p7$(),Z=c7$();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 cZ.Type=J8(),cZ.Schema=Tg(),cZ.FAILSAFE_SCHEMA=Rg(),cZ.JSON_SCHEMA=Sg(),cZ.CORE_SCHEMA=jg(),cZ.DEFAULT_SCHEMA=e_(),cZ.load=$.load,cZ.loadAll=$.loadAll,cZ.dump=Z.dump,cZ.YAMLException=$Y(),cZ.types={binary:vg(),float:xg(),map:Cg(),null:Lg(),pairs:bg(),set:gg(),timestamp:kg(),bool:qg(),int:Eg(),merge:Ig(),omap:yg(),seq:wg(),str:Mg()},cZ.safeLoad=X("safeLoad","load"),cZ.safeLoadAll=X("safeLoadAll","loadAll"),cZ.safeDump=X("safeDump","dump"),cZ}var u7$=d7$(),o7$=m7$(u7$),{Type:nM$,Schema:rM$,FAILSAFE_SCHEMA:lM$,JSON_SCHEMA:iM$,CORE_SCHEMA:sM$,DEFAULT_SCHEMA:aM$,load:n7$,loadAll:tM$,dump:r7$,YAMLException:eM$,types:$w$,safeLoad:Zw$,safeLoadAll:Xw$,safeDump:Jw$}=o7$;var Yw$=D.record(D.string(),D.unknown());class mg{format($){return $.message}parse($){return{message:$.trim()}}}var Ew$=D.object({slug:D.string(),title:D.string(),type:D.string(),entityId:D.string(),contentHash:D.string()});function ZY($,Z){return Z?$.nullable().default(null):$}function ZP($){switch($.type){case"string":return ZY(D.string(),$.optional);case"number":return ZY(D.number(),$.optional);case"enum":return ZY(D.enum($.options),$.optional);case"object":{let Z={};for(let[X,J]of Object.entries($.fields))Z[X]=ZP(J);return ZY(D.object(Z),$.optional)}case"array":{let Z=D.array(l7$($));if($.minItems!==void 0)Z=Z.min($.minItems);if($.length!==void 0)Z=Z.length($.length);return ZY(Z,$.optional)}}}function l7$($){let{items:Z}=$;switch(Z.type){case"string":return D.string();case"number":return D.number();case"enum":return D.enum(Z.options);case"object":{let X={};for(let[J,G]of Object.entries(Z.fields))X[J]=ZP(G);return D.object(X)}}}function $P($,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])=>$P(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])=>$P(J,G)),X}}}}function fg($,Z){let X={};for(let[Y,W]of Object.entries(Z.fields))X[Y]=ZP(W);let J=D.object(X),G=new tG(J,{title:Z.title,mappings:Object.entries(Z.fields).map(([Y,W])=>$P(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 i7$($){let Z={};for(let[X,J]of Object.entries($.sections))Z[X]=fg(X,J);return Z}var s7$=S_.omit({url:!0,analyticsScript:!0}),pg=s7$.extend({title:D.string().optional().describe("Optional site title override"),description:D.string().optional().describe("Optional site description override")});function cg($){return pg.parse(XY($).frontmatter)}async function a7$($){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 cg(X.content)}function XP($,Z={}){let X=dg($),J=dg(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 dg($){return $.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class aX{static instance=null;entityDisplay;constructor(){}static getInstance(){return aX.instance??=new aX,aX.instance}configure($){this.entityDisplay=$}static resetInstance(){aX.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`/${N3($)}/${Z}`}}var og=["primary","secondary"];var t7$=D.custom(($)=>typeof $==="function","Expected a Preact component"),e7$=D.strictObject({show:D.boolean().optional(),label:D.string().min(1).optional(),slot:D.enum(og).optional(),priority:D.number().optional()}),$X$=D.strictObject({id:D.string().min(1),template:D.string().min(1),content:D.unknown().optional(),dataQuery:D.looseObject({entityType:D.string().optional(),template:D.string().optional(),query:D.record(D.string(),D.unknown()).optional()}).optional(),order:D.number().optional()}),ZX$=D.strictObject({id:D.string().min(1),path:D.string().startsWith("/"),title:D.string().optional(),pageLabel:D.string().optional(),description:D.string().optional(),sections:D.array($X$).optional(),layout:D.string().min(1).optional(),fullscreen:D.boolean().optional(),pluginId:D.string().optional(),sourceEntityType:D.string().optional(),external:D.boolean().optional(),navigation:e7$.optional()}),XX$=D.strictObject({label:D.string().min(1),pluralName:D.string().min(1).optional(),layout:D.string().min(1).optional(),paginate:D.boolean().optional(),pageSize:D.number().int().positive().optional(),navigation:D.strictObject({show:D.boolean().optional(),slot:D.enum(og).optional(),priority:D.number().optional()}).optional()}),JX$=D.strictObject({schema:D.custom(($)=>$ instanceof D.ZodType,"Expected a Zod schema"),component:D.custom(($)=>typeof $==="function","Expected a Preact component"),title:D.string().min(1),description:D.string(),requiredPermission:D.enum(["admin","trusted","public"]).optional(),fullscreen:D.boolean().optional()}),ug=D.strictObject({namespace:D.string().min(1),sections:D.record(D.string(),JX$)}),GX$=D.record(D.string(),D.json()),YX$=D.record(D.string(),D.record(D.string(),GX$)),ng=D.strictObject({layouts:D.record(D.string(),t7$).refine(($)=>typeof $.default==="function",{message:'Site layouts must include a "default" component'}),routes:D.array(ZX$),content:YX$.optional(),sections:D.union([ug,D.array(ug)]).optional(),themeOverride:D.string().optional(),headScripts:D.array(D.string()).optional(),entityDisplay:D.record(D.string(),XX$),staticAssets:D.record(D.string(),D.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 H=W.layout??"default";if(!$.layouts[H])Z.addIssue({code:"custom",path:["routes",Y,"layout"],message:`Unknown layout "${H}"`})}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 H=G.get(Y);if(!H){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=H.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: ${D.prettifyError(O.error)}`})}}});var WX$=D.string();function HX$($){return $!==null&&typeof $==="object"&&!Array.isArray($)}var DX$=D.custom(($)=>{if(!HX$($))return!1;let{plugin:Z,...X}=$;if(Z!==void 0&&typeof Z!=="function")return!1;return ng.safeParse(X).success});var JP=D.enum(["file_operations","content_operations","data_processing","batch_processing"]),UX$=D.object({pluginId:D.string().optional(),progressToken:D.union([D.string(),D.number()]).optional(),operationType:JP,operationTarget:D.string().optional(),interfaceType:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),requestedByActor:$7.optional(),requestedByUserId:D.string().optional(),requestedByInterface:D.string().optional(),silent:D.boolean().optional(),provenance:X7.optional()}),J7=D.object({pluginId:D.string().optional(),progressToken:D.union([D.string(),D.number()]).optional(),operationType:JP,operationTarget:D.string().optional(),interfaceType:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),requestedByActor:$7.optional(),requestedByUserId:D.string().optional(),requestedByInterface:D.string().optional(),silent:D.boolean().optional(),provenance:X7.optional(),rootJobId:D.string()}),OC$=D.enum(["none","skip","replace","coalesce"]);var AX$=D.object({id:D.string(),type:D.string(),data:D.string(),status:D.enum(["pending","processing","completed","failed"]),source:D.string().nullable(),priority:D.number(),retryCount:D.number(),maxRetries:D.number(),lastError:D.string().nullable(),createdAt:D.number(),scheduledFor:D.number(),startedAt:D.number().nullable(),completedAt:D.number().nullable(),attemptId:D.string().nullable(),workerSlotId:D.string().nullable(),workerSessionId:D.string().nullable(),leaseExpiresAt:D.number().nullable(),attemptHeartbeatAt:D.number().nullable(),runtimeUpdatedAt:D.number().nullable(),metadata:J7,progress:D.custom(($)=>typeof $==="object"&&$!==null&&("progress"in $)&&typeof $.progress==="number").nullable(),result:D.unknown().nullable().optional()}),q1=15000;var GP=D.enum(["pending","processing","completed","failed"]),rg=D.enum(["completed","failed"]),O$={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},KX$=D.object({id:D.string(),type:D.string(),status:GP,data:D.unknown(),result:D.unknown().optional(),lastError:D.string().optional().nullable(),attempts:D.number(),maxRetries:D.number(),priority:D.number(),createdAt:D.date(),updatedAt:D.date(),processedAt:D.date().optional().nullable(),completedAt:D.date().optional().nullable(),failedAt:D.date().optional().nullable()}),VX$=D.object({jobId:D.string(),type:D.string(),status:rg,result:D.unknown().optional(),error:D.string().optional()}),YP=D.object({success:D.literal(!1),error:D.string().optional()}),BA=D.object({id:D.string(),type:D.enum(["job","batch"]),status:GP,message:D.string().optional(),progress:D.object({current:D.number(),total:D.number(),percentage:D.number()}).optional(),aggregationKey:D.string().optional(),batchDetails:D.object({totalOperations:D.number(),completedOperations:D.number(),failedOperations:D.number(),currentOperation:D.string().optional(),errors:D.array(D.string()).optional()}).optional(),jobDetails:D.object({jobType:D.string(),priority:D.number(),retryCount:D.number()}).optional(),metadata:J7});var m=zZ("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$=zZ("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 lg($){return I6({url:$.url,schema:{jobQueue:m,jobWorkerSessions:l$},authToken:$.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN"})}class WP{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 QX$=D.looseObject({deduplicationKey:D.string().optional()});class HP{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=QX$.safeParse(X.metadata);return J.success&&J.data.deduplicationKey===Z})}}var OX$=2000,BX$=5,NX$=40,_X$=new F_;class DP{db;transactionClient;databaseUrl;logger;deduplicator=new HP;writeRetryBudgetMs;constructor($,Z,X,J,G){this.db=$,this.transactionClient=Z,this.databaseUrl=X,this.logger=J.child("JobQueueRepository"),this.writeRetryBudgetMs=G?.writeRetryBudgetMs??OX$}async insert($){await this.db.insert(m).values($)}async enqueueAtomic($){return _X$.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",H=async()=>{await Y?.(),await this.insertJob($,X)};if(W==="none")return await H(),{kind:"inserted",jobId:X.id};let U=await this.getActiveDeduplicationCandidates($,X.type),A=this.deduplicator.findDuplicate(U,W,G);if(!A)return await H(),{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 H=Math.min(BX$*2**(Y-1),NX$),U=H/2+Math.random()*(H/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=r$(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=q1){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=q1){return(await this.db.update(l$).set({heartbeatAt:X,expiresAt:X+J}).where(F$(p(l$.slotId,$),p(l$.sessionId,Z))).returning({slotId:l$.slotId})).length===1}async endWorkerSession($,Z){return(await this.db.delete(l$).where(F$(p(l$.slotId,$),p(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,H=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:H,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),p(m.retryCount,Y.retryCount))).returning({id:m.id})).length!==1)return!1;if(W)this.logger.debug("Job scheduled for retry",{jobId:$,retryCount:H,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(p(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],H=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(H?.total??0),active:Number(H?.active??0),stale:Number(H?.stale??0),latestHeartbeatAgeMs:U(H?.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$(q4(p(m.status,O$.COMPLETED),p(m.status,O$.FAILED)),S6(m.completedAt,Z)))).rowsAffected}async getActiveJobs($){let Z=q4(p(m.status,O$.PENDING),p(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=p(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}=$,H=this.db.select({slotId:l$.slotId}).from(l$).where(F$(p(l$.slotId,J),p(l$.sessionId,G),fX(l$.expiresAt,Z))),U=this.db.select({slotId:l$.slotId}).from(l$).where(F$(p(l$.slotId,m.workerSlotId),p(l$.sessionId,m.workerSessionId))),A=this.db.select({slotId:l$.slotId}).from(l$).where(F$(p(l$.slotId,m.workerSlotId),p(l$.sessionId,m.workerSessionId),S6(l$.expiresAt,Z))),Q=F$(p(m.status,O$.PROCESSING),q4(C1(m.attemptId),sU(U),F$(S6(m.leaseExpiresAt,Z),mG(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),q4(F$(p(m.status,O$.PENDING),S6(m.scheduledFor,Z)),Q))).orderBy(v0(m.priority),v0(m.createdAt)).limit(1),T=(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),mG(H))).returning())[0];if(T?.status!==O$.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:T.id,attemptId:T.attemptId,workerSlotId:J,workerSessionId:G}),T}nextRuntimeUpdatedAt($){return N`max(${$}, coalesce((select max(${m.runtimeUpdatedAt}) from ${m}), 0) + 1)`}attemptWriteGuard($,Z){return Z?F$(p(m.id,$),p(m.status,O$.PROCESSING),p(m.attemptId,Z)):F$(p(m.id,$),C1(m.attemptId),q4(p(m.status,O$.PENDING),p(m.status,O$.PROCESSING)))}}import{AsyncLocalStorage as PX$}from"async_hooks";class tX{storage=new PX$;static createFresh(){return new tX}constructor(){}current(){return this.storage.getStore()}run($,Z,X){if(Z.length===0)throw Error("Operation ID must not be empty");let J=X7.parse($),G=FX$(J);return this.storage.run(Object.freeze({provenance:G,operationId:Z}),X)}}function FX$($){if(Object.freeze($.projectionLineage),$.sourceEntity)Object.freeze($.sourceEntity);return Object.freeze($)}class UP{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 UP($,Z??F9.getInstance(),X)}constructor($,Z,X){let{db:J,client:G,url:Y}=lg($);this.client=G,this.databaseUrl=Y,this.logger=Z.child("JobQueueService"),this.operationContext=X?.operationContext??tX.createFresh(),this.projectionAdmission=X?.projectionAdmission,this.handlerRegistry=new WP(this.logger,X?.handlerRegistrationMode??"combined"),this.repository=new DP(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 v6(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(),H=qZ(),U=J?.rootJobId??this.operationContext.current()?.provenance.rootJobId??H,A=this.createJobProvenance(H,U,J),Q=J?.metadata??{operationType:"data_processing"},{provenance:O,...P}=Q,_={id:H,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},T;try{let M=await this.repository.enqueueAtomic({jobData:_,strategy:J?.deduplication,deduplicationKey:J?.deduplicationKey,beforeInsert:async()=>{T=await this.projectionAdmission?.reserveJobAdmission(A)}});if(T?.commit(),M.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:Z,existingJobId:M.jobId});else if(M.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:Z,existingJobId:M.jobId});else{if(M.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:Z,oldJobId:M.replacedJobId});this.logger.debug("Job enqueued",{id:M.jobId,type:Z,priority:_.priority,rootJobId:_.metadata.rootJobId})}return M.jobId}catch(M){throw T?.rollback(),this.logger.error("Failed to enqueue job",{type:Z,error:r$(M)}),M}}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,H=X?.projection,U=H?[...Y?.projectionLineage??[],H.id]:[...Y?.projectionLineage??[]],A=H?.id??Y?.projectionId;return X7.parse({rootJobId:Z,causationId:W??Y?.causationId??$,...A?{projectionId:A}:{},projectionLineage:U,...H?.sourceEntity?{sourceEntity:H.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=q1){await this.repository.startWorkerSession($,Z,Date.now(),X)}heartbeatWorkerSession($,Z,X=q1){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 ig extends Error{constructor($,Z){super(`Job ${$} exceeded its ${Z}ms execution deadline`);this.name="JobDeadlineExceededError"}}class AP{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 AP($,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??tX.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??q1,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(Q9.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(U9.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(Q9.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(Q9.run(X,J.id,t.promise(()=>this.processJobWrapper(J))))}catch($){this.logger.error("Error processing available jobs",{error:$}),this.stats.lastError=r$($)}}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=r$(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(O9.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((H,U)=>{J=H,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($,T0.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: ${r$($)}`)})}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=eX(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:r$(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 ig($,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 H=Error(`Claimed job ${$.id} has no attempt fencing token`);return this.markUnhealthy(H.message),{jobId:$.id,type:$.type,status:O$.FAILED,error:H.message}}let X=this.jobQueueService.getHandler($.type);if(!X){let H=Error(`No handler registered for job type: ${$.type}`);return await this.jobQueueService.fail($.id,H,Z),{jobId:$.id,type:$.type,status:O$.FAILED,error:H.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 H=JSON.parse($.data),U=X.validateAndParse(H);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=YP.safeParse(O);if(P.success){let T=P.data.error??"Handler returned failure",M=Error(T);if(await this.jobQueueService.fail($.id,M,Z))await this.emitTerminalFailure($,M,X,Z);return{jobId:$.id,type:$.type,status:O$.FAILED,error:T}}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(H){let U=eX(H);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 H=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,H,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 zX$=86400000,sg=3600000;class KP{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh($,Z,X){return new KP($,Z,X)}constructor($,Z,X){this.jobQueue=$,this.logger=Z,this.clock=X?.clock}start($=sg){return this.requestTransition("start",$)}stop(){return this.requestTransition("stop",sg)}async startCleanup($){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=t.runFork(this.runCleanupLoop($))}runCleanupLoop($){let Z=this.cleanupTerminalBatchMetadata().pipe(t.schedule(O9.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());i5.unsafeAdd(this.cleanupSupervisor.fibers,$)}async stopCleanup(){this.acceptingCleanup=!1;let $=this.cleanupFiber;if(this.cleanupFiber=null,$)await t.runPromise(U9.interrupt($));let Z=this.cleanupSupervisor;if(Z)await t.runPromise(i5.awaitEmpty(Z.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(Z)await t.runPromise(o0.close(Z.scope,T0.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((H,U)=>{J=H,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(i5.make(),$));return{scope:$,fibers:Z}}cleanupTerminalBatchMetadata(){return t.tryPromise({try:()=>{let $=this.cleanup(zX$);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}},H=await this.jobQueue.enqueue({type:Y.type,data:Y.data,options:W});G.push(H)}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 H;if(Y>0)H=O$.PROCESSING;else if(G>0)H=O$.FAILED;else H=O$.COMPLETED;if(Z.terminalAt===void 0&&(H===O$.COMPLETED||H===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:H,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 TX$=D.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},D.record(D.string(),D.unknown()));class VP{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};polling=!1;static createFresh($,Z,X,J,G="combined"){return new VP($,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=v4.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:JY.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:JY.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=TX$.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?J7.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 H=W.metadata??G;await this.emitBatchProgress(Y,W,H)}}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 MX$=D.record(D.string(),D.unknown());class GY{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=MX$.safeParse($);return Z.success?Z.data:{}}}function QP($,Z,X){return async(J)=>{let{type:G,data:Y,toolContext:W=null,options:H,projection:U}=J,A=W?ag(W):void 0,{metadata:Q,...O}=H??{},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,...H?.rootJobId&&{rootJobId:H.rootJobId},...U&&{projection:U},metadata:P},T=X&&!G.includes(":")?`${Z}:${G}`:G;return $.enqueue({type:T,data:Y,options:_})}}function OP($,Z){return async(X,J)=>{let G=qZ(),Y=X.map((H)=>({...H,type:H.type.includes(":")?H.type:`${Z}:${H.type}`})),W={...J,source:Z,rootJobId:G,metadata:{...J?.metadata,operationType:"batch_processing",pluginId:Z}};return await $.enqueueBatch(Y,W,G,Z),G}}function BP($,Z){return(X,J)=>{let G=X.includes(":")?X:`${Z}:${X}`;$.registerHandler(G,J,Z)}}var wX$=D.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)),CX$=D.object({name:D.string(),schema:wX$});function tg($){return CX$.safeParse($).success}function RX$($){if(!$)return;return{status:$.status,message:$.message,lastCheck:$.lastCheck?.toISOString(),details:$.details}}function eg($){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:RX$(Z.health)})),endpoints:$.endpoints,interactions:$.interactions}}var $h={digest:"conversation:digest"};var U0=zZ("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=zZ("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)})),G7=zZ("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 Zh($){return I6({url:$.url,schema:{conversations:U0,messages:dZ,summaryTracking:G7},authToken:$.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var LX$=D.preprocess(($)=>{if(typeof $!=="string")return $;try{return JSON.parse($)}catch{return}},D.record(D.string(),D.unknown())).catch({});function Y7($){return LX$.parse($)}var _A="conversation:messageAdded",NP="conversation:started",YY=D.object({identity:$7,interfaceType:D.string(),role:gX,displayName:D.string().optional(),username:D.string().optional(),isBot:D.boolean().optional()}),qX$=D.preprocess(EX$,YY);function EX$($){if(!NA($)||"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:Xh({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 WY=D.object({messageId:D.string().optional(),channelId:D.string().optional(),channelName:D.string().optional(),threadId:D.string().optional(),metadata:D.record(D.string(),D.unknown()).optional()}),Jh=D.looseObject({actor:qX$.optional(),source:WY.optional()});function Gh($){if(typeof $==="string")try{let Z=JSON.parse($);return NA(Z)?Z:null}catch{return null}return NA($)?$:null}function xX$($){if($.role!=="assistant")return!1;if($.content.trim().length===0)return!1;let Z=Gh($.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(!NA(G))return!1;if(G.kind==="tool-approval")return!0;return G.kind==="actions"&&G.id==="actions:upload-intent"})}function NA($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var SX$=D.object({id:D.string(),conversationId:D.string(),role:D.string(),content:D.string(),timestamp:D.string(),metadata:D.string().nullable()}),Yh=D.object({conversationId:D.string(),messageCount:D.number(),messages:D.array(SX$),windowStart:D.number(),windowEnd:D.number(),windowSize:D.number(),timestamp:D.string()});class PA{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 v6($,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 PA($,Z,X,J)}static createFreshFromConfig($,Z,X,J){let{db:G,client:Y,url:W}=Zh(X),H=new PA(G,$,Z,J);return H.dbClient=Y,H.dbUrl=W,H}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(p(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(G7).values(A),this.logger.debug("Started new conversation",{conversationId:Z,sessionId:Z,interfaceType:X}),await this.messageBus.send({type:NP,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),H={id:W,conversationId:Z,role:X,content:J,timestamp:Y,metadata:G?JSON.stringify(G):null};await this.db.insert(dZ).values(H),await this.db.update(U0).set({lastActive:Y,updated:Y}).where(p(U0.id,Z)),await this.db.update(G7).set({messagesSinceSummary:N`${G7.messagesSinceSummary} + 1`,lastMessageId:W,updated:Y}).where(p(G7.conversationId,Z)),this.logger.debug("Added message to conversation",{conversationId:Z,role:X,messageId:W}),await this.messageBus.send({type:_A,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(p(dZ.conversationId,$)).orderBy(v0(dZ.timestamp)).limit(Y).offset(G)}else return(await this.db.select().from(dZ).where(p(dZ.conversationId,$)).orderBy(PZ(dZ.timestamp)).limit(X)).reverse()}async getConversation($){return(await this.db.select().from(U0).where(p(U0.id,$)).limit(1))[0]??null}async listConversations($={}){let{limit:Z=100,updatedAfter:X,interfaceType:J,sessionId:G,channelId:Y,personId:W}=$,H=[X?fX(U0.updated,X):void 0,J?p(U0.interfaceType,J):void 0,G?p(U0.sessionId,G):void 0,Y?p(U0.channelId,Y):void 0,W?p(U0.personId,W):void 0].filter((A)=>A!==void 0),U=this.db.select().from(U0).orderBy(PZ(U0.lastActive)).limit(Z);if(H.length===0)return U;return U.where(F$(...H))}async searchConversations($,Z){let X=`%${$.toLowerCase()}%`;return(await this.db.selectDistinct({conversation:U0}).from(U0).leftJoin(dZ,p(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:Hb()}).from(dZ).where(p(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={...Y7(Z.metadata),...$.metadata};return await this.db.update(U0).set({metadata:JSON.stringify(J),updated:X}).where(p(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(p(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}}),H={conversationId:$,messageCount:Z,messages:W,windowStart:G,windowEnd:Y,windowSize:W.length,timestamp:X};await this.messageBus.send({type:$h.digest,payload:H,sender:"conversation-service",broadcast:!0}),this.logger.debug("Broadcast conversation digest",{conversationId:$,messageCount:Z,windowStart:G,windowEnd:Y,windowSize:W.length})}}function kX$($){let Z=gX.safeParse($);return Z.success?Z.data:"user"}function FA($){let Z=Y7($.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 Wh($){return{id:$.id,conversationId:$.conversationId,role:kX$($.role),content:$.content,timestamp:$.timestamp,metadata:Y7($.metadata)}}function Hh($){return BN.parse($)}function Dh($){return NN.parse($)}function Uh($){return async()=>{return eg(await $.getAppInfo())}}function Ah($,Z){return{get:()=>Hh($.getIdentity()),getProfile:()=>Dh($.getProfile()),getAppInfo:Z}}function Kh($,Z){let X=$.getProfileKindRegistry();return{register:(J)=>{X.register(Z,J)},getResolved:()=>X.getResolved(),getSelectedDefinition:()=>X.getSelectedDefinition()}}function _P($){let Z=$.getChannelRegistry();return{listDescriptors:()=>Z.listDescriptors(),getDescriptor:(X)=>Z.getDescriptor(X),getDeliveryProvider:(X)=>Z.getDeliveryProvider(X)}}function Vh($,Z){let X=$.getOperationalHealthRegistry();return{register:(J,G)=>X.register(Z,J,G)}}function Qh($,Z){let X=$.getInboxRegistry();return{registerSource:(J)=>{X.registerSource(Z,J)},listSources:()=>X.listSources(),getSource:(J)=>X.getSource(J)}}function Oh($,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 Bh($,Z){let X=$.getChannelRegistry();return{..._P($),registerDescriptor:(J)=>{X.registerDescriptor(Z,J)},registerDeliveryProvider:(J)=>{X.registerDeliveryProvider(Z,J)}}}function Nh($,Z,X,J=!1){let G=$.getMessageBus();return{send:async(W)=>{return G.send({...W,sender:Z})},subscribe:(W,H)=>{if(J)return()=>{};if(tg(W)){let U=W,A=H,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:_,...T}=O;return A(P.data,T)};return G.subscribe(U.name,Q)}return G.subscribe(W,H)},subscribeExecution:(W,H)=>G.subscribe(W,H)}}function _h($,Z){let X=$.getJobQueueService();return{...$.jobs,enqueue:QP(X,Z,!0),enqueueBatch:OP($.jobs,Z),registerHandler:BP(X,Z)}}function Ph($){let Z=$.getPermissionService();return{assertEntityActionAllowed:(X,J,G)=>{Z.assertEntityActionAllowed(X,J,G.userPermissionLevel)}}}function Fh($){return{get:async(Z)=>{let J=await $.getConversationService().getConversation(Z);return J?FA(J):null},search:async(Z)=>{return(await $.getConversationService().searchConversations(Z)).map(FA)},list:async(Z)=>{return(await $.getConversationService().listConversations(Z)).map(FA)},getMessages:async(Z,X)=>{return(await $.getConversationService().getMessages(Z,X)).map(Wh)},countMessages:async(Z)=>{return $.getConversationService().countMessages(Z)}}}function zh($,Z){return{registerHandler:(X,J)=>{$.registerEvalHandler(Z,X,J)}}}function Th($){return{register:(Z,X)=>{$.getInsightsRegistry().register(Z,X)}}}function Mh($){return{has:(Z)=>$.getPluginPackageName(Z)!==void 0}}function wh($,Z){return{register:(X)=>{$.registerEndpoint({...X,pluginId:Z})}}}function Ch($,Z){return{register:(X)=>{$.registerInteraction({...X,pluginId:Z})}}}function Rh($,Z){return{registerWidget:async(X)=>{await $.send({type:PP.registerWidget,payload:{...X,pluginId:Z}})},unregisterWidget:async(X)=>{await $.send({type:PP.unregisterWidget,payload:{pluginId:Z,...X?{widgetId:X}:{}}})}}}function W7($,Z,X){let J=$.getEntityService(),G=$.getLogger().child(Z),Y=$.getDomain(),W=$.getLocalSiteUrl(),H=$.shouldPreferLocalUrls(),U=$.getThemeCSS(),A=Uh($),Q=$.getAttachmentRegistry(),O=$.getRuntimeUploadRegistry(),P=$.getRuntimeState(),_=$.getAccountSettingsRegistry(),T=X?.executionOnly===!0,M=Nh($,Z,G,T);return{pluginId:Z,executionOnly:T,logger:G,entityService:J,semantic:{project:(S)=>J.projectSemanticSpace(S)},identity:Ah($,A),profileKinds:Kh($,Z),channels:_P($),inbox:Qh($,Z),inboxFollowUps:Oh($,Z),appInfo:A,readiness:()=>$.getRuntimeReadiness(),operationalHealth:Vh($,Z),judge:(S)=>$.judge(S),domain:Y,siteUrl:Y?`https://${Y}`:void 0,localSiteUrl:W,previewUrl:Y?`https://${XP(Y)}`:void 0,preferLocalUrls:H,themeCSS:U,entityDisplay:X?.entityDisplay,spaces:$.getSpaces(),permissions:Ph($),messaging:M,dashboard:Rh(M,Z),jobs:_h($,Z),attachments:Q,uploads:O,accountSettings:_,runtimeState:P,recurringChecks:$.getRecurringChecks(Z),conversations:Fh($),dataDir:$.getDataDir(),eval:T?{registerHandler:()=>{}}:zh($,Z),insights:T?{register:()=>{}}:Th($),plugins:Mh($),endpoints:T?{register:()=>{}}:wh($,Z),interactions:T?{register:()=>{}}:Ch($,Z)}}function IX$($){return $.replace(/:/g,"-")}function vX$($){return $.split(/[:.-]/).map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join(" ")}var FP=new Map;async function zA($,Z,X){let J=FP.get(Z);if(J!==void 0)return J;let G=IX$(Z),Y;try{Y=await $.getEntity({entityType:"prompt",id:G})}catch{return X}if(Y?.content){let W=pZ(Y.content,D.record(D.string(),D.unknown())).content;return FP.set(Z,W),W}try{let W=vX$(Z),H=T1(X,{title:W,target:Z});await $.createEntity({entity:{id:G,entityType:"prompt",content:H,metadata:{title:W,target:Z,slug:G}}})}catch{}return FP.set(Z,X),X}async function yX$($,Z){let X=$.list().filter((J)=>!!J.basePrompt);return await Promise.all(X.map((J)=>zA(Z,J.name,J.basePrompt))),X.length}function TA($){let Z=$.getEntityService(),X=$.getEntityRegistry(),J=$.getDataSourceRegistry();return{register:(G,Y,W,H)=>{X.registerEntityType(G,Y,W,H)},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 MA($){return{resolve:(Z,X)=>{return zA($,Z,X)}}}function wA($){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 zP($,Z,X){let J=W7($,Z,X),G=$.getEntityService();return{...J,entityService:G,entities:TA($),ai:wA($),prompts:MA(G),permissions:J.permissions}}var TP=D.object({});class HY extends Z7{type="entity";entityActionPolicy;constructor($,Z,X,J,G){super($,Z,X,J);if(G!==void 0)this.entityActionPolicy=G}async register($,Z){let X=zP($,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),H=Y&&!W?{...G,projectionSource:!1,projectionSourceRole:"excluded"}:G;if(X.entities.register(this.entityType,this.schema,this.adapter,H),this.interceptCreate!==HY.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 wP($){return Lh(MP($))}function MP($,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)=>MP(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)}:${MP(Y,X)}`).join(",")}}`}function CP($){if($!==null&&typeof $==="object"){for(let Z of Object.values($))CP(Z);Object.freeze($)}return $}var bX$=D.strictObject({id:D.string().trim().min(1),version:D.string().trim().min(1),sources:D.array(D.strictObject({kind:D.literal("entity"),types:D.array(D.string().trim().min(1)).min(1),excludeTypes:D.array(D.string().trim().min(1)).optional()})),targetType:D.string().trim().min(1)});function RP($){let Z=bX$.parse({id:$.id,version:$.version,sources:$.sources,targetType:$.targetType});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,inputSchema:$.inputSchema,selectInput:async(J,G,Y)=>{let W=await $.selectInput(J,G,Y),H=y6.parse(W);return CP($.inputSchema.parse(H))},fingerprint:wP,derive:async(J,G,Y)=>{let W=$.inputSchema.parse(J),H=D.array(I4).parse(await $.derive(W,G,Y));for(let U of H){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 CP(H)}})}var gX$=D.record(D.string(),D.unknown()),hX$=D.object({items:D.array(D.object({operation:D.enum(["upsert","delete"]),id:D.string(),source:y6.optional()}))}),qh=new WeakMap;function CA($){let Z=qh.get($);if(!Z)Z=W6.extend({entityType:D.literal($.type),metadata:$.metadata}),qh.set($,Z);return Z}function Eh($,Z){return CA($).parse(Z)}function xh($,Z){return $.markdown?$.markdown.encode({content:Z.content,metadata:$.metadata.parse(Z.metadata)}):{content:Z.content,frontmatter:Z.metadata}}function Sh($,Z){let X=xh($,Z);return T1(X.content,X.frontmatter)}function mX$($){let Z=CA($);return{entityType:$.type,purpose:$.purpose,schema:Z,frontmatterSchema:$.metadata,toMarkdown(X){return Sh($,X)},fromMarkdown(X){let J=pZ(X,gX$),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)=>pZ(X,J).metadata,generateFrontMatter(X){return kG(xh($,X).frontmatter)},getBodyTemplate:()=>""}}async function fX$($,Z,X){let J=CA($.source).parse(Z),G=[];return await $.project({source:J,signal:X,target:{async upsert(Y){let W=y6.parse($.target.metadata.parse(Y.metadata)),H=Y.visibility??"public";G.push({operation:"upsert",entity:{id:Y.id,entityType:$.target.type,content:s5(Sh($.target,{content:Y.content,metadata:W}),H),metadata:W,visibility:H}})}}}),G}function pX$($,Z,X){return RP({id:X($.id),version:Z,sources:[{kind:"entity",types:[$.source.type]}],targetType:$.target.type,inputSchema:y6,async selectInput(J,G){let Y=J.inputs.filter(({sourceType:H})=>H===$.source.type),W=await Promise.all(Y.map(async(H)=>{if(H.operation==="delete")return{operation:"delete",id:H.sourceId};let U=await G.entities.getEntity({entityType:H.sourceType,id:H.sourceId,visibilityScope:"restricted"});if(!U)throw Error(`Projection "${$.id}" could not load ${H.sourceType}:${H.sourceId}`);return{operation:"upsert",id:H.sourceId,source:U}}));return y6.parse({items:W})},async derive(J,G,Y){let W=hX$.parse(J),H=[];for(let U of W.items){if(Y.throwIfAborted(),U.operation==="delete"){H.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`);H.push(...await fX$($,U.source,Y))}return H}})}class jh extends HY{projections;scope;entityType;schema;adapter;constructor($,Z,X,J){super(J($.type),X,{},TP);this.projections=Z,this.scope=J,this.entityType=$.type,this.schema=CA($),this.adapter=mX$($)}getProjectionRules(){return this.projections.map(($)=>pX$($,this.version,this.scope))}}function kh($,Z,X,J){return $.map((G)=>new jh(G,Z.filter(({source:Y})=>Y===G),X,J))}var Ih=Symbol.for("rizom.plugin-package.runtime-factory");function $J(){return D.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 b4($){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,Ih,{configurable:!1,enumerable:!1,value:$.instantiate,writable:!1}),Object.freeze(X)}function cX$($){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[Ih]==="function"}function dX$($){if(uZ($.type,"Entity type"),!$.purpose.trim())throw Error(`Entity "${$.type}" purpose must not be empty`);return Object.freeze({kind:"rizom-entity",...$})}function uX$($){return uZ($.id,"Projection id"),Object.freeze({kind:"rizom-projection",...$})}var oX$=D.object({});function nX$($){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 H={entities:Z,projections:X};return b4({family:"entity",id:$.id,config:oX$,public:H,instantiate:({package:U,scope:A})=>kh(Z,X,U,A)})}var vh=new WeakMap;function yh($){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)LP($.deadline);let Z={kind:"rizom-service-job",...$,handle(X){let J=Object.freeze({kind:"rizom-service-job-binding",definition:Z});return vh.set(J,X),J}};return Object.freeze(Z)}function bh($){let Z=vh.get($);if(!Z)throw Error(`Job "${$.definition.name}" was not created by defineJob().handle()`);return Z}function LP($){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 gh($){if(uZ($.name,"Tool name"),!$.description.trim())throw Error(`Tool "${$.name}" description must not be empty`);return Object.freeze({kind:"rizom-service-tool",...$})}var rX$=["public","trusted","admin"];function z9($,Z){if(!$.trim())throw Error(`${Z} must not be empty`)}function H7($,Z){if($!==void 0)z9($,Z)}function qP($,Z){if($!==void 0&&!Number.isFinite($))throw Error(`${Z} priority must be finite`)}function UY($,Z){if(!rX$.includes($))throw Error(`${Z} permission "${String($)}" is unsupported`)}function hh($,Z){return DY.hasPermission($,Z)}function EP($){z9($.title,"Account settings title"),H7($.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(z9(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 lX$=new WeakMap;function mh($){if(uZ($.id,"Dashboard widget id"),z9($.title,`Dashboard widget "${$.id}" title`),z9($.group,`Dashboard widget "${$.id}" group`),H7($.description,`Dashboard widget "${$.id}" description`),qP($.priority,`Dashboard widget "${$.id}"`),UY($.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 lX$.set(G,J),G}};return Object.freeze(Z)}var iX$=new WeakMap;function fh($){uZ($.id,"CMS workspace id"),z9($.label,`CMS workspace "${$.id}" label`),H7($.description,`CMS workspace "${$.id}" description`),qP($.priority,`CMS workspace "${$.id}"`),UY($.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&&!hh(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 H of G.actions){if(!X.actions.includes(H.definition))throw Error(`CMS workspace "${X.id}" cannot bind undeclared action "${H.definition.name}"`);if(Y.has(H.definition))throw Error(`CMS workspace "${X.id}" binds action "${H.definition.name}" more than once`);Y.add(H.definition)}for(let H of X.actions)if(!Y.has(H))throw Error(`CMS workspace "${X.id}" has no executor for action "${H.name}"`);let W=Object.freeze({kind:"rizom-cms-workspace-binding",definition:X,actions:Object.freeze([...G.actions])});return iX$.set(W,{authorize:G.authorize,load:G.load}),W}};return Object.freeze(X)}var sX$=new WeakMap;function ph($){if(uZ($.name,"Workspace action name"),z9($.label,`Workspace action "${$.name}" label`),H7($.confirmation,`Workspace action "${$.name}" confirmation`),$.permission!==void 0)UY($.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 sX$.set(G,J),G}};return Object.freeze(Z)}import{AsyncLocalStorage as aX$}from"async_hooks";function xP($,Z,X){let J=W7($,Z,X),G=$.getEntityService(),Y=$.getRenderService(),W=$.getContentService(),H=$.getPermissionService();return{...J,permissions:{...J.permissions,getConfiguredPrincipalSeeds:()=>H.getConfiguredPrincipalSeeds(),replaceRuntimePrincipalState:(U)=>H.replaceRuntimePrincipalState(U)},entityService:G,entities:TA($),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=ch.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:MA(G),ai:wA($),registerInstructions:(U)=>{$.registerInstructions(Z,U)}}}class RA extends Z7{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register($,Z){let X=xP($,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 AY=new WeakMap;function dh($,Z){let X=AY.get($);if(X&&X!==Z)throw Error(`Job "${$.name}" is registered as both "${X}" and "${Z}"`);AY.set($,Z)}function uh($,Z){if(AY.get($)===Z)AY.delete($)}function oh($){let Z=AY.get($);if(!Z)throw Error(`Job "${$.name}" is not registered by an active declarative service`);return Z}var SP="_rizomConfirmationToken";function nh($,Z){return $.format({value:$.schema.parse(Z)})}function tX$($){if($===null||typeof $!=="object")return;let Z=Reflect.get($,SP);return typeof Z==="string"?Z:void 0}function eX$($){if($===void 0)return{};try{return JSON.parse($)}catch{return $}}function rh($,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 $J$($,Z,X){let J=$.definition,G=bh($);return{...J.deadline?{executionTimeoutMs:LP(J.deadline)}:{},validateAndParse(Y){let W=J.input.safeParse(Y);return W.success?W.data:null},async process(Y,W,H,U){let A=await G({input:Y,signal:U,progress:H,templates:X,entities:{async get(Q,O){let P=await Z.entityService.getEntity({entityType:Q.type,id:O,visibilityScope:"restricted"});return P?Eh(Q,P):null}},messaging:{async publish(Q){await Z.messaging.send({type:Q.topic,payload:Q.data})}}});return J.output.parse(A)}}}class ih extends RA{definition;publicId;toolContext=new aX$;cleanups=[];registeredJobs=new Set;scopedShell;state;tools;resources;constructor($,Z,X,J){super(J,X,Z,$J());this.definition=$,this.publicId=$.id}register($){return this.scopedShell=$,super.register($)}async onRegister($){if(await super.onRegister($),this.definition.dashboardWidgets)throw Error(`Service "${this.publicId}" dashboard widgets require the operator runtime`);if(this.definition.cmsWorkspaces)throw Error(`Service "${this.publicId}" CMS workspaces require the operator runtime`);if(this.definition.accountSettings&&!$.executionOnly)$.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});this.state=this.definition.setup?await this.definition.setup({config:this.config,lifecycle:{onCleanup:(G)=>{this.cleanups.push(G)}}}):Object.freeze({});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),dh(Y,`${this.id}:${Y.name}`),$.jobs.registerHandler(Y.name,$J$(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`)}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.tools=void 0,this.resources=void 0;for(let $ of this.registeredJobs)uh($,`${this.id}:${$.name}`);this.registeredJobs.clear();for(let $ of this.cleanups.splice(0).reverse())await $()}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 H=await $.jobs.getStatus(W);return H?rh(Z,H):null}})},async status(Z,X){let J=await $.jobs.getStatus(X);return J?rh(Z,J):null}}}templateFormatter(){let $=this.definition.templates;return{format(Z,X){let J=$?.[Z];if(!J)throw Error(`Template not found: ${Z}`);return nh(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 H=Y?.schema??W?.schema;if(!H)continue;let U={name:G,description:W?.description??`${this.publicId} ${G}`,schema:H,requiredPermission:"admin",...Y?{formatter:{format:(Q)=>nh(Y,Q),parse:()=>{throw Error(`Template "${G}" is format-only`)}}}:{}};if(!W){X[G]=LA(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]=LA({...U,schema:H,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(eX$(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=lh({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=tX$(J);if(Y!==void 0){let U=X.validateConfirmed(Y,J);if(U)return U;let A={...D.record(D.string(),D.unknown()).parse(J)};delete A[SP],J=A}let W=$.input.parse(J);if(Y===void 0&&$.confirmation)return{needsConfirmation:!0,toolName:Z,summary:$.confirmation,args:X.buildArgs((U)=>({...D.record(D.string(),D.unknown()).parse(W),[SP]:U}))};let H=await this.toolContext.run(G,()=>$.execute({input:W,signal:G.signal??new AbortController().signal}));return{success:!0,data:$.output.parse(H)}}catch(Y){return{success:!1,error:r$(Y)}}}}}}function sh($,Z,X,J){return new ih($,Z,X,J)}function ZJ$($){return b4({family:"service",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>sh($,Z,X,J($.id))})}var ah=30000,th=1e4;function eh($,Z,X){let J,G=new Promise((Y,W)=>{J=setTimeout(()=>W(Error(X)),Z)});return Promise.race([$,G]).finally(()=>clearTimeout(J))}function qA($,Z,X){let J=!1,G=0,Y,W,H=Promise.resolve(),U=new Map,A=()=>{let _=H.catch(()=>{return}).then(()=>Q());return H=_.then(()=>{Y=void 0},(T)=>{Y="Account task reconciliation failed"}),_},Q=async()=>{if(!J)return;let _=G,T=await X.listConfigured(Z);if(_!==G)return;let M=new Map(T.map((S)=>[S.id,S.revision]));for(let[S,K$]of U)if(M.get(S)!==K$.revision)await P(S,K$);if(_!==G)return;for(let S of T)if(!U.has(S.id))O(S)},O=(_)=>{let T=new AbortController,M,S,K$=new Promise((B$,h$)=>{M=B$,S=h$}),l={controller:T,revision:_.revision,status:"starting",message:"Connecting",run:Promise.resolve()},J$=Promise.resolve().then(()=>$.run({account:Object.freeze({id:_.id,settings:_.settings}),signal:T.signal,health:{ready(){l.status="ready",l.message="Ready",M?.()},warning(B$){l.status="warning",l.message=B$}}})).then(()=>{if(!T.signal.aborted)throw Error(`Account-bound daemon "${$.id}" stopped before it was aborted`)}).catch((B$)=>{if(T.signal.aborted)return;let h$=B$ instanceof Error?B$:Error(r$(B$));l.status="error",l.message="Account task failed",S?.(h$)});l.run=J$,U.set(_.id,l),eh(K$,ah,`Account-bound daemon "${$.id}" did not report readiness within ${ah}ms`).catch(()=>{if(T.signal.aborted)return;l.status="error",l.message="Account task did not become ready",T.abort()})},P=async(_,T)=>{if(U.get(_)!==T)return;U.delete(_),T.controller.abort(),await eh(T.run,th,`Account-bound daemon "${$.id}" task did not stop within ${th}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 H.catch(()=>{return});let _=[...U.entries()];await Promise.all(_.map(([T,M])=>P(T,M)))},healthCheck(){let _={total:U.size,ready:0,warning:0,error:0};for(let M of U.values())if(M.status==="ready")_.ready++;else if(M.status==="warning")_.warning++;else if(M.status==="error")_.error++;let T=Y||_.error>0?"error":_.warning>0?"warning":"healthy";return Promise.resolve({status:T,message:Y??(_.total===0?"No configured accounts":`${_.ready} of ${_.total} account task(s) ready`),lastCheck:new Date,details:_})}}}var fq$=["GET","POST","PUT","DELETE","OPTIONS"];function EA($,Z={}){return new Response(JSON.stringify($),{status:Z.status??200,headers:{"Content-Type":"application/json; charset=utf-8",...Z.headers}})}function KY($,Z,X={}){return EA({error:$},{status:Z,...X})}function VY($){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,H=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([H,A])}finally{clearTimeout(U)}},async stop(){let G=Z,Y=X;Z=void 0,X=void 0,G?.abort();let W,H=Y?await Promise.race([Y.then(()=>!0,()=>!0),new Promise((U)=>{W=setTimeout(()=>U(!1),1e4)})]):!0;if(clearTimeout(W),!H)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 $m($){return Xm($)}function Zm($){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 Jm($){return{chat:async(Z,X,J,G)=>{let Y=Zm(J),W=G?await $.chat(Z,X,Y,G):await $.chat(Z,X,Y);return $m(W)},confirmPendingAction:async(Z,X,J,G,Y)=>{let W=Zm(G);if(!W)throw Error("Confirmation requires caller context.");let H=Y?await $.confirmPendingAction(Z,X,J,W,Y):await $.confirmPendingAction(Z,X,J,W);return $m(H)},invalidate:()=>{$.invalidateAgent()}}}var QY=Symbol.for("brains.httpRouteSnapshotProvider");function XJ$($,Z){if($[QY])throw Error("HTTP route snapshot provider is already bound");Object.defineProperty($,QY,{value:Z,enumerable:!1,configurable:!0,writable:!1})}function Gm($,Z){let X=$[QY];if(!X)throw Error("HTTP route snapshot provider is not bound");if(Z[QY])return;XJ$(Z,X)}function Ym($){let Z=$[QY];if(!Z)throw Error("HTTP route snapshot provider is not bound");return Z()}function xA($,Z,X){let J=W7($,Z,X),G=$.getMCPService(),Y=$.getPermissionService(),W=Jm($.getAgentService());return{...J,mcpTransport:G,agent:W,permissions:{...J.permissions,getUserLevel:(H,U,A)=>{return Y.determineUserLevel(H,U,A)},isAnchor:(H,U)=>Y.isAnchor(H,U)},daemons:{register:(H,U)=>{let A=`${Z}:${H}`;$.registerDaemon(A,U,Z),J.logger.debug(`Registered daemon: ${A}`)}},conversations:{...J.conversations,start:async(H)=>{return $.getConversationService().startConversation(H)},addMessage:async(H)=>{await $.getConversationService().addMessage(H)},updateMetadata:async(H)=>{return $.getConversationService().updateConversationMetadata(H)},delete:async(H)=>{return $.getConversationService().deleteConversation(H)}},tools:{listForPermissionLevel:(H)=>{return $.listToolsForPermissionLevel(H)}},apiRoutes:{getRoutes:()=>{return $.getPluginApiRoutes()},getMessageBus:()=>{return $.getMessageBus()}},webRoutes:{getRoutes:()=>{return $.getPluginWebRoutes()}},httpRoutes:{getRoutes:()=>Ym($)},plugins:{has:(H)=>$.hasPlugin(H)}}}function jP($,Z,X){return{...xA($,Z,X),channels:Bh($,Z)}}var JJ$=3600000;class ZJ extends Z7{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=JJ$;createContext($,Z){return xA($,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 Wm extends ZJ{definition;accountSettingsRegistration;routes=[];hasRequiredDaemon=!1;constructor($,Z,X,J){super(J,X,Z,$J());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,qA(Y,W,$.accountSettings));continue}$.daemons.register(Y.id,VY(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:oh(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 KY("Unauthorized",401);let G;if($.body){let W;try{W=await X.json()}catch{return KY("Request body must be valid JSON",400)}let H=$.body.safeParse(W);if(!H.success)return KY("Request body is invalid",400);G=H.data}let Y=await $.handle({request:X,body:G,caller:J});return EA($.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 Hm($,Z,X,J){return new Wm($,Z,X,J)}var Dm=["GET","POST","PUT","DELETE","OPTIONS"];function kP($,Z){$.messaging.subscribe(JY.progress,async(X)=>{try{let J=BA.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 IP($){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 vP($){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 GJ$=D.enum(["tool:invoking","tool:completed","tool:failed"]),YJ$=D.object({toolName:D.string().min(1),conversationId:D.string().min(1),interfaceType:D.string().min(1),channelId:D.string().min(1).optional(),channelName:D.string().min(1).optional(),toolCallId:D.string().min(1).optional(),error:D.string().optional()}),WJ$=["tool:invoking","tool:completed","tool:failed"];function yP($,Z){for(let X of WJ$)$.messaging.subscribe(X,async(J)=>{try{let G=GJ$.safeParse(J.type),Y=YJ$.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 bP{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(Q9.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);Q9.unsafeSet(this.fibers,$,G)}close(){return this.closed=!0,this.closePromise??=t.runPromise(o0.close(this.scope,T0.void)),this.closePromise}}function OY($,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 gP($){return`${$.conversationId}:${$.toolName}`}function hP($){if($.startsWith("playbook_"))return"playbook";return($.startsWith("system_")?$.slice(7):$).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().toLowerCase()}function Um($){switch($){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Approval required";case"failed":return"Tool failed"}}function Am($){switch($){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Tool awaiting approval";case"failed":return"Tool failed"}}function Km($){let Z=gP($),X=hP($.toolName),J=Um($.state),G=Am($.state),Y=`${G}: ${X}`;return{key:Z,label:X,title:J,fallbackPrefix:G,fallback:$.error?`${Y}: ${$.error}`:Y}}function Vm($,Z){return $.pendingConfirmations?.some((X)=>X.toolName===Z)===!0||HJ$($.cards).some((X)=>X.toolName===Z)}function HJ$($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}var Qm=500,DJ$=500;class mP{transport;cleanupSupervisor=new bP(DJ$);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(OY($,"running"));return;case"tool:completed":if(this.isProcessingInput){this.pendingToolCompletions.set(this.getToolCompletionKey($),$);return}await this.transport.handleToolStatusUpdate(OY($,"completed"));return;case"tool:failed":this.pendingToolCompletions.delete(this.getToolCompletionKey($)),await this.transport.handleToolStatusUpdate(OY($,"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=Vm($,G.toolName)?"awaiting-approval":"completed";await this.transport.handleToolStatusUpdate(OY(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>=Qm)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<Qm)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 fP=1e5,UJ$=[".md",".txt",".markdown"],AJ$=["text/plain","text/markdown","text/x-markdown"],KJ$=/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi,VJ$=["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"],pP=D.object({captureUrls:D.boolean().default(!1),blockedUrlDomains:D.array(D.string()).default(VJ$)});function Om($,Z){if(Z&&AJ$.some((X)=>Z.startsWith(X)))return!0;return UJ$.some((X)=>$.toLowerCase().endsWith(X))}function Bm($){return $<=fP}function Nm($){if($.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode($),!0}catch{return!1}}function _m($,Z){return`User uploaded a file "${$}":
|
|
121
121
|
|
|
122
|
-
${Z}`}function Pm($,Z){let X=$.match(KJ$)??[];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 XJ($,Z){let X=$.attachment.source;if((X?.entityType==="document"||X?.entityType==="image")&&X.entityId)return{entityType:X.entityType,id:X.entityId};return cP($.attachment.downloadUrl??$.attachment.url,Z)}function cP($,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 SA($,Z){let X=QJ$(Z,$==="document"?/^application\/pdf$/i:/^image\/[a-z0-9.+-]+$/i);if(!X)return;if($==="document"&&X.mimeType.toLowerCase()!=="application/pdf")return;return X}function jA($,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 QJ$($,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 BY({entityRef:$,userLevel:Z,getEntity:X,getVisibleEntity:J}){let G=mX(Z),Y=await J($,G);if(Y)return{status:"visible",entity:Y};return Boolean(await X($))?{status:"denied"}:{status:"missing"}}function kA($){return $==="admin"||$==="trusted"}async function Fm($){let Z=new Set;for(let X of $.cards??[]){if(X.kind!=="attachment")continue;let J=XJ(X,$.displayBaseUrl);if(!J)continue;if((await BY({entityRef:J,userLevel:$.userLevel,getEntity:$.getEntity,getVisibleEntity:$.getVisibleEntity})).status==="denied")Z.add(X.id)}return Z}class NY extends ZJ{createContext($,Z){return jP($,this.id,Z)}isUploadableTextFile($,Z){return Om($,Z)}isFileSizeAllowed($){return Bm($)}formatFileUploadMessage($,Z){return _m($,Z)}getMaxFileUploadBytes(){return fP}isLikelyTextContent($){return Nm($)}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=XJ(G,$.displayBaseUrl);if(!Y)continue;let W=await BY({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(!kA($.userPermissionLevel))continue;if(typeof W.entity.content!=="string")continue;let H=SA(Y.entityType,W.entity.content);if(!H)continue;if($.maxBytes!==void 0&&H.data.byteLength>$.maxBytes){this.logger.debug("Skipping oversized native artifact upload",{cardId:G.id,sizeBytes:H.data.byteLength});continue}Z.push({cardId:G.id,data:new Uint8Array(H.data),filename:G.attachment.filename??jA(W.entity.metadata,Y.id,Y.entityType,H.mimeType),mimeType:H.mimeType})}return{files:Z,deniedCardIds:X}}extractCaptureableUrls($,Z){return Pm($,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 mP({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($),kP($,{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})}}),yP($,{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 vP($)}formatCompletionOutput($){return IP($)}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 dP($){if(typeof $==="string")return{text:$};return{text:$.fallbackText??"Message update"}}async function OJ$($,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 Tm extends NY{definition;accountSettingsRegistration;hasRequiredDaemon=!1;state;constructor($,Z,X,J){super(J,X,Z,$J());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,qA(J,G,$.accountSettings));continue}$.daemons.register(J.id,VY(J))}if(this.definition.listen)$.daemons.register("listener",VY({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:dP($.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:dP($.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:dP($.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(":"),H=[];if($.attachments){let U=await $.attachments();for(let A of U)H.push(await OJ$(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:zm(J,$.sender.id)},interfaceType:J,role:"user",...$.sender.displayName?{displayName:$.sender.displayName}:{}},source:{channelId:$.channel.id,...$.channel.threadId?{threadId:$.channel.threadId}:{}},...H.length>0?{attachments:H}:{}},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 Mm($,Z,X,J){return new Tm($,Z,X,J)}function BJ$($){return Object.freeze({kind:"protocol",...$})}function NJ$($){if(!Dm.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 _J$($){uZ($.id,"Daemon id");let{required:Z=!1,...X}=$;return Object.freeze({kind:"rizom-interface-daemon",...X,required:Z})}function PJ$($){return b4({family:"interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Hm($,Z,X,J($.id))})}function FJ$($){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 b4({family:"message-interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Mm($,Z,X,J($.id))})}var uP=D.object({kind:D.string().min(1),id:D.string().min(1)}),wm=D.object({kind:D.literal("text"),filename:D.string().min(1),mediaType:D.string().min(1),content:D.string(),sizeBytes:D.number().nonnegative().optional(),source:uP.optional()}),kJ$=D.custom(($)=>$ instanceof Uint8Array),IJ$=D.object({kind:D.literal("file"),filename:D.string().min(1),mediaType:D.string().min(1),data:kJ$,sizeBytes:D.number().nonnegative().optional(),source:uP.optional()}),Cm=D.discriminatedUnion("kind",[wm,IJ$]),vJ$=D.object({userPermissionLevel:D.enum(["admin","trusted","public"]).optional(),isAnchor:D.boolean().optional(),interfaceType:D.string().optional(),channelId:D.string().optional(),channelName:D.string().optional(),actor:YY.optional(),source:WY.optional(),attachments:D.array(Cm).optional()});var yJ$=D.object({status:D.enum(["healthy","warning","error","unknown"]),message:D.string().optional(),lastCheck:D.date().optional(),details:D.record(D.string(),D.unknown()).optional()}),Rm=D.object({name:D.string(),pluginId:D.string(),status:D.string(),health:yJ$.optional()});var Lm=D.enum(["admin","trusted","public"]),_Y=D.object({label:D.string(),url:D.string(),pluginId:D.string(),priority:D.number().default(100),visibility:Lm.default("public")}),oP=D.enum(["human","agent","admin","protocol"]),nP=D.enum(["available","coming-soon","disabled"]),PY=D.object({id:D.string(),label:D.string(),description:D.string().optional(),href:D.string(),kind:oP,pluginId:D.string(),priority:D.number().default(100),visibility:Lm.default("public"),status:nP.default("available")}),bA=D.object({entityType:D.string(),count:D.number()}),lP=D.object({status:D.enum(["operational","degraded"]),reasons:D.array(D.string()),worker:D.object({state:D.enum(["active","missing","stale"]),activeSessions:D.number().int().nonnegative(),staleSessions:D.number().int().nonnegative(),latestHeartbeatAgeMs:D.number().nonnegative().nullable()}),queue:D.object({duePending:D.number().int().nonnegative(),processing:D.number().int().nonnegative(),oldestDuePendingAgeMs:D.number().nonnegative().nullable(),latestClaimAgeMs:D.number().nonnegative().nullable(),stalled:D.boolean()})}),qm=D.object({model:D.string(),version:D.string(),uptime:D.number(),entities:D.number(),entityCounts:D.array(bA),embeddings:D.number(),backgroundWork:lP,ai:D.object({model:D.string(),embeddingModel:D.string()}),daemons:D.array(Rm),endpoints:D.array(_Y),interactions:D.array(PY)});var bJ$=D.object({status:D.enum(["healthy","warning","error","unknown"]),message:D.string().optional(),lastCheck:D.string().optional(),details:D.record(D.string(),D.unknown()).optional()}),gJ$=D.object({name:D.string(),pluginId:D.string(),status:D.string(),health:bJ$.optional()}),hJ$=D.object({model:D.string(),version:D.string(),uptime:D.number(),entities:D.number(),entityCounts:D.array(bA),embeddings:D.number(),ai:D.object({model:D.string(),embeddingModel:D.string()}),daemons:D.array(gJ$),endpoints:D.array(_Y),interactions:D.array(PY)});var gA=D.object({name:D.string().min(1),status:D.enum(["healthy","degraded","unhealthy"]),message:D.string().optional(),details:D.record(D.string(),D.unknown()).optional()}),Em=D.object({totals:D.object({pending:D.number().int().nonnegative(),processing:D.number().int().nonnegative(),completed:D.number().int().nonnegative(),failed:D.number().int().nonnegative()}),byType:D.array(D.object({type:D.string().min(1),status:D.enum(["pending","processing","completed","failed"]),count:D.number().int().nonnegative()})),oldestPendingAgeMs:D.number().nonnegative().nullable(),duePending:D.number().int().nonnegative(),oldestDuePendingAgeMs:D.number().nonnegative().nullable(),latestClaimAgeMs:D.number().nonnegative().nullable(),oldestProcessingAgeMs:D.number().nonnegative().nullable(),staleLeaseCount:D.number().int().nonnegative(),workerSessions:D.object({total:D.number().int().nonnegative(),active:D.number().int().nonnegative(),stale:D.number().int().nonnegative(),latestHeartbeatAgeMs:D.number().nonnegative().nullable()})}),xm=D.object({memory:D.object({rssBytes:D.number().int().nonnegative(),heapUsedBytes:D.number().int().nonnegative(),heapTotalBytes:D.number().int().nonnegative()}),fileDescriptors:D.number().int().nonnegative().nullable(),processes:D.object({total:D.number().int().nonnegative().nullable(),zombies:D.number().int().nonnegative().nullable()}),queue:Em.nullable(),projection:D.object({initialized:D.boolean(),trackedRoots:D.number().int().nonnegative(),openCircuits:D.array(D.object({projectionId:D.string().min(1),reason:D.string().min(1),openedAt:D.number().int().nonnegative(),expiresAt:D.number().int().nonnegative()}))}),worker:D.object({total:D.number().int().nonnegative(),active:D.number().int().nonnegative(),stale:D.number().int().nonnegative(),latestHeartbeatAgeMs:D.number().nonnegative().nullable()})}),mJ$=D.object({status:D.enum(["ready","not_ready"]),operationalStatus:D.enum(["operational","degraded"]),checkedAt:D.iso.datetime(),checks:D.array(gA),resources:xm});var fJ$=D.union([D.object({success:D.boolean(),data:D.unknown().optional(),error:D.string().optional()}),D.object({noop:D.literal(!0)})]),pJ$=D.object({id:D.string(),timestamp:D.string(),type:D.string(),source:D.string(),target:D.string().optional(),metadata:jG.optional()});async function cJ$({context:$,targetType:Z,desired:X,getId:J,toEntityInput:G,equals:Y,deleteStale:W=!1,outputVisibility:H="public",concurrency:U=1,logger:A}){let Q=new Map;for(let r of X)Q.set(J(r),r);let O=(await $.entityService.listEntities({entityType:Z,options:{filter:{visibilityScope:H}}})).filter((r)=>r.visibility===H),P=new Map(O.map((r)=>[r.id,r])),_=0,T=0,M=0,S=0,K$=Math.max(1,U);if(W){let r=O.filter((J$)=>!Q.has(J$.id));await Sm(r,K$,async(J$)=>{await $.entityService.deleteEntity({entityType:Z,id:J$.id}),M++})}return await Sm(Array.from(Q),K$,async([r,J$])=>{let B$=P.get(r),h$={...G(J$,r),visibility:H};try{if(!B$){await $.entityService.createEntity({entity:h$}),_++;return}if(Y?.(B$,J$)??!1){S++;return}await $.entityService.updateEntity({entity:{...B$,...h$,id:r,entityType:Z,visibility:H}}),T++}catch(A$){A?.error("Failed to reconcile entity",{targetType:Z,id:r,error:l$(A$)})}}),{created:_,updated:T,deleted:M,skipped:S}}async function Sm($,Z,X){let J=await t.runPromiseExit(t.forEach($,(G)=>t.tryPromise({try:()=>X(G),catch:(Y)=>Y}),{concurrency:Z,discard:!0}));if(T0.isFailure(J))throw J6.squash(J.cause)}async function dJ$({entityService:$,entity:Z,options:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:A6("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 uJ$({entityService:$,entity:Z,expectedContentHash:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:A6("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 oJ$({entityService:$,entityType:Z,id:X,error:J,content:G}){let Y=await $.getEntity({entityType:Z,id:X,visibilityScope:A6("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()},H=await $.updateEntity({entity:W});return{found:!0,entityId:H.entityId,mutation:H,previousEntity:Y}}var jm=D.union([D.string(),D.number().finite(),D.boolean(),D.null()]);function nJ$($,Z){return Buffer.from(JSON.stringify([$,Z])).toString("base64url")}function hA($,Z){return{packageName:$.packageName,definitionId:$.definitionId,actorId:Z}}function lJ$($){let Z=$.replaceAll(/([a-z0-9])([A-Z])/g,"$1 $2").replaceAll(/[-_]+/g," ").trim();return Z?`${Z[0]?.toUpperCase()??""}${Z.slice(1)}`:$}function rP($){return $.schema.shape}function km($){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 rJ$($){let Z=km($);if(!Z.success)return;let X=jm.safeParse(Z.data);return X.success?X.data:void 0}function iJ$($,Z){let X={};for(let J of Object.keys(rP($))){let G=Reflect.get(Z,J);if(G!==void 0)X[J]=jm.parse(G)}return Object.freeze(X)}function sJ$($,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 Im{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=nJ$($.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(hA(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=hA(J,Z),W=await G.read(Y),H=rP(J.definition),U=Object.keys(X).find((_)=>!Object.hasOwn(H,_));if(U)throw Error(`Account settings field "${U}" is not declared by "${J.packageName}:${J.definitionId}"`);let A={};for(let _ of Object.keys(H)){let T=J.definition.fields[_]?.secret===!0;if(!Object.hasOwn(X,_)){if(T&&W?.values[_]!==void 0)A[_]=W.values[_];continue}let M=X[_];if(T&&(M===""||M===void 0)){if(W?.values[_]!==void 0)A[_]=W.values[_];continue}if(M!==void 0)A[_]=M}let Q=J.definition.schema.parse(A),O=iJ$(J.definition,Q),P=W&&sJ$(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(hA(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(hA($,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(rP($.definition)).map(([J,G])=>{let Y=$.definition.fields[J],W=Y?.secret===!0,H=Z?.values[J],U=H!==void 0?H:rJ$(G);return Object.freeze({name:J,label:Y?.label??lJ$(J),control:Y?.control??"text",secret:W,required:!km(G).success,...W?{set:H!==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 bm=/^[a-z][a-z0-9-]*$/,aJ$=D.strictObject({source:D.string().min(1).max(500),flags:D.string().regex(/^[imu]*$/).optional()}),tJ$=D.strictObject({type:D.string().trim().regex(bm),displayName:D.string().trim().min(1).max(100),subjectLabel:D.string().trim().min(1).max(100),subjectPattern:aJ$.optional(),manualDelivery:D.boolean().optional()});class gm{descriptorRegistrations=new Map;providerRegistrations=new Map;activeDescriptors=new Map;activeProviders=new Map;finalized=!1;registerDescriptor($,Z){this.assertRegistrationOpen();let X=vm($),J=tJ$.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=vm($),J=iP(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(iP($))}getDeliveryProvider($){return this.assertFinalized(),this.activeProviders.get(iP($))}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 ym("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 ym("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 H=G[0]?.provider;if(H)X.set(J,H)}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 vm($){let Z=$.trim();if(!Z)throw Error("Channel registration plugin id is required");return Z}function iP($){let Z=$.trim();if(!bm.test(Z))throw Error(`Invalid channel type: ${$}`);return Z}function ym($,Z,X){let J=X.map((G)=>G.pluginId).sort().join(", ");return Error(`${$} "${Z}" is registered by multiple plugins: ${J}`)}var eJ$=/^[a-z][a-z0-9-]*$/,T9=D.string().trim().regex(eJ$),sP=D.string().trim().min(1).max(300),hm=D.enum(["high","normal"]),mm=D.strictObject({id:T9,label:D.string().trim().min(1).max(100),confirm:D.boolean().optional()}),fm=D.strictObject({entityType:D.string().trim().min(1).max(100),entityId:D.string().trim().min(1).max(300)}),pm=D.strictObject({label:D.string().trim().min(1).max(300),personId:D.string().trim().min(1).max(200).optional()}),mA=D.strictObject({id:sP,title:D.string().trim().min(1).max(160),summary:D.string().trim().min(1).max(1000).optional(),contact:pm.optional(),threadOrdinal:D.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),receivedAt:D.iso.datetime(),urgency:hm,entityRef:fm.optional(),actions:D.array(mm).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)}}),cm=D.array(mA).max(1000),fA=D.strictObject({permissionLevel:D.enum(["admin","trusted","public"])}),dm=D.strictObject({sourceId:T9,displayName:D.string().trim().min(1).max(100)});class um{registrations=new Map;activeSources=new Map;finalized=!1;registerSource($,Z){this.assertRegistrationOpen();let X=X2$($),J=dm.parse({sourceId:Z.sourceId,displayName:Z.displayName});if(typeof Z.list!=="function"||typeof Z.act!=="function")throw Error("Inbox source operations are required");let G=$2$(J,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(J2$($))}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 $2$($,Z){return Object.freeze({...$,list:async()=>{return cm.parse(await Z.list()).map(Z2$)},act:async(X,J,G)=>{let Y=sP.parse(X),W=T9.parse(J);await Z.act(Y,W,fA.parse(G))}})}function Z2$($){let Z=$.actions.map((X)=>Object.freeze({...X}));return Object.freeze(Z),Object.freeze({...$,...$.contact?{contact:Object.freeze({...$.contact})}:{},...$.entityRef?{entityRef:Object.freeze({...$.entityRef})}:{},actions:Z})}function X2$($){let Z=$.trim();if(!Z)throw Error("Inbox registration plugin id is required");return Z}function J2$($){return T9.parse($)}var aP=2048,G2$=8192,om=/[\\\p{Cc}\p{Cf}]/u,Y2$=D.strictObject({kind:T9,label:D.string().trim().min(1).max(100),priority:D.number().int().min(0).max(1000),mode:D.enum(["universal","declared"]),permissionLevel:D.enum(["admin","trusted","public"]),contextSchema:D.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)&&typeof $.safeParse==="function").optional(),applies:D.custom(($)=>typeof $==="function"),resolve:D.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"})}),W2$=D.strictObject({href:D.string(),state:D.unknown().optional()}),nm=D.record(D.string(),D.json()).refine(($)=>new TextEncoder().encode(JSON.stringify($)).byteLength<=G2$,{message:"Inbox follow-up state is too large"}),H2$=D.strictObject({kind:T9,label:D.string().trim().min(1).max(100),href:D.string().min(1).max(aP).refine(($)=>{try{return rm($)===$}catch{return!1}}),state:nm.optional()});class lm{registrations=new Map;activeKinds=new Map;finalized=!1;logger;constructor($){this.logger=$}registerKind($,Z){this.assertRegistrationOpen();let X=V2$($),J=Object.freeze(Y2$.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(K2$)}getKind($){return this.assertFinalized(),this.activeKinds.get(T9.parse($))}async resolveUniversal($){this.assertFinalized();let Z=Object.freeze({sourceId:T9.parse($.sourceId),item:mA.parse($.item),actor:fA.parse($.actor)});return(await Promise.all(this.listKinds().filter((J)=>J.mode==="universal").map(async(J)=>D2$(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 D2$($,Z,X){if(!DY.hasPermission(Z.actor.permissionLevel,$.permissionLevel))return;try{if(!await $.applies(Z))return;let J=await $.resolve(Z);if(!J)return;let G=U2$(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 U2$($){let Z=W2$.parse($),X=rm(Z.href),J=Z.state===void 0?void 0:A2$(Z.state);return{href:X,...J?{state:J}:{}}}function rm($){if(typeof $!=="string"||$!==$.trim()||$.length===0||$.length>aP||!$.startsWith("/")||$.startsWith("//")||om.test($))throw Error("Invalid inbox follow-up target");let Z=new URL($,"https://brains.invalid");if(Z.origin!=="https://brains.invalid")throw Error("Invalid inbox follow-up target");let X=`${Z.pathname}${Z.search}${Z.hash}`;if(X.length===0||X.length>aP||!X.startsWith("/")||X.startsWith("//")||om.test(X))throw Error("Invalid inbox follow-up target");return X}function A2$($){return Object.freeze(nm.parse($))}function K2$($,Z){return $.priority-Z.priority||$.kind.localeCompare(Z.kind)}function V2$($){let Z=$.trim();if(!Z)throw Error("Inbox follow-up registration plugin id is required");return Z}var Q2$={pluginsRegistered:"system:plugins:registered",initialSyncCompleted:"sync:initial:completed",shellReady:"system:shell:ready"};function O2$($){return D.discriminatedUnion("success",[D.strictObject({success:D.literal(!0),data:$}),D.strictObject({success:D.literal(!1),error:D.string().min(1)})])}function B2$($){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 N2$($){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 tP{providers=new Map;static createFresh(){return new tP}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 _2$,readdir as P2$,readFile as im,rm as sm,stat as F2$,writeFile as am}from"fs/promises";import{basename as z2$,dirname as T2$,join as E1}from"path";var pA=/^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,tm=86400000,em=200;class D7 extends Error{code;constructor($,Z){super(Z);this.code=$,this.name="RuntimeUploadStoreError"}}var M2$=D.object({id:D.string().regex(pA),ref:D.object({kind:D.string().min(1),id:D.string().regex(pA)}),filename:D.string().min(1),mediaType:D.string().min(1),sizeBytes:D.number().nonnegative(),createdAt:D.string().datetime(),metadata:D.record(D.string(),D.unknown()).optional()});function w2$($){return{scoped:(Z)=>$.scoped(Z)}}function $f($){return z2$($)==="brain-data"?E1(T2$($),"data"):$}class eP{dataDir;constructor($){this.dataDir=$f($.dataDir)}static createFresh($){return new eP($)}scoped($){return new $F({...$,dataDir:this.dataDir})}}class $F{options;retentionMs;maxCount;createUploadId;getNow;constructor($){this.options=$,this.retentionMs=$.retentionMs??tm,this.maxCount=$.maxCount??em,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 _2$(J,{recursive:!0}),await am(E1(J,"content"),$.content),await am(E1(J,"metadata.json"),`${JSON.stringify(X,null,2)}
|
|
123
|
-
`,"utf8"),await this.prune(),X}async remove($){this.assertValidUploadId($),await sm(this.getUploadDir($),{recursive:!0,force:!0})}async read($){let Z=await this.readRecord($);try{let X=await im(E1(this.getUploadDir($),"content"));return{record:Z,content:X}}catch{throw new D7("not_found","Upload not found")}}async readRecord($){this.assertValidUploadId($);try{let Z=await im(E1(this.getUploadDir($),"metadata.json"),"utf8"),X=M2$.safeParse(JSON.parse(Z));if(!X.success||X.data.id!==$||X.data.ref.id!==$||X.data.ref.kind!==this.options.refKind)throw new D7("invalid_metadata","Invalid upload metadata");return X.data}catch(Z){if(Z instanceof D7)throw Z;throw new D7("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 P2$($),J=(await Promise.all(Z.map(async(W)=>{try{let H=await F2$(E1($,W));return H.isDirectory()?{entry:W,mtimeMs:H.mtimeMs}:null}catch{return null}}))).filter((W)=>W!==null).sort((W,H)=>H.mtimeMs-W.mtimeMs),G=this.getNow().getTime()-this.retentionMs,Y=J.filter((W,H)=>H>=this.maxCount||W.mtimeMs<G);await Promise.all(Y.map((W)=>sm(E1($,W.entry),{recursive:!0,force:!0})))}catch{}}getUploadDir($){return this.assertValidUploadId($),E1(this.getUploadsRoot(),$)}getUploadsRoot(){return E1(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(!pA.test($))throw new D7("invalid_ref","Invalid upload ref")}}var gx$=D.object({id:D.string(),type:D.string(),version:D.string(),status:D.string()}),hx$=D.object({name:D.string(),description:D.string()});var L2$=D.object({id:D.string(),version:D.string(),type:D.enum(["core","entity","service","interface"]),description:D.string().optional(),dependencies:D.array(D.string()).optional(),packageName:D.string()});var Zf=D.looseObject({id:D.string().optional(),limit:D.number().optional(),page:D.number().optional(),pageSize:D.number().optional(),baseUrl:D.string().optional()}),Xf=D.looseObject({entityType:D.string().optional(),query:Zf.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=Xf.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,[H,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=H.map((O)=>this.transformEntity(O)),Q=W?R_(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,H=Y<G.length-1?G[Y+1]:void 0,U=W?this.transformEntity(W):null,A=H?this.transformEntity(H):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 ZF($){if(typeof $!=="object"||$===null||!("entityId"in $))return;let Z=$.entityId;return typeof Z==="string"&&Z.trim().length>0?Z.trim():void 0}function Gf($){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 uA($){return Object.fromEntries(Object.entries($).filter(([,Z])=>Z!==void 0))}function Yf($){let Z={...$};return delete Z.status,delete Z.error,uA(Z)}class Uf extends GY{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=Gf($);if(typeof Z!=="object")return Z;let J=ZF($);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:cA.START,message:`Starting ${this.jobTypeName}`});let J=await this.generate($,X),G=ZF($),Y=G?this.applyPreallocatedEntityId(G,J):J;await this.reportProgress(X,{progress:cA.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:cA.COMPLETE,message:`${Y.title??this.entityType} created successfully`}),{success:!0,entityId:W.entityId,...Y.resultExtras}}catch(J){if(J instanceof XF)return await this.markPreallocatedStubFailed($,J.message),await this.onGenerationFailure($,J.message),{success:!1,error:J.message};let G=
|
|
124
|
-
${$.message}`:G}}function Vf($){let Z=$.metadata.operationType.replace(/_/g," ");return $.metadata.operationTarget?`${Z}: ${$.metadata.operationTarget}`:Z}function Qf($){if(!$.progress||$.progress.total<=0)return;return`${$.progress.current}/${$.progress.total} (${$.progress.percentage}%)`}function Of($){switch($){case"pending":return"Job queued";case"processing":return"Job processing";case"completed":return"Job completed";case"failed":return"Job failed"}}var x2$=new Set(["yes","y","ok","sure","proceed","confirm","go"]),S2$=new Set(["no","n","cancel","abort","stop","nope"]);function JJ($){let Z=$.toLowerCase().trim();if(Z==="")return;if(x2$.has(Z))return{confirmed:!0};if(S2$.has(Z))return{confirmed:!1};return}function Bf($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}function Nf($){return $?.find((Z)=>Z.kind==="tool-approval"&&(Z.state==="output-available"||Z.state==="output-error"||Z.state==="output-denied"))}function _f($,Z){if(Z.length===0)return $;if($.trim().length>0)return $;if(Z.length===1)return Z[0]?.summary??$;return"Multiple approvals required."}function Pf($){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 zf({message:$,approvalIds:Z}){if(Z.size===0)return{kind:"not-confirmation"};let X=JF($,Z);if(!X)return{kind:"notice",message:"Please reply with yes to confirm or no/cancel to abort."};if(!X.approvalId&&wf($))return{kind:"notice",message:`No matching pending approval id. Pending approval ids: ${Ff(Z)}.`};if(Z.size>1&&!X.approvalId)return{kind:"notice",message:`Multiple approvals are pending; include one approval id with yes or no/cancel: ${Ff(Z)}.`};let J=X.approvalId??j2$(Z);if(!J)return{kind:"notice",message:"No pending approval to resolve."};return{kind:"confirm",approvalId:J,confirmed:X.confirmed}}function JF($,Z){let X=JJ($),J=Tf($,Z);if(X)return{...X,...J?{approvalId:J}:{}};let G=$.split(/\s+/).map((Y)=>JJ(Y)).find((Y)=>Y!==void 0);if(!G)return;return{...G,...J?{approvalId:J}:{}}}function Tf($,Z){if(!Z||Z.size===0)return;let X=$.toLowerCase();return[...Z].sort((J,G)=>G.length-J.length).find((J)=>Mf(X,J.toLowerCase()))}function Mf($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^a-z0-9_-])${X}($|[^a-z0-9_-])`).test($)}function wf($){return/(^|[^a-z0-9_-])approval[:-][a-z0-9_-]+/i.test($)}function j2$($){for(let Z of $)return Z;return}function Ff($){return[...$].join(", ")}var k2$=D.object({kind:D.string().min(1),id:D.string().min(1)}),I2$=D.object({kind:D.string().min(1),filename:D.string().min(1),mediaType:D.string().min(1),sizeBytes:D.number().nonnegative().optional(),source:k2$.optional()}),v2$=D.array(I2$),DS$=D.array(vA),y2$=D.array(IA),b2$=D.record(D.string(),D.unknown());function zY($){if(typeof $==="string")try{return FY(JSON.parse($))}catch{return null}return FY($)}function GF($){let Z=zY($),X=v2$.safeParse(Z?.attachments);return X.success?X.data:[]}function Cf($){let X=zY($)?.cards;if(!Array.isArray(X))return[];return X.map((J)=>yA.safeParse(J)).filter((J)=>J.success).map((J)=>J.data)}function oA($,Z){let X=[],J=new Set;for(let G of $){let Y=FY(G);if(!Y)continue;if(Z.role&&Y.role!==Z.role)continue;for(let W of GF(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 nA($){let Z=new Set;for(let X of $){let J=FY(X);if(!J)continue;let Y=zY(J.metadata)?.cards;if(!Array.isArray(Y))continue;let W=Y.filter((U)=>FY(U)?.kind==="tool-approval"),H=y2$.safeParse(W);if(!H.success)continue;for(let U of H.data)if(U.state==="approval-requested")Z.add(U.id);else Z.delete(U.id)}return Z}function FY($){let Z=b2$.safeParse($);return Z.success?Z.data:null}class YF{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 nA(Z)}catch(Z){return this.options.onRestoreError?.(Z,$),new Set}}}var g2$=D.record(D.string(),D.unknown());function Rf($){let Z=g2$.safeParse($);return Z.success?Z.data:null}function
|
|
122
|
+
${Z}`}function Pm($,Z){let X=$.match(KJ$)??[];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 XJ($,Z){let X=$.attachment.source;if((X?.entityType==="document"||X?.entityType==="image")&&X.entityId)return{entityType:X.entityType,id:X.entityId};return cP($.attachment.downloadUrl??$.attachment.url,Z)}function cP($,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 SA($,Z){let X=QJ$(Z,$==="document"?/^application\/pdf$/i:/^image\/[a-z0-9.+-]+$/i);if(!X)return;if($==="document"&&X.mimeType.toLowerCase()!=="application/pdf")return;return X}function jA($,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 QJ$($,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 BY({entityRef:$,userLevel:Z,getEntity:X,getVisibleEntity:J}){let G=mX(Z),Y=await J($,G);if(Y)return{status:"visible",entity:Y};return Boolean(await X($))?{status:"denied"}:{status:"missing"}}function kA($){return $==="admin"||$==="trusted"}async function Fm($){let Z=new Set;for(let X of $.cards??[]){if(X.kind!=="attachment")continue;let J=XJ(X,$.displayBaseUrl);if(!J)continue;if((await BY({entityRef:J,userLevel:$.userLevel,getEntity:$.getEntity,getVisibleEntity:$.getVisibleEntity})).status==="denied")Z.add(X.id)}return Z}class NY extends ZJ{createContext($,Z){return jP($,this.id,Z)}isUploadableTextFile($,Z){return Om($,Z)}isFileSizeAllowed($){return Bm($)}formatFileUploadMessage($,Z){return _m($,Z)}getMaxFileUploadBytes(){return fP}isLikelyTextContent($){return Nm($)}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=XJ(G,$.displayBaseUrl);if(!Y)continue;let W=await BY({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(!kA($.userPermissionLevel))continue;if(typeof W.entity.content!=="string")continue;let H=SA(Y.entityType,W.entity.content);if(!H)continue;if($.maxBytes!==void 0&&H.data.byteLength>$.maxBytes){this.logger.debug("Skipping oversized native artifact upload",{cardId:G.id,sizeBytes:H.data.byteLength});continue}Z.push({cardId:G.id,data:new Uint8Array(H.data),filename:G.attachment.filename??jA(W.entity.metadata,Y.id,Y.entityType,H.mimeType),mimeType:H.mimeType})}return{files:Z,deniedCardIds:X}}extractCaptureableUrls($,Z){return Pm($,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 mP({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($),kP($,{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})}}),yP($,{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 vP($)}formatCompletionOutput($){return IP($)}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 dP($){if(typeof $==="string")return{text:$};return{text:$.fallbackText??"Message update"}}async function OJ$($,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 Tm extends NY{definition;accountSettingsRegistration;hasRequiredDaemon=!1;state;constructor($,Z,X,J){super(J,X,Z,$J());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,qA(J,G,$.accountSettings));continue}$.daemons.register(J.id,VY(J))}if(this.definition.listen)$.daemons.register("listener",VY({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:dP($.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:dP($.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:dP($.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(":"),H=[];if($.attachments){let U=await $.attachments();for(let A of U)H.push(await OJ$(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:zm(J,$.sender.id)},interfaceType:J,role:"user",...$.sender.displayName?{displayName:$.sender.displayName}:{}},source:{channelId:$.channel.id,...$.channel.threadId?{threadId:$.channel.threadId}:{}},...H.length>0?{attachments:H}:{}},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 Mm($,Z,X,J){return new Tm($,Z,X,J)}function BJ$($){return Object.freeze({kind:"protocol",...$})}function NJ$($){if(!Dm.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 _J$($){uZ($.id,"Daemon id");let{required:Z=!1,...X}=$;return Object.freeze({kind:"rizom-interface-daemon",...X,required:Z})}function PJ$($){return b4({family:"interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Hm($,Z,X,J($.id))})}function FJ$($){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 b4({family:"message-interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Mm($,Z,X,J($.id))})}var uP=D.object({kind:D.string().min(1),id:D.string().min(1)}),wm=D.object({kind:D.literal("text"),filename:D.string().min(1),mediaType:D.string().min(1),content:D.string(),sizeBytes:D.number().nonnegative().optional(),source:uP.optional()}),kJ$=D.custom(($)=>$ instanceof Uint8Array),IJ$=D.object({kind:D.literal("file"),filename:D.string().min(1),mediaType:D.string().min(1),data:kJ$,sizeBytes:D.number().nonnegative().optional(),source:uP.optional()}),Cm=D.discriminatedUnion("kind",[wm,IJ$]),vJ$=D.object({userPermissionLevel:D.enum(["admin","trusted","public"]).optional(),isAnchor:D.boolean().optional(),interfaceType:D.string().optional(),channelId:D.string().optional(),channelName:D.string().optional(),actor:YY.optional(),source:WY.optional(),attachments:D.array(Cm).optional()});var yJ$=D.object({status:D.enum(["healthy","warning","error","unknown"]),message:D.string().optional(),lastCheck:D.date().optional(),details:D.record(D.string(),D.unknown()).optional()}),Rm=D.object({name:D.string(),pluginId:D.string(),status:D.string(),health:yJ$.optional()});var Lm=D.enum(["admin","trusted","public"]),_Y=D.object({label:D.string(),url:D.string(),pluginId:D.string(),priority:D.number().default(100),visibility:Lm.default("public")}),oP=D.enum(["human","agent","admin","protocol"]),nP=D.enum(["available","coming-soon","disabled"]),PY=D.object({id:D.string(),label:D.string(),description:D.string().optional(),href:D.string(),kind:oP,pluginId:D.string(),priority:D.number().default(100),visibility:Lm.default("public"),status:nP.default("available")}),bA=D.object({entityType:D.string(),count:D.number()}),rP=D.object({status:D.enum(["operational","degraded"]),reasons:D.array(D.string()),worker:D.object({state:D.enum(["active","missing","stale"]),activeSessions:D.number().int().nonnegative(),staleSessions:D.number().int().nonnegative(),latestHeartbeatAgeMs:D.number().nonnegative().nullable()}),queue:D.object({duePending:D.number().int().nonnegative(),processing:D.number().int().nonnegative(),oldestDuePendingAgeMs:D.number().nonnegative().nullable(),latestClaimAgeMs:D.number().nonnegative().nullable(),stalled:D.boolean()})}),qm=D.object({model:D.string(),version:D.string(),uptime:D.number(),entities:D.number(),entityCounts:D.array(bA),embeddings:D.number(),backgroundWork:rP,ai:D.object({model:D.string(),embeddingModel:D.string()}),daemons:D.array(Rm),endpoints:D.array(_Y),interactions:D.array(PY)});var bJ$=D.object({status:D.enum(["healthy","warning","error","unknown"]),message:D.string().optional(),lastCheck:D.string().optional(),details:D.record(D.string(),D.unknown()).optional()}),gJ$=D.object({name:D.string(),pluginId:D.string(),status:D.string(),health:bJ$.optional()}),hJ$=D.object({model:D.string(),version:D.string(),uptime:D.number(),entities:D.number(),entityCounts:D.array(bA),embeddings:D.number(),ai:D.object({model:D.string(),embeddingModel:D.string()}),daemons:D.array(gJ$),endpoints:D.array(_Y),interactions:D.array(PY)});var gA=D.object({name:D.string().min(1),status:D.enum(["healthy","degraded","unhealthy"]),message:D.string().optional(),details:D.record(D.string(),D.unknown()).optional()}),Em=D.object({totals:D.object({pending:D.number().int().nonnegative(),processing:D.number().int().nonnegative(),completed:D.number().int().nonnegative(),failed:D.number().int().nonnegative()}),byType:D.array(D.object({type:D.string().min(1),status:D.enum(["pending","processing","completed","failed"]),count:D.number().int().nonnegative()})),oldestPendingAgeMs:D.number().nonnegative().nullable(),duePending:D.number().int().nonnegative(),oldestDuePendingAgeMs:D.number().nonnegative().nullable(),latestClaimAgeMs:D.number().nonnegative().nullable(),oldestProcessingAgeMs:D.number().nonnegative().nullable(),staleLeaseCount:D.number().int().nonnegative(),workerSessions:D.object({total:D.number().int().nonnegative(),active:D.number().int().nonnegative(),stale:D.number().int().nonnegative(),latestHeartbeatAgeMs:D.number().nonnegative().nullable()})}),xm=D.object({memory:D.object({rssBytes:D.number().int().nonnegative(),heapUsedBytes:D.number().int().nonnegative(),heapTotalBytes:D.number().int().nonnegative()}),fileDescriptors:D.number().int().nonnegative().nullable(),processes:D.object({total:D.number().int().nonnegative().nullable(),zombies:D.number().int().nonnegative().nullable()}),queue:Em.nullable(),projection:D.object({initialized:D.boolean(),trackedRoots:D.number().int().nonnegative(),openCircuits:D.array(D.object({projectionId:D.string().min(1),reason:D.string().min(1),openedAt:D.number().int().nonnegative(),expiresAt:D.number().int().nonnegative()}))}),worker:D.object({total:D.number().int().nonnegative(),active:D.number().int().nonnegative(),stale:D.number().int().nonnegative(),latestHeartbeatAgeMs:D.number().nonnegative().nullable()})}),mJ$=D.object({status:D.enum(["ready","not_ready"]),operationalStatus:D.enum(["operational","degraded"]),checkedAt:D.iso.datetime(),checks:D.array(gA),resources:xm});var fJ$=D.union([D.object({success:D.boolean(),data:D.unknown().optional(),error:D.string().optional()}),D.object({noop:D.literal(!0)})]),pJ$=D.object({id:D.string(),timestamp:D.string(),type:D.string(),source:D.string(),target:D.string().optional(),metadata:jG.optional()});async function cJ$({context:$,targetType:Z,desired:X,getId:J,toEntityInput:G,equals:Y,deleteStale:W=!1,outputVisibility:H="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:H}}})).filter((l)=>l.visibility===H),P=new Map(O.map((l)=>[l.id,l])),_=0,T=0,M=0,S=0,K$=Math.max(1,U);if(W){let l=O.filter((J$)=>!Q.has(J$.id));await Sm(l,K$,async(J$)=>{await $.entityService.deleteEntity({entityType:Z,id:J$.id}),M++})}return await Sm(Array.from(Q),K$,async([l,J$])=>{let B$=P.get(l),h$={...G(J$,l),visibility:H};try{if(!B$){await $.entityService.createEntity({entity:h$}),_++;return}if(Y?.(B$,J$)??!1){S++;return}await $.entityService.updateEntity({entity:{...B$,...h$,id:l,entityType:Z,visibility:H}}),T++}catch(A$){A?.error("Failed to reconcile entity",{targetType:Z,id:l,error:r$(A$)})}}),{created:_,updated:T,deleted:M,skipped:S}}async function Sm($,Z,X){let J=await t.runPromiseExit(t.forEach($,(G)=>t.tryPromise({try:()=>X(G),catch:(Y)=>Y}),{concurrency:Z,discard:!0}));if(T0.isFailure(J))throw J6.squash(J.cause)}async function dJ$({entityService:$,entity:Z,options:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:A6("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 uJ$({entityService:$,entity:Z,expectedContentHash:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:A6("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 oJ$({entityService:$,entityType:Z,id:X,error:J,content:G}){let Y=await $.getEntity({entityType:Z,id:X,visibilityScope:A6("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()},H=await $.updateEntity({entity:W});return{found:!0,entityId:H.entityId,mutation:H,previousEntity:Y}}var jm=D.union([D.string(),D.number().finite(),D.boolean(),D.null()]);function nJ$($,Z){return Buffer.from(JSON.stringify([$,Z])).toString("base64url")}function hA($,Z){return{packageName:$.packageName,definitionId:$.definitionId,actorId:Z}}function rJ$($){let Z=$.replaceAll(/([a-z0-9])([A-Z])/g,"$1 $2").replaceAll(/[-_]+/g," ").trim();return Z?`${Z[0]?.toUpperCase()??""}${Z.slice(1)}`:$}function lP($){return $.schema.shape}function km($){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 lJ$($){let Z=km($);if(!Z.success)return;let X=jm.safeParse(Z.data);return X.success?X.data:void 0}function iJ$($,Z){let X={};for(let J of Object.keys(lP($))){let G=Reflect.get(Z,J);if(G!==void 0)X[J]=jm.parse(G)}return Object.freeze(X)}function sJ$($,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 Im{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=nJ$($.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(hA(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=hA(J,Z),W=await G.read(Y),H=lP(J.definition),U=Object.keys(X).find((_)=>!Object.hasOwn(H,_));if(U)throw Error(`Account settings field "${U}" is not declared by "${J.packageName}:${J.definitionId}"`);let A={};for(let _ of Object.keys(H)){let T=J.definition.fields[_]?.secret===!0;if(!Object.hasOwn(X,_)){if(T&&W?.values[_]!==void 0)A[_]=W.values[_];continue}let M=X[_];if(T&&(M===""||M===void 0)){if(W?.values[_]!==void 0)A[_]=W.values[_];continue}if(M!==void 0)A[_]=M}let Q=J.definition.schema.parse(A),O=iJ$(J.definition,Q),P=W&&sJ$(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(hA(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(hA($,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(lP($.definition)).map(([J,G])=>{let Y=$.definition.fields[J],W=Y?.secret===!0,H=Z?.values[J],U=H!==void 0?H:lJ$(G);return Object.freeze({name:J,label:Y?.label??rJ$(J),control:Y?.control??"text",secret:W,required:!km(G).success,...W?{set:H!==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 bm=/^[a-z][a-z0-9-]*$/,aJ$=D.strictObject({source:D.string().min(1).max(500),flags:D.string().regex(/^[imu]*$/).optional()}),tJ$=D.strictObject({type:D.string().trim().regex(bm),displayName:D.string().trim().min(1).max(100),subjectLabel:D.string().trim().min(1).max(100),subjectPattern:aJ$.optional(),manualDelivery:D.boolean().optional()});class gm{descriptorRegistrations=new Map;providerRegistrations=new Map;activeDescriptors=new Map;activeProviders=new Map;finalized=!1;registerDescriptor($,Z){this.assertRegistrationOpen();let X=vm($),J=tJ$.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=vm($),J=iP(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(iP($))}getDeliveryProvider($){return this.assertFinalized(),this.activeProviders.get(iP($))}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 ym("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 ym("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 H=G[0]?.provider;if(H)X.set(J,H)}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 vm($){let Z=$.trim();if(!Z)throw Error("Channel registration plugin id is required");return Z}function iP($){let Z=$.trim();if(!bm.test(Z))throw Error(`Invalid channel type: ${$}`);return Z}function ym($,Z,X){let J=X.map((G)=>G.pluginId).sort().join(", ");return Error(`${$} "${Z}" is registered by multiple plugins: ${J}`)}var eJ$=/^[a-z][a-z0-9-]*$/,T9=D.string().trim().regex(eJ$),sP=D.string().trim().min(1).max(300),hm=D.enum(["high","normal"]),mm=D.strictObject({id:T9,label:D.string().trim().min(1).max(100),confirm:D.boolean().optional()}),fm=D.strictObject({entityType:D.string().trim().min(1).max(100),entityId:D.string().trim().min(1).max(300)}),pm=D.strictObject({label:D.string().trim().min(1).max(300),personId:D.string().trim().min(1).max(200).optional()}),mA=D.strictObject({id:sP,title:D.string().trim().min(1).max(160),summary:D.string().trim().min(1).max(1000).optional(),contact:pm.optional(),threadOrdinal:D.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),receivedAt:D.iso.datetime(),urgency:hm,entityRef:fm.optional(),actions:D.array(mm).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)}}),cm=D.array(mA).max(1000),fA=D.strictObject({permissionLevel:D.enum(["admin","trusted","public"])}),dm=D.strictObject({sourceId:T9,displayName:D.string().trim().min(1).max(100)});class um{registrations=new Map;activeSources=new Map;finalized=!1;registerSource($,Z){this.assertRegistrationOpen();let X=X2$($),J=dm.parse({sourceId:Z.sourceId,displayName:Z.displayName});if(typeof Z.list!=="function"||typeof Z.act!=="function")throw Error("Inbox source operations are required");let G=$2$(J,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(J2$($))}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 $2$($,Z){return Object.freeze({...$,list:async()=>{return cm.parse(await Z.list()).map(Z2$)},act:async(X,J,G)=>{let Y=sP.parse(X),W=T9.parse(J);await Z.act(Y,W,fA.parse(G))}})}function Z2$($){let Z=$.actions.map((X)=>Object.freeze({...X}));return Object.freeze(Z),Object.freeze({...$,...$.contact?{contact:Object.freeze({...$.contact})}:{},...$.entityRef?{entityRef:Object.freeze({...$.entityRef})}:{},actions:Z})}function X2$($){let Z=$.trim();if(!Z)throw Error("Inbox registration plugin id is required");return Z}function J2$($){return T9.parse($)}var aP=2048,G2$=8192,om=/[\\\p{Cc}\p{Cf}]/u,Y2$=D.strictObject({kind:T9,label:D.string().trim().min(1).max(100),priority:D.number().int().min(0).max(1000),mode:D.enum(["universal","declared"]),permissionLevel:D.enum(["admin","trusted","public"]),contextSchema:D.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)&&typeof $.safeParse==="function").optional(),applies:D.custom(($)=>typeof $==="function"),resolve:D.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"})}),W2$=D.strictObject({href:D.string(),state:D.unknown().optional()}),nm=D.record(D.string(),D.json()).refine(($)=>new TextEncoder().encode(JSON.stringify($)).byteLength<=G2$,{message:"Inbox follow-up state is too large"}),H2$=D.strictObject({kind:T9,label:D.string().trim().min(1).max(100),href:D.string().min(1).max(aP).refine(($)=>{try{return lm($)===$}catch{return!1}}),state:nm.optional()});class rm{registrations=new Map;activeKinds=new Map;finalized=!1;logger;constructor($){this.logger=$}registerKind($,Z){this.assertRegistrationOpen();let X=V2$($),J=Object.freeze(Y2$.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(K2$)}getKind($){return this.assertFinalized(),this.activeKinds.get(T9.parse($))}async resolveUniversal($){this.assertFinalized();let Z=Object.freeze({sourceId:T9.parse($.sourceId),item:mA.parse($.item),actor:fA.parse($.actor)});return(await Promise.all(this.listKinds().filter((J)=>J.mode==="universal").map(async(J)=>D2$(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 D2$($,Z,X){if(!DY.hasPermission(Z.actor.permissionLevel,$.permissionLevel))return;try{if(!await $.applies(Z))return;let J=await $.resolve(Z);if(!J)return;let G=U2$(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 U2$($){let Z=W2$.parse($),X=lm(Z.href),J=Z.state===void 0?void 0:A2$(Z.state);return{href:X,...J?{state:J}:{}}}function lm($){if(typeof $!=="string"||$!==$.trim()||$.length===0||$.length>aP||!$.startsWith("/")||$.startsWith("//")||om.test($))throw Error("Invalid inbox follow-up target");let Z=new URL($,"https://brains.invalid");if(Z.origin!=="https://brains.invalid")throw Error("Invalid inbox follow-up target");let X=`${Z.pathname}${Z.search}${Z.hash}`;if(X.length===0||X.length>aP||!X.startsWith("/")||X.startsWith("//")||om.test(X))throw Error("Invalid inbox follow-up target");return X}function A2$($){return Object.freeze(nm.parse($))}function K2$($,Z){return $.priority-Z.priority||$.kind.localeCompare(Z.kind)}function V2$($){let Z=$.trim();if(!Z)throw Error("Inbox follow-up registration plugin id is required");return Z}var Q2$={pluginsRegistered:"system:plugins:registered",initialSyncCompleted:"sync:initial:completed",shellReady:"system:shell:ready"};function O2$($){return D.discriminatedUnion("success",[D.strictObject({success:D.literal(!0),data:$}),D.strictObject({success:D.literal(!1),error:D.string().min(1)})])}function B2$($){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 N2$($){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 tP{providers=new Map;static createFresh(){return new tP}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 _2$,readdir as P2$,readFile as im,rm as sm,stat as F2$,writeFile as am}from"fs/promises";import{basename as z2$,dirname as T2$,join as E1}from"path";var pA=/^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,tm=86400000,em=200;class D7 extends Error{code;constructor($,Z){super(Z);this.code=$,this.name="RuntimeUploadStoreError"}}var M2$=D.object({id:D.string().regex(pA),ref:D.object({kind:D.string().min(1),id:D.string().regex(pA)}),filename:D.string().min(1),mediaType:D.string().min(1),sizeBytes:D.number().nonnegative(),createdAt:D.string().datetime(),metadata:D.record(D.string(),D.unknown()).optional()});function w2$($){return{scoped:(Z)=>$.scoped(Z)}}function $f($){return z2$($)==="brain-data"?E1(T2$($),"data"):$}class eP{dataDir;constructor($){this.dataDir=$f($.dataDir)}static createFresh($){return new eP($)}scoped($){return new $F({...$,dataDir:this.dataDir})}}class $F{options;retentionMs;maxCount;createUploadId;getNow;constructor($){this.options=$,this.retentionMs=$.retentionMs??tm,this.maxCount=$.maxCount??em,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 _2$(J,{recursive:!0}),await am(E1(J,"content"),$.content),await am(E1(J,"metadata.json"),`${JSON.stringify(X,null,2)}
|
|
123
|
+
`,"utf8"),await this.prune(),X}async remove($){this.assertValidUploadId($),await sm(this.getUploadDir($),{recursive:!0,force:!0})}async read($){let Z=await this.readRecord($);try{let X=await im(E1(this.getUploadDir($),"content"));return{record:Z,content:X}}catch{throw new D7("not_found","Upload not found")}}async readRecord($){this.assertValidUploadId($);try{let Z=await im(E1(this.getUploadDir($),"metadata.json"),"utf8"),X=M2$.safeParse(JSON.parse(Z));if(!X.success||X.data.id!==$||X.data.ref.id!==$||X.data.ref.kind!==this.options.refKind)throw new D7("invalid_metadata","Invalid upload metadata");return X.data}catch(Z){if(Z instanceof D7)throw Z;throw new D7("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 P2$($),J=(await Promise.all(Z.map(async(W)=>{try{let H=await F2$(E1($,W));return H.isDirectory()?{entry:W,mtimeMs:H.mtimeMs}:null}catch{return null}}))).filter((W)=>W!==null).sort((W,H)=>H.mtimeMs-W.mtimeMs),G=this.getNow().getTime()-this.retentionMs,Y=J.filter((W,H)=>H>=this.maxCount||W.mtimeMs<G);await Promise.all(Y.map((W)=>sm(E1($,W.entry),{recursive:!0,force:!0})))}catch{}}getUploadDir($){return this.assertValidUploadId($),E1(this.getUploadsRoot(),$)}getUploadsRoot(){return E1(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(!pA.test($))throw new D7("invalid_ref","Invalid upload ref")}}var gx$=D.object({id:D.string(),type:D.string(),version:D.string(),status:D.string()}),hx$=D.object({name:D.string(),description:D.string()});var L2$=D.object({id:D.string(),version:D.string(),type:D.enum(["core","entity","service","interface"]),description:D.string().optional(),dependencies:D.array(D.string()).optional(),packageName:D.string()});var Zf=D.looseObject({id:D.string().optional(),limit:D.number().optional(),page:D.number().optional(),pageSize:D.number().optional(),baseUrl:D.string().optional()}),Xf=D.looseObject({entityType:D.string().optional(),query:Zf.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=Xf.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,[H,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=H.map((O)=>this.transformEntity(O)),Q=W?R_(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,H=Y<G.length-1?G[Y+1]:void 0,U=W?this.transformEntity(W):null,A=H?this.transformEntity(H):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 ZF($){if(typeof $!=="object"||$===null||!("entityId"in $))return;let Z=$.entityId;return typeof Z==="string"&&Z.trim().length>0?Z.trim():void 0}function Gf($){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 uA($){return Object.fromEntries(Object.entries($).filter(([,Z])=>Z!==void 0))}function Yf($){let Z={...$};return delete Z.status,delete Z.error,uA(Z)}class Uf extends GY{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=Gf($);if(typeof Z!=="object")return Z;let J=ZF($);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:cA.START,message:`Starting ${this.jobTypeName}`});let J=await this.generate($,X),G=ZF($),Y=G?this.applyPreallocatedEntityId(G,J):J;await this.reportProgress(X,{progress:cA.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:cA.COMPLETE,message:`${Y.title??this.entityType} created successfully`}),{success:!0,entityId:W.entityId,...Y.resultExtras}}catch(J){if(J instanceof XF)return await this.markPreallocatedStubFailed($,J.message),await this.onGenerationFailure($,J.message),{success:!1,error:J.message};let G=r$(J);return this.logger.error(`${this.jobTypeName} job failed`,{error:J,jobId:Z,data:this.summarizeDataForLog($)}),await this.markPreallocatedStubFailed($,G),await this.onGenerationFailure($,G),Wf.failure(J)}}applyPreallocatedEntityId($,Z){let X={...Z.metadata},J=Z.content,G=Z.resultExtras;if(typeof X.slug==="string")X.slug=$,J=dA(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=Yf(XY($.content).frontmatter),J=Yf($.metadata),G=uA(Z.metadata),Y=XY(Z.content),W=uA(Y.frontmatter),H=uA({...X,...G,...W});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(H),{content:Df(H,Y.content),metadata:{...J,...G}}}async markPreallocatedStubFailed($,Z){let X=ZF($);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:dA(dA(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=Gf($);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:Hf.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 XF($)}}class XF extends Error{constructor($){super($);this.name="GenerationFailure"}}var q2$=D.string().trim().min(1).max(200),E2$=D.string().trim().min(1).max(100).regex(/^[a-z0-9][a-z0-9.-]*$/);class Af{registrations=new Map;register($,Z,X){let J=q2$.parse($),G=E2$.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 gA.parse({name:Z.name,...await Z.provider()})}catch{return{name:Z.name,status:"degraded",message:"Operational health check failed"}}}))}}function Kf($){let Z=Of($.status),X=Vf($),J=Qf($),G=J?`${Z}: ${X} ${J}`:`${Z}: ${X}`;return{title:Z,label:X,...J?{amount:J}:{},...$.message?{message:$.message}:{},fallback:$.message?`${G}
|
|
124
|
+
${$.message}`:G}}function Vf($){let Z=$.metadata.operationType.replace(/_/g," ");return $.metadata.operationTarget?`${Z}: ${$.metadata.operationTarget}`:Z}function Qf($){if(!$.progress||$.progress.total<=0)return;return`${$.progress.current}/${$.progress.total} (${$.progress.percentage}%)`}function Of($){switch($){case"pending":return"Job queued";case"processing":return"Job processing";case"completed":return"Job completed";case"failed":return"Job failed"}}var x2$=new Set(["yes","y","ok","sure","proceed","confirm","go"]),S2$=new Set(["no","n","cancel","abort","stop","nope"]);function JJ($){let Z=$.toLowerCase().trim();if(Z==="")return;if(x2$.has(Z))return{confirmed:!0};if(S2$.has(Z))return{confirmed:!1};return}function Bf($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}function Nf($){return $?.find((Z)=>Z.kind==="tool-approval"&&(Z.state==="output-available"||Z.state==="output-error"||Z.state==="output-denied"))}function _f($,Z){if(Z.length===0)return $;if($.trim().length>0)return $;if(Z.length===1)return Z[0]?.summary??$;return"Multiple approvals required."}function Pf($){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 zf({message:$,approvalIds:Z}){if(Z.size===0)return{kind:"not-confirmation"};let X=JF($,Z);if(!X)return{kind:"notice",message:"Please reply with yes to confirm or no/cancel to abort."};if(!X.approvalId&&wf($))return{kind:"notice",message:`No matching pending approval id. Pending approval ids: ${Ff(Z)}.`};if(Z.size>1&&!X.approvalId)return{kind:"notice",message:`Multiple approvals are pending; include one approval id with yes or no/cancel: ${Ff(Z)}.`};let J=X.approvalId??j2$(Z);if(!J)return{kind:"notice",message:"No pending approval to resolve."};return{kind:"confirm",approvalId:J,confirmed:X.confirmed}}function JF($,Z){let X=JJ($),J=Tf($,Z);if(X)return{...X,...J?{approvalId:J}:{}};let G=$.split(/\s+/).map((Y)=>JJ(Y)).find((Y)=>Y!==void 0);if(!G)return;return{...G,...J?{approvalId:J}:{}}}function Tf($,Z){if(!Z||Z.size===0)return;let X=$.toLowerCase();return[...Z].sort((J,G)=>G.length-J.length).find((J)=>Mf(X,J.toLowerCase()))}function Mf($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^a-z0-9_-])${X}($|[^a-z0-9_-])`).test($)}function wf($){return/(^|[^a-z0-9_-])approval[:-][a-z0-9_-]+/i.test($)}function j2$($){for(let Z of $)return Z;return}function Ff($){return[...$].join(", ")}var k2$=D.object({kind:D.string().min(1),id:D.string().min(1)}),I2$=D.object({kind:D.string().min(1),filename:D.string().min(1),mediaType:D.string().min(1),sizeBytes:D.number().nonnegative().optional(),source:k2$.optional()}),v2$=D.array(I2$),DS$=D.array(vA),y2$=D.array(IA),b2$=D.record(D.string(),D.unknown());function zY($){if(typeof $==="string")try{return FY(JSON.parse($))}catch{return null}return FY($)}function GF($){let Z=zY($),X=v2$.safeParse(Z?.attachments);return X.success?X.data:[]}function Cf($){let X=zY($)?.cards;if(!Array.isArray(X))return[];return X.map((J)=>yA.safeParse(J)).filter((J)=>J.success).map((J)=>J.data)}function oA($,Z){let X=[],J=new Set;for(let G of $){let Y=FY(G);if(!Y)continue;if(Z.role&&Y.role!==Z.role)continue;for(let W of GF(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 nA($){let Z=new Set;for(let X of $){let J=FY(X);if(!J)continue;let Y=zY(J.metadata)?.cards;if(!Array.isArray(Y))continue;let W=Y.filter((U)=>FY(U)?.kind==="tool-approval"),H=y2$.safeParse(W);if(!H.success)continue;for(let U of H.data)if(U.state==="approval-requested")Z.add(U.id);else Z.delete(U.id)}return Z}function FY($){let Z=b2$.safeParse($);return Z.success?Z.data:null}class YF{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 nA(Z)}catch(Z){return this.options.onRestoreError?.(Z,$),new Set}}}var g2$=D.record(D.string(),D.unknown());function Rf($){let Z=g2$.safeParse($);return Z.success?Z.data:null}function rA($,Z){return Rf($)?.[Z]}function x1($,Z){let X=rA($,Z);return typeof X==="string"?X:void 0}function Lf($,Z){let X=rA($,Z);return typeof X==="boolean"?X:void 0}function h2$($){return Array.isArray($.toolResults)?$.toolResults[0]:void 0}function m2$($){if(!Array.isArray($.cards))return;return $.cards.find((Z)=>x1(Z,"kind")==="tool-approval")}function f2$($){return rA($,"data")}function p2$($){let X=$.indexOf(`
|
|
125
125
|
|
|
126
|
-
Result:`);if(X===-1)return;let J=$.slice(X+9).trim();if(!J)return;try{return JSON.parse(J)}catch{return}}function c2$($){if(!$)return;let Z=$.replace(/^system[_-]/,"").split(/[_-]+/).filter(Boolean);if(Z.length===0)return;let X=Z.join(" ");return`${X.charAt(0).toUpperCase()}${X.slice(1)}`}function
|
|
126
|
+
Result:`);if(X===-1)return;let J=$.slice(X+9).trim();if(!J)return;try{return JSON.parse(J)}catch{return}}function c2$($){if(!$)return;let Z=$.replace(/^system[_-]/,"").split(/[_-]+/).filter(Boolean);if(Z.length===0)return;let X=Z.join(" ");return`${X.charAt(0).toUpperCase()}${X.slice(1)}`}function lA($,Z){if(Z==="declined")return{label:"Declined",variant:"declined"};let X=m2$($),J=h2$($),G=c2$(x1(X,"toolName")??x1(J,"toolName")),Y=rA(X,"output")??f2$(J)??p2$($.text),W=x1(X,"state"),H=Lf(Y,"success"),U=x1(X,"error")??x1(Y,"error")??x1(Y,"message");if(W==="output-error")return{label:`${G?`${G} failed`:"Action failed"}${U?` \xB7 ${U}`:""}`,variant:"error"};if(W==="output-available")return{label:G?`${G} completed`:"Action completed",variant:"success"};if(W==="output-denied")return{label:G?`${G} denied`:"Action denied",variant:"declined"};if(H===!1)return{label:`${G?`${G} failed`:"Action failed"}${U?` \xB7 ${U}`:""}`,variant:"error"};if($.text.startsWith("Error:"))return{label:`Action failed \xB7 ${$.text.replace(/^Error:\s*/,"")}`,variant:"error"};if($.text.startsWith("Failed:"))return{label:`${G?`${G} failed`:"Action failed"}${U?` \xB7 ${U}`:""}`,variant:"error"};if(H===!0)return{label:G?`${G} completed`:"Action completed",variant:"success"};if($.text.startsWith("Completed:"))return{label:G?`${G} completed`:"Action completed",variant:"success"};return{label:$.text?`Approved \xB7 ${$.text}`:"Approved",variant:"success"}}function qf($){switch($){case"success":return"Approval confirmed";case"declined":return"Approval declined";case"error":return"Action failed"}}function iA($){if(typeof $==="string")return $;if(typeof $==="number"||typeof $==="boolean")return String($);let Z=Rf($);if(!Z)return;let X=x1(Z,"error")??x1(Z,"message");if(Lf(Z,"success")===!1)return X?`Failed \xB7 ${X}`:"Failed";return}function WF($){return["Approvals pending:",...$.map((Z)=>`${Z.id}: ${Z.summary}`),"Reply yes <approval-id> to confirm one item, or no <approval-id> to abort it."].join(`
|
|
127
127
|
`)}function Ef($){if(!$||$.length===0)return;if($.length===1){let Z=$[0];if(!Z)return;return[`Approval required: ${Z.summary}`,"Reply yes to confirm or no/cancel to abort."].join(`
|
|
128
|
-
`)}return WF($)}function xf({response:$,confirmed:Z,remainingApprovalHelp:X,deniedCardIds:J,formatCard:G,formatPendingConfirmationHelp:Y}){let W=
|
|
128
|
+
`)}return WF($)}function xf({response:$,confirmed:Z,remainingApprovalHelp:X,deniedCardIds:J,formatCard:G,formatPendingConfirmationHelp:Y}){let W=lA($,Z?"approved":"declined"),H=$.pendingConfirmations&&$.pendingConfirmations.length>1?Y($.pendingConfirmations):void 0,U=[W.label,...Sf($.cards,J).map(G),H,X].filter(n2$);return{variant:W.variant,parts:U}}function Sf($,Z){return($??[]).filter((X)=>X.kind==="attachment"&&Boolean(Z?.has(X.id)))}function d2$($,Z){return($??[]).filter((X)=>X.kind==="attachment"&&!Z?.has(X.id))}function u2$($,Z){let X=Boolean(Z?.length);return($??[]).filter((J)=>{if(J.kind==="attachment")return!1;return!(X&&J.kind==="tool-approval"&&J.state==="approval-requested")})}function jf($,Z){let X=$.pendingConfirmations??[],J=[{kind:"text",text:$.text},...Sf($.cards,Z.deniedCardIds).map((G)=>({kind:"denied-artifact",card:G})),...d2$($.cards,Z.deniedCardIds).map((G)=>({kind:"artifact",card:G})),...u2$($.cards,$.pendingConfirmations).map((G)=>({kind:"supplemental",card:G}))];if(X.length>0)J.push({kind:"approvals",cards:($.cards??[]).filter((G)=>G.kind==="tool-approval"&&G.state==="approval-requested"),confirmations:X});return{directives:J,jobIds:o2$($)}}function o2$($){let Z=new Set;for(let X of $.toolResults??[])if(X.jobId)Z.add(X.jobId);for(let X of $.cards??[])if(X.kind==="attachment"&&X.jobId)Z.add(X.jobId);return[...Z]}function n2$($){return Boolean($?.trim())}function kf({disposition:$,filename:Z}){return`${$}; filename="${r2$(Z)}"; filename*=UTF-8''${l2$(Z)}`}function r2$($){return $.replace(/[^\x20-\x7E]|["\\\r\n]/g,"_")}function l2$($){return encodeURIComponent($).replace(/[!'()*]/g,(Z)=>`%${Z.charCodeAt(0).toString(16).toUpperCase()}`)}function sA($){let Z=If(DF($,"attachment"));if(!Z)return null;let X=g4($,"jobId"),J=g4($,"description"),G=g4(Z,"mediaType"),Y=g4(Z,"filename"),W=HF(s2$(Z,"sizeBytes")),H=g4(Z,"url"),U=g4(Z,"downloadUrl"),A=g4(Z,"previewUrl");return{...X!==void 0?{jobId:X}:{},title:g4($,"title")??"Generated artifact",...J!==void 0?{description:J}:{},...G!==void 0?{mediaType:G}:{},...Y!==void 0?{filename:Y}:{},...W!==void 0?{sizeLabel:W}:{},...H!==void 0?{url:H}:{},...U!==void 0?{downloadUrl:U}:{},...A!==void 0?{previewUrl:A}:{}}}function HF($){if($===void 0)return;if(!Number.isFinite($)||$<0)return;if($<1024)return`${$} B`;let Z=["KB","MB","GB"],X=$/1024;for(let J of Z){if(X<1024||J==="GB")return`${X.toFixed(X>=10?0:1)} ${J}`;X/=1024}return}var i2$=D.record(D.string(),D.unknown());function If($){let Z=i2$.safeParse($);return Z.success?Z.data:null}function DF($,Z){return If($)?.[Z]}function g4($,Z){let X=DF($,Z);return typeof X==="string"?X:void 0}function s2$($,Z){let X=DF($,Z);return typeof X==="number"?X:void 0}var yf="upload.txt";var bf=5000000,a2$=[".md",".txt",".markdown"],t2$=["text/plain","text/markdown","text/x-markdown"],UF=new Map([[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".webp","image/webp"],[".gif","image/gif"],[".pdf","application/pdf"]]),e2$=new Set(UF.values());function tA($,Z="upload.txt"){let X=$.split(/[\\/]/).at(-1)?.trim()??"",J=Array.from(X).filter((G)=>{let Y=G.charCodeAt(0);return Y>31&&Y!==127}).join("").slice(0,160);return J.length>0?J:Z}function eA($,Z){let X=Z?.trim()??"";if(X.length>0)return X;let J=$.toLowerCase();if(J.endsWith(".md")||J.endsWith(".markdown"))return"text/markdown";if(J.endsWith(".txt"))return"text/plain";return"application/octet-stream"}function TY($,Z){let X=Z?.trim()??"",J=X.split(";",1)[0]?.toLowerCase()??X;if(J.length>0&&J!=="application/octet-stream")return J;let G=eA($,void 0);if(G!=="application/octet-stream")return G;let Y=$.toLowerCase();for(let[W,H]of UF)if(Y.endsWith(W))return H;return"application/octet-stream"}function MY($,Z){if(Z&&t2$.some((X)=>Z.toLowerCase().startsWith(X)))return!0;return a2$.some((X)=>$.toLowerCase().endsWith(X))}function $3($){return $<=1e5}function Z3($){return $<=5000000}function X3($,Z){let X=TY($,Z);if(e2$.has(X))return!0;return UF.has($G$($))}function gf($,Z){let X=TY($,Z);if(MY($,X))return"text";if(X3($,X))return"file";return}function hf($,Z){if(Z<=0)return!0;return $==="text"?$3(Z):Z3(Z)}function AF($){if($.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode($),!0}catch{return!1}}function KF($){let Z=tA($.filename,$.fallbackFilename),X=eA(Z,$.mediaType);if(!MY(Z,X))return{ok:!1,code:"unsupported_type",message:`Unsupported file upload type: ${Z}`};if(!$3($.content.byteLength))return{ok:!1,code:"file_too_large",message:`File upload too large: ${Z}`};if(!AF($.content))return{ok:!1,code:"binary_content",message:`Unsupported file upload type: ${Z}`};return{ok:!0,filename:Z,mediaType:X,sizeBytes:$.content.byteLength,text:new TextDecoder("utf-8").decode($.content).replace(/^\uFEFF/,"")}}function mf($){let Z=tA($.filename,$.fallbackFilename),X=TY(Z,$.mediaType);if(MY(Z,X)){let J=KF({filename:Z,mediaType:X,content:$.content,...$.fallbackFilename!==void 0&&{fallbackFilename:$.fallbackFilename}});return J.ok?{...J,kind:"text"}:J}if(!X3(Z,X))return{ok:!1,code:"unsupported_type",message:`Unsupported file upload type: ${Z}`};if(!Z3($.content.byteLength))return{ok:!1,code:"file_too_large",message:`File upload too large: ${Z}`};if(!ZG$($.content,X))return{ok:!1,code:"unsupported_type",message:`Unsupported file upload type: ${Z}`};return{ok:!0,kind:"file",filename:Z,mediaType:X,sizeBytes:$.content.byteLength}}function $G$($){let Z=$.lastIndexOf(".");return Z>=0?$.slice(Z).toLowerCase():""}function ZG$($,Z){switch(Z){case"image/png":return vf($,[137,80,78,71]);case"image/jpeg":return vf($,[255,216,255]);case"image/gif":return aA($,"GIF87a")||aA($,"GIF89a");case"image/webp":return aA($,"RIFF")&&ff($,"WEBP",8);case"application/pdf":return aA($,"%PDF-");default:return!1}}function vf($,Z){return Z.every((X,J)=>$[J]===X)}function aA($,Z){return ff($,Z,0)}function ff($,Z,X){return Array.from(Z).every((J,G)=>$[X+G]===J.charCodeAt(0))}class VF{options;recentUploads=new Map;maxRecent;constructor($){this.options=$,this.maxRecent=$.maxRecent??20}remember($,Z){if(Z.length===0)return;let X=this.recentUploads.get($)??[];this.recentUploads.set($,[...X,...Z].slice(-this.maxRecent))}clear(){this.recentUploads.clear()}async selectPriorUploads({conversationId:$,currentAttachments:Z,canRestore:X}){if(Z.length>0)return Z;if(!X)return Z;let J=await this.getRecentUploads($);if(J.length===0)return Z;return J}async getRecentUploads($){let Z=this.recentUploads.get($)??[];if(Z.length>0)return Z;let X=await this.restoreRecentUploads($);if(X.length>0)this.recentUploads.set($,X.slice(-this.maxRecent));return X}async restoreRecentUploads($){let Z=await this.loadMessages($),X=[this.options.sourceKind,...this.options.legacySourceKinds??[]],J=[];for(let G of X){let Y=oA(Z,{sourceKind:G,role:"user"});for(let W of Y){let H=await this.restoreAttachment(W,G);if(H)J.push(H)}}return J}async loadMessages($){try{return await this.options.loadMessages($)}catch(Z){return this.options.onLoadError?.(Z,$),[]}}async restoreAttachment($,Z){try{return await this.options.restoreAttachment($,Z)}catch(X){this.options.onRestoreError?.(X,$);return}}}function pf($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function XG$($){return pf($)&&$.kind==="upload"&&typeof $.id==="string"}function wY($){if(XG$($))return"uploaded file";if(Array.isArray($))return $.map((Z)=>wY(Z));if(!pf($))return $;return J3($)}function J3($){return Object.fromEntries(Object.entries($).map(([Z,X])=>[Z,wY(X)]))}function cf($){if($.kind!=="tool-approval")return $;return{...$,...$.input!==void 0?{input:J3($.input)}:{},...$.output!==void 0?{output:wY($.output)}:{}}}function df($,Z){if($.kind==="attachment")return JG$($,Z);if($.kind==="tool-approval")return GG$($);if($.kind==="sources")return YG$($,Z);return WG$($,Z)}function JG$($,Z){if(Z.deniedCardIds?.has($.id))return"Artifact: Not available at your access level.";let X=sA($);if(!X)return"Artifact: Generated artifact";let J=[`Artifact: ${X.title}`];if(X.description)J.push(X.description);if(X.filename)J.push(`File: ${X.filename}`);if(X.mediaType)J.push(`Type: ${X.mediaType}`);if(X.sizeLabel)J.push(`Size: ${X.sizeLabel}`);let G=Z.resolveUrl(X.previewUrl),Y=Z.resolveUrl(X.url),W=Z.resolveUrl(X.downloadUrl);if(G&&!Z.isHiddenUrl(G))J.push(`Preview: ${G}`);if(Y&&!Z.isHiddenUrl(Y))J.push(`Open: ${Y}`);if(W&&!Z.isHiddenUrl(W))J.push(`Download: ${W}`);return J.join(`
|
|
129
129
|
`)}function GG$($){let Z=[`Approval: ${$.summary||$.toolName}`];if(Z.push(`Status: ${$.state}`),$.preview)Z.push($.preview);let X=iA($.output);if(X)Z.push(`Result: ${X}`);if($.error)Z.push(`Error: ${$.error}`);return Z.join(`
|
|
130
130
|
`)}function YG$($,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 WG$($,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 uf($){return{identity:$.identity,interfaceType:$.interfaceType,role:$.role??"user",...$.displayName?{displayName:$.displayName}:{},...$.username?{username:$.username}:{},...$.isBot!==void 0?{isBot:HG$($.isBot)}:{}}}function HG$($){if(typeof $==="boolean")return $;return $.toLowerCase()==="true"}function of($){return{...$.messageId?{messageId:$.messageId}:{},...$.channelId?{channelId:$.channelId}:{},...$.channelName?{channelName:$.channelName}:{},...$.threadId?{threadId:$.threadId}:{},...$.metadata?{metadata:$.metadata}:{}}}function nf($){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(DG$),"","Latest message to answer:",$.message].join(`
|
|
133
|
-
`),metadata:{supersededMessageCount:$.skippedMessages.length,supersededMessageIds:$.skippedMessages.map((J)=>J.id).filter((J)=>J!==void 0)}}}function DG$($){let Z=$.text.trim(),X=$.authorName?.trim();return X?`- ${X}: ${Z}`:`- ${Z}`}async function _G$($){let{entityType:Z,title:X,deriveId:J,regeneratePrompt:G,context:Y}=$,W=J(X),H=await Y.entityService.getEntity({entityType:Z,id:W});if(!H||H.metadata.status==="generating")return X;Y.logger.debug(`Entity ID collision: ${Z}/${W}, asking AI for a new title`);let U=D.object({title:D.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 G3{tail=Promise.resolve();run($){let Z=this.tail.then(()=>$());return this.tail=Z.then(()=>{return},()=>{return}),Z}async settle(){await this.tail}}var PG$="current";class lf{store;schema;createEmpty;key;queue=new G3;statePromise;constructor($){this.store=$.runtimeState.scoped({namespace:$.namespace,schema:$.schema}),this.schema=$.schema,this.createEmpty=$.createEmpty,this.key=$.key??PG$}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 QF="cms:register-workspace";function FG$($,Z){if($.userPermissionLevel!=="admin")throw Error(`${Z} requires admin permission`)}var zG$=D.object({workspaceUrl:D.string()});async function TG$($,Z){let X=await $.messaging.send({type:QF,payload:Z});if(!("success"in X)||!X.success)return;let J=zG$.safeParse(X.data);return J.success?J.data.workspaceUrl:void 0}var OF=W6.extend({id:D.literal("brain-character"),entityType:D.literal("brain-character")}),Y3=D.object({name:D.string().describe("The brain's friendly display name"),role:D.string().describe("The brain's primary role"),purpose:D.string().describe("The brain's purpose and goals"),values:D.array(D.string()).describe("Core values that guide behavior")});var rf=D.record(D.string(),D.unknown());class W3 extends B9{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:OF,frontmatterSchema:Y3,isSingleton:!0,hasBody:!1})}createCharacterContent($){return this.buildMarkdown("",$)}parseCharacterBody($){return this.parseFrontmatter($)}toMarkdown($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",rf.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("",rf.parse(Z))}}class H3 extends sX{adapter=new W3;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 H3($,Z,X)}constructor($,Z,X){super($,Z,"brain-character",X??H3.getDefaultCharacter(),A6("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 BF=W6.extend({id:D.literal("anchor-profile"),entityType:D.literal("anchor-profile")}),sf=D.enum(["person","team","organization"]),U7=D.object({name:D.string().describe("Name of the anchor"),organization:D.string().optional().describe("Organization the anchor belongs to"),description:D.string().optional().describe("Short description or biography"),avatar:D.string().optional().describe("URL or asset path to avatar/logo"),website:D.string().optional().describe("Primary website URL"),email:D.string().optional().describe("Contact email"),socialLinks:D.array(D.object({platform:D.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:D.string().describe("Profile or contact URL"),label:D.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});var MG$=D.record(D.string(),D.unknown());class D3 extends B9{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's Anchor (singleton).",schema:BF,frontmatterSchema:U7,isSingleton:!0,hasBody:!0})}createProfileContent($){let Z=U7.parse($);return this.buildMarkdown("",Z)}parseProfileBody($,Z){if(Z){let{metadata:X,content:J}=pZ($,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("",MG$.parse(Z))}}class CY extends sX{adapter=new D3;static getDefaultProfile(){return{name:"Unknown"}}static createFresh($,Z,X){return new CY($,Z,X)}constructor($,Z,X){super($,Z,"anchor-profile",X??CY.getDefaultProfile(),A6("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 U3=D.enum(["person","team","organization"]),wG$=D.object({kind:D.string().trim().min(1),category:U3,labels:D.object({singular:D.string().trim().min(1),plural:D.string().trim().min(1)})});function CG$($){if(typeof $!=="object"||$===null||!("shape"in $)||!("safeParse"in $)||typeof $.safeParse!=="function")throw Error("Profile kind fields must be a Zod object schema")}class af{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=wG$.parse(Z);CG$(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 tf=30000;class _F{logger;resolver;links=[];actorIndex=new Map;negativeActorIndex=new Map;static createFresh($,Z){return new _F($,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=NF($),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=NF($.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()+tf),$;let Y={identity:$.identity,...$.displayName?{label:$.displayName}:{}},W={...G,actors:[Y],matchedActor:Y};return this.actorIndex.set(X,{resolution:W,expiresAt:Date.now()+tf}),this.links=[...this.links.filter((H)=>H.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 ef="https://rizom.ai/ext/anchor-profile/v1",$p=D.looseObject({id:D.string(),description:D.string(),name:D.string().optional(),tags:D.array(D.string()).optional().default([])}),Zp=U7.extend({kind:D.string().trim().min(1).optional(),category:U3.optional()}).superRefine(($,Z)=>{if($.kind===void 0!==($.category===void 0))Z.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),RG$=D.looseObject({uri:D.string(),params:D.record(D.string(),D.unknown()).optional()}),Xp=D.looseObject({name:D.string(),url:D.string(),description:D.string().optional(),skills:D.array($p).optional().default([]),capabilities:D.looseObject({extensions:D.array(RG$).optional().default([])}).optional()});function LG$($){let Z=Xp.safeParse($);if(!Z.success)return null;let X=Z.data,G=(X.capabilities?.extensions??[]).find((W)=>W.uri===ef),Y=null;if(G?.params){let W=Zp.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 qG$=D.object({name:D.string(),description:D.string(),tags:D.array(D.string()),examples:D.array(D.string())});import{EventEmitter as Yp}from"events";var q0={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},K6={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class V6 extends Error{pluginId;constructor($,Z){super(`Plugin ${$}: ${Z}`);this.name="PluginError",this.pluginId=$}}class PF{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($=T0.void){return this.closed=!0,this.closePromise??=this.closeScope($),this.closePromise}async closeScope($){let Z,X=!1,J=[...this.ingress].reverse();for(let H of J)try{H.stopAdmission()}catch(U){if(!X)Z=U;X=!0}let G=await Promise.allSettled(J.map((H)=>Promise.resolve().then(()=>H.drain())));this.ingress.clear();let Y=G.find((H)=>H.status==="rejected");if(!X&&Y)Z=Y.reason,X=!0;let W=await t.runPromiseExit(o0.close(this.scope,$));if(!X&&T0.isFailure(W))Z=J6.squash(W.cause),X=!0;if(X)throw Z}}function Jp($,Z){let X=$.getMessageBus(),J=new Set,G={send:(i)=>X.send(i),subscribe:(i,$$,l)=>{let Q$=!0,z$=new Set,q$=(b0)=>{if(!Q$)return{noop:!0};let b6,G8=new Promise((Y8)=>{b6=Y8});z$.add(G8);let F8=()=>{z$.delete(G8),b6()},S1;try{S1=Promise.resolve($$(b0))}catch(Y8){throw F8(),Y8}return S1.then((Y8)=>{return F8(),Y8},(Y8)=>{throw F8(),Y8})},Z$=X.subscribe(i,q$,l),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(z$)}})}catch(b0){throw Q0.stopAdmission(),b0}return Q0.stopAdmission},unsubscribe:(i,$$)=>{let l=[...J].filter((Q$)=>Q$.type===i&&Q$.originalHandler===$$);if(l.length===0){X.unsubscribe(i,$$);return}for(let Q$ of l)Q$.stopAdmission()}},Y=$.getAttachmentRegistry(),W={...Y,register:(i,$$,l)=>{let Q$=!0,z$=Y.register(i,$$,l),q$=()=>{if(!Q$)return;Q$=!1,z$()};return Z.addFinalizer(q$),q$}},H=$.getEntityRegistry(),U=new Proxy(H,{get(i,$$){let l=Reflect.get(i,$$,i);if($$==="registerEntityType"&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterEntityType(q$));return z$};return typeof l==="function"?l.bind(i):l}}),A=$.getProfileKindRegistry(),Q=new Proxy(A,{get(i,$$){let l=Reflect.get(i,$$,i);if($$==="register"&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};return typeof l==="function"?l.bind(i):l}}),O=$.getChannelRegistry(),P=new Proxy(O,{get(i,$$){let l=Reflect.get(i,$$,i);if(($$==="registerDescriptor"||$$==="registerDeliveryProvider")&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};return typeof l==="function"?l.bind(i):l}}),_=$.getInboxRegistry(),T=new Proxy(_,{get(i,$$){let l=Reflect.get(i,$$,i);if($$==="registerSource"&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};return typeof l==="function"?l.bind(i):l}}),M=$.getInboxFollowUpRegistry(),S=new Proxy(M,{get(i,$$){let l=Reflect.get(i,$$,i);if($$==="registerKind"&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};return typeof l==="function"?l.bind(i):l}}),K$=$.getAccountSettingsRegistry(),r=new Proxy(K$,{get(i,$$){let l=Reflect.get(i,$$,i);if($$==="register"&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,i,Q$);return Z.addFinalizer(()=>i.unregister(z$)),z$};return typeof l==="function"?l.bind(i):l}}),J$=$.getOperationalHealthRegistry(),B$=new Proxy(J$,{get(i,$$){let l=Reflect.get(i,$$,i);if($$==="register"&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};return typeof l==="function"?l.bind(i):l}}),h$=$.getDataSourceRegistry(),A$=new Proxy(h$,{get(i,$$){let l=Reflect.get(i,$$,i);if($$==="register"&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,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 z$};return typeof l==="function"?l.bind(i):l}}),m$=$.getInsightsRegistry(),v$=new Proxy(m$,{get(i,$$){let l=Reflect.get(i,$$,i);if($$==="register"&&typeof l==="function")return(...Q$)=>{let z$=Reflect.apply(l,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregister(q$));return z$};return typeof l==="function"?l.bind(i):l}}),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()=>T;if($$==="getInboxFollowUpRegistry")return()=>S;if($$==="getOperationalHealthRegistry")return()=>B$;if($$==="getAccountSettingsRegistry")return()=>r;if($$==="getInsightsRegistry")return()=>v$;let l=Reflect.get(i,$$,i);return typeof l==="function"?l.bind(i):l}});return Gm($,A0),A0}class FF{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 V6($,"Registration failed: Plugin is not registered");let G=J.plugin,Y=new PF;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(K6.BEFORE_INITIALIZE,$,G);let W=await G.register(Jp(Z,Y),X);return J.status=q0.INITIALIZED,this.logger.debug(`Initialized plugin: ${$}`),this.events.emit(K6.INITIALIZED,$,G),W}catch(W){throw this.logger.error(`Error initializing plugin ${$}: ${l$(W)}`),await this.failPluginInitialization($,W),W}}async finalizePluginRegistration($){let Z=this.plugins.get($);if(!Z)throw new V6($,"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 V6($,"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=eX(X);Z.status=q0.ERROR,Z.error=J;try{this.events.emit(K6.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: ${l$(X)}`)}}async failPluginInitialization($,Z){let X=this.plugins.get($);if(!X)return;let J=X.status!==q0.ERROR,G=eX(Z);if(X.status=q0.ERROR,X.error=G,await this.releasePluginResources($,T0.fail(Z)),J)try{this.events.emit(K6.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($,T0.void);let J=this.plugins.get($);if(!X&&J&&J.status!==q0.DISABLED)J.status=q0.DISABLED,this.events.emit(K6.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 zF{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=l$(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 H of G){let U=this.getUnmetDependencies(H);this.logger.error(`Plugin ${H} has unmet dependencies: ${U.join(", ")}`);let A=this.plugins.get(H);if(A)A.status=q0.ERROR,A.error=new V6(H,`Unmet dependencies: ${U.join(", ")}`);this.events.emit(K6.ERROR,H,A?.error)}}let Y=new Set;for(let[W,H]of this.plugins)if(H.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 TF{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 A3{projections=new Map;rules=new Map;static createFresh(){return new A3}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(SG$)}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=jG$(Z,J),Y=IG$(Z,G)[0];if(Y){let W=vG$(Y,G);throw Error(`Projection cycle is not supported: ${[...W,W[0]].join(" -> ")}`)}return xG$({projections:Z,edges:G,unknownSourceTypes:EG$(Z,X)})}}function EG$($,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 xG$($){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 SG$($){return{...$,sources:$.sources.map((Z)=>({...Z,types:[...Z.types],...Z.excludeTypes?{excludeTypes:[...Z.excludeTypes]}:{}}))}}function jG$($,Z){let X=new Map;for(let J of $)for(let G of $){let Y=kG$(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 kG$($,Z,X){let J=[];for(let G of Z.sources){let Y=new Set(G.excludeTypes??[]);if((G.types.includes("*")?[...G.types.filter((H)=>H!=="*"),...X]:G.types).includes($.targetType)&&!Y.has($.targetType))J.push(`entity:${$.targetType}`)}return[...new Set(J)]}function IG$($,Z){let X=$.map(({id:O})=>O).sort(),J=Gp(X,Z),G=new Map,Y=new Map,W=[],H=new Set,U=[],A=0,Q=(O)=>{G.set(O,A),Y.set(O,A),A++,W.push(O),H.add(O);for(let M of J.get(O)??[])if(!G.has(M))Q(M),Y.set(O,Math.min(Y.get(O)??0,Y.get(M)??0));else if(H.has(M))Y.set(O,Math.min(Y.get(O)??0,G.get(M)??0));if(Y.get(O)!==G.get(O))return;let P=[],_;do{if(_=W.pop(),!_)break;H.delete(_),P.push(_)}while(_!==O);let T=J.get(O)?.includes(O)??!1;if(P.length>1||T)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 vG$($,Z){let X=new Set($),J=Gp($,Z),G=[...$].sort()[0];if(!G)return[];if(J.get(G)?.includes(G))return[G];let Y=(W,H)=>{for(let U of J.get(W)??[]){if(!X.has(U))continue;if(U===G)return H;if(H.includes(U))continue;let A=Y(U,[...H,U]);if(A)return A}return};return Y(G,[G])??[...$].sort()}function Gp($,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 Wp($){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 K3{plugins=new Map;logger;events=new Yp;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=A3.createFresh();projectionGraph;static createFresh($,Z){return new K3($,Z)}setShell($){this.shell=$}constructor($,Z){this.logger=$.child("PluginManager"),this.events=new Yp,this.daemonRegistry=Z,this.pluginLifecycle=new FF(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,$),this.dependencyResolver=new zF(this.plugins,this.events,$),this.capabilityRegistrar=new TF($,this.projectionRegistry)}registerPlugin($){if(!$.id)throw new V6("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 V6($.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(K6.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 V6($,"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 Wp(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 Wp(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{v4 as va,iG as wa,q_ as xa,E_ as ya,db as za,ub as Aa,ob as Ba,nb as Ca,k7$ as Da,I7$ as Ea,y7$ as Fa,aG as Ga,tG as Ha,n7$ as Ia,l7$ as Ja,mg as Ka,i7$ as La,pg as Ma,a7$ as Na,HJ as Oa,yG$ as Pa,bG$ as Qa,N3 as Ra,gG$ as Sa,hG$ as Ta,mG$ as Ua,fG$ as Va,pG$ as Wa,cG$ as Xa,dG$ as Ya,uG$ as Za,aX as _a,DX$ as $a,qZ as ab,mz$ as bb,BA as cb,N as db,p as eb,iU as fb,F$ as gb,q4 as hb,fX as ib,Uy as jb,S6 as kb,Z8 as lb,C1 as mb,pX as nb,mG as ob,sU as pb,PZ as qb,pG as rb,a$ as sb,X$ as tb,zZ as ub,Jb as vb,ZZ as wb,G_$ as xb,x4 as yb,UA as zb,I6 as Ab,v6 as Bb,Pb as Cb,t5$ as Db,e5$ as Eb,m as Fb,r$ as Gb,P_ as Hb,F_ as Ib,tX as Jb,UP as Kb,nZ as Lb,W0 as Mb,i0 as Nb,J6 as Ob,q5 as Pb,T0 as Qb,o0 as Rb,U9 as Sb,t as Tb,Q9 as Ub,i5 as Vb,SG as Wb,O9 as Xb,YO$ as Yb,AP as Zb,KP as _b,VP as $b,GY as ac,QP as bc,OP as cc,BP as dc,U0 as ec,dZ as fc,G7 as gc,Y7 as hc,Jh as ic,Gh as jc,xX$ as kc,PA as lc,jG as mc,C5$ as nc,R5$ as oc,BN as pc,NN as qc,h as rc,XZ as sc,y0 as tc,h8 as uc,L1 as vc,t$ as wc,U6 as xc,Fb as yc,A6 as zc,FN as Ac,N9 as Bc,dU as Cc,mX as Dc,zN as Ec,W6 as Fc,cv as Gc,T1 as Hc,pZ as Ic,mU as Jc,s5 as Kc,fv as Lc,y6 as Mc,M_ as Nc,w_ as Oc,bb as Pc,B9 as Qc,TN as Rc,E7$ as Sc,gb as Tc,hb as Uc,C_ as Vc,mb as Wc,L_ as Xc,fb as Yc,zA as Zc,yX$ as _c,wA as $c,RA as ad,TP as bd,HY as cd,wP as dd,cJ$ as ed,RP as fd,dJ$ as gd,uJ$ as hd,oJ$ as id,XJ$ as jd,ZJ as kd,Im as ld,gm as md,T9 as nd,sP as od,hm as pd,pm as qd,mA as rd,cm as sd,dm as td,um as ud,H2$ as vd,lm as wd,Q2$ as xd,O2$ as yd,B2$ as zd,N2$ as Ad,tP as Bd,pA as Cd,D7 as Dd,w2$ as Ed,eP as Fd,uZ as Gd,cX$ as Hd,dX$ as Id,uX$ as Jd,nX$ as Kd,yh as Ld,gh as Md,EP as Nd,mh as Od,fh as Pd,ph as Qd,ZJ$ as Rd,fq$ as Sd,EA as Td,gP as Ud,hP as Vd,Km as Wd,XJ as Xd,SA as Yd,jA as Zd,BY as _d,kA as $d,Fm as ae,NY as be,BJ$ as ce,NJ$ as de,_J$ as ee,PJ$ as fe,FJ$ as ge,_Y as he,PY as ie,L2$ as je,Jf as ke,Uf as le,vJ$ as me,hJ$ as ne,gA as oe,Em as pe,xm as qe,mJ$ as re,Af as se,fJ$ as te,pJ$ as ue,Kf as ve,JJ as we,Bf as xe,Nf as ye,_f as ze,Pf as Ae,zf as Be,JF as Ce,GF as De,Cf as Ee,YF as Fe,rA as Ge,qf as He,iA as Ie,WF as Je,Ef as Ke,xf as Le,jf as Me,kf as Ne,sA as Oe,yf as Pe,bf as Qe,tA as Re,TY as Se,MY as Te,gf as Ue,hf as Ve,mf as We,VF as Xe,wY as Ye,cf as Ze,df as _e,uf as $e,of as af,nf as bf,_G$ as cf,lf as df,QF as ef,FG$ as ff,TG$ as gf,Y3 as hf,W3 as if,H3 as jf,sf as kf,U7 as lf,D3 as mf,CY as nf,af as of,_F as pf,ef as qf,LG$ as rf,qG$ as sf,V6 as tf,K3 as uf};
|
|
133
|
+
`),metadata:{supersededMessageCount:$.skippedMessages.length,supersededMessageIds:$.skippedMessages.map((J)=>J.id).filter((J)=>J!==void 0)}}}function DG$($){let Z=$.text.trim(),X=$.authorName?.trim();return X?`- ${X}: ${Z}`:`- ${Z}`}async function _G$($){let{entityType:Z,title:X,deriveId:J,regeneratePrompt:G,context:Y}=$,W=J(X),H=await Y.entityService.getEntity({entityType:Z,id:W});if(!H||H.metadata.status==="generating")return X;Y.logger.debug(`Entity ID collision: ${Z}/${W}, asking AI for a new title`);let U=D.object({title:D.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 G3{tail=Promise.resolve();run($){let Z=this.tail.then(()=>$());return this.tail=Z.then(()=>{return},()=>{return}),Z}async settle(){await this.tail}}var PG$="current";class rf{store;schema;createEmpty;key;queue=new G3;statePromise;constructor($){this.store=$.runtimeState.scoped({namespace:$.namespace,schema:$.schema}),this.schema=$.schema,this.createEmpty=$.createEmpty,this.key=$.key??PG$}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 QF="cms:register-workspace";function FG$($,Z){if($.userPermissionLevel!=="admin")throw Error(`${Z} requires admin permission`)}var zG$=D.object({workspaceUrl:D.string()});async function TG$($,Z){let X=await $.messaging.send({type:QF,payload:Z});if(!("success"in X)||!X.success)return;let J=zG$.safeParse(X.data);return J.success?J.data.workspaceUrl:void 0}var OF=W6.extend({id:D.literal("brain-character"),entityType:D.literal("brain-character")}),Y3=D.object({name:D.string().describe("The brain's friendly display name"),role:D.string().describe("The brain's primary role"),purpose:D.string().describe("The brain's purpose and goals"),values:D.array(D.string()).describe("Core values that guide behavior")});var lf=D.record(D.string(),D.unknown());class W3 extends B9{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:OF,frontmatterSchema:Y3,isSingleton:!0,hasBody:!1})}createCharacterContent($){return this.buildMarkdown("",$)}parseCharacterBody($){return this.parseFrontmatter($)}toMarkdown($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",lf.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("",lf.parse(Z))}}class H3 extends sX{adapter=new W3;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 H3($,Z,X)}constructor($,Z,X){super($,Z,"brain-character",X??H3.getDefaultCharacter(),A6("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 BF=W6.extend({id:D.literal("anchor-profile"),entityType:D.literal("anchor-profile")}),sf=D.enum(["person","team","organization"]),U7=D.object({name:D.string().describe("Name of the anchor"),organization:D.string().optional().describe("Organization the anchor belongs to"),description:D.string().optional().describe("Short description or biography"),avatar:D.string().optional().describe("URL or asset path to avatar/logo"),website:D.string().optional().describe("Primary website URL"),email:D.string().optional().describe("Contact email"),socialLinks:D.array(D.object({platform:D.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:D.string().describe("Profile or contact URL"),label:D.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});var MG$=D.record(D.string(),D.unknown());class D3 extends B9{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's Anchor (singleton).",schema:BF,frontmatterSchema:U7,isSingleton:!0,hasBody:!0})}createProfileContent($){let Z=U7.parse($);return this.buildMarkdown("",Z)}parseProfileBody($,Z){if(Z){let{metadata:X,content:J}=pZ($,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("",MG$.parse(Z))}}class CY extends sX{adapter=new D3;static getDefaultProfile(){return{name:"Unknown"}}static createFresh($,Z,X){return new CY($,Z,X)}constructor($,Z,X){super($,Z,"anchor-profile",X??CY.getDefaultProfile(),A6("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 U3=D.enum(["person","team","organization"]),wG$=D.object({kind:D.string().trim().min(1),category:U3,labels:D.object({singular:D.string().trim().min(1),plural:D.string().trim().min(1)})});function CG$($){if(typeof $!=="object"||$===null||!("shape"in $)||!("safeParse"in $)||typeof $.safeParse!=="function")throw Error("Profile kind fields must be a Zod object schema")}class af{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=wG$.parse(Z);CG$(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 tf=30000;class _F{logger;resolver;links=[];actorIndex=new Map;negativeActorIndex=new Map;static createFresh($,Z){return new _F($,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=NF($),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=NF($.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()+tf),$;let Y={identity:$.identity,...$.displayName?{label:$.displayName}:{}},W={...G,actors:[Y],matchedActor:Y};return this.actorIndex.set(X,{resolution:W,expiresAt:Date.now()+tf}),this.links=[...this.links.filter((H)=>H.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 ef="https://rizom.ai/ext/anchor-profile/v1",$p=D.looseObject({id:D.string(),description:D.string(),name:D.string().optional(),tags:D.array(D.string()).optional().default([])}),Zp=U7.extend({kind:D.string().trim().min(1).optional(),category:U3.optional()}).superRefine(($,Z)=>{if($.kind===void 0!==($.category===void 0))Z.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),RG$=D.looseObject({uri:D.string(),params:D.record(D.string(),D.unknown()).optional()}),Xp=D.looseObject({name:D.string(),url:D.string(),description:D.string().optional(),skills:D.array($p).optional().default([]),capabilities:D.looseObject({extensions:D.array(RG$).optional().default([])}).optional()});function LG$($){let Z=Xp.safeParse($);if(!Z.success)return null;let X=Z.data,G=(X.capabilities?.extensions??[]).find((W)=>W.uri===ef),Y=null;if(G?.params){let W=Zp.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 qG$=D.object({name:D.string(),description:D.string(),tags:D.array(D.string()),examples:D.array(D.string())});import{EventEmitter as Yp}from"events";var q0={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},K6={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class V6 extends Error{pluginId;constructor($,Z){super(`Plugin ${$}: ${Z}`);this.name="PluginError",this.pluginId=$}}class PF{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($=T0.void){return this.closed=!0,this.closePromise??=this.closeScope($),this.closePromise}async closeScope($){let Z,X=!1,J=[...this.ingress].reverse();for(let H of J)try{H.stopAdmission()}catch(U){if(!X)Z=U;X=!0}let G=await Promise.allSettled(J.map((H)=>Promise.resolve().then(()=>H.drain())));this.ingress.clear();let Y=G.find((H)=>H.status==="rejected");if(!X&&Y)Z=Y.reason,X=!0;let W=await t.runPromiseExit(o0.close(this.scope,$));if(!X&&T0.isFailure(W))Z=J6.squash(W.cause),X=!0;if(X)throw Z}}function Jp($,Z){let X=$.getMessageBus(),J=new Set,G={send:(i)=>X.send(i),subscribe:(i,$$,r)=>{let Q$=!0,z$=new Set,q$=(b0)=>{if(!Q$)return{noop:!0};let b6,G8=new Promise((Y8)=>{b6=Y8});z$.add(G8);let F8=()=>{z$.delete(G8),b6()},S1;try{S1=Promise.resolve($$(b0))}catch(Y8){throw F8(),Y8}return S1.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(z$)}})}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,z$=Y.register(i,$$,r),q$=()=>{if(!Q$)return;Q$=!1,z$()};return Z.addFinalizer(q$),q$}},H=$.getEntityRegistry(),U=new Proxy(H,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerEntityType"&&typeof r==="function")return(...Q$)=>{let z$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterEntityType(q$));return z$};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 z$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};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 z$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};return typeof r==="function"?r.bind(i):r}}),_=$.getInboxRegistry(),T=new Proxy(_,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerSource"&&typeof r==="function")return(...Q$)=>{let z$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};return typeof r==="function"?r.bind(i):r}}),M=$.getInboxFollowUpRegistry(),S=new Proxy(M,{get(i,$$){let r=Reflect.get(i,$$,i);if($$==="registerKind"&&typeof r==="function")return(...Q$)=>{let z$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};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 z$=Reflect.apply(r,i,Q$);return Z.addFinalizer(()=>i.unregister(z$)),z$};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 z$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregisterPlugin(q$));return z$};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 z$=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 z$};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 z$=Reflect.apply(r,i,Q$),q$=Q$[0];if(typeof q$==="string")Z.addFinalizer(()=>i.unregister(q$));return z$};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()=>T;if($$==="getInboxFollowUpRegistry")return()=>S;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 Gm($,A0),A0}class FF{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 V6($,"Registration failed: Plugin is not registered");let G=J.plugin,Y=new PF;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(K6.BEFORE_INITIALIZE,$,G);let W=await G.register(Jp(Z,Y),X);return J.status=q0.INITIALIZED,this.logger.debug(`Initialized plugin: ${$}`),this.events.emit(K6.INITIALIZED,$,G),W}catch(W){throw this.logger.error(`Error initializing plugin ${$}: ${r$(W)}`),await this.failPluginInitialization($,W),W}}async finalizePluginRegistration($){let Z=this.plugins.get($);if(!Z)throw new V6($,"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 V6($,"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=eX(X);Z.status=q0.ERROR,Z.error=J;try{this.events.emit(K6.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: ${r$(X)}`)}}async failPluginInitialization($,Z){let X=this.plugins.get($);if(!X)return;let J=X.status!==q0.ERROR,G=eX(Z);if(X.status=q0.ERROR,X.error=G,await this.releasePluginResources($,T0.fail(Z)),J)try{this.events.emit(K6.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($,T0.void);let J=this.plugins.get($);if(!X&&J&&J.status!==q0.DISABLED)J.status=q0.DISABLED,this.events.emit(K6.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 zF{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=r$(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 H of G){let U=this.getUnmetDependencies(H);this.logger.error(`Plugin ${H} has unmet dependencies: ${U.join(", ")}`);let A=this.plugins.get(H);if(A)A.status=q0.ERROR,A.error=new V6(H,`Unmet dependencies: ${U.join(", ")}`);this.events.emit(K6.ERROR,H,A?.error)}}let Y=new Set;for(let[W,H]of this.plugins)if(H.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 TF{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 A3{projections=new Map;rules=new Map;static createFresh(){return new A3}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(SG$)}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=jG$(Z,J),Y=IG$(Z,G)[0];if(Y){let W=vG$(Y,G);throw Error(`Projection cycle is not supported: ${[...W,W[0]].join(" -> ")}`)}return xG$({projections:Z,edges:G,unknownSourceTypes:EG$(Z,X)})}}function EG$($,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 xG$($){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 SG$($){return{...$,sources:$.sources.map((Z)=>({...Z,types:[...Z.types],...Z.excludeTypes?{excludeTypes:[...Z.excludeTypes]}:{}}))}}function jG$($,Z){let X=new Map;for(let J of $)for(let G of $){let Y=kG$(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 kG$($,Z,X){let J=[];for(let G of Z.sources){let Y=new Set(G.excludeTypes??[]);if((G.types.includes("*")?[...G.types.filter((H)=>H!=="*"),...X]:G.types).includes($.targetType)&&!Y.has($.targetType))J.push(`entity:${$.targetType}`)}return[...new Set(J)]}function IG$($,Z){let X=$.map(({id:O})=>O).sort(),J=Gp(X,Z),G=new Map,Y=new Map,W=[],H=new Set,U=[],A=0,Q=(O)=>{G.set(O,A),Y.set(O,A),A++,W.push(O),H.add(O);for(let M of J.get(O)??[])if(!G.has(M))Q(M),Y.set(O,Math.min(Y.get(O)??0,Y.get(M)??0));else if(H.has(M))Y.set(O,Math.min(Y.get(O)??0,G.get(M)??0));if(Y.get(O)!==G.get(O))return;let P=[],_;do{if(_=W.pop(),!_)break;H.delete(_),P.push(_)}while(_!==O);let T=J.get(O)?.includes(O)??!1;if(P.length>1||T)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 vG$($,Z){let X=new Set($),J=Gp($,Z),G=[...$].sort()[0];if(!G)return[];if(J.get(G)?.includes(G))return[G];let Y=(W,H)=>{for(let U of J.get(W)??[]){if(!X.has(U))continue;if(U===G)return H;if(H.includes(U))continue;let A=Y(U,[...H,U]);if(A)return A}return};return Y(G,[G])??[...$].sort()}function Gp($,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 Wp($){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 K3{plugins=new Map;logger;events=new Yp;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=A3.createFresh();projectionGraph;static createFresh($,Z){return new K3($,Z)}setShell($){this.shell=$}constructor($,Z){this.logger=$.child("PluginManager"),this.events=new Yp,this.daemonRegistry=Z,this.pluginLifecycle=new FF(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,$),this.dependencyResolver=new zF(this.plugins,this.events,$),this.capabilityRegistrar=new TF($,this.projectionRegistry)}registerPlugin($){if(!$.id)throw new V6("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 V6($.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(K6.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 V6($,"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 Wp(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 Wp(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{v4 as va,iG as wa,q_ as xa,E_ as ya,db as za,ub as Aa,ob as Ba,nb as Ca,k7$ as Da,I7$ as Ea,y7$ as Fa,aG as Ga,tG as Ha,n7$ as Ia,r7$ as Ja,mg as Ka,i7$ as La,pg as Ma,a7$ as Na,HJ as Oa,yG$ as Pa,bG$ as Qa,N3 as Ra,gG$ as Sa,hG$ as Ta,mG$ as Ua,fG$ as Va,pG$ as Wa,cG$ as Xa,dG$ as Ya,uG$ as Za,aX as _a,DX$ as $a,qZ as ab,mz$ as bb,BA as cb,N as db,p as eb,iU as fb,F$ as gb,q4 as hb,fX as ib,Uy as jb,S6 as kb,Z8 as lb,C1 as mb,pX as nb,mG as ob,sU as pb,PZ as qb,pG as rb,a$ as sb,X$ as tb,zZ as ub,Jb as vb,ZZ as wb,G_$ as xb,x4 as yb,UA as zb,I6 as Ab,v6 as Bb,Pb as Cb,t5$ as Db,e5$ as Eb,m as Fb,l$ as Gb,P_ as Hb,F_ as Ib,tX as Jb,UP as Kb,nZ as Lb,W0 as Mb,i0 as Nb,J6 as Ob,q5 as Pb,T0 as Qb,o0 as Rb,U9 as Sb,t as Tb,Q9 as Ub,i5 as Vb,SG as Wb,O9 as Xb,YO$ as Yb,AP as Zb,KP as _b,VP as $b,GY as ac,QP as bc,OP as cc,BP as dc,U0 as ec,dZ as fc,G7 as gc,Y7 as hc,Jh as ic,Gh as jc,xX$ as kc,PA as lc,jG as mc,C5$ as nc,R5$ as oc,BN as pc,NN as qc,h as rc,XZ as sc,y0 as tc,h8 as uc,L1 as vc,t$ as wc,U6 as xc,Fb as yc,A6 as zc,FN as Ac,N9 as Bc,dU as Cc,mX as Dc,zN as Ec,W6 as Fc,cv as Gc,T1 as Hc,pZ as Ic,mU as Jc,s5 as Kc,fv as Lc,y6 as Mc,M_ as Nc,w_ as Oc,bb as Pc,B9 as Qc,TN as Rc,E7$ as Sc,gb as Tc,hb as Uc,C_ as Vc,mb as Wc,L_ as Xc,fb as Yc,zA as Zc,yX$ as _c,wA as $c,RA as ad,TP as bd,HY as cd,wP as dd,cJ$ as ed,RP as fd,dJ$ as gd,uJ$ as hd,oJ$ as id,XJ$ as jd,ZJ as kd,Im as ld,gm as md,T9 as nd,sP as od,hm as pd,pm as qd,mA as rd,cm as sd,dm as td,um as ud,H2$ as vd,rm as wd,Q2$ as xd,O2$ as yd,B2$ as zd,N2$ as Ad,tP as Bd,pA as Cd,D7 as Dd,w2$ as Ed,eP as Fd,uZ as Gd,cX$ as Hd,dX$ as Id,uX$ as Jd,nX$ as Kd,yh as Ld,gh as Md,EP as Nd,mh as Od,fh as Pd,ph as Qd,ZJ$ as Rd,fq$ as Sd,EA as Td,gP as Ud,hP as Vd,Km as Wd,XJ as Xd,SA as Yd,jA as Zd,BY as _d,kA as $d,Fm as ae,NY as be,BJ$ as ce,NJ$ as de,_J$ as ee,PJ$ as fe,FJ$ as ge,_Y as he,PY as ie,L2$ as je,Jf as ke,Uf as le,vJ$ as me,hJ$ as ne,gA as oe,Em as pe,xm as qe,mJ$ as re,Af as se,fJ$ as te,pJ$ as ue,Kf as ve,JJ as we,Bf as xe,Nf as ye,_f as ze,Pf as Ae,zf as Be,JF as Ce,GF as De,Cf as Ee,YF as Fe,lA as Ge,qf as He,iA as Ie,WF as Je,Ef as Ke,xf as Le,jf as Me,kf as Ne,sA as Oe,yf as Pe,bf as Qe,tA as Re,TY as Se,MY as Te,gf as Ue,hf as Ve,mf as We,VF as Xe,wY as Ye,cf as Ze,df as _e,uf as $e,of as af,nf as bf,_G$ as cf,rf as df,QF as ef,FG$ as ff,TG$ as gf,Y3 as hf,W3 as if,H3 as jf,sf as kf,U7 as lf,D3 as mf,CY as nf,af as of,_F as pf,ef as qf,LG$ as rf,qG$ as sf,V6 as tf,K3 as uf};
|
|
134
134
|
|
|
135
|
-
//# debugId=
|
|
136
|
-
//# sourceMappingURL=index-
|
|
135
|
+
//# debugId=B16E265177AA04FA64756E2164756E21
|
|
136
|
+
//# sourceMappingURL=index-1hbp5mpx.js.map
|