@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
@@ -1,136 +0,0 @@
1
- // @bun
2
- import{Ff as fh}from"./index-pnb8xy1h.js";import{Hf as _9}from"./index-q891w5f4.js";import{Ag as rG,Dg as yU,Fg as K5$,Nf as xU,Of as SU,Pf as kU,Sf as oh,Wf as s5,Xf as nb,Yf as cb,Zf as WF,_f as Am,eg as Bh,gg as q4,gh as mg,hh as eG,ih as nm,jh as Rg,kg as e$,kh as gU,lg as iX,mg as um,ng as IX,og as t5,qg as KP,sg as i5,ug as om,vg as $Y,vh as MU,xh as vh,zg as E4}from"./index-smm9eana.js";import{Mh as D}from"./index-xtvsz1xr.js";import{Nh as U5$,Ph as F8}from"./index-skqzsjg5.js";function GJ($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function GG$($){try{return new URL($).hostname.replace(/\./g,"-")}catch{return($.split("/")[0]??$).replace(/\./g,"-")}}function YG$($,Z){let X=GJ($);if(!X){let J=Date.now().toString(36);return Z?`id-${J}-${Z}`:`id-${J}`}return Z?`${X}-${Z}`:X}var uf=new Set(["series","species","sheep","deer","fish"]);function A3($){if(uf.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 WG$($){return $.replace(/[-_]/g," ").replace(/([A-Z])/g," $1").replace(/\b\w/g,(Z)=>Z.toUpperCase()).replace(/\s+/g," ").trim()}function HG$($){let X=$.split("-").map((G)=>G.charAt(0).toUpperCase()+G.slice(1)),J=X.pop();if(J)X.push(A3(J));return X.join(" ")}var of={github:"GitHub",instagram:"Instagram",linkedin:"LinkedIn",email:"Email",website:"Website"};function DG$($){let Z=$.toLowerCase(),X=of[Z];if(X!==void 0)return X;return $.replace(/\b\w/g,(J)=>J.toUpperCase())}function AG$($,Z){if(!Z)return $;try{return new URL($,Z).toString()}catch{return $}}function UG$($){let X=$.split(/\s+/).filter((J)=>J.length>0).length;return Math.max(1,Math.ceil(X/200))}function KG$($){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 VG$($,Z){if($.length<=Z)return $;let X=$.slice(0,Z),J=X.lastIndexOf(" ");return J>0?X.slice(0,J)+"...":X+"..."}function QG$($){return $.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#39;")}var F0={};F8(F0,{zipWith:()=>zV,zipRight:()=>xo,zipParRight:()=>jo,zipParLeft:()=>ko,zipPar:()=>So,zipLeft:()=>Eo,zip:()=>qo,void:()=>Lo,succeed:()=>N2,matchEffect:()=>Ro,match:()=>TV,mapErrorCause:()=>Co,mapError:()=>wo,mapBoth:()=>Mo,map:()=>zo,isSuccess:()=>W4,isInterrupted:()=>Ao,isFailure:()=>B2,isExit:()=>Do,interrupt:()=>FV,getOrElse:()=>To,fromOption:()=>Fo,fromEither:()=>Po,forEachEffect:()=>CH,flatten:()=>PV,flatMapEffect:()=>_o,flatMap:()=>No,failCause:()=>_V,fail:()=>NV,exists:()=>Bo,die:()=>Oo,causeOption:()=>Vo,asVoid:()=>Ko,as:()=>Uo,all:()=>Qo});var rZ={};F8(rZ,{zipWith:()=>bF,void:()=>_c,try:()=>Fc,transposeOption:()=>fc,transposeMapOption:()=>cc,right:()=>E$,orElse:()=>Sc,merge:()=>u4,match:()=>gF,mapLeft:()=>Cc,mapBoth:()=>wc,map:()=>x9,liftPredicate:()=>Rc,let:()=>mc,left:()=>g$,isRight:()=>b6,isLeft:()=>M0,isEither:()=>yF,getRight:()=>Tc,getOrUndefined:()=>Ec,getOrThrowWith:()=>w3,getOrThrow:()=>xc,getOrNull:()=>qc,getOrElse:()=>M3,getLeft:()=>zc,getEquivalence:()=>Mc,gen:()=>yc,fromOption:()=>z3,fromNullable:()=>Pc,flip:()=>Ic,flatMap:()=>_J,filterOrLeft:()=>Lc,bindTo:()=>hc,bind:()=>bc,ap:()=>jc,andThen:()=>kc,all:()=>C3,TypeId:()=>Nc,Do:()=>gc});var kY=($)=>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 z$=($)=>$;var D7=($)=>()=>$,y6=D7(!0),XZ=D7(!1),jY=D7(null),YJ=D7(void 0),TZ=YJ;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),nf=($,Z)=>$===Z,rf=()=>nf;var QF=rf();var OF=V(2,($,Z)=>g6((X,J)=>$(Z(X),Z(J))));var IY=($)=>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 U7=($)=>V(3,(Z,X,J)=>$(Z,(G)=>({...G,[X]:J(G)}))),K7=($)=>V(2,(Z,X)=>$(Z,(J)=>({[X]:J}))),V7=($,Z)=>V(3,(X,J,G)=>Z(X,(Y)=>$(G(Y),(W)=>({...Y,[J]:W}))));var WJ,N$=($,Z)=>{if(!WJ)globalThis["effect/GlobalValue"]??=new Map,WJ=globalThis["effect/GlobalValue"];if(!WJ.has($))WJ.set($,Z());return WJ.get($)};var HJ=($)=>typeof $==="string",DJ=($)=>typeof $==="number";var K3=($)=>typeof $==="bigint";var b8=kY;var lf=($)=>typeof $==="object"&&$!==null,w9=($)=>lf($)||b8($),o=V(2,($,Z)=>w9($)&&(Z in $)),E1=V(2,($,Z)=>o($,"_tag")&&$._tag===Z),y4=($)=>$===null||$===void 0;var h8=($)=>typeof $==="string"||o($,Symbol.iterator);var V3=($)=>o($,"then")&&b8($.then);var C9=($)=>`BUG: ${$} - please report an issue at https://github.com/Effect-TS/effect/issues`;var Q3=Symbol.for("effect/Gen/GenKind"),vY=($)=>w9($)&&(Q3 in $);class NF{value;constructor($){this.value=$}get _F(){return z$}get _R(){return($)=>$}get _O(){return($)=>$}get _E(){return($)=>$}[Q3]=Q3;[Symbol.iterator](){return new b4(this)}}class b4{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 b4(this.self)}}var yY=()=>function(){let $=arguments[0];for(let Z=1;Z<arguments.length;Z++)$=arguments[Z]($);return new NF($)},sf=335903614,af=4150755663,tf=1481765933,ef=1284865837,$c=9007199254740992,Zc=134217728;class B3{_state;constructor($,Z,X,J){if(y4(Z)&&y4($))Z=Math.random()*4294967295>>>0,$=0;else if(y4(Z))Z=$,$=0;if(y4(J)&&y4(X))J=this._state?this._state[3]:af,X=this._state?this._state[2]:sf;else if(y4(J))J=X,X=0;return this._state=new Int32Array([0,0,X>>>0,((J||0)|1)>>>0]),this._next(),BF(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($*Zc+Z)/$c}_next(){let $=this._state[0]>>>0,Z=this._state[1]>>>0;Xc(this._state,$,Z,tf,ef),BF(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 Xc($,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 BF($,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 O3=Symbol.for("effect/Utils/YieldWrap");class R9{#$;constructor($){this.#$=$}[O3](){return this.#$}}function h4($){if(typeof $==="object"&&$!==null&&O3 in $)return $[O3]();throw Error(C9("yieldWrapGet"))}var Y8=N$("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var _F={effect_internal_function:($)=>{return $()}},Jc={effect_internal_function:($)=>{try{return $()}finally{}}},Gc=_F.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,q0=Gc?_F.effect_internal_function:Jc.effect_internal_function,Yc=function*(){}.constructor,PF=($)=>w9($)&&$.constructor===Yc;var _3=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 m4($);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(Wc($))return $[Y$]();else return AJ($);default:throw Error(`BUG: unhandled typeof ${typeof $} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},AJ=($)=>{if(!_3.has($))_3.set($,m4(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return _3.get($)},U$=($)=>(Z)=>Z*53^$,gY=($)=>$&3221225471|$>>>1&1073741824,Wc=($)=>o($,Y$),m4=($)=>{if($!==$||$===1/0)return 0;let Z=$|0;if(Z!==$)Z^=$*4294967295;while($>4294967295)Z^=$/=4294967295;return gY(Z)},f$=($)=>{let Z=5381,X=$.length;while(X)Z=Z*33^$.charCodeAt(--X);return gY(Z)},Hc=($,Z)=>{let X=12289;for(let J=0;J<Z.length;J++)X^=P(f$(Z[J]),U$(s($[Z[J]])));return gY(X)},bY=($)=>Hc($,Object.keys($)),o0=($)=>{let Z=6151;for(let X=0;X<$.length;X++)Z=P(Z,U$(s($[X])));return gY(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($)=>hY($,arguments[0]);return hY(arguments[0],arguments[1])}function hY($,Z){if($===Z)return!0;let X=typeof $;if(X!==typeof Z)return!1;if(X==="object"||X==="function"){if($!==null&&Z!==null){if(Q7($)&&Q7(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)=>hY(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)&&hY($[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 Q7=($)=>o($,J$),UJ=()=>i;var M$=Symbol.for("nodejs.util.inspect.custom"),j$=($)=>{try{if(o($,"toJSON")&&b8($.toJSON)&&$.toJSON.length===0)return $.toJSON();else if(Array.isArray($))return $.map(j$)}catch{return{}}return zF($)};var S$=($)=>JSON.stringify($,null,2),vG$={toJSON(){return j$(this)},[M$](){return this.toJSON()},toString(){return S$(this.toJSON())}};var L9=($,Z=2)=>{if(typeof $==="string")return $;try{return typeof $==="object"?mY($,Z):String($)}catch{return String($)}},mY=($,Z)=>{let X=[],J=JSON.stringify($,(G,Y)=>typeof Y==="object"&&Y!==null?X.includes(Y)?void 0:X.push(Y)&&(f4.fiberRefs!==void 0&&FF(Y)?Y[P3](f4.fiberRefs):Y):Y,Z);return X=void 0,J},P3=Symbol.for("effect/Inspectable/Redactable"),FF=($)=>typeof $==="object"&&$!==null&&(P3 in $),f4=N$("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),TF=($,Z)=>{let X=f4.fiberRefs;f4.fiberRefs=$;try{return Z()}finally{f4.fiberRefs=X}},zF=($)=>{if(FF($)&&f4.fiberRefs!==void 0)return $[P3](f4.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 c4="Async",p4="Commit",$0="Failure",B7="OnFailure",N7="OnSuccess",_7="OnSuccessAndFailure",Z0="Success",fY="Sync",MF="Tag",q9="UpdateRuntimeFlags",P7="While",d4="Iterator",cY="WithRuntime",F7="Yield",KJ="RevertFlags";var Dc="3.22.0",QJ=()=>Dc;var CF=Symbol.for("effect/Effect"),RF=Symbol.for("effect/Stream"),LF=Symbol.for("effect/Sink"),qF=Symbol.for("effect/Channel"),x1={_R:($)=>$,_E:($)=>$,_A:($)=>$,_V:QJ()},Ac={_A:($)=>$,_In:($)=>$,_L:($)=>$,_E:($)=>$,_R:($)=>$},Uc={_Env:($)=>$,_InErr:($)=>$,_InElem:($)=>$,_InDone:($)=>$,_OutErr:($)=>$,_OutElem:($)=>$,_OutDone:($)=>$},E9={[CF]:x1,[RF]:x1,[LF]:Ac,[qF]:Uc,[J$]($){return this===$},[Y$](){return w$(this,AJ(this))},[Symbol.iterator](){return new b4(new R9(this))},pipe(){return r(this,arguments)}},T7={[Y$](){return w$(this,bY(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={...E9,_op:p4},F3={...m8,...T7},EF=function(){function $(){}return $.prototype=m8,$}();var SF=Symbol.for("effect/Option"),kF={...E9,[SF]:{_A:($)=>$},[M$](){return this.toJSON()},toString(){return S$(this.toJSON())}},Kc=Object.assign(Object.create(kF),{_tag:"Some",_op:"Some",[J$]($){return pY($)&&T3($)&&i(this.value,$.value)},[Y$](){return w$(this,U$(s(this._tag))(s(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:j$(this.value)}}}),Vc=s("None"),Qc=Object.assign(Object.create(kF),{_tag:"None",_op:"None",[J$]($){return pY($)&&V6($)},[Y$](){return Vc},toJSON(){return{_id:"Option",_tag:this._tag}}}),pY=($)=>o($,SF),V6=($)=>$._tag==="None",T3=($)=>$._tag==="Some",Q6=Object.create(Qc),nZ=($)=>{let Z=Object.create(Kc);return Z.value=$,Z};var dY=Symbol.for("effect/Either"),jF={...E9,[dY]:{_R:($)=>$},[M$](){return this.toJSON()},toString(){return S$(this.toJSON())}},Oc=Object.assign(Object.create(jF),{_tag:"Right",_op:"Right",[J$]($){return uY($)&&oY($)&&i(this.right,$.right)},[Y$](){return U$(s(this._tag))(s(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:j$(this.right)}}}),Bc=Object.assign(Object.create(jF),{_tag:"Left",_op:"Left",[J$]($){return uY($)&&z7($)&&i(this.left,$.left)},[Y$](){return U$(s(this._tag))(s(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:j$(this.left)}}}),uY=($)=>o($,dY),z7=($)=>$._tag==="Left",oY=($)=>$._tag==="Right",BJ=($)=>{let Z=Object.create(Bc);return Z.left=$,Z},NJ=($)=>{let Z=Object.create(Oc);return Z.right=$,Z},nY=($)=>oY($)?Q6:nZ($.left),rY=($)=>z7($)?Q6:nZ($.right),IF=V(2,($,Z)=>V6($)?BJ(Z()):NJ($.value));var Nc=dY,E$=NJ,_c=E$(void 0);var g$=BJ,Pc=V(2,($,Z)=>$==null?g$(Z($)):E$($)),z3=IF,Fc=($)=>{if(b8($))try{return E$($())}catch(Z){return g$(Z)}else try{return E$($.try())}catch(Z){return g$($.catch(Z))}};var yF=uY,M0=z7,b6=oY,Tc=rY,zc=nY,Mc=({left:$,right:Z})=>g6((X,J)=>M0(X)?M0(J)&&$(X.left,J.left):b6(J)&&Z(X.right,J.right)),wc=V(2,($,{onLeft:Z,onRight:X})=>M0($)?g$(Z($.left)):E$(X($.right))),Cc=V(2,($,Z)=>M0($)?g$(Z($.left)):E$($.right)),x9=V(2,($,Z)=>b6($)?E$(Z($.right)):g$($.left)),gF=V(2,($,{onLeft:Z,onRight:X})=>M0($)?Z($.left):X($.right)),Rc=V(3,($,Z,X)=>Z($)?E$($):g$(X($))),Lc=V(3,($,Z,X)=>_J($,(J)=>Z(J)?E$(J):g$(X(J)))),u4=gF({onLeft:z$,onRight:z$}),M3=V(2,($,Z)=>M0($)?Z($.left):$.right),qc=M3(jY),Ec=M3(YJ),w3=V(2,($,Z)=>{if(b6($))return $.right;throw Z($.left)}),xc=w3(()=>Error("getOrThrow called on a Left")),Sc=V(2,($,Z)=>M0($)?Z($.left):E$($.right)),_J=V(2,($,Z)=>M0($)?g$($.left):Z($.right)),kc=V(2,($,Z)=>_J($,(X)=>{let J=b8(Z)?Z(X):Z;return yF(J)?J:E$(J)})),bF=V(3,($,Z,X)=>_J($,(J)=>x9(Z,(G)=>X(J,G)))),jc=V(2,($,Z)=>bF($,Z,(X,J)=>X(J))),C3=($)=>{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)},Ic=($)=>M0($)?E$($.left):g$($.right),vc=yY(),yc=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(vc),J=X.next();while(!J.done){let G=vY(J.value)?J.value.value:h4(J.value);if(M0(G))return G;J=X.next(G.right)}return E$(J.value)},gc=E$({}),bc=V7(x9,_J),hc=K7(x9),mc=U7(x9);var fc=($)=>{return V6($)?E$(Q6):x9($.value,nZ)},cc=V(2,($,Z)=>V6($)?E$(Q6):x9(Z($.value),nZ));var R3=($)=>$.length>0;var Y0={};F8(Y0,{zipWith:()=>S3,zipRight:()=>Yp,zipLeft:()=>Wp,void:()=>Zp,toRefinement:()=>oc,toArray:()=>nF,tap:()=>dF,some:()=>S,reduceCompact:()=>Up,productMany:()=>Dp,product:()=>uF,partitionMap:()=>Kp,orElseSome:()=>q3,orElseEither:()=>sc,orElse:()=>ic,none:()=>x,mergeWith:()=>h6,match:()=>f0,map:()=>E0,liftThrowable:()=>E3,liftPredicate:()=>Np,liftNullable:()=>tc,lift2:()=>Bp,let:()=>Tp,isSome:()=>b$,isOption:()=>fF,isNone:()=>k$,getRight:()=>rc,getOrder:()=>Op,getOrUndefined:()=>n0,getOrThrowWith:()=>cF,getOrThrow:()=>x3,getOrNull:()=>ec,getOrElse:()=>c0,getLeft:()=>lc,getEquivalence:()=>Qp,gen:()=>Cp,fromNullable:()=>W8,fromIterable:()=>nc,flatten:()=>Gp,flatMapNullable:()=>Jp,flatMap:()=>lZ,firstSomeOf:()=>ac,filterMap:()=>rF,filter:()=>Vp,exists:()=>Pp,containsWith:()=>lF,contains:()=>k3,composeK:()=>Hp,bindTo:()=>Fp,bind:()=>zp,asVoid:()=>$p,as:()=>pF,ap:()=>Ap,andThen:()=>Xp,all:()=>oF,TypeId:()=>uc,Do:()=>Mp});var PJ=($)=>(Z,X)=>Z===X?0:$(Z,X);var hF=PJ(($,Z)=>$<Z?-1:1);var lY=V(2,($,Z)=>PJ((X,J)=>$(Z(X),Z(J))));var dc=($)=>{return PJ((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 mF=(...$)=>dc($);var L3=($)=>V(2,(Z,X)=>$(Z,X)===1);var uc=Symbol.for("effect/Option"),x=()=>Q6,S=nZ,fF=pY,k$=V6,b$=T3,f0=V(2,($,{onNone:Z,onSome:X})=>k$($)?Z():X($.value)),oc=($)=>(Z)=>b$($(Z)),nc=($)=>{for(let Z of $)return S(Z);return x()},rc=rY,lc=nY,c0=V(2,($,Z)=>k$($)?Z():$.value),ic=V(2,($,Z)=>k$($)?Z():$),q3=V(2,($,Z)=>k$($)?S(Z()):$),sc=V(2,($,Z)=>k$($)?E0(Z(),NJ):E0($,BJ)),ac=($)=>{let Z=x();for(Z of $)if(b$(Z))return Z;return Z},W8=($)=>$==null?x():S($),tc=($)=>(...Z)=>W8($(...Z)),ec=c0(jY),n0=c0(YJ),E3=($)=>(...Z)=>{try{return S($(...Z))}catch{return x()}},cF=V(2,($,Z)=>{if(b$($))return $.value;throw Z()}),x3=cF(()=>Error("getOrThrow called on a None")),E0=V(2,($,Z)=>k$($)?x():S(Z($.value))),pF=V(2,($,Z)=>E0($,()=>Z)),$p=pF(void 0),Zp=S(void 0);var lZ=V(2,($,Z)=>k$($)?x():Z($.value)),Xp=V(2,($,Z)=>lZ($,(X)=>{let J=kY(Z)?Z(X):Z;return fF(J)?J:S(J)})),Jp=V(2,($,Z)=>k$($)?x():W8(Z($.value))),Gp=lZ(z$),Yp=V(2,($,Z)=>lZ($,()=>Z)),Wp=V(2,($,Z)=>dF($,()=>Z)),Hp=V(2,($,Z)=>(X)=>lZ($(X),Z)),dF=V(2,($,Z)=>lZ($,(X)=>E0(Z(X),()=>X))),uF=($,Z)=>b$($)&&b$(Z)?S([$.value,Z.value]):x(),Dp=($,Z)=>{if(k$($))return x();let X=[$.value];for(let J of Z){if(k$(J))return x();X.push(J.value)}return S(X)},oF=($)=>{if(Symbol.iterator in $){let X=[];for(let J of $){if(k$(J))return x();X.push(J.value)}return S(X)}let Z={};for(let X of Object.keys($)){let J=$[X];if(k$(J))return x();Z[X]=J.value}return S(Z)},S3=V(3,($,Z,X)=>E0(uF($,Z),([J,G])=>X(J,G))),Ap=V(2,($,Z)=>S3($,Z,(X,J)=>X(J))),Up=V(3,($,Z,X)=>{let J=Z;for(let G of $)if(b$(G))J=X(J,G.value);return J}),nF=($)=>k$($)?[]:[$.value],Kp=V(2,($,Z)=>{if(k$($))return[x(),x()];let X=Z($.value);return z7(X)?[S(X.left),x()]:[x(),S(X.right)]}),rF=lZ,Vp=V(2,($,Z)=>rF($,(X)=>Z(X)?nZ(X):Q6)),Qp=($)=>g6((Z,X)=>k$(Z)?k$(X):k$(X)?!1:$(Z.value,X.value)),Op=($)=>PJ((Z,X)=>b$(Z)?b$(X)?$(Z.value,X.value):1:-1),Bp=($)=>V(2,(Z,X)=>S3(Z,X,$)),Np=V(2,($,Z)=>Z($)?S($):x()),lF=($)=>V(2,(Z,X)=>k$(Z)?!1:$(Z.value,X)),_p=UJ(),k3=lF(_p),Pp=V(2,($,Z)=>k$($)?!1:Z($.value)),Fp=K7(E0),Tp=U7(E0);var zp=V7(E0,lZ),Mp=S({}),wp=yY(),Cp=(...$)=>{let X=($.length===1?$[0]:$[1].bind($[0]))(wp),J=X.next();while(!J.done){let G=vY(J.value)?J.value.value:h4(J.value);if(k$(G))return G;J=X.next(G.value)}return S(J.value)},h6=($)=>(Z,X)=>{if(k$(Z))return X;else if(k$(X))return Z;return S($(Z.value,X.value))};var iF=(...$)=>$;var sY=($)=>{let X=$[Symbol.iterator]().next();if(X.done)throw Error("unsafeHead: empty iterable");return X.value};var Lp={[Symbol.iterator](){return qp}},qp={next(){return{done:!0,value:void 0}}},aY=()=>Lp;var sF=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 FJ=($)=>Array($),j3=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($),tF=($)=>Array.isArray($)?$:[$];var M7=V(2,($,Z)=>[Z,...$]);var eF=V(2,($,Z)=>[...$,Z]),I3=V(2,($,Z)=>_$($).concat(_$(Z)));var Ep=($)=>$.length===0,$T=Ep,tY=R3,EZ=R3;var ZT=($,Z)=>$<0||$>=Z.length,xp=($,Z)=>Math.floor(Math.min(Math.max(0,$),Z.length)),Sp=V(2,($,Z)=>{let X=Math.floor(Z);return ZT(X,$)?x():S($[X])}),v3=V(2,($,Z)=>{let X=Math.floor(Z);if(ZT(X,$))throw Error(`Index ${X} out of bounds`);return $[X]});var S1=Sp(0),UZ=v3(0),XT=($)=>EZ($)?S(y3($)):x(),y3=($)=>$[$.length-1];var m6=($)=>$.slice(1);var kp=($,Z)=>{let X=0;for(let J of $){if(!Z(J,X))break;X++}return X},JT=V(2,($,Z)=>Ip($,kp($,Z))),GT=V(2,($,Z)=>{let X=_$($);return X.slice(xp(Z,X),X.length)});var g3=($)=>Array.from($).reverse(),H8=V(2,($,Z)=>{let X=Array.from($);return X.sort(Z),X});var b3=V(2,($,Z)=>YT($,Z,iF)),YT=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 jp=UJ();var Ip=V(2,($,Z)=>{let X=Array.from($),J=Math.floor(Z);if(EZ(X)){if(J>=1)return vp(X,J);return[[],X]}return[X,[]]}),vp=V(2,($,Z)=>{let X=Math.max(1,Math.floor(Z));return X>=$.length?[yp($),[]]:[M7($.slice(1,X),UZ($)),$.slice(X)]});var yp=($)=>$.slice();var gp=V(3,($,Z,X)=>{let J=_$($),G=_$(Z);if(EZ(J)){if(EZ(G))return DT(X)(I3(J,G));return J}return G}),O6=V(2,($,Z)=>gp($,Z,jp));var B6=()=>[],iZ=($)=>[$],f6=V(2,($,Z)=>$.map(Z)),WT=V(2,($,Z)=>{if($T($))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}),eY=WT(z$),w7=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 h3=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]}),HT=w7(z$);var k1=V(3,($,Z,X)=>_$($).reduce((J,G,Y)=>X(J,G,Y),Z)),$W=V(3,($,Z,X)=>_$($).reduceRight((J,G,Y)=>X(J,G,Y),Z));var m3=($,Z)=>{let X=[],J=$,G;while(b$(G=Z(J))){let[Y,W]=G.value;X.push(Y),J=W}return X};var C7=IY;var DT=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[]}),f3=($)=>DT($,UJ());var S9=V(2,($,Z)=>_$($).join(Z));var AT=Symbol.for("effect/Chunk");function bp($,Z,X,J,G){for(let Y=Z;Y<Math.min($.length,Z+G);Y++)X[J+Y-Z]=$[Y];return X}var UT=[],hp=($)=>g6((Z,X)=>Z.length===X.length&&f8(Z).every((J,G)=>$(J,o4(X,G)))),mp=hp(i),fp={[AT]:{_A:($)=>$},toString(){return S$(this.toJSON())},toJSON(){return{_id:"Chunk",values:f8(this).map(j$)}},[M$](){return this.toJSON()},[J$]($){return KT($)&&mp(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 UT[Symbol.iterator]();default:return f8(this)[Symbol.iterator]()}},pipe(){return r(this,arguments)}},GZ=($)=>{let Z=Object.create(fp);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},KT=($)=>o($,AT),c6=GZ({_tag:"IEmpty"}),w0=()=>c6,TJ=(...$)=>up($),x0=($)=>GZ({_tag:"ISingleton",a:$}),j1=($)=>KT($)?$:zJ(_$($)),c3=($,Z,X)=>{switch($.backing._tag){case"IArray":{bp($.backing.array,0,Z,X,$.length);break}case"IConcat":{c3($.left,Z,X),c3($.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]=o4($,J),J+=1,G+=1;break}}};var cp=($)=>{switch($.backing._tag){case"IEmpty":return UT;case"IArray":return $.backing.array;default:{let Z=Array($.length);return c3($,Z,0),$.backing={_tag:"IArray",array:Z},$.left=c6,$.right=c6,$.depth=0,Z}}},f8=cp,pp=($)=>{switch($.backing._tag){case"IEmpty":case"ISingleton":return $;case"IArray":return GZ({_tag:"IArray",array:g3($.backing.array)});case"IConcat":return GZ({_tag:"IConcat",left:z8($.backing.right),right:z8($.backing.left)});case"ISlice":return zJ(g3(f8($)))}},z8=pp,dp=V(2,($,Z)=>Z<0||Z>=$.length?x():S(o4($,Z))),zJ=($)=>$.length===0?w0():$.length===1?x0($[0]):GZ({_tag:"IArray",array:$}),up=($)=>zJ($),o4=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?o4($.left,Z):o4($.right,Z-$.left.length);case"ISlice":return o4($.backing.chunk,Z+$.backing.offset)}}),R7=V(2,($,Z)=>T8($,x0(Z))),V0=V(2,($,Z)=>T8(x0(Z),$));var p3=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 p3($.right,Z-$.left.length);return GZ({_tag:"IConcat",left:p3($.left,Z),right:$.right})}default:return GZ({_tag:"ISlice",chunk:$,offset:Z,length:$.length-Z})}});var T8=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=T8($.right,Z);return GZ({_tag:"IConcat",left:$.left,right:J})}else{let J=T8($.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=T8($,Z.left);return GZ({_tag:"IConcat",left:J,right:Z.right})}else{let J=T8($,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 ZW=($)=>$.length===0,W0=($)=>$.length>0,MJ=dp(0),d3=($)=>o4($,0),y$=d3;var H0=($)=>p3($,1);var l0={};F8(l0,{unsafeMake:()=>ep,unsafeGet:()=>p8,pick:()=>Xd,omit:()=>Jd,mergeAll:()=>s3,merge:()=>d8,make:()=>D8,isTag:()=>E7,isReference:()=>$d,isContext:()=>i3,getOrElse:()=>Zd,getOption:()=>w8,get:()=>r0,empty:()=>KZ,add:()=>s$,TagTypeId:()=>ap,Tag:()=>Gd,ReferenceTypeId:()=>tp,Reference:()=>p6,GenericTag:()=>YZ});var XW=Symbol.for("effect/Context/Tag"),L7=Symbol.for("effect/Context/Reference"),op="effect/STM",np=Symbol.for(op),q7={...E9,_op:"Tag",[np]:x1,[XW]:{_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 r3(this,$)}},rp={...q7,[L7]:L7},VT=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;let J=Object.create(q7);return Object.defineProperty(J,"stack",{get(){return X.stack}}),J.key=$,J},QT=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,q7),J.key=$,Object.defineProperty(J,"stack",{get(){return X.stack}}),J},OT=()=>($,Z)=>{let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();Error.stackTraceLimit=X;function G(){}return Object.setPrototypeOf(G,rp),G.key=$,G.defaultValue=Z.defaultValue,Object.defineProperty(G,"stack",{get(){return J.stack}}),G},o3=Symbol.for("effect/Context"),lp={[o3]:{_Services:($)=>$},[J$]($){if(n3($)){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,m4(this.unsafeMap.size))},pipe(){return r(this,arguments)},toString(){return S$(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(j$)}},[M$](){return this.toJSON()}},c8=($)=>{let Z=Object.create(lp);return Z.unsafeMap=$,Z},ip=($)=>{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},n3=($)=>o($,o3),BT=($)=>o($,XW),JW=($)=>o($,L7),sp=c8(new Map),NT=()=>sp,r3=($,Z)=>c8(new Map([[$.key,Z]])),_T=V(3,($,Z,X)=>{let J=new Map($.unsafeMap);return J.set(Z.key,X),c8(J)}),u3=N$("effect/Context/defaultValueCache",()=>new Map),GW=($)=>{if(u3.has($.key))return u3.get($.key);let Z=$.defaultValue();return u3.set($.key,Z),Z},PT=($,Z)=>{return $.unsafeMap.has(Z.key)?$.unsafeMap.get(Z.key):GW(Z)},l3=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key)){if(L7 in Z)return GW(Z);throw ip(Z)}return $.unsafeMap.get(Z.key)}),FT=l3,TT=V(3,($,Z,X)=>{if(!$.unsafeMap.has(Z.key))return JW(Z)?GW(Z):X();return $.unsafeMap.get(Z.key)}),zT=V(2,($,Z)=>{if(!$.unsafeMap.has(Z.key))return JW(Z)?nZ(GW(Z)):Q6;return nZ($.unsafeMap.get(Z.key))}),MT=V(2,($,Z)=>{let X=new Map($.unsafeMap);for(let[J,G]of Z.unsafeMap)X.set(J,G);return c8(X)}),wT=(...$)=>{let Z=new Map;for(let X=0;X<$.length;X++)$[X].unsafeMap.forEach((J,G)=>{Z.set(G,J)});return c8(Z)},CT=(...$)=>(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)},RT=(...$)=>(Z)=>{let X=new Map(Z.unsafeMap);for(let J of $)X.delete(J.key);return c8(X)};var ap=XW,tp=L7,YZ=VT;var ep=c8,i3=n3,E7=BT,$d=JW,KZ=NT,D8=r3,s$=_T,r0=FT,Zd=TT,p8=l3,w8=zT,d8=MT,s3=wT,Xd=CT,Jd=RT,Gd=QT,p6=OT;var a3=Symbol.for("effect/Duration"),kT=BigInt(0),qT=BigInt(24),YW=BigInt(60),t3=BigInt(1000),ET=BigInt(1e6),xT=BigInt(1e9),Yd=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,G0=($)=>{if(jT($))return $;else if(DJ($))return xZ($);else if(K3($))return wJ($);else if(Array.isArray($)&&$.length===2&&$.every(DJ)){if($[0]===-1/0||$[1]===-1/0||Number.isNaN($[0])||Number.isNaN($[1]))return U8;if($[0]===1/0||$[1]===1/0)return Ad;return wJ(BigInt(Math.round($[0]*1e9))+BigInt(Math.round($[1])))}else if(HJ($)){let Z=Yd.exec($);if(Z){let[X,J,G]=Z,Y=Number(J);switch(G){case"nano":case"nanos":return wJ(BigInt(J));case"micro":case"micros":return Ud(BigInt(J));case"milli":case"millis":return xZ(Y);case"second":case"seconds":return e3(Y);case"minute":case"minutes":return Kd(Y);case"hour":case"hours":return Vd(Y);case"day":case"days":return Qd(Y);case"week":case"weeks":return Od(Y)}}}throw Error("Invalid DurationInput")};var ST={_tag:"Millis",millis:0},Wd={_tag:"Infinity"},Hd={[a3]:a3,[Y$](){return w$(this,bY(this.value))},[J$]($){return jT($)&&Pd(this,$)},toString(){return`Duration(${XK(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:Nd(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},A8=($)=>{let Z=Object.create(Hd);if(DJ($))if(isNaN($)||$<=0)Z.value=ST;else if(!Number.isFinite($))Z.value=Wd;else if(!Number.isInteger($))Z.value={_tag:"Nanos",nanos:BigInt(Math.round($*1e6))};else Z.value={_tag:"Millis",millis:$};else if($<=kT)Z.value=ST;else Z.value={_tag:"Nanos",nanos:$};return Z},jT=($)=>o($,a3);var Dd=($)=>{switch($.value._tag){case"Millis":return $.value.millis===0;case"Nanos":return $.value.nanos===kT;case"Infinity":return!1}},U8=A8(0),Ad=A8(1/0),wJ=($)=>A8($),Ud=($)=>A8($*t3),xZ=($)=>A8($),e3=($)=>A8($*1000),Kd=($)=>A8($*60000),Vd=($)=>A8($*3600000),Qd=($)=>A8($*86400000),Od=($)=>A8($*604800000),zZ=($)=>IT($,{onMillis:(Z)=>Z,onNanos:(Z)=>Number(Z)/1e6});var Bd=($)=>{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))}},Nd=($)=>{let Z=G0($);switch(Z.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(Z.value.nanos/xT),Number(Z.value.nanos%xT)];case"Millis":return[Math.floor(Z.value.millis/1000),Math.round(Z.value.millis%1000*1e6)]}},IT=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)}}),CJ=V(3,($,Z,X)=>{let J=G0($),G=G0(Z);if(J.value._tag==="Infinity"||G.value._tag==="Infinity")return X.onMillis(zZ(J),zZ(G));else if(J.value._tag==="Nanos"||G.value._tag==="Nanos"){let Y=J.value._tag==="Nanos"?J.value.nanos:BigInt(Math.round(J.value.millis*1e6)),W=G.value._tag==="Nanos"?G.value.nanos:BigInt(Math.round(G.value.millis*1e6));return X.onNanos(Y,W)}return X.onMillis(J.value.millis,G.value.millis)});var _d=($,Z)=>CJ($,Z,{onMillis:(X,J)=>X===J,onNanos:(X,J)=>X===J});var $K=V(2,($,Z)=>IT($,{onMillis:(X)=>A8(X*Z),onNanos:(X)=>A8(X*BigInt(Z))}));var ZK=V(2,($,Z)=>CJ($,Z,{onMillis:(X,J)=>A8(X+J),onNanos:(X,J)=>A8(X+J)})),vT=V(2,($,Z)=>CJ($,Z,{onMillis:(X,J)=>X<J,onNanos:(X,J)=>X<J})),yT=V(2,($,Z)=>CJ($,Z,{onMillis:(X,J)=>X<=J,onNanos:(X,J)=>X<=J}));var WW=V(2,($,Z)=>CJ($,Z,{onMillis:(X,J)=>X>=J,onNanos:(X,J)=>X>=J})),Pd=V(2,($,Z)=>_d(G0($),G0(Z))),Fd=($)=>{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=Bd(Z),J=X/ET,G=J/t3,Y=G/YW,W=Y/YW,H=W/qT;return{days:Number(H),hours:Number(W%qT),minutes:Number(Y%YW),seconds:Number(G%YW),millis:Number(J%t3),nanos:Number(X%ET)}},XK=($)=>{let Z=G0($);if(Z.value._tag==="Infinity")return"Infinity";if(Dd(Z))return"0";let X=Fd(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 I1=5,JK=Math.pow(2,5),gT=JK-1,bT=JK/2,hT=JK/4;function Td($){return $-=$>>1&1431655765,$=($&858993459)+($>>2&858993459),$=$+($>>4)&252645135,$+=$>>8,$+=$>>16,$&127}function v1($,Z){return Z>>>$&gT}function y1($){return 1<<$}function HW($,Z){return Td($&Z-1)}var mT=($,Z)=>({value:$,previous:Z});function n4($,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 GK($,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 fT($,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(k$(W))return new k9;return++Y.value,new r4($,J,G,W)}}function u8($){return E1($,"EmptyNode")}function Md($){return u8($)||$._tag==="LeafNode"||$._tag==="CollisionNode"}function DW($,Z){return u8($)?!1:Z===$.edit}class r4{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(k$(H))return--Y.value,new k9;if(DW(this,$))return this.value=H,this;return new r4($,J,G,H)}let W=X(x());if(k$(W))return this;return++Y.value,cT($,Z,this.hash,this,J,new r4($,J,G,W))}}class YK{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=DW(this,$),A=this.updateCollisionList(H,$,this.hash,this.children,X,G,Y);if(A===this.children)return this;return A.length>1?new YK($,this.hash,A):A[0]}let W=X(x());if(k$(W))return this;return++Y.value,cT($,Z,this.hash,this,J,new r4($,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(k$(_))return--W.value,GK($,K,J);return n4($,K,new r4(Z,X,Y,_),J)}}let A=G(x());if(k$(A))return J;return++W.value,n4($,H,new r4(Z,X,Y,A),J)}}class x7{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=v1(Z,J),K=y1(A),Q=HW(W,K),O=W&K,_=DW(this,$);if(!O){let V$=new k9().modify($,Z+I1,X,J,G,Y);if(!V$)return this;return H.length>=bT?Cd($,A,V$,W,H):new x7($,W|K,fT(_,Q,V$,H))}let F=H[Q],M=F.modify($,Z+I1,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&&Md(H[Q^1]))return H[Q^1];m=GK(_,Q,H)}else m=n4(_,Q,M,H);if(_)return this.mask=C,this.children=m,this;return new x7($,C,m)}}class WK{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=v1(Z,J),K=H[A],Q=(K||new k9).modify($,Z+I1,X,J,G,Y);if(K===Q)return this;let O=DW(this,$),_;if(u8(K)&&!u8(Q))++W,_=n4(O,A,Q,H);else if(!u8(K)&&u8(Q)){if(--W,W<=hT)return wd($,W,A,H);_=n4(O,A,new k9,H)}else _=n4(O,A,Q,H);if(O)return this.size=W,this.children=_,this;return new WK($,W,_)}}function wd($,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 x7($,W,G)}function Cd($,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 WK($,H+1,Y)}function Rd($,Z,X,J,G,Y){if(X===G)return new YK($,X,[Y,J]);let W=v1(Z,X),H=v1(Z,G);if(W===H)return(A)=>new x7($,y1(W)|y1(H),[A]);else{let A=W<H?[J,Y]:[Y,J];return new x7($,y1(W)|y1(H),A)}}function cT($,Z,X,J,G,Y){let W=void 0,H=Z;while(!0){let A=Rd($,H,X,J,G,Y);if(typeof A==="function")W=mT(A,W),H=H+I1;else{let K=A;while(W!=null)K=W.value(K),W=W.previous;return K}}}var pT="effect/HashMap",AW=Symbol.for(pT),qd={[AW]:AW,[Symbol.iterator](){return new KW(this,($,Z)=>[$,Z])},[Y$](){let $=s(pT);for(let Z of this)$^=P(s(Z[0]),U$(s(Z[1])));return w$(this,$)},[J$]($){if(nT($)){if($._size!==this._size)return!1;for(let Z of this){let X=P($,VW(Z[0],s(Z[0])));if(k$(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(j$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},HK=($,Z,X,J)=>{let G=Object.create(qd);return G._editable=$,G._edit=Z,G._root=X,G._size=J,G};class KW{map;f;v;constructor($,Z){this.map=$,this.f=Z,this.v=dT(this.map._root,this.f,void 0)}next(){if(k$(this.v))return{done:!0,value:void 0};let $=this.v.value;return this.v=UW($.cont),{done:!1,value:$.value}}[Symbol.iterator](){return new KW(this.map,this.f)}}var UW=($)=>$?uT($[0],$[1],$[2],$[3],$[4]):x(),dT=($,Z,X=void 0)=>{switch($._tag){case"LeafNode":{if(b$($.value))return S({value:Z($.key,$.value.value),cont:X});return UW(X)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let J=$.children;return uT(J.length,J,0,Z,X)}default:return UW(X)}},uT=($,Z,X,J,G)=>{while(X<$){let Y=Z[X++];if(Y&&!u8(Y))return dT(Y,J,[$,Z,X,J,G])}return UW(G)},Ed=HK(!1,0,new k9,0),S7=()=>Ed;var oT=($)=>{let Z=LJ(S7());for(let X of $)l4(Z,X[0],X[1]);return AK(Z)},nT=($)=>o($,AW),rT=($)=>$&&u8($._root),lT=V(2,($,Z)=>VW($,Z,s(Z))),VW=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=v1(G,X),W=y1(Y);if(J.mask&W){J=J.children[HW(J.mask,W)],G+=I1;break}return x()}case"ArrayNode":{if(J=J.children[v1(G,X)],J){G+=I1;break}return x()}default:return x()}});var DK=V(2,($,Z)=>b$(VW($,Z,s(Z))));var l4=V(3,($,Z,X)=>OW($,Z,()=>S(X))),xd=V(3,($,Z,X)=>{if($._editable)return $._root=Z,$._size=X,$;return Z===$._root?$:HK($._editable,$._edit,Z,X)}),QW=($)=>new KW($,(Z)=>Z);var RJ=($)=>$._size;var LJ=($)=>HK(!0,$._edit+1,$._root,$._size),AK=($)=>{return $._editable=!1,$},iT=V(2,($,Z)=>{let X=LJ($);return Z(X),AK(X)}),OW=V(3,($,Z,X)=>sT($,Z,s(Z),X)),sT=V(4,($,Z,X,J)=>{let G={value:$._size},Y=$._root.modify($._editable?$._edit:NaN,0,J,X,Z,G);return P($,xd(Y,G.value))});var BW=V(2,($,Z)=>OW($,Z,x));var aT=V(2,($,Z)=>k7($,S7(),(X,J,G)=>l4(X,G,Z(J,G))));var NW=V(2,($,Z)=>k7($,void 0,(X,J,G)=>Z(J,G))),k7=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 eT="effect/HashSet",_W=Symbol.for(eT),Sd={[_W]:_W,[Symbol.iterator](){return QW(this._keyMap)},[Y$](){return w$(this,U$(s(this._keyMap))(s(eT)))},[J$]($){if($z($))return RJ(this._keyMap)===RJ($._keyMap)&&i(this._keyMap,$._keyMap);return!1},toString(){return S$(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(j$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},PW=($)=>{let Z=Object.create(Sd);return Z._keyMap=$,Z},$z=($)=>o($,_W),kd=PW(S7()),i4=()=>kd,Zz=($)=>{let Z=TW(i4());for(let X of $)g1(Z,X);return zW(Z)},Xz=(...$)=>{let Z=TW(i4());for(let X of $)g1(Z,X);return zW(Z)},FW=V(2,($,Z)=>DK($._keyMap,Z)),Jz=V(2,($,Z)=>{let X=!1;for(let J of $)if(X=Z(J),X)break;return X}),Gz=V(2,($,Z)=>!Jz($,(X)=>!Z(X)));var Yz=($)=>RJ($._keyMap),TW=($)=>PW(LJ($._keyMap)),zW=($)=>{return $._keyMap._editable=!1,$},qJ=V(2,($,Z)=>{let X=TW($);return Z(X),zW(X)}),g1=V(2,($,Z)=>$._keyMap._editable?(l4(Z,!0)($._keyMap),$):PW(l4(Z,!0)($._keyMap))),UK=V(2,($,Z)=>$._keyMap._editable?(BW(Z)($._keyMap),$):PW(BW(Z)($._keyMap))),Wz=V(2,($,Z)=>qJ($,(X)=>{for(let J of Z)UK(X,J)}));var Hz=V(2,($,Z)=>qJ(i4(),(X)=>{MW($,(J)=>g1(X,J));for(let J of Z)g1(X,J)}));var Dz=V(2,($,Z)=>qJ(i4(),(X)=>{MW($,(J)=>{let G=Z(J);if(!FW(X,G))g1(X,G)})})),Az=V(2,($,Z)=>qJ(i4(),(X)=>{MW($,(J)=>{for(let G of Z(J))if(!FW(X,G))g1(X,G)})})),MW=V(2,($,Z)=>NW($._keyMap,(X,J)=>Z(J))),Uz=V(3,($,Z,X)=>k7($._keyMap,Z,(J,G,Y)=>X(J,Y)));var o8=i4,wW=Zz,N6=Xz,j7=FW;var Kz=Gz;var j9=Yz;var s4=g1,KK=UK,VK=Wz;var u6=Hz;var QK=Dz,OK=Az;var a4=Uz;var Vz=Symbol.for("effect/MutableRef"),Id={[Vz]:Vz,toString(){return S$(this.toJSON())},toJSON(){return{_id:"MutableRef",current:j$(this.current)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},o6=($)=>{let Z=Object.create(Id);return Z.current=$,Z},CW=V(3,($,Z,X)=>{if(i(Z,$.current))return $.current=X,!0;return!1});var n6=($)=>$.current;var I9=V(2,($,Z)=>{return $.current=Z,$});var EW="effect/FiberId",b1=Symbol.for(EW),h1="None",RW="Runtime",LW="Composite",vd=f$(`${EW}-${h1}`);class Oz{[b1]=b1;_tag=h1;id=-1;startTimeMillis=-1;[Y$](){return vd}[J$]($){return SW($)&&$._tag===h1}toString(){return S$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[M$](){return this.toJSON()}}class BK{id;startTimeMillis;[b1]=b1;_tag=RW;constructor($,Z){this.id=$,this.startTimeMillis=Z}[Y$](){return w$(this,f$(`${EW}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[J$]($){return SW($)&&$._tag===RW&&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 Bz{left;right;[b1]=b1;_tag=LW;constructor($,Z){this.left=$,this.right=Z}_hash;[Y$](){return P(f$(`${EW}-${this._tag}`),U$(s(this.left)),U$(s(this.right)),w$(this))}[J$]($){return SW($)&&$._tag===LW&&i(this.left,$.left)&&i(this.right,$.right)}toString(){return S$(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,left:j$(this.left),right:j$(this.right)}}[M$](){return this.toJSON()}}var xW=new Oz;var SW=($)=>o($,b1),NK=($)=>{return $._tag===h1||P(qW($),Kz((Z)=>NK(Z)))};var Nz=V(2,($,Z)=>{if($._tag===h1)return Z;if(Z._tag===h1)return $;return new Bz($,Z)});var _z=V(2,($,Z)=>NK($)?Z:$),xJ=($)=>{switch($._tag){case h1:return o8();case RW:return N6($.id);case LW:return P(xJ($.left),u6(xJ($.right)))}},Qz=N$(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>o6(0)),Pz=($,Z)=>{return new BK($,Z)},kW=($)=>{return Array.from(xJ($)).map((X)=>`#${X}`).join(",")};var qW=($)=>{switch($._tag){case h1:return o8();case RW:return N6($);case LW:return P(qW($.left),u6(qW($.right)))}},Fz=()=>{let $=n6(Qz);return P(Qz,I9($+1)),new BK($,Date.now())};var p0=xW;var K8=Nz;var jW=_z,m1=xJ,IW=Pz,zz=kW;var vW=Fz;var t4=S7;var Mz=oT,wz=rT,_K=lT;var SZ=l4,PK=QW;var Cz=iT,Rz=OW;var Lz=aT;var qz=NW,FK=k7;var SJ=Symbol.for("effect/List"),TK=($)=>_$($),yd=($)=>OF(C7($),TK),gd=yd(i),bd={[SJ]:SJ,_tag:"Cons",toString(){return S$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:TK(this).map(j$)}},[M$](){return this.toJSON()},[J$]($){return xz($)&&this._tag===$._tag&&gd(this,$)},[Y$](){return w$(this,o0(TK(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)}},yW=($,Z)=>{let X=Object.create(bd);return X.head=$,X.tail=Z,X},hd=f$("Nil"),md={[SJ]:SJ,_tag:"Nil",toString(){return S$(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[M$](){return this.toJSON()},[Y$](){return hd},[J$]($){return xz($)&&this._tag===$._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return r(this,arguments)}},Ez=Object.create(md),xz=($)=>o($,SJ),r6=($)=>$._tag==="Nil",zK=($)=>$._tag==="Cons";var fd=()=>Ez,v9=($,Z)=>yW($,Z),l6=fd,kJ=($)=>yW($,Ez);var Sz=V(2,($,Z)=>cd(Z,$)),gW=V(2,($,Z)=>v9(Z,$)),cd=V(2,($,Z)=>{if(r6($))return Z;else if(r6(Z))return $;else{let X=yW(Z.head,$),J=X,G=Z.tail;while(!r6(G)){let Y=yW(G.head,$);J.tail=Y,J=Y,G=G.tail}return X}});var kz=V(3,($,Z,X)=>{let J=Z,G=$;while(!r6(G))J=X(J,G.head),G=G.tail;return J});var jz=($)=>{let Z=l6(),X=$;while(!r6(X))Z=gW(Z,X.head),X=X.tail;return Z};var yW$=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}}),v7=function(){function $(Z){if(Z)Object.assign(this,Z)}return $.prototype=T7,$}(),hW=($)=>Object.assign(Object.create(T7),$);var pd=Symbol.for("effect/DifferContextPatch");function vz($){return $}var IJ={...v7.prototype,[pd]:{_Value:vz,_Patch:vz}},dd=Object.assign(Object.create(IJ),{_tag:"Empty"}),ud=Object.create(dd),MK=()=>ud,od=Object.assign(Object.create(IJ),{_tag:"AndThen"}),nd=($,Z)=>{let X=Object.create(od);return X.first=$,X.second=Z,X},rd=Object.assign(Object.create(IJ),{_tag:"AddService"}),ld=($,Z)=>{let X=Object.create(rd);return X.key=$,X.service=Z,X},id=Object.assign(Object.create(IJ),{_tag:"RemoveService"}),sd=($)=>{let Z=Object.create(id);return Z.key=$,Z},ad=Object.assign(Object.create(IJ),{_tag:"UpdateService"}),td=($,Z)=>{let X=Object.create(ad);return X.key=$,X.update=Z,X},yz=($,Z)=>{let X=new Map($.unsafeMap),J=MK();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=jJ(td(G,()=>Y))(J)}else X.delete(G),J=jJ(ld(G,Y))(J);for(let[G]of X.entries())J=jJ(sd(G))(J);return J},jJ=V(2,($,Z)=>nd($,Z)),gz=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 $u=Symbol.for("effect/DifferHashSetPatch");function wK($){return $}var fW={...v7.prototype,[$u]:{_Value:wK,_Key:wK,_Patch:wK}},Zu=Object.assign(Object.create(fW),{_tag:"Empty"}),Xu=Object.create(Zu),CK=()=>Xu,Ju=Object.assign(Object.create(fW),{_tag:"AndThen"}),Gu=($,Z)=>{let X=Object.create(Ju);return X.first=$,X.second=Z,X},Yu=Object.assign(Object.create(fW),{_tag:"Add"}),Wu=($)=>{let Z=Object.create(Yu);return Z.value=$,Z},Hu=Object.assign(Object.create(fW),{_tag:"Remove"}),Du=($)=>{let Z=Object.create(Hu);return Z.value=$,Z},bz=($,Z)=>{let[X,J]=a4([$,CK()],([G,Y],W)=>{if(j7(W)(G))return[KK(W)(G),Y];return[G,mW(Wu(W))(Y)]})(Z);return a4(J,(G,Y)=>mW(Du(Y))(G))(X)},mW=V(2,($,Z)=>Gu($,Z)),hz=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=s4(G.value)(X),J=Y;break}case"Remove":X=KK(G.value)(X),J=Y}}return X});var Uu=Symbol.for("effect/DifferReadonlyArrayPatch");function mz($){return $}var yJ={...v7.prototype,[Uu]:{_Value:mz,_Patch:mz}},Ku=Object.assign(Object.create(yJ),{_tag:"Empty"}),Vu=Object.create(Ku),RK=()=>Vu,Qu=Object.assign(Object.create(yJ),{_tag:"AndThen"}),Ou=($,Z)=>{let X=Object.create(Qu);return X.first=$,X.second=Z,X},Bu=Object.assign(Object.create(yJ),{_tag:"Append"}),Nu=($)=>{let Z=Object.create(Bu);return Z.values=$,Z},_u=Object.assign(Object.create(yJ),{_tag:"Slice"}),Pu=($,Z)=>{let X=Object.create(_u);return X.from=$,X.until=Z,X},Fu=Object.assign(Object.create(yJ),{_tag:"Update"}),Tu=($,Z)=>{let X=Object.create(Fu);return X.index=$,X.patch=Z,X},fz=($)=>{let Z=0,X=RK();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=vJ(X,Tu(Z,Y));Z=Z+1}if(Z<$.oldValue.length)X=vJ(X,Pu(0,Z));if(Z<$.newValue.length)X=vJ(X,Nu(GT(Z)($.newValue)));return X},vJ=V(2,($,Z)=>Ou($,Z)),cz=V(3,($,Z,X)=>{if($._tag==="Empty")return Z;let J=Z.slice(),G=iZ($);while(tY(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 pz=Symbol.for("effect/Differ"),Mu={[pz]:{_P:z$,_V:z$},pipe(){return r(this,arguments)}},c1=($)=>{let Z=Object.create(Mu);return Z.empty=$.empty,Z.diff=$.diff,Z.combine=$.combine,Z.patch=$.patch,Z},LK=()=>c1({empty:MK(),combine:($,Z)=>jJ(Z)($),diff:($,Z)=>yz($,Z),patch:($,Z)=>gz(Z)($)});var qK=()=>c1({empty:CK(),combine:($,Z)=>mW(Z)($),diff:($,Z)=>bz($,Z),patch:($,Z)=>hz(Z)($)});var EK=($)=>c1({empty:RK(),combine:(Z,X)=>vJ(Z,X),diff:(Z,X)=>fz({oldValue:Z,newValue:X,differ:$}),patch:(Z,X)=>cz(Z,X,$)});var cW=()=>dz(($,Z)=>Z),dz=($)=>c1({empty:z$,combine:(Z,X)=>{if(Z===z$)return X;if(X===z$)return Z;return(J)=>X(Z(J))},diff:(Z,X)=>{if(i(Z,X))return z$;return D7(X)},patch:(Z,X)=>$(X,Z(X))});var gJ=255,uz=8,pW=($)=>$&gJ,dW=($)=>$>>uz&gJ,e4=($,Z)=>($&gJ)+((Z&$&gJ)<<uz),uW=e4(0,0),oz=($)=>e4($,$),nz=($)=>e4($,0);var rz=V(2,($,Z)=>e4(pW($)&~Z,dW($)));var SK=V(2,($,Z)=>$|Z);var lz=($)=>~$>>>0&gJ;var wu=0,P6=1,sz=2,kK=4,oW=16,jK=32;var az=($)=>nW($,jK),IK=V(2,($,Z)=>$&~Z);var vK=V(2,($,Z)=>$|Z);var F6=($)=>bJ($)&&!Cu($),bJ=($)=>nW($,P6);var nW=V(2,($,Z)=>($&Z)!==0),yK=(...$)=>$.reduce((Z,X)=>Z|X,0),tz=yK(wu);var gK=($)=>nW($,kK);var Cu=($)=>nW($,oW);var n8=V(2,($,Z)=>e4($^Z,Z)),y9=V(2,($,Z)=>$&(lz(pW(Z))|dW(Z))|pW(Z)&dW(Z));var bK=c1({empty:uW,diff:($,Z)=>n8($,Z),combine:($,Z)=>SK(Z)($),patch:($,Z)=>y9(Z,$)});var ez=uW;var hK=oz,mK=nz;var fK=rz;var ZM={_tag:"Empty"},pK=($,Z)=>({_tag:"Par",left:$,right:Z}),rW=($,Z)=>({_tag:"Seq",left:$,right:Z}),dK=($,Z)=>({_tag:"Single",dataSource:$,blockedRequest:Z});var XM=($)=>{let Z=kJ($),X=l6();while(!0){let[J,G]=kz(Z,[GM(),l6()],([Y,W],H)=>{let[A,K]=Ru(H);return[ju(Y,A),Sz(W,K)]});if(X=Lu(X,J),r6(G))return jz(X);Z=G}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},Ru=($)=>{let Z=$,X=GM(),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=v9(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=pK(rW(H,W),rW(A,W));break}case"Seq":{let{left:H,right:A}=Y;Z=rW(H,rW(A,W));break}case"Single":{Z=Y,G=v9(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")},Lu=($,Z)=>{if(r6($))return kJ(cK(Z));if(Iu(Z))return $;let X=mu($.head),J=vu(Z);if(X.length===1&&J.length===1&&i(X[0],J[0]))return v9(hu($.head,cK(Z)),$.tail);return v9(cK(Z),$)},qu=Symbol.for("effect/RequestBlock/Entry");class JM{request;result;listeners;ownerId;state;[qu]=Eu;constructor($,Z,X,J,G){this.request=$,this.result=Z,this.listeners=X,this.ownerId=J,this.state=G}}var Eu={_R:($)=>$};var uK=($)=>new JM($.request,$.result,$.listeners,$.ownerId,$.state),xu=Symbol.for("effect/RequestBlock/RequestBlockParallel"),Su={_R:($)=>$};class lW{map;[xu]=Su;constructor($){this.map=$}}var GM=()=>new lW(t4());var ku=($,Z)=>new lW(Rz($.map,Z.dataSource,(X)=>q3(E0(X,R7(Z.blockedRequest)),()=>x0(Z.blockedRequest)))),ju=($,Z)=>new lW(FK($.map,Z.map,(X,J,G)=>SZ(X,G,f0(_K(X,G),{onNone:()=>J,onSome:(Y)=>T8(J,Y)})))),Iu=($)=>wz($.map),vu=($)=>Array.from(PK($.map)),cK=($)=>bu(Lz($.map,(Z)=>x0(Z))),yu=Symbol.for("effect/RequestBlock/RequestBlockSequential"),gu={_R:($)=>$};class oK{map;[yu]=gu;constructor($){this.map=$}}var bu=($)=>new oK($),hu=($,Z)=>new oK(FK(Z.map,$.map,(X,J,G)=>SZ(X,G,f0(_K(X,G),{onNone:()=>w0(),onSome:(Y)=>T8(Y,J)}))));var mu=($)=>Array.from(PK($.map)),YM=($)=>Array.from($.map);var p1="Die",g9="Empty",d1="Fail",u1="Interrupt",o1="Parallel",n1="Sequential";var AM="effect/Cause",iW=Symbol.for(AM),cu={_E:($)=>$},b7={[iW]:cu,[Y$](){return P(s(AM),U$(s(pu(this))),w$(this))},[J$]($){return hJ($)&&RM(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:j$(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:j$(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:j$(this.left),right:j$(this.right)}}},toString(){return z6(this)},[M$](){return this.toJSON()}},d0=(()=>{let $=Object.create(b7);return $._tag=g9,$})(),V8=($)=>{let Z=Object.create(b7);return Z._tag=d1,Z.error=$,Z},N0=($)=>{let Z=Object.create(b7);return Z._tag=p1,Z.defect=$,Z},VZ=($)=>{let Z=Object.create(b7);return Z._tag=u1,Z.fiberId=$,Z},_0=($,Z)=>{let X=Object.create(b7);return X._tag=o1,X.left=$,X.right=Z,X},a$=($,Z)=>{let X=Object.create(b7);return X._tag=n1,X.left=$,X.right=Z,X},hJ=($)=>o($,iW),sW=($)=>$._tag===g9,UM=($)=>$._tag===d1,Z5=($)=>$._tag===p1,KM=($)=>$._tag===u1,VM=($)=>$._tag===n1,QM=($)=>$._tag===o1,OM=($)=>G5($,void 0,uu),mJ=($)=>{if($._tag===g9)return!0;return b9($,!0,(Z,X)=>{switch(X._tag){case g9:return S(Z);case p1:case d1:case u1:return S(!1);default:return x()}})},BM=($)=>b$(c7($)),NM=($)=>b$(lK($)),h7=($)=>b$(iK($)),X5=($)=>G5(void 0,ou)($),m7=($)=>z8(b9($,w0(),(Z,X)=>X._tag===d1?S(P(Z,V0(X.error))):x())),f7=($)=>z8(b9($,w0(),(Z,X)=>X._tag===p1?S(P(Z,V0(X.defect))):x())),J5=($)=>b9($,o8(),(Z,X)=>X._tag===u1?S(P(Z,s4(X.fiberId))):x()),c7=($)=>i6($,(Z)=>Z._tag===d1?S(Z.error):x()),T6=($)=>{let Z=c7($);switch(Z._tag){case"None":return E$($);case"Some":return g$(Z.value)}},lK=($)=>i6($,(Z)=>Z._tag===p1?S(Z.defect):x()),_M=($)=>s6($,{onEmpty:S(d0),onFail:E0(V8),onDie:(Z)=>S(N0(Z)),onInterrupt:(Z)=>S(VZ(Z)),onSequential:h6(a$),onParallel:h6(_0)}),iK=($)=>i6($,(Z)=>Z._tag===u1?S(Z.fiberId):x()),aW=($)=>s6($,{onEmpty:x(),onFail:()=>x(),onDie:(Z)=>S(N0(Z)),onInterrupt:()=>x(),onSequential:h6(a$),onParallel:h6(_0)}),PM=($)=>s6($,{onEmpty:x(),onFail:(Z)=>S(N0(Z)),onDie:(Z)=>S(N0(Z)),onInterrupt:()=>x(),onSequential:h6(a$),onParallel:h6(_0)}),FM=($)=>s6($,{onEmpty:o8(),onFail:(Z)=>N6(V8(Z)),onDie:(Z)=>N6(N0(Z)),onInterrupt:(Z)=>N6(VZ(Z)),onSequential:(Z,X)=>OK(Z,(J)=>QK(X,(G)=>a$(J,G))),onParallel:(Z,X)=>OK(Z,(J)=>QK(X,(G)=>_0(J,G)))}),fJ=($)=>s6($,{onEmpty:d0,onFail:()=>d0,onDie:N0,onInterrupt:VZ,onSequential:a$,onParallel:_0}),TM=($)=>s6($,{onEmpty:d0,onFail:N0,onDie:N0,onInterrupt:VZ,onSequential:a$,onParallel:_0}),zM=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)})),MM=V(2,($,Z)=>p7($,()=>Z)),p7=V(2,($,Z)=>g7($,(X)=>V8(Z(X)))),g7=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)})),tW=($)=>g7($,z$),wM=V(2,($,Z)=>b8(Z)?g7($,Z):g7($,()=>Z)),CM=V(2,($,Z)=>{if(Z._tag===g9||$===Z)return!0;return b9($,!1,(X,J)=>{return S(X||RM(J,Z))})}),RM=($,Z)=>{let X=x0($),J=x0(Z);while(W0(X)&&W0(J)){let[G,Y]=P(y$(X),b9([o8(),w0()],([A,K],Q)=>{let[O,_]=nK(Q);return S([P(A,u6(O)),P(K,T8(_))])})),[W,H]=P(y$(J),b9([o8(),w0()],([A,K],Q)=>{let[O,_]=nK(Q);return S([P(A,u6(O)),P(K,T8(_))])}));if(!i(G,W))return!1;X=Y,J=H}return!0},pu=($)=>{return du(x0($),w0())},du=($,Z)=>{while(!0){let[X,J]=P($,k1([o8(),w0()],([Y,W],H)=>{let[A,K]=nK(H);return[P(Y,u6(A)),P(W,T8(K))]})),G=j9(X)>0?P(Z,V0(X)):Z;if(ZW(J))return z8(G);$=J,Z=G}throw Error(C9("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 n1:case o1:{X.push(J.right),X.push(J.left);break}}break}case"Some":return G}}return x()}),LM=V(2,($,Z)=>G5($,void 0,nu(Z))),nK=($)=>{let Z=$,X=[],J=o8(),G=w0();while(Z!==void 0)switch(Z._tag){case g9:{if(X.length===0)return[J,G];Z=X.pop();break}case d1:{if(J=s4(J,TJ(Z._tag,Z.error)),X.length===0)return[J,G];Z=X.pop();break}case p1:{if(J=s4(J,TJ(Z._tag,Z.defect)),X.length===0)return[J,G];Z=X.pop();break}case u1:{if(J=s4(J,TJ(Z._tag,Z.fiberId)),X.length===0)return[J,G];Z=X.pop();break}case n1:{switch(Z.left._tag){case g9:{Z=Z.right;break}case n1:{Z=a$(Z.left.left,a$(Z.left.right,Z.right));break}case o1:{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 o1:{X.push(Z.right),Z=Z.left;break}}throw Error(C9("Cause.evaluateCauseLoop"))},uu={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:($,Z,X)=>Z+X,parallelCase:($,Z,X)=>Z+X},ou={emptyCase:y6,failCase:XZ,dieCase:XZ,interruptCase:y6,sequentialCase:($,Z,X)=>Z&&X,parallelCase:($,Z,X)=>Z&&X},nu=($)=>({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}}),HM="SequentialCase",DM="ParallelCase",s6=V(2,($,{onDie:Z,onEmpty:X,onFail:J,onInterrupt:G,onParallel:Y,onSequential:W})=>{return G5($,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)})}),b9=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 n1:{Y.push(G.right),G=G.left;break}case o1:{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}),G5=V(3,($,Z,X)=>{let J=[$],G=[];while(J.length>0){let W=J.pop();switch(W._tag){case g9:{G.push(E$(X.emptyCase(Z)));break}case d1:{G.push(E$(X.failCase(Z,W.error)));break}case p1:{G.push(E$(X.dieCase(Z,W.defect)));break}case u1:{G.push(E$(X.interruptCase(Z,W.fiberId)));break}case n1:{J.push(W.right),J.push(W.left),G.push(g$({_tag:HM}));break}case o1:{J.push(W.right),J.push(W.left),G.push(g$({_tag:DM}));break}}}let Y=[];while(G.length>0){let W=G.pop();switch(W._tag){case"Left":{switch(W.left._tag){case HM:{let H=Y.pop(),A=Y.pop(),K=X.sequentialCase(Z,H,A);Y.push(K);break}case DM:{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()}),z6=($,Z)=>{if(X5($))return"All fibers interrupted without errors.";return d7($).map(function(X){if(Z?.renderErrorCause!==!0||X.cause===void 0)return X.stack;return`${X.stack} {
6
- ${qM(X.cause," ")}
7
- }`}).join(`
8
- `)},qM=($,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
- ${qM($.cause,`${Z} `)}
12
- ${Z}}`;return J},rK=($)=>{let Z=typeof $==="object"&&$!==null,X=Error.stackTraceLimit;Error.stackTraceLimit=1;let J=Error(ru($),Z&&"cause"in $&&typeof $.cause<"u"?{cause:rK($.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($5 in $)J.span=$[$5];Object.keys($).forEach((G)=>{if(!(G in J))J[G]=$[G]})}return J.stack=iu(`${J.name}: ${J.message}`,$ instanceof Error&&$.stack?$.stack:"",J.span),J},ru=($)=>{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 mY($)},lu=/\((.*)\)/g,cJ=N$("effect/Tracer/spanToTrace",()=>new WeakMap),iu=($,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=cJ.get(Y);if(typeof H==="function"){let A=H();if(typeof A==="string"){let K=A.matchAll(lu),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
- `)},$5=Symbol.for("effect/SpanAnnotation"),d7=($)=>G5($,void 0,{emptyCase:()=>[],dieCase:(Z,X)=>{return[rK(X)]},failCase:(Z,X)=>{return[rK(X)]},interruptCase:()=>[],parallelCase:(Z,X,J)=>[...X,...J],sequentialCase:(Z,X,J)=>[...X,...J]});var Y5="Pending",pJ="Done";var su="effect/Deferred",xM=Symbol.for(su),SM={_E:($)=>$,_A:($)=>$},kM=($)=>{return{_tag:Y5,joiners:$}},sK=($)=>{return{_tag:pJ,effect:$}};class u7{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 u7(this.self)}}var m9=($,Z)=>{let X=new g0("Blocked");return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X},ZH=($)=>{let Z=new g0("RunBlocked");return Z.effect_instruction_i0=$,Z},f9=Symbol.for("effect/Effect");class aK{patch;op;_op=KJ;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;[f9]=x1;constructor($){this._op=$}[J$]($){return this===$}[Y$](){return w$(this,AJ(this))}pipe(){return r(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:j$(this.effect_instruction_i0),effect_instruction_i1:j$(this.effect_instruction_i1),effect_instruction_i2:j$(this.effect_instruction_i2)}}toString(){return S$(this.toJSON())}[M$](){return this.toJSON()}[Symbol.iterator](){return new u7(new R9(this))}}class tK{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[f9]=x1;constructor($){this._op=$,this._tag=$}[J$]($){return N5($)&&$._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 u7(new R9(this))}}class eK{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[f9]=x1;constructor($){this._op=$,this._tag=$}[J$]($){return N5($)&&$._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:j$(this.value)}}toString(){return S$(this.toJSON())}[M$](){return this.toJSON()}[Symbol.iterator](){return new u7(new R9(this))}}var h$=($)=>o($,f9),q$=($)=>{let Z=new g0(cY);return Z.effect_instruction_i0=$,Z},XH=V(3,($,Z,X)=>S0((J)=>T($,(G)=>T(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)=>T($,()=>z(Z))),P0=($)=>n$($,void 0),eJ=function(){let $=new g0(p4);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(C9("you're not supposed to end up here"))}return $},o7=($,Z=p0)=>{let X=new g0(c4),J=void 0;return X.effect_instruction_i0=(G)=>{J=$(G)},X.effect_instruction_i1=Z,e6(X,(G)=>h$(J)?J:F$)},$2=($,Z=p0)=>H$(()=>o7($,Z)),kZ=($,Z=p0)=>{return eJ($,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(c4);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(B7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),M6=V(2,($,Z)=>i0($,{onFailure:Z,onSuccess:z})),Z2=V(3,($,Z,X)=>a6($,(J)=>{let G=T6(J);switch(G._tag){case"Left":return Z(G.left)?X(G.left):L$(J);case"Right":return L$(G.right)}})),jM=V(2,($,Z)=>a6($,(X)=>{let J=T6(X);switch(J._tag){case"Left":return P(Z(J.left),c0(()=>L$(X)));case"Right":return L$(J.right)}})),IM=($)=>q$((Z,X)=>$(bJ(X.runtimeFlags))),eW=Symbol.for("effect/OriginalAnnotation"),vM=($)=>{if(o($,eW))return $[eW];return $},JH=($,Z)=>{if(b$(Z))return new Proxy($,{has(X,J){return J===$5||J===eW||J in X},get(X,J){if(J===$5)return Z.value;if(J===eW)return $;return X[J]}});return $},MZ=($)=>w9($)&&!($5 in $)?q$((Z)=>L$(N0(JH($,wH(Z))))):L$(N0($)),r1=($)=>c9(()=>N0(new HV($))),C8=($)=>T(E($),MZ),r8=($)=>i0($,{onFailure:(Z)=>z(g$(Z)),onSuccess:(Z)=>z(E$(Z))}),U0=($)=>X2($,{onFailure:I$,onSuccess:t$}),R$=($)=>w9($)&&!($5 in $)?q$((Z)=>L$(V8(JH($,wH(Z))))):L$(V8($)),l8=($)=>T(E($),R$),L$=($)=>{let Z=new tK($0);return Z.effect_instruction_i0=$,Z},c9=($)=>T(E($),L$),p9=q$(($)=>z($.id())),Q8=($)=>q$((Z)=>$(Z.id())),T=V(2,($,Z)=>{let X=new g0(N7);return X.effect_instruction_i0=$,X.effect_instruction_i1=Z,X}),l1=V(2,($,Z)=>T($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(h$(J))return J;else if(V3(J))return o7((G)=>{J.then((Y)=>G(z(Y)),(Y)=>G(R$(new B5(Y,"An unknown error occurred in Effect.andThen"))))});return z(J)})),GH=($)=>{let Z=new g0("OnStep");return Z.effect_instruction_i0=$,Z},jZ=($)=>T($,z$),i1=($)=>i0($,{onFailure:z,onSuccess:R$}),X2=V(2,($,Z)=>Q0($,{onFailure:(X)=>z(Z.onFailure(X)),onSuccess:(X)=>z(Z.onSuccess(X))})),Q0=V(2,($,Z)=>{let X=new g0(_7);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(f7(X).length>0)return L$(TM(X));let G=m7(X);if(G.length>0)return Z.onFailure(d3(G));return L$(X)},onSuccess:Z.onSuccess})),QZ=V(2,($,Z)=>H$(()=>{let X=_$($),J=FJ(X.length),G=0;return n$(t1({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 t1({while:()=>J<X.length,body:()=>Z(X[J],J),step:()=>{J++}})})),YH=V(($)=>typeof $[0]==="boolean"||h$($[0]),($,Z)=>h$($)?T($,(X)=>X?Z.onTrue():Z.onFalse()):$?Z.onTrue():Z.onFalse()),WH=T(p9,($)=>HH($)),HH=($)=>L$(VZ($)),d9=($)=>{let Z=new g0(q9);return Z.effect_instruction_i0=hK(P6),Z.effect_instruction_i1=()=>$,Z},yM=($)=>eJ($,function(){let Z=new g0(q9);return Z.effect_instruction_i0=hK(P6),Z.effect_instruction_i1=(X)=>bJ(X)?q0(()=>this.effect_instruction_i0(d9)):q0(()=>this.effect_instruction_i0(u9)),Z}),t6=V(2,($,Z)=>S0((X)=>T(U0(X($)),(J)=>QV(Z,J)))),I=V(2,($,Z)=>T($,(X)=>E(()=>Z(X)))),J2=V(2,($,Z)=>i0($,{onFailure:(X)=>l8(()=>Z.onFailure(X)),onSuccess:(X)=>E(()=>Z.onSuccess(X))})),s1=V(2,($,Z)=>Q0($,{onFailure:(X)=>{let J=T6(X);switch(J._tag){case"Left":return l8(()=>Z(J.left));case"Right":return L$(J.right)}},onSuccess:z})),DH=V(2,($,Z)=>sZ($,(X)=>U2(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($,_5({onFailure:(X)=>X5(X)?P0(Z(J5(X))):F$,onSuccess:()=>F$}))),H5=V(2,($,Z)=>tu($,Z,z)),D5=($)=>$V($,z$),$V=V(2,($,Z)=>i0($,{onFailure:(X)=>MZ(Z(X)),onSuccess:z})),gM=h3,n7=q$(($,Z)=>z(Z.runtimeFlags)),z=($)=>{let Z=new eK(Z0);return Z.effect_instruction_i0=$,Z},H$=($)=>{let Z=new g0(p4);return Z.commit=$,Z},E=($)=>{let Z=new g0(fY);return Z.effect_instruction_i0=$,Z},IZ=V(($)=>$.length===3||$.length===2&&!(w9($[1])&&("onlyEffect"in $[1])),($,Z)=>T($,(X)=>{let J=typeof Z==="function"?Z(X):Z;if(h$(J))return n$(J,X);else if(V3(J))return o7((G)=>{J.then((Y)=>G(z(X)),(Y)=>G(R$(new B5(Y,"An unknown error occurred in Effect.tap"))))});return z(X)})),AH=($)=>q$((Z)=>{let X=Z.getFiberRef(oJ),J=P(X,c0(()=>Z.scope()));return $(C0(oJ,S(J)))}),tu=V(3,($,Z,X)=>Q0($,{onFailure:(J)=>{if(f7(J).length>0)return L$(x3(PM(J)));return Z()},onSuccess:X})),u9=($)=>{let Z=new g0(q9);return Z.effect_instruction_i0=mK(P6),Z.effect_instruction_i1=()=>$,Z},S0=($)=>eJ($,function(){let Z=new g0(q9);return Z.effect_instruction_i0=mK(P6),Z.effect_instruction_i1=(X)=>bJ(X)?q0(()=>this.effect_instruction_i0(d9)):q0(()=>this.effect_instruction_i0(u9)),Z}),F$=z(void 0);var a1=($)=>{let Z=new g0(q9);return Z.effect_instruction_i0=$,Z.effect_instruction_i1=void 0,Z},r7=V(2,($,Z)=>T(Z,(X)=>{if(X)return P($,I(S));return z(x())})),t1=($)=>{let Z=new g0(P7);return Z.effect_instruction_i0=$.while,Z.effect_instruction_i1=$.body,Z.effect_instruction_i2=$.step,Z},uJ=($)=>H$(()=>{let Z=new g0(d4);return Z.effect_instruction_i0=$(),Z}),UH=function(){let $=arguments.length===1?arguments[0]:arguments[1].bind(arguments[0]);return uJ(()=>$(P))},l7=($,...Z)=>Object.defineProperty(Z.length===0?function(...X){return uJ(()=>$.apply(this,X))}:function(...X){let J=uJ(()=>$.apply(this,X));for(let G of Z)J=G(J,...X);return J},"length",{value:$.length,configurable:!0}),bM=V(2,($,Z)=>C0($,BH,Z)),hM=V(2,($,Z)=>C0($,G2,Z)),KH=V(2,($,Z)=>{let X=new g0(q9);return X.effect_instruction_i0=Z,X.effect_instruction_i1=()=>$,X}),mM=V(2,($,Z)=>C0($,W2,Z)),fM=V(2,($,Z)=>C0($,Z4,Z)),$9=($)=>{let Z=new g0(F7);return typeof $?.priority<"u"?YV(Z,$.priority):Z},A5=V(2,($,Z)=>T($,(X)=>I(Z,(J)=>[X,J])));var U5=V(2,($,Z)=>T($,(X)=>n$(Z,X))),x$=V(2,($,Z)=>T($,()=>Z)),aZ=V(3,($,Z,X)=>T($,(J)=>I(Z,(G)=>X(J,G)))),e1=$2(()=>{let $=setInterval(()=>{},2147483647);return E(()=>clearInterval($))}),$4=($)=>T(p9,(Z)=>P($,vZ(Z))),vZ=V(2,($,Z)=>T($.interruptAsFork(Z),()=>$.await)),cM={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return r(this,arguments)}},pM={_tag:"Fatal",syslog:2,label:"FATAL",ordinal:50000,pipe(){return r(this,arguments)}},dM={_tag:"Error",syslog:3,label:"ERROR",ordinal:40000,pipe(){return r(this,arguments)}},ZV={_tag:"Warning",syslog:4,label:"WARN",ordinal:30000,pipe(){return r(this,arguments)}},XV={_tag:"Info",syslog:6,label:"INFO",ordinal:20000,pipe(){return r(this,arguments)}},JV={_tag:"Debug",syslog:7,label:"DEBUG",ordinal:1e4,pipe(){return r(this,arguments)}},uM={_tag:"Trace",syslog:7,label:"TRACE",ordinal:0,pipe(){return r(this,arguments)}},oM={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return r(this,arguments)}};var eu="effect/FiberRef",$o=Symbol.for(eu),Zo={_A:($)=>$},L8=($)=>q$((Z)=>t$(Z.getFiberRef($)));var wZ=V(2,($,Z)=>T(L8($),Z)),W5=V(2,($,Z)=>Xo($,()=>[void 0,Z]));var Xo=V(2,($,Z)=>q$((X)=>{let[J,G]=Z(X.getFiberRef($));return X.setFiberRef($,G),z(J)}));var C0=V(3,($,Z,X)=>XH(U5(L8(Z),W5(Z,X)),()=>$,(J)=>W5(Z,J))),s0=V(3,($,Z,X)=>wZ(Z,(J)=>C0($,Z,X(J)))),R0=($,Z)=>K5($,{differ:cW(),fork:Z?.fork??z$,join:Z?.join}),nM=($)=>{let Z=qK();return K5($,{differ:Z,fork:Z.empty})},Jo=($)=>{let Z=EK(cW());return K5($,{differ:Z,fork:Z.empty})},VH=($)=>{let Z=LK();return K5($,{differ:Z,fork:Z.empty})},K5=($,Z)=>{return{...m8,[$o]:Zo,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)}},rM=($)=>K5($,{differ:bK,fork:bK.empty}),O8=N$(Symbol.for("effect/FiberRef/currentContext"),()=>VH(KZ())),o9=N$(Symbol.for("effect/FiberRef/currentSchedulingPriority"),()=>R0(0)),QH=N$(Symbol.for("effect/FiberRef/currentMaxOpsBeforeYield"),()=>R0(2048)),n9=N$(Symbol.for("effect/FiberRef/currentLogAnnotation"),()=>R0(t4())),GV=N$(Symbol.for("effect/FiberRef/currentLogLevel"),()=>R0(XV)),OH=N$(Symbol.for("effect/FiberRef/currentLogSpan"),()=>R0(l6())),YV=V(2,($,Z)=>C0($,o9,Z)),lM=V(2,($,Z)=>C0($,QH,Z)),BH=N$(Symbol.for("effect/FiberRef/currentConcurrency"),()=>R0("unbounded")),G2=N$(Symbol.for("effect/FiberRef/currentRequestBatching"),()=>R0(!0)),Y2=N$(Symbol.for("effect/FiberRef/currentUnhandledErrorLogLevel"),()=>R0(S(JV))),NH=N$(Symbol.for("effect/FiberRef/versionMismatchErrorLogLevel"),()=>R0(S(ZV))),iM=V(2,($,Z)=>C0($,Y2,Z)),r9=N$(Symbol.for("effect/FiberRef/currentMetricLabels"),()=>Jo(B6())),sM=L8(r9),oJ=N$(Symbol.for("effect/FiberRef/currentForkScopeOverride"),()=>R0(x(),{fork:()=>x(),join:($,Z)=>$})),V5=N$(Symbol.for("effect/FiberRef/currentInterruptedCause"),()=>R0(d0,{fork:()=>d0,join:($,Z)=>$})),W2=N$(Symbol.for("effect/FiberRef/currentTracerEnabled"),()=>R0(!0)),Z4=N$(Symbol.for("effect/FiberRef/currentTracerTiming"),()=>R0(!0)),i7=N$(Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),()=>R0(t4())),_H=N$(Symbol.for("effect/FiberRef/currentTracerSpanLinks"),()=>R0(w0())),H2=Symbol.for("effect/Scope"),D2=Symbol.for("effect/CloseableScope"),A2=($,Z)=>$.addFinalizer(()=>P0(Z)),X4=($,Z)=>$.addFinalizer(Z),Q5=($,Z)=>$.close(Z),q8=($,Z)=>$.fork(Z),aM=($)=>{return WV(z$)($)},WV=V(2,($,Z)=>{let X=P($,c7,E0(Z));switch(X._tag){case"None":return P(f7($),MJ,f0({onNone:()=>{let J=_$(J5($)).flatMap((G)=>_$(m1(G)).map((Y)=>`#${Y}`));return new DV(J?`Interrupted by fibers: ${J.join(", ")}`:void 0)},onSome:z$}));case"Some":return X.value}}),s7=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 z6(V8(this),{renderErrorCause:!0});return this}}return Object.assign($.prototype,F3),$}(),O5=($,Z)=>{class X extends s7{_tag=Z}return Object.assign(X.prototype,$),X.prototype.name=Z,X},nJ=Symbol.for("effect/Cause/errors/RuntimeException"),HV=O5({[nJ]:nJ},"RuntimeException"),tM=($)=>o($,nJ),rJ=Symbol.for("effect/Cause/errors/InterruptedException"),DV=O5({[rJ]:rJ},"InterruptedException"),PH=($)=>o($,rJ),lJ=Symbol.for("effect/Cause/errors/IllegalArgument"),i8=O5({[lJ]:lJ},"IllegalArgumentException"),eM=($)=>o($,lJ),iJ=Symbol.for("effect/Cause/errors/NoSuchElement"),yZ=O5({[iJ]:iJ},"NoSuchElementException"),FH=($)=>o($,iJ),$H=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),BH$=O5({[$H]:$H},"InvalidPubSubCapacityException"),sJ=Symbol.for("effect/Cause/errors/ExceededCapacityException"),$w=O5({[sJ]:sJ},"ExceededCapacityException"),Zw=($)=>o($,sJ);var aJ=Symbol.for("effect/Cause/errors/Timeout"),AV=O5({[aJ]:aJ},"TimeoutException"),Xw=($)=>new AV(`Operation timed out after '${XK($)}'`),Jw=($)=>o($,aJ),tJ=Symbol.for("effect/Cause/errors/UnknownException"),B5=function(){class $ extends s7{_tag="UnknownException";error;constructor(Z,X){super(X??"An unknown error occurred",{cause:Z});this.error=Z}}return Object.assign($.prototype,{[tJ]:tJ,name:"UnknownException"}),$}(),Gw=($)=>o($,tJ),N5=($)=>h$($)&&("_tag"in $)&&($._tag==="Success"||$._tag==="Failure"),TH=($)=>$._tag==="Failure",U2=($)=>$._tag==="Success",Yw=($)=>{switch($._tag){case $0:return h7($.effect_instruction_i0);case Z0:return!1}},UV=V(2,($,Z)=>{switch($._tag){case $0:return I$($.effect_instruction_i0);case Z0:return t$(Z)}}),a7=($)=>UV($,void 0),Ww=($)=>{switch($._tag){case $0:return S($.effect_instruction_i0);case Z0:return x()}},J4=($,Z)=>Go($,Z?.parallel?_0:a$),zH=($)=>I$(N0($)),Hw=V(2,($,Z)=>{switch($._tag){case $0:return!1;case Z0:return Z($.effect_instruction_i0)}}),G4=($)=>I$(V8($)),I$=($)=>{let Z=new tK($0);return Z.effect_instruction_i0=$,Z},KV=V(2,($,Z)=>{switch($._tag){case $0:return I$($.effect_instruction_i0);case Z0:return Z($.effect_instruction_i0)}}),Dw=V(2,($,Z)=>{switch($._tag){case $0:return z(I$($.effect_instruction_i0));case Z0:return Z($.effect_instruction_i0)}}),Aw=($)=>P($,KV(z$)),Uw=V(2,($,Z)=>{switch($._tag){case $0:return z(I$($.effect_instruction_i0));case Z0:return U0(Z($.effect_instruction_i0))}}),Kw=($)=>{switch($._tag){case"Left":return G4($.left);case"Right":return t$($.right)}},Vw=($)=>{switch($._tag){case"None":return G4(void 0);case"Some":return t$($.value)}},Qw=V(2,($,Z)=>{switch($._tag){case $0:return Z($.effect_instruction_i0);case Z0:return $.effect_instruction_i0}}),K2=($)=>I$(VZ($)),dJ=V(2,($,Z)=>{switch($._tag){case $0:return I$($.effect_instruction_i0);case Z0:return t$(Z($.effect_instruction_i0))}}),Ow=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case $0:return I$(P($.effect_instruction_i0,p7(Z)));case Z0:return t$(X($.effect_instruction_i0))}}),Bw=V(2,($,Z)=>{switch($._tag){case $0:return I$(P($.effect_instruction_i0,p7(Z)));case Z0:return t$($.effect_instruction_i0)}}),Nw=V(2,($,Z)=>{switch($._tag){case $0:return I$(Z($.effect_instruction_i0));case Z0:return t$($.effect_instruction_i0)}}),_5=V(2,($,{onFailure:Z,onSuccess:X})=>{switch($._tag){case $0:return Z($.effect_instruction_i0);case Z0:return X($.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)}}),t$=($)=>{let Z=new eK(Z0);return Z.effect_instruction_i0=$,Z},gZ=t$(void 0),_w=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>[X,J],onFailure:a$})),Pw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>X,onFailure:a$})),Fw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>J,onFailure:a$})),Tw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>[X,J],onFailure:_0})),zw=V(2,($,Z)=>s8($,Z,{onSuccess:(X,J)=>X,onFailure:_0})),Mw=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)}}}),Go=($,Z)=>{let X=j1($);if(!W0(X))return x();return P(H0(X),k1(P(y$(X),dJ(x0)),(J,G)=>P(J,s8(G,{onSuccess:(Y,W)=>P(Y,V0(W)),onFailure:Z}))),dJ(z8),dJ((J)=>f8(J)),S)},V2=($)=>{return{...m8,[xM]:SM,state:o6(kM([])),commit(){return WZ(this)},blockingOn:$}},B8=()=>T(p9,($)=>ww($)),ww=($)=>E(()=>V2($)),WZ=($)=>$2((Z)=>{let X=n6($.state);switch(X._tag){case pJ:return Z(X.effect);case Y5:return X.joiners.push(Z),Yo($,Z)}},$.blockingOn),VV=V(2,($,Z)=>t6(Z,$)),Q2=V(2,($,Z)=>E(()=>{let X=n6($.state);switch(X._tag){case pJ:return!1;case Y5:{I9($.state,sK(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z);return!0}}})),QV=V(2,($,Z)=>Q2($,Z));var O2=V(2,($,Z)=>Q2($,L$(Z)));var Cw=($)=>T(p9,(Z)=>Q2($,HH(Z)));var OV=V(2,($,Z)=>Q2($,z(Z)));var t7=($,Z)=>{let X=n6($.state);if(X._tag===Y5){I9($.state,sK(Z));for(let J=0,G=X.joiners.length;J<G;J++)X.joiners[J](Z)}},Yo=($,Z)=>E(()=>{let X=n6($.state);if(X._tag===Y5){let J=X.joiners.indexOf(Z);if(J>=0)X.joiners.splice(J,1)}}),Wo=q$(($)=>t$($.currentContext)),N8=()=>Wo;var E8=($)=>T(N8(),$),tZ=V(2,($,Z)=>C0(O8,Z)($)),MH=V(2,($,Z)=>s0(O8,(X)=>d8(X,Z))($)),Y4=V(2,($,Z)=>E8((X)=>tZ($,Z(X)))),BV=V(2,($,Z)=>T($,(X)=>T(Z.predicate(X),(J)=>J?z(X):Z.orElse(X)))),Rw=V(2,($,Z)=>BV($,{predicate:Z.predicate,orElse:(X)=>R$(Z.orFailWith(X))})),wH=($)=>{let Z=$.currentSpan;return Z!==void 0&&Z._tag==="Span"?S(Z):x()},Ho={_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(){}},Lw=($)=>Object.assign(Object.create(Ho),$);var Do=N5,B2=TH,W4=U2,Ao=Yw,Uo=UV,Ko=a7,Vo=Ww,Qo=J4,Oo=zH,Bo=Hw,NV=G4,_V=I$,No=KV,_o=Dw,PV=Aw,CH=Uw,Po=Kw,Fo=Vw,To=Qw,FV=K2,zo=dJ,Mo=Ow,wo=Bw,Co=Nw,TV=_5,Ro=P5,N2=t$,Lo=gZ;var qo=_w,Eo=Pw,xo=Fw,So=Tw,ko=zw,jo=Mw,zV=s8;var u0={};F8(u0,{use:()=>ml,make:()=>fl,fork:()=>MO,extend:()=>hl,close:()=>zO,addFinalizerExit:()=>bl,addFinalizer:()=>gl,ScopeTypeId:()=>vl,Scope:()=>TO,CloseableScopeTypeId:()=>yl});var qw=($)=>!$;var Ew=E9,RH=m8;var vo=EF;class H4 extends vo{}var xw="Sequential",Sw="Parallel",yo="ParallelN",a8={_tag:xw},_2={_tag:Sw},kw=($)=>({_tag:yo,parallelism:$}),MV=($)=>$._tag===xw,wV=($)=>$._tag===Sw;var EH=a8,xH=_2,SH=kw;function jw($){return new l9($)}function Iw(){return jw(new Map)}var CV=Symbol.for("effect/FiberRefs");class l9{locals;[CV]=CV;constructor($){this.locals=$}pipe(){return r(this,arguments)}}var bo=($,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},kH=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]=bo(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 l9(J)}),LV=V(2,($,Z)=>{let X=new Map;return vw($,X,Z),new l9(X)}),vw=($,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])})},yw=($)=>wW($.locals.keys()),gw=($)=>R8(yw($),(Z)=>W5(Z,i9($,Z))),P2=V(2,($,Z)=>{let X=new Map($.locals);return X.delete(Z),new l9(X)}),jH=V(2,($,Z)=>{if(!$.locals.has(Z))return x();return S(UZ($.locals.get(Z))[1])}),i9=V(2,($,Z)=>P(jH($,Z),c0(()=>Z.initial))),e7=V(2,($,{fiberId:Z,fiberRef:X,value:J})=>{if($.locals.size===0)return new l9(new Map([[X,[[Z,J]]]]));let G=new Map($.locals);return RV(G,Z,X,J),new l9(G)}),RV=($,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)},bw=V(2,($,{entries:Z,forkAs:X})=>{if($.locals.size===0)return new l9(new Map(Z));let J=new Map($.locals);if(X!==void 0)vw($,J,X);return Z.forEach(([G,Y])=>{if(Y.length===1)RV(J,Y[0][0],G,Y[0][1]);else Y.forEach(([W,H])=>{RV(J,W,G,H)})}),new l9(J)});var EV=jH,hw=i9,mw=kH,fw=gw;var cw=bw;var pw=Iw;var dw="Empty",uw="Add",ow="Remove",nw="Update",rw="AndThen",lw={_tag:dw},F2=($,Z)=>{let X=new Map($.locals),J=lw;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=IH({_tag:nw,fiberRef:G,patch:G.diff(A,W)})(J)}else J=IH({_tag:uw,fiberRef:G,value:W})(J);X.delete(G)}for(let[G]of X.entries())J=IH({_tag:ow,fiberRef:G})(J);return J},IH=V(2,($,Z)=>({_tag:rw,first:$,second:Z})),vH=V(3,($,Z,X)=>{let J=X,G=iZ($);while(EZ(G)){let Y=UZ(G),W=m6(G);switch(Y._tag){case dw:{G=W;break}case uw:{J=e7(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.value}),G=W;break}case ow:{J=P2(J,Y.fiberRef),G=W;break}case nw:{let H=i9(J,Y.fiberRef);J=e7(J,{fiberId:Z,fiberRef:Y.fiberRef,value:Y.fiberRef.patch(Y.patch)(H)}),G=W;break}case rw:{G=M7(Y.first)(M7(Y.second)(W));break}}}return J});var F5=F2;var T5=vH;var gH="effect/FiberStatus",D4=Symbol.for(gH),yH="Done",SV="Running",kV="Suspended",ho=f$(`${gH}-${yH}`);class aw{[D4]=D4;_tag=yH;[Y$](){return ho}[J$]($){return bH($)&&$._tag===yH}}class tw{runtimeFlags;[D4]=D4;_tag=SV;constructor($){this.runtimeFlags=$}[Y$](){return P(s(gH),U$(s(this._tag)),U$(s(this.runtimeFlags)),w$(this))}[J$]($){return bH($)&&$._tag===SV&&this.runtimeFlags===$.runtimeFlags}}class ew{runtimeFlags;blockingOn;[D4]=D4;_tag=kV;constructor($,Z){this.runtimeFlags=$,this.blockingOn=Z}[Y$](){return P(s(gH),U$(s(this._tag)),U$(s(this.runtimeFlags)),U$(s(this.blockingOn)),w$(this))}[J$]($){return bH($)&&$._tag===kV&&this.runtimeFlags===$.runtimeFlags&&i(this.blockingOn,$.blockingOn)}}var $C=new aw,ZC=($)=>new tw($),XC=($,Z)=>new ew($,Z),bH=($)=>o($,D4),JC=($)=>$._tag===yH,GC=($)=>$._tag===SV,YC=($)=>$._tag===kV;var WC=$C,jV=ZC,HC=XC;var hH=JC,DC=GC,AC=YC;var OZ=hF;var uo=cM,IV=pM,vV=dM,yV=ZV,gV=XV,bV=JV,hV=uM,oo=oM;var no=P(OZ,lY(($)=>$.ordinal));var mV=L3(no);var fV=($)=>{switch($){case"All":return uo;case"Debug":return bV;case"Error":return vV;case"Fatal":return IV;case"Info":return gV;case"Trace":return hV;case"None":return oo;case"Warning":return yV}};var ro=Symbol.for("effect/Micro"),fH=Symbol.for("effect/Micro/MicroExit");var VC=Symbol.for("effect/Micro/MicroCause");var lo={_E:z$};class dV extends globalThis.Error{_tag;traces;[VC];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=L9(Z,0),W=`${G}: ${Y}`;if(X.length>0)W+=`
22
- ${X.join(`
23
- `)}`;super(Y);this._tag=$,this.traces=X,this[VC]=lo,this.name=G,this.stack=W}pipe(){return r(this,arguments)}toString(){return this.stack}[M$](){return this.stack}}class BC extends dV{defect;constructor($,Z=[]){super("Die",$,Z);this.defect=$}}var io=($,Z=[])=>new BC($,Z);class NC extends dV{constructor($=[]){super("Interrupt","interrupted",$)}}var so=($=[])=>new NC($);var ao=($)=>$._tag==="Interrupt";var QC=Symbol.for("effect/Micro/MicroFiber"),to={_A:z$,_E:z$};class _C{context;interruptible;[QC];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor($,Z=!0){this.context=$,this.interruptible=Z,this[QC]=to}getRef($){return PT(this.context,$)}addObserver($){if(this._exit)return $(this._exit),TZ;return this._observers.push($),()=>{let Z=this._observers.indexOf($);if(Z>=0)this._observers.splice(Z,1)}}_interrupted=!1;unsafeInterrupt(){if(this._exit)return;if(this._interrupted=!0,this.interruptible)this.evaluate(lV)}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===mH)return;let X=OC.interruptChildren&&OC.interruptChildren(this);if(X!==void 0)return this.evaluate(pH(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(uH).shouldYield(this)){Z=!0;let J=X;X=pH(Jn,()=>J)}if(X=X[cV](this),X===mH){let J=this._yielded;if(fH in J)return this._yielded=void 0,J;return mH}}}catch(J){if(!o(X,cV))return pV(`MicroFiber.runLoop: Not a valid effect: ${String(X)}`);return pV(J)}}getCont($){while(!0){let Z=this._stack.pop();if(!Z)return;let X=Z[cH]&&Z[cH](this);if(X)return{[$]:X};if(Z[$])return Z}}_yielded=void 0;yieldWith($){return this._yielded=$,mH}children(){return this._children??=new Set}}var OC=N$("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var PC=Symbol.for("effect/Micro/identifier"),HZ=Symbol.for("effect/Micro/args"),cV=Symbol.for("effect/Micro/evaluate"),ZX=Symbol.for("effect/Micro/successCont"),$X=Symbol.for("effect/Micro/failureCont"),cH=Symbol.for("effect/Micro/ensureCont"),mH=Symbol.for("effect/Micro/Yield"),eo={_A:z$,_E:z$,_R:z$},$n={...Ew,_op:"Micro",[ro]:eo,pipe(){return r(this,arguments)},[Symbol.iterator](){return new b4(new R9(this))},toJSON(){return{_id:"Micro",op:this[PC],...HZ in this?{args:this[HZ]}:void 0}},toString(){return S$(this)},[M$](){return S$(this)}};function Zn($){return pV("Micro.evaluate: Not implemented")}var dH=($)=>({...$n,[PC]:$.op,[cV]:$.eval??Zn,[ZX]:$.contA,[$X]:$.contE,[cH]:$.ensure}),uV=($)=>{let Z=dH($);return function(){let X=Object.create(Z);return X[HZ]=$.single===!1?arguments:arguments[0],X}},FC=($)=>{let Z={...dH($),[fH]:fH,_tag:$.op,get[$.prop](){return this[HZ]},toJSON(){return{_id:"MicroExit",_tag:$.op,[$.prop]:this[HZ]}},[J$](X){return Wn(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[ZX]=void 0,J[$X]=void 0,J[cH]=void 0,J}},oV=FC({op:"Success",prop:"value",eval($){let Z=$.getCont(ZX);return Z?Z[ZX](this[HZ],$):$.yieldWith(this)}}),TC=FC({op:"Failure",prop:"cause",eval($){let Z=$.getCont($X);while(ao(this[HZ])&&Z&&$.interruptible)Z=$.getCont($X);return Z?Z[$X](this[HZ],$):$.yieldWith(this)}});var Xn=uV({op:"Yield",eval($){let Z=!1;return $.getRef(uH).scheduleTask(()=>{if(Z)return;$.evaluate(Hn)},this[HZ]??0),$.yieldWith(()=>{Z=!0})}}),Jn=Xn(0);var Gn=oV(void 0);var nV=uV({op:"WithMicroFiber",eval($){return this[HZ]($)}});var pH=V(2,($,Z)=>{let X=Object.create(Yn);return X[HZ]=$,X[ZX]=Z,X}),Yn=dH({op:"OnSuccess",eval($){return $._stack.push(this),this[HZ]}});var Wn=($)=>o($,fH),zC=oV,rV=TC,lV=rV(so());var pV=($)=>rV(io($));var Hn=zC(void 0);var Dn="setImmediate"in globalThis?globalThis.setImmediate:($)=>setTimeout($,0);class iV{tasks=[];running=!1;scheduleTask($,Z){if(this.tasks.push($),!this.running)this.running=!0,Dn(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(wC)}flush(){while(this.tasks.length>0)this.runTasks()}}var An=V(2,($,Z)=>nV((X)=>{let J=X.context;return X.context=Z(J),Vn($,()=>{return X.context=J,Gn})}));var MC=V(2,($,Z)=>An($,d8(Z)));class wC extends p6()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class uH extends p6()("effect/Micro/currentScheduler",{defaultValue:()=>new iV}){}var Un=V(2,($,Z)=>{let X=Object.create(Kn);return X[HZ]=$,X[ZX]=Z.onSuccess,X[$X]=Z.onFailure,X}),Kn=dH({op:"OnSuccessAndFailure",eval($){return $._stack.push(this),this[HZ]}});var Vn=V(2,($,Z)=>On((X)=>Un(X($),{onFailure:(J)=>pH(Z(rV(J)),()=>TC(J)),onSuccess:(J)=>pH(Z(zC(J)),()=>oV(J))})));var CC=uV({op:"SetInterruptible",ensure($){if($.interruptible=this[HZ],$._interrupted&&$.interruptible)return()=>lV}}),Qn=($)=>nV((Z)=>{if(Z.interruptible)return $;if(Z.interruptible=!0,Z._stack.push(CC(!1)),Z._interrupted)return lV;return $}),On=($)=>nV((Z)=>{if(!Z.interruptible)return $(z$);return Z.interruptible=!1,Z._stack.push(CC(!0)),$(Qn)});var RC=($,Z)=>{let X=new _C(uH.context(Z?.scheduler??new iV));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 A4=Symbol.for("effect/Readable");var hH$={[A4]:A4,pipe(){return r(this,arguments)}};var oH=Symbol.for("effect/Ref"),sV={_A:($)=>$};class qC extends H4{ref;commit(){return this.get}[oH]=sV;[A4]=A4;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)I9(J)(this.ref);return X})}}var XX=($)=>new qC(o6($)),z5=($)=>E(()=>XX($)),CZ=($)=>$.get,Z9=V(2,($,Z)=>$.modify(()=>[void 0,Z])),EC=V(2,($,Z)=>$.modify((X)=>[X,Z]));var aV=V(2,($,Z)=>$.modify(Z));var M5=V(2,($,Z)=>$.modify((X)=>[void 0,Z(X)]));var rH=z5,lH=CZ,xC=EC;var SC=M5;class iH{scheduleDrain;running=!1;tasks=new tV;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 iH($),X=new WeakMap;return(J)=>{if(J===void 0)return Z;let G=X.get(J);if(G===void 0)G=new iH($),X.set(J,G);return G}}}class tV{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 jC{maxNextTickBeforeTimer;getRunner=iH.cached(($,Z)=>{if($>=this.maxNextTickBeforeTimer)setTimeout(()=>Z(0),0);else Promise.resolve(void 0).then(()=>Z($+1))});constructor($){this.maxNextTickBeforeTimer=$}shouldYield($){return $.currentOpCount>$.getFiberRef(QH)?$.getFiberRef(o9):!1}scheduleTask($,Z,X){this.getRunner(X).scheduleTask($,Z)}}var IC=N$(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new jC(2048));class eV{tasks=new tV;deferred=!1;scheduleTask($,Z,X){if(this.deferred)IC.scheduleTask($,Z,X);else this.tasks.scheduleTask($,Z)}shouldYield($){return $.currentOpCount>$.getFiberRef(QH)?$.getFiberRef(o9):!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 s9=N$(Symbol.for("effect/FiberRef/currentScheduler"),()=>R0(IC)),vC=V(2,($,Z)=>C0($,s9,Z));var Nn="effect/Clock",sH=Symbol.for(Nn),eZ=YZ("effect/Clock"),_n=2147483647,yC={unsafeSchedule($,Z){let X=zZ(Z);if(X>_n)return XZ;let J=!1,G=setTimeout(()=>{J=!0,$()},X);return()=>{return clearTimeout(G),!J}}},gC=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))}}(),Pn=function(){let $=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!$)return gC;let Z=gC()-$.bigint();return()=>Z+$.bigint()}();class bC{[sH]=sH;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return Pn()}currentTimeMillis=E(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=E(()=>this.unsafeCurrentTimeNanos());scheduler(){return z(yC)}sleep($){return kZ((Z)=>{let X=yC.unsafeSchedule(()=>Z(F$),$);return P0(E(X))})}}var aH=()=>new bC;var tH=N$(Symbol.for("effect/FiberRef/currentRequestMap"),()=>R0(new Map));var XQ=($,Z,X,J)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return wZ(BH,(G)=>G==="unbounded"?X():G>1?J(G):Z());default:return $>1?J($):Z()}},z2=($,Z,X)=>{switch($){case void 0:return Z();case"unbounded":return X();case"inherit":return wZ(BH,(J)=>J==="unbounded"||J>1?X():Z());default:return $>1?X():Z()}};var hC=($)=>$.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var JQ="And",GQ="Or",YQ="InvalidData",WQ="MissingData",HQ="SourceUnavailable",DQ="Unsupported";var wn="effect/ConfigError",mC=Symbol.for(wn),JX={_tag:"ConfigError",[mC]:mC},AQ=($,Z)=>{let X=Object.create(JX);return X._op=JQ,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},UQ=($,Z)=>{let X=Object.create(JX);return X._op=GQ,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},Cn=($,Z,X={pathDelim:"."})=>{let J=Object.create(JX);return J._op=YQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Invalid data at ${P(this.path,S9(X.pathDelim))}: "${this.message}")`}}),J},a9=($,Z,X={pathDelim:"."})=>{let J=Object.create(JX);return J._op=WQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Missing data at ${P(this.path,S9(X.pathDelim))}: "${this.message}")`}}),J},Rn=($,Z,X,J={pathDelim:"."})=>{let G=Object.create(JX);return G._op=HQ,G.path=$,G.message=Z,G.cause=X,Object.defineProperty(G,"toString",{enumerable:!1,value(){return`(Source unavailable at ${P(this.path,S9(J.pathDelim))}: "${this.message}")`}}),G},Ln=($,Z,X={pathDelim:"."})=>{let J=Object.create(JX);return J._op=DQ,J.path=$,J.message=Z,Object.defineProperty(J,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${P(this.path,S9(X.pathDelim))}: "${this.message}")`}}),J};var U4=V(2,($,Z)=>{switch($._op){case JQ:return AQ(U4($.left,Z),U4($.right,Z));case GQ:return UQ(U4($.left,Z),U4($.right,Z));case YQ:return Cn([...Z,...$.path],$.message);case WQ:return a9([...Z,...$.path],$.message);case HQ:return Rn([...Z,...$.path],$.message,$.cause);case DQ:return Ln([...Z,...$.path],$.message)}});var cC={_tag:"Empty"};var eH=V(2,($,Z)=>{let X=kJ(Z),J=$;while(zK(X)){let G=X.head;switch(G._tag){case"Empty":{X=X.tail;break}case"AndThen":{X=v9(G.first,v9(G.second,X.tail));break}case"MapName":{J=f6(J,G.f),X=X.tail;break}case"Nested":{J=M7(J,G.name),X=X.tail;break}case"Unnested":{if(P(S1(J),k3(G.name)))J=m6(J),X=X.tail;else return g$(a9(J,`Expected ${G.name} to be in path in ConfigProvider#unnested`));break}}}return E$(J)});var pC="Constant",dC="Fail",uC="Fallback",oC="Described",nC="Lazy",rC="MapOrFail",lC="Nested",iC="Primitive",sC="Sequence",aC="HashMap",tC="ZipWith";var $D=($,Z)=>[...$,...Z],xn="effect/ConfigProvider",eC=Symbol.for(xn),GX=YZ("effect/ConfigProvider"),Sn="effect/ConfigProviderFlat",$R=Symbol.for(Sn),kn=($)=>({[eC]:eC,pipe(){return r(this,arguments)},...$}),jn=($)=>({[$R]:$R,patch:$.patch,load:(Z,X,J=!0)=>$.load(Z,X,J),enumerateChildren:$.enumerateChildren}),In=($)=>kn({load:(Z)=>T(t8($,B6(),Z,!1),(X)=>f0(S1(X),{onNone:()=>R$(a9(B6(),`Expected a single value having structure: ${Z}`)),onSome:z})),flattened:$}),ZR=($)=>{let{pathDelim:Z,seqDelim:X}=Object.assign({},{pathDelim:"_",seqDelim:","},$),J=(A)=>P(A,S9(Z)),G=(A)=>A.split(Z),Y=()=>typeof process<"u"&&("env"in process)&&typeof process.env==="object"?process.env:{};return In(jn({load:(A,K,Q=!0)=>{let O=J(A),_=Y(),F=O in _?S(_[O]):x();return P(F,s1(()=>a9(A,`Expected ${O} to exist in the process context`)),T((M)=>hn(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,v3(M)),m=F[M];if(m===void 0||C!==m)return!1}return!0}).flatMap((F)=>F.slice(A.length,A.length+1));return wW(_)}),patch:cC}))};var vn=($,Z,X,J)=>{let G=m3(X.length,(A)=>A>=J.length?x():S([$(A),A+1])),Y=m3(J.length,(A)=>A>=X.length?x():S([Z(A),A+1])),W=$D(X,G),H=$D(J,Y);return[W,H]},yn=($,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 pC:return z(iZ(G.value));case oC:return H$(()=>t8($,Z,G.config,J));case dC:return R$(a9(Z,G.message));case uC:return P(H$(()=>t8($,Z,G.first,J)),M6((Y)=>{if(G.condition(Y))return P(t8($,Z,G.second,J),M6((W)=>R$(UQ(Y,W))));return R$(Y)}));case nC:return H$(()=>t8($,Z,G.config(),J));case rC:return H$(()=>P(t8($,Z,G.original,J),T(QZ((Y)=>P(G.mapOrFail(Y),s1(U4(yn(Z,G.original))))))));case lC:return H$(()=>t8($,$D(Z,iZ(G.name)),G.config,J));case iC:return P(eH(Z,$.patch),T((Y)=>P($.load(Y,G,J),T((W)=>{if(W.length===0){let H=P(XT(Y),c0(()=>"<n/a>"));return R$(a9([],`Expected ${G.description} with name ${H}`))}return z(W)}))));case sC:return P(eH(Z,$.patch),T((Y)=>P($.enumerateChildren(Y),T(fn),T((W)=>{if(W.length===0)return H$(()=>I(t8($,Z,G.config,!0),iZ));return P(QZ(W,(H)=>t8($,eF(Z,`[${H}]`),G.config,!0)),I((H)=>{let A=eY(H);if(A.length===0)return iZ(B6());return iZ(A)}))}))));case aC:return H$(()=>P(eH(Z,$.patch),T((Y)=>P($.enumerateChildren(Y),T((W)=>{return P(W,QZ((H)=>t8($,$D(Y,iZ(H)),G.valueConfig,J)),I((H)=>{if(H.length===0)return iZ(t4());return P(mn(H),f6((A)=>Mz(b3(_$(W),A))))}))})))));case tC:return H$(()=>P(t8($,Z,G.left,J),r8,T((Y)=>P(t8($,Z,G.right,J),r8,T((W)=>{if(M0(Y)&&M0(W))return R$(AQ(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,S9(".")),A=gn(Z,H),[K,Q]=vn(A,A,P(Y.right,f6(E$)),P(W.right,f6(E$)));return P(K,b3(Q),QZ(([O,_])=>P(A5(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")})))))}},gn=($,Z)=>(X)=>g$(a9($,`The element at index ${X} in a sequence at path "${Z}" was missing`));var bn=($,Z)=>{return $.split(new RegExp(`\\s*${hC(Z)}\\s*`))},hn=($,Z,X,J,G)=>{if(!G)return P(X.parse($),J2({onFailure:U4(Z),onSuccess:iZ}));return P(bn($,J),QZ((Y)=>X.parse(Y.trim())),s1(U4(Z)))},mn=($)=>{return Object.keys($[0]).map((Z)=>$.map((X)=>X[Z]))},fn=($)=>P(QZ($,pn),J2({onFailure:()=>B6(),onSuccess:H8(OZ)}),r8,I(u4));var cn=/^(\[(\d+)\])$/,pn=($)=>{let Z=$.match(cn);if(Z!==null){let X=Z[2];return P(X!==void 0&&X.length>0?S(X):x(),lZ(dn))}return x()};var dn=($)=>{let Z=Number.parseInt($);return Number.isNaN(Z)?x():S(Z)};var w5={};F8(w5,{sleep:()=>DX,make:()=>an,currentTimeNanos:()=>VQ,currentTimeMillis:()=>Z1,clockWith:()=>QQ,ClockTypeId:()=>sn,Clock:()=>OQ});var XR=Symbol.for("effect/Console"),t9=YZ("effect/Console"),JR={[XR]:XR,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 on="effect/Random",M2=Symbol.for(on),e9=YZ("effect/Random");class YR{seed;[M2]=M2;PRNG;constructor($){this.seed=$,this.PRNG=new B3($)}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 WR($,(Z)=>this.nextIntBetween(0,Z))}}var WR=($,Z)=>{return H$(()=>P(E(()=>Array.from($)),T((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)=>nn(X,G-1,Y)))),n$(j1(X)))})))},nn=($,Z,X)=>{let J=$[Z];return $[Z]=$[X],$[X]=J,$},KQ=($)=>new YR(s($));class HR{values;[M2]=M2;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 WR($,(Z)=>this.nextIntBetween(0,Z))}}var DR=($)=>new HR($);var UR=Symbol.for("effect/Tracer"),rn=($)=>({[UR]:UR,...$}),$1=YZ("effect/Tracer"),bZ=YZ("effect/ParentSpan"),KR=function(){return function(X){let J="";for(let G=0;G<X;G++)J+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return J}}();class VR{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:KR(32),this.spanId=KR(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 QR=rn({span:($,Z,X,J,G,Y)=>new VR($,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}}}},YX=p6()("effect/Tracer/DisablePropagation",{defaultValue:XZ});var ln=P(KZ(),s$(eZ,aH()),s$(t9,JR),s$(e9,KQ(Math.random())),s$(GX,ZR()),s$($1,QR)),T0=N$(Symbol.for("effect/DefaultServices/currentServices"),()=>VH(ln)),OR=($)=>{let Z=G0($);return w2((X)=>X.sleep(Z))},ZD=($)=>q$((Z)=>$(Z.currentDefaultServices)),w2=($)=>ZD((Z)=>$(Z.unsafeMap.get(eZ.key))),BR=w2(($)=>$.currentTimeMillis),NR=w2(($)=>$.currentTimeNanos),_R=V(2,($,Z)=>s0(T0,s$(eZ,Z))($)),PR=V(2,($,Z)=>s0(T0,s$(GX,Z))($)),FR=($)=>ZD((Z)=>$(Z.unsafeMap.get(GX.key)));var HX=($)=>ZD((Z)=>$(Z.unsafeMap.get(e9.key))),TR=V(2,($,Z)=>s0(T0,s$(e9,Z))($)),zR=HX(($)=>$.next);var XD=($)=>ZD((Z)=>$(Z.unsafeMap.get($1.key))),MR=V(2,($,Z)=>s0(T0,s$($1,Z))($));var sn=sH,an=aH,DX=OR,Z1=BR,VQ=NR,QQ=w2,OQ=eZ;var wR=($,Z)=>({label:$,startTime:Z}),BQ=($)=>$.replace(/[\s="]/g,"_"),NQ=($)=>(Z)=>{return`${BQ(Z.label)}=${$-Z.startTime}ms`};var RR=wR;var LR=XD;var qR="effect/MetricLabel",_Q=Symbol.for(qR);class ER{key;value;[_Q]=_Q;_hash;constructor($,Z){this.key=$,this.value=Z,this._hash=f$(qR+this.key+this.value)}[Y$](){return this._hash}[J$]($){return $r($)&&this.key===$.key&&this.value===$.value}pipe(){return r(this,arguments)}}var C5=($,Z)=>{return new ER($,Z)},$r=($)=>o($,_Q);var xR=V(($)=>h$($[0]),function(){let $=arguments;return s0($[0],n9,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),AX=($)=>I($,S),SR=($)=>s1($,S),FQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;return H$(()=>{try{return z(q0(Z))}catch(J){return R$(X?q0(()=>X(J)):new B5(J,"An unknown error occurred in Effect.try"))}})},kR=V(3,($,Z,X)=>M6($,(J)=>{if(o(J,Z)&&J[Z]===X.failure)return X.onFailure(J);return R$(J)})),jR=V(2,($,Z)=>a6($,(X)=>{let J=i6(X,(G)=>Z5(G)?S(G):x());switch(J._tag){case"None":return L$(X);case"Some":return Z(J.value.defect)}})),IR=V(2,($,Z)=>Q0($,{onFailure:(X)=>{let J=Z(X);switch(J._tag){case"None":return L$(X);case"Some":return J.value}},onSuccess:z})),vR=V(2,($,Z)=>a6($,(X)=>{let J=i6(X,(G)=>Z5(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)}}})),yR=V(($)=>h$($[0]),($,...Z)=>{let X=Z[Z.length-1],J;if(Z.length===2)J=E1(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 Z2($,J,X)}),gR=V(2,($,Z)=>{let X;return Z2($,(J)=>{return X??=Object.keys(Z),o(J,"_tag")&&HJ(J._tag)&&X.includes(J._tag)},(J)=>Z[J._tag](J))}),bR=($)=>X2($,{onFailure:z$,onSuccess:()=>d0}),X9=QQ,hR=X9(z),mR=V(2,($,Z)=>x$(DX(Z),$)),YD=($)=>q$((Z,X)=>$({id:Z.id(),status:X,interruptors:J5(Z.getFiberRef(V5))})),fR=YD(($)=>j9($.interruptors)>0?WH:F$),cR=YD(z),UX=($)=>q2($,WD,F2),Zr=($)=>q2($,A5(WD,n7),([Z,X],[J,G])=>[F2(Z,J),n8(X,G)]),pR=z({}),dR=V7(I,T),uR=K7(I),oR=U7(I),nR=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=z(!1),W=0;while((G=X.next())&&!G.done){let H=G.value,A=W++;Y=T(Y,(K)=>{if(K)return J.push(H),z(!0);return Z(H,A)})}return I(Y,()=>J)})),rR=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=z(!0),W=0;while((G=X.next())&&!G.done){let H=G.value,A=W++;Y=T(Y,(K)=>I(K?Z(H,A):z(!1),(Q)=>{if(!Q)J.push(H);return Q}))}return I(Y,()=>J)})),lR=($)=>I(N8(),$),TQ=($)=>H5($,()=>T($9(),()=>TQ($))),iR=V(2,($,Z)=>I(QZ($,z$),w7(Z))),sR=V(3,($,Z,X)=>C2($,Z,(J)=>C8(()=>X(J)))),aR=V(3,($,Z,X)=>C2($,Z,()=>r1(X))),C2=V(3,($,Z,X)=>T($,(J)=>Z(J)?z(J):X(J))),tR=V(3,($,Z,X)=>H$(()=>Z($)?z($):R$(X($)))),eR=V(($)=>h$($[0]),($,Z,X)=>C2($,Z,(J)=>X===void 0?R$(new yZ):l8(()=>X(J)))),$L=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=X.next();if(!J.done)return ZL(X,0,Z,J.value);return z(x())})),ZL=($,Z,X,J)=>T(X(J,Z),(G)=>{if(G)return z(S(J));let Y=$.next();if(!Y.done)return ZL($,Z+1,X,Y.value);return z(x())}),XL=($)=>H$(()=>{let Z=j1($);if(!W0(Z))return C8(()=>new i8("Received an empty collection of effects"));return P(H0(Z),k1(y$(Z),(X,J)=>H5(X,()=>J)))}),JL=V(2,($,Z)=>i1(Z(i1($)))),R2=V(2,($,Z)=>i0($,{onFailure:(X)=>z(Z.onFailure(X)),onSuccess:(X)=>z(Z.onSuccess(X))})),GL=V(2,($,Z)=>H$(()=>YL($[Symbol.iterator](),0,Z))),YL=($,Z,X)=>{let J=$.next();return J.done?z(!0):T(X(J.value,Z),(G)=>G?YL($,Z+1,X):z(G))},zQ=($)=>{let Z=T(T($,()=>$9()),()=>Z);return Z},WD=q$(($)=>z($.getFiberRefs())),WL=($)=>T($,(Z)=>{let J=Z[Symbol.iterator]().next();if(J.done)return R$(new yZ);return z(J.value)}),HD=($)=>R2($,{onFailure:TZ,onSuccess:TZ}),HL=($)=>Q0($,{onFailure:(Z)=>wQ(Z,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>F$}),DL=($)=>AD((Z,X)=>mw(X,Z,$)),AL=($)=>R2($,{onFailure:y6,onSuccess:XZ}),UL=($)=>R2($,{onFailure:XZ,onSuccess:y6}),MQ=($,Z)=>H$(()=>{if(Z.while($))return T(Z.body($),(X)=>MQ(X,Z));return z($)}),X1=($)=>(...Z)=>{let X=W8($),J=void 0;for(let G=0,Y=Z.length;G<Y;G++){let W=Z[G];if(hJ(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$})},KL=X1(),VL=X1(hV),wQ=X1(bV),QL=X1(gV),OL=X1(yV),BL=X1(vV),NL=X1(IV),_L=V(2,($,Z)=>T(Z1,(X)=>s0($,OH,gW(RR(Z,X))))),PL=L8(n9),FL=($,Z)=>Z.discard?zL($,Z.while,Z.step,Z.body):I(TL($,Z.while,Z.step,Z.body),_$),TL=($,Z,X,J)=>H$(()=>Z($)?T(J($),(G)=>I(TL(X($),Z,X,J),gW(G))):E(()=>l6())),zL=($,Z,X,J)=>H$(()=>Z($)?T(J($),()=>zL(X($),Z,X,J)):F$),ML=V(3,($,Z,X)=>H$(()=>{let J=$[Symbol.iterator](),G=[],Y=z(Z),W,H=0;while(!(W=J.next()).done){let A=H++,K=W.value;Y=T(Y,(Q)=>I(X(Q,K,A),([O,_])=>{return G.push(_),O}))}return I(Y,(A)=>[A,G])})),KX=V(2,($,Z)=>Q0($,{onFailure:(X)=>c9(()=>Z(X)),onSuccess:z})),DD=($)=>P(B8(),T((Z)=>P(Zr($),t6(Z),CQ,I((X)=>x$(X,P(WZ(Z),T(([J,G])=>n$(A5(R5(J[0]),a1(J[1])),G)))))))),wL=($)=>i0($,{onFailure:(Z)=>z(Z),onSuccess:z}),L2=($)=>I($,(Z)=>!Z),CL=($)=>T($,(Z)=>{switch(Z._tag){case"None":return F$;case"Some":return R$(new yZ)}}),CQ=($)=>I(rH(!0),(Z)=>P0(r7($,xC(Z,!1)))),RL=($)=>i0($,{onFailure:()=>z(x()),onSuccess:(Z)=>z(S(Z))}),LL=V(2,($,Z)=>H5($,()=>l8(Z))),qL=V(2,($,Z)=>H5($,()=>E(Z))),EL=($)=>Q0($,{onFailure:(Z)=>{let X=_$(m7(Z));return X.length===0?L$(Z):R$(X)},onSuccess:z}),R5=($)=>AD((Z,X)=>P($,vH(Z,X))),xL=($)=>$.length>=1?kZ((Z,X)=>{try{$(X).then((J)=>Z(z(J)),(J)=>Z(MZ(J)))}catch(J){Z(MZ(J))}}):kZ((Z)=>{try{$().then((X)=>Z(z(X)),(X)=>Z(MZ(X)))}catch(X){Z(MZ(X))}}),V4=V(3,($,Z,X)=>E8((J)=>tZ($,s$(J,Z,X)))),Q4=V(3,($,Z,X)=>E8((J)=>T(X,(G)=>tZ($,P(J,s$(Z,G)))))),SL=HX(z),kL=V(3,($,Z,X)=>_$($).reduce((J,G,Y)=>T(J,(W)=>X(W,G,Y)),z(Z))),jL=V(3,($,Z,X)=>_$($).reduceRight((J,G,Y)=>T(J,(W)=>X(G,W,Y)),z(Z))),IL=V(3,($,Z,X)=>T(E(()=>$[Symbol.iterator]()),(J)=>vL(J,0,Z,X.while,X.body))),vL=($,Z,X,J,G)=>{let Y=$.next();if(!Y.done&&J(X))return T(G(X,Y.value,Z),(W)=>vL($,Z+1,W,J,G));return z(X)},yL=V(2,($,Z)=>H$(()=>gL($,Z))),gL=($,Z)=>T($,(X)=>Z<=0?z(X):x$($9(),gL($,Z-1))),bL=($)=>Q0($,{onFailure:R$,onSuccess:z}),hL=($)=>H$(()=>fw($)),L5=DX,q5=z(x()),mL=($)=>z(S($)),q2=V(3,($,Z,X)=>T(Z,(J)=>T($,(G)=>I(Z,(Y)=>[X(J,Y),G])))),fL=V(($)=>h$($[0]),function(){return RQ(arguments[0],typeof arguments[1]==="string"?[C5(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([$,Z])=>C5($,Z)))}),RQ=V(2,($,Z)=>s0($,r9,(X)=>O6(X,Z))),cL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=z(!1),W=0;while((G=X.next())&&!G.done){let H=G.value,A=W++;Y=T(Y,(K)=>{if(K)return z(!0);return J.push(H),Z(H,A)})}return I(Y,()=>J)})),pL=V(2,($,Z)=>H$(()=>{let X=$[Symbol.iterator](),J=[],G,Y=z(!0),W=0;while((G=X.next())&&!G.done){let H=G.value,A=W++;Y=T(Y,(K)=>P(K?Z(H,A):z(!1),I((Q)=>{if(Q)J.push(H);return Q})))}return I(Y,()=>J)})),dL=V(2,($,{onFailure:Z,onSuccess:X})=>Q0($,{onFailure:(J)=>{let G=T6(J);switch(G._tag){case"Left":return x$(Z(G.left),L$(J));case"Right":return L$(J)}},onSuccess:(J)=>n$(X(J),J)})),uL=V(2,($,Z)=>a6($,(X)=>f0(aW(X),{onNone:()=>L$(X),onSome:(J)=>x$(Z(J),L$(X))}))),LQ=V(2,($,Z)=>Q0($,{onFailure:(X)=>{let J=T6(X);switch(J._tag){case"Left":return x$(Z(J.left),L$(X));case"Right":return L$(X)}},onSuccess:z})),oL=V(3,($,Z,X)=>LQ($,(J)=>{if(E1(J,Z))return X(J);return F$})),nL=V(2,($,Z)=>Q0($,{onFailure:(X)=>x$(Z(X),L$(X)),onSuccess:z})),rL=($)=>qQ($,VQ),qQ=V(2,($,Z)=>q2($,Z,(X,J)=>wJ(J-X))),Xr=LR,lL=Xr(z),EQ=($)=>{let Z,X=void 0;if(typeof $==="function")Z=$;else Z=$.try,X=$.catch;let J=(G)=>X?l8(()=>X(G)):R$(new B5(G,"An unknown error occurred in Effect.tryPromise"));if(Z.length>=1)return kZ((G,Y)=>{try{Z(Y).then((W)=>G(z(W)),(W)=>G(J(W)))}catch(W){G(J(W))}});return kZ((G)=>{try{Z().then((Y)=>G(z(Y)),(Y)=>G(J(Y)))}catch(Y){G(J(Y))}})},iL=V(2,($,Z)=>T($,(X)=>FQ({try:()=>Z.try(X),catch:Z.catch}))),sL=V(2,($,Z)=>T($,(X)=>EQ({try:Z.try.length>=1?(J)=>Z.try(X,J):()=>Z.try(X),catch:Z.catch}))),aL=V(2,($,Z)=>H$(()=>Z()?q5:AX($))),tL=V(2,($,Z)=>T(Z,(X)=>X?q5:AX($))),eL=($)=>KX($,tW),AD=($)=>q$((Z)=>{return Z.setFiberRefs($(Z.id(),Z.getFiberRefs())),F$}),$q=V(3,($,Z,X)=>Y4($,(J)=>s$(J,Z,X(p8(J,Z))))),UD=V(2,($,Z)=>H$(()=>Z()?I($,S):z(x()))),Zq=V(3,($,Z,X)=>T(L8(Z),(J)=>X(J)?I($,(G)=>[J,S(G)]):z([J,x()]))),Xq=V(3,($,Z,X)=>T(lH(Z),(J)=>X(J)?I($,(G)=>[J,S(G)]):z([J,x()]))),Jq=V(2,($,Z)=>Z($)),Gq=($,Z)=>(...X)=>T($,(J)=>Z(J)(...X)),Yq=($,Z)=>(...X)=>I($,(J)=>Z(J)(...X)),xQ=($)=>new Proxy({},{get(Z,X,J){return(...G)=>T($,(Y)=>Y[X](...G))}}),SQ=($)=>new Proxy({},{get(Z,X,J){return T($,(G)=>h$(G[X])?G[X]:z(G[X]))}}),Wq=($)=>({functions:xQ($),constants:SQ($)}),Hq=($)=>I(N8(),w8($)),kQ=($)=>T(N8(),w8($)),Dq=function(){let $=arguments;return HD(T(IQ,(Z)=>E(()=>{if(typeof $[0]==="string")Z.attribute($[0],$[1]);else for(let X in $[0])Z.attribute(X,$[0][X])})))},Aq=function(){let $=arguments,Z=Array.isArray($[0])?$[0]:[{_tag:"SpanLink",span:$[0],attributes:$[1]??{}}];return HD(T(jQ,(X)=>E(()=>X.addLinks(Z))))},Uq=V(($)=>h$($[0]),function(){let $=arguments;return s0($[0],i7,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),Kq=kQ(bZ),jQ=T(N8(),($)=>{let Z=$.unsafeMap.get(bZ.key);return Z!==void 0&&Z._tag==="Span"?z(Z):R$(new yZ)}),IQ=T(N8(),($)=>{let Z=E2(w8($,bZ));return Z._tag==="Some"&&Z.value._tag==="Span"?z(Z.value):R$(new yZ)}),Vq=V(($)=>h$($[0]),($,Z,X)=>s0($,_H,R7({_tag:"SpanLink",span:Z,attributes:X??{}}))),Qq=BigInt(0),E2=lZ(($)=>r0($.context,YX)?$._tag==="Span"?E2($.parent):x():S($)),KD=($,Z,X)=>{let J=!$.getFiberRef(W2)||X.context&&r0(X.context,YX),G=$.getFiberRef(O8),Y=X.parent?S(X.parent):X.root?x():E2(w8(G,bZ)),W;if(J)W=Lw({name:Z,parent:Y,context:s$(X.context??KZ(),YX,!0)});else{let H=$.getFiberRef(T0),A=r0(H,$1),K=r0(H,OQ),Q=$.getFiberRef(Z4),O=$.getFiberRefs(),_=EV(O,i7),F=EV(O,_H),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():Qq,X.kind??"internal",X),_._tag==="Some")qz(_.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")cJ.set(W,X.captureStackTrace);return W},Oq=($,Z)=>{return Z=x8(Z),q$((X)=>z(KD(X,$,Z)))},Bq=L8(i7),Nq=L8(_H),vQ=($,Z,X,J)=>E(()=>{if($.status._tag==="Ended")return;if(TH(Z)&&cJ.has($))$.attribute("code.stacktrace",cJ.get($)());$.end(J?X.unsafeCurrentTimeNanos():Qq,Z)}),JD=($,...Z)=>{let X=x8(Z.length===1?void 0:Z[0]),J=Z[Z.length-1];return q$((G)=>{let Y=KD(G,$,X),W=G.getFiberRef(Z4),H=r0(G.getFiberRef(T0),eZ);return sZ(J(Y),(A)=>vQ(Y,A,H,W))})},GD=V(2,($,Z)=>V4($,bZ,Z)),yQ=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=x8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return JD(Z,X,(G)=>GD(J,G))}return(J)=>JD(Z,X,(G)=>GD(J,G))},_q=($)=>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 yQ(H$(()=>q0(()=>$.body.apply(this,arguments))),X.name,{...X,captureStackTrace:Z})})},Pq=($)=>$==null?R$(new yZ):z($),Fq=($)=>M6(I($,S),(Z)=>FH(Z)?q5:R$(Z));var gQ="InterruptSignal",bQ="Stateful",hQ="Resume",mQ="YieldNow",VD=($)=>({_tag:"InterruptSignal",cause:$}),QX=($)=>({_tag:"Stateful",onFiber:$}),E5=($)=>({_tag:"Resume",effect:$}),Tq=()=>({_tag:"YieldNow"});var Jr="effect/FiberScope",QD=Symbol.for(Jr);class Mq{[QD]=QD;fiberId=p0;roots=new Set;add($,Z){this.roots.add(Z),Z.addObserver(()=>{this.roots.delete(Z)})}}class wq{fiberId;parent;[QD]=QD;constructor($,Z){this.fiberId=$,this.parent=Z}add($,Z){this.parent.tell(QX((X)=>{X.addChild(Z),Z.addObserver(()=>{X.removeChild(Z)})}))}}var Cq=($)=>{return new wq($.id(),$)},w6=N$(Symbol.for("effect/FiberScope/Global"),()=>new Mq);var Gr="effect/Fiber",J1=Symbol.for(Gr),OX={_E:($)=>$,_A:($)=>$},BD={[J1]:OX,pipe(){return r(this,arguments)}},Yr="effect/Fiber",S2=Symbol.for(Yr),Rq=P(mF(OZ,OZ),lY(($)=>[$.id().startTimeMillis,$.id().id])),Lq=($)=>o($,J1),x2=($)=>(S2 in $),ND=($)=>$.await,qq=($)=>$.children,x5=($)=>{return{...m8,commit(){return BZ(this)},...BD,id:()=>p0,await:z($),children:z([]),inheritAll:F$,poll:z(S($)),interruptAsFork:()=>F$}},_D=($)=>I($.status,(Z)=>({id:$.id(),status:Z})),Eq=($)=>QZ($,_D),xq=($)=>x5(NV($)),cQ=($)=>x5(_V($)),Sq=($)=>I(U0($),x5),kq=($)=>$.id(),PD=($)=>$.inheritAll,jq=($)=>x5(FV($)),Iq=($)=>T(p9,(Z)=>P($,k2(Z))),k2=V(2,l7(function*($,Z){for(let X of $){if(x2(X)){X.unsafeInterruptAsFork(Z);continue}yield*X.interruptAsFork(Z)}for(let X of $){if(x2(X)&&X.unsafePoll())continue;yield*X.await}})),FD=V(2,($,Z)=>$.interruptAsFork(Z)),BZ=($)=>U5(jZ($.await),$.inheritAll),OD=V(2,($,Z)=>pQ($,(X)=>E(()=>Z(X)))),pQ=V(2,($,Z)=>{return{...m8,commit(){return BZ(this)},...BD,id:()=>$.id(),await:T($.await,CH(Z)),children:$.children,inheritAll:$.inheritAll,poll:T($.poll,(J)=>{switch(J._tag){case"None":return z(x());case"Some":return P(CH(J.value,Z),I(S))}}),interruptAsFork:(J)=>$.interruptAsFork(J)}}),vq=V(2,($,Z)=>I($.await,TV({onFailure:(X)=>cQ(X),onSuccess:(X)=>Z(X)}))),yq=V(2,($,{onFiber:Z,onRuntimeFiber:X})=>{if(x2($))return X($);return Z($)}),Wr={...m8,commit(){return BZ(this)},...BD,id:()=>p0,await:e1,children:z([]),inheritAll:e1,poll:z(x()),interruptAsFork:()=>e1},gq=Wr,dQ=V(2,($,Z)=>({...m8,commit(){return BZ(this)},...BD,id:()=>jW($.id(),Z.id()),await:aZ($.await,Z.await,(X,J)=>W4(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 W4(X.value)?X:J}}),interruptAsFork:(X)=>P(vZ($,X),x$(P(Z,vZ(X))),P0)})),bq=V(2,($,Z)=>dQ(OD($,g$),OD(Z,E$))),hq=($)=>$.poll,Hr=($)=>{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}},Dr=($)=>{if(hH($))return"Done";if(DC($))return"Running";return`Suspended(${F6($.runtimeFlags)?"interruptible":"uninterruptible"})`},mq=($)=>T(Z1,(Z)=>I(_D($),(X)=>{let J=Z-X.id.startTimeMillis,{days:G,hours:Y,milliseconds:W,minutes:H,seconds:A}=Hr(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=AC(X.status)?(()=>{let _=m1(X.status.blockingOn);return j9(_)>0?"waiting on "+Array.from(_).map((F)=>`${F}`).join(", "):""})():"",O=Dr(X.status);return`[Fiber](#${X.id.id}) (${K}) ${Q}
27
- Status: ${O}`})),uQ=()=>Array.from(w6.roots),fq=E(uQ),cq=($)=>$.status,oQ=($)=>x5(N2($)),pq=oQ(void 0);var G1="effect/FiberCurrent",dq=()=>W8(globalThis[G1]);var Ar="effect/Logger",uq=Symbol.for(Ar),oq={_Message:($)=>$,_Output:($)=>$},TD=($)=>({[uq]:oq,log:$,pipe(){return r(this,arguments)}});var wD$={[uq]:oq,log:TZ,pipe(){return r(this,arguments)}};var Ur=/^[^\s"=]*$/,Kr=($,Z)=>({annotations:X,cause:J,date:G,fiberId:Y,logLevel:W,message:H,spans:A})=>{let K=(M)=>M.match(Ur)?M:$(M),Q=(M,C)=>`${BQ(M)}=${K(C)}`,O=(M,C)=>" "+Q(M,C),_=Q("timestamp",G.toISOString());_+=O("level",W.label),_+=O("fiber",kW(Y));let F=tF(H);for(let M=0;M<F.length;M++)_+=O("message",L9(F[M],Z));if(!sW(J))_+=O("cause",z6(J,{renderErrorCause:!0}));for(let M of A)_+=" "+NQ(G.getTime())(M);for(let[M,C]of X)_+=O(M,L9(C,Z));return _},Vr=($)=>`"${$.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,nq=TD(Kr(Vr));var S5={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},CD$={None:[],All:[],Trace:[S5.gray],Debug:[S5.blue],Info:[S5.green],Warning:[S5.yellow],Error:[S5.red],Fatal:[S5.bgBrightRed,S5.black]};var rq=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,RD$=rq&&process.stdout.isTTY===!0,LD$=rq||"Deno"in globalThis;var lq="effect/MetricBoundaries",rQ=Symbol.for(lq);class iq{values;[rQ]=rQ;constructor($){this.values=$,this._hash=P(f$(lq),U$(o0(this.values)))}_hash;[Y$](){return this._hash}[J$]($){return Or($)&&i(this.values,$.values)}pipe(){return r(this,arguments)}}var Or=($)=>o($,rQ),Br=($)=>{let Z=P($,I3(x0(Number.POSITIVE_INFINITY)),f3);return new iq(Z)};var sq=($)=>P(j3($.count-1,(Z)=>$.start*Math.pow($.factor,Z)),zJ,Br);var _r="effect/MetricKeyType",aq=Symbol.for(_r),tq="effect/MetricKeyType/Counter",lQ=Symbol.for(tq),Pr="effect/MetricKeyType/Frequency",Fr=Symbol.for(Pr),Tr="effect/MetricKeyType/Gauge",zr=Symbol.for(Tr),eq="effect/MetricKeyType/Histogram",iQ=Symbol.for(eq),Mr="effect/MetricKeyType/Summary",wr=Symbol.for(Mr),$E={_In:($)=>$,_Out:($)=>$};class ZE{incremental;bigint;[aq]=$E;[lQ]=lQ;constructor($,Z){this.incremental=$,this.bigint=Z,this._hash=f$(tq)}_hash;[Y$](){return this._hash}[J$]($){return sQ($)}pipe(){return r(this,arguments)}}class XE{boundaries;[aq]=$E;[iQ]=iQ;constructor($){this.boundaries=$,this._hash=P(f$(eq),U$(s(this.boundaries)))}_hash;[Y$](){return this._hash}[J$]($){return aQ($)&&i(this.boundaries,$.boundaries)}pipe(){return r(this,arguments)}}var JE=($)=>new ZE($?.incremental??!1,$?.bigint??!1);var GE=($)=>{return new XE($)};var sQ=($)=>o($,lQ),YE=($)=>o($,Fr),WE=($)=>o($,zr),aQ=($)=>o($,iQ),HE=($)=>o($,wr);var Cr="effect/MetricKey",AE=Symbol.for(Cr),Rr={_Type:($)=>$},Lr=C7(i);class zD{name;keyType;description;tags;[AE]=Rr;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 qr($)&&this.name===$.name&&i(this.keyType,$.keyType)&&i(this.description,$.description)&&Lr(this.tags,$.tags)}pipe(){return r(this,arguments)}}var qr=($)=>o($,AE),UE=($,Z)=>new zD($,JE(Z),W8(Z?.description));var KE=($,Z,X)=>new zD($,GE(Z),W8(X));var VE=V(2,($,Z)=>Z.length===0?$:new zD($.name,$.keyType,$.description,O6($.tags,Z)));var QE=Symbol.for("effect/MutableHashMap"),xr={[QE]:QE,[Symbol.iterator](){return new tQ(this)},toString(){return S$(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(j$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}};class tQ{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 OE(this.self.buckets.values()),this.next();return $}[Symbol.iterator](){return new tQ(this.self)}}class OE{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 Y1=()=>{let $=Object.create(xr);return $.referential=new Map,$.buckets=new Map,$.bucketsSize=0,$};var O0=V(2,($,Z)=>{if(Q7(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 Sr($,J,Z)});var Sr=($,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(Q7(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 BE($,G,Z),G.push([Z,X]),$.bucketsSize++,$}),BE=($,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 W1=V(2,($,Z)=>{if(Q7(Z)===!1)return $.referential.delete(Z),$;let X=Z[Y$](),J=$.buckets.get(X);if(J===void 0)return $;if(BE($,J,Z),J.length===0)$.buckets.delete(X);return $});var k5=($)=>{return $.referential.size+$.bucketsSize};var kr="effect/MetricState",j2=Symbol.for(kr),NE="effect/MetricState/Counter",eQ=Symbol.for(NE),_E="effect/MetricState/Frequency",$O=Symbol.for(_E),PE="effect/MetricState/Gauge",ZO=Symbol.for(PE),FE="effect/MetricState/Histogram",XO=Symbol.for(FE),TE="effect/MetricState/Summary",JO=Symbol.for(TE),I2={_A:($)=>$};class zE{count;[j2]=I2;[eQ]=eQ;constructor($){this.count=$}[Y$](){return P(s(NE),U$(s(this.count)),w$(this))}[J$]($){return Ir($)&&this.count===$.count}pipe(){return r(this,arguments)}}var jr=C7(i);class ME{occurrences;[j2]=I2;[$O]=$O;constructor($){this.occurrences=$}_hash;[Y$](){return P(f$(_E),U$(o0(_$(this.occurrences.entries()))),w$(this))}[J$]($){return vr($)&&jr(_$(this.occurrences.entries()),_$($.occurrences.entries()))}pipe(){return r(this,arguments)}}class wE{value;[j2]=I2;[ZO]=ZO;constructor($){this.value=$}[Y$](){return P(s(PE),U$(s(this.value)),w$(this))}[J$]($){return yr($)&&this.value===$.value}pipe(){return r(this,arguments)}}class CE{buckets;count;min;max;sum;[j2]=I2;[XO]=XO;constructor($,Z,X,J,G){this.buckets=$,this.count=Z,this.min=X,this.max=J,this.sum=G}[Y$](){return P(s(FE),U$(s(this.buckets)),U$(s(this.count)),U$(s(this.min)),U$(s(this.max)),U$(s(this.sum)),w$(this))}[J$]($){return gr($)&&i(this.buckets,$.buckets)&&this.count===$.count&&this.min===$.min&&this.max===$.max&&this.sum===$.sum}pipe(){return r(this,arguments)}}class RE{error;quantiles;count;min;max;sum;[j2]=I2;[JO]=JO;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(TE),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 br($)&&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 LE=($)=>new zE($),qE=($)=>{return new ME($)},EE=($)=>new wE($),xE=($)=>new CE($.buckets,$.count,$.min,$.max,$.sum),SE=($)=>new RE($.error,$.quantiles,$.count,$.min,$.max,$.sum);var Ir=($)=>o($,eQ),vr=($)=>o($,$O),yr=($)=>o($,ZO),gr=($)=>o($,XO),br=($)=>o($,JO);var mr="effect/MetricHook",fr=Symbol.for(mr),cr={_In:($)=>$,_Out:($)=>$},v2=($)=>({[fr]:cr,pipe(){return r(this,arguments)},...$});var kE=BigInt(0),IE=($)=>{let Z=$.keyType.bigint?kE:0,X=$.keyType.incremental?$.keyType.bigint?(G)=>G>=kE:(G)=>G>=0:(G)=>!0,J=(G)=>{if(X(G))Z=Z+G};return v2({get:()=>LE(Z),update:J,modify:J})},vE=($)=>{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 v2({get:()=>qE(Z),update:X,modify:X})},yE=($,Z)=>{let X=Z;return v2({get:()=>EE(X),update:(J)=>{X=J},modify:(J)=>{X=X+J}})},gE=($)=>{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=FJ(X),_=0;for(let F=0;F<X;F++){let M=G[F],C=J[F];_=_+C,O[F]=[M,_]}return O};return v2({get:()=>xE({buckets:Q(),count:Y,min:H,max:A,sum:W}),update:K,modify:K})},bE=($)=>{let{error:Z,maxAge:X,maxSize:J,quantiles:G}=$.keyType,Y=P(G,H8(OZ)),W=FJ(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(WW(C$,U8)&&yT(C$,X))C.push(G$)}m=m+1}return pr(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 v2({get:()=>SE({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)})},pr=($,Z,X)=>{let J=X.length;if(!EZ(Z))return B6();let G=Z[0],Y=Z.slice(1),W=jE($,J,x(),0,G,X),H=iZ(W);return Y.forEach((A)=>{H.push(jE($,J,W.value,W.consumed,A,W.rest))}),f6(H,(A)=>[A.quantile,A.value])},jE=($,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(y3(O)),consumed:K+O.length,rest:[]};let e=UZ(O),G$=JT(O,(l)=>l===e),C$=Q*H,d$=W/2*C$,j=K+G$[0].length,X$=Math.abs(j-C$);if(j<C$-d$){_=W,F=H,M=S1(O),C=j,m=Q,V$=G$[1],W=_,H=F,A=M,K=C,Q=m,O=V$;continue}if(j>C$+d$){let l=k$(A)?S(e):A;return{quantile:Q,value:l,consumed:K,rest:O}}switch(A._tag){case"None":{_=W,F=H,M=S1(O),C=j,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=S1(O),C=j,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 ur="effect/MetricPair",or=Symbol.for(ur),nr={_Type:($)=>$};var hE=($,Z)=>{return{[or]:nr,metricKey:$,metricState:Z,pipe(){return r(this,arguments)}}};var lr="effect/MetricRegistry",mE=Symbol.for(lr);class fE{[mE]=mE;map=Y1();snapshot(){let $=[];for(let[Z,X]of this.map)$.push(hE(Z,X.get()));return $}get($){let Z=P(this.map,O0($),n0);if(Z==null){if(sQ($.keyType))return this.getCounter($);if(WE($.keyType))return this.getGauge($);if(YE($.keyType))return this.getFrequency($);if(aQ($.keyType))return this.getHistogram($);if(HE($.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=IE($);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=vE($);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=yE($,$.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=gE($);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=bE($);if(!P(this.map,S8($)))P(this.map,hZ($,X));Z=X}return Z}}var cE=()=>{return new fE};var sr="effect/Metric",ar=Symbol.for(sr),tr={_Type:($)=>$,_In:($)=>$,_Out:($)=>$},pE=N$(Symbol.for("effect/Metric/globalMetricRegistry"),()=>cE()),dE=function($,Z,X,J){let G=Object.assign((Y)=>IZ(Y,(W)=>$l(G,W)),{[ar]:tr,keyType:$,unsafeUpdate:Z,unsafeValue:X,unsafeModify:J,register(){return this.unsafeValue([]),this},pipe(){return r(this,arguments)}});return G};var y2=($,Z)=>uE(UE($,Z));var uE=($)=>{let Z,X=new WeakMap,J=(G)=>{if(G.length===0){if(Z!==void 0)return Z;return Z=pE.get($),Z}let Y=X.get(G);if(Y!==void 0)return Y;return Y=pE.get(VE($,G)),X.set(G,Y),Y};return dE($.keyType,(G,Y)=>J(Y).update(G),(G)=>J(G).get(),(G,Y)=>J(Y).modify(G))};var oE=($,Z,X)=>uE(KE($,Z,X));var nE=V(3,($,Z,X)=>er($,[C5(Z,X)]));var er=V(2,($,Z)=>{return dE($.keyType,(X,J)=>$.unsafeUpdate(X,O6(Z,J)),(X)=>$.unsafeValue(O6(Z,X)),(X,J)=>$.unsafeModify(X,O6(Z,J)))});var $l=V(2,($,Z)=>wZ(r9,(X)=>E(()=>$.unsafeUpdate(Z,X))));var Xl="effect/Request",GO=Symbol.for(Xl),Jl={_E:($)=>$,_A:($)=>$},GA$={...T7,[GO]:Jl},rE=($)=>o($,GO);var YO=V(2,($,Z)=>wZ(tH,(X)=>E(()=>{if(X.has($)){let J=X.get($);if(!J.state.completed)J.state.completed=!0,t7(J.result,Z)}})));class g2{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 Yl="effect/Supervisor",b2=Symbol.for(Yl),wD={_T:($)=>$};class h2{underlying;value0;[b2]=wD;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 h2(this,P(this.value,I($)))}zip($){return new m2(this,$)}}class m2{left;right;_tag="Zip";[b2]=wD;constructor($,Z){this.left=$,this.right=Z}get value(){return A5(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 h2(this,P(this.value,I($)))}zip($){return new m2(this,$)}}var WO=($)=>o($,b2)&&E1($,"Zip");class lE{[b2]=wD;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 h2(this,P(this.value,I($)))}zip($){return new m2(this,$)}onRun($,Z){return $()}}class iE{effect;[b2]=wD;constructor($){this.effect=$}get value(){return this.effect}onStart($,Z,X,J){}onEnd($,Z){}onEffect($,Z){}onSuspend($){}onResume($){}map($){return new h2(this,P(this.value,I($)))}zip($){return new m2(this,$)}onRun($,Z){return $()}}var Wl=()=>{return new lE},sE=E(Wl),Hl=($)=>{return new iE($)},j5=N$("effect/Supervisor/none",()=>Hl(F$));var aE=c1;var tE="Empty",eE="AddSupervisor",$x="RemoveSupervisor",Zx="AndThen",BX={_tag:tE},RD=($,Z)=>{return{_tag:Zx,first:$,second:Z}},Al=($,Z)=>{return Ul(Z,x0($))},Ul=($,Z)=>{let X=$,J=Z;while(W0(J)){let G=y$(J);switch(G._tag){case tE:{J=H0(J);break}case eE:{X=X.zip(G.supervisor),J=H0(J);break}case $x:{X=HO(X,G.supervisor),J=H0(J);break}case Zx:{J=V0(G.first)(V0(G.second)(H0(J)));break}}}return X},HO=($,Z)=>{if(i($,Z))return j5;else if(WO($))return HO($.left,Z).zip(HO($.right,Z));else return $},LD=($)=>{if(i($,j5))return o8();else if(WO($))return P(LD($.left),u6(LD($.right)));else return N6($)},Kl=($,Z)=>{if(i($,Z))return BX;let X=LD($),J=LD(Z),G=P(J,VK(X),a4(BX,(W,H)=>RD(W,{_tag:eE,supervisor:H}))),Y=P(X,VK(J),a4(BX,(W,H)=>RD(W,{_tag:$x,supervisor:H})));return RD(G,Y)},Xx=aE({empty:BX,patch:Al,combine:RD,diff:Kl});var Ql=y2("effect_fiber_started",{incremental:!0}),Jx=y2("effect_fiber_active"),Ol=y2("effect_fiber_successes",{incremental:!0}),Bl=y2("effect_fiber_failures",{incremental:!0}),Nl=nE(oE("effect_fiber_lifetimes",sq({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),f2="Continue",_l="Done",Gx="Yield",Pl={_E:($)=>$,_A:($)=>$},qD=($)=>{throw Error(`BUG: FiberRuntime - ${L9($)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},H1=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),D1=N$("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),c2={[N7]:($,Z,X)=>{return q0(()=>Z.effect_instruction_i1(X))},["OnStep"]:($,Z,X)=>{return t$(t$(X))},[_7]:($,Z,X)=>{return q0(()=>Z.effect_instruction_i2(X))},[KJ]:($,Z,X)=>{if($.patchRuntimeFlags($.currentRuntimeFlags,Z.patch),F6($.currentRuntimeFlags)&&$.isInterrupted())return I$($.getInterruptedCause());else return t$(X)},[P7]:($,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$},[d4]:($,Z,X)=>{while(!0){let J=q0(()=>Z.effect_instruction_i0.next(X));if(J.done)return t$(J.value);let G=h4(J.value);if(!N5(G))return $.pushStack(Z),G;else if(G._tag==="Failure")return G;X=G.value}}},Fl={[gQ]:($,Z,X,J)=>{return $.processNewInterruptSignal(J.cause),F6(Z)?I$(J.cause):X},[hQ]:($,Z,X,J)=>{throw Error("It is illegal to have multiple concurrent run loops in a single fiber")},[bQ]:($,Z,X,J)=>{return J.onFiber($,jV(Z)),X},[mQ]:($,Z,X,J)=>{return T($9(),()=>X)}},Tl=($)=>R8(XM($),(Z)=>A1(YM(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(Il(X.runAll(Y),W,()=>W.forEach((H)=>{H.listeners.interrupted=!0})),tH,G)},!1,!1)),zl=QJ();class jD extends H4{[J1]=OX;[S2]=Pl;_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,gK(X)){let J=this.getFiberRef(r9);Ql.unsafeUpdate(1,J),Jx.unsafeUpdate(1,J)}this.refreshRefCache()}commit(){return BZ(this)}id(){return this._fiberId}resume($){this.tell(E5($))}get status(){return this.ask(($,Z)=>Z)}get runtimeFlags(){return this.ask(($,Z)=>{if(hH(Z))return $.currentRuntimeFlags;return Z.runtimeFlags})}scope(){return Cq(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(V5)}fiberRefs(){return this.ask(($)=>$.getFiberRefs())}ask($){return H$(()=>{let Z=V2(this._fiberId);return this.tell(QX((X,J)=>{t7(Z,E(()=>$(X,J)))})),WZ(Z)})}tell($){if(this._queue.push($),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return kZ(($)=>{let Z=(X)=>$(z(X));if(this._exitValue!==null){Z(this._exitValue);return}return this.tell(QX((X,J)=>{if(X._exitValue!==null)Z(this._exitValue);else X.addObserver(Z)})),E(()=>this.tell(QX((X,J)=>{X.removeObserver(Z)})))},this.id())}get inheritAll(){return q$(($,Z)=>{let X=$.id(),J=$.getFiberRefs(),G=Z.runtimeFlags,Y=this.getFiberRefs(),W=kH(J,X,Y);$.setFiberRefs(W);let H=$.getFiberRef(Hx),A=P(n8(G,H),fK(P6),fK(oW));return a1(A)})}get poll(){return E(()=>W8(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork($){return E(()=>this.tell(VD(VZ($))))}unsafeInterruptAsFork($){this.tell(VD(VZ($)))}addObserver($){if(this._exitValue!==null)$(this._exitValue);else this._observers.push($)}removeObserver($){this._observers=this._observers.filter((Z)=>Z!==$)}getFiberRefs(){return this.setFiberRef(Hx,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef($){this._fiberRefs=P2(this._fiberRefs,$)}getFiberRef($){if(this._fiberRefs.locals.has($))return this._fiberRefs.locals.get($)[0][1];return $.initial}setFiberRef($,Z){this._fiberRefs=e7(this._fiberRefs,{fiberId:this._fiberId,fiberRef:$,value:Z}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(T0),this.currentTracer=this.currentDefaultServices.unsafeMap.get($1.key),this.currentSupervisor=this.getFiberRef(yD),this.currentScheduler=this.getFiberRef(s9),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=f2,X=globalThis[G1];globalThis[G1]=this;try{while(Z===f2)Z=this._queue.length===0?_l:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[G1]=X}if(this._queue.length>0&&!this._running)if(this._running=!0,Z===Gx)this.drainQueueLaterOnExecutor(),$=!1;else $=!0;else $=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(o9),this)}drainQueueWhileRunning($,Z){let X=Z;while(this._queue.length>0){let J=this._queue.splice(0,1)[0];X=Fl[J._tag](this,$,X,J)}return X}isInterrupted(){return!mJ(this.getFiberRef(V5))}addInterruptedCause($){let Z=this.getFiberRef(V5);this.setFiberRef(V5,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(VD(VZ(this.id()))),$=!0;return $}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let $=this._children.values();this._children=null;let Z=!1;return t1({while:()=>!Z,body:()=>{let J=$.next();if(!J.done)return P0(J.value.await);else return E(()=>{Z=!0})},step:()=>{}})}return null}reportExitValue($){if(gK(this.currentRuntimeFlags)){let Z=this.getFiberRef(r9),X=this.id().startTimeMillis,J=Date.now();switch(Nl.unsafeUpdate(J-X,Z),Jx.unsafeUpdate(-1,Z),$._tag){case Z0:{Ol.unsafeUpdate(1,Z);break}case $0:{Bl.unsafeUpdate(1,Z);break}}}if($._tag==="Failure"){let Z=this.getFiberRef(Y2);if(!X5($.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(Ax)}log($,Z,X){let J=b$(X)?X.value:this.getFiberRef(GV),G=this.getFiberRef(AO);if(mV(G,J))return;let Y=this.getFiberRef(OH),W=this.getFiberRef(n9),H=this.getLoggers(),A=this.getFiberRefs();if(j9(H)>0){let K=r0(this.getFiberRef(T0),eZ),Q=new Date(K.unsafeCurrentTimeMillis());TF(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 mQ:return Gx;case gQ:{if(this.processNewInterruptSignal($.cause),this._asyncInterruptor!==null)this._asyncInterruptor(I$($.cause)),this._asyncInterruptor=null;return f2}case hQ:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect($.effect),f2;case bQ:return $.onFiber(this,this._exitValue!==null?WC:HC(this.currentRuntimeFlags,this._asyncBlockingOn)),f2;default:return qD($)}}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===H1){let G=D1.currentOp;if(D1.currentOp=null,G._op===F7)if(az(this.currentRuntimeFlags))this.tell(Tq()),this.tell(E5(gZ)),Z=null;else Z=gZ;else if(G._op===c4)Z=null}else{this.currentRuntimeFlags=P(this.currentRuntimeFlags,vK(oW));let G=this.interruptAllChildren();if(G!==null)Z=T(G,()=>J);else{if(this._queue.length===0)this.setExitValue(J);else this.tell(E5(J));Z=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start($){if(!this._running){this._running=!0;let Z=globalThis[G1];globalThis[G1]=this;try{this.evaluateEffect($)}finally{if(this._running=!1,globalThis[G1]=Z,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(E5($))}startFork($){this.tell(E5($))}patchRuntimeFlags($,Z){let X=y9($,Z);return globalThis[G1]=this,this.currentRuntimeFlags=X,X}initiateAsync($,Z){let X=!1,J=(G)=>{if(!X)X=!0,this.tell(E5(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!==B7)return $;$=this.popStack()}}getNextFailCont(){let $=this.popStack();while($){if($._op!==N7&&$._op!==P7&&$._op!==d4)return $;$=this.popStack()}}[MF]($){return E(()=>p8(this.currentContext,$))}["Left"]($){return R$($.left)}["None"]($){return R$(new yZ)}["Right"]($){return t$($.right)}["Some"]($){return t$($.value)}["Micro"]($){return o7((Z)=>{let X=Z,J=RC(MC($,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))}}),o7((G)=>{X=(Y)=>{G(F$)},J.unsafeInterrupt()})})}[fY]($){let Z=q0(()=>$.effect_instruction_i0()),X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in c2))qD(X);return c2[X._op](this,X,Z)}else return D1.currentOp=t$(Z),H1}[Z0]($){let Z=$,X=this.getNextSuccessCont();if(X!==void 0){if(!(X._op in c2))qD(X);return c2[X._op](this,X,Z.effect_instruction_i0)}else return D1.currentOp=Z,H1}[$0]($){let Z=$.effect_instruction_i0,X=this.getNextFailCont();if(X!==void 0)switch(X._op){case B7:case _7:if(!(F6(this.currentRuntimeFlags)&&this.isInterrupted()))return q0(()=>X.effect_instruction_i1(Z));else return I$(fJ(Z));case"OnStep":if(!(F6(this.currentRuntimeFlags)&&this.isInterrupted()))return t$(I$(Z));else return I$(fJ(Z));case KJ:if(this.patchRuntimeFlags(this.currentRuntimeFlags,X.patch),F6(this.currentRuntimeFlags)&&this.isInterrupted())return I$(a$(Z,this.getInterruptedCause()));else return I$(Z);default:qD(X)}else return D1.currentOp=I$(Z),H1}[cY]($){return q0(()=>$.effect_instruction_i0(this,jV(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=F5(G.refs,Z),H=n8(G.flags,X);return t$(m9($.effect_instruction_i0,q$((A)=>{while(J.length>0)A.pushStack(J.pop());return A.setFiberRefs(T5(A.id(),A.getFiberRefs())(W)),A.currentRuntimeFlags=y9(H)(A.currentRuntimeFlags),$.effect_instruction_i1})))}return S0((J)=>T(NX(ZH($.effect_instruction_i0)),()=>J($.effect_instruction_i1)))}["RunBlocked"]($){return Tl($.effect_instruction_i0)}[q9]($){let Z=$.effect_instruction_i0,X=this.currentRuntimeFlags,J=y9(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 aK(G,$)),q0(()=>$.effect_instruction_i1(X))}else return gZ}[N7]($){return this.pushStack($),$.effect_instruction_i0}["OnStep"]($){return this.pushStack($),$.effect_instruction_i0}[B7]($){return this.pushStack($),$.effect_instruction_i0}[_7]($){return this.pushStack($),$.effect_instruction_i0}[c4]($){return this._asyncBlockingOn=$.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,$.effect_instruction_i0),D1.currentOp=$,H1}[F7]($){return this._isYielding=!1,D1.currentOp=$,H1}[P7]($){let{effect_instruction_i0:Z,effect_instruction_i1:X}=$;if(Z())return this.pushStack($),X();else return gZ}[d4]($){return c2[d4](this,$,void 0)}[p4]($){return q0(()=>$.commit())}runLoop($){let Z=$;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&sz)!==0)this.currentSupervisor.onEffect(this,Z);if(this._queue.length>0)Z=this.drainQueueWhileRunning(this.currentRuntimeFlags,Z);if(!this._isYielding){this.currentOpCount+=1;let X=this.currentScheduler.shouldYield(this);if(X!==!1){this._isYielding=!0,this.currentOpCount=0;let J=Z;Z=T($9({priority:X}),()=>J)}}try{if(Z=this.currentTracer.context(()=>{if(zl!==Z[f9]._V){let X=this.getFiberRef(NH);if(X._tag==="Some"){let J=Z[f9]._V;this.log(`Executing an Effect versioned ${J} with a Runtime of version ${QJ()}, 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===H1){let X=D1.currentOp;if(X._op===F7||X._op===c4)return H1;return D1.currentOp=null,X._op===Z0||X._op===$0?X:I$(N0(X))}}catch(X){if(Z!==H1&&!o(Z,"_op")||!(Z._op in this))Z=r1(`Not a valid effect: ${L9(Z)}`);else if(PH(X))Z=I$(a$(N0(X),VZ(p0)));else Z=MZ(X)}}}run=()=>{this.drainQueueOnCurrentThread()}}var AO=N$("effect/FiberRef/currentMinimumLogLevel",()=>R0(fV("Info"))),Ml=($)=>TD((Z)=>{let X=hw(Z.context,T0);r0(X,t9).unsafe.log($.log(Z))});var wl=N$(Symbol.for("effect/Logger/defaultLogger"),()=>Ml(nq));var Cl=N$(Symbol.for("effect/Logger/tracerLogger"),()=>TD(({annotations:$,cause:Z,context:X,fiberId:J,logLevel:G,message:Y})=>{let W=E2(w8(i9(X,O8),bZ));if(W._tag==="None"||W.value._tag==="ExternalSpan")return;let H=p8(i9(X,T0),eZ),A={};for(let[K,Q]of $)A[K]=Q;if(A["effect.fiberId"]=zz(J),A["effect.logLevel"]=G.label,Z!==null&&Z._tag!=="Empty")A["effect.cause"]=z6(Z,{renderErrorCause:!0});W.value.event(L9(Array.isArray(Y)&&Y.length===1?Y[0]:Y),H.unsafeCurrentTimeNanos(),A)}));var Ax=N$(Symbol.for("effect/FiberRef/currentLoggers"),()=>nM(N6(wl,Cl)));var Ux=function(){if(typeof arguments[0]==="string")return RZ(n9,SZ(arguments[0],arguments[1]));let $=Object.entries(arguments[0]);return RZ(n9,Cz((Z)=>{for(let X=0;X<$.length;X++){let[J,G]=$[X];SZ(Z,J,G)}return Z}))},Kx=V(2,($,Z)=>{let X=typeof Z==="string"?fV(Z):Z;return q$((J)=>{let G=J.getFiberRef(AO);if(mV(G,X))return z(x());return I($,S)})}),v5=V(($)=>h$($[0]),($,Z)=>u9(IZ($,(X)=>J9((J)=>Z(X,J))))),Vx=V(($)=>h$($[0]),($,Z)=>j8($,J9((X)=>Z(X)))),J9=($)=>q$((Z)=>{let X=Z.getFiberRefs(),J=IK(Z.currentRuntimeFlags,P6);return T(NO,(G)=>X4(G,(Y)=>q$((W)=>{let H=W.getFiberRefs(),A=W.currentRuntimeFlags,K=F5(H,X),Q=n8(A,J),O=F5(X,H);return W.setFiberRefs(T5(K,W.id(),X)),j8(KH($(Y),Q),E(()=>{W.setFiberRefs(T5(O,W.id(),W.getFiberRefs()))}))})))}),Qx=($)=>{return C0(oJ,S(w6))($)},Yx=Symbol.for("effect/Effect/existsPar/found"),Ox=V(($)=>h8($[0])&&!h$($[0]),($,Z,X)=>z2(X?.concurrency,()=>H$(()=>Bx($[Symbol.iterator](),0,Z)),()=>i0(k8($,(J,G)=>YH(Z(J,G),{onTrue:()=>R$(Yx),onFalse:()=>F$}),X),{onFailure:(J)=>J===Yx?z(!0):R$(J),onSuccess:()=>z(!1)}))),Bx=($,Z,X)=>{let J=$.next();if(J.done)return z(!1);return T(X(J.value,Z),(G)=>G?z(G):Bx($,Z+1,X))},Nx=V(($)=>h8($[0])&&!h$($[0]),($,Z,X)=>{let J=X?.negate?(G,Y)=>I(Z(G,Y),qw):Z;return z2(X?.concurrency,()=>H$(()=>_$($).reduceRight((G,Y,W)=>aZ(G,H$(()=>J(Y,W)),(H,A)=>A?[Y,...H]:H),E(()=>[]))),()=>I(k8($,(G,Y)=>I(J(G,Y),(W)=>W?S(G):x()),X),HT))}),Rl=($)=>{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})]},Ll=($,Z,X)=>{let J=[];for(let G of $)J.push(r8(G));return T(k8(J,z$,{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"?z(Z.value(A)):z(A)})},ql=($,Z,X)=>{let J=[];for(let G of $)J.push(r8(G));if(X?.discard)return k8(J,z$,{concurrency:X?.concurrency,batching:X?.batching,discard:!0,concurrentFinalizers:X?.concurrentFinalizers});return I(k8(J,z$,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),(G)=>Z._tag==="Some"?Z.value(G):G)},O4=($,Z)=>{let[X,J]=Rl($);if(Z?.mode==="validate")return Ll(X,J,Z);else if(Z?.mode==="either")return ql(X,J,Z);return Z?.discard!==!0&&J._tag==="Some"?I(k8(X,z$,Z),J.value):k8(X,z$,Z)},_x=($)=>(Z)=>O4(Z,$),Px=($,Z)=>I(O4(_$($).map(U0),Z),w7((X)=>U2(X)?S(X.effect_instruction_i0):x())),UO=V(2,($,Z)=>Array.from({length:Z},()=>$)),Fx=V(($)=>h$($[0]),($,Z,X)=>O4(UO($,Z),X)),k8=V(($)=>h8($[0]),($,Z,X)=>q$((J)=>{let G=X?.batching===!0||X?.batching==="inherit"&&J.getFiberRef(G2);if(X?.discard)return XQ(X.concurrency,()=>I5(EH,X?.concurrentFinalizers)((Y)=>G?A1($,(W,H)=>Y(Z(W,H)),!0,!1,1):R8($,(W,H)=>Y(Z(W,H)))),()=>I5(xH,X?.concurrentFinalizers)((Y)=>A1($,(W,H)=>Y(Z(W,H)),G,!1)),(Y)=>I5(SH(Y),X?.concurrentFinalizers)((W)=>A1($,(H,A)=>W(Z(H,A)),G,!1,Y)));return XQ(X?.concurrency,()=>I5(EH,X?.concurrentFinalizers)((Y)=>G?DO($,1,(W,H)=>Y(Z(W,H)),!0):QZ($,(W,H)=>Y(Z(W,H)))),()=>I5(xH,X?.concurrentFinalizers)((Y)=>ED($,(W,H)=>Y(Z(W,H)),G)),(Y)=>I5(SH(Y),X?.concurrentFinalizers)((W)=>DO($,Y,(H,A)=>W(Z(H,A)),G)))})),ED=($,Z,X)=>H$(()=>{let J=_$($),G=Array(J.length);return x$(A1(J,(W,H)=>T(Z(W,H),(A)=>E(()=>G[H]=A)),X,!1),z(G))}),A1=($,Z,X,J,G)=>S0((Y)=>AH((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$=u9(W(l)),K$=El(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()},j=X?GH:U0,X$=C$(kZ((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 z0=A.pop();return J0=Q++,T($9(),()=>T(j(Y(Z(z0,J0))),o$))},o$=(z0)=>{if(A.length>0){if(O$(z0,J0),A.length>0)return K0()}return z(z0)},qZ=T(j(Y(Z(K$,J0))),o$),$$=C$(qZ);if(m.push($$),F.add($$),O)$$.currentScheduler.scheduleTask(()=>{$$.unsafeInterruptAsFork(H.id())},0,$$);$$.addObserver((z0)=>{let m0;if(z0._op==="Failure")m0=z0;else m0=z0.effect_instruction_i0;if(V$.push($$),F.delete($$),O$(m0,J0),M.length===K)l(z(c0(J4(G$(),{parallel:!0}),()=>gZ)));else if(e.length+M.length===K){let oZ=G$(),K6=e.map((P9)=>P9.effect_instruction_i0).reduce(pK);l(z(m9(K6,A1([c0(J4(oZ,{parallel:!0}),()=>gZ),...e.map((P9)=>P9.effect_instruction_i1)],(P9)=>P9,X,!0,G))))}else v$()})}};for(let K$=0;K$<_;K$++)v$()}));return P0(sZ(jZ(Y(BZ(X$))),_5({onFailure:(l)=>{d$();let O$=e.length+1,v$=Math.min(typeof G==="number"?G:e.length,e.length),K$=Array.from(e);return kZ((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)z0()},z0=()=>{C$(K$.pop(),!0).addObserver($$(qZ,!0)),qZ++};X$.addObserver($$(qZ,!1)),qZ++;for(let m0=0;m0<v$;m0++)z0()})},onSuccess:()=>QZ(V$,(l)=>l.inheritAll)})))}))),DO=($,Z,X,J)=>H$(()=>{let G=_$($),Y=Array(G.length);return x$(A1(G,(H,A)=>I(X(H,A),(K)=>Y[A]=K),J,!1,Z),z(Y))}),U1=($)=>q$((Z,X)=>z(p2($,Z,X.runtimeFlags))),NX=($)=>xl($,w6),Tx=V(2,($,Z)=>U1(DH($,(X)=>{let J=T6(X);switch(J._tag){case"Left":return Z(J.left);case"Right":return L$(J.right)}}))),p2=($,Z,X,J=null)=>{let G=xD($,Z,X,J);return G.resume($),G},El=($,Z,X,J=null)=>{return xD($,Z,X,J)},xD=($,Z,X,J=null)=>{let G=vW(),Y=Z.getFiberRefs(),W=LV(Y,G),H=new jD(G,W,X),A=i9(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(oJ),c0(()=>Z.scope()))).add(X,H),H},xl=($,Z)=>q$((X,J)=>z(p2($,X,J.runtimeFlags,Z))),KO=V(($)=>b8($[2]),($,Z,X,J)=>z2(J?.concurrency,()=>_$($).reduce((G,Y,W)=>aZ(G,Y,(H,A)=>X(H,A,W)),z(Z)),()=>T(rH(Z),(G)=>T(k8($,(Y,W)=>T(Y,(H)=>SC(G,(A)=>X(A,H,W))),J),()=>lH(G))))),VO=V(($)=>h8($[0]),($,Z,X)=>P(k8($,(J,G)=>r8(Z(J,G)),X),I((J)=>gM(J,z$)))),zx=V(($)=>h8($[0]),($,Z,X)=>T(VO($,Z,{concurrency:X?.concurrency,batching:X?.batching,concurrentFinalizers:X?.concurrentFinalizers}),([J,G])=>tY(J)?R$(J):X?.discard?F$:z(G))),Mx=($)=>q$((Z,X)=>kZ((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=p2(d9(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$(PD(Y),Y.unsafePoll()):L$(W))}),Y)break}if(K)return J(C8(()=>new i8("Received an empty collection of effects")));return A=!0,k2(G,Z.id())})),wx=V(($)=>h8($[0])&&!h$($[0]),($,Z,X,J)=>z2(J?.concurrency,()=>_$($).reduce((G,Y,W)=>aZ(G,Y,(H,A)=>X(H,A,W)),Z),()=>H$(()=>P(KO([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}}))))),SD=($)=>E8((Z)=>f0(w8(Z,Y9),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Parallel":return $;case"Sequential":case"ParallelN":return T(q8(X,xH),(J)=>W9($,J))}}})),Wx=($)=>(Z)=>E8((X)=>f0(w8(X,Y9),{onNone:()=>Z,onSome:(J)=>{if(J.strategy._tag==="ParallelN"&&J.strategy.parallelism===$)return Z;return T(q8(J,SH($)),(G)=>W9(Z,G))}})),Cx=($)=>(Z)=>I5($,!0)(Z),I5=($,Z)=>(X)=>E8((J)=>f0(w8(J,Y9),{onNone:()=>X(z$),onSome:(G)=>{if(Z===!0){let Y=$._tag==="Parallel"?SD:$._tag==="Sequential"?kD:Wx($.parallelism);switch(G.strategy._tag){case"Parallel":return Y(X(SD));case"Sequential":return Y(X(kD));case"ParallelN":return Y(X(Wx(G.strategy.parallelism)))}}else return X(z$)}})),$6=($)=>T(Y9,$),d2=($)=>T(y5(),(Z)=>sZ($(Z),(X)=>Z.close(X))),ID=($)=>T(y5(),(Z)=>_O($,Z)),kD=($)=>E8((Z)=>f0(w8(Z,Y9),{onNone:()=>$,onSome:(X)=>{switch(X.strategy._tag){case"Sequential":return $;case"Parallel":case"ParallelN":return T(q8(X,EH),(J)=>W9($,J))}}})),Rx=($,Z)=>QO([C5($,Z)]),QO=($)=>RZ(r9,(Z)=>O6(Z,$)),Lx=V(2,($,Z)=>d2((X)=>T(W9($,X),Z))),qx=V(($)=>h$($[1]),($,Z,X)=>OO($,Z,(J,G)=>[J,G],X)),OO=V(($)=>h$($[1]),($,Z,X,J)=>jZ(G9(U0($),U0(Z),(G,Y)=>s8(G,Y,{onSuccess:X,onFailure:(W,H)=>J?.concurrent?_0(W,H):a$(W,H)}),J)));var Ex=V(($)=>h8($[0]),($,Z,X)=>i1(k8($,(J,G)=>i1(Z(J,G)),X))),xx=($)=>RZ(T0,s$(eZ,$)),Sx=($)=>RZ(T0,s$(e9,$)),vD=($)=>RZ(T0,s$(GX,$)),kx=($)=>$6((Z)=>T(q8(Z,a8),(X)=>P($,W9(X),I((J)=>[Q8((G)=>Q5(X,K2(G))),J])))),jx=V(($)=>h$($[1]),($,Z,X)=>G9($,Z,(J,G)=>[J,G],X)),Ix=V(($)=>h$($[1]),($,Z,X)=>{if(X?.concurrent!==!0&&(X?.batching===void 0||X.batching===!1))return U5($,Z);return G9($,Z,(J,G)=>J,X)}),vx=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(O4([$,Z],{concurrency:J?.concurrent?2:1,batching:J?.batching,concurrentFinalizers:J?.concurrentFinalizers}),([G,Y])=>X(G,Y))),BO=($)=>{if($===ez)return F$;return P(n7,T((Z)=>{let X=y9(Z,$),J=n8(X,Z);return P(a1($),x$(J9(()=>a1(J))),P0)}),u9)},Y9=YZ("effect/Scope"),NO=Y9,Sl=($,Z)=>{if($.state._tag==="Open")$.state.finalizers.set({},Z)},kl={[H2]:H2,[D2]:D2,pipe(){return r(this,arguments)},fork($){return E(()=>{let Z=yx($);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),Sl(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 MV(this.strategy)?P(QZ(Z,(X)=>U0(X($))),T((X)=>P(J4(X),E0(a7),c0(()=>gZ)))):wV(this.strategy)?P(ED(Z,(X)=>U0(X($)),!1),T((X)=>P(J4(X,{parallel:!0}),E0(a7),c0(()=>gZ)))):P(DO(Z,this.strategy.parallelism,(X)=>U0(X($)),!1),T((X)=>P(J4(X,{parallel:!0}),E0(a7),c0(()=>gZ))))})},addFinalizer($){return H$(()=>{if(this.state._tag==="Closed")return $(this.state.exit);return this.state.finalizers.set({},$),F$})}},yx=($=a8)=>{let Z=Object.create(kl);return Z.strategy=$,Z.state={_tag:"Open",finalizers:new Map},Z},y5=($=a8)=>E(()=>yx($)),W9=V(2,($,Z)=>Y4($,d8(D8(Y9,Z)))),_O=V(2,($,Z)=>P($,W9(Z),sZ((X)=>Z.close(X)))),jl=($)=>K5($,{differ:Xx,fork:BX}),mZ=V(2,($,Z)=>P0(v5(T(L8($),(X)=>n$(W5($,Z),X)),(X)=>W5($,X)))),RZ=V(2,($,Z)=>wZ($,(X)=>mZ($,Z(X))));var Hx=rM(tz),yD=jl(j5),gD=($)=>k8($,ND),_X=($)=>{return{...RH,commit(){return BZ(this)},[J1]:OX,id:()=>_$($).reduce((X,J)=>K8(X,J.id()),p0),await:U0(ED($,(X)=>jZ(X.await),!1)),children:I(ED($,(X)=>X.children,!1),eY),inheritAll:R8($,(X)=>X.inheritAll),poll:I(QZ($,(X)=>X.poll),$W(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))}},gx=($)=>P0(NX($4($))),bx=($)=>BZ(_X($)),hx=($)=>v5(z($),$4),PO=V(3,($,Z,X)=>FO($,Z,{onSelfWin:(J,G)=>T(J.await,(Y)=>{switch(Y._tag){case Z0:return T(J.inheritAll,()=>X.onSelfDone(Y,G));case $0:return X.onSelfDone(Y,G)}}),onOtherWin:(J,G)=>T(J.await,(Y)=>{switch(Y._tag){case Z0:return T(J.inheritAll,()=>X.onOtherDone(Y,G));case $0:return X.onOtherDone(Y,G)}})})),mx=($)=>S0((Z)=>Q8((X)=>T(NX(Z($)),(J)=>P(Z(BZ(J)),e6(()=>P(J,FD(X))))))),bD=V(2,($,Z)=>Q8((X)=>PO($,Z,{onSelfDone:(J,G)=>P5(J,{onFailure:(Y)=>P(BZ(G),KX((W)=>_0(Y,W))),onSuccess:(Y)=>P(G,vZ(X),n$(Y))}),onOtherDone:(J,G)=>P5(J,{onFailure:(Y)=>P(BZ(G),KX((W)=>_0(W,Y))),onSuccess:(Y)=>P(G,vZ(X),n$(Y))})}))),FO=V(3,($,Z,X)=>q$((J,G)=>{let Y=G.runtimeFlags,W=o6(!0),H=xD($,J,Y,X.selfScope),A=xD(Z,J,Y,X.otherScope);return kZ((K)=>{H.addObserver(()=>Dx(H,A,X.onSelfWin,W,K)),A.addObserver(()=>Dx(A,H,X.onOtherWin,W,K)),H.startFork($),A.startFork(Z)},K8(H.id(),A.id()))})),Dx=($,Z,X,J,G)=>{if(CW(!0,!1)(J))G(X($,Z))},j8=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)}))),Il=($,Z,X)=>Q8((J)=>j8(T(NX(d9($)),(G)=>kZ((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"&&N5(K.result.state.current.effect)&&K.result.state.current.effect._tag==="Failure"&&h7(K.result.state.current.effect.cause))return!0;else return!1}))A.forEach((K)=>K()),X?.(),Y($4(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)=>YO(Y.request,K2(J)))})));var e8=($,Z)=>{return Z=x8(Z),u9(q$((X)=>{let J=p8(X.getFiberRef(O8),Y9),G=KD(X,$,Z),Y=X.getFiberRef(Z4),W=r0(X.getFiberRef(T0),eZ);return n$(X4(J,(H)=>vQ(G,H,W,Y)),G)}))},hD=($)=>RZ(T0,s$($1,$)),fx=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=x8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return T(e8(Z,x8(X)),(G)=>V4(J,bZ,G))}return(J)=>T(e8(Z,x8(X)),(G)=>V4(J,bZ,G))};var vl=H2,yl=D2,TO=Y9,gl=A2,bl=X4,zO=Q5,hl=W9,MO=q8,ml=_O,fl=y5;var a={};F8(a,{zipWith:()=>Hv,zipRight:()=>C8$,zipLeft:()=>w8$,zip:()=>M8$,yieldNow:()=>Pe,withUnhandledErrorLogLevel:()=>dZ$,withTracerTiming:()=>m8$,withTracerScoped:()=>b8$,withTracerEnabled:()=>h8$,withTracer:()=>g8$,withSpanScoped:()=>e8$,withSpan:()=>Dv,withSchedulingPriority:()=>o$$,withScheduler:()=>u$$,withRuntimeFlagsPatchScoped:()=>G8$,withRuntimeFlagsPatch:()=>J8$,withRequestCaching:()=>j8$,withRequestCache:()=>I8$,withRequestBatching:()=>k8$,withRandomScoped:()=>$8$,withRandomFixed:()=>eZ$,withRandom:()=>Wv,withParentSpan:()=>$6$,withMetric:()=>U8$,withMaxOpsBeforeYield:()=>n$$,withLogSpan:()=>mZ$,withFiberRuntime:()=>N1,withExecutionPlan:()=>ge,withEarlyRelease:()=>R$$,withConsoleScoped:()=>e$$,withConsole:()=>$0$,withConfigProviderScoped:()=>V0$,withConfigProvider:()=>K0$,withConcurrency:()=>d$$,withClockScoped:()=>i$$,withClock:()=>s$$,whileLoop:()=>wG,whenRef:()=>l0$,whenLogLevel:()=>uZ$,whenFiberRef:()=>r0$,whenEffect:()=>n0$,when:()=>o0$,void:()=>_1,validateWith:()=>z8$,validateFirst:()=>Ge,validateAll:()=>Je,validate:()=>T8$,using:()=>C$$,useSpan:()=>a8$,updateService:()=>q0$,updateFiberRefs:()=>CZ$,unsandbox:()=>pe,unsafeMakeSemaphore:()=>K8$,unsafeMakeLatch:()=>Q8$,unlessEffect:()=>u0$,unless:()=>d0$,uninterruptibleMask:()=>ae,uninterruptible:()=>se,tryPromise:()=>ce,tryMapPromise:()=>fe,tryMap:()=>me,try:()=>he,transposeOption:()=>J6$,transposeMapOption:()=>G6$,transplant:()=>p$$,tracerWith:()=>y8$,tracer:()=>v8$,timeoutTo:()=>A0$,timeoutOption:()=>W0$,timeoutFailCause:()=>D0$,timeoutFail:()=>H0$,timeout:()=>Y0$,timedWith:()=>G0$,timed:()=>J0$,tapErrorTag:()=>YZ$,tapErrorCause:()=>WZ$,tapError:()=>GZ$,tapDefect:()=>JZ$,tapBoth:()=>XZ$,tap:()=>eB,takeWhile:()=>pt,takeUntil:()=>ct,tagMetricsScoped:()=>H8$,tagMetrics:()=>Y8$,sync:()=>U9,suspend:()=>aB,supervised:()=>c$$,summarized:()=>ZZ$,succeedSome:()=>_e,succeedNone:()=>sB,succeed:()=>iB,step:()=>E8$,spanLinks:()=>n8$,spanAnnotations:()=>o8$,sleep:()=>X0$,setFiberRefs:()=>wZ$,serviceOptional:()=>L0$,serviceOption:()=>R0$,serviceMembers:()=>C0$,serviceFunctions:()=>M0$,serviceFunctionEffect:()=>z0$,serviceFunction:()=>T0$,serviceConstants:()=>w0$,sequentialFinalizers:()=>P$$,scopedWith:()=>M$$,scoped:()=>w$$,scopeWith:()=>z$$,scope:()=>T$$,scheduleFrom:()=>BZ$,scheduleForked:()=>OZ$,schedule:()=>QZ$,sandbox:()=>ve,runtime:()=>CG,runSyncExit:()=>F8$,runSync:()=>P8$,runRequestBlock:()=>q8$,runPromiseExit:()=>_8$,runPromise:()=>N8$,runFork:()=>RG,runCallback:()=>B8$,retryOrElse:()=>be,retry:()=>ye,request:()=>x8$,replicateEffect:()=>Xe,replicate:()=>Ze,repeatOrElse:()=>VZ$,repeatN:()=>KZ$,repeat:()=>UZ$,reduceWhile:()=>tt,reduceRight:()=>et,reduceEffect:()=>$e,reduce:()=>at,randomWith:()=>tZ$,random:()=>aZ$,raceWith:()=>$Z$,raceFirst:()=>e0$,raceAll:()=>t0$,race:()=>a0$,provideServiceEffect:()=>F0$,provideService:()=>P0$,provide:()=>_0$,promise:()=>Ne,patchRuntimeFlags:()=>X8$,patchFiberRefs:()=>MZ$,partition:()=>st,parallelFinalizers:()=>_$$,parallelErrors:()=>Ie,orElseSucceed:()=>iZ$,orElseFail:()=>lZ$,orElse:()=>rZ$,orDieWith:()=>nZ$,orDie:()=>oZ$,optionFromOptional:()=>X6$,option:()=>I0$,once:()=>yt,onInterrupt:()=>ie,onExit:()=>N$$,onError:()=>B$$,none:()=>Be,never:()=>Oe,negate:()=>U$$,metricLabels:()=>A8$,mergeAll:()=>it,merge:()=>A$$,matchEffect:()=>SZ$,matchCauseEffect:()=>xZ$,matchCause:()=>EZ$,match:()=>qZ$,mapInputContext:()=>N0$,mapErrorCause:()=>D$$,mapError:()=>H$$,mapBoth:()=>W$$,mapAccum:()=>Y$$,map:()=>Z8,makeSpanScoped:()=>s8$,makeSpan:()=>i8$,makeSemaphore:()=>V8$,makeLatch:()=>O8$,loop:()=>AZ$,logWithLevel:()=>jZ$,logWarning:()=>gZ$,logTrace:()=>IZ$,logInfo:()=>yZ$,logFatal:()=>hZ$,logError:()=>bZ$,logDebug:()=>vZ$,logAnnotations:()=>pZ$,log:()=>kZ$,locallyWith:()=>FZ$,locallyScopedWith:()=>zZ$,locallyScoped:()=>TZ$,locally:()=>PZ$,linkSpans:()=>r8$,linkSpanCurrent:()=>l8$,liftPredicate:()=>te,let:()=>j0$,labelMetricsScoped:()=>D8$,labelMetrics:()=>W8$,iterate:()=>DZ$,isSuccess:()=>LZ$,isFailure:()=>RZ$,isEffect:()=>FG,intoDeferred:()=>MG,interruptibleMask:()=>le,interruptible:()=>re,interruptWith:()=>ne,interrupt:()=>SX,inheritFiberRefs:()=>_Z$,ignoreLogged:()=>je,ignore:()=>ke,if:()=>g0$,head:()=>lt,getRuntimeFlags:()=>Z8$,getFiberRefs:()=>NZ$,gen:()=>Qe,functionWithSpan:()=>t8$,fromNullable:()=>Z6$,fromFiberEffect:()=>f$$,fromFiber:()=>m$$,forkWithErrorHandler:()=>h$$,forkScoped:()=>b$$,forkIn:()=>g$$,forkDaemon:()=>tB,forkAll:()=>y$$,fork:()=>v$$,forever:()=>HZ$,forEach:()=>TG,fnUntraced:()=>D6$,fn:()=>H6$,flipWith:()=>G$$,flip:()=>J$$,flatten:()=>s0$,flatMap:()=>u5,firstSuccessOf:()=>sZ$,findFirst:()=>rt,finalizersMask:()=>F$$,filterOrFail:()=>f0$,filterOrElse:()=>m0$,filterOrDieMessage:()=>h0$,filterOrDie:()=>b0$,filterMap:()=>nt,filterEffectOrFail:()=>p0$,filterEffectOrElse:()=>c0$,filter:()=>ot,fiberIdWith:()=>kX,fiberId:()=>I$$,failSync:()=>Ae,failCauseSync:()=>Ue,failCause:()=>Yv,fail:()=>De,exit:()=>y0$,exists:()=>ut,every:()=>dt,eventually:()=>Se,ensuringChildren:()=>j$$,ensuringChild:()=>k$$,ensuring:()=>O$$,ensureSuccessType:()=>A6$,ensureRequirementsType:()=>K6$,ensureErrorType:()=>U6$,either:()=>v0$,dropWhile:()=>ft,dropUntil:()=>mt,disconnect:()=>oe,diffFiberRefs:()=>S$$,dieSync:()=>Ve,dieMessage:()=>Ke,die:()=>lB,descriptorWith:()=>x$$,descriptor:()=>E$$,delay:()=>Z0$,daemonChildren:()=>q$$,custom:()=>He,currentSpan:()=>p8$,currentPropagatedSpan:()=>d8$,currentParentSpan:()=>u8$,contextWithEffect:()=>B0$,contextWith:()=>O0$,context:()=>Q0$,consoleWith:()=>t$$,console:()=>a$$,configProviderWith:()=>U0$,clockWith:()=>l$$,clock:()=>r$$,checkInterruptible:()=>ue,cause:()=>xe,catchTags:()=>Ee,catchTag:()=>qe,catchSomeDefect:()=>Le,catchSomeCause:()=>Re,catchSome:()=>Ce,catchIf:()=>we,catchAllDefect:()=>Me,catchAllCause:()=>ze,catchAll:()=>Te,catch:()=>Fe,cachedWithTTL:()=>kt,cachedInvalidateWithTTL:()=>jt,cachedFunction:()=>vt,cached:()=>It,cacheRequestResult:()=>S8$,blocked:()=>L8$,bindTo:()=>k0$,bindAll:()=>S0$,bind:()=>x0$,awaitAllChildren:()=>L$$,asyncEffect:()=>We,async:()=>Ye,asVoid:()=>X$$,asSomeError:()=>Z$$,asSome:()=>$$$,as:()=>ee,ap:()=>R8$,annotateSpans:()=>f8$,annotateLogsScoped:()=>cZ$,annotateLogs:()=>fZ$,annotateCurrentSpan:()=>c8$,andThen:()=>i0$,allowInterrupt:()=>de,allWith:()=>bt,allSuccesses:()=>ht,all:()=>gt,addFinalizer:()=>Q$$,acquireUseRelease:()=>V$$,acquireReleaseInterruptible:()=>K$$,acquireRelease:()=>zG,Tag:()=>Y6$,Service:()=>W6$,EffectTypeId:()=>St,Do:()=>E0$});var Z6={};F8(Z6,{stripSomeDefects:()=>wi,stripFailures:()=>Mi,squashWith:()=>Si,squash:()=>o2,size:()=>Di,sequential:()=>$i,reduceWithContext:()=>n2,reduce:()=>vi,prettyErrors:()=>ii,pretty:()=>li,parallel:()=>el,originalError:()=>si,match:()=>Ii,map:()=>Ri,linearize:()=>zi,keepDefects:()=>Ti,isUnknownException:()=>oi,isTimeoutException:()=>di,isSequentialType:()=>Wi,isRuntimeException:()=>ci,isParallelType:()=>Hi,isNoSuchElementException:()=>mi,isInterruptedOnly:()=>u2,isInterruptedException:()=>gi,isInterrupted:()=>Vi,isInterruptType:()=>Yi,isIllegalArgumentException:()=>bi,isFailure:()=>Ui,isFailType:()=>Ji,isExceededCapacityException:()=>ri,isEmptyType:()=>Xi,isEmpty:()=>Ai,isDieType:()=>Gi,isDie:()=>Ki,isCause:()=>Zi,interruptors:()=>Bi,interruptOption:()=>Fi,interrupt:()=>tl,flipCauseOption:()=>_i,flatten:()=>Ei,flatMap:()=>Li,find:()=>ki,filter:()=>ji,failures:()=>Qi,failureOrCause:()=>wO,failureOption:()=>Ni,fail:()=>mD,empty:()=>al,dieOption:()=>Pi,die:()=>fD,defects:()=>Oi,contains:()=>xi,as:()=>Ci,andThen:()=>qi,YieldableError:()=>sl,UnknownExceptionTypeId:()=>il,UnknownException:()=>ui,TimeoutExceptionTypeId:()=>ll,TimeoutException:()=>pi,RuntimeExceptionTypeId:()=>pl,RuntimeException:()=>fi,NoSuchElementExceptionTypeId:()=>ol,NoSuchElementException:()=>hi,InvalidPubSubCapacityExceptionTypeId:()=>nl,InterruptedExceptionTypeId:()=>dl,InterruptedException:()=>yi,IllegalArgumentExceptionTypeId:()=>ul,IllegalArgumentException:()=>r2,ExceededCapacityExceptionTypeId:()=>rl,ExceededCapacityException:()=>ni,CauseTypeId:()=>cl});var cl=iW,pl=nJ,dl=rJ,ul=lJ,ol=iJ,nl=$H,rl=sJ,ll=aJ,il=tJ,sl=s7,al=d0,mD=V8,fD=N0,tl=VZ,el=_0,$i=a$,Zi=hJ,Xi=sW,Ji=UM,Gi=Z5,Yi=KM,Wi=VM,Hi=QM,Di=OM,Ai=mJ,Ui=BM,Ki=NM,Vi=h7,u2=X5,Qi=m7,Oi=f7,Bi=J5,Ni=c7,wO=T6,_i=_M,Pi=lK,Fi=iK,Ti=aW,zi=FM,Mi=fJ,wi=zM,Ci=MM,Ri=p7,Li=g7,qi=wM,Ei=tW,xi=CM,o2=aM,Si=WV,ki=i6,ji=LM,Ii=s6,vi=b9,n2=G5,yi=DV,gi=PH,r2=i8,bi=eM,hi=yZ,mi=FH,fi=HV,ci=tM,pi=AV,di=Jw,ui=B5,oi=Gw,ni=$w,ri=Zw,li=z6,ii=d7,si=vM;var ai="effect/ScheduleInterval",l2=Symbol.for(ai),CO={[l2]:l2,startMillis:0,endMillis:0},cD=($,Z)=>{if($>Z)return CO;return{[l2]:l2,startMillis:$,endMillis:Z}},cx=V(2,($,Z)=>px($,Z)===$),px=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 dx=($)=>{return $.startMillis>=$.endMillis};var ux=V(2,($,Z)=>{let X=Math.max($.startMillis,Z.startMillis),J=Math.min($.endMillis,Z.endMillis);return cD(X,J)}),ox=($)=>{return xZ($.endMillis-$.startMillis)};var nx=($)=>{return cD($,Number.POSITIVE_INFINITY)};var $8=cD,RO=CO,rx=cx;var lx=dx;var ix=ux,sx=ox;var C6=nx;var ei="effect/ScheduleIntervals",LO=Symbol.for(ei),dD=($)=>{return{[LO]:LO,intervals:$}};var ex=V(2,($,Z)=>{if(!W0(Z.intervals))return $;if(!W0($.intervals))return Z;if(y$($.intervals).startMillis<y$(Z.intervals).startMillis)return tx(H0($.intervals),Z.intervals,y$($.intervals),w0());return tx($.intervals,H0(Z.intervals),y$(Z.intervals),w0())}),tx=($,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)&&ZW(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(C9("Intervals.unionLoop"));return dD(P(H,V0(W),z8))},$S=V(2,($,Z)=>$s($.intervals,Z.intervals,w0())),$s=($,Z,X)=>{let J=$,G=Z,Y=X;while(W0(J)&&W0(G)){let W=P(y$(J),ix(y$(G))),H=lx(W)?Y:P(Y,V0(W));if(P(y$(J),rx(y$(G))))J=H0(J);else G=H0(G);Y=H}return dD(z8(Y))},pD=($)=>{return P($.intervals,MJ,c0(()=>RO)).startMillis},ZS=($)=>{return P($.intervals,MJ,c0(()=>RO)).endMillis},qO=V(2,($,Z)=>pD($)<pD(Z)),XS=($)=>{return W0($.intervals)},JS=V(2,($,Z)=>qO($,Z)?Z:$);var GS=dD;var EO=ex,YS=$S,B4=pD,uD=ZS,WS=qO,HS=XS,DS=JS;var SO="Continue",AS="Done",US=($)=>{return{_tag:SO,intervals:$}},KS=($)=>{return{_tag:SO,intervals:GS(x0($))}},VS={_tag:AS},QS=($)=>{return $._tag===SO},OS=($)=>{return $._tag===AS};var g5=US;var a0=KS,I8=VS,V1=QS,DZ=OS;class _S{permits;waiters=new Set;taken=0;constructor($){this.permits=$}get free(){return this.permits-this.taken}take=($)=>$2((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+=$,z($)}))};return this.waiters.add(X),E(()=>{this.waiters.delete(X)})}Z(H$(()=>{if(this.free<$)return this.take($);return this.taken+=$,z($)}))});updateTakenUnsafe($,Z){if(this.taken=Z(this.taken),this.waiters.size>0)$.getFiberRef(s9).scheduleTask(()=>{let X=this.waiters.values(),J=X.next();while(J.done===!1&&this.free>0)J.value(),J=X.next()},$.getFiberRef(o9),$);return z(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)=>T(X(this.take($)),(J)=>j8(X(Z),this.release(J))));withPermitsIfAvailable=($)=>(Z)=>S0((X)=>H$(()=>{if(this.free<$)return q5;return this.taken+=$,j8(X(AX(Z)),this.release($))}))}var oD=($)=>new _S($),PS=($)=>E(()=>oD($));class FS extends H4{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(o9),$),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=$2(($)=>{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 IO=($)=>new FS($??!1),TS=($)=>E(()=>IO($)),zS=($)=>nD($,gD),MS=V(2,($,Z)=>I(vO($,Z),(X)=>X[0])),vO=V(2,($,Z)=>{let X=G0(Z);return T(N8(),(J)=>I(lD(x()),(G)=>[tZ(Js($,X,G),J),Gs(G)]))}),NS=($,Z,X)=>{let J=zZ(G0(Z));return P(B8(),IZ((G)=>t6($,G)),I((G)=>S([X+J,G])))},Js=($,Z,X)=>S0((J)=>P(X9((G)=>G.currentTimeMillis),T((G)=>Ds(X,(Y)=>{switch(Y._tag){case"None":return S(NS($,Z,G));case"Some":{let[W]=Y.value;return W-G<=0?S(NS($,Z,G)):x()}}})),T((G)=>k$(G)?r1("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):J(WZ(G.value[1]))))),Gs=($)=>Z9($,x()),wS=V(2,($,Z)=>nD($,(X)=>Z(_X(X)))),nD=V(2,($,Z)=>T(sE,(X)=>P(gO($,X),j8(T(X.value,Z))))),CS=V(($)=>h8($[0]),($,Z)=>Z?.discard?R8($,U1):I(QZ($,U1),_X)),yO=V(2,($,Z)=>q$((X,J)=>{let G=Z,Y=p2($,X,J.runtimeFlags,w6);if(G.state._tag==="Open"){let W=()=>Q8((A)=>i(A,Y.id())?F$:P0($4(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 z(Y)})),rD=($)=>$6((Z)=>yO($,Z)),RS=($)=>BZ($),LS=($)=>H$(()=>T($,BZ)),kO=Symbol.for("effect/Effect/memoizeFunction.key");class jO{a;eq;[kO]=kO;constructor($,Z){this.a=$,this.eq=Z}[J$]($){if(o($,kO))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 qS=($,Z)=>{return P(E(()=>Y1()),T(lD),I((X)=>(J)=>P(X.modifyEffect((G)=>{let Y=P(G,O0(new jO(J,Z)));if(k$(Y))return P(B8(),IZ((W)=>P(UX($(J)),t6(W),U1)),I((W)=>[W,P(G,hZ(new jO(J,Z),W))]));return z([Y.value,G])}),T(WZ),T(([G,Y])=>P(R5(G),n$(Y))))))},ES=V(2,($,Z)=>P(U0($),bD(U0(Z)),(X)=>jZ(X))),gO=V(2,($,Z)=>{return s0(yD,(J)=>J.zip(Z))($)}),xS=V(2,($,Z)=>bO($,{onTimeout:()=>Xw(Z),duration:Z})),bO=V(2,($,{duration:Z,onTimeout:X})=>jZ(i2($,{onTimeout:()=>l8(X),onSuccess:z,duration:Z}))),SS=V(2,($,{duration:Z,onTimeout:X})=>jZ(i2($,{onTimeout:()=>c9(X),onSuccess:z,duration:Z}))),kS=V(2,($,Z)=>i2($,{duration:Z,onSuccess:S,onTimeout:x})),i2=V(2,($,{duration:Z,onSuccess:X,onTimeout:J})=>Q8((G)=>S0((Y)=>FO(Y($),d9(L5(Z)),{onSelfWin:(W,H)=>T(W.await,(A)=>{if(A._tag==="Success")return T(W.inheritAll,()=>n$(vZ(H,G),X(A.value)));else return T(vZ(H,G),()=>I$(A.cause))}),onOtherWin:(W,H)=>T(W.await,(A)=>{if(A._tag==="Success")return T(W.inheritAll,()=>n$(vZ(H,G),J()));else return T(vZ(H,G),()=>I$(A.cause))}),otherScope:w6})))),Ys="effect/Ref/SynchronizedRef",Ws=Symbol.for(Ys),Hs={_A:($)=>$};class jS extends H4{ref;withLock;[Ws]=Hs;[oH]=sV;[A4]=A4;constructor($,Z){super();this.ref=$,this.withLock=Z,this.get=CZ(this.ref)}get;commit(){return this.get}modify($){return this.modifyEffect((Z)=>z($(Z)))}modifyEffect($){return this.withLock(P(T(CZ(this.ref),$),T(([Z,X])=>n$(Z9(this.ref,X),Z))))}}var lD=($)=>E(()=>hO($)),hO=($)=>{let Z=XX($),X=oD(1);return new jS(Z,X.withPermits(1))},Ds=V(2,($,Z)=>$.modifyEffect((X)=>{let J=Z(X);switch(J._tag){case"None":return z([X,X]);case"Some":return I(J.value,(G)=>[G,G])}})),IS=V(2,($,Z)=>s2($,Z,(X,J)=>[X,J])),vS=V(2,($,Z)=>s2($,Z,(X,J)=>X)),yS=V(2,($,Z)=>s2($,Z,(X,J)=>J)),s2=V(3,($,Z,X)=>({...RH,commit(){return BZ(this)},[J1]:OX,id:()=>P($.id(),jW(Z.id())),await:P($.await,jZ,G9(jZ(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)=>zV(Y,W,{onSuccess:X,onFailure:_0})))))),interruptAsFork:(J)=>x$($.interruptAsFork(J),Z.interruptAsFork(J)),pipe(){return r(this,arguments)}})),gS=V(($)=>h$($[0]),($,Z,X)=>T($,(J)=>O4(Z(J),X).pipe(I((G)=>Object.assign({},J,G)))));var bS=Symbol.for("effect/ManagedRuntime");var hS="ExtendScope",mS="Fold",fO="Fresh",fS="FromEffect",cS="Scoped",pS="Suspend",dS="Provide",cO="ProvideMerge",uS="MergeAll",oS="ZipWith";var H9={};F8(H9,{zipWith:()=>es,zipRight:()=>ts,zipLeft:()=>as,zip:()=>ss,void:()=>is,unsafeRoots:()=>os,succeed:()=>ls,status:()=>rs,scoped:()=>ns,roots:()=>us,pretty:()=>ds,poll:()=>ps,orElseEither:()=>cs,orElse:()=>fs,never:()=>ms,match:()=>hs,mapFiber:()=>bs,mapEffect:()=>gs,map:()=>ys,joinAll:()=>vs,join:()=>Is,isRuntimeFiber:()=>Bs,isFiber:()=>Os,interrupted:()=>xs,interruptFork:()=>js,interruptAsFork:()=>Ss,interruptAs:()=>N4,interruptAllAs:()=>t2,interruptAll:()=>ks,interrupt:()=>Es,inheritAll:()=>qs,id:()=>Ns,getCurrentFiber:()=>Ls,fromEffect:()=>Rs,failCause:()=>Cs,fail:()=>ws,dumpAll:()=>Ms,dump:()=>zs,done:()=>Ts,children:()=>Ps,awaitAll:()=>_s,await:()=>a2,all:()=>Fs,RuntimeFiberTypeId:()=>Vs,Order:()=>Qs,FiberTypeId:()=>Ks});var Ks=J1,Vs=S2,Qs=Rq,Os=Lq,Bs=x2,Ns=kq,a2=ND;var _s=gD,Ps=qq,Fs=_X,Ts=x5,zs=_D,Ms=Eq,ws=xq,Cs=cQ,Rs=Sq,Ls=dq,qs=PD,Es=$4,xs=jq,N4=vZ,Ss=FD,ks=Iq,t2=k2,js=gx,Is=BZ,vs=bx,ys=OD,gs=pQ,bs=vq,hs=yq,ms=gq,fs=dQ,cs=bq,ps=hq,ds=mq,us=fq,os=uQ,ns=hx,rs=cq,ls=oQ,is=pq;var ss=IS,as=vS,ts=yS,es=s2;var PX=($)=>function(){if(arguments.length===1){let Z=arguments[0];return(X,...J)=>$(Z,X,...J)}return $.apply(this,arguments)},FX=PX(($,Z,X)=>{let J=vW(),G=[[O8,[[J,$.context]]]];if(X?.scheduler)G.push([s9,[[J,X.scheduler]]]);let Y=cw($.fiberRefs,{entries:G,forkAs:J});if(X?.updateRefs)Y=X.updateRefs(Y,J);let W=new jD(J,Y,$.runtimeFlags),H=Z;if(X?.scope)H=T(MO(X.scope,a8),(K)=>x$(A2(K,Q8((Q)=>i(Q,W.id())?F$:vZ(W,Q))),sZ(Z,(Q)=>zO(K,Q))));let A=W.currentSupervisor;if(A!==j5)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}),iD=PX(($,Z,X={})=>{let J=FX($,Z,X);if(X.onExit)J.addObserver((G)=>{X.onExit(G)});return(G,Y)=>iD($)(P(J,N4(G??p0)),{...Y,onExit:Y?.onExit?(W)=>Y.onExit(PV(W)):void 0})}),nS=PX(($,Z)=>{let X=uO($)(Z);if(X._tag==="Failure")throw dO(X.effect_instruction_i0);return X.effect_instruction_i0});class rS 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 $a=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new rS($);return Error.stackTraceLimit=Z,X};var pO=Symbol.for("effect/Runtime/FiberFailure"),e2=Symbol.for("effect/Runtime/FiberFailure/Cause");class lS extends Error{[pO];[e2];constructor($){let Z=d7($)[0];super(Z?.message||"An error has occurred");if(this[pO]=pO,this[e2]=$,this.name=Z?`(FiberFailure) ${Z.name}`:"FiberFailure",Z?.stack)this.stack=Z.stack}toJSON(){return{_id:"FiberFailure",cause:this[e2].toJSON()}}toString(){return"(FiberFailure) "+z6(this[e2],{renderErrorCause:!0})}[M$](){return this.toString()}}var dO=($)=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=0;let X=new lS($);return Error.stackTraceLimit=Z,X};var iS=($)=>{let Z=$;switch(Z._op){case"Failure":case"Success":return Z;case"Left":return G4(Z.left);case"Right":return t$(Z.right);case"Some":return t$(Z.value);case"None":return G4(new yZ)}},uO=PX(($,Z)=>{let X=iS(Z);if(X)return X;let J=new eV,G=FX($)(Z,{scheduler:J});J.flush();let Y=G.unsafePoll();if(Y)return Y;return zH(JH($a(G),wH(G)))}),sS=PX(($,Z,X)=>oO($,Z,X).then((J)=>{switch(J._tag){case Z0:return J.effect_instruction_i0;case $0:throw dO(J.effect_instruction_i0)}})),oO=PX(($,Z,X)=>new Promise((J)=>{let G=iS(Z);if(G)J(G);let Y=FX($)(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 nO{context;runtimeFlags;fiberRefs;constructor($,Z,X){this.context=$,this.runtimeFlags=Z,this.fiberRefs=X}pipe(){return r(this,arguments)}}var rO=($)=>new nO($.context,$.runtimeFlags,$.fiberRefs),TX=()=>q$(($,Z)=>z(new nO($.getFiberRef(O8),Z.runtimeFlags,$.getFiberRefs()))),aS=yK(P6,jK,kK),R6=rO({context:KZ(),runtimeFlags:aS,fiberRefs:pw()});var tS=iD(R6),eS=FX(R6),$k=sS(R6),Zk=oO(R6),Xk=nS(R6),Jk=uO(R6),Gk=($)=>H$(()=>{let Z=void 0;return T(B8(),(X)=>T(TX(),(J)=>S0((G)=>x$(U1(G(Q0($((Y)=>iD(J)(t6(Y,X))),{onFailure:(Y)=>O2(X,Y),onSuccess:(Y)=>{return Z=Y,F$}}))),G(e6(WZ(X),()=>Z??F$))))))});var Yk=V(2,($,Z)=>$.modifyEffect(Z));var Xa="effect/Layer",aD=Symbol.for(Xa),Ja={_RIn:($)=>$,_E:($)=>$,_ROut:($)=>$},X6={[aD]:Ja,pipe(){return r(this,arguments)}},Ga="effect/Layer/MemoMap",$G=Symbol.for(Ga),iO=p6()("effect/Layer/CurrentMemoMap",{defaultValue:()=>Ya()}),XG=($)=>o($,aD),sO=($)=>{return $._op_layer===fO};class aO{ref;[$G];constructor($){this.ref=$,this[$G]=$G}getOrElseMemoize($,Z){return P(Yk(this.ref,(X)=>{let J=X.get($);if(J!==void 0){let[G,Y]=J,W=P(G,T(([H,A])=>P(R5(H),n$(A))),sZ(_5({onFailure:()=>F$,onSuccess:()=>X4(Z,Y)})));return z([W,X])}return P(z5(0),T((G)=>P(B8(),T((Y)=>P(z5(()=>F$),I((W)=>{let H=S0((K)=>P(y5(),T((Q)=>P(K(T(Uk($,Q,!0),(O)=>UX(O(this)))),U0,T((O)=>{switch(O._tag){case $0:return P(O2(Y,O.effect_instruction_i0),x$(Q5(Q,O)),x$(L$(O.effect_instruction_i0)));case Z0:return P(Z9(W,(_)=>P(Q5(Q,_),r7(aV(G,(F)=>[F===1,F-1])),P0)),x$(M5(G,(_)=>_+1)),x$(X4(Z,(_)=>P(E(()=>X.delete($)),x$(CZ(W)),T((F)=>F(_))))),x$(OV(Y,O.effect_instruction_i0)),n$(O.effect_instruction_i0[1]))}}))))),A=[P(WZ(Y),sZ(P5({onFailure:()=>F$,onSuccess:()=>M5(G,(K)=>K+1)}))),(K)=>P(CZ(W),T((Q)=>Q(K)))];return[H,sO($)?X:X.set($,A)]}))))))}),jZ)}}var tO=H$(()=>I(lD(new Map),($)=>new aO($))),Ya=()=>new aO(hO(new Map)),Ak=($)=>$6((Z)=>_4($,Z)),_4=V(2,($,Z)=>T(tO,(X)=>tD($,X,Z))),tD=V(3,($,Z,X)=>T(Uk($,X),(J)=>V4(J(Z),iO,Z))),Uk=($,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,_4(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),T((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 UH(function*(){let G=yield*q8(Z,_2),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,_2),(Y)=>(W)=>{let H=Array(G.length);return I(A1(G,l7(function*(A,K){let Q=yield*q8(Y,a8),O=yield*W.getOrElseMemoize(A,Q);H[K]=O}),!1,!1),()=>s3(...H))})}}},b5=V(2,($,Z)=>YA($,{onFailure:Z,onSuccess:Q1})),eO=V(2,($,Z)=>GA($,{onFailure:Z,onSuccess:Q1})),$B=($)=>JG(fD($)),Kk=($)=>$A(()=>fD($())),Vk=($)=>JA($,()=>KZ()),eD=()=>fZ(N8()),Qk=($)=>{let Z=Object.create(X6);return Z._op_layer=hS,Z.layer=$,Z},ZB=($)=>JG(mD($)),XB=($)=>$A(()=>mD($())),JG=($)=>fZ(L$($)),$A=($)=>fZ(c9($)),D9=V(2,($,Z)=>YA($,{onFailure:ZB,onSuccess:Z})),Ok=V(2,($,Z)=>D9($,r0(Z))),JB=($)=>{let Z=Object.create(X6);return Z._op_layer=fO,Z.layer=$,Z},P4=V(2,($,Z)=>{let X=E7($),J=X?$:Z;return fZ(I(X?Z:$,(Y)=>D8(J,Y)))}),Bk=($)=>fZ(I($,()=>KZ()));function fZ($){let Z=Object.create(X6);return Z._op_layer=fS,Z.effect=$,Z}var Nk=V(3,($,Z,X)=>ZA($,C0(Z,X))),ZA=V(2,($,Z)=>{let X=Object.create(X6);return X._op_layer="Locally",X.self=$,X.f=Z,X}),XA=V(3,($,Z,X)=>ZA($,s0(Z,X))),_k=($,Z)=>h5(mZ($,Z)),Pk=($,Z)=>h5(RZ($,Z)),Fk=($,Z,X)=>fZ(I($,(J)=>D8(Z,X(J)))),Tk=($)=>ID(x$($6((Z)=>P($,_4(Z))),e1)),zk=function(){if(arguments.length===1)return($)=>Wk(arguments[0],$);return Wk(arguments[0],arguments[1])},Wk=($,Z)=>zX($,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",Wa(W)},has:y6})),Wa=($)=>{let Z=MZ($);function X(){return Z}return Object.assign(X,Z),Object.setPrototypeOf(X,Object.getPrototypeOf(Z)),X},JA=V(2,($,Z)=>D9($,(X)=>Q1(Z(X)))),Mk=V(2,($,Z)=>b5($,(X)=>XB(()=>Z(X)))),GA=V(2,($,{onFailure:Z,onSuccess:X})=>{let J=Object.create(X6);return J._op_layer=mS,J.layer=$,J.failureK=Z,J.successK=X,J}),YA=V(2,($,{onFailure:Z,onSuccess:X})=>GA($,{onFailure:(J)=>{let G=wO(J);switch(G._tag){case"Left":return Z(G.left);case"Right":return JG(G.right)}},onSuccess:X})),wk=($)=>$6((Z)=>I(DD(_4($,Z)),fZ)),GB=V(2,($,Z)=>YB($,Z,(X,J)=>d8(X,J))),WA=(...$)=>{let Z=Object.create(X6);return Z._op_layer=uS,Z.layers=$,Z},Ck=($)=>b5($,(Z)=>$B(Z)),Rk=V(2,($,Z)=>b5($,Z)),Lk=($)=>GB(eD(),$),qk=V(4,($,Z,X,J)=>JA($,(G)=>D8(X,J(p8(G,Z))))),Ek=V(2,($,Z)=>YG(()=>{let X=YZ("effect/Layer/retry/{ state: unknown }");return P(zX(X,{state:Z.initial}),D9((J)=>xk($,Z,X,P(J,r0(X)).state)))})),xk=($,Z,X,J)=>{return P($,b5((G)=>P(Ha(Z,X,G,J),D9((Y)=>JB(xk($,Z,X,P(Y,r0(X)).state))))))},Ha=($,Z,X,J)=>{return P4(Z,P(Z1,T((G)=>P($.step(G,X,J),T(([Y,W,H])=>DZ(H)?R$(X):P(DX(xZ(B4(H.intervals)-G)),n$({state:Y})))))))},F4=V(2,($,Z)=>{let X=E7($),J=X?$:Z;return GG(I(X?Z:$,(Y)=>D8(J,Y)))}),h5=($)=>GG(P($,n$(KZ()))),GG=($)=>{let Z=Object.create(X6);return Z._op_layer=cS,Z.effect=$,Z},Sk=GG(I(v5(y5(),($,Z)=>$.close(Z)),($)=>D8(TO,$))),kk=($)=>P4($,$),zX=V(2,($,Z)=>{let X=E7($);return fZ(z(D8(X?$:Z,X?Z:$)))}),Q1=($)=>{return fZ(z($))},jk=Q1(KZ()),YG=($)=>{let Z=Object.create(X6);return Z._op_layer=pS,Z.evaluate=$,Z},HA=V(2,($,Z)=>{let X=E7($),J=X?$:Z,G=X?Z:$;return fZ(E(()=>D8(J,G())))}),Ik=($)=>{return fZ(E($))},vk=V(2,($,Z)=>D9($,(X)=>fZ(n$(Z(X),X)))),yk=V(2,($,Z)=>b5($,(X)=>fZ(T(Z(X),()=>R$(X))))),gk=V(2,($,Z)=>eO($,(X)=>fZ(T(Z(X),()=>L$(X))))),bk=($)=>P($6((Z)=>_4($,Z)),T((Z)=>P(TX(),tZ(Z)))),hk=V(2,($,Z)=>T($6((X)=>tD($,Z,X)),(X)=>P(TX(),tZ(X)))),m5=V(2,($,Z)=>YG(()=>{let X=Object.create(X6);return X._op_layer=dS,X.first=Object.create(X6,{_op_layer:{value:cO,enumerable:!0},first:{value:eD(),enumerable:!0},second:{value:Array.isArray(Z)?WA(...Z):Z},zipK:{value:(J,G)=>P(J,d8(G))}}),X.second=$,X})),mk=V(2,($,Z)=>{let X=Object.create(X6);return X._op_layer=cO,X.first=Z,X.second=m5($,Z),X.zipK=(J,G)=>{return P(J,d8(G))},X}),YB=V(3,($,Z,X)=>YG(()=>{let J=Object.create(X6);return J._op_layer=oS,J.first=$,J.second=Z,J.zipK=X,J})),WB=($)=>{let Z=YZ("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return D9(P4(Z,$),(X)=>r0(X,Z))},ZG=($)=>{let Z=YZ("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return D9(F4(Z,$),(X)=>r0(X,Z))},fk=V(($)=>XG($[0]),function(){let $=arguments;return XA($[0],n9,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),ck=V(($)=>XG($[0]),function(){let $=arguments;return XA($[0],i7,typeof $[1]==="string"?SZ($[1],$[2]):(Z)=>Object.entries($[1]).reduce((X,[J,G])=>SZ(X,J,G),Z))}),pk=function(){let $=typeof arguments[0]!=="string",Z=$?arguments[1]:arguments[0],X=x8($?arguments[2]:arguments[1]);if($){let J=arguments[0];return ZG(I(X?.onEnd?IZ(e8(Z,X),(G)=>J9((Y)=>X.onEnd(G,Y))):e8(Z,X),(G)=>sD(J,G)))}return(J)=>ZG(I(X?.onEnd?IZ(e8(Z,X),(G)=>J9((Y)=>X.onEnd(G,Y))):e8(Z,X),(G)=>sD(J,G)))},sD=V(2,($,Z)=>m5($,Q1(D8(bZ,Z)))),Hk=V(2,($,Z)=>d2((X)=>T(_4(Z,X),(J)=>MH($,J)))),Dk=V(2,($,Z)=>{let X=F5(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=y9(J)(K),O=F5(A,H),_=n8(Q,K);return Y.setFiberRefs(A),Y.currentRuntimeFlags=Q,j8(MH(G($),d8(W,Z.context)),q$((F)=>{return F.setFiberRefs(T5(F.id(),F.getFiberRefs())(O)),F.currentRuntimeFlags=y9(_)(F.currentRuntimeFlags),F$}))}))}),DA=V(2,($,Z)=>{if(Array.isArray(Z))return Hk($,WA(...Z));else if(XG(Z))return Hk($,Z);else if(i3(Z))return MH($,Z);else if(bS in Z)return T(Z.runtimeEffect,(X)=>Dk($,X));else return Dk($,Z)});var dk=I(L8(T0),r0(t9)),uk=($)=>wZ(T0,(Z)=>$(r0(Z,t9))),ok=V(2,($,Z)=>s0($,T0,s$(t9,Z))),nk=($)=>RZ(T0,s$(t9,$));var Aa=function(){let $=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends s7{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}(),rk=($)=>{let Z={BaseEffectError:class extends Aa{_tag=$}};return Z.BaseEffectError.prototype.name=$,Z.BaseEffectError};var HB=Symbol.for("effect/DateTime"),DB=Symbol.for("effect/DateTime/TimeZone"),sk={[HB]:HB,pipe(){return r(this,arguments)},[M$](){return this.toString()},toJSON(){return wX(this).toJSON()}},Ka={...sk,_tag:"Utc",[Y$](){return w$(this,m4(this.epochMillis))},[J$]($){return DG($)&&$._tag==="Utc"&&this.epochMillis===$.epochMillis},toString(){return`DateTime.Utc(${wX(this).toJSON()})`}},Va={...sk,_tag:"Zoned",[Y$](){return P(m4(this.epochMillis),U$(s(this.zone)),w$(this))},[J$]($){return DG($)&&$._tag==="Zoned"&&this.epochMillis===$.epochMillis&&i(this.zone,$.zone)},toString(){return`DateTime.Zoned(${Ia(this)})`}},ak={[DB]:DB,[M$](){return this.toString()}},Qa={...ak,_tag:"Named",[Y$](){return w$(this,f$(`Named:${this.id}`))},[J$]($){return MX($)&&$._tag==="Named"&&this.id===$.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},Oa={...ak,_tag:"Offset",[Y$](){return w$(this,f$(`Offset:${this.offset}`))},[J$]($){return MX($)&&$._tag==="Offset"&&this.offset===$.offset},toString(){return`TimeZone.Offset(${Zj(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},A9=($,Z,X)=>{let J=Object.create(Va);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},DG=($)=>o($,HB),Ba=($)=>DG($[0]),MX=($)=>o($,DB);var tk=($)=>MX($)&&$._tag==="Named";var Na=($)=>$._tag==="Zoned";var ek=($)=>{let Z=Object.create(Ka);return Z.epochMillis=$,Object.defineProperty(Z,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),Z},UA=($)=>{let Z=$.getTime();if(Number.isNaN(Z))throw new r2("Invalid date");return ek(Z)},_a=($)=>{if(DG($))return $;else if($ instanceof Date)return UA($);else if(typeof $==="object"){let Z=new Date(0);return xa(Z,$),UA(Z)}else if(typeof $==="string"&&!Pa($))return UA(new Date($+"Z"));return UA(new Date($))},Pa=($)=>/Z|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test($),Fa=-8639999956800000,Ta=8639999949600000,KA=($,Z)=>{if(Z?.timeZone===void 0&&DG($)&&Na($))return $;let X=_a($);if(X.epochMillis<Fa||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=AB(G)}else if(MX(Z?.timeZone))J=Z.timeZone;else if(typeof Z?.timeZone==="number")J=AB(Z.timeZone);else{let G=UB(Z.timeZone);if(k$(G))throw new r2(`Invalid time zone: ${Z.timeZone}`);J=G.value}if(Z?.adjustForTimeZone!==!0)return A9(X.epochMillis,J,X.partsUtc);return Gj(X.epochMillis,J,Z?.disambiguation??"compatible")};var HG=N$("effect/DateTime/validZoneCache",()=>new Map),za={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},Ma=($)=>{let Z=$.resolvedOptions().timeZone;if(HG.has(Z))return HG.get(Z);let X=Object.create(Qa);return X.id=Z,X.format=$,HG.set(Z,X),X},wa=($)=>{if(HG.has($))return HG.get($);try{return Ma(new Intl.DateTimeFormat("en-US",{...za,timeZone:$}))}catch{throw new r2(`Invalid time zone: ${$}`)}},AB=($)=>{let Z=Object.create(Oa);return Z.offset=$,Z},Ca=E3(wa);var Ra=/^(?:GMT|[+-])/,UB=($)=>{if(Ra.test($)){let Z=Yj($);return Z===null?x():S(AB(Z))}return Ca($)};var wX=($)=>new Date($.epochMillis),f5=($)=>{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},$j=($)=>{return f5($).getTime()-qa($)},Zj=($)=>{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")}`},La=($)=>Zj($j($)),qa=($)=>$.epochMillis;var Xj=($)=>({millis:$.getUTCMilliseconds(),seconds:$.getUTCSeconds(),minutes:$.getUTCMinutes(),hours:$.getUTCHours(),day:$.getUTCDate(),weekDay:$.getUTCDay(),month:$.getUTCMonth()+1,year:$.getUTCFullYear()}),Jj=($)=>{if($._tag==="Utc")return Ea($);else if($.partsAdjusted!==void 0)return $.partsAdjusted;return $.partsAdjusted=ka($,Xj),$.partsAdjusted},Ea=($)=>{if($.partsUtc!==void 0)return $.partsUtc;return $.partsUtc=ja($,Xj),$.partsUtc};var xa=($,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 lk=86400000,Gj=($,Z,X)=>{if(Z._tag==="Offset")return A9($-Z.offset,Z);let J=WG($-lk,$,Z),G=WG($+lk,$,Z);if(J===G)return A9($-J,Z);let Y=J<G,W=J-G;if(Y){if(WG($-G,$,Z)===G)return A9($-G,Z);let K=A9($-J,Z),Q=f5(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(WG($-J,$,Z)===J){if(X==="earlier"||X==="compatible")return A9($-J,Z);if(WG($-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)},Sa=/([+-])(\d{2}):(\d{2})$/,Yj=($)=>{let Z=Sa.exec($);if(Z===null)return null;let[,X,J,G]=Z;return(X==="+"?1:-1)*(Number(J)*60+Number(G))*60*1000},WG=($,Z,X)=>{let J=X.format.formatToParts($).find((Y)=>Y.type==="timeZoneName")?.value??"";if(J==="GMT")return 0;let G=Yj(J);if(G===null)return $j(A9(Z,X));return G},Wj=V(Ba,($,Z,X)=>{if($._tag==="Utc"){let Y=wX($);return Z(Y),ek(Y.getTime())}let J=f5($),G=new Date(J.getTime());return Z(G),Gj(G.getTime(),$.zone,X?.disambiguation??"compatible")});var ka=V(2,($,Z)=>Z(f5($))),ja=V(2,($,Z)=>Z(wX($)));var ik=($)=>{let Z=f5($);return $._tag==="Utc"?Z.toISOString():`${Z.toISOString().slice(0,-1)}${La($)}`},Ia=($)=>$.zone._tag==="Offset"?ik($):`${ik($)}[${$.zone.id}]`;var Hj=($)=>$.length>0;var VB=Symbol.for("effect/Cron"),ga={[VB]:VB,[J$]($){return QB($)&&ca(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)}},QB=($)=>o($,VB),ba=($)=>{let Z=Object.create(ga);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},Dj=Symbol.for("effect/Cron/errors/ParseError");class L6 extends rk("CronParseError"){[Dj]=Dj}var Uj=($,Z)=>{let X=$.trim().split(/\s+/).filter(Hj);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||MX(Z)?E$(Z):z3(UB(Z),()=>new L6({message:"Invalid time zone in cron expression",input:Z}));return C3({tz:K,seconds:RX(J,pa),minutes:RX(G,da),hours:RX(Y,ua),days:RX(W,oa),months:RX(H,na),weekdays:RX(A,ra)}).pipe(x9(({days:Q,hours:O,minutes:_,months:F,seconds:M,tz:C,weekdays:m})=>ba({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 Kj=($,Z)=>{let X=KA(Z,{timeZone:n0($.tz)}).pipe(Jj);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)},AG=($)=>new Date(Date.UTC($.getUTCFullYear(),$.getUTCMonth()+1,0)).getUTCDate(),Vj=($,Z)=>{return ha($,Z,"next")};var ha=($,Z,X)=>{let J=n0($.tz),G=KA(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&&tk(J)&&J.id==="UTC"?TZ:(F)=>{let M=KA(F,{timeZone:G.zone,adjustForTimeZone:!0,disambiguation:Y?"later":void 0}).pipe(f5),C=F.getTime()-M.getTime();if(Y?C!==0:C>0)F.setTime(M.getTime())},_=Wj(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$=AG(new Date(Date.UTC(F.getUTCFullYear(),F.getUTCMonth(),0)));m=-(e+(C$-A.day))}else m=AG(F)-e+A.day;else if(!Y&&G$>AG(F))m=AG(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$=AG(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 wX(_)};var ma=g6(($,Z)=>$.and===Z.and&&CX($.seconds,Z.seconds)&&CX($.minutes,Z.minutes)&&CX($.hours,Z.hours)&&CX($.days,Z.days)&&CX($.months,Z.months)&&CX($.weekdays,Z.weekdays)),fa=IY(QF),CX=($,Z)=>fa(_$($),_$(Z)),ca=V(2,($,Z)=>ma($,Z)),pa={min:0,max:59},da={min:0,max:59},ua={min:0,max:23},oa={min:1,max:31},na={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}},ra={min:0,max:7,normalize:($)=>$===7?0:$,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},RX=($,Z)=>{let X=new Set,J=$.split(","),G=Aj(J[0]),Y=G[0]==="*",W=Z.normalize??((A)=>A),H=Y&&(G[1]===void 0||G[1]===1)?TZ:(A)=>{X.add(W(A))};for(let A=0;A<J.length;A++){let K=J[A],[Q,O]=A===0?G:Aj(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]=la(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})},Aj=($)=>{let Z=$.indexOf("/");if(Z!==-1){let X=$.slice(Z+1);return[$.slice(0,Z),Qj.test(X)?Number(X):NaN]}return[$,void 0]},la=($,Z)=>{let X=$.indexOf("-");if(X!==-1)return[KB($.slice(0,X),Z),KB($.slice(X+1),Z)];return[KB($,Z),void 0]};function KB($,Z){return Z?.[$.toLocaleLowerCase()]??(Qj.test($)?Number($):NaN)}var Qj=/^\d+$/;var Oj=zR;var Bj=DR;var sa="effect/Schedule",OA=Symbol.for(sa),BA=($)=>o($,OA),aa="effect/ScheduleDriver",NB=Symbol.for(aa),OB={start:0,now:0,input:void 0,output:void 0,elapsed:U8,elapsedSincePrevious:U8,recurrence:0},c5=p6()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>OB}),ta={_Out:($)=>$,_In:($)=>$,_R:($)=>$},ea={_Out:($)=>$,_In:($)=>$,_R:($)=>$};class Fj{initial;step;[OA]=ta;constructor($,Z){this.initial=$,this.step=Z}pipe(){return r(this,arguments)}}var _j=($,Z,X,J)=>M5($,(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 Tj{schedule;ref;[NB]=ea;constructor($,Z){this.schedule=$,this.ref=Z}get state(){return I(CZ(this.ref),($)=>$[1])}get last(){return T(CZ(this.ref),([$,Z])=>{switch($._tag){case"None":return l8(()=>new yZ);case"Some":return z($.value)}})}iterationMeta=XX(OB);get reset(){return Z9(this.ref,[x(),this.schedule.initial]).pipe(U5(Z9(this.iterationMeta,OB)))}next($){return P(I(CZ(this.ref),(Z)=>Z[1]),T((Z)=>P(Z1,T((X)=>P(H$(()=>this.schedule.step(X,$,Z)),T(([J,G,Y])=>{let W=Z9(this.ref,[S(G),J]);if(DZ(Y))return W.pipe(x$(R$(x())));let H=B4(Y.intervals)-X;if(H<=0)return W.pipe(x$(_j(this.iterationMeta,X,$,G)),n$(G));let A=xZ(H);return P(W,x$(_j(this.iterationMeta,X,$,G)),x$(L5(A)),n$(G))}))))))}}var p$=($,Z)=>new Fj($,Z),NA=V(2,($,Z)=>_B($,(X)=>E(()=>Z(X)))),_B=V(2,($,Z)=>QG($,(X,J)=>I(Z(X),(G)=>ZK(J,G0(G))))),zj=V(2,($,Z)=>NZ(PB($,Z),u4)),PB=V(2,($,Z)=>p$([$.initial,Z.initial,!0],(X,J,G)=>G[2]?T($.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 z([[Y,G[1],!0],g$(W),H])}):I(Z.step(X,J,G[1]),([Y,W,H])=>[[G[0],Y,!1],E$(W),H]))),Mj=V(2,($,Z)=>NZ($,()=>Z)),_A=($)=>NZ($,TZ),wj=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(V1(A)&&V1(O)){let _=P(A.intervals,EO(O.intervals));return[[W,K],[H,Q],g5(_)]}return[[W,K],[H,Q],I8]}))),LX=V(2,($,Z)=>p5($,(X,J)=>E(()=>Z(X,J)))),p5=V(2,($,Z)=>p$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,H])=>{if(DZ(H))return z([Y,W,I8]);return I(Z(J,W),(A)=>A?[Y,W,H]:[Y,W,I8])}))),Cj=()=>d5(O1()),d5=($)=>zA($,w0(),(Z,X)=>P(Z,R7(X))),Rj=($)=>d5(CB($)),Lj=($)=>d5(RB($)),qj=($)=>d5(qB($)),Ej=($)=>d5(EB($)),xj=V(2,($,Z)=>p$([$.initial,Z.initial],(X,J,G)=>T($.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,g5(P(H.intervals,DS(Q.intervals)))])))),FB=V(2,($,Z)=>PA($,(X)=>E(()=>Z(X)))),Sj=V(2,($,Z)=>p$($.initial,(X,J,G)=>Y4($.step(X,J,G),Z))),PA=V(2,($,Z)=>p$($.initial,(X,J,G)=>T(Z(J),(Y)=>$.step(X,Y,G)))),kj=($,Z)=>{let X=QB($)?E$($):Uj($,Z);return p$([!0,[Number.MIN_SAFE_INTEGER,0,0]],(J,G,[Y,W])=>{if(J===Number.POSITIVE_INFINITY)return z([[!1,W],[W[1],W[2]],I8]);if(J<W[0])return z([[!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&&Kj(H,A))K=J;K=Vj(H,A).getTime();let Q=gB(K),O=PI(K);return z([[!1,[K,Q,O]],[Q,O],a0($8(Q,O))])})},jj=($)=>{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=Wt(Z,$,G===0),H=bB(W),A=zI(W),K=$8(H,A);return z([[A,G+1],G,a0(K)])})},Ij=($)=>{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=Yt(Z,$,G===0),H=bB(W),A=zI(W),K=$8(H,A);return z([[A,G+1],G,a0(K)])})},vj=V(2,($,Z)=>FA($,(X)=>E(()=>Z(X)))),FA=V(2,($,Z)=>QG($,(X,J)=>Z(J))),KG=($)=>NA($,(Z)=>Z),yj=($)=>p$($.initial,(Z,X,J)=>P($.step(Z,X,J),T(([G,Y,W])=>{if(DZ(W))return z([G,U8,W]);return z([G,xZ(B4(W.intervals)-Z),W])}))),gj=V(2,($,{onInput:Z,onOutput:X})=>NZ(FB($,Z),X)),bj=V(2,($,{onInput:Z,onOutput:X})=>TA(PA($,Z),X)),VG=($)=>P(z5([x(),$.initial]),I((Z)=>new Tj($,Z))),TB=($)=>{let Z=G0($),X=zZ(Z);return p$(!0,(J,G,Y)=>z(Y?[!1,Z,a0(C6(J+X))]:[!1,U8,I8]))},hj=V(2,($,Z)=>kB($,Z)),mj=V(3,($,Z,X)=>MA($,Z,X)),fj=V(2,($,Z)=>p$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,H])=>DZ(H)?n$(Z,[Y,W,H]):z([Y,W,H])))),cj=($,Z=2)=>{let X=G0($);return KG(NZ(q6,(J)=>$K(X,Math.pow(Z,J))))},pj=($)=>{let Z=G0($);return KG(P(OG([Z,Z],([X,J])=>[J,ZK(X,J)]),NZ((X)=>X[0])))},dj=($)=>{let Z=G0($),X=zZ(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+zZ(O);return[[S([H,_]),W+1],W,a0(C6(_))]}}}))},uj=($)=>TB($),oj=($,...Z)=>p$([[$,...Z].map((X)=>G0(X)),!0],(X,J,[G,Y])=>E(()=>{if(Y){let W=G[0],H=C6(X+zZ(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]})),nj=($)=>NZ(O1(),$),rj=($)=>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=Gt(Z,$,G===0),H=TI(W),A=Jt(W),K=$8(H,A);return z([[A,G+1],G,a0(K)])}),O1=()=>p$(void 0,($,Z,X)=>z([X,Z,a0(C6($))])),T4=V(2,($,Z)=>zB($,Z,YS)),zB=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]),T(([[W,H,A],[K,Q,O]])=>{if(V1(A)&&V1(O))return BB($,Z,G,W,H,A.intervals,K,Q,O.intervals,X);return z([[W,K],[H,Q],I8])})))),BB=($,Z,X,J,G,Y,W,H,A,K)=>{let Q=K(Y,A);if(HS(Q))return z([[J,W],[G,H],g5(Q)]);if(P(Y,WS(A)))return T($.step(uD(Y),X,J),([O,_,F])=>{if(DZ(F))return z([[O,W],[_,H],I8]);return BB($,Z,X,O,_,F.intervals,W,H,A,K)});return T(Z.step(uD(A),X,W),([O,_,F])=>{if(DZ(F))return z([[J,O],[G,_],I8]);return BB($,Z,X,J,G,Y,O,_,F.intervals,K)})},lj=($)=>MB($,{min:0.8,max:1.2}),MB=V(2,($,Z)=>{let{max:X,min:J}=Object.assign({min:0.8,max:1.2},Z);return FA($,(G)=>I(Oj,(Y)=>{let W=zZ(G),H=W*J*(1-Y)+W*X*Y;return xZ(H)}))}),ij=($)=>{let Z=G0($);return KG(NZ(q6,(X)=>$K(Z,X+1)))},NZ=V(2,($,Z)=>TA($,(X)=>E(()=>Z(X)))),TA=V(2,($,Z)=>p$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,H])=>I(Z(W),(A)=>[Y,A,H])))),sj=($)=>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=Xt(Z,$,G===0),H=FI(W),A=Zt(W),K=$8(H,A);return z([[A,G+1],G,a0(K)])}),aj=V(2,($,Z)=>QG($,(X,J)=>E(()=>Z(X,J)))),QG=V(2,($,Z)=>p$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,H])=>{if(DZ(H))return z([Y,W,H]);let A=H.intervals,K=sx($8(X,B4(A)));return I(Z(W,K),(Q)=>{let O=G0(Q),_=B4(A),F=X+zZ(O),M=F-_,C=Math.max(0,uD(A)+M),m=$8(F,C);return[Y,W,a0(m)]})}))),tj=V(2,($,Z)=>p$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,H])=>n$(Z(W,H),[Y,W,H])))),wB=($)=>p$($.initial,(Z,X,J)=>P($.step(Z,X,J),I(([G,Y,W])=>[G,X,W]))),ej=V(2,($,Z)=>p$($.initial,(X,J,G)=>tZ($.step(X,J,G),Z))),$I=V(3,($,Z,X)=>p$($.initial,(J,G,Y)=>E8((W)=>tZ($.step(J,G,Y),s$(W,Z,X))))),CB=($)=>jB(O1(),$),RB=($)=>BG(O1(),$),ZI=($)=>IB(NZ(O1(),$),b$),LB=($)=>{let Z=G0($);return wA(RA,(X)=>vT(X,Z))},qB=($)=>vB(O1(),$),EB=($)=>NG(O1(),$),qX=($)=>wA(q6,(Z)=>Z<$),zA=V(3,($,Z,X)=>xB($,Z,(J,G)=>E(()=>X(J,G)))),xB=V(3,($,Z,X)=>p$([$.initial,Z],(J,G,[Y,W])=>T($.step(J,G,Y),([H,A,K])=>DZ(K)?z([[H,W],W,K]):I(X(W,A),(Q)=>[[H,Q],W,K]))));var XI=($)=>zA($,0,(Z,X)=>Z+1),JI=V(2,($,Z)=>{let X=G0(Z);return P($,T4(RA),SB(([,J])=>WW(J,X)),NZ((J)=>J[0]))}),SB=V(2,($,Z)=>p$($.initial,(X,J,G)=>T($.step(X,J,G),([Y,W,H])=>Z(W)?$.step(X,J,$.initial):z([Y,W,H])))),GI=V(3,($,Z,X)=>P(YI($,Z,j1(X),$.initial,w0()),I((J)=>z8(J)))),YI=($,Z,X,J,G)=>{if(!W0(X))return z(G);let Y=y$(X),W=H0(X);return T($.step(Z,Y,J),([H,A,K])=>{if(DZ(K))return E(()=>P(G,V0(A)));return YI($,B4(K.intervals),W,H,V0(G,A))})},WI=($)=>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=$t(Z,$,G===0),H=gB(W),A=PI(W),K=$8(H,A);return z([[A,G+1],G,a0(K)])}),HI=($)=>NA(q6,()=>$),DI=($)=>NZ(q6,()=>$),AI=($)=>NZ(q6,$),UI=V(2,($,Z)=>p$($.initial,(X,J,G)=>x$(Z(J),$.step(X,J,G)))),KI=V(2,($,Z)=>p$($.initial,(X,J,G)=>IZ($.step(X,J,G),([,Y])=>Z(Y)))),OG=($,Z)=>p$($,(X,J,G)=>E(()=>[Z(G),G,a0(C6(X))])),kB=V(2,($,Z)=>MA($,Z,EO)),MA=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)&&V1(O))return[[W,K],[H,Q],g5(O.intervals)];if(V1(A)&&DZ(O))return[[W,K],[H,Q],g5(A.intervals)];if(V1(A)&&V1(O)){let _=X(A.intervals,O.intervals);return[[W,K],[H,Q],g5(_)]}throw Error("BUG: Schedule.unionWith - please report an issue at https://github.com/Effect-TS/effect/issues")}))),jB=V(2,($,Z)=>LX($,(X,J)=>!Z(X))),BG=V(2,($,Z)=>p5($,(X,J)=>L2(Z(X)))),IB=V(2,($,Z)=>LX($,(X,J)=>!Z(J))),VI=V(2,($,Z)=>p5($,(X,J)=>L2(Z(J)))),QI=V(2,($,Z)=>yB($,LB(Z))),vB=V(2,($,Z)=>LX($,(X,J)=>Z(X))),NG=V(2,($,Z)=>p5($,(X,J)=>Z(X))),wA=V(2,($,Z)=>LX($,(X,J)=>Z(J))),OI=V(2,($,Z)=>p5($,(X,J)=>Z(J))),BI=($)=>{let Z=G0($),X=zZ(Z);return p$([x(),0],(J,G,[Y,W])=>{switch(Y._tag){case"None":return z([[S(J),W+1],W,a0(C6(J+X))]);case"Some":return z([[S(Y.value),W+1],W,a0(C6(J+(X-(J-Y.value)%X)))])}})},yB=V(2,($,Z)=>NZ(T4($,Z),(X)=>X[0])),NI=V(2,($,Z)=>NZ(T4($,Z),(X)=>X[1])),_I=V(3,($,Z,X)=>NZ(T4($,Z),([J,G])=>X(J,G))),gB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),Z.getSeconds(),0).getTime()},PI=($)=>{let Z=new Date(gB($));return Z.setSeconds(Z.getSeconds()+1)},$t=($,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)},FI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),Z.getMinutes(),0,0).getTime()},Zt=($)=>{let Z=new Date(FI($));return Z.setMinutes(Z.getMinutes()+1)},Xt=($,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)},TI=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),Z.getHours(),0,0,0).getTime()},Jt=($)=>{let Z=new Date(TI($));return Z.setHours(Z.getHours()+1)},Gt=($,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)},bB=($)=>{let Z=new Date($);return new Date(Z.getFullYear(),Z.getMonth(),Z.getDate(),0,0,0,0).getTime()},zI=($)=>{let Z=new Date(bB($));return Z.setDate(Z.getDate()+1)},Yt=($,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))},Wt=($,Z,X)=>{let J=new Date($);if(J.getDate()===Z&&X)return $;if(J.getDate()<Z)return J.setDate(Z);return MI($,Z,1)},MI=($,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 MI($,Z,X+1)},VA=Symbol.for("effect/Schedule/ScheduleDefect");class wI{error;[VA];constructor($){this.error=$,this[VA]=VA}}var Ht=($)=>o($,VA),QA=($)=>M6($,(Z)=>MZ(new wI(Z))),Dt=($)=>f0(i6($,(Z)=>Z5(Z)&&Ht(Z.defect)?S(Z.defect):x()),{onNone:()=>$,onSome:(Z)=>V8(Z.error)}),_G=($)=>a6($,(Z)=>L$(Dt(Z))),Pj=V(2,($,Z)=>hB($,Z,(X,J)=>R$(X))),CI=V(2,($,Z)=>{if(BA(Z))return Pj($,Z);let X=Z.schedule??wB(q6),J=Z.while?NG(X,(W)=>{let H=Z.while(W);if(typeof H==="boolean")return z(H);return QA(H)}):X,G=Z.until?BG(J,(W)=>{let H=Z.until(W);if(typeof H==="boolean")return z(H);return QA(H)}):J,Y=Z.times?T4(G,qX(Z.times)).pipe(NZ((W)=>W[0])):G;return _G(Pj($,Y))}),hB=V(3,($,Z,X)=>T(VG(Z),(J)=>i0($,{onFailure:(G)=>X(G,x()),onSuccess:(G)=>RI(Q4($,c5,CZ(J.iterationMeta)),J,(Y,W)=>Q4(X(Y,W),c5,CZ(J.iterationMeta)),G)}))),RI=($,Z,X,J)=>i0(Z.next(J),{onFailure:()=>D5(Z.last),onSuccess:(G)=>i0($,{onFailure:(Y)=>X(Y,S(G)),onSuccess:(Y)=>RI($,Z,X,Y)})}),UG=V(2,($,Z)=>mB($,Z,(X,J)=>R$(X))),LI=V(2,($,Z)=>{if(BA(Z))return UG($,Z);return _G(UG($,CA(Z)))}),CA=($)=>{let Z=$.schedule??q6,X=$.while?NG(Z,(G)=>{let Y=$.while(G);if(typeof Y==="boolean")return z(Y);return QA(Y)}):Z,J=$.until?BG(X,(G)=>{let Y=$.until(G);if(typeof Y==="boolean")return z(Y);return QA(Y)}):X;return $.times!==void 0?T4(J,qX($.times)):J},mB=V(3,($,Z,X)=>T(VG(Z),(J)=>qI(Q4($,c5,CZ(J.iterationMeta)),J,(G,Y)=>Q4(X(G,Y),c5,CZ(J.iterationMeta))))),qI=($,Z,X)=>{return M6($,(J)=>i0(Z.next(J),{onFailure:()=>P(Z.last,D5,T((G)=>X(J,G))),onSuccess:()=>qI($,Z,X)}))},fB=V(2,($,Z)=>cB($,void 0,Z)),cB=V(3,($,Z,X)=>T(VG(X),(J)=>EI(Q4($,c5,CZ(J.iterationMeta)),Z,J))),EI=($,Z,X)=>i0(X.next(Z),{onFailure:()=>D5(X.last),onSuccess:()=>T($,(J)=>EI($,J,X))}),xI=OG(0,($)=>$+1),RA=p$(x(),($,Z,X)=>{switch(X._tag){case"None":return z([S($),U8,a0(C6($))]);case"Some":return z([S(X.value),xZ($-X.value),a0(C6($))])}}),q6=OG(0,($)=>$+1),LA=_A(qX(1)),SI=_A(qX(0)),kI=V(2,($,Z)=>rD(fB($,Z)));var II=V(2,($,Z)=>H$(()=>{let X=0,J;return T(t1({while:()=>X<Z.steps.length&&(J===void 0||M0(J)),body:()=>{let G=Z.steps[X],Y=DA($,G.provide);if(J){let W=!1,H=Y;Y=H$(()=>{if(W)return H;return W=!0,J}),Y=_G(UG(Y,jI(G,!1)))}else{let W=jI(G,!0);Y=W?_G(UG(Y,W)):Y}return r8(Y)},step:(G)=>{J=G,X++}}),()=>J)})),jI=($,Z)=>{if(!Z)return CA({schedule:$.schedule?$.schedule:$.attempts?void 0:LA,times:$.attempts,while:$.while});else if($.attempts===1||!($.schedule||$.attempts))return;return CA({schedule:$.schedule,while:$.while,times:$.attempts?$.attempts-1:void 0})};var qA=B8;var B1=WZ;var vI=QV;var yI=Cw;var dB=V2,EA=t7;var gI=Symbol.for("effect/MutableList"),Ut={[gI]:gI,[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(j$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},Kt=($)=>({value:$,removed:!1,prev:void 0,next:void 0}),bI=()=>{let $=Object.create(Ut);return $.head=void 0,$.tail=void 0,$._length=0,$};var hI=($)=>oB($)===0,oB=($)=>$._length;var mI=V(2,($,Z)=>{let X=Kt(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,$}),fI=($)=>{let Z=$.head;if(Z!==void 0)return Vt($,Z),Z.value;return};var Vt=($,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 cI=Symbol.for("effect/MutableQueue"),nB=Symbol.for("effect/mutable/MutableQueue/Empty"),Ot={[cI]:cI,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return S$(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(j$)}},[M$](){return this.toJSON()},pipe(){return r(this,arguments)}},Bt=($)=>{let Z=Object.create(Ot);return Z.queue=bI(),Z.capacity=$,Z};var pI=()=>Bt(void 0);var dI=V(2,($,Z)=>{let X=oB($.queue);if($.capacity!==void 0&&X===$.capacity)return!1;return mI(Z)($.queue),!0});var uI=V(2,($,Z)=>{if(hI($.queue))return Z;return fI($.queue)});var oI=($,Z,X,J)=>hW({_tag:"Complete",key:$,exit:Z,entryStats:X,timeToLiveMillis:J}),nI=($,Z)=>hW({_tag:"Pending",key:$,deferred:Z}),_t=($,Z)=>hW({_tag:"Refreshing",deferred:$,complete:Z}),rB=Symbol.for("effect/Cache/MapKey");class rI{current;[rB]=rB;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 Pt($)&&i(this.current,$.current)&&i(this.previous,$.previous)&&i(this.next,$.next)}}var EX=($)=>new rI($),Pt=($)=>o($,rB);class lI{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 Ft=()=>new lI,Tt=($,Z,X,J,G,Y)=>({map:$,keys:Z,accesses:X,updating:J,hits:G,misses:Y}),zt=()=>Tt(Y1(),Ft(),pI(),o6(!1),0,0),Mt="effect/Cache",wt=Symbol.for(Mt),Ct={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},Rt="effect/ConsumerCache",Lt=Symbol.for(Rt),qt={_Key:($)=>$,_Error:($)=>$,_Value:($)=>$},Et=($)=>$,xA=($)=>({loadedMillis:$});class iI{capacity;context;fiberId;lookup;timeToLive;[wt]=Ct;[Lt]=qt;cacheState;constructor($,Z,X,J,G){this.capacity=$,this.context=Z,this.fiberId=X,this.lookup=J,this.timeToLive=G,this.cacheState=zt()}get($){return I(this.getEither($),u4)}get cacheStats(){return E(()=>Et({hits:this.cacheState.hits,misses:this.cacheState.misses,size:k5(this.cacheState.map)}))}getOption($){return H$(()=>f0(O0(this.cacheState.map,$),{onNone:()=>{let Z=EX($);return this.trackAccess(Z),this.trackMiss(),z(x())},onSome:(Z)=>this.resolveMapValue(Z)}))}getOptionComplete($){return H$(()=>f0(O0(this.cacheState.map,$),{onNone:()=>{let Z=EX($);return this.trackAccess(Z),this.trackMiss(),z(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(xA(X))}case"Pending":return x();case"Refreshing":{let X=Z.value.complete.entryStats.loadedMillis;return S(xA(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=dB(this.fiberId),X=EX(Z),S8(this.cacheState.map,Z))G=n0(O0(this.cacheState.map,Z));else hZ(this.cacheState.map,Z,nI(X,J));if(G===void 0)return this.trackAccess(X),this.trackMiss(),I(this.lookupValueOf($,J),E$);else return T(this.resolveMapValue(G),f0({onNone:()=>this.getEither($),onSome:(Y)=>z(g$(Y))}))})}invalidate($){return E(()=>{W1(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))W1(this.cacheState.map,$)}}})}get invalidateAll(){return E(()=>{this.cacheState.map=Y1()})}refresh($){return X9((Z)=>H$(()=>{let X=$,J=dB(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,nI(EX(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))W1(this.cacheState.map,X);return P0(this.get($))}return P(this.lookupValueOf($,J),UD(()=>{let Y=n0(O0(this.cacheState.map,X));if(i(Y,G)){let W=_t(J,G);return hZ(this.cacheState.map,X,W),!0}return!1}),P0)}case"Pending":return B1(G.deferred);case"Refreshing":return B1(G.deferred)}}))}set($,Z){return X9((X)=>E(()=>{let J=X.unsafeCurrentTimeMillis(),G=$,Y=N2(Z),W=oI(EX(G),Y,xA(J),J+zZ(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 W1(this.cacheState.map,$.key.current),z(x());return this.trackHit(),I($.exit,S)}case"Pending":{if(this.trackAccess($.key),this.trackHit(),Z)return z(x());return I(B1($.deferred),S)}case"Refreshing":{if(this.trackAccess($.complete.key),this.trackHit(),this.hasExpired(X,$.complete.timeToLiveMillis)){if(Z)return z(x());return I(B1($.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(dI(this.cacheState.accesses,$),CW(this.cacheState.updating,!1,!0)){let Z=!0;while(Z){let J=uI(this.cacheState.accesses,nB);if(J===nB)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))W1(this.cacheState.map,J.current),X=X-1,Z=X>this.capacity}else Z=!1}I9(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,T((G)=>{let Y=X.unsafeCurrentTimeMillis(),W=xA(Y),H=oI(EX(J),G,W,Y+zZ(G0(this.timeToLive(G))));return hZ(this.cacheState.map,J,H),x$(vI(Z,G),G)}),e6(()=>x$(yI(Z),E(()=>{W1(this.cacheState.map,J)}))))}))}}var sI=($,Z,X)=>new iI($,KZ(),xW,Z,(J)=>G0(X(J)));var xX=N$(Symbol.for("effect/FiberRef/currentCache"),()=>R0(sI(65536,()=>I(B8(),($)=>({listeners:new g2,handle:$})),()=>e3(60)))),PG=N$(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>R0(!1)),aI=($,Z)=>T(h$(Z)?Z:z(Z),(X)=>Q8((J)=>{let G=new Proxy($,{});return wZ(PG,(Y)=>{if(Y){let H=wZ(xX,(A)=>T(A.getEither(G),(K)=>{switch(K._tag){case"Left":{if(K.left.listeners.interrupted)return T(A.invalidateWhen(G,(Q)=>Q.handle===K.left.handle),()=>H);return K.left.listeners.increment(),S0((Q)=>T(U0(m9(ZM,Q(WZ(K.left.handle)))),(O)=>{return K.left.listeners.decrement(),O}))}case"Right":return K.right.listeners.increment(),S0((Q)=>T(U0(m9(dK(X,uK({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 g2;return W.increment(),T(B8(),(H)=>j8(m9(dK(X,uK({request:G,result:H,listeners:W,ownerId:J,state:{completed:!1}})),WZ(H)),E(()=>W.decrement())))})})),tI=($,Z)=>{return wZ(PG,(X)=>{if(X)return wZ(xX,(J)=>T(J.getEither($),(G)=>{switch(G._tag){case"Left":return F$;case"Right":return VV(G.right.handle,Z)}}));return F$})},eI=V(2,($,Z)=>C0($,PG,Z)),$v=V(2,($,Z)=>C0($,xX,Z));var Xv=rE;var St=f9,FG=h$,kt=MS,jt=vO,It=DD,vt=qS,yt=CQ,gt=O4,bt=_x,ht=Px,mt=nR,ft=rR,ct=cL,pt=pL,dt=GL,ut=Ox,ot=Nx,nt=iR,rt=$L,TG=k8,lt=WL,it=KO,st=VO,at=kL,tt=IL,et=jL,$e=wx,Ze=UO,Xe=Fx,Je=zx,Ge=Ex,Ye=kZ,We=Gk,He=eJ,N1=q$,De=R$,Ae=l8,Yv=L$,Ue=c9,lB=MZ,Ke=r1,Ve=C8,Qe=UH,Oe=e1,Be=CL,Ne=xL,iB=z,sB=q5,_e=mL,aB=H$,U9=E,_1=F$;var Pe=$9,Fe=kR;var Te=M6,ze=a6,Me=jR,we=Z2,Ce=jM,Re=IR,Le=vR,qe=yR,Ee=gR,xe=bR,Se=TQ,ke=HD,je=HL,Ie=EL,ve=bL,ye=LI,ge=II,be=mB,he=FQ;var me=iL,fe=sL,ce=EQ,pe=eL,de=fR,ue=IM,oe=mx,SX=WH,ne=HH,re=d9,le=yM,ie=e6,se=u9,ae=S0,te=tR,ee=n$,$$$=AX,Z$$=SR,X$$=P0,J$$=i1,G$$=JL,Z8=I,Y$$=ML,W$$=J2,H$$=s1,D$$=KX,A$$=wL,U$$=L2,zG=v5,K$$=Vx,V$$=XH,Q$$=J9,O$$=j8,B$$=DH,N$$=sZ,_$$=SD,P$$=kD,F$$=Cx,T$$=NO,z$$=$6,M$$=d2,w$$=ID,C$$=Lx,R$$=kx,L$$=zS,q$$=Qx,E$$=cR,x$$=YD,S$$=UX,k$$=wS,j$$=nD,I$$=p9,kX=Q8,v$$=U1,tB=NX,y$$=CS,g$$=yO,b$$=rD,h$$=Tx,m$$=RS,f$$=LS,c$$=gO,p$$=AH,d$$=bM,u$$=vC,o$$=YV,n$$=lM,r$$=hR,l$$=X9,i$$=xx,s$$=_R,a$$=dk,t$$=uk,e$$=nk,$0$=ok,Z0$=mR,X0$=L5,J0$=rL,G0$=qQ,Y0$=xS,W0$=kS,H0$=bO,D0$=SS,A0$=i2,U0$=FR,K0$=PR,V0$=vD,Q0$=N8,O0$=lR,B0$=E8,N0$=Y4,_0$=DA,P0$=V4,F0$=Q4,T0$=Yq,z0$=Gq,M0$=xQ,w0$=SQ,C0$=Wq,R0$=Hq,L0$=kQ,q0$=$q,E0$=pR,x0$=dR,S0$=gS,k0$=uR,j0$=oR;var I0$=RL,v0$=r8,y0$=U0,MG=t6,g0$=YH;var b0$=sR,h0$=aR,m0$=C2,f0$=eR,c0$=BV,p0$=Rw,d0$=aL,u0$=tL,o0$=UD,n0$=r7,r0$=Zq,l0$=Xq,u5=T,i0$=l1,s0$=jZ,a0$=bD,t0$=Mx,e0$=ES,$Z$=PO,ZZ$=q2,eB=IZ,XZ$=dL,JZ$=uL,GZ$=LQ,YZ$=oL,WZ$=nL,HZ$=zQ,DZ$=MQ,AZ$=FL,UZ$=CI,KZ$=yL,VZ$=hB,QZ$=fB,OZ$=kI,BZ$=cB,wG=t1,NZ$=WD,_Z$=DL,PZ$=C0,FZ$=s0,TZ$=mZ,zZ$=RZ,MZ$=R5,wZ$=hL,CZ$=AD,RZ$=AL,LZ$=UL,qZ$=R2,EZ$=X2,xZ$=Q0,SZ$=i0,kZ$=KL,jZ$=($,...Z)=>X1($)(...Z),IZ$=VL,vZ$=wQ,yZ$=QL,gZ$=OL,bZ$=BL,hZ$=NL,mZ$=_L,fZ$=xR,cZ$=Ux,pZ$=PL,dZ$=iM,uZ$=Kx,oZ$=D5,nZ$=$V,rZ$=H5,lZ$=LL,iZ$=qL,sZ$=XL,aZ$=SL,tZ$=HX,Wv=TR,eZ$=V(2,($,Z)=>Wv($,Bj(Z))),$8$=Sx,CG=TX,Z8$=n7,X8$=a1,J8$=KH,G8$=BO,Y8$=fL,W8$=RQ,H8$=Rx,D8$=QO,A8$=sM,U8$=Jq,K8$=oD,V8$=PS,Q8$=IO,O8$=TS,RG=eS,B8$=tS,N8$=$k,_8$=Zk,P8$=Xk,F8$=Jk,T8$=qx,z8$=OO,M8$=jx,w8$=Ix,C8$=vx,Hv=G9,R8$=V(2,($,Z)=>Hv($,Z,(X,J)=>X(J))),L8$=m9,q8$=ZH,E8$=GH,x8$=V(($)=>Xv($[0]),aI),S8$=tI,k8$=hM,j8$=eI,I8$=$v,v8$=lL,y8$=XD,g8$=MR,b8$=hD,h8$=mM,m8$=fM,f8$=Uq,c8$=Dq,p8$=jQ,d8$=IQ,u8$=Kq,o8$=Bq,n8$=Nq,r8$=Vq,l8$=Aq,i8$=Oq,s8$=e8,a8$=JD,Dv=yQ,t8$=_q,e8$=fx,$6$=GD,Z6$=Pq,X6$=Fq,J6$=($)=>{return V6($)?sB:Z8($.value,nZ)},G6$=V(2,($,Z)=>V6($)?sB:Z8(Z($.value),nZ)),Av=($)=>{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)=>l1(X,(_)=>{if(typeof _[J]==="function")return Z.set(J,(...F)=>l1(X,(M)=>M[J](...F))),_[J](...O);return Z.set(J,l1(X,(F)=>F[J])),_[J]}),W=l1(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}})},Y6$=($)=>()=>{let Z=Error.stackTraceLimit;Error.stackTraceLimit=2;let X=Error();Error.stackTraceLimit=Z;function J(){}return Object.setPrototypeOf(J,q7),J.key=$,Object.defineProperty(J,"use",{get(){return(G)=>l1(this,G)}}),Object.defineProperty(J,"stack",{get(){return X.stack}}),Av(J)},W6$=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)=>l1(this,O)}}),W.key=$,Object.assign(W,q7),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 P4(W,Z8(Z.effect.apply(null,arguments),(O)=>new this(O)))}.bind(this);return K??=P4(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 F4(W,Z8(Z.scoped.apply(null,arguments),(O)=>new this(O)))}.bind(this);return K??=F4(W,Z8(Z.scoped,(O)=>new this(O)))}});else if("sync"in Z)Object.defineProperty(W,A,{get(){return K??=HA(W,()=>new this(Z.sync()))}});else Object.defineProperty(W,A,{get(){return K??=zX(W,new this(Z.succeed))}});if(H){let O;Object.defineProperty(W,"Default",{get(){if(Q)return function(){return m5(this.DefaultWithoutDependencies.apply(null,arguments),Z.dependencies)};return O??=m5(this.DefaultWithoutDependencies,Z.dependencies)}})}return X===!0?Av(W):W}},H6$=function($,...Z){let X=Error.stackTraceLimit;Error.stackTraceLimit=2;let J=Error();if(Error.stackTraceLimit=X,typeof $!=="string")return Jv($.length,function(...W){let H=Error.stackTraceLimit;Error.stackTraceLimit=2;let A=Error();return Error.stackTraceLimit=H,Gv({self:this,body:$,args:W,pipeables:Z,spanName:"<anonymous>",spanOptions:{context:YX.context(!0)},errorDef:J,errorCall:A})});let G=$,Y=Z[0];return(W,...H)=>Jv(W.length,{[G](...A){let K=Error.stackTraceLimit;Error.stackTraceLimit=2;let Q=Error();return Error.stackTraceLimit=K,Gv({self:this,body:W,args:A,pipeables:H,spanName:G,spanOptions:Y,errorDef:J,errorCall:Q})}}[G])};function Jv($,Z){return Object.defineProperty(Z,"length",{value:$,configurable:!0})}function Gv($){let Z,X=void 0;if(PF($.body))Z=uJ(()=>$.body.apply($.self,$.args));else try{Z=$.body.apply($.self,$.args)}catch(W){X=W,Z=lB(W)}if($.pipeables.length>0)try{for(let W of $.pipeables)Z=W(Z,...$.args)}catch(W){Z=X?Yv(a$(N0(X),N0(W))):lB(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 Dv(Z,$.spanName,Y)}var D6$=l7,A6$=()=>($)=>$,U6$=()=>($)=>$,K6$=()=>($)=>$;var K9={};F8(K9,{unsafeSet:()=>kA,unsafeHas:()=>jA,unsafeGet:()=>Bv,size:()=>w6$,set:()=>_6$,runtimePromise:()=>Nv,runtime:()=>JN,run:()=>M6$,remove:()=>T6$,makeRuntimePromise:()=>B6$,makeRuntime:()=>O6$,make:()=>XN,join:()=>C6$,isFiberMap:()=>ZN,has:()=>F6$,get:()=>P6$,clear:()=>z6$,awaitEmpty:()=>R6$,TypeId:()=>SA});var LG=FX;var Uv=R6;var Kv=rO;var SA=Symbol.for("effect/FiberMap"),ZN=($)=>o($,SA),V6$={[SA]:SA,[Symbol.iterator](){if(this.state._tag==="Closed")return aY();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)}},Q6$=($,Z)=>{let X=Object.create(V6$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},XN=()=>zG(Z8(qA(),($)=>Q6$(Y1(),$)),($)=>N1((Z)=>{let X=$.state;if(X._tag==="Closed")return _1;return $.state={_tag:"Closed"},t2(sF(X.backing,([,J])=>J),K8(Z.id(),jX)).pipe(MG($.deferred))})),O6$=()=>u5(XN(),($)=>JN($)()),B6$=()=>u5(XN(),($)=>Nv($)()),Ov=-1,jX=IW(Ov,0),N6$=n2(void 0,{emptyCase:XZ,failCase:XZ,dieCase:XZ,interruptCase:($,Z)=>j7(m1(Z),Ov),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),kA=V(($)=>ZN($[0]),($,Z,X,J)=>{if($.state._tag==="Closed"){X.unsafeInterruptAsFork(K8(J?.interruptAs??p0,jX));return}let G=O0($.state.backing,Z);if(G._tag==="Some"){if(J?.onlyIfMissing===!0){X.unsafeInterruptAsFork(K8(J?.interruptAs??p0,jX));return}else if(G.value===X)return;G.value.unsafeInterruptAsFork(K8(J?.interruptAs??p0,jX))}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)W1($.state.backing,Z);if(B2(Y)&&(J?.propagateInterruption===!0?!N6$(Y.cause):!u2(Y.cause)))EA($.deferred,Y)})}),_6$=V(($)=>ZN($[0]),($,Z,X,J)=>kX((G)=>U9(()=>kA($,Z,X,{...J,interruptAs:G})))),Bv=V(2,($,Z)=>$.state._tag==="Closed"?x():O0($.state.backing,Z)),P6$=V(2,($,Z)=>aB(()=>Bv($,Z))),jA=V(2,($,Z)=>$.state._tag==="Closed"?!1:S8($.state.backing,Z)),F6$=V(2,($,Z)=>U9(()=>jA($,Z))),T6$=V(2,($,Z)=>N1((X)=>{if($.state._tag==="Closed")return _1;let J=O0($.state.backing,Z);if(J._tag==="None")return _1;return N4(J.value,K8(X.id(),jX))})),z6$=($)=>N1((Z)=>{if($.state._tag==="Closed")return _1;return TG($.state.backing,([,X])=>N4(X,K8(Z.id(),jX)))}),$N=function(){let $=void 0;return()=>{if($===void 0)$=RG(SX);return $}}(),M6$=function(){let $=arguments[0];if(FG(arguments[2]))return Qv($,arguments[1],arguments[2],arguments[3]);let Z=arguments[1],X=arguments[2];return(J)=>Qv($,Z,J,X)},Qv=($,Z,X,J)=>N1((G)=>{if($.state._tag==="Closed")return SX;else if(J?.onlyIfMissing===!0&&jA($,Z))return U9($N);let Y=Kv({context:G.currentContext,fiberRefs:G.getFiberRefs(),runtimeFlags:Uv.runtimeFlags}),W=LG(Y)(X);return kA($,Z,W,{...J,interruptAs:G.id()}),iB(W)}),JN=($)=>()=>Z8(CG(),(Z)=>{let X=LG(Z);return(J,G,Y)=>{if($.state._tag==="Closed")return $N();else if(Y?.onlyIfMissing===!0&&jA($,J))return $N();let W=X(G,Y);return kA($,J,W,Y),W}}),Nv=($)=>()=>Z8(JN($)(),(Z)=>(X,J,G)=>new Promise((Y,W)=>Z(X,J,G).addObserver((H)=>{if(W4(H))Y(H.value);else W(o2(H.cause))}))),w6$=($)=>U9(()=>$.state._tag==="Closed"?0:k5($.state.backing)),C6$=($)=>B1($.deferred),R6$=($)=>wG({while:()=>$.state._tag==="Open"&&k5($.state.backing)>0,body:()=>a2(sY($)[1]),step:TZ});var o5={};F8(o5,{unsafeAdd:()=>vA,size:()=>v6$,runtimePromise:()=>Tv,runtime:()=>HN,run:()=>I6$,makeRuntimePromise:()=>x6$,makeRuntime:()=>E6$,make:()=>YN,join:()=>y6$,isFiberSet:()=>GN,clear:()=>j6$,awaitEmpty:()=>g6$,add:()=>k6$,TypeId:()=>IA});var IA=Symbol.for("effect/FiberSet"),GN=($)=>o($,IA),L6$={[IA]:IA,[Symbol.iterator](){if(this.state._tag==="Closed")return aY();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)}},q6$=($,Z)=>{let X=Object.create(L6$);return X.state={_tag:"Open",backing:$},X.deferred=Z,X},YN=()=>zG(Z8(qA(),($)=>q6$(new Set,$)),($)=>N1((Z)=>{let X=$.state;if(X._tag==="Closed")return _1;$.state={_tag:"Closed"};let J=X.backing;return t2(J,K8(Z.id(),WN)).pipe(MG($.deferred))})),E6$=()=>u5(YN(),($)=>HN($)()),x6$=()=>u5(YN(),($)=>Tv($)()),Pv=-1,WN=IW(Pv,0),S6$=n2(void 0,{emptyCase:XZ,failCase:XZ,dieCase:XZ,interruptCase:($,Z)=>j7(m1(Z),Pv),sequentialCase:($,Z,X)=>Z||X,parallelCase:($,Z,X)=>Z||X}),vA=V(($)=>GN($[0]),($,Z,X)=>{if($.state._tag==="Closed"){Z.unsafeInterruptAsFork(K8(X?.interruptAs??p0,WN));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),B2(J)&&(X?.propagateInterruption===!0?!S6$(J.cause):!u2(J.cause)))EA($.deferred,J)})}),k6$=V(($)=>GN($[0]),($,Z,X)=>kX((J)=>U9(()=>vA($,Z,{...X,interruptAs:J})))),j6$=($)=>N1((Z)=>{if($.state._tag==="Closed")return _1;return TG($.state.backing,(X)=>N4(X,K8(Z.id(),WN)))}),Fv=function(){let $=void 0;return()=>{if($===void 0)$=RG(SX);return $}}(),I6$=function(){let $=arguments[0];if(!FG(arguments[1])){let Z=arguments[1];return(X)=>_v($,X,Z)}return _v($,arguments[1],arguments[2])},_v=($,Z,X)=>kX((J)=>{if($.state._tag==="Closed")return U9(Fv);return eB(tB(Z),(G)=>vA($,G,{...X,interruptAs:J}))}),HN=($)=>()=>Z8(CG(),(Z)=>{let X=LG(Z);return(J,G)=>{if($.state._tag==="Closed")return Fv();let Y=X(J,G);return vA($,Y),Y}}),Tv=($)=>()=>Z8(HN($)(),(Z)=>(X,J)=>new Promise((G,Y)=>Z(X,J).addObserver((W)=>{if(W4(W))G(W.value);else Y(o2(W.cause))}))),v6$=($)=>U9(()=>$.state._tag==="Closed"?0:$.state.backing.size),y6$=($)=>B1($.deferred),g6$=($)=>wG({while:()=>$.state._tag==="Open"&&$.state.backing.size>0,body:()=>a2(sY($)),step:TZ});var qG={};F8(qG,{zipWith:()=>u9$,withSpan:()=>H1$,withParentSpan:()=>D1$,updateService:()=>K1$,unwrapScoped:()=>n9$,unwrapEffect:()=>o9$,toRuntimeWithMemoMap:()=>p9$,toRuntime:()=>c9$,tapErrorCause:()=>f9$,tapError:()=>m9$,tap:()=>h9$,syncContext:()=>b9$,sync:()=>g9$,suspend:()=>y9$,succeedContext:()=>v9$,succeed:()=>I9$,span:()=>Z1$,setVersionMismatchErrorLogLevel:()=>W1$,setUnhandledErrorLogLevel:()=>Y1$,setTracerTiming:()=>G1$,setTracerEnabled:()=>J1$,setTracer:()=>X1$,setScheduler:()=>$1$,setRequestCaching:()=>t9$,setRequestCache:()=>e9$,setRequestBatching:()=>a9$,setRandom:()=>s9$,setConfigProvider:()=>l9$,setClock:()=>r9$,service:()=>j9$,scopedDiscard:()=>E6,scopedContext:()=>k9$,scoped:()=>S9$,scope:()=>x9$,retry:()=>E9$,provideMerge:()=>d9$,provide:()=>qv,project:()=>M9$,passthrough:()=>z9$,parentSpan:()=>i9$,orElse:()=>T9$,orDie:()=>F9$,mock:()=>U9$,mergeAll:()=>P9$,merge:()=>_9$,memoize:()=>N9$,matchCause:()=>B9$,match:()=>O9$,mapError:()=>Q9$,map:()=>Lv,makeMemoMap:()=>A1$,locallyWith:()=>R9$,locallyScoped:()=>L9$,locallyEffect:()=>w9$,locally:()=>C9$,launch:()=>V9$,isLayer:()=>c6$,isFresh:()=>p6$,function:()=>K9$,fresh:()=>A9$,flatten:()=>D9$,flatMap:()=>H9$,fiberRefLocallyScopedWith:()=>q9$,failSync:()=>G9$,failCauseSync:()=>W9$,failCause:()=>Y9$,fail:()=>J9$,extendScope:()=>X9$,ensureSuccessType:()=>V1$,ensureRequirementsType:()=>O1$,ensureErrorType:()=>Q1$,empty:()=>Z9$,effectDiscard:()=>e6$,effectContext:()=>$9$,effect:()=>t6$,discard:()=>a6$,dieSync:()=>s6$,die:()=>i6$,context:()=>Rv,catchAllCause:()=>l6$,catchAll:()=>r6$,buildWithScope:()=>n6$,buildWithMemoMap:()=>U1$,build:()=>o6$,annotateSpans:()=>u6$,annotateLogs:()=>d6$,MemoMapTypeId:()=>m6$,LayerTypeId:()=>h6$,CurrentMemoMap:()=>f6$});var zv=($)=>h5(vD($)),Mv=($)=>Q1(D8(bZ,$)),wv=($,Z)=>{return Z=x8(Z),F4(bZ,Z?.onEnd?IZ(e8($,Z),(X)=>J9((J)=>Z.onEnd(X,J))):e8($,Z))},Cv=($)=>h5(hD($));var h6$=aD,m6$=$G,f6$=iO,c6$=XG,p6$=sO,d6$=fk,u6$=ck,o6$=Ak,n6$=_4,r6$=b5,l6$=eO,Rv=eD,i6$=$B,s6$=Kk,a6$=Vk,t6$=P4,e6$=Bk,$9$=fZ,Z9$=jk,X9$=Qk,J9$=ZB,G9$=XB,Y9$=JG,W9$=$A,H9$=D9,D9$=Ok,A9$=JB,U9$=zk,K9$=Fk;var V9$=Tk,Lv=JA,Q9$=Mk,O9$=YA,B9$=GA,N9$=wk,_9$=GB,P9$=WA,F9$=Ck,T9$=Rk,z9$=Lk,M9$=qk,w9$=ZA,C9$=Nk,R9$=XA,L9$=_k,q9$=Pk,E9$=Ek,x9$=Sk,S9$=F4,E6=h5,k9$=GG,j9$=kk,I9$=zX,v9$=Q1,y9$=YG,g9$=HA,b9$=Ik,h9$=vk,m9$=yk,f9$=gk,c9$=bk,p9$=hk,qv=m5,d9$=mk,u9$=YB,o9$=WB,n9$=ZG,r9$=($)=>E6(RZ(T0,s$(eZ,$))),l9$=zv,i9$=Mv,s9$=($)=>E6(RZ(T0,s$(e9,$))),a9$=($)=>E6(mZ(G2,$)),t9$=($)=>E6(mZ(PG,$)),e9$=($)=>E6(h$($)?T($,(Z)=>mZ(xX,Z)):mZ(xX,$)),$1$=($)=>E6(mZ(s9,$)),Z1$=wv,X1$=Cv,J1$=($)=>E6(mZ(W2,$)),G1$=($)=>E6(mZ(Z4,$)),Y1$=($)=>E6(mZ(Y2,$)),W1$=($)=>E6(mZ(NH,$)),H1$=pk,D1$=sD,A1$=tO,U1$=tD,K1$=V(3,($,Z,X)=>qv($,Lv(Rv(),(J)=>s$(J,Z,X(p8(J,Z)))))),V1$=()=>($)=>$,Q1$=()=>($)=>$,O1$=()=>($)=>$;var V9={};F8(V9,{zipWith:()=>W5$,zipRight:()=>Y5$,zipLeft:()=>G5$,windowed:()=>J5$,whileOutputEffect:()=>X5$,whileOutput:()=>Z5$,whileInputEffect:()=>$5$,whileInput:()=>e4$,upTo:()=>t4$,untilOutputEffect:()=>a4$,untilOutput:()=>s4$,untilInputEffect:()=>i4$,untilInput:()=>l4$,unionWith:()=>r4$,union:()=>n4$,unfold:()=>o4$,tapOutput:()=>u4$,tapInput:()=>d4$,sync:()=>p4$,succeed:()=>c4$,stop:()=>f4$,spaced:()=>m4$,secondOfMinute:()=>f1$,run:()=>h4$,resetWhen:()=>b4$,resetAfter:()=>g4$,repetitions:()=>y4$,repeatForever:()=>v4$,reduceEffect:()=>I4$,reduce:()=>j4$,recurs:()=>k4$,recurWhileEffect:()=>S4$,recurWhile:()=>x4$,recurUpTo:()=>E4$,recurUntilOption:()=>q4$,recurUntilEffect:()=>L4$,recurUntil:()=>R4$,provideService:()=>C4$,provideContext:()=>w4$,passthrough:()=>K4$,once:()=>M4$,onDecision:()=>z4$,modifyDelayEffect:()=>T4$,modifyDelay:()=>F4$,minuteOfHour:()=>c1$,mapInputEffect:()=>g1$,mapInputContext:()=>b1$,mapInput:()=>y1$,mapEffect:()=>P4$,mapBothEffect:()=>s1$,mapBoth:()=>i1$,map:()=>_4$,makeWithState:()=>_1$,linear:()=>N4$,jitteredWith:()=>B4$,jittered:()=>O4$,isSchedule:()=>P1$,intersectWith:()=>Q4$,intersect:()=>V4$,identity:()=>U4$,hourOfDay:()=>p1$,fromFunction:()=>A4$,fromDelays:()=>D4$,fromDelay:()=>H4$,forever:()=>W4$,fixed:()=>Y4$,fibonacci:()=>G4$,exponential:()=>J4$,ensuring:()=>X4$,elapsed:()=>Z4$,eitherWith:()=>$4$,either:()=>e1$,duration:()=>t1$,driver:()=>a1$,delays:()=>l1$,delayedSchedule:()=>r1$,delayedEffect:()=>n1$,delayed:()=>o1$,dayOfWeek:()=>u1$,dayOfMonth:()=>d1$,cron:()=>m1$,count:()=>h1$,compose:()=>v1$,collectWhileEffect:()=>I1$,collectWhile:()=>j1$,collectUntilEffect:()=>k1$,collectUntil:()=>S1$,collectAllOutputs:()=>x1$,collectAllInputs:()=>E1$,checkEffect:()=>q1$,check:()=>L1$,bothInOut:()=>R1$,asVoid:()=>C1$,as:()=>w1$,andThenEither:()=>M1$,andThen:()=>z1$,addDelayEffect:()=>T1$,addDelay:()=>F1$,ScheduleTypeId:()=>B1$,ScheduleDriverTypeId:()=>N1$,CurrentIterationMetadata:()=>H5$});var B1$=OA,N1$=NB,_1$=p$,P1$=BA,F1$=NA,T1$=_B,z1$=zj,M1$=PB,w1$=Mj,C1$=_A,R1$=wj,L1$=LX,q1$=p5,E1$=Cj,x1$=d5,S1$=Rj,k1$=Lj,j1$=qj,I1$=Ej,v1$=xj,y1$=FB,g1$=PA,b1$=Sj,h1$=xI,m1$=kj,f1$=WI,c1$=sj,p1$=rj,d1$=jj,u1$=Ij,o1$=vj,n1$=FA,r1$=KG,l1$=yj,i1$=gj,s1$=bj,a1$=VG,t1$=TB,e1$=hj,$4$=mj,Z4$=RA,X4$=fj,J4$=cj,G4$=pj,Y4$=dj,W4$=q6,H4$=uj,D4$=oj,A4$=nj,U4$=O1,K4$=wB,V4$=T4,Q4$=zB,O4$=lj,B4$=MB,N4$=ij,_4$=NZ,P4$=TA,F4$=aj,T4$=QG,z4$=tj,M4$=LA,w4$=ej,C4$=$I,R4$=CB,L4$=RB,q4$=ZI,E4$=LB,x4$=qB,S4$=EB,k4$=qX,j4$=zA,I4$=xB,v4$=q6,y4$=XI,g4$=JI,b4$=SB,h4$=GI,m4$=HI,f4$=SI,c4$=DI,p4$=AI,d4$=UI,u4$=KI,o4$=OG,n4$=kB,r4$=MA,l4$=jB,i4$=BG,s4$=IB,a4$=VI,t4$=QI,e4$=vB,$5$=NG,Z5$=wA,X5$=OI,J5$=BI,G5$=yB,Y5$=NI,W5$=_I,H5$=c5;function EQ$($,Z){return qG.scoped($,a.acquireRelease(a.sync(Z),(X)=>a.sync(()=>{X.close()})).pipe(a.map((X)=>X.service)))}var EG=D.record(D.string(),D.unknown());var D5$=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:EG}),A5$=D.object({id:D.string(),conversationId:D.string(),role:IX,content:D.string(),timestamp:D.string(),metadata:EG});var DN=D.object({name:D.string(),role:D.string(),purpose:D.string(),values:D.array(D.string())}),AN=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 vX=U5$(K5$(),1);function P1($,Z){let X=Object.fromEntries(Object.entries(Z).filter(([,J])=>J!==void 0&&J!==null));if(Object.keys(X).length===0)return $;return vX.default.stringify($,X)}function UN($){if($ instanceof Date)return $.toISOString();if(Array.isArray($))return $.map(UN);if($!==null&&typeof $==="object"){let Z={};for(let[X,J]of Object.entries($))Z[X]=UN(J);return Z}return $}function cZ($,Z){let{content:X,data:J}=vX.default($),G=UN(J);return{content:X.trim(),metadata:Z.parse(G)}}function xG($){if(Object.keys($).length===0)return"";let X=vX.default.stringify("",$).match(/^---\n[\s\S]*?\n---/);return X?X[0]:""}function Ev($){if(typeof $!=="object"||$===null||Array.isArray($))return $;let{visibility:Z,...X}=$;return X}var V5$=D.object({visibility:D.enum(["public","shared","restricted","private"]).optional().transform(($)=>{if($===void 0)return;return $==="private"?"restricted":$})});function yA($){let Z=vX.default($);return V5$.parse(Z.data).visibility}function xv($){let X=$.match(/^---\r?\n[\s\S]*?\r?\n---/)?.[0].match(/^visibility:/m);return X!==null&&X!==void 0}function n5($,Z){if(Z==="public"&&!xv($))return $;let X=vX.default($),J=Object.fromEntries(Object.entries(X.data).filter(([G])=>G!=="visibility"));if(Z!=="public")J.visibility=Z;return P1(X.content.trim(),J)}var Q5$=D.looseObject({issues:D.array(D.looseObject({message:D.string()}))});class F1 extends Error{entityType;originalError;constructor($,Z){super(`Invalid entity data for ${$}: ${e$(Z)}`);this.name="EntityValidationError",this.entityType=$,this.originalError=Z}}function gA($){return Q5$.safeParse($).success}function Sv($){return $ instanceof F1||gA($)}function bA($,Z){if(Z instanceof F1)return Z;return gA(Z)?new F1($,Z):void 0}var O5$={generateBodyTemplate:()=>""},KN=D.record(D.string(),D.unknown());function kv($){return{parse:(Z)=>$.parse(Ev(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??O5$,$.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($,KN).metadata}catch{return{}}}extractMetadata($){return $.metadata}parseFrontMatter($,Z){try{return cZ($,kv(Z)).metadata}catch(X){throw new F1(this.entityType,X)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter($){return xG(KN.parse($.metadata))}extractBody($){try{return cZ($,KN).content}catch{return $}}parseFrontmatter($){try{return cZ($,kv(this.fmSchema)).metadata}catch(Z){throw new F1(this.entityType,Z)}}buildMarkdown($,Z){return P1($,Z)}}var VN=D.enum(["public","shared","restricted"]),O9=D.union([VN,D.literal("private")]).optional().transform(($)=>{if($===void 0)return"public";if($==="private")return"restricted";return $});function hA($){return O9.parse($)}var B5$={public:["public"],shared:["public","shared"],restricted:["public","shared","restricted"]};function T1($){return B5$[$]}function mA($,Z){return T1(Z).includes($??"public")}function yX($){if($==="admin")return"restricted";if($==="trusted")return"shared";return"public"}function QN($,Z){return mA(Z,yX($))}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()}),N5$=D.enum(["public","shared","restricted"]),jv=D.object({id:D.string(),entityType:D.string(),content:D.string(),created:D.string().datetime(),updated:D.string().datetime(),visibility:D.union([N5$,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()}),fA=D.object({}),_5$=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 ON extends Q9{constructor(){super({entityType:"note",purpose:"A generic entity with no specialized adapter.",schema:G6,frontmatterSchema:fA})}toMarkdown($){return $.content}fromMarkdown($){return{content:$}}}import{createClient as Yg}from"@libsql/client";import{createClient as rN}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 BN{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 Iv($,...Z){return $(...Z)}function vv($,Z){return`${$[v8]}_${Z.join("_")}_unique`}class SG extends X0{constructor($,Z){if(!Z.uniqueName)Z.uniqueName=vv($,[Z.name]);super($,Z);this.table=$}static[L]="PgColumn"}class P5$ extends SG{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 F5$ extends SG{static[L]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}var yv=Symbol.for("drizzle:isPgEnum");function gv($){return!!$&&typeof $==="function"&&yv in $&&$[yv]===!0}class T5$ extends SG{static[L]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor($,Z){super($,Z);this.enum=Z.enum}getSQLType(){return this.enum.enumName}}class k0{static[L]="Subquery";constructor($,Z,X,J=!1,G=[]){this._={brand:"Subquery",sql:$,selectedFields:Z,alias:X,isWith:J,usedTables:G}}}class kG extends k0{static[L]="WithSubquery"}var bv="0.45.2";var NN,_N,hv={startActiveSpan($,Z){if(!NN)return Z();if(!_N)_N=NN.trace.getTracer("drizzle-orm",bv);return Iv((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()}}),NN,_N)}};var j0=Symbol.for("drizzle:ViewBaseConfig");var cA=Symbol.for("drizzle:Schema"),pA=Symbol.for("drizzle:Columns"),mv=Symbol.for("drizzle:ExtraConfigColumns"),PN=Symbol.for("drizzle:OriginalName"),FN=Symbol.for("drizzle:BaseName"),jG=Symbol.for("drizzle:IsAlias"),fv=Symbol.for("drizzle:ExtraConfigBuilder"),z5$=Symbol.for("drizzle:IsDrizzleTable");class t{static[L]="Table";static Symbol={Name:v8,Schema:cA,OriginalName:PN,Columns:pA,ExtraConfigColumns:mv,BaseName:FN,IsAlias:jG,ExtraConfigBuilder:fv};[v8];[PN];[cA];[pA];[mv];[FN];[jG]=!1;[z5$]=!0;[fv]=void 0;constructor($,Z,X){this[v8]=this[PN]=$,this[cA]=Z,this[FN]=X}}function z4($){return $[v8]}function r5($){return`${$[cA]??"public"}.${$[v8]}`}function TN($){return $!==null&&$!==void 0&&typeof $.getSQL==="function"}function M5$($){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=pv;shouldInlineParams=!1;usedTables=[];append($){return this.queryChunks.push(...$.queryChunks),this}toQuery($){return hv.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 M5$($.map((K)=>{if(v(K,AZ))return{sql:K.value.join(""),params:[]};if(v(K,dA))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[jG]?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[jG]||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[j0].schema,O=K[j0].name;return{sql:Q===void 0||K[j0].isAlias?G(O):G(Q)+"."+G(O),params:[]}}if(v(K,y8)){if(v(K.value,M4))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,M4))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,k0)){if(K._.isWith)return{sql:G(K._.alias),params:[]};return this.buildQueryFromSourceParams([new AZ("("),K._.sql,new AZ(") "),new dA(K._.alias)],X)}if(gv(K)){if(K.schema)return{sql:G(K.schema)+"."+G(K.enumName),params:[]};return{sql:G(K.enumName),params:[]}}if(TN(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 dA{constructor($){this.value=$}static[L]="Name";brand;getSQL(){return new A$([this])}}function cv($){return typeof $==="object"&&$!==null&&"mapToDriverValue"in $&&typeof $.mapToDriverValue==="function"}var pv={mapFromDriverValue:($)=>$},dv={mapToDriverValue:($)=>$},fO$={...pv,...dv};class y8{constructor($,Z=dv){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 dA(A)}$.identifier=Y;function W(A){return new M4(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 M4{constructor($){this.name=$}static[L]="Placeholder";getSQL(){return new A$([this])}}function IG($,Z){return $.map((X)=>{if(v(X,M4)){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,M4)){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 w5$=Symbol.for("drizzle:IsDrizzleView");class Y6{static[L]="View";[j0];[w5$]=!0;constructor({name:$,schema:Z,selectedFields:X,query:J}){this[j0]={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])};k0.prototype.getSQL=function(){return new A$([this])};function zN($,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,k0))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?z4(H.table):!1;else if(typeof J[C]==="string"&&J[C]!==z4(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,k0))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 vG($,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 uA($,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 uv($,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 ov($){return $[t.Symbol.Columns]}function yG($){return v($,k0)?$._.alias:v($,Y6)?$[j0].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 nv($){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 MN=typeof TextDecoder>"u"?null:new TextDecoder;class rv{static[L]="ConsoleLogWriter";write($){console.log($)}}class wN{static[L]="DefaultLogger";writer;constructor($){this.writer=$?.writer??new rv}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 CN{static[L]="NoopLogger";logQuery(){}}var lv=Symbol.for("drizzle:PgInlineForeignKeys"),iv=Symbol.for("drizzle:EnableRLS");class RN extends t{static[L]="PgTable";static Symbol=Object.assign({},t.Symbol,{InlineForeignKeys:lv,EnableRLS:iv});[lv]=[];[iv]=!1;[t.Symbol.ExtraConfigBuilder]=void 0;[t.Symbol.ExtraConfigColumns]={}}class LN{static[L]="PgPrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new sv($,this.columns,this.name)}}class sv{constructor($,Z,X){this.table=$,this.columns=Z,this.name=X}static[L]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[RN.Symbol.Name]}_${this.columns.map(($)=>$.name).join("_")}_pk`}}function _8($,Z){if(cv(Z)&&!TN($)&&!v($,y8)&&!v($,M4)&&!v($,X0)&&!v($,t)&&!v($,Y6))return new y8($,Z);return $}var p=($,Z)=>{return N`${$} = ${_8(Z,$)}`},oA=($,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 w4(...$){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 av($){return N`not ${$}`}var gX=($,Z)=>{return N`${$} > ${_8(Z,$)}`},tv=($,Z)=>{return N`${$} >= ${_8(Z,$)}`},ev=($,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 $y($,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 z1($){return N`${$} is null`}function bX($){return N`${$} is not null`}function gG($){return N`exists ${$}`}function nA($){return N`not exists ${$}`}function Zy($,Z,X){return N`${$} between ${_8(Z,$)} and ${_8(X,$)}`}function Xy($,Z,X){return N`${$} not between ${_8(Z,$)} and ${_8(X,$)}`}function Jy($,Z){return N`${$} like ${Z}`}function Gy($,Z){return N`${$} not like ${Z}`}function Yy($,Z){return N`${$} ilike ${Z}`}function Wy($,Z){return N`${$} not ilike ${Z}`}function I0($){return N`${$} asc`}function _Z($){return N`${$} desc`}class qN{constructor($,Z,X){this.sourceTable=$,this.referencedTable=Z,this.relationName=X,this.referencedTableName=Z[t.Symbol.Name]}static[L]="Relation";referencedTableName;fieldName}class Hy{constructor($,Z){this.table=$,this.config=Z}static[L]="Relations"}class C4 extends qN{constructor($,Z,X,J){super($,Z,X?.relationName);this.config=X,this.isNullable=J}static[L]="One";withFieldName($){let Z=new C4(this.sourceTable,this.referencedTable,this.config,this.isNullable);return Z.fieldName=$,Z}}class bG extends qN{constructor($,Z,X){super($,Z,X?.relationName);this.config=X}static[L]="Many";withFieldName($){let Z=new bG(this.sourceTable,this.referencedTable,this.config);return Z.fieldName=$,Z}}function Dy(){return{and:P$,between:Zy,eq:p,exists:gG,gt:gX,gte:tv,ilike:Yy,inArray:X8,isNull:z1,isNotNull:bX,like:Jy,lt:ev,lte:x6,ne:oA,not:av,notBetween:Xy,notExists:nA,notLike:Gy,notIlike:Wy,notInArray:$y,or:w4,sql:N}}function Ay(){return{sql:N,asc:I0,desc:_Z}}function Uy($,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=r5(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,LN))G[Y].primaryKey.push(...Q.columns)}}else if(v(W,Hy)){let H=r5(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 C5$($){return function(X,J){return new C4($,X,J,J?.fields.reduce((G,Y)=>G&&Y.notNull,!0)??!1)}}function R5$($){return function(X,J){return new bG($,X,J)}}function Ky($,Z,X){if(v(X,C4)&&X.config)return{fields:X.config.fields,references:X.config.references};let J=Z[r5(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[r5(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],C4)&&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 Vy($){return{one:C5$($),many:R5$($)}}function rA($,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,C4)?Q&&rA($,$[H.relationTableTsKey],Q,H.selection,G):Q.map((O)=>rA($,$[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 hX{constructor($){this.table=$}static[L]="ColumnAliasProxyHandler";get($,Z){if(Z==="table")return this.table;return $[Z]}}class hG{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===j0)return{...$[j0],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 hX(new Proxy($,this)))}),G}let X=$[Z];if(v(X,X0))return new Proxy(X,new hX(new Proxy($,this)));return X}}function lA($,Z){return new Proxy($,new hG(Z,!1))}function N9($,Z){return new Proxy($,new hX(new Proxy($.table,new hG(Z,!1))))}function EN($,Z){return new A$.Aliased(mG($.sql,Z),$.fieldAlias)}function mG($,Z){return N.join($.queryChunks.map((X)=>{if(v(X,X0))return N9(X,Z);if(v(X,A$))return mG(X,Z);if(v(X,A$.Aliased))return EN(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===j0)return{...$[j0],selectedFields:new Proxy($[j0].selectedFields,this)};if(typeof Z==="symbol")return $[Z];let J=(v($,k0)?$._.selectedFields:v($,Y6)?$[j0].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 hX(new Proxy(J.table,new hG(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 xN{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 Qy($,this)}}class Qy{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 Oy($,Z){return`${$[v8]}_${Z.join("_")}_unique`}class PZ extends BN{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 xN(()=>{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=Oy($,[Z.name]);super($,Z);this.table=$}static[L]="SQLiteColumn"}class By extends PZ{static[L]="SQLiteBigIntBuilder";constructor($){super($,"bigint","SQLiteBigInt")}build($){return new Ny($,this.config)}}class Ny 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(MN.decode($))}mapToDriverValue($){return Buffer.from($.toString())}}class _y extends PZ{static[L]="SQLiteBlobJsonBuilder";constructor($){super($,"json","SQLiteBlobJson")}build($){return new Py($,this.config)}}class Py 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(MN.decode($))}mapToDriverValue($){return Buffer.from(JSON.stringify($))}}class Fy extends PZ{static[L]="SQLiteBlobBufferBuilder";constructor($){super($,"buffer","SQLiteBlobBuffer")}build($){return new Ty($,this.config)}}class Ty extends b0{static[L]="SQLiteBlobBuffer";mapFromDriverValue($){if(Buffer.isBuffer($))return $;return Buffer.from($)}getSQLType(){return"blob"}}function zy($,Z){let{name:X,config:J}=B9($,Z);if(J?.mode==="json")return new _y(X);if(J?.mode==="bigint")return new By(X);return new Fy(X)}class My extends PZ{static[L]="SQLiteCustomColumnBuilder";constructor($,Z,X){super($,"custom","SQLiteCustomColumn");this.config.fieldConfig=Z,this.config.customTypeParams=X}build($){return new wy($,this.config)}}class wy 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 iA($){return(Z,X)=>{let{name:J,config:G}=B9(Z,X);return new My(J,G,$)}}class sA 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 aA extends b0{static[L]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class Cy extends sA{static[L]="SQLiteIntegerBuilder";constructor($){super($,"number","SQLiteInteger")}build($){return new Ry($,this.config)}}class Ry extends aA{static[L]="SQLiteInteger"}class Ly extends sA{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 qy($,this.config)}}class qy extends aA{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 Ey extends sA{static[L]="SQLiteBooleanBuilder";constructor($,Z){super($,"boolean","SQLiteBoolean");this.config.mode=Z}build($){return new xy($,this.config)}}class xy extends aA{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 Ly(X,J.mode);if(J?.mode==="boolean")return new Ey(X,J.mode);return new Cy(X)}class Sy extends PZ{static[L]="SQLiteNumericBuilder";constructor($){super($,"string","SQLiteNumeric")}build($){return new ky($,this.config)}}class ky extends b0{static[L]="SQLiteNumeric";mapFromDriverValue($){if(typeof $==="string")return $;return String($)}getSQLType(){return"numeric"}}class jy extends PZ{static[L]="SQLiteNumericNumberBuilder";constructor($){super($,"number","SQLiteNumericNumber")}build($){return new Iy($,this.config)}}class Iy extends b0{static[L]="SQLiteNumericNumber";mapFromDriverValue($){if(typeof $==="number")return $;return Number($)}mapToDriverValue=String;getSQLType(){return"numeric"}}class vy extends PZ{static[L]="SQLiteNumericBigIntBuilder";constructor($){super($,"bigint","SQLiteNumericBigInt")}build($){return new yy($,this.config)}}class yy extends b0{static[L]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function gy($,Z){let{name:X,config:J}=B9($,Z),G=J?.mode;return G==="number"?new jy(X):G==="bigint"?new vy(X):new Sy(X)}class by extends PZ{static[L]="SQLiteRealBuilder";constructor($){super($,"number","SQLiteReal")}build($){return new hy($,this.config)}}class hy extends b0{static[L]="SQLiteReal";getSQLType(){return"real"}}function my($){return new by($??"")}class fy extends PZ{static[L]="SQLiteTextBuilder";constructor($,Z){super($,"string","SQLiteText");this.config.enumValues=Z.enum,this.config.length=Z.length}build($){return new cy($,this.config)}}class cy 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 py extends PZ{static[L]="SQLiteTextJsonBuilder";constructor($){super($,"json","SQLiteTextJson")}build($){return new dy($,this.config)}}class dy 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 py(X);return new fy(X,J)}function uy(){return{blob:zy,customType:iA,integer:l$,numeric:gy,real:my,text:Z$}}var SN=Symbol.for("drizzle:SQLiteInlineForeignKeys");class e0 extends t{static[L]="SQLiteTable";static Symbol=Object.assign({},t.Symbol,{InlineForeignKeys:SN});[t.Symbol.Columns];[SN]=[];[t.Symbol.ExtraConfigBuilder]=void 0}function L5$($,Z,X,J,G=$){let Y=new e0($,J,G),W=typeof Z==="function"?Z(uy()):Z,H=Object.fromEntries(Object.entries(W).map(([K,Q])=>{let O=Q;O.setName(K);let _=O.build(Y);return Y[SN].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 L5$($,Z,X)};class oy{constructor($,Z){this.name=$,this.value=Z}static[L]="SQLiteCheckBuilder";brand;build($){return new ny($,this)}}class ny{constructor($,Z){this.table=$,this.name=Z.name,this.value=Z.value}static[L]="SQLiteCheck";name;value}function ry($,Z){return new oy($,Z)}class kN{constructor($,Z){this.name=$,this.unique=Z}static[L]="SQLiteIndexBuilderOn";on(...$){return new ly(this.name,$,this.unique)}}class ly{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 iy(this.config,$)}}class iy{static[L]="SQLiteIndex";config;constructor($,Z){this.config={...$,table:Z}}}function $Z($){return new kN($,!1)}function qN$($){return new kN($,!0)}function R4(...$){if($[0].columns)return new jN($[0].columns,$[0].name);return new jN($)}class jN{static[L]="SQLitePrimaryKeyBuilder";columns;name;constructor($,Z){this.columns=$,this.name=Z}build($){return new sy($,this.columns,this.name)}}class sy{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($,k0))return $._.usedTables??[];if(v($,A$))return $.usedTables??[];return[]}class tA 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 q5$($){return($.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((X)=>X.toLowerCase()).join("_")}function E5$($){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 x5$($){return $}class IN{static[L]="CasingCache";cache={};cachedTables={};convert;constructor($){this.convert=$==="snake_case"?q5$:$==="camelCase"?E5$:x5$}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 mX extends Error{static[L]="DrizzleError";constructor({message:$,cause:Z}){super($);this.name="DrizzleError",this.cause=Z}}class M1 extends Error{constructor($,Z,X){super(`Failed query: ${$}
33
- params: ${Z}`);if(this.query=$,this.params=Z,this.cause=X,Error.captureStackTrace(this,M1),X)this.cause=X}}class vN extends mX{static[L]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function ay($){return N`count(${$||N.raw("*")})`.mapWith(Number)}class l5 extends Y6{static[L]="SQLiteViewBase"}class fX{static[L]="SQLiteDialect";casing;constructor($){this.casing=new IN($?.casing)}escapeName($){return`"${$.replace(/"/g,'""')}"`}escapeParam($){return"?"}escapeString($){return`'${$.replace(/'/g,"''")}'`}buildWithCTE($){if(!$?.length)return;let Z=[N`with `];for(let[X,J]of $.entries())if(Z.push(N`${N.identifier(J._.alias)} as (${J._.sql})`),X<$.length-1)Z.push(N`, `);return Z.push(N` `),N.join(Z)}buildDeleteQuery({table:$,where:Z,returning:X,withList:J,limit:G,orderBy:Y}){let W=this.buildWithCTE(J),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,k0)){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)&&z4(J0.field.table)!==(v(Y,k0)?Y._.alias:v(Y,l5)?Y[j0].name:v(Y,A$)?void 0:z4(Y))&&!((K0)=>W?.some(({alias:o$})=>o$===(K0[t.Symbol.IsAlias]?z4(K0):K0[t.Symbol.BaseName])))(J0.field.table)){let K0=z4(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,j=[];if(A){for(let[J0,K0]of A.entries())if(j.push(K0),J0<A.length-1)j.push(N`, `)}let X$=j.length>0?N` group by ${N.join(j)}`: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 j=G$.defaultFn();d$=v(j,A$)?j:N.param(j,G$)}else if(!G$.default&&G$.onUpdateFn!==void 0){let j=G$.onUpdateFn();d$=v(j,A$)?j:N.param(j,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(([j,X$])=>[j,N9(X$,W)]));if(Y.where){let j=typeof Y.where==="function"?Y.where(m,Dy()):Y.where;F=j&&mG(j,W)}let V$=[],e=[];if(Y.columns){let j=!1;for(let[X$,l]of Object.entries(Y.columns)){if(l===void 0)continue;if(X$ in G.columns){if(!j&&l===!0)j=!0;e.push(X$)}}if(e.length>0)e=j?e.filter((X$)=>Y.columns?.[X$]===!0):Object.keys(G.columns).filter((X$)=>!e.includes(X$))}else e=Object.keys(G.columns);for(let j of e){let X$=G.columns[j];V$.push({tsKey:j,value:X$})}let G$=[];if(Y.with)G$=Object.entries(Y.with).filter((j)=>!!j[1]).map(([j,X$])=>({tsKey:j,queryConfig:X$,relation:G.relations[j]}));let C$;if(Y.extras){C$=typeof Y.extras==="function"?Y.extras(m,{sql:N}):Y.extras;for(let[j,X$]of Object.entries(C$))V$.push({tsKey:j,value:EN(X$,W)})}for(let{tsKey:j,value:X$}of V$)K.push({dbKey:v(X$,A$.Aliased)?X$.fieldAlias:G.columns[j].name,tsKey:j,field:v(X$,X0)?N9(X$,W):X$,relationTableTsKey:void 0,isJson:!1,selection:[]});let d$=typeof Y.orderBy==="function"?Y.orderBy(m,Ay()):Y.orderBy??[];if(!Array.isArray(d$))d$=[d$];_=d$.map((j)=>{if(v(j,X0))return N9(j,W);return mG(j,W)}),Q=Y.limit,O=Y.offset;for(let{tsKey:j,queryConfig:X$,relation:l}of G$){let O$=Ky(Z,X,l),v$=r5(l.referencedTable),K$=X[v$],J0=`${W}_${j}`,K0=P$(...O$.fields.map(($$,z0)=>p(N9(O$.references[z0],J0),N9($$,W)))),o$=this.buildRelationalQuery({fullSchema:$,schema:Z,tableNamesMap:X,table:$[K$],tableConfig:Z[K$],queryConfig:v(l,C4)?X$===!0?{limit:1}:{...X$,limit:1}:X$,tableAlias:J0,joinOn:K0,nestedQueryRelation:l}),qZ=N`(${o$.sql})`.as(j);K.push({dbKey:j,tsKey:j,field:qZ,relationTableTsKey:K$,isJson:!0,selection:o$.selection})}}if(K.length===0)throw new mX({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,bG))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:lA(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=lA(J,W);C=this.buildSelectQuery({table:v(C,e0)?C:new k0(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:lA(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 yN extends fX{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 gN extends fX{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 bN{static[L]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class k6{static[L]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor($){this.fields=$.fields,this.session=$.session,this.dialect=$.dialect,this.withList=$.withList,this.distinct=$.distinct}from($){let Z=!!this.fields,X;if(this.fields)X=this.fields;else if(v($,k0))X=Object.fromEntries(Object.keys($._.selectedFields).map((J)=>[J,$[J]]));else if(v($,l5))X=$[j0].selectedFields;else if(v($,A$))X={};else X=ov($);return new hN({table:$,fields:X,isPartialSelect:Z,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class ty extends bN{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=yG($),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=yG(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,k0)?Z._.selectedFields:v(Z,Y6)?Z[j0].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(S5$()):X;if(!vG(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 k0(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 hN extends ty{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()}}uv(hN,[J8]);function eA($,Z){return(X,J,...G)=>{let Y=[J,...G].map((W)=>({type:$,isAll:Z,rightSelect:W}));for(let W of Y)if(!vG(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 S5$=()=>({union:k5$,unionAll:j5$,intersect:I5$,except:v5$}),k5$=eA("union",!1),j5$=eA("union",!0),I5$=eA("intersect",!1),v5$=eA("except",!1);class fG{static[L]="SQLiteQueryBuilder";dialect;dialectConfig;constructor($){this.dialect=v($,fX)?$:void 0,this.dialectConfig=v($,fX)?void 0:$}$with=($,Z)=>{let X=this;return{as:(G)=>{if(typeof G==="function")G=G(X);return new Proxy(new kG(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 k6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$})}function J(G){return new k6({fields:G??void 0,session:void 0,dialect:Z.getDialect(),withList:$,distinct:!0})}return{select:X,selectDistinct:J}}select($){return new k6({fields:$??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct($){return new k6({fields:$??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new yN(this.dialectConfig);return this.dialect}}class $U{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 mN(this.table,Z,this.session,this.dialect,this.withList)}select($){let Z=typeof $==="function"?$(new fG):$;if(!v(Z,A$)&&!vG(this.table[pA],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 mN(this.table,Z,this.session,this.dialect,this.withList,!0)}}class mN 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,uA(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 ZU{constructor($,Z,X,J){this.table=$,this.session=Z,this.dialect=X,this.withList=J}static[L]="SQLiteUpdateBuilder";set($){return new ey(this.table,uA(this.table,$),this.session,this.dialect,this.withList)}}class ey 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=yG(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,k0)?Z._.selectedFields:v(Z,l5)?Z[j0].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 cG extends A${constructor($){super(cG.buildEmbeddedCount($.source,$.filters).queryChunks);this.params=$,this.session=$.session,this.sql=cG.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 cN{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 fN(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many"):new XU(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?$:{},"many")}findFirst($){return this.mode==="sync"?new fN(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first"):new XU(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,$?{...$,limit:1}:{limit:1},"first")}}class XU 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)=>rA(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 fN extends XU{static[L]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class cX 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 pG{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 cN($,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 fG(X.dialect));return new Proxy(new kG(G.getSQL(),Z??("getSelectedFields"in G?G.getSelectedFields()??{}:{}),$,!0),new t0({alias:$,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count($,Z){return new cG({source:$,filters:Z,session:this.session})}with(...$){let Z=this;function X(H){return new k6({fields:H??void 0,session:Z.session,dialect:Z.dialect,withList:$})}function J(H){return new k6({fields:H??void 0,session:Z.session,dialect:Z.dialect,withList:$,distinct:!0})}function G(H){return new ZU(H,Z.session,Z.dialect,$)}function Y(H){return new $U(H,Z.session,Z.dialect,$)}function W(H){return new tA(H,Z.session,Z.dialect,$)}return{select:X,selectDistinct:J,update:G,insert:Y,delete:W}}select($){return new k6({fields:$??void 0,session:this.session,dialect:this.dialect})}selectDistinct($){return new k6({fields:$??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update($){return new ZU($,this.session,this.dialect)}$cache;insert($){return new $U($,this.session,this.dialect)}delete($){return new tA($,this.session,this.dialect)}run($){let Z=typeof $==="string"?N.raw($):$.getSQL();if(this.resultKind==="async")return new cX(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 cX(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 cX(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 cX(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 $g{static[L]="Cache"}class dG extends $g{strategy(){return"all"}static[L]="NoopCache";async get($){return}async put($,Z,X,J){}async onMutate($){}}async function pN($,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 Zg extends J8{constructor($){super();this.resultCb=$}static[L]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class dN{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,dG)||this.queryMetadata===void 0)try{return await X()}catch(J){throw new M1($,Z,J)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await X()}catch(J){throw new M1($,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 M1($,Z,J)}if(!this.cacheConfig)try{return await X()}catch(J){throw new M1($,Z,J)}if(this.queryMetadata.type==="select"){let J=await this.cache.get(this.cacheConfig.tag??await pN($,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 M1($,Z,Y)}return await this.cache.put(this.cacheConfig.tag??await pN($,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 M1($,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 Zg(()=>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 uN{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 mX({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 oN extends pG{constructor($,Z,X,J,G=0){super($,Z,X,J);this.schema=J,this.nestedIndex=G}static[L]="SQLiteTransaction";rollback(){throw new vN}}class GU extends uN{constructor($,Z,X,J,G){super(Z);this.client=$,this.schema=X,this.options=J,this.tx=G,this.logger=J.logger??new CN,this.cache=J.cache??new dG}static[L]="LibSQLSession";logger;cache;prepareQuery($,Z,X,J,G,Y,W){return new Jg(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 GU(this.client,this.dialect,this.schema,this.options,X),G=new nN("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 nN extends oN{static[L]="LibSQLTransaction";async transaction($){let Z=`sp${this.nestedIndex}`,X=new nN("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 Jg extends dN{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=IG(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=IG(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)=>Xg(X));if(this.customResultMapper)return this.customResultMapper($,JU);return $.map((X)=>{return zN(this.fields,Array.prototype.slice.call(X).map((J)=>JU(J)),this.joinsNotNullableMap)})}async get($){let{fields:Z,logger:X,query:J,tx:G,client:Y,customResultMapper:W}=this;if(!Z&&!W){let A=IG(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 Xg(X);if(!X)return;if(this.customResultMapper)return this.customResultMapper($,JU);return zN(this.fields,Array.prototype.slice.call(X).map((J)=>JU(J)),this.joinsNotNullableMap)}async values($){let Z=IG(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 Xg($){return Object.keys($).reduce((Z,X)=>{if(Object.prototype.propertyIsEnumerable.call($,X))Z[X]=$[X];return Z},{})}function JU($){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 Gg extends pG{static[L]="LibSQLDatabase";async batch($){return this.session.batch($)}}function pX($,Z={}){let X=new gN({casing:Z.casing}),J;if(Z.logger===!0)J=new wN;else if(Z.logger!==!1)J=Z.logger;let G;if(Z.schema){let H=Uy(Z.schema,Vy);G={fullSchema:Z.schema,schema:H.tables,tableNamesMap:H.tableNamesMap}}let Y=new GU($,X,G,{logger:J,cache:Z.cache},void 0),W=new Gg("async",X,Y,G);if(W.$client=$,W.$cache=Z.cache,W.$cache)W.$cache.invalidate=Z.cache?.onMutate;return W}function YU(...$){if(typeof $[0]==="string"){let Z=rN({url:$[0]});return pX(Z,$[1])}if(nv($[0])){let{connection:Z,client:X,...J}=$[0];if(X)return pX(X,J);let G=typeof Z==="string"?rN({url:Z}):rN(Z);return pX(G,J)}return pX($[0],$[1])}(($)=>{function Z(X){return pX({},X)}$.mock=Z})(YU||(YU={}));function Wg($){if($.authToken!==void 0)return $.authToken;if($.authTokenEnv===void 0)return;return process.env[$.authTokenEnv]}function j6($){let{url:Z,schema:X}=$,J=Wg($),G=J?Yg({url:Z,authToken:J}):Yg({url:Z});return{db:YU(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 y5$ from"crypto";import lN from"fs";function Hg($){let Z=$.migrationsFolder,X=[],J=`${Z}/meta/_journal.json`;if(!lN.existsSync(J))throw Error("Can't find meta/_journal.json file");let G=lN.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=lN.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:y5$.createHash("sha256").update(A).digest("hex")})}catch{throw Error(`No file ${H} found in ${Z} folder`)}}return X}async function Dg($,Z){let X=Hg(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 g5$($){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}=j6({url:X.url,schema:J,authToken:X.authToken,authTokenEnv:$.authTokenEnv});H.debug(`Running ${Z} migrations...`);try{await I6(K,Q),await Dg(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 b5$($,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:R4({columns:[$.id,$.entityType]}),visibilityCheck:ry("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)})),w1=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:R4({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:R4({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:R4({columns:[$.ruleId,$.ruleVersion,$.inputFingerprint]})}));function iN($){return j6({url:$.url,schema:{entities:h,projectionDirtyInputs:ZZ,projectionWaves:v0,projectionIncidents:g8,projectionWaveInputs:w1,projectionWaveRules:i$,projectionRuleMemos:H6},authToken:$.authToken,authTokenEnv:"DATABASE_AUTH_TOKEN"})}async function Ag($){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 Ug=iA({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:Ug("embedding").notNull(),contentHash:Z$("content_hash").notNull()},($)=>{return{pk:R4({columns:[$.entityId,$.entityType]})}});function sN($){return j6({url:$.url,schema:{embeddings:h0},authToken:$.authToken,authTokenEnv:"DATABASE_AUTH_TOKEN"})}async function aN($,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 tN($){await $.execute(`
66
- CREATE INDEX IF NOT EXISTS embeddings_embedding_idx
67
- ON embeddings(libsql_vector_idx(embedding))
68
- `)}async function eN($,Z){await $.execute(`ATTACH DATABASE '${Z}' AS emb`)}function $_($){return $.startsWith("file:")?$.slice(5):$}function D6($){return"restricted"}var h5$=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 uG{logger;embeddingService;entityService;messageBus;static createFresh($,Z,X){return new uG($,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:i5.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=h5$.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 Qg($,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");m5$($,Z.origin);let X=$.map((A)=>Kg(A.embedding)),J=Z.origin?Kg(Z.origin.embedding):f5$(X),G=p5$(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:Og(X[K]??new Float64Array,J)})),H=W.map((A)=>A.distanceToOrigin);return{origin:Y,points:W,neighbors:c5$($,X,Z.maxNeighborDistance),distanceRange:{min:H.length>0?Math.min(...H):0,max:H.length>0?Math.max(...H):0}}}function m5$($,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 Kg($){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 f5$($){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 Og($,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 c5$($,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=Og(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 p5$($){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=d5$(G,Y,H);if(!A){Y.push(Array(Z).fill(0)),W.push(0);continue}Y.push(A),W.push(Math.max(0,u5$(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 d5$($,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=Vg(G,Z),Z_(G)<=0.000000000001)return null;for(let W=0;W<100;W+=1){let H=Vg(Bg($,G),Z),A=Z_(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 Bg($,Z){return $.map((X)=>X.reduce((J,G,Y)=>J+G*(Z[Y]??0),0))}function Vg($,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=Z_(X);return J<=0.000000000001?X:X.map((G)=>G/J)}function Z_($){return Math.sqrt($.reduce((Z,X)=>Z+X*X,0))}function u5$($,Z){let X=Bg($,Z);return Z.reduce((J,G,Y)=>J+G*(X[Y]??0),0)}var o5$=12000,n5$=0.82;function Ng($,Z,X=o5$){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 r5$=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()}),l5$=D.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},D.record(D.string(),D.unknown()));class WU{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=r5$.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,_=Ng($,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=WU.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} < ${n5$}`,...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 Qg(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=Ng($,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=l5$.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 X_{entityRegistry;logger;constructor($,Z){this.entityRegistry=$,this.logger=Z.child("EntitySerializer")}serializeEntity($){let Z=this.entityRegistry.getAdapter($.entityType);return n5(Z.toMarkdown($),$.visibility)}deserializeEntity($,Z){let X=this.entityRegistry.getAdapter(Z),J;try{J=X.fromMarkdown($)}catch(K){throw bA(Z,K)??K}let{metadata:G,visibility:Y,...W}=J,H=yA($),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=n5(X.toMarkdown($),$.visibility),G=this.stripPolicyMetadata(X.extractMetadata($));return{markdown:J,metadata:G}}stripPolicyMetadata($){let{visibility:Z,...X}=$;return X}}var i5$=D.record(D.string(),D.unknown());function J_($){return{id:$.id,entityType:$.entityType,content:$.content,contentHash:$.contentHash,visibility:hA($.visibility),created:$.created,updated:$.updated,metadata:i5$.parse($.metadata)}}var s5$=D.object({field:D.string(),direction:D.enum(["asc","desc"]),nullsFirst:D.boolean().optional()}),a5$=D.object({limit:D.number().int().positive().optional(),offset:D.number().int().min(0).optional().default(0),sortFields:D.array(s5$).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 G_{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 J_(W)}async listEntities($,Z={},X){let J=a5$.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(J_),$);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(bX(W)),G(W)];return[G(W)]}if(Z==="updated"){let W=h.updated;if(J)return[I0(bX(W)),G(W)];return[G(W)]}let Y=N`json_extract(${h.metadata}, '$.' || ${Z})`;if(J)return[I0(bX(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 Pg}from"crypto";var _g="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var t5$=128,L4,dX;function e5$($){if($<0)throw RangeError("Wrong ID size");try{if(!L4||L4.length<$)L4=Buffer.allocUnsafe($*t5$),Pg.getRandomValues(L4),dX=0;else if(dX+$>L4.length)Pg.getRandomValues(L4),dX=0}catch(Z){throw L4=void 0,Z}dX+=$}function Y_($=21){e5$($|=0);let Z="";for(let X=dX-$;X<dX;X++)Z+=_g[L4[X]&63];return Z}function LZ($=12){return Y_($)}function DT$($){return`${$}_${Y_(12)}`}var $7$=D.custom(($)=>typeof $==="object"&&$!==null&&!Array.isArray($));function H_($){if(Array.isArray($))return $.map((X)=>X===void 0?null:H_(X));let Z=$7$.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,H_(J)]));return $}function D_($){return JSON.stringify(H_($))}function W_($){return q4(D_($))}var Z7$=D.object({id:D.string().min(1),entityType:D.string().min(1),contentHash:D.string().min(1)});function X7$($){try{let Z=Z7$.parse(JSON.parse($.data));return{entityId:Z.id,entityType:Z.entityType,contentHash:Z.contentHash}}catch{return null}}function Fg($){return`${$.entityType}:${$.entityId}:${$.contentHash}`}function J7$($){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 A_ extends Error{}class U_{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:q4(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=q4(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:W_({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(i5.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:q4(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=q4(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&&D_(Q.metadata)===D_(H)){if(this.logger.debug(`Skipping no-op update for ${G.entityType}:${G.id}`),X?.eventContext)await this.emitEntityEvent(i5.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:W_({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 A_;await this.upsertFtsIndex(O,G.id,G.entityType,W)})}catch(O){if(!(O instanceof A_))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(i5.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:${W_({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(i5.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(!J7$(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=Fg({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([E4.embedding]),Z=new Set;for(let X of $){let J=X7$(X);if(J)Z.add(Fg(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:E4.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 K_{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 G7$(Y,()=>G,Z)}async idle(){await this.tail}}class V_{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 G7$($,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 uX=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(uX),D.record(D.string(),uX)])),v6=D.record(D.string(),uX),Y7$=D.strictObject({id:D.string().trim().min(1),entityType:D.string().trim().min(1),content:D.string(),metadata:v6,visibility:O9}),x4=D.discriminatedUnion("operation",[D.strictObject({operation:D.literal("upsert"),entity:Y7$}),D.strictObject({operation:D.literal("delete"),entityType:D.string().trim().min(1),id:D.string().trim().min(1)})]);var Tg=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()}),W7$=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()}),zg=D.strictObject({ruleId:D.string().trim().min(1),ruleVersion:D.string().trim().min(1),inputFingerprint:D.string().trim().min(1)}),H7$=D.strictObject({ruleId:D.string().trim().min(1),targetType:D.string().trim().min(1),level:D.number().int().nonnegative()}),D7$=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 Q_($){return`${$.sourceType}\x00${$.sourceId}`}function Mg($){let Z=new Map;for(let X of $)Z.set(Q_(X),X);return[...Z.values()].sort((X,J)=>X.generation-J.generation)}function oX($){if(Array.isArray($))return`[${$.map((Z)=>oX(Z)).join(",")}]`;if($!==null&&typeof $==="object")return`{${Object.entries($).sort(([Z],[X])=>Z.localeCompare(X)).map(([Z,X])=>`${JSON.stringify(Z)}:${oX(X)}`).join(",")}}`;return JSON.stringify($)}function oG($){let Z=D.array(D7$).parse($.changedTargets);return{...$,changedTargets:Z}}class HU{db;mutationAdmission;transactionTail=new K_;constructor($,Z){this.db=$,this.mutationAdmission=Z}async markDirty($){let Z=Tg.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=Tg.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 Mg($)}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=Mg(K);return await G.insert(w1).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(w1).where(p(w1.waveId,$)).orderBy(I0(w1.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),oA(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$(z1(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=W7$.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(z1(g8.resolvedAt)),this.db.select().from(g8).where(z1(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(w1).where(p(w1.waveId,Z)),W=await $.select().from(ZZ),H=new Set(W.map(Q_)),A=Y.filter((_)=>!H.has(Q_(_)));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(H7$).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(oG)}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 oG(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?oG(J):null}async applyRuleResult($){let Z=D.string().trim().min(1).parse($.waveId),X=zg.parse({ruleId:$.ruleId,ruleVersion:$.ruleVersion,inputFingerprint:$.inputFingerprint}),J=D.array(x4).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 oG(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&&oX(Q.writeIntents)!==oX(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 oG(F)})}async getRuleMemo($){let Z=zg.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(x4).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=q4(Z.entity.content);if(W?.contentHash===H&&W.content===Z.entity.content&&W.visibility===Z.entity.visibility&&oX(W.metadata)===oX(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 A7$=/!\[([^\]]*)\]\(entity:\/\/image\/([^)]+)\)/g;function U7$($){return $.includes("entity://image/")}var K7$=new Set(["image"]);function wg($){return!K7$.has($)}class O_{logger;constructor($){this.logger=$.child("ContentResolver")}detectReferences($){let Z=[],X=new RegExp(A7$.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(!U7$($))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 Cg($,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 B_{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(E4.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 B_($)}constructor($){let{db:Z,client:X,url:J}=iN($.dbConfig);this.db=Z,this.dbClient=X,this.dbUrl=J,this.projectionStore=new HU(this.db,$.mutationAdmission);let G,Y;try{let W=iN($.dbConfig);G=W.client,this.searchDbClient=W.client;let H=sN($.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 X_(this.entityRegistry,this.logger),this.entityQueries=new G_({db:this.db,serializer:this.entitySerializer,logger:this.logger,embeddingDb:this.embeddingDb});let A=$.embeddingsEnabled??!0;if(this.entitySearch=new WU(W.db,$.embeddingService,this.entitySerializer,this.logger,A),this.entityMutations=new U_({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 O_(this.logger),$.embeddingsEnabled??!0){let K=uG.createFresh(this,$.embeddingService,$.messageBus);this.jobQueueService.registerHandler(E4.embedding,K),this.embeddingHandlerRegistered=!0}this.dbInitPromise=this.initializeDatabase($.embeddingDbConfig,$.embeddingService.dimensions),this.dbInitPromise.catch(()=>{})}catch(W){try{if(this.embeddingHandlerRegistered)$.jobQueueService?.unregisterHandler(E4.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 Ag(this.dbClient),await aN(this.embeddingDbClient,Z),await tN(this.embeddingDbClient),await eN(this.searchDbClient,$_($.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=Cg(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([E4.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(wg(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 N_{entitySchemas=new Map;entityAdapters=new Map;entityConfigs=new Map;createInterceptors=new Map;uploadSaveHandlers=[];persistValidators=new Map;frontmatterExtensions=new Map;logger;static createFresh($){return new N_($)}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 Lg{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=Rg(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 nX{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 V7$($,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 qg($,Z){return Z==="public"?$:`${$}-${Z}`}function Eg($,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 __{dataSources=new Map;logger;static createFresh($){return new __($)}constructor($){this.logger=$.child("DataSourceRegistry")}register($){let Z=$.id.includes(":")?$.id:`shell:${$.id}`;this.registerWithId(Z,$)}registerWithId($,Z){if(this.dataSources.has($)){let X=Error(`DataSource with id "${$}" already exists`);throw this.logger.error("DataSource registration failed",{error:X,id:$}),X}this.dataSources.set($,Z),this.logger.debug("DataSource registered",{id:$,name:Z.name})}unregister($){if(this.dataSources.delete($))this.logger.debug("DataSource unregistered",{id:$});else this.logger.warn("Attempted to unregister non-existent DataSource",{id:$})}get($){return this.dataSources.get($)}has($){return this.dataSources.has($)}list(){return Array.from(this.dataSources.values())}getIds(){return Array.from(this.dataSources.keys())}getByCapability($){return this.list().filter((Z)=>{switch($){case"canFetch":return!!Z.fetch;case"canGenerate":return!!Z.generate;case"canTransform":return!!Z.transform;default:return!1}})}find($){return this.list().filter($)}clear(){let $=this.dataSources.size;this.dataSources.clear(),this.logger.debug("DataSource registry cleared",{count:$})}}var xg=D.object({currentPage:D.number(),totalPages:D.number(),totalItems:D.number(),pageSize:D.number(),hasNextPage:D.boolean(),hasPrevPage:D.boolean()});function P_($,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 F_($,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:GJ(X)},visibilityScope:G}}});if(A[0])return A[0];let K=await $.listEntities({entityType:Z,options:{limit:200,filter:{visibilityScope:G}}}),Q=GJ(X);return K.find((O)=>typeof O.metadata.title==="string"&&GJ(O.metadata.title)===Q)??null}catch(Y){if(J)J.error(`Failed to find entity ${Z}:${X}`,{error:Y});return null}}async function Sg($,Z,X,J,G="Entity",Y="public"){let W=await F_($,Z,X,J,Y);if(!W)return{ok:!1,error:`${G} not found: ${Z}/${X}`};return{ok:!0,entity:W}}class S4{callback;heartbeatInterval;constructor($){this.callback=$}static from($){if(!$)return;return new S4($)}createSub($){let{scale:Z}=$??{};if(Z){let{start:X,end:J}=Z,G=J-X;return new S4(async(Y)=>{let W=X+Y.progress/(Y.total??100)*G;await this.callback({...Y,progress:W,total:100})})}return new S4(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 Q7$=D.object({enabled:D.boolean().describe("Whether the plugin is enabled"),debug:D.boolean().describe("Enable debug logging for this plugin")});class nG extends Error{pluginId;issues;constructor($,Z){super(`Invalid plugin config for ${$}`);this.name="PluginConfigValidationError",this.pluginId=$,this.issues=Z}}var O7$=D.object({toolName:D.string(),args:D.unknown(),progressToken:D.union([D.string(),D.number()]).optional(),hasProgress:D.boolean().optional(),interfaceType:D.string(),actor:s5,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()}),B7$=D.object({resourceUri:D.string()});class a5{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 nG($,G.error.issues.map((Y)=>({path:Y.path.map(String).join("."),code:Y.code,message:Y.message})));this.config=G.data}setupMessageHandlers($){$.messaging.subscribe(rG.toolExecute(this.id),async(Z)=>{try{let X=O7$.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((j)=>j.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(j)=>{await $.messaging.send({type:rG.progress(this.id),payload:{progressToken:Y,notification:j}})}}};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(rG.resourceGet(this.id),async(Z)=>{try{let X=B7$.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 S4.from(async(J)=>{await Z.messaging.send({type:rG.progress(X),payload:{progressToken:$,notification:{progress:J.progress,total:J.total,message:J.message}}})})}}var kg=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()}),T_=["primary","secondary"],jg=D.object({show:D.boolean().default(!1),label:D.string().optional(),slot:D.enum(T_).default("primary"),priority:D.number().min(0).max(100).default(50)}).optional(),z_=D.object({id:D.string(),path:D.string(),title:D.string().default(""),pageLabel:D.string().optional(),description:D.string().default(""),sections:D.array(kg).default([]),layout:D.string().default("default"),fullscreen:D.boolean().optional(),pluginId:D.string().optional(),sourceEntityType:D.string().optional(),external:D.boolean().optional(),navigation:jg}),Ig=D.object({routes:D.array(z_),pluginId:D.string()}),vg=D.object({paths:D.array(D.string()).optional(),pluginId:D.string().optional()}),yg=D.object({pluginId:D.string().optional()}),gg=D.object({path:D.string()}),DU=D.object({label:D.string(),href:D.string(),priority:D.number()});var N7$="site:metadata:get",_7$="site:metadata:updated",AU=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")}),M_=D.object({blurb:D.string().optional().describe("Short italic subtitle under the section title")}),w_=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:AU.optional().describe("Call-to-action configuration"),sections:D.record(D.string(),M_).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 P7$=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")}),F7$=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:AU.optional().describe("Call-to-action configuration"),sections:D.record(D.string(),M_).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(DU),secondary:D.array(DU)}),socialLinks:D.array(P7$).optional().describe("Social media links from profile metadata")});var T7$=D.record(D.string(),D.unknown());function bg($,Z){let X=T7$.safeParse($);return X.success&&Z.every((J)=>(J in X.data))}class lG{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 bg($,Z)}formatError($){return`Error: ${$}`}}var JM$=D.object({message:D.string()});var hg=D.record(D.string(),D.unknown());class iG{schema;config;processor=mg();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=hg.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=hg.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 w7$($){return $&&$.__esModule&&Object.prototype.hasOwnProperty.call($,"default")?$.default:$}var pZ={},UU={},k4={},fg;function sG(){if(fg)return k4;fg=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 C_,cg;function aG(){if(cg)return C_;cg=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)},C_=Z,C_}var R_,pg;function C7$(){if(pg)return R_;pg=1;let $=sG();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 R_=J,R_}var L_,dg;function G8(){if(dg)return L_;dg=1;let $=aG(),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 L_=G,L_}var q_,ug;function Kb(){if(ug)return q_;ug=1;let $=aG(),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},q_=G,q_}var E_,og;function Vb(){if(og)return E_;return og=1,E_=new(G8())("tag:yaml.org,2002:str",{kind:"scalar",construct:function(Z){return Z!==null?Z:""}}),E_}var x_,ng;function Qb(){if(ng)return x_;return ng=1,x_=new(G8())("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(Z){return Z!==null?Z:[]}}),x_}var S_,rg;function Ob(){if(rg)return S_;return rg=1,S_=new(G8())("tag:yaml.org,2002:map",{kind:"mapping",construct:function(Z){return Z!==null?Z:{}}}),S_}var k_,lg;function Bb(){if(lg)return k_;return lg=1,k_=new(Kb())({explicit:[Vb(),Qb(),Ob()]}),k_}var j_,ig;function Nb(){if(ig)return j_;ig=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 j_=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"}),j_}var I_,sg;function _b(){if(sg)return I_;sg=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 I_=new $("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Z,construct:X,predicate:J,represent:{lowercase:function(G){return G?"true":"false"},uppercase:function(G){return G?"TRUE":"FALSE"},camelcase:function(G){return G?"True":"False"}},defaultStyle:"lowercase"}),I_}var v_,ag;function Pb(){if(ag)return v_;ag=1;let $=sG(),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 v_=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"]}}),v_}var y_,tg;function Fb(){if(tg)return y_;tg=1;let $=sG(),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 y_=new Z("tag:yaml.org,2002:float",{kind:"scalar",resolve:G,construct:Y,predicate:A,represent:H,defaultStyle:"lowercase"}),y_}var g_,eg;function Tb(){if(eg)return g_;return eg=1,g_=Bb().extend({implicit:[Nb(),_b(),Pb(),Fb()]}),g_}var b_,$b;function zb(){if($b)return b_;return $b=1,b_=Tb(),b_}var h_,Zb;function Mb(){if(Zb)return h_;Zb=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 h_=new $("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:J,construct:G,instanceOf:Date,represent:Y}),h_}var m_,Xb;function wb(){if(Xb)return m_;Xb=1;let $=G8();function Z(X){return X==="<<"||X===null}return m_=new $("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Z}),m_}var f_,Jb;function Cb(){if(Jb)return f_;Jb=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 f_=new $("tag:yaml.org,2002:binary",{kind:"scalar",resolve:X,construct:J,predicate:Y,represent:G}),f_}var c_,Gb;function Rb(){if(Gb)return c_;Gb=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 c_=new $("tag:yaml.org,2002:omap",{kind:"sequence",resolve:J,construct:G}),c_}var p_,Yb;function Lb(){if(Yb)return p_;Yb=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 p_=new $("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:X,construct:J}),p_}var d_,Wb;function qb(){if(Wb)return d_;Wb=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 d_=new $("tag:yaml.org,2002:set",{kind:"mapping",resolve:X,construct:J}),d_}var u_,Hb;function n_(){if(Hb)return u_;return Hb=1,u_=zb().extend({implicit:[Mb(),wb()],explicit:[Cb(),Rb(),Lb(),qb()]}),u_}var Db;function R7$(){if(Db)return UU;Db=1;let $=sG(),Z=aG(),X=C7$(),J=n_(),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 j(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,k){if(w==="__proto__")Object.defineProperty(U,w,{configurable:!0,enumerable:!0,writable:!0,value:k});else U[w]=k}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 k={name:U.filename,buffer:U.input.slice(0,-1),position:U.position,line:U.line,column:U.position-U.lineStart};return k.snippet=X(k),new Z(w,k)}function $$(U,w){throw qZ(U,w)}function z0(U,w){if(U.onWarning)U.onWarning.call(null,qZ(U,w))}function m0(U,w,k){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]=k}function oZ(U){U.anchorMapTransactions.push(Object.create(null))}function K6(U){let w=U.anchorMapTransactions.pop(),k=U.anchorMapTransactions;if(k.length===0)return;let b=k[k.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 P9(U){let w=U.anchorMapTransactions.pop(),k=Object.keys(w);for(let b=k.length-1;b>=0;b-=1){let q=w[k[b]];if(q.existed)U.anchorMap[k[b]]=q.value;else delete U.anchorMap[k[b]]}}function $J(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 Y7(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 zY={YAML:function(w,k,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)z0(w,"unsupported YAML version of the document")},TAG:function(w,k,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,k,b){if(w<k){let q=U.input.slice(w,k);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 q1(U,w,k,b){if(!$.isObject(k))$$(U,"cannot merge mappings; the provided source object is unacceptable");let q=Object.keys(k);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,k[R]),b[R]=!0}}function F9(U,w,k,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)q1(U,w,n[y],k);else q1(U,w,n,k);else{if(!U.json&&!G.call(k,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 k[q]}return w}function W7(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,k){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)){W7(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(k!==-1&&b!==0&&U.lineIndent<k)z0(U,"deficient indentation");return b}function H7(U){let w=U.position,k=U.input.charCodeAt(w);if((k===45||k===46)&&k===U.input.charCodeAt(w+1)&&k===U.input.charCodeAt(w+2)){if(w+=3,k=U.input.charCodeAt(w),k===0||C$(k))return!0}return!1}function T9(U,w){if(w===1)U.result+=" ";else if(w>1)U.result+=$.repeat(`
96
- `,w-1)}function MY(U,w,k){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)||k&&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)||k&&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&&H7(U)||k&&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 wY(U,w){let k,b,q=U.input.charCodeAt(U.position);if(q!==39)return!1;U.kind="scalar",U.result="",U.position++,k=b=U.position;while((q=U.input.charCodeAt(U.position))!==0)if(q===39)if(P8(U,k,U.position,!0),q=U.input.charCodeAt(++U.position),q===39)k=U.position,U.position++,b=U.position;else return!0;else if(e(q))P8(U,k,b,!0),T9(U,y0(U,!1,w)),k=b=U.position;else if(U.position===U.lineStart&&H7(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 ZJ(U,w){let k,b,q,n=U.input.charCodeAt(U.position);if(n!==34)return!1;U.kind="scalar",U.result="",U.position++,k=b=U.position;while((n=U.input.charCodeAt(U.position))!==0)if(n===34)return P8(U,k,U.position,!0),U.position++,!0;else if(n===92){if(P8(U,k,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=j(n))>=0)R=(R<<4)+q;else $$(U,"expected hexadecimal character");U.result+=v$(R),U.position++}else $$(U,"unknown escape sequence");k=b=U.position}else if(e(n))P8(U,k,b,!0),T9(U,y0(U,!1,w)),k=b=U.position;else if(U.position===U.lineStart&&H7(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 CY(U,w){let k=!0,b,q,n,B=U.tag,R,d=U.anchor,y,g,u,c,D$=Object.create(null),W$,B$,T$,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(!k)$$(U,"missed comma between flow collection entries");else if(m$===44)$$(U,"expected the node content, but found ','");if(B$=W$=T$=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,M9(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),M9(U,w,Y,!1,!0),T$=U.result;if(c)F9(U,R,D$,B$,W$,T$,b,q,n);else if(g)R.push(F9(U,null,D$,B$,W$,T$,b,q,n));else R.push(W$);if(y0(U,!0,w),m$=U.input.charCodeAt(U.position),m$===44)k=!0,m$=U.input.charCodeAt(++U.position);else k=!1}$$(U,"unexpected end of the stream within a flow collection")}function RY(U,w){let k,b=K,q=!1,n=!1,B=w,R=0,d=!1,y,g=U.input.charCodeAt(U.position);if(g===124)k=!1;else if(g===62)k=!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){W7(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(k)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 z9(U,w){let{tag:k,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(M9(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=k,U.anchor=b,U.kind="sequence",U.result=q,!0;return!1}function LY(U,w,k){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 T$=U.input.charCodeAt(U.position);while(T$!==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((T$===63||T$===58)&&C$(m$)){if(T$===63){if(W$)F9(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,T$=m$}else{if(q=U.line,n=U.lineStart,B=U.position,!M9(U,k,W,!1,!0))break;if(U.line===B0){T$=U.input.charCodeAt(U.position);while(G$(T$))T$=U.input.charCodeAt(++U.position);if(T$===58){if(T$=U.input.charCodeAt(++U.position),!C$(T$))$$(U,"a whitespace character is expected after the key-value separator within a block mapping");if(W$)F9(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(M9(U,w,A,!0,b))if(W$)c=U.result;else D$=U.result;if(!W$)F9(U,y,g,u,c,D$,q,n,B),u=c=D$=null;y0(U,!0,-1),T$=U.input.charCodeAt(U.position)}if((U.line===B0||U.lineIndent>w)&&T$!==0)$$(U,"bad indentation of a mapping entry");else if(U.lineIndent<w)break}if(W$)F9(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 Y3(U){let w=!1,k=!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)k=!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(!k){if(b=U.input.slice(B-1,U.position+1),!C.test(b))$$(U,"named tag handle cannot contain such characters");k=!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 qY(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 k=U.position;while(w!==0&&!C$(w)&&!d$(w))w=U.input.charCodeAt(++U.position);if(U.position===k)$$(U,"name of an anchor node must contain at least one character");return U.anchor=U.input.slice(k,U.position),!0}function EY(U){let w=U.input.charCodeAt(U.position);if(w!==42)return!1;w=U.input.charCodeAt(++U.position);let k=U.position;while(w!==0&&!C$(w)&&!d$(w))w=U.input.charCodeAt(++U.position);if(U.position===k)$$(U,"name of an alias node must contain at least one character");let b=U.input.slice(k,U.position);if(!G.call(U.anchorMap,b))$$(U,'unidentified alias "'+b+'"');return U.result=U.anchorMap[b],y0(U,!0,-1),!0}function W3(U,w,k,b){let q=$J(U);if(oZ(U),Y7(U,w),U.tag=null,U.anchor=null,U.kind=null,U.result=null,LY(U,k,b)&&U.kind==="mapping")return K6(U),!0;return P9(U),Y7(U,q),!1}function M9(U,w,k,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===k||H===k;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),T$=$J(U);if(d&&(B$===33&&U.tag!==null||B$===38&&U.anchor!==null))break;if(!Y3(U)&&!qY(U))break;if(g===null)g=T$;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===k){if(Y===k||W===k)c=w;else c=w+1;if(D$=U.position-U.lineStart,R===1)if(B&&(z9(U,D$)||LY(U,D$,c))||CY(U,c))y=!0;else{let B$=U.input.charCodeAt(U.position);if(g!==null&&W$&&!B&&B$!==124&&B$!==62&&W3(U,g,g.position-g.lineStart,c))y=!0;else if(n&&RY(U,c)||wY(U,c)||ZJ(U,c))y=!0;else if(EY(U)){if(y=!0,U.tag!==null||U.anchor!==null)$$(U,"alias node should not have any properties")}else if(MY(U,c,Y===k)){if(y=!0,U.tag===null)U.tag="?"}if(U.anchor!==null)m0(U,U.anchor,U.result)}else if(R===0)y=B&&z9(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,T$=U.implicitTypes.length;B$<T$;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 T$=0,m$=B$.length;T$<m$;T$+=1)if(U.tag.slice(0,B$[T$].tag.length)===B$[T$].tag){u=B$[T$];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 H3(U){let w=U.position,k=!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;k=!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)W7(U);if(G.call(zY,n))zY[n](U,n,B);else z0(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(k)$$(U,"directives end mark is expected");if(M9(U,U.lineIndent-1,A,!1,!0),y0(U,!0,-1),U.checkLineBreaks&&F.test(U.input.slice(w,U.position)))z0(U,"non-ASCII line breaks are interpreted as content");if(U.documents.push(U.result),U.position===U.lineStart&&H7(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 xY(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 k=new o$(U,w),b=U.indexOf("\x00");if(b!==-1)k.position=b,$$(k,"null byte is not allowed in input");k.input+="\x00";while(k.input.charCodeAt(k.position)===32)k.lineIndent+=1,k.position+=1;while(k.position<k.length-1)H3(k);return k.documents}function SY(U,w,k){if(w!==null&&typeof w==="object"&&typeof k>"u")k=w,w=null;let b=xY(U,k);if(typeof w!=="function")return b;for(let q=0,n=b.length;q<n;q+=1)w(b[q])}function D3(U,w){let k=xY(U,w);if(k.length===0)return;else if(k.length===1)return k[0];throw new Z("expected a single document in the stream, but found more")}return UU.loadAll=SY,UU.load=D3,UU}var o_={},Ab;function L7$(){if(Ab)return o_;Ab=1;let $=sG(),Z=aG(),X=n_(),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,j=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 z0(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 P9(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=z0(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 $J(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 Y7(B,R){return`
106
- `+$.repeat(" ",B.indent*R)}function zY(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 q1(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 F9(B){return q1(B)&&B!==Y&&B!==A&&B!==H}function W7(B,R,d){let y=F9(B),g=y&&!P8(B);return(d?y:y&&B!==V$&&B!==l&&B!==O$&&B!==K$&&B!==K0)&&B!==_&&!(R===G$&&!g)||F9(R)&&!P8(R)&&B===_||R===G$&&g}function y0(B){return q1(B)&&B!==Y&&!P8(B)&&B!==e&&B!==j&&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 H7(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 MY(B){return/^\n* /.test(B)}let wY=1,ZJ=2,CY=3,RY=4,z9=5;function LY(B,R,d,y,g,u,c,D$){let W$,B$=0,T$=null,m$=!1,B0=!1,VF=y!==-1,XJ=-1,JJ=y0(T9(B,0))&&H7(T9(B,B.length-1));if(R||c)for(W$=0;W$<B.length;B$>=65536?W$+=2:W$++){if(B$=T9(B,W$),!q1(B$))return z9;JJ=JJ&&W7(B$,T$,D$),T$=B$}else{for(W$=0;W$<B.length;B$>=65536?W$+=2:W$++){if(B$=T9(B,W$),B$===H){if(m$=!0,VF)B0=B0||W$-XJ-1>y&&B[XJ+1]!==" ",XJ=W$}else if(!q1(B$))return z9;JJ=JJ&&W7(B$,T$,D$),T$=B$}B0=B0||VF&&(W$-XJ-1>y&&B[XJ+1]!==" ")}if(!m$&&!B0){if(JJ&&!c&&!g(B))return wY;return u===K6?z9:ZJ}if(d>9&&MY(B))return z9;if(!c)return B0?RY:CY;return u===K6?z9:ZJ}function Y3(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 zY(B,B$)}switch(LY(R,D$,B.indent,c,W$,B.quotingType,B.forceQuotes&&!y,g)){case wY:return R;case ZJ:return"'"+R.replace(/'/g,"''")+"'";case CY:return"|"+qY(R,B.indent)+EY($J(R,u));case RY:return">"+qY(R,B.indent)+EY($J(W3(R,c),u));case z9:return'"'+H3(R)+'"';default:throw new Z("impossible error: invalid scalar style")}}()}function qY(B,R){let d=MY(B)?String(R):"",y=B[B.length-1]===`
107
- `,u=y&&(B[B.length-2]===`
108
- `||B===`
109
- `)?"+":y?"":"-";return d+u+`
110
- `}function EY(B){return B[B.length-1]===`
111
- `?B.slice(0,-1):B}function W3(B,R){let d=/(\n+)([^\n]*)/g,y=function(){let D$=B.indexOf(`
112
- `);return D$=D$!==-1?D$:B.length,d.lastIndex=D$,M9(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
- `:"")+M9(W$,R),g=u}return y}function M9(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 H3(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&&q1(d)){if(R+=B[y],d>=65536)R+=B[y+1]}else R+=g||m0(d)}return R}function xY(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(k(B,R,D$,!1,!1)||typeof D$>"u"&&k(B,R,null,!1,!1)){if(y!=="")y+=","+(!B.condenseFlow?" ":"");y+=B.dump}}B.tag=g,B.dump="["+y+"]"}function SY(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(k(B,R+1,W$,!0,!0,!1,!0)||typeof W$>"u"&&k(B,R+1,null,!0,!0,!1,!0)){if(!y||g!=="")g+=Y7(B,R);if(B.dump&&H===B.dump.charCodeAt(0))g+="-";else g+="- ";g+=B.dump}}B.tag=u,B.dump=g||"[]"}function D3(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],T$=d[B$];if(B.replacer)T$=B.replacer.call(d,B$,T$);if(!k(B,R,B$,!1,!1))continue;if(B.dump.length>1024)W$+="? ";if(W$+=B.dump+(B.condenseFlow?'"':"")+":"+(B.condenseFlow?"":" "),!k(B,R,T$,!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$+=Y7(B,R);let T$=c[D$],m$=d[T$];if(B.replacer)m$=B.replacer.call(d,T$,m$);if(!k(B,R+1,T$,!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$+=Y7(B,R);if(!k(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 k(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]",T$,m$;if(B$)T$=B.duplicates.indexOf(d),m$=T$!==-1;if(B.tag!==null&&B.tag!=="?"||m$||B.indent!==2&&R>0)g=!1;if(m$&&B.usedDuplicates[T$])B.dump="*ref_"+T$;else{if(B$&&m$&&!B.usedDuplicates[T$])B.usedDuplicates[T$]=!0;if(D$==="[object Object]"){if(y&&Object.keys(B.dump).length!==0){if(U(B,R,B.dump,g),m$)B.dump="&ref_"+T$+B.dump}else if(D3(B,R,B.dump),m$)B.dump="&ref_"+T$+" "+B.dump}else if(D$==="[object Array]"){if(y&&B.dump.length!==0){if(B.noArrayIndent&&!c&&R>0)SY(B,R-1,B.dump,g);else SY(B,R,B.dump,g);if(m$)B.dump="&ref_"+T$+B.dump}else if(xY(B,R,B.dump),m$)B.dump="&ref_"+T$+" "+B.dump}else if(D$==="[object String]"){if(B.tag!=="?")Y3(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 P9(R);if(!d.noRefs)b(B,d);let y=B;if(d.replacer)y=d.replacer.call({"":y},"",y);if(k(d,0,y,!0,!0))return d.dump+`
118
- `;return""}return o_.dump=n,o_}var Ub;function q7$(){if(Ub)return pZ;Ub=1;let $=R7$(),Z=L7$();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=Kb(),pZ.FAILSAFE_SCHEMA=Bb(),pZ.JSON_SCHEMA=Tb(),pZ.CORE_SCHEMA=zb(),pZ.DEFAULT_SCHEMA=n_(),pZ.load=$.load,pZ.loadAll=$.loadAll,pZ.dump=Z.dump,pZ.YAMLException=aG(),pZ.types={binary:Cb(),float:Fb(),map:Ob(),null:Nb(),pairs:Lb(),set:qb(),timestamp:Mb(),bool:_b(),int:Pb(),merge:wb(),omap:Rb(),seq:Qb(),str:Vb()},pZ.safeLoad=X("safeLoad","load"),pZ.safeLoadAll=X("safeLoadAll","loadAll"),pZ.safeDump=X("safeDump","dump"),pZ}var E7$=q7$(),x7$=w7$(E7$),{Type:BM$,Schema:NM$,FAILSAFE_SCHEMA:_M$,JSON_SCHEMA:PM$,CORE_SCHEMA:FM$,DEFAULT_SCHEMA:TM$,load:S7$,loadAll:zM$,dump:k7$,YAMLException:MM$,types:wM$,safeLoad:CM$,safeLoadAll:RM$,safeDump:LM$}=x7$;var EM$=D.record(D.string(),D.unknown());class xb{format($){return $.message}parse($){return{message:$.trim()}}}var aM$=D.object({slug:D.string(),title:D.string(),type:D.string(),entityId:D.string(),contentHash:D.string()});function tG($,Z){return Z?$.nullable().default(null):$}function l_($){switch($.type){case"string":return tG(D.string(),$.optional);case"number":return tG(D.number(),$.optional);case"enum":return tG(D.enum($.options),$.optional);case"object":{let Z={};for(let[X,J]of Object.entries($.fields))Z[X]=l_(J);return tG(D.object(Z),$.optional)}case"array":{let Z=D.array(j7$($));if($.minItems!==void 0)Z=Z.min($.minItems);if($.length!==void 0)Z=Z.length($.length);return tG(Z,$.optional)}}}function j7$($){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]=l_(G);return D.object(X)}}}function r_($,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])=>r_(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])=>r_(J,G)),X}}}}function Sb($,Z){let X={};for(let[Y,W]of Object.entries(Z.fields))X[Y]=l_(W);let J=D.object(X),G=new iG(J,{title:Z.title,mappings:Object.entries(Z.fields).map(([Y,W])=>r_(Y,W))});return{name:$,description:Z.description,schema:J,formatter:G,requiredPermission:Z.requiredPermission??"public",layout:{component:Z.layout,...Z.fullscreen!==void 0?{fullscreen:Z.fullscreen}:{}},...Z.runtimeScripts?{runtimeScripts:Z.runtimeScripts}:{}}}function I7$($){let Z={};for(let[X,J]of Object.entries($.sections))Z[X]=Sb(X,J);return Z}var v7$=w_.omit({url:!0,analyticsScript:!0}),kb=v7$.extend({title:D.string().optional().describe("Optional site title override"),description:D.string().optional().describe("Optional site description override")});function jb($){return kb.parse(eG($).frontmatter)}async function y7$($){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 jb(X.content)}function i_($,Z={}){let X=Ib($),J=Ib(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 Ib($){return $.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class rX{static instance=null;entityDisplay;constructor(){}static getInstance(){return rX.instance??=new rX,rX.instance}configure($){this.entityDisplay=$}static resetInstance(){rX.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`/${A3($)}/${Z}`}}var yb=["primary","secondary"];var g7$=D.custom(($)=>typeof $==="function","Expected a Preact component"),b7$=D.strictObject({show:D.boolean().optional(),label:D.string().min(1).optional(),slot:D.enum(yb).optional(),priority:D.number().optional()}),h7$=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()}),m7$=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(h7$).optional(),layout:D.string().min(1).optional(),fullscreen:D.boolean().optional(),pluginId:D.string().optional(),sourceEntityType:D.string().optional(),external:D.boolean().optional(),navigation:b7$.optional()}),f7$=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(yb).optional(),priority:D.number().optional()}).optional()}),c7$=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()}),vb=D.strictObject({namespace:D.string().min(1),sections:D.record(D.string(),c7$)}),p7$=D.record(D.string(),D.json()),d7$=D.record(D.string(),D.record(D.string(),p7$)),gb=D.strictObject({layouts:D.record(D.string(),g7$).refine(($)=>typeof $.default==="function",{message:'Site layouts must include a "default" component'}),routes:D.array(m7$),content:d7$.optional(),sections:D.union([vb,D.array(vb)]).optional(),themeOverride:D.string().optional(),headScripts:D.array(D.string()).optional(),entityDisplay:D.record(D.string(),f7$),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 u7$=D.string();function o7$($){return $!==null&&typeof $==="object"&&!Array.isArray($)}var n7$=D.custom(($)=>{if(!o7$($))return!1;let{plugin:Z,...X}=$;if(Z!==void 0&&typeof Z!=="function")return!1;return gb.safeParse(X).success});var s_=D.enum(["file_operations","content_operations","data_processing","batch_processing"]),r7$=D.object({pluginId:D.string().optional(),progressToken:D.union([D.string(),D.number()]).optional(),operationType:s_,operationTarget:D.string().optional(),interfaceType:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),requestedByActor:s5.optional(),requestedByUserId:D.string().optional(),requestedByInterface:D.string().optional(),silent:D.boolean().optional(),provenance:t5.optional()}),e5=D.object({pluginId:D.string().optional(),progressToken:D.union([D.string(),D.number()]).optional(),operationType:s_,operationTarget:D.string().optional(),interfaceType:D.string().optional(),conversationId:D.string().optional(),channelId:D.string().optional(),requestedByActor:s5.optional(),requestedByUserId:D.string().optional(),requestedByInterface:D.string().optional(),silent:D.boolean().optional(),provenance:t5.optional(),rootJobId:D.string()}),bw$=D.enum(["none","skip","replace","coalesce"]);var l7$=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:e5,progress:D.custom(($)=>typeof $==="object"&&$!==null&&("progress"in $)&&typeof $.progress==="number").nullable(),result:D.unknown().nullable().optional()}),C1=15000;var a_=D.enum(["pending","processing","completed","failed"]),bb=D.enum(["completed","failed"]),Q$={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},i7$=D.object({id:D.string(),type:D.string(),status:a_,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()}),s7$=D.object({jobId:D.string(),type:D.string(),status:bb,result:D.unknown().optional(),error:D.string().optional()}),t_=D.object({success:D.literal(!1),error:D.string().optional()}),KU=D.object({id:D.string(),type:D.enum(["job","batch"]),status:a_,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:e5});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 hb($){return j6({url:$.url,schema:{jobQueue:f,jobWorkerSessions:u$},authToken:$.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN"})}class e_{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 a7$=D.looseObject({deduplicationKey:D.string().optional()});class $P{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=a7$.safeParse(X.metadata);return J.success&&J.data.deduplicationKey===Z})}}var t7$=2000,e7$=5,$X$=40,ZX$=new V_;class ZP{db;transactionClient;databaseUrl;logger;deduplicator=new $P;writeRetryBudgetMs;constructor($,Z,X,J,G){this.db=$,this.transactionClient=Z,this.databaseUrl=X,this.logger=J.child("JobQueueRepository"),this.writeRetryBudgetMs=G?.writeRetryBudgetMs??t7$}async insert($){await this.db.insert(f).values($)}async enqueueAtomic($){return ZX$.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(e7$*2**(Y-1),$X$),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=C1){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=C1){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$(w4(p(f.status,Q$.COMPLETED),p(f.status,Q$.FAILED)),x6(f.completedAt,Z)))).rowsAffected}async getActiveJobs($){let Z=w4(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),gX(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),w4(z1(f.attemptId),nA(A),P$(x6(f.leaseExpiresAt,Z),gG(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),w4(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,_),gG(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,$),z1(f.attemptId),w4(p(f.status,Q$.PENDING),p(f.status,Q$.PROCESSING)))}}import{AsyncLocalStorage as XX$}from"async_hooks";class lX{storage=new XX$;static createFresh(){return new lX}constructor(){}current(){return this.storage.getStore()}run($,Z,X){if(Z.length===0)throw Error("Operation ID must not be empty");let J=t5.parse($),G=JX$(J);return this.storage.run(Object.freeze({provenance:G,operationId:Z}),X)}}function JX$($){if(Object.freeze($.projectionLineage),$.sourceEntity)Object.freeze($.sourceEntity);return Object.freeze($)}class XP{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 XP($,Z??_9.getInstance(),X)}constructor($,Z,X){let{db:J,client:G,url:Y}=hb($);this.client=G,this.databaseUrl=Y,this.logger=Z.child("JobQueueService"),this.operationContext=X?.operationContext??lX.createFresh(),this.projectionAdmission=X?.projectionAdmission,this.handlerRegistry=new e_(this.logger,X?.handlerRegistrationMode??"combined"),this.repository=new ZP(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 t5.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=C1){await this.repository.startWorkerSession($,Z,Date.now(),X)}heartbeatWorkerSession($,Z,X=C1){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 mb extends Error{constructor($,Z){super(`Job ${$} exceeded its ${Z}ms execution deadline`);this.name="JobDeadlineExceededError"}}class JP{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 JP($,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??lX.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??C1,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=iX(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 mb($,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 _=t_.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=iX(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 GX$=86400000,fb=3600000;class GP{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh($,Z,X){return new GP($,Z,X)}constructor($,Z,X){this.jobQueue=$,this.logger=Z,this.clock=X?.clock}start($=fb){return this.requestTransition("start",$)}stop(){return this.requestTransition("stop",fb)}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());o5.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(o5.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(o5.make(),$));return{scope:$,fibers:Z}}cleanupTerminalBatchMetadata(){return a.tryPromise({try:()=>{let $=this.cleanup(GX$);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 YX$=D.preprocess(($)=>{if(typeof $!=="string")return $;return JSON.parse($)},D.record(D.string(),D.unknown()));class YP{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};polling=!1;static createFresh($,Z,X,J,G="combined"){return new YP($,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=S4.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:$Y.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:$Y.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=YX$.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?e5.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 WX$=D.record(D.string(),D.unknown());class ZY{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=WX$.safeParse($);return Z.success?Z.data:{}}}function WP($,Z,X){return async(J)=>{let{type:G,data:Y,toolContext:W=null,options:H,projection:A}=J,K=W?cb(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 HP($,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 DP($,Z){return(X,J)=>{let G=X.includes(":")?X:`${Z}:${X}`;$.registerHandler(G,J,Z)}}var HX$=D.custom(($)=>typeof $==="object"&&$!==null&&("safeParse"in $)),DX$=D.object({name:D.string(),schema:HX$});function pb($){return DX$.safeParse($).success}function AX$($){if(!$)return;return{status:$.status,message:$.message,lastCheck:$.lastCheck?.toISOString(),details:$.details}}function db($){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:AX$(Z.health)})),endpoints:$.endpoints,interactions:$.interactions}}var ub={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)})),$7=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 ob($){return j6({url:$.url,schema:{conversations:D0,messages:dZ,summaryTracking:$7},authToken:$.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var UX$=D.preprocess(($)=>{if(typeof $!=="string")return $;try{return JSON.parse($)}catch{return}},D.record(D.string(),D.unknown())).catch({});function Z7($){return UX$.parse($)}var QU="conversation:messageAdded",AP="conversation:started",XY=D.object({identity:s5,interfaceType:D.string(),role:IX,displayName:D.string().optional(),username:D.string().optional(),isBot:D.boolean().optional()}),KX$=D.preprocess(VX$,XY);function VX$($){if(!VU($)||"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:nb({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 JY=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()}),rb=D.looseObject({actor:KX$.optional(),source:JY.optional()});function lb($){if(typeof $==="string")try{let Z=JSON.parse($);return VU(Z)?Z:null}catch{return null}return VU($)?$:null}function QX$($){if($.role!=="assistant")return!1;if($.content.trim().length===0)return!1;let Z=lb($.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(!VU(G))return!1;if(G.kind==="tool-approval")return!0;return G.kind==="actions"&&G.id==="actions:upload-intent"})}function VU($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var OX$=D.object({id:D.string(),conversationId:D.string(),role:D.string(),content:D.string(),timestamp:D.string(),metadata:D.string().nullable()}),ib=D.object({conversationId:D.string(),messageCount:D.number(),messages:D.array(OX$),windowStart:D.number(),windowEnd:D.number(),windowSize:D.number(),timestamp:D.string()});class OU{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 OU($,Z,X,J)}static createFreshFromConfig($,Z,X,J){let{db:G,client:Y,url:W}=ob(X),H=new OU(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($7).values(K),this.logger.debug("Started new conversation",{conversationId:Z,sessionId:Z,interfaceType:X}),await this.messageBus.send({type:AP,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($7).set({messagesSinceSummary:N`${$7.messagesSinceSummary} + 1`,lastMessageId:W,updated:Y}).where(p($7.conversationId,Z)),this.logger.debug("Added message to conversation",{conversationId:Z,role:X,messageId:W}),await this.messageBus.send({type:QU,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?gX(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:ay()}).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={...Z7(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:ub.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 NX$($){let Z=IX.safeParse($);return Z.success?Z.data:"user"}function BU($){let Z=Z7($.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 sb($){return{id:$.id,conversationId:$.conversationId,role:NX$($.role),content:$.content,timestamp:$.timestamp,metadata:Z7($.metadata)}}function ab($){return DN.parse($)}function tb($){return AN.parse($)}function eb($){return async()=>{return db(await $.getAppInfo())}}function $h($,Z){return{get:()=>ab($.getIdentity()),getProfile:()=>tb($.getProfile()),getAppInfo:Z}}function Zh($,Z){let X=$.getProfileKindRegistry();return{register:(J)=>{X.register(Z,J)},getResolved:()=>X.getResolved(),getSelectedDefinition:()=>X.getSelectedDefinition()}}function UP($){let Z=$.getChannelRegistry();return{listDescriptors:()=>Z.listDescriptors(),getDescriptor:(X)=>Z.getDescriptor(X),getDeliveryProvider:(X)=>Z.getDeliveryProvider(X)}}function Xh($,Z){let X=$.getOperationalHealthRegistry();return{register:(J,G)=>X.register(Z,J,G)}}function Jh($,Z){let X=$.getInboxRegistry();return{registerSource:(J)=>{X.registerSource(Z,J)},listSources:()=>X.listSources(),getSource:(J)=>X.getSource(J)}}function Gh($,Z){let X=$.getChannelRegistry();return{...UP($),registerDescriptor:(J)=>{X.registerDescriptor(Z,J)},registerDeliveryProvider:(J)=>{X.registerDeliveryProvider(Z,J)}}}function Yh($,Z,X,J=!1){let G=$.getMessageBus();return{send:async(W)=>{return G.send({...W,sender:Z})},subscribe:(W,H)=>{if(J)return()=>{};if(pb(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 Wh($,Z){let X=$.getJobQueueService();return{...$.jobs,enqueue:WP(X,Z,!0),enqueueBatch:HP($.jobs,Z),registerHandler:DP(X,Z)}}function Hh($){let Z=$.getPermissionService();return{assertEntityActionAllowed:(X,J,G)=>{Z.assertEntityActionAllowed(X,J,G.userPermissionLevel)}}}function Dh($){return{get:async(Z)=>{let J=await $.getConversationService().getConversation(Z);return J?BU(J):null},search:async(Z)=>{return(await $.getConversationService().searchConversations(Z)).map(BU)},list:async(Z)=>{return(await $.getConversationService().listConversations(Z)).map(BU)},getMessages:async(Z,X)=>{return(await $.getConversationService().getMessages(Z,X)).map(sb)},countMessages:async(Z)=>{return $.getConversationService().countMessages(Z)}}}function Ah($,Z){return{registerHandler:(X,J)=>{$.registerEvalHandler(Z,X,J)}}}function Uh($){return{register:(Z,X)=>{$.getInsightsRegistry().register(Z,X)}}}function Kh($){return{has:(Z)=>$.getPluginPackageName(Z)!==void 0}}function Vh($,Z){return{register:(X)=>{$.registerEndpoint({...X,pluginId:Z})}}}function Qh($,Z){return{register:(X)=>{$.registerInteraction({...X,pluginId:Z})}}}function Oh($,Z){return{registerWidget:async(X)=>{await $.send({type:KP.registerWidget,payload:{...X,pluginId:Z}})},unregisterWidget:async(X)=>{await $.send({type:KP.unregisterWidget,payload:{pluginId:Z,...X?{widgetId:X}:{}}})}}}function X7($,Z,X){let J=$.getEntityService(),G=$.getLogger().child(Z),Y=$.getDomain(),W=$.getLocalSiteUrl(),H=$.shouldPreferLocalUrls(),A=$.getThemeCSS(),K=eb($),Q=$.getAttachmentRegistry(),O=$.getRuntimeUploadRegistry(),_=$.getRuntimeState(),F=X?.executionOnly===!0,M=Yh($,Z,G,F);return{pluginId:Z,executionOnly:F,logger:G,entityService:J,semantic:{project:(C)=>J.projectSemanticSpace(C)},identity:$h($,K),profileKinds:Zh($,Z),channels:UP($),inbox:Jh($,Z),appInfo:K,readiness:()=>$.getRuntimeReadiness(),operationalHealth:Xh($,Z),judge:(C)=>$.judge(C),domain:Y,siteUrl:Y?`https://${Y}`:void 0,localSiteUrl:W,previewUrl:Y?`https://${i_(Y)}`:void 0,preferLocalUrls:H,themeCSS:A,entityDisplay:X?.entityDisplay,spaces:$.getSpaces(),permissions:Hh($),messaging:M,dashboard:Oh(M,Z),jobs:Wh($,Z),attachments:Q,uploads:O,runtimeState:_,recurringChecks:$.getRecurringChecks(Z),conversations:Dh($),dataDir:$.getDataDir(),eval:F?{registerHandler:()=>{}}:Ah($,Z),insights:F?{register:()=>{}}:Uh($),plugins:Kh($),endpoints:F?{register:()=>{}}:Vh($,Z),interactions:F?{register:()=>{}}:Qh($,Z)}}function _X$($){return $.replace(/:/g,"-")}function PX$($){return $.split(/[:.-]/).map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join(" ")}var VP=new Map;async function NU($,Z,X){let J=VP.get(Z);if(J!==void 0)return J;let G=_X$(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 VP.set(Z,W),W}try{let W=PX$(Z),H=P1(X,{title:W,target:Z});await $.createEntity({entity:{id:G,entityType:"prompt",content:H,metadata:{title:W,target:Z,slug:G}}})}catch{}return VP.set(Z,X),X}async function FX$($,Z){let X=$.list().filter((J)=>!!J.basePrompt);return await Promise.all(X.map((J)=>NU(Z,J.name,J.basePrompt))),X.length}function _U($){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 PU($){return{resolve:(Z,X)=>{return NU($,Z,X)}}}function FU($){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 QP($,Z,X){let J=X7($,Z,X),G=$.getEntityService();return{...J,entityService:G,entities:_U($),ai:FU($),prompts:PU(G),permissions:J.permissions}}var OP=D.object({});class GY extends a5{type="entity";entityActionPolicy;constructor($,Z,X,J,G){super($,Z,X,J);if(G!==void 0)this.entityActionPolicy=G}async register($,Z){let X=QP($,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!==GY.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 NP($){return Bh(BP($))}function BP($,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)=>BP(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)}:${BP(Y,X)}`).join(",")}}`}function _P($){if($!==null&&typeof $==="object"){for(let Z of Object.values($))_P(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 PP($){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 _P($.inputSchema.parse(H))},fingerprint:NP,derive:async(J,G,Y)=>{let W=$.inputSchema.parse(J),H=D.array(x4).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 _P(H)}})}var zX$=D.record(D.string(),D.unknown()),MX$=D.object({items:D.array(D.object({operation:D.enum(["upsert","delete"]),id:D.string(),source:v6.optional()}))}),Nh=new WeakMap;function TU($){let Z=Nh.get($);if(!Z)Z=G6.extend({entityType:D.literal($.type),metadata:$.metadata}),Nh.set($,Z);return Z}function _h($,Z){return TU($).parse(Z)}function Ph($,Z){return $.markdown?$.markdown.encode({content:Z.content,metadata:$.metadata.parse(Z.metadata)}):{content:Z.content,frontmatter:Z.metadata}}function Fh($,Z){let X=Ph($,Z);return P1(X.content,X.frontmatter)}function wX$($){let Z=TU($);return{entityType:$.type,purpose:$.purpose,schema:Z,frontmatterSchema:$.metadata,toMarkdown(X){return Fh($,X)},fromMarkdown(X){let J=cZ(X,zX$),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 xG(Ph($,X).frontmatter)},getBodyTemplate:()=>""}}async function CX$($,Z,X){let J=TU($.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:n5(Fh($.target,{content:Y.content,metadata:W}),H),metadata:W,visibility:H}})}}}),G}function RX$($,Z,X){return PP({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=MX$.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 CX$($,A.source,Y))}return H}})}class Th extends GY{projections;scope;entityType;schema;adapter;constructor($,Z,X,J){super(J($.type),X,{},OP);this.projections=Z,this.scope=J,this.entityType=$.type,this.schema=TU($),this.adapter=wX$($)}getProjectionRules(){return this.projections.map(($)=>RX$($,this.version,this.scope))}}function zh($,Z,X,J){return $.map((G)=>new Th(G,Z.filter(({source:Y})=>Y===G),X,J))}var Mh=Symbol.for("rizom.plugin-package.runtime-factory");function sX(){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 j4($){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,Mh,{configurable:!1,enumerable:!1,value:$.instantiate,writable:!1}),Object.freeze(X)}function LX$($){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[Mh]==="function"}function qX$($){if(uZ($.type,"Entity type"),!$.purpose.trim())throw Error(`Entity "${$.type}" purpose must not be empty`);return Object.freeze({kind:"rizom-entity",...$})}function EX$($){return uZ($.id,"Projection id"),Object.freeze({kind:"rizom-projection",...$})}var xX$=D.object({});function SX$($){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 j4({family:"entity",id:$.id,config:xX$,public:H,instantiate:({package:A,scope:K})=>zh(Z,X,A,K)})}var wh=new WeakMap;function Ch($){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)FP($.deadline);let Z={kind:"rizom-service-job",...$,handle(X){let J=Object.freeze({kind:"rizom-service-job-binding",definition:Z});return wh.set(J,X),J}};return Object.freeze(Z)}function Rh($){let Z=wh.get($);if(!Z)throw Error(`Job "${$.definition.name}" was not created by defineJob().handle()`);return Z}function FP($){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 Lh($){if(uZ($.name,"Tool name"),!$.description.trim())throw Error(`Tool "${$.name}" description must not be empty`);return Object.freeze({kind:"rizom-service-tool",...$})}function TP($){if(!$.title.trim())throw Error("Account settings title must not be empty");if($.description!==void 0&&!$.description.trim())throw Error("Account settings description must not be empty");let Z=new Set(Object.keys($.schema.shape)),X=new Set(["text","url","number","checkbox"]);for(let[G,Y]of Object.entries($.fields)){if(!Y)continue;if(!Z.has(G))throw Error(`Account settings field "${G}" is not declared by the settings schema`);if(!Y.label.trim())throw Error(`Account settings field "${G}" label must not be empty`);if(Y.control!==void 0&&!X.has(Y.control))throw Error(`Account settings field "${G}" has unsupported control "${String(Y.control)}"`);if(Y.secret!==void 0&&typeof Y.secret!=="boolean")throw Error(`Account settings field "${G}" secret must be boolean`)}let J=Object.freeze(Object.fromEntries(Object.entries($.fields).map(([G,Y])=>[G,Y?Object.freeze({...Y}):Y])));return Object.freeze({kind:"rizom-account-settings",...$,fields:J})}var kX$=new WeakMap;function Eh($){if(uZ($.id,"Dashboard widget id"),YY($.title,`Dashboard widget "${$.id}" title`),YY($.group,`Dashboard widget "${$.id}" group`),$.description!==void 0)YY($.description,`Dashboard widget "${$.id}" description`);if(Sh($.priority,`Dashboard widget "${$.id}"`),kh($.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 kX$.set(G,J),G}};return Object.freeze(Z)}var jX$=new WeakMap;function xh($){if(uZ($.id,"CMS workspace id"),YY($.label,`CMS workspace "${$.id}" label`),$.description!==void 0)YY($.description,`CMS workspace "${$.id}" description`);Sh($.priority,`CMS workspace "${$.id}"`),kh($.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&&qh(J.permission)<qh($.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 jX$.set(W,{authorize:G.authorize,load:G.load}),W}};return Object.freeze(X)}function YY($,Z){if(!$.trim())throw Error(`${Z} must not be empty`)}function Sh($,Z){if($!==void 0&&!Number.isFinite($))throw Error(`${Z} priority must be finite`)}function kh($,Z){if(!["public","trusted","admin"].includes($))throw Error(`${Z} permission "${String($)}" is unsupported`)}function qh($){return $==="public"?0:$==="trusted"?1:2}var IX$=new WeakMap;function Ih($){if(uZ($.name,"Workspace action name"),jh($.label,`Workspace action "${$.name}" label`),$.confirmation!==void 0)jh($.confirmation,`Workspace action "${$.name}" confirmation`);if($.permission!==void 0&&!["public","trusted","admin"].includes($.permission))throw Error(`Workspace action "${$.name}" permission "${String($.permission)}" is unsupported`);let Z={kind:"rizom-workspace-action",...$,bind(X,J){let G=Object.freeze({kind:"rizom-workspace-action-binding",definition:Z});return IX$.set(G,J),G}};return Object.freeze(Z)}function jh($,Z){if(!$.trim())throw Error(`${Z} must not be empty`)}import{AsyncLocalStorage as vX$}from"async_hooks";function zP($,Z,X){let J=X7($,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:_U($),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=vh.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:PU(G),ai:FU($),registerInstructions:(A)=>{$.registerInstructions(Z,A)}}}class zU extends a5{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register($,Z){let X=zP($,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 WY=new WeakMap;function yh($,Z){let X=WY.get($);if(X&&X!==Z)throw Error(`Job "${$.name}" is registered as both "${X}" and "${Z}"`);WY.set($,Z)}function gh($,Z){if(WY.get($)===Z)WY.delete($)}function bh($){let Z=WY.get($);if(!Z)throw Error(`Job "${$.name}" is not registered by an active declarative service`);return Z}var MP="_rizomConfirmationToken";function hh($,Z){return $.format({value:$.schema.parse(Z)})}function yX$($){if($===null||typeof $!=="object")return;let Z=Reflect.get($,MP);return typeof Z==="string"?Z:void 0}function gX$($){if($===void 0)return{};try{return JSON.parse($)}catch{return $}}function mh($,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 bX$($,Z,X){let J=$.definition,G=Rh($);return{...J.deadline?{executionTimeoutMs:FP(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 _?_h(Q,_):null}},messaging:{async publish(Q){await Z.messaging.send({type:Q.topic,payload:Q.data})}}});return J.output.parse(K)}}}class ch extends zU{definition;publicId;toolContext=new vX$;cleanups=[];registeredJobs=new Set;scopedShell;state;tools;resources;constructor($,Z,X,J){super(J,X,Z,sX());this.definition=$,this.publicId=$.id}register($){return this.scopedShell=$,super.register($)}async onRegister($){await super.onRegister($),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),yh(Y,`${this.id}:${Y.name}`),$.jobs.registerHandler(Y.name,bX$(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)gh($,`${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?mh(Z,H):null}})},async status(Z,X){let J=await $.jobs.getStatus(X);return J?mh(Z,J):null}}}templateFormatter(){let $=this.definition.templates;return{format(Z,X){let J=$?.[Z];if(!J)throw Error(`Template not found: ${Z}`);return hh(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)=>hh(Y,Q),parse:()=>{throw Error(`Template "${G}" is format-only`)}}}:{}};if(!W){X[G]=MU(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]=MU({...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(gX$(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=fh({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=yX$(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[MP],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),[MP]: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 ph($,Z,X,J){return new ch($,Z,X,J)}function hX$($){return j4({family:"service",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>ph($,Z,X,J($.id))})}var Xq$=["GET","POST","PUT","DELETE","OPTIONS"];function wU($,Z={}){return new Response(JSON.stringify($),{status:Z.status??200,headers:{"Content-Type":"application/json; charset=utf-8",...Z.headers}})}function HY($,Z,X={}){return wU({error:$},{status:Z,...X})}function CU($){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 dh($){return oh($)}function uh($){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 nh($){return{chat:async(Z,X,J,G)=>{let Y=uh(J),W=G?await $.chat(Z,X,Y,G):await $.chat(Z,X,Y);return dh(W)},confirmPendingAction:async(Z,X,J,G,Y)=>{let W=uh(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 dh(H)},invalidate:()=>{$.invalidateAgent()}}}var DY=Symbol.for("brains.httpRouteSnapshotProvider");function mX$($,Z){if($[DY])throw Error("HTTP route snapshot provider is already bound");Object.defineProperty($,DY,{value:Z,enumerable:!1,configurable:!0,writable:!1})}function rh($,Z){let X=$[DY];if(!X)throw Error("HTTP route snapshot provider is not bound");if(Z[DY])return;mX$(Z,X)}function lh($){let Z=$[DY];if(!Z)throw Error("HTTP route snapshot provider is not bound");return Z()}function RU($,Z,X){let J=X7($,Z,X),G=$.getMCPService(),Y=$.getPermissionService(),W=nh($.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:()=>lh($)},plugins:{has:(H)=>$.hasPlugin(H)}}}function wP($,Z,X){return{...RU($,Z,X),channels:Gh($,Z)}}var fX$=3600000;class aX extends a5{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=fX$;createContext($,Z){return RU($,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 ih extends aX{definition;routes=[];hasRequiredDaemon=!1;constructor($,Z,X,J){super(J,X,Z,sX());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,CU(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:bh(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 HY("Unauthorized",401);let G;if($.body){let W;try{W=await X.json()}catch{return HY("Request body must be valid JSON",400)}let H=$.body.safeParse(W);if(!H.success)return HY("Request body is invalid",400);G=H.data}let Y=await $.handle({request:X,body:G,caller:J});return wU($.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 sh($,Z,X,J){return new ih($,Z,X,J)}var ah=["GET","POST","PUT","DELETE","OPTIONS"];function CP($,Z){$.messaging.subscribe($Y.progress,async(X)=>{try{let J=KU.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 RP($){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 LP($){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 cX$=D.enum(["tool:invoking","tool:completed","tool:failed"]),pX$=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()}),dX$=["tool:invoking","tool:completed","tool:failed"];function qP($,Z){for(let X of dX$)$.messaging.subscribe(X,async(J)=>{try{let G=cX$.safeParse(J.type),Y=pX$.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 EP{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 AY($,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 xP($){return`${$.conversationId}:${$.toolName}`}function SP($){if($.startsWith("playbook_"))return"playbook";return($.startsWith("system_")?$.slice(7):$).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().toLowerCase()}function th($){switch($){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Approval required";case"failed":return"Tool failed"}}function eh($){switch($){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Tool awaiting approval";case"failed":return"Tool failed"}}function $m($){let Z=xP($),X=SP($.toolName),J=th($.state),G=eh($.state),Y=`${G}: ${X}`;return{key:Z,label:X,title:J,fallbackPrefix:G,fallback:$.error?`${Y}: ${$.error}`:Y}}function Zm($,Z){return $.pendingConfirmations?.some((X)=>X.toolName===Z)===!0||uX$($.cards).some((X)=>X.toolName===Z)}function uX$($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}var Xm=500,oX$=500;class kP{transport;cleanupSupervisor=new EP(oX$);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(AY($,"running"));return;case"tool:completed":if(this.isProcessingInput){this.pendingToolCompletions.set(this.getToolCompletionKey($),$);return}await this.transport.handleToolStatusUpdate(AY($,"completed"));return;case"tool:failed":this.pendingToolCompletions.delete(this.getToolCompletionKey($)),await this.transport.handleToolStatusUpdate(AY($,"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=Zm($,G.toolName)?"awaiting-approval":"completed";await this.transport.handleToolStatusUpdate(AY(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>=Xm)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<Xm)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 jP=1e5,nX$=[".md",".txt",".markdown"],rX$=["text/plain","text/markdown","text/x-markdown"],lX$=/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi,iX$=["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"],IP=D.object({captureUrls:D.boolean().default(!1),blockedUrlDomains:D.array(D.string()).default(iX$)});function Jm($,Z){if(Z&&rX$.some((X)=>Z.startsWith(X)))return!0;return nX$.some((X)=>$.toLowerCase().endsWith(X))}function Gm($){return $<=jP}function Ym($){if($.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode($),!0}catch{return!1}}function Wm($,Z){return`User uploaded a file "${$}":
121
-
122
- ${Z}`}function Hm($,Z){let X=$.match(lX$)??[];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 tX($,Z){let X=$.attachment.source;if((X?.entityType==="document"||X?.entityType==="image")&&X.entityId)return{entityType:X.entityType,id:X.entityId};return vP($.attachment.downloadUrl??$.attachment.url,Z)}function vP($,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 LU($,Z){let X=sX$(Z,$==="document"?/^application\/pdf$/i:/^image\/[a-z0-9.+-]+$/i);if(!X)return;if($==="document"&&X.mimeType.toLowerCase()!=="application/pdf")return;return X}function qU($,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 sX$($,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 UY({entityRef:$,userLevel:Z,getEntity:X,getVisibleEntity:J}){let G=yX(Z),Y=await J($,G);if(Y)return{status:"visible",entity:Y};return Boolean(await X($))?{status:"denied"}:{status:"missing"}}function EU($){return $==="admin"||$==="trusted"}async function Dm($){let Z=new Set;for(let X of $.cards??[]){if(X.kind!=="attachment")continue;let J=tX(X,$.displayBaseUrl);if(!J)continue;if((await UY({entityRef:J,userLevel:$.userLevel,getEntity:$.getEntity,getVisibleEntity:$.getVisibleEntity})).status==="denied")Z.add(X.id)}return Z}class KY extends aX{createContext($,Z){return wP($,this.id,Z)}isUploadableTextFile($,Z){return Jm($,Z)}isFileSizeAllowed($){return Gm($)}formatFileUploadMessage($,Z){return Wm($,Z)}getMaxFileUploadBytes(){return jP}isLikelyTextContent($){return Ym($)}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=tX(G,$.displayBaseUrl);if(!Y)continue;let W=await UY({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(!EU($.userPermissionLevel))continue;if(typeof W.entity.content!=="string")continue;let H=LU(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??qU(W.entity.metadata,Y.id,Y.entityType,H.mimeType),mimeType:H.mimeType})}return{files:Z,deniedCardIds:X}}extractCaptureableUrls($,Z){return Hm($,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 kP({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($),CP($,{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})}}),qP($,{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 LP($)}formatCompletionOutput($){return RP($)}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 yP($){if(typeof $==="string")return{text:$};return{text:$.fallbackText??"Message update"}}async function aX$($,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 Um extends KY{definition;state;constructor($,Z,X,J){super(J,X,Z,sX());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",CU({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:yP($.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:yP($.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:yP($.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 aX$(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:Am(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 Km($,Z,X,J){return new Um($,Z,X,J)}function tX$($){return Object.freeze({kind:"protocol",...$})}function eX$($){if(!ah.includes($.method))throw Error(`Unsupported interface route method "${$.method}"`);if(!$.path.startsWith("/"))throw Error(`Interface route path "${$.path}" must be absolute`);return Object.freeze({kind:"rizom-interface-route",...$})}function $J$($){uZ($.id,"Daemon id");let{required:Z=!1,...X}=$;return Object.freeze({kind:"rizom-interface-daemon",...X,required:Z})}function ZJ$($){return j4({family:"interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>sh($,Z,X,J($.id))})}function XJ$($){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 j4({family:"message-interface",id:$.id,config:$.config,instantiate:({config:Z,package:X,scope:J})=>Km($,Z,X,J($.id))})}var gP=D.object({kind:D.string().min(1),id:D.string().min(1)}),Vm=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:gP.optional()}),BJ$=D.custom(($)=>$ instanceof Uint8Array),NJ$=D.object({kind:D.literal("file"),filename:D.string().min(1),mediaType:D.string().min(1),data:BJ$,sizeBytes:D.number().nonnegative().optional(),source:gP.optional()}),Qm=D.discriminatedUnion("kind",[Vm,NJ$]),_J$=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:XY.optional(),source:JY.optional(),attachments:D.array(Qm).optional()});var PJ$=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()}),Om=D.object({name:D.string(),pluginId:D.string(),status:D.string(),health:PJ$.optional()});var Bm=D.enum(["admin","trusted","public"]),VY=D.object({label:D.string(),url:D.string(),pluginId:D.string(),priority:D.number().default(100),visibility:Bm.default("public")}),bP=D.enum(["human","agent","admin","protocol"]),hP=D.enum(["available","coming-soon","disabled"]),QY=D.object({id:D.string(),label:D.string(),description:D.string().optional(),href:D.string(),kind:bP,pluginId:D.string(),priority:D.number().default(100),visibility:Bm.default("public"),status:hP.default("available")}),jU=D.object({entityType:D.string(),count:D.number()}),mP=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()})}),Nm=D.object({model:D.string(),version:D.string(),uptime:D.number(),entities:D.number(),entityCounts:D.array(jU),embeddings:D.number(),backgroundWork:mP,ai:D.object({model:D.string(),embeddingModel:D.string()}),daemons:D.array(Om),endpoints:D.array(VY),interactions:D.array(QY)});var FJ$=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()}),TJ$=D.object({name:D.string(),pluginId:D.string(),status:D.string(),health:FJ$.optional()}),zJ$=D.object({model:D.string(),version:D.string(),uptime:D.number(),entities:D.number(),entityCounts:D.array(jU),embeddings:D.number(),ai:D.object({model:D.string(),embeddingModel:D.string()}),daemons:D.array(TJ$),endpoints:D.array(VY),interactions:D.array(QY)});var IU=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()}),_m=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()})}),Pm=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:_m.nullable(),projection:D.object({initialized:D.boolean(),trackedRoots:D.number().int().nonnegative(),openCircuits:D.array(D.object({projectionId:D.string().min(1),reason:D.string().min(1),openedAt:D.number().int().nonnegative(),expiresAt:D.number().int().nonnegative()}))}),worker:D.object({total:D.number().int().nonnegative(),active:D.number().int().nonnegative(),stale:D.number().int().nonnegative(),latestHeartbeatAgeMs:D.number().nonnegative().nullable()})}),MJ$=D.object({status:D.enum(["ready","not_ready"]),operationalStatus:D.enum(["operational","degraded"]),checkedAt:D.iso.datetime(),checks:D.array(IU),resources:Pm});var wJ$=D.union([D.object({success:D.boolean(),data:D.unknown().optional(),error:D.string().optional()}),D.object({noop:D.literal(!0)})]),CJ$=D.object({id:D.string(),timestamp:D.string(),type:D.string(),source:D.string(),target:D.string().optional(),metadata:EG.optional()});async function RJ$({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 Fm(e,V$,async(G$)=>{await $.entityService.deleteEntity({entityType:Z,id:G$.id}),C++})}return await Fm(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(j){K?.error("Failed to reconcile entity",{targetType:Z,id:e,error:e$(j)})}}),{created:F,updated:M,deleted:C,skipped:m}}async function Fm($,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 LJ$({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 qJ$({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 EJ$({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 Mm=/^[a-z][a-z0-9-]*$/,xJ$=D.strictObject({source:D.string().min(1).max(500),flags:D.string().regex(/^[imu]*$/).optional()}),SJ$=D.strictObject({type:D.string().trim().regex(Mm),displayName:D.string().trim().min(1).max(100),subjectLabel:D.string().trim().min(1).max(100),subjectPattern:xJ$.optional(),manualDelivery:D.boolean().optional()});class wm{descriptorRegistrations=new Map;providerRegistrations=new Map;activeDescriptors=new Map;activeProviders=new Map;finalized=!1;registerDescriptor($,Z){this.assertRegistrationOpen();let X=Tm($),J=SJ$.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=fP(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(fP($))}getDeliveryProvider($){return this.assertFinalized(),this.activeProviders.get(fP($))}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 zm("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 zm("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 fP($){let Z=$.trim();if(!Mm.test(Z))throw Error(`Invalid channel type: ${$}`);return Z}function zm($,Z,X){let J=X.map((G)=>G.pluginId).sort().join(", ");return Error(`${$} "${Z}" is registered by multiple plugins: ${J}`)}var kJ$=/^[a-z][a-z0-9-]*$/,OY=D.string().trim().regex(kJ$),cP=D.string().trim().min(1).max(300),Cm=D.enum(["high","normal"]),Rm=D.strictObject({id:OY,label:D.string().trim().min(1).max(100),confirm:D.boolean().optional()}),Lm=D.strictObject({entityType:D.string().trim().min(1).max(100),entityId:D.string().trim().min(1).max(300)}),qm=D.strictObject({label:D.string().trim().min(1).max(300),personId:D.string().trim().min(1).max(200).optional()}),Em=D.strictObject({id:cP,title:D.string().trim().min(1).max(160),summary:D.string().trim().min(1).max(1000).optional(),contact:qm.optional(),threadOrdinal:D.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),receivedAt:D.iso.datetime(),urgency:Cm,entityRef:Lm.optional(),actions:D.array(Rm).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)}}),xm=D.array(Em).max(1000),Sm=D.strictObject({permissionLevel:D.enum(["admin","trusted","public"])}),km=D.strictObject({sourceId:OY,displayName:D.string().trim().min(1).max(100)});class jm{registrations=new Map;activeSources=new Map;finalized=!1;registerSource($,Z){this.assertRegistrationOpen();let X=vJ$($),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=jJ$(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(yJ$($))}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 jJ$($,Z){return Object.freeze({...$,list:async()=>{return xm.parse(await Z.list()).map(IJ$)},act:async(X,J,G)=>{let Y=cP.parse(X),W=OY.parse(J);await Z.act(Y,W,Sm.parse(G))}})}function IJ$($){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 vJ$($){let Z=$.trim();if(!Z)throw Error("Inbox registration plugin id is required");return Z}function yJ$($){return OY.parse($)}var gJ$={pluginsRegistered:"system:plugins:registered",initialSyncCompleted:"sync:initial:completed",shellReady:"system:shell:ready"};function bJ$($){return D.discriminatedUnion("success",[D.strictObject({success:D.literal(!0),data:$}),D.strictObject({success:D.literal(!1),error:D.string().min(1)})])}function hJ$($){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 mJ$($){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 pP{providers=new Map;static createFresh(){return new pP}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 fJ$,readdir as cJ$,readFile as Im,rm as vm,stat as pJ$,writeFile as ym}from"fs/promises";import{basename as dJ$,dirname as uJ$,join as R1}from"path";var vU=/^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,gm=86400000,bm=200;class J7 extends Error{code;constructor($,Z){super(Z);this.code=$,this.name="RuntimeUploadStoreError"}}var oJ$=D.object({id:D.string().regex(vU),ref:D.object({kind:D.string().min(1),id:D.string().regex(vU)}),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 nJ$($){return{scoped:(Z)=>$.scoped(Z)}}function hm($){return dJ$($)==="brain-data"?R1(uJ$($),"data"):$}class dP{dataDir;constructor($){this.dataDir=hm($.dataDir)}static createFresh($){return new dP($)}scoped($){return new uP({...$,dataDir:this.dataDir})}}class uP{options;retentionMs;maxCount;createUploadId;getNow;constructor($){this.options=$,this.retentionMs=$.retentionMs??gm,this.maxCount=$.maxCount??bm,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 fJ$(J,{recursive:!0}),await ym(R1(J,"content"),$.content),await ym(R1(J,"metadata.json"),`${JSON.stringify(X,null,2)}
123
- `,"utf8"),await this.prune(),X}async remove($){this.assertValidUploadId($),await vm(this.getUploadDir($),{recursive:!0,force:!0})}async read($){let Z=await this.readRecord($);try{let X=await Im(R1(this.getUploadDir($),"content"));return{record:Z,content:X}}catch{throw new J7("not_found","Upload not found")}}async readRecord($){this.assertValidUploadId($);try{let Z=await Im(R1(this.getUploadDir($),"metadata.json"),"utf8"),X=oJ$.safeParse(JSON.parse(Z));if(!X.success||X.data.id!==$||X.data.ref.id!==$||X.data.ref.kind!==this.options.refKind)throw new J7("invalid_metadata","Invalid upload metadata");return X.data}catch(Z){if(Z instanceof J7)throw Z;throw new J7("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 cJ$($),J=(await Promise.all(Z.map(async(W)=>{try{let H=await pJ$(R1($,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)=>vm(R1($,W.entry),{recursive:!0,force:!0})))}catch{}}getUploadDir($){return this.assertValidUploadId($),R1(this.getUploadsRoot(),$)}getUploadsRoot(){return R1(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(!vU.test($))throw new J7("invalid_ref","Invalid upload ref")}}var oE$=D.object({id:D.string(),type:D.string(),version:D.string(),status:D.string()}),nE$=D.object({name:D.string(),description:D.string()});var iJ$=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 mm=D.looseObject({id:D.string().optional(),limit:D.number().optional(),page:D.number().optional(),pageSize:D.number().optional(),baseUrl:D.string().optional()}),fm=D.looseObject({entityType:D.string().optional(),query:mm.optional()});class cm{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=fm.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?P_(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 oP($){if(typeof $!=="object"||$===null||!("entityId"in $))return;let Z=$.entityId;return typeof Z==="string"&&Z.trim().length>0?Z.trim():void 0}function pm($){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 bU($){return Object.fromEntries(Object.entries($).filter(([,Z])=>Z!==void 0))}function dm($){let Z={...$};return delete Z.status,delete Z.error,bU(Z)}class rm extends ZY{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=pm($);if(typeof Z!=="object")return Z;let J=oP($);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:yU.START,message:`Starting ${this.jobTypeName}`});let J=await this.generate($,X),G=oP($),Y=G?this.applyPreallocatedEntityId(G,J):J;await this.reportProgress(X,{progress:yU.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:yU.COMPLETE,message:`${Y.title??this.entityType} created successfully`}),{success:!0,entityId:W.entityId,...Y.resultExtras}}catch(J){if(J instanceof nP)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),um.failure(J)}}applyPreallocatedEntityId($,Z){let X={...Z.metadata},J=Z.content,G=Z.resultExtras;if(typeof X.slug==="string")X.slug=$,J=gU(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=dm(eG($.content).frontmatter),J=dm($.metadata),G=bU(Z.metadata),Y=eG(Z.content),W=bU(Y.frontmatter),H=bU({...X,...G,...W});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(H),{content:nm(H,Y.content),metadata:{...J,...G}}}async markPreallocatedStubFailed($,Z){let X=oP($);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:gU(gU(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=pm($);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:om.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 nP($)}}class nP extends Error{constructor($){super($);this.name="GenerationFailure"}}var sJ$=D.string().trim().min(1).max(200),aJ$=D.string().trim().min(1).max(100).regex(/^[a-z0-9][a-z0-9.-]*$/);class lm{registrations=new Map;register($,Z,X){let J=sJ$.parse($),G=aJ$.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 IU.parse({name:Z.name,...await Z.provider()})}catch{return{name:Z.name,status:"degraded",message:"Operational health check failed"}}}))}}function im($){let Z=tm($.status),X=sm($),J=am($),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 sm($){let Z=$.metadata.operationType.replace(/_/g," ");return $.metadata.operationTarget?`${Z}: ${$.metadata.operationTarget}`:Z}function am($){if(!$.progress||$.progress.total<=0)return;return`${$.progress.current}/${$.progress.total} (${$.progress.percentage}%)`}function tm($){switch($){case"pending":return"Job queued";case"processing":return"Job processing";case"completed":return"Job completed";case"failed":return"Job failed"}}var tJ$=new Set(["yes","y","ok","sure","proceed","confirm","go"]),eJ$=new Set(["no","n","cancel","abort","stop","nope"]);function eX($){let Z=$.toLowerCase().trim();if(Z==="")return;if(tJ$.has(Z))return{confirmed:!0};if(eJ$.has(Z))return{confirmed:!1};return}function em($){return $?.filter((Z)=>Z.kind==="tool-approval"&&Z.state==="approval-requested")??[]}function $f($){return $?.find((Z)=>Z.kind==="tool-approval"&&(Z.state==="output-available"||Z.state==="output-error"||Z.state==="output-denied"))}function Zf($,Z){if(Z.length===0)return $;if($.trim().length>0)return $;if(Z.length===1)return Z[0]?.summary??$;return"Multiple approvals required."}function Xf($){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 Gf({message:$,approvalIds:Z}){if(Z.size===0)return{kind:"not-confirmation"};let X=rP($,Z);if(!X)return{kind:"notice",message:"Please reply with yes to confirm or no/cancel to abort."};if(!X.approvalId&&Hf($))return{kind:"notice",message:`No matching pending approval id. Pending approval ids: ${Jf(Z)}.`};if(Z.size>1&&!X.approvalId)return{kind:"notice",message:`Multiple approvals are pending; include one approval id with yes or no/cancel: ${Jf(Z)}.`};let J=X.approvalId??$2$(Z);if(!J)return{kind:"notice",message:"No pending approval to resolve."};return{kind:"confirm",approvalId:J,confirmed:X.confirmed}}function rP($,Z){let X=eX($),J=Yf($,Z);if(X)return{...X,...J?{approvalId:J}:{}};let G=$.split(/\s+/).map((Y)=>eX(Y)).find((Y)=>Y!==void 0);if(!G)return;return{...G,...J?{approvalId:J}:{}}}function Yf($,Z){if(!Z||Z.size===0)return;let X=$.toLowerCase();return[...Z].sort((J,G)=>G.length-J.length).find((J)=>Wf(X,J.toLowerCase()))}function Wf($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(^|[^a-z0-9_-])${X}($|[^a-z0-9_-])`).test($)}function Hf($){return/(^|[^a-z0-9_-])approval[:-][a-z0-9_-]+/i.test($)}function $2$($){for(let Z of $)return Z;return}function Jf($){return[...$].join(", ")}var Z2$=D.object({kind:D.string().min(1),id:D.string().min(1)}),X2$=D.object({kind:D.string().min(1),filename:D.string().min(1),mediaType:D.string().min(1),sizeBytes:D.number().nonnegative().optional(),source:Z2$.optional()}),J2$=D.array(X2$),Nx$=D.array(SU),G2$=D.array(xU),Y2$=D.record(D.string(),D.unknown());function NY($){if(typeof $==="string")try{return BY(JSON.parse($))}catch{return null}return BY($)}function lP($){let Z=NY($),X=J2$.safeParse(Z?.attachments);return X.success?X.data:[]}function Df($){let X=NY($)?.cards;if(!Array.isArray(X))return[];return X.map((J)=>kU.safeParse(J)).filter((J)=>J.success).map((J)=>J.data)}function hU($,Z){let X=[],J=new Set;for(let G of $){let Y=BY(G);if(!Y)continue;if(Z.role&&Y.role!==Z.role)continue;for(let W of lP(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 mU($){let Z=new Set;for(let X of $){let J=BY(X);if(!J)continue;let Y=NY(J.metadata)?.cards;if(!Array.isArray(Y))continue;let W=Y.filter((A)=>BY(A)?.kind==="tool-approval"),H=G2$.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 BY($){let Z=Y2$.safeParse($);return Z.success?Z.data:null}class iP{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 mU(Z)}catch(Z){return this.options.onRestoreError?.(Z,$),new Set}}}var W2$=D.record(D.string(),D.unknown());function Af($){let Z=W2$.safeParse($);return Z.success?Z.data:null}function fU($,Z){return Af($)?.[Z]}function L1($,Z){let X=fU($,Z);return typeof X==="string"?X:void 0}function Uf($,Z){let X=fU($,Z);return typeof X==="boolean"?X:void 0}function H2$($){return Array.isArray($.toolResults)?$.toolResults[0]:void 0}function D2$($){if(!Array.isArray($.cards))return;return $.cards.find((Z)=>L1(Z,"kind")==="tool-approval")}function A2$($){return fU($,"data")}function U2$($){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 K2$($){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 cU($,Z){if(Z==="declined")return{label:"Declined",variant:"declined"};let X=D2$($),J=H2$($),G=K2$(L1(X,"toolName")??L1(J,"toolName")),Y=fU(X,"output")??A2$(J)??U2$($.text),W=L1(X,"state"),H=Uf(Y,"success"),A=L1(X,"error")??L1(Y,"error")??L1(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 Kf($){switch($){case"success":return"Approval confirmed";case"declined":return"Approval declined";case"error":return"Action failed"}}function pU($){if(typeof $==="string")return $;if(typeof $==="number"||typeof $==="boolean")return String($);let Z=Af($);if(!Z)return;let X=L1(Z,"error")??L1(Z,"message");if(Uf(Z,"success")===!1)return X?`Failed \xB7 ${X}`:"Failed";return}function sP($){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 Vf($){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 sP($)}function Qf({response:$,confirmed:Z,remainingApprovalHelp:X,deniedCardIds:J,formatCard:G,formatPendingConfirmationHelp:Y}){let W=cU($,Z?"approved":"declined"),H=$.pendingConfirmations&&$.pendingConfirmations.length>1?Y($.pendingConfirmations):void 0,A=[W.label,...Of($.cards,J).map(G),H,X].filter(B2$);return{variant:W.variant,parts:A}}function Of($,Z){return($??[]).filter((X)=>X.kind==="attachment"&&Boolean(Z?.has(X.id)))}function V2$($,Z){return($??[]).filter((X)=>X.kind==="attachment"&&!Z?.has(X.id))}function Q2$($,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 Bf($,Z){let X=$.pendingConfirmations??[],J=[{kind:"text",text:$.text},...Of($.cards,Z.deniedCardIds).map((G)=>({kind:"denied-artifact",card:G})),...V2$($.cards,Z.deniedCardIds).map((G)=>({kind:"artifact",card:G})),...Q2$($.cards,$.pendingConfirmations).map((G)=>({kind:"supplemental",card:G}))];if(X.length>0)J.push({kind:"approvals",cards:($.cards??[]).filter((G)=>G.kind==="tool-approval"&&G.state==="approval-requested"),confirmations:X});return{directives:J,jobIds:O2$($)}}function O2$($){let Z=new Set;for(let X of $.toolResults??[])if(X.jobId)Z.add(X.jobId);for(let X of $.cards??[])if(X.kind==="attachment"&&X.jobId)Z.add(X.jobId);return[...Z]}function B2$($){return Boolean($?.trim())}function Nf({disposition:$,filename:Z}){return`${$}; filename="${N2$(Z)}"; filename*=UTF-8''${_2$(Z)}`}function N2$($){return $.replace(/[^\x20-\x7E]|["\\\r\n]/g,"_")}function _2$($){return encodeURIComponent($).replace(/[!'()*]/g,(Z)=>`%${Z.charCodeAt(0).toString(16).toUpperCase()}`)}function dU($){let Z=_f(tP($,"attachment"));if(!Z)return null;let X=I4($,"jobId"),J=I4($,"description"),G=I4(Z,"mediaType"),Y=I4(Z,"filename"),W=aP(F2$(Z,"sizeBytes")),H=I4(Z,"url"),A=I4(Z,"downloadUrl"),K=I4(Z,"previewUrl");return{...X!==void 0?{jobId:X}:{},title:I4($,"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 aP($){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 P2$=D.record(D.string(),D.unknown());function _f($){let Z=P2$.safeParse($);return Z.success?Z.data:null}function tP($,Z){return _f($)?.[Z]}function I4($,Z){let X=tP($,Z);return typeof X==="string"?X:void 0}function F2$($,Z){let X=tP($,Z);return typeof X==="number"?X:void 0}var Ff="upload.txt";var Tf=5000000,T2$=[".md",".txt",".markdown"],z2$=["text/plain","text/markdown","text/x-markdown"],eP=new Map([[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".webp","image/webp"],[".gif","image/gif"],[".pdf","application/pdf"]]),M2$=new Set(eP.values());function oU($,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 nU($,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 _Y($,Z){let X=Z?.trim()??"",J=X.split(";",1)[0]?.toLowerCase()??X;if(J.length>0&&J!=="application/octet-stream")return J;let G=nU($,void 0);if(G!=="application/octet-stream")return G;let Y=$.toLowerCase();for(let[W,H]of eP)if(Y.endsWith(W))return H;return"application/octet-stream"}function PY($,Z){if(Z&&z2$.some((X)=>Z.toLowerCase().startsWith(X)))return!0;return T2$.some((X)=>$.toLowerCase().endsWith(X))}function rU($){return $<=1e5}function lU($){return $<=5000000}function iU($,Z){let X=_Y($,Z);if(M2$.has(X))return!0;return eP.has(w2$($))}function zf($,Z){let X=_Y($,Z);if(PY($,X))return"text";if(iU($,X))return"file";return}function Mf($,Z){if(Z<=0)return!0;return $==="text"?rU(Z):lU(Z)}function $F($){if($.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode($),!0}catch{return!1}}function ZF($){let Z=oU($.filename,$.fallbackFilename),X=nU(Z,$.mediaType);if(!PY(Z,X))return{ok:!1,code:"unsupported_type",message:`Unsupported file upload type: ${Z}`};if(!rU($.content.byteLength))return{ok:!1,code:"file_too_large",message:`File upload too large: ${Z}`};if(!$F($.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 wf($){let Z=oU($.filename,$.fallbackFilename),X=_Y(Z,$.mediaType);if(PY(Z,X)){let J=ZF({filename:Z,mediaType:X,content:$.content,...$.fallbackFilename!==void 0&&{fallbackFilename:$.fallbackFilename}});return J.ok?{...J,kind:"text"}:J}if(!iU(Z,X))return{ok:!1,code:"unsupported_type",message:`Unsupported file upload type: ${Z}`};if(!lU($.content.byteLength))return{ok:!1,code:"file_too_large",message:`File upload too large: ${Z}`};if(!C2$($.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 w2$($){let Z=$.lastIndexOf(".");return Z>=0?$.slice(Z).toLowerCase():""}function C2$($,Z){switch(Z){case"image/png":return Pf($,[137,80,78,71]);case"image/jpeg":return Pf($,[255,216,255]);case"image/gif":return uU($,"GIF87a")||uU($,"GIF89a");case"image/webp":return uU($,"RIFF")&&Cf($,"WEBP",8);case"application/pdf":return uU($,"%PDF-");default:return!1}}function Pf($,Z){return Z.every((X,J)=>$[J]===X)}function uU($,Z){return Cf($,Z,0)}function Cf($,Z,X){return Array.from(Z).every((J,G)=>$[X+G]===J.charCodeAt(0))}class XF{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=hU(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 Rf($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function R2$($){return Rf($)&&$.kind==="upload"&&typeof $.id==="string"}function FY($){if(R2$($))return"uploaded file";if(Array.isArray($))return $.map((Z)=>FY(Z));if(!Rf($))return $;return sU($)}function sU($){return Object.fromEntries(Object.entries($).map(([Z,X])=>[Z,FY(X)]))}function Lf($){if($.kind!=="tool-approval")return $;return{...$,...$.input!==void 0?{input:sU($.input)}:{},...$.output!==void 0?{output:FY($.output)}:{}}}function qf($,Z){if($.kind==="attachment")return L2$($,Z);if($.kind==="tool-approval")return q2$($);if($.kind==="sources")return E2$($,Z);return x2$($,Z)}function L2$($,Z){if(Z.deniedCardIds?.has($.id))return"Artifact: Not available at your access level.";let X=dU($);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 q2$($){let Z=[`Approval: ${$.summary||$.toolName}`];if(Z.push(`Status: ${$.state}`),$.preview)Z.push($.preview);let X=pU($.output);if(X)Z.push(`Result: ${X}`);if($.error)Z.push(`Error: ${$.error}`);return Z.join(`
130
- `)}function E2$($,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 x2$($,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 Ef($){return{identity:$.identity,interfaceType:$.interfaceType,role:$.role??"user",...$.displayName?{displayName:$.displayName}:{},...$.username?{username:$.username}:{},...$.isBot!==void 0?{isBot:S2$($.isBot)}:{}}}function S2$($){if(typeof $==="boolean")return $;return $.toLowerCase()==="true"}function xf($){return{...$.messageId?{messageId:$.messageId}:{},...$.channelId?{channelId:$.channelId}:{},...$.channelName?{channelName:$.channelName}:{},...$.threadId?{threadId:$.threadId}:{},...$.metadata?{metadata:$.metadata}:{}}}function Sf($){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(k2$),"","Latest message to answer:",$.message].join(`
133
- `),metadata:{supersededMessageCount:$.skippedMessages.length,supersededMessageIds:$.skippedMessages.map((J)=>J.id).filter((J)=>J!==void 0)}}}function k2$($){let Z=$.text.trim(),X=$.authorName?.trim();return X?`- ${X}: ${Z}`:`- ${Z}`}async function f2$($){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 aU{tail=Promise.resolve();run($){let Z=this.tail.then(()=>$());return this.tail=Z.then(()=>{return},()=>{return}),Z}async settle(){await this.tail}}var c2$="current";class kf{store;schema;createEmpty;key;queue=new aU;statePromise;constructor($){this.store=$.runtimeState.scoped({namespace:$.namespace,schema:$.schema}),this.schema=$.schema,this.createEmpty=$.createEmpty,this.key=$.key??c2$}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 JF="cms:register-workspace";function p2$($,Z){if($.userPermissionLevel!=="admin")throw Error(`${Z} requires admin permission`)}var d2$=D.object({workspaceUrl:D.string()});async function u2$($,Z){let X=await $.messaging.send({type:JF,payload:Z});if(!("success"in X)||!X.success)return;let J=d2$.safeParse(X.data);return J.success?J.data.workspaceUrl:void 0}var GF=G6.extend({id:D.literal("brain-character"),entityType:D.literal("brain-character")}),tU=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 jf=D.record(D.string(),D.unknown());class eU extends Q9{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:GF,frontmatterSchema:tU,isSingleton:!0,hasBody:!1})}createCharacterContent($){return this.buildMarkdown("",$)}parseCharacterBody($){return this.parseFrontmatter($)}toMarkdown($){let Z=this.parseFrontmatter($.content);return this.buildMarkdown("",jf.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("",jf.parse(Z))}}class $3 extends nX{adapter=new eU;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 $3($,Z,X)}constructor($,Z,X){super($,Z,"brain-character",X??$3.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 YF=G6.extend({id:D.literal("anchor-profile"),entityType:D.literal("anchor-profile")}),If=D.enum(["person","team","organization"]),G7=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 o2$=D.record(D.string(),D.unknown());class Z3 extends Q9{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's Anchor (singleton).",schema:YF,frontmatterSchema:G7,isSingleton:!0,hasBody:!0})}createProfileContent($){let Z=G7.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("",o2$.parse(Z))}}class TY extends nX{adapter=new Z3;static getDefaultProfile(){return{name:"Unknown"}}static createFresh($,Z,X){return new TY($,Z,X)}constructor($,Z,X){super($,Z,"anchor-profile",X??TY.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 X3=D.enum(["person","team","organization"]),n2$=D.object({kind:D.string().trim().min(1),category:X3,labels:D.object({singular:D.string().trim().min(1),plural:D.string().trim().min(1)})});function r2$($){if(typeof $!=="object"||$===null||!("shape"in $)||!("safeParse"in $)||typeof $.safeParse!=="function")throw Error("Profile kind fields must be a Zod object schema")}class vf{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=n2$.parse(Z);r2$(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 yf=30000;class HF{logger;resolver;links=[];actorIndex=new Map;negativeActorIndex=new Map;static createFresh($,Z){return new HF($,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=WF($),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=WF($.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()+yf),$;let Y={identity:$.identity,...$.displayName?{label:$.displayName}:{}},W={...G,actors:[Y],matchedActor:Y};return this.actorIndex.set(X,{resolution:W,expiresAt:Date.now()+yf}),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 gf="https://rizom.ai/ext/anchor-profile/v1",bf=D.looseObject({id:D.string(),description:D.string(),name:D.string().optional(),tags:D.array(D.string()).optional().default([])}),hf=G7.extend({kind:D.string().trim().min(1).optional(),category:X3.optional()}).superRefine(($,Z)=>{if($.kind===void 0!==($.category===void 0))Z.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),l2$=D.looseObject({uri:D.string(),params:D.record(D.string(),D.unknown()).optional()}),mf=D.looseObject({name:D.string(),url:D.string(),description:D.string().optional(),skills:D.array(bf).optional().default([]),capabilities:D.looseObject({extensions:D.array(l2$).optional().default([])}).optional()});function i2$($){let Z=mf.safeParse($);if(!Z.success)return null;let X=Z.data,G=(X.capabilities?.extensions??[]).find((W)=>W.uri===gf),Y=null;if(G?.params){let W=hf.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 s2$=D.object({name:D.string(),description:D.string(),tags:D.array(D.string()),examples:D.array(D.string())});import{EventEmitter as pf}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 DF{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 ff($,Z){let X=$.getMessageBus(),J=new Set,G={send:(j)=>X.send(j),subscribe:(j,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 z0=()=>{v$.delete($$),qZ()},m0;try{m0=Promise.resolve(X$(o$))}catch(oZ){throw z0(),oZ}return m0.then((oZ)=>{return z0(),oZ},(oZ)=>{throw z0(),oZ})},J0=X.subscribe(j,K$,l),K0={type:j,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:(j,X$)=>{let l=[...J].filter((O$)=>O$.type===j&&O$.originalHandler===X$);if(l.length===0){X.unsubscribe(j,X$);return}for(let O$ of l)O$.stopAdmission()}},Y=$.getAttachmentRegistry(),W={...Y,register:(j,X$,l)=>{let O$=!0,v$=Y.register(j,X$,l),K$=()=>{if(!O$)return;O$=!1,v$()};return Z.addFinalizer(K$),K$}},H=$.getEntityRegistry(),A=new Proxy(H,{get(j,X$){let l=Reflect.get(j,X$,j);if(X$==="registerEntityType"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,j,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>j.unregisterEntityType(K$));return v$};return typeof l==="function"?l.bind(j):l}}),K=$.getProfileKindRegistry(),Q=new Proxy(K,{get(j,X$){let l=Reflect.get(j,X$,j);if(X$==="register"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,j,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>j.unregisterPlugin(K$));return v$};return typeof l==="function"?l.bind(j):l}}),O=$.getChannelRegistry(),_=new Proxy(O,{get(j,X$){let l=Reflect.get(j,X$,j);if((X$==="registerDescriptor"||X$==="registerDeliveryProvider")&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,j,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>j.unregisterPlugin(K$));return v$};return typeof l==="function"?l.bind(j):l}}),F=$.getInboxRegistry(),M=new Proxy(F,{get(j,X$){let l=Reflect.get(j,X$,j);if(X$==="registerSource"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,j,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>j.unregisterPlugin(K$));return v$};return typeof l==="function"?l.bind(j):l}}),C=$.getOperationalHealthRegistry(),m=new Proxy(C,{get(j,X$){let l=Reflect.get(j,X$,j);if(X$==="register"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,j,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>j.unregisterPlugin(K$));return v$};return typeof l==="function"?l.bind(j):l}}),V$=$.getDataSourceRegistry(),e=new Proxy(V$,{get(j,X$){let l=Reflect.get(j,X$,j);if(X$==="register"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,j,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(()=>j.unregister(J0))}return v$};return typeof l==="function"?l.bind(j):l}}),G$=$.getInsightsRegistry(),C$=new Proxy(G$,{get(j,X$){let l=Reflect.get(j,X$,j);if(X$==="register"&&typeof l==="function")return(...O$)=>{let v$=Reflect.apply(l,j,O$),K$=O$[0];if(typeof K$==="string")Z.addFinalizer(()=>j.unregister(K$));return v$};return typeof l==="function"?l.bind(j):l}}),d$=new Proxy($,{get(j,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(j,X$,j);return typeof l==="function"?l.bind(j):l}});return rh($,d$),d$}class AF{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 DF;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(ff(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=iX(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=iX(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 UF{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 KF{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 J3{projections=new Map;rules=new Map;static createFresh(){return new J3}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(e2$)}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=$G$(Z,J),Y=XG$(Z,G)[0];if(Y){let W=JG$(Y,G);throw Error(`Projection cycle is not supported: ${[...W,W[0]].join(" -> ")}`)}return t2$({projections:Z,edges:G,unknownSourceTypes:a2$(Z,X)})}}function a2$($,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 t2$($){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 e2$($){return{...$,sources:$.sources.map((Z)=>({...Z,types:[...Z.types],...Z.excludeTypes?{excludeTypes:[...Z.excludeTypes]}:{}}))}}function $G$($,Z){let X=new Map;for(let J of $)for(let G of $){let Y=ZG$(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 ZG$($,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 XG$($,Z){let X=$.map(({id:O})=>O).sort(),J=cf(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 JG$($,Z){let X=new Set($),J=cf($,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 cf($,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 df($){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 G3{plugins=new Map;logger;events=new pf;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=J3.createFresh();projectionGraph;static createFresh($,Z){return new G3($,Z)}setShell($){this.shell=$}constructor($,Z){this.logger=$.child("PluginManager"),this.events=new pf,this.daemonRegistry=Z,this.pluginLifecycle=new AF(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,$),this.dependencyResolver=new UF(this.plugins,this.events,$),this.capabilityRegistrar=new KF($,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 df(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 df(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{S4 as va,nG as wa,T_ as xa,z_ as ya,Ig as za,vg as Aa,yg as Ba,gg as Ca,N7$ as Da,_7$ as Ea,F7$ as Fa,lG as Ga,iG as Ha,S7$ as Ia,k7$ as Ja,xb as Ka,I7$ as La,kb as Ma,y7$ as Na,GJ as Oa,GG$ as Pa,YG$ as Qa,A3 as Ra,WG$ as Sa,HG$ as Ta,DG$ as Ua,AG$ as Va,UG$ as Wa,KG$ as Xa,VG$ as Ya,QG$ as Za,rX as _a,n7$ as $a,LZ as ab,DT$ as bb,KU as cb,N as db,p as eb,oA as fb,P$ as gb,w4 as hb,gX as ib,ev as jb,x6 as kb,X8 as lb,z1 as mb,bX as nb,gG as ob,nA as pb,_Z as qb,hG as rb,l$ as sb,Z$ as tb,FZ as ub,ry as vb,$Z as wb,qN$ as xb,R4 as yb,YU as zb,j6 as Ab,I6 as Bb,Dg as Cb,g5$ as Db,b5$ as Eb,f as Fb,u$ as Gb,K_ as Hb,V_ as Ib,lX as Jb,XP as Kb,rZ as Lb,Y0 as Mb,l0 as Nb,Z6 as Ob,w5 as Pb,F0 as Qb,u0 as Rb,H9 as Sb,a as Tb,K9 as Ub,o5 as Vb,qG as Wb,V9 as Xb,EQ$ as Yb,JP as Zb,GP as _b,YP as $b,ZY as ac,WP as bc,HP as cc,DP as dc,D0 as ec,dZ as fc,$7 as gc,Z7 as hc,rb as ic,lb as jc,QX$ as kc,OU as lc,EG as mc,D5$ as nc,A5$ as oc,DN as pc,AN as qc,h as rc,ZZ as sc,v0 as tc,g8 as uc,w1 as vc,i$ as wc,H6 as xc,Ag as yc,D6 as zc,VN as Ac,O9 as Bc,mA as Cc,yX as Dc,QN as Ec,G6 as Fc,jv as Gc,P1 as Hc,cZ as Ic,yA as Jc,n5 as Kc,Sv as Lc,v6 as Mc,B_ as Nc,N_ as Oc,Lg as Pc,Q9 as Qc,ON as Rc,V7$ as Sc,qg as Tc,Eg as Uc,__ as Vc,xg as Wc,F_ as Xc,Sg as Yc,NU as Zc,FX$ as _c,FU as $c,zU as ad,OP as bd,GY as cd,NP as dd,RJ$ as ed,PP as fd,LJ$ as gd,qJ$ as hd,EJ$ as id,mX$ as jd,aX as kd,wm as ld,OY as md,cP as nd,Cm as od,qm as pd,Em as qd,xm as rd,km as sd,jm as td,gJ$ as ud,bJ$ as vd,hJ$ as wd,mJ$ as xd,pP as yd,vU as zd,J7 as Ad,nJ$ as Bd,dP as Cd,uZ as Dd,LX$ as Ed,qX$ as Fd,EX$ as Gd,SX$ as Hd,Ch as Id,Lh as Jd,TP as Kd,Eh as Ld,xh as Md,Ih as Nd,hX$ as Od,Xq$ as Pd,wU as Qd,xP as Rd,SP as Sd,$m as Td,tX as Ud,LU as Vd,qU as Wd,UY as Xd,EU as Yd,Dm as Zd,KY as _d,tX$ as $d,eX$ as ae,$J$ as be,ZJ$ as ce,XJ$ as de,VY as ee,QY as fe,iJ$ as ge,cm as he,rm as ie,_J$ as je,zJ$ as ke,IU as le,_m as me,Pm as ne,MJ$ as oe,lm as pe,wJ$ as qe,CJ$ as re,im as se,eX as te,em as ue,$f as ve,Zf as we,Xf as xe,Gf as ye,rP as ze,lP as Ae,Df as Be,iP as Ce,cU as De,Kf as Ee,pU as Fe,sP as Ge,Vf as He,Qf as Ie,Bf as Je,Nf as Ke,dU as Le,Ff as Me,Tf as Ne,oU as Oe,_Y as Pe,PY as Qe,zf as Re,Mf as Se,wf as Te,XF as Ue,FY as Ve,Lf as We,qf as Xe,Ef as Ye,xf as Ze,Sf as _e,f2$ as $e,kf as af,JF as bf,p2$ as cf,u2$ as df,tU as ef,eU as ff,$3 as gf,If as hf,G7 as if,Z3 as jf,TY as kf,vf as lf,HF as mf,gf as nf,i2$ as of,s2$ as pf,U6 as qf,G3 as rf};
134
-
135
- //# debugId=3D6EED6B1100F7D364756E2164756E21
136
- //# sourceMappingURL=index-w1bmyak8.js.map