@rizom/brain 0.2.0-alpha.404 → 0.2.0-alpha.405

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 (31) hide show
  1. package/dist/brain.js +227 -227
  2. package/dist/chunks/{app-afye8rgv.js → app-3z7kg4n4.js} +2 -2
  3. package/dist/chunks/{blog-post-adapter-wxf0f0rf.js → blog-post-adapter-vn4bvezs.js} +2 -2
  4. package/dist/chunks/{index-97j4t44j.js → index-03cfb3s4.js} +2 -2
  5. package/dist/chunks/{index-hp3ma2a0.js → index-aft95ek4.js} +26 -26
  6. package/dist/chunks/{index-hp3ma2a0.js.map → index-aft95ek4.js.map} +3 -3
  7. package/dist/chunks/{index-02vqvq05.js → index-e0rx633y.js} +3 -3
  8. package/dist/chunks/{index-02vqvq05.js.map → index-e0rx633y.js.map} +1 -1
  9. package/dist/chunks/{index-wqbddw4c.js → index-pkcefcbr.js} +2 -2
  10. package/dist/chunks/{index-122t0n9j.js → index-t1p3qrrm.js} +2 -2
  11. package/dist/chunks/{index-7q5j58p2.js → index-zghffskf.js} +3 -3
  12. package/dist/chunks/linkedin-template-mra3dywt.js +5 -0
  13. package/dist/chunks/{rss-datasource-ftkdarkw.js → rss-datasource-meq425kx.js} +2 -2
  14. package/dist/entities.js +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/interfaces.js +1 -1
  17. package/dist/model.js +38 -38
  18. package/dist/model.js.map +1 -1
  19. package/dist/plugins.js +1 -1
  20. package/dist/services.js +1 -1
  21. package/dist/ui/studio-chunks/main-s1ykse8z.js.map +1 -1
  22. package/package.json +1 -1
  23. package/dist/chunks/linkedin-template-jj13p2ah.js +0 -5
  24. /package/dist/chunks/{app-afye8rgv.js.map → app-3z7kg4n4.js.map} +0 -0
  25. /package/dist/chunks/{blog-post-adapter-wxf0f0rf.js.map → blog-post-adapter-vn4bvezs.js.map} +0 -0
  26. /package/dist/chunks/{index-97j4t44j.js.map → index-03cfb3s4.js.map} +0 -0
  27. /package/dist/chunks/{index-wqbddw4c.js.map → index-pkcefcbr.js.map} +0 -0
  28. /package/dist/chunks/{index-122t0n9j.js.map → index-t1p3qrrm.js.map} +0 -0
  29. /package/dist/chunks/{index-7q5j58p2.js.map → index-zghffskf.js.map} +0 -0
  30. /package/dist/chunks/{linkedin-template-jj13p2ah.js.map → linkedin-template-mra3dywt.js.map} +0 -0
  31. /package/dist/chunks/{rss-datasource-ftkdarkw.js.map → rss-datasource-meq425kx.js.map} +0 -0
@@ -3,10 +3,10 @@ import{Dh as Cs,Sh as nY}from"./index-3rzkj0kw.js";import{Uh as pi}from"./index-
3
3
  `).join(`
4
4
  `+i),e.push(o+"m+"+Gw.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=OTe()+t+" "+e[0]}function OTe(){if(r3.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function DTe(...e){return process.stderr.write(Vw.formatWithOptions(r3.inspectOpts,...e)+`
5
5
  `)}function MTe(e){if(e)process.env.DEBUG=e;else delete process.env.DEBUG}function _Te(){return process.env.DEBUG}function zTe(e){e.inspectOpts={};let t=Object.keys(r3.inspectOpts);for(let n=0;n<t.length;n++)e.inspectOpts[t[n]]=r3.inspectOpts[t[n]]}Gw.exports=kD()(r3);var{formatters:n3}=Gw.exports;n3.o=function(e){return this.inspectOpts.colors=this.useColors,Vw.inspect(e,this.inspectOpts).split(`
6
- `).map((t)=>t.trim()).join(" ")};n3.O=function(e){return this.inspectOpts.colors=this.useColors,Vw.inspect(e,this.inspectOpts)}});var s3=hl(function(w6e,AD){if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)AD.exports=QK();else AD.exports=i3()});var r6=hl(function(V9e,n6){var iT=Object.prototype.hasOwnProperty,t6=Object.prototype.toString,G3=Object.defineProperty,Q3=Object.getOwnPropertyDescriptor,K3=function(t){if(typeof Array.isArray==="function")return Array.isArray(t);return t6.call(t)==="[object Array]"},Y3=function(t){if(!t||t6.call(t)!=="[object Object]")return!1;var n=iT.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&iT.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var o;for(o in t);return typeof o>"u"||iT.call(t,o)},X3=function(t,n){if(G3&&n.name==="__proto__")G3(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0});else t[n.name]=n.newValue},e6=function(t,n){if(n==="__proto__"){if(!iT.call(t,n))return;else if(Q3)return Q3(t,n).value}return t[n]};n6.exports=function e(){var t,n,r,o,i,s,c=arguments[0],l=1,u=arguments.length,p=!1;if(typeof c==="boolean")p=c,c=arguments[1]||{},l=2;if(c==null||typeof c!=="object"&&typeof c!=="function")c={};for(;l<u;++l)if(t=arguments[l],t!=null){for(n in t)if(r=e6(c,n),o=e6(t,n),c!==o){if(p&&o&&(Y3(o)||(i=K3(o)))){if(i)i=!1,s=r&&K3(r)?r:[];else s=r&&Y3(r)?r:{};X3(c,{name:n,newValue:e(p,s,o)})}else if(typeof o<"u")X3(c,{name:n,newValue:o})}}return c}});function Vm(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function eOe(e){try{return new URL(e).hostname.replace(/\./g,"-")}catch{return(e.split("/")[0]??e).replace(/\./g,"-")}}function tOe(e,t){let n=Vm(e);if(!n){let r=Date.now().toString(36);return t?`id-${r}-${t}`:`id-${r}`}return t?`${n}-${t}`:n}var D7=new Set(["series","species","sheep","deer","fish"]);function PC(e){if(D7.has(e.toLowerCase()))return e;if(e.endsWith("y")&&e.length>1){let t=e[e.length-2];if(!"aeiou".includes(t?.toLowerCase()??""))return e.slice(0,-1)+"ies"}if(e.endsWith("s")||e.endsWith("x")||e.endsWith("ch"))return e+"es";return e+"s"}function nOe(e){return e.replace(/[-_]/g," ").replace(/([A-Z])/g," $1").replace(/\b\w/g,(t)=>t.toUpperCase()).replace(/\s+/g," ").trim()}function rOe(e){let n=e.split("-").map((o)=>o.charAt(0).toUpperCase()+o.slice(1)),r=n.pop();if(r)n.push(PC(r));return n.join(" ")}var M7={github:"GitHub",instagram:"Instagram",linkedin:"LinkedIn",email:"Email",website:"Website"};function oOe(e){let t=e.toLowerCase(),n=M7[t];if(n!==void 0)return n;return e.replace(/\b\w/g,(r)=>r.toUpperCase())}function iOe(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function sOe(e){let n=e.split(/\s+/).filter((r)=>r.length>0).length;return Math.max(1,Math.ceil(n/200))}function aOe(e){let t=e.replace(/\s+/g," ").trim();if(!t)return;let n=t.match(/^(.*?[.!?])(?:\s|$)/);if(n?.[1])return n[1];return t.length<=200?t:`${t.slice(0,197)}\u2026`}function cOe(e,t){if(e.length<=t)return e;let n=e.slice(0,t),r=n.lastIndexOf(" ");return r>0?n.slice(0,r)+"...":n+"..."}function lOe(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#39;")}var jt={};Xr(jt,{all:()=>ore,as:()=>tre,asVoid:()=>nre,causeOption:()=>rre,die:()=>ire,exists:()=>sre,fail:()=>FI,failCause:()=>NI,flatMap:()=>are,flatMapEffect:()=>cre,flatten:()=>jI,forEachEffect:()=>Dx,fromEither:()=>lre,fromOption:()=>ure,getOrElse:()=>pre,interrupt:()=>BI,isExit:()=>Xne,isFailure:()=>og,isInterrupted:()=>ere,isSuccess:()=>jc,map:()=>dre,mapBoth:()=>mre,mapError:()=>fre,mapErrorCause:()=>gre,match:()=>LI,matchEffect:()=>hre,succeed:()=>ig,void:()=>yre,zip:()=>bre,zipLeft:()=>xre,zipPar:()=>vre,zipParLeft:()=>wre,zipParRight:()=>Tre,zipRight:()=>Sre,zipWith:()=>qI});var Fr={};Xr(Fr,{Do:()=>CX,TypeId:()=>oX,all:()=>UC,andThen:()=>xX,ap:()=>SX,bind:()=>EX,bindTo:()=>IX,filterOrLeft:()=>fX,flatMap:()=>af,flip:()=>vX,fromNullable:()=>sX,fromOption:()=>qC,gen:()=>TX,getEquivalence:()=>uX,getLeft:()=>lX,getOrElse:()=>ZC,getOrNull:()=>gX,getOrThrow:()=>yX,getOrThrowWith:()=>$C,getOrUndefined:()=>hX,getRight:()=>cX,isEither:()=>Pz,isLeft:()=>tn,isRight:()=>Yi,left:()=>dt,let:()=>kX,liftPredicate:()=>mX,map:()=>Qs,mapBoth:()=>pX,mapLeft:()=>dX,match:()=>Az,merge:()=>jl,orElse:()=>bX,right:()=>nt,transposeMapOption:()=>PX,transposeOption:()=>RX,try:()=>aX,void:()=>iX,zipWith:()=>Oz});var jy=(e)=>typeof e==="function",h=function(e,t){if(typeof e==="function")return function(){if(e(arguments))return t.apply(this,arguments);return(n)=>t(n,...arguments)};switch(e){case 0:case 1:throw RangeError(`Invalid arity ${e}`);case 2:return function(n,r){if(arguments.length>=2)return t(n,r);return function(o){return t(o,n)}};case 3:return function(n,r,o){if(arguments.length>=3)return t(n,r,o);return function(i){return t(i,n,r)}};case 4:return function(n,r,o,i){if(arguments.length>=4)return t(n,r,o,i);return function(s){return t(s,n,r,o)}};case 5:return function(n,r,o,i,s){if(arguments.length>=5)return t(n,r,o,i,s);return function(c){return t(c,n,r,o,i)}};default:return function(){if(arguments.length>=e)return t.apply(this,arguments);let n=arguments;return function(r){return t(r,...n)}}}};var He=(e)=>e;var yp=(e)=>()=>e,Qi=yp(!0),Bn=yp(!1),By=yp(null),Gm=yp(void 0),cr=Gm;function T(e,t,n,r,o,i,s,c,l){switch(arguments.length){case 1:return e;case 2:return t(e);case 3:return n(t(e));case 4:return r(n(t(e)));case 5:return o(r(n(t(e))));case 6:return i(o(r(n(t(e)))));case 7:return s(i(o(r(n(t(e))))));case 8:return c(s(i(o(r(n(t(e)))))));case 9:return l(c(s(i(o(r(n(t(e))))))));default:{let u=arguments[0];for(let p=1;p<arguments.length;p++)u=arguments[p](u);return u}}}var Ki=(e)=>(t,n)=>t===n||e(t,n),_7=(e,t)=>e===t,z7=()=>_7;var az=z7();var cz=h(2,(e,t)=>Ki((n,r)=>e(t(n),t(r))));var Ly=(e)=>Ki((t,n)=>{if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e(t[r],n[r]))return!1;return!0});var xp=(e)=>h(3,(t,n,r)=>e(t,(o)=>({...o,[n]:r(o)}))),Sp=(e)=>h(2,(t,n)=>e(t,(r)=>({[n]:r}))),vp=(e,t)=>h(3,(n,r,o)=>t(n,(i)=>e(o(i),(s)=>({...i,[r]:s}))));var Qm,Le=(e,t)=>{if(!Qm)globalThis["effect/GlobalValue"]??=new Map,Qm=globalThis["effect/GlobalValue"];if(!Qm.has(e))Qm.set(e,t());return Qm.get(e)};var Km=(e)=>typeof e==="string",Ym=(e)=>typeof e==="number";var OC=(e)=>typeof e==="bigint";var jo=jy;var F7=(e)=>typeof e==="object"&&e!==null,Us=(e)=>F7(e)||jo(e),ue=h(2,(e,t)=>Us(e)&&(t in e)),ac=h(2,(e,t)=>ue(e,"_tag")&&e._tag===t),Pl=(e)=>e===null||e===void 0;var Bo=(e)=>typeof e==="string"||ue(e,Symbol.iterator);var DC=(e)=>ue(e,"then")&&jo(e.then);var Ws=(e)=>`BUG: ${e} - please report an issue at https://github.com/Effect-TS/effect/issues`;var MC=Symbol.for("effect/Gen/GenKind"),qy=(e)=>Us(e)&&(MC in e);class uz{value;constructor(e){this.value=e}get _F(){return He}get _R(){return(e)=>e}get _O(){return(e)=>e}get _E(){return(e)=>e}[MC]=MC;[Symbol.iterator](){return new Ol(this)}}class Ol{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new Ol(this.self)}}var Zy=()=>function(){let e=arguments[0];for(let t=1;t<arguments.length;t++)e=arguments[t](e);return new uz(e)},N7=335903614,j7=4150755663,B7=1481765933,L7=1284865837,q7=9007199254740992,Z7=134217728;class zC{_state;constructor(e,t,n,r){if(Pl(t)&&Pl(e))t=Math.random()*4294967295>>>0,e=0;else if(Pl(t))t=e,e=0;if(Pl(r)&&Pl(n))r=this._state?this._state[3]:j7,n=this._state?this._state[2]:N7;else if(Pl(r))r=n,n=0;return this._state=new Int32Array([0,0,n>>>0,((r||0)|1)>>>0]),this._next(),lz(this._state,this._state[0],this._state[1],e>>>0,t>>>0),this._next(),this}getState(){return[this._state[0],this._state[1],this._state[2],this._state[3]]}setState(e){this._state[0]=e[0],this._state[1]=e[1],this._state[2]=e[2],this._state[3]=e[3]|1}integer(e){return Math.round(this.number()*Number.MAX_SAFE_INTEGER)%e}number(){let e=(this._next()&67108863)*1,t=(this._next()&134217727)*1;return(e*Z7+t)/q7}_next(){let e=this._state[0]>>>0,t=this._state[1]>>>0;$7(this._state,e,t,B7,L7),lz(this._state,this._state[0],this._state[1],this._state[2],this._state[3]);let n=e>>>18,r=(t>>>18|e<<14)>>>0;n=(n^e)>>>0,r=(r^t)>>>0;let o=(r>>>27|n<<5)>>>0,i=e>>>27,s=(-i>>>0&31)>>>0;return(o>>>i|o<<s)>>>0}}function $7(e,t,n,r,o){let i=(n>>>16)*(o&65535)>>>0,s=(n&65535)*(o>>>16)>>>0,c=(n&65535)*(o&65535)>>>0,l=(n>>>16)*(o>>>16)+((s>>>16)+(i>>>16))>>>0;if(s=s<<16>>>0,c=c+s>>>0,c>>>0<s>>>0)l=l+1>>>0;if(i=i<<16>>>0,c=c+i>>>0,c>>>0<i>>>0)l=l+1>>>0;l=l+Math.imul(n,r)>>>0,l=l+Math.imul(t,o)>>>0,e[0]=l,e[1]=c}function lz(e,t,n,r,o){let i=t+r>>>0,s=n+o>>>0;if(s>>>0<n>>>0)i=i+1|0;e[0]=i,e[1]=s}var _C=Symbol.for("effect/Utils/YieldWrap");class Hs{#e;constructor(e){this.#e=e}[_C](){return this.#e}}function Dl(e){if(typeof e==="object"&&e!==null&&_C in e)return e[_C]();throw Error(Ws("yieldWrapGet"))}var Yr=Le("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var pz={effect_internal_function:(e)=>e()},U7={effect_internal_function:(e)=>{try{return e()}finally{}}},W7=pz.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,an=W7?pz.effect_internal_function:U7.effect_internal_function,H7=function*(){}.constructor,dz=(e)=>Us(e)&&e.constructor===H7;var NC=Le(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),Te=Symbol.for("effect/Hash"),he=(e)=>{if(Yr.enabled===!0)return 0;switch(typeof e){case"number":return Ml(e);case"bigint":return ct(e.toString(10));case"boolean":return ct(String(e));case"symbol":return ct(String(e));case"string":return ct(e);case"undefined":return ct("undefined");case"function":case"object":if(e===null)return ct("null");else if(e instanceof Date){if(Number.isNaN(e.getTime()))return ct("Invalid Date");return he(e.toISOString())}else if(e instanceof URL)return he(e.href);else if(J7(e))return e[Te]();else return wp(e);default:throw Error(`BUG: unhandled typeof ${typeof e} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},wp=(e)=>{if(!NC.has(e))NC.set(e,Ml(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return NC.get(e)},Pe=(e)=>(t)=>t*53^e,$y=(e)=>e&3221225471|e>>>1&1073741824,J7=(e)=>ue(e,Te),Ml=(e)=>{if(e!==e||e===1/0)return 0;let t=e|0;if(t!==e)t^=e*4294967295;while(e>4294967295)t^=e/=4294967295;return $y(t)},ct=(e)=>{let t=5381,n=e.length;while(n)t=t*33^e.charCodeAt(--n);return $y(t)},V7=(e,t)=>{let n=12289;for(let r=0;r<t.length;r++)n^=T(ct(t[r]),Pe(he(e[t[r]])));return $y(n)},Uy=(e)=>V7(e,Object.keys(e)),Sn=(e)=>{let t=6151;for(let n=0;n<e.length;n++)t=T(t,Pe(he(e[n])));return $y(t)},Ze=function(){if(arguments.length===1){let n=arguments[0];return function(r){return Object.defineProperty(n,Te,{value(){return r},enumerable:!1}),r}}let e=arguments[0],t=arguments[1];return Object.defineProperty(e,Te,{value(){return t},enumerable:!1}),t};var ve=Symbol.for("effect/Equal");function ye(){if(arguments.length===1)return(e)=>Wy(e,arguments[0]);return Wy(arguments[0],arguments[1])}function Wy(e,t){if(e===t)return!0;let n=typeof e;if(n!==typeof t)return!1;if(n==="object"||n==="function"){if(e!==null&&t!==null){if(Tp(e)&&Tp(t))if(he(e)===he(t)&&e[ve](t))return!0;else return Yr.enabled&&Yr.tester?Yr.tester(e,t):!1;else if(e instanceof Date&&t instanceof Date){let r=e.getTime(),o=t.getTime();return r===o||Number.isNaN(r)&&Number.isNaN(o)}else if(e instanceof URL&&t instanceof URL)return e.href===t.href}if(Yr.enabled){if(e===null||t===null)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((r,o)=>Wy(r,t[o]));if(Object.getPrototypeOf(e)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let r=Object.keys(e),o=Object.keys(t);if(r.length===o.length){for(let i of r)if(!((i in t)&&Wy(e[i],t[i])))return Yr.tester?Yr.tester(e,t):!1;return!0}}return Yr.tester?Yr.tester(e,t):!1}}return Yr.enabled&&Yr.tester?Yr.tester(e,t):!1}var Tp=(e)=>ue(e,ve),Xm=()=>ye;var Be=Symbol.for("nodejs.util.inspect.custom"),tt=(e)=>{try{if(ue(e,"toJSON")&&jo(e.toJSON)&&e.toJSON.length===0)return e.toJSON();else if(Array.isArray(e))return e.map(tt)}catch{return{}}return gz(e)};var Ge=(e)=>JSON.stringify(e,null,2),AOe={toJSON(){return tt(this)},[Be](){return this.toJSON()},toString(){return Ge(this.toJSON())}};class G7{[Be](){return this.toJSON()}toString(){return Ge(this.toJSON())}}var Js=(e,t=2)=>{if(typeof e==="string")return e;try{return typeof e==="object"?Hy(e,t):String(e)}catch{return String(e)}},Hy=(e,t)=>{let n=[],r=JSON.stringify(e,(o,i)=>typeof i==="object"&&i!==null?n.includes(i)?void 0:n.push(i)&&(_l.fiberRefs!==void 0&&mz(i)?i[jC](_l.fiberRefs):i):i,t);return n=void 0,r},jC=Symbol.for("effect/Inspectable/Redactable"),mz=(e)=>typeof e==="object"&&e!==null&&(jC in e),_l=Le("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),fz=(e,t)=>{let n=_l.fiberRefs;_l.fiberRefs=e;try{return t()}finally{_l.fiberRefs=n}},gz=(e)=>{if(mz(e)&&_l.fiberRefs!==void 0)return e[jC](_l.fiberRefs);return e};var pe=(e,t)=>{switch(t.length){case 0:return e;case 1:return t[0](e);case 2:return t[1](t[0](e));case 3:return t[2](t[1](t[0](e)));case 4:return t[3](t[2](t[1](t[0](e))));case 5:return t[4](t[3](t[2](t[1](t[0](e)))));case 6:return t[5](t[4](t[3](t[2](t[1](t[0](e))))));case 7:return t[6](t[5](t[4](t[3](t[2](t[1](t[0](e)))))));case 8:return t[7](t[6](t[5](t[4](t[3](t[2](t[1](t[0](e))))))));case 9:return t[8](t[7](t[6](t[5](t[4](t[3](t[2](t[1](t[0](e)))))))));default:{let n=e;for(let r=0,o=t.length;r<o;r++)n=t[r](n);return n}}};var zl="Async",Fl="Commit",Ct="Failure",Ep="OnFailure",Ip="OnSuccess",kp="OnSuccessAndFailure",Et="Success",Jy="Sync",hz="Tag",Vs="UpdateRuntimeFlags",Rp="While",Nl="Iterator",Vy="WithRuntime",Pp="Yield",ef="RevertFlags";var Q7="3.22.0",nf=()=>Q7;var bz=Symbol.for("effect/Effect"),xz=Symbol.for("effect/Stream"),Sz=Symbol.for("effect/Sink"),vz=Symbol.for("effect/Channel"),cc={_R:(e)=>e,_E:(e)=>e,_A:(e)=>e,_V:nf()},K7={_A:(e)=>e,_In:(e)=>e,_L:(e)=>e,_E:(e)=>e,_R:(e)=>e},Y7={_Env:(e)=>e,_InErr:(e)=>e,_InElem:(e)=>e,_InDone:(e)=>e,_OutErr:(e)=>e,_OutElem:(e)=>e,_OutDone:(e)=>e},Gs={[bz]:cc,[xz]:cc,[Sz]:K7,[vz]:Y7,[ve](e){return this===e},[Te](){return Ze(this,wp(this))},[Symbol.iterator](){return new Ol(new Hs(this))},pipe(){return pe(this,arguments)}},Ap={[Te](){return Ze(this,Uy(this))},[ve](e){let t=Object.keys(this),n=Object.keys(e);if(t.length!==n.length)return!1;for(let r of t)if(!((r in e)&&ye(this[r],e[r])))return!1;return!0}},Lo={...Gs,_op:Fl},BC={...Lo,...Ap},wz=function(){function e(){}return e.prototype=Lo,e}();var Cz=Symbol.for("effect/Option"),Ez={...Gs,[Cz]:{_A:(e)=>e},[Be](){return this.toJSON()},toString(){return Ge(this.toJSON())}},X7=Object.assign(Object.create(Ez),{_tag:"Some",_op:"Some",[ve](e){return Gy(e)&&LC(e)&&ye(this.value,e.value)},[Te](){return Ze(this,Pe(he(this._tag))(he(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:tt(this.value)}}}),eX=he("None"),tX=Object.assign(Object.create(Ez),{_tag:"None",_op:"None",[ve](e){return Gy(e)&&vi(e)},[Te](){return eX},toJSON(){return{_id:"Option",_tag:this._tag}}}),Gy=(e)=>ue(e,Cz),vi=(e)=>e._tag==="None",LC=(e)=>e._tag==="Some",wi=Object.create(tX),zr=(e)=>{let t=Object.create(X7);return t.value=e,t};var Qy=Symbol.for("effect/Either"),Iz={...Gs,[Qy]:{_R:(e)=>e},[Be](){return this.toJSON()},toString(){return Ge(this.toJSON())}},nX=Object.assign(Object.create(Iz),{_tag:"Right",_op:"Right",[ve](e){return Ky(e)&&Yy(e)&&ye(this.right,e.right)},[Te](){return Pe(he(this._tag))(he(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:tt(this.right)}}}),rX=Object.assign(Object.create(Iz),{_tag:"Left",_op:"Left",[ve](e){return Ky(e)&&Op(e)&&ye(this.left,e.left)},[Te](){return Pe(he(this._tag))(he(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:tt(this.left)}}}),Ky=(e)=>ue(e,Qy),Op=(e)=>e._tag==="Left",Yy=(e)=>e._tag==="Right",of=(e)=>{let t=Object.create(rX);return t.left=e,t},sf=(e)=>{let t=Object.create(nX);return t.right=e,t},Xy=(e)=>Yy(e)?wi:zr(e.left),eb=(e)=>Op(e)?wi:zr(e.right),kz=h(2,(e,t)=>vi(e)?of(t()):sf(e.value));var oX=Qy,nt=sf,iX=nt(void 0);var dt=of,sX=h(2,(e,t)=>e==null?dt(t(e)):nt(e)),qC=kz,aX=(e)=>{if(jo(e))try{return nt(e())}catch(t){return dt(t)}else try{return nt(e.try())}catch(t){return dt(e.catch(t))}};var Pz=Ky,tn=Op,Yi=Yy,cX=eb,lX=Xy,uX=({left:e,right:t})=>Ki((n,r)=>tn(n)?tn(r)&&e(n.left,r.left):Yi(r)&&t(n.right,r.right)),pX=h(2,(e,{onLeft:t,onRight:n})=>tn(e)?dt(t(e.left)):nt(n(e.right))),dX=h(2,(e,t)=>tn(e)?dt(t(e.left)):nt(e.right)),Qs=h(2,(e,t)=>Yi(e)?nt(t(e.right)):dt(e.left)),Az=h(2,(e,{onLeft:t,onRight:n})=>tn(e)?t(e.left):n(e.right)),mX=h(3,(e,t,n)=>t(e)?nt(e):dt(n(e))),fX=h(3,(e,t,n)=>af(e,(r)=>t(r)?nt(r):dt(n(r)))),jl=Az({onLeft:He,onRight:He}),ZC=h(2,(e,t)=>tn(e)?t(e.left):e.right),gX=ZC(By),hX=ZC(Gm),$C=h(2,(e,t)=>{if(Yi(e))return e.right;throw t(e.left)}),yX=$C(()=>Error("getOrThrow called on a Left")),bX=h(2,(e,t)=>tn(e)?t(e.left):nt(e.right)),af=h(2,(e,t)=>tn(e)?dt(e.left):t(e.right)),xX=h(2,(e,t)=>af(e,(n)=>{let r=jo(t)?t(n):t;return Pz(r)?r:nt(r)})),Oz=h(3,(e,t,n)=>af(e,(r)=>Qs(t,(o)=>n(r,o)))),SX=h(2,(e,t)=>Oz(e,t,(n,r)=>n(r))),UC=(e)=>{if(Symbol.iterator in e){let n=[];for(let r of e){if(tn(r))return r;n.push(r.right)}return nt(n)}let t={};for(let n of Object.keys(e)){let r=e[n];if(tn(r))return r;t[n]=r.right}return nt(t)},vX=(e)=>tn(e)?nt(e.left):dt(e.right),wX=Zy(),TX=(...e)=>{let n=(e.length===1?e[0]:e[1].bind(e[0]))(wX),r=n.next();while(!r.done){let o=qy(r.value)?r.value.value:Dl(r.value);if(tn(o))return o;r=n.next(o.right)}return nt(r.value)},CX=nt({}),EX=vp(Qs,af),IX=Sp(Qs),kX=xp(Qs);var RX=(e)=>vi(e)?nt(wi):Qs(e.value,zr),PX=h(2,(e,t)=>vi(e)?nt(wi):Qs(t(e.value),zr));var WC=(e)=>e.length>0;var Rt={};Xr(Rt,{Do:()=>uee,TypeId:()=>DX,all:()=>Bz,andThen:()=>UX,ap:()=>KX,as:()=>Fz,asVoid:()=>ZX,bind:()=>lee,bindTo:()=>aee,composeK:()=>GX,contains:()=>KC,containsWith:()=>Zz,exists:()=>see,filter:()=>eee,filterMap:()=>qz,firstSomeOf:()=>BX,flatMap:()=>Nr,flatMapNullable:()=>WX,flatten:()=>HX,fromIterable:()=>_X,fromNullable:()=>eo,gen:()=>dee,getEquivalence:()=>tee,getLeft:()=>FX,getOrElse:()=>wn,getOrNull:()=>qX,getOrThrow:()=>GC,getOrThrowWith:()=>zz,getOrUndefined:()=>Rn,getOrder:()=>nee,getRight:()=>zX,isNone:()=>it,isOption:()=>_z,isSome:()=>lt,let:()=>cee,lift2:()=>ree,liftNullable:()=>LX,liftPredicate:()=>oee,liftThrowable:()=>VC,map:()=>Jt,match:()=>vn,mergeWith:()=>Xi,none:()=>Z,orElse:()=>NX,orElseEither:()=>jX,orElseSome:()=>JC,partitionMap:()=>XX,product:()=>jz,productMany:()=>QX,reduceCompact:()=>YX,some:()=>H,tap:()=>Nz,toArray:()=>Lz,toRefinement:()=>MX,void:()=>$X,zipLeft:()=>VX,zipRight:()=>JX,zipWith:()=>QC});var cf=(e)=>(t,n)=>t===n?0:e(t,n);var Dz=cf((e,t)=>e<t?-1:1);var tb=h(2,(e,t)=>cf((n,r)=>e(t(n),t(r))));var OX=(e)=>cf((t,n)=>{let r=Math.min(t.length,n.length),o=0;for(let i of e){if(o>=r)break;let s=i(t[o],n[o]);if(s!==0)return s;o++}return 0});var Mz=(...e)=>OX(e);var HC=(e)=>h(2,(t,n)=>e(t,n)===1);var DX=Symbol.for("effect/Option"),Z=()=>wi,H=zr,_z=Gy,it=vi,lt=LC,vn=h(2,(e,{onNone:t,onSome:n})=>it(e)?t():n(e.value)),MX=(e)=>(t)=>lt(e(t)),_X=(e)=>{for(let t of e)return H(t);return Z()},zX=eb,FX=Xy,wn=h(2,(e,t)=>it(e)?t():e.value),NX=h(2,(e,t)=>it(e)?t():e),JC=h(2,(e,t)=>it(e)?H(t()):e),jX=h(2,(e,t)=>it(e)?Jt(t(),sf):Jt(e,of)),BX=(e)=>{let t=Z();for(t of e)if(lt(t))return t;return t},eo=(e)=>e==null?Z():H(e),LX=(e)=>(...t)=>eo(e(...t)),qX=wn(By),Rn=wn(Gm),VC=(e)=>(...t)=>{try{return H(e(...t))}catch{return Z()}},zz=h(2,(e,t)=>{if(lt(e))return e.value;throw t()}),GC=zz(()=>Error("getOrThrow called on a None")),Jt=h(2,(e,t)=>it(e)?Z():H(t(e.value))),Fz=h(2,(e,t)=>Jt(e,()=>t)),ZX=Fz(void 0),$X=H(void 0);var Nr=h(2,(e,t)=>it(e)?Z():t(e.value)),UX=h(2,(e,t)=>Nr(e,(n)=>{let r=jy(t)?t(n):t;return _z(r)?r:H(r)})),WX=h(2,(e,t)=>it(e)?Z():eo(t(e.value))),HX=Nr(He),JX=h(2,(e,t)=>Nr(e,()=>t)),VX=h(2,(e,t)=>Nz(e,()=>t)),GX=h(2,(e,t)=>(n)=>Nr(e(n),t)),Nz=h(2,(e,t)=>Nr(e,(n)=>Jt(t(n),()=>n))),jz=(e,t)=>lt(e)&&lt(t)?H([e.value,t.value]):Z(),QX=(e,t)=>{if(it(e))return Z();let n=[e.value];for(let r of t){if(it(r))return Z();n.push(r.value)}return H(n)},Bz=(e)=>{if(Symbol.iterator in e){let n=[];for(let r of e){if(it(r))return Z();n.push(r.value)}return H(n)}let t={};for(let n of Object.keys(e)){let r=e[n];if(it(r))return Z();t[n]=r.value}return H(t)},QC=h(3,(e,t,n)=>Jt(jz(e,t),([r,o])=>n(r,o))),KX=h(2,(e,t)=>QC(e,t,(n,r)=>n(r))),YX=h(3,(e,t,n)=>{let r=t;for(let o of e)if(lt(o))r=n(r,o.value);return r}),Lz=(e)=>it(e)?[]:[e.value],XX=h(2,(e,t)=>{if(it(e))return[Z(),Z()];let n=t(e.value);return Op(n)?[H(n.left),Z()]:[Z(),H(n.right)]}),qz=Nr,eee=h(2,(e,t)=>qz(e,(n)=>t(n)?zr(n):wi)),tee=(e)=>Ki((t,n)=>it(t)?it(n):it(n)?!1:e(t.value,n.value)),nee=(e)=>cf((t,n)=>lt(t)?lt(n)?e(t.value,n.value):1:-1),ree=(e)=>h(2,(t,n)=>QC(t,n,e)),oee=h(2,(e,t)=>t(e)?H(e):Z()),Zz=(e)=>h(2,(t,n)=>it(t)?!1:e(t.value,n)),iee=Xm(),KC=Zz(iee),see=h(2,(e,t)=>it(e)?!1:t(e.value)),aee=Sp(Jt),cee=xp(Jt);var lee=vp(Jt,Nr),uee=H({}),pee=Zy(),dee=(...e)=>{let n=(e.length===1?e[0]:e[1].bind(e[0]))(pee),r=n.next();while(!r.done){let o=qy(r.value)?r.value.value:Dl(r.value);if(it(o))return o;r=n.next(o.value)}return H(r.value)},Xi=(e)=>(t,n)=>{if(it(t))return n;else if(it(n))return t;return H(e(t.value,n.value))};var $z=(...e)=>e;var rb=(e)=>{let n=e[Symbol.iterator]().next();if(n.done)throw Error("unsafeHead: empty iterable");return n.value};var fee={[Symbol.iterator](){return gee}},gee={next(){return{done:!0,value:void 0}}},ob=()=>fee;var Uz=h(2,(e,t)=>({[Symbol.iterator](){let n=e[Symbol.iterator](),r=0;return{next(){let o=n.next();if(o.done)return{done:!0,value:void 0};return{done:!1,value:t(o.value,r++)}}}}}));var lf=(e)=>Array(e),YC=h(2,(e,t)=>{let n=Math.max(1,Math.floor(e)),r=Array(n);for(let o=0;o<n;o++)r[o]=t(o);return r});var Ne=(e)=>Array.isArray(e)?e:Array.from(e),Hz=(e)=>Array.isArray(e)?e:[e];var Dp=h(2,(e,t)=>[t,...e]);var Jz=h(2,(e,t)=>[...e,t]),XC=h(2,(e,t)=>Ne(e).concat(Ne(t)));var hee=(e)=>e.length===0,Vz=hee,ib=WC,br=WC;var Gz=(e,t)=>e<0||e>=t.length,yee=(e,t)=>Math.floor(Math.min(Math.max(0,e),t.length)),bee=h(2,(e,t)=>{let n=Math.floor(t);return Gz(n,e)?Z():H(e[n])}),eE=h(2,(e,t)=>{let n=Math.floor(t);if(Gz(n,e))throw Error(`Index ${n} out of bounds`);return e[n]});var lc=bee(0),Gn=eE(0),sb=(e)=>br(e)?H(tE(e)):Z(),tE=(e)=>e[e.length-1];var es=(e)=>e.slice(1);var xee=(e,t)=>{let n=0;for(let r of e){if(!t(r,n))break;n++}return n},Qz=h(2,(e,t)=>vee(e,xee(e,t))),Kz=h(2,(e,t)=>{let n=Ne(e);return n.slice(yee(t,n),n.length)});var nE=(e)=>Array.from(e).reverse(),to=h(2,(e,t)=>{let n=Array.from(e);return n.sort(t),n});var rE=h(2,(e,t)=>Yz(e,t,$z)),Yz=h(3,(e,t,n)=>{let r=Ne(e),o=Ne(t);if(br(r)&&br(o)){let i=[n(Gn(r),Gn(o))],s=Math.min(r.length,o.length);for(let c=1;c<s;c++)i[c]=n(r[c],o[c]);return i}return[]});var See=Xm();var vee=h(2,(e,t)=>{let n=Array.from(e),r=Math.floor(t);if(br(n)){if(r>=1)return wee(n,r);return[[],n]}return[n,[]]}),wee=h(2,(e,t)=>{let n=Math.max(1,Math.floor(t));return n>=e.length?[Tee(e),[]]:[Dp(e.slice(1,n),Gn(e)),e.slice(n)]});var Tee=(e)=>e.slice();var Cee=h(3,(e,t,n)=>{let r=Ne(e),o=Ne(t);if(br(r)){if(br(o))return tF(n)(XC(r,o));return r}return o}),Ti=h(2,(e,t)=>Cee(e,t,See));var Ci=()=>[],jr=(e)=>[e],ts=h(2,(e,t)=>e.map(t)),Xz=h(2,(e,t)=>{if(Vz(e))return[];let n=[];for(let r=0;r<e.length;r++){let o=t(e[r],r);for(let i=0;i<o.length;i++)n.push(o[i])}return n}),ab=Xz(He),Mp=h(2,(e,t)=>{let n=Ne(e),r=[];for(let o=0;o<n.length;o++){let i=t(n[o],o);if(lt(i))r.push(i.value)}return r});var oE=h(2,(e,t)=>{let n=[],r=[],o=Ne(e);for(let i=0;i<o.length;i++){let s=t(o[i],i);if(tn(s))n.push(s.left);else r.push(s.right)}return[n,r]}),eF=Mp(He);var uc=h(3,(e,t,n)=>Ne(e).reduce((r,o,i)=>n(r,o,i),t)),cb=h(3,(e,t,n)=>Ne(e).reduceRight((r,o,i)=>n(r,o,i),t));var iE=(e,t)=>{let n=[],r=e,o;while(lt(o=t(r))){let[i,s]=o.value;n.push(i),r=s}return n};var _p=Ly;var tF=h(2,(e,t)=>{let n=Ne(e);if(br(n)){let r=[Gn(n)],o=es(n);for(let i of o)if(r.every((s)=>!t(i,s)))r.push(i);return r}return[]}),sE=(e)=>tF(e,Xm());var Ks=h(2,(e,t)=>Ne(e).join(t));var nF=Symbol.for("effect/Chunk");function Eee(e,t,n,r,o){for(let i=t;i<Math.min(e.length,t+o);i++)n[r+i-t]=e[i];return n}var rF=[],Iee=(e)=>Ki((t,n)=>t.length===n.length&&qo(t).every((r,o)=>e(r,Bl(n,o)))),kee=Iee(ye),Ree={[nF]:{_A:(e)=>e},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"Chunk",values:qo(this).map(tt)}},[Be](){return this.toJSON()},[ve](e){return oF(e)&&kee(this,e)},[Te](){return Ze(this,Sn(qo(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return rF[Symbol.iterator]();default:return qo(this)[Symbol.iterator]()}},pipe(){return pe(this,arguments)}},Ln=(e)=>{let t=Object.create(Ree);switch(t.backing=e,e._tag){case"IEmpty":{t.length=0,t.depth=0,t.left=t,t.right=t;break}case"IConcat":{t.length=e.left.length+e.right.length,t.depth=1+Math.max(e.left.depth,e.right.depth),t.left=e.left,t.right=e.right;break}case"IArray":{t.length=e.array.length,t.depth=0,t.left=ns,t.right=ns;break}case"ISingleton":{t.length=1,t.depth=0,t.left=ns,t.right=ns;break}case"ISlice":{t.length=e.length,t.depth=e.chunk.depth+1,t.left=ns,t.right=ns;break}}return t},oF=(e)=>ue(e,nF),ns=Ln({_tag:"IEmpty"}),nn=()=>ns,uf=(...e)=>Dee(e),cn=(e)=>Ln({_tag:"ISingleton",a:e}),Ys=(e)=>oF(e)?e:pf(Ne(e)),aE=(e,t,n)=>{switch(e.backing._tag){case"IArray":{Eee(e.backing.array,0,t,n,e.length);break}case"IConcat":{aE(e.left,t,n),aE(e.right,t,n+e.left.length);break}case"ISingleton":{t[n]=e.backing.a;break}case"ISlice":{let r=0,o=n;while(r<e.length)t[o]=Bl(e,r),r+=1,o+=1;break}}};var Pee=(e)=>{switch(e.backing._tag){case"IEmpty":return rF;case"IArray":return e.backing.array;default:{let t=Array(e.length);return aE(e,t,0),e.backing={_tag:"IArray",array:t},e.left=ns,e.right=ns,e.depth=0,t}}},qo=Pee,Aee=(e)=>{switch(e.backing._tag){case"IEmpty":case"ISingleton":return e;case"IArray":return Ln({_tag:"IArray",array:nE(e.backing.array)});case"IConcat":return Ln({_tag:"IConcat",left:ho(e.backing.right),right:ho(e.backing.left)});case"ISlice":return pf(nE(qo(e)))}},ho=Aee,Oee=h(2,(e,t)=>t<0||t>=e.length?Z():H(Bl(e,t))),pf=(e)=>e.length===0?nn():e.length===1?cn(e[0]):Ln({_tag:"IArray",array:e}),Dee=(e)=>pf(e),Bl=h(2,(e,t)=>{switch(e.backing._tag){case"IEmpty":throw Error("Index out of bounds");case"ISingleton":{if(t!==0)throw Error("Index out of bounds");return e.backing.a}case"IArray":{if(t>=e.length||t<0)throw Error("Index out of bounds");return e.backing.array[t]}case"IConcat":return t<e.left.length?Bl(e.left,t):Bl(e.right,t-e.left.length);case"ISlice":return Bl(e.backing.chunk,t+e.backing.offset)}}),zp=h(2,(e,t)=>go(e,cn(t))),Zt=h(2,(e,t)=>go(cn(t),e));var cE=h(2,(e,t)=>{if(t<=0)return e;else if(t>=e.length)return ns;else switch(e.backing._tag){case"ISlice":return Ln({_tag:"ISlice",chunk:e.backing.chunk,offset:e.backing.offset+t,length:e.backing.length-t});case"IConcat":{if(t>e.left.length)return cE(e.right,t-e.left.length);return Ln({_tag:"IConcat",left:cE(e.left,t),right:e.right})}default:return Ln({_tag:"ISlice",chunk:e,offset:t,length:e.length-t})}});var go=h(2,(e,t)=>{if(e.backing._tag==="IEmpty")return t;if(t.backing._tag==="IEmpty")return e;let n=t.depth-e.depth;if(Math.abs(n)<=1)return Ln({_tag:"IConcat",left:e,right:t});else if(n<-1)if(e.left.depth>=e.right.depth){let r=go(e.right,t);return Ln({_tag:"IConcat",left:e.left,right:r})}else{let r=go(e.right.right,t);if(r.depth===e.depth-3){let o=Ln({_tag:"IConcat",left:e.right.left,right:r});return Ln({_tag:"IConcat",left:e.left,right:o})}else{let o=Ln({_tag:"IConcat",left:e.left,right:e.right.left});return Ln({_tag:"IConcat",left:o,right:r})}}else if(t.right.depth>=t.left.depth){let r=go(e,t.left);return Ln({_tag:"IConcat",left:r,right:t.right})}else{let r=go(e,t.left.left);if(r.depth===t.depth-3){let o=Ln({_tag:"IConcat",left:r,right:t.left.right});return Ln({_tag:"IConcat",left:o,right:t.right})}else{let o=Ln({_tag:"IConcat",left:t.left.right,right:t.right});return Ln({_tag:"IConcat",left:r,right:o})}}});var lb=(e)=>e.length===0,_t=(e)=>e.length>0,df=Oee(0),lE=(e)=>Bl(e,0),ut=lE;var zt=(e)=>cE(e,1);var An={};Xr(An,{GenericTag:()=>qn,Reference:()=>Ei,ReferenceTypeId:()=>Lee,Tag:()=>Hee,TagTypeId:()=>Bee,add:()=>vt,empty:()=>Qn,get:()=>Pn,getOption:()=>bo,getOrElse:()=>$ee,isContext:()=>gE,isReference:()=>Zee,isTag:()=>jp,make:()=>no,merge:()=>Uo,mergeAll:()=>hE,omit:()=>Wee,pick:()=>Uee,unsafeGet:()=>$o,unsafeMake:()=>qee});var ub=Symbol.for("effect/Context/Tag"),Fp=Symbol.for("effect/Context/Reference"),Mee="effect/STM",_ee=Symbol.for(Mee),Np={...Gs,_op:"Tag",[_ee]:cc,[ub]:{_Service:(e)=>e,_Identifier:(e)=>e},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[Be](){return this.toJSON()},of(e){return e},context(e){return mE(this,e)}},zee={...Np,[Fp]:Fp},iF=(e)=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=2;let n=Error();Error.stackTraceLimit=t;let r=Object.create(Np);return Object.defineProperty(r,"stack",{get(){return n.stack}}),r.key=e,r},sF=(e)=>()=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=2;let n=Error();Error.stackTraceLimit=t;function r(){}return Object.setPrototypeOf(r,Np),r.key=e,Object.defineProperty(r,"stack",{get(){return n.stack}}),r},aF=()=>(e,t)=>{let n=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=Error();Error.stackTraceLimit=n;function o(){}return Object.setPrototypeOf(o,zee),o.key=e,o.defaultValue=t.defaultValue,Object.defineProperty(o,"stack",{get(){return r.stack}}),o},pE=Symbol.for("effect/Context"),Fee={[pE]:{_Services:(e)=>e},[ve](e){if(dE(e)){if(this.unsafeMap.size===e.unsafeMap.size){for(let t of this.unsafeMap.keys())if(!e.unsafeMap.has(t)||!ye(this.unsafeMap.get(t),e.unsafeMap.get(t)))return!1;return!0}}return!1},[Te](){return Ze(this,Ml(this.unsafeMap.size))},pipe(){return pe(this,arguments)},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(tt)}},[Be](){return this.toJSON()}},Zo=(e)=>{let t=Object.create(Fee);return t.unsafeMap=e,t},Nee=(e)=>{let t=Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(e.stack){let n=e.stack.split(`
6
+ `).map((t)=>t.trim()).join(" ")};n3.O=function(e){return this.inspectOpts.colors=this.useColors,Vw.inspect(e,this.inspectOpts)}});var s3=hl(function(w6e,AD){if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)AD.exports=QK();else AD.exports=i3()});var r6=hl(function(V9e,n6){var iT=Object.prototype.hasOwnProperty,t6=Object.prototype.toString,G3=Object.defineProperty,Q3=Object.getOwnPropertyDescriptor,K3=function(t){if(typeof Array.isArray==="function")return Array.isArray(t);return t6.call(t)==="[object Array]"},Y3=function(t){if(!t||t6.call(t)!=="[object Object]")return!1;var n=iT.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&iT.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var o;for(o in t);return typeof o>"u"||iT.call(t,o)},X3=function(t,n){if(G3&&n.name==="__proto__")G3(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0});else t[n.name]=n.newValue},e6=function(t,n){if(n==="__proto__"){if(!iT.call(t,n))return;else if(Q3)return Q3(t,n).value}return t[n]};n6.exports=function e(){var t,n,r,o,i,s,c=arguments[0],l=1,u=arguments.length,p=!1;if(typeof c==="boolean")p=c,c=arguments[1]||{},l=2;if(c==null||typeof c!=="object"&&typeof c!=="function")c={};for(;l<u;++l)if(t=arguments[l],t!=null){for(n in t)if(r=e6(c,n),o=e6(t,n),c!==o){if(p&&o&&(Y3(o)||(i=K3(o)))){if(i)i=!1,s=r&&K3(r)?r:[];else s=r&&Y3(r)?r:{};X3(c,{name:n,newValue:e(p,s,o)})}else if(typeof o<"u")X3(c,{name:n,newValue:o})}}return c}});function Vm(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function eOe(e){try{return new URL(e).hostname.replace(/\./g,"-")}catch{return(e.split("/")[0]??e).replace(/\./g,"-")}}function tOe(e,t){let n=Vm(e);if(!n){let r=Date.now().toString(36);return t?`id-${r}-${t}`:`id-${r}`}return t?`${n}-${t}`:n}var D7=new Set(["series","species","sheep","deer","fish"]);function PC(e){if(D7.has(e.toLowerCase()))return e;if(e.endsWith("y")&&e.length>1){let t=e[e.length-2];if(!"aeiou".includes(t?.toLowerCase()??""))return e.slice(0,-1)+"ies"}if(e.endsWith("s")||e.endsWith("x")||e.endsWith("ch"))return e+"es";return e+"s"}function nOe(e){return e.replace(/[-_]/g," ").replace(/([A-Z])/g," $1").replace(/\b\w/g,(t)=>t.toUpperCase()).replace(/\s+/g," ").trim()}function rOe(e){let n=e.split("-").map((o)=>o.charAt(0).toUpperCase()+o.slice(1)),r=n.pop();if(r)n.push(PC(r));return n.join(" ")}var M7={github:"GitHub",instagram:"Instagram",linkedin:"LinkedIn",email:"Email",website:"Website"};function oOe(e){let t=e.toLowerCase(),n=M7[t];if(n!==void 0)return n;return e.replace(/\b\w/g,(r)=>r.toUpperCase())}function iOe(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function sOe(e){let n=e.split(/\s+/).filter((r)=>r.length>0).length;return Math.max(1,Math.ceil(n/200))}function aOe(e){let t=e.replace(/\s+/g," ").trim();if(!t)return;let n=t.match(/^(.*?[.!?])(?:\s|$)/);if(n?.[1])return n[1];return t.length<=200?t:`${t.slice(0,197)}\u2026`}function cOe(e,t){if(e.length<=t)return e;let n=e.slice(0,t),r=n.lastIndexOf(" ");return r>0?n.slice(0,r)+"...":n+"..."}function lOe(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;").replaceAll("'","&#39;")}var jt={};Xr(jt,{all:()=>ore,as:()=>tre,asVoid:()=>nre,causeOption:()=>rre,die:()=>ire,exists:()=>sre,fail:()=>FI,failCause:()=>NI,flatMap:()=>are,flatMapEffect:()=>cre,flatten:()=>jI,forEachEffect:()=>Dx,fromEither:()=>lre,fromOption:()=>ure,getOrElse:()=>pre,interrupt:()=>BI,isExit:()=>Xne,isFailure:()=>og,isInterrupted:()=>ere,isSuccess:()=>jc,map:()=>dre,mapBoth:()=>mre,mapError:()=>fre,mapErrorCause:()=>gre,match:()=>LI,matchEffect:()=>hre,succeed:()=>ig,void:()=>yre,zip:()=>bre,zipLeft:()=>xre,zipPar:()=>vre,zipParLeft:()=>wre,zipParRight:()=>Tre,zipRight:()=>Sre,zipWith:()=>qI});var Fr={};Xr(Fr,{Do:()=>CX,TypeId:()=>oX,all:()=>UC,andThen:()=>xX,ap:()=>SX,bind:()=>EX,bindTo:()=>IX,filterOrLeft:()=>fX,flatMap:()=>af,flip:()=>vX,fromNullable:()=>sX,fromOption:()=>qC,gen:()=>TX,getEquivalence:()=>uX,getLeft:()=>lX,getOrElse:()=>ZC,getOrNull:()=>gX,getOrThrow:()=>yX,getOrThrowWith:()=>$C,getOrUndefined:()=>hX,getRight:()=>cX,isEither:()=>Pz,isLeft:()=>tn,isRight:()=>Yi,left:()=>dt,let:()=>kX,liftPredicate:()=>mX,map:()=>Qs,mapBoth:()=>pX,mapLeft:()=>dX,match:()=>Az,merge:()=>jl,orElse:()=>bX,right:()=>nt,transposeMapOption:()=>PX,transposeOption:()=>RX,try:()=>aX,void:()=>iX,zipWith:()=>Oz});var jy=(e)=>typeof e==="function",h=function(e,t){if(typeof e==="function")return function(){if(e(arguments))return t.apply(this,arguments);return(n)=>t(n,...arguments)};switch(e){case 0:case 1:throw RangeError(`Invalid arity ${e}`);case 2:return function(n,r){if(arguments.length>=2)return t(n,r);return function(o){return t(o,n)}};case 3:return function(n,r,o){if(arguments.length>=3)return t(n,r,o);return function(i){return t(i,n,r)}};case 4:return function(n,r,o,i){if(arguments.length>=4)return t(n,r,o,i);return function(s){return t(s,n,r,o)}};case 5:return function(n,r,o,i,s){if(arguments.length>=5)return t(n,r,o,i,s);return function(c){return t(c,n,r,o,i)}};default:return function(){if(arguments.length>=e)return t.apply(this,arguments);let n=arguments;return function(r){return t(r,...n)}}}};var He=(e)=>e;var yp=(e)=>()=>e,Qi=yp(!0),Bn=yp(!1),By=yp(null),Gm=yp(void 0),cr=Gm;function T(e,t,n,r,o,i,s,c,l){switch(arguments.length){case 1:return e;case 2:return t(e);case 3:return n(t(e));case 4:return r(n(t(e)));case 5:return o(r(n(t(e))));case 6:return i(o(r(n(t(e)))));case 7:return s(i(o(r(n(t(e))))));case 8:return c(s(i(o(r(n(t(e)))))));case 9:return l(c(s(i(o(r(n(t(e))))))));default:{let u=arguments[0];for(let p=1;p<arguments.length;p++)u=arguments[p](u);return u}}}var Ki=(e)=>(t,n)=>t===n||e(t,n),_7=(e,t)=>e===t,z7=()=>_7;var az=z7();var cz=h(2,(e,t)=>Ki((n,r)=>e(t(n),t(r))));var Ly=(e)=>Ki((t,n)=>{if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e(t[r],n[r]))return!1;return!0});var xp=(e)=>h(3,(t,n,r)=>e(t,(o)=>({...o,[n]:r(o)}))),Sp=(e)=>h(2,(t,n)=>e(t,(r)=>({[n]:r}))),vp=(e,t)=>h(3,(n,r,o)=>t(n,(i)=>e(o(i),(s)=>({...i,[r]:s}))));var Qm,Le=(e,t)=>{if(!Qm)globalThis["effect/GlobalValue"]??=new Map,Qm=globalThis["effect/GlobalValue"];if(!Qm.has(e))Qm.set(e,t());return Qm.get(e)};var Km=(e)=>typeof e==="string",Ym=(e)=>typeof e==="number";var OC=(e)=>typeof e==="bigint";var jo=jy;var F7=(e)=>typeof e==="object"&&e!==null,Us=(e)=>F7(e)||jo(e),ue=h(2,(e,t)=>Us(e)&&(t in e)),ac=h(2,(e,t)=>ue(e,"_tag")&&e._tag===t),Pl=(e)=>e===null||e===void 0;var Bo=(e)=>typeof e==="string"||ue(e,Symbol.iterator);var DC=(e)=>ue(e,"then")&&jo(e.then);var Ws=(e)=>`BUG: ${e} - please report an issue at https://github.com/Effect-TS/effect/issues`;var MC=Symbol.for("effect/Gen/GenKind"),qy=(e)=>Us(e)&&(MC in e);class uz{value;constructor(e){this.value=e}get _F(){return He}get _R(){return(e)=>e}get _O(){return(e)=>e}get _E(){return(e)=>e}[MC]=MC;[Symbol.iterator](){return new Ol(this)}}class Ol{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new Ol(this.self)}}var Zy=()=>function(){let e=arguments[0];for(let t=1;t<arguments.length;t++)e=arguments[t](e);return new uz(e)},N7=335903614,j7=4150755663,B7=1481765933,L7=1284865837,q7=9007199254740992,Z7=134217728;class zC{_state;constructor(e,t,n,r){if(Pl(t)&&Pl(e))t=Math.random()*4294967295>>>0,e=0;else if(Pl(t))t=e,e=0;if(Pl(r)&&Pl(n))r=this._state?this._state[3]:j7,n=this._state?this._state[2]:N7;else if(Pl(r))r=n,n=0;return this._state=new Int32Array([0,0,n>>>0,((r||0)|1)>>>0]),this._next(),lz(this._state,this._state[0],this._state[1],e>>>0,t>>>0),this._next(),this}getState(){return[this._state[0],this._state[1],this._state[2],this._state[3]]}setState(e){this._state[0]=e[0],this._state[1]=e[1],this._state[2]=e[2],this._state[3]=e[3]|1}integer(e){return Math.round(this.number()*Number.MAX_SAFE_INTEGER)%e}number(){let e=(this._next()&67108863)*1,t=(this._next()&134217727)*1;return(e*Z7+t)/q7}_next(){let e=this._state[0]>>>0,t=this._state[1]>>>0;$7(this._state,e,t,B7,L7),lz(this._state,this._state[0],this._state[1],this._state[2],this._state[3]);let n=e>>>18,r=(t>>>18|e<<14)>>>0;n=(n^e)>>>0,r=(r^t)>>>0;let o=(r>>>27|n<<5)>>>0,i=e>>>27,s=(-i>>>0&31)>>>0;return(o>>>i|o<<s)>>>0}}function $7(e,t,n,r,o){let i=(n>>>16)*(o&65535)>>>0,s=(n&65535)*(o>>>16)>>>0,c=(n&65535)*(o&65535)>>>0,l=(n>>>16)*(o>>>16)+((s>>>16)+(i>>>16))>>>0;if(s=s<<16>>>0,c=c+s>>>0,c>>>0<s>>>0)l=l+1>>>0;if(i=i<<16>>>0,c=c+i>>>0,c>>>0<i>>>0)l=l+1>>>0;l=l+Math.imul(n,r)>>>0,l=l+Math.imul(t,o)>>>0,e[0]=l,e[1]=c}function lz(e,t,n,r,o){let i=t+r>>>0,s=n+o>>>0;if(s>>>0<n>>>0)i=i+1|0;e[0]=i,e[1]=s}var _C=Symbol.for("effect/Utils/YieldWrap");class Hs{#e;constructor(e){this.#e=e}[_C](){return this.#e}}function Dl(e){if(typeof e==="object"&&e!==null&&_C in e)return e[_C]();throw Error(Ws("yieldWrapGet"))}var Yr=Le("effect/Utils/isStructuralRegion",()=>({enabled:!1,tester:void 0}));var pz={effect_internal_function:(e)=>e()},U7={effect_internal_function:(e)=>{try{return e()}finally{}}},W7=pz.effect_internal_function(()=>Error().stack)?.includes("effect_internal_function")===!0,an=W7?pz.effect_internal_function:U7.effect_internal_function,H7=function*(){}.constructor,dz=(e)=>Us(e)&&e.constructor===H7;var NC=Le(Symbol.for("effect/Hash/randomHashCache"),()=>new WeakMap),Te=Symbol.for("effect/Hash"),he=(e)=>{if(Yr.enabled===!0)return 0;switch(typeof e){case"number":return Ml(e);case"bigint":return ct(e.toString(10));case"boolean":return ct(String(e));case"symbol":return ct(String(e));case"string":return ct(e);case"undefined":return ct("undefined");case"function":case"object":if(e===null)return ct("null");else if(e instanceof Date){if(Number.isNaN(e.getTime()))return ct("Invalid Date");return he(e.toISOString())}else if(e instanceof URL)return he(e.href);else if(J7(e))return e[Te]();else return wp(e);default:throw Error(`BUG: unhandled typeof ${typeof e} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},wp=(e)=>{if(!NC.has(e))NC.set(e,Ml(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return NC.get(e)},Pe=(e)=>(t)=>t*53^e,$y=(e)=>e&3221225471|e>>>1&1073741824,J7=(e)=>ue(e,Te),Ml=(e)=>{if(e!==e||e===1/0)return 0;let t=e|0;if(t!==e)t^=e*4294967295;while(e>4294967295)t^=e/=4294967295;return $y(t)},ct=(e)=>{let t=5381,n=e.length;while(n)t=t*33^e.charCodeAt(--n);return $y(t)},V7=(e,t)=>{let n=12289;for(let r=0;r<t.length;r++)n^=T(ct(t[r]),Pe(he(e[t[r]])));return $y(n)},Uy=(e)=>V7(e,Object.keys(e)),Sn=(e)=>{let t=6151;for(let n=0;n<e.length;n++)t=T(t,Pe(he(e[n])));return $y(t)},Ze=function(){if(arguments.length===1){let n=arguments[0];return function(r){return Object.defineProperty(n,Te,{value(){return r},enumerable:!1}),r}}let e=arguments[0],t=arguments[1];return Object.defineProperty(e,Te,{value(){return t},enumerable:!1}),t};var ve=Symbol.for("effect/Equal");function ye(){if(arguments.length===1)return(e)=>Wy(e,arguments[0]);return Wy(arguments[0],arguments[1])}function Wy(e,t){if(e===t)return!0;let n=typeof e;if(n!==typeof t)return!1;if(n==="object"||n==="function"){if(e!==null&&t!==null){if(Tp(e)&&Tp(t))if(he(e)===he(t)&&e[ve](t))return!0;else return Yr.enabled&&Yr.tester?Yr.tester(e,t):!1;else if(e instanceof Date&&t instanceof Date){let r=e.getTime(),o=t.getTime();return r===o||Number.isNaN(r)&&Number.isNaN(o)}else if(e instanceof URL&&t instanceof URL)return e.href===t.href}if(Yr.enabled){if(e===null||t===null)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((r,o)=>Wy(r,t[o]));if(Object.getPrototypeOf(e)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let r=Object.keys(e),o=Object.keys(t);if(r.length===o.length){for(let i of r)if(!((i in t)&&Wy(e[i],t[i])))return Yr.tester?Yr.tester(e,t):!1;return!0}}return Yr.tester?Yr.tester(e,t):!1}}return Yr.enabled&&Yr.tester?Yr.tester(e,t):!1}var Tp=(e)=>ue(e,ve),Xm=()=>ye;var Be=Symbol.for("nodejs.util.inspect.custom"),tt=(e)=>{try{if(ue(e,"toJSON")&&jo(e.toJSON)&&e.toJSON.length===0)return e.toJSON();else if(Array.isArray(e))return e.map(tt)}catch{return{}}return gz(e)};var Ge=(e)=>JSON.stringify(e,null,2),AOe={toJSON(){return tt(this)},[Be](){return this.toJSON()},toString(){return Ge(this.toJSON())}};class G7{[Be](){return this.toJSON()}toString(){return Ge(this.toJSON())}}var Js=(e,t=2)=>{if(typeof e==="string")return e;try{return typeof e==="object"?Hy(e,t):String(e)}catch{return String(e)}},Hy=(e,t)=>{let n=[],r=JSON.stringify(e,(o,i)=>typeof i==="object"&&i!==null?n.includes(i)?void 0:n.push(i)&&(_l.fiberRefs!==void 0&&mz(i)?i[jC](_l.fiberRefs):i):i,t);return n=void 0,r},jC=Symbol.for("effect/Inspectable/Redactable"),mz=(e)=>typeof e==="object"&&e!==null&&(jC in e),_l=Le("effect/Inspectable/redactableState",()=>({fiberRefs:void 0})),fz=(e,t)=>{let n=_l.fiberRefs;_l.fiberRefs=e;try{return t()}finally{_l.fiberRefs=n}},gz=(e)=>{if(mz(e)&&_l.fiberRefs!==void 0)return e[jC](_l.fiberRefs);return e};var pe=(e,t)=>{switch(t.length){case 0:return e;case 1:return t[0](e);case 2:return t[1](t[0](e));case 3:return t[2](t[1](t[0](e)));case 4:return t[3](t[2](t[1](t[0](e))));case 5:return t[4](t[3](t[2](t[1](t[0](e)))));case 6:return t[5](t[4](t[3](t[2](t[1](t[0](e))))));case 7:return t[6](t[5](t[4](t[3](t[2](t[1](t[0](e)))))));case 8:return t[7](t[6](t[5](t[4](t[3](t[2](t[1](t[0](e))))))));case 9:return t[8](t[7](t[6](t[5](t[4](t[3](t[2](t[1](t[0](e)))))))));default:{let n=e;for(let r=0,o=t.length;r<o;r++)n=t[r](n);return n}}};var zl="Async",Fl="Commit",Tt="Failure",Ep="OnFailure",Ip="OnSuccess",kp="OnSuccessAndFailure",Ct="Success",Jy="Sync",hz="Tag",Vs="UpdateRuntimeFlags",Rp="While",Nl="Iterator",Vy="WithRuntime",Pp="Yield",ef="RevertFlags";var Q7="3.22.0",nf=()=>Q7;var bz=Symbol.for("effect/Effect"),xz=Symbol.for("effect/Stream"),Sz=Symbol.for("effect/Sink"),vz=Symbol.for("effect/Channel"),cc={_R:(e)=>e,_E:(e)=>e,_A:(e)=>e,_V:nf()},K7={_A:(e)=>e,_In:(e)=>e,_L:(e)=>e,_E:(e)=>e,_R:(e)=>e},Y7={_Env:(e)=>e,_InErr:(e)=>e,_InElem:(e)=>e,_InDone:(e)=>e,_OutErr:(e)=>e,_OutElem:(e)=>e,_OutDone:(e)=>e},Gs={[bz]:cc,[xz]:cc,[Sz]:K7,[vz]:Y7,[ve](e){return this===e},[Te](){return Ze(this,wp(this))},[Symbol.iterator](){return new Ol(new Hs(this))},pipe(){return pe(this,arguments)}},Ap={[Te](){return Ze(this,Uy(this))},[ve](e){let t=Object.keys(this),n=Object.keys(e);if(t.length!==n.length)return!1;for(let r of t)if(!((r in e)&&ye(this[r],e[r])))return!1;return!0}},Lo={...Gs,_op:Fl},BC={...Lo,...Ap},wz=function(){function e(){}return e.prototype=Lo,e}();var Cz=Symbol.for("effect/Option"),Ez={...Gs,[Cz]:{_A:(e)=>e},[Be](){return this.toJSON()},toString(){return Ge(this.toJSON())}},X7=Object.assign(Object.create(Ez),{_tag:"Some",_op:"Some",[ve](e){return Gy(e)&&LC(e)&&ye(this.value,e.value)},[Te](){return Ze(this,Pe(he(this._tag))(he(this.value)))},toJSON(){return{_id:"Option",_tag:this._tag,value:tt(this.value)}}}),eX=he("None"),tX=Object.assign(Object.create(Ez),{_tag:"None",_op:"None",[ve](e){return Gy(e)&&vi(e)},[Te](){return eX},toJSON(){return{_id:"Option",_tag:this._tag}}}),Gy=(e)=>ue(e,Cz),vi=(e)=>e._tag==="None",LC=(e)=>e._tag==="Some",wi=Object.create(tX),zr=(e)=>{let t=Object.create(X7);return t.value=e,t};var Qy=Symbol.for("effect/Either"),Iz={...Gs,[Qy]:{_R:(e)=>e},[Be](){return this.toJSON()},toString(){return Ge(this.toJSON())}},nX=Object.assign(Object.create(Iz),{_tag:"Right",_op:"Right",[ve](e){return Ky(e)&&Yy(e)&&ye(this.right,e.right)},[Te](){return Pe(he(this._tag))(he(this.right))},toJSON(){return{_id:"Either",_tag:this._tag,right:tt(this.right)}}}),rX=Object.assign(Object.create(Iz),{_tag:"Left",_op:"Left",[ve](e){return Ky(e)&&Op(e)&&ye(this.left,e.left)},[Te](){return Pe(he(this._tag))(he(this.left))},toJSON(){return{_id:"Either",_tag:this._tag,left:tt(this.left)}}}),Ky=(e)=>ue(e,Qy),Op=(e)=>e._tag==="Left",Yy=(e)=>e._tag==="Right",of=(e)=>{let t=Object.create(rX);return t.left=e,t},sf=(e)=>{let t=Object.create(nX);return t.right=e,t},Xy=(e)=>Yy(e)?wi:zr(e.left),eb=(e)=>Op(e)?wi:zr(e.right),kz=h(2,(e,t)=>vi(e)?of(t()):sf(e.value));var oX=Qy,nt=sf,iX=nt(void 0);var dt=of,sX=h(2,(e,t)=>e==null?dt(t(e)):nt(e)),qC=kz,aX=(e)=>{if(jo(e))try{return nt(e())}catch(t){return dt(t)}else try{return nt(e.try())}catch(t){return dt(e.catch(t))}};var Pz=Ky,tn=Op,Yi=Yy,cX=eb,lX=Xy,uX=({left:e,right:t})=>Ki((n,r)=>tn(n)?tn(r)&&e(n.left,r.left):Yi(r)&&t(n.right,r.right)),pX=h(2,(e,{onLeft:t,onRight:n})=>tn(e)?dt(t(e.left)):nt(n(e.right))),dX=h(2,(e,t)=>tn(e)?dt(t(e.left)):nt(e.right)),Qs=h(2,(e,t)=>Yi(e)?nt(t(e.right)):dt(e.left)),Az=h(2,(e,{onLeft:t,onRight:n})=>tn(e)?t(e.left):n(e.right)),mX=h(3,(e,t,n)=>t(e)?nt(e):dt(n(e))),fX=h(3,(e,t,n)=>af(e,(r)=>t(r)?nt(r):dt(n(r)))),jl=Az({onLeft:He,onRight:He}),ZC=h(2,(e,t)=>tn(e)?t(e.left):e.right),gX=ZC(By),hX=ZC(Gm),$C=h(2,(e,t)=>{if(Yi(e))return e.right;throw t(e.left)}),yX=$C(()=>Error("getOrThrow called on a Left")),bX=h(2,(e,t)=>tn(e)?t(e.left):nt(e.right)),af=h(2,(e,t)=>tn(e)?dt(e.left):t(e.right)),xX=h(2,(e,t)=>af(e,(n)=>{let r=jo(t)?t(n):t;return Pz(r)?r:nt(r)})),Oz=h(3,(e,t,n)=>af(e,(r)=>Qs(t,(o)=>n(r,o)))),SX=h(2,(e,t)=>Oz(e,t,(n,r)=>n(r))),UC=(e)=>{if(Symbol.iterator in e){let n=[];for(let r of e){if(tn(r))return r;n.push(r.right)}return nt(n)}let t={};for(let n of Object.keys(e)){let r=e[n];if(tn(r))return r;t[n]=r.right}return nt(t)},vX=(e)=>tn(e)?nt(e.left):dt(e.right),wX=Zy(),TX=(...e)=>{let n=(e.length===1?e[0]:e[1].bind(e[0]))(wX),r=n.next();while(!r.done){let o=qy(r.value)?r.value.value:Dl(r.value);if(tn(o))return o;r=n.next(o.right)}return nt(r.value)},CX=nt({}),EX=vp(Qs,af),IX=Sp(Qs),kX=xp(Qs);var RX=(e)=>vi(e)?nt(wi):Qs(e.value,zr),PX=h(2,(e,t)=>vi(e)?nt(wi):Qs(t(e.value),zr));var WC=(e)=>e.length>0;var Rt={};Xr(Rt,{Do:()=>uee,TypeId:()=>DX,all:()=>Bz,andThen:()=>UX,ap:()=>KX,as:()=>Fz,asVoid:()=>ZX,bind:()=>lee,bindTo:()=>aee,composeK:()=>GX,contains:()=>KC,containsWith:()=>Zz,exists:()=>see,filter:()=>eee,filterMap:()=>qz,firstSomeOf:()=>BX,flatMap:()=>Nr,flatMapNullable:()=>WX,flatten:()=>HX,fromIterable:()=>_X,fromNullable:()=>eo,gen:()=>dee,getEquivalence:()=>tee,getLeft:()=>FX,getOrElse:()=>wn,getOrNull:()=>qX,getOrThrow:()=>GC,getOrThrowWith:()=>zz,getOrUndefined:()=>Rn,getOrder:()=>nee,getRight:()=>zX,isNone:()=>it,isOption:()=>_z,isSome:()=>lt,let:()=>cee,lift2:()=>ree,liftNullable:()=>LX,liftPredicate:()=>oee,liftThrowable:()=>VC,map:()=>Jt,match:()=>vn,mergeWith:()=>Xi,none:()=>q,orElse:()=>NX,orElseEither:()=>jX,orElseSome:()=>JC,partitionMap:()=>XX,product:()=>jz,productMany:()=>QX,reduceCompact:()=>YX,some:()=>W,tap:()=>Nz,toArray:()=>Lz,toRefinement:()=>MX,void:()=>$X,zipLeft:()=>VX,zipRight:()=>JX,zipWith:()=>QC});var cf=(e)=>(t,n)=>t===n?0:e(t,n);var Dz=cf((e,t)=>e<t?-1:1);var tb=h(2,(e,t)=>cf((n,r)=>e(t(n),t(r))));var OX=(e)=>cf((t,n)=>{let r=Math.min(t.length,n.length),o=0;for(let i of e){if(o>=r)break;let s=i(t[o],n[o]);if(s!==0)return s;o++}return 0});var Mz=(...e)=>OX(e);var HC=(e)=>h(2,(t,n)=>e(t,n)===1);var DX=Symbol.for("effect/Option"),q=()=>wi,W=zr,_z=Gy,it=vi,lt=LC,vn=h(2,(e,{onNone:t,onSome:n})=>it(e)?t():n(e.value)),MX=(e)=>(t)=>lt(e(t)),_X=(e)=>{for(let t of e)return W(t);return q()},zX=eb,FX=Xy,wn=h(2,(e,t)=>it(e)?t():e.value),NX=h(2,(e,t)=>it(e)?t():e),JC=h(2,(e,t)=>it(e)?W(t()):e),jX=h(2,(e,t)=>it(e)?Jt(t(),sf):Jt(e,of)),BX=(e)=>{let t=q();for(t of e)if(lt(t))return t;return t},eo=(e)=>e==null?q():W(e),LX=(e)=>(...t)=>eo(e(...t)),qX=wn(By),Rn=wn(Gm),VC=(e)=>(...t)=>{try{return W(e(...t))}catch{return q()}},zz=h(2,(e,t)=>{if(lt(e))return e.value;throw t()}),GC=zz(()=>Error("getOrThrow called on a None")),Jt=h(2,(e,t)=>it(e)?q():W(t(e.value))),Fz=h(2,(e,t)=>Jt(e,()=>t)),ZX=Fz(void 0),$X=W(void 0);var Nr=h(2,(e,t)=>it(e)?q():t(e.value)),UX=h(2,(e,t)=>Nr(e,(n)=>{let r=jy(t)?t(n):t;return _z(r)?r:W(r)})),WX=h(2,(e,t)=>it(e)?q():eo(t(e.value))),HX=Nr(He),JX=h(2,(e,t)=>Nr(e,()=>t)),VX=h(2,(e,t)=>Nz(e,()=>t)),GX=h(2,(e,t)=>(n)=>Nr(e(n),t)),Nz=h(2,(e,t)=>Nr(e,(n)=>Jt(t(n),()=>n))),jz=(e,t)=>lt(e)&&lt(t)?W([e.value,t.value]):q(),QX=(e,t)=>{if(it(e))return q();let n=[e.value];for(let r of t){if(it(r))return q();n.push(r.value)}return W(n)},Bz=(e)=>{if(Symbol.iterator in e){let n=[];for(let r of e){if(it(r))return q();n.push(r.value)}return W(n)}let t={};for(let n of Object.keys(e)){let r=e[n];if(it(r))return q();t[n]=r.value}return W(t)},QC=h(3,(e,t,n)=>Jt(jz(e,t),([r,o])=>n(r,o))),KX=h(2,(e,t)=>QC(e,t,(n,r)=>n(r))),YX=h(3,(e,t,n)=>{let r=t;for(let o of e)if(lt(o))r=n(r,o.value);return r}),Lz=(e)=>it(e)?[]:[e.value],XX=h(2,(e,t)=>{if(it(e))return[q(),q()];let n=t(e.value);return Op(n)?[W(n.left),q()]:[q(),W(n.right)]}),qz=Nr,eee=h(2,(e,t)=>qz(e,(n)=>t(n)?zr(n):wi)),tee=(e)=>Ki((t,n)=>it(t)?it(n):it(n)?!1:e(t.value,n.value)),nee=(e)=>cf((t,n)=>lt(t)?lt(n)?e(t.value,n.value):1:-1),ree=(e)=>h(2,(t,n)=>QC(t,n,e)),oee=h(2,(e,t)=>t(e)?W(e):q()),Zz=(e)=>h(2,(t,n)=>it(t)?!1:e(t.value,n)),iee=Xm(),KC=Zz(iee),see=h(2,(e,t)=>it(e)?!1:t(e.value)),aee=Sp(Jt),cee=xp(Jt);var lee=vp(Jt,Nr),uee=W({}),pee=Zy(),dee=(...e)=>{let n=(e.length===1?e[0]:e[1].bind(e[0]))(pee),r=n.next();while(!r.done){let o=qy(r.value)?r.value.value:Dl(r.value);if(it(o))return o;r=n.next(o.value)}return W(r.value)},Xi=(e)=>(t,n)=>{if(it(t))return n;else if(it(n))return t;return W(e(t.value,n.value))};var $z=(...e)=>e;var rb=(e)=>{let n=e[Symbol.iterator]().next();if(n.done)throw Error("unsafeHead: empty iterable");return n.value};var fee={[Symbol.iterator](){return gee}},gee={next(){return{done:!0,value:void 0}}},ob=()=>fee;var Uz=h(2,(e,t)=>({[Symbol.iterator](){let n=e[Symbol.iterator](),r=0;return{next(){let o=n.next();if(o.done)return{done:!0,value:void 0};return{done:!1,value:t(o.value,r++)}}}}}));var lf=(e)=>Array(e),YC=h(2,(e,t)=>{let n=Math.max(1,Math.floor(e)),r=Array(n);for(let o=0;o<n;o++)r[o]=t(o);return r});var Fe=(e)=>Array.isArray(e)?e:Array.from(e),Hz=(e)=>Array.isArray(e)?e:[e];var Dp=h(2,(e,t)=>[t,...e]);var Jz=h(2,(e,t)=>[...e,t]),XC=h(2,(e,t)=>Fe(e).concat(Fe(t)));var hee=(e)=>e.length===0,Vz=hee,ib=WC,br=WC;var Gz=(e,t)=>e<0||e>=t.length,yee=(e,t)=>Math.floor(Math.min(Math.max(0,e),t.length)),bee=h(2,(e,t)=>{let n=Math.floor(t);return Gz(n,e)?q():W(e[n])}),eE=h(2,(e,t)=>{let n=Math.floor(t);if(Gz(n,e))throw Error(`Index ${n} out of bounds`);return e[n]});var lc=bee(0),Gn=eE(0),sb=(e)=>br(e)?W(tE(e)):q(),tE=(e)=>e[e.length-1];var es=(e)=>e.slice(1);var xee=(e,t)=>{let n=0;for(let r of e){if(!t(r,n))break;n++}return n},Qz=h(2,(e,t)=>vee(e,xee(e,t))),Kz=h(2,(e,t)=>{let n=Fe(e);return n.slice(yee(t,n),n.length)});var nE=(e)=>Array.from(e).reverse(),to=h(2,(e,t)=>{let n=Array.from(e);return n.sort(t),n});var rE=h(2,(e,t)=>Yz(e,t,$z)),Yz=h(3,(e,t,n)=>{let r=Fe(e),o=Fe(t);if(br(r)&&br(o)){let i=[n(Gn(r),Gn(o))],s=Math.min(r.length,o.length);for(let c=1;c<s;c++)i[c]=n(r[c],o[c]);return i}return[]});var See=Xm();var vee=h(2,(e,t)=>{let n=Array.from(e),r=Math.floor(t);if(br(n)){if(r>=1)return wee(n,r);return[[],n]}return[n,[]]}),wee=h(2,(e,t)=>{let n=Math.max(1,Math.floor(t));return n>=e.length?[Tee(e),[]]:[Dp(e.slice(1,n),Gn(e)),e.slice(n)]});var Tee=(e)=>e.slice();var Cee=h(3,(e,t,n)=>{let r=Fe(e),o=Fe(t);if(br(r)){if(br(o))return tF(n)(XC(r,o));return r}return o}),Ti=h(2,(e,t)=>Cee(e,t,See));var Ci=()=>[],jr=(e)=>[e],ts=h(2,(e,t)=>e.map(t)),Xz=h(2,(e,t)=>{if(Vz(e))return[];let n=[];for(let r=0;r<e.length;r++){let o=t(e[r],r);for(let i=0;i<o.length;i++)n.push(o[i])}return n}),ab=Xz(He),Mp=h(2,(e,t)=>{let n=Fe(e),r=[];for(let o=0;o<n.length;o++){let i=t(n[o],o);if(lt(i))r.push(i.value)}return r});var oE=h(2,(e,t)=>{let n=[],r=[],o=Fe(e);for(let i=0;i<o.length;i++){let s=t(o[i],i);if(tn(s))n.push(s.left);else r.push(s.right)}return[n,r]}),eF=Mp(He);var uc=h(3,(e,t,n)=>Fe(e).reduce((r,o,i)=>n(r,o,i),t)),cb=h(3,(e,t,n)=>Fe(e).reduceRight((r,o,i)=>n(r,o,i),t));var iE=(e,t)=>{let n=[],r=e,o;while(lt(o=t(r))){let[i,s]=o.value;n.push(i),r=s}return n};var _p=Ly;var tF=h(2,(e,t)=>{let n=Fe(e);if(br(n)){let r=[Gn(n)],o=es(n);for(let i of o)if(r.every((s)=>!t(i,s)))r.push(i);return r}return[]}),sE=(e)=>tF(e,Xm());var Ks=h(2,(e,t)=>Fe(e).join(t));var nF=Symbol.for("effect/Chunk");function Eee(e,t,n,r,o){for(let i=t;i<Math.min(e.length,t+o);i++)n[r+i-t]=e[i];return n}var rF=[],Iee=(e)=>Ki((t,n)=>t.length===n.length&&qo(t).every((r,o)=>e(r,Bl(n,o)))),kee=Iee(ye),Ree={[nF]:{_A:(e)=>e},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"Chunk",values:qo(this).map(tt)}},[Be](){return this.toJSON()},[ve](e){return oF(e)&&kee(this,e)},[Te](){return Ze(this,Sn(qo(this)))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return rF[Symbol.iterator]();default:return qo(this)[Symbol.iterator]()}},pipe(){return pe(this,arguments)}},Ln=(e)=>{let t=Object.create(Ree);switch(t.backing=e,e._tag){case"IEmpty":{t.length=0,t.depth=0,t.left=t,t.right=t;break}case"IConcat":{t.length=e.left.length+e.right.length,t.depth=1+Math.max(e.left.depth,e.right.depth),t.left=e.left,t.right=e.right;break}case"IArray":{t.length=e.array.length,t.depth=0,t.left=ns,t.right=ns;break}case"ISingleton":{t.length=1,t.depth=0,t.left=ns,t.right=ns;break}case"ISlice":{t.length=e.length,t.depth=e.chunk.depth+1,t.left=ns,t.right=ns;break}}return t},oF=(e)=>ue(e,nF),ns=Ln({_tag:"IEmpty"}),nn=()=>ns,uf=(...e)=>Dee(e),cn=(e)=>Ln({_tag:"ISingleton",a:e}),Ys=(e)=>oF(e)?e:pf(Fe(e)),aE=(e,t,n)=>{switch(e.backing._tag){case"IArray":{Eee(e.backing.array,0,t,n,e.length);break}case"IConcat":{aE(e.left,t,n),aE(e.right,t,n+e.left.length);break}case"ISingleton":{t[n]=e.backing.a;break}case"ISlice":{let r=0,o=n;while(r<e.length)t[o]=Bl(e,r),r+=1,o+=1;break}}};var Pee=(e)=>{switch(e.backing._tag){case"IEmpty":return rF;case"IArray":return e.backing.array;default:{let t=Array(e.length);return aE(e,t,0),e.backing={_tag:"IArray",array:t},e.left=ns,e.right=ns,e.depth=0,t}}},qo=Pee,Aee=(e)=>{switch(e.backing._tag){case"IEmpty":case"ISingleton":return e;case"IArray":return Ln({_tag:"IArray",array:nE(e.backing.array)});case"IConcat":return Ln({_tag:"IConcat",left:ho(e.backing.right),right:ho(e.backing.left)});case"ISlice":return pf(nE(qo(e)))}},ho=Aee,Oee=h(2,(e,t)=>t<0||t>=e.length?q():W(Bl(e,t))),pf=(e)=>e.length===0?nn():e.length===1?cn(e[0]):Ln({_tag:"IArray",array:e}),Dee=(e)=>pf(e),Bl=h(2,(e,t)=>{switch(e.backing._tag){case"IEmpty":throw Error("Index out of bounds");case"ISingleton":{if(t!==0)throw Error("Index out of bounds");return e.backing.a}case"IArray":{if(t>=e.length||t<0)throw Error("Index out of bounds");return e.backing.array[t]}case"IConcat":return t<e.left.length?Bl(e.left,t):Bl(e.right,t-e.left.length);case"ISlice":return Bl(e.backing.chunk,t+e.backing.offset)}}),zp=h(2,(e,t)=>go(e,cn(t))),Zt=h(2,(e,t)=>go(cn(t),e));var cE=h(2,(e,t)=>{if(t<=0)return e;else if(t>=e.length)return ns;else switch(e.backing._tag){case"ISlice":return Ln({_tag:"ISlice",chunk:e.backing.chunk,offset:e.backing.offset+t,length:e.backing.length-t});case"IConcat":{if(t>e.left.length)return cE(e.right,t-e.left.length);return Ln({_tag:"IConcat",left:cE(e.left,t),right:e.right})}default:return Ln({_tag:"ISlice",chunk:e,offset:t,length:e.length-t})}});var go=h(2,(e,t)=>{if(e.backing._tag==="IEmpty")return t;if(t.backing._tag==="IEmpty")return e;let n=t.depth-e.depth;if(Math.abs(n)<=1)return Ln({_tag:"IConcat",left:e,right:t});else if(n<-1)if(e.left.depth>=e.right.depth){let r=go(e.right,t);return Ln({_tag:"IConcat",left:e.left,right:r})}else{let r=go(e.right.right,t);if(r.depth===e.depth-3){let o=Ln({_tag:"IConcat",left:e.right.left,right:r});return Ln({_tag:"IConcat",left:e.left,right:o})}else{let o=Ln({_tag:"IConcat",left:e.left,right:e.right.left});return Ln({_tag:"IConcat",left:o,right:r})}}else if(t.right.depth>=t.left.depth){let r=go(e,t.left);return Ln({_tag:"IConcat",left:r,right:t.right})}else{let r=go(e,t.left.left);if(r.depth===t.depth-3){let o=Ln({_tag:"IConcat",left:r,right:t.left.right});return Ln({_tag:"IConcat",left:o,right:t.right})}else{let o=Ln({_tag:"IConcat",left:t.left.right,right:t.right});return Ln({_tag:"IConcat",left:r,right:o})}}});var lb=(e)=>e.length===0,_t=(e)=>e.length>0,df=Oee(0),lE=(e)=>Bl(e,0),ut=lE;var zt=(e)=>cE(e,1);var An={};Xr(An,{GenericTag:()=>qn,Reference:()=>Ei,ReferenceTypeId:()=>Lee,Tag:()=>Hee,TagTypeId:()=>Bee,add:()=>St,empty:()=>Qn,get:()=>Pn,getOption:()=>bo,getOrElse:()=>$ee,isContext:()=>gE,isReference:()=>Zee,isTag:()=>jp,make:()=>no,merge:()=>Uo,mergeAll:()=>hE,omit:()=>Wee,pick:()=>Uee,unsafeGet:()=>$o,unsafeMake:()=>qee});var ub=Symbol.for("effect/Context/Tag"),Fp=Symbol.for("effect/Context/Reference"),Mee="effect/STM",_ee=Symbol.for(Mee),Np={...Gs,_op:"Tag",[_ee]:cc,[ub]:{_Service:(e)=>e,_Identifier:(e)=>e},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"Tag",key:this.key,stack:this.stack}},[Be](){return this.toJSON()},of(e){return e},context(e){return mE(this,e)}},zee={...Np,[Fp]:Fp},iF=(e)=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=2;let n=Error();Error.stackTraceLimit=t;let r=Object.create(Np);return Object.defineProperty(r,"stack",{get(){return n.stack}}),r.key=e,r},sF=(e)=>()=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=2;let n=Error();Error.stackTraceLimit=t;function r(){}return Object.setPrototypeOf(r,Np),r.key=e,Object.defineProperty(r,"stack",{get(){return n.stack}}),r},aF=()=>(e,t)=>{let n=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=Error();Error.stackTraceLimit=n;function o(){}return Object.setPrototypeOf(o,zee),o.key=e,o.defaultValue=t.defaultValue,Object.defineProperty(o,"stack",{get(){return r.stack}}),o},pE=Symbol.for("effect/Context"),Fee={[pE]:{_Services:(e)=>e},[ve](e){if(dE(e)){if(this.unsafeMap.size===e.unsafeMap.size){for(let t of this.unsafeMap.keys())if(!e.unsafeMap.has(t)||!ye(this.unsafeMap.get(t),e.unsafeMap.get(t)))return!1;return!0}}return!1},[Te](){return Ze(this,Ml(this.unsafeMap.size))},pipe(){return pe(this,arguments)},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"Context",services:Array.from(this.unsafeMap).map(tt)}},[Be](){return this.toJSON()}},Zo=(e)=>{let t=Object.create(Fee);return t.unsafeMap=e,t},Nee=(e)=>{let t=Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(e.stack){let n=e.stack.split(`
7
7
  `);if(n.length>2){let r=n[2].match(/at (.*)/);if(r)t.message=t.message+` (defined at ${r[1]})`}}if(t.stack){let n=t.stack.split(`
8
8
  `);n.splice(1,3),t.stack=n.join(`
9
- `)}return t},dE=(e)=>ue(e,pE),cF=(e)=>ue(e,ub),pb=(e)=>ue(e,Fp),jee=Zo(new Map),lF=()=>jee,mE=(e,t)=>Zo(new Map([[e.key,t]])),uF=h(3,(e,t,n)=>{let r=new Map(e.unsafeMap);return r.set(t.key,n),Zo(r)}),uE=Le("effect/Context/defaultValueCache",()=>new Map),db=(e)=>{if(uE.has(e.key))return uE.get(e.key);let t=e.defaultValue();return uE.set(e.key,t),t},pF=(e,t)=>e.unsafeMap.has(t.key)?e.unsafeMap.get(t.key):db(t),fE=h(2,(e,t)=>{if(!e.unsafeMap.has(t.key)){if(Fp in t)return db(t);throw Nee(t)}return e.unsafeMap.get(t.key)}),dF=fE,mF=h(3,(e,t,n)=>{if(!e.unsafeMap.has(t.key))return pb(t)?db(t):n();return e.unsafeMap.get(t.key)}),fF=h(2,(e,t)=>{if(!e.unsafeMap.has(t.key))return pb(t)?zr(db(t)):wi;return zr(e.unsafeMap.get(t.key))}),gF=h(2,(e,t)=>{let n=new Map(e.unsafeMap);for(let[r,o]of t.unsafeMap)n.set(r,o);return Zo(n)}),hF=(...e)=>{let t=new Map;for(let n=0;n<e.length;n++)e[n].unsafeMap.forEach((r,o)=>{t.set(o,r)});return Zo(t)},yF=(...e)=>(t)=>{let n=new Set(e.map((o)=>o.key)),r=new Map;for(let[o,i]of t.unsafeMap.entries())if(n.has(o))r.set(o,i);return Zo(r)},bF=(...e)=>(t)=>{let n=new Map(t.unsafeMap);for(let r of e)n.delete(r.key);return Zo(n)};var Bee=ub,Lee=Fp,qn=iF;var qee=Zo,gE=dE,jp=cF,Zee=pb,Qn=lF,no=mE,vt=uF,Pn=dF,$ee=mF,$o=fE,bo=fF,Uo=gF,hE=hF,Uee=yF,Wee=bF,Hee=sF,Ei=aF;var yE=Symbol.for("effect/Duration"),CF=BigInt(0),SF=BigInt(24),mb=BigInt(60),bE=BigInt(1000),vF=BigInt(1e6),wF=BigInt(1e9),Jee=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Pt=(e)=>{if(EF(e))return e;else if(Ym(e))return xr(e);else if(OC(e))return mf(e);else if(Array.isArray(e)&&e.length===2&&e.every(Ym)){if(e[0]===-1/0||e[1]===-1/0||Number.isNaN(e[0])||Number.isNaN(e[1]))return oo;if(e[0]===1/0||e[1]===1/0)return Kee;return mf(BigInt(Math.round(e[0]*1e9))+BigInt(Math.round(e[1])))}else if(Km(e)){let t=Jee.exec(e);if(t){let[n,r,o]=t,i=Number(r);switch(o){case"nano":case"nanos":return mf(BigInt(r));case"micro":case"micros":return Yee(BigInt(r));case"milli":case"millis":return xr(i);case"second":case"seconds":return xE(i);case"minute":case"minutes":return Xee(i);case"hour":case"hours":return ete(i);case"day":case"days":return tte(i);case"week":case"weeks":return nte(i)}}}throw Error("Invalid DurationInput")};var TF={_tag:"Millis",millis:0},Vee={_tag:"Infinity"},Gee={[yE]:yE,[Te](){return Ze(this,Uy(this.value))},[ve](e){return EF(e)&&ste(this,e)},toString(){return`Duration(${wE(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:ote(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},ro=(e)=>{let t=Object.create(Gee);if(Ym(e))if(isNaN(e)||e<=0)t.value=TF;else if(!Number.isFinite(e))t.value=Vee;else if(!Number.isInteger(e))t.value={_tag:"Nanos",nanos:BigInt(Math.round(e*1e6))};else t.value={_tag:"Millis",millis:e};else if(e<=CF)t.value=TF;else t.value={_tag:"Nanos",nanos:e};return t},EF=(e)=>ue(e,yE);var Qee=(e)=>{switch(e.value._tag){case"Millis":return e.value.millis===0;case"Nanos":return e.value.nanos===CF;case"Infinity":return!1}},oo=ro(0),Kee=ro(1/0),mf=(e)=>ro(e),Yee=(e)=>ro(e*bE),xr=(e)=>ro(e),xE=(e)=>ro(e*1000),Xee=(e)=>ro(e*60000),ete=(e)=>ro(e*3600000),tte=(e)=>ro(e*86400000),nte=(e)=>ro(e*604800000),lr=(e)=>IF(e,{onMillis:(t)=>t,onNanos:(t)=>Number(t)/1e6});var rte=(e)=>{let t=Pt(e);switch(t.value._tag){case"Infinity":throw Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return BigInt(Math.round(t.value.millis*1e6))}},ote=(e)=>{let t=Pt(e);switch(t.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(t.value.nanos/wF),Number(t.value.nanos%wF)];case"Millis":return[Math.floor(t.value.millis/1000),Math.round(t.value.millis%1000*1e6)]}},IF=h(2,(e,t)=>{let n=Pt(e);switch(n.value._tag){case"Nanos":return t.onNanos(n.value.nanos);case"Infinity":return t.onMillis(1/0);case"Millis":return t.onMillis(n.value.millis)}}),ff=h(3,(e,t,n)=>{let r=Pt(e),o=Pt(t);if(r.value._tag==="Infinity"||o.value._tag==="Infinity")return n.onMillis(lr(r),lr(o));else if(r.value._tag==="Nanos"||o.value._tag==="Nanos"){let i=r.value._tag==="Nanos"?r.value.nanos:BigInt(Math.round(r.value.millis*1e6)),s=o.value._tag==="Nanos"?o.value.nanos:BigInt(Math.round(o.value.millis*1e6));return n.onNanos(i,s)}return n.onMillis(r.value.millis,o.value.millis)});var ite=(e,t)=>ff(e,t,{onMillis:(n,r)=>n===r,onNanos:(n,r)=>n===r});var SE=h(2,(e,t)=>IF(e,{onMillis:(n)=>ro(n*t),onNanos:(n)=>ro(n*BigInt(t))}));var vE=h(2,(e,t)=>ff(e,t,{onMillis:(n,r)=>ro(n+r),onNanos:(n,r)=>ro(n+r)})),kF=h(2,(e,t)=>ff(e,t,{onMillis:(n,r)=>n<r,onNanos:(n,r)=>n<r})),RF=h(2,(e,t)=>ff(e,t,{onMillis:(n,r)=>n<=r,onNanos:(n,r)=>n<=r}));var fb=h(2,(e,t)=>ff(e,t,{onMillis:(n,r)=>n>=r,onNanos:(n,r)=>n>=r})),ste=h(2,(e,t)=>ite(Pt(e),Pt(t))),ate=(e)=>{let t=Pt(e);if(t.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};let n=rte(t),r=n/vF,o=r/bE,i=o/mb,s=i/mb,c=s/SF;return{days:Number(c),hours:Number(s%SF),minutes:Number(i%mb),seconds:Number(o%mb),millis:Number(r%bE),nanos:Number(n%vF)}},wE=(e)=>{let t=Pt(e);if(t.value._tag==="Infinity")return"Infinity";if(Qee(t))return"0";let n=ate(t),r=[];if(n.days!==0)r.push(`${n.days}d`);if(n.hours!==0)r.push(`${n.hours}h`);if(n.minutes!==0)r.push(`${n.minutes}m`);if(n.seconds!==0)r.push(`${n.seconds}s`);if(n.millis!==0)r.push(`${n.millis}ms`);if(n.nanos!==0)r.push(`${n.nanos}ns`);return r.join(" ")};var pc=5,TE=Math.pow(2,5),PF=TE-1,AF=TE/2,OF=TE/4;function cte(e){return e-=e>>1&1431655765,e=(e&858993459)+(e>>2&858993459),e=e+(e>>4)&252645135,e+=e>>8,e+=e>>16,e&127}function dc(e,t){return t>>>e&PF}function mc(e){return 1<<e}function gb(e,t){return cte(e&t-1)}var DF=(e,t)=>({value:e,previous:t});function Ll(e,t,n,r){let o=r;if(!e){let i=r.length;o=Array(i);for(let s=0;s<i;++s)o[s]=r[s]}return o[t]=n,o}function CE(e,t,n){let r=n.length-1,o=0,i=0,s=n;if(e)o=i=t;else{s=Array(r);while(o<t)s[i++]=n[o++]}++o;while(o<=r)s[i++]=n[o++];if(e)s.length=r;return s}function MF(e,t,n,r){let o=r.length;if(e){let l=o;while(l>=t)r[l--]=r[l];return r[t]=n,r}let i=0,s=0,c=Array(o+1);while(i<t)c[s++]=r[i++];c[t]=n;while(i<o)c[++s]=r[i++];return c}class Xs{_tag="EmptyNode";modify(e,t,n,r,o,i){let s=n(Z());if(it(s))return new Xs;return++i.value,new ql(e,r,o,s)}}function Wo(e){return ac(e,"EmptyNode")}function ute(e){return Wo(e)||e._tag==="LeafNode"||e._tag==="CollisionNode"}function hb(e,t){return Wo(e)?!1:t===e.edit}class ql{edit;hash;key;value;_tag="LeafNode";constructor(e,t,n,r){this.edit=e,this.hash=t,this.key=n,this.value=r}modify(e,t,n,r,o,i){if(ye(o,this.key)){let c=n(this.value);if(c===this.value)return this;else if(it(c))return--i.value,new Xs;if(hb(this,e))return this.value=c,this;return new ql(e,r,o,c)}let s=n(Z());if(it(s))return this;return++i.value,_F(e,t,this.hash,this,r,new ql(e,r,o,s))}}class EE{edit;hash;children;_tag="CollisionNode";constructor(e,t,n){this.edit=e,this.hash=t,this.children=n}modify(e,t,n,r,o,i){if(r===this.hash){let c=hb(this,e),l=this.updateCollisionList(c,e,this.hash,this.children,n,o,i);if(l===this.children)return this;return l.length>1?new EE(e,this.hash,l):l[0]}let s=n(Z());if(it(s))return this;return++i.value,_F(e,t,this.hash,this,r,new ql(e,r,o,s))}updateCollisionList(e,t,n,r,o,i,s){let c=r.length;for(let u=0;u<c;++u){let p=r[u];if("key"in p&&ye(i,p.key)){let d=p.value,g=o(d);if(g===d)return r;if(it(g))return--s.value,CE(e,u,r);return Ll(e,u,new ql(t,n,i,g),r)}}let l=o(Z());if(it(l))return r;return++s.value,Ll(e,c,new ql(t,n,i,l),r)}}class Bp{edit;mask;children;_tag="IndexedNode";constructor(e,t,n){this.edit=e,this.mask=t,this.children=n}modify(e,t,n,r,o,i){let s=this.mask,c=this.children,l=dc(t,r),u=mc(l),p=gb(s,u),d=s&u,g=hb(this,e);if(!d){let A=new Xs().modify(e,t+pc,n,r,o,i);if(!A)return this;return c.length>=AF?dte(e,l,A,s,c):new Bp(e,s|u,MF(g,p,A,c))}let f=c[p],v=f.modify(e,t+pc,n,r,o,i);if(f===v)return this;let w=s,I;if(Wo(v)){if(w&=~u,!w)return new Xs;if(c.length<=2&&ute(c[p^1]))return c[p^1];I=CE(g,p,c)}else I=Ll(g,p,v,c);if(g)return this.mask=w,this.children=I,this;return new Bp(e,w,I)}}class IE{edit;size;children;_tag="ArrayNode";constructor(e,t,n){this.edit=e,this.size=t,this.children=n}modify(e,t,n,r,o,i){let s=this.size,c=this.children,l=dc(t,r),u=c[l],p=(u||new Xs).modify(e,t+pc,n,r,o,i);if(u===p)return this;let d=hb(this,e),g;if(Wo(u)&&!Wo(p))++s,g=Ll(d,l,p,c);else if(!Wo(u)&&Wo(p)){if(--s,s<=OF)return pte(e,s,l,c);g=Ll(d,l,new Xs,c)}else g=Ll(d,l,p,c);if(d)return this.size=s,this.children=g,this;return new IE(e,s,g)}}function pte(e,t,n,r){let o=Array(t-1),i=0,s=0;for(let c=0,l=r.length;c<l;++c)if(c!==n){let u=r[c];if(u&&!Wo(u))o[i++]=u,s|=1<<c}return new Bp(e,s,o)}function dte(e,t,n,r,o){let i=[],s=r,c=0;for(let l=0;s;++l){if(s&1)i[l]=o[c++];s>>>=1}return i[t]=n,new IE(e,c+1,i)}function mte(e,t,n,r,o,i){if(n===o)return new EE(e,n,[i,r]);let s=dc(t,n),c=dc(t,o);if(s===c)return(l)=>new Bp(e,mc(s)|mc(c),[l]);else{let l=s<c?[r,i]:[i,r];return new Bp(e,mc(s)|mc(c),l)}}function _F(e,t,n,r,o,i){let s=void 0,c=t;while(!0){let l=mte(e,c,n,r,o,i);if(typeof l==="function")s=DF(l,s),c=c+pc;else{let u=l;while(s!=null)u=s.value(u),s=s.previous;return u}}}var zF="effect/HashMap",yb=Symbol.for(zF),gte={[yb]:yb,[Symbol.iterator](){return new xb(this,(e,t)=>[e,t])},[Te](){let e=he(zF);for(let t of this)e^=T(he(t[0]),Pe(he(t[1])));return Ze(this,e)},[ve](e){if(BF(e)){if(e._size!==this._size)return!1;for(let t of this){let n=T(e,Sb(t[0],he(t[0])));if(it(n))return!1;else if(!ye(t[1],n.value))return!1}return!0}return!1},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},kE=(e,t,n,r)=>{let o=Object.create(gte);return o._editable=e,o._edit=t,o._root=n,o._size=r,o};class xb{map;f;v;constructor(e,t){this.map=e,this.f=t,this.v=FF(this.map._root,this.f,void 0)}next(){if(it(this.v))return{done:!0,value:void 0};let e=this.v.value;return this.v=bb(e.cont),{done:!1,value:e.value}}[Symbol.iterator](){return new xb(this.map,this.f)}}var bb=(e)=>e?NF(e[0],e[1],e[2],e[3],e[4]):Z(),FF=(e,t,n=void 0)=>{switch(e._tag){case"LeafNode":{if(lt(e.value))return H({value:t(e.key,e.value.value),cont:n});return bb(n)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let r=e.children;return NF(r.length,r,0,t,n)}default:return bb(n)}},NF=(e,t,n,r,o)=>{while(n<e){let i=t[n++];if(i&&!Wo(i))return FF(i,r,[e,t,n,r,o])}return bb(o)},hte=kE(!1,0,new Xs,0),Lp=()=>hte;var jF=(e)=>{let t=hf(Lp());for(let n of e)Zl(t,n[0],n[1]);return PE(t)},BF=(e)=>ue(e,yb),LF=(e)=>e&&Wo(e._root),qF=h(2,(e,t)=>Sb(e,t,he(t))),Sb=h(3,(e,t,n)=>{let r=e._root,o=0;while(!0)switch(r._tag){case"LeafNode":return ye(t,r.key)?r.value:Z();case"CollisionNode":{if(n===r.hash){let i=r.children;for(let s=0,c=i.length;s<c;++s){let l=i[s];if("key"in l&&ye(t,l.key))return l.value}}return Z()}case"IndexedNode":{let i=dc(o,n),s=mc(i);if(r.mask&s){r=r.children[gb(r.mask,s)],o+=pc;break}return Z()}case"ArrayNode":{if(r=r.children[dc(o,n)],r){o+=pc;break}return Z()}default:return Z()}});var RE=h(2,(e,t)=>lt(Sb(e,t,he(t))));var Zl=h(3,(e,t,n)=>wb(e,t,()=>H(n))),yte=h(3,(e,t,n)=>{if(e._editable)return e._root=t,e._size=n,e;return t===e._root?e:kE(e._editable,e._edit,t,n)}),vb=(e)=>new xb(e,(t)=>t);var gf=(e)=>e._size;var hf=(e)=>kE(!0,e._edit+1,e._root,e._size),PE=(e)=>(e._editable=!1,e),ZF=h(2,(e,t)=>{let n=hf(e);return t(n),PE(n)}),wb=h(3,(e,t,n)=>$F(e,t,he(t),n)),$F=h(4,(e,t,n,r)=>{let o={value:e._size},i=e._root.modify(e._editable?e._edit:NaN,0,r,n,t,o);return T(e,yte(i,o.value))});var Tb=h(2,(e,t)=>wb(e,t,Z));var UF=h(2,(e,t)=>qp(e,Lp(),(n,r,o)=>Zl(n,o,t(r,o))));var Cb=h(2,(e,t)=>qp(e,void 0,(n,r,o)=>t(r,o))),qp=h(3,(e,t,n)=>{let r=e._root;if(r._tag==="LeafNode")return lt(r.value)?n(t,r.value.value,r.key):t;if(r._tag==="EmptyNode")return t;let o=[r.children],i;while(i=o.pop())for(let s=0,c=i.length;s<c;){let l=i[s++];if(l&&!Wo(l))if(l._tag==="LeafNode"){if(lt(l.value))t=n(t,l.value.value,l.key)}else o.push(l.children)}return t});var HF="effect/HashSet",Eb=Symbol.for(HF),bte={[Eb]:Eb,[Symbol.iterator](){return vb(this._keyMap)},[Te](){return Ze(this,Pe(he(this._keyMap))(he(HF)))},[ve](e){if(JF(e))return gf(this._keyMap)===gf(e._keyMap)&&ye(this._keyMap,e._keyMap);return!1},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},Ib=(e)=>{let t=Object.create(bte);return t._keyMap=e,t},JF=(e)=>ue(e,Eb),xte=Ib(Lp()),$l=()=>xte,VF=(e)=>{let t=Rb($l());for(let n of e)fc(t,n);return Pb(t)},GF=(...e)=>{let t=Rb($l());for(let n of e)fc(t,n);return Pb(t)},kb=h(2,(e,t)=>RE(e._keyMap,t)),QF=h(2,(e,t)=>{let n=!1;for(let r of e)if(n=t(r),n)break;return n}),KF=h(2,(e,t)=>!QF(e,(n)=>!t(n)));var YF=(e)=>gf(e._keyMap),Rb=(e)=>Ib(hf(e._keyMap)),Pb=(e)=>(e._keyMap._editable=!1,e),yf=h(2,(e,t)=>{let n=Rb(e);return t(n),Pb(n)}),fc=h(2,(e,t)=>e._keyMap._editable?(Zl(t,!0)(e._keyMap),e):Ib(Zl(t,!0)(e._keyMap))),AE=h(2,(e,t)=>e._keyMap._editable?(Tb(t)(e._keyMap),e):Ib(Tb(t)(e._keyMap))),XF=h(2,(e,t)=>yf(e,(n)=>{for(let r of t)AE(n,r)}));var eN=h(2,(e,t)=>yf($l(),(n)=>{Ab(e,(r)=>fc(n,r));for(let r of t)fc(n,r)}));var tN=h(2,(e,t)=>yf($l(),(n)=>{Ab(e,(r)=>{let o=t(r);if(!kb(n,o))fc(n,o)})})),nN=h(2,(e,t)=>yf($l(),(n)=>{Ab(e,(r)=>{for(let o of t(r))if(!kb(n,o))fc(n,o)})})),Ab=h(2,(e,t)=>Cb(e._keyMap,(n,r)=>t(r))),rN=h(3,(e,t,n)=>qp(e._keyMap,t,(r,o,i)=>n(r,i)));var Ho=$l,Ob=VF,Ii=GF,Zp=kb;var oN=KF;var ea=YF;var Ul=fc,OE=AE,DE=XF;var os=eN;var ME=tN,_E=nN;var Wl=rN;var iN=Symbol.for("effect/MutableRef"),vte={[iN]:iN,toString(){return Ge(this.toJSON())},toJSON(){return{_id:"MutableRef",current:tt(this.current)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},is=(e)=>{let t=Object.create(vte);return t.current=e,t},Db=h(3,(e,t,n)=>{if(ye(t,e.current))return e.current=n,!0;return!1});var io=(e)=>e.current;var Jo=h(2,(e,t)=>(e.current=t,e));var Fb="effect/FiberId",gc=Symbol.for(Fb),hc="None",Mb="Runtime",_b="Composite",wte=ct(`${Fb}-${hc}`);class aN{[gc]=gc;_tag=hc;id=-1;startTimeMillis=-1;[Te](){return wte}[ve](e){return jb(e)&&e._tag===hc}toString(){return Ge(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[Be](){return this.toJSON()}}class zE{id;startTimeMillis;[gc]=gc;_tag=Mb;constructor(e,t){this.id=e,this.startTimeMillis=t}[Te](){return Ze(this,ct(`${Fb}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[ve](e){return jb(e)&&e._tag===Mb&&this.id===e.id&&this.startTimeMillis===e.startTimeMillis}toString(){return Ge(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,id:this.id,startTimeMillis:this.startTimeMillis}}[Be](){return this.toJSON()}}class cN{left;right;[gc]=gc;_tag=_b;constructor(e,t){this.left=e,this.right=t}_hash;[Te](){return T(ct(`${Fb}-${this._tag}`),Pe(he(this.left)),Pe(he(this.right)),Ze(this))}[ve](e){return jb(e)&&e._tag===_b&&ye(this.left,e.left)&&ye(this.right,e.right)}toString(){return Ge(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,left:tt(this.left),right:tt(this.right)}}[Be](){return this.toJSON()}}var Nb=new aN;var jb=(e)=>ue(e,gc),FE=(e)=>e._tag===hc||T(zb(e),oN((t)=>FE(t)));var lN=h(2,(e,t)=>{if(e._tag===hc)return t;if(t._tag===hc)return e;return new cN(e,t)});var uN=h(2,(e,t)=>FE(e)?t:e),bf=(e)=>{switch(e._tag){case hc:return Ho();case Mb:return Ii(e.id);case _b:return T(bf(e.left),os(bf(e.right)))}},sN=Le(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>is(0)),pN=(e,t)=>new zE(e,t),Bb=(e)=>Array.from(bf(e)).map((n)=>`#${n}`).join(",");var zb=(e)=>{switch(e._tag){case hc:return Ho();case Mb:return Ii(e);case _b:return T(zb(e.left),os(zb(e.right)))}},dN=()=>{let e=io(sN);return T(sN,Jo(e+1)),new zE(e,Date.now())};var Cn=Nb;var so=lN;var Lb=uN,yc=bf,qb=pN,fN=Bb;var Zb=dN;var Hl=Lp;var gN=jF,hN=LF,NE=qF;var Sr=Zl,jE=vb;var yN=ZF,bN=wb;var xN=UF;var SN=Cb,BE=qp;var xf=Symbol.for("effect/List"),LE=(e)=>Ne(e),Tte=(e)=>cz(_p(e),LE),Cte=Tte(ye),Ete={[xf]:xf,_tag:"Cons",toString(){return Ge(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:LE(this).map(tt)}},[Be](){return this.toJSON()},[ve](e){return wN(e)&&this._tag===e._tag&&Cte(this,e)},[Te](){return Ze(this,Sn(LE(this)))},[Symbol.iterator](){let e=!1,t=this;return{next(){if(e)return this.return();if(t._tag==="Nil")return e=!0,this.return();let n=t.head;return t=t.tail,{done:e,value:n}},return(n){if(!e)e=!0;return{done:!0,value:n}}}},pipe(){return pe(this,arguments)}},$b=(e,t)=>{let n=Object.create(Ete);return n.head=e,n.tail=t,n},Ite=ct("Nil"),kte={[xf]:xf,_tag:"Nil",toString(){return Ge(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[Be](){return this.toJSON()},[Te](){return Ite},[ve](e){return wN(e)&&this._tag===e._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return pe(this,arguments)}},vN=Object.create(kte),wN=(e)=>ue(e,xf),ss=(e)=>e._tag==="Nil",qE=(e)=>e._tag==="Cons";var Rte=()=>vN,ta=(e,t)=>$b(e,t),as=Rte,Sf=(e)=>$b(e,vN);var TN=h(2,(e,t)=>Pte(t,e)),Ub=h(2,(e,t)=>ta(t,e)),Pte=h(2,(e,t)=>{if(ss(e))return t;else if(ss(t))return e;else{let n=$b(t.head,e),r=n,o=t.tail;while(!ss(o)){let i=$b(o.head,e);r.tail=i,r=i,o=o.tail}return n}});var CN=h(3,(e,t,n)=>{let r=t,o=e;while(!ss(o))r=n(r,o.head),o=o.tail;return r});var EN=(e)=>{let t=as(),n=e;while(!ss(n))t=Ub(t,n.head),n=n.tail;return t};var OMe=Object.assign(Object.create(Array.prototype),{[Te](){return Ze(this,Sn(this))},[ve](e){if(Array.isArray(e)&&this.length===e.length)return this.every((t,n)=>ye(t,e[n]));else return!1}}),Wp=function(){function e(t){if(t)Object.assign(this,t)}return e.prototype=Ap,e}(),Hb=(e)=>Object.assign(Object.create(Ap),e);var Ate=Symbol.for("effect/DifferContextPatch");function kN(e){return e}var wf={...Wp.prototype,[Ate]:{_Value:kN,_Patch:kN}},Ote=Object.assign(Object.create(wf),{_tag:"Empty"}),Dte=Object.create(Ote),ZE=()=>Dte,Mte=Object.assign(Object.create(wf),{_tag:"AndThen"}),_te=(e,t)=>{let n=Object.create(Mte);return n.first=e,n.second=t,n},zte=Object.assign(Object.create(wf),{_tag:"AddService"}),Fte=(e,t)=>{let n=Object.create(zte);return n.key=e,n.service=t,n},Nte=Object.assign(Object.create(wf),{_tag:"RemoveService"}),jte=(e)=>{let t=Object.create(Nte);return t.key=e,t},Bte=Object.assign(Object.create(wf),{_tag:"UpdateService"}),Lte=(e,t)=>{let n=Object.create(Bte);return n.key=e,n.update=t,n},RN=(e,t)=>{let n=new Map(e.unsafeMap),r=ZE();for(let[o,i]of t.unsafeMap.entries())if(n.has(o)){let s=n.get(o);if(n.delete(o),!ye(s,i))r=vf(Lte(o,()=>i))(r)}else n.delete(o),r=vf(Fte(o,i))(r);for(let[o]of n.entries())r=vf(jte(o))(r);return r},vf=h(2,(e,t)=>_te(e,t)),PN=h(2,(e,t)=>{if(e._tag==="Empty")return t;let n=!1,r=cn(e),o=new Map(t.unsafeMap);while(_t(r)){let s=ut(r),c=zt(r);switch(s._tag){case"Empty":{r=c;break}case"AddService":{o.set(s.key,s.service),r=c;break}case"AndThen":{r=Zt(Zt(c,s.second),s.first);break}case"RemoveService":{o.delete(s.key),r=c;break}case"UpdateService":{o.set(s.key,s.update(o.get(s.key))),n=!0,r=c;break}}}if(!n)return Zo(o);let i=new Map;for(let[s]of t.unsafeMap)if(o.has(s))i.set(s,o.get(s)),o.delete(s);for(let[s,c]of o)i.set(s,c);return Zo(i)});var Zte=Symbol.for("effect/DifferHashSetPatch");function $E(e){return e}var Vb={...Wp.prototype,[Zte]:{_Value:$E,_Key:$E,_Patch:$E}},$te=Object.assign(Object.create(Vb),{_tag:"Empty"}),Ute=Object.create($te),UE=()=>Ute,Wte=Object.assign(Object.create(Vb),{_tag:"AndThen"}),Hte=(e,t)=>{let n=Object.create(Wte);return n.first=e,n.second=t,n},Jte=Object.assign(Object.create(Vb),{_tag:"Add"}),Vte=(e)=>{let t=Object.create(Jte);return t.value=e,t},Gte=Object.assign(Object.create(Vb),{_tag:"Remove"}),Qte=(e)=>{let t=Object.create(Gte);return t.value=e,t},AN=(e,t)=>{let[n,r]=Wl([e,UE()],([o,i],s)=>{if(Zp(s)(o))return[OE(s)(o),i];return[o,Jb(Vte(s))(i)]})(t);return Wl(r,(o,i)=>Jb(Qte(i))(o))(n)},Jb=h(2,(e,t)=>Hte(e,t)),ON=h(2,(e,t)=>{if(e._tag==="Empty")return t;let n=t,r=cn(e);while(_t(r)){let o=ut(r),i=zt(r);switch(o._tag){case"Empty":{r=i;break}case"AndThen":{r=Zt(o.first)(Zt(o.second)(i));break}case"Add":{n=Ul(o.value)(n),r=i;break}case"Remove":n=OE(o.value)(n),r=i}}return n});var Yte=Symbol.for("effect/DifferReadonlyArrayPatch");function DN(e){return e}var Cf={...Wp.prototype,[Yte]:{_Value:DN,_Patch:DN}},Xte=Object.assign(Object.create(Cf),{_tag:"Empty"}),ene=Object.create(Xte),WE=()=>ene,tne=Object.assign(Object.create(Cf),{_tag:"AndThen"}),nne=(e,t)=>{let n=Object.create(tne);return n.first=e,n.second=t,n},rne=Object.assign(Object.create(Cf),{_tag:"Append"}),one=(e)=>{let t=Object.create(rne);return t.values=e,t},ine=Object.assign(Object.create(Cf),{_tag:"Slice"}),sne=(e,t)=>{let n=Object.create(ine);return n.from=e,n.until=t,n},ane=Object.assign(Object.create(Cf),{_tag:"Update"}),cne=(e,t)=>{let n=Object.create(ane);return n.index=e,n.patch=t,n},MN=(e)=>{let t=0,n=WE();while(t<e.oldValue.length&&t<e.newValue.length){let r=e.oldValue[t],o=e.newValue[t],i=e.differ.diff(r,o);if(!ye(i,e.differ.empty))n=Tf(n,cne(t,i));t=t+1}if(t<e.oldValue.length)n=Tf(n,sne(0,t));if(t<e.newValue.length)n=Tf(n,one(Kz(t)(e.newValue)));return n},Tf=h(2,(e,t)=>nne(e,t)),_N=h(3,(e,t,n)=>{if(e._tag==="Empty")return t;let r=t.slice(),o=jr(e);while(ib(o)){let i=Gn(o),s=es(o);switch(i._tag){case"Empty":{o=s;break}case"AndThen":{s.unshift(i.first,i.second),o=s;break}case"Append":{for(let c of i.values)r.push(c);o=s;break}case"Slice":{r=r.slice(i.from,i.until),o=s;break}case"Update":{r[i.index]=n.patch(i.patch,r[i.index]),o=s;break}}}return r});var zN=Symbol.for("effect/Differ"),une={[zN]:{_P:He,_V:He},pipe(){return pe(this,arguments)}},xc=(e)=>{let t=Object.create(une);return t.empty=e.empty,t.diff=e.diff,t.combine=e.combine,t.patch=e.patch,t},HE=()=>xc({empty:ZE(),combine:(e,t)=>vf(t)(e),diff:(e,t)=>RN(e,t),patch:(e,t)=>PN(t)(e)});var JE=()=>xc({empty:UE(),combine:(e,t)=>Jb(t)(e),diff:(e,t)=>AN(e,t),patch:(e,t)=>ON(t)(e)});var VE=(e)=>xc({empty:WE(),combine:(t,n)=>Tf(t,n),diff:(t,n)=>MN({oldValue:t,newValue:n,differ:e}),patch:(t,n)=>_N(t,n,e)});var Gb=()=>FN((e,t)=>t),FN=(e)=>xc({empty:He,combine:(t,n)=>{if(t===He)return n;if(n===He)return t;return(r)=>n(t(r))},diff:(t,n)=>{if(ye(t,n))return He;return yp(n)},patch:(t,n)=>e(n,t(n))});var Ef=255,NN=8,Qb=(e)=>e&Ef,Kb=(e)=>e>>NN&Ef,Jl=(e,t)=>(e&Ef)+((t&e&Ef)<<NN),Yb=Jl(0,0),jN=(e)=>Jl(e,e),BN=(e)=>Jl(e,0);var LN=h(2,(e,t)=>Jl(Qb(e)&~t,Kb(e)));var QE=h(2,(e,t)=>e|t);var qN=(e)=>~e>>>0&Ef;var pne=0,Ri=1,$N=2,KE=4,Xb=16,YE=32;var UN=(e)=>ex(e,YE),XE=h(2,(e,t)=>e&~t);var eI=h(2,(e,t)=>e|t);var Pi=(e)=>If(e)&&!dne(e),If=(e)=>ex(e,Ri);var ex=h(2,(e,t)=>(e&t)!==0),tI=(...e)=>e.reduce((t,n)=>t|n,0),WN=tI(pne);var nI=(e)=>ex(e,KE);var dne=(e)=>ex(e,Xb);var Vo=h(2,(e,t)=>Jl(e^t,t)),na=h(2,(e,t)=>e&(qN(Qb(t))|Kb(t))|Qb(t)&Kb(t));var rI=xc({empty:Yb,diff:(e,t)=>Vo(e,t),combine:(e,t)=>QE(t)(e),patch:(e,t)=>na(t,e)});var HN=Yb;var oI=jN,iI=BN;var sI=LN;var VN={_tag:"Empty"},cI=(e,t)=>({_tag:"Par",left:e,right:t}),tx=(e,t)=>({_tag:"Seq",left:e,right:t}),lI=(e,t)=>({_tag:"Single",dataSource:e,blockedRequest:t});var GN=(e)=>{let t=Sf(e),n=as();while(!0){let[r,o]=CN(t,[KN(),as()],([i,s],c)=>{let[l,u]=mne(c);return[Sne(i,l),TN(s,u)]});if(n=fne(n,r),ss(o))return EN(n);t=o}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},mne=(e)=>{let t=e,n=KN(),r=as(),o=as();while(!0)switch(t._tag){case"Empty":{if(ss(r))return[n,o];t=r.head,r=r.tail;break}case"Par":{r=ta(t.right,r),t=t.left;break}case"Seq":{let{left:i,right:s}=t;switch(i._tag){case"Empty":{t=s;break}case"Par":{let{left:c,right:l}=i;t=cI(tx(c,s),tx(l,s));break}case"Seq":{let{left:c,right:l}=i;t=tx(c,tx(l,s));break}case"Single":{t=i,o=ta(s,o);break}}break}case"Single":{if(n=xne(n,t),ss(r))return[n,o];t=r.head,r=r.tail;break}}throw Error("BUG: BlockedRequests.step - please report an issue at https://github.com/Effect-TS/effect/issues")},fne=(e,t)=>{if(ss(e))return Sf(aI(t));if(vne(t))return e;let n=kne(e.head),r=wne(t);if(n.length===1&&r.length===1&&ye(n[0],r[0]))return ta(Ine(e.head,aI(t)),e.tail);return ta(aI(t),e)},gne=Symbol.for("effect/RequestBlock/Entry");class QN{request;result;listeners;ownerId;state;[gne]=hne;constructor(e,t,n,r,o){this.request=e,this.result=t,this.listeners=n,this.ownerId=r,this.state=o}}var hne={_R:(e)=>e};var uI=(e)=>new QN(e.request,e.result,e.listeners,e.ownerId,e.state),yne=Symbol.for("effect/RequestBlock/RequestBlockParallel"),bne={_R:(e)=>e};class nx{map;[yne]=bne;constructor(e){this.map=e}}var KN=()=>new nx(Hl());var xne=(e,t)=>new nx(bN(e.map,t.dataSource,(n)=>JC(Jt(n,zp(t.blockedRequest)),()=>cn(t.blockedRequest)))),Sne=(e,t)=>new nx(BE(e.map,t.map,(n,r,o)=>Sr(n,o,vn(NE(n,o),{onNone:()=>r,onSome:(i)=>go(r,i)})))),vne=(e)=>hN(e.map),wne=(e)=>Array.from(jE(e.map)),aI=(e)=>Ene(xN(e.map,(t)=>cn(t))),Tne=Symbol.for("effect/RequestBlock/RequestBlockSequential"),Cne={_R:(e)=>e};class pI{map;[Tne]=Cne;constructor(e){this.map=e}}var Ene=(e)=>new pI(e),Ine=(e,t)=>new pI(BE(t.map,e.map,(n,r,o)=>Sr(n,o,vn(NE(n,o),{onNone:()=>nn(),onSome:(i)=>go(i,r)}))));var kne=(e)=>Array.from(jE(e.map)),YN=(e)=>Array.from(e.map);var Sc="Die",ra="Empty",vc="Fail",wc="Interrupt",Tc="Parallel",Cc="Sequential";var nj="effect/Cause",rx=Symbol.for(nj),Pne={_E:(e)=>e},Vp={[rx]:Pne,[Te](){return T(he(nj),Pe(he(Ane(this))),Ze(this))},[ve](e){return kf(e)&&bj(this,e)},pipe(){return pe(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:tt(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:tt(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:tt(this.left),right:tt(this.right)}}},toString(){return Oi(this)},[Be](){return this.toJSON()}},En=(()=>{let e=Object.create(Vp);return e._tag=ra,e})(),ao=(e)=>{let t=Object.create(Vp);return t._tag=vc,t.error=e,t},Vt=(e)=>{let t=Object.create(Vp);return t._tag=Sc,t.defect=e,t},Kn=(e)=>{let t=Object.create(Vp);return t._tag=wc,t.fiberId=e,t},Gt=(e,t)=>{let n=Object.create(Vp);return n._tag=Tc,n.left=e,n.right=t,n},wt=(e,t)=>{let n=Object.create(Vp);return n._tag=Cc,n.left=e,n.right=t,n},kf=(e)=>ue(e,rx),ox=(e)=>e._tag===ra,rj=(e)=>e._tag===vc,Gl=(e)=>e._tag===Sc,oj=(e)=>e._tag===wc,ij=(e)=>e._tag===Cc,sj=(e)=>e._tag===Tc,aj=(e)=>Yl(e,void 0,Dne),Rf=(e)=>{if(e._tag===ra)return!0;return oa(e,!0,(t,n)=>{switch(n._tag){case ra:return H(t);case Sc:case vc:case wc:return H(!1);default:return Z()}})},cj=(e)=>lt(Yp(e)),lj=(e)=>lt(fI(e)),Gp=(e)=>lt(gI(e)),Ql=(e)=>Yl(void 0,Mne)(e),Qp=(e)=>ho(oa(e,nn(),(t,n)=>n._tag===vc?H(T(t,Zt(n.error))):Z())),Kp=(e)=>ho(oa(e,nn(),(t,n)=>n._tag===Sc?H(T(t,Zt(n.defect))):Z())),Kl=(e)=>oa(e,Ho(),(t,n)=>n._tag===wc?H(T(t,Ul(n.fiberId))):Z()),Yp=(e)=>cs(e,(t)=>t._tag===vc?H(t.error):Z()),Ai=(e)=>{let t=Yp(e);switch(t._tag){case"None":return nt(e);case"Some":return dt(t.value)}},fI=(e)=>cs(e,(t)=>t._tag===Sc?H(t.defect):Z()),uj=(e)=>ls(e,{onEmpty:H(En),onFail:Jt(ao),onDie:(t)=>H(Vt(t)),onInterrupt:(t)=>H(Kn(t)),onSequential:Xi(wt),onParallel:Xi(Gt)}),gI=(e)=>cs(e,(t)=>t._tag===wc?H(t.fiberId):Z()),ix=(e)=>ls(e,{onEmpty:Z(),onFail:()=>Z(),onDie:(t)=>H(Vt(t)),onInterrupt:()=>Z(),onSequential:Xi(wt),onParallel:Xi(Gt)}),pj=(e)=>ls(e,{onEmpty:Z(),onFail:(t)=>H(Vt(t)),onDie:(t)=>H(Vt(t)),onInterrupt:()=>Z(),onSequential:Xi(wt),onParallel:Xi(Gt)}),dj=(e)=>ls(e,{onEmpty:Ho(),onFail:(t)=>Ii(ao(t)),onDie:(t)=>Ii(Vt(t)),onInterrupt:(t)=>Ii(Kn(t)),onSequential:(t,n)=>_E(t,(r)=>ME(n,(o)=>wt(r,o))),onParallel:(t,n)=>_E(t,(r)=>ME(n,(o)=>Gt(r,o)))}),Pf=(e)=>ls(e,{onEmpty:En,onFail:()=>En,onDie:Vt,onInterrupt:Kn,onSequential:wt,onParallel:Gt}),mj=(e)=>ls(e,{onEmpty:En,onFail:Vt,onDie:Vt,onInterrupt:Kn,onSequential:wt,onParallel:Gt}),fj=h(2,(e,t)=>ls(e,{onEmpty:H(En),onFail:(n)=>H(ao(n)),onDie:(n)=>{let r=t(n);return lt(r)?Z():H(Vt(n))},onInterrupt:(n)=>H(Kn(n)),onSequential:Xi(wt),onParallel:Xi(Gt)})),gj=h(2,(e,t)=>Xp(e,()=>t)),Xp=h(2,(e,t)=>Jp(e,(n)=>ao(t(n)))),Jp=h(2,(e,t)=>ls(e,{onEmpty:En,onFail:(n)=>t(n),onDie:(n)=>Vt(n),onInterrupt:(n)=>Kn(n),onSequential:(n,r)=>wt(n,r),onParallel:(n,r)=>Gt(n,r)})),sx=(e)=>Jp(e,He),hj=h(2,(e,t)=>jo(t)?Jp(e,t):Jp(e,()=>t)),yj=h(2,(e,t)=>{if(t._tag===ra||e===t)return!0;return oa(e,!1,(n,r)=>H(n||bj(r,t)))}),bj=(e,t)=>{let n=cn(e),r=cn(t);while(_t(n)&&_t(r)){let[o,i]=T(ut(n),oa([Ho(),nn()],([l,u],p)=>{let[d,g]=dI(p);return H([T(l,os(d)),T(u,go(g))])})),[s,c]=T(ut(r),oa([Ho(),nn()],([l,u],p)=>{let[d,g]=dI(p);return H([T(l,os(d)),T(u,go(g))])}));if(!ye(o,s))return!1;n=i,r=c}return!0},Ane=(e)=>One(cn(e),nn()),One=(e,t)=>{while(!0){let[n,r]=T(e,uc([Ho(),nn()],([i,s],c)=>{let[l,u]=dI(c);return[T(i,os(l)),T(s,go(u))]})),o=ea(n)>0?T(t,Zt(n)):t;if(lb(r))return ho(o);e=r,t=o}throw Error(Ws("Cause.flattenCauseLoop"))},cs=h(2,(e,t)=>{let n=[e];while(n.length>0){let r=n.pop(),o=t(r);switch(o._tag){case"None":{switch(r._tag){case Cc:case Tc:{n.push(r.right),n.push(r.left);break}}break}case"Some":return o}}return Z()}),xj=h(2,(e,t)=>Yl(e,void 0,_ne(t))),dI=(e)=>{let t=e,n=[],r=Ho(),o=nn();while(t!==void 0)switch(t._tag){case ra:{if(n.length===0)return[r,o];t=n.pop();break}case vc:{if(r=Ul(r,uf(t._tag,t.error)),n.length===0)return[r,o];t=n.pop();break}case Sc:{if(r=Ul(r,uf(t._tag,t.defect)),n.length===0)return[r,o];t=n.pop();break}case wc:{if(r=Ul(r,uf(t._tag,t.fiberId)),n.length===0)return[r,o];t=n.pop();break}case Cc:{switch(t.left._tag){case ra:{t=t.right;break}case Cc:{t=wt(t.left.left,wt(t.left.right,t.right));break}case Tc:{t=Gt(wt(t.left.left,t.right),wt(t.left.right,t.right));break}default:{o=Zt(o,t.right),t=t.left;break}}break}case Tc:{n.push(t.right),t=t.left;break}}throw Error(Ws("Cause.evaluateCauseLoop"))},Dne={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:(e,t,n)=>t+n,parallelCase:(e,t,n)=>t+n},Mne={emptyCase:Qi,failCase:Bn,dieCase:Bn,interruptCase:Qi,sequentialCase:(e,t,n)=>t&&n,parallelCase:(e,t,n)=>t&&n},_ne=(e)=>({emptyCase:()=>En,failCase:(t,n)=>ao(n),dieCase:(t,n)=>Vt(n),interruptCase:(t,n)=>Kn(n),sequentialCase:(t,n,r)=>{if(e(n)){if(e(r))return wt(n,r);return n}if(e(r))return r;return En},parallelCase:(t,n,r)=>{if(e(n)){if(e(r))return Gt(n,r);return n}if(e(r))return r;return En}}),ej="SequentialCase",tj="ParallelCase",ls=h(2,(e,{onDie:t,onEmpty:n,onFail:r,onInterrupt:o,onParallel:i,onSequential:s})=>Yl(e,void 0,{emptyCase:()=>n,failCase:(c,l)=>r(l),dieCase:(c,l)=>t(l),interruptCase:(c,l)=>o(l),sequentialCase:(c,l,u)=>s(l,u),parallelCase:(c,l,u)=>i(l,u)})),oa=h(3,(e,t,n)=>{let r=t,o=e,i=[];while(o!==void 0){let s=n(r,o);switch(r=lt(s)?s.value:r,o._tag){case Cc:{i.push(o.right),o=o.left;break}case Tc:{i.push(o.right),o=o.left;break}default:{o=void 0;break}}if(o===void 0&&i.length>0)o=i.pop()}return r}),Yl=h(3,(e,t,n)=>{let r=[e],o=[];while(r.length>0){let s=r.pop();switch(s._tag){case ra:{o.push(nt(n.emptyCase(t)));break}case vc:{o.push(nt(n.failCase(t,s.error)));break}case Sc:{o.push(nt(n.dieCase(t,s.defect)));break}case wc:{o.push(nt(n.interruptCase(t,s.fiberId)));break}case Cc:{r.push(s.right),r.push(s.left),o.push(dt({_tag:ej}));break}case Tc:{r.push(s.right),r.push(s.left),o.push(dt({_tag:tj}));break}}}let i=[];while(o.length>0){let s=o.pop();switch(s._tag){case"Left":{switch(s.left._tag){case ej:{let c=i.pop(),l=i.pop(),u=n.sequentialCase(t,c,l);i.push(u);break}case tj:{let c=i.pop(),l=i.pop(),u=n.parallelCase(t,c,l);i.push(u);break}}break}case"Right":{i.push(s.right);break}}}if(i.length===0)throw Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return i.pop()}),Oi=(e,t)=>{if(Ql(e))return"All fibers interrupted without errors.";return ed(e).map(function(n){if(t?.renderErrorCause!==!0||n.cause===void 0)return n.stack;return`${n.stack} {
9
+ `)}return t},dE=(e)=>ue(e,pE),cF=(e)=>ue(e,ub),pb=(e)=>ue(e,Fp),jee=Zo(new Map),lF=()=>jee,mE=(e,t)=>Zo(new Map([[e.key,t]])),uF=h(3,(e,t,n)=>{let r=new Map(e.unsafeMap);return r.set(t.key,n),Zo(r)}),uE=Le("effect/Context/defaultValueCache",()=>new Map),db=(e)=>{if(uE.has(e.key))return uE.get(e.key);let t=e.defaultValue();return uE.set(e.key,t),t},pF=(e,t)=>e.unsafeMap.has(t.key)?e.unsafeMap.get(t.key):db(t),fE=h(2,(e,t)=>{if(!e.unsafeMap.has(t.key)){if(Fp in t)return db(t);throw Nee(t)}return e.unsafeMap.get(t.key)}),dF=fE,mF=h(3,(e,t,n)=>{if(!e.unsafeMap.has(t.key))return pb(t)?db(t):n();return e.unsafeMap.get(t.key)}),fF=h(2,(e,t)=>{if(!e.unsafeMap.has(t.key))return pb(t)?zr(db(t)):wi;return zr(e.unsafeMap.get(t.key))}),gF=h(2,(e,t)=>{let n=new Map(e.unsafeMap);for(let[r,o]of t.unsafeMap)n.set(r,o);return Zo(n)}),hF=(...e)=>{let t=new Map;for(let n=0;n<e.length;n++)e[n].unsafeMap.forEach((r,o)=>{t.set(o,r)});return Zo(t)},yF=(...e)=>(t)=>{let n=new Set(e.map((o)=>o.key)),r=new Map;for(let[o,i]of t.unsafeMap.entries())if(n.has(o))r.set(o,i);return Zo(r)},bF=(...e)=>(t)=>{let n=new Map(t.unsafeMap);for(let r of e)n.delete(r.key);return Zo(n)};var Bee=ub,Lee=Fp,qn=iF;var qee=Zo,gE=dE,jp=cF,Zee=pb,Qn=lF,no=mE,St=uF,Pn=dF,$ee=mF,$o=fE,bo=fF,Uo=gF,hE=hF,Uee=yF,Wee=bF,Hee=sF,Ei=aF;var yE=Symbol.for("effect/Duration"),CF=BigInt(0),SF=BigInt(24),mb=BigInt(60),bE=BigInt(1000),vF=BigInt(1e6),wF=BigInt(1e9),Jee=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Pt=(e)=>{if(EF(e))return e;else if(Ym(e))return xr(e);else if(OC(e))return mf(e);else if(Array.isArray(e)&&e.length===2&&e.every(Ym)){if(e[0]===-1/0||e[1]===-1/0||Number.isNaN(e[0])||Number.isNaN(e[1]))return oo;if(e[0]===1/0||e[1]===1/0)return Kee;return mf(BigInt(Math.round(e[0]*1e9))+BigInt(Math.round(e[1])))}else if(Km(e)){let t=Jee.exec(e);if(t){let[n,r,o]=t,i=Number(r);switch(o){case"nano":case"nanos":return mf(BigInt(r));case"micro":case"micros":return Yee(BigInt(r));case"milli":case"millis":return xr(i);case"second":case"seconds":return xE(i);case"minute":case"minutes":return Xee(i);case"hour":case"hours":return ete(i);case"day":case"days":return tte(i);case"week":case"weeks":return nte(i)}}}throw Error("Invalid DurationInput")};var TF={_tag:"Millis",millis:0},Vee={_tag:"Infinity"},Gee={[yE]:yE,[Te](){return Ze(this,Uy(this.value))},[ve](e){return EF(e)&&ste(this,e)},toString(){return`Duration(${wE(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:ote(this)};case"Infinity":return{_id:"Duration",_tag:"Infinity"}}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},ro=(e)=>{let t=Object.create(Gee);if(Ym(e))if(isNaN(e)||e<=0)t.value=TF;else if(!Number.isFinite(e))t.value=Vee;else if(!Number.isInteger(e))t.value={_tag:"Nanos",nanos:BigInt(Math.round(e*1e6))};else t.value={_tag:"Millis",millis:e};else if(e<=CF)t.value=TF;else t.value={_tag:"Nanos",nanos:e};return t},EF=(e)=>ue(e,yE);var Qee=(e)=>{switch(e.value._tag){case"Millis":return e.value.millis===0;case"Nanos":return e.value.nanos===CF;case"Infinity":return!1}},oo=ro(0),Kee=ro(1/0),mf=(e)=>ro(e),Yee=(e)=>ro(e*bE),xr=(e)=>ro(e),xE=(e)=>ro(e*1000),Xee=(e)=>ro(e*60000),ete=(e)=>ro(e*3600000),tte=(e)=>ro(e*86400000),nte=(e)=>ro(e*604800000),lr=(e)=>IF(e,{onMillis:(t)=>t,onNanos:(t)=>Number(t)/1e6});var rte=(e)=>{let t=Pt(e);switch(t.value._tag){case"Infinity":throw Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return BigInt(Math.round(t.value.millis*1e6))}},ote=(e)=>{let t=Pt(e);switch(t.value._tag){case"Infinity":return[1/0,0];case"Nanos":return[Number(t.value.nanos/wF),Number(t.value.nanos%wF)];case"Millis":return[Math.floor(t.value.millis/1000),Math.round(t.value.millis%1000*1e6)]}},IF=h(2,(e,t)=>{let n=Pt(e);switch(n.value._tag){case"Nanos":return t.onNanos(n.value.nanos);case"Infinity":return t.onMillis(1/0);case"Millis":return t.onMillis(n.value.millis)}}),ff=h(3,(e,t,n)=>{let r=Pt(e),o=Pt(t);if(r.value._tag==="Infinity"||o.value._tag==="Infinity")return n.onMillis(lr(r),lr(o));else if(r.value._tag==="Nanos"||o.value._tag==="Nanos"){let i=r.value._tag==="Nanos"?r.value.nanos:BigInt(Math.round(r.value.millis*1e6)),s=o.value._tag==="Nanos"?o.value.nanos:BigInt(Math.round(o.value.millis*1e6));return n.onNanos(i,s)}return n.onMillis(r.value.millis,o.value.millis)});var ite=(e,t)=>ff(e,t,{onMillis:(n,r)=>n===r,onNanos:(n,r)=>n===r});var SE=h(2,(e,t)=>IF(e,{onMillis:(n)=>ro(n*t),onNanos:(n)=>ro(n*BigInt(t))}));var vE=h(2,(e,t)=>ff(e,t,{onMillis:(n,r)=>ro(n+r),onNanos:(n,r)=>ro(n+r)})),kF=h(2,(e,t)=>ff(e,t,{onMillis:(n,r)=>n<r,onNanos:(n,r)=>n<r})),RF=h(2,(e,t)=>ff(e,t,{onMillis:(n,r)=>n<=r,onNanos:(n,r)=>n<=r}));var fb=h(2,(e,t)=>ff(e,t,{onMillis:(n,r)=>n>=r,onNanos:(n,r)=>n>=r})),ste=h(2,(e,t)=>ite(Pt(e),Pt(t))),ate=(e)=>{let t=Pt(e);if(t.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};let n=rte(t),r=n/vF,o=r/bE,i=o/mb,s=i/mb,c=s/SF;return{days:Number(c),hours:Number(s%SF),minutes:Number(i%mb),seconds:Number(o%mb),millis:Number(r%bE),nanos:Number(n%vF)}},wE=(e)=>{let t=Pt(e);if(t.value._tag==="Infinity")return"Infinity";if(Qee(t))return"0";let n=ate(t),r=[];if(n.days!==0)r.push(`${n.days}d`);if(n.hours!==0)r.push(`${n.hours}h`);if(n.minutes!==0)r.push(`${n.minutes}m`);if(n.seconds!==0)r.push(`${n.seconds}s`);if(n.millis!==0)r.push(`${n.millis}ms`);if(n.nanos!==0)r.push(`${n.nanos}ns`);return r.join(" ")};var pc=5,TE=Math.pow(2,5),PF=TE-1,AF=TE/2,OF=TE/4;function cte(e){return e-=e>>1&1431655765,e=(e&858993459)+(e>>2&858993459),e=e+(e>>4)&252645135,e+=e>>8,e+=e>>16,e&127}function dc(e,t){return t>>>e&PF}function mc(e){return 1<<e}function gb(e,t){return cte(e&t-1)}var DF=(e,t)=>({value:e,previous:t});function Ll(e,t,n,r){let o=r;if(!e){let i=r.length;o=Array(i);for(let s=0;s<i;++s)o[s]=r[s]}return o[t]=n,o}function CE(e,t,n){let r=n.length-1,o=0,i=0,s=n;if(e)o=i=t;else{s=Array(r);while(o<t)s[i++]=n[o++]}++o;while(o<=r)s[i++]=n[o++];if(e)s.length=r;return s}function MF(e,t,n,r){let o=r.length;if(e){let l=o;while(l>=t)r[l--]=r[l];return r[t]=n,r}let i=0,s=0,c=Array(o+1);while(i<t)c[s++]=r[i++];c[t]=n;while(i<o)c[++s]=r[i++];return c}class Xs{_tag="EmptyNode";modify(e,t,n,r,o,i){let s=n(q());if(it(s))return new Xs;return++i.value,new ql(e,r,o,s)}}function Wo(e){return ac(e,"EmptyNode")}function ute(e){return Wo(e)||e._tag==="LeafNode"||e._tag==="CollisionNode"}function hb(e,t){return Wo(e)?!1:t===e.edit}class ql{edit;hash;key;value;_tag="LeafNode";constructor(e,t,n,r){this.edit=e,this.hash=t,this.key=n,this.value=r}modify(e,t,n,r,o,i){if(ye(o,this.key)){let c=n(this.value);if(c===this.value)return this;else if(it(c))return--i.value,new Xs;if(hb(this,e))return this.value=c,this;return new ql(e,r,o,c)}let s=n(q());if(it(s))return this;return++i.value,_F(e,t,this.hash,this,r,new ql(e,r,o,s))}}class EE{edit;hash;children;_tag="CollisionNode";constructor(e,t,n){this.edit=e,this.hash=t,this.children=n}modify(e,t,n,r,o,i){if(r===this.hash){let c=hb(this,e),l=this.updateCollisionList(c,e,this.hash,this.children,n,o,i);if(l===this.children)return this;return l.length>1?new EE(e,this.hash,l):l[0]}let s=n(q());if(it(s))return this;return++i.value,_F(e,t,this.hash,this,r,new ql(e,r,o,s))}updateCollisionList(e,t,n,r,o,i,s){let c=r.length;for(let u=0;u<c;++u){let p=r[u];if("key"in p&&ye(i,p.key)){let d=p.value,g=o(d);if(g===d)return r;if(it(g))return--s.value,CE(e,u,r);return Ll(e,u,new ql(t,n,i,g),r)}}let l=o(q());if(it(l))return r;return++s.value,Ll(e,c,new ql(t,n,i,l),r)}}class Bp{edit;mask;children;_tag="IndexedNode";constructor(e,t,n){this.edit=e,this.mask=t,this.children=n}modify(e,t,n,r,o,i){let s=this.mask,c=this.children,l=dc(t,r),u=mc(l),p=gb(s,u),d=s&u,g=hb(this,e);if(!d){let A=new Xs().modify(e,t+pc,n,r,o,i);if(!A)return this;return c.length>=AF?dte(e,l,A,s,c):new Bp(e,s|u,MF(g,p,A,c))}let f=c[p],v=f.modify(e,t+pc,n,r,o,i);if(f===v)return this;let w=s,I;if(Wo(v)){if(w&=~u,!w)return new Xs;if(c.length<=2&&ute(c[p^1]))return c[p^1];I=CE(g,p,c)}else I=Ll(g,p,v,c);if(g)return this.mask=w,this.children=I,this;return new Bp(e,w,I)}}class IE{edit;size;children;_tag="ArrayNode";constructor(e,t,n){this.edit=e,this.size=t,this.children=n}modify(e,t,n,r,o,i){let s=this.size,c=this.children,l=dc(t,r),u=c[l],p=(u||new Xs).modify(e,t+pc,n,r,o,i);if(u===p)return this;let d=hb(this,e),g;if(Wo(u)&&!Wo(p))++s,g=Ll(d,l,p,c);else if(!Wo(u)&&Wo(p)){if(--s,s<=OF)return pte(e,s,l,c);g=Ll(d,l,new Xs,c)}else g=Ll(d,l,p,c);if(d)return this.size=s,this.children=g,this;return new IE(e,s,g)}}function pte(e,t,n,r){let o=Array(t-1),i=0,s=0;for(let c=0,l=r.length;c<l;++c)if(c!==n){let u=r[c];if(u&&!Wo(u))o[i++]=u,s|=1<<c}return new Bp(e,s,o)}function dte(e,t,n,r,o){let i=[],s=r,c=0;for(let l=0;s;++l){if(s&1)i[l]=o[c++];s>>>=1}return i[t]=n,new IE(e,c+1,i)}function mte(e,t,n,r,o,i){if(n===o)return new EE(e,n,[i,r]);let s=dc(t,n),c=dc(t,o);if(s===c)return(l)=>new Bp(e,mc(s)|mc(c),[l]);else{let l=s<c?[r,i]:[i,r];return new Bp(e,mc(s)|mc(c),l)}}function _F(e,t,n,r,o,i){let s=void 0,c=t;while(!0){let l=mte(e,c,n,r,o,i);if(typeof l==="function")s=DF(l,s),c=c+pc;else{let u=l;while(s!=null)u=s.value(u),s=s.previous;return u}}}var zF="effect/HashMap",yb=Symbol.for(zF),gte={[yb]:yb,[Symbol.iterator](){return new xb(this,(e,t)=>[e,t])},[Te](){let e=he(zF);for(let t of this)e^=T(he(t[0]),Pe(he(t[1])));return Ze(this,e)},[ve](e){if(BF(e)){if(e._size!==this._size)return!1;for(let t of this){let n=T(e,Sb(t[0],he(t[0])));if(it(n))return!1;else if(!ye(t[1],n.value))return!1}return!0}return!1},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"HashMap",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},kE=(e,t,n,r)=>{let o=Object.create(gte);return o._editable=e,o._edit=t,o._root=n,o._size=r,o};class xb{map;f;v;constructor(e,t){this.map=e,this.f=t,this.v=FF(this.map._root,this.f,void 0)}next(){if(it(this.v))return{done:!0,value:void 0};let e=this.v.value;return this.v=bb(e.cont),{done:!1,value:e.value}}[Symbol.iterator](){return new xb(this.map,this.f)}}var bb=(e)=>e?NF(e[0],e[1],e[2],e[3],e[4]):q(),FF=(e,t,n=void 0)=>{switch(e._tag){case"LeafNode":{if(lt(e.value))return W({value:t(e.key,e.value.value),cont:n});return bb(n)}case"CollisionNode":case"ArrayNode":case"IndexedNode":{let r=e.children;return NF(r.length,r,0,t,n)}default:return bb(n)}},NF=(e,t,n,r,o)=>{while(n<e){let i=t[n++];if(i&&!Wo(i))return FF(i,r,[e,t,n,r,o])}return bb(o)},hte=kE(!1,0,new Xs,0),Lp=()=>hte;var jF=(e)=>{let t=hf(Lp());for(let n of e)Zl(t,n[0],n[1]);return PE(t)},BF=(e)=>ue(e,yb),LF=(e)=>e&&Wo(e._root),qF=h(2,(e,t)=>Sb(e,t,he(t))),Sb=h(3,(e,t,n)=>{let r=e._root,o=0;while(!0)switch(r._tag){case"LeafNode":return ye(t,r.key)?r.value:q();case"CollisionNode":{if(n===r.hash){let i=r.children;for(let s=0,c=i.length;s<c;++s){let l=i[s];if("key"in l&&ye(t,l.key))return l.value}}return q()}case"IndexedNode":{let i=dc(o,n),s=mc(i);if(r.mask&s){r=r.children[gb(r.mask,s)],o+=pc;break}return q()}case"ArrayNode":{if(r=r.children[dc(o,n)],r){o+=pc;break}return q()}default:return q()}});var RE=h(2,(e,t)=>lt(Sb(e,t,he(t))));var Zl=h(3,(e,t,n)=>wb(e,t,()=>W(n))),yte=h(3,(e,t,n)=>{if(e._editable)return e._root=t,e._size=n,e;return t===e._root?e:kE(e._editable,e._edit,t,n)}),vb=(e)=>new xb(e,(t)=>t);var gf=(e)=>e._size;var hf=(e)=>kE(!0,e._edit+1,e._root,e._size),PE=(e)=>(e._editable=!1,e),ZF=h(2,(e,t)=>{let n=hf(e);return t(n),PE(n)}),wb=h(3,(e,t,n)=>$F(e,t,he(t),n)),$F=h(4,(e,t,n,r)=>{let o={value:e._size},i=e._root.modify(e._editable?e._edit:NaN,0,r,n,t,o);return T(e,yte(i,o.value))});var Tb=h(2,(e,t)=>wb(e,t,q));var UF=h(2,(e,t)=>qp(e,Lp(),(n,r,o)=>Zl(n,o,t(r,o))));var Cb=h(2,(e,t)=>qp(e,void 0,(n,r,o)=>t(r,o))),qp=h(3,(e,t,n)=>{let r=e._root;if(r._tag==="LeafNode")return lt(r.value)?n(t,r.value.value,r.key):t;if(r._tag==="EmptyNode")return t;let o=[r.children],i;while(i=o.pop())for(let s=0,c=i.length;s<c;){let l=i[s++];if(l&&!Wo(l))if(l._tag==="LeafNode"){if(lt(l.value))t=n(t,l.value.value,l.key)}else o.push(l.children)}return t});var HF="effect/HashSet",Eb=Symbol.for(HF),bte={[Eb]:Eb,[Symbol.iterator](){return vb(this._keyMap)},[Te](){return Ze(this,Pe(he(this._keyMap))(he(HF)))},[ve](e){if(JF(e))return gf(this._keyMap)===gf(e._keyMap)&&ye(this._keyMap,e._keyMap);return!1},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"HashSet",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},Ib=(e)=>{let t=Object.create(bte);return t._keyMap=e,t},JF=(e)=>ue(e,Eb),xte=Ib(Lp()),$l=()=>xte,VF=(e)=>{let t=Rb($l());for(let n of e)fc(t,n);return Pb(t)},GF=(...e)=>{let t=Rb($l());for(let n of e)fc(t,n);return Pb(t)},kb=h(2,(e,t)=>RE(e._keyMap,t)),QF=h(2,(e,t)=>{let n=!1;for(let r of e)if(n=t(r),n)break;return n}),KF=h(2,(e,t)=>!QF(e,(n)=>!t(n)));var YF=(e)=>gf(e._keyMap),Rb=(e)=>Ib(hf(e._keyMap)),Pb=(e)=>(e._keyMap._editable=!1,e),yf=h(2,(e,t)=>{let n=Rb(e);return t(n),Pb(n)}),fc=h(2,(e,t)=>e._keyMap._editable?(Zl(t,!0)(e._keyMap),e):Ib(Zl(t,!0)(e._keyMap))),AE=h(2,(e,t)=>e._keyMap._editable?(Tb(t)(e._keyMap),e):Ib(Tb(t)(e._keyMap))),XF=h(2,(e,t)=>yf(e,(n)=>{for(let r of t)AE(n,r)}));var eN=h(2,(e,t)=>yf($l(),(n)=>{Ab(e,(r)=>fc(n,r));for(let r of t)fc(n,r)}));var tN=h(2,(e,t)=>yf($l(),(n)=>{Ab(e,(r)=>{let o=t(r);if(!kb(n,o))fc(n,o)})})),nN=h(2,(e,t)=>yf($l(),(n)=>{Ab(e,(r)=>{for(let o of t(r))if(!kb(n,o))fc(n,o)})})),Ab=h(2,(e,t)=>Cb(e._keyMap,(n,r)=>t(r))),rN=h(3,(e,t,n)=>qp(e._keyMap,t,(r,o,i)=>n(r,i)));var Ho=$l,Ob=VF,Ii=GF,Zp=kb;var oN=KF;var ea=YF;var Ul=fc,OE=AE,DE=XF;var os=eN;var ME=tN,_E=nN;var Wl=rN;var iN=Symbol.for("effect/MutableRef"),vte={[iN]:iN,toString(){return Ge(this.toJSON())},toJSON(){return{_id:"MutableRef",current:tt(this.current)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},is=(e)=>{let t=Object.create(vte);return t.current=e,t},Db=h(3,(e,t,n)=>{if(ye(t,e.current))return e.current=n,!0;return!1});var io=(e)=>e.current;var Jo=h(2,(e,t)=>(e.current=t,e));var Fb="effect/FiberId",gc=Symbol.for(Fb),hc="None",Mb="Runtime",_b="Composite",wte=ct(`${Fb}-${hc}`);class aN{[gc]=gc;_tag=hc;id=-1;startTimeMillis=-1;[Te](){return wte}[ve](e){return jb(e)&&e._tag===hc}toString(){return Ge(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag}}[Be](){return this.toJSON()}}class zE{id;startTimeMillis;[gc]=gc;_tag=Mb;constructor(e,t){this.id=e,this.startTimeMillis=t}[Te](){return Ze(this,ct(`${Fb}-${this._tag}-${this.id}-${this.startTimeMillis}`))}[ve](e){return jb(e)&&e._tag===Mb&&this.id===e.id&&this.startTimeMillis===e.startTimeMillis}toString(){return Ge(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,id:this.id,startTimeMillis:this.startTimeMillis}}[Be](){return this.toJSON()}}class cN{left;right;[gc]=gc;_tag=_b;constructor(e,t){this.left=e,this.right=t}_hash;[Te](){return T(ct(`${Fb}-${this._tag}`),Pe(he(this.left)),Pe(he(this.right)),Ze(this))}[ve](e){return jb(e)&&e._tag===_b&&ye(this.left,e.left)&&ye(this.right,e.right)}toString(){return Ge(this.toJSON())}toJSON(){return{_id:"FiberId",_tag:this._tag,left:tt(this.left),right:tt(this.right)}}[Be](){return this.toJSON()}}var Nb=new aN;var jb=(e)=>ue(e,gc),FE=(e)=>e._tag===hc||T(zb(e),oN((t)=>FE(t)));var lN=h(2,(e,t)=>{if(e._tag===hc)return t;if(t._tag===hc)return e;return new cN(e,t)});var uN=h(2,(e,t)=>FE(e)?t:e),bf=(e)=>{switch(e._tag){case hc:return Ho();case Mb:return Ii(e.id);case _b:return T(bf(e.left),os(bf(e.right)))}},sN=Le(Symbol.for("effect/Fiber/Id/_fiberCounter"),()=>is(0)),pN=(e,t)=>new zE(e,t),Bb=(e)=>Array.from(bf(e)).map((n)=>`#${n}`).join(",");var zb=(e)=>{switch(e._tag){case hc:return Ho();case Mb:return Ii(e);case _b:return T(zb(e.left),os(zb(e.right)))}},dN=()=>{let e=io(sN);return T(sN,Jo(e+1)),new zE(e,Date.now())};var Cn=Nb;var so=lN;var Lb=uN,yc=bf,qb=pN,fN=Bb;var Zb=dN;var Hl=Lp;var gN=jF,hN=LF,NE=qF;var Sr=Zl,jE=vb;var yN=ZF,bN=wb;var xN=UF;var SN=Cb,BE=qp;var xf=Symbol.for("effect/List"),LE=(e)=>Fe(e),Tte=(e)=>cz(_p(e),LE),Cte=Tte(ye),Ete={[xf]:xf,_tag:"Cons",toString(){return Ge(this.toJSON())},toJSON(){return{_id:"List",_tag:"Cons",values:LE(this).map(tt)}},[Be](){return this.toJSON()},[ve](e){return wN(e)&&this._tag===e._tag&&Cte(this,e)},[Te](){return Ze(this,Sn(LE(this)))},[Symbol.iterator](){let e=!1,t=this;return{next(){if(e)return this.return();if(t._tag==="Nil")return e=!0,this.return();let n=t.head;return t=t.tail,{done:e,value:n}},return(n){if(!e)e=!0;return{done:!0,value:n}}}},pipe(){return pe(this,arguments)}},$b=(e,t)=>{let n=Object.create(Ete);return n.head=e,n.tail=t,n},Ite=ct("Nil"),kte={[xf]:xf,_tag:"Nil",toString(){return Ge(this.toJSON())},toJSON(){return{_id:"List",_tag:"Nil"}},[Be](){return this.toJSON()},[Te](){return Ite},[ve](e){return wN(e)&&this._tag===e._tag},[Symbol.iterator](){return{next(){return{done:!0,value:void 0}}}},pipe(){return pe(this,arguments)}},vN=Object.create(kte),wN=(e)=>ue(e,xf),ss=(e)=>e._tag==="Nil",qE=(e)=>e._tag==="Cons";var Rte=()=>vN,ta=(e,t)=>$b(e,t),as=Rte,Sf=(e)=>$b(e,vN);var TN=h(2,(e,t)=>Pte(t,e)),Ub=h(2,(e,t)=>ta(t,e)),Pte=h(2,(e,t)=>{if(ss(e))return t;else if(ss(t))return e;else{let n=$b(t.head,e),r=n,o=t.tail;while(!ss(o)){let i=$b(o.head,e);r.tail=i,r=i,o=o.tail}return n}});var CN=h(3,(e,t,n)=>{let r=t,o=e;while(!ss(o))r=n(r,o.head),o=o.tail;return r});var EN=(e)=>{let t=as(),n=e;while(!ss(n))t=Ub(t,n.head),n=n.tail;return t};var OMe=Object.assign(Object.create(Array.prototype),{[Te](){return Ze(this,Sn(this))},[ve](e){if(Array.isArray(e)&&this.length===e.length)return this.every((t,n)=>ye(t,e[n]));else return!1}}),Wp=function(){function e(t){if(t)Object.assign(this,t)}return e.prototype=Ap,e}(),Hb=(e)=>Object.assign(Object.create(Ap),e);var Ate=Symbol.for("effect/DifferContextPatch");function kN(e){return e}var wf={...Wp.prototype,[Ate]:{_Value:kN,_Patch:kN}},Ote=Object.assign(Object.create(wf),{_tag:"Empty"}),Dte=Object.create(Ote),ZE=()=>Dte,Mte=Object.assign(Object.create(wf),{_tag:"AndThen"}),_te=(e,t)=>{let n=Object.create(Mte);return n.first=e,n.second=t,n},zte=Object.assign(Object.create(wf),{_tag:"AddService"}),Fte=(e,t)=>{let n=Object.create(zte);return n.key=e,n.service=t,n},Nte=Object.assign(Object.create(wf),{_tag:"RemoveService"}),jte=(e)=>{let t=Object.create(Nte);return t.key=e,t},Bte=Object.assign(Object.create(wf),{_tag:"UpdateService"}),Lte=(e,t)=>{let n=Object.create(Bte);return n.key=e,n.update=t,n},RN=(e,t)=>{let n=new Map(e.unsafeMap),r=ZE();for(let[o,i]of t.unsafeMap.entries())if(n.has(o)){let s=n.get(o);if(n.delete(o),!ye(s,i))r=vf(Lte(o,()=>i))(r)}else n.delete(o),r=vf(Fte(o,i))(r);for(let[o]of n.entries())r=vf(jte(o))(r);return r},vf=h(2,(e,t)=>_te(e,t)),PN=h(2,(e,t)=>{if(e._tag==="Empty")return t;let n=!1,r=cn(e),o=new Map(t.unsafeMap);while(_t(r)){let s=ut(r),c=zt(r);switch(s._tag){case"Empty":{r=c;break}case"AddService":{o.set(s.key,s.service),r=c;break}case"AndThen":{r=Zt(Zt(c,s.second),s.first);break}case"RemoveService":{o.delete(s.key),r=c;break}case"UpdateService":{o.set(s.key,s.update(o.get(s.key))),n=!0,r=c;break}}}if(!n)return Zo(o);let i=new Map;for(let[s]of t.unsafeMap)if(o.has(s))i.set(s,o.get(s)),o.delete(s);for(let[s,c]of o)i.set(s,c);return Zo(i)});var Zte=Symbol.for("effect/DifferHashSetPatch");function $E(e){return e}var Vb={...Wp.prototype,[Zte]:{_Value:$E,_Key:$E,_Patch:$E}},$te=Object.assign(Object.create(Vb),{_tag:"Empty"}),Ute=Object.create($te),UE=()=>Ute,Wte=Object.assign(Object.create(Vb),{_tag:"AndThen"}),Hte=(e,t)=>{let n=Object.create(Wte);return n.first=e,n.second=t,n},Jte=Object.assign(Object.create(Vb),{_tag:"Add"}),Vte=(e)=>{let t=Object.create(Jte);return t.value=e,t},Gte=Object.assign(Object.create(Vb),{_tag:"Remove"}),Qte=(e)=>{let t=Object.create(Gte);return t.value=e,t},AN=(e,t)=>{let[n,r]=Wl([e,UE()],([o,i],s)=>{if(Zp(s)(o))return[OE(s)(o),i];return[o,Jb(Vte(s))(i)]})(t);return Wl(r,(o,i)=>Jb(Qte(i))(o))(n)},Jb=h(2,(e,t)=>Hte(e,t)),ON=h(2,(e,t)=>{if(e._tag==="Empty")return t;let n=t,r=cn(e);while(_t(r)){let o=ut(r),i=zt(r);switch(o._tag){case"Empty":{r=i;break}case"AndThen":{r=Zt(o.first)(Zt(o.second)(i));break}case"Add":{n=Ul(o.value)(n),r=i;break}case"Remove":n=OE(o.value)(n),r=i}}return n});var Yte=Symbol.for("effect/DifferReadonlyArrayPatch");function DN(e){return e}var Cf={...Wp.prototype,[Yte]:{_Value:DN,_Patch:DN}},Xte=Object.assign(Object.create(Cf),{_tag:"Empty"}),ene=Object.create(Xte),WE=()=>ene,tne=Object.assign(Object.create(Cf),{_tag:"AndThen"}),nne=(e,t)=>{let n=Object.create(tne);return n.first=e,n.second=t,n},rne=Object.assign(Object.create(Cf),{_tag:"Append"}),one=(e)=>{let t=Object.create(rne);return t.values=e,t},ine=Object.assign(Object.create(Cf),{_tag:"Slice"}),sne=(e,t)=>{let n=Object.create(ine);return n.from=e,n.until=t,n},ane=Object.assign(Object.create(Cf),{_tag:"Update"}),cne=(e,t)=>{let n=Object.create(ane);return n.index=e,n.patch=t,n},MN=(e)=>{let t=0,n=WE();while(t<e.oldValue.length&&t<e.newValue.length){let r=e.oldValue[t],o=e.newValue[t],i=e.differ.diff(r,o);if(!ye(i,e.differ.empty))n=Tf(n,cne(t,i));t=t+1}if(t<e.oldValue.length)n=Tf(n,sne(0,t));if(t<e.newValue.length)n=Tf(n,one(Kz(t)(e.newValue)));return n},Tf=h(2,(e,t)=>nne(e,t)),_N=h(3,(e,t,n)=>{if(e._tag==="Empty")return t;let r=t.slice(),o=jr(e);while(ib(o)){let i=Gn(o),s=es(o);switch(i._tag){case"Empty":{o=s;break}case"AndThen":{s.unshift(i.first,i.second),o=s;break}case"Append":{for(let c of i.values)r.push(c);o=s;break}case"Slice":{r=r.slice(i.from,i.until),o=s;break}case"Update":{r[i.index]=n.patch(i.patch,r[i.index]),o=s;break}}}return r});var zN=Symbol.for("effect/Differ"),une={[zN]:{_P:He,_V:He},pipe(){return pe(this,arguments)}},xc=(e)=>{let t=Object.create(une);return t.empty=e.empty,t.diff=e.diff,t.combine=e.combine,t.patch=e.patch,t},HE=()=>xc({empty:ZE(),combine:(e,t)=>vf(t)(e),diff:(e,t)=>RN(e,t),patch:(e,t)=>PN(t)(e)});var JE=()=>xc({empty:UE(),combine:(e,t)=>Jb(t)(e),diff:(e,t)=>AN(e,t),patch:(e,t)=>ON(t)(e)});var VE=(e)=>xc({empty:WE(),combine:(t,n)=>Tf(t,n),diff:(t,n)=>MN({oldValue:t,newValue:n,differ:e}),patch:(t,n)=>_N(t,n,e)});var Gb=()=>FN((e,t)=>t),FN=(e)=>xc({empty:He,combine:(t,n)=>{if(t===He)return n;if(n===He)return t;return(r)=>n(t(r))},diff:(t,n)=>{if(ye(t,n))return He;return yp(n)},patch:(t,n)=>e(n,t(n))});var Ef=255,NN=8,Qb=(e)=>e&Ef,Kb=(e)=>e>>NN&Ef,Jl=(e,t)=>(e&Ef)+((t&e&Ef)<<NN),Yb=Jl(0,0),jN=(e)=>Jl(e,e),BN=(e)=>Jl(e,0);var LN=h(2,(e,t)=>Jl(Qb(e)&~t,Kb(e)));var QE=h(2,(e,t)=>e|t);var qN=(e)=>~e>>>0&Ef;var pne=0,Ri=1,$N=2,KE=4,Xb=16,YE=32;var UN=(e)=>ex(e,YE),XE=h(2,(e,t)=>e&~t);var eI=h(2,(e,t)=>e|t);var Pi=(e)=>If(e)&&!dne(e),If=(e)=>ex(e,Ri);var ex=h(2,(e,t)=>(e&t)!==0),tI=(...e)=>e.reduce((t,n)=>t|n,0),WN=tI(pne);var nI=(e)=>ex(e,KE);var dne=(e)=>ex(e,Xb);var Vo=h(2,(e,t)=>Jl(e^t,t)),na=h(2,(e,t)=>e&(qN(Qb(t))|Kb(t))|Qb(t)&Kb(t));var rI=xc({empty:Yb,diff:(e,t)=>Vo(e,t),combine:(e,t)=>QE(t)(e),patch:(e,t)=>na(t,e)});var HN=Yb;var oI=jN,iI=BN;var sI=LN;var VN={_tag:"Empty"},cI=(e,t)=>({_tag:"Par",left:e,right:t}),tx=(e,t)=>({_tag:"Seq",left:e,right:t}),lI=(e,t)=>({_tag:"Single",dataSource:e,blockedRequest:t});var GN=(e)=>{let t=Sf(e),n=as();while(!0){let[r,o]=CN(t,[KN(),as()],([i,s],c)=>{let[l,u]=mne(c);return[Sne(i,l),TN(s,u)]});if(n=fne(n,r),ss(o))return EN(n);t=o}throw Error("BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues")},mne=(e)=>{let t=e,n=KN(),r=as(),o=as();while(!0)switch(t._tag){case"Empty":{if(ss(r))return[n,o];t=r.head,r=r.tail;break}case"Par":{r=ta(t.right,r),t=t.left;break}case"Seq":{let{left:i,right:s}=t;switch(i._tag){case"Empty":{t=s;break}case"Par":{let{left:c,right:l}=i;t=cI(tx(c,s),tx(l,s));break}case"Seq":{let{left:c,right:l}=i;t=tx(c,tx(l,s));break}case"Single":{t=i,o=ta(s,o);break}}break}case"Single":{if(n=xne(n,t),ss(r))return[n,o];t=r.head,r=r.tail;break}}throw Error("BUG: BlockedRequests.step - please report an issue at https://github.com/Effect-TS/effect/issues")},fne=(e,t)=>{if(ss(e))return Sf(aI(t));if(vne(t))return e;let n=kne(e.head),r=wne(t);if(n.length===1&&r.length===1&&ye(n[0],r[0]))return ta(Ine(e.head,aI(t)),e.tail);return ta(aI(t),e)},gne=Symbol.for("effect/RequestBlock/Entry");class QN{request;result;listeners;ownerId;state;[gne]=hne;constructor(e,t,n,r,o){this.request=e,this.result=t,this.listeners=n,this.ownerId=r,this.state=o}}var hne={_R:(e)=>e};var uI=(e)=>new QN(e.request,e.result,e.listeners,e.ownerId,e.state),yne=Symbol.for("effect/RequestBlock/RequestBlockParallel"),bne={_R:(e)=>e};class nx{map;[yne]=bne;constructor(e){this.map=e}}var KN=()=>new nx(Hl());var xne=(e,t)=>new nx(bN(e.map,t.dataSource,(n)=>JC(Jt(n,zp(t.blockedRequest)),()=>cn(t.blockedRequest)))),Sne=(e,t)=>new nx(BE(e.map,t.map,(n,r,o)=>Sr(n,o,vn(NE(n,o),{onNone:()=>r,onSome:(i)=>go(r,i)})))),vne=(e)=>hN(e.map),wne=(e)=>Array.from(jE(e.map)),aI=(e)=>Ene(xN(e.map,(t)=>cn(t))),Tne=Symbol.for("effect/RequestBlock/RequestBlockSequential"),Cne={_R:(e)=>e};class pI{map;[Tne]=Cne;constructor(e){this.map=e}}var Ene=(e)=>new pI(e),Ine=(e,t)=>new pI(BE(t.map,e.map,(n,r,o)=>Sr(n,o,vn(NE(n,o),{onNone:()=>nn(),onSome:(i)=>go(i,r)}))));var kne=(e)=>Array.from(jE(e.map)),YN=(e)=>Array.from(e.map);var Sc="Die",ra="Empty",vc="Fail",wc="Interrupt",Tc="Parallel",Cc="Sequential";var nj="effect/Cause",rx=Symbol.for(nj),Pne={_E:(e)=>e},Vp={[rx]:Pne,[Te](){return T(he(nj),Pe(he(Ane(this))),Ze(this))},[ve](e){return kf(e)&&bj(this,e)},pipe(){return pe(this,arguments)},toJSON(){switch(this._tag){case"Empty":return{_id:"Cause",_tag:this._tag};case"Die":return{_id:"Cause",_tag:this._tag,defect:tt(this.defect)};case"Interrupt":return{_id:"Cause",_tag:this._tag,fiberId:this.fiberId.toJSON()};case"Fail":return{_id:"Cause",_tag:this._tag,failure:tt(this.error)};case"Sequential":case"Parallel":return{_id:"Cause",_tag:this._tag,left:tt(this.left),right:tt(this.right)}}},toString(){return Oi(this)},[Be](){return this.toJSON()}},En=(()=>{let e=Object.create(Vp);return e._tag=ra,e})(),ao=(e)=>{let t=Object.create(Vp);return t._tag=vc,t.error=e,t},Vt=(e)=>{let t=Object.create(Vp);return t._tag=Sc,t.defect=e,t},Kn=(e)=>{let t=Object.create(Vp);return t._tag=wc,t.fiberId=e,t},Gt=(e,t)=>{let n=Object.create(Vp);return n._tag=Tc,n.left=e,n.right=t,n},vt=(e,t)=>{let n=Object.create(Vp);return n._tag=Cc,n.left=e,n.right=t,n},kf=(e)=>ue(e,rx),ox=(e)=>e._tag===ra,rj=(e)=>e._tag===vc,Gl=(e)=>e._tag===Sc,oj=(e)=>e._tag===wc,ij=(e)=>e._tag===Cc,sj=(e)=>e._tag===Tc,aj=(e)=>Yl(e,void 0,Dne),Rf=(e)=>{if(e._tag===ra)return!0;return oa(e,!0,(t,n)=>{switch(n._tag){case ra:return W(t);case Sc:case vc:case wc:return W(!1);default:return q()}})},cj=(e)=>lt(Yp(e)),lj=(e)=>lt(fI(e)),Gp=(e)=>lt(gI(e)),Ql=(e)=>Yl(void 0,Mne)(e),Qp=(e)=>ho(oa(e,nn(),(t,n)=>n._tag===vc?W(T(t,Zt(n.error))):q())),Kp=(e)=>ho(oa(e,nn(),(t,n)=>n._tag===Sc?W(T(t,Zt(n.defect))):q())),Kl=(e)=>oa(e,Ho(),(t,n)=>n._tag===wc?W(T(t,Ul(n.fiberId))):q()),Yp=(e)=>cs(e,(t)=>t._tag===vc?W(t.error):q()),Ai=(e)=>{let t=Yp(e);switch(t._tag){case"None":return nt(e);case"Some":return dt(t.value)}},fI=(e)=>cs(e,(t)=>t._tag===Sc?W(t.defect):q()),uj=(e)=>ls(e,{onEmpty:W(En),onFail:Jt(ao),onDie:(t)=>W(Vt(t)),onInterrupt:(t)=>W(Kn(t)),onSequential:Xi(vt),onParallel:Xi(Gt)}),gI=(e)=>cs(e,(t)=>t._tag===wc?W(t.fiberId):q()),ix=(e)=>ls(e,{onEmpty:q(),onFail:()=>q(),onDie:(t)=>W(Vt(t)),onInterrupt:()=>q(),onSequential:Xi(vt),onParallel:Xi(Gt)}),pj=(e)=>ls(e,{onEmpty:q(),onFail:(t)=>W(Vt(t)),onDie:(t)=>W(Vt(t)),onInterrupt:()=>q(),onSequential:Xi(vt),onParallel:Xi(Gt)}),dj=(e)=>ls(e,{onEmpty:Ho(),onFail:(t)=>Ii(ao(t)),onDie:(t)=>Ii(Vt(t)),onInterrupt:(t)=>Ii(Kn(t)),onSequential:(t,n)=>_E(t,(r)=>ME(n,(o)=>vt(r,o))),onParallel:(t,n)=>_E(t,(r)=>ME(n,(o)=>Gt(r,o)))}),Pf=(e)=>ls(e,{onEmpty:En,onFail:()=>En,onDie:Vt,onInterrupt:Kn,onSequential:vt,onParallel:Gt}),mj=(e)=>ls(e,{onEmpty:En,onFail:Vt,onDie:Vt,onInterrupt:Kn,onSequential:vt,onParallel:Gt}),fj=h(2,(e,t)=>ls(e,{onEmpty:W(En),onFail:(n)=>W(ao(n)),onDie:(n)=>{let r=t(n);return lt(r)?q():W(Vt(n))},onInterrupt:(n)=>W(Kn(n)),onSequential:Xi(vt),onParallel:Xi(Gt)})),gj=h(2,(e,t)=>Xp(e,()=>t)),Xp=h(2,(e,t)=>Jp(e,(n)=>ao(t(n)))),Jp=h(2,(e,t)=>ls(e,{onEmpty:En,onFail:(n)=>t(n),onDie:(n)=>Vt(n),onInterrupt:(n)=>Kn(n),onSequential:(n,r)=>vt(n,r),onParallel:(n,r)=>Gt(n,r)})),sx=(e)=>Jp(e,He),hj=h(2,(e,t)=>jo(t)?Jp(e,t):Jp(e,()=>t)),yj=h(2,(e,t)=>{if(t._tag===ra||e===t)return!0;return oa(e,!1,(n,r)=>W(n||bj(r,t)))}),bj=(e,t)=>{let n=cn(e),r=cn(t);while(_t(n)&&_t(r)){let[o,i]=T(ut(n),oa([Ho(),nn()],([l,u],p)=>{let[d,g]=dI(p);return W([T(l,os(d)),T(u,go(g))])})),[s,c]=T(ut(r),oa([Ho(),nn()],([l,u],p)=>{let[d,g]=dI(p);return W([T(l,os(d)),T(u,go(g))])}));if(!ye(o,s))return!1;n=i,r=c}return!0},Ane=(e)=>One(cn(e),nn()),One=(e,t)=>{while(!0){let[n,r]=T(e,uc([Ho(),nn()],([i,s],c)=>{let[l,u]=dI(c);return[T(i,os(l)),T(s,go(u))]})),o=ea(n)>0?T(t,Zt(n)):t;if(lb(r))return ho(o);e=r,t=o}throw Error(Ws("Cause.flattenCauseLoop"))},cs=h(2,(e,t)=>{let n=[e];while(n.length>0){let r=n.pop(),o=t(r);switch(o._tag){case"None":{switch(r._tag){case Cc:case Tc:{n.push(r.right),n.push(r.left);break}}break}case"Some":return o}}return q()}),xj=h(2,(e,t)=>Yl(e,void 0,_ne(t))),dI=(e)=>{let t=e,n=[],r=Ho(),o=nn();while(t!==void 0)switch(t._tag){case ra:{if(n.length===0)return[r,o];t=n.pop();break}case vc:{if(r=Ul(r,uf(t._tag,t.error)),n.length===0)return[r,o];t=n.pop();break}case Sc:{if(r=Ul(r,uf(t._tag,t.defect)),n.length===0)return[r,o];t=n.pop();break}case wc:{if(r=Ul(r,uf(t._tag,t.fiberId)),n.length===0)return[r,o];t=n.pop();break}case Cc:{switch(t.left._tag){case ra:{t=t.right;break}case Cc:{t=vt(t.left.left,vt(t.left.right,t.right));break}case Tc:{t=Gt(vt(t.left.left,t.right),vt(t.left.right,t.right));break}default:{o=Zt(o,t.right),t=t.left;break}}break}case Tc:{n.push(t.right),t=t.left;break}}throw Error(Ws("Cause.evaluateCauseLoop"))},Dne={emptyCase:()=>0,failCase:()=>1,dieCase:()=>1,interruptCase:()=>1,sequentialCase:(e,t,n)=>t+n,parallelCase:(e,t,n)=>t+n},Mne={emptyCase:Qi,failCase:Bn,dieCase:Bn,interruptCase:Qi,sequentialCase:(e,t,n)=>t&&n,parallelCase:(e,t,n)=>t&&n},_ne=(e)=>({emptyCase:()=>En,failCase:(t,n)=>ao(n),dieCase:(t,n)=>Vt(n),interruptCase:(t,n)=>Kn(n),sequentialCase:(t,n,r)=>{if(e(n)){if(e(r))return vt(n,r);return n}if(e(r))return r;return En},parallelCase:(t,n,r)=>{if(e(n)){if(e(r))return Gt(n,r);return n}if(e(r))return r;return En}}),ej="SequentialCase",tj="ParallelCase",ls=h(2,(e,{onDie:t,onEmpty:n,onFail:r,onInterrupt:o,onParallel:i,onSequential:s})=>Yl(e,void 0,{emptyCase:()=>n,failCase:(c,l)=>r(l),dieCase:(c,l)=>t(l),interruptCase:(c,l)=>o(l),sequentialCase:(c,l,u)=>s(l,u),parallelCase:(c,l,u)=>i(l,u)})),oa=h(3,(e,t,n)=>{let r=t,o=e,i=[];while(o!==void 0){let s=n(r,o);switch(r=lt(s)?s.value:r,o._tag){case Cc:{i.push(o.right),o=o.left;break}case Tc:{i.push(o.right),o=o.left;break}default:{o=void 0;break}}if(o===void 0&&i.length>0)o=i.pop()}return r}),Yl=h(3,(e,t,n)=>{let r=[e],o=[];while(r.length>0){let s=r.pop();switch(s._tag){case ra:{o.push(nt(n.emptyCase(t)));break}case vc:{o.push(nt(n.failCase(t,s.error)));break}case Sc:{o.push(nt(n.dieCase(t,s.defect)));break}case wc:{o.push(nt(n.interruptCase(t,s.fiberId)));break}case Cc:{r.push(s.right),r.push(s.left),o.push(dt({_tag:ej}));break}case Tc:{r.push(s.right),r.push(s.left),o.push(dt({_tag:tj}));break}}}let i=[];while(o.length>0){let s=o.pop();switch(s._tag){case"Left":{switch(s.left._tag){case ej:{let c=i.pop(),l=i.pop(),u=n.sequentialCase(t,c,l);i.push(u);break}case tj:{let c=i.pop(),l=i.pop(),u=n.parallelCase(t,c,l);i.push(u);break}}break}case"Right":{i.push(s.right);break}}}if(i.length===0)throw Error("BUG: Cause.reduceWithContext - please report an issue at https://github.com/Effect-TS/effect/issues");return i.pop()}),Oi=(e,t)=>{if(Ql(e))return"All fibers interrupted without errors.";return ed(e).map(function(n){if(t?.renderErrorCause!==!0||n.cause===void 0)return n.stack;return`${n.stack} {
10
10
  ${Sj(n.cause," ")}
11
11
  }`}).join(`
12
12
  `)},Sj=(e,t)=>{let n=e.stack.split(`
@@ -16,25 +16,25 @@ ${Sj(e.cause,`${t} `)}
16
16
  ${t}}`;return r},mI=(e)=>{let t=typeof e==="object"&&e!==null,n=Error.stackTraceLimit;Error.stackTraceLimit=1;let r=Error(zne(e),t&&"cause"in e&&typeof e.cause<"u"?{cause:mI(e.cause)}:void 0);if(Error.stackTraceLimit=n,r.message==="")r.message="An error has occurred";if(Error.stackTraceLimit=n,r.name=e instanceof Error?e.name:"Error",t){if(Vl in e)r.span=e[Vl];Object.keys(e).forEach((o)=>{if(!(o in r))r[o]=e[o]})}return r.stack=Nne(`${r.name}: ${r.message}`,e instanceof Error&&e.stack?e.stack:"",r.span),r},zne=(e)=>{if(typeof e==="string")return e;if(typeof e==="object"&&e!==null&&e instanceof Error)return e.message;try{if(ue(e,"toString")&&jo(e.toString)&&e.toString!==Object.prototype.toString&&e.toString!==globalThis.Array.prototype.toString)return e.toString()}catch{}return Hy(e)},Fne=/\((.*)\)/g,Af=Le("effect/Tracer/spanToTrace",()=>new WeakMap),Nne=(e,t,n)=>{let r=[e],o=t.startsWith(e)?t.slice(e.length).split(`
17
17
  `):t.split(`
18
18
  `);for(let i=1;i<o.length;i++){if(o[i].includes(" at new BaseEffectError")||o[i].includes(" at new YieldableError")){i++;continue}if(o[i].includes("Generator.next"))break;if(o[i].includes("effect_internal_function"))break;r.push(o[i].replace(/at .*effect_instruction_i.*\((.*)\)/,"at $1").replace(/EffectPrimitive\.\w+/,"<anonymous>"))}if(n){let i=n,s=0;while(i&&i._tag==="Span"&&s<10){let c=Af.get(i);if(typeof c==="function"){let l=c();if(typeof l==="string"){let u=l.matchAll(Fne),p=!1;for(let[,d]of u)p=!0,r.push(` at ${i.name} (${d})`);if(!p)r.push(` at ${i.name} (${l.replace(/^at /,"")})`)}else r.push(` at ${i.name}`)}else r.push(` at ${i.name}`);i=Rn(i.parent),s++}}return r.join(`
19
- `)},Vl=Symbol.for("effect/SpanAnnotation"),ed=(e)=>Yl(e,void 0,{emptyCase:()=>[],dieCase:(t,n)=>[mI(n)],failCase:(t,n)=>[mI(n)],interruptCase:()=>[],parallelCase:(t,n,r)=>[...n,...r],sequentialCase:(t,n,r)=>[...n,...r]});var Xl="Pending",Of="Done";var jne="effect/Deferred",wj=Symbol.for(jne),Tj={_E:(e)=>e,_A:(e)=>e},Cj=(e)=>({_tag:Xl,joiners:e}),hI=(e)=>({_tag:Of,effect:e});class td{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new td(this.self)}}var sa=(e,t)=>{let n=new fn("Blocked");return n.effect_instruction_i0=e,n.effect_instruction_i1=t,n},lx=(e)=>{let t=new fn("RunBlocked");return t.effect_instruction_i0=e,t},aa=Symbol.for("effect/Effect");class yI{patch;op;_op=ef;constructor(e,t){this.patch=e,this.op=t}}class fn{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[aa]=cc;constructor(e){this._op=e}[ve](e){return this===e}[Te](){return Ze(this,wp(this))}pipe(){return pe(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:tt(this.effect_instruction_i0),effect_instruction_i1:tt(this.effect_instruction_i1),effect_instruction_i2:tt(this.effect_instruction_i2)}}toString(){return Ge(this.toJSON())}[Be](){return this.toJSON()}[Symbol.iterator](){return new td(new Hs(this))}}class bI{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[aa]=cc;constructor(e){this._op=e,this._tag=e}[ve](e){return uu(e)&&e._op==="Failure"&&ye(this.effect_instruction_i0,e.effect_instruction_i0)}[Te](){return T(ct(this._tag),Pe(he(this.effect_instruction_i0)),Ze(this))}get cause(){return this.effect_instruction_i0}pipe(){return pe(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return Ge(this.toJSON())}[Be](){return this.toJSON()}[Symbol.iterator](){return new td(new Hs(this))}}class xI{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[aa]=cc;constructor(e){this._op=e,this._tag=e}[ve](e){return uu(e)&&e._op==="Success"&&ye(this.effect_instruction_i0,e.effect_instruction_i0)}[Te](){return T(ct(this._tag),Pe(he(this.effect_instruction_i0)),Ze(this))}get value(){return this.effect_instruction_i0}pipe(){return pe(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:tt(this.value)}}toString(){return Ge(this.toJSON())}[Be](){return this.toJSON()}[Symbol.iterator](){return new td(new Hs(this))}}var mt=(e)=>ue(e,aa),Xe=(e)=>{let t=new fn(Vy);return t.effect_instruction_i0=e,t},ux=h(3,(e,t,n)=>ln((r)=>R(e,(o)=>R(Nt(Ae(()=>r(t(o)))),(i)=>Ae(()=>n(o,i)).pipe($t({onFailure:(s)=>{switch(i._tag){case Ct:return Ye(wt(i.effect_instruction_i0,s));case Et:return Ye(s)}},onSuccess:()=>i})))))),xt=h(2,(e,t)=>R(e,()=>M(t))),Qt=(e)=>xt(e,void 0),Zf=function(){let e=new fn(Fl);switch(arguments.length){case 2:{e.effect_instruction_i0=arguments[0],e.commit=arguments[1];break}case 3:{e.effect_instruction_i0=arguments[0],e.effect_instruction_i1=arguments[1],e.commit=arguments[2];break}case 4:{e.effect_instruction_i0=arguments[0],e.effect_instruction_i1=arguments[1],e.effect_instruction_i2=arguments[2],e.commit=arguments[3];break}default:throw Error(Ws("you're not supposed to end up here"))}return e},nd=(e,t=Cn)=>{let n=new fn(zl),r=void 0;return n.effect_instruction_i0=(o)=>{r=e(o)},n.effect_instruction_i1=t,ds(n,(o)=>mt(r)?r:$e)},$f=(e,t=Cn)=>Ae(()=>nd(e,t)),vr=(e,t=Cn)=>Zf(e,function(){let n=void 0,r=void 0;function o(l){if(n)n(l);else if(r===void 0)r=l}let i=new fn(zl);i.effect_instruction_i0=(l)=>{if(n=l,r)l(r)},i.effect_instruction_i1=t;let s=void 0,c=void 0;if(this.effect_instruction_i0.length!==1)c=new AbortController,s=an(()=>this.effect_instruction_i0(o,c.signal));else s=an(()=>this.effect_instruction_i0(o));return s||c?ds(i,(l)=>{if(c)c.abort();return s??$e}):i});var us=h(2,(e,t)=>{let n=new fn(Ep);return n.effect_instruction_i0=e,n.effect_instruction_i1=t,n}),Di=h(2,(e,t)=>On(e,{onFailure:t,onSuccess:M})),Uf=h(3,(e,t,n)=>us(e,(r)=>{let o=Ai(r);switch(o._tag){case"Left":return t(o.left)?n(o.left):Ye(r);case"Right":return Ye(o.right)}})),Ej=h(2,(e,t)=>us(e,(n)=>{let r=Ai(n);switch(r._tag){case"Left":return T(t(r.left),wn(()=>Ye(n)));case"Right":return Ye(r.right)}})),Ij=(e)=>Xe((t,n)=>e(If(n.runtimeFlags))),ax=Symbol.for("effect/OriginalAnnotation"),kj=(e)=>{if(ue(e,ax))return e[ax];return e},px=(e,t)=>{if(lt(t))return new Proxy(e,{has(n,r){return r===Vl||r===ax||r in n},get(n,r){if(r===Vl)return t.value;if(r===ax)return e;return n[r]}});return e},ur=(e)=>Us(e)&&!(Vl in e)?Xe((t)=>Ye(Vt(px(e,Ox(t))))):Ye(Vt(e)),Ec=(e)=>ca(()=>Vt(new kI(e))),xo=(e)=>R(U(e),ur),Go=(e)=>On(e,{onFailure:(t)=>M(dt(t)),onSuccess:(t)=>M(nt(t))}),Nt=(e)=>Wf(e,{onFailure:at,onSuccess:Tt}),Ve=(e)=>Us(e)&&!(Vl in e)?Xe((t)=>Ye(ao(px(e,Ox(t))))):Ye(ao(e)),Qo=(e)=>R(U(e),Ve),Ye=(e)=>{let t=new bI(Ct);return t.effect_instruction_i0=e,t},ca=(e)=>R(U(e),Ye),la=Xe((e)=>M(e.id())),co=(e)=>Xe((t)=>e(t.id())),R=h(2,(e,t)=>{let n=new fn(Ip);return n.effect_instruction_i0=e,n.effect_instruction_i1=t,n}),Ic=h(2,(e,t)=>R(e,(n)=>{let r=typeof t==="function"?t(n):t;if(mt(r))return r;else if(DC(r))return nd((o)=>{r.then((i)=>o(M(i)),(i)=>o(Ve(new lu(i,"An unknown error occurred in Effect.andThen"))))});return M(r)})),dx=(e)=>{let t=new fn("OnStep");return t.effect_instruction_i0=e,t},wr=(e)=>R(e,He),kc=(e)=>On(e,{onFailure:M,onSuccess:Ve}),Wf=h(2,(e,t)=>$t(e,{onFailure:(n)=>M(t.onFailure(n)),onSuccess:(n)=>M(t.onSuccess(n))})),$t=h(2,(e,t)=>{let n=new fn(kp);return n.effect_instruction_i0=e,n.effect_instruction_i1=t.onFailure,n.effect_instruction_i2=t.onSuccess,n}),On=h(2,(e,t)=>$t(e,{onFailure:(n)=>{if(Kp(n).length>0)return Ye(mj(n));let o=Qp(n);if(o.length>0)return t.onFailure(lE(o));return Ye(n)},onSuccess:t.onSuccess})),Yn=h(2,(e,t)=>Ae(()=>{let n=Ne(e),r=lf(n.length),o=0;return xt(Ac({while:()=>o<n.length,body:()=>t(n[o],o),step:(i)=>{r[o++]=i}}),r)})),So=h(2,(e,t)=>Ae(()=>{let n=Ne(e),r=0;return Ac({while:()=>r<n.length,body:()=>t(n[r],r),step:()=>{r++}})})),mx=h((e)=>typeof e[0]==="boolean"||mt(e[0]),(e,t)=>mt(e)?R(e,(n)=>n?t.onTrue():t.onFalse()):e?t.onTrue():t.onFalse()),fx=R(la,(e)=>gx(e)),gx=(e)=>Ye(Kn(e)),ua=(e)=>{let t=new fn(Vs);return t.effect_instruction_i0=oI(Ri),t.effect_instruction_i1=()=>e,t},Rj=(e)=>Zf(e,function(){let t=new fn(Vs);return t.effect_instruction_i0=oI(Ri),t.effect_instruction_i1=(n)=>If(n)?an(()=>this.effect_instruction_i0(ua)):an(()=>this.effect_instruction_i0(pa)),t}),ps=h(2,(e,t)=>ln((n)=>R(Nt(n(e)),(r)=>MI(t,r)))),X=h(2,(e,t)=>R(e,(n)=>U(()=>t(n)))),Hf=h(2,(e,t)=>On(e,{onFailure:(n)=>Qo(()=>t.onFailure(n)),onSuccess:(n)=>U(()=>t.onSuccess(n))})),Rc=h(2,(e,t)=>$t(e,{onFailure:(n)=>{let r=Ai(n);switch(r._tag){case"Left":return Qo(()=>t(r.left));case"Right":return Ye(r.right)}},onSuccess:M})),hx=h(2,(e,t)=>Br(e,(n)=>Xf(n)?$e:t(n.effect_instruction_i0))),Br=h(2,(e,t)=>ln((n)=>$t(n(e),{onFailure:(r)=>{let o=at(r);return $t(t(o),{onFailure:(i)=>at(wt(r,i)),onSuccess:()=>o})},onSuccess:(r)=>{let o=Tt(r);return rt(t(o),o)}}))),ds=h(2,(e,t)=>Br(e,pu({onFailure:(n)=>Ql(n)?Qt(t(Kl(n))):$e,onSuccess:()=>$e}))),tu=h(2,(e,t)=>Lne(e,t,M)),nu=(e)=>SI(e,He),SI=h(2,(e,t)=>On(e,{onFailure:(n)=>ur(t(n)),onSuccess:M})),Pj=oE,rd=Xe((e,t)=>M(t.runtimeFlags)),M=(e)=>{let t=new xI(Et);return t.effect_instruction_i0=e,t},Ae=(e)=>{let t=new fn(Fl);return t.commit=e,t},U=(e)=>{let t=new fn(Jy);return t.effect_instruction_i0=e,t},Tr=h((e)=>e.length===3||e.length===2&&!(Us(e[1])&&("onlyEffect"in e[1])),(e,t)=>R(e,(n)=>{let r=typeof t==="function"?t(n):t;if(mt(r))return xt(r,n);else if(DC(r))return nd((o)=>{r.then((i)=>o(M(n)),(i)=>o(Ve(new lu(i,"An unknown error occurred in Effect.tap"))))});return M(n)})),yx=(e)=>Xe((t)=>{let n=t.getFiberRef(_f),r=T(n,wn(()=>t.scope()));return e(rn(_f,H(r)))}),Lne=h(3,(e,t,n)=>$t(e,{onFailure:(r)=>{if(Kp(r).length>0)return Ye(GC(pj(r)));return t()},onSuccess:n})),pa=(e)=>{let t=new fn(Vs);return t.effect_instruction_i0=iI(Ri),t.effect_instruction_i1=()=>e,t},ln=(e)=>Zf(e,function(){let t=new fn(Vs);return t.effect_instruction_i0=iI(Ri),t.effect_instruction_i1=(n)=>If(n)?an(()=>this.effect_instruction_i0(ua)):an(()=>this.effect_instruction_i0(pa)),t}),$e=M(void 0);var Pc=(e)=>{let t=new fn(Vs);return t.effect_instruction_i0=e,t.effect_instruction_i1=void 0,t},od=h(2,(e,t)=>R(t,(n)=>{if(n)return T(e,X(H));return M(Z())})),Ac=(e)=>{let t=new fn(Rp);return t.effect_instruction_i0=e.while,t.effect_instruction_i1=e.body,t.effect_instruction_i2=e.step,t},Mf=(e)=>Ae(()=>{let t=new fn(Nl);return t.effect_instruction_i0=e(),t}),bx=function(){let e=arguments.length===1?arguments[0]:arguments[1].bind(arguments[0]);return Mf(()=>e(T))},id=(e,...t)=>Object.defineProperty(t.length===0?function(...n){return Mf(()=>e.apply(this,n))}:function(...n){let r=Mf(()=>e.apply(this,n));for(let o of t)r=o(r,...n);return r},"length",{value:e.length,configurable:!0}),Aj=h(2,(e,t)=>rn(e,Tx,t)),Oj=h(2,(e,t)=>rn(e,Jf,t)),xx=h(2,(e,t)=>{let n=new fn(Vs);return n.effect_instruction_i0=t,n.effect_instruction_i1=()=>e,n}),Dj=h(2,(e,t)=>rn(e,Gf,t)),Mj=h(2,(e,t)=>rn(e,Mc,t)),ms=(e)=>{let t=new fn(Pp);return typeof e?.priority<"u"?EI(t,e.priority):t},ru=h(2,(e,t)=>R(e,(n)=>X(t,(r)=>[n,r])));var ou=h(2,(e,t)=>R(e,(n)=>xt(t,n))),rt=h(2,(e,t)=>R(e,()=>t)),Lr=h(3,(e,t,n)=>R(e,(r)=>X(t,(o)=>n(r,o)))),Oc=$f(()=>{let e=setInterval(()=>{},2147483647);return U(()=>clearInterval(e))}),Dc=(e)=>R(la,(t)=>T(e,Cr(t))),Cr=h(2,(e,t)=>R(e.interruptAsFork(t),()=>e.await)),_j={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return pe(this,arguments)}},zj={_tag:"Fatal",syslog:2,label:"FATAL",ordinal:50000,pipe(){return pe(this,arguments)}},Fj={_tag:"Error",syslog:3,label:"ERROR",ordinal:40000,pipe(){return pe(this,arguments)}},vI={_tag:"Warning",syslog:4,label:"WARN",ordinal:30000,pipe(){return pe(this,arguments)}},wI={_tag:"Info",syslog:6,label:"INFO",ordinal:20000,pipe(){return pe(this,arguments)}},TI={_tag:"Debug",syslog:7,label:"DEBUG",ordinal:1e4,pipe(){return pe(this,arguments)}},Nj={_tag:"Trace",syslog:7,label:"TRACE",ordinal:0,pipe(){return pe(this,arguments)}},jj={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return pe(this,arguments)}};var qne="effect/FiberRef",Zne=Symbol.for(qne),$ne={_A:(e)=>e},vo=(e)=>Xe((t)=>Tt(t.getFiberRef(e)));var pr=h(2,(e,t)=>R(vo(e),t)),eu=h(2,(e,t)=>Une(e,()=>[void 0,t]));var Une=h(2,(e,t)=>Xe((n)=>{let[r,o]=t(n.getFiberRef(e));return n.setFiberRef(e,o),M(r)}));var Wne="effect/RequestResolver",Bj=Symbol.for(Wne),Hne={_A:(e)=>e,_R:(e)=>e};class Lj{runAll;target;[Bj]=Hne;constructor(e,t){this.runAll=e,this.target=t}[Te](){return Ze(this,this.target?he(this.target):wp(this))}[ve](e){return this.target?Jne(e)&&ye(this.target,e.target):this===e}identified(...e){return new Lj(this.runAll,Ys(e))}pipe(){return pe(this,arguments)}}var Jne=(e)=>ue(e,Bj);var rn=h(3,(e,t,n)=>ux(ou(vo(t),eu(t,n)),()=>e,(r)=>eu(t,r))),Dn=h(3,(e,t,n)=>pr(t,(r)=>rn(e,t,n(r)))),on=(e,t)=>iu(e,{differ:Gb(),fork:t?.fork??He,join:t?.join}),qj=(e)=>{let t=JE();return iu(e,{differ:t,fork:t.empty})},Vne=(e)=>{let t=VE(Gb());return iu(e,{differ:t,fork:t.empty})},Sx=(e)=>{let t=HE();return iu(e,{differ:t,fork:t.empty})},iu=(e,t)=>({...Lo,[Zne]:$ne,initial:e,commit(){return vo(this)},diff:(r,o)=>t.differ.diff(r,o),combine:(r,o)=>t.differ.combine(r,o),patch:(r)=>(o)=>t.differ.patch(r,o),fork:t.fork,join:t.join??((r,o)=>o)}),Zj=(e)=>iu(e,{differ:rI,fork:rI.empty}),lo=Le(Symbol.for("effect/FiberRef/currentContext"),()=>Sx(Qn())),da=Le(Symbol.for("effect/FiberRef/currentSchedulingPriority"),()=>on(0)),vx=Le(Symbol.for("effect/FiberRef/currentMaxOpsBeforeYield"),()=>on(2048)),ma=Le(Symbol.for("effect/FiberRef/currentLogAnnotation"),()=>on(Hl())),CI=Le(Symbol.for("effect/FiberRef/currentLogLevel"),()=>on(wI)),wx=Le(Symbol.for("effect/FiberRef/currentLogSpan"),()=>on(as())),EI=h(2,(e,t)=>rn(e,da,t)),$j=h(2,(e,t)=>rn(e,vx,t)),Tx=Le(Symbol.for("effect/FiberRef/currentConcurrency"),()=>on("unbounded")),Jf=Le(Symbol.for("effect/FiberRef/currentRequestBatching"),()=>on(!0)),Vf=Le(Symbol.for("effect/FiberRef/currentUnhandledErrorLogLevel"),()=>on(H(TI))),Cx=Le(Symbol.for("effect/FiberRef/versionMismatchErrorLogLevel"),()=>on(H(vI))),Uj=h(2,(e,t)=>rn(e,Vf,t)),fa=Le(Symbol.for("effect/FiberRef/currentMetricLabels"),()=>Vne(Ci())),Wj=vo(fa),_f=Le(Symbol.for("effect/FiberRef/currentForkScopeOverride"),()=>on(Z(),{fork:()=>Z(),join:(e,t)=>e})),su=Le(Symbol.for("effect/FiberRef/currentInterruptedCause"),()=>on(En,{fork:()=>En,join:(e,t)=>e})),Gf=Le(Symbol.for("effect/FiberRef/currentTracerEnabled"),()=>on(!0)),Mc=Le(Symbol.for("effect/FiberRef/currentTracerTiming"),()=>on(!0)),sd=Le(Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),()=>on(Hl())),Ex=Le(Symbol.for("effect/FiberRef/currentTracerSpanLinks"),()=>on(nn())),Qf=Symbol.for("effect/Scope"),Kf=Symbol.for("effect/CloseableScope"),Yf=(e,t)=>e.addFinalizer(()=>Qt(t)),_c=(e,t)=>e.addFinalizer(t),au=(e,t)=>e.close(t),wo=(e,t)=>e.fork(t),Hj=(e)=>II(He)(e),II=h(2,(e,t)=>{let n=T(e,Yp,Jt(t));switch(n._tag){case"None":return T(Kp(e),df,vn({onNone:()=>{let r=Ne(Kl(e)).flatMap((o)=>Ne(yc(o)).map((i)=>`#${i}`));return new RI(r?`Interrupted by fibers: ${r.join(", ")}`:void 0)},onSome:He}));case"Some":return n.value}}),ad=function(){class e extends globalThis.Error{commit(){return Ve(this)}toJSON(){let t={...this};if(this.message)t.message=this.message;if(this.cause)t.cause=this.cause;return t}[Be](){if(this.toString!==globalThis.Error.prototype.toString)return this.stack?`${this.toString()}
19
+ `)},Vl=Symbol.for("effect/SpanAnnotation"),ed=(e)=>Yl(e,void 0,{emptyCase:()=>[],dieCase:(t,n)=>[mI(n)],failCase:(t,n)=>[mI(n)],interruptCase:()=>[],parallelCase:(t,n,r)=>[...n,...r],sequentialCase:(t,n,r)=>[...n,...r]});var Xl="Pending",Of="Done";var jne="effect/Deferred",wj=Symbol.for(jne),Tj={_E:(e)=>e,_A:(e)=>e},Cj=(e)=>({_tag:Xl,joiners:e}),hI=(e)=>({_tag:Of,effect:e});class td{self;called=!1;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}return(e){return{value:e,done:!0}}throw(e){throw e}[Symbol.iterator](){return new td(this.self)}}var sa=(e,t)=>{let n=new fn("Blocked");return n.effect_instruction_i0=e,n.effect_instruction_i1=t,n},lx=(e)=>{let t=new fn("RunBlocked");return t.effect_instruction_i0=e,t},aa=Symbol.for("effect/Effect");class yI{patch;op;_op=ef;constructor(e,t){this.patch=e,this.op=t}}class fn{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[aa]=cc;constructor(e){this._op=e}[ve](e){return this===e}[Te](){return Ze(this,wp(this))}pipe(){return pe(this,arguments)}toJSON(){return{_id:"Effect",_op:this._op,effect_instruction_i0:tt(this.effect_instruction_i0),effect_instruction_i1:tt(this.effect_instruction_i1),effect_instruction_i2:tt(this.effect_instruction_i2)}}toString(){return Ge(this.toJSON())}[Be](){return this.toJSON()}[Symbol.iterator](){return new td(new Hs(this))}}class bI{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[aa]=cc;constructor(e){this._op=e,this._tag=e}[ve](e){return uu(e)&&e._op==="Failure"&&ye(this.effect_instruction_i0,e.effect_instruction_i0)}[Te](){return T(ct(this._tag),Pe(he(this.effect_instruction_i0)),Ze(this))}get cause(){return this.effect_instruction_i0}pipe(){return pe(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,cause:this.cause.toJSON()}}toString(){return Ge(this.toJSON())}[Be](){return this.toJSON()}[Symbol.iterator](){return new td(new Hs(this))}}class xI{_op;effect_instruction_i0=void 0;effect_instruction_i1=void 0;effect_instruction_i2=void 0;trace=void 0;[aa]=cc;constructor(e){this._op=e,this._tag=e}[ve](e){return uu(e)&&e._op==="Success"&&ye(this.effect_instruction_i0,e.effect_instruction_i0)}[Te](){return T(ct(this._tag),Pe(he(this.effect_instruction_i0)),Ze(this))}get value(){return this.effect_instruction_i0}pipe(){return pe(this,arguments)}toJSON(){return{_id:"Exit",_tag:this._op,value:tt(this.value)}}toString(){return Ge(this.toJSON())}[Be](){return this.toJSON()}[Symbol.iterator](){return new td(new Hs(this))}}var mt=(e)=>ue(e,aa),Xe=(e)=>{let t=new fn(Vy);return t.effect_instruction_i0=e,t},ux=h(3,(e,t,n)=>ln((r)=>R(e,(o)=>R(Nt(Ae(()=>r(t(o)))),(i)=>Ae(()=>n(o,i)).pipe($t({onFailure:(s)=>{switch(i._tag){case Tt:return Ye(vt(i.effect_instruction_i0,s));case Ct:return Ye(s)}},onSuccess:()=>i})))))),bt=h(2,(e,t)=>R(e,()=>M(t))),Qt=(e)=>bt(e,void 0),Zf=function(){let e=new fn(Fl);switch(arguments.length){case 2:{e.effect_instruction_i0=arguments[0],e.commit=arguments[1];break}case 3:{e.effect_instruction_i0=arguments[0],e.effect_instruction_i1=arguments[1],e.commit=arguments[2];break}case 4:{e.effect_instruction_i0=arguments[0],e.effect_instruction_i1=arguments[1],e.effect_instruction_i2=arguments[2],e.commit=arguments[3];break}default:throw Error(Ws("you're not supposed to end up here"))}return e},nd=(e,t=Cn)=>{let n=new fn(zl),r=void 0;return n.effect_instruction_i0=(o)=>{r=e(o)},n.effect_instruction_i1=t,ds(n,(o)=>mt(r)?r:$e)},$f=(e,t=Cn)=>Ae(()=>nd(e,t)),vr=(e,t=Cn)=>Zf(e,function(){let n=void 0,r=void 0;function o(l){if(n)n(l);else if(r===void 0)r=l}let i=new fn(zl);i.effect_instruction_i0=(l)=>{if(n=l,r)l(r)},i.effect_instruction_i1=t;let s=void 0,c=void 0;if(this.effect_instruction_i0.length!==1)c=new AbortController,s=an(()=>this.effect_instruction_i0(o,c.signal));else s=an(()=>this.effect_instruction_i0(o));return s||c?ds(i,(l)=>{if(c)c.abort();return s??$e}):i});var us=h(2,(e,t)=>{let n=new fn(Ep);return n.effect_instruction_i0=e,n.effect_instruction_i1=t,n}),Di=h(2,(e,t)=>On(e,{onFailure:t,onSuccess:M})),Uf=h(3,(e,t,n)=>us(e,(r)=>{let o=Ai(r);switch(o._tag){case"Left":return t(o.left)?n(o.left):Ye(r);case"Right":return Ye(o.right)}})),Ej=h(2,(e,t)=>us(e,(n)=>{let r=Ai(n);switch(r._tag){case"Left":return T(t(r.left),wn(()=>Ye(n)));case"Right":return Ye(r.right)}})),Ij=(e)=>Xe((t,n)=>e(If(n.runtimeFlags))),ax=Symbol.for("effect/OriginalAnnotation"),kj=(e)=>{if(ue(e,ax))return e[ax];return e},px=(e,t)=>{if(lt(t))return new Proxy(e,{has(n,r){return r===Vl||r===ax||r in n},get(n,r){if(r===Vl)return t.value;if(r===ax)return e;return n[r]}});return e},ur=(e)=>Us(e)&&!(Vl in e)?Xe((t)=>Ye(Vt(px(e,Ox(t))))):Ye(Vt(e)),Ec=(e)=>ca(()=>Vt(new kI(e))),xo=(e)=>R(Z(e),ur),Go=(e)=>On(e,{onFailure:(t)=>M(dt(t)),onSuccess:(t)=>M(nt(t))}),Nt=(e)=>Wf(e,{onFailure:at,onSuccess:wt}),Ve=(e)=>Us(e)&&!(Vl in e)?Xe((t)=>Ye(ao(px(e,Ox(t))))):Ye(ao(e)),Qo=(e)=>R(Z(e),Ve),Ye=(e)=>{let t=new bI(Tt);return t.effect_instruction_i0=e,t},ca=(e)=>R(Z(e),Ye),la=Xe((e)=>M(e.id())),co=(e)=>Xe((t)=>e(t.id())),R=h(2,(e,t)=>{let n=new fn(Ip);return n.effect_instruction_i0=e,n.effect_instruction_i1=t,n}),Ic=h(2,(e,t)=>R(e,(n)=>{let r=typeof t==="function"?t(n):t;if(mt(r))return r;else if(DC(r))return nd((o)=>{r.then((i)=>o(M(i)),(i)=>o(Ve(new lu(i,"An unknown error occurred in Effect.andThen"))))});return M(r)})),dx=(e)=>{let t=new fn("OnStep");return t.effect_instruction_i0=e,t},wr=(e)=>R(e,He),kc=(e)=>On(e,{onFailure:M,onSuccess:Ve}),Wf=h(2,(e,t)=>$t(e,{onFailure:(n)=>M(t.onFailure(n)),onSuccess:(n)=>M(t.onSuccess(n))})),$t=h(2,(e,t)=>{let n=new fn(kp);return n.effect_instruction_i0=e,n.effect_instruction_i1=t.onFailure,n.effect_instruction_i2=t.onSuccess,n}),On=h(2,(e,t)=>$t(e,{onFailure:(n)=>{if(Kp(n).length>0)return Ye(mj(n));let o=Qp(n);if(o.length>0)return t.onFailure(lE(o));return Ye(n)},onSuccess:t.onSuccess})),Yn=h(2,(e,t)=>Ae(()=>{let n=Fe(e),r=lf(n.length),o=0;return bt(Ac({while:()=>o<n.length,body:()=>t(n[o],o),step:(i)=>{r[o++]=i}}),r)})),So=h(2,(e,t)=>Ae(()=>{let n=Fe(e),r=0;return Ac({while:()=>r<n.length,body:()=>t(n[r],r),step:()=>{r++}})})),mx=h((e)=>typeof e[0]==="boolean"||mt(e[0]),(e,t)=>mt(e)?R(e,(n)=>n?t.onTrue():t.onFalse()):e?t.onTrue():t.onFalse()),fx=R(la,(e)=>gx(e)),gx=(e)=>Ye(Kn(e)),ua=(e)=>{let t=new fn(Vs);return t.effect_instruction_i0=oI(Ri),t.effect_instruction_i1=()=>e,t},Rj=(e)=>Zf(e,function(){let t=new fn(Vs);return t.effect_instruction_i0=oI(Ri),t.effect_instruction_i1=(n)=>If(n)?an(()=>this.effect_instruction_i0(ua)):an(()=>this.effect_instruction_i0(pa)),t}),ps=h(2,(e,t)=>ln((n)=>R(Nt(n(e)),(r)=>MI(t,r)))),X=h(2,(e,t)=>R(e,(n)=>Z(()=>t(n)))),Hf=h(2,(e,t)=>On(e,{onFailure:(n)=>Qo(()=>t.onFailure(n)),onSuccess:(n)=>Z(()=>t.onSuccess(n))})),Rc=h(2,(e,t)=>$t(e,{onFailure:(n)=>{let r=Ai(n);switch(r._tag){case"Left":return Qo(()=>t(r.left));case"Right":return Ye(r.right)}},onSuccess:M})),hx=h(2,(e,t)=>Br(e,(n)=>Xf(n)?$e:t(n.effect_instruction_i0))),Br=h(2,(e,t)=>ln((n)=>$t(n(e),{onFailure:(r)=>{let o=at(r);return $t(t(o),{onFailure:(i)=>at(vt(r,i)),onSuccess:()=>o})},onSuccess:(r)=>{let o=wt(r);return rt(t(o),o)}}))),ds=h(2,(e,t)=>Br(e,pu({onFailure:(n)=>Ql(n)?Qt(t(Kl(n))):$e,onSuccess:()=>$e}))),tu=h(2,(e,t)=>Lne(e,t,M)),nu=(e)=>SI(e,He),SI=h(2,(e,t)=>On(e,{onFailure:(n)=>ur(t(n)),onSuccess:M})),Pj=oE,rd=Xe((e,t)=>M(t.runtimeFlags)),M=(e)=>{let t=new xI(Ct);return t.effect_instruction_i0=e,t},Ae=(e)=>{let t=new fn(Fl);return t.commit=e,t},Z=(e)=>{let t=new fn(Jy);return t.effect_instruction_i0=e,t},Tr=h((e)=>e.length===3||e.length===2&&!(Us(e[1])&&("onlyEffect"in e[1])),(e,t)=>R(e,(n)=>{let r=typeof t==="function"?t(n):t;if(mt(r))return bt(r,n);else if(DC(r))return nd((o)=>{r.then((i)=>o(M(n)),(i)=>o(Ve(new lu(i,"An unknown error occurred in Effect.tap"))))});return M(n)})),yx=(e)=>Xe((t)=>{let n=t.getFiberRef(_f),r=T(n,wn(()=>t.scope()));return e(rn(_f,W(r)))}),Lne=h(3,(e,t,n)=>$t(e,{onFailure:(r)=>{if(Kp(r).length>0)return Ye(GC(pj(r)));return t()},onSuccess:n})),pa=(e)=>{let t=new fn(Vs);return t.effect_instruction_i0=iI(Ri),t.effect_instruction_i1=()=>e,t},ln=(e)=>Zf(e,function(){let t=new fn(Vs);return t.effect_instruction_i0=iI(Ri),t.effect_instruction_i1=(n)=>If(n)?an(()=>this.effect_instruction_i0(ua)):an(()=>this.effect_instruction_i0(pa)),t}),$e=M(void 0);var Pc=(e)=>{let t=new fn(Vs);return t.effect_instruction_i0=e,t.effect_instruction_i1=void 0,t},od=h(2,(e,t)=>R(t,(n)=>{if(n)return T(e,X(W));return M(q())})),Ac=(e)=>{let t=new fn(Rp);return t.effect_instruction_i0=e.while,t.effect_instruction_i1=e.body,t.effect_instruction_i2=e.step,t},Mf=(e)=>Ae(()=>{let t=new fn(Nl);return t.effect_instruction_i0=e(),t}),bx=function(){let e=arguments.length===1?arguments[0]:arguments[1].bind(arguments[0]);return Mf(()=>e(T))},id=(e,...t)=>Object.defineProperty(t.length===0?function(...n){return Mf(()=>e.apply(this,n))}:function(...n){let r=Mf(()=>e.apply(this,n));for(let o of t)r=o(r,...n);return r},"length",{value:e.length,configurable:!0}),Aj=h(2,(e,t)=>rn(e,Tx,t)),Oj=h(2,(e,t)=>rn(e,Jf,t)),xx=h(2,(e,t)=>{let n=new fn(Vs);return n.effect_instruction_i0=t,n.effect_instruction_i1=()=>e,n}),Dj=h(2,(e,t)=>rn(e,Gf,t)),Mj=h(2,(e,t)=>rn(e,Mc,t)),ms=(e)=>{let t=new fn(Pp);return typeof e?.priority<"u"?EI(t,e.priority):t},ru=h(2,(e,t)=>R(e,(n)=>X(t,(r)=>[n,r])));var ou=h(2,(e,t)=>R(e,(n)=>bt(t,n))),rt=h(2,(e,t)=>R(e,()=>t)),Lr=h(3,(e,t,n)=>R(e,(r)=>X(t,(o)=>n(r,o)))),Oc=$f(()=>{let e=setInterval(()=>{},2147483647);return Z(()=>clearInterval(e))}),Dc=(e)=>R(la,(t)=>T(e,Cr(t))),Cr=h(2,(e,t)=>R(e.interruptAsFork(t),()=>e.await)),_j={_tag:"All",syslog:0,label:"ALL",ordinal:Number.MIN_SAFE_INTEGER,pipe(){return pe(this,arguments)}},zj={_tag:"Fatal",syslog:2,label:"FATAL",ordinal:50000,pipe(){return pe(this,arguments)}},Fj={_tag:"Error",syslog:3,label:"ERROR",ordinal:40000,pipe(){return pe(this,arguments)}},vI={_tag:"Warning",syslog:4,label:"WARN",ordinal:30000,pipe(){return pe(this,arguments)}},wI={_tag:"Info",syslog:6,label:"INFO",ordinal:20000,pipe(){return pe(this,arguments)}},TI={_tag:"Debug",syslog:7,label:"DEBUG",ordinal:1e4,pipe(){return pe(this,arguments)}},Nj={_tag:"Trace",syslog:7,label:"TRACE",ordinal:0,pipe(){return pe(this,arguments)}},jj={_tag:"None",syslog:7,label:"OFF",ordinal:Number.MAX_SAFE_INTEGER,pipe(){return pe(this,arguments)}};var qne="effect/FiberRef",Zne=Symbol.for(qne),$ne={_A:(e)=>e},vo=(e)=>Xe((t)=>wt(t.getFiberRef(e)));var pr=h(2,(e,t)=>R(vo(e),t)),eu=h(2,(e,t)=>Une(e,()=>[void 0,t]));var Une=h(2,(e,t)=>Xe((n)=>{let[r,o]=t(n.getFiberRef(e));return n.setFiberRef(e,o),M(r)}));var Wne="effect/RequestResolver",Bj=Symbol.for(Wne),Hne={_A:(e)=>e,_R:(e)=>e};class Lj{runAll;target;[Bj]=Hne;constructor(e,t){this.runAll=e,this.target=t}[Te](){return Ze(this,this.target?he(this.target):wp(this))}[ve](e){return this.target?Jne(e)&&ye(this.target,e.target):this===e}identified(...e){return new Lj(this.runAll,Ys(e))}pipe(){return pe(this,arguments)}}var Jne=(e)=>ue(e,Bj);var rn=h(3,(e,t,n)=>ux(ou(vo(t),eu(t,n)),()=>e,(r)=>eu(t,r))),Dn=h(3,(e,t,n)=>pr(t,(r)=>rn(e,t,n(r)))),on=(e,t)=>iu(e,{differ:Gb(),fork:t?.fork??He,join:t?.join}),qj=(e)=>{let t=JE();return iu(e,{differ:t,fork:t.empty})},Vne=(e)=>{let t=VE(Gb());return iu(e,{differ:t,fork:t.empty})},Sx=(e)=>{let t=HE();return iu(e,{differ:t,fork:t.empty})},iu=(e,t)=>({...Lo,[Zne]:$ne,initial:e,commit(){return vo(this)},diff:(r,o)=>t.differ.diff(r,o),combine:(r,o)=>t.differ.combine(r,o),patch:(r)=>(o)=>t.differ.patch(r,o),fork:t.fork,join:t.join??((r,o)=>o)}),Zj=(e)=>iu(e,{differ:rI,fork:rI.empty}),lo=Le(Symbol.for("effect/FiberRef/currentContext"),()=>Sx(Qn())),da=Le(Symbol.for("effect/FiberRef/currentSchedulingPriority"),()=>on(0)),vx=Le(Symbol.for("effect/FiberRef/currentMaxOpsBeforeYield"),()=>on(2048)),ma=Le(Symbol.for("effect/FiberRef/currentLogAnnotation"),()=>on(Hl())),CI=Le(Symbol.for("effect/FiberRef/currentLogLevel"),()=>on(wI)),wx=Le(Symbol.for("effect/FiberRef/currentLogSpan"),()=>on(as())),EI=h(2,(e,t)=>rn(e,da,t)),$j=h(2,(e,t)=>rn(e,vx,t)),Tx=Le(Symbol.for("effect/FiberRef/currentConcurrency"),()=>on("unbounded")),Jf=Le(Symbol.for("effect/FiberRef/currentRequestBatching"),()=>on(!0)),Vf=Le(Symbol.for("effect/FiberRef/currentUnhandledErrorLogLevel"),()=>on(W(TI))),Cx=Le(Symbol.for("effect/FiberRef/versionMismatchErrorLogLevel"),()=>on(W(vI))),Uj=h(2,(e,t)=>rn(e,Vf,t)),fa=Le(Symbol.for("effect/FiberRef/currentMetricLabels"),()=>Vne(Ci())),Wj=vo(fa),_f=Le(Symbol.for("effect/FiberRef/currentForkScopeOverride"),()=>on(q(),{fork:()=>q(),join:(e,t)=>e})),su=Le(Symbol.for("effect/FiberRef/currentInterruptedCause"),()=>on(En,{fork:()=>En,join:(e,t)=>e})),Gf=Le(Symbol.for("effect/FiberRef/currentTracerEnabled"),()=>on(!0)),Mc=Le(Symbol.for("effect/FiberRef/currentTracerTiming"),()=>on(!0)),sd=Le(Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),()=>on(Hl())),Ex=Le(Symbol.for("effect/FiberRef/currentTracerSpanLinks"),()=>on(nn())),Qf=Symbol.for("effect/Scope"),Kf=Symbol.for("effect/CloseableScope"),Yf=(e,t)=>e.addFinalizer(()=>Qt(t)),_c=(e,t)=>e.addFinalizer(t),au=(e,t)=>e.close(t),wo=(e,t)=>e.fork(t),Hj=(e)=>II(He)(e),II=h(2,(e,t)=>{let n=T(e,Yp,Jt(t));switch(n._tag){case"None":return T(Kp(e),df,vn({onNone:()=>{let r=Fe(Kl(e)).flatMap((o)=>Fe(yc(o)).map((i)=>`#${i}`));return new RI(r?`Interrupted by fibers: ${r.join(", ")}`:void 0)},onSome:He}));case"Some":return n.value}}),ad=function(){class e extends globalThis.Error{commit(){return Ve(this)}toJSON(){let t={...this};if(this.message)t.message=this.message;if(this.cause)t.cause=this.cause;return t}[Be](){if(this.toString!==globalThis.Error.prototype.toString)return this.stack?`${this.toString()}
20
20
  ${this.stack.split(`
21
21
  `).slice(1).join(`
22
- `)}`:this.toString();else if("Bun"in globalThis)return Oi(ao(this),{renderErrorCause:!0});return this}}return Object.assign(e.prototype,BC),e}(),cu=(e,t)=>{class n extends ad{_tag=t}return Object.assign(n.prototype,e),n.prototype.name=t,n},zf=Symbol.for("effect/Cause/errors/RuntimeException"),kI=cu({[zf]:zf},"RuntimeException"),Jj=(e)=>ue(e,zf),Ff=Symbol.for("effect/Cause/errors/InterruptedException"),RI=cu({[Ff]:Ff},"InterruptedException"),Ix=(e)=>ue(e,Ff),Nf=Symbol.for("effect/Cause/errors/IllegalArgument"),Ko=cu({[Nf]:Nf},"IllegalArgumentException"),Vj=(e)=>ue(e,Nf),jf=Symbol.for("effect/Cause/errors/NoSuchElement"),Er=cu({[jf]:jf},"NoSuchElementException"),kx=(e)=>ue(e,jf),cx=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),p_e=cu({[cx]:cx},"InvalidPubSubCapacityException"),Bf=Symbol.for("effect/Cause/errors/ExceededCapacityException"),Gj=cu({[Bf]:Bf},"ExceededCapacityException"),Qj=(e)=>ue(e,Bf);var Lf=Symbol.for("effect/Cause/errors/Timeout"),PI=cu({[Lf]:Lf},"TimeoutException"),Kj=(e)=>new PI(`Operation timed out after '${wE(e)}'`),Yj=(e)=>ue(e,Lf),qf=Symbol.for("effect/Cause/errors/UnknownException"),lu=function(){class e extends ad{_tag="UnknownException";error;constructor(t,n){super(n??"An unknown error occurred",{cause:t});this.error=t}}return Object.assign(e.prototype,{[qf]:qf,name:"UnknownException"}),e}(),Xj=(e)=>ue(e,qf),uu=(e)=>mt(e)&&("_tag"in e)&&(e._tag==="Success"||e._tag==="Failure"),Rx=(e)=>e._tag==="Failure",Xf=(e)=>e._tag==="Success",eB=(e)=>{switch(e._tag){case Ct:return Gp(e.effect_instruction_i0);case Et:return!1}},AI=h(2,(e,t)=>{switch(e._tag){case Ct:return at(e.effect_instruction_i0);case Et:return Tt(t)}}),cd=(e)=>AI(e,void 0),tB=(e)=>{switch(e._tag){case Ct:return H(e.effect_instruction_i0);case Et:return Z()}},zc=(e,t)=>Gne(e,t?.parallel?Gt:wt),Px=(e)=>at(Vt(e)),nB=h(2,(e,t)=>{switch(e._tag){case Ct:return!1;case Et:return t(e.effect_instruction_i0)}}),Fc=(e)=>at(ao(e)),at=(e)=>{let t=new bI(Ct);return t.effect_instruction_i0=e,t},OI=h(2,(e,t)=>{switch(e._tag){case Ct:return at(e.effect_instruction_i0);case Et:return t(e.effect_instruction_i0)}}),rB=h(2,(e,t)=>{switch(e._tag){case Ct:return M(at(e.effect_instruction_i0));case Et:return t(e.effect_instruction_i0)}}),oB=(e)=>T(e,OI(He)),iB=h(2,(e,t)=>{switch(e._tag){case Ct:return M(at(e.effect_instruction_i0));case Et:return Nt(t(e.effect_instruction_i0))}}),sB=(e)=>{switch(e._tag){case"Left":return Fc(e.left);case"Right":return Tt(e.right)}},aB=(e)=>{switch(e._tag){case"None":return Fc(void 0);case"Some":return Tt(e.value)}},cB=h(2,(e,t)=>{switch(e._tag){case Ct:return t(e.effect_instruction_i0);case Et:return e.effect_instruction_i0}}),eg=(e)=>at(Kn(e)),Df=h(2,(e,t)=>{switch(e._tag){case Ct:return at(e.effect_instruction_i0);case Et:return Tt(t(e.effect_instruction_i0))}}),lB=h(2,(e,{onFailure:t,onSuccess:n})=>{switch(e._tag){case Ct:return at(T(e.effect_instruction_i0,Xp(t)));case Et:return Tt(n(e.effect_instruction_i0))}}),uB=h(2,(e,t)=>{switch(e._tag){case Ct:return at(T(e.effect_instruction_i0,Xp(t)));case Et:return Tt(e.effect_instruction_i0)}}),pB=h(2,(e,t)=>{switch(e._tag){case Ct:return at(t(e.effect_instruction_i0));case Et:return Tt(e.effect_instruction_i0)}}),pu=h(2,(e,{onFailure:t,onSuccess:n})=>{switch(e._tag){case Ct:return t(e.effect_instruction_i0);case Et:return n(e.effect_instruction_i0)}}),du=h(2,(e,{onFailure:t,onSuccess:n})=>{switch(e._tag){case Ct:return t(e.effect_instruction_i0);case Et:return n(e.effect_instruction_i0)}}),Tt=(e)=>{let t=new xI(Et);return t.effect_instruction_i0=e,t},Ir=Tt(void 0),dB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>[n,r],onFailure:wt})),mB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>n,onFailure:wt})),fB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>r,onFailure:wt})),gB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>[n,r],onFailure:Gt})),hB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>n,onFailure:Gt})),yB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>r,onFailure:Gt})),Yo=h(3,(e,t,{onFailure:n,onSuccess:r})=>{switch(e._tag){case Ct:switch(t._tag){case Et:return at(e.effect_instruction_i0);case Ct:return at(n(e.effect_instruction_i0,t.effect_instruction_i0))}case Et:switch(t._tag){case Et:return Tt(r(e.effect_instruction_i0,t.effect_instruction_i0));case Ct:return at(t.effect_instruction_i0)}}}),Gne=(e,t)=>{let n=Ys(e);if(!_t(n))return Z();return T(zt(n),uc(T(ut(n),Df(cn)),(r,o)=>T(r,Yo(o,{onSuccess:(i,s)=>T(i,Zt(s)),onFailure:t}))),Df(ho),Df((r)=>qo(r)),H)},tg=(e)=>({...Lo,[wj]:Tj,state:is(Cj([])),commit(){return Zn(this)},blockingOn:e}),uo=()=>R(la,(e)=>bB(e)),bB=(e)=>U(()=>tg(e)),Zn=(e)=>$f((t)=>{let n=io(e.state);switch(n._tag){case Of:return t(n.effect);case Xl:return n.joiners.push(t),Qne(e,t)}},e.blockingOn),DI=h(2,(e,t)=>ps(t,e)),ng=h(2,(e,t)=>U(()=>{let n=io(e.state);switch(n._tag){case Of:return!1;case Xl:{Jo(e.state,hI(t));for(let r=0,o=n.joiners.length;r<o;r++)n.joiners[r](t);return!0}}})),MI=h(2,(e,t)=>ng(e,t));var rg=h(2,(e,t)=>ng(e,Ye(t)));var xB=(e)=>R(la,(t)=>ng(e,gx(t)));var _I=h(2,(e,t)=>ng(e,M(t)));var ld=(e,t)=>{let n=io(e.state);if(n._tag===Xl){Jo(e.state,hI(t));for(let r=0,o=n.joiners.length;r<o;r++)n.joiners[r](t)}},Qne=(e,t)=>U(()=>{let n=io(e.state);if(n._tag===Xl){let r=n.joiners.indexOf(t);if(r>=0)n.joiners.splice(r,1)}}),Kne=Xe((e)=>Tt(e.currentContext)),po=()=>Kne;var To=(e)=>R(po(),e),qr=h(2,(e,t)=>rn(lo,t)(e)),Ax=h(2,(e,t)=>Dn(lo,(n)=>Uo(n,t))(e)),Nc=h(2,(e,t)=>To((n)=>qr(e,t(n)))),zI=h(2,(e,t)=>R(e,(n)=>R(t.predicate(n),(r)=>r?M(n):t.orElse(n)))),SB=h(2,(e,t)=>zI(e,{predicate:t.predicate,orElse:(n)=>Ve(t.orFailWith(n))})),Ox=(e)=>{let t=e.currentSpan;return t!==void 0&&t._tag==="Span"?H(t):Z()},Yne={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:BigInt(0),endTime:BigInt(0),exit:Ir},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},vB=(e)=>Object.assign(Object.create(Yne),e);var Xne=uu,og=Rx,jc=Xf,ere=eB,tre=AI,nre=cd,rre=tB,ore=zc,ire=Px,sre=nB,FI=Fc,NI=at,are=OI,cre=rB,jI=oB,Dx=iB,lre=sB,ure=aB,pre=cB,BI=eg,dre=Df,mre=lB,fre=uB,gre=pB,LI=pu,hre=du,ig=Tt,yre=Ir;var bre=dB,xre=mB,Sre=fB,vre=gB,wre=hB,Tre=yB,qI=Yo;var Xt={};Xr(Xt,{CloseableScopeTypeId:()=>Lse,Scope:()=>VR,ScopeTypeId:()=>Bse,addFinalizer:()=>qse,addFinalizerExit:()=>Zse,close:()=>GR,extend:()=>$se,fork:()=>QR,make:()=>Wse,use:()=>Use});var wB=(e)=>!e;var TB=Gs,Mx=Lo;var Ere=wz;class Bc extends Ere{}var CB="Sequential",EB="Parallel",Ire="ParallelN",Xo={_tag:CB},sg={_tag:EB},IB=(e)=>({_tag:Ire,parallelism:e}),ZI=(e)=>e._tag===CB,$I=(e)=>e._tag===EB;var Fx=Xo,Nx=sg,jx=IB;function kB(e){return new ga(e)}function RB(){return kB(new Map)}var UI=Symbol.for("effect/FiberRefs");class ga{locals;[UI]=UI;constructor(e){this.locals=e}pipe(){return pe(this,arguments)}}var Rre=(e,t,n,r=!1)=>{let o=e,i=t,s=n,c=r,l=void 0;while(l===void 0)if(br(i)&&br(s)){let u=Gn(i)[0],p=es(i),d=Gn(s)[0],g=Gn(s)[1],f=es(s);if(u.startTimeMillis<d.startTimeMillis)s=f,c=!0;else if(u.startTimeMillis>d.startTimeMillis)i=p;else if(u.id<d.id)s=f,c=!0;else if(u.id>d.id)i=p;else l=[g,c]}else l=[o.initial,!0];return l},Bx=h(3,(e,t,n)=>{let r=new Map(e.locals);return n.locals.forEach((o,i)=>{let s=o[0][1];if(!o[0][0][ve](t)){if(!r.has(i)){if(ye(s,i.initial))return;r.set(i,[[t,i.join(i.initial,s)]]);return}let c=r.get(i),[l,u]=Rre(i,c,o);if(u){let p=i.diff(l,s),d=c[0][1],g=i.join(d,i.patch(p)(d));if(!ye(d,g)){let f,v=c[0][0];if(v[ve](t))f=[[v,g],...c.slice(1)];else f=[[t,g],...c];r.set(i,f)}}}}),new ga(r)}),HI=h(2,(e,t)=>{let n=new Map;return PB(e,n,t),new ga(n)}),PB=(e,t,n)=>{e.locals.forEach((r,o)=>{let i=r[0][1],s=o.patch(o.fork)(i);if(ye(i,s))t.set(o,r);else t.set(o,[[n,s],...r])})},AB=(e)=>Ob(e.locals.keys()),OB=(e)=>So(AB(e),(t)=>eu(t,ha(e,t))),ag=h(2,(e,t)=>{let n=new Map(e.locals);return n.delete(t),new ga(n)}),Lx=h(2,(e,t)=>{if(!e.locals.has(t))return Z();return H(Gn(e.locals.get(t))[1])}),ha=h(2,(e,t)=>T(Lx(e,t),wn(()=>t.initial))),ud=h(2,(e,{fiberId:t,fiberRef:n,value:r})=>{if(e.locals.size===0)return new ga(new Map([[n,[[t,r]]]]));let o=new Map(e.locals);return WI(o,t,n,r),new ga(o)}),WI=(e,t,n,r)=>{let o=e.get(n)??[],i;if(br(o)){let[s,c]=Gn(o);if(s[ve](t))if(ye(c,r))return;else i=[[t,r],...o.slice(1)];else i=[[t,r],...o]}else i=[[t,r]];e.set(n,i)},DB=h(2,(e,{entries:t,forkAs:n})=>{if(e.locals.size===0)return new ga(new Map(t));let r=new Map(e.locals);if(n!==void 0)PB(e,r,n);return t.forEach(([o,i])=>{if(i.length===1)WI(r,i[0][0],o,i[0][1]);else i.forEach(([s,c])=>{WI(r,s,o,c)})}),new ga(r)});var VI=Lx,MB=ha,_B=Bx,zB=OB;var FB=DB;var NB=RB;var jB="Empty",BB="Add",LB="Remove",qB="Update",ZB="AndThen",$B={_tag:jB},cg=(e,t)=>{let n=new Map(e.locals),r=$B;for(let[o,i]of t.locals.entries()){let s=Gn(i)[1],c=n.get(o);if(c!==void 0){let l=Gn(c)[1];if(!ye(l,s))r=qx({_tag:qB,fiberRef:o,patch:o.diff(l,s)})(r)}else r=qx({_tag:BB,fiberRef:o,value:s})(r);n.delete(o)}for(let[o]of n.entries())r=qx({_tag:LB,fiberRef:o})(r);return r},qx=h(2,(e,t)=>({_tag:ZB,first:e,second:t})),Zx=h(3,(e,t,n)=>{let r=n,o=jr(e);while(br(o)){let i=Gn(o),s=es(o);switch(i._tag){case jB:{o=s;break}case BB:{r=ud(r,{fiberId:t,fiberRef:i.fiberRef,value:i.value}),o=s;break}case LB:{r=ag(r,i.fiberRef),o=s;break}case qB:{let c=ha(r,i.fiberRef);r=ud(r,{fiberId:t,fiberRef:i.fiberRef,value:i.fiberRef.patch(i.patch)(c)}),o=s;break}case ZB:{o=Dp(i.first)(Dp(i.second)(s));break}}}return r});var mu=cg;var fu=Zx;var Ux="effect/FiberStatus",Lc=Symbol.for(Ux),$x="Done",QI="Running",KI="Suspended",Pre=ct(`${Ux}-${$x}`);class HB{[Lc]=Lc;_tag=$x;[Te](){return Pre}[ve](e){return Wx(e)&&e._tag===$x}}class JB{runtimeFlags;[Lc]=Lc;_tag=QI;constructor(e){this.runtimeFlags=e}[Te](){return T(he(Ux),Pe(he(this._tag)),Pe(he(this.runtimeFlags)),Ze(this))}[ve](e){return Wx(e)&&e._tag===QI&&this.runtimeFlags===e.runtimeFlags}}class VB{runtimeFlags;blockingOn;[Lc]=Lc;_tag=KI;constructor(e,t){this.runtimeFlags=e,this.blockingOn=t}[Te](){return T(he(Ux),Pe(he(this._tag)),Pe(he(this.runtimeFlags)),Pe(he(this.blockingOn)),Ze(this))}[ve](e){return Wx(e)&&e._tag===KI&&this.runtimeFlags===e.runtimeFlags&&ye(this.blockingOn,e.blockingOn)}}var GB=new HB,QB=(e)=>new JB(e),KB=(e,t)=>new VB(e,t),Wx=(e)=>ue(e,Lc),YB=(e)=>e._tag===$x,XB=(e)=>e._tag===QI,eL=(e)=>e._tag===KI;var tL=GB,YI=QB,nL=KB;var Hx=YB,rL=XB,oL=eL;var Xn=Dz;var _re=_j,XI=zj,ek=Fj,tk=vI,nk=wI,rk=TI,ok=Nj,zre=jj;var Fre=T(Xn,tb((e)=>e.ordinal));var ik=HC(Fre);var sk=(e)=>{switch(e){case"All":return _re;case"Debug":return rk;case"Error":return ek;case"Fatal":return XI;case"Info":return nk;case"Trace":return ok;case"None":return zre;case"Warning":return tk}};var Nre=Symbol.for("effect/Micro"),Jx=Symbol.for("effect/Micro/MicroExit");var aL=Symbol.for("effect/Micro/MicroCause");var jre={_E:He};class lk extends globalThis.Error{_tag;traces;[aL];constructor(e,t,n){let r=`MicroCause.${e}`,o,i,s;if(t instanceof globalThis.Error){o=`(${r}) ${t.name}`,i=t.message;let c=i.split(`
22
+ `)}`:this.toString();else if("Bun"in globalThis)return Oi(ao(this),{renderErrorCause:!0});return this}}return Object.assign(e.prototype,BC),e}(),cu=(e,t)=>{class n extends ad{_tag=t}return Object.assign(n.prototype,e),n.prototype.name=t,n},zf=Symbol.for("effect/Cause/errors/RuntimeException"),kI=cu({[zf]:zf},"RuntimeException"),Jj=(e)=>ue(e,zf),Ff=Symbol.for("effect/Cause/errors/InterruptedException"),RI=cu({[Ff]:Ff},"InterruptedException"),Ix=(e)=>ue(e,Ff),Nf=Symbol.for("effect/Cause/errors/IllegalArgument"),Ko=cu({[Nf]:Nf},"IllegalArgumentException"),Vj=(e)=>ue(e,Nf),jf=Symbol.for("effect/Cause/errors/NoSuchElement"),Er=cu({[jf]:jf},"NoSuchElementException"),kx=(e)=>ue(e,jf),cx=Symbol.for("effect/Cause/errors/InvalidPubSubCapacityException"),p_e=cu({[cx]:cx},"InvalidPubSubCapacityException"),Bf=Symbol.for("effect/Cause/errors/ExceededCapacityException"),Gj=cu({[Bf]:Bf},"ExceededCapacityException"),Qj=(e)=>ue(e,Bf);var Lf=Symbol.for("effect/Cause/errors/Timeout"),PI=cu({[Lf]:Lf},"TimeoutException"),Kj=(e)=>new PI(`Operation timed out after '${wE(e)}'`),Yj=(e)=>ue(e,Lf),qf=Symbol.for("effect/Cause/errors/UnknownException"),lu=function(){class e extends ad{_tag="UnknownException";error;constructor(t,n){super(n??"An unknown error occurred",{cause:t});this.error=t}}return Object.assign(e.prototype,{[qf]:qf,name:"UnknownException"}),e}(),Xj=(e)=>ue(e,qf),uu=(e)=>mt(e)&&("_tag"in e)&&(e._tag==="Success"||e._tag==="Failure"),Rx=(e)=>e._tag==="Failure",Xf=(e)=>e._tag==="Success",eB=(e)=>{switch(e._tag){case Tt:return Gp(e.effect_instruction_i0);case Ct:return!1}},AI=h(2,(e,t)=>{switch(e._tag){case Tt:return at(e.effect_instruction_i0);case Ct:return wt(t)}}),cd=(e)=>AI(e,void 0),tB=(e)=>{switch(e._tag){case Tt:return W(e.effect_instruction_i0);case Ct:return q()}},zc=(e,t)=>Gne(e,t?.parallel?Gt:vt),Px=(e)=>at(Vt(e)),nB=h(2,(e,t)=>{switch(e._tag){case Tt:return!1;case Ct:return t(e.effect_instruction_i0)}}),Fc=(e)=>at(ao(e)),at=(e)=>{let t=new bI(Tt);return t.effect_instruction_i0=e,t},OI=h(2,(e,t)=>{switch(e._tag){case Tt:return at(e.effect_instruction_i0);case Ct:return t(e.effect_instruction_i0)}}),rB=h(2,(e,t)=>{switch(e._tag){case Tt:return M(at(e.effect_instruction_i0));case Ct:return t(e.effect_instruction_i0)}}),oB=(e)=>T(e,OI(He)),iB=h(2,(e,t)=>{switch(e._tag){case Tt:return M(at(e.effect_instruction_i0));case Ct:return Nt(t(e.effect_instruction_i0))}}),sB=(e)=>{switch(e._tag){case"Left":return Fc(e.left);case"Right":return wt(e.right)}},aB=(e)=>{switch(e._tag){case"None":return Fc(void 0);case"Some":return wt(e.value)}},cB=h(2,(e,t)=>{switch(e._tag){case Tt:return t(e.effect_instruction_i0);case Ct:return e.effect_instruction_i0}}),eg=(e)=>at(Kn(e)),Df=h(2,(e,t)=>{switch(e._tag){case Tt:return at(e.effect_instruction_i0);case Ct:return wt(t(e.effect_instruction_i0))}}),lB=h(2,(e,{onFailure:t,onSuccess:n})=>{switch(e._tag){case Tt:return at(T(e.effect_instruction_i0,Xp(t)));case Ct:return wt(n(e.effect_instruction_i0))}}),uB=h(2,(e,t)=>{switch(e._tag){case Tt:return at(T(e.effect_instruction_i0,Xp(t)));case Ct:return wt(e.effect_instruction_i0)}}),pB=h(2,(e,t)=>{switch(e._tag){case Tt:return at(t(e.effect_instruction_i0));case Ct:return wt(e.effect_instruction_i0)}}),pu=h(2,(e,{onFailure:t,onSuccess:n})=>{switch(e._tag){case Tt:return t(e.effect_instruction_i0);case Ct:return n(e.effect_instruction_i0)}}),du=h(2,(e,{onFailure:t,onSuccess:n})=>{switch(e._tag){case Tt:return t(e.effect_instruction_i0);case Ct:return n(e.effect_instruction_i0)}}),wt=(e)=>{let t=new xI(Ct);return t.effect_instruction_i0=e,t},Ir=wt(void 0),dB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>[n,r],onFailure:vt})),mB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>n,onFailure:vt})),fB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>r,onFailure:vt})),gB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>[n,r],onFailure:Gt})),hB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>n,onFailure:Gt})),yB=h(2,(e,t)=>Yo(e,t,{onSuccess:(n,r)=>r,onFailure:Gt})),Yo=h(3,(e,t,{onFailure:n,onSuccess:r})=>{switch(e._tag){case Tt:switch(t._tag){case Ct:return at(e.effect_instruction_i0);case Tt:return at(n(e.effect_instruction_i0,t.effect_instruction_i0))}case Ct:switch(t._tag){case Ct:return wt(r(e.effect_instruction_i0,t.effect_instruction_i0));case Tt:return at(t.effect_instruction_i0)}}}),Gne=(e,t)=>{let n=Ys(e);if(!_t(n))return q();return T(zt(n),uc(T(ut(n),Df(cn)),(r,o)=>T(r,Yo(o,{onSuccess:(i,s)=>T(i,Zt(s)),onFailure:t}))),Df(ho),Df((r)=>qo(r)),W)},tg=(e)=>({...Lo,[wj]:Tj,state:is(Cj([])),commit(){return Zn(this)},blockingOn:e}),uo=()=>R(la,(e)=>bB(e)),bB=(e)=>Z(()=>tg(e)),Zn=(e)=>$f((t)=>{let n=io(e.state);switch(n._tag){case Of:return t(n.effect);case Xl:return n.joiners.push(t),Qne(e,t)}},e.blockingOn),DI=h(2,(e,t)=>ps(t,e)),ng=h(2,(e,t)=>Z(()=>{let n=io(e.state);switch(n._tag){case Of:return!1;case Xl:{Jo(e.state,hI(t));for(let r=0,o=n.joiners.length;r<o;r++)n.joiners[r](t);return!0}}})),MI=h(2,(e,t)=>ng(e,t));var rg=h(2,(e,t)=>ng(e,Ye(t)));var xB=(e)=>R(la,(t)=>ng(e,gx(t)));var _I=h(2,(e,t)=>ng(e,M(t)));var ld=(e,t)=>{let n=io(e.state);if(n._tag===Xl){Jo(e.state,hI(t));for(let r=0,o=n.joiners.length;r<o;r++)n.joiners[r](t)}},Qne=(e,t)=>Z(()=>{let n=io(e.state);if(n._tag===Xl){let r=n.joiners.indexOf(t);if(r>=0)n.joiners.splice(r,1)}}),Kne=Xe((e)=>wt(e.currentContext)),po=()=>Kne;var To=(e)=>R(po(),e),qr=h(2,(e,t)=>rn(lo,t)(e)),Ax=h(2,(e,t)=>Dn(lo,(n)=>Uo(n,t))(e)),Nc=h(2,(e,t)=>To((n)=>qr(e,t(n)))),zI=h(2,(e,t)=>R(e,(n)=>R(t.predicate(n),(r)=>r?M(n):t.orElse(n)))),SB=h(2,(e,t)=>zI(e,{predicate:t.predicate,orElse:(n)=>Ve(t.orFailWith(n))})),Ox=(e)=>{let t=e.currentSpan;return t!==void 0&&t._tag==="Span"?W(t):q()},Yne={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:BigInt(0),endTime:BigInt(0),exit:Ir},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},vB=(e)=>Object.assign(Object.create(Yne),e);var Xne=uu,og=Rx,jc=Xf,ere=eB,tre=AI,nre=cd,rre=tB,ore=zc,ire=Px,sre=nB,FI=Fc,NI=at,are=OI,cre=rB,jI=oB,Dx=iB,lre=sB,ure=aB,pre=cB,BI=eg,dre=Df,mre=lB,fre=uB,gre=pB,LI=pu,hre=du,ig=wt,yre=Ir;var bre=dB,xre=mB,Sre=fB,vre=gB,wre=hB,Tre=yB,qI=Yo;var Xt={};Xr(Xt,{CloseableScopeTypeId:()=>Lse,Scope:()=>VR,ScopeTypeId:()=>Bse,addFinalizer:()=>qse,addFinalizerExit:()=>Zse,close:()=>GR,extend:()=>$se,fork:()=>QR,make:()=>Wse,use:()=>Use});var wB=(e)=>!e;var TB=Gs,Mx=Lo;var Ere=wz;class Bc extends Ere{}var CB="Sequential",EB="Parallel",Ire="ParallelN",Xo={_tag:CB},sg={_tag:EB},IB=(e)=>({_tag:Ire,parallelism:e}),ZI=(e)=>e._tag===CB,$I=(e)=>e._tag===EB;var Fx=Xo,Nx=sg,jx=IB;function kB(e){return new ga(e)}function RB(){return kB(new Map)}var UI=Symbol.for("effect/FiberRefs");class ga{locals;[UI]=UI;constructor(e){this.locals=e}pipe(){return pe(this,arguments)}}var Rre=(e,t,n,r=!1)=>{let o=e,i=t,s=n,c=r,l=void 0;while(l===void 0)if(br(i)&&br(s)){let u=Gn(i)[0],p=es(i),d=Gn(s)[0],g=Gn(s)[1],f=es(s);if(u.startTimeMillis<d.startTimeMillis)s=f,c=!0;else if(u.startTimeMillis>d.startTimeMillis)i=p;else if(u.id<d.id)s=f,c=!0;else if(u.id>d.id)i=p;else l=[g,c]}else l=[o.initial,!0];return l},Bx=h(3,(e,t,n)=>{let r=new Map(e.locals);return n.locals.forEach((o,i)=>{let s=o[0][1];if(!o[0][0][ve](t)){if(!r.has(i)){if(ye(s,i.initial))return;r.set(i,[[t,i.join(i.initial,s)]]);return}let c=r.get(i),[l,u]=Rre(i,c,o);if(u){let p=i.diff(l,s),d=c[0][1],g=i.join(d,i.patch(p)(d));if(!ye(d,g)){let f,v=c[0][0];if(v[ve](t))f=[[v,g],...c.slice(1)];else f=[[t,g],...c];r.set(i,f)}}}}),new ga(r)}),HI=h(2,(e,t)=>{let n=new Map;return PB(e,n,t),new ga(n)}),PB=(e,t,n)=>{e.locals.forEach((r,o)=>{let i=r[0][1],s=o.patch(o.fork)(i);if(ye(i,s))t.set(o,r);else t.set(o,[[n,s],...r])})},AB=(e)=>Ob(e.locals.keys()),OB=(e)=>So(AB(e),(t)=>eu(t,ha(e,t))),ag=h(2,(e,t)=>{let n=new Map(e.locals);return n.delete(t),new ga(n)}),Lx=h(2,(e,t)=>{if(!e.locals.has(t))return q();return W(Gn(e.locals.get(t))[1])}),ha=h(2,(e,t)=>T(Lx(e,t),wn(()=>t.initial))),ud=h(2,(e,{fiberId:t,fiberRef:n,value:r})=>{if(e.locals.size===0)return new ga(new Map([[n,[[t,r]]]]));let o=new Map(e.locals);return WI(o,t,n,r),new ga(o)}),WI=(e,t,n,r)=>{let o=e.get(n)??[],i;if(br(o)){let[s,c]=Gn(o);if(s[ve](t))if(ye(c,r))return;else i=[[t,r],...o.slice(1)];else i=[[t,r],...o]}else i=[[t,r]];e.set(n,i)},DB=h(2,(e,{entries:t,forkAs:n})=>{if(e.locals.size===0)return new ga(new Map(t));let r=new Map(e.locals);if(n!==void 0)PB(e,r,n);return t.forEach(([o,i])=>{if(i.length===1)WI(r,i[0][0],o,i[0][1]);else i.forEach(([s,c])=>{WI(r,s,o,c)})}),new ga(r)});var VI=Lx,MB=ha,_B=Bx,zB=OB;var FB=DB;var NB=RB;var jB="Empty",BB="Add",LB="Remove",qB="Update",ZB="AndThen",$B={_tag:jB},cg=(e,t)=>{let n=new Map(e.locals),r=$B;for(let[o,i]of t.locals.entries()){let s=Gn(i)[1],c=n.get(o);if(c!==void 0){let l=Gn(c)[1];if(!ye(l,s))r=qx({_tag:qB,fiberRef:o,patch:o.diff(l,s)})(r)}else r=qx({_tag:BB,fiberRef:o,value:s})(r);n.delete(o)}for(let[o]of n.entries())r=qx({_tag:LB,fiberRef:o})(r);return r},qx=h(2,(e,t)=>({_tag:ZB,first:e,second:t})),Zx=h(3,(e,t,n)=>{let r=n,o=jr(e);while(br(o)){let i=Gn(o),s=es(o);switch(i._tag){case jB:{o=s;break}case BB:{r=ud(r,{fiberId:t,fiberRef:i.fiberRef,value:i.value}),o=s;break}case LB:{r=ag(r,i.fiberRef),o=s;break}case qB:{let c=ha(r,i.fiberRef);r=ud(r,{fiberId:t,fiberRef:i.fiberRef,value:i.fiberRef.patch(i.patch)(c)}),o=s;break}case ZB:{o=Dp(i.first)(Dp(i.second)(s));break}}}return r});var mu=cg;var fu=Zx;var Ux="effect/FiberStatus",Lc=Symbol.for(Ux),$x="Done",QI="Running",KI="Suspended",Pre=ct(`${Ux}-${$x}`);class HB{[Lc]=Lc;_tag=$x;[Te](){return Pre}[ve](e){return Wx(e)&&e._tag===$x}}class JB{runtimeFlags;[Lc]=Lc;_tag=QI;constructor(e){this.runtimeFlags=e}[Te](){return T(he(Ux),Pe(he(this._tag)),Pe(he(this.runtimeFlags)),Ze(this))}[ve](e){return Wx(e)&&e._tag===QI&&this.runtimeFlags===e.runtimeFlags}}class VB{runtimeFlags;blockingOn;[Lc]=Lc;_tag=KI;constructor(e,t){this.runtimeFlags=e,this.blockingOn=t}[Te](){return T(he(Ux),Pe(he(this._tag)),Pe(he(this.runtimeFlags)),Pe(he(this.blockingOn)),Ze(this))}[ve](e){return Wx(e)&&e._tag===KI&&this.runtimeFlags===e.runtimeFlags&&ye(this.blockingOn,e.blockingOn)}}var GB=new HB,QB=(e)=>new JB(e),KB=(e,t)=>new VB(e,t),Wx=(e)=>ue(e,Lc),YB=(e)=>e._tag===$x,XB=(e)=>e._tag===QI,eL=(e)=>e._tag===KI;var tL=GB,YI=QB,nL=KB;var Hx=YB,rL=XB,oL=eL;var Xn=Dz;var _re=_j,XI=zj,ek=Fj,tk=vI,nk=wI,rk=TI,ok=Nj,zre=jj;var Fre=T(Xn,tb((e)=>e.ordinal));var ik=HC(Fre);var sk=(e)=>{switch(e){case"All":return _re;case"Debug":return rk;case"Error":return ek;case"Fatal":return XI;case"Info":return nk;case"Trace":return ok;case"None":return zre;case"Warning":return tk}};var Nre=Symbol.for("effect/Micro"),Jx=Symbol.for("effect/Micro/MicroExit");var aL=Symbol.for("effect/Micro/MicroCause");var jre={_E:He};class lk extends globalThis.Error{_tag;traces;[aL];constructor(e,t,n){let r=`MicroCause.${e}`,o,i,s;if(t instanceof globalThis.Error){o=`(${r}) ${t.name}`,i=t.message;let c=i.split(`
23
23
  `).length;s=t.stack?`(${r}) ${t.stack.split(`
24
24
  `).slice(0,c+3).join(`
25
25
  `)}`:`${o}: ${i}`}else o=r,i=Js(t,0),s=`${o}: ${i}`;if(n.length>0)s+=`
26
26
  ${n.join(`
27
- `)}`;super(i);this._tag=e,this.traces=n,this[aL]=jre,this.name=o,this.stack=s}pipe(){return pe(this,arguments)}toString(){return this.stack}[Be](){return this.stack}}class uL extends lk{defect;constructor(e,t=[]){super("Die",e,t);this.defect=e}}var Bre=(e,t=[])=>new uL(e,t);class pL extends lk{constructor(e=[]){super("Interrupt","interrupted",e)}}var Lre=(e=[])=>new pL(e);var dL=(e)=>e._tag==="Interrupt";var cL=Symbol.for("effect/Micro/MicroFiber"),qre={_A:He,_E:He};class uk{context;interruptible;[cL];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor(e,t=!0){this.context=e,this.interruptible=t,this[cL]=qre}getRef(e){return pF(this.context,e)}addObserver(e){if(this._exit)return e(this._exit),cr;return this._observers.push(e),()=>{let t=this._observers.indexOf(e);if(t>=0)this._observers.splice(t,1)}}_interrupted=!1;unsafeInterrupt(){if(this._exit)return;if(this._interrupted=!0,this.interruptible)this.evaluate(pk)}unsafePoll(){return this._exit}evaluate(e){if(this._exit)return;else if(this._yielded!==void 0){let r=this._yielded;this._yielded=void 0,r()}let t=this.runLoop(e);if(t===pd)return;let n=lL.interruptChildren&&lL.interruptChildren(this);if(n!==void 0)return this.evaluate(gu(n,()=>t));this._exit=t;for(let r=0;r<this._observers.length;r++)this._observers[r](t);this._observers.length=0}runLoop(e){let t=!1,n=e;this.currentOpCount=0;try{while(!0){if(this.currentOpCount++,!t&&this.getRef(pg).shouldYield(this)){t=!0;let r=n;n=gu(Jre,()=>r)}if(n=n[ck](this),n===pd){let r=this._yielded;if(Jx in r)return this._yielded=void 0,r;return pd}}}catch(r){if(!ue(n,ck))return Yx(`MicroFiber.runLoop: Not a valid effect: ${String(n)}`);return Yx(r)}}getCont(e){while(!0){let t=this._stack.pop();if(!t)return;let n=t[Vx]&&t[Vx](this);if(n)return{[e]:n};if(t[e])return t}}_yielded=void 0;yieldWith(e){return this._yielded=e,pd}children(){return this._children??=new Set}}var lL=Le("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var Zre=(e)=>ug(()=>{for(let r of e)r.unsafeInterrupt();let t=e[Symbol.iterator](),n=ug(()=>{let r=t.next();while(!r.done){if(r.value.unsafePoll()){r=t.next();continue}let o=r.value;return gL((i)=>{o.addObserver((s)=>{i(n)})})}return fd});return n}),mL=Symbol.for("effect/Micro/identifier"),Dt=Symbol.for("effect/Micro/args"),ck=Symbol.for("effect/Micro/evaluate"),qc=Symbol.for("effect/Micro/successCont"),dd=Symbol.for("effect/Micro/failureCont"),Vx=Symbol.for("effect/Micro/ensureCont"),pd=Symbol.for("effect/Micro/Yield"),$re={_A:He,_E:He,_R:He},Ure={...TB,_op:"Micro",[Nre]:$re,pipe(){return pe(this,arguments)},[Symbol.iterator](){return new Ol(new Hs(this))},toJSON(){return{_id:"Micro",op:this[mL],...Dt in this?{args:this[Dt]}:void 0}},toString(){return Ge(this)},[Be](){return Ge(this)}};function Wre(e){return Yx("Micro.evaluate: Not implemented")}var Xx=(e)=>({...Ure,[mL]:e.op,[ck]:e.eval??Wre,[qc]:e.contA,[dd]:e.contE,[Vx]:e.ensure}),Zc=(e)=>{let t=Xx(e);return function(){let n=Object.create(t);return n[Dt]=e.single===!1?arguments:arguments[0],n}},fL=(e)=>{let t={...Xx(e),[Jx]:Jx,_tag:e.op,get[e.prop](){return this[Dt]},toJSON(){return{_id:"MicroExit",_tag:e.op,[e.prop]:this[Dt]}},[ve](n){return eoe(n)&&n._tag===e.op&&ye(this[Dt],n[Dt])},[Te](){return Ze(this,Pe(ct(e.op))(he(this[Dt])))}};return function(n){let r=Object.create(t);return r[Dt]=n,r[qc]=void 0,r[dd]=void 0,r[Vx]=void 0,r}},md=fL({op:"Success",prop:"value",eval(e){let t=e.getCont(qc);return t?t[qc](this[Dt],e):e.yieldWith(this)}}),Gx=fL({op:"Failure",prop:"cause",eval(e){let t=e.getCont(dd);while(dL(this[Dt])&&t&&e.interruptible)t=e.getCont(dd);return t?t[dd](this[Dt],e):e.yieldWith(this)}});var Qx=Zc({op:"Sync",eval(e){let t=this[Dt](),n=e.getCont(qc);return n?n[qc](t,e):e.yieldWith(tS(t))}}),ug=Zc({op:"Suspend",eval(e){return this[Dt]()}}),Hre=Zc({op:"Yield",eval(e){let t=!1;return e.getRef(pg).scheduleTask(()=>{if(t)return;e.evaluate(fd)},this[Dt]??0),e.yieldWith(()=>{t=!0})}}),Jre=Hre(0);var Kx=md(void 0);var eS=Zc({op:"WithMicroFiber",eval(e){return this[Dt](e)}});var Vre=Zc({op:"Async",single:!1,eval(e){let t=this[Dt][0],n=!1,r=!1,o=this[Dt][1]?new AbortController:void 0,i=t((s)=>{if(n)return;if(n=!0,r)e.evaluate(s);else r=s},o?.signal);if(r!==!1)return r;if(r=!0,e._yielded=()=>{n=!0},o===void 0&&i===void 0)return pd;return e._stack.push(Gre(()=>(n=!0,o?.abort(),i??fd))),pd}}),Gre=Zc({op:"AsyncFinalizer",ensure(e){if(e.interruptible)e.interruptible=!1,e._stack.push(mk(!0))},contE(e,t){return dL(e)?gu(this[Dt](),()=>Gx(e)):Gx(e)}}),gL=(e)=>Vre(e,e.length>=2);var Qre=h(2,(e,t)=>Xre(e,(n)=>t));var Kre=(e)=>ioe(e,{onFailure:nS,onSuccess:tS});var gu=h(2,(e,t)=>{let n=Object.create(Yre);return n[Dt]=e,n[qc]=t,n}),Yre=Xx({op:"OnSuccess",eval(e){return e._stack.push(this),this[Dt]}});var Xre=h(2,(e,t)=>gu(e,(n)=>md(t(n)))),eoe=(e)=>ue(e,Jx),tS=md,nS=Gx,pk=nS(Lre());var Yx=(e)=>nS(Bre(e));var fd=tS(void 0),toe=(e)=>{for(let t of e)if(t._tag==="Failure")return t;return fd},noe="setImmediate"in globalThis?globalThis.setImmediate:(e)=>setTimeout(e,0);class dk{tasks=[];running=!1;scheduleTask(e,t){if(this.tasks.push(e),!this.running)this.running=!0,noe(this.afterScheduled)}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let e=this.tasks;this.tasks=[];for(let t=0,n=e.length;t<n;t++)e[t]()}shouldYield(e){return e.currentOpCount>=e.getRef(yL)}flush(){while(this.tasks.length>0)this.runTasks()}}var roe=h(2,(e,t)=>eS((n)=>{let r=n.context;return n.context=t(r),soe(e,()=>(n.context=r,Kx))}));var hL=h(2,(e,t)=>roe(e,Uo(t)));class yL extends Ei()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class bL extends Ei()("effect/Micro/currentConcurrency",{defaultValue:()=>"unbounded"}){}class pg extends Ei()("effect/Micro/currentScheduler",{defaultValue:()=>new dk}){}var xL=h(2,(e,t)=>{let n=Object.create(ooe);return n[Dt]=e,n[qc]=t.onSuccess,n[dd]=t.onFailure,n}),ooe=Xx({op:"OnSuccessAndFailure",eval(e){return e._stack.push(this),this[Dt]}}),ioe=h(2,(e,t)=>xL(e,{onFailure:(n)=>Qx(()=>t.onFailure(n)),onSuccess:(n)=>Qx(()=>t.onSuccess(n))}));var ak=Symbol.for("effect/Micro/MicroScope");class SL{[ak];state={_tag:"Open",finalizers:new Set};constructor(){this[ak]=ak}unsafeAddFinalizer(e){if(this.state._tag==="Open")this.state.finalizers.add(e)}addFinalizer(e){return ug(()=>{if(this.state._tag==="Open")return this.state.finalizers.add(e),Kx;return e(this.state.exit)})}unsafeRemoveFinalizer(e){if(this.state._tag==="Open")this.state.finalizers.delete(e)}close(e){return ug(()=>{if(this.state._tag==="Open"){let t=Array.from(this.state.finalizers).reverse();return this.state={_tag:"Closed",exit:e},gu(uoe(t,(n)=>Kre(n(e))),toe)}return Kx})}get fork(){return Qx(()=>{let e=new SL;if(this.state._tag==="Closed")return e.state=this.state,e;function t(n){return e.close(n)}return this.state.finalizers.add(t),e.unsafeAddFinalizer((n)=>Qx(()=>this.unsafeRemoveFinalizer(t))),e})}}var soe=h(2,(e,t)=>coe((n)=>xL(n(e),{onFailure:(r)=>gu(t(nS(r)),()=>Gx(r)),onSuccess:(r)=>gu(t(tS(r)),()=>md(r))})));var mk=Zc({op:"SetInterruptible",ensure(e){if(e.interruptible=this[Dt],e._interrupted&&e.interruptible)return()=>pk}}),aoe=(e)=>eS((t)=>{if(t.interruptible)return e;if(t.interruptible=!0,t._stack.push(mk(!1)),t._interrupted)return pk;return e}),coe=(e)=>eS((t)=>{if(!t.interruptible)return e(He);return t.interruptible=!1,t._stack.push(mk(!0)),e(aoe)});var loe=Zc({op:"While",contA(e,t){if(this[Dt].step(e),this[Dt].while())return t._stack.push(this),this[Dt].body();return fd},eval(e){if(this[Dt].while())return e._stack.push(this),this[Dt].body();return fd}}),uoe=(e,t,n)=>eS((r)=>{let o=n?.concurrency==="inherit"?r.getRef(bL):n?.concurrency??1,i=o==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,o),s=Ne(e),c=s.length;if(c===0)return n?.discard?Kx:md([]);let l=n?.discard?void 0:Array(c),u=0;if(i===1)return Qre(loe({while:()=>u<s.length,body:()=>t(s[u],u),step:l?(p)=>l[u++]=p:(p)=>u++}),l);return gL((p)=>{let d=new Set,g=void 0,f=0,v=0,w=!1,I=!1;function A(){w=!0;while(f<i&&u<c){let L=u,N=s[L];u++,f++;try{let re=poe(r,t(N,L),!0,!0);d.add(re),re.addObserver((Ee)=>{if(d.delete(re),I)return;else if(Ee._tag==="Failure"){if(g===void 0)g=Ee,c=u,d.forEach((D)=>D.unsafeInterrupt())}else if(l!==void 0)l[L]=Ee.value;if(v++,f--,v===c)p(g??md(l));else if(!w&&f<i)A()})}catch(re){g=Yx(re),c=u,d.forEach((Ee)=>Ee.unsafeInterrupt())}}w=!1}return A(),ug(()=>(I=!0,u=c,Zre(d)))})});var poe=(e,t,n=!1,r=!1)=>{let o=new uk(e.context,e.interruptible);if(!r)e.children().add(o),o.addObserver(()=>e.children().delete(o));if(n)o.evaluate(t);else e.getRef(pg).scheduleTask(()=>o.evaluate(t),0);return o};var vL=(e,t)=>{let n=new uk(pg.context(t?.scheduler??new dk));if(n.evaluate(e),t?.signal)if(t.signal.aborted)n.unsafeInterrupt();else{let r=()=>n.unsafeInterrupt();t.signal.addEventListener("abort",r,{once:!0}),n.addObserver(()=>t.signal.removeEventListener("abort",r))}return n};var $c=Symbol.for("effect/Readable");var __e={[$c]:$c,pipe(){return pe(this,arguments)}};var rS=Symbol.for("effect/Ref"),fk={_A:(e)=>e};class TL extends Bc{ref;commit(){return this.get}[rS]=fk;[$c]=$c;constructor(e){super();this.ref=e,this.get=U(()=>io(this.ref))}get;modify(e){return U(()=>{let t=io(this.ref),[n,r]=e(t);if(t!==r)Jo(r)(this.ref);return n})}}var gd=(e)=>new TL(is(e)),hu=(e)=>U(()=>gd(e)),dr=(e)=>e.get,fs=h(2,(e,t)=>e.modify(()=>[void 0,t])),CL=h(2,(e,t)=>e.modify((n)=>[n,t]));var gk=h(2,(e,t)=>e.modify(t));var yu=h(2,(e,t)=>e.modify((n)=>[void 0,t(n)]));var iS=hu,sS=dr,EL=CL;var IL=yu;class aS{scheduleDrain;running=!1;tasks=new hk;constructor(e){this.scheduleDrain=e}starveInternal=(e)=>{let t=this.tasks.buckets;this.tasks.buckets=[];for(let[n,r]of t)for(let o=0;o<r.length;o++)r[o]();if(this.tasks.buckets.length===0)this.running=!1;else this.starve(e)};starve(e=0){this.scheduleDrain(e,this.starveInternal)}scheduleTask(e,t){if(this.tasks.scheduleTask(e,t),!this.running)this.running=!0,this.starve()}static cached(e){let t=new aS(e),n=new WeakMap;return(r)=>{if(r===void 0)return t;let o=n.get(r);if(o===void 0)o=new aS(e),n.set(r,o);return o}}}class hk{buckets=[];scheduleTask(e,t){let n=this.buckets.length,r=void 0,o=0;for(;o<n;o++)if(this.buckets[o][0]<=t)r=this.buckets[o];else break;if(r&&r[0]===t)r[1].push(e);else if(o===n)this.buckets.push([t,[e]]);else this.buckets.splice(o,0,[t,[e]])}}class RL{maxNextTickBeforeTimer;getRunner=aS.cached((e,t)=>{if(e>=this.maxNextTickBeforeTimer)setTimeout(()=>t(0),0);else Promise.resolve(void 0).then(()=>t(e+1))});constructor(e){this.maxNextTickBeforeTimer=e}shouldYield(e){return e.currentOpCount>e.getFiberRef(vx)?e.getFiberRef(da):!1}scheduleTask(e,t,n){this.getRunner(n).scheduleTask(e,t)}}var PL=Le(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new RL(2048));class yk{tasks=new hk;deferred=!1;scheduleTask(e,t,n){if(this.deferred)PL.scheduleTask(e,t,n);else this.tasks.scheduleTask(e,t)}shouldYield(e){return e.currentOpCount>e.getFiberRef(vx)?e.getFiberRef(da):!1}flush(){while(this.tasks.buckets.length>0){let e=this.tasks.buckets;this.tasks.buckets=[];for(let[t,n]of e)for(let r=0;r<n.length;r++)n[r]()}this.deferred=!0}}var ya=Le(Symbol.for("effect/FiberRef/currentScheduler"),()=>on(PL)),AL=h(2,(e,t)=>rn(e,ya,t));var moe="effect/Clock",cS=Symbol.for(moe),Zr=qn("effect/Clock"),foe=2147483647,OL={unsafeSchedule(e,t){let n=lr(t);if(n>foe)return Bn;let r=!1,o=setTimeout(()=>{r=!0,e()},n);return()=>(clearTimeout(o),!r)}},DL=function(){let e=BigInt(1e6);if(typeof performance>"u"||typeof performance.now!=="function")return()=>BigInt(Date.now())*e;let t;return()=>{if(t===void 0)t=BigInt(Date.now())*e-BigInt(Math.round(performance.now()*1e6));return t+BigInt(Math.round(performance.now()*1e6))}}(),goe=function(){let e=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!e)return DL;let t=DL()-e.bigint();return()=>t+e.bigint()}();class ML{[cS]=cS;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return goe()}currentTimeMillis=U(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=U(()=>this.unsafeCurrentTimeNanos());scheduler(){return M(OL)}sleep(e){return vr((t)=>{let n=OL.unsafeSchedule(()=>t($e),e);return Qt(U(n))})}}var lS=()=>new ML;var uS=Le(Symbol.for("effect/FiberRef/currentRequestMap"),()=>on(new Map));var Sk=(e,t,n,r)=>{switch(e){case void 0:return t();case"unbounded":return n();case"inherit":return pr(Tx,(o)=>o==="unbounded"?n():o>1?r(o):t());default:return e>1?r(e):t()}},dg=(e,t,n)=>{switch(e){case void 0:return t();case"unbounded":return n();case"inherit":return pr(Tx,(r)=>r==="unbounded"||r>1?n():t());default:return e>1?n():t()}};var _L=(e)=>e.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var vk="And",wk="Or",Tk="InvalidData",Ck="MissingData",Ek="SourceUnavailable",Ik="Unsupported";var Soe="effect/ConfigError",zL=Symbol.for(Soe),hd={_tag:"ConfigError",[zL]:zL},kk=(e,t)=>{let n=Object.create(hd);return n._op=vk,n.left=e,n.right=t,Object.defineProperty(n,"toString",{enumerable:!1,value(){return`${this.left} and ${this.right}`}}),Object.defineProperty(n,"message",{enumerable:!1,get(){return this.toString()}}),n},Rk=(e,t)=>{let n=Object.create(hd);return n._op=wk,n.left=e,n.right=t,Object.defineProperty(n,"toString",{enumerable:!1,value(){return`${this.left} or ${this.right}`}}),Object.defineProperty(n,"message",{enumerable:!1,get(){return this.toString()}}),n},voe=(e,t,n={pathDelim:"."})=>{let r=Object.create(hd);return r._op=Tk,r.path=e,r.message=t,Object.defineProperty(r,"toString",{enumerable:!1,value(){return`(Invalid data at ${T(this.path,Ks(n.pathDelim))}: "${this.message}")`}}),r},ba=(e,t,n={pathDelim:"."})=>{let r=Object.create(hd);return r._op=Ck,r.path=e,r.message=t,Object.defineProperty(r,"toString",{enumerable:!1,value(){return`(Missing data at ${T(this.path,Ks(n.pathDelim))}: "${this.message}")`}}),r},woe=(e,t,n,r={pathDelim:"."})=>{let o=Object.create(hd);return o._op=Ek,o.path=e,o.message=t,o.cause=n,Object.defineProperty(o,"toString",{enumerable:!1,value(){return`(Source unavailable at ${T(this.path,Ks(r.pathDelim))}: "${this.message}")`}}),o},Toe=(e,t,n={pathDelim:"."})=>{let r=Object.create(hd);return r._op=Ik,r.path=e,r.message=t,Object.defineProperty(r,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${T(this.path,Ks(n.pathDelim))}: "${this.message}")`}}),r};var Uc=h(2,(e,t)=>{switch(e._op){case vk:return kk(Uc(e.left,t),Uc(e.right,t));case wk:return Rk(Uc(e.left,t),Uc(e.right,t));case Tk:return voe([...t,...e.path],e.message);case Ck:return ba([...t,...e.path],e.message);case Ek:return woe([...t,...e.path],e.message,e.cause);case Ik:return Toe([...t,...e.path],e.message)}});var NL={_tag:"Empty"};var pS=h(2,(e,t)=>{let n=Sf(t),r=e;while(qE(n)){let o=n.head;switch(o._tag){case"Empty":{n=n.tail;break}case"AndThen":{n=ta(o.first,ta(o.second,n.tail));break}case"MapName":{r=ts(r,o.f),n=n.tail;break}case"Nested":{r=Dp(r,o.name),n=n.tail;break}case"Unnested":{if(T(lc(r),KC(o.name)))r=es(r),n=n.tail;else return dt(ba(r,`Expected ${o.name} to be in path in ConfigProvider#unnested`));break}}}return nt(r)});var jL="Constant",BL="Fail",LL="Fallback",qL="Described",ZL="Lazy",$L="MapOrFail",UL="Nested",WL="Primitive",HL="Sequence",JL="HashMap",VL="ZipWith";var dS=(e,t)=>[...e,...t],Ioe="effect/ConfigProvider",GL=Symbol.for(Ioe),yd=qn("effect/ConfigProvider"),koe="effect/ConfigProviderFlat",QL=Symbol.for(koe),Roe=(e)=>({[GL]:GL,pipe(){return pe(this,arguments)},...e}),Poe=(e)=>({[QL]:QL,patch:e.patch,load:(t,n,r=!0)=>e.load(t,n,r),enumerateChildren:e.enumerateChildren}),Aoe=(e)=>Roe({load:(t)=>R(ei(e,Ci(),t,!1),(n)=>vn(lc(n),{onNone:()=>Ve(ba(Ci(),`Expected a single value having structure: ${t}`)),onSome:M})),flattened:e}),KL=(e)=>{let{pathDelim:t,seqDelim:n}=Object.assign({},{pathDelim:"_",seqDelim:","},e),r=(l)=>T(l,Ks(t)),o=(l)=>l.split(t),i=()=>typeof process<"u"&&("env"in process)&&typeof process.env==="object"?process.env:{};return Aoe(Poe({load:(l,u,p=!0)=>{let d=r(l),g=i(),f=d in g?H(g[d]):Z();return T(f,Rc(()=>ba(l,`Expected ${d} to exist in the process context`)),R((v)=>zoe(v,l,u,n,p)))},enumerateChildren:(l)=>U(()=>{let u=i(),g=Object.keys(u).map((f)=>o(f.toUpperCase())).filter((f)=>{for(let v=0;v<l.length;v++){let w=T(l,eE(v)),I=f[v];if(I===void 0||w!==I)return!1}return!0}).flatMap((f)=>f.slice(l.length,l.length+1));return Ob(g)}),patch:NL}))};var Ooe=(e,t,n,r)=>{let o=iE(n.length,(l)=>l>=r.length?Z():H([e(l),l+1])),i=iE(r.length,(l)=>l>=n.length?Z():H([t(l),l+1])),s=dS(n,o),c=dS(r,i);return[s,c]},Doe=(e,t)=>{let n=t;if(n._tag==="Nested"){let r=e.slice();while(n._tag==="Nested")r.push(n.name),n=n.config;return r}return e},ei=(e,t,n,r)=>{let o=n;switch(o._tag){case jL:return M(jr(o.value));case qL:return Ae(()=>ei(e,t,o.config,r));case BL:return Ve(ba(t,o.message));case LL:return T(Ae(()=>ei(e,t,o.first,r)),Di((i)=>{if(o.condition(i))return T(ei(e,t,o.second,r),Di((s)=>Ve(Rk(i,s))));return Ve(i)}));case ZL:return Ae(()=>ei(e,t,o.config(),r));case $L:return Ae(()=>T(ei(e,t,o.original,r),R(Yn((i)=>T(o.mapOrFail(i),Rc(Uc(Doe(t,o.original))))))));case UL:return Ae(()=>ei(e,dS(t,jr(o.name)),o.config,r));case WL:return T(pS(t,e.patch),R((i)=>T(e.load(i,o,r),R((s)=>{if(s.length===0){let c=T(sb(i),wn(()=>"<n/a>"));return Ve(ba([],`Expected ${o.description} with name ${c}`))}return M(s)}))));case HL:return T(pS(t,e.patch),R((i)=>T(e.enumerateChildren(i),R(Noe),R((s)=>{if(s.length===0)return Ae(()=>X(ei(e,t,o.config,!0),jr));return T(Yn(s,(c)=>ei(e,Jz(t,`[${c}]`),o.config,!0)),X((c)=>{let l=ab(c);if(l.length===0)return jr(Ci());return jr(l)}))}))));case JL:return Ae(()=>T(pS(t,e.patch),R((i)=>T(e.enumerateChildren(i),R((s)=>T(s,Yn((c)=>ei(e,dS(i,jr(c)),o.valueConfig,r)),X((c)=>{if(c.length===0)return jr(Hl());return T(Foe(c),ts((l)=>gN(rE(Ne(s),l))))})))))));case VL:return Ae(()=>T(ei(e,t,o.left,r),Go,R((i)=>T(ei(e,t,o.right,r),Go,R((s)=>{if(tn(i)&&tn(s))return Ve(kk(i.left,s.left));if(tn(i)&&Yi(s))return Ve(i.left);if(Yi(i)&&tn(s))return Ve(s.left);if(Yi(i)&&Yi(s)){let c=T(t,Ks(".")),l=Moe(t,c),[u,p]=Ooe(l,l,T(i.right,ts(nt)),T(s.right,ts(nt)));return T(u,rE(p),Yn(([d,g])=>T(ru(d,g),X(([f,v])=>o.zip(f,v)))))}throw Error("BUG: ConfigProvider.fromFlatLoop - please report an issue at https://github.com/Effect-TS/effect/issues")})))))}},Moe=(e,t)=>(n)=>dt(ba(e,`The element at index ${n} in a sequence at path "${t}" was missing`));var _oe=(e,t)=>e.split(new RegExp(`\\s*${_L(t)}\\s*`)),zoe=(e,t,n,r,o)=>{if(!o)return T(n.parse(e),Hf({onFailure:Uc(t),onSuccess:jr}));return T(_oe(e,r),Yn((i)=>n.parse(i.trim())),Rc(Uc(t)))},Foe=(e)=>Object.keys(e[0]).map((t)=>e.map((n)=>n[t])),Noe=(e)=>T(Yn(e,Boe),Hf({onFailure:()=>Ci(),onSuccess:to(Xn)}),Go,X(jl));var joe=/^(\[(\d+)\])$/,Boe=(e)=>{let t=e.match(joe);if(t!==null){let n=t[2];return T(n!==void 0&&n.length>0?H(n):Z(),Nr(Loe))}return Z()};var Loe=(e)=>{let t=Number.parseInt(e);return Number.isNaN(t)?Z():H(t)};var bu={};Xr(bu,{Clock:()=>Dk,ClockTypeId:()=>Hoe,clockWith:()=>Ok,currentTimeMillis:()=>wa,currentTimeNanos:()=>Ak,make:()=>Joe,sleep:()=>vd});var YL=Symbol.for("effect/Console"),xa=qn("effect/Console"),XL={[YL]:YL,assert(e,...t){return U(()=>{console.assert(e,...t)})},clear:U(()=>{console.clear()}),count(e){return U(()=>{console.count(e)})},countReset(e){return U(()=>{console.countReset(e)})},debug(...e){return U(()=>{console.debug(...e)})},dir(e,t){return U(()=>{console.dir(e,t)})},dirxml(...e){return U(()=>{console.dirxml(...e)})},error(...e){return U(()=>{console.error(...e)})},group(e){return e?.collapsed?U(()=>console.groupCollapsed(e?.label)):U(()=>console.group(e?.label))},groupEnd:U(()=>{console.groupEnd()}),info(...e){return U(()=>{console.info(...e)})},log(...e){return U(()=>{console.log(...e)})},table(e,t){return U(()=>{console.table(e,t)})},time(e){return U(()=>console.time(e))},timeEnd(e){return U(()=>console.timeEnd(e))},timeLog(e,...t){return U(()=>{console.timeLog(e,...t)})},trace(...e){return U(()=>{console.trace(...e)})},warn(...e){return U(()=>{console.warn(...e)})},unsafe:console};var Zoe="effect/Random",mg=Symbol.for(Zoe),Sa=qn("effect/Random");class tq{seed;[mg]=mg;PRNG;constructor(e){this.seed=e,this.PRNG=new zC(e)}get next(){return U(()=>this.PRNG.number())}get nextBoolean(){return X(this.next,(e)=>e>0.5)}get nextInt(){return U(()=>this.PRNG.integer(Number.MAX_SAFE_INTEGER))}nextRange(e,t){return X(this.next,(n)=>(t-e)*n+e)}nextIntBetween(e,t){return U(()=>this.PRNG.integer(t-e)+e)}shuffle(e){return nq(e,(t)=>this.nextIntBetween(0,t))}}var nq=(e,t)=>Ae(()=>T(U(()=>Array.from(e)),R((n)=>{let r=[];for(let o=n.length;o>=2;o=o-1)r.push(o);return T(r,So((o)=>T(t(o),X((i)=>$oe(n,o-1,i)))),xt(Ys(n)))}))),$oe=(e,t,n)=>{let r=e[t];return e[t]=e[n],e[n]=r,e},Pk=(e)=>new tq(he(e));class rq{values;[mg]=mg;index=0;constructor(e){if(this.values=e,e.length===0)throw Error("Requires at least one value")}getNextValue(){let e=this.values[this.index];return this.index=(this.index+1)%this.values.length,e}get next(){return U(()=>{let e=this.getNextValue();if(typeof e==="number")return Math.max(0,Math.min(1,e));return he(e)/2147483647})}get nextBoolean(){return U(()=>{let e=this.getNextValue();if(typeof e==="boolean")return e;return he(e)%2===0})}get nextInt(){return U(()=>{let e=this.getNextValue();if(typeof e==="number"&&Number.isFinite(e))return Math.round(e);return Math.abs(he(e))})}nextRange(e,t){return X(this.next,(n)=>(t-e)*n+e)}nextIntBetween(e,t){return U(()=>{let n=this.getNextValue();if(typeof n==="number"&&Number.isFinite(n))return Math.max(e,Math.min(t-1,Math.round(n)));let r=Math.abs(he(n));return e+r%(t-e)})}shuffle(e){return nq(e,(t)=>this.nextIntBetween(0,t))}}var oq=(e)=>new rq(e);var sq=Symbol.for("effect/Tracer"),Uoe=(e)=>({[sq]:sq,...e}),va=qn("effect/Tracer"),kr=qn("effect/ParentSpan"),aq=function(){return function(n){let r="";for(let o=0;o<n;o++)r+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return r}}();class cq{name;parent;context;startTime;kind;_tag="Span";spanId;traceId="native";sampled=!0;status;attributes;events=[];links;constructor(e,t,n,r,o,i){this.name=e,this.parent=t,this.context=n,this.startTime=o,this.kind=i,this.status={_tag:"Started",startTime:o},this.attributes=new Map,this.traceId=t._tag==="Some"?t.value.traceId:aq(32),this.spanId=aq(16),this.links=Array.from(r)}end(e,t){this.status={_tag:"Ended",endTime:e,exit:t,startTime:this.status.startTime}}attribute(e,t){this.attributes.set(e,t)}event(e,t,n){this.events.push([e,t,n??{}])}addLinks(e){this.links.push(...e)}}var lq=Uoe({span:(e,t,n,r,o,i)=>new cq(e,t,n,r,o,i),context:(e)=>e()});var Co=(e)=>{if(e?.captureStackTrace===!1)return e;else if(e?.captureStackTrace!==void 0&&typeof e.captureStackTrace!=="boolean")return e;let t=Error.stackTraceLimit;Error.stackTraceLimit=3;let n=Error();Error.stackTraceLimit=t;let r=!1;return{...e,captureStackTrace:()=>{if(r!==!1)return r;if(n.stack!==void 0){let o=n.stack.split(`
28
- `);if(o[3]!==void 0)return r=o[3].trim(),r}}}},bd=Ei()("effect/Tracer/DisablePropagation",{defaultValue:Bn});var Woe=T(Qn(),vt(Zr,lS()),vt(xa,XL),vt(Sa,Pk(Math.random())),vt(yd,KL()),vt(va,lq)),Kt=Le(Symbol.for("effect/DefaultServices/currentServices"),()=>Sx(Woe)),uq=(e)=>{let t=Pt(e);return fg((n)=>n.sleep(t))},mS=(e)=>Xe((t)=>e(t.currentDefaultServices)),fg=(e)=>mS((t)=>e(t.unsafeMap.get(Zr.key))),pq=fg((e)=>e.currentTimeMillis),dq=fg((e)=>e.currentTimeNanos),mq=h(2,(e,t)=>Dn(Kt,vt(Zr,t))(e)),fq=h(2,(e,t)=>Dn(Kt,vt(yd,t))(e)),gq=(e)=>mS((t)=>e(t.unsafeMap.get(yd.key)));var Sd=(e)=>mS((t)=>e(t.unsafeMap.get(Sa.key))),hq=h(2,(e,t)=>Dn(Kt,vt(Sa,t))(e)),yq=Sd((e)=>e.next);var fS=(e)=>mS((t)=>e(t.unsafeMap.get(va.key))),bq=h(2,(e,t)=>Dn(Kt,vt(va,t))(e));var Hoe=cS,Joe=lS,vd=uq,wa=pq,Ak=dq,Ok=fg,Dk=Zr;var xq=(e,t)=>({label:e,startTime:t}),Mk=(e)=>e.replace(/[\s="]/g,"_"),_k=(e)=>(t)=>`${Mk(t.label)}=${e-t.startTime}ms`;var vq=xq;var wq=fS;var Tq="effect/MetricLabel",zk=Symbol.for(Tq);class Cq{key;value;[zk]=zk;_hash;constructor(e,t){this.key=e,this.value=t,this._hash=ct(Tq+this.key+this.value)}[Te](){return this._hash}[ve](e){return Qoe(e)&&this.key===e.key&&this.value===e.value}pipe(){return pe(this,arguments)}}var xu=(e,t)=>new Cq(e,t),Qoe=(e)=>ue(e,zk);var Eq=h((e)=>mt(e[0]),function(){let e=arguments;return Dn(e[0],ma,typeof e[1]==="string"?Sr(e[1],e[2]):(t)=>Object.entries(e[1]).reduce((n,[r,o])=>Sr(n,r,o),t))}),wd=(e)=>X(e,H),Iq=(e)=>Rc(e,H),Nk=(e)=>{let t,n=void 0;if(typeof e==="function")t=e;else t=e.try,n=e.catch;return Ae(()=>{try{return M(an(t))}catch(r){return Ve(n?an(()=>n(r)):new lu(r,"An unknown error occurred in Effect.try"))}})},kq=h(3,(e,t,n)=>Di(e,(r)=>{if(ue(r,t)&&r[t]===n.failure)return n.onFailure(r);return Ve(r)})),Rq=h(2,(e,t)=>us(e,(n)=>{let r=cs(n,(o)=>Gl(o)?H(o):Z());switch(r._tag){case"None":return Ye(n);case"Some":return t(r.value.defect)}})),Pq=h(2,(e,t)=>$t(e,{onFailure:(n)=>{let r=t(n);switch(r._tag){case"None":return Ye(n);case"Some":return r.value}},onSuccess:M})),Aq=h(2,(e,t)=>us(e,(n)=>{let r=cs(n,(o)=>Gl(o)?H(o):Z());switch(r._tag){case"None":return Ye(n);case"Some":{let o=t(r.value.defect);return o._tag==="Some"?o.value:Ye(n)}}})),Oq=h((e)=>mt(e[0]),(e,...t)=>{let n=t[t.length-1],r;if(t.length===2)r=ac(t[0]);else r=(o)=>{let i=ue(o,"_tag")?o._tag:void 0;if(!i)return!1;for(let s=0;s<t.length-1;s++)if(t[s]===i)return!0;return!1};return Uf(e,r,n)}),Dq=h(2,(e,t)=>{let n;return Uf(e,(r)=>(n??=Object.keys(t),ue(r,"_tag")&&Km(r._tag)&&n.includes(r._tag)),(r)=>t[r._tag](r))}),Mq=(e)=>Wf(e,{onFailure:He,onSuccess:()=>En}),gs=Ok,_q=gs(M),zq=h(2,(e,t)=>rt(vd(t),e)),yS=(e)=>Xe((t,n)=>e({id:t.id(),status:n,interruptors:Kl(t.getFiberRef(su))})),Fq=yS((e)=>ea(e.interruptors)>0?fx:$e),Nq=yS(M),Td=(e)=>bg(e,bS,cg),Koe=(e)=>bg(e,ru(bS,rd),([t,n],[r,o])=>[cg(t,r),Vo(n,o)]),jq=M({}),Bq=vp(X,R),Lq=Sp(X),qq=xp(X),Zq=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=[],o,i=M(!1),s=0;while((o=n.next())&&!o.done){let c=o.value,l=s++;i=R(i,(u)=>{if(u)return r.push(c),M(!0);return t(c,l)})}return X(i,()=>r)})),$q=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=[],o,i=M(!0),s=0;while((o=n.next())&&!o.done){let c=o.value,l=s++;i=R(i,(u)=>X(u?t(c,l):M(!1),(p)=>{if(!p)r.push(c);return p}))}return X(i,()=>r)})),Uq=(e)=>X(po(),e),jk=(e)=>tu(e,()=>R(ms(),()=>jk(e))),Wq=h(2,(e,t)=>X(Yn(e,He),Mp(t))),Hq=h(3,(e,t,n)=>gg(e,t,(r)=>xo(()=>n(r)))),Jq=h(3,(e,t,n)=>gg(e,t,()=>Ec(n))),gg=h(3,(e,t,n)=>R(e,(r)=>t(r)?M(r):n(r))),Vq=h(3,(e,t,n)=>Ae(()=>t(e)?M(e):Ve(n(e)))),Gq=h((e)=>mt(e[0]),(e,t,n)=>gg(e,t,(r)=>n===void 0?Ve(new Er):Qo(()=>n(r)))),Qq=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=n.next();if(!r.done)return Kq(n,0,t,r.value);return M(Z())})),Kq=(e,t,n,r)=>R(n(r,t),(o)=>{if(o)return M(H(r));let i=e.next();if(!i.done)return Kq(e,t+1,n,i.value);return M(Z())}),Yq=(e)=>Ae(()=>{let t=Ys(e);if(!_t(t))return xo(()=>new Ko("Received an empty collection of effects"));return T(zt(t),uc(ut(t),(n,r)=>tu(n,()=>r)))}),Xq=h(2,(e,t)=>kc(t(kc(e)))),hg=h(2,(e,t)=>On(e,{onFailure:(n)=>M(t.onFailure(n)),onSuccess:(n)=>M(t.onSuccess(n))})),e1=h(2,(e,t)=>Ae(()=>t1(e[Symbol.iterator](),0,t))),t1=(e,t,n)=>{let r=e.next();return r.done?M(!0):R(n(r.value,t),(o)=>o?t1(e,t+1,n):M(o))},Bk=(e)=>{let t=R(R(e,()=>ms()),()=>t);return t},bS=Xe((e)=>M(e.getFiberRefs())),n1=(e)=>R(e,(t)=>{let r=t[Symbol.iterator]().next();if(r.done)return Ve(new Er);return M(r.value)}),xS=(e)=>hg(e,{onFailure:cr,onSuccess:cr}),r1=(e)=>$t(e,{onFailure:(t)=>qk(t,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>$e}),o1=(e)=>vS((t,n)=>_B(n,t,e)),i1=(e)=>hg(e,{onFailure:Qi,onSuccess:Bn}),s1=(e)=>hg(e,{onFailure:Bn,onSuccess:Qi}),Lk=(e,t)=>Ae(()=>{if(t.while(e))return R(t.body(e),(n)=>Lk(n,t));return M(e)}),Ta=(e)=>(...t)=>{let n=eo(e),r=void 0;for(let o=0,i=t.length;o<i;o++){let s=t[o];if(kf(s)){if(r!==void 0)r=wt(r,s);else r=s;t=[...t.slice(0,o),...t.slice(o+1)],o--}}if(r===void 0)r=En;return Xe((o)=>(o.log(t,r,n),$e))},a1=Ta(),c1=Ta(ok),qk=Ta(rk),l1=Ta(nk),u1=Ta(tk),p1=Ta(ek),d1=Ta(XI),m1=h(2,(e,t)=>R(wa,(n)=>Dn(e,wx,Ub(vq(t,n))))),f1=vo(ma),g1=(e,t)=>t.discard?y1(e,t.while,t.step,t.body):X(h1(e,t.while,t.step,t.body),Ne),h1=(e,t,n,r)=>Ae(()=>t(e)?R(r(e),(o)=>X(h1(n(e),t,n,r),Ub(o))):U(()=>as())),y1=(e,t,n,r)=>Ae(()=>t(e)?R(r(e),()=>y1(n(e),t,n,r)):$e),b1=h(3,(e,t,n)=>Ae(()=>{let r=e[Symbol.iterator](),o=[],i=M(t),s,c=0;while(!(s=r.next()).done){let l=c++,u=s.value;i=R(i,(p)=>X(n(p,u,l),([d,g])=>(o.push(g),d)))}return X(i,(l)=>[l,o])})),Cd=h(2,(e,t)=>$t(e,{onFailure:(n)=>ca(()=>t(n)),onSuccess:M})),SS=(e)=>T(uo(),R((t)=>T(Koe(e),ps(t),Zk,X((n)=>rt(n,T(Zn(t),R(([r,o])=>xt(ru(Su(r[0]),Pc(r[1])),o)))))))),x1=(e)=>On(e,{onFailure:(t)=>M(t),onSuccess:M}),yg=(e)=>X(e,(t)=>!t),S1=(e)=>R(e,(t)=>{switch(t._tag){case"None":return $e;case"Some":return Ve(new Er)}}),Zk=(e)=>X(iS(!0),(t)=>Qt(od(e,EL(t,!1)))),v1=(e)=>On(e,{onFailure:()=>M(Z()),onSuccess:(t)=>M(H(t))}),w1=h(2,(e,t)=>tu(e,()=>Qo(t))),T1=h(2,(e,t)=>tu(e,()=>U(t))),C1=(e)=>$t(e,{onFailure:(t)=>{let n=Ne(Qp(t));return n.length===0?Ye(t):Ve(n)},onSuccess:M}),Su=(e)=>vS((t,n)=>T(e,Zx(t,n))),E1=(e)=>e.length>=1?vr((t,n)=>{try{e(n).then((r)=>t(M(r)),(r)=>t(ur(r)))}catch(r){t(ur(r))}}):vr((t)=>{try{e().then((n)=>t(M(n)),(n)=>t(ur(n)))}catch(n){t(ur(n))}}),Hc=h(3,(e,t,n)=>To((r)=>qr(e,vt(r,t,n)))),Jc=h(3,(e,t,n)=>To((r)=>R(n,(o)=>qr(e,T(r,vt(t,o)))))),I1=Sd(M),k1=h(3,(e,t,n)=>Ne(e).reduce((r,o,i)=>R(r,(s)=>n(s,o,i)),M(t))),R1=h(3,(e,t,n)=>Ne(e).reduceRight((r,o,i)=>R(r,(s)=>n(o,s,i)),M(t))),P1=h(3,(e,t,n)=>R(U(()=>e[Symbol.iterator]()),(r)=>A1(r,0,t,n.while,n.body))),A1=(e,t,n,r,o)=>{let i=e.next();if(!i.done&&r(n))return R(o(n,i.value,t),(s)=>A1(e,t+1,s,r,o));return M(n)},O1=h(2,(e,t)=>Ae(()=>D1(e,t))),D1=(e,t)=>R(e,(n)=>t<=0?M(n):rt(ms(),D1(e,t-1))),M1=(e)=>$t(e,{onFailure:Ve,onSuccess:M}),_1=(e)=>Ae(()=>zB(e)),vu=vd,wu=M(Z()),z1=(e)=>M(H(e)),bg=h(3,(e,t,n)=>R(t,(r)=>R(e,(o)=>X(t,(i)=>[n(r,i),o])))),F1=h((e)=>mt(e[0]),function(){return $k(arguments[0],typeof arguments[1]==="string"?[xu(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([e,t])=>xu(e,t)))}),$k=h(2,(e,t)=>Dn(e,fa,(n)=>Ti(n,t))),N1=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=[],o,i=M(!1),s=0;while((o=n.next())&&!o.done){let c=o.value,l=s++;i=R(i,(u)=>{if(u)return M(!0);return r.push(c),t(c,l)})}return X(i,()=>r)})),j1=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=[],o,i=M(!0),s=0;while((o=n.next())&&!o.done){let c=o.value,l=s++;i=R(i,(u)=>T(u?t(c,l):M(!1),X((p)=>{if(p)r.push(c);return p})))}return X(i,()=>r)})),B1=h(2,(e,{onFailure:t,onSuccess:n})=>$t(e,{onFailure:(r)=>{let o=Ai(r);switch(o._tag){case"Left":return rt(t(o.left),Ye(r));case"Right":return Ye(r)}},onSuccess:(r)=>xt(n(r),r)})),L1=h(2,(e,t)=>us(e,(n)=>vn(ix(n),{onNone:()=>Ye(n),onSome:(r)=>rt(t(r),Ye(n))}))),Uk=h(2,(e,t)=>$t(e,{onFailure:(n)=>{let r=Ai(n);switch(r._tag){case"Left":return rt(t(r.left),Ye(n));case"Right":return Ye(n)}},onSuccess:M})),q1=h(3,(e,t,n)=>Uk(e,(r)=>{if(ac(r,t))return n(r);return $e})),Z1=h(2,(e,t)=>$t(e,{onFailure:(n)=>rt(t(n),Ye(n)),onSuccess:M})),$1=(e)=>Wk(e,Ak),Wk=h(2,(e,t)=>bg(e,t,(n,r)=>mf(r-n))),Yoe=wq,U1=Yoe(M),Hk=(e)=>{let t,n=void 0;if(typeof e==="function")t=e;else t=e.try,n=e.catch;let r=(o)=>n?Qo(()=>n(o)):Ve(new lu(o,"An unknown error occurred in Effect.tryPromise"));if(t.length>=1)return vr((o,i)=>{try{t(i).then((s)=>o(M(s)),(s)=>o(r(s)))}catch(s){o(r(s))}});return vr((o)=>{try{t().then((i)=>o(M(i)),(i)=>o(r(i)))}catch(i){o(r(i))}})},W1=h(2,(e,t)=>R(e,(n)=>Nk({try:()=>t.try(n),catch:t.catch}))),H1=h(2,(e,t)=>R(e,(n)=>Hk({try:t.try.length>=1?(r)=>t.try(n,r):()=>t.try(n),catch:t.catch}))),J1=h(2,(e,t)=>Ae(()=>t()?wu:wd(e))),V1=h(2,(e,t)=>R(t,(n)=>n?wu:wd(e))),G1=(e)=>Cd(e,sx),vS=(e)=>Xe((t)=>(t.setFiberRefs(e(t.id(),t.getFiberRefs())),$e)),Q1=h(3,(e,t,n)=>Nc(e,(r)=>vt(r,t,n($o(r,t))))),wS=h(2,(e,t)=>Ae(()=>t()?X(e,H):M(Z()))),K1=h(3,(e,t,n)=>R(vo(t),(r)=>n(r)?X(e,(o)=>[r,H(o)]):M([r,Z()]))),Y1=h(3,(e,t,n)=>R(sS(t),(r)=>n(r)?X(e,(o)=>[r,H(o)]):M([r,Z()]))),X1=h(2,(e,t)=>t(e)),eZ=(e,t)=>(...n)=>R(e,(r)=>t(r)(...n)),tZ=(e,t)=>(...n)=>X(e,(r)=>t(r)(...n)),Jk=(e)=>new Proxy({},{get(t,n,r){return(...o)=>R(e,(i)=>i[n](...o))}}),Vk=(e)=>new Proxy({},{get(t,n,r){return R(e,(o)=>mt(o[n])?o[n]:M(o[n]))}}),nZ=(e)=>({functions:Jk(e),constants:Vk(e)}),rZ=(e)=>X(po(),bo(e)),Gk=(e)=>R(po(),bo(e)),oZ=function(){let e=arguments;return xS(R(Kk,(t)=>U(()=>{if(typeof e[0]==="string")t.attribute(e[0],e[1]);else for(let n in e[0])t.attribute(n,e[0][n])})))},iZ=function(){let e=arguments,t=Array.isArray(e[0])?e[0]:[{_tag:"SpanLink",span:e[0],attributes:e[1]??{}}];return xS(R(Qk,(n)=>U(()=>n.addLinks(t))))},sZ=h((e)=>mt(e[0]),function(){let e=arguments;return Dn(e[0],sd,typeof e[1]==="string"?Sr(e[1],e[2]):(t)=>Object.entries(e[1]).reduce((n,[r,o])=>Sr(n,r,o),t))}),aZ=Gk(kr),Qk=R(po(),(e)=>{let t=e.unsafeMap.get(kr.key);return t!==void 0&&t._tag==="Span"?M(t):Ve(new Er)}),Kk=R(po(),(e)=>{let t=xg(bo(e,kr));return t._tag==="Some"&&t.value._tag==="Span"?M(t.value):Ve(new Er)}),cZ=h((e)=>mt(e[0]),(e,t,n)=>Dn(e,Ex,zp({_tag:"SpanLink",span:t,attributes:n??{}}))),lZ=BigInt(0),xg=Nr((e)=>Pn(e.context,bd)?e._tag==="Span"?xg(e.parent):Z():H(e)),TS=(e,t,n)=>{let r=!e.getFiberRef(Gf)||n.context&&Pn(n.context,bd),o=e.getFiberRef(lo),i=n.parent?H(n.parent):n.root?Z():xg(bo(o,kr)),s;if(r)s=vB({name:t,parent:i,context:vt(n.context??Qn(),bd,!0)});else{let c=e.getFiberRef(Kt),l=Pn(c,va),u=Pn(c,Dk),p=e.getFiberRef(Mc),d=e.getFiberRefs(),g=VI(d,sd),f=VI(d,Ex),v=f._tag==="Some"?n.links!==void 0?[...qo(f.value),...n.links??[]]:qo(f.value):n.links??Ci();if(s=l.span(t,i,n.context??Qn(),v,p?u.unsafeCurrentTimeNanos():lZ,n.kind??"internal",n),g._tag==="Some")SN(g.value,(w,I)=>s.attribute(I,w));if(n.attributes!==void 0)Object.entries(n.attributes).forEach(([w,I])=>s.attribute(w,I))}if(typeof n.captureStackTrace==="function")Af.set(s,n.captureStackTrace);return s},uZ=(e,t)=>(t=Co(t),Xe((n)=>M(TS(n,e,t)))),pZ=vo(sd),dZ=vo(Ex),Yk=(e,t,n,r)=>U(()=>{if(e.status._tag==="Ended")return;if(Rx(t)&&Af.has(e))e.attribute("code.stacktrace",Af.get(e)());e.end(r?n.unsafeCurrentTimeNanos():lZ,t)}),gS=(e,...t)=>{let n=Co(t.length===1?void 0:t[0]),r=t[t.length-1];return Xe((o)=>{let i=TS(o,e,n),s=o.getFiberRef(Mc),c=Pn(o.getFiberRef(Kt),Zr);return Br(r(i),(l)=>Yk(i,l,c,s))})},hS=h(2,(e,t)=>Hc(e,kr,t)),Xk=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],n=Co(e?arguments[2]:arguments[1]);if(e){let r=arguments[0];return gS(t,n,(o)=>hS(r,o))}return(r)=>gS(t,n,(o)=>hS(r,o))},mZ=(e)=>function(){let t=e.captureStackTrace??!1;if(e.captureStackTrace!==!1){let n=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=Error();Error.stackTraceLimit=n;let o=!1;t=()=>{if(o!==!1)return o;if(r.stack)return o=r.stack.trim().split(`
27
+ `)}`;super(i);this._tag=e,this.traces=n,this[aL]=jre,this.name=o,this.stack=s}pipe(){return pe(this,arguments)}toString(){return this.stack}[Be](){return this.stack}}class uL extends lk{defect;constructor(e,t=[]){super("Die",e,t);this.defect=e}}var Bre=(e,t=[])=>new uL(e,t);class pL extends lk{constructor(e=[]){super("Interrupt","interrupted",e)}}var Lre=(e=[])=>new pL(e);var dL=(e)=>e._tag==="Interrupt";var cL=Symbol.for("effect/Micro/MicroFiber"),qre={_A:He,_E:He};class uk{context;interruptible;[cL];_stack=[];_observers=[];_exit;_children;currentOpCount=0;constructor(e,t=!0){this.context=e,this.interruptible=t,this[cL]=qre}getRef(e){return pF(this.context,e)}addObserver(e){if(this._exit)return e(this._exit),cr;return this._observers.push(e),()=>{let t=this._observers.indexOf(e);if(t>=0)this._observers.splice(t,1)}}_interrupted=!1;unsafeInterrupt(){if(this._exit)return;if(this._interrupted=!0,this.interruptible)this.evaluate(pk)}unsafePoll(){return this._exit}evaluate(e){if(this._exit)return;else if(this._yielded!==void 0){let r=this._yielded;this._yielded=void 0,r()}let t=this.runLoop(e);if(t===pd)return;let n=lL.interruptChildren&&lL.interruptChildren(this);if(n!==void 0)return this.evaluate(gu(n,()=>t));this._exit=t;for(let r=0;r<this._observers.length;r++)this._observers[r](t);this._observers.length=0}runLoop(e){let t=!1,n=e;this.currentOpCount=0;try{while(!0){if(this.currentOpCount++,!t&&this.getRef(pg).shouldYield(this)){t=!0;let r=n;n=gu(Jre,()=>r)}if(n=n[ck](this),n===pd){let r=this._yielded;if(Jx in r)return this._yielded=void 0,r;return pd}}}catch(r){if(!ue(n,ck))return Yx(`MicroFiber.runLoop: Not a valid effect: ${String(n)}`);return Yx(r)}}getCont(e){while(!0){let t=this._stack.pop();if(!t)return;let n=t[Vx]&&t[Vx](this);if(n)return{[e]:n};if(t[e])return t}}_yielded=void 0;yieldWith(e){return this._yielded=e,pd}children(){return this._children??=new Set}}var lL=Le("effect/Micro/fiberMiddleware",()=>({interruptChildren:void 0}));var Zre=(e)=>ug(()=>{for(let r of e)r.unsafeInterrupt();let t=e[Symbol.iterator](),n=ug(()=>{let r=t.next();while(!r.done){if(r.value.unsafePoll()){r=t.next();continue}let o=r.value;return gL((i)=>{o.addObserver((s)=>{i(n)})})}return fd});return n}),mL=Symbol.for("effect/Micro/identifier"),Dt=Symbol.for("effect/Micro/args"),ck=Symbol.for("effect/Micro/evaluate"),qc=Symbol.for("effect/Micro/successCont"),dd=Symbol.for("effect/Micro/failureCont"),Vx=Symbol.for("effect/Micro/ensureCont"),pd=Symbol.for("effect/Micro/Yield"),$re={_A:He,_E:He,_R:He},Ure={...TB,_op:"Micro",[Nre]:$re,pipe(){return pe(this,arguments)},[Symbol.iterator](){return new Ol(new Hs(this))},toJSON(){return{_id:"Micro",op:this[mL],...Dt in this?{args:this[Dt]}:void 0}},toString(){return Ge(this)},[Be](){return Ge(this)}};function Wre(e){return Yx("Micro.evaluate: Not implemented")}var Xx=(e)=>({...Ure,[mL]:e.op,[ck]:e.eval??Wre,[qc]:e.contA,[dd]:e.contE,[Vx]:e.ensure}),Zc=(e)=>{let t=Xx(e);return function(){let n=Object.create(t);return n[Dt]=e.single===!1?arguments:arguments[0],n}},fL=(e)=>{let t={...Xx(e),[Jx]:Jx,_tag:e.op,get[e.prop](){return this[Dt]},toJSON(){return{_id:"MicroExit",_tag:e.op,[e.prop]:this[Dt]}},[ve](n){return eoe(n)&&n._tag===e.op&&ye(this[Dt],n[Dt])},[Te](){return Ze(this,Pe(ct(e.op))(he(this[Dt])))}};return function(n){let r=Object.create(t);return r[Dt]=n,r[qc]=void 0,r[dd]=void 0,r[Vx]=void 0,r}},md=fL({op:"Success",prop:"value",eval(e){let t=e.getCont(qc);return t?t[qc](this[Dt],e):e.yieldWith(this)}}),Gx=fL({op:"Failure",prop:"cause",eval(e){let t=e.getCont(dd);while(dL(this[Dt])&&t&&e.interruptible)t=e.getCont(dd);return t?t[dd](this[Dt],e):e.yieldWith(this)}});var Qx=Zc({op:"Sync",eval(e){let t=this[Dt](),n=e.getCont(qc);return n?n[qc](t,e):e.yieldWith(tS(t))}}),ug=Zc({op:"Suspend",eval(e){return this[Dt]()}}),Hre=Zc({op:"Yield",eval(e){let t=!1;return e.getRef(pg).scheduleTask(()=>{if(t)return;e.evaluate(fd)},this[Dt]??0),e.yieldWith(()=>{t=!0})}}),Jre=Hre(0);var Kx=md(void 0);var eS=Zc({op:"WithMicroFiber",eval(e){return this[Dt](e)}});var Vre=Zc({op:"Async",single:!1,eval(e){let t=this[Dt][0],n=!1,r=!1,o=this[Dt][1]?new AbortController:void 0,i=t((s)=>{if(n)return;if(n=!0,r)e.evaluate(s);else r=s},o?.signal);if(r!==!1)return r;if(r=!0,e._yielded=()=>{n=!0},o===void 0&&i===void 0)return pd;return e._stack.push(Gre(()=>(n=!0,o?.abort(),i??fd))),pd}}),Gre=Zc({op:"AsyncFinalizer",ensure(e){if(e.interruptible)e.interruptible=!1,e._stack.push(mk(!0))},contE(e,t){return dL(e)?gu(this[Dt](),()=>Gx(e)):Gx(e)}}),gL=(e)=>Vre(e,e.length>=2);var Qre=h(2,(e,t)=>Xre(e,(n)=>t));var Kre=(e)=>ioe(e,{onFailure:nS,onSuccess:tS});var gu=h(2,(e,t)=>{let n=Object.create(Yre);return n[Dt]=e,n[qc]=t,n}),Yre=Xx({op:"OnSuccess",eval(e){return e._stack.push(this),this[Dt]}});var Xre=h(2,(e,t)=>gu(e,(n)=>md(t(n)))),eoe=(e)=>ue(e,Jx),tS=md,nS=Gx,pk=nS(Lre());var Yx=(e)=>nS(Bre(e));var fd=tS(void 0),toe=(e)=>{for(let t of e)if(t._tag==="Failure")return t;return fd},noe="setImmediate"in globalThis?globalThis.setImmediate:(e)=>setTimeout(e,0);class dk{tasks=[];running=!1;scheduleTask(e,t){if(this.tasks.push(e),!this.running)this.running=!0,noe(this.afterScheduled)}afterScheduled=()=>{this.running=!1,this.runTasks()};runTasks(){let e=this.tasks;this.tasks=[];for(let t=0,n=e.length;t<n;t++)e[t]()}shouldYield(e){return e.currentOpCount>=e.getRef(yL)}flush(){while(this.tasks.length>0)this.runTasks()}}var roe=h(2,(e,t)=>eS((n)=>{let r=n.context;return n.context=t(r),soe(e,()=>(n.context=r,Kx))}));var hL=h(2,(e,t)=>roe(e,Uo(t)));class yL extends Ei()("effect/Micro/currentMaxOpsBeforeYield",{defaultValue:()=>2048}){}class bL extends Ei()("effect/Micro/currentConcurrency",{defaultValue:()=>"unbounded"}){}class pg extends Ei()("effect/Micro/currentScheduler",{defaultValue:()=>new dk}){}var xL=h(2,(e,t)=>{let n=Object.create(ooe);return n[Dt]=e,n[qc]=t.onSuccess,n[dd]=t.onFailure,n}),ooe=Xx({op:"OnSuccessAndFailure",eval(e){return e._stack.push(this),this[Dt]}}),ioe=h(2,(e,t)=>xL(e,{onFailure:(n)=>Qx(()=>t.onFailure(n)),onSuccess:(n)=>Qx(()=>t.onSuccess(n))}));var ak=Symbol.for("effect/Micro/MicroScope");class SL{[ak];state={_tag:"Open",finalizers:new Set};constructor(){this[ak]=ak}unsafeAddFinalizer(e){if(this.state._tag==="Open")this.state.finalizers.add(e)}addFinalizer(e){return ug(()=>{if(this.state._tag==="Open")return this.state.finalizers.add(e),Kx;return e(this.state.exit)})}unsafeRemoveFinalizer(e){if(this.state._tag==="Open")this.state.finalizers.delete(e)}close(e){return ug(()=>{if(this.state._tag==="Open"){let t=Array.from(this.state.finalizers).reverse();return this.state={_tag:"Closed",exit:e},gu(uoe(t,(n)=>Kre(n(e))),toe)}return Kx})}get fork(){return Qx(()=>{let e=new SL;if(this.state._tag==="Closed")return e.state=this.state,e;function t(n){return e.close(n)}return this.state.finalizers.add(t),e.unsafeAddFinalizer((n)=>Qx(()=>this.unsafeRemoveFinalizer(t))),e})}}var soe=h(2,(e,t)=>coe((n)=>xL(n(e),{onFailure:(r)=>gu(t(nS(r)),()=>Gx(r)),onSuccess:(r)=>gu(t(tS(r)),()=>md(r))})));var mk=Zc({op:"SetInterruptible",ensure(e){if(e.interruptible=this[Dt],e._interrupted&&e.interruptible)return()=>pk}}),aoe=(e)=>eS((t)=>{if(t.interruptible)return e;if(t.interruptible=!0,t._stack.push(mk(!1)),t._interrupted)return pk;return e}),coe=(e)=>eS((t)=>{if(!t.interruptible)return e(He);return t.interruptible=!1,t._stack.push(mk(!0)),e(aoe)});var loe=Zc({op:"While",contA(e,t){if(this[Dt].step(e),this[Dt].while())return t._stack.push(this),this[Dt].body();return fd},eval(e){if(this[Dt].while())return e._stack.push(this),this[Dt].body();return fd}}),uoe=(e,t,n)=>eS((r)=>{let o=n?.concurrency==="inherit"?r.getRef(bL):n?.concurrency??1,i=o==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,o),s=Fe(e),c=s.length;if(c===0)return n?.discard?Kx:md([]);let l=n?.discard?void 0:Array(c),u=0;if(i===1)return Qre(loe({while:()=>u<s.length,body:()=>t(s[u],u),step:l?(p)=>l[u++]=p:(p)=>u++}),l);return gL((p)=>{let d=new Set,g=void 0,f=0,v=0,w=!1,I=!1;function A(){w=!0;while(f<i&&u<c){let L=u,N=s[L];u++,f++;try{let re=poe(r,t(N,L),!0,!0);d.add(re),re.addObserver((Ee)=>{if(d.delete(re),I)return;else if(Ee._tag==="Failure"){if(g===void 0)g=Ee,c=u,d.forEach((D)=>D.unsafeInterrupt())}else if(l!==void 0)l[L]=Ee.value;if(v++,f--,v===c)p(g??md(l));else if(!w&&f<i)A()})}catch(re){g=Yx(re),c=u,d.forEach((Ee)=>Ee.unsafeInterrupt())}}w=!1}return A(),ug(()=>(I=!0,u=c,Zre(d)))})});var poe=(e,t,n=!1,r=!1)=>{let o=new uk(e.context,e.interruptible);if(!r)e.children().add(o),o.addObserver(()=>e.children().delete(o));if(n)o.evaluate(t);else e.getRef(pg).scheduleTask(()=>o.evaluate(t),0);return o};var vL=(e,t)=>{let n=new uk(pg.context(t?.scheduler??new dk));if(n.evaluate(e),t?.signal)if(t.signal.aborted)n.unsafeInterrupt();else{let r=()=>n.unsafeInterrupt();t.signal.addEventListener("abort",r,{once:!0}),n.addObserver(()=>t.signal.removeEventListener("abort",r))}return n};var $c=Symbol.for("effect/Readable");var __e={[$c]:$c,pipe(){return pe(this,arguments)}};var rS=Symbol.for("effect/Ref"),fk={_A:(e)=>e};class TL extends Bc{ref;commit(){return this.get}[rS]=fk;[$c]=$c;constructor(e){super();this.ref=e,this.get=Z(()=>io(this.ref))}get;modify(e){return Z(()=>{let t=io(this.ref),[n,r]=e(t);if(t!==r)Jo(r)(this.ref);return n})}}var gd=(e)=>new TL(is(e)),hu=(e)=>Z(()=>gd(e)),dr=(e)=>e.get,fs=h(2,(e,t)=>e.modify(()=>[void 0,t])),CL=h(2,(e,t)=>e.modify((n)=>[n,t]));var gk=h(2,(e,t)=>e.modify(t));var yu=h(2,(e,t)=>e.modify((n)=>[void 0,t(n)]));var iS=hu,sS=dr,EL=CL;var IL=yu;class aS{scheduleDrain;running=!1;tasks=new hk;constructor(e){this.scheduleDrain=e}starveInternal=(e)=>{let t=this.tasks.buckets;this.tasks.buckets=[];for(let[n,r]of t)for(let o=0;o<r.length;o++)r[o]();if(this.tasks.buckets.length===0)this.running=!1;else this.starve(e)};starve(e=0){this.scheduleDrain(e,this.starveInternal)}scheduleTask(e,t){if(this.tasks.scheduleTask(e,t),!this.running)this.running=!0,this.starve()}static cached(e){let t=new aS(e),n=new WeakMap;return(r)=>{if(r===void 0)return t;let o=n.get(r);if(o===void 0)o=new aS(e),n.set(r,o);return o}}}class hk{buckets=[];scheduleTask(e,t){let n=this.buckets.length,r=void 0,o=0;for(;o<n;o++)if(this.buckets[o][0]<=t)r=this.buckets[o];else break;if(r&&r[0]===t)r[1].push(e);else if(o===n)this.buckets.push([t,[e]]);else this.buckets.splice(o,0,[t,[e]])}}class RL{maxNextTickBeforeTimer;getRunner=aS.cached((e,t)=>{if(e>=this.maxNextTickBeforeTimer)setTimeout(()=>t(0),0);else Promise.resolve(void 0).then(()=>t(e+1))});constructor(e){this.maxNextTickBeforeTimer=e}shouldYield(e){return e.currentOpCount>e.getFiberRef(vx)?e.getFiberRef(da):!1}scheduleTask(e,t,n){this.getRunner(n).scheduleTask(e,t)}}var PL=Le(Symbol.for("effect/Scheduler/defaultScheduler"),()=>new RL(2048));class yk{tasks=new hk;deferred=!1;scheduleTask(e,t,n){if(this.deferred)PL.scheduleTask(e,t,n);else this.tasks.scheduleTask(e,t)}shouldYield(e){return e.currentOpCount>e.getFiberRef(vx)?e.getFiberRef(da):!1}flush(){while(this.tasks.buckets.length>0){let e=this.tasks.buckets;this.tasks.buckets=[];for(let[t,n]of e)for(let r=0;r<n.length;r++)n[r]()}this.deferred=!0}}var ya=Le(Symbol.for("effect/FiberRef/currentScheduler"),()=>on(PL)),AL=h(2,(e,t)=>rn(e,ya,t));var moe="effect/Clock",cS=Symbol.for(moe),Zr=qn("effect/Clock"),foe=2147483647,OL={unsafeSchedule(e,t){let n=lr(t);if(n>foe)return Bn;let r=!1,o=setTimeout(()=>{r=!0,e()},n);return()=>(clearTimeout(o),!r)}},DL=function(){let e=BigInt(1e6);if(typeof performance>"u"||typeof performance.now!=="function")return()=>BigInt(Date.now())*e;let t;return()=>{if(t===void 0)t=BigInt(Date.now())*e-BigInt(Math.round(performance.now()*1e6));return t+BigInt(Math.round(performance.now()*1e6))}}(),goe=function(){let e=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!e)return DL;let t=DL()-e.bigint();return()=>t+e.bigint()}();class ML{[cS]=cS;unsafeCurrentTimeMillis(){return Date.now()}unsafeCurrentTimeNanos(){return goe()}currentTimeMillis=Z(()=>this.unsafeCurrentTimeMillis());currentTimeNanos=Z(()=>this.unsafeCurrentTimeNanos());scheduler(){return M(OL)}sleep(e){return vr((t)=>{let n=OL.unsafeSchedule(()=>t($e),e);return Qt(Z(n))})}}var lS=()=>new ML;var uS=Le(Symbol.for("effect/FiberRef/currentRequestMap"),()=>on(new Map));var Sk=(e,t,n,r)=>{switch(e){case void 0:return t();case"unbounded":return n();case"inherit":return pr(Tx,(o)=>o==="unbounded"?n():o>1?r(o):t());default:return e>1?r(e):t()}},dg=(e,t,n)=>{switch(e){case void 0:return t();case"unbounded":return n();case"inherit":return pr(Tx,(r)=>r==="unbounded"||r>1?n():t());default:return e>1?n():t()}};var _L=(e)=>e.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");var vk="And",wk="Or",Tk="InvalidData",Ck="MissingData",Ek="SourceUnavailable",Ik="Unsupported";var Soe="effect/ConfigError",zL=Symbol.for(Soe),hd={_tag:"ConfigError",[zL]:zL},kk=(e,t)=>{let n=Object.create(hd);return n._op=vk,n.left=e,n.right=t,Object.defineProperty(n,"toString",{enumerable:!1,value(){return`${this.left} and ${this.right}`}}),Object.defineProperty(n,"message",{enumerable:!1,get(){return this.toString()}}),n},Rk=(e,t)=>{let n=Object.create(hd);return n._op=wk,n.left=e,n.right=t,Object.defineProperty(n,"toString",{enumerable:!1,value(){return`${this.left} or ${this.right}`}}),Object.defineProperty(n,"message",{enumerable:!1,get(){return this.toString()}}),n},voe=(e,t,n={pathDelim:"."})=>{let r=Object.create(hd);return r._op=Tk,r.path=e,r.message=t,Object.defineProperty(r,"toString",{enumerable:!1,value(){return`(Invalid data at ${T(this.path,Ks(n.pathDelim))}: "${this.message}")`}}),r},ba=(e,t,n={pathDelim:"."})=>{let r=Object.create(hd);return r._op=Ck,r.path=e,r.message=t,Object.defineProperty(r,"toString",{enumerable:!1,value(){return`(Missing data at ${T(this.path,Ks(n.pathDelim))}: "${this.message}")`}}),r},woe=(e,t,n,r={pathDelim:"."})=>{let o=Object.create(hd);return o._op=Ek,o.path=e,o.message=t,o.cause=n,Object.defineProperty(o,"toString",{enumerable:!1,value(){return`(Source unavailable at ${T(this.path,Ks(r.pathDelim))}: "${this.message}")`}}),o},Toe=(e,t,n={pathDelim:"."})=>{let r=Object.create(hd);return r._op=Ik,r.path=e,r.message=t,Object.defineProperty(r,"toString",{enumerable:!1,value(){return`(Unsupported operation at ${T(this.path,Ks(n.pathDelim))}: "${this.message}")`}}),r};var Uc=h(2,(e,t)=>{switch(e._op){case vk:return kk(Uc(e.left,t),Uc(e.right,t));case wk:return Rk(Uc(e.left,t),Uc(e.right,t));case Tk:return voe([...t,...e.path],e.message);case Ck:return ba([...t,...e.path],e.message);case Ek:return woe([...t,...e.path],e.message,e.cause);case Ik:return Toe([...t,...e.path],e.message)}});var NL={_tag:"Empty"};var pS=h(2,(e,t)=>{let n=Sf(t),r=e;while(qE(n)){let o=n.head;switch(o._tag){case"Empty":{n=n.tail;break}case"AndThen":{n=ta(o.first,ta(o.second,n.tail));break}case"MapName":{r=ts(r,o.f),n=n.tail;break}case"Nested":{r=Dp(r,o.name),n=n.tail;break}case"Unnested":{if(T(lc(r),KC(o.name)))r=es(r),n=n.tail;else return dt(ba(r,`Expected ${o.name} to be in path in ConfigProvider#unnested`));break}}}return nt(r)});var jL="Constant",BL="Fail",LL="Fallback",qL="Described",ZL="Lazy",$L="MapOrFail",UL="Nested",WL="Primitive",HL="Sequence",JL="HashMap",VL="ZipWith";var dS=(e,t)=>[...e,...t],Ioe="effect/ConfigProvider",GL=Symbol.for(Ioe),yd=qn("effect/ConfigProvider"),koe="effect/ConfigProviderFlat",QL=Symbol.for(koe),Roe=(e)=>({[GL]:GL,pipe(){return pe(this,arguments)},...e}),Poe=(e)=>({[QL]:QL,patch:e.patch,load:(t,n,r=!0)=>e.load(t,n,r),enumerateChildren:e.enumerateChildren}),Aoe=(e)=>Roe({load:(t)=>R(ei(e,Ci(),t,!1),(n)=>vn(lc(n),{onNone:()=>Ve(ba(Ci(),`Expected a single value having structure: ${t}`)),onSome:M})),flattened:e}),KL=(e)=>{let{pathDelim:t,seqDelim:n}=Object.assign({},{pathDelim:"_",seqDelim:","},e),r=(l)=>T(l,Ks(t)),o=(l)=>l.split(t),i=()=>typeof process<"u"&&("env"in process)&&typeof process.env==="object"?process.env:{};return Aoe(Poe({load:(l,u,p=!0)=>{let d=r(l),g=i(),f=d in g?W(g[d]):q();return T(f,Rc(()=>ba(l,`Expected ${d} to exist in the process context`)),R((v)=>zoe(v,l,u,n,p)))},enumerateChildren:(l)=>Z(()=>{let u=i(),g=Object.keys(u).map((f)=>o(f.toUpperCase())).filter((f)=>{for(let v=0;v<l.length;v++){let w=T(l,eE(v)),I=f[v];if(I===void 0||w!==I)return!1}return!0}).flatMap((f)=>f.slice(l.length,l.length+1));return Ob(g)}),patch:NL}))};var Ooe=(e,t,n,r)=>{let o=iE(n.length,(l)=>l>=r.length?q():W([e(l),l+1])),i=iE(r.length,(l)=>l>=n.length?q():W([t(l),l+1])),s=dS(n,o),c=dS(r,i);return[s,c]},Doe=(e,t)=>{let n=t;if(n._tag==="Nested"){let r=e.slice();while(n._tag==="Nested")r.push(n.name),n=n.config;return r}return e},ei=(e,t,n,r)=>{let o=n;switch(o._tag){case jL:return M(jr(o.value));case qL:return Ae(()=>ei(e,t,o.config,r));case BL:return Ve(ba(t,o.message));case LL:return T(Ae(()=>ei(e,t,o.first,r)),Di((i)=>{if(o.condition(i))return T(ei(e,t,o.second,r),Di((s)=>Ve(Rk(i,s))));return Ve(i)}));case ZL:return Ae(()=>ei(e,t,o.config(),r));case $L:return Ae(()=>T(ei(e,t,o.original,r),R(Yn((i)=>T(o.mapOrFail(i),Rc(Uc(Doe(t,o.original))))))));case UL:return Ae(()=>ei(e,dS(t,jr(o.name)),o.config,r));case WL:return T(pS(t,e.patch),R((i)=>T(e.load(i,o,r),R((s)=>{if(s.length===0){let c=T(sb(i),wn(()=>"<n/a>"));return Ve(ba([],`Expected ${o.description} with name ${c}`))}return M(s)}))));case HL:return T(pS(t,e.patch),R((i)=>T(e.enumerateChildren(i),R(Noe),R((s)=>{if(s.length===0)return Ae(()=>X(ei(e,t,o.config,!0),jr));return T(Yn(s,(c)=>ei(e,Jz(t,`[${c}]`),o.config,!0)),X((c)=>{let l=ab(c);if(l.length===0)return jr(Ci());return jr(l)}))}))));case JL:return Ae(()=>T(pS(t,e.patch),R((i)=>T(e.enumerateChildren(i),R((s)=>T(s,Yn((c)=>ei(e,dS(i,jr(c)),o.valueConfig,r)),X((c)=>{if(c.length===0)return jr(Hl());return T(Foe(c),ts((l)=>gN(rE(Fe(s),l))))})))))));case VL:return Ae(()=>T(ei(e,t,o.left,r),Go,R((i)=>T(ei(e,t,o.right,r),Go,R((s)=>{if(tn(i)&&tn(s))return Ve(kk(i.left,s.left));if(tn(i)&&Yi(s))return Ve(i.left);if(Yi(i)&&tn(s))return Ve(s.left);if(Yi(i)&&Yi(s)){let c=T(t,Ks(".")),l=Moe(t,c),[u,p]=Ooe(l,l,T(i.right,ts(nt)),T(s.right,ts(nt)));return T(u,rE(p),Yn(([d,g])=>T(ru(d,g),X(([f,v])=>o.zip(f,v)))))}throw Error("BUG: ConfigProvider.fromFlatLoop - please report an issue at https://github.com/Effect-TS/effect/issues")})))))}},Moe=(e,t)=>(n)=>dt(ba(e,`The element at index ${n} in a sequence at path "${t}" was missing`));var _oe=(e,t)=>e.split(new RegExp(`\\s*${_L(t)}\\s*`)),zoe=(e,t,n,r,o)=>{if(!o)return T(n.parse(e),Hf({onFailure:Uc(t),onSuccess:jr}));return T(_oe(e,r),Yn((i)=>n.parse(i.trim())),Rc(Uc(t)))},Foe=(e)=>Object.keys(e[0]).map((t)=>e.map((n)=>n[t])),Noe=(e)=>T(Yn(e,Boe),Hf({onFailure:()=>Ci(),onSuccess:to(Xn)}),Go,X(jl));var joe=/^(\[(\d+)\])$/,Boe=(e)=>{let t=e.match(joe);if(t!==null){let n=t[2];return T(n!==void 0&&n.length>0?W(n):q(),Nr(Loe))}return q()};var Loe=(e)=>{let t=Number.parseInt(e);return Number.isNaN(t)?q():W(t)};var bu={};Xr(bu,{Clock:()=>Dk,ClockTypeId:()=>Hoe,clockWith:()=>Ok,currentTimeMillis:()=>wa,currentTimeNanos:()=>Ak,make:()=>Joe,sleep:()=>vd});var YL=Symbol.for("effect/Console"),xa=qn("effect/Console"),XL={[YL]:YL,assert(e,...t){return Z(()=>{console.assert(e,...t)})},clear:Z(()=>{console.clear()}),count(e){return Z(()=>{console.count(e)})},countReset(e){return Z(()=>{console.countReset(e)})},debug(...e){return Z(()=>{console.debug(...e)})},dir(e,t){return Z(()=>{console.dir(e,t)})},dirxml(...e){return Z(()=>{console.dirxml(...e)})},error(...e){return Z(()=>{console.error(...e)})},group(e){return e?.collapsed?Z(()=>console.groupCollapsed(e?.label)):Z(()=>console.group(e?.label))},groupEnd:Z(()=>{console.groupEnd()}),info(...e){return Z(()=>{console.info(...e)})},log(...e){return Z(()=>{console.log(...e)})},table(e,t){return Z(()=>{console.table(e,t)})},time(e){return Z(()=>console.time(e))},timeEnd(e){return Z(()=>console.timeEnd(e))},timeLog(e,...t){return Z(()=>{console.timeLog(e,...t)})},trace(...e){return Z(()=>{console.trace(...e)})},warn(...e){return Z(()=>{console.warn(...e)})},unsafe:console};var Zoe="effect/Random",mg=Symbol.for(Zoe),Sa=qn("effect/Random");class tq{seed;[mg]=mg;PRNG;constructor(e){this.seed=e,this.PRNG=new zC(e)}get next(){return Z(()=>this.PRNG.number())}get nextBoolean(){return X(this.next,(e)=>e>0.5)}get nextInt(){return Z(()=>this.PRNG.integer(Number.MAX_SAFE_INTEGER))}nextRange(e,t){return X(this.next,(n)=>(t-e)*n+e)}nextIntBetween(e,t){return Z(()=>this.PRNG.integer(t-e)+e)}shuffle(e){return nq(e,(t)=>this.nextIntBetween(0,t))}}var nq=(e,t)=>Ae(()=>T(Z(()=>Array.from(e)),R((n)=>{let r=[];for(let o=n.length;o>=2;o=o-1)r.push(o);return T(r,So((o)=>T(t(o),X((i)=>$oe(n,o-1,i)))),bt(Ys(n)))}))),$oe=(e,t,n)=>{let r=e[t];return e[t]=e[n],e[n]=r,e},Pk=(e)=>new tq(he(e));class rq{values;[mg]=mg;index=0;constructor(e){if(this.values=e,e.length===0)throw Error("Requires at least one value")}getNextValue(){let e=this.values[this.index];return this.index=(this.index+1)%this.values.length,e}get next(){return Z(()=>{let e=this.getNextValue();if(typeof e==="number")return Math.max(0,Math.min(1,e));return he(e)/2147483647})}get nextBoolean(){return Z(()=>{let e=this.getNextValue();if(typeof e==="boolean")return e;return he(e)%2===0})}get nextInt(){return Z(()=>{let e=this.getNextValue();if(typeof e==="number"&&Number.isFinite(e))return Math.round(e);return Math.abs(he(e))})}nextRange(e,t){return X(this.next,(n)=>(t-e)*n+e)}nextIntBetween(e,t){return Z(()=>{let n=this.getNextValue();if(typeof n==="number"&&Number.isFinite(n))return Math.max(e,Math.min(t-1,Math.round(n)));let r=Math.abs(he(n));return e+r%(t-e)})}shuffle(e){return nq(e,(t)=>this.nextIntBetween(0,t))}}var oq=(e)=>new rq(e);var sq=Symbol.for("effect/Tracer"),Uoe=(e)=>({[sq]:sq,...e}),va=qn("effect/Tracer"),kr=qn("effect/ParentSpan"),aq=function(){return function(n){let r="";for(let o=0;o<n;o++)r+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return r}}();class cq{name;parent;context;startTime;kind;_tag="Span";spanId;traceId="native";sampled=!0;status;attributes;events=[];links;constructor(e,t,n,r,o,i){this.name=e,this.parent=t,this.context=n,this.startTime=o,this.kind=i,this.status={_tag:"Started",startTime:o},this.attributes=new Map,this.traceId=t._tag==="Some"?t.value.traceId:aq(32),this.spanId=aq(16),this.links=Array.from(r)}end(e,t){this.status={_tag:"Ended",endTime:e,exit:t,startTime:this.status.startTime}}attribute(e,t){this.attributes.set(e,t)}event(e,t,n){this.events.push([e,t,n??{}])}addLinks(e){this.links.push(...e)}}var lq=Uoe({span:(e,t,n,r,o,i)=>new cq(e,t,n,r,o,i),context:(e)=>e()});var Co=(e)=>{if(e?.captureStackTrace===!1)return e;else if(e?.captureStackTrace!==void 0&&typeof e.captureStackTrace!=="boolean")return e;let t=Error.stackTraceLimit;Error.stackTraceLimit=3;let n=Error();Error.stackTraceLimit=t;let r=!1;return{...e,captureStackTrace:()=>{if(r!==!1)return r;if(n.stack!==void 0){let o=n.stack.split(`
28
+ `);if(o[3]!==void 0)return r=o[3].trim(),r}}}},bd=Ei()("effect/Tracer/DisablePropagation",{defaultValue:Bn});var Woe=T(Qn(),St(Zr,lS()),St(xa,XL),St(Sa,Pk(Math.random())),St(yd,KL()),St(va,lq)),Kt=Le(Symbol.for("effect/DefaultServices/currentServices"),()=>Sx(Woe)),uq=(e)=>{let t=Pt(e);return fg((n)=>n.sleep(t))},mS=(e)=>Xe((t)=>e(t.currentDefaultServices)),fg=(e)=>mS((t)=>e(t.unsafeMap.get(Zr.key))),pq=fg((e)=>e.currentTimeMillis),dq=fg((e)=>e.currentTimeNanos),mq=h(2,(e,t)=>Dn(Kt,St(Zr,t))(e)),fq=h(2,(e,t)=>Dn(Kt,St(yd,t))(e)),gq=(e)=>mS((t)=>e(t.unsafeMap.get(yd.key)));var Sd=(e)=>mS((t)=>e(t.unsafeMap.get(Sa.key))),hq=h(2,(e,t)=>Dn(Kt,St(Sa,t))(e)),yq=Sd((e)=>e.next);var fS=(e)=>mS((t)=>e(t.unsafeMap.get(va.key))),bq=h(2,(e,t)=>Dn(Kt,St(va,t))(e));var Hoe=cS,Joe=lS,vd=uq,wa=pq,Ak=dq,Ok=fg,Dk=Zr;var xq=(e,t)=>({label:e,startTime:t}),Mk=(e)=>e.replace(/[\s="]/g,"_"),_k=(e)=>(t)=>`${Mk(t.label)}=${e-t.startTime}ms`;var vq=xq;var wq=fS;var Tq="effect/MetricLabel",zk=Symbol.for(Tq);class Cq{key;value;[zk]=zk;_hash;constructor(e,t){this.key=e,this.value=t,this._hash=ct(Tq+this.key+this.value)}[Te](){return this._hash}[ve](e){return Qoe(e)&&this.key===e.key&&this.value===e.value}pipe(){return pe(this,arguments)}}var xu=(e,t)=>new Cq(e,t),Qoe=(e)=>ue(e,zk);var Eq=h((e)=>mt(e[0]),function(){let e=arguments;return Dn(e[0],ma,typeof e[1]==="string"?Sr(e[1],e[2]):(t)=>Object.entries(e[1]).reduce((n,[r,o])=>Sr(n,r,o),t))}),wd=(e)=>X(e,W),Iq=(e)=>Rc(e,W),Nk=(e)=>{let t,n=void 0;if(typeof e==="function")t=e;else t=e.try,n=e.catch;return Ae(()=>{try{return M(an(t))}catch(r){return Ve(n?an(()=>n(r)):new lu(r,"An unknown error occurred in Effect.try"))}})},kq=h(3,(e,t,n)=>Di(e,(r)=>{if(ue(r,t)&&r[t]===n.failure)return n.onFailure(r);return Ve(r)})),Rq=h(2,(e,t)=>us(e,(n)=>{let r=cs(n,(o)=>Gl(o)?W(o):q());switch(r._tag){case"None":return Ye(n);case"Some":return t(r.value.defect)}})),Pq=h(2,(e,t)=>$t(e,{onFailure:(n)=>{let r=t(n);switch(r._tag){case"None":return Ye(n);case"Some":return r.value}},onSuccess:M})),Aq=h(2,(e,t)=>us(e,(n)=>{let r=cs(n,(o)=>Gl(o)?W(o):q());switch(r._tag){case"None":return Ye(n);case"Some":{let o=t(r.value.defect);return o._tag==="Some"?o.value:Ye(n)}}})),Oq=h((e)=>mt(e[0]),(e,...t)=>{let n=t[t.length-1],r;if(t.length===2)r=ac(t[0]);else r=(o)=>{let i=ue(o,"_tag")?o._tag:void 0;if(!i)return!1;for(let s=0;s<t.length-1;s++)if(t[s]===i)return!0;return!1};return Uf(e,r,n)}),Dq=h(2,(e,t)=>{let n;return Uf(e,(r)=>(n??=Object.keys(t),ue(r,"_tag")&&Km(r._tag)&&n.includes(r._tag)),(r)=>t[r._tag](r))}),Mq=(e)=>Wf(e,{onFailure:He,onSuccess:()=>En}),gs=Ok,_q=gs(M),zq=h(2,(e,t)=>rt(vd(t),e)),yS=(e)=>Xe((t,n)=>e({id:t.id(),status:n,interruptors:Kl(t.getFiberRef(su))})),Fq=yS((e)=>ea(e.interruptors)>0?fx:$e),Nq=yS(M),Td=(e)=>bg(e,bS,cg),Koe=(e)=>bg(e,ru(bS,rd),([t,n],[r,o])=>[cg(t,r),Vo(n,o)]),jq=M({}),Bq=vp(X,R),Lq=Sp(X),qq=xp(X),Zq=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=[],o,i=M(!1),s=0;while((o=n.next())&&!o.done){let c=o.value,l=s++;i=R(i,(u)=>{if(u)return r.push(c),M(!0);return t(c,l)})}return X(i,()=>r)})),$q=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=[],o,i=M(!0),s=0;while((o=n.next())&&!o.done){let c=o.value,l=s++;i=R(i,(u)=>X(u?t(c,l):M(!1),(p)=>{if(!p)r.push(c);return p}))}return X(i,()=>r)})),Uq=(e)=>X(po(),e),jk=(e)=>tu(e,()=>R(ms(),()=>jk(e))),Wq=h(2,(e,t)=>X(Yn(e,He),Mp(t))),Hq=h(3,(e,t,n)=>gg(e,t,(r)=>xo(()=>n(r)))),Jq=h(3,(e,t,n)=>gg(e,t,()=>Ec(n))),gg=h(3,(e,t,n)=>R(e,(r)=>t(r)?M(r):n(r))),Vq=h(3,(e,t,n)=>Ae(()=>t(e)?M(e):Ve(n(e)))),Gq=h((e)=>mt(e[0]),(e,t,n)=>gg(e,t,(r)=>n===void 0?Ve(new Er):Qo(()=>n(r)))),Qq=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=n.next();if(!r.done)return Kq(n,0,t,r.value);return M(q())})),Kq=(e,t,n,r)=>R(n(r,t),(o)=>{if(o)return M(W(r));let i=e.next();if(!i.done)return Kq(e,t+1,n,i.value);return M(q())}),Yq=(e)=>Ae(()=>{let t=Ys(e);if(!_t(t))return xo(()=>new Ko("Received an empty collection of effects"));return T(zt(t),uc(ut(t),(n,r)=>tu(n,()=>r)))}),Xq=h(2,(e,t)=>kc(t(kc(e)))),hg=h(2,(e,t)=>On(e,{onFailure:(n)=>M(t.onFailure(n)),onSuccess:(n)=>M(t.onSuccess(n))})),e1=h(2,(e,t)=>Ae(()=>t1(e[Symbol.iterator](),0,t))),t1=(e,t,n)=>{let r=e.next();return r.done?M(!0):R(n(r.value,t),(o)=>o?t1(e,t+1,n):M(o))},Bk=(e)=>{let t=R(R(e,()=>ms()),()=>t);return t},bS=Xe((e)=>M(e.getFiberRefs())),n1=(e)=>R(e,(t)=>{let r=t[Symbol.iterator]().next();if(r.done)return Ve(new Er);return M(r.value)}),xS=(e)=>hg(e,{onFailure:cr,onSuccess:cr}),r1=(e)=>$t(e,{onFailure:(t)=>qk(t,"An error was silently ignored because it is not anticipated to be useful"),onSuccess:()=>$e}),o1=(e)=>vS((t,n)=>_B(n,t,e)),i1=(e)=>hg(e,{onFailure:Qi,onSuccess:Bn}),s1=(e)=>hg(e,{onFailure:Bn,onSuccess:Qi}),Lk=(e,t)=>Ae(()=>{if(t.while(e))return R(t.body(e),(n)=>Lk(n,t));return M(e)}),Ta=(e)=>(...t)=>{let n=eo(e),r=void 0;for(let o=0,i=t.length;o<i;o++){let s=t[o];if(kf(s)){if(r!==void 0)r=vt(r,s);else r=s;t=[...t.slice(0,o),...t.slice(o+1)],o--}}if(r===void 0)r=En;return Xe((o)=>(o.log(t,r,n),$e))},a1=Ta(),c1=Ta(ok),qk=Ta(rk),l1=Ta(nk),u1=Ta(tk),p1=Ta(ek),d1=Ta(XI),m1=h(2,(e,t)=>R(wa,(n)=>Dn(e,wx,Ub(vq(t,n))))),f1=vo(ma),g1=(e,t)=>t.discard?y1(e,t.while,t.step,t.body):X(h1(e,t.while,t.step,t.body),Fe),h1=(e,t,n,r)=>Ae(()=>t(e)?R(r(e),(o)=>X(h1(n(e),t,n,r),Ub(o))):Z(()=>as())),y1=(e,t,n,r)=>Ae(()=>t(e)?R(r(e),()=>y1(n(e),t,n,r)):$e),b1=h(3,(e,t,n)=>Ae(()=>{let r=e[Symbol.iterator](),o=[],i=M(t),s,c=0;while(!(s=r.next()).done){let l=c++,u=s.value;i=R(i,(p)=>X(n(p,u,l),([d,g])=>(o.push(g),d)))}return X(i,(l)=>[l,o])})),Cd=h(2,(e,t)=>$t(e,{onFailure:(n)=>ca(()=>t(n)),onSuccess:M})),SS=(e)=>T(uo(),R((t)=>T(Koe(e),ps(t),Zk,X((n)=>rt(n,T(Zn(t),R(([r,o])=>bt(ru(Su(r[0]),Pc(r[1])),o)))))))),x1=(e)=>On(e,{onFailure:(t)=>M(t),onSuccess:M}),yg=(e)=>X(e,(t)=>!t),S1=(e)=>R(e,(t)=>{switch(t._tag){case"None":return $e;case"Some":return Ve(new Er)}}),Zk=(e)=>X(iS(!0),(t)=>Qt(od(e,EL(t,!1)))),v1=(e)=>On(e,{onFailure:()=>M(q()),onSuccess:(t)=>M(W(t))}),w1=h(2,(e,t)=>tu(e,()=>Qo(t))),T1=h(2,(e,t)=>tu(e,()=>Z(t))),C1=(e)=>$t(e,{onFailure:(t)=>{let n=Fe(Qp(t));return n.length===0?Ye(t):Ve(n)},onSuccess:M}),Su=(e)=>vS((t,n)=>T(e,Zx(t,n))),E1=(e)=>e.length>=1?vr((t,n)=>{try{e(n).then((r)=>t(M(r)),(r)=>t(ur(r)))}catch(r){t(ur(r))}}):vr((t)=>{try{e().then((n)=>t(M(n)),(n)=>t(ur(n)))}catch(n){t(ur(n))}}),Hc=h(3,(e,t,n)=>To((r)=>qr(e,St(r,t,n)))),Jc=h(3,(e,t,n)=>To((r)=>R(n,(o)=>qr(e,T(r,St(t,o)))))),I1=Sd(M),k1=h(3,(e,t,n)=>Fe(e).reduce((r,o,i)=>R(r,(s)=>n(s,o,i)),M(t))),R1=h(3,(e,t,n)=>Fe(e).reduceRight((r,o,i)=>R(r,(s)=>n(o,s,i)),M(t))),P1=h(3,(e,t,n)=>R(Z(()=>e[Symbol.iterator]()),(r)=>A1(r,0,t,n.while,n.body))),A1=(e,t,n,r,o)=>{let i=e.next();if(!i.done&&r(n))return R(o(n,i.value,t),(s)=>A1(e,t+1,s,r,o));return M(n)},O1=h(2,(e,t)=>Ae(()=>D1(e,t))),D1=(e,t)=>R(e,(n)=>t<=0?M(n):rt(ms(),D1(e,t-1))),M1=(e)=>$t(e,{onFailure:Ve,onSuccess:M}),_1=(e)=>Ae(()=>zB(e)),vu=vd,wu=M(q()),z1=(e)=>M(W(e)),bg=h(3,(e,t,n)=>R(t,(r)=>R(e,(o)=>X(t,(i)=>[n(r,i),o])))),F1=h((e)=>mt(e[0]),function(){return $k(arguments[0],typeof arguments[1]==="string"?[xu(arguments[1],arguments[2])]:Object.entries(arguments[1]).map(([e,t])=>xu(e,t)))}),$k=h(2,(e,t)=>Dn(e,fa,(n)=>Ti(n,t))),N1=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=[],o,i=M(!1),s=0;while((o=n.next())&&!o.done){let c=o.value,l=s++;i=R(i,(u)=>{if(u)return M(!0);return r.push(c),t(c,l)})}return X(i,()=>r)})),j1=h(2,(e,t)=>Ae(()=>{let n=e[Symbol.iterator](),r=[],o,i=M(!0),s=0;while((o=n.next())&&!o.done){let c=o.value,l=s++;i=R(i,(u)=>T(u?t(c,l):M(!1),X((p)=>{if(p)r.push(c);return p})))}return X(i,()=>r)})),B1=h(2,(e,{onFailure:t,onSuccess:n})=>$t(e,{onFailure:(r)=>{let o=Ai(r);switch(o._tag){case"Left":return rt(t(o.left),Ye(r));case"Right":return Ye(r)}},onSuccess:(r)=>bt(n(r),r)})),L1=h(2,(e,t)=>us(e,(n)=>vn(ix(n),{onNone:()=>Ye(n),onSome:(r)=>rt(t(r),Ye(n))}))),Uk=h(2,(e,t)=>$t(e,{onFailure:(n)=>{let r=Ai(n);switch(r._tag){case"Left":return rt(t(r.left),Ye(n));case"Right":return Ye(n)}},onSuccess:M})),q1=h(3,(e,t,n)=>Uk(e,(r)=>{if(ac(r,t))return n(r);return $e})),Z1=h(2,(e,t)=>$t(e,{onFailure:(n)=>rt(t(n),Ye(n)),onSuccess:M})),$1=(e)=>Wk(e,Ak),Wk=h(2,(e,t)=>bg(e,t,(n,r)=>mf(r-n))),Yoe=wq,U1=Yoe(M),Hk=(e)=>{let t,n=void 0;if(typeof e==="function")t=e;else t=e.try,n=e.catch;let r=(o)=>n?Qo(()=>n(o)):Ve(new lu(o,"An unknown error occurred in Effect.tryPromise"));if(t.length>=1)return vr((o,i)=>{try{t(i).then((s)=>o(M(s)),(s)=>o(r(s)))}catch(s){o(r(s))}});return vr((o)=>{try{t().then((i)=>o(M(i)),(i)=>o(r(i)))}catch(i){o(r(i))}})},W1=h(2,(e,t)=>R(e,(n)=>Nk({try:()=>t.try(n),catch:t.catch}))),H1=h(2,(e,t)=>R(e,(n)=>Hk({try:t.try.length>=1?(r)=>t.try(n,r):()=>t.try(n),catch:t.catch}))),J1=h(2,(e,t)=>Ae(()=>t()?wu:wd(e))),V1=h(2,(e,t)=>R(t,(n)=>n?wu:wd(e))),G1=(e)=>Cd(e,sx),vS=(e)=>Xe((t)=>(t.setFiberRefs(e(t.id(),t.getFiberRefs())),$e)),Q1=h(3,(e,t,n)=>Nc(e,(r)=>St(r,t,n($o(r,t))))),wS=h(2,(e,t)=>Ae(()=>t()?X(e,W):M(q()))),K1=h(3,(e,t,n)=>R(vo(t),(r)=>n(r)?X(e,(o)=>[r,W(o)]):M([r,q()]))),Y1=h(3,(e,t,n)=>R(sS(t),(r)=>n(r)?X(e,(o)=>[r,W(o)]):M([r,q()]))),X1=h(2,(e,t)=>t(e)),eZ=(e,t)=>(...n)=>R(e,(r)=>t(r)(...n)),tZ=(e,t)=>(...n)=>X(e,(r)=>t(r)(...n)),Jk=(e)=>new Proxy({},{get(t,n,r){return(...o)=>R(e,(i)=>i[n](...o))}}),Vk=(e)=>new Proxy({},{get(t,n,r){return R(e,(o)=>mt(o[n])?o[n]:M(o[n]))}}),nZ=(e)=>({functions:Jk(e),constants:Vk(e)}),rZ=(e)=>X(po(),bo(e)),Gk=(e)=>R(po(),bo(e)),oZ=function(){let e=arguments;return xS(R(Kk,(t)=>Z(()=>{if(typeof e[0]==="string")t.attribute(e[0],e[1]);else for(let n in e[0])t.attribute(n,e[0][n])})))},iZ=function(){let e=arguments,t=Array.isArray(e[0])?e[0]:[{_tag:"SpanLink",span:e[0],attributes:e[1]??{}}];return xS(R(Qk,(n)=>Z(()=>n.addLinks(t))))},sZ=h((e)=>mt(e[0]),function(){let e=arguments;return Dn(e[0],sd,typeof e[1]==="string"?Sr(e[1],e[2]):(t)=>Object.entries(e[1]).reduce((n,[r,o])=>Sr(n,r,o),t))}),aZ=Gk(kr),Qk=R(po(),(e)=>{let t=e.unsafeMap.get(kr.key);return t!==void 0&&t._tag==="Span"?M(t):Ve(new Er)}),Kk=R(po(),(e)=>{let t=xg(bo(e,kr));return t._tag==="Some"&&t.value._tag==="Span"?M(t.value):Ve(new Er)}),cZ=h((e)=>mt(e[0]),(e,t,n)=>Dn(e,Ex,zp({_tag:"SpanLink",span:t,attributes:n??{}}))),lZ=BigInt(0),xg=Nr((e)=>Pn(e.context,bd)?e._tag==="Span"?xg(e.parent):q():W(e)),TS=(e,t,n)=>{let r=!e.getFiberRef(Gf)||n.context&&Pn(n.context,bd),o=e.getFiberRef(lo),i=n.parent?W(n.parent):n.root?q():xg(bo(o,kr)),s;if(r)s=vB({name:t,parent:i,context:St(n.context??Qn(),bd,!0)});else{let c=e.getFiberRef(Kt),l=Pn(c,va),u=Pn(c,Dk),p=e.getFiberRef(Mc),d=e.getFiberRefs(),g=VI(d,sd),f=VI(d,Ex),v=f._tag==="Some"?n.links!==void 0?[...qo(f.value),...n.links??[]]:qo(f.value):n.links??Ci();if(s=l.span(t,i,n.context??Qn(),v,p?u.unsafeCurrentTimeNanos():lZ,n.kind??"internal",n),g._tag==="Some")SN(g.value,(w,I)=>s.attribute(I,w));if(n.attributes!==void 0)Object.entries(n.attributes).forEach(([w,I])=>s.attribute(w,I))}if(typeof n.captureStackTrace==="function")Af.set(s,n.captureStackTrace);return s},uZ=(e,t)=>(t=Co(t),Xe((n)=>M(TS(n,e,t)))),pZ=vo(sd),dZ=vo(Ex),Yk=(e,t,n,r)=>Z(()=>{if(e.status._tag==="Ended")return;if(Rx(t)&&Af.has(e))e.attribute("code.stacktrace",Af.get(e)());e.end(r?n.unsafeCurrentTimeNanos():lZ,t)}),gS=(e,...t)=>{let n=Co(t.length===1?void 0:t[0]),r=t[t.length-1];return Xe((o)=>{let i=TS(o,e,n),s=o.getFiberRef(Mc),c=Pn(o.getFiberRef(Kt),Zr);return Br(r(i),(l)=>Yk(i,l,c,s))})},hS=h(2,(e,t)=>Hc(e,kr,t)),Xk=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],n=Co(e?arguments[2]:arguments[1]);if(e){let r=arguments[0];return gS(t,n,(o)=>hS(r,o))}return(r)=>gS(t,n,(o)=>hS(r,o))},mZ=(e)=>function(){let t=e.captureStackTrace??!1;if(e.captureStackTrace!==!1){let n=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=Error();Error.stackTraceLimit=n;let o=!1;t=()=>{if(o!==!1)return o;if(r.stack)return o=r.stack.trim().split(`
29
29
  `).slice(2).join(`
30
- `).trim(),o}}return Ae(()=>{let n=typeof e.options==="function"?e.options.apply(null,arguments):e.options;return Xk(Ae(()=>an(()=>e.body.apply(this,arguments))),n.name,{...n,captureStackTrace:t})})},fZ=(e)=>e==null?Ve(new Er):M(e),gZ=(e)=>Di(X(e,H),(t)=>kx(t)?wu:Ve(t));var eR="InterruptSignal",tR="Stateful",nR="Resume",rR="YieldNow",CS=(e)=>({_tag:"InterruptSignal",cause:e}),Id=(e)=>({_tag:"Stateful",onFiber:e}),Tu=(e)=>({_tag:"Resume",effect:e}),hZ=()=>({_tag:"YieldNow"});var Xoe="effect/FiberScope",ES=Symbol.for(Xoe);class bZ{[ES]=ES;fiberId=Cn;roots=new Set;add(e,t){this.roots.add(t),t.addObserver(()=>{this.roots.delete(t)})}}class xZ{fiberId;parent;[ES]=ES;constructor(e,t){this.fiberId=e,this.parent=t}add(e,t){this.parent.tell(Id((n)=>{n.addChild(t),t.addObserver(()=>{n.removeChild(t)})}))}}var SZ=(e)=>new xZ(e.id(),e),Mi=Le(Symbol.for("effect/FiberScope/Global"),()=>new bZ);var eie="effect/Fiber",Ca=Symbol.for(eie),kd={_E:(e)=>e,_A:(e)=>e},kS={[Ca]:kd,pipe(){return pe(this,arguments)}},tie="effect/Fiber",vg=Symbol.for(tie),vZ=T(Mz(Xn,Xn),tb((e)=>[e.id().startTimeMillis,e.id().id])),wZ=(e)=>ue(e,Ca),Sg=(e)=>(vg in e),RS=(e)=>e.await,TZ=(e)=>e.children,Cu=(e)=>({...Lo,commit(){return er(this)},...kS,id:()=>Cn,await:M(e),children:M([]),inheritAll:$e,poll:M(H(e)),interruptAsFork:()=>$e}),PS=(e)=>X(e.status,(t)=>({id:e.id(),status:t})),CZ=(e)=>Yn(e,PS),EZ=(e)=>Cu(FI(e)),iR=(e)=>Cu(NI(e)),IZ=(e)=>X(Nt(e),Cu),kZ=(e)=>e.id(),AS=(e)=>e.inheritAll,RZ=(e)=>Cu(BI(e)),PZ=(e)=>R(la,(t)=>T(e,wg(t))),wg=h(2,id(function*(e,t){for(let n of e){if(Sg(n)){n.unsafeInterruptAsFork(t);continue}yield*n.interruptAsFork(t)}for(let n of e){if(Sg(n)&&n.unsafePoll())continue;yield*n.await}})),OS=h(2,(e,t)=>e.interruptAsFork(t)),er=(e)=>ou(wr(e.await),e.inheritAll),IS=h(2,(e,t)=>sR(e,(n)=>U(()=>t(n)))),sR=h(2,(e,t)=>({...Lo,commit(){return er(this)},...kS,id:()=>e.id(),await:R(e.await,Dx(t)),children:e.children,inheritAll:e.inheritAll,poll:R(e.poll,(r)=>{switch(r._tag){case"None":return M(Z());case"Some":return T(Dx(r.value,t),X(H))}}),interruptAsFork:(r)=>e.interruptAsFork(r)})),AZ=h(2,(e,t)=>X(e.await,LI({onFailure:(n)=>iR(n),onSuccess:(n)=>t(n)}))),OZ=h(2,(e,{onFiber:t,onRuntimeFiber:n})=>{if(Sg(e))return n(e);return t(e)}),nie={...Lo,commit(){return er(this)},...kS,id:()=>Cn,await:Oc,children:M([]),inheritAll:Oc,poll:M(Z()),interruptAsFork:()=>Oc},DZ=nie,aR=h(2,(e,t)=>({...Lo,commit(){return er(this)},...kS,id:()=>Lb(e.id(),t.id()),await:Lr(e.await,t.await,(n,r)=>jc(n)?n:r),children:e.children,inheritAll:rt(t.inheritAll,e.inheritAll),poll:Lr(e.poll,t.poll,(n,r)=>{switch(n._tag){case"None":return Z();case"Some":return jc(n.value)?n:r}}),interruptAsFork:(n)=>T(Cr(e,n),rt(T(t,Cr(n))),Qt)})),MZ=h(2,(e,t)=>aR(IS(e,dt),IS(t,nt))),_Z=(e)=>e.poll,rie=(e)=>{let t=e>0?Math.floor:Math.ceil;return{days:t(e/86400000),hours:t(e/3600000)%24,minutes:t(e/60000)%60,seconds:t(e/1000)%60,milliseconds:t(e)%1000,microseconds:t(e*1000)%1000,nanoseconds:t(e*1e6)%1000}},oie=(e)=>{if(Hx(e))return"Done";if(rL(e))return"Running";return`Suspended(${Pi(e.runtimeFlags)?"interruptible":"uninterruptible"})`},zZ=(e)=>R(wa,(t)=>X(PS(e),(n)=>{let r=t-n.id.startTimeMillis,{days:o,hours:i,milliseconds:s,minutes:c,seconds:l}=rie(r),u=(o===0?"":`${o}d`)+(o===0&&i===0?"":`${i}h`)+(o===0&&i===0&&c===0?"":`${c}m`)+(o===0&&i===0&&c===0&&l===0?"":`${l}s`)+`${s}ms`,p=oL(n.status)?(()=>{let g=yc(n.status.blockingOn);return ea(g)>0?"waiting on "+Array.from(g).map((f)=>`${f}`).join(", "):""})():"",d=oie(n.status);return`[Fiber](#${n.id.id}) (${u}) ${p}
31
- Status: ${d}`})),cR=()=>Array.from(Mi.roots),FZ=U(cR),NZ=(e)=>e.status,lR=(e)=>Cu(ig(e)),jZ=lR(void 0);var Ea="effect/FiberCurrent",BZ=()=>eo(globalThis[Ea]);var iie="effect/Logger",LZ=Symbol.for(iie),qZ={_Message:(e)=>e,_Output:(e)=>e},DS=(e)=>({[LZ]:qZ,log:e,pipe(){return pe(this,arguments)}});var x0e={[LZ]:qZ,log:cr,pipe(){return pe(this,arguments)}};var sie=/^[^\s"=]*$/,aie=(e,t)=>({annotations:n,cause:r,date:o,fiberId:i,logLevel:s,message:c,spans:l})=>{let u=(v)=>v.match(sie)?v:e(v),p=(v,w)=>`${Mk(v)}=${u(w)}`,d=(v,w)=>" "+p(v,w),g=p("timestamp",o.toISOString());g+=d("level",s.label),g+=d("fiber",Bb(i));let f=Hz(c);for(let v=0;v<f.length;v++)g+=d("message",Js(f[v],t));if(!ox(r))g+=d("cause",Oi(r,{renderErrorCause:!0}));for(let v of l)g+=" "+_k(o.getTime())(v);for(let[v,w]of n)g+=d(v,Js(w,t));return g},cie=(e)=>`"${e.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,ZZ=DS(aie(cie));var Eu={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},S0e={None:[],All:[],Trace:[Eu.gray],Debug:[Eu.blue],Info:[Eu.green],Warning:[Eu.yellow],Error:[Eu.red],Fatal:[Eu.bgBrightRed,Eu.black]};var $Z=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,v0e=$Z&&process.stdout.isTTY===!0,w0e=$Z||"Deno"in globalThis;var UZ="effect/MetricBoundaries",pR=Symbol.for(UZ);class WZ{values;[pR]=pR;constructor(e){this.values=e,this._hash=T(ct(UZ),Pe(Sn(this.values)))}_hash;[Te](){return this._hash}[ve](e){return uie(e)&&ye(this.values,e.values)}pipe(){return pe(this,arguments)}}var uie=(e)=>ue(e,pR),pie=(e)=>{let t=T(e,XC(cn(Number.POSITIVE_INFINITY)),sE);return new WZ(t)};var HZ=(e)=>T(YC(e.count-1,(t)=>e.start*Math.pow(e.factor,t)),pf,pie);var mie="effect/MetricKeyType",Tg=Symbol.for(mie),JZ="effect/MetricKeyType/Counter",dR=Symbol.for(JZ),VZ="effect/MetricKeyType/Frequency",mR=Symbol.for(VZ),GZ="effect/MetricKeyType/Gauge",fR=Symbol.for(GZ),QZ="effect/MetricKeyType/Histogram",gR=Symbol.for(QZ),KZ="effect/MetricKeyType/Summary",hR=Symbol.for(KZ),Cg={_In:(e)=>e,_Out:(e)=>e};class YZ{incremental;bigint;[Tg]=Cg;[dR]=dR;constructor(e,t){this.incremental=e,this.bigint=t,this._hash=ct(JZ)}_hash;[Te](){return this._hash}[ve](e){return yR(e)}pipe(){return pe(this,arguments)}}var fie=ct(VZ);class gie{preregisteredWords;[Tg]=Cg;[mR]=mR;constructor(e){this.preregisteredWords=e}[Te](){return fie}[ve](e){return bR(e)}pipe(){return pe(this,arguments)}}var hie=ct(GZ);class yie{bigint;[Tg]=Cg;[fR]=fR;constructor(e){this.bigint=e}[Te](){return hie}[ve](e){return xR(e)}pipe(){return pe(this,arguments)}}class XZ{boundaries;[Tg]=Cg;[gR]=gR;constructor(e){this.boundaries=e,this._hash=T(ct(QZ),Pe(he(this.boundaries)))}_hash;[Te](){return this._hash}[ve](e){return SR(e)&&ye(this.boundaries,e.boundaries)}pipe(){return pe(this,arguments)}}class bie{maxAge;maxSize;error;quantiles;[Tg]=Cg;[hR]=hR;constructor(e,t,n,r){this.maxAge=e,this.maxSize=t,this.error=n,this.quantiles=r,this._hash=T(ct(KZ),Pe(he(this.maxAge)),Pe(he(this.maxSize)),Pe(he(this.error)),Pe(Sn(this.quantiles)))}_hash;[Te](){return this._hash}[ve](e){return vR(e)&&ye(this.maxAge,e.maxAge)&&this.maxSize===e.maxSize&&this.error===e.error&&ye(this.quantiles,e.quantiles)}pipe(){return pe(this,arguments)}}var e$=(e)=>new YZ(e?.incremental??!1,e?.bigint??!1);var t$=(e)=>new XZ(e);var yR=(e)=>ue(e,dR),bR=(e)=>ue(e,mR),xR=(e)=>ue(e,fR),SR=(e)=>ue(e,gR),vR=(e)=>ue(e,hR);var xie="effect/MetricKey",r$=Symbol.for(xie),Sie={_Type:(e)=>e},vie=_p(ye);class MS{name;keyType;description;tags;[r$]=Sie;constructor(e,t,n,r=[]){this.name=e,this.keyType=t,this.description=n,this.tags=r,this._hash=T(ct(this.name+this.description),Pe(he(this.keyType)),Pe(Sn(this.tags)))}_hash;[Te](){return this._hash}[ve](e){return wie(e)&&this.name===e.name&&ye(this.keyType,e.keyType)&&ye(this.description,e.description)&&vie(this.tags,e.tags)}pipe(){return pe(this,arguments)}}var wie=(e)=>ue(e,r$),o$=(e,t)=>new MS(e,e$(t),eo(t?.description));var i$=(e,t,n)=>new MS(e,t$(t),eo(n));var s$=h(2,(e,t)=>t.length===0?e:new MS(e.name,e.keyType,e.description,Ti(e.tags,t)));var a$=Symbol.for("effect/MutableHashMap"),Cie={[a$]:a$,[Symbol.iterator](){return new wR(this)},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}};class wR{self;referentialIterator;bucketIterator;constructor(e){this.self=e,this.referentialIterator=e.referential[Symbol.iterator]()}next(){if(this.bucketIterator!==void 0)return this.bucketIterator.next();let e=this.referentialIterator.next();if(e.done)return this.bucketIterator=new c$(this.self.buckets.values()),this.next();return e}[Symbol.iterator](){return new wR(this.self)}}class c${backing;constructor(e){this.backing=e}currentBucket;next(){if(this.currentBucket===void 0){let t=this.backing.next();if(t.done)return t;this.currentBucket=t.value[Symbol.iterator]()}let e=this.currentBucket.next();if(e.done)return this.currentBucket=void 0,this.next();return e}}var Ia=()=>{let e=Object.create(Cie);return e.referential=new Map,e.buckets=new Map,e.bucketsSize=0,e};var Ut=h(2,(e,t)=>{if(Tp(t)===!1)return e.referential.has(t)?H(e.referential.get(t)):Z();let n=t[Te](),r=e.buckets.get(n);if(r===void 0)return Z();return Eie(e,r,t)});var Eie=(e,t,n,r=!1)=>{for(let o=0,i=t.length;o<i;o++)if(n[ve](t[o][0])){let s=t[o][1];if(r)t.splice(o,1),e.bucketsSize--;return H(s)}return Z()},Eo=h(2,(e,t)=>lt(Ut(e,t))),Rr=h(3,(e,t,n)=>{if(Tp(t)===!1)return e.referential.set(t,n),e;let r=t[Te](),o=e.buckets.get(r);if(o===void 0)return e.buckets.set(r,[[t,n]]),e.bucketsSize++,e;return l$(e,o,t),o.push([t,n]),e.bucketsSize++,e}),l$=(e,t,n)=>{for(let r=0,o=t.length;r<o;r++)if(n[ve](t[r][0])){t.splice(r,1),e.bucketsSize--;return}};var ka=h(2,(e,t)=>{if(Tp(t)===!1)return e.referential.delete(t),e;let n=t[Te](),r=e.buckets.get(n);if(r===void 0)return e;if(l$(e,r,t),r.length===0)e.buckets.delete(n);return e});var Iu=(e)=>e.referential.size+e.bucketsSize;var Iie="effect/MetricState",Eg=Symbol.for(Iie),u$="effect/MetricState/Counter",TR=Symbol.for(u$),p$="effect/MetricState/Frequency",CR=Symbol.for(p$),d$="effect/MetricState/Gauge",ER=Symbol.for(d$),m$="effect/MetricState/Histogram",IR=Symbol.for(m$),f$="effect/MetricState/Summary",kR=Symbol.for(f$),Ig={_A:(e)=>e};class g${count;[Eg]=Ig;[TR]=TR;constructor(e){this.count=e}[Te](){return T(he(u$),Pe(he(this.count)),Ze(this))}[ve](e){return Rie(e)&&this.count===e.count}pipe(){return pe(this,arguments)}}var kie=_p(ye);class h${occurrences;[Eg]=Ig;[CR]=CR;constructor(e){this.occurrences=e}_hash;[Te](){return T(ct(p$),Pe(Sn(Ne(this.occurrences.entries()))),Ze(this))}[ve](e){return Pie(e)&&kie(Ne(this.occurrences.entries()),Ne(e.occurrences.entries()))}pipe(){return pe(this,arguments)}}class y${value;[Eg]=Ig;[ER]=ER;constructor(e){this.value=e}[Te](){return T(he(d$),Pe(he(this.value)),Ze(this))}[ve](e){return Aie(e)&&this.value===e.value}pipe(){return pe(this,arguments)}}class b${buckets;count;min;max;sum;[Eg]=Ig;[IR]=IR;constructor(e,t,n,r,o){this.buckets=e,this.count=t,this.min=n,this.max=r,this.sum=o}[Te](){return T(he(m$),Pe(he(this.buckets)),Pe(he(this.count)),Pe(he(this.min)),Pe(he(this.max)),Pe(he(this.sum)),Ze(this))}[ve](e){return Oie(e)&&ye(this.buckets,e.buckets)&&this.count===e.count&&this.min===e.min&&this.max===e.max&&this.sum===e.sum}pipe(){return pe(this,arguments)}}class x${error;quantiles;count;min;max;sum;[Eg]=Ig;[kR]=kR;constructor(e,t,n,r,o,i){this.error=e,this.quantiles=t,this.count=n,this.min=r,this.max=o,this.sum=i}[Te](){return T(he(f$),Pe(he(this.error)),Pe(he(this.quantiles)),Pe(he(this.count)),Pe(he(this.min)),Pe(he(this.max)),Pe(he(this.sum)),Ze(this))}[ve](e){return Die(e)&&this.error===e.error&&ye(this.quantiles,e.quantiles)&&this.count===e.count&&this.min===e.min&&this.max===e.max&&this.sum===e.sum}pipe(){return pe(this,arguments)}}var S$=(e)=>new g$(e),v$=(e)=>new h$(e),w$=(e)=>new y$(e),T$=(e)=>new b$(e.buckets,e.count,e.min,e.max,e.sum),C$=(e)=>new x$(e.error,e.quantiles,e.count,e.min,e.max,e.sum);var Rie=(e)=>ue(e,TR),Pie=(e)=>ue(e,CR),Aie=(e)=>ue(e,ER),Oie=(e)=>ue(e,IR),Die=(e)=>ue(e,kR);var _ie="effect/MetricHook",zie=Symbol.for(_ie),Fie={_In:(e)=>e,_Out:(e)=>e},kg=(e)=>({[zie]:Fie,pipe(){return pe(this,arguments)},...e});var E$=BigInt(0),k$=(e)=>{let t=e.keyType.bigint?E$:0,n=e.keyType.incremental?e.keyType.bigint?(o)=>o>=E$:(o)=>o>=0:(o)=>!0,r=(o)=>{if(n(o))t=t+o};return kg({get:()=>S$(t),update:r,modify:r})},R$=(e)=>{let t=new Map;for(let r of e.keyType.preregisteredWords)t.set(r,0);let n=(r)=>{let o=t.get(r)??0;t.set(r,o+1)};return kg({get:()=>v$(t),update:n,modify:n})},P$=(e,t)=>{let n=t;return kg({get:()=>w$(n),update:(r)=>{n=r},modify:(r)=>{n=n+r}})},A$=(e)=>{let t=e.keyType.boundaries.values,n=t.length,r=new Uint32Array(n+1),o=new Float64Array(n),i=0,s=0,c=Number.MAX_VALUE,l=Number.MIN_VALUE;T(t,to(Xn),ts((d,g)=>{o[g]=d}));let u=(d)=>{let g=0,f=n;while(g!==f){let v=Math.floor(g+(f-g)/2),w=o[v];if(d<=w)f=v;else g=v;if(f===g+1)if(d<=o[g])f=g;else g=f}if(r[g]=r[g]+1,i=i+1,s=s+d,d<c)c=d;if(d>l)l=d},p=()=>{let d=lf(n),g=0;for(let f=0;f<n;f++){let v=o[f],w=r[f];g=g+w,d[f]=[v,g]}return d};return kg({get:()=>T$({buckets:p(),count:i,min:c,max:l,sum:s}),update:u,modify:u})},O$=(e)=>{let{error:t,maxAge:n,maxSize:r,quantiles:o}=e.keyType,i=T(o,to(Xn)),s=lf(r),c=0,l=0,u=0,p=0,d=0,g=(v)=>{let w=[],I=0;while(I!==r-1){let A=s[I];if(A!=null){let[L,N]=A,re=xr(v-L);if(fb(re,oo)&&RF(re,n))w.push(N)}I=I+1}return Nie(t,i,to(w,Xn))},f=(v,w)=>{if(r>0){c=c+1;let I=c%r;s[I]=[w,v]}p=l===0?v:Math.min(p,v),d=l===0?v:Math.max(d,v),l=l+1,u=u+v};return kg({get:()=>C$({error:t,quantiles:g(Date.now()),count:l,min:p,max:d,sum:u}),update:([v,w])=>f(v,w),modify:([v,w])=>f(v,w)})},Nie=(e,t,n)=>{let r=n.length;if(!br(t))return Ci();let o=t[0],i=t.slice(1),s=I$(e,r,Z(),0,o,n),c=jr(s);return i.forEach((l)=>{c.push(I$(e,r,s.value,s.consumed,l,s.rest))}),ts(c,(l)=>[l.quantile,l.value])},I$=(e,t,n,r,o,i)=>{let s=e,c=t,l=n,u=r,p=o,d=i,g=e,f=t,v=n,w=r,I=o,A=i;while(!0){if(!br(d))return{quantile:p,value:Z(),consumed:u,rest:[]};if(p===1)return{quantile:p,value:H(tE(d)),consumed:u+d.length,rest:[]};let L=Gn(d),N=Qz(d,(ke)=>ke===L),re=p*c,Ee=s/2*re,D=u+N[0].length,Ce=Math.abs(D-re);if(D<re-Ee){g=s,f=c,v=lc(d),w=D,I=p,A=N[1],s=g,c=f,l=v,u=w,p=I,d=A;continue}if(D>re+Ee){let ke=it(l)?H(L):l;return{quantile:p,value:ke,consumed:u,rest:d}}switch(l._tag){case"None":{g=s,f=c,v=lc(d),w=D,I=p,A=N[1],s=g,c=f,l=v,u=w,p=I,d=A;continue}case"Some":{let ke=Math.abs(re-l.value);if(Ce<ke){g=s,f=c,v=lc(d),w=D,I=p,A=N[1],s=g,c=f,l=v,u=w,p=I,d=A;continue}return{quantile:p,value:H(l.value),consumed:u,rest:d}}}}throw Error("BUG: MetricHook.resolveQuantiles - please report an issue at https://github.com/Effect-TS/effect/issues")};var Bie="effect/MetricPair",Lie=Symbol.for(Bie),qie={_Type:(e)=>e};var D$=(e,t)=>({[Lie]:qie,metricKey:e,metricState:t,pipe(){return pe(this,arguments)}});var $ie="effect/MetricRegistry",M$=Symbol.for($ie);class _${[M$]=M$;map=Ia();snapshot(){let e=[];for(let[t,n]of this.map)e.push(D$(t,n.get()));return e}get(e){let t=T(this.map,Ut(e),Rn);if(t==null){if(yR(e.keyType))return this.getCounter(e);if(xR(e.keyType))return this.getGauge(e);if(bR(e.keyType))return this.getFrequency(e);if(SR(e.keyType))return this.getHistogram(e);if(vR(e.keyType))return this.getSummary(e);throw Error("BUG: MetricRegistry.get - unknown MetricKeyType - please report an issue at https://github.com/Effect-TS/effect/issues")}else return t}getCounter(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=k$(e);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}getFrequency(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=R$(e);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}getGauge(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=P$(e,e.keyType.bigint?BigInt(0):0);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}getHistogram(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=A$(e);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}getSummary(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=O$(e);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}}var z$=()=>new _$;var Wie="effect/Metric",Hie=Symbol.for(Wie),Jie={_Type:(e)=>e,_In:(e)=>e,_Out:(e)=>e},F$=Le(Symbol.for("effect/Metric/globalMetricRegistry"),()=>z$()),N$=function(e,t,n,r){let o=Object.assign((i)=>Tr(i,(s)=>Gie(o,s)),{[Hie]:Jie,keyType:e,unsafeUpdate:t,unsafeValue:n,unsafeModify:r,register(){return this.unsafeValue([]),this},pipe(){return pe(this,arguments)}});return o};var Rg=(e,t)=>j$(o$(e,t));var j$=(e)=>{let t,n=new WeakMap,r=(o)=>{if(o.length===0){if(t!==void 0)return t;return t=F$.get(e),t}let i=n.get(o);if(i!==void 0)return i;return i=F$.get(s$(e,o)),n.set(o,i),i};return N$(e.keyType,(o,i)=>r(i).update(o),(o)=>r(o).get(),(o,i)=>r(i).modify(o))};var B$=(e,t,n)=>j$(i$(e,t,n));var L$=h(3,(e,t,n)=>Vie(e,[xu(t,n)]));var Vie=h(2,(e,t)=>N$(e.keyType,(n,r)=>e.unsafeUpdate(n,Ti(t,r)),(n)=>e.unsafeValue(Ti(t,n)),(n,r)=>e.unsafeModify(n,Ti(t,r))));var Gie=h(2,(e,t)=>pr(fa,(n)=>U(()=>e.unsafeUpdate(t,n))));var Kie="effect/Request",RR=Symbol.for(Kie),Yie={_E:(e)=>e,_A:(e)=>e},eze={...Ap,[RR]:Yie},q$=(e)=>ue(e,RR);var PR=h(2,(e,t)=>pr(uS,(n)=>U(()=>{if(n.has(e)){let r=n.get(e);if(!r.state.completed)r.state.completed=!0,ld(r.result,t)}})));class Pg{count=0;observers=new Set;interrupted=!1;addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}increment(){this.count++,this.observers.forEach((e)=>e(this.count))}decrement(){this.count--,this.observers.forEach((e)=>e(this.count))}}var Vc={Forward:0,Backward:1};class Ag{self;stack;direction;count=0;constructor(e,t,n){this.self=e,this.stack=t,this.direction=n}clone(){return new Ag(this.self,this.stack.slice(),this.direction)}reversed(){return new Ag(this.self,this.stack.slice(),this.direction===Vc.Forward?Vc.Backward:Vc.Forward)}next(){let e=this.entry;if(this.count++,this.direction===Vc.Forward)this.moveNext();else this.movePrev();switch(e._tag){case"None":return{done:!0,value:this.count};case"Some":return{done:!1,value:e.value}}}get key(){if(this.stack.length>0)return H(this.stack[this.stack.length-1].key);return Z()}get value(){if(this.stack.length>0)return H(this.stack[this.stack.length-1].value);return Z()}get entry(){return Jt(sb(this.stack),(e)=>[e.key,e.value])}get index(){let e=0,t=this.stack;if(t.length===0){let n=this.self._root;if(n!=null)return n.count;return 0}else if(t[t.length-1].left!=null)e=t[t.length-1].left.count;for(let n=t.length-2;n>=0;--n)if(t[n+1]===t[n].right){if(++e,t[n].left!=null)e+=t[n].left.count}return e}moveNext(){let e=this.stack;if(e.length===0)return;let t=e[e.length-1];if(t.right!=null){t=t.right;while(t!=null)e.push(t),t=t.left}else{e.pop();while(e.length>0&&e[e.length-1].right===t)t=e[e.length-1],e.pop()}}get hasNext(){let e=this.stack;if(e.length===0)return!1;if(e[e.length-1].right!=null)return!0;for(let t=e.length-1;t>0;--t)if(e[t-1].left===e[t])return!0;return!1}movePrev(){let e=this.stack;if(e.length===0)return;let t=e[e.length-1];if(t!=null&&t.left!=null){t=t.left;while(t!=null)e.push(t),t=t.right}else{e.pop();while(e.length>0&&e[e.length-1].left===t)t=e[e.length-1],e.pop()}}get hasPrev(){let e=this.stack;if(e.length===0)return!1;if(e[e.length-1].left!=null)return!0;for(let t=e.length-1;t>0;--t)if(e[t-1].right===e[t])return!0;return!1}}var Fe={Red:0,Black:1},_i=({color:e,count:t,key:n,left:r,right:o,value:i})=>({color:e,key:n,value:i,left:r,right:o,count:t});function AR(e,t){e.key=t.key,e.value=t.value,e.left=t.left,e.right=t.right,e.color=t.color,e.count=t.count}var Ra=({count:e,key:t,left:n,right:r,value:o},i)=>({color:i,key:t,value:o,left:n,right:r,count:e}),Yt=(e)=>{e.count=1+(e.left?.count??0)+(e.right?.count??0)};var Z$="effect/RedBlackTree",OR=Symbol.for(Z$),tse={_Key:(e)=>e,_Value:(e)=>e},nse={[OR]:tse,[Te](){let e=he(Z$);for(let t of this)e^=T(he(t[0]),Pe(he(t[1])));return Ze(this,e)},[ve](e){if($$(e)){if((this._root?.count??0)!==(e._root?.count??0))return!1;let t=Array.from(e);return Array.from(this).every((n,r)=>{let o=t[r];return ye(n[0],o[0])&&ye(n[1],o[1])})}return!1},[Symbol.iterator](){let e=[],t=this._root;while(t!=null)e.push(t),t=t.left;return new Ag(this,e,Vc.Forward)},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"RedBlackTree",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},Og=(e,t)=>{let n=Object.create(nse);return n._ord=e,n._root=t,n},$$=(e)=>ue(e,OR);var U$=h(2,(e,t)=>{let{_ord:n,_root:r}=e;while(r!==void 0){let o=n(t,r.key);if(ye(t,r.key))return H(r.value);if(o<=0)r=r.left;else r=r.right}return Z()});var DR=h(2,(e,t)=>lt(U$(e,t))),W$=h(3,(e,t,n)=>{let{_ord:r,_root:o}=e,i=[],s=[];while(o!=null){let c=r(t,o.key);if(i.push(o),s.push(c),c<=0)o=o.left;else o=o.right}i.push({color:Fe.Red,key:t,value:n,left:void 0,right:void 0,count:1});for(let c=i.length-2;c>=0;--c){let l=i[c];if(s[c]<=0)i[c]={color:l.color,key:l.key,value:l.value,left:i[c+1],right:l.right,count:l.count+1};else i[c]={color:l.color,key:l.key,value:l.value,left:l.left,right:i[c+1],count:l.count+1}}for(let c=i.length-1;c>1;--c){let l=i[c-1],u=i[c];if(l.color===Fe.Black||u.color===Fe.Black)break;let p=i[c-2];if(p.left===l)if(l.left===u){let d=p.right;if(d&&d.color===Fe.Red)l.color=Fe.Black,p.right=Ra(d,Fe.Black),p.color=Fe.Red,c-=1;else{if(p.color=Fe.Red,p.left=l.right,l.color=Fe.Black,l.right=p,i[c-2]=l,i[c-1]=u,Yt(p),Yt(l),c>=3){let g=i[c-3];if(g.left===p)g.left=l;else g.right=l}break}}else{let d=p.right;if(d&&d.color===Fe.Red)l.color=Fe.Black,p.right=Ra(d,Fe.Black),p.color=Fe.Red,c-=1;else{if(l.right=u.left,p.color=Fe.Red,p.left=u.right,u.color=Fe.Black,u.left=l,u.right=p,i[c-2]=u,i[c-1]=l,Yt(p),Yt(l),Yt(u),c>=3){let g=i[c-3];if(g.left===p)g.left=u;else g.right=u}break}}else if(l.right===u){let d=p.left;if(d&&d.color===Fe.Red)l.color=Fe.Black,p.left=Ra(d,Fe.Black),p.color=Fe.Red,c-=1;else{if(p.color=Fe.Red,p.right=l.left,l.color=Fe.Black,l.left=p,i[c-2]=l,i[c-1]=u,Yt(p),Yt(l),c>=3){let g=i[c-3];if(g.right===p)g.right=l;else g.left=l}break}}else{let d=p.left;if(d&&d.color===Fe.Red)l.color=Fe.Black,p.left=Ra(d,Fe.Black),p.color=Fe.Red,c-=1;else{if(l.left=u.right,p.color=Fe.Red,p.right=u.left,u.color=Fe.Black,u.right=l,u.left=p,i[c-2]=u,i[c-1]=l,Yt(p),Yt(l),Yt(u),c>=3){let g=i[c-3];if(g.right===p)g.right=u;else g.left=u}break}}}return i[0].color=Fe.Black,Og(e._ord,i[0])}),H$=(e)=>J$(e,Vc.Forward);var J$=(e,t)=>{let n=e[Symbol.iterator](),r=0;return{[Symbol.iterator]:()=>J$(e,t),next:()=>{r++;let o=n.key;if(t===Vc.Forward)n.moveNext();else n.movePrev();switch(o._tag){case"None":return{done:!0,value:r};case"Some":return{done:!1,value:o.value}}}}};var V$=h(2,(e,t)=>{if(!DR(e,t))return e;let n=e._ord,r=n,o=e._root,i=[];while(o!==void 0){let l=r(t,o.key);if(i.push(o),ye(t,o.key))o=void 0;else if(l<=0)o=o.left;else o=o.right}if(i.length===0)return e;let s=Array(i.length),c=i[i.length-1];s[s.length-1]={color:c.color,key:c.key,value:c.value,left:c.left,right:c.right,count:c.count};for(let l=i.length-2;l>=0;--l)if(c=i[l],c.left===i[l+1])s[l]={color:c.color,key:c.key,value:c.value,left:s[l+1],right:c.right,count:c.count};else s[l]={color:c.color,key:c.key,value:c.value,left:c.left,right:s[l+1],count:c.count};if(c=s[s.length-1],c.left!==void 0&&c.right!==void 0){let l=s.length;c=c.left;while(c.right!=null)s.push(c),c=c.right;let u=s[l-1];s.push({color:c.color,key:u.key,value:u.value,left:c.left,right:c.right,count:c.count}),s[l-1].key=c.key,s[l-1].value=c.value;for(let p=s.length-2;p>=l;--p)c=s[p],s[p]={color:c.color,key:c.key,value:c.value,left:c.left,right:s[p+1],count:c.count};s[l-1].left=s[l]}if(c=s[s.length-1],c.color===Fe.Red){let l=s[s.length-2];if(l.left===c)l.left=void 0;else if(l.right===c)l.right=void 0;s.pop();for(let u=0;u<s.length;++u)s[u].count--;return Og(n,s[0])}else if(c.left!==void 0||c.right!==void 0){if(c.left!==void 0)AR(c,c.left);else if(c.right!==void 0)AR(c,c.right);c.color=Fe.Black;for(let l=0;l<s.length-1;++l)s[l].count--;return Og(n,s[0])}else if(s.length===1)return Og(n,void 0);else{for(let u=0;u<s.length;++u)s[u].count--;let l=s[s.length-2];if(rse(s),l.left===c)l.left=void 0;else l.right=void 0}return Og(n,s[0])});var rse=(e)=>{let t,n,r,o;for(let i=e.length-1;i>=0;--i){if(t=e[i],i===0){t.color=Fe.Black;return}if(n=e[i-1],n.left===t){if(r=n.right,r!==void 0&&r.right!==void 0&&r.right.color===Fe.Red){if(r=n.right=_i(r),o=r.right=_i(r.right),n.right=r.left,r.left=n,r.right=o,r.color=n.color,t.color=Fe.Black,n.color=Fe.Black,o.color=Fe.Black,Yt(n),Yt(r),i>1){let s=e[i-2];if(s.left===n)s.left=r;else s.right=r}e[i-1]=r;return}else if(r!==void 0&&r.left!==void 0&&r.left.color===Fe.Red){if(r=n.right=_i(r),o=r.left=_i(r.left),n.right=o.left,r.left=o.right,o.left=n,o.right=r,o.color=n.color,n.color=Fe.Black,r.color=Fe.Black,t.color=Fe.Black,Yt(n),Yt(r),Yt(o),i>1){let s=e[i-2];if(s.left===n)s.left=o;else s.right=o}e[i-1]=o;return}if(r!==void 0&&r.color===Fe.Black)if(n.color===Fe.Red){n.color=Fe.Black,n.right=Ra(r,Fe.Red);return}else{n.right=Ra(r,Fe.Red);continue}else if(r!==void 0){if(r=_i(r),n.right=r.left,r.left=n,r.color=n.color,n.color=Fe.Red,Yt(n),Yt(r),i>1){let s=e[i-2];if(s.left===n)s.left=r;else s.right=r}if(e[i-1]=r,e[i]=n,i+1<e.length)e[i+1]=t;else e.push(t);i=i+2}}else{if(r=n.left,r!==void 0&&r.left!==void 0&&r.left.color===Fe.Red){if(r=n.left=_i(r),o=r.left=_i(r.left),n.left=r.right,r.right=n,r.left=o,r.color=n.color,t.color=Fe.Black,n.color=Fe.Black,o.color=Fe.Black,Yt(n),Yt(r),i>1){let s=e[i-2];if(s.right===n)s.right=r;else s.left=r}e[i-1]=r;return}else if(r!==void 0&&r.right!==void 0&&r.right.color===Fe.Red){if(r=n.left=_i(r),o=r.right=_i(r.right),n.left=o.right,r.right=o.left,o.right=n,o.left=r,o.color=n.color,n.color=Fe.Black,r.color=Fe.Black,t.color=Fe.Black,Yt(n),Yt(r),Yt(o),i>1){let s=e[i-2];if(s.right===n)s.right=o;else s.left=o}e[i-1]=o;return}if(r!==void 0&&r.color===Fe.Black)if(n.color===Fe.Red){n.color=Fe.Black,n.left=Ra(r,Fe.Red);return}else{n.left=Ra(r,Fe.Red);continue}else if(r!==void 0){if(r=_i(r),n.left=r.right,r.right=n,r.color=n.color,n.color=Fe.Red,Yt(n),Yt(r),i>1){let s=e[i-2];if(s.right===n)s.right=r;else s.left=r}if(e[i-1]=r,e[i]=n,i+1<e.length)e[i+1]=t;else e.push(t);i=i+2}}}};var G$=DR,Q$=W$,K$=H$;var Y$=V$;var MR=Symbol.for("effect/SortedSet"),sse={[MR]:{_A:(e)=>e},[Te](){return T(he(this.keyTree),Pe(he(MR)),Ze(this))},[ve](e){return ase(e)&&ye(this.keyTree,e.keyTree)},[Symbol.iterator](){return K$(this.keyTree)},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"SortedSet",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},X$=(e)=>{let t=Object.create(sse);return t.keyTree=e,t},ase=(e)=>ue(e,MR);var eU=h(2,(e,t)=>G$(e.keyTree,t)?e:X$(Q$(e.keyTree,t,!0)));var tU=h(2,(e,t)=>X$(Y$(e.keyTree,t)));var lse="effect/Supervisor",Rd=Symbol.for(lse),Dg={_T:(e)=>e};class Pd{underlying;value0;[Rd]=Dg;constructor(e,t){this.underlying=e,this.value0=t}get value(){return this.value0}onStart(e,t,n,r){this.underlying.onStart(e,t,n,r)}onEnd(e,t){this.underlying.onEnd(e,t)}onEffect(e,t){this.underlying.onEffect(e,t)}onSuspend(e){this.underlying.onSuspend(e)}onResume(e){this.underlying.onResume(e)}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}}class Ad{left;right;_tag="Zip";[Rd]=Dg;constructor(e,t){this.left=e,this.right=t}get value(){return ru(this.left.value,this.right.value)}onStart(e,t,n,r){this.left.onStart(e,t,n,r),this.right.onStart(e,t,n,r)}onEnd(e,t){this.left.onEnd(e,t),this.right.onEnd(e,t)}onEffect(e,t){this.left.onEffect(e,t),this.right.onEffect(e,t)}onSuspend(e){this.left.onSuspend(e),this.right.onSuspend(e)}onResume(e){this.left.onResume(e),this.right.onResume(e)}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}}var _R=(e)=>ue(e,Rd)&&ac(e,"Zip");class nU{[Rd]=Dg;fibers=new Set;get value(){return U(()=>Array.from(this.fibers))}onStart(e,t,n,r){this.fibers.add(r)}onEnd(e,t){this.fibers.delete(t)}onEffect(e,t){}onSuspend(e){}onResume(e){}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}onRun(e,t){return e()}}class rU{effect;[Rd]=Dg;constructor(e){this.effect=e}get value(){return this.effect}onStart(e,t,n,r){}onEnd(e,t){}onEffect(e,t){}onSuspend(e){}onResume(e){}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}onRun(e,t){return e()}}class use{ref;[Rd]=Dg;constructor(e){this.ref=e}get value(){return U(()=>io(this.ref))}onStart(e,t,n,r){T(this.ref,Jo(T(io(this.ref),eU(r))))}onEnd(e,t){T(this.ref,Jo(T(io(this.ref),tU(t))))}onEffect(e,t){}onSuspend(e){}onResume(e){}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}onRun(e,t){return e()}}var pse=()=>new nU,oU=U(pse),dse=(e)=>new rU(e),ku=Le("effect/Supervisor/none",()=>dse($e));var iU=xc;var sU="Empty",aU="AddSupervisor",cU="RemoveSupervisor",lU="AndThen",Od={_tag:sU},FS=(e,t)=>({_tag:lU,first:e,second:t}),fse=(e,t)=>gse(t,cn(e)),gse=(e,t)=>{let n=e,r=t;while(_t(r)){let o=ut(r);switch(o._tag){case sU:{r=zt(r);break}case aU:{n=n.zip(o.supervisor),r=zt(r);break}case cU:{n=zR(n,o.supervisor),r=zt(r);break}case lU:{r=Zt(o.first)(Zt(o.second)(zt(r)));break}}}return n},zR=(e,t)=>{if(ye(e,t))return ku;else if(_R(e))return zR(e.left,t).zip(zR(e.right,t));else return e},NS=(e)=>{if(ye(e,ku))return Ho();else if(_R(e))return T(NS(e.left),os(NS(e.right)));else return Ii(e)},hse=(e,t)=>{if(ye(e,t))return Od;let n=NS(e),r=NS(t),o=T(r,DE(n),Wl(Od,(s,c)=>FS(s,{_tag:aU,supervisor:c}))),i=T(n,DE(r),Wl(Od,(s,c)=>FS(s,{_tag:cU,supervisor:c})));return FS(o,i)},uU=iU({empty:Od,patch:fse,combine:FS,diff:hse});var bse=Rg("effect_fiber_started",{incremental:!0}),pU=Rg("effect_fiber_active"),xse=Rg("effect_fiber_successes",{incremental:!0}),Sse=Rg("effect_fiber_failures",{incremental:!0}),vse=L$(B$("effect_fiber_lifetimes",HZ({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),Mg="Continue",wse="Done",dU="Yield",Tse={_E:(e)=>e,_A:(e)=>e},jS=(e)=>{throw Error(`BUG: FiberRuntime - ${Js(e)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},Pa=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),Aa=Le("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),_g={[Ip]:(e,t,n)=>an(()=>t.effect_instruction_i1(n)),["OnStep"]:(e,t,n)=>Tt(Tt(n)),[kp]:(e,t,n)=>an(()=>t.effect_instruction_i2(n)),[ef]:(e,t,n)=>{if(e.patchRuntimeFlags(e.currentRuntimeFlags,t.patch),Pi(e.currentRuntimeFlags)&&e.isInterrupted())return at(e.getInterruptedCause());else return Tt(n)},[Rp]:(e,t,n)=>{if(an(()=>t.effect_instruction_i2(n)),an(()=>t.effect_instruction_i0()))return e.pushStack(t),an(()=>t.effect_instruction_i1());else return $e},[Nl]:(e,t,n)=>{while(!0){let r=an(()=>t.effect_instruction_i0.next(n));if(r.done)return Tt(r.value);let o=Dl(r.value);if(!uu(o))return e.pushStack(t),o;else if(o._tag==="Failure")return o;n=o.value}}},Cse={[eR]:(e,t,n,r)=>(e.processNewInterruptSignal(r.cause),Pi(t)?at(r.cause):n),[nR]:(e,t,n,r)=>{throw Error("It is illegal to have multiple concurrent run loops in a single fiber")},[tR]:(e,t,n,r)=>(r.onFiber(e,YI(t)),n),[rR]:(e,t,n,r)=>R(ms(),()=>n)},Ese=(e)=>So(GN(e),(t)=>Oa(YN(t),([n,r])=>{let o=new Map,i=[];for(let c of r){i.push(qo(c));for(let l of c)o.set(l.request,l)}let s=i.flat();return rn(jse(n.runAll(i),s,()=>s.forEach((c)=>{c.listeners.interrupted=!0})),uS,o)},!1,!1)),Ise=nf();class $S extends Bc{[Ca]=kd;[vg]=Tse;_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(e,t,n){super();if(this.currentRuntimeFlags=n,this._fiberId=e,this._fiberRefs=t,nI(n)){let r=this.getFiberRef(fa);bse.unsafeUpdate(1,r),pU.unsafeUpdate(1,r)}this.refreshRefCache()}commit(){return er(this)}id(){return this._fiberId}resume(e){this.tell(Tu(e))}get status(){return this.ask((e,t)=>t)}get runtimeFlags(){return this.ask((e,t)=>{if(Hx(t))return e.currentRuntimeFlags;return t.runtimeFlags})}scope(){return SZ(this)}get children(){return this.ask((e)=>Array.from(e.getChildren()))}getChildren(){if(this._children===null)this._children=new Set;return this._children}getInterruptedCause(){return this.getFiberRef(su)}fiberRefs(){return this.ask((e)=>e.getFiberRefs())}ask(e){return Ae(()=>{let t=tg(this._fiberId);return this.tell(Id((n,r)=>{ld(t,U(()=>e(n,r)))})),Zn(t)})}tell(e){if(this._queue.push(e),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return vr((e)=>{let t=(n)=>e(M(n));if(this._exitValue!==null){t(this._exitValue);return}return this.tell(Id((n,r)=>{if(n._exitValue!==null)t(this._exitValue);else n.addObserver(t)})),U(()=>this.tell(Id((n,r)=>{n.removeObserver(t)})))},this.id())}get inheritAll(){return Xe((e,t)=>{let n=e.id(),r=e.getFiberRefs(),o=t.runtimeFlags,i=this.getFiberRefs(),s=Bx(r,n,i);e.setFiberRefs(s);let c=e.getFiberRef(gU),l=T(Vo(o,c),sI(Ri),sI(Xb));return Pc(l)})}get poll(){return U(()=>eo(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork(e){return U(()=>this.tell(CS(Kn(e))))}unsafeInterruptAsFork(e){this.tell(CS(Kn(e)))}addObserver(e){if(this._exitValue!==null)e(this._exitValue);else this._observers.push(e)}removeObserver(e){this._observers=this._observers.filter((t)=>t!==e)}getFiberRefs(){return this.setFiberRef(gU,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef(e){this._fiberRefs=ag(this._fiberRefs,e)}getFiberRef(e){if(this._fiberRefs.locals.has(e))return this._fiberRefs.locals.get(e)[0][1];return e.initial}setFiberRef(e,t){this._fiberRefs=ud(this._fiberRefs,{fiberId:this._fiberId,fiberRef:e,value:t}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(Kt),this.currentTracer=this.currentDefaultServices.unsafeMap.get(va.key),this.currentSupervisor=this.getFiberRef(HS),this.currentScheduler=this.getFiberRef(ya),this.currentContext=this.getFiberRef(lo),this.currentSpan=this.currentContext.unsafeMap.get(kr.key)}setFiberRefs(e){this._fiberRefs=e,this.refreshRefCache()}addChild(e){this.getChildren().add(e)}removeChild(e){this.getChildren().delete(e)}transferChildren(e){let t=this._children;if(this._children=null,t!==null&&t.size>0){for(let n of t)if(n._exitValue===null)e.add(this.currentRuntimeFlags,n)}}drainQueueOnCurrentThread(){let e=!0;while(e){let t=Mg,n=globalThis[Ea];globalThis[Ea]=this;try{while(t===Mg)t=this._queue.length===0?wse:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[Ea]=n}if(this._queue.length>0&&!this._running)if(this._running=!0,t===dU)this.drainQueueLaterOnExecutor(),e=!1;else e=!0;else e=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(da),this)}drainQueueWhileRunning(e,t){let n=t;while(this._queue.length>0){let r=this._queue.splice(0,1)[0];n=Cse[r._tag](this,e,n,r)}return n}isInterrupted(){return!Rf(this.getFiberRef(su))}addInterruptedCause(e){let t=this.getFiberRef(su);this.setFiberRef(su,wt(t,e))}processNewInterruptSignal(e){this.addInterruptedCause(e),this.sendInterruptSignalToAllChildren()}sendInterruptSignalToAllChildren(){if(this._children===null||this._children.size===0)return!1;let e=!1;for(let t of this._children)t.tell(CS(Kn(this.id()))),e=!0;return e}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let e=this._children.values();this._children=null;let t=!1;return Ac({while:()=>!t,body:()=>{let r=e.next();if(!r.done)return Qt(r.value.await);else return U(()=>{t=!0})},step:()=>{}})}return null}reportExitValue(e){if(nI(this.currentRuntimeFlags)){let t=this.getFiberRef(fa),n=this.id().startTimeMillis,r=Date.now();switch(vse.unsafeUpdate(r-n,t),pU.unsafeUpdate(-1,t),e._tag){case Et:{xse.unsafeUpdate(1,t);break}case Ct:{Sse.unsafeUpdate(1,t);break}}}if(e._tag==="Failure"){let t=this.getFiberRef(Vf);if(!Ql(e.cause)&&t._tag==="Some")this.log("Fiber terminated with an unhandled error",e.cause,t)}}setExitValue(e){this._exitValue=e,this.reportExitValue(e);for(let t=this._observers.length-1;t>=0;t--)this._observers[t](e);this._observers=[]}getLoggers(){return this.getFiberRef(yU)}log(e,t,n){let r=lt(n)?n.value:this.getFiberRef(CI),o=this.getFiberRef(NR);if(ik(o,r))return;let i=this.getFiberRef(wx),s=this.getFiberRef(ma),c=this.getLoggers(),l=this.getFiberRefs();if(ea(c)>0){let u=Pn(this.getFiberRef(Kt),Zr),p=new Date(u.unsafeCurrentTimeMillis());fz(l,()=>{for(let d of c)d.log({fiberId:this.id(),logLevel:r,message:e,cause:t,context:l,spans:i,annotations:s,date:p})})}}evaluateMessageWhileSuspended(e){switch(e._tag){case rR:return dU;case eR:{if(this.processNewInterruptSignal(e.cause),this._asyncInterruptor!==null)this._asyncInterruptor(at(e.cause)),this._asyncInterruptor=null;return Mg}case nR:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect(e.effect),Mg;case tR:return e.onFiber(this,this._exitValue!==null?tL:nL(this.currentRuntimeFlags,this._asyncBlockingOn)),Mg;default:return jS(e)}}evaluateEffect(e){this.currentSupervisor.onResume(this);try{let t=Pi(this.currentRuntimeFlags)&&this.isInterrupted()?at(this.getInterruptedCause()):e;while(t!==null){let n=t,r=this.runLoop(n);if(r===Pa){let o=Aa.currentOp;if(Aa.currentOp=null,o._op===Pp)if(UN(this.currentRuntimeFlags))this.tell(hZ()),this.tell(Tu(Ir)),t=null;else t=Ir;else if(o._op===zl)t=null}else{this.currentRuntimeFlags=T(this.currentRuntimeFlags,eI(Xb));let o=this.interruptAllChildren();if(o!==null)t=R(o,()=>r);else{if(this._queue.length===0)this.setExitValue(r);else this.tell(Tu(r));t=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start(e){if(!this._running){this._running=!0;let t=globalThis[Ea];globalThis[Ea]=this;try{this.evaluateEffect(e)}finally{if(this._running=!1,globalThis[Ea]=t,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(Tu(e))}startFork(e){this.tell(Tu(e))}patchRuntimeFlags(e,t){let n=na(e,t);return globalThis[Ea]=this,this.currentRuntimeFlags=n,n}initiateAsync(e,t){let n=!1,r=(o)=>{if(!n)n=!0,this.tell(Tu(o))};if(Pi(e))this._asyncInterruptor=r;try{t(r)}catch(o){r(Ye(Vt(o)))}}pushStack(e){if(this._stack.push(e),e._op==="OnStep")this._steps.push({refs:this.getFiberRefs(),flags:this.currentRuntimeFlags})}popStack(){let e=this._stack.pop();if(e){if(e._op==="OnStep")this._steps.pop();return e}return}getNextSuccessCont(){let e=this.popStack();while(e){if(e._op!==Ep)return e;e=this.popStack()}}getNextFailCont(){let e=this.popStack();while(e){if(e._op!==Ip&&e._op!==Rp&&e._op!==Nl)return e;e=this.popStack()}}[hz](e){return U(()=>$o(this.currentContext,e))}["Left"](e){return Ve(e.left)}["None"](e){return Ve(new Er)}["Right"](e){return Tt(e.right)}["Some"](e){return Tt(e.value)}["Micro"](e){return nd((t)=>{let n=t,r=vL(hL(e,this.currentContext));return r.addObserver((o)=>{if(o._tag==="Success")return n(Tt(o.value));switch(o.cause._tag){case"Interrupt":return n(at(Kn(Cn)));case"Fail":return n(Ve(o.cause.error));case"Die":return n(ur(o.cause.defect))}}),nd((o)=>{n=(i)=>{o($e)},r.unsafeInterrupt()})})}[Jy](e){let t=an(()=>e.effect_instruction_i0()),n=this.getNextSuccessCont();if(n!==void 0){if(!(n._op in _g))jS(n);return _g[n._op](this,n,t)}else return Aa.currentOp=Tt(t),Pa}[Et](e){let t=e,n=this.getNextSuccessCont();if(n!==void 0){if(!(n._op in _g))jS(n);return _g[n._op](this,n,t.effect_instruction_i0)}else return Aa.currentOp=t,Pa}[Ct](e){let t=e.effect_instruction_i0,n=this.getNextFailCont();if(n!==void 0)switch(n._op){case Ep:case kp:if(!(Pi(this.currentRuntimeFlags)&&this.isInterrupted()))return an(()=>n.effect_instruction_i1(t));else return at(Pf(t));case"OnStep":if(!(Pi(this.currentRuntimeFlags)&&this.isInterrupted()))return Tt(at(t));else return at(Pf(t));case ef:if(this.patchRuntimeFlags(this.currentRuntimeFlags,n.patch),Pi(this.currentRuntimeFlags)&&this.isInterrupted())return at(wt(t,this.getInterruptedCause()));else return at(t);default:jS(n)}else return Aa.currentOp=at(t),Pa}[Vy](e){return an(()=>e.effect_instruction_i0(this,YI(this.currentRuntimeFlags)))}["Blocked"](e){let t=this.getFiberRefs(),n=this.currentRuntimeFlags;if(this._steps.length>0){let r=[],o=this._steps[this._steps.length-1],i=this.popStack();while(i&&i._op!=="OnStep")r.push(i),i=this.popStack();this.setFiberRefs(o.refs),this.currentRuntimeFlags=o.flags;let s=mu(o.refs,t),c=Vo(o.flags,n);return Tt(sa(e.effect_instruction_i0,Xe((l)=>{while(r.length>0)l.pushStack(r.pop());return l.setFiberRefs(fu(l.id(),l.getFiberRefs())(s)),l.currentRuntimeFlags=na(c)(l.currentRuntimeFlags),e.effect_instruction_i1})))}return ln((r)=>R(Dd(lx(e.effect_instruction_i0)),()=>r(e.effect_instruction_i1)))}["RunBlocked"](e){return Ese(e.effect_instruction_i0)}[Vs](e){let t=e.effect_instruction_i0,n=this.currentRuntimeFlags,r=na(n,t);if(Pi(r)&&this.isInterrupted())return at(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,t),e.effect_instruction_i1){let o=Vo(r,n);return this.pushStack(new yI(o,e)),an(()=>e.effect_instruction_i1(n))}else return Ir}[Ip](e){return this.pushStack(e),e.effect_instruction_i0}["OnStep"](e){return this.pushStack(e),e.effect_instruction_i0}[Ep](e){return this.pushStack(e),e.effect_instruction_i0}[kp](e){return this.pushStack(e),e.effect_instruction_i0}[zl](e){return this._asyncBlockingOn=e.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,e.effect_instruction_i0),Aa.currentOp=e,Pa}[Pp](e){return this._isYielding=!1,Aa.currentOp=e,Pa}[Rp](e){let{effect_instruction_i0:t,effect_instruction_i1:n}=e;if(t())return this.pushStack(e),n();else return Ir}[Nl](e){return _g[Nl](this,e,void 0)}[Fl](e){return an(()=>e.commit())}runLoop(e){let t=e;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&$N)!==0)this.currentSupervisor.onEffect(this,t);if(this._queue.length>0)t=this.drainQueueWhileRunning(this.currentRuntimeFlags,t);if(!this._isYielding){this.currentOpCount+=1;let n=this.currentScheduler.shouldYield(this);if(n!==!1){this._isYielding=!0,this.currentOpCount=0;let r=t;t=R(ms({priority:n}),()=>r)}}try{if(t=this.currentTracer.context(()=>{if(Ise!==t[aa]._V){let n=this.getFiberRef(Cx);if(n._tag==="Some"){let r=t[aa]._V;this.log(`Executing an Effect versioned ${r} with a Runtime of version ${nf()}, 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`,En,n)}}return this[t._op](t)},this),t===Pa){let n=Aa.currentOp;if(n._op===Pp||n._op===zl)return Pa;return Aa.currentOp=null,n._op===Et||n._op===Ct?n:at(Vt(n))}}catch(n){if(t!==Pa&&!ue(t,"_op")||!(t._op in this))t=Ec(`Not a valid effect: ${Js(t)}`);else if(Ix(n))t=at(wt(Vt(n),Kn(Cn)));else t=ur(n)}}}run=()=>{this.drainQueueOnCurrentThread()}}var NR=Le("effect/FiberRef/currentMinimumLogLevel",()=>on(sk("Info"))),kse=(e)=>DS((t)=>{let n=MB(t.context,Kt);Pn(n,xa).unsafe.log(e.log(t))});var Rse=Le(Symbol.for("effect/Logger/defaultLogger"),()=>kse(ZZ));var Pse=Le(Symbol.for("effect/Logger/tracerLogger"),()=>DS(({annotations:e,cause:t,context:n,fiberId:r,logLevel:o,message:i})=>{let s=xg(bo(ha(n,lo),kr));if(s._tag==="None"||s.value._tag==="ExternalSpan")return;let c=$o(ha(n,Kt),Zr),l={};for(let[u,p]of e)l[u]=p;if(l["effect.fiberId"]=fN(r),l["effect.logLevel"]=o.label,t!==null&&t._tag!=="Empty")l["effect.cause"]=Oi(t,{renderErrorCause:!0});s.value.event(Js(Array.isArray(i)&&i.length===1?i[0]:i),c.unsafeCurrentTimeNanos(),l)}));var yU=Le(Symbol.for("effect/FiberRef/currentLoggers"),()=>qj(Ii(Rse,Pse)));var bU=function(){if(typeof arguments[0]==="string")return mr(ma,Sr(arguments[0],arguments[1]));let e=Object.entries(arguments[0]);return mr(ma,yN((t)=>{for(let n=0;n<e.length;n++){let[r,o]=e[n];Sr(t,r,o)}return t}))},xU=h(2,(e,t)=>{let n=typeof t==="string"?sk(t):t;return Xe((r)=>{let o=r.getFiberRef(NR);if(ik(o,n))return M(Z());return X(e,H)})}),Pu=h((e)=>mt(e[0]),(e,t)=>pa(Tr(e,(n)=>hs((r)=>t(n,r))))),SU=h((e)=>mt(e[0]),(e,t)=>ko(e,hs((n)=>t(n)))),hs=(e)=>Xe((t)=>{let n=t.getFiberRefs(),r=XE(t.currentRuntimeFlags,Ri);return R(UR,(o)=>_c(o,(i)=>Xe((s)=>{let c=s.getFiberRefs(),l=s.currentRuntimeFlags,u=mu(c,n),p=Vo(l,r),d=mu(n,c);return s.setFiberRefs(fu(u,s.id(),n)),ko(xx(e(i),p),U(()=>{s.setFiberRefs(fu(d,s.id(),s.getFiberRefs()))}))})))}),vU=(e)=>rn(_f,H(Mi))(e),mU=Symbol.for("effect/Effect/existsPar/found"),wU=h((e)=>Bo(e[0])&&!mt(e[0]),(e,t,n)=>dg(n?.concurrency,()=>Ae(()=>TU(e[Symbol.iterator](),0,t)),()=>On(Io(e,(r,o)=>mx(t(r,o),{onTrue:()=>Ve(mU),onFalse:()=>$e}),n),{onFailure:(r)=>r===mU?M(!0):Ve(r),onSuccess:()=>M(!1)}))),TU=(e,t,n)=>{let r=e.next();if(r.done)return M(!1);return R(n(r.value,t),(o)=>o?M(o):TU(e,t+1,n))},CU=h((e)=>Bo(e[0])&&!mt(e[0]),(e,t,n)=>{let r=n?.negate?(o,i)=>X(t(o,i),wB):t;return dg(n?.concurrency,()=>Ae(()=>Ne(e).reduceRight((o,i,s)=>Lr(o,Ae(()=>r(i,s)),(c,l)=>l?[i,...c]:c),U(()=>[]))),()=>X(Io(e,(o,i)=>X(r(o,i),(s)=>s?H(o):Z()),n),eF))}),Ase=(e)=>{if(Array.isArray(e)||Bo(e))return[e,Z()];let t=Object.keys(e),n=t.length;return[t.map((r)=>e[r]),H((r)=>{let o={};for(let i=0;i<n;i++)o[t[i]]=r[i];return o})]},Ose=(e,t,n)=>{let r=[];for(let o of e)r.push(Go(o));return R(Io(r,He,{concurrency:n?.concurrency,batching:n?.batching,concurrentFinalizers:n?.concurrentFinalizers}),(o)=>{let i=Z(),s=o.length,c=Array(s),l=Array(s),u=!1;for(let p=0;p<s;p++){let d=o[p];if(d._tag==="Left")c[p]=H(d.left),u=!0;else l[p]=d.right,c[p]=i}if(u)return t._tag==="Some"?Ve(t.value(c)):Ve(c);else if(n?.discard)return $e;return t._tag==="Some"?M(t.value(l)):M(l)})},Dse=(e,t,n)=>{let r=[];for(let o of e)r.push(Go(o));if(n?.discard)return Io(r,He,{concurrency:n?.concurrency,batching:n?.batching,discard:!0,concurrentFinalizers:n?.concurrentFinalizers});return X(Io(r,He,{concurrency:n?.concurrency,batching:n?.batching,concurrentFinalizers:n?.concurrentFinalizers}),(o)=>t._tag==="Some"?t.value(o):o)},Gc=(e,t)=>{let[n,r]=Ase(e);if(t?.mode==="validate")return Ose(n,r,t);else if(t?.mode==="either")return Dse(n,r,t);return t?.discard!==!0&&r._tag==="Some"?X(Io(n,He,t),r.value):Io(n,He,t)},EU=(e)=>(t)=>Gc(t,e),IU=(e,t)=>X(Gc(Ne(e).map(Nt),t),Mp((n)=>Xf(n)?H(n.effect_instruction_i0):Z())),jR=h(2,(e,t)=>Array.from({length:t},()=>e)),kU=h((e)=>mt(e[0]),(e,t,n)=>Gc(jR(e,t),n)),Io=h((e)=>Bo(e[0]),(e,t,n)=>Xe((r)=>{let o=n?.batching===!0||n?.batching==="inherit"&&r.getFiberRef(Jf);if(n?.discard)return Sk(n.concurrency,()=>Ru(Fx,n?.concurrentFinalizers)((i)=>o?Oa(e,(s,c)=>i(t(s,c)),!0,!1,1):So(e,(s,c)=>i(t(s,c)))),()=>Ru(Nx,n?.concurrentFinalizers)((i)=>Oa(e,(s,c)=>i(t(s,c)),o,!1)),(i)=>Ru(jx(i),n?.concurrentFinalizers)((s)=>Oa(e,(c,l)=>s(t(c,l)),o,!1,i)));return Sk(n?.concurrency,()=>Ru(Fx,n?.concurrentFinalizers)((i)=>o?FR(e,1,(s,c)=>i(t(s,c)),!0):Yn(e,(s,c)=>i(t(s,c)))),()=>Ru(Nx,n?.concurrentFinalizers)((i)=>BS(e,(s,c)=>i(t(s,c)),o)),(i)=>Ru(jx(i),n?.concurrentFinalizers)((s)=>FR(e,i,(c,l)=>s(t(c,l)),o)))})),BS=(e,t,n)=>Ae(()=>{let r=Ne(e),o=Array(r.length);return rt(Oa(r,(s,c)=>R(t(s,c),(l)=>U(()=>o[c]=l)),n,!1),M(o))}),Oa=(e,t,n,r,o)=>ln((i)=>yx((s)=>Xe((c)=>{let l=Array.from(e).reverse(),u=l.length;if(u===0)return $e;let p=0,d=!1,g=o?Math.min(l.length,o):l.length,f=new Set,v=[],w=()=>f.forEach((ke)=>{ke.currentScheduler.scheduleTask(()=>{ke.unsafeInterruptAsFork(c.id())},0,ke)}),I=[],A=[],L=[],N=()=>{let ke=v.filter(({exit:Me})=>Me._tag==="Failure").sort((Me,te)=>Me.index<te.index?-1:Me.index===te.index?0:1).map(({exit:Me})=>Me);if(ke.length===0)ke.push(Ir);return ke},re=(ke,Me=!1)=>{let te=pa(s(ke)),ce=Mse(te,c,c.currentRuntimeFlags,Mi);return c.currentScheduler.scheduleTask(()=>{if(Me)ce.unsafeInterruptAsFork(c.id());ce.resume(te)},0,ce),ce},Ee=()=>{if(!r)u-=l.length,l=[];d=!0,w()},D=n?dx:Nt,Ce=re(vr((ke)=>{let Me=(ce,Y)=>{if(ce._op==="Blocked")L.push(ce);else if(v.push({index:Y,exit:ce}),ce._op==="Failure"&&!d)Ee()},te=()=>{if(l.length>0){let ce=l.pop(),Y=p++,G=()=>{let Qe=l.pop();return Y=p++,R(ms(),()=>R(D(i(t(Qe,Y))),me))},me=(Qe)=>{if(l.length>0){if(Me(Qe,Y),l.length>0)return G()}return M(Qe)},xe=R(D(i(t(ce,Y))),me),se=re(xe);if(I.push(se),f.add(se),d)se.currentScheduler.scheduleTask(()=>{se.unsafeInterruptAsFork(c.id())},0,se);se.addObserver((Qe)=>{let ft;if(Qe._op==="Failure")ft=Qe;else ft=Qe.effect_instruction_i0;if(A.push(se),f.delete(se),Me(ft,Y),v.length===u)ke(M(wn(zc(N(),{parallel:!0}),()=>Ir)));else if(L.length+v.length===u){let bn=N(),C=L.map((Lt)=>Lt.effect_instruction_i0).reduce(cI);ke(M(sa(C,Oa([wn(zc(bn,{parallel:!0}),()=>Ir),...L.map((Lt)=>Lt.effect_instruction_i1)],(Lt)=>Lt,n,!0,o))))}else te()})}};for(let ce=0;ce<g;ce++)te()}));return Qt(Br(wr(i(er(Ce))),pu({onFailure:(ke)=>{Ee();let Me=L.length+1,te=Math.min(typeof o==="number"?o:L.length,L.length),ce=Array.from(L);return vr((Y)=>{let G=[],me=0,xe=0,se=(ft,bn)=>(C)=>{if(G[ft]=C,me++,me===Me)Y(Tt(at(ke)));if(ce.length>0&&bn)Qe()},Qe=()=>{re(ce.pop(),!0).addObserver(se(xe,!0)),xe++};Ce.addObserver(se(xe,!1)),xe++;for(let ft=0;ft<te;ft++)Qe()})},onSuccess:()=>Yn(A,(ke)=>ke.inheritAll)})))}))),FR=(e,t,n,r)=>Ae(()=>{let o=Ne(e),i=Array(o.length);return rt(Oa(o,(c,l)=>X(n(c,l),(u)=>i[l]=u),r,!1,t),M(i))}),Da=(e)=>Xe((t,n)=>M(zg(e,t,n.runtimeFlags))),Dd=(e)=>_se(e,Mi),RU=h(2,(e,t)=>Da(hx(e,(n)=>{let r=Ai(n);switch(r._tag){case"Left":return t(r.left);case"Right":return Ye(r.right)}}))),zg=(e,t,n,r=null)=>{let o=LS(e,t,n,r);return o.resume(e),o},Mse=(e,t,n,r=null)=>LS(e,t,n,r),LS=(e,t,n,r=null)=>{let o=Zb(),i=t.getFiberRefs(),s=HI(i,o),c=new $S(o,s,n),l=ha(s,lo),u=c.currentSupervisor;return u.onStart(l,e,H(t),c),c.addObserver((d)=>u.onEnd(d,c)),(r!==null?r:T(t.getFiberRef(_f),wn(()=>t.scope()))).add(n,c),c},_se=(e,t)=>Xe((n,r)=>M(zg(e,n,r.runtimeFlags,t))),BR=h((e)=>jo(e[2]),(e,t,n,r)=>dg(r?.concurrency,()=>Ne(e).reduce((o,i,s)=>Lr(o,i,(c,l)=>n(c,l,s)),M(t)),()=>R(iS(t),(o)=>R(Io(e,(i,s)=>R(i,(c)=>IL(o,(l)=>n(l,c,s))),r),()=>sS(o))))),LR=h((e)=>Bo(e[0]),(e,t,n)=>T(Io(e,(r,o)=>Go(t(r,o)),n),X((r)=>Pj(r,He)))),PU=h((e)=>Bo(e[0]),(e,t,n)=>R(LR(e,t,{concurrency:n?.concurrency,batching:n?.batching,concurrentFinalizers:n?.concurrentFinalizers}),([r,o])=>ib(r)?Ve(r):n?.discard?$e:M(o))),AU=(e)=>Xe((t,n)=>vr((r)=>{let o=new Set,i,s=En,c=()=>{for(let p of o)p.unsafeInterruptAsFork(t.id())},l=!1,u=!0;for(let p of e){u=!1;let d=zg(ua(p),t,n.runtimeFlags);if(o.add(d),d.addObserver((g)=>{if(o.delete(d),!i)if(g._tag==="Success")l=!0,i=d,s=En,c();else s=Gt(g.cause,s);if(l&&o.size===0)r(i?rt(AS(i),i.unsafePoll()):Ye(s))}),i)break}if(u)return r(xo(()=>new Ko("Received an empty collection of effects")));return l=!0,wg(o,t.id())})),OU=h((e)=>Bo(e[0])&&!mt(e[0]),(e,t,n,r)=>dg(r?.concurrency,()=>Ne(e).reduce((o,i,s)=>Lr(o,i,(c,l)=>n(c,l,s)),t),()=>Ae(()=>T(BR([t,...e],Z(),(o,i,s)=>{switch(o._tag){case"None":return H(i);case"Some":return H(n(o.value,i,s))}},r),X((o)=>{switch(o._tag){case"None":throw Error("BUG: Effect.reduceEffect - please report an issue at https://github.com/Effect-TS/effect/issues");case"Some":return o.value}}))))),qS=(e)=>To((t)=>vn(bo(t,bs),{onNone:()=>e,onSome:(n)=>{switch(n.strategy._tag){case"Parallel":return e;case"Sequential":case"ParallelN":return R(wo(n,Nx),(r)=>xs(e,r))}}})),fU=(e)=>(t)=>To((n)=>vn(bo(n,bs),{onNone:()=>t,onSome:(r)=>{if(r.strategy._tag==="ParallelN"&&r.strategy.parallelism===e)return t;return R(wo(r,jx(e)),(o)=>xs(t,o))}})),DU=(e)=>(t)=>Ru(e,!0)(t),Ru=(e,t)=>(n)=>To((r)=>vn(bo(r,bs),{onNone:()=>n(He),onSome:(o)=>{if(t===!0){let i=e._tag==="Parallel"?qS:e._tag==="Sequential"?ZS:fU(e.parallelism);switch(o.strategy._tag){case"Parallel":return i(n(qS));case"Sequential":return i(n(ZS));case"ParallelN":return i(n(fU(o.strategy.parallelism)))}}else return n(He)}})),ni=(e)=>R(bs,e),Fg=(e)=>R(Au(),(t)=>Br(e(t),(n)=>t.close(n))),US=(e)=>R(Au(),(t)=>WR(e,t)),ZS=(e)=>To((t)=>vn(bo(t,bs),{onNone:()=>e,onSome:(n)=>{switch(n.strategy._tag){case"Sequential":return e;case"Parallel":case"ParallelN":return R(wo(n,Fx),(r)=>xs(e,r))}}})),MU=(e,t)=>qR([xu(e,t)]),qR=(e)=>mr(fa,(t)=>Ti(t,e)),_U=h(2,(e,t)=>Fg((n)=>R(xs(e,n),t))),zU=h((e)=>mt(e[1]),(e,t,n)=>ZR(e,t,(r,o)=>[r,o],n)),ZR=h((e)=>mt(e[1]),(e,t,n,r)=>wr(ys(Nt(e),Nt(t),(o,i)=>Yo(o,i,{onSuccess:n,onFailure:(s,c)=>r?.concurrent?Gt(s,c):wt(s,c)}),r)));var FU=h((e)=>Bo(e[0]),(e,t,n)=>kc(Io(e,(r,o)=>kc(t(r,o)),n))),NU=(e)=>mr(Kt,vt(Zr,e)),jU=(e)=>mr(Kt,vt(Sa,e)),WS=(e)=>mr(Kt,vt(yd,e)),BU=(e)=>ni((t)=>R(wo(t,Xo),(n)=>T(e,xs(n),X((r)=>[co((o)=>au(n,eg(o))),r])))),LU=h((e)=>mt(e[1]),(e,t,n)=>ys(e,t,(r,o)=>[r,o],n)),qU=h((e)=>mt(e[1]),(e,t,n)=>{if(n?.concurrent!==!0&&(n?.batching===void 0||n.batching===!1))return ou(e,t);return ys(e,t,(r,o)=>r,n)}),ZU=h((e)=>mt(e[1]),(e,t,n)=>{if(n?.concurrent!==!0&&(n?.batching===void 0||n.batching===!1))return rt(e,t);return ys(e,t,(r,o)=>o,n)}),ys=h((e)=>mt(e[1]),(e,t,n,r)=>X(Gc([e,t],{concurrency:r?.concurrent?2:1,batching:r?.batching,concurrentFinalizers:r?.concurrentFinalizers}),([o,i])=>n(o,i))),$R=(e)=>{if(e===HN)return $e;return T(rd,R((t)=>{let n=na(t,e),r=Vo(n,t);return T(Pc(e),rt(hs(()=>Pc(r))),Qt)}),pa)},bs=qn("effect/Scope"),UR=bs,zse=(e,t)=>{if(e.state._tag==="Open")e.state.finalizers.set({},t)},Fse={[Qf]:Qf,[Kf]:Kf,pipe(){return pe(this,arguments)},fork(e){return U(()=>{let t=$U(e);if(this.state._tag==="Closed")return t.state=this.state,t;let n={},r=(o)=>t.close(o);return this.state.finalizers.set(n,r),zse(t,(o)=>U(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(n)})),t})},close(e){return Ae(()=>{if(this.state._tag==="Closed")return $e;let t=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:e},t.length===0)return $e;return ZI(this.strategy)?T(Yn(t,(n)=>Nt(n(e))),R((n)=>T(zc(n),Jt(cd),wn(()=>Ir)))):$I(this.strategy)?T(BS(t,(n)=>Nt(n(e)),!1),R((n)=>T(zc(n,{parallel:!0}),Jt(cd),wn(()=>Ir)))):T(FR(t,this.strategy.parallelism,(n)=>Nt(n(e)),!1),R((n)=>T(zc(n,{parallel:!0}),Jt(cd),wn(()=>Ir))))})},addFinalizer(e){return Ae(()=>{if(this.state._tag==="Closed")return e(this.state.exit);return this.state.finalizers.set({},e),$e})}},$U=(e=Xo)=>{let t=Object.create(Fse);return t.strategy=e,t.state={_tag:"Open",finalizers:new Map},t},Au=(e=Xo)=>U(()=>$U(e)),xs=h(2,(e,t)=>Nc(e,Uo(no(bs,t)))),WR=h(2,(e,t)=>T(e,xs(t),Br((n)=>t.close(n)))),Nse=(e)=>iu(e,{differ:uU,fork:Od}),Pr=h(2,(e,t)=>Qt(Pu(R(vo(e),(n)=>xt(eu(e,t),n)),(n)=>eu(e,n)))),mr=h(2,(e,t)=>pr(e,(n)=>Pr(e,t(n))));var gU=Zj(WN),HS=Nse(ku),JS=(e)=>Io(e,RS),Md=(e)=>({...Mx,commit(){return er(this)},[Ca]:kd,id:()=>Ne(e).reduce((n,r)=>so(n,r.id()),Cn),await:Nt(BS(e,(n)=>wr(n.await),!1)),children:X(BS(e,(n)=>n.children,!1),ab),inheritAll:So(e,(n)=>n.inheritAll),poll:X(Yn(e,(n)=>n.poll),cb(H(Tt([])),(n,r)=>{switch(r._tag){case"None":return Z();case"Some":switch(n._tag){case"None":return Z();case"Some":return H(Yo(r.value,n.value,{onSuccess:(o,i)=>[o,...i],onFailure:Gt}))}}})),interruptAsFork:(n)=>So(e,(r)=>r.interruptAsFork(n))}),UU=(e)=>Qt(Dd(Dc(e))),WU=(e)=>er(Md(e)),HU=(e)=>Pu(M(e),Dc),HR=h(3,(e,t,n)=>JR(e,t,{onSelfWin:(r,o)=>R(r.await,(i)=>{switch(i._tag){case Et:return R(r.inheritAll,()=>n.onSelfDone(i,o));case Ct:return n.onSelfDone(i,o)}}),onOtherWin:(r,o)=>R(r.await,(i)=>{switch(i._tag){case Et:return R(r.inheritAll,()=>n.onOtherDone(i,o));case Ct:return n.onOtherDone(i,o)}})})),JU=(e)=>ln((t)=>co((n)=>R(Dd(t(e)),(r)=>T(t(er(r)),ds(()=>T(r,OS(n))))))),VS=h(2,(e,t)=>co((n)=>HR(e,t,{onSelfDone:(r,o)=>du(r,{onFailure:(i)=>T(er(o),Cd((s)=>Gt(i,s))),onSuccess:(i)=>T(o,Cr(n),xt(i))}),onOtherDone:(r,o)=>du(r,{onFailure:(i)=>T(er(o),Cd((s)=>Gt(s,i))),onSuccess:(i)=>T(o,Cr(n),xt(i))})}))),JR=h(3,(e,t,n)=>Xe((r,o)=>{let i=o.runtimeFlags,s=is(!0),c=LS(e,r,i,n.selfScope),l=LS(t,r,i,n.otherScope);return vr((u)=>{c.addObserver(()=>hU(c,l,n.onSelfWin,s,u)),l.addObserver(()=>hU(l,c,n.onOtherWin,s,u)),c.startFork(e),l.startFork(t)},so(c.id(),l.id()))})),hU=(e,t,n,r,o)=>{if(Db(!0,!1)(r))o(n(e,t))},ko=h(2,(e,t)=>ln((n)=>$t(n(e),{onFailure:(r)=>$t(t,{onFailure:(o)=>Ye(wt(r,o)),onSuccess:()=>Ye(r)}),onSuccess:(r)=>xt(t,r)}))),jse=(e,t,n)=>co((r)=>ko(R(Dd(ua(e)),(o)=>vr((i)=>{let s=t.map((u)=>u.listeners.count),c=()=>{if(s.every((u)=>u===0)){if(t.every((u)=>{if(u.result.state.current._tag==="Pending")return!0;else if(u.result.state.current._tag==="Done"&&uu(u.result.state.current.effect)&&u.result.state.current.effect._tag==="Failure"&&Gp(u.result.state.current.effect.cause))return!0;else return!1}))l.forEach((u)=>u()),n?.(),i(Dc(o))}};o.addObserver((u)=>{l.forEach((p)=>p()),i(u)});let l=t.map((u,p)=>{let d=(g)=>{s[p]=g,c()};return u.listeners.addObserver(d),()=>u.listeners.removeObserver(d)});return c(),U(()=>{l.forEach((u)=>u())})})),Ae(()=>{let o=t.flatMap((i)=>{if(!i.state.completed)return[i];return[]});return So(o,(i)=>PR(i.request,eg(r)))})));var ti=(e,t)=>(t=Co(t),pa(Xe((n)=>{let r=$o(n.getFiberRef(lo),bs),o=TS(n,e,t),i=n.getFiberRef(Mc),s=Pn(n.getFiberRef(Kt),Zr);return xt(_c(r,(c)=>Yk(o,c,s,i)),o)}))),GS=(e)=>mr(Kt,vt(va,e)),VU=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],n=Co(e?arguments[2]:arguments[1]);if(e){let r=arguments[0];return R(ti(t,Co(n)),(o)=>Hc(r,kr,o))}return(r)=>R(ti(t,Co(n)),(o)=>Hc(r,kr,o))};var Bse=Qf,Lse=Kf,VR=bs,qse=Yf,Zse=_c,GR=au,$se=xs,QR=wo,Use=WR,Wse=Au;var de={};Xr(de,{Do:()=>zme,EffectTypeId:()=>Nue,Service:()=>mhe,Tag:()=>dhe,acquireRelease:()=>fh,acquireReleaseInterruptible:()=>bde,acquireUseRelease:()=>xde,addFinalizer:()=>Sde,all:()=>$ue,allSuccesses:()=>Wue,allWith:()=>Uue,allowInterrupt:()=>Qpe,andThen:()=>nfe,annotateCurrentSpan:()=>Vge,annotateLogs:()=>Jfe,annotateLogsScoped:()=>Vfe,annotateSpans:()=>Jge,ap:()=>Dge,as:()=>sde,asSome:()=>ade,asSomeError:()=>cde,asVoid:()=>lde,async:()=>dpe,asyncEffect:()=>mpe,awaitAllChildren:()=>Mde,bind:()=>Fme,bindAll:()=>Nme,bindTo:()=>jme,blocked:()=>Mge,cacheRequestResult:()=>Nge,cached:()=>Lue,cachedFunction:()=>que,cachedInvalidateWithTTL:()=>Bue,cachedWithTTL:()=>jue,catch:()=>Ipe,catchAll:()=>kpe,catchAllCause:()=>Rpe,catchAllDefect:()=>Ppe,catchIf:()=>Ape,catchSome:()=>Ope,catchSomeCause:()=>Dpe,catchSomeDefect:()=>Mpe,catchTag:()=>_pe,catchTags:()=>zpe,cause:()=>Fpe,checkInterruptible:()=>Kpe,clock:()=>eme,clockWith:()=>tme,configProviderWith:()=>yme,console:()=>ome,consoleWith:()=>ime,context:()=>Sme,contextWith:()=>vme,contextWithEffect:()=>wme,currentParentSpan:()=>Kge,currentPropagatedSpan:()=>Qge,currentSpan:()=>Gge,custom:()=>fpe,daemonChildren:()=>_de,delay:()=>cme,descriptor:()=>zde,descriptorWith:()=>Fde,die:()=>wA,dieMessage:()=>bpe,dieSync:()=>xpe,diffFiberRefs:()=>Nde,disconnect:()=>Ype,dropUntil:()=>Hue,dropWhile:()=>Jue,either:()=>qme,ensureErrorType:()=>yhe,ensureRequirementsType:()=>bhe,ensureSuccessType:()=>hhe,ensuring:()=>vde,ensuringChild:()=>jde,ensuringChildren:()=>Bde,eventually:()=>Npe,every:()=>Que,exists:()=>Kue,exit:()=>Zme,fail:()=>gpe,failCause:()=>hV,failCauseSync:()=>ype,failSync:()=>hpe,fiberId:()=>Lde,fiberIdWith:()=>Jd,filter:()=>Yue,filterEffectOrElse:()=>Vme,filterEffectOrFail:()=>Gme,filterMap:()=>Xue,filterOrDie:()=>Ume,filterOrDieMessage:()=>Wme,filterOrElse:()=>Hme,filterOrFail:()=>Jme,finalizersMask:()=>Ide,findFirst:()=>epe,firstSuccessOf:()=>rge,flatMap:()=>Bu,flatten:()=>rfe,flip:()=>ude,flipWith:()=>pde,fn:()=>fhe,fnUntraced:()=>ghe,forEach:()=>mh,forever:()=>ffe,fork:()=>qde,forkAll:()=>Zde,forkDaemon:()=>IA,forkIn:()=>$de,forkScoped:()=>Ude,forkWithErrorHandler:()=>Wde,fromFiber:()=>Hde,fromFiberEffect:()=>Jde,fromNullable:()=>che,functionWithSpan:()=>ihe,gen:()=>Spe,getFiberRefs:()=>Tfe,getRuntimeFlags:()=>cge,head:()=>tpe,if:()=>$me,ignore:()=>jpe,ignoreLogged:()=>Bpe,inheritFiberRefs:()=>Cfe,interrupt:()=>Hd,interruptWith:()=>Xpe,interruptible:()=>ede,interruptibleMask:()=>tde,intoDeferred:()=>gh,isEffect:()=>dh,isFailure:()=>Dfe,isSuccess:()=>Mfe,iterate:()=>gfe,labelMetrics:()=>mge,labelMetricsScoped:()=>gge,let:()=>Bme,liftPredicate:()=>ide,linkSpanCurrent:()=>the,linkSpans:()=>ehe,locally:()=>Efe,locallyScoped:()=>kfe,locallyScopedWith:()=>Rfe,locallyWith:()=>Ife,log:()=>jfe,logAnnotations:()=>Gfe,logDebug:()=>qfe,logError:()=>Ufe,logFatal:()=>Wfe,logInfo:()=>Zfe,logTrace:()=>Lfe,logWarning:()=>$fe,logWithLevel:()=>Bfe,loop:()=>hfe,makeLatch:()=>vge,makeSemaphore:()=>xge,makeSpan:()=>nhe,makeSpanScoped:()=>rhe,map:()=>Ur,mapAccum:()=>dde,mapBoth:()=>mde,mapError:()=>fde,mapErrorCause:()=>gde,mapInputContext:()=>Tme,match:()=>_fe,matchCause:()=>zfe,matchCauseEffect:()=>Ffe,matchEffect:()=>Nfe,merge:()=>hde,mergeAll:()=>npe,metricLabels:()=>hge,negate:()=>yde,never:()=>vpe,none:()=>wpe,onError:()=>wde,onExit:()=>Tde,onInterrupt:()=>nde,once:()=>Zue,option:()=>Lme,optionFromOptional:()=>lhe,orDie:()=>Yfe,orDieWith:()=>Xfe,orElse:()=>ege,orElseFail:()=>tge,orElseSucceed:()=>nge,parallelErrors:()=>Lpe,parallelFinalizers:()=>Cde,partition:()=>rpe,patchFiberRefs:()=>Pfe,patchRuntimeFlags:()=>lge,promise:()=>Tpe,provide:()=>Cme,provideService:()=>Eme,provideServiceEffect:()=>Ime,race:()=>ofe,raceAll:()=>ife,raceFirst:()=>sfe,raceWith:()=>afe,random:()=>oge,randomWith:()=>ige,reduce:()=>ope,reduceEffect:()=>ape,reduceRight:()=>spe,reduceWhile:()=>ipe,repeat:()=>yfe,repeatN:()=>bfe,repeatOrElse:()=>xfe,replicate:()=>cpe,replicateEffect:()=>lpe,request:()=>Fge,retry:()=>Zpe,retryOrElse:()=>Upe,runCallback:()=>wge,runFork:()=>bh,runPromise:()=>Tge,runPromiseExit:()=>Cge,runRequestBlock:()=>_ge,runSync:()=>Ege,runSyncExit:()=>Ige,runtime:()=>yh,sandbox:()=>qpe,schedule:()=>Sfe,scheduleForked:()=>vfe,scheduleFrom:()=>wfe,scope:()=>kde,scopeWith:()=>Rde,scoped:()=>Ade,scopedWith:()=>Pde,sequentialFinalizers:()=>Ede,serviceConstants:()=>Ame,serviceFunction:()=>kme,serviceFunctionEffect:()=>Rme,serviceFunctions:()=>Pme,serviceMembers:()=>Ome,serviceOption:()=>Dme,serviceOptional:()=>Mme,setFiberRefs:()=>Afe,sleep:()=>lme,spanAnnotations:()=>Yge,spanLinks:()=>Xge,step:()=>zge,succeed:()=>TA,succeedNone:()=>CA,succeedSome:()=>Cpe,summarized:()=>cfe,supervised:()=>Vde,suspend:()=>EA,sync:()=>ws,tagMetrics:()=>dge,tagMetricsScoped:()=>fge,takeUntil:()=>Vue,takeWhile:()=>Gue,tap:()=>kA,tapBoth:()=>lfe,tapDefect:()=>ufe,tapError:()=>pfe,tapErrorCause:()=>mfe,tapErrorTag:()=>dfe,timed:()=>ume,timedWith:()=>pme,timeout:()=>dme,timeoutFail:()=>fme,timeoutFailCause:()=>gme,timeoutOption:()=>mme,timeoutTo:()=>hme,tracer:()=>qge,tracerWith:()=>Zge,transplant:()=>Gde,transposeMapOption:()=>phe,transposeOption:()=>uhe,try:()=>Wpe,tryMap:()=>Hpe,tryMapPromise:()=>Jpe,tryPromise:()=>Vpe,uninterruptible:()=>rde,uninterruptibleMask:()=>ode,unless:()=>Qme,unlessEffect:()=>Kme,unsafeMakeLatch:()=>Sge,unsafeMakeSemaphore:()=>bge,unsandbox:()=>Gpe,updateFiberRefs:()=>Ofe,updateService:()=>_me,useSpan:()=>ohe,using:()=>Ode,validate:()=>kge,validateAll:()=>upe,validateFirst:()=>ppe,validateWith:()=>Rge,void:()=>Ba,when:()=>Yme,whenEffect:()=>Xme,whenFiberRef:()=>efe,whenLogLevel:()=>Kfe,whenRef:()=>tfe,whileLoop:()=>hh,withClock:()=>rme,withClockScoped:()=>nme,withConcurrency:()=>Qde,withConfigProvider:()=>bme,withConfigProviderScoped:()=>xme,withConsole:()=>ame,withConsoleScoped:()=>sme,withEarlyRelease:()=>Dde,withExecutionPlan:()=>$pe,withFiberRuntime:()=>ja,withLogSpan:()=>Hfe,withMaxOpsBeforeYield:()=>Xde,withMetric:()=>yge,withParentSpan:()=>ahe,withRandom:()=>yV,withRandomFixed:()=>sge,withRandomScoped:()=>age,withRequestBatching:()=>jge,withRequestCache:()=>Lge,withRequestCaching:()=>Bge,withRuntimeFlagsPatch:()=>uge,withRuntimeFlagsPatchScoped:()=>pge,withScheduler:()=>Kde,withSchedulingPriority:()=>Yde,withSpan:()=>xV,withSpanScoped:()=>she,withTracer:()=>$ge,withTracerEnabled:()=>Wge,withTracerScoped:()=>Uge,withTracerTiming:()=>Hge,withUnhandledErrorLogLevel:()=>Qfe,yieldNow:()=>Epe,zip:()=>Pge,zipLeft:()=>Age,zipRight:()=>Oge,zipWith:()=>bV});var ri={};Xr(ri,{CauseTypeId:()=>Hse,ExceededCapacityException:()=>Kae,ExceededCapacityExceptionTypeId:()=>Yse,IllegalArgumentException:()=>Lg,IllegalArgumentExceptionTypeId:()=>Gse,InterruptedException:()=>Lae,InterruptedExceptionTypeId:()=>Vse,InvalidPubSubCapacityExceptionTypeId:()=>Kse,NoSuchElementException:()=>$ae,NoSuchElementExceptionTypeId:()=>Qse,RuntimeException:()=>Wae,RuntimeExceptionTypeId:()=>Jse,TimeoutException:()=>Jae,TimeoutExceptionTypeId:()=>Xse,UnknownException:()=>Gae,UnknownExceptionTypeId:()=>eae,YieldableError:()=>tae,andThen:()=>Dae,as:()=>Pae,contains:()=>_ae,defects:()=>xae,die:()=>KS,dieOption:()=>Tae,empty:()=>nae,fail:()=>QS,failureOption:()=>vae,failureOrCause:()=>KR,failures:()=>bae,filter:()=>Nae,find:()=>Fae,flatMap:()=>Oae,flatten:()=>Mae,flipCauseOption:()=>wae,interrupt:()=>rae,interruptOption:()=>Cae,interruptors:()=>Sae,isCause:()=>sae,isDie:()=>hae,isDieType:()=>lae,isEmpty:()=>fae,isEmptyType:()=>aae,isExceededCapacityException:()=>Yae,isFailType:()=>cae,isFailure:()=>gae,isIllegalArgumentException:()=>Zae,isInterruptType:()=>uae,isInterrupted:()=>yae,isInterruptedException:()=>qae,isInterruptedOnly:()=>Ng,isNoSuchElementException:()=>Uae,isParallelType:()=>dae,isRuntimeException:()=>Hae,isSequentialType:()=>pae,isTimeoutException:()=>Vae,isUnknownException:()=>Qae,keepDefects:()=>Eae,linearize:()=>Iae,map:()=>Aae,match:()=>jae,originalError:()=>tce,parallel:()=>oae,pretty:()=>Xae,prettyErrors:()=>ece,reduce:()=>Bae,reduceWithContext:()=>Bg,sequential:()=>iae,size:()=>mae,squash:()=>jg,squashWith:()=>zae,stripFailures:()=>kae,stripSomeDefects:()=>Rae});var Hse=rx,Jse=zf,Vse=Ff,Gse=Nf,Qse=jf,Kse=cx,Yse=Bf,Xse=Lf,eae=qf,tae=ad,nae=En,QS=ao,KS=Vt,rae=Kn,oae=Gt,iae=wt,sae=kf,aae=ox,cae=rj,lae=Gl,uae=oj,pae=ij,dae=sj,mae=aj,fae=Rf,gae=cj,hae=lj,yae=Gp,Ng=Ql,bae=Qp,xae=Kp,Sae=Kl,vae=Yp,KR=Ai,wae=uj,Tae=fI,Cae=gI,Eae=ix,Iae=dj,kae=Pf,Rae=fj,Pae=gj,Aae=Xp,Oae=Jp,Dae=hj,Mae=sx,_ae=yj,jg=Hj,zae=II,Fae=cs,Nae=xj,jae=ls,Bae=oa,Bg=Yl,Lae=RI,qae=Ix,Lg=Ko,Zae=Vj,$ae=Er,Uae=kx,Wae=kI,Hae=Jj,Jae=PI,Vae=Yj,Gae=lu,Qae=Xj,Kae=Gj,Yae=Qj,Xae=Oi,ece=ed,tce=kj;var nce="effect/ScheduleInterval",qg=Symbol.for(nce),YR={[qg]:qg,startMillis:0,endMillis:0},YS=(e,t)=>{if(e>t)return YR;return{[qg]:qg,startMillis:e,endMillis:t}},GU=h(2,(e,t)=>QU(e,t)===e),QU=h(2,(e,t)=>{if(e.endMillis<=t.startMillis)return e;if(t.endMillis<=e.startMillis)return t;if(e.startMillis<t.startMillis)return e;if(t.startMillis<e.startMillis)return t;if(e.endMillis<=t.endMillis)return e;return t});var KU=(e)=>e.startMillis>=e.endMillis;var YU=h(2,(e,t)=>{let n=Math.max(e.startMillis,t.startMillis),r=Math.min(e.endMillis,t.endMillis);return YS(n,r)}),XU=(e)=>xr(e.endMillis-e.startMillis);var eW=(e)=>YS(e,Number.POSITIVE_INFINITY);var $r=YS,XR=YR,tW=GU;var nW=KU;var rW=YU,oW=XU;var zi=eW;var oce="effect/ScheduleIntervals",eP=Symbol.for(oce),ev=(e)=>({[eP]:eP,intervals:e});var aW=h(2,(e,t)=>{if(!_t(t.intervals))return e;if(!_t(e.intervals))return t;if(ut(e.intervals).startMillis<ut(t.intervals).startMillis)return sW(zt(e.intervals),t.intervals,ut(e.intervals),nn());return sW(e.intervals,zt(t.intervals),ut(t.intervals),nn())}),sW=(e,t,n,r)=>{let o=e,i=t,s=n,c=r;while(_t(o)||_t(i))if(!_t(o)&&_t(i))if(s.endMillis<ut(i).startMillis)c=T(c,Zt(s)),s=ut(i),i=zt(i),o=nn();else s=$r(s.startMillis,ut(i).endMillis),i=zt(i),o=nn();else if(_t(o)&&lb(i))if(s.endMillis<ut(o).startMillis)c=T(c,Zt(s)),s=ut(o),i=nn(),o=zt(o);else s=$r(s.startMillis,ut(o).endMillis),i=nn(),o=zt(o);else if(_t(o)&&_t(i))if(ut(o).startMillis<ut(i).startMillis)if(s.endMillis<ut(o).startMillis)c=T(c,Zt(s)),s=ut(o),o=zt(o);else s=$r(s.startMillis,ut(o).endMillis),o=zt(o);else if(s.endMillis<ut(i).startMillis)c=T(c,Zt(s)),s=ut(i),i=zt(i);else s=$r(s.startMillis,ut(i).endMillis),i=zt(i);else throw Error(Ws("Intervals.unionLoop"));return ev(T(c,Zt(s),ho))},cW=h(2,(e,t)=>ice(e.intervals,t.intervals,nn())),ice=(e,t,n)=>{let r=e,o=t,i=n;while(_t(r)&&_t(o)){let s=T(ut(r),rW(ut(o))),c=nW(s)?i:T(i,Zt(s));if(T(ut(r),tW(ut(o))))r=zt(r);else o=zt(o);i=c}return ev(ho(i))},XS=(e)=>T(e.intervals,df,wn(()=>XR)).startMillis,lW=(e)=>T(e.intervals,df,wn(()=>XR)).endMillis,tP=h(2,(e,t)=>XS(e)<XS(t)),uW=(e)=>_t(e.intervals),pW=h(2,(e,t)=>tP(e,t)?t:e);var dW=ev;var nP=aW,mW=cW,Qc=XS,tv=lW,fW=tP,gW=uW,hW=pW;var oP="Continue",yW="Done",bW=(e)=>({_tag:oP,intervals:e}),xW=(e)=>({_tag:oP,intervals:dW(cn(e))}),SW={_tag:yW},vW=(e)=>e._tag===oP,wW=(e)=>e._tag===yW;var Ou=bW;var Mn=xW,Ro=SW,_a=vW,$n=wW;class EW{permits;waiters=new Set;taken=0;constructor(e){this.permits=e}get free(){return this.permits-this.taken}take=(e)=>$f((t)=>{if(this.free<e){let n=()=>{if(this.free<e)return;this.waiters.delete(n),t(Ae(()=>{if(this.free<e)return this.take(e);return this.taken+=e,M(e)}))};return this.waiters.add(n),U(()=>{this.waiters.delete(n)})}t(Ae(()=>{if(this.free<e)return this.take(e);return this.taken+=e,M(e)}))});updateTakenUnsafe(e,t){if(this.taken=t(this.taken),this.waiters.size>0)e.getFiberRef(ya).scheduleTask(()=>{let n=this.waiters.values(),r=n.next();while(r.done===!1&&this.free>0)r.value(),r=n.next()},e.getFiberRef(da),e);return M(this.free)}updateTaken(e){return Xe((t)=>this.updateTakenUnsafe(t,e))}resize=(e)=>Qt(Xe((t)=>{if(this.permits=e,this.free<0)return $e;return this.updateTakenUnsafe(t,(n)=>n)}));release=(e)=>this.updateTaken((t)=>t-e);releaseAll=this.updateTaken((e)=>0);withPermits=(e)=>(t)=>ln((n)=>R(n(this.take(e)),(r)=>ko(n(t),this.release(r))));withPermitsIfAvailable=(e)=>(t)=>ln((n)=>Ae(()=>{if(this.free<e)return wu;return this.taken+=e,ko(n(wd(t)),this.release(e))}))}var nv=(e)=>new EW(e),IW=(e)=>U(()=>nv(e));class kW extends Bc{isOpen;waiters=[];scheduled=!1;constructor(e){super();this.isOpen=e}commit(){return this.await}unsafeSchedule(e){if(this.scheduled||this.waiters.length===0)return $e;return this.scheduled=!0,e.currentScheduler.scheduleTask(this.flushWaiters,e.getFiberRef(da),e),$e}flushWaiters=()=>{this.scheduled=!1;let e=this.waiters;this.waiters=[];for(let t=0;t<e.length;t++)e[t](Ir)};open=Xe((e)=>{if(this.isOpen)return $e;return this.isOpen=!0,this.unsafeSchedule(e)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=Xe((e)=>{if(this.isOpen)return $e;return this.unsafeSchedule(e)});await=$f((e)=>{if(this.isOpen)return e($e);return this.waiters.push(e),U(()=>{let t=this.waiters.indexOf(e);if(t!==-1)this.waiters.splice(t,1)})});unsafeClose(){this.isOpen=!1}close=U(()=>{this.isOpen=!1});whenOpen=(e)=>rt(this.await,e)}var aP=(e)=>new kW(e??!1),RW=(e)=>U(()=>aP(e)),PW=(e)=>rv(e,JS),AW=h(2,(e,t)=>X(cP(e,t),(n)=>n[0])),cP=h(2,(e,t)=>{let n=Pt(t);return R(po(),(r)=>X(iv(Z()),(o)=>[qr(cce(e,n,o),r),lce(o)]))}),CW=(e,t,n)=>{let r=lr(Pt(t));return T(uo(),Tr((o)=>ps(e,o)),X((o)=>H([n+r,o])))},cce=(e,t,n)=>ln((r)=>T(gs((o)=>o.currentTimeMillis),R((o)=>mce(n,(i)=>{switch(i._tag){case"None":return H(CW(e,t,o));case"Some":{let[s]=i.value;return s-o<=0?H(CW(e,t,o)):Z()}}})),R((o)=>it(o)?Ec("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):r(Zn(o.value[1]))))),lce=(e)=>fs(e,Z()),OW=h(2,(e,t)=>rv(e,(n)=>t(Md(n)))),rv=h(2,(e,t)=>R(oU,(n)=>T(uP(e,n),ko(R(n.value,t))))),DW=h((e)=>Bo(e[0]),(e,t)=>t?.discard?So(e,Da):X(Yn(e,Da),Md)),lP=h(2,(e,t)=>Xe((n,r)=>{let o=t,i=zg(e,n,r.runtimeFlags,Mi);if(o.state._tag==="Open"){let s=()=>co((l)=>ye(l,i.id())?$e:Qt(Dc(i))),c={};o.state.finalizers.set(c,s),i.addObserver(()=>{if(o.state._tag==="Closed")return;o.state.finalizers.delete(c)})}else i.unsafeInterruptAsFork(n.id());return M(i)})),ov=(e)=>ni((t)=>lP(e,t)),MW=(e)=>er(e),_W=(e)=>Ae(()=>R(e,er)),iP=Symbol.for("effect/Effect/memoizeFunction.key");class sP{a;eq;[iP]=iP;constructor(e,t){this.a=e,this.eq=t}[ve](e){if(ue(e,iP))if(this.eq)return this.eq(this.a,e.a);else return ye(this.a,e.a);return!1}[Te](){return this.eq?0:Ze(this,he(this.a))}}var zW=(e,t)=>T(U(()=>Ia()),R(iv),X((n)=>(r)=>T(n.modifyEffect((o)=>{let i=T(o,Ut(new sP(r,t)));if(it(i))return T(uo(),Tr((s)=>T(Td(e(r)),ps(s),Da)),X((s)=>[s,T(o,Rr(new sP(r,t),s))]));return M([i.value,o])}),R(Zn),R(([o,i])=>T(Su(o),xt(i)))))),FW=h(2,(e,t)=>T(Nt(e),VS(Nt(t)),(n)=>wr(n))),uP=h(2,(e,t)=>Dn(HS,(r)=>r.zip(t))(e)),NW=h(2,(e,t)=>pP(e,{onTimeout:()=>Kj(t),duration:t})),pP=h(2,(e,{duration:t,onTimeout:n})=>wr(Zg(e,{onTimeout:()=>Qo(n),onSuccess:M,duration:t}))),jW=h(2,(e,{duration:t,onTimeout:n})=>wr(Zg(e,{onTimeout:()=>ca(n),onSuccess:M,duration:t}))),BW=h(2,(e,t)=>Zg(e,{duration:t,onSuccess:H,onTimeout:Z})),Zg=h(2,(e,{duration:t,onSuccess:n,onTimeout:r})=>co((o)=>ln((i)=>JR(i(e),ua(vu(t)),{onSelfWin:(s,c)=>R(s.await,(l)=>{if(l._tag==="Success")return R(s.inheritAll,()=>xt(Cr(c,o),n(l.value)));else return R(Cr(c,o),()=>at(l.cause))}),onOtherWin:(s,c)=>R(s.await,(l)=>{if(l._tag==="Success")return R(s.inheritAll,()=>xt(Cr(c,o),r()));else return R(Cr(c,o),()=>at(l.cause))}),otherScope:Mi})))),uce="effect/Ref/SynchronizedRef",pce=Symbol.for(uce),dce={_A:(e)=>e};class LW extends Bc{ref;withLock;[pce]=dce;[rS]=fk;[$c]=$c;constructor(e,t){super();this.ref=e,this.withLock=t,this.get=dr(this.ref)}get;commit(){return this.get}modify(e){return this.modifyEffect((t)=>M(e(t)))}modifyEffect(e){return this.withLock(T(R(dr(this.ref),e),R(([t,n])=>xt(fs(this.ref,n),t))))}}var iv=(e)=>U(()=>dP(e)),dP=(e)=>{let t=gd(e),n=nv(1);return new LW(t,n.withPermits(1))},mce=h(2,(e,t)=>e.modifyEffect((n)=>{let r=t(n);switch(r._tag){case"None":return M([n,n]);case"Some":return X(r.value,(o)=>[o,o])}})),qW=h(2,(e,t)=>$g(e,t,(n,r)=>[n,r])),ZW=h(2,(e,t)=>$g(e,t,(n,r)=>n)),$W=h(2,(e,t)=>$g(e,t,(n,r)=>r)),$g=h(3,(e,t,n)=>({...Mx,commit(){return er(this)},[Ca]:kd,id:()=>T(e.id(),Lb(t.id())),await:T(e.await,wr,ys(wr(t.await),n,{concurrent:!0}),Nt),children:e.children,inheritAll:rt(t.inheritAll,e.inheritAll),poll:Lr(e.poll,t.poll,(r,o)=>T(r,Nr((i)=>T(o,Jt((s)=>qI(i,s,{onSuccess:n,onFailure:Gt})))))),interruptAsFork:(r)=>rt(e.interruptAsFork(r),t.interruptAsFork(r)),pipe(){return pe(this,arguments)}})),UW=h((e)=>mt(e[0]),(e,t,n)=>R(e,(r)=>Gc(t(r),n).pipe(X((o)=>Object.assign({},r,o)))));var WW=Symbol.for("effect/ManagedRuntime");var HW="ExtendScope",JW="Fold",fP="Fresh",VW="FromEffect",GW="Scoped",QW="Suspend",KW="Provide",gP="ProvideMerge",YW="MergeAll",XW="ZipWith";var oi={};Xr(oi,{FiberTypeId:()=>hce,Order:()=>bce,RuntimeFiberTypeId:()=>yce,all:()=>Cce,await:()=>Ug,awaitAll:()=>wce,children:()=>Tce,done:()=>Ece,dump:()=>Ice,dumpAll:()=>kce,fail:()=>Rce,failCause:()=>Pce,fromEffect:()=>Ace,getCurrentFiber:()=>Oce,id:()=>vce,inheritAll:()=>Dce,interrupt:()=>Mce,interruptAll:()=>Fce,interruptAllAs:()=>Wg,interruptAs:()=>Kc,interruptAsFork:()=>zce,interruptFork:()=>Nce,interrupted:()=>_ce,isFiber:()=>xce,isRuntimeFiber:()=>Sce,join:()=>jce,joinAll:()=>Bce,map:()=>Lce,mapEffect:()=>qce,mapFiber:()=>Zce,match:()=>$ce,never:()=>Uce,orElse:()=>Wce,orElseEither:()=>Hce,poll:()=>Jce,pretty:()=>Vce,roots:()=>Gce,scoped:()=>Kce,status:()=>Yce,succeed:()=>Xce,unsafeRoots:()=>Qce,void:()=>ele,zip:()=>tle,zipLeft:()=>nle,zipRight:()=>rle,zipWith:()=>ole});var hce=Ca,yce=vg,bce=vZ,xce=wZ,Sce=Sg,vce=kZ,Ug=RS;var wce=JS,Tce=TZ,Cce=Md,Ece=Cu,Ice=PS,kce=CZ,Rce=EZ,Pce=iR,Ace=IZ,Oce=BZ,Dce=AS,Mce=Dc,_ce=RZ,Kc=Cr,zce=OS,Fce=PZ,Wg=wg,Nce=UU,jce=er,Bce=WU,Lce=IS,qce=sR,Zce=AZ,$ce=OZ,Uce=DZ,Wce=aR,Hce=MZ,Jce=_Z,Vce=zZ,Gce=FZ,Qce=cR,Kce=HU,Yce=NZ,Xce=lR,ele=jZ;var tle=qW,nle=ZW,rle=$W,ole=$g;var _d=(e)=>function(){if(arguments.length===1){let t=arguments[0];return(n,...r)=>e(t,n,...r)}return e.apply(this,arguments)},zd=_d((e,t,n)=>{let r=Zb(),o=[[lo,[[r,e.context]]]];if(n?.scheduler)o.push([ya,[[r,n.scheduler]]]);let i=FB(e.fiberRefs,{entries:o,forkAs:r});if(n?.updateRefs)i=n.updateRefs(i,r);let s=new $S(r,i,e.runtimeFlags),c=t;if(n?.scope)c=R(QR(n.scope,Xo),(u)=>rt(Yf(u,co((p)=>ye(p,s.id())?$e:Cr(s,p))),Br(t,(p)=>GR(u,p))));let l=s.currentSupervisor;if(l!==ku)l.onStart(e.context,c,Z(),s),s.addObserver((u)=>l.onEnd(u,s));if(Mi.add(e.runtimeFlags,s),n?.immediate===!1)s.resume(c);else s.start(c);return s}),sv=_d((e,t,n={})=>{let r=zd(e,t,n);if(n.onExit)r.addObserver((o)=>{n.onExit(o)});return(o,i)=>sv(e)(T(r,Kc(o??Cn)),{...i,onExit:i?.onExit?(s)=>i.onExit(jI(s)):void 0})}),eH=_d((e,t)=>{let n=bP(e)(t);if(n._tag==="Failure")throw yP(n.effect_instruction_i0);return n.effect_instruction_i0});class tH extends Error{fiber;_tag="AsyncFiberException";constructor(e){super(`Fiber #${e.id().id} cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work`);this.fiber=e,this.name=this._tag,this.stack=this.message}}var ile=(e)=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=0;let n=new tH(e);return Error.stackTraceLimit=t,n};var hP=Symbol.for("effect/Runtime/FiberFailure"),Hg=Symbol.for("effect/Runtime/FiberFailure/Cause");class nH extends Error{[hP];[Hg];constructor(e){let t=ed(e)[0];super(t?.message||"An error has occurred");if(this[hP]=hP,this[Hg]=e,this.name=t?`(FiberFailure) ${t.name}`:"FiberFailure",t?.stack)this.stack=t.stack}toJSON(){return{_id:"FiberFailure",cause:this[Hg].toJSON()}}toString(){return"(FiberFailure) "+Oi(this[Hg],{renderErrorCause:!0})}[Be](){return this.toString()}}var yP=(e)=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=0;let n=new nH(e);return Error.stackTraceLimit=t,n};var rH=(e)=>{let t=e;switch(t._op){case"Failure":case"Success":return t;case"Left":return Fc(t.left);case"Right":return Tt(t.right);case"Some":return Tt(t.value);case"None":return Fc(new Er)}},bP=_d((e,t)=>{let n=rH(t);if(n)return n;let r=new yk,o=zd(e)(t,{scheduler:r});r.flush();let i=o.unsafePoll();if(i)return i;return Px(px(ile(o),Ox(o)))}),oH=_d((e,t,n)=>xP(e,t,n).then((r)=>{switch(r._tag){case Et:return r.effect_instruction_i0;case Ct:throw yP(r.effect_instruction_i0)}})),xP=_d((e,t,n)=>new Promise((r)=>{let o=rH(t);if(o)r(o);let i=zd(e)(t);if(i.addObserver((s)=>{r(s)}),n?.signal!==void 0)if(n.signal.aborted)i.unsafeInterruptAsFork(i.id());else n.signal.addEventListener("abort",()=>{i.unsafeInterruptAsFork(i.id())},{once:!0})}));class SP{context;runtimeFlags;fiberRefs;constructor(e,t,n){this.context=e,this.runtimeFlags=t,this.fiberRefs=n}pipe(){return pe(this,arguments)}}var vP=(e)=>new SP(e.context,e.runtimeFlags,e.fiberRefs),Fd=()=>Xe((e,t)=>M(new SP(e.getFiberRef(lo),t.runtimeFlags,e.getFiberRefs()))),iH=tI(Ri,YE,KE),Fi=vP({context:Qn(),runtimeFlags:iH,fiberRefs:NB()});var sH=sv(Fi),aH=zd(Fi),cH=oH(Fi),lH=xP(Fi),uH=eH(Fi),pH=bP(Fi),dH=(e)=>Ae(()=>{let t=void 0;return R(uo(),(n)=>R(Fd(),(r)=>ln((o)=>rt(Da(o($t(e((i)=>sv(r)(ps(i,n))),{onFailure:(i)=>rg(n,i),onSuccess:(i)=>(t=i,$e)}))),o(ds(Zn(n),()=>t??$e))))))});var mH=h(2,(e,t)=>e.modifyEffect(t));var ale="effect/Layer",cv=Symbol.for(ale),cle={_RIn:(e)=>e,_E:(e)=>e,_ROut:(e)=>e},ii={[cv]:cle,pipe(){return pe(this,arguments)}},lle="effect/Layer/MemoMap",Jg=Symbol.for(lle),TP=Ei()("effect/Layer/CurrentMemoMap",{defaultValue:()=>ule()}),Gg=(e)=>ue(e,cv),CP=(e)=>e._op_layer===fP;class EP{ref;[Jg];constructor(e){this.ref=e,this[Jg]=Jg}getOrElseMemoize(e,t){return T(mH(this.ref,(n)=>{let r=n.get(e);if(r!==void 0){let[o,i]=r,s=T(o,R(([c,l])=>T(Su(c),xt(l))),Br(pu({onFailure:()=>$e,onSuccess:()=>_c(t,i)})));return M([s,n])}return T(hu(0),R((o)=>T(uo(),R((i)=>T(hu(()=>$e),X((s)=>{let c=ln((u)=>T(Au(),R((p)=>T(u(R(bH(e,p,!0),(d)=>Td(d(this)))),Nt,R((d)=>{switch(d._tag){case Ct:return T(rg(i,d.effect_instruction_i0),rt(au(p,d)),rt(Ye(d.effect_instruction_i0)));case Et:return T(fs(s,(g)=>T(au(p,g),od(gk(o,(f)=>[f===1,f-1])),Qt)),rt(yu(o,(g)=>g+1)),rt(_c(t,(g)=>T(U(()=>n.delete(e)),rt(dr(s)),R((f)=>f(g))))),rt(_I(i,d.effect_instruction_i0)),xt(d.effect_instruction_i0[1]))}}))))),l=[T(Zn(i),Br(du({onFailure:()=>$e,onSuccess:()=>yu(o,(u)=>u+1)}))),(u)=>T(dr(s),R((p)=>p(u)))];return[c,CP(e)?n:n.set(e,l)]}))))))}),wr)}}var IP=Ae(()=>X(iv(new Map),(e)=>new EP(e))),ule=()=>new EP(dP(new Map)),yH=(e)=>ni((t)=>Yc(e,t)),Yc=h(2,(e,t)=>R(IP,(n)=>lv(e,n,t))),lv=h(3,(e,t,n)=>R(bH(e,n),(r)=>Hc(r(t),TP,t))),bH=(e,t,n=!1)=>{let r=e;switch(r._op_layer){case"Locally":return U(()=>(o)=>r.f(o.getOrElseMemoize(r.self,t)));case"ExtendScope":return U(()=>(o)=>ni((i)=>o.getOrElseMemoize(r.layer,i)));case"Fold":return U(()=>(o)=>T(o.getOrElseMemoize(r.layer,t),$t({onFailure:(i)=>o.getOrElseMemoize(r.failureK(i),t),onSuccess:(i)=>o.getOrElseMemoize(r.successK(i),t)})));case"Fresh":return U(()=>(o)=>T(r.layer,Yc(t)));case"FromEffect":return n?U(()=>(o)=>r.effect):U(()=>(o)=>o.getOrElseMemoize(e,t));case"Provide":return U(()=>(o)=>T(o.getOrElseMemoize(r.first,t),R((i)=>T(o.getOrElseMemoize(r.second,t),qr(i)))));case"Scoped":return n?U(()=>(o)=>xs(r.effect,t)):U(()=>(o)=>o.getOrElseMemoize(e,t));case"Suspend":return U(()=>(o)=>o.getOrElseMemoize(r.evaluate(),t));case"ProvideMerge":return U(()=>(o)=>T(o.getOrElseMemoize(r.first,t),Lr(o.getOrElseMemoize(r.second,t),r.zipK)));case"ZipWith":return bx(function*(){let o=yield*wo(t,sg),i=yield*wo(o,Xo),s=yield*wo(o,Xo);return(c)=>T(c.getOrElseMemoize(r.first,i),ys(c.getOrElseMemoize(r.second,s),r.zipK,{concurrent:!0}))});case"MergeAll":{let o=r.layers;return X(wo(t,sg),(i)=>(s)=>{let c=Array(o.length);return X(Oa(o,id(function*(l,u){let p=yield*wo(i,Xo),d=yield*s.getOrElseMemoize(l,p);c[u]=d}),!1,!1),()=>hE(...c))})}}},Du=h(2,(e,t)=>hv(e,{onFailure:t,onSuccess:za})),kP=h(2,(e,t)=>gv(e,{onFailure:t,onSuccess:za})),RP=(e)=>Qg(KS(e)),xH=(e)=>pv(()=>KS(e())),SH=(e)=>fv(e,()=>Qn()),uv=()=>Ar(po()),vH=(e)=>{let t=Object.create(ii);return t._op_layer=HW,t.layer=e,t},PP=(e)=>Qg(QS(e)),AP=(e)=>pv(()=>QS(e())),Qg=(e)=>Ar(Ye(e)),pv=(e)=>Ar(ca(e)),Ss=h(2,(e,t)=>hv(e,{onFailure:PP,onSuccess:t})),wH=h(2,(e,t)=>Ss(e,Pn(t))),OP=(e)=>{let t=Object.create(ii);return t._op_layer=fP,t.layer=e,t},Xc=h(2,(e,t)=>{let n=jp(e),r=n?e:t;return Ar(X(n?t:e,(i)=>no(r,i)))}),TH=(e)=>Ar(X(e,()=>Qn()));function Ar(e){let t=Object.create(ii);return t._op_layer=VW,t.effect=e,t}var CH=h(3,(e,t,n)=>dv(e,rn(t,n))),dv=h(2,(e,t)=>{let n=Object.create(ii);return n._op_layer="Locally",n.self=e,n.f=t,n}),mv=h(3,(e,t,n)=>dv(e,Dn(t,n))),EH=(e,t)=>Mu(Pr(e,t)),IH=(e,t)=>Mu(mr(e,t)),kH=(e,t,n)=>Ar(X(e,(r)=>no(t,n(r)))),RH=(e)=>US(rt(ni((t)=>T(e,Yc(t))),Oc)),PH=function(){if(arguments.length===1)return(e)=>fH(arguments[0],e);return fH(arguments[0],arguments[1])},fH=(e,t)=>Nd(e,new Proxy({...t},{get(n,r,o){if(r in n)return n[r];let i=Error.stackTraceLimit;Error.stackTraceLimit=2;let s=Error(`${e.key}: Unimplemented method "${r.toString()}"`);return Error.stackTraceLimit=i,s.name="UnimplementedError",ple(s)},has:Qi})),ple=(e)=>{let t=ur(e);function n(){return t}return Object.assign(n,t),Object.setPrototypeOf(n,Object.getPrototypeOf(t)),n},fv=h(2,(e,t)=>Ss(e,(n)=>za(t(n)))),AH=h(2,(e,t)=>Du(e,(n)=>AP(()=>t(n)))),gv=h(2,(e,{onFailure:t,onSuccess:n})=>{let r=Object.create(ii);return r._op_layer=JW,r.layer=e,r.failureK=t,r.successK=n,r}),hv=h(2,(e,{onFailure:t,onSuccess:n})=>gv(e,{onFailure:(r)=>{let o=KR(r);switch(o._tag){case"Left":return t(o.left);case"Right":return Qg(o.right)}},onSuccess:n})),OH=(e)=>ni((t)=>X(SS(Yc(e,t)),Ar)),DP=h(2,(e,t)=>MP(e,t,(n,r)=>Uo(n,r))),yv=(...e)=>{let t=Object.create(ii);return t._op_layer=YW,t.layers=e,t},DH=(e)=>Du(e,(t)=>RP(t)),MH=h(2,(e,t)=>Du(e,t)),_H=(e)=>DP(uv(),e),zH=h(4,(e,t,n,r)=>fv(e,(o)=>no(n,r($o(o,t))))),FH=h(2,(e,t)=>Yg(()=>{let n=qn("effect/Layer/retry/{ state: unknown }");return T(Nd(n,{state:t.initial}),Ss((r)=>NH(e,t,n,T(r,Pn(n)).state)))})),NH=(e,t,n,r)=>T(e,Du((o)=>T(dle(t,n,o,r),Ss((i)=>OP(NH(e,t,n,T(i,Pn(n)).state)))))),dle=(e,t,n,r)=>Xc(t,T(wa,R((o)=>T(e.step(o,n,r),R(([i,s,c])=>$n(c)?Ve(n):T(vd(xr(Qc(c.intervals)-o)),xt({state:i}))))))),el=h(2,(e,t)=>{let n=jp(e),r=n?e:t;return Kg(X(n?t:e,(i)=>no(r,i)))}),Mu=(e)=>Kg(T(e,xt(Qn()))),Kg=(e)=>{let t=Object.create(ii);return t._op_layer=GW,t.effect=e,t},jH=Kg(X(Pu(Au(),(e,t)=>e.close(t)),(e)=>no(VR,e))),BH=(e)=>Xc(e,e),Nd=h(2,(e,t)=>{let n=jp(e);return Ar(M(no(n?e:t,n?t:e)))}),za=(e)=>Ar(M(e)),LH=za(Qn()),Yg=(e)=>{let t=Object.create(ii);return t._op_layer=QW,t.evaluate=e,t},bv=h(2,(e,t)=>{let n=jp(e),r=n?e:t,o=n?t:e;return Ar(U(()=>no(r,o())))}),qH=(e)=>Ar(U(e)),ZH=h(2,(e,t)=>Ss(e,(n)=>Ar(xt(t(n),n)))),$H=h(2,(e,t)=>Du(e,(n)=>Ar(R(t(n),()=>Ve(n))))),UH=h(2,(e,t)=>kP(e,(n)=>Ar(R(t(n),()=>Ye(n))))),WH=(e)=>T(ni((t)=>Yc(e,t)),R((t)=>T(Fd(),qr(t)))),HH=h(2,(e,t)=>R(ni((n)=>lv(e,t,n)),(n)=>T(Fd(),qr(n)))),_u=h(2,(e,t)=>Yg(()=>{let n=Object.create(ii);return n._op_layer=KW,n.first=Object.create(ii,{_op_layer:{value:gP,enumerable:!0},first:{value:uv(),enumerable:!0},second:{value:Array.isArray(t)?yv(...t):t},zipK:{value:(r,o)=>T(r,Uo(o))}}),n.second=e,n})),JH=h(2,(e,t)=>{let n=Object.create(ii);return n._op_layer=gP,n.first=t,n.second=_u(e,t),n.zipK=(r,o)=>T(r,Uo(o)),n}),MP=h(3,(e,t,n)=>Yg(()=>{let r=Object.create(ii);return r._op_layer=XW,r.first=e,r.second=t,r.zipK=n,r})),_P=(e)=>{let t=qn("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return Ss(Xc(t,e),(n)=>Pn(n,t))},Vg=(e)=>{let t=qn("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return Ss(el(t,e),(n)=>Pn(n,t))},VH=h((e)=>Gg(e[0]),function(){let e=arguments;return mv(e[0],ma,typeof e[1]==="string"?Sr(e[1],e[2]):(t)=>Object.entries(e[1]).reduce((n,[r,o])=>Sr(n,r,o),t))}),GH=h((e)=>Gg(e[0]),function(){let e=arguments;return mv(e[0],sd,typeof e[1]==="string"?Sr(e[1],e[2]):(t)=>Object.entries(e[1]).reduce((n,[r,o])=>Sr(n,r,o),t))}),QH=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],n=Co(e?arguments[2]:arguments[1]);if(e){let r=arguments[0];return Vg(X(n?.onEnd?Tr(ti(t,n),(o)=>hs((i)=>n.onEnd(o,i))):ti(t,n),(o)=>av(r,o)))}return(r)=>Vg(X(n?.onEnd?Tr(ti(t,n),(o)=>hs((i)=>n.onEnd(o,i))):ti(t,n),(o)=>av(r,o)))},av=h(2,(e,t)=>_u(e,za(no(kr,t)))),gH=h(2,(e,t)=>Fg((n)=>R(Yc(t,n),(r)=>Ax(e,r)))),hH=h(2,(e,t)=>{let n=mu(Fi.fiberRefs,t.fiberRefs),r=Vo(Fi.runtimeFlags,t.runtimeFlags);return ln((o)=>Xe((i)=>{let s=i.getFiberRef(lo),c=i.getFiberRefs(),l=fu(i.id(),c)(n),u=i.currentRuntimeFlags,p=na(r)(u),d=mu(l,c),g=Vo(p,u);return i.setFiberRefs(l),i.currentRuntimeFlags=p,ko(Ax(o(e),Uo(s,t.context)),Xe((f)=>(f.setFiberRefs(fu(f.id(),f.getFiberRefs())(d)),f.currentRuntimeFlags=na(g)(f.currentRuntimeFlags),$e)))}))}),xv=h(2,(e,t)=>{if(Array.isArray(t))return gH(e,yv(...t));else if(Gg(t))return gH(e,t);else if(gE(t))return Ax(e,t);else if(WW in t)return R(t.runtimeEffect,(n)=>hH(e,n));else return hH(e,t)});var KH=X(vo(Kt),Pn(xa)),YH=(e)=>pr(Kt,(t)=>e(Pn(t,xa))),XH=h(2,(e,t)=>Dn(e,Kt,vt(xa,t))),e2=(e)=>mr(Kt,vt(xa,e));var fle=function(){let e=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends ad{constructor(n){super(n?.message,n?.cause?{cause:n.cause}:void 0);if(n)Object.assign(this,n),Object.defineProperty(this,e,{value:n,enumerable:!1})}toJSON(){return{...this[e],...this}}}}.BaseEffectError}(),t2=(e)=>{let t={BaseEffectError:class extends fle{_tag=e}};return t.BaseEffectError.prototype.name=e,t.BaseEffectError};var zP=Symbol.for("effect/DateTime"),FP=Symbol.for("effect/DateTime/TimeZone"),o2={[zP]:zP,pipe(){return pe(this,arguments)},[Be](){return this.toString()},toJSON(){return Bd(this).toJSON()}},hle={...o2,_tag:"Utc",[Te](){return Ze(this,Ml(this.epochMillis))},[ve](e){return th(e)&&e._tag==="Utc"&&this.epochMillis===e.epochMillis},toString(){return`DateTime.Utc(${Bd(this).toJSON()})`}},yle={...o2,_tag:"Zoned",[Te](){return T(Ml(this.epochMillis),Pe(he(this.zone)),Ze(this))},[ve](e){return th(e)&&e._tag==="Zoned"&&this.epochMillis===e.epochMillis&&ye(this.zone,e.zone)},toString(){return`DateTime.Zoned(${jle(this)})`}},i2={[FP]:FP,[Be](){return this.toString()}},ble={...i2,_tag:"Named",[Te](){return Ze(this,ct(`Named:${this.id}`))},[ve](e){return jd(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},xle={...i2,_tag:"Offset",[Te](){return Ze(this,ct(`Offset:${this.offset}`))},[ve](e){return jd(e)&&e._tag==="Offset"&&this.offset===e.offset},toString(){return`TimeZone.Offset(${l2(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},vs=(e,t,n)=>{let r=Object.create(yle);return r.epochMillis=e,r.zone=t,Object.defineProperty(r,"partsUtc",{value:n,enumerable:!1,writable:!0}),Object.defineProperty(r,"adjustedEpochMillis",{value:void 0,enumerable:!1,writable:!0}),Object.defineProperty(r,"partsAdjusted",{value:void 0,enumerable:!1,writable:!0}),r},th=(e)=>ue(e,zP),Sle=(e)=>th(e[0]),jd=(e)=>ue(e,FP);var s2=(e)=>jd(e)&&e._tag==="Named";var vle=(e)=>e._tag==="Zoned";var a2=(e)=>{let t=Object.create(hle);return t.epochMillis=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},vv=(e)=>{let t=e.getTime();if(Number.isNaN(t))throw new Lg("Invalid date");return a2(t)},wle=(e)=>{if(th(e))return e;else if(e instanceof Date)return vv(e);else if(typeof e==="object"){let t=new Date(0);return _le(t,e),vv(t)}else if(typeof e==="string"&&!Tle(e))return vv(new Date(e+"Z"));return vv(new Date(e))},Tle=(e)=>/Z|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),Cle=-8639999956800000,Ele=8639999949600000,wv=(e,t)=>{if(t?.timeZone===void 0&&th(e)&&vle(e))return e;let n=wle(e);if(n.epochMillis<Cle||n.epochMillis>Ele)throw RangeError(`Epoch millis out of range: ${n.epochMillis}`);let r;if(t?.timeZone===void 0){let o=new Date(n.epochMillis).getTimezoneOffset()*-60*1000;r=NP(o)}else if(jd(t?.timeZone))r=t.timeZone;else if(typeof t?.timeZone==="number")r=NP(t.timeZone);else{let o=jP(t.timeZone);if(it(o))throw new Lg(`Invalid time zone: ${t.timeZone}`);r=o.value}if(t?.adjustForTimeZone!==!0)return vs(n.epochMillis,r,n.partsUtc);return d2(n.epochMillis,r,t?.disambiguation??"compatible")};var eh=Le("effect/DateTime/validZoneCache",()=>new Map),Ile={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},kle=(e)=>{let t=e.resolvedOptions().timeZone;if(eh.has(t))return eh.get(t);let n=Object.create(ble);return n.id=t,n.format=e,eh.set(t,n),n},Rle=(e)=>{if(eh.has(e))return eh.get(e);try{return kle(new Intl.DateTimeFormat("en-US",{...Ile,timeZone:e}))}catch{throw new Lg(`Invalid time zone: ${e}`)}},NP=(e)=>{let t=Object.create(xle);return t.offset=e,t},Ple=VC(Rle);var Ale=/^(?:GMT|[+-])/,jP=(e)=>{if(Ale.test(e)){let t=m2(e);return t===null?Z():H(NP(t))}return Ple(e)};var Bd=(e)=>new Date(e.epochMillis),zu=(e)=>{if(e._tag==="Utc")return new Date(e.epochMillis);else if(e.zone._tag==="Offset")return new Date(e.epochMillis+e.zone.offset);else if(e.adjustedEpochMillis!==void 0)return new Date(e.adjustedEpochMillis);let t=e.zone.format.formatToParts(e.epochMillis).filter((r)=>r.type!=="literal"),n=new Date(0);return n.setUTCFullYear(Number(t[2].value),Number(t[0].value)-1,Number(t[1].value)),n.setUTCHours(Number(t[3].value),Number(t[4].value),Number(t[5].value),Number(t[6].value)),e.adjustedEpochMillis=n.getTime(),n},c2=(e)=>zu(e).getTime()-Dle(e),l2=(e)=>{let t=Math.abs(e),n=Math.floor(t/3600000),r=Math.round(t%3600000/60000);if(r===60)n+=1,r=0;return`${e<0?"-":"+"}${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`},Ole=(e)=>l2(c2(e)),Dle=(e)=>e.epochMillis;var u2=(e)=>({millis:e.getUTCMilliseconds(),seconds:e.getUTCSeconds(),minutes:e.getUTCMinutes(),hours:e.getUTCHours(),day:e.getUTCDate(),weekDay:e.getUTCDay(),month:e.getUTCMonth()+1,year:e.getUTCFullYear()}),p2=(e)=>{if(e._tag==="Utc")return Mle(e);else if(e.partsAdjusted!==void 0)return e.partsAdjusted;return e.partsAdjusted=Fle(e,u2),e.partsAdjusted},Mle=(e)=>{if(e.partsUtc!==void 0)return e.partsUtc;return e.partsUtc=Nle(e,u2),e.partsUtc};var _le=(e,t)=>{if(t.year!==void 0)e.setUTCFullYear(t.year);if(t.month!==void 0)e.setUTCMonth(t.month-1);if(t.day!==void 0)e.setUTCDate(t.day);if(t.weekDay!==void 0){let n=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+n)}if(t.hours!==void 0)e.setUTCHours(t.hours);if(t.minutes!==void 0)e.setUTCMinutes(t.minutes);if(t.seconds!==void 0)e.setUTCSeconds(t.seconds);if(t.millis!==void 0)e.setUTCMilliseconds(t.millis)};var n2=86400000,d2=(e,t,n)=>{if(t._tag==="Offset")return vs(e-t.offset,t);let r=Xg(e-n2,e,t),o=Xg(e+n2,e,t);if(r===o)return vs(e-r,t);let i=r<o,s=r-o;if(i){if(Xg(e-o,e,t)===o)return vs(e-o,t);let u=vs(e-r,t),p=zu(u).getTime();if(e!==p)switch(n){case"reject":{let d=new Date(e).toISOString();throw RangeError(`Gap time: ${d} does not exist in time zone ${t.id}`)}case"earlier":return vs(e-o,t);case"compatible":case"later":return u}return u}if(Xg(e-r,e,t)===r){if(n==="earlier"||n==="compatible")return vs(e-r,t);if(Xg(e-r+s,e+s,t)===r)return vs(e-r,t);if(n==="reject"){let u=new Date(e).toISOString();throw RangeError(`Ambiguous time: ${u} occurs twice in time zone ${t.id}`)}}return vs(e-o,t)},zle=/([+-])(\d{2}):(\d{2})$/,m2=(e)=>{let t=zle.exec(e);if(t===null)return null;let[,n,r,o]=t;return(n==="+"?1:-1)*(Number(r)*60+Number(o))*60*1000},Xg=(e,t,n)=>{let r=n.format.formatToParts(e).find((i)=>i.type==="timeZoneName")?.value??"";if(r==="GMT")return 0;let o=m2(r);if(o===null)return c2(vs(t,n));return o},f2=h(Sle,(e,t,n)=>{if(e._tag==="Utc"){let i=Bd(e);return t(i),a2(i.getTime())}let r=zu(e),o=new Date(r.getTime());return t(o),d2(o.getTime(),e.zone,n?.disambiguation??"compatible")});var Fle=h(2,(e,t)=>t(zu(e))),Nle=h(2,(e,t)=>t(Bd(e)));var r2=(e)=>{let t=zu(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${Ole(e)}`},jle=(e)=>e.zone._tag==="Offset"?r2(e):`${r2(e)}[${e.zone.id}]`;var g2=(e)=>e.length>0;var h2=13,y2=10;class b2{s;stripped;index;length;constructor(e,t=!1){this.s=e,this.stripped=t,this.index=0,this.length=e.length}next(){if(this.done)return{done:!0,value:void 0};let e=this.index;while(!this.done&&!Lle(this.s[this.index]))this.index=this.index+1;let t=this.index;if(!this.done){let n=this.s[this.index];if(this.index=this.index+1,!this.done&&qle(n,this.s[this.index]))this.index=this.index+1;if(!this.stripped)t=this.index}return{done:!1,value:this.s.substring(e,t)}}[Symbol.iterator](){return new b2(this.s,this.stripped)}get done(){return this.index>=this.length}}var Lle=(e)=>{let t=e.charCodeAt(0);return t===h2||t===y2},qle=(e,t)=>e.charCodeAt(0)===h2&&t.charCodeAt(0)===y2;var LP=Symbol.for("effect/Cron"),$le={[LP]:LP,[ve](e){return qP(e)&&Vle(this,e)},[Te](){return T(he(this.tz),Pe(he(this.and)),Pe(Sn(Ne(this.seconds))),Pe(Sn(Ne(this.minutes))),Pe(Sn(Ne(this.hours))),Pe(Sn(Ne(this.days))),Pe(Sn(Ne(this.months))),Pe(Sn(Ne(this.weekdays))),Ze(this))},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"Cron",tz:this.tz,seconds:Ne(this.seconds),minutes:Ne(this.minutes),hours:Ne(this.hours),days:Ne(this.days),months:Ne(this.months),weekdays:Ne(this.weekdays)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},qP=(e)=>ue(e,LP),Ule=(e)=>{let t=Object.create($le);t.seconds=new Set(to(e.seconds??[0],Xn)),t.minutes=new Set(to(e.minutes,Xn)),t.hours=new Set(to(e.hours,Xn)),t.days=new Set(to(e.days,Xn)),t.months=new Set(to(e.months,Xn)),t.weekdays=new Set(to(e.weekdays,Xn)),t.and=e.and===!0,t.tz=eo(e.tz);let n=Array.from(t.seconds),r=Array.from(t.minutes),o=Array.from(t.hours),i=Array.from(t.days),s=Array.from(t.months),c=Array.from(t.weekdays);return t.first={second:n[0]??0,minute:r[0]??0,hour:o[0]??0,day:i[0]??1,month:(s[0]??1)-1,weekday:c[0]??0},t.last={second:n[n.length-1]??59,minute:r[r.length-1]??59,hour:o[o.length-1]??23,day:i[i.length-1]??31,month:(s[s.length-1]??12)-1,weekday:c[c.length-1]??6},t.next={second:si(n,60,"next"),minute:si(r,60,"next"),hour:si(o,24,"next"),day:si(i,32,"next"),month:si(s,13,"next"),weekday:si(c,7,"next")},t.prev={second:si(n,60,"prev"),minute:si(r,60,"prev"),hour:si(o,24,"prev"),day:si(i,32,"prev"),month:si(s,13,"prev"),weekday:si(c,7,"prev")},t},si=(e,t,n)=>{let r=Array(t).fill(void 0);if(e.length===0)return r;let o=void 0;if(n==="next"){let i=e.length-1;for(let s=t-1;s>=0;s--){while(i>=0&&e[i]>=s)o=e[i--];r[s]=o}}else{let i=0;for(let s=0;s<t;s++){while(i<e.length&&e[i]<=s)o=e[i++];r[s]=o}}return r},x2=Symbol.for("effect/Cron/errors/ParseError");class Ni extends t2("CronParseError"){[x2]=x2}var v2=(e,t)=>{let n=e.trim().split(/\s+/).filter(g2);if(n.length!==5&&n.length!==6)return dt(new Ni({message:"Invalid number of segments in cron expression",input:e}));if(n.length===5)n.unshift("0");let[r,o,i,s,c,l]=n,u=t===void 0||jd(t)?nt(t):qC(jP(t),()=>new Ni({message:"Invalid time zone in cron expression",input:t}));return UC({tz:u,seconds:qd(r,Gle),minutes:qd(o,Qle),hours:qd(i,Kle),days:qd(s,Yle),months:qd(c,Xle),weekdays:qd(l,eue)}).pipe(Qs(({days:p,hours:d,minutes:g,months:f,seconds:v,tz:w,weekdays:I})=>Ule({tz:w,seconds:v.values,minutes:g.values,hours:d.values,days:p.values,months:f.values,weekdays:I.values,and:(p.wildcard||I.wildcard)&&p.values.size!==0&&I.values.size!==0})))};var w2=(e,t)=>{let n=wv(t,{timeZone:Rn(e.tz)}).pipe(p2);if(e.seconds.size!==0&&!e.seconds.has(n.seconds))return!1;if(e.minutes.size!==0&&!e.minutes.has(n.minutes))return!1;if(e.hours.size!==0&&!e.hours.has(n.hours))return!1;if(e.months.size!==0&&!e.months.has(n.month))return!1;if(e.days.size===0&&e.weekdays.size===0)return!0;if(e.and)return(e.days.size===0||e.days.has(n.day))&&(e.weekdays.size===0||e.weekdays.has(n.weekDay));if(e.weekdays.size===0)return e.days.has(n.day);if(e.days.size===0)return e.weekdays.has(n.weekDay);return e.days.has(n.day)||e.weekdays.has(n.weekDay)},nh=(e)=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate(),T2=(e,t)=>Wle(e,t,"next");var Wle=(e,t,n)=>{let r=Rn(e.tz),o=wv(t??new Date,{timeZone:r}),i=n==="prev",s=i?-1:1,c=e[n],l=i?e.last:e.first,u=i?(f,v)=>f<v:(f,v)=>f>v,d=r!==void 0&&s2(r)&&r.id==="UTC"?cr:(f)=>{let v=wv(f,{timeZone:o.zone,adjustForTimeZone:!0,disambiguation:i?"later":void 0}).pipe(zu),w=f.getTime()-v.getTime();if(i?w!==0:w>0)f.setTime(v.getTime())},g=f2(o,(f)=>{f.setUTCSeconds(f.getUTCSeconds()+s,0);for(let v=0;v<1e4;v++){if(e.seconds.size!==0){let w=f.getUTCSeconds(),I=c.second[w];if(I===void 0){f.setUTCMinutes(f.getUTCMinutes()+s,l.second),d(f);continue}if(u(I,w)){f.setUTCSeconds(I),d(f);continue}}if(e.minutes.size!==0){let w=f.getUTCMinutes(),I=c.minute[w];if(I===void 0){f.setUTCHours(f.getUTCHours()+s,l.minute,l.second),d(f);continue}if(u(I,w)){f.setUTCMinutes(I,l.second),d(f);continue}}if(e.hours.size!==0){let w=f.getUTCHours(),I=c.hour[w];if(I===void 0){f.setUTCDate(f.getUTCDate()+s),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}if(u(I,w)){f.setUTCHours(I,l.minute,l.second),d(f);continue}}if(e.weekdays.size!==0||e.days.size!==0)if(e.and){let w=e.days.size===0||e.days.has(f.getUTCDate()),I=e.weekdays.size===0||e.weekdays.has(f.getUTCDay());if(!w||!I){f.setUTCDate(f.getUTCDate()+s),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}}else{let w=i?-1/0:1/0,I=i?-1/0:1/0;if(e.weekdays.size!==0){let L=f.getUTCDay(),N=c.weekday[L];if(N===void 0)w=i?L-7+l.weekday:7-L+l.weekday;else w=N-L}if(e.days.size!==0&&w!==0){let L=f.getUTCDate(),N=c.day[L];if(N===void 0)if(i){let re=nh(new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),0)));I=-(L+(re-l.day))}else I=nh(f)-L+l.day;else if(!i&&N>nh(f))I=nh(f)-L+l.day;else I=N-L}let A=i?Math.max(w,I):Math.min(w,I);if(A!==0){f.setUTCDate(f.getUTCDate()+A),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}}if(e.months.size!==0){let w=f.getUTCMonth()+1,I=c.month[w],A=(L)=>{if(e.days.size!==0&&e.weekdays.size===0)return l.day;let N=nh(new Date(Date.UTC(f.getUTCFullYear(),L,1)));return i?N:1};if(I===void 0){f.setUTCFullYear(f.getUTCFullYear()+s),f.setUTCMonth(l.month,A(l.month)),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}if(u(I,w)){let L=I-1;f.setUTCMonth(L,A(L)),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}}return}throw Error("Unable to find next cron date")});return Bd(g)};var Hle=Ki((e,t)=>e.and===t.and&&Ld(e.seconds,t.seconds)&&Ld(e.minutes,t.minutes)&&Ld(e.hours,t.hours)&&Ld(e.days,t.days)&&Ld(e.months,t.months)&&Ld(e.weekdays,t.weekdays)),Jle=Ly(az),Ld=(e,t)=>Jle(Ne(e),Ne(t)),Vle=h(2,(e,t)=>Hle(e,t)),Gle={min:0,max:59},Qle={min:0,max:59},Kle={min:0,max:23},Yle={min:1,max:31},Xle={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}},eue={min:0,max:7,normalize:(e)=>e===7?0:e,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},qd=(e,t)=>{let n=new Set,r=e.split(","),o=S2(r[0]),i=o[0]==="*",s=t.normalize??((l)=>l),c=i&&(o[1]===void 0||o[1]===1)?cr:(l)=>{n.add(s(l))};for(let l=0;l<r.length;l++){let u=r[l],[p,d]=l===0?o:S2(u);if(d!==void 0){if(!Number.isInteger(d))return dt(new Ni({message:"Expected step value to be a positive integer",input:e}));if(d<1)return dt(new Ni({message:"Expected step value to be greater than 0",input:e}));if(d>t.max)return dt(new Ni({message:`Expected step value to be less than ${t.max}`,input:e}))}if(p==="*"){if(l===0&&(d===void 0||d===1))continue;for(let g=t.min;g<=t.max;g+=d??1)c(g)}else{let[g,f]=tue(p,t.aliases);if(!Number.isInteger(g))return dt(new Ni({message:"Expected a positive integer",input:e}));if(g<t.min||g>t.max)return dt(new Ni({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(f===void 0)for(let v=g;v<=(d===void 0?g:t.max);v+=d??1)c(v);else{if(!Number.isInteger(f))return dt(new Ni({message:"Expected a positive integer",input:e}));if(f<t.min||f>t.max)return dt(new Ni({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(g>f)return dt(new Ni({message:"Invalid value range",input:e}));for(let v=g;v<=f;v+=d??1)c(v)}}}return nt({values:n,wildcard:i})},S2=(e)=>{let t=e.indexOf("/");if(t!==-1){let n=e.slice(t+1);return[e.slice(0,t),C2.test(n)?Number(n):NaN]}return[e,void 0]},tue=(e,t)=>{let n=e.indexOf("-");if(n!==-1)return[BP(e.slice(0,n),t),BP(e.slice(n+1),t)];return[BP(e,t),void 0]};function BP(e,t){return t?.[e.toLocaleLowerCase()]??(C2.test(e)?Number(e):NaN)}var C2=/^\d+$/;var E2=yq;var I2=oq;var rue="effect/Schedule",Ev=Symbol.for(rue),Iv=(e)=>ue(e,Ev),oue="effect/ScheduleDriver",UP=Symbol.for(oue),ZP={start:0,now:0,input:void 0,output:void 0,elapsed:oo,elapsedSincePrevious:oo,recurrence:0},Fu=Ei()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>ZP}),iue={_Out:(e)=>e,_In:(e)=>e,_R:(e)=>e},sue={_Out:(e)=>e,_In:(e)=>e,_R:(e)=>e};class A2{initial;step;[Ev]=iue;constructor(e,t){this.initial=e,this.step=t}pipe(){return pe(this,arguments)}}var R2=(e,t,n,r)=>yu(e,(o)=>o.recurrence===0?{now:t,input:n,output:r,recurrence:o.recurrence+1,elapsed:oo,elapsedSincePrevious:oo,start:t}:{now:t,input:n,output:r,recurrence:o.recurrence+1,elapsed:xr(t-o.start),elapsedSincePrevious:xr(t-o.now),start:o.start});class O2{schedule;ref;[UP]=sue;constructor(e,t){this.schedule=e,this.ref=t}get state(){return X(dr(this.ref),(e)=>e[1])}get last(){return R(dr(this.ref),([e,t])=>{switch(e._tag){case"None":return Qo(()=>new Er);case"Some":return M(e.value)}})}iterationMeta=gd(ZP);get reset(){return fs(this.ref,[Z(),this.schedule.initial]).pipe(ou(fs(this.iterationMeta,ZP)))}next(e){return T(X(dr(this.ref),(t)=>t[1]),R((t)=>T(wa,R((n)=>T(Ae(()=>this.schedule.step(n,e,t)),R(([r,o,i])=>{let s=fs(this.ref,[H(o),r]);if($n(i))return s.pipe(rt(Ve(Z())));let c=Qc(i.intervals)-n;if(c<=0)return s.pipe(rt(R2(this.iterationMeta,n,e,o)),xt(o));let l=xr(c);return T(s,rt(R2(this.iterationMeta,n,e,o)),rt(vu(l)),xt(o))}))))))}}var ht=(e,t)=>new A2(e,t),kv=h(2,(e,t)=>WP(e,(n)=>U(()=>t(n)))),WP=h(2,(e,t)=>sh(e,(n,r)=>X(t(n),(o)=>vE(r,Pt(o))))),D2=h(2,(e,t)=>tr(HP(e,t),jl)),HP=h(2,(e,t)=>ht([e.initial,t.initial,!0],(n,r,o)=>o[2]?R(e.step(n,r,o[0]),([i,s,c])=>{if($n(c))return X(t.step(n,r,o[1]),([l,u,p])=>[[i,l,!1],nt(u),p]);return M([[i,o[1],!0],dt(s),c])}):X(t.step(n,r,o[1]),([i,s,c])=>[[o[0],i,!1],nt(s),c]))),M2=h(2,(e,t)=>tr(e,()=>t)),Rv=(e)=>tr(e,cr),_2=h(2,(e,t)=>ht([e.initial,t.initial],(n,[r,o],i)=>Lr(e.step(n,r,i[0]),t.step(n,o,i[1]),([s,c,l],[u,p,d])=>{if(_a(l)&&_a(d)){let g=T(l.intervals,nP(d.intervals));return[[s,u],[c,p],Ou(g)]}return[[s,u],[c,p],Ro]}))),Zd=h(2,(e,t)=>Nu(e,(n,r)=>U(()=>t(n,r)))),Nu=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>{if($n(c))return M([i,s,Ro]);return X(t(r,s),(l)=>l?[i,s,c]:[i,s,Ro])}))),z2=()=>ju(Fa()),ju=(e)=>Dv(e,nn(),(t,n)=>T(t,zp(n))),F2=(e)=>ju(YP(e)),N2=(e)=>ju(XP(e)),j2=(e)=>ju(tA(e)),B2=(e)=>ju(nA(e)),L2=h(2,(e,t)=>ht([e.initial,t.initial],(n,r,o)=>R(e.step(n,r,o[0]),([i,s,c])=>X(t.step(n,s,o[1]),([l,u,p])=>$n(c)?[[i,l],u,Ro]:$n(p)?[[i,l],u,Ro]:[[i,l],u,Ou(T(c.intervals,hW(p.intervals)))])))),JP=h(2,(e,t)=>Pv(e,(n)=>U(()=>t(n)))),q2=h(2,(e,t)=>ht(e.initial,(n,r,o)=>Nc(e.step(n,r,o),t))),Pv=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(t(r),(i)=>e.step(n,i,o)))),Z2=(e,t)=>{let n=qP(e)?nt(e):v2(e,t);return ht([!0,[Number.MIN_SAFE_INTEGER,0,0]],(r,o,[i,s])=>{if(r===Number.POSITIVE_INFINITY)return M([[!1,s],[s[1],s[2]],Ro]);if(r<s[0])return M([[!1,s],[s[1],s[2]],Mn($r(s[1],s[2]))]);if(tn(n))return ur(n.left);let c=n.right,l=new Date(r),u;if(i&&w2(c,l))u=r;u=T2(c,l).getTime();let p=uA(u),d=PJ(u);return M([[!1,[u,p,d]],[p,d],Mn($r(p,d))])})},$2=(e)=>ht([Number.NEGATIVE_INFINITY,0],(t,n,r)=>{if(!Number.isInteger(e)||e<1||31<e)return xo(()=>new Ko(`Invalid argument in: dayOfMonth(${e}). Must be in range 1...31`));let o=r[1],s=mue(t,e,o===0),c=pA(s),l=DJ(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),U2=(e)=>ht([Number.MIN_SAFE_INTEGER,0],(t,n,r)=>{if(!Number.isInteger(e)||e<1||7<e)return xo(()=>new Ko(`Invalid argument in: dayOfWeek(${e}). Must be in range 1 (Monday)...7 (Sunday)`));let o=r[1],s=due(t,e,o===0),c=pA(s),l=DJ(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),W2=h(2,(e,t)=>Av(e,(n)=>U(()=>t(n)))),Av=h(2,(e,t)=>sh(e,(n,r)=>t(r))),oh=(e)=>kv(e,(t)=>t),H2=(e)=>ht(e.initial,(t,n,r)=>T(e.step(t,n,r),R(([o,i,s])=>{if($n(s))return M([o,oo,s]);return M([o,xr(Qc(s.intervals)-t),s])}))),J2=h(2,(e,{onInput:t,onOutput:n})=>tr(JP(e,t),n)),V2=h(2,(e,{onInput:t,onOutput:n})=>Ov(Pv(e,t),n)),ih=(e)=>T(hu([Z(),e.initial]),X((t)=>new O2(e,t))),VP=(e)=>{let t=Pt(e),n=lr(t);return ht(!0,(r,o,i)=>M(i?[!1,t,Mn(zi(r+n))]:[!1,oo,Ro]))},G2=h(2,(e,t)=>iA(e,t)),Q2=h(3,(e,t,n)=>Mv(e,t,n)),K2=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>$n(c)?xt(t,[i,s,c]):M([i,s,c])))),Y2=(e,t=2)=>{let n=Pt(e);return oh(tr(ji,(r)=>SE(n,Math.pow(t,r))))},X2=(e)=>{let t=Pt(e);return oh(T(ah([t,t],([n,r])=>[r,vE(n,r)]),tr((n)=>n[0])))},eJ=(e)=>{let t=Pt(e),n=lr(t);return ht([Z(),0],(r,o,[i,s])=>U(()=>{switch(i._tag){case"None":return[[H([r,r+n]),s+1],s,Mn(zi(r+n))];case"Some":{let[c,l]=i.value,u=r>l+n,p=ye(t,oo)?t:xr(n-(r-c)%n),d=ye(p,oo)?t:p,g=u?r:r+lr(d);return[[H([c,g]),s+1],s,Mn(zi(g))]}}}))},tJ=(e)=>VP(e),nJ=(e,...t)=>ht([[e,...t].map((n)=>Pt(n)),!0],(n,r,[o,i])=>U(()=>{if(i){let s=o[0],c=zi(n+lr(s));if(o.length>=2)return[[o.slice(1),!0],s,Mn(c)];let l=o.slice(1);return[[[s,...l],!1],s,Mn(c)]}return[[o,!1],oo,Ro]})),rJ=(e)=>tr(Fa(),e),oJ=(e)=>ht([Number.NEGATIVE_INFINITY,0],(t,n,r)=>{if(!Number.isInteger(e)||e<0||23<e)return xo(()=>new Ko(`Invalid argument in: hourOfDay(${e}). Must be in range 0...23`));let o=r[1],s=pue(t,e,o===0),c=OJ(s),l=uue(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),Fa=()=>ht(void 0,(e,t,n)=>M([n,t,Mn(zi(e))])),tl=h(2,(e,t)=>GP(e,t,mW)),GP=h(3,(e,t,n)=>ht([e.initial,t.initial],(r,o,i)=>T(Lr(e.step(r,o,i[0]),t.step(r,o,i[1]),(s,c)=>[s,c]),R(([[s,c,l],[u,p,d]])=>{if(_a(l)&&_a(d))return $P(e,t,o,s,c,l.intervals,u,p,d.intervals,n);return M([[s,u],[c,p],Ro])})))),$P=(e,t,n,r,o,i,s,c,l,u)=>{let p=u(i,l);if(gW(p))return M([[r,s],[o,c],Ou(p)]);if(T(i,fW(l)))return R(e.step(tv(i),n,r),([d,g,f])=>{if($n(f))return M([[d,s],[g,c],Ro]);return $P(e,t,n,d,g,f.intervals,s,c,l,u)});return R(t.step(tv(l),n,s),([d,g,f])=>{if($n(f))return M([[r,d],[o,g],Ro]);return $P(e,t,n,r,o,i,d,g,f.intervals,u)})},iJ=(e)=>QP(e,{min:0.8,max:1.2}),QP=h(2,(e,t)=>{let{max:n,min:r}=Object.assign({min:0.8,max:1.2},t);return Av(e,(o)=>X(E2,(i)=>{let s=lr(o),c=s*r*(1-i)+s*n*i;return xr(c)}))}),sJ=(e)=>{let t=Pt(e);return oh(tr(ji,(n)=>SE(t,n+1)))},tr=h(2,(e,t)=>Ov(e,(n)=>U(()=>t(n)))),Ov=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>X(t(s),(l)=>[i,l,c])))),aJ=(e)=>ht([Number.MIN_SAFE_INTEGER,0],(t,n,r)=>{if(!Number.isInteger(e)||e<0||59<e)return xo(()=>new Ko(`Invalid argument in: minuteOfHour(${e}). Must be in range 0...59`));let o=r[1],s=lue(t,e,o===0),c=AJ(s),l=cue(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),cJ=h(2,(e,t)=>sh(e,(n,r)=>U(()=>t(n,r)))),sh=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>{if($n(c))return M([i,s,c]);let l=c.intervals,u=oW($r(n,Qc(l)));return X(t(s,u),(p)=>{let d=Pt(p),g=Qc(l),f=n+lr(d),v=f-g,w=Math.max(0,tv(l)+v),I=$r(f,w);return[i,s,Mn(I)]})}))),lJ=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>xt(t(s,c),[i,s,c])))),KP=(e)=>ht(e.initial,(t,n,r)=>T(e.step(t,n,r),X(([o,i,s])=>[o,n,s]))),uJ=h(2,(e,t)=>ht(e.initial,(n,r,o)=>qr(e.step(n,r,o),t))),pJ=h(3,(e,t,n)=>ht(e.initial,(r,o,i)=>To((s)=>qr(e.step(r,o,i),vt(s,t,n))))),YP=(e)=>sA(Fa(),e),XP=(e)=>ch(Fa(),e),dJ=(e)=>aA(tr(Fa(),e),lt),eA=(e)=>{let t=Pt(e);return _v(Fv,(n)=>kF(n,t))},tA=(e)=>cA(Fa(),e),nA=(e)=>lh(Fa(),e),$d=(e)=>_v(ji,(t)=>t<e),Dv=h(3,(e,t,n)=>rA(e,t,(r,o)=>U(()=>n(r,o)))),rA=h(3,(e,t,n)=>ht([e.initial,t],(r,o,[i,s])=>R(e.step(r,o,i),([c,l,u])=>$n(u)?M([[c,s],s,u]):X(n(s,l),(p)=>[[c,p],s,u]))));var mJ=(e)=>Dv(e,0,(t,n)=>t+1),fJ=h(2,(e,t)=>{let n=Pt(t);return T(e,tl(Fv),oA(([,r])=>fb(r,n)),tr((r)=>r[0]))}),oA=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>t(s)?e.step(n,r,e.initial):M([i,s,c])))),gJ=h(3,(e,t,n)=>T(hJ(e,t,Ys(n),e.initial,nn()),X((r)=>ho(r)))),hJ=(e,t,n,r,o)=>{if(!_t(n))return M(o);let i=ut(n),s=zt(n);return R(e.step(t,i,r),([c,l,u])=>{if($n(u))return U(()=>T(o,Zt(l)));return hJ(e,Qc(u.intervals),s,c,Zt(o,l))})},yJ=(e)=>ht([Number.NEGATIVE_INFINITY,0],(t,n,r)=>{if(!Number.isInteger(e)||e<0||59<e)return xo(()=>new Ko(`Invalid argument in: secondOfMinute(${e}). Must be in range 0...59`));let o=r[1],s=aue(t,e,o===0),c=uA(s),l=PJ(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),bJ=(e)=>kv(ji,()=>e),xJ=(e)=>tr(ji,()=>e),SJ=(e)=>tr(ji,e),vJ=h(2,(e,t)=>ht(e.initial,(n,r,o)=>rt(t(r),e.step(n,r,o)))),wJ=h(2,(e,t)=>ht(e.initial,(n,r,o)=>Tr(e.step(n,r,o),([,i])=>t(i)))),ah=(e,t)=>ht(e,(n,r,o)=>U(()=>[t(o),o,Mn(zi(n))])),iA=h(2,(e,t)=>Mv(e,t,nP)),Mv=h(3,(e,t,n)=>ht([e.initial,t.initial],(r,o,i)=>Lr(e.step(r,o,i[0]),t.step(r,o,i[1]),([s,c,l],[u,p,d])=>{if($n(l)&&$n(d))return[[s,u],[c,p],Ro];if($n(l)&&_a(d))return[[s,u],[c,p],Ou(d.intervals)];if(_a(l)&&$n(d))return[[s,u],[c,p],Ou(l.intervals)];if(_a(l)&&_a(d)){let g=n(l.intervals,d.intervals);return[[s,u],[c,p],Ou(g)]}throw Error("BUG: Schedule.unionWith - please report an issue at https://github.com/Effect-TS/effect/issues")}))),sA=h(2,(e,t)=>Zd(e,(n,r)=>!t(n))),ch=h(2,(e,t)=>Nu(e,(n,r)=>yg(t(n)))),aA=h(2,(e,t)=>Zd(e,(n,r)=>!t(r))),TJ=h(2,(e,t)=>Nu(e,(n,r)=>yg(t(r)))),CJ=h(2,(e,t)=>lA(e,eA(t))),cA=h(2,(e,t)=>Zd(e,(n,r)=>t(n))),lh=h(2,(e,t)=>Nu(e,(n,r)=>t(n))),_v=h(2,(e,t)=>Zd(e,(n,r)=>t(r))),EJ=h(2,(e,t)=>Nu(e,(n,r)=>t(r))),IJ=(e)=>{let t=Pt(e),n=lr(t);return ht([Z(),0],(r,o,[i,s])=>{switch(i._tag){case"None":return M([[H(r),s+1],s,Mn(zi(r+n))]);case"Some":return M([[H(i.value),s+1],s,Mn(zi(r+(n-(r-i.value)%n)))])}})},lA=h(2,(e,t)=>tr(tl(e,t),(n)=>n[0])),kJ=h(2,(e,t)=>tr(tl(e,t),(n)=>n[1])),RJ=h(3,(e,t,n)=>tr(tl(e,t),([r,o])=>n(r,o))),uA=(e)=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),0).getTime()},PJ=(e)=>{let t=new Date(uA(e));return t.setSeconds(t.getSeconds()+1)},aue=(e,t,n)=>{let r=new Date(e);if(r.getSeconds()===t&&n)return e;if(r.getSeconds()<t)return r.setSeconds(t);let o=new Date(r.setSeconds(t));return o.setTime(o.getTime()+60000)},AJ=(e)=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),0,0).getTime()},cue=(e)=>{let t=new Date(AJ(e));return t.setMinutes(t.getMinutes()+1)},lue=(e,t,n)=>{let r=new Date(e);if(r.getMinutes()===t&&n)return e;if(r.getMinutes()<t)return r.setMinutes(t);let o=new Date(r.setMinutes(t));return o.setTime(o.getTime()+3600000)},OJ=(e)=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),0,0,0).getTime()},uue=(e)=>{let t=new Date(OJ(e));return t.setHours(t.getHours()+1)},pue=(e,t,n)=>{let r=new Date(e);if(r.getHours()===t&&n)return e;if(r.getHours()<t)return r.setHours(t);let o=new Date(r.setHours(t));return o.setTime(o.getTime()+86400000)},pA=(e)=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0).getTime()},DJ=(e)=>{let t=new Date(pA(e));return t.setDate(t.getDate()+1)},due=(e,t,n)=>{let r=new Date(e);if(r.getDay()===t&&n)return e;let o=(7+t-r.getDay())%7;return r.setDate(r.getDate()+(o===0?7:o))},mue=(e,t,n)=>{let r=new Date(e);if(r.getDate()===t&&n)return e;if(r.getDate()<t)return r.setDate(t);return MJ(e,t,1)},MJ=(e,t,n)=>{let r=new Date(e),o=new Date(r.setDate(t));if(new Date(o.setMonth(o.getMonth()+n)).getDate()===t){let s=new Date(e),c=new Date(s.setDate(t));return c.setMonth(c.getMonth()+n)}return MJ(e,t,n+1)},Tv=Symbol.for("effect/Schedule/ScheduleDefect");class _J{error;[Tv];constructor(e){this.error=e,this[Tv]=Tv}}var fue=(e)=>ue(e,Tv),Cv=(e)=>Di(e,(t)=>ur(new _J(t))),gue=(e)=>vn(cs(e,(t)=>Gl(t)&&fue(t.defect)?H(t.defect):Z()),{onNone:()=>e,onSome:(t)=>ao(t.error)}),uh=(e)=>us(e,(t)=>Ye(gue(t))),P2=h(2,(e,t)=>dA(e,t,(n,r)=>Ve(n))),zJ=h(2,(e,t)=>{if(Iv(t))return P2(e,t);let n=t.schedule??KP(ji),r=t.while?lh(n,(s)=>{let c=t.while(s);if(typeof c==="boolean")return M(c);return Cv(c)}):n,o=t.until?ch(r,(s)=>{let c=t.until(s);if(typeof c==="boolean")return M(c);return Cv(c)}):r,i=t.times?tl(o,$d(t.times)).pipe(tr((s)=>s[0])):o;return uh(P2(e,i))}),dA=h(3,(e,t,n)=>R(ih(t),(r)=>On(e,{onFailure:(o)=>n(o,Z()),onSuccess:(o)=>FJ(Jc(e,Fu,dr(r.iterationMeta)),r,(i,s)=>Jc(n(i,s),Fu,dr(r.iterationMeta)),o)}))),FJ=(e,t,n,r)=>On(t.next(r),{onFailure:()=>nu(t.last),onSuccess:(o)=>On(e,{onFailure:(i)=>n(i,H(o)),onSuccess:(i)=>FJ(e,t,n,i)})}),rh=h(2,(e,t)=>mA(e,t,(n,r)=>Ve(n))),NJ=h(2,(e,t)=>{if(Iv(t))return rh(e,t);return uh(rh(e,zv(t)))}),zv=(e)=>{let t=e.schedule??ji,n=e.while?lh(t,(o)=>{let i=e.while(o);if(typeof i==="boolean")return M(i);return Cv(i)}):t,r=e.until?ch(n,(o)=>{let i=e.until(o);if(typeof i==="boolean")return M(i);return Cv(i)}):n;return e.times!==void 0?tl(r,$d(e.times)):r},mA=h(3,(e,t,n)=>R(ih(t),(r)=>jJ(Jc(e,Fu,dr(r.iterationMeta)),r,(o,i)=>Jc(n(o,i),Fu,dr(r.iterationMeta))))),jJ=(e,t,n)=>Di(e,(r)=>On(t.next(r),{onFailure:()=>T(t.last,nu,R((o)=>n(r,o))),onSuccess:()=>jJ(e,t,n)})),fA=h(2,(e,t)=>gA(e,void 0,t)),gA=h(3,(e,t,n)=>R(ih(n),(r)=>BJ(Jc(e,Fu,dr(r.iterationMeta)),t,r))),BJ=(e,t,n)=>On(n.next(t),{onFailure:()=>nu(n.last),onSuccess:()=>R(e,(r)=>BJ(e,r,n))}),LJ=ah(0,(e)=>e+1),Fv=ht(Z(),(e,t,n)=>{switch(n._tag){case"None":return M([H(e),oo,Mn(zi(e))]);case"Some":return M([H(n.value),xr(e-n.value),Mn(zi(e))])}}),ji=ah(0,(e)=>e+1),Nv=Rv($d(1)),qJ=Rv($d(0)),ZJ=h(2,(e,t)=>ov(fA(e,t)));var UJ=h(2,(e,t)=>Ae(()=>{let n=0,r;return R(Ac({while:()=>n<t.steps.length&&(r===void 0||tn(r)),body:()=>{let o=t.steps[n],i=xv(e,o.provide);if(r){let s=!1,c=i;i=Ae(()=>{if(s)return c;return s=!0,r}),i=uh(rh(i,$J(o,!1)))}else{let s=$J(o,!0);i=s?uh(rh(i,s)):i}return Go(i)},step:(o)=>{r=o,n++}}),()=>r)})),$J=(e,t)=>{if(!t)return zv({schedule:e.schedule?e.schedule:e.attempts?void 0:Nv,times:e.attempts,while:e.while});else if(e.attempts===1||!(e.schedule||e.attempts))return;return zv({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})};var jv=uo;var Na=Zn;var WJ=MI;var HJ=xB;var yA=tg,Bv=ld;var JJ=Symbol.for("effect/MutableList"),yue={[JJ]:JJ,[Symbol.iterator](){let e=!1,t=this.head;return{next(){if(e)return this.return();if(t==null)return e=!0,this.return();let n=t.value;return t=t.next,{done:e,value:n}},return(n){if(!e)e=!0;return{done:!0,value:n}}}},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"MutableList",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},bue=(e)=>({value:e,removed:!1,prev:void 0,next:void 0}),VJ=()=>{let e=Object.create(yue);return e.head=void 0,e.tail=void 0,e._length=0,e};var GJ=(e)=>xA(e)===0,xA=(e)=>e._length;var QJ=h(2,(e,t)=>{let n=bue(t);if(e.head===void 0)e.head=n;if(e.tail===void 0)e.tail=n;else e.tail.next=n,n.prev=e.tail,e.tail=n;return e._length+=1,e}),KJ=(e)=>{let t=e.head;if(t!==void 0)return xue(e,t),t.value;return};var xue=(e,t)=>{if(t.removed)return;if(t.removed=!0,t.prev!==void 0&&t.next!==void 0)t.prev.next=t.next,t.next.prev=t.prev;else if(t.prev!==void 0)e.tail=t.prev,t.prev.next=void 0;else if(t.next!==void 0)e.head=t.next,t.next.prev=void 0;else e.tail=void 0,e.head=void 0;if(e._length>0)e._length-=1};var YJ=Symbol.for("effect/MutableQueue"),SA=Symbol.for("effect/mutable/MutableQueue/Empty"),vue={[YJ]:YJ,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},wue=(e)=>{let t=Object.create(vue);return t.queue=VJ(),t.capacity=e,t};var XJ=()=>wue(void 0);var eV=h(2,(e,t)=>{let n=xA(e.queue);if(e.capacity!==void 0&&n===e.capacity)return!1;return QJ(t)(e.queue),!0});var tV=h(2,(e,t)=>{if(GJ(e.queue))return t;return KJ(e.queue)});var nV=(e,t,n,r)=>Hb({_tag:"Complete",key:e,exit:t,entryStats:n,timeToLiveMillis:r}),rV=(e,t)=>Hb({_tag:"Pending",key:e,deferred:t}),Cue=(e,t)=>Hb({_tag:"Refreshing",deferred:e,complete:t}),vA=Symbol.for("effect/Cache/MapKey");class oV{current;[vA]=vA;previous=void 0;next=void 0;constructor(e){this.current=e}[Te](){return T(he(this.current),Pe(he(this.previous)),Pe(he(this.next)),Ze(this))}[ve](e){if(this===e)return!0;return Eue(e)&&ye(this.current,e.current)&&ye(this.previous,e.previous)&&ye(this.next,e.next)}}var Ud=(e)=>new oV(e),Eue=(e)=>ue(e,vA);class iV{head=void 0;tail=void 0;add(e){if(e!==this.tail)if(this.tail===void 0)this.head=e,this.tail=e;else{let{previous:t,next:n}=e;if(n!==void 0)if(e.next=void 0,t!==void 0)t.next=n,n.previous=t;else this.head=n,this.head.previous=void 0;this.tail.next=e,e.previous=this.tail,this.tail=e}}remove(){let e=this.head;if(e!==void 0){let t=e.next;if(t!==void 0)e.next=void 0,this.head=t,this.head.previous=void 0;else this.head=void 0,this.tail=void 0}return e}}var Iue=()=>new iV,kue=(e,t,n,r,o,i)=>({map:e,keys:t,accesses:n,updating:r,hits:o,misses:i}),Rue=()=>kue(Ia(),Iue(),XJ(),is(!1),0,0),Pue="effect/Cache",Aue=Symbol.for(Pue),Oue={_Key:(e)=>e,_Error:(e)=>e,_Value:(e)=>e},Due="effect/ConsumerCache",Mue=Symbol.for(Due),_ue={_Key:(e)=>e,_Error:(e)=>e,_Value:(e)=>e},zue=(e)=>e,Lv=(e)=>({loadedMillis:e});class sV{capacity;context;fiberId;lookup;timeToLive;[Aue]=Oue;[Mue]=_ue;cacheState;constructor(e,t,n,r,o){this.capacity=e,this.context=t,this.fiberId=n,this.lookup=r,this.timeToLive=o,this.cacheState=Rue()}get(e){return X(this.getEither(e),jl)}get cacheStats(){return U(()=>zue({hits:this.cacheState.hits,misses:this.cacheState.misses,size:Iu(this.cacheState.map)}))}getOption(e){return Ae(()=>vn(Ut(this.cacheState.map,e),{onNone:()=>{let t=Ud(e);return this.trackAccess(t),this.trackMiss(),M(Z())},onSome:(t)=>this.resolveMapValue(t)}))}getOptionComplete(e){return Ae(()=>vn(Ut(this.cacheState.map,e),{onNone:()=>{let t=Ud(e);return this.trackAccess(t),this.trackMiss(),M(Z())},onSome:(t)=>this.resolveMapValue(t,!0)}))}contains(e){return U(()=>Eo(this.cacheState.map,e))}entryStats(e){return U(()=>{let t=Ut(this.cacheState.map,e);if(lt(t))switch(t.value._tag){case"Complete":{let n=t.value.entryStats.loadedMillis;return H(Lv(n))}case"Pending":return Z();case"Refreshing":{let n=t.value.complete.entryStats.loadedMillis;return H(Lv(n))}}return Z()})}getEither(e){return Ae(()=>{let t=e,n=void 0,r=void 0,o=Rn(Ut(this.cacheState.map,t));if(o===void 0)if(r=yA(this.fiberId),n=Ud(t),Eo(this.cacheState.map,t))o=Rn(Ut(this.cacheState.map,t));else Rr(this.cacheState.map,t,rV(n,r));if(o===void 0)return this.trackAccess(n),this.trackMiss(),X(this.lookupValueOf(e,r),nt);else return R(this.resolveMapValue(o),vn({onNone:()=>this.getEither(e),onSome:(i)=>M(dt(i))}))})}invalidate(e){return U(()=>{ka(this.cacheState.map,e)})}invalidateWhen(e,t){return U(()=>{let n=Ut(this.cacheState.map,e);if(lt(n)&&n.value._tag==="Complete"){if(n.value.exit._tag==="Success"){if(t(n.value.exit.value))ka(this.cacheState.map,e)}}})}get invalidateAll(){return U(()=>{this.cacheState.map=Ia()})}refresh(e){return gs((t)=>Ae(()=>{let n=e,r=yA(this.fiberId),o=Rn(Ut(this.cacheState.map,n));if(o===void 0)if(Eo(this.cacheState.map,n))o=Rn(Ut(this.cacheState.map,n));else Rr(this.cacheState.map,n,rV(Ud(n),r));if(o===void 0)return Qt(this.lookupValueOf(e,r));else switch(o._tag){case"Complete":{if(this.hasExpired(t,o.timeToLiveMillis)){let i=Rn(Ut(this.cacheState.map,n));if(ye(i,o))ka(this.cacheState.map,n);return Qt(this.get(e))}return T(this.lookupValueOf(e,r),wS(()=>{let i=Rn(Ut(this.cacheState.map,n));if(ye(i,o)){let s=Cue(r,o);return Rr(this.cacheState.map,n,s),!0}return!1}),Qt)}case"Pending":return Na(o.deferred);case"Refreshing":return Na(o.deferred)}}))}set(e,t){return gs((n)=>U(()=>{let r=n.unsafeCurrentTimeMillis(),o=e,i=ig(t),s=nV(Ud(o),i,Lv(r),r+lr(Pt(this.timeToLive(i))));Rr(this.cacheState.map,o,s)}))}get size(){return U(()=>Iu(this.cacheState.map))}get values(){return U(()=>{let e=[];for(let t of this.cacheState.map)if(t[1]._tag==="Complete"&&t[1].exit._tag==="Success")e.push(t[1].exit.value);return e})}get entries(){return U(()=>{let e=[];for(let t of this.cacheState.map)if(t[1]._tag==="Complete"&&t[1].exit._tag==="Success")e.push([t[0],t[1].exit.value]);return e})}get keys(){return U(()=>{let e=[];for(let t of this.cacheState.map)if(t[1]._tag==="Complete"&&t[1].exit._tag==="Success")e.push(t[0]);return e})}resolveMapValue(e,t=!1){return gs((n)=>{switch(e._tag){case"Complete":{if(this.trackAccess(e.key),this.hasExpired(n,e.timeToLiveMillis))return ka(this.cacheState.map,e.key.current),M(Z());return this.trackHit(),X(e.exit,H)}case"Pending":{if(this.trackAccess(e.key),this.trackHit(),t)return M(Z());return X(Na(e.deferred),H)}case"Refreshing":{if(this.trackAccess(e.complete.key),this.trackHit(),this.hasExpired(n,e.complete.timeToLiveMillis)){if(t)return M(Z());return X(Na(e.deferred),H)}return X(e.complete.exit,H)}}})}trackHit(){this.cacheState.hits=this.cacheState.hits+1}trackMiss(){this.cacheState.misses=this.cacheState.misses+1}trackAccess(e){if(eV(this.cacheState.accesses,e),Db(this.cacheState.updating,!1,!0)){let t=!0;while(t){let r=tV(this.cacheState.accesses,SA);if(r===SA)t=!1;else this.cacheState.keys.add(r)}let n=Iu(this.cacheState.map);t=n>this.capacity;while(t){let r=this.cacheState.keys.remove();if(r!==void 0){if(Eo(this.cacheState.map,r.current))ka(this.cacheState.map,r.current),n=n-1,t=n>this.capacity}else t=!1}Jo(this.cacheState.updating,!1)}}hasExpired(e,t){return e.unsafeCurrentTimeMillis()>t}lookupValueOf(e,t){return gs((n)=>Ae(()=>{let r=e;return T(this.lookup(e),qr(this.context),Nt,R((o)=>{let i=n.unsafeCurrentTimeMillis(),s=Lv(i),c=nV(Ud(r),o,s,i+lr(Pt(this.timeToLive(o))));return Rr(this.cacheState.map,r,c),rt(WJ(t,o),o)}),ds(()=>rt(HJ(t),U(()=>{ka(this.cacheState.map,r)}))))}))}}var aV=(e,t,n)=>new sV(e,Qn(),Nb,t,(r)=>Pt(n(r)));var Wd=Le(Symbol.for("effect/FiberRef/currentCache"),()=>on(aV(65536,()=>X(uo(),(e)=>({listeners:new Pg,handle:e})),()=>xE(60)))),ph=Le(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>on(!1)),cV=(e,t)=>R(mt(t)?t:M(t),(n)=>co((r)=>{let o=new Proxy(e,{});return pr(ph,(i)=>{if(i){let c=pr(Wd,(l)=>R(l.getEither(o),(u)=>{switch(u._tag){case"Left":{if(u.left.listeners.interrupted)return R(l.invalidateWhen(o,(p)=>p.handle===u.left.handle),()=>c);return u.left.listeners.increment(),ln((p)=>R(Nt(sa(VN,p(Zn(u.left.handle)))),(d)=>(u.left.listeners.decrement(),d)))}case"Right":return u.right.listeners.increment(),ln((p)=>R(Nt(sa(lI(n,uI({request:o,result:u.right.handle,listeners:u.right.listeners,ownerId:r,state:{completed:!1}})),p(Zn(u.right.handle)))),()=>(u.right.listeners.decrement(),Zn(u.right.handle))))}}));return c}let s=new Pg;return s.increment(),R(uo(),(c)=>ko(sa(lI(n,uI({request:o,result:c,listeners:s,ownerId:r,state:{completed:!1}})),Zn(c)),U(()=>s.decrement())))})})),lV=(e,t)=>pr(ph,(n)=>{if(n)return pr(Wd,(r)=>R(r.getEither(e),(o)=>{switch(o._tag){case"Left":return $e;case"Right":return DI(o.right.handle,t)}}));return $e}),uV=h(2,(e,t)=>rn(e,ph,t)),pV=h(2,(e,t)=>rn(e,Wd,t));var mV=q$;var Nue=aa,dh=mt,jue=AW,Bue=cP,Lue=SS,que=zW,Zue=Zk,$ue=Gc,Uue=EU,Wue=IU,Hue=Zq,Jue=$q,Vue=N1,Gue=j1,Que=e1,Kue=wU,Yue=CU,Xue=Wq,epe=Qq,mh=Io,tpe=n1,npe=BR,rpe=LR,ope=k1,ipe=P1,spe=R1,ape=OU,cpe=jR,lpe=kU,upe=PU,ppe=FU,dpe=vr,mpe=dH,fpe=Zf,ja=Xe,gpe=Ve,hpe=Qo,hV=Ye,ype=ca,wA=ur,bpe=Ec,xpe=xo,Spe=bx,vpe=Oc,wpe=S1,Tpe=E1,TA=M,CA=wu,Cpe=z1,EA=Ae,ws=U,Ba=$e;var Epe=ms,Ipe=kq;var kpe=Di,Rpe=us,Ppe=Rq,Ape=Uf,Ope=Ej,Dpe=Pq,Mpe=Aq,_pe=Oq,zpe=Dq,Fpe=Mq,Npe=jk,jpe=xS,Bpe=r1,Lpe=C1,qpe=M1,Zpe=NJ,$pe=UJ,Upe=mA,Wpe=Nk;var Hpe=W1,Jpe=H1,Vpe=Hk,Gpe=G1,Qpe=Fq,Kpe=Ij,Ype=JU,Hd=fx,Xpe=gx,ede=ua,tde=Rj,nde=ds,rde=pa,ode=ln,ide=Vq,sde=xt,ade=wd,cde=Iq,lde=Qt,ude=kc,pde=Xq,Ur=X,dde=b1,mde=Hf,fde=Rc,gde=Cd,hde=x1,yde=yg,fh=Pu,bde=SU,xde=ux,Sde=hs,vde=ko,wde=hx,Tde=Br,Cde=qS,Ede=ZS,Ide=DU,kde=UR,Rde=ni,Pde=Fg,Ade=US,Ode=_U,Dde=BU,Mde=PW,_de=vU,zde=Nq,Fde=yS,Nde=Td,jde=OW,Bde=rv,Lde=la,Jd=co,qde=Da,IA=Dd,Zde=DW,$de=lP,Ude=ov,Wde=RU,Hde=MW,Jde=_W,Vde=uP,Gde=yx,Qde=Aj,Kde=AL,Yde=EI,Xde=$j,eme=_q,tme=gs,nme=NU,rme=mq,ome=KH,ime=YH,sme=e2,ame=XH,cme=zq,lme=vu,ume=$1,pme=Wk,dme=NW,mme=BW,fme=pP,gme=jW,hme=Zg,yme=gq,bme=fq,xme=WS,Sme=po,vme=Uq,wme=To,Tme=Nc,Cme=xv,Eme=Hc,Ime=Jc,kme=tZ,Rme=eZ,Pme=Jk,Ame=Vk,Ome=nZ,Dme=rZ,Mme=Gk,_me=Q1,zme=jq,Fme=Bq,Nme=UW,jme=Lq,Bme=qq;var Lme=v1,qme=Go,Zme=Nt,gh=ps,$me=mx;var Ume=Hq,Wme=Jq,Hme=gg,Jme=Gq,Vme=zI,Gme=SB,Qme=J1,Kme=V1,Yme=wS,Xme=od,efe=K1,tfe=Y1,Bu=R,nfe=Ic,rfe=wr,ofe=VS,ife=AU,sfe=FW,afe=HR,cfe=bg,kA=Tr,lfe=B1,ufe=L1,pfe=Uk,dfe=q1,mfe=Z1,ffe=Bk,gfe=Lk,hfe=g1,yfe=zJ,bfe=O1,xfe=dA,Sfe=fA,vfe=ZJ,wfe=gA,hh=Ac,Tfe=bS,Cfe=o1,Efe=rn,Ife=Dn,kfe=Pr,Rfe=mr,Pfe=Su,Afe=_1,Ofe=vS,Dfe=i1,Mfe=s1,_fe=hg,zfe=Wf,Ffe=$t,Nfe=On,jfe=a1,Bfe=(e,...t)=>Ta(e)(...t),Lfe=c1,qfe=qk,Zfe=l1,$fe=u1,Ufe=p1,Wfe=d1,Hfe=m1,Jfe=Eq,Vfe=bU,Gfe=f1,Qfe=Uj,Kfe=xU,Yfe=nu,Xfe=SI,ege=tu,tge=w1,nge=T1,rge=Yq,oge=I1,ige=Sd,yV=hq,sge=h(2,(e,t)=>yV(e,I2(t))),age=jU,yh=Fd,cge=rd,lge=Pc,uge=xx,pge=$R,dge=F1,mge=$k,fge=MU,gge=qR,hge=Wj,yge=X1,bge=nv,xge=IW,Sge=aP,vge=RW,bh=aH,wge=sH,Tge=cH,Cge=lH,Ege=uH,Ige=pH,kge=zU,Rge=ZR,Pge=LU,Age=qU,Oge=ZU,bV=ys,Dge=h(2,(e,t)=>bV(e,t,(n,r)=>n(r))),Mge=sa,_ge=lx,zge=dx,Fge=h((e)=>mV(e[0]),cV),Nge=lV,jge=Oj,Bge=uV,Lge=pV,qge=U1,Zge=fS,$ge=bq,Uge=GS,Wge=Dj,Hge=Mj,Jge=sZ,Vge=oZ,Gge=Qk,Qge=Kk,Kge=aZ,Yge=pZ,Xge=dZ,ehe=cZ,the=iZ,nhe=uZ,rhe=ti,ohe=gS,xV=Xk,ihe=mZ,she=VU,ahe=hS,che=fZ,lhe=gZ,uhe=(e)=>vi(e)?CA:Ur(e.value,zr),phe=h(2,(e,t)=>vi(e)?CA:Ur(t(e.value),zr)),SV=(e)=>{let t=new Map;return new Proxy(e,{get(n,r,o){if(r in n)return Reflect.get(n,r,o);if(t.has(r))return t.get(r);let i=(...d)=>Ic(n,(g)=>{if(typeof g[r]==="function")return t.set(r,(...f)=>Ic(n,(v)=>v[r](...f))),g[r](...d);return t.set(r,Ic(n,(f)=>f[r])),g[r]}),s=Ic(n,(d)=>d[r]);Object.assign(i,s);let{apply:c,bind:l,call:u}=i,p=Object.setPrototypeOf({},Object.getPrototypeOf(s));return p.apply=c,p.bind=l,p.call=u,Object.setPrototypeOf(i,p),t.set(r,i),i}})},dhe=(e)=>()=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=2;let n=Error();Error.stackTraceLimit=t;function r(){}return Object.setPrototypeOf(r,Np),r.key=e,Object.defineProperty(r,"use",{get(){return(o)=>Ic(this,o)}}),Object.defineProperty(r,"stack",{get(){return n.stack}}),SV(r)},mhe=function(){return function(){let[e,t]=arguments,n="accessors"in t?t.accessors:!1,r=Error.stackTraceLimit;Error.stackTraceLimit=2;let o=Error();Error.stackTraceLimit=r;let i="unchecked",s=function(d){if(i==="unchecked"){let g=Object.getPrototypeOf(d);if(g===Object.prototype||g===null)i="plain";else{let f=Object.getPrototypeOf(this);Object.setPrototypeOf(f,g),i="patched"}}if(i==="plain")Object.assign(this,d);else if(i==="patched")return Object.setPrototypeOf(d,Object.getPrototypeOf(this)),d};s.prototype._tag=e,Object.defineProperty(s,"make",{get(){return(d)=>new this(d)}}),Object.defineProperty(s,"use",{get(){return(d)=>Ic(this,d)}}),s.key=e,Object.assign(s,Np),Object.defineProperty(s,"stack",{get(){return o.stack}});let c="dependencies"in t&&t.dependencies.length>0,l=c?"DefaultWithoutDependencies":"Default",u,p=!1;if("effect"in t)p=typeof t.effect==="function",Object.defineProperty(s,l,{get(){if(p)return function(){return Xc(s,Ur(t.effect.apply(null,arguments),(d)=>new this(d)))}.bind(this);return u??=Xc(s,Ur(t.effect,(d)=>new this(d)))}});else if("scoped"in t)p=typeof t.scoped==="function",Object.defineProperty(s,l,{get(){if(p)return function(){return el(s,Ur(t.scoped.apply(null,arguments),(d)=>new this(d)))}.bind(this);return u??=el(s,Ur(t.scoped,(d)=>new this(d)))}});else if("sync"in t)Object.defineProperty(s,l,{get(){return u??=bv(s,()=>new this(t.sync()))}});else Object.defineProperty(s,l,{get(){return u??=Nd(s,new this(t.succeed))}});if(c){let d;Object.defineProperty(s,"Default",{get(){if(p)return function(){return _u(this.DefaultWithoutDependencies.apply(null,arguments),t.dependencies)};return d??=_u(this.DefaultWithoutDependencies,t.dependencies)}})}return n===!0?SV(s):s}},fhe=function(e,...t){let n=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=Error();if(Error.stackTraceLimit=n,typeof e!=="string")return fV(e.length,function(...s){let c=Error.stackTraceLimit;Error.stackTraceLimit=2;let l=Error();return Error.stackTraceLimit=c,gV({self:this,body:e,args:s,pipeables:t,spanName:"<anonymous>",spanOptions:{context:bd.context(!0)},errorDef:r,errorCall:l})});let o=e,i=t[0];return(s,...c)=>fV(s.length,{[o](...l){let u=Error.stackTraceLimit;Error.stackTraceLimit=2;let p=Error();return Error.stackTraceLimit=u,gV({self:this,body:s,args:l,pipeables:c,spanName:o,spanOptions:i,errorDef:r,errorCall:p})}}[o])};function fV(e,t){return Object.defineProperty(t,"length",{value:e,configurable:!0})}function gV(e){let t,n=void 0;if(dz(e.body))t=Mf(()=>e.body.apply(e.self,e.args));else try{t=e.body.apply(e.self,e.args)}catch(s){n=s,t=wA(s)}if(e.pipeables.length>0)try{for(let s of e.pipeables)t=s(t,...e.args)}catch(s){t=n?hV(wt(Vt(n),Vt(s))):wA(s)}let r=!1,o=()=>{if(r!==!1)return r;if(e.errorCall.stack){let s=e.errorDef.stack.trim().split(`
30
+ `).trim(),o}}return Ae(()=>{let n=typeof e.options==="function"?e.options.apply(null,arguments):e.options;return Xk(Ae(()=>an(()=>e.body.apply(this,arguments))),n.name,{...n,captureStackTrace:t})})},fZ=(e)=>e==null?Ve(new Er):M(e),gZ=(e)=>Di(X(e,W),(t)=>kx(t)?wu:Ve(t));var eR="InterruptSignal",tR="Stateful",nR="Resume",rR="YieldNow",CS=(e)=>({_tag:"InterruptSignal",cause:e}),Id=(e)=>({_tag:"Stateful",onFiber:e}),Tu=(e)=>({_tag:"Resume",effect:e}),hZ=()=>({_tag:"YieldNow"});var Xoe="effect/FiberScope",ES=Symbol.for(Xoe);class bZ{[ES]=ES;fiberId=Cn;roots=new Set;add(e,t){this.roots.add(t),t.addObserver(()=>{this.roots.delete(t)})}}class xZ{fiberId;parent;[ES]=ES;constructor(e,t){this.fiberId=e,this.parent=t}add(e,t){this.parent.tell(Id((n)=>{n.addChild(t),t.addObserver(()=>{n.removeChild(t)})}))}}var SZ=(e)=>new xZ(e.id(),e),Mi=Le(Symbol.for("effect/FiberScope/Global"),()=>new bZ);var eie="effect/Fiber",Ca=Symbol.for(eie),kd={_E:(e)=>e,_A:(e)=>e},kS={[Ca]:kd,pipe(){return pe(this,arguments)}},tie="effect/Fiber",vg=Symbol.for(tie),vZ=T(Mz(Xn,Xn),tb((e)=>[e.id().startTimeMillis,e.id().id])),wZ=(e)=>ue(e,Ca),Sg=(e)=>(vg in e),RS=(e)=>e.await,TZ=(e)=>e.children,Cu=(e)=>({...Lo,commit(){return er(this)},...kS,id:()=>Cn,await:M(e),children:M([]),inheritAll:$e,poll:M(W(e)),interruptAsFork:()=>$e}),PS=(e)=>X(e.status,(t)=>({id:e.id(),status:t})),CZ=(e)=>Yn(e,PS),EZ=(e)=>Cu(FI(e)),iR=(e)=>Cu(NI(e)),IZ=(e)=>X(Nt(e),Cu),kZ=(e)=>e.id(),AS=(e)=>e.inheritAll,RZ=(e)=>Cu(BI(e)),PZ=(e)=>R(la,(t)=>T(e,wg(t))),wg=h(2,id(function*(e,t){for(let n of e){if(Sg(n)){n.unsafeInterruptAsFork(t);continue}yield*n.interruptAsFork(t)}for(let n of e){if(Sg(n)&&n.unsafePoll())continue;yield*n.await}})),OS=h(2,(e,t)=>e.interruptAsFork(t)),er=(e)=>ou(wr(e.await),e.inheritAll),IS=h(2,(e,t)=>sR(e,(n)=>Z(()=>t(n)))),sR=h(2,(e,t)=>({...Lo,commit(){return er(this)},...kS,id:()=>e.id(),await:R(e.await,Dx(t)),children:e.children,inheritAll:e.inheritAll,poll:R(e.poll,(r)=>{switch(r._tag){case"None":return M(q());case"Some":return T(Dx(r.value,t),X(W))}}),interruptAsFork:(r)=>e.interruptAsFork(r)})),AZ=h(2,(e,t)=>X(e.await,LI({onFailure:(n)=>iR(n),onSuccess:(n)=>t(n)}))),OZ=h(2,(e,{onFiber:t,onRuntimeFiber:n})=>{if(Sg(e))return n(e);return t(e)}),nie={...Lo,commit(){return er(this)},...kS,id:()=>Cn,await:Oc,children:M([]),inheritAll:Oc,poll:M(q()),interruptAsFork:()=>Oc},DZ=nie,aR=h(2,(e,t)=>({...Lo,commit(){return er(this)},...kS,id:()=>Lb(e.id(),t.id()),await:Lr(e.await,t.await,(n,r)=>jc(n)?n:r),children:e.children,inheritAll:rt(t.inheritAll,e.inheritAll),poll:Lr(e.poll,t.poll,(n,r)=>{switch(n._tag){case"None":return q();case"Some":return jc(n.value)?n:r}}),interruptAsFork:(n)=>T(Cr(e,n),rt(T(t,Cr(n))),Qt)})),MZ=h(2,(e,t)=>aR(IS(e,dt),IS(t,nt))),_Z=(e)=>e.poll,rie=(e)=>{let t=e>0?Math.floor:Math.ceil;return{days:t(e/86400000),hours:t(e/3600000)%24,minutes:t(e/60000)%60,seconds:t(e/1000)%60,milliseconds:t(e)%1000,microseconds:t(e*1000)%1000,nanoseconds:t(e*1e6)%1000}},oie=(e)=>{if(Hx(e))return"Done";if(rL(e))return"Running";return`Suspended(${Pi(e.runtimeFlags)?"interruptible":"uninterruptible"})`},zZ=(e)=>R(wa,(t)=>X(PS(e),(n)=>{let r=t-n.id.startTimeMillis,{days:o,hours:i,milliseconds:s,minutes:c,seconds:l}=rie(r),u=(o===0?"":`${o}d`)+(o===0&&i===0?"":`${i}h`)+(o===0&&i===0&&c===0?"":`${c}m`)+(o===0&&i===0&&c===0&&l===0?"":`${l}s`)+`${s}ms`,p=oL(n.status)?(()=>{let g=yc(n.status.blockingOn);return ea(g)>0?"waiting on "+Array.from(g).map((f)=>`${f}`).join(", "):""})():"",d=oie(n.status);return`[Fiber](#${n.id.id}) (${u}) ${p}
31
+ Status: ${d}`})),cR=()=>Array.from(Mi.roots),FZ=Z(cR),NZ=(e)=>e.status,lR=(e)=>Cu(ig(e)),jZ=lR(void 0);var Ea="effect/FiberCurrent",BZ=()=>eo(globalThis[Ea]);var iie="effect/Logger",LZ=Symbol.for(iie),qZ={_Message:(e)=>e,_Output:(e)=>e},DS=(e)=>({[LZ]:qZ,log:e,pipe(){return pe(this,arguments)}});var x0e={[LZ]:qZ,log:cr,pipe(){return pe(this,arguments)}};var sie=/^[^\s"=]*$/,aie=(e,t)=>({annotations:n,cause:r,date:o,fiberId:i,logLevel:s,message:c,spans:l})=>{let u=(v)=>v.match(sie)?v:e(v),p=(v,w)=>`${Mk(v)}=${u(w)}`,d=(v,w)=>" "+p(v,w),g=p("timestamp",o.toISOString());g+=d("level",s.label),g+=d("fiber",Bb(i));let f=Hz(c);for(let v=0;v<f.length;v++)g+=d("message",Js(f[v],t));if(!ox(r))g+=d("cause",Oi(r,{renderErrorCause:!0}));for(let v of l)g+=" "+_k(o.getTime())(v);for(let[v,w]of n)g+=d(v,Js(w,t));return g},cie=(e)=>`"${e.replace(/\\([\s\S])|(")/g,"\\$1$2")}"`,ZZ=DS(aie(cie));var Eu={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},S0e={None:[],All:[],Trace:[Eu.gray],Debug:[Eu.blue],Info:[Eu.green],Warning:[Eu.yellow],Error:[Eu.red],Fatal:[Eu.bgBrightRed,Eu.black]};var $Z=typeof process==="object"&&process!==null&&typeof process.stdout==="object"&&process.stdout!==null,v0e=$Z&&process.stdout.isTTY===!0,w0e=$Z||"Deno"in globalThis;var UZ="effect/MetricBoundaries",pR=Symbol.for(UZ);class WZ{values;[pR]=pR;constructor(e){this.values=e,this._hash=T(ct(UZ),Pe(Sn(this.values)))}_hash;[Te](){return this._hash}[ve](e){return uie(e)&&ye(this.values,e.values)}pipe(){return pe(this,arguments)}}var uie=(e)=>ue(e,pR),pie=(e)=>{let t=T(e,XC(cn(Number.POSITIVE_INFINITY)),sE);return new WZ(t)};var HZ=(e)=>T(YC(e.count-1,(t)=>e.start*Math.pow(e.factor,t)),pf,pie);var mie="effect/MetricKeyType",Tg=Symbol.for(mie),JZ="effect/MetricKeyType/Counter",dR=Symbol.for(JZ),VZ="effect/MetricKeyType/Frequency",mR=Symbol.for(VZ),GZ="effect/MetricKeyType/Gauge",fR=Symbol.for(GZ),QZ="effect/MetricKeyType/Histogram",gR=Symbol.for(QZ),KZ="effect/MetricKeyType/Summary",hR=Symbol.for(KZ),Cg={_In:(e)=>e,_Out:(e)=>e};class YZ{incremental;bigint;[Tg]=Cg;[dR]=dR;constructor(e,t){this.incremental=e,this.bigint=t,this._hash=ct(JZ)}_hash;[Te](){return this._hash}[ve](e){return yR(e)}pipe(){return pe(this,arguments)}}var fie=ct(VZ);class gie{preregisteredWords;[Tg]=Cg;[mR]=mR;constructor(e){this.preregisteredWords=e}[Te](){return fie}[ve](e){return bR(e)}pipe(){return pe(this,arguments)}}var hie=ct(GZ);class yie{bigint;[Tg]=Cg;[fR]=fR;constructor(e){this.bigint=e}[Te](){return hie}[ve](e){return xR(e)}pipe(){return pe(this,arguments)}}class XZ{boundaries;[Tg]=Cg;[gR]=gR;constructor(e){this.boundaries=e,this._hash=T(ct(QZ),Pe(he(this.boundaries)))}_hash;[Te](){return this._hash}[ve](e){return SR(e)&&ye(this.boundaries,e.boundaries)}pipe(){return pe(this,arguments)}}class bie{maxAge;maxSize;error;quantiles;[Tg]=Cg;[hR]=hR;constructor(e,t,n,r){this.maxAge=e,this.maxSize=t,this.error=n,this.quantiles=r,this._hash=T(ct(KZ),Pe(he(this.maxAge)),Pe(he(this.maxSize)),Pe(he(this.error)),Pe(Sn(this.quantiles)))}_hash;[Te](){return this._hash}[ve](e){return vR(e)&&ye(this.maxAge,e.maxAge)&&this.maxSize===e.maxSize&&this.error===e.error&&ye(this.quantiles,e.quantiles)}pipe(){return pe(this,arguments)}}var e$=(e)=>new YZ(e?.incremental??!1,e?.bigint??!1);var t$=(e)=>new XZ(e);var yR=(e)=>ue(e,dR),bR=(e)=>ue(e,mR),xR=(e)=>ue(e,fR),SR=(e)=>ue(e,gR),vR=(e)=>ue(e,hR);var xie="effect/MetricKey",r$=Symbol.for(xie),Sie={_Type:(e)=>e},vie=_p(ye);class MS{name;keyType;description;tags;[r$]=Sie;constructor(e,t,n,r=[]){this.name=e,this.keyType=t,this.description=n,this.tags=r,this._hash=T(ct(this.name+this.description),Pe(he(this.keyType)),Pe(Sn(this.tags)))}_hash;[Te](){return this._hash}[ve](e){return wie(e)&&this.name===e.name&&ye(this.keyType,e.keyType)&&ye(this.description,e.description)&&vie(this.tags,e.tags)}pipe(){return pe(this,arguments)}}var wie=(e)=>ue(e,r$),o$=(e,t)=>new MS(e,e$(t),eo(t?.description));var i$=(e,t,n)=>new MS(e,t$(t),eo(n));var s$=h(2,(e,t)=>t.length===0?e:new MS(e.name,e.keyType,e.description,Ti(e.tags,t)));var a$=Symbol.for("effect/MutableHashMap"),Cie={[a$]:a$,[Symbol.iterator](){return new wR(this)},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"MutableHashMap",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}};class wR{self;referentialIterator;bucketIterator;constructor(e){this.self=e,this.referentialIterator=e.referential[Symbol.iterator]()}next(){if(this.bucketIterator!==void 0)return this.bucketIterator.next();let e=this.referentialIterator.next();if(e.done)return this.bucketIterator=new c$(this.self.buckets.values()),this.next();return e}[Symbol.iterator](){return new wR(this.self)}}class c${backing;constructor(e){this.backing=e}currentBucket;next(){if(this.currentBucket===void 0){let t=this.backing.next();if(t.done)return t;this.currentBucket=t.value[Symbol.iterator]()}let e=this.currentBucket.next();if(e.done)return this.currentBucket=void 0,this.next();return e}}var Ia=()=>{let e=Object.create(Cie);return e.referential=new Map,e.buckets=new Map,e.bucketsSize=0,e};var Ut=h(2,(e,t)=>{if(Tp(t)===!1)return e.referential.has(t)?W(e.referential.get(t)):q();let n=t[Te](),r=e.buckets.get(n);if(r===void 0)return q();return Eie(e,r,t)});var Eie=(e,t,n,r=!1)=>{for(let o=0,i=t.length;o<i;o++)if(n[ve](t[o][0])){let s=t[o][1];if(r)t.splice(o,1),e.bucketsSize--;return W(s)}return q()},Eo=h(2,(e,t)=>lt(Ut(e,t))),Rr=h(3,(e,t,n)=>{if(Tp(t)===!1)return e.referential.set(t,n),e;let r=t[Te](),o=e.buckets.get(r);if(o===void 0)return e.buckets.set(r,[[t,n]]),e.bucketsSize++,e;return l$(e,o,t),o.push([t,n]),e.bucketsSize++,e}),l$=(e,t,n)=>{for(let r=0,o=t.length;r<o;r++)if(n[ve](t[r][0])){t.splice(r,1),e.bucketsSize--;return}};var ka=h(2,(e,t)=>{if(Tp(t)===!1)return e.referential.delete(t),e;let n=t[Te](),r=e.buckets.get(n);if(r===void 0)return e;if(l$(e,r,t),r.length===0)e.buckets.delete(n);return e});var Iu=(e)=>e.referential.size+e.bucketsSize;var Iie="effect/MetricState",Eg=Symbol.for(Iie),u$="effect/MetricState/Counter",TR=Symbol.for(u$),p$="effect/MetricState/Frequency",CR=Symbol.for(p$),d$="effect/MetricState/Gauge",ER=Symbol.for(d$),m$="effect/MetricState/Histogram",IR=Symbol.for(m$),f$="effect/MetricState/Summary",kR=Symbol.for(f$),Ig={_A:(e)=>e};class g${count;[Eg]=Ig;[TR]=TR;constructor(e){this.count=e}[Te](){return T(he(u$),Pe(he(this.count)),Ze(this))}[ve](e){return Rie(e)&&this.count===e.count}pipe(){return pe(this,arguments)}}var kie=_p(ye);class h${occurrences;[Eg]=Ig;[CR]=CR;constructor(e){this.occurrences=e}_hash;[Te](){return T(ct(p$),Pe(Sn(Fe(this.occurrences.entries()))),Ze(this))}[ve](e){return Pie(e)&&kie(Fe(this.occurrences.entries()),Fe(e.occurrences.entries()))}pipe(){return pe(this,arguments)}}class y${value;[Eg]=Ig;[ER]=ER;constructor(e){this.value=e}[Te](){return T(he(d$),Pe(he(this.value)),Ze(this))}[ve](e){return Aie(e)&&this.value===e.value}pipe(){return pe(this,arguments)}}class b${buckets;count;min;max;sum;[Eg]=Ig;[IR]=IR;constructor(e,t,n,r,o){this.buckets=e,this.count=t,this.min=n,this.max=r,this.sum=o}[Te](){return T(he(m$),Pe(he(this.buckets)),Pe(he(this.count)),Pe(he(this.min)),Pe(he(this.max)),Pe(he(this.sum)),Ze(this))}[ve](e){return Oie(e)&&ye(this.buckets,e.buckets)&&this.count===e.count&&this.min===e.min&&this.max===e.max&&this.sum===e.sum}pipe(){return pe(this,arguments)}}class x${error;quantiles;count;min;max;sum;[Eg]=Ig;[kR]=kR;constructor(e,t,n,r,o,i){this.error=e,this.quantiles=t,this.count=n,this.min=r,this.max=o,this.sum=i}[Te](){return T(he(f$),Pe(he(this.error)),Pe(he(this.quantiles)),Pe(he(this.count)),Pe(he(this.min)),Pe(he(this.max)),Pe(he(this.sum)),Ze(this))}[ve](e){return Die(e)&&this.error===e.error&&ye(this.quantiles,e.quantiles)&&this.count===e.count&&this.min===e.min&&this.max===e.max&&this.sum===e.sum}pipe(){return pe(this,arguments)}}var S$=(e)=>new g$(e),v$=(e)=>new h$(e),w$=(e)=>new y$(e),T$=(e)=>new b$(e.buckets,e.count,e.min,e.max,e.sum),C$=(e)=>new x$(e.error,e.quantiles,e.count,e.min,e.max,e.sum);var Rie=(e)=>ue(e,TR),Pie=(e)=>ue(e,CR),Aie=(e)=>ue(e,ER),Oie=(e)=>ue(e,IR),Die=(e)=>ue(e,kR);var _ie="effect/MetricHook",zie=Symbol.for(_ie),Fie={_In:(e)=>e,_Out:(e)=>e},kg=(e)=>({[zie]:Fie,pipe(){return pe(this,arguments)},...e});var E$=BigInt(0),k$=(e)=>{let t=e.keyType.bigint?E$:0,n=e.keyType.incremental?e.keyType.bigint?(o)=>o>=E$:(o)=>o>=0:(o)=>!0,r=(o)=>{if(n(o))t=t+o};return kg({get:()=>S$(t),update:r,modify:r})},R$=(e)=>{let t=new Map;for(let r of e.keyType.preregisteredWords)t.set(r,0);let n=(r)=>{let o=t.get(r)??0;t.set(r,o+1)};return kg({get:()=>v$(t),update:n,modify:n})},P$=(e,t)=>{let n=t;return kg({get:()=>w$(n),update:(r)=>{n=r},modify:(r)=>{n=n+r}})},A$=(e)=>{let t=e.keyType.boundaries.values,n=t.length,r=new Uint32Array(n+1),o=new Float64Array(n),i=0,s=0,c=Number.MAX_VALUE,l=Number.MIN_VALUE;T(t,to(Xn),ts((d,g)=>{o[g]=d}));let u=(d)=>{let g=0,f=n;while(g!==f){let v=Math.floor(g+(f-g)/2),w=o[v];if(d<=w)f=v;else g=v;if(f===g+1)if(d<=o[g])f=g;else g=f}if(r[g]=r[g]+1,i=i+1,s=s+d,d<c)c=d;if(d>l)l=d},p=()=>{let d=lf(n),g=0;for(let f=0;f<n;f++){let v=o[f],w=r[f];g=g+w,d[f]=[v,g]}return d};return kg({get:()=>T$({buckets:p(),count:i,min:c,max:l,sum:s}),update:u,modify:u})},O$=(e)=>{let{error:t,maxAge:n,maxSize:r,quantiles:o}=e.keyType,i=T(o,to(Xn)),s=lf(r),c=0,l=0,u=0,p=0,d=0,g=(v)=>{let w=[],I=0;while(I!==r-1){let A=s[I];if(A!=null){let[L,N]=A,re=xr(v-L);if(fb(re,oo)&&RF(re,n))w.push(N)}I=I+1}return Nie(t,i,to(w,Xn))},f=(v,w)=>{if(r>0){c=c+1;let I=c%r;s[I]=[w,v]}p=l===0?v:Math.min(p,v),d=l===0?v:Math.max(d,v),l=l+1,u=u+v};return kg({get:()=>C$({error:t,quantiles:g(Date.now()),count:l,min:p,max:d,sum:u}),update:([v,w])=>f(v,w),modify:([v,w])=>f(v,w)})},Nie=(e,t,n)=>{let r=n.length;if(!br(t))return Ci();let o=t[0],i=t.slice(1),s=I$(e,r,q(),0,o,n),c=jr(s);return i.forEach((l)=>{c.push(I$(e,r,s.value,s.consumed,l,s.rest))}),ts(c,(l)=>[l.quantile,l.value])},I$=(e,t,n,r,o,i)=>{let s=e,c=t,l=n,u=r,p=o,d=i,g=e,f=t,v=n,w=r,I=o,A=i;while(!0){if(!br(d))return{quantile:p,value:q(),consumed:u,rest:[]};if(p===1)return{quantile:p,value:W(tE(d)),consumed:u+d.length,rest:[]};let L=Gn(d),N=Qz(d,(ke)=>ke===L),re=p*c,Ee=s/2*re,D=u+N[0].length,Ce=Math.abs(D-re);if(D<re-Ee){g=s,f=c,v=lc(d),w=D,I=p,A=N[1],s=g,c=f,l=v,u=w,p=I,d=A;continue}if(D>re+Ee){let ke=it(l)?W(L):l;return{quantile:p,value:ke,consumed:u,rest:d}}switch(l._tag){case"None":{g=s,f=c,v=lc(d),w=D,I=p,A=N[1],s=g,c=f,l=v,u=w,p=I,d=A;continue}case"Some":{let ke=Math.abs(re-l.value);if(Ce<ke){g=s,f=c,v=lc(d),w=D,I=p,A=N[1],s=g,c=f,l=v,u=w,p=I,d=A;continue}return{quantile:p,value:W(l.value),consumed:u,rest:d}}}}throw Error("BUG: MetricHook.resolveQuantiles - please report an issue at https://github.com/Effect-TS/effect/issues")};var Bie="effect/MetricPair",Lie=Symbol.for(Bie),qie={_Type:(e)=>e};var D$=(e,t)=>({[Lie]:qie,metricKey:e,metricState:t,pipe(){return pe(this,arguments)}});var $ie="effect/MetricRegistry",M$=Symbol.for($ie);class _${[M$]=M$;map=Ia();snapshot(){let e=[];for(let[t,n]of this.map)e.push(D$(t,n.get()));return e}get(e){let t=T(this.map,Ut(e),Rn);if(t==null){if(yR(e.keyType))return this.getCounter(e);if(xR(e.keyType))return this.getGauge(e);if(bR(e.keyType))return this.getFrequency(e);if(SR(e.keyType))return this.getHistogram(e);if(vR(e.keyType))return this.getSummary(e);throw Error("BUG: MetricRegistry.get - unknown MetricKeyType - please report an issue at https://github.com/Effect-TS/effect/issues")}else return t}getCounter(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=k$(e);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}getFrequency(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=R$(e);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}getGauge(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=P$(e,e.keyType.bigint?BigInt(0):0);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}getHistogram(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=A$(e);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}getSummary(e){let t=T(this.map,Ut(e),Rn);if(t==null){let n=O$(e);if(!T(this.map,Eo(e)))T(this.map,Rr(e,n));t=n}return t}}var z$=()=>new _$;var Wie="effect/Metric",Hie=Symbol.for(Wie),Jie={_Type:(e)=>e,_In:(e)=>e,_Out:(e)=>e},F$=Le(Symbol.for("effect/Metric/globalMetricRegistry"),()=>z$()),N$=function(e,t,n,r){let o=Object.assign((i)=>Tr(i,(s)=>Gie(o,s)),{[Hie]:Jie,keyType:e,unsafeUpdate:t,unsafeValue:n,unsafeModify:r,register(){return this.unsafeValue([]),this},pipe(){return pe(this,arguments)}});return o};var Rg=(e,t)=>j$(o$(e,t));var j$=(e)=>{let t,n=new WeakMap,r=(o)=>{if(o.length===0){if(t!==void 0)return t;return t=F$.get(e),t}let i=n.get(o);if(i!==void 0)return i;return i=F$.get(s$(e,o)),n.set(o,i),i};return N$(e.keyType,(o,i)=>r(i).update(o),(o)=>r(o).get(),(o,i)=>r(i).modify(o))};var B$=(e,t,n)=>j$(i$(e,t,n));var L$=h(3,(e,t,n)=>Vie(e,[xu(t,n)]));var Vie=h(2,(e,t)=>N$(e.keyType,(n,r)=>e.unsafeUpdate(n,Ti(t,r)),(n)=>e.unsafeValue(Ti(t,n)),(n,r)=>e.unsafeModify(n,Ti(t,r))));var Gie=h(2,(e,t)=>pr(fa,(n)=>Z(()=>e.unsafeUpdate(t,n))));var Kie="effect/Request",RR=Symbol.for(Kie),Yie={_E:(e)=>e,_A:(e)=>e},eze={...Ap,[RR]:Yie},q$=(e)=>ue(e,RR);var PR=h(2,(e,t)=>pr(uS,(n)=>Z(()=>{if(n.has(e)){let r=n.get(e);if(!r.state.completed)r.state.completed=!0,ld(r.result,t)}})));class Pg{count=0;observers=new Set;interrupted=!1;addObserver(e){this.observers.add(e)}removeObserver(e){this.observers.delete(e)}increment(){this.count++,this.observers.forEach((e)=>e(this.count))}decrement(){this.count--,this.observers.forEach((e)=>e(this.count))}}var Vc={Forward:0,Backward:1};class Ag{self;stack;direction;count=0;constructor(e,t,n){this.self=e,this.stack=t,this.direction=n}clone(){return new Ag(this.self,this.stack.slice(),this.direction)}reversed(){return new Ag(this.self,this.stack.slice(),this.direction===Vc.Forward?Vc.Backward:Vc.Forward)}next(){let e=this.entry;if(this.count++,this.direction===Vc.Forward)this.moveNext();else this.movePrev();switch(e._tag){case"None":return{done:!0,value:this.count};case"Some":return{done:!1,value:e.value}}}get key(){if(this.stack.length>0)return W(this.stack[this.stack.length-1].key);return q()}get value(){if(this.stack.length>0)return W(this.stack[this.stack.length-1].value);return q()}get entry(){return Jt(sb(this.stack),(e)=>[e.key,e.value])}get index(){let e=0,t=this.stack;if(t.length===0){let n=this.self._root;if(n!=null)return n.count;return 0}else if(t[t.length-1].left!=null)e=t[t.length-1].left.count;for(let n=t.length-2;n>=0;--n)if(t[n+1]===t[n].right){if(++e,t[n].left!=null)e+=t[n].left.count}return e}moveNext(){let e=this.stack;if(e.length===0)return;let t=e[e.length-1];if(t.right!=null){t=t.right;while(t!=null)e.push(t),t=t.left}else{e.pop();while(e.length>0&&e[e.length-1].right===t)t=e[e.length-1],e.pop()}}get hasNext(){let e=this.stack;if(e.length===0)return!1;if(e[e.length-1].right!=null)return!0;for(let t=e.length-1;t>0;--t)if(e[t-1].left===e[t])return!0;return!1}movePrev(){let e=this.stack;if(e.length===0)return;let t=e[e.length-1];if(t!=null&&t.left!=null){t=t.left;while(t!=null)e.push(t),t=t.right}else{e.pop();while(e.length>0&&e[e.length-1].left===t)t=e[e.length-1],e.pop()}}get hasPrev(){let e=this.stack;if(e.length===0)return!1;if(e[e.length-1].left!=null)return!0;for(let t=e.length-1;t>0;--t)if(e[t-1].right===e[t])return!0;return!1}}var ze={Red:0,Black:1},_i=({color:e,count:t,key:n,left:r,right:o,value:i})=>({color:e,key:n,value:i,left:r,right:o,count:t});function AR(e,t){e.key=t.key,e.value=t.value,e.left=t.left,e.right=t.right,e.color=t.color,e.count=t.count}var Ra=({count:e,key:t,left:n,right:r,value:o},i)=>({color:i,key:t,value:o,left:n,right:r,count:e}),Yt=(e)=>{e.count=1+(e.left?.count??0)+(e.right?.count??0)};var Z$="effect/RedBlackTree",OR=Symbol.for(Z$),tse={_Key:(e)=>e,_Value:(e)=>e},nse={[OR]:tse,[Te](){let e=he(Z$);for(let t of this)e^=T(he(t[0]),Pe(he(t[1])));return Ze(this,e)},[ve](e){if($$(e)){if((this._root?.count??0)!==(e._root?.count??0))return!1;let t=Array.from(e);return Array.from(this).every((n,r)=>{let o=t[r];return ye(n[0],o[0])&&ye(n[1],o[1])})}return!1},[Symbol.iterator](){let e=[],t=this._root;while(t!=null)e.push(t),t=t.left;return new Ag(this,e,Vc.Forward)},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"RedBlackTree",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},Og=(e,t)=>{let n=Object.create(nse);return n._ord=e,n._root=t,n},$$=(e)=>ue(e,OR);var U$=h(2,(e,t)=>{let{_ord:n,_root:r}=e;while(r!==void 0){let o=n(t,r.key);if(ye(t,r.key))return W(r.value);if(o<=0)r=r.left;else r=r.right}return q()});var DR=h(2,(e,t)=>lt(U$(e,t))),W$=h(3,(e,t,n)=>{let{_ord:r,_root:o}=e,i=[],s=[];while(o!=null){let c=r(t,o.key);if(i.push(o),s.push(c),c<=0)o=o.left;else o=o.right}i.push({color:ze.Red,key:t,value:n,left:void 0,right:void 0,count:1});for(let c=i.length-2;c>=0;--c){let l=i[c];if(s[c]<=0)i[c]={color:l.color,key:l.key,value:l.value,left:i[c+1],right:l.right,count:l.count+1};else i[c]={color:l.color,key:l.key,value:l.value,left:l.left,right:i[c+1],count:l.count+1}}for(let c=i.length-1;c>1;--c){let l=i[c-1],u=i[c];if(l.color===ze.Black||u.color===ze.Black)break;let p=i[c-2];if(p.left===l)if(l.left===u){let d=p.right;if(d&&d.color===ze.Red)l.color=ze.Black,p.right=Ra(d,ze.Black),p.color=ze.Red,c-=1;else{if(p.color=ze.Red,p.left=l.right,l.color=ze.Black,l.right=p,i[c-2]=l,i[c-1]=u,Yt(p),Yt(l),c>=3){let g=i[c-3];if(g.left===p)g.left=l;else g.right=l}break}}else{let d=p.right;if(d&&d.color===ze.Red)l.color=ze.Black,p.right=Ra(d,ze.Black),p.color=ze.Red,c-=1;else{if(l.right=u.left,p.color=ze.Red,p.left=u.right,u.color=ze.Black,u.left=l,u.right=p,i[c-2]=u,i[c-1]=l,Yt(p),Yt(l),Yt(u),c>=3){let g=i[c-3];if(g.left===p)g.left=u;else g.right=u}break}}else if(l.right===u){let d=p.left;if(d&&d.color===ze.Red)l.color=ze.Black,p.left=Ra(d,ze.Black),p.color=ze.Red,c-=1;else{if(p.color=ze.Red,p.right=l.left,l.color=ze.Black,l.left=p,i[c-2]=l,i[c-1]=u,Yt(p),Yt(l),c>=3){let g=i[c-3];if(g.right===p)g.right=l;else g.left=l}break}}else{let d=p.left;if(d&&d.color===ze.Red)l.color=ze.Black,p.left=Ra(d,ze.Black),p.color=ze.Red,c-=1;else{if(l.left=u.right,p.color=ze.Red,p.right=u.left,u.color=ze.Black,u.right=l,u.left=p,i[c-2]=u,i[c-1]=l,Yt(p),Yt(l),Yt(u),c>=3){let g=i[c-3];if(g.right===p)g.right=u;else g.left=u}break}}}return i[0].color=ze.Black,Og(e._ord,i[0])}),H$=(e)=>J$(e,Vc.Forward);var J$=(e,t)=>{let n=e[Symbol.iterator](),r=0;return{[Symbol.iterator]:()=>J$(e,t),next:()=>{r++;let o=n.key;if(t===Vc.Forward)n.moveNext();else n.movePrev();switch(o._tag){case"None":return{done:!0,value:r};case"Some":return{done:!1,value:o.value}}}}};var V$=h(2,(e,t)=>{if(!DR(e,t))return e;let n=e._ord,r=n,o=e._root,i=[];while(o!==void 0){let l=r(t,o.key);if(i.push(o),ye(t,o.key))o=void 0;else if(l<=0)o=o.left;else o=o.right}if(i.length===0)return e;let s=Array(i.length),c=i[i.length-1];s[s.length-1]={color:c.color,key:c.key,value:c.value,left:c.left,right:c.right,count:c.count};for(let l=i.length-2;l>=0;--l)if(c=i[l],c.left===i[l+1])s[l]={color:c.color,key:c.key,value:c.value,left:s[l+1],right:c.right,count:c.count};else s[l]={color:c.color,key:c.key,value:c.value,left:c.left,right:s[l+1],count:c.count};if(c=s[s.length-1],c.left!==void 0&&c.right!==void 0){let l=s.length;c=c.left;while(c.right!=null)s.push(c),c=c.right;let u=s[l-1];s.push({color:c.color,key:u.key,value:u.value,left:c.left,right:c.right,count:c.count}),s[l-1].key=c.key,s[l-1].value=c.value;for(let p=s.length-2;p>=l;--p)c=s[p],s[p]={color:c.color,key:c.key,value:c.value,left:c.left,right:s[p+1],count:c.count};s[l-1].left=s[l]}if(c=s[s.length-1],c.color===ze.Red){let l=s[s.length-2];if(l.left===c)l.left=void 0;else if(l.right===c)l.right=void 0;s.pop();for(let u=0;u<s.length;++u)s[u].count--;return Og(n,s[0])}else if(c.left!==void 0||c.right!==void 0){if(c.left!==void 0)AR(c,c.left);else if(c.right!==void 0)AR(c,c.right);c.color=ze.Black;for(let l=0;l<s.length-1;++l)s[l].count--;return Og(n,s[0])}else if(s.length===1)return Og(n,void 0);else{for(let u=0;u<s.length;++u)s[u].count--;let l=s[s.length-2];if(rse(s),l.left===c)l.left=void 0;else l.right=void 0}return Og(n,s[0])});var rse=(e)=>{let t,n,r,o;for(let i=e.length-1;i>=0;--i){if(t=e[i],i===0){t.color=ze.Black;return}if(n=e[i-1],n.left===t){if(r=n.right,r!==void 0&&r.right!==void 0&&r.right.color===ze.Red){if(r=n.right=_i(r),o=r.right=_i(r.right),n.right=r.left,r.left=n,r.right=o,r.color=n.color,t.color=ze.Black,n.color=ze.Black,o.color=ze.Black,Yt(n),Yt(r),i>1){let s=e[i-2];if(s.left===n)s.left=r;else s.right=r}e[i-1]=r;return}else if(r!==void 0&&r.left!==void 0&&r.left.color===ze.Red){if(r=n.right=_i(r),o=r.left=_i(r.left),n.right=o.left,r.left=o.right,o.left=n,o.right=r,o.color=n.color,n.color=ze.Black,r.color=ze.Black,t.color=ze.Black,Yt(n),Yt(r),Yt(o),i>1){let s=e[i-2];if(s.left===n)s.left=o;else s.right=o}e[i-1]=o;return}if(r!==void 0&&r.color===ze.Black)if(n.color===ze.Red){n.color=ze.Black,n.right=Ra(r,ze.Red);return}else{n.right=Ra(r,ze.Red);continue}else if(r!==void 0){if(r=_i(r),n.right=r.left,r.left=n,r.color=n.color,n.color=ze.Red,Yt(n),Yt(r),i>1){let s=e[i-2];if(s.left===n)s.left=r;else s.right=r}if(e[i-1]=r,e[i]=n,i+1<e.length)e[i+1]=t;else e.push(t);i=i+2}}else{if(r=n.left,r!==void 0&&r.left!==void 0&&r.left.color===ze.Red){if(r=n.left=_i(r),o=r.left=_i(r.left),n.left=r.right,r.right=n,r.left=o,r.color=n.color,t.color=ze.Black,n.color=ze.Black,o.color=ze.Black,Yt(n),Yt(r),i>1){let s=e[i-2];if(s.right===n)s.right=r;else s.left=r}e[i-1]=r;return}else if(r!==void 0&&r.right!==void 0&&r.right.color===ze.Red){if(r=n.left=_i(r),o=r.right=_i(r.right),n.left=o.right,r.right=o.left,o.right=n,o.left=r,o.color=n.color,n.color=ze.Black,r.color=ze.Black,t.color=ze.Black,Yt(n),Yt(r),Yt(o),i>1){let s=e[i-2];if(s.right===n)s.right=o;else s.left=o}e[i-1]=o;return}if(r!==void 0&&r.color===ze.Black)if(n.color===ze.Red){n.color=ze.Black,n.left=Ra(r,ze.Red);return}else{n.left=Ra(r,ze.Red);continue}else if(r!==void 0){if(r=_i(r),n.left=r.right,r.right=n,r.color=n.color,n.color=ze.Red,Yt(n),Yt(r),i>1){let s=e[i-2];if(s.right===n)s.right=r;else s.left=r}if(e[i-1]=r,e[i]=n,i+1<e.length)e[i+1]=t;else e.push(t);i=i+2}}}};var G$=DR,Q$=W$,K$=H$;var Y$=V$;var MR=Symbol.for("effect/SortedSet"),sse={[MR]:{_A:(e)=>e},[Te](){return T(he(this.keyTree),Pe(he(MR)),Ze(this))},[ve](e){return ase(e)&&ye(this.keyTree,e.keyTree)},[Symbol.iterator](){return K$(this.keyTree)},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"SortedSet",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},X$=(e)=>{let t=Object.create(sse);return t.keyTree=e,t},ase=(e)=>ue(e,MR);var eU=h(2,(e,t)=>G$(e.keyTree,t)?e:X$(Q$(e.keyTree,t,!0)));var tU=h(2,(e,t)=>X$(Y$(e.keyTree,t)));var lse="effect/Supervisor",Rd=Symbol.for(lse),Dg={_T:(e)=>e};class Pd{underlying;value0;[Rd]=Dg;constructor(e,t){this.underlying=e,this.value0=t}get value(){return this.value0}onStart(e,t,n,r){this.underlying.onStart(e,t,n,r)}onEnd(e,t){this.underlying.onEnd(e,t)}onEffect(e,t){this.underlying.onEffect(e,t)}onSuspend(e){this.underlying.onSuspend(e)}onResume(e){this.underlying.onResume(e)}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}}class Ad{left;right;_tag="Zip";[Rd]=Dg;constructor(e,t){this.left=e,this.right=t}get value(){return ru(this.left.value,this.right.value)}onStart(e,t,n,r){this.left.onStart(e,t,n,r),this.right.onStart(e,t,n,r)}onEnd(e,t){this.left.onEnd(e,t),this.right.onEnd(e,t)}onEffect(e,t){this.left.onEffect(e,t),this.right.onEffect(e,t)}onSuspend(e){this.left.onSuspend(e),this.right.onSuspend(e)}onResume(e){this.left.onResume(e),this.right.onResume(e)}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}}var _R=(e)=>ue(e,Rd)&&ac(e,"Zip");class nU{[Rd]=Dg;fibers=new Set;get value(){return Z(()=>Array.from(this.fibers))}onStart(e,t,n,r){this.fibers.add(r)}onEnd(e,t){this.fibers.delete(t)}onEffect(e,t){}onSuspend(e){}onResume(e){}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}onRun(e,t){return e()}}class rU{effect;[Rd]=Dg;constructor(e){this.effect=e}get value(){return this.effect}onStart(e,t,n,r){}onEnd(e,t){}onEffect(e,t){}onSuspend(e){}onResume(e){}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}onRun(e,t){return e()}}class use{ref;[Rd]=Dg;constructor(e){this.ref=e}get value(){return Z(()=>io(this.ref))}onStart(e,t,n,r){T(this.ref,Jo(T(io(this.ref),eU(r))))}onEnd(e,t){T(this.ref,Jo(T(io(this.ref),tU(t))))}onEffect(e,t){}onSuspend(e){}onResume(e){}map(e){return new Pd(this,T(this.value,X(e)))}zip(e){return new Ad(this,e)}onRun(e,t){return e()}}var pse=()=>new nU,oU=Z(pse),dse=(e)=>new rU(e),ku=Le("effect/Supervisor/none",()=>dse($e));var iU=xc;var sU="Empty",aU="AddSupervisor",cU="RemoveSupervisor",lU="AndThen",Od={_tag:sU},FS=(e,t)=>({_tag:lU,first:e,second:t}),fse=(e,t)=>gse(t,cn(e)),gse=(e,t)=>{let n=e,r=t;while(_t(r)){let o=ut(r);switch(o._tag){case sU:{r=zt(r);break}case aU:{n=n.zip(o.supervisor),r=zt(r);break}case cU:{n=zR(n,o.supervisor),r=zt(r);break}case lU:{r=Zt(o.first)(Zt(o.second)(zt(r)));break}}}return n},zR=(e,t)=>{if(ye(e,t))return ku;else if(_R(e))return zR(e.left,t).zip(zR(e.right,t));else return e},NS=(e)=>{if(ye(e,ku))return Ho();else if(_R(e))return T(NS(e.left),os(NS(e.right)));else return Ii(e)},hse=(e,t)=>{if(ye(e,t))return Od;let n=NS(e),r=NS(t),o=T(r,DE(n),Wl(Od,(s,c)=>FS(s,{_tag:aU,supervisor:c}))),i=T(n,DE(r),Wl(Od,(s,c)=>FS(s,{_tag:cU,supervisor:c})));return FS(o,i)},uU=iU({empty:Od,patch:fse,combine:FS,diff:hse});var bse=Rg("effect_fiber_started",{incremental:!0}),pU=Rg("effect_fiber_active"),xse=Rg("effect_fiber_successes",{incremental:!0}),Sse=Rg("effect_fiber_failures",{incremental:!0}),vse=L$(B$("effect_fiber_lifetimes",HZ({start:0.5,factor:2,count:35})),"time_unit","milliseconds"),Mg="Continue",wse="Done",dU="Yield",Tse={_E:(e)=>e,_A:(e)=>e},jS=(e)=>{throw Error(`BUG: FiberRuntime - ${Js(e)} - please report an issue at https://github.com/Effect-TS/effect/issues`)},Pa=Symbol.for("effect/internal/fiberRuntime/YieldedOp"),Aa=Le("effect/internal/fiberRuntime/yieldedOpChannel",()=>({currentOp:null})),_g={[Ip]:(e,t,n)=>an(()=>t.effect_instruction_i1(n)),["OnStep"]:(e,t,n)=>wt(wt(n)),[kp]:(e,t,n)=>an(()=>t.effect_instruction_i2(n)),[ef]:(e,t,n)=>{if(e.patchRuntimeFlags(e.currentRuntimeFlags,t.patch),Pi(e.currentRuntimeFlags)&&e.isInterrupted())return at(e.getInterruptedCause());else return wt(n)},[Rp]:(e,t,n)=>{if(an(()=>t.effect_instruction_i2(n)),an(()=>t.effect_instruction_i0()))return e.pushStack(t),an(()=>t.effect_instruction_i1());else return $e},[Nl]:(e,t,n)=>{while(!0){let r=an(()=>t.effect_instruction_i0.next(n));if(r.done)return wt(r.value);let o=Dl(r.value);if(!uu(o))return e.pushStack(t),o;else if(o._tag==="Failure")return o;n=o.value}}},Cse={[eR]:(e,t,n,r)=>(e.processNewInterruptSignal(r.cause),Pi(t)?at(r.cause):n),[nR]:(e,t,n,r)=>{throw Error("It is illegal to have multiple concurrent run loops in a single fiber")},[tR]:(e,t,n,r)=>(r.onFiber(e,YI(t)),n),[rR]:(e,t,n,r)=>R(ms(),()=>n)},Ese=(e)=>So(GN(e),(t)=>Oa(YN(t),([n,r])=>{let o=new Map,i=[];for(let c of r){i.push(qo(c));for(let l of c)o.set(l.request,l)}let s=i.flat();return rn(jse(n.runAll(i),s,()=>s.forEach((c)=>{c.listeners.interrupted=!0})),uS,o)},!1,!1)),Ise=nf();class $S extends Bc{[Ca]=kd;[vg]=Tse;_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(e,t,n){super();if(this.currentRuntimeFlags=n,this._fiberId=e,this._fiberRefs=t,nI(n)){let r=this.getFiberRef(fa);bse.unsafeUpdate(1,r),pU.unsafeUpdate(1,r)}this.refreshRefCache()}commit(){return er(this)}id(){return this._fiberId}resume(e){this.tell(Tu(e))}get status(){return this.ask((e,t)=>t)}get runtimeFlags(){return this.ask((e,t)=>{if(Hx(t))return e.currentRuntimeFlags;return t.runtimeFlags})}scope(){return SZ(this)}get children(){return this.ask((e)=>Array.from(e.getChildren()))}getChildren(){if(this._children===null)this._children=new Set;return this._children}getInterruptedCause(){return this.getFiberRef(su)}fiberRefs(){return this.ask((e)=>e.getFiberRefs())}ask(e){return Ae(()=>{let t=tg(this._fiberId);return this.tell(Id((n,r)=>{ld(t,Z(()=>e(n,r)))})),Zn(t)})}tell(e){if(this._queue.push(e),!this._running)this._running=!0,this.drainQueueLaterOnExecutor()}get await(){return vr((e)=>{let t=(n)=>e(M(n));if(this._exitValue!==null){t(this._exitValue);return}return this.tell(Id((n,r)=>{if(n._exitValue!==null)t(this._exitValue);else n.addObserver(t)})),Z(()=>this.tell(Id((n,r)=>{n.removeObserver(t)})))},this.id())}get inheritAll(){return Xe((e,t)=>{let n=e.id(),r=e.getFiberRefs(),o=t.runtimeFlags,i=this.getFiberRefs(),s=Bx(r,n,i);e.setFiberRefs(s);let c=e.getFiberRef(gU),l=T(Vo(o,c),sI(Ri),sI(Xb));return Pc(l)})}get poll(){return Z(()=>eo(this._exitValue))}unsafePoll(){return this._exitValue}interruptAsFork(e){return Z(()=>this.tell(CS(Kn(e))))}unsafeInterruptAsFork(e){this.tell(CS(Kn(e)))}addObserver(e){if(this._exitValue!==null)e(this._exitValue);else this._observers.push(e)}removeObserver(e){this._observers=this._observers.filter((t)=>t!==e)}getFiberRefs(){return this.setFiberRef(gU,this.currentRuntimeFlags),this._fiberRefs}unsafeDeleteFiberRef(e){this._fiberRefs=ag(this._fiberRefs,e)}getFiberRef(e){if(this._fiberRefs.locals.has(e))return this._fiberRefs.locals.get(e)[0][1];return e.initial}setFiberRef(e,t){this._fiberRefs=ud(this._fiberRefs,{fiberId:this._fiberId,fiberRef:e,value:t}),this.refreshRefCache()}refreshRefCache(){this.currentDefaultServices=this.getFiberRef(Kt),this.currentTracer=this.currentDefaultServices.unsafeMap.get(va.key),this.currentSupervisor=this.getFiberRef(HS),this.currentScheduler=this.getFiberRef(ya),this.currentContext=this.getFiberRef(lo),this.currentSpan=this.currentContext.unsafeMap.get(kr.key)}setFiberRefs(e){this._fiberRefs=e,this.refreshRefCache()}addChild(e){this.getChildren().add(e)}removeChild(e){this.getChildren().delete(e)}transferChildren(e){let t=this._children;if(this._children=null,t!==null&&t.size>0){for(let n of t)if(n._exitValue===null)e.add(this.currentRuntimeFlags,n)}}drainQueueOnCurrentThread(){let e=!0;while(e){let t=Mg,n=globalThis[Ea];globalThis[Ea]=this;try{while(t===Mg)t=this._queue.length===0?wse:this.evaluateMessageWhileSuspended(this._queue.splice(0,1)[0])}finally{this._running=!1,globalThis[Ea]=n}if(this._queue.length>0&&!this._running)if(this._running=!0,t===dU)this.drainQueueLaterOnExecutor(),e=!1;else e=!0;else e=!1}}drainQueueLaterOnExecutor(){this.currentScheduler.scheduleTask(this.run,this.getFiberRef(da),this)}drainQueueWhileRunning(e,t){let n=t;while(this._queue.length>0){let r=this._queue.splice(0,1)[0];n=Cse[r._tag](this,e,n,r)}return n}isInterrupted(){return!Rf(this.getFiberRef(su))}addInterruptedCause(e){let t=this.getFiberRef(su);this.setFiberRef(su,vt(t,e))}processNewInterruptSignal(e){this.addInterruptedCause(e),this.sendInterruptSignalToAllChildren()}sendInterruptSignalToAllChildren(){if(this._children===null||this._children.size===0)return!1;let e=!1;for(let t of this._children)t.tell(CS(Kn(this.id()))),e=!0;return e}interruptAllChildren(){if(this.sendInterruptSignalToAllChildren()){let e=this._children.values();this._children=null;let t=!1;return Ac({while:()=>!t,body:()=>{let r=e.next();if(!r.done)return Qt(r.value.await);else return Z(()=>{t=!0})},step:()=>{}})}return null}reportExitValue(e){if(nI(this.currentRuntimeFlags)){let t=this.getFiberRef(fa),n=this.id().startTimeMillis,r=Date.now();switch(vse.unsafeUpdate(r-n,t),pU.unsafeUpdate(-1,t),e._tag){case Ct:{xse.unsafeUpdate(1,t);break}case Tt:{Sse.unsafeUpdate(1,t);break}}}if(e._tag==="Failure"){let t=this.getFiberRef(Vf);if(!Ql(e.cause)&&t._tag==="Some")this.log("Fiber terminated with an unhandled error",e.cause,t)}}setExitValue(e){this._exitValue=e,this.reportExitValue(e);for(let t=this._observers.length-1;t>=0;t--)this._observers[t](e);this._observers=[]}getLoggers(){return this.getFiberRef(yU)}log(e,t,n){let r=lt(n)?n.value:this.getFiberRef(CI),o=this.getFiberRef(NR);if(ik(o,r))return;let i=this.getFiberRef(wx),s=this.getFiberRef(ma),c=this.getLoggers(),l=this.getFiberRefs();if(ea(c)>0){let u=Pn(this.getFiberRef(Kt),Zr),p=new Date(u.unsafeCurrentTimeMillis());fz(l,()=>{for(let d of c)d.log({fiberId:this.id(),logLevel:r,message:e,cause:t,context:l,spans:i,annotations:s,date:p})})}}evaluateMessageWhileSuspended(e){switch(e._tag){case rR:return dU;case eR:{if(this.processNewInterruptSignal(e.cause),this._asyncInterruptor!==null)this._asyncInterruptor(at(e.cause)),this._asyncInterruptor=null;return Mg}case nR:return this._asyncInterruptor=null,this._asyncBlockingOn=null,this.evaluateEffect(e.effect),Mg;case tR:return e.onFiber(this,this._exitValue!==null?tL:nL(this.currentRuntimeFlags,this._asyncBlockingOn)),Mg;default:return jS(e)}}evaluateEffect(e){this.currentSupervisor.onResume(this);try{let t=Pi(this.currentRuntimeFlags)&&this.isInterrupted()?at(this.getInterruptedCause()):e;while(t!==null){let n=t,r=this.runLoop(n);if(r===Pa){let o=Aa.currentOp;if(Aa.currentOp=null,o._op===Pp)if(UN(this.currentRuntimeFlags))this.tell(hZ()),this.tell(Tu(Ir)),t=null;else t=Ir;else if(o._op===zl)t=null}else{this.currentRuntimeFlags=T(this.currentRuntimeFlags,eI(Xb));let o=this.interruptAllChildren();if(o!==null)t=R(o,()=>r);else{if(this._queue.length===0)this.setExitValue(r);else this.tell(Tu(r));t=null}}}}finally{this.currentSupervisor.onSuspend(this)}}start(e){if(!this._running){this._running=!0;let t=globalThis[Ea];globalThis[Ea]=this;try{this.evaluateEffect(e)}finally{if(this._running=!1,globalThis[Ea]=t,this._queue.length>0)this.drainQueueLaterOnExecutor()}}else this.tell(Tu(e))}startFork(e){this.tell(Tu(e))}patchRuntimeFlags(e,t){let n=na(e,t);return globalThis[Ea]=this,this.currentRuntimeFlags=n,n}initiateAsync(e,t){let n=!1,r=(o)=>{if(!n)n=!0,this.tell(Tu(o))};if(Pi(e))this._asyncInterruptor=r;try{t(r)}catch(o){r(Ye(Vt(o)))}}pushStack(e){if(this._stack.push(e),e._op==="OnStep")this._steps.push({refs:this.getFiberRefs(),flags:this.currentRuntimeFlags})}popStack(){let e=this._stack.pop();if(e){if(e._op==="OnStep")this._steps.pop();return e}return}getNextSuccessCont(){let e=this.popStack();while(e){if(e._op!==Ep)return e;e=this.popStack()}}getNextFailCont(){let e=this.popStack();while(e){if(e._op!==Ip&&e._op!==Rp&&e._op!==Nl)return e;e=this.popStack()}}[hz](e){return Z(()=>$o(this.currentContext,e))}["Left"](e){return Ve(e.left)}["None"](e){return Ve(new Er)}["Right"](e){return wt(e.right)}["Some"](e){return wt(e.value)}["Micro"](e){return nd((t)=>{let n=t,r=vL(hL(e,this.currentContext));return r.addObserver((o)=>{if(o._tag==="Success")return n(wt(o.value));switch(o.cause._tag){case"Interrupt":return n(at(Kn(Cn)));case"Fail":return n(Ve(o.cause.error));case"Die":return n(ur(o.cause.defect))}}),nd((o)=>{n=(i)=>{o($e)},r.unsafeInterrupt()})})}[Jy](e){let t=an(()=>e.effect_instruction_i0()),n=this.getNextSuccessCont();if(n!==void 0){if(!(n._op in _g))jS(n);return _g[n._op](this,n,t)}else return Aa.currentOp=wt(t),Pa}[Ct](e){let t=e,n=this.getNextSuccessCont();if(n!==void 0){if(!(n._op in _g))jS(n);return _g[n._op](this,n,t.effect_instruction_i0)}else return Aa.currentOp=t,Pa}[Tt](e){let t=e.effect_instruction_i0,n=this.getNextFailCont();if(n!==void 0)switch(n._op){case Ep:case kp:if(!(Pi(this.currentRuntimeFlags)&&this.isInterrupted()))return an(()=>n.effect_instruction_i1(t));else return at(Pf(t));case"OnStep":if(!(Pi(this.currentRuntimeFlags)&&this.isInterrupted()))return wt(at(t));else return at(Pf(t));case ef:if(this.patchRuntimeFlags(this.currentRuntimeFlags,n.patch),Pi(this.currentRuntimeFlags)&&this.isInterrupted())return at(vt(t,this.getInterruptedCause()));else return at(t);default:jS(n)}else return Aa.currentOp=at(t),Pa}[Vy](e){return an(()=>e.effect_instruction_i0(this,YI(this.currentRuntimeFlags)))}["Blocked"](e){let t=this.getFiberRefs(),n=this.currentRuntimeFlags;if(this._steps.length>0){let r=[],o=this._steps[this._steps.length-1],i=this.popStack();while(i&&i._op!=="OnStep")r.push(i),i=this.popStack();this.setFiberRefs(o.refs),this.currentRuntimeFlags=o.flags;let s=mu(o.refs,t),c=Vo(o.flags,n);return wt(sa(e.effect_instruction_i0,Xe((l)=>{while(r.length>0)l.pushStack(r.pop());return l.setFiberRefs(fu(l.id(),l.getFiberRefs())(s)),l.currentRuntimeFlags=na(c)(l.currentRuntimeFlags),e.effect_instruction_i1})))}return ln((r)=>R(Dd(lx(e.effect_instruction_i0)),()=>r(e.effect_instruction_i1)))}["RunBlocked"](e){return Ese(e.effect_instruction_i0)}[Vs](e){let t=e.effect_instruction_i0,n=this.currentRuntimeFlags,r=na(n,t);if(Pi(r)&&this.isInterrupted())return at(this.getInterruptedCause());else if(this.patchRuntimeFlags(this.currentRuntimeFlags,t),e.effect_instruction_i1){let o=Vo(r,n);return this.pushStack(new yI(o,e)),an(()=>e.effect_instruction_i1(n))}else return Ir}[Ip](e){return this.pushStack(e),e.effect_instruction_i0}["OnStep"](e){return this.pushStack(e),e.effect_instruction_i0}[Ep](e){return this.pushStack(e),e.effect_instruction_i0}[kp](e){return this.pushStack(e),e.effect_instruction_i0}[zl](e){return this._asyncBlockingOn=e.effect_instruction_i1,this.initiateAsync(this.currentRuntimeFlags,e.effect_instruction_i0),Aa.currentOp=e,Pa}[Pp](e){return this._isYielding=!1,Aa.currentOp=e,Pa}[Rp](e){let{effect_instruction_i0:t,effect_instruction_i1:n}=e;if(t())return this.pushStack(e),n();else return Ir}[Nl](e){return _g[Nl](this,e,void 0)}[Fl](e){return an(()=>e.commit())}runLoop(e){let t=e;this.currentOpCount=0;while(!0){if((this.currentRuntimeFlags&$N)!==0)this.currentSupervisor.onEffect(this,t);if(this._queue.length>0)t=this.drainQueueWhileRunning(this.currentRuntimeFlags,t);if(!this._isYielding){this.currentOpCount+=1;let n=this.currentScheduler.shouldYield(this);if(n!==!1){this._isYielding=!0,this.currentOpCount=0;let r=t;t=R(ms({priority:n}),()=>r)}}try{if(t=this.currentTracer.context(()=>{if(Ise!==t[aa]._V){let n=this.getFiberRef(Cx);if(n._tag==="Some"){let r=t[aa]._V;this.log(`Executing an Effect versioned ${r} with a Runtime of version ${nf()}, 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`,En,n)}}return this[t._op](t)},this),t===Pa){let n=Aa.currentOp;if(n._op===Pp||n._op===zl)return Pa;return Aa.currentOp=null,n._op===Ct||n._op===Tt?n:at(Vt(n))}}catch(n){if(t!==Pa&&!ue(t,"_op")||!(t._op in this))t=Ec(`Not a valid effect: ${Js(t)}`);else if(Ix(n))t=at(vt(Vt(n),Kn(Cn)));else t=ur(n)}}}run=()=>{this.drainQueueOnCurrentThread()}}var NR=Le("effect/FiberRef/currentMinimumLogLevel",()=>on(sk("Info"))),kse=(e)=>DS((t)=>{let n=MB(t.context,Kt);Pn(n,xa).unsafe.log(e.log(t))});var Rse=Le(Symbol.for("effect/Logger/defaultLogger"),()=>kse(ZZ));var Pse=Le(Symbol.for("effect/Logger/tracerLogger"),()=>DS(({annotations:e,cause:t,context:n,fiberId:r,logLevel:o,message:i})=>{let s=xg(bo(ha(n,lo),kr));if(s._tag==="None"||s.value._tag==="ExternalSpan")return;let c=$o(ha(n,Kt),Zr),l={};for(let[u,p]of e)l[u]=p;if(l["effect.fiberId"]=fN(r),l["effect.logLevel"]=o.label,t!==null&&t._tag!=="Empty")l["effect.cause"]=Oi(t,{renderErrorCause:!0});s.value.event(Js(Array.isArray(i)&&i.length===1?i[0]:i),c.unsafeCurrentTimeNanos(),l)}));var yU=Le(Symbol.for("effect/FiberRef/currentLoggers"),()=>qj(Ii(Rse,Pse)));var bU=function(){if(typeof arguments[0]==="string")return mr(ma,Sr(arguments[0],arguments[1]));let e=Object.entries(arguments[0]);return mr(ma,yN((t)=>{for(let n=0;n<e.length;n++){let[r,o]=e[n];Sr(t,r,o)}return t}))},xU=h(2,(e,t)=>{let n=typeof t==="string"?sk(t):t;return Xe((r)=>{let o=r.getFiberRef(NR);if(ik(o,n))return M(q());return X(e,W)})}),Pu=h((e)=>mt(e[0]),(e,t)=>pa(Tr(e,(n)=>hs((r)=>t(n,r))))),SU=h((e)=>mt(e[0]),(e,t)=>ko(e,hs((n)=>t(n)))),hs=(e)=>Xe((t)=>{let n=t.getFiberRefs(),r=XE(t.currentRuntimeFlags,Ri);return R(UR,(o)=>_c(o,(i)=>Xe((s)=>{let c=s.getFiberRefs(),l=s.currentRuntimeFlags,u=mu(c,n),p=Vo(l,r),d=mu(n,c);return s.setFiberRefs(fu(u,s.id(),n)),ko(xx(e(i),p),Z(()=>{s.setFiberRefs(fu(d,s.id(),s.getFiberRefs()))}))})))}),vU=(e)=>rn(_f,W(Mi))(e),mU=Symbol.for("effect/Effect/existsPar/found"),wU=h((e)=>Bo(e[0])&&!mt(e[0]),(e,t,n)=>dg(n?.concurrency,()=>Ae(()=>TU(e[Symbol.iterator](),0,t)),()=>On(Io(e,(r,o)=>mx(t(r,o),{onTrue:()=>Ve(mU),onFalse:()=>$e}),n),{onFailure:(r)=>r===mU?M(!0):Ve(r),onSuccess:()=>M(!1)}))),TU=(e,t,n)=>{let r=e.next();if(r.done)return M(!1);return R(n(r.value,t),(o)=>o?M(o):TU(e,t+1,n))},CU=h((e)=>Bo(e[0])&&!mt(e[0]),(e,t,n)=>{let r=n?.negate?(o,i)=>X(t(o,i),wB):t;return dg(n?.concurrency,()=>Ae(()=>Fe(e).reduceRight((o,i,s)=>Lr(o,Ae(()=>r(i,s)),(c,l)=>l?[i,...c]:c),Z(()=>[]))),()=>X(Io(e,(o,i)=>X(r(o,i),(s)=>s?W(o):q()),n),eF))}),Ase=(e)=>{if(Array.isArray(e)||Bo(e))return[e,q()];let t=Object.keys(e),n=t.length;return[t.map((r)=>e[r]),W((r)=>{let o={};for(let i=0;i<n;i++)o[t[i]]=r[i];return o})]},Ose=(e,t,n)=>{let r=[];for(let o of e)r.push(Go(o));return R(Io(r,He,{concurrency:n?.concurrency,batching:n?.batching,concurrentFinalizers:n?.concurrentFinalizers}),(o)=>{let i=q(),s=o.length,c=Array(s),l=Array(s),u=!1;for(let p=0;p<s;p++){let d=o[p];if(d._tag==="Left")c[p]=W(d.left),u=!0;else l[p]=d.right,c[p]=i}if(u)return t._tag==="Some"?Ve(t.value(c)):Ve(c);else if(n?.discard)return $e;return t._tag==="Some"?M(t.value(l)):M(l)})},Dse=(e,t,n)=>{let r=[];for(let o of e)r.push(Go(o));if(n?.discard)return Io(r,He,{concurrency:n?.concurrency,batching:n?.batching,discard:!0,concurrentFinalizers:n?.concurrentFinalizers});return X(Io(r,He,{concurrency:n?.concurrency,batching:n?.batching,concurrentFinalizers:n?.concurrentFinalizers}),(o)=>t._tag==="Some"?t.value(o):o)},Gc=(e,t)=>{let[n,r]=Ase(e);if(t?.mode==="validate")return Ose(n,r,t);else if(t?.mode==="either")return Dse(n,r,t);return t?.discard!==!0&&r._tag==="Some"?X(Io(n,He,t),r.value):Io(n,He,t)},EU=(e)=>(t)=>Gc(t,e),IU=(e,t)=>X(Gc(Fe(e).map(Nt),t),Mp((n)=>Xf(n)?W(n.effect_instruction_i0):q())),jR=h(2,(e,t)=>Array.from({length:t},()=>e)),kU=h((e)=>mt(e[0]),(e,t,n)=>Gc(jR(e,t),n)),Io=h((e)=>Bo(e[0]),(e,t,n)=>Xe((r)=>{let o=n?.batching===!0||n?.batching==="inherit"&&r.getFiberRef(Jf);if(n?.discard)return Sk(n.concurrency,()=>Ru(Fx,n?.concurrentFinalizers)((i)=>o?Oa(e,(s,c)=>i(t(s,c)),!0,!1,1):So(e,(s,c)=>i(t(s,c)))),()=>Ru(Nx,n?.concurrentFinalizers)((i)=>Oa(e,(s,c)=>i(t(s,c)),o,!1)),(i)=>Ru(jx(i),n?.concurrentFinalizers)((s)=>Oa(e,(c,l)=>s(t(c,l)),o,!1,i)));return Sk(n?.concurrency,()=>Ru(Fx,n?.concurrentFinalizers)((i)=>o?FR(e,1,(s,c)=>i(t(s,c)),!0):Yn(e,(s,c)=>i(t(s,c)))),()=>Ru(Nx,n?.concurrentFinalizers)((i)=>BS(e,(s,c)=>i(t(s,c)),o)),(i)=>Ru(jx(i),n?.concurrentFinalizers)((s)=>FR(e,i,(c,l)=>s(t(c,l)),o)))})),BS=(e,t,n)=>Ae(()=>{let r=Fe(e),o=Array(r.length);return rt(Oa(r,(s,c)=>R(t(s,c),(l)=>Z(()=>o[c]=l)),n,!1),M(o))}),Oa=(e,t,n,r,o)=>ln((i)=>yx((s)=>Xe((c)=>{let l=Array.from(e).reverse(),u=l.length;if(u===0)return $e;let p=0,d=!1,g=o?Math.min(l.length,o):l.length,f=new Set,v=[],w=()=>f.forEach((ke)=>{ke.currentScheduler.scheduleTask(()=>{ke.unsafeInterruptAsFork(c.id())},0,ke)}),I=[],A=[],L=[],N=()=>{let ke=v.filter(({exit:Me})=>Me._tag==="Failure").sort((Me,te)=>Me.index<te.index?-1:Me.index===te.index?0:1).map(({exit:Me})=>Me);if(ke.length===0)ke.push(Ir);return ke},re=(ke,Me=!1)=>{let te=pa(s(ke)),ce=Mse(te,c,c.currentRuntimeFlags,Mi);return c.currentScheduler.scheduleTask(()=>{if(Me)ce.unsafeInterruptAsFork(c.id());ce.resume(te)},0,ce),ce},Ee=()=>{if(!r)u-=l.length,l=[];d=!0,w()},D=n?dx:Nt,Ce=re(vr((ke)=>{let Me=(ce,Y)=>{if(ce._op==="Blocked")L.push(ce);else if(v.push({index:Y,exit:ce}),ce._op==="Failure"&&!d)Ee()},te=()=>{if(l.length>0){let ce=l.pop(),Y=p++,G=()=>{let Qe=l.pop();return Y=p++,R(ms(),()=>R(D(i(t(Qe,Y))),me))},me=(Qe)=>{if(l.length>0){if(Me(Qe,Y),l.length>0)return G()}return M(Qe)},xe=R(D(i(t(ce,Y))),me),se=re(xe);if(I.push(se),f.add(se),d)se.currentScheduler.scheduleTask(()=>{se.unsafeInterruptAsFork(c.id())},0,se);se.addObserver((Qe)=>{let ft;if(Qe._op==="Failure")ft=Qe;else ft=Qe.effect_instruction_i0;if(A.push(se),f.delete(se),Me(ft,Y),v.length===u)ke(M(wn(zc(N(),{parallel:!0}),()=>Ir)));else if(L.length+v.length===u){let bn=N(),C=L.map((Lt)=>Lt.effect_instruction_i0).reduce(cI);ke(M(sa(C,Oa([wn(zc(bn,{parallel:!0}),()=>Ir),...L.map((Lt)=>Lt.effect_instruction_i1)],(Lt)=>Lt,n,!0,o))))}else te()})}};for(let ce=0;ce<g;ce++)te()}));return Qt(Br(wr(i(er(Ce))),pu({onFailure:(ke)=>{Ee();let Me=L.length+1,te=Math.min(typeof o==="number"?o:L.length,L.length),ce=Array.from(L);return vr((Y)=>{let G=[],me=0,xe=0,se=(ft,bn)=>(C)=>{if(G[ft]=C,me++,me===Me)Y(wt(at(ke)));if(ce.length>0&&bn)Qe()},Qe=()=>{re(ce.pop(),!0).addObserver(se(xe,!0)),xe++};Ce.addObserver(se(xe,!1)),xe++;for(let ft=0;ft<te;ft++)Qe()})},onSuccess:()=>Yn(A,(ke)=>ke.inheritAll)})))}))),FR=(e,t,n,r)=>Ae(()=>{let o=Fe(e),i=Array(o.length);return rt(Oa(o,(c,l)=>X(n(c,l),(u)=>i[l]=u),r,!1,t),M(i))}),Da=(e)=>Xe((t,n)=>M(zg(e,t,n.runtimeFlags))),Dd=(e)=>_se(e,Mi),RU=h(2,(e,t)=>Da(hx(e,(n)=>{let r=Ai(n);switch(r._tag){case"Left":return t(r.left);case"Right":return Ye(r.right)}}))),zg=(e,t,n,r=null)=>{let o=LS(e,t,n,r);return o.resume(e),o},Mse=(e,t,n,r=null)=>LS(e,t,n,r),LS=(e,t,n,r=null)=>{let o=Zb(),i=t.getFiberRefs(),s=HI(i,o),c=new $S(o,s,n),l=ha(s,lo),u=c.currentSupervisor;return u.onStart(l,e,W(t),c),c.addObserver((d)=>u.onEnd(d,c)),(r!==null?r:T(t.getFiberRef(_f),wn(()=>t.scope()))).add(n,c),c},_se=(e,t)=>Xe((n,r)=>M(zg(e,n,r.runtimeFlags,t))),BR=h((e)=>jo(e[2]),(e,t,n,r)=>dg(r?.concurrency,()=>Fe(e).reduce((o,i,s)=>Lr(o,i,(c,l)=>n(c,l,s)),M(t)),()=>R(iS(t),(o)=>R(Io(e,(i,s)=>R(i,(c)=>IL(o,(l)=>n(l,c,s))),r),()=>sS(o))))),LR=h((e)=>Bo(e[0]),(e,t,n)=>T(Io(e,(r,o)=>Go(t(r,o)),n),X((r)=>Pj(r,He)))),PU=h((e)=>Bo(e[0]),(e,t,n)=>R(LR(e,t,{concurrency:n?.concurrency,batching:n?.batching,concurrentFinalizers:n?.concurrentFinalizers}),([r,o])=>ib(r)?Ve(r):n?.discard?$e:M(o))),AU=(e)=>Xe((t,n)=>vr((r)=>{let o=new Set,i,s=En,c=()=>{for(let p of o)p.unsafeInterruptAsFork(t.id())},l=!1,u=!0;for(let p of e){u=!1;let d=zg(ua(p),t,n.runtimeFlags);if(o.add(d),d.addObserver((g)=>{if(o.delete(d),!i)if(g._tag==="Success")l=!0,i=d,s=En,c();else s=Gt(g.cause,s);if(l&&o.size===0)r(i?rt(AS(i),i.unsafePoll()):Ye(s))}),i)break}if(u)return r(xo(()=>new Ko("Received an empty collection of effects")));return l=!0,wg(o,t.id())})),OU=h((e)=>Bo(e[0])&&!mt(e[0]),(e,t,n,r)=>dg(r?.concurrency,()=>Fe(e).reduce((o,i,s)=>Lr(o,i,(c,l)=>n(c,l,s)),t),()=>Ae(()=>T(BR([t,...e],q(),(o,i,s)=>{switch(o._tag){case"None":return W(i);case"Some":return W(n(o.value,i,s))}},r),X((o)=>{switch(o._tag){case"None":throw Error("BUG: Effect.reduceEffect - please report an issue at https://github.com/Effect-TS/effect/issues");case"Some":return o.value}}))))),qS=(e)=>To((t)=>vn(bo(t,bs),{onNone:()=>e,onSome:(n)=>{switch(n.strategy._tag){case"Parallel":return e;case"Sequential":case"ParallelN":return R(wo(n,Nx),(r)=>xs(e,r))}}})),fU=(e)=>(t)=>To((n)=>vn(bo(n,bs),{onNone:()=>t,onSome:(r)=>{if(r.strategy._tag==="ParallelN"&&r.strategy.parallelism===e)return t;return R(wo(r,jx(e)),(o)=>xs(t,o))}})),DU=(e)=>(t)=>Ru(e,!0)(t),Ru=(e,t)=>(n)=>To((r)=>vn(bo(r,bs),{onNone:()=>n(He),onSome:(o)=>{if(t===!0){let i=e._tag==="Parallel"?qS:e._tag==="Sequential"?ZS:fU(e.parallelism);switch(o.strategy._tag){case"Parallel":return i(n(qS));case"Sequential":return i(n(ZS));case"ParallelN":return i(n(fU(o.strategy.parallelism)))}}else return n(He)}})),ni=(e)=>R(bs,e),Fg=(e)=>R(Au(),(t)=>Br(e(t),(n)=>t.close(n))),US=(e)=>R(Au(),(t)=>WR(e,t)),ZS=(e)=>To((t)=>vn(bo(t,bs),{onNone:()=>e,onSome:(n)=>{switch(n.strategy._tag){case"Sequential":return e;case"Parallel":case"ParallelN":return R(wo(n,Fx),(r)=>xs(e,r))}}})),MU=(e,t)=>qR([xu(e,t)]),qR=(e)=>mr(fa,(t)=>Ti(t,e)),_U=h(2,(e,t)=>Fg((n)=>R(xs(e,n),t))),zU=h((e)=>mt(e[1]),(e,t,n)=>ZR(e,t,(r,o)=>[r,o],n)),ZR=h((e)=>mt(e[1]),(e,t,n,r)=>wr(ys(Nt(e),Nt(t),(o,i)=>Yo(o,i,{onSuccess:n,onFailure:(s,c)=>r?.concurrent?Gt(s,c):vt(s,c)}),r)));var FU=h((e)=>Bo(e[0]),(e,t,n)=>kc(Io(e,(r,o)=>kc(t(r,o)),n))),NU=(e)=>mr(Kt,St(Zr,e)),jU=(e)=>mr(Kt,St(Sa,e)),WS=(e)=>mr(Kt,St(yd,e)),BU=(e)=>ni((t)=>R(wo(t,Xo),(n)=>T(e,xs(n),X((r)=>[co((o)=>au(n,eg(o))),r])))),LU=h((e)=>mt(e[1]),(e,t,n)=>ys(e,t,(r,o)=>[r,o],n)),qU=h((e)=>mt(e[1]),(e,t,n)=>{if(n?.concurrent!==!0&&(n?.batching===void 0||n.batching===!1))return ou(e,t);return ys(e,t,(r,o)=>r,n)}),ZU=h((e)=>mt(e[1]),(e,t,n)=>{if(n?.concurrent!==!0&&(n?.batching===void 0||n.batching===!1))return rt(e,t);return ys(e,t,(r,o)=>o,n)}),ys=h((e)=>mt(e[1]),(e,t,n,r)=>X(Gc([e,t],{concurrency:r?.concurrent?2:1,batching:r?.batching,concurrentFinalizers:r?.concurrentFinalizers}),([o,i])=>n(o,i))),$R=(e)=>{if(e===HN)return $e;return T(rd,R((t)=>{let n=na(t,e),r=Vo(n,t);return T(Pc(e),rt(hs(()=>Pc(r))),Qt)}),pa)},bs=qn("effect/Scope"),UR=bs,zse=(e,t)=>{if(e.state._tag==="Open")e.state.finalizers.set({},t)},Fse={[Qf]:Qf,[Kf]:Kf,pipe(){return pe(this,arguments)},fork(e){return Z(()=>{let t=$U(e);if(this.state._tag==="Closed")return t.state=this.state,t;let n={},r=(o)=>t.close(o);return this.state.finalizers.set(n,r),zse(t,(o)=>Z(()=>{if(this.state._tag==="Open")this.state.finalizers.delete(n)})),t})},close(e){return Ae(()=>{if(this.state._tag==="Closed")return $e;let t=Array.from(this.state.finalizers.values()).reverse();if(this.state={_tag:"Closed",exit:e},t.length===0)return $e;return ZI(this.strategy)?T(Yn(t,(n)=>Nt(n(e))),R((n)=>T(zc(n),Jt(cd),wn(()=>Ir)))):$I(this.strategy)?T(BS(t,(n)=>Nt(n(e)),!1),R((n)=>T(zc(n,{parallel:!0}),Jt(cd),wn(()=>Ir)))):T(FR(t,this.strategy.parallelism,(n)=>Nt(n(e)),!1),R((n)=>T(zc(n,{parallel:!0}),Jt(cd),wn(()=>Ir))))})},addFinalizer(e){return Ae(()=>{if(this.state._tag==="Closed")return e(this.state.exit);return this.state.finalizers.set({},e),$e})}},$U=(e=Xo)=>{let t=Object.create(Fse);return t.strategy=e,t.state={_tag:"Open",finalizers:new Map},t},Au=(e=Xo)=>Z(()=>$U(e)),xs=h(2,(e,t)=>Nc(e,Uo(no(bs,t)))),WR=h(2,(e,t)=>T(e,xs(t),Br((n)=>t.close(n)))),Nse=(e)=>iu(e,{differ:uU,fork:Od}),Pr=h(2,(e,t)=>Qt(Pu(R(vo(e),(n)=>bt(eu(e,t),n)),(n)=>eu(e,n)))),mr=h(2,(e,t)=>pr(e,(n)=>Pr(e,t(n))));var gU=Zj(WN),HS=Nse(ku),JS=(e)=>Io(e,RS),Md=(e)=>({...Mx,commit(){return er(this)},[Ca]:kd,id:()=>Fe(e).reduce((n,r)=>so(n,r.id()),Cn),await:Nt(BS(e,(n)=>wr(n.await),!1)),children:X(BS(e,(n)=>n.children,!1),ab),inheritAll:So(e,(n)=>n.inheritAll),poll:X(Yn(e,(n)=>n.poll),cb(W(wt([])),(n,r)=>{switch(r._tag){case"None":return q();case"Some":switch(n._tag){case"None":return q();case"Some":return W(Yo(r.value,n.value,{onSuccess:(o,i)=>[o,...i],onFailure:Gt}))}}})),interruptAsFork:(n)=>So(e,(r)=>r.interruptAsFork(n))}),UU=(e)=>Qt(Dd(Dc(e))),WU=(e)=>er(Md(e)),HU=(e)=>Pu(M(e),Dc),HR=h(3,(e,t,n)=>JR(e,t,{onSelfWin:(r,o)=>R(r.await,(i)=>{switch(i._tag){case Ct:return R(r.inheritAll,()=>n.onSelfDone(i,o));case Tt:return n.onSelfDone(i,o)}}),onOtherWin:(r,o)=>R(r.await,(i)=>{switch(i._tag){case Ct:return R(r.inheritAll,()=>n.onOtherDone(i,o));case Tt:return n.onOtherDone(i,o)}})})),JU=(e)=>ln((t)=>co((n)=>R(Dd(t(e)),(r)=>T(t(er(r)),ds(()=>T(r,OS(n))))))),VS=h(2,(e,t)=>co((n)=>HR(e,t,{onSelfDone:(r,o)=>du(r,{onFailure:(i)=>T(er(o),Cd((s)=>Gt(i,s))),onSuccess:(i)=>T(o,Cr(n),bt(i))}),onOtherDone:(r,o)=>du(r,{onFailure:(i)=>T(er(o),Cd((s)=>Gt(s,i))),onSuccess:(i)=>T(o,Cr(n),bt(i))})}))),JR=h(3,(e,t,n)=>Xe((r,o)=>{let i=o.runtimeFlags,s=is(!0),c=LS(e,r,i,n.selfScope),l=LS(t,r,i,n.otherScope);return vr((u)=>{c.addObserver(()=>hU(c,l,n.onSelfWin,s,u)),l.addObserver(()=>hU(l,c,n.onOtherWin,s,u)),c.startFork(e),l.startFork(t)},so(c.id(),l.id()))})),hU=(e,t,n,r,o)=>{if(Db(!0,!1)(r))o(n(e,t))},ko=h(2,(e,t)=>ln((n)=>$t(n(e),{onFailure:(r)=>$t(t,{onFailure:(o)=>Ye(vt(r,o)),onSuccess:()=>Ye(r)}),onSuccess:(r)=>bt(t,r)}))),jse=(e,t,n)=>co((r)=>ko(R(Dd(ua(e)),(o)=>vr((i)=>{let s=t.map((u)=>u.listeners.count),c=()=>{if(s.every((u)=>u===0)){if(t.every((u)=>{if(u.result.state.current._tag==="Pending")return!0;else if(u.result.state.current._tag==="Done"&&uu(u.result.state.current.effect)&&u.result.state.current.effect._tag==="Failure"&&Gp(u.result.state.current.effect.cause))return!0;else return!1}))l.forEach((u)=>u()),n?.(),i(Dc(o))}};o.addObserver((u)=>{l.forEach((p)=>p()),i(u)});let l=t.map((u,p)=>{let d=(g)=>{s[p]=g,c()};return u.listeners.addObserver(d),()=>u.listeners.removeObserver(d)});return c(),Z(()=>{l.forEach((u)=>u())})})),Ae(()=>{let o=t.flatMap((i)=>{if(!i.state.completed)return[i];return[]});return So(o,(i)=>PR(i.request,eg(r)))})));var ti=(e,t)=>(t=Co(t),pa(Xe((n)=>{let r=$o(n.getFiberRef(lo),bs),o=TS(n,e,t),i=n.getFiberRef(Mc),s=Pn(n.getFiberRef(Kt),Zr);return bt(_c(r,(c)=>Yk(o,c,s,i)),o)}))),GS=(e)=>mr(Kt,St(va,e)),VU=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],n=Co(e?arguments[2]:arguments[1]);if(e){let r=arguments[0];return R(ti(t,Co(n)),(o)=>Hc(r,kr,o))}return(r)=>R(ti(t,Co(n)),(o)=>Hc(r,kr,o))};var Bse=Qf,Lse=Kf,VR=bs,qse=Yf,Zse=_c,GR=au,$se=xs,QR=wo,Use=WR,Wse=Au;var de={};Xr(de,{Do:()=>zme,EffectTypeId:()=>Nue,Service:()=>mhe,Tag:()=>dhe,acquireRelease:()=>fh,acquireReleaseInterruptible:()=>bde,acquireUseRelease:()=>xde,addFinalizer:()=>Sde,all:()=>$ue,allSuccesses:()=>Wue,allWith:()=>Uue,allowInterrupt:()=>Qpe,andThen:()=>nfe,annotateCurrentSpan:()=>Vge,annotateLogs:()=>Jfe,annotateLogsScoped:()=>Vfe,annotateSpans:()=>Jge,ap:()=>Dge,as:()=>sde,asSome:()=>ade,asSomeError:()=>cde,asVoid:()=>lde,async:()=>dpe,asyncEffect:()=>mpe,awaitAllChildren:()=>Mde,bind:()=>Fme,bindAll:()=>Nme,bindTo:()=>jme,blocked:()=>Mge,cacheRequestResult:()=>Nge,cached:()=>Lue,cachedFunction:()=>que,cachedInvalidateWithTTL:()=>Bue,cachedWithTTL:()=>jue,catch:()=>Ipe,catchAll:()=>kpe,catchAllCause:()=>Rpe,catchAllDefect:()=>Ppe,catchIf:()=>Ape,catchSome:()=>Ope,catchSomeCause:()=>Dpe,catchSomeDefect:()=>Mpe,catchTag:()=>_pe,catchTags:()=>zpe,cause:()=>Fpe,checkInterruptible:()=>Kpe,clock:()=>eme,clockWith:()=>tme,configProviderWith:()=>yme,console:()=>ome,consoleWith:()=>ime,context:()=>Sme,contextWith:()=>vme,contextWithEffect:()=>wme,currentParentSpan:()=>Kge,currentPropagatedSpan:()=>Qge,currentSpan:()=>Gge,custom:()=>fpe,daemonChildren:()=>_de,delay:()=>cme,descriptor:()=>zde,descriptorWith:()=>Fde,die:()=>wA,dieMessage:()=>bpe,dieSync:()=>xpe,diffFiberRefs:()=>Nde,disconnect:()=>Ype,dropUntil:()=>Hue,dropWhile:()=>Jue,either:()=>qme,ensureErrorType:()=>yhe,ensureRequirementsType:()=>bhe,ensureSuccessType:()=>hhe,ensuring:()=>vde,ensuringChild:()=>jde,ensuringChildren:()=>Bde,eventually:()=>Npe,every:()=>Que,exists:()=>Kue,exit:()=>Zme,fail:()=>gpe,failCause:()=>hV,failCauseSync:()=>ype,failSync:()=>hpe,fiberId:()=>Lde,fiberIdWith:()=>Jd,filter:()=>Yue,filterEffectOrElse:()=>Vme,filterEffectOrFail:()=>Gme,filterMap:()=>Xue,filterOrDie:()=>Ume,filterOrDieMessage:()=>Wme,filterOrElse:()=>Hme,filterOrFail:()=>Jme,finalizersMask:()=>Ide,findFirst:()=>epe,firstSuccessOf:()=>rge,flatMap:()=>Bu,flatten:()=>rfe,flip:()=>ude,flipWith:()=>pde,fn:()=>fhe,fnUntraced:()=>ghe,forEach:()=>mh,forever:()=>ffe,fork:()=>qde,forkAll:()=>Zde,forkDaemon:()=>IA,forkIn:()=>$de,forkScoped:()=>Ude,forkWithErrorHandler:()=>Wde,fromFiber:()=>Hde,fromFiberEffect:()=>Jde,fromNullable:()=>che,functionWithSpan:()=>ihe,gen:()=>Spe,getFiberRefs:()=>Tfe,getRuntimeFlags:()=>cge,head:()=>tpe,if:()=>$me,ignore:()=>jpe,ignoreLogged:()=>Bpe,inheritFiberRefs:()=>Cfe,interrupt:()=>Hd,interruptWith:()=>Xpe,interruptible:()=>ede,interruptibleMask:()=>tde,intoDeferred:()=>gh,isEffect:()=>dh,isFailure:()=>Dfe,isSuccess:()=>Mfe,iterate:()=>gfe,labelMetrics:()=>mge,labelMetricsScoped:()=>gge,let:()=>Bme,liftPredicate:()=>ide,linkSpanCurrent:()=>the,linkSpans:()=>ehe,locally:()=>Efe,locallyScoped:()=>kfe,locallyScopedWith:()=>Rfe,locallyWith:()=>Ife,log:()=>jfe,logAnnotations:()=>Gfe,logDebug:()=>qfe,logError:()=>Ufe,logFatal:()=>Wfe,logInfo:()=>Zfe,logTrace:()=>Lfe,logWarning:()=>$fe,logWithLevel:()=>Bfe,loop:()=>hfe,makeLatch:()=>vge,makeSemaphore:()=>xge,makeSpan:()=>nhe,makeSpanScoped:()=>rhe,map:()=>Ur,mapAccum:()=>dde,mapBoth:()=>mde,mapError:()=>fde,mapErrorCause:()=>gde,mapInputContext:()=>Tme,match:()=>_fe,matchCause:()=>zfe,matchCauseEffect:()=>Ffe,matchEffect:()=>Nfe,merge:()=>hde,mergeAll:()=>npe,metricLabels:()=>hge,negate:()=>yde,never:()=>vpe,none:()=>wpe,onError:()=>wde,onExit:()=>Tde,onInterrupt:()=>nde,once:()=>Zue,option:()=>Lme,optionFromOptional:()=>lhe,orDie:()=>Yfe,orDieWith:()=>Xfe,orElse:()=>ege,orElseFail:()=>tge,orElseSucceed:()=>nge,parallelErrors:()=>Lpe,parallelFinalizers:()=>Cde,partition:()=>rpe,patchFiberRefs:()=>Pfe,patchRuntimeFlags:()=>lge,promise:()=>Tpe,provide:()=>Cme,provideService:()=>Eme,provideServiceEffect:()=>Ime,race:()=>ofe,raceAll:()=>ife,raceFirst:()=>sfe,raceWith:()=>afe,random:()=>oge,randomWith:()=>ige,reduce:()=>ope,reduceEffect:()=>ape,reduceRight:()=>spe,reduceWhile:()=>ipe,repeat:()=>yfe,repeatN:()=>bfe,repeatOrElse:()=>xfe,replicate:()=>cpe,replicateEffect:()=>lpe,request:()=>Fge,retry:()=>Zpe,retryOrElse:()=>Upe,runCallback:()=>wge,runFork:()=>bh,runPromise:()=>Tge,runPromiseExit:()=>Cge,runRequestBlock:()=>_ge,runSync:()=>Ege,runSyncExit:()=>Ige,runtime:()=>yh,sandbox:()=>qpe,schedule:()=>Sfe,scheduleForked:()=>vfe,scheduleFrom:()=>wfe,scope:()=>kde,scopeWith:()=>Rde,scoped:()=>Ade,scopedWith:()=>Pde,sequentialFinalizers:()=>Ede,serviceConstants:()=>Ame,serviceFunction:()=>kme,serviceFunctionEffect:()=>Rme,serviceFunctions:()=>Pme,serviceMembers:()=>Ome,serviceOption:()=>Dme,serviceOptional:()=>Mme,setFiberRefs:()=>Afe,sleep:()=>lme,spanAnnotations:()=>Yge,spanLinks:()=>Xge,step:()=>zge,succeed:()=>TA,succeedNone:()=>CA,succeedSome:()=>Cpe,summarized:()=>cfe,supervised:()=>Vde,suspend:()=>EA,sync:()=>ws,tagMetrics:()=>dge,tagMetricsScoped:()=>fge,takeUntil:()=>Vue,takeWhile:()=>Gue,tap:()=>kA,tapBoth:()=>lfe,tapDefect:()=>ufe,tapError:()=>pfe,tapErrorCause:()=>mfe,tapErrorTag:()=>dfe,timed:()=>ume,timedWith:()=>pme,timeout:()=>dme,timeoutFail:()=>fme,timeoutFailCause:()=>gme,timeoutOption:()=>mme,timeoutTo:()=>hme,tracer:()=>qge,tracerWith:()=>Zge,transplant:()=>Gde,transposeMapOption:()=>phe,transposeOption:()=>uhe,try:()=>Wpe,tryMap:()=>Hpe,tryMapPromise:()=>Jpe,tryPromise:()=>Vpe,uninterruptible:()=>rde,uninterruptibleMask:()=>ode,unless:()=>Qme,unlessEffect:()=>Kme,unsafeMakeLatch:()=>Sge,unsafeMakeSemaphore:()=>bge,unsandbox:()=>Gpe,updateFiberRefs:()=>Ofe,updateService:()=>_me,useSpan:()=>ohe,using:()=>Ode,validate:()=>kge,validateAll:()=>upe,validateFirst:()=>ppe,validateWith:()=>Rge,void:()=>Ba,when:()=>Yme,whenEffect:()=>Xme,whenFiberRef:()=>efe,whenLogLevel:()=>Kfe,whenRef:()=>tfe,whileLoop:()=>hh,withClock:()=>rme,withClockScoped:()=>nme,withConcurrency:()=>Qde,withConfigProvider:()=>bme,withConfigProviderScoped:()=>xme,withConsole:()=>ame,withConsoleScoped:()=>sme,withEarlyRelease:()=>Dde,withExecutionPlan:()=>$pe,withFiberRuntime:()=>ja,withLogSpan:()=>Hfe,withMaxOpsBeforeYield:()=>Xde,withMetric:()=>yge,withParentSpan:()=>ahe,withRandom:()=>yV,withRandomFixed:()=>sge,withRandomScoped:()=>age,withRequestBatching:()=>jge,withRequestCache:()=>Lge,withRequestCaching:()=>Bge,withRuntimeFlagsPatch:()=>uge,withRuntimeFlagsPatchScoped:()=>pge,withScheduler:()=>Kde,withSchedulingPriority:()=>Yde,withSpan:()=>xV,withSpanScoped:()=>she,withTracer:()=>$ge,withTracerEnabled:()=>Wge,withTracerScoped:()=>Uge,withTracerTiming:()=>Hge,withUnhandledErrorLogLevel:()=>Qfe,yieldNow:()=>Epe,zip:()=>Pge,zipLeft:()=>Age,zipRight:()=>Oge,zipWith:()=>bV});var ri={};Xr(ri,{CauseTypeId:()=>Hse,ExceededCapacityException:()=>Kae,ExceededCapacityExceptionTypeId:()=>Yse,IllegalArgumentException:()=>Lg,IllegalArgumentExceptionTypeId:()=>Gse,InterruptedException:()=>Lae,InterruptedExceptionTypeId:()=>Vse,InvalidPubSubCapacityExceptionTypeId:()=>Kse,NoSuchElementException:()=>$ae,NoSuchElementExceptionTypeId:()=>Qse,RuntimeException:()=>Wae,RuntimeExceptionTypeId:()=>Jse,TimeoutException:()=>Jae,TimeoutExceptionTypeId:()=>Xse,UnknownException:()=>Gae,UnknownExceptionTypeId:()=>eae,YieldableError:()=>tae,andThen:()=>Dae,as:()=>Pae,contains:()=>_ae,defects:()=>xae,die:()=>KS,dieOption:()=>Tae,empty:()=>nae,fail:()=>QS,failureOption:()=>vae,failureOrCause:()=>KR,failures:()=>bae,filter:()=>Nae,find:()=>Fae,flatMap:()=>Oae,flatten:()=>Mae,flipCauseOption:()=>wae,interrupt:()=>rae,interruptOption:()=>Cae,interruptors:()=>Sae,isCause:()=>sae,isDie:()=>hae,isDieType:()=>lae,isEmpty:()=>fae,isEmptyType:()=>aae,isExceededCapacityException:()=>Yae,isFailType:()=>cae,isFailure:()=>gae,isIllegalArgumentException:()=>Zae,isInterruptType:()=>uae,isInterrupted:()=>yae,isInterruptedException:()=>qae,isInterruptedOnly:()=>Ng,isNoSuchElementException:()=>Uae,isParallelType:()=>dae,isRuntimeException:()=>Hae,isSequentialType:()=>pae,isTimeoutException:()=>Vae,isUnknownException:()=>Qae,keepDefects:()=>Eae,linearize:()=>Iae,map:()=>Aae,match:()=>jae,originalError:()=>tce,parallel:()=>oae,pretty:()=>Xae,prettyErrors:()=>ece,reduce:()=>Bae,reduceWithContext:()=>Bg,sequential:()=>iae,size:()=>mae,squash:()=>jg,squashWith:()=>zae,stripFailures:()=>kae,stripSomeDefects:()=>Rae});var Hse=rx,Jse=zf,Vse=Ff,Gse=Nf,Qse=jf,Kse=cx,Yse=Bf,Xse=Lf,eae=qf,tae=ad,nae=En,QS=ao,KS=Vt,rae=Kn,oae=Gt,iae=vt,sae=kf,aae=ox,cae=rj,lae=Gl,uae=oj,pae=ij,dae=sj,mae=aj,fae=Rf,gae=cj,hae=lj,yae=Gp,Ng=Ql,bae=Qp,xae=Kp,Sae=Kl,vae=Yp,KR=Ai,wae=uj,Tae=fI,Cae=gI,Eae=ix,Iae=dj,kae=Pf,Rae=fj,Pae=gj,Aae=Xp,Oae=Jp,Dae=hj,Mae=sx,_ae=yj,jg=Hj,zae=II,Fae=cs,Nae=xj,jae=ls,Bae=oa,Bg=Yl,Lae=RI,qae=Ix,Lg=Ko,Zae=Vj,$ae=Er,Uae=kx,Wae=kI,Hae=Jj,Jae=PI,Vae=Yj,Gae=lu,Qae=Xj,Kae=Gj,Yae=Qj,Xae=Oi,ece=ed,tce=kj;var nce="effect/ScheduleInterval",qg=Symbol.for(nce),YR={[qg]:qg,startMillis:0,endMillis:0},YS=(e,t)=>{if(e>t)return YR;return{[qg]:qg,startMillis:e,endMillis:t}},GU=h(2,(e,t)=>QU(e,t)===e),QU=h(2,(e,t)=>{if(e.endMillis<=t.startMillis)return e;if(t.endMillis<=e.startMillis)return t;if(e.startMillis<t.startMillis)return e;if(t.startMillis<e.startMillis)return t;if(e.endMillis<=t.endMillis)return e;return t});var KU=(e)=>e.startMillis>=e.endMillis;var YU=h(2,(e,t)=>{let n=Math.max(e.startMillis,t.startMillis),r=Math.min(e.endMillis,t.endMillis);return YS(n,r)}),XU=(e)=>xr(e.endMillis-e.startMillis);var eW=(e)=>YS(e,Number.POSITIVE_INFINITY);var $r=YS,XR=YR,tW=GU;var nW=KU;var rW=YU,oW=XU;var zi=eW;var oce="effect/ScheduleIntervals",eP=Symbol.for(oce),ev=(e)=>({[eP]:eP,intervals:e});var aW=h(2,(e,t)=>{if(!_t(t.intervals))return e;if(!_t(e.intervals))return t;if(ut(e.intervals).startMillis<ut(t.intervals).startMillis)return sW(zt(e.intervals),t.intervals,ut(e.intervals),nn());return sW(e.intervals,zt(t.intervals),ut(t.intervals),nn())}),sW=(e,t,n,r)=>{let o=e,i=t,s=n,c=r;while(_t(o)||_t(i))if(!_t(o)&&_t(i))if(s.endMillis<ut(i).startMillis)c=T(c,Zt(s)),s=ut(i),i=zt(i),o=nn();else s=$r(s.startMillis,ut(i).endMillis),i=zt(i),o=nn();else if(_t(o)&&lb(i))if(s.endMillis<ut(o).startMillis)c=T(c,Zt(s)),s=ut(o),i=nn(),o=zt(o);else s=$r(s.startMillis,ut(o).endMillis),i=nn(),o=zt(o);else if(_t(o)&&_t(i))if(ut(o).startMillis<ut(i).startMillis)if(s.endMillis<ut(o).startMillis)c=T(c,Zt(s)),s=ut(o),o=zt(o);else s=$r(s.startMillis,ut(o).endMillis),o=zt(o);else if(s.endMillis<ut(i).startMillis)c=T(c,Zt(s)),s=ut(i),i=zt(i);else s=$r(s.startMillis,ut(i).endMillis),i=zt(i);else throw Error(Ws("Intervals.unionLoop"));return ev(T(c,Zt(s),ho))},cW=h(2,(e,t)=>ice(e.intervals,t.intervals,nn())),ice=(e,t,n)=>{let r=e,o=t,i=n;while(_t(r)&&_t(o)){let s=T(ut(r),rW(ut(o))),c=nW(s)?i:T(i,Zt(s));if(T(ut(r),tW(ut(o))))r=zt(r);else o=zt(o);i=c}return ev(ho(i))},XS=(e)=>T(e.intervals,df,wn(()=>XR)).startMillis,lW=(e)=>T(e.intervals,df,wn(()=>XR)).endMillis,tP=h(2,(e,t)=>XS(e)<XS(t)),uW=(e)=>_t(e.intervals),pW=h(2,(e,t)=>tP(e,t)?t:e);var dW=ev;var nP=aW,mW=cW,Qc=XS,tv=lW,fW=tP,gW=uW,hW=pW;var oP="Continue",yW="Done",bW=(e)=>({_tag:oP,intervals:e}),xW=(e)=>({_tag:oP,intervals:dW(cn(e))}),SW={_tag:yW},vW=(e)=>e._tag===oP,wW=(e)=>e._tag===yW;var Ou=bW;var Mn=xW,Ro=SW,_a=vW,$n=wW;class EW{permits;waiters=new Set;taken=0;constructor(e){this.permits=e}get free(){return this.permits-this.taken}take=(e)=>$f((t)=>{if(this.free<e){let n=()=>{if(this.free<e)return;this.waiters.delete(n),t(Ae(()=>{if(this.free<e)return this.take(e);return this.taken+=e,M(e)}))};return this.waiters.add(n),Z(()=>{this.waiters.delete(n)})}t(Ae(()=>{if(this.free<e)return this.take(e);return this.taken+=e,M(e)}))});updateTakenUnsafe(e,t){if(this.taken=t(this.taken),this.waiters.size>0)e.getFiberRef(ya).scheduleTask(()=>{let n=this.waiters.values(),r=n.next();while(r.done===!1&&this.free>0)r.value(),r=n.next()},e.getFiberRef(da),e);return M(this.free)}updateTaken(e){return Xe((t)=>this.updateTakenUnsafe(t,e))}resize=(e)=>Qt(Xe((t)=>{if(this.permits=e,this.free<0)return $e;return this.updateTakenUnsafe(t,(n)=>n)}));release=(e)=>this.updateTaken((t)=>t-e);releaseAll=this.updateTaken((e)=>0);withPermits=(e)=>(t)=>ln((n)=>R(n(this.take(e)),(r)=>ko(n(t),this.release(r))));withPermitsIfAvailable=(e)=>(t)=>ln((n)=>Ae(()=>{if(this.free<e)return wu;return this.taken+=e,ko(n(wd(t)),this.release(e))}))}var nv=(e)=>new EW(e),IW=(e)=>Z(()=>nv(e));class kW extends Bc{isOpen;waiters=[];scheduled=!1;constructor(e){super();this.isOpen=e}commit(){return this.await}unsafeSchedule(e){if(this.scheduled||this.waiters.length===0)return $e;return this.scheduled=!0,e.currentScheduler.scheduleTask(this.flushWaiters,e.getFiberRef(da),e),$e}flushWaiters=()=>{this.scheduled=!1;let e=this.waiters;this.waiters=[];for(let t=0;t<e.length;t++)e[t](Ir)};open=Xe((e)=>{if(this.isOpen)return $e;return this.isOpen=!0,this.unsafeSchedule(e)});unsafeOpen(){if(this.isOpen)return;this.isOpen=!0,this.flushWaiters()}release=Xe((e)=>{if(this.isOpen)return $e;return this.unsafeSchedule(e)});await=$f((e)=>{if(this.isOpen)return e($e);return this.waiters.push(e),Z(()=>{let t=this.waiters.indexOf(e);if(t!==-1)this.waiters.splice(t,1)})});unsafeClose(){this.isOpen=!1}close=Z(()=>{this.isOpen=!1});whenOpen=(e)=>rt(this.await,e)}var aP=(e)=>new kW(e??!1),RW=(e)=>Z(()=>aP(e)),PW=(e)=>rv(e,JS),AW=h(2,(e,t)=>X(cP(e,t),(n)=>n[0])),cP=h(2,(e,t)=>{let n=Pt(t);return R(po(),(r)=>X(iv(q()),(o)=>[qr(cce(e,n,o),r),lce(o)]))}),CW=(e,t,n)=>{let r=lr(Pt(t));return T(uo(),Tr((o)=>ps(e,o)),X((o)=>W([n+r,o])))},cce=(e,t,n)=>ln((r)=>T(gs((o)=>o.currentTimeMillis),R((o)=>mce(n,(i)=>{switch(i._tag){case"None":return W(CW(e,t,o));case"Some":{let[s]=i.value;return s-o<=0?W(CW(e,t,o)):q()}}})),R((o)=>it(o)?Ec("BUG: Effect.cachedInvalidate - please report an issue at https://github.com/Effect-TS/effect/issues"):r(Zn(o.value[1]))))),lce=(e)=>fs(e,q()),OW=h(2,(e,t)=>rv(e,(n)=>t(Md(n)))),rv=h(2,(e,t)=>R(oU,(n)=>T(uP(e,n),ko(R(n.value,t))))),DW=h((e)=>Bo(e[0]),(e,t)=>t?.discard?So(e,Da):X(Yn(e,Da),Md)),lP=h(2,(e,t)=>Xe((n,r)=>{let o=t,i=zg(e,n,r.runtimeFlags,Mi);if(o.state._tag==="Open"){let s=()=>co((l)=>ye(l,i.id())?$e:Qt(Dc(i))),c={};o.state.finalizers.set(c,s),i.addObserver(()=>{if(o.state._tag==="Closed")return;o.state.finalizers.delete(c)})}else i.unsafeInterruptAsFork(n.id());return M(i)})),ov=(e)=>ni((t)=>lP(e,t)),MW=(e)=>er(e),_W=(e)=>Ae(()=>R(e,er)),iP=Symbol.for("effect/Effect/memoizeFunction.key");class sP{a;eq;[iP]=iP;constructor(e,t){this.a=e,this.eq=t}[ve](e){if(ue(e,iP))if(this.eq)return this.eq(this.a,e.a);else return ye(this.a,e.a);return!1}[Te](){return this.eq?0:Ze(this,he(this.a))}}var zW=(e,t)=>T(Z(()=>Ia()),R(iv),X((n)=>(r)=>T(n.modifyEffect((o)=>{let i=T(o,Ut(new sP(r,t)));if(it(i))return T(uo(),Tr((s)=>T(Td(e(r)),ps(s),Da)),X((s)=>[s,T(o,Rr(new sP(r,t),s))]));return M([i.value,o])}),R(Zn),R(([o,i])=>T(Su(o),bt(i)))))),FW=h(2,(e,t)=>T(Nt(e),VS(Nt(t)),(n)=>wr(n))),uP=h(2,(e,t)=>Dn(HS,(r)=>r.zip(t))(e)),NW=h(2,(e,t)=>pP(e,{onTimeout:()=>Kj(t),duration:t})),pP=h(2,(e,{duration:t,onTimeout:n})=>wr(Zg(e,{onTimeout:()=>Qo(n),onSuccess:M,duration:t}))),jW=h(2,(e,{duration:t,onTimeout:n})=>wr(Zg(e,{onTimeout:()=>ca(n),onSuccess:M,duration:t}))),BW=h(2,(e,t)=>Zg(e,{duration:t,onSuccess:W,onTimeout:q})),Zg=h(2,(e,{duration:t,onSuccess:n,onTimeout:r})=>co((o)=>ln((i)=>JR(i(e),ua(vu(t)),{onSelfWin:(s,c)=>R(s.await,(l)=>{if(l._tag==="Success")return R(s.inheritAll,()=>bt(Cr(c,o),n(l.value)));else return R(Cr(c,o),()=>at(l.cause))}),onOtherWin:(s,c)=>R(s.await,(l)=>{if(l._tag==="Success")return R(s.inheritAll,()=>bt(Cr(c,o),r()));else return R(Cr(c,o),()=>at(l.cause))}),otherScope:Mi})))),uce="effect/Ref/SynchronizedRef",pce=Symbol.for(uce),dce={_A:(e)=>e};class LW extends Bc{ref;withLock;[pce]=dce;[rS]=fk;[$c]=$c;constructor(e,t){super();this.ref=e,this.withLock=t,this.get=dr(this.ref)}get;commit(){return this.get}modify(e){return this.modifyEffect((t)=>M(e(t)))}modifyEffect(e){return this.withLock(T(R(dr(this.ref),e),R(([t,n])=>bt(fs(this.ref,n),t))))}}var iv=(e)=>Z(()=>dP(e)),dP=(e)=>{let t=gd(e),n=nv(1);return new LW(t,n.withPermits(1))},mce=h(2,(e,t)=>e.modifyEffect((n)=>{let r=t(n);switch(r._tag){case"None":return M([n,n]);case"Some":return X(r.value,(o)=>[o,o])}})),qW=h(2,(e,t)=>$g(e,t,(n,r)=>[n,r])),ZW=h(2,(e,t)=>$g(e,t,(n,r)=>n)),$W=h(2,(e,t)=>$g(e,t,(n,r)=>r)),$g=h(3,(e,t,n)=>({...Mx,commit(){return er(this)},[Ca]:kd,id:()=>T(e.id(),Lb(t.id())),await:T(e.await,wr,ys(wr(t.await),n,{concurrent:!0}),Nt),children:e.children,inheritAll:rt(t.inheritAll,e.inheritAll),poll:Lr(e.poll,t.poll,(r,o)=>T(r,Nr((i)=>T(o,Jt((s)=>qI(i,s,{onSuccess:n,onFailure:Gt})))))),interruptAsFork:(r)=>rt(e.interruptAsFork(r),t.interruptAsFork(r)),pipe(){return pe(this,arguments)}})),UW=h((e)=>mt(e[0]),(e,t,n)=>R(e,(r)=>Gc(t(r),n).pipe(X((o)=>Object.assign({},r,o)))));var WW=Symbol.for("effect/ManagedRuntime");var HW="ExtendScope",JW="Fold",fP="Fresh",VW="FromEffect",GW="Scoped",QW="Suspend",KW="Provide",gP="ProvideMerge",YW="MergeAll",XW="ZipWith";var oi={};Xr(oi,{FiberTypeId:()=>hce,Order:()=>bce,RuntimeFiberTypeId:()=>yce,all:()=>Cce,await:()=>Ug,awaitAll:()=>wce,children:()=>Tce,done:()=>Ece,dump:()=>Ice,dumpAll:()=>kce,fail:()=>Rce,failCause:()=>Pce,fromEffect:()=>Ace,getCurrentFiber:()=>Oce,id:()=>vce,inheritAll:()=>Dce,interrupt:()=>Mce,interruptAll:()=>Fce,interruptAllAs:()=>Wg,interruptAs:()=>Kc,interruptAsFork:()=>zce,interruptFork:()=>Nce,interrupted:()=>_ce,isFiber:()=>xce,isRuntimeFiber:()=>Sce,join:()=>jce,joinAll:()=>Bce,map:()=>Lce,mapEffect:()=>qce,mapFiber:()=>Zce,match:()=>$ce,never:()=>Uce,orElse:()=>Wce,orElseEither:()=>Hce,poll:()=>Jce,pretty:()=>Vce,roots:()=>Gce,scoped:()=>Kce,status:()=>Yce,succeed:()=>Xce,unsafeRoots:()=>Qce,void:()=>ele,zip:()=>tle,zipLeft:()=>nle,zipRight:()=>rle,zipWith:()=>ole});var hce=Ca,yce=vg,bce=vZ,xce=wZ,Sce=Sg,vce=kZ,Ug=RS;var wce=JS,Tce=TZ,Cce=Md,Ece=Cu,Ice=PS,kce=CZ,Rce=EZ,Pce=iR,Ace=IZ,Oce=BZ,Dce=AS,Mce=Dc,_ce=RZ,Kc=Cr,zce=OS,Fce=PZ,Wg=wg,Nce=UU,jce=er,Bce=WU,Lce=IS,qce=sR,Zce=AZ,$ce=OZ,Uce=DZ,Wce=aR,Hce=MZ,Jce=_Z,Vce=zZ,Gce=FZ,Qce=cR,Kce=HU,Yce=NZ,Xce=lR,ele=jZ;var tle=qW,nle=ZW,rle=$W,ole=$g;var _d=(e)=>function(){if(arguments.length===1){let t=arguments[0];return(n,...r)=>e(t,n,...r)}return e.apply(this,arguments)},zd=_d((e,t,n)=>{let r=Zb(),o=[[lo,[[r,e.context]]]];if(n?.scheduler)o.push([ya,[[r,n.scheduler]]]);let i=FB(e.fiberRefs,{entries:o,forkAs:r});if(n?.updateRefs)i=n.updateRefs(i,r);let s=new $S(r,i,e.runtimeFlags),c=t;if(n?.scope)c=R(QR(n.scope,Xo),(u)=>rt(Yf(u,co((p)=>ye(p,s.id())?$e:Cr(s,p))),Br(t,(p)=>GR(u,p))));let l=s.currentSupervisor;if(l!==ku)l.onStart(e.context,c,q(),s),s.addObserver((u)=>l.onEnd(u,s));if(Mi.add(e.runtimeFlags,s),n?.immediate===!1)s.resume(c);else s.start(c);return s}),sv=_d((e,t,n={})=>{let r=zd(e,t,n);if(n.onExit)r.addObserver((o)=>{n.onExit(o)});return(o,i)=>sv(e)(T(r,Kc(o??Cn)),{...i,onExit:i?.onExit?(s)=>i.onExit(jI(s)):void 0})}),eH=_d((e,t)=>{let n=bP(e)(t);if(n._tag==="Failure")throw yP(n.effect_instruction_i0);return n.effect_instruction_i0});class tH extends Error{fiber;_tag="AsyncFiberException";constructor(e){super(`Fiber #${e.id().id} cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work`);this.fiber=e,this.name=this._tag,this.stack=this.message}}var ile=(e)=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=0;let n=new tH(e);return Error.stackTraceLimit=t,n};var hP=Symbol.for("effect/Runtime/FiberFailure"),Hg=Symbol.for("effect/Runtime/FiberFailure/Cause");class nH extends Error{[hP];[Hg];constructor(e){let t=ed(e)[0];super(t?.message||"An error has occurred");if(this[hP]=hP,this[Hg]=e,this.name=t?`(FiberFailure) ${t.name}`:"FiberFailure",t?.stack)this.stack=t.stack}toJSON(){return{_id:"FiberFailure",cause:this[Hg].toJSON()}}toString(){return"(FiberFailure) "+Oi(this[Hg],{renderErrorCause:!0})}[Be](){return this.toString()}}var yP=(e)=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=0;let n=new nH(e);return Error.stackTraceLimit=t,n};var rH=(e)=>{let t=e;switch(t._op){case"Failure":case"Success":return t;case"Left":return Fc(t.left);case"Right":return wt(t.right);case"Some":return wt(t.value);case"None":return Fc(new Er)}},bP=_d((e,t)=>{let n=rH(t);if(n)return n;let r=new yk,o=zd(e)(t,{scheduler:r});r.flush();let i=o.unsafePoll();if(i)return i;return Px(px(ile(o),Ox(o)))}),oH=_d((e,t,n)=>xP(e,t,n).then((r)=>{switch(r._tag){case Ct:return r.effect_instruction_i0;case Tt:throw yP(r.effect_instruction_i0)}})),xP=_d((e,t,n)=>new Promise((r)=>{let o=rH(t);if(o)r(o);let i=zd(e)(t);if(i.addObserver((s)=>{r(s)}),n?.signal!==void 0)if(n.signal.aborted)i.unsafeInterruptAsFork(i.id());else n.signal.addEventListener("abort",()=>{i.unsafeInterruptAsFork(i.id())},{once:!0})}));class SP{context;runtimeFlags;fiberRefs;constructor(e,t,n){this.context=e,this.runtimeFlags=t,this.fiberRefs=n}pipe(){return pe(this,arguments)}}var vP=(e)=>new SP(e.context,e.runtimeFlags,e.fiberRefs),Fd=()=>Xe((e,t)=>M(new SP(e.getFiberRef(lo),t.runtimeFlags,e.getFiberRefs()))),iH=tI(Ri,YE,KE),Fi=vP({context:Qn(),runtimeFlags:iH,fiberRefs:NB()});var sH=sv(Fi),aH=zd(Fi),cH=oH(Fi),lH=xP(Fi),uH=eH(Fi),pH=bP(Fi),dH=(e)=>Ae(()=>{let t=void 0;return R(uo(),(n)=>R(Fd(),(r)=>ln((o)=>rt(Da(o($t(e((i)=>sv(r)(ps(i,n))),{onFailure:(i)=>rg(n,i),onSuccess:(i)=>(t=i,$e)}))),o(ds(Zn(n),()=>t??$e))))))});var mH=h(2,(e,t)=>e.modifyEffect(t));var ale="effect/Layer",cv=Symbol.for(ale),cle={_RIn:(e)=>e,_E:(e)=>e,_ROut:(e)=>e},ii={[cv]:cle,pipe(){return pe(this,arguments)}},lle="effect/Layer/MemoMap",Jg=Symbol.for(lle),TP=Ei()("effect/Layer/CurrentMemoMap",{defaultValue:()=>ule()}),Gg=(e)=>ue(e,cv),CP=(e)=>e._op_layer===fP;class EP{ref;[Jg];constructor(e){this.ref=e,this[Jg]=Jg}getOrElseMemoize(e,t){return T(mH(this.ref,(n)=>{let r=n.get(e);if(r!==void 0){let[o,i]=r,s=T(o,R(([c,l])=>T(Su(c),bt(l))),Br(pu({onFailure:()=>$e,onSuccess:()=>_c(t,i)})));return M([s,n])}return T(hu(0),R((o)=>T(uo(),R((i)=>T(hu(()=>$e),X((s)=>{let c=ln((u)=>T(Au(),R((p)=>T(u(R(bH(e,p,!0),(d)=>Td(d(this)))),Nt,R((d)=>{switch(d._tag){case Tt:return T(rg(i,d.effect_instruction_i0),rt(au(p,d)),rt(Ye(d.effect_instruction_i0)));case Ct:return T(fs(s,(g)=>T(au(p,g),od(gk(o,(f)=>[f===1,f-1])),Qt)),rt(yu(o,(g)=>g+1)),rt(_c(t,(g)=>T(Z(()=>n.delete(e)),rt(dr(s)),R((f)=>f(g))))),rt(_I(i,d.effect_instruction_i0)),bt(d.effect_instruction_i0[1]))}}))))),l=[T(Zn(i),Br(du({onFailure:()=>$e,onSuccess:()=>yu(o,(u)=>u+1)}))),(u)=>T(dr(s),R((p)=>p(u)))];return[c,CP(e)?n:n.set(e,l)]}))))))}),wr)}}var IP=Ae(()=>X(iv(new Map),(e)=>new EP(e))),ule=()=>new EP(dP(new Map)),yH=(e)=>ni((t)=>Yc(e,t)),Yc=h(2,(e,t)=>R(IP,(n)=>lv(e,n,t))),lv=h(3,(e,t,n)=>R(bH(e,n),(r)=>Hc(r(t),TP,t))),bH=(e,t,n=!1)=>{let r=e;switch(r._op_layer){case"Locally":return Z(()=>(o)=>r.f(o.getOrElseMemoize(r.self,t)));case"ExtendScope":return Z(()=>(o)=>ni((i)=>o.getOrElseMemoize(r.layer,i)));case"Fold":return Z(()=>(o)=>T(o.getOrElseMemoize(r.layer,t),$t({onFailure:(i)=>o.getOrElseMemoize(r.failureK(i),t),onSuccess:(i)=>o.getOrElseMemoize(r.successK(i),t)})));case"Fresh":return Z(()=>(o)=>T(r.layer,Yc(t)));case"FromEffect":return n?Z(()=>(o)=>r.effect):Z(()=>(o)=>o.getOrElseMemoize(e,t));case"Provide":return Z(()=>(o)=>T(o.getOrElseMemoize(r.first,t),R((i)=>T(o.getOrElseMemoize(r.second,t),qr(i)))));case"Scoped":return n?Z(()=>(o)=>xs(r.effect,t)):Z(()=>(o)=>o.getOrElseMemoize(e,t));case"Suspend":return Z(()=>(o)=>o.getOrElseMemoize(r.evaluate(),t));case"ProvideMerge":return Z(()=>(o)=>T(o.getOrElseMemoize(r.first,t),Lr(o.getOrElseMemoize(r.second,t),r.zipK)));case"ZipWith":return bx(function*(){let o=yield*wo(t,sg),i=yield*wo(o,Xo),s=yield*wo(o,Xo);return(c)=>T(c.getOrElseMemoize(r.first,i),ys(c.getOrElseMemoize(r.second,s),r.zipK,{concurrent:!0}))});case"MergeAll":{let o=r.layers;return X(wo(t,sg),(i)=>(s)=>{let c=Array(o.length);return X(Oa(o,id(function*(l,u){let p=yield*wo(i,Xo),d=yield*s.getOrElseMemoize(l,p);c[u]=d}),!1,!1),()=>hE(...c))})}}},Du=h(2,(e,t)=>hv(e,{onFailure:t,onSuccess:za})),kP=h(2,(e,t)=>gv(e,{onFailure:t,onSuccess:za})),RP=(e)=>Qg(KS(e)),xH=(e)=>pv(()=>KS(e())),SH=(e)=>fv(e,()=>Qn()),uv=()=>Ar(po()),vH=(e)=>{let t=Object.create(ii);return t._op_layer=HW,t.layer=e,t},PP=(e)=>Qg(QS(e)),AP=(e)=>pv(()=>QS(e())),Qg=(e)=>Ar(Ye(e)),pv=(e)=>Ar(ca(e)),Ss=h(2,(e,t)=>hv(e,{onFailure:PP,onSuccess:t})),wH=h(2,(e,t)=>Ss(e,Pn(t))),OP=(e)=>{let t=Object.create(ii);return t._op_layer=fP,t.layer=e,t},Xc=h(2,(e,t)=>{let n=jp(e),r=n?e:t;return Ar(X(n?t:e,(i)=>no(r,i)))}),TH=(e)=>Ar(X(e,()=>Qn()));function Ar(e){let t=Object.create(ii);return t._op_layer=VW,t.effect=e,t}var CH=h(3,(e,t,n)=>dv(e,rn(t,n))),dv=h(2,(e,t)=>{let n=Object.create(ii);return n._op_layer="Locally",n.self=e,n.f=t,n}),mv=h(3,(e,t,n)=>dv(e,Dn(t,n))),EH=(e,t)=>Mu(Pr(e,t)),IH=(e,t)=>Mu(mr(e,t)),kH=(e,t,n)=>Ar(X(e,(r)=>no(t,n(r)))),RH=(e)=>US(rt(ni((t)=>T(e,Yc(t))),Oc)),PH=function(){if(arguments.length===1)return(e)=>fH(arguments[0],e);return fH(arguments[0],arguments[1])},fH=(e,t)=>Nd(e,new Proxy({...t},{get(n,r,o){if(r in n)return n[r];let i=Error.stackTraceLimit;Error.stackTraceLimit=2;let s=Error(`${e.key}: Unimplemented method "${r.toString()}"`);return Error.stackTraceLimit=i,s.name="UnimplementedError",ple(s)},has:Qi})),ple=(e)=>{let t=ur(e);function n(){return t}return Object.assign(n,t),Object.setPrototypeOf(n,Object.getPrototypeOf(t)),n},fv=h(2,(e,t)=>Ss(e,(n)=>za(t(n)))),AH=h(2,(e,t)=>Du(e,(n)=>AP(()=>t(n)))),gv=h(2,(e,{onFailure:t,onSuccess:n})=>{let r=Object.create(ii);return r._op_layer=JW,r.layer=e,r.failureK=t,r.successK=n,r}),hv=h(2,(e,{onFailure:t,onSuccess:n})=>gv(e,{onFailure:(r)=>{let o=KR(r);switch(o._tag){case"Left":return t(o.left);case"Right":return Qg(o.right)}},onSuccess:n})),OH=(e)=>ni((t)=>X(SS(Yc(e,t)),Ar)),DP=h(2,(e,t)=>MP(e,t,(n,r)=>Uo(n,r))),yv=(...e)=>{let t=Object.create(ii);return t._op_layer=YW,t.layers=e,t},DH=(e)=>Du(e,(t)=>RP(t)),MH=h(2,(e,t)=>Du(e,t)),_H=(e)=>DP(uv(),e),zH=h(4,(e,t,n,r)=>fv(e,(o)=>no(n,r($o(o,t))))),FH=h(2,(e,t)=>Yg(()=>{let n=qn("effect/Layer/retry/{ state: unknown }");return T(Nd(n,{state:t.initial}),Ss((r)=>NH(e,t,n,T(r,Pn(n)).state)))})),NH=(e,t,n,r)=>T(e,Du((o)=>T(dle(t,n,o,r),Ss((i)=>OP(NH(e,t,n,T(i,Pn(n)).state)))))),dle=(e,t,n,r)=>Xc(t,T(wa,R((o)=>T(e.step(o,n,r),R(([i,s,c])=>$n(c)?Ve(n):T(vd(xr(Qc(c.intervals)-o)),bt({state:i}))))))),el=h(2,(e,t)=>{let n=jp(e),r=n?e:t;return Kg(X(n?t:e,(i)=>no(r,i)))}),Mu=(e)=>Kg(T(e,bt(Qn()))),Kg=(e)=>{let t=Object.create(ii);return t._op_layer=GW,t.effect=e,t},jH=Kg(X(Pu(Au(),(e,t)=>e.close(t)),(e)=>no(VR,e))),BH=(e)=>Xc(e,e),Nd=h(2,(e,t)=>{let n=jp(e);return Ar(M(no(n?e:t,n?t:e)))}),za=(e)=>Ar(M(e)),LH=za(Qn()),Yg=(e)=>{let t=Object.create(ii);return t._op_layer=QW,t.evaluate=e,t},bv=h(2,(e,t)=>{let n=jp(e),r=n?e:t,o=n?t:e;return Ar(Z(()=>no(r,o())))}),qH=(e)=>Ar(Z(e)),ZH=h(2,(e,t)=>Ss(e,(n)=>Ar(bt(t(n),n)))),$H=h(2,(e,t)=>Du(e,(n)=>Ar(R(t(n),()=>Ve(n))))),UH=h(2,(e,t)=>kP(e,(n)=>Ar(R(t(n),()=>Ye(n))))),WH=(e)=>T(ni((t)=>Yc(e,t)),R((t)=>T(Fd(),qr(t)))),HH=h(2,(e,t)=>R(ni((n)=>lv(e,t,n)),(n)=>T(Fd(),qr(n)))),_u=h(2,(e,t)=>Yg(()=>{let n=Object.create(ii);return n._op_layer=KW,n.first=Object.create(ii,{_op_layer:{value:gP,enumerable:!0},first:{value:uv(),enumerable:!0},second:{value:Array.isArray(t)?yv(...t):t},zipK:{value:(r,o)=>T(r,Uo(o))}}),n.second=e,n})),JH=h(2,(e,t)=>{let n=Object.create(ii);return n._op_layer=gP,n.first=t,n.second=_u(e,t),n.zipK=(r,o)=>T(r,Uo(o)),n}),MP=h(3,(e,t,n)=>Yg(()=>{let r=Object.create(ii);return r._op_layer=XW,r.first=e,r.second=t,r.zipK=n,r})),_P=(e)=>{let t=qn("effect/Layer/unwrapEffect/Layer.Layer<R1, E1, A>");return Ss(Xc(t,e),(n)=>Pn(n,t))},Vg=(e)=>{let t=qn("effect/Layer/unwrapScoped/Layer.Layer<R1, E1, A>");return Ss(el(t,e),(n)=>Pn(n,t))},VH=h((e)=>Gg(e[0]),function(){let e=arguments;return mv(e[0],ma,typeof e[1]==="string"?Sr(e[1],e[2]):(t)=>Object.entries(e[1]).reduce((n,[r,o])=>Sr(n,r,o),t))}),GH=h((e)=>Gg(e[0]),function(){let e=arguments;return mv(e[0],sd,typeof e[1]==="string"?Sr(e[1],e[2]):(t)=>Object.entries(e[1]).reduce((n,[r,o])=>Sr(n,r,o),t))}),QH=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],n=Co(e?arguments[2]:arguments[1]);if(e){let r=arguments[0];return Vg(X(n?.onEnd?Tr(ti(t,n),(o)=>hs((i)=>n.onEnd(o,i))):ti(t,n),(o)=>av(r,o)))}return(r)=>Vg(X(n?.onEnd?Tr(ti(t,n),(o)=>hs((i)=>n.onEnd(o,i))):ti(t,n),(o)=>av(r,o)))},av=h(2,(e,t)=>_u(e,za(no(kr,t)))),gH=h(2,(e,t)=>Fg((n)=>R(Yc(t,n),(r)=>Ax(e,r)))),hH=h(2,(e,t)=>{let n=mu(Fi.fiberRefs,t.fiberRefs),r=Vo(Fi.runtimeFlags,t.runtimeFlags);return ln((o)=>Xe((i)=>{let s=i.getFiberRef(lo),c=i.getFiberRefs(),l=fu(i.id(),c)(n),u=i.currentRuntimeFlags,p=na(r)(u),d=mu(l,c),g=Vo(p,u);return i.setFiberRefs(l),i.currentRuntimeFlags=p,ko(Ax(o(e),Uo(s,t.context)),Xe((f)=>(f.setFiberRefs(fu(f.id(),f.getFiberRefs())(d)),f.currentRuntimeFlags=na(g)(f.currentRuntimeFlags),$e)))}))}),xv=h(2,(e,t)=>{if(Array.isArray(t))return gH(e,yv(...t));else if(Gg(t))return gH(e,t);else if(gE(t))return Ax(e,t);else if(WW in t)return R(t.runtimeEffect,(n)=>hH(e,n));else return hH(e,t)});var KH=X(vo(Kt),Pn(xa)),YH=(e)=>pr(Kt,(t)=>e(Pn(t,xa))),XH=h(2,(e,t)=>Dn(e,Kt,St(xa,t))),e2=(e)=>mr(Kt,St(xa,e));var fle=function(){let e=Symbol.for("effect/Data/Error/plainArgs");return{BaseEffectError:class extends ad{constructor(n){super(n?.message,n?.cause?{cause:n.cause}:void 0);if(n)Object.assign(this,n),Object.defineProperty(this,e,{value:n,enumerable:!1})}toJSON(){return{...this[e],...this}}}}.BaseEffectError}(),t2=(e)=>{let t={BaseEffectError:class extends fle{_tag=e}};return t.BaseEffectError.prototype.name=e,t.BaseEffectError};var zP=Symbol.for("effect/DateTime"),FP=Symbol.for("effect/DateTime/TimeZone"),o2={[zP]:zP,pipe(){return pe(this,arguments)},[Be](){return this.toString()},toJSON(){return Bd(this).toJSON()}},hle={...o2,_tag:"Utc",[Te](){return Ze(this,Ml(this.epochMillis))},[ve](e){return th(e)&&e._tag==="Utc"&&this.epochMillis===e.epochMillis},toString(){return`DateTime.Utc(${Bd(this).toJSON()})`}},yle={...o2,_tag:"Zoned",[Te](){return T(Ml(this.epochMillis),Pe(he(this.zone)),Ze(this))},[ve](e){return th(e)&&e._tag==="Zoned"&&this.epochMillis===e.epochMillis&&ye(this.zone,e.zone)},toString(){return`DateTime.Zoned(${jle(this)})`}},i2={[FP]:FP,[Be](){return this.toString()}},ble={...i2,_tag:"Named",[Te](){return Ze(this,ct(`Named:${this.id}`))},[ve](e){return jd(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},xle={...i2,_tag:"Offset",[Te](){return Ze(this,ct(`Offset:${this.offset}`))},[ve](e){return jd(e)&&e._tag==="Offset"&&this.offset===e.offset},toString(){return`TimeZone.Offset(${l2(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},vs=(e,t,n)=>{let r=Object.create(yle);return r.epochMillis=e,r.zone=t,Object.defineProperty(r,"partsUtc",{value:n,enumerable:!1,writable:!0}),Object.defineProperty(r,"adjustedEpochMillis",{value:void 0,enumerable:!1,writable:!0}),Object.defineProperty(r,"partsAdjusted",{value:void 0,enumerable:!1,writable:!0}),r},th=(e)=>ue(e,zP),Sle=(e)=>th(e[0]),jd=(e)=>ue(e,FP);var s2=(e)=>jd(e)&&e._tag==="Named";var vle=(e)=>e._tag==="Zoned";var a2=(e)=>{let t=Object.create(hle);return t.epochMillis=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},vv=(e)=>{let t=e.getTime();if(Number.isNaN(t))throw new Lg("Invalid date");return a2(t)},wle=(e)=>{if(th(e))return e;else if(e instanceof Date)return vv(e);else if(typeof e==="object"){let t=new Date(0);return _le(t,e),vv(t)}else if(typeof e==="string"&&!Tle(e))return vv(new Date(e+"Z"));return vv(new Date(e))},Tle=(e)=>/Z|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e),Cle=-8639999956800000,Ele=8639999949600000,wv=(e,t)=>{if(t?.timeZone===void 0&&th(e)&&vle(e))return e;let n=wle(e);if(n.epochMillis<Cle||n.epochMillis>Ele)throw RangeError(`Epoch millis out of range: ${n.epochMillis}`);let r;if(t?.timeZone===void 0){let o=new Date(n.epochMillis).getTimezoneOffset()*-60*1000;r=NP(o)}else if(jd(t?.timeZone))r=t.timeZone;else if(typeof t?.timeZone==="number")r=NP(t.timeZone);else{let o=jP(t.timeZone);if(it(o))throw new Lg(`Invalid time zone: ${t.timeZone}`);r=o.value}if(t?.adjustForTimeZone!==!0)return vs(n.epochMillis,r,n.partsUtc);return d2(n.epochMillis,r,t?.disambiguation??"compatible")};var eh=Le("effect/DateTime/validZoneCache",()=>new Map),Ile={day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},kle=(e)=>{let t=e.resolvedOptions().timeZone;if(eh.has(t))return eh.get(t);let n=Object.create(ble);return n.id=t,n.format=e,eh.set(t,n),n},Rle=(e)=>{if(eh.has(e))return eh.get(e);try{return kle(new Intl.DateTimeFormat("en-US",{...Ile,timeZone:e}))}catch{throw new Lg(`Invalid time zone: ${e}`)}},NP=(e)=>{let t=Object.create(xle);return t.offset=e,t},Ple=VC(Rle);var Ale=/^(?:GMT|[+-])/,jP=(e)=>{if(Ale.test(e)){let t=m2(e);return t===null?q():W(NP(t))}return Ple(e)};var Bd=(e)=>new Date(e.epochMillis),zu=(e)=>{if(e._tag==="Utc")return new Date(e.epochMillis);else if(e.zone._tag==="Offset")return new Date(e.epochMillis+e.zone.offset);else if(e.adjustedEpochMillis!==void 0)return new Date(e.adjustedEpochMillis);let t=e.zone.format.formatToParts(e.epochMillis).filter((r)=>r.type!=="literal"),n=new Date(0);return n.setUTCFullYear(Number(t[2].value),Number(t[0].value)-1,Number(t[1].value)),n.setUTCHours(Number(t[3].value),Number(t[4].value),Number(t[5].value),Number(t[6].value)),e.adjustedEpochMillis=n.getTime(),n},c2=(e)=>zu(e).getTime()-Dle(e),l2=(e)=>{let t=Math.abs(e),n=Math.floor(t/3600000),r=Math.round(t%3600000/60000);if(r===60)n+=1,r=0;return`${e<0?"-":"+"}${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`},Ole=(e)=>l2(c2(e)),Dle=(e)=>e.epochMillis;var u2=(e)=>({millis:e.getUTCMilliseconds(),seconds:e.getUTCSeconds(),minutes:e.getUTCMinutes(),hours:e.getUTCHours(),day:e.getUTCDate(),weekDay:e.getUTCDay(),month:e.getUTCMonth()+1,year:e.getUTCFullYear()}),p2=(e)=>{if(e._tag==="Utc")return Mle(e);else if(e.partsAdjusted!==void 0)return e.partsAdjusted;return e.partsAdjusted=Fle(e,u2),e.partsAdjusted},Mle=(e)=>{if(e.partsUtc!==void 0)return e.partsUtc;return e.partsUtc=Nle(e,u2),e.partsUtc};var _le=(e,t)=>{if(t.year!==void 0)e.setUTCFullYear(t.year);if(t.month!==void 0)e.setUTCMonth(t.month-1);if(t.day!==void 0)e.setUTCDate(t.day);if(t.weekDay!==void 0){let n=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+n)}if(t.hours!==void 0)e.setUTCHours(t.hours);if(t.minutes!==void 0)e.setUTCMinutes(t.minutes);if(t.seconds!==void 0)e.setUTCSeconds(t.seconds);if(t.millis!==void 0)e.setUTCMilliseconds(t.millis)};var n2=86400000,d2=(e,t,n)=>{if(t._tag==="Offset")return vs(e-t.offset,t);let r=Xg(e-n2,e,t),o=Xg(e+n2,e,t);if(r===o)return vs(e-r,t);let i=r<o,s=r-o;if(i){if(Xg(e-o,e,t)===o)return vs(e-o,t);let u=vs(e-r,t),p=zu(u).getTime();if(e!==p)switch(n){case"reject":{let d=new Date(e).toISOString();throw RangeError(`Gap time: ${d} does not exist in time zone ${t.id}`)}case"earlier":return vs(e-o,t);case"compatible":case"later":return u}return u}if(Xg(e-r,e,t)===r){if(n==="earlier"||n==="compatible")return vs(e-r,t);if(Xg(e-r+s,e+s,t)===r)return vs(e-r,t);if(n==="reject"){let u=new Date(e).toISOString();throw RangeError(`Ambiguous time: ${u} occurs twice in time zone ${t.id}`)}}return vs(e-o,t)},zle=/([+-])(\d{2}):(\d{2})$/,m2=(e)=>{let t=zle.exec(e);if(t===null)return null;let[,n,r,o]=t;return(n==="+"?1:-1)*(Number(r)*60+Number(o))*60*1000},Xg=(e,t,n)=>{let r=n.format.formatToParts(e).find((i)=>i.type==="timeZoneName")?.value??"";if(r==="GMT")return 0;let o=m2(r);if(o===null)return c2(vs(t,n));return o},f2=h(Sle,(e,t,n)=>{if(e._tag==="Utc"){let i=Bd(e);return t(i),a2(i.getTime())}let r=zu(e),o=new Date(r.getTime());return t(o),d2(o.getTime(),e.zone,n?.disambiguation??"compatible")});var Fle=h(2,(e,t)=>t(zu(e))),Nle=h(2,(e,t)=>t(Bd(e)));var r2=(e)=>{let t=zu(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${Ole(e)}`},jle=(e)=>e.zone._tag==="Offset"?r2(e):`${r2(e)}[${e.zone.id}]`;var g2=(e)=>e.length>0;var h2=13,y2=10;class b2{s;stripped;index;length;constructor(e,t=!1){this.s=e,this.stripped=t,this.index=0,this.length=e.length}next(){if(this.done)return{done:!0,value:void 0};let e=this.index;while(!this.done&&!Lle(this.s[this.index]))this.index=this.index+1;let t=this.index;if(!this.done){let n=this.s[this.index];if(this.index=this.index+1,!this.done&&qle(n,this.s[this.index]))this.index=this.index+1;if(!this.stripped)t=this.index}return{done:!1,value:this.s.substring(e,t)}}[Symbol.iterator](){return new b2(this.s,this.stripped)}get done(){return this.index>=this.length}}var Lle=(e)=>{let t=e.charCodeAt(0);return t===h2||t===y2},qle=(e,t)=>e.charCodeAt(0)===h2&&t.charCodeAt(0)===y2;var LP=Symbol.for("effect/Cron"),$le={[LP]:LP,[ve](e){return qP(e)&&Vle(this,e)},[Te](){return T(he(this.tz),Pe(he(this.and)),Pe(Sn(Fe(this.seconds))),Pe(Sn(Fe(this.minutes))),Pe(Sn(Fe(this.hours))),Pe(Sn(Fe(this.days))),Pe(Sn(Fe(this.months))),Pe(Sn(Fe(this.weekdays))),Ze(this))},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"Cron",tz:this.tz,seconds:Fe(this.seconds),minutes:Fe(this.minutes),hours:Fe(this.hours),days:Fe(this.days),months:Fe(this.months),weekdays:Fe(this.weekdays)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},qP=(e)=>ue(e,LP),Ule=(e)=>{let t=Object.create($le);t.seconds=new Set(to(e.seconds??[0],Xn)),t.minutes=new Set(to(e.minutes,Xn)),t.hours=new Set(to(e.hours,Xn)),t.days=new Set(to(e.days,Xn)),t.months=new Set(to(e.months,Xn)),t.weekdays=new Set(to(e.weekdays,Xn)),t.and=e.and===!0,t.tz=eo(e.tz);let n=Array.from(t.seconds),r=Array.from(t.minutes),o=Array.from(t.hours),i=Array.from(t.days),s=Array.from(t.months),c=Array.from(t.weekdays);return t.first={second:n[0]??0,minute:r[0]??0,hour:o[0]??0,day:i[0]??1,month:(s[0]??1)-1,weekday:c[0]??0},t.last={second:n[n.length-1]??59,minute:r[r.length-1]??59,hour:o[o.length-1]??23,day:i[i.length-1]??31,month:(s[s.length-1]??12)-1,weekday:c[c.length-1]??6},t.next={second:si(n,60,"next"),minute:si(r,60,"next"),hour:si(o,24,"next"),day:si(i,32,"next"),month:si(s,13,"next"),weekday:si(c,7,"next")},t.prev={second:si(n,60,"prev"),minute:si(r,60,"prev"),hour:si(o,24,"prev"),day:si(i,32,"prev"),month:si(s,13,"prev"),weekday:si(c,7,"prev")},t},si=(e,t,n)=>{let r=Array(t).fill(void 0);if(e.length===0)return r;let o=void 0;if(n==="next"){let i=e.length-1;for(let s=t-1;s>=0;s--){while(i>=0&&e[i]>=s)o=e[i--];r[s]=o}}else{let i=0;for(let s=0;s<t;s++){while(i<e.length&&e[i]<=s)o=e[i++];r[s]=o}}return r},x2=Symbol.for("effect/Cron/errors/ParseError");class Ni extends t2("CronParseError"){[x2]=x2}var v2=(e,t)=>{let n=e.trim().split(/\s+/).filter(g2);if(n.length!==5&&n.length!==6)return dt(new Ni({message:"Invalid number of segments in cron expression",input:e}));if(n.length===5)n.unshift("0");let[r,o,i,s,c,l]=n,u=t===void 0||jd(t)?nt(t):qC(jP(t),()=>new Ni({message:"Invalid time zone in cron expression",input:t}));return UC({tz:u,seconds:qd(r,Gle),minutes:qd(o,Qle),hours:qd(i,Kle),days:qd(s,Yle),months:qd(c,Xle),weekdays:qd(l,eue)}).pipe(Qs(({days:p,hours:d,minutes:g,months:f,seconds:v,tz:w,weekdays:I})=>Ule({tz:w,seconds:v.values,minutes:g.values,hours:d.values,days:p.values,months:f.values,weekdays:I.values,and:(p.wildcard||I.wildcard)&&p.values.size!==0&&I.values.size!==0})))};var w2=(e,t)=>{let n=wv(t,{timeZone:Rn(e.tz)}).pipe(p2);if(e.seconds.size!==0&&!e.seconds.has(n.seconds))return!1;if(e.minutes.size!==0&&!e.minutes.has(n.minutes))return!1;if(e.hours.size!==0&&!e.hours.has(n.hours))return!1;if(e.months.size!==0&&!e.months.has(n.month))return!1;if(e.days.size===0&&e.weekdays.size===0)return!0;if(e.and)return(e.days.size===0||e.days.has(n.day))&&(e.weekdays.size===0||e.weekdays.has(n.weekDay));if(e.weekdays.size===0)return e.days.has(n.day);if(e.days.size===0)return e.weekdays.has(n.weekDay);return e.days.has(n.day)||e.weekdays.has(n.weekDay)},nh=(e)=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,0)).getUTCDate(),T2=(e,t)=>Wle(e,t,"next");var Wle=(e,t,n)=>{let r=Rn(e.tz),o=wv(t??new Date,{timeZone:r}),i=n==="prev",s=i?-1:1,c=e[n],l=i?e.last:e.first,u=i?(f,v)=>f<v:(f,v)=>f>v,d=r!==void 0&&s2(r)&&r.id==="UTC"?cr:(f)=>{let v=wv(f,{timeZone:o.zone,adjustForTimeZone:!0,disambiguation:i?"later":void 0}).pipe(zu),w=f.getTime()-v.getTime();if(i?w!==0:w>0)f.setTime(v.getTime())},g=f2(o,(f)=>{f.setUTCSeconds(f.getUTCSeconds()+s,0);for(let v=0;v<1e4;v++){if(e.seconds.size!==0){let w=f.getUTCSeconds(),I=c.second[w];if(I===void 0){f.setUTCMinutes(f.getUTCMinutes()+s,l.second),d(f);continue}if(u(I,w)){f.setUTCSeconds(I),d(f);continue}}if(e.minutes.size!==0){let w=f.getUTCMinutes(),I=c.minute[w];if(I===void 0){f.setUTCHours(f.getUTCHours()+s,l.minute,l.second),d(f);continue}if(u(I,w)){f.setUTCMinutes(I,l.second),d(f);continue}}if(e.hours.size!==0){let w=f.getUTCHours(),I=c.hour[w];if(I===void 0){f.setUTCDate(f.getUTCDate()+s),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}if(u(I,w)){f.setUTCHours(I,l.minute,l.second),d(f);continue}}if(e.weekdays.size!==0||e.days.size!==0)if(e.and){let w=e.days.size===0||e.days.has(f.getUTCDate()),I=e.weekdays.size===0||e.weekdays.has(f.getUTCDay());if(!w||!I){f.setUTCDate(f.getUTCDate()+s),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}}else{let w=i?-1/0:1/0,I=i?-1/0:1/0;if(e.weekdays.size!==0){let L=f.getUTCDay(),N=c.weekday[L];if(N===void 0)w=i?L-7+l.weekday:7-L+l.weekday;else w=N-L}if(e.days.size!==0&&w!==0){let L=f.getUTCDate(),N=c.day[L];if(N===void 0)if(i){let re=nh(new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),0)));I=-(L+(re-l.day))}else I=nh(f)-L+l.day;else if(!i&&N>nh(f))I=nh(f)-L+l.day;else I=N-L}let A=i?Math.max(w,I):Math.min(w,I);if(A!==0){f.setUTCDate(f.getUTCDate()+A),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}}if(e.months.size!==0){let w=f.getUTCMonth()+1,I=c.month[w],A=(L)=>{if(e.days.size!==0&&e.weekdays.size===0)return l.day;let N=nh(new Date(Date.UTC(f.getUTCFullYear(),L,1)));return i?N:1};if(I===void 0){f.setUTCFullYear(f.getUTCFullYear()+s),f.setUTCMonth(l.month,A(l.month)),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}if(u(I,w)){let L=I-1;f.setUTCMonth(L,A(L)),f.setUTCHours(l.hour,l.minute,l.second),d(f);continue}}return}throw Error("Unable to find next cron date")});return Bd(g)};var Hle=Ki((e,t)=>e.and===t.and&&Ld(e.seconds,t.seconds)&&Ld(e.minutes,t.minutes)&&Ld(e.hours,t.hours)&&Ld(e.days,t.days)&&Ld(e.months,t.months)&&Ld(e.weekdays,t.weekdays)),Jle=Ly(az),Ld=(e,t)=>Jle(Fe(e),Fe(t)),Vle=h(2,(e,t)=>Hle(e,t)),Gle={min:0,max:59},Qle={min:0,max:59},Kle={min:0,max:23},Yle={min:1,max:31},Xle={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}},eue={min:0,max:7,normalize:(e)=>e===7?0:e,aliases:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}},qd=(e,t)=>{let n=new Set,r=e.split(","),o=S2(r[0]),i=o[0]==="*",s=t.normalize??((l)=>l),c=i&&(o[1]===void 0||o[1]===1)?cr:(l)=>{n.add(s(l))};for(let l=0;l<r.length;l++){let u=r[l],[p,d]=l===0?o:S2(u);if(d!==void 0){if(!Number.isInteger(d))return dt(new Ni({message:"Expected step value to be a positive integer",input:e}));if(d<1)return dt(new Ni({message:"Expected step value to be greater than 0",input:e}));if(d>t.max)return dt(new Ni({message:`Expected step value to be less than ${t.max}`,input:e}))}if(p==="*"){if(l===0&&(d===void 0||d===1))continue;for(let g=t.min;g<=t.max;g+=d??1)c(g)}else{let[g,f]=tue(p,t.aliases);if(!Number.isInteger(g))return dt(new Ni({message:"Expected a positive integer",input:e}));if(g<t.min||g>t.max)return dt(new Ni({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(f===void 0)for(let v=g;v<=(d===void 0?g:t.max);v+=d??1)c(v);else{if(!Number.isInteger(f))return dt(new Ni({message:"Expected a positive integer",input:e}));if(f<t.min||f>t.max)return dt(new Ni({message:`Expected a value between ${t.min} and ${t.max}`,input:e}));if(g>f)return dt(new Ni({message:"Invalid value range",input:e}));for(let v=g;v<=f;v+=d??1)c(v)}}}return nt({values:n,wildcard:i})},S2=(e)=>{let t=e.indexOf("/");if(t!==-1){let n=e.slice(t+1);return[e.slice(0,t),C2.test(n)?Number(n):NaN]}return[e,void 0]},tue=(e,t)=>{let n=e.indexOf("-");if(n!==-1)return[BP(e.slice(0,n),t),BP(e.slice(n+1),t)];return[BP(e,t),void 0]};function BP(e,t){return t?.[e.toLocaleLowerCase()]??(C2.test(e)?Number(e):NaN)}var C2=/^\d+$/;var E2=yq;var I2=oq;var rue="effect/Schedule",Ev=Symbol.for(rue),Iv=(e)=>ue(e,Ev),oue="effect/ScheduleDriver",UP=Symbol.for(oue),ZP={start:0,now:0,input:void 0,output:void 0,elapsed:oo,elapsedSincePrevious:oo,recurrence:0},Fu=Ei()("effect/Schedule/CurrentIterationMetadata",{defaultValue:()=>ZP}),iue={_Out:(e)=>e,_In:(e)=>e,_R:(e)=>e},sue={_Out:(e)=>e,_In:(e)=>e,_R:(e)=>e};class A2{initial;step;[Ev]=iue;constructor(e,t){this.initial=e,this.step=t}pipe(){return pe(this,arguments)}}var R2=(e,t,n,r)=>yu(e,(o)=>o.recurrence===0?{now:t,input:n,output:r,recurrence:o.recurrence+1,elapsed:oo,elapsedSincePrevious:oo,start:t}:{now:t,input:n,output:r,recurrence:o.recurrence+1,elapsed:xr(t-o.start),elapsedSincePrevious:xr(t-o.now),start:o.start});class O2{schedule;ref;[UP]=sue;constructor(e,t){this.schedule=e,this.ref=t}get state(){return X(dr(this.ref),(e)=>e[1])}get last(){return R(dr(this.ref),([e,t])=>{switch(e._tag){case"None":return Qo(()=>new Er);case"Some":return M(e.value)}})}iterationMeta=gd(ZP);get reset(){return fs(this.ref,[q(),this.schedule.initial]).pipe(ou(fs(this.iterationMeta,ZP)))}next(e){return T(X(dr(this.ref),(t)=>t[1]),R((t)=>T(wa,R((n)=>T(Ae(()=>this.schedule.step(n,e,t)),R(([r,o,i])=>{let s=fs(this.ref,[W(o),r]);if($n(i))return s.pipe(rt(Ve(q())));let c=Qc(i.intervals)-n;if(c<=0)return s.pipe(rt(R2(this.iterationMeta,n,e,o)),bt(o));let l=xr(c);return T(s,rt(R2(this.iterationMeta,n,e,o)),rt(vu(l)),bt(o))}))))))}}var ht=(e,t)=>new A2(e,t),kv=h(2,(e,t)=>WP(e,(n)=>Z(()=>t(n)))),WP=h(2,(e,t)=>sh(e,(n,r)=>X(t(n),(o)=>vE(r,Pt(o))))),D2=h(2,(e,t)=>tr(HP(e,t),jl)),HP=h(2,(e,t)=>ht([e.initial,t.initial,!0],(n,r,o)=>o[2]?R(e.step(n,r,o[0]),([i,s,c])=>{if($n(c))return X(t.step(n,r,o[1]),([l,u,p])=>[[i,l,!1],nt(u),p]);return M([[i,o[1],!0],dt(s),c])}):X(t.step(n,r,o[1]),([i,s,c])=>[[o[0],i,!1],nt(s),c]))),M2=h(2,(e,t)=>tr(e,()=>t)),Rv=(e)=>tr(e,cr),_2=h(2,(e,t)=>ht([e.initial,t.initial],(n,[r,o],i)=>Lr(e.step(n,r,i[0]),t.step(n,o,i[1]),([s,c,l],[u,p,d])=>{if(_a(l)&&_a(d)){let g=T(l.intervals,nP(d.intervals));return[[s,u],[c,p],Ou(g)]}return[[s,u],[c,p],Ro]}))),Zd=h(2,(e,t)=>Nu(e,(n,r)=>Z(()=>t(n,r)))),Nu=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>{if($n(c))return M([i,s,Ro]);return X(t(r,s),(l)=>l?[i,s,c]:[i,s,Ro])}))),z2=()=>ju(Fa()),ju=(e)=>Dv(e,nn(),(t,n)=>T(t,zp(n))),F2=(e)=>ju(YP(e)),N2=(e)=>ju(XP(e)),j2=(e)=>ju(tA(e)),B2=(e)=>ju(nA(e)),L2=h(2,(e,t)=>ht([e.initial,t.initial],(n,r,o)=>R(e.step(n,r,o[0]),([i,s,c])=>X(t.step(n,s,o[1]),([l,u,p])=>$n(c)?[[i,l],u,Ro]:$n(p)?[[i,l],u,Ro]:[[i,l],u,Ou(T(c.intervals,hW(p.intervals)))])))),JP=h(2,(e,t)=>Pv(e,(n)=>Z(()=>t(n)))),q2=h(2,(e,t)=>ht(e.initial,(n,r,o)=>Nc(e.step(n,r,o),t))),Pv=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(t(r),(i)=>e.step(n,i,o)))),Z2=(e,t)=>{let n=qP(e)?nt(e):v2(e,t);return ht([!0,[Number.MIN_SAFE_INTEGER,0,0]],(r,o,[i,s])=>{if(r===Number.POSITIVE_INFINITY)return M([[!1,s],[s[1],s[2]],Ro]);if(r<s[0])return M([[!1,s],[s[1],s[2]],Mn($r(s[1],s[2]))]);if(tn(n))return ur(n.left);let c=n.right,l=new Date(r),u;if(i&&w2(c,l))u=r;u=T2(c,l).getTime();let p=uA(u),d=PJ(u);return M([[!1,[u,p,d]],[p,d],Mn($r(p,d))])})},$2=(e)=>ht([Number.NEGATIVE_INFINITY,0],(t,n,r)=>{if(!Number.isInteger(e)||e<1||31<e)return xo(()=>new Ko(`Invalid argument in: dayOfMonth(${e}). Must be in range 1...31`));let o=r[1],s=mue(t,e,o===0),c=pA(s),l=DJ(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),U2=(e)=>ht([Number.MIN_SAFE_INTEGER,0],(t,n,r)=>{if(!Number.isInteger(e)||e<1||7<e)return xo(()=>new Ko(`Invalid argument in: dayOfWeek(${e}). Must be in range 1 (Monday)...7 (Sunday)`));let o=r[1],s=due(t,e,o===0),c=pA(s),l=DJ(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),W2=h(2,(e,t)=>Av(e,(n)=>Z(()=>t(n)))),Av=h(2,(e,t)=>sh(e,(n,r)=>t(r))),oh=(e)=>kv(e,(t)=>t),H2=(e)=>ht(e.initial,(t,n,r)=>T(e.step(t,n,r),R(([o,i,s])=>{if($n(s))return M([o,oo,s]);return M([o,xr(Qc(s.intervals)-t),s])}))),J2=h(2,(e,{onInput:t,onOutput:n})=>tr(JP(e,t),n)),V2=h(2,(e,{onInput:t,onOutput:n})=>Ov(Pv(e,t),n)),ih=(e)=>T(hu([q(),e.initial]),X((t)=>new O2(e,t))),VP=(e)=>{let t=Pt(e),n=lr(t);return ht(!0,(r,o,i)=>M(i?[!1,t,Mn(zi(r+n))]:[!1,oo,Ro]))},G2=h(2,(e,t)=>iA(e,t)),Q2=h(3,(e,t,n)=>Mv(e,t,n)),K2=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>$n(c)?bt(t,[i,s,c]):M([i,s,c])))),Y2=(e,t=2)=>{let n=Pt(e);return oh(tr(ji,(r)=>SE(n,Math.pow(t,r))))},X2=(e)=>{let t=Pt(e);return oh(T(ah([t,t],([n,r])=>[r,vE(n,r)]),tr((n)=>n[0])))},eJ=(e)=>{let t=Pt(e),n=lr(t);return ht([q(),0],(r,o,[i,s])=>Z(()=>{switch(i._tag){case"None":return[[W([r,r+n]),s+1],s,Mn(zi(r+n))];case"Some":{let[c,l]=i.value,u=r>l+n,p=ye(t,oo)?t:xr(n-(r-c)%n),d=ye(p,oo)?t:p,g=u?r:r+lr(d);return[[W([c,g]),s+1],s,Mn(zi(g))]}}}))},tJ=(e)=>VP(e),nJ=(e,...t)=>ht([[e,...t].map((n)=>Pt(n)),!0],(n,r,[o,i])=>Z(()=>{if(i){let s=o[0],c=zi(n+lr(s));if(o.length>=2)return[[o.slice(1),!0],s,Mn(c)];let l=o.slice(1);return[[[s,...l],!1],s,Mn(c)]}return[[o,!1],oo,Ro]})),rJ=(e)=>tr(Fa(),e),oJ=(e)=>ht([Number.NEGATIVE_INFINITY,0],(t,n,r)=>{if(!Number.isInteger(e)||e<0||23<e)return xo(()=>new Ko(`Invalid argument in: hourOfDay(${e}). Must be in range 0...23`));let o=r[1],s=pue(t,e,o===0),c=OJ(s),l=uue(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),Fa=()=>ht(void 0,(e,t,n)=>M([n,t,Mn(zi(e))])),tl=h(2,(e,t)=>GP(e,t,mW)),GP=h(3,(e,t,n)=>ht([e.initial,t.initial],(r,o,i)=>T(Lr(e.step(r,o,i[0]),t.step(r,o,i[1]),(s,c)=>[s,c]),R(([[s,c,l],[u,p,d]])=>{if(_a(l)&&_a(d))return $P(e,t,o,s,c,l.intervals,u,p,d.intervals,n);return M([[s,u],[c,p],Ro])})))),$P=(e,t,n,r,o,i,s,c,l,u)=>{let p=u(i,l);if(gW(p))return M([[r,s],[o,c],Ou(p)]);if(T(i,fW(l)))return R(e.step(tv(i),n,r),([d,g,f])=>{if($n(f))return M([[d,s],[g,c],Ro]);return $P(e,t,n,d,g,f.intervals,s,c,l,u)});return R(t.step(tv(l),n,s),([d,g,f])=>{if($n(f))return M([[r,d],[o,g],Ro]);return $P(e,t,n,r,o,i,d,g,f.intervals,u)})},iJ=(e)=>QP(e,{min:0.8,max:1.2}),QP=h(2,(e,t)=>{let{max:n,min:r}=Object.assign({min:0.8,max:1.2},t);return Av(e,(o)=>X(E2,(i)=>{let s=lr(o),c=s*r*(1-i)+s*n*i;return xr(c)}))}),sJ=(e)=>{let t=Pt(e);return oh(tr(ji,(n)=>SE(t,n+1)))},tr=h(2,(e,t)=>Ov(e,(n)=>Z(()=>t(n)))),Ov=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>X(t(s),(l)=>[i,l,c])))),aJ=(e)=>ht([Number.MIN_SAFE_INTEGER,0],(t,n,r)=>{if(!Number.isInteger(e)||e<0||59<e)return xo(()=>new Ko(`Invalid argument in: minuteOfHour(${e}). Must be in range 0...59`));let o=r[1],s=lue(t,e,o===0),c=AJ(s),l=cue(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),cJ=h(2,(e,t)=>sh(e,(n,r)=>Z(()=>t(n,r)))),sh=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>{if($n(c))return M([i,s,c]);let l=c.intervals,u=oW($r(n,Qc(l)));return X(t(s,u),(p)=>{let d=Pt(p),g=Qc(l),f=n+lr(d),v=f-g,w=Math.max(0,tv(l)+v),I=$r(f,w);return[i,s,Mn(I)]})}))),lJ=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>bt(t(s,c),[i,s,c])))),KP=(e)=>ht(e.initial,(t,n,r)=>T(e.step(t,n,r),X(([o,i,s])=>[o,n,s]))),uJ=h(2,(e,t)=>ht(e.initial,(n,r,o)=>qr(e.step(n,r,o),t))),pJ=h(3,(e,t,n)=>ht(e.initial,(r,o,i)=>To((s)=>qr(e.step(r,o,i),St(s,t,n))))),YP=(e)=>sA(Fa(),e),XP=(e)=>ch(Fa(),e),dJ=(e)=>aA(tr(Fa(),e),lt),eA=(e)=>{let t=Pt(e);return _v(Fv,(n)=>kF(n,t))},tA=(e)=>cA(Fa(),e),nA=(e)=>lh(Fa(),e),$d=(e)=>_v(ji,(t)=>t<e),Dv=h(3,(e,t,n)=>rA(e,t,(r,o)=>Z(()=>n(r,o)))),rA=h(3,(e,t,n)=>ht([e.initial,t],(r,o,[i,s])=>R(e.step(r,o,i),([c,l,u])=>$n(u)?M([[c,s],s,u]):X(n(s,l),(p)=>[[c,p],s,u]))));var mJ=(e)=>Dv(e,0,(t,n)=>t+1),fJ=h(2,(e,t)=>{let n=Pt(t);return T(e,tl(Fv),oA(([,r])=>fb(r,n)),tr((r)=>r[0]))}),oA=h(2,(e,t)=>ht(e.initial,(n,r,o)=>R(e.step(n,r,o),([i,s,c])=>t(s)?e.step(n,r,e.initial):M([i,s,c])))),gJ=h(3,(e,t,n)=>T(hJ(e,t,Ys(n),e.initial,nn()),X((r)=>ho(r)))),hJ=(e,t,n,r,o)=>{if(!_t(n))return M(o);let i=ut(n),s=zt(n);return R(e.step(t,i,r),([c,l,u])=>{if($n(u))return Z(()=>T(o,Zt(l)));return hJ(e,Qc(u.intervals),s,c,Zt(o,l))})},yJ=(e)=>ht([Number.NEGATIVE_INFINITY,0],(t,n,r)=>{if(!Number.isInteger(e)||e<0||59<e)return xo(()=>new Ko(`Invalid argument in: secondOfMinute(${e}). Must be in range 0...59`));let o=r[1],s=aue(t,e,o===0),c=uA(s),l=PJ(s),u=$r(c,l);return M([[l,o+1],o,Mn(u)])}),bJ=(e)=>kv(ji,()=>e),xJ=(e)=>tr(ji,()=>e),SJ=(e)=>tr(ji,e),vJ=h(2,(e,t)=>ht(e.initial,(n,r,o)=>rt(t(r),e.step(n,r,o)))),wJ=h(2,(e,t)=>ht(e.initial,(n,r,o)=>Tr(e.step(n,r,o),([,i])=>t(i)))),ah=(e,t)=>ht(e,(n,r,o)=>Z(()=>[t(o),o,Mn(zi(n))])),iA=h(2,(e,t)=>Mv(e,t,nP)),Mv=h(3,(e,t,n)=>ht([e.initial,t.initial],(r,o,i)=>Lr(e.step(r,o,i[0]),t.step(r,o,i[1]),([s,c,l],[u,p,d])=>{if($n(l)&&$n(d))return[[s,u],[c,p],Ro];if($n(l)&&_a(d))return[[s,u],[c,p],Ou(d.intervals)];if(_a(l)&&$n(d))return[[s,u],[c,p],Ou(l.intervals)];if(_a(l)&&_a(d)){let g=n(l.intervals,d.intervals);return[[s,u],[c,p],Ou(g)]}throw Error("BUG: Schedule.unionWith - please report an issue at https://github.com/Effect-TS/effect/issues")}))),sA=h(2,(e,t)=>Zd(e,(n,r)=>!t(n))),ch=h(2,(e,t)=>Nu(e,(n,r)=>yg(t(n)))),aA=h(2,(e,t)=>Zd(e,(n,r)=>!t(r))),TJ=h(2,(e,t)=>Nu(e,(n,r)=>yg(t(r)))),CJ=h(2,(e,t)=>lA(e,eA(t))),cA=h(2,(e,t)=>Zd(e,(n,r)=>t(n))),lh=h(2,(e,t)=>Nu(e,(n,r)=>t(n))),_v=h(2,(e,t)=>Zd(e,(n,r)=>t(r))),EJ=h(2,(e,t)=>Nu(e,(n,r)=>t(r))),IJ=(e)=>{let t=Pt(e),n=lr(t);return ht([q(),0],(r,o,[i,s])=>{switch(i._tag){case"None":return M([[W(r),s+1],s,Mn(zi(r+n))]);case"Some":return M([[W(i.value),s+1],s,Mn(zi(r+(n-(r-i.value)%n)))])}})},lA=h(2,(e,t)=>tr(tl(e,t),(n)=>n[0])),kJ=h(2,(e,t)=>tr(tl(e,t),(n)=>n[1])),RJ=h(3,(e,t,n)=>tr(tl(e,t),([r,o])=>n(r,o))),uA=(e)=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),0).getTime()},PJ=(e)=>{let t=new Date(uA(e));return t.setSeconds(t.getSeconds()+1)},aue=(e,t,n)=>{let r=new Date(e);if(r.getSeconds()===t&&n)return e;if(r.getSeconds()<t)return r.setSeconds(t);let o=new Date(r.setSeconds(t));return o.setTime(o.getTime()+60000)},AJ=(e)=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),0,0).getTime()},cue=(e)=>{let t=new Date(AJ(e));return t.setMinutes(t.getMinutes()+1)},lue=(e,t,n)=>{let r=new Date(e);if(r.getMinutes()===t&&n)return e;if(r.getMinutes()<t)return r.setMinutes(t);let o=new Date(r.setMinutes(t));return o.setTime(o.getTime()+3600000)},OJ=(e)=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),0,0,0).getTime()},uue=(e)=>{let t=new Date(OJ(e));return t.setHours(t.getHours()+1)},pue=(e,t,n)=>{let r=new Date(e);if(r.getHours()===t&&n)return e;if(r.getHours()<t)return r.setHours(t);let o=new Date(r.setHours(t));return o.setTime(o.getTime()+86400000)},pA=(e)=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0).getTime()},DJ=(e)=>{let t=new Date(pA(e));return t.setDate(t.getDate()+1)},due=(e,t,n)=>{let r=new Date(e);if(r.getDay()===t&&n)return e;let o=(7+t-r.getDay())%7;return r.setDate(r.getDate()+(o===0?7:o))},mue=(e,t,n)=>{let r=new Date(e);if(r.getDate()===t&&n)return e;if(r.getDate()<t)return r.setDate(t);return MJ(e,t,1)},MJ=(e,t,n)=>{let r=new Date(e),o=new Date(r.setDate(t));if(new Date(o.setMonth(o.getMonth()+n)).getDate()===t){let s=new Date(e),c=new Date(s.setDate(t));return c.setMonth(c.getMonth()+n)}return MJ(e,t,n+1)},Tv=Symbol.for("effect/Schedule/ScheduleDefect");class _J{error;[Tv];constructor(e){this.error=e,this[Tv]=Tv}}var fue=(e)=>ue(e,Tv),Cv=(e)=>Di(e,(t)=>ur(new _J(t))),gue=(e)=>vn(cs(e,(t)=>Gl(t)&&fue(t.defect)?W(t.defect):q()),{onNone:()=>e,onSome:(t)=>ao(t.error)}),uh=(e)=>us(e,(t)=>Ye(gue(t))),P2=h(2,(e,t)=>dA(e,t,(n,r)=>Ve(n))),zJ=h(2,(e,t)=>{if(Iv(t))return P2(e,t);let n=t.schedule??KP(ji),r=t.while?lh(n,(s)=>{let c=t.while(s);if(typeof c==="boolean")return M(c);return Cv(c)}):n,o=t.until?ch(r,(s)=>{let c=t.until(s);if(typeof c==="boolean")return M(c);return Cv(c)}):r,i=t.times?tl(o,$d(t.times)).pipe(tr((s)=>s[0])):o;return uh(P2(e,i))}),dA=h(3,(e,t,n)=>R(ih(t),(r)=>On(e,{onFailure:(o)=>n(o,q()),onSuccess:(o)=>FJ(Jc(e,Fu,dr(r.iterationMeta)),r,(i,s)=>Jc(n(i,s),Fu,dr(r.iterationMeta)),o)}))),FJ=(e,t,n,r)=>On(t.next(r),{onFailure:()=>nu(t.last),onSuccess:(o)=>On(e,{onFailure:(i)=>n(i,W(o)),onSuccess:(i)=>FJ(e,t,n,i)})}),rh=h(2,(e,t)=>mA(e,t,(n,r)=>Ve(n))),NJ=h(2,(e,t)=>{if(Iv(t))return rh(e,t);return uh(rh(e,zv(t)))}),zv=(e)=>{let t=e.schedule??ji,n=e.while?lh(t,(o)=>{let i=e.while(o);if(typeof i==="boolean")return M(i);return Cv(i)}):t,r=e.until?ch(n,(o)=>{let i=e.until(o);if(typeof i==="boolean")return M(i);return Cv(i)}):n;return e.times!==void 0?tl(r,$d(e.times)):r},mA=h(3,(e,t,n)=>R(ih(t),(r)=>jJ(Jc(e,Fu,dr(r.iterationMeta)),r,(o,i)=>Jc(n(o,i),Fu,dr(r.iterationMeta))))),jJ=(e,t,n)=>Di(e,(r)=>On(t.next(r),{onFailure:()=>T(t.last,nu,R((o)=>n(r,o))),onSuccess:()=>jJ(e,t,n)})),fA=h(2,(e,t)=>gA(e,void 0,t)),gA=h(3,(e,t,n)=>R(ih(n),(r)=>BJ(Jc(e,Fu,dr(r.iterationMeta)),t,r))),BJ=(e,t,n)=>On(n.next(t),{onFailure:()=>nu(n.last),onSuccess:()=>R(e,(r)=>BJ(e,r,n))}),LJ=ah(0,(e)=>e+1),Fv=ht(q(),(e,t,n)=>{switch(n._tag){case"None":return M([W(e),oo,Mn(zi(e))]);case"Some":return M([W(n.value),xr(e-n.value),Mn(zi(e))])}}),ji=ah(0,(e)=>e+1),Nv=Rv($d(1)),qJ=Rv($d(0)),ZJ=h(2,(e,t)=>ov(fA(e,t)));var UJ=h(2,(e,t)=>Ae(()=>{let n=0,r;return R(Ac({while:()=>n<t.steps.length&&(r===void 0||tn(r)),body:()=>{let o=t.steps[n],i=xv(e,o.provide);if(r){let s=!1,c=i;i=Ae(()=>{if(s)return c;return s=!0,r}),i=uh(rh(i,$J(o,!1)))}else{let s=$J(o,!0);i=s?uh(rh(i,s)):i}return Go(i)},step:(o)=>{r=o,n++}}),()=>r)})),$J=(e,t)=>{if(!t)return zv({schedule:e.schedule?e.schedule:e.attempts?void 0:Nv,times:e.attempts,while:e.while});else if(e.attempts===1||!(e.schedule||e.attempts))return;return zv({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})};var jv=uo;var Na=Zn;var WJ=MI;var HJ=xB;var yA=tg,Bv=ld;var JJ=Symbol.for("effect/MutableList"),yue={[JJ]:JJ,[Symbol.iterator](){let e=!1,t=this.head;return{next(){if(e)return this.return();if(t==null)return e=!0,this.return();let n=t.value;return t=t.next,{done:e,value:n}},return(n){if(!e)e=!0;return{done:!0,value:n}}}},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"MutableList",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},bue=(e)=>({value:e,removed:!1,prev:void 0,next:void 0}),VJ=()=>{let e=Object.create(yue);return e.head=void 0,e.tail=void 0,e._length=0,e};var GJ=(e)=>xA(e)===0,xA=(e)=>e._length;var QJ=h(2,(e,t)=>{let n=bue(t);if(e.head===void 0)e.head=n;if(e.tail===void 0)e.tail=n;else e.tail.next=n,n.prev=e.tail,e.tail=n;return e._length+=1,e}),KJ=(e)=>{let t=e.head;if(t!==void 0)return xue(e,t),t.value;return};var xue=(e,t)=>{if(t.removed)return;if(t.removed=!0,t.prev!==void 0&&t.next!==void 0)t.prev.next=t.next,t.next.prev=t.prev;else if(t.prev!==void 0)e.tail=t.prev,t.prev.next=void 0;else if(t.next!==void 0)e.head=t.next,t.next.prev=void 0;else e.tail=void 0,e.head=void 0;if(e._length>0)e._length-=1};var YJ=Symbol.for("effect/MutableQueue"),SA=Symbol.for("effect/mutable/MutableQueue/Empty"),vue={[YJ]:YJ,[Symbol.iterator](){return Array.from(this.queue)[Symbol.iterator]()},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"MutableQueue",values:Array.from(this).map(tt)}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},wue=(e)=>{let t=Object.create(vue);return t.queue=VJ(),t.capacity=e,t};var XJ=()=>wue(void 0);var eV=h(2,(e,t)=>{let n=xA(e.queue);if(e.capacity!==void 0&&n===e.capacity)return!1;return QJ(t)(e.queue),!0});var tV=h(2,(e,t)=>{if(GJ(e.queue))return t;return KJ(e.queue)});var nV=(e,t,n,r)=>Hb({_tag:"Complete",key:e,exit:t,entryStats:n,timeToLiveMillis:r}),rV=(e,t)=>Hb({_tag:"Pending",key:e,deferred:t}),Cue=(e,t)=>Hb({_tag:"Refreshing",deferred:e,complete:t}),vA=Symbol.for("effect/Cache/MapKey");class oV{current;[vA]=vA;previous=void 0;next=void 0;constructor(e){this.current=e}[Te](){return T(he(this.current),Pe(he(this.previous)),Pe(he(this.next)),Ze(this))}[ve](e){if(this===e)return!0;return Eue(e)&&ye(this.current,e.current)&&ye(this.previous,e.previous)&&ye(this.next,e.next)}}var Ud=(e)=>new oV(e),Eue=(e)=>ue(e,vA);class iV{head=void 0;tail=void 0;add(e){if(e!==this.tail)if(this.tail===void 0)this.head=e,this.tail=e;else{let{previous:t,next:n}=e;if(n!==void 0)if(e.next=void 0,t!==void 0)t.next=n,n.previous=t;else this.head=n,this.head.previous=void 0;this.tail.next=e,e.previous=this.tail,this.tail=e}}remove(){let e=this.head;if(e!==void 0){let t=e.next;if(t!==void 0)e.next=void 0,this.head=t,this.head.previous=void 0;else this.head=void 0,this.tail=void 0}return e}}var Iue=()=>new iV,kue=(e,t,n,r,o,i)=>({map:e,keys:t,accesses:n,updating:r,hits:o,misses:i}),Rue=()=>kue(Ia(),Iue(),XJ(),is(!1),0,0),Pue="effect/Cache",Aue=Symbol.for(Pue),Oue={_Key:(e)=>e,_Error:(e)=>e,_Value:(e)=>e},Due="effect/ConsumerCache",Mue=Symbol.for(Due),_ue={_Key:(e)=>e,_Error:(e)=>e,_Value:(e)=>e},zue=(e)=>e,Lv=(e)=>({loadedMillis:e});class sV{capacity;context;fiberId;lookup;timeToLive;[Aue]=Oue;[Mue]=_ue;cacheState;constructor(e,t,n,r,o){this.capacity=e,this.context=t,this.fiberId=n,this.lookup=r,this.timeToLive=o,this.cacheState=Rue()}get(e){return X(this.getEither(e),jl)}get cacheStats(){return Z(()=>zue({hits:this.cacheState.hits,misses:this.cacheState.misses,size:Iu(this.cacheState.map)}))}getOption(e){return Ae(()=>vn(Ut(this.cacheState.map,e),{onNone:()=>{let t=Ud(e);return this.trackAccess(t),this.trackMiss(),M(q())},onSome:(t)=>this.resolveMapValue(t)}))}getOptionComplete(e){return Ae(()=>vn(Ut(this.cacheState.map,e),{onNone:()=>{let t=Ud(e);return this.trackAccess(t),this.trackMiss(),M(q())},onSome:(t)=>this.resolveMapValue(t,!0)}))}contains(e){return Z(()=>Eo(this.cacheState.map,e))}entryStats(e){return Z(()=>{let t=Ut(this.cacheState.map,e);if(lt(t))switch(t.value._tag){case"Complete":{let n=t.value.entryStats.loadedMillis;return W(Lv(n))}case"Pending":return q();case"Refreshing":{let n=t.value.complete.entryStats.loadedMillis;return W(Lv(n))}}return q()})}getEither(e){return Ae(()=>{let t=e,n=void 0,r=void 0,o=Rn(Ut(this.cacheState.map,t));if(o===void 0)if(r=yA(this.fiberId),n=Ud(t),Eo(this.cacheState.map,t))o=Rn(Ut(this.cacheState.map,t));else Rr(this.cacheState.map,t,rV(n,r));if(o===void 0)return this.trackAccess(n),this.trackMiss(),X(this.lookupValueOf(e,r),nt);else return R(this.resolveMapValue(o),vn({onNone:()=>this.getEither(e),onSome:(i)=>M(dt(i))}))})}invalidate(e){return Z(()=>{ka(this.cacheState.map,e)})}invalidateWhen(e,t){return Z(()=>{let n=Ut(this.cacheState.map,e);if(lt(n)&&n.value._tag==="Complete"){if(n.value.exit._tag==="Success"){if(t(n.value.exit.value))ka(this.cacheState.map,e)}}})}get invalidateAll(){return Z(()=>{this.cacheState.map=Ia()})}refresh(e){return gs((t)=>Ae(()=>{let n=e,r=yA(this.fiberId),o=Rn(Ut(this.cacheState.map,n));if(o===void 0)if(Eo(this.cacheState.map,n))o=Rn(Ut(this.cacheState.map,n));else Rr(this.cacheState.map,n,rV(Ud(n),r));if(o===void 0)return Qt(this.lookupValueOf(e,r));else switch(o._tag){case"Complete":{if(this.hasExpired(t,o.timeToLiveMillis)){let i=Rn(Ut(this.cacheState.map,n));if(ye(i,o))ka(this.cacheState.map,n);return Qt(this.get(e))}return T(this.lookupValueOf(e,r),wS(()=>{let i=Rn(Ut(this.cacheState.map,n));if(ye(i,o)){let s=Cue(r,o);return Rr(this.cacheState.map,n,s),!0}return!1}),Qt)}case"Pending":return Na(o.deferred);case"Refreshing":return Na(o.deferred)}}))}set(e,t){return gs((n)=>Z(()=>{let r=n.unsafeCurrentTimeMillis(),o=e,i=ig(t),s=nV(Ud(o),i,Lv(r),r+lr(Pt(this.timeToLive(i))));Rr(this.cacheState.map,o,s)}))}get size(){return Z(()=>Iu(this.cacheState.map))}get values(){return Z(()=>{let e=[];for(let t of this.cacheState.map)if(t[1]._tag==="Complete"&&t[1].exit._tag==="Success")e.push(t[1].exit.value);return e})}get entries(){return Z(()=>{let e=[];for(let t of this.cacheState.map)if(t[1]._tag==="Complete"&&t[1].exit._tag==="Success")e.push([t[0],t[1].exit.value]);return e})}get keys(){return Z(()=>{let e=[];for(let t of this.cacheState.map)if(t[1]._tag==="Complete"&&t[1].exit._tag==="Success")e.push(t[0]);return e})}resolveMapValue(e,t=!1){return gs((n)=>{switch(e._tag){case"Complete":{if(this.trackAccess(e.key),this.hasExpired(n,e.timeToLiveMillis))return ka(this.cacheState.map,e.key.current),M(q());return this.trackHit(),X(e.exit,W)}case"Pending":{if(this.trackAccess(e.key),this.trackHit(),t)return M(q());return X(Na(e.deferred),W)}case"Refreshing":{if(this.trackAccess(e.complete.key),this.trackHit(),this.hasExpired(n,e.complete.timeToLiveMillis)){if(t)return M(q());return X(Na(e.deferred),W)}return X(e.complete.exit,W)}}})}trackHit(){this.cacheState.hits=this.cacheState.hits+1}trackMiss(){this.cacheState.misses=this.cacheState.misses+1}trackAccess(e){if(eV(this.cacheState.accesses,e),Db(this.cacheState.updating,!1,!0)){let t=!0;while(t){let r=tV(this.cacheState.accesses,SA);if(r===SA)t=!1;else this.cacheState.keys.add(r)}let n=Iu(this.cacheState.map);t=n>this.capacity;while(t){let r=this.cacheState.keys.remove();if(r!==void 0){if(Eo(this.cacheState.map,r.current))ka(this.cacheState.map,r.current),n=n-1,t=n>this.capacity}else t=!1}Jo(this.cacheState.updating,!1)}}hasExpired(e,t){return e.unsafeCurrentTimeMillis()>t}lookupValueOf(e,t){return gs((n)=>Ae(()=>{let r=e;return T(this.lookup(e),qr(this.context),Nt,R((o)=>{let i=n.unsafeCurrentTimeMillis(),s=Lv(i),c=nV(Ud(r),o,s,i+lr(Pt(this.timeToLive(o))));return Rr(this.cacheState.map,r,c),rt(WJ(t,o),o)}),ds(()=>rt(HJ(t),Z(()=>{ka(this.cacheState.map,r)}))))}))}}var aV=(e,t,n)=>new sV(e,Qn(),Nb,t,(r)=>Pt(n(r)));var Wd=Le(Symbol.for("effect/FiberRef/currentCache"),()=>on(aV(65536,()=>X(uo(),(e)=>({listeners:new Pg,handle:e})),()=>xE(60)))),ph=Le(Symbol.for("effect/FiberRef/currentCacheEnabled"),()=>on(!1)),cV=(e,t)=>R(mt(t)?t:M(t),(n)=>co((r)=>{let o=new Proxy(e,{});return pr(ph,(i)=>{if(i){let c=pr(Wd,(l)=>R(l.getEither(o),(u)=>{switch(u._tag){case"Left":{if(u.left.listeners.interrupted)return R(l.invalidateWhen(o,(p)=>p.handle===u.left.handle),()=>c);return u.left.listeners.increment(),ln((p)=>R(Nt(sa(VN,p(Zn(u.left.handle)))),(d)=>(u.left.listeners.decrement(),d)))}case"Right":return u.right.listeners.increment(),ln((p)=>R(Nt(sa(lI(n,uI({request:o,result:u.right.handle,listeners:u.right.listeners,ownerId:r,state:{completed:!1}})),p(Zn(u.right.handle)))),()=>(u.right.listeners.decrement(),Zn(u.right.handle))))}}));return c}let s=new Pg;return s.increment(),R(uo(),(c)=>ko(sa(lI(n,uI({request:o,result:c,listeners:s,ownerId:r,state:{completed:!1}})),Zn(c)),Z(()=>s.decrement())))})})),lV=(e,t)=>pr(ph,(n)=>{if(n)return pr(Wd,(r)=>R(r.getEither(e),(o)=>{switch(o._tag){case"Left":return $e;case"Right":return DI(o.right.handle,t)}}));return $e}),uV=h(2,(e,t)=>rn(e,ph,t)),pV=h(2,(e,t)=>rn(e,Wd,t));var mV=q$;var Nue=aa,dh=mt,jue=AW,Bue=cP,Lue=SS,que=zW,Zue=Zk,$ue=Gc,Uue=EU,Wue=IU,Hue=Zq,Jue=$q,Vue=N1,Gue=j1,Que=e1,Kue=wU,Yue=CU,Xue=Wq,epe=Qq,mh=Io,tpe=n1,npe=BR,rpe=LR,ope=k1,ipe=P1,spe=R1,ape=OU,cpe=jR,lpe=kU,upe=PU,ppe=FU,dpe=vr,mpe=dH,fpe=Zf,ja=Xe,gpe=Ve,hpe=Qo,hV=Ye,ype=ca,wA=ur,bpe=Ec,xpe=xo,Spe=bx,vpe=Oc,wpe=S1,Tpe=E1,TA=M,CA=wu,Cpe=z1,EA=Ae,ws=Z,Ba=$e;var Epe=ms,Ipe=kq;var kpe=Di,Rpe=us,Ppe=Rq,Ape=Uf,Ope=Ej,Dpe=Pq,Mpe=Aq,_pe=Oq,zpe=Dq,Fpe=Mq,Npe=jk,jpe=xS,Bpe=r1,Lpe=C1,qpe=M1,Zpe=NJ,$pe=UJ,Upe=mA,Wpe=Nk;var Hpe=W1,Jpe=H1,Vpe=Hk,Gpe=G1,Qpe=Fq,Kpe=Ij,Ype=JU,Hd=fx,Xpe=gx,ede=ua,tde=Rj,nde=ds,rde=pa,ode=ln,ide=Vq,sde=bt,ade=wd,cde=Iq,lde=Qt,ude=kc,pde=Xq,Ur=X,dde=b1,mde=Hf,fde=Rc,gde=Cd,hde=x1,yde=yg,fh=Pu,bde=SU,xde=ux,Sde=hs,vde=ko,wde=hx,Tde=Br,Cde=qS,Ede=ZS,Ide=DU,kde=UR,Rde=ni,Pde=Fg,Ade=US,Ode=_U,Dde=BU,Mde=PW,_de=vU,zde=Nq,Fde=yS,Nde=Td,jde=OW,Bde=rv,Lde=la,Jd=co,qde=Da,IA=Dd,Zde=DW,$de=lP,Ude=ov,Wde=RU,Hde=MW,Jde=_W,Vde=uP,Gde=yx,Qde=Aj,Kde=AL,Yde=EI,Xde=$j,eme=_q,tme=gs,nme=NU,rme=mq,ome=KH,ime=YH,sme=e2,ame=XH,cme=zq,lme=vu,ume=$1,pme=Wk,dme=NW,mme=BW,fme=pP,gme=jW,hme=Zg,yme=gq,bme=fq,xme=WS,Sme=po,vme=Uq,wme=To,Tme=Nc,Cme=xv,Eme=Hc,Ime=Jc,kme=tZ,Rme=eZ,Pme=Jk,Ame=Vk,Ome=nZ,Dme=rZ,Mme=Gk,_me=Q1,zme=jq,Fme=Bq,Nme=UW,jme=Lq,Bme=qq;var Lme=v1,qme=Go,Zme=Nt,gh=ps,$me=mx;var Ume=Hq,Wme=Jq,Hme=gg,Jme=Gq,Vme=zI,Gme=SB,Qme=J1,Kme=V1,Yme=wS,Xme=od,efe=K1,tfe=Y1,Bu=R,nfe=Ic,rfe=wr,ofe=VS,ife=AU,sfe=FW,afe=HR,cfe=bg,kA=Tr,lfe=B1,ufe=L1,pfe=Uk,dfe=q1,mfe=Z1,ffe=Bk,gfe=Lk,hfe=g1,yfe=zJ,bfe=O1,xfe=dA,Sfe=fA,vfe=ZJ,wfe=gA,hh=Ac,Tfe=bS,Cfe=o1,Efe=rn,Ife=Dn,kfe=Pr,Rfe=mr,Pfe=Su,Afe=_1,Ofe=vS,Dfe=i1,Mfe=s1,_fe=hg,zfe=Wf,Ffe=$t,Nfe=On,jfe=a1,Bfe=(e,...t)=>Ta(e)(...t),Lfe=c1,qfe=qk,Zfe=l1,$fe=u1,Ufe=p1,Wfe=d1,Hfe=m1,Jfe=Eq,Vfe=bU,Gfe=f1,Qfe=Uj,Kfe=xU,Yfe=nu,Xfe=SI,ege=tu,tge=w1,nge=T1,rge=Yq,oge=I1,ige=Sd,yV=hq,sge=h(2,(e,t)=>yV(e,I2(t))),age=jU,yh=Fd,cge=rd,lge=Pc,uge=xx,pge=$R,dge=F1,mge=$k,fge=MU,gge=qR,hge=Wj,yge=X1,bge=nv,xge=IW,Sge=aP,vge=RW,bh=aH,wge=sH,Tge=cH,Cge=lH,Ege=uH,Ige=pH,kge=zU,Rge=ZR,Pge=LU,Age=qU,Oge=ZU,bV=ys,Dge=h(2,(e,t)=>bV(e,t,(n,r)=>n(r))),Mge=sa,_ge=lx,zge=dx,Fge=h((e)=>mV(e[0]),cV),Nge=lV,jge=Oj,Bge=uV,Lge=pV,qge=U1,Zge=fS,$ge=bq,Uge=GS,Wge=Dj,Hge=Mj,Jge=sZ,Vge=oZ,Gge=Qk,Qge=Kk,Kge=aZ,Yge=pZ,Xge=dZ,ehe=cZ,the=iZ,nhe=uZ,rhe=ti,ohe=gS,xV=Xk,ihe=mZ,she=VU,ahe=hS,che=fZ,lhe=gZ,uhe=(e)=>vi(e)?CA:Ur(e.value,zr),phe=h(2,(e,t)=>vi(e)?CA:Ur(t(e.value),zr)),SV=(e)=>{let t=new Map;return new Proxy(e,{get(n,r,o){if(r in n)return Reflect.get(n,r,o);if(t.has(r))return t.get(r);let i=(...d)=>Ic(n,(g)=>{if(typeof g[r]==="function")return t.set(r,(...f)=>Ic(n,(v)=>v[r](...f))),g[r](...d);return t.set(r,Ic(n,(f)=>f[r])),g[r]}),s=Ic(n,(d)=>d[r]);Object.assign(i,s);let{apply:c,bind:l,call:u}=i,p=Object.setPrototypeOf({},Object.getPrototypeOf(s));return p.apply=c,p.bind=l,p.call=u,Object.setPrototypeOf(i,p),t.set(r,i),i}})},dhe=(e)=>()=>{let t=Error.stackTraceLimit;Error.stackTraceLimit=2;let n=Error();Error.stackTraceLimit=t;function r(){}return Object.setPrototypeOf(r,Np),r.key=e,Object.defineProperty(r,"use",{get(){return(o)=>Ic(this,o)}}),Object.defineProperty(r,"stack",{get(){return n.stack}}),SV(r)},mhe=function(){return function(){let[e,t]=arguments,n="accessors"in t?t.accessors:!1,r=Error.stackTraceLimit;Error.stackTraceLimit=2;let o=Error();Error.stackTraceLimit=r;let i="unchecked",s=function(d){if(i==="unchecked"){let g=Object.getPrototypeOf(d);if(g===Object.prototype||g===null)i="plain";else{let f=Object.getPrototypeOf(this);Object.setPrototypeOf(f,g),i="patched"}}if(i==="plain")Object.assign(this,d);else if(i==="patched")return Object.setPrototypeOf(d,Object.getPrototypeOf(this)),d};s.prototype._tag=e,Object.defineProperty(s,"make",{get(){return(d)=>new this(d)}}),Object.defineProperty(s,"use",{get(){return(d)=>Ic(this,d)}}),s.key=e,Object.assign(s,Np),Object.defineProperty(s,"stack",{get(){return o.stack}});let c="dependencies"in t&&t.dependencies.length>0,l=c?"DefaultWithoutDependencies":"Default",u,p=!1;if("effect"in t)p=typeof t.effect==="function",Object.defineProperty(s,l,{get(){if(p)return function(){return Xc(s,Ur(t.effect.apply(null,arguments),(d)=>new this(d)))}.bind(this);return u??=Xc(s,Ur(t.effect,(d)=>new this(d)))}});else if("scoped"in t)p=typeof t.scoped==="function",Object.defineProperty(s,l,{get(){if(p)return function(){return el(s,Ur(t.scoped.apply(null,arguments),(d)=>new this(d)))}.bind(this);return u??=el(s,Ur(t.scoped,(d)=>new this(d)))}});else if("sync"in t)Object.defineProperty(s,l,{get(){return u??=bv(s,()=>new this(t.sync()))}});else Object.defineProperty(s,l,{get(){return u??=Nd(s,new this(t.succeed))}});if(c){let d;Object.defineProperty(s,"Default",{get(){if(p)return function(){return _u(this.DefaultWithoutDependencies.apply(null,arguments),t.dependencies)};return d??=_u(this.DefaultWithoutDependencies,t.dependencies)}})}return n===!0?SV(s):s}},fhe=function(e,...t){let n=Error.stackTraceLimit;Error.stackTraceLimit=2;let r=Error();if(Error.stackTraceLimit=n,typeof e!=="string")return fV(e.length,function(...s){let c=Error.stackTraceLimit;Error.stackTraceLimit=2;let l=Error();return Error.stackTraceLimit=c,gV({self:this,body:e,args:s,pipeables:t,spanName:"<anonymous>",spanOptions:{context:bd.context(!0)},errorDef:r,errorCall:l})});let o=e,i=t[0];return(s,...c)=>fV(s.length,{[o](...l){let u=Error.stackTraceLimit;Error.stackTraceLimit=2;let p=Error();return Error.stackTraceLimit=u,gV({self:this,body:s,args:l,pipeables:c,spanName:o,spanOptions:i,errorDef:r,errorCall:p})}}[o])};function fV(e,t){return Object.defineProperty(t,"length",{value:e,configurable:!0})}function gV(e){let t,n=void 0;if(dz(e.body))t=Mf(()=>e.body.apply(e.self,e.args));else try{t=e.body.apply(e.self,e.args)}catch(s){n=s,t=wA(s)}if(e.pipeables.length>0)try{for(let s of e.pipeables)t=s(t,...e.args)}catch(s){t=n?hV(vt(Vt(n),Vt(s))):wA(s)}let r=!1,o=()=>{if(r!==!1)return r;if(e.errorCall.stack){let s=e.errorDef.stack.trim().split(`
32
32
  `),c=e.errorCall.stack.trim().split(`
33
33
  `),l=s.slice(2).join(`
34
34
  `).trim();if(!l.includes("("))l=l.replace(/at (.*)/,"at ($1)");let u=c.slice(2).join(`
35
35
  `).trim();if(!u.includes("("))u=u.replace(/at (.*)/,"at ($1)");return r=`${l}
36
- ${u}`,r}},i=e.spanOptions&&"captureStackTrace"in e.spanOptions?e.spanOptions:{captureStackTrace:o,...e.spanOptions};return xV(t,e.spanName,i)}var ghe=id,hhe=()=>(e)=>e,yhe=()=>(e)=>e,bhe=()=>(e)=>e;var Wr={};Xr(Wr,{TypeId:()=>qv,awaitEmpty:()=>Dhe,clear:()=>Rhe,get:()=>Ehe,has:()=>Ihe,isFiberMap:()=>PA,join:()=>Ohe,make:()=>AA,makeRuntime:()=>vhe,makeRuntimePromise:()=>whe,remove:()=>khe,run:()=>Phe,runtime:()=>OA,runtimePromise:()=>kV,set:()=>Che,size:()=>Ahe,unsafeGet:()=>IV,unsafeHas:()=>$v,unsafeSet:()=>Zv});var xh=zd;var vV=Fi;var wV=vP;var qv=Symbol.for("effect/FiberMap"),PA=(e)=>ue(e,qv),xhe={[qv]:qv,[Symbol.iterator](){if(this.state._tag==="Closed")return ob();return this.state.backing[Symbol.iterator]()},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},She=(e,t)=>{let n=Object.create(xhe);return n.state={_tag:"Open",backing:e},n.deferred=t,n},AA=()=>fh(Ur(jv(),(e)=>She(Ia(),e)),(e)=>ja((t)=>{let n=e.state;if(n._tag==="Closed")return Ba;return e.state={_tag:"Closed"},Wg(Uz(n.backing,([,r])=>r),so(t.id(),Vd)).pipe(gh(e.deferred))})),vhe=()=>Bu(AA(),(e)=>OA(e)()),whe=()=>Bu(AA(),(e)=>kV(e)()),EV=-1,Vd=qb(EV,0),The=Bg(void 0,{emptyCase:Bn,failCase:Bn,dieCase:Bn,interruptCase:(e,t)=>Zp(yc(t),EV),sequentialCase:(e,t,n)=>t||n,parallelCase:(e,t,n)=>t||n}),Zv=h((e)=>PA(e[0]),(e,t,n,r)=>{if(e.state._tag==="Closed"){n.unsafeInterruptAsFork(so(r?.interruptAs??Cn,Vd));return}let o=Ut(e.state.backing,t);if(o._tag==="Some"){if(r?.onlyIfMissing===!0){n.unsafeInterruptAsFork(so(r?.interruptAs??Cn,Vd));return}else if(o.value===n)return;o.value.unsafeInterruptAsFork(so(r?.interruptAs??Cn,Vd))}Rr(e.state.backing,t,n),n.addObserver((i)=>{if(e.state._tag==="Closed")return;let s=Ut(e.state.backing,t);if(lt(s)&&n===s.value)ka(e.state.backing,t);if(og(i)&&(r?.propagateInterruption===!0?!The(i.cause):!Ng(i.cause)))Bv(e.deferred,i)})}),Che=h((e)=>PA(e[0]),(e,t,n,r)=>Jd((o)=>ws(()=>Zv(e,t,n,{...r,interruptAs:o})))),IV=h(2,(e,t)=>e.state._tag==="Closed"?Z():Ut(e.state.backing,t)),Ehe=h(2,(e,t)=>EA(()=>IV(e,t))),$v=h(2,(e,t)=>e.state._tag==="Closed"?!1:Eo(e.state.backing,t)),Ihe=h(2,(e,t)=>ws(()=>$v(e,t))),khe=h(2,(e,t)=>ja((n)=>{if(e.state._tag==="Closed")return Ba;let r=Ut(e.state.backing,t);if(r._tag==="None")return Ba;return Kc(r.value,so(n.id(),Vd))})),Rhe=(e)=>ja((t)=>{if(e.state._tag==="Closed")return Ba;return mh(e.state.backing,([,n])=>Kc(n,so(t.id(),Vd)))}),RA=function(){let e=void 0;return()=>{if(e===void 0)e=bh(Hd);return e}}(),Phe=function(){let e=arguments[0];if(dh(arguments[2]))return CV(e,arguments[1],arguments[2],arguments[3]);let t=arguments[1],n=arguments[2];return(r)=>CV(e,t,r,n)},CV=(e,t,n,r)=>ja((o)=>{if(e.state._tag==="Closed")return Hd;else if(r?.onlyIfMissing===!0&&$v(e,t))return ws(RA);let i=wV({context:o.currentContext,fiberRefs:o.getFiberRefs(),runtimeFlags:vV.runtimeFlags}),s=xh(i)(n);return Zv(e,t,s,{...r,interruptAs:o.id()}),TA(s)}),OA=(e)=>()=>Ur(yh(),(t)=>{let n=xh(t);return(r,o,i)=>{if(e.state._tag==="Closed")return RA();else if(i?.onlyIfMissing===!0&&$v(e,r))return RA();let s=n(o,i);return Zv(e,r,s,i),s}}),kV=(e)=>()=>Ur(OA(e)(),(t)=>(n,r,o)=>new Promise((i,s)=>t(n,r,o).addObserver((c)=>{if(jc(c))i(c.value);else s(jg(c.cause))}))),Ahe=(e)=>ws(()=>e.state._tag==="Closed"?0:Iu(e.state.backing)),Ohe=(e)=>Na(e.deferred),Dhe=(e)=>hh({while:()=>e.state._tag==="Open"&&Iu(e.state.backing)>0,body:()=>Ug(rb(e)[1]),step:cr});var Lu={};Xr(Lu,{TypeId:()=>Uv,add:()=>jhe,awaitEmpty:()=>$he,clear:()=>Bhe,isFiberSet:()=>DA,join:()=>Zhe,make:()=>MA,makeRuntime:()=>zhe,makeRuntimePromise:()=>Fhe,run:()=>Lhe,runtime:()=>zA,runtimePromise:()=>OV,size:()=>qhe,unsafeAdd:()=>Wv});var Uv=Symbol.for("effect/FiberSet"),DA=(e)=>ue(e,Uv),Mhe={[Uv]:Uv,[Symbol.iterator](){if(this.state._tag==="Closed")return ob();return this.state.backing[Symbol.iterator]()},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},_he=(e,t)=>{let n=Object.create(Mhe);return n.state={_tag:"Open",backing:e},n.deferred=t,n},MA=()=>fh(Ur(jv(),(e)=>_he(new Set,e)),(e)=>ja((t)=>{let n=e.state;if(n._tag==="Closed")return Ba;e.state={_tag:"Closed"};let r=n.backing;return Wg(r,so(t.id(),_A)).pipe(gh(e.deferred))})),zhe=()=>Bu(MA(),(e)=>zA(e)()),Fhe=()=>Bu(MA(),(e)=>OV(e)()),PV=-1,_A=qb(PV,0),Nhe=Bg(void 0,{emptyCase:Bn,failCase:Bn,dieCase:Bn,interruptCase:(e,t)=>Zp(yc(t),PV),sequentialCase:(e,t,n)=>t||n,parallelCase:(e,t,n)=>t||n}),Wv=h((e)=>DA(e[0]),(e,t,n)=>{if(e.state._tag==="Closed"){t.unsafeInterruptAsFork(so(n?.interruptAs??Cn,_A));return}else if(e.state.backing.has(t))return;e.state.backing.add(t),t.addObserver((r)=>{if(e.state._tag==="Closed")return;if(e.state.backing.delete(t),og(r)&&(n?.propagateInterruption===!0?!Nhe(r.cause):!Ng(r.cause)))Bv(e.deferred,r)})}),jhe=h((e)=>DA(e[0]),(e,t,n)=>Jd((r)=>ws(()=>Wv(e,t,{...n,interruptAs:r})))),Bhe=(e)=>ja((t)=>{if(e.state._tag==="Closed")return Ba;return mh(e.state.backing,(n)=>Kc(n,so(t.id(),_A)))}),AV=function(){let e=void 0;return()=>{if(e===void 0)e=bh(Hd);return e}}(),Lhe=function(){let e=arguments[0];if(!dh(arguments[1])){let t=arguments[1];return(n)=>RV(e,n,t)}return RV(e,arguments[1],arguments[2])},RV=(e,t,n)=>Jd((r)=>{if(e.state._tag==="Closed")return ws(AV);return kA(IA(t),(o)=>Wv(e,o,{...n,interruptAs:r}))}),zA=(e)=>()=>Ur(yh(),(t)=>{let n=xh(t);return(r,o)=>{if(e.state._tag==="Closed")return AV();let i=n(r,o);return Wv(e,i),i}}),OV=(e)=>()=>Ur(zA(e)(),(t)=>(n,r)=>new Promise((o,i)=>t(n,r).addObserver((s)=>{if(jc(s))o(s.value);else i(jg(s.cause))}))),qhe=(e)=>ws(()=>e.state._tag==="Closed"?0:e.state.backing.size),Zhe=(e)=>Na(e.deferred),$he=(e)=>hh({while:()=>e.state._tag==="Open"&&e.state.backing.size>0,body:()=>Ug(rb(e)),step:cr});var Sh={};Xr(Sh,{CurrentMemoMap:()=>Jhe,LayerTypeId:()=>Whe,MemoMapTypeId:()=>Hhe,annotateLogs:()=>Qhe,annotateSpans:()=>Khe,build:()=>Yhe,buildWithMemoMap:()=>ybe,buildWithScope:()=>Xhe,catchAll:()=>eye,catchAllCause:()=>tye,context:()=>FV,die:()=>nye,dieSync:()=>rye,discard:()=>oye,effect:()=>iye,effectContext:()=>aye,effectDiscard:()=>sye,empty:()=>cye,ensureErrorType:()=>Sbe,ensureRequirementsType:()=>vbe,ensureSuccessType:()=>xbe,extendScope:()=>lye,fail:()=>uye,failCause:()=>dye,failCauseSync:()=>mye,failSync:()=>pye,fiberRefLocallyScopedWith:()=>_ye,flatMap:()=>fye,flatten:()=>gye,fresh:()=>hye,function:()=>bye,isFresh:()=>Ghe,isLayer:()=>Vhe,launch:()=>xye,locally:()=>Oye,locallyEffect:()=>Aye,locallyScoped:()=>Mye,locallyWith:()=>Dye,makeMemoMap:()=>hbe,map:()=>NV,mapError:()=>Sye,match:()=>vye,matchCause:()=>wye,memoize:()=>Tye,merge:()=>Cye,mergeAll:()=>Eye,mock:()=>yye,orDie:()=>Iye,orElse:()=>kye,parentSpan:()=>nbe,passthrough:()=>Rye,project:()=>Pye,provide:()=>jV,provideMerge:()=>Qye,retry:()=>zye,scope:()=>Fye,scoped:()=>Nye,scopedContext:()=>jye,scopedDiscard:()=>Bi,service:()=>Bye,setClock:()=>ebe,setConfigProvider:()=>tbe,setRandom:()=>rbe,setRequestBatching:()=>obe,setRequestCache:()=>sbe,setRequestCaching:()=>ibe,setScheduler:()=>abe,setTracer:()=>lbe,setTracerEnabled:()=>ube,setTracerTiming:()=>pbe,setUnhandledErrorLogLevel:()=>dbe,setVersionMismatchErrorLogLevel:()=>mbe,span:()=>cbe,succeed:()=>Lye,succeedContext:()=>qye,suspend:()=>Zye,sync:()=>$ye,syncContext:()=>Uye,tap:()=>Wye,tapError:()=>Hye,tapErrorCause:()=>Jye,toRuntime:()=>Vye,toRuntimeWithMemoMap:()=>Gye,unwrapEffect:()=>Yye,unwrapScoped:()=>Xye,updateService:()=>bbe,withParentSpan:()=>gbe,withSpan:()=>fbe,zipWith:()=>Kye});var DV=(e)=>Mu(WS(e)),MV=(e)=>za(no(kr,e)),_V=(e,t)=>(t=Co(t),el(kr,t?.onEnd?Tr(ti(e,t),(n)=>hs((r)=>t.onEnd(n,r))):ti(e,t))),zV=(e)=>Mu(GS(e));var Whe=cv,Hhe=Jg,Jhe=TP,Vhe=Gg,Ghe=CP,Qhe=VH,Khe=GH,Yhe=yH,Xhe=Yc,eye=Du,tye=kP,FV=uv,nye=RP,rye=xH,oye=SH,iye=Xc,sye=TH,aye=Ar,cye=LH,lye=vH,uye=PP,pye=AP,dye=Qg,mye=pv,fye=Ss,gye=wH,hye=OP,yye=PH,bye=kH;var xye=RH,NV=fv,Sye=AH,vye=hv,wye=gv,Tye=OH,Cye=DP,Eye=yv,Iye=DH,kye=MH,Rye=_H,Pye=zH,Aye=dv,Oye=CH,Dye=mv,Mye=EH,_ye=IH,zye=FH,Fye=jH,Nye=el,Bi=Mu,jye=Kg,Bye=BH,Lye=Nd,qye=za,Zye=Yg,$ye=bv,Uye=qH,Wye=ZH,Hye=$H,Jye=UH,Vye=WH,Gye=HH,jV=_u,Qye=JH,Kye=MP,Yye=_P,Xye=Vg,ebe=(e)=>Bi(mr(Kt,vt(Zr,e))),tbe=DV,nbe=MV,rbe=(e)=>Bi(mr(Kt,vt(Sa,e))),obe=(e)=>Bi(Pr(Jf,e)),ibe=(e)=>Bi(Pr(ph,e)),sbe=(e)=>Bi(mt(e)?R(e,(t)=>Pr(Wd,t)):Pr(Wd,e)),abe=(e)=>Bi(Pr(ya,e)),cbe=_V,lbe=zV,ube=(e)=>Bi(Pr(Gf,e)),pbe=(e)=>Bi(Pr(Mc,e)),dbe=(e)=>Bi(Pr(Vf,e)),mbe=(e)=>Bi(Pr(Cx,e)),fbe=QH,gbe=av,hbe=IP,ybe=lv,bbe=h(3,(e,t,n)=>jV(e,NV(FV(),(r)=>vt(r,t,n($o(r,t)))))),xbe=()=>(e)=>e,Sbe=()=>(e)=>e,vbe=()=>(e)=>e;var Ts={};Xr(Ts,{CurrentIterationMetadata:()=>fSe,ScheduleDriverTypeId:()=>Tbe,ScheduleTypeId:()=>wbe,addDelay:()=>Ibe,addDelayEffect:()=>kbe,andThen:()=>Rbe,andThenEither:()=>Pbe,as:()=>Abe,asVoid:()=>Obe,bothInOut:()=>Dbe,check:()=>Mbe,checkEffect:()=>_be,collectAllInputs:()=>zbe,collectAllOutputs:()=>Fbe,collectUntil:()=>Nbe,collectUntilEffect:()=>jbe,collectWhile:()=>Bbe,collectWhileEffect:()=>Lbe,compose:()=>qbe,count:()=>Wbe,cron:()=>Hbe,dayOfMonth:()=>Qbe,dayOfWeek:()=>Kbe,delayed:()=>Ybe,delayedEffect:()=>Xbe,delayedSchedule:()=>exe,delays:()=>txe,driver:()=>oxe,duration:()=>ixe,either:()=>sxe,eitherWith:()=>axe,elapsed:()=>cxe,ensuring:()=>lxe,exponential:()=>uxe,fibonacci:()=>pxe,fixed:()=>dxe,forever:()=>mxe,fromDelay:()=>fxe,fromDelays:()=>gxe,fromFunction:()=>hxe,hourOfDay:()=>Gbe,identity:()=>yxe,intersect:()=>xxe,intersectWith:()=>Sxe,isSchedule:()=>Ebe,jittered:()=>vxe,jitteredWith:()=>wxe,linear:()=>Txe,makeWithState:()=>Cbe,map:()=>Cxe,mapBoth:()=>nxe,mapBothEffect:()=>rxe,mapEffect:()=>Exe,mapInput:()=>Zbe,mapInputContext:()=>Ube,mapInputEffect:()=>$be,minuteOfHour:()=>Vbe,modifyDelay:()=>Ixe,modifyDelayEffect:()=>kxe,onDecision:()=>Rxe,once:()=>Pxe,passthrough:()=>bxe,provideContext:()=>Axe,provideService:()=>Oxe,recurUntil:()=>Dxe,recurUntilEffect:()=>Mxe,recurUntilOption:()=>_xe,recurUpTo:()=>zxe,recurWhile:()=>Fxe,recurWhileEffect:()=>Nxe,recurs:()=>jxe,reduce:()=>Bxe,reduceEffect:()=>Lxe,repeatForever:()=>qxe,repetitions:()=>Zxe,resetAfter:()=>$xe,resetWhen:()=>Uxe,run:()=>Wxe,secondOfMinute:()=>Jbe,spaced:()=>Hxe,stop:()=>Jxe,succeed:()=>Vxe,sync:()=>Gxe,tapInput:()=>Qxe,tapOutput:()=>Kxe,unfold:()=>Yxe,union:()=>Xxe,unionWith:()=>eSe,untilInput:()=>tSe,untilInputEffect:()=>nSe,untilOutput:()=>rSe,untilOutputEffect:()=>oSe,upTo:()=>iSe,whileInput:()=>sSe,whileInputEffect:()=>aSe,whileOutput:()=>cSe,whileOutputEffect:()=>lSe,windowed:()=>uSe,zipLeft:()=>pSe,zipRight:()=>dSe,zipWith:()=>mSe});var wbe=Ev,Tbe=UP,Cbe=ht,Ebe=Iv,Ibe=kv,kbe=WP,Rbe=D2,Pbe=HP,Abe=M2,Obe=Rv,Dbe=_2,Mbe=Zd,_be=Nu,zbe=z2,Fbe=ju,Nbe=F2,jbe=N2,Bbe=j2,Lbe=B2,qbe=L2,Zbe=JP,$be=Pv,Ube=q2,Wbe=LJ,Hbe=Z2,Jbe=yJ,Vbe=aJ,Gbe=oJ,Qbe=$2,Kbe=U2,Ybe=W2,Xbe=Av,exe=oh,txe=H2,nxe=J2,rxe=V2,oxe=ih,ixe=VP,sxe=G2,axe=Q2,cxe=Fv,lxe=K2,uxe=Y2,pxe=X2,dxe=eJ,mxe=ji,fxe=tJ,gxe=nJ,hxe=rJ,yxe=Fa,bxe=KP,xxe=tl,Sxe=GP,vxe=iJ,wxe=QP,Txe=sJ,Cxe=tr,Exe=Ov,Ixe=cJ,kxe=sh,Rxe=lJ,Pxe=Nv,Axe=uJ,Oxe=pJ,Dxe=YP,Mxe=XP,_xe=dJ,zxe=eA,Fxe=tA,Nxe=nA,jxe=$d,Bxe=Dv,Lxe=rA,qxe=ji,Zxe=mJ,$xe=fJ,Uxe=oA,Wxe=gJ,Hxe=bJ,Jxe=qJ,Vxe=xJ,Gxe=SJ,Qxe=vJ,Kxe=wJ,Yxe=ah,Xxe=iA,eSe=Mv,tSe=sA,nSe=ch,rSe=aA,oSe=TJ,iSe=CJ,sSe=cA,aSe=lh,cSe=_v,lSe=EJ,uSe=IJ,pSe=lA,dSe=kJ,mSe=RJ,fSe=Fu;function mqe(e,t){return Sh.scoped(e,de.acquireRelease(de.sync(t),(n)=>de.sync(()=>{n.close()})).pipe(de.map((n)=>n.service)))}var FA=a.record(a.string(),a.unknown());var gSe=a.object({id:a.string(),sessionId:a.string(),interfaceType:a.string(),channelId:a.string(),personId:a.string().optional(),channelName:a.string().optional(),startedAt:a.string(),lastActiveAt:a.string(),createdAt:a.string(),updatedAt:a.string(),metadata:FA}),hSe=a.object({id:a.string(),conversationId:a.string(),role:Gd,content:a.string(),timestamp:a.string(),metadata:FA});var NA=a.object({name:a.string(),role:a.string(),purpose:a.string(),values:a.array(a.string())}),jA=a.object({name:a.string(),organization:a.string().optional(),description:a.string().optional(),avatar:a.string().optional(),website:a.string().optional(),email:a.string().optional(),socialLinks:a.array(a.object({platform:a.enum(["github","instagram","linkedin","email","website"]),url:a.string(),label:a.string().optional()})).optional()});var Qd=Hv(BV(),1);function Cqe(e){return Object.entries(e)}function Eqe(e,t){return t in e}function La(e,t){let n=Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0&&r!==null));if(Object.keys(n).length===0)return e;return Qd.default.stringify(e,n)}function BA(e){if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(BA);if(e!==null&&typeof e==="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=BA(r);return t}return e}function nr(e,t,n){let{content:r,data:o}=Qd.default(e,n?.cache===!1?{}:void 0),i=BA(o);return{content:r.trim(),metadata:t.parse(i)}}function vh(e){if(Object.keys(e).length===0)return"";let n=Qd.default.stringify("",e).match(/^---\n[\s\S]*?\n---/);return n?n[0]:""}function LV(e){if(!Cs(e))return e;let{visibility:t,...n}=e;return n}var ySe=a.object({visibility:a.enum(["public","shared","restricted","private"]).optional().transform((e)=>{if(e===void 0)return;return e==="private"?"restricted":e})});function Jv(e){let t=Qd.default(e);return ySe.parse(t.data).visibility}function qV(e){let n=e.match(/^---\r?\n[\s\S]*?\r?\n---/)?.[0].match(/^visibility:/m);return n!==null&&n!==void 0}function Kd(e,t){if(t==="public"&&!qV(e))return e;let n=Qd.default(e),r=Object.fromEntries(Object.entries(n.data).filter(([o])=>o!=="visibility"));if(t!=="public")r.visibility=t;return La(n.content.trim(),r)}var bSe=a.looseObject({issues:a.array(a.looseObject({message:a.string()}))}),ZV=a.object({name:a.literal("EntityValidationError"),entityType:a.string(),originalError:a.unknown()});class Li extends Error{entityType;originalError;phase;constructor(e,t,n="schema"){super(`Invalid entity data for ${e}: ${et(t)}`);this.name="EntityValidationError",this.entityType=e,this.originalError=t,this.phase=n}}function Vv(e){return bSe.safeParse(e).success}function $V(e){return e instanceof Li||ZV.safeParse(e).success||Vv(e)}function Yd(e,t,n="schema"){if(t instanceof Li)return t.phase===n?t:new Li(e,t.originalError,n);let r=ZV.safeParse(t);if(r.success)return new Li(e,r.data.originalError,n);return Vv(t)?new Li(e,t,n):void 0}var xSe={generateBodyTemplate:()=>""},LA=a.record(a.string(),a.unknown());function UV(e){return{parse:(t)=>e.parse(LV(t))}}class nl{entityType;purpose;schema;frontmatterSchema;isSingleton;hasBody;supportsCoverImage;publishedStatuses;fmSchema;bodyFormatter;constructor(e){if(this.entityType=e.entityType,this.purpose=e.purpose,this.schema=e.schema,this.frontmatterSchema=e.frontmatterSchema,this.fmSchema=e.frontmatterSchema,this.bodyFormatter=e.bodyFormatter??xSe,e.isSingleton!==void 0)this.isSingleton=e.isSingleton;if(e.hasBody!==void 0)this.hasBody=e.hasBody;if(e.supportsCoverImage!==void 0)this.supportsCoverImage=e.supportsCoverImage;if(e.publishedStatuses!==void 0)this.publishedStatuses=e.publishedStatuses}toMarkdown(e){let t=this.renderBody(e),r={...this.readExistingFrontmatter(e.content)},o=Object.keys(this.frontmatterSchema.shape);for(let[i,s]of Object.entries(e.metadata))if(o.includes(i))r[i]=s;return this.buildMarkdown(t,r)}renderBody(e){return this.extractBody(e.content)}readExistingFrontmatter(e){try{return nr(e,LA).metadata}catch{return{}}}extractMetadata(e){return e.metadata}parseFrontMatter(e,t){try{return nr(e,UV(t)).metadata}catch(n){throw new Li(this.entityType,n)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter(e){return vh(LA.parse(e.metadata))}extractBody(e){try{return nr(e,LA).content}catch{return e}}parseFrontmatter(e){try{return nr(e,UV(this.fmSchema)).metadata}catch(t){throw new Li(this.entityType,t)}}buildMarkdown(e,t){return La(e,t)}}var Es=a.enum(["public","shared","restricted"]),Is=a.union([Es,a.literal("private")]).optional().transform((e)=>{if(e===void 0)return"public";if(e==="private")return"restricted";return e});function Gv(e){return Is.parse(e)}var SSe={public:["public"],shared:["public","shared"],restricted:["public","shared","restricted"]};function ks(e){return SSe[e]}function Qv(e,t){return ks(t).includes(e??"public")}function Rs(e){if(e==="admin")return"restricted";if(e==="trusted")return"shared";return"public"}function Xd(e,t){return Qv(t,Rs(e))}var ai=a.object({id:a.string(),entityType:a.string(),content:a.string(),created:a.string().datetime(),updated:a.string().datetime(),visibility:Is,metadata:a.record(a.string(),a.unknown()),contentHash:a.string()}),vSe=a.enum(["public","shared","restricted"]),WV=a.object({id:a.string(),entityType:a.string(),content:a.string(),created:a.string().datetime(),updated:a.string().datetime(),visibility:a.union([vSe,a.literal("private")]).optional().transform((e)=>{if(e===void 0)return"public";if(e==="private")return"restricted";return e}),metadata:a.record(a.string(),a.unknown()),contentHash:a.string()}),Kv=a.object({}),wSe=a.object({mediaType:a.string(),url:a.string(),downloadUrl:a.string().optional(),previewUrl:a.string().optional(),filename:a.string().optional(),sizeBytes:a.number().optional(),source:a.object({entityType:a.string().optional(),entityId:a.string().optional(),attachmentType:a.string().optional()}).optional()});class qA extends nl{constructor(){super({entityType:"note",purpose:"A generic entity with no specialized adapter.",schema:ai,frontmatterSchema:Kv})}toMarkdown(e){return e.content}fromMarkdown(e){return{content:e}}}import{createHash as TSe}from"crypto";var HV=/^[a-f0-9]{64}$/,JV=/^asset:\/\/sha256\/([a-f0-9]{64})$/,VV="asset://sha256/",ZA=104857600,wh=a.custom((e)=>typeof e==="string"&&JV.test(e),{message:"Invalid SHA-256 asset reference"}),GV=a.object({ref:wh,digest:a.string().regex(HV),sizeBytes:a.number().int().nonnegative()}).refine((e)=>Zu(e.ref)===e.digest,{message:"Asset reference and digest must match",path:["digest"]});function qu(e){return wh.parse(e)}function Zu(e){return qu(e).slice(VV.length)}function Th(e){return TSe("sha256").update(e).digest("hex")}function $A(e){if(GV.parse(e),!(e.bytes instanceof Uint8Array))throw Error("Prepared asset bytes must be a Uint8Array");if(e.bytes.byteLength!==e.sizeBytes)throw Error(`Prepared asset size mismatch: declared ${e.sizeBytes} bytes, received ${e.bytes.byteLength}`);let t=Th(e.bytes);if(t!==e.digest)throw Error(`Prepared asset digest mismatch: expected ${e.digest}, received ${t}`)}var z=Symbol.for("drizzle:entityKind");function ee(e,t){if(!e||typeof e!=="object")return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,z))throw Error(`Class "${t.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 n=Object.getPrototypeOf(e).constructor;if(n)while(n){if(z in n&&n[z]===t[z])return!0;n=Object.getPrototypeOf(n)}return!1}class It{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[z]="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(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class Ch{static[z]="ColumnBuilder";config;constructor(e,t,n){this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){if(this.config.name!=="")return;this.config.name=e}}var Or=Symbol.for("drizzle:Name");class UA{static[z]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,t){if(this.reference=()=>{let{name:n,columns:r,foreignColumns:o}=e();return{name:n,columns:r,foreignTable:o[0].table,foreignColumns:o}},t)this._onUpdate=t.onUpdate,this._onDelete=t.onDelete}onUpdate(e){return this._onUpdate=e===void 0?"no action":e,this}onDelete(e){return this._onDelete=e===void 0?"no action":e,this}build(e){return new QV(e,this)}}class QV{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[z]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:n}=this.reference(),r=t.map((s)=>s.name),o=n.map((s)=>s.name),i=[this.table[Or],...r,n[0].table[Or],...o];return e??`${i.join("_")}_fk`}}function Yv(e,...t){return e(...t)}function WA(e,t){return`${e[Or]}_${t.join("_")}_unique`}class KV{constructor(e,t){this.name=t,this.columns=e}static[z]="PgUniqueConstraintBuilder";columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new YV(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class CSe{static[z]="PgUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new KV(e,this.name)}}class YV{constructor(e,t,n,r){this.table=e,this.columns=t,this.name=r??WA(this.table,this.columns.map((o)=>o.name)),this.nullsNotDistinct=n}static[z]="PgUniqueConstraint";columns;name;nullsNotDistinct=!1;getName(){return this.name}}function XV(e,t,n){for(let r=t;r<e.length;r++){let o=e[r];if(o==="\\"){r++;continue}if(o==='"')return[e.slice(t,r).replace(/\\/g,""),r+1];if(n)continue;if(o===","||o==="}")return[e.slice(t,r).replace(/\\/g,""),r]}return[e.slice(t).replace(/\\/g,""),e.length]}function eG(e,t=0){let n=[],r=t,o=!1;while(r<e.length){let i=e[r];if(i===","){if(o||r===t)n.push("");o=!0,r++;continue}if(o=!1,i==="\\"){r+=2;continue}if(i==='"'){let[l,u]=XV(e,r+1,!0);n.push(l),r=u;continue}if(i==="}")return[n,r+1];if(i==="{"){let[l,u]=eG(e,r+1);n.push(l),r=u;continue}let[s,c]=XV(e,r,!1);n.push(s),r=c}return[n,r]}function tG(e){let[t]=eG(e,1);return t}function HA(e){return`{${e.map((t)=>{if(Array.isArray(t))return HA(t);if(typeof t==="string")return`"${t.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${t}`}).join(",")}}`}class Eh extends Ch{foreignKeyConfigs=[];static[z]="PgColumnBuilder";array(e){return new rG(this.config.name,this,e)}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e,t){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=t?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:n,actions:r})=>Yv((o,i)=>{let s=new UA(()=>{let c=o();return{columns:[e],foreignColumns:[c]}});if(i.onUpdate)s.onUpdate(i.onUpdate);if(i.onDelete)s.onDelete(i.onDelete);return s.build(t)},n,r))}buildExtraConfigColumn(e){return new nG(e,this.config)}}class em extends It{constructor(e,t){if(!t.uniqueName)t.uniqueName=WA(e,[t.name]);super(e,t);this.table=e}static[z]="PgColumn"}class nG extends em{static[z]="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(e){return this.indexConfig.opClass=e,this}}class ESe{static[z]="IndexedColumn";constructor(e,t,n,r){this.name=e,this.keyAsName=t,this.type=n,this.indexConfig=r}name;keyAsName;type;indexConfig}class rG extends Eh{static[z]="PgArrayBuilder";constructor(e,t,n){super(e,"array","PgArray");this.config.baseBuilder=t,this.config.size=n}build(e){let t=this.config.baseBuilder.build(e);return new JA(e,this.config,t)}}class JA extends em{constructor(e,t,n,r){super(e,t);this.baseColumn=n,this.range=r,this.size=t.size}size;static[z]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(e){if(typeof e==="string")e=tG(e);return e.map((t)=>this.baseColumn.mapFromDriverValue(t))}mapToDriverValue(e,t=!1){let n=e.map((r)=>r===null?null:ee(this.baseColumn,JA)?this.baseColumn.mapToDriverValue(r,!0):this.baseColumn.mapToDriverValue(r));if(t)return n;return HA(n)}}class ISe extends Eh{static[z]="PgEnumObjectColumnBuilder";constructor(e,t){super(e,"string","PgEnumObjectColumn");this.config.enum=t}build(e){return new iG(e,this.config)}}class iG extends em{static[z]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t);this.enum=t.enum}getSQLType(){return this.enum.enumName}}var oG=Symbol.for("drizzle:isPgEnum");function sG(e){return!!e&&typeof e==="function"&&oG in e&&e[oG]===!0}class kSe extends Eh{static[z]="PgEnumColumnBuilder";constructor(e,t){super(e,"string","PgEnumColumn");this.config.enum=t}build(e){return new aG(e,this.config)}}class aG extends em{static[z]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t);this.enum=t.enum}getSQLType(){return this.enum.enumName}}class un{static[z]="Subquery";constructor(e,t,n,r=!1,o=[]){this._={brand:"Subquery",sql:e,selectedFields:t,alias:n,isWith:r,usedTables:o}}}class Ih extends un{static[z]="WithSubquery"}var cG="0.45.2";var VA,GA,lG={startActiveSpan(e,t){if(!VA)return t();if(!GA)GA=VA.trace.getTracer("drizzle-orm",cG);return Yv((n,r)=>r.startActiveSpan(e,(o)=>{try{return t(o)}catch(i){throw o.setStatus({code:n.SpanStatusCode.ERROR,message:i instanceof Error?i.message:"Unknown error"}),i}finally{o.end()}}),VA,GA)}};var pn=Symbol.for("drizzle:ViewBaseConfig");var Xv=Symbol.for("drizzle:Schema"),ew=Symbol.for("drizzle:Columns"),uG=Symbol.for("drizzle:ExtraConfigColumns"),QA=Symbol.for("drizzle:OriginalName"),KA=Symbol.for("drizzle:BaseName"),kh=Symbol.for("drizzle:IsAlias"),pG=Symbol.for("drizzle:ExtraConfigBuilder"),RSe=Symbol.for("drizzle:IsDrizzleTable");class Se{static[z]="Table";static Symbol={Name:Or,Schema:Xv,OriginalName:QA,Columns:ew,ExtraConfigColumns:uG,BaseName:KA,IsAlias:kh,ExtraConfigBuilder:pG};[Or];[QA];[Xv];[ew];[uG];[KA];[kh]=!1;[RSe]=!0;[pG]=void 0;constructor(e,t,n){this[Or]=this[QA]=e,this[Xv]=t,this[KA]=n}}function rl(e){return e[Or]}function $u(e){return`${e[Xv]??"public"}.${e[Or]}`}class PSe{static[z]="FakePrimitiveParam"}function YA(e){return e!==null&&e!==void 0&&typeof e.getSQL==="function"}function ASe(e){let t={sql:"",params:[]};for(let n of e)if(t.sql+=n.sql,t.params.push(...n.params),n.typings?.length){if(!t.typings)t.typings=[];t.typings.push(...n.typings)}return t}class Un{static[z]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new De([this])}}class De{constructor(e){this.queryChunks=e;for(let t of e)if(ee(t,Se)){let n=t[Se.Symbol.Schema];this.usedTables.push(n===void 0?t[Se.Symbol.Name]:n+"."+t[Se.Symbol.Name])}}static[z]="SQL";decoder=mG;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return lG.startActiveSpan("drizzle.buildSQL",(t)=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(e,t){let n=Object.assign({},t,{inlineParams:t.inlineParams||this.shouldInlineParams,paramStartIndex:t.paramStartIndex||{value:0}}),{casing:r,escapeName:o,escapeParam:i,prepareTyping:s,inlineParams:c,paramStartIndex:l}=n;return ASe(e.map((u)=>{if(ee(u,Un))return{sql:u.value.join(""),params:[]};if(ee(u,tw))return{sql:o(u.value),params:[]};if(u===void 0)return{sql:"",params:[]};if(Array.isArray(u)){let p=[new Un("(")];for(let[d,g]of u.entries())if(p.push(g),d<u.length-1)p.push(new Un(", "));return p.push(new Un(")")),this.buildQueryFromSourceParams(p,n)}if(ee(u,De))return this.buildQueryFromSourceParams(u.queryChunks,{...n,inlineParams:c||u.shouldInlineParams});if(ee(u,Se)){let p=u[Se.Symbol.Schema],d=u[Se.Symbol.Name];return{sql:p===void 0||u[kh]?o(d):o(p)+"."+o(d),params:[]}}if(ee(u,It)){let p=r.getColumnCasing(u);if(t.invokeSource==="indexes")return{sql:o(p),params:[]};let d=u.table[Se.Symbol.Schema];return{sql:u.table[kh]||d===void 0?o(u.table[Se.Symbol.Name])+"."+o(p):o(d)+"."+o(u.table[Se.Symbol.Name])+"."+o(p),params:[]}}if(ee(u,ci)){let p=u[pn].schema,d=u[pn].name;return{sql:p===void 0||u[pn].isAlias?o(d):o(p)+"."+o(d),params:[]}}if(ee(u,Po)){if(ee(u.value,ol))return{sql:i(l.value++,u),params:[u],typings:["none"]};let p=u.value===null?null:u.encoder.mapToDriverValue(u.value);if(ee(p,De))return this.buildQueryFromSourceParams([p],n);if(c)return{sql:this.mapInlineParam(p,n),params:[]};let d=["none"];if(s)d=[s(u.encoder)];return{sql:i(l.value++,p),params:[p],typings:d}}if(ee(u,ol))return{sql:i(l.value++,u),params:[u],typings:["none"]};if(ee(u,De.Aliased)&&u.fieldAlias!==void 0)return{sql:o(u.fieldAlias),params:[]};if(ee(u,un)){if(u._.isWith)return{sql:o(u._.alias),params:[]};return this.buildQueryFromSourceParams([new Un("("),u._.sql,new Un(") "),new tw(u._.alias)],n)}if(sG(u)){if(u.schema)return{sql:o(u.schema)+"."+o(u.enumName),params:[]};return{sql:o(u.enumName),params:[]}}if(YA(u)){if(u.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([u.getSQL()],n);return this.buildQueryFromSourceParams([new Un("("),u.getSQL(),new Un(")")],n)}if(c)return{sql:this.mapInlineParam(u,n),params:[]};return{sql:i(l.value++,u),params:[u],typings:["none"]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return"null";if(typeof e==="number"||typeof e==="boolean")return e.toString();if(typeof e==="string")return t(e);if(typeof e==="object"){let n=e.toString();if(n==="[object Object]")return t(JSON.stringify(e));return t(n)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){if(e===void 0)return this;return new De.Aliased(this,e)}mapWith(e){return this.decoder=typeof e==="function"?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class tw{constructor(e){this.value=e}static[z]="Name";brand;getSQL(){return new De([this])}}function dG(e){return typeof e==="object"&&e!==null&&"mapToDriverValue"in e&&typeof e.mapToDriverValue==="function"}var mG={mapFromDriverValue:(e)=>e},fG={mapToDriverValue:(e)=>e},Z1e={...mG,...fG};class Po{constructor(e,t=fG){this.value=e,this.encoder=t}static[z]="Param";brand;getSQL(){return new De([this])}}function S(e,...t){let n=[];if(t.length>0||e.length>0&&e[0]!=="")n.push(new Un(e[0]));for(let[r,o]of t.entries())n.push(o,new Un(e[r+1]));return new De(n)}((e)=>{function t(){return new De([])}e.empty=t;function n(l){return new De(l)}e.fromList=n;function r(l){return new De([new Un(l)])}e.raw=r;function o(l,u){let p=[];for(let[d,g]of l.entries()){if(d>0&&u!==void 0)p.push(u);p.push(g)}return new De(p)}e.join=o;function i(l){return new tw(l)}e.identifier=i;function s(l){return new ol(l)}e.placeholder=s;function c(l,u){return new Po(l,u)}e.param=c})(S||(S={}));((e)=>{class t{constructor(n,r){this.sql=n,this.fieldAlias=r}static[z]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}}e.Aliased=t})(De||(De={}));class ol{constructor(e){this.name=e}static[z]="Placeholder";getSQL(){return new De([this])}}function Rh(e,t){return e.map((n)=>{if(ee(n,ol)){if(!(n.name in t))throw Error(`No value for placeholder "${n.name}" was provided`);return t[n.name]}if(ee(n,Po)&&ee(n.value,ol)){if(!(n.value.name in t))throw Error(`No value for placeholder "${n.value.name}" was provided`);return n.encoder.mapToDriverValue(t[n.value.name])}return n})}var OSe=Symbol.for("drizzle:IsDrizzleView");class ci{static[z]="View";[pn];[OSe]=!0;constructor({name:e,schema:t,selectedFields:n,query:r}){this[pn]={name:e,originalName:e,schema:t,selectedFields:n,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new De([this])}}It.prototype.getSQL=function(){return new De([this])};Se.prototype.getSQL=function(){return new De([this])};un.prototype.getSQL=function(){return new De([this])};class tm{constructor(e){this.table=e}static[z]="ColumnAliasProxyHandler";get(e,t){if(t==="table")return this.table;return e[t]}}class Ph{constructor(e,t){this.alias=e,this.replaceOriginalName=t}static[z]="TableAliasProxyHandler";get(e,t){if(t===Se.Symbol.IsAlias)return!0;if(t===Se.Symbol.Name)return this.alias;if(this.replaceOriginalName&&t===Se.Symbol.OriginalName)return this.alias;if(t===pn)return{...e[pn],name:this.alias,isAlias:!0};if(t===Se.Symbol.Columns){let r=e[Se.Symbol.Columns];if(!r)return r;let o={};return Object.keys(r).map((i)=>{o[i]=new Proxy(r[i],new tm(new Proxy(e,this)))}),o}let n=e[t];if(ee(n,It))return new Proxy(n,new tm(new Proxy(e,this)));return n}}class DSe{constructor(e){this.alias=e}static[z]="RelationTableAliasProxyHandler";get(e,t){if(t==="sourceTable")return Ah(e.sourceTable,this.alias);return e[t]}}function Ah(e,t){return new Proxy(e,new Ph(t,!1))}function Ps(e,t){return new Proxy(e,new tm(new Proxy(e.table,new Ph(t,!1))))}function XA(e,t){return new De.Aliased(Oh(e.sql,t),e.fieldAlias)}function Oh(e,t){return S.join(e.queryChunks.map((n)=>{if(ee(n,It))return Ps(n,t);if(ee(n,De))return Oh(n,t);if(ee(n,De.Aliased))return XA(n,t);return n}))}class nm extends Error{static[z]="DrizzleError";constructor({message:e,cause:t}){super(e);this.name="DrizzleError",this.cause=t}}class qa extends Error{constructor(e,t,n){super(`Failed query: ${e}
37
- params: ${t}`);if(this.query=e,this.params=t,this.cause=n,Error.captureStackTrace(this,qa),n)this.cause=n}}class eO extends nm{static[z]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class gG{static[z]="ConsoleLogWriter";write(e){console.log(e)}}class tO{static[z]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new gG}logQuery(e,t){let n=t.map((o)=>{try{return JSON.stringify(o)}catch{return String(o)}}),r=n.length?` -- params: [${n.join(", ")}]`:"";this.writer.write(`Query: ${e}${r}`)}}class nO{static[z]="NoopLogger";logQuery(){}}class Hr{static[z]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}function rO(e,t,n){let r={},o=e.reduce((i,{path:s,field:c},l)=>{let u;if(ee(c,It))u=c;else if(ee(c,De))u=c.decoder;else if(ee(c,un))u=c._.sql.decoder;else u=c.sql.decoder;let p=i;for(let[d,g]of s.entries())if(d<s.length-1){if(!(g in p))p[g]={};p=p[g]}else{let f=t[l],v=p[g]=f===null?null:u.mapFromDriverValue(f);if(n&&ee(c,It)&&s.length===2){let w=s[0];if(!(w in r))r[w]=v===null?rl(c.table):!1;else if(typeof r[w]==="string"&&r[w]!==rl(c.table))r[w]=!1}}return i},{});if(n&&Object.keys(r).length>0){for(let[i,s]of Object.entries(r))if(typeof s==="string"&&!n[s])o[i]=null}return o}function li(e,t){return Object.entries(e).reduce((n,[r,o])=>{if(typeof r!=="string")return n;let i=t?[...t,r]:[r];if(ee(o,It)||ee(o,De)||ee(o,De.Aliased)||ee(o,un))n.push({path:i,field:o});else if(ee(o,Se))n.push(...li(o[Se.Symbol.Columns],i));else n.push(...li(o,i));return n},[])}function Dh(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let[o,i]of n.entries())if(i!==r[o])return!1;return!0}function nw(e,t){let n=Object.entries(t).filter(([,r])=>r!==void 0).map(([r,o])=>{if(ee(o,De)||ee(o,It))return[r,o];else return[r,new Po(o,e[Se.Symbol.Columns][r])]});if(n.length===0)throw Error("No values to set");return Object.fromEntries(n)}function hG(e,t){for(let n of t)for(let r of Object.getOwnPropertyNames(n.prototype)){if(r==="constructor")continue;Object.defineProperty(e.prototype,r,Object.getOwnPropertyDescriptor(n.prototype,r)||Object.create(null))}}function rm(e){return e[Se.Symbol.Columns]}function Mh(e){return ee(e,un)?e._.alias:ee(e,ci)?e[pn].name:ee(e,De)?void 0:e[Se.Symbol.IsAlias]?e[Se.Symbol.Name]:e[Se.Symbol.BaseName]}function As(e,t){return{name:typeof e==="string"&&e.length>0?e:"",config:typeof e==="object"?e:t}}function yG(e){if(typeof e!=="object"||e===null)return!1;if(e.constructor.name!=="Object")return!1;if("logger"in e){let t=typeof e.logger;if(t!=="boolean"&&(t!=="object"||typeof e.logger.logQuery!=="function")&&t!=="undefined")return!1;return!0}if("schema"in e){let t=typeof e.schema;if(t!=="object"&&t!=="undefined")return!1;return!0}if("casing"in e){let t=typeof e.casing;if(t!=="string"&&t!=="undefined")return!1;return!0}if("mode"in e){if(e.mode!=="default"||e.mode!=="planetscale"||e.mode!==void 0)return!1;return!0}if("connection"in e){let t=typeof e.connection;if(t!=="string"&&t!=="object"&&t!=="undefined")return!1;return!0}if("client"in e){let t=typeof e.client;if(t!=="object"&&t!=="function"&&t!=="undefined")return!1;return!0}if(Object.keys(e).length===0)return!0;return!1}var oO=typeof TextDecoder>"u"?null:new TextDecoder;var bG=Symbol.for("drizzle:PgInlineForeignKeys"),xG=Symbol.for("drizzle:EnableRLS");class iO extends Se{static[z]="PgTable";static Symbol=Object.assign({},Se.Symbol,{InlineForeignKeys:bG,EnableRLS:xG});[bG]=[];[xG]=!1;[Se.Symbol.ExtraConfigBuilder]=void 0;[Se.Symbol.ExtraConfigColumns]={}}class sO{static[z]="PgPrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new SG(e,this.columns,this.name)}}class SG{constructor(e,t,n){this.table=e,this.columns=t,this.name=n}static[z]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[iO.Symbol.Name]}_${this.columns.map((e)=>e.name).join("_")}_pk`}}function mo(e,t){if(dG(t)&&!YA(e)&&!ee(e,Po)&&!ee(e,ol)&&!ee(e,It)&&!ee(e,Se)&&!ee(e,ci))return new Po(e,t);return e}var O=(e,t)=>S`${e} = ${mo(t,e)}`,il=(e,t)=>S`${e} <> ${mo(t,e)}`;function oe(...e){let t=e.filter((n)=>n!==void 0);if(t.length===0)return;if(t.length===1)return new De(t);return new De([new Un("("),S.join(t,new Un(" and ")),new Un(")")])}function fr(...e){let t=e.filter((n)=>n!==void 0);if(t.length===0)return;if(t.length===1)return new De(t);return new De([new Un("("),S.join(t,new Un(" or ")),new Un(")")])}function rw(e){return S`not ${e}`}var Za=(e,t)=>S`${e} > ${mo(t,e)}`,vG=(e,t)=>S`${e} >= ${mo(t,e)}`,wG=(e,t)=>S`${e} < ${mo(t,e)}`,Dr=(e,t)=>S`${e} <= ${mo(t,e)}`;function kt(e,t){if(Array.isArray(t)){if(t.length===0)return S`false`;return S`${e} in ${t.map((n)=>mo(n,e))}`}return S`${e} in ${mo(t,e)}`}function TG(e,t){if(Array.isArray(t)){if(t.length===0)return S`true`;return S`${e} not in ${t.map((n)=>mo(n,e))}`}return S`${e} not in ${mo(t,e)}`}function rr(e){return S`${e} is null`}function sl(e){return S`${e} is not null`}function al(e){return S`exists ${e}`}function ow(e){return S`not exists ${e}`}function CG(e,t,n){return S`${e} between ${mo(t,e)} and ${mo(n,e)}`}function EG(e,t,n){return S`${e} not between ${mo(t,e)} and ${mo(n,e)}`}function IG(e,t){return S`${e} like ${t}`}function kG(e,t){return S`${e} not like ${t}`}function RG(e,t){return S`${e} ilike ${t}`}function PG(e,t){return S`${e} not ilike ${t}`}function st(e){return S`${e} asc`}function dn(e){return S`${e} desc`}class aO{constructor(e,t,n){this.sourceTable=e,this.referencedTable=t,this.relationName=n,this.referencedTableName=t[Se.Symbol.Name]}static[z]="Relation";referencedTableName;fieldName}class AG{constructor(e,t){this.table=e,this.config=t}static[z]="Relations"}class cl extends aO{constructor(e,t,n,r){super(e,t,n?.relationName);this.config=n,this.isNullable=r}static[z]="One";withFieldName(e){let t=new cl(this.sourceTable,this.referencedTable,this.config,this.isNullable);return t.fieldName=e,t}}class _h extends aO{constructor(e,t,n){super(e,t,n?.relationName);this.config=n}static[z]="Many";withFieldName(e){let t=new _h(this.sourceTable,this.referencedTable,this.config);return t.fieldName=e,t}}function OG(){return{and:oe,between:CG,eq:O,exists:al,gt:Za,gte:vG,ilike:RG,inArray:kt,isNull:rr,isNotNull:sl,like:IG,lt:wG,lte:Dr,ne:il,not:rw,notBetween:EG,notExists:ow,notLike:kG,notIlike:PG,notInArray:TG,or:fr,sql:S}}function DG(){return{sql:S,asc:st,desc:dn}}function MG(e,t){if(Object.keys(e).length===1&&"default"in e&&!ee(e.default,Se))e=e.default;let n={},r={},o={};for(let[i,s]of Object.entries(e))if(ee(s,Se)){let c=$u(s),l=r[c];n[c]=i,o[i]={tsName:i,dbName:s[Se.Symbol.Name],schema:s[Se.Symbol.Schema],columns:s[Se.Symbol.Columns],relations:l?.relations??{},primaryKey:l?.primaryKey??[]};for(let p of Object.values(s[Se.Symbol.Columns]))if(p.primary)o[i].primaryKey.push(p);let u=s[Se.Symbol.ExtraConfigBuilder]?.(s[Se.Symbol.ExtraConfigColumns]);if(u){for(let p of Object.values(u))if(ee(p,sO))o[i].primaryKey.push(...p.columns)}}else if(ee(s,AG)){let c=$u(s.table),l=n[c],u=s.config(t(s.table)),p;for(let[d,g]of Object.entries(u))if(l){let f=o[l];if(f.relations[d]=g,p)f.primaryKey.push(...p)}else{if(!(c in r))r[c]={relations:{},primaryKey:p};r[c].relations[d]=g}}return{tables:o,tableNamesMap:n}}function MSe(e){return function(n,r){return new cl(e,n,r,r?.fields.reduce((o,i)=>o&&i.notNull,!0)??!1)}}function _Se(e){return function(n,r){return new _h(e,n,r)}}function _G(e,t,n){if(ee(n,cl)&&n.config)return{fields:n.config.fields,references:n.config.references};let r=t[$u(n.referencedTable)];if(!r)throw Error(`Table "${n.referencedTable[Se.Symbol.Name]}" not found in schema`);let o=e[r];if(!o)throw Error(`Table "${r}" not found in schema`);let i=n.sourceTable,s=t[$u(i)];if(!s)throw Error(`Table "${i[Se.Symbol.Name]}" not found in schema`);let c=[];for(let l of Object.values(o.relations))if(n.relationName&&n!==l&&l.relationName===n.relationName||!n.relationName&&l.referencedTable===n.sourceTable)c.push(l);if(c.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${r}"`):Error(`There are multiple relations between "${r}" and "${n.sourceTable[Se.Symbol.Name]}". Please specify relation name`);if(c[0]&&ee(c[0],cl)&&c[0].config)return{fields:c[0].config.references,references:c[0].config.fields};throw Error(`There is not enough information to infer relation "${s}.${n.fieldName}"`)}function zG(e){return{one:MSe(e),many:_Se(e)}}function iw(e,t,n,r,o=(i)=>i){let i={};for(let[s,c]of r.entries())if(c.isJson){let l=t.relations[c.tsKey],u=n[s],p=typeof u==="string"?JSON.parse(u):u;i[c.tsKey]=ee(l,cl)?p&&iw(e,e[c.relationTableTsKey],p,c.selection,o):p.map((d)=>iw(e,e[c.relationTableTsKey],d,c.selection,o))}else{let l=o(n[s]),u=c.field,p;if(ee(u,It))p=u;else if(ee(u,De))p=u.decoder;else p=u.sql.decoder;i[c.tsKey]=l===null?null:p.mapFromDriverValue(l)}return i}function FG(e){return S`count(${e||S.raw("*")})`.mapWith(Number)}class NG{constructor(e,t){this.name=e,this.value=t}static[z]="SQLiteCheckBuilder";brand;build(e){return new jG(e,this)}}class jG{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}static[z]="SQLiteCheck";name;value}function ll(e,t){return new NG(e,t)}class cO{static[z]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(e,t){if(this.reference=()=>{let{name:n,columns:r,foreignColumns:o}=e();return{name:n,columns:r,foreignTable:o[0].table,foreignColumns:o}},t)this._onUpdate=t.onUpdate,this._onDelete=t.onDelete}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new BG(e,this)}}class BG{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[z]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:n}=this.reference(),r=t.map((s)=>s.name),o=n.map((s)=>s.name),i=[this.table[Or],...r,n[0].table[Or],...o];return e??`${i.join("_")}_fk`}}function lO(e,t){return`${e[Or]}_${t.join("_")}_unique`}class LG{constructor(e,t){this.name=t,this.columns=e}static[z]="SQLiteUniqueConstraintBuilder";columns;build(e){return new qG(e,this.columns,this.name)}}class zSe{static[z]="SQLiteUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new LG(e,this.name)}}class qG{constructor(e,t,n){this.table=e,this.columns=t,this.name=n??lO(this.table,this.columns.map((r)=>r.name))}static[z]="SQLiteUniqueConstraint";columns;name;getName(){return this.name}}class or extends Ch{static[z]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:"always",mode:t?.mode??"virtual"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:n,actions:r})=>((o,i)=>{let s=new cO(()=>{let c=o();return{columns:[e],foreignColumns:[c]}});if(i.onUpdate)s.onUpdate(i.onUpdate);if(i.onDelete)s.onDelete(i.onDelete);return s.build(t)})(n,r))}}class gn extends It{constructor(e,t){if(!t.uniqueName)t.uniqueName=lO(e,[t.name]);super(e,t);this.table=e}static[z]="SQLiteColumn"}class ZG extends or{static[z]="SQLiteBigIntBuilder";constructor(e){super(e,"bigint","SQLiteBigInt")}build(e){return new $G(e,this.config)}}class $G extends gn{static[z]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return BigInt(t.toString("utf8"))}return BigInt(oO.decode(e))}mapToDriverValue(e){return Buffer.from(e.toString())}}class UG extends or{static[z]="SQLiteBlobJsonBuilder";constructor(e){super(e,"json","SQLiteBlobJson")}build(e){return new WG(e,this.config)}}class WG extends gn{static[z]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return JSON.parse(t.toString("utf8"))}return JSON.parse(oO.decode(e))}mapToDriverValue(e){return Buffer.from(JSON.stringify(e))}}class HG extends or{static[z]="SQLiteBlobBufferBuilder";constructor(e){super(e,"buffer","SQLiteBlobBuffer")}build(e){return new JG(e,this.config)}}class JG extends gn{static[z]="SQLiteBlobBuffer";mapFromDriverValue(e){if(Buffer.isBuffer(e))return e;return Buffer.from(e)}getSQLType(){return"blob"}}function sw(e,t){let{name:n,config:r}=As(e,t);if(r?.mode==="json")return new UG(n);if(r?.mode==="bigint")return new ZG(n);return new HG(n)}class VG extends or{static[z]="SQLiteCustomColumnBuilder";constructor(e,t,n){super(e,"custom","SQLiteCustomColumn");this.config.fieldConfig=t,this.config.customTypeParams=n}build(e){return new GG(e,this.config)}}class GG extends gn{static[z]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(e,t){super(e,t);this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom==="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo==="function"?this.mapTo(e):e}}function aw(e){return(t,n)=>{let{name:r,config:o}=As(t,n);return new VG(r,o,e)}}class cw extends or{static[z]="SQLiteBaseIntegerBuilder";constructor(e,t,n){super(e,t,n);this.config.autoIncrement=!1}primaryKey(e){if(e?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}}class lw extends gn{static[z]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class QG extends cw{static[z]="SQLiteIntegerBuilder";constructor(e){super(e,"number","SQLiteInteger")}build(e){return new KG(e,this.config)}}class KG extends lw{static[z]="SQLiteInteger"}class YG extends cw{static[z]="SQLiteTimestampBuilder";constructor(e,t){super(e,"date","SQLiteTimestamp");this.config.mode=t}defaultNow(){return this.default(S`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new XG(e,this.config)}}class XG extends lw{static[z]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(e){if(this.config.mode==="timestamp")return new Date(e*1000);return new Date(e)}mapToDriverValue(e){let t=e.getTime();if(this.config.mode==="timestamp")return Math.floor(t/1000);return t}}class eQ extends cw{static[z]="SQLiteBooleanBuilder";constructor(e,t){super(e,"boolean","SQLiteBoolean");this.config.mode=t}build(e){return new tQ(e,this.config)}}class tQ extends lw{static[z]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}function qe(e,t){let{name:n,config:r}=As(e,t);if(r?.mode==="timestamp"||r?.mode==="timestamp_ms")return new YG(n,r.mode);if(r?.mode==="boolean")return new eQ(n,r.mode);return new QG(n)}class nQ extends or{static[z]="SQLiteNumericBuilder";constructor(e){super(e,"string","SQLiteNumeric")}build(e){return new rQ(e,this.config)}}class rQ extends gn{static[z]="SQLiteNumeric";mapFromDriverValue(e){if(typeof e==="string")return e;return String(e)}getSQLType(){return"numeric"}}class oQ extends or{static[z]="SQLiteNumericNumberBuilder";constructor(e){super(e,"number","SQLiteNumericNumber")}build(e){return new iQ(e,this.config)}}class iQ extends gn{static[z]="SQLiteNumericNumber";mapFromDriverValue(e){if(typeof e==="number")return e;return Number(e)}mapToDriverValue=String;getSQLType(){return"numeric"}}class sQ extends or{static[z]="SQLiteNumericBigIntBuilder";constructor(e){super(e,"bigint","SQLiteNumericBigInt")}build(e){return new aQ(e,this.config)}}class aQ extends gn{static[z]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function cQ(e,t){let{name:n,config:r}=As(e,t),o=r?.mode;return o==="number"?new oQ(n):o==="bigint"?new sQ(n):new nQ(n)}class lQ extends or{static[z]="SQLiteRealBuilder";constructor(e){super(e,"number","SQLiteReal")}build(e){return new uQ(e,this.config)}}class uQ extends gn{static[z]="SQLiteReal";getSQLType(){return"real"}}function pQ(e){return new lQ(e??"")}class dQ extends or{static[z]="SQLiteTextBuilder";constructor(e,t){super(e,"string","SQLiteText");this.config.enumValues=t.enum,this.config.length=t.length}build(e){return new mQ(e,this.config)}}class mQ extends gn{static[z]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(e,t){super(e,t)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class fQ extends or{static[z]="SQLiteTextJsonBuilder";constructor(e){super(e,"json","SQLiteTextJson")}build(e){return new gQ(e,this.config)}}class gQ extends gn{static[z]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(e){return JSON.parse(e)}mapToDriverValue(e){return JSON.stringify(e)}}function le(e,t={}){let{name:n,config:r}=As(e,t);if(r.mode==="json")return new fQ(n);return new dQ(n,r)}class _n{static[z]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,t){if(t==="_")return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(t===pn)return{...e[pn],selectedFields:new Proxy(e[pn].selectedFields,this)};if(typeof t==="symbol")return e[t];let r=(ee(e,un)?e._.selectedFields:ee(e,ci)?e[pn].selectedFields:e)[t];if(ee(r,De.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!r.isSelectionField)return r.sql;let o=r.clone();return o.isSelectionField=!0,o}if(ee(r,De)){if(this.config.sqlBehavior==="sql")return r;throw Error(`You tried to reference "${t}" 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(ee(r,It)){if(this.config.alias)return new Proxy(r,new tm(new Proxy(r.table,new Ph(this.config.alias,this.config.replaceOriginalName??!1))));return r}if(typeof r!=="object"||r===null)return r;return new Proxy(r,new _n(this.config))}}function hQ(){return{blob:sw,customType:aw,integer:qe,numeric:cQ,real:pQ,text:le}}var uO=Symbol.for("drizzle:SQLiteInlineForeignKeys");class zn extends Se{static[z]="SQLiteTable";static Symbol=Object.assign({},Se.Symbol,{InlineForeignKeys:uO});[Se.Symbol.Columns];[uO]=[];[Se.Symbol.ExtraConfigBuilder]=void 0}function FSe(e,t,n,r,o=e){let i=new zn(e,r,o),s=typeof t==="function"?t(hQ()):t,c=Object.fromEntries(Object.entries(s).map(([u,p])=>{let d=p;d.setName(u);let g=d.build(i);return i[uO].push(...d.buildForeignKeys(g,i)),[u,g]})),l=Object.assign(i,c);if(l[Se.Symbol.Columns]=c,l[Se.Symbol.ExtraConfigColumns]=c,n)l[zn.Symbol.ExtraConfigBuilder]=n;return l}var Bt=(e,t,n)=>FSe(e,t,n);class pO{constructor(e,t){this.name=e,this.unique=t}static[z]="SQLiteIndexBuilderOn";on(...e){return new yQ(this.name,e,this.unique)}}class yQ{static[z]="SQLiteIndexBuilder";config;constructor(e,t,n){this.config={name:e,columns:t,unique:n,where:void 0}}where(e){return this.config.where=e,this}build(e){return new bQ(this.config,e)}}class bQ{static[z]="SQLiteIndex";config;constructor(e,t){this.config={...e,table:t}}}function Ft(e){return new pO(e,!1)}function dO(e){return new pO(e,!0)}function Ao(...e){if(e[0].columns)return new mO(e[0].columns,e[0].name);return new mO(e)}class mO{static[z]="SQLitePrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new xQ(e,this.columns,this.name)}}class xQ{constructor(e,t,n){this.table=e,this.columns=t,this.name=n}static[z]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[zn.Symbol.Name]}_${this.columns.map((e)=>e.name).join("_")}_pk`}}function qi(e){if(ee(e,zn))return[`${e[Se.Symbol.BaseName]}`];if(ee(e,un))return e._.usedTables??[];if(ee(e,De))return e.usedTables??[];return[]}class uw extends Hr{constructor(e,t,n,r){super();this.table=e,this.session=t,this.dialect=n,this.config={table:e,withList:r}}static[z]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[Se.Symbol.Columns],new _n({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.table[zn.Symbol.Columns]){return this.config.returning=li(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:qi(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}function NSe(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((n)=>n.toLowerCase()).join("_")}function jSe(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((n,r,o)=>{let i=o===0?r.toLowerCase():`${r[0].toUpperCase()}${r.slice(1)}`;return n+i},"")}function BSe(e){return e}class fO{static[z]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert=e==="snake_case"?NSe:e==="camelCase"?jSe:BSe}getColumnCasing(e){if(!e.keyAsName)return e.name;let t=e.table[Se.Symbol.Schema]??"public",n=e.table[Se.Symbol.OriginalName],r=`${t}.${n}.${e.name}`;if(!this.cache[r])this.cacheTable(e.table);return this.cache[r]}cacheTable(e){let t=e[Se.Symbol.Schema]??"public",n=e[Se.Symbol.OriginalName],r=`${t}.${n}`;if(!this.cachedTables[r]){for(let o of Object.values(e[Se.Symbol.Columns])){let i=`${r}.${o.name}`;this.cache[i]=this.convert(o.name)}this.cachedTables[r]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class Uu extends ci{static[z]="SQLiteViewBase"}class om{static[z]="SQLiteDialect";casing;constructor(e){this.casing=new fO(e?.casing)}escapeName(e){return`"${e.replace(/"/g,'""')}"`}escapeParam(e){return"?"}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let t=[S`with `];for(let[n,r]of e.entries())if(t.push(S`${S.identifier(r._.alias)} as (${r._.sql})`),n<e.length-1)t.push(S`, `);return t.push(S` `),S.join(t)}buildDeleteQuery({table:e,where:t,returning:n,withList:r,limit:o,orderBy:i}){let s=this.buildWithCTE(r),c=n?S` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,l=t?S` where ${t}`:void 0,u=this.buildOrderBy(i),p=this.buildLimit(o);return S`${s}delete from ${e}${l}${c}${u}${p}`}buildUpdateSet(e,t){let n=e[Se.Symbol.Columns],r=Object.keys(n).filter((i)=>t[i]!==void 0||n[i]?.onUpdateFn!==void 0),o=r.length;return S.join(r.flatMap((i,s)=>{let c=n[i],l=c.onUpdateFn?.(),u=t[i]??(ee(l,De)?l:S.param(l,c)),p=S`${S.identifier(this.casing.getColumnCasing(c))} = ${u}`;if(s<o-1)return[p,S.raw(", ")];return[p]}))}buildUpdateQuery({table:e,set:t,where:n,returning:r,withList:o,joins:i,from:s,limit:c,orderBy:l}){let u=this.buildWithCTE(o),p=this.buildUpdateSet(e,t),d=s&&S.join([S.raw(" from "),this.buildFromTable(s)]),g=this.buildJoins(i),f=r?S` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,v=n?S` where ${n}`:void 0,w=this.buildOrderBy(l),I=this.buildLimit(c);return S`${u}update ${e} set ${p}${d}${g}${v}${f}${w}${I}`}buildSelection(e,{isSingleTable:t=!1}={}){let n=e.length,r=e.flatMap(({field:o},i)=>{let s=[];if(ee(o,De.Aliased)&&o.isSelectionField)s.push(S.identifier(o.fieldAlias));else if(ee(o,De.Aliased)||ee(o,De)){let c=ee(o,De.Aliased)?o.sql:o;if(t)s.push(new De(c.queryChunks.map((l)=>{if(ee(l,It))return S.identifier(this.casing.getColumnCasing(l));return l})));else s.push(c);if(ee(o,De.Aliased))s.push(S` as ${S.identifier(o.fieldAlias)}`)}else if(ee(o,It)){let c=o.table[Se.Symbol.Name];if(o.columnType==="SQLiteNumericBigInt")if(t)s.push(S`cast(${S.identifier(this.casing.getColumnCasing(o))} as text)`);else s.push(S`cast(${S.identifier(c)}.${S.identifier(this.casing.getColumnCasing(o))} as text)`);else if(t)s.push(S.identifier(this.casing.getColumnCasing(o)));else s.push(S`${S.identifier(c)}.${S.identifier(this.casing.getColumnCasing(o))}`)}else if(ee(o,un)){let c=Object.entries(o._.selectedFields);if(c.length===1){let l=c[0][1],u=ee(l,De)?l.decoder:ee(l,It)?{mapFromDriverValue:(p)=>l.mapFromDriverValue(p)}:l.sql.decoder;if(u)o._.sql.decoder=u}s.push(o)}if(i<n-1)s.push(S`, `);return s});return S.join(r)}buildJoins(e){if(!e||e.length===0)return;let t=[];if(e)for(let[n,r]of e.entries()){if(n===0)t.push(S` `);let o=r.table,i=r.on?S` on ${r.on}`:void 0;if(ee(o,zn)){let s=o[zn.Symbol.Name],c=o[zn.Symbol.Schema],l=o[zn.Symbol.OriginalName],u=s===l?void 0:r.alias;t.push(S`${S.raw(r.joinType)} join ${c?S`${S.identifier(c)}.`:void 0}${S.identifier(l)}${u&&S` ${S.identifier(u)}`}${i}`)}else t.push(S`${S.raw(r.joinType)} join ${o}${i}`);if(n<e.length-1)t.push(S` `)}return S.join(t)}buildLimit(e){return typeof e==="object"||typeof e==="number"&&e>=0?S` limit ${e}`:void 0}buildOrderBy(e){let t=[];if(e){for(let[n,r]of e.entries())if(t.push(r),n<e.length-1)t.push(S`, `)}return t.length>0?S` order by ${S.join(t)}`:void 0}buildFromTable(e){if(ee(e,Se)&&e[Se.Symbol.IsAlias])return S`${S`${S.identifier(e[Se.Symbol.Schema]??"")}.`.if(e[Se.Symbol.Schema])}${S.identifier(e[Se.Symbol.OriginalName])} ${S.identifier(e[Se.Symbol.Name])}`;return e}buildSelectQuery({withList:e,fields:t,fieldsFlat:n,where:r,having:o,table:i,joins:s,orderBy:c,groupBy:l,limit:u,offset:p,distinct:d,setOperators:g}){let f=n??li(t);for(let Y of f)if(ee(Y.field,It)&&rl(Y.field.table)!==(ee(i,un)?i._.alias:ee(i,Uu)?i[pn].name:ee(i,De)?void 0:rl(i))&&!((G)=>s?.some(({alias:me})=>me===(G[Se.Symbol.IsAlias]?rl(G):G[Se.Symbol.BaseName])))(Y.field.table)){let G=rl(Y.field.table);throw Error(`Your "${Y.path.join("->")}" field references a column "${G}"."${Y.field.name}", but the table "${G}" is not part of the query! Did you forget to join it?`)}let v=!s||s.length===0,w=this.buildWithCTE(e),I=d?S` distinct`:void 0,A=this.buildSelection(f,{isSingleTable:v}),L=this.buildFromTable(i),N=this.buildJoins(s),re=r?S` where ${r}`:void 0,Ee=o?S` having ${o}`:void 0,D=[];if(l){for(let[Y,G]of l.entries())if(D.push(G),Y<l.length-1)D.push(S`, `)}let Ce=D.length>0?S` group by ${S.join(D)}`:void 0,ke=this.buildOrderBy(c),Me=this.buildLimit(u),te=p?S` offset ${p}`:void 0,ce=S`${w}select${I} ${A} from ${L}${N}${re}${Ce}${Ee}${ke}${Me}${te}`;if(g.length>0)return this.buildSetOperations(ce,g);return ce}buildSetOperations(e,t){let[n,...r]=t;if(!n)throw Error("Cannot pass undefined values to any set operator");if(r.length===0)return this.buildSetOperationQuery({leftSelect:e,setOperator:n});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),r)}buildSetOperationQuery({leftSelect:e,setOperator:{type:t,isAll:n,rightSelect:r,limit:o,orderBy:i,offset:s}}){let c=S`${e.getSQL()} `,l=S`${r.getSQL()}`,u;if(i&&i.length>0){let f=[];for(let v of i)if(ee(v,gn))f.push(S.identifier(v.name));else if(ee(v,De)){for(let w=0;w<v.queryChunks.length;w++){let I=v.queryChunks[w];if(ee(I,gn))v.queryChunks[w]=S.identifier(this.casing.getColumnCasing(I))}f.push(S`${v}`)}else f.push(S`${v}`);u=S` order by ${S.join(f,S`, `)}`}let p=typeof o==="object"||typeof o==="number"&&o>=0?S` limit ${o}`:void 0,d=S.raw(`${t} ${n?"all ":""}`),g=s?S` offset ${s}`:void 0;return S`${c}${d}${l}${u}${p}${g}`}buildInsertQuery({table:e,values:t,onConflict:n,returning:r,withList:o,select:i}){let s=[],c=e[Se.Symbol.Columns],l=Object.entries(c).filter(([v,w])=>!w.shouldDisableInsert()),u=l.map(([,v])=>S.identifier(this.casing.getColumnCasing(v)));if(i){let v=t;if(ee(v,De))s.push(v);else s.push(v.getSQL())}else{let v=t;s.push(S.raw("values "));for(let[w,I]of v.entries()){let A=[];for(let[L,N]of l){let re=I[L];if(re===void 0||ee(re,Po)&&re.value===void 0){let Ee;if(N.default!==null&&N.default!==void 0)Ee=ee(N.default,De)?N.default:S.param(N.default,N);else if(N.defaultFn!==void 0){let D=N.defaultFn();Ee=ee(D,De)?D:S.param(D,N)}else if(!N.default&&N.onUpdateFn!==void 0){let D=N.onUpdateFn();Ee=ee(D,De)?D:S.param(D,N)}else Ee=S`null`;A.push(Ee)}else A.push(re)}if(s.push(A),w<v.length-1)s.push(S`, `)}}let p=this.buildWithCTE(o),d=S.join(s),g=r?S` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,f=n?.length?S.join(n):void 0;return S`${p}insert into ${e} ${u} ${d}${f}${g}`}sqlToQuery(e,t){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:t})}buildRelationalQuery({fullSchema:e,schema:t,tableNamesMap:n,table:r,tableConfig:o,queryConfig:i,tableAlias:s,nestedQueryRelation:c,joinOn:l}){let u=[],p,d,g=[],f,v=[];if(i===!0)u=Object.entries(o.columns).map(([A,L])=>({dbKey:L.name,tsKey:A,field:Ps(L,s),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let I=Object.fromEntries(Object.entries(o.columns).map(([D,Ce])=>[D,Ps(Ce,s)]));if(i.where){let D=typeof i.where==="function"?i.where(I,OG()):i.where;f=D&&Oh(D,s)}let A=[],L=[];if(i.columns){let D=!1;for(let[Ce,ke]of Object.entries(i.columns)){if(ke===void 0)continue;if(Ce in o.columns){if(!D&&ke===!0)D=!0;L.push(Ce)}}if(L.length>0)L=D?L.filter((Ce)=>i.columns?.[Ce]===!0):Object.keys(o.columns).filter((Ce)=>!L.includes(Ce))}else L=Object.keys(o.columns);for(let D of L){let Ce=o.columns[D];A.push({tsKey:D,value:Ce})}let N=[];if(i.with)N=Object.entries(i.with).filter((D)=>!!D[1]).map(([D,Ce])=>({tsKey:D,queryConfig:Ce,relation:o.relations[D]}));let re;if(i.extras){re=typeof i.extras==="function"?i.extras(I,{sql:S}):i.extras;for(let[D,Ce]of Object.entries(re))A.push({tsKey:D,value:XA(Ce,s)})}for(let{tsKey:D,value:Ce}of A)u.push({dbKey:ee(Ce,De.Aliased)?Ce.fieldAlias:o.columns[D].name,tsKey:D,field:ee(Ce,It)?Ps(Ce,s):Ce,relationTableTsKey:void 0,isJson:!1,selection:[]});let Ee=typeof i.orderBy==="function"?i.orderBy(I,DG()):i.orderBy??[];if(!Array.isArray(Ee))Ee=[Ee];g=Ee.map((D)=>{if(ee(D,It))return Ps(D,s);return Oh(D,s)}),p=i.limit,d=i.offset;for(let{tsKey:D,queryConfig:Ce,relation:ke}of N){let Me=_G(t,n,ke),te=$u(ke.referencedTable),ce=n[te],Y=`${s}_${D}`,G=oe(...Me.fields.map((se,Qe)=>O(Ps(Me.references[Qe],Y),Ps(se,s)))),me=this.buildRelationalQuery({fullSchema:e,schema:t,tableNamesMap:n,table:e[ce],tableConfig:t[ce],queryConfig:ee(ke,cl)?Ce===!0?{limit:1}:{...Ce,limit:1}:Ce,tableAlias:Y,joinOn:G,nestedQueryRelation:ke}),xe=S`(${me.sql})`.as(D);u.push({dbKey:D,tsKey:D,field:xe,relationTableTsKey:ce,isJson:!0,selection:me.selection})}}if(u.length===0)throw new nm({message:`No fields selected for table "${o.tsName}" ("${s}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});let w;if(f=oe(l,f),c){let I=S`json_array(${S.join(u.map(({field:N})=>ee(N,gn)?S.identifier(this.casing.getColumnCasing(N)):ee(N,De.Aliased)?N.sql:N),S`, `)})`;if(ee(c,_h))I=S`coalesce(json_group_array(${I}), json_array())`;let A=[{dbKey:"data",tsKey:"data",field:I.as("data"),isJson:!0,relationTableTsKey:o.tsName,selection:u}];if(p!==void 0||d!==void 0||g.length>0)w=this.buildSelectQuery({table:Ah(r,s),fields:{},fieldsFlat:[{path:[],field:S.raw("*")}],where:f,limit:p,offset:d,orderBy:g,setOperators:[]}),f=void 0,p=void 0,d=void 0,g=void 0;else w=Ah(r,s);w=this.buildSelectQuery({table:ee(w,zn)?w:new un(w,{},s),fields:{},fieldsFlat:A.map(({field:N})=>({path:[],field:ee(N,It)?Ps(N,s):N})),joins:v,where:f,limit:p,offset:d,orderBy:g,setOperators:[]})}else w=this.buildSelectQuery({table:Ah(r,s),fields:{},fieldsFlat:u.map(({field:I})=>({path:[],field:ee(I,It)?Ps(I,s):I})),joins:v,where:f,limit:p,offset:d,orderBy:g,setOperators:[]});return{tableTsKey:o.tsName,sql:w,selection:u}}}class gO extends om{static[z]="SQLiteSyncDialect";migrate(e,t,n){let r=n===void 0?"__drizzle_migrations":typeof n==="string"?"__drizzle_migrations":n.migrationsTable??"__drizzle_migrations",o=S`
36
+ ${u}`,r}},i=e.spanOptions&&"captureStackTrace"in e.spanOptions?e.spanOptions:{captureStackTrace:o,...e.spanOptions};return xV(t,e.spanName,i)}var ghe=id,hhe=()=>(e)=>e,yhe=()=>(e)=>e,bhe=()=>(e)=>e;var Wr={};Xr(Wr,{TypeId:()=>qv,awaitEmpty:()=>Dhe,clear:()=>Rhe,get:()=>Ehe,has:()=>Ihe,isFiberMap:()=>PA,join:()=>Ohe,make:()=>AA,makeRuntime:()=>vhe,makeRuntimePromise:()=>whe,remove:()=>khe,run:()=>Phe,runtime:()=>OA,runtimePromise:()=>kV,set:()=>Che,size:()=>Ahe,unsafeGet:()=>IV,unsafeHas:()=>$v,unsafeSet:()=>Zv});var xh=zd;var vV=Fi;var wV=vP;var qv=Symbol.for("effect/FiberMap"),PA=(e)=>ue(e,qv),xhe={[qv]:qv,[Symbol.iterator](){if(this.state._tag==="Closed")return ob();return this.state.backing[Symbol.iterator]()},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},She=(e,t)=>{let n=Object.create(xhe);return n.state={_tag:"Open",backing:e},n.deferred=t,n},AA=()=>fh(Ur(jv(),(e)=>She(Ia(),e)),(e)=>ja((t)=>{let n=e.state;if(n._tag==="Closed")return Ba;return e.state={_tag:"Closed"},Wg(Uz(n.backing,([,r])=>r),so(t.id(),Vd)).pipe(gh(e.deferred))})),vhe=()=>Bu(AA(),(e)=>OA(e)()),whe=()=>Bu(AA(),(e)=>kV(e)()),EV=-1,Vd=qb(EV,0),The=Bg(void 0,{emptyCase:Bn,failCase:Bn,dieCase:Bn,interruptCase:(e,t)=>Zp(yc(t),EV),sequentialCase:(e,t,n)=>t||n,parallelCase:(e,t,n)=>t||n}),Zv=h((e)=>PA(e[0]),(e,t,n,r)=>{if(e.state._tag==="Closed"){n.unsafeInterruptAsFork(so(r?.interruptAs??Cn,Vd));return}let o=Ut(e.state.backing,t);if(o._tag==="Some"){if(r?.onlyIfMissing===!0){n.unsafeInterruptAsFork(so(r?.interruptAs??Cn,Vd));return}else if(o.value===n)return;o.value.unsafeInterruptAsFork(so(r?.interruptAs??Cn,Vd))}Rr(e.state.backing,t,n),n.addObserver((i)=>{if(e.state._tag==="Closed")return;let s=Ut(e.state.backing,t);if(lt(s)&&n===s.value)ka(e.state.backing,t);if(og(i)&&(r?.propagateInterruption===!0?!The(i.cause):!Ng(i.cause)))Bv(e.deferred,i)})}),Che=h((e)=>PA(e[0]),(e,t,n,r)=>Jd((o)=>ws(()=>Zv(e,t,n,{...r,interruptAs:o})))),IV=h(2,(e,t)=>e.state._tag==="Closed"?q():Ut(e.state.backing,t)),Ehe=h(2,(e,t)=>EA(()=>IV(e,t))),$v=h(2,(e,t)=>e.state._tag==="Closed"?!1:Eo(e.state.backing,t)),Ihe=h(2,(e,t)=>ws(()=>$v(e,t))),khe=h(2,(e,t)=>ja((n)=>{if(e.state._tag==="Closed")return Ba;let r=Ut(e.state.backing,t);if(r._tag==="None")return Ba;return Kc(r.value,so(n.id(),Vd))})),Rhe=(e)=>ja((t)=>{if(e.state._tag==="Closed")return Ba;return mh(e.state.backing,([,n])=>Kc(n,so(t.id(),Vd)))}),RA=function(){let e=void 0;return()=>{if(e===void 0)e=bh(Hd);return e}}(),Phe=function(){let e=arguments[0];if(dh(arguments[2]))return CV(e,arguments[1],arguments[2],arguments[3]);let t=arguments[1],n=arguments[2];return(r)=>CV(e,t,r,n)},CV=(e,t,n,r)=>ja((o)=>{if(e.state._tag==="Closed")return Hd;else if(r?.onlyIfMissing===!0&&$v(e,t))return ws(RA);let i=wV({context:o.currentContext,fiberRefs:o.getFiberRefs(),runtimeFlags:vV.runtimeFlags}),s=xh(i)(n);return Zv(e,t,s,{...r,interruptAs:o.id()}),TA(s)}),OA=(e)=>()=>Ur(yh(),(t)=>{let n=xh(t);return(r,o,i)=>{if(e.state._tag==="Closed")return RA();else if(i?.onlyIfMissing===!0&&$v(e,r))return RA();let s=n(o,i);return Zv(e,r,s,i),s}}),kV=(e)=>()=>Ur(OA(e)(),(t)=>(n,r,o)=>new Promise((i,s)=>t(n,r,o).addObserver((c)=>{if(jc(c))i(c.value);else s(jg(c.cause))}))),Ahe=(e)=>ws(()=>e.state._tag==="Closed"?0:Iu(e.state.backing)),Ohe=(e)=>Na(e.deferred),Dhe=(e)=>hh({while:()=>e.state._tag==="Open"&&Iu(e.state.backing)>0,body:()=>Ug(rb(e)[1]),step:cr});var Lu={};Xr(Lu,{TypeId:()=>Uv,add:()=>jhe,awaitEmpty:()=>$he,clear:()=>Bhe,isFiberSet:()=>DA,join:()=>Zhe,make:()=>MA,makeRuntime:()=>zhe,makeRuntimePromise:()=>Fhe,run:()=>Lhe,runtime:()=>zA,runtimePromise:()=>OV,size:()=>qhe,unsafeAdd:()=>Wv});var Uv=Symbol.for("effect/FiberSet"),DA=(e)=>ue(e,Uv),Mhe={[Uv]:Uv,[Symbol.iterator](){if(this.state._tag==="Closed")return ob();return this.state.backing[Symbol.iterator]()},toString(){return Ge(this.toJSON())},toJSON(){return{_id:"FiberMap",state:this.state}},[Be](){return this.toJSON()},pipe(){return pe(this,arguments)}},_he=(e,t)=>{let n=Object.create(Mhe);return n.state={_tag:"Open",backing:e},n.deferred=t,n},MA=()=>fh(Ur(jv(),(e)=>_he(new Set,e)),(e)=>ja((t)=>{let n=e.state;if(n._tag==="Closed")return Ba;e.state={_tag:"Closed"};let r=n.backing;return Wg(r,so(t.id(),_A)).pipe(gh(e.deferred))})),zhe=()=>Bu(MA(),(e)=>zA(e)()),Fhe=()=>Bu(MA(),(e)=>OV(e)()),PV=-1,_A=qb(PV,0),Nhe=Bg(void 0,{emptyCase:Bn,failCase:Bn,dieCase:Bn,interruptCase:(e,t)=>Zp(yc(t),PV),sequentialCase:(e,t,n)=>t||n,parallelCase:(e,t,n)=>t||n}),Wv=h((e)=>DA(e[0]),(e,t,n)=>{if(e.state._tag==="Closed"){t.unsafeInterruptAsFork(so(n?.interruptAs??Cn,_A));return}else if(e.state.backing.has(t))return;e.state.backing.add(t),t.addObserver((r)=>{if(e.state._tag==="Closed")return;if(e.state.backing.delete(t),og(r)&&(n?.propagateInterruption===!0?!Nhe(r.cause):!Ng(r.cause)))Bv(e.deferred,r)})}),jhe=h((e)=>DA(e[0]),(e,t,n)=>Jd((r)=>ws(()=>Wv(e,t,{...n,interruptAs:r})))),Bhe=(e)=>ja((t)=>{if(e.state._tag==="Closed")return Ba;return mh(e.state.backing,(n)=>Kc(n,so(t.id(),_A)))}),AV=function(){let e=void 0;return()=>{if(e===void 0)e=bh(Hd);return e}}(),Lhe=function(){let e=arguments[0];if(!dh(arguments[1])){let t=arguments[1];return(n)=>RV(e,n,t)}return RV(e,arguments[1],arguments[2])},RV=(e,t,n)=>Jd((r)=>{if(e.state._tag==="Closed")return ws(AV);return kA(IA(t),(o)=>Wv(e,o,{...n,interruptAs:r}))}),zA=(e)=>()=>Ur(yh(),(t)=>{let n=xh(t);return(r,o)=>{if(e.state._tag==="Closed")return AV();let i=n(r,o);return Wv(e,i),i}}),OV=(e)=>()=>Ur(zA(e)(),(t)=>(n,r)=>new Promise((o,i)=>t(n,r).addObserver((s)=>{if(jc(s))o(s.value);else i(jg(s.cause))}))),qhe=(e)=>ws(()=>e.state._tag==="Closed"?0:e.state.backing.size),Zhe=(e)=>Na(e.deferred),$he=(e)=>hh({while:()=>e.state._tag==="Open"&&e.state.backing.size>0,body:()=>Ug(rb(e)),step:cr});var Sh={};Xr(Sh,{CurrentMemoMap:()=>Jhe,LayerTypeId:()=>Whe,MemoMapTypeId:()=>Hhe,annotateLogs:()=>Qhe,annotateSpans:()=>Khe,build:()=>Yhe,buildWithMemoMap:()=>ybe,buildWithScope:()=>Xhe,catchAll:()=>eye,catchAllCause:()=>tye,context:()=>FV,die:()=>nye,dieSync:()=>rye,discard:()=>oye,effect:()=>iye,effectContext:()=>aye,effectDiscard:()=>sye,empty:()=>cye,ensureErrorType:()=>Sbe,ensureRequirementsType:()=>vbe,ensureSuccessType:()=>xbe,extendScope:()=>lye,fail:()=>uye,failCause:()=>dye,failCauseSync:()=>mye,failSync:()=>pye,fiberRefLocallyScopedWith:()=>_ye,flatMap:()=>fye,flatten:()=>gye,fresh:()=>hye,function:()=>bye,isFresh:()=>Ghe,isLayer:()=>Vhe,launch:()=>xye,locally:()=>Oye,locallyEffect:()=>Aye,locallyScoped:()=>Mye,locallyWith:()=>Dye,makeMemoMap:()=>hbe,map:()=>NV,mapError:()=>Sye,match:()=>vye,matchCause:()=>wye,memoize:()=>Tye,merge:()=>Cye,mergeAll:()=>Eye,mock:()=>yye,orDie:()=>Iye,orElse:()=>kye,parentSpan:()=>nbe,passthrough:()=>Rye,project:()=>Pye,provide:()=>jV,provideMerge:()=>Qye,retry:()=>zye,scope:()=>Fye,scoped:()=>Nye,scopedContext:()=>jye,scopedDiscard:()=>Bi,service:()=>Bye,setClock:()=>ebe,setConfigProvider:()=>tbe,setRandom:()=>rbe,setRequestBatching:()=>obe,setRequestCache:()=>sbe,setRequestCaching:()=>ibe,setScheduler:()=>abe,setTracer:()=>lbe,setTracerEnabled:()=>ube,setTracerTiming:()=>pbe,setUnhandledErrorLogLevel:()=>dbe,setVersionMismatchErrorLogLevel:()=>mbe,span:()=>cbe,succeed:()=>Lye,succeedContext:()=>qye,suspend:()=>Zye,sync:()=>$ye,syncContext:()=>Uye,tap:()=>Wye,tapError:()=>Hye,tapErrorCause:()=>Jye,toRuntime:()=>Vye,toRuntimeWithMemoMap:()=>Gye,unwrapEffect:()=>Yye,unwrapScoped:()=>Xye,updateService:()=>bbe,withParentSpan:()=>gbe,withSpan:()=>fbe,zipWith:()=>Kye});var DV=(e)=>Mu(WS(e)),MV=(e)=>za(no(kr,e)),_V=(e,t)=>(t=Co(t),el(kr,t?.onEnd?Tr(ti(e,t),(n)=>hs((r)=>t.onEnd(n,r))):ti(e,t))),zV=(e)=>Mu(GS(e));var Whe=cv,Hhe=Jg,Jhe=TP,Vhe=Gg,Ghe=CP,Qhe=VH,Khe=GH,Yhe=yH,Xhe=Yc,eye=Du,tye=kP,FV=uv,nye=RP,rye=xH,oye=SH,iye=Xc,sye=TH,aye=Ar,cye=LH,lye=vH,uye=PP,pye=AP,dye=Qg,mye=pv,fye=Ss,gye=wH,hye=OP,yye=PH,bye=kH;var xye=RH,NV=fv,Sye=AH,vye=hv,wye=gv,Tye=OH,Cye=DP,Eye=yv,Iye=DH,kye=MH,Rye=_H,Pye=zH,Aye=dv,Oye=CH,Dye=mv,Mye=EH,_ye=IH,zye=FH,Fye=jH,Nye=el,Bi=Mu,jye=Kg,Bye=BH,Lye=Nd,qye=za,Zye=Yg,$ye=bv,Uye=qH,Wye=ZH,Hye=$H,Jye=UH,Vye=WH,Gye=HH,jV=_u,Qye=JH,Kye=MP,Yye=_P,Xye=Vg,ebe=(e)=>Bi(mr(Kt,St(Zr,e))),tbe=DV,nbe=MV,rbe=(e)=>Bi(mr(Kt,St(Sa,e))),obe=(e)=>Bi(Pr(Jf,e)),ibe=(e)=>Bi(Pr(ph,e)),sbe=(e)=>Bi(mt(e)?R(e,(t)=>Pr(Wd,t)):Pr(Wd,e)),abe=(e)=>Bi(Pr(ya,e)),cbe=_V,lbe=zV,ube=(e)=>Bi(Pr(Gf,e)),pbe=(e)=>Bi(Pr(Mc,e)),dbe=(e)=>Bi(Pr(Vf,e)),mbe=(e)=>Bi(Pr(Cx,e)),fbe=QH,gbe=av,hbe=IP,ybe=lv,bbe=h(3,(e,t,n)=>jV(e,NV(FV(),(r)=>St(r,t,n($o(r,t)))))),xbe=()=>(e)=>e,Sbe=()=>(e)=>e,vbe=()=>(e)=>e;var Ts={};Xr(Ts,{CurrentIterationMetadata:()=>fSe,ScheduleDriverTypeId:()=>Tbe,ScheduleTypeId:()=>wbe,addDelay:()=>Ibe,addDelayEffect:()=>kbe,andThen:()=>Rbe,andThenEither:()=>Pbe,as:()=>Abe,asVoid:()=>Obe,bothInOut:()=>Dbe,check:()=>Mbe,checkEffect:()=>_be,collectAllInputs:()=>zbe,collectAllOutputs:()=>Fbe,collectUntil:()=>Nbe,collectUntilEffect:()=>jbe,collectWhile:()=>Bbe,collectWhileEffect:()=>Lbe,compose:()=>qbe,count:()=>Wbe,cron:()=>Hbe,dayOfMonth:()=>Qbe,dayOfWeek:()=>Kbe,delayed:()=>Ybe,delayedEffect:()=>Xbe,delayedSchedule:()=>exe,delays:()=>txe,driver:()=>oxe,duration:()=>ixe,either:()=>sxe,eitherWith:()=>axe,elapsed:()=>cxe,ensuring:()=>lxe,exponential:()=>uxe,fibonacci:()=>pxe,fixed:()=>dxe,forever:()=>mxe,fromDelay:()=>fxe,fromDelays:()=>gxe,fromFunction:()=>hxe,hourOfDay:()=>Gbe,identity:()=>yxe,intersect:()=>xxe,intersectWith:()=>Sxe,isSchedule:()=>Ebe,jittered:()=>vxe,jitteredWith:()=>wxe,linear:()=>Txe,makeWithState:()=>Cbe,map:()=>Cxe,mapBoth:()=>nxe,mapBothEffect:()=>rxe,mapEffect:()=>Exe,mapInput:()=>Zbe,mapInputContext:()=>Ube,mapInputEffect:()=>$be,minuteOfHour:()=>Vbe,modifyDelay:()=>Ixe,modifyDelayEffect:()=>kxe,onDecision:()=>Rxe,once:()=>Pxe,passthrough:()=>bxe,provideContext:()=>Axe,provideService:()=>Oxe,recurUntil:()=>Dxe,recurUntilEffect:()=>Mxe,recurUntilOption:()=>_xe,recurUpTo:()=>zxe,recurWhile:()=>Fxe,recurWhileEffect:()=>Nxe,recurs:()=>jxe,reduce:()=>Bxe,reduceEffect:()=>Lxe,repeatForever:()=>qxe,repetitions:()=>Zxe,resetAfter:()=>$xe,resetWhen:()=>Uxe,run:()=>Wxe,secondOfMinute:()=>Jbe,spaced:()=>Hxe,stop:()=>Jxe,succeed:()=>Vxe,sync:()=>Gxe,tapInput:()=>Qxe,tapOutput:()=>Kxe,unfold:()=>Yxe,union:()=>Xxe,unionWith:()=>eSe,untilInput:()=>tSe,untilInputEffect:()=>nSe,untilOutput:()=>rSe,untilOutputEffect:()=>oSe,upTo:()=>iSe,whileInput:()=>sSe,whileInputEffect:()=>aSe,whileOutput:()=>cSe,whileOutputEffect:()=>lSe,windowed:()=>uSe,zipLeft:()=>pSe,zipRight:()=>dSe,zipWith:()=>mSe});var wbe=Ev,Tbe=UP,Cbe=ht,Ebe=Iv,Ibe=kv,kbe=WP,Rbe=D2,Pbe=HP,Abe=M2,Obe=Rv,Dbe=_2,Mbe=Zd,_be=Nu,zbe=z2,Fbe=ju,Nbe=F2,jbe=N2,Bbe=j2,Lbe=B2,qbe=L2,Zbe=JP,$be=Pv,Ube=q2,Wbe=LJ,Hbe=Z2,Jbe=yJ,Vbe=aJ,Gbe=oJ,Qbe=$2,Kbe=U2,Ybe=W2,Xbe=Av,exe=oh,txe=H2,nxe=J2,rxe=V2,oxe=ih,ixe=VP,sxe=G2,axe=Q2,cxe=Fv,lxe=K2,uxe=Y2,pxe=X2,dxe=eJ,mxe=ji,fxe=tJ,gxe=nJ,hxe=rJ,yxe=Fa,bxe=KP,xxe=tl,Sxe=GP,vxe=iJ,wxe=QP,Txe=sJ,Cxe=tr,Exe=Ov,Ixe=cJ,kxe=sh,Rxe=lJ,Pxe=Nv,Axe=uJ,Oxe=pJ,Dxe=YP,Mxe=XP,_xe=dJ,zxe=eA,Fxe=tA,Nxe=nA,jxe=$d,Bxe=Dv,Lxe=rA,qxe=ji,Zxe=mJ,$xe=fJ,Uxe=oA,Wxe=gJ,Hxe=bJ,Jxe=qJ,Vxe=xJ,Gxe=SJ,Qxe=vJ,Kxe=wJ,Yxe=ah,Xxe=iA,eSe=Mv,tSe=sA,nSe=ch,rSe=aA,oSe=TJ,iSe=CJ,sSe=cA,aSe=lh,cSe=_v,lSe=EJ,uSe=IJ,pSe=lA,dSe=kJ,mSe=RJ,fSe=Fu;function mqe(e,t){return Sh.scoped(e,de.acquireRelease(de.sync(t),(n)=>de.sync(()=>{n.close()})).pipe(de.map((n)=>n.service)))}var FA=a.record(a.string(),a.unknown());var gSe=a.object({id:a.string(),sessionId:a.string(),interfaceType:a.string(),channelId:a.string(),personId:a.string().optional(),channelName:a.string().optional(),startedAt:a.string(),lastActiveAt:a.string(),createdAt:a.string(),updatedAt:a.string(),metadata:FA}),hSe=a.object({id:a.string(),conversationId:a.string(),role:Gd,content:a.string(),timestamp:a.string(),metadata:FA});var NA=a.object({name:a.string(),role:a.string(),purpose:a.string(),values:a.array(a.string())}),jA=a.object({name:a.string(),organization:a.string().optional(),description:a.string().optional(),avatar:a.string().optional(),website:a.string().optional(),email:a.string().optional(),socialLinks:a.array(a.object({platform:a.enum(["github","instagram","linkedin","email","website"]),url:a.string(),label:a.string().optional()})).optional()});var Qd=Hv(BV(),1);function Cqe(e){return Object.entries(e)}function Eqe(e,t){return t in e}function La(e,t){let n=Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0&&r!==null));if(Object.keys(n).length===0)return e;return Qd.default.stringify(e,n)}function BA(e){if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(BA);if(e!==null&&typeof e==="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=BA(r);return t}return e}function nr(e,t,n){let{content:r,data:o}=Qd.default(e,n?.cache===!1?{}:void 0),i=BA(o);return{content:r.trim(),metadata:t.parse(i)}}function vh(e){if(Object.keys(e).length===0)return"";let n=Qd.default.stringify("",e).match(/^---\n[\s\S]*?\n---/);return n?n[0]:""}function LV(e){if(!Cs(e))return e;let{visibility:t,...n}=e;return n}var ySe=a.object({visibility:a.enum(["public","shared","restricted","private"]).optional().transform((e)=>{if(e===void 0)return;return e==="private"?"restricted":e})});function Jv(e){let t=Qd.default(e);return ySe.parse(t.data).visibility}function qV(e){let n=e.match(/^---\r?\n[\s\S]*?\r?\n---/)?.[0].match(/^visibility:/m);return n!==null&&n!==void 0}function Kd(e,t){if(t==="public"&&!qV(e))return e;let n=Qd.default(e),r=Object.fromEntries(Object.entries(n.data).filter(([o])=>o!=="visibility"));if(t!=="public")r.visibility=t;return La(n.content.trim(),r)}var bSe=a.looseObject({issues:a.array(a.looseObject({message:a.string()}))}),ZV=a.object({name:a.literal("EntityValidationError"),entityType:a.string(),originalError:a.unknown()});class Li extends Error{entityType;originalError;phase;constructor(e,t,n="schema"){super(`Invalid entity data for ${e}: ${et(t)}`);this.name="EntityValidationError",this.entityType=e,this.originalError=t,this.phase=n}}function Vv(e){return bSe.safeParse(e).success}function $V(e){return e instanceof Li||ZV.safeParse(e).success||Vv(e)}function Yd(e,t,n="schema"){if(t instanceof Li)return t.phase===n?t:new Li(e,t.originalError,n);let r=ZV.safeParse(t);if(r.success)return new Li(e,r.data.originalError,n);return Vv(t)?new Li(e,t,n):void 0}var xSe={generateBodyTemplate:()=>""},LA=a.record(a.string(),a.unknown());function UV(e){return{parse:(t)=>e.parse(LV(t))}}class nl{entityType;purpose;schema;frontmatterSchema;isSingleton;hasBody;supportsCoverImage;publishedStatuses;fmSchema;bodyFormatter;constructor(e){if(this.entityType=e.entityType,this.purpose=e.purpose,this.schema=e.schema,this.frontmatterSchema=e.frontmatterSchema,this.fmSchema=e.frontmatterSchema,this.bodyFormatter=e.bodyFormatter??xSe,e.isSingleton!==void 0)this.isSingleton=e.isSingleton;if(e.hasBody!==void 0)this.hasBody=e.hasBody;if(e.supportsCoverImage!==void 0)this.supportsCoverImage=e.supportsCoverImage;if(e.publishedStatuses!==void 0)this.publishedStatuses=e.publishedStatuses}toMarkdown(e){let t=this.renderBody(e),r={...this.readExistingFrontmatter(e.content)},o=Object.keys(this.frontmatterSchema.shape);for(let[i,s]of Object.entries(e.metadata))if(o.includes(i))r[i]=s;return this.buildMarkdown(t,r)}renderBody(e){return this.extractBody(e.content)}readExistingFrontmatter(e){try{return nr(e,LA).metadata}catch{return{}}}extractMetadata(e){return e.metadata}parseFrontMatter(e,t){try{return nr(e,UV(t)).metadata}catch(n){throw new Li(this.entityType,n)}}getBodyTemplate(){return this.bodyFormatter.generateBodyTemplate()}generateFrontMatter(e){return vh(LA.parse(e.metadata))}extractBody(e){try{return nr(e,LA).content}catch{return e}}parseFrontmatter(e){try{return nr(e,UV(this.fmSchema)).metadata}catch(t){throw new Li(this.entityType,t)}}buildMarkdown(e,t){return La(e,t)}}var Es=a.enum(["public","shared","restricted"]),Is=a.union([Es,a.literal("private")]).optional().transform((e)=>{if(e===void 0)return"public";if(e==="private")return"restricted";return e});function Gv(e){return Is.parse(e)}var SSe={public:["public"],shared:["public","shared"],restricted:["public","shared","restricted"]};function ks(e){return SSe[e]}function Qv(e,t){return ks(t).includes(e??"public")}function Rs(e){if(e==="admin")return"restricted";if(e==="trusted")return"shared";return"public"}function Xd(e,t){return Qv(t,Rs(e))}var ai=a.object({id:a.string(),entityType:a.string(),content:a.string(),created:a.string().datetime(),updated:a.string().datetime(),visibility:Is,metadata:a.record(a.string(),a.unknown()),contentHash:a.string()}),vSe=a.enum(["public","shared","restricted"]),WV=a.object({id:a.string(),entityType:a.string(),content:a.string(),created:a.string().datetime(),updated:a.string().datetime(),visibility:a.union([vSe,a.literal("private")]).optional().transform((e)=>{if(e===void 0)return"public";if(e==="private")return"restricted";return e}),metadata:a.record(a.string(),a.unknown()),contentHash:a.string()}),Kv=a.object({}),wSe=a.object({mediaType:a.string(),url:a.string(),downloadUrl:a.string().optional(),previewUrl:a.string().optional(),filename:a.string().optional(),sizeBytes:a.number().optional(),source:a.object({entityType:a.string().optional(),entityId:a.string().optional(),attachmentType:a.string().optional()}).optional()});class qA extends nl{constructor(){super({entityType:"note",purpose:"A generic entity with no specialized adapter.",schema:ai,frontmatterSchema:Kv})}toMarkdown(e){return e.content}fromMarkdown(e){return{content:e}}}import{createHash as TSe}from"crypto";var HV=/^[a-f0-9]{64}$/,JV=/^asset:\/\/sha256\/([a-f0-9]{64})$/,VV="asset://sha256/",ZA=104857600,wh=a.custom((e)=>typeof e==="string"&&JV.test(e),{message:"Invalid SHA-256 asset reference"}),GV=a.object({ref:wh,digest:a.string().regex(HV),sizeBytes:a.number().int().nonnegative()}).refine((e)=>Zu(e.ref)===e.digest,{message:"Asset reference and digest must match",path:["digest"]});function qu(e){return wh.parse(e)}function Zu(e){return qu(e).slice(VV.length)}function Th(e){return TSe("sha256").update(e).digest("hex")}function $A(e){if(GV.parse(e),!(e.bytes instanceof Uint8Array))throw Error("Prepared asset bytes must be a Uint8Array");if(e.bytes.byteLength!==e.sizeBytes)throw Error(`Prepared asset size mismatch: declared ${e.sizeBytes} bytes, received ${e.bytes.byteLength}`);let t=Th(e.bytes);if(t!==e.digest)throw Error(`Prepared asset digest mismatch: expected ${e.digest}, received ${t}`)}var z=Symbol.for("drizzle:entityKind");function ee(e,t){if(!e||typeof e!=="object")return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,z))throw Error(`Class "${t.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 n=Object.getPrototypeOf(e).constructor;if(n)while(n){if(z in n&&n[z]===t[z])return!0;n=Object.getPrototypeOf(n)}return!1}class Et{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[z]="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(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class Ch{static[z]="ColumnBuilder";config;constructor(e,t,n){this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:n,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){if(this.config.name!=="")return;this.config.name=e}}var Or=Symbol.for("drizzle:Name");class UA{static[z]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,t){if(this.reference=()=>{let{name:n,columns:r,foreignColumns:o}=e();return{name:n,columns:r,foreignTable:o[0].table,foreignColumns:o}},t)this._onUpdate=t.onUpdate,this._onDelete=t.onDelete}onUpdate(e){return this._onUpdate=e===void 0?"no action":e,this}onDelete(e){return this._onDelete=e===void 0?"no action":e,this}build(e){return new QV(e,this)}}class QV{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[z]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:n}=this.reference(),r=t.map((s)=>s.name),o=n.map((s)=>s.name),i=[this.table[Or],...r,n[0].table[Or],...o];return e??`${i.join("_")}_fk`}}function Yv(e,...t){return e(...t)}function WA(e,t){return`${e[Or]}_${t.join("_")}_unique`}class KV{constructor(e,t){this.name=t,this.columns=e}static[z]="PgUniqueConstraintBuilder";columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new YV(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class CSe{static[z]="PgUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new KV(e,this.name)}}class YV{constructor(e,t,n,r){this.table=e,this.columns=t,this.name=r??WA(this.table,this.columns.map((o)=>o.name)),this.nullsNotDistinct=n}static[z]="PgUniqueConstraint";columns;name;nullsNotDistinct=!1;getName(){return this.name}}function XV(e,t,n){for(let r=t;r<e.length;r++){let o=e[r];if(o==="\\"){r++;continue}if(o==='"')return[e.slice(t,r).replace(/\\/g,""),r+1];if(n)continue;if(o===","||o==="}")return[e.slice(t,r).replace(/\\/g,""),r]}return[e.slice(t).replace(/\\/g,""),e.length]}function eG(e,t=0){let n=[],r=t,o=!1;while(r<e.length){let i=e[r];if(i===","){if(o||r===t)n.push("");o=!0,r++;continue}if(o=!1,i==="\\"){r+=2;continue}if(i==='"'){let[l,u]=XV(e,r+1,!0);n.push(l),r=u;continue}if(i==="}")return[n,r+1];if(i==="{"){let[l,u]=eG(e,r+1);n.push(l),r=u;continue}let[s,c]=XV(e,r,!1);n.push(s),r=c}return[n,r]}function tG(e){let[t]=eG(e,1);return t}function HA(e){return`{${e.map((t)=>{if(Array.isArray(t))return HA(t);if(typeof t==="string")return`"${t.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${t}`}).join(",")}}`}class Eh extends Ch{foreignKeyConfigs=[];static[z]="PgColumnBuilder";array(e){return new rG(this.config.name,this,e)}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e,t){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=t?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:n,actions:r})=>Yv((o,i)=>{let s=new UA(()=>{let c=o();return{columns:[e],foreignColumns:[c]}});if(i.onUpdate)s.onUpdate(i.onUpdate);if(i.onDelete)s.onDelete(i.onDelete);return s.build(t)},n,r))}buildExtraConfigColumn(e){return new nG(e,this.config)}}class em extends Et{constructor(e,t){if(!t.uniqueName)t.uniqueName=WA(e,[t.name]);super(e,t);this.table=e}static[z]="PgColumn"}class nG extends em{static[z]="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(e){return this.indexConfig.opClass=e,this}}class ESe{static[z]="IndexedColumn";constructor(e,t,n,r){this.name=e,this.keyAsName=t,this.type=n,this.indexConfig=r}name;keyAsName;type;indexConfig}class rG extends Eh{static[z]="PgArrayBuilder";constructor(e,t,n){super(e,"array","PgArray");this.config.baseBuilder=t,this.config.size=n}build(e){let t=this.config.baseBuilder.build(e);return new JA(e,this.config,t)}}class JA extends em{constructor(e,t,n,r){super(e,t);this.baseColumn=n,this.range=r,this.size=t.size}size;static[z]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(e){if(typeof e==="string")e=tG(e);return e.map((t)=>this.baseColumn.mapFromDriverValue(t))}mapToDriverValue(e,t=!1){let n=e.map((r)=>r===null?null:ee(this.baseColumn,JA)?this.baseColumn.mapToDriverValue(r,!0):this.baseColumn.mapToDriverValue(r));if(t)return n;return HA(n)}}class ISe extends Eh{static[z]="PgEnumObjectColumnBuilder";constructor(e,t){super(e,"string","PgEnumObjectColumn");this.config.enum=t}build(e){return new iG(e,this.config)}}class iG extends em{static[z]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t);this.enum=t.enum}getSQLType(){return this.enum.enumName}}var oG=Symbol.for("drizzle:isPgEnum");function sG(e){return!!e&&typeof e==="function"&&oG in e&&e[oG]===!0}class kSe extends Eh{static[z]="PgEnumColumnBuilder";constructor(e,t){super(e,"string","PgEnumColumn");this.config.enum=t}build(e){return new aG(e,this.config)}}class aG extends em{static[z]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t);this.enum=t.enum}getSQLType(){return this.enum.enumName}}class un{static[z]="Subquery";constructor(e,t,n,r=!1,o=[]){this._={brand:"Subquery",sql:e,selectedFields:t,alias:n,isWith:r,usedTables:o}}}class Ih extends un{static[z]="WithSubquery"}var cG="0.45.2";var VA,GA,lG={startActiveSpan(e,t){if(!VA)return t();if(!GA)GA=VA.trace.getTracer("drizzle-orm",cG);return Yv((n,r)=>r.startActiveSpan(e,(o)=>{try{return t(o)}catch(i){throw o.setStatus({code:n.SpanStatusCode.ERROR,message:i instanceof Error?i.message:"Unknown error"}),i}finally{o.end()}}),VA,GA)}};var pn=Symbol.for("drizzle:ViewBaseConfig");var Xv=Symbol.for("drizzle:Schema"),ew=Symbol.for("drizzle:Columns"),uG=Symbol.for("drizzle:ExtraConfigColumns"),QA=Symbol.for("drizzle:OriginalName"),KA=Symbol.for("drizzle:BaseName"),kh=Symbol.for("drizzle:IsAlias"),pG=Symbol.for("drizzle:ExtraConfigBuilder"),RSe=Symbol.for("drizzle:IsDrizzleTable");class Se{static[z]="Table";static Symbol={Name:Or,Schema:Xv,OriginalName:QA,Columns:ew,ExtraConfigColumns:uG,BaseName:KA,IsAlias:kh,ExtraConfigBuilder:pG};[Or];[QA];[Xv];[ew];[uG];[KA];[kh]=!1;[RSe]=!0;[pG]=void 0;constructor(e,t,n){this[Or]=this[QA]=e,this[Xv]=t,this[KA]=n}}function rl(e){return e[Or]}function $u(e){return`${e[Xv]??"public"}.${e[Or]}`}class PSe{static[z]="FakePrimitiveParam"}function YA(e){return e!==null&&e!==void 0&&typeof e.getSQL==="function"}function ASe(e){let t={sql:"",params:[]};for(let n of e)if(t.sql+=n.sql,t.params.push(...n.params),n.typings?.length){if(!t.typings)t.typings=[];t.typings.push(...n.typings)}return t}class Un{static[z]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new De([this])}}class De{constructor(e){this.queryChunks=e;for(let t of e)if(ee(t,Se)){let n=t[Se.Symbol.Schema];this.usedTables.push(n===void 0?t[Se.Symbol.Name]:n+"."+t[Se.Symbol.Name])}}static[z]="SQL";decoder=mG;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return lG.startActiveSpan("drizzle.buildSQL",(t)=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(e,t){let n=Object.assign({},t,{inlineParams:t.inlineParams||this.shouldInlineParams,paramStartIndex:t.paramStartIndex||{value:0}}),{casing:r,escapeName:o,escapeParam:i,prepareTyping:s,inlineParams:c,paramStartIndex:l}=n;return ASe(e.map((u)=>{if(ee(u,Un))return{sql:u.value.join(""),params:[]};if(ee(u,tw))return{sql:o(u.value),params:[]};if(u===void 0)return{sql:"",params:[]};if(Array.isArray(u)){let p=[new Un("(")];for(let[d,g]of u.entries())if(p.push(g),d<u.length-1)p.push(new Un(", "));return p.push(new Un(")")),this.buildQueryFromSourceParams(p,n)}if(ee(u,De))return this.buildQueryFromSourceParams(u.queryChunks,{...n,inlineParams:c||u.shouldInlineParams});if(ee(u,Se)){let p=u[Se.Symbol.Schema],d=u[Se.Symbol.Name];return{sql:p===void 0||u[kh]?o(d):o(p)+"."+o(d),params:[]}}if(ee(u,Et)){let p=r.getColumnCasing(u);if(t.invokeSource==="indexes")return{sql:o(p),params:[]};let d=u.table[Se.Symbol.Schema];return{sql:u.table[kh]||d===void 0?o(u.table[Se.Symbol.Name])+"."+o(p):o(d)+"."+o(u.table[Se.Symbol.Name])+"."+o(p),params:[]}}if(ee(u,ci)){let p=u[pn].schema,d=u[pn].name;return{sql:p===void 0||u[pn].isAlias?o(d):o(p)+"."+o(d),params:[]}}if(ee(u,Po)){if(ee(u.value,ol))return{sql:i(l.value++,u),params:[u],typings:["none"]};let p=u.value===null?null:u.encoder.mapToDriverValue(u.value);if(ee(p,De))return this.buildQueryFromSourceParams([p],n);if(c)return{sql:this.mapInlineParam(p,n),params:[]};let d=["none"];if(s)d=[s(u.encoder)];return{sql:i(l.value++,p),params:[p],typings:d}}if(ee(u,ol))return{sql:i(l.value++,u),params:[u],typings:["none"]};if(ee(u,De.Aliased)&&u.fieldAlias!==void 0)return{sql:o(u.fieldAlias),params:[]};if(ee(u,un)){if(u._.isWith)return{sql:o(u._.alias),params:[]};return this.buildQueryFromSourceParams([new Un("("),u._.sql,new Un(") "),new tw(u._.alias)],n)}if(sG(u)){if(u.schema)return{sql:o(u.schema)+"."+o(u.enumName),params:[]};return{sql:o(u.enumName),params:[]}}if(YA(u)){if(u.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([u.getSQL()],n);return this.buildQueryFromSourceParams([new Un("("),u.getSQL(),new Un(")")],n)}if(c)return{sql:this.mapInlineParam(u,n),params:[]};return{sql:i(l.value++,u),params:[u],typings:["none"]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return"null";if(typeof e==="number"||typeof e==="boolean")return e.toString();if(typeof e==="string")return t(e);if(typeof e==="object"){let n=e.toString();if(n==="[object Object]")return t(JSON.stringify(e));return t(n)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){if(e===void 0)return this;return new De.Aliased(this,e)}mapWith(e){return this.decoder=typeof e==="function"?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}}class tw{constructor(e){this.value=e}static[z]="Name";brand;getSQL(){return new De([this])}}function dG(e){return typeof e==="object"&&e!==null&&"mapToDriverValue"in e&&typeof e.mapToDriverValue==="function"}var mG={mapFromDriverValue:(e)=>e},fG={mapToDriverValue:(e)=>e},Z1e={...mG,...fG};class Po{constructor(e,t=fG){this.value=e,this.encoder=t}static[z]="Param";brand;getSQL(){return new De([this])}}function S(e,...t){let n=[];if(t.length>0||e.length>0&&e[0]!=="")n.push(new Un(e[0]));for(let[r,o]of t.entries())n.push(o,new Un(e[r+1]));return new De(n)}((e)=>{function t(){return new De([])}e.empty=t;function n(l){return new De(l)}e.fromList=n;function r(l){return new De([new Un(l)])}e.raw=r;function o(l,u){let p=[];for(let[d,g]of l.entries()){if(d>0&&u!==void 0)p.push(u);p.push(g)}return new De(p)}e.join=o;function i(l){return new tw(l)}e.identifier=i;function s(l){return new ol(l)}e.placeholder=s;function c(l,u){return new Po(l,u)}e.param=c})(S||(S={}));((e)=>{class t{constructor(n,r){this.sql=n,this.fieldAlias=r}static[z]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}}e.Aliased=t})(De||(De={}));class ol{constructor(e){this.name=e}static[z]="Placeholder";getSQL(){return new De([this])}}function Rh(e,t){return e.map((n)=>{if(ee(n,ol)){if(!(n.name in t))throw Error(`No value for placeholder "${n.name}" was provided`);return t[n.name]}if(ee(n,Po)&&ee(n.value,ol)){if(!(n.value.name in t))throw Error(`No value for placeholder "${n.value.name}" was provided`);return n.encoder.mapToDriverValue(t[n.value.name])}return n})}var OSe=Symbol.for("drizzle:IsDrizzleView");class ci{static[z]="View";[pn];[OSe]=!0;constructor({name:e,schema:t,selectedFields:n,query:r}){this[pn]={name:e,originalName:e,schema:t,selectedFields:n,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new De([this])}}Et.prototype.getSQL=function(){return new De([this])};Se.prototype.getSQL=function(){return new De([this])};un.prototype.getSQL=function(){return new De([this])};class tm{constructor(e){this.table=e}static[z]="ColumnAliasProxyHandler";get(e,t){if(t==="table")return this.table;return e[t]}}class Ph{constructor(e,t){this.alias=e,this.replaceOriginalName=t}static[z]="TableAliasProxyHandler";get(e,t){if(t===Se.Symbol.IsAlias)return!0;if(t===Se.Symbol.Name)return this.alias;if(this.replaceOriginalName&&t===Se.Symbol.OriginalName)return this.alias;if(t===pn)return{...e[pn],name:this.alias,isAlias:!0};if(t===Se.Symbol.Columns){let r=e[Se.Symbol.Columns];if(!r)return r;let o={};return Object.keys(r).map((i)=>{o[i]=new Proxy(r[i],new tm(new Proxy(e,this)))}),o}let n=e[t];if(ee(n,Et))return new Proxy(n,new tm(new Proxy(e,this)));return n}}class DSe{constructor(e){this.alias=e}static[z]="RelationTableAliasProxyHandler";get(e,t){if(t==="sourceTable")return Ah(e.sourceTable,this.alias);return e[t]}}function Ah(e,t){return new Proxy(e,new Ph(t,!1))}function Ps(e,t){return new Proxy(e,new tm(new Proxy(e.table,new Ph(t,!1))))}function XA(e,t){return new De.Aliased(Oh(e.sql,t),e.fieldAlias)}function Oh(e,t){return S.join(e.queryChunks.map((n)=>{if(ee(n,Et))return Ps(n,t);if(ee(n,De))return Oh(n,t);if(ee(n,De.Aliased))return XA(n,t);return n}))}class nm extends Error{static[z]="DrizzleError";constructor({message:e,cause:t}){super(e);this.name="DrizzleError",this.cause=t}}class qa extends Error{constructor(e,t,n){super(`Failed query: ${e}
37
+ params: ${t}`);if(this.query=e,this.params=t,this.cause=n,Error.captureStackTrace(this,qa),n)this.cause=n}}class eO extends nm{static[z]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class gG{static[z]="ConsoleLogWriter";write(e){console.log(e)}}class tO{static[z]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new gG}logQuery(e,t){let n=t.map((o)=>{try{return JSON.stringify(o)}catch{return String(o)}}),r=n.length?` -- params: [${n.join(", ")}]`:"";this.writer.write(`Query: ${e}${r}`)}}class nO{static[z]="NoopLogger";logQuery(){}}class Hr{static[z]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}function rO(e,t,n){let r={},o=e.reduce((i,{path:s,field:c},l)=>{let u;if(ee(c,Et))u=c;else if(ee(c,De))u=c.decoder;else if(ee(c,un))u=c._.sql.decoder;else u=c.sql.decoder;let p=i;for(let[d,g]of s.entries())if(d<s.length-1){if(!(g in p))p[g]={};p=p[g]}else{let f=t[l],v=p[g]=f===null?null:u.mapFromDriverValue(f);if(n&&ee(c,Et)&&s.length===2){let w=s[0];if(!(w in r))r[w]=v===null?rl(c.table):!1;else if(typeof r[w]==="string"&&r[w]!==rl(c.table))r[w]=!1}}return i},{});if(n&&Object.keys(r).length>0){for(let[i,s]of Object.entries(r))if(typeof s==="string"&&!n[s])o[i]=null}return o}function li(e,t){return Object.entries(e).reduce((n,[r,o])=>{if(typeof r!=="string")return n;let i=t?[...t,r]:[r];if(ee(o,Et)||ee(o,De)||ee(o,De.Aliased)||ee(o,un))n.push({path:i,field:o});else if(ee(o,Se))n.push(...li(o[Se.Symbol.Columns],i));else n.push(...li(o,i));return n},[])}function Dh(e,t){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let[o,i]of n.entries())if(i!==r[o])return!1;return!0}function nw(e,t){let n=Object.entries(t).filter(([,r])=>r!==void 0).map(([r,o])=>{if(ee(o,De)||ee(o,Et))return[r,o];else return[r,new Po(o,e[Se.Symbol.Columns][r])]});if(n.length===0)throw Error("No values to set");return Object.fromEntries(n)}function hG(e,t){for(let n of t)for(let r of Object.getOwnPropertyNames(n.prototype)){if(r==="constructor")continue;Object.defineProperty(e.prototype,r,Object.getOwnPropertyDescriptor(n.prototype,r)||Object.create(null))}}function rm(e){return e[Se.Symbol.Columns]}function Mh(e){return ee(e,un)?e._.alias:ee(e,ci)?e[pn].name:ee(e,De)?void 0:e[Se.Symbol.IsAlias]?e[Se.Symbol.Name]:e[Se.Symbol.BaseName]}function As(e,t){return{name:typeof e==="string"&&e.length>0?e:"",config:typeof e==="object"?e:t}}function yG(e){if(typeof e!=="object"||e===null)return!1;if(e.constructor.name!=="Object")return!1;if("logger"in e){let t=typeof e.logger;if(t!=="boolean"&&(t!=="object"||typeof e.logger.logQuery!=="function")&&t!=="undefined")return!1;return!0}if("schema"in e){let t=typeof e.schema;if(t!=="object"&&t!=="undefined")return!1;return!0}if("casing"in e){let t=typeof e.casing;if(t!=="string"&&t!=="undefined")return!1;return!0}if("mode"in e){if(e.mode!=="default"||e.mode!=="planetscale"||e.mode!==void 0)return!1;return!0}if("connection"in e){let t=typeof e.connection;if(t!=="string"&&t!=="object"&&t!=="undefined")return!1;return!0}if("client"in e){let t=typeof e.client;if(t!=="object"&&t!=="function"&&t!=="undefined")return!1;return!0}if(Object.keys(e).length===0)return!0;return!1}var oO=typeof TextDecoder>"u"?null:new TextDecoder;var bG=Symbol.for("drizzle:PgInlineForeignKeys"),xG=Symbol.for("drizzle:EnableRLS");class iO extends Se{static[z]="PgTable";static Symbol=Object.assign({},Se.Symbol,{InlineForeignKeys:bG,EnableRLS:xG});[bG]=[];[xG]=!1;[Se.Symbol.ExtraConfigBuilder]=void 0;[Se.Symbol.ExtraConfigColumns]={}}class sO{static[z]="PgPrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new SG(e,this.columns,this.name)}}class SG{constructor(e,t,n){this.table=e,this.columns=t,this.name=n}static[z]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[iO.Symbol.Name]}_${this.columns.map((e)=>e.name).join("_")}_pk`}}function mo(e,t){if(dG(t)&&!YA(e)&&!ee(e,Po)&&!ee(e,ol)&&!ee(e,Et)&&!ee(e,Se)&&!ee(e,ci))return new Po(e,t);return e}var O=(e,t)=>S`${e} = ${mo(t,e)}`,il=(e,t)=>S`${e} <> ${mo(t,e)}`;function oe(...e){let t=e.filter((n)=>n!==void 0);if(t.length===0)return;if(t.length===1)return new De(t);return new De([new Un("("),S.join(t,new Un(" and ")),new Un(")")])}function fr(...e){let t=e.filter((n)=>n!==void 0);if(t.length===0)return;if(t.length===1)return new De(t);return new De([new Un("("),S.join(t,new Un(" or ")),new Un(")")])}function rw(e){return S`not ${e}`}var Za=(e,t)=>S`${e} > ${mo(t,e)}`,vG=(e,t)=>S`${e} >= ${mo(t,e)}`,wG=(e,t)=>S`${e} < ${mo(t,e)}`,Dr=(e,t)=>S`${e} <= ${mo(t,e)}`;function It(e,t){if(Array.isArray(t)){if(t.length===0)return S`false`;return S`${e} in ${t.map((n)=>mo(n,e))}`}return S`${e} in ${mo(t,e)}`}function TG(e,t){if(Array.isArray(t)){if(t.length===0)return S`true`;return S`${e} not in ${t.map((n)=>mo(n,e))}`}return S`${e} not in ${mo(t,e)}`}function rr(e){return S`${e} is null`}function sl(e){return S`${e} is not null`}function al(e){return S`exists ${e}`}function ow(e){return S`not exists ${e}`}function CG(e,t,n){return S`${e} between ${mo(t,e)} and ${mo(n,e)}`}function EG(e,t,n){return S`${e} not between ${mo(t,e)} and ${mo(n,e)}`}function IG(e,t){return S`${e} like ${t}`}function kG(e,t){return S`${e} not like ${t}`}function RG(e,t){return S`${e} ilike ${t}`}function PG(e,t){return S`${e} not ilike ${t}`}function st(e){return S`${e} asc`}function dn(e){return S`${e} desc`}class aO{constructor(e,t,n){this.sourceTable=e,this.referencedTable=t,this.relationName=n,this.referencedTableName=t[Se.Symbol.Name]}static[z]="Relation";referencedTableName;fieldName}class AG{constructor(e,t){this.table=e,this.config=t}static[z]="Relations"}class cl extends aO{constructor(e,t,n,r){super(e,t,n?.relationName);this.config=n,this.isNullable=r}static[z]="One";withFieldName(e){let t=new cl(this.sourceTable,this.referencedTable,this.config,this.isNullable);return t.fieldName=e,t}}class _h extends aO{constructor(e,t,n){super(e,t,n?.relationName);this.config=n}static[z]="Many";withFieldName(e){let t=new _h(this.sourceTable,this.referencedTable,this.config);return t.fieldName=e,t}}function OG(){return{and:oe,between:CG,eq:O,exists:al,gt:Za,gte:vG,ilike:RG,inArray:It,isNull:rr,isNotNull:sl,like:IG,lt:wG,lte:Dr,ne:il,not:rw,notBetween:EG,notExists:ow,notLike:kG,notIlike:PG,notInArray:TG,or:fr,sql:S}}function DG(){return{sql:S,asc:st,desc:dn}}function MG(e,t){if(Object.keys(e).length===1&&"default"in e&&!ee(e.default,Se))e=e.default;let n={},r={},o={};for(let[i,s]of Object.entries(e))if(ee(s,Se)){let c=$u(s),l=r[c];n[c]=i,o[i]={tsName:i,dbName:s[Se.Symbol.Name],schema:s[Se.Symbol.Schema],columns:s[Se.Symbol.Columns],relations:l?.relations??{},primaryKey:l?.primaryKey??[]};for(let p of Object.values(s[Se.Symbol.Columns]))if(p.primary)o[i].primaryKey.push(p);let u=s[Se.Symbol.ExtraConfigBuilder]?.(s[Se.Symbol.ExtraConfigColumns]);if(u){for(let p of Object.values(u))if(ee(p,sO))o[i].primaryKey.push(...p.columns)}}else if(ee(s,AG)){let c=$u(s.table),l=n[c],u=s.config(t(s.table)),p;for(let[d,g]of Object.entries(u))if(l){let f=o[l];if(f.relations[d]=g,p)f.primaryKey.push(...p)}else{if(!(c in r))r[c]={relations:{},primaryKey:p};r[c].relations[d]=g}}return{tables:o,tableNamesMap:n}}function MSe(e){return function(n,r){return new cl(e,n,r,r?.fields.reduce((o,i)=>o&&i.notNull,!0)??!1)}}function _Se(e){return function(n,r){return new _h(e,n,r)}}function _G(e,t,n){if(ee(n,cl)&&n.config)return{fields:n.config.fields,references:n.config.references};let r=t[$u(n.referencedTable)];if(!r)throw Error(`Table "${n.referencedTable[Se.Symbol.Name]}" not found in schema`);let o=e[r];if(!o)throw Error(`Table "${r}" not found in schema`);let i=n.sourceTable,s=t[$u(i)];if(!s)throw Error(`Table "${i[Se.Symbol.Name]}" not found in schema`);let c=[];for(let l of Object.values(o.relations))if(n.relationName&&n!==l&&l.relationName===n.relationName||!n.relationName&&l.referencedTable===n.sourceTable)c.push(l);if(c.length>1)throw n.relationName?Error(`There are multiple relations with name "${n.relationName}" in table "${r}"`):Error(`There are multiple relations between "${r}" and "${n.sourceTable[Se.Symbol.Name]}". Please specify relation name`);if(c[0]&&ee(c[0],cl)&&c[0].config)return{fields:c[0].config.references,references:c[0].config.fields};throw Error(`There is not enough information to infer relation "${s}.${n.fieldName}"`)}function zG(e){return{one:MSe(e),many:_Se(e)}}function iw(e,t,n,r,o=(i)=>i){let i={};for(let[s,c]of r.entries())if(c.isJson){let l=t.relations[c.tsKey],u=n[s],p=typeof u==="string"?JSON.parse(u):u;i[c.tsKey]=ee(l,cl)?p&&iw(e,e[c.relationTableTsKey],p,c.selection,o):p.map((d)=>iw(e,e[c.relationTableTsKey],d,c.selection,o))}else{let l=o(n[s]),u=c.field,p;if(ee(u,Et))p=u;else if(ee(u,De))p=u.decoder;else p=u.sql.decoder;i[c.tsKey]=l===null?null:p.mapFromDriverValue(l)}return i}function FG(e){return S`count(${e||S.raw("*")})`.mapWith(Number)}class NG{constructor(e,t){this.name=e,this.value=t}static[z]="SQLiteCheckBuilder";brand;build(e){return new jG(e,this)}}class jG{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}static[z]="SQLiteCheck";name;value}function ll(e,t){return new NG(e,t)}class cO{static[z]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(e,t){if(this.reference=()=>{let{name:n,columns:r,foreignColumns:o}=e();return{name:n,columns:r,foreignTable:o[0].table,foreignColumns:o}},t)this._onUpdate=t.onUpdate,this._onDelete=t.onDelete}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new BG(e,this)}}class BG{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[z]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:n}=this.reference(),r=t.map((s)=>s.name),o=n.map((s)=>s.name),i=[this.table[Or],...r,n[0].table[Or],...o];return e??`${i.join("_")}_fk`}}function lO(e,t){return`${e[Or]}_${t.join("_")}_unique`}class LG{constructor(e,t){this.name=t,this.columns=e}static[z]="SQLiteUniqueConstraintBuilder";columns;build(e){return new qG(e,this.columns,this.name)}}class zSe{static[z]="SQLiteUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new LG(e,this.name)}}class qG{constructor(e,t,n){this.table=e,this.columns=t,this.name=n??lO(this.table,this.columns.map((r)=>r.name))}static[z]="SQLiteUniqueConstraint";columns;name;getName(){return this.name}}class or extends Ch{static[z]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:"always",mode:t?.mode??"virtual"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:n,actions:r})=>((o,i)=>{let s=new cO(()=>{let c=o();return{columns:[e],foreignColumns:[c]}});if(i.onUpdate)s.onUpdate(i.onUpdate);if(i.onDelete)s.onDelete(i.onDelete);return s.build(t)})(n,r))}}class gn extends Et{constructor(e,t){if(!t.uniqueName)t.uniqueName=lO(e,[t.name]);super(e,t);this.table=e}static[z]="SQLiteColumn"}class ZG extends or{static[z]="SQLiteBigIntBuilder";constructor(e){super(e,"bigint","SQLiteBigInt")}build(e){return new $G(e,this.config)}}class $G extends gn{static[z]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return BigInt(t.toString("utf8"))}return BigInt(oO.decode(e))}mapToDriverValue(e){return Buffer.from(e.toString())}}class UG extends or{static[z]="SQLiteBlobJsonBuilder";constructor(e){super(e,"json","SQLiteBlobJson")}build(e){return new WG(e,this.config)}}class WG extends gn{static[z]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return JSON.parse(t.toString("utf8"))}return JSON.parse(oO.decode(e))}mapToDriverValue(e){return Buffer.from(JSON.stringify(e))}}class HG extends or{static[z]="SQLiteBlobBufferBuilder";constructor(e){super(e,"buffer","SQLiteBlobBuffer")}build(e){return new JG(e,this.config)}}class JG extends gn{static[z]="SQLiteBlobBuffer";mapFromDriverValue(e){if(Buffer.isBuffer(e))return e;return Buffer.from(e)}getSQLType(){return"blob"}}function sw(e,t){let{name:n,config:r}=As(e,t);if(r?.mode==="json")return new UG(n);if(r?.mode==="bigint")return new ZG(n);return new HG(n)}class VG extends or{static[z]="SQLiteCustomColumnBuilder";constructor(e,t,n){super(e,"custom","SQLiteCustomColumn");this.config.fieldConfig=t,this.config.customTypeParams=n}build(e){return new GG(e,this.config)}}class GG extends gn{static[z]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(e,t){super(e,t);this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom==="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo==="function"?this.mapTo(e):e}}function aw(e){return(t,n)=>{let{name:r,config:o}=As(t,n);return new VG(r,o,e)}}class cw extends or{static[z]="SQLiteBaseIntegerBuilder";constructor(e,t,n){super(e,t,n);this.config.autoIncrement=!1}primaryKey(e){if(e?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}}class lw extends gn{static[z]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class QG extends cw{static[z]="SQLiteIntegerBuilder";constructor(e){super(e,"number","SQLiteInteger")}build(e){return new KG(e,this.config)}}class KG extends lw{static[z]="SQLiteInteger"}class YG extends cw{static[z]="SQLiteTimestampBuilder";constructor(e,t){super(e,"date","SQLiteTimestamp");this.config.mode=t}defaultNow(){return this.default(S`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new XG(e,this.config)}}class XG extends lw{static[z]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(e){if(this.config.mode==="timestamp")return new Date(e*1000);return new Date(e)}mapToDriverValue(e){let t=e.getTime();if(this.config.mode==="timestamp")return Math.floor(t/1000);return t}}class eQ extends cw{static[z]="SQLiteBooleanBuilder";constructor(e,t){super(e,"boolean","SQLiteBoolean");this.config.mode=t}build(e){return new tQ(e,this.config)}}class tQ extends lw{static[z]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}function qe(e,t){let{name:n,config:r}=As(e,t);if(r?.mode==="timestamp"||r?.mode==="timestamp_ms")return new YG(n,r.mode);if(r?.mode==="boolean")return new eQ(n,r.mode);return new QG(n)}class nQ extends or{static[z]="SQLiteNumericBuilder";constructor(e){super(e,"string","SQLiteNumeric")}build(e){return new rQ(e,this.config)}}class rQ extends gn{static[z]="SQLiteNumeric";mapFromDriverValue(e){if(typeof e==="string")return e;return String(e)}getSQLType(){return"numeric"}}class oQ extends or{static[z]="SQLiteNumericNumberBuilder";constructor(e){super(e,"number","SQLiteNumericNumber")}build(e){return new iQ(e,this.config)}}class iQ extends gn{static[z]="SQLiteNumericNumber";mapFromDriverValue(e){if(typeof e==="number")return e;return Number(e)}mapToDriverValue=String;getSQLType(){return"numeric"}}class sQ extends or{static[z]="SQLiteNumericBigIntBuilder";constructor(e){super(e,"bigint","SQLiteNumericBigInt")}build(e){return new aQ(e,this.config)}}class aQ extends gn{static[z]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function cQ(e,t){let{name:n,config:r}=As(e,t),o=r?.mode;return o==="number"?new oQ(n):o==="bigint"?new sQ(n):new nQ(n)}class lQ extends or{static[z]="SQLiteRealBuilder";constructor(e){super(e,"number","SQLiteReal")}build(e){return new uQ(e,this.config)}}class uQ extends gn{static[z]="SQLiteReal";getSQLType(){return"real"}}function pQ(e){return new lQ(e??"")}class dQ extends or{static[z]="SQLiteTextBuilder";constructor(e,t){super(e,"string","SQLiteText");this.config.enumValues=t.enum,this.config.length=t.length}build(e){return new mQ(e,this.config)}}class mQ extends gn{static[z]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(e,t){super(e,t)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class fQ extends or{static[z]="SQLiteTextJsonBuilder";constructor(e){super(e,"json","SQLiteTextJson")}build(e){return new gQ(e,this.config)}}class gQ extends gn{static[z]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(e){return JSON.parse(e)}mapToDriverValue(e){return JSON.stringify(e)}}function le(e,t={}){let{name:n,config:r}=As(e,t);if(r.mode==="json")return new fQ(n);return new dQ(n,r)}class _n{static[z]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,t){if(t==="_")return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(t===pn)return{...e[pn],selectedFields:new Proxy(e[pn].selectedFields,this)};if(typeof t==="symbol")return e[t];let r=(ee(e,un)?e._.selectedFields:ee(e,ci)?e[pn].selectedFields:e)[t];if(ee(r,De.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!r.isSelectionField)return r.sql;let o=r.clone();return o.isSelectionField=!0,o}if(ee(r,De)){if(this.config.sqlBehavior==="sql")return r;throw Error(`You tried to reference "${t}" 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(ee(r,Et)){if(this.config.alias)return new Proxy(r,new tm(new Proxy(r.table,new Ph(this.config.alias,this.config.replaceOriginalName??!1))));return r}if(typeof r!=="object"||r===null)return r;return new Proxy(r,new _n(this.config))}}function hQ(){return{blob:sw,customType:aw,integer:qe,numeric:cQ,real:pQ,text:le}}var uO=Symbol.for("drizzle:SQLiteInlineForeignKeys");class zn extends Se{static[z]="SQLiteTable";static Symbol=Object.assign({},Se.Symbol,{InlineForeignKeys:uO});[Se.Symbol.Columns];[uO]=[];[Se.Symbol.ExtraConfigBuilder]=void 0}function FSe(e,t,n,r,o=e){let i=new zn(e,r,o),s=typeof t==="function"?t(hQ()):t,c=Object.fromEntries(Object.entries(s).map(([u,p])=>{let d=p;d.setName(u);let g=d.build(i);return i[uO].push(...d.buildForeignKeys(g,i)),[u,g]})),l=Object.assign(i,c);if(l[Se.Symbol.Columns]=c,l[Se.Symbol.ExtraConfigColumns]=c,n)l[zn.Symbol.ExtraConfigBuilder]=n;return l}var Bt=(e,t,n)=>FSe(e,t,n);class pO{constructor(e,t){this.name=e,this.unique=t}static[z]="SQLiteIndexBuilderOn";on(...e){return new yQ(this.name,e,this.unique)}}class yQ{static[z]="SQLiteIndexBuilder";config;constructor(e,t,n){this.config={name:e,columns:t,unique:n,where:void 0}}where(e){return this.config.where=e,this}build(e){return new bQ(this.config,e)}}class bQ{static[z]="SQLiteIndex";config;constructor(e,t){this.config={...e,table:t}}}function Ft(e){return new pO(e,!1)}function dO(e){return new pO(e,!0)}function Ao(...e){if(e[0].columns)return new mO(e[0].columns,e[0].name);return new mO(e)}class mO{static[z]="SQLitePrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new xQ(e,this.columns,this.name)}}class xQ{constructor(e,t,n){this.table=e,this.columns=t,this.name=n}static[z]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[zn.Symbol.Name]}_${this.columns.map((e)=>e.name).join("_")}_pk`}}function qi(e){if(ee(e,zn))return[`${e[Se.Symbol.BaseName]}`];if(ee(e,un))return e._.usedTables??[];if(ee(e,De))return e.usedTables??[];return[]}class uw extends Hr{constructor(e,t,n,r){super();this.table=e,this.session=t,this.dialect=n,this.config={table:e,withList:r}}static[z]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[Se.Symbol.Columns],new _n({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.table[zn.Symbol.Columns]){return this.config.returning=li(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:qi(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}function NSe(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((n)=>n.toLowerCase()).join("_")}function jSe(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((n,r,o)=>{let i=o===0?r.toLowerCase():`${r[0].toUpperCase()}${r.slice(1)}`;return n+i},"")}function BSe(e){return e}class fO{static[z]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert=e==="snake_case"?NSe:e==="camelCase"?jSe:BSe}getColumnCasing(e){if(!e.keyAsName)return e.name;let t=e.table[Se.Symbol.Schema]??"public",n=e.table[Se.Symbol.OriginalName],r=`${t}.${n}.${e.name}`;if(!this.cache[r])this.cacheTable(e.table);return this.cache[r]}cacheTable(e){let t=e[Se.Symbol.Schema]??"public",n=e[Se.Symbol.OriginalName],r=`${t}.${n}`;if(!this.cachedTables[r]){for(let o of Object.values(e[Se.Symbol.Columns])){let i=`${r}.${o.name}`;this.cache[i]=this.convert(o.name)}this.cachedTables[r]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class Uu extends ci{static[z]="SQLiteViewBase"}class om{static[z]="SQLiteDialect";casing;constructor(e){this.casing=new fO(e?.casing)}escapeName(e){return`"${e.replace(/"/g,'""')}"`}escapeParam(e){return"?"}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let t=[S`with `];for(let[n,r]of e.entries())if(t.push(S`${S.identifier(r._.alias)} as (${r._.sql})`),n<e.length-1)t.push(S`, `);return t.push(S` `),S.join(t)}buildDeleteQuery({table:e,where:t,returning:n,withList:r,limit:o,orderBy:i}){let s=this.buildWithCTE(r),c=n?S` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,l=t?S` where ${t}`:void 0,u=this.buildOrderBy(i),p=this.buildLimit(o);return S`${s}delete from ${e}${l}${c}${u}${p}`}buildUpdateSet(e,t){let n=e[Se.Symbol.Columns],r=Object.keys(n).filter((i)=>t[i]!==void 0||n[i]?.onUpdateFn!==void 0),o=r.length;return S.join(r.flatMap((i,s)=>{let c=n[i],l=c.onUpdateFn?.(),u=t[i]??(ee(l,De)?l:S.param(l,c)),p=S`${S.identifier(this.casing.getColumnCasing(c))} = ${u}`;if(s<o-1)return[p,S.raw(", ")];return[p]}))}buildUpdateQuery({table:e,set:t,where:n,returning:r,withList:o,joins:i,from:s,limit:c,orderBy:l}){let u=this.buildWithCTE(o),p=this.buildUpdateSet(e,t),d=s&&S.join([S.raw(" from "),this.buildFromTable(s)]),g=this.buildJoins(i),f=r?S` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,v=n?S` where ${n}`:void 0,w=this.buildOrderBy(l),I=this.buildLimit(c);return S`${u}update ${e} set ${p}${d}${g}${v}${f}${w}${I}`}buildSelection(e,{isSingleTable:t=!1}={}){let n=e.length,r=e.flatMap(({field:o},i)=>{let s=[];if(ee(o,De.Aliased)&&o.isSelectionField)s.push(S.identifier(o.fieldAlias));else if(ee(o,De.Aliased)||ee(o,De)){let c=ee(o,De.Aliased)?o.sql:o;if(t)s.push(new De(c.queryChunks.map((l)=>{if(ee(l,Et))return S.identifier(this.casing.getColumnCasing(l));return l})));else s.push(c);if(ee(o,De.Aliased))s.push(S` as ${S.identifier(o.fieldAlias)}`)}else if(ee(o,Et)){let c=o.table[Se.Symbol.Name];if(o.columnType==="SQLiteNumericBigInt")if(t)s.push(S`cast(${S.identifier(this.casing.getColumnCasing(o))} as text)`);else s.push(S`cast(${S.identifier(c)}.${S.identifier(this.casing.getColumnCasing(o))} as text)`);else if(t)s.push(S.identifier(this.casing.getColumnCasing(o)));else s.push(S`${S.identifier(c)}.${S.identifier(this.casing.getColumnCasing(o))}`)}else if(ee(o,un)){let c=Object.entries(o._.selectedFields);if(c.length===1){let l=c[0][1],u=ee(l,De)?l.decoder:ee(l,Et)?{mapFromDriverValue:(p)=>l.mapFromDriverValue(p)}:l.sql.decoder;if(u)o._.sql.decoder=u}s.push(o)}if(i<n-1)s.push(S`, `);return s});return S.join(r)}buildJoins(e){if(!e||e.length===0)return;let t=[];if(e)for(let[n,r]of e.entries()){if(n===0)t.push(S` `);let o=r.table,i=r.on?S` on ${r.on}`:void 0;if(ee(o,zn)){let s=o[zn.Symbol.Name],c=o[zn.Symbol.Schema],l=o[zn.Symbol.OriginalName],u=s===l?void 0:r.alias;t.push(S`${S.raw(r.joinType)} join ${c?S`${S.identifier(c)}.`:void 0}${S.identifier(l)}${u&&S` ${S.identifier(u)}`}${i}`)}else t.push(S`${S.raw(r.joinType)} join ${o}${i}`);if(n<e.length-1)t.push(S` `)}return S.join(t)}buildLimit(e){return typeof e==="object"||typeof e==="number"&&e>=0?S` limit ${e}`:void 0}buildOrderBy(e){let t=[];if(e){for(let[n,r]of e.entries())if(t.push(r),n<e.length-1)t.push(S`, `)}return t.length>0?S` order by ${S.join(t)}`:void 0}buildFromTable(e){if(ee(e,Se)&&e[Se.Symbol.IsAlias])return S`${S`${S.identifier(e[Se.Symbol.Schema]??"")}.`.if(e[Se.Symbol.Schema])}${S.identifier(e[Se.Symbol.OriginalName])} ${S.identifier(e[Se.Symbol.Name])}`;return e}buildSelectQuery({withList:e,fields:t,fieldsFlat:n,where:r,having:o,table:i,joins:s,orderBy:c,groupBy:l,limit:u,offset:p,distinct:d,setOperators:g}){let f=n??li(t);for(let Y of f)if(ee(Y.field,Et)&&rl(Y.field.table)!==(ee(i,un)?i._.alias:ee(i,Uu)?i[pn].name:ee(i,De)?void 0:rl(i))&&!((G)=>s?.some(({alias:me})=>me===(G[Se.Symbol.IsAlias]?rl(G):G[Se.Symbol.BaseName])))(Y.field.table)){let G=rl(Y.field.table);throw Error(`Your "${Y.path.join("->")}" field references a column "${G}"."${Y.field.name}", but the table "${G}" is not part of the query! Did you forget to join it?`)}let v=!s||s.length===0,w=this.buildWithCTE(e),I=d?S` distinct`:void 0,A=this.buildSelection(f,{isSingleTable:v}),L=this.buildFromTable(i),N=this.buildJoins(s),re=r?S` where ${r}`:void 0,Ee=o?S` having ${o}`:void 0,D=[];if(l){for(let[Y,G]of l.entries())if(D.push(G),Y<l.length-1)D.push(S`, `)}let Ce=D.length>0?S` group by ${S.join(D)}`:void 0,ke=this.buildOrderBy(c),Me=this.buildLimit(u),te=p?S` offset ${p}`:void 0,ce=S`${w}select${I} ${A} from ${L}${N}${re}${Ce}${Ee}${ke}${Me}${te}`;if(g.length>0)return this.buildSetOperations(ce,g);return ce}buildSetOperations(e,t){let[n,...r]=t;if(!n)throw Error("Cannot pass undefined values to any set operator");if(r.length===0)return this.buildSetOperationQuery({leftSelect:e,setOperator:n});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),r)}buildSetOperationQuery({leftSelect:e,setOperator:{type:t,isAll:n,rightSelect:r,limit:o,orderBy:i,offset:s}}){let c=S`${e.getSQL()} `,l=S`${r.getSQL()}`,u;if(i&&i.length>0){let f=[];for(let v of i)if(ee(v,gn))f.push(S.identifier(v.name));else if(ee(v,De)){for(let w=0;w<v.queryChunks.length;w++){let I=v.queryChunks[w];if(ee(I,gn))v.queryChunks[w]=S.identifier(this.casing.getColumnCasing(I))}f.push(S`${v}`)}else f.push(S`${v}`);u=S` order by ${S.join(f,S`, `)}`}let p=typeof o==="object"||typeof o==="number"&&o>=0?S` limit ${o}`:void 0,d=S.raw(`${t} ${n?"all ":""}`),g=s?S` offset ${s}`:void 0;return S`${c}${d}${l}${u}${p}${g}`}buildInsertQuery({table:e,values:t,onConflict:n,returning:r,withList:o,select:i}){let s=[],c=e[Se.Symbol.Columns],l=Object.entries(c).filter(([v,w])=>!w.shouldDisableInsert()),u=l.map(([,v])=>S.identifier(this.casing.getColumnCasing(v)));if(i){let v=t;if(ee(v,De))s.push(v);else s.push(v.getSQL())}else{let v=t;s.push(S.raw("values "));for(let[w,I]of v.entries()){let A=[];for(let[L,N]of l){let re=I[L];if(re===void 0||ee(re,Po)&&re.value===void 0){let Ee;if(N.default!==null&&N.default!==void 0)Ee=ee(N.default,De)?N.default:S.param(N.default,N);else if(N.defaultFn!==void 0){let D=N.defaultFn();Ee=ee(D,De)?D:S.param(D,N)}else if(!N.default&&N.onUpdateFn!==void 0){let D=N.onUpdateFn();Ee=ee(D,De)?D:S.param(D,N)}else Ee=S`null`;A.push(Ee)}else A.push(re)}if(s.push(A),w<v.length-1)s.push(S`, `)}}let p=this.buildWithCTE(o),d=S.join(s),g=r?S` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,f=n?.length?S.join(n):void 0;return S`${p}insert into ${e} ${u} ${d}${f}${g}`}sqlToQuery(e,t){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:t})}buildRelationalQuery({fullSchema:e,schema:t,tableNamesMap:n,table:r,tableConfig:o,queryConfig:i,tableAlias:s,nestedQueryRelation:c,joinOn:l}){let u=[],p,d,g=[],f,v=[];if(i===!0)u=Object.entries(o.columns).map(([A,L])=>({dbKey:L.name,tsKey:A,field:Ps(L,s),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let I=Object.fromEntries(Object.entries(o.columns).map(([D,Ce])=>[D,Ps(Ce,s)]));if(i.where){let D=typeof i.where==="function"?i.where(I,OG()):i.where;f=D&&Oh(D,s)}let A=[],L=[];if(i.columns){let D=!1;for(let[Ce,ke]of Object.entries(i.columns)){if(ke===void 0)continue;if(Ce in o.columns){if(!D&&ke===!0)D=!0;L.push(Ce)}}if(L.length>0)L=D?L.filter((Ce)=>i.columns?.[Ce]===!0):Object.keys(o.columns).filter((Ce)=>!L.includes(Ce))}else L=Object.keys(o.columns);for(let D of L){let Ce=o.columns[D];A.push({tsKey:D,value:Ce})}let N=[];if(i.with)N=Object.entries(i.with).filter((D)=>!!D[1]).map(([D,Ce])=>({tsKey:D,queryConfig:Ce,relation:o.relations[D]}));let re;if(i.extras){re=typeof i.extras==="function"?i.extras(I,{sql:S}):i.extras;for(let[D,Ce]of Object.entries(re))A.push({tsKey:D,value:XA(Ce,s)})}for(let{tsKey:D,value:Ce}of A)u.push({dbKey:ee(Ce,De.Aliased)?Ce.fieldAlias:o.columns[D].name,tsKey:D,field:ee(Ce,Et)?Ps(Ce,s):Ce,relationTableTsKey:void 0,isJson:!1,selection:[]});let Ee=typeof i.orderBy==="function"?i.orderBy(I,DG()):i.orderBy??[];if(!Array.isArray(Ee))Ee=[Ee];g=Ee.map((D)=>{if(ee(D,Et))return Ps(D,s);return Oh(D,s)}),p=i.limit,d=i.offset;for(let{tsKey:D,queryConfig:Ce,relation:ke}of N){let Me=_G(t,n,ke),te=$u(ke.referencedTable),ce=n[te],Y=`${s}_${D}`,G=oe(...Me.fields.map((se,Qe)=>O(Ps(Me.references[Qe],Y),Ps(se,s)))),me=this.buildRelationalQuery({fullSchema:e,schema:t,tableNamesMap:n,table:e[ce],tableConfig:t[ce],queryConfig:ee(ke,cl)?Ce===!0?{limit:1}:{...Ce,limit:1}:Ce,tableAlias:Y,joinOn:G,nestedQueryRelation:ke}),xe=S`(${me.sql})`.as(D);u.push({dbKey:D,tsKey:D,field:xe,relationTableTsKey:ce,isJson:!0,selection:me.selection})}}if(u.length===0)throw new nm({message:`No fields selected for table "${o.tsName}" ("${s}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});let w;if(f=oe(l,f),c){let I=S`json_array(${S.join(u.map(({field:N})=>ee(N,gn)?S.identifier(this.casing.getColumnCasing(N)):ee(N,De.Aliased)?N.sql:N),S`, `)})`;if(ee(c,_h))I=S`coalesce(json_group_array(${I}), json_array())`;let A=[{dbKey:"data",tsKey:"data",field:I.as("data"),isJson:!0,relationTableTsKey:o.tsName,selection:u}];if(p!==void 0||d!==void 0||g.length>0)w=this.buildSelectQuery({table:Ah(r,s),fields:{},fieldsFlat:[{path:[],field:S.raw("*")}],where:f,limit:p,offset:d,orderBy:g,setOperators:[]}),f=void 0,p=void 0,d=void 0,g=void 0;else w=Ah(r,s);w=this.buildSelectQuery({table:ee(w,zn)?w:new un(w,{},s),fields:{},fieldsFlat:A.map(({field:N})=>({path:[],field:ee(N,Et)?Ps(N,s):N})),joins:v,where:f,limit:p,offset:d,orderBy:g,setOperators:[]})}else w=this.buildSelectQuery({table:Ah(r,s),fields:{},fieldsFlat:u.map(({field:I})=>({path:[],field:ee(I,Et)?Ps(I,s):I})),joins:v,where:f,limit:p,offset:d,orderBy:g,setOperators:[]});return{tableTsKey:o.tsName,sql:w,selection:u}}}class gO extends om{static[z]="SQLiteSyncDialect";migrate(e,t,n){let r=n===void 0?"__drizzle_migrations":typeof n==="string"?"__drizzle_migrations":n.migrationsTable??"__drizzle_migrations",o=S`
38
38
  CREATE TABLE IF NOT EXISTS ${S.identifier(r)} (
39
39
  id SERIAL PRIMARY KEY,
40
40
  hash text NOT NULL,
@@ -46,7 +46,7 @@ params: ${t}`);if(this.query=e,this.params=t,this.cause=n,Error.captureStackTrac
46
46
  hash text NOT NULL,
47
47
  created_at numeric
48
48
  )
49
- `;await t.run(o);let s=(await t.values(S`SELECT id, hash, created_at FROM ${S.identifier(r)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async(c)=>{for(let l of e)if(!s||Number(s[2])<l.folderMillis){for(let u of l.sql)await c.run(S.raw(u));await c.run(S`INSERT INTO ${S.identifier(r)} ("hash", "created_at") VALUES(${l.hash}, ${l.folderMillis})`)}})}}class yO{static[z]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class Zi{static[z]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let t=!!this.fields,n;if(this.fields)n=this.fields;else if(ee(e,un))n=Object.fromEntries(Object.keys(e._.selectedFields).map((r)=>[r,e[r]]));else if(ee(e,Uu))n=e[pn].selectedFields;else if(ee(e,De))n={};else n=rm(e);return new bO({table:e,fields:n,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class SQ extends yO{static[z]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:r,dialect:o,withList:i,distinct:s}){super();this.config={withList:i,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=n,this.session=r,this.dialect=o,this._={selectedFields:t,config:this.config},this.tableName=Mh(e),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let c of qi(e))this.usedTables.add(c)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,n)=>{let r=this.tableName,o=Mh(t);for(let i of qi(t))this.usedTables.add(i);if(typeof o==="string"&&this.config.joins?.some((i)=>i.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof r==="string")this.config.fields={[r]:this.config.fields};if(typeof o==="string"&&!ee(t,De)){let i=ee(t,un)?t._.selectedFields:ee(t,ci)?t[pn].selectedFields:t[Se.Symbol.Columns];this.config.fields[o]=i}}if(typeof n==="function")n=n(new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:n,table:t,joinType:e,alias:o}),typeof o==="string")switch(e){case"left":{this.joinsNotNullableMap[o]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([i])=>[i,!1])),this.joinsNotNullableMap[o]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[o]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([i])=>[i,!1])),this.joinsNotNullableMap[o]=!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(e,t){return(n)=>{let r=typeof n==="function"?n(LSe()):n;if(!Dh(this.getSelectedFields(),r.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:e,isAll:t,rightSelect:r}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=e,this}having(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=e,this}groupBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=n;else this.config.orderBy=n}else{let t=e;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=t;else this.config.orderBy=t}return this}limit(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=e;else this.config.limit=e;return this}offset(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=e;else this.config.offset=e;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...qi(this.config.table)),this.config.joins)for(let n of this.config.joins)t.push(...qi(n.table));return new Proxy(new un(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new _n({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new _n({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class bO extends SQ{static[z]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=li(this.config.fields),n=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.all()}}hG(bO,[Hr]);function pw(e,t){return(n,r,...o)=>{let i=[r,...o].map((s)=>({type:e,isAll:t,rightSelect:s}));for(let s of i)if(!Dh(n.getSelectedFields(),s.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(i)}}var LSe=()=>({union:qSe,unionAll:ZSe,intersect:$Se,except:USe}),qSe=pw("union",!1),ZSe=pw("union",!0),$Se=pw("intersect",!1),USe=pw("except",!1);class zh{static[z]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=ee(e,om)?e:void 0,this.dialectConfig=ee(e,om)?void 0:e}$with=(e,t)=>{let n=this;return{as:(o)=>{if(typeof o==="function")o=o(n);return new Proxy(new Ih(o.getSQL(),t??("getSelectedFields"in o?o.getSelectedFields()??{}:{}),e,!0),new _n({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...e){let t=this;function n(o){return new Zi({fields:o??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function r(o){return new Zi({fields:o??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}return{select:n,selectDistinct:r}}select(e){return new Zi({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new Zi({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new gO(this.dialectConfig);return this.dialect}}class dw{constructor(e,t,n,r){this.table=e,this.session=t,this.dialect=n,this.withList=r}static[z]="SQLiteInsertBuilder";values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error("values() must be called with at least one value");let t=e.map((n)=>{let r={},o=this.table[Se.Symbol.Columns];for(let i of Object.keys(n)){let s=n[i];r[i]=ee(s,De)?s:new Po(s,o[i])}return r});return new xO(this.table,t,this.session,this.dialect,this.withList)}select(e){let t=typeof e==="function"?e(new zh):e;if(!ee(t,De)&&!Dh(this.table[ew],t._.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 xO(this.table,t,this.session,this.dialect,this.withList,!0)}}class xO extends Hr{constructor(e,t,n,r,o,i){super();this.session=n,this.dialect=r,this.config={table:e,values:t,withList:o,select:i}}static[z]="SQLiteInsert";config;returning(e=this.config.table[zn.Symbol.Columns]){return this.config.returning=li(e),this}onConflictDoNothing(e={}){if(!this.config.onConflict)this.config.onConflict=[];if(e.target===void 0)this.config.onConflict.push(S` on conflict do nothing`);else{let t=Array.isArray(e.target)?S`${e.target}`:S`${[e.target]}`,n=e.where?S` where ${e.where}`:S``;this.config.onConflict.push(S` on conflict ${t} do nothing${n}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.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 t=e.where?S` where ${e.where}`:void 0,n=e.targetWhere?S` where ${e.targetWhere}`:void 0,r=e.setWhere?S` where ${e.setWhere}`:void 0,o=Array.isArray(e.target)?S`${e.target}`:S`${[e.target]}`,i=this.dialect.buildUpdateSet(this.config.table,nw(this.config.table,e.set));return this.config.onConflict.push(S` on conflict ${o}${n} do update set ${i}${t}${r}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:qi(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class mw{constructor(e,t,n,r){this.table=e,this.session=t,this.dialect=n,this.withList=r}static[z]="SQLiteUpdateBuilder";set(e){return new vQ(this.table,nw(this.table,e),this.session,this.dialect,this.withList)}}class vQ extends Hr{constructor(e,t,n,r,o){super();this.session=n,this.dialect=r,this.config={set:t,table:e,withList:o,joins:[]}}static[z]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,n)=>{let r=Mh(t);if(typeof r==="string"&&this.config.joins.some((o)=>o.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(typeof n==="function"){let o=this.config.from?ee(t,zn)?t[Se.Symbol.Columns]:ee(t,un)?t._.selectedFields:ee(t,Uu)?t[pn].selectedFields:void 0:void 0;n=n(new Proxy(this.config.table[Se.Symbol.Columns],new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),o&&new Proxy(o,new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:n,table:t,joinType:e,alias:r}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[Se.Symbol.Columns],new _n({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[zn.Symbol.Columns]){return this.config.returning=li(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:qi(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class Fh extends De{constructor(e){super(Fh.buildEmbeddedCount(e.source,e.filters).queryChunks);this.params=e,this.session=e.session,this.sql=Fh.buildCount(e.source,e.filters)}sql;static[z]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return S`(select count(*) from ${e}${S.raw(" where ").if(t)}${t})`}static buildCount(e,t){return S`select count(*) from ${e}${S.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}}class vO{constructor(e,t,n,r,o,i,s,c){this.mode=e,this.fullSchema=t,this.schema=n,this.tableNamesMap=r,this.table=o,this.tableConfig=i,this.dialect=s,this.session=c}static[z]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return this.mode==="sync"?new SO(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many"):new fw(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many")}findFirst(e){return this.mode==="sync"?new SO(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new fw(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class fw extends Hr{constructor(e,t,n,r,o,i,s,c,l){super();this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=o,this.dialect=i,this.session=s,this.config=c,this.mode=l}static[z]="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(e=!1){let{query:t,builtQuery:n}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](n,void 0,this.mode==="first"?"get":"all",!0,(r,o)=>{let i=r.map((s)=>iw(this.schema,this.tableConfig,s,t.selection,o));if(this.mode==="first")return i[0];return i})}prepare(){return this._prepare(!1)}_toSQL(){let e=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}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}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 SO extends fw{static[z]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class im extends Hr{constructor(e,t,n,r,o){super();this.execute=e,this.getSQL=t,this.dialect=r,this.mapBatchResult=o,this.config={action:n}}static[z]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class Nh{constructor(e,t,n,r){this.resultKind=e,this.dialect=t,this.session=n,this._=r?{schema:r.schema,fullSchema:r.fullSchema,tableNamesMap:r.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let o=this.query;if(this._.schema)for(let[i,s]of Object.entries(this._.schema))o[i]=new vO(e,r.fullSchema,this._.schema,this._.tableNamesMap,r.fullSchema[i],s,t,n);this.$cache={invalidate:async(i)=>{}}}static[z]="BaseSQLiteDatabase";query;$with=(e,t)=>{let n=this;return{as:(o)=>{if(typeof o==="function")o=o(new zh(n.dialect));return new Proxy(new Ih(o.getSQL(),t??("getSelectedFields"in o?o.getSelectedFields()??{}:{}),e,!0),new _n({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(e,t){return new Fh({source:e,filters:t,session:this.session})}with(...e){let t=this;function n(c){return new Zi({fields:c??void 0,session:t.session,dialect:t.dialect,withList:e})}function r(c){return new Zi({fields:c??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function o(c){return new mw(c,t.session,t.dialect,e)}function i(c){return new dw(c,t.session,t.dialect,e)}function s(c){return new uw(c,t.session,t.dialect,e)}return{select:n,selectDistinct:r,update:o,insert:i,delete:s}}select(e){return new Zi({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new Zi({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new mw(e,this.session,this.dialect)}$cache;insert(e){return new dw(e,this.session,this.dialect)}delete(e){return new uw(e,this.session,this.dialect)}run(e){let t=typeof e==="string"?S.raw(e):e.getSQL();if(this.resultKind==="async")return new im(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(t)}all(e){let t=typeof e==="string"?S.raw(e):e.getSQL();if(this.resultKind==="async")return new im(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(t)}get(e){let t=typeof e==="string"?S.raw(e):e.getSQL();if(this.resultKind==="async")return new im(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(t)}values(e){let t=typeof e==="string"?S.raw(e):e.getSQL();if(this.resultKind==="async")return new im(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}class wQ{static[z]="Cache"}class jh extends wQ{strategy(){return"all"}static[z]="NoopCache";async get(e){return}async put(e,t,n,r){}async onMutate(e){}}async function wO(e,t){let n=`${e}-${JSON.stringify(t)}`,o=new TextEncoder().encode(n),i=await crypto.subtle.digest("SHA-256",o);return[...new Uint8Array(i)].map((l)=>l.toString(16).padStart(2,"0")).join("")}class TQ extends Hr{constructor(e){super();this.resultCb=e}static[z]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class TO{constructor(e,t,n,r,o,i){if(this.mode=e,this.executeMethod=t,this.query=n,this.cache=r,this.queryMetadata=o,this.cacheConfig=i,r&&r.strategy()==="all"&&i===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[z]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,n){if(this.cache===void 0||ee(this.cache,jh)||this.queryMetadata===void 0)try{return await n()}catch(r){throw new qa(e,t,r)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(r){throw new qa(e,t,r)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[r]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return r}catch(r){throw new qa(e,t,r)}if(!this.cacheConfig)try{return await n()}catch(r){throw new qa(e,t,r)}if(this.queryMetadata.type==="select"){let r=await this.cache.get(this.cacheConfig.tag??await wO(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(r===void 0){let o;try{o=await n()}catch(i){throw new qa(e,t,i)}return await this.cache.put(this.cacheConfig.tag??await wO(e,t),o,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),o}return r}try{return await n()}catch(r){throw new qa(e,t,r)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){if(this.mode==="async")return this[this.executeMethod](e);return new TQ(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}}class CO{constructor(e){this.dialect=e}static[z]="SQLiteSession";prepareOneTimeQuery(e,t,n,r,o,i,s){return this.prepareQuery(e,t,n,r,o,i,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(n){throw new nm({cause:n,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}}class EO extends Nh{constructor(e,t,n,r,o=0){super(e,t,n,r);this.schema=r,this.nestedIndex=o}static[z]="SQLiteTransaction";rollback(){throw new eO}}var _=Bt("entities",{id:le("id").notNull(),entityType:le("entityType").notNull(),content:le("content").notNull(),contentHash:le("contentHash").notNull(),visibility:le("visibility",{enum:["public","shared","restricted"]}).notNull().default("public"),metadata:le("metadata",{mode:"json"}).$type().notNull().default(S`'{}'`),created:qe("created").notNull().$defaultFn(()=>Date.now()),updated:qe("updated").notNull().$defaultFn(()=>Date.now())},(e)=>({pk:Ao({columns:[e.id,e.entityType]}),visibilityCheck:ll("entities_visibility_check",S`${e.visibility} IN ('public', 'shared', 'restricted')`)}));function ui(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function IO(e){if(Array.isArray(e))return e.map((t)=>t===void 0?null:IO(t));if(ui(e))return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>[t,IO(n)]));return e}function Wu(e){return JSON.stringify(IO(e))}function $i({contentHash:e,metadata:t,visibility:n}){return Os(Wu({contentHash:e,metadata:t,visibility:n}))}var CQ=200,WSe=4,sm=new TextDecoder("utf-8",{ignoreBOM:!0}),gw={id:S`CAST(${_.id} AS BLOB)`,entityType:S`CAST(${_.entityType} AS BLOB)`,content:S`CAST(${_.content} AS BLOB)`,contentHash:_.contentHash,metadata:_.metadata,visibility:_.visibility};async function EQ(e,t){let n=new Map;for(let r of t.getGroupings())for(let o of r.types){let i=n.get(o)??new Set;i.add(r.field),n.set(o,i)}if(n.size===0)return;await IQ(e,t,n,void 0)}async function IQ(e,t,n,r){let o=await e.select(gw).from(_).where(oe(kt(_.entityType,[...n.keys()]),HSe(r))).orderBy(st(_.entityType),st(_.id)).limit(CQ);await JSe(e,t,o,n);let i=o.at(-1);if(!i||o.length<CQ)return;return IQ(e,t,n,{type:sm.decode(i.entityType),id:sm.decode(i.id)})}function HSe(e){if(!e)return;return fr(Za(_.entityType,e.type),oe(O(_.entityType,e.type),Za(_.id,e.id)))}async function JSe(e,t,n,r){let o=n.flatMap((s)=>{let c=sm.decode(s.entityType),l=sm.decode(s.id),u=RQ(t,{type:c,id:l,destination:oe(O(_.entityType,c),O(_.id,l)),fields:r.get(c)??new Set},s);return u?[u]:[]});if(o.length===0)return;let i=await e.transaction(async(s)=>{let c=[];for(let l of o)if(await PQ(s,l)==="conflict")c.push(l.target);return c});for(let s of i){let c=(await e.select(gw).from(_).where(s.destination).limit(1))[0];await kQ(e,t,s,c,WSe-1)}}async function kQ(e,t,n,r,o){if(!r)return;if(o===0)throw Error("Grouping reprojection exceeded concurrent-write retry limit");let i=RQ(t,n,r);if(!i)return;if(await e.transaction((l)=>PQ(l,i))!=="conflict")return;let c=(await e.select(gw).from(_).where(n.destination).limit(1))[0];return kQ(e,t,n,c,o-1)}function RQ(e,t,n){let r=sm.decode(n.content),o=e.projectStoredMetadata(t.type,r,n.metadata),i={...n.metadata};for(let s of t.fields)if(delete i[s],Object.hasOwn(o,s))i[s]=o[s];if(Wu(i)===Wu(n.metadata))return;return{target:t,row:n,content:r,metadata:i}}async function PQ(e,t){let{target:n,row:r,content:o,metadata:i}=t,s=(await e.select(gw).from(_).where(n.destination).limit(1))[0];if(!s)return"deleted";if($i(s)!==$i(r)||sm.decode(s.content)!==o)return"conflict";return await e.update(_).set({metadata:i}).where(n.destination),"updated"}import{createClient as MQ}from"@libsql/client";import{createClient as RO}from"@libsql/client";class yw extends CO{constructor(e,t,n,r,o){super(t);this.client=e,this.schema=n,this.options=r,this.tx=o,this.logger=r.logger??new nO,this.cache=r.cache??new jh}static[z]="LibSQLSession";logger;cache;prepareQuery(e,t,n,r,o,i,s){return new OQ(this.client,e,this.logger,this.cache,i,s,t,this.tx,n,r,o)}async batch(e){let t=[],n=[];for(let o of e){let i=o._prepare(),s=i.getQuery();t.push(i),n.push({sql:s.sql,args:s.params})}return(await this.client.batch(n)).map((o,i)=>t[i].mapResult(o,!0))}async migrate(e){let t=[],n=[];for(let o of e){let i=o._prepare(),s=i.getQuery();t.push(i),n.push({sql:s.sql,args:s.params})}return(await this.client.migrate(n)).map((o,i)=>t[i].mapResult(o,!0))}async transaction(e,t){let n=await this.client.transaction(),r=new yw(this.client,this.dialect,this.schema,this.options,n),o=new kO("async",this.dialect,r,this.schema);try{let i=await e(o);return await n.commit(),i}catch(i){throw await n.rollback(),i}}extractRawAllValueFromBatchResult(e){return e.rows}extractRawGetValueFromBatchResult(e){return e.rows[0]}extractRawValuesValueFromBatchResult(e){return e.rows}}class kO extends EO{static[z]="LibSQLTransaction";async transaction(e){let t=`sp${this.nestedIndex}`,n=new kO("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(S.raw(`savepoint ${t}`));try{let r=await e(n);return await this.session.run(S.raw(`release savepoint ${t}`)),r}catch(r){throw await this.session.run(S.raw(`rollback to savepoint ${t}`)),r}}}class OQ extends TO{constructor(e,t,n,r,o,i,s,c,l,u,p){super("async",l,t,r,o,i);this.client=e,this.logger=n,this.fields=s,this.tx=c,this._isResponseInArrayMode=u,this.customResultMapper=p,this.customResultMapper=p,this.fields=s}static[z]="LibSQLPreparedQuery";async run(e){let t=Rh(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let n={sql:this.query.sql,args:t};return this.tx?this.tx.execute(n):this.client.execute(n)})}async all(e){let{fields:t,logger:n,query:r,tx:o,client:i,customResultMapper:s}=this;if(!t&&!s){let l=Rh(r.params,e??{});return n.logQuery(r.sql,l),await this.queryWithCache(r.sql,l,async()=>{let u={sql:r.sql,args:l};return(o?o.execute(u):i.execute(u)).then(({rows:p})=>this.mapAllResult(p))})}let c=await this.values(e);return this.mapAllResult(c)}mapAllResult(e,t){if(t)e=e.rows;if(!this.fields&&!this.customResultMapper)return e.map((n)=>AQ(n));if(this.customResultMapper)return this.customResultMapper(e,hw);return e.map((n)=>rO(this.fields,Array.prototype.slice.call(n).map((r)=>hw(r)),this.joinsNotNullableMap))}async get(e){let{fields:t,logger:n,query:r,tx:o,client:i,customResultMapper:s}=this;if(!t&&!s){let l=Rh(r.params,e??{});return n.logQuery(r.sql,l),await this.queryWithCache(r.sql,l,async()=>{let u={sql:r.sql,args:l};return(o?o.execute(u):i.execute(u)).then(({rows:p})=>this.mapGetResult(p))})}let c=await this.values(e);return this.mapGetResult(c)}mapGetResult(e,t){if(t)e=e.rows;let n=e[0];if(!this.fields&&!this.customResultMapper)return AQ(n);if(!n)return;if(this.customResultMapper)return this.customResultMapper(e,hw);return rO(this.fields,Array.prototype.slice.call(n).map((r)=>hw(r)),this.joinsNotNullableMap)}async values(e){let t=Rh(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let n={sql:this.query.sql,args:t};return(this.tx?this.tx.execute(n):this.client.execute(n)).then(({rows:r})=>r)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}function AQ(e){return Object.keys(e).reduce((t,n)=>{if(Object.prototype.propertyIsEnumerable.call(e,n))t[n]=e[n];return t},{})}function hw(e){if(typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer){if(typeof Buffer<"u"){if(!(e instanceof Buffer))return Buffer.from(e);return e}if(typeof TextDecoder<"u")return new TextDecoder().decode(e);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return e}class DQ extends Nh{static[z]="LibSQLDatabase";async batch(e){return this.session.batch(e)}}function am(e,t={}){let n=new hO({casing:t.casing}),r;if(t.logger===!0)r=new tO;else if(t.logger!==!1)r=t.logger;let o;if(t.schema){let c=MG(t.schema,zG);o={fullSchema:t.schema,schema:c.tables,tableNamesMap:c.tableNamesMap}}let i=new yw(e,n,o,{logger:r,cache:t.cache},void 0),s=new DQ("async",n,i,o);if(s.$client=e,s.$cache=t.cache,s.$cache)s.$cache.invalidate=t.cache?.onMutate;return s}function bw(...e){if(typeof e[0]==="string"){let t=RO({url:e[0]});return am(t,e[1])}if(yG(e[0])){let{connection:t,client:n,...r}=e[0];if(n)return am(n,r);let o=typeof t==="string"?RO({url:t}):RO(t);return am(o,r)}return am(e[0],e[1])}((e)=>{function t(n){return am({},n)}e.mock=t})(bw||(bw={}));function _Q(e){if(e.authToken!==void 0)return e.authToken;if(e.authTokenEnv===void 0)return;return process.env[e.authTokenEnv]}function Ui(e){let{url:t,schema:n}=e,r=_Q(e),o=r?MQ({url:t,authToken:r}):MQ({url:t});return{db:bw(o,{schema:n}),client:o,url:t}}async function Wi(e,t){if(!t.startsWith("file:"))return;await e.execute("PRAGMA busy_timeout = 5000"),await e.execute("PRAGMA journal_mode = WAL")}import VSe from"crypto";import PO from"fs";function zQ(e){let t=e.migrationsFolder,n=[],r=`${t}/meta/_journal.json`;if(!PO.existsSync(r))throw Error("Can't find meta/_journal.json file");let o=PO.readFileSync(`${t}/meta/_journal.json`).toString(),i=JSON.parse(o);for(let s of i.entries){let c=`${t}/${s.tag}.sql`;try{let l=PO.readFileSync(`${t}/${s.tag}.sql`).toString(),u=l.split("--> statement-breakpoint").map((p)=>p);n.push({sql:u,bps:s.breakpoints,folderMillis:s.when,hash:VSe.createHash("sha256").update(l).digest("hex")})}catch{throw Error(`No file ${c} found in ${t} folder`)}}return n}async function FQ(e,t){let n=zQ(t),r=t.migrationsTable??"__drizzle_migrations",o=S`
49
+ `;await t.run(o);let s=(await t.values(S`SELECT id, hash, created_at FROM ${S.identifier(r)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async(c)=>{for(let l of e)if(!s||Number(s[2])<l.folderMillis){for(let u of l.sql)await c.run(S.raw(u));await c.run(S`INSERT INTO ${S.identifier(r)} ("hash", "created_at") VALUES(${l.hash}, ${l.folderMillis})`)}})}}class yO{static[z]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class Zi{static[z]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let t=!!this.fields,n;if(this.fields)n=this.fields;else if(ee(e,un))n=Object.fromEntries(Object.keys(e._.selectedFields).map((r)=>[r,e[r]]));else if(ee(e,Uu))n=e[pn].selectedFields;else if(ee(e,De))n={};else n=rm(e);return new bO({table:e,fields:n,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class SQ extends yO{static[z]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:r,dialect:o,withList:i,distinct:s}){super();this.config={withList:i,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=n,this.session=r,this.dialect=o,this._={selectedFields:t,config:this.config},this.tableName=Mh(e),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let c of qi(e))this.usedTables.add(c)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,n)=>{let r=this.tableName,o=Mh(t);for(let i of qi(t))this.usedTables.add(i);if(typeof o==="string"&&this.config.joins?.some((i)=>i.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof r==="string")this.config.fields={[r]:this.config.fields};if(typeof o==="string"&&!ee(t,De)){let i=ee(t,un)?t._.selectedFields:ee(t,ci)?t[pn].selectedFields:t[Se.Symbol.Columns];this.config.fields[o]=i}}if(typeof n==="function")n=n(new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:n,table:t,joinType:e,alias:o}),typeof o==="string")switch(e){case"left":{this.joinsNotNullableMap[o]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([i])=>[i,!1])),this.joinsNotNullableMap[o]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[o]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([i])=>[i,!1])),this.joinsNotNullableMap[o]=!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(e,t){return(n)=>{let r=typeof n==="function"?n(LSe()):n;if(!Dh(this.getSelectedFields(),r.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:e,isAll:t,rightSelect:r}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=e,this}having(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=e,this}groupBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new _n({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=n;else this.config.orderBy=n}else{let t=e;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=t;else this.config.orderBy=t}return this}limit(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=e;else this.config.limit=e;return this}offset(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=e;else this.config.offset=e;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...qi(this.config.table)),this.config.joins)for(let n of this.config.joins)t.push(...qi(n.table));return new Proxy(new un(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new _n({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new _n({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class bO extends SQ{static[z]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=li(this.config.fields),n=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.all()}}hG(bO,[Hr]);function pw(e,t){return(n,r,...o)=>{let i=[r,...o].map((s)=>({type:e,isAll:t,rightSelect:s}));for(let s of i)if(!Dh(n.getSelectedFields(),s.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(i)}}var LSe=()=>({union:qSe,unionAll:ZSe,intersect:$Se,except:USe}),qSe=pw("union",!1),ZSe=pw("union",!0),$Se=pw("intersect",!1),USe=pw("except",!1);class zh{static[z]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=ee(e,om)?e:void 0,this.dialectConfig=ee(e,om)?void 0:e}$with=(e,t)=>{let n=this;return{as:(o)=>{if(typeof o==="function")o=o(n);return new Proxy(new Ih(o.getSQL(),t??("getSelectedFields"in o?o.getSelectedFields()??{}:{}),e,!0),new _n({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...e){let t=this;function n(o){return new Zi({fields:o??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function r(o){return new Zi({fields:o??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}return{select:n,selectDistinct:r}}select(e){return new Zi({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new Zi({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new gO(this.dialectConfig);return this.dialect}}class dw{constructor(e,t,n,r){this.table=e,this.session=t,this.dialect=n,this.withList=r}static[z]="SQLiteInsertBuilder";values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error("values() must be called with at least one value");let t=e.map((n)=>{let r={},o=this.table[Se.Symbol.Columns];for(let i of Object.keys(n)){let s=n[i];r[i]=ee(s,De)?s:new Po(s,o[i])}return r});return new xO(this.table,t,this.session,this.dialect,this.withList)}select(e){let t=typeof e==="function"?e(new zh):e;if(!ee(t,De)&&!Dh(this.table[ew],t._.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 xO(this.table,t,this.session,this.dialect,this.withList,!0)}}class xO extends Hr{constructor(e,t,n,r,o,i){super();this.session=n,this.dialect=r,this.config={table:e,values:t,withList:o,select:i}}static[z]="SQLiteInsert";config;returning(e=this.config.table[zn.Symbol.Columns]){return this.config.returning=li(e),this}onConflictDoNothing(e={}){if(!this.config.onConflict)this.config.onConflict=[];if(e.target===void 0)this.config.onConflict.push(S` on conflict do nothing`);else{let t=Array.isArray(e.target)?S`${e.target}`:S`${[e.target]}`,n=e.where?S` where ${e.where}`:S``;this.config.onConflict.push(S` on conflict ${t} do nothing${n}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.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 t=e.where?S` where ${e.where}`:void 0,n=e.targetWhere?S` where ${e.targetWhere}`:void 0,r=e.setWhere?S` where ${e.setWhere}`:void 0,o=Array.isArray(e.target)?S`${e.target}`:S`${[e.target]}`,i=this.dialect.buildUpdateSet(this.config.table,nw(this.config.table,e.set));return this.config.onConflict.push(S` on conflict ${o}${n} do update set ${i}${t}${r}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:qi(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class mw{constructor(e,t,n,r){this.table=e,this.session=t,this.dialect=n,this.withList=r}static[z]="SQLiteUpdateBuilder";set(e){return new vQ(this.table,nw(this.table,e),this.session,this.dialect,this.withList)}}class vQ extends Hr{constructor(e,t,n,r,o){super();this.session=n,this.dialect=r,this.config={set:t,table:e,withList:o,joins:[]}}static[z]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,n)=>{let r=Mh(t);if(typeof r==="string"&&this.config.joins.some((o)=>o.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(typeof n==="function"){let o=this.config.from?ee(t,zn)?t[Se.Symbol.Columns]:ee(t,un)?t._.selectedFields:ee(t,Uu)?t[pn].selectedFields:void 0:void 0;n=n(new Proxy(this.config.table[Se.Symbol.Columns],new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),o&&new Proxy(o,new _n({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:n,table:t,joinType:e,alias:r}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[Se.Symbol.Columns],new _n({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[zn.Symbol.Columns]){return this.config.returning=li(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:qi(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class Fh extends De{constructor(e){super(Fh.buildEmbeddedCount(e.source,e.filters).queryChunks);this.params=e,this.session=e.session,this.sql=Fh.buildCount(e.source,e.filters)}sql;static[z]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return S`(select count(*) from ${e}${S.raw(" where ").if(t)}${t})`}static buildCount(e,t){return S`select count(*) from ${e}${S.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}}class vO{constructor(e,t,n,r,o,i,s,c){this.mode=e,this.fullSchema=t,this.schema=n,this.tableNamesMap=r,this.table=o,this.tableConfig=i,this.dialect=s,this.session=c}static[z]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return this.mode==="sync"?new SO(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many"):new fw(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many")}findFirst(e){return this.mode==="sync"?new SO(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new fw(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class fw extends Hr{constructor(e,t,n,r,o,i,s,c,l){super();this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=o,this.dialect=i,this.session=s,this.config=c,this.mode=l}static[z]="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(e=!1){let{query:t,builtQuery:n}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](n,void 0,this.mode==="first"?"get":"all",!0,(r,o)=>{let i=r.map((s)=>iw(this.schema,this.tableConfig,s,t.selection,o));if(this.mode==="first")return i[0];return i})}prepare(){return this._prepare(!1)}_toSQL(){let e=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}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}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 SO extends fw{static[z]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class im extends Hr{constructor(e,t,n,r,o){super();this.execute=e,this.getSQL=t,this.dialect=r,this.mapBatchResult=o,this.config={action:n}}static[z]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class Nh{constructor(e,t,n,r){this.resultKind=e,this.dialect=t,this.session=n,this._=r?{schema:r.schema,fullSchema:r.fullSchema,tableNamesMap:r.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let o=this.query;if(this._.schema)for(let[i,s]of Object.entries(this._.schema))o[i]=new vO(e,r.fullSchema,this._.schema,this._.tableNamesMap,r.fullSchema[i],s,t,n);this.$cache={invalidate:async(i)=>{}}}static[z]="BaseSQLiteDatabase";query;$with=(e,t)=>{let n=this;return{as:(o)=>{if(typeof o==="function")o=o(new zh(n.dialect));return new Proxy(new Ih(o.getSQL(),t??("getSelectedFields"in o?o.getSelectedFields()??{}:{}),e,!0),new _n({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(e,t){return new Fh({source:e,filters:t,session:this.session})}with(...e){let t=this;function n(c){return new Zi({fields:c??void 0,session:t.session,dialect:t.dialect,withList:e})}function r(c){return new Zi({fields:c??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function o(c){return new mw(c,t.session,t.dialect,e)}function i(c){return new dw(c,t.session,t.dialect,e)}function s(c){return new uw(c,t.session,t.dialect,e)}return{select:n,selectDistinct:r,update:o,insert:i,delete:s}}select(e){return new Zi({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new Zi({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new mw(e,this.session,this.dialect)}$cache;insert(e){return new dw(e,this.session,this.dialect)}delete(e){return new uw(e,this.session,this.dialect)}run(e){let t=typeof e==="string"?S.raw(e):e.getSQL();if(this.resultKind==="async")return new im(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(t)}all(e){let t=typeof e==="string"?S.raw(e):e.getSQL();if(this.resultKind==="async")return new im(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(t)}get(e){let t=typeof e==="string"?S.raw(e):e.getSQL();if(this.resultKind==="async")return new im(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(t)}values(e){let t=typeof e==="string"?S.raw(e):e.getSQL();if(this.resultKind==="async")return new im(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}class wQ{static[z]="Cache"}class jh extends wQ{strategy(){return"all"}static[z]="NoopCache";async get(e){return}async put(e,t,n,r){}async onMutate(e){}}async function wO(e,t){let n=`${e}-${JSON.stringify(t)}`,o=new TextEncoder().encode(n),i=await crypto.subtle.digest("SHA-256",o);return[...new Uint8Array(i)].map((l)=>l.toString(16).padStart(2,"0")).join("")}class TQ extends Hr{constructor(e){super();this.resultCb=e}static[z]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class TO{constructor(e,t,n,r,o,i){if(this.mode=e,this.executeMethod=t,this.query=n,this.cache=r,this.queryMetadata=o,this.cacheConfig=i,r&&r.strategy()==="all"&&i===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[z]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,n){if(this.cache===void 0||ee(this.cache,jh)||this.queryMetadata===void 0)try{return await n()}catch(r){throw new qa(e,t,r)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(r){throw new qa(e,t,r)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[r]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return r}catch(r){throw new qa(e,t,r)}if(!this.cacheConfig)try{return await n()}catch(r){throw new qa(e,t,r)}if(this.queryMetadata.type==="select"){let r=await this.cache.get(this.cacheConfig.tag??await wO(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(r===void 0){let o;try{o=await n()}catch(i){throw new qa(e,t,i)}return await this.cache.put(this.cacheConfig.tag??await wO(e,t),o,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),o}return r}try{return await n()}catch(r){throw new qa(e,t,r)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){if(this.mode==="async")return this[this.executeMethod](e);return new TQ(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}}class CO{constructor(e){this.dialect=e}static[z]="SQLiteSession";prepareOneTimeQuery(e,t,n,r,o,i,s){return this.prepareQuery(e,t,n,r,o,i,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(n){throw new nm({cause:n,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}}class EO extends Nh{constructor(e,t,n,r,o=0){super(e,t,n,r);this.schema=r,this.nestedIndex=o}static[z]="SQLiteTransaction";rollback(){throw new eO}}var _=Bt("entities",{id:le("id").notNull(),entityType:le("entityType").notNull(),content:le("content").notNull(),contentHash:le("contentHash").notNull(),visibility:le("visibility",{enum:["public","shared","restricted"]}).notNull().default("public"),metadata:le("metadata",{mode:"json"}).$type().notNull().default(S`'{}'`),created:qe("created").notNull().$defaultFn(()=>Date.now()),updated:qe("updated").notNull().$defaultFn(()=>Date.now())},(e)=>({pk:Ao({columns:[e.id,e.entityType]}),visibilityCheck:ll("entities_visibility_check",S`${e.visibility} IN ('public', 'shared', 'restricted')`)}));function ui(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function IO(e){if(Array.isArray(e))return e.map((t)=>t===void 0?null:IO(t));if(ui(e))return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>[t,IO(n)]));return e}function Wu(e){return JSON.stringify(IO(e))}function $i({contentHash:e,metadata:t,visibility:n}){return Os(Wu({contentHash:e,metadata:t,visibility:n}))}var CQ=200,WSe=4,sm=new TextDecoder("utf-8",{ignoreBOM:!0}),gw={id:S`CAST(${_.id} AS BLOB)`,entityType:S`CAST(${_.entityType} AS BLOB)`,content:S`CAST(${_.content} AS BLOB)`,contentHash:_.contentHash,metadata:_.metadata,visibility:_.visibility};async function EQ(e,t){let n=new Map;for(let r of t.getGroupings())for(let o of r.types){let i=n.get(o)??new Set;i.add(r.field),n.set(o,i)}if(n.size===0)return;await IQ(e,t,n,void 0)}async function IQ(e,t,n,r){let o=await e.select(gw).from(_).where(oe(It(_.entityType,[...n.keys()]),HSe(r))).orderBy(st(_.entityType),st(_.id)).limit(CQ);await JSe(e,t,o,n);let i=o.at(-1);if(!i||o.length<CQ)return;return IQ(e,t,n,{type:sm.decode(i.entityType),id:sm.decode(i.id)})}function HSe(e){if(!e)return;return fr(Za(_.entityType,e.type),oe(O(_.entityType,e.type),Za(_.id,e.id)))}async function JSe(e,t,n,r){let o=n.flatMap((s)=>{let c=sm.decode(s.entityType),l=sm.decode(s.id),u=RQ(t,{type:c,id:l,destination:oe(O(_.entityType,c),O(_.id,l)),fields:r.get(c)??new Set},s);return u?[u]:[]});if(o.length===0)return;let i=await e.transaction(async(s)=>{let c=[];for(let l of o)if(await PQ(s,l)==="conflict")c.push(l.target);return c});for(let s of i){let c=(await e.select(gw).from(_).where(s.destination).limit(1))[0];await kQ(e,t,s,c,WSe-1)}}async function kQ(e,t,n,r,o){if(!r)return;if(o===0)throw Error("Grouping reprojection exceeded concurrent-write retry limit");let i=RQ(t,n,r);if(!i)return;if(await e.transaction((l)=>PQ(l,i))!=="conflict")return;let c=(await e.select(gw).from(_).where(n.destination).limit(1))[0];return kQ(e,t,n,c,o-1)}function RQ(e,t,n){let r=sm.decode(n.content),o=e.projectStoredMetadata(t.type,r,n.metadata),i={...n.metadata};for(let s of t.fields)if(delete i[s],Object.hasOwn(o,s))i[s]=o[s];if(Wu(i)===Wu(n.metadata))return;return{target:t,row:n,content:r,metadata:i}}async function PQ(e,t){let{target:n,row:r,content:o,metadata:i}=t,s=(await e.select(gw).from(_).where(n.destination).limit(1))[0];if(!s)return"deleted";if($i(s)!==$i(r)||sm.decode(s.content)!==o)return"conflict";return await e.update(_).set({metadata:i}).where(n.destination),"updated"}import{createClient as MQ}from"@libsql/client";import{createClient as RO}from"@libsql/client";class yw extends CO{constructor(e,t,n,r,o){super(t);this.client=e,this.schema=n,this.options=r,this.tx=o,this.logger=r.logger??new nO,this.cache=r.cache??new jh}static[z]="LibSQLSession";logger;cache;prepareQuery(e,t,n,r,o,i,s){return new OQ(this.client,e,this.logger,this.cache,i,s,t,this.tx,n,r,o)}async batch(e){let t=[],n=[];for(let o of e){let i=o._prepare(),s=i.getQuery();t.push(i),n.push({sql:s.sql,args:s.params})}return(await this.client.batch(n)).map((o,i)=>t[i].mapResult(o,!0))}async migrate(e){let t=[],n=[];for(let o of e){let i=o._prepare(),s=i.getQuery();t.push(i),n.push({sql:s.sql,args:s.params})}return(await this.client.migrate(n)).map((o,i)=>t[i].mapResult(o,!0))}async transaction(e,t){let n=await this.client.transaction(),r=new yw(this.client,this.dialect,this.schema,this.options,n),o=new kO("async",this.dialect,r,this.schema);try{let i=await e(o);return await n.commit(),i}catch(i){throw await n.rollback(),i}}extractRawAllValueFromBatchResult(e){return e.rows}extractRawGetValueFromBatchResult(e){return e.rows[0]}extractRawValuesValueFromBatchResult(e){return e.rows}}class kO extends EO{static[z]="LibSQLTransaction";async transaction(e){let t=`sp${this.nestedIndex}`,n=new kO("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(S.raw(`savepoint ${t}`));try{let r=await e(n);return await this.session.run(S.raw(`release savepoint ${t}`)),r}catch(r){throw await this.session.run(S.raw(`rollback to savepoint ${t}`)),r}}}class OQ extends TO{constructor(e,t,n,r,o,i,s,c,l,u,p){super("async",l,t,r,o,i);this.client=e,this.logger=n,this.fields=s,this.tx=c,this._isResponseInArrayMode=u,this.customResultMapper=p,this.customResultMapper=p,this.fields=s}static[z]="LibSQLPreparedQuery";async run(e){let t=Rh(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let n={sql:this.query.sql,args:t};return this.tx?this.tx.execute(n):this.client.execute(n)})}async all(e){let{fields:t,logger:n,query:r,tx:o,client:i,customResultMapper:s}=this;if(!t&&!s){let l=Rh(r.params,e??{});return n.logQuery(r.sql,l),await this.queryWithCache(r.sql,l,async()=>{let u={sql:r.sql,args:l};return(o?o.execute(u):i.execute(u)).then(({rows:p})=>this.mapAllResult(p))})}let c=await this.values(e);return this.mapAllResult(c)}mapAllResult(e,t){if(t)e=e.rows;if(!this.fields&&!this.customResultMapper)return e.map((n)=>AQ(n));if(this.customResultMapper)return this.customResultMapper(e,hw);return e.map((n)=>rO(this.fields,Array.prototype.slice.call(n).map((r)=>hw(r)),this.joinsNotNullableMap))}async get(e){let{fields:t,logger:n,query:r,tx:o,client:i,customResultMapper:s}=this;if(!t&&!s){let l=Rh(r.params,e??{});return n.logQuery(r.sql,l),await this.queryWithCache(r.sql,l,async()=>{let u={sql:r.sql,args:l};return(o?o.execute(u):i.execute(u)).then(({rows:p})=>this.mapGetResult(p))})}let c=await this.values(e);return this.mapGetResult(c)}mapGetResult(e,t){if(t)e=e.rows;let n=e[0];if(!this.fields&&!this.customResultMapper)return AQ(n);if(!n)return;if(this.customResultMapper)return this.customResultMapper(e,hw);return rO(this.fields,Array.prototype.slice.call(n).map((r)=>hw(r)),this.joinsNotNullableMap)}async values(e){let t=Rh(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let n={sql:this.query.sql,args:t};return(this.tx?this.tx.execute(n):this.client.execute(n)).then(({rows:r})=>r)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}function AQ(e){return Object.keys(e).reduce((t,n)=>{if(Object.prototype.propertyIsEnumerable.call(e,n))t[n]=e[n];return t},{})}function hw(e){if(typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer){if(typeof Buffer<"u"){if(!(e instanceof Buffer))return Buffer.from(e);return e}if(typeof TextDecoder<"u")return new TextDecoder().decode(e);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return e}class DQ extends Nh{static[z]="LibSQLDatabase";async batch(e){return this.session.batch(e)}}function am(e,t={}){let n=new hO({casing:t.casing}),r;if(t.logger===!0)r=new tO;else if(t.logger!==!1)r=t.logger;let o;if(t.schema){let c=MG(t.schema,zG);o={fullSchema:t.schema,schema:c.tables,tableNamesMap:c.tableNamesMap}}let i=new yw(e,n,o,{logger:r,cache:t.cache},void 0),s=new DQ("async",n,i,o);if(s.$client=e,s.$cache=t.cache,s.$cache)s.$cache.invalidate=t.cache?.onMutate;return s}function bw(...e){if(typeof e[0]==="string"){let t=RO({url:e[0]});return am(t,e[1])}if(yG(e[0])){let{connection:t,client:n,...r}=e[0];if(n)return am(n,r);let o=typeof t==="string"?RO({url:t}):RO(t);return am(o,r)}return am(e[0],e[1])}((e)=>{function t(n){return am({},n)}e.mock=t})(bw||(bw={}));function _Q(e){if(e.authToken!==void 0)return e.authToken;if(e.authTokenEnv===void 0)return;return process.env[e.authTokenEnv]}function Ui(e){let{url:t,schema:n}=e,r=_Q(e),o=r?MQ({url:t,authToken:r}):MQ({url:t});return{db:bw(o,{schema:n}),client:o,url:t}}async function Wi(e,t){if(!t.startsWith("file:"))return;await e.execute("PRAGMA busy_timeout = 5000"),await e.execute("PRAGMA journal_mode = WAL")}import VSe from"crypto";import PO from"fs";function zQ(e){let t=e.migrationsFolder,n=[],r=`${t}/meta/_journal.json`;if(!PO.existsSync(r))throw Error("Can't find meta/_journal.json file");let o=PO.readFileSync(`${t}/meta/_journal.json`).toString(),i=JSON.parse(o);for(let s of i.entries){let c=`${t}/${s.tag}.sql`;try{let l=PO.readFileSync(`${t}/${s.tag}.sql`).toString(),u=l.split("--> statement-breakpoint").map((p)=>p);n.push({sql:u,bps:s.breakpoints,folderMillis:s.when,hash:VSe.createHash("sha256").update(l).digest("hex")})}catch{throw Error(`No file ${c} found in ${t} folder`)}}return n}async function FQ(e,t){let n=zQ(t),r=t.migrationsTable??"__drizzle_migrations",o=S`
50
50
  CREATE TABLE IF NOT EXISTS ${S.identifier(r)} (
51
51
  id SERIAL PRIMARY KEY,
52
52
  hash text NOT NULL,
@@ -69,14 +69,14 @@ params: ${t}`);if(this.query=e,this.params=t,this.cause=n,Error.captureStackTrac
69
69
  `),await e.execute("UPDATE embeddings SET entity_type = 'note' WHERE entity_type = 'base'")}async function MO(e){await e.execute(`
70
70
  CREATE INDEX IF NOT EXISTS embeddings_embedding_idx
71
71
  ON embeddings(libsql_vector_idx(embedding))
72
- `)}async function _O(e,t){await e.execute(`ATTACH DATABASE '${t}' AS emb`)}function zO(e){return e.startsWith("file:")?e.slice(5):e}function Ds(e){return"restricted"}var KSe=a.object({id:a.string().min(1,"Entity ID is required"),entityType:a.string().min(1,"Entity type is required"),contentHash:a.string().min(1,"Content hash is required"),operation:a.enum(["create","update"])});class Bh{logger;embeddingService;entityService;messageBus;static createFresh(e,t,n){return new Bh(e,t,n)}constructor(e,t,n){if(this.logger=pi.getInstance().child("EmbeddingJobHandler"),this.embeddingService=t,this.entityService=e,n)this.messageBus=n}async process(e,t,n){try{this.logger.debug("Processing embedding job",{jobId:t,entityId:e.id,entityType:e.entityType,contentHash:e.contentHash});let r=await this.entityService.getEntity({entityType:e.entityType,id:e.id,visibilityScope:Ds("embedding regeneration must index every entity, no user surface")});if(!r){this.logger.warn("Entity no longer exists, skipping embedding job",{jobId:t,entityId:e.id,entityType:e.entityType,operation:e.operation});return}if(r.contentHash!==e.contentHash){this.logger.info("Entity content changed since job created, skipping stale embedding",{jobId:t,entityId:e.id,entityType:e.entityType,jobContentHash:e.contentHash,currentContentHash:r.contentHash});return}let{embedding:o,usage:i}=await this.embeddingService.generateEmbedding(r.content);if(this.logger.info("ai:usage",{operation:"embedding",provider:"openai",model:"text-embedding-3-small",inputTokens:i.tokens,outputTokens:0}),await this.entityService.storeEmbedding({entityId:e.id,entityType:e.entityType,embedding:o,contentHash:e.contentHash}),this.messageBus)this.logger.debug(`Emitting entity:embedding:ready event for ${e.entityType}:${e.id}`),await this.messageBus.send({type:Ua.embeddingReady,payload:{entityType:e.entityType,entityId:e.id,entity:r},sender:"entity-service",broadcast:!0});this.logger.debug("Embedding job completed successfully",{jobId:t,entityId:e.id,embeddingDimensions:o.length})}catch(r){throw this.logger.error("Embedding job failed",{jobId:t,entityId:e.id,entityType:e.entityType,error:r}),r}}async onError(e,t,n){this.logger.error("Embedding job error handler called",{jobId:n,entityId:t.id,entityType:t.entityType,contentHash:t.contentHash,errorMessage:e.message,errorStack:e.stack})}validateAndParse(e){let t=KSe.safeParse(e);if(!t.success)return this.logger.warn("Invalid embedding job data",{data:e,validationError:t.error.issues}),null;return this.logger.debug("Embedding job data validation successful",{entityId:t.data.id,entityType:t.data.entityType,contentHash:t.data.contentHash}),t.data}}function cm(e){let{rowBytes:t}=Hi.parse(e);return S`typeof(${_.created}) = 'integer' AND typeof(${_.updated}) = 'integer' AND (length(cast(${_.id} as blob)) + length(cast(${_.entityType} as blob)) + length(cast(${_.content} as blob)) + length(cast(${_.contentHash} as blob)) + length(cast(${_.metadata} as blob)) + length(cast(${_.visibility} as blob)) + 16) <= ${t}`}function qQ(e,t={}){if(t.maxNeighborDistance!==void 0&&(!Number.isFinite(t.maxNeighborDistance)||t.maxNeighborDistance<0||t.maxNeighborDistance>2))throw RangeError("maxNeighborDistance must be between 0 and 2");YSe(e,t.origin);let n=e.map((l)=>BQ(l.embedding)),r=t.origin?BQ(t.origin.embedding):XSe(n),o=tve(n),i=t.origin?{kind:"entity",entityId:t.origin.entityId,entityType:t.origin.entityType}:{kind:"centroid"},s=e.map((l,u)=>({entityId:l.entityId,entityType:l.entityType,coordinates:o[u]??[0,0],distanceToOrigin:ZQ(n[u]??new Float64Array,r)})),c=s.map((l)=>l.distanceToOrigin);return{origin:i,points:s,neighbors:eve(e,n,t.maxNeighborDistance),distanceRange:{min:c.length>0?Math.min(...c):0,max:c.length>0?Math.max(...c):0}}}function YSe(e,t){let n=e[0]?.embedding.length??t?.embedding.length;if(n===void 0)return;for(let r of e)if(r.embedding.length!==n)throw RangeError("Semantic embeddings must have matching dimensions");if(t&&t.embedding.length!==n)throw RangeError("Semantic origin must match point dimensions")}function BQ(e){let t=0;for(let o of e)t+=o*o;let n=Math.sqrt(t),r=new Float64Array(e.length);if(n<=0.000000000001)return r;for(let o=0;o<e.length;o+=1)r[o]=(e[o]??0)/n;return r}function XSe(e){let t=e[0]?.length??0,n=new Float64Array(t);if(e.length===0)return n;for(let i of e)for(let s=0;s<t;s+=1)n[s]=(n[s]??0)+(i[s]??0);let r=0;for(let i of n)r+=i*i;let o=Math.sqrt(r);if(o<=0.000000000001)return new Float64Array(t);for(let i=0;i<t;i+=1)n[i]=(n[i]??0)/o;return n}function ZQ(e,t){if(e.length===0||t.length===0)return 1;let n=0,r=0,o=0;for(let s=0;s<e.length;s+=1){let c=e[s]??0,l=t[s]??0;n+=c*l,r+=c*c,o+=l*l}if(r<=0.000000000001||o<=0.000000000001)return 1;return 1-Math.max(-1,Math.min(1,n/Math.sqrt(r*o)))}function eve(e,t,n){if(n===void 0)return[];let r=[];for(let o=0;o<e.length;o+=1)for(let i=o+1;i<e.length;i+=1){let s=e[o],c=e[i],l=t[o],u=t[i];if(!s||!c||!l||!u)continue;let p=ZQ(l,u);if(p<=n)r.push({source:{entityId:s.entityId,entityType:s.entityType},target:{entityId:c.entityId,entityType:c.entityType},distance:p})}return r}function tve(e){let t=e.length;if(t===0)return[];if(t===1)return[[0,0]];let n=e[0]?.length??0,r=new Float64Array(n);for(let c of e)for(let l=0;l<n;l+=1)r[l]=(r[l]??0)+(c[l]??0)/t;let o=Array.from({length:t},()=>Array(t).fill(0));for(let c=0;c<t;c+=1)for(let l=c;l<t;l+=1){let u=0,p=e[c],d=e[l];if(!p||!d)continue;for(let v=0;v<n;v+=1)u+=((p[v]??0)-(r[v]??0))*((d[v]??0)-(r[v]??0));let g=o[c],f=o[l];if(g)g[l]=u;if(f)f[c]=u}let i=[],s=[];for(let c=0;c<2;c+=1){let l=nve(o,i,c);if(!l){i.push(Array(t).fill(0)),s.push(0);continue}i.push(l),s.push(Math.max(0,rve(o,l)))}return Array.from({length:t},(c,l)=>[(i[0]?.[l]??0)*Math.sqrt(s[0]??0),(i[1]?.[l]??0)*Math.sqrt(s[1]??0)])}function nve(e,t,n){let r=e.length,o=Array.from({length:r},(s,c)=>Math.sin((c+1)*(n+1))+Math.cos((c+1)*(n+2)));if(o=LQ(o,t),FO(o)<=0.000000000001)return null;for(let s=0;s<100;s+=1){let c=LQ($Q(e,o),t),l=FO(c);if(l<=0.000000000001)return null;o=c.map((u)=>u/l)}let i=o.reduce((s,c,l)=>Math.abs(c)>Math.abs(o[s]??0)?l:s,0);if((o[i]??0)<0)o=o.map((s)=>-s);return o}function $Q(e,t){return e.map((n)=>n.reduce((r,o,i)=>r+o*(t[i]??0),0))}function LQ(e,t){let n=[...e];for(let o of t){let i=n.reduce((s,c,l)=>s+c*(o[l]??0),0);for(let s=0;s<n.length;s+=1)n[s]=(n[s]??0)-i*(o[s]??0)}let r=FO(n);return r<=0.000000000001?n:n.map((o)=>o/r)}function FO(e){return Math.sqrt(e.reduce((t,n)=>t+n*n,0))}function rve(e,t){let n=$Q(e,t);return t.reduce((r,o,i)=>r+o*(n[i]??0),0)}var Lh=12000,ove=0.82;function UQ(e,t,n=Lh){let r=e.trim().replace(/\s+/g," ");if(r.length<=n)return r;return t?.warn("Truncating search query that exceeds max length",{originalLength:r.length,truncatedLength:n}),r.slice(0,n)}var ive=a.object({limit:a.number().int().positive().optional().default(20),offset:a.number().int().min(0).optional().default(0),types:a.array(a.string()).optional().default([]),excludeTypes:a.array(a.string()).optional().default([]),weight:a.record(a.string(),a.number()).optional(),visibilityScope:a.enum(["public","shared","restricted"]).optional(),includeUngenerated:a.boolean().optional().default(!1),minScore:a.number().min(0).optional(),readBudget:Hi.optional(),queryEmbedding:a.custom((e)=>typeof e==="function").optional(),signal:a.instanceof(AbortSignal).optional()}),sve=a.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},a.record(a.string(),a.unknown()));class xw{db;embeddingService;serializer;logger;embeddingsEnabled;constructor(e,t,n,r,o=!0){this.db=e,this.embeddingService=t,this.serializer=n,this.logger=r.child("EntitySearch"),this.embeddingsEnabled=o}async search(e,t){let n=ive.parse(t??{}),{offset:r,types:o,excludeTypes:i,weight:s,visibilityScope:c,includeUngenerated:l,minScore:u,readBudget:p,queryEmbedding:d,signal:g}=n,f=p?Math.min(n.limit,p.rows):n.limit;if(g?.throwIfAborted(),p&&e.length>p.queryCharacters)throw Error("Entity search input limit exceeded");let v=s&&Object.keys(s).length>0,w=UQ(e,p?void 0:this.logger);if(this.logger.debug(`Searching entities with query (${w.length} chars)`),!this.embeddingsEnabled)return this.searchLexically(w,{limit:f,offset:r,types:o,excludeTypes:i,weight:s,visibilityScope:c,includeUngenerated:l,minScore:u,readBudget:p,signal:g});if(d&&!g)throw Error("Query embedding signal required");let I=d&&g?await d(w,g):(await(g?this.embeddingService.generateEmbedding(w,g):this.embeddingService.generateEmbedding(w))).embedding;g?.throwIfAborted();let A=JSON.stringify(Array.from(I)),L=this.buildWeightMultiplier(v?s:void 0),N=[];if(o.length>0)N.push(S`${_.entityType} IN (${S.join(o.map((re)=>S`${re}`),S`, `)})`);if(i.length>0)N.push(S`${_.entityType} NOT IN (${S.join(i.map((re)=>S`${re}`),S`, `)})`);return this.searchWithAttachedDb(A,L,[...N,...this.buildVisibilityConditions(c),...this.buildGenerationStatusConditions(l),...p?[cm(p)]:[]],f,r,w,u,p,g)}async searchLexically(e,t){if(!e)return[];let n='"'+e.replace(/"/g,'""')+'"',r=[S`entity_fts MATCH ${n}`];if(t.readBudget)r.push(cm(t.readBudget));if(t.types.length>0)r.push(kt(_.entityType,t.types));if(t.excludeTypes.length>0)r.push(S`${_.entityType} NOT IN (${S.join(t.excludeTypes.map((c)=>S`${c}`),S`, `)})`);r.push(...this.buildVisibilityConditions(t.visibilityScope),...this.buildGenerationStatusConditions(t.includeUngenerated));let o=this.buildWeightMultiplier(t.weight),i=S`(0.5 + 0.5 * ((-bm25(entity_fts)) / (1.0 - bm25(entity_fts)))) * (${o})`;if(t.minScore!==void 0)r.push(S`${i} >= ${t.minScore}`);let s=await this.db.select({id:_.id,entityType:_.entityType,content:_.content,contentHash:_.contentHash,visibility:_.visibility,created:_.created,updated:_.updated,metadata:_.metadata,weighted_score:i.as("weighted_score")}).from(_).innerJoin(S`entity_fts`,S`entity_fts.entity_id = ${_.id} AND entity_fts.entity_type = ${_.entityType}`).where(oe(...r)).orderBy(S`weighted_score DESC`).limit(t.limit).offset(t.offset);return t.signal?.throwIfAborted(),this.mapSearchResults(s,e,t.readBudget!==void 0)}buildVisibilityConditions(e){let t=e??"public";if(t==="restricted")return[];return[kt(_.visibility,ks(t))]}buildGenerationStatusConditions(e){if(e)return[];return[S`(json_extract(${_.metadata}, '$.status') IS NULL OR json_extract(${_.metadata}, '$.status') NOT IN ('generating', 'failed'))`]}static FTS_ALPHA=0.3;buildWeightMultiplier(e){let t=Object.entries(e??{}).filter(([,r])=>Number.isFinite(r));if(t.length===0)return S`1.0`;let n=t.map(([r,o])=>S`WHEN ${_.entityType} = ${r} THEN ${o}`);return S`CASE ${S.join(n,S` `)} ELSE 1.0 END`}async searchWithAttachedDb(e,t,n,r,o,i,s,c,l){let u=xw.FTS_ALPHA,p=S`(1.0 - vector_distance_cos(emb_e.embedding, vector32(${e})) / 2.0) * (${t})`,d=S`vector_distance_cos(emb_e.embedding, vector32(${e}))`,g='"'+i.replace(/"/g,'""')+'"',f=S`CASE WHEN EXISTS (
72
+ `)}async function _O(e,t){await e.execute(`ATTACH DATABASE '${t}' AS emb`)}function zO(e){return e.startsWith("file:")?e.slice(5):e}function Ds(e){return"restricted"}var KSe=a.object({id:a.string().min(1,"Entity ID is required"),entityType:a.string().min(1,"Entity type is required"),contentHash:a.string().min(1,"Content hash is required"),operation:a.enum(["create","update"])});class Bh{logger;embeddingService;entityService;messageBus;static createFresh(e,t,n){return new Bh(e,t,n)}constructor(e,t,n){if(this.logger=pi.getInstance().child("EmbeddingJobHandler"),this.embeddingService=t,this.entityService=e,n)this.messageBus=n}async process(e,t,n){try{this.logger.debug("Processing embedding job",{jobId:t,entityId:e.id,entityType:e.entityType,contentHash:e.contentHash});let r=await this.entityService.getEntity({entityType:e.entityType,id:e.id,visibilityScope:Ds("embedding regeneration must index every entity, no user surface")});if(!r){this.logger.warn("Entity no longer exists, skipping embedding job",{jobId:t,entityId:e.id,entityType:e.entityType,operation:e.operation});return}if(r.contentHash!==e.contentHash){this.logger.info("Entity content changed since job created, skipping stale embedding",{jobId:t,entityId:e.id,entityType:e.entityType,jobContentHash:e.contentHash,currentContentHash:r.contentHash});return}let{embedding:o,usage:i}=await this.embeddingService.generateEmbedding(r.content);if(this.logger.info("ai:usage",{operation:"embedding",provider:"openai",model:"text-embedding-3-small",inputTokens:i.tokens,outputTokens:0}),await this.entityService.storeEmbedding({entityId:e.id,entityType:e.entityType,embedding:o,contentHash:e.contentHash}),this.messageBus)this.logger.debug(`Emitting entity:embedding:ready event for ${e.entityType}:${e.id}`),await this.messageBus.send({type:Ua.embeddingReady,payload:{entityType:e.entityType,entityId:e.id,entity:r},sender:"entity-service",broadcast:!0});this.logger.debug("Embedding job completed successfully",{jobId:t,entityId:e.id,embeddingDimensions:o.length})}catch(r){throw this.logger.error("Embedding job failed",{jobId:t,entityId:e.id,entityType:e.entityType,error:r}),r}}async onError(e,t,n){this.logger.error("Embedding job error handler called",{jobId:n,entityId:t.id,entityType:t.entityType,contentHash:t.contentHash,errorMessage:e.message,errorStack:e.stack})}validateAndParse(e){let t=KSe.safeParse(e);if(!t.success)return this.logger.warn("Invalid embedding job data",{data:e,validationError:t.error.issues}),null;return this.logger.debug("Embedding job data validation successful",{entityId:t.data.id,entityType:t.data.entityType,contentHash:t.data.contentHash}),t.data}}function cm(e){let{rowBytes:t}=Hi.parse(e);return S`typeof(${_.created}) = 'integer' AND typeof(${_.updated}) = 'integer' AND (length(cast(${_.id} as blob)) + length(cast(${_.entityType} as blob)) + length(cast(${_.content} as blob)) + length(cast(${_.contentHash} as blob)) + length(cast(${_.metadata} as blob)) + length(cast(${_.visibility} as blob)) + 16) <= ${t}`}function qQ(e,t={}){if(t.maxNeighborDistance!==void 0&&(!Number.isFinite(t.maxNeighborDistance)||t.maxNeighborDistance<0||t.maxNeighborDistance>2))throw RangeError("maxNeighborDistance must be between 0 and 2");YSe(e,t.origin);let n=e.map((l)=>BQ(l.embedding)),r=t.origin?BQ(t.origin.embedding):XSe(n),o=tve(n),i=t.origin?{kind:"entity",entityId:t.origin.entityId,entityType:t.origin.entityType}:{kind:"centroid"},s=e.map((l,u)=>({entityId:l.entityId,entityType:l.entityType,coordinates:o[u]??[0,0],distanceToOrigin:ZQ(n[u]??new Float64Array,r)})),c=s.map((l)=>l.distanceToOrigin);return{origin:i,points:s,neighbors:eve(e,n,t.maxNeighborDistance),distanceRange:{min:c.length>0?Math.min(...c):0,max:c.length>0?Math.max(...c):0}}}function YSe(e,t){let n=e[0]?.embedding.length??t?.embedding.length;if(n===void 0)return;for(let r of e)if(r.embedding.length!==n)throw RangeError("Semantic embeddings must have matching dimensions");if(t&&t.embedding.length!==n)throw RangeError("Semantic origin must match point dimensions")}function BQ(e){let t=0;for(let o of e)t+=o*o;let n=Math.sqrt(t),r=new Float64Array(e.length);if(n<=0.000000000001)return r;for(let o=0;o<e.length;o+=1)r[o]=(e[o]??0)/n;return r}function XSe(e){let t=e[0]?.length??0,n=new Float64Array(t);if(e.length===0)return n;for(let i of e)for(let s=0;s<t;s+=1)n[s]=(n[s]??0)+(i[s]??0);let r=0;for(let i of n)r+=i*i;let o=Math.sqrt(r);if(o<=0.000000000001)return new Float64Array(t);for(let i=0;i<t;i+=1)n[i]=(n[i]??0)/o;return n}function ZQ(e,t){if(e.length===0||t.length===0)return 1;let n=0,r=0,o=0;for(let s=0;s<e.length;s+=1){let c=e[s]??0,l=t[s]??0;n+=c*l,r+=c*c,o+=l*l}if(r<=0.000000000001||o<=0.000000000001)return 1;return 1-Math.max(-1,Math.min(1,n/Math.sqrt(r*o)))}function eve(e,t,n){if(n===void 0)return[];let r=[];for(let o=0;o<e.length;o+=1)for(let i=o+1;i<e.length;i+=1){let s=e[o],c=e[i],l=t[o],u=t[i];if(!s||!c||!l||!u)continue;let p=ZQ(l,u);if(p<=n)r.push({source:{entityId:s.entityId,entityType:s.entityType},target:{entityId:c.entityId,entityType:c.entityType},distance:p})}return r}function tve(e){let t=e.length;if(t===0)return[];if(t===1)return[[0,0]];let n=e[0]?.length??0,r=new Float64Array(n);for(let c of e)for(let l=0;l<n;l+=1)r[l]=(r[l]??0)+(c[l]??0)/t;let o=Array.from({length:t},()=>Array(t).fill(0));for(let c=0;c<t;c+=1)for(let l=c;l<t;l+=1){let u=0,p=e[c],d=e[l];if(!p||!d)continue;for(let v=0;v<n;v+=1)u+=((p[v]??0)-(r[v]??0))*((d[v]??0)-(r[v]??0));let g=o[c],f=o[l];if(g)g[l]=u;if(f)f[c]=u}let i=[],s=[];for(let c=0;c<2;c+=1){let l=nve(o,i,c);if(!l){i.push(Array(t).fill(0)),s.push(0);continue}i.push(l),s.push(Math.max(0,rve(o,l)))}return Array.from({length:t},(c,l)=>[(i[0]?.[l]??0)*Math.sqrt(s[0]??0),(i[1]?.[l]??0)*Math.sqrt(s[1]??0)])}function nve(e,t,n){let r=e.length,o=Array.from({length:r},(s,c)=>Math.sin((c+1)*(n+1))+Math.cos((c+1)*(n+2)));if(o=LQ(o,t),FO(o)<=0.000000000001)return null;for(let s=0;s<100;s+=1){let c=LQ($Q(e,o),t),l=FO(c);if(l<=0.000000000001)return null;o=c.map((u)=>u/l)}let i=o.reduce((s,c,l)=>Math.abs(c)>Math.abs(o[s]??0)?l:s,0);if((o[i]??0)<0)o=o.map((s)=>-s);return o}function $Q(e,t){return e.map((n)=>n.reduce((r,o,i)=>r+o*(t[i]??0),0))}function LQ(e,t){let n=[...e];for(let o of t){let i=n.reduce((s,c,l)=>s+c*(o[l]??0),0);for(let s=0;s<n.length;s+=1)n[s]=(n[s]??0)-i*(o[s]??0)}let r=FO(n);return r<=0.000000000001?n:n.map((o)=>o/r)}function FO(e){return Math.sqrt(e.reduce((t,n)=>t+n*n,0))}function rve(e,t){let n=$Q(e,t);return t.reduce((r,o,i)=>r+o*(n[i]??0),0)}var Lh=12000,ove=0.82;function UQ(e,t,n=Lh){let r=e.trim().replace(/\s+/g," ");if(r.length<=n)return r;return t?.warn("Truncating search query that exceeds max length",{originalLength:r.length,truncatedLength:n}),r.slice(0,n)}var ive=a.object({limit:a.number().int().positive().optional().default(20),offset:a.number().int().min(0).optional().default(0),types:a.array(a.string()).optional().default([]),excludeTypes:a.array(a.string()).optional().default([]),weight:a.record(a.string(),a.number()).optional(),visibilityScope:a.enum(["public","shared","restricted"]).optional(),includeUngenerated:a.boolean().optional().default(!1),minScore:a.number().min(0).optional(),readBudget:Hi.optional(),queryEmbedding:a.custom((e)=>typeof e==="function").optional(),signal:a.instanceof(AbortSignal).optional()}),sve=a.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},a.record(a.string(),a.unknown()));class xw{db;embeddingService;serializer;logger;embeddingsEnabled;constructor(e,t,n,r,o=!0){this.db=e,this.embeddingService=t,this.serializer=n,this.logger=r.child("EntitySearch"),this.embeddingsEnabled=o}async search(e,t){let n=ive.parse(t??{}),{offset:r,types:o,excludeTypes:i,weight:s,visibilityScope:c,includeUngenerated:l,minScore:u,readBudget:p,queryEmbedding:d,signal:g}=n,f=p?Math.min(n.limit,p.rows):n.limit;if(g?.throwIfAborted(),p&&e.length>p.queryCharacters)throw Error("Entity search input limit exceeded");let v=s&&Object.keys(s).length>0,w=UQ(e,p?void 0:this.logger);if(this.logger.debug(`Searching entities with query (${w.length} chars)`),!this.embeddingsEnabled)return this.searchLexically(w,{limit:f,offset:r,types:o,excludeTypes:i,weight:s,visibilityScope:c,includeUngenerated:l,minScore:u,readBudget:p,signal:g});if(d&&!g)throw Error("Query embedding signal required");let I=d&&g?await d(w,g):(await(g?this.embeddingService.generateEmbedding(w,g):this.embeddingService.generateEmbedding(w))).embedding;g?.throwIfAborted();let A=JSON.stringify(Array.from(I)),L=this.buildWeightMultiplier(v?s:void 0),N=[];if(o.length>0)N.push(S`${_.entityType} IN (${S.join(o.map((re)=>S`${re}`),S`, `)})`);if(i.length>0)N.push(S`${_.entityType} NOT IN (${S.join(i.map((re)=>S`${re}`),S`, `)})`);return this.searchWithAttachedDb(A,L,[...N,...this.buildVisibilityConditions(c),...this.buildGenerationStatusConditions(l),...p?[cm(p)]:[]],f,r,w,u,p,g)}async searchLexically(e,t){if(!e)return[];let n='"'+e.replace(/"/g,'""')+'"',r=[S`entity_fts MATCH ${n}`];if(t.readBudget)r.push(cm(t.readBudget));if(t.types.length>0)r.push(It(_.entityType,t.types));if(t.excludeTypes.length>0)r.push(S`${_.entityType} NOT IN (${S.join(t.excludeTypes.map((c)=>S`${c}`),S`, `)})`);r.push(...this.buildVisibilityConditions(t.visibilityScope),...this.buildGenerationStatusConditions(t.includeUngenerated));let o=this.buildWeightMultiplier(t.weight),i=S`(0.5 + 0.5 * ((-bm25(entity_fts)) / (1.0 - bm25(entity_fts)))) * (${o})`;if(t.minScore!==void 0)r.push(S`${i} >= ${t.minScore}`);let s=await this.db.select({id:_.id,entityType:_.entityType,content:_.content,contentHash:_.contentHash,visibility:_.visibility,created:_.created,updated:_.updated,metadata:_.metadata,weighted_score:i.as("weighted_score")}).from(_).innerJoin(S`entity_fts`,S`entity_fts.entity_id = ${_.id} AND entity_fts.entity_type = ${_.entityType}`).where(oe(...r)).orderBy(S`weighted_score DESC`).limit(t.limit).offset(t.offset);return t.signal?.throwIfAborted(),this.mapSearchResults(s,e,t.readBudget!==void 0)}buildVisibilityConditions(e){let t=e??"public";if(t==="restricted")return[];return[It(_.visibility,ks(t))]}buildGenerationStatusConditions(e){if(e)return[];return[S`(json_extract(${_.metadata}, '$.status') IS NULL OR json_extract(${_.metadata}, '$.status') NOT IN ('generating', 'failed'))`]}static FTS_ALPHA=0.3;buildWeightMultiplier(e){let t=Object.entries(e??{}).filter(([,r])=>Number.isFinite(r));if(t.length===0)return S`1.0`;let n=t.map(([r,o])=>S`WHEN ${_.entityType} = ${r} THEN ${o}`);return S`CASE ${S.join(n,S` `)} ELSE 1.0 END`}async searchWithAttachedDb(e,t,n,r,o,i,s,c,l){let u=xw.FTS_ALPHA,p=S`(1.0 - vector_distance_cos(emb_e.embedding, vector32(${e})) / 2.0) * (${t})`,d=S`vector_distance_cos(emb_e.embedding, vector32(${e}))`,g='"'+i.replace(/"/g,'""')+'"',f=S`CASE WHEN EXISTS (
73
73
  SELECT 1 FROM entity_fts WHERE entity_fts MATCH ${g}
74
74
  AND entity_id = ${_.id} AND entity_type = ${_.entityType}
75
- ) THEN 1.0 ELSE 0.0 END`,v=S`(${1-u} * ${p}) + (${u} * ${f})`,w=await this.db.select({id:_.id,entityType:_.entityType,content:_.content,contentHash:_.contentHash,visibility:_.visibility,created:_.created,updated:_.updated,metadata:_.metadata,distance:d,weighted_score:v}).from(_).innerJoin(S`emb.embeddings AS emb_e`,S`${_.id} = emb_e.entity_id AND ${_.entityType} = emb_e.entity_type`).where(oe(S`${d} < ${ove}`,...s!==void 0?[S`${v} >= ${s}`]:[],...n)).orderBy(dn(v)).limit(r).offset(o);return l?.throwIfAborted(),this.mapSearchResults(w,i,c!==void 0)}async searchEntities(e,t,n){let r={types:[e],limit:n?.limit??20,offset:0,sortBy:"relevance",sortDirection:"desc"};return this.search(t,r)}async projectSemanticSpace(e){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let t=e.types&&e.types.length>0?new Set(e.types):void 0,n=t?new Set(t):void 0;if(n&&e.origin)n.add(e.origin.entityType);let r=await this.readEmbeddings(n?Array.from(n):void 0,e.visibilityScope),o=e.origin,i=o?r.find((c)=>c.entityId===o.entityId&&c.entityType===o.entityType):void 0,s=r.filter((c)=>{let l=t?.has(c.entityType)??!0,u=c.entityId===o?.entityId&&c.entityType===o.entityType;return l&&!u});return qQ(s,{...i&&{origin:i},...e.maxNeighborDistance!==void 0&&{maxNeighborDistance:e.maxNeighborDistance}})}async readEmbeddings(e,t){let n=this.buildVisibilityConditions(t);if(e&&e.length>0)n.push(kt(_.entityType,e));let r=S`emb_e.embedding`.mapWith({mapFromDriverValue(o){if(!ArrayBuffer.isView(o))throw TypeError("Expected embedding blob to be an ArrayBuffer view");let i=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);if(i.byteLength%Float32Array.BYTES_PER_ELEMENT!==0)throw RangeError("Embedding blob byte length must be divisible by 4");let s=new Uint8Array(i.byteLength);return s.set(i),new Float32Array(s.buffer)}});return this.db.select({entityId:_.id,entityType:_.entityType,embedding:r}).from(_).innerJoin(S`emb.embeddings AS emb_e`,S`${_.id} = emb_e.entity_id AND ${_.entityType} = emb_e.entity_type`).where(n.length>0?oe(...n):void 0).orderBy(st(_.entityType),st(_.id))}async searchWithDistances(e){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let t=UQ(e,this.logger),{embedding:n}=await this.embeddingService.generateEmbedding(t),r=JSON.stringify(Array.from(n)),o=S`vector_distance_cos(emb_e.embedding, vector32(${r}))`;return await this.db.select({entityId:_.id,entityType:_.entityType,distance:o}).from(_).innerJoin(S`emb.embeddings AS emb_e`,S`${_.id} = emb_e.entity_id AND ${_.entityType} = emb_e.entity_type`).orderBy(S`${o} ASC`)}mapSearchResults(e,t,n=!1){let r=[];for(let o of e)try{let i=sve.parse(o.metadata),s=this.serializer.reconstructEntity({id:o.id,entityType:o.entityType,content:o.content,contentHash:o.contentHash,visibility:o.visibility,created:o.created,updated:o.updated,metadata:i});r.push({entity:s,score:o.weighted_score,excerpt:this.createExcerpt(o.content,t)})}catch(i){if(!n)this.logger.error(`Failed to parse entity during search: ${i}`)}if(!n){let o=t.length>50?t.substring(0,50)+"...":t;this.logger.debug(`Found ${r.length} results for query "${o}"`)}return r}createExcerpt(e,t){let r=t.toLowerCase(),i=e.toLowerCase().indexOf(r);if(i!==-1){let s=Math.max(0,i-50),c=Math.min(e.length,i+r.length+50),l=e.slice(s,c);if(s>0)l="..."+l;if(c<e.length)l=l+"...";return l}return e.slice(0,200)+(e.length>200?"...":"")}}var Sw=Hv(BV(),1);var WQ=a.record(a.string(),a.unknown()),HQ=new Set(["id","entityType","content","contentHash","created","updated","visibility"]);function JQ(e,t,n,r="reject"){if(n.length===0)return t;let o={...t};for(let i of n){let s=Object.keys(i.shape),c=Object.fromEntries(s.filter((u)=>Object.hasOwn(e,u)).map((u)=>[u,e[u]])),l=i.safeParse(c);if(!l.success&&r==="reject")throw l.error;for(let u of s)if(delete o[u],l.success&&Object.hasOwn(e,u)&&l.data[u]!==void 0&&!HQ.has(u))o[u]=l.data[u]}return o}function vw(e,t,n,r,o=[]){if(!n)return t;let i=Sw.default(e,{}),s=Sw.default(t,{}),c=WQ.parse(i.data),l=WQ.parse(s.data),u=new Set([...r.flatMap((f)=>Object.keys(f.shape)),...o]),p=Object.entries(c).filter(([f,v])=>!HQ.has(f)&&(!Object.hasOwn(n.shape,f)||u.has(f))&&(!Object.hasOwn(l,f)||JSON.stringify(l[f])!==JSON.stringify(v))),d=[...u].filter((f)=>!Object.hasOwn(c,f)&&Object.hasOwn(l,f));if(p.length===0&&d.length===0)return t;let g={...l};for(let f of d)delete g[f];for(let[f,v]of p)g[f]=v;return Object.keys(g).length>0?Sw.default.stringify(s.content,g):s.content}class NO{entityRegistry;logger;constructor(e,t){this.entityRegistry=e,this.logger=t.child("EntitySerializer")}serializeEntity(e){let t=this.entityRegistry.getAdapter(e.entityType);return vw(e.content,Kd(t.toMarkdown(e),e.visibility),this.entityRegistry.getEntityTypeConfig(e.entityType).binaryStorage==="asset"?void 0:t.frontmatterSchema,this.entityRegistry.getFrontmatterExtensions(e.entityType),this.entityRegistry.getGroupings().filter((n)=>n.types.includes(e.entityType)).map((n)=>n.field))}deserializeEntity(e,t){let n=this.entityRegistry.getAdapter(t),r;try{r=n.fromMarkdown(e)}catch(u){throw Yd(t,u)??u}let{metadata:o,visibility:i,...s}=r,c=Jv(e),l=this.stripPolicyMetadata(this.entityRegistry.projectMetadata(t,e,o??{}));return{...s,...c&&{visibility:c},metadata:l}}async convertToEntity(e,t=!0){try{return this.reconstructEntity(e)}catch(n){if(t){let r=et(n);this.logger.error(`Failed to parse entity of type ${e.entityType} with ID ${e.id}: ${r}`)}return null}}async convertToEntities(e,t,n=!0){let r=[];for(let o of e)try{r.push(this.reconstructEntity(o))}catch(i){if(n){let s=et(i);this.logger.error(`Failed to parse entity of type ${t} with ID ${o.id}: ${s}`)}}return r}reconstructEntity(e){let t=this.entityRegistry.getAdapter(e.entityType),n=t.fromMarkdown(e.content),{metadata:r,visibility:o,...i}=n,s={id:e.id,entityType:e.entityType,content:e.content,contentHash:e.contentHash,created:new Date(e.created).toISOString(),updated:new Date(e.updated).toISOString(),visibility:e.visibility,...i,...this.stripPolicyMetadata(e.metadata),metadata:this.stripPolicyMetadata(e.metadata)};return t.schema.parse(s)}prepareEntityForStorage(e,t){let n=this.entityRegistry.getAdapter(t),r=this.serializeEntity(e),o=this.stripPolicyMetadata(this.entityRegistry.projectMetadata(t,r,n.extractMetadata(e)));return{markdown:r,metadata:o}}stripPolicyMetadata(e){let{visibility:t,...n}=e;return n}}var ww=a.strictObject({key:a.string().min(1).max(80).regex(/^[a-z][a-z0-9-]*$/),label:a.string().trim().min(1).max(100),field:a.string().min(1).max(80).regex(/^[a-z][a-z0-9-]*$/),types:a.array(a.string().min(1).max(100)).min(1).max(100).refine((e)=>new Set(e).size===e.length,"Grouping types must be unique")}),jO=a.enum(["updated-desc","updated-asc","created-desc","created-asc"]),BO=50,LO=100,qO=a.string().min(1).max(80),ZO=a.string().max(1e4),$O=a.string().max(200),UO=a.object({grouping:qO,entityTypes:a.array(a.string().min(1)).max(100),visibilityScope:Es.optional(),limit:a.number().int().min(1).max(LO).default(BO),offset:a.number().int().min(0).max(Number.MAX_SAFE_INTEGER).default(0),signal:a.instanceof(AbortSignal).optional()}),VQ=UO.extend({value:ZO,q:$O.optional(),sort:jO.default("updated-desc")}),GQ=new Set(["id","entityType","entity-type","content","contentHash","content-hash","created","updated","visibility","metadata","__proto__","constructor","prototype"]);var Hu=":",WO=a.string().refine((e)=>!e.includes(Hu),{message:`Entity ID path segments cannot contain '${Hu}'`}),KQ=a.tuple([WO],WO),QQ=WO.min(1).refine((e)=>e!=="."&&e!=="..",{message:"Entity ID path segments cannot be dot segments"}).refine((e)=>!e.includes("/")&&!e.includes("\\"),{message:"Entity ID path segments cannot contain path separators"}).refine((e)=>!e.includes("\x00"),{message:"Entity ID path segments cannot contain null bytes"}),lm=a.tuple([QQ],QQ);function Wa(e){return e.join(Hu)}function HO(e){let[t="",...n]=e.split(Hu);return[t,...n]}function YQ(e,t){let n=t===null?"":Wa(t)+Hu,r=S`CAST(${e} AS BLOB)`,o=S`CAST(${n} AS BLOB)`,i=S`substr(${r}, length(${o}) + 1)`,s=S`instr(${i}, CAST(${Hu} AS BLOB))`;return{withinPrefix:t===null?S`1 = 1`:S`${e} >= ${n} AND ${e} < ${Wa(t)+String.fromCharCode(Hu.charCodeAt(0)+1)}`,directChild:S`${s} = 0`,childName:S`substr(${i}, 1, ${s} - 1)`}}var ave=a.record(a.string(),a.unknown());function Ju(e){return{id:e.id,entityType:e.entityType,content:e.content,contentHash:e.contentHash,visibility:Gv(e.visibility),created:e.created,updated:e.updated,metadata:ave.parse(e.metadata)}}var cve=a.object({field:a.string(),direction:a.enum(["asc","desc"]),nullsFirst:a.boolean().optional()}),Tw=a.object({limit:a.number().int().positive().optional(),offset:a.number().int().min(0).optional().default(0),sortFields:a.array(cve).optional(),filter:a.object({metadata:a.record(a.string(),a.unknown()).optional(),contentContains:a.string().max(200).optional(),visibility:a.enum(["public","shared","restricted"]).optional(),visibilityScope:a.enum(["public","shared","restricted"]).optional()}).optional(),publishedOnly:a.boolean().optional(),readBudget:Hi.optional(),signal:a.instanceof(AbortSignal).optional()}),lve=a.object({entityType:a.string().min(1),prefix:KQ.nullable().optional(),includeDescendants:a.boolean().default(!1),visibilityScope:a.enum(["public","shared","restricted"]).optional(),limit:a.number().int().min(1).max(100).default(50),offset:a.number().int().min(0).max(Number.MAX_SAFE_INTEGER).default(0),sortFields:Tw.shape.sortFields,filter:Tw.shape.filter.unwrap().omit({visibilityScope:!0}).optional(),signal:a.instanceof(AbortSignal).optional()}),JO=1000;function XQ(e){return S`instr(lower(${_.content}), lower(${e.trim()})) > 0`}class VO{db;embeddingDb;serializer;logger;entityRegistry;constructor(e){this.db=e.db,this.entityRegistry=e.entityRegistry,this.embeddingDb=e.embeddingDb,this.serializer=e.serializer,this.logger=e.logger.child("EntityQueries")}async getEntityData(e,t,n,r={}){r.signal?.throwIfAborted();let o=r.readBudget===void 0?void 0:Hi.parse(r.readBudget);if(o&&(t.length>o.queryCharacters||e.length>o.queryCharacters))throw Error("Entity lookup input limit exceeded");if(!o)this.logger.debug(`Getting entity of type ${e} with ID ${t}`);let i=n??"public",s=[O(_.id,t),O(_.entityType,e)];if(i!=="restricted")s.push(kt(_.visibility,ks(i)));if(o)s.push(cm(o));let c=await this.db.select({...rm(_),id:S`CAST(${_.id} AS BLOB)`}).from(_).where(oe(...s)).limit(1);if(r.signal?.throwIfAborted(),c.length===0){if(!o)this.logger.debug(`Entity of type ${e} with ID ${t} not found`);return null}let l=c[0];if(!l)return null;let u=new TextDecoder("utf-8",{ignoreBOM:!0});return Ju({...l,id:u.decode(l.id)})}async getEntityWriteSnapshot(e){let t=await this.getEntityData(e.entityType,e.id,e.visibilityScope,e);if(!t)return null;let n=await this.serializer.convertToEntity(t);if(!n)throw Error("Cannot deserialize entity write snapshot");return{entity:n,revision:$i(t)}}async listEntities(e,t={},n){let r=Tw.parse(t),{offset:o,sortFields:i,filter:s,publishedOnly:c,readBudget:l,signal:u}=r,p=l?Math.min(r.limit??l.rows,l.rows):r.limit;if(u?.throwIfAborted(),!l)this.logger.debug(`Listing entities of type ${e} (limit: ${p}, offset: ${o}, filter: ${JSON.stringify(s)}, publishedOnly: ${c})`);let d=this.buildWhereConditions(e,c,s?.metadata,s?.visibilityScope,n,s?.contentContains,s?.visibility);if(l)d.push(cm(l));let g=this.buildOrderByClauses(i),f=this.db.select().from(_).where(oe(...d)).orderBy(...g).offset(o),v=p!==void 0?await f.limit(p):await f;u?.throwIfAborted();let w=await this.serializer.convertToEntities(v.map(Ju),e,l===void 0);if(u?.throwIfAborted(),!l)this.logger.debug(`Listed ${w.length} entities of type ${e}`);return w}async queryGroupingCatalog(e){let t=UO.parse(e);t.signal?.throwIfAborted();let{conditions:n,array:r}=this.groupingConditions(t),o=S`(SELECT DISTINCT ${_.entityType}, ${_.id}, j.value AS value
75
+ ) THEN 1.0 ELSE 0.0 END`,v=S`(${1-u} * ${p}) + (${u} * ${f})`,w=await this.db.select({id:_.id,entityType:_.entityType,content:_.content,contentHash:_.contentHash,visibility:_.visibility,created:_.created,updated:_.updated,metadata:_.metadata,distance:d,weighted_score:v}).from(_).innerJoin(S`emb.embeddings AS emb_e`,S`${_.id} = emb_e.entity_id AND ${_.entityType} = emb_e.entity_type`).where(oe(S`${d} < ${ove}`,...s!==void 0?[S`${v} >= ${s}`]:[],...n)).orderBy(dn(v)).limit(r).offset(o);return l?.throwIfAborted(),this.mapSearchResults(w,i,c!==void 0)}async searchEntities(e,t,n){let r={types:[e],limit:n?.limit??20,offset:0,sortBy:"relevance",sortDirection:"desc"};return this.search(t,r)}async projectSemanticSpace(e){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let t=e.types&&e.types.length>0?new Set(e.types):void 0,n=t?new Set(t):void 0;if(n&&e.origin)n.add(e.origin.entityType);let r=await this.readEmbeddings(n?Array.from(n):void 0,e.visibilityScope),o=e.origin,i=o?r.find((c)=>c.entityId===o.entityId&&c.entityType===o.entityType):void 0,s=r.filter((c)=>{let l=t?.has(c.entityType)??!0,u=c.entityId===o?.entityId&&c.entityType===o.entityType;return l&&!u});return qQ(s,{...i&&{origin:i},...e.maxNeighborDistance!==void 0&&{maxNeighborDistance:e.maxNeighborDistance}})}async readEmbeddings(e,t){let n=this.buildVisibilityConditions(t);if(e&&e.length>0)n.push(It(_.entityType,e));let r=S`emb_e.embedding`.mapWith({mapFromDriverValue(o){if(!ArrayBuffer.isView(o))throw TypeError("Expected embedding blob to be an ArrayBuffer view");let i=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);if(i.byteLength%Float32Array.BYTES_PER_ELEMENT!==0)throw RangeError("Embedding blob byte length must be divisible by 4");let s=new Uint8Array(i.byteLength);return s.set(i),new Float32Array(s.buffer)}});return this.db.select({entityId:_.id,entityType:_.entityType,embedding:r}).from(_).innerJoin(S`emb.embeddings AS emb_e`,S`${_.id} = emb_e.entity_id AND ${_.entityType} = emb_e.entity_type`).where(n.length>0?oe(...n):void 0).orderBy(st(_.entityType),st(_.id))}async searchWithDistances(e){if(!this.embeddingsEnabled)throw Error("Semantic indexing is disabled for this Brain instance");let t=UQ(e,this.logger),{embedding:n}=await this.embeddingService.generateEmbedding(t),r=JSON.stringify(Array.from(n)),o=S`vector_distance_cos(emb_e.embedding, vector32(${r}))`;return await this.db.select({entityId:_.id,entityType:_.entityType,distance:o}).from(_).innerJoin(S`emb.embeddings AS emb_e`,S`${_.id} = emb_e.entity_id AND ${_.entityType} = emb_e.entity_type`).orderBy(S`${o} ASC`)}mapSearchResults(e,t,n=!1){let r=[];for(let o of e)try{let i=sve.parse(o.metadata),s=this.serializer.reconstructEntity({id:o.id,entityType:o.entityType,content:o.content,contentHash:o.contentHash,visibility:o.visibility,created:o.created,updated:o.updated,metadata:i});r.push({entity:s,score:o.weighted_score,excerpt:this.createExcerpt(o.content,t)})}catch(i){if(!n)this.logger.error(`Failed to parse entity during search: ${i}`)}if(!n){let o=t.length>50?t.substring(0,50)+"...":t;this.logger.debug(`Found ${r.length} results for query "${o}"`)}return r}createExcerpt(e,t){let r=t.toLowerCase(),i=e.toLowerCase().indexOf(r);if(i!==-1){let s=Math.max(0,i-50),c=Math.min(e.length,i+r.length+50),l=e.slice(s,c);if(s>0)l="..."+l;if(c<e.length)l=l+"...";return l}return e.slice(0,200)+(e.length>200?"...":"")}}var Sw=Hv(BV(),1);var WQ=a.record(a.string(),a.unknown()),HQ=new Set(["id","entityType","content","contentHash","created","updated","visibility"]);function JQ(e,t,n,r="reject"){if(n.length===0)return t;let o={...t};for(let i of n){let s=Object.keys(i.shape),c=Object.fromEntries(s.filter((u)=>Object.hasOwn(e,u)).map((u)=>[u,e[u]])),l=i.safeParse(c);if(!l.success&&r==="reject")throw l.error;for(let u of s)if(delete o[u],l.success&&Object.hasOwn(e,u)&&l.data[u]!==void 0&&!HQ.has(u))o[u]=l.data[u]}return o}function vw(e,t,n,r,o=[]){if(!n)return t;let i=Sw.default(e,{}),s=Sw.default(t,{}),c=WQ.parse(i.data),l=WQ.parse(s.data),u=new Set([...r.flatMap((f)=>Object.keys(f.shape)),...o]),p=Object.entries(c).filter(([f,v])=>!HQ.has(f)&&(!Object.hasOwn(n.shape,f)||u.has(f))&&(!Object.hasOwn(l,f)||JSON.stringify(l[f])!==JSON.stringify(v))),d=[...u].filter((f)=>!Object.hasOwn(c,f)&&Object.hasOwn(l,f));if(p.length===0&&d.length===0)return t;let g={...l};for(let f of d)delete g[f];for(let[f,v]of p)g[f]=v;return Object.keys(g).length>0?Sw.default.stringify(s.content,g):s.content}class NO{entityRegistry;logger;constructor(e,t){this.entityRegistry=e,this.logger=t.child("EntitySerializer")}serializeEntity(e){let t=this.entityRegistry.getAdapter(e.entityType);return vw(e.content,Kd(t.toMarkdown(e),e.visibility),this.entityRegistry.getEntityTypeConfig(e.entityType).binaryStorage==="asset"?void 0:t.frontmatterSchema,this.entityRegistry.getFrontmatterExtensions(e.entityType),this.entityRegistry.getGroupings().filter((n)=>n.types.includes(e.entityType)).map((n)=>n.field))}deserializeEntity(e,t){let n=this.entityRegistry.getAdapter(t),r;try{r=n.fromMarkdown(e)}catch(u){throw Yd(t,u)??u}let{metadata:o,visibility:i,...s}=r,c=Jv(e),l=this.stripPolicyMetadata(this.entityRegistry.projectMetadata(t,e,o??{}));return{...s,...c&&{visibility:c},metadata:l}}async convertToEntity(e,t=!0){try{return this.reconstructEntity(e)}catch(n){if(t){let r=et(n);this.logger.error(`Failed to parse entity of type ${e.entityType} with ID ${e.id}: ${r}`)}return null}}async convertToEntities(e,t,n=!0){let r=[];for(let o of e)try{r.push(this.reconstructEntity(o))}catch(i){if(n){let s=et(i);this.logger.error(`Failed to parse entity of type ${t} with ID ${o.id}: ${s}`)}}return r}reconstructEntity(e){let t=this.entityRegistry.getAdapter(e.entityType),n=t.fromMarkdown(e.content),{metadata:r,visibility:o,...i}=n,s={id:e.id,entityType:e.entityType,content:e.content,contentHash:e.contentHash,created:new Date(e.created).toISOString(),updated:new Date(e.updated).toISOString(),visibility:e.visibility,...i,...this.stripPolicyMetadata(e.metadata),metadata:this.stripPolicyMetadata(e.metadata)};return t.schema.parse(s)}prepareEntityForStorage(e,t){let n=this.entityRegistry.getAdapter(t),r=this.serializeEntity(e),o=this.stripPolicyMetadata(this.entityRegistry.projectMetadata(t,r,n.extractMetadata(e)));return{markdown:r,metadata:o}}stripPolicyMetadata(e){let{visibility:t,...n}=e;return n}}var ww=a.strictObject({key:a.string().min(1).max(80).regex(/^[a-z][a-z0-9-]*$/),label:a.string().trim().min(1).max(100),field:a.string().min(1).max(80).regex(/^[a-z][a-z0-9-]*$/),types:a.array(a.string().min(1).max(100)).min(1).max(100).refine((e)=>new Set(e).size===e.length,"Grouping types must be unique")}),jO=a.enum(["updated-desc","updated-asc","created-desc","created-asc"]),BO=50,LO=100,qO=a.string().min(1).max(80),ZO=a.string().max(1e4),$O=a.string().max(200),UO=a.object({grouping:qO,entityTypes:a.array(a.string().min(1)).max(100),visibilityScope:Es.optional(),limit:a.number().int().min(1).max(LO).default(BO),offset:a.number().int().min(0).max(Number.MAX_SAFE_INTEGER).default(0),signal:a.instanceof(AbortSignal).optional()}),VQ=UO.extend({value:ZO,q:$O.optional(),sort:jO.default("updated-desc")}),GQ=new Set(["id","entityType","entity-type","content","contentHash","content-hash","created","updated","visibility","metadata","__proto__","constructor","prototype"]);var Hu=":",WO=a.string().refine((e)=>!e.includes(Hu),{message:`Entity ID path segments cannot contain '${Hu}'`}),KQ=a.tuple([WO],WO),QQ=WO.min(1).refine((e)=>e!=="."&&e!=="..",{message:"Entity ID path segments cannot be dot segments"}).refine((e)=>!e.includes("/")&&!e.includes("\\"),{message:"Entity ID path segments cannot contain path separators"}).refine((e)=>!e.includes("\x00"),{message:"Entity ID path segments cannot contain null bytes"}),lm=a.tuple([QQ],QQ);function Wa(e){return e.join(Hu)}function HO(e){let[t="",...n]=e.split(Hu);return[t,...n]}function YQ(e,t){let n=t===null?"":Wa(t)+Hu,r=S`CAST(${e} AS BLOB)`,o=S`CAST(${n} AS BLOB)`,i=S`substr(${r}, length(${o}) + 1)`,s=S`instr(${i}, CAST(${Hu} AS BLOB))`;return{withinPrefix:t===null?S`1 = 1`:S`${e} >= ${n} AND ${e} < ${Wa(t)+String.fromCharCode(Hu.charCodeAt(0)+1)}`,directChild:S`${s} = 0`,childName:S`substr(${i}, 1, ${s} - 1)`}}var ave=a.record(a.string(),a.unknown());function Ju(e){return{id:e.id,entityType:e.entityType,content:e.content,contentHash:e.contentHash,visibility:Gv(e.visibility),created:e.created,updated:e.updated,metadata:ave.parse(e.metadata)}}var cve=a.object({field:a.string(),direction:a.enum(["asc","desc"]),nullsFirst:a.boolean().optional()}),Tw=a.object({limit:a.number().int().positive().optional(),offset:a.number().int().min(0).optional().default(0),sortFields:a.array(cve).optional(),filter:a.object({metadata:a.record(a.string(),a.unknown()).optional(),contentContains:a.string().max(200).optional(),visibility:a.enum(["public","shared","restricted"]).optional(),visibilityScope:a.enum(["public","shared","restricted"]).optional()}).optional(),publishedOnly:a.boolean().optional(),readBudget:Hi.optional(),signal:a.instanceof(AbortSignal).optional()}),lve=a.object({entityType:a.string().min(1),prefix:KQ.nullable().optional(),includeDescendants:a.boolean().default(!1),visibilityScope:a.enum(["public","shared","restricted"]).optional(),limit:a.number().int().min(1).max(100).default(50),offset:a.number().int().min(0).max(Number.MAX_SAFE_INTEGER).default(0),sortFields:Tw.shape.sortFields,filter:Tw.shape.filter.unwrap().omit({visibilityScope:!0}).optional(),signal:a.instanceof(AbortSignal).optional()}),JO=1000;function XQ(e){return S`instr(lower(${_.content}), lower(${e.trim()})) > 0`}class VO{db;embeddingDb;serializer;logger;entityRegistry;constructor(e){this.db=e.db,this.entityRegistry=e.entityRegistry,this.embeddingDb=e.embeddingDb,this.serializer=e.serializer,this.logger=e.logger.child("EntityQueries")}async getEntityData(e,t,n,r={}){r.signal?.throwIfAborted();let o=r.readBudget===void 0?void 0:Hi.parse(r.readBudget);if(o&&(t.length>o.queryCharacters||e.length>o.queryCharacters))throw Error("Entity lookup input limit exceeded");if(!o)this.logger.debug(`Getting entity of type ${e} with ID ${t}`);let i=n??"public",s=[O(_.id,t),O(_.entityType,e)];if(i!=="restricted")s.push(It(_.visibility,ks(i)));if(o)s.push(cm(o));let c=await this.db.select({...rm(_),id:S`CAST(${_.id} AS BLOB)`}).from(_).where(oe(...s)).limit(1);if(r.signal?.throwIfAborted(),c.length===0){if(!o)this.logger.debug(`Entity of type ${e} with ID ${t} not found`);return null}let l=c[0];if(!l)return null;let u=new TextDecoder("utf-8",{ignoreBOM:!0});return Ju({...l,id:u.decode(l.id)})}async getEntityWriteSnapshot(e){let t=await this.getEntityData(e.entityType,e.id,e.visibilityScope,e);if(!t)return null;let n=await this.serializer.convertToEntity(t);if(!n)throw Error("Cannot deserialize entity write snapshot");return{entity:n,revision:$i(t)}}async listEntities(e,t={},n){let r=Tw.parse(t),{offset:o,sortFields:i,filter:s,publishedOnly:c,readBudget:l,signal:u}=r,p=l?Math.min(r.limit??l.rows,l.rows):r.limit;if(u?.throwIfAborted(),!l)this.logger.debug(`Listing entities of type ${e} (limit: ${p}, offset: ${o}, filter: ${JSON.stringify(s)}, publishedOnly: ${c})`);let d=this.buildWhereConditions(e,c,s?.metadata,s?.visibilityScope,n,s?.contentContains,s?.visibility);if(l)d.push(cm(l));let g=this.buildOrderByClauses(i),f=this.db.select().from(_).where(oe(...d)).orderBy(...g).offset(o),v=p!==void 0?await f.limit(p):await f;u?.throwIfAborted();let w=await this.serializer.convertToEntities(v.map(Ju),e,l===void 0);if(u?.throwIfAborted(),!l)this.logger.debug(`Listed ${w.length} entities of type ${e}`);return w}async queryGroupingCatalog(e){let t=UO.parse(e);t.signal?.throwIfAborted();let{conditions:n,array:r}=this.groupingConditions(t),o=S`(SELECT DISTINCT ${_.entityType}, ${_.id}, j.value AS value
76
76
  FROM ${_}, json_each(${r}) AS j
77
- WHERE ${oe(...n)} AND j.type = 'text') AS grouping_values`,i=await this.db.select({total:S`COUNT(DISTINCT grouping_values.value)`}).from(o);t.signal?.throwIfAborted();let s=await this.db.select({value:S`CAST(grouping_values.value AS BLOB)`,count:S`COUNT(*)`}).from(o).groupBy(S`grouping_values.value`).orderBy(S`grouping_values.value COLLATE NOCASE ASC`,S`grouping_values.value COLLATE BINARY ASC`).limit(t.limit).offset(t.offset);t.signal?.throwIfAborted();let c=new TextDecoder("utf-8",{ignoreBOM:!0});return{values:s.map((l)=>({value:c.decode(l.value),count:Number(l.count)})),total:Number(i[0]?.total??0)}}async queryGroupingMembers(e){let t=VQ.parse(e);t.signal?.throwIfAborted();let{conditions:n,array:r}=this.groupingConditions(t);if(n.push(S`EXISTS (SELECT 1 FROM json_each(${r}) AS j WHERE j.type = 'text' AND j.value = ${t.value})`),t.q?.trim())n.push(XQ(t.q));let o=oe(...n),i=await this.db.select({total:S`COUNT(*)`}).from(_).where(o);t.signal?.throwIfAborted();let s=t.sort.startsWith("created-")?_.created:_.updated,c=t.sort.endsWith("-asc")?st(s):dn(s),l=await this.db.select({...rm(_),id:S`CAST(${_.id} AS BLOB)`}).from(_).where(o).orderBy(c,st(_.entityType),st(_.id)).limit(t.limit).offset(t.offset);t.signal?.throwIfAborted();let u=new TextDecoder("utf-8",{ignoreBOM:!0}),p=[];for(let d of l){t.signal?.throwIfAborted();let g=await this.serializer.convertToEntity(Ju({...d,id:u.decode(d.id)}),!1);if(g)p.push(g)}return t.signal?.throwIfAborted(),{entities:p,total:Number(i[0]?.total??0)}}groupingConditions(e){let t=this.entityRegistry.getGrouping(e.grouping),n=new Set(e.entityTypes),r=t.types.filter((c)=>n.has(c)),o=[kt(_.entityType,r),kt(_.visibility,ks(e.visibilityScope??"public"))],i=`$.${t.field}`,s=S`CASE WHEN json_type(${_.metadata}, ${i}) = 'array' THEN json_extract(${_.metadata}, ${i}) ELSE '[]' END`;return{conditions:o,array:s}}async queryEntityHierarchy(e){let t=lve.parse(e),{entityType:n,filter:r,limit:o,offset:i,signal:s,sortFields:c}=t,l=t.prefix??null;s?.throwIfAborted();let u=YQ(_.id,l),p=this.buildWhereConditions(n,void 0,r?.metadata,t.visibilityScope,void 0,r?.contentContains,r?.visibility);p.push(u.withinPrefix);let d=t.includeDescendants?[]:await this.db.select({name:u.childName,count:S`COUNT(*)`}).from(_).where(oe(...p,rw(u.directChild))).groupBy(u.childName).orderBy(st(u.childName)).limit(JO+1);if(s?.throwIfAborted(),d.length>JO)throw Error(`Entity hierarchy exceeds ${JO} immediate folders`);let g=oe(...p,...t.includeDescendants?[]:[u.directChild]),f=await this.db.select({count:S`COUNT(*)`}).from(_).where(g);s?.throwIfAborted();let v=await this.db.select({...rm(_),id:S`CAST(${_.id} AS BLOB)`}).from(_).where(g).orderBy(...this.buildOrderByClauses(c??[{field:"id",direction:"asc"}]),st(_.id)).limit(o).offset(i);s?.throwIfAborted();let w=new TextDecoder("utf-8",{ignoreBOM:!0}),I=await this.serializer.convertToEntities(v.map((A)=>Ju({...A,id:w.decode(A.id)})),n);return s?.throwIfAborted(),{prefix:l,folders:d.map((A)=>{let L=w.decode(A.name);return{path:l?[l[0],...l.slice(1),L]:[L],name:L,descendantCount:Number(A.count)}}),entities:I.map((A)=>({entity:A,path:HO(A.id)})),offset:i,totalEntities:Number(f[0]?.count??0)}}buildWhereConditions(e,t,n,r,o,i,s){let c=[O(_.entityType,e)];if(t){let u=S`json_extract(${_.metadata}, '$.status')`;if(o&&o.length>0)c.push(S`${u} IN (${S.join(o.map((p)=>S`${p}`),S`, `)})`);else c.push(S`(${u} = 'published' OR ${u} = 'active' OR ${u} IS NULL)`)}let l=r??"public";if(l!=="restricted")c.push(kt(_.visibility,ks(l)));if(s)c.push(O(_.visibility,s));if(i?.trim())c.push(XQ(i));if(n){for(let[u,p]of Object.entries(n))if(p!==void 0){let d=`$.${u}`;c.push(S`json_extract(${_.metadata}, ${d}) = ${p}`)}}return c}buildOrderByClauses(e){if(!e||e.length===0)return[dn(_.updated)];return e.flatMap(({field:t,direction:n,nullsFirst:r})=>{let o=n==="desc"?dn:st;if(t==="id")return[o(_.id)];if(t==="created"){let s=_.created;if(r)return[st(sl(s)),o(s)];return[o(s)]}if(t==="updated"){let s=_.updated;if(r)return[st(sl(s)),o(s)];return[o(s)]}let i=S`json_extract(${_.metadata}, '$.' || ${t})`;if(r)return[st(sl(i)),o(i)];return[o(i)]})}async countEntities(e,t={},n){let r=Tw.parse(t),o=this.buildWhereConditions(e,r.publishedOnly,r.filter?.metadata,r.filter?.visibilityScope,n,r.filter?.contentContains,r.filter?.visibility),i=await this.db.select({count:S`COUNT(*)`}).from(_).where(oe(...o));return Number(i[0]?.count??0)}async getEntityCounts(e){this.logger.debug("Getting entity counts by type");let t=e??"public",n=[];if(t!=="restricted")n.push(kt(_.visibility,ks(t)));let r=this.db.select({entityType:_.entityType,count:S`COUNT(*)`.as("count")}).from(_),o=await(n.length>0?r.where(oe(...n)).groupBy(_.entityType):r.groupBy(_.entityType));return this.logger.debug(`Found ${o.length} entity types`),o.map((i)=>({entityType:i.entityType,count:Number(i.count)}))}async entityExists(e,t){return(await this.db.select({id:_.id}).from(_).where(oe(O(_.entityType,e),O(_.id,t))).limit(1)).length>0}async deleteEntity(e,t){if(this.logger.debug(`Deleting entity of type ${e} with ID ${t}`),!await this.entityExists(e,t))return this.logger.debug(`Entity of type ${e} with ID ${t} not found for deletion`),!1;return await this.embeddingDb.delete(Hn).where(oe(O(Hn.entityType,e),O(Hn.entityId,t))),await this.db.run(S`DELETE FROM entity_fts WHERE entity_id = ${t} AND entity_type = ${e}`),await this.db.delete(_).where(oe(O(_.entityType,e),O(_.id,t))),this.logger.debug(`Deleted entity of type ${e} with ID ${t}`),!0}}import{webcrypto as tK}from"crypto";var eK="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var uve=128,ul,um;function pve(e){if(e<0)throw RangeError("Wrong ID size");try{if(!ul||ul.length<e)ul=Buffer.allocUnsafe(e*uve),tK.getRandomValues(ul),um=0;else if(um+e>ul.length)tK.getRandomValues(ul),um=0}catch(t){throw ul=void 0,t}um+=e}function GO(e=21){pve(e|=0);let t="";for(let n=um-e;n<um;n++)t+=eK[ul[n]&63];return t}function At(e=12){return GO(e)}function W2e(e){return`${e}_${GO(12)}`}var dve=a.object({id:a.string().min(1),entityType:a.string().min(1),contentHash:a.string().min(1)});function mve(e){try{let t=dve.parse(JSON.parse(e.data));return{entityId:t.id,entityType:t.entityType,contentHash:t.contentHash}}catch{return null}}function nK(e){return`${e.entityType}:${e.entityId}:${e.contentHash}`}class QO{entityDb;embeddingDb;entityRegistry;jobQueueService;logger;embeddingsEnabled;constructor(e){this.entityDb=e.entityDb,this.embeddingDb=e.embeddingDb,this.entityRegistry=e.entityRegistry,this.jobQueueService=e.jobQueueService,this.logger=e.logger,this.embeddingsEnabled=e.embeddingsEnabled}async deleteEmbedding(e,t){await this.embeddingDb.delete(Hn).where(oe(O(Hn.entityType,e),O(Hn.entityId,t)))}async store(e){await this.embeddingDb.insert(Hn).values({entityId:e.entityId,entityType:e.entityType,embedding:e.embedding,contentHash:e.contentHash}).onConflictDoUpdate({target:[Hn.entityId,Hn.entityType],set:{embedding:e.embedding,contentHash:e.contentHash}})}async backfillMissing(){if(!this.embeddingsEnabled)return this.logger.debug("Skipping embedding backfill; semantic indexing is disabled"),{queued:0,skipped:0};let e=await this.getBackfillCandidates();if(e.tableMissing)return this.logger.debug("Skipping embedding backfill; entities table missing"),{queued:0,skipped:0};let t=0,n=e.skipped;for(let r of e.rowsToBackfill)if((await this.enqueue({entityId:r.id,entityType:r.entityType,contentHash:r.contentHash,operation:"update"})).jobId)t++;else n++;return{queued:t,skipped:n}}async getIndexStats(){let e=await this.getBackfillCandidates();return{missingEmbeddings:e.missingEmbeddings,staleEmbeddings:e.staleEmbeddings,failedEmbeddings:e.failedEmbeddings,embeddableEntities:e.embeddableEntities,embeddedEntities:e.embeddedEntities}}async enqueue(e){let{entityId:t,entityType:n,contentHash:r,operation:o,priority:i,maxRetries:s,eventContext:c}=e,l=this.entityRegistry.getEntityTypeConfig(n);if(!this.embeddingsEnabled||l.embeddable===!1)return this.logger.debug(`Skipping embedding for ${this.embeddingsEnabled?"non-embeddable entity type":"disabled indexing"}: ${n}:${t}`),{entityId:t,jobId:"",skipped:!1};let u={id:t,entityType:n,contentHash:r,operation:o},p=await this.jobQueueService.enqueue({type:Ms.embedding,data:u,options:{...i!==void 0&&{priority:i},...s!==void 0&&{maxRetries:s},source:"entity-service",deduplication:"coalesce",deduplicationKey:`embedding:${n}:${t}:${r}`,metadata:{operationType:"data_processing",operationTarget:t,...c?.interfaceType?{interfaceType:c.interfaceType,requestedByInterface:c.interfaceType}:{},...c?.actor?{requestedByActor:c.actor,...c.actor.kind==="user"?{requestedByUserId:c.actor.userId}:{}}:{},silent:!0}}});return this.logger.debug(`Queued embedding job for ${n}:${t} (job: ${p})`),{entityId:t,jobId:p,skipped:!1}}async getBackfillCandidates(){if(!await this.hasEntityTable())return{tableMissing:!0,skipped:0,rowsToBackfill:[],missingEmbeddings:0,staleEmbeddings:0,failedEmbeddings:0,embeddableEntities:0,embeddedEntities:0};let e=await this.getFailedEmbeddingKeys(),t=await this.entityDb.select({id:_.id,entityType:_.entityType,contentHash:_.contentHash}).from(_),n=await this.embeddingDb.select({entityId:Hn.entityId,entityType:Hn.entityType,contentHash:Hn.contentHash}).from(Hn),r=new Map;for(let d of n)r.set(`${d.entityType}:${d.entityId}`,d.contentHash);let o=[],i=0,s=0,c=0,l=0,u=0,p=0;for(let d of t){if(this.entityRegistry.getEntityTypeConfig(d.entityType).embeddable===!1){i++;continue}u++;let f=nK({entityId:d.id,entityType:d.entityType,contentHash:d.contentHash}),v=e.has(f),w=r.get(`${d.entityType}:${d.id}`);if(w===void 0){if(v)l++,i++;else s++,o.push(d);continue}if(w!==d.contentHash){if(v)l++,i++;else c++,o.push(d);continue}p++,i++}return{tableMissing:!1,skipped:i,rowsToBackfill:o,missingEmbeddings:s,staleEmbeddings:c,failedEmbeddings:l,embeddableEntities:u,embeddedEntities:p}}async getFailedEmbeddingKeys(){let e=await this.jobQueueService.getFailedJobs([Ms.embedding]),t=new Set;for(let n of e){let r=mve(n);if(r)t.add(nK(r))}return t}async hasEntityTable(){return(await this.entityDb.all(S`SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'entities'`)).length>0}}var Cw=a.object({expectedRevision:a.string().min(1).nullable()});class _s extends Error{constructor(e,t){super(`Entity write conflict: ${e}/${t}`);this.name="EntityWriteConflictError"}}async function KO(e,t,n){if(n.entityType!==t.entityType||n.id!==t.entityId)throw Error("Entity validation changed the conditional write destination");let o=(await e.select().from(_).where(oe(O(_.entityType,t.entityType),O(_.id,t.entityId))).limit(1))[0];if((o?$i(Ju(o)):null)!==t.expectedRevision)throw new _s(t.entityType,t.entityId)}async function Ew(e,t,n){try{await e.getPersistValidator(t.entityType)?.(t,{operation:n})}catch(r){throw Yd(t.entityType,r,"persist")??r}}function fve(e){for(let t=e;t instanceof Error;t=t.cause)if(t.message.includes("UNIQUE constraint failed")||t.message.includes("SQLITE_CONSTRAINT"))return!0;return!1}class YO extends Error{}class XO{db;entityRegistry;entitySerializer;entityQueries;messageBus;mutationAdmission;projectionStore;assetRepository;entityExportStore;projectionNow;embeddingIndex;projectionWakeup;logger;constructor(e){if(this.db=e.db,this.entityRegistry=e.entityRegistry,this.entitySerializer=e.entitySerializer,this.entityQueries=e.entityQueries,this.projectionStore=e.projectionStore,this.assetRepository=e.assetRepository,this.entityExportStore=e.entityExportStore,this.projectionNow=e.projectionNow,this.logger=e.logger.child("EntityMutations"),this.embeddingIndex=new QO({entityDb:e.db,embeddingDb:e.embeddingDb,entityRegistry:e.entityRegistry,jobQueueService:e.jobQueueService,logger:this.logger,embeddingsEnabled:e.embeddingsEnabled}),e.messageBus)this.messageBus=e.messageBus;if(e.mutationAdmission)this.mutationAdmission=e.mutationAdmission}setProjectionWakeup(e){this.projectionWakeup=e;let t=!0;return()=>{if(!t)return;if(t=!1,this.projectionWakeup===e)this.projectionWakeup=void 0}}async createEntity(e){let{entity:t,options:n,preparedAsset:r}=e;n?.signal?.throwIfAborted();let o=n?.conditionalWrite&&Cw.parse(n.conditionalWrite);if(o&&(o.expectedRevision!==null||n.deduplicateId||!t.id))throw Error("Conditional creation requires an explicit ID, an absent precondition, and no deduplication");let i=o?{...o,entityType:t.entityType,entityId:t.id??""}:void 0;this.logger.debug(`Creating entity asynchronously of type: ${t.entityType}`);let s=new Date().toISOString(),c={...t,id:t.id??At(),created:t.created??s,updated:t.updated??s,contentHash:Os(t.content)},l=this.entityRegistry.validateEntity(t.entityType,c);await Ew(this.entityRegistry,l,"create"),n?.signal?.throwIfAborted();let{markdown:u,metadata:p}=this.entitySerializer.prepareEntityForStorage(l,l.entityType),d=Os(u),g=this.stageAsset(l.entityType,l.content,u,r),f=l.id;if(n?.deduplicateId)f=await this.resolveUniqueId(l.id,l.entityType);return await this.mutationAdmission?.assertMutationAdmission({operation:"create",entityType:l.entityType,entityId:f}),await this.projectionStore.withDirtyInput({sourceType:l.entityType,sourceId:f,revision:$i({contentHash:d,metadata:p,visibility:l.visibility}),operation:"upsert",markedAt:this.projectionNow()},async(v)=>{if(i)await KO(v,i,l);await this.bindAssetContent(v,l.entityType,u,g),await n?.beforeWrite?.({...l,id:f,content:u,contentHash:d,metadata:p}),n?.signal?.throwIfAborted(),await v.insert(_).values({id:f,entityType:l.entityType,content:u,contentHash:d,visibility:l.visibility,metadata:p,created:new Date(l.created).getTime(),updated:new Date(l.updated).getTime()}),await this.syncFtsIndex(v,f,l.entityType,u),await this.persistEntityExport(v,{entityType:l.entityType,entityId:f,operation:"upsert"},n?.persistenceOrigin)}),await this.notifyProjectionScheduler(),this.logger.debug(`Persisted entity ${l.entityType}:${f} immediately`),await this.emitEntityEvent(Ua.created,l.entityType,f,{...l,id:f},void 0,n?.eventContext),this.embeddingIndex.enqueue({entityId:f,entityType:l.entityType,contentHash:d,operation:"create",...n?.priority!==void 0&&{priority:n.priority},...n?.maxRetries!==void 0&&{maxRetries:n.maxRetries},...n?.eventContext&&{eventContext:n.eventContext}})}async updateEntity(e){let{entity:t,options:n,preparedAsset:r}=e;n?.signal?.throwIfAborted();let o=n?.conditionalWrite&&Cw.parse(n.conditionalWrite);if(o&&(o.expectedRevision===null||n.expectedContentHash!==void 0))throw Error("Conditional replacement requires a revision and cannot combine preconditions");let i=o?{...o,entityType:t.entityType,entityId:t.id}:void 0;this.logger.debug(`Updating entity asynchronously: ${t.entityType} with ID ${t.id}`);let s={...t,updated:new Date().toISOString(),contentHash:Os(t.content)},c=this.entityRegistry.validateEntity(t.entityType,s);await Ew(this.entityRegistry,c,"update"),n?.signal?.throwIfAborted();let{markdown:l,metadata:u}=this.entitySerializer.prepareEntityForStorage(c,c.entityType),p=Os(l),g=(await this.db.select({contentHash:_.contentHash,visibility:_.visibility,metadata:_.metadata}).from(_).where(oe(O(_.id,c.id),O(_.entityType,c.entityType))).limit(1)).at(0);if(!g){if(i)throw new _s(i.entityType,i.entityId);throw Error(`Entity not found: ${c.entityType}:${c.id}`)}if(n?.expectedContentHash!==void 0&&g.contentHash!==n.expectedContentHash)return this.logger.debug(`Skipping stale update for ${c.entityType}:${c.id}`),{entityId:c.id,jobId:"",skipped:!0,skipReason:"content-conflict"};let f=this.stageAsset(c.entityType,c.content,l,r);if(!i&&g.contentHash===p&&g.visibility===c.visibility&&Wu(g.metadata)===Wu(u)){if(await this.projectionStore.transferEntityAuthority({entityType:c.entityType,id:c.id},async(v)=>(n?.signal?.throwIfAborted(),await this.bindAssetContent(v,c.entityType,l,f),n?.signal?.throwIfAborted(),await this.pruneFtsIndexIfExcluded(v,c.id,c.entityType),this.persistEntityExport(v,{entityType:c.entityType,entityId:c.id,operation:"upsert"},n?.persistenceOrigin))),this.logger.debug(`Skipping no-op update for ${c.entityType}:${c.id}`),n?.eventContext)await this.emitEntityEvent(Ua.updated,c.entityType,c.id,c,g.metadata,n.eventContext);return{entityId:c.id,jobId:"",skipped:!0}}await this.mutationAdmission?.assertMutationAdmission({operation:"update",entityType:c.entityType,entityId:c.id});try{await this.projectionStore.withDirtyInput({sourceType:c.entityType,sourceId:c.id,revision:$i({contentHash:p,metadata:u,visibility:c.visibility}),operation:"upsert",markedAt:this.projectionNow()},async(v)=>{if(i)await KO(v,i,c);await this.bindAssetContent(v,c.entityType,l,f),await n?.beforeWrite?.({...c,content:l,contentHash:p,metadata:u}),n?.signal?.throwIfAborted();let w=await v.update(_).set({content:l,contentHash:p,visibility:c.visibility,metadata:u,updated:new Date(c.updated).getTime()}).where(oe(O(_.id,c.id),O(_.entityType,c.entityType),n?.expectedContentHash!==void 0?O(_.contentHash,n.expectedContentHash):void 0));if((o||n?.expectedContentHash!==void 0)&&Number(w.rowsAffected)===0){if(i)throw new _s(i.entityType,i.entityId);throw new YO}await this.syncFtsIndex(v,c.id,c.entityType,l),await this.persistEntityExport(v,{entityType:c.entityType,entityId:c.id,operation:"upsert"},n?.persistenceOrigin)})}catch(v){if(!(v instanceof YO))throw v;return this.logger.debug(`Skipping concurrently stale update for ${c.entityType}:${c.id}`),{entityId:c.id,jobId:"",skipped:!0,skipReason:"content-conflict"}}return await this.notifyProjectionScheduler(),this.logger.debug(`Updated entity ${c.entityType}:${c.id} immediately`),await this.emitEntityEvent(Ua.updated,c.entityType,c.id,c,g.metadata,n?.eventContext),this.embeddingIndex.enqueue({entityId:c.id,entityType:c.entityType,contentHash:p,operation:"update",...n?.priority!==void 0&&{priority:n.priority},...n?.maxRetries!==void 0&&{maxRetries:n.maxRetries},...n?.eventContext&&{eventContext:n.eventContext}})}async deleteEntity(e){let{entityType:t,id:n,options:r}=e,o=await this.entityQueries.getEntityData(t,n,"restricted"),i=o?await this.entitySerializer.convertToEntity(o)??void 0:void 0;if(o)await this.mutationAdmission?.assertMutationAdmission({operation:"delete",entityType:t,entityId:n});if(!o)return!1;return await this.embeddingIndex.deleteEmbedding(t,n),await this.projectionStore.withDirtyInput({sourceType:t,sourceId:n,revision:`deleted:${$i({contentHash:o.contentHash,metadata:o.metadata,visibility:o.visibility})}`,operation:"delete",markedAt:this.projectionNow()},async(s)=>{await s.run(S`DELETE FROM entity_fts WHERE entity_id = ${n} AND entity_type = ${t}`),await s.delete(_).where(oe(O(_.entityType,t),O(_.id,n))),await this.persistEntityExport(s,{entityType:t,entityId:n,operation:"delete"},r?.persistenceOrigin)}),await this.notifyProjectionScheduler(),await this.emitEntityEvent(Ua.deleted,t,n,i,void 0,r?.eventContext),!0}async upsertEntity(e){let{entity:t,options:n,preparedAsset:r}=e;if(this.logger.debug(`Upserting entity of type ${t.entityType} with ID ${t.id}`),await this.entityQueries.entityExists(t.entityType,t.id))return{...await this.updateEntity({entity:t,...r!==void 0&&{preparedAsset:r},...n!==void 0&&{options:n}}),created:!1};try{return{...await this.createEntity({entity:t,...r!==void 0&&{preparedAsset:r},...n!==void 0&&{options:n}}),created:!0}}catch(i){if(!fve(i))throw i;return this.logger.debug(`Entity ${t.entityType}:${t.id} was created concurrently, updating instead`),{...await this.updateEntity({entity:t,...r!==void 0&&{preparedAsset:r},...n!==void 0&&{options:n}}),created:!1}}}async reconcileProjectionTargets(e){await Promise.all(e.map(async(t)=>{if(t.operation==="delete"){await this.emitEntityEvent(Ua.deleted,t.entityType,t.entityId),await this.embeddingIndex.deleteEmbedding(t.entityType,t.entityId);return}if(!t.contentHash)throw Error(`Projection target ${t.entityType}:${t.entityId} has no content hash`);await this.emitEntityEvent(Ua.updated,t.entityType,t.entityId),await this.embeddingIndex.enqueue({entityId:t.entityId,entityType:t.entityType,contentHash:t.contentHash,operation:"update"})}))}async storeEmbedding(e){await this.embeddingIndex.store(e)}async backfillMissingEmbeddings(){return this.embeddingIndex.backfillMissing()}async getEmbeddingIndexStats(){return this.embeddingIndex.getIndexStats()}stageAsset(e,t,n,r){let o=this.entityRegistry.getEntityTypeConfig(e).binaryStorage==="asset";if(!r)return;if(!o)throw Error(`Entity type ${e} is not registered for asset-backed storage`);if(t!==r.ref||n!==r.ref)throw Error(`Prepared asset ${r.ref} does not match canonical ${e} content`);return this.assetRepository.stage(r)}async bindAssetContent(e,t,n,r){if(this.entityRegistry.getEntityTypeConfig(t).binaryStorage!=="asset")return;await this.assetRepository.bindEntityContent(e,n,r)}async syncFtsIndex(e,t,n,r){if(await this.deleteFtsIndex(e,t,n),!this.isFullTextSearchable(n))return;await e.run(S`INSERT INTO entity_fts (entity_id, entity_type, content) VALUES (${t}, ${n}, ${r})`)}async pruneFtsIndexIfExcluded(e,t,n){if(this.isFullTextSearchable(n))return;await this.deleteFtsIndex(e,t,n)}async deleteFtsIndex(e,t,n){await e.run(S`DELETE FROM entity_fts WHERE entity_id = ${t} AND entity_type = ${n}`)}isFullTextSearchable(e){return this.entityRegistry.getEntityTypeConfig(e).fullTextSearchable!==!1}async resolveUniqueId(e,t){if(!await this.entityQueries.entityExists(t,e))return e;for(let o=2;o<=100;o++){let i=`${e}-${o}`;if(!await this.entityQueries.entityExists(t,i))return this.logger.debug(`Deduplicated entity ID: ${e} \u2192 ${i}`),i}let r=`${e}-${At().slice(0,8)}`;return this.logger.warn(`Could not deduplicate entity ID after 100 attempts, using random suffix: ${r}`),r}async wakeProjectionScheduler(){await this.notifyProjectionScheduler()}async notifyProjectionScheduler(){try{await this.projectionWakeup?.()}catch(e){this.logger.error("Failed to wake projection scheduler",e)}}async emitEntityEvent(e,t,n,r,o,i){if(!this.messageBus)return;this.logger.debug(`Emitting ${e} for ${t}:${n}`);let s={entityType:t,entityId:n,...i?.conversationId?{conversationId:i.conversationId}:{},...i?.channelId?{channelId:i.channelId}:{},...i?.runId?{runId:i.runId}:{},...i?.toolCallId?{toolCallId:i.toolCallId}:{},...i?.actor?{actor:i.actor}:{},...i?.interfaceType?{interfaceType:i.interfaceType}:{}};if(r)s.entity=r;if(o)s.previousMetadata=o;try{await this.messageBus.send({type:e,payload:s,sender:"entity-service",broadcast:!0})}catch(c){this.logger.error(`Failed to publish ${e} for ${t}:${n}`,c)}}async persistEntityExport(e,t,n){if(n==="directory-sync"){await this.entityExportStore.clear(e,t);return}await this.entityExportStore.record(e,{...t,markedAt:this.projectionNow()})}}class qh{db;now;constructor(e,t=Date.now){this.db=e,this.now=t}async record(e,t){await this.upsert(e,t)}async clear(e,t){await e.delete(Wn).where(oe(O(Wn.entityType,t.entityType),O(Wn.entityId,t.entityId)))}list(){return this.db.select().from(Wn).orderBy(st(Wn.markedAt),st(Wn.entityType),st(Wn.entityId))}async hasPending(){return(await this.db.select({entityId:Wn.entityId}).from(Wn).limit(1)).length>0}async acknowledge(e){if(e.length===0)return 0;let t=e.map((r)=>oe(O(Wn.entityType,r.entityType),O(Wn.entityId,r.entityId),O(Wn.revision,r.revision))),n=await this.db.delete(Wn).where(fr(...t));return Number(n.rowsAffected)}async upsert(e,t){let n={entityType:t.entityType,entityId:t.entityId,operation:t.operation,revision:At(),markedAt:t.markedAt??this.now()};await e.insert(Wn).values(n).onConflictDoUpdate({target:[Wn.entityType,Wn.entityId],set:{operation:n.operation,revision:n.revision,markedAt:n.markedAt}})}}import{AsyncLocalStorage as xve}from"async_hooks";var gve=a.strictObject({source:a.string().trim().min(1).max(100),operationId:a.string().trim().min(1).max(200)}),hve=a.strictObject({source:a.string().trim().min(1).max(100),operationId:a.string().trim().min(1).max(200),rootJobId:a.string().trim().min(1).max(200),expectedChildren:a.number().int().positive().max(1e4)}),yve=a.strictObject({source:a.string().trim().min(1).max(100),operationId:a.string().trim().min(1).max(200),rootJobId:a.string().trim().min(1).max(200),expectedChildren:a.number().int().positive().max(1e4),childKey:a.string().trim().min(1).max(200),jobId:a.string().trim().min(1).max(200)}),bve=a.strictObject({operationId:a.string().trim().min(1).max(200),childKey:a.string().trim().min(1).max(200),jobId:a.string().trim().min(1).max(200),outcome:a.enum(["completed","failed"])});function rK(e){return gve.parse(e)}function oK(e){return hve.parse(e)}function iK(e){return yve.parse(e)}function sK(e){return bve.parse(e)}var In=Bt("projection_admission_state",{id:qe("id").primaryKey(),epoch:qe("epoch").notNull().default(0)}),be=Bt("projection_batches",{id:le("id").primaryKey(),source:le("source").notNull(),operationId:le("operation_id").notNull(),status:le("status",{enum:["preparing","open","closed","abandoned"]}).notNull(),ownerKind:le("owner_kind",{enum:["callback","job-root"]}).notNull(),ownerToken:le("owner_token").notNull(),rootJobId:le("root_job_id"),expectedChildren:qe("expected_children").notNull().default(0),enqueueComplete:qe("enqueue_complete").notNull().default(0),enqueueFailed:qe("enqueue_failed").notNull().default(0),openedAt:qe("opened_at").notNull(),lastProgressAt:qe("last_progress_at").notNull(),leaseExpiresAt:qe("lease_expires_at"),terminalAt:qe("terminal_at"),recoveredAt:qe("recovered_at"),firstGeneration:qe("first_generation"),highestGeneration:qe("highest_generation"),mutationCount:qe("mutation_count").notNull().default(0),recoveryGeneration:qe("recovery_generation")},(e)=>({operationIdx:dO("projection_batches_operation_idx").on(e.source,e.operationId),admissionIdx:Ft("projection_batches_admission_idx").on(e.status,e.openedAt),rootJobIdx:Ft("projection_batches_root_job_idx").on(e.rootJobId),recoveryIdx:Ft("projection_batches_recovery_idx").on(e.recoveredAt,e.recoveryGeneration)})),yn=Bt("projection_batch_children",{batchId:le("batch_id").notNull().references(()=>be.id,{onDelete:"cascade"}),childKey:le("child_key").notNull(),jobId:le("job_id"),status:le("status",{enum:["expected","active","completed","failed","missing"]}).notNull().default("expected"),terminalAt:qe("terminal_at")},(e)=>({pk:Ao({columns:[e.batchId,e.childKey]}),jobIdx:dO("projection_batch_children_job_idx").on(e.jobId),statusIdx:Ft("projection_batch_children_status_idx").on(e.batchId,e.status)}));var Sve=5000,aK=30000,Iw=30000,vve=1e4;class Ha extends Error{}class eD{db;transactions;now;readRecoveryGeneration;batchScope=new xve;constructor(e){this.db=e.db,this.transactions=e.transactions,this.now=e.now,this.readRecoveryGeneration=e.getRecoveryGeneration}assertBatchIdentity(e,t){if(e.source!==t.source||e.operationId!==t.operationId)throw new Ha(`Projection batch "${t.operationId}" cannot join active batch "${e.operationId}"`)}async runBulkMutation(e,t){let n=rK(e),r=this.batchScope.getStore();if(r)return this.assertBatchIdentity(r,n),t();let o=await this.openCallbackBatch(n),i=setInterval(()=>{this.renewCallbackBatch(o).catch(()=>{})},vve);i.unref();try{return await this.batchScope.run(o,t)}finally{clearInterval(i),await this.closeCallbackBatch(o)}}async prepareDurableBulkMutation(e){let t=oK(e),n=this.now();await this.runTransaction(async(r)=>{let i=(await r.select().from(be).where(oe(O(be.source,t.source),O(be.operationId,t.operationId))).limit(1))[0];if(i){if((i.status==="preparing"||i.status==="open")&&i.rootJobId===t.rootJobId&&i.expectedChildren===t.expectedChildren)return;throw new Ha(`Durable projection batch "${t.operationId}" cannot be prepared`)}await r.insert(In).values({id:1,epoch:0}).onConflictDoNothing({target:In.id}),await r.update(In).set({epoch:S`${In.epoch} + 1`}).where(O(In.id,1)),await r.insert(be).values({id:At(),source:t.source,operationId:t.operationId,status:"preparing",ownerKind:"job-root",ownerToken:At(),rootJobId:t.rootJobId,expectedChildren:t.expectedChildren,enqueueComplete:0,enqueueFailed:0,openedAt:n,lastProgressAt:n,leaseExpiresAt:n+Iw})})}async finalizeDurableBulkMutationEnqueue(e){let t=a.string().trim().min(1).max(200).parse(e),n=this.now();await this.runBatchStateWrite(()=>this.db.update(be).set({status:"open",enqueueComplete:1,lastProgressAt:n,leaseExpiresAt:null}).where(oe(O(be.operationId,t),kt(be.status,["preparing","open"]))))}async failDurableBulkMutationEnqueue(e){let t=a.string().trim().min(1).max(200).parse(e),n=this.now();await this.runBatchStateWrite(()=>this.db.update(be).set({enqueueComplete:1,enqueueFailed:1,lastProgressAt:n,leaseExpiresAt:null}).where(oe(O(be.operationId,t),kt(be.status,["preparing","open"]))))}async runDurableBulkMutationChild(e,t){let n=iK(e),r=this.batchScope.getStore();if(r)return this.assertBatchIdentity(r,n),t();let o=await this.openDurableBatchChild(n);return this.batchScope.run(o,t)}async settleDurableBulkMutationChild(e){let t=sK(e),n=this.now();return this.runTransaction(async(r)=>{let i=(await r.select().from(be).where(oe(O(be.operationId,t.operationId),O(be.ownerKind,"job-root"))).limit(1))[0];if(!i||i.status==="closed"||i.status==="abandoned")return!1;if((await r.update(yn).set({status:t.outcome,terminalAt:n}).where(oe(O(yn.batchId,i.id),O(yn.childKey,t.childKey),O(yn.jobId,t.jobId))).returning({childKey:yn.childKey})).length===0)return!1;let c=await r.select({total:S`count(*)`}).from(yn).where(oe(O(yn.batchId,i.id),kt(yn.status,["completed","failed"])));if(Number(c[0]?.total??0)<i.expectedChildren)return!1;let l=await r.select({total:S`count(*)`}).from(yn).where(oe(O(yn.batchId,i.id),O(yn.status,"failed"))),u=Number(l[0]?.total??0)>0;return await this.transitionProjectionBatchToTerminal(r,i,{abandoned:u,terminalAt:n,fenceOwner:!1,clearLease:!0}),!0})}async recoverProjectionBatches(e){let t=this.now(),r=(await this.db.select({id:be.id}).from(be).where(oe(O(be.ownerKind,"callback"),O(be.status,"open"),Dr(be.leaseExpiresAt,t)))).length===0?0:await this.runTransaction(async(s)=>{let c=await s.select().from(be).where(oe(O(be.ownerKind,"callback"),O(be.status,"open"),Dr(be.leaseExpiresAt,t)));for(let l of c){let u=await this.getRecoveryGeneration(s,l.highestGeneration??0);await s.update(be).set({status:"abandoned",ownerToken:At(),terminalAt:t,lastProgressAt:t,leaseExpiresAt:null,recoveryGeneration:u,recoveredAt:l.highestGeneration===null?t:null}).where(oe(O(be.id,l.id),O(be.ownerToken,l.ownerToken),O(be.status,"open")))}return c.length}),o=await this.db.select().from(be).where(oe(O(be.ownerKind,"job-root"),kt(be.status,["preparing","open"]))),i=0;for(let s of o){if(!s.rootJobId)continue;let c=await e(s.rootJobId,s.operationId),l=c.some((f)=>f.status==="pending"||f.status==="processing"),u=c.every((f)=>f.terminalAt!==null&&f.terminalAt<=t-Sve),p=c.length>=s.expectedChildren,d=t-s.openedAt>=aK;if(l||!u||!p&&!d)continue;if(await this.reconcileDurableRoot(s.id,c,t))i++}return await this.cleanupProjectionBatches(),{fencedCallbacks:r,releasedDurableRoots:i}}async cleanupProjectionBatches(e=604800000,t=100){let n=a.number().int().nonnegative().parse(e),r=a.number().int().nonnegative().max(1e4).parse(t),o=fr(O(be.status,"closed"),oe(O(be.status,"abandoned"),sl(be.recoveredAt))),i=await this.db.select({id:be.id}).from(be).where(oe(o,Dr(be.terminalAt,this.now()-n))),s=await this.db.select({id:be.id}).from(be).where(o).orderBy(dn(be.terminalAt)).limit(1e4).offset(r),c=[...new Set([...i,...s].map(({id:u})=>u))];if(c.length===0)return 0;return(await this.db.delete(be).where(kt(be.id,c)).returning({id:be.id})).length}async reconcileDurableRoot(e,t,n){return this.runTransaction(async(r)=>{let i=(await r.select().from(be).where(O(be.id,e)).limit(1))[0];if(!i||i.status!=="open"&&i.status!=="preparing")return!1;for(let p of t){let d=p.status==="completed"?"completed":p.status==="failed"?"failed":"active";await r.insert(yn).values({batchId:e,childKey:p.childKey,jobId:p.jobId,status:d,...d==="completed"||d==="failed"?{terminalAt:n}:{}}).onConflictDoUpdate({target:[yn.batchId,yn.childKey],set:{jobId:p.jobId,status:d,terminalAt:d==="completed"||d==="failed"?n:null}})}let s=t.some((p)=>p.status==="pending"||p.status==="processing"),c=t.length>=i.expectedChildren&&!s,l=!s&&t.length<i.expectedChildren&&n-i.openedAt>=aK;if(!c&&!l)return!1;let u=l||t.some((p)=>p.status==="failed");return await this.transitionProjectionBatchToTerminal(r,i,{abandoned:u,terminalAt:n,fenceOwner:!0,clearLease:!1}),!0})}async transitionProjectionBatchToTerminal(e,t,n){let r=n.abandoned?await this.getRecoveryGeneration(e,t.highestGeneration??0):null;await e.update(be).set({status:n.abandoned?"abandoned":"closed",ownerToken:n.abandoned&&n.fenceOwner?At():t.ownerToken,terminalAt:n.terminalAt,lastProgressAt:n.terminalAt,leaseExpiresAt:n.clearLease?null:t.leaseExpiresAt,recoveryGeneration:r,recoveredAt:n.abandoned&&t.highestGeneration===null?n.terminalAt:null}).where(O(be.id,t.id))}async getProjectionBatchDiagnostics(){let e=this.now(),t=await this.db.select({status:be.status,ownerKind:be.ownerKind,openedAt:be.openedAt,lastProgressAt:be.lastProgressAt,leaseExpiresAt:be.leaseExpiresAt,recoveredAt:be.recoveredAt}).from(be).where(kt(be.status,["preparing","open","abandoned"])),n=t.filter((r)=>r.status==="preparing"||r.status==="open");return{preparing:t.filter((r)=>r.status==="preparing").length,open:t.filter((r)=>r.status==="open").length,abandoned:t.filter((r)=>r.status==="abandoned"&&r.recoveredAt===null).length,expiredCallbackLeases:n.filter((r)=>r.ownerKind==="callback"&&r.leaseExpiresAt!==null&&r.leaseExpiresAt<=e).length,oldestActiveAgeMs:n.length===0?null:Math.max(0,e-Math.min(...n.map((r)=>r.openedAt))),oldestProgressAgeMs:n.length===0?null:Math.max(0,e-Math.min(...n.map((r)=>r.lastProgressAt)))}}async openDurableBatchChild(e){let t=this.now();return this.runTransaction(async(n)=>{let r=(await n.select().from(be).where(oe(O(be.source,e.source),O(be.operationId,e.operationId))).limit(1))[0];if(!r)await n.insert(In).values({id:1,epoch:0}).onConflictDoNothing({target:In.id}),await n.update(In).set({epoch:S`${In.epoch} + 1`}).where(O(In.id,1)),r=(await n.insert(be).values({id:At(),source:e.source,operationId:e.operationId,status:"open",ownerKind:"job-root",ownerToken:At(),rootJobId:e.rootJobId,expectedChildren:e.expectedChildren,enqueueComplete:1,enqueueFailed:0,openedAt:t,lastProgressAt:t}).returning())[0];if(r?.status!=="preparing"&&r?.status!=="open"||r.ownerKind!=="job-root"||r.rootJobId!==e.rootJobId||r.expectedChildren!==e.expectedChildren)throw new Ha(`Durable projection batch "${e.operationId}" is not open for this owner`);let i=(await n.select().from(yn).where(oe(O(yn.batchId,r.id),O(yn.childKey,e.childKey))).limit(1))[0];if(i&&(i.status==="completed"||i.status==="failed"||i.status==="missing"))throw new Ha(`Durable projection batch child "${e.childKey}" is terminal`);return await n.insert(yn).values({batchId:r.id,childKey:e.childKey,jobId:e.jobId,status:"active"}).onConflictDoUpdate({target:[yn.batchId,yn.childKey],set:{jobId:e.jobId,status:"active",terminalAt:null}}),await n.update(be).set({status:"open",lastProgressAt:t,leaseExpiresAt:null}).where(O(be.id,r.id)),{batchId:r.id,source:r.source,operationId:r.operationId,ownerToken:r.ownerToken}})}async openCallbackBatch(e){let t={batchId:At(),source:e.source,operationId:e.operationId,ownerToken:At()},n=this.now();return await this.runTransaction(async(r)=>{await r.insert(In).values({id:1,epoch:0}).onConflictDoNothing({target:In.id}),await r.update(In).set({epoch:S`${In.epoch} + 1`}).where(O(In.id,1)),await r.insert(be).values({id:t.batchId,source:t.source,operationId:t.operationId,status:"open",ownerKind:"callback",ownerToken:t.ownerToken,expectedChildren:0,enqueueComplete:1,enqueueFailed:0,openedAt:n,lastProgressAt:n,leaseExpiresAt:n+Iw})}),t}async renewCallbackBatch(e){let t=this.now();if((await this.db.update(be).set({lastProgressAt:t,leaseExpiresAt:t+Iw}).where(oe(O(be.id,e.batchId),O(be.ownerToken,e.ownerToken),O(be.status,"open"))).returning({id:be.id})).length===0)throw new Ha(`Projection batch "${e.batchId}" no longer owns its fence`)}async closeCallbackBatch(e){let t=this.now();await this.db.update(be).set({status:"closed",terminalAt:t,lastProgressAt:t,leaseExpiresAt:null}).where(oe(O(be.id,e.batchId),O(be.ownerToken,e.ownerToken),O(be.status,"open")))}async assertBatchScope(e,t){if((await e.select({status:be.status}).from(be).where(oe(O(be.id,t.batchId),O(be.ownerToken,t.ownerToken))).limit(1))[0]?.status!=="open")throw new Ha(`Projection batch "${t.batchId}" no longer owns its fence`)}async recordBatchGeneration(e,t,n){let r=this.now();await e.update(be).set({firstGeneration:S`coalesce(${be.firstGeneration}, ${n})`,highestGeneration:n,mutationCount:S`${be.mutationCount} + 1`,lastProgressAt:r,leaseExpiresAt:r+Iw}).where(oe(O(be.id,t.batchId),O(be.ownerToken,t.ownerToken),O(be.status,"open")))}runMutationTransaction(e){let t=this.batchScope.getStore();return this.runTransaction(async(n)=>{if(t)await this.assertBatchScope(n,t);return e(n,async(r)=>{if(t)await this.recordBatchGeneration(n,t,r)})})}async hasActiveBatch(){return(await this.db.select({id:be.id}).from(be).where(kt(be.status,["preparing","open"])).limit(1)).length>0}async hasActiveBatchInTransaction(e){return(await e.select({id:be.id}).from(be).where(kt(be.status,["preparing","open"])).limit(1)).length>0}async getAdmissionEpoch(e){return await e.insert(In).values({id:1,epoch:0}).onConflictDoNothing({target:In.id}),(await e.select({epoch:In.epoch}).from(In).where(O(In.id,1)).limit(1))[0]?.epoch??0}async markRecoveredThrough(e,t,n){await e.update(be).set({recoveredAt:n}).where(oe(O(be.status,"abandoned"),rr(be.recoveredAt),Dr(be.recoveryGeneration,t)))}getRecoveryGeneration(e,t){return this.readRecoveryGeneration(e,t)}runTransaction(e){return this.transactions.run(e)}runBatchStateWrite(e){return this.transactions.runSqliteWrite(e)}}var Ji=pl,wve=a.strictObject({id:a.string().trim().min(1),entityType:a.string().trim().min(1),content:a.string(),metadata:Ji,visibility:Is}),dl=a.discriminatedUnion("operation",[a.strictObject({operation:a.literal("upsert"),entity:wve}),a.strictObject({operation:a.literal("delete"),entityType:a.string().trim().min(1),id:a.string().trim().min(1)})]);var Tve=a.strictObject({ruleId:a.string().trim().min(1),ruleVersion:a.string().trim().min(1),inputFingerprint:a.string().trim().min(1)}),Cve=a.strictObject({ruleId:a.string().trim().min(1),targetType:a.string().trim().min(1),level:a.number().int().nonnegative()}),Eve=a.strictObject({entityType:a.string().trim().min(1),entityId:a.string().trim().min(1),operation:a.enum(["upsert","delete"]),contentHash:a.string().min(1).optional()});function tD(e){return Tve.parse(e)}function cK(e){return a.array(Cve).min(1).parse(e)}function pm(e){let t=a.array(Eve).parse(e.changedTargets);return{...e,changedTargets:t}}var Ive=a.strictObject({waveId:a.string().trim().min(1),ruleId:a.string().trim().min(1),jobId:a.string().trim().min(1).nullable(),failureReason:a.string().trim().min(1).max(500),failedAt:a.number().int().nonnegative()});function lK(e){return Ive.parse(e)}function kw(e){return`${e.sourceType}\x00${e.sourceId}`}function Rw(e){let t=new Map;for(let n of e)t.set(kw(n),n);return[...t.values()].sort((n,r)=>n.generation-r.generation)}var Pw=a.string().trim().min(1),kve=a.number().int().nonnegative();function zs(e){return Pw.parse(e)}function uK(e){return Pw.parse(e)}function pK(e){return Pw.parse(e)}function dK(e){return Pw.parse(e)}function Vu(e){return kve.parse(e)}function mK(e){if(e==="completed")return{kind:"settled"};if(e==="failed")return{kind:"refuse",reason:"already failed"};if(e==="superseded")return{kind:"refuse",reason:"was superseded"};return{kind:"apply"}}function fK(e){if(e==="completed")return{kind:"refuse",reason:"already completed"};if(e==="failed"||e==="superseded")return{kind:"settled"};return{kind:"apply"}}function gK(e){if(e==="superseded")return{kind:"settled"};if(e!=="running")return{kind:"decline"};return{kind:"apply"}}function hK(e){if(e==="superseded")return{kind:"decline"};if(e!=="running")return{kind:"refuse",reason:"is not running"};return{kind:"apply"}}function Gu(e){if(Array.isArray(e))return`[${e.map((t)=>Gu(t)).join(",")}]`;if(e!==null&&typeof e==="object")return`{${Object.entries(e).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>`${JSON.stringify(t)}:${Gu(n)}`).join(",")}}`;return JSON.stringify(e)}class nD{entityExportStore;mutationAdmission;storagePolicy;constructor(e){this.entityExportStore=e.entityExportStore,this.mutationAdmission=e.mutationAdmission,this.storagePolicy=e.storagePolicy}async apply(e,t,n,r){let o=t.operation==="upsert"?t.entity.entityType:t.entityType,i=t.operation==="upsert"?t.entity.id:t.id,c=(await e.select({content:_.content,contentHash:_.contentHash,created:_.created,metadata:_.metadata,visibility:_.visibility}).from(_).where(oe(O(_.entityType,o),O(_.id,i))).limit(1))[0];if(t.operation==="delete"){if(await e.delete(en).where(oe(O(en.entityType,o),O(en.entityId,i))),!c)return null;return await this.mutationAdmission?.assertMutationAdmission({operation:"delete",entityType:o,entityId:i}),await e.delete(_).where(oe(O(_.entityType,o),O(_.id,i))),await e.run(S`DELETE FROM entity_fts WHERE entity_id = ${i} AND entity_type = ${o}`),await this.entityExportStore.record(e,{entityType:o,entityId:i,operation:"delete",markedAt:n}),{entityType:o,entityId:i,operation:"delete"}}let l={...t.entity,contentHash:Os(t.entity.content),created:new Date(c?.created??n).toISOString(),updated:new Date(n).toISOString()},u=await this.storagePolicy?.prepareEntity?.(l,c?"update":"create")??l;if(u.id!==i||u.entityType!==o)throw Error("Projection validation cannot change entity identity");let p=Os(u.content);if(await e.insert(en).values({entityType:o,entityId:i,ruleId:r.ruleId,ruleVersion:r.ruleVersion,inputFingerprint:r.inputFingerprint,claimedAt:n}).onConflictDoUpdate({target:[en.entityType,en.entityId],set:{ruleId:r.ruleId,ruleVersion:r.ruleVersion,inputFingerprint:r.inputFingerprint,claimedAt:n}}),this.storagePolicy?.isAssetBacked(o))await this.storagePolicy.assetRepository.bindEntityContent(e,u.content);if(c?.contentHash===p&&c.content===u.content&&c.visibility===u.visibility&&Gu(c.metadata)===Gu(u.metadata)){if(this.storagePolicy?.isFullTextSearchable(o)===!1)await e.run(S`DELETE FROM entity_fts WHERE entity_id = ${i} AND entity_type = ${o}`);return null}if(await this.mutationAdmission?.assertMutationAdmission({operation:c?"update":"create",entityType:o,entityId:i}),c)await e.update(_).set({content:u.content,contentHash:p,metadata:u.metadata,visibility:u.visibility,updated:n}).where(oe(O(_.entityType,o),O(_.id,i)));else await e.insert(_).values({id:i,entityType:o,content:u.content,contentHash:p,metadata:u.metadata,visibility:u.visibility,created:n,updated:n});if(await e.run(S`DELETE FROM entity_fts WHERE entity_id = ${i} AND entity_type = ${o}`),this.storagePolicy?.isFullTextSearchable(o)!==!1)await e.run(S`INSERT INTO entity_fts (entity_id, entity_type, content) VALUES (${i}, ${o}, ${u.content})`);return await this.entityExportStore.record(e,{entityType:o,entityId:i,operation:"upsert",markedAt:n}),{entityType:o,entityId:i,operation:"upsert",contentHash:p}}}class rD{db;transactions;batches;waves;writeIntentApplier;constructor(e){this.db=e.db,this.transactions=e.transactions,this.batches=e.batches,this.waves=e.waves,this.writeIntentApplier=e.writeIntentApplier}async putWaveRules(e,t){let n=zs(e),o=cK(t).map((i)=>({waveId:n,ruleId:i.ruleId,targetType:i.targetType,level:i.level,status:"pending",changedTargets:[]}));await this.db.insert(yt).values(o)}async listWaveRules(e){return(await this.db.select().from(yt).where(O(yt.waveId,e)).orderBy(st(yt.level),st(yt.ruleId))).map(pm)}async queueWaveRule(e,t,n){let r=zs(e),o=uK(t),i=pK(n),c=(await this.db.update(yt).set({status:"queued",jobId:i}).where(oe(O(yt.waveId,r),O(yt.ruleId,o),O(yt.status,"pending"))).returning())[0];if(c)return pm(c);let l=await this.getWaveRule(r,o);if(l?.status==="completed"||l?.status==="queued"&&l.jobId===i)return l;throw Error(`Projection rule "${o}" is not pending for wave "${r}"`)}async getWaveRule(e,t){let r=(await this.db.select().from(yt).where(oe(O(yt.waveId,e),O(yt.ruleId,t))).limit(1))[0];return r?pm(r):null}async applyRuleResult(e){let t=zs(e.waveId),n=tD({ruleId:e.ruleId,ruleVersion:e.ruleVersion,inputFingerprint:e.inputFingerprint}),r=a.array(dl).parse(e.writeIntents),o=Vu(e.completedAt);return this.transactions.run(async(i)=>{let c=(await i.select().from(yt).where(oe(O(yt.waveId,t),O(yt.ruleId,n.ruleId))).limit(1))[0];if(!c)throw Error(`Projection rule "${n.ruleId}" is not scheduled for wave "${t}"`);let l=await this.waves.requireWave(i,t),u=hK(l.status);if(u.kind==="decline")return null;if(u.kind==="refuse")throw Error(`Projection wave "${t}" ${u.reason}`);let p=await this.batches.getAdmissionEpoch(i);if(l.admissionEpoch!==p)return await this.waves.supersedeWaveInTransaction(i,l,o),null;for(let I of r){let A=I.operation==="upsert"?I.entity.entityType:I.entityType;if(A!==c.targetType)throw Error(`Projection rule "${n.ruleId}" cannot write entity type "${A}"`)}if(c.status==="completed"){if(c.inputFingerprint!==n.inputFingerprint)throw Error(`Projection rule "${n.ruleId}" already completed with another input`);return pm(c)}if(c.status==="failed")throw Error(`Projection rule "${n.ruleId}" already failed for wave "${t}"`);let g=(await i.select().from(di).where(oe(O(di.ruleId,n.ruleId),O(di.ruleVersion,n.ruleVersion),O(di.inputFingerprint,n.inputFingerprint))).limit(1))[0];if(g&&Gu(g.writeIntents)!==Gu(r))throw Error(`Projection memo conflict for rule "${n.ruleId}" and fingerprint "${n.inputFingerprint}"`);if(!g)await i.insert(di).values({...n,writeIntents:r,createdAt:o});let f=[];for(let I of r){let A=await this.writeIntentApplier.apply(i,I,o,n);if(A)f.push(A)}let w=(await i.update(yt).set({status:"completed",inputFingerprint:n.inputFingerprint,changedTargets:f}).where(oe(O(yt.waveId,t),O(yt.ruleId,n.ruleId))).returning())[0];if(!w)throw Error(`Failed to complete projection rule "${n.ruleId}" for wave "${t}"`);return pm(w)})}async getRuleMemo(e){let t=tD(e),r=(await this.db.select().from(di).where(oe(O(di.ruleId,t.ruleId),O(di.ruleVersion,t.ruleVersion),O(di.inputFingerprint,t.inputFingerprint))).limit(1))[0];if(!r)return null;return{...r,writeIntents:a.array(dl).parse(r.writeIntents)}}}class oD{db;transactions;batches;constructor(e){this.db=e.db,this.transactions=e.transactions,this.batches=e.batches}async claimPendingWave(e){let t=zs(e.waveId),n=dK(e.graphFingerprint),r=Vu(e.startedAt);if(await this.batches.hasActiveBatch())return null;return this.transactions.run(async(o)=>{let i=await o.select({id:mn.id}).from(mn).where(O(mn.status,"running")).limit(1);if(i.length>0)throw Error(`Cannot claim projection wave while "${i[0]?.id}" is running`);if(await this.batches.hasActiveBatchInTransaction(o))return null;let s=await this.batches.getAdmissionEpoch(o),l=(await o.select({generation:hn.generation}).from(hn).orderBy(dn(hn.generation)).limit(1))[0]?.generation;if(l===void 0)return null;let u={id:t,cutoffGeneration:l,graphFingerprint:n,admissionEpoch:s,status:"running",startedAt:r,completedAt:null};await o.insert(mn).values(u);let p=await o.select().from(hn).where(Dr(hn.generation,l)).orderBy(st(hn.generation)),d=Rw(p);return await o.insert($a).values(d.map((g)=>({waveId:t,sourceType:g.sourceType,sourceId:g.sourceId,revision:g.revision,operation:g.operation,generation:g.generation}))),await o.delete(hn).where(Dr(hn.generation,l)),u})}listWaveInputs(e){return this.db.select().from($a).where(O($a.waveId,e)).orderBy(st($a.generation))}async getWave(e){let t=zs(e);return(await this.db.select().from(mn).where(O(mn.id,t)).limit(1))[0]??null}async getActiveWave(){return(await this.db.select().from(mn).where(O(mn.status,"running")).limit(1))[0]??null}async requireWave(e,t){let r=(await e.select().from(mn).where(O(mn.id,t)).limit(1))[0];if(!r)throw Error(`Projection wave "${t}" does not exist`);return r}async completeWave(e,t){let n=zs(e),r=Vu(t);return this.transactions.run(async(o)=>{let i=await this.requireWave(o,n),s=mK(i.status);if(s.kind==="settled")return i;if(s.kind==="refuse")throw Error(`Projection wave "${n}" ${s.reason}`);if((await o.select({ruleId:yt.ruleId}).from(yt).where(oe(O(yt.waveId,n),il(yt.status,"completed"))).limit(1)).length>0)throw Error(`Projection wave "${n}" has incomplete projection rules`);let u=(await o.update(mn).set({status:"completed",completedAt:r}).where(O(mn.id,n)).returning())[0];if(!u)throw Error(`Failed to mark projection wave "${n}" completed`);return await o.update(Oo).set({resolvedAt:r}).where(oe(rr(Oo.resolvedAt),Dr(Oo.recoveryGeneration,i.cutoffGeneration))),await this.batches.markRecoveredThrough(o,i.cutoffGeneration,r),u})}async supersedeWaveIfStale(e,t){let n=zs(e),r=Vu(t);return this.transactions.run(async(o)=>{let i=await this.requireWave(o,n),s=gK(i.status);if(s.kind==="settled")return!0;if(s.kind!=="apply")return!1;let c=await this.batches.getAdmissionEpoch(o);if(i.admissionEpoch===c)return!1;return await this.supersedeWaveInTransaction(o,i,r),!0})}async failWave(e,t){let n=zs(e),r=Vu(t);return this.transactions.run(async(o)=>(await this.failWaveInTransaction(o,n,r)).wave)}async failWaveWithIncident(e){let t=lK(e);return this.transactions.run(async(n)=>{let r=await this.failWaveInTransaction(n,t.waveId,t.failedAt);if((await n.update(yt).set({status:"failed"}).where(oe(O(yt.waveId,t.waveId),O(yt.ruleId,t.ruleId))).returning({ruleId:yt.ruleId})).length===0)throw Error(`Projection rule "${t.ruleId}" is not scheduled for wave "${t.waveId}"`);return await n.insert(Oo).values({waveId:t.waveId,ruleId:t.ruleId,jobId:t.jobId,failureReason:t.failureReason,recoveryGeneration:r.recoveryGeneration,createdAt:t.failedAt,resolvedAt:null}).onConflictDoNothing({target:Oo.waveId}),r.wave})}async getUnresolvedProjectionIncidentDiagnostics(e=10){let t=a.number().int().positive().max(100).parse(e),[n,r]=await Promise.all([this.db.select({total:S`count(*)`}).from(Oo).where(rr(Oo.resolvedAt)),this.db.select().from(Oo).where(rr(Oo.resolvedAt)).orderBy(dn(Oo.createdAt)).limit(t)]);return{total:Number(n[0]?.total??0),incidents:r}}async failWaveInTransaction(e,t,n){let r=await this.requireWave(e,t),o=fK(r.status);if(o.kind==="refuse")throw Error(`Projection wave "${t}" ${o.reason}`);if(o.kind==="settled")return{wave:r,recoveryGeneration:await this.getRecoveryGeneration(e,r.cutoffGeneration)};await this.requeueWaveInputs(e,t,n);let i=await this.getRecoveryGeneration(e,r.cutoffGeneration),c=(await e.update(mn).set({status:"failed",completedAt:n}).where(O(mn.id,t)).returning())[0];if(!c)throw Error(`Failed to mark projection wave "${t}" failed`);return{wave:c,recoveryGeneration:i}}async supersedeWaveInTransaction(e,t,n){return await this.requeueWaveInputs(e,t.id,n),(await e.update(mn).set({status:"superseded",completedAt:n}).where(oe(O(mn.id,t.id),O(mn.status,"running"))).returning())[0]??{...t,status:"superseded",completedAt:n}}async requeueWaveInputs(e,t,n){let r=await e.select().from($a).where(O($a.waveId,t)),o=await e.select().from(hn),i=new Set(o.map(kw)),s=r.filter((c)=>!i.has(kw(c)));if(s.length===0)return;await e.insert(hn).values(s.map((c)=>({sourceType:c.sourceType,sourceId:c.sourceId,revision:c.revision,operation:c.operation,markedAt:n})))}async getRecoveryGeneration(e,t){let n=await e.select({generation:S`max(${hn.generation})`}).from(hn);return Number(n[0]?.generation??t)}}class iD{tail=Promise.resolve();run(e,t){if(t?.aborted)return Promise.reject(t.reason);let n=this.tail,r=()=>{};this.tail=new Promise((s)=>{r=s});let o=!1,i=n.then(async()=>{try{return o=!0,t?.throwIfAborted(),await e()}finally{r()}});return Rve(i,()=>o,t)}async idle(){await this.tail}}class sD{tails=new Map;async run(e,t){let n=this.tails.get(e),r=()=>{},o=new Promise((i)=>{r=i});this.tails.set(e,o),await n;try{return await t()}finally{if(r(),this.tails.get(e)===o)this.tails.delete(e)}}}function Rve(e,t,n){if(!n)return e;return new Promise((r,o)=>{let i=()=>{if(!t())o(n.reason)};n.addEventListener("abort",i,{once:!0}),e.then(r,o).finally(()=>{n.removeEventListener("abort",i)})})}class Pve{active;run(e){if(this.active)return this.active;let t=e().finally(()=>{if(this.active===t)this.active=void 0});return this.active=t,t}}class Ave{active=new Map;run(e,t){let n=this.active.get(e);if(n)return n;let r=t().finally(()=>{if(this.active.get(e)===r)this.active.delete(e)});return this.active.set(e,r),r}}var Ove=2000,Dve=5,Mve=40;function _ve(e){for(let t=e;t!==void 0;){let n=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",r=et(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(n)||/SQLITE_(?:BUSY|LOCKED)|database is locked/iu.test(r))return!0;t=t instanceof Error?t.cause:void 0}return!1}async function yK(e,t={}){let n=t.retryBudgetMs??Ove,r=t.now??Date.now,o=t.sleep??((l)=>new Promise((u)=>setTimeout(u,l))),i=t.random??Math.random,s=r()+n,c=async(l)=>{try{return await e()}catch(u){if(!_ve(u))throw u;let p=Math.min(Dve*2**(l-1),Mve),d=p/2+i()*(p/2);if(r()+d>=s)throw u;return await o(d),c(l+1)}};return c(1)}class aD{db;queue=new iD;constructor(e){this.db=e}run(e){return this.queue.run(()=>this.db.transaction(e))}runSqliteWrite(e){return this.queue.run(()=>yK(e))}}var bK=a.strictObject({sourceType:a.string().trim().min(1),sourceId:a.string().trim().min(1),revision:a.string().trim().min(1),operation:a.enum(["upsert","delete"]),markedAt:a.number().int().nonnegative()}),cD=a.strictObject({entityType:a.string().trim().min(1),id:a.string().trim().min(1)});class Aw{db;writeIntentApplier;transactions;batches;waves;rules;constructor(e,t,n=Date.now,r){this.db=e,this.transactions=new aD(e),this.batches=new eD({db:e,transactions:this.transactions,now:n,getRecoveryGeneration:(o,i)=>this.waves.getRecoveryGeneration(o,i)}),this.waves=new oD({db:e,transactions:this.transactions,batches:this.batches}),this.writeIntentApplier=new nD({entityExportStore:new qh(e,n),...t&&{mutationAdmission:t},...r&&{storagePolicy:r}}),this.rules=new rD({db:e,transactions:this.transactions,batches:this.batches,waves:this.waves,writeIntentApplier:this.writeIntentApplier})}runBulkMutation(e,t){return this.batches.runBulkMutation(e,t)}prepareDurableBulkMutation(e){return this.batches.prepareDurableBulkMutation(e)}finalizeDurableBulkMutationEnqueue(e){return this.batches.finalizeDurableBulkMutationEnqueue(e)}failDurableBulkMutationEnqueue(e){return this.batches.failDurableBulkMutationEnqueue(e)}runDurableBulkMutationChild(e,t){return this.batches.runDurableBulkMutationChild(e,t)}settleDurableBulkMutationChild(e){return this.batches.settleDurableBulkMutationChild(e)}recoverProjectionBatches(e){return this.batches.recoverProjectionBatches(e)}cleanupProjectionBatches(e,t){return this.batches.cleanupProjectionBatches(e,t)}getProjectionBatchDiagnostics(){return this.batches.getProjectionBatchDiagnostics()}async isProjectionOwnedEntity(e){let t=cD.parse(e);return(await this.db.select({entityId:en.entityId}).from(en).where(oe(O(en.entityType,t.entityType),O(en.entityId,t.id))).limit(1)).length>0}async releaseProjectionOwnership(e){let t=cD.parse(e);await this.db.delete(en).where(oe(O(en.entityType,t.entityType),O(en.entityId,t.id)))}transferEntityAuthority(e,t){let n=cD.parse(e);return this.transactions.run(async(r)=>{let o=await t(r);return await r.delete(en).where(oe(O(en.entityType,n.entityType),O(en.entityId,n.id))),o})}async markDirty(e){let t=bK.parse(e),r=(await this.db.insert(hn).values(t).returning({generation:hn.generation}))[0]?.generation;if(r===void 0)throw Error("Failed to persist projection dirty input");return r}withDirtyInput(e,t){let n=bK.parse(e);return this.batches.runMutationTransaction(async(r,o)=>{let i=await t(r);await r.delete(en).where(oe(O(en.entityType,n.sourceType),O(en.entityId,n.sourceId)));let c=(await r.insert(hn).values(n).returning({generation:hn.generation}))[0]?.generation;if(c===void 0)throw Error("Failed to persist projection dirty input");return await o(c),i})}async listPendingInputs(){let e=await this.db.select().from(hn).orderBy(st(hn.generation));return Rw(e)}hasActiveProjectionBatch(){return this.batches.hasActiveBatch()}claimPendingWave(e){return this.waves.claimPendingWave(e)}listWaveInputs(e){return this.waves.listWaveInputs(e)}getWave(e){return this.waves.getWave(e)}getActiveWave(){return this.waves.getActiveWave()}completeWave(e,t){return this.waves.completeWave(e,t)}supersedeWaveIfStale(e,t){return this.waves.supersedeWaveIfStale(e,t)}failWave(e,t){return this.waves.failWave(e,t)}failWaveWithIncident(e){return this.waves.failWaveWithIncident(e)}getUnresolvedProjectionIncidentDiagnostics(e){return this.waves.getUnresolvedProjectionIncidentDiagnostics(e)}putWaveRules(e,t){return this.rules.putWaveRules(e,t)}listWaveRules(e){return this.rules.listWaveRules(e)}queueWaveRule(e,t,n){return this.rules.queueWaveRule(e,t,n)}getWaveRule(e,t){return this.rules.getWaveRule(e,t)}applyRuleResult(e){return this.rules.applyRuleResult(e)}getRuleMemo(e){return this.rules.getRuleMemo(e)}}class Ow extends Error{ref;constructor(e){super(`Asset not found: ${e}`);this.name="AssetNotFoundError",this.ref=e}}class Qu extends Error{ref;constructor(e,t){super(`Asset integrity check failed for ${e}: ${t}`);this.name="AssetIntegrityError",this.ref=e}}class lD{db;maxBytes;now;constructor(e,t={}){this.db=e,this.maxBytes=t.maxBytes??ZA,this.now=t.now??Date.now}stage(e){if($A(e),e.sizeBytes>this.maxBytes)throw Error(`Asset exceeds ${this.maxBytes}-byte repository limit: received ${e.sizeBytes} bytes`);return{ref:e.ref,digest:e.digest,sizeBytes:e.sizeBytes,bytes:Buffer.from(e.bytes)}}async bindEntityContent(e,t,n){if(n){if(t!==n.ref)throw Error(`Prepared asset ${n.ref} does not match entity content`);await this.insertOrVerify(e,n);return}let r=wh.safeParse(t);if(r.success){await this.assertExists(e,r.data);return}if(t.startsWith("asset://"))qu(t)}async read(e){let t=qu(e),r=(await this.db.select({bytes:Fn.bytes,sizeBytes:Fn.sizeBytes}).from(Fn).where(O(Fn.digest,Zu(t))).limit(1))[0];if(!r)throw new Ow(t);return this.assertSize(t,r.bytes,r.sizeBytes),Uint8Array.from(r.bytes)}async stat(e){let t=qu(e),r=(await this.db.select({sizeBytes:Fn.sizeBytes}).from(Fn).where(O(Fn.digest,Zu(t))).limit(1))[0];return r?{ref:t,sizeBytes:r.sizeBytes}:null}async verify(e){let t=qu(e),n=await this.read(t),r=Zu(t),o=Th(n);return{ref:t,sizeBytes:n.byteLength,expectedDigest:r,actualDigest:o,valid:o===r}}async insertOrVerify(e,t){if((await e.insert(Fn).values({digest:t.digest,bytes:t.bytes,sizeBytes:t.sizeBytes,created:this.now()}).onConflictDoNothing({target:Fn.digest}).returning({digest:Fn.digest})).length>0)return;let o=(await e.select({bytes:Fn.bytes,sizeBytes:Fn.sizeBytes}).from(Fn).where(O(Fn.digest,t.digest)).limit(1))[0];if(!o)throw new Qu(t.ref,"conflicting row disappeared during insertion");if(this.assertSize(t.ref,o.bytes,o.sizeBytes),o.sizeBytes!==t.sizeBytes)throw new Qu(t.ref,`stored size ${o.sizeBytes} does not match prepared size ${t.sizeBytes}`);let i=Th(o.bytes);if(i!==t.digest)throw new Qu(t.ref,`stored digest is ${i}`)}async assertExists(e,t){if((await e.select({digest:Fn.digest}).from(Fn).where(O(Fn.digest,Zu(t))).limit(1)).length===0)throw new Ow(t)}assertSize(e,t,n){if(t.byteLength!==n)throw new Qu(e,`stored byte count ${t.byteLength} does not match declared size ${n}`);if(n<0||n>this.maxBytes)throw new Qu(e,`stored size ${n} is outside the accepted 0-${this.maxBytes} range`)}}var zve=/!\[([^\]]*)\]\(entity:\/\/image\/([^)]+)\)/g;function Fve(e){return e.includes("entity://image/")}var Nve=new Set(["image"]);function xK(e){return!Nve.has(e)}class uD{logger;constructor(e){this.logger=e.child("ContentResolver")}detectReferences(e){let t=[],n=new RegExp(zve.source,"g"),r;while((r=n.exec(e))!==null)t.push({alt:r[1]??"",imageId:r[2]??"",originalMarkdown:r[0]});return t}async resolve(e,t,n){if(!Fve(e))return{content:e,resolvedCount:0,failedCount:0};let r=this.detectReferences(e);if(r.length===0)return{content:e,resolvedCount:0,failedCount:0};let o=[...new Set(r.map((u)=>u.imageId))],i=new Map;for(let u of o)try{let p=await t.getEntityRaw({entityType:"image",id:u,visibilityScope:n});if(p?.content)i.set(u,p.content);else this.logger.warn("Image entity not found",{imageId:u})}catch(p){this.logger.warn("Failed to fetch image entity",{imageId:u,error:et(p)})}let s=e,c=0,l=0;for(let u of r){let p=i.get(u.imageId);if(p){let d=`![${u.alt}](${p})`;s=s.replace(u.originalMarkdown,d),c++}else l++}if(c>0)this.logger.debug("Resolved image references",{resolvedCount:c,failedCount:l});return{content:s,resolvedCount:c,failedCount:l}}}function SK(e,t){return de.suspend(()=>{let n,r=e.pipe(de.match({onFailure:(s)=>(n={kind:"failure",error:s},n),onSuccess:(s)=>(n={kind:"status",status:s},n)})),o=Ts.spaced(t.intervalMs),i=t.timeoutMs===void 0?o:o.pipe(Ts.upTo(t.timeoutMs));return r.pipe(de.repeat({schedule:i,until:(s)=>s.kind==="status"&&s.status.ready}),de.flatMap(()=>{if(n?.kind==="status")return de.succeed(n.status);if(n?.kind==="failure")return de.fail(n.error);return de.die(Error("Index readiness polling completed without an attempt"))}))})}class pD{db;dbClient;dbUrl;searchDbClient;embeddingDb;embeddingDbClient;dbInitPromise=null;groupingReprojection;groupingsReady=!1;entityRegistry;logger;jobQueueService;entitySearch;entitySerializer;entityQueries;entityMutations;projectionStore;assetRepository;entityExportStore;contentResolver;embeddingHandlerRegistered=!1;indexReady=!1;close(){let e,t=!1;try{if(this.embeddingHandlerRegistered)this.jobQueueService.unregisterHandler(Ms.embedding),this.embeddingHandlerRegistered=!1}catch(n){e=n,t=!0}try{this.embeddingDbClient.close()}catch(n){if(!t)e=n;t=!0}try{this.searchDbClient.close()}catch(n){if(!t)e=n;t=!0}try{this.dbClient.close()}catch(n){if(!t)e=n;t=!0}if(t)throw e}static createFresh(e){return new pD(e)}constructor(e){let{db:t,client:n,url:r}=AO(e.dbConfig);this.db=t,this.dbClient=n,this.dbUrl=r,this.assetRepository=new lD(this.db),this.entityExportStore=new qh(this.db,e.projectionNow??Date.now),this.projectionStore=new Aw(this.db,e.mutationAdmission,e.projectionNow??Date.now,{assetRepository:this.assetRepository,prepareEntity:async(s,c)=>{let l=this.entitySerializer.deserializeEntity(s.content,s.entityType),u=e.entityRegistry.validateEntity(s.entityType,{...l,...s.metadata,...s});return await Ew(e.entityRegistry,u,c),u},isAssetBacked:(s)=>e.entityRegistry.getEntityTypeConfig(s).binaryStorage==="asset",isFullTextSearchable:(s)=>e.entityRegistry.getEntityTypeConfig(s).fullTextSearchable!==!1});let o,i;try{let s=AO(e.dbConfig);o=s.client,this.searchDbClient=s.client;let c=OO(e.embeddingDbConfig);if(i=c.client,this.embeddingDb=c.db,this.embeddingDbClient=c.client,this.entityRegistry=e.entityRegistry,this.logger=(e.logger??pi.getInstance()).child("EntityService"),!e.jobQueueService)throw Error("JobQueueService is required for EntityService initialization");this.jobQueueService=e.jobQueueService,this.entitySerializer=new NO(this.entityRegistry,this.logger),this.entityQueries=new VO({db:this.db,entityRegistry:this.entityRegistry,serializer:this.entitySerializer,logger:this.logger,embeddingDb:this.embeddingDb});let l=e.embeddingsEnabled??!0;if(this.entitySearch=new xw(s.db,e.embeddingService,this.entitySerializer,this.logger,l),this.entityMutations=new XO({db:this.db,entityRegistry:this.entityRegistry,entitySerializer:this.entitySerializer,entityQueries:this.entityQueries,jobQueueService:this.jobQueueService,logger:this.logger,...e.messageBus&&{messageBus:e.messageBus},...e.mutationAdmission&&{mutationAdmission:e.mutationAdmission},projectionStore:this.projectionStore,assetRepository:this.assetRepository,entityExportStore:this.entityExportStore,projectionNow:e.projectionNow??Date.now,embeddingDb:this.embeddingDb,embeddingsEnabled:l}),this.contentResolver=new uD(this.logger),e.embeddingsEnabled??!0){let u=Bh.createFresh(this,e.embeddingService,e.messageBus);this.jobQueueService.registerHandler(Ms.embedding,u),this.embeddingHandlerRegistered=!0}this.dbInitPromise=this.initializeDatabase(e.embeddingDbConfig,e.embeddingService.dimensions),this.dbInitPromise.catch(()=>{})}catch(s){try{if(this.embeddingHandlerRegistered)e.jobQueueService?.unregisterHandler(Ms.embedding),this.embeddingHandlerRegistered=!1}catch{}try{i?.close()}catch{}try{o?.close()}catch{}try{n.close()}catch{}throw s}}async initialize(){if(!this.dbInitPromise)throw Error("Entity service database initialization never started; construction failed");await this.dbInitPromise}async initializeDatabase(e,t){try{await Wi(this.dbClient,this.dbUrl)}catch(n){this.logger.warn("Failed to enable WAL mode for entity database (non-fatal)",n)}try{await Wi(this.searchDbClient,this.dbUrl)}catch(n){this.logger.warn("Failed to configure entity search database (non-fatal)",n)}try{await Wi(this.embeddingDbClient,e.url)}catch(n){this.logger.warn("Failed to enable WAL mode for embedding database (non-fatal)",n)}await NQ(this.dbClient),await DO(this.embeddingDbClient,t),await MO(this.embeddingDbClient),await _O(this.searchDbClient,zO(e.url))}getProjectionStore(){return this.projectionStore}async isProjectionOwnedEntity(e){return await this.initialize(),this.projectionStore.isProjectionOwnedEntity(e)}setProjectionWakeup(e){return this.entityMutations.setProjectionWakeup(e)}async listPendingEntityExports(){return await this.initialize(),this.entityExportStore.list()}async hasPendingEntityExports(){return await this.initialize(),this.entityExportStore.hasPending()}async acknowledgeEntityExports(e){return await this.initialize(),this.entityExportStore.acknowledge(e.intents)}async runBulkMutation(e,t){await this.initialize();try{return await this.projectionStore.runBulkMutation(e,t)}finally{await this.entityMutations.wakeProjectionScheduler()}}async prepareDurableBulkMutation(e){await this.initialize(),await this.projectionStore.prepareDurableBulkMutation(e)}async finalizeDurableBulkMutationEnqueue(e){await this.initialize(),await this.projectionStore.finalizeDurableBulkMutationEnqueue(e)}async failDurableBulkMutationEnqueue(e){await this.initialize(),await this.projectionStore.failDurableBulkMutationEnqueue(e)}async runDurableBulkMutationChild(e,t){return await this.initialize(),this.projectionStore.runDurableBulkMutationChild(e,t)}async settleDurableBulkMutationChild(e){await this.initialize();let t=await this.projectionStore.settleDurableBulkMutationChild(e);if(t)await this.entityMutations.wakeProjectionScheduler();return t}async recoverProjectionBatches(e){await this.initialize();let t=await this.projectionStore.recoverProjectionBatches(e);if(t.fencedCallbacks+t.releasedDurableRoots>0)await this.entityMutations.wakeProjectionScheduler();return t}async createEntity(e){return await this.initialize(),this.entityMutations.createEntity(e)}async createEntityFromMarkdown(e){await this.initialize();let{input:t,options:n}=e,r=this.entitySerializer.deserializeEntity(t.markdown,t.entityType);return this.entityMutations.createEntity({entity:{...r,id:t.id,entityType:t.entityType,content:t.markdown,metadata:r.metadata??{},...t.visibility!==void 0?{visibility:t.visibility}:{}},...n!==void 0&&{options:n}})}async updateEntity(e){return await this.initialize(),this.entityMutations.updateEntity(e)}async deleteEntity(e){return await this.initialize(),this.entityMutations.deleteEntity(e)}async upsertEntity(e){return await this.initialize(),this.entityMutations.upsertEntity(e)}async storeEmbedding(e){return await this.initialize(),this.entityMutations.storeEmbedding(e)}async reconcileProjectionTargets(e){return await this.initialize(),this.entityMutations.reconcileProjectionTargets(e)}async backfillMissingEmbeddings(){return await this.initialize(),this.indexReady=!1,this.entityMutations.backfillMissingEmbeddings()}isIndexReady(){return this.indexReady}async awaitIndexReady(e){await this.initialize();let t=!1,n=de.tryPromise({try:()=>this.getIndexReadinessStatus(),catch:(i)=>i}).pipe(de.tapError((i)=>de.sync(()=>{if(!t)this.logger.warn("Semantic index readiness check failed; retrying",{error:i}),t=!0})),de.tap(()=>de.sync(()=>{t=!1}))),r=SK(n,{intervalMs:e.intervalMs??250,...e.timeoutMs!==void 0&&{timeoutMs:e.timeoutMs}}),o=await de.runPromiseExit(r,{...e.signal&&{signal:e.signal}});if(jt.isFailure(o)){if(e.signal?.aborted)throw e.signal.reason;throw ri.squash(o.cause)}if(o.value.ready)this.indexReady=!0;return o.value}async getIndexReadinessStatus(){let[e,t]=await Promise.all([this.jobQueueService.getActiveJobs([Ms.embedding]),this.entityMutations.getEmbeddingIndexStats()]),n=e.length,r=n===0&&t.missingEmbeddings===0&&t.staleEmbeddings===0,o=r&&t.failedEmbeddings>0;return{ready:r,degraded:o,activeEmbeddingJobs:n,missingEmbeddings:t.missingEmbeddings,staleEmbeddings:t.staleEmbeddings,failedEmbeddings:t.failedEmbeddings,embeddableEntities:t.embeddableEntities,embeddedEntities:t.embeddedEntities}}async getEntityWriteSnapshot(e){return await this.initialize(),this.entityQueries.getEntityWriteSnapshot(e)}async readAsset(e){return await this.initialize(),this.assetRepository.read(e)}async statAsset(e){return await this.initialize(),this.assetRepository.stat(e)}async verifyAsset(e){return await this.initialize(),this.assetRepository.verify(e)}async getEntity(e,t){e.signal?.throwIfAborted(),await this.initialize();let{entityType:n,visibilityScope:r}=e,o=await this.getEntityRaw(e);if(!o)return null;let i=e.readBudget?o:await this.resolveEntityContent(n,o,r);return e.signal?.throwIfAborted(),t?t.parse(i):i}async resolveEntityContent(e,t,n){if(xK(e)&&t.content){let r=await this.contentResolver.resolve(t.content,this,n);if(r.resolvedCount>0)return{...t,content:r.content}}return t}async getEntityRaw(e,t){e.signal?.throwIfAborted(),await this.initialize();let{entityType:n,id:r,visibilityScope:o}=e,i=await this.entityQueries.getEntityData(n,r,o,e);if(!i)return null;let s=await this.entitySerializer.convertToEntity(i,e.readBudget===void 0);return e.signal?.throwIfAborted(),s&&t?t.parse(s):s}async listEntities(e,t){e.options?.signal?.throwIfAborted(),await this.initialize();let{entityType:n,options:r}=e,o=await this.entityQueries.listEntities(n,r,this.publishedStatusesFor(n));return t?o.map((i)=>t.parse(i)):o}async queryEntityHierarchy(e){return e.signal?.throwIfAborted(),await this.initialize(),this.entityQueries.queryEntityHierarchy(e)}areGroupingsReady(){return this.groupingsReady}reprojectRegisteredGroupings(){if(this.groupingReprojection)return this.groupingReprojection;return this.groupingsReady=!1,this.groupingReprojection=this.initialize().then(()=>EQ(this.db,this.entityRegistry)).then(()=>{this.groupingsReady=!0}).finally(()=>{this.groupingReprojection=void 0}),this.groupingReprojection}async queryGroupingCatalog(e){return e.signal?.throwIfAborted(),await this.initialize(),this.entityQueries.queryGroupingCatalog(e)}async queryGroupingMembers(e){return e.signal?.throwIfAborted(),await this.initialize(),this.entityQueries.queryGroupingMembers(e)}async countEntities(e){await this.initialize();let{entityType:t,options:n}=e;return this.entityQueries.countEntities(t,n,this.publishedStatusesFor(t))}publishedStatusesFor(e){if(!this.entityRegistry.hasEntityType(e))return;return this.entityRegistry.getAdapter(e).publishedStatuses}async getEntityCounts(e){return await this.initialize(),this.entityQueries.getEntityCounts(e)}async search(e,t){e.options?.signal?.throwIfAborted(),await this.initialize();let n=await this.entitySearch.search(e.query,e.options);return e.options?.signal?.throwIfAborted(),t?n.map((r)=>({...r,entity:t.parse(r.entity)})):n}async searchEntities(e,t,n){return await this.initialize(),this.entitySearch.searchEntities(e,t,n)}async searchWithDistances(e){return await this.initialize(),this.entitySearch.searchWithDistances(e.query)}async projectSemanticSpace(e){return await this.initialize(),this.entitySearch.projectSemanticSpace(e)}async countEmbeddings(){return await this.initialize(),(await this.embeddingDb.select({count:S`count(*)`}).from(Hn))[0]?.count??0}serializeEntity(e){return this.entitySerializer.serializeEntity(e)}deserializeEntity(e,t){return this.entitySerializer.deserializeEntity(e,t)}getEntityTypes(){return this.entityRegistry.getAllEntityTypes()}hasEntityType(e){return this.entityRegistry.hasEntityType(e)}getEntityTypeConfig(e){return this.entityRegistry.getEntityTypeConfig(e)}getWeightMap(){return this.entityRegistry.getWeightMap()}async getAsyncJobStatus(e){let t=await this.jobQueueService.getStatus(e);if(!t)return null;return{status:t.status,...t.lastError&&{error:t.lastError}}}}function Zh(e,t){if(!(e instanceof a.ZodType)||!(t instanceof a.ZodType))return!1;if(e===t)return!0;let n=e.def.checks??[],r=t.def.checks??[];if(n.length!==r.length||n.some((o,i)=>o!==r[i]))return!1;if(e instanceof a.ZodOptional&&t instanceof a.ZodOptional)return Zh(e.unwrap(),t.unwrap());if(e instanceof a.ZodNullable&&t instanceof a.ZodNullable)return Zh(e.unwrap(),t.unwrap());if(e instanceof a.ZodArray&&t instanceof a.ZodArray)return Zh(e.element,t.element);if(e instanceof a.ZodStringFormat||t instanceof a.ZodStringFormat)return!1;if(e instanceof a.ZodString&&t instanceof a.ZodString)return e.def.coerce===t.def.coerce;if(e instanceof a.ZodEnum&&t instanceof a.ZodEnum)return JSON.stringify(e.def.entries)===JSON.stringify(t.def.entries);if(e instanceof a.ZodLiteral&&t instanceof a.ZodLiteral)return e.def.values.length===t.def.values.length&&e.def.values.every((o,i)=>Object.is(o,t.def.values[i]));return!1}function dD(e){return e instanceof a.ZodType?e.def.type:void 0}function jve(e){return typeof e==="function"?e():e}function Ja(e){let t=Dw(e,!0,void 0,!1),n={inner:t.inner,required:t.required};if(t.hasDefault&&t.defaultValue!==void 0)n.defaultValue=t.defaultValue;return n}function Dw(e,t,n,r){if(e instanceof a.ZodOptional||e instanceof a.ZodNullable)return Dw(e.unwrap(),!1,n,r);if(e instanceof a.ZodDefault)return Dw(e.def.innerType,!1,jve(e.def.defaultValue),!0);if(e instanceof a.ZodPipe)return Dw(e.def.out,t,n,r);return{inner:e,required:t,defaultValue:n,hasDefault:r}}function Mw(e){if(!(e instanceof a.ZodEnum))return;let t=Object.values(e.def.entries);if(t.every((n)=>typeof n==="string"))return t;return}function vK(e){return e instanceof a.ZodLiteral?e.def.values[0]:void 0}function ml(e){return e instanceof a.ZodObject?e.shape:void 0}function wK(e){return e instanceof a.ZodArray?e.def.element:void 0}function YVe(e,t){if(e instanceof a.ZodStringFormat)return e.def.format===t;if(!(e instanceof a.ZodString))return!1;return(e.def.checks??[]).some((r)=>r instanceof a.ZodStringFormat&&r.def.format===t)}function XVe(e){return e instanceof a.ZodType?e.meta():void 0}class _w{entitySchemas=new Map;entityAdapters=new Map;entityConfigs=new Map;createInterceptors=new Map;uploadSaveHandlers=[];persistValidators=new Map;frontmatterExtensions=new Map;logger;groupings=new Map;static createFresh(e){return new _w(e)}constructor(e){this.logger=e}registerEntityType(e,t,n,r){if(this.logger.debug(`Registering entity type: ${e}`),this.entitySchemas.has(e))throw Error(`Entity type registration failed for ${e}: Entity type is already registered`);if(this.entitySchemas.set(e,t),this.entityAdapters.set(e,n),r)this.entityConfigs.set(e,r);this.logger.debug(`Registered entity type: ${e}`)}unregisterEntityType(e){this.entitySchemas.delete(e),this.entityAdapters.delete(e),this.entityConfigs.delete(e),this.createInterceptors.delete(e),this.persistValidators.delete(e),this.frontmatterExtensions.delete(e),this.uploadSaveHandlers=this.uploadSaveHandlers.filter((t)=>t.entityType!==e),this.logger.debug(`Unregistered entity type: ${e}`)}getSchema(e){let t=this.entitySchemas.get(e);if(!t)throw Error(`Entity type registration failed for ${e}: No schema registered for entity type`);return t}getAdapter(e){let t=this.entityAdapters.get(e);if(!t)throw Error(`Entity type registration failed for ${e}: No adapter registered for entity type`);let n=this.mergeExtensions(e,t.frontmatterSchema);if(!n||n===t.frontmatterSchema)return t;let r=Object.create(t);return Object.defineProperty(r,"frontmatterSchema",{value:n,enumerable:!0}),r}hasEntityType(e){return this.entitySchemas.has(e)&&this.entityAdapters.has(e)}validateEntity(e,t){let r=this.getSchema(e).parse(this.normalizePolicyFields(t,e)),o=ai.parse(r);return{...r!==null&&typeof r==="object"&&!Array.isArray(r)?Object.fromEntries(Object.entries(r)):{},id:o.id,entityType:o.entityType,content:o.content,created:o.created,updated:o.updated,visibility:o.visibility,metadata:this.projectMetadata(e,o.content,o.metadata),contentHash:o.contentHash}}normalizePolicyFields(e,t){if(e===null||typeof e!=="object"||Array.isArray(e))return e;let n=Object.fromEntries(Object.entries(e));n.visibility=Is.parse(n.visibility);let r=n.metadata,o=ml(Ja(ml(this.getSchema(t))?.metadata).inner);if(o&&r&&typeof r==="object"&&!Array.isArray(r)){let i=Object.fromEntries(Object.entries(r));for(let s of this.getFrontmatterExtensions(t))for(let c of Object.keys(s.shape))if(!Object.hasOwn(o,c))delete i[c];n.metadata=i}return n}getAllEntityTypes(){return Array.from(this.entitySchemas.keys())}getEntityTypeConfig(e){return this.entityConfigs.get(e)??{}}getWeightMap(){let e={};for(let[t,n]of this.entityConfigs)if(n.weight!==void 0)e[t]=n.weight;return e}registerCreateInterceptor(e,t){this.createInterceptors.set(e,t)}getCreateInterceptor(e){return this.createInterceptors.get(e)}registerUploadSaveHandler(e){this.uploadSaveHandlers=[...this.uploadSaveHandlers.filter((t)=>t.entityType!==e.entityType),e]}getUploadSaveHandler(e){return this.uploadSaveHandlers.find((t)=>t.mediaTypes.some((n)=>n.endsWith("/*")?e.startsWith(`${n.slice(0,-1)}`):e===n))}registerPersistValidator(e,t){let n=this.persistValidators.get(e);this.persistValidators.set(e,n?async(r,o)=>{await n(r,o),await t(r,o)}:t)}getPersistValidator(e){return this.persistValidators.get(e)}extendFrontmatterSchema(e,t){let n=this.entityAdapters.get(e);if(!n)throw Error(`Cannot extend frontmatter schema for ${e}: entity type is not registered`);if(!n.frontmatterSchema)throw Error(`Cannot extend frontmatter schema for ${e}: adapter has no frontmatterSchema`);for(let o of this.groupings.values())if(o.types.includes(e)&&Object.hasOwn(t.shape,o.field)&&t.shape[o.field]!==this.getEffectiveFrontmatterSchema(e)?.shape[o.field])throw Error(`Cannot replace registered grouping field ${e}.${o.field}`);let r=this.frontmatterExtensions.get(e)??[];r.push(t),this.frontmatterExtensions.set(e,r),this.logger.debug(`Extended frontmatter schema for entity type: ${e}`)}validateGroupings(e){let t=new _w(this.logger.child("GroupingValidation"));t.entitySchemas=this.entitySchemas,t.entityAdapters=this.entityAdapters,t.entityConfigs=this.entityConfigs,t.frontmatterExtensions=new Map([...this.frontmatterExtensions].map(([n,r])=>[n,[...r]])),t.groupings=new Map(this.groupings);for(let n of e)t.registerGrouping(n)}registerGrouping(e){let t=ww.parse(e);if(this.groupings.has(t.key))throw Error(`Duplicate entity grouping: ${t.key}`);if(GQ.has(t.field))throw Error("Grouping field is reserved");let n=[];for(let r of t.types){let o=this.getEffectiveFrontmatterSchema(r);if(!this.hasEntityType(r)||!o||this.getEntityTypeConfig(r).binaryStorage==="asset")throw Error(`Grouping requires a registered frontmatter entity type: ${r}`);let i=o.shape[t.field],s=this.entityAdapters.get(r)?.frontmatterSchema?.shape[t.field];if(s&&s!==i)throw Error(`Grouping field overrides an owner contract: ${r}.${t.field}`);let c=ml(Ja(ml(this.getSchema(r))?.metadata).inner)?.[t.field];if(!i){if(c)throw Error(`Grouping conflicts with metadata field ${r}.${t.field}`);n.push(r);continue}let l=wK(Ja(i).inner),u=Ja(l).inner;if(l!==u||!(u instanceof a.ZodString)&&!Mw(u)&&typeof vK(u)!=="string")throw Error(`Grouping field must be a string list: ${r}.${t.field}`);if(c&&!Zh(c,i))throw Error(`Cannot establish a shared frontmatter/metadata contract for ${r}.${t.field}`)}for(let r of n)this.extendFrontmatterSchema(r,a.object({[t.field]:a.array(a.string()).optional()}));this.groupings.set(t.key,t)}getGrouping(e){let t=this.groupings.get(e);if(!t)throw Error("Unknown entity grouping");return{...t,types:[...t.types]}}getGroupings(){return[...this.groupings.keys()].map((e)=>this.getGrouping(e))}projectMetadata(e,t,n){return this.projectRegisteredFields(e,t,n,"reject")}projectStoredMetadata(e,t,n){return this.projectRegisteredFields(e,t,n,"omit")}groupingFields(e){return[...new Set([...this.groupings.values()].filter((t)=>t.types.includes(e)).map((t)=>t.field))]}isGroupingContributor(e){for(let t of this.groupings.values())if(t.types.includes(e))return!0;return!1}projectRegisteredFields(e,t,n,r){let o=nr(t,a.record(a.string(),a.unknown()),{cache:r==="omit"?!1:!0}).metadata,i=JQ(o,n,this.getFrontmatterExtensions(e),r),s=this.groupingFields(e);if(s.length===0)return i;let c=this.getEffectiveFrontmatterSchema(e);if(!c)throw Error("Grouping contributor lost its frontmatter schema");let l={...i};for(let u of s){delete l[u];let p=c.shape[u];if(!p||!Object.hasOwn(o,u))continue;let d=a.safeParse(p,o[u]);if(!d.success){if(r==="reject")throw d.error;continue}if(d.data!==void 0)l[u]=d.data}return l}getFrontmatterExtensions(e){return[...this.frontmatterExtensions.get(e)??[]]}getEffectiveFrontmatterSchema(e){let t=this.entityAdapters.get(e);return this.mergeExtensions(e,t?.frontmatterSchema)}mergeExtensions(e,t){if(!t)return;let n=this.frontmatterExtensions.get(e);if(!n?.length)return t;let r=t;for(let o of n)r=r.safeExtend(o.shape);return r.superRefine((o,i)=>{for(let s of n){let c=Object.fromEntries(Object.keys(s.shape).flatMap((u)=>Object.hasOwn(o,u)?[[u,o[u]]]:[])),l=s.safeParse(c);if(!l.success)for(let u of l.error.issues)i.addIssue({code:"custom",path:[...u.path],message:u.message})}})}}class TK extends Error{name="Assertion";code="ERR_ASSERTION";constructor(e,t,n,r,o){super(e);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);this.actual=t,this.expected=n,this.generated=o,this.operator=r}}function k(e,t){Bve(Boolean(e),!1,!0,"ok","Expected value to be truthy",t)}function Bve(e,t,n,r,o,i){if(!e)throw i instanceof Error?i:new TK(i||o,t,n,r,!i)}var Lve={};function Va(e,t){let n=t||Lve,r=typeof n.includeImageAlt==="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml==="boolean"?n.includeHtml:!0;return EK(e,r,o)}function EK(e,t,n){if(qve(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return CK(e.children,t,n)}if(Array.isArray(e))return CK(e,t,n);return""}function CK(e,t,n){let r=[],o=-1;while(++o<e.length)r[o]=EK(e[o],t,n);return r.join("")}function qve(e){return Boolean(e&&typeof e==="object")}var mD={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\uD835\uDD04",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\uD835\uDD38",ApplyFunction:"\u2061",Aring:"\xC5",Ascr:"\uD835\uDC9C",Assign:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\uD835\uDD05",Bopf:"\uD835\uDD39",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\uD835\uDC9E",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\uD835\uDD07",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\uD835\uDD3B",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\uD835\uDC9F",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\uD835\uDD08",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\uD835\uDD3C",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\uD835\uDD09",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\uD835\uDD3D",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\uD835\uDD0A",Gg:"\u22D9",Gopf:"\uD835\uDD3E",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\uD835\uDCA2",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\uD835\uDD40",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\uD835\uDD0D",Jopf:"\uD835\uDD41",Jscr:"\uD835\uDCA5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\uD835\uDD0E",Kopf:"\uD835\uDD42",Kscr:"\uD835\uDCA6",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\uD835\uDD0F",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\uD835\uDD43",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\uD835\uDD10",MinusPlus:"\u2213",Mopf:"\uD835\uDD44",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:`
77
+ WHERE ${oe(...n)} AND j.type = 'text') AS grouping_values`,i=await this.db.select({total:S`COUNT(DISTINCT grouping_values.value)`}).from(o);t.signal?.throwIfAborted();let s=await this.db.select({value:S`CAST(grouping_values.value AS BLOB)`,count:S`COUNT(*)`}).from(o).groupBy(S`grouping_values.value`).orderBy(S`grouping_values.value COLLATE NOCASE ASC`,S`grouping_values.value COLLATE BINARY ASC`).limit(t.limit).offset(t.offset);t.signal?.throwIfAborted();let c=new TextDecoder("utf-8",{ignoreBOM:!0});return{values:s.map((l)=>({value:c.decode(l.value),count:Number(l.count)})),total:Number(i[0]?.total??0)}}async queryGroupingMembers(e){let t=VQ.parse(e);t.signal?.throwIfAborted();let{conditions:n,array:r}=this.groupingConditions(t);if(n.push(S`EXISTS (SELECT 1 FROM json_each(${r}) AS j WHERE j.type = 'text' AND j.value = ${t.value})`),t.q?.trim())n.push(XQ(t.q));let o=oe(...n),i=await this.db.select({total:S`COUNT(*)`}).from(_).where(o);t.signal?.throwIfAborted();let s=t.sort.startsWith("created-")?_.created:_.updated,c=t.sort.endsWith("-asc")?st(s):dn(s),l=await this.db.select({...rm(_),id:S`CAST(${_.id} AS BLOB)`}).from(_).where(o).orderBy(c,st(_.entityType),st(_.id)).limit(t.limit).offset(t.offset);t.signal?.throwIfAborted();let u=new TextDecoder("utf-8",{ignoreBOM:!0}),p=[];for(let d of l){t.signal?.throwIfAborted();let g=await this.serializer.convertToEntity(Ju({...d,id:u.decode(d.id)}),!1);if(g)p.push(g)}return t.signal?.throwIfAborted(),{entities:p,total:Number(i[0]?.total??0)}}groupingConditions(e){let t=this.entityRegistry.getGrouping(e.grouping),n=new Set(e.entityTypes),r=t.types.filter((c)=>n.has(c)),o=[It(_.entityType,r),It(_.visibility,ks(e.visibilityScope??"public"))],i=`$.${t.field}`,s=S`CASE WHEN json_type(${_.metadata}, ${i}) = 'array' THEN json_extract(${_.metadata}, ${i}) ELSE '[]' END`;return{conditions:o,array:s}}async queryEntityHierarchy(e){let t=lve.parse(e),{entityType:n,filter:r,limit:o,offset:i,signal:s,sortFields:c}=t,l=t.prefix??null;s?.throwIfAborted();let u=YQ(_.id,l),p=this.buildWhereConditions(n,void 0,r?.metadata,t.visibilityScope,void 0,r?.contentContains,r?.visibility);p.push(u.withinPrefix);let d=t.includeDescendants?[]:await this.db.select({name:u.childName,count:S`COUNT(*)`}).from(_).where(oe(...p,rw(u.directChild))).groupBy(u.childName).orderBy(st(u.childName)).limit(JO+1);if(s?.throwIfAborted(),d.length>JO)throw Error(`Entity hierarchy exceeds ${JO} immediate folders`);let g=oe(...p,...t.includeDescendants?[]:[u.directChild]),f=await this.db.select({count:S`COUNT(*)`}).from(_).where(g);s?.throwIfAborted();let v=await this.db.select({...rm(_),id:S`CAST(${_.id} AS BLOB)`}).from(_).where(g).orderBy(...this.buildOrderByClauses(c??[{field:"id",direction:"asc"}]),st(_.id)).limit(o).offset(i);s?.throwIfAborted();let w=new TextDecoder("utf-8",{ignoreBOM:!0}),I=await this.serializer.convertToEntities(v.map((A)=>Ju({...A,id:w.decode(A.id)})),n);return s?.throwIfAborted(),{prefix:l,folders:d.map((A)=>{let L=w.decode(A.name);return{path:l?[l[0],...l.slice(1),L]:[L],name:L,descendantCount:Number(A.count)}}),entities:I.map((A)=>({entity:A,path:HO(A.id)})),offset:i,totalEntities:Number(f[0]?.count??0)}}buildWhereConditions(e,t,n,r,o,i,s){let c=[O(_.entityType,e)];if(t){let u=S`json_extract(${_.metadata}, '$.status')`;if(o&&o.length>0)c.push(S`${u} IN (${S.join(o.map((p)=>S`${p}`),S`, `)})`);else c.push(S`(${u} = 'published' OR ${u} = 'active' OR ${u} IS NULL)`)}let l=r??"public";if(l!=="restricted")c.push(It(_.visibility,ks(l)));if(s)c.push(O(_.visibility,s));if(i?.trim())c.push(XQ(i));if(n){for(let[u,p]of Object.entries(n))if(p!==void 0){let d=`$.${u}`;c.push(S`json_extract(${_.metadata}, ${d}) = ${p}`)}}return c}buildOrderByClauses(e){if(!e||e.length===0)return[dn(_.updated)];return e.flatMap(({field:t,direction:n,nullsFirst:r})=>{let o=n==="desc"?dn:st;if(t==="id")return[o(_.id)];if(t==="created"){let s=_.created;if(r)return[st(sl(s)),o(s)];return[o(s)]}if(t==="updated"){let s=_.updated;if(r)return[st(sl(s)),o(s)];return[o(s)]}let i=S`json_extract(${_.metadata}, '$.' || ${t})`;if(r)return[st(sl(i)),o(i)];return[o(i)]})}async countEntities(e,t={},n){let r=Tw.parse(t),o=this.buildWhereConditions(e,r.publishedOnly,r.filter?.metadata,r.filter?.visibilityScope,n,r.filter?.contentContains,r.filter?.visibility),i=await this.db.select({count:S`COUNT(*)`}).from(_).where(oe(...o));return Number(i[0]?.count??0)}async getEntityCounts(e){this.logger.debug("Getting entity counts by type");let t=e??"public",n=[];if(t!=="restricted")n.push(It(_.visibility,ks(t)));let r=this.db.select({entityType:_.entityType,count:S`COUNT(*)`.as("count")}).from(_),o=await(n.length>0?r.where(oe(...n)).groupBy(_.entityType):r.groupBy(_.entityType));return this.logger.debug(`Found ${o.length} entity types`),o.map((i)=>({entityType:i.entityType,count:Number(i.count)}))}async entityExists(e,t){return(await this.db.select({id:_.id}).from(_).where(oe(O(_.entityType,e),O(_.id,t))).limit(1)).length>0}async deleteEntity(e,t){if(this.logger.debug(`Deleting entity of type ${e} with ID ${t}`),!await this.entityExists(e,t))return this.logger.debug(`Entity of type ${e} with ID ${t} not found for deletion`),!1;return await this.embeddingDb.delete(Hn).where(oe(O(Hn.entityType,e),O(Hn.entityId,t))),await this.db.run(S`DELETE FROM entity_fts WHERE entity_id = ${t} AND entity_type = ${e}`),await this.db.delete(_).where(oe(O(_.entityType,e),O(_.id,t))),this.logger.debug(`Deleted entity of type ${e} with ID ${t}`),!0}}import{webcrypto as tK}from"crypto";var eK="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var uve=128,ul,um;function pve(e){if(e<0)throw RangeError("Wrong ID size");try{if(!ul||ul.length<e)ul=Buffer.allocUnsafe(e*uve),tK.getRandomValues(ul),um=0;else if(um+e>ul.length)tK.getRandomValues(ul),um=0}catch(t){throw ul=void 0,t}um+=e}function GO(e=21){pve(e|=0);let t="";for(let n=um-e;n<um;n++)t+=eK[ul[n]&63];return t}function At(e=12){return GO(e)}function W2e(e){return`${e}_${GO(12)}`}var dve=a.object({id:a.string().min(1),entityType:a.string().min(1),contentHash:a.string().min(1)});function mve(e){try{let t=dve.parse(JSON.parse(e.data));return{entityId:t.id,entityType:t.entityType,contentHash:t.contentHash}}catch{return null}}function nK(e){return`${e.entityType}:${e.entityId}:${e.contentHash}`}class QO{entityDb;embeddingDb;entityRegistry;jobQueueService;logger;embeddingsEnabled;constructor(e){this.entityDb=e.entityDb,this.embeddingDb=e.embeddingDb,this.entityRegistry=e.entityRegistry,this.jobQueueService=e.jobQueueService,this.logger=e.logger,this.embeddingsEnabled=e.embeddingsEnabled}async deleteEmbedding(e,t){await this.embeddingDb.delete(Hn).where(oe(O(Hn.entityType,e),O(Hn.entityId,t)))}async store(e){await this.embeddingDb.insert(Hn).values({entityId:e.entityId,entityType:e.entityType,embedding:e.embedding,contentHash:e.contentHash}).onConflictDoUpdate({target:[Hn.entityId,Hn.entityType],set:{embedding:e.embedding,contentHash:e.contentHash}})}async backfillMissing(){if(!this.embeddingsEnabled)return this.logger.debug("Skipping embedding backfill; semantic indexing is disabled"),{queued:0,skipped:0};let e=await this.getBackfillCandidates();if(e.tableMissing)return this.logger.debug("Skipping embedding backfill; entities table missing"),{queued:0,skipped:0};let t=0,n=e.skipped;for(let r of e.rowsToBackfill)if((await this.enqueue({entityId:r.id,entityType:r.entityType,contentHash:r.contentHash,operation:"update"})).jobId)t++;else n++;return{queued:t,skipped:n}}async getIndexStats(){let e=await this.getBackfillCandidates();return{missingEmbeddings:e.missingEmbeddings,staleEmbeddings:e.staleEmbeddings,failedEmbeddings:e.failedEmbeddings,embeddableEntities:e.embeddableEntities,embeddedEntities:e.embeddedEntities}}async enqueue(e){let{entityId:t,entityType:n,contentHash:r,operation:o,priority:i,maxRetries:s,eventContext:c}=e,l=this.entityRegistry.getEntityTypeConfig(n);if(!this.embeddingsEnabled||l.embeddable===!1)return this.logger.debug(`Skipping embedding for ${this.embeddingsEnabled?"non-embeddable entity type":"disabled indexing"}: ${n}:${t}`),{entityId:t,jobId:"",skipped:!1};let u={id:t,entityType:n,contentHash:r,operation:o},p=await this.jobQueueService.enqueue({type:Ms.embedding,data:u,options:{...i!==void 0&&{priority:i},...s!==void 0&&{maxRetries:s},source:"entity-service",deduplication:"coalesce",deduplicationKey:`embedding:${n}:${t}:${r}`,metadata:{operationType:"data_processing",operationTarget:t,...c?.interfaceType?{interfaceType:c.interfaceType,requestedByInterface:c.interfaceType}:{},...c?.actor?{requestedByActor:c.actor,...c.actor.kind==="user"?{requestedByUserId:c.actor.userId}:{}}:{},silent:!0}}});return this.logger.debug(`Queued embedding job for ${n}:${t} (job: ${p})`),{entityId:t,jobId:p,skipped:!1}}async getBackfillCandidates(){if(!await this.hasEntityTable())return{tableMissing:!0,skipped:0,rowsToBackfill:[],missingEmbeddings:0,staleEmbeddings:0,failedEmbeddings:0,embeddableEntities:0,embeddedEntities:0};let e=await this.getFailedEmbeddingKeys(),t=await this.entityDb.select({id:_.id,entityType:_.entityType,contentHash:_.contentHash}).from(_),n=await this.embeddingDb.select({entityId:Hn.entityId,entityType:Hn.entityType,contentHash:Hn.contentHash}).from(Hn),r=new Map;for(let d of n)r.set(`${d.entityType}:${d.entityId}`,d.contentHash);let o=[],i=0,s=0,c=0,l=0,u=0,p=0;for(let d of t){if(this.entityRegistry.getEntityTypeConfig(d.entityType).embeddable===!1){i++;continue}u++;let f=nK({entityId:d.id,entityType:d.entityType,contentHash:d.contentHash}),v=e.has(f),w=r.get(`${d.entityType}:${d.id}`);if(w===void 0){if(v)l++,i++;else s++,o.push(d);continue}if(w!==d.contentHash){if(v)l++,i++;else c++,o.push(d);continue}p++,i++}return{tableMissing:!1,skipped:i,rowsToBackfill:o,missingEmbeddings:s,staleEmbeddings:c,failedEmbeddings:l,embeddableEntities:u,embeddedEntities:p}}async getFailedEmbeddingKeys(){let e=await this.jobQueueService.getFailedJobs([Ms.embedding]),t=new Set;for(let n of e){let r=mve(n);if(r)t.add(nK(r))}return t}async hasEntityTable(){return(await this.entityDb.all(S`SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'entities'`)).length>0}}var Cw=a.object({expectedRevision:a.string().min(1).nullable()});class _s extends Error{constructor(e,t){super(`Entity write conflict: ${e}/${t}`);this.name="EntityWriteConflictError"}}async function KO(e,t,n){if(n.entityType!==t.entityType||n.id!==t.entityId)throw Error("Entity validation changed the conditional write destination");let o=(await e.select().from(_).where(oe(O(_.entityType,t.entityType),O(_.id,t.entityId))).limit(1))[0];if((o?$i(Ju(o)):null)!==t.expectedRevision)throw new _s(t.entityType,t.entityId)}async function Ew(e,t,n){try{await e.getPersistValidator(t.entityType)?.(t,{operation:n})}catch(r){throw Yd(t.entityType,r,"persist")??r}}function fve(e){for(let t=e;t instanceof Error;t=t.cause)if(t.message.includes("UNIQUE constraint failed")||t.message.includes("SQLITE_CONSTRAINT"))return!0;return!1}class YO extends Error{}class XO{db;entityRegistry;entitySerializer;entityQueries;messageBus;mutationAdmission;projectionStore;assetRepository;entityExportStore;projectionNow;embeddingIndex;projectionWakeup;logger;constructor(e){if(this.db=e.db,this.entityRegistry=e.entityRegistry,this.entitySerializer=e.entitySerializer,this.entityQueries=e.entityQueries,this.projectionStore=e.projectionStore,this.assetRepository=e.assetRepository,this.entityExportStore=e.entityExportStore,this.projectionNow=e.projectionNow,this.logger=e.logger.child("EntityMutations"),this.embeddingIndex=new QO({entityDb:e.db,embeddingDb:e.embeddingDb,entityRegistry:e.entityRegistry,jobQueueService:e.jobQueueService,logger:this.logger,embeddingsEnabled:e.embeddingsEnabled}),e.messageBus)this.messageBus=e.messageBus;if(e.mutationAdmission)this.mutationAdmission=e.mutationAdmission}setProjectionWakeup(e){this.projectionWakeup=e;let t=!0;return()=>{if(!t)return;if(t=!1,this.projectionWakeup===e)this.projectionWakeup=void 0}}async createEntity(e){let{entity:t,options:n,preparedAsset:r}=e;n?.signal?.throwIfAborted();let o=n?.conditionalWrite&&Cw.parse(n.conditionalWrite);if(o&&(o.expectedRevision!==null||n.deduplicateId||!t.id))throw Error("Conditional creation requires an explicit ID, an absent precondition, and no deduplication");let i=o?{...o,entityType:t.entityType,entityId:t.id??""}:void 0;this.logger.debug(`Creating entity asynchronously of type: ${t.entityType}`);let s=new Date().toISOString(),c={...t,id:t.id??At(),created:t.created??s,updated:t.updated??s,contentHash:Os(t.content)},l=this.entityRegistry.validateEntity(t.entityType,c);await Ew(this.entityRegistry,l,"create"),n?.signal?.throwIfAborted();let{markdown:u,metadata:p}=this.entitySerializer.prepareEntityForStorage(l,l.entityType),d=Os(u),g=this.stageAsset(l.entityType,l.content,u,r),f=l.id;if(n?.deduplicateId)f=await this.resolveUniqueId(l.id,l.entityType);return await this.mutationAdmission?.assertMutationAdmission({operation:"create",entityType:l.entityType,entityId:f}),await this.projectionStore.withDirtyInput({sourceType:l.entityType,sourceId:f,revision:$i({contentHash:d,metadata:p,visibility:l.visibility}),operation:"upsert",markedAt:this.projectionNow()},async(v)=>{if(i)await KO(v,i,l);await this.bindAssetContent(v,l.entityType,u,g),await n?.beforeWrite?.({...l,id:f,content:u,contentHash:d,metadata:p}),n?.signal?.throwIfAborted(),await v.insert(_).values({id:f,entityType:l.entityType,content:u,contentHash:d,visibility:l.visibility,metadata:p,created:new Date(l.created).getTime(),updated:new Date(l.updated).getTime()}),await this.syncFtsIndex(v,f,l.entityType,u),await this.persistEntityExport(v,{entityType:l.entityType,entityId:f,operation:"upsert"},n?.persistenceOrigin)}),await this.notifyProjectionScheduler(),this.logger.debug(`Persisted entity ${l.entityType}:${f} immediately`),await this.emitEntityEvent(Ua.created,l.entityType,f,{...l,id:f},void 0,n?.eventContext),this.embeddingIndex.enqueue({entityId:f,entityType:l.entityType,contentHash:d,operation:"create",...n?.priority!==void 0&&{priority:n.priority},...n?.maxRetries!==void 0&&{maxRetries:n.maxRetries},...n?.eventContext&&{eventContext:n.eventContext}})}async updateEntity(e){let{entity:t,options:n,preparedAsset:r}=e;n?.signal?.throwIfAborted();let o=n?.conditionalWrite&&Cw.parse(n.conditionalWrite);if(o&&(o.expectedRevision===null||n.expectedContentHash!==void 0))throw Error("Conditional replacement requires a revision and cannot combine preconditions");let i=o?{...o,entityType:t.entityType,entityId:t.id}:void 0;this.logger.debug(`Updating entity asynchronously: ${t.entityType} with ID ${t.id}`);let s={...t,updated:new Date().toISOString(),contentHash:Os(t.content)},c=this.entityRegistry.validateEntity(t.entityType,s);await Ew(this.entityRegistry,c,"update"),n?.signal?.throwIfAborted();let{markdown:l,metadata:u}=this.entitySerializer.prepareEntityForStorage(c,c.entityType),p=Os(l),g=(await this.db.select({contentHash:_.contentHash,visibility:_.visibility,metadata:_.metadata}).from(_).where(oe(O(_.id,c.id),O(_.entityType,c.entityType))).limit(1)).at(0);if(!g){if(i)throw new _s(i.entityType,i.entityId);throw Error(`Entity not found: ${c.entityType}:${c.id}`)}if(n?.expectedContentHash!==void 0&&g.contentHash!==n.expectedContentHash)return this.logger.debug(`Skipping stale update for ${c.entityType}:${c.id}`),{entityId:c.id,jobId:"",skipped:!0,skipReason:"content-conflict"};let f=this.stageAsset(c.entityType,c.content,l,r);if(!i&&g.contentHash===p&&g.visibility===c.visibility&&Wu(g.metadata)===Wu(u)){if(await this.projectionStore.transferEntityAuthority({entityType:c.entityType,id:c.id},async(v)=>(n?.signal?.throwIfAborted(),await this.bindAssetContent(v,c.entityType,l,f),n?.signal?.throwIfAborted(),await this.pruneFtsIndexIfExcluded(v,c.id,c.entityType),this.persistEntityExport(v,{entityType:c.entityType,entityId:c.id,operation:"upsert"},n?.persistenceOrigin))),this.logger.debug(`Skipping no-op update for ${c.entityType}:${c.id}`),n?.eventContext)await this.emitEntityEvent(Ua.updated,c.entityType,c.id,c,g.metadata,n.eventContext);return{entityId:c.id,jobId:"",skipped:!0}}await this.mutationAdmission?.assertMutationAdmission({operation:"update",entityType:c.entityType,entityId:c.id});try{await this.projectionStore.withDirtyInput({sourceType:c.entityType,sourceId:c.id,revision:$i({contentHash:p,metadata:u,visibility:c.visibility}),operation:"upsert",markedAt:this.projectionNow()},async(v)=>{if(i)await KO(v,i,c);await this.bindAssetContent(v,c.entityType,l,f),await n?.beforeWrite?.({...c,content:l,contentHash:p,metadata:u}),n?.signal?.throwIfAborted();let w=await v.update(_).set({content:l,contentHash:p,visibility:c.visibility,metadata:u,updated:new Date(c.updated).getTime()}).where(oe(O(_.id,c.id),O(_.entityType,c.entityType),n?.expectedContentHash!==void 0?O(_.contentHash,n.expectedContentHash):void 0));if((o||n?.expectedContentHash!==void 0)&&Number(w.rowsAffected)===0){if(i)throw new _s(i.entityType,i.entityId);throw new YO}await this.syncFtsIndex(v,c.id,c.entityType,l),await this.persistEntityExport(v,{entityType:c.entityType,entityId:c.id,operation:"upsert"},n?.persistenceOrigin)})}catch(v){if(!(v instanceof YO))throw v;return this.logger.debug(`Skipping concurrently stale update for ${c.entityType}:${c.id}`),{entityId:c.id,jobId:"",skipped:!0,skipReason:"content-conflict"}}return await this.notifyProjectionScheduler(),this.logger.debug(`Updated entity ${c.entityType}:${c.id} immediately`),await this.emitEntityEvent(Ua.updated,c.entityType,c.id,c,g.metadata,n?.eventContext),this.embeddingIndex.enqueue({entityId:c.id,entityType:c.entityType,contentHash:p,operation:"update",...n?.priority!==void 0&&{priority:n.priority},...n?.maxRetries!==void 0&&{maxRetries:n.maxRetries},...n?.eventContext&&{eventContext:n.eventContext}})}async deleteEntity(e){let{entityType:t,id:n,options:r}=e,o=await this.entityQueries.getEntityData(t,n,"restricted"),i=o?await this.entitySerializer.convertToEntity(o)??void 0:void 0;if(o)await this.mutationAdmission?.assertMutationAdmission({operation:"delete",entityType:t,entityId:n});if(!o)return!1;return await this.embeddingIndex.deleteEmbedding(t,n),await this.projectionStore.withDirtyInput({sourceType:t,sourceId:n,revision:`deleted:${$i({contentHash:o.contentHash,metadata:o.metadata,visibility:o.visibility})}`,operation:"delete",markedAt:this.projectionNow()},async(s)=>{await s.run(S`DELETE FROM entity_fts WHERE entity_id = ${n} AND entity_type = ${t}`),await s.delete(_).where(oe(O(_.entityType,t),O(_.id,n))),await this.persistEntityExport(s,{entityType:t,entityId:n,operation:"delete"},r?.persistenceOrigin)}),await this.notifyProjectionScheduler(),await this.emitEntityEvent(Ua.deleted,t,n,i,void 0,r?.eventContext),!0}async upsertEntity(e){let{entity:t,options:n,preparedAsset:r}=e;if(this.logger.debug(`Upserting entity of type ${t.entityType} with ID ${t.id}`),await this.entityQueries.entityExists(t.entityType,t.id))return{...await this.updateEntity({entity:t,...r!==void 0&&{preparedAsset:r},...n!==void 0&&{options:n}}),created:!1};try{return{...await this.createEntity({entity:t,...r!==void 0&&{preparedAsset:r},...n!==void 0&&{options:n}}),created:!0}}catch(i){if(!fve(i))throw i;return this.logger.debug(`Entity ${t.entityType}:${t.id} was created concurrently, updating instead`),{...await this.updateEntity({entity:t,...r!==void 0&&{preparedAsset:r},...n!==void 0&&{options:n}}),created:!1}}}async reconcileProjectionTargets(e){await Promise.all(e.map(async(t)=>{if(t.operation==="delete"){await this.emitEntityEvent(Ua.deleted,t.entityType,t.entityId),await this.embeddingIndex.deleteEmbedding(t.entityType,t.entityId);return}if(!t.contentHash)throw Error(`Projection target ${t.entityType}:${t.entityId} has no content hash`);await this.emitEntityEvent(Ua.updated,t.entityType,t.entityId),await this.embeddingIndex.enqueue({entityId:t.entityId,entityType:t.entityType,contentHash:t.contentHash,operation:"update"})}))}async storeEmbedding(e){await this.embeddingIndex.store(e)}async backfillMissingEmbeddings(){return this.embeddingIndex.backfillMissing()}async getEmbeddingIndexStats(){return this.embeddingIndex.getIndexStats()}stageAsset(e,t,n,r){let o=this.entityRegistry.getEntityTypeConfig(e).binaryStorage==="asset";if(!r)return;if(!o)throw Error(`Entity type ${e} is not registered for asset-backed storage`);if(t!==r.ref||n!==r.ref)throw Error(`Prepared asset ${r.ref} does not match canonical ${e} content`);return this.assetRepository.stage(r)}async bindAssetContent(e,t,n,r){if(this.entityRegistry.getEntityTypeConfig(t).binaryStorage!=="asset")return;await this.assetRepository.bindEntityContent(e,n,r)}async syncFtsIndex(e,t,n,r){if(await this.deleteFtsIndex(e,t,n),!this.isFullTextSearchable(n))return;await e.run(S`INSERT INTO entity_fts (entity_id, entity_type, content) VALUES (${t}, ${n}, ${r})`)}async pruneFtsIndexIfExcluded(e,t,n){if(this.isFullTextSearchable(n))return;await this.deleteFtsIndex(e,t,n)}async deleteFtsIndex(e,t,n){await e.run(S`DELETE FROM entity_fts WHERE entity_id = ${t} AND entity_type = ${n}`)}isFullTextSearchable(e){return this.entityRegistry.getEntityTypeConfig(e).fullTextSearchable!==!1}async resolveUniqueId(e,t){if(!await this.entityQueries.entityExists(t,e))return e;for(let o=2;o<=100;o++){let i=`${e}-${o}`;if(!await this.entityQueries.entityExists(t,i))return this.logger.debug(`Deduplicated entity ID: ${e} \u2192 ${i}`),i}let r=`${e}-${At().slice(0,8)}`;return this.logger.warn(`Could not deduplicate entity ID after 100 attempts, using random suffix: ${r}`),r}async wakeProjectionScheduler(){await this.notifyProjectionScheduler()}async notifyProjectionScheduler(){try{await this.projectionWakeup?.()}catch(e){this.logger.error("Failed to wake projection scheduler",e)}}async emitEntityEvent(e,t,n,r,o,i){if(!this.messageBus)return;this.logger.debug(`Emitting ${e} for ${t}:${n}`);let s={entityType:t,entityId:n,...i?.conversationId?{conversationId:i.conversationId}:{},...i?.channelId?{channelId:i.channelId}:{},...i?.runId?{runId:i.runId}:{},...i?.toolCallId?{toolCallId:i.toolCallId}:{},...i?.actor?{actor:i.actor}:{},...i?.interfaceType?{interfaceType:i.interfaceType}:{}};if(r)s.entity=r;if(o)s.previousMetadata=o;try{await this.messageBus.send({type:e,payload:s,sender:"entity-service",broadcast:!0})}catch(c){this.logger.error(`Failed to publish ${e} for ${t}:${n}`,c)}}async persistEntityExport(e,t,n){if(n==="directory-sync"){await this.entityExportStore.clear(e,t);return}await this.entityExportStore.record(e,{...t,markedAt:this.projectionNow()})}}class qh{db;now;constructor(e,t=Date.now){this.db=e,this.now=t}async record(e,t){await this.upsert(e,t)}async clear(e,t){await e.delete(Wn).where(oe(O(Wn.entityType,t.entityType),O(Wn.entityId,t.entityId)))}list(){return this.db.select().from(Wn).orderBy(st(Wn.markedAt),st(Wn.entityType),st(Wn.entityId))}async hasPending(){return(await this.db.select({entityId:Wn.entityId}).from(Wn).limit(1)).length>0}async acknowledge(e){if(e.length===0)return 0;let t=e.map((r)=>oe(O(Wn.entityType,r.entityType),O(Wn.entityId,r.entityId),O(Wn.revision,r.revision))),n=await this.db.delete(Wn).where(fr(...t));return Number(n.rowsAffected)}async upsert(e,t){let n={entityType:t.entityType,entityId:t.entityId,operation:t.operation,revision:At(),markedAt:t.markedAt??this.now()};await e.insert(Wn).values(n).onConflictDoUpdate({target:[Wn.entityType,Wn.entityId],set:{operation:n.operation,revision:n.revision,markedAt:n.markedAt}})}}import{AsyncLocalStorage as xve}from"async_hooks";var gve=a.strictObject({source:a.string().trim().min(1).max(100),operationId:a.string().trim().min(1).max(200)}),hve=a.strictObject({source:a.string().trim().min(1).max(100),operationId:a.string().trim().min(1).max(200),rootJobId:a.string().trim().min(1).max(200),expectedChildren:a.number().int().positive().max(1e4)}),yve=a.strictObject({source:a.string().trim().min(1).max(100),operationId:a.string().trim().min(1).max(200),rootJobId:a.string().trim().min(1).max(200),expectedChildren:a.number().int().positive().max(1e4),childKey:a.string().trim().min(1).max(200),jobId:a.string().trim().min(1).max(200)}),bve=a.strictObject({operationId:a.string().trim().min(1).max(200),childKey:a.string().trim().min(1).max(200),jobId:a.string().trim().min(1).max(200),outcome:a.enum(["completed","failed"])});function rK(e){return gve.parse(e)}function oK(e){return hve.parse(e)}function iK(e){return yve.parse(e)}function sK(e){return bve.parse(e)}var In=Bt("projection_admission_state",{id:qe("id").primaryKey(),epoch:qe("epoch").notNull().default(0)}),be=Bt("projection_batches",{id:le("id").primaryKey(),source:le("source").notNull(),operationId:le("operation_id").notNull(),status:le("status",{enum:["preparing","open","closed","abandoned"]}).notNull(),ownerKind:le("owner_kind",{enum:["callback","job-root"]}).notNull(),ownerToken:le("owner_token").notNull(),rootJobId:le("root_job_id"),expectedChildren:qe("expected_children").notNull().default(0),enqueueComplete:qe("enqueue_complete").notNull().default(0),enqueueFailed:qe("enqueue_failed").notNull().default(0),openedAt:qe("opened_at").notNull(),lastProgressAt:qe("last_progress_at").notNull(),leaseExpiresAt:qe("lease_expires_at"),terminalAt:qe("terminal_at"),recoveredAt:qe("recovered_at"),firstGeneration:qe("first_generation"),highestGeneration:qe("highest_generation"),mutationCount:qe("mutation_count").notNull().default(0),recoveryGeneration:qe("recovery_generation")},(e)=>({operationIdx:dO("projection_batches_operation_idx").on(e.source,e.operationId),admissionIdx:Ft("projection_batches_admission_idx").on(e.status,e.openedAt),rootJobIdx:Ft("projection_batches_root_job_idx").on(e.rootJobId),recoveryIdx:Ft("projection_batches_recovery_idx").on(e.recoveredAt,e.recoveryGeneration)})),yn=Bt("projection_batch_children",{batchId:le("batch_id").notNull().references(()=>be.id,{onDelete:"cascade"}),childKey:le("child_key").notNull(),jobId:le("job_id"),status:le("status",{enum:["expected","active","completed","failed","missing"]}).notNull().default("expected"),terminalAt:qe("terminal_at")},(e)=>({pk:Ao({columns:[e.batchId,e.childKey]}),jobIdx:dO("projection_batch_children_job_idx").on(e.jobId),statusIdx:Ft("projection_batch_children_status_idx").on(e.batchId,e.status)}));var Sve=5000,aK=30000,Iw=30000,vve=1e4;class Ha extends Error{}class eD{db;transactions;now;readRecoveryGeneration;batchScope=new xve;constructor(e){this.db=e.db,this.transactions=e.transactions,this.now=e.now,this.readRecoveryGeneration=e.getRecoveryGeneration}assertBatchIdentity(e,t){if(e.source!==t.source||e.operationId!==t.operationId)throw new Ha(`Projection batch "${t.operationId}" cannot join active batch "${e.operationId}"`)}async runBulkMutation(e,t){let n=rK(e),r=this.batchScope.getStore();if(r)return this.assertBatchIdentity(r,n),t();let o=await this.openCallbackBatch(n),i=setInterval(()=>{this.renewCallbackBatch(o).catch(()=>{})},vve);i.unref();try{return await this.batchScope.run(o,t)}finally{clearInterval(i),await this.closeCallbackBatch(o)}}async prepareDurableBulkMutation(e){let t=oK(e),n=this.now();await this.runTransaction(async(r)=>{let i=(await r.select().from(be).where(oe(O(be.source,t.source),O(be.operationId,t.operationId))).limit(1))[0];if(i){if((i.status==="preparing"||i.status==="open")&&i.rootJobId===t.rootJobId&&i.expectedChildren===t.expectedChildren)return;throw new Ha(`Durable projection batch "${t.operationId}" cannot be prepared`)}await r.insert(In).values({id:1,epoch:0}).onConflictDoNothing({target:In.id}),await r.update(In).set({epoch:S`${In.epoch} + 1`}).where(O(In.id,1)),await r.insert(be).values({id:At(),source:t.source,operationId:t.operationId,status:"preparing",ownerKind:"job-root",ownerToken:At(),rootJobId:t.rootJobId,expectedChildren:t.expectedChildren,enqueueComplete:0,enqueueFailed:0,openedAt:n,lastProgressAt:n,leaseExpiresAt:n+Iw})})}async finalizeDurableBulkMutationEnqueue(e){let t=a.string().trim().min(1).max(200).parse(e),n=this.now();await this.runBatchStateWrite(()=>this.db.update(be).set({status:"open",enqueueComplete:1,lastProgressAt:n,leaseExpiresAt:null}).where(oe(O(be.operationId,t),It(be.status,["preparing","open"]))))}async failDurableBulkMutationEnqueue(e){let t=a.string().trim().min(1).max(200).parse(e),n=this.now();await this.runBatchStateWrite(()=>this.db.update(be).set({enqueueComplete:1,enqueueFailed:1,lastProgressAt:n,leaseExpiresAt:null}).where(oe(O(be.operationId,t),It(be.status,["preparing","open"]))))}async runDurableBulkMutationChild(e,t){let n=iK(e),r=this.batchScope.getStore();if(r)return this.assertBatchIdentity(r,n),t();let o=await this.openDurableBatchChild(n);return this.batchScope.run(o,t)}async settleDurableBulkMutationChild(e){let t=sK(e),n=this.now();return this.runTransaction(async(r)=>{let i=(await r.select().from(be).where(oe(O(be.operationId,t.operationId),O(be.ownerKind,"job-root"))).limit(1))[0];if(!i||i.status==="closed"||i.status==="abandoned")return!1;if((await r.update(yn).set({status:t.outcome,terminalAt:n}).where(oe(O(yn.batchId,i.id),O(yn.childKey,t.childKey),O(yn.jobId,t.jobId))).returning({childKey:yn.childKey})).length===0)return!1;let c=await r.select({total:S`count(*)`}).from(yn).where(oe(O(yn.batchId,i.id),It(yn.status,["completed","failed"])));if(Number(c[0]?.total??0)<i.expectedChildren)return!1;let l=await r.select({total:S`count(*)`}).from(yn).where(oe(O(yn.batchId,i.id),O(yn.status,"failed"))),u=Number(l[0]?.total??0)>0;return await this.transitionProjectionBatchToTerminal(r,i,{abandoned:u,terminalAt:n,fenceOwner:!1,clearLease:!0}),!0})}async recoverProjectionBatches(e){let t=this.now(),r=(await this.db.select({id:be.id}).from(be).where(oe(O(be.ownerKind,"callback"),O(be.status,"open"),Dr(be.leaseExpiresAt,t)))).length===0?0:await this.runTransaction(async(s)=>{let c=await s.select().from(be).where(oe(O(be.ownerKind,"callback"),O(be.status,"open"),Dr(be.leaseExpiresAt,t)));for(let l of c){let u=await this.getRecoveryGeneration(s,l.highestGeneration??0);await s.update(be).set({status:"abandoned",ownerToken:At(),terminalAt:t,lastProgressAt:t,leaseExpiresAt:null,recoveryGeneration:u,recoveredAt:l.highestGeneration===null?t:null}).where(oe(O(be.id,l.id),O(be.ownerToken,l.ownerToken),O(be.status,"open")))}return c.length}),o=await this.db.select().from(be).where(oe(O(be.ownerKind,"job-root"),It(be.status,["preparing","open"]))),i=0;for(let s of o){if(!s.rootJobId)continue;let c=await e(s.rootJobId,s.operationId),l=c.some((f)=>f.status==="pending"||f.status==="processing"),u=c.every((f)=>f.terminalAt!==null&&f.terminalAt<=t-Sve),p=c.length>=s.expectedChildren,d=t-s.openedAt>=aK;if(l||!u||!p&&!d)continue;if(await this.reconcileDurableRoot(s.id,c,t))i++}return await this.cleanupProjectionBatches(),{fencedCallbacks:r,releasedDurableRoots:i}}async cleanupProjectionBatches(e=604800000,t=100){let n=a.number().int().nonnegative().parse(e),r=a.number().int().nonnegative().max(1e4).parse(t),o=fr(O(be.status,"closed"),oe(O(be.status,"abandoned"),sl(be.recoveredAt))),i=await this.db.select({id:be.id}).from(be).where(oe(o,Dr(be.terminalAt,this.now()-n))),s=await this.db.select({id:be.id}).from(be).where(o).orderBy(dn(be.terminalAt)).limit(1e4).offset(r),c=[...new Set([...i,...s].map(({id:u})=>u))];if(c.length===0)return 0;return(await this.db.delete(be).where(It(be.id,c)).returning({id:be.id})).length}async reconcileDurableRoot(e,t,n){return this.runTransaction(async(r)=>{let i=(await r.select().from(be).where(O(be.id,e)).limit(1))[0];if(!i||i.status!=="open"&&i.status!=="preparing")return!1;for(let p of t){let d=p.status==="completed"?"completed":p.status==="failed"?"failed":"active";await r.insert(yn).values({batchId:e,childKey:p.childKey,jobId:p.jobId,status:d,...d==="completed"||d==="failed"?{terminalAt:n}:{}}).onConflictDoUpdate({target:[yn.batchId,yn.childKey],set:{jobId:p.jobId,status:d,terminalAt:d==="completed"||d==="failed"?n:null}})}let s=t.some((p)=>p.status==="pending"||p.status==="processing"),c=t.length>=i.expectedChildren&&!s,l=!s&&t.length<i.expectedChildren&&n-i.openedAt>=aK;if(!c&&!l)return!1;let u=l||t.some((p)=>p.status==="failed");return await this.transitionProjectionBatchToTerminal(r,i,{abandoned:u,terminalAt:n,fenceOwner:!0,clearLease:!1}),!0})}async transitionProjectionBatchToTerminal(e,t,n){let r=n.abandoned?await this.getRecoveryGeneration(e,t.highestGeneration??0):null;await e.update(be).set({status:n.abandoned?"abandoned":"closed",ownerToken:n.abandoned&&n.fenceOwner?At():t.ownerToken,terminalAt:n.terminalAt,lastProgressAt:n.terminalAt,leaseExpiresAt:n.clearLease?null:t.leaseExpiresAt,recoveryGeneration:r,recoveredAt:n.abandoned&&t.highestGeneration===null?n.terminalAt:null}).where(O(be.id,t.id))}async getProjectionBatchDiagnostics(){let e=this.now(),t=await this.db.select({status:be.status,ownerKind:be.ownerKind,openedAt:be.openedAt,lastProgressAt:be.lastProgressAt,leaseExpiresAt:be.leaseExpiresAt,recoveredAt:be.recoveredAt}).from(be).where(It(be.status,["preparing","open","abandoned"])),n=t.filter((r)=>r.status==="preparing"||r.status==="open");return{preparing:t.filter((r)=>r.status==="preparing").length,open:t.filter((r)=>r.status==="open").length,abandoned:t.filter((r)=>r.status==="abandoned"&&r.recoveredAt===null).length,expiredCallbackLeases:n.filter((r)=>r.ownerKind==="callback"&&r.leaseExpiresAt!==null&&r.leaseExpiresAt<=e).length,oldestActiveAgeMs:n.length===0?null:Math.max(0,e-Math.min(...n.map((r)=>r.openedAt))),oldestProgressAgeMs:n.length===0?null:Math.max(0,e-Math.min(...n.map((r)=>r.lastProgressAt)))}}async openDurableBatchChild(e){let t=this.now();return this.runTransaction(async(n)=>{let r=(await n.select().from(be).where(oe(O(be.source,e.source),O(be.operationId,e.operationId))).limit(1))[0];if(!r)await n.insert(In).values({id:1,epoch:0}).onConflictDoNothing({target:In.id}),await n.update(In).set({epoch:S`${In.epoch} + 1`}).where(O(In.id,1)),r=(await n.insert(be).values({id:At(),source:e.source,operationId:e.operationId,status:"open",ownerKind:"job-root",ownerToken:At(),rootJobId:e.rootJobId,expectedChildren:e.expectedChildren,enqueueComplete:1,enqueueFailed:0,openedAt:t,lastProgressAt:t}).returning())[0];if(r?.status!=="preparing"&&r?.status!=="open"||r.ownerKind!=="job-root"||r.rootJobId!==e.rootJobId||r.expectedChildren!==e.expectedChildren)throw new Ha(`Durable projection batch "${e.operationId}" is not open for this owner`);let i=(await n.select().from(yn).where(oe(O(yn.batchId,r.id),O(yn.childKey,e.childKey))).limit(1))[0];if(i&&(i.status==="completed"||i.status==="failed"||i.status==="missing"))throw new Ha(`Durable projection batch child "${e.childKey}" is terminal`);return await n.insert(yn).values({batchId:r.id,childKey:e.childKey,jobId:e.jobId,status:"active"}).onConflictDoUpdate({target:[yn.batchId,yn.childKey],set:{jobId:e.jobId,status:"active",terminalAt:null}}),await n.update(be).set({status:"open",lastProgressAt:t,leaseExpiresAt:null}).where(O(be.id,r.id)),{batchId:r.id,source:r.source,operationId:r.operationId,ownerToken:r.ownerToken}})}async openCallbackBatch(e){let t={batchId:At(),source:e.source,operationId:e.operationId,ownerToken:At()},n=this.now();return await this.runTransaction(async(r)=>{await r.insert(In).values({id:1,epoch:0}).onConflictDoNothing({target:In.id}),await r.update(In).set({epoch:S`${In.epoch} + 1`}).where(O(In.id,1)),await r.insert(be).values({id:t.batchId,source:t.source,operationId:t.operationId,status:"open",ownerKind:"callback",ownerToken:t.ownerToken,expectedChildren:0,enqueueComplete:1,enqueueFailed:0,openedAt:n,lastProgressAt:n,leaseExpiresAt:n+Iw})}),t}async renewCallbackBatch(e){let t=this.now();if((await this.db.update(be).set({lastProgressAt:t,leaseExpiresAt:t+Iw}).where(oe(O(be.id,e.batchId),O(be.ownerToken,e.ownerToken),O(be.status,"open"))).returning({id:be.id})).length===0)throw new Ha(`Projection batch "${e.batchId}" no longer owns its fence`)}async closeCallbackBatch(e){let t=this.now();await this.db.update(be).set({status:"closed",terminalAt:t,lastProgressAt:t,leaseExpiresAt:null}).where(oe(O(be.id,e.batchId),O(be.ownerToken,e.ownerToken),O(be.status,"open")))}async assertBatchScope(e,t){if((await e.select({status:be.status}).from(be).where(oe(O(be.id,t.batchId),O(be.ownerToken,t.ownerToken))).limit(1))[0]?.status!=="open")throw new Ha(`Projection batch "${t.batchId}" no longer owns its fence`)}async recordBatchGeneration(e,t,n){let r=this.now();await e.update(be).set({firstGeneration:S`coalesce(${be.firstGeneration}, ${n})`,highestGeneration:n,mutationCount:S`${be.mutationCount} + 1`,lastProgressAt:r,leaseExpiresAt:r+Iw}).where(oe(O(be.id,t.batchId),O(be.ownerToken,t.ownerToken),O(be.status,"open")))}runMutationTransaction(e){let t=this.batchScope.getStore();return this.runTransaction(async(n)=>{if(t)await this.assertBatchScope(n,t);return e(n,async(r)=>{if(t)await this.recordBatchGeneration(n,t,r)})})}async hasActiveBatch(){return(await this.db.select({id:be.id}).from(be).where(It(be.status,["preparing","open"])).limit(1)).length>0}async hasActiveBatchInTransaction(e){return(await e.select({id:be.id}).from(be).where(It(be.status,["preparing","open"])).limit(1)).length>0}async getAdmissionEpoch(e){return await e.insert(In).values({id:1,epoch:0}).onConflictDoNothing({target:In.id}),(await e.select({epoch:In.epoch}).from(In).where(O(In.id,1)).limit(1))[0]?.epoch??0}async markRecoveredThrough(e,t,n){await e.update(be).set({recoveredAt:n}).where(oe(O(be.status,"abandoned"),rr(be.recoveredAt),Dr(be.recoveryGeneration,t)))}getRecoveryGeneration(e,t){return this.readRecoveryGeneration(e,t)}runTransaction(e){return this.transactions.run(e)}runBatchStateWrite(e){return this.transactions.runSqliteWrite(e)}}var Ji=pl,wve=a.strictObject({id:a.string().trim().min(1),entityType:a.string().trim().min(1),content:a.string(),metadata:Ji,visibility:Is}),dl=a.discriminatedUnion("operation",[a.strictObject({operation:a.literal("upsert"),entity:wve}),a.strictObject({operation:a.literal("delete"),entityType:a.string().trim().min(1),id:a.string().trim().min(1)})]);var Tve=a.strictObject({ruleId:a.string().trim().min(1),ruleVersion:a.string().trim().min(1),inputFingerprint:a.string().trim().min(1)}),Cve=a.strictObject({ruleId:a.string().trim().min(1),targetType:a.string().trim().min(1),level:a.number().int().nonnegative()}),Eve=a.strictObject({entityType:a.string().trim().min(1),entityId:a.string().trim().min(1),operation:a.enum(["upsert","delete"]),contentHash:a.string().min(1).optional()});function tD(e){return Tve.parse(e)}function cK(e){return a.array(Cve).min(1).parse(e)}function pm(e){let t=a.array(Eve).parse(e.changedTargets);return{...e,changedTargets:t}}var Ive=a.strictObject({waveId:a.string().trim().min(1),ruleId:a.string().trim().min(1),jobId:a.string().trim().min(1).nullable(),failureReason:a.string().trim().min(1).max(500),failedAt:a.number().int().nonnegative()});function lK(e){return Ive.parse(e)}function kw(e){return`${e.sourceType}\x00${e.sourceId}`}function Rw(e){let t=new Map;for(let n of e)t.set(kw(n),n);return[...t.values()].sort((n,r)=>n.generation-r.generation)}var Pw=a.string().trim().min(1),kve=a.number().int().nonnegative();function zs(e){return Pw.parse(e)}function uK(e){return Pw.parse(e)}function pK(e){return Pw.parse(e)}function dK(e){return Pw.parse(e)}function Vu(e){return kve.parse(e)}function mK(e){if(e==="completed")return{kind:"settled"};if(e==="failed")return{kind:"refuse",reason:"already failed"};if(e==="superseded")return{kind:"refuse",reason:"was superseded"};return{kind:"apply"}}function fK(e){if(e==="completed")return{kind:"refuse",reason:"already completed"};if(e==="failed"||e==="superseded")return{kind:"settled"};return{kind:"apply"}}function gK(e){if(e==="superseded")return{kind:"settled"};if(e!=="running")return{kind:"decline"};return{kind:"apply"}}function hK(e){if(e==="superseded")return{kind:"decline"};if(e!=="running")return{kind:"refuse",reason:"is not running"};return{kind:"apply"}}function Gu(e){if(Array.isArray(e))return`[${e.map((t)=>Gu(t)).join(",")}]`;if(e!==null&&typeof e==="object")return`{${Object.entries(e).sort(([t],[n])=>t.localeCompare(n)).map(([t,n])=>`${JSON.stringify(t)}:${Gu(n)}`).join(",")}}`;return JSON.stringify(e)}class nD{entityExportStore;mutationAdmission;storagePolicy;constructor(e){this.entityExportStore=e.entityExportStore,this.mutationAdmission=e.mutationAdmission,this.storagePolicy=e.storagePolicy}async apply(e,t,n,r){let o=t.operation==="upsert"?t.entity.entityType:t.entityType,i=t.operation==="upsert"?t.entity.id:t.id,c=(await e.select({content:_.content,contentHash:_.contentHash,created:_.created,metadata:_.metadata,visibility:_.visibility}).from(_).where(oe(O(_.entityType,o),O(_.id,i))).limit(1))[0];if(t.operation==="delete"){if(await e.delete(en).where(oe(O(en.entityType,o),O(en.entityId,i))),!c)return null;return await this.mutationAdmission?.assertMutationAdmission({operation:"delete",entityType:o,entityId:i}),await e.delete(_).where(oe(O(_.entityType,o),O(_.id,i))),await e.run(S`DELETE FROM entity_fts WHERE entity_id = ${i} AND entity_type = ${o}`),await this.entityExportStore.record(e,{entityType:o,entityId:i,operation:"delete",markedAt:n}),{entityType:o,entityId:i,operation:"delete"}}let l={...t.entity,contentHash:Os(t.entity.content),created:new Date(c?.created??n).toISOString(),updated:new Date(n).toISOString()},u=await this.storagePolicy?.prepareEntity?.(l,c?"update":"create")??l;if(u.id!==i||u.entityType!==o)throw Error("Projection validation cannot change entity identity");let p=Os(u.content);if(await e.insert(en).values({entityType:o,entityId:i,ruleId:r.ruleId,ruleVersion:r.ruleVersion,inputFingerprint:r.inputFingerprint,claimedAt:n}).onConflictDoUpdate({target:[en.entityType,en.entityId],set:{ruleId:r.ruleId,ruleVersion:r.ruleVersion,inputFingerprint:r.inputFingerprint,claimedAt:n}}),this.storagePolicy?.isAssetBacked(o))await this.storagePolicy.assetRepository.bindEntityContent(e,u.content);if(c?.contentHash===p&&c.content===u.content&&c.visibility===u.visibility&&Gu(c.metadata)===Gu(u.metadata)){if(this.storagePolicy?.isFullTextSearchable(o)===!1)await e.run(S`DELETE FROM entity_fts WHERE entity_id = ${i} AND entity_type = ${o}`);return null}if(await this.mutationAdmission?.assertMutationAdmission({operation:c?"update":"create",entityType:o,entityId:i}),c)await e.update(_).set({content:u.content,contentHash:p,metadata:u.metadata,visibility:u.visibility,updated:n}).where(oe(O(_.entityType,o),O(_.id,i)));else await e.insert(_).values({id:i,entityType:o,content:u.content,contentHash:p,metadata:u.metadata,visibility:u.visibility,created:n,updated:n});if(await e.run(S`DELETE FROM entity_fts WHERE entity_id = ${i} AND entity_type = ${o}`),this.storagePolicy?.isFullTextSearchable(o)!==!1)await e.run(S`INSERT INTO entity_fts (entity_id, entity_type, content) VALUES (${i}, ${o}, ${u.content})`);return await this.entityExportStore.record(e,{entityType:o,entityId:i,operation:"upsert",markedAt:n}),{entityType:o,entityId:i,operation:"upsert",contentHash:p}}}class rD{db;transactions;batches;waves;writeIntentApplier;constructor(e){this.db=e.db,this.transactions=e.transactions,this.batches=e.batches,this.waves=e.waves,this.writeIntentApplier=e.writeIntentApplier}async putWaveRules(e,t){let n=zs(e),o=cK(t).map((i)=>({waveId:n,ruleId:i.ruleId,targetType:i.targetType,level:i.level,status:"pending",changedTargets:[]}));await this.db.insert(yt).values(o)}async listWaveRules(e){return(await this.db.select().from(yt).where(O(yt.waveId,e)).orderBy(st(yt.level),st(yt.ruleId))).map(pm)}async queueWaveRule(e,t,n){let r=zs(e),o=uK(t),i=pK(n),c=(await this.db.update(yt).set({status:"queued",jobId:i}).where(oe(O(yt.waveId,r),O(yt.ruleId,o),O(yt.status,"pending"))).returning())[0];if(c)return pm(c);let l=await this.getWaveRule(r,o);if(l?.status==="completed"||l?.status==="queued"&&l.jobId===i)return l;throw Error(`Projection rule "${o}" is not pending for wave "${r}"`)}async getWaveRule(e,t){let r=(await this.db.select().from(yt).where(oe(O(yt.waveId,e),O(yt.ruleId,t))).limit(1))[0];return r?pm(r):null}async applyRuleResult(e){let t=zs(e.waveId),n=tD({ruleId:e.ruleId,ruleVersion:e.ruleVersion,inputFingerprint:e.inputFingerprint}),r=a.array(dl).parse(e.writeIntents),o=Vu(e.completedAt);return this.transactions.run(async(i)=>{let c=(await i.select().from(yt).where(oe(O(yt.waveId,t),O(yt.ruleId,n.ruleId))).limit(1))[0];if(!c)throw Error(`Projection rule "${n.ruleId}" is not scheduled for wave "${t}"`);let l=await this.waves.requireWave(i,t),u=hK(l.status);if(u.kind==="decline")return null;if(u.kind==="refuse")throw Error(`Projection wave "${t}" ${u.reason}`);let p=await this.batches.getAdmissionEpoch(i);if(l.admissionEpoch!==p)return await this.waves.supersedeWaveInTransaction(i,l,o),null;for(let I of r){let A=I.operation==="upsert"?I.entity.entityType:I.entityType;if(A!==c.targetType)throw Error(`Projection rule "${n.ruleId}" cannot write entity type "${A}"`)}if(c.status==="completed"){if(c.inputFingerprint!==n.inputFingerprint)throw Error(`Projection rule "${n.ruleId}" already completed with another input`);return pm(c)}if(c.status==="failed")throw Error(`Projection rule "${n.ruleId}" already failed for wave "${t}"`);let g=(await i.select().from(di).where(oe(O(di.ruleId,n.ruleId),O(di.ruleVersion,n.ruleVersion),O(di.inputFingerprint,n.inputFingerprint))).limit(1))[0];if(g&&Gu(g.writeIntents)!==Gu(r))throw Error(`Projection memo conflict for rule "${n.ruleId}" and fingerprint "${n.inputFingerprint}"`);if(!g)await i.insert(di).values({...n,writeIntents:r,createdAt:o});let f=[];for(let I of r){let A=await this.writeIntentApplier.apply(i,I,o,n);if(A)f.push(A)}let w=(await i.update(yt).set({status:"completed",inputFingerprint:n.inputFingerprint,changedTargets:f}).where(oe(O(yt.waveId,t),O(yt.ruleId,n.ruleId))).returning())[0];if(!w)throw Error(`Failed to complete projection rule "${n.ruleId}" for wave "${t}"`);return pm(w)})}async getRuleMemo(e){let t=tD(e),r=(await this.db.select().from(di).where(oe(O(di.ruleId,t.ruleId),O(di.ruleVersion,t.ruleVersion),O(di.inputFingerprint,t.inputFingerprint))).limit(1))[0];if(!r)return null;return{...r,writeIntents:a.array(dl).parse(r.writeIntents)}}}class oD{db;transactions;batches;constructor(e){this.db=e.db,this.transactions=e.transactions,this.batches=e.batches}async claimPendingWave(e){let t=zs(e.waveId),n=dK(e.graphFingerprint),r=Vu(e.startedAt);if(await this.batches.hasActiveBatch())return null;return this.transactions.run(async(o)=>{let i=await o.select({id:mn.id}).from(mn).where(O(mn.status,"running")).limit(1);if(i.length>0)throw Error(`Cannot claim projection wave while "${i[0]?.id}" is running`);if(await this.batches.hasActiveBatchInTransaction(o))return null;let s=await this.batches.getAdmissionEpoch(o),l=(await o.select({generation:hn.generation}).from(hn).orderBy(dn(hn.generation)).limit(1))[0]?.generation;if(l===void 0)return null;let u={id:t,cutoffGeneration:l,graphFingerprint:n,admissionEpoch:s,status:"running",startedAt:r,completedAt:null};await o.insert(mn).values(u);let p=await o.select().from(hn).where(Dr(hn.generation,l)).orderBy(st(hn.generation)),d=Rw(p);return await o.insert($a).values(d.map((g)=>({waveId:t,sourceType:g.sourceType,sourceId:g.sourceId,revision:g.revision,operation:g.operation,generation:g.generation}))),await o.delete(hn).where(Dr(hn.generation,l)),u})}listWaveInputs(e){return this.db.select().from($a).where(O($a.waveId,e)).orderBy(st($a.generation))}async getWave(e){let t=zs(e);return(await this.db.select().from(mn).where(O(mn.id,t)).limit(1))[0]??null}async getActiveWave(){return(await this.db.select().from(mn).where(O(mn.status,"running")).limit(1))[0]??null}async requireWave(e,t){let r=(await e.select().from(mn).where(O(mn.id,t)).limit(1))[0];if(!r)throw Error(`Projection wave "${t}" does not exist`);return r}async completeWave(e,t){let n=zs(e),r=Vu(t);return this.transactions.run(async(o)=>{let i=await this.requireWave(o,n),s=mK(i.status);if(s.kind==="settled")return i;if(s.kind==="refuse")throw Error(`Projection wave "${n}" ${s.reason}`);if((await o.select({ruleId:yt.ruleId}).from(yt).where(oe(O(yt.waveId,n),il(yt.status,"completed"))).limit(1)).length>0)throw Error(`Projection wave "${n}" has incomplete projection rules`);let u=(await o.update(mn).set({status:"completed",completedAt:r}).where(O(mn.id,n)).returning())[0];if(!u)throw Error(`Failed to mark projection wave "${n}" completed`);return await o.update(Oo).set({resolvedAt:r}).where(oe(rr(Oo.resolvedAt),Dr(Oo.recoveryGeneration,i.cutoffGeneration))),await this.batches.markRecoveredThrough(o,i.cutoffGeneration,r),u})}async supersedeWaveIfStale(e,t){let n=zs(e),r=Vu(t);return this.transactions.run(async(o)=>{let i=await this.requireWave(o,n),s=gK(i.status);if(s.kind==="settled")return!0;if(s.kind!=="apply")return!1;let c=await this.batches.getAdmissionEpoch(o);if(i.admissionEpoch===c)return!1;return await this.supersedeWaveInTransaction(o,i,r),!0})}async failWave(e,t){let n=zs(e),r=Vu(t);return this.transactions.run(async(o)=>(await this.failWaveInTransaction(o,n,r)).wave)}async failWaveWithIncident(e){let t=lK(e);return this.transactions.run(async(n)=>{let r=await this.failWaveInTransaction(n,t.waveId,t.failedAt);if((await n.update(yt).set({status:"failed"}).where(oe(O(yt.waveId,t.waveId),O(yt.ruleId,t.ruleId))).returning({ruleId:yt.ruleId})).length===0)throw Error(`Projection rule "${t.ruleId}" is not scheduled for wave "${t.waveId}"`);return await n.insert(Oo).values({waveId:t.waveId,ruleId:t.ruleId,jobId:t.jobId,failureReason:t.failureReason,recoveryGeneration:r.recoveryGeneration,createdAt:t.failedAt,resolvedAt:null}).onConflictDoNothing({target:Oo.waveId}),r.wave})}async getUnresolvedProjectionIncidentDiagnostics(e=10){let t=a.number().int().positive().max(100).parse(e),[n,r]=await Promise.all([this.db.select({total:S`count(*)`}).from(Oo).where(rr(Oo.resolvedAt)),this.db.select().from(Oo).where(rr(Oo.resolvedAt)).orderBy(dn(Oo.createdAt)).limit(t)]);return{total:Number(n[0]?.total??0),incidents:r}}async failWaveInTransaction(e,t,n){let r=await this.requireWave(e,t),o=fK(r.status);if(o.kind==="refuse")throw Error(`Projection wave "${t}" ${o.reason}`);if(o.kind==="settled")return{wave:r,recoveryGeneration:await this.getRecoveryGeneration(e,r.cutoffGeneration)};await this.requeueWaveInputs(e,t,n);let i=await this.getRecoveryGeneration(e,r.cutoffGeneration),c=(await e.update(mn).set({status:"failed",completedAt:n}).where(O(mn.id,t)).returning())[0];if(!c)throw Error(`Failed to mark projection wave "${t}" failed`);return{wave:c,recoveryGeneration:i}}async supersedeWaveInTransaction(e,t,n){return await this.requeueWaveInputs(e,t.id,n),(await e.update(mn).set({status:"superseded",completedAt:n}).where(oe(O(mn.id,t.id),O(mn.status,"running"))).returning())[0]??{...t,status:"superseded",completedAt:n}}async requeueWaveInputs(e,t,n){let r=await e.select().from($a).where(O($a.waveId,t)),o=await e.select().from(hn),i=new Set(o.map(kw)),s=r.filter((c)=>!i.has(kw(c)));if(s.length===0)return;await e.insert(hn).values(s.map((c)=>({sourceType:c.sourceType,sourceId:c.sourceId,revision:c.revision,operation:c.operation,markedAt:n})))}async getRecoveryGeneration(e,t){let n=await e.select({generation:S`max(${hn.generation})`}).from(hn);return Number(n[0]?.generation??t)}}class iD{tail=Promise.resolve();run(e,t){if(t?.aborted)return Promise.reject(t.reason);let n=this.tail,r=()=>{};this.tail=new Promise((s)=>{r=s});let o=!1,i=n.then(async()=>{try{return o=!0,t?.throwIfAborted(),await e()}finally{r()}});return Rve(i,()=>o,t)}async idle(){await this.tail}}class sD{tails=new Map;async run(e,t){let n=this.tails.get(e),r=()=>{},o=new Promise((i)=>{r=i});this.tails.set(e,o),await n;try{return await t()}finally{if(r(),this.tails.get(e)===o)this.tails.delete(e)}}}function Rve(e,t,n){if(!n)return e;return new Promise((r,o)=>{let i=()=>{if(!t())o(n.reason)};n.addEventListener("abort",i,{once:!0}),e.then(r,o).finally(()=>{n.removeEventListener("abort",i)})})}class Pve{active;run(e){if(this.active)return this.active;let t=e().finally(()=>{if(this.active===t)this.active=void 0});return this.active=t,t}}class Ave{active=new Map;run(e,t){let n=this.active.get(e);if(n)return n;let r=t().finally(()=>{if(this.active.get(e)===r)this.active.delete(e)});return this.active.set(e,r),r}}var Ove=2000,Dve=5,Mve=40;function _ve(e){for(let t=e;t!==void 0;){let n=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",r=et(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(n)||/SQLITE_(?:BUSY|LOCKED)|database is locked/iu.test(r))return!0;t=t instanceof Error?t.cause:void 0}return!1}async function yK(e,t={}){let n=t.retryBudgetMs??Ove,r=t.now??Date.now,o=t.sleep??((l)=>new Promise((u)=>setTimeout(u,l))),i=t.random??Math.random,s=r()+n,c=async(l)=>{try{return await e()}catch(u){if(!_ve(u))throw u;let p=Math.min(Dve*2**(l-1),Mve),d=p/2+i()*(p/2);if(r()+d>=s)throw u;return await o(d),c(l+1)}};return c(1)}class aD{db;queue=new iD;constructor(e){this.db=e}run(e){return this.queue.run(()=>this.db.transaction(e))}runSqliteWrite(e){return this.queue.run(()=>yK(e))}}var bK=a.strictObject({sourceType:a.string().trim().min(1),sourceId:a.string().trim().min(1),revision:a.string().trim().min(1),operation:a.enum(["upsert","delete"]),markedAt:a.number().int().nonnegative()}),cD=a.strictObject({entityType:a.string().trim().min(1),id:a.string().trim().min(1)});class Aw{db;writeIntentApplier;transactions;batches;waves;rules;constructor(e,t,n=Date.now,r){this.db=e,this.transactions=new aD(e),this.batches=new eD({db:e,transactions:this.transactions,now:n,getRecoveryGeneration:(o,i)=>this.waves.getRecoveryGeneration(o,i)}),this.waves=new oD({db:e,transactions:this.transactions,batches:this.batches}),this.writeIntentApplier=new nD({entityExportStore:new qh(e,n),...t&&{mutationAdmission:t},...r&&{storagePolicy:r}}),this.rules=new rD({db:e,transactions:this.transactions,batches:this.batches,waves:this.waves,writeIntentApplier:this.writeIntentApplier})}runBulkMutation(e,t){return this.batches.runBulkMutation(e,t)}prepareDurableBulkMutation(e){return this.batches.prepareDurableBulkMutation(e)}finalizeDurableBulkMutationEnqueue(e){return this.batches.finalizeDurableBulkMutationEnqueue(e)}failDurableBulkMutationEnqueue(e){return this.batches.failDurableBulkMutationEnqueue(e)}runDurableBulkMutationChild(e,t){return this.batches.runDurableBulkMutationChild(e,t)}settleDurableBulkMutationChild(e){return this.batches.settleDurableBulkMutationChild(e)}recoverProjectionBatches(e){return this.batches.recoverProjectionBatches(e)}cleanupProjectionBatches(e,t){return this.batches.cleanupProjectionBatches(e,t)}getProjectionBatchDiagnostics(){return this.batches.getProjectionBatchDiagnostics()}async isProjectionOwnedEntity(e){let t=cD.parse(e);return(await this.db.select({entityId:en.entityId}).from(en).where(oe(O(en.entityType,t.entityType),O(en.entityId,t.id))).limit(1)).length>0}async releaseProjectionOwnership(e){let t=cD.parse(e);await this.db.delete(en).where(oe(O(en.entityType,t.entityType),O(en.entityId,t.id)))}transferEntityAuthority(e,t){let n=cD.parse(e);return this.transactions.run(async(r)=>{let o=await t(r);return await r.delete(en).where(oe(O(en.entityType,n.entityType),O(en.entityId,n.id))),o})}async markDirty(e){let t=bK.parse(e),r=(await this.db.insert(hn).values(t).returning({generation:hn.generation}))[0]?.generation;if(r===void 0)throw Error("Failed to persist projection dirty input");return r}withDirtyInput(e,t){let n=bK.parse(e);return this.batches.runMutationTransaction(async(r,o)=>{let i=await t(r);await r.delete(en).where(oe(O(en.entityType,n.sourceType),O(en.entityId,n.sourceId)));let c=(await r.insert(hn).values(n).returning({generation:hn.generation}))[0]?.generation;if(c===void 0)throw Error("Failed to persist projection dirty input");return await o(c),i})}async listPendingInputs(){let e=await this.db.select().from(hn).orderBy(st(hn.generation));return Rw(e)}hasActiveProjectionBatch(){return this.batches.hasActiveBatch()}claimPendingWave(e){return this.waves.claimPendingWave(e)}listWaveInputs(e){return this.waves.listWaveInputs(e)}getWave(e){return this.waves.getWave(e)}getActiveWave(){return this.waves.getActiveWave()}completeWave(e,t){return this.waves.completeWave(e,t)}supersedeWaveIfStale(e,t){return this.waves.supersedeWaveIfStale(e,t)}failWave(e,t){return this.waves.failWave(e,t)}failWaveWithIncident(e){return this.waves.failWaveWithIncident(e)}getUnresolvedProjectionIncidentDiagnostics(e){return this.waves.getUnresolvedProjectionIncidentDiagnostics(e)}putWaveRules(e,t){return this.rules.putWaveRules(e,t)}listWaveRules(e){return this.rules.listWaveRules(e)}queueWaveRule(e,t,n){return this.rules.queueWaveRule(e,t,n)}getWaveRule(e,t){return this.rules.getWaveRule(e,t)}applyRuleResult(e){return this.rules.applyRuleResult(e)}getRuleMemo(e){return this.rules.getRuleMemo(e)}}class Ow extends Error{ref;constructor(e){super(`Asset not found: ${e}`);this.name="AssetNotFoundError",this.ref=e}}class Qu extends Error{ref;constructor(e,t){super(`Asset integrity check failed for ${e}: ${t}`);this.name="AssetIntegrityError",this.ref=e}}class lD{db;maxBytes;now;constructor(e,t={}){this.db=e,this.maxBytes=t.maxBytes??ZA,this.now=t.now??Date.now}stage(e){if($A(e),e.sizeBytes>this.maxBytes)throw Error(`Asset exceeds ${this.maxBytes}-byte repository limit: received ${e.sizeBytes} bytes`);return{ref:e.ref,digest:e.digest,sizeBytes:e.sizeBytes,bytes:Buffer.from(e.bytes)}}async bindEntityContent(e,t,n){if(n){if(t!==n.ref)throw Error(`Prepared asset ${n.ref} does not match entity content`);await this.insertOrVerify(e,n);return}let r=wh.safeParse(t);if(r.success){await this.assertExists(e,r.data);return}if(t.startsWith("asset://"))qu(t)}async read(e){let t=qu(e),r=(await this.db.select({bytes:Fn.bytes,sizeBytes:Fn.sizeBytes}).from(Fn).where(O(Fn.digest,Zu(t))).limit(1))[0];if(!r)throw new Ow(t);return this.assertSize(t,r.bytes,r.sizeBytes),Uint8Array.from(r.bytes)}async stat(e){let t=qu(e),r=(await this.db.select({sizeBytes:Fn.sizeBytes}).from(Fn).where(O(Fn.digest,Zu(t))).limit(1))[0];return r?{ref:t,sizeBytes:r.sizeBytes}:null}async verify(e){let t=qu(e),n=await this.read(t),r=Zu(t),o=Th(n);return{ref:t,sizeBytes:n.byteLength,expectedDigest:r,actualDigest:o,valid:o===r}}async insertOrVerify(e,t){if((await e.insert(Fn).values({digest:t.digest,bytes:t.bytes,sizeBytes:t.sizeBytes,created:this.now()}).onConflictDoNothing({target:Fn.digest}).returning({digest:Fn.digest})).length>0)return;let o=(await e.select({bytes:Fn.bytes,sizeBytes:Fn.sizeBytes}).from(Fn).where(O(Fn.digest,t.digest)).limit(1))[0];if(!o)throw new Qu(t.ref,"conflicting row disappeared during insertion");if(this.assertSize(t.ref,o.bytes,o.sizeBytes),o.sizeBytes!==t.sizeBytes)throw new Qu(t.ref,`stored size ${o.sizeBytes} does not match prepared size ${t.sizeBytes}`);let i=Th(o.bytes);if(i!==t.digest)throw new Qu(t.ref,`stored digest is ${i}`)}async assertExists(e,t){if((await e.select({digest:Fn.digest}).from(Fn).where(O(Fn.digest,Zu(t))).limit(1)).length===0)throw new Ow(t)}assertSize(e,t,n){if(t.byteLength!==n)throw new Qu(e,`stored byte count ${t.byteLength} does not match declared size ${n}`);if(n<0||n>this.maxBytes)throw new Qu(e,`stored size ${n} is outside the accepted 0-${this.maxBytes} range`)}}var zve=/!\[([^\]]*)\]\(entity:\/\/image\/([^)]+)\)/g;function Fve(e){return e.includes("entity://image/")}var Nve=new Set(["image"]);function xK(e){return!Nve.has(e)}class uD{logger;constructor(e){this.logger=e.child("ContentResolver")}detectReferences(e){let t=[],n=new RegExp(zve.source,"g"),r;while((r=n.exec(e))!==null)t.push({alt:r[1]??"",imageId:r[2]??"",originalMarkdown:r[0]});return t}async resolve(e,t,n){if(!Fve(e))return{content:e,resolvedCount:0,failedCount:0};let r=this.detectReferences(e);if(r.length===0)return{content:e,resolvedCount:0,failedCount:0};let o=[...new Set(r.map((u)=>u.imageId))],i=new Map;for(let u of o)try{let p=await t.getEntityRaw({entityType:"image",id:u,visibilityScope:n});if(p?.content)i.set(u,p.content);else this.logger.warn("Image entity not found",{imageId:u})}catch(p){this.logger.warn("Failed to fetch image entity",{imageId:u,error:et(p)})}let s=e,c=0,l=0;for(let u of r){let p=i.get(u.imageId);if(p){let d=`![${u.alt}](${p})`;s=s.replace(u.originalMarkdown,d),c++}else l++}if(c>0)this.logger.debug("Resolved image references",{resolvedCount:c,failedCount:l});return{content:s,resolvedCount:c,failedCount:l}}}function SK(e,t){return de.suspend(()=>{let n,r=e.pipe(de.match({onFailure:(s)=>(n={kind:"failure",error:s},n),onSuccess:(s)=>(n={kind:"status",status:s},n)})),o=Ts.spaced(t.intervalMs),i=t.timeoutMs===void 0?o:o.pipe(Ts.upTo(t.timeoutMs));return r.pipe(de.repeat({schedule:i,until:(s)=>s.kind==="status"&&s.status.ready}),de.flatMap(()=>{if(n?.kind==="status")return de.succeed(n.status);if(n?.kind==="failure")return de.fail(n.error);return de.die(Error("Index readiness polling completed without an attempt"))}))})}class pD{db;dbClient;dbUrl;searchDbClient;embeddingDb;embeddingDbClient;dbInitPromise=null;groupingReprojection;groupingsReady=!1;entityRegistry;logger;jobQueueService;entitySearch;entitySerializer;entityQueries;entityMutations;projectionStore;assetRepository;entityExportStore;contentResolver;embeddingHandlerRegistered=!1;indexReady=!1;close(){let e,t=!1;try{if(this.embeddingHandlerRegistered)this.jobQueueService.unregisterHandler(Ms.embedding),this.embeddingHandlerRegistered=!1}catch(n){e=n,t=!0}try{this.embeddingDbClient.close()}catch(n){if(!t)e=n;t=!0}try{this.searchDbClient.close()}catch(n){if(!t)e=n;t=!0}try{this.dbClient.close()}catch(n){if(!t)e=n;t=!0}if(t)throw e}static createFresh(e){return new pD(e)}constructor(e){let{db:t,client:n,url:r}=AO(e.dbConfig);this.db=t,this.dbClient=n,this.dbUrl=r,this.assetRepository=new lD(this.db),this.entityExportStore=new qh(this.db,e.projectionNow??Date.now),this.projectionStore=new Aw(this.db,e.mutationAdmission,e.projectionNow??Date.now,{assetRepository:this.assetRepository,prepareEntity:async(s,c)=>{let l=this.entitySerializer.deserializeEntity(s.content,s.entityType),u=e.entityRegistry.validateEntity(s.entityType,{...l,...s.metadata,...s});return await Ew(e.entityRegistry,u,c),u},isAssetBacked:(s)=>e.entityRegistry.getEntityTypeConfig(s).binaryStorage==="asset",isFullTextSearchable:(s)=>e.entityRegistry.getEntityTypeConfig(s).fullTextSearchable!==!1});let o,i;try{let s=AO(e.dbConfig);o=s.client,this.searchDbClient=s.client;let c=OO(e.embeddingDbConfig);if(i=c.client,this.embeddingDb=c.db,this.embeddingDbClient=c.client,this.entityRegistry=e.entityRegistry,this.logger=(e.logger??pi.getInstance()).child("EntityService"),!e.jobQueueService)throw Error("JobQueueService is required for EntityService initialization");this.jobQueueService=e.jobQueueService,this.entitySerializer=new NO(this.entityRegistry,this.logger),this.entityQueries=new VO({db:this.db,entityRegistry:this.entityRegistry,serializer:this.entitySerializer,logger:this.logger,embeddingDb:this.embeddingDb});let l=e.embeddingsEnabled??!0;if(this.entitySearch=new xw(s.db,e.embeddingService,this.entitySerializer,this.logger,l),this.entityMutations=new XO({db:this.db,entityRegistry:this.entityRegistry,entitySerializer:this.entitySerializer,entityQueries:this.entityQueries,jobQueueService:this.jobQueueService,logger:this.logger,...e.messageBus&&{messageBus:e.messageBus},...e.mutationAdmission&&{mutationAdmission:e.mutationAdmission},projectionStore:this.projectionStore,assetRepository:this.assetRepository,entityExportStore:this.entityExportStore,projectionNow:e.projectionNow??Date.now,embeddingDb:this.embeddingDb,embeddingsEnabled:l}),this.contentResolver=new uD(this.logger),e.embeddingsEnabled??!0){let u=Bh.createFresh(this,e.embeddingService,e.messageBus);this.jobQueueService.registerHandler(Ms.embedding,u),this.embeddingHandlerRegistered=!0}this.dbInitPromise=this.initializeDatabase(e.embeddingDbConfig,e.embeddingService.dimensions),this.dbInitPromise.catch(()=>{})}catch(s){try{if(this.embeddingHandlerRegistered)e.jobQueueService?.unregisterHandler(Ms.embedding),this.embeddingHandlerRegistered=!1}catch{}try{i?.close()}catch{}try{o?.close()}catch{}try{n.close()}catch{}throw s}}async initialize(){if(!this.dbInitPromise)throw Error("Entity service database initialization never started; construction failed");await this.dbInitPromise}async initializeDatabase(e,t){try{await Wi(this.dbClient,this.dbUrl)}catch(n){this.logger.warn("Failed to enable WAL mode for entity database (non-fatal)",n)}try{await Wi(this.searchDbClient,this.dbUrl)}catch(n){this.logger.warn("Failed to configure entity search database (non-fatal)",n)}try{await Wi(this.embeddingDbClient,e.url)}catch(n){this.logger.warn("Failed to enable WAL mode for embedding database (non-fatal)",n)}await NQ(this.dbClient),await DO(this.embeddingDbClient,t),await MO(this.embeddingDbClient),await _O(this.searchDbClient,zO(e.url))}getProjectionStore(){return this.projectionStore}async isProjectionOwnedEntity(e){return await this.initialize(),this.projectionStore.isProjectionOwnedEntity(e)}setProjectionWakeup(e){return this.entityMutations.setProjectionWakeup(e)}async listPendingEntityExports(){return await this.initialize(),this.entityExportStore.list()}async hasPendingEntityExports(){return await this.initialize(),this.entityExportStore.hasPending()}async acknowledgeEntityExports(e){return await this.initialize(),this.entityExportStore.acknowledge(e.intents)}async runBulkMutation(e,t){await this.initialize();try{return await this.projectionStore.runBulkMutation(e,t)}finally{await this.entityMutations.wakeProjectionScheduler()}}async prepareDurableBulkMutation(e){await this.initialize(),await this.projectionStore.prepareDurableBulkMutation(e)}async finalizeDurableBulkMutationEnqueue(e){await this.initialize(),await this.projectionStore.finalizeDurableBulkMutationEnqueue(e)}async failDurableBulkMutationEnqueue(e){await this.initialize(),await this.projectionStore.failDurableBulkMutationEnqueue(e)}async runDurableBulkMutationChild(e,t){return await this.initialize(),this.projectionStore.runDurableBulkMutationChild(e,t)}async settleDurableBulkMutationChild(e){await this.initialize();let t=await this.projectionStore.settleDurableBulkMutationChild(e);if(t)await this.entityMutations.wakeProjectionScheduler();return t}async recoverProjectionBatches(e){await this.initialize();let t=await this.projectionStore.recoverProjectionBatches(e);if(t.fencedCallbacks+t.releasedDurableRoots>0)await this.entityMutations.wakeProjectionScheduler();return t}async createEntity(e){return await this.initialize(),this.entityMutations.createEntity(e)}async createEntityFromMarkdown(e){await this.initialize();let{input:t,options:n}=e,r=this.entitySerializer.deserializeEntity(t.markdown,t.entityType);return this.entityMutations.createEntity({entity:{...r,id:t.id,entityType:t.entityType,content:t.markdown,metadata:r.metadata??{},...t.visibility!==void 0?{visibility:t.visibility}:{}},...n!==void 0&&{options:n}})}async updateEntity(e){return await this.initialize(),this.entityMutations.updateEntity(e)}async deleteEntity(e){return await this.initialize(),this.entityMutations.deleteEntity(e)}async upsertEntity(e){return await this.initialize(),this.entityMutations.upsertEntity(e)}async storeEmbedding(e){return await this.initialize(),this.entityMutations.storeEmbedding(e)}async reconcileProjectionTargets(e){return await this.initialize(),this.entityMutations.reconcileProjectionTargets(e)}async backfillMissingEmbeddings(){return await this.initialize(),this.indexReady=!1,this.entityMutations.backfillMissingEmbeddings()}isIndexReady(){return this.indexReady}async awaitIndexReady(e){await this.initialize();let t=!1,n=de.tryPromise({try:()=>this.getIndexReadinessStatus(),catch:(i)=>i}).pipe(de.tapError((i)=>de.sync(()=>{if(!t)this.logger.warn("Semantic index readiness check failed; retrying",{error:i}),t=!0})),de.tap(()=>de.sync(()=>{t=!1}))),r=SK(n,{intervalMs:e.intervalMs??250,...e.timeoutMs!==void 0&&{timeoutMs:e.timeoutMs}}),o=await de.runPromiseExit(r,{...e.signal&&{signal:e.signal}});if(jt.isFailure(o)){if(e.signal?.aborted)throw e.signal.reason;throw ri.squash(o.cause)}if(o.value.ready)this.indexReady=!0;return o.value}async getIndexReadinessStatus(){let[e,t]=await Promise.all([this.jobQueueService.getActiveJobs([Ms.embedding]),this.entityMutations.getEmbeddingIndexStats()]),n=e.length,r=n===0&&t.missingEmbeddings===0&&t.staleEmbeddings===0,o=r&&t.failedEmbeddings>0;return{ready:r,degraded:o,activeEmbeddingJobs:n,missingEmbeddings:t.missingEmbeddings,staleEmbeddings:t.staleEmbeddings,failedEmbeddings:t.failedEmbeddings,embeddableEntities:t.embeddableEntities,embeddedEntities:t.embeddedEntities}}async getEntityWriteSnapshot(e){return await this.initialize(),this.entityQueries.getEntityWriteSnapshot(e)}async readAsset(e){return await this.initialize(),this.assetRepository.read(e)}async statAsset(e){return await this.initialize(),this.assetRepository.stat(e)}async verifyAsset(e){return await this.initialize(),this.assetRepository.verify(e)}async getEntity(e,t){e.signal?.throwIfAborted(),await this.initialize();let{entityType:n,visibilityScope:r}=e,o=await this.getEntityRaw(e);if(!o)return null;let i=e.readBudget?o:await this.resolveEntityContent(n,o,r);return e.signal?.throwIfAborted(),t?t.parse(i):i}async resolveEntityContent(e,t,n){if(xK(e)&&t.content){let r=await this.contentResolver.resolve(t.content,this,n);if(r.resolvedCount>0)return{...t,content:r.content}}return t}async getEntityRaw(e,t){e.signal?.throwIfAborted(),await this.initialize();let{entityType:n,id:r,visibilityScope:o}=e,i=await this.entityQueries.getEntityData(n,r,o,e);if(!i)return null;let s=await this.entitySerializer.convertToEntity(i,e.readBudget===void 0);return e.signal?.throwIfAborted(),s&&t?t.parse(s):s}async listEntities(e,t){e.options?.signal?.throwIfAborted(),await this.initialize();let{entityType:n,options:r}=e,o=await this.entityQueries.listEntities(n,r,this.publishedStatusesFor(n));return t?o.map((i)=>t.parse(i)):o}async queryEntityHierarchy(e){return e.signal?.throwIfAborted(),await this.initialize(),this.entityQueries.queryEntityHierarchy(e)}areGroupingsReady(){return this.groupingsReady}reprojectRegisteredGroupings(){if(this.groupingReprojection)return this.groupingReprojection;return this.groupingsReady=!1,this.groupingReprojection=this.initialize().then(()=>EQ(this.db,this.entityRegistry)).then(()=>{this.groupingsReady=!0}).finally(()=>{this.groupingReprojection=void 0}),this.groupingReprojection}async queryGroupingCatalog(e){return e.signal?.throwIfAborted(),await this.initialize(),this.entityQueries.queryGroupingCatalog(e)}async queryGroupingMembers(e){return e.signal?.throwIfAborted(),await this.initialize(),this.entityQueries.queryGroupingMembers(e)}async countEntities(e){await this.initialize();let{entityType:t,options:n}=e;return this.entityQueries.countEntities(t,n,this.publishedStatusesFor(t))}publishedStatusesFor(e){if(!this.entityRegistry.hasEntityType(e))return;return this.entityRegistry.getAdapter(e).publishedStatuses}async getEntityCounts(e){return await this.initialize(),this.entityQueries.getEntityCounts(e)}async search(e,t){e.options?.signal?.throwIfAborted(),await this.initialize();let n=await this.entitySearch.search(e.query,e.options);return e.options?.signal?.throwIfAborted(),t?n.map((r)=>({...r,entity:t.parse(r.entity)})):n}async searchEntities(e,t,n){return await this.initialize(),this.entitySearch.searchEntities(e,t,n)}async searchWithDistances(e){return await this.initialize(),this.entitySearch.searchWithDistances(e.query)}async projectSemanticSpace(e){return await this.initialize(),this.entitySearch.projectSemanticSpace(e)}async countEmbeddings(){return await this.initialize(),(await this.embeddingDb.select({count:S`count(*)`}).from(Hn))[0]?.count??0}serializeEntity(e){return this.entitySerializer.serializeEntity(e)}deserializeEntity(e,t){return this.entitySerializer.deserializeEntity(e,t)}getEntityTypes(){return this.entityRegistry.getAllEntityTypes()}hasEntityType(e){return this.entityRegistry.hasEntityType(e)}getEntityTypeConfig(e){return this.entityRegistry.getEntityTypeConfig(e)}getWeightMap(){return this.entityRegistry.getWeightMap()}async getAsyncJobStatus(e){let t=await this.jobQueueService.getStatus(e);if(!t)return null;return{status:t.status,...t.lastError&&{error:t.lastError}}}}function Zh(e,t){if(!(e instanceof a.ZodType)||!(t instanceof a.ZodType))return!1;if(e===t)return!0;let n=e.def.checks??[],r=t.def.checks??[];if(n.length!==r.length||n.some((o,i)=>o!==r[i]))return!1;if(e instanceof a.ZodOptional&&t instanceof a.ZodOptional)return Zh(e.unwrap(),t.unwrap());if(e instanceof a.ZodNullable&&t instanceof a.ZodNullable)return Zh(e.unwrap(),t.unwrap());if(e instanceof a.ZodArray&&t instanceof a.ZodArray)return Zh(e.element,t.element);if(e instanceof a.ZodStringFormat||t instanceof a.ZodStringFormat)return!1;if(e instanceof a.ZodString&&t instanceof a.ZodString)return e.def.coerce===t.def.coerce;if(e instanceof a.ZodEnum&&t instanceof a.ZodEnum)return JSON.stringify(e.def.entries)===JSON.stringify(t.def.entries);if(e instanceof a.ZodLiteral&&t instanceof a.ZodLiteral)return e.def.values.length===t.def.values.length&&e.def.values.every((o,i)=>Object.is(o,t.def.values[i]));return!1}function dD(e){return e instanceof a.ZodType?e.def.type:void 0}function jve(e){return typeof e==="function"?e():e}function Ja(e){let t=Dw(e,!0,void 0,!1),n={inner:t.inner,required:t.required};if(t.hasDefault&&t.defaultValue!==void 0)n.defaultValue=t.defaultValue;return n}function Dw(e,t,n,r){if(e instanceof a.ZodOptional||e instanceof a.ZodNullable)return Dw(e.unwrap(),!1,n,r);if(e instanceof a.ZodDefault)return Dw(e.def.innerType,!1,jve(e.def.defaultValue),!0);if(e instanceof a.ZodPipe)return Dw(e.def.out,t,n,r);return{inner:e,required:t,defaultValue:n,hasDefault:r}}function Mw(e){if(!(e instanceof a.ZodEnum))return;let t=Object.values(e.def.entries);if(t.every((n)=>typeof n==="string"))return t;return}function vK(e){return e instanceof a.ZodLiteral?e.def.values[0]:void 0}function ml(e){return e instanceof a.ZodObject?e.shape:void 0}function wK(e){return e instanceof a.ZodArray?e.def.element:void 0}function YVe(e,t){if(e instanceof a.ZodStringFormat)return e.def.format===t;if(!(e instanceof a.ZodString))return!1;return(e.def.checks??[]).some((r)=>r instanceof a.ZodStringFormat&&r.def.format===t)}function XVe(e){return e instanceof a.ZodType?e.meta():void 0}class _w{entitySchemas=new Map;entityAdapters=new Map;entityConfigs=new Map;createInterceptors=new Map;uploadSaveHandlers=[];persistValidators=new Map;frontmatterExtensions=new Map;logger;groupings=new Map;static createFresh(e){return new _w(e)}constructor(e){this.logger=e}registerEntityType(e,t,n,r){if(this.logger.debug(`Registering entity type: ${e}`),this.entitySchemas.has(e))throw Error(`Entity type registration failed for ${e}: Entity type is already registered`);if(this.entitySchemas.set(e,t),this.entityAdapters.set(e,n),r)this.entityConfigs.set(e,r);this.logger.debug(`Registered entity type: ${e}`)}unregisterEntityType(e){this.entitySchemas.delete(e),this.entityAdapters.delete(e),this.entityConfigs.delete(e),this.createInterceptors.delete(e),this.persistValidators.delete(e),this.frontmatterExtensions.delete(e),this.uploadSaveHandlers=this.uploadSaveHandlers.filter((t)=>t.entityType!==e),this.logger.debug(`Unregistered entity type: ${e}`)}getSchema(e){let t=this.entitySchemas.get(e);if(!t)throw Error(`Entity type registration failed for ${e}: No schema registered for entity type`);return t}getAdapter(e){let t=this.entityAdapters.get(e);if(!t)throw Error(`Entity type registration failed for ${e}: No adapter registered for entity type`);let n=this.mergeExtensions(e,t.frontmatterSchema);if(!n||n===t.frontmatterSchema)return t;let r=Object.create(t);return Object.defineProperty(r,"frontmatterSchema",{value:n,enumerable:!0}),r}hasEntityType(e){return this.entitySchemas.has(e)&&this.entityAdapters.has(e)}validateEntity(e,t){let r=this.getSchema(e).parse(this.normalizePolicyFields(t,e)),o=ai.parse(r);return{...r!==null&&typeof r==="object"&&!Array.isArray(r)?Object.fromEntries(Object.entries(r)):{},id:o.id,entityType:o.entityType,content:o.content,created:o.created,updated:o.updated,visibility:o.visibility,metadata:this.projectMetadata(e,o.content,o.metadata),contentHash:o.contentHash}}normalizePolicyFields(e,t){if(e===null||typeof e!=="object"||Array.isArray(e))return e;let n=Object.fromEntries(Object.entries(e));n.visibility=Is.parse(n.visibility);let r=n.metadata,o=ml(Ja(ml(this.getSchema(t))?.metadata).inner);if(o&&r&&typeof r==="object"&&!Array.isArray(r)){let i=Object.fromEntries(Object.entries(r));for(let s of this.getFrontmatterExtensions(t))for(let c of Object.keys(s.shape))if(!Object.hasOwn(o,c))delete i[c];n.metadata=i}return n}getAllEntityTypes(){return Array.from(this.entitySchemas.keys())}getEntityTypeConfig(e){return this.entityConfigs.get(e)??{}}getWeightMap(){let e={};for(let[t,n]of this.entityConfigs)if(n.weight!==void 0)e[t]=n.weight;return e}registerCreateInterceptor(e,t){this.createInterceptors.set(e,t)}getCreateInterceptor(e){return this.createInterceptors.get(e)}registerUploadSaveHandler(e){this.uploadSaveHandlers=[...this.uploadSaveHandlers.filter((t)=>t.entityType!==e.entityType),e]}getUploadSaveHandler(e){return this.uploadSaveHandlers.find((t)=>t.mediaTypes.some((n)=>n.endsWith("/*")?e.startsWith(`${n.slice(0,-1)}`):e===n))}registerPersistValidator(e,t){let n=this.persistValidators.get(e);this.persistValidators.set(e,n?async(r,o)=>{await n(r,o),await t(r,o)}:t)}getPersistValidator(e){return this.persistValidators.get(e)}extendFrontmatterSchema(e,t){let n=this.entityAdapters.get(e);if(!n)throw Error(`Cannot extend frontmatter schema for ${e}: entity type is not registered`);if(!n.frontmatterSchema)throw Error(`Cannot extend frontmatter schema for ${e}: adapter has no frontmatterSchema`);for(let o of this.groupings.values())if(o.types.includes(e)&&Object.hasOwn(t.shape,o.field)&&t.shape[o.field]!==this.getEffectiveFrontmatterSchema(e)?.shape[o.field])throw Error(`Cannot replace registered grouping field ${e}.${o.field}`);let r=this.frontmatterExtensions.get(e)??[];r.push(t),this.frontmatterExtensions.set(e,r),this.logger.debug(`Extended frontmatter schema for entity type: ${e}`)}validateGroupings(e){let t=new _w(this.logger.child("GroupingValidation"));t.entitySchemas=this.entitySchemas,t.entityAdapters=this.entityAdapters,t.entityConfigs=this.entityConfigs,t.frontmatterExtensions=new Map([...this.frontmatterExtensions].map(([n,r])=>[n,[...r]])),t.groupings=new Map(this.groupings);for(let n of e)t.registerGrouping(n)}registerGrouping(e){let t=ww.parse(e);if(this.groupings.has(t.key))throw Error(`Duplicate entity grouping: ${t.key}`);if(GQ.has(t.field))throw Error("Grouping field is reserved");let n=[];for(let r of t.types){let o=this.getEffectiveFrontmatterSchema(r);if(!this.hasEntityType(r)||!o||this.getEntityTypeConfig(r).binaryStorage==="asset")throw Error(`Grouping requires a registered frontmatter entity type: ${r}`);let i=o.shape[t.field],s=this.entityAdapters.get(r)?.frontmatterSchema?.shape[t.field];if(s&&s!==i)throw Error(`Grouping field overrides an owner contract: ${r}.${t.field}`);let c=ml(Ja(ml(this.getSchema(r))?.metadata).inner)?.[t.field];if(!i){if(c)throw Error(`Grouping conflicts with metadata field ${r}.${t.field}`);n.push(r);continue}let l=wK(Ja(i).inner),u=Ja(l).inner;if(l!==u||!(u instanceof a.ZodString)&&!Mw(u)&&typeof vK(u)!=="string")throw Error(`Grouping field must be a string list: ${r}.${t.field}`);if(c&&!Zh(c,i))throw Error(`Cannot establish a shared frontmatter/metadata contract for ${r}.${t.field}`)}for(let r of n)this.extendFrontmatterSchema(r,a.object({[t.field]:a.array(a.string()).optional()}));this.groupings.set(t.key,t)}getGrouping(e){let t=this.groupings.get(e);if(!t)throw Error("Unknown entity grouping");return{...t,types:[...t.types]}}getGroupings(){return[...this.groupings.keys()].map((e)=>this.getGrouping(e))}projectMetadata(e,t,n){return this.projectRegisteredFields(e,t,n,"reject")}projectStoredMetadata(e,t,n){return this.projectRegisteredFields(e,t,n,"omit")}groupingFields(e){return[...new Set([...this.groupings.values()].filter((t)=>t.types.includes(e)).map((t)=>t.field))]}isGroupingContributor(e){for(let t of this.groupings.values())if(t.types.includes(e))return!0;return!1}projectRegisteredFields(e,t,n,r){let o=nr(t,a.record(a.string(),a.unknown()),{cache:r==="omit"?!1:!0}).metadata,i=JQ(o,n,this.getFrontmatterExtensions(e),r),s=this.groupingFields(e);if(s.length===0)return i;let c=this.getEffectiveFrontmatterSchema(e);if(!c)throw Error("Grouping contributor lost its frontmatter schema");let l={...i};for(let u of s){delete l[u];let p=c.shape[u];if(!p||!Object.hasOwn(o,u))continue;let d=a.safeParse(p,o[u]);if(!d.success){if(r==="reject")throw d.error;continue}if(d.data!==void 0)l[u]=d.data}return l}getFrontmatterExtensions(e){return[...this.frontmatterExtensions.get(e)??[]]}getEffectiveFrontmatterSchema(e){let t=this.entityAdapters.get(e);return this.mergeExtensions(e,t?.frontmatterSchema)}mergeExtensions(e,t){if(!t)return;let n=this.frontmatterExtensions.get(e);if(!n?.length)return t;let r=t;for(let o of n)r=r.safeExtend(o.shape);return r.superRefine((o,i)=>{for(let s of n){let c=Object.fromEntries(Object.keys(s.shape).flatMap((u)=>Object.hasOwn(o,u)?[[u,o[u]]]:[])),l=s.safeParse(c);if(!l.success)for(let u of l.error.issues)i.addIssue({code:"custom",path:[...u.path],message:u.message})}})}}class TK extends Error{name="Assertion";code="ERR_ASSERTION";constructor(e,t,n,r,o){super(e);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);this.actual=t,this.expected=n,this.generated=o,this.operator=r}}function k(e,t){Bve(Boolean(e),!1,!0,"ok","Expected value to be truthy",t)}function Bve(e,t,n,r,o,i){if(!e)throw i instanceof Error?i:new TK(i||o,t,n,r,!i)}var Lve={};function Va(e,t){let n=t||Lve,r=typeof n.includeImageAlt==="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml==="boolean"?n.includeHtml:!0;return EK(e,r,o)}function EK(e,t,n){if(qve(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return CK(e.children,t,n)}if(Array.isArray(e))return CK(e,t,n);return""}function CK(e,t,n){let r=[],o=-1;while(++o<e.length)r[o]=EK(e[o],t,n);return r.join("")}function qve(e){return Boolean(e&&typeof e==="object")}var mD={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\uD835\uDD04",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\uD835\uDD38",ApplyFunction:"\u2061",Aring:"\xC5",Ascr:"\uD835\uDC9C",Assign:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\uD835\uDD05",Bopf:"\uD835\uDD39",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\uD835\uDC9E",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\uD835\uDD07",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\uD835\uDD3B",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\uD835\uDC9F",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\uD835\uDD08",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\uD835\uDD3C",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\uD835\uDD09",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\uD835\uDD3D",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\uD835\uDD0A",Gg:"\u22D9",Gopf:"\uD835\uDD3E",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\uD835\uDCA2",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\uD835\uDD40",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\uD835\uDD0D",Jopf:"\uD835\uDD41",Jscr:"\uD835\uDCA5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\uD835\uDD0E",Kopf:"\uD835\uDD42",Kscr:"\uD835\uDCA6",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\uD835\uDD0F",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\uD835\uDD43",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\uD835\uDD10",MinusPlus:"\u2213",Mopf:"\uD835\uDD44",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:`
78
78
  `,Nfr:"\uD835\uDD11",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\uD835\uDCA9",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\uD835\uDD12",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\uD835\uDD46",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\uD835\uDCAA",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\uD835\uDD13",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\uD835\uDCAB",Psi:"\u03A8",QUOT:'"',Qfr:"\uD835\uDD14",Qopf:"\u211A",Qscr:"\uD835\uDCAC",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\uD835\uDD16",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\uD835\uDD4A",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\uD835\uDCAE",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:"\t",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\uD835\uDD17",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\uD835\uDD4B",TripleDot:"\u20DB",Tscr:"\uD835\uDCAF",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\uD835\uDD18",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\uD835\uDD4C",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\uD835\uDCB0",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\uD835\uDD19",Vopf:"\uD835\uDD4D",Vscr:"\uD835\uDCB1",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\uD835\uDD1A",Wopf:"\uD835\uDD4E",Wscr:"\uD835\uDCB2",Xfr:"\uD835\uDD1B",Xi:"\u039E",Xopf:"\uD835\uDD4F",Xscr:"\uD835\uDCB3",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\uD835\uDD1C",Yopf:"\uD835\uDD50",Yscr:"\uD835\uDCB4",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\uD835\uDCB5",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\uD835\uDD1E",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\uD835\uDD52",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\uD835\uDCB6",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\uD835\uDD1F",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\uD835\uDD53",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\uD835\uDCB7",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\uD835\uDD20",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\uD835\uDD54",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\uD835\uDCB8",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\uD835\uDD21",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\uD835\uDD55",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\uD835\uDCB9",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\uD835\uDD22",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\uD835\uDD56",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\uD835\uDD23",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\uD835\uDD57",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\uD835\uDCBB",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\uD835\uDD24",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\uD835\uDD58",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\uD835\uDD25",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\uD835\uDD59",horbar:"\u2015",hscr:"\uD835\uDCBD",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\uD835\uDD26",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\uD835\uDD5A",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\uD835\uDCBE",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\uD835\uDD27",jmath:"\u0237",jopf:"\uD835\uDD5B",jscr:"\uD835\uDCBF",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\uD835\uDD28",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\uD835\uDD5C",kscr:"\uD835\uDCC0",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\uD835\uDD29",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\uD835\uDD5D",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\uD835\uDCC1",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\uD835\uDD2A",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\uD835\uDD5E",mp:"\u2213",mscr:"\uD835\uDCC2",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\uD835\uDD2B",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\uD835\uDD5F",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\uD835\uDCC3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\uD835\uDD2C",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\uD835\uDD60",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\uD835\uDD2D",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\uD835\uDD61",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\uD835\uDCC5",psi:"\u03C8",puncsp:"\u2008",qfr:"\uD835\uDD2E",qint:"\u2A0C",qopf:"\uD835\uDD62",qprime:"\u2057",qscr:"\uD835\uDCC6",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\uD835\uDD2F",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\uD835\uDD63",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\uD835\uDCC7",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\uD835\uDD30",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\uD835\uDD64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\uD835\uDCC8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\uD835\uDD31",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\uD835\uDD65",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\uD835\uDCC9",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\uD835\uDD32",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\uD835\uDD66",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\uD835\uDCCA",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\uD835\uDD33",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\uD835\uDD67",vprop:"\u221D",vrtri:"\u22B3",vscr:"\uD835\uDCCB",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\uD835\uDD34",wopf:"\uD835\uDD68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\uD835\uDCCC",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\uD835\uDD35",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\uD835\uDD69",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\uD835\uDCCD",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\uD835\uDD36",yicy:"\u0457",yopf:"\uD835\uDD6A",yscr:"\uD835\uDCCE",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\uD835\uDD37",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\uD835\uDD6B",zscr:"\uD835\uDCCF",zwj:"\u200D",zwnj:"\u200C"};var Zve={}.hasOwnProperty;function dm(e){return Zve.call(mD,e)?mD[e]:!1}var b={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};var ge={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var y={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};var Do={ht:"\t",lf:`
79
- `,cr:"\r",space:" ",exclamationMark:"!",quotationMark:'"',numberSign:"#",dollarSign:"$",percentSign:"%",ampersand:"&",apostrophe:"'",leftParenthesis:"(",rightParenthesis:")",asterisk:"*",plusSign:"+",comma:",",dash:"-",dot:".",slash:"/",digit0:"0",digit1:"1",digit2:"2",digit3:"3",digit4:"4",digit5:"5",digit6:"6",digit7:"7",digit8:"8",digit9:"9",colon:":",semicolon:";",lessThan:"<",equalsTo:"=",greaterThan:">",questionMark:"?",atSign:"@",uppercaseA:"A",uppercaseB:"B",uppercaseC:"C",uppercaseD:"D",uppercaseE:"E",uppercaseF:"F",uppercaseG:"G",uppercaseH:"H",uppercaseI:"I",uppercaseJ:"J",uppercaseK:"K",uppercaseL:"L",uppercaseM:"M",uppercaseN:"N",uppercaseO:"O",uppercaseP:"P",uppercaseQ:"Q",uppercaseR:"R",uppercaseS:"S",uppercaseT:"T",uppercaseU:"U",uppercaseV:"V",uppercaseW:"W",uppercaseX:"X",uppercaseY:"Y",uppercaseZ:"Z",leftSquareBracket:"[",backslash:"\\",rightSquareBracket:"]",caret:"^",underscore:"_",graveAccent:"`",lowercaseA:"a",lowercaseB:"b",lowercaseC:"c",lowercaseD:"d",lowercaseE:"e",lowercaseF:"f",lowercaseG:"g",lowercaseH:"h",lowercaseI:"i",lowercaseJ:"j",lowercaseK:"k",lowercaseL:"l",lowercaseM:"m",lowercaseN:"n",lowercaseO:"o",lowercaseP:"p",lowercaseQ:"q",lowercaseR:"r",lowercaseS:"s",lowercaseT:"t",lowercaseU:"u",lowercaseV:"v",lowercaseW:"w",lowercaseX:"x",lowercaseY:"y",lowercaseZ:"z",leftCurlyBrace:"{",verticalBar:"|",rightCurlyBrace:"}",tilde:"~",replacementCharacter:"\uFFFD"};function gr(e,t,n,r){let o=e.length,i=0,s;if(t<0)t=-t>o?0:o+t;else t=t>o?o:t;if(n=n>0?n:0,r.length<ge.v8MaxSafeChunkSize)s=Array.from(r),s.unshift(t,n),e.splice(...s);else{if(n)e.splice(t,n);while(i<r.length)s=r.slice(i,i+ge.v8MaxSafeChunkSize),s.unshift(t,0),e.splice(...s),i+=ge.v8MaxSafeChunkSize,t+=ge.v8MaxSafeChunkSize}}function Jr(e,t){if(e.length>0)return gr(e,e.length,0,t),e;return t}var IK={}.hasOwnProperty;function kK(e){let t={},n=-1;while(++n<e.length)$ve(t,e[n]);return t}function $ve(e,t){let n;for(n in t){let o=(IK.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],s;if(i)for(s in i){if(!IK.call(o,s))o[s]=[];let c=i[s];Uve(o[s],Array.isArray(c)?c:c?[c]:[])}}}function Uve(e,t){let n=-1,r=[];while(++n<t.length)(t[n].add==="after"?e:r).push(t[n]);gr(e,0,0,r)}function zw(e,t){let n=Number.parseInt(e,t);if(n<b.ht||n===b.vt||n>b.cr&&n<b.space||n>b.tilde&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111)return Do.replacementCharacter;return String.fromCodePoint(n)}function Ga(e){return e.replace(/[\t\n\r ]+/g,Do.space).replace(/^ | $/g,"").toLowerCase().toUpperCase()}var Mo=fl(/[A-Za-z]/),Vr=fl(/[\dA-Za-z]/),RK=fl(/[#-'*+\--9=?A-Z^-~]/);function $h(e){return e!==null&&(e<b.space||e===b.del)}var Uh=fl(/\d/),PK=fl(/[\dA-Fa-f]/),AK=fl(/[!-/:-@[-`{-~]/);function we(e){return e!==null&&e<b.horizontalTab}function kn(e){return e!==null&&(e<b.nul||e===b.space)}function Ke(e){return e===b.horizontalTab||e===b.virtualSpace||e===b.space}var OK=fl(/\p{P}|\p{S}/u),DK=fl(/\s/);function fl(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ot(e,t,n,r){let o=r?r-1:Number.POSITIVE_INFINITY,i=0;return s;function s(l){if(Ke(l))return e.enter(n),c(l);return t(l)}function c(l){if(Ke(l)&&i++<o)return e.consume(l),c;return e.exit(n),t(l)}}var MK={tokenize:Wve};function Wve(e){let t=e.attempt(this.parser.constructs.contentInitial,r,o),n;return t;function r(c){if(k(c===b.eof||we(c),"expected eol or eof"),c===b.eof){e.consume(c);return}return e.enter(y.lineEnding),e.consume(c),e.exit(y.lineEnding),ot(e,t,y.linePrefix)}function o(c){return k(c!==b.eof&&!we(c),"expected anything other than a line ending or EOF"),e.enter(y.paragraph),i(c)}function i(c){let l=e.enter(y.chunkText,{contentType:ge.contentTypeText,previous:n});if(n)n.next=l;return n=l,s(c)}function s(c){if(c===b.eof){e.exit(y.chunkText),e.exit(y.paragraph),e.consume(c);return}if(we(c))return e.consume(c),e.exit(y.chunkText),i;return e.consume(c),s}}var zK={tokenize:Hve},_K={tokenize:Jve};function Hve(e){let t=this,n=[],r=0,o,i,s;return c;function c(N){if(r<n.length){let re=n[r];return t.containerState=re[1],k(re[0].continuation,"expected `continuation` to be defined on container construct"),e.attempt(re[0].continuation,l,u)(N)}return u(N)}function l(N){if(k(t.containerState,"expected `containerState` to be defined after continuation"),r++,t.containerState._closeFlow){if(t.containerState._closeFlow=void 0,o)L();let re=t.events.length,Ee=re,D;while(Ee--)if(t.events[Ee][0]==="exit"&&t.events[Ee][1].type===y.chunkFlow){D=t.events[Ee][1].end;break}k(D,"could not find previous flow chunk"),A(r);let Ce=re;while(Ce<t.events.length)t.events[Ce][1].end={...D},Ce++;return gr(t.events,Ee+1,0,t.events.slice(re)),t.events.length=Ce,u(N)}return c(N)}function u(N){if(r===n.length){if(!o)return g(N);if(o.currentConstruct&&o.currentConstruct.concrete)return v(N);t.interrupt=Boolean(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(_K,p,d)(N)}function p(N){if(o)L();return A(r),g(N)}function d(N){return t.parser.lazy[t.now().line]=r!==n.length,s=t.now().offset,v(N)}function g(N){return t.containerState={},e.attempt(_K,f,v)(N)}function f(N){return k(t.currentConstruct,"expected `currentConstruct` to be defined on tokenizer"),k(t.containerState,"expected `containerState` to be defined on tokenizer"),r++,n.push([t.currentConstruct,t.containerState]),g(N)}function v(N){if(N===b.eof){if(o)L();A(0),e.consume(N);return}return o=o||t.parser.flow(t.now()),e.enter(y.chunkFlow,{_tokenizer:o,contentType:ge.contentTypeFlow,previous:i}),w(N)}function w(N){if(N===b.eof){I(e.exit(y.chunkFlow),!0),A(0),e.consume(N);return}if(we(N))return e.consume(N),I(e.exit(y.chunkFlow)),r=0,t.interrupt=void 0,c;return e.consume(N),w}function I(N,re){k(o,"expected `childFlow` to be defined when continuing");let Ee=t.sliceStream(N);if(re)Ee.push(null);if(N.previous=i,i)i.next=N;if(i=N,o.defineSkip(N.start),o.write(Ee),t.parser.lazy[N.start.line]){let D=o.events.length;while(D--)if(o.events[D][1].start.offset<s&&(!o.events[D][1].end||o.events[D][1].end.offset>s))return;let Ce=t.events.length,ke=Ce,Me,te;while(ke--)if(t.events[ke][0]==="exit"&&t.events[ke][1].type===y.chunkFlow){if(Me){te=t.events[ke][1].end;break}Me=!0}k(te,"could not find previous flow chunk"),A(r),D=Ce;while(D<t.events.length)t.events[D][1].end={...te},D++;gr(t.events,ke+1,0,t.events.slice(Ce)),t.events.length=D}}function A(N){let re=n.length;while(re-- >N){let Ee=n[re];t.containerState=Ee[1],k(Ee[0].exit,"expected `exit` to be defined on container construct"),Ee[0].exit.call(t,e)}n.length=N}function L(){k(t.containerState,"expected `containerState` to be defined when closing flow"),k(o,"expected `childFlow` to be defined when closing it"),o.write([b.eof]),i=void 0,o=void 0,t.containerState._closeFlow=void 0}}function Jve(e,t,n){return k(this.parser.constructs.disable.null,"expected `disable.null` to be populated"),ot(e,e.attempt(this.parser.constructs.document,t,n),y.linePrefix,this.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)}function mm(e){if(e===b.eof||kn(e)||DK(e))return ge.characterGroupWhitespace;if(OK(e))return ge.characterGroupPunctuation}function fm(e,t,n){let r=[],o=-1;while(++o<e.length){let i=e[o].resolveAll;if(i&&!r.includes(i))t=i(t,n),r.push(i)}return t}var Wh={name:"attention",resolveAll:Vve,tokenize:Gve};function Vve(e,t){let n=-1,r,o,i,s,c,l,u,p;while(++n<e.length)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){r=n;while(r--)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},g={...e[n][1].start};if(FK(d,-l),FK(g,l),s={type:l>1?y.strongSequence:y.emphasisSequence,start:d,end:{...e[r][1].end}},c={type:l>1?y.strongSequence:y.emphasisSequence,start:{...e[n][1].start},end:g},i={type:l>1?y.strongText:y.emphasisText,start:{...e[r][1].end},end:{...e[n][1].start}},o={type:l>1?y.strong:y.emphasis,start:{...s.start},end:{...c.end}},e[r][1].end={...s.start},e[n][1].start={...c.end},u=[],e[r][1].end.offset-e[r][1].start.offset)u=Jr(u,[["enter",e[r][1],t],["exit",e[r][1],t]]);if(u=Jr(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",i,t]]),k(t.parser.constructs.insideSpan.null,"expected `insideSpan` to be populated"),u=Jr(u,fm(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=Jr(u,[["exit",i,t],["enter",c,t],["exit",c,t],["exit",o,t]]),e[n][1].end.offset-e[n][1].start.offset)p=2,u=Jr(u,[["enter",e[n][1],t],["exit",e[n][1],t]]);else p=0;gr(e,r-1,n-r+3,u),n=r+u.length-p-2;break}}n=-1;while(++n<e.length)if(e[n][1].type==="attentionSequence")e[n][1].type="data";return e}function Gve(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=mm(r),i;return s;function s(l){return k(l===b.asterisk||l===b.underscore,"expected asterisk or underscore"),i=l,e.enter("attentionSequence"),c(l)}function c(l){if(l===i)return e.consume(l),c;let u=e.exit("attentionSequence"),p=mm(l);k(n,"expected `attentionMarkers` to be populated");let d=!p||p===ge.characterGroupPunctuation&&o||n.includes(l),g=!o||o===ge.characterGroupPunctuation&&p||n.includes(r);return u._open=Boolean(i===b.asterisk?d:d&&(o||!g)),u._close=Boolean(i===b.asterisk?g:g&&(p||!d)),t(l)}}function FK(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var fD={name:"autolink",tokenize:Qve};function Qve(e,t,n){let r=0;return o;function o(f){return k(f===b.lessThan,"expected `<`"),e.enter(y.autolink),e.enter(y.autolinkMarker),e.consume(f),e.exit(y.autolinkMarker),e.enter(y.autolinkProtocol),i}function i(f){if(Mo(f))return e.consume(f),s;if(f===b.atSign)return n(f);return u(f)}function s(f){if(f===b.plusSign||f===b.dash||f===b.dot||Vr(f))return r=1,c(f);return u(f)}function c(f){if(f===b.colon)return e.consume(f),r=0,l;if((f===b.plusSign||f===b.dash||f===b.dot||Vr(f))&&r++<ge.autolinkSchemeSizeMax)return e.consume(f),c;return r=0,u(f)}function l(f){if(f===b.greaterThan)return e.exit(y.autolinkProtocol),e.enter(y.autolinkMarker),e.consume(f),e.exit(y.autolinkMarker),e.exit(y.autolink),t;if(f===b.eof||f===b.space||f===b.lessThan||$h(f))return n(f);return e.consume(f),l}function u(f){if(f===b.atSign)return e.consume(f),p;if(RK(f))return e.consume(f),u;return n(f)}function p(f){return Vr(f)?d(f):n(f)}function d(f){if(f===b.dot)return e.consume(f),r=0,p;if(f===b.greaterThan)return e.exit(y.autolinkProtocol).type=y.autolinkEmail,e.enter(y.autolinkMarker),e.consume(f),e.exit(y.autolinkMarker),e.exit(y.autolink),t;return g(f)}function g(f){if((f===b.dash||Vr(f))&&r++<ge.autolinkDomainSizeMax){let v=f===b.dash?g:d;return e.consume(f),v}return n(f)}}var gl={partial:!0,tokenize:Kve};function Kve(e,t,n){return r;function r(i){return Ke(i)?ot(e,o,y.linePrefix)(i):o(i)}function o(i){return i===b.eof||we(i)?t(i):n(i)}}var Fw={continuation:{tokenize:Xve},exit:ewe,name:"blockQuote",tokenize:Yve};function Yve(e,t,n){let r=this;return o;function o(s){if(s===b.greaterThan){let c=r.containerState;if(k(c,"expected `containerState` to be defined in container"),!c.open)e.enter(y.blockQuote,{_container:!0}),c.open=!0;return e.enter(y.blockQuotePrefix),e.enter(y.blockQuoteMarker),e.consume(s),e.exit(y.blockQuoteMarker),i}return n(s)}function i(s){if(Ke(s))return e.enter(y.blockQuotePrefixWhitespace),e.consume(s),e.exit(y.blockQuotePrefixWhitespace),e.exit(y.blockQuotePrefix),t;return e.exit(y.blockQuotePrefix),t(s)}}function Xve(e,t,n){let r=this;return o;function o(s){if(Ke(s))return k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),ot(e,i,y.linePrefix,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)(s);return i(s)}function i(s){return e.attempt(Fw,t,n)(s)}}function ewe(e){e.exit(y.blockQuote)}var Nw={name:"characterEscape",tokenize:twe};function twe(e,t,n){return r;function r(i){return k(i===b.backslash,"expected `\\`"),e.enter(y.characterEscape),e.enter(y.escapeMarker),e.consume(i),e.exit(y.escapeMarker),o}function o(i){if(AK(i))return e.enter(y.characterEscapeValue),e.consume(i),e.exit(y.characterEscapeValue),e.exit(y.characterEscape),t;return n(i)}}var jw={name:"characterReference",tokenize:nwe};function nwe(e,t,n){let r=this,o=0,i,s;return c;function c(d){return k(d===b.ampersand,"expected `&`"),e.enter(y.characterReference),e.enter(y.characterReferenceMarker),e.consume(d),e.exit(y.characterReferenceMarker),l}function l(d){if(d===b.numberSign)return e.enter(y.characterReferenceMarkerNumeric),e.consume(d),e.exit(y.characterReferenceMarkerNumeric),u;return e.enter(y.characterReferenceValue),i=ge.characterReferenceNamedSizeMax,s=Vr,p(d)}function u(d){if(d===b.uppercaseX||d===b.lowercaseX)return e.enter(y.characterReferenceMarkerHexadecimal),e.consume(d),e.exit(y.characterReferenceMarkerHexadecimal),e.enter(y.characterReferenceValue),i=ge.characterReferenceHexadecimalSizeMax,s=PK,p;return e.enter(y.characterReferenceValue),i=ge.characterReferenceDecimalSizeMax,s=Uh,p(d)}function p(d){if(d===b.semicolon&&o){let g=e.exit(y.characterReferenceValue);if(s===Vr&&!dm(r.sliceSerialize(g)))return n(d);return e.enter(y.characterReferenceMarker),e.consume(d),e.exit(y.characterReferenceMarker),e.exit(y.characterReference),t}if(s(d)&&o++<i)return e.consume(d),p;return n(d)}}var NK={partial:!0,tokenize:owe},Bw={concrete:!0,name:"codeFenced",tokenize:rwe};function rwe(e,t,n){let r=this,o={partial:!0,tokenize:Ee},i=0,s=0,c;return l;function l(D){return u(D)}function u(D){k(D===b.graveAccent||D===b.tilde,"expected `` ` `` or `~`");let Ce=r.events[r.events.length-1];return i=Ce&&Ce[1].type===y.linePrefix?Ce[2].sliceSerialize(Ce[1],!0).length:0,c=D,e.enter(y.codeFenced),e.enter(y.codeFencedFence),e.enter(y.codeFencedFenceSequence),p(D)}function p(D){if(D===c)return s++,e.consume(D),p;if(s<ge.codeFencedSequenceSizeMin)return n(D);return e.exit(y.codeFencedFenceSequence),Ke(D)?ot(e,d,y.whitespace)(D):d(D)}function d(D){if(D===b.eof||we(D))return e.exit(y.codeFencedFence),r.interrupt?t(D):e.check(NK,w,re)(D);return e.enter(y.codeFencedFenceInfo),e.enter(y.chunkString,{contentType:ge.contentTypeString}),g(D)}function g(D){if(D===b.eof||we(D))return e.exit(y.chunkString),e.exit(y.codeFencedFenceInfo),d(D);if(Ke(D))return e.exit(y.chunkString),e.exit(y.codeFencedFenceInfo),ot(e,f,y.whitespace)(D);if(D===b.graveAccent&&D===c)return n(D);return e.consume(D),g}function f(D){if(D===b.eof||we(D))return d(D);return e.enter(y.codeFencedFenceMeta),e.enter(y.chunkString,{contentType:ge.contentTypeString}),v(D)}function v(D){if(D===b.eof||we(D))return e.exit(y.chunkString),e.exit(y.codeFencedFenceMeta),d(D);if(D===b.graveAccent&&D===c)return n(D);return e.consume(D),v}function w(D){return k(we(D),"expected eol"),e.attempt(o,re,I)(D)}function I(D){return k(we(D),"expected eol"),e.enter(y.lineEnding),e.consume(D),e.exit(y.lineEnding),A}function A(D){return i>0&&Ke(D)?ot(e,L,y.linePrefix,i+1)(D):L(D)}function L(D){if(D===b.eof||we(D))return e.check(NK,w,re)(D);return e.enter(y.codeFlowValue),N(D)}function N(D){if(D===b.eof||we(D))return e.exit(y.codeFlowValue),L(D);return e.consume(D),N}function re(D){return e.exit(y.codeFenced),t(D)}function Ee(D,Ce,ke){let Me=0;return te;function te(xe){return k(we(xe),"expected eol"),D.enter(y.lineEnding),D.consume(xe),D.exit(y.lineEnding),ce}function ce(xe){return k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),D.enter(y.codeFencedFence),Ke(xe)?ot(D,Y,y.linePrefix,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)(xe):Y(xe)}function Y(xe){if(xe===c)return D.enter(y.codeFencedFenceSequence),G(xe);return ke(xe)}function G(xe){if(xe===c)return Me++,D.consume(xe),G;if(Me>=s)return D.exit(y.codeFencedFenceSequence),Ke(xe)?ot(D,me,y.whitespace)(xe):me(xe);return ke(xe)}function me(xe){if(xe===b.eof||we(xe))return D.exit(y.codeFencedFence),Ce(xe);return ke(xe)}}}function owe(e,t,n){let r=this;return o;function o(s){if(s===b.eof)return n(s);return k(we(s),"expected eol"),e.enter(y.lineEnding),e.consume(s),e.exit(y.lineEnding),i}function i(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}var Hh={name:"codeIndented",tokenize:swe},iwe={partial:!0,tokenize:awe};function swe(e,t,n){let r=this;return o;function o(u){return k(Ke(u)),e.enter(y.codeIndented),ot(e,i,y.linePrefix,ge.tabSize+1)(u)}function i(u){let p=r.events[r.events.length-1];return p&&p[1].type===y.linePrefix&&p[2].sliceSerialize(p[1],!0).length>=ge.tabSize?s(u):n(u)}function s(u){if(u===b.eof)return l(u);if(we(u))return e.attempt(iwe,s,l)(u);return e.enter(y.codeFlowValue),c(u)}function c(u){if(u===b.eof||we(u))return e.exit(y.codeFlowValue),s(u);return e.consume(u),c}function l(u){return e.exit(y.codeIndented),t(u)}}function awe(e,t,n){let r=this;return o;function o(s){if(r.parser.lazy[r.now().line])return n(s);if(we(s))return e.enter(y.lineEnding),e.consume(s),e.exit(y.lineEnding),o;return ot(e,i,y.linePrefix,ge.tabSize+1)(s)}function i(s){let c=r.events[r.events.length-1];return c&&c[1].type===y.linePrefix&&c[2].sliceSerialize(c[1],!0).length>=ge.tabSize?t(s):we(s)?o(s):n(s)}}var gD={name:"codeText",previous:jK,resolve:cwe,tokenize:lwe};function cwe(e){let t=e.length-4,n=3,r,o;if((e[n][1].type===y.lineEnding||e[n][1].type==="space")&&(e[t][1].type===y.lineEnding||e[t][1].type==="space")){r=n;while(++r<t)if(e[r][1].type===y.codeTextData){e[n][1].type=y.codeTextPadding,e[t][1].type=y.codeTextPadding,n+=2,t-=2;break}}r=n-1,t++;while(++r<=t)if(o===void 0){if(r!==t&&e[r][1].type!==y.lineEnding)o=r}else if(r===t||e[r][1].type===y.lineEnding){if(e[o][1].type=y.codeTextData,r!==o+2)e[o][1].end=e[r-1][1].end,e.splice(o+2,r-o-2),t-=r-o-2,r=o+2;o=void 0}return e}function jK(e){return e!==b.graveAccent||this.events[this.events.length-1][1].type===y.characterEscape}function lwe(e,t,n){let r=this,o=0,i,s;return c;function c(g){return k(g===b.graveAccent,"expected `` ` ``"),k(jK.call(r,r.previous),"expected correct previous"),e.enter(y.codeText),e.enter(y.codeTextSequence),l(g)}function l(g){if(g===b.graveAccent)return e.consume(g),o++,l;return e.exit(y.codeTextSequence),u(g)}function u(g){if(g===b.eof)return n(g);if(g===b.space)return e.enter("space"),e.consume(g),e.exit("space"),u;if(g===b.graveAccent)return s=e.enter(y.codeTextSequence),i=0,d(g);if(we(g))return e.enter(y.lineEnding),e.consume(g),e.exit(y.lineEnding),u;return e.enter(y.codeTextData),p(g)}function p(g){if(g===b.eof||g===b.space||g===b.graveAccent||we(g))return e.exit(y.codeTextData),u(g);return e.consume(g),p}function d(g){if(g===b.graveAccent)return e.consume(g),i++,d;if(i===o)return e.exit(y.codeTextSequence),e.exit(y.codeText),t(g);return s.type=y.codeTextData,p(g)}}class hD{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");if(e<this.left.length)return this.left[e];return this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t===null||t===void 0?Number.POSITIVE_INFINITY:t;if(n<this.left.length)return this.left.slice(e,n);if(e>this.left.length)return this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse();return this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);if(n)Jh(this.left,n);return o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),Jh(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Jh(this.right,e.reverse())}setCursor(e){if(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0)return;if(e<this.left.length){let t=this.left.splice(e,Number.POSITIVE_INFINITY);Jh(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);Jh(this.left,t.reverse())}}}function Jh(e,t){let n=0;if(t.length<ge.v8MaxSafeChunkSize)e.push(...t);else while(n<t.length)e.push(...t.slice(n,n+ge.v8MaxSafeChunkSize)),n+=ge.v8MaxSafeChunkSize}function Lw(e){let t={},n=-1,r,o,i,s,c,l,u,p=new hD(e);while(++n<p.length){while(n in t)n=t[n];if(r=p.get(n),n&&r[1].type===y.chunkFlow&&p.get(n-1)[1].type===y.listItemPrefix){if(k(r[1]._tokenizer,"expected `_tokenizer` on subtokens"),l=r[1]._tokenizer.events,i=0,i<l.length&&l[i][1].type===y.lineEndingBlank)i+=2;if(i<l.length&&l[i][1].type===y.content)while(++i<l.length){if(l[i][1].type===y.content)break;if(l[i][1].type===y.chunkText)l[i][1]._isInFirstContentOfListItem=!0,i++}}if(r[0]==="enter"){if(r[1].contentType)Object.assign(t,uwe(p,n)),n=t[n],u=!0}else if(r[1]._container){i=n,o=void 0;while(i--)if(s=p.get(i),s[1].type===y.lineEnding||s[1].type===y.lineEndingBlank){if(s[0]==="enter"){if(o)p.get(o)[1].type=y.lineEndingBlank;s[1].type=y.lineEnding,o=i}}else if(s[1].type===y.linePrefix||s[1].type===y.listItemIndent);else break;if(o)r[1].end={...p.get(o)[1].start},c=p.slice(o,n),c.unshift(r),p.splice(o,n-o+1,c)}}return gr(e,0,Number.POSITIVE_INFINITY,p.slice(0)),!u}function uwe(e,t){let n=e.get(t)[1],r=e.get(t)[2],o=t-1,i=[];k(n.contentType,"expected `contentType` on subtokens");let s=n._tokenizer;if(!s){if(s=r.parser[n.contentType](n.start),n._contentTypeTextTrailing)s._contentTypeTextTrailing=!0}let c=s.events,l=[],u={},p,d,g=-1,f=n,v=0,w=0,I=[w];while(f){while(e.get(++o)[1]!==f);if(k(!d||f.previous===d,"expected previous to match"),k(!d||d.next===f,"expected next to match"),i.push(o),!f._tokenizer){if(p=r.sliceStream(f),!f.next)p.push(b.eof);if(d)s.defineSkip(f.start);if(f._isInFirstContentOfListItem)s._gfmTasklistFirstContentOfListItem=!0;if(s.write(p),f._isInFirstContentOfListItem)s._gfmTasklistFirstContentOfListItem=void 0}d=f,f=f.next}f=n;while(++g<c.length)if(c[g][0]==="exit"&&c[g-1][0]==="enter"&&c[g][1].type===c[g-1][1].type&&c[g][1].start.line!==c[g][1].end.line)k(f,"expected a current token"),w=g+1,I.push(w),f._tokenizer=void 0,f.previous=void 0,f=f.next;if(s.events=[],f)f._tokenizer=void 0,f.previous=void 0,k(!f.next,"expected no next token");else I.pop();g=I.length;while(g--){let A=c.slice(I[g],I[g+1]),L=i.pop();k(L!==void 0,"expected a start position when splicing"),l.push([L,L+A.length-1]),e.splice(L,2,A)}l.reverse(),g=-1;while(++g<l.length)u[v+l[g][0]]=v+l[g][1],v+=l[g][1]-l[g][0]-1;return u}var yD={resolve:dwe,tokenize:mwe},pwe={partial:!0,tokenize:fwe};function dwe(e){return Lw(e),e}function mwe(e,t){let n;return r;function r(c){return k(c!==b.eof&&!we(c),"expected no eof or eol"),e.enter(y.content),n=e.enter(y.chunkContent,{contentType:ge.contentTypeContent}),o(c)}function o(c){if(c===b.eof)return i(c);if(we(c))return e.check(pwe,s,i)(c);return e.consume(c),o}function i(c){return e.exit(y.chunkContent),e.exit(y.content),t(c)}function s(c){return k(we(c),"expected eol"),e.consume(c),e.exit(y.chunkContent),k(n,"expected previous token"),n.next=e.enter(y.chunkContent,{contentType:ge.contentTypeContent,previous:n}),n=n.next,o}}function fwe(e,t,n){let r=this;return o;function o(s){return k(we(s),"expected a line ending"),e.exit(y.chunkContent),e.enter(y.lineEnding),e.consume(s),e.exit(y.lineEnding),ot(e,i,y.linePrefix)}function i(s){if(s===b.eof||we(s))return n(s);k(r.parser.constructs.disable.null,"expected `disable.null` to be populated");let c=r.events[r.events.length-1];if(!r.parser.constructs.disable.null.includes("codeIndented")&&c&&c[1].type===y.linePrefix&&c[2].sliceSerialize(c[1],!0).length>=ge.tabSize)return t(s);return e.interrupt(r.parser.constructs.flow,n,t)(s)}}function qw(e,t,n,r,o,i,s,c,l){let u=l||Number.POSITIVE_INFINITY,p=0;return d;function d(A){if(A===b.lessThan)return e.enter(r),e.enter(o),e.enter(i),e.consume(A),e.exit(i),g;if(A===b.eof||A===b.space||A===b.rightParenthesis||$h(A))return n(A);return e.enter(r),e.enter(s),e.enter(c),e.enter(y.chunkString,{contentType:ge.contentTypeString}),w(A)}function g(A){if(A===b.greaterThan)return e.enter(i),e.consume(A),e.exit(i),e.exit(o),e.exit(r),t;return e.enter(c),e.enter(y.chunkString,{contentType:ge.contentTypeString}),f(A)}function f(A){if(A===b.greaterThan)return e.exit(y.chunkString),e.exit(c),g(A);if(A===b.eof||A===b.lessThan||we(A))return n(A);return e.consume(A),A===b.backslash?v:f}function v(A){if(A===b.lessThan||A===b.greaterThan||A===b.backslash)return e.consume(A),f;return f(A)}function w(A){if(!p&&(A===b.eof||A===b.rightParenthesis||kn(A)))return e.exit(y.chunkString),e.exit(c),e.exit(s),e.exit(r),t(A);if(p<u&&A===b.leftParenthesis)return e.consume(A),p++,w;if(A===b.rightParenthesis)return e.consume(A),p--,w;if(A===b.eof||A===b.space||A===b.leftParenthesis||$h(A))return n(A);return e.consume(A),A===b.backslash?I:w}function I(A){if(A===b.leftParenthesis||A===b.rightParenthesis||A===b.backslash)return e.consume(A),w;return w(A)}}function Zw(e,t,n,r,o,i){let s=this,c=0,l;return u;function u(f){return k(f===b.leftSquareBracket,"expected `[`"),e.enter(r),e.enter(o),e.consume(f),e.exit(o),e.enter(i),p}function p(f){if(c>ge.linkReferenceSizeMax||f===b.eof||f===b.leftSquareBracket||f===b.rightSquareBracket&&!l||f===b.caret&&!c&&"_hiddenFootnoteSupport"in s.parser.constructs)return n(f);if(f===b.rightSquareBracket)return e.exit(i),e.enter(o),e.consume(f),e.exit(o),e.exit(r),t;if(we(f))return e.enter(y.lineEnding),e.consume(f),e.exit(y.lineEnding),p;return e.enter(y.chunkString,{contentType:ge.contentTypeString}),d(f)}function d(f){if(f===b.eof||f===b.leftSquareBracket||f===b.rightSquareBracket||we(f)||c++>ge.linkReferenceSizeMax)return e.exit(y.chunkString),p(f);if(e.consume(f),!l)l=!Ke(f);return f===b.backslash?g:d}function g(f){if(f===b.leftSquareBracket||f===b.backslash||f===b.rightSquareBracket)return e.consume(f),c++,d;return d(f)}}function $w(e,t,n,r,o,i){let s;return c;function c(g){if(g===b.quotationMark||g===b.apostrophe||g===b.leftParenthesis)return e.enter(r),e.enter(o),e.consume(g),e.exit(o),s=g===b.leftParenthesis?b.rightParenthesis:g,l;return n(g)}function l(g){if(g===s)return e.enter(o),e.consume(g),e.exit(o),e.exit(r),t;return e.enter(i),u(g)}function u(g){if(g===s)return e.exit(i),l(s);if(g===b.eof)return n(g);if(we(g))return e.enter(y.lineEnding),e.consume(g),e.exit(y.lineEnding),ot(e,u,y.linePrefix);return e.enter(y.chunkString,{contentType:ge.contentTypeString}),p(g)}function p(g){if(g===s||g===b.eof||we(g))return e.exit(y.chunkString),u(g);return e.consume(g),g===b.backslash?d:p}function d(g){if(g===s||g===b.backslash)return e.consume(g),p;return p(g)}}function Ku(e,t){let n;return r;function r(o){if(we(o))return e.enter(y.lineEnding),e.consume(o),e.exit(y.lineEnding),n=!0,r;if(Ke(o))return ot(e,r,n?y.linePrefix:y.lineSuffix)(o);return t(o)}}var bD={name:"definition",tokenize:hwe},gwe={partial:!0,tokenize:ywe};function hwe(e,t,n){let r=this,o;return i;function i(f){return e.enter(y.definition),s(f)}function s(f){return k(f===b.leftSquareBracket,"expected `[`"),Zw.call(r,e,c,n,y.definitionLabel,y.definitionLabelMarker,y.definitionLabelString)(f)}function c(f){if(o=Ga(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===b.colon)return e.enter(y.definitionMarker),e.consume(f),e.exit(y.definitionMarker),l;return n(f)}function l(f){return kn(f)?Ku(e,u)(f):u(f)}function u(f){return qw(e,p,n,y.definitionDestination,y.definitionDestinationLiteral,y.definitionDestinationLiteralMarker,y.definitionDestinationRaw,y.definitionDestinationString)(f)}function p(f){return e.attempt(gwe,d,d)(f)}function d(f){return Ke(f)?ot(e,g,y.whitespace)(f):g(f)}function g(f){if(f===b.eof||we(f))return e.exit(y.definition),r.parser.defined.push(o),t(f);return n(f)}}function ywe(e,t,n){return r;function r(c){return kn(c)?Ku(e,o)(c):n(c)}function o(c){return $w(e,i,n,y.definitionTitle,y.definitionTitleMarker,y.definitionTitleString)(c)}function i(c){return Ke(c)?ot(e,s,y.whitespace)(c):s(c)}function s(c){return c===b.eof||we(c)?t(c):n(c)}}var xD={name:"hardBreakEscape",tokenize:bwe};function bwe(e,t,n){return r;function r(i){return k(i===b.backslash,"expected `\\`"),e.enter(y.hardBreakEscape),e.consume(i),o}function o(i){if(we(i))return e.exit(y.hardBreakEscape),t(i);return n(i)}}var SD={name:"headingAtx",resolve:xwe,tokenize:Swe};function xwe(e,t){let n=e.length-2,r=3,o,i;if(e[r][1].type===y.whitespace)r+=2;if(n-2>r&&e[n][1].type===y.whitespace)n-=2;if(e[n][1].type===y.atxHeadingSequence&&(r===n-1||n-4>r&&e[n-2][1].type===y.whitespace))n-=r+1===n?2:4;if(n>r)o={type:y.atxHeadingText,start:e[r][1].start,end:e[n][1].end},i={type:y.chunkText,start:e[r][1].start,end:e[n][1].end,contentType:ge.contentTypeText},gr(e,r,n-r+1,[["enter",o,t],["enter",i,t],["exit",i,t],["exit",o,t]]);return e}function Swe(e,t,n){let r=0;return o;function o(p){return e.enter(y.atxHeading),i(p)}function i(p){return k(p===b.numberSign,"expected `#`"),e.enter(y.atxHeadingSequence),s(p)}function s(p){if(p===b.numberSign&&r++<ge.atxHeadingOpeningFenceSizeMax)return e.consume(p),s;if(p===b.eof||kn(p))return e.exit(y.atxHeadingSequence),c(p);return n(p)}function c(p){if(p===b.numberSign)return e.enter(y.atxHeadingSequence),l(p);if(p===b.eof||we(p))return e.exit(y.atxHeading),t(p);if(Ke(p))return ot(e,c,y.whitespace)(p);return e.enter(y.atxHeadingText),u(p)}function l(p){if(p===b.numberSign)return e.consume(p),l;return e.exit(y.atxHeadingSequence),c(p)}function u(p){if(p===b.eof||p===b.numberSign||kn(p))return e.exit(y.atxHeadingText),c(p);return e.consume(p),u}}var BK=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],vD=["pre","script","style","textarea"];var wD={concrete:!0,name:"htmlFlow",resolveTo:Twe,tokenize:Cwe},vwe={partial:!0,tokenize:Iwe},wwe={partial:!0,tokenize:Ewe};function Twe(e){let t=e.length;while(t--)if(e[t][0]==="enter"&&e[t][1].type===y.htmlFlow)break;if(t>1&&e[t-2][1].type===y.linePrefix)e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2);return e}function Cwe(e,t,n){let r=this,o,i,s,c,l;return u;function u(E){return p(E)}function p(E){return k(E===b.lessThan,"expected `<`"),e.enter(y.htmlFlow),e.enter(y.htmlFlowData),e.consume(E),d}function d(E){if(E===b.exclamationMark)return e.consume(E),g;if(E===b.slash)return e.consume(E),i=!0,w;if(E===b.questionMark)return e.consume(E),o=ge.htmlInstruction,r.interrupt?t:C;if(Mo(E))return k(E!==null),e.consume(E),s=String.fromCharCode(E),I;return n(E)}function g(E){if(E===b.dash)return e.consume(E),o=ge.htmlComment,f;if(E===b.leftSquareBracket)return e.consume(E),o=ge.htmlCdata,c=0,v;if(Mo(E))return e.consume(E),o=ge.htmlDeclaration,r.interrupt?t:C;return n(E)}function f(E){if(E===b.dash)return e.consume(E),r.interrupt?t:C;return n(E)}function v(E){let Vn=ge.cdataOpeningString;if(E===Vn.charCodeAt(c++)){if(e.consume(E),c===Vn.length)return r.interrupt?t:Y;return v}return n(E)}function w(E){if(Mo(E))return k(E!==null),e.consume(E),s=String.fromCharCode(E),I;return n(E)}function I(E){if(E===b.eof||E===b.slash||E===b.greaterThan||kn(E)){let Vn=E===b.slash,xn=s.toLowerCase();if(!Vn&&!i&&vD.includes(xn))return o=ge.htmlRaw,r.interrupt?t(E):Y(E);if(BK.includes(s.toLowerCase())){if(o=ge.htmlBasic,Vn)return e.consume(E),A;return r.interrupt?t(E):Y(E)}return o=ge.htmlComplete,r.interrupt&&!r.parser.lazy[r.now().line]?n(E):i?L(E):N(E)}if(E===b.dash||Vr(E))return e.consume(E),s+=String.fromCharCode(E),I;return n(E)}function A(E){if(E===b.greaterThan)return e.consume(E),r.interrupt?t:Y;return n(E)}function L(E){if(Ke(E))return e.consume(E),L;return te(E)}function N(E){if(E===b.slash)return e.consume(E),te;if(E===b.colon||E===b.underscore||Mo(E))return e.consume(E),re;if(Ke(E))return e.consume(E),N;return te(E)}function re(E){if(E===b.dash||E===b.dot||E===b.colon||E===b.underscore||Vr(E))return e.consume(E),re;return Ee(E)}function Ee(E){if(E===b.equalsTo)return e.consume(E),D;if(Ke(E))return e.consume(E),Ee;return N(E)}function D(E){if(E===b.eof||E===b.lessThan||E===b.equalsTo||E===b.greaterThan||E===b.graveAccent)return n(E);if(E===b.quotationMark||E===b.apostrophe)return e.consume(E),l=E,Ce;if(Ke(E))return e.consume(E),D;return ke(E)}function Ce(E){if(E===l)return e.consume(E),l=null,Me;if(E===b.eof||we(E))return n(E);return e.consume(E),Ce}function ke(E){if(E===b.eof||E===b.quotationMark||E===b.apostrophe||E===b.slash||E===b.lessThan||E===b.equalsTo||E===b.greaterThan||E===b.graveAccent||kn(E))return Ee(E);return e.consume(E),ke}function Me(E){if(E===b.slash||E===b.greaterThan||Ke(E))return N(E);return n(E)}function te(E){if(E===b.greaterThan)return e.consume(E),ce;return n(E)}function ce(E){if(E===b.eof||we(E))return Y(E);if(Ke(E))return e.consume(E),ce;return n(E)}function Y(E){if(E===b.dash&&o===ge.htmlComment)return e.consume(E),se;if(E===b.lessThan&&o===ge.htmlRaw)return e.consume(E),Qe;if(E===b.greaterThan&&o===ge.htmlDeclaration)return e.consume(E),Lt;if(E===b.questionMark&&o===ge.htmlInstruction)return e.consume(E),C;if(E===b.rightSquareBracket&&o===ge.htmlCdata)return e.consume(E),bn;if(we(E)&&(o===ge.htmlBasic||o===ge.htmlComplete))return e.exit(y.htmlFlowData),e.check(vwe,Jn,G)(E);if(E===b.eof||we(E))return e.exit(y.htmlFlowData),G(E);return e.consume(E),Y}function G(E){return e.check(wwe,me,Jn)(E)}function me(E){return k(we(E)),e.enter(y.lineEnding),e.consume(E),e.exit(y.lineEnding),xe}function xe(E){if(E===b.eof||we(E))return G(E);return e.enter(y.htmlFlowData),Y(E)}function se(E){if(E===b.dash)return e.consume(E),C;return Y(E)}function Qe(E){if(E===b.slash)return e.consume(E),s="",ft;return Y(E)}function ft(E){if(E===b.greaterThan){let Vn=s.toLowerCase();if(vD.includes(Vn))return e.consume(E),Lt;return Y(E)}if(Mo(E)&&s.length<ge.htmlRawSizeMax)return k(E!==null),e.consume(E),s+=String.fromCharCode(E),ft;return Y(E)}function bn(E){if(E===b.rightSquareBracket)return e.consume(E),C;return Y(E)}function C(E){if(E===b.greaterThan)return e.consume(E),Lt;if(E===b.dash&&o===ge.htmlComment)return e.consume(E),C;return Y(E)}function Lt(E){if(E===b.eof||we(E))return e.exit(y.htmlFlowData),Jn(E);return e.consume(E),Lt}function Jn(E){return e.exit(y.htmlFlow),t(E)}}function Ewe(e,t,n){let r=this;return o;function o(s){if(we(s))return e.enter(y.lineEnding),e.consume(s),e.exit(y.lineEnding),i;return n(s)}function i(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}function Iwe(e,t,n){return r;function r(o){return k(we(o),"expected a line ending"),e.enter(y.lineEnding),e.consume(o),e.exit(y.lineEnding),e.attempt(gl,t,n)}}var TD={name:"htmlText",tokenize:kwe};function kwe(e,t,n){let r=this,o,i,s;return c;function c(C){return k(C===b.lessThan,"expected `<`"),e.enter(y.htmlText),e.enter(y.htmlTextData),e.consume(C),l}function l(C){if(C===b.exclamationMark)return e.consume(C),u;if(C===b.slash)return e.consume(C),Ee;if(C===b.questionMark)return e.consume(C),N;if(Mo(C))return e.consume(C),ke;return n(C)}function u(C){if(C===b.dash)return e.consume(C),p;if(C===b.leftSquareBracket)return e.consume(C),i=0,v;if(Mo(C))return e.consume(C),L;return n(C)}function p(C){if(C===b.dash)return e.consume(C),f;return n(C)}function d(C){if(C===b.eof)return n(C);if(C===b.dash)return e.consume(C),g;if(we(C))return s=d,Qe(C);return e.consume(C),d}function g(C){if(C===b.dash)return e.consume(C),f;return d(C)}function f(C){return C===b.greaterThan?se(C):C===b.dash?g(C):d(C)}function v(C){let Lt=ge.cdataOpeningString;if(C===Lt.charCodeAt(i++))return e.consume(C),i===Lt.length?w:v;return n(C)}function w(C){if(C===b.eof)return n(C);if(C===b.rightSquareBracket)return e.consume(C),I;if(we(C))return s=w,Qe(C);return e.consume(C),w}function I(C){if(C===b.rightSquareBracket)return e.consume(C),A;return w(C)}function A(C){if(C===b.greaterThan)return se(C);if(C===b.rightSquareBracket)return e.consume(C),A;return w(C)}function L(C){if(C===b.eof||C===b.greaterThan)return se(C);if(we(C))return s=L,Qe(C);return e.consume(C),L}function N(C){if(C===b.eof)return n(C);if(C===b.questionMark)return e.consume(C),re;if(we(C))return s=N,Qe(C);return e.consume(C),N}function re(C){return C===b.greaterThan?se(C):N(C)}function Ee(C){if(Mo(C))return e.consume(C),D;return n(C)}function D(C){if(C===b.dash||Vr(C))return e.consume(C),D;return Ce(C)}function Ce(C){if(we(C))return s=Ce,Qe(C);if(Ke(C))return e.consume(C),Ce;return se(C)}function ke(C){if(C===b.dash||Vr(C))return e.consume(C),ke;if(C===b.slash||C===b.greaterThan||kn(C))return Me(C);return n(C)}function Me(C){if(C===b.slash)return e.consume(C),se;if(C===b.colon||C===b.underscore||Mo(C))return e.consume(C),te;if(we(C))return s=Me,Qe(C);if(Ke(C))return e.consume(C),Me;return se(C)}function te(C){if(C===b.dash||C===b.dot||C===b.colon||C===b.underscore||Vr(C))return e.consume(C),te;return ce(C)}function ce(C){if(C===b.equalsTo)return e.consume(C),Y;if(we(C))return s=ce,Qe(C);if(Ke(C))return e.consume(C),ce;return Me(C)}function Y(C){if(C===b.eof||C===b.lessThan||C===b.equalsTo||C===b.greaterThan||C===b.graveAccent)return n(C);if(C===b.quotationMark||C===b.apostrophe)return e.consume(C),o=C,G;if(we(C))return s=Y,Qe(C);if(Ke(C))return e.consume(C),Y;return e.consume(C),me}function G(C){if(C===o)return e.consume(C),o=void 0,xe;if(C===b.eof)return n(C);if(we(C))return s=G,Qe(C);return e.consume(C),G}function me(C){if(C===b.eof||C===b.quotationMark||C===b.apostrophe||C===b.lessThan||C===b.equalsTo||C===b.graveAccent)return n(C);if(C===b.slash||C===b.greaterThan||kn(C))return Me(C);return e.consume(C),me}function xe(C){if(C===b.slash||C===b.greaterThan||kn(C))return Me(C);return n(C)}function se(C){if(C===b.greaterThan)return e.consume(C),e.exit(y.htmlTextData),e.exit(y.htmlText),t;return n(C)}function Qe(C){return k(s,"expected return state"),k(we(C),"expected eol"),e.exit(y.htmlTextData),e.enter(y.lineEnding),e.consume(C),e.exit(y.lineEnding),ft}function ft(C){return k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),Ke(C)?ot(e,bn,y.linePrefix,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)(C):bn(C)}function bn(C){return e.enter(y.htmlTextData),s(C)}}var Yu={name:"labelEnd",resolveAll:Owe,resolveTo:Dwe,tokenize:Mwe},Rwe={tokenize:_we},Pwe={tokenize:zwe},Awe={tokenize:Fwe};function Owe(e){let t=-1,n=[];while(++t<e.length){let r=e[t][1];if(n.push(e[t]),r.type===y.labelImage||r.type===y.labelLink||r.type===y.labelEnd){let o=r.type===y.labelImage?4:2;r.type=y.data,t+=o}}if(e.length!==n.length)gr(e,0,e.length,n);return e}function Dwe(e,t){let n=e.length,r=0,o,i,s,c;while(n--)if(o=e[n][1],i){if(o.type===y.link||o.type===y.labelLink&&o._inactive)break;if(e[n][0]==="enter"&&o.type===y.labelLink)o._inactive=!0}else if(s){if(e[n][0]==="enter"&&(o.type===y.labelImage||o.type===y.labelLink)&&!o._balanced){if(i=n,o.type!==y.labelLink){r=2;break}}}else if(o.type===y.labelEnd)s=n;k(i!==void 0,"`open` is supposed to be found"),k(s!==void 0,"`close` is supposed to be found");let l={type:e[i][1].type===y.labelLink?y.link:y.image,start:{...e[i][1].start},end:{...e[e.length-1][1].end}},u={type:y.label,start:{...e[i][1].start},end:{...e[s][1].end}},p={type:y.labelText,start:{...e[i+r+2][1].end},end:{...e[s-2][1].start}};return c=[["enter",l,t],["enter",u,t]],c=Jr(c,e.slice(i+1,i+r+3)),c=Jr(c,[["enter",p,t]]),k(t.parser.constructs.insideSpan.null,"expected `insideSpan.null` to be populated"),c=Jr(c,fm(t.parser.constructs.insideSpan.null,e.slice(i+r+4,s-3),t)),c=Jr(c,[["exit",p,t],e[s-2],e[s-1],["exit",u,t]]),c=Jr(c,e.slice(s+1)),c=Jr(c,[["exit",l,t]]),gr(e,i,e.length,c),e}function Mwe(e,t,n){let r=this,o=r.events.length,i,s;while(o--)if((r.events[o][1].type===y.labelImage||r.events[o][1].type===y.labelLink)&&!r.events[o][1]._balanced){i=r.events[o][1];break}return c;function c(g){if(k(g===b.rightSquareBracket,"expected `]`"),!i)return n(g);if(i._inactive)return d(g);return s=r.parser.defined.includes(Ga(r.sliceSerialize({start:i.end,end:r.now()}))),e.enter(y.labelEnd),e.enter(y.labelMarker),e.consume(g),e.exit(y.labelMarker),e.exit(y.labelEnd),l}function l(g){if(g===b.leftParenthesis)return e.attempt(Rwe,p,s?p:d)(g);if(g===b.leftSquareBracket)return e.attempt(Pwe,p,s?u:d)(g);return s?p(g):d(g)}function u(g){return e.attempt(Awe,p,d)(g)}function p(g){return t(g)}function d(g){return i._balanced=!0,n(g)}}function _we(e,t,n){return r;function r(d){return k(d===b.leftParenthesis,"expected left paren"),e.enter(y.resource),e.enter(y.resourceMarker),e.consume(d),e.exit(y.resourceMarker),o}function o(d){return kn(d)?Ku(e,i)(d):i(d)}function i(d){if(d===b.rightParenthesis)return p(d);return qw(e,s,c,y.resourceDestination,y.resourceDestinationLiteral,y.resourceDestinationLiteralMarker,y.resourceDestinationRaw,y.resourceDestinationString,ge.linkResourceDestinationBalanceMax)(d)}function s(d){return kn(d)?Ku(e,l)(d):p(d)}function c(d){return n(d)}function l(d){if(d===b.quotationMark||d===b.apostrophe||d===b.leftParenthesis)return $w(e,u,n,y.resourceTitle,y.resourceTitleMarker,y.resourceTitleString)(d);return p(d)}function u(d){return kn(d)?Ku(e,p)(d):p(d)}function p(d){if(d===b.rightParenthesis)return e.enter(y.resourceMarker),e.consume(d),e.exit(y.resourceMarker),e.exit(y.resource),t;return n(d)}}function zwe(e,t,n){let r=this;return o;function o(c){return k(c===b.leftSquareBracket,"expected left bracket"),Zw.call(r,e,i,s,y.reference,y.referenceMarker,y.referenceString)(c)}function i(c){return r.parser.defined.includes(Ga(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(c):n(c)}function s(c){return n(c)}}function Fwe(e,t,n){return r;function r(i){return k(i===b.leftSquareBracket,"expected left bracket"),e.enter(y.reference),e.enter(y.referenceMarker),e.consume(i),e.exit(y.referenceMarker),o}function o(i){if(i===b.rightSquareBracket)return e.enter(y.referenceMarker),e.consume(i),e.exit(y.referenceMarker),e.exit(y.reference),t;return n(i)}}var CD={name:"labelStartImage",resolveAll:Yu.resolveAll,tokenize:Nwe};function Nwe(e,t,n){let r=this;return o;function o(c){return k(c===b.exclamationMark,"expected `!`"),e.enter(y.labelImage),e.enter(y.labelImageMarker),e.consume(c),e.exit(y.labelImageMarker),i}function i(c){if(c===b.leftSquareBracket)return e.enter(y.labelMarker),e.consume(c),e.exit(y.labelMarker),e.exit(y.labelImage),s;return n(c)}function s(c){return c===b.caret&&"_hiddenFootnoteSupport"in r.parser.constructs?n(c):t(c)}}var ED={name:"labelStartLink",resolveAll:Yu.resolveAll,tokenize:jwe};function jwe(e,t,n){let r=this;return o;function o(s){return k(s===b.leftSquareBracket,"expected `[`"),e.enter(y.labelLink),e.enter(y.labelMarker),e.consume(s),e.exit(y.labelMarker),e.exit(y.labelLink),i}function i(s){return s===b.caret&&"_hiddenFootnoteSupport"in r.parser.constructs?n(s):t(s)}}var Vh={name:"lineEnding",tokenize:Bwe};function Bwe(e,t){return n;function n(r){return k(we(r),"expected eol"),e.enter(y.lineEnding),e.consume(r),e.exit(y.lineEnding),ot(e,t,y.linePrefix)}}var Xu={name:"thematicBreak",tokenize:Lwe};function Lwe(e,t,n){let r=0,o;return i;function i(u){return e.enter(y.thematicBreak),s(u)}function s(u){return k(u===b.asterisk||u===b.dash||u===b.underscore,"expected `*`, `-`, or `_`"),o=u,c(u)}function c(u){if(u===o)return e.enter(y.thematicBreakSequence),l(u);if(r>=ge.thematicBreakMarkerCountMin&&(u===b.eof||we(u)))return e.exit(y.thematicBreak),t(u);return n(u)}function l(u){if(u===o)return e.consume(u),r++,l;return e.exit(y.thematicBreakSequence),Ke(u)?ot(e,c,y.whitespace)(u):c(u)}}var Mr={continuation:{tokenize:Uwe},exit:Hwe,name:"list",tokenize:$we},qwe={partial:!0,tokenize:Jwe},Zwe={partial:!0,tokenize:Wwe};function $we(e,t,n){let r=this,o=r.events[r.events.length-1],i=o&&o[1].type===y.linePrefix?o[2].sliceSerialize(o[1],!0).length:0,s=0;return c;function c(f){k(r.containerState,"expected state");let v=r.containerState.type||(f===b.asterisk||f===b.plusSign||f===b.dash?y.listUnordered:y.listOrdered);if(v===y.listUnordered?!r.containerState.marker||f===r.containerState.marker:Uh(f)){if(!r.containerState.type)r.containerState.type=v,e.enter(v,{_container:!0});if(v===y.listUnordered)return e.enter(y.listItemPrefix),f===b.asterisk||f===b.dash?e.check(Xu,n,u)(f):u(f);if(!r.interrupt||f===b.digit1)return e.enter(y.listItemPrefix),e.enter(y.listItemValue),l(f)}return n(f)}function l(f){if(k(r.containerState,"expected state"),Uh(f)&&++s<ge.listItemValueSizeMax)return e.consume(f),l;if((!r.interrupt||s<2)&&(r.containerState.marker?f===r.containerState.marker:f===b.rightParenthesis||f===b.dot))return e.exit(y.listItemValue),u(f);return n(f)}function u(f){return k(r.containerState,"expected state"),k(f!==b.eof,"eof (`null`) is not a marker"),e.enter(y.listItemMarker),e.consume(f),e.exit(y.listItemMarker),r.containerState.marker=r.containerState.marker||f,e.check(gl,r.interrupt?n:p,e.attempt(qwe,g,d))}function p(f){return k(r.containerState,"expected state"),r.containerState.initialBlankLine=!0,i++,g(f)}function d(f){if(Ke(f))return e.enter(y.listItemPrefixWhitespace),e.consume(f),e.exit(y.listItemPrefixWhitespace),g;return n(f)}function g(f){return k(r.containerState,"expected state"),r.containerState.size=i+r.sliceSerialize(e.exit(y.listItemPrefix),!0).length,t(f)}}function Uwe(e,t,n){let r=this;return k(r.containerState,"expected state"),r.containerState._closeFlow=void 0,e.check(gl,o,i);function o(c){return k(r.containerState,"expected state"),k(typeof r.containerState.size==="number","expected size"),r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ot(e,t,y.listItemIndent,r.containerState.size+1)(c)}function i(c){if(k(r.containerState,"expected state"),r.containerState.furtherBlankLines||!Ke(c))return r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(c);return r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Zwe,t,s)(c)}function s(c){return k(r.containerState,"expected state"),r.containerState._closeFlow=!0,r.interrupt=void 0,k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),ot(e,e.attempt(Mr,t,n),y.linePrefix,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)(c)}}function Wwe(e,t,n){let r=this;return k(r.containerState,"expected state"),k(typeof r.containerState.size==="number","expected size"),ot(e,o,y.listItemIndent,r.containerState.size+1);function o(i){k(r.containerState,"expected state");let s=r.events[r.events.length-1];return s&&s[1].type===y.listItemIndent&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?t(i):n(i)}}function Hwe(e){k(this.containerState,"expected state"),k(typeof this.containerState.type==="string","expected type"),e.exit(this.containerState.type)}function Jwe(e,t,n){let r=this;return k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),ot(e,o,y.listItemPrefixWhitespace,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize+1);function o(i){let s=r.events[r.events.length-1];return!Ke(i)&&s&&s[1].type===y.listItemPrefixWhitespace?t(i):n(i)}}var Uw={name:"setextUnderline",resolveTo:Vwe,tokenize:Gwe};function Vwe(e,t){let n=e.length,r,o,i;while(n--)if(e[n][0]==="enter"){if(e[n][1].type===y.content){r=n;break}if(e[n][1].type===y.paragraph)o=n}else{if(e[n][1].type===y.content)e.splice(n,1);if(!i&&e[n][1].type===y.definition)i=n}k(o!==void 0,"expected a `text` index to be found"),k(r!==void 0,"expected a `text` index to be found"),k(e[r][2]===t,"enter context should be same"),k(e[e.length-1][2]===t,"enter context should be same");let s={type:y.setextHeading,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};if(e[o][1].type=y.setextHeadingText,i)e.splice(o,0,["enter",s,t]),e.splice(i+1,0,["exit",e[r][1],t]),e[r][1].end={...e[i][1].end};else e[r][1]=s;return e.push(["exit",s,t]),e}function Gwe(e,t,n){let r=this,o;return i;function i(u){let p=r.events.length,d;k(u===b.dash||u===b.equalsTo,"expected `=` or `-`");while(p--)if(r.events[p][1].type!==y.lineEnding&&r.events[p][1].type!==y.linePrefix&&r.events[p][1].type!==y.content){d=r.events[p][1].type===y.paragraph;break}if(!r.parser.lazy[r.now().line]&&(r.interrupt||d))return e.enter(y.setextHeadingLine),o=u,s(u);return n(u)}function s(u){return e.enter(y.setextHeadingLineSequence),c(u)}function c(u){if(u===o)return e.consume(u),c;return e.exit(y.setextHeadingLineSequence),Ke(u)?ot(e,l,y.lineSuffix)(u):l(u)}function l(u){if(u===b.eof||we(u))return e.exit(y.setextHeadingLine),t(u);return n(u)}}var LK={tokenize:Qwe};function Qwe(e){let t=this,n=e.attempt(gl,r,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(yD,o)),y.linePrefix)));return n;function r(i){if(k(i===b.eof||we(i),"expected eol or eof"),i===b.eof){e.consume(i);return}return e.enter(y.lineEndingBlank),e.consume(i),e.exit(y.lineEndingBlank),t.currentConstruct=void 0,n}function o(i){if(k(i===b.eof||we(i),"expected eol or eof"),i===b.eof){e.consume(i);return}return e.enter(y.lineEnding),e.consume(i),e.exit(y.lineEnding),t.currentConstruct=void 0,n}}var qK={resolveAll:WK()},ZK=UK("string"),$K=UK("text");function UK(e){return{resolveAll:WK(e==="text"?Kwe:void 0),tokenize:t};function t(n){let r=this,o=this.parser.constructs[e],i=n.attempt(o,s,c);return s;function s(p){return u(p)?i(p):c(p)}function c(p){if(p===b.eof){n.consume(p);return}return n.enter(y.data),n.consume(p),l}function l(p){if(u(p))return n.exit(y.data),i(p);return n.consume(p),l}function u(p){if(p===b.eof)return!0;let d=o[p],g=-1;if(d){k(Array.isArray(d),"expected `disable.null` to be populated");while(++g<d.length){let f=d[g];if(!f.previous||f.previous.call(r,r.previous))return!0}}return!1}}}function WK(e){return t;function t(n,r){let o=-1,i;while(++o<=n.length)if(i===void 0){if(n[o]&&n[o][1].type===y.data)i=o,o++}else if(!n[o]||n[o][1].type!==y.data){if(o!==i+2)n[i][1].end=n[o-1][1].end,n.splice(i+2,o-i-2),o=i+2;i=void 0}return e?e(n,r):n}}function Kwe(e,t){let n=0;while(++n<=e.length)if((n===e.length||e[n][1].type===y.lineEnding)&&e[n-1][1].type===y.data){let r=e[n-1][1],o=t.sliceStream(r),i=o.length,s=-1,c=0,l;while(i--){let u=o[i];if(typeof u==="string"){s=u.length;while(u.charCodeAt(s-1)===b.space)c++,s--;if(s)break;s=-1}else if(u===b.horizontalTab)l=!0,c++;else if(u===b.virtualSpace);else{i++;break}}if(t._contentTypeTextTrailing&&n===e.length)c=0;if(c){let u={type:n===e.length||l||c<ge.hardBreakPrefixSizeMin?y.lineSuffix:y.hardBreakTrailing,start:{_bufferIndex:i?s:r.start._bufferIndex+s,_index:r.start._index+i,line:r.end.line,column:r.end.column-c,offset:r.end.offset-c},end:{...r.end}};if(r.end={...u.start},r.start.offset===r.end.offset)Object.assign(r,u);else e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2}n++}return e}var ID={};Xr(ID,{attentionMarkers:()=>iTe,contentInitial:()=>Xwe,disable:()=>sTe,document:()=>Ywe,flow:()=>tTe,flowInitial:()=>eTe,insideSpan:()=>oTe,string:()=>nTe,text:()=>rTe});var Ywe={[b.asterisk]:Mr,[b.plusSign]:Mr,[b.dash]:Mr,[b.digit0]:Mr,[b.digit1]:Mr,[b.digit2]:Mr,[b.digit3]:Mr,[b.digit4]:Mr,[b.digit5]:Mr,[b.digit6]:Mr,[b.digit7]:Mr,[b.digit8]:Mr,[b.digit9]:Mr,[b.greaterThan]:Fw},Xwe={[b.leftSquareBracket]:bD},eTe={[b.horizontalTab]:Hh,[b.virtualSpace]:Hh,[b.space]:Hh},tTe={[b.numberSign]:SD,[b.asterisk]:Xu,[b.dash]:[Uw,Xu],[b.lessThan]:wD,[b.equalsTo]:Uw,[b.underscore]:Xu,[b.graveAccent]:Bw,[b.tilde]:Bw},nTe={[b.ampersand]:jw,[b.backslash]:Nw},rTe={[b.carriageReturn]:Vh,[b.lineFeed]:Vh,[b.carriageReturnLineFeed]:Vh,[b.exclamationMark]:CD,[b.ampersand]:jw,[b.asterisk]:Wh,[b.lessThan]:[fD,TD],[b.leftSquareBracket]:ED,[b.backslash]:[xD,Nw],[b.rightSquareBracket]:Yu,[b.underscore]:Wh,[b.graveAccent]:gD},oTe={null:[Wh,qK]},iTe={null:[b.asterisk,b.underscore]},sTe={null:[]};var a3=Hv(s3(),1);var np=a3.default("micromark");function c3(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},o={},i=[],s=[],c=[],l=!0,u={attempt:Me(Ce),check:Me(ke),consume:re,enter:Ee,exit:D,interrupt:Me(ke,{interrupt:!0})},p={code:b.eof,containerState:{},defineSkip:A,events:[],now:I,parser:e,previous:b.eof,sliceSerialize:v,sliceStream:w,write:f},d=t.tokenize.call(p,u),g;if(t.resolveAll)i.push(t);return p;function f(G){if(s=Jr(s,G),L(),s[s.length-1]!==b.eof)return[];return te(t,0),p.events=fm(i,p.events,p),p.events}function v(G,me){return UTe(w(G),me)}function w(G){return $Te(s,G)}function I(){let{_bufferIndex:G,_index:me,line:xe,column:se,offset:Qe}=r;return{_bufferIndex:G,_index:me,line:xe,column:se,offset:Qe}}function A(G){o[G.line]=G.column,Y(),np("position: define skip: `%j`",r)}function L(){let G;while(r._index<s.length){let me=s[r._index];if(typeof me==="string"){if(G=r._index,r._bufferIndex<0)r._bufferIndex=0;while(r._index===G&&r._bufferIndex<me.length)N(me.charCodeAt(r._bufferIndex))}else N(me)}}function N(G){k(l===!0,"expected character to be consumed"),l=void 0,np("main: passing `%s` to %s",G,d&&d.name),g=G,k(typeof d==="function","expected state"),d=d(G)}function re(G){if(k(G===g,"expected given code to equal expected code"),np("consume: `%s`",G),k(l===void 0,"expected code to not have been consumed: this might be because `return x(code)` instead of `return x` was used"),k(G===null?p.events.length===0||p.events[p.events.length-1][0]==="exit":p.events[p.events.length-1][0]==="enter","expected last token to be open"),we(G))r.line++,r.column=1,r.offset+=G===b.carriageReturnLineFeed?2:1,Y(),np("position: after eol: `%j`",r);else if(G!==b.virtualSpace)r.column++,r.offset++;if(r._bufferIndex<0)r._index++;else if(r._bufferIndex++,r._bufferIndex===s[r._index].length)r._bufferIndex=-1,r._index++;p.previous=G,l=!0}function Ee(G,me){let xe=me||{};return xe.type=G,xe.start=I(),k(typeof G==="string","expected string type"),k(G.length>0,"expected non-empty string"),np("enter: `%s`",G),p.events.push(["enter",xe,p]),c.push(xe),xe}function D(G){k(typeof G==="string","expected string type"),k(G.length>0,"expected non-empty string");let me=c.pop();return k(me,"cannot close w/o open tokens"),me.end=I(),k(G===me.type,"expected exit token to match current token"),k(!(me.start._index===me.end._index&&me.start._bufferIndex===me.end._bufferIndex),"expected non-empty token (`"+G+"`)"),np("exit: `%s`",me.type),p.events.push(["exit",me,p]),me}function Ce(G,me){te(G,me.from)}function ke(G,me){me.restore()}function Me(G,me){return xe;function xe(se,Qe,ft){let bn,C,Lt,Jn;return Array.isArray(se)?Vn(se):("tokenize"in se)?Vn([se]):E(se);function E(qt){return Mt;function Mt(yr){let ar=yr!==null&&qt[yr],xi=yr!==null&&qt.null,ic=[...Array.isArray(ar)?ar:ar?[ar]:[],...Array.isArray(xi)?xi:xi?[xi]:[]];return Vn(ic)(yr)}}function Vn(qt){if(bn=qt,C=0,qt.length===0)return k(ft,"expected `bogusState` to be given"),ft;return xn(qt[C])}function xn(qt){return Mt;function Mt(yr){if(Jn=ce(),Lt=qt,!qt.partial)p.currentConstruct=qt;if(k(p.parser.constructs.disable.null,"expected `disable.null` to be populated"),qt.name&&p.parser.constructs.disable.null.includes(qt.name))return Kr(yr);return qt.tokenize.call(me?Object.assign(Object.create(p),me):p,u,Fo,Kr)(yr)}}function Fo(qt){return k(qt===g,"expected code"),l=!0,G(Lt,Jn),Qe}function Kr(qt){if(k(qt===g,"expected code"),l=!0,Jn.restore(),++C<bn.length)return xn(bn[C]);return ft}}}function te(G,me){if(G.resolveAll&&!i.includes(G))i.push(G);if(G.resolve)gr(p.events,me,p.events.length-me,G.resolve(p.events.slice(me),p));if(G.resolveTo)p.events=G.resolveTo(p.events,p);k(G.partial||p.events.length===0||p.events[p.events.length-1][0]==="exit","expected last token to end")}function ce(){let G=I(),me=p.previous,xe=p.currentConstruct,se=p.events.length,Qe=Array.from(c);return{from:se,restore:ft};function ft(){r=G,p.previous=me,p.currentConstruct=xe,p.events.length=se,c=Qe,Y(),np("position: restore: `%j`",r)}}function Y(){if(r.line in o&&r.column<2)r.column=o[r.line],r.offset+=o[r.line]-1}}function $Te(e,t){let n=t.start._index,r=t.start._bufferIndex,o=t.end._index,i=t.end._bufferIndex,s;if(n===o)k(i>-1,"expected non-negative end buffer index"),k(r>-1,"expected non-negative start buffer index"),s=[e[n].slice(r,i)];else{if(s=e.slice(n,o),r>-1){let c=s[0];if(typeof c==="string")s[0]=c.slice(r);else k(r===0,"expected `startBufferIndex` to be `0`"),s.shift()}if(i>0)s.push(e[o].slice(0,i))}return s}function UTe(e,t){let n=-1,r=[],o;while(++n<e.length){let i=e[n],s;if(typeof i==="string")s=i;else switch(i){case b.carriageReturn:{s=Do.cr;break}case b.lineFeed:{s=Do.lf;break}case b.carriageReturnLineFeed:{s=Do.cr+Do.lf;break}case b.horizontalTab:{s=t?Do.space:Do.ht;break}case b.virtualSpace:{if(!t&&o)continue;s=Do.space;break}default:k(typeof i==="number","expected number"),s=String.fromCharCode(i)}o=i===b.horizontalTab,r.push(s)}return r.join("")}function OD(e){let r={constructs:kK([ID,...(e||{}).extensions||[]]),content:o(MK),defined:[],document:o(zK),flow:o(LK),lazy:{},string:o(ZK),text:o($K)};return r;function o(i){return s;function s(c){return c3(r,i,c)}}}function DD(e){while(!Lw(e));return e}var l3=/[\0\t\n\r]/g;function MD(){let e=1,t="",n=!0,r;return o;function o(i,s,c){let l=[],u,p,d,g,f;if(i=t+(typeof i==="string"?i.toString():new TextDecoder(s||void 0).decode(i)),d=0,t="",n){if(i.charCodeAt(0)===b.byteOrderMarker)d++;n=void 0}while(d<i.length){if(l3.lastIndex=d,u=l3.exec(i),g=u&&u.index!==void 0?u.index:i.length,f=i.charCodeAt(g),!u){t=i.slice(d);break}if(f===b.lf&&d===g&&r)l.push(b.carriageReturnLineFeed),r=void 0;else{if(r)l.push(b.carriageReturn),r=void 0;if(d<g)l.push(i.slice(d,g)),e+=g-d;switch(f){case b.nul:{l.push(b.replacementCharacter),e++;break}case b.ht:{p=Math.ceil(e/ge.tabSize)*ge.tabSize,l.push(b.horizontalTab);while(e++<p)l.push(b.virtualSpace);break}case b.lf:{l.push(b.lineFeed),e=1;break}default:r=!0,e=1}}d=g+1}if(c){if(r)l.push(b.carriageReturn);if(t)l.push(t);l.push(b.eof)}return l}}var WTe=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Qw(e){return e.replace(WTe,HTe)}function HTe(e,t,n){if(t)return t;if(n.charCodeAt(0)===b.numberSign){let o=n.charCodeAt(1),i=o===b.lowercaseX||o===b.uppercaseX;return zw(n.slice(i?2:1),i?ge.numericBaseHexadecimal:ge.numericBaseDecimal)}return dm(n)||e}function bl(e){if(!e||typeof e!=="object")return"";if("position"in e||"type"in e)return u3(e.position);if("start"in e||"end"in e)return u3(e);if("line"in e||"column"in e)return _D(e);return""}function _D(e){return p3(e&&e.line)+":"+p3(e&&e.column)}function u3(e){return _D(e&&e.start)+"-"+_D(e&&e.end)}function p3(e){return e&&typeof e==="number"?e:1}var m3={}.hasOwnProperty;function zD(e,t,n){if(t&&typeof t==="object")n=t,t=void 0;return JTe(n)(DD(OD(n).document().write(MD()(e,t,!0))))}function JTe(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:i(fp),autolinkProtocol:Me,autolinkEmail:Me,atxHeading:i(Il),blockQuote:i(yr),characterEscape:Me,characterReference:Me,codeFenced:i(ar),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:i(ar,s),codeText:i(xi,s),codeTextData:Me,data:Me,codeFlowValue:Me,definition:i(ic),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:i(El),hardBreakEscape:i(kl),hardBreakTrailing:i(kl),htmlFlow:i(No,s),htmlFlowData:Me,htmlText:i(No,s),htmlTextData:Me,image:i(mp),label:s,link:i(fp),listItem:i(gp),listItemValue:g,listOrdered:i(Rl,d),listUnordered:i(Rl),paragraph:i(Um),reference:E,referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:i(Il),strong:i(Si),thematicBreak:i(hp)},exit:{atxHeading:l(),atxHeadingSequence:Ee,autolink:l(),autolinkEmail:Mt,autolinkProtocol:qt,blockQuote:l(),characterEscapeValue:te,characterReferenceMarkerHexadecimal:xn,characterReferenceMarkerNumeric:xn,characterReferenceValue:Fo,characterReference:Kr,codeFenced:l(I),codeFencedFence:w,codeFencedFenceInfo:f,codeFencedFenceMeta:v,codeFlowValue:te,codeIndented:l(A),codeText:l(xe),codeTextData:te,data:te,definition:l(),definitionDestinationString:re,definitionLabelString:L,definitionTitleString:N,emphasis:l(),hardBreakEscape:l(Y),hardBreakTrailing:l(Y),htmlFlow:l(G),htmlFlowData:te,htmlText:l(me),htmlTextData:te,image:l(Qe),label:bn,labelText:ft,lineEnding:ce,link:l(se),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:Vn,resourceDestinationString:C,resourceTitleString:Lt,resource:Jn,setextHeading:l(ke),setextHeadingLineSequence:Ce,setextHeadingText:D,strong:l(),thematicBreak:l()}};f3(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(W){let J={type:"root",children:[]},m={stack:[J],tokenStack:[],config:t,enter:c,exit:u,buffer:s,resume:p,data:n},P=[],j=-1;while(++j<W.length)if(W[j][1].type===y.listOrdered||W[j][1].type===y.listUnordered)if(W[j][0]==="enter")P.push(j);else{let V=P.pop();k(typeof V==="number","expected list to be open"),j=o(W,V,j)}j=-1;while(++j<W.length){let V=t[W[j][0]];if(m3.call(V,W[j][1].type))V[W[j][1].type].call(Object.assign({sliceSerialize:W[j][2].sliceSerialize},m),W[j][1])}if(m.tokenStack.length>0){let V=m.tokenStack[m.tokenStack.length-1];(V[1]||d3).call(m,void 0,V[0])}J.position={start:xl(W.length>0?W[0][1].start:{line:1,column:1,offset:0}),end:xl(W.length>0?W[W.length-2][1].end:{line:1,column:1,offset:0})},j=-1;while(++j<t.transforms.length)J=t.transforms[j](J)||J;return J}function o(W,J,m){let P=J-1,j=-1,V=!1,B,ie,x,F;while(++P<=m){let ne=W[P];switch(ne[1].type){case y.listUnordered:case y.listOrdered:case y.blockQuote:{if(ne[0]==="enter")j++;else j--;F=void 0;break}case y.lineEndingBlank:{if(ne[0]==="enter"){if(B&&!F&&!j&&!x)x=P;F=void 0}break}case y.linePrefix:case y.listItemValue:case y.listItemMarker:case y.listItemPrefix:case y.listItemPrefixWhitespace:break;default:F=void 0}if(!j&&ne[0]==="enter"&&ne[1].type===y.listItemPrefix||j===-1&&ne[0]==="exit"&&(ne[1].type===y.listUnordered||ne[1].type===y.listOrdered)){if(B){let Q=P;ie=void 0;while(Q--){let K=W[Q];if(K[1].type===y.lineEnding||K[1].type===y.lineEndingBlank){if(K[0]==="exit")continue;if(ie)W[ie][1].type=y.lineEndingBlank,V=!0;K[1].type=y.lineEnding,ie=Q}else if(K[1].type===y.linePrefix||K[1].type===y.blockQuotePrefix||K[1].type===y.blockQuotePrefixWhitespace||K[1].type===y.blockQuoteMarker||K[1].type===y.listItemIndent);else break}if(x&&(!ie||x<ie))B._spread=!0;B.end=Object.assign({},ie?W[ie][1].start:ne[1].end),W.splice(ie||P,0,["exit",B,ne[2]]),P++,m++}if(ne[1].type===y.listItemPrefix){let Q={type:"listItem",_spread:!1,start:Object.assign({},ne[1].start),end:void 0};B=Q,W.splice(P,0,["enter",Q,ne[2]]),P++,m++,x=void 0,F=!0}}}return W[J][1]._spread=V,m}function i(W,J){return m;function m(P){if(c.call(this,W(P),P),J)J.call(this,P)}}function s(){this.stack.push({type:"fragment",children:[]})}function c(W,J,m){let P=this.stack[this.stack.length-1];k(P,"expected `parent`"),k("children"in P,"expected `parent`"),P.children.push(W),this.stack.push(W),this.tokenStack.push([J,m||void 0]),W.position={start:xl(J.start),end:void 0}}function l(W){return J;function J(m){if(W)W.call(this,m);u.call(this,m)}}function u(W,J){let m=this.stack.pop();k(m,"expected `node`");let P=this.tokenStack.pop();if(!P)throw Error("Cannot close `"+W.type+"` ("+bl({start:W.start,end:W.end})+"): it\u2019s not open");else if(P[0].type!==W.type)if(J)J.call(this,W,P[0]);else(P[1]||d3).call(this,W,P[0]);k(m.type!=="fragment","unexpected fragment `exit`ed"),k(m.position,"expected `position` to be defined"),m.position.end=xl(W.end)}function p(){return Va(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function g(W){if(this.data.expectingFirstListItemValue){let J=this.stack[this.stack.length-2];k(J,"expected nodes on stack"),k(J.type==="list","expected list on stack"),J.start=Number.parseInt(this.sliceSerialize(W),ge.numericBaseDecimal),this.data.expectingFirstListItemValue=void 0}}function f(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="code","expected code on stack"),J.lang=W}function v(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="code","expected code on stack"),J.meta=W}function w(){if(this.data.flowCodeInside)return;this.buffer(),this.data.flowCodeInside=!0}function I(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="code","expected code on stack"),J.value=W.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function A(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="code","expected code on stack"),J.value=W.replace(/(\r?\n|\r)$/g,"")}function L(W){let J=this.resume(),m=this.stack[this.stack.length-1];k(m,"expected node on stack"),k(m.type==="definition","expected definition on stack"),m.label=J,m.identifier=Ga(this.sliceSerialize(W)).toLowerCase()}function N(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="definition","expected definition on stack"),J.title=W}function re(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="definition","expected definition on stack"),J.url=W}function Ee(W){let J=this.stack[this.stack.length-1];if(k(J,"expected node on stack"),k(J.type==="heading","expected heading on stack"),!J.depth){let m=this.sliceSerialize(W).length;k(m===1||m===2||m===3||m===4||m===5||m===6,"expected `depth` between `1` and `6`"),J.depth=m}}function D(){this.data.setextHeadingSlurpLineEnding=!0}function Ce(W){let J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="heading","expected heading on stack"),J.depth=this.sliceSerialize(W).codePointAt(0)===b.equalsTo?1:2}function ke(){this.data.setextHeadingSlurpLineEnding=void 0}function Me(W){let J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k("children"in J,"expected parent on stack");let m=J.children,P=m[m.length-1];if(!P||P.type!=="text")P=Wm(),P.position={start:xl(W.start),end:void 0},m.push(P);this.stack.push(P)}function te(W){let J=this.stack.pop();k(J,"expected a `node` to be on the stack"),k("value"in J,"expected a `literal` to be on the stack"),k(J.position,"expected `node` to have an open position"),J.value+=this.sliceSerialize(W),J.position.end=xl(W.end)}function ce(W){let J=this.stack[this.stack.length-1];if(k(J,"expected `node`"),this.data.atHardBreak){k("children"in J,"expected `parent`");let m=J.children[J.children.length-1];k(m.position,"expected tail to have a starting position"),m.position.end=xl(W.end),this.data.atHardBreak=void 0;return}if(!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(J.type))Me.call(this,W),te.call(this,W)}function Y(){this.data.atHardBreak=!0}function G(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="html","expected html on stack"),J.value=W}function me(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="html","expected html on stack"),J.value=W}function xe(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="inlineCode","expected inline code on stack"),J.value=W}function se(){let W=this.stack[this.stack.length-1];if(k(W,"expected node on stack"),k(W.type==="link","expected link on stack"),this.data.inReference){let J=this.data.referenceType||"shortcut";W.type+="Reference",W.referenceType=J,delete W.url,delete W.title}else delete W.identifier,delete W.label;this.data.referenceType=void 0}function Qe(){let W=this.stack[this.stack.length-1];if(k(W,"expected node on stack"),k(W.type==="image","expected image on stack"),this.data.inReference){let J=this.data.referenceType||"shortcut";W.type+="Reference",W.referenceType=J,delete W.url,delete W.title}else delete W.identifier,delete W.label;this.data.referenceType=void 0}function ft(W){let J=this.sliceSerialize(W),m=this.stack[this.stack.length-2];k(m,"expected ancestor on stack"),k(m.type==="image"||m.type==="link","expected image or link on stack"),m.label=Qw(J),m.identifier=Ga(J).toLowerCase()}function bn(){let W=this.stack[this.stack.length-1];k(W,"expected node on stack"),k(W.type==="fragment","expected fragment on stack");let J=this.resume(),m=this.stack[this.stack.length-1];if(k(m,"expected node on stack"),k(m.type==="image"||m.type==="link","expected image or link on stack"),this.data.inReference=!0,m.type==="link"){let P=W.children;m.children=P}else m.alt=J}function C(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="image"||J.type==="link","expected image or link on stack"),J.url=W}function Lt(){let W=this.resume(),J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="image"||J.type==="link","expected image or link on stack"),J.title=W}function Jn(){this.data.inReference=void 0}function E(){this.data.referenceType="collapsed"}function Vn(W){let J=this.resume(),m=this.stack[this.stack.length-1];k(m,"expected node on stack"),k(m.type==="image"||m.type==="link","expected image reference or link reference on stack"),m.label=J,m.identifier=Ga(this.sliceSerialize(W)).toLowerCase(),this.data.referenceType="full"}function xn(W){k(W.type==="characterReferenceMarkerNumeric"||W.type==="characterReferenceMarkerHexadecimal"),this.data.characterReferenceType=W.type}function Fo(W){let J=this.sliceSerialize(W),m=this.data.characterReferenceType,P;if(m)P=zw(J,m===y.characterReferenceMarkerNumeric?ge.numericBaseDecimal:ge.numericBaseHexadecimal),this.data.characterReferenceType=void 0;else{let V=dm(J);k(V!==!1,"expected reference to decode"),P=V}let j=this.stack[this.stack.length-1];k(j,"expected `node`"),k("value"in j,"expected `node.value`"),j.value+=P}function Kr(W){let J=this.stack.pop();k(J,"expected `node`"),k(J.position,"expected `node.position`"),J.position.end=xl(W.end)}function qt(W){te.call(this,W);let J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="link","expected link on stack"),J.url=this.sliceSerialize(W)}function Mt(W){te.call(this,W);let J=this.stack[this.stack.length-1];k(J,"expected node on stack"),k(J.type==="link","expected link on stack"),J.url="mailto:"+this.sliceSerialize(W)}function yr(){return{type:"blockquote",children:[]}}function ar(){return{type:"code",lang:null,meta:null,value:""}}function xi(){return{type:"inlineCode",value:""}}function ic(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function El(){return{type:"emphasis",children:[]}}function Il(){return{type:"heading",depth:0,children:[]}}function kl(){return{type:"break"}}function No(){return{type:"html",value:""}}function mp(){return{type:"image",title:null,url:"",alt:null}}function fp(){return{type:"link",title:null,url:"",children:[]}}function Rl(W){return{type:"list",ordered:W.type==="listOrdered",start:null,spread:W._spread,children:[]}}function gp(W){return{type:"listItem",spread:W._spread,checked:null,children:[]}}function Um(){return{type:"paragraph",children:[]}}function Si(){return{type:"strong",children:[]}}function Wm(){return{type:"text",value:""}}function hp(){return{type:"thematicBreak"}}}function xl(e){return{line:e.line,column:e.column,offset:e.offset}}function f3(e,t){let n=-1;while(++n<t.length){let r=t[n];if(Array.isArray(r))f3(e,r);else VTe(e,r)}}function VTe(e,t){let n;for(n in t)if(m3.call(t,n))switch(n){case"canContainEols":{let r=t[n];if(r)e[n].push(...r);break}case"transforms":{let r=t[n];if(r)e[n].push(...r);break}case"enter":case"exit":{let r=t[n];if(r)Object.assign(e[n],r);break}}}function d3(e,t){if(e)throw Error("Cannot close `"+e.type+"` ("+bl({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+bl({start:t.start,end:t.end})+") is open");else throw Error("Cannot close document, a token (`"+t.type+"`, "+bl({start:t.start,end:t.end})+") is still open")}function Kw(e){let t=this;t.parser=n;function n(r){return zD(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}var g3={}.hasOwnProperty;function h3(e,t){let n=t||{};function r(o,...i){let{invalid:s,handlers:c}=r;if(o&&g3.call(o,e)){let l=String(o[e]);s=g3.call(c,l)?c[l]:r.unknown}if(s)return s.call(this,o,...i)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var GTe={}.hasOwnProperty;function FD(e,t){let n=-1,r;if(t.extensions)while(++n<t.extensions.length)FD(e,t.extensions[n]);for(r in t)if(GTe.call(t,r))switch(r){case"extensions":break;case"unsafe":{y3(e[r],t[r]);break}case"join":{y3(e[r],t[r]);break}case"handlers":{QTe(e[r],t[r]);break}default:e.options[r]=t[r]}return e}function y3(e,t){if(t)e.push(...t)}function QTe(e,t){if(t)Object.assign(e,t)}function b3(e,t,n,r){let o=n.enter("blockquote"),i=n.createTracker(r);i.move("> "),i.shift(2);let s=n.indentLines(n.containerFlow(e,i.current()),KTe);return o(),s}function KTe(e,t,n){return">"+(n?"":" ")+e}function Yw(e,t){return x3(e,t.inConstruct,!0)&&!x3(e,t.notInConstruct,!1)}function x3(e,t,n){if(typeof t==="string")t=[t];if(!t||t.length===0)return n;let r=-1;while(++r<t.length)if(e.includes(t[r]))return!0;return!1}function ND(e,t,n,r){let o=-1;while(++o<n.unsafe.length)if(n.unsafe[o].character===`
79
+ `,cr:"\r",space:" ",exclamationMark:"!",quotationMark:'"',numberSign:"#",dollarSign:"$",percentSign:"%",ampersand:"&",apostrophe:"'",leftParenthesis:"(",rightParenthesis:")",asterisk:"*",plusSign:"+",comma:",",dash:"-",dot:".",slash:"/",digit0:"0",digit1:"1",digit2:"2",digit3:"3",digit4:"4",digit5:"5",digit6:"6",digit7:"7",digit8:"8",digit9:"9",colon:":",semicolon:";",lessThan:"<",equalsTo:"=",greaterThan:">",questionMark:"?",atSign:"@",uppercaseA:"A",uppercaseB:"B",uppercaseC:"C",uppercaseD:"D",uppercaseE:"E",uppercaseF:"F",uppercaseG:"G",uppercaseH:"H",uppercaseI:"I",uppercaseJ:"J",uppercaseK:"K",uppercaseL:"L",uppercaseM:"M",uppercaseN:"N",uppercaseO:"O",uppercaseP:"P",uppercaseQ:"Q",uppercaseR:"R",uppercaseS:"S",uppercaseT:"T",uppercaseU:"U",uppercaseV:"V",uppercaseW:"W",uppercaseX:"X",uppercaseY:"Y",uppercaseZ:"Z",leftSquareBracket:"[",backslash:"\\",rightSquareBracket:"]",caret:"^",underscore:"_",graveAccent:"`",lowercaseA:"a",lowercaseB:"b",lowercaseC:"c",lowercaseD:"d",lowercaseE:"e",lowercaseF:"f",lowercaseG:"g",lowercaseH:"h",lowercaseI:"i",lowercaseJ:"j",lowercaseK:"k",lowercaseL:"l",lowercaseM:"m",lowercaseN:"n",lowercaseO:"o",lowercaseP:"p",lowercaseQ:"q",lowercaseR:"r",lowercaseS:"s",lowercaseT:"t",lowercaseU:"u",lowercaseV:"v",lowercaseW:"w",lowercaseX:"x",lowercaseY:"y",lowercaseZ:"z",leftCurlyBrace:"{",verticalBar:"|",rightCurlyBrace:"}",tilde:"~",replacementCharacter:"\uFFFD"};function gr(e,t,n,r){let o=e.length,i=0,s;if(t<0)t=-t>o?0:o+t;else t=t>o?o:t;if(n=n>0?n:0,r.length<ge.v8MaxSafeChunkSize)s=Array.from(r),s.unshift(t,n),e.splice(...s);else{if(n)e.splice(t,n);while(i<r.length)s=r.slice(i,i+ge.v8MaxSafeChunkSize),s.unshift(t,0),e.splice(...s),i+=ge.v8MaxSafeChunkSize,t+=ge.v8MaxSafeChunkSize}}function Jr(e,t){if(e.length>0)return gr(e,e.length,0,t),e;return t}var IK={}.hasOwnProperty;function kK(e){let t={},n=-1;while(++n<e.length)$ve(t,e[n]);return t}function $ve(e,t){let n;for(n in t){let o=(IK.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],s;if(i)for(s in i){if(!IK.call(o,s))o[s]=[];let c=i[s];Uve(o[s],Array.isArray(c)?c:c?[c]:[])}}}function Uve(e,t){let n=-1,r=[];while(++n<t.length)(t[n].add==="after"?e:r).push(t[n]);gr(e,0,0,r)}function zw(e,t){let n=Number.parseInt(e,t);if(n<b.ht||n===b.vt||n>b.cr&&n<b.space||n>b.tilde&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111)return Do.replacementCharacter;return String.fromCodePoint(n)}function Ga(e){return e.replace(/[\t\n\r ]+/g,Do.space).replace(/^ | $/g,"").toLowerCase().toUpperCase()}var Mo=fl(/[A-Za-z]/),Vr=fl(/[\dA-Za-z]/),RK=fl(/[#-'*+\--9=?A-Z^-~]/);function $h(e){return e!==null&&(e<b.space||e===b.del)}var Uh=fl(/\d/),PK=fl(/[\dA-Fa-f]/),AK=fl(/[!-/:-@[-`{-~]/);function we(e){return e!==null&&e<b.horizontalTab}function kn(e){return e!==null&&(e<b.nul||e===b.space)}function Ke(e){return e===b.horizontalTab||e===b.virtualSpace||e===b.space}var OK=fl(/\p{P}|\p{S}/u),DK=fl(/\s/);function fl(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ot(e,t,n,r){let o=r?r-1:Number.POSITIVE_INFINITY,i=0;return s;function s(l){if(Ke(l))return e.enter(n),c(l);return t(l)}function c(l){if(Ke(l)&&i++<o)return e.consume(l),c;return e.exit(n),t(l)}}var MK={tokenize:Wve};function Wve(e){let t=e.attempt(this.parser.constructs.contentInitial,r,o),n;return t;function r(c){if(k(c===b.eof||we(c),"expected eol or eof"),c===b.eof){e.consume(c);return}return e.enter(y.lineEnding),e.consume(c),e.exit(y.lineEnding),ot(e,t,y.linePrefix)}function o(c){return k(c!==b.eof&&!we(c),"expected anything other than a line ending or EOF"),e.enter(y.paragraph),i(c)}function i(c){let l=e.enter(y.chunkText,{contentType:ge.contentTypeText,previous:n});if(n)n.next=l;return n=l,s(c)}function s(c){if(c===b.eof){e.exit(y.chunkText),e.exit(y.paragraph),e.consume(c);return}if(we(c))return e.consume(c),e.exit(y.chunkText),i;return e.consume(c),s}}var zK={tokenize:Hve},_K={tokenize:Jve};function Hve(e){let t=this,n=[],r=0,o,i,s;return c;function c(N){if(r<n.length){let re=n[r];return t.containerState=re[1],k(re[0].continuation,"expected `continuation` to be defined on container construct"),e.attempt(re[0].continuation,l,u)(N)}return u(N)}function l(N){if(k(t.containerState,"expected `containerState` to be defined after continuation"),r++,t.containerState._closeFlow){if(t.containerState._closeFlow=void 0,o)L();let re=t.events.length,Ee=re,D;while(Ee--)if(t.events[Ee][0]==="exit"&&t.events[Ee][1].type===y.chunkFlow){D=t.events[Ee][1].end;break}k(D,"could not find previous flow chunk"),A(r);let Ce=re;while(Ce<t.events.length)t.events[Ce][1].end={...D},Ce++;return gr(t.events,Ee+1,0,t.events.slice(re)),t.events.length=Ce,u(N)}return c(N)}function u(N){if(r===n.length){if(!o)return g(N);if(o.currentConstruct&&o.currentConstruct.concrete)return v(N);t.interrupt=Boolean(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(_K,p,d)(N)}function p(N){if(o)L();return A(r),g(N)}function d(N){return t.parser.lazy[t.now().line]=r!==n.length,s=t.now().offset,v(N)}function g(N){return t.containerState={},e.attempt(_K,f,v)(N)}function f(N){return k(t.currentConstruct,"expected `currentConstruct` to be defined on tokenizer"),k(t.containerState,"expected `containerState` to be defined on tokenizer"),r++,n.push([t.currentConstruct,t.containerState]),g(N)}function v(N){if(N===b.eof){if(o)L();A(0),e.consume(N);return}return o=o||t.parser.flow(t.now()),e.enter(y.chunkFlow,{_tokenizer:o,contentType:ge.contentTypeFlow,previous:i}),w(N)}function w(N){if(N===b.eof){I(e.exit(y.chunkFlow),!0),A(0),e.consume(N);return}if(we(N))return e.consume(N),I(e.exit(y.chunkFlow)),r=0,t.interrupt=void 0,c;return e.consume(N),w}function I(N,re){k(o,"expected `childFlow` to be defined when continuing");let Ee=t.sliceStream(N);if(re)Ee.push(null);if(N.previous=i,i)i.next=N;if(i=N,o.defineSkip(N.start),o.write(Ee),t.parser.lazy[N.start.line]){let D=o.events.length;while(D--)if(o.events[D][1].start.offset<s&&(!o.events[D][1].end||o.events[D][1].end.offset>s))return;let Ce=t.events.length,ke=Ce,Me,te;while(ke--)if(t.events[ke][0]==="exit"&&t.events[ke][1].type===y.chunkFlow){if(Me){te=t.events[ke][1].end;break}Me=!0}k(te,"could not find previous flow chunk"),A(r),D=Ce;while(D<t.events.length)t.events[D][1].end={...te},D++;gr(t.events,ke+1,0,t.events.slice(Ce)),t.events.length=D}}function A(N){let re=n.length;while(re-- >N){let Ee=n[re];t.containerState=Ee[1],k(Ee[0].exit,"expected `exit` to be defined on container construct"),Ee[0].exit.call(t,e)}n.length=N}function L(){k(t.containerState,"expected `containerState` to be defined when closing flow"),k(o,"expected `childFlow` to be defined when closing it"),o.write([b.eof]),i=void 0,o=void 0,t.containerState._closeFlow=void 0}}function Jve(e,t,n){return k(this.parser.constructs.disable.null,"expected `disable.null` to be populated"),ot(e,e.attempt(this.parser.constructs.document,t,n),y.linePrefix,this.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)}function mm(e){if(e===b.eof||kn(e)||DK(e))return ge.characterGroupWhitespace;if(OK(e))return ge.characterGroupPunctuation}function fm(e,t,n){let r=[],o=-1;while(++o<e.length){let i=e[o].resolveAll;if(i&&!r.includes(i))t=i(t,n),r.push(i)}return t}var Wh={name:"attention",resolveAll:Vve,tokenize:Gve};function Vve(e,t){let n=-1,r,o,i,s,c,l,u,p;while(++n<e.length)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){r=n;while(r--)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},g={...e[n][1].start};if(FK(d,-l),FK(g,l),s={type:l>1?y.strongSequence:y.emphasisSequence,start:d,end:{...e[r][1].end}},c={type:l>1?y.strongSequence:y.emphasisSequence,start:{...e[n][1].start},end:g},i={type:l>1?y.strongText:y.emphasisText,start:{...e[r][1].end},end:{...e[n][1].start}},o={type:l>1?y.strong:y.emphasis,start:{...s.start},end:{...c.end}},e[r][1].end={...s.start},e[n][1].start={...c.end},u=[],e[r][1].end.offset-e[r][1].start.offset)u=Jr(u,[["enter",e[r][1],t],["exit",e[r][1],t]]);if(u=Jr(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",i,t]]),k(t.parser.constructs.insideSpan.null,"expected `insideSpan` to be populated"),u=Jr(u,fm(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=Jr(u,[["exit",i,t],["enter",c,t],["exit",c,t],["exit",o,t]]),e[n][1].end.offset-e[n][1].start.offset)p=2,u=Jr(u,[["enter",e[n][1],t],["exit",e[n][1],t]]);else p=0;gr(e,r-1,n-r+3,u),n=r+u.length-p-2;break}}n=-1;while(++n<e.length)if(e[n][1].type==="attentionSequence")e[n][1].type="data";return e}function Gve(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=mm(r),i;return s;function s(l){return k(l===b.asterisk||l===b.underscore,"expected asterisk or underscore"),i=l,e.enter("attentionSequence"),c(l)}function c(l){if(l===i)return e.consume(l),c;let u=e.exit("attentionSequence"),p=mm(l);k(n,"expected `attentionMarkers` to be populated");let d=!p||p===ge.characterGroupPunctuation&&o||n.includes(l),g=!o||o===ge.characterGroupPunctuation&&p||n.includes(r);return u._open=Boolean(i===b.asterisk?d:d&&(o||!g)),u._close=Boolean(i===b.asterisk?g:g&&(p||!d)),t(l)}}function FK(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var fD={name:"autolink",tokenize:Qve};function Qve(e,t,n){let r=0;return o;function o(f){return k(f===b.lessThan,"expected `<`"),e.enter(y.autolink),e.enter(y.autolinkMarker),e.consume(f),e.exit(y.autolinkMarker),e.enter(y.autolinkProtocol),i}function i(f){if(Mo(f))return e.consume(f),s;if(f===b.atSign)return n(f);return u(f)}function s(f){if(f===b.plusSign||f===b.dash||f===b.dot||Vr(f))return r=1,c(f);return u(f)}function c(f){if(f===b.colon)return e.consume(f),r=0,l;if((f===b.plusSign||f===b.dash||f===b.dot||Vr(f))&&r++<ge.autolinkSchemeSizeMax)return e.consume(f),c;return r=0,u(f)}function l(f){if(f===b.greaterThan)return e.exit(y.autolinkProtocol),e.enter(y.autolinkMarker),e.consume(f),e.exit(y.autolinkMarker),e.exit(y.autolink),t;if(f===b.eof||f===b.space||f===b.lessThan||$h(f))return n(f);return e.consume(f),l}function u(f){if(f===b.atSign)return e.consume(f),p;if(RK(f))return e.consume(f),u;return n(f)}function p(f){return Vr(f)?d(f):n(f)}function d(f){if(f===b.dot)return e.consume(f),r=0,p;if(f===b.greaterThan)return e.exit(y.autolinkProtocol).type=y.autolinkEmail,e.enter(y.autolinkMarker),e.consume(f),e.exit(y.autolinkMarker),e.exit(y.autolink),t;return g(f)}function g(f){if((f===b.dash||Vr(f))&&r++<ge.autolinkDomainSizeMax){let v=f===b.dash?g:d;return e.consume(f),v}return n(f)}}var gl={partial:!0,tokenize:Kve};function Kve(e,t,n){return r;function r(i){return Ke(i)?ot(e,o,y.linePrefix)(i):o(i)}function o(i){return i===b.eof||we(i)?t(i):n(i)}}var Fw={continuation:{tokenize:Xve},exit:ewe,name:"blockQuote",tokenize:Yve};function Yve(e,t,n){let r=this;return o;function o(s){if(s===b.greaterThan){let c=r.containerState;if(k(c,"expected `containerState` to be defined in container"),!c.open)e.enter(y.blockQuote,{_container:!0}),c.open=!0;return e.enter(y.blockQuotePrefix),e.enter(y.blockQuoteMarker),e.consume(s),e.exit(y.blockQuoteMarker),i}return n(s)}function i(s){if(Ke(s))return e.enter(y.blockQuotePrefixWhitespace),e.consume(s),e.exit(y.blockQuotePrefixWhitespace),e.exit(y.blockQuotePrefix),t;return e.exit(y.blockQuotePrefix),t(s)}}function Xve(e,t,n){let r=this;return o;function o(s){if(Ke(s))return k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),ot(e,i,y.linePrefix,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)(s);return i(s)}function i(s){return e.attempt(Fw,t,n)(s)}}function ewe(e){e.exit(y.blockQuote)}var Nw={name:"characterEscape",tokenize:twe};function twe(e,t,n){return r;function r(i){return k(i===b.backslash,"expected `\\`"),e.enter(y.characterEscape),e.enter(y.escapeMarker),e.consume(i),e.exit(y.escapeMarker),o}function o(i){if(AK(i))return e.enter(y.characterEscapeValue),e.consume(i),e.exit(y.characterEscapeValue),e.exit(y.characterEscape),t;return n(i)}}var jw={name:"characterReference",tokenize:nwe};function nwe(e,t,n){let r=this,o=0,i,s;return c;function c(d){return k(d===b.ampersand,"expected `&`"),e.enter(y.characterReference),e.enter(y.characterReferenceMarker),e.consume(d),e.exit(y.characterReferenceMarker),l}function l(d){if(d===b.numberSign)return e.enter(y.characterReferenceMarkerNumeric),e.consume(d),e.exit(y.characterReferenceMarkerNumeric),u;return e.enter(y.characterReferenceValue),i=ge.characterReferenceNamedSizeMax,s=Vr,p(d)}function u(d){if(d===b.uppercaseX||d===b.lowercaseX)return e.enter(y.characterReferenceMarkerHexadecimal),e.consume(d),e.exit(y.characterReferenceMarkerHexadecimal),e.enter(y.characterReferenceValue),i=ge.characterReferenceHexadecimalSizeMax,s=PK,p;return e.enter(y.characterReferenceValue),i=ge.characterReferenceDecimalSizeMax,s=Uh,p(d)}function p(d){if(d===b.semicolon&&o){let g=e.exit(y.characterReferenceValue);if(s===Vr&&!dm(r.sliceSerialize(g)))return n(d);return e.enter(y.characterReferenceMarker),e.consume(d),e.exit(y.characterReferenceMarker),e.exit(y.characterReference),t}if(s(d)&&o++<i)return e.consume(d),p;return n(d)}}var NK={partial:!0,tokenize:owe},Bw={concrete:!0,name:"codeFenced",tokenize:rwe};function rwe(e,t,n){let r=this,o={partial:!0,tokenize:Ee},i=0,s=0,c;return l;function l(D){return u(D)}function u(D){k(D===b.graveAccent||D===b.tilde,"expected `` ` `` or `~`");let Ce=r.events[r.events.length-1];return i=Ce&&Ce[1].type===y.linePrefix?Ce[2].sliceSerialize(Ce[1],!0).length:0,c=D,e.enter(y.codeFenced),e.enter(y.codeFencedFence),e.enter(y.codeFencedFenceSequence),p(D)}function p(D){if(D===c)return s++,e.consume(D),p;if(s<ge.codeFencedSequenceSizeMin)return n(D);return e.exit(y.codeFencedFenceSequence),Ke(D)?ot(e,d,y.whitespace)(D):d(D)}function d(D){if(D===b.eof||we(D))return e.exit(y.codeFencedFence),r.interrupt?t(D):e.check(NK,w,re)(D);return e.enter(y.codeFencedFenceInfo),e.enter(y.chunkString,{contentType:ge.contentTypeString}),g(D)}function g(D){if(D===b.eof||we(D))return e.exit(y.chunkString),e.exit(y.codeFencedFenceInfo),d(D);if(Ke(D))return e.exit(y.chunkString),e.exit(y.codeFencedFenceInfo),ot(e,f,y.whitespace)(D);if(D===b.graveAccent&&D===c)return n(D);return e.consume(D),g}function f(D){if(D===b.eof||we(D))return d(D);return e.enter(y.codeFencedFenceMeta),e.enter(y.chunkString,{contentType:ge.contentTypeString}),v(D)}function v(D){if(D===b.eof||we(D))return e.exit(y.chunkString),e.exit(y.codeFencedFenceMeta),d(D);if(D===b.graveAccent&&D===c)return n(D);return e.consume(D),v}function w(D){return k(we(D),"expected eol"),e.attempt(o,re,I)(D)}function I(D){return k(we(D),"expected eol"),e.enter(y.lineEnding),e.consume(D),e.exit(y.lineEnding),A}function A(D){return i>0&&Ke(D)?ot(e,L,y.linePrefix,i+1)(D):L(D)}function L(D){if(D===b.eof||we(D))return e.check(NK,w,re)(D);return e.enter(y.codeFlowValue),N(D)}function N(D){if(D===b.eof||we(D))return e.exit(y.codeFlowValue),L(D);return e.consume(D),N}function re(D){return e.exit(y.codeFenced),t(D)}function Ee(D,Ce,ke){let Me=0;return te;function te(xe){return k(we(xe),"expected eol"),D.enter(y.lineEnding),D.consume(xe),D.exit(y.lineEnding),ce}function ce(xe){return k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),D.enter(y.codeFencedFence),Ke(xe)?ot(D,Y,y.linePrefix,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)(xe):Y(xe)}function Y(xe){if(xe===c)return D.enter(y.codeFencedFenceSequence),G(xe);return ke(xe)}function G(xe){if(xe===c)return Me++,D.consume(xe),G;if(Me>=s)return D.exit(y.codeFencedFenceSequence),Ke(xe)?ot(D,me,y.whitespace)(xe):me(xe);return ke(xe)}function me(xe){if(xe===b.eof||we(xe))return D.exit(y.codeFencedFence),Ce(xe);return ke(xe)}}}function owe(e,t,n){let r=this;return o;function o(s){if(s===b.eof)return n(s);return k(we(s),"expected eol"),e.enter(y.lineEnding),e.consume(s),e.exit(y.lineEnding),i}function i(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}var Hh={name:"codeIndented",tokenize:swe},iwe={partial:!0,tokenize:awe};function swe(e,t,n){let r=this;return o;function o(u){return k(Ke(u)),e.enter(y.codeIndented),ot(e,i,y.linePrefix,ge.tabSize+1)(u)}function i(u){let p=r.events[r.events.length-1];return p&&p[1].type===y.linePrefix&&p[2].sliceSerialize(p[1],!0).length>=ge.tabSize?s(u):n(u)}function s(u){if(u===b.eof)return l(u);if(we(u))return e.attempt(iwe,s,l)(u);return e.enter(y.codeFlowValue),c(u)}function c(u){if(u===b.eof||we(u))return e.exit(y.codeFlowValue),s(u);return e.consume(u),c}function l(u){return e.exit(y.codeIndented),t(u)}}function awe(e,t,n){let r=this;return o;function o(s){if(r.parser.lazy[r.now().line])return n(s);if(we(s))return e.enter(y.lineEnding),e.consume(s),e.exit(y.lineEnding),o;return ot(e,i,y.linePrefix,ge.tabSize+1)(s)}function i(s){let c=r.events[r.events.length-1];return c&&c[1].type===y.linePrefix&&c[2].sliceSerialize(c[1],!0).length>=ge.tabSize?t(s):we(s)?o(s):n(s)}}var gD={name:"codeText",previous:jK,resolve:cwe,tokenize:lwe};function cwe(e){let t=e.length-4,n=3,r,o;if((e[n][1].type===y.lineEnding||e[n][1].type==="space")&&(e[t][1].type===y.lineEnding||e[t][1].type==="space")){r=n;while(++r<t)if(e[r][1].type===y.codeTextData){e[n][1].type=y.codeTextPadding,e[t][1].type=y.codeTextPadding,n+=2,t-=2;break}}r=n-1,t++;while(++r<=t)if(o===void 0){if(r!==t&&e[r][1].type!==y.lineEnding)o=r}else if(r===t||e[r][1].type===y.lineEnding){if(e[o][1].type=y.codeTextData,r!==o+2)e[o][1].end=e[r-1][1].end,e.splice(o+2,r-o-2),t-=r-o-2,r=o+2;o=void 0}return e}function jK(e){return e!==b.graveAccent||this.events[this.events.length-1][1].type===y.characterEscape}function lwe(e,t,n){let r=this,o=0,i,s;return c;function c(g){return k(g===b.graveAccent,"expected `` ` ``"),k(jK.call(r,r.previous),"expected correct previous"),e.enter(y.codeText),e.enter(y.codeTextSequence),l(g)}function l(g){if(g===b.graveAccent)return e.consume(g),o++,l;return e.exit(y.codeTextSequence),u(g)}function u(g){if(g===b.eof)return n(g);if(g===b.space)return e.enter("space"),e.consume(g),e.exit("space"),u;if(g===b.graveAccent)return s=e.enter(y.codeTextSequence),i=0,d(g);if(we(g))return e.enter(y.lineEnding),e.consume(g),e.exit(y.lineEnding),u;return e.enter(y.codeTextData),p(g)}function p(g){if(g===b.eof||g===b.space||g===b.graveAccent||we(g))return e.exit(y.codeTextData),u(g);return e.consume(g),p}function d(g){if(g===b.graveAccent)return e.consume(g),i++,d;if(i===o)return e.exit(y.codeTextSequence),e.exit(y.codeText),t(g);return s.type=y.codeTextData,p(g)}}class hD{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");if(e<this.left.length)return this.left[e];return this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t===null||t===void 0?Number.POSITIVE_INFINITY:t;if(n<this.left.length)return this.left.slice(e,n);if(e>this.left.length)return this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse();return this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);if(n)Jh(this.left,n);return o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),Jh(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Jh(this.right,e.reverse())}setCursor(e){if(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0)return;if(e<this.left.length){let t=this.left.splice(e,Number.POSITIVE_INFINITY);Jh(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);Jh(this.left,t.reverse())}}}function Jh(e,t){let n=0;if(t.length<ge.v8MaxSafeChunkSize)e.push(...t);else while(n<t.length)e.push(...t.slice(n,n+ge.v8MaxSafeChunkSize)),n+=ge.v8MaxSafeChunkSize}function Lw(e){let t={},n=-1,r,o,i,s,c,l,u,p=new hD(e);while(++n<p.length){while(n in t)n=t[n];if(r=p.get(n),n&&r[1].type===y.chunkFlow&&p.get(n-1)[1].type===y.listItemPrefix){if(k(r[1]._tokenizer,"expected `_tokenizer` on subtokens"),l=r[1]._tokenizer.events,i=0,i<l.length&&l[i][1].type===y.lineEndingBlank)i+=2;if(i<l.length&&l[i][1].type===y.content)while(++i<l.length){if(l[i][1].type===y.content)break;if(l[i][1].type===y.chunkText)l[i][1]._isInFirstContentOfListItem=!0,i++}}if(r[0]==="enter"){if(r[1].contentType)Object.assign(t,uwe(p,n)),n=t[n],u=!0}else if(r[1]._container){i=n,o=void 0;while(i--)if(s=p.get(i),s[1].type===y.lineEnding||s[1].type===y.lineEndingBlank){if(s[0]==="enter"){if(o)p.get(o)[1].type=y.lineEndingBlank;s[1].type=y.lineEnding,o=i}}else if(s[1].type===y.linePrefix||s[1].type===y.listItemIndent);else break;if(o)r[1].end={...p.get(o)[1].start},c=p.slice(o,n),c.unshift(r),p.splice(o,n-o+1,c)}}return gr(e,0,Number.POSITIVE_INFINITY,p.slice(0)),!u}function uwe(e,t){let n=e.get(t)[1],r=e.get(t)[2],o=t-1,i=[];k(n.contentType,"expected `contentType` on subtokens");let s=n._tokenizer;if(!s){if(s=r.parser[n.contentType](n.start),n._contentTypeTextTrailing)s._contentTypeTextTrailing=!0}let c=s.events,l=[],u={},p,d,g=-1,f=n,v=0,w=0,I=[w];while(f){while(e.get(++o)[1]!==f);if(k(!d||f.previous===d,"expected previous to match"),k(!d||d.next===f,"expected next to match"),i.push(o),!f._tokenizer){if(p=r.sliceStream(f),!f.next)p.push(b.eof);if(d)s.defineSkip(f.start);if(f._isInFirstContentOfListItem)s._gfmTasklistFirstContentOfListItem=!0;if(s.write(p),f._isInFirstContentOfListItem)s._gfmTasklistFirstContentOfListItem=void 0}d=f,f=f.next}f=n;while(++g<c.length)if(c[g][0]==="exit"&&c[g-1][0]==="enter"&&c[g][1].type===c[g-1][1].type&&c[g][1].start.line!==c[g][1].end.line)k(f,"expected a current token"),w=g+1,I.push(w),f._tokenizer=void 0,f.previous=void 0,f=f.next;if(s.events=[],f)f._tokenizer=void 0,f.previous=void 0,k(!f.next,"expected no next token");else I.pop();g=I.length;while(g--){let A=c.slice(I[g],I[g+1]),L=i.pop();k(L!==void 0,"expected a start position when splicing"),l.push([L,L+A.length-1]),e.splice(L,2,A)}l.reverse(),g=-1;while(++g<l.length)u[v+l[g][0]]=v+l[g][1],v+=l[g][1]-l[g][0]-1;return u}var yD={resolve:dwe,tokenize:mwe},pwe={partial:!0,tokenize:fwe};function dwe(e){return Lw(e),e}function mwe(e,t){let n;return r;function r(c){return k(c!==b.eof&&!we(c),"expected no eof or eol"),e.enter(y.content),n=e.enter(y.chunkContent,{contentType:ge.contentTypeContent}),o(c)}function o(c){if(c===b.eof)return i(c);if(we(c))return e.check(pwe,s,i)(c);return e.consume(c),o}function i(c){return e.exit(y.chunkContent),e.exit(y.content),t(c)}function s(c){return k(we(c),"expected eol"),e.consume(c),e.exit(y.chunkContent),k(n,"expected previous token"),n.next=e.enter(y.chunkContent,{contentType:ge.contentTypeContent,previous:n}),n=n.next,o}}function fwe(e,t,n){let r=this;return o;function o(s){return k(we(s),"expected a line ending"),e.exit(y.chunkContent),e.enter(y.lineEnding),e.consume(s),e.exit(y.lineEnding),ot(e,i,y.linePrefix)}function i(s){if(s===b.eof||we(s))return n(s);k(r.parser.constructs.disable.null,"expected `disable.null` to be populated");let c=r.events[r.events.length-1];if(!r.parser.constructs.disable.null.includes("codeIndented")&&c&&c[1].type===y.linePrefix&&c[2].sliceSerialize(c[1],!0).length>=ge.tabSize)return t(s);return e.interrupt(r.parser.constructs.flow,n,t)(s)}}function qw(e,t,n,r,o,i,s,c,l){let u=l||Number.POSITIVE_INFINITY,p=0;return d;function d(A){if(A===b.lessThan)return e.enter(r),e.enter(o),e.enter(i),e.consume(A),e.exit(i),g;if(A===b.eof||A===b.space||A===b.rightParenthesis||$h(A))return n(A);return e.enter(r),e.enter(s),e.enter(c),e.enter(y.chunkString,{contentType:ge.contentTypeString}),w(A)}function g(A){if(A===b.greaterThan)return e.enter(i),e.consume(A),e.exit(i),e.exit(o),e.exit(r),t;return e.enter(c),e.enter(y.chunkString,{contentType:ge.contentTypeString}),f(A)}function f(A){if(A===b.greaterThan)return e.exit(y.chunkString),e.exit(c),g(A);if(A===b.eof||A===b.lessThan||we(A))return n(A);return e.consume(A),A===b.backslash?v:f}function v(A){if(A===b.lessThan||A===b.greaterThan||A===b.backslash)return e.consume(A),f;return f(A)}function w(A){if(!p&&(A===b.eof||A===b.rightParenthesis||kn(A)))return e.exit(y.chunkString),e.exit(c),e.exit(s),e.exit(r),t(A);if(p<u&&A===b.leftParenthesis)return e.consume(A),p++,w;if(A===b.rightParenthesis)return e.consume(A),p--,w;if(A===b.eof||A===b.space||A===b.leftParenthesis||$h(A))return n(A);return e.consume(A),A===b.backslash?I:w}function I(A){if(A===b.leftParenthesis||A===b.rightParenthesis||A===b.backslash)return e.consume(A),w;return w(A)}}function Zw(e,t,n,r,o,i){let s=this,c=0,l;return u;function u(f){return k(f===b.leftSquareBracket,"expected `[`"),e.enter(r),e.enter(o),e.consume(f),e.exit(o),e.enter(i),p}function p(f){if(c>ge.linkReferenceSizeMax||f===b.eof||f===b.leftSquareBracket||f===b.rightSquareBracket&&!l||f===b.caret&&!c&&"_hiddenFootnoteSupport"in s.parser.constructs)return n(f);if(f===b.rightSquareBracket)return e.exit(i),e.enter(o),e.consume(f),e.exit(o),e.exit(r),t;if(we(f))return e.enter(y.lineEnding),e.consume(f),e.exit(y.lineEnding),p;return e.enter(y.chunkString,{contentType:ge.contentTypeString}),d(f)}function d(f){if(f===b.eof||f===b.leftSquareBracket||f===b.rightSquareBracket||we(f)||c++>ge.linkReferenceSizeMax)return e.exit(y.chunkString),p(f);if(e.consume(f),!l)l=!Ke(f);return f===b.backslash?g:d}function g(f){if(f===b.leftSquareBracket||f===b.backslash||f===b.rightSquareBracket)return e.consume(f),c++,d;return d(f)}}function $w(e,t,n,r,o,i){let s;return c;function c(g){if(g===b.quotationMark||g===b.apostrophe||g===b.leftParenthesis)return e.enter(r),e.enter(o),e.consume(g),e.exit(o),s=g===b.leftParenthesis?b.rightParenthesis:g,l;return n(g)}function l(g){if(g===s)return e.enter(o),e.consume(g),e.exit(o),e.exit(r),t;return e.enter(i),u(g)}function u(g){if(g===s)return e.exit(i),l(s);if(g===b.eof)return n(g);if(we(g))return e.enter(y.lineEnding),e.consume(g),e.exit(y.lineEnding),ot(e,u,y.linePrefix);return e.enter(y.chunkString,{contentType:ge.contentTypeString}),p(g)}function p(g){if(g===s||g===b.eof||we(g))return e.exit(y.chunkString),u(g);return e.consume(g),g===b.backslash?d:p}function d(g){if(g===s||g===b.backslash)return e.consume(g),p;return p(g)}}function Ku(e,t){let n;return r;function r(o){if(we(o))return e.enter(y.lineEnding),e.consume(o),e.exit(y.lineEnding),n=!0,r;if(Ke(o))return ot(e,r,n?y.linePrefix:y.lineSuffix)(o);return t(o)}}var bD={name:"definition",tokenize:hwe},gwe={partial:!0,tokenize:ywe};function hwe(e,t,n){let r=this,o;return i;function i(f){return e.enter(y.definition),s(f)}function s(f){return k(f===b.leftSquareBracket,"expected `[`"),Zw.call(r,e,c,n,y.definitionLabel,y.definitionLabelMarker,y.definitionLabelString)(f)}function c(f){if(o=Ga(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===b.colon)return e.enter(y.definitionMarker),e.consume(f),e.exit(y.definitionMarker),l;return n(f)}function l(f){return kn(f)?Ku(e,u)(f):u(f)}function u(f){return qw(e,p,n,y.definitionDestination,y.definitionDestinationLiteral,y.definitionDestinationLiteralMarker,y.definitionDestinationRaw,y.definitionDestinationString)(f)}function p(f){return e.attempt(gwe,d,d)(f)}function d(f){return Ke(f)?ot(e,g,y.whitespace)(f):g(f)}function g(f){if(f===b.eof||we(f))return e.exit(y.definition),r.parser.defined.push(o),t(f);return n(f)}}function ywe(e,t,n){return r;function r(c){return kn(c)?Ku(e,o)(c):n(c)}function o(c){return $w(e,i,n,y.definitionTitle,y.definitionTitleMarker,y.definitionTitleString)(c)}function i(c){return Ke(c)?ot(e,s,y.whitespace)(c):s(c)}function s(c){return c===b.eof||we(c)?t(c):n(c)}}var xD={name:"hardBreakEscape",tokenize:bwe};function bwe(e,t,n){return r;function r(i){return k(i===b.backslash,"expected `\\`"),e.enter(y.hardBreakEscape),e.consume(i),o}function o(i){if(we(i))return e.exit(y.hardBreakEscape),t(i);return n(i)}}var SD={name:"headingAtx",resolve:xwe,tokenize:Swe};function xwe(e,t){let n=e.length-2,r=3,o,i;if(e[r][1].type===y.whitespace)r+=2;if(n-2>r&&e[n][1].type===y.whitespace)n-=2;if(e[n][1].type===y.atxHeadingSequence&&(r===n-1||n-4>r&&e[n-2][1].type===y.whitespace))n-=r+1===n?2:4;if(n>r)o={type:y.atxHeadingText,start:e[r][1].start,end:e[n][1].end},i={type:y.chunkText,start:e[r][1].start,end:e[n][1].end,contentType:ge.contentTypeText},gr(e,r,n-r+1,[["enter",o,t],["enter",i,t],["exit",i,t],["exit",o,t]]);return e}function Swe(e,t,n){let r=0;return o;function o(p){return e.enter(y.atxHeading),i(p)}function i(p){return k(p===b.numberSign,"expected `#`"),e.enter(y.atxHeadingSequence),s(p)}function s(p){if(p===b.numberSign&&r++<ge.atxHeadingOpeningFenceSizeMax)return e.consume(p),s;if(p===b.eof||kn(p))return e.exit(y.atxHeadingSequence),c(p);return n(p)}function c(p){if(p===b.numberSign)return e.enter(y.atxHeadingSequence),l(p);if(p===b.eof||we(p))return e.exit(y.atxHeading),t(p);if(Ke(p))return ot(e,c,y.whitespace)(p);return e.enter(y.atxHeadingText),u(p)}function l(p){if(p===b.numberSign)return e.consume(p),l;return e.exit(y.atxHeadingSequence),c(p)}function u(p){if(p===b.eof||p===b.numberSign||kn(p))return e.exit(y.atxHeadingText),c(p);return e.consume(p),u}}var BK=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],vD=["pre","script","style","textarea"];var wD={concrete:!0,name:"htmlFlow",resolveTo:Twe,tokenize:Cwe},vwe={partial:!0,tokenize:Iwe},wwe={partial:!0,tokenize:Ewe};function Twe(e){let t=e.length;while(t--)if(e[t][0]==="enter"&&e[t][1].type===y.htmlFlow)break;if(t>1&&e[t-2][1].type===y.linePrefix)e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2);return e}function Cwe(e,t,n){let r=this,o,i,s,c,l;return u;function u(E){return p(E)}function p(E){return k(E===b.lessThan,"expected `<`"),e.enter(y.htmlFlow),e.enter(y.htmlFlowData),e.consume(E),d}function d(E){if(E===b.exclamationMark)return e.consume(E),g;if(E===b.slash)return e.consume(E),i=!0,w;if(E===b.questionMark)return e.consume(E),o=ge.htmlInstruction,r.interrupt?t:C;if(Mo(E))return k(E!==null),e.consume(E),s=String.fromCharCode(E),I;return n(E)}function g(E){if(E===b.dash)return e.consume(E),o=ge.htmlComment,f;if(E===b.leftSquareBracket)return e.consume(E),o=ge.htmlCdata,c=0,v;if(Mo(E))return e.consume(E),o=ge.htmlDeclaration,r.interrupt?t:C;return n(E)}function f(E){if(E===b.dash)return e.consume(E),r.interrupt?t:C;return n(E)}function v(E){let Vn=ge.cdataOpeningString;if(E===Vn.charCodeAt(c++)){if(e.consume(E),c===Vn.length)return r.interrupt?t:Y;return v}return n(E)}function w(E){if(Mo(E))return k(E!==null),e.consume(E),s=String.fromCharCode(E),I;return n(E)}function I(E){if(E===b.eof||E===b.slash||E===b.greaterThan||kn(E)){let Vn=E===b.slash,xn=s.toLowerCase();if(!Vn&&!i&&vD.includes(xn))return o=ge.htmlRaw,r.interrupt?t(E):Y(E);if(BK.includes(s.toLowerCase())){if(o=ge.htmlBasic,Vn)return e.consume(E),A;return r.interrupt?t(E):Y(E)}return o=ge.htmlComplete,r.interrupt&&!r.parser.lazy[r.now().line]?n(E):i?L(E):N(E)}if(E===b.dash||Vr(E))return e.consume(E),s+=String.fromCharCode(E),I;return n(E)}function A(E){if(E===b.greaterThan)return e.consume(E),r.interrupt?t:Y;return n(E)}function L(E){if(Ke(E))return e.consume(E),L;return te(E)}function N(E){if(E===b.slash)return e.consume(E),te;if(E===b.colon||E===b.underscore||Mo(E))return e.consume(E),re;if(Ke(E))return e.consume(E),N;return te(E)}function re(E){if(E===b.dash||E===b.dot||E===b.colon||E===b.underscore||Vr(E))return e.consume(E),re;return Ee(E)}function Ee(E){if(E===b.equalsTo)return e.consume(E),D;if(Ke(E))return e.consume(E),Ee;return N(E)}function D(E){if(E===b.eof||E===b.lessThan||E===b.equalsTo||E===b.greaterThan||E===b.graveAccent)return n(E);if(E===b.quotationMark||E===b.apostrophe)return e.consume(E),l=E,Ce;if(Ke(E))return e.consume(E),D;return ke(E)}function Ce(E){if(E===l)return e.consume(E),l=null,Me;if(E===b.eof||we(E))return n(E);return e.consume(E),Ce}function ke(E){if(E===b.eof||E===b.quotationMark||E===b.apostrophe||E===b.slash||E===b.lessThan||E===b.equalsTo||E===b.greaterThan||E===b.graveAccent||kn(E))return Ee(E);return e.consume(E),ke}function Me(E){if(E===b.slash||E===b.greaterThan||Ke(E))return N(E);return n(E)}function te(E){if(E===b.greaterThan)return e.consume(E),ce;return n(E)}function ce(E){if(E===b.eof||we(E))return Y(E);if(Ke(E))return e.consume(E),ce;return n(E)}function Y(E){if(E===b.dash&&o===ge.htmlComment)return e.consume(E),se;if(E===b.lessThan&&o===ge.htmlRaw)return e.consume(E),Qe;if(E===b.greaterThan&&o===ge.htmlDeclaration)return e.consume(E),Lt;if(E===b.questionMark&&o===ge.htmlInstruction)return e.consume(E),C;if(E===b.rightSquareBracket&&o===ge.htmlCdata)return e.consume(E),bn;if(we(E)&&(o===ge.htmlBasic||o===ge.htmlComplete))return e.exit(y.htmlFlowData),e.check(vwe,Jn,G)(E);if(E===b.eof||we(E))return e.exit(y.htmlFlowData),G(E);return e.consume(E),Y}function G(E){return e.check(wwe,me,Jn)(E)}function me(E){return k(we(E)),e.enter(y.lineEnding),e.consume(E),e.exit(y.lineEnding),xe}function xe(E){if(E===b.eof||we(E))return G(E);return e.enter(y.htmlFlowData),Y(E)}function se(E){if(E===b.dash)return e.consume(E),C;return Y(E)}function Qe(E){if(E===b.slash)return e.consume(E),s="",ft;return Y(E)}function ft(E){if(E===b.greaterThan){let Vn=s.toLowerCase();if(vD.includes(Vn))return e.consume(E),Lt;return Y(E)}if(Mo(E)&&s.length<ge.htmlRawSizeMax)return k(E!==null),e.consume(E),s+=String.fromCharCode(E),ft;return Y(E)}function bn(E){if(E===b.rightSquareBracket)return e.consume(E),C;return Y(E)}function C(E){if(E===b.greaterThan)return e.consume(E),Lt;if(E===b.dash&&o===ge.htmlComment)return e.consume(E),C;return Y(E)}function Lt(E){if(E===b.eof||we(E))return e.exit(y.htmlFlowData),Jn(E);return e.consume(E),Lt}function Jn(E){return e.exit(y.htmlFlow),t(E)}}function Ewe(e,t,n){let r=this;return o;function o(s){if(we(s))return e.enter(y.lineEnding),e.consume(s),e.exit(y.lineEnding),i;return n(s)}function i(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}function Iwe(e,t,n){return r;function r(o){return k(we(o),"expected a line ending"),e.enter(y.lineEnding),e.consume(o),e.exit(y.lineEnding),e.attempt(gl,t,n)}}var TD={name:"htmlText",tokenize:kwe};function kwe(e,t,n){let r=this,o,i,s;return c;function c(C){return k(C===b.lessThan,"expected `<`"),e.enter(y.htmlText),e.enter(y.htmlTextData),e.consume(C),l}function l(C){if(C===b.exclamationMark)return e.consume(C),u;if(C===b.slash)return e.consume(C),Ee;if(C===b.questionMark)return e.consume(C),N;if(Mo(C))return e.consume(C),ke;return n(C)}function u(C){if(C===b.dash)return e.consume(C),p;if(C===b.leftSquareBracket)return e.consume(C),i=0,v;if(Mo(C))return e.consume(C),L;return n(C)}function p(C){if(C===b.dash)return e.consume(C),f;return n(C)}function d(C){if(C===b.eof)return n(C);if(C===b.dash)return e.consume(C),g;if(we(C))return s=d,Qe(C);return e.consume(C),d}function g(C){if(C===b.dash)return e.consume(C),f;return d(C)}function f(C){return C===b.greaterThan?se(C):C===b.dash?g(C):d(C)}function v(C){let Lt=ge.cdataOpeningString;if(C===Lt.charCodeAt(i++))return e.consume(C),i===Lt.length?w:v;return n(C)}function w(C){if(C===b.eof)return n(C);if(C===b.rightSquareBracket)return e.consume(C),I;if(we(C))return s=w,Qe(C);return e.consume(C),w}function I(C){if(C===b.rightSquareBracket)return e.consume(C),A;return w(C)}function A(C){if(C===b.greaterThan)return se(C);if(C===b.rightSquareBracket)return e.consume(C),A;return w(C)}function L(C){if(C===b.eof||C===b.greaterThan)return se(C);if(we(C))return s=L,Qe(C);return e.consume(C),L}function N(C){if(C===b.eof)return n(C);if(C===b.questionMark)return e.consume(C),re;if(we(C))return s=N,Qe(C);return e.consume(C),N}function re(C){return C===b.greaterThan?se(C):N(C)}function Ee(C){if(Mo(C))return e.consume(C),D;return n(C)}function D(C){if(C===b.dash||Vr(C))return e.consume(C),D;return Ce(C)}function Ce(C){if(we(C))return s=Ce,Qe(C);if(Ke(C))return e.consume(C),Ce;return se(C)}function ke(C){if(C===b.dash||Vr(C))return e.consume(C),ke;if(C===b.slash||C===b.greaterThan||kn(C))return Me(C);return n(C)}function Me(C){if(C===b.slash)return e.consume(C),se;if(C===b.colon||C===b.underscore||Mo(C))return e.consume(C),te;if(we(C))return s=Me,Qe(C);if(Ke(C))return e.consume(C),Me;return se(C)}function te(C){if(C===b.dash||C===b.dot||C===b.colon||C===b.underscore||Vr(C))return e.consume(C),te;return ce(C)}function ce(C){if(C===b.equalsTo)return e.consume(C),Y;if(we(C))return s=ce,Qe(C);if(Ke(C))return e.consume(C),ce;return Me(C)}function Y(C){if(C===b.eof||C===b.lessThan||C===b.equalsTo||C===b.greaterThan||C===b.graveAccent)return n(C);if(C===b.quotationMark||C===b.apostrophe)return e.consume(C),o=C,G;if(we(C))return s=Y,Qe(C);if(Ke(C))return e.consume(C),Y;return e.consume(C),me}function G(C){if(C===o)return e.consume(C),o=void 0,xe;if(C===b.eof)return n(C);if(we(C))return s=G,Qe(C);return e.consume(C),G}function me(C){if(C===b.eof||C===b.quotationMark||C===b.apostrophe||C===b.lessThan||C===b.equalsTo||C===b.graveAccent)return n(C);if(C===b.slash||C===b.greaterThan||kn(C))return Me(C);return e.consume(C),me}function xe(C){if(C===b.slash||C===b.greaterThan||kn(C))return Me(C);return n(C)}function se(C){if(C===b.greaterThan)return e.consume(C),e.exit(y.htmlTextData),e.exit(y.htmlText),t;return n(C)}function Qe(C){return k(s,"expected return state"),k(we(C),"expected eol"),e.exit(y.htmlTextData),e.enter(y.lineEnding),e.consume(C),e.exit(y.lineEnding),ft}function ft(C){return k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),Ke(C)?ot(e,bn,y.linePrefix,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)(C):bn(C)}function bn(C){return e.enter(y.htmlTextData),s(C)}}var Yu={name:"labelEnd",resolveAll:Owe,resolveTo:Dwe,tokenize:Mwe},Rwe={tokenize:_we},Pwe={tokenize:zwe},Awe={tokenize:Fwe};function Owe(e){let t=-1,n=[];while(++t<e.length){let r=e[t][1];if(n.push(e[t]),r.type===y.labelImage||r.type===y.labelLink||r.type===y.labelEnd){let o=r.type===y.labelImage?4:2;r.type=y.data,t+=o}}if(e.length!==n.length)gr(e,0,e.length,n);return e}function Dwe(e,t){let n=e.length,r=0,o,i,s,c;while(n--)if(o=e[n][1],i){if(o.type===y.link||o.type===y.labelLink&&o._inactive)break;if(e[n][0]==="enter"&&o.type===y.labelLink)o._inactive=!0}else if(s){if(e[n][0]==="enter"&&(o.type===y.labelImage||o.type===y.labelLink)&&!o._balanced){if(i=n,o.type!==y.labelLink){r=2;break}}}else if(o.type===y.labelEnd)s=n;k(i!==void 0,"`open` is supposed to be found"),k(s!==void 0,"`close` is supposed to be found");let l={type:e[i][1].type===y.labelLink?y.link:y.image,start:{...e[i][1].start},end:{...e[e.length-1][1].end}},u={type:y.label,start:{...e[i][1].start},end:{...e[s][1].end}},p={type:y.labelText,start:{...e[i+r+2][1].end},end:{...e[s-2][1].start}};return c=[["enter",l,t],["enter",u,t]],c=Jr(c,e.slice(i+1,i+r+3)),c=Jr(c,[["enter",p,t]]),k(t.parser.constructs.insideSpan.null,"expected `insideSpan.null` to be populated"),c=Jr(c,fm(t.parser.constructs.insideSpan.null,e.slice(i+r+4,s-3),t)),c=Jr(c,[["exit",p,t],e[s-2],e[s-1],["exit",u,t]]),c=Jr(c,e.slice(s+1)),c=Jr(c,[["exit",l,t]]),gr(e,i,e.length,c),e}function Mwe(e,t,n){let r=this,o=r.events.length,i,s;while(o--)if((r.events[o][1].type===y.labelImage||r.events[o][1].type===y.labelLink)&&!r.events[o][1]._balanced){i=r.events[o][1];break}return c;function c(g){if(k(g===b.rightSquareBracket,"expected `]`"),!i)return n(g);if(i._inactive)return d(g);return s=r.parser.defined.includes(Ga(r.sliceSerialize({start:i.end,end:r.now()}))),e.enter(y.labelEnd),e.enter(y.labelMarker),e.consume(g),e.exit(y.labelMarker),e.exit(y.labelEnd),l}function l(g){if(g===b.leftParenthesis)return e.attempt(Rwe,p,s?p:d)(g);if(g===b.leftSquareBracket)return e.attempt(Pwe,p,s?u:d)(g);return s?p(g):d(g)}function u(g){return e.attempt(Awe,p,d)(g)}function p(g){return t(g)}function d(g){return i._balanced=!0,n(g)}}function _we(e,t,n){return r;function r(d){return k(d===b.leftParenthesis,"expected left paren"),e.enter(y.resource),e.enter(y.resourceMarker),e.consume(d),e.exit(y.resourceMarker),o}function o(d){return kn(d)?Ku(e,i)(d):i(d)}function i(d){if(d===b.rightParenthesis)return p(d);return qw(e,s,c,y.resourceDestination,y.resourceDestinationLiteral,y.resourceDestinationLiteralMarker,y.resourceDestinationRaw,y.resourceDestinationString,ge.linkResourceDestinationBalanceMax)(d)}function s(d){return kn(d)?Ku(e,l)(d):p(d)}function c(d){return n(d)}function l(d){if(d===b.quotationMark||d===b.apostrophe||d===b.leftParenthesis)return $w(e,u,n,y.resourceTitle,y.resourceTitleMarker,y.resourceTitleString)(d);return p(d)}function u(d){return kn(d)?Ku(e,p)(d):p(d)}function p(d){if(d===b.rightParenthesis)return e.enter(y.resourceMarker),e.consume(d),e.exit(y.resourceMarker),e.exit(y.resource),t;return n(d)}}function zwe(e,t,n){let r=this;return o;function o(c){return k(c===b.leftSquareBracket,"expected left bracket"),Zw.call(r,e,i,s,y.reference,y.referenceMarker,y.referenceString)(c)}function i(c){return r.parser.defined.includes(Ga(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(c):n(c)}function s(c){return n(c)}}function Fwe(e,t,n){return r;function r(i){return k(i===b.leftSquareBracket,"expected left bracket"),e.enter(y.reference),e.enter(y.referenceMarker),e.consume(i),e.exit(y.referenceMarker),o}function o(i){if(i===b.rightSquareBracket)return e.enter(y.referenceMarker),e.consume(i),e.exit(y.referenceMarker),e.exit(y.reference),t;return n(i)}}var CD={name:"labelStartImage",resolveAll:Yu.resolveAll,tokenize:Nwe};function Nwe(e,t,n){let r=this;return o;function o(c){return k(c===b.exclamationMark,"expected `!`"),e.enter(y.labelImage),e.enter(y.labelImageMarker),e.consume(c),e.exit(y.labelImageMarker),i}function i(c){if(c===b.leftSquareBracket)return e.enter(y.labelMarker),e.consume(c),e.exit(y.labelMarker),e.exit(y.labelImage),s;return n(c)}function s(c){return c===b.caret&&"_hiddenFootnoteSupport"in r.parser.constructs?n(c):t(c)}}var ED={name:"labelStartLink",resolveAll:Yu.resolveAll,tokenize:jwe};function jwe(e,t,n){let r=this;return o;function o(s){return k(s===b.leftSquareBracket,"expected `[`"),e.enter(y.labelLink),e.enter(y.labelMarker),e.consume(s),e.exit(y.labelMarker),e.exit(y.labelLink),i}function i(s){return s===b.caret&&"_hiddenFootnoteSupport"in r.parser.constructs?n(s):t(s)}}var Vh={name:"lineEnding",tokenize:Bwe};function Bwe(e,t){return n;function n(r){return k(we(r),"expected eol"),e.enter(y.lineEnding),e.consume(r),e.exit(y.lineEnding),ot(e,t,y.linePrefix)}}var Xu={name:"thematicBreak",tokenize:Lwe};function Lwe(e,t,n){let r=0,o;return i;function i(u){return e.enter(y.thematicBreak),s(u)}function s(u){return k(u===b.asterisk||u===b.dash||u===b.underscore,"expected `*`, `-`, or `_`"),o=u,c(u)}function c(u){if(u===o)return e.enter(y.thematicBreakSequence),l(u);if(r>=ge.thematicBreakMarkerCountMin&&(u===b.eof||we(u)))return e.exit(y.thematicBreak),t(u);return n(u)}function l(u){if(u===o)return e.consume(u),r++,l;return e.exit(y.thematicBreakSequence),Ke(u)?ot(e,c,y.whitespace)(u):c(u)}}var Mr={continuation:{tokenize:Uwe},exit:Hwe,name:"list",tokenize:$we},qwe={partial:!0,tokenize:Jwe},Zwe={partial:!0,tokenize:Wwe};function $we(e,t,n){let r=this,o=r.events[r.events.length-1],i=o&&o[1].type===y.linePrefix?o[2].sliceSerialize(o[1],!0).length:0,s=0;return c;function c(f){k(r.containerState,"expected state");let v=r.containerState.type||(f===b.asterisk||f===b.plusSign||f===b.dash?y.listUnordered:y.listOrdered);if(v===y.listUnordered?!r.containerState.marker||f===r.containerState.marker:Uh(f)){if(!r.containerState.type)r.containerState.type=v,e.enter(v,{_container:!0});if(v===y.listUnordered)return e.enter(y.listItemPrefix),f===b.asterisk||f===b.dash?e.check(Xu,n,u)(f):u(f);if(!r.interrupt||f===b.digit1)return e.enter(y.listItemPrefix),e.enter(y.listItemValue),l(f)}return n(f)}function l(f){if(k(r.containerState,"expected state"),Uh(f)&&++s<ge.listItemValueSizeMax)return e.consume(f),l;if((!r.interrupt||s<2)&&(r.containerState.marker?f===r.containerState.marker:f===b.rightParenthesis||f===b.dot))return e.exit(y.listItemValue),u(f);return n(f)}function u(f){return k(r.containerState,"expected state"),k(f!==b.eof,"eof (`null`) is not a marker"),e.enter(y.listItemMarker),e.consume(f),e.exit(y.listItemMarker),r.containerState.marker=r.containerState.marker||f,e.check(gl,r.interrupt?n:p,e.attempt(qwe,g,d))}function p(f){return k(r.containerState,"expected state"),r.containerState.initialBlankLine=!0,i++,g(f)}function d(f){if(Ke(f))return e.enter(y.listItemPrefixWhitespace),e.consume(f),e.exit(y.listItemPrefixWhitespace),g;return n(f)}function g(f){return k(r.containerState,"expected state"),r.containerState.size=i+r.sliceSerialize(e.exit(y.listItemPrefix),!0).length,t(f)}}function Uwe(e,t,n){let r=this;return k(r.containerState,"expected state"),r.containerState._closeFlow=void 0,e.check(gl,o,i);function o(c){return k(r.containerState,"expected state"),k(typeof r.containerState.size==="number","expected size"),r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ot(e,t,y.listItemIndent,r.containerState.size+1)(c)}function i(c){if(k(r.containerState,"expected state"),r.containerState.furtherBlankLines||!Ke(c))return r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(c);return r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Zwe,t,s)(c)}function s(c){return k(r.containerState,"expected state"),r.containerState._closeFlow=!0,r.interrupt=void 0,k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),ot(e,e.attempt(Mr,t,n),y.linePrefix,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize)(c)}}function Wwe(e,t,n){let r=this;return k(r.containerState,"expected state"),k(typeof r.containerState.size==="number","expected size"),ot(e,o,y.listItemIndent,r.containerState.size+1);function o(i){k(r.containerState,"expected state");let s=r.events[r.events.length-1];return s&&s[1].type===y.listItemIndent&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?t(i):n(i)}}function Hwe(e){k(this.containerState,"expected state"),k(typeof this.containerState.type==="string","expected type"),e.exit(this.containerState.type)}function Jwe(e,t,n){let r=this;return k(r.parser.constructs.disable.null,"expected `disable.null` to be populated"),ot(e,o,y.listItemPrefixWhitespace,r.parser.constructs.disable.null.includes("codeIndented")?void 0:ge.tabSize+1);function o(i){let s=r.events[r.events.length-1];return!Ke(i)&&s&&s[1].type===y.listItemPrefixWhitespace?t(i):n(i)}}var Uw={name:"setextUnderline",resolveTo:Vwe,tokenize:Gwe};function Vwe(e,t){let n=e.length,r,o,i;while(n--)if(e[n][0]==="enter"){if(e[n][1].type===y.content){r=n;break}if(e[n][1].type===y.paragraph)o=n}else{if(e[n][1].type===y.content)e.splice(n,1);if(!i&&e[n][1].type===y.definition)i=n}k(o!==void 0,"expected a `text` index to be found"),k(r!==void 0,"expected a `text` index to be found"),k(e[r][2]===t,"enter context should be same"),k(e[e.length-1][2]===t,"enter context should be same");let s={type:y.setextHeading,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};if(e[o][1].type=y.setextHeadingText,i)e.splice(o,0,["enter",s,t]),e.splice(i+1,0,["exit",e[r][1],t]),e[r][1].end={...e[i][1].end};else e[r][1]=s;return e.push(["exit",s,t]),e}function Gwe(e,t,n){let r=this,o;return i;function i(u){let p=r.events.length,d;k(u===b.dash||u===b.equalsTo,"expected `=` or `-`");while(p--)if(r.events[p][1].type!==y.lineEnding&&r.events[p][1].type!==y.linePrefix&&r.events[p][1].type!==y.content){d=r.events[p][1].type===y.paragraph;break}if(!r.parser.lazy[r.now().line]&&(r.interrupt||d))return e.enter(y.setextHeadingLine),o=u,s(u);return n(u)}function s(u){return e.enter(y.setextHeadingLineSequence),c(u)}function c(u){if(u===o)return e.consume(u),c;return e.exit(y.setextHeadingLineSequence),Ke(u)?ot(e,l,y.lineSuffix)(u):l(u)}function l(u){if(u===b.eof||we(u))return e.exit(y.setextHeadingLine),t(u);return n(u)}}var LK={tokenize:Qwe};function Qwe(e){let t=this,n=e.attempt(gl,r,e.attempt(this.parser.constructs.flowInitial,o,ot(e,e.attempt(this.parser.constructs.flow,o,e.attempt(yD,o)),y.linePrefix)));return n;function r(i){if(k(i===b.eof||we(i),"expected eol or eof"),i===b.eof){e.consume(i);return}return e.enter(y.lineEndingBlank),e.consume(i),e.exit(y.lineEndingBlank),t.currentConstruct=void 0,n}function o(i){if(k(i===b.eof||we(i),"expected eol or eof"),i===b.eof){e.consume(i);return}return e.enter(y.lineEnding),e.consume(i),e.exit(y.lineEnding),t.currentConstruct=void 0,n}}var qK={resolveAll:WK()},ZK=UK("string"),$K=UK("text");function UK(e){return{resolveAll:WK(e==="text"?Kwe:void 0),tokenize:t};function t(n){let r=this,o=this.parser.constructs[e],i=n.attempt(o,s,c);return s;function s(p){return u(p)?i(p):c(p)}function c(p){if(p===b.eof){n.consume(p);return}return n.enter(y.data),n.consume(p),l}function l(p){if(u(p))return n.exit(y.data),i(p);return n.consume(p),l}function u(p){if(p===b.eof)return!0;let d=o[p],g=-1;if(d){k(Array.isArray(d),"expected `disable.null` to be populated");while(++g<d.length){let f=d[g];if(!f.previous||f.previous.call(r,r.previous))return!0}}return!1}}}function WK(e){return t;function t(n,r){let o=-1,i;while(++o<=n.length)if(i===void 0){if(n[o]&&n[o][1].type===y.data)i=o,o++}else if(!n[o]||n[o][1].type!==y.data){if(o!==i+2)n[i][1].end=n[o-1][1].end,n.splice(i+2,o-i-2),o=i+2;i=void 0}return e?e(n,r):n}}function Kwe(e,t){let n=0;while(++n<=e.length)if((n===e.length||e[n][1].type===y.lineEnding)&&e[n-1][1].type===y.data){let r=e[n-1][1],o=t.sliceStream(r),i=o.length,s=-1,c=0,l;while(i--){let u=o[i];if(typeof u==="string"){s=u.length;while(u.charCodeAt(s-1)===b.space)c++,s--;if(s)break;s=-1}else if(u===b.horizontalTab)l=!0,c++;else if(u===b.virtualSpace);else{i++;break}}if(t._contentTypeTextTrailing&&n===e.length)c=0;if(c){let u={type:n===e.length||l||c<ge.hardBreakPrefixSizeMin?y.lineSuffix:y.hardBreakTrailing,start:{_bufferIndex:i?s:r.start._bufferIndex+s,_index:r.start._index+i,line:r.end.line,column:r.end.column-c,offset:r.end.offset-c},end:{...r.end}};if(r.end={...u.start},r.start.offset===r.end.offset)Object.assign(r,u);else e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2}n++}return e}var ID={};Xr(ID,{attentionMarkers:()=>iTe,contentInitial:()=>Xwe,disable:()=>sTe,document:()=>Ywe,flow:()=>tTe,flowInitial:()=>eTe,insideSpan:()=>oTe,string:()=>nTe,text:()=>rTe});var Ywe={[b.asterisk]:Mr,[b.plusSign]:Mr,[b.dash]:Mr,[b.digit0]:Mr,[b.digit1]:Mr,[b.digit2]:Mr,[b.digit3]:Mr,[b.digit4]:Mr,[b.digit5]:Mr,[b.digit6]:Mr,[b.digit7]:Mr,[b.digit8]:Mr,[b.digit9]:Mr,[b.greaterThan]:Fw},Xwe={[b.leftSquareBracket]:bD},eTe={[b.horizontalTab]:Hh,[b.virtualSpace]:Hh,[b.space]:Hh},tTe={[b.numberSign]:SD,[b.asterisk]:Xu,[b.dash]:[Uw,Xu],[b.lessThan]:wD,[b.equalsTo]:Uw,[b.underscore]:Xu,[b.graveAccent]:Bw,[b.tilde]:Bw},nTe={[b.ampersand]:jw,[b.backslash]:Nw},rTe={[b.carriageReturn]:Vh,[b.lineFeed]:Vh,[b.carriageReturnLineFeed]:Vh,[b.exclamationMark]:CD,[b.ampersand]:jw,[b.asterisk]:Wh,[b.lessThan]:[fD,TD],[b.leftSquareBracket]:ED,[b.backslash]:[xD,Nw],[b.rightSquareBracket]:Yu,[b.underscore]:Wh,[b.graveAccent]:gD},oTe={null:[Wh,qK]},iTe={null:[b.asterisk,b.underscore]},sTe={null:[]};var a3=Hv(s3(),1);var np=a3.default("micromark");function c3(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},o={},i=[],s=[],c=[],l=!0,u={attempt:Me(Ce),check:Me(ke),consume:re,enter:Ee,exit:D,interrupt:Me(ke,{interrupt:!0})},p={code:b.eof,containerState:{},defineSkip:A,events:[],now:I,parser:e,previous:b.eof,sliceSerialize:v,sliceStream:w,write:f},d=t.tokenize.call(p,u),g;if(t.resolveAll)i.push(t);return p;function f(G){if(s=Jr(s,G),L(),s[s.length-1]!==b.eof)return[];return te(t,0),p.events=fm(i,p.events,p),p.events}function v(G,me){return UTe(w(G),me)}function w(G){return $Te(s,G)}function I(){let{_bufferIndex:G,_index:me,line:xe,column:se,offset:Qe}=r;return{_bufferIndex:G,_index:me,line:xe,column:se,offset:Qe}}function A(G){o[G.line]=G.column,Y(),np("position: define skip: `%j`",r)}function L(){let G;while(r._index<s.length){let me=s[r._index];if(typeof me==="string"){if(G=r._index,r._bufferIndex<0)r._bufferIndex=0;while(r._index===G&&r._bufferIndex<me.length)N(me.charCodeAt(r._bufferIndex))}else N(me)}}function N(G){k(l===!0,"expected character to be consumed"),l=void 0,np("main: passing `%s` to %s",G,d&&d.name),g=G,k(typeof d==="function","expected state"),d=d(G)}function re(G){if(k(G===g,"expected given code to equal expected code"),np("consume: `%s`",G),k(l===void 0,"expected code to not have been consumed: this might be because `return x(code)` instead of `return x` was used"),k(G===null?p.events.length===0||p.events[p.events.length-1][0]==="exit":p.events[p.events.length-1][0]==="enter","expected last token to be open"),we(G))r.line++,r.column=1,r.offset+=G===b.carriageReturnLineFeed?2:1,Y(),np("position: after eol: `%j`",r);else if(G!==b.virtualSpace)r.column++,r.offset++;if(r._bufferIndex<0)r._index++;else if(r._bufferIndex++,r._bufferIndex===s[r._index].length)r._bufferIndex=-1,r._index++;p.previous=G,l=!0}function Ee(G,me){let xe=me||{};return xe.type=G,xe.start=I(),k(typeof G==="string","expected string type"),k(G.length>0,"expected non-empty string"),np("enter: `%s`",G),p.events.push(["enter",xe,p]),c.push(xe),xe}function D(G){k(typeof G==="string","expected string type"),k(G.length>0,"expected non-empty string");let me=c.pop();return k(me,"cannot close w/o open tokens"),me.end=I(),k(G===me.type,"expected exit token to match current token"),k(!(me.start._index===me.end._index&&me.start._bufferIndex===me.end._bufferIndex),"expected non-empty token (`"+G+"`)"),np("exit: `%s`",me.type),p.events.push(["exit",me,p]),me}function Ce(G,me){te(G,me.from)}function ke(G,me){me.restore()}function Me(G,me){return xe;function xe(se,Qe,ft){let bn,C,Lt,Jn;return Array.isArray(se)?Vn(se):("tokenize"in se)?Vn([se]):E(se);function E(qt){return Mt;function Mt(yr){let ar=yr!==null&&qt[yr],xi=yr!==null&&qt.null,ic=[...Array.isArray(ar)?ar:ar?[ar]:[],...Array.isArray(xi)?xi:xi?[xi]:[]];return Vn(ic)(yr)}}function Vn(qt){if(bn=qt,C=0,qt.length===0)return k(ft,"expected `bogusState` to be given"),ft;return xn(qt[C])}function xn(qt){return Mt;function Mt(yr){if(Jn=ce(),Lt=qt,!qt.partial)p.currentConstruct=qt;if(k(p.parser.constructs.disable.null,"expected `disable.null` to be populated"),qt.name&&p.parser.constructs.disable.null.includes(qt.name))return Kr(yr);return qt.tokenize.call(me?Object.assign(Object.create(p),me):p,u,Fo,Kr)(yr)}}function Fo(qt){return k(qt===g,"expected code"),l=!0,G(Lt,Jn),Qe}function Kr(qt){if(k(qt===g,"expected code"),l=!0,Jn.restore(),++C<bn.length)return xn(bn[C]);return ft}}}function te(G,me){if(G.resolveAll&&!i.includes(G))i.push(G);if(G.resolve)gr(p.events,me,p.events.length-me,G.resolve(p.events.slice(me),p));if(G.resolveTo)p.events=G.resolveTo(p.events,p);k(G.partial||p.events.length===0||p.events[p.events.length-1][0]==="exit","expected last token to end")}function ce(){let G=I(),me=p.previous,xe=p.currentConstruct,se=p.events.length,Qe=Array.from(c);return{from:se,restore:ft};function ft(){r=G,p.previous=me,p.currentConstruct=xe,p.events.length=se,c=Qe,Y(),np("position: restore: `%j`",r)}}function Y(){if(r.line in o&&r.column<2)r.column=o[r.line],r.offset+=o[r.line]-1}}function $Te(e,t){let n=t.start._index,r=t.start._bufferIndex,o=t.end._index,i=t.end._bufferIndex,s;if(n===o)k(i>-1,"expected non-negative end buffer index"),k(r>-1,"expected non-negative start buffer index"),s=[e[n].slice(r,i)];else{if(s=e.slice(n,o),r>-1){let c=s[0];if(typeof c==="string")s[0]=c.slice(r);else k(r===0,"expected `startBufferIndex` to be `0`"),s.shift()}if(i>0)s.push(e[o].slice(0,i))}return s}function UTe(e,t){let n=-1,r=[],o;while(++n<e.length){let i=e[n],s;if(typeof i==="string")s=i;else switch(i){case b.carriageReturn:{s=Do.cr;break}case b.lineFeed:{s=Do.lf;break}case b.carriageReturnLineFeed:{s=Do.cr+Do.lf;break}case b.horizontalTab:{s=t?Do.space:Do.ht;break}case b.virtualSpace:{if(!t&&o)continue;s=Do.space;break}default:k(typeof i==="number","expected number"),s=String.fromCharCode(i)}o=i===b.horizontalTab,r.push(s)}return r.join("")}function OD(e){let r={constructs:kK([ID,...(e||{}).extensions||[]]),content:o(MK),defined:[],document:o(zK),flow:o(LK),lazy:{},string:o(ZK),text:o($K)};return r;function o(i){return s;function s(c){return c3(r,i,c)}}}function DD(e){while(!Lw(e));return e}var l3=/[\0\t\n\r]/g;function MD(){let e=1,t="",n=!0,r;return o;function o(i,s,c){let l=[],u,p,d,g,f;if(i=t+(typeof i==="string"?i.toString():new TextDecoder(s||void 0).decode(i)),d=0,t="",n){if(i.charCodeAt(0)===b.byteOrderMarker)d++;n=void 0}while(d<i.length){if(l3.lastIndex=d,u=l3.exec(i),g=u&&u.index!==void 0?u.index:i.length,f=i.charCodeAt(g),!u){t=i.slice(d);break}if(f===b.lf&&d===g&&r)l.push(b.carriageReturnLineFeed),r=void 0;else{if(r)l.push(b.carriageReturn),r=void 0;if(d<g)l.push(i.slice(d,g)),e+=g-d;switch(f){case b.nul:{l.push(b.replacementCharacter),e++;break}case b.ht:{p=Math.ceil(e/ge.tabSize)*ge.tabSize,l.push(b.horizontalTab);while(e++<p)l.push(b.virtualSpace);break}case b.lf:{l.push(b.lineFeed),e=1;break}default:r=!0,e=1}}d=g+1}if(c){if(r)l.push(b.carriageReturn);if(t)l.push(t);l.push(b.eof)}return l}}var WTe=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Qw(e){return e.replace(WTe,HTe)}function HTe(e,t,n){if(t)return t;if(n.charCodeAt(0)===b.numberSign){let o=n.charCodeAt(1),i=o===b.lowercaseX||o===b.uppercaseX;return zw(n.slice(i?2:1),i?ge.numericBaseHexadecimal:ge.numericBaseDecimal)}return dm(n)||e}function bl(e){if(!e||typeof e!=="object")return"";if("position"in e||"type"in e)return u3(e.position);if("start"in e||"end"in e)return u3(e);if("line"in e||"column"in e)return _D(e);return""}function _D(e){return p3(e&&e.line)+":"+p3(e&&e.column)}function u3(e){return _D(e&&e.start)+"-"+_D(e&&e.end)}function p3(e){return e&&typeof e==="number"?e:1}var m3={}.hasOwnProperty;function zD(e,t,n){if(t&&typeof t==="object")n=t,t=void 0;return JTe(n)(DD(OD(n).document().write(MD()(e,t,!0))))}function JTe(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:i(fp),autolinkProtocol:Me,autolinkEmail:Me,atxHeading:i(Il),blockQuote:i(yr),characterEscape:Me,characterReference:Me,codeFenced:i(ar),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:i(ar,s),codeText:i(xi,s),codeTextData:Me,data:Me,codeFlowValue:Me,definition:i(ic),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:i(El),hardBreakEscape:i(kl),hardBreakTrailing:i(kl),htmlFlow:i(No,s),htmlFlowData:Me,htmlText:i(No,s),htmlTextData:Me,image:i(mp),label:s,link:i(fp),listItem:i(gp),listItemValue:g,listOrdered:i(Rl,d),listUnordered:i(Rl),paragraph:i(Um),reference:E,referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:i(Il),strong:i(Si),thematicBreak:i(hp)},exit:{atxHeading:l(),atxHeadingSequence:Ee,autolink:l(),autolinkEmail:Mt,autolinkProtocol:qt,blockQuote:l(),characterEscapeValue:te,characterReferenceMarkerHexadecimal:xn,characterReferenceMarkerNumeric:xn,characterReferenceValue:Fo,characterReference:Kr,codeFenced:l(I),codeFencedFence:w,codeFencedFenceInfo:f,codeFencedFenceMeta:v,codeFlowValue:te,codeIndented:l(A),codeText:l(xe),codeTextData:te,data:te,definition:l(),definitionDestinationString:re,definitionLabelString:L,definitionTitleString:N,emphasis:l(),hardBreakEscape:l(Y),hardBreakTrailing:l(Y),htmlFlow:l(G),htmlFlowData:te,htmlText:l(me),htmlTextData:te,image:l(Qe),label:bn,labelText:ft,lineEnding:ce,link:l(se),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:Vn,resourceDestinationString:C,resourceTitleString:Lt,resource:Jn,setextHeading:l(ke),setextHeadingLineSequence:Ce,setextHeadingText:D,strong:l(),thematicBreak:l()}};f3(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(U){let H={type:"root",children:[]},m={stack:[H],tokenStack:[],config:t,enter:c,exit:u,buffer:s,resume:p,data:n},P=[],j=-1;while(++j<U.length)if(U[j][1].type===y.listOrdered||U[j][1].type===y.listUnordered)if(U[j][0]==="enter")P.push(j);else{let J=P.pop();k(typeof J==="number","expected list to be open"),j=o(U,J,j)}j=-1;while(++j<U.length){let J=t[U[j][0]];if(m3.call(J,U[j][1].type))J[U[j][1].type].call(Object.assign({sliceSerialize:U[j][2].sliceSerialize},m),U[j][1])}if(m.tokenStack.length>0){let J=m.tokenStack[m.tokenStack.length-1];(J[1]||d3).call(m,void 0,J[0])}H.position={start:xl(U.length>0?U[0][1].start:{line:1,column:1,offset:0}),end:xl(U.length>0?U[U.length-2][1].end:{line:1,column:1,offset:0})},j=-1;while(++j<t.transforms.length)H=t.transforms[j](H)||H;return H}function o(U,H,m){let P=H-1,j=-1,J=!1,B,ie,x,F;while(++P<=m){let ne=U[P];switch(ne[1].type){case y.listUnordered:case y.listOrdered:case y.blockQuote:{if(ne[0]==="enter")j++;else j--;F=void 0;break}case y.lineEndingBlank:{if(ne[0]==="enter"){if(B&&!F&&!j&&!x)x=P;F=void 0}break}case y.linePrefix:case y.listItemValue:case y.listItemMarker:case y.listItemPrefix:case y.listItemPrefixWhitespace:break;default:F=void 0}if(!j&&ne[0]==="enter"&&ne[1].type===y.listItemPrefix||j===-1&&ne[0]==="exit"&&(ne[1].type===y.listUnordered||ne[1].type===y.listOrdered)){if(B){let Q=P;ie=void 0;while(Q--){let K=U[Q];if(K[1].type===y.lineEnding||K[1].type===y.lineEndingBlank){if(K[0]==="exit")continue;if(ie)U[ie][1].type=y.lineEndingBlank,J=!0;K[1].type=y.lineEnding,ie=Q}else if(K[1].type===y.linePrefix||K[1].type===y.blockQuotePrefix||K[1].type===y.blockQuotePrefixWhitespace||K[1].type===y.blockQuoteMarker||K[1].type===y.listItemIndent);else break}if(x&&(!ie||x<ie))B._spread=!0;B.end=Object.assign({},ie?U[ie][1].start:ne[1].end),U.splice(ie||P,0,["exit",B,ne[2]]),P++,m++}if(ne[1].type===y.listItemPrefix){let Q={type:"listItem",_spread:!1,start:Object.assign({},ne[1].start),end:void 0};B=Q,U.splice(P,0,["enter",Q,ne[2]]),P++,m++,x=void 0,F=!0}}}return U[H][1]._spread=J,m}function i(U,H){return m;function m(P){if(c.call(this,U(P),P),H)H.call(this,P)}}function s(){this.stack.push({type:"fragment",children:[]})}function c(U,H,m){let P=this.stack[this.stack.length-1];k(P,"expected `parent`"),k("children"in P,"expected `parent`"),P.children.push(U),this.stack.push(U),this.tokenStack.push([H,m||void 0]),U.position={start:xl(H.start),end:void 0}}function l(U){return H;function H(m){if(U)U.call(this,m);u.call(this,m)}}function u(U,H){let m=this.stack.pop();k(m,"expected `node`");let P=this.tokenStack.pop();if(!P)throw Error("Cannot close `"+U.type+"` ("+bl({start:U.start,end:U.end})+"): it\u2019s not open");else if(P[0].type!==U.type)if(H)H.call(this,U,P[0]);else(P[1]||d3).call(this,U,P[0]);k(m.type!=="fragment","unexpected fragment `exit`ed"),k(m.position,"expected `position` to be defined"),m.position.end=xl(U.end)}function p(){return Va(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function g(U){if(this.data.expectingFirstListItemValue){let H=this.stack[this.stack.length-2];k(H,"expected nodes on stack"),k(H.type==="list","expected list on stack"),H.start=Number.parseInt(this.sliceSerialize(U),ge.numericBaseDecimal),this.data.expectingFirstListItemValue=void 0}}function f(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="code","expected code on stack"),H.lang=U}function v(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="code","expected code on stack"),H.meta=U}function w(){if(this.data.flowCodeInside)return;this.buffer(),this.data.flowCodeInside=!0}function I(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="code","expected code on stack"),H.value=U.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function A(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="code","expected code on stack"),H.value=U.replace(/(\r?\n|\r)$/g,"")}function L(U){let H=this.resume(),m=this.stack[this.stack.length-1];k(m,"expected node on stack"),k(m.type==="definition","expected definition on stack"),m.label=H,m.identifier=Ga(this.sliceSerialize(U)).toLowerCase()}function N(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="definition","expected definition on stack"),H.title=U}function re(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="definition","expected definition on stack"),H.url=U}function Ee(U){let H=this.stack[this.stack.length-1];if(k(H,"expected node on stack"),k(H.type==="heading","expected heading on stack"),!H.depth){let m=this.sliceSerialize(U).length;k(m===1||m===2||m===3||m===4||m===5||m===6,"expected `depth` between `1` and `6`"),H.depth=m}}function D(){this.data.setextHeadingSlurpLineEnding=!0}function Ce(U){let H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="heading","expected heading on stack"),H.depth=this.sliceSerialize(U).codePointAt(0)===b.equalsTo?1:2}function ke(){this.data.setextHeadingSlurpLineEnding=void 0}function Me(U){let H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k("children"in H,"expected parent on stack");let m=H.children,P=m[m.length-1];if(!P||P.type!=="text")P=Wm(),P.position={start:xl(U.start),end:void 0},m.push(P);this.stack.push(P)}function te(U){let H=this.stack.pop();k(H,"expected a `node` to be on the stack"),k("value"in H,"expected a `literal` to be on the stack"),k(H.position,"expected `node` to have an open position"),H.value+=this.sliceSerialize(U),H.position.end=xl(U.end)}function ce(U){let H=this.stack[this.stack.length-1];if(k(H,"expected `node`"),this.data.atHardBreak){k("children"in H,"expected `parent`");let m=H.children[H.children.length-1];k(m.position,"expected tail to have a starting position"),m.position.end=xl(U.end),this.data.atHardBreak=void 0;return}if(!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(H.type))Me.call(this,U),te.call(this,U)}function Y(){this.data.atHardBreak=!0}function G(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="html","expected html on stack"),H.value=U}function me(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="html","expected html on stack"),H.value=U}function xe(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="inlineCode","expected inline code on stack"),H.value=U}function se(){let U=this.stack[this.stack.length-1];if(k(U,"expected node on stack"),k(U.type==="link","expected link on stack"),this.data.inReference){let H=this.data.referenceType||"shortcut";U.type+="Reference",U.referenceType=H,delete U.url,delete U.title}else delete U.identifier,delete U.label;this.data.referenceType=void 0}function Qe(){let U=this.stack[this.stack.length-1];if(k(U,"expected node on stack"),k(U.type==="image","expected image on stack"),this.data.inReference){let H=this.data.referenceType||"shortcut";U.type+="Reference",U.referenceType=H,delete U.url,delete U.title}else delete U.identifier,delete U.label;this.data.referenceType=void 0}function ft(U){let H=this.sliceSerialize(U),m=this.stack[this.stack.length-2];k(m,"expected ancestor on stack"),k(m.type==="image"||m.type==="link","expected image or link on stack"),m.label=Qw(H),m.identifier=Ga(H).toLowerCase()}function bn(){let U=this.stack[this.stack.length-1];k(U,"expected node on stack"),k(U.type==="fragment","expected fragment on stack");let H=this.resume(),m=this.stack[this.stack.length-1];if(k(m,"expected node on stack"),k(m.type==="image"||m.type==="link","expected image or link on stack"),this.data.inReference=!0,m.type==="link"){let P=U.children;m.children=P}else m.alt=H}function C(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="image"||H.type==="link","expected image or link on stack"),H.url=U}function Lt(){let U=this.resume(),H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="image"||H.type==="link","expected image or link on stack"),H.title=U}function Jn(){this.data.inReference=void 0}function E(){this.data.referenceType="collapsed"}function Vn(U){let H=this.resume(),m=this.stack[this.stack.length-1];k(m,"expected node on stack"),k(m.type==="image"||m.type==="link","expected image reference or link reference on stack"),m.label=H,m.identifier=Ga(this.sliceSerialize(U)).toLowerCase(),this.data.referenceType="full"}function xn(U){k(U.type==="characterReferenceMarkerNumeric"||U.type==="characterReferenceMarkerHexadecimal"),this.data.characterReferenceType=U.type}function Fo(U){let H=this.sliceSerialize(U),m=this.data.characterReferenceType,P;if(m)P=zw(H,m===y.characterReferenceMarkerNumeric?ge.numericBaseDecimal:ge.numericBaseHexadecimal),this.data.characterReferenceType=void 0;else{let J=dm(H);k(J!==!1,"expected reference to decode"),P=J}let j=this.stack[this.stack.length-1];k(j,"expected `node`"),k("value"in j,"expected `node.value`"),j.value+=P}function Kr(U){let H=this.stack.pop();k(H,"expected `node`"),k(H.position,"expected `node.position`"),H.position.end=xl(U.end)}function qt(U){te.call(this,U);let H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="link","expected link on stack"),H.url=this.sliceSerialize(U)}function Mt(U){te.call(this,U);let H=this.stack[this.stack.length-1];k(H,"expected node on stack"),k(H.type==="link","expected link on stack"),H.url="mailto:"+this.sliceSerialize(U)}function yr(){return{type:"blockquote",children:[]}}function ar(){return{type:"code",lang:null,meta:null,value:""}}function xi(){return{type:"inlineCode",value:""}}function ic(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function El(){return{type:"emphasis",children:[]}}function Il(){return{type:"heading",depth:0,children:[]}}function kl(){return{type:"break"}}function No(){return{type:"html",value:""}}function mp(){return{type:"image",title:null,url:"",alt:null}}function fp(){return{type:"link",title:null,url:"",children:[]}}function Rl(U){return{type:"list",ordered:U.type==="listOrdered",start:null,spread:U._spread,children:[]}}function gp(U){return{type:"listItem",spread:U._spread,checked:null,children:[]}}function Um(){return{type:"paragraph",children:[]}}function Si(){return{type:"strong",children:[]}}function Wm(){return{type:"text",value:""}}function hp(){return{type:"thematicBreak"}}}function xl(e){return{line:e.line,column:e.column,offset:e.offset}}function f3(e,t){let n=-1;while(++n<t.length){let r=t[n];if(Array.isArray(r))f3(e,r);else VTe(e,r)}}function VTe(e,t){let n;for(n in t)if(m3.call(t,n))switch(n){case"canContainEols":{let r=t[n];if(r)e[n].push(...r);break}case"transforms":{let r=t[n];if(r)e[n].push(...r);break}case"enter":case"exit":{let r=t[n];if(r)Object.assign(e[n],r);break}}}function d3(e,t){if(e)throw Error("Cannot close `"+e.type+"` ("+bl({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+bl({start:t.start,end:t.end})+") is open");else throw Error("Cannot close document, a token (`"+t.type+"`, "+bl({start:t.start,end:t.end})+") is still open")}function Kw(e){let t=this;t.parser=n;function n(r){return zD(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}var g3={}.hasOwnProperty;function h3(e,t){let n=t||{};function r(o,...i){let{invalid:s,handlers:c}=r;if(o&&g3.call(o,e)){let l=String(o[e]);s=g3.call(c,l)?c[l]:r.unknown}if(s)return s.call(this,o,...i)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var GTe={}.hasOwnProperty;function FD(e,t){let n=-1,r;if(t.extensions)while(++n<t.extensions.length)FD(e,t.extensions[n]);for(r in t)if(GTe.call(t,r))switch(r){case"extensions":break;case"unsafe":{y3(e[r],t[r]);break}case"join":{y3(e[r],t[r]);break}case"handlers":{QTe(e[r],t[r]);break}default:e.options[r]=t[r]}return e}function y3(e,t){if(t)e.push(...t)}function QTe(e,t){if(t)Object.assign(e,t)}function b3(e,t,n,r){let o=n.enter("blockquote"),i=n.createTracker(r);i.move("> "),i.shift(2);let s=n.indentLines(n.containerFlow(e,i.current()),KTe);return o(),s}function KTe(e,t,n){return">"+(n?"":" ")+e}function Yw(e,t){return x3(e,t.inConstruct,!0)&&!x3(e,t.notInConstruct,!1)}function x3(e,t,n){if(typeof t==="string")t=[t];if(!t||t.length===0)return n;let r=-1;while(++r<t.length)if(e.includes(t[r]))return!0;return!1}function ND(e,t,n,r){let o=-1;while(++o<n.unsafe.length)if(n.unsafe[o].character===`
80
80
  `&&Yw(n.stack,n.unsafe[o]))return/[ \t]/.test(r.before)?"":" ";return"\\\n"}function S3(e,t){let n=String(e),r=n.indexOf(t),o=r,i=0,s=0;if(typeof t!=="string")throw TypeError("Expected substring");while(r!==-1){if(r===o){if(++i>s)s=i}else i=1;o=r+t.length,r=n.indexOf(t,o)}return s}function Qh(e,t){return Boolean(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function v3(e){let t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function w3(e,t,n,r){let o=v3(n),i=e.value||"",s=o==="`"?"GraveAccent":"Tilde";if(Qh(e,n)){let d=n.enter("codeIndented"),g=n.indentLines(i,YTe);return d(),g}let c=n.createTracker(r),l=o.repeat(Math.max(S3(i,o)+1,3)),u=n.enter("codeFenced"),p=c.move(l);if(e.lang){let d=n.enter(`codeFencedLang${s}`);p+=c.move(n.safe(e.lang,{before:p,after:" ",encode:["`"],...c.current()})),d()}if(e.lang&&e.meta){let d=n.enter(`codeFencedMeta${s}`);p+=c.move(" "),p+=c.move(n.safe(e.meta,{before:p,after:`
81
81
  `,encode:["`"],...c.current()})),d()}if(p+=c.move(`
82
82
  `),i)p+=c.move(i+`
@@ -130,15 +130,15 @@ ${e}
130
130
  `;for(let w=1;w<=i.linesAfter;w++){if(p+w>=l.length)break;let I=t(o.buffer,c[p+w],l[p+w],o.position-(c[p]-c[p+w]),f);d+=e.repeat(" ",i.indent)+n((o.line+w+1).toString(),g)+" | "+I.str+`
131
131
  `}return d.replace(/\n$/,"")}return AM=r,AM}var OM,_6;function Gr(){if(_6)return OM;_6=1;let e=ry(),t=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],n=["scalar","sequence","mapping"];function r(i){let s={};if(i!==null)Object.keys(i).forEach(function(c){i[c].forEach(function(l){s[String(l)]=c})});return s}function o(i,s){if(s=s||{},Object.keys(s).forEach(function(c){if(t.indexOf(c)===-1)throw new e('Unknown option "'+c+'" is met in definition of "'+i+'" YAML type.')}),this.options=s,this.tag=i,this.kind=s.kind||null,this.resolve=s.resolve||function(){return!0},this.construct=s.construct||function(c){return c},this.instanceOf=s.instanceOf||null,this.predicate=s.predicate||null,this.represent=s.represent||null,this.representName=s.representName||null,this.defaultStyle=s.defaultStyle||null,this.multi=s.multi||!1,this.styleAliases=r(s.styleAliases||null),n.indexOf(this.kind)===-1)throw new e('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}return OM=o,OM}var DM,z6;function n5(){if(z6)return DM;z6=1;let e=ry(),t=Gr();function n(i,s){let c=[];return i[s].forEach(function(l){let u=c.length;c.forEach(function(p,d){if(p.tag===l.tag&&p.kind===l.kind&&p.multi===l.multi)u=d}),c[u]=l}),c}function r(){let i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function s(c){if(c.multi)i.multi[c.kind].push(c),i.multi.fallback.push(c);else i[c.kind][c.tag]=i.fallback[c.tag]=c}for(let c=0,l=arguments.length;c<l;c+=1)arguments[c].forEach(s);return i}function o(i){return this.extend(i)}return o.prototype.extend=function(s){let c=[],l=[];if(s instanceof t)l.push(s);else if(Array.isArray(s))l=l.concat(s);else if(s&&(Array.isArray(s.implicit)||Array.isArray(s.explicit))){if(s.implicit)c=c.concat(s.implicit);if(s.explicit)l=l.concat(s.explicit)}else throw new e("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");c.forEach(function(p){if(!(p instanceof t))throw new e("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(p.loadKind&&p.loadKind!=="scalar")throw new e("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(p.multi)throw new e("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),l.forEach(function(p){if(!(p instanceof t))throw new e("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let u=Object.create(o.prototype);return u.implicit=(this.implicit||[]).concat(c),u.explicit=(this.explicit||[]).concat(l),u.compiledImplicit=n(u,"implicit"),u.compiledExplicit=n(u,"explicit"),u.compiledTypeMap=r(u.compiledImplicit,u.compiledExplicit),u},DM=o,DM}var MM,F6;function r5(){if(F6)return MM;return F6=1,MM=new(Gr())("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}}),MM}var _M,N6;function o5(){if(N6)return _M;return N6=1,_M=new(Gr())("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}}),_M}var zM,j6;function i5(){if(j6)return zM;return j6=1,zM=new(Gr())("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}}),zM}var FM,B6;function s5(){if(B6)return FM;return B6=1,FM=new(n5())({explicit:[r5(),o5(),i5()]}),FM}var NM,L6;function a5(){if(L6)return NM;L6=1;let e=Gr();function t(o){if(o===null)return!0;let i=o.length;return i===1&&o==="~"||i===4&&(o==="null"||o==="Null"||o==="NULL")}function n(){return null}function r(o){return o===null}return NM=new e("tag:yaml.org,2002:null",{kind:"scalar",resolve:t,construct:n,predicate:r,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),NM}var jM,q6;function c5(){if(q6)return jM;q6=1;let e=Gr();function t(o){if(o===null)return!1;let i=o.length;return i===4&&(o==="true"||o==="True"||o==="TRUE")||i===5&&(o==="false"||o==="False"||o==="FALSE")}function n(o){return o==="true"||o==="True"||o==="TRUE"}function r(o){return Object.prototype.toString.call(o)==="[object Boolean]"}return jM=new e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:t,construct:n,predicate:r,represent:{lowercase:function(o){return o?"true":"false"},uppercase:function(o){return o?"TRUE":"FALSE"},camelcase:function(o){return o?"True":"False"}},defaultStyle:"lowercase"}),jM}var BM,Z6;function l5(){if(Z6)return BM;Z6=1;let e=ny(),t=Gr();function n(u){return u>=48&&u<=57||u>=65&&u<=70||u>=97&&u<=102}function r(u){return u>=48&&u<=55}function o(u){return u>=48&&u<=57}function i(u){if(u===null)return!1;let p=u.length,d=0,g=!1;if(!p)return!1;let f=u[d];if(f==="-"||f==="+")f=u[++d];if(f==="0"){if(d+1===p)return!0;if(f=u[++d],f==="b"){d++;for(;d<p;d++){if(f=u[d],f!=="0"&&f!=="1")return!1;g=!0}return g&&isFinite(s(u))}if(f==="x"){d++;for(;d<p;d++){if(!n(u.charCodeAt(d)))return!1;g=!0}return g&&isFinite(s(u))}if(f==="o"){d++;for(;d<p;d++){if(!r(u.charCodeAt(d)))return!1;g=!0}return g&&isFinite(s(u))}}for(;d<p;d++){if(!o(u.charCodeAt(d)))return!1;g=!0}if(!g)return!1;return isFinite(s(u))}function s(u){let p=u,d=1,g=p[0];if(g==="-"||g==="+"){if(g==="-")d=-1;p=p.slice(1),g=p[0]}if(p==="0")return 0;if(g==="0"){if(p[1]==="b")return d*parseInt(p.slice(2),2);if(p[1]==="x")return d*parseInt(p.slice(2),16);if(p[1]==="o")return d*parseInt(p.slice(2),8)}return d*parseInt(p,10)}function c(u){return s(u)}function l(u){return Object.prototype.toString.call(u)==="[object Number]"&&(u%1===0&&!e.isNegativeZero(u))}return BM=new t("tag:yaml.org,2002:int",{kind:"scalar",resolve:i,construct:c,predicate:l,represent:{binary:function(u){return u>=0?"0b"+u.toString(2):"-0b"+u.toString(2).slice(1)},octal:function(u){return u>=0?"0o"+u.toString(8):"-0o"+u.toString(8).slice(1)},decimal:function(u){return u.toString(10)},hexadecimal:function(u){return u>=0?"0x"+u.toString(16).toUpperCase():"-0x"+u.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),BM}var LM,$6;function u5(){if($6)return LM;$6=1;let e=ny(),t=Gr(),n=new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),r=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function o(u){if(u===null)return!1;if(!n.test(u))return!1;if(isFinite(parseFloat(u,10)))return!0;return r.test(u)}function i(u){let p=u.toLowerCase(),d=p[0]==="-"?-1:1;if("+-".indexOf(p[0])>=0)p=p.slice(1);if(p===".inf")return d===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;else if(p===".nan")return NaN;return d*parseFloat(p,10)}let s=/^[-+]?[0-9]+e/;function c(u,p){if(isNaN(u))switch(p){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===u)switch(p){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===u)switch(p){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(e.isNegativeZero(u))return"-0.0";let d=u.toString(10);return s.test(d)?d.replace("e",".e"):d}function l(u){return Object.prototype.toString.call(u)==="[object Number]"&&(u%1!==0||e.isNegativeZero(u))}return LM=new t("tag:yaml.org,2002:float",{kind:"scalar",resolve:o,construct:i,predicate:l,represent:c,defaultStyle:"lowercase"}),LM}var qM,U6;function p5(){if(U6)return qM;return U6=1,qM=s5().extend({implicit:[a5(),c5(),l5(),u5()]}),qM}var ZM,W6;function d5(){if(W6)return ZM;return W6=1,ZM=p5(),ZM}var $M,H6;function m5(){if(H6)return $M;H6=1;let e=Gr(),t=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),n=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 r(s){if(s===null)return!1;if(t.exec(s)!==null)return!0;if(n.exec(s)!==null)return!0;return!1}function o(s){let c=0,l=null,u=t.exec(s);if(u===null)u=n.exec(s);if(u===null)throw Error("Date resolve error");let p=+u[1],d=+u[2]-1,g=+u[3];if(!u[4])return new Date(Date.UTC(p,d,g));let f=+u[4],v=+u[5],w=+u[6];if(u[7]){c=u[7].slice(0,3);while(c.length<3)c+="0";c=+c}if(u[9]){let A=+u[10],L=+(u[11]||0);if(l=(A*60+L)*60000,u[9]==="-")l=-l}let I=new Date(Date.UTC(p,d,g,f,v,w,c));if(l)I.setTime(I.getTime()-l);return I}function i(s){return s.toISOString()}return $M=new e("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:r,construct:o,instanceOf:Date,represent:i}),$M}var UM,J6;function f5(){if(J6)return UM;J6=1;let e=Gr();function t(n){return n==="<<"||n===null}return UM=new e("tag:yaml.org,2002:merge",{kind:"scalar",resolve:t}),UM}var WM,V6;function g5(){if(V6)return WM;V6=1;let e=Gr(),t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
132
132
  \r`;function n(s){if(s===null)return!1;let c=0,l=s.length,u=t;for(let p=0;p<l;p++){let d=u.indexOf(s.charAt(p));if(d>64)continue;if(d<0)return!1;c+=6}return c%8===0}function r(s){let c=s.replace(/[\r\n=]/g,""),l=c.length,u=t,p=0,d=[];for(let f=0;f<l;f++){if(f%4===0&&f)d.push(p>>16&255),d.push(p>>8&255),d.push(p&255);p=p<<6|u.indexOf(c.charAt(f))}let g=l%4*6;if(g===0)d.push(p>>16&255),d.push(p>>8&255),d.push(p&255);else if(g===18)d.push(p>>10&255),d.push(p>>2&255);else if(g===12)d.push(p>>4&255);return new Uint8Array(d)}function o(s){let c="",l=0,u=s.length,p=t;for(let g=0;g<u;g++){if(g%3===0&&g)c+=p[l>>18&63],c+=p[l>>12&63],c+=p[l>>6&63],c+=p[l&63];l=(l<<8)+s[g]}let d=u%3;if(d===0)c+=p[l>>18&63],c+=p[l>>12&63],c+=p[l>>6&63],c+=p[l&63];else if(d===2)c+=p[l>>10&63],c+=p[l>>4&63],c+=p[l<<2&63],c+=p[64];else if(d===1)c+=p[l>>2&63],c+=p[l<<4&63],c+=p[64],c+=p[64];return c}function i(s){return Object.prototype.toString.call(s)==="[object Uint8Array]"}return WM=new e("tag:yaml.org,2002:binary",{kind:"scalar",resolve:n,construct:r,predicate:i,represent:o}),WM}var HM,G6;function h5(){if(G6)return HM;G6=1;let e=Gr(),t=Object.prototype.hasOwnProperty,n=Object.prototype.toString;function r(i){if(i===null)return!0;let s=[],c=i;for(let l=0,u=c.length;l<u;l+=1){let p=c[l],d=!1;if(n.call(p)!=="[object Object]")return!1;let g;for(g in p)if(t.call(p,g))if(!d)d=!0;else return!1;if(!d)return!1;if(s.indexOf(g)===-1)s.push(g);else return!1}return!0}function o(i){return i!==null?i:[]}return HM=new e("tag:yaml.org,2002:omap",{kind:"sequence",resolve:r,construct:o}),HM}var JM,Q6;function y5(){if(Q6)return JM;Q6=1;let e=Gr(),t=Object.prototype.toString;function n(o){if(o===null)return!0;let i=o,s=Array(i.length);for(let c=0,l=i.length;c<l;c+=1){let u=i[c];if(t.call(u)!=="[object Object]")return!1;let p=Object.keys(u);if(p.length!==1)return!1;s[c]=[p[0],u[p[0]]]}return!0}function r(o){if(o===null)return[];let i=o,s=Array(i.length);for(let c=0,l=i.length;c<l;c+=1){let u=i[c],p=Object.keys(u);s[c]=[p[0],u[p[0]]]}return s}return JM=new e("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:n,construct:r}),JM}var VM,K6;function b5(){if(K6)return VM;K6=1;let e=Gr(),t=Object.prototype.hasOwnProperty;function n(o){if(o===null)return!0;let i=o;for(let s in i)if(t.call(i,s)){if(i[s]!==null)return!1}return!0}function r(o){return o!==null?o:{}}return VM=new e("tag:yaml.org,2002:set",{kind:"mapping",resolve:n,construct:r}),VM}var GM,Y6;function KM(){if(Y6)return GM;return Y6=1,GM=d5().extend({implicit:[m5(),f5()],explicit:[g5(),h5(),y5(),b5()]}),GM}var X6;function UCe(){if(X6)return fT;X6=1;let e=ny(),t=ry(),n=$Ce(),r=KM(),o=Object.prototype.hasOwnProperty,i=1,s=2,c=3,l=4,u=1,p=2,d=3,g=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,f=/[\x85\u2028\u2029]/,v=/[,\[\]{}]/,w=/^(?:!|!!|![0-9A-Za-z-]+!)$/,I=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function A(m){return Object.prototype.toString.call(m)}function L(m){return m===10||m===13}function N(m){return m===9||m===32}function re(m){return m===9||m===32||m===10||m===13}function Ee(m){return m===44||m===91||m===93||m===123||m===125}function D(m){if(m>=48&&m<=57)return m-48;let P=m|32;if(P>=97&&P<=102)return P-97+10;return-1}function Ce(m){if(m===120)return 2;if(m===117)return 4;if(m===85)return 8;return 0}function ke(m){if(m>=48&&m<=57)return m-48;return-1}function Me(m){switch(m){case 48:return"\x00";case 97:return"\x07";case 98:return"\b";case 116:return"\t";case 9:return"\t";case 110:return`
133
- `;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 te(m){if(m<=65535)return String.fromCharCode(m);return String.fromCharCode((m-65536>>10)+55296,(m-65536&1023)+56320)}function ce(m,P,j){if(P==="__proto__")Object.defineProperty(m,P,{configurable:!0,enumerable:!0,writable:!0,value:j});else m[P]=j}let Y=Array(256),G=Array(256);for(let m=0;m<256;m++)Y[m]=Me(m)?1:0,G[m]=Me(m);function me(m,P){this.input=m,this.filename=P.filename||null,this.schema=P.schema||r,this.onWarning=P.onWarning||null,this.legacy=P.legacy||!1,this.json=P.json||!1,this.listener=P.listener||null,this.maxDepth=typeof P.maxDepth==="number"?P.maxDepth:100,this.maxTotalMergeKeys=typeof P.maxTotalMergeKeys==="number"?P.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=m.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 xe(m,P){let j={name:m.filename,buffer:m.input.slice(0,-1),position:m.position,line:m.line,column:m.position-m.lineStart};return j.snippet=n(j),new t(P,j)}function se(m,P){throw xe(m,P)}function Qe(m,P){if(m.onWarning)m.onWarning.call(null,xe(m,P))}function ft(m,P,j){let V=m.anchorMapTransactions;if(V.length!==0){let B=V[V.length-1];if(!o.call(B,P))B[P]={existed:o.call(m.anchorMap,P),value:m.anchorMap[P]}}m.anchorMap[P]=j}function bn(m){m.anchorMapTransactions.push(Object.create(null))}function C(m){let P=m.anchorMapTransactions.pop(),j=m.anchorMapTransactions;if(j.length===0)return;let V=j[j.length-1],B=Object.keys(P);for(let ie=0,x=B.length;ie<x;ie+=1){let F=B[ie];if(!o.call(V,F))V[F]=P[F]}}function Lt(m){let P=m.anchorMapTransactions.pop(),j=Object.keys(P);for(let V=j.length-1;V>=0;V-=1){let B=P[j[V]];if(B.existed)m.anchorMap[j[V]]=B.value;else delete m.anchorMap[j[V]]}}function Jn(m){return{position:m.position,line:m.line,lineStart:m.lineStart,lineIndent:m.lineIndent,firstTabInLine:m.firstTabInLine,tag:m.tag,anchor:m.anchor,kind:m.kind,result:m.result}}function E(m,P){m.position=P.position,m.line=P.line,m.lineStart=P.lineStart,m.lineIndent=P.lineIndent,m.firstTabInLine=P.firstTabInLine,m.tag=P.tag,m.anchor=P.anchor,m.kind=P.kind,m.result=P.result}let Vn={YAML:function(P,j,V){if(P.version!==null)se(P,"duplication of %YAML directive");if(V.length!==1)se(P,"YAML directive accepts exactly one argument");let B=/^([0-9]+)\.([0-9]+)$/.exec(V[0]);if(B===null)se(P,"ill-formed argument of the YAML directive");let ie=parseInt(B[1],10),x=parseInt(B[2],10);if(ie!==1)se(P,"unacceptable YAML version of the document");if(P.version=V[0],P.checkLineBreaks=x<2,x!==1&&x!==2)Qe(P,"unsupported YAML version of the document")},TAG:function(P,j,V){let B;if(V.length!==2)se(P,"TAG directive accepts exactly two arguments");let ie=V[0];if(B=V[1],!w.test(ie))se(P,"ill-formed tag handle (first argument) of the TAG directive");if(o.call(P.tagMap,ie))se(P,'there is a previously declared suffix for "'+ie+'" tag handle');if(!I.test(B))se(P,"ill-formed tag prefix (second argument) of the TAG directive");try{B=decodeURIComponent(B)}catch(x){se(P,"tag prefix is malformed: "+B)}P.tagMap[ie]=B}};function xn(m,P,j,V){if(P<j){let B=m.input.slice(P,j);if(V)for(let ie=0,x=B.length;ie<x;ie+=1){let F=B.charCodeAt(ie);if(!(F===9||F>=32&&F<=1114111))se(m,"expected valid JSON character")}else if(g.test(B))se(m,"the stream contains non-printable characters");m.result+=B}}function Fo(m,P,j,V){if(!e.isObject(j))se(m,"cannot merge mappings; the provided source object is unacceptable");let B=Object.keys(j);for(let ie=0,x=B.length;ie<x;ie+=1){let F=B[ie];if(m.maxTotalMergeKeys!==-1&&++m.totalMergeKeys>m.maxTotalMergeKeys)se(m,"merge keys exceeded maxTotalMergeKeys ("+m.maxTotalMergeKeys+")");if(!o.call(P,F))ce(P,F,j[F]),V[F]=!0}}function Kr(m,P,j,V,B,ie,x,F,ne){if(Array.isArray(B)){B=Array.prototype.slice.call(B);for(let Q=0,K=B.length;Q<K;Q+=1){if(Array.isArray(B[Q]))se(m,"nested arrays are not supported inside keys");if(typeof B==="object"&&A(B[Q])==="[object Object]")B[Q]="[object Object]"}}if(typeof B==="object"&&A(B)==="[object Object]")B="[object Object]";if(B=String(B),P===null)P={};if(V==="tag:yaml.org,2002:merge")if(Array.isArray(ie))for(let Q=0,K=ie.length;Q<K;Q+=1)Fo(m,P,ie[Q],j);else Fo(m,P,ie,j);else{if(!m.json&&!o.call(j,B)&&o.call(P,B))m.line=x||m.line,m.lineStart=F||m.lineStart,m.position=ne||m.position,se(m,"duplicated mapping key");ce(P,B,ie),delete j[B]}return P}function qt(m){let P=m.input.charCodeAt(m.position);if(P===10)m.position++;else if(P===13){if(m.position++,m.input.charCodeAt(m.position)===10)m.position++}else se(m,"a line break is expected");m.line+=1,m.lineStart=m.position,m.firstTabInLine=-1}function Mt(m,P,j){let V=0,B=m.input.charCodeAt(m.position);while(B!==0){while(N(B)){if(B===9&&m.firstTabInLine===-1)m.firstTabInLine=m.position;B=m.input.charCodeAt(++m.position)}if(P&&B===35)do B=m.input.charCodeAt(++m.position);while(B!==10&&B!==13&&B!==0);if(L(B)){qt(m),B=m.input.charCodeAt(m.position),V++,m.lineIndent=0;while(B===32)m.lineIndent++,B=m.input.charCodeAt(++m.position)}else break}if(j!==-1&&V!==0&&m.lineIndent<j)Qe(m,"deficient indentation");return V}function yr(m){let P=m.position,j=m.input.charCodeAt(P);if((j===45||j===46)&&j===m.input.charCodeAt(P+1)&&j===m.input.charCodeAt(P+2)){if(P+=3,j=m.input.charCodeAt(P),j===0||re(j))return!0}return!1}function ar(m,P){if(P===1)m.result+=" ";else if(P>1)m.result+=e.repeat(`
134
- `,P-1)}function xi(m,P,j){let V,B,ie,x,F,ne,Q=m.kind,K=m.result,fe=m.input.charCodeAt(m.position);if(re(fe)||Ee(fe)||fe===35||fe===38||fe===42||fe===33||fe===124||fe===62||fe===39||fe===34||fe===37||fe===64||fe===96)return!1;if(fe===63||fe===45){let ae=m.input.charCodeAt(m.position+1);if(re(ae)||j&&Ee(ae))return!1}m.kind="scalar",m.result="",V=B=m.position,ie=!1;while(fe!==0){if(fe===58){let ae=m.input.charCodeAt(m.position+1);if(re(ae)||j&&Ee(ae))break}else if(fe===35){let ae=m.input.charCodeAt(m.position-1);if(re(ae))break}else if(m.position===m.lineStart&&yr(m)||j&&Ee(fe))break;else if(L(fe))if(x=m.line,F=m.lineStart,ne=m.lineIndent,Mt(m,!1,-1),m.lineIndent>=P){ie=!0,fe=m.input.charCodeAt(m.position);continue}else{m.position=B,m.line=x,m.lineStart=F,m.lineIndent=ne;break}if(ie)xn(m,V,B,!1),ar(m,m.line-x),V=B=m.position,ie=!1;if(!N(fe))B=m.position+1;fe=m.input.charCodeAt(++m.position)}if(xn(m,V,B,!1),m.result)return!0;return m.kind=Q,m.result=K,!1}function ic(m,P){let j,V,B=m.input.charCodeAt(m.position);if(B!==39)return!1;m.kind="scalar",m.result="",m.position++,j=V=m.position;while((B=m.input.charCodeAt(m.position))!==0)if(B===39)if(xn(m,j,m.position,!0),B=m.input.charCodeAt(++m.position),B===39)j=m.position,m.position++,V=m.position;else return!0;else if(L(B))xn(m,j,V,!0),ar(m,Mt(m,!1,P)),j=V=m.position;else if(m.position===m.lineStart&&yr(m))se(m,"unexpected end of the document within a single quoted scalar");else if(m.position++,!N(B))V=m.position;se(m,"unexpected end of the stream within a single quoted scalar")}function El(m,P){let j,V,B,ie=m.input.charCodeAt(m.position);if(ie!==34)return!1;m.kind="scalar",m.result="",m.position++,j=V=m.position;while((ie=m.input.charCodeAt(m.position))!==0)if(ie===34)return xn(m,j,m.position,!0),m.position++,!0;else if(ie===92){if(xn(m,j,m.position,!0),ie=m.input.charCodeAt(++m.position),L(ie))Mt(m,!1,P);else if(ie<256&&Y[ie])m.result+=G[ie],m.position++;else if((B=Ce(ie))>0){let x=B,F=0;for(;x>0;x--)if(ie=m.input.charCodeAt(++m.position),(B=D(ie))>=0)F=(F<<4)+B;else se(m,"expected hexadecimal character");m.result+=te(F),m.position++}else se(m,"unknown escape sequence");j=V=m.position}else if(L(ie))xn(m,j,V,!0),ar(m,Mt(m,!1,P)),j=V=m.position;else if(m.position===m.lineStart&&yr(m))se(m,"unexpected end of the document within a double quoted scalar");else if(m.position++,!N(ie))V=m.position;se(m,"unexpected end of the stream within a double quoted scalar")}function Il(m,P){let j=!0,V,B,ie,x=m.tag,F,ne=m.anchor,Q,K,fe,ae,Oe=Object.create(null),Re,je,We,gt=m.input.charCodeAt(m.position);if(gt===91)Q=93,ae=!1,F=[];else if(gt===123)Q=125,ae=!0,F={};else return!1;if(m.anchor!==null)ft(m,m.anchor,F);gt=m.input.charCodeAt(++m.position);while(gt!==0){if(Mt(m,!0,P),gt=m.input.charCodeAt(m.position),gt===Q)return m.position++,m.tag=x,m.anchor=ne,m.kind=ae?"mapping":"sequence",m.result=F,!0;else if(!j)se(m,"missed comma between flow collection entries");else if(gt===44)se(m,"expected the node content, but found ','");if(je=Re=We=null,K=fe=!1,gt===63){let Ht=m.input.charCodeAt(m.position+1);if(re(Ht))K=fe=!0,m.position++,Mt(m,!0,P)}if(V=m.line,B=m.lineStart,ie=m.position,Si(m,P,i,!1,!0),je=m.tag,Re=m.result,Mt(m,!0,P),gt=m.input.charCodeAt(m.position),(fe||m.line===V)&&gt===58)K=!0,gt=m.input.charCodeAt(++m.position),Mt(m,!0,P),Si(m,P,i,!1,!0),We=m.result;if(ae)Kr(m,F,Oe,je,Re,We,V,B,ie);else if(K)F.push(Kr(m,null,Oe,je,Re,We,V,B,ie));else F.push(Re);if(Mt(m,!0,P),gt=m.input.charCodeAt(m.position),gt===44)j=!0,gt=m.input.charCodeAt(++m.position);else j=!1}se(m,"unexpected end of the stream within a flow collection")}function kl(m,P){let j,V=u,B=!1,ie=!1,x=P,F=0,ne=!1,Q,K=m.input.charCodeAt(m.position);if(K===124)j=!1;else if(K===62)j=!0;else return!1;m.kind="scalar",m.result="";while(K!==0)if(K=m.input.charCodeAt(++m.position),K===43||K===45)if(u===V)V=K===43?d:p;else se(m,"repeat of a chomping mode identifier");else if((Q=ke(K))>=0)if(Q===0)se(m,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!ie)x=P+Q-1,ie=!0;else se(m,"repeat of an indentation width identifier");else break;if(N(K)){do K=m.input.charCodeAt(++m.position);while(N(K));if(K===35)do K=m.input.charCodeAt(++m.position);while(!L(K)&&K!==0)}while(K!==0){qt(m),m.lineIndent=0,K=m.input.charCodeAt(m.position);while((!ie||m.lineIndent<x)&&K===32)m.lineIndent++,K=m.input.charCodeAt(++m.position);if(!ie&&m.lineIndent>x)x=m.lineIndent;if(L(K)){F++;continue}if(!ie&&x===0)se(m,"missing indentation for block scalar");if(m.lineIndent<x){if(V===d)m.result+=e.repeat(`
135
- `,B?1+F:F);else if(V===u){if(B)m.result+=`
133
+ `;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 te(m){if(m<=65535)return String.fromCharCode(m);return String.fromCharCode((m-65536>>10)+55296,(m-65536&1023)+56320)}function ce(m,P,j){if(P==="__proto__")Object.defineProperty(m,P,{configurable:!0,enumerable:!0,writable:!0,value:j});else m[P]=j}let Y=Array(256),G=Array(256);for(let m=0;m<256;m++)Y[m]=Me(m)?1:0,G[m]=Me(m);function me(m,P){this.input=m,this.filename=P.filename||null,this.schema=P.schema||r,this.onWarning=P.onWarning||null,this.legacy=P.legacy||!1,this.json=P.json||!1,this.listener=P.listener||null,this.maxDepth=typeof P.maxDepth==="number"?P.maxDepth:100,this.maxTotalMergeKeys=typeof P.maxTotalMergeKeys==="number"?P.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=m.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 xe(m,P){let j={name:m.filename,buffer:m.input.slice(0,-1),position:m.position,line:m.line,column:m.position-m.lineStart};return j.snippet=n(j),new t(P,j)}function se(m,P){throw xe(m,P)}function Qe(m,P){if(m.onWarning)m.onWarning.call(null,xe(m,P))}function ft(m,P,j){let J=m.anchorMapTransactions;if(J.length!==0){let B=J[J.length-1];if(!o.call(B,P))B[P]={existed:o.call(m.anchorMap,P),value:m.anchorMap[P]}}m.anchorMap[P]=j}function bn(m){m.anchorMapTransactions.push(Object.create(null))}function C(m){let P=m.anchorMapTransactions.pop(),j=m.anchorMapTransactions;if(j.length===0)return;let J=j[j.length-1],B=Object.keys(P);for(let ie=0,x=B.length;ie<x;ie+=1){let F=B[ie];if(!o.call(J,F))J[F]=P[F]}}function Lt(m){let P=m.anchorMapTransactions.pop(),j=Object.keys(P);for(let J=j.length-1;J>=0;J-=1){let B=P[j[J]];if(B.existed)m.anchorMap[j[J]]=B.value;else delete m.anchorMap[j[J]]}}function Jn(m){return{position:m.position,line:m.line,lineStart:m.lineStart,lineIndent:m.lineIndent,firstTabInLine:m.firstTabInLine,tag:m.tag,anchor:m.anchor,kind:m.kind,result:m.result}}function E(m,P){m.position=P.position,m.line=P.line,m.lineStart=P.lineStart,m.lineIndent=P.lineIndent,m.firstTabInLine=P.firstTabInLine,m.tag=P.tag,m.anchor=P.anchor,m.kind=P.kind,m.result=P.result}let Vn={YAML:function(P,j,J){if(P.version!==null)se(P,"duplication of %YAML directive");if(J.length!==1)se(P,"YAML directive accepts exactly one argument");let B=/^([0-9]+)\.([0-9]+)$/.exec(J[0]);if(B===null)se(P,"ill-formed argument of the YAML directive");let ie=parseInt(B[1],10),x=parseInt(B[2],10);if(ie!==1)se(P,"unacceptable YAML version of the document");if(P.version=J[0],P.checkLineBreaks=x<2,x!==1&&x!==2)Qe(P,"unsupported YAML version of the document")},TAG:function(P,j,J){let B;if(J.length!==2)se(P,"TAG directive accepts exactly two arguments");let ie=J[0];if(B=J[1],!w.test(ie))se(P,"ill-formed tag handle (first argument) of the TAG directive");if(o.call(P.tagMap,ie))se(P,'there is a previously declared suffix for "'+ie+'" tag handle');if(!I.test(B))se(P,"ill-formed tag prefix (second argument) of the TAG directive");try{B=decodeURIComponent(B)}catch(x){se(P,"tag prefix is malformed: "+B)}P.tagMap[ie]=B}};function xn(m,P,j,J){if(P<j){let B=m.input.slice(P,j);if(J)for(let ie=0,x=B.length;ie<x;ie+=1){let F=B.charCodeAt(ie);if(!(F===9||F>=32&&F<=1114111))se(m,"expected valid JSON character")}else if(g.test(B))se(m,"the stream contains non-printable characters");m.result+=B}}function Fo(m,P,j,J){if(!e.isObject(j))se(m,"cannot merge mappings; the provided source object is unacceptable");let B=Object.keys(j);for(let ie=0,x=B.length;ie<x;ie+=1){let F=B[ie];if(m.maxTotalMergeKeys!==-1&&++m.totalMergeKeys>m.maxTotalMergeKeys)se(m,"merge keys exceeded maxTotalMergeKeys ("+m.maxTotalMergeKeys+")");if(!o.call(P,F))ce(P,F,j[F]),J[F]=!0}}function Kr(m,P,j,J,B,ie,x,F,ne){if(Array.isArray(B)){B=Array.prototype.slice.call(B);for(let Q=0,K=B.length;Q<K;Q+=1){if(Array.isArray(B[Q]))se(m,"nested arrays are not supported inside keys");if(typeof B==="object"&&A(B[Q])==="[object Object]")B[Q]="[object Object]"}}if(typeof B==="object"&&A(B)==="[object Object]")B="[object Object]";if(B=String(B),P===null)P={};if(J==="tag:yaml.org,2002:merge")if(Array.isArray(ie))for(let Q=0,K=ie.length;Q<K;Q+=1)Fo(m,P,ie[Q],j);else Fo(m,P,ie,j);else{if(!m.json&&!o.call(j,B)&&o.call(P,B))m.line=x||m.line,m.lineStart=F||m.lineStart,m.position=ne||m.position,se(m,"duplicated mapping key");ce(P,B,ie),delete j[B]}return P}function qt(m){let P=m.input.charCodeAt(m.position);if(P===10)m.position++;else if(P===13){if(m.position++,m.input.charCodeAt(m.position)===10)m.position++}else se(m,"a line break is expected");m.line+=1,m.lineStart=m.position,m.firstTabInLine=-1}function Mt(m,P,j){let J=0,B=m.input.charCodeAt(m.position);while(B!==0){while(N(B)){if(B===9&&m.firstTabInLine===-1)m.firstTabInLine=m.position;B=m.input.charCodeAt(++m.position)}if(P&&B===35)do B=m.input.charCodeAt(++m.position);while(B!==10&&B!==13&&B!==0);if(L(B)){qt(m),B=m.input.charCodeAt(m.position),J++,m.lineIndent=0;while(B===32)m.lineIndent++,B=m.input.charCodeAt(++m.position)}else break}if(j!==-1&&J!==0&&m.lineIndent<j)Qe(m,"deficient indentation");return J}function yr(m){let P=m.position,j=m.input.charCodeAt(P);if((j===45||j===46)&&j===m.input.charCodeAt(P+1)&&j===m.input.charCodeAt(P+2)){if(P+=3,j=m.input.charCodeAt(P),j===0||re(j))return!0}return!1}function ar(m,P){if(P===1)m.result+=" ";else if(P>1)m.result+=e.repeat(`
134
+ `,P-1)}function xi(m,P,j){let J,B,ie,x,F,ne,Q=m.kind,K=m.result,fe=m.input.charCodeAt(m.position);if(re(fe)||Ee(fe)||fe===35||fe===38||fe===42||fe===33||fe===124||fe===62||fe===39||fe===34||fe===37||fe===64||fe===96)return!1;if(fe===63||fe===45){let ae=m.input.charCodeAt(m.position+1);if(re(ae)||j&&Ee(ae))return!1}m.kind="scalar",m.result="",J=B=m.position,ie=!1;while(fe!==0){if(fe===58){let ae=m.input.charCodeAt(m.position+1);if(re(ae)||j&&Ee(ae))break}else if(fe===35){let ae=m.input.charCodeAt(m.position-1);if(re(ae))break}else if(m.position===m.lineStart&&yr(m)||j&&Ee(fe))break;else if(L(fe))if(x=m.line,F=m.lineStart,ne=m.lineIndent,Mt(m,!1,-1),m.lineIndent>=P){ie=!0,fe=m.input.charCodeAt(m.position);continue}else{m.position=B,m.line=x,m.lineStart=F,m.lineIndent=ne;break}if(ie)xn(m,J,B,!1),ar(m,m.line-x),J=B=m.position,ie=!1;if(!N(fe))B=m.position+1;fe=m.input.charCodeAt(++m.position)}if(xn(m,J,B,!1),m.result)return!0;return m.kind=Q,m.result=K,!1}function ic(m,P){let j,J,B=m.input.charCodeAt(m.position);if(B!==39)return!1;m.kind="scalar",m.result="",m.position++,j=J=m.position;while((B=m.input.charCodeAt(m.position))!==0)if(B===39)if(xn(m,j,m.position,!0),B=m.input.charCodeAt(++m.position),B===39)j=m.position,m.position++,J=m.position;else return!0;else if(L(B))xn(m,j,J,!0),ar(m,Mt(m,!1,P)),j=J=m.position;else if(m.position===m.lineStart&&yr(m))se(m,"unexpected end of the document within a single quoted scalar");else if(m.position++,!N(B))J=m.position;se(m,"unexpected end of the stream within a single quoted scalar")}function El(m,P){let j,J,B,ie=m.input.charCodeAt(m.position);if(ie!==34)return!1;m.kind="scalar",m.result="",m.position++,j=J=m.position;while((ie=m.input.charCodeAt(m.position))!==0)if(ie===34)return xn(m,j,m.position,!0),m.position++,!0;else if(ie===92){if(xn(m,j,m.position,!0),ie=m.input.charCodeAt(++m.position),L(ie))Mt(m,!1,P);else if(ie<256&&Y[ie])m.result+=G[ie],m.position++;else if((B=Ce(ie))>0){let x=B,F=0;for(;x>0;x--)if(ie=m.input.charCodeAt(++m.position),(B=D(ie))>=0)F=(F<<4)+B;else se(m,"expected hexadecimal character");m.result+=te(F),m.position++}else se(m,"unknown escape sequence");j=J=m.position}else if(L(ie))xn(m,j,J,!0),ar(m,Mt(m,!1,P)),j=J=m.position;else if(m.position===m.lineStart&&yr(m))se(m,"unexpected end of the document within a double quoted scalar");else if(m.position++,!N(ie))J=m.position;se(m,"unexpected end of the stream within a double quoted scalar")}function Il(m,P){let j=!0,J,B,ie,x=m.tag,F,ne=m.anchor,Q,K,fe,ae,Oe=Object.create(null),Re,je,We,gt=m.input.charCodeAt(m.position);if(gt===91)Q=93,ae=!1,F=[];else if(gt===123)Q=125,ae=!0,F={};else return!1;if(m.anchor!==null)ft(m,m.anchor,F);gt=m.input.charCodeAt(++m.position);while(gt!==0){if(Mt(m,!0,P),gt=m.input.charCodeAt(m.position),gt===Q)return m.position++,m.tag=x,m.anchor=ne,m.kind=ae?"mapping":"sequence",m.result=F,!0;else if(!j)se(m,"missed comma between flow collection entries");else if(gt===44)se(m,"expected the node content, but found ','");if(je=Re=We=null,K=fe=!1,gt===63){let Ht=m.input.charCodeAt(m.position+1);if(re(Ht))K=fe=!0,m.position++,Mt(m,!0,P)}if(J=m.line,B=m.lineStart,ie=m.position,Si(m,P,i,!1,!0),je=m.tag,Re=m.result,Mt(m,!0,P),gt=m.input.charCodeAt(m.position),(fe||m.line===J)&&gt===58)K=!0,gt=m.input.charCodeAt(++m.position),Mt(m,!0,P),Si(m,P,i,!1,!0),We=m.result;if(ae)Kr(m,F,Oe,je,Re,We,J,B,ie);else if(K)F.push(Kr(m,null,Oe,je,Re,We,J,B,ie));else F.push(Re);if(Mt(m,!0,P),gt=m.input.charCodeAt(m.position),gt===44)j=!0,gt=m.input.charCodeAt(++m.position);else j=!1}se(m,"unexpected end of the stream within a flow collection")}function kl(m,P){let j,J=u,B=!1,ie=!1,x=P,F=0,ne=!1,Q,K=m.input.charCodeAt(m.position);if(K===124)j=!1;else if(K===62)j=!0;else return!1;m.kind="scalar",m.result="";while(K!==0)if(K=m.input.charCodeAt(++m.position),K===43||K===45)if(u===J)J=K===43?d:p;else se(m,"repeat of a chomping mode identifier");else if((Q=ke(K))>=0)if(Q===0)se(m,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!ie)x=P+Q-1,ie=!0;else se(m,"repeat of an indentation width identifier");else break;if(N(K)){do K=m.input.charCodeAt(++m.position);while(N(K));if(K===35)do K=m.input.charCodeAt(++m.position);while(!L(K)&&K!==0)}while(K!==0){qt(m),m.lineIndent=0,K=m.input.charCodeAt(m.position);while((!ie||m.lineIndent<x)&&K===32)m.lineIndent++,K=m.input.charCodeAt(++m.position);if(!ie&&m.lineIndent>x)x=m.lineIndent;if(L(K)){F++;continue}if(!ie&&x===0)se(m,"missing indentation for block scalar");if(m.lineIndent<x){if(J===d)m.result+=e.repeat(`
135
+ `,B?1+F:F);else if(J===u){if(B)m.result+=`
136
136
  `}break}if(j)if(N(K))ne=!0,m.result+=e.repeat(`
137
137
  `,B?1+F:F);else if(ne)ne=!1,m.result+=e.repeat(`
138
138
  `,F+1);else if(F===0){if(B)m.result+=" "}else m.result+=e.repeat(`
139
139
  `,F);else m.result+=e.repeat(`
140
- `,B?1+F:F);B=!0,ie=!0,F=0;let fe=m.position;while(!L(K)&&K!==0)K=m.input.charCodeAt(++m.position);xn(m,fe,m.position,!1)}return!0}function No(m,P){let{tag:j,anchor:V}=m,B=[],ie=!1;if(m.firstTabInLine!==-1)return!1;if(m.anchor!==null)ft(m,m.anchor,B);let x=m.input.charCodeAt(m.position);while(x!==0){if(m.firstTabInLine!==-1)m.position=m.firstTabInLine,se(m,"tab characters must not be used in indentation");if(x!==45)break;let F=m.input.charCodeAt(m.position+1);if(!re(F))break;if(ie=!0,m.position++,Mt(m,!0,-1)){if(m.lineIndent<=P){B.push(null),x=m.input.charCodeAt(m.position);continue}}let ne=m.line;if(Si(m,P,c,!1,!0),B.push(m.result),Mt(m,!0,-1),x=m.input.charCodeAt(m.position),(m.line===ne||m.lineIndent>P)&&x!==0)se(m,"bad indentation of a sequence entry");else if(m.lineIndent<P)break}if(ie)return m.tag=j,m.anchor=V,m.kind="sequence",m.result=B,!0;return!1}function mp(m,P,j){let V,B,ie,x,F=m.tag,ne=m.anchor,Q={},K=Object.create(null),fe=null,ae=null,Oe=null,Re=!1,je=!1;if(m.firstTabInLine!==-1)return!1;if(m.anchor!==null)ft(m,m.anchor,Q);let We=m.input.charCodeAt(m.position);while(We!==0){if(!Re&&m.firstTabInLine!==-1)m.position=m.firstTabInLine,se(m,"tab characters must not be used in indentation");let gt=m.input.charCodeAt(m.position+1),Ht=m.line;if((We===63||We===58)&&re(gt)){if(We===63){if(Re)Kr(m,Q,K,fe,ae,null,B,ie,x),fe=ae=Oe=null;je=!0,Re=!0,V=!0}else if(Re)Re=!1,V=!0;else se(m,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");m.position+=1,We=gt}else{if(B=m.line,ie=m.lineStart,x=m.position,!Si(m,j,s,!1,!0))break;if(m.line===Ht){We=m.input.charCodeAt(m.position);while(N(We))We=m.input.charCodeAt(++m.position);if(We===58){if(We=m.input.charCodeAt(++m.position),!re(We))se(m,"a whitespace character is expected after the key-value separator within a block mapping");if(Re)Kr(m,Q,K,fe,ae,null,B,ie,x),fe=ae=Oe=null;je=!0,Re=!1,V=!1,fe=m.tag,ae=m.result}else if(je)se(m,"can not read an implicit mapping pair; a colon is missed");else return m.tag=F,m.anchor=ne,!0}else if(je)se(m,"can not read a block mapping entry; a multiline key may not be an implicit key");else return m.tag=F,m.anchor=ne,!0}if(m.line===Ht||m.lineIndent>P){if(Re)B=m.line,ie=m.lineStart,x=m.position;if(Si(m,P,l,!0,V))if(Re)ae=m.result;else Oe=m.result;if(!Re)Kr(m,Q,K,fe,ae,Oe,B,ie,x),fe=ae=Oe=null;Mt(m,!0,-1),We=m.input.charCodeAt(m.position)}if((m.line===Ht||m.lineIndent>P)&&We!==0)se(m,"bad indentation of a mapping entry");else if(m.lineIndent<P)break}if(Re)Kr(m,Q,K,fe,ae,null,B,ie,x);if(je)m.tag=F,m.anchor=ne,m.kind="mapping",m.result=Q;return je}function fp(m){let P=!1,j=!1,V,B,ie=m.input.charCodeAt(m.position);if(ie!==33)return!1;if(m.tag!==null)se(m,"duplication of a tag property");if(ie=m.input.charCodeAt(++m.position),ie===60)P=!0,ie=m.input.charCodeAt(++m.position);else if(ie===33)j=!0,V="!!",ie=m.input.charCodeAt(++m.position);else V="!";let x=m.position;if(P){do ie=m.input.charCodeAt(++m.position);while(ie!==0&&ie!==62);if(m.position<m.length)B=m.input.slice(x,m.position),ie=m.input.charCodeAt(++m.position);else se(m,"unexpected end of the stream within a verbatim tag")}else{while(ie!==0&&!re(ie)){if(ie===33)if(!j){if(V=m.input.slice(x-1,m.position+1),!w.test(V))se(m,"named tag handle cannot contain such characters");j=!0,x=m.position+1}else se(m,"tag suffix cannot contain exclamation marks");ie=m.input.charCodeAt(++m.position)}if(B=m.input.slice(x,m.position),v.test(B))se(m,"tag suffix cannot contain flow indicator characters")}if(B&&!I.test(B))se(m,"tag name cannot contain such characters: "+B);try{B=decodeURIComponent(B)}catch(F){se(m,"tag name is malformed: "+B)}if(P)m.tag=B;else if(o.call(m.tagMap,V))m.tag=m.tagMap[V]+B;else if(V==="!")m.tag="!"+B;else if(V==="!!")m.tag="tag:yaml.org,2002:"+B;else se(m,'undeclared tag handle "'+V+'"');return!0}function Rl(m){let P=m.input.charCodeAt(m.position);if(P!==38)return!1;if(m.anchor!==null)se(m,"duplication of an anchor property");P=m.input.charCodeAt(++m.position);let j=m.position;while(P!==0&&!re(P)&&!Ee(P))P=m.input.charCodeAt(++m.position);if(m.position===j)se(m,"name of an anchor node must contain at least one character");return m.anchor=m.input.slice(j,m.position),!0}function gp(m){let P=m.input.charCodeAt(m.position);if(P!==42)return!1;P=m.input.charCodeAt(++m.position);let j=m.position;while(P!==0&&!re(P)&&!Ee(P))P=m.input.charCodeAt(++m.position);if(m.position===j)se(m,"name of an alias node must contain at least one character");let V=m.input.slice(j,m.position);if(!o.call(m.anchorMap,V))se(m,'unidentified alias "'+V+'"');return m.result=m.anchorMap[V],Mt(m,!0,-1),!0}function Um(m,P,j,V){let B=Jn(m);if(bn(m),E(m,P),m.tag=null,m.anchor=null,m.kind=null,m.result=null,mp(m,j,V)&&m.kind==="mapping")return C(m),!0;return Lt(m),E(m,B),!1}function Si(m,P,j,V,B){let ie,x,F=1,ne=!1,Q=!1,K=null,fe,ae,Oe;if(m.depth>=m.maxDepth)se(m,"nesting exceeded maxDepth ("+m.maxDepth+")");if(m.depth+=1,m.listener!==null)m.listener("open",m);m.tag=null,m.anchor=null,m.kind=null,m.result=null;let Re=ie=x=l===j||c===j;if(V){if(Mt(m,!0,-1)){if(ne=!0,m.lineIndent>P)F=1;else if(m.lineIndent===P)F=0;else if(m.lineIndent<P)F=-1}}if(F===1)while(!0){let je=m.input.charCodeAt(m.position),We=Jn(m);if(ne&&(je===33&&m.tag!==null||je===38&&m.anchor!==null))break;if(!fp(m)&&!Rl(m))break;if(K===null)K=We;if(Mt(m,!0,-1)){if(ne=!0,x=Re,m.lineIndent>P)F=1;else if(m.lineIndent===P)F=0;else if(m.lineIndent<P)F=-1}else x=!1}if(x)x=ne||B;if(F===1||l===j){if(i===j||s===j)ae=P;else ae=P+1;if(Oe=m.position-m.lineStart,F===1)if(x&&(No(m,Oe)||mp(m,Oe,ae))||Il(m,ae))Q=!0;else{let je=m.input.charCodeAt(m.position);if(K!==null&&Re&&!x&&je!==124&&je!==62&&Um(m,K,K.position-K.lineStart,ae))Q=!0;else if(ie&&kl(m,ae)||ic(m,ae)||El(m,ae))Q=!0;else if(gp(m)){if(Q=!0,m.tag!==null||m.anchor!==null)se(m,"alias node should not have any properties")}else if(xi(m,ae,i===j)){if(Q=!0,m.tag===null)m.tag="?"}if(m.anchor!==null)ft(m,m.anchor,m.result)}else if(F===0)Q=x&&No(m,Oe)}if(m.tag===null){if(m.anchor!==null)ft(m,m.anchor,m.result)}else if(m.tag==="?"){if(m.result!==null&&m.kind!=="scalar")se(m,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+m.kind+'"');for(let je=0,We=m.implicitTypes.length;je<We;je+=1)if(fe=m.implicitTypes[je],fe.resolve(m.result)){if(m.result=fe.construct(m.result),m.tag=fe.tag,m.anchor!==null)ft(m,m.anchor,m.result);break}}else if(m.tag!=="!"){if(o.call(m.typeMap[m.kind||"fallback"],m.tag))fe=m.typeMap[m.kind||"fallback"][m.tag];else{fe=null;let je=m.typeMap.multi[m.kind||"fallback"];for(let We=0,gt=je.length;We<gt;We+=1)if(m.tag.slice(0,je[We].tag.length)===je[We].tag){fe=je[We];break}}if(!fe)se(m,"unknown tag !<"+m.tag+">");if(m.result!==null&&fe.kind!==m.kind)se(m,"unacceptable node kind for !<"+m.tag+'> tag; it should be "'+fe.kind+'", not "'+m.kind+'"');if(!fe.resolve(m.result,m.tag))se(m,"cannot resolve a node with !<"+m.tag+"> explicit tag");else if(m.result=fe.construct(m.result,m.tag),m.anchor!==null)ft(m,m.anchor,m.result)}if(m.listener!==null)m.listener("close",m);return m.depth-=1,m.tag!==null||m.anchor!==null||Q}function Wm(m){let P=m.position,j=!1,V;m.version=null,m.checkLineBreaks=m.legacy,m.tagMap=Object.create(null),m.anchorMap=Object.create(null);while((V=m.input.charCodeAt(m.position))!==0){if(Mt(m,!0,-1),V=m.input.charCodeAt(m.position),m.lineIndent>0||V!==37)break;j=!0,V=m.input.charCodeAt(++m.position);let B=m.position;while(V!==0&&!re(V))V=m.input.charCodeAt(++m.position);let ie=m.input.slice(B,m.position),x=[];if(ie.length<1)se(m,"directive name must not be less than one character in length");while(V!==0){while(N(V))V=m.input.charCodeAt(++m.position);if(V===35){do V=m.input.charCodeAt(++m.position);while(V!==0&&!L(V));break}if(L(V))break;B=m.position;while(V!==0&&!re(V))V=m.input.charCodeAt(++m.position);x.push(m.input.slice(B,m.position))}if(V!==0)qt(m);if(o.call(Vn,ie))Vn[ie](m,ie,x);else Qe(m,'unknown document directive "'+ie+'"')}if(Mt(m,!0,-1),m.lineIndent===0&&m.input.charCodeAt(m.position)===45&&m.input.charCodeAt(m.position+1)===45&&m.input.charCodeAt(m.position+2)===45)m.position+=3,Mt(m,!0,-1);else if(j)se(m,"directives end mark is expected");if(Si(m,m.lineIndent-1,l,!1,!0),Mt(m,!0,-1),m.checkLineBreaks&&f.test(m.input.slice(P,m.position)))Qe(m,"non-ASCII line breaks are interpreted as content");if(m.documents.push(m.result),m.position===m.lineStart&&yr(m)){if(m.input.charCodeAt(m.position)===46)m.position+=3,Mt(m,!0,-1);return}if(m.position<m.length-1)se(m,"end of the stream or a document separator is expected")}function hp(m,P){if(m=String(m),P=P||{},m.length!==0){if(m.charCodeAt(m.length-1)!==10&&m.charCodeAt(m.length-1)!==13)m+=`
141
- `;if(m.charCodeAt(0)===65279)m=m.slice(1)}let j=new me(m,P),V=m.indexOf("\x00");if(V!==-1)j.position=V,se(j,"null byte is not allowed in input");j.input+="\x00";while(j.input.charCodeAt(j.position)===32)j.lineIndent+=1,j.position+=1;while(j.position<j.length-1)Wm(j);return j.documents}function W(m,P,j){if(P!==null&&typeof P==="object"&&typeof j>"u")j=P,P=null;let V=hp(m,j);if(typeof P!=="function")return V;for(let B=0,ie=V.length;B<ie;B+=1)P(V[B])}function J(m,P){let j=hp(m,P);if(j.length===0)return;else if(j.length===1)return j[0];throw new t("expected a single document in the stream, but found more")}return fT.loadAll=W,fT.load=J,fT}var QM={},e5;function WCe(){if(e5)return QM;e5=1;let e=ny(),t=ry(),n=KM(),r=Object.prototype.toString,o=Object.prototype.hasOwnProperty,i=65279,s=9,c=10,l=13,u=32,p=33,d=34,g=35,f=37,v=38,w=39,I=42,A=44,L=45,N=58,re=61,Ee=62,D=63,Ce=64,ke=91,Me=93,te=96,ce=123,Y=124,G=125,me={};me[0]="\\0",me[7]="\\a",me[8]="\\b",me[9]="\\t",me[10]="\\n",me[11]="\\v",me[12]="\\f",me[13]="\\r",me[27]="\\e",me[34]="\\\"",me[92]="\\\\",me[133]="\\N",me[160]="\\_",me[8232]="\\L",me[8233]="\\P";let xe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],se=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Qe(x,F){if(F===null)return{};let ne={},Q=Object.keys(F);for(let K=0,fe=Q.length;K<fe;K+=1){let ae=Q[K],Oe=String(F[ae]);if(ae.slice(0,2)==="!!")ae="tag:yaml.org,2002:"+ae.slice(2);let Re=x.compiledTypeMap.fallback[ae];if(Re&&o.call(Re.styleAliases,Oe))Oe=Re.styleAliases[Oe];ne[ae]=Oe}return ne}function ft(x){let F,ne,Q=x.toString(16).toUpperCase();if(x<=255)F="x",ne=2;else if(x<=65535)F="u",ne=4;else if(x<=4294967295)F="U",ne=8;else throw new t("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+F+e.repeat("0",ne-Q.length)+Q}let bn=1,C=2;function Lt(x){this.schema=x.schema||n,this.indent=Math.max(1,x.indent||2),this.noArrayIndent=x.noArrayIndent||!1,this.skipInvalid=x.skipInvalid||!1,this.flowLevel=e.isNothing(x.flowLevel)?-1:x.flowLevel,this.styleMap=Qe(this.schema,x.styles||null),this.sortKeys=x.sortKeys||!1,this.lineWidth=x.lineWidth||80,this.noRefs=x.noRefs||!1,this.noCompatMode=x.noCompatMode||!1,this.condenseFlow=x.condenseFlow||!1,this.quotingType=x.quotingType==='"'?C:bn,this.forceQuotes=x.forceQuotes||!1,this.replacer=typeof x.replacer==="function"?x.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Jn(x,F){let ne=e.repeat(" ",F),Q=0,K="",fe=x.length;while(Q<fe){let ae,Oe=x.indexOf(`
140
+ `,B?1+F:F);B=!0,ie=!0,F=0;let fe=m.position;while(!L(K)&&K!==0)K=m.input.charCodeAt(++m.position);xn(m,fe,m.position,!1)}return!0}function No(m,P){let{tag:j,anchor:J}=m,B=[],ie=!1;if(m.firstTabInLine!==-1)return!1;if(m.anchor!==null)ft(m,m.anchor,B);let x=m.input.charCodeAt(m.position);while(x!==0){if(m.firstTabInLine!==-1)m.position=m.firstTabInLine,se(m,"tab characters must not be used in indentation");if(x!==45)break;let F=m.input.charCodeAt(m.position+1);if(!re(F))break;if(ie=!0,m.position++,Mt(m,!0,-1)){if(m.lineIndent<=P){B.push(null),x=m.input.charCodeAt(m.position);continue}}let ne=m.line;if(Si(m,P,c,!1,!0),B.push(m.result),Mt(m,!0,-1),x=m.input.charCodeAt(m.position),(m.line===ne||m.lineIndent>P)&&x!==0)se(m,"bad indentation of a sequence entry");else if(m.lineIndent<P)break}if(ie)return m.tag=j,m.anchor=J,m.kind="sequence",m.result=B,!0;return!1}function mp(m,P,j){let J,B,ie,x,F=m.tag,ne=m.anchor,Q={},K=Object.create(null),fe=null,ae=null,Oe=null,Re=!1,je=!1;if(m.firstTabInLine!==-1)return!1;if(m.anchor!==null)ft(m,m.anchor,Q);let We=m.input.charCodeAt(m.position);while(We!==0){if(!Re&&m.firstTabInLine!==-1)m.position=m.firstTabInLine,se(m,"tab characters must not be used in indentation");let gt=m.input.charCodeAt(m.position+1),Ht=m.line;if((We===63||We===58)&&re(gt)){if(We===63){if(Re)Kr(m,Q,K,fe,ae,null,B,ie,x),fe=ae=Oe=null;je=!0,Re=!0,J=!0}else if(Re)Re=!1,J=!0;else se(m,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");m.position+=1,We=gt}else{if(B=m.line,ie=m.lineStart,x=m.position,!Si(m,j,s,!1,!0))break;if(m.line===Ht){We=m.input.charCodeAt(m.position);while(N(We))We=m.input.charCodeAt(++m.position);if(We===58){if(We=m.input.charCodeAt(++m.position),!re(We))se(m,"a whitespace character is expected after the key-value separator within a block mapping");if(Re)Kr(m,Q,K,fe,ae,null,B,ie,x),fe=ae=Oe=null;je=!0,Re=!1,J=!1,fe=m.tag,ae=m.result}else if(je)se(m,"can not read an implicit mapping pair; a colon is missed");else return m.tag=F,m.anchor=ne,!0}else if(je)se(m,"can not read a block mapping entry; a multiline key may not be an implicit key");else return m.tag=F,m.anchor=ne,!0}if(m.line===Ht||m.lineIndent>P){if(Re)B=m.line,ie=m.lineStart,x=m.position;if(Si(m,P,l,!0,J))if(Re)ae=m.result;else Oe=m.result;if(!Re)Kr(m,Q,K,fe,ae,Oe,B,ie,x),fe=ae=Oe=null;Mt(m,!0,-1),We=m.input.charCodeAt(m.position)}if((m.line===Ht||m.lineIndent>P)&&We!==0)se(m,"bad indentation of a mapping entry");else if(m.lineIndent<P)break}if(Re)Kr(m,Q,K,fe,ae,null,B,ie,x);if(je)m.tag=F,m.anchor=ne,m.kind="mapping",m.result=Q;return je}function fp(m){let P=!1,j=!1,J,B,ie=m.input.charCodeAt(m.position);if(ie!==33)return!1;if(m.tag!==null)se(m,"duplication of a tag property");if(ie=m.input.charCodeAt(++m.position),ie===60)P=!0,ie=m.input.charCodeAt(++m.position);else if(ie===33)j=!0,J="!!",ie=m.input.charCodeAt(++m.position);else J="!";let x=m.position;if(P){do ie=m.input.charCodeAt(++m.position);while(ie!==0&&ie!==62);if(m.position<m.length)B=m.input.slice(x,m.position),ie=m.input.charCodeAt(++m.position);else se(m,"unexpected end of the stream within a verbatim tag")}else{while(ie!==0&&!re(ie)){if(ie===33)if(!j){if(J=m.input.slice(x-1,m.position+1),!w.test(J))se(m,"named tag handle cannot contain such characters");j=!0,x=m.position+1}else se(m,"tag suffix cannot contain exclamation marks");ie=m.input.charCodeAt(++m.position)}if(B=m.input.slice(x,m.position),v.test(B))se(m,"tag suffix cannot contain flow indicator characters")}if(B&&!I.test(B))se(m,"tag name cannot contain such characters: "+B);try{B=decodeURIComponent(B)}catch(F){se(m,"tag name is malformed: "+B)}if(P)m.tag=B;else if(o.call(m.tagMap,J))m.tag=m.tagMap[J]+B;else if(J==="!")m.tag="!"+B;else if(J==="!!")m.tag="tag:yaml.org,2002:"+B;else se(m,'undeclared tag handle "'+J+'"');return!0}function Rl(m){let P=m.input.charCodeAt(m.position);if(P!==38)return!1;if(m.anchor!==null)se(m,"duplication of an anchor property");P=m.input.charCodeAt(++m.position);let j=m.position;while(P!==0&&!re(P)&&!Ee(P))P=m.input.charCodeAt(++m.position);if(m.position===j)se(m,"name of an anchor node must contain at least one character");return m.anchor=m.input.slice(j,m.position),!0}function gp(m){let P=m.input.charCodeAt(m.position);if(P!==42)return!1;P=m.input.charCodeAt(++m.position);let j=m.position;while(P!==0&&!re(P)&&!Ee(P))P=m.input.charCodeAt(++m.position);if(m.position===j)se(m,"name of an alias node must contain at least one character");let J=m.input.slice(j,m.position);if(!o.call(m.anchorMap,J))se(m,'unidentified alias "'+J+'"');return m.result=m.anchorMap[J],Mt(m,!0,-1),!0}function Um(m,P,j,J){let B=Jn(m);if(bn(m),E(m,P),m.tag=null,m.anchor=null,m.kind=null,m.result=null,mp(m,j,J)&&m.kind==="mapping")return C(m),!0;return Lt(m),E(m,B),!1}function Si(m,P,j,J,B){let ie,x,F=1,ne=!1,Q=!1,K=null,fe,ae,Oe;if(m.depth>=m.maxDepth)se(m,"nesting exceeded maxDepth ("+m.maxDepth+")");if(m.depth+=1,m.listener!==null)m.listener("open",m);m.tag=null,m.anchor=null,m.kind=null,m.result=null;let Re=ie=x=l===j||c===j;if(J){if(Mt(m,!0,-1)){if(ne=!0,m.lineIndent>P)F=1;else if(m.lineIndent===P)F=0;else if(m.lineIndent<P)F=-1}}if(F===1)while(!0){let je=m.input.charCodeAt(m.position),We=Jn(m);if(ne&&(je===33&&m.tag!==null||je===38&&m.anchor!==null))break;if(!fp(m)&&!Rl(m))break;if(K===null)K=We;if(Mt(m,!0,-1)){if(ne=!0,x=Re,m.lineIndent>P)F=1;else if(m.lineIndent===P)F=0;else if(m.lineIndent<P)F=-1}else x=!1}if(x)x=ne||B;if(F===1||l===j){if(i===j||s===j)ae=P;else ae=P+1;if(Oe=m.position-m.lineStart,F===1)if(x&&(No(m,Oe)||mp(m,Oe,ae))||Il(m,ae))Q=!0;else{let je=m.input.charCodeAt(m.position);if(K!==null&&Re&&!x&&je!==124&&je!==62&&Um(m,K,K.position-K.lineStart,ae))Q=!0;else if(ie&&kl(m,ae)||ic(m,ae)||El(m,ae))Q=!0;else if(gp(m)){if(Q=!0,m.tag!==null||m.anchor!==null)se(m,"alias node should not have any properties")}else if(xi(m,ae,i===j)){if(Q=!0,m.tag===null)m.tag="?"}if(m.anchor!==null)ft(m,m.anchor,m.result)}else if(F===0)Q=x&&No(m,Oe)}if(m.tag===null){if(m.anchor!==null)ft(m,m.anchor,m.result)}else if(m.tag==="?"){if(m.result!==null&&m.kind!=="scalar")se(m,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+m.kind+'"');for(let je=0,We=m.implicitTypes.length;je<We;je+=1)if(fe=m.implicitTypes[je],fe.resolve(m.result)){if(m.result=fe.construct(m.result),m.tag=fe.tag,m.anchor!==null)ft(m,m.anchor,m.result);break}}else if(m.tag!=="!"){if(o.call(m.typeMap[m.kind||"fallback"],m.tag))fe=m.typeMap[m.kind||"fallback"][m.tag];else{fe=null;let je=m.typeMap.multi[m.kind||"fallback"];for(let We=0,gt=je.length;We<gt;We+=1)if(m.tag.slice(0,je[We].tag.length)===je[We].tag){fe=je[We];break}}if(!fe)se(m,"unknown tag !<"+m.tag+">");if(m.result!==null&&fe.kind!==m.kind)se(m,"unacceptable node kind for !<"+m.tag+'> tag; it should be "'+fe.kind+'", not "'+m.kind+'"');if(!fe.resolve(m.result,m.tag))se(m,"cannot resolve a node with !<"+m.tag+"> explicit tag");else if(m.result=fe.construct(m.result,m.tag),m.anchor!==null)ft(m,m.anchor,m.result)}if(m.listener!==null)m.listener("close",m);return m.depth-=1,m.tag!==null||m.anchor!==null||Q}function Wm(m){let P=m.position,j=!1,J;m.version=null,m.checkLineBreaks=m.legacy,m.tagMap=Object.create(null),m.anchorMap=Object.create(null);while((J=m.input.charCodeAt(m.position))!==0){if(Mt(m,!0,-1),J=m.input.charCodeAt(m.position),m.lineIndent>0||J!==37)break;j=!0,J=m.input.charCodeAt(++m.position);let B=m.position;while(J!==0&&!re(J))J=m.input.charCodeAt(++m.position);let ie=m.input.slice(B,m.position),x=[];if(ie.length<1)se(m,"directive name must not be less than one character in length");while(J!==0){while(N(J))J=m.input.charCodeAt(++m.position);if(J===35){do J=m.input.charCodeAt(++m.position);while(J!==0&&!L(J));break}if(L(J))break;B=m.position;while(J!==0&&!re(J))J=m.input.charCodeAt(++m.position);x.push(m.input.slice(B,m.position))}if(J!==0)qt(m);if(o.call(Vn,ie))Vn[ie](m,ie,x);else Qe(m,'unknown document directive "'+ie+'"')}if(Mt(m,!0,-1),m.lineIndent===0&&m.input.charCodeAt(m.position)===45&&m.input.charCodeAt(m.position+1)===45&&m.input.charCodeAt(m.position+2)===45)m.position+=3,Mt(m,!0,-1);else if(j)se(m,"directives end mark is expected");if(Si(m,m.lineIndent-1,l,!1,!0),Mt(m,!0,-1),m.checkLineBreaks&&f.test(m.input.slice(P,m.position)))Qe(m,"non-ASCII line breaks are interpreted as content");if(m.documents.push(m.result),m.position===m.lineStart&&yr(m)){if(m.input.charCodeAt(m.position)===46)m.position+=3,Mt(m,!0,-1);return}if(m.position<m.length-1)se(m,"end of the stream or a document separator is expected")}function hp(m,P){if(m=String(m),P=P||{},m.length!==0){if(m.charCodeAt(m.length-1)!==10&&m.charCodeAt(m.length-1)!==13)m+=`
141
+ `;if(m.charCodeAt(0)===65279)m=m.slice(1)}let j=new me(m,P),J=m.indexOf("\x00");if(J!==-1)j.position=J,se(j,"null byte is not allowed in input");j.input+="\x00";while(j.input.charCodeAt(j.position)===32)j.lineIndent+=1,j.position+=1;while(j.position<j.length-1)Wm(j);return j.documents}function U(m,P,j){if(P!==null&&typeof P==="object"&&typeof j>"u")j=P,P=null;let J=hp(m,j);if(typeof P!=="function")return J;for(let B=0,ie=J.length;B<ie;B+=1)P(J[B])}function H(m,P){let j=hp(m,P);if(j.length===0)return;else if(j.length===1)return j[0];throw new t("expected a single document in the stream, but found more")}return fT.loadAll=U,fT.load=H,fT}var QM={},e5;function WCe(){if(e5)return QM;e5=1;let e=ny(),t=ry(),n=KM(),r=Object.prototype.toString,o=Object.prototype.hasOwnProperty,i=65279,s=9,c=10,l=13,u=32,p=33,d=34,g=35,f=37,v=38,w=39,I=42,A=44,L=45,N=58,re=61,Ee=62,D=63,Ce=64,ke=91,Me=93,te=96,ce=123,Y=124,G=125,me={};me[0]="\\0",me[7]="\\a",me[8]="\\b",me[9]="\\t",me[10]="\\n",me[11]="\\v",me[12]="\\f",me[13]="\\r",me[27]="\\e",me[34]="\\\"",me[92]="\\\\",me[133]="\\N",me[160]="\\_",me[8232]="\\L",me[8233]="\\P";let xe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],se=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Qe(x,F){if(F===null)return{};let ne={},Q=Object.keys(F);for(let K=0,fe=Q.length;K<fe;K+=1){let ae=Q[K],Oe=String(F[ae]);if(ae.slice(0,2)==="!!")ae="tag:yaml.org,2002:"+ae.slice(2);let Re=x.compiledTypeMap.fallback[ae];if(Re&&o.call(Re.styleAliases,Oe))Oe=Re.styleAliases[Oe];ne[ae]=Oe}return ne}function ft(x){let F,ne,Q=x.toString(16).toUpperCase();if(x<=255)F="x",ne=2;else if(x<=65535)F="u",ne=4;else if(x<=4294967295)F="U",ne=8;else throw new t("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+F+e.repeat("0",ne-Q.length)+Q}let bn=1,C=2;function Lt(x){this.schema=x.schema||n,this.indent=Math.max(1,x.indent||2),this.noArrayIndent=x.noArrayIndent||!1,this.skipInvalid=x.skipInvalid||!1,this.flowLevel=e.isNothing(x.flowLevel)?-1:x.flowLevel,this.styleMap=Qe(this.schema,x.styles||null),this.sortKeys=x.sortKeys||!1,this.lineWidth=x.lineWidth||80,this.noRefs=x.noRefs||!1,this.noCompatMode=x.noCompatMode||!1,this.condenseFlow=x.condenseFlow||!1,this.quotingType=x.quotingType==='"'?C:bn,this.forceQuotes=x.forceQuotes||!1,this.replacer=typeof x.replacer==="function"?x.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Jn(x,F){let ne=e.repeat(" ",F),Q=0,K="",fe=x.length;while(Q<fe){let ae,Oe=x.indexOf(`
142
142
  `,Q);if(Oe===-1)ae=x.slice(Q),Q=fe;else ae=x.slice(Q,Oe+1),Q=Oe+1;if(ae.length&&ae!==`
143
143
  `)K+=ne;K+=ae}return K}function E(x,F){return`
144
144
  `+e.repeat(" ",x.indent*F)}function Vn(x,F){for(let ne=0,Q=x.implicitTypes.length;ne<Q;ne+=1)if(x.implicitTypes[ne].resolve(F))return!0;return!1}function xn(x){return x===u||x===s}function Fo(x){return x>=32&&x<=126||x>=161&&x<=55295&&x!==8232&&x!==8233||x>=57344&&x<=65533&&x!==i||x>=65536&&x<=1114111}function Kr(x){return Fo(x)&&x!==i&&x!==l&&x!==c}function qt(x,F,ne){let Q=Kr(x),K=Q&&!xn(x);return(ne?Q:Q&&x!==A&&x!==ke&&x!==Me&&x!==ce&&x!==G)&&x!==g&&!(F===N&&!K)||Kr(F)&&!xn(F)&&x===g||F===N&&K}function Mt(x){return Fo(x)&&x!==i&&!xn(x)&&x!==L&&x!==D&&x!==N&&x!==A&&x!==ke&&x!==Me&&x!==ce&&x!==G&&x!==g&&x!==v&&x!==I&&x!==p&&x!==Y&&x!==re&&x!==Ee&&x!==w&&x!==d&&x!==f&&x!==Ce&&x!==te}function yr(x){return!xn(x)&&x!==N}function ar(x,F){let ne=x.charCodeAt(F),Q;if(ne>=55296&&ne<=56319&&F+1<x.length){if(Q=x.charCodeAt(F+1),Q>=56320&&Q<=57343)return(ne-55296)*1024+Q-56320+65536}return ne}function xi(x){return/^\n* /.test(x)}let ic=1,El=2,Il=3,kl=4,No=5;function mp(x,F,ne,Q,K,fe,ae,Oe){let Re,je=0,We=null,gt=!1,Ht=!1,sz=Q!==-1,Hm=-1,Jm=Mt(ar(x,0))&&yr(ar(x,x.length-1));if(F||ae)for(Re=0;Re<x.length;je>=65536?Re+=2:Re++){if(je=ar(x,Re),!Fo(je))return No;Jm=Jm&&qt(je,We,Oe),We=je}else{for(Re=0;Re<x.length;je>=65536?Re+=2:Re++){if(je=ar(x,Re),je===c){if(gt=!0,sz)Ht=Ht||Re-Hm-1>Q&&x[Hm+1]!==" ",Hm=Re}else if(!Fo(je))return No;Jm=Jm&&qt(je,We,Oe),We=je}Ht=Ht||sz&&(Re-Hm-1>Q&&x[Hm+1]!==" ")}if(!gt&&!Ht){if(Jm&&!ae&&!K(x))return ic;return fe===C?No:El}if(ne>9&&xi(x))return No;if(!ae)return Ht?kl:Il;return fe===C?No:El}function fp(x,F,ne,Q,K){x.dump=function(){if(F.length===0)return x.quotingType===C?'""':"''";if(!x.noCompatMode){if(xe.indexOf(F)!==-1||se.test(F))return x.quotingType===C?'"'+F+'"':"'"+F+"'"}let fe=x.indent*Math.max(1,ne),ae=x.lineWidth===-1?-1:Math.max(Math.min(x.lineWidth,40),x.lineWidth-fe),Oe=Q||x.flowLevel>-1&&ne>=x.flowLevel;function Re(je){return Vn(x,je)}switch(mp(F,Oe,x.indent,ae,Re,x.quotingType,x.forceQuotes&&!Q,K)){case ic:return F;case El:return"'"+F.replace(/'/g,"''")+"'";case Il:return"|"+Rl(F,x.indent)+gp(Jn(F,fe));case kl:return">"+Rl(F,x.indent)+gp(Jn(Um(F,ae),fe));case No:return'"'+Wm(F)+'"';default:throw new t("impossible error: invalid scalar style")}}()}function Rl(x,F){let ne=xi(x)?String(F):"",Q=x[x.length-1]===`
@@ -152,7 +152,7 @@ ${e}
152
152
  `:"")+Si(Re,F),K=fe}return Q}function Si(x,F){if(x===""||x[0]===" ")return x;let ne=/ [^ ]/g,Q,K=0,fe,ae=0,Oe=0,Re="";while(Q=ne.exec(x)){if(Oe=Q.index,Oe-K>F)fe=ae>K?ae:Oe,Re+=`
153
153
  `+x.slice(K,fe),K=fe+1;ae=Oe}if(Re+=`
154
154
  `,x.length-K>F&&ae>K)Re+=x.slice(K,ae)+`
155
- `+x.slice(ae+1);else Re+=x.slice(K);return Re.slice(1)}function Wm(x){let F="",ne=0;for(let Q=0;Q<x.length;ne>=65536?Q+=2:Q++){ne=ar(x,Q);let K=me[ne];if(!K&&Fo(ne)){if(F+=x[Q],ne>=65536)F+=x[Q+1]}else F+=K||ft(ne)}return F}function hp(x,F,ne){let Q="",K=x.tag;for(let fe=0,ae=ne.length;fe<ae;fe+=1){let Oe=ne[fe];if(x.replacer)Oe=x.replacer.call(ne,String(fe),Oe);if(j(x,F,Oe,!1,!1)||typeof Oe>"u"&&j(x,F,null,!1,!1)){if(Q!=="")Q+=","+(!x.condenseFlow?" ":"");Q+=x.dump}}x.tag=K,x.dump="["+Q+"]"}function W(x,F,ne,Q){let K="",fe=x.tag;for(let ae=0,Oe=ne.length;ae<Oe;ae+=1){let Re=ne[ae];if(x.replacer)Re=x.replacer.call(ne,String(ae),Re);if(j(x,F+1,Re,!0,!0,!1,!0)||typeof Re>"u"&&j(x,F+1,null,!0,!0,!1,!0)){if(!Q||K!=="")K+=E(x,F);if(x.dump&&c===x.dump.charCodeAt(0))K+="-";else K+="- ";K+=x.dump}}x.tag=fe,x.dump=K||"[]"}function J(x,F,ne){let Q="",K=x.tag,fe=Object.keys(ne);for(let ae=0,Oe=fe.length;ae<Oe;ae+=1){let Re="";if(Q!=="")Re+=", ";if(x.condenseFlow)Re+='"';let je=fe[ae],We=ne[je];if(x.replacer)We=x.replacer.call(ne,je,We);if(!j(x,F,je,!1,!1))continue;if(x.dump.length>1024)Re+="? ";if(Re+=x.dump+(x.condenseFlow?'"':"")+":"+(x.condenseFlow?"":" "),!j(x,F,We,!1,!1))continue;Re+=x.dump,Q+=Re}x.tag=K,x.dump="{"+Q+"}"}function m(x,F,ne,Q){let K="",fe=x.tag,ae=Object.keys(ne);if(x.sortKeys===!0)ae.sort();else if(typeof x.sortKeys==="function")ae.sort(x.sortKeys);else if(x.sortKeys)throw new t("sortKeys must be a boolean or a function");for(let Oe=0,Re=ae.length;Oe<Re;Oe+=1){let je="";if(!Q||K!=="")je+=E(x,F);let We=ae[Oe],gt=ne[We];if(x.replacer)gt=x.replacer.call(ne,We,gt);if(!j(x,F+1,We,!0,!0,!0))continue;let Ht=x.tag!==null&&x.tag!=="?"||x.dump&&x.dump.length>1024;if(Ht)if(x.dump&&c===x.dump.charCodeAt(0))je+="?";else je+="? ";if(je+=x.dump,Ht)je+=E(x,F);if(!j(x,F+1,gt,!0,Ht))continue;if(x.dump&&c===x.dump.charCodeAt(0))je+=":";else je+=": ";je+=x.dump,K+=je}x.tag=fe,x.dump=K||"{}"}function P(x,F,ne){let Q=ne?x.explicitTypes:x.implicitTypes;for(let K=0,fe=Q.length;K<fe;K+=1){let ae=Q[K];if((ae.instanceOf||ae.predicate)&&(!ae.instanceOf||typeof F==="object"&&F instanceof ae.instanceOf)&&(!ae.predicate||ae.predicate(F))){if(ne)if(ae.multi&&ae.representName)x.tag=ae.representName(F);else x.tag=ae.tag;else x.tag="?";if(ae.represent){let Oe=x.styleMap[ae.tag]||ae.defaultStyle,Re;if(r.call(ae.represent)==="[object Function]")Re=ae.represent(F,Oe);else if(o.call(ae.represent,Oe))Re=ae.represent[Oe](F,Oe);else throw new t("!<"+ae.tag+'> tag resolver accepts not "'+Oe+'" style');x.dump=Re}return!0}}return!1}function j(x,F,ne,Q,K,fe,ae){if(x.tag=null,x.dump=ne,!P(x,ne,!1))P(x,ne,!0);let Oe=r.call(x.dump),Re=Q;if(Q)Q=x.flowLevel<0||x.flowLevel>F;let je=Oe==="[object Object]"||Oe==="[object Array]",We,gt;if(je)We=x.duplicates.indexOf(ne),gt=We!==-1;if(x.tag!==null&&x.tag!=="?"||gt||x.indent!==2&&F>0)K=!1;if(gt&&x.usedDuplicates[We])x.dump="*ref_"+We;else{if(je&&gt&&!x.usedDuplicates[We])x.usedDuplicates[We]=!0;if(Oe==="[object Object]"){if(Q&&Object.keys(x.dump).length!==0){if(m(x,F,x.dump,K),gt)x.dump="&ref_"+We+x.dump}else if(J(x,F,x.dump),gt)x.dump="&ref_"+We+" "+x.dump}else if(Oe==="[object Array]"){if(Q&&x.dump.length!==0){if(x.noArrayIndent&&!ae&&F>0)W(x,F-1,x.dump,K);else W(x,F,x.dump,K);if(gt)x.dump="&ref_"+We+x.dump}else if(hp(x,F,x.dump),gt)x.dump="&ref_"+We+" "+x.dump}else if(Oe==="[object String]"){if(x.tag!=="?")fp(x,x.dump,F,fe,Re)}else if(Oe==="[object Undefined]")return!1;else{if(x.skipInvalid)return!1;throw new t("unacceptable kind of an object to dump "+Oe)}if(x.tag!==null&&x.tag!=="?"){let Ht=encodeURI(x.tag[0]==="!"?x.tag.slice(1):x.tag).replace(/!/g,"%21");if(x.tag[0]==="!")Ht="!"+Ht;else if(Ht.slice(0,18)==="tag:yaml.org,2002:")Ht="!!"+Ht.slice(18);else Ht="!<"+Ht+">";x.dump=Ht+" "+x.dump}}return!0}function V(x,F){let ne=[],Q=[];B(x,ne,Q);let K=Q.length;for(let fe=0;fe<K;fe+=1)F.duplicates.push(ne[Q[fe]]);F.usedDuplicates=Array(K)}function B(x,F,ne){if(x!==null&&typeof x==="object"){let Q=F.indexOf(x);if(Q!==-1){if(ne.indexOf(Q)===-1)ne.push(Q)}else if(F.push(x),Array.isArray(x))for(let K=0,fe=x.length;K<fe;K+=1)B(x[K],F,ne);else{let K=Object.keys(x);for(let fe=0,ae=K.length;fe<ae;fe+=1)B(x[K[fe]],F,ne)}}}function ie(x,F){F=F||{};let ne=new Lt(F);if(!ne.noRefs)V(x,ne);let Q=x;if(ne.replacer)Q=ne.replacer.call({"":Q},"",Q);if(j(ne,0,Q,!0,!0))return ne.dump+`
155
+ `+x.slice(ae+1);else Re+=x.slice(K);return Re.slice(1)}function Wm(x){let F="",ne=0;for(let Q=0;Q<x.length;ne>=65536?Q+=2:Q++){ne=ar(x,Q);let K=me[ne];if(!K&&Fo(ne)){if(F+=x[Q],ne>=65536)F+=x[Q+1]}else F+=K||ft(ne)}return F}function hp(x,F,ne){let Q="",K=x.tag;for(let fe=0,ae=ne.length;fe<ae;fe+=1){let Oe=ne[fe];if(x.replacer)Oe=x.replacer.call(ne,String(fe),Oe);if(j(x,F,Oe,!1,!1)||typeof Oe>"u"&&j(x,F,null,!1,!1)){if(Q!=="")Q+=","+(!x.condenseFlow?" ":"");Q+=x.dump}}x.tag=K,x.dump="["+Q+"]"}function U(x,F,ne,Q){let K="",fe=x.tag;for(let ae=0,Oe=ne.length;ae<Oe;ae+=1){let Re=ne[ae];if(x.replacer)Re=x.replacer.call(ne,String(ae),Re);if(j(x,F+1,Re,!0,!0,!1,!0)||typeof Re>"u"&&j(x,F+1,null,!0,!0,!1,!0)){if(!Q||K!=="")K+=E(x,F);if(x.dump&&c===x.dump.charCodeAt(0))K+="-";else K+="- ";K+=x.dump}}x.tag=fe,x.dump=K||"[]"}function H(x,F,ne){let Q="",K=x.tag,fe=Object.keys(ne);for(let ae=0,Oe=fe.length;ae<Oe;ae+=1){let Re="";if(Q!=="")Re+=", ";if(x.condenseFlow)Re+='"';let je=fe[ae],We=ne[je];if(x.replacer)We=x.replacer.call(ne,je,We);if(!j(x,F,je,!1,!1))continue;if(x.dump.length>1024)Re+="? ";if(Re+=x.dump+(x.condenseFlow?'"':"")+":"+(x.condenseFlow?"":" "),!j(x,F,We,!1,!1))continue;Re+=x.dump,Q+=Re}x.tag=K,x.dump="{"+Q+"}"}function m(x,F,ne,Q){let K="",fe=x.tag,ae=Object.keys(ne);if(x.sortKeys===!0)ae.sort();else if(typeof x.sortKeys==="function")ae.sort(x.sortKeys);else if(x.sortKeys)throw new t("sortKeys must be a boolean or a function");for(let Oe=0,Re=ae.length;Oe<Re;Oe+=1){let je="";if(!Q||K!=="")je+=E(x,F);let We=ae[Oe],gt=ne[We];if(x.replacer)gt=x.replacer.call(ne,We,gt);if(!j(x,F+1,We,!0,!0,!0))continue;let Ht=x.tag!==null&&x.tag!=="?"||x.dump&&x.dump.length>1024;if(Ht)if(x.dump&&c===x.dump.charCodeAt(0))je+="?";else je+="? ";if(je+=x.dump,Ht)je+=E(x,F);if(!j(x,F+1,gt,!0,Ht))continue;if(x.dump&&c===x.dump.charCodeAt(0))je+=":";else je+=": ";je+=x.dump,K+=je}x.tag=fe,x.dump=K||"{}"}function P(x,F,ne){let Q=ne?x.explicitTypes:x.implicitTypes;for(let K=0,fe=Q.length;K<fe;K+=1){let ae=Q[K];if((ae.instanceOf||ae.predicate)&&(!ae.instanceOf||typeof F==="object"&&F instanceof ae.instanceOf)&&(!ae.predicate||ae.predicate(F))){if(ne)if(ae.multi&&ae.representName)x.tag=ae.representName(F);else x.tag=ae.tag;else x.tag="?";if(ae.represent){let Oe=x.styleMap[ae.tag]||ae.defaultStyle,Re;if(r.call(ae.represent)==="[object Function]")Re=ae.represent(F,Oe);else if(o.call(ae.represent,Oe))Re=ae.represent[Oe](F,Oe);else throw new t("!<"+ae.tag+'> tag resolver accepts not "'+Oe+'" style');x.dump=Re}return!0}}return!1}function j(x,F,ne,Q,K,fe,ae){if(x.tag=null,x.dump=ne,!P(x,ne,!1))P(x,ne,!0);let Oe=r.call(x.dump),Re=Q;if(Q)Q=x.flowLevel<0||x.flowLevel>F;let je=Oe==="[object Object]"||Oe==="[object Array]",We,gt;if(je)We=x.duplicates.indexOf(ne),gt=We!==-1;if(x.tag!==null&&x.tag!=="?"||gt||x.indent!==2&&F>0)K=!1;if(gt&&x.usedDuplicates[We])x.dump="*ref_"+We;else{if(je&&gt&&!x.usedDuplicates[We])x.usedDuplicates[We]=!0;if(Oe==="[object Object]"){if(Q&&Object.keys(x.dump).length!==0){if(m(x,F,x.dump,K),gt)x.dump="&ref_"+We+x.dump}else if(H(x,F,x.dump),gt)x.dump="&ref_"+We+" "+x.dump}else if(Oe==="[object Array]"){if(Q&&x.dump.length!==0){if(x.noArrayIndent&&!ae&&F>0)U(x,F-1,x.dump,K);else U(x,F,x.dump,K);if(gt)x.dump="&ref_"+We+x.dump}else if(hp(x,F,x.dump),gt)x.dump="&ref_"+We+" "+x.dump}else if(Oe==="[object String]"){if(x.tag!=="?")fp(x,x.dump,F,fe,Re)}else if(Oe==="[object Undefined]")return!1;else{if(x.skipInvalid)return!1;throw new t("unacceptable kind of an object to dump "+Oe)}if(x.tag!==null&&x.tag!=="?"){let Ht=encodeURI(x.tag[0]==="!"?x.tag.slice(1):x.tag).replace(/!/g,"%21");if(x.tag[0]==="!")Ht="!"+Ht;else if(Ht.slice(0,18)==="tag:yaml.org,2002:")Ht="!!"+Ht.slice(18);else Ht="!<"+Ht+">";x.dump=Ht+" "+x.dump}}return!0}function J(x,F){let ne=[],Q=[];B(x,ne,Q);let K=Q.length;for(let fe=0;fe<K;fe+=1)F.duplicates.push(ne[Q[fe]]);F.usedDuplicates=Array(K)}function B(x,F,ne){if(x!==null&&typeof x==="object"){let Q=F.indexOf(x);if(Q!==-1){if(ne.indexOf(Q)===-1)ne.push(Q)}else if(F.push(x),Array.isArray(x))for(let K=0,fe=x.length;K<fe;K+=1)B(x[K],F,ne);else{let K=Object.keys(x);for(let fe=0,ae=K.length;fe<ae;fe+=1)B(x[K[fe]],F,ne)}}}function ie(x,F){F=F||{};let ne=new Lt(F);if(!ne.noRefs)J(x,ne);let Q=x;if(ne.replacer)Q=ne.replacer.call({"":Q},"",Q);if(j(ne,0,Q,!0,!0))return ne.dump+`
156
156
  `;return""}return QM.dump=ie,QM}var t5;function HCe(){if(t5)return _r;t5=1;let e=UCe(),t=WCe();function n(r,o){return function(){throw Error("Function yaml."+r+" is removed in js-yaml 4. Use yaml."+o+" instead, which is now safe by default.")}}return _r.Type=Gr(),_r.Schema=n5(),_r.FAILSAFE_SCHEMA=s5(),_r.JSON_SCHEMA=p5(),_r.CORE_SCHEMA=d5(),_r.DEFAULT_SCHEMA=KM(),_r.load=e.load,_r.loadAll=e.loadAll,_r.dump=t.dump,_r.YAMLException=ry(),_r.types={binary:g5(),float:u5(),map:i5(),null:a5(),pairs:y5(),set:b5(),timestamp:m5(),bool:c5(),int:l5(),merge:f5(),omap:h5(),seq:o5(),str:r5()},_r.safeLoad=n("safeLoad","load"),_r.safeLoadAll=n("safeLoadAll","loadAll"),_r.safeDump=n("safeDump","dump"),_r}var JCe=HCe(),VCe=ZCe(JCe),{Type:W7e,Schema:H7e,FAILSAFE_SCHEMA:J7e,JSON_SCHEMA:V7e,CORE_SCHEMA:G7e,DEFAULT_SCHEMA:Q7e,load:GCe,loadAll:K7e,dump:QCe,YAMLException:Y7e,types:X7e,safeLoad:eXe,safeLoadAll:tXe,safeDump:nXe}=VCe;var oXe=a.record(a.string(),a.unknown());class oy{format(e){return e.message}parse(e){return{message:e.trim()}}}var oEe=a.object({slug:a.string(),title:a.string(),type:a.string(),entityId:a.string(),contentHash:a.string()});var S5={name:"shell:knowledge-query",description:"Knowledge-aware query processing with entity search",basePrompt:`You are a personal knowledge assistant with access to the user's entities and data.
157
157
  Analyze the user's query and provide a helpful response based on available information.
158
158
 
@@ -161,7 +161,7 @@ Instructions:
161
161
  2. Search through available entities for relevant information
162
162
  3. Provide accurate, contextual responses based on the data
163
163
  4. If information is missing, clearly state what additional data might be helpful
164
- 5. Structure your response clearly and concisely`,dataSourceId:"shell:ai-content",requiredPermission:"public",useKnowledgeContext:!0,schema:gT,formatter:new oy};var iEe=a.object({type:a.string().describe("Type of source (e.g., note, article)"),title:a.string().describe("Title or identifier of the source"),relevance:a.number().min(0).max(1).describe("Relevance score")}),v5=a.object({answer:a.string().describe("The answer to the user's query"),sources:a.array(iEe).optional().describe("Sources used to generate the answer"),confidence:a.enum(["high","medium","low"]).optional().describe("Confidence level of the answer"),suggestions:a.array(a.string()).optional().describe("Related topics or follow-up questions")});function Qa(e,t){return e.parse(t)}class Ka{callback;heartbeatInterval;constructor(e){this.callback=e}static from(e){if(!e)return;return new Ka(e)}static noop(){return new Ka(async()=>{})}createSub(e){let{scale:t}=e??{};if(t){let{start:n,end:r}=t,o=r-n;return new Ka(async(i)=>{let s=n+i.progress/(i.total??100)*o;await this.callback({...i,progress:s,total:100})})}return new Ka(this.callback)}async report(e){await this.callback(e)}startHeartbeat(e,t=5000){this.stopHeartbeat(),this.heartbeatInterval=setInterval(()=>{this.report({message:e,progress:0}).catch(()=>{})},t)}stopHeartbeat(){if(this.heartbeatInterval)clearInterval(this.heartbeatInterval),this.heartbeatInterval=void 0}toCallback(){return this.callback}}var aEe=a.object({enabled:a.boolean().describe("Whether the plugin is enabled"),debug:a.boolean().describe("Enable debug logging for this plugin")});function cEe(e){return e.map((t)=>`${t.path||"<root>"}: ${t.message}`).join("; ")}class iy extends Error{pluginId;issues;constructor(e,t){super(`Invalid plugin config for ${e} at ${cEe(t)}; correct the listed fields in brain.yaml or the package's use() configuration`);this.name="PluginConfigValidationError",this.pluginId=e,this.issues=t}}var lEe=a.object({toolName:a.string(),args:a.unknown(),progressToken:a.union([a.string(),a.number()]).optional(),hasProgress:a.boolean().optional(),interfaceType:a.string(),actor:Ns,displayName:a.string().optional(),conversationId:a.string().optional(),channelId:a.string().optional(),channelName:a.string().optional(),runId:a.string().optional(),toolCallId:a.string().optional(),userPermissionLevel:a.enum(["admin","trusted","public"]).optional(),isAnchor:a.boolean().optional(),signal:a.custom((e)=>e instanceof AbortSignal).optional()}),uEe=a.object({resourceUri:a.string()});class sp{id;version;description;packageName;config;context;get logger(){return this.context?.logger??pi.createFresh({context:this.id})}constructor(e,t,n,r){this.id=e,this.packageName=t.name,this.version=t.version,this.description=t.description??`${t.name} plugin`;let o=r.safeParse(n);if(!o.success)throw new iy(e,o.error.issues.map((i)=>({path:i.path.map(String).join("."),code:i.code,message:i.message})));this.config=o.data}setupMessageHandlers(e){e.messaging.subscribe(sy.toolExecute(this.id),async(t)=>{try{let n=lEe.safeParse(t.payload);if(!n.success)return{success:!1,error:"Invalid tool execution request format"};let{toolName:r,args:o,progressToken:i,hasProgress:s,interfaceType:c,actor:l,displayName:u,conversationId:p,channelId:d,channelName:g,runId:f,toolCallId:v,userPermissionLevel:w,isAnchor:I,signal:A}=n.data,N=(await this.getTools()).find((D)=>D.name===r);if(!N)return{success:!1,error:`Tool not found: ${r}`};let re={interfaceType:c,actor:l,...u&&{displayName:u},...p&&{conversationId:p},...d&&{channelId:d},...g&&{channelName:g},...f&&{runId:f},...v&&{toolCallId:v},...w&&{userPermissionLevel:w},...I!==void 0&&{isAnchor:I},...A&&{signal:A},...s&&i!==void 0&&{progressToken:i,sendProgress:async(D)=>{await e.messaging.send({type:sy.progress(this.id),payload:{progressToken:i,notification:D}})}}};return{success:!0,data:await N.handler(o,re)}}catch(n){return this.logger.error("Tool execution error",n),{success:!1,error:et(n)}}}),e.messaging.subscribe(sy.resourceGet(this.id),async(t)=>{try{let n=uEe.safeParse(t.payload);if(!n.success)return{success:!1,error:"Invalid resource get request format"};let{resourceUri:r}=n.data,i=(await this.getResources()).find((c)=>c.uri===r);if(!i)return{success:!1,error:`Resource not found: ${r}`};return{success:!0,data:await i.handler()}}catch(n){return this.logger.error("Resource fetch error",n),{success:!1,error:et(n)}}})}async onRegister(e){}async onRegistrationComplete(e){}async finalizeRegistration(){await this.onRegistrationComplete(this.getContext())}async onReady(e){}async ready(){await this.onReady(this.getContext())}async getCapabilities(){let e=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...e&&{instructions:e}}}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(e){return"public"}createProgressBridge(e){if(!e)return;let t=this.context;if(!t)return;let n=this.id;return Ka.from(async(r)=>{await t.messaging.send({type:sy.progress(n),payload:{progressToken:e,notification:{progress:r.progress,total:r.total,message:r.message}}})})}}var w5=a.object({id:a.string(),template:a.string(),content:a.unknown().optional(),dataQuery:a.looseObject({entityType:a.string().optional(),template:a.string().optional(),query:a.looseObject({id:a.string().optional(),limit:a.number().optional(),offset:a.number().optional()}).optional()}).optional(),order:a.number().optional()}),YM=["primary","secondary"],T5=a.object({show:a.boolean().default(!1),label:a.string().optional(),slot:a.enum(YM).default("primary"),priority:a.number().min(0).max(100).default(50)}).optional(),XM=a.object({id:a.string(),path:a.string(),title:a.string().default(""),pageLabel:a.string().optional(),description:a.string().default(""),sections:a.array(w5).default([]),layout:a.string().default("default"),fullscreen:a.boolean().optional(),pluginId:a.string().optional(),sourceEntityType:a.string().optional(),external:a.boolean().optional(),navigation:T5}),C5=a.object({routes:a.array(XM),pluginId:a.string()}),E5=a.object({paths:a.array(a.string()).optional(),pluginId:a.string().optional()}),I5=a.object({pluginId:a.string().optional()}),k5=a.object({path:a.string()}),hT=a.object({label:a.string(),href:a.string(),priority:a.number()});var pEe="site:metadata:get",dEe="site:metadata:updated",e_=a.object({heading:a.string().describe("Main CTA heading text"),buttonText:a.string().describe("Call-to-action button text"),buttonLink:a.string().describe("URL or anchor for the CTA button")}),R5=a.object({blurb:a.string().optional().describe("Short italic subtitle under the section title")}),yT=a.object({represents:a.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:a.string().describe("The site's title"),description:a.string().describe("The site's description"),url:a.string().optional().describe("Canonical site URL"),copyright:a.string().optional().describe("Copyright notice text"),logo:a.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:a.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:a.string().optional().describe("Analytics script HTML"),cta:e_.optional().describe("Call-to-action configuration"),sections:a.record(a.string(),R5).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 mEe=a.object({platform:a.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:a.string().describe("Profile or contact URL"),label:a.string().optional().describe("Optional display label")}),fEe=yT.extend({copyright:a.string(),navigation:a.object({primary:a.array(hT),secondary:a.array(hT)}),socialLinks:a.array(mEe).optional().describe("Social media links from profile metadata")});function ay(e,t){return t?e.nullable().default(null):e}function n_(e){switch(e.type){case"string":return ay(a.string(),e.optional);case"number":return ay(a.number(),e.optional);case"enum":return ay(a.enum(e.options),e.optional);case"object":{let t={};for(let[n,r]of Object.entries(e.fields))t[n]=n_(r);return ay(a.object(t),e.optional)}case"array":{let t=a.array(gEe(e));if(e.minItems!==void 0)t=t.min(e.minItems);if(e.length!==void 0)t=t.length(e.length);return ay(t,e.optional)}}}function gEe(e){let{items:t}=e;switch(t.type){case"string":return a.string();case"number":return a.number();case"enum":return a.enum(t.options);case"object":{let n={};for(let[r,o]of Object.entries(t.fields))n[r]=n_(o);return a.object(n)}}}function t_(e,t){switch(t.type){case"string":case"enum":return{key:e,label:t.label,type:"string"};case"number":return{key:e,label:t.label,type:"number"};case"object":return{key:e,label:t.label,type:"object",children:Object.entries(t.fields).map(([n,r])=>t_(n,r))};case"array":{let n={key:e,label:t.label,type:"array"};switch(t.items.type){case"string":case"enum":return n.itemType="string",n;case"number":return n.itemType="number",n;case"object":return n.itemType="object",n.itemMappings=Object.entries(t.items.fields).map(([r,o])=>t_(r,o)),n}}}}function P5(e,t){let n={};for(let[i,s]of Object.entries(t.fields))n[i]=n_(s);let r=a.object(n),o=new Im(r,{title:t.title,mappings:Object.entries(t.fields).map(([i,s])=>t_(i,s))});return{name:e,description:t.description,schema:r,formatter:o,requiredPermission:t.requiredPermission??"public",layout:{component:t.layout,...t.fullscreen!==void 0?{fullscreen:t.fullscreen}:{}},...t.runtimeScripts?{runtimeScripts:t.runtimeScripts}:{}}}function hEe(e){let t={};for(let[n,r]of Object.entries(e.sections))t[n]=P5(n,r);return t}var yEe=yT.omit({url:!0,analyticsScript:!0}),A5=yEe.extend({title:a.string().optional().describe("Optional site title override"),description:a.string().optional().describe("Optional site description override")});function O5(e){return A5.parse(wm(e).frontmatter)}async function bEe(e){let n=(await e.listEntities({entityType:"site-info",options:{limit:1}}))[0];if(!n)throw Error("Site info not found \u2014 create a site-info entity");return O5(n.content)}function r_(e,t={}){let n=D5(e),r=D5(t.sharedDomain??"rizom.ai").replace(/^\./,""),o=`.${r}`;if(n.endsWith(o)){let i=n.slice(0,-o.length);if(i.length>0&&!i.includes("."))return`${i}-preview.${r}`}return`preview.${n}`}function D5(e){return e.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class km{static instance=null;entityDisplay;constructor(){}static getInstance(){return km.instance??=new km,km.instance}configure(e){this.entityDisplay=e}static resetInstance(){km.instance=null}hasRoute(e){return this.entityDisplay?.[e]!==void 0}generateUrl(e,t){let n=this.entityDisplay?.[e];if(n)return`/${n.pluralName??n.label.toLowerCase()+"s"}/${t}`;return`/${PC(e)}/${t}`}}var _5=["primary","secondary"];var xEe=a.custom((e)=>typeof e==="function","Expected a React component"),SEe=a.strictObject({show:a.boolean().optional(),label:a.string().min(1).optional(),slot:a.enum(_5).optional(),priority:a.number().optional()}),vEe=a.strictObject({id:a.string().min(1),template:a.string().min(1),content:a.unknown().optional(),dataQuery:a.looseObject({entityType:a.string().optional(),template:a.string().optional(),query:a.record(a.string(),a.unknown()).optional()}).optional(),order:a.number().optional()}),wEe=a.strictObject({id:a.string().min(1),path:a.string().startsWith("/"),title:a.string().optional(),pageLabel:a.string().optional(),description:a.string().optional(),sections:a.array(vEe).optional(),layout:a.string().min(1).optional(),fullscreen:a.boolean().optional(),pluginId:a.string().optional(),sourceEntityType:a.string().optional(),external:a.boolean().optional(),navigation:SEe.optional()}),TEe=a.strictObject({label:a.string().min(1),pluralName:a.string().min(1).optional(),layout:a.string().min(1).optional(),paginate:a.boolean().optional(),pageSize:a.number().int().positive().optional(),navigation:a.strictObject({show:a.boolean().optional(),slot:a.enum(_5).optional(),priority:a.number().optional()}).optional()}),CEe=a.strictObject({schema:a.custom((e)=>e instanceof a.ZodType,"Expected a Zod schema"),component:a.custom((e)=>typeof e==="function","Expected a React component"),title:a.string().min(1),description:a.string(),requiredPermission:a.enum(["admin","trusted","public"]).optional(),fullscreen:a.boolean().optional()}),M5=a.strictObject({namespace:a.string().min(1),sections:a.record(a.string(),CEe)}),EEe=a.record(a.string(),a.json()),IEe=a.record(a.string(),a.record(a.string(),EEe)),z5={layouts:a.record(a.string(),xEe).refine((e)=>typeof e.default==="function",{message:'Site layouts must include a "default" component'}),routes:a.array(wEe),content:IEe.optional(),sections:a.union([M5,a.array(M5)]).optional(),themeOverride:a.string().optional(),headScripts:a.array(a.string()).optional(),entityDisplay:a.record(a.string(),TEe),staticAssets:a.record(a.string(),a.string()).optional()},Fet=a.strictObject(z5).partial();var F5=a.strictObject(z5).superRefine((e,t)=>{let n=new Set;for(let[i,s]of e.routes.entries()){if(n.has(s.id))t.addIssue({code:"custom",path:["routes",i,"id"],message:`Duplicate route id "${s.id}"`});n.add(s.id);let c=s.layout??"default";if(!e.layouts[c])t.addIssue({code:"custom",path:["routes",i,"layout"],message:`Unknown layout "${c}"`})}let r=Array.isArray(e.sections)?e.sections:e.sections?[e.sections]:[],o=new Map(r.map((i)=>[i.namespace,i]));if(o.size!==r.length)t.addIssue({code:"custom",path:["sections"],message:"Section group namespaces must be unique"});for(let[i,s]of Object.entries(e.content??{})){let c=o.get(i);if(!c){t.addIssue({code:"custom",path:["content",i],message:`Content namespace "${i}" has no section group`});continue}for(let[l,u]of Object.entries(s)){let p=c.sections[l];if(!p){t.addIssue({code:"custom",path:["content",i,l],message:`Content section "${i}.${l}" is not defined`});continue}let d=p.schema.safeParse(u);if(!d.success)t.addIssue({code:"custom",path:["content",i,l],message:`Content does not satisfy the "${i}.${l}" schema: ${a.prettifyError(d.error)}`})}}});var kEe=a.string(),REe=a.custom((e)=>{if(!ui(e))return!1;let{plugin:t,...n}=e;if(t!==void 0&&typeof t!=="function")return!1;return F5.safeParse(n).success});var o_=a.enum(["file_operations","content_operations","data_processing","batch_processing"]),PEe=a.looseObject({pluginId:a.string().optional(),progressToken:a.union([a.string(),a.number()]).optional(),operationType:o_,operationTarget:a.string().optional(),interfaceType:a.string().optional(),conversationId:a.string().optional(),channelId:a.string().optional(),requestedByActor:Ns.optional(),requestedByUserId:a.string().optional(),requestedByInterface:a.string().optional(),silent:a.boolean().optional(),provenance:Bs.optional()}),ap=a.looseObject({pluginId:a.string().optional(),progressToken:a.union([a.string(),a.number()]).optional(),operationType:o_,operationTarget:a.string().optional(),interfaceType:a.string().optional(),conversationId:a.string().optional(),channelId:a.string().optional(),requestedByActor:Ns.optional(),requestedByUserId:a.string().optional(),requestedByInterface:a.string().optional(),silent:a.boolean().optional(),provenance:Bs.optional(),rootJobId:a.string()}),rtt=a.enum(["none","skip","replace","coalesce"]);var AEe=a.object({id:a.string(),type:a.string(),data:a.string(),status:a.enum(["pending","processing","completed","failed"]),source:a.string().nullable(),priority:a.number(),retryCount:a.number(),maxRetries:a.number(),lastError:a.string().nullable(),createdAt:a.number(),scheduledFor:a.number(),startedAt:a.number().nullable(),completedAt:a.number().nullable(),attemptId:a.string().nullable(),workerSlotId:a.string().nullable(),workerSessionId:a.string().nullable(),leaseExpiresAt:a.number().nullable(),attemptHeartbeatAt:a.number().nullable(),runtimeUpdatedAt:a.number().nullable(),metadata:ap,progress:a.custom((e)=>typeof e==="object"&&e!==null&&("progress"in e)&&typeof e.progress==="number").nullable(),result:a.unknown().nullable().optional()}),Ya=15000;var i_=a.enum(["pending","processing","completed","failed"]),N5=a.enum(["completed","failed"]),_e={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},OEe=a.object({id:a.string(),type:a.string(),status:i_,data:a.unknown(),result:a.unknown().optional(),lastError:a.string().optional().nullable(),attempts:a.number(),maxRetries:a.number(),priority:a.number(),createdAt:a.date(),updatedAt:a.date(),processedAt:a.date().optional().nullable(),completedAt:a.date().optional().nullable(),failedAt:a.date().optional().nullable()}),DEe=a.object({jobId:a.string(),type:a.string(),status:N5,result:a.unknown().optional(),error:a.string().optional()}),s_=a.object({success:a.literal(!1),error:a.string().optional()}),bT=a.object({id:a.string(),type:a.enum(["job","batch"]),status:i_,message:a.string().optional(),progress:a.object({current:a.number(),total:a.number(),percentage:a.number()}).optional(),aggregationKey:a.string().optional(),batchDetails:a.object({totalOperations:a.number(),completedOperations:a.number(),failedOperations:a.number(),currentOperation:a.string().optional(),errors:a.array(a.string()).optional()}).optional(),jobDetails:a.object({jobType:a.string(),priority:a.number(),retryCount:a.number()}).optional(),metadata:ap});var q=Bt("job_queue",{id:le("id").primaryKey().$defaultFn(()=>At()),type:le("type").notNull(),data:le("data").notNull(),result:le("result",{mode:"json"}),progress:le("progress",{mode:"json"}).$type(),source:le("source"),metadata:le("metadata",{mode:"json"}).$type().notNull(),status:le("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:qe("priority").notNull().default(0),retryCount:qe("retryCount").notNull().default(0),maxRetries:qe("maxRetries").notNull().default(3),lastError:le("lastError"),createdAt:qe("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:qe("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:qe("startedAt"),completedAt:qe("completedAt"),attemptId:le("attemptId"),workerSlotId:le("workerSlotId"),workerSessionId:le("workerSessionId"),leaseExpiresAt:qe("leaseExpiresAt"),attemptHeartbeatAt:qe("attemptHeartbeatAt"),runtimeUpdatedAt:qe("runtimeUpdatedAt")},(e)=>({queueReadyIdx:Ft("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:Ft("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:Ft("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:Ft("idx_job_queue_source").on(e.source)})),bt=Bt("job_worker_sessions",{slotId:le("slotId").primaryKey(),sessionId:le("sessionId").notNull().unique(),startedAt:qe("startedAt").notNull(),heartbeatAt:qe("heartbeatAt").notNull(),expiresAt:qe("expiresAt").notNull().default(0)},(e)=>({heartbeatIdx:Ft("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:Ft("idx_job_worker_sessions_expires").on(e.expiresAt)}));function j5(e){return Ui({url:e.url,schema:{jobQueue:q,jobWorkerSessions:bt},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN"})}class a_{declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor(e,t){this.logger=e.child("HandlerRegistry"),this.mode=t}registerHandler(e,t,n){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has(e))throw Error(`Job handler is already registered for type: ${e}`);if(this.declarations.set(e,{handler:t,pluginId:n}),this.validators.set(e,t),this.mode!=="validation-only")this.handlers.set(e,t);this.logger.debug("Registered job execution declaration",{type:e,pluginId:n,mode:this.mode})}unregisterHandler(e){this.declarations.delete(e),this.handlers.delete(e),this.validators.delete(e),this.logger.debug("Unregistered job handler",{type:e})}unregisterPluginHandlers(e){let t=[...this.declarations.entries()].filter(([,n])=>n.pluginId===e).map(([n])=>n);for(let n of t)this.declarations.delete(n),this.handlers.delete(n),this.validators.delete(n);if(t.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:e,count:t.length,types:t})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Object.freeze({type:e,pluginId:t.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){if(!this.finalizedRegistrations)throw Error("Job handler registrations are not finalized");return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getHandler(e){return this.handlers.get(e)}getValidator(e){return this.validators.get(e)}}var MEe=a.looseObject({deduplicationKey:a.string().optional()});class c_{findDuplicate(e,t,n){if(!t||t==="none")return null;let r=this.filterByDeduplicationKey(e,n).sort((i,s)=>s.createdAt-i.createdAt||s.id.localeCompare(i.id)),o=r.find((i)=>i.status===_e.PENDING)??null;if(t==="skip"||t==="replace")return o;return o??r[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((n)=>{let r=MEe.safeParse(n.metadata);return r.success&&r.data.deduplicationKey===t})}}var _Ee=2000,zEe=5,FEe=40,NEe=new sD;class l_{db;transactionClient;databaseUrl;logger;deduplicator=new c_;writeRetryBudgetMs;constructor(e,t,n,r,o){this.db=e,this.transactionClient=t,this.databaseUrl=n,this.logger=r.child("JobQueueRepository"),this.writeRetryBudgetMs=o?.writeRetryBudgetMs??_Ee}async insert(e){await this.db.insert(q).values(e)}async enqueueAtomic(e){return NEe.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,n){let r=await this.runEnqueueTransaction(e,t,n);if(r.retry)return this.attemptEnqueue(e,t,n+1);return r.decision}async runEnqueueTransaction(e,t,n){let r=await this.acquireWriteTransaction(e,t),o={prepared:!1},i=!1;try{let s=await this.decideEnqueue(r,e,()=>{o.prepared=!0});return i=!0,await r.commit(),{retry:!1,decision:s}}catch(s){let c=i&&this.isSerializationConflict(s)&&!r.closed,l=!0;if(!r.closed)try{await r.rollback()}catch(u){l=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:u})}if(o.prepared)e.onInsertRollback?.();if(!c||!l)throw s;return await this.waitForConflictRetry("commit",e,t,n,s),{retry:!0}}finally{r.close()}}async decideEnqueue(e,t,n){let{jobData:r,strategy:o,deduplicationKey:i,beforeInsert:s}=t,c=o??"none",l=async()=>{await s?.(),n()},u=async()=>{await l(),await this.insertJob(e,r)};if(c==="none")return await u(),{kind:"inserted",jobId:r.id};let p=await this.getActiveDeduplicationCandidates(e,r.type),d=this.deduplicator.findDuplicate(p,c,i);if(!d)return await u(),{kind:"inserted",jobId:r.id};if(c==="skip")return{kind:"skipped",jobId:d.id};if(c==="coalesce"){if((await e.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),d.id,d.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${d.id}`);return{kind:"coalesced",jobId:d.id}}await l();let g=Date.now();if((await e.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:[_e.FAILED,"Replaced by newer job",g,g,d.id,_e.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${d.id}`);return await this.insertJob(e,r),{kind:"replaced",jobId:r.id,replacedJobId:d.id}}async getActiveDeduplicationCandidates(e,t){return(await e.execute({sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,_e.PENDING,_e.PROCESSING]})).rows.map((r)=>this.parseDeduplicationCandidate(r))}parseDeduplicationCandidate(e){let{id:t,status:n,createdAt:r,metadata:o}=e;if(typeof t!=="string"||n!==_e.PENDING&&n!==_e.PROCESSING||typeof r!=="number"&&typeof r!=="bigint"||typeof o!=="string")throw Error("Invalid active job row returned during atomic enqueue");let i=JSON.parse(o);return{id:t,status:n,createdAt:Number(r),metadata:i}}async insertJob(e,t){if((await e.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:[t.id,t.type,t.data,this.serializeJson(t.result),t.source,JSON.stringify(t.metadata),t.status,t.priority,t.retryCount,t.maxRetries,t.lastError,t.createdAt,t.scheduledFor,t.startedAt,t.completedAt]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${t.id}`)}serializeJson(e){if(e===void 0||e===null)return null;return JSON.stringify(e)}acquireWriteTransaction(e,t){return this.retryOnConflict("acquire",e,()=>this.transactionClient.transaction("write"),(n)=>this.isSerializationConflict(n),t)}async waitForConflictRetry(e,t,n,r,o){let i=Math.min(zEe*2**(r-1),FEe),s=i/2+Math.random()*(i/2);if(Date.now()+s>=n)throw this.transactionConflictError(e,t,r,o);await new Promise((c)=>setTimeout(c,s))}async retryOnConflict(e,t,n,r,o=Date.now()+this.writeRetryBudgetMs,i=1){try{return await n()}catch(s){if(!r(s))throw s;return await this.waitForConflictRetry(e,t,o,i,s),this.retryOnConflict(e,t,n,r,o,i+1)}}transactionConflictError(e,t,n,r){let o=t.strategy??"none",i=t.deduplicationKey?"present":"absent";return Error(`Failed to ${e} atomic enqueue transaction for type "${t.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${n} attempts (strategy: ${o}, key: ${i})`,{cause:r})}isSerializationConflict(e){for(let t=e;t!==void 0;){let n=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",r=et(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(n)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(r))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,n=Date.now(),r=Ya){let o=n+r;await this.db.insert(bt).values({slotId:e,sessionId:t,startedAt:n,heartbeatAt:n,expiresAt:o}).onConflictDoUpdate({target:bt.slotId,set:{sessionId:t,startedAt:n,heartbeatAt:n,expiresAt:o}})}async heartbeatWorkerSession(e,t,n=Date.now(),r=Ya){return(await this.db.update(bt).set({heartbeatAt:n,expiresAt:n+r}).where(oe(O(bt.slotId,e),O(bt.sessionId,t))).returning({slotId:bt.slotId})).length===1}async endWorkerSession(e,t){return(await this.db.delete(bt).where(oe(O(bt.slotId,e),O(bt.sessionId,t))).returning({slotId:bt.slotId})).length===1}async complete(e,t,n){let r=Date.now(),i=(await this.db.update(q).set({status:_e.COMPLETED,result:t,lastError:null,completedAt:r,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r)}).where(this.attemptWriteGuard(e,n)).returning({id:q.id})).length===1;if(i)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return i}async update(e,t,n){let o=(await this.db.update(q).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,n)).returning({id:q.id})).length===1;if(o)this.logger.debug("Job data updated",{jobId:e});return o}async recordAttemptProgress(e,t,n,r=Date.now()){return(await this.db.update(q).set({attemptHeartbeatAt:r,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r),progress:n}).where(this.attemptWriteGuard(e,t)).returning({id:q.id})).length===1}async renewAttemptLease(e,t,n,r){return(await this.db.update(q).set({attemptHeartbeatAt:n,leaseExpiresAt:n+r}).where(this.attemptWriteGuard(e,t)).returning({id:q.id})).length===1}async fail(e,t,n,r=Date.now()){let i=(await this.db.select({retryCount:q.retryCount,maxRetries:q.maxRetries,type:q.type,scheduledFor:q.scheduledFor,startedAt:q.startedAt,runtimeUpdatedAt:q.runtimeUpdatedAt}).from(q).where(this.attemptWriteGuard(e,n)).limit(1))[0];if(!i)return!1;let s=i.retryCount<i.maxRetries,c=s?i.retryCount+1:i.retryCount,l=Math.min(1000*2**i.retryCount,60000),u=s?r+l:i.scheduledFor;if((await this.db.update(q).set({status:s?_e.PENDING:_e.FAILED,retryCount:c,lastError:t.message,scheduledFor:u,completedAt:s?null:r,runtimeUpdatedAt:s?i.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r),startedAt:s?null:i.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(oe(this.attemptWriteGuard(e,n),O(q.retryCount,i.retryCount))).returning({id:q.id})).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:c,backoffMs:l,scheduledFor:new Date(u).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:i.type,retryCount:i.retryCount,error:t.message});return!0}async retireUnownedActiveJob(e){let t=e.reason.trim();if(t.length===0)throw Error("Retired job reason must not be empty");let r=(await this.db.update(q).set({status:_e.FAILED,lastError:t,completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(oe(O(q.id,e.jobId),O(q.type,e.expectedType),fr(O(q.status,_e.PENDING),O(q.status,_e.PROCESSING)),rr(q.attemptId),rr(q.workerSlotId),rr(q.workerSessionId),rr(q.leaseExpiresAt),rr(q.attemptHeartbeatAt),rr(q.progress),rr(q.result))).returning())[0]??null;if(r)this.logger.warn("Retired unowned legacy job",{jobId:r.id,type:r.type,reason:t});return r}async getStatus(e){return(await this.db.select().from(q).where(O(q.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(q).where(S`json_extract(${q.metadata}, '$.rootJobId') = ${e}`).orderBy(st(q.createdAt),st(q.id))}async getStatusByEntityId(e){return(await this.db.select().from(q).where(S`json_extract(${q.data}, '$.id') = ${e}`).orderBy(dn(q.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:q.status,count:S`count(*)`}).from(q).groupBy(q.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let n of e){let r=Number(n.count);t[n.status]=r,t.total+=r}return t}async getDiagnostics(e=Date.now()){let[t,n,r]=await Promise.all([this.db.select({type:q.type,status:q.status,count:S`count(*)`}).from(q).groupBy(q.type,q.status),this.db.select({oldestPendingAt:S`min(case when ${q.status} = ${_e.PENDING} then ${q.createdAt} end)`,duePending:S`coalesce(sum(case when ${q.status} = ${_e.PENDING} and ${q.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:S`min(case when ${q.status} = ${_e.PENDING} and ${q.scheduledFor} <= ${e} then ${q.scheduledFor} end)`,latestClaimAt:S`max(${q.startedAt})`,oldestProcessingAt:S`min(case when ${q.status} = ${_e.PROCESSING} then ${q.startedAt} end)`,staleLeaseCount:S`coalesce(sum(case when ${q.status} = ${_e.PROCESSING} and ${q.leaseExpiresAt} is not null and ${q.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(q),this.db.select({total:S`count(*)`,active:S`coalesce(sum(case when ${bt.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:S`coalesce(sum(case when ${bt.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:S`max(${bt.heartbeatAt})`}).from(bt)]),o={pending:0,processing:0,completed:0,failed:0},i=t.map((u)=>{let p=Number(u.count);return o[u.status]+=p,{type:u.type,status:u.status,count:p}}),s=n[0],c=r[0],l=(u)=>u===null||u===void 0?null:Math.max(0,e-Number(u));return{totals:o,byType:i,oldestPendingAgeMs:l(s?.oldestPendingAt),duePending:Number(s?.duePending??0),oldestDuePendingAgeMs:l(s?.oldestDuePendingAt),latestClaimAgeMs:l(s?.latestClaimAt),oldestProcessingAgeMs:l(s?.oldestProcessingAt),staleLeaseCount:Number(s?.staleLeaseCount??0),workerSessions:{total:Number(c?.total??0),active:Number(c?.active??0),stale:Number(c?.stale??0),latestHeartbeatAgeMs:l(c?.latestHeartbeatAt)}}}async getRuntimeUpdates(e,t){return(await this.db.select().from(q).where(S`(${q.runtimeUpdatedAt}, ${q.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(st(q.runtimeUpdatedAt),st(q.id)).limit(t)).map((r)=>({job:r,cursor:{updatedAt:r.runtimeUpdatedAt??0,jobId:r.id}}))}async cleanup(e){let t=Date.now()-e;return(await this.db.delete(q).where(oe(fr(O(q.status,_e.COMPLETED),O(q.status,_e.FAILED)),Dr(q.completedAt,t)))).rowsAffected}async getActiveJobs(e){let t=fr(O(q.status,_e.PENDING),O(q.status,_e.PROCESSING)),n=e&&e.length>0?oe(t,kt(q.type,e)):t;return this.db.select().from(q).where(n).orderBy(dn(q.createdAt))}async getRecentJobs(e,t=20){let n=e&&e.length>0?kt(q.type,e):void 0;return this.db.select().from(q).where(n).orderBy(dn(q.createdAt)).limit(t)}async getFailedJobs(e){let t=O(q.status,_e.FAILED),n=e&&e.length>0?oe(t,kt(q.type,e)):t;return this.db.select().from(q).where(n).orderBy(dn(q.createdAt))}async claimNextReady(e){let{now:t,attemptId:n,workerSlotId:r,workerSessionId:o,leaseDurationMs:i,executableTypes:s}=e,c=this.db.select({slotId:bt.slotId}).from(bt).where(oe(O(bt.slotId,r),O(bt.sessionId,o),Za(bt.expiresAt,t))),l=this.db.select({slotId:bt.slotId}).from(bt).where(oe(O(bt.slotId,q.workerSlotId),O(bt.sessionId,q.workerSessionId))),u=this.db.select({slotId:bt.slotId}).from(bt).where(oe(O(bt.slotId,q.workerSlotId),O(bt.sessionId,q.workerSessionId),Dr(bt.expiresAt,t))),p=oe(O(q.status,_e.PROCESSING),fr(rr(q.attemptId),ow(l),oe(Dr(q.leaseExpiresAt,t),al(u)))),d=S`${q.status} = ${_e.PROCESSING} AND ${q.retryCount} + 1 > ${q.maxRetries}`,g=this.db.select({id:q.id}).from(q).where(oe(kt(q.type,s),fr(oe(O(q.status,_e.PENDING),Dr(q.scheduledFor,t)),p))).orderBy(st(q.priority),st(q.createdAt)).limit(1),v=(await this.db.update(q).set({status:S`CASE WHEN ${d} THEN ${_e.FAILED} ELSE ${_e.PROCESSING} END`,retryCount:S`CASE WHEN ${q.status} = ${_e.PROCESSING} THEN ${q.retryCount} + 1 ELSE ${q.retryCount} END`,lastError:S`CASE WHEN ${q.status} = ${_e.PROCESSING} THEN 'Attempt lease expired' ELSE ${q.lastError} END`,startedAt:S`CASE WHEN ${d} THEN ${q.startedAt} ELSE ${t} END`,completedAt:S`CASE WHEN ${d} THEN ${t} ELSE NULL END`,attemptId:S`CASE WHEN ${d} THEN ${q.attemptId} ELSE ${n} END`,workerSlotId:S`CASE WHEN ${d} THEN ${q.workerSlotId} ELSE ${r} END`,workerSessionId:S`CASE WHEN ${d} THEN ${q.workerSessionId} ELSE ${o} END`,leaseExpiresAt:S`CASE WHEN ${d} THEN ${q.leaseExpiresAt} ELSE ${t+i} END`,attemptHeartbeatAt:S`CASE WHEN ${d} THEN ${q.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:S`CASE WHEN ${d} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${q.runtimeUpdatedAt} END`}).where(oe(kt(q.id,g),al(c))).returning())[0];if(v?.status!==_e.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:v.id,attemptId:v.attemptId,workerSlotId:r,workerSessionId:o}),v}nextRuntimeUpdatedAt(e){return S`max(${e}, coalesce((select max(${q.runtimeUpdatedAt}) from ${q}), 0) + 1)`}attemptWriteGuard(e,t){return t?oe(O(q.id,e),O(q.status,_e.PROCESSING),O(q.attemptId,t)):oe(O(q.id,e),rr(q.attemptId),fr(O(q.status,_e.PENDING),O(q.status,_e.PROCESSING)))}}import{AsyncLocalStorage as jEe}from"async_hooks";class vl{storage=new jEe;static createFresh(){return new vl}constructor(){}current(){return this.storage.getStore()}run(e,t,n){if(t.length===0)throw Error("Operation ID must not be empty");let r=Bs.parse(e),o=BEe(r);return this.storage.run(Object.freeze({provenance:o,operationId:t}),n)}}function BEe(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}class u_{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${At()}`;directWorkerSessionId=At();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,n){return new u_(e,t??pi.getInstance(),n)}constructor(e,t,n){let{db:r,client:o,url:i}=j5(e);this.client=o,this.databaseUrl=i,this.logger=t.child("JobQueueService"),this.operationContext=n?.operationContext??vl.createFresh(),this.projectionAdmission=n?.projectionAdmission,this.handlerRegistry=new a_(this.logger,n?.handlerRegistrationMode??"combined"),this.repository=new l_(r,o,i,this.logger),this.directLeaseDurationMs=e.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await Wi(this.client,this.databaseUrl)}catch(e){this.logger.warn("Failed to enable WAL mode (non-fatal)",e)}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(e,t,n){this.handlerRegistry.registerHandler(e,t,n)}unregisterHandler(e){this.handlerRegistry.unregisterHandler(e)}unregisterPluginHandlers(e){this.handlerRegistry.unregisterPluginHandlers(e)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler(e){return this.handlerRegistry.getHandler(e)}getValidator(e){return this.handlerRegistry.getValidator(e)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue(e){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated(e)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated(e){let{type:t,data:n,options:r}=e,o=this.handlerRegistry.getValidator(t);if(!o)throw Error(`No job type declared: ${t}`);let i=o.validateAndParse(n);if(i===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),c=At(),l=r?.rootJobId??this.operationContext.current()?.provenance.rootJobId??c,u=this.createJobProvenance(c,l,r),p=r?.metadata??{operationType:"data_processing"},{provenance:d,...g}=p,f={id:c,type:t,data:JSON.stringify(i),status:_e.PENDING,priority:r?.priority??0,maxRetries:r?.maxRetries??3,retryCount:0,source:r?.source??null,metadata:{...g,...r?.deduplicationKey&&{deduplicationKey:r.deduplicationKey},rootJobId:l,provenance:u},createdAt:s,scheduledFor:r?.delayMs?s+r.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null},v,w=()=>{v?.rollback(),v=void 0};try{let I=await this.repository.enqueueAtomic({jobData:f,strategy:r?.deduplication,deduplicationKey:r?.deduplicationKey,beforeInsert:async()=>{v=await this.projectionAdmission?.reserveJobAdmission(u)},onInsertRollback:w});if(v?.commit(),v=void 0,I.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:I.jobId});else if(I.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:I.jobId});else{if(I.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:I.replacedJobId});this.logger.debug("Job enqueued",{id:I.jobId,type:t,priority:f.priority,rootJobId:f.metadata.rootJobId})}return I.jobId}catch(I){throw w(),this.logger.error("Failed to enqueue job",{type:t,error:et(I)}),I}}createJobProvenance(e,t,n){let r=this.operationContext.current(),o=n?.metadata.provenance??r?.provenance,i=o?.rootJobId===t?o:void 0,s=r?.provenance.rootJobId===t?r.operationId:void 0,c=n?.projection,l=c?[...i?.projectionLineage??[],c.id]:[...i?.projectionLineage??[]],u=c?.id??i?.projectionId;return Bs.parse({rootJobId:t,causationId:s??i?.causationId??e,...u?{projectionId:u}:{},projectionLineage:l,...c?.sourceEntity?{sourceEntity:c.sourceEntity}:i?.sourceEntity?{sourceEntity:i.sourceEntity}:{},derivationDepth:l.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let n=e??await this.getDirectClaimOptions(),r=Date.now(),o=await this.repository.claimNextReady({...n,now:r,attemptId:At(),executableTypes:t});if(!o)return null;return this.logger.debug("Job dequeued",{id:o.id,type:o.type,priority:o.priority,retryCount:o.retryCount,attemptId:o.attemptId,workerSlotId:o.workerSlotId,workerSessionId:o.workerSessionId}),o}async startWorkerSession(e,t,n=Ya){await this.repository.startWorkerSession(e,t,Date.now(),n)}heartbeatWorkerSession(e,t,n=Ya){return this.repository.heartbeatWorkerSession(e,t,Date.now(),n)}endWorkerSession(e,t){return this.repository.endWorkerSession(e,t)}renewAttemptLease(e,t,n){return this.repository.renewAttemptLease(e,t,Date.now(),n)}recordAttemptProgress(e,t,n){return this.repository.recordAttemptProgress(e,t,n)}complete(e,t,n){return this.repository.complete(e,t,n)}update(e,t,n){return this.repository.update(e,t,n)}fail(e,t,n){return this.repository.fail(e,t,n)}retireUnownedActiveJob(e){return this.repository.retireUnownedActiveJob(e)}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(e){return this.repository.getStatus(e)}async getJobsByRootJobId(e){return this.repository.getJobsByRootJobId(e)}async getStatusByEntityId(e){return this.repository.getStatusByEntityId(e)}async getStats(){return this.repository.getStats()}getDiagnostics(e){return this.repository.getDiagnostics(e)}async waitForIdle(e={}){let t=e.quietMs??250,n=e.pollIntervalMs??25,r=Date.now()+(e.timeoutMs??30000),o=async(i)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),l=s.pending===0&&s.processing===0?i??Date.now():null;if(l!==null&&Date.now()-l>=t)return;if(Date.now()>=r)throw Error(`Timed out waiting for the job queue to settle: ${s.pending} pending, ${s.processing} processing`);return await Bun.sleep(n),o(l)};return o(null)}getRuntimeUpdates(e,t=1000){return this.repository.getRuntimeUpdates(e,t)}async cleanup(e){let t=await this.repository.cleanup(e);if(t>0)this.logger.info("Cleaned up old jobs",{deletedCount:t,olderThanMs:e});return t}async getActiveJobs(e){return this.repository.getActiveJobs(e)}async getRecentJobs(e,t){return this.repository.getRecentJobs(e,t)}async getFailedJobs(e){return this.repository.getFailedJobs(e)}}class B5 extends Error{constructor(e,t){super(`Job ${e} exceeded its ${t}ms execution deadline`);this.name="JobDeadlineExceededError"}}class p_{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(e,t,n,r,o){return new p_(e,t,n,r,o)}constructor(e,t,n,r,o){if(this.logger=n.child("JobQueueWorker"),this.jobQueueService=e,this.progressMonitor=t,this.clock=o?.clock,this.operationContext=o?.operationContext??vl.createFresh(),this.config={concurrency:r?.concurrency??1,pollInterval:r?.pollInterval??1000,maxJobs:r?.maxJobs??0,autoStart:r?.autoStart??!1,workerSlotId:r?.workerSlotId??process.env.BRAIN_JOB_WORKER_SLOT_ID??"default",defaultExecutionTimeoutMs:r?.defaultExecutionTimeoutMs??300000,cancellationGraceMs:r?.cancellationGraceMs??5000,errorCallbackTimeoutMs:r?.errorCallbackTimeoutMs??1e4,leaseDurationMs:r?.leaseDurationMs??30000,attemptHeartbeatIntervalMs:r?.attemptHeartbeatIntervalMs??1e4,workerHeartbeatIntervalMs:r?.workerHeartbeatIntervalMs??5000,workerSessionTimeoutMs:r?.workerSessionTimeoutMs??Ya,onUnhealthy:r?.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((i)=>{this.logger.error("Failed to auto-start JobQueueWorker",{error:i})})}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 e=At();await this.jobQueueService.startWorkerSession(this.config.workerSlotId,e,this.config.workerSessionTimeoutMs),this.workerSessionId=e,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=de.runSync(Xt.make()),this.jobFibers=de.runSync(Xt.extend(Wr.make(),this.workerScope)),this.pollFiber=de.runFork(this.runPollingLoop())}stop(){return this.requestTransition("stop",!0)}async stopWorker(e){if(!this.isRunning){this.logger.warn("Worker is not running");return}if(this.logger.debug("Stopping JobQueueWorker"),this.shouldStop=!0,e.awaitInFlightPoll&&this.pollFiber){let n=this.pollFiber;await de.runPromise(oi.interrupt(n)),this.pollFiber=null}if(e.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 de.runPromise(Wr.awaitEmpty(this.jobFibers));await this.closeWorkerScope(),await this.stopWorkerHeartbeat();let t=this.workerSessionId;if(this.workerSessionId=null,t)await this.jobQueueService.endWorkerSession(this.config.workerSlotId,t);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 e=this.config.concurrency-this.activeJobs.size;if(e<=0)return;if(this.config.maxJobs>0){let n=this.stats.processedJobs+this.stats.failedJobs,r=this.config.maxJobs-n-this.activeJobs.size;if(r<=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}e=Math.min(e,r)}let t=this.jobFibers;if(!t)throw Error("Worker job fiber scope is not available");for(let n=0;n<e;n++){if(this.isStopRequested())break;let r=this.workerSessionId;if(!r)throw Error("Worker session is not available");let o=await this.jobQueueService.dequeue({workerSlotId:this.config.workerSlotId,workerSessionId:r,leaseDurationMs:this.config.leaseDurationMs});if(!o)break;this.activeJobs.add(o.id),await de.runPromise(Wr.run(t,o.id,de.promise(()=>this.processJobWrapper(o))))}}catch(e){this.logger.error("Error processing available jobs",{error:e}),this.stats.lastError=et(e)}}async processJobWrapper(e){let t=e.id;try{this.logger.debug("Processing job",{jobId:t,type:e.type,priority:e.priority,retryCount:e.retryCount});let n=await this.processJob(e);if(n.status==="completed")this.stats.processedJobs++,this.logger.debug("Job completed successfully",{jobId:t,type:n.type});else this.stats.failedJobs++,this.logger.warn("Job failed",{jobId:t,type:n.type,error:n.error})}catch(n){this.stats.failedJobs++,this.logger.error("Error processing job",{jobId:t,type:e.type,error:n}),this.stats.lastError=et(n)}finally{this.activeJobs.delete(t)}}runPollingLoop(){let t=de.suspend(()=>{if(!this.isWorkerRunning()||this.isStopRequested())return de.interrupt;return this.currentPoll=this.processAvailableJobs(),de.promise(()=>this.currentPoll??Promise.resolve()).pipe(de.andThen(de.suspend(()=>(this.currentPoll=null,!this.isWorkerRunning()||this.isStopRequested()?de.interrupt:de.void))))}).pipe(de.schedule(Ts.spaced(this.config.pollInterval)),de.asVoid);return(this.clock?de.withClock(t,this.clock):t).pipe(de.ensuring(de.sync(()=>{this.pollFiber=null})))}requestTransition(e,t){let n=this.transitionQueue.at(-1)??this.activeTransition;if(n?.kind===e)return n.promise;let r=()=>{return},o=()=>{return},i=new Promise((c,l)=>{r=c,o=l}),s={kind:e,awaitInFlightPoll:t,promise:i,resolve:r,reject:o};return this.transitionQueue.push(s),this.runNextTransition(),i}runNextTransition(){if(this.activeTransition)return;let e=this.transitionQueue.shift();if(!e)return;this.activeTransition=e,(e.kind==="start"?this.startWorker():this.stopWorker({awaitInFlightPoll:e.awaitInFlightPoll})).then(()=>this.completeTransition(e,!0),(n)=>this.completeTransition(e,!1,n))}completeTransition(e,t,n){if(this.activeTransition!==e)return;if(this.activeTransition=null,t)e.resolve();else e.reject(n);queueMicrotask(()=>this.runNextTransition())}async closeWorkerScope(){let e=this.workerScope;if(this.workerScope=null,this.jobFibers=null,e)await de.runPromise(Xt.close(e,jt.void))}startHeartbeatLoop(e){let t=null,n=!1,r=setInterval(()=>{if(n||t)return;t=e.beat().then((o)=>{if(!o)e.onStale()}).catch(e.onError).finally(()=>{t=null})},Math.max(1,e.intervalMs));return async()=>{if(n)return;n=!0,clearInterval(r),await t}}startWorkerHeartbeat(){this.workerHeartbeatStop=this.startHeartbeatLoop({intervalMs:this.config.workerHeartbeatIntervalMs,beat:async()=>{let e=this.workerSessionId;if(!e)return!0;return this.jobQueueService.heartbeatWorkerSession(this.config.workerSlotId,e,this.config.workerSessionTimeoutMs)},onStale:()=>this.markUnhealthy("Worker session was superseded"),onError:(e)=>this.markUnhealthy(`Worker session heartbeat failed: ${et(e)}`)})}async stopWorkerHeartbeat(){await this.workerHeartbeatStop?.(),this.workerHeartbeatStop=null}startAttemptHeartbeat(e,t){let n=e.attemptId;if(!n)return async()=>{return};return this.startHeartbeatLoop({intervalMs:this.config.attemptHeartbeatIntervalMs,beat:()=>this.jobQueueService.renewAttemptLease(e.id,n,this.config.leaseDurationMs),onStale:()=>{let r=Error("Job attempt was superseded");t.abort(r),this.markUnhealthy(r.message)},onError:(r)=>{let o=Rm(r);t.abort(o),this.markUnhealthy(`Attempt lease heartbeat failed: ${o.message}`)}})}markUnhealthy(e){if(!this.stats.isHealthy)return;this.stats.isHealthy=!1,this.stats.unhealthyReason=e,this.stats.lastError=e,this.shouldStop=!0,this.logger.error("Job queue worker is unhealthy",{reason:e});try{this.config.onUnhealthy(e)}catch(t){this.logger.error("Job queue worker unhealthy callback failed",{reason:e,error:et(t)})}}async raceOutcome(e,t){let n,r=new Promise((o)=>{n=setTimeout(()=>o({kind:"timeout"}),Math.max(1,t))});try{return await Promise.race([e,r])}finally{if(n)clearTimeout(n)}}async executeWithDeadline(e,t,n,r){let o=Promise.resolve().then(r).then((l)=>({kind:"success",value:l}),(l)=>({kind:"failure",error:l})),i=await this.raceOutcome(o,t);if(i.kind!=="timeout"){if(i.kind==="failure")throw i.error;return i.value}let s=new B5(e,t);if(n.abort(s),(await this.raceOutcome(o,this.config.cancellationGraceMs)).kind!=="timeout")throw s;throw this.markUnhealthy(`${s.message}; handler ignored cancellation grace`),await o,s}processJob(e){let t=e.metadata.provenance??{rootJobId:e.metadata.rootJobId,causationId:e.id,projectionLineage:[],derivationDepth:0};return this.operationContext.run(t,e.id,()=>this.processJobWithinContext(e))}async processJobWithinContext(e){let t=e.attemptId;if(!t){let c=Error(`Claimed job ${e.id} has no attempt fencing token`);return this.markUnhealthy(c.message),{jobId:e.id,type:e.type,status:_e.FAILED,error:c.message}}let n=this.jobQueueService.getHandler(e.type);if(!n){let c=Error(`No handler registered for job type: ${e.type}`);return await this.jobQueueService.fail(e.id,c,t),{jobId:e.id,type:e.type,status:_e.FAILED,error:c.message}}let r=new AbortController,o=this.startAttemptHeartbeat(e,r),i=!1,s=async()=>{if(i)return;i=!0,await o()};try{this.logger.debug("Processing job",{jobId:e.id,type:e.type,attemptId:t});let c=JSON.parse(e.data),l=n.validateAndParse(c);if(l===null)throw Error(`Invalid job data for type: ${e.type}`);let u=this.progressMonitor.createProgressReporter(e.id,t),p=n.executionTimeoutMs??this.config.defaultExecutionTimeoutMs,d=await this.executeWithDeadline(e.type,p,r,()=>n.process(l,e.id,u,r.signal));await s();let g=s_.safeParse(d);if(g.success){let v=g.data.error??"Handler returned failure",w=Error(v);if(await this.jobQueueService.fail(e.id,w,t))await this.emitTerminalFailure(e,w,n,t);return{jobId:e.id,type:e.type,status:_e.FAILED,error:v}}if(!await this.jobQueueService.complete(e.id,d,t))return{jobId:e.id,type:e.type,status:_e.FAILED,error:"Job attempt no longer owns the claim"};return await this.runHandlerSuccessCallback(n,e,t),await this.progressMonitor.handleJobStatusChange(e.id,"completed",e.metadata),{jobId:e.id,type:e.type,status:_e.COMPLETED,result:d}}catch(c){let l=Rm(c);if(await s(),await this.runHandlerErrorCallback("onError",n,e,l,t),await this.jobQueueService.fail(e.id,l,t))await this.emitTerminalFailure(e,l,n,t);return{jobId:e.id,type:e.type,status:_e.FAILED,error:l.message}}}async runHandlerSuccessCallback(e,t,n){let r=e.onTerminalSuccess;if(!r)return;try{let o=e.validateAndParse(JSON.parse(t.data));if(o===null)return;let i=this.progressMonitor.createProgressReporter(t.id,n),s=new AbortController;await this.executeWithDeadline(`${t.type}:onTerminalSuccess`,this.config.errorCallbackTimeoutMs,s,()=>r.call(e,o,t.id,i,s.signal))}catch(o){this.logger.error("Terminal job success callback failed",{jobId:t.id,type:t.type,error:o})}}async emitTerminalFailure(e,t,n,r){if((await this.jobQueueService.getStatus(e.id))?.status!==_e.FAILED)return;await this.runHandlerErrorCallback("onTerminalError",n,e,t,r),await this.progressMonitor.handleJobStatusChange(e.id,"failed",e.metadata)}async runHandlerErrorCallback(e,t,n,r,o){let i=t[e];if(!i)return;try{let s=t.validateAndParse(JSON.parse(n.data));if(s===null)return;let c=this.progressMonitor.createProgressReporter(n.id,o),l=new AbortController;await this.executeWithDeadline(`${n.type}:${e}`,this.config.errorCallbackTimeoutMs,l,()=>i.call(t,r,s,n.id,c,l.signal))}catch(s){this.logger.error(e==="onError"?"Job handler error callback failed":"Job handler terminal error callback failed",{jobId:n.id,error:s})}}}var LEe=86400000,L5=3600000;class d_{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh(e,t,n){return new d_(e,t,n)}constructor(e,t,n){this.jobQueue=e,this.logger=t,this.clock=n?.clock}start(e=L5){return this.requestTransition("start",e)}stop(){return this.requestTransition("stop",L5)}async startCleanup(e){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=de.runFork(this.runCleanupLoop(e))}runCleanupLoop(e){let t=this.cleanupTerminalBatchMetadata().pipe(de.schedule(Ts.spaced(e)),de.asVoid);return this.clock?de.withClock(t,this.clock):t}scheduleTerminalBatchCleanup(){if(!this.acceptingCleanup)return;this.cleanupSupervisor??=this.createCleanupSupervisor();let e=de.runFork(this.cleanupTerminalBatchMetadata());Lu.unsafeAdd(this.cleanupSupervisor.fibers,e)}async stopCleanup(){this.acceptingCleanup=!1;let e=this.cleanupFiber;if(this.cleanupFiber=null,e)await de.runPromise(oi.interrupt(e));let t=this.cleanupSupervisor;if(t)await de.runPromise(Lu.awaitEmpty(t.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(t)await de.runPromise(Xt.close(t.scope,jt.void)),this.cleanupSupervisor=null}requestTransition(e,t){let n=this.transitionQueue.at(-1)??this.activeTransition;if(n?.kind===e)return n.promise;let r=()=>{return},o=()=>{return},i=new Promise((c,l)=>{r=c,o=l}),s={kind:e,intervalMs:t,promise:i,resolve:r,reject:o};return this.transitionQueue.push(s),this.runNextTransition(),i}runNextTransition(){if(this.activeTransition)return;let e=this.transitionQueue.shift();if(!e)return;this.activeTransition=e,(e.kind==="start"?this.startCleanup(e.intervalMs):this.stopCleanup()).then(()=>this.completeTransition(e,!0),(n)=>this.completeTransition(e,!1,n))}completeTransition(e,t,n){if(this.activeTransition!==e)return;if(this.activeTransition=null,t)e.resolve();else e.reject(n);queueMicrotask(()=>this.runNextTransition())}createCleanupSupervisor(){let e=de.runSync(Xt.make()),t=de.runSync(Xt.extend(Lu.make(),e));return{scope:e,fibers:t}}cleanupTerminalBatchMetadata(){return de.tryPromise({try:()=>{let e=this.cleanup(LEe);return this.inFlightCleanups.add(e),e.then(()=>this.inFlightCleanups.delete(e),()=>this.inFlightCleanups.delete(e)),e},catch:(e)=>e}).pipe(de.asVoid,de.catchAll((e)=>de.sync(()=>{this.logger.warn("Failed to clean up terminal batch metadata",{error:e})})))}validateOperations(e){for(let t of e){let n=this.jobQueue.getValidator(t.type);if(!n)throw Error(`No job type declared: ${t.type}`);if(n.validateAndParse(t.data)===null)throw Error(`Invalid job data for type: ${t.type}`)}}async enqueueBatch(e,t,n,r){if(e.length===0)throw Error("Cannot enqueue empty batch");this.validateOperations(e);let o=[];this.batches.set(n,{jobIds:o,operations:e,source:t.source,startedAt:new Date().toISOString(),metadata:{...t.metadata,rootJobId:n}});try{for(let i of e){let s={...t,rootJobId:n,metadata:{...t.metadata,operationTarget:i.type}},c=await this.jobQueue.enqueue({type:i.type,data:i.data,options:s});o.push(c)}return this.logger.debug("Enqueued batch operations",{batchId:n,operationCount:e.length,jobIds:o,rootJobId:n}),this.scheduleTerminalBatchCleanup(),n}catch(i){throw this.batches.delete(n),this.logger.error("Failed to enqueue batch operations",{error:i,operationCount:e.length,enqueuedJobs:o.length}),i}}async getBatchStatus(e){let t=this.batches.get(e);if(!t)return null;try{let n=await Promise.all(t.jobIds.map((u)=>this.jobQueue.getStatus(u))),r=0,o=0,i=0,s=[];for(let[u,p]of n.entries()){if(!p){o++;let d=t.operations[u],g=t.jobIds[u]??"unknown";s.push(`Missing job ${g}${d?` for ${d.type}`:""}`);continue}switch(p.status){case"completed":r++;break;case"failed":if(o++,p.lastError)s.push(p.lastError);break;case"processing":case"pending":i++;break}}i+=t.operations.length-t.jobIds.length;let c;if(i>0)c=_e.PROCESSING;else if(o>0)c=_e.FAILED;else c=_e.COMPLETED;if(t.terminalAt===void 0&&(c===_e.COMPLETED||c===_e.FAILED))t.terminalAt=Date.now();let l;for(let u=0;u<t.jobIds.length;u++){let p=n[u];if(p&&p.status!=="completed"&&p.status!=="failed"){let d=t.operations[u];if(d)l=`Processing ${d.type}`;break}}return{batchId:e,totalOperations:t.operations.length,completedOperations:r,failedOperations:o,errors:s,status:c,currentOperation:l,metadata:t.metadata}}catch(n){throw this.logger.error("Failed to get batch status",{batchId:e,error:n}),n}}inspectRetention(e){let t=this.batches.get(e);return t?{terminalAt:t.terminalAt}:void 0}async cleanup(e){let t=Date.now()-e,n=0;for(let[r,o]of this.batches.entries()){if(o.terminalAt!==void 0){if(o.terminalAt<=t)this.batches.delete(r),n++;continue}if(new Date(o.startedAt).getTime()<=t){let s=await this.getBatchStatus(r);if(s&&(s.status===_e.COMPLETED||s.status===_e.FAILED))this.batches.delete(r),n++}}return this.logger.debug("Cleaned up batch metadata",{cleaned:n}),n}registerBatch(e,t,n,r,o){this.batches.set(e,{jobIds:t,operations:n,source:r,startedAt:new Date().toISOString(),metadata:o}),this.logger.debug("Registered batch metadata",{batchId:e,operationCount:n.length,jobIds:t})}async getActiveBatches(){let e=[];try{for(let[t,n]of this.batches){let r=await this.getBatchStatus(t);if(r&&(r.status==="pending"||r.status==="processing"))e.push({batchId:t,status:r,metadata:{operations:n.operations,source:n.source,startedAt:n.startedAt,metadata:n.metadata}})}return this.logger.debug("Retrieved active batches",{count:e.length}),e}catch(t){throw this.logger.error("Failed to get active batches",{error:t}),t}}}var qEe=a.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},a.record(a.string(),a.unknown()));class m_{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};polling=!1;static createFresh(e,t,n,r,o="combined"){return new m_(e,t,n,r,o)}constructor(e,t,n,r,o){this.jobQueueService=e,this.messageBus=t,this.batchJobManager=n,this.logger=r,this.mode=o}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 e=await this.jobQueueService.getRuntimeUpdates(this.pollCursor,100);for(let t of e)if(this.pollCursor=t.cursor,t.job.status==="processing"&&t.job.progress)await this.publishJobProgress(t.job,t.job.progress);else if(t.job.status==="completed"||t.job.status==="failed")await this.handleJobStatusChange(t.job.id,t.job.status,t.job.metadata)}catch(e){this.logger.error("Failed to poll durable job progress",{error:e})}finally{this.polling=!1}}createProgressReporter(e,t){let n=Ka.from(async(r)=>{await this.emitJobProgress(e,r,t)});if(!n)throw Error("Failed to create ProgressReporter");return n}async emitBatchProgress(e,t,n){try{let r={totalOperations:t.totalOperations,completedOperations:t.completedOperations,failedOperations:t.failedOperations,currentOperation:t.currentOperation??"Processing batch...",errors:t.errors},o={id:e,type:"batch",status:t.status,metadata:n,batchDetails:r};if(t.totalOperations>0)o.progress={current:t.completedOperations,total:t.totalOperations,percentage:Math.round(t.completedOperations/t.totalOperations*100)};await this.messageBus.send({type:cy.progress,payload:o,sender:"job-progress-monitor",broadcast:!0}),this.logger.debug("Emitted batch progress update",{batchId:e,status:t.status,progress:`${t.completedOperations}/${t.totalOperations}`})}catch(r){this.logger.error("Error emitting batch progress update",{batchId:e,error:r})}}isBatchChild(e,t){return!!t&&t!==e}get publishesEvents(){return this.mode!=="durable-writer"}async broadcastEvent(e){await this.messageBus.send({type:cy.progress,payload:e,sender:"job-progress-monitor",broadcast:!0})}async emitJobProgress(e,t,n){try{if(n&&!await this.jobQueueService.recordAttemptProgress(e,n,t)){this.logger.debug("Discarding progress from obsolete job attempt",{jobId:e,attemptId:n});return}if(!this.publishesEvents)return;let r=await this.jobQueueService.getStatus(e);if(!r){this.logger.warn("Job not found for progress update",{jobId:e});return}await this.publishJobProgress(r,t)}catch(r){this.logger.error("Error emitting job progress",{jobId:e,error:r})}}async publishJobProgress(e,t){if(e.metadata.silent)return;if(this.isBatchChild(e.id,e.metadata.rootJobId))return;let n=t.total??0,r={id:e.id,type:"job",status:"processing",metadata:e.metadata,message:t.message};if(n>0)r.progress={current:t.progress,total:n,percentage:Math.round(t.progress/n*100)};await this.broadcastEvent(r)}async emitJobCompletion(e){await this.emitJobStatusEvent(e,"completed")}async emitJobFailure(e){await this.emitJobStatusEvent(e,"failed")}async emitJobStatusEvent(e,t){if(!this.publishesEvents)return;try{let n=await this.jobQueueService.getStatus(e);if(!n){this.logger.warn(`Cannot emit ${t} for unknown job`,{jobId:e});return}if(n.metadata.silent)return;if(this.isBatchChild(e,n.metadata.rootJobId)){this.logger.debug(`Skipping individual job ${t} for batch operation`,{jobId:e,rootJobId:n.metadata.rootJobId});return}let r={id:e,type:"job",status:t,message:this.extractStatusMessage(n,t),metadata:n.metadata,jobDetails:{jobType:n.type,priority:n.priority,retryCount:n.retryCount}};await this.broadcastEvent(r),this.logger.debug(`Emitted job ${t} event`,{jobId:e})}catch(n){this.logger.error(`Error emitting job ${t} event`,{jobId:e,error:n})}}extractStatusMessage(e,t){if(t==="failed")return e.lastError??void 0;if(!e.result)return;try{let n=qEe.parse(e.result),r=n.message;if(r)return String(r);let o=n.routesBuilt;if(o!==void 0)return`${o} routes built`}catch{}return}getStats(){return{isRunning:!0}}async handleJobStatusChange(e,t,n){if(!this.publishesEvents)return;let r=n?ap.safeParse(n):void 0,o=r?.success?r.data:void 0;if(o?.silent)return;try{if(await this.emitJobStatusEvent(e,t),o&&this.isBatchChild(e,o.rootJobId))try{let i=o.rootJobId,s=await this.batchJobManager.getBatchStatus(i);if(s){let c=s.metadata??o;await this.emitBatchProgress(i,s,c)}}catch(i){this.logger.warn("Failed to emit batch progress",{jobId:e,rootJobId:o.rootJobId,error:i})}}catch(i){this.logger.error("Failed to handle job status change",{jobId:e,status:t,error:i})}}}var ZEe=a.record(a.string(),a.unknown());class ly{logger;schema;jobTypeName;executionTimeoutMs;constructor(e,t){this.logger=e,this.schema=t.schema,this.jobTypeName=t.jobTypeName,this.executionTimeoutMs=t.executionTimeoutMs}validateAndParse(e){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);let t=this.schema.safeParse(e);if(!t.success)return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:e,validationError:t.error.issues}),null;return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog(t.data)}),t.data}async onError(e,t,n,r,o){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:n,errorMessage:e.message,errorStack:e.stack,data:this.summarizeDataForLog(t)})}async reportProgress(e,t){await e.report({progress:t.progress,total:t.total??100,message:t.message})}summarizeDataForLog(e){let t=ZEe.safeParse(e);return t.success?t.data:{}}}function uy(e,t,n){return async(r)=>{let{type:o,data:i,toolContext:s=null,options:c,projection:l}=r,u=s?q5(s):void 0,{metadata:p,...d}=c??{},g={operationType:"data_processing",pluginId:t,...p,...s&&{interfaceType:s.interfaceType,conversationId:s.conversationId,channelId:s.channelId,requestedByActor:s.actor,...u?{requestedByUserId:u}:{},requestedByInterface:s.interfaceType,...s.progressToken!==void 0&&{progressToken:s.progressToken}}};if(s&&!u)delete g.requestedByUserId;let f={...d,source:t,...c?.rootJobId&&{rootJobId:c.rootJobId},...l&&{projection:l},metadata:g},v=n&&!o.includes(":")?`${t}:${o}`:o;return e.enqueue({type:v,data:i,options:f})}}function f_(e,t){return async(n,r)=>{let o=r?.rootJobId??At(),i=n.map((c)=>({...c,type:c.type.includes(":")?c.type:`${t}:${c.type}`})),s={...r,source:t,rootJobId:o,metadata:{...r?.metadata,operationType:"batch_processing",pluginId:t}};return await e.enqueueBatch(i,s,o,t),o}}function g_(e,t){return(n,r)=>{let o=n.includes(":")?n:`${t}:${n}`;e.registerHandler(o,r,t)}}var $Ee=a.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e)),UEe=a.object({name:a.string(),schema:$Ee});function Z5(e){return UEe.safeParse(e).success}function WEe(e){if(!e)return;return{status:e.status,message:e.message,lastCheck:e.lastCheck?.toISOString(),details:e.details}}function $5(e){return{model:e.model,version:e.version,uptime:e.uptime,entities:e.entities,entityCounts:e.entityCounts,embeddings:e.embeddings,ai:e.ai,daemons:e.daemons.map((t)=>({name:t.name,pluginId:t.pluginId,status:t.status,health:WEe(t.health)})),endpoints:e.endpoints,interactions:e.interactions}}var U5={digest:"conversation:digest"};var W5=a.strictObject({messageCharacters:a.number().int().positive(),outputTokens:a.number().int().positive(),contextTokens:a.number().int().positive(),contextBytes:a.number().int().positive(),toolSteps:a.number().int().positive(),toolCalls:a.number().int().positive(),toolResultCharacters:a.number().int().positive(),retrieval:Hi,requestTimeoutSeconds:a.number().int().positive().max(2147483)}),h_=a.strictObject({limits:W5,maxCostMicroUsd:a.number().int().positive()});var HEe="/api/chat",fo="web-chat-guest",xT=a.strictObject({idleSeconds:a.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000)),maxAgeSeconds:a.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000))}).refine((e)=>e.idleSeconds<=e.maxAgeSeconds,"Guest idle expiry must not exceed maximum age"),ST=a.strictObject({visitorId:a.string().uuid(),retention:xT}),Je=a.string().trim().min(1).max(256),Ont="x-brain-conversation-id",Dnt=a.strictObject({expiresAt:a.number().int().positive(),provider:a.string().min(1),notice:a.string().min(1),deletionLimitations:a.string().min(1),retention:xT,messageCharacters:a.number().int().positive(),canSend:a.boolean(),presentation:J5.optional()}),JEe=a.strictObject({conversationId:Je,state:a.enum(["active","completed","failed","interrupted","uncertain"])}),G5=a.string().regex(/^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),y_=a.string().trim().min(1).max(48),b_=a.string().datetime(),H5=a.string().regex(/^\/(?!\/)/).max(2048),Pm=a.string().regex(/^(?:\/(?!\/)|https?:\/\/)/).max(2048),VEe=a.looseObject({kind:a.literal("tool-approval"),id:Je,toolCallId:Je.optional(),toolName:a.string().trim().min(1).max(256),input:a.record(a.string(),a.unknown()).optional(),summary:a.string().max(4096),completionSummary:a.string().max(4096).optional(),preview:a.string().max(1e5).optional(),state:a.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),output:a.unknown().optional(),error:a.string().max(4096).optional()}),GEe=a.looseObject({entityType:a.string().trim().min(1).max(128).optional(),entityId:Je.optional(),attachmentType:a.string().trim().min(1).max(128).optional()}),QEe=a.looseObject({mediaType:a.string().trim().min(1).max(255),url:Pm,downloadUrl:Pm.optional(),previewUrl:Pm.optional(),filename:a.string().trim().min(1).max(255).optional(),sizeBytes:a.number().int().nonnegative().optional(),source:GEe.optional()}),Q5=a.looseObject({kind:a.literal("attachment"),id:Je,jobId:Je.optional(),title:a.string().max(4096),description:a.string().max(20000).optional(),attachment:QEe}),KEe=a.looseObject({id:Je,title:a.string().max(4096).optional(),source:a.string().trim().min(1).max(512),url:Pm.optional(),entityType:a.string().trim().min(1).max(128).optional(),entityId:Je.optional(),excerpt:a.string().max(20000).optional(),provenance:a.record(a.string(),a.unknown()).optional()}),x_=a.looseObject({kind:a.literal("sources"),id:Je,title:a.string().max(4096).optional(),sources:a.array(KEe).min(1).max(100)}),YEe=a.discriminatedUnion("type",[a.object({type:a.literal("prompt"),id:Je,label:a.string().trim().min(1).max(256),prompt:a.string().min(1).max(1e5),description:a.string().max(4096).optional()}),a.object({type:a.literal("event"),id:Je,label:a.string().trim().min(1).max(256),event:a.string().trim().min(1).max(256),fromState:a.string().trim().min(1).max(256).optional(),description:a.string().max(4096).optional()})]),K5=a.looseObject({kind:a.literal("actions"),id:Je,title:a.string().max(4096).optional(),actions:a.array(YEe).min(1).max(100)}),Y5=a.discriminatedUnion("kind",[VEe,Q5,x_,K5]);function Mnt(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e.slice(0,10)){let o=x_.safeParse(r);if(!o.success||o.data.id!=="sources:tool-results")continue;for(let i of o.data.sources){if(t.length>=15)break;if(!i.entityType||!i.entityId||i.entityId.length>256||i.source!==i.entityType||i.id!==`${i.entityType}:${i.entityId}`||n.has(i.id))continue;n.add(i.id);let s;if(i.url&&i.url.length<=512)try{let c=new URL(i.url);if(c.protocol==="https:"&&!c.username&&!c.password&&c.href.length<=512)s=c.href}catch{}t.push({id:i.id,source:i.entityType,entityType:i.entityType,entityId:i.entityId,title:(i.title??i.entityId).slice(0,160),...i.excerpt?{excerpt:i.excerpt.slice(0,280)}:{},...s?{url:s}:{}})}}return t.length?[{kind:"sources",id:"sources:tool-results",title:"Retrieved sources",sources:t}]:[]}var XEe=a.object({id:Je,toolCallId:Je.optional(),toolName:a.string().trim().min(1).max(256),summary:a.string().max(4096),completionSummary:a.string().max(4096).optional(),preview:a.string().max(1e5).optional(),args:a.unknown()}),X5=a.object({toolName:a.string().trim().min(1).max(256),args:a.record(a.string(),a.unknown()).optional(),jobId:Je.optional(),data:a.unknown().optional(),error:a.object({message:a.string().max(4096),code:a.string().trim().min(1).max(256).optional()}).optional()}),_nt=a.looseObject({text:a.string().max(1e6),toolResults:a.array(X5).max(100).optional(),cards:a.array(Y5).max(100).optional(),pendingConfirmations:a.array(XEe).max(100).optional(),usage:a.object({promptTokens:a.number().int().nonnegative(),completionTokens:a.number().int().nonnegative(),totalTokens:a.number().int().nonnegative()})});function znt(e=HEe){let t=eIe(e);return{stream:t,actions:`${t}/actions`,sessions:`${t}/sessions`,sessionArchive:`${t}/sessions/archive`,messages:`${t}/messages`,uploads:`${t}/uploads`,contextSessions:`${t}/context-sessions`,documentAttachments:`${t}/attachments/document`,imageAttachments:`${t}/attachments/image`,jobStatus:`${t}/jobs/status`}}function eIe(e){let t=e.trim();if(!t.startsWith("/")||t.startsWith("//")||t.length>512||/[\s"'<>\\]/u.test(t)||t.includes("?")||t.includes("#"))throw Error("Chat API path must be a same-origin absolute path without query or fragment");let n=t.replace(/\/+$/,"");if(n.length===0)throw Error("Chat API path must not be the site root");return n}var tIe=a.strictObject({version:a.literal(1),sourceId:a.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:a.string().trim().min(1).max(300),titleSeed:a.string().trim().min(1).max(160).refine((e)=>!/[\p{Cc}\p{Cf}]/u.test(e))}),Fnt=a.object({query:a.string().trim().max(200).default(""),archived:a.boolean().default(!1),offset:a.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).default(0),limit:a.number().int().min(1).max(100).default(25)}),nIe=a.looseObject({id:Je,title:y_,lastActiveAt:b_,archived:a.boolean().optional(),contextHandoff:tIe.optional()}),Nnt=a.looseObject({sessions:a.array(nIe).max(100)}),rIe=a.looseObject({kind:a.string().trim().min(1).max(64),id:Je}),oIe=a.looseObject({kind:a.literal("text"),filename:a.string().trim().min(1).max(255),mediaType:a.string().trim().min(1).max(255),sizeBytes:a.number().int().nonnegative(),createdAt:b_,source:rIe.optional()}),e4=a.looseObject({id:Je,role:a.enum(["user","assistant"]),content:a.string().max(1e6),attachments:a.array(oIe).max(100).optional(),cards:a.array(Y5).max(100).optional()}),jnt=a.looseObject({messages:a.array(e4).max(100)}),Bnt=a.string().min(1).max(256).refine((e)=>e.trim().length>0),Lnt=a.strictObject({messages:a.array(e4).max(100),submission:JEe.nullable()}),qnt=a.object({type:a.literal("text"),text:a.string().max(1e6)}),Znt=a.object({type:a.literal("file"),mediaType:a.string().trim().min(1).max(255).optional(),filename:a.string().trim().min(1).max(255).optional(),url:a.string().min(1).max(2000000)}),t4=a.object({kind:a.literal("upload"),id:G5}),$nt=a.object({type:a.literal("data-upload"),data:a.looseObject({ref:t4})}),iIe=a.object({id:Je,approved:a.boolean(),toolCallId:Je.optional(),toolName:a.string().trim().min(1).max(256).optional(),input:a.record(a.string(),a.unknown()).optional(),title:a.string().max(4096).optional()}),Unt=a.looseObject({state:a.literal("approval-responded"),toolCallId:Je.optional(),toolName:a.string().trim().min(1).max(256).optional(),input:a.record(a.string(),a.unknown()).optional(),title:a.string().max(4096).optional(),approval:iIe}),sIe=a.object({id:Je.optional(),role:a.enum(["user","assistant","system"]),parts:a.array(a.unknown()).max(1000).optional(),content:a.string().max(1e6).optional()}),aIe=(e)=>a.string().trim().min(1).max(e).refine((t)=>!/[\p{Cc}\p{Cf}]/u.test(t)),cIe=a.strictObject({sourceId:a.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:a.string().trim().min(1).max(300),label:aIe(160)}),Wnt=a.object({id:Je.optional(),messages:a.array(sIe).min(1).max(200),trigger:a.string().trim().min(1).max(64).optional(),inboxContext:cIe.optional()}).strict(),Hnt=a.strictObject({id:Je.optional(),messages:a.array(a.strictObject({id:Je,role:a.literal("user"),parts:a.array(a.strictObject({type:a.literal("text"),text:a.string()})).min(1).max(16)})).length(1)}),n4=a.enum(["pending","processing","completed","failed"]),lIe=a.looseObject({type:a.enum(["job","batch"]),status:n4,operationType:a.enum(["file_operations","content_operations","data_processing","batch_processing"]),operationTarget:a.string().max(1024).optional(),message:a.string().max(4096).optional(),progress:a.object({current:a.number().nonnegative(),total:a.number().nonnegative(),percentage:a.number().min(0).max(100)}).optional()}),uIe=a.looseObject({status:a.enum(["tool-running","tool-completed","tool-awaiting-approval","tool-failed"]),toolName:a.string().trim().min(1).max(256),error:a.string().max(4096).optional()}),Jnt=a.discriminatedUnion("type",[a.looseObject({type:a.literal("start"),messageId:Je.optional()}),a.looseObject({type:a.literal("start-step")}),a.looseObject({type:a.literal("finish-step")}),a.looseObject({type:a.literal("finish"),finishReason:a.enum(["length","error","stop","content-filter","tool-calls","other"]).optional()}),a.looseObject({type:a.literal("abort"),reason:a.string().max(4096).optional()}),a.looseObject({type:a.literal("error"),errorText:a.string().max(20000)}),a.looseObject({type:a.literal("text-start"),id:Je}),a.looseObject({type:a.literal("text-delta"),id:Je,delta:a.string().max(1e6)}),a.looseObject({type:a.literal("text-end"),id:Je}),a.looseObject({type:a.literal("reasoning-start"),id:Je}),a.looseObject({type:a.literal("reasoning-delta"),id:Je,delta:a.string().max(1e6)}),a.looseObject({type:a.literal("reasoning-end"),id:Je}),a.looseObject({type:a.literal("tool-input-start"),toolCallId:Je,toolName:a.string().trim().min(1).max(256),title:a.string().max(4096).optional()}),a.looseObject({type:a.literal("tool-input-delta"),toolCallId:Je,inputTextDelta:a.string().max(1e6)}),a.looseObject({type:a.literal("tool-input-available"),toolCallId:Je,toolName:a.string().trim().min(1).max(256),input:a.unknown(),title:a.string().max(4096).optional()}),a.looseObject({type:a.literal("tool-input-error"),toolCallId:Je,toolName:a.string().trim().min(1).max(256),input:a.unknown(),errorText:a.string().max(20000),title:a.string().max(4096).optional()}),a.looseObject({type:a.literal("tool-approval-request"),approvalId:Je,toolCallId:Je}),a.looseObject({type:a.literal("tool-output-available"),toolCallId:Je,output:a.unknown(),preliminary:a.boolean().optional()}),a.looseObject({type:a.literal("tool-output-error"),toolCallId:Je,errorText:a.string().max(20000)}),a.looseObject({type:a.literal("tool-output-denied"),toolCallId:Je}),a.looseObject({type:a.literal("source-url"),sourceId:Je,url:Pm,title:a.string().max(4096).optional()}),a.looseObject({type:a.literal("source-document"),sourceId:Je,mediaType:a.string().trim().min(1).max(255),title:a.string().max(4096),filename:a.string().trim().min(1).max(255).optional()}),a.looseObject({type:a.literal("file"),url:Pm,mediaType:a.string().trim().min(1).max(255)}),a.looseObject({type:a.literal("data-progress"),id:Je.optional(),data:lIe,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-status"),id:Je.optional(),data:uIe,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-tool-result"),id:Je.optional(),data:X5,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-actions"),id:Je.optional(),data:K5,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-sources"),id:Je.optional(),data:x_,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-attachment"),id:Je.optional(),data:Q5,transient:a.boolean().optional()})]),Vnt=a.strictObject({conversationId:Je}),Gnt=a.object({title:y_}).strict(),Qnt=a.object({renamed:a.boolean(),title:y_}),Knt=a.object({archived:a.boolean()}),Ynt=a.object({deleted:a.boolean()}),Xnt=a.object({conversationId:Je,action:V5}).strict(),ert=a.looseObject({id:Je,status:n4,message:a.string().max(4096).optional()}),trt=a.looseObject({id:G5,ref:t4,filename:a.string().trim().min(1).max(255),mediaType:a.string().trim().min(1).max(255),sizeBytes:a.number().int().nonnegative(),createdAt:b_,url:H5,downloadUrl:H5}).refine((e)=>e.id===e.ref.id,{path:["ref","id"],message:"Upload response ids must match"});var Ie=Bt("conversations",{id:le("id").primaryKey(),sessionId:le("session_id").notNull(),interfaceType:le("interface_type").notNull(),channelId:le("channel_id").notNull(),personId:le("person_id"),started:le("started").notNull(),lastActive:le("last_active").notNull(),metadata:le("metadata"),created:le("created").notNull(),updated:le("updated").notNull()},(e)=>({sessionIdx:Ft("idx_conversations_session").on(e.sessionId),channelIdx:Ft("idx_conversations_channel").on(e.channelId),personIdx:Ft("idx_conversations_person").on(e.personId),interfaceSessionIdx:Ft("idx_conversations_interface_session").on(e.interfaceType,e.sessionId),interfaceChannelIdx:Ft("idx_conversations_interface_channel").on(e.interfaceType,e.channelId)})),Nn=Bt("messages",{id:le("id").primaryKey(),conversationId:le("conversation_id").notNull().references(()=>Ie.id,{onDelete:"cascade"}),role:le("role").notNull(),content:le("content").notNull(),timestamp:le("timestamp").notNull(),metadata:le("metadata")},(e)=>({conversationIdx:Ft("idx_messages_conversation").on(e.conversationId),timestampIdx:Ft("idx_messages_timestamp").on(e.timestamp)})),cp=Bt("summary_tracking",{conversationId:le("conversation_id").primaryKey().references(()=>Ie.id,{onDelete:"cascade"}),lastSummarizedAt:le("last_summarized_at"),lastMessageId:le("last_message_id"),messagesSinceSummary:qe("messages_since_summary").default(0),updated:le("updated").notNull()});function r4(e){return Ui({url:e.url,schema:{conversations:Ie,messages:Nn,summaryTracking:cp},authToken:e.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var pIe=a.preprocess((e)=>{if(typeof e!=="string")return e;try{return JSON.parse(e)}catch{return}},a.record(a.string(),a.unknown())).catch({});function Xa(e){return pIe.parse(e)}var vT="conversation:messageAdded",S_="conversation:started",py=a.object({identity:Ns,interfaceType:a.string(),role:Gd,displayName:a.string().optional(),username:a.string().optional(),isBot:a.boolean().optional()}),dIe=a.preprocess(mIe,py);function mIe(e){if(!ui(e)||"identity"in e)return e;let{actorId:t,interfaceType:n,role:r}=e;if(typeof t!=="string"||typeof n!=="string"||r!=="user"&&r!=="assistant")return e;let{userId:o,canonicalId:i}=e;return{identity:o4({actorId:t,interfaceType:n,role:r,...typeof o==="string"?{userId:o}:{},...typeof i==="string"?{canonicalId:i}:{}}),interfaceType:n,role:r,...typeof e.displayName==="string"?{displayName:e.displayName}:{},...typeof e.username==="string"?{username:e.username}:{},...typeof e.isBot==="boolean"?{isBot:e.isBot}:{}}}var dy=a.object({messageId:a.string().optional(),channelId:a.string().optional(),channelName:a.string().optional(),threadId:a.string().optional(),metadata:a.record(a.string(),a.unknown()).optional()}),i4=a.looseObject({actor:dIe.optional(),source:dy.optional()});function s4(e){if(typeof e==="string")try{let t=JSON.parse(e);return ui(t)?t:null}catch{return null}return ui(e)?e:null}function fIe(e){if(e.role!=="assistant")return!1;if(e.content.trim().length===0)return!1;let t=s4(e.metadata),n=t?.entityMemoryRefs;if(Array.isArray(n)&&n.length>0)return!1;let r=t?.cards;if(!Array.isArray(r))return!0;return!r.some((o)=>{if(!ui(o))return!1;if(o.kind==="tool-approval")return!0;return o.kind==="actions"&&o.id==="actions:upload-intent"})}var gIe=a.object({id:a.string(),conversationId:a.string(),role:a.string(),content:a.string(),timestamp:a.string(),metadata:a.string().nullable()}),a4=a.object({conversationId:a.string(),messageCount:a.number(),messages:a.array(gIe),windowStart:a.number(),windowEnd:a.number(),windowSize:a.number(),timestamp:a.string()});var Gi=S`strftime('%Y-%m-%dT%H:%M:%fZ', 'now')`;function v_(){return l4(!1)}function c4(){return l4(!0)}function l4(e){let t=xT.shape.maxAgeSeconds.maxValue,n=S`(
164
+ 5. Structure your response clearly and concisely`,dataSourceId:"shell:ai-content",requiredPermission:"public",useKnowledgeContext:!0,schema:gT,formatter:new oy};var iEe=a.object({type:a.string().describe("Type of source (e.g., note, article)"),title:a.string().describe("Title or identifier of the source"),relevance:a.number().min(0).max(1).describe("Relevance score")}),v5=a.object({answer:a.string().describe("The answer to the user's query"),sources:a.array(iEe).optional().describe("Sources used to generate the answer"),confidence:a.enum(["high","medium","low"]).optional().describe("Confidence level of the answer"),suggestions:a.array(a.string()).optional().describe("Related topics or follow-up questions")});function Qa(e,t){return e.parse(t)}class Ka{callback;heartbeatInterval;constructor(e){this.callback=e}static from(e){if(!e)return;return new Ka(e)}static noop(){return new Ka(async()=>{})}createSub(e){let{scale:t}=e??{};if(t){let{start:n,end:r}=t,o=r-n;return new Ka(async(i)=>{let s=n+i.progress/(i.total??100)*o;await this.callback({...i,progress:s,total:100})})}return new Ka(this.callback)}async report(e){await this.callback(e)}startHeartbeat(e,t=5000){this.stopHeartbeat(),this.heartbeatInterval=setInterval(()=>{this.report({message:e,progress:0}).catch(()=>{})},t)}stopHeartbeat(){if(this.heartbeatInterval)clearInterval(this.heartbeatInterval),this.heartbeatInterval=void 0}toCallback(){return this.callback}}var aEe=a.object({enabled:a.boolean().describe("Whether the plugin is enabled"),debug:a.boolean().describe("Enable debug logging for this plugin")});function cEe(e){return e.map((t)=>`${t.path||"<root>"}: ${t.message}`).join("; ")}class iy extends Error{pluginId;issues;constructor(e,t){super(`Invalid plugin config for ${e} at ${cEe(t)}; correct the listed fields in brain.yaml or the package's use() configuration`);this.name="PluginConfigValidationError",this.pluginId=e,this.issues=t}}var lEe=a.object({toolName:a.string(),args:a.unknown(),progressToken:a.union([a.string(),a.number()]).optional(),hasProgress:a.boolean().optional(),interfaceType:a.string(),actor:Ns,displayName:a.string().optional(),conversationId:a.string().optional(),channelId:a.string().optional(),channelName:a.string().optional(),runId:a.string().optional(),toolCallId:a.string().optional(),userPermissionLevel:a.enum(["admin","trusted","public"]).optional(),isAnchor:a.boolean().optional(),signal:a.custom((e)=>e instanceof AbortSignal).optional()}),uEe=a.object({resourceUri:a.string()});class sp{id;version;description;packageName;config;context;get logger(){return this.context?.logger??pi.createFresh({context:this.id})}constructor(e,t,n,r){this.id=e,this.packageName=t.name,this.version=t.version,this.description=t.description??`${t.name} plugin`;let o=r.safeParse(n);if(!o.success)throw new iy(e,o.error.issues.map((i)=>({path:i.path.map(String).join("."),code:i.code,message:i.message})));this.config=o.data}setupMessageHandlers(e){e.messaging.subscribe(sy.toolExecute(this.id),async(t)=>{try{let n=lEe.safeParse(t.payload);if(!n.success)return{success:!1,error:"Invalid tool execution request format"};let{toolName:r,args:o,progressToken:i,hasProgress:s,interfaceType:c,actor:l,displayName:u,conversationId:p,channelId:d,channelName:g,runId:f,toolCallId:v,userPermissionLevel:w,isAnchor:I,signal:A}=n.data,N=(await this.getTools()).find((D)=>D.name===r);if(!N)return{success:!1,error:`Tool not found: ${r}`};let re={interfaceType:c,actor:l,...u&&{displayName:u},...p&&{conversationId:p},...d&&{channelId:d},...g&&{channelName:g},...f&&{runId:f},...v&&{toolCallId:v},...w&&{userPermissionLevel:w},...I!==void 0&&{isAnchor:I},...A&&{signal:A},...s&&i!==void 0&&{progressToken:i,sendProgress:async(D)=>{await e.messaging.send({type:sy.progress(this.id),payload:{progressToken:i,notification:D}})}}};return{success:!0,data:await N.handler(o,re)}}catch(n){return this.logger.error("Tool execution error",n),{success:!1,error:et(n)}}}),e.messaging.subscribe(sy.resourceGet(this.id),async(t)=>{try{let n=uEe.safeParse(t.payload);if(!n.success)return{success:!1,error:"Invalid resource get request format"};let{resourceUri:r}=n.data,i=(await this.getResources()).find((c)=>c.uri===r);if(!i)return{success:!1,error:`Resource not found: ${r}`};return{success:!0,data:await i.handler()}}catch(n){return this.logger.error("Resource fetch error",n),{success:!1,error:et(n)}}})}async onRegister(e){}async onRegistrationComplete(e){}async finalizeRegistration(){await this.onRegistrationComplete(this.getContext())}async onReady(e){}async ready(){await this.onReady(this.getContext())}async getCapabilities(){let e=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...e&&{instructions:e}}}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(e){return"public"}createProgressBridge(e){if(!e)return;let t=this.context;if(!t)return;let n=this.id;return Ka.from(async(r)=>{await t.messaging.send({type:sy.progress(n),payload:{progressToken:e,notification:{progress:r.progress,total:r.total,message:r.message}}})})}}var w5=a.object({id:a.string(),template:a.string(),content:a.unknown().optional(),dataQuery:a.looseObject({entityType:a.string().optional(),template:a.string().optional(),query:a.looseObject({id:a.string().optional(),limit:a.number().optional(),offset:a.number().optional()}).optional()}).optional(),order:a.number().optional()}),YM=["primary","secondary"],T5=a.object({show:a.boolean().default(!1),label:a.string().optional(),slot:a.enum(YM).default("primary"),priority:a.number().min(0).max(100).default(50)}).optional(),XM=a.object({id:a.string(),path:a.string(),title:a.string().default(""),pageLabel:a.string().optional(),description:a.string().default(""),sections:a.array(w5).default([]),layout:a.string().default("default"),fullscreen:a.boolean().optional(),pluginId:a.string().optional(),sourceEntityType:a.string().optional(),external:a.boolean().optional(),navigation:T5}),C5=a.object({routes:a.array(XM),pluginId:a.string()}),E5=a.object({paths:a.array(a.string()).optional(),pluginId:a.string().optional()}),I5=a.object({pluginId:a.string().optional()}),k5=a.object({path:a.string()}),hT=a.object({label:a.string(),href:a.string(),priority:a.number()});var pEe="site:metadata:get",dEe="site:metadata:updated",e_=a.object({heading:a.string().describe("Main CTA heading text"),buttonText:a.string().describe("Call-to-action button text"),buttonLink:a.string().describe("URL or anchor for the CTA button")}),R5=a.object({blurb:a.string().optional().describe("Short italic subtitle under the section title")}),yT=a.object({represents:a.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:a.string().describe("The site's title"),description:a.string().describe("The site's description"),url:a.string().optional().describe("Canonical site URL"),copyright:a.string().optional().describe("Copyright notice text"),logo:a.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:a.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:a.string().optional().describe("Analytics script HTML"),cta:e_.optional().describe("Call-to-action configuration"),sections:a.record(a.string(),R5).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 mEe=a.object({platform:a.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:a.string().describe("Profile or contact URL"),label:a.string().optional().describe("Optional display label")}),fEe=yT.extend({copyright:a.string(),navigation:a.object({primary:a.array(hT),secondary:a.array(hT)}),socialLinks:a.array(mEe).optional().describe("Social media links from profile metadata")});function ay(e,t){return t?e.nullable().default(null):e}function n_(e){switch(e.type){case"string":return ay(a.string(),e.optional);case"number":return ay(a.number(),e.optional);case"enum":return ay(a.enum(e.options),e.optional);case"object":{let t={};for(let[n,r]of Object.entries(e.fields))t[n]=n_(r);return ay(a.object(t),e.optional)}case"array":{let t=a.array(gEe(e));if(e.minItems!==void 0)t=t.min(e.minItems);if(e.length!==void 0)t=t.length(e.length);return ay(t,e.optional)}}}function gEe(e){let{items:t}=e;switch(t.type){case"string":return a.string();case"number":return a.number();case"enum":return a.enum(t.options);case"object":{let n={};for(let[r,o]of Object.entries(t.fields))n[r]=n_(o);return a.object(n)}}}function t_(e,t){switch(t.type){case"string":case"enum":return{key:e,label:t.label,type:"string"};case"number":return{key:e,label:t.label,type:"number"};case"object":return{key:e,label:t.label,type:"object",children:Object.entries(t.fields).map(([n,r])=>t_(n,r))};case"array":{let n={key:e,label:t.label,type:"array"};switch(t.items.type){case"string":case"enum":return n.itemType="string",n;case"number":return n.itemType="number",n;case"object":return n.itemType="object",n.itemMappings=Object.entries(t.items.fields).map(([r,o])=>t_(r,o)),n}}}}function P5(e,t){let n={};for(let[i,s]of Object.entries(t.fields))n[i]=n_(s);let r=a.object(n),o=new Im(r,{title:t.title,mappings:Object.entries(t.fields).map(([i,s])=>t_(i,s))});return{name:e,description:t.description,schema:r,formatter:o,requiredPermission:t.requiredPermission??"public",layout:{component:t.layout,...t.fullscreen!==void 0?{fullscreen:t.fullscreen}:{}},...t.runtimeScripts?{runtimeScripts:t.runtimeScripts}:{}}}function hEe(e){let t={};for(let[n,r]of Object.entries(e.sections))t[n]=P5(n,r);return t}var yEe=yT.omit({url:!0,analyticsScript:!0}),A5=yEe.extend({title:a.string().optional().describe("Optional site title override"),description:a.string().optional().describe("Optional site description override")});function O5(e){return A5.parse(wm(e).frontmatter)}async function bEe(e){let n=(await e.listEntities({entityType:"site-info",options:{limit:1}}))[0];if(!n)throw Error("Site info not found \u2014 create a site-info entity");return O5(n.content)}function r_(e,t={}){let n=D5(e),r=D5(t.sharedDomain??"rizom.ai").replace(/^\./,""),o=`.${r}`;if(n.endsWith(o)){let i=n.slice(0,-o.length);if(i.length>0&&!i.includes("."))return`${i}-preview.${r}`}return`preview.${n}`}function D5(e){return e.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class km{static instance=null;entityDisplay;constructor(){}static getInstance(){return km.instance??=new km,km.instance}configure(e){this.entityDisplay=e}static resetInstance(){km.instance=null}hasRoute(e){return this.entityDisplay?.[e]!==void 0}generateUrl(e,t){let n=this.entityDisplay?.[e];if(n)return`/${n.pluralName??n.label.toLowerCase()+"s"}/${t}`;return`/${PC(e)}/${t}`}}var _5=["primary","secondary"];var xEe=a.custom((e)=>typeof e==="function","Expected a React component"),SEe=a.strictObject({show:a.boolean().optional(),label:a.string().min(1).optional(),slot:a.enum(_5).optional(),priority:a.number().optional()}),vEe=a.strictObject({id:a.string().min(1),template:a.string().min(1),content:a.unknown().optional(),dataQuery:a.looseObject({entityType:a.string().optional(),template:a.string().optional(),query:a.record(a.string(),a.unknown()).optional()}).optional(),order:a.number().optional()}),wEe=a.strictObject({id:a.string().min(1),path:a.string().startsWith("/"),title:a.string().optional(),pageLabel:a.string().optional(),description:a.string().optional(),sections:a.array(vEe).optional(),layout:a.string().min(1).optional(),fullscreen:a.boolean().optional(),pluginId:a.string().optional(),sourceEntityType:a.string().optional(),external:a.boolean().optional(),navigation:SEe.optional()}),TEe=a.strictObject({label:a.string().min(1),pluralName:a.string().min(1).optional(),layout:a.string().min(1).optional(),paginate:a.boolean().optional(),pageSize:a.number().int().positive().optional(),navigation:a.strictObject({show:a.boolean().optional(),slot:a.enum(_5).optional(),priority:a.number().optional()}).optional()}),CEe=a.strictObject({schema:a.custom((e)=>e instanceof a.ZodType,"Expected a Zod schema"),component:a.custom((e)=>typeof e==="function","Expected a React component"),title:a.string().min(1),description:a.string(),requiredPermission:a.enum(["admin","trusted","public"]).optional(),fullscreen:a.boolean().optional()}),M5=a.strictObject({namespace:a.string().min(1),sections:a.record(a.string(),CEe)}),EEe=a.record(a.string(),a.json()),IEe=a.record(a.string(),a.record(a.string(),EEe)),z5={layouts:a.record(a.string(),xEe).refine((e)=>typeof e.default==="function",{message:'Site layouts must include a "default" component'}),routes:a.array(wEe),content:IEe.optional(),sections:a.union([M5,a.array(M5)]).optional(),themeOverride:a.string().optional(),headScripts:a.array(a.string()).optional(),entityDisplay:a.record(a.string(),TEe),staticAssets:a.record(a.string(),a.string()).optional()},Fet=a.strictObject(z5).partial();var F5=a.strictObject(z5).superRefine((e,t)=>{let n=new Set;for(let[i,s]of e.routes.entries()){if(n.has(s.id))t.addIssue({code:"custom",path:["routes",i,"id"],message:`Duplicate route id "${s.id}"`});n.add(s.id);let c=s.layout??"default";if(!e.layouts[c])t.addIssue({code:"custom",path:["routes",i,"layout"],message:`Unknown layout "${c}"`})}let r=Array.isArray(e.sections)?e.sections:e.sections?[e.sections]:[],o=new Map(r.map((i)=>[i.namespace,i]));if(o.size!==r.length)t.addIssue({code:"custom",path:["sections"],message:"Section group namespaces must be unique"});for(let[i,s]of Object.entries(e.content??{})){let c=o.get(i);if(!c){t.addIssue({code:"custom",path:["content",i],message:`Content namespace "${i}" has no section group`});continue}for(let[l,u]of Object.entries(s)){let p=c.sections[l];if(!p){t.addIssue({code:"custom",path:["content",i,l],message:`Content section "${i}.${l}" is not defined`});continue}let d=p.schema.safeParse(u);if(!d.success)t.addIssue({code:"custom",path:["content",i,l],message:`Content does not satisfy the "${i}.${l}" schema: ${a.prettifyError(d.error)}`})}}});var kEe=a.string(),REe=a.custom((e)=>{if(!ui(e))return!1;let{plugin:t,...n}=e;if(t!==void 0&&typeof t!=="function")return!1;return F5.safeParse(n).success});var o_=a.enum(["file_operations","content_operations","data_processing","batch_processing"]),PEe=a.looseObject({pluginId:a.string().optional(),progressToken:a.union([a.string(),a.number()]).optional(),operationType:o_,operationTarget:a.string().optional(),interfaceType:a.string().optional(),conversationId:a.string().optional(),channelId:a.string().optional(),requestedByActor:Ns.optional(),requestedByUserId:a.string().optional(),requestedByInterface:a.string().optional(),silent:a.boolean().optional(),provenance:Bs.optional()}),ap=a.looseObject({pluginId:a.string().optional(),progressToken:a.union([a.string(),a.number()]).optional(),operationType:o_,operationTarget:a.string().optional(),interfaceType:a.string().optional(),conversationId:a.string().optional(),channelId:a.string().optional(),requestedByActor:Ns.optional(),requestedByUserId:a.string().optional(),requestedByInterface:a.string().optional(),silent:a.boolean().optional(),provenance:Bs.optional(),rootJobId:a.string()}),rtt=a.enum(["none","skip","replace","coalesce"]);var AEe=a.object({id:a.string(),type:a.string(),data:a.string(),status:a.enum(["pending","processing","completed","failed"]),source:a.string().nullable(),priority:a.number(),retryCount:a.number(),maxRetries:a.number(),lastError:a.string().nullable(),createdAt:a.number(),scheduledFor:a.number(),startedAt:a.number().nullable(),completedAt:a.number().nullable(),attemptId:a.string().nullable(),workerSlotId:a.string().nullable(),workerSessionId:a.string().nullable(),leaseExpiresAt:a.number().nullable(),attemptHeartbeatAt:a.number().nullable(),runtimeUpdatedAt:a.number().nullable(),metadata:ap,progress:a.custom((e)=>typeof e==="object"&&e!==null&&("progress"in e)&&typeof e.progress==="number").nullable(),result:a.unknown().nullable().optional()}),Ya=15000;var i_=a.enum(["pending","processing","completed","failed"]),N5=a.enum(["completed","failed"]),Ne={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},OEe=a.object({id:a.string(),type:a.string(),status:i_,data:a.unknown(),result:a.unknown().optional(),lastError:a.string().optional().nullable(),attempts:a.number(),maxRetries:a.number(),priority:a.number(),createdAt:a.date(),updatedAt:a.date(),processedAt:a.date().optional().nullable(),completedAt:a.date().optional().nullable(),failedAt:a.date().optional().nullable()}),DEe=a.object({jobId:a.string(),type:a.string(),status:N5,result:a.unknown().optional(),error:a.string().optional()}),s_=a.object({success:a.literal(!1),error:a.string().optional()}),bT=a.object({id:a.string(),type:a.enum(["job","batch"]),status:i_,message:a.string().optional(),progress:a.object({current:a.number(),total:a.number(),percentage:a.number()}).optional(),aggregationKey:a.string().optional(),batchDetails:a.object({totalOperations:a.number(),completedOperations:a.number(),failedOperations:a.number(),currentOperation:a.string().optional(),errors:a.array(a.string()).optional()}).optional(),jobDetails:a.object({jobType:a.string(),priority:a.number(),retryCount:a.number()}).optional(),metadata:ap});var V=Bt("job_queue",{id:le("id").primaryKey().$defaultFn(()=>At()),type:le("type").notNull(),data:le("data").notNull(),result:le("result",{mode:"json"}),progress:le("progress",{mode:"json"}).$type(),source:le("source"),metadata:le("metadata",{mode:"json"}).$type().notNull(),status:le("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:qe("priority").notNull().default(0),retryCount:qe("retryCount").notNull().default(0),maxRetries:qe("maxRetries").notNull().default(3),lastError:le("lastError"),createdAt:qe("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:qe("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:qe("startedAt"),completedAt:qe("completedAt"),attemptId:le("attemptId"),workerSlotId:le("workerSlotId"),workerSessionId:le("workerSessionId"),leaseExpiresAt:qe("leaseExpiresAt"),attemptHeartbeatAt:qe("attemptHeartbeatAt"),runtimeUpdatedAt:qe("runtimeUpdatedAt")},(e)=>({queueReadyIdx:Ft("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:Ft("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:Ft("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:Ft("idx_job_queue_source").on(e.source)})),kt=Bt("job_worker_sessions",{slotId:le("slotId").primaryKey(),sessionId:le("sessionId").notNull().unique(),startedAt:qe("startedAt").notNull(),heartbeatAt:qe("heartbeatAt").notNull(),expiresAt:qe("expiresAt").notNull().default(0)},(e)=>({heartbeatIdx:Ft("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:Ft("idx_job_worker_sessions_expires").on(e.expiresAt)}));function j5(e){return Ui({url:e.url,schema:{jobQueue:V,jobWorkerSessions:kt},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN"})}class a_{declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor(e,t){this.logger=e.child("HandlerRegistry"),this.mode=t}registerHandler(e,t,n){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has(e))throw Error(`Job handler is already registered for type: ${e}`);if(this.declarations.set(e,{handler:t,pluginId:n}),this.validators.set(e,t),this.mode!=="validation-only")this.handlers.set(e,t);this.logger.debug("Registered job execution declaration",{type:e,pluginId:n,mode:this.mode})}unregisterHandler(e){this.declarations.delete(e),this.handlers.delete(e),this.validators.delete(e),this.logger.debug("Unregistered job handler",{type:e})}unregisterPluginHandlers(e){let t=[...this.declarations.entries()].filter(([,n])=>n.pluginId===e).map(([n])=>n);for(let n of t)this.declarations.delete(n),this.handlers.delete(n),this.validators.delete(n);if(t.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:e,count:t.length,types:t})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Object.freeze({type:e,pluginId:t.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){if(!this.finalizedRegistrations)throw Error("Job handler registrations are not finalized");return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getHandler(e){return this.handlers.get(e)}getValidator(e){return this.validators.get(e)}}var MEe=a.looseObject({deduplicationKey:a.string().optional()});class c_{findDuplicate(e,t,n){if(!t||t==="none")return null;let r=this.filterByDeduplicationKey(e,n).sort((i,s)=>s.createdAt-i.createdAt||s.id.localeCompare(i.id)),o=r.find((i)=>i.status===Ne.PENDING)??null;if(t==="skip"||t==="replace")return o;return o??r[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((n)=>{let r=MEe.safeParse(n.metadata);return r.success&&r.data.deduplicationKey===t})}}var _Ee=2000,zEe=5,FEe=40,NEe=new sD;class l_{db;transactionClient;databaseUrl;logger;deduplicator=new c_;writeRetryBudgetMs;constructor(e,t,n,r,o){this.db=e,this.transactionClient=t,this.databaseUrl=n,this.logger=r.child("JobQueueRepository"),this.writeRetryBudgetMs=o?.writeRetryBudgetMs??_Ee}async insert(e){await this.write("insert",async()=>this.db.insert(V).values(e))}async enqueueAtomic(e){return NEe.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,n){let r=await this.runEnqueueTransaction(e,t,n);if(r.retry)return this.attemptEnqueue(e,t,n+1);return r.decision}async runEnqueueTransaction(e,t,n){let r=await this.acquireWriteTransaction(e,t),o={prepared:!1},i=!1;try{let s=await this.decideEnqueue(r,e,()=>{o.prepared=!0});return i=!0,await r.commit(),{retry:!1,decision:s}}catch(s){let c=i&&this.isSerializationConflict(s)&&!r.closed,l=!0;if(!r.closed)try{await r.rollback()}catch(u){l=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:u})}if(o.prepared)e.onInsertRollback?.();if(!c||!l)throw s;return await this.waitForConflictRetry("commit",e,t,n,s),{retry:!0}}finally{r.close()}}async decideEnqueue(e,t,n){let{jobData:r,strategy:o,deduplicationKey:i,beforeInsert:s}=t,c=o??"none",l=async()=>{await s?.(),n()},u=async()=>{await l(),await this.insertJob(e,r)};if(c==="none")return await u(),{kind:"inserted",jobId:r.id};let p=await this.getActiveDeduplicationCandidates(e,r.type),d=this.deduplicator.findDuplicate(p,c,i);if(!d)return await u(),{kind:"inserted",jobId:r.id};if(c==="skip")return{kind:"skipped",jobId:d.id};if(c==="coalesce"){if((await e.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),d.id,d.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${d.id}`);return{kind:"coalesced",jobId:d.id}}await l();let g=Date.now();if((await e.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:[Ne.FAILED,"Replaced by newer job",g,g,d.id,Ne.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${d.id}`);return await this.insertJob(e,r),{kind:"replaced",jobId:r.id,replacedJobId:d.id}}async getActiveDeduplicationCandidates(e,t){return(await e.execute({sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,Ne.PENDING,Ne.PROCESSING]})).rows.map((r)=>this.parseDeduplicationCandidate(r))}parseDeduplicationCandidate(e){let{id:t,status:n,createdAt:r,metadata:o}=e;if(typeof t!=="string"||n!==Ne.PENDING&&n!==Ne.PROCESSING||typeof r!=="number"&&typeof r!=="bigint"||typeof o!=="string")throw Error("Invalid active job row returned during atomic enqueue");let i=JSON.parse(o);return{id:t,status:n,createdAt:Number(r),metadata:i}}async insertJob(e,t){if((await e.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:[t.id,t.type,t.data,this.serializeJson(t.result),t.source,JSON.stringify(t.metadata),t.status,t.priority,t.retryCount,t.maxRetries,t.lastError,t.createdAt,t.scheduledFor,t.startedAt,t.completedAt]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${t.id}`)}serializeJson(e){if(e===void 0||e===null)return null;return JSON.stringify(e)}acquireWriteTransaction(e,t){return this.retryOnConflict("acquire",e,()=>this.transactionClient.transaction("write"),(n)=>this.isSerializationConflict(n),t)}async waitForConflictRetry(e,t,n,r,o){let i=Math.min(zEe*2**(r-1),FEe),s=i/2+Math.random()*(i/2);if(Date.now()+s>=n)throw this.transactionConflictError(e,t,r,o);await new Promise((c)=>setTimeout(c,s))}async retryOnConflict(e,t,n,r,o=Date.now()+this.writeRetryBudgetMs,i=1){try{return await n()}catch(s){if(!r(s))throw s;return await this.waitForConflictRetry(e,t,o,i,s),this.retryOnConflict(e,t,n,r,o,i+1)}}transactionConflictError(e,t,n,r){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${n} attempts`,{cause:r});let o=t.strategy??"none",i=t.deduplicationKey?"present":"absent";return Error(`Failed to ${e} atomic enqueue transaction for type "${t.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${n} attempts (strategy: ${o}, key: ${i})`,{cause:r})}write(e,t){return this.retryOnConflict("write",e,t,(n)=>{let r=new Set;for(let o=n;o!==void 0&&!r.has(o);){if(r.add(o),typeof o==="object"&&o!==null&&"code"in o&&/^SQLITE_(?:BUSY|LOCKED)(?:_|$)/u.test(String(o.code)))return!0;o=o instanceof Error?o.cause:void 0}return!1})}isSerializationConflict(e){for(let t=e;t!==void 0;){let n=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",r=et(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(n)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(r))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,n=Date.now(),r=Ya){let o=n+r;await this.write("start worker session",async()=>this.db.insert(kt).values({slotId:e,sessionId:t,startedAt:n,heartbeatAt:n,expiresAt:o}).onConflictDoUpdate({target:kt.slotId,set:{sessionId:t,startedAt:n,heartbeatAt:n,expiresAt:o}}))}async heartbeatWorkerSession(e,t,n=Date.now(),r=Ya){return(await this.write("heartbeat worker session",async()=>this.db.update(kt).set({heartbeatAt:n,expiresAt:n+r}).where(oe(O(kt.slotId,e),O(kt.sessionId,t))).returning({slotId:kt.slotId}))).length===1}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(kt).where(oe(O(kt.slotId,e),O(kt.sessionId,t))).returning({slotId:kt.slotId}))).length===1}async complete(e,t,n){let r=Date.now(),i=(await this.write("complete",async()=>this.db.update(V).set({status:Ne.COMPLETED,result:t,lastError:null,completedAt:r,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r)}).where(this.attemptWriteGuard(e,n)).returning({id:V.id}))).length===1;if(i)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return i}async update(e,t,n){let o=(await this.write("update",async()=>this.db.update(V).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,n)).returning({id:V.id}))).length===1;if(o)this.logger.debug("Job data updated",{jobId:e});return o}async recordAttemptProgress(e,t,n,r=Date.now()){return(await this.write("record progress",async()=>this.db.update(V).set({attemptHeartbeatAt:r,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r),progress:n}).where(this.attemptWriteGuard(e,t)).returning({id:V.id}))).length===1}async renewAttemptLease(e,t,n,r){return(await this.write("renew attempt lease",async()=>this.db.update(V).set({attemptHeartbeatAt:n,leaseExpiresAt:n+r}).where(this.attemptWriteGuard(e,t)).returning({id:V.id}))).length===1}async fail(e,t,n,r=Date.now()){let i=(await this.db.select({retryCount:V.retryCount,maxRetries:V.maxRetries,type:V.type,scheduledFor:V.scheduledFor,startedAt:V.startedAt,runtimeUpdatedAt:V.runtimeUpdatedAt}).from(V).where(this.attemptWriteGuard(e,n)).limit(1))[0];if(!i)return!1;let s=i.retryCount<i.maxRetries,c=s?i.retryCount+1:i.retryCount,l=Math.min(1000*2**i.retryCount,60000),u=s?r+l:i.scheduledFor;if((await this.write("fail",async()=>this.db.update(V).set({status:s?Ne.PENDING:Ne.FAILED,retryCount:c,lastError:t.message,scheduledFor:u,completedAt:s?null:r,runtimeUpdatedAt:s?i.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r),startedAt:s?null:i.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(oe(this.attemptWriteGuard(e,n),O(V.retryCount,i.retryCount))).returning({id:V.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:c,backoffMs:l,scheduledFor:new Date(u).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:i.type,retryCount:i.retryCount,error:t.message});return!0}async retireUnownedActiveJob(e){let t=e.reason.trim();if(t.length===0)throw Error("Retired job reason must not be empty");let r=(await this.write("retire unowned job",async()=>this.db.update(V).set({status:Ne.FAILED,lastError:t,completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(oe(O(V.id,e.jobId),O(V.type,e.expectedType),fr(O(V.status,Ne.PENDING),O(V.status,Ne.PROCESSING)),rr(V.attemptId),rr(V.workerSlotId),rr(V.workerSessionId),rr(V.leaseExpiresAt),rr(V.attemptHeartbeatAt),rr(V.progress),rr(V.result))).returning()))[0]??null;if(r)this.logger.warn("Retired unowned legacy job",{jobId:r.id,type:r.type,reason:t});return r}async getStatus(e){return(await this.db.select().from(V).where(O(V.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(V).where(S`json_extract(${V.metadata}, '$.rootJobId') = ${e}`).orderBy(st(V.createdAt),st(V.id))}async getStatusByEntityId(e){return(await this.db.select().from(V).where(S`json_extract(${V.data}, '$.id') = ${e}`).orderBy(dn(V.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:V.status,count:S`count(*)`}).from(V).groupBy(V.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let n of e){let r=Number(n.count);t[n.status]=r,t.total+=r}return t}async getDiagnostics(e=Date.now()){let[t,n,r]=await Promise.all([this.db.select({type:V.type,status:V.status,count:S`count(*)`}).from(V).groupBy(V.type,V.status),this.db.select({oldestPendingAt:S`min(case when ${V.status} = ${Ne.PENDING} then ${V.createdAt} end)`,duePending:S`coalesce(sum(case when ${V.status} = ${Ne.PENDING} and ${V.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:S`min(case when ${V.status} = ${Ne.PENDING} and ${V.scheduledFor} <= ${e} then ${V.scheduledFor} end)`,latestClaimAt:S`max(${V.startedAt})`,oldestProcessingAt:S`min(case when ${V.status} = ${Ne.PROCESSING} then ${V.startedAt} end)`,staleLeaseCount:S`coalesce(sum(case when ${V.status} = ${Ne.PROCESSING} and ${V.leaseExpiresAt} is not null and ${V.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(V),this.db.select({total:S`count(*)`,active:S`coalesce(sum(case when ${kt.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:S`coalesce(sum(case when ${kt.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:S`max(${kt.heartbeatAt})`}).from(kt)]),o={pending:0,processing:0,completed:0,failed:0},i=t.map((u)=>{let p=Number(u.count);return o[u.status]+=p,{type:u.type,status:u.status,count:p}}),s=n[0],c=r[0],l=(u)=>u===null||u===void 0?null:Math.max(0,e-Number(u));return{totals:o,byType:i,oldestPendingAgeMs:l(s?.oldestPendingAt),duePending:Number(s?.duePending??0),oldestDuePendingAgeMs:l(s?.oldestDuePendingAt),latestClaimAgeMs:l(s?.latestClaimAt),oldestProcessingAgeMs:l(s?.oldestProcessingAt),staleLeaseCount:Number(s?.staleLeaseCount??0),workerSessions:{total:Number(c?.total??0),active:Number(c?.active??0),stale:Number(c?.stale??0),latestHeartbeatAgeMs:l(c?.latestHeartbeatAt)}}}async getRuntimeUpdates(e,t){return(await this.db.select().from(V).where(S`(${V.runtimeUpdatedAt}, ${V.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(st(V.runtimeUpdatedAt),st(V.id)).limit(t)).map((r)=>({job:r,cursor:{updatedAt:r.runtimeUpdatedAt??0,jobId:r.id}}))}async cleanup(e){let t=Date.now()-e;return(await this.write("cleanup",async()=>this.db.delete(V).where(oe(fr(O(V.status,Ne.COMPLETED),O(V.status,Ne.FAILED)),Dr(V.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=fr(O(V.status,Ne.PENDING),O(V.status,Ne.PROCESSING)),n=e&&e.length>0?oe(t,It(V.type,e)):t;return this.db.select().from(V).where(n).orderBy(dn(V.createdAt))}async getRecentJobs(e,t=20){let n=e&&e.length>0?It(V.type,e):void 0;return this.db.select().from(V).where(n).orderBy(dn(V.createdAt)).limit(t)}async getFailedJobs(e){let t=O(V.status,Ne.FAILED),n=e&&e.length>0?oe(t,It(V.type,e)):t;return this.db.select().from(V).where(n).orderBy(dn(V.createdAt))}async claimNextReady(e){let{now:t,attemptId:n,workerSlotId:r,workerSessionId:o,leaseDurationMs:i,executableTypes:s}=e,c=this.db.select({slotId:kt.slotId}).from(kt).where(oe(O(kt.slotId,r),O(kt.sessionId,o),Za(kt.expiresAt,t))),l=this.db.select({slotId:kt.slotId}).from(kt).where(oe(O(kt.slotId,V.workerSlotId),O(kt.sessionId,V.workerSessionId))),u=this.db.select({slotId:kt.slotId}).from(kt).where(oe(O(kt.slotId,V.workerSlotId),O(kt.sessionId,V.workerSessionId),Dr(kt.expiresAt,t))),p=oe(O(V.status,Ne.PROCESSING),fr(rr(V.attemptId),ow(l),oe(Dr(V.leaseExpiresAt,t),al(u)))),d=S`${V.status} = ${Ne.PROCESSING} AND ${V.retryCount} + 1 > ${V.maxRetries}`,g=this.db.select({id:V.id}).from(V).where(oe(It(V.type,s),fr(oe(O(V.status,Ne.PENDING),Dr(V.scheduledFor,t)),p))).orderBy(st(V.priority),st(V.createdAt)).limit(1),v=(await this.write("claim",async()=>this.db.update(V).set({status:S`CASE WHEN ${d} THEN ${Ne.FAILED} ELSE ${Ne.PROCESSING} END`,retryCount:S`CASE WHEN ${V.status} = ${Ne.PROCESSING} THEN ${V.retryCount} + 1 ELSE ${V.retryCount} END`,lastError:S`CASE WHEN ${V.status} = ${Ne.PROCESSING} THEN 'Attempt lease expired' ELSE ${V.lastError} END`,startedAt:S`CASE WHEN ${d} THEN ${V.startedAt} ELSE ${t} END`,completedAt:S`CASE WHEN ${d} THEN ${t} ELSE NULL END`,attemptId:S`CASE WHEN ${d} THEN ${V.attemptId} ELSE ${n} END`,workerSlotId:S`CASE WHEN ${d} THEN ${V.workerSlotId} ELSE ${r} END`,workerSessionId:S`CASE WHEN ${d} THEN ${V.workerSessionId} ELSE ${o} END`,leaseExpiresAt:S`CASE WHEN ${d} THEN ${V.leaseExpiresAt} ELSE ${t+i} END`,attemptHeartbeatAt:S`CASE WHEN ${d} THEN ${V.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:S`CASE WHEN ${d} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${V.runtimeUpdatedAt} END`}).where(oe(It(V.id,g),al(c))).returning()))[0];if(v?.status!==Ne.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:v.id,attemptId:v.attemptId,workerSlotId:r,workerSessionId:o}),v}nextRuntimeUpdatedAt(e){return S`max(${e}, coalesce((select max(${V.runtimeUpdatedAt}) from ${V}), 0) + 1)`}attemptWriteGuard(e,t){return t?oe(O(V.id,e),O(V.status,Ne.PROCESSING),O(V.attemptId,t)):oe(O(V.id,e),rr(V.attemptId),fr(O(V.status,Ne.PENDING),O(V.status,Ne.PROCESSING)))}}import{AsyncLocalStorage as jEe}from"async_hooks";class vl{storage=new jEe;static createFresh(){return new vl}constructor(){}current(){return this.storage.getStore()}run(e,t,n){if(t.length===0)throw Error("Operation ID must not be empty");let r=Bs.parse(e),o=BEe(r);return this.storage.run(Object.freeze({provenance:o,operationId:t}),n)}}function BEe(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}class u_{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${At()}`;directWorkerSessionId=At();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,n){return new u_(e,t??pi.getInstance(),n)}constructor(e,t,n){let{db:r,client:o,url:i}=j5(e);this.client=o,this.databaseUrl=i,this.logger=t.child("JobQueueService"),this.operationContext=n?.operationContext??vl.createFresh(),this.projectionAdmission=n?.projectionAdmission,this.handlerRegistry=new a_(this.logger,n?.handlerRegistrationMode??"combined"),this.repository=new l_(r,o,i,this.logger),this.directLeaseDurationMs=e.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await Wi(this.client,this.databaseUrl)}catch(e){this.logger.warn("Failed to enable WAL mode (non-fatal)",e)}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(e,t,n){this.handlerRegistry.registerHandler(e,t,n)}unregisterHandler(e){this.handlerRegistry.unregisterHandler(e)}unregisterPluginHandlers(e){this.handlerRegistry.unregisterPluginHandlers(e)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler(e){return this.handlerRegistry.getHandler(e)}getValidator(e){return this.handlerRegistry.getValidator(e)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue(e){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated(e)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated(e){let{type:t,data:n,options:r}=e,o=this.handlerRegistry.getValidator(t);if(!o)throw Error(`No job type declared: ${t}`);let i=o.validateAndParse(n);if(i===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),c=At(),l=r?.rootJobId??this.operationContext.current()?.provenance.rootJobId??c,u=this.createJobProvenance(c,l,r),p=r?.metadata??{operationType:"data_processing"},{provenance:d,...g}=p,f={id:c,type:t,data:JSON.stringify(i),status:Ne.PENDING,priority:r?.priority??0,maxRetries:r?.maxRetries??3,retryCount:0,source:r?.source??null,metadata:{...g,...r?.deduplicationKey&&{deduplicationKey:r.deduplicationKey},rootJobId:l,provenance:u},createdAt:s,scheduledFor:r?.delayMs?s+r.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null},v,w=()=>{v?.rollback(),v=void 0};try{let I=await this.repository.enqueueAtomic({jobData:f,strategy:r?.deduplication,deduplicationKey:r?.deduplicationKey,beforeInsert:async()=>{v=await this.projectionAdmission?.reserveJobAdmission(u)},onInsertRollback:w});if(v?.commit(),v=void 0,I.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:I.jobId});else if(I.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:I.jobId});else{if(I.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:I.replacedJobId});this.logger.debug("Job enqueued",{id:I.jobId,type:t,priority:f.priority,rootJobId:f.metadata.rootJobId})}return I.jobId}catch(I){throw w(),this.logger.error("Failed to enqueue job",{type:t,error:et(I)}),I}}createJobProvenance(e,t,n){let r=this.operationContext.current(),o=n?.metadata.provenance??r?.provenance,i=o?.rootJobId===t?o:void 0,s=r?.provenance.rootJobId===t?r.operationId:void 0,c=n?.projection,l=c?[...i?.projectionLineage??[],c.id]:[...i?.projectionLineage??[]],u=c?.id??i?.projectionId;return Bs.parse({rootJobId:t,causationId:s??i?.causationId??e,...u?{projectionId:u}:{},projectionLineage:l,...c?.sourceEntity?{sourceEntity:c.sourceEntity}:i?.sourceEntity?{sourceEntity:i.sourceEntity}:{},derivationDepth:l.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let n=e??await this.getDirectClaimOptions(),r=Date.now(),o=await this.repository.claimNextReady({...n,now:r,attemptId:At(),executableTypes:t});if(!o)return null;return this.logger.debug("Job dequeued",{id:o.id,type:o.type,priority:o.priority,retryCount:o.retryCount,attemptId:o.attemptId,workerSlotId:o.workerSlotId,workerSessionId:o.workerSessionId}),o}async startWorkerSession(e,t,n=Ya){await this.repository.startWorkerSession(e,t,Date.now(),n)}heartbeatWorkerSession(e,t,n=Ya){return this.repository.heartbeatWorkerSession(e,t,Date.now(),n)}endWorkerSession(e,t){return this.repository.endWorkerSession(e,t)}renewAttemptLease(e,t,n){return this.repository.renewAttemptLease(e,t,Date.now(),n)}recordAttemptProgress(e,t,n){return this.repository.recordAttemptProgress(e,t,n)}complete(e,t,n){return this.repository.complete(e,t,n)}update(e,t,n){return this.repository.update(e,t,n)}fail(e,t,n){return this.repository.fail(e,t,n)}retireUnownedActiveJob(e){return this.repository.retireUnownedActiveJob(e)}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(e){return this.repository.getStatus(e)}async getJobsByRootJobId(e){return this.repository.getJobsByRootJobId(e)}async getStatusByEntityId(e){return this.repository.getStatusByEntityId(e)}async getStats(){return this.repository.getStats()}getDiagnostics(e){return this.repository.getDiagnostics(e)}async waitForIdle(e={}){let t=e.quietMs??250,n=e.pollIntervalMs??25,r=Date.now()+(e.timeoutMs??30000),o=async(i)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),l=s.pending===0&&s.processing===0?i??Date.now():null;if(l!==null&&Date.now()-l>=t)return;if(Date.now()>=r)throw Error(`Timed out waiting for the job queue to settle: ${s.pending} pending, ${s.processing} processing`);return await Bun.sleep(n),o(l)};return o(null)}getRuntimeUpdates(e,t=1000){return this.repository.getRuntimeUpdates(e,t)}async cleanup(e){let t=await this.repository.cleanup(e);if(t>0)this.logger.info("Cleaned up old jobs",{deletedCount:t,olderThanMs:e});return t}async getActiveJobs(e){return this.repository.getActiveJobs(e)}async getRecentJobs(e,t){return this.repository.getRecentJobs(e,t)}async getFailedJobs(e){return this.repository.getFailedJobs(e)}}class B5 extends Error{constructor(e,t){super(`Job ${e} exceeded its ${t}ms execution deadline`);this.name="JobDeadlineExceededError"}}class p_{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(e,t,n,r,o){return new p_(e,t,n,r,o)}constructor(e,t,n,r,o){if(this.logger=n.child("JobQueueWorker"),this.jobQueueService=e,this.progressMonitor=t,this.clock=o?.clock,this.operationContext=o?.operationContext??vl.createFresh(),this.config={concurrency:r?.concurrency??1,pollInterval:r?.pollInterval??1000,maxJobs:r?.maxJobs??0,autoStart:r?.autoStart??!1,workerSlotId:r?.workerSlotId??process.env.BRAIN_JOB_WORKER_SLOT_ID??"default",defaultExecutionTimeoutMs:r?.defaultExecutionTimeoutMs??300000,cancellationGraceMs:r?.cancellationGraceMs??5000,errorCallbackTimeoutMs:r?.errorCallbackTimeoutMs??1e4,leaseDurationMs:r?.leaseDurationMs??30000,attemptHeartbeatIntervalMs:r?.attemptHeartbeatIntervalMs??1e4,workerHeartbeatIntervalMs:r?.workerHeartbeatIntervalMs??5000,workerSessionTimeoutMs:r?.workerSessionTimeoutMs??Ya,onUnhealthy:r?.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((i)=>{this.logger.error("Failed to auto-start JobQueueWorker",{error:i})})}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 e=At();await this.jobQueueService.startWorkerSession(this.config.workerSlotId,e,this.config.workerSessionTimeoutMs),this.workerSessionId=e,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=de.runSync(Xt.make()),this.jobFibers=de.runSync(Xt.extend(Wr.make(),this.workerScope)),this.pollFiber=de.runFork(this.runPollingLoop())}stop(){return this.requestTransition("stop",!0)}async stopWorker(e){if(!this.isRunning){this.logger.warn("Worker is not running");return}if(this.logger.debug("Stopping JobQueueWorker"),this.shouldStop=!0,e.awaitInFlightPoll&&this.pollFiber){let n=this.pollFiber;await de.runPromise(oi.interrupt(n)),this.pollFiber=null}if(e.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 de.runPromise(Wr.awaitEmpty(this.jobFibers));await this.closeWorkerScope(),await this.stopWorkerHeartbeat();let t=this.workerSessionId;if(this.workerSessionId=null,t)await this.jobQueueService.endWorkerSession(this.config.workerSlotId,t);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 e=this.config.concurrency-this.activeJobs.size;if(e<=0)return;if(this.config.maxJobs>0){let n=this.stats.processedJobs+this.stats.failedJobs,r=this.config.maxJobs-n-this.activeJobs.size;if(r<=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}e=Math.min(e,r)}let t=this.jobFibers;if(!t)throw Error("Worker job fiber scope is not available");for(let n=0;n<e;n++){if(this.isStopRequested())break;let r=this.workerSessionId;if(!r)throw Error("Worker session is not available");let o=await this.jobQueueService.dequeue({workerSlotId:this.config.workerSlotId,workerSessionId:r,leaseDurationMs:this.config.leaseDurationMs});if(!o)break;this.activeJobs.add(o.id),await de.runPromise(Wr.run(t,o.id,de.promise(()=>this.processJobWrapper(o))))}}catch(e){this.logger.error("Error processing available jobs",{error:e}),this.stats.lastError=et(e)}}async processJobWrapper(e){let t=e.id;try{this.logger.debug("Processing job",{jobId:t,type:e.type,priority:e.priority,retryCount:e.retryCount});let n=await this.processJob(e);if(n.status==="completed")this.stats.processedJobs++,this.logger.debug("Job completed successfully",{jobId:t,type:n.type});else this.stats.failedJobs++,this.logger.warn("Job failed",{jobId:t,type:n.type,error:n.error})}catch(n){this.stats.failedJobs++,this.logger.error("Error processing job",{jobId:t,type:e.type,error:n}),this.stats.lastError=et(n)}finally{this.activeJobs.delete(t)}}runPollingLoop(){let t=de.suspend(()=>{if(!this.isWorkerRunning()||this.isStopRequested())return de.interrupt;return this.currentPoll=this.processAvailableJobs(),de.promise(()=>this.currentPoll??Promise.resolve()).pipe(de.andThen(de.suspend(()=>(this.currentPoll=null,!this.isWorkerRunning()||this.isStopRequested()?de.interrupt:de.void))))}).pipe(de.schedule(Ts.spaced(this.config.pollInterval)),de.asVoid);return(this.clock?de.withClock(t,this.clock):t).pipe(de.ensuring(de.sync(()=>{this.pollFiber=null})))}requestTransition(e,t){let n=this.transitionQueue.at(-1)??this.activeTransition;if(n?.kind===e)return n.promise;let r=()=>{return},o=()=>{return},i=new Promise((c,l)=>{r=c,o=l}),s={kind:e,awaitInFlightPoll:t,promise:i,resolve:r,reject:o};return this.transitionQueue.push(s),this.runNextTransition(),i}runNextTransition(){if(this.activeTransition)return;let e=this.transitionQueue.shift();if(!e)return;this.activeTransition=e,(e.kind==="start"?this.startWorker():this.stopWorker({awaitInFlightPoll:e.awaitInFlightPoll})).then(()=>this.completeTransition(e,!0),(n)=>this.completeTransition(e,!1,n))}completeTransition(e,t,n){if(this.activeTransition!==e)return;if(this.activeTransition=null,t)e.resolve();else e.reject(n);queueMicrotask(()=>this.runNextTransition())}async closeWorkerScope(){let e=this.workerScope;if(this.workerScope=null,this.jobFibers=null,e)await de.runPromise(Xt.close(e,jt.void))}startHeartbeatLoop(e){let t=null,n=!1,r=setInterval(()=>{if(n||t)return;t=e.beat().then((o)=>{if(!o)e.onStale()}).catch(e.onError).finally(()=>{t=null})},Math.max(1,e.intervalMs));return async()=>{if(n)return;n=!0,clearInterval(r),await t}}startWorkerHeartbeat(){this.workerHeartbeatStop=this.startHeartbeatLoop({intervalMs:this.config.workerHeartbeatIntervalMs,beat:async()=>{let e=this.workerSessionId;if(!e)return!0;return this.jobQueueService.heartbeatWorkerSession(this.config.workerSlotId,e,this.config.workerSessionTimeoutMs)},onStale:()=>this.markUnhealthy("Worker session was superseded"),onError:(e)=>this.markUnhealthy(`Worker session heartbeat failed: ${et(e)}`)})}async stopWorkerHeartbeat(){await this.workerHeartbeatStop?.(),this.workerHeartbeatStop=null}startAttemptHeartbeat(e,t){let n=e.attemptId;if(!n)return async()=>{return};return this.startHeartbeatLoop({intervalMs:this.config.attemptHeartbeatIntervalMs,beat:()=>this.jobQueueService.renewAttemptLease(e.id,n,this.config.leaseDurationMs),onStale:()=>{let r=Error("Job attempt was superseded");t.abort(r),this.markUnhealthy(r.message)},onError:(r)=>{let o=Rm(r);t.abort(o),this.markUnhealthy(`Attempt lease heartbeat failed: ${o.message}`)}})}markUnhealthy(e){if(!this.stats.isHealthy)return;this.stats.isHealthy=!1,this.stats.unhealthyReason=e,this.stats.lastError=e,this.shouldStop=!0,this.logger.error("Job queue worker is unhealthy",{reason:e});try{this.config.onUnhealthy(e)}catch(t){this.logger.error("Job queue worker unhealthy callback failed",{reason:e,error:et(t)})}}async raceOutcome(e,t){let n,r=new Promise((o)=>{n=setTimeout(()=>o({kind:"timeout"}),Math.max(1,t))});try{return await Promise.race([e,r])}finally{if(n)clearTimeout(n)}}async executeWithDeadline(e,t,n,r){let o=Promise.resolve().then(r).then((l)=>({kind:"success",value:l}),(l)=>({kind:"failure",error:l})),i=await this.raceOutcome(o,t);if(i.kind!=="timeout"){if(i.kind==="failure")throw i.error;return i.value}let s=new B5(e,t);if(n.abort(s),(await this.raceOutcome(o,this.config.cancellationGraceMs)).kind!=="timeout")throw s;throw this.markUnhealthy(`${s.message}; handler ignored cancellation grace`),await o,s}processJob(e){let t=e.metadata.provenance??{rootJobId:e.metadata.rootJobId,causationId:e.id,projectionLineage:[],derivationDepth:0};return this.operationContext.run(t,e.id,()=>this.processJobWithinContext(e))}async processJobWithinContext(e){let t=e.attemptId;if(!t){let c=Error(`Claimed job ${e.id} has no attempt fencing token`);return this.markUnhealthy(c.message),{jobId:e.id,type:e.type,status:Ne.FAILED,error:c.message}}let n=this.jobQueueService.getHandler(e.type);if(!n){let c=Error(`No handler registered for job type: ${e.type}`);return await this.jobQueueService.fail(e.id,c,t),{jobId:e.id,type:e.type,status:Ne.FAILED,error:c.message}}let r=new AbortController,o=this.startAttemptHeartbeat(e,r),i=!1,s=async()=>{if(i)return;i=!0,await o()};try{this.logger.debug("Processing job",{jobId:e.id,type:e.type,attemptId:t});let c=JSON.parse(e.data),l=n.validateAndParse(c);if(l===null)throw Error(`Invalid job data for type: ${e.type}`);let u=this.progressMonitor.createProgressReporter(e.id,t),p=n.executionTimeoutMs??this.config.defaultExecutionTimeoutMs,d=await this.executeWithDeadline(e.type,p,r,()=>n.process(l,e.id,u,r.signal));await s();let g=s_.safeParse(d);if(g.success){let v=g.data.error??"Handler returned failure",w=Error(v);if(await this.jobQueueService.fail(e.id,w,t))await this.emitTerminalFailure(e,w,n,t);return{jobId:e.id,type:e.type,status:Ne.FAILED,error:v}}if(!await this.jobQueueService.complete(e.id,d,t))return{jobId:e.id,type:e.type,status:Ne.FAILED,error:"Job attempt no longer owns the claim"};return await this.runHandlerSuccessCallback(n,e,t),await this.progressMonitor.handleJobStatusChange(e.id,"completed",e.metadata),{jobId:e.id,type:e.type,status:Ne.COMPLETED,result:d}}catch(c){let l=Rm(c);if(await s(),await this.runHandlerErrorCallback("onError",n,e,l,t),await this.jobQueueService.fail(e.id,l,t))await this.emitTerminalFailure(e,l,n,t);return{jobId:e.id,type:e.type,status:Ne.FAILED,error:l.message}}}async runHandlerSuccessCallback(e,t,n){let r=e.onTerminalSuccess;if(!r)return;try{let o=e.validateAndParse(JSON.parse(t.data));if(o===null)return;let i=this.progressMonitor.createProgressReporter(t.id,n),s=new AbortController;await this.executeWithDeadline(`${t.type}:onTerminalSuccess`,this.config.errorCallbackTimeoutMs,s,()=>r.call(e,o,t.id,i,s.signal))}catch(o){this.logger.error("Terminal job success callback failed",{jobId:t.id,type:t.type,error:o})}}async emitTerminalFailure(e,t,n,r){if((await this.jobQueueService.getStatus(e.id))?.status!==Ne.FAILED)return;await this.runHandlerErrorCallback("onTerminalError",n,e,t,r),await this.progressMonitor.handleJobStatusChange(e.id,"failed",e.metadata)}async runHandlerErrorCallback(e,t,n,r,o){let i=t[e];if(!i)return;try{let s=t.validateAndParse(JSON.parse(n.data));if(s===null)return;let c=this.progressMonitor.createProgressReporter(n.id,o),l=new AbortController;await this.executeWithDeadline(`${n.type}:${e}`,this.config.errorCallbackTimeoutMs,l,()=>i.call(t,r,s,n.id,c,l.signal))}catch(s){this.logger.error(e==="onError"?"Job handler error callback failed":"Job handler terminal error callback failed",{jobId:n.id,error:s})}}}var LEe=86400000,L5=3600000;class d_{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh(e,t,n){return new d_(e,t,n)}constructor(e,t,n){this.jobQueue=e,this.logger=t,this.clock=n?.clock}start(e=L5){return this.requestTransition("start",e)}stop(){return this.requestTransition("stop",L5)}async startCleanup(e){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=de.runFork(this.runCleanupLoop(e))}runCleanupLoop(e){let t=this.cleanupTerminalBatchMetadata().pipe(de.schedule(Ts.spaced(e)),de.asVoid);return this.clock?de.withClock(t,this.clock):t}scheduleTerminalBatchCleanup(){if(!this.acceptingCleanup)return;this.cleanupSupervisor??=this.createCleanupSupervisor();let e=de.runFork(this.cleanupTerminalBatchMetadata());Lu.unsafeAdd(this.cleanupSupervisor.fibers,e)}async stopCleanup(){this.acceptingCleanup=!1;let e=this.cleanupFiber;if(this.cleanupFiber=null,e)await de.runPromise(oi.interrupt(e));let t=this.cleanupSupervisor;if(t)await de.runPromise(Lu.awaitEmpty(t.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(t)await de.runPromise(Xt.close(t.scope,jt.void)),this.cleanupSupervisor=null}requestTransition(e,t){let n=this.transitionQueue.at(-1)??this.activeTransition;if(n?.kind===e)return n.promise;let r=()=>{return},o=()=>{return},i=new Promise((c,l)=>{r=c,o=l}),s={kind:e,intervalMs:t,promise:i,resolve:r,reject:o};return this.transitionQueue.push(s),this.runNextTransition(),i}runNextTransition(){if(this.activeTransition)return;let e=this.transitionQueue.shift();if(!e)return;this.activeTransition=e,(e.kind==="start"?this.startCleanup(e.intervalMs):this.stopCleanup()).then(()=>this.completeTransition(e,!0),(n)=>this.completeTransition(e,!1,n))}completeTransition(e,t,n){if(this.activeTransition!==e)return;if(this.activeTransition=null,t)e.resolve();else e.reject(n);queueMicrotask(()=>this.runNextTransition())}createCleanupSupervisor(){let e=de.runSync(Xt.make()),t=de.runSync(Xt.extend(Lu.make(),e));return{scope:e,fibers:t}}cleanupTerminalBatchMetadata(){return de.tryPromise({try:()=>{let e=this.cleanup(LEe);return this.inFlightCleanups.add(e),e.then(()=>this.inFlightCleanups.delete(e),()=>this.inFlightCleanups.delete(e)),e},catch:(e)=>e}).pipe(de.asVoid,de.catchAll((e)=>de.sync(()=>{this.logger.warn("Failed to clean up terminal batch metadata",{error:e})})))}validateOperations(e){for(let t of e){let n=this.jobQueue.getValidator(t.type);if(!n)throw Error(`No job type declared: ${t.type}`);if(n.validateAndParse(t.data)===null)throw Error(`Invalid job data for type: ${t.type}`)}}async enqueueBatch(e,t,n,r){if(e.length===0)throw Error("Cannot enqueue empty batch");this.validateOperations(e);let o=[];this.batches.set(n,{jobIds:o,operations:e,source:t.source,startedAt:new Date().toISOString(),metadata:{...t.metadata,rootJobId:n}});try{for(let i of e){let s={...t,rootJobId:n,metadata:{...t.metadata,operationTarget:i.type}},c=await this.jobQueue.enqueue({type:i.type,data:i.data,options:s});o.push(c)}return this.logger.debug("Enqueued batch operations",{batchId:n,operationCount:e.length,jobIds:o,rootJobId:n}),this.scheduleTerminalBatchCleanup(),n}catch(i){throw this.batches.delete(n),this.logger.error("Failed to enqueue batch operations",{error:i,operationCount:e.length,enqueuedJobs:o.length}),i}}async getBatchStatus(e){let t=this.batches.get(e);if(!t)return null;try{let n=await Promise.all(t.jobIds.map((u)=>this.jobQueue.getStatus(u))),r=0,o=0,i=0,s=[];for(let[u,p]of n.entries()){if(!p){o++;let d=t.operations[u],g=t.jobIds[u]??"unknown";s.push(`Missing job ${g}${d?` for ${d.type}`:""}`);continue}switch(p.status){case"completed":r++;break;case"failed":if(o++,p.lastError)s.push(p.lastError);break;case"processing":case"pending":i++;break}}i+=t.operations.length-t.jobIds.length;let c;if(i>0)c=Ne.PROCESSING;else if(o>0)c=Ne.FAILED;else c=Ne.COMPLETED;if(t.terminalAt===void 0&&(c===Ne.COMPLETED||c===Ne.FAILED))t.terminalAt=Date.now();let l;for(let u=0;u<t.jobIds.length;u++){let p=n[u];if(p&&p.status!=="completed"&&p.status!=="failed"){let d=t.operations[u];if(d)l=`Processing ${d.type}`;break}}return{batchId:e,totalOperations:t.operations.length,completedOperations:r,failedOperations:o,errors:s,status:c,currentOperation:l,metadata:t.metadata}}catch(n){throw this.logger.error("Failed to get batch status",{batchId:e,error:n}),n}}inspectRetention(e){let t=this.batches.get(e);return t?{terminalAt:t.terminalAt}:void 0}async cleanup(e){let t=Date.now()-e,n=0;for(let[r,o]of this.batches.entries()){if(o.terminalAt!==void 0){if(o.terminalAt<=t)this.batches.delete(r),n++;continue}if(new Date(o.startedAt).getTime()<=t){let s=await this.getBatchStatus(r);if(s&&(s.status===Ne.COMPLETED||s.status===Ne.FAILED))this.batches.delete(r),n++}}return this.logger.debug("Cleaned up batch metadata",{cleaned:n}),n}registerBatch(e,t,n,r,o){this.batches.set(e,{jobIds:t,operations:n,source:r,startedAt:new Date().toISOString(),metadata:o}),this.logger.debug("Registered batch metadata",{batchId:e,operationCount:n.length,jobIds:t})}async getActiveBatches(){let e=[];try{for(let[t,n]of this.batches){let r=await this.getBatchStatus(t);if(r&&(r.status==="pending"||r.status==="processing"))e.push({batchId:t,status:r,metadata:{operations:n.operations,source:n.source,startedAt:n.startedAt,metadata:n.metadata}})}return this.logger.debug("Retrieved active batches",{count:e.length}),e}catch(t){throw this.logger.error("Failed to get active batches",{error:t}),t}}}var qEe=a.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},a.record(a.string(),a.unknown()));class m_{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};polling=!1;static createFresh(e,t,n,r,o="combined"){return new m_(e,t,n,r,o)}constructor(e,t,n,r,o){this.jobQueueService=e,this.messageBus=t,this.batchJobManager=n,this.logger=r,this.mode=o}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 e=await this.jobQueueService.getRuntimeUpdates(this.pollCursor,100);for(let t of e)if(this.pollCursor=t.cursor,t.job.status==="processing"&&t.job.progress)await this.publishJobProgress(t.job,t.job.progress);else if(t.job.status==="completed"||t.job.status==="failed")await this.handleJobStatusChange(t.job.id,t.job.status,t.job.metadata)}catch(e){this.logger.error("Failed to poll durable job progress",{error:e})}finally{this.polling=!1}}createProgressReporter(e,t){let n=Ka.from(async(r)=>{await this.emitJobProgress(e,r,t)});if(!n)throw Error("Failed to create ProgressReporter");return n}async emitBatchProgress(e,t,n){try{let r={totalOperations:t.totalOperations,completedOperations:t.completedOperations,failedOperations:t.failedOperations,currentOperation:t.currentOperation??"Processing batch...",errors:t.errors},o={id:e,type:"batch",status:t.status,metadata:n,batchDetails:r};if(t.totalOperations>0)o.progress={current:t.completedOperations,total:t.totalOperations,percentage:Math.round(t.completedOperations/t.totalOperations*100)};await this.messageBus.send({type:cy.progress,payload:o,sender:"job-progress-monitor",broadcast:!0}),this.logger.debug("Emitted batch progress update",{batchId:e,status:t.status,progress:`${t.completedOperations}/${t.totalOperations}`})}catch(r){this.logger.error("Error emitting batch progress update",{batchId:e,error:r})}}isBatchChild(e,t){return!!t&&t!==e}get publishesEvents(){return this.mode!=="durable-writer"}async broadcastEvent(e){await this.messageBus.send({type:cy.progress,payload:e,sender:"job-progress-monitor",broadcast:!0})}async emitJobProgress(e,t,n){try{if(n&&!await this.jobQueueService.recordAttemptProgress(e,n,t)){this.logger.debug("Discarding progress from obsolete job attempt",{jobId:e,attemptId:n});return}if(!this.publishesEvents)return;let r=await this.jobQueueService.getStatus(e);if(!r){this.logger.warn("Job not found for progress update",{jobId:e});return}await this.publishJobProgress(r,t)}catch(r){this.logger.error("Error emitting job progress",{jobId:e,error:r})}}async publishJobProgress(e,t){if(e.metadata.silent)return;if(this.isBatchChild(e.id,e.metadata.rootJobId))return;let n=t.total??0,r={id:e.id,type:"job",status:"processing",metadata:e.metadata,message:t.message};if(n>0)r.progress={current:t.progress,total:n,percentage:Math.round(t.progress/n*100)};await this.broadcastEvent(r)}async emitJobCompletion(e){await this.emitJobStatusEvent(e,"completed")}async emitJobFailure(e){await this.emitJobStatusEvent(e,"failed")}async emitJobStatusEvent(e,t){if(!this.publishesEvents)return;try{let n=await this.jobQueueService.getStatus(e);if(!n){this.logger.warn(`Cannot emit ${t} for unknown job`,{jobId:e});return}if(n.metadata.silent)return;if(this.isBatchChild(e,n.metadata.rootJobId)){this.logger.debug(`Skipping individual job ${t} for batch operation`,{jobId:e,rootJobId:n.metadata.rootJobId});return}let r={id:e,type:"job",status:t,message:this.extractStatusMessage(n,t),metadata:n.metadata,jobDetails:{jobType:n.type,priority:n.priority,retryCount:n.retryCount}};await this.broadcastEvent(r),this.logger.debug(`Emitted job ${t} event`,{jobId:e})}catch(n){this.logger.error(`Error emitting job ${t} event`,{jobId:e,error:n})}}extractStatusMessage(e,t){if(t==="failed")return e.lastError??void 0;if(!e.result)return;try{let n=qEe.parse(e.result),r=n.message;if(r)return String(r);let o=n.routesBuilt;if(o!==void 0)return`${o} routes built`}catch{}return}getStats(){return{isRunning:!0}}async handleJobStatusChange(e,t,n){if(!this.publishesEvents)return;let r=n?ap.safeParse(n):void 0,o=r?.success?r.data:void 0;if(o?.silent)return;try{if(await this.emitJobStatusEvent(e,t),o&&this.isBatchChild(e,o.rootJobId))try{let i=o.rootJobId,s=await this.batchJobManager.getBatchStatus(i);if(s){let c=s.metadata??o;await this.emitBatchProgress(i,s,c)}}catch(i){this.logger.warn("Failed to emit batch progress",{jobId:e,rootJobId:o.rootJobId,error:i})}}catch(i){this.logger.error("Failed to handle job status change",{jobId:e,status:t,error:i})}}}var ZEe=a.record(a.string(),a.unknown());class ly{logger;schema;jobTypeName;executionTimeoutMs;constructor(e,t){this.logger=e,this.schema=t.schema,this.jobTypeName=t.jobTypeName,this.executionTimeoutMs=t.executionTimeoutMs}validateAndParse(e){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);let t=this.schema.safeParse(e);if(!t.success)return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:e,validationError:t.error.issues}),null;return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog(t.data)}),t.data}async onError(e,t,n,r,o){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:n,errorMessage:e.message,errorStack:e.stack,data:this.summarizeDataForLog(t)})}async reportProgress(e,t){await e.report({progress:t.progress,total:t.total??100,message:t.message})}summarizeDataForLog(e){let t=ZEe.safeParse(e);return t.success?t.data:{}}}function uy(e,t,n){return async(r)=>{let{type:o,data:i,toolContext:s=null,options:c,projection:l}=r,u=s?q5(s):void 0,{metadata:p,...d}=c??{},g={operationType:"data_processing",pluginId:t,...p,...s&&{interfaceType:s.interfaceType,conversationId:s.conversationId,channelId:s.channelId,requestedByActor:s.actor,...u?{requestedByUserId:u}:{},requestedByInterface:s.interfaceType,...s.progressToken!==void 0&&{progressToken:s.progressToken}}};if(s&&!u)delete g.requestedByUserId;let f={...d,source:t,...c?.rootJobId&&{rootJobId:c.rootJobId},...l&&{projection:l},metadata:g},v=n&&!o.includes(":")?`${t}:${o}`:o;return e.enqueue({type:v,data:i,options:f})}}function f_(e,t){return async(n,r)=>{let o=r?.rootJobId??At(),i=n.map((c)=>({...c,type:c.type.includes(":")?c.type:`${t}:${c.type}`})),s={...r,source:t,rootJobId:o,metadata:{...r?.metadata,operationType:"batch_processing",pluginId:t}};return await e.enqueueBatch(i,s,o,t),o}}function g_(e,t){return(n,r)=>{let o=n.includes(":")?n:`${t}:${n}`;e.registerHandler(o,r,t)}}var $Ee=a.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e)),UEe=a.object({name:a.string(),schema:$Ee});function Z5(e){return UEe.safeParse(e).success}function WEe(e){if(!e)return;return{status:e.status,message:e.message,lastCheck:e.lastCheck?.toISOString(),details:e.details}}function $5(e){return{model:e.model,version:e.version,uptime:e.uptime,entities:e.entities,entityCounts:e.entityCounts,embeddings:e.embeddings,ai:e.ai,daemons:e.daemons.map((t)=>({name:t.name,pluginId:t.pluginId,status:t.status,health:WEe(t.health)})),endpoints:e.endpoints,interactions:e.interactions}}var U5={digest:"conversation:digest"};var W5=a.strictObject({messageCharacters:a.number().int().positive(),outputTokens:a.number().int().positive(),contextTokens:a.number().int().positive(),contextBytes:a.number().int().positive(),toolSteps:a.number().int().positive(),toolCalls:a.number().int().positive(),toolResultCharacters:a.number().int().positive(),retrieval:Hi,requestTimeoutSeconds:a.number().int().positive().max(2147483)}),h_=a.strictObject({limits:W5,maxCostMicroUsd:a.number().int().positive()});var HEe="/api/chat",fo="web-chat-guest",xT=a.strictObject({idleSeconds:a.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000)),maxAgeSeconds:a.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000))}).refine((e)=>e.idleSeconds<=e.maxAgeSeconds,"Guest idle expiry must not exceed maximum age"),ST=a.strictObject({visitorId:a.string().uuid(),retention:xT}),Je=a.string().trim().min(1).max(256),Ont="x-brain-conversation-id",Dnt=a.strictObject({expiresAt:a.number().int().positive(),provider:a.string().min(1),notice:a.string().min(1),deletionLimitations:a.string().min(1),retention:xT,messageCharacters:a.number().int().positive(),canSend:a.boolean(),presentation:J5.optional()}),JEe=a.strictObject({conversationId:Je,state:a.enum(["active","completed","failed","interrupted","uncertain"])}),G5=a.string().regex(/^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),y_=a.string().trim().min(1).max(48),b_=a.string().datetime(),H5=a.string().regex(/^\/(?!\/)/).max(2048),Pm=a.string().regex(/^(?:\/(?!\/)|https?:\/\/)/).max(2048),VEe=a.looseObject({kind:a.literal("tool-approval"),id:Je,toolCallId:Je.optional(),toolName:a.string().trim().min(1).max(256),input:a.record(a.string(),a.unknown()).optional(),summary:a.string().max(4096),completionSummary:a.string().max(4096).optional(),preview:a.string().max(1e5).optional(),state:a.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),output:a.unknown().optional(),error:a.string().max(4096).optional()}),GEe=a.looseObject({entityType:a.string().trim().min(1).max(128).optional(),entityId:Je.optional(),attachmentType:a.string().trim().min(1).max(128).optional()}),QEe=a.looseObject({mediaType:a.string().trim().min(1).max(255),url:Pm,downloadUrl:Pm.optional(),previewUrl:Pm.optional(),filename:a.string().trim().min(1).max(255).optional(),sizeBytes:a.number().int().nonnegative().optional(),source:GEe.optional()}),Q5=a.looseObject({kind:a.literal("attachment"),id:Je,jobId:Je.optional(),title:a.string().max(4096),description:a.string().max(20000).optional(),attachment:QEe}),KEe=a.looseObject({id:Je,title:a.string().max(4096).optional(),source:a.string().trim().min(1).max(512),url:Pm.optional(),entityType:a.string().trim().min(1).max(128).optional(),entityId:Je.optional(),excerpt:a.string().max(20000).optional(),provenance:a.record(a.string(),a.unknown()).optional()}),x_=a.looseObject({kind:a.literal("sources"),id:Je,title:a.string().max(4096).optional(),sources:a.array(KEe).min(1).max(100)}),YEe=a.discriminatedUnion("type",[a.object({type:a.literal("prompt"),id:Je,label:a.string().trim().min(1).max(256),prompt:a.string().min(1).max(1e5),description:a.string().max(4096).optional()}),a.object({type:a.literal("event"),id:Je,label:a.string().trim().min(1).max(256),event:a.string().trim().min(1).max(256),fromState:a.string().trim().min(1).max(256).optional(),description:a.string().max(4096).optional()})]),K5=a.looseObject({kind:a.literal("actions"),id:Je,title:a.string().max(4096).optional(),actions:a.array(YEe).min(1).max(100)}),Y5=a.discriminatedUnion("kind",[VEe,Q5,x_,K5]);function Mnt(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e.slice(0,10)){let o=x_.safeParse(r);if(!o.success||o.data.id!=="sources:tool-results")continue;for(let i of o.data.sources){if(t.length>=15)break;if(!i.entityType||!i.entityId||i.entityId.length>256||i.source!==i.entityType||i.id!==`${i.entityType}:${i.entityId}`||n.has(i.id))continue;n.add(i.id);let s;if(i.url&&i.url.length<=512)try{let c=new URL(i.url);if(c.protocol==="https:"&&!c.username&&!c.password&&c.href.length<=512)s=c.href}catch{}t.push({id:i.id,source:i.entityType,entityType:i.entityType,entityId:i.entityId,title:(i.title??i.entityId).slice(0,160),...i.excerpt?{excerpt:i.excerpt.slice(0,280)}:{},...s?{url:s}:{}})}}return t.length?[{kind:"sources",id:"sources:tool-results",title:"Retrieved sources",sources:t}]:[]}var XEe=a.object({id:Je,toolCallId:Je.optional(),toolName:a.string().trim().min(1).max(256),summary:a.string().max(4096),completionSummary:a.string().max(4096).optional(),preview:a.string().max(1e5).optional(),args:a.unknown()}),X5=a.object({toolName:a.string().trim().min(1).max(256),args:a.record(a.string(),a.unknown()).optional(),jobId:Je.optional(),data:a.unknown().optional(),error:a.object({message:a.string().max(4096),code:a.string().trim().min(1).max(256).optional()}).optional()}),_nt=a.looseObject({text:a.string().max(1e6),toolResults:a.array(X5).max(100).optional(),cards:a.array(Y5).max(100).optional(),pendingConfirmations:a.array(XEe).max(100).optional(),usage:a.object({promptTokens:a.number().int().nonnegative(),completionTokens:a.number().int().nonnegative(),totalTokens:a.number().int().nonnegative()})});function znt(e=HEe){let t=eIe(e);return{stream:t,actions:`${t}/actions`,sessions:`${t}/sessions`,sessionArchive:`${t}/sessions/archive`,messages:`${t}/messages`,uploads:`${t}/uploads`,contextSessions:`${t}/context-sessions`,documentAttachments:`${t}/attachments/document`,imageAttachments:`${t}/attachments/image`,jobStatus:`${t}/jobs/status`}}function eIe(e){let t=e.trim();if(!t.startsWith("/")||t.startsWith("//")||t.length>512||/[\s"'<>\\]/u.test(t)||t.includes("?")||t.includes("#"))throw Error("Chat API path must be a same-origin absolute path without query or fragment");let n=t.replace(/\/+$/,"");if(n.length===0)throw Error("Chat API path must not be the site root");return n}var tIe=a.strictObject({version:a.literal(1),sourceId:a.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:a.string().trim().min(1).max(300),titleSeed:a.string().trim().min(1).max(160).refine((e)=>!/[\p{Cc}\p{Cf}]/u.test(e))}),Fnt=a.object({query:a.string().trim().max(200).default(""),archived:a.boolean().default(!1),offset:a.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).default(0),limit:a.number().int().min(1).max(100).default(25)}),nIe=a.looseObject({id:Je,title:y_,lastActiveAt:b_,archived:a.boolean().optional(),contextHandoff:tIe.optional()}),Nnt=a.looseObject({sessions:a.array(nIe).max(100)}),rIe=a.looseObject({kind:a.string().trim().min(1).max(64),id:Je}),oIe=a.looseObject({kind:a.literal("text"),filename:a.string().trim().min(1).max(255),mediaType:a.string().trim().min(1).max(255),sizeBytes:a.number().int().nonnegative(),createdAt:b_,source:rIe.optional()}),e4=a.looseObject({id:Je,role:a.enum(["user","assistant"]),content:a.string().max(1e6),attachments:a.array(oIe).max(100).optional(),cards:a.array(Y5).max(100).optional()}),jnt=a.looseObject({messages:a.array(e4).max(100)}),Bnt=a.string().min(1).max(256).refine((e)=>e.trim().length>0),Lnt=a.strictObject({messages:a.array(e4).max(100),submission:JEe.nullable()}),qnt=a.object({type:a.literal("text"),text:a.string().max(1e6)}),Znt=a.object({type:a.literal("file"),mediaType:a.string().trim().min(1).max(255).optional(),filename:a.string().trim().min(1).max(255).optional(),url:a.string().min(1).max(2000000)}),t4=a.object({kind:a.literal("upload"),id:G5}),$nt=a.object({type:a.literal("data-upload"),data:a.looseObject({ref:t4})}),iIe=a.object({id:Je,approved:a.boolean(),toolCallId:Je.optional(),toolName:a.string().trim().min(1).max(256).optional(),input:a.record(a.string(),a.unknown()).optional(),title:a.string().max(4096).optional()}),Unt=a.looseObject({state:a.literal("approval-responded"),toolCallId:Je.optional(),toolName:a.string().trim().min(1).max(256).optional(),input:a.record(a.string(),a.unknown()).optional(),title:a.string().max(4096).optional(),approval:iIe}),sIe=a.object({id:Je.optional(),role:a.enum(["user","assistant","system"]),parts:a.array(a.unknown()).max(1000).optional(),content:a.string().max(1e6).optional()}),aIe=(e)=>a.string().trim().min(1).max(e).refine((t)=>!/[\p{Cc}\p{Cf}]/u.test(t)),cIe=a.strictObject({sourceId:a.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:a.string().trim().min(1).max(300),label:aIe(160)}),Wnt=a.object({id:Je.optional(),messages:a.array(sIe).min(1).max(200),trigger:a.string().trim().min(1).max(64).optional(),inboxContext:cIe.optional()}).strict(),Hnt=a.strictObject({id:Je.optional(),messages:a.array(a.strictObject({id:Je,role:a.literal("user"),parts:a.array(a.strictObject({type:a.literal("text"),text:a.string()})).min(1).max(16)})).length(1)}),n4=a.enum(["pending","processing","completed","failed"]),lIe=a.looseObject({type:a.enum(["job","batch"]),status:n4,operationType:a.enum(["file_operations","content_operations","data_processing","batch_processing"]),operationTarget:a.string().max(1024).optional(),message:a.string().max(4096).optional(),progress:a.object({current:a.number().nonnegative(),total:a.number().nonnegative(),percentage:a.number().min(0).max(100)}).optional()}),uIe=a.looseObject({status:a.enum(["tool-running","tool-completed","tool-awaiting-approval","tool-failed"]),toolName:a.string().trim().min(1).max(256),error:a.string().max(4096).optional()}),Jnt=a.discriminatedUnion("type",[a.looseObject({type:a.literal("start"),messageId:Je.optional()}),a.looseObject({type:a.literal("start-step")}),a.looseObject({type:a.literal("finish-step")}),a.looseObject({type:a.literal("finish"),finishReason:a.enum(["length","error","stop","content-filter","tool-calls","other"]).optional()}),a.looseObject({type:a.literal("abort"),reason:a.string().max(4096).optional()}),a.looseObject({type:a.literal("error"),errorText:a.string().max(20000)}),a.looseObject({type:a.literal("text-start"),id:Je}),a.looseObject({type:a.literal("text-delta"),id:Je,delta:a.string().max(1e6)}),a.looseObject({type:a.literal("text-end"),id:Je}),a.looseObject({type:a.literal("reasoning-start"),id:Je}),a.looseObject({type:a.literal("reasoning-delta"),id:Je,delta:a.string().max(1e6)}),a.looseObject({type:a.literal("reasoning-end"),id:Je}),a.looseObject({type:a.literal("tool-input-start"),toolCallId:Je,toolName:a.string().trim().min(1).max(256),title:a.string().max(4096).optional()}),a.looseObject({type:a.literal("tool-input-delta"),toolCallId:Je,inputTextDelta:a.string().max(1e6)}),a.looseObject({type:a.literal("tool-input-available"),toolCallId:Je,toolName:a.string().trim().min(1).max(256),input:a.unknown(),title:a.string().max(4096).optional()}),a.looseObject({type:a.literal("tool-input-error"),toolCallId:Je,toolName:a.string().trim().min(1).max(256),input:a.unknown(),errorText:a.string().max(20000),title:a.string().max(4096).optional()}),a.looseObject({type:a.literal("tool-approval-request"),approvalId:Je,toolCallId:Je}),a.looseObject({type:a.literal("tool-output-available"),toolCallId:Je,output:a.unknown(),preliminary:a.boolean().optional()}),a.looseObject({type:a.literal("tool-output-error"),toolCallId:Je,errorText:a.string().max(20000)}),a.looseObject({type:a.literal("tool-output-denied"),toolCallId:Je}),a.looseObject({type:a.literal("source-url"),sourceId:Je,url:Pm,title:a.string().max(4096).optional()}),a.looseObject({type:a.literal("source-document"),sourceId:Je,mediaType:a.string().trim().min(1).max(255),title:a.string().max(4096),filename:a.string().trim().min(1).max(255).optional()}),a.looseObject({type:a.literal("file"),url:Pm,mediaType:a.string().trim().min(1).max(255)}),a.looseObject({type:a.literal("data-progress"),id:Je.optional(),data:lIe,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-status"),id:Je.optional(),data:uIe,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-tool-result"),id:Je.optional(),data:X5,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-actions"),id:Je.optional(),data:K5,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-sources"),id:Je.optional(),data:x_,transient:a.boolean().optional()}),a.looseObject({type:a.literal("data-attachment"),id:Je.optional(),data:Q5,transient:a.boolean().optional()})]),Vnt=a.strictObject({conversationId:Je}),Gnt=a.object({title:y_}).strict(),Qnt=a.object({renamed:a.boolean(),title:y_}),Knt=a.object({archived:a.boolean()}),Ynt=a.object({deleted:a.boolean()}),Xnt=a.object({conversationId:Je,action:V5}).strict(),ert=a.looseObject({id:Je,status:n4,message:a.string().max(4096).optional()}),trt=a.looseObject({id:G5,ref:t4,filename:a.string().trim().min(1).max(255),mediaType:a.string().trim().min(1).max(255),sizeBytes:a.number().int().nonnegative(),createdAt:b_,url:H5,downloadUrl:H5}).refine((e)=>e.id===e.ref.id,{path:["ref","id"],message:"Upload response ids must match"});var Ie=Bt("conversations",{id:le("id").primaryKey(),sessionId:le("session_id").notNull(),interfaceType:le("interface_type").notNull(),channelId:le("channel_id").notNull(),personId:le("person_id"),started:le("started").notNull(),lastActive:le("last_active").notNull(),metadata:le("metadata"),created:le("created").notNull(),updated:le("updated").notNull()},(e)=>({sessionIdx:Ft("idx_conversations_session").on(e.sessionId),channelIdx:Ft("idx_conversations_channel").on(e.channelId),personIdx:Ft("idx_conversations_person").on(e.personId),interfaceSessionIdx:Ft("idx_conversations_interface_session").on(e.interfaceType,e.sessionId),interfaceChannelIdx:Ft("idx_conversations_interface_channel").on(e.interfaceType,e.channelId)})),Nn=Bt("messages",{id:le("id").primaryKey(),conversationId:le("conversation_id").notNull().references(()=>Ie.id,{onDelete:"cascade"}),role:le("role").notNull(),content:le("content").notNull(),timestamp:le("timestamp").notNull(),metadata:le("metadata")},(e)=>({conversationIdx:Ft("idx_messages_conversation").on(e.conversationId),timestampIdx:Ft("idx_messages_timestamp").on(e.timestamp)})),cp=Bt("summary_tracking",{conversationId:le("conversation_id").primaryKey().references(()=>Ie.id,{onDelete:"cascade"}),lastSummarizedAt:le("last_summarized_at"),lastMessageId:le("last_message_id"),messagesSinceSummary:qe("messages_since_summary").default(0),updated:le("updated").notNull()});function r4(e){return Ui({url:e.url,schema:{conversations:Ie,messages:Nn,summaryTracking:cp},authToken:e.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var pIe=a.preprocess((e)=>{if(typeof e!=="string")return e;try{return JSON.parse(e)}catch{return}},a.record(a.string(),a.unknown())).catch({});function Xa(e){return pIe.parse(e)}var vT="conversation:messageAdded",S_="conversation:started",py=a.object({identity:Ns,interfaceType:a.string(),role:Gd,displayName:a.string().optional(),username:a.string().optional(),isBot:a.boolean().optional()}),dIe=a.preprocess(mIe,py);function mIe(e){if(!ui(e)||"identity"in e)return e;let{actorId:t,interfaceType:n,role:r}=e;if(typeof t!=="string"||typeof n!=="string"||r!=="user"&&r!=="assistant")return e;let{userId:o,canonicalId:i}=e;return{identity:o4({actorId:t,interfaceType:n,role:r,...typeof o==="string"?{userId:o}:{},...typeof i==="string"?{canonicalId:i}:{}}),interfaceType:n,role:r,...typeof e.displayName==="string"?{displayName:e.displayName}:{},...typeof e.username==="string"?{username:e.username}:{},...typeof e.isBot==="boolean"?{isBot:e.isBot}:{}}}var dy=a.object({messageId:a.string().optional(),channelId:a.string().optional(),channelName:a.string().optional(),threadId:a.string().optional(),metadata:a.record(a.string(),a.unknown()).optional()}),i4=a.looseObject({actor:dIe.optional(),source:dy.optional()});function s4(e){if(typeof e==="string")try{let t=JSON.parse(e);return ui(t)?t:null}catch{return null}return ui(e)?e:null}function fIe(e){if(e.role!=="assistant")return!1;if(e.content.trim().length===0)return!1;let t=s4(e.metadata),n=t?.entityMemoryRefs;if(Array.isArray(n)&&n.length>0)return!1;let r=t?.cards;if(!Array.isArray(r))return!0;return!r.some((o)=>{if(!ui(o))return!1;if(o.kind==="tool-approval")return!0;return o.kind==="actions"&&o.id==="actions:upload-intent"})}var gIe=a.object({id:a.string(),conversationId:a.string(),role:a.string(),content:a.string(),timestamp:a.string(),metadata:a.string().nullable()}),a4=a.object({conversationId:a.string(),messageCount:a.number(),messages:a.array(gIe),windowStart:a.number(),windowEnd:a.number(),windowSize:a.number(),timestamp:a.string()});var Gi=S`strftime('%Y-%m-%dT%H:%M:%fZ', 'now')`;function v_(){return l4(!1)}function c4(){return l4(!0)}function l4(e){let t=xT.shape.maxAgeSeconds.maxValue,n=S`(
165
165
  CAST(round((julianday(${Gi}) - julianday(${Ie.started})) * 86400000) AS INTEGER) >= json_extract(${Ie.metadata}, '$.guest.retention.maxAgeSeconds') * 1000
166
166
  OR CAST(round((julianday(${Gi}) - julianday(${Ie.lastActive})) * 86400000) AS INTEGER) >= json_extract(${Ie.metadata}, '$.guest.retention.idleSeconds') * 1000
167
167
  )`;return S`CASE WHEN json_valid(${Ie.metadata}) THEN coalesce(
@@ -184,7 +184,7 @@ Instructions:
184
184
  instr(lower(coalesce(json_extract(${Ie.metadata}, '$.title'), '')), ${r.trim().toLowerCase()}) > 0
185
185
  OR EXISTS (SELECT 1 FROM ${Nn} WHERE ${Nn.conversationId} = ${Ie.id}
186
186
  AND instr(lower(${Nn.content}), ${r.trim().toLowerCase()}) > 0)
187
- )`:void 0].filter((g)=>g!==void 0),d=this.db.select().from(Ie).orderBy(dn(Ie.lastActive),dn(Ie.id)).limit(t).offset(n);if(p.length===0)return d;return d.where(oe(...p))}async searchConversations(e,t){let n=`%${e.toLowerCase()}%`;return(await this.db.selectDistinct({conversation:Ie}).from(Ie).leftJoin(Nn,O(Nn.conversationId,Ie.id)).where(oe(il(Ie.interfaceType,fo),t?S`lower(${Nn.content}) LIKE ${n} AND ${Ie.sessionId} = ${t}`:S`lower(${Nn.content}) LIKE ${n}`)).orderBy(dn(Ie.lastActive))).map((o)=>o.conversation)}async countMessages(e){let t=await this.getConversation(e);if(!t)return 0;let[n]=await this.db.select({count:FG()}).from(Nn).where(oe(O(Nn.conversationId,e),al(this.db.select({id:Ie.id}).from(Ie).where(this.accessCondition(t)))));return Number(n?.count??0)}async updateConversationMetadata(e){let t=await this.getConversation(e.conversationId);if(!t)return!1;if(t.interfaceType===fo&&"guest"in e.metadata)throw Error("Guest ownership cannot be changed");let n=new Date().toISOString(),r={...Xa(t.metadata),...e.metadata},o=Promise.resolve().then(()=>this.db.update(Ie).set({metadata:JSON.stringify(r),updated:n}).where(this.accessCondition(t)).returning({id:Ie.id})),i=t.interfaceType===fo?await o.catch(()=>null):await o;if(!i)throw Error("Guest conversation write unavailable");if(i.length!==1)return!1;if(t.interfaceType!==fo)this.logger.debug("Updated conversation metadata",{conversationId:e.conversationId});return!0}async deleteExpiredGuestConversations(e=100){a.number().int().min(1).max(1000).parse(e);let t=this.db.select({id:Ie.id}).from(Ie).where(oe(O(Ie.interfaceType,fo),c4())).orderBy(st(Ie.lastActive)).limit(e);return(await this.db.delete(Ie).where(kt(Ie.id,t)).returning({id:Ie.id})).length}async deleteConversation(e){let t=await this.findConversation(e);if(!t)return!1;if(await this.db.delete(Ie).where(O(Ie.id,e)),t.interfaceType!==fo)this.logger.debug("Deleted conversation",{conversationId:e});return!0}async checkAndBroadcastDigest(e,t){let n=await this.countMessages(e),r=this.config.digestTriggerInterval??10;if(n>0&&n%r===0)await this.broadcastDigest(e,n,t)}async broadcastDigest(e,t,n){let r=this.config.digestWindowSize??20,o=Math.max(1,t-r+1),i=t,s=await this.getMessages(e,{range:{start:o,end:i}}),c={conversationId:e,messageCount:t,messages:s,windowStart:o,windowEnd:i,windowSize:s.length,timestamp:n};await this.messageBus.send({type:U5.digest,payload:c,sender:"conversation-service",broadcast:!0}),this.logger.debug("Broadcast conversation digest",{conversationId:e,messageCount:t,windowStart:o,windowEnd:i,windowSize:s.length})}}function yIe(e){let t=Gd.safeParse(e);return t.success?t.data:"user"}function TT(e){let t=Xa(e.metadata),n=typeof t.channelName==="string"?t.channelName:void 0;return{id:e.id,sessionId:e.sessionId,interfaceType:e.interfaceType,channelId:e.channelId,...e.personId?{personId:e.personId}:{},channelName:n,startedAt:e.started,lastActiveAt:e.lastActive,createdAt:e.created,updatedAt:e.updated,metadata:t}}function u4(e){return{id:e.id,conversationId:e.conversationId,role:yIe(e.role),content:e.content,timestamp:e.timestamp,metadata:Xa(e.metadata)}}function p4(e){return NA.parse(e)}function d4(e){return jA.parse(e)}function bIe(e){return Z5(e[0])}function m4(e){return async()=>$5(await e.getAppInfo())}function f4(e,t){return{get:()=>p4(e.getIdentity()),getProfile:()=>d4(e.getProfile()),getAppInfo:t}}function g4(e,t){let n=e.getProfileKindRegistry();return{register:(r)=>{n.register(t,r)},getResolved:()=>n.getResolved(),getSelectedDefinition:()=>n.getSelectedDefinition()}}function w_(e){let t=e.getChannelRegistry();return{listDescriptors:()=>t.listDescriptors(),getDescriptor:(n)=>t.getDescriptor(n),getDeliveryProvider:(n)=>t.getDeliveryProvider(n)}}function h4(e,t){let n=e.getOperationalHealthRegistry();return{register:(r,o)=>n.register(t,r,o)}}function y4(e,t){let n=e.getInboxRegistry();return{registerSource:(r)=>{n.registerSource(t,r)},listSources:()=>n.listSources(),getSource:(r)=>n.getSource(r)}}function b4(e,t){let n=e.getInboxFollowUpRegistry();return{registerKind:(r)=>{n.registerKind(t,r)},listKinds:()=>n.listKinds(),getKind:(r)=>n.getKind(r),resolve:(r)=>n.resolve(r),resolveUniversal:(r)=>n.resolveUniversal(r)}}function x4(e,t){let n=e.getChannelRegistry();return{...w_(e),registerDescriptor:(r)=>{n.registerDescriptor(t,r)},registerDeliveryProvider:(r)=>{n.registerDeliveryProvider(t,r)}}}function S4(e,t,n,r=!1){let o=e.getMessageBus();return{send:async(s)=>o.send({...s,sender:t}),subscribe:(...s)=>{if(r)return()=>{};if(bIe(s)){let[u,p]=s,d=async(g)=>{let f=u.schema.safeParse(g.payload);if(!f.success)return n.warn(`Invalid payload for channel ${u.name}`,{error:f.error.message}),{noop:!0};let{payload:v,...w}=g;return p(f.data,w)};return o.subscribe(u.name,d)}let[c,l]=s;return o.subscribe(c,l)},subscribeExecution:(s,c)=>o.subscribe(s,c)}}function v4(e,t){let n=e.getJobQueueService();return{...e.jobs,enqueue:uy(n,t,!0),enqueueBatch:f_(e.jobs,t),registerHandler:g_(n,t)}}function w4(e){let t=e.getPermissionService();return{assertEntityActionAllowed:(n,r,o)=>{t.assertEntityActionAllowed(n,r,o.userPermissionLevel)}}}function T4(e){return{get:async(t)=>{let r=await e.getConversationService().getConversation(t);return r?TT(r):null},search:async(t)=>(await e.getConversationService().searchConversations(t)).map(TT),list:async(t)=>(await e.getConversationService().listConversations(t)).map(TT),getMessages:async(t,n)=>(await e.getConversationService().getMessages(t,n)).map(u4),countMessages:async(t)=>e.getConversationService().countMessages(t)}}function C4(e,t){return{registerHandler:(n,r)=>{e.registerEvalHandler(t,n,r)}}}function E4(e){return{register:(t,n)=>{e.getInsightsRegistry().register(t,n)}}}function I4(e){return{has:(t)=>e.getPluginPackageName(t)!==void 0}}function k4(e,t){return{register:(n)=>{e.registerEndpoint({...n,pluginId:t})}}}function R4(e,t){return{register:(n)=>{e.registerInteraction({...n,pluginId:t})}}}var my="studio:register-workspace",CT="studio:unregister-workspace",T_="DeclarativeOperatorWorkspace";function xIe(e,t){if(e.userPermissionLevel!=="admin")throw Error(`${t} requires admin permission`)}function ET(e,t){return Error(`Studio workspace ${e} failed: ${t??"unknown host error"}`)}function P4(e,t,n){return{isAvailable:()=>n(my),async registerWorkspace(r){if(!n(my))return!1;let o=await e.send({type:my,payload:{...r,pluginId:t}});if("noop"in o)throw ET("register",void 0);if(!o.success||o.data===void 0)throw ET("register",o.error);return o.data},async unregisterWorkspace(r){if(!n(CT))return!1;let o={pluginId:t,...r?{workspaceId:r}:{}},i=await e.send({type:CT,payload:o});if("noop"in i)throw ET("unregister",void 0);if(!i.success)throw ET("unregister",i.error);return!0}}}var E_="DeclarativeOperatorWidget",kT="studio:register-overview-contribution",C_="studio:unregister-overview-contribution";function IT(e,t){if("success"in t&&t.success)return!0;let n="error"in t?t.error:void 0;throw Error(`Dashboard widget ${e} failed: ${n??"unknown host error"}`)}function A4(e,t,n){return{isAvailable:()=>n(Am.registerWidget)||n(kT),registerWidget:async(r)=>{let o=!1;if(n(Am.registerWidget)){let s=await e.send({type:Am.registerWidget,payload:{...r,pluginId:t}});IT("register",s),o=!0}let i=r.visibility??"public";if(i!=="public"&&n(kT)){let s={...r,pluginId:t,visibility:i},c=await e.send({type:kT,payload:s});IT("register",c),o=!0}return o},unregisterWidget:async(r)=>{let o=!1;if(n(Am.unregisterWidget)){let i=await e.send({type:Am.unregisterWidget,payload:{pluginId:t,...r?{widgetId:r}:{}}});IT("unregister",i),o=!0}if(n(C_)){let i={pluginId:t,...r?{contributionId:r}:{}},s=await e.send({type:C_,payload:i});IT("unregister",s),o=!0}return o}}}var I_=a.object({name:a.string(),description:a.string(),tags:a.array(a.string()),examples:a.array(a.string())});var O4=100;function SIe(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,200);return t.length>0?t:"skill"}function D4(e){return{async list(){let t=e.getEntityService();if(t.hasEntityType("skill")){let n;try{n=await t.listEntities({entityType:"skill",options:{filter:{visibilityScope:"public"}}})}catch{n=void 0}if(n!==void 0){let r=n.map((o)=>I_.safeParse(o.metadata)).filter((o)=>o.success).map(({data:o})=>({id:SIe(o.name),name:o.name,description:o.description,tags:o.tags,examples:o.examples}));if(r.length>0)return r.slice(0,O4)}}return e.listToolsForPermissionLevel("public").map((n)=>({id:n.name,name:n.name,description:n.description,tags:[],examples:[]})).slice(0,O4)}}}function lp(e,t,n){let r=e.getEntityService(),o=e.getLogger().child(t),i=e.getDomain(),s=e.getLocalSiteUrl(),c=e.shouldPreferLocalUrls(),l=e.getThemeCSS(),u=m4(e),p=e.getAttachmentRegistry(),d=e.getRuntimeUploadRegistry(),g=e.getRuntimeState(),f=e.getAccountSettingsRegistry(),v=n?.executionOnly===!0,w=S4(e,t,o,v);return{pluginId:t,executionOnly:v,logger:o,entityService:r,semantic:{project:(I)=>r.projectSemanticSpace(I)},identity:f4(e,u),profileKinds:g4(e,t),channels:w_(e),publicSkills:D4(e),inbox:y4(e,t),inboxFollowUps:b4(e,t),appInfo:u,readiness:()=>e.getRuntimeReadiness(),operationalHealth:h4(e,t),judge:(I)=>e.judge(I),domain:i,siteUrl:i?`https://${i}`:void 0,localSiteUrl:s,previewUrl:i?`https://${r_(i)}`:void 0,preferLocalUrls:c,themeCSS:l,entityDisplay:n?.entityDisplay,spaces:e.getSpaces(),permissions:w4(e),messaging:w,dashboard:A4(w,t,(I)=>e.getMessageBus().hasHandlers?.(I)??!1),studio:P4(w,t,(I)=>e.getMessageBus().hasHandlers?.(I)??!1),jobs:v4(e,t),attachments:p,uploads:d,accountSettings:f,runtimeState:g,recurringChecks:e.getRecurringChecks(t),conversations:T4(e),dataDir:e.getDataDir(),gitBrokerSocket:e.getGitBrokerSocket(),gitBrokerCheckout:e.getGitBrokerCheckout(),eval:v?{registerHandler:()=>{}}:C4(e,t),insights:v?{register:()=>{}}:E4(e),plugins:I4(e),endpoints:v?{register:()=>{}}:k4(e,t),interactions:v?{register:()=>{}}:R4(e,t)}}function M4(e){return e.replace(/:/g,"-")}function vIe(e){return e.split(/[:.-]/).map((t)=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function _4(e){return nr(e,a.record(a.string(),a.unknown())).content}async function wIe(e,t,n){let r=await e("prompt",M4(t));return r?.content?_4(r.content):n}var k_=new Map;async function RT(e,t,n){let r=k_.get(t);if(r!==void 0)return r;let o=M4(t),i;try{i=await e.getEntity({entityType:"prompt",id:o})}catch{return n}if(i?.content){let l=_4(i.content);return k_.set(t,l),l}let s=vIe(t),c=La(n,{title:s,target:t});try{await e.createEntity({entity:{id:o,entityType:"prompt",content:c,metadata:{title:s,target:t,slug:o}}})}catch{}return k_.set(t,n),n}async function TIe(e,t){let n=e.list().filter((r)=>!!r.basePrompt);return await Promise.all(n.map((r)=>RT(t,r.name,r.basePrompt))),n.length}function PT(e){let t=e.getEntityService(),n=e.getEntityRegistry(),r=e.getDataSourceRegistry();return{validateGroupings:(o)=>n.validateGroupings(o),registerGrouping:(o)=>n.registerGrouping(o),getGroupings:()=>n.getGroupings(),isGroupingContributor:(o)=>n.isGroupingContributor(o),register:(o,i,s,c)=>{n.registerEntityType(o,i,s,c)},getAdapter:(o)=>{try{return n.getAdapter(o)}catch{return}},extendFrontmatterSchema:(o,i)=>{n.extendFrontmatterSchema(o,i)},getEffectiveFrontmatterSchema:(o)=>n.getEffectiveFrontmatterSchema(o),registerPersistValidator:(o,i)=>{n.registerPersistValidator(o,i)},registerCreateInterceptor:(o,i)=>{n.registerCreateInterceptor(o,i)},registerUploadSaveHandler:(o)=>{n.registerUploadSaveHandler(o)},getUploadSaveHandler:(o)=>n.getUploadSaveHandler(o),update:async(o)=>t.updateEntity({entity:o}),registerDataSource:(o)=>{r.register(o)}}}function AT(e){return{resolve:(t,n)=>RT(e,t,n)}}function OT(e){return{query:(t,n)=>e.query(t,n),generate:async(t,n)=>n.parse(await e.generateContent(t)),generateObject:async(t,n,r)=>e.generateObject(t,n,r),generateImage:async(t,n)=>e.generateImage(t,n),canGenerateImages:()=>e.canGenerateImages()}}function R_(e,t,n){let r=lp(e,t,n),o=e.getEntityService();return{...r,entityService:o,entities:PT(e),ai:OT(e),prompts:AT(o),permissions:r.permissions}}var P_=a.object({});class fy extends sp{type="entity";entityActionPolicy;constructor(e,t,n,r,o){super(e,t,n,r);if(o!==void 0)this.entityActionPolicy=o}async register(e,t){let n=R_(e,this.id,t);this.context=n,this.setupMessageHandlers(n);let r=this.getProjectionRules(n),o=this.getEntityTypeConfig(),i=r.some((g)=>g.targetType===this.entityType),s=o?.projectionSource!==!1&&o?.projectionSourceRole!=="excluded"&&(o?.projectionSource===!0||o?.projectionSourceRole!==void 0),c=i&&!s?{...o,projectionSource:!1,projectionSourceRole:"excluded"}:o;if(n.entities.register(this.entityType,this.schema,this.adapter,c),this.interceptCreate!==fy.prototype.interceptCreate)n.entities.registerCreateInterceptor(this.entityType,(g,f)=>this.interceptCreate(g,f,n));let l=this.createGenerationHandler(n);if(l)n.jobs.registerHandler(`${this.entityType}:generation`,l);let u=this.getTemplates();if(u&&Object.keys(u).length>0)e.registerTemplates(u,this.id);let p=this.getDataSources();for(let g of p)n.entities.registerDataSource(g);await this.onRegister(this.context);let d=await this.getInstructions();return{tools:[],resources:[],...d&&{instructions:d},...r.length>0&&{projectionRules:r}}}async interceptCreate(e,t,n){return{kind:"continue",input:e}}createGenerationHandler(e){return null}getTemplates(){return null}getDataSources(){return[]}getEntityTypeConfig(){return}getProjectionRules(e){return[]}}function O_(e){return z4(A_(e))}function A_(e,t=new Set){if(e===null)return"null";if(typeof e==="string"||typeof e==="boolean")return JSON.stringify(e);if(typeof e==="number"){if(!Number.isFinite(e))throw Error("Projection inputs cannot contain non-finite numbers");if(Number.isInteger(e)&&!Number.isSafeInteger(e))throw Error("Projection inputs cannot contain unsafe integers");return JSON.stringify(e)}if(typeof e!=="object")throw Error(`Projection inputs cannot contain ${typeof e} values`);if(t.has(e))throw Error("Projection inputs cannot contain circular values");let n=new Set(t).add(e);if(Array.isArray(e))return`[${e.map((o)=>A_(o,n)).join(",")}]`;let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw Error("Projection inputs must contain only plain JSON objects");return`{${Object.entries(e).filter(([,o])=>o!==void 0).sort(([o],[i])=>o.localeCompare(i)).map(([o,i])=>`${JSON.stringify(o)}:${A_(i,n)}`).join(",")}}`}function D_(e){if(e!==null&&typeof e==="object"){for(let t of Object.values(e))D_(t);Object.freeze(e)}return e}var CIe=a.strictObject({id:a.string().trim().min(1),version:a.string().trim().min(1),sources:a.array(a.strictObject({kind:a.literal("entity"),types:a.array(a.string().trim().min(1)).min(1),excludeTypes:a.array(a.string().trim().min(1)).optional()})),targetType:a.string().trim().min(1),sourceChangeBatchDelayMs:a.number().int().nonnegative().default(0)});function M_(e){let t=CIe.parse({id:e.id,version:e.version,sources:e.sources,targetType:e.targetType,sourceChangeBatchDelayMs:e.sourceChangeBatchDelayMs});if(typeof e.selectInput!=="function")throw Error(`Projection rule "${t.id}" must select input`);if(typeof e.derive!=="function")throw Error(`Projection rule "${t.id}" must derive output`);let n=t.sources.map((r)=>{let o=Object.freeze([...r.types]),i=r.excludeTypes?Object.freeze([...r.excludeTypes]):void 0,s={kind:"entity",types:o,...i?{excludeTypes:i}:{}};return Object.freeze(s)});return Object.freeze({id:t.id,version:t.version,sources:Object.freeze(n),targetType:t.targetType,sourceChangeBatchDelayMs:t.sourceChangeBatchDelayMs,inputSchema:e.inputSchema,selectInput:async(r,o,i)=>{let s=await e.selectInput(r,o,i),c=Ji.parse(s);return D_(e.inputSchema.parse(c))},fingerprint:O_,derive:async(r,o,i)=>{let s=e.inputSchema.parse(r),c=a.array(dl).parse(await e.derive(s,o,i));for(let l of c){let u=l.operation==="upsert"?l.entity.entityType:l.entityType;if(u!==t.targetType)throw Error(`Projection rule "${t.id}" cannot write entity type "${u}"`)}return D_(c)}})}var EIe=a.record(a.string(),a.unknown()),IIe=a.object({items:a.array(a.object({operation:a.enum(["upsert","delete"]),id:a.string(),source:Ji.optional()}))}),F4=new WeakMap;function DT(e){let t=F4.get(e);if(!t)t=ai.extend({entityType:a.literal(e.type),metadata:e.metadata}),F4.set(e,t);return t}function Om(e,t){let n=DT(e).parse(t);return{...n,entityType:e.type,metadata:Qa(e.metadata,n.metadata)}}function N4(e,t){return e.markdown?e.markdown.encode({content:t.content,metadata:e.metadata.parse(t.metadata)}):{content:t.content,frontmatter:t.metadata}}function j4(e,t){let n=N4(e,t);return La(n.content,n.frontmatter)}function kIe(e){let t=DT(e);return{entityType:e.type,purpose:e.purpose,schema:t,frontmatterSchema:e.metadata,toMarkdown(n){return j4(e,n)},fromMarkdown(n){let r=nr(n,EIe),o=e.markdown?e.markdown.decode({content:r.content,frontmatter:r.metadata}):{content:r.content,metadata:r.metadata};return{content:o.content,metadata:e.metadata.parse(o.metadata)}},extractMetadata:(n)=>n.metadata,parseFrontMatter:(n,r)=>nr(n,r).metadata,generateFrontMatter(n){return vh(N4(e,n).frontmatter)},getBodyTemplate:()=>""}}async function RIe(e,t,n){let r=DT(e.source).parse(t),o=[];return await e.project({source:r,signal:n,target:{async upsert(i){let s=Ji.parse(e.target.metadata.parse(i.metadata)),c=i.visibility??"public";o.push({operation:"upsert",entity:{id:i.id,entityType:e.target.type,content:Kd(j4(e.target,{content:i.content,metadata:s}),c),metadata:s,visibility:c}})}}}),o}function PIe(e,t,n){return M_({id:n(e.id),version:t,sources:[{kind:"entity",types:[e.source.type]}],targetType:e.target.type,inputSchema:Ji,async selectInput(r,o){let i=r.inputs.filter(({sourceType:c})=>c===e.source.type),s=await Promise.all(i.map(async(c)=>{if(c.operation==="delete")return{operation:"delete",id:c.sourceId};let l=await o.entities.getEntity({entityType:c.sourceType,id:c.sourceId,visibilityScope:"restricted"});if(!l)throw Error(`Projection "${e.id}" could not load ${c.sourceType}:${c.sourceId}`);return{operation:"upsert",id:c.sourceId,source:l}}));return Ji.parse({items:s})},async derive(r,o,i){let s=IIe.parse(r),c=[];for(let l of s.items){if(i.throwIfAborted(),l.operation==="delete"){c.push({operation:"delete",entityType:e.target.type,id:l.id});continue}if(!l.source)throw Error(`Projection "${e.id}" upsert item ${l.id} is missing its source`);c.push(...await RIe(e,l.source,i))}return c}})}class B4 extends fy{projections;scope;entityType;schema;adapter;constructor(e,t,n,r){super(r(e.type),n,{},P_);this.projections=t,this.scope=r,this.entityType=e.type,this.schema=DT(e),this.adapter=kIe(e)}getProjectionRules(){return this.projections.map((e)=>PIe(e,this.version,this.scope))}}function L4(e,t,n,r){return e.map((o)=>new B4(o,t.filter(({source:i})=>i===o),n,r))}var q4=Symbol.for("rizom.plugin-package.runtime-factory");function Dm(){return a.custom((e)=>e!==null&&typeof e==="object")}function sr(e,t){if(!/^[a-z][a-z0-9-]*$/u.test(e))throw Error(`${t} must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens`)}function wl(e){sr(e.id,"Plugin definition id");let t={kind:"rizom-plugin-package",family:e.family,id:e.id,config:e.config},n=Object.assign({},e.public,t);return Object.defineProperty(n,q4,{configurable:!1,enumerable:!1,value:e.instantiate,writable:!1}),Object.freeze(n)}function AIe(e){if(e===null||typeof e!=="object")return!1;let t=Reflect.get(e,"config");return Reflect.get(e,"kind")==="rizom-plugin-package"&&typeof Reflect.get(e,"id")==="string"&&typeof Reflect.get(e,"family")==="string"&&t!==null&&typeof t==="object"&&typeof Reflect.get(t,"safeParse")==="function"&&typeof Reflect.get(e,q4)==="function"}function OIe(e){if(sr(e.type,"Entity type"),!e.purpose.trim())throw Error(`Entity "${e.type}" purpose must not be empty`);return Object.freeze({kind:"rizom-entity",...e})}function DIe(e){return sr(e.id,"Projection id"),Object.freeze({kind:"rizom-projection",...e})}var MIe=a.object({});function _Ie(e){let t=Object.freeze([...e.entities]),n=Object.freeze([...e.projections??[]]),r=new Set(t),o=t.map(({type:l})=>l);if(new Set(o).size!==o.length)throw Error(`Entity package "${e.id}" contains duplicate entity types`);let i=n.map(({id:l})=>l);if(new Set(i).size!==i.length)throw Error(`Entity package "${e.id}" contains duplicate projection ids`);let s=n.find(({source:l,target:u})=>!r.has(l)||!r.has(u));if(s)throw Error(`Entity package "${e.id}" projection "${s.id}" references an entity outside its package`);let c={entities:t,projections:n};return wl({family:"entity",id:e.id,config:MIe,public:c,instantiate:({package:l,scope:u})=>L4(t,n,l,u)})}function Tl(e){return Object.freeze(e),e}var zIe=["public","trusted","admin"];function zo(e,t){if(!e.trim())throw Error(`${t} must not be empty`)}function gy(e,t){if(e!==void 0)zo(e,t)}function __(e,t){if(e!==void 0&&!Number.isFinite(e))throw Error(`${t} priority must be finite`)}function hy(e,t){if(!zIe.includes(e))throw Error(`${t} permission "${String(e)}" is unsupported`)}function ec(e,t){return ip.hasPermission(e,t)}function Z4(e){if(typeof e.load!=="function")throw Error(`Dashboard widget "${e.definition.id}" was not bound by defineDashboardWidget().bind()`);return e.load}function $4(e){if(sr(e.id,"Dashboard widget id"),zo(e.title,`Dashboard widget "${e.id}" title`),zo(e.group,`Dashboard widget "${e.id}" group`),gy(e.description,`Dashboard widget "${e.id}" description`),__(e.priority,`Dashboard widget "${e.id}"`),hy(e.permission,`Dashboard widget "${e.id}"`),!["primary","secondary","sidebar"].includes(e.placement))throw Error(`Dashboard widget "${e.id}" placement "${String(e.placement)}" is unsupported`);let t={kind:"rizom-dashboard-widget",...e,bind(n,r){return Tl({kind:"rizom-dashboard-widget-binding",definition:t,load:r})}};return Object.freeze(t)}var U4=Symbol("rizom.studio-workspace-executor");function W4(e){let t=e[U4];if(!t)throw Error(`Studio workspace "${e.definition.id}" was not bound by defineStudioWorkspace().bind()`);return t}function H4(e){sr(e.id,"Studio workspace id"),zo(e.label,`Studio workspace "${e.id}" label`),gy(e.description,`Studio workspace "${e.id}" description`),__(e.priority,`Studio workspace "${e.id}"`),hy(e.permission,`Studio workspace "${e.id}"`);let t=new Set;for(let r of e.actions){if(t.has(r.name))throw Error(`Studio workspace "${e.id}" declares action "${r.name}" more than once`);if(t.add(r.name),r.permission!==void 0&&!ec(r.permission,e.permission))throw Error(`Studio workspace "${e.id}" action "${r.name}" permission cannot be lower than the workspace permission`)}let n={kind:"rizom-studio-workspace",...e,...e.entities?{entities:Object.freeze([...e.entities])}:{},actions:Tl(e.actions),bind(r,o){if(n.entityCatalog!==void 0!==(o.listEntityTypes!==void 0))throw Error(`Studio workspace "${n.id}" must bind one entity-type catalog callback exactly when it declares entityCatalog`);let i=new Set;for(let s of o.actions){if(!n.actions.includes(s.definition))throw Error(`Studio workspace "${n.id}" cannot bind undeclared action "${s.definition.name}"`);if(i.has(s.definition))throw Error(`Studio workspace "${n.id}" binds action "${s.definition.name}" more than once`);i.add(s.definition)}for(let s of n.actions)if(!i.has(s))throw Error(`Studio workspace "${n.id}" has no executor for action "${s.name}"`);return Object.freeze({kind:"rizom-studio-workspace-binding",definition:n,actions:Object.freeze([...o.actions]),[U4]:Object.freeze({...o.authorize?{authorize:o.authorize}:{},load:o.load,...o.listEntityTypes?{listEntityTypes:o.listEntityTypes}:{}})})}};return Object.freeze(n)}var tc=a.string().trim().min(1).max(120),J4=a.string().trim().min(1).max(400),Ls=a.string().trim().min(1).max(160),z_=a.string().max(500),MT=a.string().max(4000),V4=a.string().max(1e5),F_=a.number().finite().min(0).max(1),Mm=a.enum(["good","warn","neutral","error"]),N_=a.union([a.string().max(2000),a.number().finite(),a.boolean(),a.null()]),FIe=a.object({label:Ls,value:a.union([a.string().max(500),a.number().finite()]),caption:z_.optional(),tone:Mm.optional()}).strict(),G4=a.object({type:a.literal("stats"),id:tc.optional(),items:a.array(FIe).max(20).readonly()}).strict(),NIe=a.object({label:Ls,value:N_}).strict(),Q4=a.object({type:a.literal("key-values"),id:tc.optional(),items:a.array(NIe).max(40).readonly()}).strict(),K4=a.object({type:a.literal("notice"),id:tc.optional(),title:Ls.optional(),text:MT,details:a.array(V4).max(50).readonly().optional(),tone:Mm.optional()}).strict(),Y4=a.object({type:a.literal("text"),id:tc.optional(),label:Ls.optional(),text:V4,truncated:a.boolean().optional()}).strict(),jIe=a.object({id:tc,label:Ls,value:a.number().finite().nonnegative(),max:a.number().finite().positive().optional(),unit:Ls.optional(),tone:Mm.optional()}).strict().superRefine((e,t)=>{if(e.max!==void 0&&e.value>e.max)t.addIssue({code:"custom",message:"Meter value cannot exceed its maximum",path:["value"]})}),X4=a.object({type:a.literal("meters"),id:tc,items:a.array(jIe).max(30).readonly()}).strict(),e9=a.object({type:a.literal("progress"),id:tc,label:Ls,state:Ls,detail:MT.optional(),startedAt:a.string().datetime().optional(),updatedAt:a.string().datetime().optional(),progress:F_.optional(),tone:Mm.optional()}).strict();function t9(e){return sr(e.id,"Entity catalog id"),zo(e.label,`Entity catalog "${e.id}" label`),Object.freeze({kind:"rizom-entity-catalog",...e})}var n9=Symbol("rizom.workspace-action-executor");function j_(e){let t=e[n9];if(!t)throw Error(`Workspace action "${e.definition.name}" was not bound by defineWorkspaceAction().bind()`);return t}function r9(e){if(sr(e.name,"Workspace action name"),zo(e.label,`Workspace action "${e.name}" label`),e.confirmation?.kind==="static")zo(e.confirmation.message,`Workspace action "${e.name}" confirmation`);if(e.permission!==void 0)hy(e.permission,`Workspace action "${e.name}"`);let t={kind:"rizom-workspace-action",...e,bind(n,r,o){if(t.confirmation?.kind==="prepared"&&!o)throw Error(`Workspace action "${t.name}" requires a prepared confirmation callback`);return Object.freeze({kind:"rizom-workspace-action-binding",definition:t,[n9]:Object.freeze({execute:r,...o?{prepare:o}:{}})})}};return Object.freeze(t)}var o9=new WeakMap;function i9(e){if(sr(e.name,"Job name"),e.retry&&(!Number.isInteger(e.retry.attempts)||e.retry.attempts<1))throw Error(`Job "${e.name}" retry attempts must be at least 1`);if(e.deadline)B_(e.deadline);let t={kind:"rizom-service-job",...e,handle(n){let r=Object.freeze({kind:"rizom-service-job-binding",definition:t});return o9.set(r,async(o)=>n({...o,input:Qa(t.input,o.input)})),r}};return Object.freeze(t)}function s9(e){let t=o9.get(e);if(!t)throw Error(`Job "${e.definition.name}" was not created by defineJob().handle()`);return t}function B_(e){let t=/^(\d+)(ms|s|m)$/u.exec(e);if(!t)throw Error(`Invalid job deadline "${e}"`);let n=Number(t[1]);if(!Number.isSafeInteger(n)||n<1)throw Error(`Job deadline "${e}" must be positive`);let r=t[2];return n*(r==="m"?60000:r==="s"?1000:1)}function a9(e){if(sr(e.name,"Tool name"),!e.description.trim())throw Error(`Tool "${e.name}" description must not be empty`);return Object.freeze({kind:"rizom-service-tool",...e})}var L_=a.enum(["text","url","number","checkbox","select"]),c9=L_.exclude(["select"]);function q_(e){zo(e.title,"Account settings title"),gy(e.description,"Account settings description");let t=Object.keys(e.schema.shape),n=new Set(Object.keys(e.fields));for(let[o,i]of Object.entries(e.fields)){if(!t.includes(o))throw Error(`Account settings field "${o}" is not declared by the settings schema`);if(zo(i.label,`Account settings field "${o}" label`),i.control!==void 0&&!c9.safeParse(i.control).success)throw Error(`Account settings field "${o}" has unsupported control "${String(i.control)}"`);if(i.secret!==void 0&&typeof i.secret!=="boolean")throw Error(`Account settings field "${o}" secret must be boolean`)}for(let o of t)if(!n.has(o))throw Error(`Account settings schema field "${o}" has no field declaration; declare its label and whether it is secret`);let r=e.fields;for(let o of Object.values(r))Object.freeze(o);return Object.freeze(r),Object.freeze({kind:"rizom-account-settings",...e,fields:r})}import{AsyncLocalStorage as oRe}from"async_hooks";var l9=Symbol("service-content-target");function u9(e,t){if(e.template.includes(":")||!t(e.template))throw Error(`Unknown or non-generatable service template: ${e.template}`);let n=mT.parse({templateName:e.template,context:e.context,destination:{entityType:e.destination.entity.type,idPath:e.destination.idPath,metadata:pl.parse(e.destination.entity.metadata.parse(e.destination.metadata)),visibility:e.destination.visibility}});return Object.freeze({...n,[l9]:!0})}function _T(){return Object.freeze({})}import{createHash as Zke,randomUUID as $ke}from"crypto";var yy=new WeakMap;function p9(e,t){let n=yy.get(e);if(n&&n!==t)throw Error(`Job "${e.name}" is registered as both "${n}" and "${t}"`);yy.set(e,t)}function d9(e,t){if(yy.get(e)===t)yy.delete(e)}function by(e){let t=yy.get(e);if(!t)throw Error(`Job "${e.name}" is not registered by an active declarative service`);return t}function BIe(e,t){let n={...t};for(let r in n)if(e.fields[r]?.secret===!0)delete n[r];return Object.freeze(n)}function LIe(e,t){return e.parse(t)}function m9(e,t){let n=t.status==="completed"&&t.result!==void 0?LIe(e.output,t.result):void 0;return Object.freeze({id:t.id,status:t.status,...n!==void 0?{result:n}:{},...t.lastError?{error:t.lastError}:{}})}function qIe(e){return{async enqueue(t,n){let r=by(t),o=await e.jobs.enqueue({type:r,data:t.input.parse(n),options:{source:e.pluginId,metadata:{operationType:"data_processing",pluginId:e.pluginId}}});return Object.freeze({id:o,status:async()=>{let i=await e.jobs.getStatus(o);return i?.type===r?m9(t,i):null}})},async status(t,n){let r=by(t),o=await e.jobs.getStatus(n);return o?.type===r?m9(t,o):null}}}async function zT(e){let{caller:t,signal:n}=e.provider;n.throwIfAborted();let r=t?.permission??"public",o=Rs(r),i=t&&e.accountSettingsRegistration?await e.context.accountSettings.getForActor(e.accountSettingsRegistration,t.actor.id):null,s=i&&e.accountSettingsRegistration?BIe(e.accountSettingsRegistration.definition,i):null;return{config:e.config,state:e.state,caller:t,settings:s,entities:{async get(c,l){n.throwIfAborted();let u=await e.context.entityService.getEntity({entityType:c.type,id:l,visibilityScope:o});return n.throwIfAborted(),u?Om(c,u):null},async list(c){n.throwIfAborted();let l=await e.context.entityService.listEntities({entityType:c.type,options:{filter:{visibilityScope:o}}});return n.throwIfAborted(),l.map((u)=>Om(c,u))},async search(c,l){n.throwIfAborted();let u=await e.context.entityService.search({query:l,options:{types:[c.type],visibilityScope:o}});return n.throwIfAborted(),u.map(({entity:p})=>Om(c,p))}},jobs:qIe(e.context),permissions:{allows(c,l){try{return e.context.permissions.assertEntityActionAllowed(c.type,l,{userPermissionLevel:r}),!0}catch{return!1}}},signal:n}}var ze=tc,xy=J4,Ue=Ls,jn=z_,up=MT,hi=Mm,U_=N_,f9=a.string().max(2048).refine((e)=>{try{let t=new URL(e);return t.protocol==="https:"||t.protocol==="http:"}catch{return!1}},{message:"External operator links must use http or https"});function ZIe(e){return e!==null&&typeof e==="object"&&"kind"in e&&e.kind==="rizom-entity"&&"type"in e&&typeof e.type==="string"&&e.type.length>0}var $Ie=a.custom(ZIe,{message:"Expected an imported entity definition"});function UIe(e){return e!==null&&typeof e==="object"&&"kind"in e&&e.kind==="rizom-entity-catalog"&&"id"in e&&typeof e.id==="string"&&"label"in e&&typeof e.label==="string"}var WIe=a.custom(UIe,{message:"Expected an imported entity catalog definition"});function HIe(e){return{kind:"external",href:e.external}}function JIe(e){return{kind:"entity",entityType:e.entity.type,id:e.id}}var g9=a.union([a.object({target:a.literal("account-settings")}).strict(),a.object({target:a.literal("invitations")}).strict(),a.object({target:a.literal("admin-peer-invite"),peerId:ze,displayName:Ue}).strict(),a.object({target:a.literal("inbox")}).strict(),a.object({target:a.literal("inbox"),source:a.literal("mail"),filter:a.enum(["high-priority","needs-reply","unclassified"]).optional()}).strict(),a.object({target:a.literal("publishing")}).strict(),a.object({target:a.literal("site")}).strict(),a.object({target:a.literal("inbox-open-entity"),entityType:ze,entityId:ze}).strict(),a.object({target:a.literal("inbox-capture-note"),title:jn,summary:a.string().trim().min(1).max(1000).optional(),entityType:ze,entityId:ze}).strict(),a.object({target:a.literal("inbox-discuss-in-chat"),sourceId:ze,itemId:a.string().trim().min(1).max(300),label:a.string().trim().min(1).max(160)}).strict()]);function VIe(e){return{kind:"entity",entityType:e.entityType,id:e.id}}function GIe(e){return{kind:"launch",launch:e.launch}}function QIe(e){return{kind:"detail",itemId:e.detail.itemId}}var FT=a.union([a.object({external:f9}).strict().transform(HIe),a.object({entity:$Ie,id:ze}).strict().transform(JIe),a.object({catalog:WIe,entityType:ze,id:ze}).strict().transform(VIe),a.object({launch:g9}).strict().transform(GIe),a.object({detail:a.object({itemId:xy}).strict()}).strict().transform(QIe),a.object({kind:a.literal("external"),href:f9}).strict(),a.object({kind:a.literal("entity"),entityType:ze,id:ze}).strict(),a.object({kind:a.literal("launch"),launch:g9}).strict(),a.object({kind:a.literal("detail"),itemId:xy}).strict()]),y9=G4,b9=Q4,x9=K4,KIe=Y4,YIe=a.object({id:ze,label:Ue,value:U_.optional(),description:up.optional(),tone:hi.optional()}).strict(),S9=a.object({type:a.literal("group"),id:ze,label:Ue,items:a.array(YIe).max(50)}).strict(),XIe=a.object({id:ze,label:Ue,status:a.enum(["idle","active","complete","failed"]),detail:jn.optional()}).strict(),v9=a.object({type:a.literal("flow"),id:ze,label:Ue,direction:a.enum(["forward","bidirectional"]).optional(),steps:a.array(XIe).min(2).max(20)}).strict(),w9=X4,T9=e9,eke=a.string().trim().min(1).max(120).regex(/^[a-z][a-zA-Z0-9_.-]*$/),tke=a.object({value:Ue,label:Ue,count:a.number().int().nonnegative().optional()}).strict(),nke=a.object({key:eke,label:Ue,value:Ue.optional(),allLabel:Ue.optional(),options:a.array(tke).max(100)}).strict(),C9=a.object({controls:a.array(nke).max(20),pagination:a.object({offset:a.number().int().nonnegative(),limit:a.number().int().min(1).max(100),total:a.number().int().nonnegative(),label:Ue.optional()}).strict().optional()}).strict(),rke=C9.extend({type:a.literal("query"),id:ze}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.controls.entries()){if(n.has(o.key))t.addIssue({code:"custom",message:`Query key "${o.key}" is duplicated`,path:["controls",r,"key"]});n.add(o.key)}}),oke=C9.superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.controls.entries()){if(n.has(o.key))t.addIssue({code:"custom",message:`Query key "${o.key}" is duplicated`,path:["controls",r,"key"]});n.add(o.key)}}),E9=a.object({type:a.literal("links"),id:ze.optional(),items:a.array(a.object({label:Ue,target:FT}).strict()).max(30)}).strict(),I9=a.object({label:Ue,tone:hi.optional()}).strict(),ike=a.object({value:ze,label:Ue,count:a.number().int().nonnegative().optional(),emphasis:a.literal("gap").optional()}).strict(),W_=200,k9=50,ske=W_*k9+1,R9=a.object({label:Ue,defaultValue:ze,allValue:ze.optional(),options:a.array(ike).min(1).max(ske)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.options.entries()){if(n.has(o.value))t.addIssue({code:"custom",message:`List filter value "${o.value}" is duplicated`,path:["options",r,"value"]});n.add(o.value)}if(!n.has(e.defaultValue))t.addIssue({code:"custom",message:`List filter default "${e.defaultValue}" has no matching option`,path:["defaultValue"]})}),H_=a.object({id:xy,title:jn,description:up.optional(),meta:jn.optional(),metadata:a.array(jn).max(20).optional(),tags:a.array(Ue).max(30).optional(),count:a.number().finite().optional(),badges:a.array(I9).max(10).optional(),filterValues:a.array(ze).max(k9).optional(),links:a.array(a.object({label:Ue,target:FT}).strict()).max(10).optional(),tone:hi.optional(),link:FT.optional()}).strict(),P9=a.enum(["standard","editorial","attention","activity"]),ake=a.object({type:a.literal("list"),id:ze,empty:jn,presentation:P9.optional(),filter:R9.optional(),items:a.array(H_).max(W_)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.items.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`List item id "${o.id}" is duplicated`,path:["items",r,"id"]});n.add(o.id)}if(e.filter){let r=new Set(e.filter.options.map((i)=>i.value)),o=e.filter.allValue??"all";for(let[i,s]of e.items.entries())for(let c of s.filterValues??[])if(c!==o&&!r.has(c))t.addIssue({code:"custom",message:`List item filter value "${c}" has no matching option`,path:["items",i,"filterValues"]})}}),A9=a.object({key:ze,label:Ue,align:a.enum(["start","center","end"]).optional()}).strict(),O9=a.object({key:ze,label:Ue,values:a.array(U_).max(50)}).strict(),cke=a.union([U_,a.array(a.string().max(500)).max(50)]),lke=a.object({title:jn.trim().min(1),description:up.optional(),metadata:a.array(jn).max(20).optional(),badges:a.array(I9).max(10).optional(),count:a.number().finite().optional(),tone:hi.optional()}).strict(),D9=a.object({id:xy,cells:a.record(a.string(),cke),link:FT.optional()}).strict(),uke=a.object({type:a.literal("table"),id:ze,empty:jn,filters:a.array(O9).max(20).optional(),columns:a.array(A9).min(1).max(30),rows:a.array(D9).max(500)}).strict().superRefine((e,t)=>{let n=new Set;for(let[o,i]of e.columns.entries()){if(n.has(i.key))t.addIssue({code:"custom",message:`Table column key "${i.key}" is duplicated`,path:["columns",o,"key"]});n.add(i.key)}for(let[o,i]of(e.filters??[]).entries())if(!n.has(i.key))t.addIssue({code:"custom",message:`Table filter key "${i.key}" has no matching column`,path:["filters",o,"key"]});let r=new Set;for(let[o,i]of e.rows.entries()){if(r.has(i.id))t.addIssue({code:"custom",message:`Table row id "${i.id}" is duplicated`,path:["rows",o,"id"]});r.add(i.id);for(let s of Object.keys(i.cells))if(!n.has(s))t.addIssue({code:"custom",message:`Table cell key "${s}" has no matching column`,path:["rows",o,"cells",s]})}}),pke=a.object({id:ze,label:Ue,tone:hi.optional(),empty:jn,items:a.array(H_).max(100)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.items.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Matrix item id "${o.id}" is duplicated`,path:["items",r,"id"]});n.add(o.id)}}),dke=a.object({type:a.literal("matrix"),id:ze,columns:a.union([a.literal(1),a.literal(2),a.literal(3),a.literal(4)]).optional(),cells:a.array(pke).min(1).max(12)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.cells.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Matrix cell id "${o.id}" is duplicated`,path:["cells",r,"id"]});n.add(o.id)}}),M9=a.object({label:Ue,tone:hi.optional()}).strict(),_9=a.object({sourceId:ze,targetId:ze,label:Ue.optional(),tone:hi.optional()}).strict(),Nm=F_,mke=a.object({id:ze,label:Ue,category:Ue,x:Nm,y:Nm,zoneId:ze.optional(),tone:hi.optional(),details:a.array(jn).max(20).optional()}).strict(),fke=a.object({id:ze,label:Ue,x:Nm,y:Nm,memberIds:a.array(ze).max(500)}).strict(),gke=a.object({type:a.literal("spatial"),layout:a.literal("cartesian"),id:ze,label:Ue,description:up,points:a.array(mke).max(500),zones:a.array(fke).max(100),relationships:a.array(_9).max(2000).optional(),legend:a.array(M9).max(20)}).strict().superRefine((e,t)=>{let n=new Set;for(let[i,s]of e.points.entries()){if(n.has(s.id))t.addIssue({code:"custom",message:`Spatial point id "${s.id}" is duplicated`,path:["points",i,"id"]});n.add(s.id)}let r=new Set;for(let[i,s]of e.zones.entries()){if(r.has(s.id)||n.has(s.id))t.addIssue({code:"custom",message:`Spatial zone id "${s.id}" is duplicated`,path:["zones",i,"id"]});r.add(s.id);for(let c of s.memberIds)if(!n.has(c))t.addIssue({code:"custom",message:`Spatial zone member "${c}" has no matching point`,path:["zones",i,"memberIds"]})}for(let[i,s]of e.points.entries())if(s.zoneId&&!r.has(s.zoneId))t.addIssue({code:"custom",message:`Spatial point zone "${s.zoneId}" has no matching zone`,path:["points",i,"zoneId"]});let o=new Set([...n,...r]);for(let[i,s]of(e.relationships??[]).entries())if(!o.has(s.sourceId)||!o.has(s.targetId))t.addIssue({code:"custom",message:"Spatial relationship endpoints must reference declared points or zones",path:["relationships",i]})}),hke=a.object({id:ze,label:Ue,kind:Ue,status:Ue,tags:a.array(Ue).max(30).optional(),distance:Nm,bearing:a.number().finite().min(0).lt(360),relatedIds:a.array(ze).max(100).optional(),tone:hi.optional(),details:a.array(jn).max(20).optional()}).strict(),yke=a.object({id:ze,label:Ue,memberIds:a.array(ze).min(2).max(500)}).strict(),bke=a.object({id:ze,label:Ue,maxDistance:Nm}).strict(),xke=a.object({type:a.literal("spatial"),layout:a.literal("radial"),id:ze,label:Ue,description:up,centerLabel:Ue,centerKind:a.enum(["identity","centroid"]),points:a.array(hke).max(500),clusters:a.array(yke).max(100).optional(),relationships:a.array(_9).max(2000).optional(),strata:a.array(bke).min(1).max(10),legend:a.array(M9).max(20)}).strict().superRefine((e,t)=>{let n=new Set;for(let[i,s]of e.points.entries()){if(n.has(s.id))t.addIssue({code:"custom",message:`Spatial point id "${s.id}" is duplicated`,path:["points",i,"id"]});n.add(s.id)}for(let[i,s]of e.points.entries())for(let c of s.relatedIds??[])if(!n.has(c))t.addIssue({code:"custom",message:`Related point "${c}" is not declared`,path:["points",i,"relatedIds"]});let r=new Set;for(let[i,s]of(e.clusters??[]).entries()){if(r.has(s.id))t.addIssue({code:"custom",message:`Spatial cluster id "${s.id}" is duplicated`,path:["clusters",i,"id"]});r.add(s.id);for(let c of s.memberIds)if(!n.has(c))t.addIssue({code:"custom",message:`Spatial cluster member "${c}" has no matching point`,path:["clusters",i,"memberIds"]})}for(let[i,s]of(e.relationships??[]).entries())if(!n.has(s.sourceId)||!n.has(s.targetId))t.addIssue({code:"custom",message:"Spatial relationship endpoints must reference declared points",path:["relationships",i]});let o=-1;for(let[i,s]of e.strata.entries()){if(s.maxDistance<=o)t.addIssue({code:"custom",message:"Radial strata must increase by maximum distance",path:["strata",i,"maxDistance"]});o=s.maxDistance}}),z9=a.discriminatedUnion("layout",[gke,xke]),F9=a.union([y9,b9,x9,S9,v9,w9,T9,E9,ake,uke,dke,z9]),Ske=a.object({type:a.literal("tabs"),id:ze,label:Ue,defaultTab:ze,tabs:a.array(a.object({id:ze,label:Ue,count:a.number().int().nonnegative().optional(),blocks:a.array(F9).max(30)}).strict()).min(1).max(12)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.tabs.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Tab id "${o.id}" is duplicated`,path:["tabs",r,"id"]});n.add(o.id)}if(!n.has(e.defaultTab))t.addIssue({code:"custom",message:`Default tab "${e.defaultTab}" has no matching tab`,path:["defaultTab"]})});function vke(e){return e!==null&&typeof e==="object"&&"kind"in e&&e.kind==="rizom-workspace-action"&&"name"in e&&typeof e.name==="string"&&"input"in e&&typeof e.input==="object"&&e.input!==null&&"safeParse"in e.input&&typeof e.input.safeParse==="function"}var wke=a.custom(vke,{message:"Expected a workspace action definition"}),Tke=a.object({id:ze,label:Ue,description:up.optional(),confirmation:a.literal("prepared").optional()}).strict(),h9=a.object({value:a.string().trim().min(1).max(500),label:Ue}).strict(),Cke=a.object({label:Ue,control:L_,secret:a.boolean().optional(),options:a.array(h9).min(1).max(100).optional(),labelBy:a.object({field:ze,values:a.array(h9).min(1).max(100)}).strict().optional()}).strict(),Eke=a.object({presentation:a.enum(["inline","disclosure"]).optional(),submitLabel:Ue.optional(),fields:a.record(ze,Cke)}).strict(),Ike=a.object({label:Ue,copyable:a.boolean().optional(),sensitive:a.boolean().optional()}).strict(),kke=a.object({title:Ue,fields:a.record(ze,Ike)}).strict(),vy=a.object({action:wke,input:a.unknown().optional(),form:Eke.optional(),result:kke.optional(),capability:Tke.optional(),label:Ue.optional(),disabled:a.boolean().optional()}).strict(),N9=H_.extend({actionsLabel:Ue.optional(),actions:a.array(vy).max(20).optional()}),j9=a.object({type:a.literal("list"),id:ze,empty:jn,presentation:P9.optional(),filter:R9.optional(),items:a.array(N9).max(W_)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.items.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`List item id "${o.id}" is duplicated`,path:["items",r,"id"]});n.add(o.id)}if(e.filter){let r=new Set(e.filter.options.map((i)=>i.value)),o=e.filter.allValue??"all";for(let[i,s]of e.items.entries())for(let c of s.filterValues??[])if(c!==o&&!r.has(c))t.addIssue({code:"custom",message:`List item filter value "${c}" has no matching option`,path:["items",i,"filterValues"]})}}),Rke=D9.extend({compact:lke.optional(),actions:a.array(vy).max(20).optional()}),B9=a.object({type:a.literal("table"),id:ze,empty:jn,filters:a.array(O9).max(20).optional(),query:oke.optional(),columns:a.array(A9).min(1).max(30),rows:a.array(Rke).max(500)}).strict().superRefine((e,t)=>{let n=new Set;for(let[o,i]of e.columns.entries()){if(n.has(i.key))t.addIssue({code:"custom",message:`Table column key "${i.key}" is duplicated`,path:["columns",o,"key"]});n.add(i.key)}for(let[o,i]of(e.filters??[]).entries())if(!n.has(i.key))t.addIssue({code:"custom",message:`Table filter key "${i.key}" has no matching column`,path:["filters",o,"key"]});let r=new Set;for(let[o,i]of e.rows.entries()){if(r.has(i.id))t.addIssue({code:"custom",message:`Table row id "${i.id}" is duplicated`,path:["rows",o,"id"]});r.add(i.id);for(let s of Object.keys(i.cells))if(!n.has(s))t.addIssue({code:"custom",message:`Table cell key "${s}" has no matching column`,path:["rows",o,"cells",s]})}}),Pke=a.object({id:ze,label:Ue,tone:hi.optional(),empty:jn,items:a.array(N9).max(100)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.items.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Matrix item id "${o.id}" is duplicated`,path:["items",r,"id"]});n.add(o.id)}}),Ake=a.object({type:a.literal("matrix"),id:ze,columns:a.union([a.literal(1),a.literal(2),a.literal(3),a.literal(4)]).optional(),cells:a.array(Pke).min(1).max(12)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.cells.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Matrix cell id "${o.id}" is duplicated`,path:["cells",r,"id"]});n.add(o.id)}}),Oke=vy.extend({type:a.literal("action"),id:ze.optional()}),Dke=a.object({type:a.literal("actions"),id:ze.optional(),items:a.array(vy).max(30)}).strict(),jm=a.union([y9,b9,x9,KIe,S9,v9,w9,T9,rke,E9,j9,B9,Ake,z9,Oke,Dke]),Mke=a.object({type:a.literal("tabs"),id:ze,label:Ue,defaultTab:ze,queryKey:ze.optional(),tabs:a.array(a.object({id:ze,label:Ue,count:a.number().int().nonnegative().optional(),blocks:a.array(a.lazy(()=>a.union([jm,Sy,L9,q9]))).max(30)}).strict()).min(1).max(12)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.tabs.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Tab id "${o.id}" is duplicated`,path:["tabs",r,"id"]});n.add(o.id)}if(!n.has(e.defaultTab))t.addIssue({code:"custom",message:`Default tab "${e.defaultTab}" has no matching tab`,path:["defaultTab"]})}),Sy=a.object({disclosureLabel:Ue.optional(),type:a.literal("card"),id:ze,label:Ue,presentation:a.enum(["section","disclosure","feature"]).optional(),metadata:a.array(jn).max(20).optional(),tone:hi.optional(),blocks:a.array(jm).max(12)}).strict().refine((e)=>e.disclosureLabel===void 0||e.presentation==="disclosure",{message:"disclosureLabel requires disclosure presentation",path:["disclosureLabel"]}),L9=a.object({type:a.literal("detail"),id:ze,queryKey:ze,empty:jn,master:a.union([j9,B9]),open:a.object({forId:xy,title:Ue,blocks:a.array(a.union([jm,Sy])).max(30)}).strict().optional()}).strict(),q9=a.object({type:a.literal("columns"),id:ze,primary:a.array(a.union([jm,Sy])).max(20),aside:a.array(a.union([jm,Sy])).max(12)}).strict(),_ke=a.object({kicker:Ue.optional(),title:jn.optional(),description:up.optional(),status:a.object({label:Ue,detail:jn.optional(),tone:hi.optional()}).strict().optional(),primaryAction:vy.optional(),blocks:a.array(a.union([jm,Mke,L9,q9,Sy])).max(50)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.blocks.entries()){if(o.id===void 0)continue;if(n.has(o.id))t.addIssue({code:"custom",message:`Operator view block id "${o.id}" is duplicated`,path:["blocks",r,"id"]});n.add(o.id)}});function Z_(e){return e.type!=="tabs"&&e.type!=="detail"&&e.type!=="columns"&&e.type!=="card"}var Z9=a.json();function zke(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function Fke(e,t){let n=dD(Ja(t).inner);switch(e){case"checkbox":return n==="boolean";case"number":return n==="number";case"select":return n==="string"||n==="enum";case"text":case"url":return n==="string"}}function Nke(e){let t=dD(Ja(e).inner);return t==="string"||t==="number"||t==="boolean"||t==="enum"||t==="literal"}function jke(e,t){if(!e.form)return{issues:[]};let n=[],r=ml(e.action.input);if(!r)return{issues:[{path:[...t,"form"],message:`Form action "${e.action.name}" requires an object input schema`}]};let o=e.input??{};if(!zke(o))return{issues:[{path:[...t,"input"],message:"Workspace action form initial input must be an object"}]};let i=Z9.safeParse(o);if(!i.success)return{issues:[{path:[...t,"input"],message:"Workspace action form initial input must be JSON-native"}]};let s=Object.keys(r),c=Object.entries(e.form.fields);if(c.length>50)n.push({path:[...t,"form","fields"],message:"Workspace action forms support at most 50 fields"});for(let[p,d]of Object.entries(o)){let g=r[p];if(g===void 0)n.push({path:[...t,"input",p],message:`Form initial input "${p}" is not declared by the action schema`});else if(g instanceof a.ZodType&&!g.safeParse(d).success)n.push({path:[...t,"input",p],message:`Form initial input "${p}" does not satisfy the action schema`})}let l=[];for(let[p,d]of c){let g=r[p];if(g===void 0){n.push({path:[...t,"form","fields",p],message:`Form field "${p}" is not declared by the action schema`});continue}let f=Ja(g),v=Mw(f.inner);if(!Fke(d.control,g))n.push({path:[...t,"form","fields",p,"control"],message:`Form control "${d.control}" is incompatible with schema field "${p}"`});if(d.control==="select"){if(!d.options||d.options.length===0)n.push({path:[...t,"form","fields",p,"options"],message:`Select field "${p}" requires options`});else if(v){if(d.options.some((w)=>!v.includes(w.value)))n.push({path:[...t,"form","fields",p,"options"],message:`Select field "${p}" options must use values from its enum schema`})}}else if(d.options!==void 0)n.push({path:[...t,"form","fields",p,"options"],message:`Non-select field "${p}" cannot declare options`});if(d.labelBy){let w=e.form.fields[d.labelBy.field],I=new Set(w?.options?.map((L)=>L.value)??[]),A=new Set(d.labelBy.values.map((L)=>L.value));if(w?.control!=="select")n.push({path:[...t,"form","fields",p,"labelBy","field"],message:`Dynamic label source "${d.labelBy.field}" must be a select form field`});else if(I.size!==A.size||Array.from(I).some((L)=>!A.has(L)))n.push({path:[...t,"form","fields",p,"labelBy","values"],message:`Dynamic labels for "${p}" must cover every option of "${d.labelBy.field}"`})}if(d.secret===!0&&p in o)n.push({path:[...t,"input",p],message:`Secret form field "${p}" cannot be pre-bound into browser data`});if(d.secret===!0&&d.control!=="text"&&d.control!=="url")n.push({path:[...t,"form","fields",p,"secret"],message:`Secret field "${p}" must use a text or URL control`});l.push({name:p,label:d.label,control:d.control,required:f.required,...d.secret?{secret:!0}:{},...d.options?{options:d.options}:{},...d.labelBy?{labelBy:d.labelBy}:{}})}let u=new Set(c.map(([p])=>p));for(let p of s)if(!u.has(p)&&!(p in o))n.push({path:[...t,"form","fields",p],message:`Action schema field "${p}" has no form declaration or pre-bound input`});return{input:i.data,form:{...e.form.presentation?{presentation:e.form.presentation}:{},...e.form.submitLabel?{submitLabel:e.form.submitLabel}:{},fields:l},issues:n}}function Bke(e,t){if(!e.result)return{issues:[]};let n=ml(e.action.output);if(!n)return{issues:[{path:[...t,"result"],message:`Presented result for "${e.action.name}" requires an object output schema`}]};let r=[],o=Object.entries(e.result.fields);if(o.length>50)r.push({path:[...t,"result","fields"],message:"Workspace action results support at most 50 fields"});let i=new Set(o.map(([s])=>s));for(let[s,c]of o){let l=n[s];if(l===void 0)r.push({path:[...t,"result","fields",s],message:`Result field "${s}" is not declared by the action output schema`});else if(!Nke(l))r.push({path:[...t,"result","fields",s],message:`Result field "${s}" must use a scalar output schema`});if(c.sensitive===!0&&c.copyable!==!0)r.push({path:[...t,"result","fields",s,"copyable"],message:`Sensitive result field "${s}" must be explicitly copyable`})}for(let s of Object.keys(n))if(!i.has(s))r.push({path:[...t,"result","fields",s],message:`Action output field "${s}" has no result declaration`});return{result:{title:e.result.title,fields:o.map(([s,c])=>({name:s,label:c.label,...c.copyable?{copyable:!0}:{},...c.sensitive?{sensitive:!0}:{}}))},issues:r}}function _m(e,t,n,r,o){let i=[],s=[];for(let[c,l]of e.entries()){let u=[...r,o?.[c]??c];if(!t.includes(l.action)){s.push({path:[...u,"action"],message:`Action "${l.action.name}" is not declared by this workspace`});continue}if(l.action.permission!==void 0&&!ec(n,l.action.permission))continue;if(l.action.catalog===!0&&!l.capability){s.push({path:[...u,"capability"],message:`Catalog action "${l.action.name}" requires a typed capability definition`});continue}if(l.action.catalog!==!0&&l.capability){s.push({path:[...u,"capability"],message:`Action "${l.action.name}" is not a capability catalog`});continue}if(l.capability?.confirmation==="prepared"&&l.action.confirmation?.kind!=="prepared"){s.push({path:[...u,"capability","confirmation"],message:`Capability "${l.capability.id}" requires a prepared catalog action`});continue}let p=jke(l,u),d=Bke(l,u);s.push(...p.issues,...d.issues);let g;if(l.form)g=p.input;else{let w=l.action.input.safeParse(l.input);if(!w.success)s.push(...w.error.issues.map((I)=>({path:[...u,"input",...I.path],message:I.message})));else{let I=Z9.safeParse(w.data);if(!I.success)s.push({path:[...u,"input"],message:"Workspace action input must be JSON-native"});else g=I.data}}if(p.issues.length>0||d.issues.length>0||g===void 0)continue;let f=l.action.confirmation,v=f?.kind==="static"?f:f?.kind==="prepared"&&(f.conditional!==!0||l.capability?.confirmation==="prepared")?{kind:"prepared"}:void 0;i.push(Object.freeze({actionId:l.action.name,...l.capability?{capabilityId:l.capability.id}:{},label:l.label??l.capability?.label??l.action.label,input:g,...p.form?{form:p.form}:{},...d.result?{result:d.result}:{},...l.disabled?{disabled:!0}:{},...v?{confirmation:v}:{}}))}return{controls:i,issues:s}}function Lke(e,t){return{type:"action",...t?{id:t}:{},...e}}function zm(e,t,n,r){switch(e.type){case"list":{let o=[],i=e.items.map((s,c)=>{let l=_m(s.actions??[],n,r,["blocks",t,"items",c,"actions"]);return o.push(...l.issues),{id:s.id,title:s.title,...s.description?{description:s.description}:{},...s.meta?{meta:s.meta}:{},...s.metadata?{metadata:s.metadata}:{},...s.tags?{tags:s.tags}:{},...qs({count:s.count}),...s.badges?{badges:s.badges}:{},...s.filterValues?{filterValues:s.filterValues}:{},...s.links?{links:s.links}:{},...s.tone?{tone:s.tone}:{},...s.link?{link:s.link}:{},...l.controls.length>0?{actions:l.controls,...qs({actionsLabel:s.actionsLabel})}:{}}});return{block:{type:"list",id:e.id,empty:e.empty,...e.presentation?{presentation:e.presentation}:{},...e.filter?{filter:e.filter}:{},items:i},issues:o}}case"table":{let o=[],i=e.rows.map((s,c)=>{let l=_m(s.actions??[],n,r,["blocks",t,"rows",c,"actions"]);return o.push(...l.issues),{id:s.id,cells:s.cells,...s.compact?{compact:s.compact}:{},...s.link?{link:s.link}:{},...l.controls.length>0?{actions:l.controls}:{}}});return{block:{type:"table",id:e.id,empty:e.empty,...e.filters?{filters:e.filters}:{},...e.query?{query:e.query}:{},columns:e.columns,rows:i},issues:o}}case"matrix":{let o=[],i=e.cells.map((s,c)=>({id:s.id,label:s.label,...s.tone?{tone:s.tone}:{},empty:s.empty,items:s.items.map((l,u)=>{let p=_m(l.actions??[],n,r,["blocks",t,"cells",c,"items",u,"actions"]);return o.push(...p.issues),{id:l.id,title:l.title,...l.description?{description:l.description}:{},...l.meta?{meta:l.meta}:{},...l.metadata?{metadata:l.metadata}:{},...l.tags?{tags:l.tags}:{},...qs({count:l.count}),...l.badges?{badges:l.badges}:{},...l.filterValues?{filterValues:l.filterValues}:{},...l.links?{links:l.links}:{},...l.tone?{tone:l.tone}:{},...l.link?{link:l.link}:{},...p.controls.length>0?{actions:p.controls,...qs({actionsLabel:l.actionsLabel})}:{}}})}));return{block:{type:"matrix",id:e.id,...e.columns?{columns:e.columns}:{},cells:i},issues:o}}case"tabs":{let o=[],i=e.tabs.map((s)=>{let c=[];for(let[l,u]of s.blocks.entries()){let p=zm(u,l,n,r);if(o.push(...p.issues),p.block&&p.block.type!=="tabs")c.push(p.block)}return{id:s.id,label:s.label,...qs({count:s.count}),blocks:c}});return{block:{type:"tabs",id:e.id,label:e.label,defaultTab:e.defaultTab,...e.queryKey?{queryKey:e.queryKey}:{},tabs:i},issues:o}}case"card":{let o=[],i=[];for(let[s,c]of e.blocks.entries()){let l=zm(c,s,n,r);if(o.push(...l.issues),l.block&&Z_(l.block))i.push(l.block)}return{block:{type:"card",id:e.id,label:e.label,...e.presentation?{presentation:e.presentation}:{},...qs({disclosureLabel:e.disclosureLabel}),...e.metadata?{metadata:e.metadata}:{},...e.tone?{tone:e.tone}:{},blocks:i},issues:o}}case"columns":{let o=[],i=(s)=>{let c=[];for(let[l,u]of s.entries()){let p=zm(u,l,n,r);o.push(...p.issues);let d=p.block;if(d&&(Z_(d)||d.type==="card"))c.push(d)}return c};return{block:{type:"columns",id:e.id,primary:i(e.primary),aside:i(e.aside)},issues:o}}case"detail":{let o=[],i=zm(e.master,t,n,r);o.push(...i.issues);let s=i.block;if(!s||s.type!=="list"&&s.type!=="table")return{issues:o};let c=[];for(let[l,u]of(e.open?.blocks??[]).entries()){let p=zm(u,l,n,r);o.push(...p.issues);let d=p.block;if(d&&(Z_(d)||d.type==="card"))c.push(d)}return{block:{type:"detail",id:e.id,queryKey:e.queryKey,empty:e.empty,master:s,...e.open?{open:{forId:e.open.forId,title:e.open.title,blocks:c}}:{}},issues:o}}case"action":{let o=_m([e],n,r,["blocks"],[t]),i=o.controls[0];return{...i?{block:Lke(i,e.id)}:{},issues:o.issues}}case"actions":{let o=_m(e.items,n,r,["blocks",t,"items"]);return{block:{type:"actions",...e.id?{id:e.id}:{},items:o.controls},issues:o.issues}}default:return{block:e,issues:[]}}}var $9=a.object({title:jn.optional(),blocks:a.array(a.union([F9,Ske])).max(50)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.blocks.entries()){if(o.id===void 0)continue;if(n.has(o.id))t.addIssue({code:"custom",message:`Operator view block id "${o.id}" is duplicated`,path:["blocks",r,"id"]});n.add(o.id)}}),U9=a.object({items:a.array(a.object({label:Ue,value:a.string().max(500),tone:a.enum(["good","warn"]).optional()}).strict()).max(4),attention:a.number().int().nonnegative().optional()}).strict(),qke=a.object({view:$9,digest:U9.optional()}).strict();function jT(e){return e.issues.map((t)=>({path:t.path,message:t.message}))}function gi(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function NT(e,t,n,r,o=!1){if(!gi(e))return;if(e.detail!==void 0&&!o){r.push({path:t,message:"A detail link is available only on rows of a detail block's master collection"});return}if(e.kind==="external"||e.kind==="entity"||e.kind==="launch"||e.kind==="detail"){r.push({path:t,message:"Author links must use a typed external, entity, catalog, or launch target rather than a normalized host target"});return}let i=e.launch;if(n==="dashboard"&&gi(i)&&(i.target==="inbox-open-entity"||i.target==="inbox-capture-note"||i.target==="inbox-discuss-in-chat"))r.push({path:[...t,"launch","target"],message:`Launch intent "${i.target}" is available only in Studio workspaces`})}function W9(e,t,n,r,o=!1){if(!Array.isArray(e))return;for(let[i,s]of e.entries()){if(!gi(s))continue;NT(s.target,[...t,i,"target"],n,r,o)}}function $_(e,t,n,r,o=!1){if(!Array.isArray(e))return;for(let[i,s]of e.entries()){if(!gi(s))continue;NT(s.link,[...t,i,"link"],n,r,o),W9(s.links,[...t,i,"links"],n,r,o)}}function Fm(e,t,n,r){if(!Array.isArray(e))return;for(let[o,i]of e.entries()){if(!gi(i))continue;let s=[...t,o];switch(i.type){case"links":W9(i.items,[...s,"items"],n,r);break;case"list":$_(i.items,[...s,"items"],n,r);break;case"table":{let c=i.rows;if(Array.isArray(c))for(let[l,u]of c.entries()){if(!gi(u))continue;NT(u.link,[...s,"rows",l,"link"],n,r)}break}case"matrix":{let c=i.cells;if(Array.isArray(c))for(let[l,u]of c.entries()){if(!gi(u))continue;$_(u.items,[...s,"cells",l,"items"],n,r)}break}case"tabs":{let c=i.tabs;if(Array.isArray(c))for(let[l,u]of c.entries()){if(!gi(u))continue;Fm(u.blocks,[...s,"tabs",l,"blocks"],n,r)}break}case"card":Fm(i.blocks,[...s,"blocks"],n,r);break;case"columns":Fm(i.primary,[...s,"primary"],n,r),Fm(i.aside,[...s,"aside"],n,r);break;case"detail":{let c=i.master;if(gi(c)){let u=[...s,"master"];$_(c.items,[...u,"items"],n,r,!0);let p=c.rows;if(Array.isArray(p))for(let[d,g]of p.entries()){if(!gi(g))continue;NT(g.link,[...u,"rows",d,"link"],n,r,!0)}}let l=i.open;if(gi(l))Fm(l.blocks,[...s,"open","blocks"],n,r);break}}}}function H9(e,t){if(!gi(e))return[];let n=[];return Fm(e.blocks,["blocks"],t,n),n}function J9(e){let t=H9(e,"dashboard");if(t.length>0)return{success:!1,issues:t};let n=$9.safeParse(e);return n.success?{success:!0,data:n.data}:{success:!1,issues:jT(n.error)}}function J_(e,t){let n=H9(e,"studio");if(n.length>0)return{success:!1,issues:n};let r=_ke.safeParse(e);if(!r.success)return{success:!1,issues:jT(r.error)};let o=[],i=[],s=r.data.primaryAction?_m([r.data.primaryAction],t.actions,t.permission,[],["primaryAction"]):{controls:[],issues:[]};i.push(...s.issues);for(let[c,l]of r.data.blocks.entries()){let u=zm(l,c,t.actions,t.permission);if(i.push(...u.issues),u.block)o.push(u.block)}if(i.length>0)return{success:!1,issues:i};return{success:!0,data:Object.freeze({...r.data.kicker?{kicker:r.data.kicker}:{},...r.data.title?{title:r.data.title}:{},...r.data.description?{description:r.data.description}:{},...r.data.status?{status:r.data.status}:{},...s.controls[0]?{primaryAction:s.controls[0]}:{},blocks:Object.freeze(o)})}}function V9(e){let t=U9.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,issues:jT(t.error)}}function V_(e){let t=qke.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,issues:jT(t.error)}}var Uke=a.object({actionId:a.string().trim().min(1).max(120),input:a.unknown(),mode:a.enum(["prepare","execute"]).default("execute"),confirmationToken:a.string().uuid().optional()}).strict(),Wke=a.object({capability:a.object({confirmation:a.literal("prepared").optional()})}).passthrough(),Hke=a.array(a.string().trim().min(1).max(120)).max(200).transform((e)=>[...new Set(e)]),Jke=a.object({summary:a.string().trim().min(1).max(500),revision:a.string().trim().min(1).max(500)}),Vke=300000,Gke=1000;function Q_(e){if(e===null||typeof e!=="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(Q_).join(",")}]`;return`{${Object.keys(e).sort().map((t)=>`${JSON.stringify(t)}:${Q_(e[t]??null)}`).join(",")}}`}function G9(e){return Zke("sha256").update(Q_(e)).digest("hex")}var BT=a.json();function Qke(e,t,n){let r=e?.safeParse(t??{});if(r&&!r.success)throw Wt(n,"received invalid query state",Bm(r.error.issues));let o=r?.data;if(e&&!BT.safeParse(o).success)throw Wt(n,"query state must be JSON-native");return Object.freeze({get(i){if(i!==e)throw Wt(n,"query reader was called with a schema not declared by the workspace");return i.parse(o)}})}function Wt(e,t,n){return Error(`Service "${e.publicServiceId}" package "${e.packageName}" Studio workspace "${e.workspaceId}" ${t}${n?`: ${n}`:""}`)}function Bm(e){return e.slice(0,5).map((t)=>`${t.path.length>0?t.path.join("."):"value"}: ${t.message}`).join("; ")}function Kke(e){return Object.freeze({actor:Object.freeze({id:e.userId}),permission:e.userPermissionLevel,isAnchor:e.isAnchor})}function Q9(e,t){return t?AbortSignal.any([t,e]):e}function K9(e,t,n){let r=e.safeParse(t);if(!r.success)throw Wt(n,"returned invalid data; return a value matching its data schema",Bm(r.error.issues));return r.data}function X9(e,t){return e.parse(t)}async function Y9(e,t,n){let r=X9(e.definition.input,n),o=j_(e).prepare;if(!o)throw Error("Prepared confirmation callback is unavailable");return Jke.parse(await o({...t,input:r}))}async function Yke(e,t,n){let r=X9(e.definition.input,n);return j_(e).execute({...t,input:r})}function K_(e){let t=e.binding.definition,n=W4(e.binding),r={publicServiceId:e.publicServiceId,packageName:e.packageName,workspaceId:t.id};if(t.query){let l=t.query.safeParse({});if(!l.success)throw Wt(r,"declares a query schema without a valid empty/default state",Bm(l.error.issues));if(!BT.safeParse(l.data).success)throw Wt(r,"query state must be JSON-native")}let o=new Map;async function i(l,u,p){let d=await zT({config:e.config,state:e.state,...e.accountSettingsRegistration?{accountSettingsRegistration:e.accountSettingsRegistration}:{},provider:{caller:Kke(l),signal:u},context:e.context});return Object.freeze({...d,query:Qke(t.query,p,r)})}async function s(l,u){if(!ec(l.userPermissionLevel,t.permission))return!1;if(!n.authorize)return!0;let p=await n.authorize(await i(l,u,void 0));if(typeof p!=="boolean")throw Wt(r,"authorization policy must return a boolean");return p}let c=n.listEntityTypes;return{id:e.runtimeWorkspaceId,label:t.label,rendererName:T_,priority:t.priority??50,permission:t.permission,...t.query?{urlQuery:!0}:{},...e.aliases?{aliases:e.aliases}:{},entityTypes:c?async(l)=>{if(!await s(l,e.runtimeSignal))return[];return Hke.parse(await c(await i(l,e.runtimeSignal,void 0)))}:(t.entities??[]).map((l)=>l.type),accessHandler:(l)=>s(l,e.runtimeSignal),async dataProvider(l,u,p){let d=Q9(e.runtimeSignal,p);if(d.throwIfAborted(),!await s(l,d))throw Wt(r,"was requested below its admission policy");let g=await i(l,d,u),f;try{f=await n.load(g)}catch(L){if(d.aborted)throw d.reason??L;throw Wt(r,"data loader failed")}d.throwIfAborted();let v=K9(t.data,f,r),w;try{w=t.view({data:v})}catch(L){if(d.aborted)throw d.reason??L;throw Wt(r,"view derivation failed")}let I=J_(w,{actions:t.actions,permission:l.userPermissionLevel});if(!I.success)throw Wt(r,"returned an invalid view; use supported StudioWorkspaceView blocks and declared actions",Bm(I.issues));let A=t.refresh?.({data:v});if(A!==void 0&&(!Number.isInteger(A)||A<500||A>60000))throw Wt(r,"returned an invalid refresh interval; use 500-60000 milliseconds");return Object.freeze({view:I.data,...A===void 0?{}:{refreshAfterMs:A}})},async actionHandler(l,u,p){let d=Q9(e.runtimeSignal,p);if(d.throwIfAborted(),!await s(u,d))throw Wt(r,"action was requested below its admission policy");let g=Uke.safeParse(l);if(!g.success)throw Wt(r,"received an invalid action request");let f=e.binding.actions.find((Ce)=>Ce.definition.name===g.data.actionId);if(!f)throw Wt(r,`does not declare action "${g.data.actionId}"`);let v=f.definition;if(v.permission!==void 0&&!ec(u.userPermissionLevel,v.permission))throw Wt(r,`action "${v.name}" was requested below its minimum permission`);let w=v.input.safeParse(g.data.input);if(!w.success)throw Wt(r,`action "${v.name}" received invalid input`,Bm(w.error.issues));let I=BT.safeParse(w.data);if(!I.success)throw Wt(r,`action "${v.name}" input must be JSON-native`);let A=await i(u,d,void 0),L=Wke.safeParse(w.data),N=v.confirmation?.kind==="prepared"&&(v.confirmation.conditional!==!0||L.success&&L.data.capability.confirmation==="prepared");if(g.data.mode==="prepare"){if(!N)throw Wt(r,`action "${v.name}" does not support prepared confirmation`);let Ce=await Y9(f,A,w.data),ke=Date.now();for(let[ce,Y]of o)if(Y.expiresAt<=ke)o.delete(ce);while(o.size>=Gke){let ce=o.keys().next();if(ce.done)break;o.delete(ce.value)}let Me=$ke(),te=ke+Vke;return o.set(Me,{callerId:u.userId,actionId:v.name,inputDigest:G9(I.data),revision:Ce.revision,expiresAt:te}),{kind:"prepared-confirmation",token:Me,summary:Ce.summary,expiresAt:new Date(te).toISOString()}}if(N){let Ce=g.data.confirmationToken,ke=Ce?o.get(Ce):void 0;if(Ce)o.delete(Ce);if(ke===void 0||ke.expiresAt<=Date.now()||ke.callerId!==u.userId||ke.actionId!==v.name||ke.inputDigest!==G9(I.data))throw Wt(r,`action "${v.name}" prepared confirmation is invalid or stale`);let Me;try{Me=await Y9(f,A,w.data)}catch{throw Wt(r,`action "${v.name}" prepared confirmation is invalid or stale`)}if(Me.revision!==ke.revision)throw Wt(r,`action "${v.name}" prepared confirmation is invalid or stale`)}let re;try{re=await Yke(f,A,w.data)}catch(Ce){if(d.aborted)throw d.reason??Ce;throw Wt(r,`action "${v.name}" failed`)}let Ee=v.output.safeParse(re);if(!Ee.success)throw Wt(r,`action "${v.name}" returned invalid output`,Bm(Ee.error.issues));let D=BT.safeParse(Ee.data);if(!D.success)throw Wt(r,`action "${v.name}" output must be JSON-native`);return D.data},...t.badge?{badgeProvider:async(l)=>{let u=e.runtimeSignal;if(!await s(l,u))return 0;let p=K9(t.data,await n.load(await i(l,u,void 0)),r),d=t.badge?.({data:p})??0;if(!Number.isInteger(d)||d<0||d>999999)throw Wt(r,"returned an invalid badge; use an integer from 0 to 999999");return d}}:{}}}var G_=Object.freeze({config:Object.freeze({}),state:Object.freeze({}),accountSettings:void 0});function eY(e){let t=e.bind(G_);if(t.definition!==e.definition)throw Error(`Built-in Studio binding for "${e.definition.id}" returned a different definition`);let n=`${e.context.pluginId}:${e.definition.id}`;return K_({publicServiceId:e.context.pluginId,packageName:e.context.pluginId,runtimeWorkspaceId:n,...e.aliases?{aliases:e.aliases.map((o)=>({id:`${e.context.pluginId}:${o.id}`,query:o.query}))}:{},config:G_.config,state:G_.state,binding:t,context:e.context,runtimeSignal:e.runtimeSignal??new AbortController().signal})}async function Xke(e){if(e.context.executionOnly||!e.context.studio.isAvailable())return!1;return e.context.studio.registerWorkspace(eY(e))}function pp(e,t,n){return Error(`Service "${e.publicServiceId}" package "${e.packageName}" dashboard widget "${e.widgetId}" ${t}${n?`: ${n}`:""}`)}function X_(e){return e.slice(0,5).map((t)=>`${t.path.length>0?t.path.join("."):"value"}: ${t.message}`).join("; ")}function eRe(e,t,n){let r=e.safeParse(t);if(!r.success)throw pp(n,"returned invalid data; return a value matching its data schema",X_(r.error.issues));return r.data}function tRe(e,t){let n=J9(e);if(!n.success)throw pp(t,"returned an invalid view; use supported OperatorView blocks and safe links",X_(n.issues));return n.data}function nRe(e,t){let n=V9(e);if(!n.success)throw pp(t,"returned an invalid digest; provide at most four bounded lines and a non-negative attention count",X_(n.issues));return n.data}function e0(e){let t=e.binding.definition,n={publicServiceId:e.publicServiceId,packageName:e.packageName,widgetId:t.id},r=Z4(e.binding);return{id:t.id,title:t.title,...t.description?{description:t.description}:{},group:t.group,rendererName:E_,section:t.placement,priority:t.priority??50,visibility:t.permission,async dataProvider(o){let i={...o,signal:AbortSignal.any([o.signal,e.runtimeSignal])},s=i.caller?.permission??"public";if(!ec(s,t.permission))throw pp(n,"was requested below its minimum permission");let c=await zT({config:e.config,state:e.state,...e.accountSettingsRegistration?{accountSettingsRegistration:e.accountSettingsRegistration}:{},provider:i,context:e.context});i.signal.throwIfAborted();let l;try{l=await r(c)}catch(f){if(i.signal.aborted)throw i.signal.reason??f;throw pp(n,"data loader failed")}i.signal.throwIfAborted();let u=eRe(t.data,l,n),p;try{p=t.view({data:u})}catch(f){if(i.signal.aborted)throw i.signal.reason??f;throw pp(n,"view derivation failed")}let d=tRe(p,n),g;if(t.digest){let f;try{f=t.digest({data:u})}catch(v){if(i.signal.aborted)throw i.signal.reason??v;throw pp(n,"digest derivation failed")}g=nRe(f,n)}return Object.freeze({view:d,...g?{digest:g}:{},...e.includeSource?{source:u}:{}})},digestProvider(o){let i=V_(o);if(!i.success)return{};return{...i.data.digest?{digest:i.data.digest.items.map((s)=>({...s,tone:s.tone??"plain"}))}:{},...i.data.digest?.attention!==void 0?{needsAttention:i.data.digest.attention}:{}}}}}var Y_=Object.freeze({config:Object.freeze({}),state:Object.freeze({}),accountSettings:void 0});async function rRe(e){if(e.context.executionOnly||!e.context.dashboard.isAvailable())return!1;let t=e.definition.bind(Y_,({caller:o,signal:i})=>e.load({caller:o,signal:i})),n=e0({publicServiceId:e.context.pluginId,packageName:e.context.pluginId,config:Y_.config,state:Y_.state,binding:t,context:e.context,runtimeSignal:e.runtimeSignal??new AbortController().signal,includeSource:e.render!==void 0}),r=e.render?{...n,renderer:e.render}:n;return e.context.dashboard.registerWidget(r)}function t0(e,t,n){let r=lp(e,t,n),o=e.getEntityService(),i=e.getRenderService(),s=e.getContentService(),c=e.getPermissionService();return{...r,permissions:{...r.permissions,getConfiguredPrincipalSeeds:()=>c.getConfiguredPrincipalSeeds(),replaceRuntimePrincipalState:(l)=>c.replaceRuntimePrincipalState(l)},entityService:o,bulkMutations:o,entities:PT(e),webRoutes:{getRoutes:()=>e.getPluginWebRoutes()},content:{generate:async({targets:l,toolContext:u,force:p,dryRun:d,signal:g})=>{g?.throwIfAborted();let f=u?{actor:u.actor,permissionLevel:u.userPermissionLevel??"public"}:{actor:{kind:"service",serviceId:t},permissionLevel:c.determineUserLevel("service",t)},v=uy(e.getJobQueueService(),t,!1);return s.submitGeneration({caller:f,targets:l,pluginId:t,options:{...p!==void 0&&{force:p},...d!==void 0&&{dryRun:d}}},{enqueue:(w,I)=>v({type:Ms.contentGeneration,data:w,toolContext:u??null,options:{source:t,rootJobId:I,maxRetries:0,metadata:{operationType:"content_operations",pluginId:t}}})},g)}},templates:{register:(l,u)=>{e.registerTemplates(l,u??t)},format:(l,u)=>s.formatContent(l,u,{pluginId:t}),parse:(l,u)=>s.parseContent(l,u,t),resolve:async(l,u)=>s.resolveContent(l,u,t),getCapabilities:(l)=>{let u=e.getTemplate(js(l,t));if(!u)return null;let p=Cm.getCapabilities(u);return{canGenerate:p.canGenerate,canFetch:p.canFetch,canRender:p.canRender,isStaticOnly:p.isStaticOnly}}},views:{get:(l)=>i.get(l)??void 0,list:()=>i.list(),hasRenderer:(l,u="web")=>i.hasRenderer(l,u),getRenderer:(l,u="web")=>i.getRenderer(l,u),validate:(l,u)=>i.validate(l,u)},prompts:AT(o),ai:OT(e),registerInstructions:(l)=>{e.registerInstructions(t,l)}}}class LT extends sp{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register(e,t){let n=t0(e,this.id,t);return this.context=n,this.setupMessageHandlers(n),await this.onRegister(n),this.getCapabilities()}get entityService(){return this.getContext().entityService}registerEntityType(e,t,n,r){this.getContext().entities.register(e,t,n,r)}async enqueueJob(e){return this.getContext().jobs.enqueue(e)}async enqueueBatch(e,t){return this.getContext().jobs.enqueueBatch(e,t)}async registerEntityTypes(e){}async registerJobHandlers(e){}async onRegister(e){await this.registerEntityTypes(e),await this.registerJobHandlers(e)}}var n0="_rizomConfirmationToken";function iRe(e){if(e===null||typeof e!=="object")return;let t=Reflect.get(e,n0);return typeof t==="string"?t:void 0}function sRe(e){if(e===void 0)return{};try{return JSON.parse(e)}catch{return e}}function tY(e,t){let n=t.status==="completed"&&t.result!==void 0?Qa(e.output,t.result):void 0;return{id:t.id,status:t.status,progress:t.progress,...n!==void 0?{result:n}:{},...t.lastError?{error:t.lastError}:{}}}function aRe(e,t,n){let r=e.definition,o=s9(e);return{...r.deadline?{executionTimeoutMs:B_(r.deadline)}:{},validateAndParse(i){let s=r.input.safeParse(i);return s.success?s.data:null},async process(i,s,c,l){let u=await o({input:i,signal:l,progress:c,templates:n,entities:{async get(p,d){let g=await t.entityService.getEntity({entityType:p.type,id:d,visibilityScope:"restricted"});return g?Om(p,g):null}},messaging:{async publish(p){await t.messaging.send({type:p.topic,payload:p.data})}}});return r.output.parse(u)}}}class rY extends LT{definition;publicId;toolContext=new oRe;cleanups=[];registeredJobs=new Set;operatorAbortController=new AbortController;registeredStudioWorkspaceIds=[];registeredDashboardWidgetIds=[];accountSettingsRegistration;studioWorkspaceBindings=[];dashboardWidgetBindings=[];scopedShell;state;tools;resources;constructor(e,t,n,r){super(r,n,t,Dm());this.definition=e,this.publicId=e.id}register(e,t){return this.scopedShell=e,super.register(e,t)}async onRegister(e){if(await super.onRegister(e),this.definition.accountSettings&&!e.executionOnly)this.accountSettingsRegistration=e.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});this.state=this.definition.setup?await this.definition.setup({config:this.config,lifecycle:{onCleanup:(o)=>{this.cleanups.push(o)}}}):_T();let t=this.templateFormatter();e.templates.register(this.runtimeTemplates(),this.id),this.registerPrompts();let n=this.definition.jobs?.({config:this.config,state:this.state})??[],r=new Set;for(let o of n){let i=o.definition;if(r.has(i.name))throw Error(`Service "${this.publicId}" registers job "${i.name}" more than once`);r.add(i.name),this.registeredJobs.add(i),p9(i,`${this.id}:${i.name}`),e.jobs.registerHandler(i.name,aRe(o,e,t))}}async onRegistrationComplete(e){if(this.definition.accountSettings&&!e.executionOnly&&!e.accountSettings.hasBackend())throw Error(`Service "${this.publicId}" account settings require auth-service and an account settings encryption key`);if(e.executionOnly)return;this.bindOperatorDefinitions(e);let t=[],n=[];try{for(let r of this.studioWorkspaceBindings){let o=`${this.id}:${r.definition.id}`,i=K_({publicServiceId:this.publicId,packageName:this.packageName,runtimeWorkspaceId:o,config:this.config,state:this.requireState(),...this.accountSettingsRegistration?{accountSettingsRegistration:this.accountSettingsRegistration}:{},binding:r,context:e,runtimeSignal:this.operatorAbortController.signal});try{if(await e.studio.registerWorkspace(i)===!1){await this.rollbackStudioWorkspaces(e,t),t.splice(0);break}}catch(s){throw Error(`Service "${this.publicId}" package "${this.packageName}" Studio workspace "${r.definition.id}" host registration failed; correct the declaration or Studio configuration: ${et(s)}`,{cause:s})}t.push(o)}this.registeredStudioWorkspaceIds.push(...t);for(let r of this.dashboardWidgetBindings){let o=e0({publicServiceId:this.publicId,packageName:this.packageName,config:this.config,state:this.requireState(),...this.accountSettingsRegistration?{accountSettingsRegistration:this.accountSettingsRegistration}:{},binding:r,context:e,runtimeSignal:this.operatorAbortController.signal});try{if(!await e.dashboard.registerWidget(o)){await this.rollbackDashboardWidgets(e,n),n.splice(0);break}}catch(i){throw Error(`Service "${this.publicId}" package "${this.packageName}" dashboard widget "${r.definition.id}" host registration failed; correct the declaration or Dashboard configuration: ${et(i)}`,{cause:i})}n.push(r.definition.id)}this.registeredDashboardWidgetIds.push(...n)}catch(r){throw await this.rollbackDashboardWidgets(e,n),await this.rollbackStudioWorkspaces(e,t),r}}async getTools(){if(this.tools)return this.tools;let e=this.requireState(),t=this.definition.tools?.({config:this.config,state:e,jobs:this.jobs(),templates:this.templateFormatter(),content:this.content()})??[],n=new Set;return this.tools=t.map((r)=>{if(n.has(r.name))throw Error(`Service "${this.publicId}" defines tool "${r.name}" more than once`);return n.add(r.name),this.runtimeTool(r)}),this.tools}async getResources(){if(this.resources)return this.resources;let e=this.definition.resources?.({config:this.config,state:this.requireState()})??{};return this.resources=Object.entries(e).map(([t,n])=>this.runtimeResource(t,n)),this.resources}async getInstructions(){return this.definition.instructions?.({config:this.config,state:this.requireState()})}async onShutdown(){this.operatorAbortController.abort(Error(`Service "${this.publicId}" is shutting down`)),await this.rollbackDashboardWidgets(this.getContext(),this.registeredDashboardWidgetIds.splice(0)),await this.rollbackStudioWorkspaces(this.getContext(),this.registeredStudioWorkspaceIds.splice(0)),this.studioWorkspaceBindings=[],this.dashboardWidgetBindings=[],this.tools=void 0,this.resources=void 0;for(let e of this.registeredJobs)d9(e,`${this.id}:${e.name}`);this.registeredJobs.clear();for(let e of this.cleanups.splice(0).reverse())await e()}bindOperatorDefinitions(e){if(this.definition.dashboardWidgets&&e.dashboard.isAvailable()){let t=this.definition.dashboardWidgets({config:this.config,state:this.requireState(),accountSettings:this.definition.accountSettings}),n=new Set;for(let r of t){let o=r.definition.id;if(n.has(o))throw Error(`Service "${this.publicId}" package "${this.packageName}" registers dashboard widget "${o}" more than once; return each local widget definition once`);n.add(o)}this.dashboardWidgetBindings=Object.freeze([...t])}if(this.definition.studioWorkspaces&&e.studio.isAvailable()){let t=this.definition.studioWorkspaces({config:this.config,state:this.requireState(),accountSettings:this.definition.accountSettings}),n=new Set;for(let r of t){let o=r.definition.id;if(n.has(o))throw Error(`Service "${this.publicId}" package "${this.packageName}" registers Studio workspace "${o}" more than once; return each local workspace definition once`);n.add(o)}this.studioWorkspaceBindings=Object.freeze([...t])}}async rollbackStudioWorkspaces(e,t){for(let n of[...t].reverse()){try{await e.studio.unregisterWorkspace(n)}catch(o){this.logger.error("Failed to unregister declarative Studio workspace",{serviceId:this.publicId,packageName:this.packageName,workspaceId:n,error:et(o)})}let r=this.registeredStudioWorkspaceIds.lastIndexOf(n);if(r>=0)this.registeredStudioWorkspaceIds.splice(r,1)}}async rollbackDashboardWidgets(e,t){for(let n of[...t].reverse()){try{await e.dashboard.unregisterWidget(n)}catch(o){this.logger.error("Failed to unregister declarative dashboard widget",{serviceId:this.publicId,packageName:this.packageName,widgetId:n,error:et(o)})}let r=this.registeredDashboardWidgetIds.lastIndexOf(n);if(r>=0)this.registeredDashboardWidgetIds.splice(r,1)}}requireState(){if(this.state===void 0)throw Error(`Service "${this.publicId}" has not completed setup`);return this.state}jobs(){let e=this.getContext();return{enqueue:async(t,n)=>{if(!this.registeredJobs.has(t))throw Error(`Service "${this.publicId}" cannot enqueue unregistered job "${t.name}"`);let r=t.input.parse(n),o=this.toolContext.getStore(),i=t.retry?t.retry.attempts-1:void 0,s=await e.jobs.enqueue({type:t.name,data:r,...o?{toolContext:o}:{},options:{source:this.id,metadata:{operationType:"data_processing",pluginId:this.id},...i!==void 0?{maxRetries:i}:{}}});return Object.freeze({id:s,status:async()=>{let c=await e.jobs.getStatus(s);return c?tY(t,c):null}})},async status(t,n){let r=await e.jobs.getStatus(n);return r?tY(t,r):null}}}content(){let e=this.getContext(),t=this.erasedTemplates(),n=(r)=>t.get(r)?.generation!==void 0;return{target:(r)=>u9(r,n),generate:async(r)=>{let o=this.toolContext.getStore(),i=await e.content.generate({targets:[...r.targets],toolContext:o,...r.force!==void 0&&{force:r.force},...r.dryRun!==void 0&&{dryRun:r.dryRun},...o?.signal&&{signal:o.signal}});return{...i,items:i.items.map(({destination:s,templateName:c,...l})=>({destination:{entityType:s.entityType,idPath:s.idPath,entityId:s.entityId},template:TM(c,this.id),...l}))}}}}templateFormatter(){let e=this.erasedTemplates();return{format(t,n){let r=e.get(t);if(!r)throw Error(`Template not found: ${t}`);return r.format(n)}}}erasedTemplateCache;erasedTemplates(){return this.erasedTemplateCache??=new Map(Object.entries(this.definition.templates??{}).map(([e,t])=>[e,{schema:t.schema,generation:t.generation,format:(n)=>t.format({value:t.schema.parse(n)})}])),this.erasedTemplateCache}erasedViews(){return new Map(Object.entries(this.definition.views??{}).map(([e,t])=>[e,{schema:t.schema,description:t.description,component:(n)=>t.renderers.web(t.schema.parse(n))}]))}runtimeTemplates(){let e=this.erasedTemplates(),t=this.erasedViews(),n={},r=new Set([...e.keys(),...t.keys()]);for(let o of r){let i=e.get(o),s=t.get(o);if(i&&s&&i.schema!==s.schema)throw Error(`Service "${this.publicId}" template and view "${o}" must share one schema`);let c=i?.schema??s?.schema;if(!c)continue;if(i?.generation&&!i.generation.prompt.trim())throw Error(`Service "${this.publicId}" generation template "${o}" requires a non-empty prompt`);let l={name:o,description:s?.description??`${this.publicId} ${o}`,schema:c,requiredPermission:"admin",...i?{formatter:{format:(u)=>i.format(u),parse:()=>{throw Error(`Template "${o}" is format-only`)}},...i.generation?{basePrompt:i.generation.prompt,dataSourceId:"shell:ai-content",...i.generation.useKnowledgeContext!==void 0?{useKnowledgeContext:i.generation.useKnowledgeContext}:{}}:{}}:{}};if(!s){n[o]=qT(l);continue}n[o]=qT({...l,schema:s.schema,layout:{component:s.component}})}return n}registerPrompts(){let e=this.scopedShell;if(!e)throw Error(`Service "${this.publicId}" has no shell`);for(let[t,n]of Object.entries(this.definition.prompts??{})){let r={name:`${this.publicId}_${t}`,...n.description?{description:n.description}:{},args:{input:{description:"JSON input",required:!0}},handler:async(o)=>{let i=n.input.parse(sRe(o.input));return{messages:[{role:"user",content:{type:"text",text:n.render({input:i})}}]}}};e.registerPrompt(this.id,r)}}runtimeResource(e,t){return{uri:t.uri,name:e,...t.description?{description:t.description}:{},mimeType:t.mimeType??"text/plain",handler:async()=>({contents:[{uri:t.uri,mimeType:t.mimeType??"text/plain",text:await t.read()}]})}}runtimeTool(e){let t=`${this.publicId}_${e.name}`,n=nY({label:e.name,requestNoun:"the operation"});return{name:t,description:e.description,inputSchema:e.input.shape,outputSchema:e.output,visibility:e.permission??"admin",sideEffects:e.sideEffects??(e.confirmation?"writes":"none"),handler:async(r,o)=>{try{let i=iRe(r);if(i!==void 0){let l=n.validateConfirmed(i,r);if(l)return l;let u={...a.record(a.string(),a.unknown()).parse(r)};delete u[n0],r=u}let s=e.input.parse(r);if(i===void 0&&e.confirmation)return{needsConfirmation:!0,toolName:t,summary:e.confirmation,args:n.buildArgs((l)=>({...a.record(a.string(),a.unknown()).parse(s),[n0]:l}))};let c=await this.toolContext.run(o,()=>e.execute({input:s,signal:o.signal??new AbortController().signal}));return{success:!0,data:e.output.parse(c)}}catch(i){return{success:!1,error:et(i)}}}}}}function oY(e,t,n,r){return new rY(e,t,n,r)}function iY(e){return wl({family:"service",id:e.id,config:e.config,instantiate:({config:t,package:n,scope:r})=>oY(e,t,n,r(e.id))})}function cRe(e){if(e.accountSettings!==void 0){let n={...e,accountSettings:e.accountSettings};return iY(n)}let t={...e,accountSettings:void 0};return iY(t)}var sY=30000,aY=1e4;function cY(e,t,n){let r,o=new Promise((i,s)=>{r=setTimeout(()=>s(Error(n)),t)});return Promise.race([e,o]).finally(()=>clearTimeout(r))}function ZT(e,t,n){let r=!1,o=0,i,s,c=Promise.resolve(),l=new Map,u=()=>{let f=c.catch(()=>{return}).then(()=>p());return c=f.then(()=>{i=void 0},(v)=>{i="Account task reconciliation failed"}),f},p=async()=>{if(!r)return;let f=o,v=await n.listConfigured(t);if(f!==o)return;let w=new Map(v.map((I)=>[I.id,I.revision]));for(let[I,A]of l)if(w.get(I)!==A.revision)await g(I,A);if(f!==o)return;for(let I of v)if(!l.has(I.id))d(I)},d=(f)=>{let v=new AbortController,w,I,A=new Promise((re,Ee)=>{w=re,I=Ee}),L={controller:v,revision:f.revision,status:"starting",message:"Connecting",run:Promise.resolve()},N=Promise.resolve().then(()=>e.run({account:Object.freeze({id:f.id,settings:f.settings}),signal:v.signal,health:{ready(){L.status="ready",L.message="Ready",w?.()},warning(re){L.status="warning",L.message=re}}})).then(()=>{if(!v.signal.aborted)throw Error(`Account-bound daemon "${e.id}" stopped before it was aborted`)}).catch((re)=>{if(v.signal.aborted)return;let Ee=re instanceof Error?re:Error(et(re));L.status="error",L.message="Account task failed",I?.(Ee)});L.run=N,l.set(f.id,L),cY(A,sY,`Account-bound daemon "${e.id}" did not report readiness within ${sY}ms`).catch(()=>{if(v.signal.aborted)return;L.status="error",L.message="Account task did not become ready",v.abort()})},g=async(f,v)=>{if(l.get(f)!==v)return;l.delete(f),v.controller.abort(),await cY(v.run,aY,`Account-bound daemon "${e.id}" task did not stop within ${aY}ms`).catch(()=>{return})};return{async start(){if(r)return;r=!0,o++,s=n.subscribe(t,()=>{u()}),await u()},async stop(){if(!r&&l.size===0)return;r=!1,o++,s?.(),s=void 0,await c.catch(()=>{return});let f=[...l.entries()];await Promise.all(f.map(([v,w])=>g(v,w)))},healthCheck(){let f={total:l.size,ready:0,warning:0,error:0};for(let w of l.values())if(w.status==="ready")f.ready++;else if(w.status==="warning")f.warning++;else if(w.status==="error")f.error++;let v=i||f.error>0?"error":f.warning>0?"warning":"healthy";return Promise.resolve({status:v,message:i??(f.total===0?"No configured accounts":`${f.ready} of ${f.total} account task(s) ready`),lastCheck:new Date,details:f})}}}var Est=["GET","POST","PUT","DELETE","OPTIONS"];class lY extends Response{}function $T(e,t={}){return new Response(JSON.stringify(e),{status:t.status??200,headers:{"Content-Type":"application/json; charset=utf-8",...t.headers}})}function wy(e,t,n={}){return $T({error:e},{status:t,...n})}function Ty(e){let t,n,r={status:"unknown",message:"Waiting for readiness",lastCheck:new Date};return{async start(){if(t)return;t=new AbortController;let o=t,i,s,c=new Promise((p,d)=>{i=p,s=d});n=Promise.resolve().then(()=>e.run({signal:o.signal,health:{ready(){r={status:"healthy",message:"Ready",lastCheck:new Date},i?.()},warning(p){r={status:"warning",message:p,lastCheck:new Date}}}})).then(()=>{if(!o.signal.aborted)throw Error(`Daemon "${e.id}" stopped before it was aborted`)}).catch((p)=>{let d=p instanceof Error?p:Error(String(p));throw r={status:"error",message:d.message,lastCheck:new Date},s?.(d),d}),n.catch(()=>{return});let l,u=new Promise((p,d)=>{l=setTimeout(()=>{let g=Error(`Daemon "${e.id}" did not report readiness within 30000ms`);r={status:"error",message:g.message,lastCheck:new Date},o.abort(),d(g)},30000)});try{await Promise.race([c,u])}finally{clearTimeout(l)}},async stop(){let o=t,i=n;t=void 0,n=void 0,o?.abort();let s,c=i?await Promise.race([i.then(()=>!0,()=>!0),new Promise((l)=>{s=setTimeout(()=>l(!1),1e4)})]):!0;if(clearTimeout(s),!c)r={status:"error",message:`Daemon "${e.id}" did not stop within 10000ms`,lastCheck:new Date};if(r.status!=="error")r={status:"unknown",message:"Stopped",lastCheck:new Date}},healthCheck(){return Promise.resolve({...r,lastCheck:new Date})}}}function uY(e){return dY(e)}function pY(e){if(!e)return;return{...e.userPermissionLevel&&{userPermissionLevel:e.userPermissionLevel},...e.isAnchor!==void 0&&{isAnchor:e.isAnchor},...e.interfaceType&&{interfaceType:e.interfaceType},...e.channelId&&{channelId:e.channelId},...e.channelName&&{channelName:e.channelName},...e.actor&&{actor:e.actor},...e.source&&{source:e.source},...e.attachments&&{attachments:e.attachments},...e.guestExecution&&{guestExecution:e.guestExecution}}}function mY(e){return{get guestProfileAvailable(){return e.guestProfileAvailable===!0},chat:async(t,n,r,o)=>{let i=pY(r),s=o?await e.chat(t,n,i,o):await e.chat(t,n,i);return uY(s)},confirmPendingAction:async(t,n,r,o,i)=>{let s=pY(o);if(!s)throw Error("Confirmation requires caller context.");let c=i?await e.confirmPendingAction(t,n,r,s,i):await e.confirmPendingAction(t,n,r,s);return uY(c)},invalidate:()=>{e.invalidateAgent()}}}var fY=Symbol.for("brains.httpRouteSnapshotProvider");function UT(e){let t=Reflect.get(e,fY);return typeof t==="function"?t:void 0}function lRe(e,t){if(UT(e))throw Error("HTTP route snapshot provider is already bound");Object.defineProperty(e,fY,{value:t,enumerable:!1,configurable:!0,writable:!1})}function gY(e,t){let n=UT(e);if(!n)throw Error("HTTP route snapshot provider is not bound");if(UT(t))return;lRe(t,n)}function hY(e){let t=UT(e);if(!t)throw Error("HTTP route snapshot provider is not bound");return t()}function WT(e,t,n){let r=lp(e,t,n),o=e.getMCPService(),i=e.getPermissionService(),s=mY(e.getAgentService());return{...r,mcpTransport:o,agent:s,permissions:{...r.permissions,getUserLevel:(c,l,u)=>i.determineUserLevel(c,l,u),isAnchor:(c,l)=>i.isAnchor(c,l)},daemons:{register:(c,l)=>{let u=`${t}:${c}`;e.registerDaemon(u,l,t),r.logger.debug(`Registered daemon: ${u}`)}},conversations:{...r.conversations,start:async(c)=>e.getConversationService().startConversation(c),addMessage:async(c)=>{await e.getConversationService().addMessage(c)},updateMetadata:async(c)=>e.getConversationService().updateConversationMetadata(c),delete:async(c)=>e.getConversationService().deleteConversation(c)},tools:{listForPermissionLevel:(c)=>e.listToolsForPermissionLevel(c)},apiRoutes:{getRoutes:()=>e.getPluginApiRoutes(),getMessageBus:()=>e.getMessageBus()},webRoutes:{getRoutes:()=>e.getPluginWebRoutes()},httpRoutes:{getRoutes:()=>hY(e)},plugins:{has:(c)=>e.hasPlugin(c)}}}function r0(e,t,n){return{...WT(e,t,n),channels:x4(e,t)}}var uRe=3600000;class Lm extends sp{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=uRe;createContext(e,t){return WT(e,this.id,t)}async register(e,t){let n=this.createContext(e,t);if(this.context=n,this.initializeDaemon(),this.daemon)await this.registerDaemon(n);return this.setupMessageHandlers(n),await this.onRegister(n),this.getCapabilities()}async onRegister(e){}async registerDaemon(e){if(!this.daemon)return;e.daemons.register(this.id,this.daemon),e.logger.debug(`Registered daemon for interface: ${this.id}`)}createDaemon(){return}requiresDaemonStartup(){return!1}getWebRoutes(){return[]}initializeDaemon(){let e=this.createDaemon();if(e)this.daemon=e}async handleProgressEvent(e,t){}cleanupExpiredEntries(){let e=Date.now(),t=[];for(let[n,r]of this.jobTrackingEntries)if(e-r.createdAt>this.jobTrackingTtlMs)t.push(n);for(let n of t)this.jobTrackingEntries.delete(n)}ownsJob(e,t){return this.jobTrackingEntries.has(e)||t!==void 0&&this.jobTrackingEntries.has(t)}getJobTracking(e,t){let n=this.jobTrackingEntries.get(e);if(n)return n.info;if(t){let r=this.jobTrackingEntries.get(t);if(r)return r.info}return}setJobTracking(e,t){this.cleanupExpiredEntries(),this.jobTrackingEntries.set(e,{info:t,createdAt:Date.now()})}removeJobTracking(e){this.jobTrackingEntries.delete(e)}async createJobWithTracking(e,t){let r=await this.getContext().jobs.enqueue(e);return this.setJobTracking(r,t),r}async createBatchWithTracking(e,t,n){let o=await this.getContext().jobs.enqueueBatch(e,n);return this.setJobTracking(o,t),o}}class yY extends Lm{definition;accountSettingsRegistration;routes=[];hasRequiredDaemon=!1;constructor(e,t,n,r){super(r,n,t,Dm());this.definition=e}async onRegister(e){if(await super.onRegister(e),this.definition.accountSettings)this.accountSettingsRegistration=e.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});let t=this.jobs(e),n=this.definition.routes?.({config:this.config,jobs:t})??[];this.routes=n.map((i)=>this.runtimeRoute(i,e));let r=this.definition.daemons?.({config:this.config,jobs:t})??[],o=new Set;for(let i of r){if(o.has(i.id))throw Error(`Interface "${this.definition.id}" defines daemon "${i.id}" more than once`);if(o.add(i.id),this.hasRequiredDaemon||=i.required,i.forAccounts){if(i.forAccounts!==this.definition.accountSettings)throw Error(`Interface "${this.definition.id}" account-bound daemon "${i.id}" must reference its attached account settings`);let s=this.accountSettingsRegistration;if(!s)throw Error(`Interface "${this.definition.id}" account-bound daemon "${i.id}" has no registered account settings`);e.daemons.register(i.id,ZT(i,s,e.accountSettings));continue}e.daemons.register(i.id,Ty(i))}}async onRegistrationComplete(e){if(this.accountSettingsRegistration&&!e.accountSettings.hasBackend())throw Error(`Interface "${this.definition.id}" account settings require auth-service and an account settings encryption key`)}getWebRoutes(){return[...this.routes]}requiresDaemonStartup(){return this.hasRequiredDaemon}async onShutdown(){this.accountSettingsRegistration=void 0,this.routes=[],this.hasRequiredDaemon=!1,await super.onShutdown()}jobs(e){return{enqueue:async(t,n)=>{let r=t.input.parse(n),o=await e.jobs.enqueue({type:by(t),data:r});return Object.freeze({id:o})}}}runtimeRoute(e,t){return{method:e.method,path:e.path,public:!0,handler:async(n)=>{let r=await this.resolveCaller(e,n,t);if(e.security.kind==="protocol"&&!r)return wy("Unauthorized",401);let o;if(e.body){let s;try{s=await n.json()}catch{return wy("Request body must be valid JSON",400)}let c=e.body.safeParse(s);if(!c.success)return wy("Request body is invalid",400);o=c.data}let i=await e.handle({request:n,body:o,caller:r});return $T(e.response.parse(i))}}}async resolveCaller(e,t,n){if(e.security.kind==="public")return null;let r=await e.security.authenticate({request:t});if(!r?.id.trim())return null;let o=n.permissions.getUserLevel(this.definition.id,r.id);return Object.freeze({actor:Object.freeze({...r}),permission:o,isAnchor:n.permissions.isAnchor(this.definition.id,r.id)})}}function bY(e,t,n,r){return new yY(e,t,n,r)}var xY=["GET","POST","PUT","DELETE","OPTIONS"];function o0(e,t){e.messaging.subscribe(cy.progress,async(n)=>{try{let r=bT.safeParse(n.payload);if(!r.success)return t.onInvalidSchema(),{success:!1};let o=r.data;return await t.onProgress(o,o.metadata),{success:!0}}catch(r){return t.onError(r),{success:!1}}})}function i0(e){let t=e.status==="completed"?"\u2705":"\u274C",n=e.status==="completed"?"completed":"failed",r=e.metadata.operationType.replace(/_/g," "),o=e.metadata.operationTarget?`: ${e.metadata.operationTarget}`:"",i=`${t} **${r}${o}** ${n}`;if(e.message)i+=`
187
+ )`:void 0].filter((g)=>g!==void 0),d=this.db.select().from(Ie).orderBy(dn(Ie.lastActive),dn(Ie.id)).limit(t).offset(n);if(p.length===0)return d;return d.where(oe(...p))}async searchConversations(e,t){let n=`%${e.toLowerCase()}%`;return(await this.db.selectDistinct({conversation:Ie}).from(Ie).leftJoin(Nn,O(Nn.conversationId,Ie.id)).where(oe(il(Ie.interfaceType,fo),t?S`lower(${Nn.content}) LIKE ${n} AND ${Ie.sessionId} = ${t}`:S`lower(${Nn.content}) LIKE ${n}`)).orderBy(dn(Ie.lastActive))).map((o)=>o.conversation)}async countMessages(e){let t=await this.getConversation(e);if(!t)return 0;let[n]=await this.db.select({count:FG()}).from(Nn).where(oe(O(Nn.conversationId,e),al(this.db.select({id:Ie.id}).from(Ie).where(this.accessCondition(t)))));return Number(n?.count??0)}async updateConversationMetadata(e){let t=await this.getConversation(e.conversationId);if(!t)return!1;if(t.interfaceType===fo&&"guest"in e.metadata)throw Error("Guest ownership cannot be changed");let n=new Date().toISOString(),r={...Xa(t.metadata),...e.metadata},o=Promise.resolve().then(()=>this.db.update(Ie).set({metadata:JSON.stringify(r),updated:n}).where(this.accessCondition(t)).returning({id:Ie.id})),i=t.interfaceType===fo?await o.catch(()=>null):await o;if(!i)throw Error("Guest conversation write unavailable");if(i.length!==1)return!1;if(t.interfaceType!==fo)this.logger.debug("Updated conversation metadata",{conversationId:e.conversationId});return!0}async deleteExpiredGuestConversations(e=100){a.number().int().min(1).max(1000).parse(e);let t=this.db.select({id:Ie.id}).from(Ie).where(oe(O(Ie.interfaceType,fo),c4())).orderBy(st(Ie.lastActive)).limit(e);return(await this.db.delete(Ie).where(It(Ie.id,t)).returning({id:Ie.id})).length}async deleteConversation(e){let t=await this.findConversation(e);if(!t)return!1;if(await this.db.delete(Ie).where(O(Ie.id,e)),t.interfaceType!==fo)this.logger.debug("Deleted conversation",{conversationId:e});return!0}async checkAndBroadcastDigest(e,t){let n=await this.countMessages(e),r=this.config.digestTriggerInterval??10;if(n>0&&n%r===0)await this.broadcastDigest(e,n,t)}async broadcastDigest(e,t,n){let r=this.config.digestWindowSize??20,o=Math.max(1,t-r+1),i=t,s=await this.getMessages(e,{range:{start:o,end:i}}),c={conversationId:e,messageCount:t,messages:s,windowStart:o,windowEnd:i,windowSize:s.length,timestamp:n};await this.messageBus.send({type:U5.digest,payload:c,sender:"conversation-service",broadcast:!0}),this.logger.debug("Broadcast conversation digest",{conversationId:e,messageCount:t,windowStart:o,windowEnd:i,windowSize:s.length})}}function yIe(e){let t=Gd.safeParse(e);return t.success?t.data:"user"}function TT(e){let t=Xa(e.metadata),n=typeof t.channelName==="string"?t.channelName:void 0;return{id:e.id,sessionId:e.sessionId,interfaceType:e.interfaceType,channelId:e.channelId,...e.personId?{personId:e.personId}:{},channelName:n,startedAt:e.started,lastActiveAt:e.lastActive,createdAt:e.created,updatedAt:e.updated,metadata:t}}function u4(e){return{id:e.id,conversationId:e.conversationId,role:yIe(e.role),content:e.content,timestamp:e.timestamp,metadata:Xa(e.metadata)}}function p4(e){return NA.parse(e)}function d4(e){return jA.parse(e)}function bIe(e){return Z5(e[0])}function m4(e){return async()=>$5(await e.getAppInfo())}function f4(e,t){return{get:()=>p4(e.getIdentity()),getProfile:()=>d4(e.getProfile()),getAppInfo:t}}function g4(e,t){let n=e.getProfileKindRegistry();return{register:(r)=>{n.register(t,r)},getResolved:()=>n.getResolved(),getSelectedDefinition:()=>n.getSelectedDefinition()}}function w_(e){let t=e.getChannelRegistry();return{listDescriptors:()=>t.listDescriptors(),getDescriptor:(n)=>t.getDescriptor(n),getDeliveryProvider:(n)=>t.getDeliveryProvider(n)}}function h4(e,t){let n=e.getOperationalHealthRegistry();return{register:(r,o)=>n.register(t,r,o)}}function y4(e,t){let n=e.getInboxRegistry();return{registerSource:(r)=>{n.registerSource(t,r)},listSources:()=>n.listSources(),getSource:(r)=>n.getSource(r)}}function b4(e,t){let n=e.getInboxFollowUpRegistry();return{registerKind:(r)=>{n.registerKind(t,r)},listKinds:()=>n.listKinds(),getKind:(r)=>n.getKind(r),resolve:(r)=>n.resolve(r),resolveUniversal:(r)=>n.resolveUniversal(r)}}function x4(e,t){let n=e.getChannelRegistry();return{...w_(e),registerDescriptor:(r)=>{n.registerDescriptor(t,r)},registerDeliveryProvider:(r)=>{n.registerDeliveryProvider(t,r)}}}function S4(e,t,n,r=!1){let o=e.getMessageBus();return{send:async(s)=>o.send({...s,sender:t}),subscribe:(...s)=>{if(r)return()=>{};if(bIe(s)){let[u,p]=s,d=async(g)=>{let f=u.schema.safeParse(g.payload);if(!f.success)return n.warn(`Invalid payload for channel ${u.name}`,{error:f.error.message}),{noop:!0};let{payload:v,...w}=g;return p(f.data,w)};return o.subscribe(u.name,d)}let[c,l]=s;return o.subscribe(c,l)},subscribeExecution:(s,c)=>o.subscribe(s,c)}}function v4(e,t){let n=e.getJobQueueService();return{...e.jobs,enqueue:uy(n,t,!0),enqueueBatch:f_(e.jobs,t),registerHandler:g_(n,t)}}function w4(e){let t=e.getPermissionService();return{assertEntityActionAllowed:(n,r,o)=>{t.assertEntityActionAllowed(n,r,o.userPermissionLevel)}}}function T4(e){return{get:async(t)=>{let r=await e.getConversationService().getConversation(t);return r?TT(r):null},search:async(t)=>(await e.getConversationService().searchConversations(t)).map(TT),list:async(t)=>(await e.getConversationService().listConversations(t)).map(TT),getMessages:async(t,n)=>(await e.getConversationService().getMessages(t,n)).map(u4),countMessages:async(t)=>e.getConversationService().countMessages(t)}}function C4(e,t){return{registerHandler:(n,r)=>{e.registerEvalHandler(t,n,r)}}}function E4(e){return{register:(t,n)=>{e.getInsightsRegistry().register(t,n)}}}function I4(e){return{has:(t)=>e.getPluginPackageName(t)!==void 0}}function k4(e,t){return{register:(n)=>{e.registerEndpoint({...n,pluginId:t})}}}function R4(e,t){return{register:(n)=>{e.registerInteraction({...n,pluginId:t})}}}var my="studio:register-workspace",CT="studio:unregister-workspace",T_="DeclarativeOperatorWorkspace";function xIe(e,t){if(e.userPermissionLevel!=="admin")throw Error(`${t} requires admin permission`)}function ET(e,t){return Error(`Studio workspace ${e} failed: ${t??"unknown host error"}`)}function P4(e,t,n){return{isAvailable:()=>n(my),async registerWorkspace(r){if(!n(my))return!1;let o=await e.send({type:my,payload:{...r,pluginId:t}});if("noop"in o)throw ET("register",void 0);if(!o.success||o.data===void 0)throw ET("register",o.error);return o.data},async unregisterWorkspace(r){if(!n(CT))return!1;let o={pluginId:t,...r?{workspaceId:r}:{}},i=await e.send({type:CT,payload:o});if("noop"in i)throw ET("unregister",void 0);if(!i.success)throw ET("unregister",i.error);return!0}}}var E_="DeclarativeOperatorWidget",kT="studio:register-overview-contribution",C_="studio:unregister-overview-contribution";function IT(e,t){if("success"in t&&t.success)return!0;let n="error"in t?t.error:void 0;throw Error(`Dashboard widget ${e} failed: ${n??"unknown host error"}`)}function A4(e,t,n){return{isAvailable:()=>n(Am.registerWidget)||n(kT),registerWidget:async(r)=>{let o=!1;if(n(Am.registerWidget)){let s=await e.send({type:Am.registerWidget,payload:{...r,pluginId:t}});IT("register",s),o=!0}let i=r.visibility??"public";if(i!=="public"&&n(kT)){let s={...r,pluginId:t,visibility:i},c=await e.send({type:kT,payload:s});IT("register",c),o=!0}return o},unregisterWidget:async(r)=>{let o=!1;if(n(Am.unregisterWidget)){let i=await e.send({type:Am.unregisterWidget,payload:{pluginId:t,...r?{widgetId:r}:{}}});IT("unregister",i),o=!0}if(n(C_)){let i={pluginId:t,...r?{contributionId:r}:{}},s=await e.send({type:C_,payload:i});IT("unregister",s),o=!0}return o}}}var I_=a.object({name:a.string(),description:a.string(),tags:a.array(a.string()),examples:a.array(a.string())});var O4=100;function SIe(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,200);return t.length>0?t:"skill"}function D4(e){return{async list(){let t=e.getEntityService();if(t.hasEntityType("skill")){let n;try{n=await t.listEntities({entityType:"skill",options:{filter:{visibilityScope:"public"}}})}catch{n=void 0}if(n!==void 0){let r=n.map((o)=>I_.safeParse(o.metadata)).filter((o)=>o.success).map(({data:o})=>({id:SIe(o.name),name:o.name,description:o.description,tags:o.tags,examples:o.examples}));if(r.length>0)return r.slice(0,O4)}}return e.listToolsForPermissionLevel("public").map((n)=>({id:n.name,name:n.name,description:n.description,tags:[],examples:[]})).slice(0,O4)}}}function lp(e,t,n){let r=e.getEntityService(),o=e.getLogger().child(t),i=e.getDomain(),s=e.getLocalSiteUrl(),c=e.shouldPreferLocalUrls(),l=e.getThemeCSS(),u=m4(e),p=e.getAttachmentRegistry(),d=e.getRuntimeUploadRegistry(),g=e.getRuntimeState(),f=e.getAccountSettingsRegistry(),v=n?.executionOnly===!0,w=S4(e,t,o,v);return{pluginId:t,executionOnly:v,logger:o,entityService:r,semantic:{project:(I)=>r.projectSemanticSpace(I)},identity:f4(e,u),profileKinds:g4(e,t),channels:w_(e),publicSkills:D4(e),inbox:y4(e,t),inboxFollowUps:b4(e,t),appInfo:u,readiness:()=>e.getRuntimeReadiness(),operationalHealth:h4(e,t),judge:(I)=>e.judge(I),domain:i,siteUrl:i?`https://${i}`:void 0,localSiteUrl:s,previewUrl:i?`https://${r_(i)}`:void 0,preferLocalUrls:c,themeCSS:l,entityDisplay:n?.entityDisplay,spaces:e.getSpaces(),permissions:w4(e),messaging:w,dashboard:A4(w,t,(I)=>e.getMessageBus().hasHandlers?.(I)??!1),studio:P4(w,t,(I)=>e.getMessageBus().hasHandlers?.(I)??!1),jobs:v4(e,t),attachments:p,uploads:d,accountSettings:f,runtimeState:g,recurringChecks:e.getRecurringChecks(t),conversations:T4(e),dataDir:e.getDataDir(),gitBrokerSocket:e.getGitBrokerSocket(),gitBrokerCheckout:e.getGitBrokerCheckout(),eval:v?{registerHandler:()=>{}}:C4(e,t),insights:v?{register:()=>{}}:E4(e),plugins:I4(e),endpoints:v?{register:()=>{}}:k4(e,t),interactions:v?{register:()=>{}}:R4(e,t)}}function M4(e){return e.replace(/:/g,"-")}function vIe(e){return e.split(/[:.-]/).map((t)=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function _4(e){return nr(e,a.record(a.string(),a.unknown())).content}async function wIe(e,t,n){let r=await e("prompt",M4(t));return r?.content?_4(r.content):n}var k_=new Map;async function RT(e,t,n){let r=k_.get(t);if(r!==void 0)return r;let o=M4(t),i;try{i=await e.getEntity({entityType:"prompt",id:o})}catch{return n}if(i?.content){let l=_4(i.content);return k_.set(t,l),l}let s=vIe(t),c=La(n,{title:s,target:t});try{await e.createEntity({entity:{id:o,entityType:"prompt",content:c,metadata:{title:s,target:t,slug:o}}})}catch{}return k_.set(t,n),n}async function TIe(e,t){let n=e.list().filter((r)=>!!r.basePrompt);return await Promise.all(n.map((r)=>RT(t,r.name,r.basePrompt))),n.length}function PT(e){let t=e.getEntityService(),n=e.getEntityRegistry(),r=e.getDataSourceRegistry();return{validateGroupings:(o)=>n.validateGroupings(o),registerGrouping:(o)=>n.registerGrouping(o),getGroupings:()=>n.getGroupings(),isGroupingContributor:(o)=>n.isGroupingContributor(o),register:(o,i,s,c)=>{n.registerEntityType(o,i,s,c)},getAdapter:(o)=>{try{return n.getAdapter(o)}catch{return}},extendFrontmatterSchema:(o,i)=>{n.extendFrontmatterSchema(o,i)},getEffectiveFrontmatterSchema:(o)=>n.getEffectiveFrontmatterSchema(o),registerPersistValidator:(o,i)=>{n.registerPersistValidator(o,i)},registerCreateInterceptor:(o,i)=>{n.registerCreateInterceptor(o,i)},registerUploadSaveHandler:(o)=>{n.registerUploadSaveHandler(o)},getUploadSaveHandler:(o)=>n.getUploadSaveHandler(o),update:async(o)=>t.updateEntity({entity:o}),registerDataSource:(o)=>{r.register(o)}}}function AT(e){return{resolve:(t,n)=>RT(e,t,n)}}function OT(e){return{query:(t,n)=>e.query(t,n),generate:async(t,n)=>n.parse(await e.generateContent(t)),generateObject:async(t,n,r)=>e.generateObject(t,n,r),generateImage:async(t,n)=>e.generateImage(t,n),canGenerateImages:()=>e.canGenerateImages()}}function R_(e,t,n){let r=lp(e,t,n),o=e.getEntityService();return{...r,entityService:o,entities:PT(e),ai:OT(e),prompts:AT(o),permissions:r.permissions}}var P_=a.object({});class fy extends sp{type="entity";entityActionPolicy;constructor(e,t,n,r,o){super(e,t,n,r);if(o!==void 0)this.entityActionPolicy=o}async register(e,t){let n=R_(e,this.id,t);this.context=n,this.setupMessageHandlers(n);let r=this.getProjectionRules(n),o=this.getEntityTypeConfig(),i=r.some((g)=>g.targetType===this.entityType),s=o?.projectionSource!==!1&&o?.projectionSourceRole!=="excluded"&&(o?.projectionSource===!0||o?.projectionSourceRole!==void 0),c=i&&!s?{...o,projectionSource:!1,projectionSourceRole:"excluded"}:o;if(n.entities.register(this.entityType,this.schema,this.adapter,c),this.interceptCreate!==fy.prototype.interceptCreate)n.entities.registerCreateInterceptor(this.entityType,(g,f)=>this.interceptCreate(g,f,n));let l=this.createGenerationHandler(n);if(l)n.jobs.registerHandler(`${this.entityType}:generation`,l);let u=this.getTemplates();if(u&&Object.keys(u).length>0)e.registerTemplates(u,this.id);let p=this.getDataSources();for(let g of p)n.entities.registerDataSource(g);await this.onRegister(this.context);let d=await this.getInstructions();return{tools:[],resources:[],...d&&{instructions:d},...r.length>0&&{projectionRules:r}}}async interceptCreate(e,t,n){return{kind:"continue",input:e}}createGenerationHandler(e){return null}getTemplates(){return null}getDataSources(){return[]}getEntityTypeConfig(){return}getProjectionRules(e){return[]}}function O_(e){return z4(A_(e))}function A_(e,t=new Set){if(e===null)return"null";if(typeof e==="string"||typeof e==="boolean")return JSON.stringify(e);if(typeof e==="number"){if(!Number.isFinite(e))throw Error("Projection inputs cannot contain non-finite numbers");if(Number.isInteger(e)&&!Number.isSafeInteger(e))throw Error("Projection inputs cannot contain unsafe integers");return JSON.stringify(e)}if(typeof e!=="object")throw Error(`Projection inputs cannot contain ${typeof e} values`);if(t.has(e))throw Error("Projection inputs cannot contain circular values");let n=new Set(t).add(e);if(Array.isArray(e))return`[${e.map((o)=>A_(o,n)).join(",")}]`;let r=Object.getPrototypeOf(e);if(r!==Object.prototype&&r!==null)throw Error("Projection inputs must contain only plain JSON objects");return`{${Object.entries(e).filter(([,o])=>o!==void 0).sort(([o],[i])=>o.localeCompare(i)).map(([o,i])=>`${JSON.stringify(o)}:${A_(i,n)}`).join(",")}}`}function D_(e){if(e!==null&&typeof e==="object"){for(let t of Object.values(e))D_(t);Object.freeze(e)}return e}var CIe=a.strictObject({id:a.string().trim().min(1),version:a.string().trim().min(1),sources:a.array(a.strictObject({kind:a.literal("entity"),types:a.array(a.string().trim().min(1)).min(1),excludeTypes:a.array(a.string().trim().min(1)).optional()})),targetType:a.string().trim().min(1),sourceChangeBatchDelayMs:a.number().int().nonnegative().default(0)});function M_(e){let t=CIe.parse({id:e.id,version:e.version,sources:e.sources,targetType:e.targetType,sourceChangeBatchDelayMs:e.sourceChangeBatchDelayMs});if(typeof e.selectInput!=="function")throw Error(`Projection rule "${t.id}" must select input`);if(typeof e.derive!=="function")throw Error(`Projection rule "${t.id}" must derive output`);let n=t.sources.map((r)=>{let o=Object.freeze([...r.types]),i=r.excludeTypes?Object.freeze([...r.excludeTypes]):void 0,s={kind:"entity",types:o,...i?{excludeTypes:i}:{}};return Object.freeze(s)});return Object.freeze({id:t.id,version:t.version,sources:Object.freeze(n),targetType:t.targetType,sourceChangeBatchDelayMs:t.sourceChangeBatchDelayMs,inputSchema:e.inputSchema,selectInput:async(r,o,i)=>{let s=await e.selectInput(r,o,i),c=Ji.parse(s);return D_(e.inputSchema.parse(c))},fingerprint:O_,derive:async(r,o,i)=>{let s=e.inputSchema.parse(r),c=a.array(dl).parse(await e.derive(s,o,i));for(let l of c){let u=l.operation==="upsert"?l.entity.entityType:l.entityType;if(u!==t.targetType)throw Error(`Projection rule "${t.id}" cannot write entity type "${u}"`)}return D_(c)}})}var EIe=a.record(a.string(),a.unknown()),IIe=a.object({items:a.array(a.object({operation:a.enum(["upsert","delete"]),id:a.string(),source:Ji.optional()}))}),F4=new WeakMap;function DT(e){let t=F4.get(e);if(!t)t=ai.extend({entityType:a.literal(e.type),metadata:e.metadata}),F4.set(e,t);return t}function Om(e,t){let n=DT(e).parse(t);return{...n,entityType:e.type,metadata:Qa(e.metadata,n.metadata)}}function N4(e,t){return e.markdown?e.markdown.encode({content:t.content,metadata:e.metadata.parse(t.metadata)}):{content:t.content,frontmatter:t.metadata}}function j4(e,t){let n=N4(e,t);return La(n.content,n.frontmatter)}function kIe(e){let t=DT(e);return{entityType:e.type,purpose:e.purpose,schema:t,frontmatterSchema:e.metadata,toMarkdown(n){return j4(e,n)},fromMarkdown(n){let r=nr(n,EIe),o=e.markdown?e.markdown.decode({content:r.content,frontmatter:r.metadata}):{content:r.content,metadata:r.metadata};return{content:o.content,metadata:e.metadata.parse(o.metadata)}},extractMetadata:(n)=>n.metadata,parseFrontMatter:(n,r)=>nr(n,r).metadata,generateFrontMatter(n){return vh(N4(e,n).frontmatter)},getBodyTemplate:()=>""}}async function RIe(e,t,n){let r=DT(e.source).parse(t),o=[];return await e.project({source:r,signal:n,target:{async upsert(i){let s=Ji.parse(e.target.metadata.parse(i.metadata)),c=i.visibility??"public";o.push({operation:"upsert",entity:{id:i.id,entityType:e.target.type,content:Kd(j4(e.target,{content:i.content,metadata:s}),c),metadata:s,visibility:c}})}}}),o}function PIe(e,t,n){return M_({id:n(e.id),version:t,sources:[{kind:"entity",types:[e.source.type]}],targetType:e.target.type,inputSchema:Ji,async selectInput(r,o){let i=r.inputs.filter(({sourceType:c})=>c===e.source.type),s=await Promise.all(i.map(async(c)=>{if(c.operation==="delete")return{operation:"delete",id:c.sourceId};let l=await o.entities.getEntity({entityType:c.sourceType,id:c.sourceId,visibilityScope:"restricted"});if(!l)throw Error(`Projection "${e.id}" could not load ${c.sourceType}:${c.sourceId}`);return{operation:"upsert",id:c.sourceId,source:l}}));return Ji.parse({items:s})},async derive(r,o,i){let s=IIe.parse(r),c=[];for(let l of s.items){if(i.throwIfAborted(),l.operation==="delete"){c.push({operation:"delete",entityType:e.target.type,id:l.id});continue}if(!l.source)throw Error(`Projection "${e.id}" upsert item ${l.id} is missing its source`);c.push(...await RIe(e,l.source,i))}return c}})}class B4 extends fy{projections;scope;entityType;schema;adapter;constructor(e,t,n,r){super(r(e.type),n,{},P_);this.projections=t,this.scope=r,this.entityType=e.type,this.schema=DT(e),this.adapter=kIe(e)}getProjectionRules(){return this.projections.map((e)=>PIe(e,this.version,this.scope))}}function L4(e,t,n,r){return e.map((o)=>new B4(o,t.filter(({source:i})=>i===o),n,r))}var q4=Symbol.for("rizom.plugin-package.runtime-factory");function Dm(){return a.custom((e)=>e!==null&&typeof e==="object")}function sr(e,t){if(!/^[a-z][a-z0-9-]*$/u.test(e))throw Error(`${t} must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens`)}function wl(e){sr(e.id,"Plugin definition id");let t={kind:"rizom-plugin-package",family:e.family,id:e.id,config:e.config},n=Object.assign({},e.public,t);return Object.defineProperty(n,q4,{configurable:!1,enumerable:!1,value:e.instantiate,writable:!1}),Object.freeze(n)}function AIe(e){if(e===null||typeof e!=="object")return!1;let t=Reflect.get(e,"config");return Reflect.get(e,"kind")==="rizom-plugin-package"&&typeof Reflect.get(e,"id")==="string"&&typeof Reflect.get(e,"family")==="string"&&t!==null&&typeof t==="object"&&typeof Reflect.get(t,"safeParse")==="function"&&typeof Reflect.get(e,q4)==="function"}function OIe(e){if(sr(e.type,"Entity type"),!e.purpose.trim())throw Error(`Entity "${e.type}" purpose must not be empty`);return Object.freeze({kind:"rizom-entity",...e})}function DIe(e){return sr(e.id,"Projection id"),Object.freeze({kind:"rizom-projection",...e})}var MIe=a.object({});function _Ie(e){let t=Object.freeze([...e.entities]),n=Object.freeze([...e.projections??[]]),r=new Set(t),o=t.map(({type:l})=>l);if(new Set(o).size!==o.length)throw Error(`Entity package "${e.id}" contains duplicate entity types`);let i=n.map(({id:l})=>l);if(new Set(i).size!==i.length)throw Error(`Entity package "${e.id}" contains duplicate projection ids`);let s=n.find(({source:l,target:u})=>!r.has(l)||!r.has(u));if(s)throw Error(`Entity package "${e.id}" projection "${s.id}" references an entity outside its package`);let c={entities:t,projections:n};return wl({family:"entity",id:e.id,config:MIe,public:c,instantiate:({package:l,scope:u})=>L4(t,n,l,u)})}function Tl(e){return Object.freeze(e),e}var zIe=["public","trusted","admin"];function zo(e,t){if(!e.trim())throw Error(`${t} must not be empty`)}function gy(e,t){if(e!==void 0)zo(e,t)}function __(e,t){if(e!==void 0&&!Number.isFinite(e))throw Error(`${t} priority must be finite`)}function hy(e,t){if(!zIe.includes(e))throw Error(`${t} permission "${String(e)}" is unsupported`)}function ec(e,t){return ip.hasPermission(e,t)}function Z4(e){if(typeof e.load!=="function")throw Error(`Dashboard widget "${e.definition.id}" was not bound by defineDashboardWidget().bind()`);return e.load}function $4(e){if(sr(e.id,"Dashboard widget id"),zo(e.title,`Dashboard widget "${e.id}" title`),zo(e.group,`Dashboard widget "${e.id}" group`),gy(e.description,`Dashboard widget "${e.id}" description`),__(e.priority,`Dashboard widget "${e.id}"`),hy(e.permission,`Dashboard widget "${e.id}"`),!["primary","secondary","sidebar"].includes(e.placement))throw Error(`Dashboard widget "${e.id}" placement "${String(e.placement)}" is unsupported`);let t={kind:"rizom-dashboard-widget",...e,bind(n,r){return Tl({kind:"rizom-dashboard-widget-binding",definition:t,load:r})}};return Object.freeze(t)}var U4=Symbol("rizom.studio-workspace-executor");function W4(e){let t=e[U4];if(!t)throw Error(`Studio workspace "${e.definition.id}" was not bound by defineStudioWorkspace().bind()`);return t}function H4(e){sr(e.id,"Studio workspace id"),zo(e.label,`Studio workspace "${e.id}" label`),gy(e.description,`Studio workspace "${e.id}" description`),__(e.priority,`Studio workspace "${e.id}"`),hy(e.permission,`Studio workspace "${e.id}"`);let t=new Set;for(let r of e.actions){if(t.has(r.name))throw Error(`Studio workspace "${e.id}" declares action "${r.name}" more than once`);if(t.add(r.name),r.permission!==void 0&&!ec(r.permission,e.permission))throw Error(`Studio workspace "${e.id}" action "${r.name}" permission cannot be lower than the workspace permission`)}let n={kind:"rizom-studio-workspace",...e,...e.entities?{entities:Object.freeze([...e.entities])}:{},actions:Tl(e.actions),bind(r,o){if(n.entityCatalog!==void 0!==(o.listEntityTypes!==void 0))throw Error(`Studio workspace "${n.id}" must bind one entity-type catalog callback exactly when it declares entityCatalog`);let i=new Set;for(let s of o.actions){if(!n.actions.includes(s.definition))throw Error(`Studio workspace "${n.id}" cannot bind undeclared action "${s.definition.name}"`);if(i.has(s.definition))throw Error(`Studio workspace "${n.id}" binds action "${s.definition.name}" more than once`);i.add(s.definition)}for(let s of n.actions)if(!i.has(s))throw Error(`Studio workspace "${n.id}" has no executor for action "${s.name}"`);return Object.freeze({kind:"rizom-studio-workspace-binding",definition:n,actions:Object.freeze([...o.actions]),[U4]:Object.freeze({...o.authorize?{authorize:o.authorize}:{},load:o.load,...o.listEntityTypes?{listEntityTypes:o.listEntityTypes}:{}})})}};return Object.freeze(n)}var tc=a.string().trim().min(1).max(120),J4=a.string().trim().min(1).max(400),Ls=a.string().trim().min(1).max(160),z_=a.string().max(500),MT=a.string().max(4000),V4=a.string().max(1e5),F_=a.number().finite().min(0).max(1),Mm=a.enum(["good","warn","neutral","error"]),N_=a.union([a.string().max(2000),a.number().finite(),a.boolean(),a.null()]),FIe=a.object({label:Ls,value:a.union([a.string().max(500),a.number().finite()]),caption:z_.optional(),tone:Mm.optional()}).strict(),G4=a.object({type:a.literal("stats"),id:tc.optional(),items:a.array(FIe).max(20).readonly()}).strict(),NIe=a.object({label:Ls,value:N_}).strict(),Q4=a.object({type:a.literal("key-values"),id:tc.optional(),items:a.array(NIe).max(40).readonly()}).strict(),K4=a.object({type:a.literal("notice"),id:tc.optional(),title:Ls.optional(),text:MT,details:a.array(V4).max(50).readonly().optional(),tone:Mm.optional()}).strict(),Y4=a.object({type:a.literal("text"),id:tc.optional(),label:Ls.optional(),text:V4,truncated:a.boolean().optional()}).strict(),jIe=a.object({id:tc,label:Ls,value:a.number().finite().nonnegative(),max:a.number().finite().positive().optional(),unit:Ls.optional(),tone:Mm.optional()}).strict().superRefine((e,t)=>{if(e.max!==void 0&&e.value>e.max)t.addIssue({code:"custom",message:"Meter value cannot exceed its maximum",path:["value"]})}),X4=a.object({type:a.literal("meters"),id:tc,items:a.array(jIe).max(30).readonly()}).strict(),e9=a.object({type:a.literal("progress"),id:tc,label:Ls,state:Ls,detail:MT.optional(),startedAt:a.string().datetime().optional(),updatedAt:a.string().datetime().optional(),progress:F_.optional(),tone:Mm.optional()}).strict();function t9(e){return sr(e.id,"Entity catalog id"),zo(e.label,`Entity catalog "${e.id}" label`),Object.freeze({kind:"rizom-entity-catalog",...e})}var n9=Symbol("rizom.workspace-action-executor");function j_(e){let t=e[n9];if(!t)throw Error(`Workspace action "${e.definition.name}" was not bound by defineWorkspaceAction().bind()`);return t}function r9(e){if(sr(e.name,"Workspace action name"),zo(e.label,`Workspace action "${e.name}" label`),e.confirmation?.kind==="static")zo(e.confirmation.message,`Workspace action "${e.name}" confirmation`);if(e.permission!==void 0)hy(e.permission,`Workspace action "${e.name}"`);let t={kind:"rizom-workspace-action",...e,bind(n,r,o){if(t.confirmation?.kind==="prepared"&&!o)throw Error(`Workspace action "${t.name}" requires a prepared confirmation callback`);return Object.freeze({kind:"rizom-workspace-action-binding",definition:t,[n9]:Object.freeze({execute:r,...o?{prepare:o}:{}})})}};return Object.freeze(t)}var o9=new WeakMap;function i9(e){if(sr(e.name,"Job name"),e.retry&&(!Number.isInteger(e.retry.attempts)||e.retry.attempts<1))throw Error(`Job "${e.name}" retry attempts must be at least 1`);if(e.deadline)B_(e.deadline);let t={kind:"rizom-service-job",...e,handle(n){let r=Object.freeze({kind:"rizom-service-job-binding",definition:t});return o9.set(r,async(o)=>n({...o,input:Qa(t.input,o.input)})),r}};return Object.freeze(t)}function s9(e){let t=o9.get(e);if(!t)throw Error(`Job "${e.definition.name}" was not created by defineJob().handle()`);return t}function B_(e){let t=/^(\d+)(ms|s|m)$/u.exec(e);if(!t)throw Error(`Invalid job deadline "${e}"`);let n=Number(t[1]);if(!Number.isSafeInteger(n)||n<1)throw Error(`Job deadline "${e}" must be positive`);let r=t[2];return n*(r==="m"?60000:r==="s"?1000:1)}function a9(e){if(sr(e.name,"Tool name"),!e.description.trim())throw Error(`Tool "${e.name}" description must not be empty`);return Object.freeze({kind:"rizom-service-tool",...e})}var L_=a.enum(["text","url","number","checkbox","select"]),c9=L_.exclude(["select"]);function q_(e){zo(e.title,"Account settings title"),gy(e.description,"Account settings description");let t=Object.keys(e.schema.shape),n=new Set(Object.keys(e.fields));for(let[o,i]of Object.entries(e.fields)){if(!t.includes(o))throw Error(`Account settings field "${o}" is not declared by the settings schema`);if(zo(i.label,`Account settings field "${o}" label`),i.control!==void 0&&!c9.safeParse(i.control).success)throw Error(`Account settings field "${o}" has unsupported control "${String(i.control)}"`);if(i.secret!==void 0&&typeof i.secret!=="boolean")throw Error(`Account settings field "${o}" secret must be boolean`)}for(let o of t)if(!n.has(o))throw Error(`Account settings schema field "${o}" has no field declaration; declare its label and whether it is secret`);let r=e.fields;for(let o of Object.values(r))Object.freeze(o);return Object.freeze(r),Object.freeze({kind:"rizom-account-settings",...e,fields:r})}import{AsyncLocalStorage as oRe}from"async_hooks";var l9=Symbol("service-content-target");function u9(e,t){if(e.template.includes(":")||!t(e.template))throw Error(`Unknown or non-generatable service template: ${e.template}`);let n=mT.parse({templateName:e.template,context:e.context,destination:{entityType:e.destination.entity.type,idPath:e.destination.idPath,metadata:pl.parse(e.destination.entity.metadata.parse(e.destination.metadata)),visibility:e.destination.visibility}});return Object.freeze({...n,[l9]:!0})}function _T(){return Object.freeze({})}import{createHash as Zke,randomUUID as $ke}from"crypto";var yy=new WeakMap;function p9(e,t){let n=yy.get(e);if(n&&n!==t)throw Error(`Job "${e.name}" is registered as both "${n}" and "${t}"`);yy.set(e,t)}function d9(e,t){if(yy.get(e)===t)yy.delete(e)}function by(e){let t=yy.get(e);if(!t)throw Error(`Job "${e.name}" is not registered by an active declarative service`);return t}function BIe(e,t){let n={...t};for(let r in n)if(e.fields[r]?.secret===!0)delete n[r];return Object.freeze(n)}function LIe(e,t){return e.parse(t)}function m9(e,t){let n=t.status==="completed"&&t.result!==void 0?LIe(e.output,t.result):void 0;return Object.freeze({id:t.id,status:t.status,...n!==void 0?{result:n}:{},...t.lastError?{error:t.lastError}:{}})}function qIe(e){return{async enqueue(t,n){let r=by(t),o=await e.jobs.enqueue({type:r,data:t.input.parse(n),options:{source:e.pluginId,metadata:{operationType:"data_processing",pluginId:e.pluginId}}});return Object.freeze({id:o,status:async()=>{let i=await e.jobs.getStatus(o);return i?.type===r?m9(t,i):null}})},async status(t,n){let r=by(t),o=await e.jobs.getStatus(n);return o?.type===r?m9(t,o):null}}}async function zT(e){let{caller:t,signal:n}=e.provider;n.throwIfAborted();let r=t?.permission??"public",o=Rs(r),i=t&&e.accountSettingsRegistration?await e.context.accountSettings.getForActor(e.accountSettingsRegistration,t.actor.id):null,s=i&&e.accountSettingsRegistration?BIe(e.accountSettingsRegistration.definition,i):null;return{config:e.config,state:e.state,caller:t,settings:s,entities:{async get(c,l){n.throwIfAborted();let u=await e.context.entityService.getEntity({entityType:c.type,id:l,visibilityScope:o});return n.throwIfAborted(),u?Om(c,u):null},async list(c){n.throwIfAborted();let l=await e.context.entityService.listEntities({entityType:c.type,options:{filter:{visibilityScope:o}}});return n.throwIfAborted(),l.map((u)=>Om(c,u))},async search(c,l){n.throwIfAborted();let u=await e.context.entityService.search({query:l,options:{types:[c.type],visibilityScope:o}});return n.throwIfAborted(),u.map(({entity:p})=>Om(c,p))}},jobs:qIe(e.context),permissions:{allows(c,l){try{return e.context.permissions.assertEntityActionAllowed(c.type,l,{userPermissionLevel:r}),!0}catch{return!1}}},signal:n}}var _e=tc,xy=J4,Ue=Ls,jn=z_,up=MT,hi=Mm,U_=N_,f9=a.string().max(2048).refine((e)=>{try{let t=new URL(e);return t.protocol==="https:"||t.protocol==="http:"}catch{return!1}},{message:"External operator links must use http or https"});function ZIe(e){return e!==null&&typeof e==="object"&&"kind"in e&&e.kind==="rizom-entity"&&"type"in e&&typeof e.type==="string"&&e.type.length>0}var $Ie=a.custom(ZIe,{message:"Expected an imported entity definition"});function UIe(e){return e!==null&&typeof e==="object"&&"kind"in e&&e.kind==="rizom-entity-catalog"&&"id"in e&&typeof e.id==="string"&&"label"in e&&typeof e.label==="string"}var WIe=a.custom(UIe,{message:"Expected an imported entity catalog definition"});function HIe(e){return{kind:"external",href:e.external}}function JIe(e){return{kind:"entity",entityType:e.entity.type,id:e.id}}var g9=a.union([a.object({target:a.literal("account-settings")}).strict(),a.object({target:a.literal("invitations")}).strict(),a.object({target:a.literal("admin-peer-invite"),peerId:_e,displayName:Ue}).strict(),a.object({target:a.literal("inbox")}).strict(),a.object({target:a.literal("inbox"),source:a.literal("mail"),filter:a.enum(["high-priority","needs-reply","unclassified"]).optional()}).strict(),a.object({target:a.literal("publishing")}).strict(),a.object({target:a.literal("site")}).strict(),a.object({target:a.literal("inbox-open-entity"),entityType:_e,entityId:_e}).strict(),a.object({target:a.literal("inbox-capture-note"),title:jn,summary:a.string().trim().min(1).max(1000).optional(),entityType:_e,entityId:_e}).strict(),a.object({target:a.literal("inbox-discuss-in-chat"),sourceId:_e,itemId:a.string().trim().min(1).max(300),label:a.string().trim().min(1).max(160)}).strict()]);function VIe(e){return{kind:"entity",entityType:e.entityType,id:e.id}}function GIe(e){return{kind:"launch",launch:e.launch}}function QIe(e){return{kind:"detail",itemId:e.detail.itemId}}var FT=a.union([a.object({external:f9}).strict().transform(HIe),a.object({entity:$Ie,id:_e}).strict().transform(JIe),a.object({catalog:WIe,entityType:_e,id:_e}).strict().transform(VIe),a.object({launch:g9}).strict().transform(GIe),a.object({detail:a.object({itemId:xy}).strict()}).strict().transform(QIe),a.object({kind:a.literal("external"),href:f9}).strict(),a.object({kind:a.literal("entity"),entityType:_e,id:_e}).strict(),a.object({kind:a.literal("launch"),launch:g9}).strict(),a.object({kind:a.literal("detail"),itemId:xy}).strict()]),y9=G4,b9=Q4,x9=K4,KIe=Y4,YIe=a.object({id:_e,label:Ue,value:U_.optional(),description:up.optional(),tone:hi.optional()}).strict(),S9=a.object({type:a.literal("group"),id:_e,label:Ue,items:a.array(YIe).max(50)}).strict(),XIe=a.object({id:_e,label:Ue,status:a.enum(["idle","active","complete","failed"]),detail:jn.optional()}).strict(),v9=a.object({type:a.literal("flow"),id:_e,label:Ue,direction:a.enum(["forward","bidirectional"]).optional(),steps:a.array(XIe).min(2).max(20)}).strict(),w9=X4,T9=e9,eke=a.string().trim().min(1).max(120).regex(/^[a-z][a-zA-Z0-9_.-]*$/),tke=a.object({value:Ue,label:Ue,count:a.number().int().nonnegative().optional()}).strict(),nke=a.object({key:eke,label:Ue,value:Ue.optional(),allLabel:Ue.optional(),options:a.array(tke).max(100)}).strict(),C9=a.object({controls:a.array(nke).max(20),pagination:a.object({offset:a.number().int().nonnegative(),limit:a.number().int().min(1).max(100),total:a.number().int().nonnegative(),label:Ue.optional()}).strict().optional()}).strict(),rke=C9.extend({type:a.literal("query"),id:_e}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.controls.entries()){if(n.has(o.key))t.addIssue({code:"custom",message:`Query key "${o.key}" is duplicated`,path:["controls",r,"key"]});n.add(o.key)}}),oke=C9.superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.controls.entries()){if(n.has(o.key))t.addIssue({code:"custom",message:`Query key "${o.key}" is duplicated`,path:["controls",r,"key"]});n.add(o.key)}}),E9=a.object({type:a.literal("links"),id:_e.optional(),items:a.array(a.object({label:Ue,target:FT}).strict()).max(30)}).strict(),I9=a.object({label:Ue,tone:hi.optional()}).strict(),ike=a.object({value:_e,label:Ue,count:a.number().int().nonnegative().optional(),emphasis:a.literal("gap").optional()}).strict(),W_=200,k9=50,ske=W_*k9+1,R9=a.object({label:Ue,defaultValue:_e,allValue:_e.optional(),options:a.array(ike).min(1).max(ske)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.options.entries()){if(n.has(o.value))t.addIssue({code:"custom",message:`List filter value "${o.value}" is duplicated`,path:["options",r,"value"]});n.add(o.value)}if(!n.has(e.defaultValue))t.addIssue({code:"custom",message:`List filter default "${e.defaultValue}" has no matching option`,path:["defaultValue"]})}),H_=a.object({id:xy,title:jn,description:up.optional(),meta:jn.optional(),metadata:a.array(jn).max(20).optional(),tags:a.array(Ue).max(30).optional(),count:a.number().finite().optional(),badges:a.array(I9).max(10).optional(),filterValues:a.array(_e).max(k9).optional(),links:a.array(a.object({label:Ue,target:FT}).strict()).max(10).optional(),tone:hi.optional(),link:FT.optional()}).strict(),P9=a.enum(["standard","editorial","attention","activity"]),ake=a.object({type:a.literal("list"),id:_e,empty:jn,presentation:P9.optional(),filter:R9.optional(),items:a.array(H_).max(W_)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.items.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`List item id "${o.id}" is duplicated`,path:["items",r,"id"]});n.add(o.id)}if(e.filter){let r=new Set(e.filter.options.map((i)=>i.value)),o=e.filter.allValue??"all";for(let[i,s]of e.items.entries())for(let c of s.filterValues??[])if(c!==o&&!r.has(c))t.addIssue({code:"custom",message:`List item filter value "${c}" has no matching option`,path:["items",i,"filterValues"]})}}),A9=a.object({key:_e,label:Ue,align:a.enum(["start","center","end"]).optional()}).strict(),O9=a.object({key:_e,label:Ue,values:a.array(U_).max(50)}).strict(),cke=a.union([U_,a.array(a.string().max(500)).max(50)]),lke=a.object({title:jn.trim().min(1),description:up.optional(),metadata:a.array(jn).max(20).optional(),badges:a.array(I9).max(10).optional(),count:a.number().finite().optional(),tone:hi.optional()}).strict(),D9=a.object({id:xy,cells:a.record(a.string(),cke),link:FT.optional()}).strict(),uke=a.object({type:a.literal("table"),id:_e,empty:jn,filters:a.array(O9).max(20).optional(),columns:a.array(A9).min(1).max(30),rows:a.array(D9).max(500)}).strict().superRefine((e,t)=>{let n=new Set;for(let[o,i]of e.columns.entries()){if(n.has(i.key))t.addIssue({code:"custom",message:`Table column key "${i.key}" is duplicated`,path:["columns",o,"key"]});n.add(i.key)}for(let[o,i]of(e.filters??[]).entries())if(!n.has(i.key))t.addIssue({code:"custom",message:`Table filter key "${i.key}" has no matching column`,path:["filters",o,"key"]});let r=new Set;for(let[o,i]of e.rows.entries()){if(r.has(i.id))t.addIssue({code:"custom",message:`Table row id "${i.id}" is duplicated`,path:["rows",o,"id"]});r.add(i.id);for(let s of Object.keys(i.cells))if(!n.has(s))t.addIssue({code:"custom",message:`Table cell key "${s}" has no matching column`,path:["rows",o,"cells",s]})}}),pke=a.object({id:_e,label:Ue,tone:hi.optional(),empty:jn,items:a.array(H_).max(100)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.items.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Matrix item id "${o.id}" is duplicated`,path:["items",r,"id"]});n.add(o.id)}}),dke=a.object({type:a.literal("matrix"),id:_e,columns:a.union([a.literal(1),a.literal(2),a.literal(3),a.literal(4)]).optional(),cells:a.array(pke).min(1).max(12)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.cells.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Matrix cell id "${o.id}" is duplicated`,path:["cells",r,"id"]});n.add(o.id)}}),M9=a.object({label:Ue,tone:hi.optional()}).strict(),_9=a.object({sourceId:_e,targetId:_e,label:Ue.optional(),tone:hi.optional()}).strict(),Nm=F_,mke=a.object({id:_e,label:Ue,category:Ue,x:Nm,y:Nm,zoneId:_e.optional(),tone:hi.optional(),details:a.array(jn).max(20).optional()}).strict(),fke=a.object({id:_e,label:Ue,x:Nm,y:Nm,memberIds:a.array(_e).max(500)}).strict(),gke=a.object({type:a.literal("spatial"),layout:a.literal("cartesian"),id:_e,label:Ue,description:up,points:a.array(mke).max(500),zones:a.array(fke).max(100),relationships:a.array(_9).max(2000).optional(),legend:a.array(M9).max(20)}).strict().superRefine((e,t)=>{let n=new Set;for(let[i,s]of e.points.entries()){if(n.has(s.id))t.addIssue({code:"custom",message:`Spatial point id "${s.id}" is duplicated`,path:["points",i,"id"]});n.add(s.id)}let r=new Set;for(let[i,s]of e.zones.entries()){if(r.has(s.id)||n.has(s.id))t.addIssue({code:"custom",message:`Spatial zone id "${s.id}" is duplicated`,path:["zones",i,"id"]});r.add(s.id);for(let c of s.memberIds)if(!n.has(c))t.addIssue({code:"custom",message:`Spatial zone member "${c}" has no matching point`,path:["zones",i,"memberIds"]})}for(let[i,s]of e.points.entries())if(s.zoneId&&!r.has(s.zoneId))t.addIssue({code:"custom",message:`Spatial point zone "${s.zoneId}" has no matching zone`,path:["points",i,"zoneId"]});let o=new Set([...n,...r]);for(let[i,s]of(e.relationships??[]).entries())if(!o.has(s.sourceId)||!o.has(s.targetId))t.addIssue({code:"custom",message:"Spatial relationship endpoints must reference declared points or zones",path:["relationships",i]})}),hke=a.object({id:_e,label:Ue,kind:Ue,status:Ue,tags:a.array(Ue).max(30).optional(),distance:Nm,bearing:a.number().finite().min(0).lt(360),relatedIds:a.array(_e).max(100).optional(),tone:hi.optional(),details:a.array(jn).max(20).optional()}).strict(),yke=a.object({id:_e,label:Ue,memberIds:a.array(_e).min(2).max(500)}).strict(),bke=a.object({id:_e,label:Ue,maxDistance:Nm}).strict(),xke=a.object({type:a.literal("spatial"),layout:a.literal("radial"),id:_e,label:Ue,description:up,centerLabel:Ue,centerKind:a.enum(["identity","centroid"]),points:a.array(hke).max(500),clusters:a.array(yke).max(100).optional(),relationships:a.array(_9).max(2000).optional(),strata:a.array(bke).min(1).max(10),legend:a.array(M9).max(20)}).strict().superRefine((e,t)=>{let n=new Set;for(let[i,s]of e.points.entries()){if(n.has(s.id))t.addIssue({code:"custom",message:`Spatial point id "${s.id}" is duplicated`,path:["points",i,"id"]});n.add(s.id)}for(let[i,s]of e.points.entries())for(let c of s.relatedIds??[])if(!n.has(c))t.addIssue({code:"custom",message:`Related point "${c}" is not declared`,path:["points",i,"relatedIds"]});let r=new Set;for(let[i,s]of(e.clusters??[]).entries()){if(r.has(s.id))t.addIssue({code:"custom",message:`Spatial cluster id "${s.id}" is duplicated`,path:["clusters",i,"id"]});r.add(s.id);for(let c of s.memberIds)if(!n.has(c))t.addIssue({code:"custom",message:`Spatial cluster member "${c}" has no matching point`,path:["clusters",i,"memberIds"]})}for(let[i,s]of(e.relationships??[]).entries())if(!n.has(s.sourceId)||!n.has(s.targetId))t.addIssue({code:"custom",message:"Spatial relationship endpoints must reference declared points",path:["relationships",i]});let o=-1;for(let[i,s]of e.strata.entries()){if(s.maxDistance<=o)t.addIssue({code:"custom",message:"Radial strata must increase by maximum distance",path:["strata",i,"maxDistance"]});o=s.maxDistance}}),z9=a.discriminatedUnion("layout",[gke,xke]),F9=a.union([y9,b9,x9,S9,v9,w9,T9,E9,ake,uke,dke,z9]),Ske=a.object({type:a.literal("tabs"),id:_e,label:Ue,defaultTab:_e,tabs:a.array(a.object({id:_e,label:Ue,count:a.number().int().nonnegative().optional(),blocks:a.array(F9).max(30)}).strict()).min(1).max(12)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.tabs.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Tab id "${o.id}" is duplicated`,path:["tabs",r,"id"]});n.add(o.id)}if(!n.has(e.defaultTab))t.addIssue({code:"custom",message:`Default tab "${e.defaultTab}" has no matching tab`,path:["defaultTab"]})});function vke(e){return e!==null&&typeof e==="object"&&"kind"in e&&e.kind==="rizom-workspace-action"&&"name"in e&&typeof e.name==="string"&&"input"in e&&typeof e.input==="object"&&e.input!==null&&"safeParse"in e.input&&typeof e.input.safeParse==="function"}var wke=a.custom(vke,{message:"Expected a workspace action definition"}),Tke=a.object({id:_e,label:Ue,description:up.optional(),confirmation:a.literal("prepared").optional()}).strict(),h9=a.object({value:a.string().trim().min(1).max(500),label:Ue}).strict(),Cke=a.object({label:Ue,control:L_,secret:a.boolean().optional(),options:a.array(h9).min(1).max(100).optional(),labelBy:a.object({field:_e,values:a.array(h9).min(1).max(100)}).strict().optional()}).strict(),Eke=a.object({presentation:a.enum(["inline","disclosure"]).optional(),submitLabel:Ue.optional(),fields:a.record(_e,Cke)}).strict(),Ike=a.object({label:Ue,copyable:a.boolean().optional(),sensitive:a.boolean().optional()}).strict(),kke=a.object({title:Ue,fields:a.record(_e,Ike)}).strict(),vy=a.object({action:wke,input:a.unknown().optional(),form:Eke.optional(),result:kke.optional(),capability:Tke.optional(),label:Ue.optional(),disabled:a.boolean().optional()}).strict(),N9=H_.extend({actionsLabel:Ue.optional(),actions:a.array(vy).max(20).optional()}),j9=a.object({type:a.literal("list"),id:_e,empty:jn,presentation:P9.optional(),filter:R9.optional(),items:a.array(N9).max(W_)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.items.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`List item id "${o.id}" is duplicated`,path:["items",r,"id"]});n.add(o.id)}if(e.filter){let r=new Set(e.filter.options.map((i)=>i.value)),o=e.filter.allValue??"all";for(let[i,s]of e.items.entries())for(let c of s.filterValues??[])if(c!==o&&!r.has(c))t.addIssue({code:"custom",message:`List item filter value "${c}" has no matching option`,path:["items",i,"filterValues"]})}}),Rke=D9.extend({compact:lke.optional(),actions:a.array(vy).max(20).optional()}),B9=a.object({type:a.literal("table"),id:_e,empty:jn,filters:a.array(O9).max(20).optional(),query:oke.optional(),columns:a.array(A9).min(1).max(30),rows:a.array(Rke).max(500)}).strict().superRefine((e,t)=>{let n=new Set;for(let[o,i]of e.columns.entries()){if(n.has(i.key))t.addIssue({code:"custom",message:`Table column key "${i.key}" is duplicated`,path:["columns",o,"key"]});n.add(i.key)}for(let[o,i]of(e.filters??[]).entries())if(!n.has(i.key))t.addIssue({code:"custom",message:`Table filter key "${i.key}" has no matching column`,path:["filters",o,"key"]});let r=new Set;for(let[o,i]of e.rows.entries()){if(r.has(i.id))t.addIssue({code:"custom",message:`Table row id "${i.id}" is duplicated`,path:["rows",o,"id"]});r.add(i.id);for(let s of Object.keys(i.cells))if(!n.has(s))t.addIssue({code:"custom",message:`Table cell key "${s}" has no matching column`,path:["rows",o,"cells",s]})}}),Pke=a.object({id:_e,label:Ue,tone:hi.optional(),empty:jn,items:a.array(N9).max(100)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.items.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Matrix item id "${o.id}" is duplicated`,path:["items",r,"id"]});n.add(o.id)}}),Ake=a.object({type:a.literal("matrix"),id:_e,columns:a.union([a.literal(1),a.literal(2),a.literal(3),a.literal(4)]).optional(),cells:a.array(Pke).min(1).max(12)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.cells.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Matrix cell id "${o.id}" is duplicated`,path:["cells",r,"id"]});n.add(o.id)}}),Oke=vy.extend({type:a.literal("action"),id:_e.optional()}),Dke=a.object({type:a.literal("actions"),id:_e.optional(),items:a.array(vy).max(30)}).strict(),jm=a.union([y9,b9,x9,KIe,S9,v9,w9,T9,rke,E9,j9,B9,Ake,z9,Oke,Dke]),Mke=a.object({type:a.literal("tabs"),id:_e,label:Ue,defaultTab:_e,queryKey:_e.optional(),tabs:a.array(a.object({id:_e,label:Ue,count:a.number().int().nonnegative().optional(),blocks:a.array(a.lazy(()=>a.union([jm,Sy,L9,q9]))).max(30)}).strict()).min(1).max(12)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.tabs.entries()){if(n.has(o.id))t.addIssue({code:"custom",message:`Tab id "${o.id}" is duplicated`,path:["tabs",r,"id"]});n.add(o.id)}if(!n.has(e.defaultTab))t.addIssue({code:"custom",message:`Default tab "${e.defaultTab}" has no matching tab`,path:["defaultTab"]})}),Sy=a.object({disclosureLabel:Ue.optional(),type:a.literal("card"),id:_e,label:Ue,presentation:a.enum(["section","disclosure","feature"]).optional(),metadata:a.array(jn).max(20).optional(),tone:hi.optional(),blocks:a.array(jm).max(12)}).strict().refine((e)=>e.disclosureLabel===void 0||e.presentation==="disclosure",{message:"disclosureLabel requires disclosure presentation",path:["disclosureLabel"]}),L9=a.object({type:a.literal("detail"),id:_e,queryKey:_e,empty:jn,master:a.union([j9,B9]),open:a.object({forId:xy,title:Ue,blocks:a.array(a.union([jm,Sy])).max(30)}).strict().optional()}).strict(),q9=a.object({type:a.literal("columns"),id:_e,primary:a.array(a.union([jm,Sy])).max(20),aside:a.array(a.union([jm,Sy])).max(12)}).strict(),_ke=a.object({kicker:Ue.optional(),title:jn.optional(),description:up.optional(),status:a.object({label:Ue,detail:jn.optional(),tone:hi.optional()}).strict().optional(),primaryAction:vy.optional(),blocks:a.array(a.union([jm,Mke,L9,q9,Sy])).max(50)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.blocks.entries()){if(o.id===void 0)continue;if(n.has(o.id))t.addIssue({code:"custom",message:`Operator view block id "${o.id}" is duplicated`,path:["blocks",r,"id"]});n.add(o.id)}});function Z_(e){return e.type!=="tabs"&&e.type!=="detail"&&e.type!=="columns"&&e.type!=="card"}var Z9=a.json();function zke(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function Fke(e,t){let n=dD(Ja(t).inner);switch(e){case"checkbox":return n==="boolean";case"number":return n==="number";case"select":return n==="string"||n==="enum";case"text":case"url":return n==="string"}}function Nke(e){let t=dD(Ja(e).inner);return t==="string"||t==="number"||t==="boolean"||t==="enum"||t==="literal"}function jke(e,t){if(!e.form)return{issues:[]};let n=[],r=ml(e.action.input);if(!r)return{issues:[{path:[...t,"form"],message:`Form action "${e.action.name}" requires an object input schema`}]};let o=e.input??{};if(!zke(o))return{issues:[{path:[...t,"input"],message:"Workspace action form initial input must be an object"}]};let i=Z9.safeParse(o);if(!i.success)return{issues:[{path:[...t,"input"],message:"Workspace action form initial input must be JSON-native"}]};let s=Object.keys(r),c=Object.entries(e.form.fields);if(c.length>50)n.push({path:[...t,"form","fields"],message:"Workspace action forms support at most 50 fields"});for(let[p,d]of Object.entries(o)){let g=r[p];if(g===void 0)n.push({path:[...t,"input",p],message:`Form initial input "${p}" is not declared by the action schema`});else if(g instanceof a.ZodType&&!g.safeParse(d).success)n.push({path:[...t,"input",p],message:`Form initial input "${p}" does not satisfy the action schema`})}let l=[];for(let[p,d]of c){let g=r[p];if(g===void 0){n.push({path:[...t,"form","fields",p],message:`Form field "${p}" is not declared by the action schema`});continue}let f=Ja(g),v=Mw(f.inner);if(!Fke(d.control,g))n.push({path:[...t,"form","fields",p,"control"],message:`Form control "${d.control}" is incompatible with schema field "${p}"`});if(d.control==="select"){if(!d.options||d.options.length===0)n.push({path:[...t,"form","fields",p,"options"],message:`Select field "${p}" requires options`});else if(v){if(d.options.some((w)=>!v.includes(w.value)))n.push({path:[...t,"form","fields",p,"options"],message:`Select field "${p}" options must use values from its enum schema`})}}else if(d.options!==void 0)n.push({path:[...t,"form","fields",p,"options"],message:`Non-select field "${p}" cannot declare options`});if(d.labelBy){let w=e.form.fields[d.labelBy.field],I=new Set(w?.options?.map((L)=>L.value)??[]),A=new Set(d.labelBy.values.map((L)=>L.value));if(w?.control!=="select")n.push({path:[...t,"form","fields",p,"labelBy","field"],message:`Dynamic label source "${d.labelBy.field}" must be a select form field`});else if(I.size!==A.size||Array.from(I).some((L)=>!A.has(L)))n.push({path:[...t,"form","fields",p,"labelBy","values"],message:`Dynamic labels for "${p}" must cover every option of "${d.labelBy.field}"`})}if(d.secret===!0&&p in o)n.push({path:[...t,"input",p],message:`Secret form field "${p}" cannot be pre-bound into browser data`});if(d.secret===!0&&d.control!=="text"&&d.control!=="url")n.push({path:[...t,"form","fields",p,"secret"],message:`Secret field "${p}" must use a text or URL control`});l.push({name:p,label:d.label,control:d.control,required:f.required,...d.secret?{secret:!0}:{},...d.options?{options:d.options}:{},...d.labelBy?{labelBy:d.labelBy}:{}})}let u=new Set(c.map(([p])=>p));for(let p of s)if(!u.has(p)&&!(p in o))n.push({path:[...t,"form","fields",p],message:`Action schema field "${p}" has no form declaration or pre-bound input`});return{input:i.data,form:{...e.form.presentation?{presentation:e.form.presentation}:{},...e.form.submitLabel?{submitLabel:e.form.submitLabel}:{},fields:l},issues:n}}function Bke(e,t){if(!e.result)return{issues:[]};let n=ml(e.action.output);if(!n)return{issues:[{path:[...t,"result"],message:`Presented result for "${e.action.name}" requires an object output schema`}]};let r=[],o=Object.entries(e.result.fields);if(o.length>50)r.push({path:[...t,"result","fields"],message:"Workspace action results support at most 50 fields"});let i=new Set(o.map(([s])=>s));for(let[s,c]of o){let l=n[s];if(l===void 0)r.push({path:[...t,"result","fields",s],message:`Result field "${s}" is not declared by the action output schema`});else if(!Nke(l))r.push({path:[...t,"result","fields",s],message:`Result field "${s}" must use a scalar output schema`});if(c.sensitive===!0&&c.copyable!==!0)r.push({path:[...t,"result","fields",s,"copyable"],message:`Sensitive result field "${s}" must be explicitly copyable`})}for(let s of Object.keys(n))if(!i.has(s))r.push({path:[...t,"result","fields",s],message:`Action output field "${s}" has no result declaration`});return{result:{title:e.result.title,fields:o.map(([s,c])=>({name:s,label:c.label,...c.copyable?{copyable:!0}:{},...c.sensitive?{sensitive:!0}:{}}))},issues:r}}function _m(e,t,n,r,o){let i=[],s=[];for(let[c,l]of e.entries()){let u=[...r,o?.[c]??c];if(!t.includes(l.action)){s.push({path:[...u,"action"],message:`Action "${l.action.name}" is not declared by this workspace`});continue}if(l.action.permission!==void 0&&!ec(n,l.action.permission))continue;if(l.action.catalog===!0&&!l.capability){s.push({path:[...u,"capability"],message:`Catalog action "${l.action.name}" requires a typed capability definition`});continue}if(l.action.catalog!==!0&&l.capability){s.push({path:[...u,"capability"],message:`Action "${l.action.name}" is not a capability catalog`});continue}if(l.capability?.confirmation==="prepared"&&l.action.confirmation?.kind!=="prepared"){s.push({path:[...u,"capability","confirmation"],message:`Capability "${l.capability.id}" requires a prepared catalog action`});continue}let p=jke(l,u),d=Bke(l,u);s.push(...p.issues,...d.issues);let g;if(l.form)g=p.input;else{let w=l.action.input.safeParse(l.input);if(!w.success)s.push(...w.error.issues.map((I)=>({path:[...u,"input",...I.path],message:I.message})));else{let I=Z9.safeParse(w.data);if(!I.success)s.push({path:[...u,"input"],message:"Workspace action input must be JSON-native"});else g=I.data}}if(p.issues.length>0||d.issues.length>0||g===void 0)continue;let f=l.action.confirmation,v=f?.kind==="static"?f:f?.kind==="prepared"&&(f.conditional!==!0||l.capability?.confirmation==="prepared")?{kind:"prepared"}:void 0;i.push(Object.freeze({actionId:l.action.name,...l.capability?{capabilityId:l.capability.id}:{},label:l.label??l.capability?.label??l.action.label,input:g,...p.form?{form:p.form}:{},...d.result?{result:d.result}:{},...l.disabled?{disabled:!0}:{},...v?{confirmation:v}:{}}))}return{controls:i,issues:s}}function Lke(e,t){return{type:"action",...t?{id:t}:{},...e}}function zm(e,t,n,r){switch(e.type){case"list":{let o=[],i=e.items.map((s,c)=>{let l=_m(s.actions??[],n,r,["blocks",t,"items",c,"actions"]);return o.push(...l.issues),{id:s.id,title:s.title,...s.description?{description:s.description}:{},...s.meta?{meta:s.meta}:{},...s.metadata?{metadata:s.metadata}:{},...s.tags?{tags:s.tags}:{},...qs({count:s.count}),...s.badges?{badges:s.badges}:{},...s.filterValues?{filterValues:s.filterValues}:{},...s.links?{links:s.links}:{},...s.tone?{tone:s.tone}:{},...s.link?{link:s.link}:{},...l.controls.length>0?{actions:l.controls,...qs({actionsLabel:s.actionsLabel})}:{}}});return{block:{type:"list",id:e.id,empty:e.empty,...e.presentation?{presentation:e.presentation}:{},...e.filter?{filter:e.filter}:{},items:i},issues:o}}case"table":{let o=[],i=e.rows.map((s,c)=>{let l=_m(s.actions??[],n,r,["blocks",t,"rows",c,"actions"]);return o.push(...l.issues),{id:s.id,cells:s.cells,...s.compact?{compact:s.compact}:{},...s.link?{link:s.link}:{},...l.controls.length>0?{actions:l.controls}:{}}});return{block:{type:"table",id:e.id,empty:e.empty,...e.filters?{filters:e.filters}:{},...e.query?{query:e.query}:{},columns:e.columns,rows:i},issues:o}}case"matrix":{let o=[],i=e.cells.map((s,c)=>({id:s.id,label:s.label,...s.tone?{tone:s.tone}:{},empty:s.empty,items:s.items.map((l,u)=>{let p=_m(l.actions??[],n,r,["blocks",t,"cells",c,"items",u,"actions"]);return o.push(...p.issues),{id:l.id,title:l.title,...l.description?{description:l.description}:{},...l.meta?{meta:l.meta}:{},...l.metadata?{metadata:l.metadata}:{},...l.tags?{tags:l.tags}:{},...qs({count:l.count}),...l.badges?{badges:l.badges}:{},...l.filterValues?{filterValues:l.filterValues}:{},...l.links?{links:l.links}:{},...l.tone?{tone:l.tone}:{},...l.link?{link:l.link}:{},...p.controls.length>0?{actions:p.controls,...qs({actionsLabel:l.actionsLabel})}:{}}})}));return{block:{type:"matrix",id:e.id,...e.columns?{columns:e.columns}:{},cells:i},issues:o}}case"tabs":{let o=[],i=e.tabs.map((s)=>{let c=[];for(let[l,u]of s.blocks.entries()){let p=zm(u,l,n,r);if(o.push(...p.issues),p.block&&p.block.type!=="tabs")c.push(p.block)}return{id:s.id,label:s.label,...qs({count:s.count}),blocks:c}});return{block:{type:"tabs",id:e.id,label:e.label,defaultTab:e.defaultTab,...e.queryKey?{queryKey:e.queryKey}:{},tabs:i},issues:o}}case"card":{let o=[],i=[];for(let[s,c]of e.blocks.entries()){let l=zm(c,s,n,r);if(o.push(...l.issues),l.block&&Z_(l.block))i.push(l.block)}return{block:{type:"card",id:e.id,label:e.label,...e.presentation?{presentation:e.presentation}:{},...qs({disclosureLabel:e.disclosureLabel}),...e.metadata?{metadata:e.metadata}:{},...e.tone?{tone:e.tone}:{},blocks:i},issues:o}}case"columns":{let o=[],i=(s)=>{let c=[];for(let[l,u]of s.entries()){let p=zm(u,l,n,r);o.push(...p.issues);let d=p.block;if(d&&(Z_(d)||d.type==="card"))c.push(d)}return c};return{block:{type:"columns",id:e.id,primary:i(e.primary),aside:i(e.aside)},issues:o}}case"detail":{let o=[],i=zm(e.master,t,n,r);o.push(...i.issues);let s=i.block;if(!s||s.type!=="list"&&s.type!=="table")return{issues:o};let c=[];for(let[l,u]of(e.open?.blocks??[]).entries()){let p=zm(u,l,n,r);o.push(...p.issues);let d=p.block;if(d&&(Z_(d)||d.type==="card"))c.push(d)}return{block:{type:"detail",id:e.id,queryKey:e.queryKey,empty:e.empty,master:s,...e.open?{open:{forId:e.open.forId,title:e.open.title,blocks:c}}:{}},issues:o}}case"action":{let o=_m([e],n,r,["blocks"],[t]),i=o.controls[0];return{...i?{block:Lke(i,e.id)}:{},issues:o.issues}}case"actions":{let o=_m(e.items,n,r,["blocks",t,"items"]);return{block:{type:"actions",...e.id?{id:e.id}:{},items:o.controls},issues:o.issues}}default:return{block:e,issues:[]}}}var $9=a.object({title:jn.optional(),blocks:a.array(a.union([F9,Ske])).max(50)}).strict().superRefine((e,t)=>{let n=new Set;for(let[r,o]of e.blocks.entries()){if(o.id===void 0)continue;if(n.has(o.id))t.addIssue({code:"custom",message:`Operator view block id "${o.id}" is duplicated`,path:["blocks",r,"id"]});n.add(o.id)}}),U9=a.object({items:a.array(a.object({label:Ue,value:a.string().max(500),tone:a.enum(["good","warn"]).optional()}).strict()).max(4),attention:a.number().int().nonnegative().optional()}).strict(),qke=a.object({view:$9,digest:U9.optional()}).strict();function jT(e){return e.issues.map((t)=>({path:t.path,message:t.message}))}function gi(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function NT(e,t,n,r,o=!1){if(!gi(e))return;if(e.detail!==void 0&&!o){r.push({path:t,message:"A detail link is available only on rows of a detail block's master collection"});return}if(e.kind==="external"||e.kind==="entity"||e.kind==="launch"||e.kind==="detail"){r.push({path:t,message:"Author links must use a typed external, entity, catalog, or launch target rather than a normalized host target"});return}let i=e.launch;if(n==="dashboard"&&gi(i)&&(i.target==="inbox-open-entity"||i.target==="inbox-capture-note"||i.target==="inbox-discuss-in-chat"))r.push({path:[...t,"launch","target"],message:`Launch intent "${i.target}" is available only in Studio workspaces`})}function W9(e,t,n,r,o=!1){if(!Array.isArray(e))return;for(let[i,s]of e.entries()){if(!gi(s))continue;NT(s.target,[...t,i,"target"],n,r,o)}}function $_(e,t,n,r,o=!1){if(!Array.isArray(e))return;for(let[i,s]of e.entries()){if(!gi(s))continue;NT(s.link,[...t,i,"link"],n,r,o),W9(s.links,[...t,i,"links"],n,r,o)}}function Fm(e,t,n,r){if(!Array.isArray(e))return;for(let[o,i]of e.entries()){if(!gi(i))continue;let s=[...t,o];switch(i.type){case"links":W9(i.items,[...s,"items"],n,r);break;case"list":$_(i.items,[...s,"items"],n,r);break;case"table":{let c=i.rows;if(Array.isArray(c))for(let[l,u]of c.entries()){if(!gi(u))continue;NT(u.link,[...s,"rows",l,"link"],n,r)}break}case"matrix":{let c=i.cells;if(Array.isArray(c))for(let[l,u]of c.entries()){if(!gi(u))continue;$_(u.items,[...s,"cells",l,"items"],n,r)}break}case"tabs":{let c=i.tabs;if(Array.isArray(c))for(let[l,u]of c.entries()){if(!gi(u))continue;Fm(u.blocks,[...s,"tabs",l,"blocks"],n,r)}break}case"card":Fm(i.blocks,[...s,"blocks"],n,r);break;case"columns":Fm(i.primary,[...s,"primary"],n,r),Fm(i.aside,[...s,"aside"],n,r);break;case"detail":{let c=i.master;if(gi(c)){let u=[...s,"master"];$_(c.items,[...u,"items"],n,r,!0);let p=c.rows;if(Array.isArray(p))for(let[d,g]of p.entries()){if(!gi(g))continue;NT(g.link,[...u,"rows",d,"link"],n,r,!0)}}let l=i.open;if(gi(l))Fm(l.blocks,[...s,"open","blocks"],n,r);break}}}}function H9(e,t){if(!gi(e))return[];let n=[];return Fm(e.blocks,["blocks"],t,n),n}function J9(e){let t=H9(e,"dashboard");if(t.length>0)return{success:!1,issues:t};let n=$9.safeParse(e);return n.success?{success:!0,data:n.data}:{success:!1,issues:jT(n.error)}}function J_(e,t){let n=H9(e,"studio");if(n.length>0)return{success:!1,issues:n};let r=_ke.safeParse(e);if(!r.success)return{success:!1,issues:jT(r.error)};let o=[],i=[],s=r.data.primaryAction?_m([r.data.primaryAction],t.actions,t.permission,[],["primaryAction"]):{controls:[],issues:[]};i.push(...s.issues);for(let[c,l]of r.data.blocks.entries()){let u=zm(l,c,t.actions,t.permission);if(i.push(...u.issues),u.block)o.push(u.block)}if(i.length>0)return{success:!1,issues:i};return{success:!0,data:Object.freeze({...r.data.kicker?{kicker:r.data.kicker}:{},...r.data.title?{title:r.data.title}:{},...r.data.description?{description:r.data.description}:{},...r.data.status?{status:r.data.status}:{},...s.controls[0]?{primaryAction:s.controls[0]}:{},blocks:Object.freeze(o)})}}function V9(e){let t=U9.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,issues:jT(t.error)}}function V_(e){let t=qke.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,issues:jT(t.error)}}var Uke=a.object({actionId:a.string().trim().min(1).max(120),input:a.unknown(),mode:a.enum(["prepare","execute"]).default("execute"),confirmationToken:a.string().uuid().optional()}).strict(),Wke=a.object({capability:a.object({confirmation:a.literal("prepared").optional()})}).passthrough(),Hke=a.array(a.string().trim().min(1).max(120)).max(200).transform((e)=>[...new Set(e)]),Jke=a.object({summary:a.string().trim().min(1).max(500),revision:a.string().trim().min(1).max(500)}),Vke=300000,Gke=1000;function Q_(e){if(e===null||typeof e!=="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(Q_).join(",")}]`;return`{${Object.keys(e).sort().map((t)=>`${JSON.stringify(t)}:${Q_(e[t]??null)}`).join(",")}}`}function G9(e){return Zke("sha256").update(Q_(e)).digest("hex")}var BT=a.json();function Qke(e,t,n){let r=e?.safeParse(t??{});if(r&&!r.success)throw Wt(n,"received invalid query state",Bm(r.error.issues));let o=r?.data;if(e&&!BT.safeParse(o).success)throw Wt(n,"query state must be JSON-native");return Object.freeze({get(i){if(i!==e)throw Wt(n,"query reader was called with a schema not declared by the workspace");return i.parse(o)}})}function Wt(e,t,n){return Error(`Service "${e.publicServiceId}" package "${e.packageName}" Studio workspace "${e.workspaceId}" ${t}${n?`: ${n}`:""}`)}function Bm(e){return e.slice(0,5).map((t)=>`${t.path.length>0?t.path.join("."):"value"}: ${t.message}`).join("; ")}function Kke(e){return Object.freeze({actor:Object.freeze({id:e.userId}),permission:e.userPermissionLevel,isAnchor:e.isAnchor})}function Q9(e,t){return t?AbortSignal.any([t,e]):e}function K9(e,t,n){let r=e.safeParse(t);if(!r.success)throw Wt(n,"returned invalid data; return a value matching its data schema",Bm(r.error.issues));return r.data}function X9(e,t){return e.parse(t)}async function Y9(e,t,n){let r=X9(e.definition.input,n),o=j_(e).prepare;if(!o)throw Error("Prepared confirmation callback is unavailable");return Jke.parse(await o({...t,input:r}))}async function Yke(e,t,n){let r=X9(e.definition.input,n);return j_(e).execute({...t,input:r})}function K_(e){let t=e.binding.definition,n=W4(e.binding),r={publicServiceId:e.publicServiceId,packageName:e.packageName,workspaceId:t.id};if(t.query){let l=t.query.safeParse({});if(!l.success)throw Wt(r,"declares a query schema without a valid empty/default state",Bm(l.error.issues));if(!BT.safeParse(l.data).success)throw Wt(r,"query state must be JSON-native")}let o=new Map;async function i(l,u,p){let d=await zT({config:e.config,state:e.state,...e.accountSettingsRegistration?{accountSettingsRegistration:e.accountSettingsRegistration}:{},provider:{caller:Kke(l),signal:u},context:e.context});return Object.freeze({...d,query:Qke(t.query,p,r)})}async function s(l,u){if(!ec(l.userPermissionLevel,t.permission))return!1;if(!n.authorize)return!0;let p=await n.authorize(await i(l,u,void 0));if(typeof p!=="boolean")throw Wt(r,"authorization policy must return a boolean");return p}let c=n.listEntityTypes;return{id:e.runtimeWorkspaceId,label:t.label,rendererName:T_,priority:t.priority??50,permission:t.permission,...t.query?{urlQuery:!0}:{},...e.aliases?{aliases:e.aliases}:{},entityTypes:c?async(l)=>{if(!await s(l,e.runtimeSignal))return[];return Hke.parse(await c(await i(l,e.runtimeSignal,void 0)))}:(t.entities??[]).map((l)=>l.type),accessHandler:(l)=>s(l,e.runtimeSignal),async dataProvider(l,u,p){let d=Q9(e.runtimeSignal,p);if(d.throwIfAborted(),!await s(l,d))throw Wt(r,"was requested below its admission policy");let g=await i(l,d,u),f;try{f=await n.load(g)}catch(L){if(d.aborted)throw d.reason??L;throw Wt(r,"data loader failed")}d.throwIfAborted();let v=K9(t.data,f,r),w;try{w=t.view({data:v})}catch(L){if(d.aborted)throw d.reason??L;throw Wt(r,"view derivation failed")}let I=J_(w,{actions:t.actions,permission:l.userPermissionLevel});if(!I.success)throw Wt(r,"returned an invalid view; use supported StudioWorkspaceView blocks and declared actions",Bm(I.issues));let A=t.refresh?.({data:v});if(A!==void 0&&(!Number.isInteger(A)||A<500||A>60000))throw Wt(r,"returned an invalid refresh interval; use 500-60000 milliseconds");return Object.freeze({view:I.data,...A===void 0?{}:{refreshAfterMs:A}})},async actionHandler(l,u,p){let d=Q9(e.runtimeSignal,p);if(d.throwIfAborted(),!await s(u,d))throw Wt(r,"action was requested below its admission policy");let g=Uke.safeParse(l);if(!g.success)throw Wt(r,"received an invalid action request");let f=e.binding.actions.find((Ce)=>Ce.definition.name===g.data.actionId);if(!f)throw Wt(r,`does not declare action "${g.data.actionId}"`);let v=f.definition;if(v.permission!==void 0&&!ec(u.userPermissionLevel,v.permission))throw Wt(r,`action "${v.name}" was requested below its minimum permission`);let w=v.input.safeParse(g.data.input);if(!w.success)throw Wt(r,`action "${v.name}" received invalid input`,Bm(w.error.issues));let I=BT.safeParse(w.data);if(!I.success)throw Wt(r,`action "${v.name}" input must be JSON-native`);let A=await i(u,d,void 0),L=Wke.safeParse(w.data),N=v.confirmation?.kind==="prepared"&&(v.confirmation.conditional!==!0||L.success&&L.data.capability.confirmation==="prepared");if(g.data.mode==="prepare"){if(!N)throw Wt(r,`action "${v.name}" does not support prepared confirmation`);let Ce=await Y9(f,A,w.data),ke=Date.now();for(let[ce,Y]of o)if(Y.expiresAt<=ke)o.delete(ce);while(o.size>=Gke){let ce=o.keys().next();if(ce.done)break;o.delete(ce.value)}let Me=$ke(),te=ke+Vke;return o.set(Me,{callerId:u.userId,actionId:v.name,inputDigest:G9(I.data),revision:Ce.revision,expiresAt:te}),{kind:"prepared-confirmation",token:Me,summary:Ce.summary,expiresAt:new Date(te).toISOString()}}if(N){let Ce=g.data.confirmationToken,ke=Ce?o.get(Ce):void 0;if(Ce)o.delete(Ce);if(ke===void 0||ke.expiresAt<=Date.now()||ke.callerId!==u.userId||ke.actionId!==v.name||ke.inputDigest!==G9(I.data))throw Wt(r,`action "${v.name}" prepared confirmation is invalid or stale`);let Me;try{Me=await Y9(f,A,w.data)}catch{throw Wt(r,`action "${v.name}" prepared confirmation is invalid or stale`)}if(Me.revision!==ke.revision)throw Wt(r,`action "${v.name}" prepared confirmation is invalid or stale`)}let re;try{re=await Yke(f,A,w.data)}catch(Ce){if(d.aborted)throw d.reason??Ce;throw Wt(r,`action "${v.name}" failed`)}let Ee=v.output.safeParse(re);if(!Ee.success)throw Wt(r,`action "${v.name}" returned invalid output`,Bm(Ee.error.issues));let D=BT.safeParse(Ee.data);if(!D.success)throw Wt(r,`action "${v.name}" output must be JSON-native`);return D.data},...t.badge?{badgeProvider:async(l)=>{let u=e.runtimeSignal;if(!await s(l,u))return 0;let p=K9(t.data,await n.load(await i(l,u,void 0)),r),d=t.badge?.({data:p})??0;if(!Number.isInteger(d)||d<0||d>999999)throw Wt(r,"returned an invalid badge; use an integer from 0 to 999999");return d}}:{}}}var G_=Object.freeze({config:Object.freeze({}),state:Object.freeze({}),accountSettings:void 0});function eY(e){let t=e.bind(G_);if(t.definition!==e.definition)throw Error(`Built-in Studio binding for "${e.definition.id}" returned a different definition`);let n=`${e.context.pluginId}:${e.definition.id}`;return K_({publicServiceId:e.context.pluginId,packageName:e.context.pluginId,runtimeWorkspaceId:n,...e.aliases?{aliases:e.aliases.map((o)=>({id:`${e.context.pluginId}:${o.id}`,query:o.query}))}:{},config:G_.config,state:G_.state,binding:t,context:e.context,runtimeSignal:e.runtimeSignal??new AbortController().signal})}async function Xke(e){if(e.context.executionOnly||!e.context.studio.isAvailable())return!1;return e.context.studio.registerWorkspace(eY(e))}function pp(e,t,n){return Error(`Service "${e.publicServiceId}" package "${e.packageName}" dashboard widget "${e.widgetId}" ${t}${n?`: ${n}`:""}`)}function X_(e){return e.slice(0,5).map((t)=>`${t.path.length>0?t.path.join("."):"value"}: ${t.message}`).join("; ")}function eRe(e,t,n){let r=e.safeParse(t);if(!r.success)throw pp(n,"returned invalid data; return a value matching its data schema",X_(r.error.issues));return r.data}function tRe(e,t){let n=J9(e);if(!n.success)throw pp(t,"returned an invalid view; use supported OperatorView blocks and safe links",X_(n.issues));return n.data}function nRe(e,t){let n=V9(e);if(!n.success)throw pp(t,"returned an invalid digest; provide at most four bounded lines and a non-negative attention count",X_(n.issues));return n.data}function e0(e){let t=e.binding.definition,n={publicServiceId:e.publicServiceId,packageName:e.packageName,widgetId:t.id},r=Z4(e.binding);return{id:t.id,title:t.title,...t.description?{description:t.description}:{},group:t.group,rendererName:E_,section:t.placement,priority:t.priority??50,visibility:t.permission,async dataProvider(o){let i={...o,signal:AbortSignal.any([o.signal,e.runtimeSignal])},s=i.caller?.permission??"public";if(!ec(s,t.permission))throw pp(n,"was requested below its minimum permission");let c=await zT({config:e.config,state:e.state,...e.accountSettingsRegistration?{accountSettingsRegistration:e.accountSettingsRegistration}:{},provider:i,context:e.context});i.signal.throwIfAborted();let l;try{l=await r(c)}catch(f){if(i.signal.aborted)throw i.signal.reason??f;throw pp(n,"data loader failed")}i.signal.throwIfAborted();let u=eRe(t.data,l,n),p;try{p=t.view({data:u})}catch(f){if(i.signal.aborted)throw i.signal.reason??f;throw pp(n,"view derivation failed")}let d=tRe(p,n),g;if(t.digest){let f;try{f=t.digest({data:u})}catch(v){if(i.signal.aborted)throw i.signal.reason??v;throw pp(n,"digest derivation failed")}g=nRe(f,n)}return Object.freeze({view:d,...g?{digest:g}:{},...e.includeSource?{source:u}:{}})},digestProvider(o){let i=V_(o);if(!i.success)return{};return{...i.data.digest?{digest:i.data.digest.items.map((s)=>({...s,tone:s.tone??"plain"}))}:{},...i.data.digest?.attention!==void 0?{needsAttention:i.data.digest.attention}:{}}}}}var Y_=Object.freeze({config:Object.freeze({}),state:Object.freeze({}),accountSettings:void 0});async function rRe(e){if(e.context.executionOnly||!e.context.dashboard.isAvailable())return!1;let t=e.definition.bind(Y_,({caller:o,signal:i})=>e.load({caller:o,signal:i})),n=e0({publicServiceId:e.context.pluginId,packageName:e.context.pluginId,config:Y_.config,state:Y_.state,binding:t,context:e.context,runtimeSignal:e.runtimeSignal??new AbortController().signal,includeSource:e.render!==void 0}),r=e.render?{...n,renderer:e.render}:n;return e.context.dashboard.registerWidget(r)}function t0(e,t,n){let r=lp(e,t,n),o=e.getEntityService(),i=e.getRenderService(),s=e.getContentService(),c=e.getPermissionService();return{...r,permissions:{...r.permissions,getConfiguredPrincipalSeeds:()=>c.getConfiguredPrincipalSeeds(),replaceRuntimePrincipalState:(l)=>c.replaceRuntimePrincipalState(l)},entityService:o,bulkMutations:o,entities:PT(e),webRoutes:{getRoutes:()=>e.getPluginWebRoutes()},content:{generate:async({targets:l,toolContext:u,force:p,dryRun:d,signal:g})=>{g?.throwIfAborted();let f=u?{actor:u.actor,permissionLevel:u.userPermissionLevel??"public"}:{actor:{kind:"service",serviceId:t},permissionLevel:c.determineUserLevel("service",t)},v=uy(e.getJobQueueService(),t,!1);return s.submitGeneration({caller:f,targets:l,pluginId:t,options:{...p!==void 0&&{force:p},...d!==void 0&&{dryRun:d}}},{enqueue:(w,I)=>v({type:Ms.contentGeneration,data:w,toolContext:u??null,options:{source:t,rootJobId:I,maxRetries:0,metadata:{operationType:"content_operations",pluginId:t}}})},g)}},templates:{register:(l,u)=>{e.registerTemplates(l,u??t)},format:(l,u)=>s.formatContent(l,u,{pluginId:t}),parse:(l,u)=>s.parseContent(l,u,t),resolve:async(l,u)=>s.resolveContent(l,u,t),getCapabilities:(l)=>{let u=e.getTemplate(js(l,t));if(!u)return null;let p=Cm.getCapabilities(u);return{canGenerate:p.canGenerate,canFetch:p.canFetch,canRender:p.canRender,isStaticOnly:p.isStaticOnly}}},views:{get:(l)=>i.get(l)??void 0,list:()=>i.list(),hasRenderer:(l,u="web")=>i.hasRenderer(l,u),getRenderer:(l,u="web")=>i.getRenderer(l,u),validate:(l,u)=>i.validate(l,u)},prompts:AT(o),ai:OT(e),registerInstructions:(l)=>{e.registerInstructions(t,l)}}}class LT extends sp{type="service";getApiRoutes(){return[]}getWebRoutes(){return[]}async register(e,t){let n=t0(e,this.id,t);return this.context=n,this.setupMessageHandlers(n),await this.onRegister(n),this.getCapabilities()}get entityService(){return this.getContext().entityService}registerEntityType(e,t,n,r){this.getContext().entities.register(e,t,n,r)}async enqueueJob(e){return this.getContext().jobs.enqueue(e)}async enqueueBatch(e,t){return this.getContext().jobs.enqueueBatch(e,t)}async registerEntityTypes(e){}async registerJobHandlers(e){}async onRegister(e){await this.registerEntityTypes(e),await this.registerJobHandlers(e)}}var n0="_rizomConfirmationToken";function iRe(e){if(e===null||typeof e!=="object")return;let t=Reflect.get(e,n0);return typeof t==="string"?t:void 0}function sRe(e){if(e===void 0)return{};try{return JSON.parse(e)}catch{return e}}function tY(e,t){let n=t.status==="completed"&&t.result!==void 0?Qa(e.output,t.result):void 0;return{id:t.id,status:t.status,progress:t.progress,...n!==void 0?{result:n}:{},...t.lastError?{error:t.lastError}:{}}}function aRe(e,t,n){let r=e.definition,o=s9(e);return{...r.deadline?{executionTimeoutMs:B_(r.deadline)}:{},validateAndParse(i){let s=r.input.safeParse(i);return s.success?s.data:null},async process(i,s,c,l){let u=await o({input:i,signal:l,progress:c,templates:n,entities:{async get(p,d){let g=await t.entityService.getEntity({entityType:p.type,id:d,visibilityScope:"restricted"});return g?Om(p,g):null}},messaging:{async publish(p){await t.messaging.send({type:p.topic,payload:p.data})}}});return r.output.parse(u)}}}class rY extends LT{definition;publicId;toolContext=new oRe;cleanups=[];registeredJobs=new Set;operatorAbortController=new AbortController;registeredStudioWorkspaceIds=[];registeredDashboardWidgetIds=[];accountSettingsRegistration;studioWorkspaceBindings=[];dashboardWidgetBindings=[];scopedShell;state;tools;resources;constructor(e,t,n,r){super(r,n,t,Dm());this.definition=e,this.publicId=e.id}register(e,t){return this.scopedShell=e,super.register(e,t)}async onRegister(e){if(await super.onRegister(e),this.definition.accountSettings&&!e.executionOnly)this.accountSettingsRegistration=e.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});this.state=this.definition.setup?await this.definition.setup({config:this.config,lifecycle:{onCleanup:(o)=>{this.cleanups.push(o)}}}):_T();let t=this.templateFormatter();e.templates.register(this.runtimeTemplates(),this.id),this.registerPrompts();let n=this.definition.jobs?.({config:this.config,state:this.state})??[],r=new Set;for(let o of n){let i=o.definition;if(r.has(i.name))throw Error(`Service "${this.publicId}" registers job "${i.name}" more than once`);r.add(i.name),this.registeredJobs.add(i),p9(i,`${this.id}:${i.name}`),e.jobs.registerHandler(i.name,aRe(o,e,t))}}async onRegistrationComplete(e){if(this.definition.accountSettings&&!e.executionOnly&&!e.accountSettings.hasBackend())throw Error(`Service "${this.publicId}" account settings require auth-service and an account settings encryption key`);if(e.executionOnly)return;this.bindOperatorDefinitions(e);let t=[],n=[];try{for(let r of this.studioWorkspaceBindings){let o=`${this.id}:${r.definition.id}`,i=K_({publicServiceId:this.publicId,packageName:this.packageName,runtimeWorkspaceId:o,config:this.config,state:this.requireState(),...this.accountSettingsRegistration?{accountSettingsRegistration:this.accountSettingsRegistration}:{},binding:r,context:e,runtimeSignal:this.operatorAbortController.signal});try{if(await e.studio.registerWorkspace(i)===!1){await this.rollbackStudioWorkspaces(e,t),t.splice(0);break}}catch(s){throw Error(`Service "${this.publicId}" package "${this.packageName}" Studio workspace "${r.definition.id}" host registration failed; correct the declaration or Studio configuration: ${et(s)}`,{cause:s})}t.push(o)}this.registeredStudioWorkspaceIds.push(...t);for(let r of this.dashboardWidgetBindings){let o=e0({publicServiceId:this.publicId,packageName:this.packageName,config:this.config,state:this.requireState(),...this.accountSettingsRegistration?{accountSettingsRegistration:this.accountSettingsRegistration}:{},binding:r,context:e,runtimeSignal:this.operatorAbortController.signal});try{if(!await e.dashboard.registerWidget(o)){await this.rollbackDashboardWidgets(e,n),n.splice(0);break}}catch(i){throw Error(`Service "${this.publicId}" package "${this.packageName}" dashboard widget "${r.definition.id}" host registration failed; correct the declaration or Dashboard configuration: ${et(i)}`,{cause:i})}n.push(r.definition.id)}this.registeredDashboardWidgetIds.push(...n)}catch(r){throw await this.rollbackDashboardWidgets(e,n),await this.rollbackStudioWorkspaces(e,t),r}}async getTools(){if(this.tools)return this.tools;let e=this.requireState(),t=this.definition.tools?.({config:this.config,state:e,jobs:this.jobs(),templates:this.templateFormatter(),content:this.content()})??[],n=new Set;return this.tools=t.map((r)=>{if(n.has(r.name))throw Error(`Service "${this.publicId}" defines tool "${r.name}" more than once`);return n.add(r.name),this.runtimeTool(r)}),this.tools}async getResources(){if(this.resources)return this.resources;let e=this.definition.resources?.({config:this.config,state:this.requireState()})??{};return this.resources=Object.entries(e).map(([t,n])=>this.runtimeResource(t,n)),this.resources}async getInstructions(){return this.definition.instructions?.({config:this.config,state:this.requireState()})}async onShutdown(){this.operatorAbortController.abort(Error(`Service "${this.publicId}" is shutting down`)),await this.rollbackDashboardWidgets(this.getContext(),this.registeredDashboardWidgetIds.splice(0)),await this.rollbackStudioWorkspaces(this.getContext(),this.registeredStudioWorkspaceIds.splice(0)),this.studioWorkspaceBindings=[],this.dashboardWidgetBindings=[],this.tools=void 0,this.resources=void 0;for(let e of this.registeredJobs)d9(e,`${this.id}:${e.name}`);this.registeredJobs.clear();for(let e of this.cleanups.splice(0).reverse())await e()}bindOperatorDefinitions(e){if(this.definition.dashboardWidgets&&e.dashboard.isAvailable()){let t=this.definition.dashboardWidgets({config:this.config,state:this.requireState(),accountSettings:this.definition.accountSettings}),n=new Set;for(let r of t){let o=r.definition.id;if(n.has(o))throw Error(`Service "${this.publicId}" package "${this.packageName}" registers dashboard widget "${o}" more than once; return each local widget definition once`);n.add(o)}this.dashboardWidgetBindings=Object.freeze([...t])}if(this.definition.studioWorkspaces&&e.studio.isAvailable()){let t=this.definition.studioWorkspaces({config:this.config,state:this.requireState(),accountSettings:this.definition.accountSettings}),n=new Set;for(let r of t){let o=r.definition.id;if(n.has(o))throw Error(`Service "${this.publicId}" package "${this.packageName}" registers Studio workspace "${o}" more than once; return each local workspace definition once`);n.add(o)}this.studioWorkspaceBindings=Object.freeze([...t])}}async rollbackStudioWorkspaces(e,t){for(let n of[...t].reverse()){try{await e.studio.unregisterWorkspace(n)}catch(o){this.logger.error("Failed to unregister declarative Studio workspace",{serviceId:this.publicId,packageName:this.packageName,workspaceId:n,error:et(o)})}let r=this.registeredStudioWorkspaceIds.lastIndexOf(n);if(r>=0)this.registeredStudioWorkspaceIds.splice(r,1)}}async rollbackDashboardWidgets(e,t){for(let n of[...t].reverse()){try{await e.dashboard.unregisterWidget(n)}catch(o){this.logger.error("Failed to unregister declarative dashboard widget",{serviceId:this.publicId,packageName:this.packageName,widgetId:n,error:et(o)})}let r=this.registeredDashboardWidgetIds.lastIndexOf(n);if(r>=0)this.registeredDashboardWidgetIds.splice(r,1)}}requireState(){if(this.state===void 0)throw Error(`Service "${this.publicId}" has not completed setup`);return this.state}jobs(){let e=this.getContext();return{enqueue:async(t,n)=>{if(!this.registeredJobs.has(t))throw Error(`Service "${this.publicId}" cannot enqueue unregistered job "${t.name}"`);let r=t.input.parse(n),o=this.toolContext.getStore(),i=t.retry?t.retry.attempts-1:void 0,s=await e.jobs.enqueue({type:t.name,data:r,...o?{toolContext:o}:{},options:{source:this.id,metadata:{operationType:"data_processing",pluginId:this.id},...i!==void 0?{maxRetries:i}:{}}});return Object.freeze({id:s,status:async()=>{let c=await e.jobs.getStatus(s);return c?tY(t,c):null}})},async status(t,n){let r=await e.jobs.getStatus(n);return r?tY(t,r):null}}}content(){let e=this.getContext(),t=this.erasedTemplates(),n=(r)=>t.get(r)?.generation!==void 0;return{target:(r)=>u9(r,n),generate:async(r)=>{let o=this.toolContext.getStore(),i=await e.content.generate({targets:[...r.targets],toolContext:o,...r.force!==void 0&&{force:r.force},...r.dryRun!==void 0&&{dryRun:r.dryRun},...o?.signal&&{signal:o.signal}});return{...i,items:i.items.map(({destination:s,templateName:c,...l})=>({destination:{entityType:s.entityType,idPath:s.idPath,entityId:s.entityId},template:TM(c,this.id),...l}))}}}}templateFormatter(){let e=this.erasedTemplates();return{format(t,n){let r=e.get(t);if(!r)throw Error(`Template not found: ${t}`);return r.format(n)}}}erasedTemplateCache;erasedTemplates(){return this.erasedTemplateCache??=new Map(Object.entries(this.definition.templates??{}).map(([e,t])=>[e,{schema:t.schema,generation:t.generation,format:(n)=>t.format({value:t.schema.parse(n)})}])),this.erasedTemplateCache}erasedViews(){return new Map(Object.entries(this.definition.views??{}).map(([e,t])=>[e,{schema:t.schema,description:t.description,component:(n)=>t.renderers.web(t.schema.parse(n))}]))}runtimeTemplates(){let e=this.erasedTemplates(),t=this.erasedViews(),n={},r=new Set([...e.keys(),...t.keys()]);for(let o of r){let i=e.get(o),s=t.get(o);if(i&&s&&i.schema!==s.schema)throw Error(`Service "${this.publicId}" template and view "${o}" must share one schema`);let c=i?.schema??s?.schema;if(!c)continue;if(i?.generation&&!i.generation.prompt.trim())throw Error(`Service "${this.publicId}" generation template "${o}" requires a non-empty prompt`);let l={name:o,description:s?.description??`${this.publicId} ${o}`,schema:c,requiredPermission:"admin",...i?{formatter:{format:(u)=>i.format(u),parse:()=>{throw Error(`Template "${o}" is format-only`)}},...i.generation?{basePrompt:i.generation.prompt,dataSourceId:"shell:ai-content",...i.generation.useKnowledgeContext!==void 0?{useKnowledgeContext:i.generation.useKnowledgeContext}:{}}:{}}:{}};if(!s){n[o]=qT(l);continue}n[o]=qT({...l,schema:s.schema,layout:{component:s.component}})}return n}registerPrompts(){let e=this.scopedShell;if(!e)throw Error(`Service "${this.publicId}" has no shell`);for(let[t,n]of Object.entries(this.definition.prompts??{})){let r={name:`${this.publicId}_${t}`,...n.description?{description:n.description}:{},args:{input:{description:"JSON input",required:!0}},handler:async(o)=>{let i=n.input.parse(sRe(o.input));return{messages:[{role:"user",content:{type:"text",text:n.render({input:i})}}]}}};e.registerPrompt(this.id,r)}}runtimeResource(e,t){return{uri:t.uri,name:e,...t.description?{description:t.description}:{},mimeType:t.mimeType??"text/plain",handler:async()=>({contents:[{uri:t.uri,mimeType:t.mimeType??"text/plain",text:await t.read()}]})}}runtimeTool(e){let t=`${this.publicId}_${e.name}`,n=nY({label:e.name,requestNoun:"the operation"});return{name:t,description:e.description,inputSchema:e.input.shape,outputSchema:e.output,visibility:e.permission??"admin",sideEffects:e.sideEffects??(e.confirmation?"writes":"none"),handler:async(r,o)=>{try{let i=iRe(r);if(i!==void 0){let l=n.validateConfirmed(i,r);if(l)return l;let u={...a.record(a.string(),a.unknown()).parse(r)};delete u[n0],r=u}let s=e.input.parse(r);if(i===void 0&&e.confirmation)return{needsConfirmation:!0,toolName:t,summary:e.confirmation,args:n.buildArgs((l)=>({...a.record(a.string(),a.unknown()).parse(s),[n0]:l}))};let c=await this.toolContext.run(o,()=>e.execute({input:s,signal:o.signal??new AbortController().signal}));return{success:!0,data:e.output.parse(c)}}catch(i){return{success:!1,error:et(i)}}}}}}function oY(e,t,n,r){return new rY(e,t,n,r)}function iY(e){return wl({family:"service",id:e.id,config:e.config,instantiate:({config:t,package:n,scope:r})=>oY(e,t,n,r(e.id))})}function cRe(e){if(e.accountSettings!==void 0){let n={...e,accountSettings:e.accountSettings};return iY(n)}let t={...e,accountSettings:void 0};return iY(t)}var sY=30000,aY=1e4;function cY(e,t,n){let r,o=new Promise((i,s)=>{r=setTimeout(()=>s(Error(n)),t)});return Promise.race([e,o]).finally(()=>clearTimeout(r))}function ZT(e,t,n){let r=!1,o=0,i,s,c=Promise.resolve(),l=new Map,u=()=>{let f=c.catch(()=>{return}).then(()=>p());return c=f.then(()=>{i=void 0},(v)=>{i="Account task reconciliation failed"}),f},p=async()=>{if(!r)return;let f=o,v=await n.listConfigured(t);if(f!==o)return;let w=new Map(v.map((I)=>[I.id,I.revision]));for(let[I,A]of l)if(w.get(I)!==A.revision)await g(I,A);if(f!==o)return;for(let I of v)if(!l.has(I.id))d(I)},d=(f)=>{let v=new AbortController,w,I,A=new Promise((re,Ee)=>{w=re,I=Ee}),L={controller:v,revision:f.revision,status:"starting",message:"Connecting",run:Promise.resolve()},N=Promise.resolve().then(()=>e.run({account:Object.freeze({id:f.id,settings:f.settings}),signal:v.signal,health:{ready(){L.status="ready",L.message="Ready",w?.()},warning(re){L.status="warning",L.message=re}}})).then(()=>{if(!v.signal.aborted)throw Error(`Account-bound daemon "${e.id}" stopped before it was aborted`)}).catch((re)=>{if(v.signal.aborted)return;let Ee=re instanceof Error?re:Error(et(re));L.status="error",L.message="Account task failed",I?.(Ee)});L.run=N,l.set(f.id,L),cY(A,sY,`Account-bound daemon "${e.id}" did not report readiness within ${sY}ms`).catch(()=>{if(v.signal.aborted)return;L.status="error",L.message="Account task did not become ready",v.abort()})},g=async(f,v)=>{if(l.get(f)!==v)return;l.delete(f),v.controller.abort(),await cY(v.run,aY,`Account-bound daemon "${e.id}" task did not stop within ${aY}ms`).catch(()=>{return})};return{async start(){if(r)return;r=!0,o++,s=n.subscribe(t,()=>{u()}),await u()},async stop(){if(!r&&l.size===0)return;r=!1,o++,s?.(),s=void 0,await c.catch(()=>{return});let f=[...l.entries()];await Promise.all(f.map(([v,w])=>g(v,w)))},healthCheck(){let f={total:l.size,ready:0,warning:0,error:0};for(let w of l.values())if(w.status==="ready")f.ready++;else if(w.status==="warning")f.warning++;else if(w.status==="error")f.error++;let v=i||f.error>0?"error":f.warning>0?"warning":"healthy";return Promise.resolve({status:v,message:i??(f.total===0?"No configured accounts":`${f.ready} of ${f.total} account task(s) ready`),lastCheck:new Date,details:f})}}}var Est=["GET","POST","PUT","DELETE","OPTIONS"];class lY extends Response{}function $T(e,t={}){return new Response(JSON.stringify(e),{status:t.status??200,headers:{"Content-Type":"application/json; charset=utf-8",...t.headers}})}function wy(e,t,n={}){return $T({error:e},{status:t,...n})}function Ty(e){let t,n,r={status:"unknown",message:"Waiting for readiness",lastCheck:new Date};return{async start(){if(t)return;t=new AbortController;let o=t,i,s,c=new Promise((p,d)=>{i=p,s=d});n=Promise.resolve().then(()=>e.run({signal:o.signal,health:{ready(){r={status:"healthy",message:"Ready",lastCheck:new Date},i?.()},warning(p){r={status:"warning",message:p,lastCheck:new Date}}}})).then(()=>{if(!o.signal.aborted)throw Error(`Daemon "${e.id}" stopped before it was aborted`)}).catch((p)=>{let d=p instanceof Error?p:Error(String(p));throw r={status:"error",message:d.message,lastCheck:new Date},s?.(d),d}),n.catch(()=>{return});let l,u=new Promise((p,d)=>{l=setTimeout(()=>{let g=Error(`Daemon "${e.id}" did not report readiness within 30000ms`);r={status:"error",message:g.message,lastCheck:new Date},o.abort(),d(g)},30000)});try{await Promise.race([c,u])}finally{clearTimeout(l)}},async stop(){let o=t,i=n;t=void 0,n=void 0,o?.abort();let s,c=i?await Promise.race([i.then(()=>!0,()=>!0),new Promise((l)=>{s=setTimeout(()=>l(!1),1e4)})]):!0;if(clearTimeout(s),!c)r={status:"error",message:`Daemon "${e.id}" did not stop within 10000ms`,lastCheck:new Date};if(r.status!=="error")r={status:"unknown",message:"Stopped",lastCheck:new Date}},healthCheck(){return Promise.resolve({...r,lastCheck:new Date})}}}function uY(e){return dY(e)}function pY(e){if(!e)return;return{...e.userPermissionLevel&&{userPermissionLevel:e.userPermissionLevel},...e.isAnchor!==void 0&&{isAnchor:e.isAnchor},...e.interfaceType&&{interfaceType:e.interfaceType},...e.channelId&&{channelId:e.channelId},...e.channelName&&{channelName:e.channelName},...e.actor&&{actor:e.actor},...e.source&&{source:e.source},...e.attachments&&{attachments:e.attachments},...e.guestExecution&&{guestExecution:e.guestExecution}}}function mY(e){return{get guestProfileAvailable(){return e.guestProfileAvailable===!0},chat:async(t,n,r,o)=>{let i=pY(r),s=o?await e.chat(t,n,i,o):await e.chat(t,n,i);return uY(s)},confirmPendingAction:async(t,n,r,o,i)=>{let s=pY(o);if(!s)throw Error("Confirmation requires caller context.");let c=i?await e.confirmPendingAction(t,n,r,s,i):await e.confirmPendingAction(t,n,r,s);return uY(c)},invalidate:()=>{e.invalidateAgent()}}}var fY=Symbol.for("brains.httpRouteSnapshotProvider");function UT(e){let t=Reflect.get(e,fY);return typeof t==="function"?t:void 0}function lRe(e,t){if(UT(e))throw Error("HTTP route snapshot provider is already bound");Object.defineProperty(e,fY,{value:t,enumerable:!1,configurable:!0,writable:!1})}function gY(e,t){let n=UT(e);if(!n)throw Error("HTTP route snapshot provider is not bound");if(UT(t))return;lRe(t,n)}function hY(e){let t=UT(e);if(!t)throw Error("HTTP route snapshot provider is not bound");return t()}function WT(e,t,n){let r=lp(e,t,n),o=e.getMCPService(),i=e.getPermissionService(),s=mY(e.getAgentService());return{...r,mcpTransport:o,agent:s,permissions:{...r.permissions,getUserLevel:(c,l,u)=>i.determineUserLevel(c,l,u),isAnchor:(c,l)=>i.isAnchor(c,l)},daemons:{register:(c,l)=>{let u=`${t}:${c}`;e.registerDaemon(u,l,t),r.logger.debug(`Registered daemon: ${u}`)}},conversations:{...r.conversations,start:async(c)=>e.getConversationService().startConversation(c),addMessage:async(c)=>{await e.getConversationService().addMessage(c)},updateMetadata:async(c)=>e.getConversationService().updateConversationMetadata(c),delete:async(c)=>e.getConversationService().deleteConversation(c)},tools:{listForPermissionLevel:(c)=>e.listToolsForPermissionLevel(c)},apiRoutes:{getRoutes:()=>e.getPluginApiRoutes(),getMessageBus:()=>e.getMessageBus()},webRoutes:{getRoutes:()=>e.getPluginWebRoutes()},httpRoutes:{getRoutes:()=>hY(e)},plugins:{has:(c)=>e.hasPlugin(c)}}}function r0(e,t,n){return{...WT(e,t,n),channels:x4(e,t)}}var uRe=3600000;class Lm extends sp{type="interface";daemon;jobTrackingEntries=new Map;jobTrackingTtlMs=uRe;createContext(e,t){return WT(e,this.id,t)}async register(e,t){let n=this.createContext(e,t);if(this.context=n,this.initializeDaemon(),this.daemon)await this.registerDaemon(n);return this.setupMessageHandlers(n),await this.onRegister(n),this.getCapabilities()}async onRegister(e){}async registerDaemon(e){if(!this.daemon)return;e.daemons.register(this.id,this.daemon),e.logger.debug(`Registered daemon for interface: ${this.id}`)}createDaemon(){return}requiresDaemonStartup(){return!1}getWebRoutes(){return[]}initializeDaemon(){let e=this.createDaemon();if(e)this.daemon=e}async handleProgressEvent(e,t){}cleanupExpiredEntries(){let e=Date.now(),t=[];for(let[n,r]of this.jobTrackingEntries)if(e-r.createdAt>this.jobTrackingTtlMs)t.push(n);for(let n of t)this.jobTrackingEntries.delete(n)}ownsJob(e,t){return this.jobTrackingEntries.has(e)||t!==void 0&&this.jobTrackingEntries.has(t)}getJobTracking(e,t){let n=this.jobTrackingEntries.get(e);if(n)return n.info;if(t){let r=this.jobTrackingEntries.get(t);if(r)return r.info}return}setJobTracking(e,t){this.cleanupExpiredEntries(),this.jobTrackingEntries.set(e,{info:t,createdAt:Date.now()})}removeJobTracking(e){this.jobTrackingEntries.delete(e)}async createJobWithTracking(e,t){let r=await this.getContext().jobs.enqueue(e);return this.setJobTracking(r,t),r}async createBatchWithTracking(e,t,n){let o=await this.getContext().jobs.enqueueBatch(e,n);return this.setJobTracking(o,t),o}}class yY extends Lm{definition;accountSettingsRegistration;routes=[];hasRequiredDaemon=!1;constructor(e,t,n,r){super(r,n,t,Dm());this.definition=e}async onRegister(e){if(await super.onRegister(e),this.definition.accountSettings)this.accountSettingsRegistration=e.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});let t=this.jobs(e),n=this.definition.routes?.({config:this.config,jobs:t})??[];this.routes=n.map((i)=>this.runtimeRoute(i,e));let r=this.definition.daemons?.({config:this.config,jobs:t})??[],o=new Set;for(let i of r){if(o.has(i.id))throw Error(`Interface "${this.definition.id}" defines daemon "${i.id}" more than once`);if(o.add(i.id),this.hasRequiredDaemon||=i.required,i.forAccounts){if(i.forAccounts!==this.definition.accountSettings)throw Error(`Interface "${this.definition.id}" account-bound daemon "${i.id}" must reference its attached account settings`);let s=this.accountSettingsRegistration;if(!s)throw Error(`Interface "${this.definition.id}" account-bound daemon "${i.id}" has no registered account settings`);e.daemons.register(i.id,ZT(i,s,e.accountSettings));continue}e.daemons.register(i.id,Ty(i))}}async onRegistrationComplete(e){if(this.accountSettingsRegistration&&!e.accountSettings.hasBackend())throw Error(`Interface "${this.definition.id}" account settings require auth-service and an account settings encryption key`)}getWebRoutes(){return[...this.routes]}requiresDaemonStartup(){return this.hasRequiredDaemon}async onShutdown(){this.accountSettingsRegistration=void 0,this.routes=[],this.hasRequiredDaemon=!1,await super.onShutdown()}jobs(e){return{enqueue:async(t,n)=>{let r=t.input.parse(n),o=await e.jobs.enqueue({type:by(t),data:r});return Object.freeze({id:o})}}}runtimeRoute(e,t){return{method:e.method,path:e.path,public:!0,handler:async(n)=>{let r=await this.resolveCaller(e,n,t);if(e.security.kind==="protocol"&&!r)return wy("Unauthorized",401);let o;if(e.body){let s;try{s=await n.json()}catch{return wy("Request body must be valid JSON",400)}let c=e.body.safeParse(s);if(!c.success)return wy("Request body is invalid",400);o=c.data}let i=await e.handle({request:n,body:o,caller:r});return $T(e.response.parse(i))}}}async resolveCaller(e,t,n){if(e.security.kind==="public")return null;let r=await e.security.authenticate({request:t});if(!r?.id.trim())return null;let o=n.permissions.getUserLevel(this.definition.id,r.id);return Object.freeze({actor:Object.freeze({...r}),permission:o,isAnchor:n.permissions.isAnchor(this.definition.id,r.id)})}}function bY(e,t,n,r){return new yY(e,t,n,r)}var xY=["GET","POST","PUT","DELETE","OPTIONS"];function o0(e,t){e.messaging.subscribe(cy.progress,async(n)=>{try{let r=bT.safeParse(n.payload);if(!r.success)return t.onInvalidSchema(),{success:!1};let o=r.data;return await t.onProgress(o,o.metadata),{success:!0}}catch(r){return t.onError(r),{success:!1}}})}function i0(e){let t=e.status==="completed"?"\u2705":"\u274C",n=e.status==="completed"?"completed":"failed",r=e.metadata.operationType.replace(/_/g," "),o=e.metadata.operationTarget?`: ${e.metadata.operationTarget}`:"",i=`${t} **${r}${o}** ${n}`;if(e.message)i+=`
188
188
  ${e.message}`;return i}function s0(e){let t=e.metadata.operationType.replace(/_/g," "),n=e.metadata.operationTarget?`: ${e.metadata.operationTarget}`:"",r=`\uD83D\uDD04 **${t}${n}**`;if(e.progress&&e.progress.total>0)r+=` ${e.progress.current}/${e.progress.total} (${e.progress.percentage}%)`;if(e.message)r+=`
189
189
  ${e.message}`;return r}var pRe=a.enum(["tool:invoking","tool:completed","tool:failed"]),dRe=a.object({toolName:a.string().min(1),conversationId:a.string().min(1),interfaceType:a.string().min(1),channelId:a.string().min(1).optional(),channelName:a.string().min(1).optional(),toolCallId:a.string().min(1).optional(),error:a.string().optional()}),mRe=["tool:invoking","tool:completed","tool:failed"];function a0(e,t){for(let n of mRe)e.messaging.subscribe(n,async(r)=>{try{let o=pRe.safeParse(r.type),i=dRe.safeParse(r.payload);if(!o.success||!i.success)return t.onInvalidSchema(),{success:!1};return await t.onToolActivity({type:o.data,...i.data}),{success:!0}}catch(o){return t.onError(o),{success:!1}}})}class c0{scope;fibers;delayMs;clock;closePromise=null;closed=!1;constructor(e,t){this.delayMs=e,this.clock=t?.clock,this.scope=de.runSync(Xt.make()),this.fibers=de.runSync(Xt.extend(Wr.make(),this.scope))}schedule(e,t){if(this.closed)return;let n=de.sleep(this.delayMs).pipe(de.andThen(de.sync(t))),r=this.clock?de.withClock(n,this.clock):n,o=de.runFork(r);Wr.unsafeSet(this.fibers,e,o)}close(){return this.closed=!0,this.closePromise??=de.runPromise(Xt.close(this.scope,jt.void)),this.closePromise}}function Cy(e,t){return{state:t,toolName:e.toolName,conversationId:e.conversationId,interfaceType:e.interfaceType,...e.channelId!==void 0&&{channelId:e.channelId},...e.channelName!==void 0&&{channelName:e.channelName},...e.error!==void 0&&{error:e.error}}}function l0(e){return`${e.conversationId}:${e.toolName}`}function u0(e){if(e.startsWith("playbook_"))return"playbook";return(e.startsWith("system_")?e.slice(7):e).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().toLowerCase()}function SY(e){switch(e){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Approval required";case"failed":return"Tool failed"}}function vY(e){switch(e){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Tool awaiting approval";case"failed":return"Tool failed"}}function wY(e){let t=l0(e),n=u0(e.toolName),r=SY(e.state),o=vY(e.state),i=`${o}: ${n}`;return{key:t,label:n,title:r,fallbackPrefix:o,fallback:e.error?`${i}: ${e.error}`:i}}function TY(e,t){return e.pendingConfirmations?.some((n)=>n.toolName===t)===!0||fRe(e.cards).some((n)=>n.toolName===t)}function fRe(e){return e?.filter((t)=>t.kind==="tool-approval"&&t.state==="approval-requested")??[]}var CY=500,gRe=500;class p0{transport;cleanupSupervisor=new c0(gRe);progressEvents=new Map;progressMessageTracking=new Map;agentResponseTracking=new Map;pendingToolCompletions=new Map;progressCallback;isProcessingInput=!1;currentChannelId=null;bufferedCompletionMessages=[];constructor(e){this.transport=e}hasProgressCallback(){return this.progressCallback!==void 0}registerProgressCallback(e){this.progressCallback=e,e(this.getActiveProgressEvents())}unregisterProgressCallback(){this.progressCallback=void 0}getProgressEvents(){return Array.from(this.progressEvents.values())}getActiveProgressEvents(){return Array.from(this.progressEvents.values()).filter((e)=>e.status==="processing")}trackAgentResponseForJob(e,t,n){this.agentResponseTracking.set(e,{messageId:t,channelId:n,lastUpdate:Date.now()}),this.transport.logger().debug("Tracking agent response for job",{jobId:e,messageId:t,channelId:n})}startProcessingInput(e=null){this.isProcessingInput=!0,this.currentChannelId=e}endProcessingInput(){this.isProcessingInput=!1;for(let{message:e,channelId:t}of this.bufferedCompletionMessages)this.transport.sendMessageToChannel({channelId:t,message:e});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(e){if(!this.shouldHandleProgressEvent(e))return;this.updateProgressState(e);let t=e.metadata.channelId??null,n=e.metadata.rootJobId;if(await this.handleProcessingProgress(e,t,n))return;if(e.status==="completed"||e.status==="failed")await this.handleTerminalProgress(e,t,n);await this.transport.onProgressUpdate(e),this.logProgressProcessed(e)}async handleToolActivityEvent(e){if(e.interfaceType!==this.transport.interfaceId())return;switch(e.type){case"tool:invoking":this.pendingToolCompletions.delete(this.getToolCompletionKey(e)),await this.transport.handleToolStatusUpdate(Cy(e,"running"));return;case"tool:completed":if(this.isProcessingInput){this.pendingToolCompletions.set(this.getToolCompletionKey(e),e);return}await this.transport.handleToolStatusUpdate(Cy(e,"completed"));return;case"tool:failed":this.pendingToolCompletions.delete(this.getToolCompletionKey(e)),await this.transport.handleToolStatusUpdate(Cy(e,"failed"));return}}async handleAgentResponseToolStatuses(e,t){if(this.pendingToolCompletions.size===0)return;let n=this.transport.interfaceId(),r=Array.from(this.pendingToolCompletions.values()).filter((o)=>o.interfaceType===n&&o.conversationId===t);for(let o of r){this.pendingToolCompletions.delete(this.getToolCompletionKey(o));let i=TY(e,o.toolName)?"awaiting-approval":"completed";await this.transport.handleToolStatusUpdate(Cy(o,i))}}shouldHandleProgressEvent(e){let t=e.metadata.interfaceType;return!t||t===this.transport.interfaceId()}updateProgressState(e){this.progressEvents.set(e.id,e),this.notifyProgressCallback()}async handleProcessingProgress(e,t,n){if(e.status!=="processing"||!this.transport.supportsMessageEditing())return!1;let r=this.agentResponseTracking.get(e.id);if(r)return await this.editTrackedProgressMessage(e,r),!0;let o=this.transport.formatProgressOutput(e),i=this.progressMessageTracking.get(n),s=Date.now();if(i){if(s-i.lastUpdate>=CY)await this.transport.editMessage({channelId:i.channelId,messageId:i.messageId,newMessage:o}),i.lastUpdate=s}else if(t&&!this.isProcessingInput)await this.sendInitialProgressMessage(n,t,o,s);return!1}async editTrackedProgressMessage(e,t){let n=Date.now();if(n-t.lastUpdate<CY)return;await this.transport.editMessage({channelId:t.channelId,messageId:t.messageId,newMessage:this.transport.formatProgressOutput(e)}),t.lastUpdate=n}async sendInitialProgressMessage(e,t,n,r){let o=await this.transport.sendMessageWithId({channelId:t,message:n});if(!o)return;this.progressMessageTracking.set(e,{messageId:o,channelId:t,lastUpdate:r}),this.transport.logger().debug("Tracking progress message",{rootJobId:e,messageId:o,channelId:t})}async handleTerminalProgress(e,t,n){let r=this.transport.formatCompletionOutput(e),o=this.progressMessageTracking.get(n),i=this.agentResponseTracking.get(e.id);if(this.transport.logger().debug("Completion event received",{eventId:e.id,rootJobId:n,hasProgressTracking:!!o,hasAgentTracking:!!i,supportsEditing:this.transport.supportsMessageEditing()}),this.transport.supportsMessageEditing())await this.updateTrackedCompletion(e,r,o,i,n);if(!o&&!i&&t)this.sendOrBufferCompletionMessage(r,t);this.scheduleProgressCleanup(e.id)}async updateTrackedCompletion(e,t,n,r,o){if(r){if(await this.transport.editMessage({channelId:r.channelId,messageId:r.messageId,newMessage:t}),this.agentResponseTracking.delete(e.id),n)this.progressMessageTracking.delete(o);return}if(n)await this.transport.editMessage({channelId:n.channelId,messageId:n.messageId,newMessage:t}),this.progressMessageTracking.delete(o)}sendOrBufferCompletionMessage(e,t){if(this.isProcessingInput){this.bufferedCompletionMessages.push({message:e,channelId:t});return}this.transport.sendMessageToChannel({channelId:t,message:e})}scheduleProgressCleanup(e){this.cleanupSupervisor.schedule(e,()=>{this.progressEvents.delete(e),this.notifyProgressCallback()})}logProgressProcessed(e){this.transport.logger().debug("Progress event processed",{eventId:e.id,status:e.status,operationType:e.metadata.operationType,targetChannel:e.metadata.channelId})}getToolCompletionKey(e){return`${e.interfaceType}:${e.conversationId}:${e.toolName}`}notifyProgressCallback(){this.progressCallback?.(this.getProgressEvents())}}var d0=1e5,hRe=[".md",".txt",".markdown"],yRe=["text/plain","text/markdown","text/x-markdown"],bRe=/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi,xRe=["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"],m0=a.object({captureUrls:a.boolean().default(!1),blockedUrlDomains:a.array(a.string()).default(xRe)});function EY(e,t){if(t&&yRe.some((n)=>t.startsWith(n)))return!0;return hRe.some((n)=>e.toLowerCase().endsWith(n))}function IY(e){return e<=d0}function kY(e){if(e.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}function RY(e,t){return`User uploaded a file "${e}":
190
190
 
@@ -199,7 +199,7 @@ Result:`);if(n===-1)return;let r=e.slice(n+9).trim();if(!r)return;try{return JSO
199
199
  `)}function IAe(e,t){let n=[`Sources: ${e.title??"Retrieved context"}`];for(let r of e.sources){let o=t.resolveUrl(r.url),i=o&&!t.isHiddenUrl(o)?` \u2014 ${o}`:"";n.push(`- ${r.title??r.source}${i}`)}return n.join(`
200
200
  `)}function kAe(e,t){let n=[`Actions: ${e.title??"Suggested actions"}`];for(let r of e.actions){let o=r.type==="event"&&t.eventActionUnavailableLabel?` (${t.eventActionUnavailableLabel})`:"";n.push(`- ${r.label}${o}`)}return n.join(`
201
201
  `)}function h7(e){return{identity:e.identity,interfaceType:e.interfaceType,role:e.role??"user",...e.displayName?{displayName:e.displayName}:{},...e.username?{username:e.username}:{},...e.isBot!==void 0?{isBot:RAe(e.isBot)}:{}}}function RAe(e){if(typeof e==="boolean")return e;return e.toLowerCase()==="true"}function y7(e){return{...e.messageId?{messageId:e.messageId}:{},...e.channelId?{channelId:e.channelId}:{},...e.channelName?{channelName:e.channelName}:{},...e.threadId?{threadId:e.threadId}:{},...e.metadata?{metadata:e.metadata}:{}}}function b7(e){if(e.skippedMessages.length===0)return{message:e.message};return{message:["Messages received while the previous response was still running (oldest first, for context only):",...e.skippedMessages.map(PAe),"","Latest message to answer:",e.message].join(`
202
- `),metadata:{supersededMessageCount:e.skippedMessages.length,supersededMessageIds:e.skippedMessages.map((r)=>r.id).filter((r)=>r!==void 0)}}}function PAe(e){let t=e.text.trim(),n=e.authorName?.trim();return n?`- ${n}: ${t}`:`- ${t}`}async function jAe(e){let{entityType:t,title:n,deriveId:r,regeneratePrompt:o,context:i}=e,s=r(n),c=await i.entityService.getEntity({entityType:t,id:s});if(!c||c.metadata.status==="generating")return n;i.logger.debug(`Entity ID collision: ${t}/${s}, asking AI for a new title`);let l=a.object({title:a.string().max(80).describe("A short, unique title (2-6 words)")}),{object:u}=await i.ai.generateObject(`The title "${n}" is already taken. ${o}`,l),p=u.title;return i.logger.debug(`AI suggested new title: "${p}"`),p}class vC{tail=Promise.resolve();run(e){let t=this.tail.then(()=>e());return this.tail=t.then(()=>{return},()=>{return}),t}async settle(){await this.tail}}var BAe="current";class x7{store;schema;createEmpty;key;queue=new vC;statePromise;constructor(e){this.store=e.runtimeState.scoped({namespace:e.namespace,schema:e.schema}),this.schema=e.schema,this.createEmpty=e.createEmpty,this.key=e.key??BAe}mutate(e){return this.queue.run(async()=>{let t=await this.load(),n=await e(t);return await this.persist(t),n})}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((e)=>e??this.createEmpty()),this.statePromise}async persist(e){await this.store.set(this.key,this.schema.parse(e))}}var Y0=ai.extend({id:a.literal("brain-character"),entityType:a.literal("brain-character")}),wC=a.object({name:a.string().describe("The brain's friendly display name"),role:a.string().describe("The brain's primary role"),purpose:a.string().describe("The brain's purpose and goals"),values:a.array(a.string()).describe("Core values that guide behavior")});var LAe=a.record(a.string(),a.unknown());class zy extends nl{generateFrontMatter(e){let t=this.parseFrontmatter(e.content);return this.buildMarkdown("",LAe.parse(t))}}class TC extends zy{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:Y0,frontmatterSchema:wC,isSingleton:!0,hasBody:!1})}createCharacterContent(e){return this.buildMarkdown("",e)}parseCharacterBody(e){return this.parseFrontmatter(e)}toMarkdown(e){return this.generateFrontMatter(e)}fromMarkdown(e){return{content:e,entityType:"brain-character"}}extractMetadata(e){let t=this.parseFrontmatter(e.content);return{role:t.role,values:t.values}}}class Fy extends pT{codec;constructor(e,t,n,r,o,i){super(e,t,n,r,Ds(o));this.codec=i}parseBody(e){return this.codec.parse(e)}createContent(e){return this.codec.create(e)}}class CC extends Fy{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(e,t,n){return new CC(e,t,n)}constructor(e,t,n){let r=new TC;super(e,t,"brain-character",n??CC.getDefaultCharacter(),"brain character is loaded at bootstrap before any user is in scope",{parse:(o)=>r.parseCharacterBody(o),create:(o)=>r.createCharacterContent(o)})}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}var X0=ai.extend({id:a.literal("anchor-profile"),entityType:a.literal("anchor-profile")}),S7=a.enum(["person","team","organization"]),dp=a.object({name:a.string().describe("Name of the anchor"),organization:a.string().optional().describe("Organization the anchor belongs to"),description:a.string().optional().describe("Short description or biography"),avatar:a.string().optional().describe("URL or asset path to avatar/logo"),website:a.string().optional().describe("Primary website URL"),email:a.string().optional().describe("Contact email"),socialLinks:a.array(a.object({platform:a.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:a.string().describe("Profile or contact URL"),label:a.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});class EC extends zy{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's Anchor (singleton).",schema:X0,frontmatterSchema:dp,isSingleton:!0,hasBody:!0})}createProfileContent(e){let t=dp.parse(e);return this.buildMarkdown("",t)}parseProfileBody(e,t){if(t){let{metadata:n,content:r}=nr(e,t);return r?{...n,story:r}:n}return this.parseFrontmatter(e)}fromMarkdown(e){return{content:e,entityType:"anchor-profile"}}extractMetadata(e){let t=this.parseFrontmatter(e.content);return{name:t.name,email:t.email,website:t.website}}}class Ny extends Fy{static getDefaultProfile(){return{name:"Unknown"}}static createFresh(e,t,n){return new Ny(e,t,n)}constructor(e,t,n){let r=new EC;super(e,t,"anchor-profile",n??Ny.getDefaultProfile(),"anchor profile is loaded at bootstrap before any user is in scope",{parse:(o)=>r.parseProfileBody(o),create:(o)=>r.createProfileContent(o)})}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}var IC=a.enum(["person","team","organization"]),qAe=a.object({kind:a.string().trim().min(1),category:IC,labels:a.object({singular:a.string().trim().min(1),plural:a.string().trim().min(1)})});function ZAe(e){if(typeof e!=="object"||e===null||!("shape"in e)||!("safeParse"in e)||typeof e.safeParse!=="function")throw Error("Profile kind fields must be a Zod object schema")}class v7{selectedKind;registrations=new Map;finalized=!1;resolved=null;selectedDefinition;constructor(e){let t=e?.trim();this.selectedKind=t===""?void 0:t}register(e,t){if(this.finalized)throw Error("Profile kind registration is closed");let n=qAe.parse(t);ZAe(t.fields);let r=Object.freeze({...t,kind:n.kind,category:n.category,labels:Object.freeze({...n.labels})}),o=this.registrations.get(n.kind)??[];o.push({pluginId:e,definition:r}),this.registrations.set(n.kind,o)}unregisterPlugin(e){for(let[t,n]of this.registrations){let r=n.filter((o)=>o.pluginId!==e);if(r.length===0)this.registrations.delete(t);else this.registrations.set(t,r)}}finalize(){if(this.finalized)return this.resolved;let t=[...this.registrations.entries()].filter(([,r])=>r.length>1).sort(([r],[o])=>r.localeCompare(o))[0];if(t){let[r,o]=t,i=o.map((s)=>s.pluginId).sort().join(", ");throw Error(`Profile kind "${r}" is registered by multiple plugins: ${i}`)}if(!this.selectedKind)return this.finalized=!0,this.resolved=null,null;let n=this.registrations.get(this.selectedKind)?.[0];if(!n)throw Error(`Selected profile kind "${this.selectedKind}" is not registered`);return this.selectedDefinition=n.definition,this.resolved=Object.freeze({kind:n.definition.kind,category:n.definition.category,labels:Object.freeze({...n.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 w7=30000;class tz{logger;resolver;links=[];actorIndex=new Map;negativeActorIndex=new Map;static createFresh(e,t){return new tz(e,t)}constructor(e,t){this.logger=e.child("CanonicalIdentityService"),this.resolver=t}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(e){let t=ez(e),n=this.actorIndex.get(t);if(!n)return null;if(n.expiresAt<=Date.now())return this.actorIndex.delete(t),null;return n.resolution}async enrichActor(e){if(e.identity.kind==="user"&&e.identity.canonicalId||e.role!=="user")return e;let t=this.resolveActor(e.identity);if(t)return this.enrichedActor(e,t);let n=ez(e.identity),r=this.negativeActorIndex.get(n);if(r&&r>Date.now())return e;this.negativeActorIndex.delete(n);let o=await this.resolver?.(e.identity);if(!o)return this.negativeActorIndex.set(n,Date.now()+w7),e;let i={identity:e.identity,...e.displayName?{label:e.displayName}:{}},s={...o,actors:[i],matchedActor:i};return this.actorIndex.set(n,{resolution:s,expiresAt:Date.now()+w7}),this.links=[...this.links.filter((c)=>c.userId!==s.userId),s],this.enrichedActor(e,s)}enrichedActor(e,t){return{...e,identity:{kind:"user",userId:t.userId,canonicalId:t.canonicalId},...t.displayName?{displayName:t.displayName}:{}}}}var T7="https://rizom.ai/ext/anchor-profile/v1",C7=a.looseObject({id:a.string(),description:a.string(),name:a.string().optional(),tags:a.array(a.string()).optional().default([])}),E7=dp.extend({kind:a.string().trim().min(1).optional(),category:IC.optional()}).superRefine((e,t)=>{if(e.kind===void 0!==(e.category===void 0))t.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),$Ae=a.looseObject({uri:a.string(),params:a.record(a.string(),a.unknown()).optional()}),I7=a.looseObject({name:a.string(),url:a.string(),description:a.string().optional(),skills:a.array(C7).optional().default([]),capabilities:a.looseObject({extensions:a.array($Ae).optional().default([])}).optional()});function UAe(e){let t=I7.safeParse(e);if(!t.success)return null;let n=t.data,o=(n.capabilities?.extensions??[]).find((s)=>s.uri===T7),i=null;if(o?.params){let s=E7.safeParse(o.params);if(s.success)i=s.data}return{brainName:n.name,url:n.url,description:n.description??"",skills:n.skills.map((s)=>({id:s.id,name:s.name??s.id,description:s.description,tags:s.tags})),anchor:i}}import{EventEmitter as P7}from"events";var sn={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},yi={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class bi extends Error{pluginId;constructor(e,t){super(`Plugin ${e}: ${t}`);this.name="PluginError",this.pluginId=e}}function Zs(e,t){return Reflect.get(e,t,e)}function $s(e,t,n){if(typeof e!=="function")throw TypeError("Cannot apply a non-callable trapped member");return Reflect.apply(e,t,n)}class nz{scope;ingress=new Set;closePromise=null;closed=!1;constructor(){this.scope=de.runSync(Xt.make())}addFinalizer(e){if(this.closed)throw Error("Cannot register a resource after plugin teardown");de.runSync(Xt.addFinalizer(this.scope,de.promise(async()=>{await e()})))}addIngress(e){if(this.closed)throw Error("Cannot register ingress after plugin teardown");this.ingress.add(e)}close(e=jt.void){return this.closed=!0,this.closePromise??=this.closeScope(e),this.closePromise}async closeScope(e){let t,n=!1,r=[...this.ingress].reverse();for(let c of r)try{c.stopAdmission()}catch(l){if(!n)t=l;n=!0}let o=await Promise.allSettled(r.map((c)=>Promise.resolve().then(()=>c.drain())));this.ingress.clear();let i=o.find((c)=>c.status==="rejected");if(!n&&i)t=i.reason,n=!0;let s=await de.runPromiseExit(Xt.close(this.scope,e));if(!n&&jt.isFailure(s))t=ri.squash(s.cause),n=!0;if(n)throw t}}function k7(e,t){let n=e.getMessageBus(),r=new Set,o={send:(te)=>n.send(te),hasHandlers:(te)=>n.hasHandlers?.(te)??!1,subscribe:(te,ce,Y)=>{let G=!0,me=new Set,xe=(ft)=>{if(!G)return{noop:!0};let bn,C=new Promise((E)=>{bn=E});me.add(C);let Lt=()=>{me.delete(C),bn()},Jn;try{Jn=Promise.resolve(ce(ft))}catch(E){throw Lt(),E}return Jn.then((E)=>(Lt(),E),(E)=>{throw Lt(),E})},se=n.subscribe(te,xe,Y),Qe={type:te,originalHandler:ce,stopAdmission:()=>{if(!G)return;G=!1,se(),r.delete(Qe)}};r.add(Qe);try{t.addIngress({stopAdmission:Qe.stopAdmission,drain:async()=>{await Promise.all(me)}})}catch(ft){throw Qe.stopAdmission(),ft}return Qe.stopAdmission},unsubscribe:(te,ce)=>{let Y=[...r].filter((G)=>G.type===te&&G.originalHandler===ce);if(Y.length===0){n.unsubscribe(te,ce);return}for(let G of Y)G.stopAdmission()},collect:(te)=>n.collect(te),validateMessage:(te,ce)=>n.validateMessage(te,ce),getHandlerCount:(te)=>n.getHandlerCount(te),getTargetedHandlerCount:(te,ce)=>n.getTargetedHandlerCount(te,ce),clearHandlers:(te)=>n.clearHandlers(te),clearAllHandlers:()=>n.clearAllHandlers()},i=e.getAttachmentRegistry(),s={...i,register:(te,ce,Y)=>{let G=!0,me=i.register(te,ce,Y),xe=()=>{if(!G)return;G=!1,me()};return t.addFinalizer(xe),xe}},c=e.getEntityRegistry(),l=new Proxy(c,{get(te,ce){let Y=Zs(te,ce);if(ce==="registerEntityType"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterEntityType(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),u=e.getProfileKindRegistry(),p=new Proxy(u,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),d=e.getChannelRegistry(),g=new Proxy(d,{get(te,ce){let Y=Zs(te,ce);if((ce==="registerDescriptor"||ce==="registerDeliveryProvider")&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),f=e.getInboxRegistry(),v=new Proxy(f,{get(te,ce){let Y=Zs(te,ce);if(ce==="registerSource"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),w=e.getInboxFollowUpRegistry(),I=new Proxy(w,{get(te,ce){let Y=Zs(te,ce);if(ce==="registerKind"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),A=e.getAccountSettingsRegistry(),L=new Proxy(A,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G);return t.addFinalizer(()=>{$s(te.unregister,te,[me])}),me};return typeof Y==="function"?Y.bind(te):Y}}),N=e.getOperationalHealthRegistry(),re=new Proxy(N,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),Ee=e.getDataSourceRegistry(),D=new Proxy(Ee,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="object"&&xe!==null&&"id"in xe&&typeof xe.id==="string"){let se=xe.id.includes(":")?xe.id:`shell:${xe.id}`;t.addFinalizer(()=>te.unregister(se))}return me};return typeof Y==="function"?Y.bind(te):Y}}),Ce=e.getInsightsRegistry(),ke=new Proxy(Ce,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregister(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),Me=new Proxy(e,{get(te,ce){if(ce==="getMessageBus")return()=>o;if(ce==="getAttachmentRegistry")return()=>s;if(ce==="getEntityRegistry")return()=>l;if(ce==="getDataSourceRegistry")return()=>D;if(ce==="getProfileKindRegistry")return()=>p;if(ce==="getChannelRegistry")return()=>g;if(ce==="getInboxRegistry")return()=>v;if(ce==="getInboxFollowUpRegistry")return()=>I;if(ce==="getOperationalHealthRegistry")return()=>re;if(ce==="getAccountSettingsRegistry")return()=>L;if(ce==="getInsightsRegistry")return()=>ke;let Y=Zs(te,ce);return typeof Y==="function"?Y.bind(te):Y}});return gY(e,Me),Me}class rz{plugins;events;daemonRegistry;logger;projectionRegistry;resourceScopes=new Map;releasePromises=new Map;constructor(e,t,n,r,o){this.plugins=e,this.events=t,this.daemonRegistry=n,this.projectionRegistry=r,this.logger=o.child("PluginLifecycle")}async initializePlugin(e,t,n){let r=this.plugins.get(e);if(!r)throw new bi(e,"Registration failed: Plugin is not registered");let o=r.plugin,i=new nz;i.addFinalizer(()=>t.unregisterPluginCapabilities?.(e)),i.addFinalizer(()=>t.getJobQueueService().unregisterPluginHandlers(e)),i.addFinalizer(()=>this.projectionRegistry.unregisterPlugin(e)),this.resourceScopes.set(e,i),this.releasePromises.delete(e),this.logger.debug(`Initializing plugin: ${e}`);try{this.events.emit(yi.BEFORE_INITIALIZE,e,o);let s=await o.register(k7(t,i),n);return r.status=sn.INITIALIZED,this.logger.debug(`Initialized plugin: ${e}`),this.events.emit(yi.INITIALIZED,e,o),s}catch(s){throw this.logger.error(`Error initializing plugin ${e}: ${et(s)}`),await this.failPluginInitialization(e,s),s}}async finalizePluginRegistration(e){let t=this.plugins.get(e);if(!t)throw new bi(e,"Registration finalization failed: Plugin is not registered");if(t.status!==sn.INITIALIZED)return;try{await t.plugin.finalizeRegistration?.(),this.logger.debug(`Registration finalized for plugin: ${e}`)}catch(n){throw await this.failPluginInitialization(e,n),n}}async readyPlugin(e){let t=this.plugins.get(e);if(!t)throw new bi(e,"Ready failed: Plugin is not registered");if(t.status!==sn.INITIALIZED){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${e}`);return}try{await t.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${e}`)}catch(n){let r=Rm(n);t.status=sn.ERROR,t.error=r;try{this.events.emit(yi.ERROR,e,r)}catch(o){this.logger.error(`Plugin error listener failed for ${e}`,o)}throw r}}async startPluginDaemons(e){let t=this.plugins.get(e);if(t?.status!==sn.INITIALIZED)return;try{await this.daemonRegistry.startPlugin(e),this.logger.debug(`Started daemons for plugin: ${e}`)}catch(n){if(t.plugin.requiresDaemonStartup?.())throw n;this.logger.warn(`Daemon ${e} failed to start: ${et(n)}`)}}async failPluginInitialization(e,t){let n=this.plugins.get(e);if(!n)return;let r=n.status!==sn.ERROR,o=Rm(t);if(n.status=sn.ERROR,n.error=o,await this.releasePluginResources(e,jt.fail(t)),r)try{this.events.emit(yi.ERROR,e,o)}catch(i){this.logger.error(`Plugin error listener failed for ${e}`,i)}}async disablePlugin(e){let t=this.plugins.get(e);if(!t){this.logger.warn(`Cannot disable plugin ${e}: not registered`);return}if(t.status===sn.DISABLED)return;this.logger.debug(`Disabling plugin: ${e}`);let n=t.status===sn.ERROR;await this.releasePluginResources(e,jt.void);let r=this.plugins.get(e);if(!n&&r&&r.status!==sn.DISABLED)r.status=sn.DISABLED,this.events.emit(yi.DISABLED,e,r.plugin);this.logger.debug(`Disabled plugin: ${e}`)}releasePluginResources(e,t){let n=this.releasePromises.get(e);if(n)return n;let r=this.releasePluginResourcesOnce(e,t);return this.releasePromises.set(e,r),r}async releasePluginResourcesOnce(e,t){let n=this.plugins.get(e);if(!n)return;try{await this.daemonRegistry.stopPlugin(e),this.logger.debug(`Stopped daemons for plugin: ${e}`)}catch(o){this.logger.error(`Failed to stop daemons for plugin: ${e}`,o)}let r=this.resourceScopes.get(e);if(this.resourceScopes.delete(e),r)try{await r.close(t)}catch(o){this.logger.error(`Failed to close resources for plugin ${e}`,o)}if(n.plugin.shutdown)try{await n.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${e}`)}catch(o){this.logger.error(`Plugin shutdown failed for ${e}:`,o)}for(let o of this.daemonRegistry.getByPlugin(e))try{await this.daemonRegistry.unregister(o.name)}catch(i){this.logger.error(`Failed to unregister daemon ${o.name} for plugin ${e}`,i)}}}class oz{plugins;events;logger;constructor(e,t,n){this.plugins=e,this.events=t,this.logger=n.child("DependencyResolver")}async resolveInitializationOrder(e){this.logger.debug("Resolving plugin initialization order...");let t=Array.from(this.plugins.keys()),n=new Set,r=!0;while(r&&n.size<t.length){r=!1;for(let s of t){if(n.has(s))continue;if(!this.plugins.get(s))continue;if(this.getUnmetDependencies(s).length===0)try{await e(s),n.add(s),r=!0}catch(u){let p=et(u);this.logger.error(`Failed to initialize plugin ${s}: ${p}`),n.add(s),r=!0}}}let o=t.filter((s)=>!n.has(s));if(o.length>0){let s=o.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${s}`);for(let c of o){let l=this.getUnmetDependencies(c);this.logger.error(`Plugin ${c} has unmet dependencies: ${l.join(", ")}`);let u=this.plugins.get(c);if(u)u.status=sn.ERROR,u.error=new bi(c,`Unmet dependencies: ${l.join(", ")}`);this.events.emit(yi.ERROR,c,u?.error)}}let i=new Set;for(let[s,c]of this.plugins)if(c.status===sn.INITIALIZED)i.add(s);return this.logger.debug(`Resolved ${i.size} of ${t.length} plugins`),{initialized:i,failed:o}}getUnmetDependencies(e){let t=this.plugins.get(e);if(!t)return[];let{dependencies:n}=t,r=[];for(let o of n){let i=this.plugins.get(o);if(!i){r.push(o);continue}if(i.status!==sn.INITIALIZED)r.push(o)}return r}}class iz{logger;projectionRegistry;constructor(e,t){this.logger=e.child("CapabilityRegistrar"),this.projectionRegistry=t}async registerCapabilities(e,t,n,r){if(!r?.executionOnly&&n.tools.length>0)e.registerTools(t,n.tools),this.logger.debug(`Registered ${n.tools.length} tools from ${t}`);if(!r?.executionOnly&&n.resources.length>0)e.registerResources(t,n.resources),this.logger.debug(`Registered ${n.resources.length} resources from ${t}`);if(!r?.executionOnly&&n.instructions)e.registerInstructions(t,n.instructions),this.logger.debug(`Registered instructions from ${t}`);let o=n.projectionRules??[];try{for(let i of o)this.projectionRegistry.registerRule(t,i)}catch(i){throw this.projectionRegistry.unregisterPlugin(t),i}if(o.length>0)this.logger.debug(`Registered ${o.length} projection rules from ${t}`)}}class kC{projections=new Map;rules=new Map;static createFresh(){return new kC}constructor(){}registerRule(e,t){if(!Object.isFrozen(t))throw Error(`Projection rule "${t.id}" must be created with defineProjectionRule`);let n=this.projections.get(t.id);if(n)throw Error(`Projection "${t.id}" is already registered by "${n.pluginId}"`);let r={id:t.id,pluginId:e,targetType:t.targetType,sources:t.sources.map((i)=>({kind:i.kind,types:[...i.types],...i.excludeTypes?{excludeTypes:[...i.excludeTypes]}:{}}))};this.projections.set(t.id,r),this.rules.set(t.id,t);let o=!0;return()=>{if(!o)return;if(o=!1,this.rules.get(t.id)===t)this.rules.delete(t.id);if(this.projections.get(t.id)===r)this.projections.delete(t.id)}}unregisterPlugin(e){for(let[t,n]of this.projections)if(n.pluginId===e)this.projections.delete(t),this.rules.delete(t)}list(){return Array.from(this.projections.values()).sort((e,t)=>e.id.localeCompare(t.id)).map(JAe)}listRules(){return[...this.rules.values()].sort((e,t)=>e.id.localeCompare(t.id))}validate(e){let t=this.list(),n=new Set(e.map(({type:s})=>s));for(let s of t)if(!n.has(s.targetType))throw Error(`Projection "${s.id}" targets unregistered entity type "${s.targetType}"`);let r=e.filter(({projectionSource:s})=>s).map(({type:s})=>s).sort(),o=VAe(t,r),i=QAe(t,o)[0];if(i){let s=KAe(i,o);throw Error(`Projection cycle is not supported: ${[...s,s[0]].join(" -> ")}`)}return HAe({projections:t,edges:o,unknownSourceTypes:WAe(t,n)})}}function WAe(e,t){let n=[];for(let r of e){let o=[...new Set(r.sources.flatMap((i)=>[...i.types,...i.excludeTypes??[]]).filter((i)=>i!=="*"&&!t.has(i)))].sort();if(o.length>0)n.push({projectionId:r.id,types:o})}return n}function HAe(e){for(let t of e.projections){for(let n of t.sources){if(Object.freeze(n.types),n.excludeTypes)Object.freeze(n.excludeTypes);Object.freeze(n)}Object.freeze(t.sources),Object.freeze(t)}for(let t of e.edges)Object.freeze(t.causes),Object.freeze(t);for(let t of e.unknownSourceTypes)Object.freeze(t.types),Object.freeze(t);return Object.freeze(e.unknownSourceTypes),Object.freeze(e.projections),Object.freeze(e.edges),Object.freeze(e)}function JAe(e){return{...e,sources:e.sources.map((t)=>({...t,types:[...t.types],...t.excludeTypes?{excludeTypes:[...t.excludeTypes]}:{}}))}}function VAe(e,t){let n=new Map;for(let r of e)for(let o of e){let i=GAe(r,o,t);if(i.length===0)continue;n.set(`${r.id}\x00${o.id}`,new Set(i))}return Array.from(n,([r,o])=>{let[i="",s=""]=r.split("\x00");return{from:i,to:s,causes:[...o].sort()}}).sort((r,o)=>r.from.localeCompare(o.from)||r.to.localeCompare(o.to))}function GAe(e,t,n){let r=[];for(let o of t.sources){let i=new Set(o.excludeTypes??[]);if((o.types.includes("*")?[...o.types.filter((c)=>c!=="*"),...n]:o.types).includes(e.targetType)&&!i.has(e.targetType))r.push(`entity:${e.targetType}`)}return[...new Set(r)]}function QAe(e,t){let n=e.map(({id:d})=>d).sort(),r=R7(n,t),o=new Map,i=new Map,s=[],c=new Set,l=[],u=0,p=(d)=>{o.set(d,u),i.set(d,u),u++,s.push(d),c.add(d);for(let w of r.get(d)??[])if(!o.has(w))p(w),i.set(d,Math.min(i.get(d)??0,i.get(w)??0));else if(c.has(w))i.set(d,Math.min(i.get(d)??0,o.get(w)??0));if(i.get(d)!==o.get(d))return;let g=[],f;do{if(f=s.pop(),!f)break;c.delete(f),g.push(f)}while(f!==d);let v=r.get(d)?.includes(d)??!1;if(g.length>1||v)l.push(g.sort())};for(let d of n)if(!o.has(d))p(d);return l.sort((d,g)=>(d[0]??"").localeCompare(g[0]??""))}function KAe(e,t){let n=new Set(e),r=R7(e,t),o=[...e].sort()[0];if(!o)return[];if(r.get(o)?.includes(o))return[o];let i=(s,c)=>{for(let l of r.get(s)??[]){if(!n.has(l))continue;if(l===o)return c;if(c.includes(l))continue;let u=i(l,[...c,l]);if(u)return u}return};return i(o,[o])??[...e].sort()}function R7(e,t){let n=new Map;for(let r of e)n.set(r,[]);for(let r of t){let o=n.get(r.from);if(o&&!o.includes(r.to))o.push(r.to)}for(let r of n.values())r.sort();return n}async function A7(e){let n=(await de.runPromise(de.all(e.map((r)=>de.either(de.tryPromise({try:r,catch:(o)=>o}))),{concurrency:"unbounded"}))).find(Fr.isLeft);if(n)throw n.left}class RC{plugins=new Map;logger;events=new P7;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=kC.createFresh();projectionGraph;static createFresh(e,t){return new RC(e,t)}setShell(e){this.shell=e}constructor(e,t){this.logger=e.child("PluginManager"),this.events=new P7,this.daemonRegistry=t,this.pluginLifecycle=new rz(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,e),this.dependencyResolver=new oz(this.plugins,this.events,e),this.capabilityRegistrar=new iz(e,this.projectionRegistry)}registerPlugin(e){if(!e.id)throw new bi("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${e.id} (${e.version})`),this.plugins.has(e.id)){let o=this.plugins.get(e.id)?.plugin.version;throw new bi(e.id,`Registration failed: Plugin is already registered with version ${o}`)}let t=e.dependencies??[],n={plugin:e,status:sn.REGISTERED,dependencies:t};this.plugins.set(e.id,n),this.logger.debug(`Registered plugin: ${e.id} (${e.version})`),this.events.emit(yi.REGISTERED,e.id,e)}async initializePlugins(e){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let t=await this.dependencyResolver.resolveInitializationOrder(async(n)=>{await this.initializePlugin(n,e)});this.logger.debug(`Initialized ${t.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin(e,t){if(!this.shell)throw new bi(e,"Cannot initialize plugin: Shell not set. Call setShell() first.");let n=this.shell;try{let r=await this.pluginLifecycle.initializePlugin(e,n,t);await this.capabilityRegistrar.registerCapabilities(n,e,r,{executionOnly:t?.executionOnly}),this.initializedPluginIds.push(e)}catch(r){throw await this.pluginLifecycle.failPluginInitialization(e,r),r}}async finalizePluginRegistrations(){this.logger.debug("Finalizing plugin registrations...");for(let n of this.initializedPluginIds)await this.pluginLifecycle.finalizePluginRegistration(n);if(!this.shell)throw Error("Cannot validate projections before the shell is set");let e=this.shell.getEntityRegistry(),t=this.projectionRegistry.validate(e.getAllEntityTypes().map((n)=>{let r=e.getEntityTypeConfig(n);return{type:n,projectionSource:r.projectionSource!==!1&&r.projectionSourceRole!=="excluded"}}));this.projectionGraph=t;for(let n of t.unknownSourceTypes)this.logger.warn("Projection declares entity source types no installed plugin registers",{projectionId:n.projectionId,types:n.types});this.logger.debug("Validated projection graph",{projections:t.projections.length,edges:t.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 A7(this.initializedPluginIds.map((e)=>()=>this.pluginLifecycle.readyPlugin(e)))}catch(e){for(let t of this.initializedPluginIds){let n=this.plugins.get(t);if(n?.status===sn.ERROR)await this.pluginLifecycle.failPluginInitialization(t,n.error??e)}throw e}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await A7(this.initializedPluginIds.map((e)=>()=>this.pluginLifecycle.startPluginDaemons(e)))}getPlugin(e){return this.plugins.get(e)?.plugin}getPluginStatus(e){return this.plugins.get(e)?.status}hasPlugin(e){return this.plugins.has(e)}isPluginInitialized(e){return this.plugins.get(e)?.status===sn.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter((e)=>e[1].status===sn.ERROR&&e[1].error!==void 0).map(([e,t])=>({id:e,error:t.error}))}getPluginPackageName(e){return this.plugins.get(e)?.plugin.packageName}async disablePlugin(e){await this.pluginLifecycle.disablePlugin(e)}async shutdownPlugins(){let e=new Set;for(let t of[...this.initializedPluginIds].reverse())await this.disablePlugin(t),e.add(t);for(let t of[...this.plugins.keys()].reverse())if(!e.has(t))await this.disablePlugin(t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}getEventEmitter(){return this.events}}var O7={public:0,trusted:1,admin:2},YAe=[{id:"dashboard",pluginId:"dashboard",label:"Dashboard",visibility:"public",requiresActiveSession:!1},{id:"web-chat",pluginId:"web-chat",label:"Chat",visibility:"trusted",requiresActiveSession:!0},{id:"studio",pluginId:"studio",label:"Studio",visibility:"public",requiresActiveSession:!0}];function XAe(e,t){let n=O7[t.permissionLevel??"public"],r=[];for(let{id:o,pluginId:i,label:s,visibility:c,requiresActiveSession:l}of YAe){let u=t.self?.id===o;if(!u&&(n<O7[c]||l&&t.hasActiveSession!==!0))continue;let p=e.filter((f)=>f.pluginId===i&&!(o==="studio"&&f.fullPath==="/chat")).map((f)=>f.fullPath).sort((f,v)=>f.length-v.length),d=o==="web-chat"&&p.length>0?e.find((f)=>f.pluginId==="studio"&&f.fullPath==="/chat")?.fullPath:void 0,g=u?t.self?.href:d??p[0];if(g!==void 0)r.push({id:o,label:s,href:g,isActive:o===t.activeId,...l?{requiresActiveSession:!0}:{}})}return r}export{Ka as ta,iy as ua,YM as va,XM as wa,C5 as xa,E5 as ya,I5 as za,k5 as Aa,pEe as Ba,dEe as Ca,yT as Da,fEe as Ea,Em as Fa,k as Ga,Va as Ha,b as Ia,ge as Ja,y as Ka,gr as La,kK as Ma,Ga as Na,Mo as Oa,Vr as Pa,$h as Qa,we as Ra,kn as Sa,Ke as Ta,OK as Ua,DK as Va,ot as Wa,mm as Xa,fm as Ya,gl as Za,s3 as _a,Kw as $a,Sm as ab,BD as bb,LD as cb,QD as db,oT as eb,aM as fb,uT as gb,Im as hb,GCe as ib,QCe as jb,hEe as kb,p6 as lb,A5 as mb,bEe as nb,Vm as ob,eOe as pb,tOe as qb,PC as rb,nOe as sb,rOe as tb,oOe as ub,iOe as vb,sOe as wb,aOe as xb,cOe as yb,lOe as zb,km as Ab,Fet as Bb,ui as Cb,REe as Db,At as Eb,W2e as Fb,bT as Gb,S as Hb,rm as Ib,O as Jb,il as Kb,oe as Lb,fr as Mb,Za as Nb,wG as Ob,Dr as Pb,kt as Qb,rr as Rb,sl as Sb,al as Tb,ow as Ub,st as Vb,dn as Wb,Ph as Xb,qe as Yb,le as Zb,Bt as _b,ll as $b,Ft as ac,dO as bc,Ao as cc,FG as dc,bw as ec,Ui as fc,Wi as gc,FQ as hc,GSe as ic,QSe as jc,q as kc,bt as lc,iD as mc,sD as nc,Pve as oc,Ave as pc,vl as qc,u_ as rc,Fr as sc,Rt as tc,An as uc,ri as vc,bu as wc,jt as xc,Xt as yc,oi as zc,de as Ac,Wr as Bc,Lu as Cc,Sh as Dc,Ts as Ec,mqe as Fc,p_ as Gc,d_ as Hc,m_ as Ic,ly as Jc,uy as Kc,f_ as Lc,g_ as Mc,W5 as Nc,h_ as Oc,HEe as Pc,fo as Qc,xT as Rc,ST as Sc,Ont as Tc,Dnt as Uc,JEe as Vc,Mnt as Wc,znt as Xc,tIe as Yc,Fnt as Zc,Nnt as _c,jnt as $c,Bnt as ad,Lnt as bd,qnt as cd,Znt as dd,$nt as ed,Unt as fd,cIe as gd,Wnt as hd,Hnt as id,lIe as jd,uIe as kd,Vnt as ld,Gnt as md,Qnt as nd,Knt as od,Ynt as pd,Xnt as qd,ert as rd,trt as sd,Ie as td,Nn as ud,cp as vd,Xa as wd,i4 as xd,s4 as yd,fIe as zd,wT as Ad,FA as Bd,gSe as Cd,hSe as Dd,NA as Ed,jA as Fd,my as Gd,CT as Hd,T_ as Id,xIe as Jd,E_ as Kd,kT as Ld,C_ as Md,I_ as Nd,_ as Od,Fn as Pd,hn as Qd,mn as Rd,Oo as Sd,$a as Td,yt as Ud,di as Vd,NQ as Wd,Ds as Xd,Es as Yd,Is as Zd,Qv as _d,Rs as $d,Xd as ae,ai as be,WV as ce,Cqe as de,Eqe as ee,La as fe,nr as ge,Jv as he,Kd as ie,$V as je,vw as ke,ww as le,jO as me,BO as ne,LO as oe,qO as pe,ZO as qe,$O as re,lm as se,Wa as te,HO as ue,Ji as ve,pD as we,dD as xe,Ja as ye,Mw as ze,vK as Ae,ml as Be,wK as Ce,YVe as De,XVe as Ee,_w as Fe,d6 as Ge,nl as He,qA as Ie,PCe as Je,m6 as Ke,dT as Le,lM as Me,f6 as Ne,pM as Oe,g6 as Pe,wIe as Qe,RT as Re,TIe as Se,OT as Te,w6 as Ue,P6 as Ve,vM as We,kM as Xe,S5 as Ye,LT as Ze,P_ as _e,fy as $e,O_ as af,ePe as bf,M_ as cf,tPe as df,nPe as ef,rPe as ff,lRe as gf,Lm as hf,r8 as if,a8 as jf,P0 as kf,Qr as lf,rC as mf,l8 as nf,D0 as of,g8 as pf,Py as qf,h8 as rf,Zm as sf,y8 as tf,yPe as uf,b8 as vf,x8 as wf,RPe as xf,v8 as yf,MPe as zf,_Pe as Af,zPe as Bf,FPe as Cf,_0 as Df,rc as Ef,$Pe as Ff,z0 as Gf,B0 as Hf,WPe as If,sr as Jf,AIe as Kf,OIe as Lf,DIe as Mf,_Ie as Nf,$4 as Of,H4 as Pf,t9 as Qf,V_ as Rf,r9 as Sf,eY as Tf,Xke as Uf,rRe as Vf,i9 as Wf,a9 as Xf,q_ as Yf,cRe as Zf,Est as _f,lY as $f,$T as ag,l0 as bg,u0 as cg,wY as dg,qm as eg,HT as fg,JT as gg,Ey as hg,VT as ig,AY as jg,Iy as kg,wRe as lg,TRe as mg,CRe as ng,ERe as og,IRe as pg,ky as qg,Ry as rg,JPe as sg,O8 as tg,F8 as ug,qRe as vg,WRe as wg,XT as xg,LY as yg,qY as zg,HRe as Ag,N8 as Bg,tC as Cg,I0 as Dg,XRe as Eg,j8 as Fg,$m as Gg,Z8 as Hg,$8 as Ig,U8 as Jg,W8 as Kg,J8 as Lg,Z0 as Mg,$0 as Ng,K8 as Og,U0 as Pg,pC as Qg,e7 as Rg,dC as Sg,W0 as Tg,t7 as Ug,n7 as Vg,o7 as Wg,i7 as Xg,mC as Yg,c7 as Zg,l7 as _g,gC as $g,Dy as ah,My as bh,u7 as ch,p7 as dh,d7 as eh,K0 as fh,_y as gh,f7 as hh,g7 as ih,h7 as jh,y7 as kh,b7 as lh,jAe as mh,vC as nh,x7 as oh,wC as ph,TC as qh,CC as rh,S7 as sh,dp as th,EC as uh,Ny as vh,v7 as wh,tz as xh,T7 as yh,UAe as zh,bi as Ah,RC as Bh,XAe as Ch};
202
+ `),metadata:{supersededMessageCount:e.skippedMessages.length,supersededMessageIds:e.skippedMessages.map((r)=>r.id).filter((r)=>r!==void 0)}}}function PAe(e){let t=e.text.trim(),n=e.authorName?.trim();return n?`- ${n}: ${t}`:`- ${t}`}async function jAe(e){let{entityType:t,title:n,deriveId:r,regeneratePrompt:o,context:i}=e,s=r(n),c=await i.entityService.getEntity({entityType:t,id:s});if(!c||c.metadata.status==="generating")return n;i.logger.debug(`Entity ID collision: ${t}/${s}, asking AI for a new title`);let l=a.object({title:a.string().max(80).describe("A short, unique title (2-6 words)")}),{object:u}=await i.ai.generateObject(`The title "${n}" is already taken. ${o}`,l),p=u.title;return i.logger.debug(`AI suggested new title: "${p}"`),p}class vC{tail=Promise.resolve();run(e){let t=this.tail.then(()=>e());return this.tail=t.then(()=>{return},()=>{return}),t}async settle(){await this.tail}}var BAe="current";class x7{store;schema;createEmpty;key;queue=new vC;statePromise;constructor(e){this.store=e.runtimeState.scoped({namespace:e.namespace,schema:e.schema}),this.schema=e.schema,this.createEmpty=e.createEmpty,this.key=e.key??BAe}mutate(e){return this.queue.run(async()=>{let t=await this.load(),n=await e(t);return await this.persist(t),n})}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((e)=>e??this.createEmpty()),this.statePromise}async persist(e){await this.store.set(this.key,this.schema.parse(e))}}var Y0=ai.extend({id:a.literal("brain-character"),entityType:a.literal("brain-character")}),wC=a.object({name:a.string().describe("The brain's friendly display name"),role:a.string().describe("The brain's primary role"),purpose:a.string().describe("The brain's purpose and goals"),values:a.array(a.string()).describe("Core values that guide behavior")});var LAe=a.record(a.string(),a.unknown());class zy extends nl{generateFrontMatter(e){let t=this.parseFrontmatter(e.content);return this.buildMarkdown("",LAe.parse(t))}}class TC extends zy{constructor(){super({entityType:"brain-character",purpose:"The brain's own identity, character, and purpose (singleton).",schema:Y0,frontmatterSchema:wC,isSingleton:!0,hasBody:!1})}createCharacterContent(e){return this.buildMarkdown("",e)}parseCharacterBody(e){return this.parseFrontmatter(e)}toMarkdown(e){return this.generateFrontMatter(e)}fromMarkdown(e){return{content:e,entityType:"brain-character"}}extractMetadata(e){let t=this.parseFrontmatter(e.content);return{role:t.role,values:t.values}}}class Fy extends pT{codec;constructor(e,t,n,r,o,i){super(e,t,n,r,Ds(o));this.codec=i}parseBody(e){return this.codec.parse(e)}createContent(e){return this.codec.create(e)}}class CC extends Fy{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(e,t,n){return new CC(e,t,n)}constructor(e,t,n){let r=new TC;super(e,t,"brain-character",n??CC.getDefaultCharacter(),"brain character is loaded at bootstrap before any user is in scope",{parse:(o)=>r.parseCharacterBody(o),create:(o)=>r.createCharacterContent(o)})}getCharacter(){return this.get()}getCharacterContent(){return this.getContent()}}var X0=ai.extend({id:a.literal("anchor-profile"),entityType:a.literal("anchor-profile")}),S7=a.enum(["person","team","organization"]),dp=a.object({name:a.string().describe("Name of the anchor"),organization:a.string().optional().describe("Organization the anchor belongs to"),description:a.string().optional().describe("Short description or biography"),avatar:a.string().optional().describe("URL or asset path to avatar/logo"),website:a.string().optional().describe("Primary website URL"),email:a.string().optional().describe("Contact email"),socialLinks:a.array(a.object({platform:a.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:a.string().describe("Profile or contact URL"),label:a.string().optional().describe("Optional display label")})).optional().describe("Social media and contact links")});class EC extends zy{constructor(){super({entityType:"anchor-profile",purpose:"The profile of the brain's Anchor (singleton).",schema:X0,frontmatterSchema:dp,isSingleton:!0,hasBody:!0})}createProfileContent(e){let t=dp.parse(e);return this.buildMarkdown("",t)}parseProfileBody(e,t){if(t){let{metadata:n,content:r}=nr(e,t);return r?{...n,story:r}:n}return this.parseFrontmatter(e)}fromMarkdown(e){return{content:e,entityType:"anchor-profile"}}extractMetadata(e){let t=this.parseFrontmatter(e.content);return{name:t.name,email:t.email,website:t.website}}}class Ny extends Fy{static getDefaultProfile(){return{name:"Unknown"}}static createFresh(e,t,n){return new Ny(e,t,n)}constructor(e,t,n){let r=new EC;super(e,t,"anchor-profile",n??Ny.getDefaultProfile(),"anchor profile is loaded at bootstrap before any user is in scope",{parse:(o)=>r.parseProfileBody(o),create:(o)=>r.createProfileContent(o)})}getProfile(){return this.get()}getProfileContent(){return this.getContent()}}var IC=a.enum(["person","team","organization"]),qAe=a.object({kind:a.string().trim().min(1),category:IC,labels:a.object({singular:a.string().trim().min(1),plural:a.string().trim().min(1)})});function ZAe(e){if(typeof e!=="object"||e===null||!("shape"in e)||!("safeParse"in e)||typeof e.safeParse!=="function")throw Error("Profile kind fields must be a Zod object schema")}class v7{selectedKind;registrations=new Map;finalized=!1;resolved=null;selectedDefinition;constructor(e){let t=e?.trim();this.selectedKind=t===""?void 0:t}register(e,t){if(this.finalized)throw Error("Profile kind registration is closed");let n=qAe.parse(t);ZAe(t.fields);let r=Object.freeze({...t,kind:n.kind,category:n.category,labels:Object.freeze({...n.labels})}),o=this.registrations.get(n.kind)??[];o.push({pluginId:e,definition:r}),this.registrations.set(n.kind,o)}unregisterPlugin(e){for(let[t,n]of this.registrations){let r=n.filter((o)=>o.pluginId!==e);if(r.length===0)this.registrations.delete(t);else this.registrations.set(t,r)}}finalize(){if(this.finalized)return this.resolved;let t=[...this.registrations.entries()].filter(([,r])=>r.length>1).sort(([r],[o])=>r.localeCompare(o))[0];if(t){let[r,o]=t,i=o.map((s)=>s.pluginId).sort().join(", ");throw Error(`Profile kind "${r}" is registered by multiple plugins: ${i}`)}if(!this.selectedKind)return this.finalized=!0,this.resolved=null,null;let n=this.registrations.get(this.selectedKind)?.[0];if(!n)throw Error(`Selected profile kind "${this.selectedKind}" is not registered`);return this.selectedDefinition=n.definition,this.resolved=Object.freeze({kind:n.definition.kind,category:n.definition.category,labels:Object.freeze({...n.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 w7=30000;class tz{logger;resolver;links=[];actorIndex=new Map;negativeActorIndex=new Map;static createFresh(e,t){return new tz(e,t)}constructor(e,t){this.logger=e.child("CanonicalIdentityService"),this.resolver=t}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(e){let t=ez(e),n=this.actorIndex.get(t);if(!n)return null;if(n.expiresAt<=Date.now())return this.actorIndex.delete(t),null;return n.resolution}async enrichActor(e){if(e.identity.kind==="user"&&e.identity.canonicalId||e.role!=="user")return e;let t=this.resolveActor(e.identity);if(t)return this.enrichedActor(e,t);let n=ez(e.identity),r=this.negativeActorIndex.get(n);if(r&&r>Date.now())return e;this.negativeActorIndex.delete(n);let o=await this.resolver?.(e.identity);if(!o)return this.negativeActorIndex.set(n,Date.now()+w7),e;let i={identity:e.identity,...e.displayName?{label:e.displayName}:{}},s={...o,actors:[i],matchedActor:i};return this.actorIndex.set(n,{resolution:s,expiresAt:Date.now()+w7}),this.links=[...this.links.filter((c)=>c.userId!==s.userId),s],this.enrichedActor(e,s)}enrichedActor(e,t){return{...e,identity:{kind:"user",userId:t.userId,canonicalId:t.canonicalId},...t.displayName?{displayName:t.displayName}:{}}}}var T7="https://rizom.ai/ext/anchor-profile/v1",C7=a.looseObject({id:a.string(),description:a.string(),name:a.string().optional(),tags:a.array(a.string()).optional().default([])}),E7=dp.extend({kind:a.string().trim().min(1).optional(),category:IC.optional()}).superRefine((e,t)=>{if(e.kind===void 0!==(e.category===void 0))t.addIssue({code:"custom",message:"Anchor kind and category must be provided together"})}),$Ae=a.looseObject({uri:a.string(),params:a.record(a.string(),a.unknown()).optional()}),I7=a.looseObject({name:a.string(),url:a.string(),description:a.string().optional(),skills:a.array(C7).optional().default([]),capabilities:a.looseObject({extensions:a.array($Ae).optional().default([])}).optional()});function UAe(e){let t=I7.safeParse(e);if(!t.success)return null;let n=t.data,o=(n.capabilities?.extensions??[]).find((s)=>s.uri===T7),i=null;if(o?.params){let s=E7.safeParse(o.params);if(s.success)i=s.data}return{brainName:n.name,url:n.url,description:n.description??"",skills:n.skills.map((s)=>({id:s.id,name:s.name??s.id,description:s.description,tags:s.tags})),anchor:i}}import{EventEmitter as P7}from"events";var sn={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},yi={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class bi extends Error{pluginId;constructor(e,t){super(`Plugin ${e}: ${t}`);this.name="PluginError",this.pluginId=e}}function Zs(e,t){return Reflect.get(e,t,e)}function $s(e,t,n){if(typeof e!=="function")throw TypeError("Cannot apply a non-callable trapped member");return Reflect.apply(e,t,n)}class nz{scope;ingress=new Set;closePromise=null;closed=!1;constructor(){this.scope=de.runSync(Xt.make())}addFinalizer(e){if(this.closed)throw Error("Cannot register a resource after plugin teardown");de.runSync(Xt.addFinalizer(this.scope,de.promise(async()=>{await e()})))}addIngress(e){if(this.closed)throw Error("Cannot register ingress after plugin teardown");this.ingress.add(e)}close(e=jt.void){return this.closed=!0,this.closePromise??=this.closeScope(e),this.closePromise}async closeScope(e){let t,n=!1,r=[...this.ingress].reverse();for(let c of r)try{c.stopAdmission()}catch(l){if(!n)t=l;n=!0}let o=await Promise.allSettled(r.map((c)=>Promise.resolve().then(()=>c.drain())));this.ingress.clear();let i=o.find((c)=>c.status==="rejected");if(!n&&i)t=i.reason,n=!0;let s=await de.runPromiseExit(Xt.close(this.scope,e));if(!n&&jt.isFailure(s))t=ri.squash(s.cause),n=!0;if(n)throw t}}function k7(e,t){let n=e.getMessageBus(),r=new Set,o={send:(te)=>n.send(te),hasHandlers:(te)=>n.hasHandlers?.(te)??!1,subscribe:(te,ce,Y)=>{let G=!0,me=new Set,xe=(ft)=>{if(!G)return{noop:!0};let bn,C=new Promise((E)=>{bn=E});me.add(C);let Lt=()=>{me.delete(C),bn()},Jn;try{Jn=Promise.resolve(ce(ft))}catch(E){throw Lt(),E}return Jn.then((E)=>(Lt(),E),(E)=>{throw Lt(),E})},se=n.subscribe(te,xe,Y),Qe={type:te,originalHandler:ce,stopAdmission:()=>{if(!G)return;G=!1,se(),r.delete(Qe)}};r.add(Qe);try{t.addIngress({stopAdmission:Qe.stopAdmission,drain:async()=>{await Promise.all(me)}})}catch(ft){throw Qe.stopAdmission(),ft}return Qe.stopAdmission},unsubscribe:(te,ce)=>{let Y=[...r].filter((G)=>G.type===te&&G.originalHandler===ce);if(Y.length===0){n.unsubscribe(te,ce);return}for(let G of Y)G.stopAdmission()},collect:(te)=>n.collect(te),validateMessage:(te,ce)=>n.validateMessage(te,ce),getHandlerCount:(te)=>n.getHandlerCount(te),getTargetedHandlerCount:(te,ce)=>n.getTargetedHandlerCount(te,ce),clearHandlers:(te)=>n.clearHandlers(te),clearAllHandlers:()=>n.clearAllHandlers()},i=e.getAttachmentRegistry(),s={...i,register:(te,ce,Y)=>{let G=!0,me=i.register(te,ce,Y),xe=()=>{if(!G)return;G=!1,me()};return t.addFinalizer(xe),xe}},c=e.getEntityRegistry(),l=new Proxy(c,{get(te,ce){let Y=Zs(te,ce);if(ce==="registerEntityType"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterEntityType(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),u=e.getProfileKindRegistry(),p=new Proxy(u,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),d=e.getChannelRegistry(),g=new Proxy(d,{get(te,ce){let Y=Zs(te,ce);if((ce==="registerDescriptor"||ce==="registerDeliveryProvider")&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),f=e.getInboxRegistry(),v=new Proxy(f,{get(te,ce){let Y=Zs(te,ce);if(ce==="registerSource"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),w=e.getInboxFollowUpRegistry(),I=new Proxy(w,{get(te,ce){let Y=Zs(te,ce);if(ce==="registerKind"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),A=e.getAccountSettingsRegistry(),L=new Proxy(A,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G);return t.addFinalizer(()=>{$s(te.unregister,te,[me])}),me};return typeof Y==="function"?Y.bind(te):Y}}),N=e.getOperationalHealthRegistry(),re=new Proxy(N,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregisterPlugin(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),Ee=e.getDataSourceRegistry(),D=new Proxy(Ee,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="object"&&xe!==null&&"id"in xe&&typeof xe.id==="string"){let se=xe.id.includes(":")?xe.id:`shell:${xe.id}`;t.addFinalizer(()=>te.unregister(se))}return me};return typeof Y==="function"?Y.bind(te):Y}}),Ce=e.getInsightsRegistry(),ke=new Proxy(Ce,{get(te,ce){let Y=Zs(te,ce);if(ce==="register"&&typeof Y==="function")return(...G)=>{let me=$s(Y,te,G),xe=G[0];if(typeof xe==="string")t.addFinalizer(()=>te.unregister(xe));return me};return typeof Y==="function"?Y.bind(te):Y}}),Me=new Proxy(e,{get(te,ce){if(ce==="getMessageBus")return()=>o;if(ce==="getAttachmentRegistry")return()=>s;if(ce==="getEntityRegistry")return()=>l;if(ce==="getDataSourceRegistry")return()=>D;if(ce==="getProfileKindRegistry")return()=>p;if(ce==="getChannelRegistry")return()=>g;if(ce==="getInboxRegistry")return()=>v;if(ce==="getInboxFollowUpRegistry")return()=>I;if(ce==="getOperationalHealthRegistry")return()=>re;if(ce==="getAccountSettingsRegistry")return()=>L;if(ce==="getInsightsRegistry")return()=>ke;let Y=Zs(te,ce);return typeof Y==="function"?Y.bind(te):Y}});return gY(e,Me),Me}class rz{plugins;events;daemonRegistry;logger;projectionRegistry;resourceScopes=new Map;releasePromises=new Map;constructor(e,t,n,r,o){this.plugins=e,this.events=t,this.daemonRegistry=n,this.projectionRegistry=r,this.logger=o.child("PluginLifecycle")}async initializePlugin(e,t,n){let r=this.plugins.get(e);if(!r)throw new bi(e,"Registration failed: Plugin is not registered");let o=r.plugin,i=new nz;i.addFinalizer(()=>t.unregisterPluginCapabilities?.(e)),i.addFinalizer(()=>t.getJobQueueService().unregisterPluginHandlers(e)),i.addFinalizer(()=>this.projectionRegistry.unregisterPlugin(e)),this.resourceScopes.set(e,i),this.releasePromises.delete(e),this.logger.debug(`Initializing plugin: ${e}`);try{this.events.emit(yi.BEFORE_INITIALIZE,e,o);let s=await o.register(k7(t,i),n);return r.status=sn.INITIALIZED,this.logger.debug(`Initialized plugin: ${e}`),this.events.emit(yi.INITIALIZED,e,o),s}catch(s){throw this.logger.error(`Error initializing plugin ${e}: ${et(s)}`),await this.failPluginInitialization(e,s),s}}async finalizePluginRegistration(e){let t=this.plugins.get(e);if(!t)throw new bi(e,"Registration finalization failed: Plugin is not registered");if(t.status!==sn.INITIALIZED)return;try{await t.plugin.finalizeRegistration?.(),this.logger.debug(`Registration finalized for plugin: ${e}`)}catch(n){throw await this.failPluginInitialization(e,n),n}}async readyPlugin(e){let t=this.plugins.get(e);if(!t)throw new bi(e,"Ready failed: Plugin is not registered");if(t.status!==sn.INITIALIZED){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${e}`);return}try{await t.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${e}`)}catch(n){let r=Rm(n);t.status=sn.ERROR,t.error=r;try{this.events.emit(yi.ERROR,e,r)}catch(o){this.logger.error(`Plugin error listener failed for ${e}`,o)}throw r}}async startPluginDaemons(e){let t=this.plugins.get(e);if(t?.status!==sn.INITIALIZED)return;try{await this.daemonRegistry.startPlugin(e),this.logger.debug(`Started daemons for plugin: ${e}`)}catch(n){if(t.plugin.requiresDaemonStartup?.())throw n;this.logger.warn(`Daemon ${e} failed to start: ${et(n)}`)}}async failPluginInitialization(e,t){let n=this.plugins.get(e);if(!n)return;let r=n.status!==sn.ERROR,o=Rm(t);if(n.status=sn.ERROR,n.error=o,await this.releasePluginResources(e,jt.fail(t)),r)try{this.events.emit(yi.ERROR,e,o)}catch(i){this.logger.error(`Plugin error listener failed for ${e}`,i)}}async disablePlugin(e){let t=this.plugins.get(e);if(!t){this.logger.warn(`Cannot disable plugin ${e}: not registered`);return}if(t.status===sn.DISABLED)return;this.logger.debug(`Disabling plugin: ${e}`);let n=t.status===sn.ERROR;await this.releasePluginResources(e,jt.void);let r=this.plugins.get(e);if(!n&&r&&r.status!==sn.DISABLED)r.status=sn.DISABLED,this.events.emit(yi.DISABLED,e,r.plugin);this.logger.debug(`Disabled plugin: ${e}`)}releasePluginResources(e,t){let n=this.releasePromises.get(e);if(n)return n;let r=this.releasePluginResourcesOnce(e,t);return this.releasePromises.set(e,r),r}async releasePluginResourcesOnce(e,t){let n=this.plugins.get(e);if(!n)return;try{await this.daemonRegistry.stopPlugin(e),this.logger.debug(`Stopped daemons for plugin: ${e}`)}catch(o){this.logger.error(`Failed to stop daemons for plugin: ${e}`,o)}let r=this.resourceScopes.get(e);if(this.resourceScopes.delete(e),r)try{await r.close(t)}catch(o){this.logger.error(`Failed to close resources for plugin ${e}`,o)}if(n.plugin.shutdown)try{await n.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${e}`)}catch(o){this.logger.error(`Plugin shutdown failed for ${e}:`,o)}for(let o of this.daemonRegistry.getByPlugin(e))try{await this.daemonRegistry.unregister(o.name)}catch(i){this.logger.error(`Failed to unregister daemon ${o.name} for plugin ${e}`,i)}}}class oz{plugins;events;logger;constructor(e,t,n){this.plugins=e,this.events=t,this.logger=n.child("DependencyResolver")}async resolveInitializationOrder(e){this.logger.debug("Resolving plugin initialization order...");let t=Array.from(this.plugins.keys()),n=new Set,r=!0;while(r&&n.size<t.length){r=!1;for(let s of t){if(n.has(s))continue;if(!this.plugins.get(s))continue;if(this.getUnmetDependencies(s).length===0)try{await e(s),n.add(s),r=!0}catch(u){let p=et(u);this.logger.error(`Failed to initialize plugin ${s}: ${p}`),n.add(s),r=!0}}}let o=t.filter((s)=>!n.has(s));if(o.length>0){let s=o.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${s}`);for(let c of o){let l=this.getUnmetDependencies(c);this.logger.error(`Plugin ${c} has unmet dependencies: ${l.join(", ")}`);let u=this.plugins.get(c);if(u)u.status=sn.ERROR,u.error=new bi(c,`Unmet dependencies: ${l.join(", ")}`);this.events.emit(yi.ERROR,c,u?.error)}}let i=new Set;for(let[s,c]of this.plugins)if(c.status===sn.INITIALIZED)i.add(s);return this.logger.debug(`Resolved ${i.size} of ${t.length} plugins`),{initialized:i,failed:o}}getUnmetDependencies(e){let t=this.plugins.get(e);if(!t)return[];let{dependencies:n}=t,r=[];for(let o of n){let i=this.plugins.get(o);if(!i){r.push(o);continue}if(i.status!==sn.INITIALIZED)r.push(o)}return r}}class iz{logger;projectionRegistry;constructor(e,t){this.logger=e.child("CapabilityRegistrar"),this.projectionRegistry=t}async registerCapabilities(e,t,n,r){if(!r?.executionOnly&&n.tools.length>0)e.registerTools(t,n.tools),this.logger.debug(`Registered ${n.tools.length} tools from ${t}`);if(!r?.executionOnly&&n.resources.length>0)e.registerResources(t,n.resources),this.logger.debug(`Registered ${n.resources.length} resources from ${t}`);if(!r?.executionOnly&&n.instructions)e.registerInstructions(t,n.instructions),this.logger.debug(`Registered instructions from ${t}`);let o=n.projectionRules??[];try{for(let i of o)this.projectionRegistry.registerRule(t,i)}catch(i){throw this.projectionRegistry.unregisterPlugin(t),i}if(o.length>0)this.logger.debug(`Registered ${o.length} projection rules from ${t}`)}}class kC{projections=new Map;rules=new Map;static createFresh(){return new kC}constructor(){}registerRule(e,t){if(!Object.isFrozen(t))throw Error(`Projection rule "${t.id}" must be created with defineProjectionRule`);let n=this.projections.get(t.id);if(n)throw Error(`Projection "${t.id}" is already registered by "${n.pluginId}"`);let r={id:t.id,pluginId:e,targetType:t.targetType,sources:t.sources.map((i)=>({kind:i.kind,types:[...i.types],...i.excludeTypes?{excludeTypes:[...i.excludeTypes]}:{}}))};this.projections.set(t.id,r),this.rules.set(t.id,t);let o=!0;return()=>{if(!o)return;if(o=!1,this.rules.get(t.id)===t)this.rules.delete(t.id);if(this.projections.get(t.id)===r)this.projections.delete(t.id)}}unregisterPlugin(e){for(let[t,n]of this.projections)if(n.pluginId===e)this.projections.delete(t),this.rules.delete(t)}list(){return Array.from(this.projections.values()).sort((e,t)=>e.id.localeCompare(t.id)).map(JAe)}listRules(){return[...this.rules.values()].sort((e,t)=>e.id.localeCompare(t.id))}validate(e){let t=this.list(),n=new Set(e.map(({type:s})=>s));for(let s of t)if(!n.has(s.targetType))throw Error(`Projection "${s.id}" targets unregistered entity type "${s.targetType}"`);let r=e.filter(({projectionSource:s})=>s).map(({type:s})=>s).sort(),o=VAe(t,r),i=QAe(t,o)[0];if(i){let s=KAe(i,o);throw Error(`Projection cycle is not supported: ${[...s,s[0]].join(" -> ")}`)}return HAe({projections:t,edges:o,unknownSourceTypes:WAe(t,n)})}}function WAe(e,t){let n=[];for(let r of e){let o=[...new Set(r.sources.flatMap((i)=>[...i.types,...i.excludeTypes??[]]).filter((i)=>i!=="*"&&!t.has(i)))].sort();if(o.length>0)n.push({projectionId:r.id,types:o})}return n}function HAe(e){for(let t of e.projections){for(let n of t.sources){if(Object.freeze(n.types),n.excludeTypes)Object.freeze(n.excludeTypes);Object.freeze(n)}Object.freeze(t.sources),Object.freeze(t)}for(let t of e.edges)Object.freeze(t.causes),Object.freeze(t);for(let t of e.unknownSourceTypes)Object.freeze(t.types),Object.freeze(t);return Object.freeze(e.unknownSourceTypes),Object.freeze(e.projections),Object.freeze(e.edges),Object.freeze(e)}function JAe(e){return{...e,sources:e.sources.map((t)=>({...t,types:[...t.types],...t.excludeTypes?{excludeTypes:[...t.excludeTypes]}:{}}))}}function VAe(e,t){let n=new Map;for(let r of e)for(let o of e){let i=GAe(r,o,t);if(i.length===0)continue;n.set(`${r.id}\x00${o.id}`,new Set(i))}return Array.from(n,([r,o])=>{let[i="",s=""]=r.split("\x00");return{from:i,to:s,causes:[...o].sort()}}).sort((r,o)=>r.from.localeCompare(o.from)||r.to.localeCompare(o.to))}function GAe(e,t,n){let r=[];for(let o of t.sources){let i=new Set(o.excludeTypes??[]);if((o.types.includes("*")?[...o.types.filter((c)=>c!=="*"),...n]:o.types).includes(e.targetType)&&!i.has(e.targetType))r.push(`entity:${e.targetType}`)}return[...new Set(r)]}function QAe(e,t){let n=e.map(({id:d})=>d).sort(),r=R7(n,t),o=new Map,i=new Map,s=[],c=new Set,l=[],u=0,p=(d)=>{o.set(d,u),i.set(d,u),u++,s.push(d),c.add(d);for(let w of r.get(d)??[])if(!o.has(w))p(w),i.set(d,Math.min(i.get(d)??0,i.get(w)??0));else if(c.has(w))i.set(d,Math.min(i.get(d)??0,o.get(w)??0));if(i.get(d)!==o.get(d))return;let g=[],f;do{if(f=s.pop(),!f)break;c.delete(f),g.push(f)}while(f!==d);let v=r.get(d)?.includes(d)??!1;if(g.length>1||v)l.push(g.sort())};for(let d of n)if(!o.has(d))p(d);return l.sort((d,g)=>(d[0]??"").localeCompare(g[0]??""))}function KAe(e,t){let n=new Set(e),r=R7(e,t),o=[...e].sort()[0];if(!o)return[];if(r.get(o)?.includes(o))return[o];let i=(s,c)=>{for(let l of r.get(s)??[]){if(!n.has(l))continue;if(l===o)return c;if(c.includes(l))continue;let u=i(l,[...c,l]);if(u)return u}return};return i(o,[o])??[...e].sort()}function R7(e,t){let n=new Map;for(let r of e)n.set(r,[]);for(let r of t){let o=n.get(r.from);if(o&&!o.includes(r.to))o.push(r.to)}for(let r of n.values())r.sort();return n}async function A7(e){let n=(await de.runPromise(de.all(e.map((r)=>de.either(de.tryPromise({try:r,catch:(o)=>o}))),{concurrency:"unbounded"}))).find(Fr.isLeft);if(n)throw n.left}class RC{plugins=new Map;logger;events=new P7;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=kC.createFresh();projectionGraph;static createFresh(e,t){return new RC(e,t)}setShell(e){this.shell=e}constructor(e,t){this.logger=e.child("PluginManager"),this.events=new P7,this.daemonRegistry=t,this.pluginLifecycle=new rz(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,e),this.dependencyResolver=new oz(this.plugins,this.events,e),this.capabilityRegistrar=new iz(e,this.projectionRegistry)}registerPlugin(e){if(!e.id)throw new bi("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${e.id} (${e.version})`),this.plugins.has(e.id)){let o=this.plugins.get(e.id)?.plugin.version;throw new bi(e.id,`Registration failed: Plugin is already registered with version ${o}`)}let t=e.dependencies??[],n={plugin:e,status:sn.REGISTERED,dependencies:t};this.plugins.set(e.id,n),this.logger.debug(`Registered plugin: ${e.id} (${e.version})`),this.events.emit(yi.REGISTERED,e.id,e)}async initializePlugins(e){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let t=await this.dependencyResolver.resolveInitializationOrder(async(n)=>{await this.initializePlugin(n,e)});this.logger.debug(`Initialized ${t.initialized.size} of ${this.plugins.size} plugins`)}async initializePlugin(e,t){if(!this.shell)throw new bi(e,"Cannot initialize plugin: Shell not set. Call setShell() first.");let n=this.shell;try{let r=await this.pluginLifecycle.initializePlugin(e,n,t);await this.capabilityRegistrar.registerCapabilities(n,e,r,{executionOnly:t?.executionOnly}),this.initializedPluginIds.push(e)}catch(r){throw await this.pluginLifecycle.failPluginInitialization(e,r),r}}async finalizePluginRegistrations(){this.logger.debug("Finalizing plugin registrations...");for(let n of this.initializedPluginIds)await this.pluginLifecycle.finalizePluginRegistration(n);if(!this.shell)throw Error("Cannot validate projections before the shell is set");let e=this.shell.getEntityRegistry(),t=this.projectionRegistry.validate(e.getAllEntityTypes().map((n)=>{let r=e.getEntityTypeConfig(n);return{type:n,projectionSource:r.projectionSource!==!1&&r.projectionSourceRole!=="excluded"}}));this.projectionGraph=t;for(let n of t.unknownSourceTypes)this.logger.warn("Projection declares entity source types no installed plugin registers",{projectionId:n.projectionId,types:n.types});this.logger.debug("Validated projection graph",{projections:t.projections.length,edges:t.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 A7(this.initializedPluginIds.map((e)=>()=>this.pluginLifecycle.readyPlugin(e)))}catch(e){for(let t of this.initializedPluginIds){let n=this.plugins.get(t);if(n?.status===sn.ERROR)await this.pluginLifecycle.failPluginInitialization(t,n.error??e)}throw e}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await A7(this.initializedPluginIds.map((e)=>()=>this.pluginLifecycle.startPluginDaemons(e)))}getPlugin(e){return this.plugins.get(e)?.plugin}getPluginStatus(e){return this.plugins.get(e)?.status}hasPlugin(e){return this.plugins.has(e)}isPluginInitialized(e){return this.plugins.get(e)?.status===sn.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter((e)=>e[1].status===sn.ERROR&&e[1].error!==void 0).map(([e,t])=>({id:e,error:t.error}))}getPluginPackageName(e){return this.plugins.get(e)?.plugin.packageName}async disablePlugin(e){await this.pluginLifecycle.disablePlugin(e)}async shutdownPlugins(){let e=new Set;for(let t of[...this.initializedPluginIds].reverse())await this.disablePlugin(t),e.add(t);for(let t of[...this.plugins.keys()].reverse())if(!e.has(t))await this.disablePlugin(t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}getEventEmitter(){return this.events}}var O7={public:0,trusted:1,admin:2},YAe=[{id:"dashboard",pluginId:"dashboard",label:"Dashboard",visibility:"public",requiresActiveSession:!1},{id:"web-chat",pluginId:"web-chat",label:"Chat",visibility:"trusted",requiresActiveSession:!0},{id:"studio",pluginId:"studio",label:"Studio",visibility:"public",requiresActiveSession:!0}];function XAe(e,t){let n=O7[t.permissionLevel??"public"],r=[];for(let{id:o,pluginId:i,label:s,visibility:c,requiresActiveSession:l}of YAe){let u=t.self?.id===o;if(!u&&(n<O7[c]||l&&t.hasActiveSession!==!0))continue;let p=e.filter((f)=>f.pluginId===i&&!(o==="studio"&&f.fullPath==="/chat")).map((f)=>f.fullPath).sort((f,v)=>f.length-v.length),d=o==="web-chat"&&p.length>0?e.find((f)=>f.pluginId==="studio"&&f.fullPath==="/chat")?.fullPath:void 0,g=u?t.self?.href:d??p[0];if(g!==void 0)r.push({id:o,label:s,href:g,isActive:o===t.activeId,...l?{requiresActiveSession:!0}:{}})}return r}export{Ka as ta,iy as ua,YM as va,XM as wa,C5 as xa,E5 as ya,I5 as za,k5 as Aa,pEe as Ba,dEe as Ca,yT as Da,fEe as Ea,Em as Fa,k as Ga,Va as Ha,b as Ia,ge as Ja,y as Ka,gr as La,kK as Ma,Ga as Na,Mo as Oa,Vr as Pa,$h as Qa,we as Ra,kn as Sa,Ke as Ta,OK as Ua,DK as Va,ot as Wa,mm as Xa,fm as Ya,gl as Za,s3 as _a,Kw as $a,Sm as ab,BD as bb,LD as cb,QD as db,oT as eb,aM as fb,uT as gb,Im as hb,GCe as ib,QCe as jb,hEe as kb,p6 as lb,A5 as mb,bEe as nb,Vm as ob,eOe as pb,tOe as qb,PC as rb,nOe as sb,rOe as tb,oOe as ub,iOe as vb,sOe as wb,aOe as xb,cOe as yb,lOe as zb,km as Ab,Fet as Bb,ui as Cb,REe as Db,At as Eb,W2e as Fb,bT as Gb,S as Hb,rm as Ib,O as Jb,il as Kb,oe as Lb,fr as Mb,Za as Nb,wG as Ob,Dr as Pb,It as Qb,rr as Rb,sl as Sb,al as Tb,ow as Ub,st as Vb,dn as Wb,Ph as Xb,qe as Yb,le as Zb,Bt as _b,ll as $b,Ft as ac,dO as bc,Ao as cc,FG as dc,bw as ec,Ui as fc,Wi as gc,FQ as hc,GSe as ic,QSe as jc,V as kc,kt as lc,iD as mc,sD as nc,Pve as oc,Ave as pc,vl as qc,u_ as rc,Fr as sc,Rt as tc,An as uc,ri as vc,bu as wc,jt as xc,Xt as yc,oi as zc,de as Ac,Wr as Bc,Lu as Cc,Sh as Dc,Ts as Ec,mqe as Fc,p_ as Gc,d_ as Hc,m_ as Ic,ly as Jc,uy as Kc,f_ as Lc,g_ as Mc,W5 as Nc,h_ as Oc,HEe as Pc,fo as Qc,xT as Rc,ST as Sc,Ont as Tc,Dnt as Uc,JEe as Vc,Mnt as Wc,znt as Xc,tIe as Yc,Fnt as Zc,Nnt as _c,jnt as $c,Bnt as ad,Lnt as bd,qnt as cd,Znt as dd,$nt as ed,Unt as fd,cIe as gd,Wnt as hd,Hnt as id,lIe as jd,uIe as kd,Vnt as ld,Gnt as md,Qnt as nd,Knt as od,Ynt as pd,Xnt as qd,ert as rd,trt as sd,Ie as td,Nn as ud,cp as vd,Xa as wd,i4 as xd,s4 as yd,fIe as zd,wT as Ad,FA as Bd,gSe as Cd,hSe as Dd,NA as Ed,jA as Fd,my as Gd,CT as Hd,T_ as Id,xIe as Jd,E_ as Kd,kT as Ld,C_ as Md,I_ as Nd,_ as Od,Fn as Pd,hn as Qd,mn as Rd,Oo as Sd,$a as Td,yt as Ud,di as Vd,NQ as Wd,Ds as Xd,Es as Yd,Is as Zd,Qv as _d,Rs as $d,Xd as ae,ai as be,WV as ce,Cqe as de,Eqe as ee,La as fe,nr as ge,Jv as he,Kd as ie,$V as je,vw as ke,ww as le,jO as me,BO as ne,LO as oe,qO as pe,ZO as qe,$O as re,lm as se,Wa as te,HO as ue,Ji as ve,pD as we,dD as xe,Ja as ye,Mw as ze,vK as Ae,ml as Be,wK as Ce,YVe as De,XVe as Ee,_w as Fe,d6 as Ge,nl as He,qA as Ie,PCe as Je,m6 as Ke,dT as Le,lM as Me,f6 as Ne,pM as Oe,g6 as Pe,wIe as Qe,RT as Re,TIe as Se,OT as Te,w6 as Ue,P6 as Ve,vM as We,kM as Xe,S5 as Ye,LT as Ze,P_ as _e,fy as $e,O_ as af,ePe as bf,M_ as cf,tPe as df,nPe as ef,rPe as ff,lRe as gf,Lm as hf,r8 as if,a8 as jf,P0 as kf,Qr as lf,rC as mf,l8 as nf,D0 as of,g8 as pf,Py as qf,h8 as rf,Zm as sf,y8 as tf,yPe as uf,b8 as vf,x8 as wf,RPe as xf,v8 as yf,MPe as zf,_Pe as Af,zPe as Bf,FPe as Cf,_0 as Df,rc as Ef,$Pe as Ff,z0 as Gf,B0 as Hf,WPe as If,sr as Jf,AIe as Kf,OIe as Lf,DIe as Mf,_Ie as Nf,$4 as Of,H4 as Pf,t9 as Qf,V_ as Rf,r9 as Sf,eY as Tf,Xke as Uf,rRe as Vf,i9 as Wf,a9 as Xf,q_ as Yf,cRe as Zf,Est as _f,lY as $f,$T as ag,l0 as bg,u0 as cg,wY as dg,qm as eg,HT as fg,JT as gg,Ey as hg,VT as ig,AY as jg,Iy as kg,wRe as lg,TRe as mg,CRe as ng,ERe as og,IRe as pg,ky as qg,Ry as rg,JPe as sg,O8 as tg,F8 as ug,qRe as vg,WRe as wg,XT as xg,LY as yg,qY as zg,HRe as Ag,N8 as Bg,tC as Cg,I0 as Dg,XRe as Eg,j8 as Fg,$m as Gg,Z8 as Hg,$8 as Ig,U8 as Jg,W8 as Kg,J8 as Lg,Z0 as Mg,$0 as Ng,K8 as Og,U0 as Pg,pC as Qg,e7 as Rg,dC as Sg,W0 as Tg,t7 as Ug,n7 as Vg,o7 as Wg,i7 as Xg,mC as Yg,c7 as Zg,l7 as _g,gC as $g,Dy as ah,My as bh,u7 as ch,p7 as dh,d7 as eh,K0 as fh,_y as gh,f7 as hh,g7 as ih,h7 as jh,y7 as kh,b7 as lh,jAe as mh,vC as nh,x7 as oh,wC as ph,TC as qh,CC as rh,S7 as sh,dp as th,EC as uh,Ny as vh,v7 as wh,tz as xh,T7 as yh,UAe as zh,bi as Ah,RC as Bh,XAe as Ch};
203
203
 
204
- //# debugId=5146AAC95CA226DA64756E2164756E21
205
- //# sourceMappingURL=index-hp3ma2a0.js.map
204
+ //# debugId=A4B59203BCCED10F64756E2164756E21
205
+ //# sourceMappingURL=index-aft95ek4.js.map