@rizom/brain 0.2.0-alpha.285 → 0.2.0-alpha.287

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/brain.js +834 -834
  2. package/dist/chunks/{app-4haypwmm.js → app-v7n5era9.js} +2 -2
  3. package/dist/chunks/{blog-post-adapter-87b43fs1.js → blog-post-adapter-b5ab32eq.js} +2 -2
  4. package/dist/chunks/{index-xcs1chpk.js → index-07tzke6s.js} +3 -3
  5. package/dist/chunks/index-0fysje0n.js +136 -0
  6. package/dist/chunks/{index-w1bmyak8.js.map → index-0fysje0n.js.map} +8 -7
  7. package/dist/chunks/{index-304fnnz5.js → index-1aah28h7.js} +3 -3
  8. package/dist/chunks/{index-304fnnz5.js.map → index-1aah28h7.js.map} +1 -1
  9. package/dist/chunks/{index-twncwcg5.js → index-g93dfx2n.js} +2 -2
  10. package/dist/chunks/{index-cqkbr444.js → index-jg8pq4va.js} +2 -2
  11. package/dist/chunks/{index-bc37y32h.js → index-kxj3qc06.js} +2 -2
  12. package/dist/chunks/{linkedin-template-yf83abr6.js → linkedin-template-wskz20zy.js} +2 -2
  13. package/dist/chunks/{rss-datasource-0vmwhxxs.js → rss-datasource-44mz85h6.js} +2 -2
  14. package/dist/entities.js +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/interfaces.d.ts +6 -1
  17. package/dist/interfaces.js +1 -1
  18. package/dist/model.js +39 -39
  19. package/dist/model.js.map +1 -1
  20. package/dist/plugins.js +1 -1
  21. package/dist/services.d.ts +23 -2
  22. package/dist/services.js +1 -1
  23. package/package.json +1 -1
  24. package/dist/chunks/index-w1bmyak8.js +0 -136
  25. /package/dist/chunks/{app-4haypwmm.js.map → app-v7n5era9.js.map} +0 -0
  26. /package/dist/chunks/{blog-post-adapter-87b43fs1.js.map → blog-post-adapter-b5ab32eq.js.map} +0 -0
  27. /package/dist/chunks/{index-xcs1chpk.js.map → index-07tzke6s.js.map} +0 -0
  28. /package/dist/chunks/{index-twncwcg5.js.map → index-g93dfx2n.js.map} +0 -0
  29. /package/dist/chunks/{index-cqkbr444.js.map → index-jg8pq4va.js.map} +0 -0
  30. /package/dist/chunks/{index-bc37y32h.js.map → index-kxj3qc06.js.map} +0 -0
  31. /package/dist/chunks/{linkedin-template-yf83abr6.js.map → linkedin-template-wskz20zy.js.map} +0 -0
  32. /package/dist/chunks/{rss-datasource-0vmwhxxs.js.map → rss-datasource-44mz85h6.js.map} +0 -0
@@ -0,0 +1,136 @@
1
+ // @bun
2
+ import{Ff as ch}from"./index-pnb8xy1h.js";import{Hf as _9}from"./index-q891w5f4.js";import{Ag as iG,Dg as bU,Eh as MP,Fg as V5$,Nf as jU,Of as kU,Pf as IU,Sf as nh,Wf as a5,Xf as sb,Yf as ob,Zf as UF,_f as Um,eg as Fh,gg as E4,gh as dg,hh as ZY,ih as rm,jh as xg,kg as e$,kh as hU,lg as aX,mg as om,ng as yX,og as e5,qg as QP,sg as s5,ug as nm,vg as XY,vh as CU,xh as yh,zg as x4}from"./index-smm9eana.js";import{Mh as D}from"./index-xtvsz1xr.js";import{Nh as K5$,Ph as F8}from"./index-skqzsjg5.js";function WJ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function WG$($){try{return new URL($).hostname.replace(/\./g,"-")}catch{return($.split("/")[0]??$).replace(/\./g,"-")}}function HG$($,Z){let X=WJ($);if(!X){let J=Date.now().toString(36);return Z?`id-${J}-${Z}`:`id-${J}`}return Z?`${X}-${Z}`:X}var of=new Set(["series","species","sheep","deer","fish"]);function K3($){if(of.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 DG$($){return $.replace(/[-_]/g," ").replace(/([A-Z])/g," $1").replace(/\b\w/g,(Z)=>Z.toUpperCase()).replace(/\s+/g," ").trim()}function AG$($){let X=$.split("-").map((G)=>G.charAt(0).toUpperCase()+G.slice(1)),J=X.pop();if(J)X.push(K3(J));return X.join(" ")}var nf={github:"GitHub",instagram:"Instagram",linkedin:"LinkedIn",email:"Email",website:"Website"};function UG$($){let Z=$.toLowerCase(),X=nf[Z];if(X!==void 0)return X;return $.replace(/\b\w/g,(J)=>J.toUpperCase())}function KG$($,Z){if(!Z)return $;try{return new URL($,Z).toString()}catch{return $}}function VG$($){let X=$.split(/\s+/).filter((J)=>J.length>0).length;return Math.max(1,Math.ceil(X/200))}function QG$($){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 OG$($,Z){if($.length<=Z)return $;let X=$.slice(0,Z),J=X.lastIndexOf(" ");return J>0?X.slice(0,J)+"...":X+"..."}function BG$($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#39;")}var F0={};F8(F0,{zipWith:()=>wV,zipRight:()=>So,zipParRight:()=>Io,zipParLeft:()=>ko,zipPar:()=>jo,zipLeft:()=>xo,zip:()=>Eo,void:()=>qo,succeed:()=>P2,matchEffect:()=>Lo,match:()=>MV,mapErrorCause:()=>Ro,mapError:()=>Co,mapBoth:()=>wo,map:()=>Mo,isSuccess:()=>H4,isInterrupted:()=>Uo,isFailure:()=>_2,isExit:()=>Ao,interrupt:()=>TV,getOrElse:()=>To,fromOption:()=>zo,fromEither:()=>Fo,forEachEffect:()=>LH,flatten:()=>zV,flatMapEffect:()=>Po,flatMap:()=>_o,failCause:()=>FV,fail:()=>PV,exists:()=>No,die:()=>Bo,causeOption:()=>Qo,asVoid:()=>Vo,as:()=>Ko,all:()=>Oo});var rZ={};F8(rZ,{zipWith:()=>cF,void:()=>Pc,try:()=>zc,transposeOption:()=>cc,transposeMapOption:()=>pc,right:()=>E$,orElse:()=>jc,merge:()=>o4,match:()=>fF,mapLeft:()=>Rc,mapBoth:()=>Cc,map:()=>S9,liftPredicate:()=>Lc,let:()=>fc,left:()=>g$,isRight:()=>b6,isLeft:()=>M0,isEither:()=>mF,getRight:()=>Tc,getOrUndefined:()=>xc,getOrThrowWith:()=>R3,getOrThrow:()=>Sc,getOrNull:()=>Ec,getOrElse:()=>C3,getLeft:()=>Mc,getEquivalence:()=>wc,gen:()=>gc,fromOption:()=>w3,fromNullable:()=>Fc,flip:()=>vc,flatMap:()=>FJ,filterOrLeft:()=>qc,bindTo:()=>mc,bind:()=>hc,ap:()=>Ic,andThen:()=>kc,all:()=>L3,TypeId:()=>_c,Do:()=>bc});var IY=($)=>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 T$=($)=>$;var U7=($)=>()=>$,y6=U7(!0),XZ=U7(!1),vY=U7(null),HJ=U7(void 0),zZ=HJ;function P($,Z,X,J,G,Y,W,H,A){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 A(H(W(Y(G(J(X(Z($))))))));default:{let K=arguments[0];for(let Q=1;Q<arguments.length;Q++)K=arguments[Q](K);return K}}}var g6=($)=>(Z,X)=>Z===X||$(Z,X),rf=($,Z)=>$===Z,lf=()=>rf;var _F=lf();var PF=V(2,($,Z)=>g6((X,J)=>$(Z(X),Z(J))));var yY=($)=>g6((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 V7=($)=>V(3,(Z,X,J)=>$(Z,(G)=>({...G,[X]:J(G)}))),Q7=($)=>V(2,(Z,X)=>$(Z,(J)=>({[X]:J}))),O7=($,Z)=>V(3,(X,J,G)=>Z(X,(Y)=>$(G(Y),(W)=>({...Y,[J]:W}))));var DJ,N$=($,Z)=>{if(!DJ)globalThis["effect/GlobalValue"]??=new Map,DJ=globalThis["effect/GlobalValue"];if(!DJ.has($))DJ.set($,Z());return DJ.get($)};var AJ=($)=>typeof $==="string",UJ=($)=>typeof $==="number";var Q3=($)=>typeof $==="bigint";var b8=IY;var sf=($)=>typeof $==="object"&&$!==null,C9=($)=>sf($)||b8($),o=V(2,($,Z)=>C9($)&&(Z in $)),x1=V(2,($,Z)=>o($,"_tag")&&$._tag===Z),g4=($)=>$===null||$===void 0;var h8=($)=>typeof $==="string"||o($,Symbol.iterator);var O3=($)=>o($,"then")&&b8($.then);var R9=($)=>`BUG: ${$} - please report an issue at https://github.com/Effect-TS/effect/issues`;var B3=Symbol.for("effect/Gen/GenKind"),gY=($)=>C9($)&&(B3 in $);class zF{value;constructor($){this.value=$}get _F(){return T$}get _R(){return($)=>$}get _O(){return($)=>$}get _E(){return($)=>$}[B3]=B3;[Symbol.iterator](){return new h4(this)}}class h4{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 h4(this.self)}}var bY=()=>function(){let $=arguments[0];for(let Z=1;Z<arguments.length;Z++)$=arguments[Z]($);return new zF($)},af=335903614,tf=4150755663,ef=1481765933,$c=1284865837,Zc=9007199254740992,Xc=134217728;class _3{_state;constructor($,Z,X,J){if(g4(Z)&&g4($))Z=Math.random()*4294967295>>>0,$=0;else if(g4(Z))Z=$,$=0;if(g4(J)&&g4(X))J=this._state?this._state[3]:tf,X=this._state?this._state[2]:af;else if(g4(J))J=X,X=0;return this._state=new Int32Array([0,0,X>>>0,((J||0)|1)>>>0]),this._next(),FF(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($*Xc+Z)/Zc}_next(){let $=this._state[0]>>>0,Z=this._state[1]>>>0;Jc(this._state,$,Z,ef,$c),FF(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 Jc($,Z,X,J,G){let Y=(X>>>16)*(G&65535)>>>0,W=(X&65535)*(G>>>16)>>>0,H=(X&65535)*(G&65535)>>>0,A=(X>>>16)*(G>>>16)+((W>>>16)+(Y>>>16))>>>0;if(W=W<<16>>>0,H=H+W>>>0,H>>>0<W>>>0)A=A+1>>>0;if(Y=Y<<16>>>0,H=H+Y>>>0,H>>>0<Y>>>0)A=A+1>>>0;A=A+Math.imul(X,J)>>>0,A=A+Math.imul(Z,G)>>>0,$[0]=A,$[1]=H}function FF($,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 N3=Symbol.for("effect/Utils/YieldWrap");class L9{#$;constructor($){this.#$=$}[N3](){return this.#$}}function m4($){if(typeof $==="object"&&$!==null&&N3 in $)return $[N3]();throw Error(R9("yieldWrapGet"))}var Y8=N$("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var TF={effect_internal_function:($)=>{return $()}},Gc={effect_internal_function:($)=>{try{return $()}finally{}}},Yc=TF.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,q0=Yc?TF.effect_internal_function:Gc.effect_internal_function,Wc=function*(){}.constructor,MF=($)=>C9($)&&$.constructor===Wc;var F3=N$(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),Y$=Symbol.for("effect/Hash"),s=($)=>{if(Y8.enabled===!0)return 0;switch(typeof $){case"number":return f4($);case"bigint":return f$($.toString(10));case"boolean":return f$(String($));case"symbol":return f$(String($));case"string":return f$($);case"undefined":return f$("undefined");case"function":case"object":if($===null)return f$("null");else if($ instanceof Date){if(Number.isNaN($.getTime()))return f$("Invalid Date");return s($.toISOString())}else if($ instanceof URL)return s($.href);else if(Hc($))return $[Y$]();else return KJ($);default:throw Error(`BUG: unhandled typeof ${typeof $} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},KJ=($)=>{if(!F3.has($))F3.set($,f4(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return F3.get($)},U$=($)=>(Z)=>Z*53^$,hY=($)=>$&3221225471|$>>>1&1073741824,Hc=($)=>o($,Y$),f4=($)=>{if($!==$||$===1/0)return 0;let Z=$|0;if(Z!==$)Z^=$*4294967295;while($>4294967295)Z^=$/=4294967295;return hY(Z)},f$=($)=>{let Z=5381,X=$.length;while(X)Z=Z*33^$.charCodeAt(--X);return hY(Z)},Dc=($,Z)=>{let X=12289;for(let J=0;J<Z.length;J++)X^=P(f$(Z[J]),U$(s($[Z[J]])));return hY(X)},mY=($)=>Dc($,Object.keys($)),o0=($)=>{let Z=6151;for(let X=0;X<$.length;X++)Z=P(Z,U$(s($[X])));return hY(Z)},w$=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 J$=Symbol.for("effect/Equal");function i(){if(arguments.length===1)return($)=>fY($,arguments[0]);return fY(arguments[0],arguments[1])}function fY($,Z){if($===Z)return!0;let X=typeof $;if(X!==typeof Z)return!1;if(X==="object"||X==="function"){if($!==null&&Z!==null){if(B7($)&&B7(Z))if(s($)===s(Z)&&$[J$](Z))return!0;else return Y8.enabled&&Y8.tester?Y8.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(Y8.enabled){if($===null||Z===null)return!1;if(Array.isArray($)&&Array.isArray(Z))return $.length===Z.length&&$.every((J,G)=>fY(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)&&fY($[Y],Z[Y])))return Y8.tester?Y8.tester($,Z):!1;return!0}}return Y8.tester?Y8.tester($,Z):!1}}return Y8.enabled&&Y8.tester?Y8.tester($,Z):!1}var B7=($)=>o($,J$),VJ=()=>i;var M$=Symbol.for("nodejs.util.inspect.custom"),k$=($)=>{try{if(o($,"toJSON")&&b8($.toJSON)&&$.toJSON.length===0)return $.toJSON();else if(Array.isArray($))return $.map(k$)}catch{return{}}return RF($)};var S$=($)=>JSON.stringify($,null,2),gG$={toJSON(){return k$(this)},[M$](){return this.toJSON()},toString(){return S$(this.toJSON())}};var q9=($,Z=2)=>{if(typeof $==="string")return $;try{return typeof $==="object"?cY($,Z):String($)}catch{return String($)}},cY=($,Z)=>{let X=[],J=JSON.stringify($,(G,Y)=>typeof Y==="object"&&Y!==null?X.includes(Y)?void 0:X.push(Y)&&(c4.fiberRefs!==void 0&&wF(Y)?Y[z3](c4.fiberRefs):Y):Y,Z);return X=void 0,J},z3=Symbol.for("effect/Inspectable/Redactable"),wF=($)=>typeof $==="object"&&$!==null&&(z3 in $),c4=N$("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),CF=($,Z)=>{let X=c4.fiberRefs;c4.fiberRefs=$;try{return Z()}finally{c4.fiberRefs=X}},RF=($)=>{if(wF($)&&c4.fiberRefs!==void 0)return $[z3](c4.fiberRefs);return $};var r=($,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 p4="Async",d4="Commit",$0="Failure",_7="OnFailure",P7="OnSuccess",F7="OnSuccessAndFailure",Z0="Success",pY="Sync",LF="Tag",E9="UpdateRuntimeFlags",z7="While",u4="Iterator",dY="WithRuntime",T7="Yield",QJ="RevertFlags";var Ac="3.22.0",BJ=()=>Ac;var EF=Symbol.for("effect/Effect"),xF=Symbol.for("effect/Stream"),SF=Symbol.for("effect/Sink"),jF=Symbol.for("effect/Channel"),S1={_R:($)=>$,_E:($)=>$,_A:($)=>$,_V:BJ()},Uc={_A:($)=>$,_In:($)=>$,_L:($)=>$,_E:($)=>$,_R:($)=>$},Kc={_Env:($)=>$,_InErr:($)=>$,_InElem:($)=>$,_InDone:($)=>$,_OutErr:($)=>$,_OutElem:($)=>$,_OutDone:($)=>$},x9={[EF]:S1,[xF]:S1,[SF]:Uc,[jF]:Kc,[J$]($){return this===$},[Y$](){return w$(this,KJ(this))},[Symbol.iterator](){return new h4(new L9(this))},pipe(){return r(this,arguments)}},M7={[Y$](){return w$(this,mY(this))},[J$]($){let Z=Object.keys(this),X=Object.keys($);if(Z.length!==X.length)return!1;for(let J of Z)if(!((J in $)&&i(this[J],$[J])))return!1;return!0}},m8={...x9,_op:d4},T3={...m8,...M7},kF=function(){function $(){}return $.prototype=m8,$}();var vF=Symbol.for("effect/Option"),yF={...x9,[vF]:{_A:($)=>$},[M$](){return this.toJSON()},toString(){return S$(this.toJSON())}},Vc=Object.assign(Object.create(yF),{_tag:"Some",_op:"Some",[J$]($){return uY($)&&M3($)&&i(this.value,$.value)},[Y$](){return w$(this,U$(s(this._tag))(s(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:k$(this.value)}}}),Qc=s("None"),Oc=Object.assign(Object.create(yF),{_tag:"None",_op:"None",[J$]($){return uY($)&&V6($)},[Y$](){return Qc},toJSON(){return{_id:"Option",_tag:this._tag}}}),uY=($)=>o($,vF),V6=($)=>$._tag==="None",M3=($)=>$._tag==="Some",Q6=Object.create(Oc),nZ=($)=>{let Z=Object.create(Vc);return Z.value=$,Z};var oY=Symbol.for("effect/Either"),gF={...x9,[oY]:{_R:($)=>$},[M$](){return this.toJSON()},toString(){return S$(this.toJSON())}},Bc=Object.assign(Object.create(gF),{_tag:"Right",_op:"Right",[J$]($){return nY($)&&rY($)&&i(this.right,$.right)},[Y$](){return U$(s(this._tag))(s(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:k$(this.right)}}}),Nc=Object.assign(Object.create(gF),{_tag:"Left",_op:"Left",[J$]($){return nY($)&&w7($)&&i(this.left,$.left)},[Y$](){return U$(s(this._tag))(s(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:k$(this.left)}}}),nY=($)=>o($,oY),w7=($)=>$._tag==="Left",rY=($)=>$._tag==="Right",_J=($)=>{let Z=Object.create(Nc);return Z.left=$,Z},PJ=($)=>{let Z=Object.create(Bc);return Z.right=$,Z},lY=($)=>rY($)?Q6:nZ($.left),iY=($)=>w7($)?Q6:nZ($.right),bF=V(2,($,Z)=>V6($)?_J(Z()):PJ($.value));var _c=oY,E$=PJ,Pc=E$(void 0);var g$=_J,Fc=V(2,($,Z)=>$==null?g$(Z($)):E$($)),w3=bF,zc=($)=>{if(b8($))try{return E$($())}catch(Z){return g$(Z)}else try{return E$($.try())}catch(Z){return g$($.catch(Z))}};var mF=nY,M0=w7,b6=rY,Tc=iY,Mc=lY,wc=({left:$,right:Z})=>g6((X,J)=>M0(X)?M0(J)&&$(X.left,J.left):b6(J)&&Z(X.right,J.right)),Cc=V(2,($,{onLeft:Z,onRight:X})=>M0($)?g$(Z($.left)):E$(X($.right))),Rc=V(2,($,Z)=>M0($)?g$(Z($.left)):E$($.right)),S9=V(2,($,Z)=>b6($)?E$(Z($.right)):g$($.left)),fF=V(2,($,{onLeft:Z,onRight:X})=>M0($)?Z($.left):X($.right)),Lc=V(3,($,Z,X)=>Z($)?E$($):g$(X($))),qc=V(3,($,Z,X)=>FJ($,(J)=>Z(J)?E$(J):g$(X(J)))),o4=fF({onLeft:T$,onRight:T$}),C3=V(2,($,Z)=>M0($)?Z($.left):$.right),Ec=C3(vY),xc=C3(HJ),R3=V(2,($,Z)=>{if(b6($))return $.right;throw Z($.left)}),Sc=R3(()=>Error("getOrThrow called on a Left")),jc=V(2,($,Z)=>M0($)?Z($.left):E$($.right)),FJ=V(2,($,Z)=>M0($)?g$($.left):Z($.right)),kc=V(2,($,Z)=>FJ($,(X)=>{let J=b8(Z)?Z(X):Z;return mF(J)?J:E$(J)})),cF=V(3,($,Z,X)=>FJ($,(J)=>S9(Z,(G)=>X(J,G)))),Ic=V(2,($,Z)=>cF($,Z,(X,J)=>X(J))),L3=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(M0(J))return J;X.push(J.right)}return E$(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(M0(J))return J;Z[X]=J.right}return E$(Z)},vc=($)=>M0($)?E$($.left):g$($.right),yc=bY(),gc=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(yc),J=X.next();while(!J.done){let G=gY(J.value)?J.value.value:m4(J.value);if(M0(G))return G;J=X.next(G.right)}return E$(J.value)},bc=E$({}),hc=O7(S9,FJ),mc=Q7(S9),fc=V7(S9);var cc=($)=>{return V6($)?E$(Q6):S9($.value,nZ)},pc=V(2,($,Z)=>V6($)?E$(Q6):S9(Z($.value),nZ));var q3=($)=>$.length>0;var Y0={};F8(Y0,{zipWith:()=>k3,zipRight:()=>Wp,zipLeft:()=>Hp,void:()=>Xp,toRefinement:()=>nc,toArray:()=>sF,tap:()=>rF,some:()=>S,reduceCompact:()=>Kp,productMany:()=>Ap,product:()=>lF,partitionMap:()=>Vp,orElseSome:()=>x3,orElseEither:()=>ac,orElse:()=>sc,none:()=>x,mergeWith:()=>h6,match:()=>f0,map:()=>E0,liftThrowable:()=>S3,liftPredicate:()=>_p,liftNullable:()=>ec,lift2:()=>Np,let:()=>Tp,isSome:()=>b$,isOption:()=>uF,isNone:()=>j$,getRight:()=>lc,getOrder:()=>Bp,getOrUndefined:()=>n0,getOrThrowWith:()=>oF,getOrThrow:()=>j3,getOrNull:()=>$p,getOrElse:()=>c0,getLeft:()=>ic,getEquivalence:()=>Op,gen:()=>Rp,fromNullable:()=>W8,fromIterable:()=>rc,flatten:()=>Yp,flatMapNullable:()=>Gp,flatMap:()=>lZ,firstSomeOf:()=>tc,filterMap:()=>aF,filter:()=>Qp,exists:()=>Fp,containsWith:()=>tF,contains:()=>I3,composeK:()=>Dp,bindTo:()=>zp,bind:()=>Mp,asVoid:()=>Zp,as:()=>nF,ap:()=>Up,andThen:()=>Jp,all:()=>iF,TypeId:()=>oc,Do:()=>wp});var zJ=($)=>(Z,X)=>Z===X?0:$(Z,X);var pF=zJ(($,Z)=>$<Z?-1:1);var sY=V(2,($,Z)=>zJ((X,J)=>$(Z(X),Z(J))));var uc=($)=>{return zJ((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 dF=(...$)=>uc($);var E3=($)=>V(2,(Z,X)=>$(Z,X)===1);var oc=Symbol.for("effect/Option"),x=()=>Q6,S=nZ,uF=uY,j$=V6,b$=M3,f0=V(2,($,{onNone:Z,onSome:X})=>j$($)?Z():X($.value)),nc=($)=>(Z)=>b$($(Z)),rc=($)=>{for(let Z of $)return S(Z);return x()},lc=iY,ic=lY,c0=V(2,($,Z)=>j$($)?Z():$.value),sc=V(2,($,Z)=>j$($)?Z():$),x3=V(2,($,Z)=>j$($)?S(Z()):$),ac=V(2,($,Z)=>j$($)?E0(Z(),PJ):E0($,_J)),tc=($)=>{let Z=x();for(Z of $)if(b$(Z))return Z;return Z},W8=($)=>$==null?x():S($),ec=($)=>(...Z)=>W8($(...Z)),$p=c0(vY),n0=c0(HJ),S3=($)=>(...Z)=>{try{return S($(...Z))}catch{return x()}},oF=V(2,($,Z)=>{if(b$($))return $.value;throw Z()}),j3=oF(()=>Error("getOrThrow called on a None")),E0=V(2,($,Z)=>j$($)?x():S(Z($.value))),nF=V(2,($,Z)=>E0($,()=>Z)),Zp=nF(void 0),Xp=S(void 0);var lZ=V(2,($,Z)=>j$($)?x():Z($.value)),Jp=V(2,($,Z)=>lZ($,(X)=>{let J=IY(Z)?Z(X):Z;return uF(J)?J:S(J)})),Gp=V(2,($,Z)=>j$($)?x():W8(Z($.value))),Yp=lZ(T$),Wp=V(2,($,Z)=>lZ($,()=>Z)),Hp=V(2,($,Z)=>rF($,()=>Z)),Dp=V(2,($,Z)=>(X)=>lZ($(X),Z)),rF=V(2,($,Z)=>lZ($,(X)=>E0(Z(X),()=>X))),lF=($,Z)=>b$($)&&b$(Z)?S([$.value,Z.value]):x(),Ap=($,Z)=>{if(j$($))return x();let X=[$.value];for(let J of Z){if(j$(J))return x();X.push(J.value)}return S(X)},iF=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(j$(J))return x();X.push(J.value)}return S(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(j$(J))return x();Z[X]=J.value}return S(Z)},k3=V(3,($,Z,X)=>E0(lF($,Z),([J,G])=>X(J,G))),Up=V(2,($,Z)=>k3($,Z,(X,J)=>X(J))),Kp=V(3,($,Z,X)=>{let J=Z;for(let G of $)if(b$(G))J=X(J,G.value);return J}),sF=($)=>j$($)?[]:[$.value],Vp=V(2,($,Z)=>{if(j$($))return[x(),x()];let X=Z($.value);return w7(X)?[S(X.left),x()]:[x(),S(X.right)]}),aF=lZ,Qp=V(2,($,Z)=>aF($,(X)=>Z(X)?nZ(X):Q6)),Op=($)=>g6((Z,X)=>j$(Z)?j$(X):j$(X)?!1:$(Z.value,X.value)),Bp=($)=>zJ((Z,X)=>b$(Z)?b$(X)?$(Z.value,X.value):1:-1),Np=($)=>V(2,(Z,X)=>k3(Z,X,$)),_p=V(2,($,Z)=>Z($)?S($):x()),tF=($)=>V(2,(Z,X)=>j$(Z)?!1:$(Z.value,X)),Pp=VJ(),I3=tF(Pp),Fp=V(2,($,Z)=>j$($)?!1:Z($.value)),zp=Q7(E0),Tp=V7(E0);var Mp=O7(E0,lZ),wp=S({}),Cp=bY(),Rp=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(Cp),J=X.next();while(!J.done){let G=gY(J.value)?J.value.value:m4(J.value);if(j$(G))return G;J=X.next(G.value)}return S(J.value)},h6=($)=>(Z,X)=>{if(j$(Z))return X;else if(j$(X))return Z;return S($(Z.value,X.value))};var eF=(...$)=>$;var tY=($)=>{let X=$[Symbol.iterator]().next();if(X.done)throw Error("unsafeHead: empty iterable");return X.value};var qp={[Symbol.iterator](){return Ep}},Ep={next(){return{done:!0,value:void 0}}},eY=()=>qp;var $z=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 TJ=($)=>Array($),v3=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 _$=($)=>Array.isArray($)?$:Array.from($),Xz=($)=>Array.isArray($)?$:[$];var C7=V(2,($,Z)=>[Z,...$]);var Jz=V(2,($,Z)=>[...$,Z]),y3=V(2,($,Z)=>_$($).concat(_$(Z)));var xp=($)=>$.length===0,Gz=xp,$W=q3,EZ=q3;var Yz=($,Z)=>$<0||$>=Z.length,Sp=($,Z)=>Math.floor(Math.min(Math.max(0,$),Z.length)),jp=V(2,($,Z)=>{let X=Math.floor(Z);return Yz(X,$)?x():S($[X])}),g3=V(2,($,Z)=>{let X=Math.floor(Z);if(Yz(X,$))throw Error(`Index ${X} out of bounds`);return $[X]});var j1=jp(0),UZ=g3(0),Wz=($)=>EZ($)?S(b3($)):x(),b3=($)=>$[$.length-1];var m6=($)=>$.slice(1);var kp=($,Z)=>{let X=0;for(let J of $){if(!Z(J,X))break;X++}return X},Hz=V(2,($,Z)=>vp($,kp($,Z))),Dz=V(2,($,Z)=>{let X=_$($);return X.slice(Sp(Z,X),X.length)});var h3=($)=>Array.from($).reverse(),H8=V(2,($,Z)=>{let X=Array.from($);return X.sort(Z),X});var m3=V(2,($,Z)=>Az($,Z,eF)),Az=V(3,($,Z,X)=>{let J=_$($),G=_$(Z);if(EZ(J)&&EZ(G)){let Y=[X(UZ(J),UZ(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 Ip=VJ();var vp=V(2,($,Z)=>{let X=Array.from($),J=Math.floor(Z);if(EZ(X)){if(J>=1)return yp(X,J);return[[],X]}return[X,[]]}),yp=V(2,($,Z)=>{let X=Math.max(1,Math.floor(Z));return X>=$.length?[gp($),[]]:[C7($.slice(1,X),UZ($)),$.slice(X)]});var gp=($)=>$.slice();var bp=V(3,($,Z,X)=>{let J=_$($),G=_$(Z);if(EZ(J)){if(EZ(G))return Vz(X)(y3(J,G));return J}return G}),O6=V(2,($,Z)=>bp($,Z,Ip));var B6=()=>[],iZ=($)=>[$],f6=V(2,($,Z)=>$.map(Z)),Uz=V(2,($,Z)=>{if(Gz($))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}),ZW=Uz(T$),R7=V(2,($,Z)=>{let X=_$($),J=[];for(let G=0;G<X.length;G++){let Y=Z(X[G],G);if(b$(Y))J.push(Y.value)}return J});var f3=V(2,($,Z)=>{let X=[],J=[],G=_$($);for(let Y=0;Y<G.length;Y++){let W=Z(G[Y],Y);if(M0(W))X.push(W.left);else J.push(W.right)}return[X,J]}),Kz=R7(T$);var k1=V(3,($,Z,X)=>_$($).reduce((J,G,Y)=>X(J,G,Y),Z)),XW=V(3,($,Z,X)=>_$($).reduceRight((J,G,Y)=>X(J,G,Y),Z));var c3=($,Z)=>{let X=[],J=$,G;while(b$(G=Z(J))){let[Y,W]=G.value;X.push(Y),J=W}return X};var L7=yY;var Vz=V(2,($,Z)=>{let X=_$($);if(EZ(X)){let J=[UZ(X)],G=m6(X);for(let Y of G)if(J.every((W)=>!Z(Y,W)))J.push(Y);return J}return[]}),p3=($)=>Vz($,VJ());var j9=V(2,($,Z)=>_$($).join(Z));var Qz=Symbol.for("effect/Chunk");function hp($,Z,X,J,G){for(let Y=Z;Y<Math.min($.length,Z+G);Y++)X[J+Y-Z]=$[Y];return X}var Oz=[],mp=($)=>g6((Z,X)=>Z.length===X.length&&f8(Z).every((J,G)=>$(J,n4(X,G)))),fp=mp(i),cp={[Qz]:{_A:($)=>$},toString(){return S$(this.toJSON())},toJSON(){return{_id:"Chunk",values:f8(this).map(k$)}},[M$](){return this.toJSON()},[J$]($){return Bz($)&&fp(this,$)},[Y$](){return w$(this,o0(f8(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return Oz[Symbol.iterator]();default:return f8(this)[Symbol.iterator]()}},pipe(){return r(this,arguments)}},GZ=($)=>{let Z=Object.create(cp);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=c6,Z.right=c6;break}case"ISingleton":{Z.length=1,Z.depth=0,Z.left=c6,Z.right=c6;break}case"ISlice":{Z.length=$.length,Z.depth=$.chunk.depth+1,Z.left=c6,Z.right=c6;break}}return Z},Bz=($)=>o($,Qz),c6=GZ({_tag:"IEmpty"}),w0=()=>c6,MJ=(...$)=>op($),x0=($)=>GZ({_tag:"ISingleton",a:$}),I1=($)=>Bz($)?$:wJ(_$($)),d3=($,Z,X)=>{switch($.backing._tag){case"IArray":{hp($.backing.array,0,Z,X,$.length);break}case"IConcat":{d3($.left,Z,X),d3($.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]=n4($,J),J+=1,G+=1;break}}};var pp=($)=>{switch($.backing._tag){case"IEmpty":return Oz;case"IArray":return $.backing.array;default:{let Z=Array($.length);return d3($,Z,0),$.backing={_tag:"IArray",array:Z},$.left=c6,$.right=c6,$.depth=0,Z}}},f8=pp,dp=($)=>{switch($.backing._tag){case"IEmpty":case"ISingleton":return $;case"IArray":return GZ({_tag:"IArray",array:h3($.backing.array)});case"IConcat":return GZ({_tag:"IConcat",left:T8($.backing.right),right:T8($.backing.left)});case"ISlice":return wJ(h3(f8($)))}},T8=dp,up=V(2,($,Z)=>Z<0||Z>=$.length?x():S(n4($,Z))),wJ=($)=>$.length===0?w0():$.length===1?x0($[0]):GZ({_tag:"IArray",array:$}),op=($)=>wJ($),n4=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?n4($.left,Z):n4($.right,Z-$.left.length);case"ISlice":return n4($.backing.chunk,Z+$.backing.offset)}}),q7=V(2,($,Z)=>z8($,x0(Z))),V0=V(2,($,Z)=>z8(x0(Z),$));var u3=V(2,($,Z)=>{if(Z<=0)return $;else if(Z>=$.length)return c6;else switch($.backing._tag){case"ISlice":return GZ({_tag:"ISlice",chunk:$.backing.chunk,offset:$.backing.offset+Z,length:$.backing.length-Z});case"IConcat":{if(Z>$.left.length)return u3($.right,Z-$.left.length);return GZ({_tag:"IConcat",left:u3($.left,Z),right:$.right})}default:return GZ({_tag:"ISlice",chunk:$,offset:Z,length:$.length-Z})}});var z8=V(2,($,Z)=>{if($.backing._tag==="IEmpty")return Z;if(Z.backing._tag==="IEmpty")return $;let X=Z.depth-$.depth;if(Math.abs(X)<=1)return GZ({_tag:"IConcat",left:$,right:Z});else if(X<-1)if($.left.depth>=$.right.depth){let J=z8($.right,Z);return GZ({_tag:"IConcat",left:$.left,right:J})}else{let J=z8($.right.right,Z);if(J.depth===$.depth-3){let G=GZ({_tag:"IConcat",left:$.right.left,right:J});return GZ({_tag:"IConcat",left:$.left,right:G})}else{let G=GZ({_tag:"IConcat",left:$.left,right:$.right.left});return GZ({_tag:"IConcat",left:G,right:J})}}else if(Z.right.depth>=Z.left.depth){let J=z8($,Z.left);return GZ({_tag:"IConcat",left:J,right:Z.right})}else{let J=z8($,Z.left.left);if(J.depth===Z.depth-3){let G=GZ({_tag:"IConcat",left:J,right:Z.left.right});return GZ({_tag:"IConcat",left:G,right:Z.right})}else{let G=GZ({_tag:"IConcat",left:Z.left.right,right:Z.right});return GZ({_tag:"IConcat",left:J,right:G})}}});var JW=($)=>$.length===0,W0=($)=>$.length>0,CJ=up(0),o3=($)=>n4($,0),y$=o3;var H0=($)=>u3($,1);var l0={};F8(l0,{unsafeMake:()=>$d,unsafeGet:()=>p8,pick:()=>Jd,omit:()=>Gd,mergeAll:()=>t3,merge:()=>d8,make:()=>D8,isTag:()=>S7,isReference:()=>Zd,isContext:()=>a3,getOrElse:()=>Xd,getOption:()=>w8,get:()=>r0,empty:()=>KZ,add:()=>s$,TagTypeId:()=>tp,Tag:()=>Yd,ReferenceTypeId:()=>ep,Reference:()=>p6,GenericTag:()=>YZ});var GW=Symbol.for("effect/Context/Tag"),E7=Symbol.for("effect/Context/Reference"),np="effect/STM",rp=Symbol.for(np),x7={...x9,_op:"Tag",[rp]:S1,[GW]:{_Service:($)=>$,_Identifier:($)=>$},toString(){return S$(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[M$](){return this.toJSON()},of($){return $},context($){return i3(this,$)}},lp={...x7,[E7]:E7},Nz=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;let J=Object.create(x7);return Object.defineProperty(J,"stack",{get(){return X.stack}}),J.key=$,J},_z=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,x7),J.key=$,Object.defineProperty(J,"stack",{get(){return X.stack}}),J},Pz=()=>($,Z)=>{let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();Error.stackTraceLimit=X;function G(){}return Object.setPrototypeOf(G,lp),G.key=$,G.defaultValue=Z.defaultValue,Object.defineProperty(G,"stack",{get(){return J.stack}}),G},r3=Symbol.for("effect/Context"),ip={[r3]:{_Services:($)=>$},[J$]($){if(l3($)){if(this.unsafeMap.size===$.unsafeMap.size){for(let Z of this.unsafeMap.keys())if(!$.unsafeMap.has(Z)||!i(this.unsafeMap.get(Z),$.unsafeMap.get(Z)))return!1;return!0}}return!1},[Y$](){return w$(this,f4(this.unsafeMap.size))},pipe(){return r(this,arguments)},toString(){return S$(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(k$)}},[M$](){return this.toJSON()}},c8=($)=>{let Z=Object.create(ip);return Z.unsafeMap=$,Z},sp=($)=>{let Z=Error(`Service not found${$.key?`: ${String($.key)}`:""}`);if($.stack){let X=$.stack.split(`
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
+ `);X.splice(1,3),Z.stack=X.join(`
5
+ `)}return Z},l3=($)=>o($,r3),Fz=($)=>o($,GW),YW=($)=>o($,E7),ap=c8(new Map),zz=()=>ap,i3=($,Z)=>c8(new Map([[$.key,Z]])),Tz=V(3,($,Z,X)=>{let J=new Map($.unsafeMap);return J.set(Z.key,X),c8(J)}),n3=N$("effect/Context/defaultValueCache",()=>new Map),WW=($)=>{if(n3.has($.key))return n3.get($.key);let Z=$.defaultValue();return n3.set($.key,Z),Z},Mz=($,Z)=>{return $.unsafeMap.has(Z.key)?$.unsafeMap.get(Z.key):WW(Z)},s3=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key)){if(E7 in Z)return WW(Z);throw sp(Z)}return $.unsafeMap.get(Z.key)}),wz=s3,Cz=V(3,($,Z,X)=>{if(!$.unsafeMap.has(Z.key))return YW(Z)?WW(Z):X();return $.unsafeMap.get(Z.key)}),Rz=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key))return YW(Z)?nZ(WW(Z)):Q6;return nZ($.unsafeMap.get(Z.key))}),Lz=V(2,($,Z)=>{let X=new Map($.unsafeMap);for(let[J,G]of Z.unsafeMap)X.set(J,G);return c8(X)}),qz=(...$)=>{let Z=new Map;for(let X=0;X<$.length;X++)$[X].unsafeMap.forEach((J,G)=>{Z.set(G,J)});return c8(Z)},Ez=(...$)=>(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 c8(J)},xz=(...$)=>(Z)=>{let X=new Map(Z.unsafeMap);for(let J of $)X.delete(J.key);return c8(X)};var tp=GW,ep=E7,YZ=Nz;var $d=c8,a3=l3,S7=Fz,Zd=YW,KZ=zz,D8=i3,s$=Tz,r0=wz,Xd=Cz,p8=s3,w8=Rz,d8=Lz,t3=qz,Jd=Ez,Gd=xz,Yd=_z,p6=Pz;var e3=Symbol.for("effect/Duration"),yz=BigInt(0),jz=BigInt(24),HW=BigInt(60),$K=BigInt(1000),kz=BigInt(1e6),Iz=BigInt(1e9),Wd=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,G0=($)=>{if(gz($))return $;else if(UJ($))return xZ($);else if(Q3($))return RJ($);else if(Array.isArray($)&&$.length===2&&$.every(UJ)){if($[0]===-1/0||$[1]===-1/0||Number.isNaN($[0])||Number.isNaN($[1]))return U8;if($[0]===1/0||$[1]===1/0)return Ud;return RJ(BigInt(Math.round($[0]*1e9))+BigInt(Math.round($[1])))}else if(AJ($)){let Z=Wd.exec($);if(Z){let[X,J,G]=Z,Y=Number(J);switch(G){case"nano":case"nanos":return RJ(BigInt(J));case"micro":case"micros":return Kd(BigInt(J));case"milli":case"millis":return xZ(Y);case"second":case"seconds":return ZK(Y);case"minute":case"minutes":return Vd(Y);case"hour":case"hours":return Qd(Y);case"day":case"days":return Od(Y);case"week":case"weeks":return Bd(Y)}}}throw Error("Invalid DurationInput")};var vz={_tag:"Millis",millis:0},Hd={_tag:"Infinity"},Dd={[e3]:e3,[Y$](){return w$(this,mY(this.value))},[J$]($){return gz($)&&Fd(this,$)},toString(){return`Duration(${GK(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:_d(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},A8=($)=>{let Z=Object.create(Dd);if(UJ($))if(isNaN($)||$<=0)Z.value=vz;else if(!Number.isFinite($))Z.value=Hd;else if(!Number.isInteger($))Z.value={_tag:"Nanos",nanos:BigInt(Math.round($*1e6))};else Z.value={_tag:"Millis",millis:$};else if($<=yz)Z.value=vz;else Z.value={_tag:"Nanos",nanos:$};return Z},gz=($)=>o($,e3);var Ad=($)=>{switch($.value._tag){case"Millis":return $.value.millis===0;case"Nanos":return $.value.nanos===yz;case"Infinity":return!1}},U8=A8(0),Ud=A8(1/0),RJ=($)=>A8($),Kd=($)=>A8($*$K),xZ=($)=>A8($),ZK=($)=>A8($*1000),Vd=($)=>A8($*60000),Qd=($)=>A8($*3600000),Od=($)=>A8($*86400000),Bd=($)=>A8($*604800000),TZ=($)=>bz($,{onMillis:(Z)=>Z,onNanos:(Z)=>Number(Z)/1e6});var Nd=($)=>{let Z=G0($);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))}},_d=($)=>{let Z=G0($);switch(Z.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(Z.value.nanos/Iz),Number(Z.value.nanos%Iz)];case"Millis":return[Math.floor(Z.value.millis/1000),Math.round(Z.value.millis%1000*1e6)]}},bz=V(2,($,Z)=>{let X=G0($);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)}}),LJ=V(3,($,Z,X)=>{let J=G0($),G=G0(Z);if(J.value._tag==="Infinity"||G.value._tag==="Infinity")return X.onMillis(TZ(J),TZ(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 Pd=($,Z)=>LJ($,Z,{onMillis:(X,J)=>X===J,onNanos:(X,J)=>X===J});var XK=V(2,($,Z)=>bz($,{onMillis:(X)=>A8(X*Z),onNanos:(X)=>A8(X*BigInt(Z))}));var JK=V(2,($,Z)=>LJ($,Z,{onMillis:(X,J)=>A8(X+J),onNanos:(X,J)=>A8(X+J)})),hz=V(2,($,Z)=>LJ($,Z,{onMillis:(X,J)=>X<J,onNanos:(X,J)=>X<J})),mz=V(2,($,Z)=>LJ($,Z,{onMillis:(X,J)=>X<=J,onNanos:(X,J)=>X<=J}));var DW=V(2,($,Z)=>LJ($,Z,{onMillis:(X,J)=>X>=J,onNanos:(X,J)=>X>=J})),Fd=V(2,($,Z)=>Pd(G0($),G0(Z))),zd=($)=>{let Z=G0($);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=Nd(Z),J=X/kz,G=J/$K,Y=G/HW,W=Y/HW,H=W/jz;return{days:Number(H),hours:Number(W%jz),minutes:Number(Y%HW),seconds:Number(G%HW),millis:Number(J%$K),nanos:Number(X%kz)}},GK=($)=>{let Z=G0($);if(Z.value._tag==="Infinity")return"Infinity";if(Ad(Z))return"0";let X=zd(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 v1=5,YK=Math.pow(2,5),fz=YK-1,cz=YK/2,pz=YK/4;function Td($){return $-=$>>1&1431655765,$=($&858993459)+($>>2&858993459),$=$+($>>4)&252645135,$+=$>>8,$+=$>>16,$&127}function y1($,Z){return Z>>>$&fz}function g1($){return 1<<$}function AW($,Z){return Td($&Z-1)}var dz=($,Z)=>({value:$,previous:Z});function r4($,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 WK($,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 uz($,Z,X,J){let G=J.length;if($){let A=G;while(A>=Z)J[A--]=J[A];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 k9{_tag="EmptyNode";modify($,Z,X,J,G,Y){let W=X(x());if(j$(W))return new k9;return++Y.value,new l4($,J,G,W)}}function u8($){return x1($,"EmptyNode")}function wd($){return u8($)||$._tag==="LeafNode"||$._tag==="CollisionNode"}function UW($,Z){return u8($)?!1:Z===$.edit}class l4{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(i(G,this.key)){let H=X(this.value);if(H===this.value)return this;else if(j$(H))return--Y.value,new k9;if(UW(this,$))return this.value=H,this;return new l4($,J,G,H)}let W=X(x());if(j$(W))return this;return++Y.value,oz($,Z,this.hash,this,J,new l4($,J,G,W))}}class HK{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=UW(this,$),A=this.updateCollisionList(H,$,this.hash,this.children,X,G,Y);if(A===this.children)return this;return A.length>1?new HK($,this.hash,A):A[0]}let W=X(x());if(j$(W))return this;return++Y.value,oz($,Z,this.hash,this,J,new l4($,J,G,W))}updateCollisionList($,Z,X,J,G,Y,W){let H=J.length;for(let K=0;K<H;++K){let Q=J[K];if("key"in Q&&i(Y,Q.key)){let O=Q.value,_=G(O);if(_===O)return J;if(j$(_))return--W.value,WK($,K,J);return r4($,K,new l4(Z,X,Y,_),J)}}let A=G(x());if(j$(A))return J;return++W.value,r4($,H,new l4(Z,X,Y,A),J)}}class j7{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,A=y1(Z,J),K=g1(A),Q=AW(W,K),O=W&K,_=UW(this,$);if(!O){let V$=new k9().modify($,Z+v1,X,J,G,Y);if(!V$)return this;return H.length>=cz?Rd($,A,V$,W,H):new j7($,W|K,uz(_,Q,V$,H))}let F=H[Q],M=F.modify($,Z+v1,X,J,G,Y);if(F===M)return this;let C=W,m;if(u8(M)){if(C&=~K,!C)return new k9;if(H.length<=2&&wd(H[Q^1]))return H[Q^1];m=WK(_,Q,H)}else m=r4(_,Q,M,H);if(_)return this.mask=C,this.children=m,this;return new j7($,C,m)}}class DK{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,A=y1(Z,J),K=H[A],Q=(K||new k9).modify($,Z+v1,X,J,G,Y);if(K===Q)return this;let O=UW(this,$),_;if(u8(K)&&!u8(Q))++W,_=r4(O,A,Q,H);else if(!u8(K)&&u8(Q)){if(--W,W<=pz)return Cd($,W,A,H);_=r4(O,A,new k9,H)}else _=r4(O,A,Q,H);if(O)return this.size=W,this.children=_,this;return new DK($,W,_)}}function Cd($,Z,X,J){let G=Array(Z-1),Y=0,W=0;for(let H=0,A=J.length;H<A;++H)if(H!==X){let K=J[H];if(K&&!u8(K))G[Y++]=K,W|=1<<H}return new j7($,W,G)}function Rd($,Z,X,J,G){let Y=[],W=J,H=0;for(let A=0;W;++A){if(W&1)Y[A]=G[H++];W>>>=1}return Y[Z]=X,new DK($,H+1,Y)}function Ld($,Z,X,J,G,Y){if(X===G)return new HK($,X,[Y,J]);let W=y1(Z,X),H=y1(Z,G);if(W===H)return(A)=>new j7($,g1(W)|g1(H),[A]);else{let A=W<H?[J,Y]:[Y,J];return new j7($,g1(W)|g1(H),A)}}function oz($,Z,X,J,G,Y){let W=void 0,H=Z;while(!0){let A=Ld($,H,X,J,G,Y);if(typeof A==="function")W=dz(A,W),H=H+v1;else{let K=A;while(W!=null)K=W.value(K),W=W.previous;return K}}}var nz="effect/HashMap",KW=Symbol.for(nz),Ed={[KW]:KW,[Symbol.iterator](){return new QW(this,($,Z)=>[$,Z])},[Y$](){let $=s(nz);for(let Z of this)$^=P(s(Z[0]),U$(s(Z[1])));return w$(this,$)},[J$]($){if(sz($)){if($._size!==this._size)return!1;for(let Z of this){let X=P($,OW(Z[0],s(Z[0])));if(j$(X))return!1;else if(!i(Z[1],X.value))return!1}return!0}return!1},toString(){return S$(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(k$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},AK=($,Z,X,J)=>{let G=Object.create(Ed);return G._editable=$,G._edit=Z,G._root=X,G._size=J,G};class QW{map;f;v;constructor($,Z){this.map=$,this.f=Z,this.v=rz(this.map._root,this.f,void 0)}next(){if(j$(this.v))return{done:!0,value:void 0};let $=this.v.value;return this.v=VW($.cont),{done:!1,value:$.value}}[Symbol.iterator](){return new QW(this.map,this.f)}}var VW=($)=>$?lz($[0],$[1],$[2],$[3],$[4]):x(),rz=($,Z,X=void 0)=>{switch($._tag){case"LeafNode":{if(b$($.value))return S({value:Z($.key,$.value.value),cont:X});return VW(X)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let J=$.children;return lz(J.length,J,0,Z,X)}default:return VW(X)}},lz=($,Z,X,J,G)=>{while(X<$){let Y=Z[X++];if(Y&&!u8(Y))return rz(Y,J,[$,Z,X,J,G])}return VW(G)},xd=AK(!1,0,new k9,0),k7=()=>xd;var iz=($)=>{let Z=EJ(k7());for(let X of $)i4(Z,X[0],X[1]);return KK(Z)},sz=($)=>o($,KW),az=($)=>$&&u8($._root),tz=V(2,($,Z)=>OW($,Z,s(Z))),OW=V(3,($,Z,X)=>{let J=$._root,G=0;while(!0)switch(J._tag){case"LeafNode":return i(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 A=Y[W];if("key"in A&&i(Z,A.key))return A.value}}return x()}case"IndexedNode":{let Y=y1(G,X),W=g1(Y);if(J.mask&W){J=J.children[AW(J.mask,W)],G+=v1;break}return x()}case"ArrayNode":{if(J=J.children[y1(G,X)],J){G+=v1;break}return x()}default:return x()}});var UK=V(2,($,Z)=>b$(OW($,Z,s(Z))));var i4=V(3,($,Z,X)=>NW($,Z,()=>S(X))),Sd=V(3,($,Z,X)=>{if($._editable)return $._root=Z,$._size=X,$;return Z===$._root?$:AK($._editable,$._edit,Z,X)}),BW=($)=>new QW($,(Z)=>Z);var qJ=($)=>$._size;var EJ=($)=>AK(!0,$._edit+1,$._root,$._size),KK=($)=>{return $._editable=!1,$},ez=V(2,($,Z)=>{let X=EJ($);return Z(X),KK(X)}),NW=V(3,($,Z,X)=>$T($,Z,s(Z),X)),$T=V(4,($,Z,X,J)=>{let G={value:$._size},Y=$._root.modify($._editable?$._edit:NaN,0,J,X,Z,G);return P($,Sd(Y,G.value))});var _W=V(2,($,Z)=>NW($,Z,x));var ZT=V(2,($,Z)=>I7($,k7(),(X,J,G)=>i4(X,G,Z(J,G))));var PW=V(2,($,Z)=>I7($,void 0,(X,J,G)=>Z(J,G))),I7=V(3,($,Z,X)=>{let J=$._root;if(J._tag==="LeafNode")return b$(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 A=Y[W++];if(A&&!u8(A))if(A._tag==="LeafNode"){if(b$(A.value))Z=X(Z,A.value.value,A.key)}else G.push(A.children)}return Z});var JT="effect/HashSet",FW=Symbol.for(JT),jd={[FW]:FW,[Symbol.iterator](){return BW(this._keyMap)},[Y$](){return w$(this,U$(s(this._keyMap))(s(JT)))},[J$]($){if(GT($))return qJ(this._keyMap)===qJ($._keyMap)&&i(this._keyMap,$._keyMap);return!1},toString(){return S$(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(k$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},zW=($)=>{let Z=Object.create(jd);return Z._keyMap=$,Z},GT=($)=>o($,FW),kd=zW(k7()),s4=()=>kd,YT=($)=>{let Z=MW(s4());for(let X of $)b1(Z,X);return wW(Z)},WT=(...$)=>{let Z=MW(s4());for(let X of $)b1(Z,X);return wW(Z)},TW=V(2,($,Z)=>UK($._keyMap,Z)),HT=V(2,($,Z)=>{let X=!1;for(let J of $)if(X=Z(J),X)break;return X}),DT=V(2,($,Z)=>!HT($,(X)=>!Z(X)));var AT=($)=>qJ($._keyMap),MW=($)=>zW(EJ($._keyMap)),wW=($)=>{return $._keyMap._editable=!1,$},xJ=V(2,($,Z)=>{let X=MW($);return Z(X),wW(X)}),b1=V(2,($,Z)=>$._keyMap._editable?(i4(Z,!0)($._keyMap),$):zW(i4(Z,!0)($._keyMap))),VK=V(2,($,Z)=>$._keyMap._editable?(_W(Z)($._keyMap),$):zW(_W(Z)($._keyMap))),UT=V(2,($,Z)=>xJ($,(X)=>{for(let J of Z)VK(X,J)}));var KT=V(2,($,Z)=>xJ(s4(),(X)=>{CW($,(J)=>b1(X,J));for(let J of Z)b1(X,J)}));var VT=V(2,($,Z)=>xJ(s4(),(X)=>{CW($,(J)=>{let G=Z(J);if(!TW(X,G))b1(X,G)})})),QT=V(2,($,Z)=>xJ(s4(),(X)=>{CW($,(J)=>{for(let G of Z(J))if(!TW(X,G))b1(X,G)})})),CW=V(2,($,Z)=>PW($._keyMap,(X,J)=>Z(J))),OT=V(3,($,Z,X)=>I7($._keyMap,Z,(J,G,Y)=>X(J,Y)));var o8=s4,RW=YT,N6=WT,v7=TW;var BT=DT;var I9=AT;var a4=b1,QK=VK,OK=UT;var u6=KT;var BK=VT,NK=QT;var t4=OT;var NT=Symbol.for("effect/MutableRef"),vd={[NT]:NT,toString(){return S$(this.toJSON())},toJSON(){return{_id:"MutableRef",current:k$(this.current)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},o6=($)=>{let Z=Object.create(vd);return Z.current=$,Z},LW=V(3,($,Z,X)=>{if(i(Z,$.current))return $.current=X,!0;return!1});var n6=($)=>$.current;var v9=V(2,($,Z)=>{return $.current=Z,$});var SW="effect/FiberId",h1=Symbol.for(SW),m1="None",qW="Runtime",EW="Composite",yd=f$(`${SW}-${m1}`);class PT{[h1]=h1;_tag=m1;id=-1;startTimeMillis=-1;[Y$](){return yd}[J$]($){return kW($)&&$._tag===m1}toString(){return S$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[M$](){return this.toJSON()}}class _K{id;startTimeMillis;[h1]=h1;_tag=qW;constructor($,Z){this.id=$,this.startTimeMillis=Z}[Y$](){return w$(this,f$(`${SW}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[J$]($){return kW($)&&$._tag===qW&&this.id===$.id&&this.startTimeMillis===$.startTimeMillis}toString(){return S$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,id:this.id,startTimeMillis:this.startTimeMillis}}[M$](){return this.toJSON()}}class FT{left;right;[h1]=h1;_tag=EW;constructor($,Z){this.left=$,this.right=Z}_hash;[Y$](){return P(f$(`${SW}-${this._tag}`),U$(s(this.left)),U$(s(this.right)),w$(this))}[J$]($){return kW($)&&$._tag===EW&&i(this.left,$.left)&&i(this.right,$.right)}toString(){return S$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,left:k$(this.left),right:k$(this.right)}}[M$](){return this.toJSON()}}var jW=new PT;var kW=($)=>o($,h1),PK=($)=>{return $._tag===m1||P(xW($),BT((Z)=>PK(Z)))};var zT=V(2,($,Z)=>{if($._tag===m1)return Z;if(Z._tag===m1)return $;return new FT($,Z)});var TT=V(2,($,Z)=>PK($)?Z:$),jJ=($)=>{switch($._tag){case m1:return o8();case qW:return N6($.id);case EW:return P(jJ($.left),u6(jJ($.right)))}},_T=N$(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>o6(0)),MT=($,Z)=>{return new _K($,Z)},IW=($)=>{return Array.from(jJ($)).map((X)=>`#${X}`).join(",")};var xW=($)=>{switch($._tag){case m1:return o8();case qW:return N6($);case EW:return P(xW($.left),u6(xW($.right)))}},wT=()=>{let $=n6(_T);return P(_T,v9($+1)),new _K($,Date.now())};var p0=jW;var K8=zT;var vW=TT,f1=jJ,yW=MT,RT=IW;var gW=wT;var e4=k7;var LT=iz,qT=az,FK=tz;var SZ=i4,zK=BW;var ET=ez,xT=NW;var ST=ZT;var jT=PW,TK=I7;var kJ=Symbol.for("effect/List"),MK=($)=>_$($),gd=($)=>PF(L7($),MK),bd=gd(i),hd={[kJ]:kJ,_tag:"Cons",toString(){return S$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:MK(this).map(k$)}},[M$](){return this.toJSON()},[J$]($){return IT($)&&this._tag===$._tag&&bd(this,$)},[Y$](){return w$(this,o0(MK(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 r(this,arguments)}},bW=($,Z)=>{let X=Object.create(hd);return X.head=$,X.tail=Z,X},md=f$("Nil"),fd={[kJ]:kJ,_tag:"Nil",toString(){return S$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[M$](){return this.toJSON()},[Y$](){return md},[J$]($){return IT($)&&this._tag===$._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return r(this,arguments)}},kT=Object.create(fd),IT=($)=>o($,kJ),r6=($)=>$._tag==="Nil",wK=($)=>$._tag==="Cons";var cd=()=>kT,y9=($,Z)=>bW($,Z),l6=cd,IJ=($)=>bW($,kT);var vT=V(2,($,Z)=>pd(Z,$)),hW=V(2,($,Z)=>y9(Z,$)),pd=V(2,($,Z)=>{if(r6($))return Z;else if(r6(Z))return $;else{let X=bW(Z.head,$),J=X,G=Z.tail;while(!r6(G)){let Y=bW(G.head,$);J.tail=Y,J=Y,G=G.tail}return X}});var yT=V(3,($,Z,X)=>{let J=Z,G=$;while(!r6(G))J=X(J,G.head),G=G.tail;return J});var gT=($)=>{let Z=l6(),X=$;while(!r6(X))Z=hW(Z,X.head),X=X.tail;return Z};var bW$=Object.assign(Object.create(Array.prototype),{[Y$](){return w$(this,o0(this))},[J$]($){if(Array.isArray($)&&this.length===$.length)return this.every((Z,X)=>i(Z,$[X]));else return!1}}),g7=function(){function $(Z){if(Z)Object.assign(this,Z)}return $.prototype=M7,$}(),fW=($)=>Object.assign(Object.create(M7),$);var dd=Symbol.for("effect/DifferContextPatch");function hT($){return $}var yJ={...g7.prototype,[dd]:{_Value:hT,_Patch:hT}},ud=Object.assign(Object.create(yJ),{_tag:"Empty"}),od=Object.create(ud),CK=()=>od,nd=Object.assign(Object.create(yJ),{_tag:"AndThen"}),rd=($,Z)=>{let X=Object.create(nd);return X.first=$,X.second=Z,X},ld=Object.assign(Object.create(yJ),{_tag:"AddService"}),id=($,Z)=>{let X=Object.create(ld);return X.key=$,X.service=Z,X},sd=Object.assign(Object.create(yJ),{_tag:"RemoveService"}),ad=($)=>{let Z=Object.create(sd);return Z.key=$,Z},td=Object.assign(Object.create(yJ),{_tag:"UpdateService"}),ed=($,Z)=>{let X=Object.create(td);return X.key=$,X.update=Z,X},mT=($,Z)=>{let X=new Map($.unsafeMap),J=CK();for(let[G,Y]of Z.unsafeMap.entries())if(X.has(G)){let W=X.get(G);if(X.delete(G),!i(W,Y))J=vJ(ed(G,()=>Y))(J)}else X.delete(G),J=vJ(id(G,Y))(J);for(let[G]of X.entries())J=vJ(ad(G))(J);return J},vJ=V(2,($,Z)=>rd($,Z)),fT=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=!1,J=x0($),G=new Map(Z.unsafeMap);while(W0(J)){let W=y$(J),H=H0(J);switch(W._tag){case"Empty":{J=H;break}case"AddService":{G.set(W.key,W.service),J=H;break}case"AndThen":{J=V0(V0(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 c8(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 c8(Y)});var Zu=Symbol.for("effect/DifferHashSetPatch");function RK($){return $}var pW={...g7.prototype,[Zu]:{_Value:RK,_Key:RK,_Patch:RK}},Xu=Object.assign(Object.create(pW),{_tag:"Empty"}),Ju=Object.create(Xu),LK=()=>Ju,Gu=Object.assign(Object.create(pW),{_tag:"AndThen"}),Yu=($,Z)=>{let X=Object.create(Gu);return X.first=$,X.second=Z,X},Wu=Object.assign(Object.create(pW),{_tag:"Add"}),Hu=($)=>{let Z=Object.create(Wu);return Z.value=$,Z},Du=Object.assign(Object.create(pW),{_tag:"Remove"}),Au=($)=>{let Z=Object.create(Du);return Z.value=$,Z},cT=($,Z)=>{let[X,J]=t4([$,LK()],([G,Y],W)=>{if(v7(W)(G))return[QK(W)(G),Y];return[G,cW(Hu(W))(Y)]})(Z);return t4(J,(G,Y)=>cW(Au(Y))(G))(X)},cW=V(2,($,Z)=>Yu($,Z)),pT=V(2,($,Z)=>{if($._tag==="Empty")return Z;let X=Z,J=x0($);while(W0(J)){let G=y$(J),Y=H0(J);switch(G._tag){case"Empty":{J=Y;break}case"AndThen":{J=V0(G.first)(V0(G.second)(Y));break}case"Add":{X=a4(G.value)(X),J=Y;break}case"Remove":X=QK(G.value)(X),J=Y}}return X});var Ku=Symbol.for("effect/DifferReadonlyArrayPatch");function dT($){return $}var bJ={...g7.prototype,[Ku]:{_Value:dT,_Patch:dT}},Vu=Object.assign(Object.create(bJ),{_tag:"Empty"}),Qu=Object.create(Vu),qK=()=>Qu,Ou=Object.assign(Object.create(bJ),{_tag:"AndThen"}),Bu=($,Z)=>{let X=Object.create(Ou);return X.first=$,X.second=Z,X},Nu=Object.assign(Object.create(bJ),{_tag:"Append"}),_u=($)=>{let Z=Object.create(Nu);return Z.values=$,Z},Pu=Object.assign(Object.create(bJ),{_tag:"Slice"}),Fu=($,Z)=>{let X=Object.create(Pu);return X.from=$,X.until=Z,X},zu=Object.assign(Object.create(bJ),{_tag:"Update"}),Tu=($,Z)=>{let X=Object.create(zu);return X.index=$,X.patch=Z,X},uT=($)=>{let Z=0,X=qK();while(Z<$.oldValue.length&&Z<$.newValue.length){let J=$.oldValue[Z],G=$.newValue[Z],Y=$.differ.diff(J,G);if(!i(Y,$.differ.empty))X=gJ(X,Tu(Z,Y));Z=Z+1}if(Z<$.oldValue.length)X=gJ(X,Fu(0,Z));if(Z<$.newValue.length)X=gJ(X,_u(Dz(Z)($.newValue)));return X},gJ=V(2,($,Z)=>Bu($,Z)),oT=V(3,($,Z,X)=>{if($._tag==="Empty")return Z;let J=Z.slice(),G=iZ($);while($W(G)){let Y=UZ(G),W=m6(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 nT=Symbol.for("effect/Differ"),wu={[nT]:{_P:T$,_V:T$},pipe(){return r(this,arguments)}},p1=($)=>{let Z=Object.create(wu);return Z.empty=$.empty,Z.diff=$.diff,Z.combine=$.combine,Z.patch=$.patch,Z},EK=()=>p1({empty:CK(),combine:($,Z)=>vJ(Z)($),diff:($,Z)=>mT($,Z),patch:($,Z)=>fT(Z)($)});var xK=()=>p1({empty:LK(),combine:($,Z)=>cW(Z)($),diff:($,Z)=>cT($,Z),patch:($,Z)=>pT(Z)($)});var SK=($)=>p1({empty:qK(),combine:(Z,X)=>gJ(Z,X),diff:(Z,X)=>uT({oldValue:Z,newValue:X,differ:$}),patch:(Z,X)=>oT(Z,X,$)});var dW=()=>rT(($,Z)=>Z),rT=($)=>p1({empty:T$,combine:(Z,X)=>{if(Z===T$)return X;if(X===T$)return Z;return(J)=>X(Z(J))},diff:(Z,X)=>{if(i(Z,X))return T$;return U7(X)},patch:(Z,X)=>$(X,Z(X))});var hJ=255,lT=8,uW=($)=>$&hJ,oW=($)=>$>>lT&hJ,$5=($,Z)=>($&hJ)+((Z&$&hJ)<<lT),nW=$5(0,0),iT=($)=>$5($,$),sT=($)=>$5($,0);var aT=V(2,($,Z)=>$5(uW($)&~Z,oW($)));var kK=V(2,($,Z)=>$|Z);var tT=($)=>~$>>>0&hJ;var Cu=0,P6=1,$M=2,IK=4,rW=16,vK=32;var ZM=($)=>lW($,vK),yK=V(2,($,Z)=>$&~Z);var gK=V(2,($,Z)=>$|Z);var F6=($)=>mJ($)&&!Ru($),mJ=($)=>lW($,P6);var lW=V(2,($,Z)=>($&Z)!==0),bK=(...$)=>$.reduce((Z,X)=>Z|X,0),XM=bK(Cu);var hK=($)=>lW($,IK);var Ru=($)=>lW($,rW);var n8=V(2,($,Z)=>$5($^Z,Z)),g9=V(2,($,Z)=>$&(tT(uW(Z))|oW(Z))|uW(Z)&oW(Z));var mK=p1({empty:nW,diff:($,Z)=>n8($,Z),combine:($,Z)=>kK(Z)($),patch:($,Z)=>g9(Z,$)});var JM=nW;var fK=iT,cK=sT;var pK=aT;var YM={_tag:"Empty"},uK=($,Z)=>({_tag:"Par",left:$,right:Z}),iW=($,Z)=>({_tag:"Seq",left:$,right:Z}),oK=($,Z)=>({_tag:"Single",dataSource:$,blockedRequest:Z});var WM=($)=>{let Z=IJ($),X=l6();while(!0){let[J,G]=yT(Z,[DM(),l6()],([Y,W],H)=>{let[A,K]=Lu(H);return[Iu(Y,A),vT(W,K)]});if(X=qu(X,J),r6(G))return gT(X);Z=G}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},Lu=($)=>{let Z=$,X=DM(),J=l6(),G=l6();while(!0)switch(Z._tag){case"Empty":{if(r6(J))return[X,G];Z=J.head,J=J.tail;break}case"Par":{J=y9(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:A}=Y;Z=uK(iW(H,W),iW(A,W));break}case"Seq":{let{left:H,right:A}=Y;Z=iW(H,iW(A,W));break}case"Single":{Z=Y,G=y9(W,G);break}}break}case"Single":{if(X=ku(X,Z),r6(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")},qu=($,Z)=>{if(r6($))return IJ(dK(Z));if(vu(Z))return $;let X=fu($.head),J=yu(Z);if(X.length===1&&J.length===1&&i(X[0],J[0]))return y9(mu($.head,dK(Z)),$.tail);return y9(dK(Z),$)},Eu=Symbol.for("effect/RequestBlock/Entry");class HM{request;result;listeners;ownerId;state;[Eu]=xu;constructor($,Z,X,J,G){this.request=$,this.result=Z,this.listeners=X,this.ownerId=J,this.state=G}}var xu={_R:($)=>$};var nK=($)=>new HM($.request,$.result,$.listeners,$.ownerId,$.state),Su=Symbol.for("effect/RequestBlock/RequestBlockParallel"),ju={_R:($)=>$};class sW{map;[Su]=ju;constructor($){this.map=$}}var DM=()=>new sW(e4());var ku=($,Z)=>new sW(xT($.map,Z.dataSource,(X)=>x3(E0(X,q7(Z.blockedRequest)),()=>x0(Z.blockedRequest)))),Iu=($,Z)=>new sW(TK($.map,Z.map,(X,J,G)=>SZ(X,G,f0(FK(X,G),{onNone:()=>J,onSome:(Y)=>z8(J,Y)})))),vu=($)=>qT($.map),yu=($)=>Array.from(zK($.map)),dK=($)=>hu(ST($.map,(Z)=>x0(Z))),gu=Symbol.for("effect/RequestBlock/RequestBlockSequential"),bu={_R:($)=>$};class rK{map;[gu]=bu;constructor($){this.map=$}}var hu=($)=>new rK($),mu=($,Z)=>new rK(TK(Z.map,$.map,(X,J,G)=>SZ(X,G,f0(FK(X,G),{onNone:()=>w0(),onSome:(Y)=>z8(Y,J)}))));var fu=($)=>Array.from(zK($.map)),AM=($)=>Array.from($.map);var d1="Die",b9="Empty",u1="Fail",o1="Interrupt",n1="Parallel",r1="Sequential";var QM="effect/Cause",aW=Symbol.for(QM),pu={_E:($)=>$},m7={[aW]:pu,[Y$](){return P(s(QM),U$(s(du(this))),w$(this))},[J$]($){return fJ($)&&xM(this,$)},pipe(){return r(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:k$(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:k$(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:k$(this.left),right:k$(this.right)}}},toString(){return T6(this)},[M$](){return this.toJSON()}},d0=(()=>{let $=Object.create(m7);return $._tag=b9,$})(),V8=($)=>{let Z=Object.create(m7);return Z._tag=u1,Z.error=$,Z},N0=($)=>{let Z=Object.create(m7);return Z._tag=d1,Z.defect=$,Z},VZ=($)=>{let Z=Object.create(m7);return Z._tag=o1,Z.fiberId=$,Z},_0=($,Z)=>{let X=Object.create(m7);return X._tag=n1,X.left=$,X.right=Z,X},a$=($,Z)=>{let X=Object.create(m7);return X._tag=r1,X.left=$,X.right=Z,X},fJ=($)=>o($,aW),tW=($)=>$._tag===b9,OM=($)=>$._tag===u1,X5=($)=>$._tag===d1,BM=($)=>$._tag===o1,NM=($)=>$._tag===r1,_M=($)=>$._tag===n1,PM=($)=>Y5($,void 0,ou),cJ=($)=>{if($._tag===b9)return!0;return h9($,!0,(Z,X)=>{switch(X._tag){case b9:return S(Z);case d1:case u1:case o1:return S(!1);default:return x()}})},FM=($)=>b$(d7($)),zM=($)=>b$(sK($)),f7=($)=>b$(aK($)),J5=($)=>Y5(void 0,nu)($),c7=($)=>T8(h9($,w0(),(Z,X)=>X._tag===u1?S(P(Z,V0(X.error))):x())),p7=($)=>T8(h9($,w0(),(Z,X)=>X._tag===d1?S(P(Z,V0(X.defect))):x())),G5=($)=>h9($,o8(),(Z,X)=>X._tag===o1?S(P(Z,a4(X.fiberId))):x()),d7=($)=>i6($,(Z)=>Z._tag===u1?S(Z.error):x()),z6=($)=>{let Z=d7($);switch(Z._tag){case"None":return E$($);case"Some":return g$(Z.value)}},sK=($)=>i6($,(Z)=>Z._tag===d1?S(Z.defect):x()),TM=($)=>s6($,{onEmpty:S(d0),onFail:E0(V8),onDie:(Z)=>S(N0(Z)),onInterrupt:(Z)=>S(VZ(Z)),onSequential:h6(a$),onParallel:h6(_0)}),aK=($)=>i6($,(Z)=>Z._tag===o1?S(Z.fiberId):x()),eW=($)=>s6($,{onEmpty:x(),onFail:()=>x(),onDie:(Z)=>S(N0(Z)),onInterrupt:()=>x(),onSequential:h6(a$),onParallel:h6(_0)}),MM=($)=>s6($,{onEmpty:x(),onFail:(Z)=>S(N0(Z)),onDie:(Z)=>S(N0(Z)),onInterrupt:()=>x(),onSequential:h6(a$),onParallel:h6(_0)}),wM=($)=>s6($,{onEmpty:o8(),onFail:(Z)=>N6(V8(Z)),onDie:(Z)=>N6(N0(Z)),onInterrupt:(Z)=>N6(VZ(Z)),onSequential:(Z,X)=>NK(Z,(J)=>BK(X,(G)=>a$(J,G))),onParallel:(Z,X)=>NK(Z,(J)=>BK(X,(G)=>_0(J,G)))}),pJ=($)=>s6($,{onEmpty:d0,onFail:()=>d0,onDie:N0,onInterrupt:VZ,onSequential:a$,onParallel:_0}),CM=($)=>s6($,{onEmpty:d0,onFail:N0,onDie:N0,onInterrupt:VZ,onSequential:a$,onParallel:_0}),RM=V(2,($,Z)=>s6($,{onEmpty:S(d0),onFail:(X)=>S(V8(X)),onDie:(X)=>{let J=Z(X);return b$(J)?x():S(N0(X))},onInterrupt:(X)=>S(VZ(X)),onSequential:h6(a$),onParallel:h6(_0)})),LM=V(2,($,Z)=>u7($,()=>Z)),u7=V(2,($,Z)=>h7($,(X)=>V8(Z(X)))),h7=V(2,($,Z)=>s6($,{onEmpty:d0,onFail:(X)=>Z(X),onDie:(X)=>N0(X),onInterrupt:(X)=>VZ(X),onSequential:(X,J)=>a$(X,J),onParallel:(X,J)=>_0(X,J)})),$H=($)=>h7($,T$),qM=V(2,($,Z)=>b8(Z)?h7($,Z):h7($,()=>Z)),EM=V(2,($,Z)=>{if(Z._tag===b9||$===Z)return!0;return h9($,!1,(X,J)=>{return S(X||xM(J,Z))})}),xM=($,Z)=>{let X=x0($),J=x0(Z);while(W0(X)&&W0(J)){let[G,Y]=P(y$(X),h9([o8(),w0()],([A,K],Q)=>{let[O,_]=lK(Q);return S([P(A,u6(O)),P(K,z8(_))])})),[W,H]=P(y$(J),h9([o8(),w0()],([A,K],Q)=>{let[O,_]=lK(Q);return S([P(A,u6(O)),P(K,z8(_))])}));if(!i(G,W))return!1;X=Y,J=H}return!0},du=($)=>{return uu(x0($),w0())},uu=($,Z)=>{while(!0){let[X,J]=P($,k1([o8(),w0()],([Y,W],H)=>{let[A,K]=lK(H);return[P(Y,u6(A)),P(W,z8(K))]})),G=I9(X)>0?P(Z,V0(X)):Z;if(JW(J))return T8(G);$=J,Z=G}throw Error(R9("Cause.flattenCauseLoop"))},i6=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 r1:case n1:{X.push(J.right),X.push(J.left);break}}break}case"Some":return G}}return x()}),SM=V(2,($,Z)=>Y5($,void 0,ru(Z))),lK=($)=>{let Z=$,X=[],J=o8(),G=w0();while(Z!==void 0)switch(Z._tag){case b9:{if(X.length===0)return[J,G];Z=X.pop();break}case u1:{if(J=a4(J,MJ(Z._tag,Z.error)),X.length===0)return[J,G];Z=X.pop();break}case d1:{if(J=a4(J,MJ(Z._tag,Z.defect)),X.length===0)return[J,G];Z=X.pop();break}case o1:{if(J=a4(J,MJ(Z._tag,Z.fiberId)),X.length===0)return[J,G];Z=X.pop();break}case r1:{switch(Z.left._tag){case b9:{Z=Z.right;break}case r1:{Z=a$(Z.left.left,a$(Z.left.right,Z.right));break}case n1:{Z=_0(a$(Z.left.left,Z.right),a$(Z.left.right,Z.right));break}default:{G=V0(G,Z.right),Z=Z.left;break}}break}case n1:{X.push(Z.right),Z=Z.left;break}}throw Error(R9("Cause.evaluateCauseLoop"))},ou={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:($,Z,X)=>Z+X,parallelCase:($,Z,X)=>Z+X},nu={emptyCase:y6,failCase:XZ,dieCase:XZ,interruptCase:y6,sequentialCase:($,Z,X)=>Z&&X,parallelCase:($,Z,X)=>Z&&X},ru=($)=>({emptyCase:()=>d0,failCase:(Z,X)=>V8(X),dieCase:(Z,X)=>N0(X),interruptCase:(Z,X)=>VZ(X),sequentialCase:(Z,X,J)=>{if($(X)){if($(J))return a$(X,J);return X}if($(J))return J;return d0},parallelCase:(Z,X,J)=>{if($(X)){if($(J))return _0(X,J);return X}if($(J))return J;return d0}}),KM="SequentialCase",VM="ParallelCase",s6=V(2,($,{onDie:Z,onEmpty:X,onFail:J,onInterrupt:G,onParallel:Y,onSequential:W})=>{return Y5($,void 0,{emptyCase:()=>X,failCase:(H,A)=>J(A),dieCase:(H,A)=>Z(A),interruptCase:(H,A)=>G(A),sequentialCase:(H,A,K)=>W(A,K),parallelCase:(H,A,K)=>Y(A,K)})}),h9=V(3,($,Z,X)=>{let J=Z,G=$,Y=[];while(G!==void 0){let W=X(J,G);switch(J=b$(W)?W.value:J,G._tag){case r1:{Y.push(G.right),G=G.left;break}case n1:{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}),Y5=V(3,($,Z,X)=>{let J=[$],G=[];while(J.length>0){let W=J.pop();switch(W._tag){case b9:{G.push(E$(X.emptyCase(Z)));break}case u1:{G.push(E$(X.failCase(Z,W.error)));break}case d1:{G.push(E$(X.dieCase(Z,W.defect)));break}case o1:{G.push(E$(X.interruptCase(Z,W.fiberId)));break}case r1:{J.push(W.right),J.push(W.left),G.push(g$({_tag:KM}));break}case n1:{J.push(W.right),J.push(W.left),G.push(g$({_tag:VM}));break}}}let Y=[];while(G.length>0){let W=G.pop();switch(W._tag){case"Left":{switch(W.left._tag){case KM:{let H=Y.pop(),A=Y.pop(),K=X.sequentialCase(Z,H,A);Y.push(K);break}case VM:{let H=Y.pop(),A=Y.pop(),K=X.parallelCase(Z,H,A);Y.push(K);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()}),T6=($,Z)=>{if(J5($))return"All fibers interrupted without errors.";return o7($).map(function(X){if(Z?.renderErrorCause!==!0||X.cause===void 0)return X.stack;return`${X.stack} {
6
+ ${jM(X.cause," ")}
7
+ }`}).join(`
8
+ `)},jM=($,Z)=>{let X=$.stack.split(`
9
+ `),J=`${Z}[cause]: ${X[0]}`;for(let G=1,Y=X.length;G<Y;G++)J+=`
10
+ ${Z}${X[G]}`;if($.cause)J+=` {
11
+ ${jM($.cause,`${Z} `)}
12
+ ${Z}}`;return J},iK=($)=>{let Z=typeof $==="object"&&$!==null,X=Error.stackTraceLimit;Error.stackTraceLimit=1;let J=Error(lu($),Z&&"cause"in $&&typeof $.cause<"u"?{cause:iK($.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(Z5 in $)J.span=$[Z5];Object.keys($).forEach((G)=>{if(!(G in J))J[G]=$[G]})}return J.stack=su(`${J.name}: ${J.message}`,$ instanceof Error&&$.stack?$.stack:"",J.span),J},lu=($)=>{if(typeof $==="string")return $;if(typeof $==="object"&&$!==null&&$ instanceof Error)return $.message;try{if(o($,"toString")&&b8($.toString)&&$.toString!==Object.prototype.toString&&$.toString!==globalThis.Array.prototype.toString)return $.toString()}catch{}return cY($)},iu=/\((.*)\)/g,dJ=N$("effect/Tracer/spanToTrace",()=>new WeakMap),su=($,Z,X)=>{let J=[$],G=Z.startsWith($)?Z.slice($.length).split(`
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=dJ.get(Y);if(typeof H==="function"){let A=H();if(typeof A==="string"){let K=A.matchAll(iu),Q=!1;for(let[,O]of K)Q=!0,J.push(` at ${Y.name} (${O})`);if(!Q)J.push(` at ${Y.name} (${A.replace(/^at /,"")})`)}else J.push(` at ${Y.name}`)}else J.push(` at ${Y.name}`);Y=n0(Y.parent),W++}}return J.join(`
15
+ `)},Z5=Symbol.for("effect/SpanAnnotation"),o7=($)=>Y5($,void 0,{emptyCase:()=>[],dieCase:(Z,X)=>{return[iK(X)]},failCase:(Z,X)=>{return[iK(X)]},interruptCase:()=>[],parallelCase:(Z,X,J)=>[...X,...J],sequentialCase:(Z,X,J)=>[...X,...J]});var W5="Pending",uJ="Done";var au="effect/Deferred",IM=Symbol.for(au),vM={_E:($)=>$,_A:($)=>$},yM=($)=>{return{_tag:W5,joiners:$}},tK=($)=>{return{_tag:uJ,effect:$}};class n7{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 n7(this.self)}}var f9=($,Z)=>{let X=new g0("Blocked");return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X},JH=($)=>{let Z=new g0("RunBlocked");return Z.effect_instruction_i0=$,Z},c9=Symbol.for("effect/Effect");class eK{patch;op;_op=QJ;constructor($,Z){this.patch=$,this.op=Z}}class g0{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[c9]=S1;constructor($){this._op=$}[J$]($){return this===$}[Y$](){return w$(this,KJ(this))}pipe(){return r(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:k$(this.effect_instruction_i0),effect_instruction_i1:k$(this.effect_instruction_i1),effect_instruction_i2:k$(this.effect_instruction_i2)}}toString(){return S$(this.toJSON())}[M$](){return this.toJSON()}[Symbol.iterator](){return new n7(new L9(this))}}class $V{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[c9]=S1;constructor($){this._op=$,this._tag=$}[J$]($){return _5($)&&$._op==="Failure"&&i(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return P(f$(this._tag),U$(s(this.effect_instruction_i0)),w$(this))}get cause(){return this.effect_instruction_i0}pipe(){return r(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return S$(this.toJSON())}[M$](){return this.toJSON()}[Symbol.iterator](){return new n7(new L9(this))}}class ZV{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[c9]=S1;constructor($){this._op=$,this._tag=$}[J$]($){return _5($)&&$._op==="Success"&&i(this.effect_instruction_i0,$.effect_instruction_i0)}[Y$](){return P(f$(this._tag),U$(s(this.effect_instruction_i0)),w$(this))}get value(){return this.effect_instruction_i0}pipe(){return r(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:k$(this.value)}}toString(){return S$(this.toJSON())}[M$](){return this.toJSON()}[Symbol.iterator](){return new n7(new L9(this))}}var h$=($)=>o($,c9),q$=($)=>{let Z=new g0(dY);return Z.effect_instruction_i0=$,Z},GH=V(3,($,Z,X)=>S0((J)=>z($,(G)=>z(U0(H$(()=>J(Z(G)))),(Y)=>{return H$(()=>X(G,Y)).pipe(Q0({onFailure:(W)=>{switch(Y._tag){case $0:return L$(a$(Y.effect_instruction_i0,W));case Z0:return L$(W)}},onSuccess:()=>Y}))})))),n$=V(2,($,Z)=>z($,()=>T(Z))),P0=($)=>n$($,void 0),Z2=function(){let $=new g0(d4);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(R9("you're not supposed to end up here"))}return $},r7=($,Z=p0)=>{let X=new g0(p4),J=void 0;return X.effect_instruction_i0=(G)=>{J=$(G)},X.effect_instruction_i1=Z,e6(X,(G)=>h$(J)?J:F$)},X2=($,Z=p0)=>H$(()=>r7($,Z)),jZ=($,Z=p0)=>{return Z2($,function(){let X=void 0,J=void 0;function G(A){if(X)X(A);else if(J===void 0)J=A}let Y=new g0(p4);Y.effect_instruction_i0=(A)=>{if(X=A,J)A(J)},Y.effect_instruction_i1=Z;let W=void 0,H=void 0;if(this.effect_instruction_i0.length!==1)H=new AbortController,W=q0(()=>this.effect_instruction_i0(G,H.signal));else W=q0(()=>this.effect_instruction_i0(G));return W||H?e6(Y,(A)=>{if(H)H.abort();return W??F$}):Y})};var a6=V(2,($,Z)=>{let X=new g0(_7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),M6=V(2,($,Z)=>i0($,{onFailure:Z,onSuccess:T})),J2=V(3,($,Z,X)=>a6($,(J)=>{let G=z6(J);switch(G._tag){case"Left":return Z(G.left)?X(G.left):L$(J);case"Right":return L$(G.right)}})),gM=V(2,($,Z)=>a6($,(X)=>{let J=z6(X);switch(J._tag){case"Left":return P(Z(J.left),c0(()=>L$(X)));case"Right":return L$(J.right)}})),bM=($)=>q$((Z,X)=>$(mJ(X.runtimeFlags))),ZH=Symbol.for("effect/OriginalAnnotation"),hM=($)=>{if(o($,ZH))return $[ZH];return $},YH=($,Z)=>{if(b$(Z))return new Proxy($,{has(X,J){return J===Z5||J===ZH||J in X},get(X,J){if(J===Z5)return Z.value;if(J===ZH)return $;return X[J]}});return $},MZ=($)=>C9($)&&!(Z5 in $)?q$((Z)=>L$(N0(YH($,RH(Z))))):L$(N0($)),l1=($)=>p9(()=>N0(new AV($))),C8=($)=>z(E($),MZ),r8=($)=>i0($,{onFailure:(Z)=>T(g$(Z)),onSuccess:(Z)=>T(E$(Z))}),U0=($)=>G2($,{onFailure:I$,onSuccess:t$}),R$=($)=>C9($)&&!(Z5 in $)?q$((Z)=>L$(V8(YH($,RH(Z))))):L$(V8($)),l8=($)=>z(E($),R$),L$=($)=>{let Z=new $V($0);return Z.effect_instruction_i0=$,Z},p9=($)=>z(E($),L$),d9=q$(($)=>T($.id())),Q8=($)=>q$((Z)=>$(Z.id())),z=V(2,($,Z)=>{let X=new g0(P7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),i1=V(2,($,Z)=>z($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(h$(J))return J;else if(O3(J))return r7((G)=>{J.then((Y)=>G(T(Y)),(Y)=>G(R$(new N5(Y,"An unknown error occurred in Effect.andThen"))))});return T(J)})),WH=($)=>{let Z=new g0("OnStep");return Z.effect_instruction_i0=$,Z},kZ=($)=>z($,T$),s1=($)=>i0($,{onFailure:T,onSuccess:R$}),G2=V(2,($,Z)=>Q0($,{onFailure:(X)=>T(Z.onFailure(X)),onSuccess:(X)=>T(Z.onSuccess(X))})),Q0=V(2,($,Z)=>{let X=new g0(F7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z.onFailure,X.effect_instruction_i2=Z.onSuccess,X}),i0=V(2,($,Z)=>Q0($,{onFailure:(X)=>{if(p7(X).length>0)return L$(CM(X));let G=c7(X);if(G.length>0)return Z.onFailure(o3(G));return L$(X)},onSuccess:Z.onSuccess})),QZ=V(2,($,Z)=>H$(()=>{let X=_$($),J=TJ(X.length),G=0;return n$(e1({while:()=>G<X.length,body:()=>Z(X[G],G),step:(Y)=>{J[G++]=Y}}),J)})),R8=V(2,($,Z)=>H$(()=>{let X=_$($),J=0;return e1({while:()=>J<X.length,body:()=>Z(X[J],J),step:()=>{J++}})})),HH=V(($)=>typeof $[0]==="boolean"||h$($[0]),($,Z)=>h$($)?z($,(X)=>X?Z.onTrue():Z.onFalse()):$?Z.onTrue():Z.onFalse()),DH=z(d9,($)=>AH($)),AH=($)=>L$(VZ($)),u9=($)=>{let Z=new g0(E9);return Z.effect_instruction_i0=fK(P6),Z.effect_instruction_i1=()=>$,Z},mM=($)=>Z2($,function(){let Z=new g0(E9);return Z.effect_instruction_i0=fK(P6),Z.effect_instruction_i1=(X)=>mJ(X)?q0(()=>this.effect_instruction_i0(u9)):q0(()=>this.effect_instruction_i0(o9)),Z}),t6=V(2,($,Z)=>S0((X)=>z(U0(X($)),(J)=>BV(Z,J)))),I=V(2,($,Z)=>z($,(X)=>E(()=>Z(X)))),Y2=V(2,($,Z)=>i0($,{onFailure:(X)=>l8(()=>Z.onFailure(X)),onSuccess:(X)=>E(()=>Z.onSuccess(X))})),a1=V(2,($,Z)=>Q0($,{onFailure:(X)=>{let J=z6(X);switch(J._tag){case"Left":return l8(()=>Z(J.left));case"Right":return L$(J.right)}},onSuccess:T})),UH=V(2,($,Z)=>sZ($,(X)=>V2(X)?F$:Z(X.effect_instruction_i0))),sZ=V(2,($,Z)=>S0((X)=>Q0(X($),{onFailure:(J)=>{let G=I$(J);return Q0(Z(G),{onFailure:(Y)=>I$(a$(J,Y)),onSuccess:()=>G})},onSuccess:(J)=>{let G=t$(J);return x$(Z(G),G)}}))),e6=V(2,($,Z)=>sZ($,P5({onFailure:(X)=>J5(X)?P0(Z(G5(X))):F$,onSuccess:()=>F$}))),D5=V(2,($,Z)=>eu($,Z,T)),A5=($)=>XV($,T$),XV=V(2,($,Z)=>i0($,{onFailure:(X)=>MZ(Z(X)),onSuccess:T})),fM=f3,l7=q$(($,Z)=>T(Z.runtimeFlags)),T=($)=>{let Z=new ZV(Z0);return Z.effect_instruction_i0=$,Z},H$=($)=>{let Z=new g0(d4);return Z.commit=$,Z},E=($)=>{let Z=new g0(pY);return Z.effect_instruction_i0=$,Z},IZ=V(($)=>$.length===3||$.length===2&&!(C9($[1])&&("onlyEffect"in $[1])),($,Z)=>z($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(h$(J))return n$(J,X);else if(O3(J))return r7((G)=>{J.then((Y)=>G(T(X)),(Y)=>G(R$(new N5(Y,"An unknown error occurred in Effect.tap"))))});return T(X)})),KH=($)=>q$((Z)=>{let X=Z.getFiberRef(rJ),J=P(X,c0(()=>Z.scope()));return $(C0(rJ,S(J)))}),eu=V(3,($,Z,X)=>Q0($,{onFailure:(J)=>{if(p7(J).length>0)return L$(j3(MM(J)));return Z()},onSuccess:X})),o9=($)=>{let Z=new g0(E9);return Z.effect_instruction_i0=cK(P6),Z.effect_instruction_i1=()=>$,Z},S0=($)=>Z2($,function(){let Z=new g0(E9);return Z.effect_instruction_i0=cK(P6),Z.effect_instruction_i1=(X)=>mJ(X)?q0(()=>this.effect_instruction_i0(u9)):q0(()=>this.effect_instruction_i0(o9)),Z}),F$=T(void 0);var t1=($)=>{let Z=new g0(E9);return Z.effect_instruction_i0=$,Z.effect_instruction_i1=void 0,Z},i7=V(2,($,Z)=>z(Z,(X)=>{if(X)return P($,I(S));return T(x())})),e1=($)=>{let Z=new g0(z7);return Z.effect_instruction_i0=$.while,Z.effect_instruction_i1=$.body,Z.effect_instruction_i2=$.step,Z},nJ=($)=>H$(()=>{let Z=new g0(u4);return Z.effect_instruction_i0=$(),Z}),VH=function(){let $=arguments.length===1?arguments[0]:arguments[1].bind(arguments[0]);return nJ(()=>$(P))},s7=($,...Z)=>Object.defineProperty(Z.length===0?function(...X){return nJ(()=>$.apply(this,X))}:function(...X){let J=nJ(()=>$.apply(this,X));for(let G of Z)J=G(J,...X);return J},"length",{value:$.length,configurable:!0}),cM=V(2,($,Z)=>C0($,_H,Z)),pM=V(2,($,Z)=>C0($,W2,Z)),QH=V(2,($,Z)=>{let X=new g0(E9);return X.effect_instruction_i0=Z,X.effect_instruction_i1=()=>$,X}),dM=V(2,($,Z)=>C0($,D2,Z)),uM=V(2,($,Z)=>C0($,X4,Z)),$9=($)=>{let Z=new g0(T7);return typeof $?.priority<"u"?HV(Z,$.priority):Z},U5=V(2,($,Z)=>z($,(X)=>I(Z,(J)=>[X,J])));var K5=V(2,($,Z)=>z($,(X)=>n$(Z,X))),x$=V(2,($,Z)=>z($,()=>Z)),aZ=V(3,($,Z,X)=>z($,(J)=>I(Z,(G)=>X(J,G)))),$4=X2(()=>{let $=setInterval(()=>{},2147483647);return E(()=>clearInterval($))}),Z4=($)=>z(d9,(Z)=>P($,vZ(Z))),vZ=V(2,($,Z)=>z($.interruptAsFork(Z),()=>$.await)),oM={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return r(this,arguments)}},nM={_tag:"Fatal",syslog:2,label:"FATAL",ordinal:50000,pipe(){return r(this,arguments)}},rM={_tag:"Error",syslog:3,label:"ERROR",ordinal:40000,pipe(){return r(this,arguments)}},JV={_tag:"Warning",syslog:4,label:"WARN",ordinal:30000,pipe(){return r(this,arguments)}},GV={_tag:"Info",syslog:6,label:"INFO",ordinal:20000,pipe(){return r(this,arguments)}},YV={_tag:"Debug",syslog:7,label:"DEBUG",ordinal:1e4,pipe(){return r(this,arguments)}},lM={_tag:"Trace",syslog:7,label:"TRACE",ordinal:0,pipe(){return r(this,arguments)}},iM={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return r(this,arguments)}};var $o="effect/FiberRef",Zo=Symbol.for($o),Xo={_A:($)=>$},L8=($)=>q$((Z)=>t$(Z.getFiberRef($)));var wZ=V(2,($,Z)=>z(L8($),Z)),H5=V(2,($,Z)=>Jo($,()=>[void 0,Z]));var Jo=V(2,($,Z)=>q$((X)=>{let[J,G]=Z(X.getFiberRef($));return X.setFiberRef($,G),T(J)}));var C0=V(3,($,Z,X)=>GH(K5(L8(Z),H5(Z,X)),()=>$,(J)=>H5(Z,J))),s0=V(3,($,Z,X)=>wZ(Z,(J)=>C0($,Z,X(J)))),R0=($,Z)=>V5($,{differ:dW(),fork:Z?.fork??T$,join:Z?.join}),sM=($)=>{let Z=xK();return V5($,{differ:Z,fork:Z.empty})},Go=($)=>{let Z=SK(dW());return V5($,{differ:Z,fork:Z.empty})},OH=($)=>{let Z=EK();return V5($,{differ:Z,fork:Z.empty})},V5=($,Z)=>{return{...m8,[Zo]:Xo,initial:$,commit(){return L8(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)}},aM=($)=>V5($,{differ:mK,fork:mK.empty}),O8=N$(Symbol.for("effect/FiberRef/currentContext"),()=>OH(KZ())),n9=N$(Symbol.for("effect/FiberRef/currentSchedulingPriority"),()=>R0(0)),BH=N$(Symbol.for("effect/FiberRef/currentMaxOpsBeforeYield"),()=>R0(2048)),r9=N$(Symbol.for("effect/FiberRef/currentLogAnnotation"),()=>R0(e4())),WV=N$(Symbol.for("effect/FiberRef/currentLogLevel"),()=>R0(GV)),NH=N$(Symbol.for("effect/FiberRef/currentLogSpan"),()=>R0(l6())),HV=V(2,($,Z)=>C0($,n9,Z)),tM=V(2,($,Z)=>C0($,BH,Z)),_H=N$(Symbol.for("effect/FiberRef/currentConcurrency"),()=>R0("unbounded")),W2=N$(Symbol.for("effect/FiberRef/currentRequestBatching"),()=>R0(!0)),H2=N$(Symbol.for("effect/FiberRef/currentUnhandledErrorLogLevel"),()=>R0(S(YV))),PH=N$(Symbol.for("effect/FiberRef/versionMismatchErrorLogLevel"),()=>R0(S(JV))),eM=V(2,($,Z)=>C0($,H2,Z)),l9=N$(Symbol.for("effect/FiberRef/currentMetricLabels"),()=>Go(B6())),$w=L8(l9),rJ=N$(Symbol.for("effect/FiberRef/currentForkScopeOverride"),()=>R0(x(),{fork:()=>x(),join:($,Z)=>$})),Q5=N$(Symbol.for("effect/FiberRef/currentInterruptedCause"),()=>R0(d0,{fork:()=>d0,join:($,Z)=>$})),D2=N$(Symbol.for("effect/FiberRef/currentTracerEnabled"),()=>R0(!0)),X4=N$(Symbol.for("effect/FiberRef/currentTracerTiming"),()=>R0(!0)),a7=N$(Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),()=>R0(e4())),FH=N$(Symbol.for("effect/FiberRef/currentTracerSpanLinks"),()=>R0(w0())),A2=Symbol.for("effect/Scope"),U2=Symbol.for("effect/CloseableScope"),K2=($,Z)=>$.addFinalizer(()=>P0(Z)),J4=($,Z)=>$.addFinalizer(Z),O5=($,Z)=>$.close(Z),q8=($,Z)=>$.fork(Z),Zw=($)=>{return DV(T$)($)},DV=V(2,($,Z)=>{let X=P($,d7,E0(Z));switch(X._tag){case"None":return P(p7($),CJ,f0({onNone:()=>{let J=_$(G5($)).flatMap((G)=>_$(f1(G)).map((Y)=>`#${Y}`));return new UV(J?`Interrupted by fibers: ${J.join(", ")}`:void 0)},onSome:T$}));case"Some":return X.value}}),t7=function(){class $ extends globalThis.Error{commit(){return R$(this)}toJSON(){let Z={...this};if(this.message)Z.message=this.message;if(this.cause)Z.cause=this.cause;return Z}[M$](){if(this.toString!==globalThis.Error.prototype.toString)return this.stack?`${this.toString()}
16
+ ${this.stack.split(`
17
+ `).slice(1).join(`
18
+ `)}`:this.toString();else if("Bun"in globalThis)return T6(V8(this),{renderErrorCause:!0});return this}}return Object.assign($.prototype,T3),$}(),B5=($,Z)=>{class X extends t7{_tag=Z}return Object.assign(X.prototype,$),X.prototype.name=Z,X},lJ=Symbol.for("effect/Cause/errors/RuntimeException"),AV=B5({[lJ]:lJ},"RuntimeException"),Xw=($)=>o($,lJ),iJ=Symbol.for("effect/Cause/errors/InterruptedException"),UV=B5({[iJ]:iJ},"InterruptedException"),zH=($)=>o($,iJ),sJ=Symbol.for("effect/Cause/errors/IllegalArgument"),i8=B5({[sJ]:sJ},"IllegalArgumentException"),Jw=($)=>o($,sJ),aJ=Symbol.for("effect/Cause/errors/NoSuchElement"),yZ=B5({[aJ]:aJ},"NoSuchElementException"),TH=($)=>o($,aJ),XH=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),_H$=B5({[XH]:XH},"InvalidPubSubCapacityException"),tJ=Symbol.for("effect/Cause/errors/ExceededCapacityException"),Gw=B5({[tJ]:tJ},"ExceededCapacityException"),Yw=($)=>o($,tJ);var eJ=Symbol.for("effect/Cause/errors/Timeout"),KV=B5({[eJ]:eJ},"TimeoutException"),Ww=($)=>new KV(`Operation timed out after '${GK($)}'`),Hw=($)=>o($,eJ),$2=Symbol.for("effect/Cause/errors/UnknownException"),N5=function(){class $ extends t7{_tag="UnknownException";error;constructor(Z,X){super(X??"An unknown error occurred",{cause:Z});this.error=Z}}return Object.assign($.prototype,{[$2]:$2,name:"UnknownException"}),$}(),Dw=($)=>o($,$2),_5=($)=>h$($)&&("_tag"in $)&&($._tag==="Success"||$._tag==="Failure"),MH=($)=>$._tag==="Failure",V2=($)=>$._tag==="Success",Aw=($)=>{switch($._tag){case $0:return f7($.effect_instruction_i0);case Z0:return!1}},VV=V(2,($,Z)=>{switch($._tag){case $0:return I$($.effect_instruction_i0);case Z0:return t$(Z)}}),e7=($)=>VV($,void 0),Uw=($)=>{switch($._tag){case $0:return S($.effect_instruction_i0);case Z0:return x()}},G4=($,Z)=>Yo($,Z?.parallel?_0:a$),wH=($)=>I$(N0($)),Kw=V(2,($,Z)=>{switch($._tag){case $0:return!1;case Z0:return Z($.effect_instruction_i0)}}),Y4=($)=>I$(V8($)),I$=($)=>{let Z=new $V($0);return Z.effect_instruction_i0=$,Z},QV=V(2,($,Z)=>{switch($._tag){case $0:return I$($.effect_instruction_i0);case Z0:return Z($.effect_instruction_i0)}}),Vw=V(2,($,Z)=>{switch($._tag){case $0:return T(I$($.effect_instruction_i0));case Z0:return Z($.effect_instruction_i0)}}),Qw=($)=>P($,QV(T$)),Ow=V(2,($,Z)=>{switch($._tag){case $0:return T(I$($.effect_instruction_i0));case Z0:return U0(Z($.effect_instruction_i0))}}),Bw=($)=>{switch($._tag){case"Left":return Y4($.left);case"Right":return t$($.right)}},Nw=($)=>{switch($._tag){case"None":return Y4(void 0);case"Some":return t$($.value)}},_w=V(2,($,Z)=>{switch($._tag){case $0:return Z($.effect_instruction_i0);case Z0:return $.effect_instruction_i0}}),Q2=($)=>I$(VZ($)),oJ=V(2,($,Z)=>{switch($._tag){case $0:return I$($.effect_instruction_i0);case Z0:return t$(Z($.effect_instruction_i0))}}),Pw=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case $0:return I$(P($.effect_instruction_i0,u7(Z)));case Z0:return t$(X($.effect_instruction_i0))}}),Fw=V(2,($,Z)=>{switch($._tag){case $0:return I$(P($.effect_instruction_i0,u7(Z)));case Z0:return t$($.effect_instruction_i0)}}),zw=V(2,($,Z)=>{switch($._tag){case $0:return I$(Z($.effect_instruction_i0));case Z0:return t$($.effect_instruction_i0)}}),P5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case $0:return Z($.effect_instruction_i0);case Z0:return X($.effect_instruction_i0)}}),F5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case $0:return Z($.effect_instruction_i0);case Z0:return X($.effect_instruction_i0)}}),t$=($)=>{let Z=new ZV(Z0);return Z.effect_instruction_i0=$,Z},gZ=t$(void 0),Tw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>[X,J],onFailure:a$})),Mw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>X,onFailure:a$})),ww=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>J,onFailure:a$})),Cw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>[X,J],onFailure:_0})),Rw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>X,onFailure:_0})),Lw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>J,onFailure:_0})),s8=V(3,($,Z,{onFailure:X,onSuccess:J})=>{switch($._tag){case $0:switch(Z._tag){case Z0:return I$($.effect_instruction_i0);case $0:return I$(X($.effect_instruction_i0,Z.effect_instruction_i0))}case Z0:switch(Z._tag){case Z0:return t$(J($.effect_instruction_i0,Z.effect_instruction_i0));case $0:return I$(Z.effect_instruction_i0)}}}),Yo=($,Z)=>{let X=I1($);if(!W0(X))return x();return P(H0(X),k1(P(y$(X),oJ(x0)),(J,G)=>P(J,s8(G,{onSuccess:(Y,W)=>P(Y,V0(W)),onFailure:Z}))),oJ(T8),oJ((J)=>f8(J)),S)},O2=($)=>{return{...m8,[IM]:vM,state:o6(yM([])),commit(){return WZ(this)},blockingOn:$}},B8=()=>z(d9,($)=>qw($)),qw=($)=>E(()=>O2($)),WZ=($)=>X2((Z)=>{let X=n6($.state);switch(X._tag){case uJ:return Z(X.effect);case W5:return X.joiners.push(Z),Wo($,Z)}},$.blockingOn),OV=V(2,($,Z)=>t6(Z,$)),B2=V(2,($,Z)=>E(()=>{let X=n6($.state);switch(X._tag){case uJ:return!1;case W5:{v9($.state,tK(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z);return!0}}})),BV=V(2,($,Z)=>B2($,Z));var N2=V(2,($,Z)=>B2($,L$(Z)));var Ew=($)=>z(d9,(Z)=>B2($,AH(Z)));var NV=V(2,($,Z)=>B2($,T(Z)));var $X=($,Z)=>{let X=n6($.state);if(X._tag===W5){v9($.state,tK(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z)}},Wo=($,Z)=>E(()=>{let X=n6($.state);if(X._tag===W5){let J=X.joiners.indexOf(Z);if(J>=0)X.joiners.splice(J,1)}}),Ho=q$(($)=>t$($.currentContext)),N8=()=>Ho;var E8=($)=>z(N8(),$),tZ=V(2,($,Z)=>C0(O8,Z)($)),CH=V(2,($,Z)=>s0(O8,(X)=>d8(X,Z))($)),W4=V(2,($,Z)=>E8((X)=>tZ($,Z(X)))),_V=V(2,($,Z)=>z($,(X)=>z(Z.predicate(X),(J)=>J?T(X):Z.orElse(X)))),xw=V(2,($,Z)=>_V($,{predicate:Z.predicate,orElse:(X)=>R$(Z.orFailWith(X))})),RH=($)=>{let Z=$.currentSpan;return Z!==void 0&&Z._tag==="Span"?S(Z):x()},Do={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:BigInt(0),endTime:BigInt(0),exit:gZ},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},Sw=($)=>Object.assign(Object.create(Do),$);var Ao=_5,_2=MH,H4=V2,Uo=Aw,Ko=VV,Vo=e7,Qo=Uw,Oo=G4,Bo=wH,No=Kw,PV=Y4,FV=I$,_o=QV,Po=Vw,zV=Qw,LH=Ow,Fo=Bw,zo=Nw,To=_w,TV=Q2,Mo=oJ,wo=Pw,Co=Fw,Ro=zw,MV=P5,Lo=F5,P2=t$,qo=gZ;var Eo=Tw,xo=Mw,So=ww,jo=Cw,ko=Rw,Io=Lw,wV=s8;var u0={};F8(u0,{use:()=>fl,make:()=>cl,fork:()=>CO,extend:()=>ml,close:()=>wO,addFinalizerExit:()=>hl,addFinalizer:()=>bl,ScopeTypeId:()=>yl,Scope:()=>MO,CloseableScopeTypeId:()=>gl});var jw=($)=>!$;var kw=x9,qH=m8;var yo=kF;class D4 extends yo{}var Iw="Sequential",vw="Parallel",go="ParallelN",a8={_tag:Iw},F2={_tag:vw},yw=($)=>({_tag:go,parallelism:$}),CV=($)=>$._tag===Iw,RV=($)=>$._tag===vw;var SH=a8,jH=F2,kH=yw;function gw($){return new i9($)}function bw(){return gw(new Map)}var LV=Symbol.for("effect/FiberRefs");class i9{locals;[LV]=LV;constructor($){this.locals=$}pipe(){return r(this,arguments)}}var ho=($,Z,X,J=!1)=>{let G=$,Y=Z,W=X,H=J,A=void 0;while(A===void 0)if(EZ(Y)&&EZ(W)){let K=UZ(Y)[0],Q=m6(Y),O=UZ(W)[0],_=UZ(W)[1],F=m6(W);if(K.startTimeMillis<O.startTimeMillis)W=F,H=!0;else if(K.startTimeMillis>O.startTimeMillis)Y=Q;else if(K.id<O.id)W=F,H=!0;else if(K.id>O.id)Y=Q;else A=[_,H]}else A=[G.initial,!0];return A},IH=V(3,($,Z,X)=>{let J=new Map($.locals);return X.locals.forEach((G,Y)=>{let W=G[0][1];if(!G[0][0][J$](Z)){if(!J.has(Y)){if(i(W,Y.initial))return;J.set(Y,[[Z,Y.join(Y.initial,W)]]);return}let H=J.get(Y),[A,K]=ho(Y,H,G);if(K){let Q=Y.diff(A,W),O=H[0][1],_=Y.join(O,Y.patch(Q)(O));if(!i(O,_)){let F,M=H[0][0];if(M[J$](Z))F=[[M,_],...H.slice(1)];else F=[[Z,_],...H];J.set(Y,F)}}}}),new i9(J)}),EV=V(2,($,Z)=>{let X=new Map;return hw($,X,Z),new i9(X)}),hw=($,Z,X)=>{$.locals.forEach((J,G)=>{let Y=J[0][1],W=G.patch(G.fork)(Y);if(i(Y,W))Z.set(G,J);else Z.set(G,[[X,W],...J])})},mw=($)=>RW($.locals.keys()),fw=($)=>R8(mw($),(Z)=>H5(Z,s9($,Z))),z2=V(2,($,Z)=>{let X=new Map($.locals);return X.delete(Z),new i9(X)}),vH=V(2,($,Z)=>{if(!$.locals.has(Z))return x();return S(UZ($.locals.get(Z))[1])}),s9=V(2,($,Z)=>P(vH($,Z),c0(()=>Z.initial))),ZX=V(2,($,{fiberId:Z,fiberRef:X,value:J})=>{if($.locals.size===0)return new i9(new Map([[X,[[Z,J]]]]));let G=new Map($.locals);return qV(G,Z,X,J),new i9(G)}),qV=($,Z,X,J)=>{let G=$.get(X)??[],Y;if(EZ(G)){let[W,H]=UZ(G);if(W[J$](Z))if(i(H,J))return;else Y=[[Z,J],...G.slice(1)];else Y=[[Z,J],...G]}else Y=[[Z,J]];$.set(X,Y)},cw=V(2,($,{entries:Z,forkAs:X})=>{if($.locals.size===0)return new i9(new Map(Z));let J=new Map($.locals);if(X!==void 0)hw($,J,X);return Z.forEach(([G,Y])=>{if(Y.length===1)qV(J,Y[0][0],G,Y[0][1]);else Y.forEach(([W,H])=>{qV(J,W,G,H)})}),new i9(J)});var SV=vH,pw=s9,dw=IH,uw=fw;var ow=cw;var nw=bw;var rw="Empty",lw="Add",iw="Remove",sw="Update",aw="AndThen",tw={_tag:rw},T2=($,Z)=>{let X=new Map($.locals),J=tw;for(let[G,Y]of Z.locals.entries()){let W=UZ(Y)[1],H=X.get(G);if(H!==void 0){let A=UZ(H)[1];if(!i(A,W))J=yH({_tag:sw,fiberRef:G,patch:G.diff(A,W)})(J)}else J=yH({_tag:lw,fiberRef:G,value:W})(J);X.delete(G)}for(let[G]of X.entries())J=yH({_tag:iw,fiberRef:G})(J);return J},yH=V(2,($,Z)=>({_tag:aw,first:$,second:Z})),gH=V(3,($,Z,X)=>{let J=X,G=iZ($);while(EZ(G)){let Y=UZ(G),W=m6(G);switch(Y._tag){case rw:{G=W;break}case lw:{J=ZX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.value}),G=W;break}case iw:{J=z2(J,Y.fiberRef),G=W;break}case sw:{let H=s9(J,Y.fiberRef);J=ZX(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.fiberRef.patch(Y.patch)(H)}),G=W;break}case aw:{G=C7(Y.first)(C7(Y.second)(W));break}}}return J});var z5=T2;var T5=gH;var hH="effect/FiberStatus",A4=Symbol.for(hH),bH="Done",kV="Running",IV="Suspended",mo=f$(`${hH}-${bH}`);class ZC{[A4]=A4;_tag=bH;[Y$](){return mo}[J$]($){return mH($)&&$._tag===bH}}class XC{runtimeFlags;[A4]=A4;_tag=kV;constructor($){this.runtimeFlags=$}[Y$](){return P(s(hH),U$(s(this._tag)),U$(s(this.runtimeFlags)),w$(this))}[J$]($){return mH($)&&$._tag===kV&&this.runtimeFlags===$.runtimeFlags}}class JC{runtimeFlags;blockingOn;[A4]=A4;_tag=IV;constructor($,Z){this.runtimeFlags=$,this.blockingOn=Z}[Y$](){return P(s(hH),U$(s(this._tag)),U$(s(this.runtimeFlags)),U$(s(this.blockingOn)),w$(this))}[J$]($){return mH($)&&$._tag===IV&&this.runtimeFlags===$.runtimeFlags&&i(this.blockingOn,$.blockingOn)}}var GC=new ZC,YC=($)=>new XC($),WC=($,Z)=>new JC($,Z),mH=($)=>o($,A4),HC=($)=>$._tag===bH,DC=($)=>$._tag===kV,AC=($)=>$._tag===IV;var UC=GC,vV=YC,KC=WC;var fH=HC,VC=DC,QC=AC;var OZ=pF;var oo=oM,yV=nM,gV=rM,bV=JV,hV=GV,mV=YV,fV=lM,no=iM;var ro=P(OZ,sY(($)=>$.ordinal));var cV=E3(ro);var pV=($)=>{switch($){case"All":return oo;case"Debug":return mV;case"Error":return gV;case"Fatal":return yV;case"Info":return hV;case"Trace":return fV;case"None":return no;case"Warning":return bV}};var lo=Symbol.for("effect/Micro"),pH=Symbol.for("effect/Micro/MicroExit");var NC=Symbol.for("effect/Micro/MicroCause");var io={_E:T$};class oV extends globalThis.Error{_tag;traces;[NC];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
+ `).length;W=Z.stack?`(${J}) ${Z.stack.split(`
20
+ `).slice(0,H+3).join(`
21
+ `)}`:`${G}: ${Y}`}else G=J,Y=q9(Z,0),W=`${G}: ${Y}`;if(X.length>0)W+=`
22
+ ${X.join(`
23
+ `)}`;super(Y);this._tag=$,this.traces=X,this[NC]=io,this.name=G,this.stack=W}pipe(){return r(this,arguments)}toString(){return this.stack}[M$](){return this.stack}}class FC extends oV{defect;constructor($,Z=[]){super("Die",$,Z);this.defect=$}}var so=($,Z=[])=>new FC($,Z);class zC extends oV{constructor($=[]){super("Interrupt","interrupted",$)}}var ao=($=[])=>new zC($);var to=($)=>$._tag==="Interrupt";var _C=Symbol.for("effect/Micro/MicroFiber"),eo={_A:T$,_E:T$};class TC{context;interruptible;[_C];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor($,Z=!0){this.context=$,this.interruptible=Z,this[_C]=eo}getRef($){return Mz(this.context,$)}addObserver($){if(this._exit)return $(this._exit),zZ;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(sV)}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===cH)return;let X=PC.interruptChildren&&PC.interruptChildren(this);if(X!==void 0)return this.evaluate(uH(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(nH).shouldYield(this)){Z=!0;let J=X;X=uH(Gn,()=>J)}if(X=X[dV](this),X===cH){let J=this._yielded;if(pH in J)return this._yielded=void 0,J;return cH}}}catch(J){if(!o(X,dV))return uV(`MicroFiber.runLoop: Not a valid effect: ${String(X)}`);return uV(J)}}getCont($){while(!0){let Z=this._stack.pop();if(!Z)return;let X=Z[dH]&&Z[dH](this);if(X)return{[$]:X};if(Z[$])return Z}}_yielded=void 0;yieldWith($){return this._yielded=$,cH}children(){return this._children??=new Set}}var PC=N$("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var MC=Symbol.for("effect/Micro/identifier"),HZ=Symbol.for("effect/Micro/args"),dV=Symbol.for("effect/Micro/evaluate"),JX=Symbol.for("effect/Micro/successCont"),XX=Symbol.for("effect/Micro/failureCont"),dH=Symbol.for("effect/Micro/ensureCont"),cH=Symbol.for("effect/Micro/Yield"),$n={_A:T$,_E:T$,_R:T$},Zn={...kw,_op:"Micro",[lo]:$n,pipe(){return r(this,arguments)},[Symbol.iterator](){return new h4(new L9(this))},toJSON(){return{_id:"Micro",op:this[MC],...HZ in this?{args:this[HZ]}:void 0}},toString(){return S$(this)},[M$](){return S$(this)}};function Xn($){return uV("Micro.evaluate: Not implemented")}var oH=($)=>({...Zn,[MC]:$.op,[dV]:$.eval??Xn,[JX]:$.contA,[XX]:$.contE,[dH]:$.ensure}),nV=($)=>{let Z=oH($);return function(){let X=Object.create(Z);return X[HZ]=$.single===!1?arguments:arguments[0],X}},wC=($)=>{let Z={...oH($),[pH]:pH,_tag:$.op,get[$.prop](){return this[HZ]},toJSON(){return{_id:"MicroExit",_tag:$.op,[$.prop]:this[HZ]}},[J$](X){return Hn(X)&&X._tag===$.op&&i(this[HZ],X[HZ])},[Y$](){return w$(this,U$(f$($.op))(s(this[HZ])))}};return function(X){let J=Object.create(Z);return J[HZ]=X,J[JX]=void 0,J[XX]=void 0,J[dH]=void 0,J}},rV=wC({op:"Success",prop:"value",eval($){let Z=$.getCont(JX);return Z?Z[JX](this[HZ],$):$.yieldWith(this)}}),CC=wC({op:"Failure",prop:"cause",eval($){let Z=$.getCont(XX);while(to(this[HZ])&&Z&&$.interruptible)Z=$.getCont(XX);return Z?Z[XX](this[HZ],$):$.yieldWith(this)}});var Jn=nV({op:"Yield",eval($){let Z=!1;return $.getRef(nH).scheduleTask(()=>{if(Z)return;$.evaluate(Dn)},this[HZ]??0),$.yieldWith(()=>{Z=!0})}}),Gn=Jn(0);var Yn=rV(void 0);var lV=nV({op:"WithMicroFiber",eval($){return this[HZ]($)}});var uH=V(2,($,Z)=>{let X=Object.create(Wn);return X[HZ]=$,X[JX]=Z,X}),Wn=oH({op:"OnSuccess",eval($){return $._stack.push(this),this[HZ]}});var Hn=($)=>o($,pH),RC=rV,iV=CC,sV=iV(ao());var uV=($)=>iV(so($));var Dn=RC(void 0);var An="setImmediate"in globalThis?globalThis.setImmediate:($)=>setTimeout($,0);class aV{tasks=[];running=!1;scheduleTask($,Z){if(this.tasks.push($),!this.running)this.running=!0,An(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(qC)}flush(){while(this.tasks.length>0)this.runTasks()}}var Un=V(2,($,Z)=>lV((X)=>{let J=X.context;return X.context=Z(J),Qn($,()=>{return X.context=J,Yn})}));var LC=V(2,($,Z)=>Un($,d8(Z)));class qC extends p6()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class nH extends p6()("effect/Micro/currentScheduler",{defaultValue:()=>new aV}){}var Kn=V(2,($,Z)=>{let X=Object.create(Vn);return X[HZ]=$,X[JX]=Z.onSuccess,X[XX]=Z.onFailure,X}),Vn=oH({op:"OnSuccessAndFailure",eval($){return $._stack.push(this),this[HZ]}});var Qn=V(2,($,Z)=>Bn((X)=>Kn(X($),{onFailure:(J)=>uH(Z(iV(J)),()=>CC(J)),onSuccess:(J)=>uH(Z(RC(J)),()=>rV(J))})));var EC=nV({op:"SetInterruptible",ensure($){if($.interruptible=this[HZ],$._interrupted&&$.interruptible)return()=>sV}}),On=($)=>lV((Z)=>{if(Z.interruptible)return $;if(Z.interruptible=!0,Z._stack.push(EC(!1)),Z._interrupted)return sV;return $}),Bn=($)=>lV((Z)=>{if(!Z.interruptible)return $(T$);return Z.interruptible=!1,Z._stack.push(EC(!0)),$(On)});var xC=($,Z)=>{let X=new TC(nH.context(Z?.scheduler??new aV));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 U4=Symbol.for("effect/Readable");var fH$={[U4]:U4,pipe(){return r(this,arguments)}};var rH=Symbol.for("effect/Ref"),tV={_A:($)=>$};class jC extends D4{ref;commit(){return this.get}[rH]=tV;[U4]=U4;constructor($){super();this.ref=$,this.get=E(()=>n6(this.ref))}get;modify($){return E(()=>{let Z=n6(this.ref),[X,J]=$(Z);if(Z!==J)v9(J)(this.ref);return X})}}var GX=($)=>new jC(o6($)),M5=($)=>E(()=>GX($)),CZ=($)=>$.get,Z9=V(2,($,Z)=>$.modify(()=>[void 0,Z])),kC=V(2,($,Z)=>$.modify((X)=>[X,Z]));var eV=V(2,($,Z)=>$.modify(Z));var w5=V(2,($,Z)=>$.modify((X)=>[void 0,Z(X)]));var iH=M5,sH=CZ,IC=kC;var vC=w5;class aH{scheduleDrain;running=!1;tasks=new $Q;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 aH($),X=new WeakMap;return(J)=>{if(J===void 0)return Z;let G=X.get(J);if(G===void 0)G=new aH($),X.set(J,G);return G}}}class $Q{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 gC{maxNextTickBeforeTimer;getRunner=aH.cached(($,Z)=>{if($>=this.maxNextTickBeforeTimer)setTimeout(()=>Z(0),0);else Promise.resolve(void 0).then(()=>Z($+1))});constructor($){this.maxNextTickBeforeTimer=$}shouldYield($){return $.currentOpCount>$.getFiberRef(BH)?$.getFiberRef(n9):!1}scheduleTask($,Z,X){this.getRunner(X).scheduleTask($,Z)}}var bC=N$(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new gC(2048));class ZQ{tasks=new $Q;deferred=!1;scheduleTask($,Z,X){if(this.deferred)bC.scheduleTask($,Z,X);else this.tasks.scheduleTask($,Z)}shouldYield($){return $.currentOpCount>$.getFiberRef(BH)?$.getFiberRef(n9):!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 a9=N$(Symbol.for("effect/FiberRef/currentScheduler"),()=>R0(bC)),hC=V(2,($,Z)=>C0($,a9,Z));var _n="effect/Clock",tH=Symbol.for(_n),eZ=YZ("effect/Clock"),Pn=2147483647,mC={unsafeSchedule($,Z){let X=TZ(Z);if(X>Pn)return XZ;let J=!1,G=setTimeout(()=>{J=!0,$()},X);return()=>{return clearTimeout(G),!J}}},fC=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))}}(),Fn=function(){let $=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!$)return fC;let Z=fC()-$.bigint();return()=>Z+$.bigint()}();class cC{[tH]=tH;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return Fn()}currentTimeMillis=E(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=E(()=>this.unsafeCurrentTimeNanos());scheduler(){return T(mC)}sleep($){return jZ((Z)=>{let X=mC.unsafeSchedule(()=>Z(F$),$);return P0(E(X))})}}var eH=()=>new cC;var $D=N$(Symbol.for("effect/FiberRef/currentRequestMap"),()=>R0(new Map));var GQ=($,Z,X,J)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return wZ(_H,(G)=>G==="unbounded"?X():G>1?J(G):Z());default:return $>1?J($):Z()}},w2=($,Z,X)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return wZ(_H,(J)=>J==="unbounded"||J>1?X():Z());default:return $>1?X():Z()}};var pC=($)=>$.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var YQ="And",WQ="Or",HQ="InvalidData",DQ="MissingData",AQ="SourceUnavailable",UQ="Unsupported";var Cn="effect/ConfigError",dC=Symbol.for(Cn),YX={_tag:"ConfigError",[dC]:dC},KQ=($,Z)=>{let X=Object.create(YX);return X._op=YQ,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},VQ=($,Z)=>{let X=Object.create(YX);return X._op=WQ,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},Rn=($,Z,X={pathDelim:"."})=>{let J=Object.create(YX);return J._op=HQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Invalid data at ${P(this.path,j9(X.pathDelim))}: "${this.message}")`}}),J},t9=($,Z,X={pathDelim:"."})=>{let J=Object.create(YX);return J._op=DQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Missing data at ${P(this.path,j9(X.pathDelim))}: "${this.message}")`}}),J},Ln=($,Z,X,J={pathDelim:"."})=>{let G=Object.create(YX);return G._op=AQ,G.path=$,G.message=Z,G.cause=X,Object.defineProperty(G,"toString",{enumerable:!1,value(){return`(Source unavailable at ${P(this.path,j9(J.pathDelim))}: "${this.message}")`}}),G},qn=($,Z,X={pathDelim:"."})=>{let J=Object.create(YX);return J._op=UQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${P(this.path,j9(X.pathDelim))}: "${this.message}")`}}),J};var K4=V(2,($,Z)=>{switch($._op){case YQ:return KQ(K4($.left,Z),K4($.right,Z));case WQ:return VQ(K4($.left,Z),K4($.right,Z));case HQ:return Rn([...Z,...$.path],$.message);case DQ:return t9([...Z,...$.path],$.message);case AQ:return Ln([...Z,...$.path],$.message,$.cause);case UQ:return qn([...Z,...$.path],$.message)}});var oC={_tag:"Empty"};var ZD=V(2,($,Z)=>{let X=IJ(Z),J=$;while(wK(X)){let G=X.head;switch(G._tag){case"Empty":{X=X.tail;break}case"AndThen":{X=y9(G.first,y9(G.second,X.tail));break}case"MapName":{J=f6(J,G.f),X=X.tail;break}case"Nested":{J=C7(J,G.name),X=X.tail;break}case"Unnested":{if(P(j1(J),I3(G.name)))J=m6(J),X=X.tail;else return g$(t9(J,`Expected ${G.name} to be in path in ConfigProvider#unnested`));break}}}return E$(J)});var nC="Constant",rC="Fail",lC="Fallback",iC="Described",sC="Lazy",aC="MapOrFail",tC="Nested",eC="Primitive",$R="Sequence",ZR="HashMap",XR="ZipWith";var XD=($,Z)=>[...$,...Z],Sn="effect/ConfigProvider",JR=Symbol.for(Sn),WX=YZ("effect/ConfigProvider"),jn="effect/ConfigProviderFlat",GR=Symbol.for(jn),kn=($)=>({[JR]:JR,pipe(){return r(this,arguments)},...$}),In=($)=>({[GR]:GR,patch:$.patch,load:(Z,X,J=!0)=>$.load(Z,X,J),enumerateChildren:$.enumerateChildren}),vn=($)=>kn({load:(Z)=>z(t8($,B6(),Z,!1),(X)=>f0(j1(X),{onNone:()=>R$(t9(B6(),`Expected a single value having structure: ${Z}`)),onSome:T})),flattened:$}),YR=($)=>{let{pathDelim:Z,seqDelim:X}=Object.assign({},{pathDelim:"_",seqDelim:","},$),J=(A)=>P(A,j9(Z)),G=(A)=>A.split(Z),Y=()=>typeof process<"u"&&("env"in process)&&typeof process.env==="object"?process.env:{};return vn(In({load:(A,K,Q=!0)=>{let O=J(A),_=Y(),F=O in _?S(_[O]):x();return P(F,a1(()=>t9(A,`Expected ${O} to exist in the process context`)),z((M)=>mn(M,A,K,X,Q)))},enumerateChildren:(A)=>E(()=>{let K=Y(),_=Object.keys(K).map((F)=>G(F.toUpperCase())).filter((F)=>{for(let M=0;M<A.length;M++){let C=P(A,g3(M)),m=F[M];if(m===void 0||C!==m)return!1}return!0}).flatMap((F)=>F.slice(A.length,A.length+1));return RW(_)}),patch:oC}))};var yn=($,Z,X,J)=>{let G=c3(X.length,(A)=>A>=J.length?x():S([$(A),A+1])),Y=c3(J.length,(A)=>A>=X.length?x():S([Z(A),A+1])),W=XD(X,G),H=XD(J,Y);return[W,H]},gn=($,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 $},t8=($,Z,X,J)=>{let G=X;switch(G._tag){case nC:return T(iZ(G.value));case iC:return H$(()=>t8($,Z,G.config,J));case rC:return R$(t9(Z,G.message));case lC:return P(H$(()=>t8($,Z,G.first,J)),M6((Y)=>{if(G.condition(Y))return P(t8($,Z,G.second,J),M6((W)=>R$(VQ(Y,W))));return R$(Y)}));case sC:return H$(()=>t8($,Z,G.config(),J));case aC:return H$(()=>P(t8($,Z,G.original,J),z(QZ((Y)=>P(G.mapOrFail(Y),a1(K4(gn(Z,G.original))))))));case tC:return H$(()=>t8($,XD(Z,iZ(G.name)),G.config,J));case eC:return P(ZD(Z,$.patch),z((Y)=>P($.load(Y,G,J),z((W)=>{if(W.length===0){let H=P(Wz(Y),c0(()=>"<n/a>"));return R$(t9([],`Expected ${G.description} with name ${H}`))}return T(W)}))));case $R:return P(ZD(Z,$.patch),z((Y)=>P($.enumerateChildren(Y),z(cn),z((W)=>{if(W.length===0)return H$(()=>I(t8($,Z,G.config,!0),iZ));return P(QZ(W,(H)=>t8($,Jz(Z,`[${H}]`),G.config,!0)),I((H)=>{let A=ZW(H);if(A.length===0)return iZ(B6());return iZ(A)}))}))));case ZR:return H$(()=>P(ZD(Z,$.patch),z((Y)=>P($.enumerateChildren(Y),z((W)=>{return P(W,QZ((H)=>t8($,XD(Y,iZ(H)),G.valueConfig,J)),I((H)=>{if(H.length===0)return iZ(e4());return P(fn(H),f6((A)=>LT(m3(_$(W),A))))}))})))));case XR:return H$(()=>P(t8($,Z,G.left,J),r8,z((Y)=>P(t8($,Z,G.right,J),r8,z((W)=>{if(M0(Y)&&M0(W))return R$(KQ(Y.left,W.left));if(M0(Y)&&b6(W))return R$(Y.left);if(b6(Y)&&M0(W))return R$(W.left);if(b6(Y)&&b6(W)){let H=P(Z,j9(".")),A=bn(Z,H),[K,Q]=yn(A,A,P(Y.right,f6(E$)),P(W.right,f6(E$)));return P(K,m3(Q),QZ(([O,_])=>P(U5(O,_),I(([F,M])=>G.zip(F,M)))))}throw Error("BUG: ConfigProvider.fromFlatLoop - please report an issue at https://github.com/Effect-TS/effect/issues")})))))}},bn=($,Z)=>(X)=>g$(t9($,`The element at index ${X} in a sequence at path "${Z}" was missing`));var hn=($,Z)=>{return $.split(new RegExp(`\\s*${pC(Z)}\\s*`))},mn=($,Z,X,J,G)=>{if(!G)return P(X.parse($),Y2({onFailure:K4(Z),onSuccess:iZ}));return P(hn($,J),QZ((Y)=>X.parse(Y.trim())),a1(K4(Z)))},fn=($)=>{return Object.keys($[0]).map((Z)=>$.map((X)=>X[Z]))},cn=($)=>P(QZ($,dn),Y2({onFailure:()=>B6(),onSuccess:H8(OZ)}),r8,I(o4));var pn=/^(\[(\d+)\])$/,dn=($)=>{let Z=$.match(pn);if(Z!==null){let X=Z[2];return P(X!==void 0&&X.length>0?S(X):x(),lZ(un))}return x()};var un=($)=>{let Z=Number.parseInt($);return Number.isNaN(Z)?x():S(Z)};var C5={};F8(C5,{sleep:()=>UX,make:()=>tn,currentTimeNanos:()=>OQ,currentTimeMillis:()=>X1,clockWith:()=>BQ,ClockTypeId:()=>an,Clock:()=>NQ});var WR=Symbol.for("effect/Console"),e9=YZ("effect/Console"),HR={[WR]:WR,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 nn="effect/Random",C2=Symbol.for(nn),$1=YZ("effect/Random");class AR{seed;[C2]=C2;PRNG;constructor($){this.seed=$,this.PRNG=new _3($)}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 UR($,(Z)=>this.nextIntBetween(0,Z))}}var UR=($,Z)=>{return H$(()=>P(E(()=>Array.from($)),z((X)=>{let J=[];for(let G=X.length;G>=2;G=G-1)J.push(G);return P(J,R8((G)=>P(Z(G),I((Y)=>rn(X,G-1,Y)))),n$(I1(X)))})))},rn=($,Z,X)=>{let J=$[Z];return $[Z]=$[X],$[X]=J,$},QQ=($)=>new AR(s($));class KR{values;[C2]=C2;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 s($)/2147483647})}get nextBoolean(){return E(()=>{let $=this.getNextValue();if(typeof $==="boolean")return $;return s($)%2===0})}get nextInt(){return E(()=>{let $=this.getNextValue();if(typeof $==="number"&&Number.isFinite($))return Math.round($);return Math.abs(s($))})}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(s(X));return $+J%(Z-$)})}shuffle($){return UR($,(Z)=>this.nextIntBetween(0,Z))}}var VR=($)=>new KR($);var OR=Symbol.for("effect/Tracer"),ln=($)=>({[OR]:OR,...$}),Z1=YZ("effect/Tracer"),bZ=YZ("effect/ParentSpan"),BR=function(){return function(X){let J="";for(let G=0;G<X;G++)J+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return J}}();class NR{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:BR(32),this.spanId=BR(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 _R=ln({span:($,Z,X,J,G,Y)=>new NR($,Z,X,J,G,Y),context:($)=>$()});var x8=($)=>{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}}}},HX=p6()("effect/Tracer/DisablePropagation",{defaultValue:XZ});var sn=P(KZ(),s$(eZ,eH()),s$(e9,HR),s$($1,QQ(Math.random())),s$(WX,YR()),s$(Z1,_R)),z0=N$(Symbol.for("effect/DefaultServices/currentServices"),()=>OH(sn)),PR=($)=>{let Z=G0($);return R2((X)=>X.sleep(Z))},JD=($)=>q$((Z)=>$(Z.currentDefaultServices)),R2=($)=>JD((Z)=>$(Z.unsafeMap.get(eZ.key))),FR=R2(($)=>$.currentTimeMillis),zR=R2(($)=>$.currentTimeNanos),TR=V(2,($,Z)=>s0(z0,s$(eZ,Z))($)),MR=V(2,($,Z)=>s0(z0,s$(WX,Z))($)),wR=($)=>JD((Z)=>$(Z.unsafeMap.get(WX.key)));var AX=($)=>JD((Z)=>$(Z.unsafeMap.get($1.key))),CR=V(2,($,Z)=>s0(z0,s$($1,Z))($)),RR=AX(($)=>$.next);var GD=($)=>JD((Z)=>$(Z.unsafeMap.get(Z1.key))),LR=V(2,($,Z)=>s0(z0,s$(Z1,Z))($));var an=tH,tn=eH,UX=PR,X1=FR,OQ=zR,BQ=R2,NQ=eZ;var qR=($,Z)=>({label:$,startTime:Z}),_Q=($)=>$.replace(/[\s="]/g,"_"),PQ=($)=>(Z)=>{return`${_Q(Z.label)}=${$-Z.startTime}ms`};var xR=qR;var SR=GD;var jR="effect/MetricLabel",FQ=Symbol.for(jR);class kR{key;value;[FQ]=FQ;_hash;constructor($,Z){this.key=$,this.value=Z,this._hash=f$(jR+this.key+this.value)}[Y$](){return this._hash}[J$]($){return Zr($)&&this.key===$.key&&this.value===$.value}pipe(){return r(this,arguments)}}var R5=($,Z)=>{return new kR($,Z)},Zr=($)=>o($,FQ);var IR=V(($)=>h$($[0]),function(){let $=arguments;return s0($[0],r9,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),KX=($)=>I($,S),vR=($)=>a1($,S),TQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;return H$(()=>{try{return T(q0(Z))}catch(J){return R$(X?q0(()=>X(J)):new N5(J,"An unknown error occurred in Effect.try"))}})},yR=V(3,($,Z,X)=>M6($,(J)=>{if(o(J,Z)&&J[Z]===X.failure)return X.onFailure(J);return R$(J)})),gR=V(2,($,Z)=>a6($,(X)=>{let J=i6(X,(G)=>X5(G)?S(G):x());switch(J._tag){case"None":return L$(X);case"Some":return Z(J.value.defect)}})),bR=V(2,($,Z)=>Q0($,{onFailure:(X)=>{let J=Z(X);switch(J._tag){case"None":return L$(X);case"Some":return J.value}},onSuccess:T})),hR=V(2,($,Z)=>a6($,(X)=>{let J=i6(X,(G)=>X5(G)?S(G):x());switch(J._tag){case"None":return L$(X);case"Some":{let G=Z(J.value.defect);return G._tag==="Some"?G.value:L$(X)}}})),mR=V(($)=>h$($[0]),($,...Z)=>{let X=Z[Z.length-1],J;if(Z.length===2)J=x1(Z[0]);else J=(G)=>{let Y=o(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 J2($,J,X)}),fR=V(2,($,Z)=>{let X;return J2($,(J)=>{return X??=Object.keys(Z),o(J,"_tag")&&AJ(J._tag)&&X.includes(J._tag)},(J)=>Z[J._tag](J))}),cR=($)=>G2($,{onFailure:T$,onSuccess:()=>d0}),X9=BQ,pR=X9(T),dR=V(2,($,Z)=>x$(UX(Z),$)),HD=($)=>q$((Z,X)=>$({id:Z.id(),status:X,interruptors:G5(Z.getFiberRef(Q5))})),uR=HD(($)=>I9($.interruptors)>0?DH:F$),oR=HD(T),VX=($)=>x2($,DD,T2),Xr=($)=>x2($,U5(DD,l7),([Z,X],[J,G])=>[T2(Z,J),n8(X,G)]),nR=T({}),rR=O7(I,z),lR=Q7(I),iR=V7(I),sR=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=T(!1),W=0;while((G=X.next())&&!G.done){let H=G.value,A=W++;Y=z(Y,(K)=>{if(K)return J.push(H),T(!0);return Z(H,A)})}return I(Y,()=>J)})),aR=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=T(!0),W=0;while((G=X.next())&&!G.done){let H=G.value,A=W++;Y=z(Y,(K)=>I(K?Z(H,A):T(!1),(Q)=>{if(!Q)J.push(H);return Q}))}return I(Y,()=>J)})),tR=($)=>I(N8(),$),MQ=($)=>D5($,()=>z($9(),()=>MQ($))),eR=V(2,($,Z)=>I(QZ($,T$),R7(Z))),$L=V(3,($,Z,X)=>L2($,Z,(J)=>C8(()=>X(J)))),ZL=V(3,($,Z,X)=>L2($,Z,()=>l1(X))),L2=V(3,($,Z,X)=>z($,(J)=>Z(J)?T(J):X(J))),XL=V(3,($,Z,X)=>H$(()=>Z($)?T($):R$(X($)))),JL=V(($)=>h$($[0]),($,Z,X)=>L2($,Z,(J)=>X===void 0?R$(new yZ):l8(()=>X(J)))),GL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=X.next();if(!J.done)return YL(X,0,Z,J.value);return T(x())})),YL=($,Z,X,J)=>z(X(J,Z),(G)=>{if(G)return T(S(J));let Y=$.next();if(!Y.done)return YL($,Z+1,X,Y.value);return T(x())}),WL=($)=>H$(()=>{let Z=I1($);if(!W0(Z))return C8(()=>new i8("Received an empty collection of effects"));return P(H0(Z),k1(y$(Z),(X,J)=>D5(X,()=>J)))}),HL=V(2,($,Z)=>s1(Z(s1($)))),q2=V(2,($,Z)=>i0($,{onFailure:(X)=>T(Z.onFailure(X)),onSuccess:(X)=>T(Z.onSuccess(X))})),DL=V(2,($,Z)=>H$(()=>AL($[Symbol.iterator](),0,Z))),AL=($,Z,X)=>{let J=$.next();return J.done?T(!0):z(X(J.value,Z),(G)=>G?AL($,Z+1,X):T(G))},wQ=($)=>{let Z=z(z($,()=>$9()),()=>Z);return Z},DD=q$(($)=>T($.getFiberRefs())),UL=($)=>z($,(Z)=>{let J=Z[Symbol.iterator]().next();if(J.done)return R$(new yZ);return T(J.value)}),AD=($)=>q2($,{onFailure:zZ,onSuccess:zZ}),KL=($)=>Q0($,{onFailure:(Z)=>RQ(Z,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>F$}),VL=($)=>KD((Z,X)=>dw(X,Z,$)),QL=($)=>q2($,{onFailure:y6,onSuccess:XZ}),OL=($)=>q2($,{onFailure:XZ,onSuccess:y6}),CQ=($,Z)=>H$(()=>{if(Z.while($))return z(Z.body($),(X)=>CQ(X,Z));return T($)}),J1=($)=>(...Z)=>{let X=W8($),J=void 0;for(let G=0,Y=Z.length;G<Y;G++){let W=Z[G];if(fJ(W)){if(J!==void 0)J=a$(J,W);else J=W;Z=[...Z.slice(0,G),...Z.slice(G+1)],G--}}if(J===void 0)J=d0;return q$((G)=>{return G.log(Z,J,X),F$})},BL=J1(),NL=J1(fV),RQ=J1(mV),_L=J1(hV),PL=J1(bV),FL=J1(gV),zL=J1(yV),TL=V(2,($,Z)=>z(X1,(X)=>s0($,NH,hW(xR(Z,X))))),ML=L8(r9),wL=($,Z)=>Z.discard?RL($,Z.while,Z.step,Z.body):I(CL($,Z.while,Z.step,Z.body),_$),CL=($,Z,X,J)=>H$(()=>Z($)?z(J($),(G)=>I(CL(X($),Z,X,J),hW(G))):E(()=>l6())),RL=($,Z,X,J)=>H$(()=>Z($)?z(J($),()=>RL(X($),Z,X,J)):F$),LL=V(3,($,Z,X)=>H$(()=>{let J=$[Symbol.iterator](),G=[],Y=T(Z),W,H=0;while(!(W=J.next()).done){let A=H++,K=W.value;Y=z(Y,(Q)=>I(X(Q,K,A),([O,_])=>{return G.push(_),O}))}return I(Y,(A)=>[A,G])})),QX=V(2,($,Z)=>Q0($,{onFailure:(X)=>p9(()=>Z(X)),onSuccess:T})),UD=($)=>P(B8(),z((Z)=>P(Xr($),t6(Z),LQ,I((X)=>x$(X,P(WZ(Z),z(([J,G])=>n$(U5(L5(J[0]),t1(J[1])),G)))))))),qL=($)=>i0($,{onFailure:(Z)=>T(Z),onSuccess:T}),E2=($)=>I($,(Z)=>!Z),EL=($)=>z($,(Z)=>{switch(Z._tag){case"None":return F$;case"Some":return R$(new yZ)}}),LQ=($)=>I(iH(!0),(Z)=>P0(i7($,IC(Z,!1)))),xL=($)=>i0($,{onFailure:()=>T(x()),onSuccess:(Z)=>T(S(Z))}),SL=V(2,($,Z)=>D5($,()=>l8(Z))),jL=V(2,($,Z)=>D5($,()=>E(Z))),kL=($)=>Q0($,{onFailure:(Z)=>{let X=_$(c7(Z));return X.length===0?L$(Z):R$(X)},onSuccess:T}),L5=($)=>KD((Z,X)=>P($,gH(Z,X))),IL=($)=>$.length>=1?jZ((Z,X)=>{try{$(X).then((J)=>Z(T(J)),(J)=>Z(MZ(J)))}catch(J){Z(MZ(J))}}):jZ((Z)=>{try{$().then((X)=>Z(T(X)),(X)=>Z(MZ(X)))}catch(X){Z(MZ(X))}}),Q4=V(3,($,Z,X)=>E8((J)=>tZ($,s$(J,Z,X)))),O4=V(3,($,Z,X)=>E8((J)=>z(X,(G)=>tZ($,P(J,s$(Z,G)))))),vL=AX(T),yL=V(3,($,Z,X)=>_$($).reduce((J,G,Y)=>z(J,(W)=>X(W,G,Y)),T(Z))),gL=V(3,($,Z,X)=>_$($).reduceRight((J,G,Y)=>z(J,(W)=>X(G,W,Y)),T(Z))),bL=V(3,($,Z,X)=>z(E(()=>$[Symbol.iterator]()),(J)=>hL(J,0,Z,X.while,X.body))),hL=($,Z,X,J,G)=>{let Y=$.next();if(!Y.done&&J(X))return z(G(X,Y.value,Z),(W)=>hL($,Z+1,W,J,G));return T(X)},mL=V(2,($,Z)=>H$(()=>fL($,Z))),fL=($,Z)=>z($,(X)=>Z<=0?T(X):x$($9(),fL($,Z-1))),cL=($)=>Q0($,{onFailure:R$,onSuccess:T}),pL=($)=>H$(()=>uw($)),q5=UX,E5=T(x()),dL=($)=>T(S($)),x2=V(3,($,Z,X)=>z(Z,(J)=>z($,(G)=>I(Z,(Y)=>[X(J,Y),G])))),uL=V(($)=>h$($[0]),function(){return qQ(arguments[0],typeof arguments[1]==="string"?[R5(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([$,Z])=>R5($,Z)))}),qQ=V(2,($,Z)=>s0($,l9,(X)=>O6(X,Z))),oL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=T(!1),W=0;while((G=X.next())&&!G.done){let H=G.value,A=W++;Y=z(Y,(K)=>{if(K)return T(!0);return J.push(H),Z(H,A)})}return I(Y,()=>J)})),nL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=T(!0),W=0;while((G=X.next())&&!G.done){let H=G.value,A=W++;Y=z(Y,(K)=>P(K?Z(H,A):T(!1),I((Q)=>{if(Q)J.push(H);return Q})))}return I(Y,()=>J)})),rL=V(2,($,{onFailure:Z,onSuccess:X})=>Q0($,{onFailure:(J)=>{let G=z6(J);switch(G._tag){case"Left":return x$(Z(G.left),L$(J));case"Right":return L$(J)}},onSuccess:(J)=>n$(X(J),J)})),lL=V(2,($,Z)=>a6($,(X)=>f0(eW(X),{onNone:()=>L$(X),onSome:(J)=>x$(Z(J),L$(X))}))),EQ=V(2,($,Z)=>Q0($,{onFailure:(X)=>{let J=z6(X);switch(J._tag){case"Left":return x$(Z(J.left),L$(X));case"Right":return L$(X)}},onSuccess:T})),iL=V(3,($,Z,X)=>EQ($,(J)=>{if(x1(J,Z))return X(J);return F$})),sL=V(2,($,Z)=>Q0($,{onFailure:(X)=>x$(Z(X),L$(X)),onSuccess:T})),aL=($)=>xQ($,OQ),xQ=V(2,($,Z)=>x2($,Z,(X,J)=>RJ(J-X))),Jr=SR,tL=Jr(T),SQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;let J=(G)=>X?l8(()=>X(G)):R$(new N5(G,"An unknown error occurred in Effect.tryPromise"));if(Z.length>=1)return jZ((G,Y)=>{try{Z(Y).then((W)=>G(T(W)),(W)=>G(J(W)))}catch(W){G(J(W))}});return jZ((G)=>{try{Z().then((Y)=>G(T(Y)),(Y)=>G(J(Y)))}catch(Y){G(J(Y))}})},eL=V(2,($,Z)=>z($,(X)=>TQ({try:()=>Z.try(X),catch:Z.catch}))),$q=V(2,($,Z)=>z($,(X)=>SQ({try:Z.try.length>=1?(J)=>Z.try(X,J):()=>Z.try(X),catch:Z.catch}))),Zq=V(2,($,Z)=>H$(()=>Z()?E5:KX($))),Xq=V(2,($,Z)=>z(Z,(X)=>X?E5:KX($))),Jq=($)=>QX($,$H),KD=($)=>q$((Z)=>{return Z.setFiberRefs($(Z.id(),Z.getFiberRefs())),F$}),Gq=V(3,($,Z,X)=>W4($,(J)=>s$(J,Z,X(p8(J,Z))))),VD=V(2,($,Z)=>H$(()=>Z()?I($,S):T(x()))),Yq=V(3,($,Z,X)=>z(L8(Z),(J)=>X(J)?I($,(G)=>[J,S(G)]):T([J,x()]))),Wq=V(3,($,Z,X)=>z(sH(Z),(J)=>X(J)?I($,(G)=>[J,S(G)]):T([J,x()]))),Hq=V(2,($,Z)=>Z($)),Dq=($,Z)=>(...X)=>z($,(J)=>Z(J)(...X)),Aq=($,Z)=>(...X)=>I($,(J)=>Z(J)(...X)),jQ=($)=>new Proxy({},{get(Z,X,J){return(...G)=>z($,(Y)=>Y[X](...G))}}),kQ=($)=>new Proxy({},{get(Z,X,J){return z($,(G)=>h$(G[X])?G[X]:T(G[X]))}}),Uq=($)=>({functions:jQ($),constants:kQ($)}),Kq=($)=>I(N8(),w8($)),IQ=($)=>z(N8(),w8($)),Vq=function(){let $=arguments;return AD(z(yQ,(Z)=>E(()=>{if(typeof $[0]==="string")Z.attribute($[0],$[1]);else for(let X in $[0])Z.attribute(X,$[0][X])})))},Qq=function(){let $=arguments,Z=Array.isArray($[0])?$[0]:[{_tag:"SpanLink",span:$[0],attributes:$[1]??{}}];return AD(z(vQ,(X)=>E(()=>X.addLinks(Z))))},Oq=V(($)=>h$($[0]),function(){let $=arguments;return s0($[0],a7,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),Bq=IQ(bZ),vQ=z(N8(),($)=>{let Z=$.unsafeMap.get(bZ.key);return Z!==void 0&&Z._tag==="Span"?T(Z):R$(new yZ)}),yQ=z(N8(),($)=>{let Z=S2(w8($,bZ));return Z._tag==="Some"&&Z.value._tag==="Span"?T(Z.value):R$(new yZ)}),Nq=V(($)=>h$($[0]),($,Z,X)=>s0($,FH,q7({_tag:"SpanLink",span:Z,attributes:X??{}}))),_q=BigInt(0),S2=lZ(($)=>r0($.context,HX)?$._tag==="Span"?S2($.parent):x():S($)),QD=($,Z,X)=>{let J=!$.getFiberRef(D2)||X.context&&r0(X.context,HX),G=$.getFiberRef(O8),Y=X.parent?S(X.parent):X.root?x():S2(w8(G,bZ)),W;if(J)W=Sw({name:Z,parent:Y,context:s$(X.context??KZ(),HX,!0)});else{let H=$.getFiberRef(z0),A=r0(H,Z1),K=r0(H,NQ),Q=$.getFiberRef(X4),O=$.getFiberRefs(),_=SV(O,a7),F=SV(O,FH),M=F._tag==="Some"?X.links!==void 0?[...f8(F.value),...X.links??[]]:f8(F.value):X.links??B6();if(W=A.span(Z,Y,X.context??KZ(),M,Q?K.unsafeCurrentTimeNanos():_q,X.kind??"internal",X),_._tag==="Some")jT(_.value,(C,m)=>W.attribute(m,C));if(X.attributes!==void 0)Object.entries(X.attributes).forEach(([C,m])=>W.attribute(C,m))}if(typeof X.captureStackTrace==="function")dJ.set(W,X.captureStackTrace);return W},Pq=($,Z)=>{return Z=x8(Z),q$((X)=>T(QD(X,$,Z)))},Fq=L8(a7),zq=L8(FH),gQ=($,Z,X,J)=>E(()=>{if($.status._tag==="Ended")return;if(MH(Z)&&dJ.has($))$.attribute("code.stacktrace",dJ.get($)());$.end(J?X.unsafeCurrentTimeNanos():_q,Z)}),YD=($,...Z)=>{let X=x8(Z.length===1?void 0:Z[0]),J=Z[Z.length-1];return q$((G)=>{let Y=QD(G,$,X),W=G.getFiberRef(X4),H=r0(G.getFiberRef(z0),eZ);return sZ(J(Y),(A)=>gQ(Y,A,H,W))})},WD=V(2,($,Z)=>Q4($,bZ,Z)),bQ=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=x8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return YD(Z,X,(G)=>WD(J,G))}return(J)=>YD(Z,X,(G)=>WD(J,G))},Tq=($)=>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
+ `).slice(2).join(`
26
+ `).trim(),G}}return H$(()=>{let X=typeof $.options==="function"?$.options.apply(null,arguments):$.options;return bQ(H$(()=>q0(()=>$.body.apply(this,arguments))),X.name,{...X,captureStackTrace:Z})})},Mq=($)=>$==null?R$(new yZ):T($),wq=($)=>M6(I($,S),(Z)=>TH(Z)?E5:R$(Z));var hQ="InterruptSignal",mQ="Stateful",fQ="Resume",cQ="YieldNow",OD=($)=>({_tag:"InterruptSignal",cause:$}),BX=($)=>({_tag:"Stateful",onFiber:$}),x5=($)=>({_tag:"Resume",effect:$}),Cq=()=>({_tag:"YieldNow"});var Gr="effect/FiberScope",BD=Symbol.for(Gr);class Lq{[BD]=BD;fiberId=p0;roots=new Set;add($,Z){this.roots.add(Z),Z.addObserver(()=>{this.roots.delete(Z)})}}class qq{fiberId;parent;[BD]=BD;constructor($,Z){this.fiberId=$,this.parent=Z}add($,Z){this.parent.tell(BX((X)=>{X.addChild(Z),Z.addObserver(()=>{X.removeChild(Z)})}))}}var Eq=($)=>{return new qq($.id(),$)},w6=N$(Symbol.for("effect/FiberScope/Global"),()=>new Lq);var Yr="effect/Fiber",G1=Symbol.for(Yr),NX={_E:($)=>$,_A:($)=>$},_D={[G1]:NX,pipe(){return r(this,arguments)}},Wr="effect/Fiber",k2=Symbol.for(Wr),xq=P(dF(OZ,OZ),sY(($)=>[$.id().startTimeMillis,$.id().id])),Sq=($)=>o($,G1),j2=($)=>(k2 in $),PD=($)=>$.await,jq=($)=>$.children,S5=($)=>{return{...m8,commit(){return BZ(this)},..._D,id:()=>p0,await:T($),children:T([]),inheritAll:F$,poll:T(S($)),interruptAsFork:()=>F$}},FD=($)=>I($.status,(Z)=>({id:$.id(),status:Z})),kq=($)=>QZ($,FD),Iq=($)=>S5(PV($)),dQ=($)=>S5(FV($)),vq=($)=>I(U0($),S5),yq=($)=>$.id(),zD=($)=>$.inheritAll,gq=($)=>S5(TV($)),bq=($)=>z(d9,(Z)=>P($,I2(Z))),I2=V(2,s7(function*($,Z){for(let X of $){if(j2(X)){X.unsafeInterruptAsFork(Z);continue}yield*X.interruptAsFork(Z)}for(let X of $){if(j2(X)&&X.unsafePoll())continue;yield*X.await}})),TD=V(2,($,Z)=>$.interruptAsFork(Z)),BZ=($)=>K5(kZ($.await),$.inheritAll),ND=V(2,($,Z)=>uQ($,(X)=>E(()=>Z(X)))),uQ=V(2,($,Z)=>{return{...m8,commit(){return BZ(this)},..._D,id:()=>$.id(),await:z($.await,LH(Z)),children:$.children,inheritAll:$.inheritAll,poll:z($.poll,(J)=>{switch(J._tag){case"None":return T(x());case"Some":return P(LH(J.value,Z),I(S))}}),interruptAsFork:(J)=>$.interruptAsFork(J)}}),hq=V(2,($,Z)=>I($.await,MV({onFailure:(X)=>dQ(X),onSuccess:(X)=>Z(X)}))),mq=V(2,($,{onFiber:Z,onRuntimeFiber:X})=>{if(j2($))return X($);return Z($)}),Hr={...m8,commit(){return BZ(this)},..._D,id:()=>p0,await:$4,children:T([]),inheritAll:$4,poll:T(x()),interruptAsFork:()=>$4},fq=Hr,oQ=V(2,($,Z)=>({...m8,commit(){return BZ(this)},..._D,id:()=>vW($.id(),Z.id()),await:aZ($.await,Z.await,(X,J)=>H4(X)?X:J),children:$.children,inheritAll:x$(Z.inheritAll,$.inheritAll),poll:aZ($.poll,Z.poll,(X,J)=>{switch(X._tag){case"None":return x();case"Some":return H4(X.value)?X:J}}),interruptAsFork:(X)=>P(vZ($,X),x$(P(Z,vZ(X))),P0)})),cq=V(2,($,Z)=>oQ(ND($,g$),ND(Z,E$))),pq=($)=>$.poll,Dr=($)=>{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}},Ar=($)=>{if(fH($))return"Done";if(VC($))return"Running";return`Suspended(${F6($.runtimeFlags)?"interruptible":"uninterruptible"})`},dq=($)=>z(X1,(Z)=>I(FD($),(X)=>{let J=Z-X.id.startTimeMillis,{days:G,hours:Y,milliseconds:W,minutes:H,seconds:A}=Dr(J),K=(G===0?"":`${G}d`)+(G===0&&Y===0?"":`${Y}h`)+(G===0&&Y===0&&H===0?"":`${H}m`)+(G===0&&Y===0&&H===0&&A===0?"":`${A}s`)+`${W}ms`,Q=QC(X.status)?(()=>{let _=f1(X.status.blockingOn);return I9(_)>0?"waiting on "+Array.from(_).map((F)=>`${F}`).join(", "):""})():"",O=Ar(X.status);return`[Fiber](#${X.id.id}) (${K}) ${Q}
27
+ Status: ${O}`})),nQ=()=>Array.from(w6.roots),uq=E(nQ),oq=($)=>$.status,rQ=($)=>S5(P2($)),nq=rQ(void 0);var Y1="effect/FiberCurrent",rq=()=>W8(globalThis[Y1]);var Ur="effect/Logger",lq=Symbol.for(Ur),iq={_Message:($)=>$,_Output:($)=>$},MD=($)=>({[lq]:iq,log:$,pipe(){return r(this,arguments)}});var RD$={[lq]:iq,log:zZ,pipe(){return r(this,arguments)}};var Kr=/^[^\s"=]*$/,Vr=($,Z)=>({annotations:X,cause:J,date:G,fiberId:Y,logLevel:W,message:H,spans:A})=>{let K=(M)=>M.match(Kr)?M:$(M),Q=(M,C)=>`${_Q(M)}=${K(C)}`,O=(M,C)=>" "+Q(M,C),_=Q("timestamp",G.toISOString());_+=O("level",W.label),_+=O("fiber",IW(Y));let F=Xz(H);for(let M=0;M<F.length;M++)_+=O("message",q9(F[M],Z));if(!tW(J))_+=O("cause",T6(J,{renderErrorCause:!0}));for(let M of A)_+=" "+PQ(G.getTime())(M);for(let[M,C]of X)_+=O(M,q9(C,Z));return _},Qr=($)=>`"${$.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,sq=MD(Vr(Qr));var j5={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},LD$={None:[],All:[],Trace:[j5.gray],Debug:[j5.blue],Info:[j5.green],Warning:[j5.yellow],Error:[j5.red],Fatal:[j5.bgBrightRed,j5.black]};var aq=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,qD$=aq&&process.stdout.isTTY===!0,ED$=aq||"Deno"in globalThis;var tq="effect/MetricBoundaries",iQ=Symbol.for(tq);class eq{values;[iQ]=iQ;constructor($){this.values=$,this._hash=P(f$(tq),U$(o0(this.values)))}_hash;[Y$](){return this._hash}[J$]($){return Br($)&&i(this.values,$.values)}pipe(){return r(this,arguments)}}var Br=($)=>o($,iQ),Nr=($)=>{let Z=P($,y3(x0(Number.POSITIVE_INFINITY)),p3);return new eq(Z)};var $E=($)=>P(v3($.count-1,(Z)=>$.start*Math.pow($.factor,Z)),wJ,Nr);var Pr="effect/MetricKeyType",ZE=Symbol.for(Pr),XE="effect/MetricKeyType/Counter",sQ=Symbol.for(XE),Fr="effect/MetricKeyType/Frequency",zr=Symbol.for(Fr),Tr="effect/MetricKeyType/Gauge",Mr=Symbol.for(Tr),JE="effect/MetricKeyType/Histogram",aQ=Symbol.for(JE),wr="effect/MetricKeyType/Summary",Cr=Symbol.for(wr),GE={_In:($)=>$,_Out:($)=>$};class YE{incremental;bigint;[ZE]=GE;[sQ]=sQ;constructor($,Z){this.incremental=$,this.bigint=Z,this._hash=f$(XE)}_hash;[Y$](){return this._hash}[J$]($){return tQ($)}pipe(){return r(this,arguments)}}class WE{boundaries;[ZE]=GE;[aQ]=aQ;constructor($){this.boundaries=$,this._hash=P(f$(JE),U$(s(this.boundaries)))}_hash;[Y$](){return this._hash}[J$]($){return eQ($)&&i(this.boundaries,$.boundaries)}pipe(){return r(this,arguments)}}var HE=($)=>new YE($?.incremental??!1,$?.bigint??!1);var DE=($)=>{return new WE($)};var tQ=($)=>o($,sQ),AE=($)=>o($,zr),UE=($)=>o($,Mr),eQ=($)=>o($,aQ),KE=($)=>o($,Cr);var Rr="effect/MetricKey",QE=Symbol.for(Rr),Lr={_Type:($)=>$},qr=L7(i);class wD{name;keyType;description;tags;[QE]=Lr;constructor($,Z,X,J=[]){this.name=$,this.keyType=Z,this.description=X,this.tags=J,this._hash=P(f$(this.name+this.description),U$(s(this.keyType)),U$(o0(this.tags)))}_hash;[Y$](){return this._hash}[J$]($){return Er($)&&this.name===$.name&&i(this.keyType,$.keyType)&&i(this.description,$.description)&&qr(this.tags,$.tags)}pipe(){return r(this,arguments)}}var Er=($)=>o($,QE),OE=($,Z)=>new wD($,HE(Z),W8(Z?.description));var BE=($,Z,X)=>new wD($,DE(Z),W8(X));var NE=V(2,($,Z)=>Z.length===0?$:new wD($.name,$.keyType,$.description,O6($.tags,Z)));var _E=Symbol.for("effect/MutableHashMap"),Sr={[_E]:_E,[Symbol.iterator](){return new $O(this)},toString(){return S$(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(k$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}};class $O{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 PE(this.self.buckets.values()),this.next();return $}[Symbol.iterator](){return new $O(this.self)}}class PE{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 W1=()=>{let $=Object.create(Sr);return $.referential=new Map,$.buckets=new Map,$.bucketsSize=0,$};var O0=V(2,($,Z)=>{if(B7(Z)===!1)return $.referential.has(Z)?S($.referential.get(Z)):x();let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return x();return jr($,J,Z)});var jr=($,Z,X,J=!1)=>{for(let G=0,Y=Z.length;G<Y;G++)if(X[J$](Z[G][0])){let W=Z[G][1];if(J)Z.splice(G,1),$.bucketsSize--;return S(W)}return x()},S8=V(2,($,Z)=>b$(O0($,Z))),hZ=V(3,($,Z,X)=>{if(B7(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 FE($,G,Z),G.push([Z,X]),$.bucketsSize++,$}),FE=($,Z,X)=>{for(let J=0,G=Z.length;J<G;J++)if(X[J$](Z[J][0])){Z.splice(J,1),$.bucketsSize--;return}};var H1=V(2,($,Z)=>{if(B7(Z)===!1)return $.referential.delete(Z),$;let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return $;if(FE($,J,Z),J.length===0)$.buckets.delete(X);return $});var k5=($)=>{return $.referential.size+$.bucketsSize};var kr="effect/MetricState",v2=Symbol.for(kr),zE="effect/MetricState/Counter",ZO=Symbol.for(zE),TE="effect/MetricState/Frequency",XO=Symbol.for(TE),ME="effect/MetricState/Gauge",JO=Symbol.for(ME),wE="effect/MetricState/Histogram",GO=Symbol.for(wE),CE="effect/MetricState/Summary",YO=Symbol.for(CE),y2={_A:($)=>$};class RE{count;[v2]=y2;[ZO]=ZO;constructor($){this.count=$}[Y$](){return P(s(zE),U$(s(this.count)),w$(this))}[J$]($){return vr($)&&this.count===$.count}pipe(){return r(this,arguments)}}var Ir=L7(i);class LE{occurrences;[v2]=y2;[XO]=XO;constructor($){this.occurrences=$}_hash;[Y$](){return P(f$(TE),U$(o0(_$(this.occurrences.entries()))),w$(this))}[J$]($){return yr($)&&Ir(_$(this.occurrences.entries()),_$($.occurrences.entries()))}pipe(){return r(this,arguments)}}class qE{value;[v2]=y2;[JO]=JO;constructor($){this.value=$}[Y$](){return P(s(ME),U$(s(this.value)),w$(this))}[J$]($){return gr($)&&this.value===$.value}pipe(){return r(this,arguments)}}class EE{buckets;count;min;max;sum;[v2]=y2;[GO]=GO;constructor($,Z,X,J,G){this.buckets=$,this.count=Z,this.min=X,this.max=J,this.sum=G}[Y$](){return P(s(wE),U$(s(this.buckets)),U$(s(this.count)),U$(s(this.min)),U$(s(this.max)),U$(s(this.sum)),w$(this))}[J$]($){return br($)&&i(this.buckets,$.buckets)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return r(this,arguments)}}class xE{error;quantiles;count;min;max;sum;[v2]=y2;[YO]=YO;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 P(s(CE),U$(s(this.error)),U$(s(this.quantiles)),U$(s(this.count)),U$(s(this.min)),U$(s(this.max)),U$(s(this.sum)),w$(this))}[J$]($){return hr($)&&this.error===$.error&&i(this.quantiles,$.quantiles)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return r(this,arguments)}}var SE=($)=>new RE($),jE=($)=>{return new LE($)},kE=($)=>new qE($),IE=($)=>new EE($.buckets,$.count,$.min,$.max,$.sum),vE=($)=>new xE($.error,$.quantiles,$.count,$.min,$.max,$.sum);var vr=($)=>o($,ZO),yr=($)=>o($,XO),gr=($)=>o($,JO),br=($)=>o($,GO),hr=($)=>o($,YO);var fr="effect/MetricHook",cr=Symbol.for(fr),pr={_In:($)=>$,_Out:($)=>$},g2=($)=>({[cr]:pr,pipe(){return r(this,arguments)},...$});var yE=BigInt(0),bE=($)=>{let Z=$.keyType.bigint?yE:0,X=$.keyType.incremental?$.keyType.bigint?(G)=>G>=yE:(G)=>G>=0:(G)=>!0,J=(G)=>{if(X(G))Z=Z+G};return g2({get:()=>SE(Z),update:J,modify:J})},hE=($)=>{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:()=>jE(Z),update:X,modify:X})},mE=($,Z)=>{let X=Z;return g2({get:()=>kE(X),update:(J)=>{X=J},modify:(J)=>{X=X+J}})},fE=($)=>{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,A=Number.MIN_VALUE;P(Z,H8(OZ),f6((O,_)=>{G[_]=O}));let K=(O)=>{let _=0,F=X;while(_!==F){let M=Math.floor(_+(F-_)/2),C=G[M];if(O<=C)F=M;else _=M;if(F===_+1)if(O<=G[_])F=_;else _=F}if(J[_]=J[_]+1,Y=Y+1,W=W+O,O<H)H=O;if(O>A)A=O},Q=()=>{let O=TJ(X),_=0;for(let F=0;F<X;F++){let M=G[F],C=J[F];_=_+C,O[F]=[M,_]}return O};return g2({get:()=>IE({buckets:Q(),count:Y,min:H,max:A,sum:W}),update:K,modify:K})},cE=($)=>{let{error:Z,maxAge:X,maxSize:J,quantiles:G}=$.keyType,Y=P(G,H8(OZ)),W=TJ(J),H=0,A=0,K=0,Q=0,O=0,_=(M)=>{let C=[],m=0;while(m!==J-1){let V$=W[m];if(V$!=null){let[e,G$]=V$,C$=xZ(M-e);if(DW(C$,U8)&&mz(C$,X))C.push(G$)}m=m+1}return dr(Z,Y,H8(C,OZ))},F=(M,C)=>{if(J>0){H=H+1;let m=H%J;W[m]=[C,M]}Q=A===0?M:Math.min(Q,M),O=A===0?M:Math.max(O,M),A=A+1,K=K+M};return g2({get:()=>vE({error:Z,quantiles:_(Date.now()),count:A,min:Q,max:O,sum:K}),update:([M,C])=>F(M,C),modify:([M,C])=>F(M,C)})},dr=($,Z,X)=>{let J=X.length;if(!EZ(Z))return B6();let G=Z[0],Y=Z.slice(1),W=gE($,J,x(),0,G,X),H=iZ(W);return Y.forEach((A)=>{H.push(gE($,J,W.value,W.consumed,A,W.rest))}),f6(H,(A)=>[A.quantile,A.value])},gE=($,Z,X,J,G,Y)=>{let W=$,H=Z,A=X,K=J,Q=G,O=Y,_=$,F=Z,M=X,C=J,m=G,V$=Y;while(!0){if(!EZ(O))return{quantile:Q,value:x(),consumed:K,rest:[]};if(Q===1)return{quantile:Q,value:S(b3(O)),consumed:K+O.length,rest:[]};let e=UZ(O),G$=Hz(O,(l)=>l===e),C$=Q*H,d$=W/2*C$,k=K+G$[0].length,X$=Math.abs(k-C$);if(k<C$-d$){_=W,F=H,M=j1(O),C=k,m=Q,V$=G$[1],W=_,H=F,A=M,K=C,Q=m,O=V$;continue}if(k>C$+d$){let l=j$(A)?S(e):A;return{quantile:Q,value:l,consumed:K,rest:O}}switch(A._tag){case"None":{_=W,F=H,M=j1(O),C=k,m=Q,V$=G$[1],W=_,H=F,A=M,K=C,Q=m,O=V$;continue}case"Some":{let l=Math.abs(C$-A.value);if(X$<l){_=W,F=H,M=j1(O),C=k,m=Q,V$=G$[1],W=_,H=F,A=M,K=C,Q=m,O=V$;continue}return{quantile:Q,value:S(A.value),consumed:K,rest:O}}}}throw Error("BUG: MetricHook.resolveQuantiles - please report an issue at https://github.com/Effect-TS/effect/issues")};var or="effect/MetricPair",nr=Symbol.for(or),rr={_Type:($)=>$};var pE=($,Z)=>{return{[nr]:rr,metricKey:$,metricState:Z,pipe(){return r(this,arguments)}}};var ir="effect/MetricRegistry",dE=Symbol.for(ir);class uE{[dE]=dE;map=W1();snapshot(){let $=[];for(let[Z,X]of this.map)$.push(pE(Z,X.get()));return $}get($){let Z=P(this.map,O0($),n0);if(Z==null){if(tQ($.keyType))return this.getCounter($);if(UE($.keyType))return this.getGauge($);if(AE($.keyType))return this.getFrequency($);if(eQ($.keyType))return this.getHistogram($);if(KE($.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=P(this.map,O0($),n0);if(Z==null){let X=bE($);if(!P(this.map,S8($)))P(this.map,hZ($,X));Z=X}return Z}getFrequency($){let Z=P(this.map,O0($),n0);if(Z==null){let X=hE($);if(!P(this.map,S8($)))P(this.map,hZ($,X));Z=X}return Z}getGauge($){let Z=P(this.map,O0($),n0);if(Z==null){let X=mE($,$.keyType.bigint?BigInt(0):0);if(!P(this.map,S8($)))P(this.map,hZ($,X));Z=X}return Z}getHistogram($){let Z=P(this.map,O0($),n0);if(Z==null){let X=fE($);if(!P(this.map,S8($)))P(this.map,hZ($,X));Z=X}return Z}getSummary($){let Z=P(this.map,O0($),n0);if(Z==null){let X=cE($);if(!P(this.map,S8($)))P(this.map,hZ($,X));Z=X}return Z}}var oE=()=>{return new uE};var ar="effect/Metric",tr=Symbol.for(ar),er={_Type:($)=>$,_In:($)=>$,_Out:($)=>$},nE=N$(Symbol.for("effect/Metric/globalMetricRegistry"),()=>oE()),rE=function($,Z,X,J){let G=Object.assign((Y)=>IZ(Y,(W)=>Zl(G,W)),{[tr]:er,keyType:$,unsafeUpdate:Z,unsafeValue:X,unsafeModify:J,register(){return this.unsafeValue([]),this},pipe(){return r(this,arguments)}});return G};var b2=($,Z)=>lE(OE($,Z));var lE=($)=>{let Z,X=new WeakMap,J=(G)=>{if(G.length===0){if(Z!==void 0)return Z;return Z=nE.get($),Z}let Y=X.get(G);if(Y!==void 0)return Y;return Y=nE.get(NE($,G)),X.set(G,Y),Y};return rE($.keyType,(G,Y)=>J(Y).update(G),(G)=>J(G).get(),(G,Y)=>J(Y).modify(G))};var iE=($,Z,X)=>lE(BE($,Z,X));var sE=V(3,($,Z,X)=>$l($,[R5(Z,X)]));var $l=V(2,($,Z)=>{return rE($.keyType,(X,J)=>$.unsafeUpdate(X,O6(Z,J)),(X)=>$.unsafeValue(O6(Z,X)),(X,J)=>$.unsafeModify(X,O6(Z,J)))});var Zl=V(2,($,Z)=>wZ(l9,(X)=>E(()=>$.unsafeUpdate(Z,X))));var Jl="effect/Request",WO=Symbol.for(Jl),Gl={_E:($)=>$,_A:($)=>$},WA$={...M7,[WO]:Gl},aE=($)=>o($,WO);var HO=V(2,($,Z)=>wZ($D,(X)=>E(()=>{if(X.has($)){let J=X.get($);if(!J.state.completed)J.state.completed=!0,$X(J.result,Z)}})));class h2{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 Wl="effect/Supervisor",m2=Symbol.for(Wl),RD={_T:($)=>$};class f2{underlying;value0;[m2]=RD;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 f2(this,P(this.value,I($)))}zip($){return new c2(this,$)}}class c2{left;right;_tag="Zip";[m2]=RD;constructor($,Z){this.left=$,this.right=Z}get value(){return U5(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 f2(this,P(this.value,I($)))}zip($){return new c2(this,$)}}var DO=($)=>o($,m2)&&x1($,"Zip");class tE{[m2]=RD;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 f2(this,P(this.value,I($)))}zip($){return new c2(this,$)}onRun($,Z){return $()}}class eE{effect;[m2]=RD;constructor($){this.effect=$}get value(){return this.effect}onStart($,Z,X,J){}onEnd($,Z){}onEffect($,Z){}onSuspend($){}onResume($){}map($){return new f2(this,P(this.value,I($)))}zip($){return new c2(this,$)}onRun($,Z){return $()}}var Hl=()=>{return new tE},$x=E(Hl),Dl=($)=>{return new eE($)},I5=N$("effect/Supervisor/none",()=>Dl(F$));var Zx=p1;var Xx="Empty",Jx="AddSupervisor",Gx="RemoveSupervisor",Yx="AndThen",_X={_tag:Xx},qD=($,Z)=>{return{_tag:Yx,first:$,second:Z}},Ul=($,Z)=>{return Kl(Z,x0($))},Kl=($,Z)=>{let X=$,J=Z;while(W0(J)){let G=y$(J);switch(G._tag){case Xx:{J=H0(J);break}case Jx:{X=X.zip(G.supervisor),J=H0(J);break}case Gx:{X=AO(X,G.supervisor),J=H0(J);break}case Yx:{J=V0(G.first)(V0(G.second)(H0(J)));break}}}return X},AO=($,Z)=>{if(i($,Z))return I5;else if(DO($))return AO($.left,Z).zip(AO($.right,Z));else return $},ED=($)=>{if(i($,I5))return o8();else if(DO($))return P(ED($.left),u6(ED($.right)));else return N6($)},Vl=($,Z)=>{if(i($,Z))return _X;let X=ED($),J=ED(Z),G=P(J,OK(X),t4(_X,(W,H)=>qD(W,{_tag:Jx,supervisor:H}))),Y=P(X,OK(J),t4(_X,(W,H)=>qD(W,{_tag:Gx,supervisor:H})));return qD(G,Y)},Wx=Zx({empty:_X,patch:Ul,combine:qD,diff:Vl});var Ol=b2("effect_fiber_started",{incremental:!0}),Hx=b2("effect_fiber_active"),Bl=b2("effect_fiber_successes",{incremental:!0}),Nl=b2("effect_fiber_failures",{incremental:!0}),_l=sE(iE("effect_fiber_lifetimes",$E({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),p2="Continue",Pl="Done",Dx="Yield",Fl={_E:($)=>$,_A:($)=>$},xD=($)=>{throw Error(`BUG: FiberRuntime - ${q9($)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},D1=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),A1=N$("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),d2={[P7]:($,Z,X)=>{return q0(()=>Z.effect_instruction_i1(X))},["OnStep"]:($,Z,X)=>{return t$(t$(X))},[F7]:($,Z,X)=>{return q0(()=>Z.effect_instruction_i2(X))},[QJ]:($,Z,X)=>{if($.patchRuntimeFlags($.currentRuntimeFlags,Z.patch),F6($.currentRuntimeFlags)&&$.isInterrupted())return I$($.getInterruptedCause());else return t$(X)},[z7]:($,Z,X)=>{if(q0(()=>Z.effect_instruction_i2(X)),q0(()=>Z.effect_instruction_i0()))return $.pushStack(Z),q0(()=>Z.effect_instruction_i1());else return F$},[u4]:($,Z,X)=>{while(!0){let J=q0(()=>Z.effect_instruction_i0.next(X));if(J.done)return t$(J.value);let G=m4(J.value);if(!_5(G))return $.pushStack(Z),G;else if(G._tag==="Failure")return G;X=G.value}}},zl={[hQ]:($,Z,X,J)=>{return $.processNewInterruptSignal(J.cause),F6(Z)?I$(J.cause):X},[fQ]:($,Z,X,J)=>{throw Error("It is illegal to have multiple concurrent run loops in a single fiber")},[mQ]:($,Z,X,J)=>{return J.onFiber($,vV(Z)),X},[cQ]:($,Z,X,J)=>{return z($9(),()=>X)}},Tl=($)=>R8(WM($),(Z)=>U1(AM(Z),([X,J])=>{let G=new Map,Y=[];for(let H of J){Y.push(f8(H));for(let A of H)G.set(A.request,A)}let W=Y.flat();return C0(vl(X.runAll(Y),W,()=>W.forEach((H)=>{H.listeners.interrupted=!0})),$D,G)},!1,!1)),Ml=BJ();class vD extends D4{[G1]=NX;[k2]=Fl;_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,hK(X)){let J=this.getFiberRef(l9);Ol.unsafeUpdate(1,J),Hx.unsafeUpdate(1,J)}this.refreshRefCache()}commit(){return BZ(this)}id(){return this._fiberId}resume($){this.tell(x5($))}get status(){return this.ask(($,Z)=>Z)}get runtimeFlags(){return this.ask(($,Z)=>{if(fH(Z))return $.currentRuntimeFlags;return Z.runtimeFlags})}scope(){return Eq(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(Q5)}fiberRefs(){return this.ask(($)=>$.getFiberRefs())}ask($){return H$(()=>{let Z=O2(this._fiberId);return this.tell(BX((X,J)=>{$X(Z,E(()=>$(X,J)))})),WZ(Z)})}tell($){if(this._queue.push($),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return jZ(($)=>{let Z=(X)=>$(T(X));if(this._exitValue!==null){Z(this._exitValue);return}return this.tell(BX((X,J)=>{if(X._exitValue!==null)Z(this._exitValue);else X.addObserver(Z)})),E(()=>this.tell(BX((X,J)=>{X.removeObserver(Z)})))},this.id())}get inheritAll(){return q$(($,Z)=>{let X=$.id(),J=$.getFiberRefs(),G=Z.runtimeFlags,Y=this.getFiberRefs(),W=IH(J,X,Y);$.setFiberRefs(W);let H=$.getFiberRef(Kx),A=P(n8(G,H),pK(P6),pK(rW));return t1(A)})}get poll(){return E(()=>W8(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork($){return E(()=>this.tell(OD(VZ($))))}unsafeInterruptAsFork($){this.tell(OD(VZ($)))}addObserver($){if(this._exitValue!==null)$(this._exitValue);else this._observers.push($)}removeObserver($){this._observers=this._observers.filter((Z)=>Z!==$)}getFiberRefs(){return this.setFiberRef(Kx,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef($){this._fiberRefs=z2(this._fiberRefs,$)}getFiberRef($){if(this._fiberRefs.locals.has($))return this._fiberRefs.locals.get($)[0][1];return $.initial}setFiberRef($,Z){this._fiberRefs=ZX(this._fiberRefs,{fiberId:this._fiberId,fiberRef:$,value:Z}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(z0),this.currentTracer=this.currentDefaultServices.unsafeMap.get(Z1.key),this.currentSupervisor=this.getFiberRef(bD),this.currentScheduler=this.getFiberRef(a9),this.currentContext=this.getFiberRef(O8),this.currentSpan=this.currentContext.unsafeMap.get(bZ.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=p2,X=globalThis[Y1];globalThis[Y1]=this;try{while(Z===p2)Z=this._queue.length===0?Pl:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[Y1]=X}if(this._queue.length>0&&!this._running)if(this._running=!0,Z===Dx)this.drainQueueLaterOnExecutor(),$=!1;else $=!0;else $=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(n9),this)}drainQueueWhileRunning($,Z){let X=Z;while(this._queue.length>0){let J=this._queue.splice(0,1)[0];X=zl[J._tag](this,$,X,J)}return X}isInterrupted(){return!cJ(this.getFiberRef(Q5))}addInterruptedCause($){let Z=this.getFiberRef(Q5);this.setFiberRef(Q5,a$(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(OD(VZ(this.id()))),$=!0;return $}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let $=this._children.values();this._children=null;let Z=!1;return e1({while:()=>!Z,body:()=>{let J=$.next();if(!J.done)return P0(J.value.await);else return E(()=>{Z=!0})},step:()=>{}})}return null}reportExitValue($){if(hK(this.currentRuntimeFlags)){let Z=this.getFiberRef(l9),X=this.id().startTimeMillis,J=Date.now();switch(_l.unsafeUpdate(J-X,Z),Hx.unsafeUpdate(-1,Z),$._tag){case Z0:{Bl.unsafeUpdate(1,Z);break}case $0:{Nl.unsafeUpdate(1,Z);break}}}if($._tag==="Failure"){let Z=this.getFiberRef(H2);if(!J5($.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(Qx)}log($,Z,X){let J=b$(X)?X.value:this.getFiberRef(WV),G=this.getFiberRef(KO);if(cV(G,J))return;let Y=this.getFiberRef(NH),W=this.getFiberRef(r9),H=this.getLoggers(),A=this.getFiberRefs();if(I9(H)>0){let K=r0(this.getFiberRef(z0),eZ),Q=new Date(K.unsafeCurrentTimeMillis());CF(A,()=>{for(let O of H)O.log({fiberId:this.id(),logLevel:J,message:$,cause:Z,context:A,spans:Y,annotations:W,date:Q})})}}evaluateMessageWhileSuspended($){switch($._tag){case cQ:return Dx;case hQ:{if(this.processNewInterruptSignal($.cause),this._asyncInterruptor!==null)this._asyncInterruptor(I$($.cause)),this._asyncInterruptor=null;return p2}case fQ:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect($.effect),p2;case mQ:return $.onFiber(this,this._exitValue!==null?UC:KC(this.currentRuntimeFlags,this._asyncBlockingOn)),p2;default:return xD($)}}evaluateEffect($){this.currentSupervisor.onResume(this);try{let Z=F6(this.currentRuntimeFlags)&&this.isInterrupted()?I$(this.getInterruptedCause()):$;while(Z!==null){let X=Z,J=this.runLoop(X);if(J===D1){let G=A1.currentOp;if(A1.currentOp=null,G._op===T7)if(ZM(this.currentRuntimeFlags))this.tell(Cq()),this.tell(x5(gZ)),Z=null;else Z=gZ;else if(G._op===p4)Z=null}else{this.currentRuntimeFlags=P(this.currentRuntimeFlags,gK(rW));let G=this.interruptAllChildren();if(G!==null)Z=z(G,()=>J);else{if(this._queue.length===0)this.setExitValue(J);else this.tell(x5(J));Z=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start($){if(!this._running){this._running=!0;let Z=globalThis[Y1];globalThis[Y1]=this;try{this.evaluateEffect($)}finally{if(this._running=!1,globalThis[Y1]=Z,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(x5($))}startFork($){this.tell(x5($))}patchRuntimeFlags($,Z){let X=g9($,Z);return globalThis[Y1]=this,this.currentRuntimeFlags=X,X}initiateAsync($,Z){let X=!1,J=(G)=>{if(!X)X=!0,this.tell(x5(G))};if(F6($))this._asyncInterruptor=J;try{Z(J)}catch(G){J(L$(N0(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!==_7)return $;$=this.popStack()}}getNextFailCont(){let $=this.popStack();while($){if($._op!==P7&&$._op!==z7&&$._op!==u4)return $;$=this.popStack()}}[LF]($){return E(()=>p8(this.currentContext,$))}["Left"]($){return R$($.left)}["None"]($){return R$(new yZ)}["Right"]($){return t$($.right)}["Some"]($){return t$($.value)}["Micro"]($){return r7((Z)=>{let X=Z,J=xC(LC($,this.currentContext));return J.addObserver((G)=>{if(G._tag==="Success")return X(t$(G.value));switch(G.cause._tag){case"Interrupt":return X(I$(VZ(p0)));case"Fail":return X(R$(G.cause.error));case"Die":return X(MZ(G.cause.defect))}}),r7((G)=>{X=(Y)=>{G(F$)},J.unsafeInterrupt()})})}[pY]($){let Z=q0(()=>$.effect_instruction_i0()),X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in d2))xD(X);return d2[X._op](this,X,Z)}else return A1.currentOp=t$(Z),D1}[Z0]($){let Z=$,X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in d2))xD(X);return d2[X._op](this,X,Z.effect_instruction_i0)}else return A1.currentOp=Z,D1}[$0]($){let Z=$.effect_instruction_i0,X=this.getNextFailCont();if(X!==void 0)switch(X._op){case _7:case F7:if(!(F6(this.currentRuntimeFlags)&&this.isInterrupted()))return q0(()=>X.effect_instruction_i1(Z));else return I$(pJ(Z));case"OnStep":if(!(F6(this.currentRuntimeFlags)&&this.isInterrupted()))return t$(I$(Z));else return I$(pJ(Z));case QJ:if(this.patchRuntimeFlags(this.currentRuntimeFlags,X.patch),F6(this.currentRuntimeFlags)&&this.isInterrupted())return I$(a$(Z,this.getInterruptedCause()));else return I$(Z);default:xD(X)}else return A1.currentOp=I$(Z),D1}[dY]($){return q0(()=>$.effect_instruction_i0(this,vV(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=z5(G.refs,Z),H=n8(G.flags,X);return t$(f9($.effect_instruction_i0,q$((A)=>{while(J.length>0)A.pushStack(J.pop());return A.setFiberRefs(T5(A.id(),A.getFiberRefs())(W)),A.currentRuntimeFlags=g9(H)(A.currentRuntimeFlags),$.effect_instruction_i1})))}return S0((J)=>z(PX(JH($.effect_instruction_i0)),()=>J($.effect_instruction_i1)))}["RunBlocked"]($){return Tl($.effect_instruction_i0)}[E9]($){let Z=$.effect_instruction_i0,X=this.currentRuntimeFlags,J=g9(X,Z);if(F6(J)&&this.isInterrupted())return I$(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,Z),$.effect_instruction_i1){let G=n8(J,X);return this.pushStack(new eK(G,$)),q0(()=>$.effect_instruction_i1(X))}else return gZ}[P7]($){return this.pushStack($),$.effect_instruction_i0}["OnStep"]($){return this.pushStack($),$.effect_instruction_i0}[_7]($){return this.pushStack($),$.effect_instruction_i0}[F7]($){return this.pushStack($),$.effect_instruction_i0}[p4]($){return this._asyncBlockingOn=$.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,$.effect_instruction_i0),A1.currentOp=$,D1}[T7]($){return this._isYielding=!1,A1.currentOp=$,D1}[z7]($){let{effect_instruction_i0:Z,effect_instruction_i1:X}=$;if(Z())return this.pushStack($),X();else return gZ}[u4]($){return d2[u4](this,$,void 0)}[d4]($){return q0(()=>$.commit())}runLoop($){let Z=$;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&$M)!==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($9({priority:X}),()=>J)}}try{if(Z=this.currentTracer.context(()=>{if(Ml!==Z[c9]._V){let X=this.getFiberRef(PH);if(X._tag==="Some"){let J=Z[c9]._V;this.log(`Executing an Effect versioned ${J} with a Runtime of version ${BJ()}, 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`,d0,X)}}return this[Z._op](Z)},this),Z===D1){let X=A1.currentOp;if(X._op===T7||X._op===p4)return D1;return A1.currentOp=null,X._op===Z0||X._op===$0?X:I$(N0(X))}}catch(X){if(Z!==D1&&!o(Z,"_op")||!(Z._op in this))Z=l1(`Not a valid effect: ${q9(Z)}`);else if(zH(X))Z=I$(a$(N0(X),VZ(p0)));else Z=MZ(X)}}}run=()=>{this.drainQueueOnCurrentThread()}}var KO=N$("effect/FiberRef/currentMinimumLogLevel",()=>R0(pV("Info"))),wl=($)=>MD((Z)=>{let X=pw(Z.context,z0);r0(X,e9).unsafe.log($.log(Z))});var Cl=N$(Symbol.for("effect/Logger/defaultLogger"),()=>wl(sq));var Rl=N$(Symbol.for("effect/Logger/tracerLogger"),()=>MD(({annotations:$,cause:Z,context:X,fiberId:J,logLevel:G,message:Y})=>{let W=S2(w8(s9(X,O8),bZ));if(W._tag==="None"||W.value._tag==="ExternalSpan")return;let H=p8(s9(X,z0),eZ),A={};for(let[K,Q]of $)A[K]=Q;if(A["effect.fiberId"]=RT(J),A["effect.logLevel"]=G.label,Z!==null&&Z._tag!=="Empty")A["effect.cause"]=T6(Z,{renderErrorCause:!0});W.value.event(q9(Array.isArray(Y)&&Y.length===1?Y[0]:Y),H.unsafeCurrentTimeNanos(),A)}));var Qx=N$(Symbol.for("effect/FiberRef/currentLoggers"),()=>sM(N6(Cl,Rl)));var Ox=function(){if(typeof arguments[0]==="string")return RZ(r9,SZ(arguments[0],arguments[1]));let $=Object.entries(arguments[0]);return RZ(r9,ET((Z)=>{for(let X=0;X<$.length;X++){let[J,G]=$[X];SZ(Z,J,G)}return Z}))},Bx=V(2,($,Z)=>{let X=typeof Z==="string"?pV(Z):Z;return q$((J)=>{let G=J.getFiberRef(KO);if(cV(G,X))return T(x());return I($,S)})}),y5=V(($)=>h$($[0]),($,Z)=>o9(IZ($,(X)=>J9((J)=>Z(X,J))))),Nx=V(($)=>h$($[0]),($,Z)=>k8($,J9((X)=>Z(X)))),J9=($)=>q$((Z)=>{let X=Z.getFiberRefs(),J=yK(Z.currentRuntimeFlags,P6);return z(PO,(G)=>J4(G,(Y)=>q$((W)=>{let H=W.getFiberRefs(),A=W.currentRuntimeFlags,K=z5(H,X),Q=n8(A,J),O=z5(X,H);return W.setFiberRefs(T5(K,W.id(),X)),k8(QH($(Y),Q),E(()=>{W.setFiberRefs(T5(O,W.id(),W.getFiberRefs()))}))})))}),_x=($)=>{return C0(rJ,S(w6))($)},Ax=Symbol.for("effect/Effect/existsPar/found"),Px=V(($)=>h8($[0])&&!h$($[0]),($,Z,X)=>w2(X?.concurrency,()=>H$(()=>Fx($[Symbol.iterator](),0,Z)),()=>i0(j8($,(J,G)=>HH(Z(J,G),{onTrue:()=>R$(Ax),onFalse:()=>F$}),X),{onFailure:(J)=>J===Ax?T(!0):R$(J),onSuccess:()=>T(!1)}))),Fx=($,Z,X)=>{let J=$.next();if(J.done)return T(!1);return z(X(J.value,Z),(G)=>G?T(G):Fx($,Z+1,X))},zx=V(($)=>h8($[0])&&!h$($[0]),($,Z,X)=>{let J=X?.negate?(G,Y)=>I(Z(G,Y),jw):Z;return w2(X?.concurrency,()=>H$(()=>_$($).reduceRight((G,Y,W)=>aZ(G,H$(()=>J(Y,W)),(H,A)=>A?[Y,...H]:H),E(()=>[]))),()=>I(j8($,(G,Y)=>I(J(G,Y),(W)=>W?S(G):x()),X),Kz))}),Ll=($)=>{if(Array.isArray($)||h8($))return[$,x()];let Z=Object.keys($),X=Z.length;return[Z.map((J)=>$[J]),S((J)=>{let G={};for(let Y=0;Y<X;Y++)G[Z[Y]]=J[Y];return G})]},ql=($,Z,X)=>{let J=[];for(let G of $)J.push(r8(G));return z(j8(J,T$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>{let Y=x(),W=G.length,H=Array(W),A=Array(W),K=!1;for(let Q=0;Q<W;Q++){let O=G[Q];if(O._tag==="Left")H[Q]=S(O.left),K=!0;else A[Q]=O.right,H[Q]=Y}if(K)return Z._tag==="Some"?R$(Z.value(H)):R$(H);else if(X?.discard)return F$;return Z._tag==="Some"?T(Z.value(A)):T(A)})},El=($,Z,X)=>{let J=[];for(let G of $)J.push(r8(G));if(X?.discard)return j8(J,T$,{concurrency:X?.concurrency,batching:X?.batching,discard:!0,concurrentFinalizers:X?.concurrentFinalizers});return I(j8(J,T$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>Z._tag==="Some"?Z.value(G):G)},B4=($,Z)=>{let[X,J]=Ll($);if(Z?.mode==="validate")return ql(X,J,Z);else if(Z?.mode==="either")return El(X,J,Z);return Z?.discard!==!0&&J._tag==="Some"?I(j8(X,T$,Z),J.value):j8(X,T$,Z)},Tx=($)=>(Z)=>B4(Z,$),Mx=($,Z)=>I(B4(_$($).map(U0),Z),R7((X)=>V2(X)?S(X.effect_instruction_i0):x())),VO=V(2,($,Z)=>Array.from({length:Z},()=>$)),wx=V(($)=>h$($[0]),($,Z,X)=>B4(VO($,Z),X)),j8=V(($)=>h8($[0]),($,Z,X)=>q$((J)=>{let G=X?.batching===!0||X?.batching==="inherit"&&J.getFiberRef(W2);if(X?.discard)return GQ(X.concurrency,()=>v5(SH,X?.concurrentFinalizers)((Y)=>G?U1($,(W,H)=>Y(Z(W,H)),!0,!1,1):R8($,(W,H)=>Y(Z(W,H)))),()=>v5(jH,X?.concurrentFinalizers)((Y)=>U1($,(W,H)=>Y(Z(W,H)),G,!1)),(Y)=>v5(kH(Y),X?.concurrentFinalizers)((W)=>U1($,(H,A)=>W(Z(H,A)),G,!1,Y)));return GQ(X?.concurrency,()=>v5(SH,X?.concurrentFinalizers)((Y)=>G?UO($,1,(W,H)=>Y(Z(W,H)),!0):QZ($,(W,H)=>Y(Z(W,H)))),()=>v5(jH,X?.concurrentFinalizers)((Y)=>SD($,(W,H)=>Y(Z(W,H)),G)),(Y)=>v5(kH(Y),X?.concurrentFinalizers)((W)=>UO($,Y,(H,A)=>W(Z(H,A)),G)))})),SD=($,Z,X)=>H$(()=>{let J=_$($),G=Array(J.length);return x$(U1(J,(W,H)=>z(Z(W,H),(A)=>E(()=>G[H]=A)),X,!1),T(G))}),U1=($,Z,X,J,G)=>S0((Y)=>KH((W)=>q$((H)=>{let A=Array.from($).reverse(),K=A.length;if(K===0)return F$;let Q=0,O=!1,_=G?Math.min(A.length,G):A.length,F=new Set,M=[],C=()=>F.forEach((l)=>{l.currentScheduler.scheduleTask(()=>{l.unsafeInterruptAsFork(H.id())},0,l)}),m=[],V$=[],e=[],G$=()=>{let l=M.filter(({exit:O$})=>O$._tag==="Failure").sort((O$,v$)=>O$.index<v$.index?-1:O$.index===v$.index?0:1).map(({exit:O$})=>O$);if(l.length===0)l.push(gZ);return l},C$=(l,O$=!1)=>{let v$=o9(W(l)),K$=xl(v$,H,H.currentRuntimeFlags,w6);return H.currentScheduler.scheduleTask(()=>{if(O$)K$.unsafeInterruptAsFork(H.id());K$.resume(v$)},0,K$),K$},d$=()=>{if(!J)K-=A.length,A=[];O=!0,C()},k=X?WH:U0,X$=C$(jZ((l)=>{let O$=(K$,J0)=>{if(K$._op==="Blocked")e.push(K$);else if(M.push({index:J0,exit:K$}),K$._op==="Failure"&&!O)d$()},v$=()=>{if(A.length>0){let K$=A.pop(),J0=Q++,K0=()=>{let T0=A.pop();return J0=Q++,z($9(),()=>z(k(Y(Z(T0,J0))),o$))},o$=(T0)=>{if(A.length>0){if(O$(T0,J0),A.length>0)return K0()}return T(T0)},qZ=z(k(Y(Z(K$,J0))),o$),$$=C$(qZ);if(m.push($$),F.add($$),O)$$.currentScheduler.scheduleTask(()=>{$$.unsafeInterruptAsFork(H.id())},0,$$);$$.addObserver((T0)=>{let m0;if(T0._op==="Failure")m0=T0;else m0=T0.effect_instruction_i0;if(V$.push($$),F.delete($$),O$(m0,J0),M.length===K)l(T(c0(G4(G$(),{parallel:!0}),()=>gZ)));else if(e.length+M.length===K){let oZ=G$(),K6=e.map((F9)=>F9.effect_instruction_i0).reduce(uK);l(T(f9(K6,U1([c0(G4(oZ,{parallel:!0}),()=>gZ),...e.map((F9)=>F9.effect_instruction_i1)],(F9)=>F9,X,!0,G))))}else v$()})}};for(let K$=0;K$<_;K$++)v$()}));return P0(sZ(kZ(Y(BZ(X$))),P5({onFailure:(l)=>{d$();let O$=e.length+1,v$=Math.min(typeof G==="number"?G:e.length,e.length),K$=Array.from(e);return jZ((J0)=>{let K0=[],o$=0,qZ=0,$$=(m0,oZ)=>(K6)=>{if(K0[m0]=K6,o$++,o$===O$)J0(t$(I$(l)));if(K$.length>0&&oZ)T0()},T0=()=>{C$(K$.pop(),!0).addObserver($$(qZ,!0)),qZ++};X$.addObserver($$(qZ,!1)),qZ++;for(let m0=0;m0<v$;m0++)T0()})},onSuccess:()=>QZ(V$,(l)=>l.inheritAll)})))}))),UO=($,Z,X,J)=>H$(()=>{let G=_$($),Y=Array(G.length);return x$(U1(G,(H,A)=>I(X(H,A),(K)=>Y[A]=K),J,!1,Z),T(Y))}),K1=($)=>q$((Z,X)=>T(u2($,Z,X.runtimeFlags))),PX=($)=>Sl($,w6),Cx=V(2,($,Z)=>K1(UH($,(X)=>{let J=z6(X);switch(J._tag){case"Left":return Z(J.left);case"Right":return L$(J.right)}}))),u2=($,Z,X,J=null)=>{let G=jD($,Z,X,J);return G.resume($),G},xl=($,Z,X,J=null)=>{return jD($,Z,X,J)},jD=($,Z,X,J=null)=>{let G=gW(),Y=Z.getFiberRefs(),W=EV(Y,G),H=new vD(G,W,X),A=s9(W,O8),K=H.currentSupervisor;return K.onStart(A,$,S(Z),H),H.addObserver((O)=>K.onEnd(O,H)),(J!==null?J:P(Z.getFiberRef(rJ),c0(()=>Z.scope()))).add(X,H),H},Sl=($,Z)=>q$((X,J)=>T(u2($,X,J.runtimeFlags,Z))),QO=V(($)=>b8($[2]),($,Z,X,J)=>w2(J?.concurrency,()=>_$($).reduce((G,Y,W)=>aZ(G,Y,(H,A)=>X(H,A,W)),T(Z)),()=>z(iH(Z),(G)=>z(j8($,(Y,W)=>z(Y,(H)=>vC(G,(A)=>X(A,H,W))),J),()=>sH(G))))),OO=V(($)=>h8($[0]),($,Z,X)=>P(j8($,(J,G)=>r8(Z(J,G)),X),I((J)=>fM(J,T$)))),Rx=V(($)=>h8($[0]),($,Z,X)=>z(OO($,Z,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),([J,G])=>$W(J)?R$(J):X?.discard?F$:T(G))),Lx=($)=>q$((Z,X)=>jZ((J)=>{let G=new Set,Y,W=d0,H=()=>{for(let Q of G)Q.unsafeInterruptAsFork(Z.id())},A=!1,K=!0;for(let Q of $){K=!1;let O=u2(u9(Q),Z,X.runtimeFlags);if(G.add(O),O.addObserver((_)=>{if(G.delete(O),!Y)if(_._tag==="Success")A=!0,Y=O,W=d0,H();else W=_0(_.cause,W);if(A&&G.size===0)J(Y?x$(zD(Y),Y.unsafePoll()):L$(W))}),Y)break}if(K)return J(C8(()=>new i8("Received an empty collection of effects")));return A=!0,I2(G,Z.id())})),qx=V(($)=>h8($[0])&&!h$($[0]),($,Z,X,J)=>w2(J?.concurrency,()=>_$($).reduce((G,Y,W)=>aZ(G,Y,(H,A)=>X(H,A,W)),Z),()=>H$(()=>P(QO([Z,...$],x(),(G,Y,W)=>{switch(G._tag){case"None":return S(Y);case"Some":return S(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}}))))),kD=($)=>E8((Z)=>f0(w8(Z,Y9),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Parallel":return $;case"Sequential":case"ParallelN":return z(q8(X,jH),(J)=>W9($,J))}}})),Ux=($)=>(Z)=>E8((X)=>f0(w8(X,Y9),{onNone:()=>Z,onSome:(J)=>{if(J.strategy._tag==="ParallelN"&&J.strategy.parallelism===$)return Z;return z(q8(J,kH($)),(G)=>W9(Z,G))}})),Ex=($)=>(Z)=>v5($,!0)(Z),v5=($,Z)=>(X)=>E8((J)=>f0(w8(J,Y9),{onNone:()=>X(T$),onSome:(G)=>{if(Z===!0){let Y=$._tag==="Parallel"?kD:$._tag==="Sequential"?ID:Ux($.parallelism);switch(G.strategy._tag){case"Parallel":return Y(X(kD));case"Sequential":return Y(X(ID));case"ParallelN":return Y(X(Ux(G.strategy.parallelism)))}}else return X(T$)}})),$6=($)=>z(Y9,$),o2=($)=>z(g5(),(Z)=>sZ($(Z),(X)=>Z.close(X))),yD=($)=>z(g5(),(Z)=>FO($,Z)),ID=($)=>E8((Z)=>f0(w8(Z,Y9),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Sequential":return $;case"Parallel":case"ParallelN":return z(q8(X,SH),(J)=>W9($,J))}}})),xx=($,Z)=>BO([R5($,Z)]),BO=($)=>RZ(l9,(Z)=>O6(Z,$)),Sx=V(2,($,Z)=>o2((X)=>z(W9($,X),Z))),jx=V(($)=>h$($[1]),($,Z,X)=>NO($,Z,(J,G)=>[J,G],X)),NO=V(($)=>h$($[1]),($,Z,X,J)=>kZ(G9(U0($),U0(Z),(G,Y)=>s8(G,Y,{onSuccess:X,onFailure:(W,H)=>J?.concurrent?_0(W,H):a$(W,H)}),J)));var kx=V(($)=>h8($[0]),($,Z,X)=>s1(j8($,(J,G)=>s1(Z(J,G)),X))),Ix=($)=>RZ(z0,s$(eZ,$)),vx=($)=>RZ(z0,s$($1,$)),gD=($)=>RZ(z0,s$(WX,$)),yx=($)=>$6((Z)=>z(q8(Z,a8),(X)=>P($,W9(X),I((J)=>[Q8((G)=>O5(X,Q2(G))),J])))),gx=V(($)=>h$($[1]),($,Z,X)=>G9($,Z,(J,G)=>[J,G],X)),bx=V(($)=>h$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return K5($,Z);return G9($,Z,(J,G)=>J,X)}),hx=V(($)=>h$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return x$($,Z);return G9($,Z,(J,G)=>G,X)}),G9=V(($)=>h$($[1]),($,Z,X,J)=>I(B4([$,Z],{concurrency:J?.concurrent?2:1,batching:J?.batching,concurrentFinalizers:J?.concurrentFinalizers}),([G,Y])=>X(G,Y))),_O=($)=>{if($===JM)return F$;return P(l7,z((Z)=>{let X=g9(Z,$),J=n8(X,Z);return P(t1($),x$(J9(()=>t1(J))),P0)}),o9)},Y9=YZ("effect/Scope"),PO=Y9,jl=($,Z)=>{if($.state._tag==="Open")$.state.finalizers.set({},Z)},kl={[A2]:A2,[U2]:U2,pipe(){return r(this,arguments)},fork($){return E(()=>{let Z=mx($);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),jl(Z,(G)=>E(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(X)})),Z})},close($){return H$(()=>{if(this.state._tag==="Closed")return F$;let Z=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:$},Z.length===0)return F$;return CV(this.strategy)?P(QZ(Z,(X)=>U0(X($))),z((X)=>P(G4(X),E0(e7),c0(()=>gZ)))):RV(this.strategy)?P(SD(Z,(X)=>U0(X($)),!1),z((X)=>P(G4(X,{parallel:!0}),E0(e7),c0(()=>gZ)))):P(UO(Z,this.strategy.parallelism,(X)=>U0(X($)),!1),z((X)=>P(G4(X,{parallel:!0}),E0(e7),c0(()=>gZ))))})},addFinalizer($){return H$(()=>{if(this.state._tag==="Closed")return $(this.state.exit);return this.state.finalizers.set({},$),F$})}},mx=($=a8)=>{let Z=Object.create(kl);return Z.strategy=$,Z.state={_tag:"Open",finalizers:new Map},Z},g5=($=a8)=>E(()=>mx($)),W9=V(2,($,Z)=>W4($,d8(D8(Y9,Z)))),FO=V(2,($,Z)=>P($,W9(Z),sZ((X)=>Z.close(X)))),Il=($)=>V5($,{differ:Wx,fork:_X}),mZ=V(2,($,Z)=>P0(y5(z(L8($),(X)=>n$(H5($,Z),X)),(X)=>H5($,X)))),RZ=V(2,($,Z)=>wZ($,(X)=>mZ($,Z(X))));var Kx=aM(XM),bD=Il(I5),hD=($)=>j8($,PD),FX=($)=>{return{...qH,commit(){return BZ(this)},[G1]:NX,id:()=>_$($).reduce((X,J)=>K8(X,J.id()),p0),await:U0(SD($,(X)=>kZ(X.await),!1)),children:I(SD($,(X)=>X.children,!1),ZW),inheritAll:R8($,(X)=>X.inheritAll),poll:I(QZ($,(X)=>X.poll),XW(S(t$([])),(X,J)=>{switch(J._tag){case"None":return x();case"Some":switch(X._tag){case"None":return x();case"Some":return S(s8(J.value,X.value,{onSuccess:(G,Y)=>[G,...Y],onFailure:_0}))}}})),interruptAsFork:(X)=>R8($,(J)=>J.interruptAsFork(X))}},fx=($)=>P0(PX(Z4($))),cx=($)=>BZ(FX($)),px=($)=>y5(T($),Z4),zO=V(3,($,Z,X)=>TO($,Z,{onSelfWin:(J,G)=>z(J.await,(Y)=>{switch(Y._tag){case Z0:return z(J.inheritAll,()=>X.onSelfDone(Y,G));case $0:return X.onSelfDone(Y,G)}}),onOtherWin:(J,G)=>z(J.await,(Y)=>{switch(Y._tag){case Z0:return z(J.inheritAll,()=>X.onOtherDone(Y,G));case $0:return X.onOtherDone(Y,G)}})})),dx=($)=>S0((Z)=>Q8((X)=>z(PX(Z($)),(J)=>P(Z(BZ(J)),e6(()=>P(J,TD(X))))))),mD=V(2,($,Z)=>Q8((X)=>zO($,Z,{onSelfDone:(J,G)=>F5(J,{onFailure:(Y)=>P(BZ(G),QX((W)=>_0(Y,W))),onSuccess:(Y)=>P(G,vZ(X),n$(Y))}),onOtherDone:(J,G)=>F5(J,{onFailure:(Y)=>P(BZ(G),QX((W)=>_0(W,Y))),onSuccess:(Y)=>P(G,vZ(X),n$(Y))})}))),TO=V(3,($,Z,X)=>q$((J,G)=>{let Y=G.runtimeFlags,W=o6(!0),H=jD($,J,Y,X.selfScope),A=jD(Z,J,Y,X.otherScope);return jZ((K)=>{H.addObserver(()=>Vx(H,A,X.onSelfWin,W,K)),A.addObserver(()=>Vx(A,H,X.onOtherWin,W,K)),H.startFork($),A.startFork(Z)},K8(H.id(),A.id()))})),Vx=($,Z,X,J,G)=>{if(LW(!0,!1)(J))G(X($,Z))},k8=V(2,($,Z)=>S0((X)=>Q0(X($),{onFailure:(J)=>Q0(Z,{onFailure:(G)=>L$(a$(J,G)),onSuccess:()=>L$(J)}),onSuccess:(J)=>n$(Z,J)}))),vl=($,Z,X)=>Q8((J)=>k8(z(PX(u9($)),(G)=>jZ((Y)=>{let W=Z.map((K)=>K.listeners.count),H=()=>{if(W.every((K)=>K===0)){if(Z.every((K)=>{if(K.result.state.current._tag==="Pending")return!0;else if(K.result.state.current._tag==="Done"&&_5(K.result.state.current.effect)&&K.result.state.current.effect._tag==="Failure"&&f7(K.result.state.current.effect.cause))return!0;else return!1}))A.forEach((K)=>K()),X?.(),Y(Z4(G))}};G.addObserver((K)=>{A.forEach((Q)=>Q()),Y(K)});let A=Z.map((K,Q)=>{let O=(_)=>{W[Q]=_,H()};return K.listeners.addObserver(O),()=>K.listeners.removeObserver(O)});return H(),E(()=>{A.forEach((K)=>K())})})),H$(()=>{let G=Z.flatMap((Y)=>{if(!Y.state.completed)return[Y];return[]});return R8(G,(Y)=>HO(Y.request,Q2(J)))})));var e8=($,Z)=>{return Z=x8(Z),o9(q$((X)=>{let J=p8(X.getFiberRef(O8),Y9),G=QD(X,$,Z),Y=X.getFiberRef(X4),W=r0(X.getFiberRef(z0),eZ);return n$(J4(J,(H)=>gQ(G,H,W,Y)),G)}))},fD=($)=>RZ(z0,s$(Z1,$)),ux=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=x8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return z(e8(Z,x8(X)),(G)=>Q4(J,bZ,G))}return(J)=>z(e8(Z,x8(X)),(G)=>Q4(J,bZ,G))};var yl=A2,gl=U2,MO=Y9,bl=K2,hl=J4,wO=O5,ml=W9,CO=q8,fl=FO,cl=g5;var a={};F8(a,{zipWith:()=>Kv,zipRight:()=>R8$,zipLeft:()=>C8$,zip:()=>w8$,yieldNow:()=>Fe,withUnhandledErrorLogLevel:()=>uZ$,withTracerTiming:()=>f8$,withTracerScoped:()=>h8$,withTracerEnabled:()=>m8$,withTracer:()=>b8$,withSpanScoped:()=>$6$,withSpan:()=>Vv,withSchedulingPriority:()=>n$$,withScheduler:()=>o$$,withRuntimeFlagsPatchScoped:()=>Y8$,withRuntimeFlagsPatch:()=>G8$,withRequestCaching:()=>I8$,withRequestCache:()=>v8$,withRequestBatching:()=>k8$,withRandomScoped:()=>Z8$,withRandomFixed:()=>$8$,withRandom:()=>Uv,withParentSpan:()=>Z6$,withMetric:()=>K8$,withMaxOpsBeforeYield:()=>r$$,withLogSpan:()=>fZ$,withFiberRuntime:()=>_1,withExecutionPlan:()=>be,withEarlyRelease:()=>L$$,withConsoleScoped:()=>$0$,withConsole:()=>Z0$,withConfigProviderScoped:()=>Q0$,withConfigProvider:()=>V0$,withConcurrency:()=>u$$,withClockScoped:()=>s$$,withClock:()=>a$$,whileLoop:()=>RG,whenRef:()=>i0$,whenLogLevel:()=>oZ$,whenFiberRef:()=>l0$,whenEffect:()=>r0$,when:()=>n0$,void:()=>P1,validateWith:()=>M8$,validateFirst:()=>Ye,validateAll:()=>Ge,validate:()=>T8$,using:()=>R$$,useSpan:()=>t8$,updateService:()=>E0$,updateFiberRefs:()=>RZ$,unsandbox:()=>de,unsafeMakeSemaphore:()=>V8$,unsafeMakeLatch:()=>O8$,unlessEffect:()=>o0$,unless:()=>u0$,uninterruptibleMask:()=>te,uninterruptible:()=>ae,tryPromise:()=>pe,tryMapPromise:()=>ce,tryMap:()=>fe,try:()=>me,transposeOption:()=>G6$,transposeMapOption:()=>Y6$,transplant:()=>d$$,tracerWith:()=>g8$,tracer:()=>y8$,timeoutTo:()=>U0$,timeoutOption:()=>H0$,timeoutFailCause:()=>A0$,timeoutFail:()=>D0$,timeout:()=>W0$,timedWith:()=>Y0$,timed:()=>G0$,tapErrorTag:()=>WZ$,tapErrorCause:()=>HZ$,tapError:()=>YZ$,tapDefect:()=>GZ$,tapBoth:()=>JZ$,tap:()=>ZN,takeWhile:()=>dt,takeUntil:()=>pt,tagMetricsScoped:()=>D8$,tagMetrics:()=>W8$,sync:()=>U9,suspend:()=>eB,supervised:()=>p$$,summarized:()=>XZ$,succeedSome:()=>Pe,succeedNone:()=>tB,succeed:()=>aB,step:()=>x8$,spanLinks:()=>r8$,spanAnnotations:()=>n8$,sleep:()=>J0$,setFiberRefs:()=>CZ$,serviceOptional:()=>q0$,serviceOption:()=>L0$,serviceMembers:()=>R0$,serviceFunctions:()=>w0$,serviceFunctionEffect:()=>M0$,serviceFunction:()=>T0$,serviceConstants:()=>C0$,sequentialFinalizers:()=>F$$,scopedWith:()=>w$$,scoped:()=>C$$,scopeWith:()=>M$$,scope:()=>T$$,scheduleFrom:()=>NZ$,scheduleForked:()=>BZ$,schedule:()=>OZ$,sandbox:()=>ye,runtime:()=>LG,runSyncExit:()=>z8$,runSync:()=>F8$,runRequestBlock:()=>E8$,runPromiseExit:()=>P8$,runPromise:()=>_8$,runFork:()=>qG,runCallback:()=>N8$,retryOrElse:()=>he,retry:()=>ge,request:()=>S8$,replicateEffect:()=>Je,replicate:()=>Xe,repeatOrElse:()=>QZ$,repeatN:()=>VZ$,repeat:()=>KZ$,reduceWhile:()=>et,reduceRight:()=>$e,reduceEffect:()=>Ze,reduce:()=>tt,randomWith:()=>eZ$,random:()=>tZ$,raceWith:()=>ZZ$,raceFirst:()=>$Z$,raceAll:()=>e0$,race:()=>t0$,provideServiceEffect:()=>z0$,provideService:()=>F0$,provide:()=>P0$,promise:()=>_e,patchRuntimeFlags:()=>J8$,patchFiberRefs:()=>wZ$,partition:()=>at,parallelFinalizers:()=>P$$,parallelErrors:()=>ve,orElseSucceed:()=>sZ$,orElseFail:()=>iZ$,orElse:()=>lZ$,orDieWith:()=>rZ$,orDie:()=>nZ$,optionFromOptional:()=>J6$,option:()=>v0$,once:()=>gt,onInterrupt:()=>se,onExit:()=>_$$,onError:()=>N$$,none:()=>Ne,never:()=>Be,negate:()=>K$$,metricLabels:()=>U8$,mergeAll:()=>st,merge:()=>U$$,matchEffect:()=>jZ$,matchCauseEffect:()=>SZ$,matchCause:()=>xZ$,match:()=>EZ$,mapInputContext:()=>_0$,mapErrorCause:()=>A$$,mapError:()=>D$$,mapBoth:()=>H$$,mapAccum:()=>W$$,map:()=>Z8,makeSpanScoped:()=>a8$,makeSpan:()=>s8$,makeSemaphore:()=>Q8$,makeLatch:()=>B8$,loop:()=>UZ$,logWithLevel:()=>IZ$,logWarning:()=>bZ$,logTrace:()=>vZ$,logInfo:()=>gZ$,logFatal:()=>mZ$,logError:()=>hZ$,logDebug:()=>yZ$,logAnnotations:()=>dZ$,log:()=>kZ$,locallyWith:()=>zZ$,locallyScopedWith:()=>MZ$,locallyScoped:()=>TZ$,locally:()=>FZ$,linkSpans:()=>l8$,linkSpanCurrent:()=>i8$,liftPredicate:()=>ee,let:()=>I0$,labelMetricsScoped:()=>A8$,labelMetrics:()=>H8$,iterate:()=>AZ$,isSuccess:()=>qZ$,isFailure:()=>LZ$,isEffect:()=>TG,intoDeferred:()=>CG,interruptibleMask:()=>ie,interruptible:()=>le,interruptWith:()=>re,interrupt:()=>kX,inheritFiberRefs:()=>PZ$,ignoreLogged:()=>Ie,ignore:()=>ke,if:()=>b0$,head:()=>it,getRuntimeFlags:()=>X8$,getFiberRefs:()=>_Z$,gen:()=>Oe,functionWithSpan:()=>e8$,fromNullable:()=>X6$,fromFiberEffect:()=>c$$,fromFiber:()=>f$$,forkWithErrorHandler:()=>m$$,forkScoped:()=>h$$,forkIn:()=>b$$,forkDaemon:()=>$N,forkAll:()=>g$$,fork:()=>y$$,forever:()=>DZ$,forEach:()=>MG,fnUntraced:()=>A6$,fn:()=>D6$,flipWith:()=>Y$$,flip:()=>G$$,flatten:()=>a0$,flatMap:()=>o5,firstSuccessOf:()=>aZ$,findFirst:()=>lt,finalizersMask:()=>z$$,filterOrFail:()=>c0$,filterOrElse:()=>f0$,filterOrDieMessage:()=>m0$,filterOrDie:()=>h0$,filterMap:()=>rt,filterEffectOrFail:()=>d0$,filterEffectOrElse:()=>p0$,filter:()=>nt,fiberIdWith:()=>IX,fiberId:()=>v$$,failSync:()=>Ue,failCauseSync:()=>Ke,failCause:()=>Av,fail:()=>Ae,exit:()=>g0$,exists:()=>ot,every:()=>ut,eventually:()=>je,ensuringChildren:()=>I$$,ensuringChild:()=>k$$,ensuring:()=>B$$,ensureSuccessType:()=>U6$,ensureRequirementsType:()=>V6$,ensureErrorType:()=>K6$,either:()=>y0$,dropWhile:()=>ct,dropUntil:()=>ft,disconnect:()=>ne,diffFiberRefs:()=>j$$,dieSync:()=>Qe,dieMessage:()=>Ve,die:()=>sB,descriptorWith:()=>S$$,descriptor:()=>x$$,delay:()=>X0$,daemonChildren:()=>E$$,custom:()=>De,currentSpan:()=>d8$,currentPropagatedSpan:()=>u8$,currentParentSpan:()=>o8$,contextWithEffect:()=>N0$,contextWith:()=>B0$,context:()=>O0$,consoleWith:()=>e$$,console:()=>t$$,configProviderWith:()=>K0$,clockWith:()=>i$$,clock:()=>l$$,checkInterruptible:()=>oe,cause:()=>Se,catchTags:()=>xe,catchTag:()=>Ee,catchSomeDefect:()=>qe,catchSomeCause:()=>Le,catchSome:()=>Re,catchIf:()=>Ce,catchAllDefect:()=>we,catchAllCause:()=>Me,catchAll:()=>Te,catch:()=>ze,cachedWithTTL:()=>kt,cachedInvalidateWithTTL:()=>It,cachedFunction:()=>yt,cached:()=>vt,cacheRequestResult:()=>j8$,blocked:()=>q8$,bindTo:()=>k0$,bindAll:()=>j0$,bind:()=>S0$,awaitAllChildren:()=>q$$,asyncEffect:()=>He,async:()=>We,asVoid:()=>J$$,asSomeError:()=>X$$,asSome:()=>Z$$,as:()=>$$$,ap:()=>L8$,annotateSpans:()=>c8$,annotateLogsScoped:()=>pZ$,annotateLogs:()=>cZ$,annotateCurrentSpan:()=>p8$,andThen:()=>s0$,allowInterrupt:()=>ue,allWith:()=>ht,allSuccesses:()=>mt,all:()=>bt,addFinalizer:()=>O$$,acquireUseRelease:()=>Q$$,acquireReleaseInterruptible:()=>V$$,acquireRelease:()=>wG,Tag:()=>W6$,Service:()=>H6$,EffectTypeId:()=>jt,Do:()=>x0$});var Z6={};F8(Z6,{stripSomeDefects:()=>Ci,stripFailures:()=>wi,squashWith:()=>ji,squash:()=>r2,size:()=>Ai,sequential:()=>Zi,reduceWithContext:()=>l2,reduce:()=>yi,prettyErrors:()=>si,pretty:()=>ii,parallel:()=>$i,originalError:()=>ai,match:()=>vi,map:()=>Li,linearize:()=>Mi,keepDefects:()=>Ti,isUnknownException:()=>ni,isTimeoutException:()=>ui,isSequentialType:()=>Hi,isRuntimeException:()=>pi,isParallelType:()=>Di,isNoSuchElementException:()=>fi,isInterruptedOnly:()=>n2,isInterruptedException:()=>bi,isInterrupted:()=>Qi,isInterruptType:()=>Wi,isIllegalArgumentException:()=>hi,isFailure:()=>Ki,isFailType:()=>Gi,isExceededCapacityException:()=>li,isEmptyType:()=>Ji,isEmpty:()=>Ui,isDieType:()=>Yi,isDie:()=>Vi,isCause:()=>Xi,interruptors:()=>Ni,interruptOption:()=>zi,interrupt:()=>el,flipCauseOption:()=>Pi,flatten:()=>xi,flatMap:()=>qi,find:()=>ki,filter:()=>Ii,failures:()=>Oi,failureOrCause:()=>RO,failureOption:()=>_i,fail:()=>cD,empty:()=>tl,dieOption:()=>Fi,die:()=>pD,defects:()=>Bi,contains:()=>Si,as:()=>Ri,andThen:()=>Ei,YieldableError:()=>al,UnknownExceptionTypeId:()=>sl,UnknownException:()=>oi,TimeoutExceptionTypeId:()=>il,TimeoutException:()=>di,RuntimeExceptionTypeId:()=>dl,RuntimeException:()=>ci,NoSuchElementExceptionTypeId:()=>nl,NoSuchElementException:()=>mi,InvalidPubSubCapacityExceptionTypeId:()=>rl,InterruptedExceptionTypeId:()=>ul,InterruptedException:()=>gi,IllegalArgumentExceptionTypeId:()=>ol,IllegalArgumentException:()=>i2,ExceededCapacityExceptionTypeId:()=>ll,ExceededCapacityException:()=>ri,CauseTypeId:()=>pl});var pl=aW,dl=lJ,ul=iJ,ol=sJ,nl=aJ,rl=XH,ll=tJ,il=eJ,sl=$2,al=t7,tl=d0,cD=V8,pD=N0,el=VZ,$i=_0,Zi=a$,Xi=fJ,Ji=tW,Gi=OM,Yi=X5,Wi=BM,Hi=NM,Di=_M,Ai=PM,Ui=cJ,Ki=FM,Vi=zM,Qi=f7,n2=J5,Oi=c7,Bi=p7,Ni=G5,_i=d7,RO=z6,Pi=TM,Fi=sK,zi=aK,Ti=eW,Mi=wM,wi=pJ,Ci=RM,Ri=LM,Li=u7,qi=h7,Ei=qM,xi=$H,Si=EM,r2=Zw,ji=DV,ki=i6,Ii=SM,vi=s6,yi=h9,l2=Y5,gi=UV,bi=zH,i2=i8,hi=Jw,mi=yZ,fi=TH,ci=AV,pi=Xw,di=KV,ui=Hw,oi=N5,ni=Dw,ri=Gw,li=Yw,ii=T6,si=o7,ai=hM;var ti="effect/ScheduleInterval",s2=Symbol.for(ti),LO={[s2]:s2,startMillis:0,endMillis:0},dD=($,Z)=>{if($>Z)return LO;return{[s2]:s2,startMillis:$,endMillis:Z}},ox=V(2,($,Z)=>nx($,Z)===$),nx=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 rx=($)=>{return $.startMillis>=$.endMillis};var lx=V(2,($,Z)=>{let X=Math.max($.startMillis,Z.startMillis),J=Math.min($.endMillis,Z.endMillis);return dD(X,J)}),ix=($)=>{return xZ($.endMillis-$.startMillis)};var sx=($)=>{return dD($,Number.POSITIVE_INFINITY)};var $8=dD,qO=LO,ax=ox;var tx=rx;var ex=lx,$S=ix;var C6=sx;var $s="effect/ScheduleIntervals",EO=Symbol.for($s),oD=($)=>{return{[EO]:EO,intervals:$}};var JS=V(2,($,Z)=>{if(!W0(Z.intervals))return $;if(!W0($.intervals))return Z;if(y$($.intervals).startMillis<y$(Z.intervals).startMillis)return XS(H0($.intervals),Z.intervals,y$($.intervals),w0());return XS($.intervals,H0(Z.intervals),y$(Z.intervals),w0())}),XS=($,Z,X,J)=>{let G=$,Y=Z,W=X,H=J;while(W0(G)||W0(Y))if(!W0(G)&&W0(Y))if(W.endMillis<y$(Y).startMillis)H=P(H,V0(W)),W=y$(Y),Y=H0(Y),G=w0();else W=$8(W.startMillis,y$(Y).endMillis),Y=H0(Y),G=w0();else if(W0(G)&&JW(Y))if(W.endMillis<y$(G).startMillis)H=P(H,V0(W)),W=y$(G),Y=w0(),G=H0(G);else W=$8(W.startMillis,y$(G).endMillis),Y=w0(),G=H0(G);else if(W0(G)&&W0(Y))if(y$(G).startMillis<y$(Y).startMillis)if(W.endMillis<y$(G).startMillis)H=P(H,V0(W)),W=y$(G),G=H0(G);else W=$8(W.startMillis,y$(G).endMillis),G=H0(G);else if(W.endMillis<y$(Y).startMillis)H=P(H,V0(W)),W=y$(Y),Y=H0(Y);else W=$8(W.startMillis,y$(Y).endMillis),Y=H0(Y);else throw Error(R9("Intervals.unionLoop"));return oD(P(H,V0(W),T8))},GS=V(2,($,Z)=>Zs($.intervals,Z.intervals,w0())),Zs=($,Z,X)=>{let J=$,G=Z,Y=X;while(W0(J)&&W0(G)){let W=P(y$(J),ex(y$(G))),H=tx(W)?Y:P(Y,V0(W));if(P(y$(J),ax(y$(G))))J=H0(J);else G=H0(G);Y=H}return oD(T8(Y))},uD=($)=>{return P($.intervals,CJ,c0(()=>qO)).startMillis},YS=($)=>{return P($.intervals,CJ,c0(()=>qO)).endMillis},xO=V(2,($,Z)=>uD($)<uD(Z)),WS=($)=>{return W0($.intervals)},HS=V(2,($,Z)=>xO($,Z)?Z:$);var DS=oD;var SO=JS,AS=GS,N4=uD,nD=YS,US=xO,KS=WS,VS=HS;var kO="Continue",QS="Done",OS=($)=>{return{_tag:kO,intervals:$}},BS=($)=>{return{_tag:kO,intervals:DS(x0($))}},NS={_tag:QS},_S=($)=>{return $._tag===kO},PS=($)=>{return $._tag===QS};var b5=OS;var a0=BS,I8=NS,Q1=_S,DZ=PS;class TS{permits;waiters=new Set;taken=0;constructor($){this.permits=$}get free(){return this.permits-this.taken}take=($)=>X2((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+=$,T($)}))};return this.waiters.add(X),E(()=>{this.waiters.delete(X)})}Z(H$(()=>{if(this.free<$)return this.take($);return this.taken+=$,T($)}))});updateTakenUnsafe($,Z){if(this.taken=Z(this.taken),this.waiters.size>0)$.getFiberRef(a9).scheduleTask(()=>{let X=this.waiters.values(),J=X.next();while(J.done===!1&&this.free>0)J.value(),J=X.next()},$.getFiberRef(n9),$);return T(this.free)}updateTaken($){return q$((Z)=>this.updateTakenUnsafe(Z,$))}resize=($)=>P0(q$((Z)=>{if(this.permits=$,this.free<0)return F$;return this.updateTakenUnsafe(Z,(X)=>X)}));release=($)=>this.updateTaken((Z)=>Z-$);releaseAll=this.updateTaken(($)=>0);withPermits=($)=>(Z)=>S0((X)=>z(X(this.take($)),(J)=>k8(X(Z),this.release(J))));withPermitsIfAvailable=($)=>(Z)=>S0((X)=>H$(()=>{if(this.free<$)return E5;return this.taken+=$,k8(X(KX(Z)),this.release($))}))}var rD=($)=>new TS($),MS=($)=>E(()=>rD($));class wS extends D4{isOpen;waiters=[];scheduled=!1;constructor($){super();this.isOpen=$}commit(){return this.await}unsafeSchedule($){if(this.scheduled||this.waiters.length===0)return F$;return this.scheduled=!0,$.currentScheduler.scheduleTask(this.flushWaiters,$.getFiberRef(n9),$),F$}flushWaiters=()=>{this.scheduled=!1;let $=this.waiters;this.waiters=[];for(let Z=0;Z<$.length;Z++)$[Z](gZ)};open=q$(($)=>{if(this.isOpen)return F$;return this.isOpen=!0,this.unsafeSchedule($)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=q$(($)=>{if(this.isOpen)return F$;return this.unsafeSchedule($)});await=X2(($)=>{if(this.isOpen)return $(F$);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 x$(this.await,$)}}var yO=($)=>new wS($??!1),CS=($)=>E(()=>yO($)),RS=($)=>lD($,hD),LS=V(2,($,Z)=>I(gO($,Z),(X)=>X[0])),gO=V(2,($,Z)=>{let X=G0(Z);return z(N8(),(J)=>I(sD(x()),(G)=>[tZ(Gs($,X,G),J),Ys(G)]))}),zS=($,Z,X)=>{let J=TZ(G0(Z));return P(B8(),IZ((G)=>t6($,G)),I((G)=>S([X+J,G])))},Gs=($,Z,X)=>S0((J)=>P(X9((G)=>G.currentTimeMillis),z((G)=>As(X,(Y)=>{switch(Y._tag){case"None":return S(zS($,Z,G));case"Some":{let[W]=Y.value;return W-G<=0?S(zS($,Z,G)):x()}}})),z((G)=>j$(G)?l1("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):J(WZ(G.value[1]))))),Ys=($)=>Z9($,x()),qS=V(2,($,Z)=>lD($,(X)=>Z(FX(X)))),lD=V(2,($,Z)=>z($x,(X)=>P(hO($,X),k8(z(X.value,Z))))),ES=V(($)=>h8($[0]),($,Z)=>Z?.discard?R8($,K1):I(QZ($,K1),FX)),bO=V(2,($,Z)=>q$((X,J)=>{let G=Z,Y=u2($,X,J.runtimeFlags,w6);if(G.state._tag==="Open"){let W=()=>Q8((A)=>i(A,Y.id())?F$:P0(Z4(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 T(Y)})),iD=($)=>$6((Z)=>bO($,Z)),xS=($)=>BZ($),SS=($)=>H$(()=>z($,BZ)),IO=Symbol.for("effect/Effect/memoizeFunction.key");class vO{a;eq;[IO]=IO;constructor($,Z){this.a=$,this.eq=Z}[J$]($){if(o($,IO))if(this.eq)return this.eq(this.a,$.a);else return i(this.a,$.a);return!1}[Y$](){return this.eq?0:w$(this,s(this.a))}}var jS=($,Z)=>{return P(E(()=>W1()),z(sD),I((X)=>(J)=>P(X.modifyEffect((G)=>{let Y=P(G,O0(new vO(J,Z)));if(j$(Y))return P(B8(),IZ((W)=>P(VX($(J)),t6(W),K1)),I((W)=>[W,P(G,hZ(new vO(J,Z),W))]));return T([Y.value,G])}),z(WZ),z(([G,Y])=>P(L5(G),n$(Y))))))},kS=V(2,($,Z)=>P(U0($),mD(U0(Z)),(X)=>kZ(X))),hO=V(2,($,Z)=>{return s0(bD,(J)=>J.zip(Z))($)}),IS=V(2,($,Z)=>mO($,{onTimeout:()=>Ww(Z),duration:Z})),mO=V(2,($,{duration:Z,onTimeout:X})=>kZ(a2($,{onTimeout:()=>l8(X),onSuccess:T,duration:Z}))),vS=V(2,($,{duration:Z,onTimeout:X})=>kZ(a2($,{onTimeout:()=>p9(X),onSuccess:T,duration:Z}))),yS=V(2,($,Z)=>a2($,{duration:Z,onSuccess:S,onTimeout:x})),a2=V(2,($,{duration:Z,onSuccess:X,onTimeout:J})=>Q8((G)=>S0((Y)=>TO(Y($),u9(q5(Z)),{onSelfWin:(W,H)=>z(W.await,(A)=>{if(A._tag==="Success")return z(W.inheritAll,()=>n$(vZ(H,G),X(A.value)));else return z(vZ(H,G),()=>I$(A.cause))}),onOtherWin:(W,H)=>z(W.await,(A)=>{if(A._tag==="Success")return z(W.inheritAll,()=>n$(vZ(H,G),J()));else return z(vZ(H,G),()=>I$(A.cause))}),otherScope:w6})))),Ws="effect/Ref/SynchronizedRef",Hs=Symbol.for(Ws),Ds={_A:($)=>$};class gS extends D4{ref;withLock;[Hs]=Ds;[rH]=tV;[U4]=U4;constructor($,Z){super();this.ref=$,this.withLock=Z,this.get=CZ(this.ref)}get;commit(){return this.get}modify($){return this.modifyEffect((Z)=>T($(Z)))}modifyEffect($){return this.withLock(P(z(CZ(this.ref),$),z(([Z,X])=>n$(Z9(this.ref,X),Z))))}}var sD=($)=>E(()=>fO($)),fO=($)=>{let Z=GX($),X=rD(1);return new gS(Z,X.withPermits(1))},As=V(2,($,Z)=>$.modifyEffect((X)=>{let J=Z(X);switch(J._tag){case"None":return T([X,X]);case"Some":return I(J.value,(G)=>[G,G])}})),bS=V(2,($,Z)=>t2($,Z,(X,J)=>[X,J])),hS=V(2,($,Z)=>t2($,Z,(X,J)=>X)),mS=V(2,($,Z)=>t2($,Z,(X,J)=>J)),t2=V(3,($,Z,X)=>({...qH,commit(){return BZ(this)},[G1]:NX,id:()=>P($.id(),vW(Z.id())),await:P($.await,kZ,G9(kZ(Z.await),X,{concurrent:!0}),U0),children:$.children,inheritAll:x$(Z.inheritAll,$.inheritAll),poll:aZ($.poll,Z.poll,(J,G)=>P(J,lZ((Y)=>P(G,E0((W)=>wV(Y,W,{onSuccess:X,onFailure:_0})))))),interruptAsFork:(J)=>x$($.interruptAsFork(J),Z.interruptAsFork(J)),pipe(){return r(this,arguments)}})),fS=V(($)=>h$($[0]),($,Z,X)=>z($,(J)=>B4(Z(J),X).pipe(I((G)=>Object.assign({},J,G)))));var cS=Symbol.for("effect/ManagedRuntime");var pS="ExtendScope",dS="Fold",pO="Fresh",uS="FromEffect",oS="Scoped",nS="Suspend",rS="Provide",dO="ProvideMerge",lS="MergeAll",iS="ZipWith";var H9={};F8(H9,{zipWith:()=>$a,zipRight:()=>es,zipLeft:()=>ts,zip:()=>as,void:()=>ss,unsafeRoots:()=>ns,succeed:()=>is,status:()=>ls,scoped:()=>rs,roots:()=>os,pretty:()=>us,poll:()=>ds,orElseEither:()=>ps,orElse:()=>cs,never:()=>fs,match:()=>ms,mapFiber:()=>hs,mapEffect:()=>bs,map:()=>gs,joinAll:()=>ys,join:()=>vs,isRuntimeFiber:()=>Ns,isFiber:()=>Bs,interrupted:()=>Ss,interruptFork:()=>Is,interruptAsFork:()=>js,interruptAs:()=>_4,interruptAllAs:()=>$G,interruptAll:()=>ks,interrupt:()=>xs,inheritAll:()=>Es,id:()=>_s,getCurrentFiber:()=>qs,fromEffect:()=>Ls,failCause:()=>Rs,fail:()=>Cs,dumpAll:()=>ws,dump:()=>Ms,done:()=>Ts,children:()=>Fs,awaitAll:()=>Ps,await:()=>e2,all:()=>zs,RuntimeFiberTypeId:()=>Qs,Order:()=>Os,FiberTypeId:()=>Vs});var Vs=G1,Qs=k2,Os=xq,Bs=Sq,Ns=j2,_s=yq,e2=PD;var Ps=hD,Fs=jq,zs=FX,Ts=S5,Ms=FD,ws=kq,Cs=Iq,Rs=dQ,Ls=vq,qs=rq,Es=zD,xs=Z4,Ss=gq,_4=vZ,js=TD,ks=bq,$G=I2,Is=fx,vs=BZ,ys=cx,gs=ND,bs=uQ,hs=hq,ms=mq,fs=fq,cs=oQ,ps=cq,ds=pq,us=dq,os=uq,ns=nQ,rs=px,ls=oq,is=rQ,ss=nq;var as=bS,ts=hS,es=mS,$a=t2;var zX=($)=>function(){if(arguments.length===1){let Z=arguments[0];return(X,...J)=>$(Z,X,...J)}return $.apply(this,arguments)},TX=zX(($,Z,X)=>{let J=gW(),G=[[O8,[[J,$.context]]]];if(X?.scheduler)G.push([a9,[[J,X.scheduler]]]);let Y=ow($.fiberRefs,{entries:G,forkAs:J});if(X?.updateRefs)Y=X.updateRefs(Y,J);let W=new vD(J,Y,$.runtimeFlags),H=Z;if(X?.scope)H=z(CO(X.scope,a8),(K)=>x$(K2(K,Q8((Q)=>i(Q,W.id())?F$:vZ(W,Q))),sZ(Z,(Q)=>wO(K,Q))));let A=W.currentSupervisor;if(A!==I5)A.onStart($.context,H,x(),W),W.addObserver((K)=>A.onEnd(K,W));if(w6.add($.runtimeFlags,W),X?.immediate===!1)W.resume(H);else W.start(H);return W}),aD=zX(($,Z,X={})=>{let J=TX($,Z,X);if(X.onExit)J.addObserver((G)=>{X.onExit(G)});return(G,Y)=>aD($)(P(J,_4(G??p0)),{...Y,onExit:Y?.onExit?(W)=>Y.onExit(zV(W)):void 0})}),sS=zX(($,Z)=>{let X=nO($)(Z);if(X._tag==="Failure")throw oO(X.effect_instruction_i0);return X.effect_instruction_i0});class aS 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 Za=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new aS($);return Error.stackTraceLimit=Z,X};var uO=Symbol.for("effect/Runtime/FiberFailure"),ZG=Symbol.for("effect/Runtime/FiberFailure/Cause");class tS extends Error{[uO];[ZG];constructor($){let Z=o7($)[0];super(Z?.message||"An error has occurred");if(this[uO]=uO,this[ZG]=$,this.name=Z?`(FiberFailure) ${Z.name}`:"FiberFailure",Z?.stack)this.stack=Z.stack}toJSON(){return{_id:"FiberFailure",cause:this[ZG].toJSON()}}toString(){return"(FiberFailure) "+T6(this[ZG],{renderErrorCause:!0})}[M$](){return this.toString()}}var oO=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new tS($);return Error.stackTraceLimit=Z,X};var eS=($)=>{let Z=$;switch(Z._op){case"Failure":case"Success":return Z;case"Left":return Y4(Z.left);case"Right":return t$(Z.right);case"Some":return t$(Z.value);case"None":return Y4(new yZ)}},nO=zX(($,Z)=>{let X=eS(Z);if(X)return X;let J=new ZQ,G=TX($)(Z,{scheduler:J});J.flush();let Y=G.unsafePoll();if(Y)return Y;return wH(YH(Za(G),RH(G)))}),$j=zX(($,Z,X)=>rO($,Z,X).then((J)=>{switch(J._tag){case Z0:return J.effect_instruction_i0;case $0:throw oO(J.effect_instruction_i0)}})),rO=zX(($,Z,X)=>new Promise((J)=>{let G=eS(Z);if(G)J(G);let Y=TX($)(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 lO{context;runtimeFlags;fiberRefs;constructor($,Z,X){this.context=$,this.runtimeFlags=Z,this.fiberRefs=X}pipe(){return r(this,arguments)}}var iO=($)=>new lO($.context,$.runtimeFlags,$.fiberRefs),MX=()=>q$(($,Z)=>T(new lO($.getFiberRef(O8),Z.runtimeFlags,$.getFiberRefs()))),Zj=bK(P6,vK,IK),R6=iO({context:KZ(),runtimeFlags:Zj,fiberRefs:nw()});var Xj=aD(R6),Jj=TX(R6),Gj=$j(R6),Yj=rO(R6),Wj=sS(R6),Hj=nO(R6),Dj=($)=>H$(()=>{let Z=void 0;return z(B8(),(X)=>z(MX(),(J)=>S0((G)=>x$(K1(G(Q0($((Y)=>aD(J)(t6(Y,X))),{onFailure:(Y)=>N2(X,Y),onSuccess:(Y)=>{return Z=Y,F$}}))),G(e6(WZ(X),()=>Z??F$))))))});var Aj=V(2,($,Z)=>$.modifyEffect(Z));var Ja="effect/Layer",eD=Symbol.for(Ja),Ga={_RIn:($)=>$,_E:($)=>$,_ROut:($)=>$},X6={[eD]:Ga,pipe(){return r(this,arguments)}},Ya="effect/Layer/MemoMap",XG=Symbol.for(Ya),aO=p6()("effect/Layer/CurrentMemoMap",{defaultValue:()=>Wa()}),GG=($)=>o($,eD),tO=($)=>{return $._op_layer===pO};class eO{ref;[XG];constructor($){this.ref=$,this[XG]=XG}getOrElseMemoize($,Z){return P(Aj(this.ref,(X)=>{let J=X.get($);if(J!==void 0){let[G,Y]=J,W=P(G,z(([H,A])=>P(L5(H),n$(A))),sZ(P5({onFailure:()=>F$,onSuccess:()=>J4(Z,Y)})));return T([W,X])}return P(M5(0),z((G)=>P(B8(),z((Y)=>P(M5(()=>F$),I((W)=>{let H=S0((K)=>P(g5(),z((Q)=>P(K(z(Oj($,Q,!0),(O)=>VX(O(this)))),U0,z((O)=>{switch(O._tag){case $0:return P(N2(Y,O.effect_instruction_i0),x$(O5(Q,O)),x$(L$(O.effect_instruction_i0)));case Z0:return P(Z9(W,(_)=>P(O5(Q,_),i7(eV(G,(F)=>[F===1,F-1])),P0)),x$(w5(G,(_)=>_+1)),x$(J4(Z,(_)=>P(E(()=>X.delete($)),x$(CZ(W)),z((F)=>F(_))))),x$(NV(Y,O.effect_instruction_i0)),n$(O.effect_instruction_i0[1]))}}))))),A=[P(WZ(Y),sZ(F5({onFailure:()=>F$,onSuccess:()=>w5(G,(K)=>K+1)}))),(K)=>P(CZ(W),z((Q)=>Q(K)))];return[H,tO($)?X:X.set($,A)]}))))))}),kZ)}}var $B=H$(()=>I(sD(new Map),($)=>new eO($))),Wa=()=>new eO(fO(new Map)),Qj=($)=>$6((Z)=>P4($,Z)),P4=V(2,($,Z)=>z($B,(X)=>$A($,X,Z))),$A=V(3,($,Z,X)=>z(Oj($,X),(J)=>Q4(J(Z),aO,Z))),Oj=($,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)=>$6((Y)=>G.getOrElseMemoize(J.layer,Y)));case"Fold":return E(()=>(G)=>P(G.getOrElseMemoize(J.layer,Z),Q0({onFailure:(Y)=>G.getOrElseMemoize(J.failureK(Y),Z),onSuccess:(Y)=>G.getOrElseMemoize(J.successK(Y),Z)})));case"Fresh":return E(()=>(G)=>P(J.layer,P4(Z)));case"FromEffect":return X?E(()=>(G)=>J.effect):E(()=>(G)=>G.getOrElseMemoize($,Z));case"Provide":return E(()=>(G)=>P(G.getOrElseMemoize(J.first,Z),z((Y)=>P(G.getOrElseMemoize(J.second,Z),tZ(Y)))));case"Scoped":return X?E(()=>(G)=>W9(J.effect,Z)):E(()=>(G)=>G.getOrElseMemoize($,Z));case"Suspend":return E(()=>(G)=>G.getOrElseMemoize(J.evaluate(),Z));case"ProvideMerge":return E(()=>(G)=>P(G.getOrElseMemoize(J.first,Z),aZ(G.getOrElseMemoize(J.second,Z),J.zipK)));case"ZipWith":return VH(function*(){let G=yield*q8(Z,F2),Y=yield*q8(G,a8),W=yield*q8(G,a8);return(H)=>P(H.getOrElseMemoize(J.first,Y),G9(H.getOrElseMemoize(J.second,W),J.zipK,{concurrent:!0}))});case"MergeAll":{let G=J.layers;return I(q8(Z,F2),(Y)=>(W)=>{let H=Array(G.length);return I(U1(G,s7(function*(A,K){let Q=yield*q8(Y,a8),O=yield*W.getOrElseMemoize(A,Q);H[K]=O}),!1,!1),()=>t3(...H))})}}},h5=V(2,($,Z)=>HA($,{onFailure:Z,onSuccess:O1})),ZB=V(2,($,Z)=>WA($,{onFailure:Z,onSuccess:O1})),XB=($)=>YG(pD($)),Bj=($)=>XA(()=>pD($())),Nj=($)=>YA($,()=>KZ()),ZA=()=>fZ(N8()),_j=($)=>{let Z=Object.create(X6);return Z._op_layer=pS,Z.layer=$,Z},JB=($)=>YG(cD($)),GB=($)=>XA(()=>cD($())),YG=($)=>fZ(L$($)),XA=($)=>fZ(p9($)),D9=V(2,($,Z)=>HA($,{onFailure:JB,onSuccess:Z})),Pj=V(2,($,Z)=>D9($,r0(Z))),YB=($)=>{let Z=Object.create(X6);return Z._op_layer=pO,Z.layer=$,Z},F4=V(2,($,Z)=>{let X=S7($),J=X?$:Z;return fZ(I(X?Z:$,(Y)=>D8(J,Y)))}),Fj=($)=>fZ(I($,()=>KZ()));function fZ($){let Z=Object.create(X6);return Z._op_layer=uS,Z.effect=$,Z}var zj=V(3,($,Z,X)=>JA($,C0(Z,X))),JA=V(2,($,Z)=>{let X=Object.create(X6);return X._op_layer="Locally",X.self=$,X.f=Z,X}),GA=V(3,($,Z,X)=>JA($,s0(Z,X))),Tj=($,Z)=>m5(mZ($,Z)),Mj=($,Z)=>m5(RZ($,Z)),wj=($,Z,X)=>fZ(I($,(J)=>D8(Z,X(J)))),Cj=($)=>yD(x$($6((Z)=>P($,P4(Z))),$4)),Rj=function(){if(arguments.length===1)return($)=>Uj(arguments[0],$);return Uj(arguments[0],arguments[1])},Uj=($,Z)=>wX($,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",Ha(W)},has:y6})),Ha=($)=>{let Z=MZ($);function X(){return Z}return Object.assign(X,Z),Object.setPrototypeOf(X,Object.getPrototypeOf(Z)),X},YA=V(2,($,Z)=>D9($,(X)=>O1(Z(X)))),Lj=V(2,($,Z)=>h5($,(X)=>GB(()=>Z(X)))),WA=V(2,($,{onFailure:Z,onSuccess:X})=>{let J=Object.create(X6);return J._op_layer=dS,J.layer=$,J.failureK=Z,J.successK=X,J}),HA=V(2,($,{onFailure:Z,onSuccess:X})=>WA($,{onFailure:(J)=>{let G=RO(J);switch(G._tag){case"Left":return Z(G.left);case"Right":return YG(G.right)}},onSuccess:X})),qj=($)=>$6((Z)=>I(UD(P4($,Z)),fZ)),WB=V(2,($,Z)=>HB($,Z,(X,J)=>d8(X,J))),DA=(...$)=>{let Z=Object.create(X6);return Z._op_layer=lS,Z.layers=$,Z},Ej=($)=>h5($,(Z)=>XB(Z)),xj=V(2,($,Z)=>h5($,Z)),Sj=($)=>WB(ZA(),$),jj=V(4,($,Z,X,J)=>YA($,(G)=>D8(X,J(p8(G,Z))))),kj=V(2,($,Z)=>HG(()=>{let X=YZ("effect/Layer/retry/{ state: unknown }");return P(wX(X,{state:Z.initial}),D9((J)=>Ij($,Z,X,P(J,r0(X)).state)))})),Ij=($,Z,X,J)=>{return P($,h5((G)=>P(Da(Z,X,G,J),D9((Y)=>YB(Ij($,Z,X,P(Y,r0(X)).state))))))},Da=($,Z,X,J)=>{return F4(Z,P(X1,z((G)=>P($.step(G,X,J),z(([Y,W,H])=>DZ(H)?R$(X):P(UX(xZ(N4(H.intervals)-G)),n$({state:Y})))))))},z4=V(2,($,Z)=>{let X=S7($),J=X?$:Z;return WG(I(X?Z:$,(Y)=>D8(J,Y)))}),m5=($)=>WG(P($,n$(KZ()))),WG=($)=>{let Z=Object.create(X6);return Z._op_layer=oS,Z.effect=$,Z},vj=WG(I(y5(g5(),($,Z)=>$.close(Z)),($)=>D8(MO,$))),yj=($)=>F4($,$),wX=V(2,($,Z)=>{let X=S7($);return fZ(T(D8(X?$:Z,X?Z:$)))}),O1=($)=>{return fZ(T($))},gj=O1(KZ()),HG=($)=>{let Z=Object.create(X6);return Z._op_layer=nS,Z.evaluate=$,Z},AA=V(2,($,Z)=>{let X=S7($),J=X?$:Z,G=X?Z:$;return fZ(E(()=>D8(J,G())))}),bj=($)=>{return fZ(E($))},hj=V(2,($,Z)=>D9($,(X)=>fZ(n$(Z(X),X)))),mj=V(2,($,Z)=>h5($,(X)=>fZ(z(Z(X),()=>R$(X))))),fj=V(2,($,Z)=>ZB($,(X)=>fZ(z(Z(X),()=>L$(X))))),cj=($)=>P($6((Z)=>P4($,Z)),z((Z)=>P(MX(),tZ(Z)))),pj=V(2,($,Z)=>z($6((X)=>$A($,Z,X)),(X)=>P(MX(),tZ(X)))),f5=V(2,($,Z)=>HG(()=>{let X=Object.create(X6);return X._op_layer=rS,X.first=Object.create(X6,{_op_layer:{value:dO,enumerable:!0},first:{value:ZA(),enumerable:!0},second:{value:Array.isArray(Z)?DA(...Z):Z},zipK:{value:(J,G)=>P(J,d8(G))}}),X.second=$,X})),dj=V(2,($,Z)=>{let X=Object.create(X6);return X._op_layer=dO,X.first=Z,X.second=f5($,Z),X.zipK=(J,G)=>{return P(J,d8(G))},X}),HB=V(3,($,Z,X)=>HG(()=>{let J=Object.create(X6);return J._op_layer=iS,J.first=$,J.second=Z,J.zipK=X,J})),DB=($)=>{let Z=YZ("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return D9(F4(Z,$),(X)=>r0(X,Z))},JG=($)=>{let Z=YZ("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return D9(z4(Z,$),(X)=>r0(X,Z))},uj=V(($)=>GG($[0]),function(){let $=arguments;return GA($[0],r9,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),oj=V(($)=>GG($[0]),function(){let $=arguments;return GA($[0],a7,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),nj=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=x8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return JG(I(X?.onEnd?IZ(e8(Z,X),(G)=>J9((Y)=>X.onEnd(G,Y))):e8(Z,X),(G)=>tD(J,G)))}return(J)=>JG(I(X?.onEnd?IZ(e8(Z,X),(G)=>J9((Y)=>X.onEnd(G,Y))):e8(Z,X),(G)=>tD(J,G)))},tD=V(2,($,Z)=>f5($,O1(D8(bZ,Z)))),Kj=V(2,($,Z)=>o2((X)=>z(P4(Z,X),(J)=>CH($,J)))),Vj=V(2,($,Z)=>{let X=z5(R6.fiberRefs,Z.fiberRefs),J=n8(R6.runtimeFlags,Z.runtimeFlags);return S0((G)=>q$((Y)=>{let W=Y.getFiberRef(O8),H=Y.getFiberRefs(),A=T5(Y.id(),H)(X),K=Y.currentRuntimeFlags,Q=g9(J)(K),O=z5(A,H),_=n8(Q,K);return Y.setFiberRefs(A),Y.currentRuntimeFlags=Q,k8(CH(G($),d8(W,Z.context)),q$((F)=>{return F.setFiberRefs(T5(F.id(),F.getFiberRefs())(O)),F.currentRuntimeFlags=g9(_)(F.currentRuntimeFlags),F$}))}))}),UA=V(2,($,Z)=>{if(Array.isArray(Z))return Kj($,DA(...Z));else if(GG(Z))return Kj($,Z);else if(a3(Z))return CH($,Z);else if(cS in Z)return z(Z.runtimeEffect,(X)=>Vj($,X));else return Vj($,Z)});var rj=I(L8(z0),r0(e9)),lj=($)=>wZ(z0,(Z)=>$(r0(Z,e9))),ij=V(2,($,Z)=>s0($,z0,s$(e9,Z))),sj=($)=>RZ(z0,s$(e9,$));var Ua=function(){let $=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends t7{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}(),aj=($)=>{let Z={BaseEffectError:class extends Ua{_tag=$}};return Z.BaseEffectError.prototype.name=$,Z.BaseEffectError};var AB=Symbol.for("effect/DateTime"),UB=Symbol.for("effect/DateTime/TimeZone"),$k={[AB]:AB,pipe(){return r(this,arguments)},[M$](){return this.toString()},toJSON(){return RX(this).toJSON()}},Va={...$k,_tag:"Utc",[Y$](){return w$(this,f4(this.epochMillis))},[J$]($){return UG($)&&$._tag==="Utc"&&this.epochMillis===$.epochMillis},toString(){return`DateTime.Utc(${RX(this).toJSON()})`}},Qa={...$k,_tag:"Zoned",[Y$](){return P(f4(this.epochMillis),U$(s(this.zone)),w$(this))},[J$]($){return UG($)&&$._tag==="Zoned"&&this.epochMillis===$.epochMillis&&i(this.zone,$.zone)},toString(){return`DateTime.Zoned(${va(this)})`}},Zk={[UB]:UB,[M$](){return this.toString()}},Oa={...Zk,_tag:"Named",[Y$](){return w$(this,f$(`Named:${this.id}`))},[J$]($){return CX($)&&$._tag==="Named"&&this.id===$.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},Ba={...Zk,_tag:"Offset",[Y$](){return w$(this,f$(`Offset:${this.offset}`))},[J$]($){return CX($)&&$._tag==="Offset"&&this.offset===$.offset},toString(){return`TimeZone.Offset(${Yk(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},A9=($,Z,X)=>{let J=Object.create(Qa);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},UG=($)=>o($,AB),Na=($)=>UG($[0]),CX=($)=>o($,UB);var Xk=($)=>CX($)&&$._tag==="Named";var _a=($)=>$._tag==="Zoned";var Jk=($)=>{let Z=Object.create(Va);return Z.epochMillis=$,Object.defineProperty(Z,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),Z},VA=($)=>{let Z=$.getTime();if(Number.isNaN(Z))throw new i2("Invalid date");return Jk(Z)},Pa=($)=>{if(UG($))return $;else if($ instanceof Date)return VA($);else if(typeof $==="object"){let Z=new Date(0);return Sa(Z,$),VA(Z)}else if(typeof $==="string"&&!Fa($))return VA(new Date($+"Z"));return VA(new Date($))},Fa=($)=>/Z|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test($),za=-8639999956800000,Ta=8639999949600000,QA=($,Z)=>{if(Z?.timeZone===void 0&&UG($)&&_a($))return $;let X=Pa($);if(X.epochMillis<za||X.epochMillis>Ta)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=KB(G)}else if(CX(Z?.timeZone))J=Z.timeZone;else if(typeof Z?.timeZone==="number")J=KB(Z.timeZone);else{let G=VB(Z.timeZone);if(j$(G))throw new i2(`Invalid time zone: ${Z.timeZone}`);J=G.value}if(Z?.adjustForTimeZone!==!0)return A9(X.epochMillis,J,X.partsUtc);return Dk(X.epochMillis,J,Z?.disambiguation??"compatible")};var AG=N$("effect/DateTime/validZoneCache",()=>new Map),Ma={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},wa=($)=>{let Z=$.resolvedOptions().timeZone;if(AG.has(Z))return AG.get(Z);let X=Object.create(Oa);return X.id=Z,X.format=$,AG.set(Z,X),X},Ca=($)=>{if(AG.has($))return AG.get($);try{return wa(new Intl.DateTimeFormat("en-US",{...Ma,timeZone:$}))}catch{throw new i2(`Invalid time zone: ${$}`)}},KB=($)=>{let Z=Object.create(Ba);return Z.offset=$,Z},Ra=S3(Ca);var La=/^(?:GMT|[+-])/,VB=($)=>{if(La.test($)){let Z=Ak($);return Z===null?x():S(KB(Z))}return Ra($)};var RX=($)=>new Date($.epochMillis),c5=($)=>{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},Gk=($)=>{return c5($).getTime()-Ea($)},Yk=($)=>{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")}`},qa=($)=>Yk(Gk($)),Ea=($)=>$.epochMillis;var Wk=($)=>({millis:$.getUTCMilliseconds(),seconds:$.getUTCSeconds(),minutes:$.getUTCMinutes(),hours:$.getUTCHours(),day:$.getUTCDate(),weekDay:$.getUTCDay(),month:$.getUTCMonth()+1,year:$.getUTCFullYear()}),Hk=($)=>{if($._tag==="Utc")return xa($);else if($.partsAdjusted!==void 0)return $.partsAdjusted;return $.partsAdjusted=ka($,Wk),$.partsAdjusted},xa=($)=>{if($.partsUtc!==void 0)return $.partsUtc;return $.partsUtc=Ia($,Wk),$.partsUtc};var Sa=($,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 tj=86400000,Dk=($,Z,X)=>{if(Z._tag==="Offset")return A9($-Z.offset,Z);let J=DG($-tj,$,Z),G=DG($+tj,$,Z);if(J===G)return A9($-J,Z);let Y=J<G,W=J-G;if(Y){if(DG($-G,$,Z)===G)return A9($-G,Z);let K=A9($-J,Z),Q=c5(K).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 A9($-G,Z);case"compatible":case"later":return K}return K}if(DG($-J,$,Z)===J){if(X==="earlier"||X==="compatible")return A9($-J,Z);if(DG($-J+W,$+W,Z)===J)return A9($-J,Z);if(X==="reject"){let K=new Date($).toISOString();throw RangeError(`Ambiguous time: ${K} occurs twice in time zone ${Z.id}`)}}return A9($-G,Z)},ja=/([+-])(\d{2}):(\d{2})$/,Ak=($)=>{let Z=ja.exec($);if(Z===null)return null;let[,X,J,G]=Z;return(X==="+"?1:-1)*(Number(J)*60+Number(G))*60*1000},DG=($,Z,X)=>{let J=X.format.formatToParts($).find((Y)=>Y.type==="timeZoneName")?.value??"";if(J==="GMT")return 0;let G=Ak(J);if(G===null)return Gk(A9(Z,X));return G},Uk=V(Na,($,Z,X)=>{if($._tag==="Utc"){let Y=RX($);return Z(Y),Jk(Y.getTime())}let J=c5($),G=new Date(J.getTime());return Z(G),Dk(G.getTime(),$.zone,X?.disambiguation??"compatible")});var ka=V(2,($,Z)=>Z(c5($))),Ia=V(2,($,Z)=>Z(RX($)));var ej=($)=>{let Z=c5($);return $._tag==="Utc"?Z.toISOString():`${Z.toISOString().slice(0,-1)}${qa($)}`},va=($)=>$.zone._tag==="Offset"?ej($):`${ej($)}[${$.zone.id}]`;var Kk=($)=>$.length>0;var OB=Symbol.for("effect/Cron"),ba={[OB]:OB,[J$]($){return BB($)&&pa(this,$)},[Y$](){return P(s(this.tz),U$(s(this.and)),U$(o0(_$(this.seconds))),U$(o0(_$(this.minutes))),U$(o0(_$(this.hours))),U$(o0(_$(this.days))),U$(o0(_$(this.months))),U$(o0(_$(this.weekdays))),w$(this))},toString(){return S$(this.toJSON())},toJSON(){return{_id:"Cron",tz:this.tz,seconds:_$(this.seconds),minutes:_$(this.minutes),hours:_$(this.hours),days:_$(this.days),months:_$(this.months),weekdays:_$(this.weekdays)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},BB=($)=>o($,OB),ha=($)=>{let Z=Object.create(ba);Z.seconds=new Set(H8($.seconds??[0],OZ)),Z.minutes=new Set(H8($.minutes,OZ)),Z.hours=new Set(H8($.hours,OZ)),Z.days=new Set(H8($.days,OZ)),Z.months=new Set(H8($.months,OZ)),Z.weekdays=new Set(H8($.weekdays,OZ)),Z.and=$.and===!0,Z.tz=W8($.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:J6(X,60,"next"),minute:J6(J,60,"next"),hour:J6(G,24,"next"),day:J6(Y,32,"next"),month:J6(W,13,"next"),weekday:J6(H,7,"next")},Z.prev={second:J6(X,60,"prev"),minute:J6(J,60,"prev"),hour:J6(G,24,"prev"),day:J6(Y,32,"prev"),month:J6(W,13,"prev"),weekday:J6(H,7,"prev")},Z},J6=($,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},Vk=Symbol.for("effect/Cron/errors/ParseError");class L6 extends aj("CronParseError"){[Vk]=Vk}var Ok=($,Z)=>{let X=$.trim().split(/\s+/).filter(Kk);if(X.length!==5&&X.length!==6)return g$(new L6({message:"Invalid number of segments in cron expression",input:$}));if(X.length===5)X.unshift("0");let[J,G,Y,W,H,A]=X,K=Z===void 0||CX(Z)?E$(Z):w3(VB(Z),()=>new L6({message:"Invalid time zone in cron expression",input:Z}));return L3({tz:K,seconds:qX(J,da),minutes:qX(G,ua),hours:qX(Y,oa),days:qX(W,na),months:qX(H,ra),weekdays:qX(A,la)}).pipe(S9(({days:Q,hours:O,minutes:_,months:F,seconds:M,tz:C,weekdays:m})=>ha({tz:C,seconds:M.values,minutes:_.values,hours:O.values,days:Q.values,months:F.values,weekdays:m.values,and:(Q.wildcard||m.wildcard)&&Q.values.size!==0&&m.values.size!==0})))};var Bk=($,Z)=>{let X=QA(Z,{timeZone:n0($.tz)}).pipe(Hk);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)},KG=($)=>new Date(Date.UTC($.getUTCFullYear(),$.getUTCMonth()+1,0)).getUTCDate(),Nk=($,Z)=>{return ma($,Z,"next")};var ma=($,Z,X)=>{let J=n0($.tz),G=QA(Z??new Date,{timeZone:J}),Y=X==="prev",W=Y?-1:1,H=$[X],A=Y?$.last:$.first,K=Y?(F,M)=>F<M:(F,M)=>F>M,O=J!==void 0&&Xk(J)&&J.id==="UTC"?zZ:(F)=>{let M=QA(F,{timeZone:G.zone,adjustForTimeZone:!0,disambiguation:Y?"later":void 0}).pipe(c5),C=F.getTime()-M.getTime();if(Y?C!==0:C>0)F.setTime(M.getTime())},_=Uk(G,(F)=>{F.setUTCSeconds(F.getUTCSeconds()+W,0);for(let M=0;M<1e4;M++){if($.seconds.size!==0){let C=F.getUTCSeconds(),m=H.second[C];if(m===void 0){F.setUTCMinutes(F.getUTCMinutes()+W,A.second),O(F);continue}if(K(m,C)){F.setUTCSeconds(m),O(F);continue}}if($.minutes.size!==0){let C=F.getUTCMinutes(),m=H.minute[C];if(m===void 0){F.setUTCHours(F.getUTCHours()+W,A.minute,A.second),O(F);continue}if(K(m,C)){F.setUTCMinutes(m,A.second),O(F);continue}}if($.hours.size!==0){let C=F.getUTCHours(),m=H.hour[C];if(m===void 0){F.setUTCDate(F.getUTCDate()+W),F.setUTCHours(A.hour,A.minute,A.second),O(F);continue}if(K(m,C)){F.setUTCHours(m,A.minute,A.second),O(F);continue}}if($.weekdays.size!==0||$.days.size!==0)if($.and){let C=$.days.size===0||$.days.has(F.getUTCDate()),m=$.weekdays.size===0||$.weekdays.has(F.getUTCDay());if(!C||!m){F.setUTCDate(F.getUTCDate()+W),F.setUTCHours(A.hour,A.minute,A.second),O(F);continue}}else{let C=Y?-1/0:1/0,m=Y?-1/0:1/0;if($.weekdays.size!==0){let e=F.getUTCDay(),G$=H.weekday[e];if(G$===void 0)C=Y?e-7+A.weekday:7-e+A.weekday;else C=G$-e}if($.days.size!==0&&C!==0){let e=F.getUTCDate(),G$=H.day[e];if(G$===void 0)if(Y){let C$=KG(new Date(Date.UTC(F.getUTCFullYear(),F.getUTCMonth(),0)));m=-(e+(C$-A.day))}else m=KG(F)-e+A.day;else if(!Y&&G$>KG(F))m=KG(F)-e+A.day;else m=G$-e}let V$=Y?Math.max(C,m):Math.min(C,m);if(V$!==0){F.setUTCDate(F.getUTCDate()+V$),F.setUTCHours(A.hour,A.minute,A.second),O(F);continue}}if($.months.size!==0){let C=F.getUTCMonth()+1,m=H.month[C],V$=(e)=>{if($.days.size!==0&&$.weekdays.size===0)return A.day;let G$=KG(new Date(Date.UTC(F.getUTCFullYear(),e,1)));return Y?G$:1};if(m===void 0){F.setUTCFullYear(F.getUTCFullYear()+W),F.setUTCMonth(A.month,V$(A.month)),F.setUTCHours(A.hour,A.minute,A.second),O(F);continue}if(K(m,C)){let e=m-1;F.setUTCMonth(e,V$(e)),F.setUTCHours(A.hour,A.minute,A.second),O(F);continue}}return}throw Error("Unable to find next cron date")});return RX(_)};var fa=g6(($,Z)=>$.and===Z.and&&LX($.seconds,Z.seconds)&&LX($.minutes,Z.minutes)&&LX($.hours,Z.hours)&&LX($.days,Z.days)&&LX($.months,Z.months)&&LX($.weekdays,Z.weekdays)),ca=yY(_F),LX=($,Z)=>ca(_$($),_$(Z)),pa=V(2,($,Z)=>fa($,Z)),da={min:0,max:59},ua={min:0,max:59},oa={min:0,max:23},na={min:1,max:31},ra={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}},la={min:0,max:7,normalize:($)=>$===7?0:$,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},qX=($,Z)=>{let X=new Set,J=$.split(","),G=Qk(J[0]),Y=G[0]==="*",W=Z.normalize??((A)=>A),H=Y&&(G[1]===void 0||G[1]===1)?zZ:(A)=>{X.add(W(A))};for(let A=0;A<J.length;A++){let K=J[A],[Q,O]=A===0?G:Qk(K);if(O!==void 0){if(!Number.isInteger(O))return g$(new L6({message:"Expected step value to be a positive integer",input:$}));if(O<1)return g$(new L6({message:"Expected step value to be greater than 0",input:$}));if(O>Z.max)return g$(new L6({message:`Expected step value to be less than ${Z.max}`,input:$}))}if(Q==="*"){if(A===0&&(O===void 0||O===1))continue;for(let _=Z.min;_<=Z.max;_+=O??1)H(_)}else{let[_,F]=ia(Q,Z.aliases);if(!Number.isInteger(_))return g$(new L6({message:"Expected a positive integer",input:$}));if(_<Z.min||_>Z.max)return g$(new L6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(F===void 0)for(let M=_;M<=(O===void 0?_:Z.max);M+=O??1)H(M);else{if(!Number.isInteger(F))return g$(new L6({message:"Expected a positive integer",input:$}));if(F<Z.min||F>Z.max)return g$(new L6({message:`Expected a value between ${Z.min} and ${Z.max}`,input:$}));if(_>F)return g$(new L6({message:"Invalid value range",input:$}));for(let M=_;M<=F;M+=O??1)H(M)}}}return E$({values:X,wildcard:Y})},Qk=($)=>{let Z=$.indexOf("/");if(Z!==-1){let X=$.slice(Z+1);return[$.slice(0,Z),_k.test(X)?Number(X):NaN]}return[$,void 0]},ia=($,Z)=>{let X=$.indexOf("-");if(X!==-1)return[QB($.slice(0,X),Z),QB($.slice(X+1),Z)];return[QB($,Z),void 0]};function QB($,Z){return Z?.[$.toLocaleLowerCase()]??(_k.test($)?Number($):NaN)}var _k=/^\d+$/;var Pk=RR;var Fk=VR;var aa="effect/Schedule",NA=Symbol.for(aa),_A=($)=>o($,NA),ta="effect/ScheduleDriver",PB=Symbol.for(ta),NB={start:0,now:0,input:void 0,output:void 0,elapsed:U8,elapsedSincePrevious:U8,recurrence:0},p5=p6()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>NB}),ea={_Out:($)=>$,_In:($)=>$,_R:($)=>$},$t={_Out:($)=>$,_In:($)=>$,_R:($)=>$};class wk{initial;step;[NA]=ea;constructor($,Z){this.initial=$,this.step=Z}pipe(){return r(this,arguments)}}var Tk=($,Z,X,J)=>w5($,(G)=>G.recurrence===0?{now:Z,input:X,output:J,recurrence:G.recurrence+1,elapsed:U8,elapsedSincePrevious:U8,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 Ck{schedule;ref;[PB]=$t;constructor($,Z){this.schedule=$,this.ref=Z}get state(){return I(CZ(this.ref),($)=>$[1])}get last(){return z(CZ(this.ref),([$,Z])=>{switch($._tag){case"None":return l8(()=>new yZ);case"Some":return T($.value)}})}iterationMeta=GX(NB);get reset(){return Z9(this.ref,[x(),this.schedule.initial]).pipe(K5(Z9(this.iterationMeta,NB)))}next($){return P(I(CZ(this.ref),(Z)=>Z[1]),z((Z)=>P(X1,z((X)=>P(H$(()=>this.schedule.step(X,$,Z)),z(([J,G,Y])=>{let W=Z9(this.ref,[S(G),J]);if(DZ(Y))return W.pipe(x$(R$(x())));let H=N4(Y.intervals)-X;if(H<=0)return W.pipe(x$(Tk(this.iterationMeta,X,$,G)),n$(G));let A=xZ(H);return P(W,x$(Tk(this.iterationMeta,X,$,G)),x$(q5(A)),n$(G))}))))))}}var p$=($,Z)=>new wk($,Z),PA=V(2,($,Z)=>FB($,(X)=>E(()=>Z(X)))),FB=V(2,($,Z)=>BG($,(X,J)=>I(Z(X),(G)=>JK(J,G0(G))))),Rk=V(2,($,Z)=>NZ(zB($,Z),o4)),zB=V(2,($,Z)=>p$([$.initial,Z.initial,!0],(X,J,G)=>G[2]?z($.step(X,J,G[0]),([Y,W,H])=>{if(DZ(H))return I(Z.step(X,J,G[1]),([A,K,Q])=>[[Y,A,!1],E$(K),Q]);return T([[Y,G[1],!0],g$(W),H])}):I(Z.step(X,J,G[1]),([Y,W,H])=>[[G[0],Y,!1],E$(W),H]))),Lk=V(2,($,Z)=>NZ($,()=>Z)),FA=($)=>NZ($,zZ),qk=V(2,($,Z)=>p$([$.initial,Z.initial],(X,[J,G],Y)=>aZ($.step(X,J,Y[0]),Z.step(X,G,Y[1]),([W,H,A],[K,Q,O])=>{if(Q1(A)&&Q1(O)){let _=P(A.intervals,SO(O.intervals));return[[W,K],[H,Q],b5(_)]}return[[W,K],[H,Q],I8]}))),EX=V(2,($,Z)=>d5($,(X,J)=>E(()=>Z(X,J)))),d5=V(2,($,Z)=>p$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>{if(DZ(H))return T([Y,W,I8]);return I(Z(J,W),(A)=>A?[Y,W,H]:[Y,W,I8])}))),Ek=()=>u5(B1()),u5=($)=>wA($,w0(),(Z,X)=>P(Z,q7(X))),xk=($)=>u5(LB($)),Sk=($)=>u5(qB($)),jk=($)=>u5(xB($)),kk=($)=>u5(SB($)),Ik=V(2,($,Z)=>p$([$.initial,Z.initial],(X,J,G)=>z($.step(X,J,G[0]),([Y,W,H])=>I(Z.step(X,W,G[1]),([A,K,Q])=>DZ(H)?[[Y,A],K,I8]:DZ(Q)?[[Y,A],K,I8]:[[Y,A],K,b5(P(H.intervals,VS(Q.intervals)))])))),TB=V(2,($,Z)=>zA($,(X)=>E(()=>Z(X)))),vk=V(2,($,Z)=>p$($.initial,(X,J,G)=>W4($.step(X,J,G),Z))),zA=V(2,($,Z)=>p$($.initial,(X,J,G)=>z(Z(J),(Y)=>$.step(X,Y,G)))),yk=($,Z)=>{let X=BB($)?E$($):Ok($,Z);return p$([!0,[Number.MIN_SAFE_INTEGER,0,0]],(J,G,[Y,W])=>{if(J===Number.POSITIVE_INFINITY)return T([[!1,W],[W[1],W[2]],I8]);if(J<W[0])return T([[!1,W],[W[1],W[2]],a0($8(W[1],W[2]))]);if(M0(X))return MZ(X.left);let H=X.right,A=new Date(J),K;if(Y&&Bk(H,A))K=J;K=Nk(H,A).getTime();let Q=hB(K),O=MI(K);return T([[!1,[K,Q,O]],[Q,O],a0($8(Q,O))])})},gk=($)=>{return p$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||31<$)return C8(()=>new i8(`Invalid argument in: dayOfMonth(${$}). Must be in range 1...31`));let G=J[1],W=Ht(Z,$,G===0),H=mB(W),A=RI(W),K=$8(H,A);return T([[A,G+1],G,a0(K)])})},bk=($)=>{return p$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<1||7<$)return C8(()=>new i8(`Invalid argument in: dayOfWeek(${$}). Must be in range 1 (Monday)...7 (Sunday)`));let G=J[1],W=Wt(Z,$,G===0),H=mB(W),A=RI(W),K=$8(H,A);return T([[A,G+1],G,a0(K)])})},hk=V(2,($,Z)=>TA($,(X)=>E(()=>Z(X)))),TA=V(2,($,Z)=>BG($,(X,J)=>Z(J))),QG=($)=>PA($,(Z)=>Z),mk=($)=>p$($.initial,(Z,X,J)=>P($.step(Z,X,J),z(([G,Y,W])=>{if(DZ(W))return T([G,U8,W]);return T([G,xZ(N4(W.intervals)-Z),W])}))),fk=V(2,($,{onInput:Z,onOutput:X})=>NZ(TB($,Z),X)),ck=V(2,($,{onInput:Z,onOutput:X})=>MA(zA($,Z),X)),OG=($)=>P(M5([x(),$.initial]),I((Z)=>new Ck($,Z))),MB=($)=>{let Z=G0($),X=TZ(Z);return p$(!0,(J,G,Y)=>T(Y?[!1,Z,a0(C6(J+X))]:[!1,U8,I8]))},pk=V(2,($,Z)=>IB($,Z)),dk=V(3,($,Z,X)=>CA($,Z,X)),uk=V(2,($,Z)=>p$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>DZ(H)?n$(Z,[Y,W,H]):T([Y,W,H])))),ok=($,Z=2)=>{let X=G0($);return QG(NZ(q6,(J)=>XK(X,Math.pow(Z,J))))},nk=($)=>{let Z=G0($);return QG(P(NG([Z,Z],([X,J])=>[J,JK(X,J)]),NZ((X)=>X[0])))},rk=($)=>{let Z=G0($),X=TZ(Z);return p$([x(),0],(J,G,[Y,W])=>E(()=>{switch(Y._tag){case"None":return[[S([J,J+X]),W+1],W,a0(C6(J+X))];case"Some":{let[H,A]=Y.value,K=J>A+X,Q=i(Z,U8)?Z:xZ(X-(J-H)%X),O=i(Q,U8)?Z:Q,_=K?J:J+TZ(O);return[[S([H,_]),W+1],W,a0(C6(_))]}}}))},lk=($)=>MB($),ik=($,...Z)=>p$([[$,...Z].map((X)=>G0(X)),!0],(X,J,[G,Y])=>E(()=>{if(Y){let W=G[0],H=C6(X+TZ(W));if(G.length>=2)return[[G.slice(1),!0],W,a0(H)];let A=G.slice(1);return[[[W,...A],!1],W,a0(H)]}return[[G,!1],U8,I8]})),sk=($)=>NZ(B1(),$),ak=($)=>p$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||23<$)return C8(()=>new i8(`Invalid argument in: hourOfDay(${$}). Must be in range 0...23`));let G=J[1],W=Yt(Z,$,G===0),H=CI(W),A=Gt(W),K=$8(H,A);return T([[A,G+1],G,a0(K)])}),B1=()=>p$(void 0,($,Z,X)=>T([X,Z,a0(C6($))])),T4=V(2,($,Z)=>wB($,Z,AS)),wB=V(3,($,Z,X)=>p$([$.initial,Z.initial],(J,G,Y)=>P(aZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),(W,H)=>[W,H]),z(([[W,H,A],[K,Q,O]])=>{if(Q1(A)&&Q1(O))return _B($,Z,G,W,H,A.intervals,K,Q,O.intervals,X);return T([[W,K],[H,Q],I8])})))),_B=($,Z,X,J,G,Y,W,H,A,K)=>{let Q=K(Y,A);if(KS(Q))return T([[J,W],[G,H],b5(Q)]);if(P(Y,US(A)))return z($.step(nD(Y),X,J),([O,_,F])=>{if(DZ(F))return T([[O,W],[_,H],I8]);return _B($,Z,X,O,_,F.intervals,W,H,A,K)});return z(Z.step(nD(A),X,W),([O,_,F])=>{if(DZ(F))return T([[J,O],[G,_],I8]);return _B($,Z,X,J,G,Y,O,_,F.intervals,K)})},tk=($)=>CB($,{min:0.8,max:1.2}),CB=V(2,($,Z)=>{let{max:X,min:J}=Object.assign({min:0.8,max:1.2},Z);return TA($,(G)=>I(Pk,(Y)=>{let W=TZ(G),H=W*J*(1-Y)+W*X*Y;return xZ(H)}))}),ek=($)=>{let Z=G0($);return QG(NZ(q6,(X)=>XK(Z,X+1)))},NZ=V(2,($,Z)=>MA($,(X)=>E(()=>Z(X)))),MA=V(2,($,Z)=>p$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>I(Z(W),(A)=>[Y,A,H])))),$I=($)=>p$([Number.MIN_SAFE_INTEGER,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return C8(()=>new i8(`Invalid argument in: minuteOfHour(${$}). Must be in range 0...59`));let G=J[1],W=Jt(Z,$,G===0),H=wI(W),A=Xt(W),K=$8(H,A);return T([[A,G+1],G,a0(K)])}),ZI=V(2,($,Z)=>BG($,(X,J)=>E(()=>Z(X,J)))),BG=V(2,($,Z)=>p$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>{if(DZ(H))return T([Y,W,H]);let A=H.intervals,K=$S($8(X,N4(A)));return I(Z(W,K),(Q)=>{let O=G0(Q),_=N4(A),F=X+TZ(O),M=F-_,C=Math.max(0,nD(A)+M),m=$8(F,C);return[Y,W,a0(m)]})}))),XI=V(2,($,Z)=>p$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>n$(Z(W,H),[Y,W,H])))),RB=($)=>p$($.initial,(Z,X,J)=>P($.step(Z,X,J),I(([G,Y,W])=>[G,X,W]))),JI=V(2,($,Z)=>p$($.initial,(X,J,G)=>tZ($.step(X,J,G),Z))),GI=V(3,($,Z,X)=>p$($.initial,(J,G,Y)=>E8((W)=>tZ($.step(J,G,Y),s$(W,Z,X))))),LB=($)=>vB(B1(),$),qB=($)=>_G(B1(),$),YI=($)=>yB(NZ(B1(),$),b$),EB=($)=>{let Z=G0($);return RA(qA,(X)=>hz(X,Z))},xB=($)=>gB(B1(),$),SB=($)=>PG(B1(),$),xX=($)=>RA(q6,(Z)=>Z<$),wA=V(3,($,Z,X)=>jB($,Z,(J,G)=>E(()=>X(J,G)))),jB=V(3,($,Z,X)=>p$([$.initial,Z],(J,G,[Y,W])=>z($.step(J,G,Y),([H,A,K])=>DZ(K)?T([[H,W],W,K]):I(X(W,A),(Q)=>[[H,Q],W,K]))));var WI=($)=>wA($,0,(Z,X)=>Z+1),HI=V(2,($,Z)=>{let X=G0(Z);return P($,T4(qA),kB(([,J])=>DW(J,X)),NZ((J)=>J[0]))}),kB=V(2,($,Z)=>p$($.initial,(X,J,G)=>z($.step(X,J,G),([Y,W,H])=>Z(W)?$.step(X,J,$.initial):T([Y,W,H])))),DI=V(3,($,Z,X)=>P(AI($,Z,I1(X),$.initial,w0()),I((J)=>T8(J)))),AI=($,Z,X,J,G)=>{if(!W0(X))return T(G);let Y=y$(X),W=H0(X);return z($.step(Z,Y,J),([H,A,K])=>{if(DZ(K))return E(()=>P(G,V0(A)));return AI($,N4(K.intervals),W,H,V0(G,A))})},UI=($)=>p$([Number.NEGATIVE_INFINITY,0],(Z,X,J)=>{if(!Number.isInteger($)||$<0||59<$)return C8(()=>new i8(`Invalid argument in: secondOfMinute(${$}). Must be in range 0...59`));let G=J[1],W=Zt(Z,$,G===0),H=hB(W),A=MI(W),K=$8(H,A);return T([[A,G+1],G,a0(K)])}),KI=($)=>PA(q6,()=>$),VI=($)=>NZ(q6,()=>$),QI=($)=>NZ(q6,$),OI=V(2,($,Z)=>p$($.initial,(X,J,G)=>x$(Z(J),$.step(X,J,G)))),BI=V(2,($,Z)=>p$($.initial,(X,J,G)=>IZ($.step(X,J,G),([,Y])=>Z(Y)))),NG=($,Z)=>p$($,(X,J,G)=>E(()=>[Z(G),G,a0(C6(X))])),IB=V(2,($,Z)=>CA($,Z,SO)),CA=V(3,($,Z,X)=>p$([$.initial,Z.initial],(J,G,Y)=>aZ($.step(J,G,Y[0]),Z.step(J,G,Y[1]),([W,H,A],[K,Q,O])=>{if(DZ(A)&&DZ(O))return[[W,K],[H,Q],I8];if(DZ(A)&&Q1(O))return[[W,K],[H,Q],b5(O.intervals)];if(Q1(A)&&DZ(O))return[[W,K],[H,Q],b5(A.intervals)];if(Q1(A)&&Q1(O)){let _=X(A.intervals,O.intervals);return[[W,K],[H,Q],b5(_)]}throw Error("BUG: Schedule.unionWith - please report an issue at https://github.com/Effect-TS/effect/issues")}))),vB=V(2,($,Z)=>EX($,(X,J)=>!Z(X))),_G=V(2,($,Z)=>d5($,(X,J)=>E2(Z(X)))),yB=V(2,($,Z)=>EX($,(X,J)=>!Z(J))),NI=V(2,($,Z)=>d5($,(X,J)=>E2(Z(J)))),_I=V(2,($,Z)=>bB($,EB(Z))),gB=V(2,($,Z)=>EX($,(X,J)=>Z(X))),PG=V(2,($,Z)=>d5($,(X,J)=>Z(X))),RA=V(2,($,Z)=>EX($,(X,J)=>Z(J))),PI=V(2,($,Z)=>d5($,(X,J)=>Z(J))),FI=($)=>{let Z=G0($),X=TZ(Z);return p$([x(),0],(J,G,[Y,W])=>{switch(Y._tag){case"None":return T([[S(J),W+1],W,a0(C6(J+X))]);case"Some":return T([[S(Y.value),W+1],W,a0(C6(J+(X-(J-Y.value)%X)))])}})},bB=V(2,($,Z)=>NZ(T4($,Z),(X)=>X[0])),zI=V(2,($,Z)=>NZ(T4($,Z),(X)=>X[1])),TI=V(3,($,Z,X)=>NZ(T4($,Z),([J,G])=>X(J,G))),hB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),Z.getSeconds(),0).getTime()},MI=($)=>{let Z=new Date(hB($));return Z.setSeconds(Z.getSeconds()+1)},Zt=($,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)},wI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),0,0).getTime()},Xt=($)=>{let Z=new Date(wI($));return Z.setMinutes(Z.getMinutes()+1)},Jt=($,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)},CI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),0,0,0).getTime()},Gt=($)=>{let Z=new Date(CI($));return Z.setHours(Z.getHours()+1)},Yt=($,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)},mB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),0,0,0,0).getTime()},RI=($)=>{let Z=new Date(mB($));return Z.setDate(Z.getDate()+1)},Wt=($,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))},Ht=($,Z,X)=>{let J=new Date($);if(J.getDate()===Z&&X)return $;if(J.getDate()<Z)return J.setDate(Z);return LI($,Z,1)},LI=($,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 LI($,Z,X+1)},OA=Symbol.for("effect/Schedule/ScheduleDefect");class qI{error;[OA];constructor($){this.error=$,this[OA]=OA}}var Dt=($)=>o($,OA),BA=($)=>M6($,(Z)=>MZ(new qI(Z))),At=($)=>f0(i6($,(Z)=>X5(Z)&&Dt(Z.defect)?S(Z.defect):x()),{onNone:()=>$,onSome:(Z)=>V8(Z.error)}),FG=($)=>a6($,(Z)=>L$(At(Z))),Mk=V(2,($,Z)=>fB($,Z,(X,J)=>R$(X))),EI=V(2,($,Z)=>{if(_A(Z))return Mk($,Z);let X=Z.schedule??RB(q6),J=Z.while?PG(X,(W)=>{let H=Z.while(W);if(typeof H==="boolean")return T(H);return BA(H)}):X,G=Z.until?_G(J,(W)=>{let H=Z.until(W);if(typeof H==="boolean")return T(H);return BA(H)}):J,Y=Z.times?T4(G,xX(Z.times)).pipe(NZ((W)=>W[0])):G;return FG(Mk($,Y))}),fB=V(3,($,Z,X)=>z(OG(Z),(J)=>i0($,{onFailure:(G)=>X(G,x()),onSuccess:(G)=>xI(O4($,p5,CZ(J.iterationMeta)),J,(Y,W)=>O4(X(Y,W),p5,CZ(J.iterationMeta)),G)}))),xI=($,Z,X,J)=>i0(Z.next(J),{onFailure:()=>A5(Z.last),onSuccess:(G)=>i0($,{onFailure:(Y)=>X(Y,S(G)),onSuccess:(Y)=>xI($,Z,X,Y)})}),VG=V(2,($,Z)=>cB($,Z,(X,J)=>R$(X))),SI=V(2,($,Z)=>{if(_A(Z))return VG($,Z);return FG(VG($,LA(Z)))}),LA=($)=>{let Z=$.schedule??q6,X=$.while?PG(Z,(G)=>{let Y=$.while(G);if(typeof Y==="boolean")return T(Y);return BA(Y)}):Z,J=$.until?_G(X,(G)=>{let Y=$.until(G);if(typeof Y==="boolean")return T(Y);return BA(Y)}):X;return $.times!==void 0?T4(J,xX($.times)):J},cB=V(3,($,Z,X)=>z(OG(Z),(J)=>jI(O4($,p5,CZ(J.iterationMeta)),J,(G,Y)=>O4(X(G,Y),p5,CZ(J.iterationMeta))))),jI=($,Z,X)=>{return M6($,(J)=>i0(Z.next(J),{onFailure:()=>P(Z.last,A5,z((G)=>X(J,G))),onSuccess:()=>jI($,Z,X)}))},pB=V(2,($,Z)=>dB($,void 0,Z)),dB=V(3,($,Z,X)=>z(OG(X),(J)=>kI(O4($,p5,CZ(J.iterationMeta)),Z,J))),kI=($,Z,X)=>i0(X.next(Z),{onFailure:()=>A5(X.last),onSuccess:()=>z($,(J)=>kI($,J,X))}),II=NG(0,($)=>$+1),qA=p$(x(),($,Z,X)=>{switch(X._tag){case"None":return T([S($),U8,a0(C6($))]);case"Some":return T([S(X.value),xZ($-X.value),a0(C6($))])}}),q6=NG(0,($)=>$+1),EA=FA(xX(1)),vI=FA(xX(0)),yI=V(2,($,Z)=>iD(pB($,Z)));var bI=V(2,($,Z)=>H$(()=>{let X=0,J;return z(e1({while:()=>X<Z.steps.length&&(J===void 0||M0(J)),body:()=>{let G=Z.steps[X],Y=UA($,G.provide);if(J){let W=!1,H=Y;Y=H$(()=>{if(W)return H;return W=!0,J}),Y=FG(VG(Y,gI(G,!1)))}else{let W=gI(G,!0);Y=W?FG(VG(Y,W)):Y}return r8(Y)},step:(G)=>{J=G,X++}}),()=>J)})),gI=($,Z)=>{if(!Z)return LA({schedule:$.schedule?$.schedule:$.attempts?void 0:EA,times:$.attempts,while:$.while});else if($.attempts===1||!($.schedule||$.attempts))return;return LA({schedule:$.schedule,while:$.while,times:$.attempts?$.attempts-1:void 0})};var xA=B8;var N1=WZ;var hI=BV;var mI=Ew;var oB=O2,SA=$X;var fI=Symbol.for("effect/MutableList"),Kt={[fI]:fI,[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 S$(this.toJSON())},toJSON(){return{_id:"MutableList",values:Array.from(this).map(k$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},Vt=($)=>({value:$,removed:!1,prev:void 0,next:void 0}),cI=()=>{let $=Object.create(Kt);return $.head=void 0,$.tail=void 0,$._length=0,$};var pI=($)=>rB($)===0,rB=($)=>$._length;var dI=V(2,($,Z)=>{let X=Vt(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,$}),uI=($)=>{let Z=$.head;if(Z!==void 0)return Qt($,Z),Z.value;return};var Qt=($,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 oI=Symbol.for("effect/MutableQueue"),lB=Symbol.for("effect/mutable/MutableQueue/Empty"),Bt={[oI]:oI,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return S$(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(k$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},Nt=($)=>{let Z=Object.create(Bt);return Z.queue=cI(),Z.capacity=$,Z};var nI=()=>Nt(void 0);var rI=V(2,($,Z)=>{let X=rB($.queue);if($.capacity!==void 0&&X===$.capacity)return!1;return dI(Z)($.queue),!0});var lI=V(2,($,Z)=>{if(pI($.queue))return Z;return uI($.queue)});var iI=($,Z,X,J)=>fW({_tag:"Complete",key:$,exit:Z,entryStats:X,timeToLiveMillis:J}),sI=($,Z)=>fW({_tag:"Pending",key:$,deferred:Z}),Pt=($,Z)=>fW({_tag:"Refreshing",deferred:$,complete:Z}),iB=Symbol.for("effect/Cache/MapKey");class aI{current;[iB]=iB;previous=void 0;next=void 0;constructor($){this.current=$}[Y$](){return P(s(this.current),U$(s(this.previous)),U$(s(this.next)),w$(this))}[J$]($){if(this===$)return!0;return Ft($)&&i(this.current,$.current)&&i(this.previous,$.previous)&&i(this.next,$.next)}}var SX=($)=>new aI($),Ft=($)=>o($,iB);class tI{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 zt=()=>new tI,Tt=($,Z,X,J,G,Y)=>({map:$,keys:Z,accesses:X,updating:J,hits:G,misses:Y}),Mt=()=>Tt(W1(),zt(),nI(),o6(!1),0,0),wt="effect/Cache",Ct=Symbol.for(wt),Rt={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},Lt="effect/ConsumerCache",qt=Symbol.for(Lt),Et={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},xt=($)=>$,jA=($)=>({loadedMillis:$});class eI{capacity;context;fiberId;lookup;timeToLive;[Ct]=Rt;[qt]=Et;cacheState;constructor($,Z,X,J,G){this.capacity=$,this.context=Z,this.fiberId=X,this.lookup=J,this.timeToLive=G,this.cacheState=Mt()}get($){return I(this.getEither($),o4)}get cacheStats(){return E(()=>xt({hits:this.cacheState.hits,misses:this.cacheState.misses,size:k5(this.cacheState.map)}))}getOption($){return H$(()=>f0(O0(this.cacheState.map,$),{onNone:()=>{let Z=SX($);return this.trackAccess(Z),this.trackMiss(),T(x())},onSome:(Z)=>this.resolveMapValue(Z)}))}getOptionComplete($){return H$(()=>f0(O0(this.cacheState.map,$),{onNone:()=>{let Z=SX($);return this.trackAccess(Z),this.trackMiss(),T(x())},onSome:(Z)=>this.resolveMapValue(Z,!0)}))}contains($){return E(()=>S8(this.cacheState.map,$))}entryStats($){return E(()=>{let Z=O0(this.cacheState.map,$);if(b$(Z))switch(Z.value._tag){case"Complete":{let X=Z.value.entryStats.loadedMillis;return S(jA(X))}case"Pending":return x();case"Refreshing":{let X=Z.value.complete.entryStats.loadedMillis;return S(jA(X))}}return x()})}getEither($){return H$(()=>{let Z=$,X=void 0,J=void 0,G=n0(O0(this.cacheState.map,Z));if(G===void 0)if(J=oB(this.fiberId),X=SX(Z),S8(this.cacheState.map,Z))G=n0(O0(this.cacheState.map,Z));else hZ(this.cacheState.map,Z,sI(X,J));if(G===void 0)return this.trackAccess(X),this.trackMiss(),I(this.lookupValueOf($,J),E$);else return z(this.resolveMapValue(G),f0({onNone:()=>this.getEither($),onSome:(Y)=>T(g$(Y))}))})}invalidate($){return E(()=>{H1(this.cacheState.map,$)})}invalidateWhen($,Z){return E(()=>{let X=O0(this.cacheState.map,$);if(b$(X)&&X.value._tag==="Complete"){if(X.value.exit._tag==="Success"){if(Z(X.value.exit.value))H1(this.cacheState.map,$)}}})}get invalidateAll(){return E(()=>{this.cacheState.map=W1()})}refresh($){return X9((Z)=>H$(()=>{let X=$,J=oB(this.fiberId),G=n0(O0(this.cacheState.map,X));if(G===void 0)if(S8(this.cacheState.map,X))G=n0(O0(this.cacheState.map,X));else hZ(this.cacheState.map,X,sI(SX(X),J));if(G===void 0)return P0(this.lookupValueOf($,J));else switch(G._tag){case"Complete":{if(this.hasExpired(Z,G.timeToLiveMillis)){let Y=n0(O0(this.cacheState.map,X));if(i(Y,G))H1(this.cacheState.map,X);return P0(this.get($))}return P(this.lookupValueOf($,J),VD(()=>{let Y=n0(O0(this.cacheState.map,X));if(i(Y,G)){let W=Pt(J,G);return hZ(this.cacheState.map,X,W),!0}return!1}),P0)}case"Pending":return N1(G.deferred);case"Refreshing":return N1(G.deferred)}}))}set($,Z){return X9((X)=>E(()=>{let J=X.unsafeCurrentTimeMillis(),G=$,Y=P2(Z),W=iI(SX(G),Y,jA(J),J+TZ(G0(this.timeToLive(Y))));hZ(this.cacheState.map,G,W)}))}get size(){return E(()=>{return k5(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 X9((X)=>{switch($._tag){case"Complete":{if(this.trackAccess($.key),this.hasExpired(X,$.timeToLiveMillis))return H1(this.cacheState.map,$.key.current),T(x());return this.trackHit(),I($.exit,S)}case"Pending":{if(this.trackAccess($.key),this.trackHit(),Z)return T(x());return I(N1($.deferred),S)}case"Refreshing":{if(this.trackAccess($.complete.key),this.trackHit(),this.hasExpired(X,$.complete.timeToLiveMillis)){if(Z)return T(x());return I(N1($.deferred),S)}return I($.complete.exit,S)}}})}trackHit(){this.cacheState.hits=this.cacheState.hits+1}trackMiss(){this.cacheState.misses=this.cacheState.misses+1}trackAccess($){if(rI(this.cacheState.accesses,$),LW(this.cacheState.updating,!1,!0)){let Z=!0;while(Z){let J=lI(this.cacheState.accesses,lB);if(J===lB)Z=!1;else this.cacheState.keys.add(J)}let X=k5(this.cacheState.map);Z=X>this.capacity;while(Z){let J=this.cacheState.keys.remove();if(J!==void 0){if(S8(this.cacheState.map,J.current))H1(this.cacheState.map,J.current),X=X-1,Z=X>this.capacity}else Z=!1}v9(this.cacheState.updating,!1)}}hasExpired($,Z){return $.unsafeCurrentTimeMillis()>Z}lookupValueOf($,Z){return X9((X)=>H$(()=>{let J=$;return P(this.lookup($),tZ(this.context),U0,z((G)=>{let Y=X.unsafeCurrentTimeMillis(),W=jA(Y),H=iI(SX(J),G,W,Y+TZ(G0(this.timeToLive(G))));return hZ(this.cacheState.map,J,H),x$(hI(Z,G),G)}),e6(()=>x$(mI(Z),E(()=>{H1(this.cacheState.map,J)}))))}))}}var $v=($,Z,X)=>new eI($,KZ(),jW,Z,(J)=>G0(X(J)));var jX=N$(Symbol.for("effect/FiberRef/currentCache"),()=>R0($v(65536,()=>I(B8(),($)=>({listeners:new h2,handle:$})),()=>ZK(60)))),zG=N$(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>R0(!1)),Zv=($,Z)=>z(h$(Z)?Z:T(Z),(X)=>Q8((J)=>{let G=new Proxy($,{});return wZ(zG,(Y)=>{if(Y){let H=wZ(jX,(A)=>z(A.getEither(G),(K)=>{switch(K._tag){case"Left":{if(K.left.listeners.interrupted)return z(A.invalidateWhen(G,(Q)=>Q.handle===K.left.handle),()=>H);return K.left.listeners.increment(),S0((Q)=>z(U0(f9(YM,Q(WZ(K.left.handle)))),(O)=>{return K.left.listeners.decrement(),O}))}case"Right":return K.right.listeners.increment(),S0((Q)=>z(U0(f9(oK(X,nK({request:G,result:K.right.handle,listeners:K.right.listeners,ownerId:J,state:{completed:!1}})),Q(WZ(K.right.handle)))),()=>{return K.right.listeners.decrement(),WZ(K.right.handle)}))}}));return H}let W=new h2;return W.increment(),z(B8(),(H)=>k8(f9(oK(X,nK({request:G,result:H,listeners:W,ownerId:J,state:{completed:!1}})),WZ(H)),E(()=>W.decrement())))})})),Xv=($,Z)=>{return wZ(zG,(X)=>{if(X)return wZ(jX,(J)=>z(J.getEither($),(G)=>{switch(G._tag){case"Left":return F$;case"Right":return OV(G.right.handle,Z)}}));return F$})},Jv=V(2,($,Z)=>C0($,zG,Z)),Gv=V(2,($,Z)=>C0($,jX,Z));var Wv=aE;var jt=c9,TG=h$,kt=LS,It=gO,vt=UD,yt=jS,gt=LQ,bt=B4,ht=Tx,mt=Mx,ft=sR,ct=aR,pt=oL,dt=nL,ut=DL,ot=Px,nt=zx,rt=eR,lt=GL,MG=j8,it=UL,st=QO,at=OO,tt=yL,et=bL,$e=gL,Ze=qx,Xe=VO,Je=wx,Ge=Rx,Ye=kx,We=jZ,He=Dj,De=Z2,_1=q$,Ae=R$,Ue=l8,Av=L$,Ke=p9,sB=MZ,Ve=l1,Qe=C8,Oe=VH,Be=$4,Ne=EL,_e=IL,aB=T,tB=E5,Pe=dL,eB=H$,U9=E,P1=F$;var Fe=$9,ze=yR;var Te=M6,Me=a6,we=gR,Ce=J2,Re=gM,Le=bR,qe=hR,Ee=mR,xe=fR,Se=cR,je=MQ,ke=AD,Ie=KL,ve=kL,ye=cL,ge=SI,be=bI,he=cB,me=TQ;var fe=eL,ce=$q,pe=SQ,de=Jq,ue=uR,oe=bM,ne=dx,kX=DH,re=AH,le=u9,ie=mM,se=e6,ae=o9,te=S0,ee=XL,$$$=n$,Z$$=KX,X$$=vR,J$$=P0,G$$=s1,Y$$=HL,Z8=I,W$$=LL,H$$=Y2,D$$=a1,A$$=QX,U$$=qL,K$$=E2,wG=y5,V$$=Nx,Q$$=GH,O$$=J9,B$$=k8,N$$=UH,_$$=sZ,P$$=kD,F$$=ID,z$$=Ex,T$$=PO,M$$=$6,w$$=o2,C$$=yD,R$$=Sx,L$$=yx,q$$=RS,E$$=_x,x$$=oR,S$$=HD,j$$=VX,k$$=qS,I$$=lD,v$$=d9,IX=Q8,y$$=K1,$N=PX,g$$=ES,b$$=bO,h$$=iD,m$$=Cx,f$$=xS,c$$=SS,p$$=hO,d$$=KH,u$$=cM,o$$=hC,n$$=HV,r$$=tM,l$$=pR,i$$=X9,s$$=Ix,a$$=TR,t$$=rj,e$$=lj,$0$=sj,Z0$=ij,X0$=dR,J0$=q5,G0$=aL,Y0$=xQ,W0$=IS,H0$=yS,D0$=mO,A0$=vS,U0$=a2,K0$=wR,V0$=MR,Q0$=gD,O0$=N8,B0$=tR,N0$=E8,_0$=W4,P0$=UA,F0$=Q4,z0$=O4,T0$=Aq,M0$=Dq,w0$=jQ,C0$=kQ,R0$=Uq,L0$=Kq,q0$=IQ,E0$=Gq,x0$=nR,S0$=rR,j0$=fS,k0$=lR,I0$=iR;var v0$=xL,y0$=r8,g0$=U0,CG=t6,b0$=HH;var h0$=$L,m0$=ZL,f0$=L2,c0$=JL,p0$=_V,d0$=xw,u0$=Zq,o0$=Xq,n0$=VD,r0$=i7,l0$=Yq,i0$=Wq,o5=z,s0$=i1,a0$=kZ,t0$=mD,e0$=Lx,$Z$=kS,ZZ$=zO,XZ$=x2,ZN=IZ,JZ$=rL,GZ$=lL,YZ$=EQ,WZ$=iL,HZ$=sL,DZ$=wQ,AZ$=CQ,UZ$=wL,KZ$=EI,VZ$=mL,QZ$=fB,OZ$=pB,BZ$=yI,NZ$=dB,RG=e1,_Z$=DD,PZ$=VL,FZ$=C0,zZ$=s0,TZ$=mZ,MZ$=RZ,wZ$=L5,CZ$=pL,RZ$=KD,LZ$=QL,qZ$=OL,EZ$=q2,xZ$=G2,SZ$=Q0,jZ$=i0,kZ$=BL,IZ$=($,...Z)=>J1($)(...Z),vZ$=NL,yZ$=RQ,gZ$=_L,bZ$=PL,hZ$=FL,mZ$=zL,fZ$=TL,cZ$=IR,pZ$=Ox,dZ$=ML,uZ$=eM,oZ$=Bx,nZ$=A5,rZ$=XV,lZ$=D5,iZ$=SL,sZ$=jL,aZ$=WL,tZ$=vL,eZ$=AX,Uv=CR,$8$=V(2,($,Z)=>Uv($,Fk(Z))),Z8$=vx,LG=MX,X8$=l7,J8$=t1,G8$=QH,Y8$=_O,W8$=uL,H8$=qQ,D8$=xx,A8$=BO,U8$=$w,K8$=Hq,V8$=rD,Q8$=MS,O8$=yO,B8$=CS,qG=Jj,N8$=Xj,_8$=Gj,P8$=Yj,F8$=Wj,z8$=Hj,T8$=jx,M8$=NO,w8$=gx,C8$=bx,R8$=hx,Kv=G9,L8$=V(2,($,Z)=>Kv($,Z,(X,J)=>X(J))),q8$=f9,E8$=JH,x8$=WH,S8$=V(($)=>Wv($[0]),Zv),j8$=Xv,k8$=pM,I8$=Jv,v8$=Gv,y8$=tL,g8$=GD,b8$=LR,h8$=fD,m8$=dM,f8$=uM,c8$=Oq,p8$=Vq,d8$=vQ,u8$=yQ,o8$=Bq,n8$=Fq,r8$=zq,l8$=Nq,i8$=Qq,s8$=Pq,a8$=e8,t8$=YD,Vv=bQ,e8$=Tq,$6$=ux,Z6$=WD,X6$=Mq,J6$=wq,G6$=($)=>{return V6($)?tB:Z8($.value,nZ)},Y6$=V(2,($,Z)=>V6($)?tB:Z8(Z($.value),nZ)),Qv=($)=>{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)=>i1(X,(_)=>{if(typeof _[J]==="function")return Z.set(J,(...F)=>i1(X,(M)=>M[J](...F))),_[J](...O);return Z.set(J,i1(X,(F)=>F[J])),_[J]}),W=i1(X,(O)=>O[J]);Object.assign(Y,W);let{apply:H,bind:A,call:K}=Y,Q=Object.setPrototypeOf({},Object.getPrototypeOf(W));return Q.apply=H,Q.bind=A,Q.call=K,Object.setPrototypeOf(Y,Q),Z.set(J,Y),Y}})},W6$=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,x7),J.key=$,Object.defineProperty(J,"use",{get(){return(G)=>i1(this,G)}}),Object.defineProperty(J,"stack",{get(){return X.stack}}),Qv(J)},H6$=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 _=Object.getPrototypeOf(O);if(_===Object.prototype||_===null)Y="plain";else{let F=Object.getPrototypeOf(this);Object.setPrototypeOf(F,_),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)=>i1(this,O)}}),W.key=$,Object.assign(W,x7),Object.defineProperty(W,"stack",{get(){return G.stack}});let H="dependencies"in Z&&Z.dependencies.length>0,A=H?"DefaultWithoutDependencies":"Default",K,Q=!1;if("effect"in Z)Q=typeof Z.effect==="function",Object.defineProperty(W,A,{get(){if(Q)return function(){return F4(W,Z8(Z.effect.apply(null,arguments),(O)=>new this(O)))}.bind(this);return K??=F4(W,Z8(Z.effect,(O)=>new this(O)))}});else if("scoped"in Z)Q=typeof Z.scoped==="function",Object.defineProperty(W,A,{get(){if(Q)return function(){return z4(W,Z8(Z.scoped.apply(null,arguments),(O)=>new this(O)))}.bind(this);return K??=z4(W,Z8(Z.scoped,(O)=>new this(O)))}});else if("sync"in Z)Object.defineProperty(W,A,{get(){return K??=AA(W,()=>new this(Z.sync()))}});else Object.defineProperty(W,A,{get(){return K??=wX(W,new this(Z.succeed))}});if(H){let O;Object.defineProperty(W,"Default",{get(){if(Q)return function(){return f5(this.DefaultWithoutDependencies.apply(null,arguments),Z.dependencies)};return O??=f5(this.DefaultWithoutDependencies,Z.dependencies)}})}return X===!0?Qv(W):W}},D6$=function($,...Z){let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();if(Error.stackTraceLimit=X,typeof $!=="string")return Hv($.length,function(...W){let H=Error.stackTraceLimit;Error.stackTraceLimit=2;let A=Error();return Error.stackTraceLimit=H,Dv({self:this,body:$,args:W,pipeables:Z,spanName:"<anonymous>",spanOptions:{context:HX.context(!0)},errorDef:J,errorCall:A})});let G=$,Y=Z[0];return(W,...H)=>Hv(W.length,{[G](...A){let K=Error.stackTraceLimit;Error.stackTraceLimit=2;let Q=Error();return Error.stackTraceLimit=K,Dv({self:this,body:W,args:A,pipeables:H,spanName:G,spanOptions:Y,errorDef:J,errorCall:Q})}}[G])};function Hv($,Z){return Object.defineProperty(Z,"length",{value:$,configurable:!0})}function Dv($){let Z,X=void 0;if(MF($.body))Z=nJ(()=>$.body.apply($.self,$.args));else try{Z=$.body.apply($.self,$.args)}catch(W){X=W,Z=sB(W)}if($.pipeables.length>0)try{for(let W of $.pipeables)Z=W(Z,...$.args)}catch(W){Z=X?Av(a$(N0(X),N0(W))):sB(W)}let J=!1,G=()=>{if(J!==!1)return J;if($.errorCall.stack){let W=$.errorDef.stack.trim().split(`
28
+ `),H=$.errorCall.stack.trim().split(`
29
+ `),A=W.slice(2).join(`
30
+ `).trim();if(!A.includes("("))A=A.replace(/at (.*)/,"at ($1)");let K=H.slice(2).join(`
31
+ `).trim();if(!K.includes("("))K=K.replace(/at (.*)/,"at ($1)");return J=`${A}
32
+ ${K}`,J}},Y=$.spanOptions&&"captureStackTrace"in $.spanOptions?$.spanOptions:{captureStackTrace:G,...$.spanOptions};return Vv(Z,$.spanName,Y)}var A6$=s7,U6$=()=>($)=>$,K6$=()=>($)=>$,V6$=()=>($)=>$;var K9={};F8(K9,{unsafeSet:()=>IA,unsafeHas:()=>vA,unsafeGet:()=>Fv,size:()=>C6$,set:()=>P6$,runtimePromise:()=>zv,runtime:()=>YN,run:()=>w6$,remove:()=>T6$,makeRuntimePromise:()=>N6$,makeRuntime:()=>B6$,make:()=>GN,join:()=>R6$,isFiberMap:()=>JN,has:()=>z6$,get:()=>F6$,clear:()=>M6$,awaitEmpty:()=>L6$,TypeId:()=>kA});var EG=TX;var Ov=R6;var Bv=iO;var kA=Symbol.for("effect/FiberMap"),JN=($)=>o($,kA),Q6$={[kA]:kA,[Symbol.iterator](){if(this.state._tag==="Closed")return eY();return this.state.backing[Symbol.iterator]()},toString(){return S$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},O6$=($,Z)=>{let X=Object.create(Q6$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},GN=()=>wG(Z8(xA(),($)=>O6$(W1(),$)),($)=>_1((Z)=>{let X=$.state;if(X._tag==="Closed")return P1;return $.state={_tag:"Closed"},$G($z(X.backing,([,J])=>J),K8(Z.id(),vX)).pipe(CG($.deferred))})),B6$=()=>o5(GN(),($)=>YN($)()),N6$=()=>o5(GN(),($)=>zv($)()),Pv=-1,vX=yW(Pv,0),_6$=l2(void 0,{emptyCase:XZ,failCase:XZ,dieCase:XZ,interruptCase:($,Z)=>v7(f1(Z),Pv),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),IA=V(($)=>JN($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(K8(J?.interruptAs??p0,vX));return}let G=O0($.state.backing,Z);if(G._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(K8(J?.interruptAs??p0,vX));return}else if(G.value===X)return;G.value.unsafeInterruptAsFork(K8(J?.interruptAs??p0,vX))}hZ($.state.backing,Z,X),X.addObserver((Y)=>{if($.state._tag==="Closed")return;let W=O0($.state.backing,Z);if(b$(W)&&X===W.value)H1($.state.backing,Z);if(_2(Y)&&(J?.propagateInterruption===!0?!_6$(Y.cause):!n2(Y.cause)))SA($.deferred,Y)})}),P6$=V(($)=>JN($[0]),($,Z,X,J)=>IX((G)=>U9(()=>IA($,Z,X,{...J,interruptAs:G})))),Fv=V(2,($,Z)=>$.state._tag==="Closed"?x():O0($.state.backing,Z)),F6$=V(2,($,Z)=>eB(()=>Fv($,Z))),vA=V(2,($,Z)=>$.state._tag==="Closed"?!1:S8($.state.backing,Z)),z6$=V(2,($,Z)=>U9(()=>vA($,Z))),T6$=V(2,($,Z)=>_1((X)=>{if($.state._tag==="Closed")return P1;let J=O0($.state.backing,Z);if(J._tag==="None")return P1;return _4(J.value,K8(X.id(),vX))})),M6$=($)=>_1((Z)=>{if($.state._tag==="Closed")return P1;return MG($.state.backing,([,X])=>_4(X,K8(Z.id(),vX)))}),XN=function(){let $=void 0;return()=>{if($===void 0)$=qG(kX);return $}}(),w6$=function(){let $=arguments[0];if(TG(arguments[2]))return _v($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>_v($,Z,J,X)},_v=($,Z,X,J)=>_1((G)=>{if($.state._tag==="Closed")return kX;else if(J?.onlyIfMissing===!0&&vA($,Z))return U9(XN);let Y=Bv({context:G.currentContext,fiberRefs:G.getFiberRefs(),runtimeFlags:Ov.runtimeFlags}),W=EG(Y)(X);return IA($,Z,W,{...J,interruptAs:G.id()}),aB(W)}),YN=($)=>()=>Z8(LG(),(Z)=>{let X=EG(Z);return(J,G,Y)=>{if($.state._tag==="Closed")return XN();else if(Y?.onlyIfMissing===!0&&vA($,J))return XN();let W=X(G,Y);return IA($,J,W,Y),W}}),zv=($)=>()=>Z8(YN($)(),(Z)=>(X,J,G)=>new Promise((Y,W)=>Z(X,J,G).addObserver((H)=>{if(H4(H))Y(H.value);else W(r2(H.cause))}))),C6$=($)=>U9(()=>$.state._tag==="Closed"?0:k5($.state.backing)),R6$=($)=>N1($.deferred),L6$=($)=>RG({while:()=>$.state._tag==="Open"&&k5($.state.backing)>0,body:()=>e2(tY($)[1]),step:zZ});var n5={};F8(n5,{unsafeAdd:()=>gA,size:()=>y6$,runtimePromise:()=>Cv,runtime:()=>AN,run:()=>v6$,makeRuntimePromise:()=>S6$,makeRuntime:()=>x6$,make:()=>HN,join:()=>g6$,isFiberSet:()=>WN,clear:()=>I6$,awaitEmpty:()=>b6$,add:()=>k6$,TypeId:()=>yA});var yA=Symbol.for("effect/FiberSet"),WN=($)=>o($,yA),q6$={[yA]:yA,[Symbol.iterator](){if(this.state._tag==="Closed")return eY();return this.state.backing[Symbol.iterator]()},toString(){return S$(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},E6$=($,Z)=>{let X=Object.create(q6$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},HN=()=>wG(Z8(xA(),($)=>E6$(new Set,$)),($)=>_1((Z)=>{let X=$.state;if(X._tag==="Closed")return P1;$.state={_tag:"Closed"};let J=X.backing;return $G(J,K8(Z.id(),DN)).pipe(CG($.deferred))})),x6$=()=>o5(HN(),($)=>AN($)()),S6$=()=>o5(HN(),($)=>Cv($)()),Mv=-1,DN=yW(Mv,0),j6$=l2(void 0,{emptyCase:XZ,failCase:XZ,dieCase:XZ,interruptCase:($,Z)=>v7(f1(Z),Mv),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),gA=V(($)=>WN($[0]),($,Z,X)=>{if($.state._tag==="Closed"){Z.unsafeInterruptAsFork(K8(X?.interruptAs??p0,DN));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),_2(J)&&(X?.propagateInterruption===!0?!j6$(J.cause):!n2(J.cause)))SA($.deferred,J)})}),k6$=V(($)=>WN($[0]),($,Z,X)=>IX((J)=>U9(()=>gA($,Z,{...X,interruptAs:J})))),I6$=($)=>_1((Z)=>{if($.state._tag==="Closed")return P1;return MG($.state.backing,(X)=>_4(X,K8(Z.id(),DN)))}),wv=function(){let $=void 0;return()=>{if($===void 0)$=qG(kX);return $}}(),v6$=function(){let $=arguments[0];if(!TG(arguments[1])){let Z=arguments[1];return(X)=>Tv($,X,Z)}return Tv($,arguments[1],arguments[2])},Tv=($,Z,X)=>IX((J)=>{if($.state._tag==="Closed")return U9(wv);return ZN($N(Z),(G)=>gA($,G,{...X,interruptAs:J}))}),AN=($)=>()=>Z8(LG(),(Z)=>{let X=EG(Z);return(J,G)=>{if($.state._tag==="Closed")return wv();let Y=X(J,G);return gA($,Y),Y}}),Cv=($)=>()=>Z8(AN($)(),(Z)=>(X,J)=>new Promise((G,Y)=>Z(X,J).addObserver((W)=>{if(H4(W))G(W.value);else Y(r2(W.cause))}))),y6$=($)=>U9(()=>$.state._tag==="Closed"?0:$.state.backing.size),g6$=($)=>N1($.deferred),b6$=($)=>RG({while:()=>$.state._tag==="Open"&&$.state.backing.size>0,body:()=>e2(tY($)),step:zZ});var xG={};F8(xG,{zipWith:()=>o9$,withSpan:()=>D1$,withParentSpan:()=>A1$,updateService:()=>V1$,unwrapScoped:()=>r9$,unwrapEffect:()=>n9$,toRuntimeWithMemoMap:()=>d9$,toRuntime:()=>p9$,tapErrorCause:()=>c9$,tapError:()=>f9$,tap:()=>m9$,syncContext:()=>h9$,sync:()=>b9$,suspend:()=>g9$,succeedContext:()=>y9$,succeed:()=>v9$,span:()=>X1$,setVersionMismatchErrorLogLevel:()=>H1$,setUnhandledErrorLogLevel:()=>W1$,setTracerTiming:()=>Y1$,setTracerEnabled:()=>G1$,setTracer:()=>J1$,setScheduler:()=>Z1$,setRequestCaching:()=>e9$,setRequestCache:()=>$1$,setRequestBatching:()=>t9$,setRandom:()=>a9$,setConfigProvider:()=>i9$,setClock:()=>l9$,service:()=>I9$,scopedDiscard:()=>E6,scopedContext:()=>k9$,scoped:()=>j9$,scope:()=>S9$,retry:()=>x9$,provideMerge:()=>u9$,provide:()=>jv,project:()=>w9$,passthrough:()=>M9$,parentSpan:()=>s9$,orElse:()=>T9$,orDie:()=>z9$,mock:()=>K9$,mergeAll:()=>F9$,merge:()=>P9$,memoize:()=>_9$,matchCause:()=>N9$,match:()=>B9$,mapError:()=>O9$,map:()=>Sv,makeMemoMap:()=>U1$,locallyWith:()=>L9$,locallyScoped:()=>q9$,locallyEffect:()=>C9$,locally:()=>R9$,launch:()=>Q9$,isLayer:()=>p6$,isFresh:()=>d6$,function:()=>V9$,fresh:()=>U9$,flatten:()=>A9$,flatMap:()=>D9$,fiberRefLocallyScopedWith:()=>E9$,failSync:()=>Y9$,failCauseSync:()=>H9$,failCause:()=>W9$,fail:()=>G9$,extendScope:()=>J9$,ensureSuccessType:()=>Q1$,ensureRequirementsType:()=>B1$,ensureErrorType:()=>O1$,empty:()=>X9$,effectDiscard:()=>$9$,effectContext:()=>Z9$,effect:()=>e6$,discard:()=>t6$,dieSync:()=>a6$,die:()=>s6$,context:()=>xv,catchAllCause:()=>i6$,catchAll:()=>l6$,buildWithScope:()=>r6$,buildWithMemoMap:()=>K1$,build:()=>n6$,annotateSpans:()=>o6$,annotateLogs:()=>u6$,MemoMapTypeId:()=>f6$,LayerTypeId:()=>m6$,CurrentMemoMap:()=>c6$});var Rv=($)=>m5(gD($)),Lv=($)=>O1(D8(bZ,$)),qv=($,Z)=>{return Z=x8(Z),z4(bZ,Z?.onEnd?IZ(e8($,Z),(X)=>J9((J)=>Z.onEnd(X,J))):e8($,Z))},Ev=($)=>m5(fD($));var m6$=eD,f6$=XG,c6$=aO,p6$=GG,d6$=tO,u6$=uj,o6$=oj,n6$=Qj,r6$=P4,l6$=h5,i6$=ZB,xv=ZA,s6$=XB,a6$=Bj,t6$=Nj,e6$=F4,$9$=Fj,Z9$=fZ,X9$=gj,J9$=_j,G9$=JB,Y9$=GB,W9$=YG,H9$=XA,D9$=D9,A9$=Pj,U9$=YB,K9$=Rj,V9$=wj;var Q9$=Cj,Sv=YA,O9$=Lj,B9$=HA,N9$=WA,_9$=qj,P9$=WB,F9$=DA,z9$=Ej,T9$=xj,M9$=Sj,w9$=jj,C9$=JA,R9$=zj,L9$=GA,q9$=Tj,E9$=Mj,x9$=kj,S9$=vj,j9$=z4,E6=m5,k9$=WG,I9$=yj,v9$=wX,y9$=O1,g9$=HG,b9$=AA,h9$=bj,m9$=hj,f9$=mj,c9$=fj,p9$=cj,d9$=pj,jv=f5,u9$=dj,o9$=HB,n9$=DB,r9$=JG,l9$=($)=>E6(RZ(z0,s$(eZ,$))),i9$=Rv,s9$=Lv,a9$=($)=>E6(RZ(z0,s$($1,$))),t9$=($)=>E6(mZ(W2,$)),e9$=($)=>E6(mZ(zG,$)),$1$=($)=>E6(h$($)?z($,(Z)=>mZ(jX,Z)):mZ(jX,$)),Z1$=($)=>E6(mZ(a9,$)),X1$=qv,J1$=Ev,G1$=($)=>E6(mZ(D2,$)),Y1$=($)=>E6(mZ(X4,$)),W1$=($)=>E6(mZ(H2,$)),H1$=($)=>E6(mZ(PH,$)),D1$=nj,A1$=tD,U1$=$B,K1$=$A,V1$=V(3,($,Z,X)=>jv($,Sv(xv(),(J)=>s$(J,Z,X(p8(J,Z)))))),Q1$=()=>($)=>$,O1$=()=>($)=>$,B1$=()=>($)=>$;var V9={};F8(V9,{zipWith:()=>H5$,zipRight:()=>W5$,zipLeft:()=>Y5$,windowed:()=>G5$,whileOutputEffect:()=>J5$,whileOutput:()=>X5$,whileInputEffect:()=>Z5$,whileInput:()=>$5$,upTo:()=>e4$,untilOutputEffect:()=>t4$,untilOutput:()=>a4$,untilInputEffect:()=>s4$,untilInput:()=>i4$,unionWith:()=>l4$,union:()=>r4$,unfold:()=>n4$,tapOutput:()=>o4$,tapInput:()=>u4$,sync:()=>d4$,succeed:()=>p4$,stop:()=>c4$,spaced:()=>f4$,secondOfMinute:()=>c1$,run:()=>m4$,resetWhen:()=>h4$,resetAfter:()=>b4$,repetitions:()=>g4$,repeatForever:()=>y4$,reduceEffect:()=>v4$,reduce:()=>I4$,recurs:()=>k4$,recurWhileEffect:()=>j4$,recurWhile:()=>S4$,recurUpTo:()=>x4$,recurUntilOption:()=>E4$,recurUntilEffect:()=>q4$,recurUntil:()=>L4$,provideService:()=>R4$,provideContext:()=>C4$,passthrough:()=>V4$,once:()=>w4$,onDecision:()=>M4$,modifyDelayEffect:()=>T4$,modifyDelay:()=>z4$,minuteOfHour:()=>p1$,mapInputEffect:()=>b1$,mapInputContext:()=>h1$,mapInput:()=>g1$,mapEffect:()=>F4$,mapBothEffect:()=>a1$,mapBoth:()=>s1$,map:()=>P4$,makeWithState:()=>P1$,linear:()=>_4$,jitteredWith:()=>N4$,jittered:()=>B4$,isSchedule:()=>F1$,intersectWith:()=>O4$,intersect:()=>Q4$,identity:()=>K4$,hourOfDay:()=>d1$,fromFunction:()=>U4$,fromDelays:()=>A4$,fromDelay:()=>D4$,forever:()=>H4$,fixed:()=>W4$,fibonacci:()=>Y4$,exponential:()=>G4$,ensuring:()=>J4$,elapsed:()=>X4$,eitherWith:()=>Z4$,either:()=>$4$,duration:()=>e1$,driver:()=>t1$,delays:()=>i1$,delayedSchedule:()=>l1$,delayedEffect:()=>r1$,delayed:()=>n1$,dayOfWeek:()=>o1$,dayOfMonth:()=>u1$,cron:()=>f1$,count:()=>m1$,compose:()=>y1$,collectWhileEffect:()=>v1$,collectWhile:()=>I1$,collectUntilEffect:()=>k1$,collectUntil:()=>j1$,collectAllOutputs:()=>S1$,collectAllInputs:()=>x1$,checkEffect:()=>E1$,check:()=>q1$,bothInOut:()=>L1$,asVoid:()=>R1$,as:()=>C1$,andThenEither:()=>w1$,andThen:()=>M1$,addDelayEffect:()=>T1$,addDelay:()=>z1$,ScheduleTypeId:()=>N1$,ScheduleDriverTypeId:()=>_1$,CurrentIterationMetadata:()=>D5$});var N1$=NA,_1$=PB,P1$=p$,F1$=_A,z1$=PA,T1$=FB,M1$=Rk,w1$=zB,C1$=Lk,R1$=FA,L1$=qk,q1$=EX,E1$=d5,x1$=Ek,S1$=u5,j1$=xk,k1$=Sk,I1$=jk,v1$=kk,y1$=Ik,g1$=TB,b1$=zA,h1$=vk,m1$=II,f1$=yk,c1$=UI,p1$=$I,d1$=ak,u1$=gk,o1$=bk,n1$=hk,r1$=TA,l1$=QG,i1$=mk,s1$=fk,a1$=ck,t1$=OG,e1$=MB,$4$=pk,Z4$=dk,X4$=qA,J4$=uk,G4$=ok,Y4$=nk,W4$=rk,H4$=q6,D4$=lk,A4$=ik,U4$=sk,K4$=B1,V4$=RB,Q4$=T4,O4$=wB,B4$=tk,N4$=CB,_4$=ek,P4$=NZ,F4$=MA,z4$=ZI,T4$=BG,M4$=XI,w4$=EA,C4$=JI,R4$=GI,L4$=LB,q4$=qB,E4$=YI,x4$=EB,S4$=xB,j4$=SB,k4$=xX,I4$=wA,v4$=jB,y4$=q6,g4$=WI,b4$=HI,h4$=kB,m4$=DI,f4$=KI,c4$=vI,p4$=VI,d4$=QI,u4$=OI,o4$=BI,n4$=NG,r4$=IB,l4$=CA,i4$=vB,s4$=_G,a4$=yB,t4$=NI,e4$=_I,$5$=gB,Z5$=PG,X5$=RA,J5$=PI,G5$=FI,Y5$=bB,W5$=zI,H5$=TI,D5$=p5;function SQ$($,Z){return xG.scoped($,a.acquireRelease(a.sync(Z),(X)=>a.sync(()=>{X.close()})).pipe(a.map((X)=>X.service)))}var SG=D.record(D.string(),D.unknown());var A5$=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:SG}),U5$=D.object({id:D.string(),conversationId:D.string(),role:yX,content:D.string(),timestamp:D.string(),metadata:SG});var UN=D.object({name:D.string(),role:D.string(),purpose:D.string(),values:D.array(D.string())}),KN=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 gX=K5$(V5$(),1);function F1($,Z){let X=Object.fromEntries(Object.entries(Z).filter(([,J])=>J!==void 0&&J!==null));if(Object.keys(X).length===0)return $;return gX.default.stringify($,X)}function VN($){if($ instanceof Date)return $.toISOString();if(Array.isArray($))return $.map(VN);if($!==null&&typeof $==="object"){let Z={};for(let[X,J]of Object.entries($))Z[X]=VN(J);return Z}return $}function cZ($,Z){let{content:X,data:J}=gX.default($),G=VN(J);return{content:X.trim(),metadata:Z.parse(G)}}function jG($){if(Object.keys($).length===0)return"";let X=gX.default.stringify("",$).match(/^---\n[\s\S]*?\n---/);return X?X[0]:""}function kv($){if(typeof $!=="object"||$===null||Array.isArray($))return $;let{visibility:Z,...X}=$;return X}var Q5$=D.object({visibility:D.enum(["public","shared","restricted","private"]).optional().transform(($)=>{if($===void 0)return;return $==="private"?"restricted":$})});function bA($){let Z=gX.default($);return Q5$.parse(Z.data).visibility}function Iv($){let X=$.match(/^---\r?\n[\s\S]*?\r?\n---/)?.[0].match(/^visibility:/m);return X!==null&&X!==void 0}function r5($,Z){if(Z==="public"&&!Iv($))return $;let X=gX.default($),J=Object.fromEntries(Object.entries(X.data).filter(([G])=>G!=="visibility"));if(Z!=="public")J.visibility=Z;return F1(X.content.trim(),J)}var O5$=D.looseObject({issues:D.array(D.looseObject({message:D.string()}))});class z1 extends Error{entityType;originalError;constructor($,Z){super(`Invalid entity data for ${$}: ${e$(Z)}`);this.name="EntityValidationError",this.entityType=$,this.originalError=Z}}function hA($){return O5$.safeParse($).success}function vv($){return $ instanceof z1||hA($)}function mA($,Z){if(Z instanceof z1)return Z;return hA(Z)?new z1($,Z):void 0}var B5$={generateBodyTemplate:()=>""},QN=D.record(D.string(),D.unknown());function yv($){return{parse:(Z)=>$.parse(kv(Z))}}class Q9{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??B5$,$.isSingleton!==void 0)this.isSingleton=$.isSingleton;if($.hasBody!==void 0)this.hasBody=$.hasBody;if($.supportsCoverImage!==void 0)this.supportsCoverImage=$.supportsCoverImage;if($.publishedStatuses!==void 0)this.publishedStatuses=$.publishedStatuses}toMarkdown($){let Z=this.renderBody($),J={...this.readExistingFrontmatter($.content)},G=Object.keys(this.frontmatterSchema.shape);for(let[Y,W]of Object.entries($.metadata))if(G.includes(Y))J[Y]=W;return this.buildMarkdown(Z,J)}renderBody($){return this.extractBody($.content)}readExistingFrontmatter($){try{return cZ($,QN).metadata}catch{return{}}}extractMetadata($){return $.metadata}parseFrontMatter($,Z){try{return cZ($,yv(Z)).metadata}catch(X){throw new z1(this.entityType,X)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter($){return jG(QN.parse($.metadata))}extractBody($){try{return cZ($,QN).content}catch{return $}}parseFrontmatter($){try{return cZ($,yv(this.fmSchema)).metadata}catch(Z){throw new z1(this.entityType,Z)}}buildMarkdown($,Z){return F1($,Z)}}var ON=D.enum(["public","shared","restricted"]),O9=D.union([ON,D.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $});function fA($){return O9.parse($)}var N5$={public:["public"],shared:["public","shared"],restricted:["public","shared","restricted"]};function T1($){return N5$[$]}function cA($,Z){return T1(Z).includes($??"public")}function bX($){if($==="admin")return"restricted";if($==="trusted")return"shared";return"public"}function BN($,Z){return cA(Z,bX($))}var G6=D.object({id:D.string(),entityType:D.string(),content:D.string(),created:D.string().datetime(),updated:D.string().datetime(),visibility:O9,metadata:D.record(D.string(),D.unknown()),contentHash:D.string()}),_5$=D.enum(["public","shared","restricted"]),gv=D.object({id:D.string(),entityType:D.string(),content:D.string(),created:D.string().datetime(),updated:D.string().datetime(),visibility:D.union([_5$,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()}),pA=D.object({}),P5$=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 NN extends Q9{constructor(){super({entityType:"note",purpose:"A generic entity with no specialized adapter.",schema:G6,frontmatterSchema:pA})}toMarkdown($){return $.content}fromMarkdown($){return{content:$}}}import{createClient as Ag}from"@libsql/client";import{createClient as iN}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 X0{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 _N{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 v8=Symbol.for("drizzle:Name");function bv($,...Z){return $(...Z)}function hv($,Z){return`${$[v8]}_${Z.join("_")}_unique`}class kG extends X0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=hv($,[Z.name]);super($,Z);this.table=$}static[L]="PgColumn"}class F5$ extends kG{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 z5$ extends kG{static[L]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}var mv=Symbol.for("drizzle:isPgEnum");function fv($){return!!$&&typeof $==="function"&&mv in $&&$[mv]===!0}class T5$ extends kG{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 j0{static[L]="Subquery";constructor($,Z,X,J=!1,G=[]){this._={brand:"Subquery",sql:$,selectedFields:Z,alias:X,isWith:J,usedTables:G}}}class IG extends j0{static[L]="WithSubquery"}var cv="0.45.2";var PN,FN,pv={startActiveSpan($,Z){if(!PN)return Z();if(!FN)FN=PN.trace.getTracer("drizzle-orm",cv);return bv((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()}}),PN,FN)}};var k0=Symbol.for("drizzle:ViewBaseConfig");var dA=Symbol.for("drizzle:Schema"),uA=Symbol.for("drizzle:Columns"),dv=Symbol.for("drizzle:ExtraConfigColumns"),zN=Symbol.for("drizzle:OriginalName"),TN=Symbol.for("drizzle:BaseName"),vG=Symbol.for("drizzle:IsAlias"),uv=Symbol.for("drizzle:ExtraConfigBuilder"),M5$=Symbol.for("drizzle:IsDrizzleTable");class t{static[L]="Table";static Symbol={Name:v8,Schema:dA,OriginalName:zN,Columns:uA,ExtraConfigColumns:dv,BaseName:TN,IsAlias:vG,ExtraConfigBuilder:uv};[v8];[zN];[dA];[uA];[dv];[TN];[vG]=!1;[M5$]=!0;[uv]=void 0;constructor($,Z,X){this[v8]=this[zN]=$,this[dA]=Z,this[TN]=X}}function M4($){return $[v8]}function l5($){return`${$[dA]??"public"}.${$[v8]}`}function MN($){return $!==null&&$!==void 0&&typeof $.getSQL==="function"}function w5$($){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 A$([this])}}class A${constructor($){this.queryChunks=$;for(let Z of $)if(v(Z,t)){let X=Z[t.Symbol.Schema];this.usedTables.push(X===void 0?Z[t.Symbol.Name]:X+"."+Z[t.Symbol.Name])}}static[L]="SQL";decoder=nv;shouldInlineParams=!1;usedTables=[];append($){return this.queryChunks.push(...$.queryChunks),this}toQuery($){return pv.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:A}=X;return w5$($.map((K)=>{if(v(K,AZ))return{sql:K.value.join(""),params:[]};if(v(K,oA))return{sql:G(K.value),params:[]};if(K===void 0)return{sql:"",params:[]};if(Array.isArray(K)){let Q=[new AZ("(")];for(let[O,_]of K.entries())if(Q.push(_),O<K.length-1)Q.push(new AZ(", "));return Q.push(new AZ(")")),this.buildQueryFromSourceParams(Q,X)}if(v(K,A$))return this.buildQueryFromSourceParams(K.queryChunks,{...X,inlineParams:H||K.shouldInlineParams});if(v(K,t)){let Q=K[t.Symbol.Schema],O=K[t.Symbol.Name];return{sql:Q===void 0||K[vG]?G(O):G(Q)+"."+G(O),params:[]}}if(v(K,X0)){let Q=J.getColumnCasing(K);if(Z.invokeSource==="indexes")return{sql:G(Q),params:[]};let O=K.table[t.Symbol.Schema];return{sql:K.table[vG]||O===void 0?G(K.table[t.Symbol.Name])+"."+G(Q):G(O)+"."+G(K.table[t.Symbol.Name])+"."+G(Q),params:[]}}if(v(K,Y6)){let Q=K[k0].schema,O=K[k0].name;return{sql:Q===void 0||K[k0].isAlias?G(O):G(Q)+"."+G(O),params:[]}}if(v(K,y8)){if(v(K.value,w4))return{sql:Y(A.value++,K),params:[K],typings:["none"]};let Q=K.value===null?null:K.encoder.mapToDriverValue(K.value);if(v(Q,A$))return this.buildQueryFromSourceParams([Q],X);if(H)return{sql:this.mapInlineParam(Q,X),params:[]};let O=["none"];if(W)O=[W(K.encoder)];return{sql:Y(A.value++,Q),params:[Q],typings:O}}if(v(K,w4))return{sql:Y(A.value++,K),params:[K],typings:["none"]};if(v(K,A$.Aliased)&&K.fieldAlias!==void 0)return{sql:G(K.fieldAlias),params:[]};if(v(K,j0)){if(K._.isWith)return{sql:G(K._.alias),params:[]};return this.buildQueryFromSourceParams([new AZ("("),K._.sql,new AZ(") "),new oA(K._.alias)],X)}if(fv(K)){if(K.schema)return{sql:G(K.schema)+"."+G(K.enumName),params:[]};return{sql:G(K.enumName),params:[]}}if(MN(K)){if(K.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([K.getSQL()],X);return this.buildQueryFromSourceParams([new AZ("("),K.getSQL(),new AZ(")")],X)}if(H)return{sql:this.mapInlineParam(K,X),params:[]};return{sql:Y(A.value++,K),params:[K],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 A$.Aliased(this,$)}mapWith($){return this.decoder=typeof $==="function"?{mapFromDriverValue:$}:$,this}inlineParams(){return this.shouldInlineParams=!0,this}if($){return $?this:void 0}}class oA{constructor($){this.value=$}static[L]="Name";brand;getSQL(){return new A$([this])}}function ov($){return typeof $==="object"&&$!==null&&"mapToDriverValue"in $&&typeof $.mapToDriverValue==="function"}var nv={mapFromDriverValue:($)=>$},rv={mapToDriverValue:($)=>$},pO$={...nv,...rv};class y8{constructor($,Z=rv){this.value=$,this.encoder=Z}static[L]="Param";brand;getSQL(){return new A$([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 A$(X)}(($)=>{function Z(){return new A$([])}$.empty=Z;function X(A){return new A$(A)}$.fromList=X;function J(A){return new A$([new AZ(A)])}$.raw=J;function G(A,K){let Q=[];for(let[O,_]of A.entries()){if(O>0&&K!==void 0)Q.push(K);Q.push(_)}return new A$(Q)}$.join=G;function Y(A){return new oA(A)}$.identifier=Y;function W(A){return new w4(A)}$.placeholder=W;function H(A,K){return new y8(A,K)}$.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})(A$||(A$={}));class w4{constructor($){this.name=$}static[L]="Placeholder";getSQL(){return new A$([this])}}function yG($,Z){return $.map((X)=>{if(v(X,w4)){if(!(X.name in Z))throw Error(`No value for placeholder "${X.name}" was provided`);return Z[X.name]}if(v(X,y8)&&v(X.value,w4)){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 C5$=Symbol.for("drizzle:IsDrizzleView");class Y6{static[L]="View";[k0];[C5$]=!0;constructor({name:$,schema:Z,selectedFields:X,query:J}){this[k0]={name:$,originalName:$,schema:Z,selectedFields:X,query:J,isExisting:!J,isAlias:!1}}getSQL(){return new A$([this])}}X0.prototype.getSQL=function(){return new A$([this])};t.prototype.getSQL=function(){return new A$([this])};j0.prototype.getSQL=function(){return new A$([this])};function wN($,Z,X){let J={},G=$.reduce((Y,{path:W,field:H},A)=>{let K;if(v(H,X0))K=H;else if(v(H,A$))K=H.decoder;else if(v(H,j0))K=H._.sql.decoder;else K=H.sql.decoder;let Q=Y;for(let[O,_]of W.entries())if(O<W.length-1){if(!(_ in Q))Q[_]={};Q=Q[_]}else{let F=Z[A],M=Q[_]=F===null?null:K.mapFromDriverValue(F);if(X&&v(H,X0)&&W.length===2){let C=W[0];if(!(C in J))J[C]=M===null?M4(H.table):!1;else if(typeof J[C]==="string"&&J[C]!==M4(H.table))J[C]=!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 W6($,Z){return Object.entries($).reduce((X,[J,G])=>{if(typeof J!=="string")return X;let Y=Z?[...Z,J]:[J];if(v(G,X0)||v(G,A$)||v(G,A$.Aliased)||v(G,j0))X.push({path:Y,field:G});else if(v(G,t))X.push(...W6(G[t.Symbol.Columns],Y));else X.push(...W6(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 nA($,Z){let X=Object.entries(Z).filter(([,J])=>J!==void 0).map(([J,G])=>{if(v(G,A$)||v(G,X0))return[J,G];else return[J,new y8(G,$[t.Symbol.Columns][J])]});if(X.length===0)throw Error("No values to set");return Object.fromEntries(X)}function lv($,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 iv($){return $[t.Symbol.Columns]}function bG($){return v($,j0)?$._.alias:v($,Y6)?$[k0].name:v($,A$)?void 0:$[t.Symbol.IsAlias]?$[t.Symbol.Name]:$[t.Symbol.BaseName]}function B9($,Z){return{name:typeof $==="string"&&$.length>0?$:"",config:typeof $==="object"?$:Z}}function sv($){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 CN=typeof TextDecoder>"u"?null:new TextDecoder;class av{static[L]="ConsoleLogWriter";write($){console.log($)}}class RN{static[L]="DefaultLogger";writer;constructor($){this.writer=$?.writer??new av}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 LN{static[L]="NoopLogger";logQuery(){}}var tv=Symbol.for("drizzle:PgInlineForeignKeys"),ev=Symbol.for("drizzle:EnableRLS");class qN extends t{static[L]="PgTable";static Symbol=Object.assign({},t.Symbol,{InlineForeignKeys:tv,EnableRLS:ev});[tv]=[];[ev]=!1;[t.Symbol.ExtraConfigBuilder]=void 0;[t.Symbol.ExtraConfigColumns]={}}class EN{static[L]="PgPrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new $y($,this.columns,this.name)}}class $y{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[qN.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function _8($,Z){if(ov(Z)&&!MN($)&&!v($,y8)&&!v($,w4)&&!v($,X0)&&!v($,t)&&!v($,Y6))return new y8($,Z);return $}var p=($,Z)=>{return N`${$} = ${_8(Z,$)}`},rA=($,Z)=>{return N`${$} <> ${_8(Z,$)}`};function P$(...$){let Z=$.filter((X)=>X!==void 0);if(Z.length===0)return;if(Z.length===1)return new A$(Z);return new A$([new AZ("("),N.join(Z,new AZ(" and ")),new AZ(")")])}function C4(...$){let Z=$.filter((X)=>X!==void 0);if(Z.length===0)return;if(Z.length===1)return new A$(Z);return new A$([new AZ("("),N.join(Z,new AZ(" or ")),new AZ(")")])}function Zy($){return N`not ${$}`}var hX=($,Z)=>{return N`${$} > ${_8(Z,$)}`},Xy=($,Z)=>{return N`${$} >= ${_8(Z,$)}`},Jy=($,Z)=>{return N`${$} < ${_8(Z,$)}`},x6=($,Z)=>{return N`${$} <= ${_8(Z,$)}`};function X8($,Z){if(Array.isArray(Z)){if(Z.length===0)return N`false`;return N`${$} in ${Z.map((X)=>_8(X,$))}`}return N`${$} in ${_8(Z,$)}`}function Gy($,Z){if(Array.isArray(Z)){if(Z.length===0)return N`true`;return N`${$} not in ${Z.map((X)=>_8(X,$))}`}return N`${$} not in ${_8(Z,$)}`}function M1($){return N`${$} is null`}function mX($){return N`${$} is not null`}function hG($){return N`exists ${$}`}function lA($){return N`not exists ${$}`}function Yy($,Z,X){return N`${$} between ${_8(Z,$)} and ${_8(X,$)}`}function Wy($,Z,X){return N`${$} not between ${_8(Z,$)} and ${_8(X,$)}`}function Hy($,Z){return N`${$} like ${Z}`}function Dy($,Z){return N`${$} not like ${Z}`}function Ay($,Z){return N`${$} ilike ${Z}`}function Uy($,Z){return N`${$} not ilike ${Z}`}function I0($){return N`${$} asc`}function _Z($){return N`${$} desc`}class xN{constructor($,Z,X){this.sourceTable=$,this.referencedTable=Z,this.relationName=X,this.referencedTableName=Z[t.Symbol.Name]}static[L]="Relation";referencedTableName;fieldName}class Ky{constructor($,Z){this.table=$,this.config=Z}static[L]="Relations"}class R4 extends xN{constructor($,Z,X,J){super($,Z,X?.relationName);this.config=X,this.isNullable=J}static[L]="One";withFieldName($){let Z=new R4(this.sourceTable,this.referencedTable,this.config,this.isNullable);return Z.fieldName=$,Z}}class mG extends xN{constructor($,Z,X){super($,Z,X?.relationName);this.config=X}static[L]="Many";withFieldName($){let Z=new mG(this.sourceTable,this.referencedTable,this.config);return Z.fieldName=$,Z}}function Vy(){return{and:P$,between:Yy,eq:p,exists:hG,gt:hX,gte:Xy,ilike:Ay,inArray:X8,isNull:M1,isNotNull:mX,like:Hy,lt:Jy,lte:x6,ne:rA,not:Zy,notBetween:Wy,notExists:lA,notLike:Dy,notIlike:Uy,notInArray:Gy,or:C4,sql:N}}function Qy(){return{sql:N,asc:I0,desc:_Z}}function Oy($,Z){if(Object.keys($).length===1&&"default"in $&&!v($.default,t))$=$.default;let X={},J={},G={};for(let[Y,W]of Object.entries($))if(v(W,t)){let H=l5(W),A=J[H];X[H]=Y,G[Y]={tsName:Y,dbName:W[t.Symbol.Name],schema:W[t.Symbol.Schema],columns:W[t.Symbol.Columns],relations:A?.relations??{},primaryKey:A?.primaryKey??[]};for(let Q of Object.values(W[t.Symbol.Columns]))if(Q.primary)G[Y].primaryKey.push(Q);let K=W[t.Symbol.ExtraConfigBuilder]?.(W[t.Symbol.ExtraConfigColumns]);if(K){for(let Q of Object.values(K))if(v(Q,EN))G[Y].primaryKey.push(...Q.columns)}}else if(v(W,Ky)){let H=l5(W.table),A=X[H],K=W.config(Z(W.table)),Q;for(let[O,_]of Object.entries(K))if(A){let F=G[A];if(F.relations[O]=_,Q)F.primaryKey.push(...Q)}else{if(!(H in J))J[H]={relations:{},primaryKey:Q};J[H].relations[O]=_}}return{tables:G,tableNamesMap:X}}function R5$($){return function(X,J){return new R4($,X,J,J?.fields.reduce((G,Y)=>G&&Y.notNull,!0)??!1)}}function L5$($){return function(X,J){return new mG($,X,J)}}function By($,Z,X){if(v(X,R4)&&X.config)return{fields:X.config.fields,references:X.config.references};let J=Z[l5(X.referencedTable)];if(!J)throw Error(`Table "${X.referencedTable[t.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[l5(Y)];if(!W)throw Error(`Table "${Y[t.Symbol.Name]}" not found in schema`);let H=[];for(let A of Object.values(G.relations))if(X.relationName&&X!==A&&A.relationName===X.relationName||!X.relationName&&A.referencedTable===X.sourceTable)H.push(A);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[t.Symbol.Name]}". Please specify relation name`);if(H[0]&&v(H[0],R4)&&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 Ny($){return{one:R5$($),many:L5$($)}}function iA($,Z,X,J,G=(Y)=>Y){let Y={};for(let[W,H]of J.entries())if(H.isJson){let A=Z.relations[H.tsKey],K=X[W],Q=typeof K==="string"?JSON.parse(K):K;Y[H.tsKey]=v(A,R4)?Q&&iA($,$[H.relationTableTsKey],Q,H.selection,G):Q.map((O)=>iA($,$[H.relationTableTsKey],O,H.selection,G))}else{let A=G(X[W]),K=H.field,Q;if(v(K,X0))Q=K;else if(v(K,A$))Q=K.decoder;else Q=K.sql.decoder;Y[H.tsKey]=A===null?null:Q.mapFromDriverValue(A)}return Y}class fX{constructor($){this.table=$}static[L]="ColumnAliasProxyHandler";get($,Z){if(Z==="table")return this.table;return $[Z]}}class fG{constructor($,Z){this.alias=$,this.replaceOriginalName=Z}static[L]="TableAliasProxyHandler";get($,Z){if(Z===t.Symbol.IsAlias)return!0;if(Z===t.Symbol.Name)return this.alias;if(this.replaceOriginalName&&Z===t.Symbol.OriginalName)return this.alias;if(Z===k0)return{...$[k0],name:this.alias,isAlias:!0};if(Z===t.Symbol.Columns){let J=$[t.Symbol.Columns];if(!J)return J;let G={};return Object.keys(J).map((Y)=>{G[Y]=new Proxy(J[Y],new fX(new Proxy($,this)))}),G}let X=$[Z];if(v(X,X0))return new Proxy(X,new fX(new Proxy($,this)));return X}}function sA($,Z){return new Proxy($,new fG(Z,!1))}function N9($,Z){return new Proxy($,new fX(new Proxy($.table,new fG(Z,!1))))}function SN($,Z){return new A$.Aliased(cG($.sql,Z),$.fieldAlias)}function cG($,Z){return N.join($.queryChunks.map((X)=>{if(v(X,X0))return N9(X,Z);if(v(X,A$))return cG(X,Z);if(v(X,A$.Aliased))return SN(X,Z);return X}))}class t0{static[L]="SelectionProxyHandler";config;constructor($){this.config={...$}}get($,Z){if(Z==="_")return{...$._,selectedFields:new Proxy($._.selectedFields,this)};if(Z===k0)return{...$[k0],selectedFields:new Proxy($[k0].selectedFields,this)};if(typeof Z==="symbol")return $[Z];let J=(v($,j0)?$._.selectedFields:v($,Y6)?$[k0].selectedFields:$)[Z];if(v(J,A$.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!J.isSelectionField)return J.sql;let G=J.clone();return G.isSelectionField=!0,G}if(v(J,A$)){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,X0)){if(this.config.alias)return new Proxy(J,new fX(new Proxy(J.table,new fG(this.config.alias,this.config.replaceOriginalName??!1))));return J}if(typeof J!=="object"||J===null)return J;return new Proxy(J,new t0(this.config))}}class J8{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 jN{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 _y($,this)}}class _y{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[v8],...J,X[0].table[v8],...G];return $??`${Y.join("_")}_fk`}}function Py($,Z){return`${$[v8]}_${Z.join("_")}_unique`}class PZ extends _N{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 jN(()=>{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 b0 extends X0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=Py($,[Z.name]);super($,Z);this.table=$}static[L]="SQLiteColumn"}class Fy extends PZ{static[L]="SQLiteBigIntBuilder";constructor($){super($,"bigint","SQLiteBigInt")}build($){return new zy($,this.config)}}class zy extends b0{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(CN.decode($))}mapToDriverValue($){return Buffer.from($.toString())}}class Ty extends PZ{static[L]="SQLiteBlobJsonBuilder";constructor($){super($,"json","SQLiteBlobJson")}build($){return new My($,this.config)}}class My extends b0{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(CN.decode($))}mapToDriverValue($){return Buffer.from(JSON.stringify($))}}class wy extends PZ{static[L]="SQLiteBlobBufferBuilder";constructor($){super($,"buffer","SQLiteBlobBuffer")}build($){return new Cy($,this.config)}}class Cy extends b0{static[L]="SQLiteBlobBuffer";mapFromDriverValue($){if(Buffer.isBuffer($))return $;return Buffer.from($)}getSQLType(){return"blob"}}function Ry($,Z){let{name:X,config:J}=B9($,Z);if(J?.mode==="json")return new Ty(X);if(J?.mode==="bigint")return new Fy(X);return new wy(X)}class Ly extends PZ{static[L]="SQLiteCustomColumnBuilder";constructor($,Z,X){super($,"custom","SQLiteCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=X}build($){return new qy($,this.config)}}class qy extends b0{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 aA($){return(Z,X)=>{let{name:J,config:G}=B9(Z,X);return new Ly(J,G,$)}}class tA extends PZ{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 eA extends b0{static[L]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class Ey extends tA{static[L]="SQLiteIntegerBuilder";constructor($){super($,"number","SQLiteInteger")}build($){return new xy($,this.config)}}class xy extends eA{static[L]="SQLiteInteger"}class Sy extends tA{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 jy($,this.config)}}class jy extends eA{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 ky extends tA{static[L]="SQLiteBooleanBuilder";constructor($,Z){super($,"boolean","SQLiteBoolean");this.config.mode=Z}build($){return new Iy($,this.config)}}class Iy extends eA{static[L]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue($){return Number($)===1}mapToDriverValue($){return $?1:0}}function l$($,Z){let{name:X,config:J}=B9($,Z);if(J?.mode==="timestamp"||J?.mode==="timestamp_ms")return new Sy(X,J.mode);if(J?.mode==="boolean")return new ky(X,J.mode);return new Ey(X)}class vy extends PZ{static[L]="SQLiteNumericBuilder";constructor($){super($,"string","SQLiteNumeric")}build($){return new yy($,this.config)}}class yy extends b0{static[L]="SQLiteNumeric";mapFromDriverValue($){if(typeof $==="string")return $;return String($)}getSQLType(){return"numeric"}}class gy extends PZ{static[L]="SQLiteNumericNumberBuilder";constructor($){super($,"number","SQLiteNumericNumber")}build($){return new by($,this.config)}}class by extends b0{static[L]="SQLiteNumericNumber";mapFromDriverValue($){if(typeof $==="number")return $;return Number($)}mapToDriverValue=String;getSQLType(){return"numeric"}}class hy extends PZ{static[L]="SQLiteNumericBigIntBuilder";constructor($){super($,"bigint","SQLiteNumericBigInt")}build($){return new my($,this.config)}}class my extends b0{static[L]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function fy($,Z){let{name:X,config:J}=B9($,Z),G=J?.mode;return G==="number"?new gy(X):G==="bigint"?new hy(X):new vy(X)}class cy extends PZ{static[L]="SQLiteRealBuilder";constructor($){super($,"number","SQLiteReal")}build($){return new py($,this.config)}}class py extends b0{static[L]="SQLiteReal";getSQLType(){return"real"}}function dy($){return new cy($??"")}class uy extends PZ{static[L]="SQLiteTextBuilder";constructor($,Z){super($,"string","SQLiteText");this.config.enumValues=Z.enum,this.config.length=Z.length}build($){return new oy($,this.config)}}class oy extends b0{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 ny extends PZ{static[L]="SQLiteTextJsonBuilder";constructor($){super($,"json","SQLiteTextJson")}build($){return new ry($,this.config)}}class ry extends b0{static[L]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue($){return JSON.parse($)}mapToDriverValue($){return JSON.stringify($)}}function Z$($,Z={}){let{name:X,config:J}=B9($,Z);if(J.mode==="json")return new ny(X);return new uy(X,J)}function ly(){return{blob:Ry,customType:aA,integer:l$,numeric:fy,real:dy,text:Z$}}var kN=Symbol.for("drizzle:SQLiteInlineForeignKeys");class e0 extends t{static[L]="SQLiteTable";static Symbol=Object.assign({},t.Symbol,{InlineForeignKeys:kN});[t.Symbol.Columns];[kN]=[];[t.Symbol.ExtraConfigBuilder]=void 0}function q5$($,Z,X,J,G=$){let Y=new e0($,J,G),W=typeof Z==="function"?Z(ly()):Z,H=Object.fromEntries(Object.entries(W).map(([K,Q])=>{let O=Q;O.setName(K);let _=O.build(Y);return Y[kN].push(...O.buildForeignKeys(_,Y)),[K,_]})),A=Object.assign(Y,H);if(A[t.Symbol.Columns]=H,A[t.Symbol.ExtraConfigColumns]=H,X)A[e0.Symbol.ExtraConfigBuilder]=X;return A}var FZ=($,Z,X)=>{return q5$($,Z,X)};class iy{constructor($,Z){this.name=$,this.value=Z}static[L]="SQLiteCheckBuilder";brand;build($){return new sy($,this)}}class sy{constructor($,Z){this.table=$,this.name=Z.name,this.value=Z.value}static[L]="SQLiteCheck";name;value}function ay($,Z){return new iy($,Z)}class IN{constructor($,Z){this.name=$,this.unique=Z}static[L]="SQLiteIndexBuilderOn";on(...$){return new ty(this.name,$,this.unique)}}class ty{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 ey(this.config,$)}}class ey{static[L]="SQLiteIndex";config;constructor($,Z){this.config={...$,table:Z}}}function $Z($){return new IN($,!1)}function xN$($){return new IN($,!0)}function L4(...$){if($[0].columns)return new vN($[0].columns,$[0].name);return new vN($)}class vN{static[L]="SQLitePrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new $g($,this.columns,this.name)}}class $g{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e0.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function S6($){if(v($,e0))return[`${$[t.Symbol.BaseName]}`];if(v($,j0))return $._.usedTables??[];if(v($,A$))return $.usedTables??[];return[]}class $U extends J8{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[t.Symbol.Columns],new t0({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[e0.Symbol.Columns]){return this.config.returning=W6($),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:S6(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 E5$($){return($.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((X)=>X.toLowerCase()).join("_")}function x5$($){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 S5$($){return $}class yN{static[L]="CasingCache";cache={};cachedTables={};convert;constructor($){this.convert=$==="snake_case"?E5$:$==="camelCase"?x5$:S5$}getColumnCasing($){if(!$.keyAsName)return $.name;let Z=$.table[t.Symbol.Schema]??"public",X=$.table[t.Symbol.OriginalName],J=`${Z}.${X}.${$.name}`;if(!this.cache[J])this.cacheTable($.table);return this.cache[J]}cacheTable($){let Z=$[t.Symbol.Schema]??"public",X=$[t.Symbol.OriginalName],J=`${Z}.${X}`;if(!this.cachedTables[J]){for(let G of Object.values($[t.Symbol.Columns])){let Y=`${J}.${G.name}`;this.cache[Y]=this.convert(G.name)}this.cachedTables[J]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class cX extends Error{static[L]="DrizzleError";constructor({message:$,cause:Z}){super($);this.name="DrizzleError",this.cause=Z}}class w1 extends Error{constructor($,Z,X){super(`Failed query: ${$}
33
+ params: ${Z}`);if(this.query=$,this.params=Z,this.cause=X,Error.captureStackTrace(this,w1),X)this.cause=X}}class gN extends cX{static[L]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function Zg($){return N`count(${$||N.raw("*")})`.mapWith(Number)}class i5 extends Y6{static[L]="SQLiteViewBase"}class pX{static[L]="SQLiteDialect";casing;constructor($){this.casing=new yN($?.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,A=Z?N` where ${Z}`:void 0,K=this.buildOrderBy(Y),Q=this.buildLimit(G);return N`${W}delete from ${$}${A}${H}${K}${Q}`}buildUpdateSet($,Z){let X=$[t.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],A=H.onUpdateFn?.(),K=Z[Y]??(v(A,A$)?A:N.param(A,H)),Q=N`${N.identifier(this.casing.getColumnCasing(H))} = ${K}`;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:A}){let K=this.buildWithCTE(G),Q=this.buildUpdateSet($,Z),O=W&&N.join([N.raw(" from "),this.buildFromTable(W)]),_=this.buildJoins(Y),F=J?N` returning ${this.buildSelection(J,{isSingleTable:!0})}`:void 0,M=X?N` where ${X}`:void 0,C=this.buildOrderBy(A),m=this.buildLimit(H);return N`${K}update ${$} set ${Q}${O}${_}${M}${F}${C}${m}`}buildSelection($,{isSingleTable:Z=!1}={}){let X=$.length,J=$.flatMap(({field:G},Y)=>{let W=[];if(v(G,A$.Aliased)&&G.isSelectionField)W.push(N.identifier(G.fieldAlias));else if(v(G,A$.Aliased)||v(G,A$)){let H=v(G,A$.Aliased)?G.sql:G;if(Z)W.push(new A$(H.queryChunks.map((A)=>{if(v(A,X0))return N.identifier(this.casing.getColumnCasing(A));return A})));else W.push(H);if(v(G,A$.Aliased))W.push(N` as ${N.identifier(G.fieldAlias)}`)}else if(v(G,X0)){let H=G.table[t.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,j0)){let H=Object.entries(G._.selectedFields);if(H.length===1){let A=H[0][1],K=v(A,A$)?A.decoder:v(A,X0)?{mapFromDriverValue:(Q)=>A.mapFromDriverValue(Q)}:A.sql.decoder;if(K)G._.sql.decoder=K}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,e0)){let W=G[e0.Symbol.Name],H=G[e0.Symbol.Schema],A=G[e0.Symbol.OriginalName],K=W===A?void 0:J.alias;Z.push(N`${N.raw(J.joinType)} join ${H?N`${N.identifier(H)}.`:void 0}${N.identifier(A)}${K&&N` ${N.identifier(K)}`}${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($,t)&&$[t.Symbol.IsAlias])return N`${N`${N.identifier($[t.Symbol.Schema]??"")}.`.if($[t.Symbol.Schema])}${N.identifier($[t.Symbol.OriginalName])} ${N.identifier($[t.Symbol.Name])}`;return $}buildSelectQuery({withList:$,fields:Z,fieldsFlat:X,where:J,having:G,table:Y,joins:W,orderBy:H,groupBy:A,limit:K,offset:Q,distinct:O,setOperators:_}){let F=X??W6(Z);for(let J0 of F)if(v(J0.field,X0)&&M4(J0.field.table)!==(v(Y,j0)?Y._.alias:v(Y,i5)?Y[k0].name:v(Y,A$)?void 0:M4(Y))&&!((K0)=>W?.some(({alias:o$})=>o$===(K0[t.Symbol.IsAlias]?M4(K0):K0[t.Symbol.BaseName])))(J0.field.table)){let K0=M4(J0.field.table);throw Error(`Your "${J0.path.join("->")}" field references a column "${K0}"."${J0.field.name}", but the table "${K0}" is not part of the query! Did you forget to join it?`)}let M=!W||W.length===0,C=this.buildWithCTE($),m=O?N` distinct`:void 0,V$=this.buildSelection(F,{isSingleTable:M}),e=this.buildFromTable(Y),G$=this.buildJoins(W),C$=J?N` where ${J}`:void 0,d$=G?N` having ${G}`:void 0,k=[];if(A){for(let[J0,K0]of A.entries())if(k.push(K0),J0<A.length-1)k.push(N`, `)}let X$=k.length>0?N` group by ${N.join(k)}`:void 0,l=this.buildOrderBy(H),O$=this.buildLimit(K),v$=Q?N` offset ${Q}`:void 0,K$=N`${C}select${m} ${V$} from ${e}${G$}${C$}${X$}${d$}${l}${O$}${v$}`;if(_.length>0)return this.buildSetOperations(K$,_);return K$}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()} `,A=N`${J.getSQL()}`,K;if(Y&&Y.length>0){let F=[];for(let M of Y)if(v(M,b0))F.push(N.identifier(M.name));else if(v(M,A$)){for(let C=0;C<M.queryChunks.length;C++){let m=M.queryChunks[C];if(v(m,b0))M.queryChunks[C]=N.identifier(this.casing.getColumnCasing(m))}F.push(N`${M}`)}else F.push(N`${M}`);K=N` order by ${N.join(F,N`, `)}`}let Q=typeof G==="object"||typeof G==="number"&&G>=0?N` limit ${G}`:void 0,O=N.raw(`${Z} ${X?"all ":""}`),_=W?N` offset ${W}`:void 0;return N`${H}${O}${A}${K}${Q}${_}`}buildInsertQuery({table:$,values:Z,onConflict:X,returning:J,withList:G,select:Y}){let W=[],H=$[t.Symbol.Columns],A=Object.entries(H).filter(([M,C])=>!C.shouldDisableInsert()),K=A.map(([,M])=>N.identifier(this.casing.getColumnCasing(M)));if(Y){let M=Z;if(v(M,A$))W.push(M);else W.push(M.getSQL())}else{let M=Z;W.push(N.raw("values "));for(let[C,m]of M.entries()){let V$=[];for(let[e,G$]of A){let C$=m[e];if(C$===void 0||v(C$,y8)&&C$.value===void 0){let d$;if(G$.default!==null&&G$.default!==void 0)d$=v(G$.default,A$)?G$.default:N.param(G$.default,G$);else if(G$.defaultFn!==void 0){let k=G$.defaultFn();d$=v(k,A$)?k:N.param(k,G$)}else if(!G$.default&&G$.onUpdateFn!==void 0){let k=G$.onUpdateFn();d$=v(k,A$)?k:N.param(k,G$)}else d$=N`null`;V$.push(d$)}else V$.push(C$)}if(W.push(V$),C<M.length-1)W.push(N`, `)}}let Q=this.buildWithCTE(G),O=N.join(W),_=J?N` returning ${this.buildSelection(J,{isSingleTable:!0})}`:void 0,F=X?.length?N.join(X):void 0;return N`${Q}insert into ${$} ${K} ${O}${F}${_}`}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:A}){let K=[],Q,O,_=[],F,M=[];if(Y===!0)K=Object.entries(G.columns).map(([V$,e])=>({dbKey:e.name,tsKey:V$,field:N9(e,W),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let m=Object.fromEntries(Object.entries(G.columns).map(([k,X$])=>[k,N9(X$,W)]));if(Y.where){let k=typeof Y.where==="function"?Y.where(m,Vy()):Y.where;F=k&&cG(k,W)}let V$=[],e=[];if(Y.columns){let k=!1;for(let[X$,l]of Object.entries(Y.columns)){if(l===void 0)continue;if(X$ in G.columns){if(!k&&l===!0)k=!0;e.push(X$)}}if(e.length>0)e=k?e.filter((X$)=>Y.columns?.[X$]===!0):Object.keys(G.columns).filter((X$)=>!e.includes(X$))}else e=Object.keys(G.columns);for(let k of e){let X$=G.columns[k];V$.push({tsKey:k,value:X$})}let G$=[];if(Y.with)G$=Object.entries(Y.with).filter((k)=>!!k[1]).map(([k,X$])=>({tsKey:k,queryConfig:X$,relation:G.relations[k]}));let C$;if(Y.extras){C$=typeof Y.extras==="function"?Y.extras(m,{sql:N}):Y.extras;for(let[k,X$]of Object.entries(C$))V$.push({tsKey:k,value:SN(X$,W)})}for(let{tsKey:k,value:X$}of V$)K.push({dbKey:v(X$,A$.Aliased)?X$.fieldAlias:G.columns[k].name,tsKey:k,field:v(X$,X0)?N9(X$,W):X$,relationTableTsKey:void 0,isJson:!1,selection:[]});let d$=typeof Y.orderBy==="function"?Y.orderBy(m,Qy()):Y.orderBy??[];if(!Array.isArray(d$))d$=[d$];_=d$.map((k)=>{if(v(k,X0))return N9(k,W);return cG(k,W)}),Q=Y.limit,O=Y.offset;for(let{tsKey:k,queryConfig:X$,relation:l}of G$){let O$=By(Z,X,l),v$=l5(l.referencedTable),K$=X[v$],J0=`${W}_${k}`,K0=P$(...O$.fields.map(($$,T0)=>p(N9(O$.references[T0],J0),N9($$,W)))),o$=this.buildRelationalQuery({fullSchema:$,schema:Z,tableNamesMap:X,table:$[K$],tableConfig:Z[K$],queryConfig:v(l,R4)?X$===!0?{limit:1}:{...X$,limit:1}:X$,tableAlias:J0,joinOn:K0,nestedQueryRelation:l}),qZ=N`(${o$.sql})`.as(k);K.push({dbKey:k,tsKey:k,field:qZ,relationTableTsKey:K$,isJson:!0,selection:o$.selection})}}if(K.length===0)throw new cX({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 C;if(F=P$(A,F),H){let m=N`json_array(${N.join(K.map(({field:G$})=>v(G$,b0)?N.identifier(this.casing.getColumnCasing(G$)):v(G$,A$.Aliased)?G$.sql:G$),N`, `)})`;if(v(H,mG))m=N`coalesce(json_group_array(${m}), json_array())`;let V$=[{dbKey:"data",tsKey:"data",field:m.as("data"),isJson:!0,relationTableTsKey:G.tsName,selection:K}];if(Q!==void 0||O!==void 0||_.length>0)C=this.buildSelectQuery({table:sA(J,W),fields:{},fieldsFlat:[{path:[],field:N.raw("*")}],where:F,limit:Q,offset:O,orderBy:_,setOperators:[]}),F=void 0,Q=void 0,O=void 0,_=void 0;else C=sA(J,W);C=this.buildSelectQuery({table:v(C,e0)?C:new j0(C,{},W),fields:{},fieldsFlat:V$.map(({field:G$})=>({path:[],field:v(G$,X0)?N9(G$,W):G$})),joins:M,where:F,limit:Q,offset:O,orderBy:_,setOperators:[]})}else C=this.buildSelectQuery({table:sA(J,W),fields:{},fieldsFlat:K.map(({field:m})=>({path:[],field:v(m,X0)?N9(m,W):m})),joins:M,where:F,limit:Q,offset:O,orderBy:_,setOperators:[]});return{tableTsKey:G.tsName,sql:C,selection:K}}}class bN extends pX{static[L]="SQLiteSyncDialect";migrate($,Z,X){let J=X===void 0?"__drizzle_migrations":typeof X==="string"?"__drizzle_migrations":X.migrationsTable??"__drizzle_migrations",G=N`
34
+ CREATE TABLE IF NOT EXISTS ${N.identifier(J)} (
35
+ id SERIAL PRIMARY KEY,
36
+ hash text NOT NULL,
37
+ created_at numeric
38
+ )
39
+ `;Z.run(G);let W=Z.values(N`SELECT id, hash, created_at FROM ${N.identifier(J)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;Z.run(N`BEGIN`);try{for(let H of $)if(!W||Number(W[2])<H.folderMillis){for(let A of H.sql)Z.run(N.raw(A));Z.run(N`INSERT INTO ${N.identifier(J)} ("hash", "created_at") VALUES(${H.hash}, ${H.folderMillis})`)}Z.run(N`COMMIT`)}catch(H){throw Z.run(N`ROLLBACK`),H}}}class hN extends pX{static[L]="SQLiteAsyncDialect";async migrate($,Z,X){let J=X===void 0?"__drizzle_migrations":typeof X==="string"?"__drizzle_migrations":X.migrationsTable??"__drizzle_migrations",G=N`
40
+ CREATE TABLE IF NOT EXISTS ${N.identifier(J)} (
41
+ id SERIAL PRIMARY KEY,
42
+ hash text NOT NULL,
43
+ created_at numeric
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 A of $)if(!W||Number(W[2])<A.folderMillis){for(let K of A.sql)await H.run(N.raw(K));await H.run(N`INSERT INTO ${N.identifier(J)} ("hash", "created_at") VALUES(${A.hash}, ${A.folderMillis})`)}})}}class mN{static[L]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class j6{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($,j0))X=Object.fromEntries(Object.keys($._.selectedFields).map((J)=>[J,$[J]]));else if(v($,i5))X=$[k0].selectedFields;else if(v($,A$))X={};else X=iv($);return new fN({table:$,fields:X,isPartialSelect:Z,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class Xg extends mN{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=bG($),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let H of S6($))this.usedTables.add(H)}getUsedTables(){return[...this.usedTables]}createJoin($){return(Z,X)=>{let J=this.tableName,G=bG(Z);for(let Y of S6(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,A$)){let Y=v(Z,j0)?Z._.selectedFields:v(Z,Y6)?Z[k0].selectedFields:Z[t.Symbol.Columns];this.config.fields[G]=Y}}if(typeof X==="function")X=X(new Proxy(this.config.fields,new t0({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(j5$()):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 t0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=$,this}having($){if(typeof $==="function")$=$(new Proxy(this.config.fields,new t0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=$,this}groupBy(...$){if(typeof $[0]==="function"){let Z=$[0](new Proxy(this.config.fields,new t0({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 t0({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(...S6(this.config.table)),this.config.joins)for(let X of this.config.joins)Z.push(...S6(X.table));return new Proxy(new j0(this.getSQL(),this.config.fields,$,!1,[...new Set(Z)]),new t0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new t0({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class fN extends Xg{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=W6(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()}}lv(fN,[J8]);function ZU($,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 j5$=()=>({union:k5$,unionAll:I5$,intersect:v5$,except:y5$}),k5$=ZU("union",!1),I5$=ZU("union",!0),v5$=ZU("intersect",!1),y5$=ZU("except",!1);class pG{static[L]="SQLiteQueryBuilder";dialect;dialectConfig;constructor($){this.dialect=v($,pX)?$:void 0,this.dialectConfig=v($,pX)?void 0:$}$with=($,Z)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(X);return new Proxy(new IG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new t0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...$){let Z=this;function X(G){return new j6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$})}function J(G){return new j6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$,distinct:!0})}return{select:X,selectDistinct:J}}select($){return new j6({fields:$??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct($){return new j6({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new bN(this.dialectConfig);return this.dialect}}class XU{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[t.Symbol.Columns];for(let Y of Object.keys(X)){let W=X[Y];J[Y]=v(W,A$)?W:new y8(W,G[Y])}return J});return new cN(this.table,Z,this.session,this.dialect,this.withList)}select($){let Z=typeof $==="function"?$(new pG):$;if(!v(Z,A$)&&!gG(this.table[uA],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 cN(this.table,Z,this.session,this.dialect,this.withList,!0)}}class cN extends J8{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[e0.Symbol.Columns]){return this.config.returning=W6($),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,nA(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:S6(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 JU{constructor($,Z,X,J){this.table=$,this.session=Z,this.dialect=X,this.withList=J}static[L]="SQLiteUpdateBuilder";set($){return new Jg(this.table,nA(this.table,$),this.session,this.dialect,this.withList)}}class Jg extends J8{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=bG(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,e0)?Z[t.Symbol.Columns]:v(Z,j0)?Z._.selectedFields:v(Z,i5)?Z[k0].selectedFields:void 0:void 0;X=X(new Proxy(this.config.table[t.Symbol.Columns],new t0({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),G&&new Proxy(G,new t0({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[t.Symbol.Columns],new t0({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[e0.Symbol.Columns]){return this.config.returning=W6($),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:S6(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 dG extends A${constructor($){super(dG.buildEmbeddedCount($.source,$.filters).queryChunks);this.params=$,this.session=$.session,this.sql=dG.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 dN{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 pN(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many"):new GU(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many")}findFirst($){return this.mode==="sync"?new pN(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first"):new GU(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first")}}class GU extends J8{constructor($,Z,X,J,G,Y,W,H,A){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=A}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)=>iA(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 pN extends GU{static[L]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class dX extends J8{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 uG{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 dN($,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 pG(X.dialect));return new Proxy(new IG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new t0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count($,Z){return new dG({source:$,filters:Z,session:this.session})}with(...$){let Z=this;function X(H){return new j6({fields:H??void 0,session:Z.session,dialect:Z.dialect,withList:$})}function J(H){return new j6({fields:H??void 0,session:Z.session,dialect:Z.dialect,withList:$,distinct:!0})}function G(H){return new JU(H,Z.session,Z.dialect,$)}function Y(H){return new XU(H,Z.session,Z.dialect,$)}function W(H){return new $U(H,Z.session,Z.dialect,$)}return{select:X,selectDistinct:J,update:G,insert:Y,delete:W}}select($){return new j6({fields:$??void 0,session:this.session,dialect:this.dialect})}selectDistinct($){return new j6({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update($){return new JU($,this.session,this.dialect)}$cache;insert($){return new XU($,this.session,this.dialect)}delete($){return new $U($,this.session,this.dialect)}run($){let Z=typeof $==="string"?N.raw($):$.getSQL();if(this.resultKind==="async")return new dX(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 dX(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 dX(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 dX(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 Gg{static[L]="Cache"}class oG extends Gg{strategy(){return"all"}static[L]="NoopCache";async get($){return}async put($,Z,X,J){}async onMutate($){}}async function uN($,Z){let X=`${$}-${JSON.stringify(Z)}`,G=new TextEncoder().encode(X),Y=await crypto.subtle.digest("SHA-256",G);return[...new Uint8Array(Y)].map((A)=>A.toString(16).padStart(2,"0")).join("")}class Yg extends J8{constructor($){super();this.resultCb=$}static[L]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class oN{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,oG)||this.queryMetadata===void 0)try{return await X()}catch(J){throw new w1($,Z,J)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await X()}catch(J){throw new w1($,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 w1($,Z,J)}if(!this.cacheConfig)try{return await X()}catch(J){throw new w1($,Z,J)}if(this.queryMetadata.type==="select"){let J=await this.cache.get(this.cacheConfig.tag??await uN($,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 w1($,Z,Y)}return await this.cache.put(this.cacheConfig.tag??await uN($,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 w1($,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 Yg(()=>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 nN{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 cX({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 rN extends uG{constructor($,Z,X,J,G=0){super($,Z,X,J);this.schema=J,this.nestedIndex=G}static[L]="SQLiteTransaction";rollback(){throw new gN}}class WU extends nN{constructor($,Z,X,J,G){super(Z);this.client=$,this.schema=X,this.options=J,this.tx=G,this.logger=J.logger??new LN,this.cache=J.cache??new oG}static[L]="LibSQLSession";logger;cache;prepareQuery($,Z,X,J,G,Y,W){return new Hg(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 WU(this.client,this.dialect,this.schema,this.options,X),G=new lN("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 lN extends rN{static[L]="LibSQLTransaction";async transaction($){let Z=`sp${this.nestedIndex}`,X=new lN("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 Hg extends oN{constructor($,Z,X,J,G,Y,W,H,A,K,Q){super("async",A,Z,J,G,Y);this.client=$,this.logger=X,this.fields=W,this.tx=H,this._isResponseInArrayMode=K,this.customResultMapper=Q,this.customResultMapper=Q,this.fields=W}static[L]="LibSQLPreparedQuery";async run($){let Z=yG(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 A=yG(J.params,$??{});return X.logQuery(J.sql,A),await this.queryWithCache(J.sql,A,async()=>{let K={sql:J.sql,args:A};return(G?G.execute(K):Y.execute(K)).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)=>Wg(X));if(this.customResultMapper)return this.customResultMapper($,YU);return $.map((X)=>{return wN(this.fields,Array.prototype.slice.call(X).map((J)=>YU(J)),this.joinsNotNullableMap)})}async get($){let{fields:Z,logger:X,query:J,tx:G,client:Y,customResultMapper:W}=this;if(!Z&&!W){let A=yG(J.params,$??{});return X.logQuery(J.sql,A),await this.queryWithCache(J.sql,A,async()=>{let K={sql:J.sql,args:A};return(G?G.execute(K):Y.execute(K)).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 Wg(X);if(!X)return;if(this.customResultMapper)return this.customResultMapper($,YU);return wN(this.fields,Array.prototype.slice.call(X).map((J)=>YU(J)),this.joinsNotNullableMap)}async values($){let Z=yG(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 Wg($){return Object.keys($).reduce((Z,X)=>{if(Object.prototype.propertyIsEnumerable.call($,X))Z[X]=$[X];return Z},{})}function YU($){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 Dg extends uG{static[L]="LibSQLDatabase";async batch($){return this.session.batch($)}}function uX($,Z={}){let X=new hN({casing:Z.casing}),J;if(Z.logger===!0)J=new RN;else if(Z.logger!==!1)J=Z.logger;let G;if(Z.schema){let H=Oy(Z.schema,Ny);G={fullSchema:Z.schema,schema:H.tables,tableNamesMap:H.tableNamesMap}}let Y=new WU($,X,G,{logger:J,cache:Z.cache},void 0),W=new Dg("async",X,Y,G);if(W.$client=$,W.$cache=Z.cache,W.$cache)W.$cache.invalidate=Z.cache?.onMutate;return W}function HU(...$){if(typeof $[0]==="string"){let Z=iN({url:$[0]});return uX(Z,$[1])}if(sv($[0])){let{connection:Z,client:X,...J}=$[0];if(X)return uX(X,J);let G=typeof Z==="string"?iN({url:Z}):iN(Z);return uX(G,J)}return uX($[0],$[1])}(($)=>{function Z(X){return uX({},X)}$.mock=Z})(HU||(HU={}));function Ug($){if($.authToken!==void 0)return $.authToken;if($.authTokenEnv===void 0)return;return process.env[$.authTokenEnv]}function k6($){let{url:Z,schema:X}=$,J=Ug($),G=J?Ag({url:Z,authToken:J}):Ag({url:Z});return{db:HU(G,{schema:X}),client:G,url:Z}}async function I6($,Z){if(!Z.startsWith("file:"))return;await $.execute("PRAGMA journal_mode = WAL"),await $.execute("PRAGMA busy_timeout = 5000")}import g5$ from"crypto";import sN from"fs";function Kg($){let Z=$.migrationsFolder,X=[],J=`${Z}/meta/_journal.json`;if(!sN.existsSync(J))throw Error("Can't find meta/_journal.json file");let G=sN.readFileSync(`${Z}/meta/_journal.json`).toString(),Y=JSON.parse(G);for(let W of Y.entries){let H=`${Z}/${W.tag}.sql`;try{let A=sN.readFileSync(`${Z}/${W.tag}.sql`).toString(),K=A.split("--> statement-breakpoint").map((Q)=>{return Q});X.push({sql:K,bps:W.breakpoints,folderMillis:W.when,hash:g5$.createHash("sha256").update(A).digest("hex")})}catch{throw Error(`No file ${H} found in ${Z} folder`)}}return X}async function Vg($,Z){let X=Kg(Z),J=Z.migrationsTable??"__drizzle_migrations",G=N`
46
+ CREATE TABLE IF NOT EXISTS ${N.identifier(J)} (
47
+ id SERIAL PRIMARY KEY,
48
+ hash text NOT NULL,
49
+ created_at numeric
50
+ )
51
+ `;await $.session.run(G);let W=(await $.values(N`SELECT id, hash, created_at FROM ${N.identifier(J)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0,H=[];for(let A of X)if(!W||Number(W[2])<A.folderMillis){for(let K of A.sql)H.push($.run(N.raw(K)));H.push($.run(N`INSERT INTO ${N.identifier(J)} ("hash", "created_at") VALUES(${A.hash}, ${A.folderMillis})`))}await $.session.migrate(H)}async function b5$($){let{label:Z,config:X,schema:J,migrationsFolder:G,afterMigrate:Y}=$,W=`${Z}-migrate`,H=$.logger?.child(W)??_9.getInstance().child(W),{db:A,client:K,url:Q}=k6({url:X.url,schema:J,authToken:X.authToken,authTokenEnv:$.authTokenEnv});H.debug(`Running ${Z} migrations...`);try{await I6(K,Q),await Vg(A,{migrationsFolder:G}),await Y?.(K),H.debug(`${Z} migrations completed successfully`)}catch(O){throw H.error(`${Z} migration failed:`,O),O}finally{K.close()}}function h5$($,Z){return $.includes("/dist/")?new URL(`./migrations/${Z}`,$).pathname:new URL("../drizzle",$).pathname}var h=FZ("entities",{id:Z$("id").notNull(),entityType:Z$("entityType").notNull(),content:Z$("content").notNull(),contentHash:Z$("contentHash").notNull(),visibility:Z$("visibility",{enum:["public","shared","restricted"]}).notNull().default("public"),metadata:Z$("metadata",{mode:"json"}).$type().notNull().default(N`'{}'`),created:l$("created").notNull().$defaultFn(()=>Date.now()),updated:l$("updated").notNull().$defaultFn(()=>Date.now())},($)=>{return{pk:L4({columns:[$.id,$.entityType]}),visibilityCheck:ay("entities_visibility_check",N`${$.visibility} IN ('public', 'shared', 'restricted')`)}});var ZZ=FZ("projection_dirty_inputs",{generation:l$("generation").primaryKey({autoIncrement:!0}),sourceType:Z$("source_type").notNull(),sourceId:Z$("source_id").notNull(),revision:Z$("revision").notNull(),operation:Z$("operation",{enum:["upsert","delete"]}).notNull(),markedAt:l$("marked_at").notNull()},($)=>({generationIdx:$Z("projection_dirty_inputs_generation_idx").on($.generation)})),v0=FZ("projection_waves",{id:Z$("id").primaryKey(),cutoffGeneration:l$("cutoff_generation").notNull(),graphFingerprint:Z$("graph_fingerprint").notNull(),status:Z$("status",{enum:["running","completed","failed"]}).notNull(),startedAt:l$("started_at").notNull(),completedAt:l$("completed_at")}),g8=FZ("projection_incidents",{waveId:Z$("wave_id").primaryKey().references(()=>v0.id,{onDelete:"cascade"}),ruleId:Z$("rule_id").notNull(),jobId:Z$("job_id"),failureReason:Z$("failure_reason").notNull(),recoveryGeneration:l$("recovery_generation").notNull(),createdAt:l$("created_at").notNull(),resolvedAt:l$("resolved_at")},($)=>({unresolvedIdx:$Z("projection_incidents_unresolved_idx").on($.resolvedAt,$.createdAt)})),C1=FZ("projection_wave_inputs",{waveId:Z$("wave_id").notNull().references(()=>v0.id,{onDelete:"cascade"}),sourceType:Z$("source_type").notNull(),sourceId:Z$("source_id").notNull(),revision:Z$("revision").notNull(),operation:Z$("operation",{enum:["upsert","delete"]}).notNull(),generation:l$("generation").notNull()},($)=>({pk:L4({columns:[$.waveId,$.sourceType,$.sourceId]}),generationIdx:$Z("projection_wave_inputs_generation_idx").on($.waveId,$.generation)})),i$=FZ("projection_wave_rules",{waveId:Z$("wave_id").notNull().references(()=>v0.id,{onDelete:"cascade"}),ruleId:Z$("rule_id").notNull(),targetType:Z$("target_type").notNull(),level:l$("level").notNull(),jobId:Z$("job_id"),status:Z$("status",{enum:["pending","queued","completed","failed"]}).notNull(),inputFingerprint:Z$("input_fingerprint"),changedTargets:Z$("changed_targets",{mode:"json"}).$type().notNull().default([])},($)=>({pk:L4({columns:[$.waveId,$.ruleId]}),statusIdx:$Z("projection_wave_rules_status_idx").on($.waveId,$.status,$.level)})),H6=FZ("projection_rule_memos",{ruleId:Z$("rule_id").notNull(),ruleVersion:Z$("rule_version").notNull(),inputFingerprint:Z$("input_fingerprint").notNull(),writeIntents:Z$("write_intents",{mode:"json"}).$type().notNull(),createdAt:l$("created_at").notNull()},($)=>({pk:L4({columns:[$.ruleId,$.ruleVersion,$.inputFingerprint]})}));function aN($){return k6({url:$.url,schema:{entities:h,projectionDirtyInputs:ZZ,projectionWaves:v0,projectionIncidents:g8,projectionWaveInputs:C1,projectionWaveRules:i$,projectionRuleMemos:H6},authToken:$.authToken,authTokenEnv:"DATABASE_AUTH_TOKEN"})}async function Qg($){await $.execute(`
52
+ CREATE VIRTUAL TABLE IF NOT EXISTS entity_fts USING fts5(
53
+ entity_id UNINDEXED,
54
+ entity_type UNINDEXED,
55
+ content
56
+ )
57
+ `),await $.execute("UPDATE entity_fts SET entity_type = 'note' WHERE entity_type = 'base'")}var Og=aA({dataType(){return"F32_BLOB(1536)"},toDriver($){return Buffer.from($.buffer)},fromDriver($){return new Float32Array($.buffer,$.byteOffset,$.byteLength/4)}});var h0=FZ("embeddings",{entityId:Z$("entity_id").notNull(),entityType:Z$("entity_type").notNull(),embedding:Og("embedding").notNull(),contentHash:Z$("content_hash").notNull()},($)=>{return{pk:L4({columns:[$.entityId,$.entityType]})}});function tN($){return k6({url:$.url,schema:{embeddings:h0},authToken:$.authToken,authTokenEnv:"DATABASE_AUTH_TOKEN"})}async function eN($,Z){await $.execute(`
58
+ CREATE TABLE IF NOT EXISTS embeddings (
59
+ entity_id TEXT NOT NULL,
60
+ entity_type TEXT NOT NULL,
61
+ embedding F32_BLOB(${Z}) NOT NULL,
62
+ content_hash TEXT NOT NULL,
63
+ PRIMARY KEY(entity_id, entity_type)
64
+ )
65
+ `),await $.execute("UPDATE embeddings SET entity_type = 'note' WHERE entity_type = 'base'")}async function $_($){await $.execute(`
66
+ CREATE INDEX IF NOT EXISTS embeddings_embedding_idx
67
+ ON embeddings(libsql_vector_idx(embedding))
68
+ `)}async function Z_($,Z){await $.execute(`ATTACH DATABASE '${Z}' AS emb`)}function X_($){return $.startsWith("file:")?$.slice(5):$}function D6($){return"restricted"}var m5$=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 nG{logger;embeddingService;entityService;messageBus;static createFresh($,Z,X){return new nG($,Z,X)}constructor($,Z,X){if(this.logger=_9.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:D6("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:s5.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=m5$.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 _g($,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");f5$($,Z.origin);let X=$.map((A)=>Bg(A.embedding)),J=Z.origin?Bg(Z.origin.embedding):c5$(X),G=d5$(X),Y=Z.origin?{kind:"entity",entityId:Z.origin.entityId,entityType:Z.origin.entityType}:{kind:"centroid"},W=$.map((A,K)=>({entityId:A.entityId,entityType:A.entityType,coordinates:G[K]??[0,0],distanceToOrigin:Pg(X[K]??new Float64Array,J)})),H=W.map((A)=>A.distanceToOrigin);return{origin:Y,points:W,neighbors:p5$($,X,Z.maxNeighborDistance),distanceRange:{min:H.length>0?Math.min(...H):0,max:H.length>0?Math.max(...H):0}}}function f5$($,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 Bg($){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 c5$($){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 Pg($,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,A=Z[W]??0;X+=H*A,J+=H*H,G+=A*A}if(J<=0.000000000001||G<=0.000000000001)return 1;return 1-Math.max(-1,Math.min(1,X/Math.sqrt(J*G)))}function p5$($,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],A=Z[G],K=Z[Y];if(!W||!H||!A||!K)continue;let Q=Pg(A,K);if(Q<=X)J.push({source:{entityId:W.entityId,entityType:W.entityType},target:{entityId:H.entityId,entityType:H.entityType},distance:Q})}return J}function d5$($){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 A=0;A<X;A+=1)J[A]=(J[A]??0)+(H[A]??0)/Z;let G=Array.from({length:Z},()=>Array(Z).fill(0));for(let H=0;H<Z;H+=1)for(let A=H;A<Z;A+=1){let K=0,Q=$[H],O=$[A];if(!Q||!O)continue;for(let M=0;M<X;M+=1)K+=((Q[M]??0)-(J[M]??0))*((O[M]??0)-(J[M]??0));let _=G[H],F=G[A];if(_)_[A]=K;if(F)F[H]=K}let Y=[],W=[];for(let H=0;H<2;H+=1){let A=u5$(G,Y,H);if(!A){Y.push(Array(Z).fill(0)),W.push(0);continue}Y.push(A),W.push(Math.max(0,o5$(G,A)))}return Array.from({length:Z},(H,A)=>[(Y[0]?.[A]??0)*Math.sqrt(W[0]??0),(Y[1]?.[A]??0)*Math.sqrt(W[1]??0)])}function u5$($,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=Ng(G,Z),J_(G)<=0.000000000001)return null;for(let W=0;W<100;W+=1){let H=Ng(Fg($,G),Z),A=J_(H);if(A<=0.000000000001)return null;G=H.map((K)=>K/A)}let Y=G.reduce((W,H,A)=>Math.abs(H)>Math.abs(G[W]??0)?A:W,0);if((G[Y]??0)<0)G=G.map((W)=>-W);return G}function Fg($,Z){return $.map((X)=>X.reduce((J,G,Y)=>J+G*(Z[Y]??0),0))}function Ng($,Z){let X=[...$];for(let G of Z){let Y=X.reduce((W,H,A)=>W+H*(G[A]??0),0);for(let W=0;W<X.length;W+=1)X[W]=(X[W]??0)-Y*(G[W]??0)}let J=J_(X);return J<=0.000000000001?X:X.map((G)=>G/J)}function J_($){return Math.sqrt($.reduce((Z,X)=>Z+X*X,0))}function o5$($,Z){let X=Fg($,Z);return Z.reduce((J,G,Y)=>J+G*(X[Y]??0),0)}var n5$=12000,r5$=0.82;function zg($,Z,X=n5$){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 l5$=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()}),i5$=D.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},D.record(D.string(),D.unknown()));class DU{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=l5$.parse(Z??{}),{limit:J,offset:G,types:Y,excludeTypes:W,weight:H,visibilityScope:A,includeUngenerated:K,minScore:Q}=X,O=H&&Object.keys(H).length>0,_=zg($,this.logger);if(this.logger.debug(`Searching entities with query (${_.length} chars)`),!this.embeddingsEnabled)return this.searchLexically(_,{limit:J,offset:G,types:Y,excludeTypes:W,weight:H,visibilityScope:A,includeUngenerated:K,minScore:Q});let{embedding:F}=await this.embeddingService.generateEmbedding(_),M=JSON.stringify(Array.from(F)),C=this.buildWeightMultiplier(O?H:void 0),m=[];if(Y.length>0)m.push(N`${h.entityType} IN (${N.join(Y.map((V$)=>N`${V$}`),N`, `)})`);if(W.length>0)m.push(N`${h.entityType} NOT IN (${N.join(W.map((V$)=>N`${V$}`),N`, `)})`);return this.searchWithAttachedDb(M,C,[...m,...this.buildVisibilityConditions(A),...this.buildGenerationStatusConditions(K)],J,G,_,Q)}async searchLexically($,Z){if(!$)return[];let X='"'+$.replace(/"/g,'""')+'"',J=[N`entity_fts MATCH ${X}`];if(Z.types.length>0)J.push(X8(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(P$(...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[X8(h.visibility,T1(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=DU.FTS_ALPHA,A=N`(1.0 - vector_distance_cos(emb_e.embedding, vector32(${$})) / 2.0) * (${Z})`,K=N`vector_distance_cos(emb_e.embedding, vector32(${$}))`,Q='"'+Y.replace(/"/g,'""')+'"',O=N`CASE WHEN EXISTS (
69
+ SELECT 1 FROM entity_fts WHERE entity_fts MATCH ${Q}
70
+ AND entity_id = ${h.id} AND entity_type = ${h.entityType}
71
+ ) THEN 1.0 ELSE 0.0 END`,_=N`(${1-H} * ${A}) + (${H} * ${O})`,F=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:K,weighted_score:_}).from(h).innerJoin(N`emb.embeddings AS emb_e`,N`${h.id} = emb_e.entity_id AND ${h.entityType} = emb_e.entity_type`).where(P$(N`${K} < ${r5$}`,...W!==void 0?[N`${_} >= ${W}`]:[],...X)).orderBy(_Z(_)).limit(J).offset(G);return this.mapSearchResults(F,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 A=Z?.has(H.entityType)??!0,K=H.entityId===G?.entityId&&H.entityType===G.entityType;return A&&!K});return _g(W,{...Y&&{origin:Y},...$.maxNeighborDistance!==void 0&&{maxNeighborDistance:$.maxNeighborDistance}})}async readEmbeddings($,Z){let X=this.buildVisibilityConditions(Z);if($&&$.length>0)X.push(X8(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?P$(...X):void 0).orderBy(I0(h.entityType),I0(h.id))}async searchWithDistances($){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let Z=zg($,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=i5$.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),A=$.slice(W,H);if(W>0)A="..."+A;if(H<$.length)A=A+"...";return A}return $.slice(0,200)+($.length>200?"...":"")}}class G_{entityRegistry;logger;constructor($,Z){this.entityRegistry=$,this.logger=Z.child("EntitySerializer")}serializeEntity($){let Z=this.entityRegistry.getAdapter($.entityType);return r5(Z.toMarkdown($),$.visibility)}deserializeEntity($,Z){let X=this.entityRegistry.getAdapter(Z),J;try{J=X.fromMarkdown($)}catch(K){throw mA(Z,K)??K}let{metadata:G,visibility:Y,...W}=J,H=bA($),A=this.stripPolicyMetadata(G??{});return{...W,...H&&{visibility:H},metadata:A}}async convertToEntity($){try{return this.reconstructEntity($)}catch(Z){let X=e$(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=e$(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=r5(X.toMarkdown($),$.visibility),G=this.stripPolicyMetadata(X.extractMetadata($));return{markdown:J,metadata:G}}stripPolicyMetadata($){let{visibility:Z,...X}=$;return X}}var s5$=D.record(D.string(),D.unknown());function Y_($){return{id:$.id,entityType:$.entityType,content:$.content,contentHash:$.contentHash,visibility:fA($.visibility),created:$.created,updated:$.updated,metadata:s5$.parse($.metadata)}}var a5$=D.object({field:D.string(),direction:D.enum(["asc","desc"]),nullsFirst:D.boolean().optional()}),t5$=D.object({limit:D.number().int().positive().optional(),offset:D.number().int().min(0).optional().default(0),sortFields:D.array(a5$).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 W_{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(X8(h.visibility,T1(J)));let Y=await this.db.select().from(h).where(P$(...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 Y_(W)}async listEntities($,Z={},X){let J=t5$.parse(Z),{limit:G,offset:Y,sortFields:W,filter:H,publishedOnly:A}=J;this.logger.debug(`Listing entities of type ${$} (limit: ${G}, offset: ${Y}, filter: ${JSON.stringify(H)}, publishedOnly: ${A})`);let K=this.buildWhereConditions($,A,H?.metadata,H?.visibilityScope,X),Q=this.buildOrderByClauses(W),O=this.db.select().from(h).where(P$(...K)).orderBy(...Q).offset(Y),_=G!==void 0?await O.limit(G):await O,F=await this.serializer.convertToEntities(_.map(Y_),$);return this.logger.debug(`Listed ${F.length} entities of type ${$}`),F}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((A)=>N`${A}`),N`, `)})`);else Y.push(N`(${H} = 'published' OR ${H} = 'active' OR ${H} IS NULL)`)}let W=J??"public";if(W!=="restricted")Y.push(X8(h.visibility,T1(W)));if(X){for(let[H,A]of Object.entries(X))if(A!==void 0){let K=`$.${H}`;Y.push(N`json_extract(${h.metadata}, ${K}) = ${A}`)}}return Y}buildOrderByClauses($){if(!$||$.length===0)return[_Z(h.updated)];return $.flatMap(({field:Z,direction:X,nullsFirst:J})=>{let G=X==="desc"?_Z:I0;if(Z==="id")return[G(h.id)];if(Z==="created"){let W=h.created;if(J)return[I0(mX(W)),G(W)];return[G(W)]}if(Z==="updated"){let W=h.updated;if(J)return[I0(mX(W)),G(W)];return[G(W)]}let Y=N`json_extract(${h.metadata}, '$.' || ${Z})`;if(J)return[I0(mX(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(P$(...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(X8(h.visibility,T1(Z)));let J=this.db.select({entityType:h.entityType,count:N`COUNT(*)`.as("count")}).from(h),G=await(X.length>0?J.where(P$(...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(P$(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(h0).where(P$(p(h0.entityType,$),p(h0.entityId,Z))),await this.db.run(N`DELETE FROM entity_fts WHERE entity_id = ${Z} AND entity_type = ${$}`),await this.db.delete(h).where(P$(p(h.entityType,$),p(h.id,Z))),this.logger.debug(`Deleted entity of type ${$} with ID ${Z}`),!0}}import{webcrypto as Mg}from"crypto";var Tg="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var e5$=128,q4,oX;function $7$($){if($<0)throw RangeError("Wrong ID size");try{if(!q4||q4.length<$)q4=Buffer.allocUnsafe($*e5$),Mg.getRandomValues(q4),oX=0;else if(oX+$>q4.length)Mg.getRandomValues(q4),oX=0}catch(Z){throw q4=void 0,Z}oX+=$}function H_($=21){$7$($|=0);let Z="";for(let X=oX-$;X<oX;X++)Z+=Tg[q4[X]&63];return Z}function LZ($=12){return H_($)}function Uz$($){return`${$}_${H_(12)}`}var Z7$=D.custom(($)=>typeof $==="object"&&$!==null&&!Array.isArray($));function A_($){if(Array.isArray($))return $.map((X)=>X===void 0?null:A_(X));let Z=Z7$.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,A_(J)]));return $}function U_($){return JSON.stringify(A_($))}function D_($){return E4(U_($))}var X7$=D.object({id:D.string().min(1),entityType:D.string().min(1),contentHash:D.string().min(1)});function J7$($){try{let Z=X7$.parse(JSON.parse($.data));return{entityId:Z.id,entityType:Z.entityType,contentHash:Z.contentHash}}catch{return null}}function wg($){return`${$.entityType}:${$.entityId}:${$.contentHash}`}function G7$($){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 K_ extends Error{}class V_{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??LZ(),created:Z.created??J,updated:Z.updated??J,contentHash:E4(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:A}=this.entitySerializer.prepareEntityForStorage(Y,Y.entityType),K=E4(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:D_({contentHash:K,metadata:A,visibility:Y.visibility}),operation:"upsert",markedAt:Date.now()},async(O)=>{await O.insert(h).values({id:Q,entityType:Y.entityType,content:H,contentHash:K,visibility:Y.visibility,metadata:A,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(s5.created,Y.entityType,Q,{...Y,id:Q},void 0,X?.eventContext),this.enqueueEmbeddingJob({entityId:Q,entityType:Y.entityType,contentHash:K,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:E4(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),A=E4(W),Q=(await this.db.select({contentHash:h.contentHash,visibility:h.visibility,metadata:h.metadata}).from(h).where(P$(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===A&&Q.visibility===G.visibility&&U_(Q.metadata)===U_(H)){if(this.logger.debug(`Skipping no-op update for ${G.entityType}:${G.id}`),X?.eventContext)await this.emitEntityEvent(s5.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:D_({contentHash:A,metadata:H,visibility:G.visibility}),operation:"upsert",markedAt:Date.now()},async(O)=>{let _=await O.update(h).set({content:W,contentHash:A,visibility:G.visibility,metadata:H,updated:new Date(G.updated).getTime()}).where(P$(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(_.rowsAffected)===0)throw new K_;await this.upsertFtsIndex(O,G.id,G.entityType,W)})}catch(O){if(!(O instanceof K_))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(s5.updated,G.entityType,G.id,G,Q.metadata,X?.eventContext),this.enqueueEmbeddingJob({entityId:G.id,entityType:G.entityType,contentHash:A,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(h0).where(P$(p(h0.entityType,Z),p(h0.entityId,X))),await this.projectionStore.withDirtyInput({sourceType:Z,sourceId:X,revision:`deleted:${D_({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(P$(p(h.entityType,Z),p(h.id,X)))}),await this.notifyProjectionScheduler(),await this.emitEntityEvent(s5.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(!G7$(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(h0).where(P$(p(h0.entityType,Z.entityType),p(h0.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(h0).values({entityId:$.entityId,entityType:$.entityType,embedding:$.embedding,contentHash:$.contentHash}).onConflictDoUpdate({target:[h0.entityId,h0.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:h0.entityId,entityType:h0.entityType,contentHash:h0.contentHash}).from(h0),J=new Map;for(let O of X)J.set(`${O.entityType}:${O.entityId}`,O.contentHash);let G=[],Y=0,W=0,H=0,A=0,K=0,Q=0;for(let O of Z){if(this.entityRegistry.getEntityTypeConfig(O.entityType).embeddable===!1){Y++;continue}K++;let F=wg({entityId:O.id,entityType:O.entityType,contentHash:O.contentHash}),M=$.has(F),C=J.get(`${O.entityType}:${O.id}`);if(C===void 0){if(M)A++,Y++;else W++,G.push(O);continue}if(C!==O.contentHash){if(M)A++,Y++;else H++,G.push(O);continue}Q++,Y++}return{tableMissing:!1,skipped:Y,rowsToBackfill:G,missingEmbeddings:W,staleEmbeddings:H,failedEmbeddings:A,embeddableEntities:K,embeddedEntities:Q}}async getFailedEmbeddingKeys(){let $=await this.jobQueueService.getFailedJobs([x4.embedding]),Z=new Set;for(let X of $){let J=J7$(X);if(J)Z.add(wg(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=`${$}-${LZ().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}=$,A=this.entityRegistry.getEntityTypeConfig(X);if(!this.embeddingsEnabled||A.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 K={id:Z,entityType:X,contentHash:J,operation:G},Q=await this.jobQueueService.enqueue({type:x4.embedding,data:K,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 Q_{tail=Promise.resolve();run($,Z){if(Z?.aborted)return Promise.reject(Z.reason);let X=this.tail,J=()=>{};this.tail=new Promise((W)=>{J=W});let G=!1,Y=X.then(async()=>{try{return G=!0,Z?.throwIfAborted(),await $()}finally{J()}});return Y7$(Y,()=>G,Z)}async idle(){await this.tail}}class O_{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 Y7$($,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 nX=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(nX),D.record(D.string(),nX)])),v6=D.record(D.string(),nX),W7$=D.strictObject({id:D.string().trim().min(1),entityType:D.string().trim().min(1),content:D.string(),metadata:v6,visibility:O9}),S4=D.discriminatedUnion("operation",[D.strictObject({operation:D.literal("upsert"),entity:W7$}),D.strictObject({operation:D.literal("delete"),entityType:D.string().trim().min(1),id:D.string().trim().min(1)})]);var Cg=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()}),H7$=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()}),Rg=D.strictObject({ruleId:D.string().trim().min(1),ruleVersion:D.string().trim().min(1),inputFingerprint:D.string().trim().min(1)}),D7$=D.strictObject({ruleId:D.string().trim().min(1),targetType:D.string().trim().min(1),level:D.number().int().nonnegative()}),A7$=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 B_($){return`${$.sourceType}\x00${$.sourceId}`}function Lg($){let Z=new Map;for(let X of $)Z.set(B_(X),X);return[...Z.values()].sort((X,J)=>X.generation-J.generation)}function rX($){if(Array.isArray($))return`[${$.map((Z)=>rX(Z)).join(",")}]`;if($!==null&&typeof $==="object")return`{${Object.entries($).sort(([Z],[X])=>Z.localeCompare(X)).map(([Z,X])=>`${JSON.stringify(Z)}:${rX(X)}`).join(",")}}`;return JSON.stringify($)}function rG($){let Z=D.array(A7$).parse($.changedTargets);return{...$,changedTargets:Z}}class AU{db;mutationAdmission;transactionTail=new Q_;constructor($,Z){this.db=$,this.mutationAdmission=Z}async markDirty($){let Z=Cg.parse($),J=(await this.db.insert(ZZ).values(Z).returning({generation:ZZ.generation}))[0]?.generation;if(J===void 0)throw Error("Failed to persist projection dirty input");return J}withDirtyInput($,Z){let X=Cg.parse($);return this.runTransaction(async(J)=>{let G=await Z(J);return await J.insert(ZZ).values(X),G})}async listPendingInputs(){let $=await this.db.select().from(ZZ).orderBy(I0(ZZ.generation));return Lg($)}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:v0.id}).from(v0).where(p(v0.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:ZZ.generation}).from(ZZ).orderBy(_Z(ZZ.generation)).limit(1))[0]?.generation;if(H===void 0)return null;let A={id:Z,cutoffGeneration:H,graphFingerprint:X,status:"running",startedAt:J,completedAt:null};await G.insert(v0).values(A);let K=await G.select().from(ZZ).where(x6(ZZ.generation,H)).orderBy(I0(ZZ.generation)),Q=Lg(K);return await G.insert(C1).values(Q.map((O)=>({waveId:Z,sourceType:O.sourceType,sourceId:O.sourceId,revision:O.revision,operation:O.operation,generation:O.generation}))),await G.delete(ZZ).where(x6(ZZ.generation,H)),A})}listWaveInputs($){return this.db.select().from(C1).where(p(C1.waveId,$)).orderBy(I0(C1.generation))}async getActiveWave(){return(await this.db.select().from(v0).where(p(v0.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(v0).where(p(v0.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:i$.ruleId}).from(i$).where(P$(p(i$.waveId,X),rA(i$.status,"completed"))).limit(1)).length>0)throw Error(`Projection wave "${X}" has incomplete projection rules`);let K=(await G.update(v0).set({status:"completed",completedAt:J}).where(p(v0.id,X)).returning())[0];if(!K)throw Error(`Failed to mark projection wave "${X}" completed`);return await G.update(g8).set({resolvedAt:J}).where(P$(M1(g8.resolvedAt),x6(g8.recoveryGeneration,W.cutoffGeneration))),K})}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=H7$.parse($);return this.runTransaction(async(X)=>{let J=await this.failWaveInTransaction(X,Z.waveId,Z.failedAt);if((await X.update(i$).set({status:"failed"}).where(P$(p(i$.waveId,Z.waveId),p(i$.ruleId,Z.ruleId))).returning({ruleId:i$.ruleId})).length===0)throw Error(`Projection rule "${Z.ruleId}" is not scheduled for wave "${Z.waveId}"`);return await X.insert(g8).values({waveId:Z.waveId,ruleId:Z.ruleId,jobId:Z.jobId,failureReason:Z.failureReason,recoveryGeneration:J.recoveryGeneration,createdAt:Z.failedAt,resolvedAt:null}).onConflictDoNothing({target:g8.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(g8).where(M1(g8.resolvedAt)),this.db.select().from(g8).where(M1(g8.resolvedAt)).orderBy(_Z(g8.createdAt)).limit(Z)]);return{total:Number(X[0]?.total??0),incidents:J}}async failWaveInTransaction($,Z,X){let G=(await $.select().from(v0).where(p(v0.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(C1).where(p(C1.waveId,Z)),W=await $.select().from(ZZ),H=new Set(W.map(B_)),A=Y.filter((_)=>!H.has(B_(_)));if(A.length>0)await $.insert(ZZ).values(A.map((_)=>({sourceType:_.sourceType,sourceId:_.sourceId,revision:_.revision,operation:_.operation,markedAt:X})));let K=await this.getRecoveryGeneration($,G.cutoffGeneration),O=(await $.update(v0).set({status:"failed",completedAt:X}).where(p(v0.id,Z)).returning())[0];if(!O)throw Error(`Failed to mark projection wave "${Z}" failed`);return{wave:O,recoveryGeneration:K}}async getRecoveryGeneration($,Z){let X=await $.select({generation:N`max(${ZZ.generation})`}).from(ZZ);return Number(X[0]?.generation??Z)}async putWaveRules($,Z){let X=D.string().trim().min(1).parse($),G=D.array(D7$).min(1).parse(Z).map((Y)=>({waveId:X,ruleId:Y.ruleId,targetType:Y.targetType,level:Y.level,status:"pending",changedTargets:[]}));await this.db.insert(i$).values(G)}async listWaveRules($){return(await this.db.select().from(i$).where(p(i$.waveId,$)).orderBy(I0(i$.level),I0(i$.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(i$).set({status:"queued",jobId:Y}).where(P$(p(i$.waveId,J),p(i$.ruleId,G),p(i$.status,"pending"))).returning())[0];if(H)return rG(H);let A=await this.getWaveRule(J,G);if(A?.status==="completed"||A?.status==="queued"&&A.jobId===Y)return A;throw Error(`Projection rule "${G}" is not pending for wave "${J}"`)}async getWaveRule($,Z){let J=(await this.db.select().from(i$).where(P$(p(i$.waveId,$),p(i$.ruleId,Z))).limit(1))[0];return J?rG(J):null}async applyRuleResult($){let Z=D.string().trim().min(1).parse($.waveId),X=Rg.parse({ruleId:$.ruleId,ruleVersion:$.ruleVersion,inputFingerprint:$.inputFingerprint}),J=D.array(S4).parse($.writeIntents),G=D.number().int().nonnegative().parse($.completedAt);return this.runTransaction(async(Y)=>{let H=(await Y.select().from(i$).where(P$(p(i$.waveId,Z),p(i$.ruleId,X.ruleId))).limit(1))[0];if(!H)throw Error(`Projection rule "${X.ruleId}" is not scheduled for wave "${Z}"`);for(let M of J){let C=M.operation==="upsert"?M.entity.entityType:M.entityType;if(C!==H.targetType)throw Error(`Projection rule "${X.ruleId}" cannot write entity type "${C}"`)}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:v0.status}).from(v0).where(p(v0.id,Z)).limit(1))[0]?.status!=="running")throw Error(`Projection wave "${Z}" is not running`);let Q=(await Y.select().from(H6).where(P$(p(H6.ruleId,X.ruleId),p(H6.ruleVersion,X.ruleVersion),p(H6.inputFingerprint,X.inputFingerprint))).limit(1))[0];if(Q&&rX(Q.writeIntents)!==rX(J))throw Error(`Projection memo conflict for rule "${X.ruleId}" and fingerprint "${X.inputFingerprint}"`);if(!Q)await Y.insert(H6).values({...X,writeIntents:J,createdAt:G});let O=await J.reduce(async(M,C)=>{let m=await M,V$=await this.applyWriteIntent(Y,C,G);return V$?[...m,V$]:m},Promise.resolve([])),F=(await Y.update(i$).set({status:"completed",inputFingerprint:X.inputFingerprint,changedTargets:O}).where(P$(p(i$.waveId,Z),p(i$.ruleId,X.ruleId))).returning())[0];if(!F)throw Error(`Failed to complete projection rule "${X.ruleId}" for wave "${Z}"`);return rG(F)})}async getRuleMemo($){let Z=Rg.parse($),J=(await this.db.select().from(H6).where(P$(p(H6.ruleId,Z.ruleId),p(H6.ruleVersion,Z.ruleVersion),p(H6.inputFingerprint,Z.inputFingerprint))).limit(1))[0];if(!J)return null;return{...J,writeIntents:D.array(S4).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(P$(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(P$(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=E4(Z.entity.content);if(W?.contentHash===H&&W.content===Z.entity.content&&W.visibility===Z.entity.visibility&&rX(W.metadata)===rX(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(P$(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 U7$=/!\[([^\]]*)\]\(entity:\/\/image\/([^)]+)\)/g;function K7$($){return $.includes("entity://image/")}var V7$=new Set(["image"]);function qg($){return!V7$.has($)}class N_{logger;constructor($){this.logger=$.child("ContentResolver")}detectReferences($){let Z=[],X=new RegExp(U7$.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(!K7$($))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((K)=>K.imageId))],Y=new Map;for(let K of G)try{let Q=await Z.getEntityRaw({entityType:"image",id:K,...X!==void 0&&{visibilityScope:X}});if(Q?.content)Y.set(K,Q.content);else this.logger.warn("Image entity not found",{imageId:K})}catch(Q){this.logger.warn("Failed to fetch image entity",{imageId:K,error:e$(Q)})}let W=$,H=0,A=0;for(let K of J){let Q=Y.get(K.imageId);if(Q){let O=`![${K.alt}](${Q})`;W=W.replace(K.originalMarkdown,O),H++}else A++}if(H>0)this.logger.debug("Resolved image references",{resolvedCount:H,failedCount:A});return{content:W,resolvedCount:H,failedCount:A}}}function Eg($,Z){return a.suspend(()=>{let X,J=$.pipe(a.match({onFailure:(W)=>{return X={kind:"failure",error:W},X},onSuccess:(W)=>{return X={kind:"status",status:W},X}})),G=V9.spaced(Z.intervalMs),Y=Z.timeoutMs===void 0?G:G.pipe(V9.upTo(Z.timeoutMs));return J.pipe(a.repeat({schedule:Y,until:(W)=>W.kind==="status"&&W.status.ready}),a.flatMap(()=>{if(X?.kind==="status")return a.succeed(X.status);if(X?.kind==="failure")return a.fail(X.error);return a.die(Error("Index readiness polling completed without an attempt"))}))})}class __{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(x4.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 __($)}constructor($){let{db:Z,client:X,url:J}=aN($.dbConfig);this.db=Z,this.dbClient=X,this.dbUrl=J,this.projectionStore=new AU(this.db,$.mutationAdmission);let G,Y;try{let W=aN($.dbConfig);G=W.client,this.searchDbClient=W.client;let H=tN($.embeddingDbConfig);if(Y=H.client,this.embeddingDb=H.db,this.embeddingDbClient=H.client,this.entityRegistry=$.entityRegistry,this.logger=($.logger??_9.getInstance()).child("EntityService"),!$.jobQueueService)throw Error("JobQueueService is required for EntityService initialization");this.jobQueueService=$.jobQueueService,this.entitySerializer=new G_(this.entityRegistry,this.logger),this.entityQueries=new W_({db:this.db,serializer:this.entitySerializer,logger:this.logger,embeddingDb:this.embeddingDb});let A=$.embeddingsEnabled??!0;if(this.entitySearch=new DU(W.db,$.embeddingService,this.entitySerializer,this.logger,A),this.entityMutations=new V_({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:A}),this.contentResolver=new N_(this.logger),$.embeddingsEnabled??!0){let K=nG.createFresh(this,$.embeddingService,$.messageBus);this.jobQueueService.registerHandler(x4.embedding,K),this.embeddingHandlerRegistered=!0}this.dbInitPromise=this.initializeDatabase($.embeddingDbConfig,$.embeddingService.dimensions),this.dbInitPromise.catch(()=>{})}catch(W){try{if(this.embeddingHandlerRegistered)$.jobQueueService?.unregisterHandler(x4.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 I6(this.dbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to enable WAL mode for entity database (non-fatal)",X)}try{await I6(this.searchDbClient,this.dbUrl)}catch(X){this.logger.warn("Failed to configure entity search database (non-fatal)",X)}try{await I6(this.embeddingDbClient,$.url)}catch(X){this.logger.warn("Failed to enable WAL mode for embedding database (non-fatal)",X)}await Qg(this.dbClient),await eN(this.embeddingDbClient,Z),await $_(this.embeddingDbClient),await Z_(this.searchDbClient,X_($.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=a.tryPromise({try:()=>this.getIndexReadinessStatus(),catch:(Y)=>Y}).pipe(a.tapError((Y)=>a.sync(()=>{if(!Z)this.logger.warn("Semantic index readiness check failed; retrying",{error:Y}),Z=!0})),a.tap(()=>a.sync(()=>{Z=!1}))),J=Eg(X,{intervalMs:$.intervalMs??250,...$.timeoutMs!==void 0&&{timeoutMs:$.timeoutMs}}),G=await a.runPromiseExit(J,{...$.signal&&{signal:$.signal}});if(F0.isFailure(G)){if($.signal?.aborted)throw $.signal.reason;throw Z6.squash(G.cause)}if(G.value.ready)this.indexReady=!0;return G.value}async getIndexReadinessStatus(){let[$,Z]=await Promise.all([this.jobQueueService.getActiveJobs([x4.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(qg(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(h0))[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 P_{entitySchemas=new Map;entityAdapters=new Map;entityConfigs=new Map;createInterceptors=new Map;uploadSaveHandlers=[];persistValidators=new Map;frontmatterExtensions=new Map;logger;static createFresh($){return new P_($)}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=G6.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=O9.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((K)=>Object.hasOwn(G,K)?[[K,G[K]]]:[])),A=W.safeParse(H);if(!A.success)for(let K of A.error.issues)Y.addIssue({code:"custom",path:[...K.path],message:K.message})}})}}class Sg{format($){let Z=[];Z.push(`\\[${$.id}\\]`);let X=$.content,J={};if($.content.trim())try{let G=cZ($.content,D.record(D.string(),D.unknown()));X=G.content,J=G.metadata}catch{X=$.content}if(X.trim()){let G=X.trim();G=xg(G);let Y=J.title??$.metadata.title??$.metadata.name;if(Y){if(G.split(`
72
+ `)[0]?.trim().toLowerCase()===String(Y).toLowerCase())G=G.split(`
73
+ `).slice(1).join(`
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
+
76
+ `)}parse($){throw Error("BaseEntityFormatter is for display only. Use BaseEntityAdapter for parsing operations.")}}class lX{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 Q7$($,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 jg($,Z){return Z==="public"?$:`${$}-${Z}`}function kg($,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 F_{dataSources=new Map;logger;static createFresh($){return new F_($)}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 Ig=D.object({currentPage:D.number(),totalPages:D.number(),totalItems:D.number(),pageSize:D.number(),hasNextPage:D.boolean(),hasPrevPage:D.boolean()});function z_($,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 T_($,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 A=await $.listEntities({entityType:Z,options:{limit:1,filter:{metadata:{title:WJ(X)},visibilityScope:G}}});if(A[0])return A[0];let K=await $.listEntities({entityType:Z,options:{limit:200,filter:{visibilityScope:G}}}),Q=WJ(X);return K.find((O)=>typeof O.metadata.title==="string"&&WJ(O.metadata.title)===Q)??null}catch(Y){if(J)J.error(`Failed to find entity ${Z}:${X}`,{error:Y});return null}}async function vg($,Z,X,J,G="Entity",Y="public"){let W=await T_($,Z,X,J,Y);if(!W)return{ok:!1,error:`${G} not found: ${Z}/${X}`};return{ok:!0,entity:W}}class j4{callback;heartbeatInterval;constructor($){this.callback=$}static from($){if(!$)return;return new j4($)}createSub($){let{scale:Z}=$??{};if(Z){let{start:X,end:J}=Z,G=J-X;return new j4(async(Y)=>{let W=X+Y.progress/(Y.total??100)*G;await this.callback({...Y,progress:W,total:100})})}return new j4(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 O7$=D.object({enabled:D.boolean().describe("Whether the plugin is enabled"),debug:D.boolean().describe("Enable debug logging for this plugin")});class lG extends Error{pluginId;issues;constructor($,Z){super(`Invalid plugin config for ${$}`);this.name="PluginConfigValidationError",this.pluginId=$,this.issues=Z}}var B7$=D.object({toolName:D.string(),args:D.unknown(),progressToken:D.union([D.string(),D.number()]).optional(),hasProgress:D.boolean().optional(),interfaceType:D.string(),actor:a5,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()}),N7$=D.object({resourceUri:D.string()});class t5{id;version;description;packageName;config;context;get logger(){return this.context?.logger??_9.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 lG($,G.error.issues.map((Y)=>({path:Y.path.map(String).join("."),code:Y.code,message:Y.message})));this.config=G.data}setupMessageHandlers($){$.messaging.subscribe(iG.toolExecute(this.id),async(Z)=>{try{let X=B7$.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:A,displayName:K,conversationId:Q,channelId:O,channelName:_,runId:F,toolCallId:M,userPermissionLevel:C,isAnchor:m,signal:V$}=X.data,G$=(await this.getTools()).find((k)=>k.name===J);if(!G$)return{success:!1,error:`Tool not found: ${J}`};let C$={interfaceType:H,actor:A,...K&&{displayName:K},...Q&&{conversationId:Q},...O&&{channelId:O},..._&&{channelName:_},...F&&{runId:F},...M&&{toolCallId:M},...C&&{userPermissionLevel:C},...m!==void 0&&{isAnchor:m},...V$&&{signal:V$},...W&&Y!==void 0&&{progressToken:Y,sendProgress:async(k)=>{await $.messaging.send({type:iG.progress(this.id),payload:{progressToken:Y,notification:k}})}}};return{success:!0,data:await G$.handler(G,C$)}}catch(X){return this.logger.error("Tool execution error",X),{success:!1,error:e$(X)}}}),$.messaging.subscribe(iG.resourceGet(this.id),async(Z)=>{try{let X=N7$.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:e$(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 j4.from(async(J)=>{await Z.messaging.send({type:iG.progress(X),payload:{progressToken:$,notification:{progress:J.progress,total:J.total,message:J.message}}})})}}var yg=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()}),M_=["primary","secondary"],gg=D.object({show:D.boolean().default(!1),label:D.string().optional(),slot:D.enum(M_).default("primary"),priority:D.number().min(0).max(100).default(50)}).optional(),w_=D.object({id:D.string(),path:D.string(),title:D.string().default(""),pageLabel:D.string().optional(),description:D.string().default(""),sections:D.array(yg).default([]),layout:D.string().default("default"),fullscreen:D.boolean().optional(),pluginId:D.string().optional(),sourceEntityType:D.string().optional(),external:D.boolean().optional(),navigation:gg}),bg=D.object({routes:D.array(w_),pluginId:D.string()}),hg=D.object({paths:D.array(D.string()).optional(),pluginId:D.string().optional()}),mg=D.object({pluginId:D.string().optional()}),fg=D.object({path:D.string()}),UU=D.object({label:D.string(),href:D.string(),priority:D.number()});var _7$="site:metadata:get",P7$="site:metadata:updated",KU=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")}),C_=D.object({blurb:D.string().optional().describe("Short italic subtitle under the section title")}),R_=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:KU.optional().describe("Call-to-action configuration"),sections:D.record(D.string(),C_).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 F7$=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")}),z7$=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:KU.optional().describe("Call-to-action configuration"),sections:D.record(D.string(),C_).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(UU),secondary:D.array(UU)}),socialLinks:D.array(F7$).optional().describe("Social media links from profile metadata")});var T7$=D.record(D.string(),D.unknown());function cg($,Z){let X=T7$.safeParse($);return X.success&&Z.every((J)=>(J in X.data))}class sG{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
+ `)}formatTable($,Z){let X=`| ${$.join(" | ")} |`,J=`| ${$.map(()=>"---").join(" | ")} |`,G=Z.map((Y)=>`| ${Y.map((W)=>String(W??"")).join(" | ")} |`).join(`
78
+ `);return`${X}
79
+ ${J}
80
+ ${G}`}formatCodeBlock($,Z=""){return`\`\`\`${Z}
81
+ ${$}
82
+ \`\`\``}hasFields($,Z){return cg($,Z)}formatError($){return`Error: ${$}`}}var YM$=D.object({message:D.string()});var pg=D.record(D.string(),D.unknown());class aG{schema;config;processor=dg();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
+ `).trimEnd()+`
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 e$($)}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 A of Z.itemMappings)this.formatField(W,A,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=pg.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 A=pg.safeParse(G[H]);if(A.success){G[H]=A.data,G=A.data;continue}let K={};G[H]=K,G=K}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
+ `)}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),A=this.buildDataFromSections(H,X,Z+1);J.push(A)}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
+ `)}}function C7$($){return $&&$.__esModule&&Object.prototype.hasOwnProperty.call($,"default")?$.default:$}var pZ={},VU={},k4={},ug;function tG(){if(ug)return k4;ug=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 A=Object.keys(H);for(let K=0,Q=A.length;K<Q;K+=1){let O=A[K];W[O]=H[O]}}return W}function G(W,H){let A="";for(let K=0;K<H;K+=1)A+=W;return A}function Y(W){return W===0&&Number.NEGATIVE_INFINITY===1/W}return k4.isNothing=$,k4.isObject=Z,k4.toArray=X,k4.repeat=G,k4.isNegativeZero=Y,k4.extend=J,k4}var L_,og;function eG(){if(og)return L_;og=1;function $(X,J){let G="",Y=X.reason||"(unknown reason)";if(!X.mark)return Y;if(X.mark.name)G+='in "'+X.mark.name+'" ';if(G+="("+(X.mark.line+1)+":"+(X.mark.column+1)+")",!J&&X.mark.snippet)G+=`
88
+
89
+ `+X.mark.snippet;return Y+" "+G}function Z(X,J){if(Error.call(this),this.name="YAMLException",this.reason=X,this.mark=J,this.message=$(this,!1),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=Error().stack||""}return Z.prototype=Object.create(Error.prototype),Z.prototype.constructor=Z,Z.prototype.toString=function(J){return this.name+": "+$(this,J)},L_=Z,L_}var q_,ng;function R7$(){if(ng)return q_;ng=1;let $=tG();function Z(G,Y,W,H,A){let K="",Q="",O=Math.floor(A/2)-1;if(H-Y>O)K=" ... ",Y=H-O+K.length;if(W-H>O)Q=" ...",W=H+O-Q.length;return{str:K+G.slice(Y,W).replace(/\t/g,"\u2192")+Q,pos:H-Y+K.length}}function X(G,Y){return $.repeat(" ",Y-G.length)+G}function J(G,Y){if(Y=Object.create(Y||null),!G.buffer)return null;if(!Y.maxLength)Y.maxLength=79;if(typeof Y.indent!=="number")Y.indent=1;if(typeof Y.linesBefore!=="number")Y.linesBefore=3;if(typeof Y.linesAfter!=="number")Y.linesAfter=2;let W=/\r?\n|\r|\0/g,H=[0],A=[],K,Q=-1;while(K=W.exec(G.buffer))if(A.push(K.index),H.push(K.index+K[0].length),G.position<=K.index&&Q<0)Q=H.length-2;if(Q<0)Q=H.length-1;let O="",_=Math.min(G.line+Y.linesAfter,A.length).toString().length,F=Y.maxLength-(Y.indent+_+3);for(let C=1;C<=Y.linesBefore;C++){if(Q-C<0)break;let m=Z(G.buffer,H[Q-C],A[Q-C],G.position-(H[Q]-H[Q-C]),F);O=$.repeat(" ",Y.indent)+X((G.line-C+1).toString(),_)+" | "+m.str+`
90
+ `+O}let M=Z(G.buffer,H[Q],A[Q],G.position,F);O+=$.repeat(" ",Y.indent)+X((G.line+1).toString(),_)+" | "+M.str+`
91
+ `,O+=$.repeat("-",Y.indent+_+3+M.pos)+`^
92
+ `;for(let C=1;C<=Y.linesAfter;C++){if(Q+C>=A.length)break;let m=Z(G.buffer,H[Q+C],A[Q+C],G.position-(H[Q]-H[Q+C]),F);O+=$.repeat(" ",Y.indent)+X((G.line+C+1).toString(),_)+" | "+m.str+`
93
+ `}return O.replace(/\n$/,"")}return q_=J,q_}var E_,rg;function G8(){if(rg)return E_;rg=1;let $=eG(),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(A){W[String(A)]=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 E_=G,E_}var x_,lg;function Bb(){if(lg)return x_;lg=1;let $=eG(),Z=G8();function X(Y,W){let H=[];return Y[W].forEach(function(A){let K=H.length;H.forEach(function(Q,O){if(Q.tag===A.tag&&Q.kind===A.kind&&Q.multi===A.multi)K=O}),H[K]=A}),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,A=arguments.length;H<A;H+=1)arguments[H].forEach(W);return Y}function G(Y){return this.extend(Y)}return G.prototype.extend=function(W){let H=[],A=[];if(W instanceof Z)A.push(W);else if(Array.isArray(W))A=A.concat(W);else if(W&&(Array.isArray(W.implicit)||Array.isArray(W.explicit))){if(W.implicit)H=H.concat(W.implicit);if(W.explicit)A=A.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.")}),A.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 K=Object.create(G.prototype);return K.implicit=(this.implicit||[]).concat(H),K.explicit=(this.explicit||[]).concat(A),K.compiledImplicit=X(K,"implicit"),K.compiledExplicit=X(K,"explicit"),K.compiledTypeMap=J(K.compiledImplicit,K.compiledExplicit),K},x_=G,x_}var S_,ig;function Nb(){if(ig)return S_;return ig=1,S_=new(G8())("tag:yaml.org,2002:str",{kind:"scalar",construct:function(Z){return Z!==null?Z:""}}),S_}var j_,sg;function _b(){if(sg)return j_;return sg=1,j_=new(G8())("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(Z){return Z!==null?Z:[]}}),j_}var k_,ag;function Pb(){if(ag)return k_;return ag=1,k_=new(G8())("tag:yaml.org,2002:map",{kind:"mapping",construct:function(Z){return Z!==null?Z:{}}}),k_}var I_,tg;function Fb(){if(tg)return I_;return tg=1,I_=new(Bb())({explicit:[Nb(),_b(),Pb()]}),I_}var v_,eg;function zb(){if(eg)return v_;eg=1;let $=G8();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 v_=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"}),v_}var y_,$b;function Tb(){if($b)return y_;$b=1;let $=G8();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 y_=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"}),y_}var g_,Zb;function Mb(){if(Zb)return g_;Zb=1;let $=tG(),Z=G8();function X(K){return K>=48&&K<=57||K>=65&&K<=70||K>=97&&K<=102}function J(K){return K>=48&&K<=55}function G(K){return K>=48&&K<=57}function Y(K){if(K===null)return!1;let Q=K.length,O=0,_=!1;if(!Q)return!1;let F=K[O];if(F==="-"||F==="+")F=K[++O];if(F==="0"){if(O+1===Q)return!0;if(F=K[++O],F==="b"){O++;for(;O<Q;O++){if(F=K[O],F!=="0"&&F!=="1")return!1;_=!0}return _&&isFinite(W(K))}if(F==="x"){O++;for(;O<Q;O++){if(!X(K.charCodeAt(O)))return!1;_=!0}return _&&isFinite(W(K))}if(F==="o"){O++;for(;O<Q;O++){if(!J(K.charCodeAt(O)))return!1;_=!0}return _&&isFinite(W(K))}}for(;O<Q;O++){if(!G(K.charCodeAt(O)))return!1;_=!0}if(!_)return!1;return isFinite(W(K))}function W(K){let Q=K,O=1,_=Q[0];if(_==="-"||_==="+"){if(_==="-")O=-1;Q=Q.slice(1),_=Q[0]}if(Q==="0")return 0;if(_==="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(K){return W(K)}function A(K){return Object.prototype.toString.call(K)==="[object Number]"&&(K%1===0&&!$.isNegativeZero(K))}return g_=new Z("tag:yaml.org,2002:int",{kind:"scalar",resolve:Y,construct:H,predicate:A,represent:{binary:function(K){return K>=0?"0b"+K.toString(2):"-0b"+K.toString(2).slice(1)},octal:function(K){return K>=0?"0o"+K.toString(8):"-0o"+K.toString(8).slice(1)},decimal:function(K){return K.toString(10)},hexadecimal:function(K){return K>=0?"0x"+K.toString(16).toUpperCase():"-0x"+K.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),g_}var b_,Xb;function wb(){if(Xb)return b_;Xb=1;let $=tG(),Z=G8(),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(K){if(K===null)return!1;if(!X.test(K))return!1;if(isFinite(parseFloat(K,10)))return!0;return J.test(K)}function Y(K){let Q=K.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(K,Q){if(isNaN(K))switch(Q){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===K)switch(Q){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===K)switch(Q){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if($.isNegativeZero(K))return"-0.0";let O=K.toString(10);return W.test(O)?O.replace("e",".e"):O}function A(K){return Object.prototype.toString.call(K)==="[object Number]"&&(K%1!==0||$.isNegativeZero(K))}return b_=new Z("tag:yaml.org,2002:float",{kind:"scalar",resolve:G,construct:Y,predicate:A,represent:H,defaultStyle:"lowercase"}),b_}var h_,Jb;function Cb(){if(Jb)return h_;return Jb=1,h_=Fb().extend({implicit:[zb(),Tb(),Mb(),wb()]}),h_}var m_,Gb;function Rb(){if(Gb)return m_;return Gb=1,m_=Cb(),m_}var f_,Yb;function Lb(){if(Yb)return f_;Yb=1;let $=G8(),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,A=null,K=Z.exec(W);if(K===null)K=X.exec(W);if(K===null)throw Error("Date resolve error");let Q=+K[1],O=+K[2]-1,_=+K[3];if(!K[4])return new Date(Date.UTC(Q,O,_));let F=+K[4],M=+K[5],C=+K[6];if(K[7]){H=K[7].slice(0,3);while(H.length<3)H+="0";H=+H}if(K[9]){let V$=+K[10],e=+(K[11]||0);if(A=(V$*60+e)*60000,K[9]==="-")A=-A}let m=new Date(Date.UTC(Q,O,_,F,M,C,H));if(A)m.setTime(m.getTime()-A);return m}function Y(W){return W.toISOString()}return f_=new $("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:J,construct:G,instanceOf:Date,represent:Y}),f_}var c_,Wb;function qb(){if(Wb)return c_;Wb=1;let $=G8();function Z(X){return X==="<<"||X===null}return c_=new $("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Z}),c_}var p_,Hb;function Eb(){if(Hb)return p_;Hb=1;let $=G8(),Z=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
94
+ \r`;function X(W){if(W===null)return!1;let H=0,A=W.length,K=Z;for(let Q=0;Q<A;Q++){let O=K.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,""),A=H.length,K=Z,Q=0,O=[];for(let F=0;F<A;F++){if(F%4===0&&F)O.push(Q>>16&255),O.push(Q>>8&255),O.push(Q&255);Q=Q<<6|K.indexOf(H.charAt(F))}let _=A%4*6;if(_===0)O.push(Q>>16&255),O.push(Q>>8&255),O.push(Q&255);else if(_===18)O.push(Q>>10&255),O.push(Q>>2&255);else if(_===12)O.push(Q>>4&255);return new Uint8Array(O)}function G(W){let H="",A=0,K=W.length,Q=Z;for(let _=0;_<K;_++){if(_%3===0&&_)H+=Q[A>>18&63],H+=Q[A>>12&63],H+=Q[A>>6&63],H+=Q[A&63];A=(A<<8)+W[_]}let O=K%3;if(O===0)H+=Q[A>>18&63],H+=Q[A>>12&63],H+=Q[A>>6&63],H+=Q[A&63];else if(O===2)H+=Q[A>>10&63],H+=Q[A>>4&63],H+=Q[A<<2&63],H+=Q[64];else if(O===1)H+=Q[A>>2&63],H+=Q[A<<4&63],H+=Q[64],H+=Q[64];return H}function Y(W){return Object.prototype.toString.call(W)==="[object Uint8Array]"}return p_=new $("tag:yaml.org,2002:binary",{kind:"scalar",resolve:X,construct:J,predicate:Y,represent:G}),p_}var d_,Db;function xb(){if(Db)return d_;Db=1;let $=G8(),Z=Object.prototype.hasOwnProperty,X=Object.prototype.toString;function J(Y){if(Y===null)return!0;let W=[],H=Y;for(let A=0,K=H.length;A<K;A+=1){let Q=H[A],O=!1;if(X.call(Q)!=="[object Object]")return!1;let _;for(_ in Q)if(Z.call(Q,_))if(!O)O=!0;else return!1;if(!O)return!1;if(W.indexOf(_)===-1)W.push(_);else return!1}return!0}function G(Y){return Y!==null?Y:[]}return d_=new $("tag:yaml.org,2002:omap",{kind:"sequence",resolve:J,construct:G}),d_}var u_,Ab;function Sb(){if(Ab)return u_;Ab=1;let $=G8(),Z=Object.prototype.toString;function X(G){if(G===null)return!0;let Y=G,W=Array(Y.length);for(let H=0,A=Y.length;H<A;H+=1){let K=Y[H];if(Z.call(K)!=="[object Object]")return!1;let Q=Object.keys(K);if(Q.length!==1)return!1;W[H]=[Q[0],K[Q[0]]]}return!0}function J(G){if(G===null)return[];let Y=G,W=Array(Y.length);for(let H=0,A=Y.length;H<A;H+=1){let K=Y[H],Q=Object.keys(K);W[H]=[Q[0],K[Q[0]]]}return W}return u_=new $("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:X,construct:J}),u_}var o_,Ub;function jb(){if(Ub)return o_;Ub=1;let $=G8(),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 o_=new $("tag:yaml.org,2002:set",{kind:"mapping",resolve:X,construct:J}),o_}var n_,Kb;function l_(){if(Kb)return n_;return Kb=1,n_=Rb().extend({implicit:[Lb(),qb()],explicit:[Eb(),xb(),Sb(),jb()]}),n_}var Vb;function L7$(){if(Vb)return VU;Vb=1;let $=tG(),Z=eG(),X=R7$(),J=l_(),G=Object.prototype.hasOwnProperty,Y=1,W=2,H=3,A=4,K=1,Q=2,O=3,_=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,F=/[\x85\u2028\u2029]/,M=/[,\[\]{}]/,C=/^(?:!|!!|![0-9A-Za-z-]+!)$/,m=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function V$(U){return Object.prototype.toString.call(U)}function e(U){return U===10||U===13}function G$(U){return U===9||U===32}function C$(U){return U===9||U===32||U===10||U===13}function d$(U){return U===44||U===91||U===93||U===123||U===125}function k(U){if(U>=48&&U<=57)return U-48;let w=U|32;if(w>=97&&w<=102)return w-97+10;return-1}function X$(U){if(U===120)return 2;if(U===117)return 4;if(U===85)return 8;return 0}function l(U){if(U>=48&&U<=57)return U-48;return-1}function O$(U){switch(U){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 v$(U){if(U<=65535)return String.fromCharCode(U);return String.fromCharCode((U-65536>>10)+55296,(U-65536&1023)+56320)}function K$(U,w,j){if(w==="__proto__")Object.defineProperty(U,w,{configurable:!0,enumerable:!0,writable:!0,value:j});else U[w]=j}let J0=Array(256),K0=Array(256);for(let U=0;U<256;U++)J0[U]=O$(U)?1:0,K0[U]=O$(U);function o$(U,w){this.input=U,this.filename=w.filename||null,this.schema=w.schema||J,this.onWarning=w.onWarning||null,this.legacy=w.legacy||!1,this.json=w.json||!1,this.listener=w.listener||null,this.maxDepth=typeof w.maxDepth==="number"?w.maxDepth:100,this.maxTotalMergeKeys=typeof w.maxTotalMergeKeys==="number"?w.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=U.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 qZ(U,w){let j={name:U.filename,buffer:U.input.slice(0,-1),position:U.position,line:U.line,column:U.position-U.lineStart};return j.snippet=X(j),new Z(w,j)}function $$(U,w){throw qZ(U,w)}function T0(U,w){if(U.onWarning)U.onWarning.call(null,qZ(U,w))}function m0(U,w,j){let b=U.anchorMapTransactions;if(b.length!==0){let q=b[b.length-1];if(!G.call(q,w))q[w]={existed:G.call(U.anchorMap,w),value:U.anchorMap[w]}}U.anchorMap[w]=j}function oZ(U){U.anchorMapTransactions.push(Object.create(null))}function K6(U){let w=U.anchorMapTransactions.pop(),j=U.anchorMapTransactions;if(j.length===0)return;let b=j[j.length-1],q=Object.keys(w);for(let n=0,B=q.length;n<B;n+=1){let R=q[n];if(!G.call(b,R))b[R]=w[R]}}function F9(U){let w=U.anchorMapTransactions.pop(),j=Object.keys(w);for(let b=j.length-1;b>=0;b-=1){let q=w[j[b]];if(q.existed)U.anchorMap[j[b]]=q.value;else delete U.anchorMap[j[b]]}}function XJ(U){return{position:U.position,line:U.line,lineStart:U.lineStart,lineIndent:U.lineIndent,firstTabInLine:U.firstTabInLine,tag:U.tag,anchor:U.anchor,kind:U.kind,result:U.result}}function H7(U,w){U.position=w.position,U.line=w.line,U.lineStart=w.lineStart,U.lineIndent=w.lineIndent,U.firstTabInLine=w.firstTabInLine,U.tag=w.tag,U.anchor=w.anchor,U.kind=w.kind,U.result=w.result}let wY={YAML:function(w,j,b){if(w.version!==null)$$(w,"duplication of %YAML directive");if(b.length!==1)$$(w,"YAML directive accepts exactly one argument");let q=/^([0-9]+)\.([0-9]+)$/.exec(b[0]);if(q===null)$$(w,"ill-formed argument of the YAML directive");let n=parseInt(q[1],10),B=parseInt(q[2],10);if(n!==1)$$(w,"unacceptable YAML version of the document");if(w.version=b[0],w.checkLineBreaks=B<2,B!==1&&B!==2)T0(w,"unsupported YAML version of the document")},TAG:function(w,j,b){let q;if(b.length!==2)$$(w,"TAG directive accepts exactly two arguments");let n=b[0];if(q=b[1],!C.test(n))$$(w,"ill-formed tag handle (first argument) of the TAG directive");if(G.call(w.tagMap,n))$$(w,'there is a previously declared suffix for "'+n+'" tag handle');if(!m.test(q))$$(w,"ill-formed tag prefix (second argument) of the TAG directive");try{q=decodeURIComponent(q)}catch(B){$$(w,"tag prefix is malformed: "+q)}w.tagMap[n]=q}};function P8(U,w,j,b){if(w<j){let q=U.input.slice(w,j);if(b)for(let n=0,B=q.length;n<B;n+=1){let R=q.charCodeAt(n);if(!(R===9||R>=32&&R<=1114111))$$(U,"expected valid JSON character")}else if(_.test(q))$$(U,"the stream contains non-printable characters");U.result+=q}}function E1(U,w,j,b){if(!$.isObject(j))$$(U,"cannot merge mappings; the provided source object is unacceptable");let q=Object.keys(j);for(let n=0,B=q.length;n<B;n+=1){let R=q[n];if(U.maxTotalMergeKeys!==-1&&++U.totalMergeKeys>U.maxTotalMergeKeys)$$(U,"merge keys exceeded maxTotalMergeKeys ("+U.maxTotalMergeKeys+")");if(!G.call(w,R))K$(w,R,j[R]),b[R]=!0}}function z9(U,w,j,b,q,n,B,R,d){if(Array.isArray(q)){q=Array.prototype.slice.call(q);for(let y=0,g=q.length;y<g;y+=1){if(Array.isArray(q[y]))$$(U,"nested arrays are not supported inside keys");if(typeof q==="object"&&V$(q[y])==="[object Object]")q[y]="[object Object]"}}if(typeof q==="object"&&V$(q)==="[object Object]")q="[object Object]";if(q=String(q),w===null)w={};if(b==="tag:yaml.org,2002:merge")if(Array.isArray(n))for(let y=0,g=n.length;y<g;y+=1)E1(U,w,n[y],j);else E1(U,w,n,j);else{if(!U.json&&!G.call(j,q)&&G.call(w,q))U.line=B||U.line,U.lineStart=R||U.lineStart,U.position=d||U.position,$$(U,"duplicated mapping key");K$(w,q,n),delete j[q]}return w}function D7(U){let w=U.input.charCodeAt(U.position);if(w===10)U.position++;else if(w===13){if(U.position++,U.input.charCodeAt(U.position)===10)U.position++}else $$(U,"a line break is expected");U.line+=1,U.lineStart=U.position,U.firstTabInLine=-1}function y0(U,w,j){let b=0,q=U.input.charCodeAt(U.position);while(q!==0){while(G$(q)){if(q===9&&U.firstTabInLine===-1)U.firstTabInLine=U.position;q=U.input.charCodeAt(++U.position)}if(w&&q===35)do q=U.input.charCodeAt(++U.position);while(q!==10&&q!==13&&q!==0);if(e(q)){D7(U),q=U.input.charCodeAt(U.position),b++,U.lineIndent=0;while(q===32)U.lineIndent++,q=U.input.charCodeAt(++U.position)}else break}if(j!==-1&&b!==0&&U.lineIndent<j)T0(U,"deficient indentation");return b}function A7(U){let w=U.position,j=U.input.charCodeAt(w);if((j===45||j===46)&&j===U.input.charCodeAt(w+1)&&j===U.input.charCodeAt(w+2)){if(w+=3,j=U.input.charCodeAt(w),j===0||C$(j))return!0}return!1}function T9(U,w){if(w===1)U.result+=" ";else if(w>1)U.result+=$.repeat(`
96
+ `,w-1)}function CY(U,w,j){let b,q,n,B,R,d,y=U.kind,g=U.result,u=U.input.charCodeAt(U.position);if(C$(u)||d$(u)||u===35||u===38||u===42||u===33||u===124||u===62||u===39||u===34||u===37||u===64||u===96)return!1;if(u===63||u===45){let c=U.input.charCodeAt(U.position+1);if(C$(c)||j&&d$(c))return!1}U.kind="scalar",U.result="",b=q=U.position,n=!1;while(u!==0){if(u===58){let c=U.input.charCodeAt(U.position+1);if(C$(c)||j&&d$(c))break}else if(u===35){let c=U.input.charCodeAt(U.position-1);if(C$(c))break}else if(U.position===U.lineStart&&A7(U)||j&&d$(u))break;else if(e(u))if(B=U.line,R=U.lineStart,d=U.lineIndent,y0(U,!1,-1),U.lineIndent>=w){n=!0,u=U.input.charCodeAt(U.position);continue}else{U.position=q,U.line=B,U.lineStart=R,U.lineIndent=d;break}if(n)P8(U,b,q,!1),T9(U,U.line-B),b=q=U.position,n=!1;if(!G$(u))q=U.position+1;u=U.input.charCodeAt(++U.position)}if(P8(U,b,q,!1),U.result)return!0;return U.kind=y,U.result=g,!1}function RY(U,w){let j,b,q=U.input.charCodeAt(U.position);if(q!==39)return!1;U.kind="scalar",U.result="",U.position++,j=b=U.position;while((q=U.input.charCodeAt(U.position))!==0)if(q===39)if(P8(U,j,U.position,!0),q=U.input.charCodeAt(++U.position),q===39)j=U.position,U.position++,b=U.position;else return!0;else if(e(q))P8(U,j,b,!0),T9(U,y0(U,!1,w)),j=b=U.position;else if(U.position===U.lineStart&&A7(U))$$(U,"unexpected end of the document within a single quoted scalar");else if(U.position++,!G$(q))b=U.position;$$(U,"unexpected end of the stream within a single quoted scalar")}function JJ(U,w){let j,b,q,n=U.input.charCodeAt(U.position);if(n!==34)return!1;U.kind="scalar",U.result="",U.position++,j=b=U.position;while((n=U.input.charCodeAt(U.position))!==0)if(n===34)return P8(U,j,U.position,!0),U.position++,!0;else if(n===92){if(P8(U,j,U.position,!0),n=U.input.charCodeAt(++U.position),e(n))y0(U,!1,w);else if(n<256&&J0[n])U.result+=K0[n],U.position++;else if((q=X$(n))>0){let B=q,R=0;for(;B>0;B--)if(n=U.input.charCodeAt(++U.position),(q=k(n))>=0)R=(R<<4)+q;else $$(U,"expected hexadecimal character");U.result+=v$(R),U.position++}else $$(U,"unknown escape sequence");j=b=U.position}else if(e(n))P8(U,j,b,!0),T9(U,y0(U,!1,w)),j=b=U.position;else if(U.position===U.lineStart&&A7(U))$$(U,"unexpected end of the document within a double quoted scalar");else if(U.position++,!G$(n))b=U.position;$$(U,"unexpected end of the stream within a double quoted scalar")}function LY(U,w){let j=!0,b,q,n,B=U.tag,R,d=U.anchor,y,g,u,c,D$=Object.create(null),W$,B$,z$,m$=U.input.charCodeAt(U.position);if(m$===91)y=93,c=!1,R=[];else if(m$===123)y=125,c=!0,R={};else return!1;if(U.anchor!==null)m0(U,U.anchor,R);m$=U.input.charCodeAt(++U.position);while(m$!==0){if(y0(U,!0,w),m$=U.input.charCodeAt(U.position),m$===y)return U.position++,U.tag=B,U.anchor=d,U.kind=c?"mapping":"sequence",U.result=R,!0;else if(!j)$$(U,"missed comma between flow collection entries");else if(m$===44)$$(U,"expected the node content, but found ','");if(B$=W$=z$=null,g=u=!1,m$===63){let B0=U.input.charCodeAt(U.position+1);if(C$(B0))g=u=!0,U.position++,y0(U,!0,w)}if(b=U.line,q=U.lineStart,n=U.position,w9(U,w,Y,!1,!0),B$=U.tag,W$=U.result,y0(U,!0,w),m$=U.input.charCodeAt(U.position),(u||U.line===b)&&m$===58)g=!0,m$=U.input.charCodeAt(++U.position),y0(U,!0,w),w9(U,w,Y,!1,!0),z$=U.result;if(c)z9(U,R,D$,B$,W$,z$,b,q,n);else if(g)R.push(z9(U,null,D$,B$,W$,z$,b,q,n));else R.push(W$);if(y0(U,!0,w),m$=U.input.charCodeAt(U.position),m$===44)j=!0,m$=U.input.charCodeAt(++U.position);else j=!1}$$(U,"unexpected end of the stream within a flow collection")}function qY(U,w){let j,b=K,q=!1,n=!1,B=w,R=0,d=!1,y,g=U.input.charCodeAt(U.position);if(g===124)j=!1;else if(g===62)j=!0;else return!1;U.kind="scalar",U.result="";while(g!==0)if(g=U.input.charCodeAt(++U.position),g===43||g===45)if(K===b)b=g===43?O:Q;else $$(U,"repeat of a chomping mode identifier");else if((y=l(g))>=0)if(y===0)$$(U,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!n)B=w+y-1,n=!0;else $$(U,"repeat of an indentation width identifier");else break;if(G$(g)){do g=U.input.charCodeAt(++U.position);while(G$(g));if(g===35)do g=U.input.charCodeAt(++U.position);while(!e(g)&&g!==0)}while(g!==0){D7(U),U.lineIndent=0,g=U.input.charCodeAt(U.position);while((!n||U.lineIndent<B)&&g===32)U.lineIndent++,g=U.input.charCodeAt(++U.position);if(!n&&U.lineIndent>B)B=U.lineIndent;if(e(g)){R++;continue}if(!n&&B===0)$$(U,"missing indentation for block scalar");if(U.lineIndent<B){if(b===O)U.result+=$.repeat(`
97
+ `,q?1+R:R);else if(b===K){if(q)U.result+=`
98
+ `}break}if(j)if(G$(g))d=!0,U.result+=$.repeat(`
99
+ `,q?1+R:R);else if(d)d=!1,U.result+=$.repeat(`
100
+ `,R+1);else if(R===0){if(q)U.result+=" "}else U.result+=$.repeat(`
101
+ `,R);else U.result+=$.repeat(`
102
+ `,q?1+R:R);q=!0,n=!0,R=0;let u=U.position;while(!e(g)&&g!==0)g=U.input.charCodeAt(++U.position);P8(U,u,U.position,!1)}return!0}function M9(U,w){let{tag:j,anchor:b}=U,q=[],n=!1;if(U.firstTabInLine!==-1)return!1;if(U.anchor!==null)m0(U,U.anchor,q);let B=U.input.charCodeAt(U.position);while(B!==0){if(U.firstTabInLine!==-1)U.position=U.firstTabInLine,$$(U,"tab characters must not be used in indentation");if(B!==45)break;let R=U.input.charCodeAt(U.position+1);if(!C$(R))break;if(n=!0,U.position++,y0(U,!0,-1)){if(U.lineIndent<=w){q.push(null),B=U.input.charCodeAt(U.position);continue}}let d=U.line;if(w9(U,w,H,!1,!0),q.push(U.result),y0(U,!0,-1),B=U.input.charCodeAt(U.position),(U.line===d||U.lineIndent>w)&&B!==0)$$(U,"bad indentation of a sequence entry");else if(U.lineIndent<w)break}if(n)return U.tag=j,U.anchor=b,U.kind="sequence",U.result=q,!0;return!1}function EY(U,w,j){let b,q,n,B,R=U.tag,d=U.anchor,y={},g=Object.create(null),u=null,c=null,D$=null,W$=!1,B$=!1;if(U.firstTabInLine!==-1)return!1;if(U.anchor!==null)m0(U,U.anchor,y);let z$=U.input.charCodeAt(U.position);while(z$!==0){if(!W$&&U.firstTabInLine!==-1)U.position=U.firstTabInLine,$$(U,"tab characters must not be used in indentation");let m$=U.input.charCodeAt(U.position+1),B0=U.line;if((z$===63||z$===58)&&C$(m$)){if(z$===63){if(W$)z9(U,y,g,u,c,null,q,n,B),u=c=D$=null;B$=!0,W$=!0,b=!0}else if(W$)W$=!1,b=!0;else $$(U,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");U.position+=1,z$=m$}else{if(q=U.line,n=U.lineStart,B=U.position,!w9(U,j,W,!1,!0))break;if(U.line===B0){z$=U.input.charCodeAt(U.position);while(G$(z$))z$=U.input.charCodeAt(++U.position);if(z$===58){if(z$=U.input.charCodeAt(++U.position),!C$(z$))$$(U,"a whitespace character is expected after the key-value separator within a block mapping");if(W$)z9(U,y,g,u,c,null,q,n,B),u=c=D$=null;B$=!0,W$=!1,b=!1,u=U.tag,c=U.result}else if(B$)$$(U,"can not read an implicit mapping pair; a colon is missed");else return U.tag=R,U.anchor=d,!0}else if(B$)$$(U,"can not read a block mapping entry; a multiline key may not be an implicit key");else return U.tag=R,U.anchor=d,!0}if(U.line===B0||U.lineIndent>w){if(W$)q=U.line,n=U.lineStart,B=U.position;if(w9(U,w,A,!0,b))if(W$)c=U.result;else D$=U.result;if(!W$)z9(U,y,g,u,c,D$,q,n,B),u=c=D$=null;y0(U,!0,-1),z$=U.input.charCodeAt(U.position)}if((U.line===B0||U.lineIndent>w)&&z$!==0)$$(U,"bad indentation of a mapping entry");else if(U.lineIndent<w)break}if(W$)z9(U,y,g,u,c,null,q,n,B);if(B$)U.tag=R,U.anchor=d,U.kind="mapping",U.result=y;return B$}function H3(U){let w=!1,j=!1,b,q,n=U.input.charCodeAt(U.position);if(n!==33)return!1;if(U.tag!==null)$$(U,"duplication of a tag property");if(n=U.input.charCodeAt(++U.position),n===60)w=!0,n=U.input.charCodeAt(++U.position);else if(n===33)j=!0,b="!!",n=U.input.charCodeAt(++U.position);else b="!";let B=U.position;if(w){do n=U.input.charCodeAt(++U.position);while(n!==0&&n!==62);if(U.position<U.length)q=U.input.slice(B,U.position),n=U.input.charCodeAt(++U.position);else $$(U,"unexpected end of the stream within a verbatim tag")}else{while(n!==0&&!C$(n)){if(n===33)if(!j){if(b=U.input.slice(B-1,U.position+1),!C.test(b))$$(U,"named tag handle cannot contain such characters");j=!0,B=U.position+1}else $$(U,"tag suffix cannot contain exclamation marks");n=U.input.charCodeAt(++U.position)}if(q=U.input.slice(B,U.position),M.test(q))$$(U,"tag suffix cannot contain flow indicator characters")}if(q&&!m.test(q))$$(U,"tag name cannot contain such characters: "+q);try{q=decodeURIComponent(q)}catch(R){$$(U,"tag name is malformed: "+q)}if(w)U.tag=q;else if(G.call(U.tagMap,b))U.tag=U.tagMap[b]+q;else if(b==="!")U.tag="!"+q;else if(b==="!!")U.tag="tag:yaml.org,2002:"+q;else $$(U,'undeclared tag handle "'+b+'"');return!0}function xY(U){let w=U.input.charCodeAt(U.position);if(w!==38)return!1;if(U.anchor!==null)$$(U,"duplication of an anchor property");w=U.input.charCodeAt(++U.position);let j=U.position;while(w!==0&&!C$(w)&&!d$(w))w=U.input.charCodeAt(++U.position);if(U.position===j)$$(U,"name of an anchor node must contain at least one character");return U.anchor=U.input.slice(j,U.position),!0}function SY(U){let w=U.input.charCodeAt(U.position);if(w!==42)return!1;w=U.input.charCodeAt(++U.position);let j=U.position;while(w!==0&&!C$(w)&&!d$(w))w=U.input.charCodeAt(++U.position);if(U.position===j)$$(U,"name of an alias node must contain at least one character");let b=U.input.slice(j,U.position);if(!G.call(U.anchorMap,b))$$(U,'unidentified alias "'+b+'"');return U.result=U.anchorMap[b],y0(U,!0,-1),!0}function D3(U,w,j,b){let q=XJ(U);if(oZ(U),H7(U,w),U.tag=null,U.anchor=null,U.kind=null,U.result=null,EY(U,j,b)&&U.kind==="mapping")return K6(U),!0;return F9(U),H7(U,q),!1}function w9(U,w,j,b,q){let n,B,R=1,d=!1,y=!1,g=null,u,c,D$;if(U.depth>=U.maxDepth)$$(U,"nesting exceeded maxDepth ("+U.maxDepth+")");if(U.depth+=1,U.listener!==null)U.listener("open",U);U.tag=null,U.anchor=null,U.kind=null,U.result=null;let W$=n=B=A===j||H===j;if(b){if(y0(U,!0,-1)){if(d=!0,U.lineIndent>w)R=1;else if(U.lineIndent===w)R=0;else if(U.lineIndent<w)R=-1}}if(R===1)while(!0){let B$=U.input.charCodeAt(U.position),z$=XJ(U);if(d&&(B$===33&&U.tag!==null||B$===38&&U.anchor!==null))break;if(!H3(U)&&!xY(U))break;if(g===null)g=z$;if(y0(U,!0,-1)){if(d=!0,B=W$,U.lineIndent>w)R=1;else if(U.lineIndent===w)R=0;else if(U.lineIndent<w)R=-1}else B=!1}if(B)B=d||q;if(R===1||A===j){if(Y===j||W===j)c=w;else c=w+1;if(D$=U.position-U.lineStart,R===1)if(B&&(M9(U,D$)||EY(U,D$,c))||LY(U,c))y=!0;else{let B$=U.input.charCodeAt(U.position);if(g!==null&&W$&&!B&&B$!==124&&B$!==62&&D3(U,g,g.position-g.lineStart,c))y=!0;else if(n&&qY(U,c)||RY(U,c)||JJ(U,c))y=!0;else if(SY(U)){if(y=!0,U.tag!==null||U.anchor!==null)$$(U,"alias node should not have any properties")}else if(CY(U,c,Y===j)){if(y=!0,U.tag===null)U.tag="?"}if(U.anchor!==null)m0(U,U.anchor,U.result)}else if(R===0)y=B&&M9(U,D$)}if(U.tag===null){if(U.anchor!==null)m0(U,U.anchor,U.result)}else if(U.tag==="?"){if(U.result!==null&&U.kind!=="scalar")$$(U,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+U.kind+'"');for(let B$=0,z$=U.implicitTypes.length;B$<z$;B$+=1)if(u=U.implicitTypes[B$],u.resolve(U.result)){if(U.result=u.construct(U.result),U.tag=u.tag,U.anchor!==null)m0(U,U.anchor,U.result);break}}else if(U.tag!=="!"){if(G.call(U.typeMap[U.kind||"fallback"],U.tag))u=U.typeMap[U.kind||"fallback"][U.tag];else{u=null;let B$=U.typeMap.multi[U.kind||"fallback"];for(let z$=0,m$=B$.length;z$<m$;z$+=1)if(U.tag.slice(0,B$[z$].tag.length)===B$[z$].tag){u=B$[z$];break}}if(!u)$$(U,"unknown tag !<"+U.tag+">");if(U.result!==null&&u.kind!==U.kind)$$(U,"unacceptable node kind for !<"+U.tag+'> tag; it should be "'+u.kind+'", not "'+U.kind+'"');if(!u.resolve(U.result,U.tag))$$(U,"cannot resolve a node with !<"+U.tag+"> explicit tag");else if(U.result=u.construct(U.result,U.tag),U.anchor!==null)m0(U,U.anchor,U.result)}if(U.listener!==null)U.listener("close",U);return U.depth-=1,U.tag!==null||U.anchor!==null||y}function A3(U){let w=U.position,j=!1,b;U.version=null,U.checkLineBreaks=U.legacy,U.tagMap=Object.create(null),U.anchorMap=Object.create(null);while((b=U.input.charCodeAt(U.position))!==0){if(y0(U,!0,-1),b=U.input.charCodeAt(U.position),U.lineIndent>0||b!==37)break;j=!0,b=U.input.charCodeAt(++U.position);let q=U.position;while(b!==0&&!C$(b))b=U.input.charCodeAt(++U.position);let n=U.input.slice(q,U.position),B=[];if(n.length<1)$$(U,"directive name must not be less than one character in length");while(b!==0){while(G$(b))b=U.input.charCodeAt(++U.position);if(b===35){do b=U.input.charCodeAt(++U.position);while(b!==0&&!e(b));break}if(e(b))break;q=U.position;while(b!==0&&!C$(b))b=U.input.charCodeAt(++U.position);B.push(U.input.slice(q,U.position))}if(b!==0)D7(U);if(G.call(wY,n))wY[n](U,n,B);else T0(U,'unknown document directive "'+n+'"')}if(y0(U,!0,-1),U.lineIndent===0&&U.input.charCodeAt(U.position)===45&&U.input.charCodeAt(U.position+1)===45&&U.input.charCodeAt(U.position+2)===45)U.position+=3,y0(U,!0,-1);else if(j)$$(U,"directives end mark is expected");if(w9(U,U.lineIndent-1,A,!1,!0),y0(U,!0,-1),U.checkLineBreaks&&F.test(U.input.slice(w,U.position)))T0(U,"non-ASCII line breaks are interpreted as content");if(U.documents.push(U.result),U.position===U.lineStart&&A7(U)){if(U.input.charCodeAt(U.position)===46)U.position+=3,y0(U,!0,-1);return}if(U.position<U.length-1)$$(U,"end of the stream or a document separator is expected")}function jY(U,w){if(U=String(U),w=w||{},U.length!==0){if(U.charCodeAt(U.length-1)!==10&&U.charCodeAt(U.length-1)!==13)U+=`
103
+ `;if(U.charCodeAt(0)===65279)U=U.slice(1)}let j=new o$(U,w),b=U.indexOf("\x00");if(b!==-1)j.position=b,$$(j,"null byte is not allowed in input");j.input+="\x00";while(j.input.charCodeAt(j.position)===32)j.lineIndent+=1,j.position+=1;while(j.position<j.length-1)A3(j);return j.documents}function kY(U,w,j){if(w!==null&&typeof w==="object"&&typeof j>"u")j=w,w=null;let b=jY(U,j);if(typeof w!=="function")return b;for(let q=0,n=b.length;q<n;q+=1)w(b[q])}function U3(U,w){let j=jY(U,w);if(j.length===0)return;else if(j.length===1)return j[0];throw new Z("expected a single document in the stream, but found more")}return VU.loadAll=kY,VU.load=U3,VU}var r_={},Qb;function q7$(){if(Qb)return r_;Qb=1;let $=tG(),Z=eG(),X=l_(),J=Object.prototype.toString,G=Object.prototype.hasOwnProperty,Y=65279,W=9,H=10,A=13,K=32,Q=33,O=34,_=35,F=37,M=38,C=39,m=42,V$=44,e=45,G$=58,C$=61,d$=62,k=63,X$=64,l=91,O$=93,v$=96,K$=123,J0=124,K0=125,o$={};o$[0]="\\0",o$[7]="\\a",o$[8]="\\b",o$[9]="\\t",o$[10]="\\n",o$[11]="\\v",o$[12]="\\f",o$[13]="\\r",o$[27]="\\e",o$[34]="\\\"",o$[92]="\\\\",o$[133]="\\N",o$[160]="\\_",o$[8232]="\\L",o$[8233]="\\P";let qZ=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],$$=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function T0(B,R){if(R===null)return{};let d={},y=Object.keys(R);for(let g=0,u=y.length;g<u;g+=1){let c=y[g],D$=String(R[c]);if(c.slice(0,2)==="!!")c="tag:yaml.org,2002:"+c.slice(2);let W$=B.compiledTypeMap.fallback[c];if(W$&&G.call(W$.styleAliases,D$))D$=W$.styleAliases[D$];d[c]=D$}return d}function m0(B){let R,d,y=B.toString(16).toUpperCase();if(B<=255)R="x",d=2;else if(B<=65535)R="u",d=4;else if(B<=4294967295)R="U",d=8;else throw new Z("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+R+$.repeat("0",d-y.length)+y}let oZ=1,K6=2;function F9(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=T0(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==='"'?K6:oZ,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 XJ(B,R){let d=$.repeat(" ",R),y=0,g="",u=B.length;while(y<u){let c,D$=B.indexOf(`
104
+ `,y);if(D$===-1)c=B.slice(y),y=u;else c=B.slice(y,D$+1),y=D$+1;if(c.length&&c!==`
105
+ `)g+=d;g+=c}return g}function H7(B,R){return`
106
+ `+$.repeat(" ",B.indent*R)}function wY(B,R){for(let d=0,y=B.implicitTypes.length;d<y;d+=1)if(B.implicitTypes[d].resolve(R))return!0;return!1}function P8(B){return B===K||B===W}function E1(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 z9(B){return E1(B)&&B!==Y&&B!==A&&B!==H}function D7(B,R,d){let y=z9(B),g=y&&!P8(B);return(d?y:y&&B!==V$&&B!==l&&B!==O$&&B!==K$&&B!==K0)&&B!==_&&!(R===G$&&!g)||z9(R)&&!P8(R)&&B===_||R===G$&&g}function y0(B){return E1(B)&&B!==Y&&!P8(B)&&B!==e&&B!==k&&B!==G$&&B!==V$&&B!==l&&B!==O$&&B!==K$&&B!==K0&&B!==_&&B!==M&&B!==m&&B!==Q&&B!==J0&&B!==C$&&B!==d$&&B!==C&&B!==O&&B!==F&&B!==X$&&B!==v$}function A7(B){return!P8(B)&&B!==G$}function T9(B,R){let d=B.charCodeAt(R),y;if(d>=55296&&d<=56319&&R+1<B.length){if(y=B.charCodeAt(R+1),y>=56320&&y<=57343)return(d-55296)*1024+y-56320+65536}return d}function CY(B){return/^\n* /.test(B)}let RY=1,JJ=2,LY=3,qY=4,M9=5;function EY(B,R,d,y,g,u,c,D$){let W$,B$=0,z$=null,m$=!1,B0=!1,NF=y!==-1,GJ=-1,YJ=y0(T9(B,0))&&A7(T9(B,B.length-1));if(R||c)for(W$=0;W$<B.length;B$>=65536?W$+=2:W$++){if(B$=T9(B,W$),!E1(B$))return M9;YJ=YJ&&D7(B$,z$,D$),z$=B$}else{for(W$=0;W$<B.length;B$>=65536?W$+=2:W$++){if(B$=T9(B,W$),B$===H){if(m$=!0,NF)B0=B0||W$-GJ-1>y&&B[GJ+1]!==" ",GJ=W$}else if(!E1(B$))return M9;YJ=YJ&&D7(B$,z$,D$),z$=B$}B0=B0||NF&&(W$-GJ-1>y&&B[GJ+1]!==" ")}if(!m$&&!B0){if(YJ&&!c&&!g(B))return RY;return u===K6?M9:JJ}if(d>9&&CY(B))return M9;if(!c)return B0?qY:LY;return u===K6?M9:JJ}function H3(B,R,d,y,g){B.dump=function(){if(R.length===0)return B.quotingType===K6?'""':"''";if(!B.noCompatMode){if(qZ.indexOf(R)!==-1||$$.test(R))return B.quotingType===K6?'"'+R+'"':"'"+R+"'"}let u=B.indent*Math.max(1,d),c=B.lineWidth===-1?-1:Math.max(Math.min(B.lineWidth,40),B.lineWidth-u),D$=y||B.flowLevel>-1&&d>=B.flowLevel;function W$(B$){return wY(B,B$)}switch(EY(R,D$,B.indent,c,W$,B.quotingType,B.forceQuotes&&!y,g)){case RY:return R;case JJ:return"'"+R.replace(/'/g,"''")+"'";case LY:return"|"+xY(R,B.indent)+SY(XJ(R,u));case qY:return">"+xY(R,B.indent)+SY(XJ(D3(R,c),u));case M9:return'"'+A3(R)+'"';default:throw new Z("impossible error: invalid scalar style")}}()}function xY(B,R){let d=CY(B)?String(R):"",y=B[B.length-1]===`
107
+ `,u=y&&(B[B.length-2]===`
108
+ `||B===`
109
+ `)?"+":y?"":"-";return d+u+`
110
+ `}function SY(B){return B[B.length-1]===`
111
+ `?B.slice(0,-1):B}function D3(B,R){let d=/(\n+)([^\n]*)/g,y=function(){let D$=B.indexOf(`
112
+ `);return D$=D$!==-1?D$:B.length,d.lastIndex=D$,w9(B.slice(0,D$),R)}(),g=B[0]===`
113
+ `||B[0]===" ",u,c;while(c=d.exec(B)){let D$=c[1],W$=c[2];u=W$[0]===" ",y+=D$+(!g&&!u&&W$!==""?`
114
+ `:"")+w9(W$,R),g=u}return y}function w9(B,R){if(B===""||B[0]===" ")return B;let d=/ [^ ]/g,y,g=0,u,c=0,D$=0,W$="";while(y=d.exec(B)){if(D$=y.index,D$-g>R)u=c>g?c:D$,W$+=`
115
+ `+B.slice(g,u),g=u+1;c=D$}if(W$+=`
116
+ `,B.length-g>R&&c>g)W$+=B.slice(g,c)+`
117
+ `+B.slice(c+1);else W$+=B.slice(g);return W$.slice(1)}function A3(B){let R="",d=0;for(let y=0;y<B.length;d>=65536?y+=2:y++){d=T9(B,y);let g=o$[d];if(!g&&E1(d)){if(R+=B[y],d>=65536)R+=B[y+1]}else R+=g||m0(d)}return R}function jY(B,R,d){let y="",g=B.tag;for(let u=0,c=d.length;u<c;u+=1){let D$=d[u];if(B.replacer)D$=B.replacer.call(d,String(u),D$);if(j(B,R,D$,!1,!1)||typeof D$>"u"&&j(B,R,null,!1,!1)){if(y!=="")y+=","+(!B.condenseFlow?" ":"");y+=B.dump}}B.tag=g,B.dump="["+y+"]"}function kY(B,R,d,y){let g="",u=B.tag;for(let c=0,D$=d.length;c<D$;c+=1){let W$=d[c];if(B.replacer)W$=B.replacer.call(d,String(c),W$);if(j(B,R+1,W$,!0,!0,!1,!0)||typeof W$>"u"&&j(B,R+1,null,!0,!0,!1,!0)){if(!y||g!=="")g+=H7(B,R);if(B.dump&&H===B.dump.charCodeAt(0))g+="-";else g+="- ";g+=B.dump}}B.tag=u,B.dump=g||"[]"}function U3(B,R,d){let y="",g=B.tag,u=Object.keys(d);for(let c=0,D$=u.length;c<D$;c+=1){let W$="";if(y!=="")W$+=", ";if(B.condenseFlow)W$+='"';let B$=u[c],z$=d[B$];if(B.replacer)z$=B.replacer.call(d,B$,z$);if(!j(B,R,B$,!1,!1))continue;if(B.dump.length>1024)W$+="? ";if(W$+=B.dump+(B.condenseFlow?'"':"")+":"+(B.condenseFlow?"":" "),!j(B,R,z$,!1,!1))continue;W$+=B.dump,y+=W$}B.tag=g,B.dump="{"+y+"}"}function U(B,R,d,y){let g="",u=B.tag,c=Object.keys(d);if(B.sortKeys===!0)c.sort();else if(typeof B.sortKeys==="function")c.sort(B.sortKeys);else if(B.sortKeys)throw new Z("sortKeys must be a boolean or a function");for(let D$=0,W$=c.length;D$<W$;D$+=1){let B$="";if(!y||g!=="")B$+=H7(B,R);let z$=c[D$],m$=d[z$];if(B.replacer)m$=B.replacer.call(d,z$,m$);if(!j(B,R+1,z$,!0,!0,!0))continue;let B0=B.tag!==null&&B.tag!=="?"||B.dump&&B.dump.length>1024;if(B0)if(B.dump&&H===B.dump.charCodeAt(0))B$+="?";else B$+="? ";if(B$+=B.dump,B0)B$+=H7(B,R);if(!j(B,R+1,m$,!0,B0))continue;if(B.dump&&H===B.dump.charCodeAt(0))B$+=":";else B$+=": ";B$+=B.dump,g+=B$}B.tag=u,B.dump=g||"{}"}function w(B,R,d){let y=d?B.explicitTypes:B.implicitTypes;for(let g=0,u=y.length;g<u;g+=1){let c=y[g];if((c.instanceOf||c.predicate)&&(!c.instanceOf||typeof R==="object"&&R instanceof c.instanceOf)&&(!c.predicate||c.predicate(R))){if(d)if(c.multi&&c.representName)B.tag=c.representName(R);else B.tag=c.tag;else B.tag="?";if(c.represent){let D$=B.styleMap[c.tag]||c.defaultStyle,W$;if(J.call(c.represent)==="[object Function]")W$=c.represent(R,D$);else if(G.call(c.represent,D$))W$=c.represent[D$](R,D$);else throw new Z("!<"+c.tag+'> tag resolver accepts not "'+D$+'" style');B.dump=W$}return!0}}return!1}function j(B,R,d,y,g,u,c){if(B.tag=null,B.dump=d,!w(B,d,!1))w(B,d,!0);let D$=J.call(B.dump),W$=y;if(y)y=B.flowLevel<0||B.flowLevel>R;let B$=D$==="[object Object]"||D$==="[object Array]",z$,m$;if(B$)z$=B.duplicates.indexOf(d),m$=z$!==-1;if(B.tag!==null&&B.tag!=="?"||m$||B.indent!==2&&R>0)g=!1;if(m$&&B.usedDuplicates[z$])B.dump="*ref_"+z$;else{if(B$&&m$&&!B.usedDuplicates[z$])B.usedDuplicates[z$]=!0;if(D$==="[object Object]"){if(y&&Object.keys(B.dump).length!==0){if(U(B,R,B.dump,g),m$)B.dump="&ref_"+z$+B.dump}else if(U3(B,R,B.dump),m$)B.dump="&ref_"+z$+" "+B.dump}else if(D$==="[object Array]"){if(y&&B.dump.length!==0){if(B.noArrayIndent&&!c&&R>0)kY(B,R-1,B.dump,g);else kY(B,R,B.dump,g);if(m$)B.dump="&ref_"+z$+B.dump}else if(jY(B,R,B.dump),m$)B.dump="&ref_"+z$+" "+B.dump}else if(D$==="[object String]"){if(B.tag!=="?")H3(B,B.dump,R,u,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 B0=encodeURI(B.tag[0]==="!"?B.tag.slice(1):B.tag).replace(/!/g,"%21");if(B.tag[0]==="!")B0="!"+B0;else if(B0.slice(0,18)==="tag:yaml.org,2002:")B0="!!"+B0.slice(18);else B0="!<"+B0+">";B.dump=B0+" "+B.dump}}return!0}function b(B,R){let d=[],y=[];q(B,d,y);let g=y.length;for(let u=0;u<g;u+=1)R.duplicates.push(d[y[u]]);R.usedDuplicates=Array(g)}function q(B,R,d){if(B!==null&&typeof B==="object"){let y=R.indexOf(B);if(y!==-1){if(d.indexOf(y)===-1)d.push(y)}else if(R.push(B),Array.isArray(B))for(let g=0,u=B.length;g<u;g+=1)q(B[g],R,d);else{let g=Object.keys(B);for(let u=0,c=g.length;u<c;u+=1)q(B[g[u]],R,d)}}}function n(B,R){R=R||{};let d=new F9(R);if(!d.noRefs)b(B,d);let y=B;if(d.replacer)y=d.replacer.call({"":y},"",y);if(j(d,0,y,!0,!0))return d.dump+`
118
+ `;return""}return r_.dump=n,r_}var Ob;function E7$(){if(Ob)return pZ;Ob=1;let $=L7$(),Z=q7$();function X(J,G){return function(){throw Error("Function yaml."+J+" is removed in js-yaml 4. Use yaml."+G+" instead, which is now safe by default.")}}return pZ.Type=G8(),pZ.Schema=Bb(),pZ.FAILSAFE_SCHEMA=Fb(),pZ.JSON_SCHEMA=Cb(),pZ.CORE_SCHEMA=Rb(),pZ.DEFAULT_SCHEMA=l_(),pZ.load=$.load,pZ.loadAll=$.loadAll,pZ.dump=Z.dump,pZ.YAMLException=eG(),pZ.types={binary:Eb(),float:wb(),map:Pb(),null:zb(),pairs:Sb(),set:jb(),timestamp:Lb(),bool:Tb(),int:Mb(),merge:qb(),omap:xb(),seq:_b(),str:Nb()},pZ.safeLoad=X("safeLoad","load"),pZ.safeLoadAll=X("safeLoadAll","loadAll"),pZ.safeDump=X("safeDump","dump"),pZ}var x7$=E7$(),S7$=C7$(x7$),{Type:_M$,Schema:PM$,FAILSAFE_SCHEMA:FM$,JSON_SCHEMA:zM$,CORE_SCHEMA:TM$,DEFAULT_SCHEMA:MM$,load:j7$,loadAll:wM$,dump:k7$,YAMLException:CM$,types:RM$,safeLoad:LM$,safeLoadAll:qM$,safeDump:EM$}=S7$;var SM$=D.record(D.string(),D.unknown());class Ib{format($){return $.message}parse($){return{message:$.trim()}}}var eM$=D.object({slug:D.string(),title:D.string(),type:D.string(),entityId:D.string(),contentHash:D.string()});function $Y($,Z){return Z?$.nullable().default(null):$}function s_($){switch($.type){case"string":return $Y(D.string(),$.optional);case"number":return $Y(D.number(),$.optional);case"enum":return $Y(D.enum($.options),$.optional);case"object":{let Z={};for(let[X,J]of Object.entries($.fields))Z[X]=s_(J);return $Y(D.object(Z),$.optional)}case"array":{let Z=D.array(I7$($));if($.minItems!==void 0)Z=Z.min($.minItems);if($.length!==void 0)Z=Z.length($.length);return $Y(Z,$.optional)}}}function I7$($){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]=s_(G);return D.object(X)}}}function i_($,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])=>i_(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])=>i_(J,G)),X}}}}function vb($,Z){let X={};for(let[Y,W]of Object.entries(Z.fields))X[Y]=s_(W);let J=D.object(X),G=new aG(J,{title:Z.title,mappings:Object.entries(Z.fields).map(([Y,W])=>i_(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 v7$($){let Z={};for(let[X,J]of Object.entries($.sections))Z[X]=vb(X,J);return Z}var y7$=R_.omit({url:!0,analyticsScript:!0}),yb=y7$.extend({title:D.string().optional().describe("Optional site title override"),description:D.string().optional().describe("Optional site description override")});function gb($){return yb.parse(ZY($).frontmatter)}async function g7$($){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 gb(X.content)}function a_($,Z={}){let X=bb($),J=bb(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 bb($){return $.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class iX{static instance=null;entityDisplay;constructor(){}static getInstance(){return iX.instance??=new iX,iX.instance}configure($){this.entityDisplay=$}static resetInstance(){iX.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`/${K3($)}/${Z}`}}var mb=["primary","secondary"];var b7$=D.custom(($)=>typeof $==="function","Expected a Preact component"),h7$=D.strictObject({show:D.boolean().optional(),label:D.string().min(1).optional(),slot:D.enum(mb).optional(),priority:D.number().optional()}),m7$=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()}),f7$=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(m7$).optional(),layout:D.string().min(1).optional(),fullscreen:D.boolean().optional(),pluginId:D.string().optional(),sourceEntityType:D.string().optional(),external:D.boolean().optional(),navigation:h7$.optional()}),c7$=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(mb).optional(),priority:D.number().optional()}).optional()}),p7$=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()}),hb=D.strictObject({namespace:D.string().min(1),sections:D.record(D.string(),p7$)}),d7$=D.record(D.string(),D.json()),u7$=D.record(D.string(),D.record(D.string(),d7$)),fb=D.strictObject({layouts:D.record(D.string(),b7$).refine(($)=>typeof $.default==="function",{message:'Site layouts must include a "default" component'}),routes:D.array(f7$),content:u7$.optional(),sections:D.union([hb,D.array(hb)]).optional(),themeOverride:D.string().optional(),headScripts:D.array(D.string()).optional(),entityDisplay:D.record(D.string(),c7$),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[A,K]of Object.entries(W)){let Q=H.sections[A];if(!Q){Z.addIssue({code:"custom",path:["content",Y,A],message:`Content section "${Y}.${A}" is not defined`});continue}let O=Q.schema.safeParse(K);if(!O.success)Z.addIssue({code:"custom",path:["content",Y,A],message:`Content does not satisfy the "${Y}.${A}" schema: ${D.prettifyError(O.error)}`})}}});var o7$=D.string();function n7$($){return $!==null&&typeof $==="object"&&!Array.isArray($)}var r7$=D.custom(($)=>{if(!n7$($))return!1;let{plugin:Z,...X}=$;if(Z!==void 0&&typeof Z!=="function")return!1;return fb.safeParse(X).success});var t_=D.enum(["file_operations","content_operations","data_processing","batch_processing"]),l7$=D.object({pluginId:D.string().optional(),progressToken:D.union([D.string(),D.number()]).optional(),operationType:t_,operationTarget:D.string().optional(),interfaceType:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),requestedByActor:a5.optional(),requestedByUserId:D.string().optional(),requestedByInterface:D.string().optional(),silent:D.boolean().optional(),provenance:e5.optional()}),$7=D.object({pluginId:D.string().optional(),progressToken:D.union([D.string(),D.number()]).optional(),operationType:t_,operationTarget:D.string().optional(),interfaceType:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),requestedByActor:a5.optional(),requestedByUserId:D.string().optional(),requestedByInterface:D.string().optional(),silent:D.boolean().optional(),provenance:e5.optional(),rootJobId:D.string()}),mw$=D.enum(["none","skip","replace","coalesce"]);var i7$=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:$7,progress:D.custom(($)=>typeof $==="object"&&$!==null&&("progress"in $)&&typeof $.progress==="number").nullable(),result:D.unknown().nullable().optional()}),R1=15000;var e_=D.enum(["pending","processing","completed","failed"]),cb=D.enum(["completed","failed"]),Q$={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},s7$=D.object({id:D.string(),type:D.string(),status:e_,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()}),a7$=D.object({jobId:D.string(),type:D.string(),status:cb,result:D.unknown().optional(),error:D.string().optional()}),$P=D.object({success:D.literal(!1),error:D.string().optional()}),QU=D.object({id:D.string(),type:D.enum(["job","batch"]),status:e_,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:$7});var f=FZ("job_queue",{id:Z$("id").primaryKey().$defaultFn(()=>LZ()),type:Z$("type").notNull(),data:Z$("data").notNull(),result:Z$("result",{mode:"json"}),progress:Z$("progress",{mode:"json"}).$type(),source:Z$("source"),metadata:Z$("metadata",{mode:"json"}).$type().notNull(),status:Z$("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:l$("priority").notNull().default(0),retryCount:l$("retryCount").notNull().default(0),maxRetries:l$("maxRetries").notNull().default(3),lastError:Z$("lastError"),createdAt:l$("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:l$("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:l$("startedAt"),completedAt:l$("completedAt"),attemptId:Z$("attemptId"),workerSlotId:Z$("workerSlotId"),workerSessionId:Z$("workerSessionId"),leaseExpiresAt:l$("leaseExpiresAt"),attemptHeartbeatAt:l$("attemptHeartbeatAt"),runtimeUpdatedAt:l$("runtimeUpdatedAt")},($)=>({queueReadyIdx:$Z("idx_job_queue_ready").on($.status,$.priority,$.scheduledFor),jobTypeIdx:$Z("idx_job_queue_type").on($.type,$.status),runtimeUpdatesIdx:$Z("idx_job_queue_runtime_updates").on($.runtimeUpdatedAt,$.id),jobSourceIdx:$Z("idx_job_queue_source").on($.source)})),u$=FZ("job_worker_sessions",{slotId:Z$("slotId").primaryKey(),sessionId:Z$("sessionId").notNull().unique(),startedAt:l$("startedAt").notNull(),heartbeatAt:l$("heartbeatAt").notNull(),expiresAt:l$("expiresAt").notNull().default(0)},($)=>({heartbeatIdx:$Z("idx_job_worker_sessions_heartbeat").on($.heartbeatAt),expiresIdx:$Z("idx_job_worker_sessions_expires").on($.expiresAt)}));function pb($){return k6({url:$.url,schema:{jobQueue:f,jobWorkerSessions:u$},authToken:$.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN"})}class ZP{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 t7$=D.looseObject({deduplicationKey:D.string().optional()});class XP{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===Q$.PENDING)??null;if(Z==="skip"||Z==="replace")return G;return G??J[0]??null}filterByDeduplicationKey($,Z){if(!Z)return $;return $.filter((X)=>{let J=t7$.safeParse(X.metadata);return J.success&&J.data.deduplicationKey===Z})}}var e7$=2000,$X$=5,ZX$=40,XX$=new O_;class JP{db;transactionClient;databaseUrl;logger;deduplicator=new XP;writeRetryBudgetMs;constructor($,Z,X,J,G){this.db=$,this.transactionClient=Z,this.databaseUrl=X,this.logger=J.child("JobQueueRepository"),this.writeRetryBudgetMs=G?.writeRetryBudgetMs??e7$}async insert($){await this.db.insert(f).values($)}async enqueueAtomic($){return XX$.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 A=await this.getActiveDeduplicationCandidates($,X.type),K=this.deduplicator.findDuplicate(A,W,G);if(!K)return await H(),{kind:"inserted",jobId:X.id};if(W==="skip")return{kind:"skipped",jobId:K.id};if(W==="coalesce"){if((await $.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),K.id,K.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${K.id}`);return{kind:"coalesced",jobId:K.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:[Q$.FAILED,"Replaced by newer job",Q,Q,K.id,Q$.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${K.id}`);return await this.insertJob($,X),{kind:"replaced",jobId:X.id,replacedJobId:K.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,Q$.PENDING,Q$.PROCESSING]})).rows.map((J)=>this.parseDeduplicationCandidate(J))}parseDeduplicationCandidate($){let{id:Z,status:X,createdAt:J,metadata:G}=$;if(typeof Z!=="string"||X!==Q$.PENDING&&X!==Q$.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($X$*2**(Y-1),ZX$),A=H/2+Math.random()*(H/2);if(Date.now()+A>=G)throw this.transactionConflictError($,Z,Y,W);return await new Promise((K)=>setTimeout(K,A)),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=e$(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=R1){let G=X+J;await this.db.insert(u$).values({slotId:$,sessionId:Z,startedAt:X,heartbeatAt:X,expiresAt:G}).onConflictDoUpdate({target:u$.slotId,set:{sessionId:Z,startedAt:X,heartbeatAt:X,expiresAt:G}})}async heartbeatWorkerSession($,Z,X=Date.now(),J=R1){return(await this.db.update(u$).set({heartbeatAt:X,expiresAt:X+J}).where(P$(p(u$.slotId,$),p(u$.sessionId,Z))).returning({slotId:u$.slotId})).length===1}async endWorkerSession($,Z){return(await this.db.delete(u$).where(P$(p(u$.slotId,$),p(u$.sessionId,Z))).returning({slotId:u$.slotId})).length===1}async complete($,Z,X){let J=Date.now(),Y=(await this.db.update(f).set({status:Q$.COMPLETED,result:Z,lastError:null,completedAt:J,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(J)}).where(this.attemptWriteGuard($,X)).returning({id:f.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(f).set({data:JSON.stringify(Z)}).where(this.attemptWriteGuard($,X)).returning({id:f.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(f).set({attemptHeartbeatAt:J,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(J),progress:X}).where(this.attemptWriteGuard($,Z)).returning({id:f.id})).length===1}async renewAttemptLease($,Z,X,J){return(await this.db.update(f).set({attemptHeartbeatAt:X,leaseExpiresAt:X+J}).where(this.attemptWriteGuard($,Z)).returning({id:f.id})).length===1}async fail($,Z,X,J=Date.now()){let Y=(await this.db.select({retryCount:f.retryCount,maxRetries:f.maxRetries,type:f.type,scheduledFor:f.scheduledFor,startedAt:f.startedAt,runtimeUpdatedAt:f.runtimeUpdatedAt}).from(f).where(this.attemptWriteGuard($,X)).limit(1))[0];if(!Y)return!1;let W=Y.retryCount<Y.maxRetries,H=W?Y.retryCount+1:Y.retryCount,A=Math.min(1000*2**Y.retryCount,60000),K=W?J+A:Y.scheduledFor;if((await this.db.update(f).set({status:W?Q$.PENDING:Q$.FAILED,retryCount:H,lastError:Z.message,scheduledFor:K,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(P$(this.attemptWriteGuard($,X),p(f.retryCount,Y.retryCount))).returning({id:f.id})).length!==1)return!1;if(W)this.logger.debug("Job scheduled for retry",{jobId:$,retryCount:H,backoffMs:A,scheduledFor:new Date(K).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(f).where(p(f.id,$)).limit(1))[0]??null}async getStatusByEntityId($){return(await this.db.select().from(f).where(N`json_extract(${f.data}, '$.id') = ${$}`).orderBy(_Z(f.createdAt)).limit(1))[0]??null}async getStats(){let $=await this.db.select({status:f.status,count:N`count(*)`}).from(f).groupBy(f.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:f.type,status:f.status,count:N`count(*)`}).from(f).groupBy(f.type,f.status),this.db.select({oldestPendingAt:N`min(case when ${f.status} = ${Q$.PENDING} then ${f.createdAt} end)`,duePending:N`coalesce(sum(case when ${f.status} = ${Q$.PENDING} and ${f.scheduledFor} <= ${$} then 1 else 0 end), 0)`,oldestDuePendingAt:N`min(case when ${f.status} = ${Q$.PENDING} and ${f.scheduledFor} <= ${$} then ${f.scheduledFor} end)`,latestClaimAt:N`max(${f.startedAt})`,oldestProcessingAt:N`min(case when ${f.status} = ${Q$.PROCESSING} then ${f.startedAt} end)`,staleLeaseCount:N`coalesce(sum(case when ${f.status} = ${Q$.PROCESSING} and ${f.leaseExpiresAt} is not null and ${f.leaseExpiresAt} <= ${$} then 1 else 0 end), 0)`}).from(f),this.db.select({total:N`count(*)`,active:N`coalesce(sum(case when ${u$.expiresAt} > ${$} then 1 else 0 end), 0)`,stale:N`coalesce(sum(case when ${u$.expiresAt} <= ${$} then 1 else 0 end), 0)`,latestHeartbeatAt:N`max(${u$.heartbeatAt})`}).from(u$)]),G={pending:0,processing:0,completed:0,failed:0},Y=Z.map((K)=>{let Q=Number(K.count);return G[K.status]+=Q,{type:K.type,status:K.status,count:Q}}),W=X[0],H=J[0],A=(K)=>K===null||K===void 0?null:Math.max(0,$-Number(K));return{totals:G,byType:Y,oldestPendingAgeMs:A(W?.oldestPendingAt),duePending:Number(W?.duePending??0),oldestDuePendingAgeMs:A(W?.oldestDuePendingAt),latestClaimAgeMs:A(W?.latestClaimAt),oldestProcessingAgeMs:A(W?.oldestProcessingAt),staleLeaseCount:Number(W?.staleLeaseCount??0),workerSessions:{total:Number(H?.total??0),active:Number(H?.active??0),stale:Number(H?.stale??0),latestHeartbeatAgeMs:A(H?.latestHeartbeatAt)}}}async getRuntimeUpdates($,Z){return(await this.db.select().from(f).where(N`(${f.runtimeUpdatedAt}, ${f.id}) > (${$.updatedAt}, ${$.jobId})`).orderBy(I0(f.runtimeUpdatedAt),I0(f.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(f).where(P$(C4(p(f.status,Q$.COMPLETED),p(f.status,Q$.FAILED)),x6(f.completedAt,Z)))).rowsAffected}async getActiveJobs($){let Z=C4(p(f.status,Q$.PENDING),p(f.status,Q$.PROCESSING)),X=$&&$.length>0?P$(Z,X8(f.type,$)):Z;return this.db.select().from(f).where(X).orderBy(_Z(f.createdAt))}async getFailedJobs($){let Z=p(f.status,Q$.FAILED),X=$&&$.length>0?P$(Z,X8(f.type,$)):Z;return this.db.select().from(f).where(X).orderBy(_Z(f.createdAt))}async claimNextReady($){let{now:Z,attemptId:X,workerSlotId:J,workerSessionId:G,leaseDurationMs:Y,executableTypes:W}=$,H=this.db.select({slotId:u$.slotId}).from(u$).where(P$(p(u$.slotId,J),p(u$.sessionId,G),hX(u$.expiresAt,Z))),A=this.db.select({slotId:u$.slotId}).from(u$).where(P$(p(u$.slotId,f.workerSlotId),p(u$.sessionId,f.workerSessionId))),K=this.db.select({slotId:u$.slotId}).from(u$).where(P$(p(u$.slotId,f.workerSlotId),p(u$.sessionId,f.workerSessionId),x6(u$.expiresAt,Z))),Q=P$(p(f.status,Q$.PROCESSING),C4(M1(f.attemptId),lA(A),P$(x6(f.leaseExpiresAt,Z),hG(K)))),O=N`${f.status} = ${Q$.PROCESSING} AND ${f.retryCount} + 1 > ${f.maxRetries}`,_=this.db.select({id:f.id}).from(f).where(P$(X8(f.type,W),C4(P$(p(f.status,Q$.PENDING),x6(f.scheduledFor,Z)),Q))).orderBy(I0(f.priority),I0(f.createdAt)).limit(1),M=(await this.db.update(f).set({status:N`CASE WHEN ${O} THEN ${Q$.FAILED} ELSE ${Q$.PROCESSING} END`,retryCount:N`CASE WHEN ${f.status} = ${Q$.PROCESSING} THEN ${f.retryCount} + 1 ELSE ${f.retryCount} END`,lastError:N`CASE WHEN ${f.status} = ${Q$.PROCESSING} THEN 'Attempt lease expired' ELSE ${f.lastError} END`,startedAt:N`CASE WHEN ${O} THEN ${f.startedAt} ELSE ${Z} END`,completedAt:N`CASE WHEN ${O} THEN ${Z} ELSE NULL END`,attemptId:N`CASE WHEN ${O} THEN ${f.attemptId} ELSE ${X} END`,workerSlotId:N`CASE WHEN ${O} THEN ${f.workerSlotId} ELSE ${J} END`,workerSessionId:N`CASE WHEN ${O} THEN ${f.workerSessionId} ELSE ${G} END`,leaseExpiresAt:N`CASE WHEN ${O} THEN ${f.leaseExpiresAt} ELSE ${Z+Y} END`,attemptHeartbeatAt:N`CASE WHEN ${O} THEN ${f.attemptHeartbeatAt} ELSE ${Z} END`,runtimeUpdatedAt:N`CASE WHEN ${O} THEN ${this.nextRuntimeUpdatedAt(Z)} ELSE ${f.runtimeUpdatedAt} END`}).where(P$(X8(f.id,_),hG(H))).returning())[0];if(M?.status!==Q$.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:M.id,attemptId:M.attemptId,workerSlotId:J,workerSessionId:G}),M}nextRuntimeUpdatedAt($){return N`max(${$}, coalesce((select max(${f.runtimeUpdatedAt}) from ${f}), 0) + 1)`}attemptWriteGuard($,Z){return Z?P$(p(f.id,$),p(f.status,Q$.PROCESSING),p(f.attemptId,Z)):P$(p(f.id,$),M1(f.attemptId),C4(p(f.status,Q$.PENDING),p(f.status,Q$.PROCESSING)))}}import{AsyncLocalStorage as JX$}from"async_hooks";class sX{storage=new JX$;static createFresh(){return new sX}constructor(){}current(){return this.storage.getStore()}run($,Z,X){if(Z.length===0)throw Error("Operation ID must not be empty");let J=e5.parse($),G=GX$(J);return this.storage.run(Object.freeze({provenance:G,operationId:Z}),X)}}function GX$($){if(Object.freeze($.projectionLineage),$.sourceEntity)Object.freeze($.sourceEntity);return Object.freeze($)}class GP{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${LZ()}`;directWorkerSessionId=LZ();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh($,Z,X){return new GP($,Z??_9.getInstance(),X)}constructor($,Z,X){let{db:J,client:G,url:Y}=pb($);this.client=G,this.databaseUrl=Y,this.logger=Z.child("JobQueueService"),this.operationContext=X?.operationContext??sX.createFresh(),this.projectionAdmission=X?.projectionAdmission,this.handlerRegistry=new ZP(this.logger,X?.handlerRegistrationMode??"combined"),this.repository=new JP(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 I6(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=LZ(),A=J?.rootJobId??this.operationContext.current()?.provenance.rootJobId??H,K=this.createJobProvenance(H,A,J),Q=J?.metadata??{operationType:"data_processing"},{provenance:O,..._}=Q,F={id:H,type:Z,data:JSON.stringify(Y),status:Q$.PENDING,priority:J?.priority??0,maxRetries:J?.maxRetries??3,retryCount:0,source:J?.source??null,metadata:{..._,...J?.deduplicationKey&&{deduplicationKey:J.deduplicationKey},rootJobId:A,provenance:K},createdAt:W,scheduledFor:J?.delayMs?W+J.delayMs:W,result:null,lastError:null,startedAt:null,completedAt:null},M;try{let C=await this.repository.enqueueAtomic({jobData:F,strategy:J?.deduplication,deduplicationKey:J?.deduplicationKey,beforeInsert:async()=>{M=await this.projectionAdmission?.reserveJobAdmission(K)}});if(M?.commit(),C.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:Z,existingJobId:C.jobId});else if(C.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:Z,existingJobId:C.jobId});else{if(C.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:Z,oldJobId:C.replacedJobId});this.logger.debug("Job enqueued",{id:C.jobId,type:Z,priority:F.priority,rootJobId:F.metadata.rootJobId})}return C.jobId}catch(C){throw M?.rollback(),this.logger.error("Failed to enqueue job",{type:Z,error:e$(C)}),C}}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,A=H?[...Y?.projectionLineage??[],H.id]:[...Y?.projectionLineage??[]],K=H?.id??Y?.projectionId;return e5.parse({rootJobId:Z,causationId:W??Y?.causationId??$,...K?{projectionId:K}:{},projectionLineage:A,...H?.sourceEntity?{sourceEntity:H.sourceEntity}:Y?.sourceEntity?{sourceEntity:Y.sourceEntity}:{},derivationDepth:A.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:LZ(),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=R1){await this.repository.startWorkerSession($,Z,Date.now(),X)}heartbeatWorkerSession($,Z,X=R1){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 db extends Error{constructor($,Z){super(`Job ${$} exceeded its ${Z}ms execution deadline`);this.name="JobDeadlineExceededError"}}class YP{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 YP($,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??sX.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??R1,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 $=LZ();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=a.runSync(u0.make()),this.jobFibers=a.runSync(u0.extend(K9.make(),this.workerScope)),this.pollFiber=a.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 a.runPromise(H9.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 a.runPromise(K9.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 a.runPromise(K9.run(X,J.id,a.promise(()=>this.processJobWrapper(J))))}catch($){this.logger.error("Error processing available jobs",{error:$}),this.stats.lastError=e$($)}}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=e$(X)}finally{this.activeJobs.delete(Z)}}runPollingLoop(){let Z=a.suspend(()=>{if(!this.isWorkerRunning()||this.isStopRequested())return a.interrupt;return this.currentPoll=this.processAvailableJobs(),a.promise(()=>this.currentPoll??Promise.resolve()).pipe(a.andThen(a.suspend(()=>{return this.currentPoll=null,!this.isWorkerRunning()||this.isStopRequested()?a.interrupt:a.void})))}).pipe(a.schedule(V9.spaced(this.config.pollInterval)),a.asVoid);return(this.clock?a.withClock(Z,this.clock):Z).pipe(a.ensuring(a.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,A)=>{J=H,G=A}),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 a.runPromise(u0.close($,F0.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: ${e$($)}`)})}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=aX(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:e$(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((A)=>({kind:"success",value:A}),(A)=>({kind:"failure",error:A})),Y=await this.raceOutcome(G,Z);if(Y.kind!=="timeout"){if(Y.kind==="failure")throw Y.error;return Y.value}let W=new db($,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:Q$.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:Q$.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),A=X.validateAndParse(H);if(A===null)throw Error(`Invalid job data for type: ${$.type}`);let K=this.progressMonitor.createProgressReporter($.id,Z),Q=X.executionTimeoutMs??this.config.defaultExecutionTimeoutMs,O=await this.executeWithDeadline($.type,Q,J,()=>X.process(A,$.id,K,J.signal));await W();let _=$P.safeParse(O);if(_.success){let M=_.data.error??"Handler returned failure",C=Error(M);if(await this.jobQueueService.fail($.id,C,Z))await this.emitTerminalFailure($,C,X,Z);return{jobId:$.id,type:$.type,status:Q$.FAILED,error:M}}if(!await this.jobQueueService.complete($.id,O,Z))return{jobId:$.id,type:$.type,status:Q$.FAILED,error:"Job attempt no longer owns the claim"};return await this.progressMonitor.handleJobStatusChange($.id,"completed",$.metadata),{jobId:$.id,type:$.type,status:Q$.COMPLETED,result:O}}catch(H){let A=aX(H);if(await W(),await this.runHandlerErrorCallback("onError",X,$,A,Z),await this.jobQueueService.fail($.id,A,Z))await this.emitTerminalFailure($,A,X,Z);return{jobId:$.id,type:$.type,status:Q$.FAILED,error:A.message}}}async emitTerminalFailure($,Z,X,J){if((await this.jobQueueService.getStatus($.id))?.status!==Q$.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),A=new AbortController;await this.executeWithDeadline(`${X.type}:${$}`,this.config.errorCallbackTimeoutMs,A,()=>Y.call(Z,J,W,X.id,H,A.signal))}catch(W){this.logger.error($==="onError"?"Job handler error callback failed":"Job handler terminal error callback failed",{jobId:X.id,error:W})}}}var YX$=86400000,ub=3600000;class WP{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh($,Z,X){return new WP($,Z,X)}constructor($,Z,X){this.jobQueue=$,this.logger=Z,this.clock=X?.clock}start($=ub){return this.requestTransition("start",$)}stop(){return this.requestTransition("stop",ub)}async startCleanup($){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=a.runFork(this.runCleanupLoop($))}runCleanupLoop($){let Z=this.cleanupTerminalBatchMetadata().pipe(a.schedule(V9.spaced($)),a.asVoid);return this.clock?a.withClock(Z,this.clock):Z}scheduleTerminalBatchCleanup(){if(!this.acceptingCleanup)return;this.cleanupSupervisor??=this.createCleanupSupervisor();let $=a.runFork(this.cleanupTerminalBatchMetadata());n5.unsafeAdd(this.cleanupSupervisor.fibers,$)}async stopCleanup(){this.acceptingCleanup=!1;let $=this.cleanupFiber;if(this.cleanupFiber=null,$)await a.runPromise(H9.interrupt($));let Z=this.cleanupSupervisor;if(Z)await a.runPromise(n5.awaitEmpty(Z.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(Z)await a.runPromise(u0.close(Z.scope,F0.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,A)=>{J=H,G=A}),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 $=a.runSync(u0.make()),Z=a.runSync(u0.extend(n5.make(),$));return{scope:$,fibers:Z}}cleanupTerminalBatchMetadata(){return a.tryPromise({try:()=>{let $=this.cleanup(YX$);return this.inFlightCleanups.add($),$.then(()=>this.inFlightCleanups.delete($),()=>this.inFlightCleanups.delete($)),$},catch:($)=>$}).pipe(a.asVoid,a.catchAll(($)=>a.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((K)=>this.jobQueue.getStatus(K))),J=0,G=0,Y=0,W=[];for(let[K,Q]of X.entries()){if(!Q){G++;let O=Z.operations[K],_=Z.jobIds[K]??"unknown";W.push(`Missing job ${_}${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=Q$.PROCESSING;else if(G>0)H=Q$.FAILED;else H=Q$.COMPLETED;if(Z.terminalAt===void 0&&(H===Q$.COMPLETED||H===Q$.FAILED))Z.terminalAt=Date.now();let A;for(let K=0;K<Z.jobIds.length;K++){let Q=X[K];if(Q&&Q.status!=="completed"&&Q.status!=="failed"){let O=Z.operations[K];if(O)A=`Processing ${O.type}`;break}}return{batchId:$,totalOperations:Z.operations.length,completedOperations:J,failedOperations:G,errors:W,status:H,currentOperation:A,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===Q$.COMPLETED||W.status===Q$.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 WX$=D.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},D.record(D.string(),D.unknown()));class HP{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};polling=!1;static createFresh($,Z,X,J,G="combined"){return new HP($,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=j4.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:XY.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:XY.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=WX$.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?$7.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 HX$=D.record(D.string(),D.unknown());class JY{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=HX$.safeParse($);return Z.success?Z.data:{}}}function DP($,Z,X){return async(J)=>{let{type:G,data:Y,toolContext:W=null,options:H,projection:A}=J,K=W?ob(W):void 0,{metadata:Q,...O}=H??{},_={operationType:"data_processing",pluginId:Z,...Q,...W&&{interfaceType:W.interfaceType,conversationId:W.conversationId,channelId:W.channelId,requestedByActor:W.actor,...K?{requestedByUserId:K}:{},requestedByInterface:W.interfaceType}};if(W&&!K)delete _.requestedByUserId;let F={...O,source:Z,...H?.rootJobId&&{rootJobId:H.rootJobId},...A&&{projection:A},metadata:_},M=X&&!G.includes(":")?`${Z}:${G}`:G;return $.enqueue({type:M,data:Y,options:F})}}function AP($,Z){return async(X,J)=>{let G=LZ(),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 UP($,Z){return(X,J)=>{let G=X.includes(":")?X:`${Z}:${X}`;$.registerHandler(G,J,Z)}}var DX$=D.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)),AX$=D.object({name:D.string(),schema:DX$});function nb($){return AX$.safeParse($).success}function UX$($){if(!$)return;return{status:$.status,message:$.message,lastCheck:$.lastCheck?.toISOString(),details:$.details}}function rb($){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:UX$(Z.health)})),endpoints:$.endpoints,interactions:$.interactions}}var lb={digest:"conversation:digest"};var D0=FZ("conversations",{id:Z$("id").primaryKey(),sessionId:Z$("session_id").notNull(),interfaceType:Z$("interface_type").notNull(),channelId:Z$("channel_id").notNull(),personId:Z$("person_id"),started:Z$("started").notNull(),lastActive:Z$("last_active").notNull(),metadata:Z$("metadata"),created:Z$("created").notNull(),updated:Z$("updated").notNull()},($)=>({sessionIdx:$Z("idx_conversations_session").on($.sessionId),channelIdx:$Z("idx_conversations_channel").on($.channelId),personIdx:$Z("idx_conversations_person").on($.personId),interfaceSessionIdx:$Z("idx_conversations_interface_session").on($.interfaceType,$.sessionId),interfaceChannelIdx:$Z("idx_conversations_interface_channel").on($.interfaceType,$.channelId)})),dZ=FZ("messages",{id:Z$("id").primaryKey(),conversationId:Z$("conversation_id").notNull().references(()=>D0.id,{onDelete:"cascade"}),role:Z$("role").notNull(),content:Z$("content").notNull(),timestamp:Z$("timestamp").notNull(),metadata:Z$("metadata")},($)=>({conversationIdx:$Z("idx_messages_conversation").on($.conversationId),timestampIdx:$Z("idx_messages_timestamp").on($.timestamp)})),Z7=FZ("summary_tracking",{conversationId:Z$("conversation_id").primaryKey().references(()=>D0.id,{onDelete:"cascade"}),lastSummarizedAt:Z$("last_summarized_at"),lastMessageId:Z$("last_message_id"),messagesSinceSummary:l$("messages_since_summary").default(0),updated:Z$("updated").notNull()});function ib($){return k6({url:$.url,schema:{conversations:D0,messages:dZ,summaryTracking:Z7},authToken:$.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var KX$=D.preprocess(($)=>{if(typeof $!=="string")return $;try{return JSON.parse($)}catch{return}},D.record(D.string(),D.unknown())).catch({});function X7($){return KX$.parse($)}var BU="conversation:messageAdded",KP="conversation:started",GY=D.object({identity:a5,interfaceType:D.string(),role:yX,displayName:D.string().optional(),username:D.string().optional(),isBot:D.boolean().optional()}),VX$=D.preprocess(QX$,GY);function QX$($){if(!OU($)||"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:sb({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 YY=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()}),ab=D.looseObject({actor:VX$.optional(),source:YY.optional()});function tb($){if(typeof $==="string")try{let Z=JSON.parse($);return OU(Z)?Z:null}catch{return null}return OU($)?$:null}function OX$($){if($.role!=="assistant")return!1;if($.content.trim().length===0)return!1;let Z=tb($.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(!OU(G))return!1;if(G.kind==="tool-approval")return!0;return G.kind==="actions"&&G.id==="actions:upload-intent"})}function OU($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var BX$=D.object({id:D.string(),conversationId:D.string(),role:D.string(),content:D.string(),timestamp:D.string(),metadata:D.string().nullable()}),eb=D.object({conversationId:D.string(),messageCount:D.number(),messages:D.array(BX$),windowStart:D.number(),windowEnd:D.number(),windowSize:D.number(),timestamp:D.string()});class NU{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 I6($,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 NU($,Z,X,J)}static createFreshFromConfig($,Z,X,J){let{db:G,client:Y,url:W}=ib(X),H=new NU(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(D0).set({lastActive:W,updated:W}).where(p(D0.id,Z)),this.logger.debug("Resumed existing conversation",{conversationId:Z,interfaceType:X}),Z;let A={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(D0).values(A);let K={conversationId:Z,messagesSinceSummary:0,updated:W};return await this.db.insert(Z7).values(K),this.logger.debug("Started new conversation",{conversationId:Z,sessionId:Z,interfaceType:X}),await this.messageBus.send({type:KP,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=LZ(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(D0).set({lastActive:Y,updated:Y}).where(p(D0.id,Z)),await this.db.update(Z7).set({messagesSinceSummary:N`${Z7.messagesSinceSummary} + 1`,lastMessageId:W,updated:Y}).where(p(Z7.conversationId,Z)),this.logger.debug("Added message to conversation",{conversationId:Z,role:X,messageId:W}),await this.messageBus.send({type:BU,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(I0(dZ.timestamp)).limit(Y).offset(G)}else return(await this.db.select().from(dZ).where(p(dZ.conversationId,$)).orderBy(_Z(dZ.timestamp)).limit(X)).reverse()}async getConversation($){return(await this.db.select().from(D0).where(p(D0.id,$)).limit(1))[0]??null}async listConversations($={}){let{limit:Z=100,updatedAfter:X,interfaceType:J,sessionId:G,channelId:Y,personId:W}=$,H=[X?hX(D0.updated,X):void 0,J?p(D0.interfaceType,J):void 0,G?p(D0.sessionId,G):void 0,Y?p(D0.channelId,Y):void 0,W?p(D0.personId,W):void 0].filter((K)=>K!==void 0),A=this.db.select().from(D0).orderBy(_Z(D0.lastActive)).limit(Z);if(H.length===0)return A;return A.where(P$(...H))}async searchConversations($,Z){let X=`%${$.toLowerCase()}%`;return(await this.db.selectDistinct({conversation:D0}).from(D0).leftJoin(dZ,p(dZ.conversationId,D0.id)).where(Z?N`lower(${dZ.content}) LIKE ${X} AND ${D0.sessionId} = ${Z}`:N`lower(${dZ.content}) LIKE ${X}`).orderBy(_Z(D0.lastActive))).map((G)=>G.conversation)}async countMessages($){let[Z]=await this.db.select({count:Zg()}).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={...X7(Z.metadata),...$.metadata};return await this.db.update(D0).set({metadata:JSON.stringify(J),updated:X}).where(p(D0.id,$.conversationId)),this.logger.debug("Updated conversation metadata",{conversationId:$.conversationId}),!0}async deleteConversation($){if(!await this.getConversation($))return!1;return await this.db.delete(D0).where(p(D0.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:lb.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 _X$($){let Z=yX.safeParse($);return Z.success?Z.data:"user"}function _U($){let Z=X7($.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 $h($){return{id:$.id,conversationId:$.conversationId,role:_X$($.role),content:$.content,timestamp:$.timestamp,metadata:X7($.metadata)}}function Zh($){return UN.parse($)}function Xh($){return KN.parse($)}function Jh($){return async()=>{return rb(await $.getAppInfo())}}function Gh($,Z){return{get:()=>Zh($.getIdentity()),getProfile:()=>Xh($.getProfile()),getAppInfo:Z}}function Yh($,Z){let X=$.getProfileKindRegistry();return{register:(J)=>{X.register(Z,J)},getResolved:()=>X.getResolved(),getSelectedDefinition:()=>X.getSelectedDefinition()}}function VP($){let Z=$.getChannelRegistry();return{listDescriptors:()=>Z.listDescriptors(),getDescriptor:(X)=>Z.getDescriptor(X),getDeliveryProvider:(X)=>Z.getDeliveryProvider(X)}}function Wh($,Z){let X=$.getOperationalHealthRegistry();return{register:(J,G)=>X.register(Z,J,G)}}function Hh($,Z){let X=$.getInboxRegistry();return{registerSource:(J)=>{X.registerSource(Z,J)},listSources:()=>X.listSources(),getSource:(J)=>X.getSource(J)}}function Dh($,Z){let X=$.getChannelRegistry();return{...VP($),registerDescriptor:(J)=>{X.registerDescriptor(Z,J)},registerDeliveryProvider:(J)=>{X.registerDeliveryProvider(Z,J)}}}function Ah($,Z,X,J=!1){let G=$.getMessageBus();return{send:async(W)=>{return G.send({...W,sender:Z})},subscribe:(W,H)=>{if(J)return()=>{};if(nb(W)){let A=W,K=H,Q=async(O)=>{let _=A.schema.safeParse(O.payload);if(!_.success)return X.warn(`Invalid payload for channel ${A.name}`,{error:_.error.message}),{noop:!0};let{payload:F,...M}=O;return K(_.data,M)};return G.subscribe(A.name,Q)}return G.subscribe(W,H)},subscribeExecution:(W,H)=>G.subscribe(W,H)}}function Uh($,Z){let X=$.getJobQueueService();return{...$.jobs,enqueue:DP(X,Z,!0),enqueueBatch:AP($.jobs,Z),registerHandler:UP(X,Z)}}function Kh($){let Z=$.getPermissionService();return{assertEntityActionAllowed:(X,J,G)=>{Z.assertEntityActionAllowed(X,J,G.userPermissionLevel)}}}function Vh($){return{get:async(Z)=>{let J=await $.getConversationService().getConversation(Z);return J?_U(J):null},search:async(Z)=>{return(await $.getConversationService().searchConversations(Z)).map(_U)},list:async(Z)=>{return(await $.getConversationService().listConversations(Z)).map(_U)},getMessages:async(Z,X)=>{return(await $.getConversationService().getMessages(Z,X)).map($h)},countMessages:async(Z)=>{return $.getConversationService().countMessages(Z)}}}function Qh($,Z){return{registerHandler:(X,J)=>{$.registerEvalHandler(Z,X,J)}}}function Oh($){return{register:(Z,X)=>{$.getInsightsRegistry().register(Z,X)}}}function Bh($){return{has:(Z)=>$.getPluginPackageName(Z)!==void 0}}function Nh($,Z){return{register:(X)=>{$.registerEndpoint({...X,pluginId:Z})}}}function _h($,Z){return{register:(X)=>{$.registerInteraction({...X,pluginId:Z})}}}function Ph($,Z){return{registerWidget:async(X)=>{await $.send({type:QP.registerWidget,payload:{...X,pluginId:Z}})},unregisterWidget:async(X)=>{await $.send({type:QP.unregisterWidget,payload:{pluginId:Z,...X?{widgetId:X}:{}}})}}}function J7($,Z,X){let J=$.getEntityService(),G=$.getLogger().child(Z),Y=$.getDomain(),W=$.getLocalSiteUrl(),H=$.shouldPreferLocalUrls(),A=$.getThemeCSS(),K=Jh($),Q=$.getAttachmentRegistry(),O=$.getRuntimeUploadRegistry(),_=$.getRuntimeState(),F=X?.executionOnly===!0,M=Ah($,Z,G,F);return{pluginId:Z,executionOnly:F,logger:G,entityService:J,semantic:{project:(C)=>J.projectSemanticSpace(C)},identity:Gh($,K),profileKinds:Yh($,Z),channels:VP($),inbox:Hh($,Z),appInfo:K,readiness:()=>$.getRuntimeReadiness(),operationalHealth:Wh($,Z),judge:(C)=>$.judge(C),domain:Y,siteUrl:Y?`https://${Y}`:void 0,localSiteUrl:W,previewUrl:Y?`https://${a_(Y)}`:void 0,preferLocalUrls:H,themeCSS:A,entityDisplay:X?.entityDisplay,spaces:$.getSpaces(),permissions:Kh($),messaging:M,dashboard:Ph(M,Z),jobs:Uh($,Z),attachments:Q,uploads:O,runtimeState:_,recurringChecks:$.getRecurringChecks(Z),conversations:Vh($),dataDir:$.getDataDir(),eval:F?{registerHandler:()=>{}}:Qh($,Z),insights:F?{register:()=>{}}:Oh($),plugins:Bh($),endpoints:F?{register:()=>{}}:Nh($,Z),interactions:F?{register:()=>{}}:_h($,Z)}}function PX$($){return $.replace(/:/g,"-")}function FX$($){return $.split(/[:.-]/).map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join(" ")}var OP=new Map;async function PU($,Z,X){let J=OP.get(Z);if(J!==void 0)return J;let G=PX$(Z),Y;try{Y=await $.getEntity({entityType:"prompt",id:G})}catch{return X}if(Y?.content){let W=cZ(Y.content,D.record(D.string(),D.unknown())).content;return OP.set(Z,W),W}try{let W=FX$(Z),H=F1(X,{title:W,target:Z});await $.createEntity({entity:{id:G,entityType:"prompt",content:H,metadata:{title:W,target:Z,slug:G}}})}catch{}return OP.set(Z,X),X}async function zX$($,Z){let X=$.list().filter((J)=>!!J.basePrompt);return await Promise.all(X.map((J)=>PU(Z,J.name,J.basePrompt))),X.length}function FU($){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 zU($){return{resolve:(Z,X)=>{return PU($,Z,X)}}}function TU($){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 BP($,Z,X){let J=J7($,Z,X),G=$.getEntityService();return{...J,entityService:G,entities:FU($),ai:TU($),prompts:zU(G),permissions:J.permissions}}var NP=D.object({});class WY extends t5{type="entity";entityActionPolicy;constructor($,Z,X,J,G){super($,Z,X,J);if(G!==void 0)this.entityActionPolicy=G}async register($,Z){let X=BP($,this.id,Z);this.context=X,this.setupMessageHandlers(X);let J=this.getProjectionRules(X),G=this.getEntityTypeConfig(),Y=J.some((_)=>_.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!==WY.prototype.interceptCreate)X.entities.registerCreateInterceptor(this.entityType,(_,F)=>this.interceptCreate(_,F,X));let A=this.createGenerationHandler(X);if(A)X.jobs.registerHandler(`${this.entityType}:generation`,A);let K=this.getTemplates();if(K&&Object.keys(K).length>0)$.registerTemplates(K,this.id);let Q=this.getDataSources();for(let _ of Q)X.entities.registerDataSource(_);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 PP($){return Fh(_P($))}function _P($,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)=>_P(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)}:${_P(Y,X)}`).join(",")}}`}function FP($){if($!==null&&typeof $==="object"){for(let Z of Object.values($))FP(Z);Object.freeze($)}return $}var TX$=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 zP($){let Z=TX$.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=v6.parse(W);return FP($.inputSchema.parse(H))},fingerprint:PP,derive:async(J,G,Y)=>{let W=$.inputSchema.parse(J),H=D.array(S4).parse(await $.derive(W,G,Y));for(let A of H){let K=A.operation==="upsert"?A.entity.entityType:A.entityType;if(K!==Z.targetType)throw Error(`Projection rule "${Z.id}" cannot write entity type "${K}"`)}return FP(H)}})}var MX$=D.record(D.string(),D.unknown()),wX$=D.object({items:D.array(D.object({operation:D.enum(["upsert","delete"]),id:D.string(),source:v6.optional()}))}),zh=new WeakMap;function MU($){let Z=zh.get($);if(!Z)Z=G6.extend({entityType:D.literal($.type),metadata:$.metadata}),zh.set($,Z);return Z}function Th($,Z){return MU($).parse(Z)}function Mh($,Z){return $.markdown?$.markdown.encode({content:Z.content,metadata:$.metadata.parse(Z.metadata)}):{content:Z.content,frontmatter:Z.metadata}}function wh($,Z){let X=Mh($,Z);return F1(X.content,X.frontmatter)}function CX$($){let Z=MU($);return{entityType:$.type,purpose:$.purpose,schema:Z,frontmatterSchema:$.metadata,toMarkdown(X){return wh($,X)},fromMarkdown(X){let J=cZ(X,MX$),G=$.markdown?$.markdown.decode({content:J.content,frontmatter:J.metadata}):{content:J.content,metadata:J.metadata};return{content:G.content,metadata:$.metadata.parse(G.metadata)}},extractMetadata:(X)=>X.metadata,parseFrontMatter:(X,J)=>cZ(X,J).metadata,generateFrontMatter(X){return jG(Mh($,X).frontmatter)},getBodyTemplate:()=>""}}async function RX$($,Z,X){let J=MU($.source).parse(Z),G=[];return await $.project({source:J,signal:X,target:{async upsert(Y){let W=v6.parse($.target.metadata.parse(Y.metadata)),H=Y.visibility??"public";G.push({operation:"upsert",entity:{id:Y.id,entityType:$.target.type,content:r5(wh($.target,{content:Y.content,metadata:W}),H),metadata:W,visibility:H}})}}}),G}function LX$($,Z,X){return zP({id:X($.id),version:Z,sources:[{kind:"entity",types:[$.source.type]}],targetType:$.target.type,inputSchema:v6,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 A=await G.entities.getEntity({entityType:H.sourceType,id:H.sourceId,visibilityScope:"restricted"});if(!A)throw Error(`Projection "${$.id}" could not load ${H.sourceType}:${H.sourceId}`);return{operation:"upsert",id:H.sourceId,source:A}}));return v6.parse({items:W})},async derive(J,G,Y){let W=wX$.parse(J),H=[];for(let A of W.items){if(Y.throwIfAborted(),A.operation==="delete"){H.push({operation:"delete",entityType:$.target.type,id:A.id});continue}if(!A.source)throw Error(`Projection "${$.id}" upsert item ${A.id} is missing its source`);H.push(...await RX$($,A.source,Y))}return H}})}class Ch extends WY{projections;scope;entityType;schema;adapter;constructor($,Z,X,J){super(J($.type),X,{},NP);this.projections=Z,this.scope=J,this.entityType=$.type,this.schema=MU($),this.adapter=CX$($)}getProjectionRules(){return this.projections.map(($)=>LX$($,this.version,this.scope))}}function Rh($,Z,X,J){return $.map((G)=>new Ch(G,Z.filter(({source:Y})=>Y===G),X,J))}var Lh=Symbol.for("rizom.plugin-package.runtime-factory");function tX(){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 I4($){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,Lh,{configurable:!1,enumerable:!1,value:$.instantiate,writable:!1}),Object.freeze(X)}function qX$($){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[Lh]==="function"}function EX$($){if(uZ($.type,"Entity type"),!$.purpose.trim())throw Error(`Entity "${$.type}" purpose must not be empty`);return Object.freeze({kind:"rizom-entity",...$})}function xX$($){return uZ($.id,"Projection id"),Object.freeze({kind:"rizom-projection",...$})}var SX$=D.object({});function jX$($){let Z=Object.freeze([...$.entities]),X=Object.freeze([...$.projections??[]]),J=new Set(Z),G=Z.map(({type:A})=>A);if(new Set(G).size!==G.length)throw Error(`Entity package "${$.id}" contains duplicate entity types`);let Y=X.map(({id:A})=>A);if(new Set(Y).size!==Y.length)throw Error(`Entity package "${$.id}" contains duplicate projection ids`);let W=X.find(({source:A,target:K})=>!J.has(A)||!J.has(K));if(W)throw Error(`Entity package "${$.id}" projection "${W.id}" references an entity outside its package`);let H={entities:Z,projections:X};return I4({family:"entity",id:$.id,config:SX$,public:H,instantiate:({package:A,scope:K})=>Rh(Z,X,A,K)})}var qh=new WeakMap;function Eh($){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)TP($.deadline);let Z={kind:"rizom-service-job",...$,handle(X){let J=Object.freeze({kind:"rizom-service-job-binding",definition:Z});return qh.set(J,X),J}};return Object.freeze(Z)}function xh($){let Z=qh.get($);if(!Z)throw Error(`Job "${$.definition.name}" was not created by defineJob().handle()`);return Z}function TP($){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 Sh($){if(uZ($.name,"Tool name"),!$.description.trim())throw Error(`Tool "${$.name}" description must not be empty`);return Object.freeze({kind:"rizom-service-tool",...$})}var kX$=["public","trusted","admin"];function P9($,Z){if(!$.trim())throw Error(`${Z} must not be empty`)}function G7($,Z){if($!==void 0)P9($,Z)}function wP($,Z){if($!==void 0&&!Number.isFinite($))throw Error(`${Z} priority must be finite`)}function HY($,Z){if(!kX$.includes($))throw Error(`${Z} permission "${String($)}" is unsupported`)}function jh($,Z){return MP.hasPermission($,Z)}function CP($){P9($.title,"Account settings title"),G7($.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(P9(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 IX$=new WeakMap;function kh($){if(uZ($.id,"Dashboard widget id"),P9($.title,`Dashboard widget "${$.id}" title`),P9($.group,`Dashboard widget "${$.id}" group`),G7($.description,`Dashboard widget "${$.id}" description`),wP($.priority,`Dashboard widget "${$.id}"`),HY($.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 IX$.set(G,J),G}};return Object.freeze(Z)}var vX$=new WeakMap;function Ih($){uZ($.id,"CMS workspace id"),P9($.label,`CMS workspace "${$.id}" label`),G7($.description,`CMS workspace "${$.id}" description`),wP($.priority,`CMS workspace "${$.id}"`),HY($.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&&!jh(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 vX$.set(W,{authorize:G.authorize,load:G.load}),W}};return Object.freeze(X)}var yX$=new WeakMap;function vh($){if(uZ($.name,"Workspace action name"),P9($.label,`Workspace action "${$.name}" label`),G7($.confirmation,`Workspace action "${$.name}" confirmation`),$.permission!==void 0)HY($.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 yX$.set(G,J),G}};return Object.freeze(Z)}import{AsyncLocalStorage as gX$}from"async_hooks";function RP($,Z,X){let J=J7($,Z,X),G=$.getEntityService(),Y=$.getRenderService(),W=$.getContentService(),H=$.getPermissionService();return{...J,permissions:{...J.permissions,getConfiguredPrincipalSeeds:()=>H.getConfiguredPrincipalSeeds(),replaceRuntimePrincipalState:(A)=>H.replaceRuntimePrincipalState(A)},entityService:G,entities:FU($),webRoutes:{getRoutes:()=>$.getPluginWebRoutes()},templates:{register:(A,K)=>{$.registerTemplates(A,K??Z)},format:(A,K)=>{return W.formatContent(A,K,{pluginId:Z})},parse:(A,K)=>{return W.parseContent(A,K,Z)},resolve:async(A,K)=>{return await W.resolveContent(A,K,Z)},getCapabilities:(A)=>{let K=A.includes(":")?A:`${Z}:${A}`,Q=$.getTemplate(K);if(!Q)return null;let O=yh.getCapabilities(Q);return{canGenerate:O.canGenerate,canFetch:O.canFetch,canRender:O.canRender,isStaticOnly:O.isStaticOnly}}},views:{get:(A)=>{return Y.get(A)??void 0},list:()=>{return Y.list()},hasRenderer:(A,K="web")=>{return Y.hasRenderer(A,K)},getRenderer:(A,K="web")=>{return Y.getRenderer(A,K)},validate:(A,K)=>{return Y.validate(A,K)}},prompts:zU(G),ai:TU($),registerInstructions:(A)=>{$.registerInstructions(Z,A)}}}class wU extends t5{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register($,Z){let X=RP($,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 DY=new WeakMap;function gh($,Z){let X=DY.get($);if(X&&X!==Z)throw Error(`Job "${$.name}" is registered as both "${X}" and "${Z}"`);DY.set($,Z)}function bh($,Z){if(DY.get($)===Z)DY.delete($)}function hh($){let Z=DY.get($);if(!Z)throw Error(`Job "${$.name}" is not registered by an active declarative service`);return Z}var LP="_rizomConfirmationToken";function mh($,Z){return $.format({value:$.schema.parse(Z)})}function bX$($){if($===null||typeof $!=="object")return;let Z=Reflect.get($,LP);return typeof Z==="string"?Z:void 0}function hX$($){if($===void 0)return{};try{return JSON.parse($)}catch{return $}}function fh($,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 mX$($,Z,X){let J=$.definition,G=xh($);return{...J.deadline?{executionTimeoutMs:TP(J.deadline)}:{},validateAndParse(Y){let W=J.input.safeParse(Y);return W.success?W.data:null},async process(Y,W,H,A){let K=await G({input:Y,signal:A,progress:H,templates:X,entities:{async get(Q,O){let _=await Z.entityService.getEntity({entityType:Q.type,id:O,visibilityScope:"restricted"});return _?Th(Q,_):null}},messaging:{async publish(Q){await Z.messaging.send({type:Q.topic,payload:Q.data})}}});return J.output.parse(K)}}}class ph extends wU{definition;publicId;toolContext=new gX$;cleanups=[];registeredJobs=new Set;scopedShell;state;tools;resources;constructor($,Z,X,J){super(J,X,Z,tX());this.definition=$,this.publicId=$.id}register($){return this.scopedShell=$,super.register($)}async onRegister($){if(await super.onRegister($),this.definition.accountSettings)throw Error(`Service "${this.publicId}" account settings require the account-settings runtime`);if(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`);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),gh(Y,`${this.id}:${Y.name}`),$.jobs.registerHandler(Y.name,mX$(G,$,Z))}}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)bh($,`${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?fh(Z,H):null}})},async status(Z,X){let J=await $.jobs.getStatus(X);return J?fh(Z,J):null}}}templateFormatter(){let $=this.definition.templates;return{format(Z,X){let J=$?.[Z];if(!J)throw Error(`Template not found: ${Z}`);return mh(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 A={name:G,description:W?.description??`${this.publicId} ${G}`,schema:H,requiredPermission:"admin",...Y?{formatter:{format:(Q)=>mh(Y,Q),parse:()=>{throw Error(`Template "${G}" is format-only`)}}}:{}};if(!W){X[G]=CU(A);continue}let K=(Q)=>{let O=W.schema.parse(Q);return typeof W.renderers.web==="function"?W.renderers.web(O):W.renderers.web};X[G]=CU({...A,schema:H,layout:{component:K}})}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(hX$(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=ch({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=bX$(J);if(Y!==void 0){let A=X.validateConfirmed(Y,J);if(A)return A;let K={...D.record(D.string(),D.unknown()).parse(J)};delete K[LP],J=K}let W=$.input.parse(J);if(Y===void 0&&$.confirmation)return{needsConfirmation:!0,toolName:Z,summary:$.confirmation,args:X.buildArgs((A)=>({...D.record(D.string(),D.unknown()).parse(W),[LP]:A}))};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:e$(Y)}}}}}}function dh($,Z,X,J){return new ph($,Z,X,J)}function fX$($){return I4({family:"service",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>dh($,Z,X,J($.id))})}var Aq$=["GET","POST","PUT","DELETE","OPTIONS"];function RU($,Z={}){return new Response(JSON.stringify($),{status:Z.status??200,headers:{"Content-Type":"application/json; charset=utf-8",...Z.headers}})}function AY($,Z,X={}){return RU({error:$},{status:Z,...X})}function LU($){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 A,K=new Promise((Q,O)=>{A=setTimeout(()=>{let _=Error(`Daemon "${$.id}" did not report readiness within 30000ms`);J={status:"error",message:_.message,lastCheck:new Date},G.abort(),O(_)},30000)});try{await Promise.race([H,K])}finally{clearTimeout(A)}},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((A)=>{W=setTimeout(()=>A(!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 uh($){return nh($)}function oh($){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 rh($){return{chat:async(Z,X,J,G)=>{let Y=oh(J),W=G?await $.chat(Z,X,Y,G):await $.chat(Z,X,Y);return uh(W)},confirmPendingAction:async(Z,X,J,G,Y)=>{let W=oh(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 uh(H)},invalidate:()=>{$.invalidateAgent()}}}var UY=Symbol.for("brains.httpRouteSnapshotProvider");function cX$($,Z){if($[UY])throw Error("HTTP route snapshot provider is already bound");Object.defineProperty($,UY,{value:Z,enumerable:!1,configurable:!0,writable:!1})}function lh($,Z){let X=$[UY];if(!X)throw Error("HTTP route snapshot provider is not bound");if(Z[UY])return;cX$(Z,X)}function ih($){let Z=$[UY];if(!Z)throw Error("HTTP route snapshot provider is not bound");return Z()}function qU($,Z,X){let J=J7($,Z,X),G=$.getMCPService(),Y=$.getPermissionService(),W=rh($.getAgentService());return{...J,mcpTransport:G,agent:W,permissions:{...J.permissions,getUserLevel:(H,A,K)=>{return Y.determineUserLevel(H,A,K)},isAnchor:(H,A)=>Y.isAnchor(H,A)},daemons:{register:(H,A)=>{let K=`${Z}:${H}`;$.registerDaemon(K,A,Z),J.logger.debug(`Registered daemon: ${K}`)}},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:()=>ih($)},plugins:{has:(H)=>$.hasPlugin(H)}}}function qP($,Z,X){return{...qU($,Z,X),channels:Dh($,Z)}}var pX$=3600000;class eX extends t5{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=pX$;createContext($,Z){return qU($,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 sh extends eX{definition;routes=[];hasRequiredDaemon=!1;constructor($,Z,X,J){super(J,X,Z,tX());this.definition=$}async onRegister($){await super.onRegister($);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`);throw Error(`Interface "${this.definition.id}" account-bound daemon "${Y.id}" requires the account-settings runtime`)}$.daemons.register(Y.id,LU(Y))}}getWebRoutes(){return[...this.routes]}requiresDaemonStartup(){return this.hasRequiredDaemon}async onShutdown(){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:hh(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 AY("Unauthorized",401);let G;if($.body){let W;try{W=await X.json()}catch{return AY("Request body must be valid JSON",400)}let H=$.body.safeParse(W);if(!H.success)return AY("Request body is invalid",400);G=H.data}let Y=await $.handle({request:X,body:G,caller:J});return RU($.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 ah($,Z,X,J){return new sh($,Z,X,J)}var th=["GET","POST","PUT","DELETE","OPTIONS"];function EP($,Z){$.messaging.subscribe(XY.progress,async(X)=>{try{let J=QU.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 xP($){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
+ ${$.message}`;return Y}function SP($){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
+ ${$.message}`;return J}var dX$=D.enum(["tool:invoking","tool:completed","tool:failed"]),uX$=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()}),oX$=["tool:invoking","tool:completed","tool:failed"];function jP($,Z){for(let X of oX$)$.messaging.subscribe(X,async(J)=>{try{let G=dX$.safeParse(J.type),Y=uX$.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 kP{scope;fibers;delayMs;clock;closePromise=null;closed=!1;constructor($,Z){this.delayMs=$,this.clock=Z?.clock,this.scope=a.runSync(u0.make()),this.fibers=a.runSync(u0.extend(K9.make(),this.scope))}schedule($,Z){if(this.closed)return;let X=a.sleep(this.delayMs).pipe(a.andThen(a.sync(Z))),J=this.clock?a.withClock(X,this.clock):X,G=a.runFork(J);K9.unsafeSet(this.fibers,$,G)}close(){return this.closed=!0,this.closePromise??=a.runPromise(u0.close(this.scope,F0.void)),this.closePromise}}function KY($,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 IP($){return`${$.conversationId}:${$.toolName}`}function vP($){if($.startsWith("playbook_"))return"playbook";return($.startsWith("system_")?$.slice(7):$).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().toLowerCase()}function eh($){switch($){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Approval required";case"failed":return"Tool failed"}}function $m($){switch($){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Tool awaiting approval";case"failed":return"Tool failed"}}function Zm($){let Z=IP($),X=vP($.toolName),J=eh($.state),G=$m($.state),Y=`${G}: ${X}`;return{key:Z,label:X,title:J,fallbackPrefix:G,fallback:$.error?`${Y}: ${$.error}`:Y}}function Xm($,Z){return $.pendingConfirmations?.some((X)=>X.toolName===Z)===!0||nX$($.cards).some((X)=>X.toolName===Z)}function nX$($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}var Jm=500,rX$=500;class yP{transport;cleanupSupervisor=new kP(rX$);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(KY($,"running"));return;case"tool:completed":if(this.isProcessingInput){this.pendingToolCompletions.set(this.getToolCompletionKey($),$);return}await this.transport.handleToolStatusUpdate(KY($,"completed"));return;case"tool:failed":this.pendingToolCompletions.delete(this.getToolCompletionKey($)),await this.transport.handleToolStatusUpdate(KY($,"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=Xm($,G.toolName)?"awaiting-approval":"completed";await this.transport.handleToolStatusUpdate(KY(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>=Jm)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<Jm)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 gP=1e5,lX$=[".md",".txt",".markdown"],iX$=["text/plain","text/markdown","text/x-markdown"],sX$=/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi,aX$=["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"],bP=D.object({captureUrls:D.boolean().default(!1),blockedUrlDomains:D.array(D.string()).default(aX$)});function Gm($,Z){if(Z&&iX$.some((X)=>Z.startsWith(X)))return!0;return lX$.some((X)=>$.toLowerCase().endsWith(X))}function Ym($){return $<=gP}function Wm($){if($.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode($),!0}catch{return!1}}function Hm($,Z){return`User uploaded a file "${$}":
121
+
122
+ ${Z}`}function Dm($,Z){let X=$.match(sX$)??[];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 $J($,Z){let X=$.attachment.source;if((X?.entityType==="document"||X?.entityType==="image")&&X.entityId)return{entityType:X.entityType,id:X.entityId};return hP($.attachment.downloadUrl??$.attachment.url,Z)}function hP($,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 EU($,Z){let X=tX$(Z,$==="document"?/^application\/pdf$/i:/^image\/[a-z0-9.+-]+$/i);if(!X)return;if($==="document"&&X.mimeType.toLowerCase()!=="application/pdf")return;return X}function xU($,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 tX$($,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 VY({entityRef:$,userLevel:Z,getEntity:X,getVisibleEntity:J}){let G=bX(Z),Y=await J($,G);if(Y)return{status:"visible",entity:Y};return Boolean(await X($))?{status:"denied"}:{status:"missing"}}function SU($){return $==="admin"||$==="trusted"}async function Am($){let Z=new Set;for(let X of $.cards??[]){if(X.kind!=="attachment")continue;let J=$J(X,$.displayBaseUrl);if(!J)continue;if((await VY({entityRef:J,userLevel:$.userLevel,getEntity:$.getEntity,getVisibleEntity:$.getVisibleEntity})).status==="denied")Z.add(X.id)}return Z}class QY extends eX{createContext($,Z){return qP($,this.id,Z)}isUploadableTextFile($,Z){return Gm($,Z)}isFileSizeAllowed($){return Ym($)}formatFileUploadMessage($,Z){return Hm($,Z)}getMaxFileUploadBytes(){return gP}isLikelyTextContent($){return Wm($)}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=$J(G,$.displayBaseUrl);if(!Y)continue;let W=await VY({entityRef:Y,userLevel:$.userPermissionLevel,getEntity:(A)=>J.entityService.getEntity(A),getVisibleEntity:(A,K)=>J.entityService.getEntity({...A,visibilityScope:K})});if(W.status==="denied"){X.add(G.id);continue}if(W.status!=="visible")continue;if(!SU($.userPermissionLevel))continue;if(typeof W.entity.content!=="string")continue;let H=EU(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??xU(W.entity.metadata,Y.id,Y.entityType,H.mimeType),mimeType:H.mimeType})}return{files:Z,deniedCardIds:X}}extractCaptureableUrls($,Z){return Dm($,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 yP({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($),EP($,{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})}}),jP($,{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 SP($)}formatCompletionOutput($){return xP($)}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 mP($){if(typeof $==="string")return{text:$};return{text:$.fallbackText??"Message update"}}async function eX$($,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 Km extends QY{definition;state;constructor($,Z,X,J){super(J,X,Z,tX());this.definition=$}async onRegister($){if(await super.onRegister($),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:(Z)=>this.deliver(Z)});if(this.definition.listen)$.daemons.register("listener",LU({kind:"rizom-interface-daemon",id:"listener",required:!1,run:({signal:Z,health:X})=>this.definition.listen?.({config:this.config,state:this.requireState(),signal:Z,health:X,messages:{receiveAuthenticated:(J)=>this.receiveAuthenticated(J,Z)}})??Promise.resolve()}))}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:mP($.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:mP($.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:mP($.newMessage)}),!0}supportsMessageEditing(){return this.definition.edit!==void 0}async onShutdown(){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((A)=>A!==void 0).join(":"),H=[];if($.attachments){let A=await $.attachments();for(let K of A)H.push(await eX$(K,Z))}this.startProcessingInput($.channel.id);try{let A=await X.agent.chat($.text,W,{userPermissionLevel:G,isAnchor:Y,interfaceType:J,channelId:$.channel.id,actor:{identity:{kind:"external",externalActorId:Um(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),K=await this.sendMessageWithId({channelId:$.channel.id,message:A.text});if(K){for(let Q of A.toolResults??[])if(Q.jobId)this.trackAgentResponseForJob(Q.jobId,K,$.channel.id)}await this.handleAgentResponseToolStatuses(A,W)}finally{this.endProcessingInput()}}}function Vm($,Z,X,J){return new Km($,Z,X,J)}function $J$($){return Object.freeze({kind:"protocol",...$})}function ZJ$($){if(!th.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 XJ$($){uZ($.id,"Daemon id");let{required:Z=!1,...X}=$;return Object.freeze({kind:"rizom-interface-daemon",...X,required:Z})}function JJ$($){return I4({family:"interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>ah($,Z,X,J($.id))})}function GJ$($){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 I4({family:"message-interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Vm($,Z,X,J($.id))})}var fP=D.object({kind:D.string().min(1),id:D.string().min(1)}),Qm=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:fP.optional()}),_J$=D.custom(($)=>$ instanceof Uint8Array),PJ$=D.object({kind:D.literal("file"),filename:D.string().min(1),mediaType:D.string().min(1),data:_J$,sizeBytes:D.number().nonnegative().optional(),source:fP.optional()}),Om=D.discriminatedUnion("kind",[Qm,PJ$]),FJ$=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:GY.optional(),source:YY.optional(),attachments:D.array(Om).optional()});var zJ$=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()}),Bm=D.object({name:D.string(),pluginId:D.string(),status:D.string(),health:zJ$.optional()});var Nm=D.enum(["admin","trusted","public"]),OY=D.object({label:D.string(),url:D.string(),pluginId:D.string(),priority:D.number().default(100),visibility:Nm.default("public")}),cP=D.enum(["human","agent","admin","protocol"]),pP=D.enum(["available","coming-soon","disabled"]),BY=D.object({id:D.string(),label:D.string(),description:D.string().optional(),href:D.string(),kind:cP,pluginId:D.string(),priority:D.number().default(100),visibility:Nm.default("public"),status:pP.default("available")}),vU=D.object({entityType:D.string(),count:D.number()}),dP=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()})}),_m=D.object({model:D.string(),version:D.string(),uptime:D.number(),entities:D.number(),entityCounts:D.array(vU),embeddings:D.number(),backgroundWork:dP,ai:D.object({model:D.string(),embeddingModel:D.string()}),daemons:D.array(Bm),endpoints:D.array(OY),interactions:D.array(BY)});var TJ$=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()}),MJ$=D.object({name:D.string(),pluginId:D.string(),status:D.string(),health:TJ$.optional()}),wJ$=D.object({model:D.string(),version:D.string(),uptime:D.number(),entities:D.number(),entityCounts:D.array(vU),embeddings:D.number(),ai:D.object({model:D.string(),embeddingModel:D.string()}),daemons:D.array(MJ$),endpoints:D.array(OY),interactions:D.array(BY)});var yU=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()}),Pm=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()})}),Fm=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:Pm.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()})}),CJ$=D.object({status:D.enum(["ready","not_ready"]),operationalStatus:D.enum(["operational","degraded"]),checkedAt:D.iso.datetime(),checks:D.array(yU),resources:Fm});var RJ$=D.union([D.object({success:D.boolean(),data:D.unknown().optional(),error:D.string().optional()}),D.object({noop:D.literal(!0)})]),LJ$=D.object({id:D.string(),timestamp:D.string(),type:D.string(),source:D.string(),target:D.string().optional(),metadata:SG.optional()});async function qJ$({context:$,targetType:Z,desired:X,getId:J,toEntityInput:G,equals:Y,deleteStale:W=!1,outputVisibility:H="public",concurrency:A=1,logger:K}){let Q=new Map;for(let e of X)Q.set(J(e),e);let O=(await $.entityService.listEntities({entityType:Z,options:{filter:{visibilityScope:H}}})).filter((e)=>e.visibility===H),_=new Map(O.map((e)=>[e.id,e])),F=0,M=0,C=0,m=0,V$=Math.max(1,A);if(W){let e=O.filter((G$)=>!Q.has(G$.id));await zm(e,V$,async(G$)=>{await $.entityService.deleteEntity({entityType:Z,id:G$.id}),C++})}return await zm(Array.from(Q),V$,async([e,G$])=>{let C$=_.get(e),d$={...G(G$,e),visibility:H};try{if(!C$){await $.entityService.createEntity({entity:d$}),F++;return}if(Y?.(C$,G$)??!1){m++;return}await $.entityService.updateEntity({entity:{...C$,...d$,id:e,entityType:Z,visibility:H}}),M++}catch(k){K?.error("Failed to reconcile entity",{targetType:Z,id:e,error:e$(k)})}}),{created:F,updated:M,deleted:C,skipped:m}}async function zm($,Z,X){let J=await a.runPromiseExit(a.forEach($,(G)=>a.tryPromise({try:()=>X(G),catch:(Y)=>Y}),{concurrency:Z,discard:!0}));if(F0.isFailure(J))throw Z6.squash(J.cause)}async function EJ$({entityService:$,entity:Z,options:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:D6("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 xJ$({entityService:$,entity:Z,expectedContentHash:X}){let J=await $.getEntity({entityType:Z.entityType,id:Z.id,visibilityScope:D6("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 SJ$({entityService:$,entityType:Z,id:X,error:J,content:G}){let Y=await $.getEntity({entityType:Z,id:X,visibilityScope:D6("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 wm=/^[a-z][a-z0-9-]*$/,jJ$=D.strictObject({source:D.string().min(1).max(500),flags:D.string().regex(/^[imu]*$/).optional()}),kJ$=D.strictObject({type:D.string().trim().regex(wm),displayName:D.string().trim().min(1).max(100),subjectLabel:D.string().trim().min(1).max(100),subjectPattern:jJ$.optional(),manualDelivery:D.boolean().optional()});class Cm{descriptorRegistrations=new Map;providerRegistrations=new Map;activeDescriptors=new Map;activeProviders=new Map;finalized=!1;registerDescriptor($,Z){this.assertRegistrationOpen();let X=Tm($),J=kJ$.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=Tm($),J=uP(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(uP($))}getDeliveryProvider($){return this.assertFinalized(),this.activeProviders.get(uP($))}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 Mm("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 Mm("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 Tm($){let Z=$.trim();if(!Z)throw Error("Channel registration plugin id is required");return Z}function uP($){let Z=$.trim();if(!wm.test(Z))throw Error(`Invalid channel type: ${$}`);return Z}function Mm($,Z,X){let J=X.map((G)=>G.pluginId).sort().join(", ");return Error(`${$} "${Z}" is registered by multiple plugins: ${J}`)}var IJ$=/^[a-z][a-z0-9-]*$/,NY=D.string().trim().regex(IJ$),oP=D.string().trim().min(1).max(300),Rm=D.enum(["high","normal"]),Lm=D.strictObject({id:NY,label:D.string().trim().min(1).max(100),confirm:D.boolean().optional()}),qm=D.strictObject({entityType:D.string().trim().min(1).max(100),entityId:D.string().trim().min(1).max(300)}),Em=D.strictObject({label:D.string().trim().min(1).max(300),personId:D.string().trim().min(1).max(200).optional()}),xm=D.strictObject({id:oP,title:D.string().trim().min(1).max(160),summary:D.string().trim().min(1).max(1000).optional(),contact:Em.optional(),threadOrdinal:D.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),receivedAt:D.iso.datetime(),urgency:Rm,entityRef:qm.optional(),actions:D.array(Lm).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)}}),Sm=D.array(xm).max(1000),jm=D.strictObject({permissionLevel:D.enum(["admin","trusted","public"])}),km=D.strictObject({sourceId:NY,displayName:D.string().trim().min(1).max(100)});class Im{registrations=new Map;activeSources=new Map;finalized=!1;registerSource($,Z){this.assertRegistrationOpen();let X=gJ$($),J=km.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=vJ$(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(bJ$($))}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 vJ$($,Z){return Object.freeze({...$,list:async()=>{return Sm.parse(await Z.list()).map(yJ$)},act:async(X,J,G)=>{let Y=oP.parse(X),W=NY.parse(J);await Z.act(Y,W,jm.parse(G))}})}function yJ$($){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 gJ$($){let Z=$.trim();if(!Z)throw Error("Inbox registration plugin id is required");return Z}function bJ$($){return NY.parse($)}var hJ$={pluginsRegistered:"system:plugins:registered",initialSyncCompleted:"sync:initial:completed",shellReady:"system:shell:ready"};function mJ$($){return D.discriminatedUnion("success",[D.strictObject({success:D.literal(!0),data:$}),D.strictObject({success:D.literal(!1),error:D.string().min(1)})])}function fJ$($){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 cJ$($){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 nP{providers=new Map;static createFresh(){return new nP}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 pJ$,readdir as dJ$,readFile as vm,rm as ym,stat as uJ$,writeFile as gm}from"fs/promises";import{basename as oJ$,dirname as nJ$,join as L1}from"path";var gU=/^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,bm=86400000,hm=200;class Y7 extends Error{code;constructor($,Z){super(Z);this.code=$,this.name="RuntimeUploadStoreError"}}var rJ$=D.object({id:D.string().regex(gU),ref:D.object({kind:D.string().min(1),id:D.string().regex(gU)}),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 lJ$($){return{scoped:(Z)=>$.scoped(Z)}}function mm($){return oJ$($)==="brain-data"?L1(nJ$($),"data"):$}class rP{dataDir;constructor($){this.dataDir=mm($.dataDir)}static createFresh($){return new rP($)}scoped($){return new lP({...$,dataDir:this.dataDir})}}class lP{options;retentionMs;maxCount;createUploadId;getNow;constructor($){this.options=$,this.retentionMs=$.retentionMs??bm,this.maxCount=$.maxCount??hm,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 pJ$(J,{recursive:!0}),await gm(L1(J,"content"),$.content),await gm(L1(J,"metadata.json"),`${JSON.stringify(X,null,2)}
123
+ `,"utf8"),await this.prune(),X}async remove($){this.assertValidUploadId($),await ym(this.getUploadDir($),{recursive:!0,force:!0})}async read($){let Z=await this.readRecord($);try{let X=await vm(L1(this.getUploadDir($),"content"));return{record:Z,content:X}}catch{throw new Y7("not_found","Upload not found")}}async readRecord($){this.assertValidUploadId($);try{let Z=await vm(L1(this.getUploadDir($),"metadata.json"),"utf8"),X=rJ$.safeParse(JSON.parse(Z));if(!X.success||X.data.id!==$||X.data.ref.id!==$||X.data.ref.kind!==this.options.refKind)throw new Y7("invalid_metadata","Invalid upload metadata");return X.data}catch(Z){if(Z instanceof Y7)throw Z;throw new Y7("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 dJ$($),J=(await Promise.all(Z.map(async(W)=>{try{let H=await uJ$(L1($,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)=>ym(L1($,W.entry),{recursive:!0,force:!0})))}catch{}}getUploadDir($){return this.assertValidUploadId($),L1(this.getUploadsRoot(),$)}getUploadsRoot(){return L1(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(!gU.test($))throw new Y7("invalid_ref","Invalid upload ref")}}var tE$=D.object({id:D.string(),type:D.string(),version:D.string(),status:D.string()}),eE$=D.object({name:D.string(),description:D.string()});var aJ$=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 fm=D.looseObject({id:D.string().optional(),limit:D.number().optional(),page:D.number().optional(),pageSize:D.number().optional(),baseUrl:D.string().optional()}),cm=D.looseObject({entityType:D.string().optional(),query:fm.optional()});class pm{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=cm.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,A]=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)]),K=H.map((O)=>this.transformEntity(O)),Q=W?z_(A,J,G):null;return{items:K,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,A=W?this.transformEntity(W):null,K=H?this.transformEntity(H):null;return{prev:A,next:K}}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 iP($){if(typeof $!=="object"||$===null||!("entityId"in $))return;let Z=$.entityId;return typeof Z==="string"&&Z.trim().length>0?Z.trim():void 0}function dm($){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 mU($){return Object.fromEntries(Object.entries($).filter(([,Z])=>Z!==void 0))}function um($){let Z={...$};return delete Z.status,delete Z.error,mU(Z)}class lm extends JY{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=dm($);if(typeof Z!=="object")return Z;let J=iP($);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:bU.START,message:`Starting ${this.jobTypeName}`});let J=await this.generate($,X),G=iP($),Y=G?this.applyPreallocatedEntityId(G,J):J;await this.reportProgress(X,{progress:bU.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:bU.COMPLETE,message:`${Y.title??this.entityType} created successfully`}),{success:!0,entityId:W.entityId,...Y.resultExtras}}catch(J){if(J instanceof sP)return await this.markPreallocatedStubFailed($,J.message),await this.onGenerationFailure($,J.message),{success:!1,error:J.message};let G=e$(J);return this.logger.error(`${this.jobTypeName} job failed`,{error:J,jobId:Z,data:this.summarizeDataForLog($)}),await this.markPreallocatedStubFailed($,G),await this.onGenerationFailure($,G),om.failure(J)}}applyPreallocatedEntityId($,Z){let X={...Z.metadata},J=Z.content,G=Z.resultExtras;if(typeof X.slug==="string")X.slug=$,J=hU(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=um(ZY($.content).frontmatter),J=um($.metadata),G=mU(Z.metadata),Y=ZY(Z.content),W=mU(Y.frontmatter),H=mU({...X,...G,...W});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(H),{content:rm(H,Y.content),metadata:{...J,...G}}}async markPreallocatedStubFailed($,Z){let X=iP($);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:hU(hU(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=dm($);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:nm.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 sP($)}}class sP extends Error{constructor($){super($);this.name="GenerationFailure"}}var tJ$=D.string().trim().min(1).max(200),eJ$=D.string().trim().min(1).max(100).regex(/^[a-z0-9][a-z0-9.-]*$/);class im{registrations=new Map;register($,Z,X){let J=tJ$.parse($),G=eJ$.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 yU.parse({name:Z.name,...await Z.provider()})}catch{return{name:Z.name,status:"degraded",message:"Operational health check failed"}}}))}}function sm($){let Z=em($.status),X=am($),J=tm($),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 am($){let Z=$.metadata.operationType.replace(/_/g," ");return $.metadata.operationTarget?`${Z}: ${$.metadata.operationTarget}`:Z}function tm($){if(!$.progress||$.progress.total<=0)return;return`${$.progress.current}/${$.progress.total} (${$.progress.percentage}%)`}function em($){switch($){case"pending":return"Job queued";case"processing":return"Job processing";case"completed":return"Job completed";case"failed":return"Job failed"}}var $2$=new Set(["yes","y","ok","sure","proceed","confirm","go"]),Z2$=new Set(["no","n","cancel","abort","stop","nope"]);function ZJ($){let Z=$.toLowerCase().trim();if(Z==="")return;if($2$.has(Z))return{confirmed:!0};if(Z2$.has(Z))return{confirmed:!1};return}function $f($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}function Zf($){return $?.find((Z)=>Z.kind==="tool-approval"&&(Z.state==="output-available"||Z.state==="output-error"||Z.state==="output-denied"))}function Xf($,Z){if(Z.length===0)return $;if($.trim().length>0)return $;if(Z.length===1)return Z[0]?.summary??$;return"Multiple approvals required."}function Jf($){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 Yf({message:$,approvalIds:Z}){if(Z.size===0)return{kind:"not-confirmation"};let X=aP($,Z);if(!X)return{kind:"notice",message:"Please reply with yes to confirm or no/cancel to abort."};if(!X.approvalId&&Df($))return{kind:"notice",message:`No matching pending approval id. Pending approval ids: ${Gf(Z)}.`};if(Z.size>1&&!X.approvalId)return{kind:"notice",message:`Multiple approvals are pending; include one approval id with yes or no/cancel: ${Gf(Z)}.`};let J=X.approvalId??X2$(Z);if(!J)return{kind:"notice",message:"No pending approval to resolve."};return{kind:"confirm",approvalId:J,confirmed:X.confirmed}}function aP($,Z){let X=ZJ($),J=Wf($,Z);if(X)return{...X,...J?{approvalId:J}:{}};let G=$.split(/\s+/).map((Y)=>ZJ(Y)).find((Y)=>Y!==void 0);if(!G)return;return{...G,...J?{approvalId:J}:{}}}function Wf($,Z){if(!Z||Z.size===0)return;let X=$.toLowerCase();return[...Z].sort((J,G)=>G.length-J.length).find((J)=>Hf(X,J.toLowerCase()))}function Hf($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^a-z0-9_-])${X}($|[^a-z0-9_-])`).test($)}function Df($){return/(^|[^a-z0-9_-])approval[:-][a-z0-9_-]+/i.test($)}function X2$($){for(let Z of $)return Z;return}function Gf($){return[...$].join(", ")}var J2$=D.object({kind:D.string().min(1),id:D.string().min(1)}),G2$=D.object({kind:D.string().min(1),filename:D.string().min(1),mediaType:D.string().min(1),sizeBytes:D.number().nonnegative().optional(),source:J2$.optional()}),Y2$=D.array(G2$),wx$=D.array(kU),W2$=D.array(jU),H2$=D.record(D.string(),D.unknown());function PY($){if(typeof $==="string")try{return _Y(JSON.parse($))}catch{return null}return _Y($)}function tP($){let Z=PY($),X=Y2$.safeParse(Z?.attachments);return X.success?X.data:[]}function Af($){let X=PY($)?.cards;if(!Array.isArray(X))return[];return X.map((J)=>IU.safeParse(J)).filter((J)=>J.success).map((J)=>J.data)}function fU($,Z){let X=[],J=new Set;for(let G of $){let Y=_Y(G);if(!Y)continue;if(Z.role&&Y.role!==Z.role)continue;for(let W of tP(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 cU($){let Z=new Set;for(let X of $){let J=_Y(X);if(!J)continue;let Y=PY(J.metadata)?.cards;if(!Array.isArray(Y))continue;let W=Y.filter((A)=>_Y(A)?.kind==="tool-approval"),H=W2$.safeParse(W);if(!H.success)continue;for(let A of H.data)if(A.state==="approval-requested")Z.add(A.id);else Z.delete(A.id)}return Z}function _Y($){let Z=H2$.safeParse($);return Z.success?Z.data:null}class eP{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 cU(Z)}catch(Z){return this.options.onRestoreError?.(Z,$),new Set}}}var D2$=D.record(D.string(),D.unknown());function Uf($){let Z=D2$.safeParse($);return Z.success?Z.data:null}function pU($,Z){return Uf($)?.[Z]}function q1($,Z){let X=pU($,Z);return typeof X==="string"?X:void 0}function Kf($,Z){let X=pU($,Z);return typeof X==="boolean"?X:void 0}function A2$($){return Array.isArray($.toolResults)?$.toolResults[0]:void 0}function U2$($){if(!Array.isArray($.cards))return;return $.cards.find((Z)=>q1(Z,"kind")==="tool-approval")}function K2$($){return pU($,"data")}function V2$($){let X=$.indexOf(`
125
+
126
+ Result:`);if(X===-1)return;let J=$.slice(X+9).trim();if(!J)return;try{return JSON.parse(J)}catch{return}}function Q2$($){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 dU($,Z){if(Z==="declined")return{label:"Declined",variant:"declined"};let X=U2$($),J=A2$($),G=Q2$(q1(X,"toolName")??q1(J,"toolName")),Y=pU(X,"output")??K2$(J)??V2$($.text),W=q1(X,"state"),H=Kf(Y,"success"),A=q1(X,"error")??q1(Y,"error")??q1(Y,"message");if(W==="output-error")return{label:`${G?`${G} failed`:"Action failed"}${A?` \xB7 ${A}`:""}`,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"}${A?` \xB7 ${A}`:""}`,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"}${A?` \xB7 ${A}`:""}`,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 Vf($){switch($){case"success":return"Approval confirmed";case"declined":return"Approval declined";case"error":return"Action failed"}}function uU($){if(typeof $==="string")return $;if(typeof $==="number"||typeof $==="boolean")return String($);let Z=Uf($);if(!Z)return;let X=q1(Z,"error")??q1(Z,"message");if(Kf(Z,"success")===!1)return X?`Failed \xB7 ${X}`:"Failed";return}function $F($){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
+ `)}function Qf($){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 $F($)}function Of({response:$,confirmed:Z,remainingApprovalHelp:X,deniedCardIds:J,formatCard:G,formatPendingConfirmationHelp:Y}){let W=dU($,Z?"approved":"declined"),H=$.pendingConfirmations&&$.pendingConfirmations.length>1?Y($.pendingConfirmations):void 0,A=[W.label,...Bf($.cards,J).map(G),H,X].filter(_2$);return{variant:W.variant,parts:A}}function Bf($,Z){return($??[]).filter((X)=>X.kind==="attachment"&&Boolean(Z?.has(X.id)))}function O2$($,Z){return($??[]).filter((X)=>X.kind==="attachment"&&!Z?.has(X.id))}function B2$($,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 Nf($,Z){let X=$.pendingConfirmations??[],J=[{kind:"text",text:$.text},...Bf($.cards,Z.deniedCardIds).map((G)=>({kind:"denied-artifact",card:G})),...O2$($.cards,Z.deniedCardIds).map((G)=>({kind:"artifact",card:G})),...B2$($.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:N2$($)}}function N2$($){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 _2$($){return Boolean($?.trim())}function _f({disposition:$,filename:Z}){return`${$}; filename="${P2$(Z)}"; filename*=UTF-8''${F2$(Z)}`}function P2$($){return $.replace(/[^\x20-\x7E]|["\\\r\n]/g,"_")}function F2$($){return encodeURIComponent($).replace(/[!'()*]/g,(Z)=>`%${Z.charCodeAt(0).toString(16).toUpperCase()}`)}function oU($){let Z=Pf(XF($,"attachment"));if(!Z)return null;let X=v4($,"jobId"),J=v4($,"description"),G=v4(Z,"mediaType"),Y=v4(Z,"filename"),W=ZF(T2$(Z,"sizeBytes")),H=v4(Z,"url"),A=v4(Z,"downloadUrl"),K=v4(Z,"previewUrl");return{...X!==void 0?{jobId:X}:{},title:v4($,"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}:{},...A!==void 0?{downloadUrl:A}:{},...K!==void 0?{previewUrl:K}:{}}}function ZF($){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 z2$=D.record(D.string(),D.unknown());function Pf($){let Z=z2$.safeParse($);return Z.success?Z.data:null}function XF($,Z){return Pf($)?.[Z]}function v4($,Z){let X=XF($,Z);return typeof X==="string"?X:void 0}function T2$($,Z){let X=XF($,Z);return typeof X==="number"?X:void 0}var zf="upload.txt";var Tf=5000000,M2$=[".md",".txt",".markdown"],w2$=["text/plain","text/markdown","text/x-markdown"],JF=new Map([[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".webp","image/webp"],[".gif","image/gif"],[".pdf","application/pdf"]]),C2$=new Set(JF.values());function rU($,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 lU($,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 FY($,Z){let X=Z?.trim()??"",J=X.split(";",1)[0]?.toLowerCase()??X;if(J.length>0&&J!=="application/octet-stream")return J;let G=lU($,void 0);if(G!=="application/octet-stream")return G;let Y=$.toLowerCase();for(let[W,H]of JF)if(Y.endsWith(W))return H;return"application/octet-stream"}function zY($,Z){if(Z&&w2$.some((X)=>Z.toLowerCase().startsWith(X)))return!0;return M2$.some((X)=>$.toLowerCase().endsWith(X))}function iU($){return $<=1e5}function sU($){return $<=5000000}function aU($,Z){let X=FY($,Z);if(C2$.has(X))return!0;return JF.has(R2$($))}function Mf($,Z){let X=FY($,Z);if(zY($,X))return"text";if(aU($,X))return"file";return}function wf($,Z){if(Z<=0)return!0;return $==="text"?iU(Z):sU(Z)}function GF($){if($.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode($),!0}catch{return!1}}function YF($){let Z=rU($.filename,$.fallbackFilename),X=lU(Z,$.mediaType);if(!zY(Z,X))return{ok:!1,code:"unsupported_type",message:`Unsupported file upload type: ${Z}`};if(!iU($.content.byteLength))return{ok:!1,code:"file_too_large",message:`File upload too large: ${Z}`};if(!GF($.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 Cf($){let Z=rU($.filename,$.fallbackFilename),X=FY(Z,$.mediaType);if(zY(Z,X)){let J=YF({filename:Z,mediaType:X,content:$.content,...$.fallbackFilename!==void 0&&{fallbackFilename:$.fallbackFilename}});return J.ok?{...J,kind:"text"}:J}if(!aU(Z,X))return{ok:!1,code:"unsupported_type",message:`Unsupported file upload type: ${Z}`};if(!sU($.content.byteLength))return{ok:!1,code:"file_too_large",message:`File upload too large: ${Z}`};if(!L2$($.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 R2$($){let Z=$.lastIndexOf(".");return Z>=0?$.slice(Z).toLowerCase():""}function L2$($,Z){switch(Z){case"image/png":return Ff($,[137,80,78,71]);case"image/jpeg":return Ff($,[255,216,255]);case"image/gif":return nU($,"GIF87a")||nU($,"GIF89a");case"image/webp":return nU($,"RIFF")&&Rf($,"WEBP",8);case"application/pdf":return nU($,"%PDF-");default:return!1}}function Ff($,Z){return Z.every((X,J)=>$[J]===X)}function nU($,Z){return Rf($,Z,0)}function Rf($,Z,X){return Array.from(Z).every((J,G)=>$[X+G]===J.charCodeAt(0))}class WF{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=fU(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 Lf($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function q2$($){return Lf($)&&$.kind==="upload"&&typeof $.id==="string"}function TY($){if(q2$($))return"uploaded file";if(Array.isArray($))return $.map((Z)=>TY(Z));if(!Lf($))return $;return tU($)}function tU($){return Object.fromEntries(Object.entries($).map(([Z,X])=>[Z,TY(X)]))}function qf($){if($.kind!=="tool-approval")return $;return{...$,...$.input!==void 0?{input:tU($.input)}:{},...$.output!==void 0?{output:TY($.output)}:{}}}function Ef($,Z){if($.kind==="attachment")return E2$($,Z);if($.kind==="tool-approval")return x2$($);if($.kind==="sources")return S2$($,Z);return j2$($,Z)}function E2$($,Z){if(Z.deniedCardIds?.has($.id))return"Artifact: Not available at your access level.";let X=oU($);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
+ `)}function x2$($){let Z=[`Approval: ${$.summary||$.toolName}`];if(Z.push(`Status: ${$.state}`),$.preview)Z.push($.preview);let X=uU($.output);if(X)Z.push(`Result: ${X}`);if($.error)Z.push(`Error: ${$.error}`);return Z.join(`
130
+ `)}function S2$($,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
+ `)}function j2$($,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
+ `)}function xf($){return{identity:$.identity,interfaceType:$.interfaceType,role:$.role??"user",...$.displayName?{displayName:$.displayName}:{},...$.username?{username:$.username}:{},...$.isBot!==void 0?{isBot:k2$($.isBot)}:{}}}function k2$($){if(typeof $==="boolean")return $;return $.toLowerCase()==="true"}function Sf($){return{...$.messageId?{messageId:$.messageId}:{},...$.channelId?{channelId:$.channelId}:{},...$.channelName?{channelName:$.channelName}:{},...$.threadId?{threadId:$.threadId}:{},...$.metadata?{metadata:$.metadata}:{}}}function jf($){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(I2$),"","Latest message to answer:",$.message].join(`
133
+ `),metadata:{supersededMessageCount:$.skippedMessages.length,supersededMessageIds:$.skippedMessages.map((J)=>J.id).filter((J)=>J!==void 0)}}}function I2$($){let Z=$.text.trim(),X=$.authorName?.trim();return X?`- ${X}: ${Z}`:`- ${Z}`}async function p2$($){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 A=D.object({title:D.string().max(80).describe("A short, unique title (2-6 words)")}),{object:K}=await Y.ai.generateObject(`The title "${X}" is already taken. ${G}`,A),Q=K.title;return Y.logger.debug(`AI suggested new title: "${Q}"`),Q}class eU{tail=Promise.resolve();run($){let Z=this.tail.then(()=>$());return this.tail=Z.then(()=>{return},()=>{return}),Z}async settle(){await this.tail}}var d2$="current";class kf{store;schema;createEmpty;key;queue=new eU;statePromise;constructor($){this.store=$.runtimeState.scoped({namespace:$.namespace,schema:$.schema}),this.schema=$.schema,this.createEmpty=$.createEmpty,this.key=$.key??d2$}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 HF="cms:register-workspace";function u2$($,Z){if($.userPermissionLevel!=="admin")throw Error(`${Z} requires admin permission`)}var o2$=D.object({workspaceUrl:D.string()});async function n2$($,Z){let X=await $.messaging.send({type:HF,payload:Z});if(!("success"in X)||!X.success)return;let J=o2$.safeParse(X.data);return J.success?J.data.workspaceUrl:void 0}var DF=G6.extend({id:D.literal("brain-character"),entityType:D.literal("brain-character")}),$3=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 If=D.record(D.string(),D.unknown());class Z3 extends Q9{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:DF,frontmatterSchema:$3,isSingleton:!0,hasBody:!1})}createCharacterContent($){return this.buildMarkdown("",$)}parseCharacterBody($){return this.parseFrontmatter($)}toMarkdown($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",If.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("",If.parse(Z))}}class X3 extends lX{adapter=new Z3;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 X3($,Z,X)}constructor($,Z,X){super($,Z,"brain-character",X??X3.getDefaultCharacter(),D6("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 AF=G6.extend({id:D.literal("anchor-profile"),entityType:D.literal("anchor-profile")}),vf=D.enum(["person","team","organization"]),W7=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 r2$=D.record(D.string(),D.unknown());class J3 extends Q9{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's Anchor (singleton).",schema:AF,frontmatterSchema:W7,isSingleton:!0,hasBody:!0})}createProfileContent($){let Z=W7.parse($);return this.buildMarkdown("",Z)}parseProfileBody($,Z){if(Z){let{metadata:X,content:J}=cZ($,Z);return J?{...X,story:J}:X}return this.parseFrontmatter($)}fromMarkdown($){return{content:$,entityType:"anchor-profile"}}extractMetadata($){let Z=this.parseFrontmatter($.content);return{name:Z.name,email:Z.email,website:Z.website}}generateFrontMatter($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",r2$.parse(Z))}}class MY extends lX{adapter=new J3;static getDefaultProfile(){return{name:"Unknown"}}static createFresh($,Z,X){return new MY($,Z,X)}constructor($,Z,X){super($,Z,"anchor-profile",X??MY.getDefaultProfile(),D6("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 G3=D.enum(["person","team","organization"]),l2$=D.object({kind:D.string().trim().min(1),category:G3,labels:D.object({singular:D.string().trim().min(1),plural:D.string().trim().min(1)})});function i2$($){if(typeof $!=="object"||$===null||!("shape"in $)||!("safeParse"in $)||typeof $.safeParse!=="function")throw Error("Profile kind fields must be a Zod object schema")}class yf{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=l2$.parse(Z);i2$(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 gf=30000;class KF{logger;resolver;links=[];actorIndex=new Map;negativeActorIndex=new Map;static createFresh($,Z){return new KF($,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=UF($),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=UF($.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()+gf),$;let Y={identity:$.identity,...$.displayName?{label:$.displayName}:{}},W={...G,actors:[Y],matchedActor:Y};return this.actorIndex.set(X,{resolution:W,expiresAt:Date.now()+gf}),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 bf="https://rizom.ai/ext/anchor-profile/v1",hf=D.looseObject({id:D.string(),description:D.string(),name:D.string().optional(),tags:D.array(D.string()).optional().default([])}),mf=W7.extend({kind:D.string().trim().min(1).optional(),category:G3.optional()}).superRefine(($,Z)=>{if($.kind===void 0!==($.category===void 0))Z.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),s2$=D.looseObject({uri:D.string(),params:D.record(D.string(),D.unknown()).optional()}),ff=D.looseObject({name:D.string(),url:D.string(),description:D.string().optional(),skills:D.array(hf).optional().default([]),capabilities:D.looseObject({extensions:D.array(s2$).optional().default([])}).optional()});function a2$($){let Z=ff.safeParse($);if(!Z.success)return null;let X=Z.data,G=(X.capabilities?.extensions??[]).find((W)=>W.uri===bf),Y=null;if(G?.params){let W=mf.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 t2$=D.object({name:D.string(),description:D.string(),tags:D.array(D.string()),examples:D.array(D.string())});import{EventEmitter as df}from"events";var L0={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},A6={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class U6 extends Error{pluginId;constructor($,Z){super(`Plugin ${$}: ${Z}`);this.name="PluginError",this.pluginId=$}}class VF{scope;ingress=new Set;closePromise=null;closed=!1;constructor(){this.scope=a.runSync(u0.make())}addFinalizer($){if(this.closed)throw Error("Cannot register a resource after plugin teardown");a.runSync(u0.addFinalizer(this.scope,a.promise(async()=>{await $()})))}addIngress($){if(this.closed)throw Error("Cannot register ingress after plugin teardown");this.ingress.add($)}close($=F0.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(A){if(!X)Z=A;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 a.runPromiseExit(u0.close(this.scope,$));if(!X&&F0.isFailure(W))Z=Z6.squash(W.cause),X=!0;if(X)throw Z}}function cf($,Z){let X=$.getMessageBus(),J=new Set,G={send:(k)=>X.send(k),subscribe:(k,X$,l)=>{let O$=!0,v$=new Set,K$=(o$)=>{if(!O$)return{noop:!0};let qZ,$$=new Promise((oZ)=>{qZ=oZ});v$.add($$);let T0=()=>{v$.delete($$),qZ()},m0;try{m0=Promise.resolve(X$(o$))}catch(oZ){throw T0(),oZ}return m0.then((oZ)=>{return T0(),oZ},(oZ)=>{throw T0(),oZ})},J0=X.subscribe(k,K$,l),K0={type:k,originalHandler:X$,stopAdmission:()=>{if(!O$)return;O$=!1,J0(),J.delete(K0)}};J.add(K0);try{Z.addIngress({stopAdmission:K0.stopAdmission,drain:async()=>{await Promise.all(v$)}})}catch(o$){throw K0.stopAdmission(),o$}return K0.stopAdmission},unsubscribe:(k,X$)=>{let l=[...J].filter((O$)=>O$.type===k&&O$.originalHandler===X$);if(l.length===0){X.unsubscribe(k,X$);return}for(let O$ of l)O$.stopAdmission()}},Y=$.getAttachmentRegistry(),W={...Y,register:(k,X$,l)=>{let O$=!0,v$=Y.register(k,X$,l),K$=()=>{if(!O$)return;O$=!1,v$()};return Z.addFinalizer(K$),K$}},H=$.getEntityRegistry(),A=new Proxy(H,{get(k,X$){let l=Reflect.get(k,X$,k);if(X$==="registerEntityType"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,k,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>k.unregisterEntityType(K$));return v$};return typeof l==="function"?l.bind(k):l}}),K=$.getProfileKindRegistry(),Q=new Proxy(K,{get(k,X$){let l=Reflect.get(k,X$,k);if(X$==="register"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,k,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>k.unregisterPlugin(K$));return v$};return typeof l==="function"?l.bind(k):l}}),O=$.getChannelRegistry(),_=new Proxy(O,{get(k,X$){let l=Reflect.get(k,X$,k);if((X$==="registerDescriptor"||X$==="registerDeliveryProvider")&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,k,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>k.unregisterPlugin(K$));return v$};return typeof l==="function"?l.bind(k):l}}),F=$.getInboxRegistry(),M=new Proxy(F,{get(k,X$){let l=Reflect.get(k,X$,k);if(X$==="registerSource"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,k,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>k.unregisterPlugin(K$));return v$};return typeof l==="function"?l.bind(k):l}}),C=$.getOperationalHealthRegistry(),m=new Proxy(C,{get(k,X$){let l=Reflect.get(k,X$,k);if(X$==="register"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,k,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>k.unregisterPlugin(K$));return v$};return typeof l==="function"?l.bind(k):l}}),V$=$.getDataSourceRegistry(),e=new Proxy(V$,{get(k,X$){let l=Reflect.get(k,X$,k);if(X$==="register"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,k,O$),K$=O$[0];if(typeof K$==="object"&&K$!==null&&"id"in K$&&typeof K$.id==="string"){let J0=K$.id.includes(":")?K$.id:`shell:${K$.id}`;Z.addFinalizer(()=>k.unregister(J0))}return v$};return typeof l==="function"?l.bind(k):l}}),G$=$.getInsightsRegistry(),C$=new Proxy(G$,{get(k,X$){let l=Reflect.get(k,X$,k);if(X$==="register"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,k,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>k.unregister(K$));return v$};return typeof l==="function"?l.bind(k):l}}),d$=new Proxy($,{get(k,X$){if(X$==="getMessageBus")return()=>G;if(X$==="getAttachmentRegistry")return()=>W;if(X$==="getEntityRegistry")return()=>A;if(X$==="getDataSourceRegistry")return()=>e;if(X$==="getProfileKindRegistry")return()=>Q;if(X$==="getChannelRegistry")return()=>_;if(X$==="getInboxRegistry")return()=>M;if(X$==="getOperationalHealthRegistry")return()=>m;if(X$==="getInsightsRegistry")return()=>C$;let l=Reflect.get(k,X$,k);return typeof l==="function"?l.bind(k):l}});return lh($,d$),d$}class QF{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 U6($,"Registration failed: Plugin is not registered");let G=J.plugin,Y=new VF;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(A6.BEFORE_INITIALIZE,$,G);let W=await G.register(cf(Z,Y),X);return J.status=L0.INITIALIZED,this.logger.debug(`Initialized plugin: ${$}`),this.events.emit(A6.INITIALIZED,$,G),W}catch(W){throw this.logger.error(`Error initializing plugin ${$}: ${e$(W)}`),await this.failPluginInitialization($,W),W}}async finalizePluginRegistration($){let Z=this.plugins.get($);if(!Z)throw new U6($,"Registration finalization failed: Plugin is not registered");if(Z.status!==L0.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 U6($,"Ready failed: Plugin is not registered");if(Z.status!==L0.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=aX(X);Z.status=L0.ERROR,Z.error=J;try{this.events.emit(A6.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!==L0.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: ${e$(X)}`)}}async failPluginInitialization($,Z){let X=this.plugins.get($);if(!X)return;let J=X.status!==L0.ERROR,G=aX(Z);if(X.status=L0.ERROR,X.error=G,await this.releasePluginResources($,F0.fail(Z)),J)try{this.events.emit(A6.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===L0.DISABLED)return;this.logger.debug(`Disabling plugin: ${$}`);let X=Z.status===L0.ERROR;await this.releasePluginResources($,F0.void);let J=this.plugins.get($);if(!X&&J&&J.status!==L0.DISABLED)J.status=L0.DISABLED,this.events.emit(A6.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 OF{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(K){let Q=e$(K);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 A=this.getUnmetDependencies(H);this.logger.error(`Plugin ${H} has unmet dependencies: ${A.join(", ")}`);let K=this.plugins.get(H);if(K)K.status=L0.ERROR,K.error=new U6(H,`Unmet dependencies: ${A.join(", ")}`);this.events.emit(A6.ERROR,H,K?.error)}}let Y=new Set;for(let[W,H]of this.plugins)if(H.status===L0.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!==L0.INITIALIZED)J.push(G)}return J}}class BF{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 Y3{projections=new Map;rules=new Map;static createFresh(){return new Y3}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(ZG$)}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=XG$(Z,J),Y=GG$(Z,G)[0];if(Y){let W=YG$(Y,G);throw Error(`Projection cycle is not supported: ${[...W,W[0]].join(" -> ")}`)}return $G$({projections:Z,edges:G,unknownSourceTypes:e2$(Z,X)})}}function e2$($,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 $G$($){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 ZG$($){return{...$,sources:$.sources.map((Z)=>({...Z,types:[...Z.types],...Z.excludeTypes?{excludeTypes:[...Z.excludeTypes]}:{}}))}}function XG$($,Z){let X=new Map;for(let J of $)for(let G of $){let Y=JG$(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 JG$($,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 GG$($,Z){let X=$.map(({id:O})=>O).sort(),J=pf(X,Z),G=new Map,Y=new Map,W=[],H=new Set,A=[],K=0,Q=(O)=>{G.set(O,K),Y.set(O,K),K++,W.push(O),H.add(O);for(let C of J.get(O)??[])if(!G.has(C))Q(C),Y.set(O,Math.min(Y.get(O)??0,Y.get(C)??0));else if(H.has(C))Y.set(O,Math.min(Y.get(O)??0,G.get(C)??0));if(Y.get(O)!==G.get(O))return;let _=[],F;do{if(F=W.pop(),!F)break;H.delete(F),_.push(F)}while(F!==O);let M=J.get(O)?.includes(O)??!1;if(_.length>1||M)A.push(_.sort())};for(let O of X)if(!G.has(O))Q(O);return A.sort((O,_)=>(O[0]??"").localeCompare(_[0]??""))}function YG$($,Z){let X=new Set($),J=pf($,Z),G=[...$].sort()[0];if(!G)return[];if(J.get(G)?.includes(G))return[G];let Y=(W,H)=>{for(let A of J.get(W)??[]){if(!X.has(A))continue;if(A===G)return H;if(H.includes(A))continue;let K=Y(A,[...H,A]);if(K)return K}return};return Y(G,[G])??[...$].sort()}function pf($,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 uf($){let X=(await a.runPromise(a.all($.map((J)=>a.either(a.tryPromise({try:J,catch:(G)=>G}))),{concurrency:"unbounded"}))).find(rZ.isLeft);if(X)throw X.left}class W3{plugins=new Map;logger;events=new df;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=Y3.createFresh();projectionGraph;static createFresh($,Z){return new W3($,Z)}setShell($){this.shell=$}constructor($,Z){this.logger=$.child("PluginManager"),this.events=new df,this.daemonRegistry=Z,this.pluginLifecycle=new QF(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,$),this.dependencyResolver=new OF(this.plugins,this.events,$),this.capabilityRegistrar=new BF($,this.projectionRegistry)}registerPlugin($){if(!$.id)throw new U6("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 U6($.id,`Registration failed: Plugin is already registered with version ${G}`)}let Z=$.dependencies??[],X={plugin:$,status:L0.REGISTERED,dependencies:Z};this.plugins.set($.id,X),this.logger.debug(`Registered plugin: ${$.id} (${$.version})`),this.events.emit(A6.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 U6($,"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 uf(this.initializedPluginIds.map(($)=>()=>this.pluginLifecycle.readyPlugin($)))}catch($){for(let Z of this.initializedPluginIds){let X=this.plugins.get(Z);if(X?.status===L0.ERROR)await this.pluginLifecycle.failPluginInitialization(Z,X.error??$)}throw $}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await uf(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===L0.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter(($)=>$[1].status===L0.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{j4 as va,lG as wa,M_ as xa,w_ as ya,bg as za,hg as Aa,mg as Ba,fg as Ca,_7$ as Da,P7$ as Ea,z7$ as Fa,sG as Ga,aG as Ha,j7$ as Ia,k7$ as Ja,Ib as Ka,v7$ as La,yb as Ma,g7$ as Na,WJ as Oa,WG$ as Pa,HG$ as Qa,K3 as Ra,DG$ as Sa,AG$ as Ta,UG$ as Ua,KG$ as Va,VG$ as Wa,QG$ as Xa,OG$ as Ya,BG$ as Za,iX as _a,r7$ as $a,LZ as ab,Uz$ as bb,QU as cb,N as db,p as eb,rA as fb,P$ as gb,C4 as hb,hX as ib,Jy as jb,x6 as kb,X8 as lb,M1 as mb,mX as nb,hG as ob,lA as pb,_Z as qb,fG as rb,l$ as sb,Z$ as tb,FZ as ub,ay as vb,$Z as wb,xN$ as xb,L4 as yb,HU as zb,k6 as Ab,I6 as Bb,Vg as Cb,b5$ as Db,h5$ as Eb,f as Fb,u$ as Gb,Q_ as Hb,O_ as Ib,sX as Jb,GP as Kb,rZ as Lb,Y0 as Mb,l0 as Nb,Z6 as Ob,C5 as Pb,F0 as Qb,u0 as Rb,H9 as Sb,a as Tb,K9 as Ub,n5 as Vb,xG as Wb,V9 as Xb,SQ$ as Yb,YP as Zb,WP as _b,HP as $b,JY as ac,DP as bc,AP as cc,UP as dc,D0 as ec,dZ as fc,Z7 as gc,X7 as hc,ab as ic,tb as jc,OX$ as kc,NU as lc,SG as mc,A5$ as nc,U5$ as oc,UN as pc,KN as qc,h as rc,ZZ as sc,v0 as tc,g8 as uc,C1 as vc,i$ as wc,H6 as xc,Qg as yc,D6 as zc,ON as Ac,O9 as Bc,cA as Cc,bX as Dc,BN as Ec,G6 as Fc,gv as Gc,F1 as Hc,cZ as Ic,bA as Jc,r5 as Kc,vv as Lc,v6 as Mc,__ as Nc,P_ as Oc,Sg as Pc,Q9 as Qc,NN as Rc,Q7$ as Sc,jg as Tc,kg as Uc,F_ as Vc,Ig as Wc,T_ as Xc,vg as Yc,PU as Zc,zX$ as _c,TU as $c,wU as ad,NP as bd,WY as cd,PP as dd,qJ$ as ed,zP as fd,EJ$ as gd,xJ$ as hd,SJ$ as id,cX$ as jd,eX as kd,Cm as ld,NY as md,oP as nd,Rm as od,Em as pd,xm as qd,Sm as rd,km as sd,Im as td,hJ$ as ud,mJ$ as vd,fJ$ as wd,cJ$ as xd,nP as yd,gU as zd,Y7 as Ad,lJ$ as Bd,rP as Cd,uZ as Dd,qX$ as Ed,EX$ as Fd,xX$ as Gd,jX$ as Hd,Eh as Id,Sh as Jd,CP as Kd,kh as Ld,Ih as Md,vh as Nd,fX$ as Od,Aq$ as Pd,RU as Qd,IP as Rd,vP as Sd,Zm as Td,$J as Ud,EU as Vd,xU as Wd,VY as Xd,SU as Yd,Am as Zd,QY as _d,$J$ as $d,ZJ$ as ae,XJ$ as be,JJ$ as ce,GJ$ as de,OY as ee,BY as fe,aJ$ as ge,pm as he,lm as ie,FJ$ as je,wJ$ as ke,yU as le,Pm as me,Fm as ne,CJ$ as oe,im as pe,RJ$ as qe,LJ$ as re,sm as se,ZJ as te,$f as ue,Zf as ve,Xf as we,Jf as xe,Yf as ye,aP as ze,tP as Ae,Af as Be,eP as Ce,dU as De,Vf as Ee,uU as Fe,$F as Ge,Qf as He,Of as Ie,Nf as Je,_f as Ke,oU as Le,zf as Me,Tf as Ne,rU as Oe,FY as Pe,zY as Qe,Mf as Re,wf as Se,Cf as Te,WF as Ue,TY as Ve,qf as We,Ef as Xe,xf as Ye,Sf as Ze,jf as _e,p2$ as $e,kf as af,HF as bf,u2$ as cf,n2$ as df,$3 as ef,Z3 as ff,X3 as gf,vf as hf,W7 as if,J3 as jf,MY as kf,yf as lf,KF as mf,bf as nf,a2$ as of,t2$ as pf,U6 as qf,W3 as rf};
134
+
135
+ //# debugId=4AFF81D6815C201364756E2164756E21
136
+ //# sourceMappingURL=index-0fysje0n.js.map