@qadanm/opencode-smart-router 0.4.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +168 -0
- package/CONTRIBUTING.md +7 -0
- package/README.md +89 -5
- package/config.example.json +1 -2
- package/dist/npm/index.js +29 -29
- package/docs/INSTALL.md +35 -4
- package/docs/LIMITATIONS.md +19 -2
- package/docs/SHARED-CORE.md +47 -5
- package/package.json +3 -1
- package/src/core/config.ts +25 -8
- package/src/core/models/registry.ts +1 -0
- package/src/core/models/seed.ts +13 -3
- package/src/core/plans/catalog.ts +6 -0
- package/src/core/policy/eligibility.ts +53 -1
- package/src/core/providers/opendesign-models.ts +33 -7
- package/src/core/quota/ledger.ts +31 -0
- package/src/core/routing/engine.ts +61 -2
- package/src/core/types.ts +46 -5
- package/src/gui/index.tsx +5 -0
- package/src/index.ts +15 -30
- package/src/server/containment.ts +131 -0
- package/src/server/controller.ts +261 -137
- package/src/server/shared-core.ts +32 -2
- package/dist/allowance.js +0 -487
- package/dist/gui-experimental.cjs +0 -1
- package/dist/index.js +0 -11111
- package/dist/tui.js +0 -587
package/dist/npm/index.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Gj=Object.defineProperty;var Vj=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Re=(e,t)=>{for(var n in t)Gj(e,n,{get:t[n],enumerable:!0})};var lf={};Re(lf,{define:()=>Jj});function Jj(e){return e}var In={};Re(In,{Agent:()=>In,Color:()=>uL,Event:()=>Vte,ID:()=>dL,Info:()=>Gte,Name:()=>Lk});var ie=(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}}},ex={pipe(){return ie(this,arguments)}},Ss=(function(){function e(){}return e.prototype=ex,e})();var h=function(e,t){if(typeof e=="function")return function(){return e(arguments)?t.apply(this,arguments):n=>t(n,...arguments)};switch(e){case 0:case 1:throw new RangeError(`Invalid arity ${e}`);case 2:return function(n,r){return arguments.length>=2?t(n,r):function(o){return t(o,n)}};case 3:return function(n,r,o){return arguments.length>=3?t(n,r,o):function(s){return t(s,n,r)}};default:return function(){if(arguments.length>=e)return t.apply(this,arguments);let n=arguments;return function(r){return t(r,...n)}}}};var Q=e=>e;var un=e=>()=>e,Va=un(!0),pf=un(!1),ff=un(null),Ln=un(void 0),fi=Ln;function vT(e,...t){return ie(e,t)}function IT(e,t,n,r,o,s,i,c,d){switch(arguments.length){case 1:return e;case 2:return function(){return t(e.apply(this,arguments))};case 3:return function(){return n(t(e.apply(this,arguments)))};case 4:return function(){return r(n(t(e.apply(this,arguments))))};case 5:return function(){return o(r(n(t(e.apply(this,arguments)))))};case 6:return function(){return s(o(r(n(t(e.apply(this,arguments))))))};case 7:return function(){return i(s(o(r(n(t(e.apply(this,arguments)))))))};case 8:return function(){return c(i(s(o(r(n(t(e.apply(this,arguments))))))))};case 9:return function(){return d(c(i(s(o(r(n(t(e.apply(this,arguments)))))))))}}}function Ar(e){let t=new WeakMap;return n=>{let r=t.get(n);if(r!==void 0)return r;let o=e(n);return t.set(n,o),o}}function Fo(e){let t=new WeakMap;return n=>{let r=t.get(n);if(r!==void 0)return r;let o=e(n);return t.set(n,o),o!==n&&t.set(o,o),o}}var Yd=e=>{let t=new Set(Reflect.ownKeys(e));if(e.constructor===Object)return t;e instanceof Error&&t.delete("stack");let n=Object.getPrototypeOf(e),r=n;for(;r!==null&&r!==Object.prototype;){let o=Reflect.ownKeys(r);for(let s=0;s<o.length;s++)t.add(o[s]);r=Object.getPrototypeOf(r)}return t.has("constructor")&&typeof e.constructor=="function"&&n===e.constructor.prototype&&t.delete("constructor"),t},Ja=new WeakSet,Xd=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength);var mi=0,wT=()=>{mi++};function Rr(e){return typeof e=="string"}function eu(e){return typeof e=="number"}function mf(e){return typeof e=="boolean"}function kT(e){return typeof e=="bigint"}function tx(e){return typeof e=="symbol"}function hf(e){return Rr(e)||eu(e)||tx(e)}function ln(e){return typeof e=="function"}function ET(e){return e===void 0}function bs(e){return e!==void 0}function gf(e){return e!=null}function TT(e){return!1}function nx(e){return!0}function qn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function tu(e){return typeof e=="object"&&e!==null||ln(e)}var O=h(2,(e,t)=>tu(e)&&t in e),vs=h(2,(e,t)=>O(e,"_tag")&&e._tag===t);function AT(e){return e instanceof Error}function $o(e){return O(e,Symbol.iterator)||Rr(e)}var Y="~effect/Hash",H=e=>{switch(typeof e){case"number":return Ot(e);case"bigint":return De(e.toString(10));case"string":return De(e);case"function":case"object":{if(e===null)break;if(e instanceof Date)return Number.isNaN(e.getTime())?De("Invalid Date"):De(e.toISOString());if(e instanceof RegExp)return De(e.toString());{if(Ja.has(e))return RT(e);let t=CT.get(e);if(t!==void 0)return t;if(sx.has(e))return wT(),De("[Circular]");sx.add(e);let n=mi,r;try{Y in e?r=e[Y]():typeof e=="function"?r=RT(e):e instanceof DataView?r=po(Xd(e)):Array.isArray(e)||ArrayBuffer.isView(e)?r=po(e):e instanceof Map?r=Qj(e):e instanceof Set?r=Yj(e):r=ru(e)}finally{sx.delete(e)}return n===mi&&CT.set(e,r),r}}}return Ht(DT(De(String(e))))},RT=e=>(ox.has(e)||ox.set(e,Ht(Math.random()*4294967296|0)),ox.get(e)),DT=e=>(e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),e^e>>>16),ce=h(2,(e,t)=>DT(Math.imul(e,2654435761)+Math.imul(t,2246822507))),Ht=e=>e&3221225471|e>>>1&1073741824;var rx=new DataView(new ArrayBuffer(8)),Ot=e=>{let t=e|0;return t===e?Ht(t):(rx.setFloat64(0,e!==e?NaN:e),Ht(ce(rx.getInt32(0),rx.getInt32(4))))},De=e=>{let t=5381,n=e.length;for(;n;)t=t*33^e.charCodeAt(--n);return Ht(t)},nu=(e,t)=>{let n=12289;for(let r of t)n^=ce(H(r),H(e[r]));return Ht(n)},ru=e=>nu(e,Yd(e)),PT=(e,t)=>n=>{let r=e;for(let o of n)r^=t(o);return Ht(r)},po=e=>{let t=6151;for(let n of e)t=ce(t,H(n));return Ht(t)},Qj=PT(De("Map"),([e,t])=>ce(H(e),H(t))),OT=De("Set"),Yj=PT(OT,e=>ce(OT,H(e))),ox=new WeakMap,CT=new WeakMap,sx=new WeakSet;var X="~effect/Equal";function V(){return arguments.length===1?e=>hi(e,arguments[0]):hi(arguments[0],arguments[1])}function hi(e,t){if(e===t)return!0;if(e==null||t==null)return!1;let n=typeof e;return n!==typeof t?!1:n==="number"&&e!==e&&t!==t?!0:n!=="object"&&n!=="function"||Ja.has(e)||Ja.has(t)?!1:Xj(e,t)}function Xj(e,t){let n=yf.length;for(let s=n;s-- >0;)if(yf[s]===e&&ix[s]===t)return!0;if(n)return MT(e,t);let r=_T.get(e);r||_T.set(e,r=new WeakMap);let o=r.get(t);return o===void 0&&r.set(t,o=MT(e,t)),o}function MT(e,t){yf.push(e),ix.push(t);try{return eH(e,t)}finally{yf.pop(),ix.pop()}}var yf=[],ix=[],_T=new WeakMap;function eH(e,t){if(H(e)!==H(t))return!1;if(e instanceof Date){if(!(t instanceof Date))return!1;let r=e.getTime(),o=t.getTime();return r===o||Number.isNaN(r)&&Number.isNaN(o)}else if(e instanceof RegExp)return t instanceof RegExp&&e.toString()===t.toString();let n=NT(e);if(n!==NT(t)||typeof e=="function"&&!n)return!1;if(n)return e[X](t);if(Array.isArray(e))return!Array.isArray(t)||e.length!==t.length?!1:tH(e,t);if(ArrayBuffer.isView(e)){let r=e instanceof DataView;return!ArrayBuffer.isView(t)||e.byteLength!==t.byteLength||r!==t instanceof DataView?!1:r?UT(Xd(e),Xd(t)):UT(e,t)}else{if(e instanceof Map)return!(t instanceof Map)||e.size!==t.size?!1:ax(e,t,rH,oH);if(e instanceof Set)return!(t instanceof Set)||e.size!==t.size?!1:ax(e,t,H,hi)}return nH(e,t)}function tH(e,t){for(let n=0;n<e.length;n++)if(!hi(e[n],t[n]))return!1;return!0}function UT(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function nH(e,t){let n=Yd(e),r=Yd(t);if(n.size!==r.size)return!1;for(let o of n)if(!r.has(o)||!hi(e[o],t[o]))return!1;return!0}function ax(e,t,n,r){let o=new Map,s=0;for(let i of t){let c=n(i),d=o.get(c);d?d.push(i):o.set(c,[i]),s++}e:for(let i of e){let c=o.get(n(i));if(c){for(let d=0;d<c.length;d++)if(r(i,c[d])){c[d]=c[c.length-1],c.pop(),s--;continue e}}return!1}return s===0}var rH=e=>H(e[0]),oH=(e,t)=>hi(e[0],t[0])&&hi(e[1],t[1]),sH=()=>0;function xf(e,t){return ou((n,r)=>e(n[0],r[0])&&t(n[1],r[1]))}function ou(e){return function(n,r){return ax(n,r,sH,e)}}var NT=e=>O(e,X),su=()=>V;var FT=e=>(Ja.add(e),e);var Lo=Symbol.for("~effect/Redactable"),iH=e=>O(e,Lo);function Or(e){return iH(e)?cx(e):e}function cx(e){return e[Lo](globalThis[gi]?.context??aH)}var gi="~effect/Fiber/currentFiber",$T=new Map,aH={"~effect/Context":{},base:$T,depth:0,mapUnsafe:$T,pipe(){return ie(this,arguments)}};function U(e,t){let n=t?.space??0,r=new WeakSet,o=n?typeof n=="number"?" ".repeat(n):n:"",s=l=>o.repeat(l),i=(l,p)=>{let f=l?.constructor;return f&&f!==Object.prototype.constructor&&f.name?`${f.name}(${p})`:p},c=l=>{try{return Reflect.ownKeys(l)}catch{return["[ownKeys threw]"]}};function d(l,p=0){try{return u(l,p)}catch{return(typeof l=="object"&&l!==null||typeof l=="function")&&r.delete(l),"[inspection threw]"}}function u(l,p=0){if(typeof l=="string")return JSON.stringify(l);if(typeof l=="number"||l==null||typeof l=="boolean"||typeof l=="symbol")return String(l);if(typeof l=="bigint")return String(l)+"n";if(typeof l=="object"||typeof l=="function"){if(r.has(l))return cH;r.add(l);let f;if(Lo in l)f=d(cx(l),p);else if(Array.isArray(l))f=!o||l.length<=1?`[${l.map(g=>d(g,p)).join(",")}]`:`[
|
|
2
2
|
${s(p+1)}${l.map(g=>d(g,p+1)).join(`,
|
|
3
3
|
`+s(p+1))}
|
|
4
|
-
${s(p)}]`;else if(l instanceof Date)f=
|
|
5
|
-
${g.map(
|
|
4
|
+
${s(p)}]`;else if(l instanceof Date)f=ux(l);else if(!t?.ignoreToString&&O(l,"toString")&&typeof l.toString=="function"&&l.toString!==Object.prototype.toString&&l.toString!==Array.prototype.toString){let g=dH(l);f=l instanceof Error&&l.cause!==void 0?`${g} (cause: ${d(l.cause,p)})`:g}else if(Symbol.iterator in l)f=`${l.constructor.name}(${d(Array.from(l),p)})`;else{let g=c(l);if(!o||g.length<=1){let b=`{${g.map(S=>`${fo(S)}:${d(LT(l,S),p)}`).join(",")}}`;f=i(l,b)}else{let b=`{
|
|
5
|
+
${g.map(S=>`${s(p+1)}${fo(S)}: ${d(LT(l,S),p+1)}`).join(`,
|
|
6
6
|
`)}
|
|
7
|
-
${s(p)}}`;f=i(l,b)}}return r.delete(l),f}return String(l)}return d(e,0)}var oH="[Circular]";function uo(e){return typeof e=="string"?JSON.stringify(e):String(e)}function yf(e){return e.map(t=>`[${uo(t)}]`).join("")}function cx(e){try{return e.toISOString()}catch{return"Invalid Date"}}function sH(e){try{let t=e.toString();return typeof t=="string"?t:String(t)}catch{return"[toString threw]"}}function NT(e,t){try{return e[t]}catch{return"[property access threw]"}}function yi(e,t){let n=[];return JSON.stringify(e,function(r,o){let s=Object.getOwnPropertyDescriptor(this,r)?.value,i=O(s,Fo)?Rr(s):Rr(o);if(typeof i=="bigint")return U(i);if(typeof i!="object"||i===null)return i;let c=i instanceof Error&&!O(i,"toJSON")?{...i,name:i.name,message:i.message}:i;for(;n.length>0&&n[n.length-1]!==this;)n.pop();if(n.includes(i))return;if(n.push(i),c!==i&&n.push(c),!iH(c)||aH(c))return c;let d=new Proxy(c,{get(u,l){let p=Reflect.get(u,l,u);return Object.getOwnPropertyDescriptor(u,l)?.get!==void 0?Rr(p):p}});return n.push(d),d},t?.space)??"null"}function iH(e){for(let t of Object.getOwnPropertyNames(e))if(Object.getOwnPropertyDescriptor(e,t)?.get!==void 0)return!0;return!1}function aH(e){for(let t of[Number.prototype.valueOf,Boolean.prototype.valueOf,String.prototype.valueOf])try{return Reflect.apply(t,e,[]),!0}catch{}return!1}var He=Symbol.for("nodejs.util.inspect.custom"),Wt=e=>{try{return e=Rr(e),O(e,"toJSON")&&dn(e.toJSON)&&e.toJSON.length===0?e.toJSON():Array.isArray(e)?e.map(Wt):e}catch{return"[toJSON threw]"}},$T=(e,t=2)=>{if(typeof e=="string")return e;try{return typeof e=="object"?yi(e,{space:t}):U(e,{space:t})}catch{return String(e)}},Dt={toJSON(){return Wt(this)},[He](){return this.toJSON()},toString(){return U(this.toJSON())}},FT=class{[He](){return this.toJSON()}toString(){return U(this.toJSON())}};var dH=()=>{let e=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return e===void 0?Object.isExtensible(Error):Object.hasOwn(e,"writable")?e.writable===!0:e.set!==void 0},uH=dH(),Or=()=>Error.stackTraceLimit,Kt=e=>{uH&&(Error.stackTraceLimit=e)};var Is=class{constructor(t){this.value=t,this.done=!1}next(t){return this.done?(this.value=t,this):(this.done=!0,{value:this.value,done:!1})}},lH=()=>{let e="~effect/Utils/internal",t={[e]:s=>s()},n={[e]:s=>s()},r=Or();if(r===0)return n[e];Kt(2);let o=t[e](()=>new Error);return Kt(r),o.stack?.includes(e)===!0?t[e]:n[e]},vs=lH();function M(e,t,n){t==="__proto__"?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}function xf(e,t){if(!Object.hasOwn(t,"__proto__")){Object.assign(e,t);return}for(let n of Reflect.ownKeys(t))Object.prototype.propertyIsEnumerable.call(t,n)&&M(e,n,t[n])}var po="~effect/Effect",xi="~effect/Exit",fH={_A:Q,_E:Q,_R:Q},dx=`${po}/identifier`,ue=`${po}/args`,mt=`${po}/evaluate`,Nt=`${po}/successCont`,qn=`${po}/failureCont`,Si=`${po}/ensureCont`,wi=Symbol.for("effect/Effect/Yield"),Dr={pipe(){return ie(this,arguments)},toJSON(){return{...this}},toString(){return U(this.toJSON(),{ignoreToString:!0,space:2})},[He](){return this.toJSON()}},qT={[Y](){return tu(this,Object.keys(this))},[X](e){let t=Object.keys(this),n=Object.keys(e);if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r]||!V(this[t[r]],e[t[r]]))return!1;return!0}},mH={[po]:fH,...Dr,[Symbol.iterator](){return new Is(this)},toJSON(){return{_id:"Effect",op:this[dx],...ue in this?{args:this[ue]}:void 0}}},se=e=>O(e,po),ux=e=>O(e,xi),Sf="~effect/Cause",su="~effect/Cause/Reason",Ya=e=>O(e,Sf),BT=e=>O(e,su),Cr=class{constructor(t){this[Sf]=Sf,this.reasons=t}pipe(){return ie(this,arguments)}toJSON(){return{_id:"Cause",reasons:this.reasons.map(t=>t.toJSON())}}toString(){return`Cause(${U(this.reasons)})`}[He](){return this.toJSON()}[X](t){return Ya(t)&&this.reasons.length===t.reasons.length&&this.reasons.every((n,r)=>V(n,t.reasons[r]))}[Y](){return co(this.reasons)}},LT=new WeakMap,Za=class{[su];annotations;_tag;constructor(t,n,r){if(this[su]=su,this._tag=t,n!==iu&&typeof r=="object"&&r!==null&&n.size>0){let o=LT.get(r);o&&(n=new Map([...o,...n])),LT.set(r,n)}this.annotations=n}annotate(t,n){if(t.mapUnsafe.size===0)return this;let r=new Map(this.annotations);t.mapUnsafe.forEach((s,i)=>{n?.overwrite!==!0&&r.has(i)||r.set(i,s)});let o=Object.assign(Object.create(Object.getPrototypeOf(this)),this);return o.annotations=r,o}pipe(){return ie(this,arguments)}toString(){return U(this)}[He](){return this.toString()}},iu=new Map,bi=class extends Za{constructor(t,n=iu){super("Fail",n,t),this.error=t}toString(){return`Fail(${U(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[X](t){return Xa(t)&&V(this.error,t.error)&&V(this.annotations,t.annotations)}[Y](){return ce(Ce(this._tag))(ce(j(this.error))(j(this.annotations)))}},fo=e=>new Cr(e),hH=(e,t)=>{let n=new Map,r=[];for(let o of e.concat(t)){let s=j(o),i=n.get(s);if(i===void 0)n.set(s,[o]);else{if(i.some(c=>V(c,o)))continue;i.push(o)}r.push(o)}return r},If=h(2,(e,t)=>{if(e.reasons.length===0)return t;if(t.reasons.length===0)return e;let n=new Cr(hH(e.reasons,t.reasons));return V(e,n)?e:n}),lx=(e,t)=>{let n=e.reasons.slice();for(let r of t.reasons)vi(r)&&!n.some(o=>vi(o)&&o.fiberId===r.fiberId&&o.annotations===r.annotations)&&n.push(r);return n.length===e.reasons.length?e:new Cr(n)},px=new Cr([]),jT=e=>new Cr([new bi(e)]),Ii=class extends Za{constructor(t,n=iu){super("Die",n,t),this.defect=t}toString(){return`Die(${U(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[X](t){return cu(t)&&V(this.defect,t.defect)&&V(this.annotations,t.annotations)}[Y](){return ce(Ce(this._tag))(ce(j(this.defect))(j(this.annotations)))}},fx=e=>new Cr([new Ii(e)]),au=h(e=>Ya(e[0]),(e,t,n)=>t.mapUnsafe.size===0?e:new Cr(e.reasons.map(r=>r.annotate(t,n)))),Xa=e=>e._tag==="Fail",cu=e=>e._tag==="Die",vi=e=>e._tag==="Interrupt";function gH(e){return jn("Effect.evaluate: Not implemented")}var Bn=e=>({...mH,[dx]:e.op,[mt]:e[mt]??gH,[Nt]:e[Nt],[qn]:e[qn],[Si]:e[Si]}),mo=e=>{let t=Bn(e),n=function(r){this[ue]=r};return n.prototype=t,function(r){return new n(r)}},HT=e=>{let t={[xi]:xi,_tag:e.op,get[e.prop](){return this[ue]},...Bn(e),toString(){return`${e.op}(${U(this[ue])})`},toJSON(){return{_id:"Exit",_tag:e.op,[e.prop]:this[ue]}},[X](r){return ux(r)&&r._tag===this._tag&&V(this[ue],r[ue])},[Y](){return ce(Ce(e.op),j(this[ue]))}},n=function(r){this[ue]=r};return n.prototype=t,function(r){return new n(r)}},Et=HT({op:"Success",prop:"value",[mt](e){let t=e.getCont(Nt);return t?t[Nt](this[ue],e,this):e.yieldWith(this)}}),vf={key:"effect/Cause/StackTrace"},mx={key:"effect/Cause/InterruptorStackTrace"},Gt=HT({op:"Failure",prop:"cause",[mt](e){let t=this[ue],n=!1;e.cache.stackFrame&&(t=au(t,{mapUnsafe:new Map([[vf.key,e.cache.stackFrame]])}),n=!0);let r=e.getCont(qn),o=e._interruptedCause;if(o&&e.interruptible){let s=!1;for(;r&&e.interruptible;)s||=dx in r,r=e.getCont(qn);s&&(t=fo(t.reasons.filter(i=>i._tag!=="Fail"))),t=lx(t,o),n=!0}return r?r[qn](t,e,n?void 0:this):e.yieldWith(n?Gt(t):this)}}),ws=e=>Gt(jT(e)),jn=e=>Gt(fx(e)),le=mo({op:"WithFiber",[mt](e){return this[ue](e)}}),zT=mo({op:"WithFiberSucceed",[mt](e){let t=this[ue](e),n=e.getCont(Nt);return n?n[Nt](t,e):e.yieldWith(Et(t))}}),yH=(function(){class e extends globalThis.Error{}let t=Bn({op:"YieldableError",[mt](){return ws(this)}});return delete t.toString,Object.assign(e.prototype,t),e})(),du=(function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends yH{constructor(n){super(n?.message,n?.cause?{cause:n.cause}:void 0),n&&(xf(this,n),Object.defineProperty(this,e,{value:n,enumerable:!1}))}toJSON(){return{...this[e],...this}}}})(),Lo=e=>{class t extends du{_tag=e}return t.prototype.name=e,t},bf="~effect/Cause/NoSuchElementError",hx=e=>O(e,bf),lo=class extends Lo("NoSuchElementError"){[bf]=bf;constructor(t){super({message:t})}},Qa="~effect/Cause/Done",wf=e=>O(e,Qa),WT={[Qa]:Qa,_tag:"Done",value:void 0},KT=e=>e===void 0?WT:{[Qa]:Qa,_tag:"Done",value:e},xH=ws(WT),GT=e=>e===void 0?xH:ws(KT(e));var VT=e=>Bn({op:e.label,[mt]:e.evaluate});var Xe={};Ae(Xe,{Do:()=>n3,all:()=>HH,andThen:()=>FH,as:()=>dA,asVoid:()=>UH,bind:()=>t3,bindTo:()=>XH,composeK:()=>BH,contains:()=>QH,containsWith:()=>mA,exists:()=>YH,filter:()=>Oi,filterMap:()=>KH,firstSomeOf:()=>PH,flatMap:()=>Ai,flatMapNullishOr:()=>$H,flatten:()=>Ri,fromIterable:()=>TH,fromNullOr:()=>Ex,fromNullishOr:()=>mu,fromUndefinedOr:()=>kx,gen:()=>r3,getFailure:()=>RH,getOrElse:()=>fu,getOrNull:()=>Df,getOrThrow:()=>_H,getOrThrowWith:()=>Pf,getOrUndefined:()=>ho,getSuccess:()=>AH,isNone:()=>ae,isOption:()=>uc,isSome:()=>st,let:()=>e3,lift2:()=>JH,liftNullishOr:()=>MH,liftPredicate:()=>ZH,liftThrowable:()=>Mr,makeCombinerFailFast:()=>hA,makeEquivalence:()=>GH,makeOrder:()=>VH,makeReducer:()=>o3,makeReducerFailFast:()=>s3,map:()=>Vt,match:()=>ut,none:()=>N,orElse:()=>OH,orElseResult:()=>DH,orElseSome:()=>CH,partitionMap:()=>WH,product:()=>lA,productMany:()=>jH,reduceCompact:()=>zH,some:()=>F,tap:()=>uA,toArray:()=>fA,toRefinement:()=>EH,void:()=>NH,zipLeft:()=>qH,zipRight:()=>LH,zipWith:()=>pA});function kf(e){return{combine:e}}function uu(e,t,n){return{combine:e,initialValue:t,combineAll:n??(r=>{let o=t;for(let s of r)o=e(o,s);return o})}}var ht=e=>(t,n)=>t===n||e(t,n),SH=(e,t)=>e===t,Es=()=>SH;function ZT(e){return ht((t,n)=>{if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e[r](t[r],n[r]))return!1;return!0})}function ec(e){return ht((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})}function QT(e){let t=Reflect.ownKeys(e);return ht((n,r)=>{for(let o of t)if(!e[o](n[o],r[o]))return!1;return!0})}var tc=e=>h(3,(t,n,r)=>e(t,o=>({...o,[n]:r(o)}))),nc=e=>h(2,(t,n)=>e(t,r=>({[n]:r}))),rc=(e,t)=>h(3,(n,r,o)=>t(n,s=>e(o(s),i=>({...s,[r]:i}))));var YT="~effect/Option",XT={[YT]:{_A:e=>e},...Dr,[Symbol.iterator](){return new Is(this)}},bH=Object.defineProperty(Object.assign(Object.create(XT),{_tag:"Some",_op:"Some",[X](e){return Ef(e)&&Sx(e)&&V(this.value,e.value)},[Y](){return ce(j(this._tag))(j(this.value))},toString(){return`some(${U(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:Wt(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),IH=j("None"),vH=Object.assign(Object.create(XT),{_tag:"None",_op:"None",valueOrUndefined:void 0,[X](e){return Ef(e)&&Ts(e)},[Y](){return IH},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Ef=e=>O(e,YT),Ts=e=>e._tag==="None",Sx=e=>e._tag==="Some",ki=Object.create(vH),eA=function(e){this.value=e};eA.prototype=bH;var qo=e=>new eA(e);var tA="~effect/Result",nA={[tA]:{_A:e=>e,_E:e=>e},...Dr,[Symbol.iterator](){return new Is(this)}},wH=Object.assign(Object.create(nA),{_tag:"Success",_op:"Success",[X](e){return Tf(e)&&sc(e)&&V(this.success,e.success)},[Y](){return ce(j(this._tag))(j(this.success))},toString(){return`success(${U(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:Wt(this.success)}}}),kH=Object.assign(Object.create(nA),{_tag:"Failure",_op:"Failure",[X](e){return Tf(e)&&oc(e)&&V(this.failure,e.failure)},[Y](){return ce(j(this._tag))(j(this.failure))},toString(){return`failure(${U(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:Wt(this.failure)}}}),Tf=e=>O(e,tA),oc=e=>e._tag==="Failure",sc=e=>e._tag==="Success",rA=function(e){this.failure=e};rA.prototype=kH;var lu=e=>new rA(e),oA=function(e){this.success=e};oA.prototype=wH;var pu=e=>new oA(e),Af=e=>sc(e)?ki:qo(e.failure),Rf=e=>oc(e)?ki:qo(e.success),sA=h(2,(e,t)=>Ts(e)?lu(t()):pu(e.value));function Pr(e){return(t,n)=>t===n?0:e(t,n)}var aA=Pr((e,t)=>e<t?-1:1),Bo=Pr((e,t)=>globalThis.Number.isNaN(e)&&globalThis.Number.isNaN(t)?0:globalThis.Number.isNaN(e)?-1:globalThis.Number.isNaN(t)?1:e<t?-1:1);var ic=Pr((e,t)=>e<t?-1:1);var Ix=h(2,(e,t)=>Pr((n,r)=>e(t(n),t(r)))),ac=Ix(Bo,e=>e.getTime());function cA(e){let t=Object.keys(e);return Pr((n,r)=>{for(let o of t){let s=e[o](n[o],r[o]);if(s!==0)return s}return 0})}var Ei=e=>h(2,(t,n)=>e(t,n)===-1),jo=e=>h(2,(t,n)=>e(t,n)===1),cc=e=>h(2,(t,n)=>e(t,n)!==1),dc=e=>h(2,(t,n)=>e(t,n)!==-1),Of=e=>h(2,(t,n)=>t===n||e(t,n)<1?t:n),Cf=e=>h(2,(t,n)=>t===n||e(t,n)>-1?t:n),vx=e=>h(2,(t,n)=>Of(e)(n.maximum,Cf(e)(n.minimum,t))),wx=e=>h(2,(t,n)=>!Ei(e)(t,n.minimum)&&!jo(e)(t,n.maximum));var N=()=>ki,F=qo,uc=Ef,ae=Ts,st=Sx,ut=h(2,(e,{onNone:t,onSome:n})=>ae(e)?t():n(e.value)),EH=e=>t=>st(e(t)),TH=e=>{for(let t of e)return F(t);return N()},AH=Rf,RH=Af,fu=h(2,(e,t)=>ae(e)?t():e.value),OH=h(2,(e,t)=>ae(e)?t():e),CH=h(2,(e,t)=>ae(e)?F(t()):e),DH=h(2,(e,t)=>ae(e)?Vt(t(),pu):Vt(e,lu)),PH=e=>{let t=N();for(t of e)if(st(t))return t;return t},mu=e=>e==null?N():F(e),kx=e=>e===void 0?N():F(e),Ex=e=>e===null?N():F(e),MH=e=>(...t)=>mu(e(...t)),Df=fu(lf),ho=fu($n),Mr=e=>(...t)=>{try{return F(e(...t))}catch{return N()}},Pf=h(2,(e,t)=>{if(st(e))return e.value;throw t()}),_H=Pf(()=>new Error("getOrThrow called on a None")),Vt=h(2,(e,t)=>ae(e)?N():F(t(e.value))),dA=h(2,(e,t)=>Vt(e,()=>t)),UH=dA(void 0),NH=F(void 0);var Ai=h(2,(e,t)=>ae(e)?N():t(e.value)),FH=h(2,(e,t)=>Ai(e,n=>{let r=dn(t)?t(n):t;return uc(r)?r:F(r)})),$H=h(2,(e,t)=>ae(e)?N():mu(t(e.value))),Ri=Ai(Q),LH=h(2,(e,t)=>Ai(e,()=>t)),qH=h(2,(e,t)=>uA(e,()=>t)),BH=h(2,(e,t)=>n=>Ai(e(n),t)),uA=h(2,(e,t)=>Ai(e,n=>Vt(t(n),()=>n))),lA=h(2,(e,t)=>st(e)&&st(t)?F([e.value,t.value]):N()),jH=h(2,(e,t)=>{if(ae(e))return N();let n=[e.value];for(let r of t){if(ae(r))return N();n.push(r.value)}return F(n)}),HH=e=>{if(Symbol.iterator in e){let n=[];for(let r of e){if(ae(r))return N();n.push(r.value)}return F(n)}let t={};for(let n of Object.keys(e)){let r=e[n];if(ae(r))return N();M(t,n,r.value)}return F(t)},pA=h(3,(e,t,n)=>Vt(lA(e,t),([r,o])=>n(r,o))),zH=h(3,(e,t,n)=>{let r=t;for(let o of e)st(o)&&(r=n(r,o.value));return r}),fA=e=>ae(e)?[]:[e.value],WH=h(2,(e,t)=>{if(ae(e))return[N(),N()];let n=t(e.value);return oc(n)?[N(),F(n.failure)]:[F(n.success),N()]}),KH=h(2,(e,t)=>{if(ae(e))return N();let n=t(e.value);return sc(n)?F(n.success):N()}),Oi=h(2,(e,t)=>ae(e)?N():t(e.value)?F(e.value):N()),GH=e=>ht((t,n)=>ae(t)?ae(n):ae(n)?!1:e(t.value,n.value)),VH=e=>Pr((t,n)=>st(t)?st(n)?e(t.value,n.value):1:-1),JH=e=>h(2,(t,n)=>pA(t,n,e)),ZH=h(2,(e,t)=>t(e)?F(e):N()),mA=e=>h(2,(t,n)=>ae(t)?!1:e(t.value,n)),QH=mA(ou()),YH=h(2,(e,t)=>ae(e)?!1:t(e.value)),XH=nc(Vt),e3=tc(Vt);var t3=rc(Vt,Ai),n3=F({}),r3=(...e)=>{let n=(e.length===1?e[0]:e[1].bind(e[0]))(),r=n.next();for(;!r.done;){let o=r.value;if(ae(o))return o;r=n.next(o.value)}return F(r.value)};function o3(e){return uu((t,n)=>ae(t)?n:ae(n)?t:F(e.combine(t.value,n.value)),N())}function hA(e){return kf((t,n)=>ae(t)||ae(n)?N():F(e.combine(t.value,n.value)))}function s3(e){let t=hA(e).combine,n=F(e.initialValue);return uu(t,n,r=>{let o=n;for(let s of r)if(o=t(o,s),ae(o))return o;return o})}var gA="~effect/Context/Service",_r=function(){function e(){}let t=e;Object.setPrototypeOf(t,i3);let n=(r,o)=>(t.key=r,o?.defaultValue&&(t[Ax]=Ax,t.defaultValue=o.defaultValue),o?.make&&(t.make=o.make),o?.fiberCached&&yA.add(r),t);return arguments.length>0?n(arguments[0],arguments[1]):n},i3={[gA]:gA,...VT({label:"Service",evaluate(e){return Et(et(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key}},of(e){return e},context(e){return Ho(this,e)},use(e){return le(t=>e(et(t.context,this)))},useSync(e){return le(t=>Et(e(et(t.context,this))))}},yA=new Set,Ax="~effect/Context/Reference",xA="~effect/Context",a3=8,c3=8,Rx=(e,t,n,r)=>{let o=Object.create(u3);return o.cacheRoot=e??o,o.base=t,o.overlay=n,o.depth=r,o._flat=void 0,o.baseHits=0,o},Ox=(e,t)=>{t&&(Ox(e,t.parent),e.set(t.key,t.value))},SA=e=>{if(e._flat)return e._flat;if(!e.overlay)return e._flat=e.base;let t=new Map(e.base);return Ox(t,e.overlay),e._flat=t},d3=(e,t)=>{let n=new Map(e.mapUnsafe);return t(n),lc(n)},Mf=Symbol(),Cx=(e,t)=>{let n=e;for(let o=n.overlay;o;o=o.parent)if(o.key===t)return o.value;let r=n.base.get(t);return r===void 0&&!n.base.has(t)?Mf:(n.overlay&&++n.baseHits>=n.base.size&&n.baseHits>=c3&&(n.base=SA(n),n.overlay=void 0,n.depth=0),r)},lc=e=>Rx(void 0,e,void 0,0),u3={get mapUnsafe(){return SA(this)},...Dr,[xA]:{_Services:e=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[X](e){if(!Dx(e))return!1;let t=this.mapUnsafe,n=e.mapUnsafe;if(t.size!==n.size)return!1;for(let[r,o]of t)if(!n.has(r)||!V(o,n.get(r)))return!1;return!0},[Y](){return Ct(this.mapUnsafe.size)}},bA=(e,t)=>e.cacheRoot===t.cacheRoot,Dx=e=>O(e,xA);var IA=e=>!!e[Ax],Hn=()=>l3,l3=lc(new Map),Ho=(e,t)=>lc(new Map([[e.key,t]])),zn=h(3,(e,t,n)=>p3(e,t.key,n)),p3=(e,t,n)=>{let r=e,o=yA.has(t)?void 0:r.cacheRoot;if(r.depth>=a3){let s=new Map(r._flat??r.base);return r._flat||Ox(s,r.overlay),s.set(t,n),Rx(o,s,void 0,0)}return Rx(o,r.base,{key:t,value:n,parent:r.overlay},r.depth+1)};var _f=h(2,(e,t)=>hu(e,t.key)),hu=(e,t)=>{let n=Cx(e,t);return n===Mf?void 0:n},As=h(2,(e,t)=>{let n=Cx(e,t.key);if(n===Mf){if(IA(t))return vA(t);throw f3(t)}return n}),et=As,Tx="~effect/Context/defaultValue",vA=e=>Tx in e?e[Tx]:e[Tx]=e.defaultValue(),f3=e=>{let t=new Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(t.stack){let n=t.stack.split(`
|
|
7
|
+
${s(p)}}`;f=i(l,b)}}return r.delete(l),f}return String(l)}return d(e,0)}var cH="[Circular]";function fo(e){return typeof e=="string"?JSON.stringify(e):String(e)}function Sf(e){return e.map(t=>`[${fo(t)}]`).join("")}function ux(e){try{return e.toISOString()}catch{return"Invalid Date"}}function dH(e){try{let t=e.toString();return typeof t=="string"?t:String(t)}catch{return"[toString threw]"}}function LT(e,t){try{return e[t]}catch{return"[property access threw]"}}function yi(e,t){let n=[];return JSON.stringify(e,function(r,o){let s=Object.getOwnPropertyDescriptor(this,r)?.value,i=O(s,Lo)?Or(s):Or(o);if(typeof i=="bigint")return U(i);if(typeof i!="object"||i===null)return i;let c=i instanceof Error&&!O(i,"toJSON")?{...i,name:i.name,message:i.message}:i;for(;n.length>0&&n[n.length-1]!==this;)n.pop();if(n.includes(i))return;if(n.push(i),c!==i&&n.push(c),!uH(c)||lH(c))return c;let d=new Proxy(c,{get(u,l){let p=Reflect.get(u,l,u);return Object.getOwnPropertyDescriptor(u,l)?.get!==void 0?Or(p):p}});return n.push(d),d},t?.space)??"null"}function uH(e){for(let t of Object.getOwnPropertyNames(e))if(Object.getOwnPropertyDescriptor(e,t)?.get!==void 0)return!0;return!1}function lH(e){for(let t of[Number.prototype.valueOf,Boolean.prototype.valueOf,String.prototype.valueOf])try{return Reflect.apply(t,e,[]),!0}catch{}return!1}var je=Symbol.for("nodejs.util.inspect.custom"),zt=e=>{try{return e=Or(e),O(e,"toJSON")&&ln(e.toJSON)&&e.toJSON.length===0?e.toJSON():Array.isArray(e)?e.map(zt):e}catch{return"[toJSON threw]"}},BT=(e,t=2)=>{if(typeof e=="string")return e;try{return typeof e=="object"?yi(e,{space:t}):U(e,{space:t})}catch{return String(e)}},Ct={toJSON(){return zt(this)},[je](){return this.toJSON()},toString(){return U(this.toJSON())}},qT=class{[je](){return this.toJSON()}toString(){return U(this.toJSON())}};var fH=()=>{let e=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return e===void 0?Object.isExtensible(Error):Object.hasOwn(e,"writable")?e.writable===!0:e.set!==void 0},mH=fH(),Cr=()=>Error.stackTraceLimit,Wt=e=>{mH&&(Error.stackTraceLimit=e)};var Is=class{constructor(t){this.value=t,this.done=!1}next(t){return this.done?(this.value=t,this):(this.done=!0,{value:this.value,done:!1})}},hH=()=>{let e="~effect/Utils/internal",t={[e]:s=>s()},n={[e]:s=>s()},r=Cr();if(r===0)return n[e];Wt(2);let o=t[e](()=>new Error);return Wt(r),o.stack?.includes(e)===!0?t[e]:n[e]},ws=hH();function P(e,t,n){t==="__proto__"?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}function bf(e,t){if(!Object.hasOwn(t,"__proto__")){Object.assign(e,t);return}for(let n of Reflect.ownKeys(t))Object.prototype.propertyIsEnumerable.call(t,n)&&P(e,n,t[n])}var ho="~effect/Effect",xi="~effect/Exit",yH={_A:Q,_E:Q,_R:Q},lx=`${ho}/identifier`,de=`${ho}/args`,mt=`${ho}/evaluate`,Ut=`${ho}/successCont`,Bn=`${ho}/failureCont`,Si=`${ho}/ensureCont`,wi=Symbol.for("effect/Effect/Yield"),Pr={pipe(){return ie(this,arguments)},toJSON(){return{...this}},toString(){return U(this.toJSON(),{ignoreToString:!0,space:2})},[je](){return this.toJSON()}},HT={[Y](){return nu(this,Object.keys(this))},[X](e){let t=Object.keys(this),n=Object.keys(e);if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r]||!V(this[t[r]],e[t[r]]))return!1;return!0}},xH={[ho]:yH,...Pr,[Symbol.iterator](){return new Is(this)},toJSON(){return{_id:"Effect",op:this[lx],...de in this?{args:this[de]}:void 0}}},oe=e=>O(e,ho),px=e=>O(e,xi),vf="~effect/Cause",iu="~effect/Cause/Reason",Ya=e=>O(e,vf),zT=e=>O(e,iu),Dr=class{constructor(t){this[vf]=vf,this.reasons=t}pipe(){return ie(this,arguments)}toJSON(){return{_id:"Cause",reasons:this.reasons.map(t=>t.toJSON())}}toString(){return`Cause(${U(this.reasons)})`}[je](){return this.toJSON()}[X](t){return Ya(t)&&this.reasons.length===t.reasons.length&&this.reasons.every((n,r)=>V(n,t.reasons[r]))}[Y](){return po(this.reasons)}},jT=new WeakMap,Za=class{[iu];annotations;_tag;constructor(t,n,r){if(this[iu]=iu,this._tag=t,n!==au&&typeof r=="object"&&r!==null&&n.size>0){let o=jT.get(r);o&&(n=new Map([...o,...n])),jT.set(r,n)}this.annotations=n}annotate(t,n){if(t.mapUnsafe.size===0)return this;let r=new Map(this.annotations);t.mapUnsafe.forEach((s,i)=>{n?.overwrite!==!0&&r.has(i)||r.set(i,s)});let o=Object.assign(Object.create(Object.getPrototypeOf(this)),this);return o.annotations=r,o}pipe(){return ie(this,arguments)}toString(){return U(this)}[je](){return this.toString()}},au=new Map,bi=class extends Za{constructor(t,n=au){super("Fail",n,t),this.error=t}toString(){return`Fail(${U(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[X](t){return Xa(t)&&V(this.error,t.error)&&V(this.annotations,t.annotations)}[Y](){return ce(De(this._tag))(ce(H(this.error))(H(this.annotations)))}},go=e=>new Dr(e),SH=(e,t)=>{let n=new Map,r=[];for(let o of e.concat(t)){let s=H(o),i=n.get(s);if(i===void 0)n.set(s,[o]);else{if(i.some(c=>V(c,o)))continue;i.push(o)}r.push(o)}return r},wf=h(2,(e,t)=>{if(e.reasons.length===0)return t;if(t.reasons.length===0)return e;let n=new Dr(SH(e.reasons,t.reasons));return V(e,n)?e:n}),fx=(e,t)=>{let n=e.reasons.slice();for(let r of t.reasons)Ii(r)&&!n.some(o=>Ii(o)&&o.fiberId===r.fiberId&&o.annotations===r.annotations)&&n.push(r);return n.length===e.reasons.length?e:new Dr(n)},mx=new Dr([]),WT=e=>new Dr([new bi(e)]),vi=class extends Za{constructor(t,n=au){super("Die",n,t),this.defect=t}toString(){return`Die(${U(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[X](t){return du(t)&&V(this.defect,t.defect)&&V(this.annotations,t.annotations)}[Y](){return ce(De(this._tag))(ce(H(this.defect))(H(this.annotations)))}},hx=e=>new Dr([new vi(e)]),cu=h(e=>Ya(e[0]),(e,t,n)=>t.mapUnsafe.size===0?e:new Dr(e.reasons.map(r=>r.annotate(t,n)))),Xa=e=>e._tag==="Fail",du=e=>e._tag==="Die",Ii=e=>e._tag==="Interrupt";function bH(e){return Hn("Effect.evaluate: Not implemented")}var jn=e=>({...xH,[lx]:e.op,[mt]:e[mt]??bH,[Ut]:e[Ut],[Bn]:e[Bn],[Si]:e[Si]}),yo=e=>{let t=jn(e),n=function(r){this[de]=r};return n.prototype=t,function(r){return new n(r)}},KT=e=>{let t={[xi]:xi,_tag:e.op,get[e.prop](){return this[de]},...jn(e),toString(){return`${e.op}(${U(this[de])})`},toJSON(){return{_id:"Exit",_tag:e.op,[e.prop]:this[de]}},[X](r){return px(r)&&r._tag===this._tag&&V(this[de],r[de])},[Y](){return ce(De(e.op),H(this[de]))}},n=function(r){this[de]=r};return n.prototype=t,function(r){return new n(r)}},kt=KT({op:"Success",prop:"value",[mt](e){let t=e.getCont(Ut);return t?t[Ut](this[de],e,this):e.yieldWith(this)}}),kf={key:"effect/Cause/StackTrace"},gx={key:"effect/Cause/InterruptorStackTrace"},Kt=KT({op:"Failure",prop:"cause",[mt](e){let t=this[de],n=!1;e.cache.stackFrame&&(t=cu(t,{mapUnsafe:new Map([[kf.key,e.cache.stackFrame]])}),n=!0);let r=e.getCont(Bn),o=e._interruptedCause;if(o&&e.interruptible){let s=!1;for(;r&&e.interruptible;)s||=lx in r,r=e.getCont(Bn);s&&(t=go(t.reasons.filter(i=>i._tag!=="Fail"))),t=fx(t,o),n=!0}return r?r[Bn](t,e,n?void 0:this):e.yieldWith(n?Kt(t):this)}}),ks=e=>Kt(WT(e)),Hn=e=>Kt(hx(e)),ue=yo({op:"WithFiber",[mt](e){return this[de](e)}}),GT=yo({op:"WithFiberSucceed",[mt](e){let t=this[de](e),n=e.getCont(Ut);return n?n[Ut](t,e):e.yieldWith(kt(t))}}),vH=(function(){class e extends globalThis.Error{}let t=jn({op:"YieldableError",[mt](){return ks(this)}});return delete t.toString,Object.assign(e.prototype,t),e})(),uu=(function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends vH{constructor(n){super(n?.message,n?.cause?{cause:n.cause}:void 0),n&&(bf(this,n),Object.defineProperty(this,e,{value:n,enumerable:!1}))}toJSON(){return{...this[e],...this}}}})(),Bo=e=>{class t extends uu{_tag=e}return t.prototype.name=e,t},If="~effect/Cause/NoSuchElementError",yx=e=>O(e,If),mo=class extends Bo("NoSuchElementError"){[If]=If;constructor(t){super({message:t})}},Qa="~effect/Cause/Done",Ef=e=>O(e,Qa),VT={[Qa]:Qa,_tag:"Done",value:void 0},JT=e=>e===void 0?VT:{[Qa]:Qa,_tag:"Done",value:e},IH=ks(VT),ZT=e=>e===void 0?IH:ks(JT(e));var QT=e=>jn({op:e.label,[mt]:e.evaluate});var Xe={};Re(Xe,{Do:()=>i5,all:()=>GH,andThen:()=>BH,as:()=>pA,asVoid:()=>LH,bind:()=>s5,bindTo:()=>r5,composeK:()=>WH,contains:()=>t5,containsWith:()=>yA,exists:()=>n5,filter:()=>Oi,filterMap:()=>ZH,firstSomeOf:()=>NH,flatMap:()=>Ai,flatMapNullishOr:()=>jH,flatten:()=>Ri,fromIterable:()=>CH,fromNullOr:()=>Ax,fromNullishOr:()=>hu,fromUndefinedOr:()=>Tx,gen:()=>a5,getFailure:()=>PH,getOrElse:()=>mu,getOrNull:()=>Mf,getOrThrow:()=>$H,getOrThrowWith:()=>_f,getOrUndefined:()=>xo,getSuccess:()=>DH,isNone:()=>ae,isOption:()=>uc,isSome:()=>st,let:()=>o5,lift2:()=>XH,liftNullishOr:()=>FH,liftPredicate:()=>e5,liftThrowable:()=>_r,makeCombinerFailFast:()=>xA,makeEquivalence:()=>QH,makeOrder:()=>YH,makeReducer:()=>c5,makeReducerFailFast:()=>d5,map:()=>Gt,match:()=>lt,none:()=>N,orElse:()=>MH,orElseResult:()=>UH,orElseSome:()=>_H,partitionMap:()=>JH,product:()=>mA,productMany:()=>KH,reduceCompact:()=>VH,some:()=>$,tap:()=>fA,toArray:()=>gA,toRefinement:()=>OH,void:()=>qH,zipLeft:()=>zH,zipRight:()=>HH,zipWith:()=>hA});function Tf(e){return{combine:e}}function lu(e,t,n){return{combine:e,initialValue:t,combineAll:n??(r=>{let o=t;for(let s of r)o=e(o,s);return o})}}var ht=e=>(t,n)=>t===n||e(t,n),wH=(e,t)=>e===t,Ts=()=>wH;function XT(e){return ht((t,n)=>{if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e[r](t[r],n[r]))return!1;return!0})}function ec(e){return ht((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})}function eA(e){let t=Reflect.ownKeys(e);return ht((n,r)=>{for(let o of t)if(!e[o](n[o],r[o]))return!1;return!0})}var tc=e=>h(3,(t,n,r)=>e(t,o=>({...o,[n]:r(o)}))),nc=e=>h(2,(t,n)=>e(t,r=>({[n]:r}))),rc=(e,t)=>h(3,(n,r,o)=>t(n,s=>e(o(s),i=>({...s,[r]:i}))));var tA="~effect/Option",nA={[tA]:{_A:e=>e},...Pr,[Symbol.iterator](){return new Is(this)}},kH=Object.defineProperty(Object.assign(Object.create(nA),{_tag:"Some",_op:"Some",[X](e){return Af(e)&&vx(e)&&V(this.value,e.value)},[Y](){return ce(H(this._tag))(H(this.value))},toString(){return`some(${U(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:zt(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),EH=H("None"),TH=Object.assign(Object.create(nA),{_tag:"None",_op:"None",valueOrUndefined:void 0,[X](e){return Af(e)&&As(e)},[Y](){return EH},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Af=e=>O(e,tA),As=e=>e._tag==="None",vx=e=>e._tag==="Some",ki=Object.create(TH),rA=function(e){this.value=e};rA.prototype=kH;var jo=e=>new rA(e);var oA="~effect/Result",sA={[oA]:{_A:e=>e,_E:e=>e},...Pr,[Symbol.iterator](){return new Is(this)}},AH=Object.assign(Object.create(sA),{_tag:"Success",_op:"Success",[X](e){return Rf(e)&&sc(e)&&V(this.success,e.success)},[Y](){return ce(H(this._tag))(H(this.success))},toString(){return`success(${U(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:zt(this.success)}}}),RH=Object.assign(Object.create(sA),{_tag:"Failure",_op:"Failure",[X](e){return Rf(e)&&oc(e)&&V(this.failure,e.failure)},[Y](){return ce(H(this._tag))(H(this.failure))},toString(){return`failure(${U(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:zt(this.failure)}}}),Rf=e=>O(e,oA),oc=e=>e._tag==="Failure",sc=e=>e._tag==="Success",iA=function(e){this.failure=e};iA.prototype=RH;var pu=e=>new iA(e),aA=function(e){this.success=e};aA.prototype=AH;var fu=e=>new aA(e),Of=e=>sc(e)?ki:jo(e.failure),Cf=e=>oc(e)?ki:jo(e.success),cA=h(2,(e,t)=>As(e)?pu(t()):fu(e.value));function Mr(e){return(t,n)=>t===n?0:e(t,n)}var uA=Mr((e,t)=>e<t?-1:1),Ho=Mr((e,t)=>globalThis.Number.isNaN(e)&&globalThis.Number.isNaN(t)?0:globalThis.Number.isNaN(e)?-1:globalThis.Number.isNaN(t)?1:e<t?-1:1);var ic=Mr((e,t)=>e<t?-1:1);var wx=h(2,(e,t)=>Mr((n,r)=>e(t(n),t(r)))),ac=wx(Ho,e=>e.getTime());function lA(e){let t=Object.keys(e);return Mr((n,r)=>{for(let o of t){let s=e[o](n[o],r[o]);if(s!==0)return s}return 0})}var Ei=e=>h(2,(t,n)=>e(t,n)===-1),zo=e=>h(2,(t,n)=>e(t,n)===1),cc=e=>h(2,(t,n)=>e(t,n)!==1),dc=e=>h(2,(t,n)=>e(t,n)!==-1),Df=e=>h(2,(t,n)=>t===n||e(t,n)<1?t:n),Pf=e=>h(2,(t,n)=>t===n||e(t,n)>-1?t:n),kx=e=>h(2,(t,n)=>Df(e)(n.maximum,Pf(e)(n.minimum,t))),Ex=e=>h(2,(t,n)=>!Ei(e)(t,n.minimum)&&!zo(e)(t,n.maximum));var N=()=>ki,$=jo,uc=Af,ae=As,st=vx,lt=h(2,(e,{onNone:t,onSome:n})=>ae(e)?t():n(e.value)),OH=e=>t=>st(e(t)),CH=e=>{for(let t of e)return $(t);return N()},DH=Cf,PH=Of,mu=h(2,(e,t)=>ae(e)?t():e.value),MH=h(2,(e,t)=>ae(e)?t():e),_H=h(2,(e,t)=>ae(e)?$(t()):e),UH=h(2,(e,t)=>ae(e)?Gt(t(),fu):Gt(e,pu)),NH=e=>{let t=N();for(t of e)if(st(t))return t;return t},hu=e=>e==null?N():$(e),Tx=e=>e===void 0?N():$(e),Ax=e=>e===null?N():$(e),FH=e=>(...t)=>hu(e(...t)),Mf=mu(ff),xo=mu(Ln),_r=e=>(...t)=>{try{return $(e(...t))}catch{return N()}},_f=h(2,(e,t)=>{if(st(e))return e.value;throw t()}),$H=_f(()=>new Error("getOrThrow called on a None")),Gt=h(2,(e,t)=>ae(e)?N():$(t(e.value))),pA=h(2,(e,t)=>Gt(e,()=>t)),LH=pA(void 0),qH=$(void 0);var Ai=h(2,(e,t)=>ae(e)?N():t(e.value)),BH=h(2,(e,t)=>Ai(e,n=>{let r=ln(t)?t(n):t;return uc(r)?r:$(r)})),jH=h(2,(e,t)=>ae(e)?N():hu(t(e.value))),Ri=Ai(Q),HH=h(2,(e,t)=>Ai(e,()=>t)),zH=h(2,(e,t)=>fA(e,()=>t)),WH=h(2,(e,t)=>n=>Ai(e(n),t)),fA=h(2,(e,t)=>Ai(e,n=>Gt(t(n),()=>n))),mA=h(2,(e,t)=>st(e)&&st(t)?$([e.value,t.value]):N()),KH=h(2,(e,t)=>{if(ae(e))return N();let n=[e.value];for(let r of t){if(ae(r))return N();n.push(r.value)}return $(n)}),GH=e=>{if(Symbol.iterator in e){let n=[];for(let r of e){if(ae(r))return N();n.push(r.value)}return $(n)}let t={};for(let n of Object.keys(e)){let r=e[n];if(ae(r))return N();P(t,n,r.value)}return $(t)},hA=h(3,(e,t,n)=>Gt(mA(e,t),([r,o])=>n(r,o))),VH=h(3,(e,t,n)=>{let r=t;for(let o of e)st(o)&&(r=n(r,o.value));return r}),gA=e=>ae(e)?[]:[e.value],JH=h(2,(e,t)=>{if(ae(e))return[N(),N()];let n=t(e.value);return oc(n)?[N(),$(n.failure)]:[$(n.success),N()]}),ZH=h(2,(e,t)=>{if(ae(e))return N();let n=t(e.value);return sc(n)?$(n.success):N()}),Oi=h(2,(e,t)=>ae(e)?N():t(e.value)?$(e.value):N()),QH=e=>ht((t,n)=>ae(t)?ae(n):ae(n)?!1:e(t.value,n.value)),YH=e=>Mr((t,n)=>st(t)?st(n)?e(t.value,n.value):1:-1),XH=e=>h(2,(t,n)=>hA(t,n,e)),e5=h(2,(e,t)=>t(e)?$(e):N()),yA=e=>h(2,(t,n)=>ae(t)?!1:e(t.value,n)),t5=yA(su()),n5=h(2,(e,t)=>ae(e)?!1:t(e.value)),r5=nc(Gt),o5=tc(Gt);var s5=rc(Gt,Ai),i5=$({}),a5=(...e)=>{let n=(e.length===1?e[0]:e[1].bind(e[0]))(),r=n.next();for(;!r.done;){let o=r.value;if(ae(o))return o;r=n.next(o.value)}return $(r.value)};function c5(e){return lu((t,n)=>ae(t)?n:ae(n)?t:$(e.combine(t.value,n.value)),N())}function xA(e){return Tf((t,n)=>ae(t)||ae(n)?N():$(e.combine(t.value,n.value)))}function d5(e){let t=xA(e).combine,n=$(e.initialValue);return lu(t,n,r=>{let o=n;for(let s of r)if(o=t(o,s),ae(o))return o;return o})}var SA="~effect/Context/Service",Ur=function(){function e(){}let t=e;Object.setPrototypeOf(t,u5);let n=(r,o)=>(t.key=r,o?.defaultValue&&(t[Ox]=Ox,t.defaultValue=o.defaultValue),o?.make&&(t.make=o.make),o?.fiberCached&&bA.add(r),t);return arguments.length>0?n(arguments[0],arguments[1]):n},u5={[SA]:SA,...QT({label:"Service",evaluate(e){return kt(et(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key}},of(e){return e},context(e){return Wo(this,e)},use(e){return ue(t=>e(et(t.context,this)))},useSync(e){return ue(t=>kt(e(et(t.context,this))))}},bA=new Set,Ox="~effect/Context/Reference",vA="~effect/Context",l5=8,p5=8,Cx=(e,t,n,r)=>{let o=Object.create(m5);return o.cacheRoot=e??o,o.base=t,o.overlay=n,o.depth=r,o._flat=void 0,o.baseHits=0,o},Dx=(e,t)=>{t&&(Dx(e,t.parent),e.set(t.key,t.value))},IA=e=>{if(e._flat)return e._flat;if(!e.overlay)return e._flat=e.base;let t=new Map(e.base);return Dx(t,e.overlay),e._flat=t},f5=(e,t)=>{let n=new Map(e.mapUnsafe);return t(n),lc(n)},Uf=Symbol(),Px=(e,t)=>{let n=e;for(let o=n.overlay;o;o=o.parent)if(o.key===t)return o.value;let r=n.base.get(t);return r===void 0&&!n.base.has(t)?Uf:(n.overlay&&++n.baseHits>=n.base.size&&n.baseHits>=p5&&(n.base=IA(n),n.overlay=void 0,n.depth=0),r)},lc=e=>Cx(void 0,e,void 0,0),m5={get mapUnsafe(){return IA(this)},...Pr,[vA]:{_Services:e=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[X](e){if(!Mx(e))return!1;let t=this.mapUnsafe,n=e.mapUnsafe;if(t.size!==n.size)return!1;for(let[r,o]of t)if(!n.has(r)||!V(o,n.get(r)))return!1;return!0},[Y](){return Ot(this.mapUnsafe.size)}},wA=(e,t)=>e.cacheRoot===t.cacheRoot,Mx=e=>O(e,vA);var kA=e=>!!e[Ox],zn=()=>h5,h5=lc(new Map),Wo=(e,t)=>lc(new Map([[e.key,t]])),Wn=h(3,(e,t,n)=>g5(e,t.key,n)),g5=(e,t,n)=>{let r=e,o=bA.has(t)?void 0:r.cacheRoot;if(r.depth>=l5){let s=new Map(r._flat??r.base);return r._flat||Dx(s,r.overlay),s.set(t,n),Cx(o,s,void 0,0)}return Cx(o,r.base,{key:t,value:n,parent:r.overlay},r.depth+1)};var Nf=h(2,(e,t)=>gu(e,t.key)),gu=(e,t)=>{let n=Px(e,t);return n===Uf?void 0:n},Rs=h(2,(e,t)=>{let n=Px(e,t.key);if(n===Uf){if(kA(t))return EA(t);throw y5(t)}return n}),et=Rs,Rx="~effect/Context/defaultValue",EA=e=>Rx in e?e[Rx]:e[Rx]=e.defaultValue(),y5=e=>{let t=new Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(t.stack){let n=t.stack.split(`
|
|
8
8
|
`);n.splice(1,3),t.stack=n.join(`
|
|
9
|
-
`)}return t},Uf=h(2,(e,t)=>{let n=Cx(e,t.key);return n!==Mf?F(n):IA(t)?F(vA(t)):N()}),Nf=h(2,(e,t)=>e.mapUnsafe.size===0?t:t.mapUnsafe.size===0?e:d3(e,n=>t.mapUnsafe.forEach((r,o)=>n.set(o,r)))),wA=(...e)=>{let t=new Map;for(let n=0;n<e.length;n++)e[n].mapUnsafe.forEach((r,o)=>{t.set(o,r)});return lc(t)};var Me=_r;var Px=e=>e.length>0;var it={};Ae(it,{Do:()=>M3,all:()=>C3,andThen:()=>O3,bind:()=>_3,bindTo:()=>U3,fail:()=>J,failVoid:()=>g3,filterOrFail:()=>k3,flatMap:()=>gt,flip:()=>D3,fromNullishOr:()=>y3,fromOption:()=>x3,gen:()=>P3,getFailure:()=>b3,getOrElse:()=>Rs,getOrNull:()=>T3,getOrThrow:()=>Ur,getOrThrowWith:()=>kA,getOrUndefined:()=>A3,getSuccess:()=>S3,isFailure:()=>fe,isResult:()=>$f,isSuccess:()=>Tt,let:()=>N3,liftPredicate:()=>w3,makeEquivalence:()=>I3,map:()=>bt,mapBoth:()=>v3,mapError:()=>pc,match:()=>Jt,merge:()=>E3,orElse:()=>R3,succeed:()=>$,succeedNone:()=>Mx,succeedSome:()=>L3,tap:()=>q3,transposeMapOption:()=>$3,transposeOption:()=>F3,try:()=>Ff,void:()=>h3});var $=pu,J=lu,h3=$(void 0);var g3=J(void 0),y3=h(2,(e,t)=>e==null?J(t(e)):$(e)),x3=sA,Ff=e=>{if(dn(e))try{return $(e())}catch(t){return J(t)}else try{return $(e.try())}catch(t){return J(e.catch(t))}};var $f=Tf,fe=oc,Tt=sc,S3=Rf,b3=Af,I3=(e,t)=>ht((n,r)=>fe(n)?fe(r)&&t(n.failure,r.failure):Tt(r)&&e(n.success,r.success)),v3=h(2,(e,{onFailure:t,onSuccess:n})=>fe(e)?J(t(e.failure)):$(n(e.success))),pc=h(2,(e,t)=>fe(e)?J(t(e.failure)):e),bt=h(2,(e,t)=>Tt(e)?$(t(e.success)):e),Jt=h(2,(e,{onFailure:t,onSuccess:n})=>fe(e)?t(e.failure):n(e.success)),w3=h(3,(e,t,n)=>t(e)?$(e):J(n(e))),k3=h(3,(e,t,n)=>gt(e,r=>t(r)?$(r):J(n(r)))),E3=Jt({onFailure:Q,onSuccess:Q}),Rs=h(2,(e,t)=>fe(e)?t(e.failure):e.success),T3=Rs(lf),A3=Rs($n),kA=h(2,(e,t)=>{if(Tt(e))return e.success;throw t(e.failure)}),Ur=kA(Q),R3=h(2,(e,t)=>fe(e)?t(e.failure):$(e.success)),gt=h(2,(e,t)=>fe(e)?J(e.failure):t(e.success)),O3=h(2,(e,t)=>gt(e,n=>{let r=dn(t)?t(n):t;return $f(r)?r:$(r)})),C3=e=>{if(Symbol.iterator in e){let n=[];for(let r of e){if(fe(r))return r;n.push(r.success)}return $(n)}let t={};for(let n of Object.keys(e)){let r=e[n];if(fe(r))return r;M(t,n,r.success)}return $(t)},D3=e=>fe(e)?$(e.failure):J(e.success),P3=(...e)=>{let n=(e.length===1?e[0]:e[1].bind(e[0]))(),r=n.next();for(;!r.done;){let o=r.value;if(fe(o))return o;r=n.next(o.success)}return $(r.value)},M3=$({}),_3=rc(bt,gt),U3=nc(bt),N3=tc(bt);var F3=e=>Ts(e)?Mx:bt(e.value,qo),$3=h(2,(e,t)=>Ts(e)?Mx:bt(t(e.value),qo)),Mx=$(ki),L3=e=>$(qo(e)),q3=h(2,(e,t)=>(Tt(e)&&t(e.success),e));var EA=ZT;var AA=h(2,(e,t)=>{let n=0;for(let r of e){let o=t(r,n);if(pf(o)){if(o)return F(r)}else if(st(o))return o;n++}return N()});var RA=h(2,(e,t)=>({[Symbol.iterator](){let n=e[Symbol.iterator](),r=0;return{next(){let o=n.next();for(;!o.done;){if(t(o.value,r++))return{done:!1,value:o.value};o=n.next()}return{done:!0,value:void 0}}}}}));var B3=h(2,(e,t)=>Object.hasOwn(e,t));var Lf=h(2,(e,t)=>{let n={...e};for(let r of OA(e))M(n,r,t(e[r],r));return n});var OA=e=>Object.keys(e);var j3=e=>h(2,(t,n)=>{for(let r of OA(t))if(!B3(n,r)||!e(t[r],n[r]))return!1;return!0});var CA=e=>{let t=j3(e);return(n,r)=>t(n,r)&&t(r,n)};var Ux=globalThis.Array;var kn=e=>Ux.isArray(e)?e:Ux.from(e);var Bf=h(2,(e,t)=>[...e,t]);var sae=Ux.isArray;var fc=Px,DA=Px;function jf(e){let t=Number(e);return String(t)===e&&Number.isInteger(t)&&t>=0&&t<2**32-1}var Nx=AA;var H3=(e,t)=>{let n=j(t),r=e.get(n);if(r===void 0)return e.set(n,[t]),!0;for(let o of r)if(V(o,t))return!1;return r.push(t),!0};var Hf=()=>[];var zo=h(2,(e,t)=>e.map(t));var PA=e=>{let t=[];for(let n of e)st(n)&&t.push(n.value);return t};var Fx=h(2,(e,t)=>{let n=[],r=[],o=0;for(let s of e){let i=t(s,o++);Tt(i)?n.push(i.success):r.push(i.failure)}return[n,r]});var MA=ec;var zf=e=>{let t=kn(e);if(t.length<2)return[...t];let n=new Map,r=[];for(let o of t)H3(n,o)&&r.push(o);return r};var Kf="~effect/Duration",Wo=BigInt(0),LA=BigInt(1),z3=BigInt(2),W3=BigInt(10),_A=BigInt(24),Wf=BigInt(60),Gf=BigInt(1e3),Ci=BigInt(1e6),qA=BigInt(1e9),K3=BigInt(6e10),G3=BigInt(36e11),V3=BigInt(864e11),J3=BigInt(6048e11),BA=e=>BigInt(Math.sign(e)*Math.round(Math.abs(e))),Lx=e=>Number.isInteger(e)?BigInt(e)*Ci:BA(e*1e6),UA=e=>Zt(Number.isFinite(e)?BA(e):e),jA=(e,t)=>{let n=Number(e);if(Number.isFinite(n))return n/t;let r=BigInt(t);return Number(e/r)+Number(e%r)/t},$x=(e,t)=>{let n=e.indexOf(".");if(n===-1)return BigInt(e)*t;let r=e[0]==="-",o=e.slice(n+1),s=W3**BigInt(o.length),i=(BigInt(e.slice(r?1:0,n))*s+BigInt(o))*t;return Z3(r?-i:i,s)},Z3=(e,t)=>{let n=e<Wo?-e:e,r=n/t+(n%t*z3>=t?LA:Wo);return e<Wo?-r:r},mc=(e,t)=>{let n=Number(e)*t;if(!Number.isFinite(n))return Zt(n);let r=$x(e,BigInt(t)*Ci);return Zt(Number.isInteger(n)&&BigInt(n)*Ci===r?n:r)};var Q3=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Pt=e=>{switch(typeof e){case"number":return go(e);case"bigint":return En(e);case"string":{if(e==="Infinity")return Pi;if(e==="-Infinity")return hc;let t=Q3.exec(e);if(!t)break;let[n,r,o]=t;if(o==="nano"||o==="nanos")return En($x(r,LA));if(o==="micro"||o==="micros")return En($x(r,Gf));switch(o){case"milli":case"millis":return mc(r,1);case"second":case"seconds":return mc(r,1e3);case"minute":case"minutes":return mc(r,6e4);case"hour":case"hours":return mc(r,36e5);case"day":case"days":return mc(r,864e5);case"week":case"weeks":return mc(r,6048e5)}break}case"object":{if(e===null)break;if(Kf in e)return e;if(Array.isArray(e)){if(e.length!==2||!e.every(Xd))return FA(e);if(Number.isNaN(e[0])||Number.isNaN(e[1]))return Di;if(e[0]===-1/0||e[1]===-1/0)return hc;if(e[0]===1/0||e[1]===1/0)return Pi;let s=e[0]*1e9+e[1];return Number.isFinite(s)&&Number.isInteger(e[0])&&Number.isInteger(e[1])?Zt(BigInt(e[0])*qA+BigInt(e[1])):UA(s)}let t=e,n=0;if(t.weeks&&(n+=t.weeks*6048e5),t.days&&(n+=t.days*864e5),t.hours&&(n+=t.hours*36e5),t.minutes&&(n+=t.minutes*6e4),t.seconds&&(n+=t.seconds*1e3),t.milliseconds&&(n+=t.milliseconds),!t.microseconds&&!t.nanoseconds){if(!Number.isFinite(n))return Zt(n);let s=NA(t);return s===void 0||BigInt(n)*Ci===s?Zt(n):Zt(s)}let r=n*1e6+(t.microseconds??0)*1e3+(t.nanoseconds??0),o=Number.isFinite(r)?NA(t):void 0;return o===void 0?UA(r):Zt(o)}}return FA(e)},Os=e=>!e||Number.isInteger(e),NA=e=>{if(!Os(e.weeks)||!Os(e.days)||!Os(e.hours)||!Os(e.minutes)||!Os(e.seconds)||!Os(e.milliseconds)||!Os(e.microseconds)||!Os(e.nanoseconds))return;let t=Wo;return e.weeks&&(t+=BigInt(e.weeks)*J3),e.days&&(t+=BigInt(e.days)*V3),e.hours&&(t+=BigInt(e.hours)*G3),e.minutes&&(t+=BigInt(e.minutes)*K3),e.seconds&&(t+=BigInt(e.seconds)*qA),e.milliseconds&&(t+=BigInt(e.milliseconds)*Ci),e.microseconds&&(t+=BigInt(e.microseconds)*Gf),e.nanoseconds&&(t+=BigInt(e.nanoseconds)),t},FA=e=>{throw new Error(`Invalid Input: ${e}`)},Vf=Mr(Pt),$A={_tag:"Millis",millis:0},Y3={_tag:"Infinity"},X3={_tag:"NegativeInfinity"},e5={[Kf]:Kf,[Y](){switch(this.value._tag){case"Millis":return j(Lx(this.value.millis));case"Nanos":return j(this.value.nanos);default:return nu(this.value)}},[X](e){return gu(e)&&r5(this,e)},toString(){switch(this.value._tag){case"Infinity":return"Infinity";case"NegativeInfinity":return"-Infinity";case"Nanos":return`${this.value.nanos} nanos`;case"Millis":return`${this.value.millis} millis`}},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",nanos:String(this.value.nanos)};case"Infinity":return{_id:"Duration",_tag:"Infinity"};case"NegativeInfinity":return{_id:"Duration",_tag:"NegativeInfinity"}}},[He](){return this.toJSON()},pipe(){return ie(this,arguments)}},Zt=e=>{let t=Object.create(e5);return typeof e=="number"?isNaN(e)||e===0||Object.is(e,-0)?t.value=$A:Number.isFinite(e)?Number.isInteger(e)?t.value={_tag:"Millis",millis:e}:t.value={_tag:"Nanos",nanos:Lx(e)}:t.value=e>0?Y3:X3:e===Wo?t.value=$A:t.value={_tag:"Nanos",nanos:e},t},gu=e=>O(e,Kf),Mi=e=>e.value._tag!=="Infinity"&&e.value._tag!=="NegativeInfinity",t5=e=>{switch(e.value._tag){case"Millis":return e.value.millis===0;case"Nanos":return e.value.nanos===Wo;case"Infinity":case"NegativeInfinity":return!1}},Jf=e=>{switch(e.value._tag){case"Millis":return e.value.millis<0;case"Nanos":return e.value.nanos<Wo;case"NegativeInfinity":return!0;case"Infinity":return!1}};var n5=e=>{switch(e.value._tag){case"Infinity":case"NegativeInfinity":return Pi;case"Millis":return e.value.millis<0?Zt(-e.value.millis):e;case"Nanos":return e.value.nanos<Wo?Zt(-e.value.nanos):e}};var Di=Zt(0),Pi=Zt(1/0),hc=Zt(-1/0),En=e=>Zt(e);var go=e=>Zt(e),yc=e=>Zt(e*1e3);var cr=e=>HA(Pt(e),{onMillis:Q,onNanos:t=>jA(t,1e6),onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),yo=e=>HA(Pt(e),{onMillis:t=>t/1e3,onNanos:t=>jA(t,1e9),onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0});var gc=e=>{let t=Pt(e);switch(t.value._tag){case"Infinity":case"NegativeInfinity":throw new Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return Lx(t.value.millis)}},Zf=Mr(gc);var HA=h(2,(e,t)=>{switch(e.value._tag){case"Millis":return t.onMillis(e.value.millis);case"Nanos":return t.onNanos(e.value.nanos);case"Infinity":return t.onInfinity();case"NegativeInfinity":return(t.onNegativeInfinity??t.onInfinity)()}}),zA=h(3,(e,t,n)=>e.value._tag==="Infinity"||e.value._tag==="NegativeInfinity"||t.value._tag==="Infinity"||t.value._tag==="NegativeInfinity"?n.onInfinity(e,t):e.value._tag==="Millis"?t.value._tag==="Millis"?n.onMillis(e.value.millis,t.value.millis):n.onNanos(gc(e),t.value.nanos):n.onNanos(e.value.nanos,gc(t)));var WA=(e,t)=>zA(e,t,{onMillis:(n,r)=>n===r,onNanos:(n,r)=>n===r,onInfinity:(n,r)=>n.value._tag===r.value._tag});var KA=h(2,(e,t)=>zA(e,t,{onMillis:(n,r)=>Zt(n-r),onNanos:(n,r)=>Zt(n-r),onInfinity:(n,r)=>{let o=n.value._tag,s=r.value._tag;return o==="Infinity"?s==="Infinity"?Di:Pi:o==="NegativeInfinity"?s==="NegativeInfinity"?Di:hc:s==="Infinity"?hc:Pi}}));var r5=h(2,(e,t)=>WA(e,t)),o5=e=>{if(e.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};if(e.value._tag==="NegativeInfinity")return{days:-1/0,hours:-1/0,minutes:-1/0,seconds:-1/0,millis:-1/0,nanos:-1/0};let t=gc(e),n=t<Wo,r=n?-t:t,o=r/Ci,s=o/Gf,i=s/Wf,c=i/Wf,d=c/_A,u=n?-1:1;return{days:u*Number(d),hours:u*Number(c%_A),minutes:u*Number(i%Wf),seconds:u*Number(s%Wf),millis:u*Number(o%Gf),nanos:u*Number(r%Ci)}},qx=e=>{if(e.value._tag==="Infinity")return"Infinity";if(e.value._tag==="NegativeInfinity")return"-Infinity";if(t5(e))return"0";if(Jf(e))return"-"+qx(n5(e));let t=o5(e),n=[];return t.days!==0&&n.push(`${t.days}d`),t.hours!==0&&n.push(`${t.hours}h`),t.minutes!==0&&n.push(`${t.minutes}m`),t.seconds!==0&&n.push(`${t.seconds}s`),t.millis!==0&&n.push(`${t.millis}ms`),t.nanos!==0&&n.push(`${t.nanos}ns`),n.join(" ")};var xc=Me("effect/Scheduler",{fiberCached:!0,defaultValue:()=>new _i}),GA=e=>{let t=!1;return Promise.resolve().then(()=>{t||e()}),()=>{t=!0}},s5="setImmediate"in globalThis?e=>{let t=globalThis.setImmediate(e);return()=>globalThis.clearImmediate(t)}:e=>{let t=setTimeout(e,0);return()=>clearTimeout(t)},VA=e=>{try{return s5(e)}catch{return GA(e)}},Bx=class{buckets=[];scheduleTask(t,n){let r=this.buckets,o=r.length,s,i=0;for(;i<o&&!(r[i][0]>n);i++)s=r[i];s&&s[0]===n?s[1].push(t):i===o?r.push([n,[t]]):r.splice(i,0,[n,[t]])}drain(){let t=this.buckets;return this.buckets=[],t}},_i=class{executionMode;setImmediate;constructor(t="async",n){this.executionMode=t,this.setImmediate=n??(t==="sync"?GA:VA)}shouldYield(t){return t.currentOpCount>=t.cache.maxOpsBeforeYield}makeDispatcher(){return new jx(this.setImmediate)}},jx=class{tasks=new Bx;running=void 0;setImmediate;constructor(t=VA){this.setImmediate=t}scheduleTask(t,n){this.tasks.scheduleTask(t,n),this.running===void 0&&(this.running=this.setImmediate(this.afterScheduled))}afterScheduled=()=>{this.running=void 0,this.runTasks()};runTasks(){let t=this.tasks.drain();for(let n=0;n<t.length;n++){let r=t[n][1];for(let o=0;o<r.length;o++)r[o]()}}flush(){for(;this.tasks.buckets.length>0;)this.running!==void 0&&(this.running(),this.running=void 0),this.runTasks()}},JA=Me("effect/Scheduler/MaxOpsBeforeYield",{fiberCached:!0,defaultValue:()=>2048}),ZA=Me("effect/Scheduler/PreventSchedulerYield",{fiberCached:!0,defaultValue:()=>!1});var QA=class extends xs{constructor(e){super(),e&&xf(this,e)}};var Qf=du,dr=Lo;var YA="~effect/encoding/EncodingError",ur=class extends dr("EncodingError"){[YA]=YA};var Yf=e=>XA(typeof e=="string"?u5.encode(e):e),zx=e=>{switch(e){case 16:return c5();case 32:return d5();default:{let t="";for(let n=e>>>3;n>0;n--)t+=a5();return t}}},re=Uint8Array.from("0123456789abcdef",e=>e.charCodeAt(0)),Ni=()=>Math.random()*4294967296>>>0,a5=()=>{let e=Ni();return String.fromCharCode(re[e>>>28],re[e>>>24&15],re[e>>>20&15],re[e>>>16&15],re[e>>>12&15],re[e>>>8&15],re[e>>>4&15],re[e&15])},c5=()=>{let e=Ni(),t=Ni();return String.fromCharCode(re[e>>>28],re[e>>>24&15],re[e>>>20&15],re[e>>>16&15],re[e>>>12&15],re[e>>>8&15],re[e>>>4&15],re[e&15],re[t>>>28],re[t>>>24&15],re[t>>>20&15],re[t>>>16&15],re[t>>>12&15],re[t>>>8&15],re[t>>>4&15],re[t&15])},d5=()=>{let e=Ni(),t=Ni(),n=Ni(),r=Ni();return String.fromCharCode(re[e>>>28],re[e>>>24&15],re[e>>>20&15],re[e>>>16&15],re[e>>>12&15],re[e>>>8&15],re[e>>>4&15],re[e&15],re[t>>>28],re[t>>>24&15],re[t>>>20&15],re[t>>>16&15],re[t>>>12&15],re[t>>>8&15],re[t>>>4&15],re[t&15],re[n>>>28],re[n>>>24&15],re[n>>>20&15],re[n>>>16&15],re[n>>>12&15],re[n>>>8&15],re[n>>>4&15],re[n&15],re[r>>>28],re[r>>>24&15],re[r>>>20&15],re[r>>>16&15],re[r>>>12&15],re[r>>>8&15],re[r>>>4&15],re[r&15])},Wx=e=>{let t=new TextEncoder().encode(e);if(t.length%2!==0)return J(new ur({module:"Hex",kind:"Decode",input:e,message:`Length must be a multiple of 2, but is ${t.length}`}));try{let n=t.length/2,r=new Uint8Array(n);for(let o=0;o<n;o++){let s=eR(t[o*2]),i=eR(t[o*2+1]);r[o]=s<<4|i}return $(r)}catch(n){return J(new ur({module:"Hex",kind:"Decode",input:e,message:n instanceof Error?n.message:"Invalid input"}))}},tR=e=>bt(Wx(e),t=>l5.decode(t)),u5=new TextEncoder,l5=new TextDecoder,p5=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0")),XA=e=>{let t="";for(let n=0;n<e.length;n++)t+=p5[e[n]];return t},eR=e=>{if(48<=e&&e<=57)return e-48;if(97<=e&&e<=102)return e-97+10;if(65<=e&&e<=70)return e-65+10;throw new TypeError("Invalid input")};var Gx="effect/Tracer/ParentSpan",yu=class extends _r()(Gx,{fiberCached:!0}){},f5=e=>e;var em=Me("effect/Tracer/DisablePropagation",{defaultValue:uf}),nR=Me("effect/Tracer/CurrentTraceLevel",{defaultValue:()=>"Info"}),rR=Me("effect/Tracer/MinimumTraceLevel",{defaultValue:()=>"All"}),Vx="effect/Tracer",Jx=Me(Vx,{fiberCached:!0,defaultValue:()=>Zx}),Zx=f5({span:e=>new Kx(e)}),Kx=class{_tag="Span";sampled;name;parent;annotations;links;startTime;kind;status;_traceId=void 0;_spanId=void 0;_attributes=void 0;_events=void 0;constructor(t){this.name=t.name,this.parent=t.parent,this.annotations=t.annotations,this.links=t.links,this.startTime=t.startTime,this.kind=t.kind,this.sampled=t.sampled,this.status={_tag:"Started",startTime:t.startTime}}get traceId(){return this._traceId??=ho(this.parent)?.traceId??zx(32)}get spanId(){return this._spanId??=zx(16)}get attributes(){return this._attributes??=new Map}get events(){return this._events??=[]}end(t,n){this.status={_tag:"Ended",endTime:t,exit:n,startTime:this.status.startTime}}attribute(t,n){this.attributes.set(t,n)}event(t,n,r){this.events.push([t,n,r??{}])}addLinks(t){this.links.push(...t)}};var sR="effect/Metric/FiberRuntimeMetrics";var iR=Me("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),xu=Me("effect/References/CurrentStackFrame",{fiberCached:!0,defaultValue:$n}),tm=Me("effect/References/TracerEnabled",{fiberCached:!0,defaultValue:Va}),Sc=Me("effect/References/TracerTimingEnabled",{defaultValue:Va}),Su=Me("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),bu=Me("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),Ko=Me("effect/References/CurrentLogAnnotations",{defaultValue:()=>({})}),Qx=Me("effect/References/CurrentLogLevel",{fiberCached:!0,defaultValue:()=>"Info"}),Yx=Me("effect/References/MinimumLogLevel",{fiberCached:!0,defaultValue:()=>"Info"});var nm=Me("effect/References/CurrentLogSpans",{defaultValue:()=>[]});var rm=e=>{if(e?.captureStackTrace===!1)return e;if(e?.captureStackTrace!==void 0&&typeof e.captureStackTrace!="boolean")return e;let t=Or();if(t===0&&e?.captureStackTrace!==!0)return{...e,captureStackTrace:!1};Kt(3);let n=new Error;return Kt(t),{...e,captureStackTrace:g5(()=>n.stack)}},Xx=e=>t=>{let n;return()=>{if(n!==void 0)return n;let r=t();if(!r)return;let o=r.split(`
|
|
10
|
-
`);if(o[e]!==void 0)return n=o[e].trim(),n}},
|
|
11
|
-
`),s=[r];for(let i=1;i<o.length&&!/Generator\.next|~effect\/(?:Effect|Utils)/.test(o[i]);i++)s.push(o[i]);return n?
|
|
9
|
+
`)}return t},Ff=h(2,(e,t)=>{let n=Px(e,t.key);return n!==Uf?$(n):kA(t)?$(EA(t)):N()}),$f=h(2,(e,t)=>e.mapUnsafe.size===0?t:t.mapUnsafe.size===0?e:f5(e,n=>t.mapUnsafe.forEach((r,o)=>n.set(o,r)))),TA=(...e)=>{let t=new Map;for(let n=0;n<e.length;n++)e[n].mapUnsafe.forEach((r,o)=>{t.set(o,r)});return lc(t)};var Ue=Ur;var _x=e=>e.length>0;var it={};Re(it,{Do:()=>F5,all:()=>_5,andThen:()=>M5,bind:()=>$5,bindTo:()=>L5,fail:()=>J,failVoid:()=>b5,filterOrFail:()=>R5,flatMap:()=>gt,flip:()=>U5,fromNullishOr:()=>v5,fromOption:()=>I5,gen:()=>N5,getFailure:()=>k5,getOrElse:()=>Os,getOrNull:()=>C5,getOrThrow:()=>Nr,getOrThrowWith:()=>AA,getOrUndefined:()=>D5,getSuccess:()=>w5,isFailure:()=>pe,isResult:()=>qf,isSuccess:()=>Et,let:()=>q5,liftPredicate:()=>A5,makeEquivalence:()=>E5,map:()=>bt,mapBoth:()=>T5,mapError:()=>pc,match:()=>Vt,merge:()=>O5,orElse:()=>P5,succeed:()=>L,succeedNone:()=>Ux,succeedSome:()=>H5,tap:()=>z5,transposeMapOption:()=>j5,transposeOption:()=>B5,try:()=>Lf,void:()=>S5});var L=fu,J=pu,S5=L(void 0);var b5=J(void 0),v5=h(2,(e,t)=>e==null?J(t(e)):L(e)),I5=cA,Lf=e=>{if(ln(e))try{return L(e())}catch(t){return J(t)}else try{return L(e.try())}catch(t){return J(e.catch(t))}};var qf=Rf,pe=oc,Et=sc,w5=Cf,k5=Of,E5=(e,t)=>ht((n,r)=>pe(n)?pe(r)&&t(n.failure,r.failure):Et(r)&&e(n.success,r.success)),T5=h(2,(e,{onFailure:t,onSuccess:n})=>pe(e)?J(t(e.failure)):L(n(e.success))),pc=h(2,(e,t)=>pe(e)?J(t(e.failure)):e),bt=h(2,(e,t)=>Et(e)?L(t(e.success)):e),Vt=h(2,(e,{onFailure:t,onSuccess:n})=>pe(e)?t(e.failure):n(e.success)),A5=h(3,(e,t,n)=>t(e)?L(e):J(n(e))),R5=h(3,(e,t,n)=>gt(e,r=>t(r)?L(r):J(n(r)))),O5=Vt({onFailure:Q,onSuccess:Q}),Os=h(2,(e,t)=>pe(e)?t(e.failure):e.success),C5=Os(ff),D5=Os(Ln),AA=h(2,(e,t)=>{if(Et(e))return e.success;throw t(e.failure)}),Nr=AA(Q),P5=h(2,(e,t)=>pe(e)?t(e.failure):L(e.success)),gt=h(2,(e,t)=>pe(e)?J(e.failure):t(e.success)),M5=h(2,(e,t)=>gt(e,n=>{let r=ln(t)?t(n):t;return qf(r)?r:L(r)})),_5=e=>{if(Symbol.iterator in e){let n=[];for(let r of e){if(pe(r))return r;n.push(r.success)}return L(n)}let t={};for(let n of Object.keys(e)){let r=e[n];if(pe(r))return r;P(t,n,r.success)}return L(t)},U5=e=>pe(e)?L(e.failure):J(e.success),N5=(...e)=>{let n=(e.length===1?e[0]:e[1].bind(e[0]))(),r=n.next();for(;!r.done;){let o=r.value;if(pe(o))return o;r=n.next(o.success)}return L(r.value)},F5=L({}),$5=rc(bt,gt),L5=nc(bt),q5=tc(bt);var B5=e=>As(e)?Ux:bt(e.value,jo),j5=h(2,(e,t)=>As(e)?Ux:bt(t(e.value),jo)),Ux=L(ki),H5=e=>L(jo(e)),z5=h(2,(e,t)=>(Et(e)&&t(e.success),e));var RA=XT;var CA=h(2,(e,t)=>{let n=0;for(let r of e){let o=t(r,n);if(mf(o)){if(o)return $(r)}else if(st(o))return o;n++}return N()});var DA=h(2,(e,t)=>({[Symbol.iterator](){let n=e[Symbol.iterator](),r=0;return{next(){let o=n.next();for(;!o.done;){if(t(o.value,r++))return{done:!1,value:o.value};o=n.next()}return{done:!0,value:void 0}}}}}));var W5=h(2,(e,t)=>Object.hasOwn(e,t));var Bf=h(2,(e,t)=>{let n={...e};for(let r of PA(e))P(n,r,t(e[r],r));return n});var PA=e=>Object.keys(e);var K5=e=>h(2,(t,n)=>{for(let r of PA(t))if(!W5(n,r)||!e(t[r],n[r]))return!1;return!0});var MA=e=>{let t=K5(e);return(n,r)=>t(n,r)&&t(r,n)};var Fx=globalThis.Array;var En=e=>Fx.isArray(e)?e:Fx.from(e);var Hf=h(2,(e,t)=>[...e,t]);var fae=Fx.isArray;var fc=_x,_A=_x;function zf(e){let t=Number(e);return String(t)===e&&Number.isInteger(t)&&t>=0&&t<2**32-1}var $x=CA;var G5=(e,t)=>{let n=H(t),r=e.get(n);if(r===void 0)return e.set(n,[t]),!0;for(let o of r)if(V(o,t))return!1;return r.push(t),!0};var Wf=()=>[];var Ko=h(2,(e,t)=>e.map(t));var UA=e=>{let t=[];for(let n of e)st(n)&&t.push(n.value);return t};var Lx=h(2,(e,t)=>{let n=[],r=[],o=0;for(let s of e){let i=t(s,o++);Et(i)?n.push(i.success):r.push(i.failure)}return[n,r]});var NA=ec;var Kf=e=>{let t=En(e);if(t.length<2)return[...t];let n=new Map,r=[];for(let o of t)G5(n,o)&&r.push(o);return r};var Vf="~effect/Duration",Go=BigInt(0),jA=BigInt(1),V5=BigInt(2),J5=BigInt(10),FA=BigInt(24),Gf=BigInt(60),Jf=BigInt(1e3),Ci=BigInt(1e6),HA=BigInt(1e9),Z5=BigInt(6e10),Q5=BigInt(36e11),Y5=BigInt(864e11),X5=BigInt(6048e11),zA=e=>BigInt(Math.sign(e)*Math.round(Math.abs(e))),Bx=e=>Number.isInteger(e)?BigInt(e)*Ci:zA(e*1e6),$A=e=>Jt(Number.isFinite(e)?zA(e):e),WA=(e,t)=>{let n=Number(e);if(Number.isFinite(n))return n/t;let r=BigInt(t);return Number(e/r)+Number(e%r)/t},qx=(e,t)=>{let n=e.indexOf(".");if(n===-1)return BigInt(e)*t;let r=e[0]==="-",o=e.slice(n+1),s=J5**BigInt(o.length),i=(BigInt(e.slice(r?1:0,n))*s+BigInt(o))*t;return e6(r?-i:i,s)},e6=(e,t)=>{let n=e<Go?-e:e,r=n/t+(n%t*V5>=t?jA:Go);return e<Go?-r:r},mc=(e,t)=>{let n=Number(e)*t;if(!Number.isFinite(n))return Jt(n);let r=qx(e,BigInt(t)*Ci);return Jt(Number.isInteger(n)&&BigInt(n)*Ci===r?n:r)};var t6=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Dt=e=>{switch(typeof e){case"number":return So(e);case"bigint":return Tn(e);case"string":{if(e==="Infinity")return Pi;if(e==="-Infinity")return hc;let t=t6.exec(e);if(!t)break;let[n,r,o]=t;if(o==="nano"||o==="nanos")return Tn(qx(r,jA));if(o==="micro"||o==="micros")return Tn(qx(r,Jf));switch(o){case"milli":case"millis":return mc(r,1);case"second":case"seconds":return mc(r,1e3);case"minute":case"minutes":return mc(r,6e4);case"hour":case"hours":return mc(r,36e5);case"day":case"days":return mc(r,864e5);case"week":case"weeks":return mc(r,6048e5)}break}case"object":{if(e===null)break;if(Vf in e)return e;if(Array.isArray(e)){if(e.length!==2||!e.every(eu))return qA(e);if(Number.isNaN(e[0])||Number.isNaN(e[1]))return Di;if(e[0]===-1/0||e[1]===-1/0)return hc;if(e[0]===1/0||e[1]===1/0)return Pi;let s=e[0]*1e9+e[1];return Number.isFinite(s)&&Number.isInteger(e[0])&&Number.isInteger(e[1])?Jt(BigInt(e[0])*HA+BigInt(e[1])):$A(s)}let t=e,n=0;if(t.weeks&&(n+=t.weeks*6048e5),t.days&&(n+=t.days*864e5),t.hours&&(n+=t.hours*36e5),t.minutes&&(n+=t.minutes*6e4),t.seconds&&(n+=t.seconds*1e3),t.milliseconds&&(n+=t.milliseconds),!t.microseconds&&!t.nanoseconds){if(!Number.isFinite(n))return Jt(n);let s=LA(t);return s===void 0||BigInt(n)*Ci===s?Jt(n):Jt(s)}let r=n*1e6+(t.microseconds??0)*1e3+(t.nanoseconds??0),o=Number.isFinite(r)?LA(t):void 0;return o===void 0?$A(r):Jt(o)}}return qA(e)},Cs=e=>!e||Number.isInteger(e),LA=e=>{if(!Cs(e.weeks)||!Cs(e.days)||!Cs(e.hours)||!Cs(e.minutes)||!Cs(e.seconds)||!Cs(e.milliseconds)||!Cs(e.microseconds)||!Cs(e.nanoseconds))return;let t=Go;return e.weeks&&(t+=BigInt(e.weeks)*X5),e.days&&(t+=BigInt(e.days)*Y5),e.hours&&(t+=BigInt(e.hours)*Q5),e.minutes&&(t+=BigInt(e.minutes)*Z5),e.seconds&&(t+=BigInt(e.seconds)*HA),e.milliseconds&&(t+=BigInt(e.milliseconds)*Ci),e.microseconds&&(t+=BigInt(e.microseconds)*Jf),e.nanoseconds&&(t+=BigInt(e.nanoseconds)),t},qA=e=>{throw new Error(`Invalid Input: ${e}`)},Zf=_r(Dt),BA={_tag:"Millis",millis:0},n6={_tag:"Infinity"},r6={_tag:"NegativeInfinity"},o6={[Vf]:Vf,[Y](){switch(this.value._tag){case"Millis":return H(Bx(this.value.millis));case"Nanos":return H(this.value.nanos);default:return ru(this.value)}},[X](e){return yu(e)&&a6(this,e)},toString(){switch(this.value._tag){case"Infinity":return"Infinity";case"NegativeInfinity":return"-Infinity";case"Nanos":return`${this.value.nanos} nanos`;case"Millis":return`${this.value.millis} millis`}},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",nanos:String(this.value.nanos)};case"Infinity":return{_id:"Duration",_tag:"Infinity"};case"NegativeInfinity":return{_id:"Duration",_tag:"NegativeInfinity"}}},[je](){return this.toJSON()},pipe(){return ie(this,arguments)}},Jt=e=>{let t=Object.create(o6);return typeof e=="number"?isNaN(e)||e===0||Object.is(e,-0)?t.value=BA:Number.isFinite(e)?Number.isInteger(e)?t.value={_tag:"Millis",millis:e}:t.value={_tag:"Nanos",nanos:Bx(e)}:t.value=e>0?n6:r6:e===Go?t.value=BA:t.value={_tag:"Nanos",nanos:e},t},yu=e=>O(e,Vf),Mi=e=>e.value._tag!=="Infinity"&&e.value._tag!=="NegativeInfinity",s6=e=>{switch(e.value._tag){case"Millis":return e.value.millis===0;case"Nanos":return e.value.nanos===Go;case"Infinity":case"NegativeInfinity":return!1}},Qf=e=>{switch(e.value._tag){case"Millis":return e.value.millis<0;case"Nanos":return e.value.nanos<Go;case"NegativeInfinity":return!0;case"Infinity":return!1}};var i6=e=>{switch(e.value._tag){case"Infinity":case"NegativeInfinity":return Pi;case"Millis":return e.value.millis<0?Jt(-e.value.millis):e;case"Nanos":return e.value.nanos<Go?Jt(-e.value.nanos):e}};var Di=Jt(0),Pi=Jt(1/0),hc=Jt(-1/0),Tn=e=>Jt(e);var So=e=>Jt(e),yc=e=>Jt(e*1e3);var dr=e=>KA(Dt(e),{onMillis:Q,onNanos:t=>WA(t,1e6),onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0}),bo=e=>KA(Dt(e),{onMillis:t=>t/1e3,onNanos:t=>WA(t,1e9),onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0});var gc=e=>{let t=Dt(e);switch(t.value._tag){case"Infinity":case"NegativeInfinity":throw new Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return Bx(t.value.millis)}},Yf=_r(gc);var KA=h(2,(e,t)=>{switch(e.value._tag){case"Millis":return t.onMillis(e.value.millis);case"Nanos":return t.onNanos(e.value.nanos);case"Infinity":return t.onInfinity();case"NegativeInfinity":return(t.onNegativeInfinity??t.onInfinity)()}}),GA=h(3,(e,t,n)=>e.value._tag==="Infinity"||e.value._tag==="NegativeInfinity"||t.value._tag==="Infinity"||t.value._tag==="NegativeInfinity"?n.onInfinity(e,t):e.value._tag==="Millis"?t.value._tag==="Millis"?n.onMillis(e.value.millis,t.value.millis):n.onNanos(gc(e),t.value.nanos):n.onNanos(e.value.nanos,gc(t)));var VA=(e,t)=>GA(e,t,{onMillis:(n,r)=>n===r,onNanos:(n,r)=>n===r,onInfinity:(n,r)=>n.value._tag===r.value._tag});var JA=h(2,(e,t)=>GA(e,t,{onMillis:(n,r)=>Jt(n-r),onNanos:(n,r)=>Jt(n-r),onInfinity:(n,r)=>{let o=n.value._tag,s=r.value._tag;return o==="Infinity"?s==="Infinity"?Di:Pi:o==="NegativeInfinity"?s==="NegativeInfinity"?Di:hc:s==="Infinity"?hc:Pi}}));var a6=h(2,(e,t)=>VA(e,t)),c6=e=>{if(e.value._tag==="Infinity")return{days:1/0,hours:1/0,minutes:1/0,seconds:1/0,millis:1/0,nanos:1/0};if(e.value._tag==="NegativeInfinity")return{days:-1/0,hours:-1/0,minutes:-1/0,seconds:-1/0,millis:-1/0,nanos:-1/0};let t=gc(e),n=t<Go,r=n?-t:t,o=r/Ci,s=o/Jf,i=s/Gf,c=i/Gf,d=c/FA,u=n?-1:1;return{days:u*Number(d),hours:u*Number(c%FA),minutes:u*Number(i%Gf),seconds:u*Number(s%Gf),millis:u*Number(o%Jf),nanos:u*Number(r%Ci)}},jx=e=>{if(e.value._tag==="Infinity")return"Infinity";if(e.value._tag==="NegativeInfinity")return"-Infinity";if(s6(e))return"0";if(Qf(e))return"-"+jx(i6(e));let t=c6(e),n=[];return t.days!==0&&n.push(`${t.days}d`),t.hours!==0&&n.push(`${t.hours}h`),t.minutes!==0&&n.push(`${t.minutes}m`),t.seconds!==0&&n.push(`${t.seconds}s`),t.millis!==0&&n.push(`${t.millis}ms`),t.nanos!==0&&n.push(`${t.nanos}ns`),n.join(" ")};var xc=Ue("effect/Scheduler",{fiberCached:!0,defaultValue:()=>new _i}),ZA=e=>{let t=!1;return Promise.resolve().then(()=>{t||e()}),()=>{t=!0}},d6="setImmediate"in globalThis?e=>{let t=globalThis.setImmediate(e);return()=>globalThis.clearImmediate(t)}:e=>{let t=setTimeout(e,0);return()=>clearTimeout(t)},QA=e=>{try{return d6(e)}catch{return ZA(e)}},Hx=class{buckets=[];scheduleTask(t,n){let r=this.buckets,o=r.length,s,i=0;for(;i<o&&!(r[i][0]>n);i++)s=r[i];s&&s[0]===n?s[1].push(t):i===o?r.push([n,[t]]):r.splice(i,0,[n,[t]])}drain(){let t=this.buckets;return this.buckets=[],t}},_i=class{executionMode;setImmediate;constructor(t="async",n){this.executionMode=t,this.setImmediate=n??(t==="sync"?ZA:QA)}shouldYield(t){return t.currentOpCount>=t.cache.maxOpsBeforeYield}makeDispatcher(){return new zx(this.setImmediate)}},zx=class{tasks=new Hx;running=void 0;setImmediate;constructor(t=QA){this.setImmediate=t}scheduleTask(t,n){this.tasks.scheduleTask(t,n),this.running===void 0&&(this.running=this.setImmediate(this.afterScheduled))}afterScheduled=()=>{this.running=void 0,this.runTasks()};runTasks(){let t=this.tasks.drain();for(let n=0;n<t.length;n++){let r=t[n][1];for(let o=0;o<r.length;o++)r[o]()}}flush(){for(;this.tasks.buckets.length>0;)this.running!==void 0&&(this.running(),this.running=void 0),this.runTasks()}},YA=Ue("effect/Scheduler/MaxOpsBeforeYield",{fiberCached:!0,defaultValue:()=>2048}),XA=Ue("effect/Scheduler/PreventSchedulerYield",{fiberCached:!0,defaultValue:()=>!1});var eR=class extends Ss{constructor(e){super(),e&&bf(this,e)}};var Xf=uu,ur=Bo;var tR="~effect/encoding/EncodingError",lr=class extends ur("EncodingError"){[tR]=tR};var em=e=>nR(typeof e=="string"?m6.encode(e):e),Kx=e=>{switch(e){case 16:return p6();case 32:return f6();default:{let t="";for(let n=e>>>3;n>0;n--)t+=l6();return t}}},re=Uint8Array.from("0123456789abcdef",e=>e.charCodeAt(0)),Ni=()=>Math.random()*4294967296>>>0,l6=()=>{let e=Ni();return String.fromCharCode(re[e>>>28],re[e>>>24&15],re[e>>>20&15],re[e>>>16&15],re[e>>>12&15],re[e>>>8&15],re[e>>>4&15],re[e&15])},p6=()=>{let e=Ni(),t=Ni();return String.fromCharCode(re[e>>>28],re[e>>>24&15],re[e>>>20&15],re[e>>>16&15],re[e>>>12&15],re[e>>>8&15],re[e>>>4&15],re[e&15],re[t>>>28],re[t>>>24&15],re[t>>>20&15],re[t>>>16&15],re[t>>>12&15],re[t>>>8&15],re[t>>>4&15],re[t&15])},f6=()=>{let e=Ni(),t=Ni(),n=Ni(),r=Ni();return String.fromCharCode(re[e>>>28],re[e>>>24&15],re[e>>>20&15],re[e>>>16&15],re[e>>>12&15],re[e>>>8&15],re[e>>>4&15],re[e&15],re[t>>>28],re[t>>>24&15],re[t>>>20&15],re[t>>>16&15],re[t>>>12&15],re[t>>>8&15],re[t>>>4&15],re[t&15],re[n>>>28],re[n>>>24&15],re[n>>>20&15],re[n>>>16&15],re[n>>>12&15],re[n>>>8&15],re[n>>>4&15],re[n&15],re[r>>>28],re[r>>>24&15],re[r>>>20&15],re[r>>>16&15],re[r>>>12&15],re[r>>>8&15],re[r>>>4&15],re[r&15])},Gx=e=>{let t=new TextEncoder().encode(e);if(t.length%2!==0)return J(new lr({module:"Hex",kind:"Decode",input:e,message:`Length must be a multiple of 2, but is ${t.length}`}));try{let n=t.length/2,r=new Uint8Array(n);for(let o=0;o<n;o++){let s=rR(t[o*2]),i=rR(t[o*2+1]);r[o]=s<<4|i}return L(r)}catch(n){return J(new lr({module:"Hex",kind:"Decode",input:e,message:n instanceof Error?n.message:"Invalid input"}))}},oR=e=>bt(Gx(e),t=>h6.decode(t)),m6=new TextEncoder,h6=new TextDecoder,g6=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0")),nR=e=>{let t="";for(let n=0;n<e.length;n++)t+=g6[e[n]];return t},rR=e=>{if(48<=e&&e<=57)return e-48;if(97<=e&&e<=102)return e-97+10;if(65<=e&&e<=70)return e-65+10;throw new TypeError("Invalid input")};var Jx="effect/Tracer/ParentSpan",xu=class extends Ur()(Jx,{fiberCached:!0}){},y6=e=>e;var nm=Ue("effect/Tracer/DisablePropagation",{defaultValue:pf}),sR=Ue("effect/Tracer/CurrentTraceLevel",{defaultValue:()=>"Info"}),iR=Ue("effect/Tracer/MinimumTraceLevel",{defaultValue:()=>"All"}),Zx="effect/Tracer",Qx=Ue(Zx,{fiberCached:!0,defaultValue:()=>Yx}),Yx=y6({span:e=>new Vx(e)}),Vx=class{_tag="Span";sampled;name;parent;annotations;links;startTime;kind;status;_traceId=void 0;_spanId=void 0;_attributes=void 0;_events=void 0;constructor(t){this.name=t.name,this.parent=t.parent,this.annotations=t.annotations,this.links=t.links,this.startTime=t.startTime,this.kind=t.kind,this.sampled=t.sampled,this.status={_tag:"Started",startTime:t.startTime}}get traceId(){return this._traceId??=xo(this.parent)?.traceId??Kx(32)}get spanId(){return this._spanId??=Kx(16)}get attributes(){return this._attributes??=new Map}get events(){return this._events??=[]}end(t,n){this.status={_tag:"Ended",endTime:t,exit:n,startTime:this.status.startTime}}attribute(t,n){this.attributes.set(t,n)}event(t,n,r){this.events.push([t,n,r??{}])}addLinks(t){this.links.push(...t)}};var cR="effect/Metric/FiberRuntimeMetrics";var dR=Ue("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),Su=Ue("effect/References/CurrentStackFrame",{fiberCached:!0,defaultValue:Ln}),rm=Ue("effect/References/TracerEnabled",{fiberCached:!0,defaultValue:Va}),Sc=Ue("effect/References/TracerTimingEnabled",{defaultValue:Va}),bu=Ue("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),vu=Ue("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),Vo=Ue("effect/References/CurrentLogAnnotations",{defaultValue:()=>({})}),Xx=Ue("effect/References/CurrentLogLevel",{fiberCached:!0,defaultValue:()=>"Info"}),eS=Ue("effect/References/MinimumLogLevel",{fiberCached:!0,defaultValue:()=>"Info"});var om=Ue("effect/References/CurrentLogSpans",{defaultValue:()=>[]});var sm=e=>{if(e?.captureStackTrace===!1)return e;if(e?.captureStackTrace!==void 0&&typeof e.captureStackTrace!="boolean")return e;let t=Cr();if(t===0&&e?.captureStackTrace!==!0)return{...e,captureStackTrace:!1};Wt(3);let n=new Error;return Wt(t),{...e,captureStackTrace:b6(()=>n.stack)}},tS=e=>t=>{let n;return()=>{if(n!==void 0)return n;let r=t();if(!r)return;let o=r.split(`
|
|
10
|
+
`);if(o[e]!==void 0)return n=o[e].trim(),n}},b6=tS(3);var im=class extends Za{constructor(t,n=au){super("Interrupt",n,"Interrupted"),this.fiberId=t}toString(){return`Interrupt(${this.fiberId})`}toJSON(){return{_tag:"Interrupt",fiberId:this.fiberId}}[X](t){return Ii(t)&&this.fiberId===t.fiberId&&this.annotations===t.annotations}[Y](){return De(`${this._tag}:${this.fiberId}`)}},gR=e=>new im(e),Tu=e=>new Dr([new im(e)]),yR=e=>e.reasons.some(Xa);var yS=e=>{for(let t=0;t<e.reasons.length;t++){let n=e.reasons[t];if(n._tag==="Fail")return L(n.error)}return J(e)};var pm=e=>e.reasons.some(du),fm=e=>pm(e)&&yR(e)?go(e.reasons.map(t=>t._tag==="Fail"&&!Ef(t.error)?new vi(t.error,t.annotations):t)):e,qr=e=>pm(e)?J(fm(e)):yS(e);var xS=e=>{let t=e.reasons.find(du);return t?L(t.defect):J(e)},SS=e=>e.reasons.some(Ii);var xR=e=>{let t;for(let n=0;n<e.reasons.length;n++){let r=e.reasons[n];r._tag==="Interrupt"&&(t??=new Set,r.fiberId!==void 0&&t.add(r.fiberId))}return t?L(t):J(e)};var bS=e=>e.reasons.length>0&&e.reasons.every(Ii);var Ic=h(2,(e,t)=>{let n=!1,r=e.reasons.map(o=>Xa(o)?(n=!0,new bi(t(o.error),o.annotations)):o);return n?go(r):e}),vS=e=>{let t;for(let n of e.reasons){if(n._tag==="Fail")return n.error;n._tag==="Die"&&(t??=n)}return t!==void 0?t.defect:e.reasons.length>0?new globalThis.Error("All fibers interrupted without error"):new globalThis.Error("Empty cause")},SR=(e,t)=>{let n=[],r=[];if(e.reasons.length===0)return n;let o=Cr();o!==0&&Wt(1);try{for(let s of e.reasons){if(s._tag==="Interrupt"){r.push(s);continue}n.push(rS(s._tag==="Die"?s.defect:s.error,s.annotations,t))}if(n.length===0){let s=new Error("The fiber was interrupted by:");s.name="InterruptCause",s.stack=k6(s,r);let i=new globalThis.Error("All fibers interrupted without error",{cause:s});i.name="InterruptError",i.stack=`${i.name}: ${i.message}`,n.push(rS(i,r[0].annotations,t))}}finally{o!==0&&Wt(o)}return n},rS=(e,t,n,r=new Set)=>{let o=typeof e,s;if(e&&o==="object"){r.add(e);let i=e.cause;if(s=new globalThis.Error(v6(e),{cause:i!==void 0&&!r.has(i)?rS(i,void 0,void 0,r):void 0}),typeof e.name=="string"&&(s.name=e.name),typeof e.stack=="string")s.stack=w6(e.stack,s,t);else{let c=`${s.name}: ${s.message}`;s.stack=t?oS(c,t):c}n?.includeCauseInStack&&(s.stack=vR(s));for(let c of Object.keys(e))c in s||(s[c]=e[c])}else{s=new globalThis.Error(e?o==="string"?e:yi(e):`Unknown error: ${e}`);let i=`${s.name}: ${s.message}`;s.stack=t?oS(i,t):i}return s},v6=e=>{if(typeof e.message=="string")return e.message;if(typeof e.toString=="function"&&e.toString!==Object.prototype.toString&&e.toString!==Array.prototype.toString)try{return e.toString()}catch{}return yi(e)},I6=/\((.*)\)/g,w6=(e,t,n)=>{let r=`${t.name}: ${t.message}`,o=(e.startsWith(r)?e.slice(r.length):e).split(`
|
|
11
|
+
`),s=[r];for(let i=1;i<o.length&&!/Generator\.next|~effect\/(?:Effect|Utils)/.test(o[i]);i++)s.push(o[i]);return n?oS(s.join(`
|
|
12
12
|
`),n):s.join(`
|
|
13
|
-
`)},
|
|
14
|
-
${
|
|
15
|
-
`)},
|
|
16
|
-
`)},
|
|
17
|
-
`),
|
|
18
|
-
${
|
|
19
|
-
}`:e.stack,
|
|
13
|
+
`)},oS=(e,t)=>{let n=t?.get(kf.key);return n&&(e=`${e}
|
|
14
|
+
${bR(n)}`),e},k6=(e,t)=>{let n=[`${e.name}: ${e.message}`];for(let r of t){let o=r.fiberId!==void 0?`#${r.fiberId}`:"unknown",s=r.annotations.get(gx.key);n.push(` at fiber (${o})`),s&&n.push(bR(s))}return n.join(`
|
|
15
|
+
`)},bR=e=>{let t=[],n=e,r=0;for(;n&&r<10;){let o=n.stack();if(o){let s=o.matchAll(I6),i=!1;for(let[,c]of s)i=!0,t.push(` at ${n.name} (${c})`);i||t.push(` at ${n.name} (${o.replace(/^at /,"")})`)}else t.push(` at ${n.name}`);n=n.parent,r++}return t.join(`
|
|
16
|
+
`)},mm=e=>SR(e).map(vR).join(`
|
|
17
|
+
`),vR=e=>e.cause?`${e.stack} {
|
|
18
|
+
${IR(e.cause," ")}
|
|
19
|
+
}`:e.stack,IR=(e,t)=>{let n=e.stack.split(`
|
|
20
20
|
`),r=`${t}[cause]: ${n[0]}`;for(let o=1,s=n.length;o<s;o++)r+=`
|
|
21
21
|
${t}${n[o]}`;return e.cause&&(r+=` {
|
|
22
|
-
${
|
|
23
|
-
${t}}`),r},bR="~effect/Fiber",I5={_A:Q,_E:Q},v5={id:0},aR=(()=>{try{return globalThis.process?.getBuiltinModule?.("node:async_hooks")?.AsyncResource}catch{return}})(),IR=()=>aR===void 0?void 0:new aR("effect/Fiber"),fm=()=>globalThis[gi],bc=class{constructor(t,n=!0){this.setContext(t),this.id=++v5.id,this.currentOpCount=0,this.interruptible=n,this._stack=[],this._observers=void 0,this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this._running=!1,this._deferredInterrupt=!1,this._parent=void 0,this._asyncContext=void 0,this.cache.runtimeMetrics?.recordFiberStart(this.context)}get[bR](){return I5}get currentDispatcher(){return this._dispatcher??=this.cache.scheduler.makeDispatcher()}getRef(t){return et(this.context,t)}addObserver(t){return this._exit?(t(this._exit),fi):(this._observers===void 0?this._observers=[t]:this._observers.push(t),()=>this.removeObserver(t))}removeObserver(t){if(this._exit||this._observers===void 0)return;let n=this._observers.indexOf(t);n>=0&&this._observers.splice(n,1)}interruptUnsafe(t,n){if(this._exit)return;let r=Eu(t);this.cache.stackFrame&&(r=au(r,Ho(vf,this.cache.stackFrame))),n&&(r=au(r,n)),this._interruptedCause=this._interruptedCause?lx(this._interruptedCause,r):r,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(_e(this._interruptedCause)))}pollUnsafe(){return this._exit}evaluate(t){if(this._exit)return;if(this._asyncContext!==void 0){let o=this._asyncContext;this._asyncContext=void 0;try{return o.runInAsyncScope(this.evaluate,this,t)}finally{o.emitDestroy()}}else if(this._yielded!==void 0){let o=this._yielded;this._yielded=void 0,o()}let n=this.runLoop(t);if(n===wi){this._asyncContext=IR();return}let r=rS.interruptChildren&&rS.interruptChildren(this);if(r!==void 0)return this.evaluate(te(r,()=>n));if(this._exit=n,this.cache.runtimeMetrics?.recordFiberEnd(this.context,this._exit),this._parent&&(this._parent._children?.delete(this),this._parent=void 0),this._observers!==void 0){let o=this._observers;this._observers=void 0;for(let s=0;s<o.length;s++)o[s](n)}this._stack.length=0,this._children=void 0,this.context=Hn()}runLoop(t){let n=globalThis[gi];globalThis[gi]=this;let r=this._running;this._running=!0;let o=!1,s=t;this.currentOpCount=0;try{for(;;)try{this._deferredInterrupt&&(this._deferredInterrupt=!1,s=_e(this._interruptedCause)),this.currentOpCount++;let i=this.cache;if(!o&&!i.preventYield&&i.scheduler.shouldYield(this)){o=!0;let c=s;s=te(kc,()=>c)}if(s=i.tracerContext?i.tracerContext(s,this):s[mt](this),s===wi){let c=this._yielded;if(xi in c)return this._deferredInterrupt=!1,this._yielded=void 0,c;if(this._deferredInterrupt){this._yielded=void 0,c();continue}return wi}}catch(i){if(!O(s,mt))return jn(`Fiber.runLoop: Not a valid effect: ${String(s)}`);s=jn(i)}}finally{this._running=r,globalThis[gi]=n}}getCont(t){if(this._deferredInterrupt)return this._deferredInterrupt=!1,k5;for(;;){let n=this._stack.pop();if(!n)return;let r=n[Si];if(r!==void 0){let o=r.call(n,this);if(o)return o[t]=o,o}if(n[t])return n}}succeedWith(t){if((++this.currentOpCount&E5-1)===0)return Et(t);let n=this.getCont(Nt);return n?n[Nt](t,this):this.yieldWith(Et(t))}yieldWith(t){return this._yielded=t,wi}children(){return this._children??=new Set}pipe(){return ie(this,arguments)}setContext(t){let n=this.context;if(this.context=t,n!==void 0&&bA(n,t))return;let r=t.cacheRoot,o=r._fiberCache??=w5(t);this.cache?.scheduler!==o.scheduler&&(this._dispatcher=void 0),this.cache=o}get currentSpanLocal(){let t=this.cache.span;return t?._tag==="Span"?t:void 0}},w5=e=>{let t=hu(e,Vx);return{scheduler:et(e,xc),tracer:t,tracerContext:t?t.context:void 0,tracerEnabled:et(e,tm),span:hu(e,Gx),logLevel:et(e,Qx),minimumLogLevel:et(e,Yx),stackFrame:et(e,xu),runtimeMetrics:hu(e,sR),maxOpsBeforeYield:et(e,JA),preventYield:et(e,ZA)}},k5={[Nt](e,t){return _e(t._interruptedCause)},[qn](e,t){return _e(t._interruptedCause)}},E5=32,rS={interruptChildren:void 0},mm=e=>{if(!e.cache.stackFrame)return;let t=new Map;return t.set(mx.key,e.cache.stackFrame),lc(t)},T5=e=>{if(!(e._children===void 0||e._children.size===0))return Iu(e._children)},A5=e=>{let t=e;return t._exit?H(t._exit):Tn(n=>t._exit?n(H(t._exit)):Je(e.addObserver(r=>n(H(r)))))},bS=e=>Tn(t=>{let n=e[Symbol.iterator](),r=[],o;function s(){let i=n.next();for(;!i.done;){if(i.value._exit){r.push(i.value._exit),i=n.next();continue}o=i.value.addObserver(c=>{r.push(c),s()});return}t(H(r))}return s(),Je(()=>o?.())}),cR=e=>{let t=e;return t._exit?t._exit:Tn(n=>t._exit?n(t._exit):Je(e.addObserver(n)))};var vR=e=>le(t=>R5(e,t.id)),R5=h(e=>O(e[0],bR),(e,t,n)=>le(r=>{let o=mm(r);return o=o&&n?Nf(o,n):o??n,e.interruptUnsafe(t,o),Ru(A5(e))})),Iu=e=>le(t=>{let n=mm(t),r=Hf();for(let o of e)o.interruptUnsafe(t.id,n),r.push(o);return Ru(bS(r))});var H=Et,_e=Gt,at=ws,Je=mo({op:"Sync",[mt](e){let t=this[ue](),n=e.getCont(Nt);return n?n[Nt](t,e):e.yieldWith(Et(t))}}),ge=mo({op:"Suspend",[mt](e){return this[ue]()}}),IS=h(e=>e.length>=2||uc(e[0]),(e,t)=>ae(e)?t?kS(t):at(new lo("Effect.fromOption: Option.none")):H(e.value)),wc=Jt({onFailure:at,onSuccess:H}),wR=e=>e==null?at(new lo):H(e),vS=mo({op:"Yield",[mt](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate($r)},this[ue]??0),e.yieldWith(()=>{t=!0})}}),kc=vS(0),wS=e=>H(F(e)),Tu=H(N()),kR=e=>ae(e)?Tu:ke(e.value,F),ER=e=>ge(()=>_e(e())),Ds=e=>jn(e),kS=e=>ge(()=>at(e())),we=H(void 0);var hm=e=>{let t=typeof e=="function"?e:e.try,n=typeof e=="function"?r=>new ku(r,"An error occurred in Effect.try"):e.catch;return ge(()=>{try{return H(t())}catch(r){return at(n(r))}})};var ES=e=>TS(function(t,n){e(n).then(r=>t(H(r)),r=>t(Ds(r)))},e.length!==0),TR=e=>{let t=typeof e=="function"?e:e.try,n=typeof e=="function"?r=>new ku(r,"An error occurred in Effect.tryPromise"):e.catch;return TS(function(r,o){let s=i=>ge(()=>{try{return at(vs(()=>n(i)))}catch(c){return Ds(c)}});try{t(o).then(i=>r(H(i)),i=>r(s(i)))}catch(i){r(s(i))}},t.length!==0)},O5=e=>le(t=>e(t.id)),AR=le(H),RR=O5(H),TS=(function(){let e=Bn({op:"Async",[mt](n){let r=!1,o=!1,s=this.withSignal?new AbortController:void 0,i=this.register.call(n.cache.scheduler,c=>{r||(r=!0,o?n.evaluate(c):o=c)},s?.signal);return o!==!1?o:(o=!0,n.yieldWith(()=>{r=!0}),s===void 0&&i===void 0?wi:(n._stack.push(C5(()=>(r=!0,s?.abort(),i??$r))),wi))}}),t=function(n,r){this.register=n,this.withSignal=r};return t.prototype=e,function(n,r){return new t(n,r)}})(),C5=mo({op:"AsyncFinalizer",[Si](e){e.interruptible&&(e.interruptible=!1,e._stack.push(Uu))},[qn](e,t){return yS(e)?te(OO(Gt(e),this[ue]()),()=>_e(e)):_e(e)}}),Tn=e=>TS(e,e.length>=2),gm=Tn(fi),OR=(...e)=>{if(e.length===1){let r=e[0];return ge(()=>$i(r()))}let[t,n]=e;return ge(()=>$i(n.call(t.self)))},AS=(e,...t)=>{let n=t.length===0?function(){return ge(()=>$i(e.apply(this,arguments)))}:function(){let r=ge(()=>$i(e.apply(this,arguments)));for(let o=0;o<t.length;o++)r=t[o](r,...arguments);return r};return RS(e.length,n)},RS=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),dR=Xx(2),CR=function(){let e=typeof arguments[0]=="string",t=e?arguments[0]:"Effect.fn",n=e?arguments[1]:void 0,r=Or(),o;return r!==0&&(Kt(2),o=new globalThis.Error,Kt(r)),e?(s,...i)=>uR(t,s,o,i,e,n):uR(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,n)},uR=(e,t,n,r,o,s)=>{let i=typeof t=="function"?t:r.shift().bind(t.self),c=`${e} (definition)`,d=n?dR(()=>n.stack):$n;return RS(i.length,function(...u){let l=ge(()=>{let g=i.apply(this,arguments);return se(g)?g:$i(g)});for(let g=0;g<r.length;g++)l=r[g](l,...u);if(!se(l))return l;let p=Or(),f;return p!==0&&(Kt(2),f=new globalThis.Error,Kt(p)),Vo(o?wu(e,s,g=>aS(l,g)):l,xu,g=>({name:e,stack:f?dR(()=>f.stack):$n,parent:{name:c,stack:d,parent:g}}))})},DR=(e,...t)=>RS(e.length,t.length===0?function(){return lR(()=>e.apply(this,arguments))}:function(){let n=lR(()=>e.apply(this,arguments));for(let r of t)n=r(n,...arguments);return n}),lR=e=>{try{let t=e(),n;for(;;){let r=t.next(n);if(r.done)return H(r.value);let o=r.value;if(o&&o._tag==="Success"){n=o.value;continue}else{if(o&&o._tag==="Failure")return r.value;{let s=!0;return ge(()=>s?(s=!1,te(r.value,i=>$i(t,i))):ge(()=>$i(e())))}}}}catch(t){return Ds(t)}},$i=(function(){let e=Bn({op:"Iterator",[Nt](n,r){let o=this.iterator;for(;;){let s=o.next(n);if(s.done)return H(s.value);if(Be(s.value)){if(s.value._tag==="Failure")return s.value}else return r._stack.push(this),s.value;n=s.value.value}},[mt](n){return this[Nt](this.initial,n)}}),t=function(n,r){this.iterator=n,this.initial=r};return t.prototype=e,function(n,r){return new t(n,r)}})(),lr=h(2,(e,t)=>new Go(e,OS,H(t))),ym=function(e){return e._stack.push(this),this[ue]},D5=Bn({op:"OnSuccess",[mt]:ym}),Go=function(e,t,n){this[ue]=e,this[Nt]=t,this.payload=n};Go.prototype=D5;var OS=function(){return this.payload},PR=function(e,t){return t.succeedWith(this.payload)},xm=(()=>{let e=Or();if(e===0)return!1;let t="~effect/Effect/stackProbe",n={[t]:function(){return new Error}};Kt(1);let r=n[t]();return Kt(e),r.stack?.includes("[as "+t+"]")===!0})(),P5=function(e,t){let n=this.payload;return t.succeedWith(xm?n(e):vs(()=>n(e)))},MR=function(e){let t=this.payload;return t(e)},M5=function(e){let t=this.payload;return new Go(t(e),PR,e)},_5=function(e){return new Go(this.payload,PR,e)},Sm=e=>ke(e,F),_R=e=>Cu(e,{onFailure:H,onSuccess:at}),Li=h(2,(e,t)=>new Go(e,se(t)?OS:MR,t)),Au=h(2,(e,t)=>new Go(e,se(t)?_5:M5,t)),Ru=e=>new Go(e,OS,$r),UR=e=>An(e,at),CS=(e,t)=>le(n=>{let r=new Set;return Ac(n,()=>r.size===0?void 0:Iu(r)),Tn(o=>{let s=kn(e),i=s.length,c=0,d=!1,u=[],l=(p,f,g)=>{if(c++,p._tag==="Failure"){u.push(...p.cause.reasons),c>=i&&o(_e(lm(fo(u))));return}let b=!d;d=!0,o(p),b&&t?.onWinner&&t.onWinner({fiber:f,index:g,parentFiber:n})};for(let p=0;p<i;p++){let f=zi(n,s[p],!0,!0,!1);if(r.add(f),f.addObserver(g=>{r.delete(f),l(g,f,p)}),d)break}})}),DS=(e,t)=>le(n=>{let r=new Set;return Ac(n,()=>r.size===0?void 0:Iu(r)),Tn(o=>{let s=!1,i=0;for(let c of e){if(s)break;let d=i++,u=zi(n,c,!0,!0,!1);r.add(u),u.addObserver(l=>{r.delete(u);let p=!s;s=!0,o(l),p&&t?.onWinner&&t.onWinner({fiber:u,index:d,parentFiber:n})})}})}),NR=h(e=>se(e[1]),(e,t,n)=>CS([e,t],n)),PS=h(e=>se(e[1]),(e,t,n)=>DS([e,t],n)),te=h(2,(e,t)=>new Go(e,MR,t)),FR=h(2,(e,t)=>Be(e)?e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause):xo(e,t)),Be=e=>e[xi]!==void 0,$R=h(2,(e,t)=>Be(e)?e._tag==="Success"?t(e.value):e:te(e,t)),LR=e=>te(e,Q),ke=h(2,(e,t)=>new Go(e,P5,t)),qR=h(2,(e,t)=>Be(e)?GR(e,t):ke(e,t)),BR=h(2,(e,t)=>Be(e)?VR(e,t):qS(e,t)),jR=h(2,(e,t)=>Be(e)?JR(e,t):BS(e,t)),HR=h(2,(e,t)=>{if(Be(e)){if(e._tag==="Success")return e;let n=Lr(e.cause);return fe(n)?Gt(n.failure):t(n.success)}return Ms(e,t)}),MS=e=>Gt(Eu(e)),bm=e=>e._tag==="Success";var zR=e=>e._tag==="Failure";var WR=e=>e._tag==="Failure"?$(e.cause):J(e);var KR=e=>e._tag==="Failure"&&yS(e.cause);var $r=Et(void 0),GR=h(2,(e,t)=>e._tag==="Success"?Et(t(e.value)):e),VR=h(2,(e,t)=>e._tag==="Success"?e:Gt(vc(e.cause,t))),JR=h(2,(e,t)=>e._tag==="Success"?Et(t.onSuccess(e.value)):Gt(vc(e.cause,t.onFailure)));var ZR=e=>{let t=[];for(let n of e)n._tag==="Failure"&&t.push(...n.cause.reasons);return t.length===0?$r:Gt(fo(t))};var QR=e=>e,YR=e=>le(t=>H(Uf(t.context,e))),U5=e=>le(t=>IS(Uf(t.context,e))),Ec=h(2,(e,t)=>le(n=>{let r=n.context,o=t(r);return r===o||(n.setContext(o),Ac(n,()=>{n.setContext(r)})),e})),Vo=h(3,(e,t,n)=>Ec(e,r=>{let o=As(r,t),s=n(o);return o===s?r:zn(r,t,s)})),XR=(e,t,n)=>Bi(le(r=>{let o=As(r.context,e),s=t(o);return r.setContext(zn(r.context,e,s)),Tc(As(r.context,qi),i=>{let c=Uf(r.context,e);if(ae(c))return we;let d=c.value,u;if(n?.reset===void 0){if(d!==s)return we;u=o}else u=n.reset(o,s,d);return r.setContext(zn(r.context,e,u)),we})})),_S=()=>N5,N5=le(e=>H(e.context)),Ps=e=>le(t=>e(t.context)),eO=h(2,(e,t)=>Ec(e,cn(t))),Gn=h(2,(e,t)=>Be(e)?e:Ec(e,Nf(t))),Qt=function(){return arguments.length===1?h(2,(e,t)=>pR(e,arguments[0],t)):h(3,(e,t,n)=>pR(e,t,n)).apply(this,arguments)},pR=(e,t,n)=>Ec(e,zn(t,n)),Im=h(3,(e,t,n)=>te(n,r=>Qt(e,t,r))),tO=h(e=>se(e[1]),(e,t,n)=>US(e,t,(r,o)=>[r,o],n)),US=h(e=>se(e[1]),(e,t,n,r)=>r?.concurrent?ke(Nu([e,t],{concurrency:2}),([o,s])=>n(o,s)):te(e,o=>ke(t,s=>n(o,s)))),nO=h(e=>se(e[0]),(e,t,n)=>nb(e,t,n?r=>at(n(r)):()=>at(new lo))),rO=h(2,(e,t)=>te(t,n=>n?Sm(e):Tu)),NS=h(2,(e,t)=>Array.from({length:t},()=>e)),oO=h(e=>se(e[0]),(e,t,n)=>Nu(NS(e,t),n)),sO=h(e=>se(e[0]),(e,t)=>Hi({while:Va,body:cn(t?.disableYield?e:te(e,n=>kc)),step:fi})),An=h(2,(e,t)=>new iO(e,t.length!==1?n=>t(n):t)),F5=Bn({op:"OnFailure",[mt]:ym}),iO=function(e,t){this[ue]=e,this[qn]=t};iO.prototype=F5;var FS=h(3,(e,t,n)=>An(e,r=>t(r)?n(r):_e(r))),Jo=h(3,(e,t,n)=>An(e,r=>{let o=t(r);return fe(o)?_e(o.failure):n(o.success,r)})),Ms=h(2,(e,t)=>Jo(e,Lr,n=>t(n))),aO=e=>Cu(e,{onFailure:t=>hx(t)?Tu:at(t),onSuccess:wS}),cO=h(2,(e,t)=>Jo(e,gS,t)),dO=h(2,(e,t)=>An(e,n=>Li(t(n),_e(n)))),uO=h(3,(e,t,n)=>FS(e,t,r=>Li(n(r),_e(r)))),vm=h(3,(e,t,n)=>An(e,r=>{let o=t(r);return fe(o)?_e(r):Li(n(o.success,r),_e(r))})),$S=h(2,(e,t)=>vm(e,hS,n=>t(n))),lO=h(3,(e,t,n)=>{let r=Array.isArray(t)?o=>O(o,"_tag")&&t.includes(o._tag):bs(t);return $S(e,o=>r(o)?n(o):we)}),pO=h(2,(e,t)=>vm(e,gS,n=>t(n))),Ou=h(e=>se(e[0]),(e,t,n,r)=>An(e,o=>{let s=Lr(o);return fe(s)?_e(s.failure):t(s.success)?n(s.success):r?r(s.success):_e(o)})),wm=h(e=>se(e[0]),(e,t,n,r)=>An(e,o=>{let s=Lr(o);if(fe(s))return _e(s.failure);let i=t(s.success);return fe(i)?r?r(i.failure):_e(o):n(i.success)})),LS=h(e=>se(e[0]),(e,t,n,r)=>{let o=Array.isArray(t)?s=>O(s,"_tag")&&t.includes(s._tag):bs(t);return Ou(e,o,n,r)}),fO=h(e=>se(e[0]),(e,t,n)=>{let r;return wm(e,o=>(r??=Object.keys(t),O(o,"_tag")&&Ar(o._tag)&&r.includes(o._tag)?$(o):J(o)),o=>t[o._tag](o),n)}),mO=h(e=>se(e[0]),(e,t,n,r,o)=>Ou(e,s=>bs(s,t)&&O(s,"reason")&&(o!==void 0||bs(s.reason,n)),s=>{let i=s.reason;return bs(i,n)?r(i,s):o?o(i,s):at(s)})),hO=h(e=>se(e[0]),(e,t,n,r)=>{let o;return Ou(e,s=>bs(s,t)&&O(s,"reason")&&O(s.reason,"_tag")&&Ar(s.reason._tag)&&(r!==void 0||(o??=Object.keys(n)).includes(s.reason._tag)),s=>{let i=s.reason;return o??=Object.keys(n),o.includes(i._tag)?n[i._tag](i,s):r?r(i,s):at(s)})}),gO=h(2,(e,t)=>wm(e,n=>bs(n,t)&&O(n,"reason")?$(n.reason):J(n),at)),qS=h(2,(e,t)=>An(e,n=>_e(vc(n,t)))),BS=h(2,(e,t)=>xo(e,{onFailure:n=>_e(vc(n,t.onFailure)),onSuccess:n=>Je(()=>t.onSuccess(n))})),jS=e=>Ms(e,Ds),yO=h(2,(e,t)=>Ms(e,n=>Je(()=>t(n)))),xO=e=>ge(()=>{let t=e[Symbol.iterator](),n=t.next();if(n.done)return Ds(new Error("Received an empty collection of effects"));function r(o){let s=t.next();return s.done?o.value:Ms(o.value,i=>r(s))}return r(n)}),HS=e=>Ms(e,t=>te(kc,()=>HS(e))),SO=h(e=>se(e[0]),(e,t)=>{if(!t?.log)return Cu(e,{onFailure:r=>we,onSuccess:r=>we});let n=Br(t.log===!0?void 0:t.log);return xo(e,{onFailure(r){let o=Lr(r);return fe(o)?_e(o.failure):t.message===void 0?n(r):n(t.message,r)},onSuccess:r=>we})}),km=h(e=>se(e[0]),(e,t)=>{if(!t?.log)return xo(e,{onFailure:r=>we,onSuccess:r=>we});let n=Br(t.log===!0?void 0:t.log);return xo(e,{onFailure:r=>t.message===void 0?n(r):n(t.message,r),onSuccess:r=>we})}),bO=e=>Em(e,{onFailure:N,onSuccess:F}),Cs=e=>Du(e,{onFailure:J,onSuccess:$}),xo=h(2,(e,t)=>new IO(e,t.onSuccess.length!==1?n=>t.onSuccess(n):t.onSuccess,t.onFailure.length!==1?n=>t.onFailure(n):t.onFailure)),$5=Bn({op:"OnSuccessAndFailure",[mt]:ym}),IO=function(e,t,n){this[ue]=e,this[Nt]=t,this[qn]=n};IO.prototype=$5;var L5=function(e,t){let n=this.payload;return t.succeedWith(xm?n.onSuccess(e):vs(()=>n.onSuccess(e)))},vO=(e,t)=>{let n=Bn({op:e,[mt]:ym,[Nt]:L5,[qn]:t}),r=function(o,s){this[ue]=o,this.payload=s};return r.prototype=n,r},q5=vO("Match",function(e,t){let n=Lr(e);if(fe(n))return _e(n.failure);let r=this.payload;return t.succeedWith(xm?r.onFailure(n.success):vs(()=>r.onFailure(n.success)))}),B5=vO("MatchCause",function(e,t){let n=this.payload;return t.succeedWith(xm?n.onFailure(e):vs(()=>n.onFailure(e)))}),zS=h(2,(e,t)=>new B5(e,t)),Cu=h(2,(e,t)=>xo(e,{onFailure:n=>{let r=Lr(n);return fe(r)?_e(r.failure):t.onFailure(r.success)},onSuccess:t.onSuccess})),Em=h(2,(e,t)=>new q5(e,t)),Du=h(2,(e,t)=>{if(Be(e)){if(e._tag==="Success")return Et(t.onSuccess(e.value));let n=Lr(e.cause);return fe(n)?Gt(n.failure):Et(t.onFailure(n.success))}return Em(e,t)}),wO=h(2,(e,t)=>Be(e)?e._tag==="Success"?Et(t.onSuccess(e.value)):Et(t.onFailure(e.cause)):zS(e,t)),Pu=e=>Be(e)?Et(e):j5(e),j5=mo({op:"Exit",[mt](e){return e._stack.push(this),this[ue]},[Nt](e,t,n){return t.succeedWith(n??Et(e))},[qn](e,t,n){return t.succeedWith(n??Gt(e))}}),kO=Du({onFailure:()=>!0,onSuccess:()=>!1}),EO=Du({onFailure:()=>!1,onSuccess:()=>!0}),TO=h(2,(e,t)=>Li(Rc(t),e)),WS=h(2,(e,t)=>te(KS(e,t.duration),n=>ae(n)?t.orElse():H(n.value))),H5=e=>new am(`Operation timed out after '${qx(e)}'`),AO=h(2,(e,t)=>{let n=Pt(t);return WS(e,{duration:n,orElse:()=>at(H5(n))})}),KS=h(2,(e,t)=>PS(Sm(e),lr(Rc(t),N()))),RO=e=>qr(t=>{let n=t.monotonicTimeNanosUnsafe();return ke(e,r=>[En(t.monotonicTimeNanosUnsafe()-n),r])}),oS="~effect/Scope",sS="~effect/Scope/Closeable",qi=_r("effect/Scope"),GS=(e,t)=>le(n=>(G5(n),Tm(e,t)??we)),Tm=(e,t)=>{let n=e.state;if(n._tag==="Closed"||(e.state={_tag:"Closed",exit:t},e.parent!==void 0&&DO(e.parent,e),n._tag==="Empty"))return;if(n.finalizer!==void 0)return sm(n.finalizer,t);let r=n.finalizers;return r.size===1?sm(r.values().next().value,t):z5(e,r,t)},sm=(e,t)=>{try{return e(t)}catch(n){return jn(n)}},OO=(e,t)=>bm(e)?t:An(t,n=>_e(lm(If(e.cause,n)))),z5=AS(function*(e,t,n){let r=[],o=[],s=Array.from(t),i=fm();for(let c=s.length-1;c>=0;c--){let[d,u]=s[c];e.strategy==="sequential"?r.push(yield*Pu(sm(u,n))):d!==i&&o.push(zi(i,sm(u,n),!0,!0,"inherit"))}return o.length>0&&(r=yield*bS(o)),yield*ZR(r)});var CO=(e,t)=>{let n=PO(t,e);return e.state._tag==="Closed"?(n.state=e.state,n):(Mu(e,n,r=>GS(n,r)),n)},Tc=(e,t)=>ge(()=>e.state._tag==="Closed"?t(e.state.exit):(Mu(e,{},t),we));var Mu=(e,t,n)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizerKey:t,finalizer:n,finalizers:void 0};else if(e.state._tag==="Open"){let r=e.state;r.finalizer!==void 0&&(r.finalizers=new Map([[r.finalizerKey,r.finalizer]]),r.finalizerKey=void 0,r.finalizer=void 0),r.finalizers.set(t,n)}},DO=(e,t)=>{if(e.state._tag!=="Open")return;let n=e.state;n.finalizerKey===t?e.state=iS:n.finalizers!==void 0&&(n.finalizers.delete(t),n.finalizers.size===0&&(e.state=iS))},Am=e=>PO(e,void 0),PO=(e="sequential",t)=>({[sS]:sS,[oS]:oS,strategy:e,parent:t,state:iS}),iS={_tag:"Empty"};var _u=qi,MO=Qt(qi),VS=e=>le(t=>{let n=t.context,r=Am();return t.setContext(zn(t.context,qi,r)),Ac(t,o=>(t.setContext(n),Tm(r,o))),e});var Rm=e=>ge(()=>{let t=Am();return Vn(e(t),n=>ge(()=>Tm(t,n)??we))}),Om=(e,t,n)=>Ps(r=>ji(o=>te(_u,s=>Au(n?.interruptible?o(e):e,i=>Tc(s,c=>Gn(t(i,c),r)))))),JS=e=>te(_u,t=>Ps(n=>Tc(t,r=>Gn(e(r),n)))),_O=(function(){let e=Bn({op:"OnExit",[mt](n){return n._stack.push(this),this.effect},[Si](n){n.interruptible&&this.interruptible!==!0&&(n._stack.push(Uu),n.interruptible=!1)},[Nt](n,r,o){o??=Et(n);let s;try{s=this.onExit(o)}catch(i){s=jn(i)}return s?te(s,i=>o):o},[qn](n,r,o){o??=Gt(n);let s;try{s=this.onExit(o)}catch(i){s=jn(i)}return s?te(OO(o,s),i=>o):o}}),t=function(n,r,o){this.effect=n,this.onExit=r,this.interruptible=o};return t.prototype=e,t})(),_s=(e,t,n)=>new _O(e,t,n),Ac=(e,t)=>{e._stack.push(new _O(void 0,t,void 0))},Vn=h(2,_s),UO=h(2,(e,t)=>Vn(e,n=>t)),ZS=h(3,(e,t,n)=>Vn(e,r=>t(r)?n(r):we)),QS=h(3,(e,t,n)=>Vn(e,r=>{let o=t(r);return fe(o)?we:n(o.success,r)})),YS=h(2,(e,t)=>QS(e,WR,t)),NO=h(3,(e,t,n)=>ZS(e,r=>r._tag!=="Failure"?!1:t(r.cause),r=>n(r.cause))),XS=h(3,(e,t,n)=>Vn(e,r=>{if(r._tag!=="Failure")return we;let o=t(r.cause);return fe(o)?we:n(o.success,r.cause)})),FO=h(2,(e,t)=>XS(hR,t)(e)),$O=(e,t,n)=>ji(r=>te(e,o=>_s(ge(()=>r(t(o))),s=>n(o,s),!0))),LO=e=>Om(e,t=>O(t,Symbol.asyncDispose)?ES(()=>t[Symbol.asyncDispose]()):Je(()=>t[Symbol.dispose]())),eb=h(2,(e,t)=>Je(()=>qO(e,typeof t=="function"?n=>cr(Pt(t(n))):cn(cr(Pt(t)))))),W5=cn(1/0),qO=(e,t)=>{let n=0,r,o,s=(i,c)=>(c.awaiters++,Ac(i,()=>{if(!(--c.awaiters>0||c.done))return o===c&&(o=void 0),vR(c.fiber)}),cR(c.fiber));return[le(i=>{if(o!==void 0)return i===o.fiber?cR(o.fiber):s(i,o);if(r!==void 0&&(n===1/0||i.getRef(Kn).currentTimeMillisUnsafe()<n))return r;r=void 0;let c=i.getRef(Kn),d={fiber:new bc(i.context),awaiters:0,done:!1};o=d;let u=s(i,d);return d.fiber.evaluate(_s(e,l=>{if(d.done=!0,o!==d||(o=void 0,KR(l)))return;let p=t(l);n=p===1/0?1/0:c.currentTimeMillisUnsafe()+p,r=l})),d.fiber._exit??u}),Je(()=>{o=void 0,r=void 0})]},BO=h(2,(e,t)=>ke(eb(e,t),n=>n[0])),jO=e=>Je(()=>qO(e,W5)[0]),HO=le(e=>_e(Eu(e.id))),Bi=e=>le(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(Uu)),e)),zO=mo({op:"SetInterruptible",[Si](e){if(e.interruptible=this[ue],e._interruptedCause&&e.interruptible)return()=>_e(e._interruptedCause)}}),Uu=zO(!0),K5=zO(!1),WO=e=>{if(e.interruptible=!0,e._stack.push(K5),e._interruptedCause)return _e(e._interruptedCause)},G5=e=>{let t=e;t.interruptible&&(t.interruptible=!1,t._stack.push(Uu))};var Cm=e=>le(t=>t.interruptible?e:WO(t)??e),ji=e=>le(t=>t.interruptible?(t.interruptible=!1,t._stack.push(Uu),e(Cm)):e(Q)),KO=e=>le(t=>{if(t.interruptible)return e(Q);let n=WO(t),r=e(Bi);return n??r}),GO=ke(Om(Je(()=>new AbortController),e=>Je(()=>e.abort())),e=>e.signal),Nu=(e,t)=>No(e)?t?.mode==="result"?Wn(e,Cs,t):Wn(e,Q,t):t?.discard?t.mode==="result"?Wn(Object.values(e),Cs,t):Wn(Object.values(e),Q,t):ge(()=>ke(Wn(Object.entries(e),([n,r])=>ke(t?.mode==="result"?Cs(r):r,o=>[n,o]),{concurrency:t?.concurrency}),Object.fromEntries)),tb=h(e=>No(e[0])&&!se(e[0]),(e,t,n)=>ke(Wn(e,(r,o)=>Cs(t(r,o)),n),r=>Fx(r,Q))),VO=h(3,(e,t,n)=>{let r=kn(e);return r.length===0?Je(t):ge(()=>{let o=0,s=t();return ke(Hi({while:()=>o<r.length,body:()=>n(s,r[o],o),step(i){s=i,o++}}),()=>s)})}),JO=h(e=>No(e[0])&&!se(e[0]),(e,t,n)=>te(tb(e,t,{concurrency:n?.concurrency}),([r,o])=>fc(o)?at(o):n?.discard?we:H(r))),ZO=h(e=>No(e[0])&&!se(e[0]),(e,t)=>ge(()=>{let n=e[Symbol.iterator](),r=n.next();return r.done?H(N()):QO(n,0,t,r.value)})),QO=(e,t,n,r)=>te(n(r,t),o=>{if(o)return H(F(r));let s=e.next();return s.done?H(N()):QO(e,t+1,n,s.value)}),YO=h(e=>No(e[0])&&!se(e[0]),(e,t)=>ge(()=>{let n=e[Symbol.iterator](),r=n.next();return r.done?H(N()):XO(n,0,t,r.value)})),XO=(e,t,n,r)=>te(n(r,t),o=>{if(Tt(o))return H(F(o.success));let s=e.next();return s.done?H(N()):XO(e,t+1,n,s.value)}),Hi=mo({op:"While",[Nt](e,t){return this[ue].step(e),this[ue].while()?(t._stack.push(this),this[ue].body()):$r},[mt](e){return this[ue].while()?(e._stack.push(this),this[ue].body()):$r}}),Wn=h(e=>typeof e[1]=="function",(e,t,n)=>ge(()=>{let r=Fu(n?.concurrency);if(r===1)return V5(e,t,n);let o=kn(e),s=o.length;if(s===0)return n?.discard?we:H([]);let i=n?.discard?void 0:new Array(s),c=J5({f:t,out:i},o,{concurrency:r});return c?lr(c,i):H(i)})),eC=e=>te(e,t=>{let n=t[Symbol.iterator]().next();return n.done?at(new lo):H(n.value)}),V5=(e,t,n)=>ge(()=>{let r=n?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return lr(Hi({while:()=>!s.done,body:()=>t(s.value,i++),step:c=>{r&&r.push(c),s=o.next()}}),r)}),Fu=e=>e==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,e??1),Dm=()=>e=>{let t=e.onItem,n=e.step,r=(s,i,c,d,u)=>te(Pu(u),l=>n(s,i[c],l,c)??o(s,i,c+1,d)??we),o=(s,i,c=0,d=i.length)=>{for(;c<d;c++){let u=i[c],l=t(s,u,c);if(!Be(l))return r(s,i,c,d,l);let p=n(s,u,l,c);if(p)return p._tag==="Failure"?p:void 0}};return o},tC=e=>{let t=e.onItem,n=e.step;return(r,o,s)=>{let i=0,c=s.end??o.length,d=s.concurrency,u=!1,l,p,f,g,b,y=v=>{let I=jn(v);return g=I,u=!0,p&&p.size>0?te(Bi(Iu(Array.from(p))),()=>g??I):I},S=()=>{let v=!1;for(;!g&&i<c;i++){let I=o[i],R=b??t(r,I,i);if(Be(R)){if(g=n(r,I,R,i),g)break}else if(l){b=void 0;let A=zi(l,R,!0,!0,"inherit");if(A._exit){if(g=n(r,I,A._exit,i),g)break;continue}p.add(A);let k=i;if(A.addObserver(x=>{p.delete(A);try{if(g){if(x._tag==="Failure"){let w=x.cause.reasons.filter(E=>E._tag!=="Interrupt");if(w.length>0){let E=fo(w);g=Gt(g._tag==="Failure"?lm(If(g.cause,E)):E)}}}else{let w=n(r,I,x,k);w&&(g=w,S())}if(v){let w=S();w&&f(w)}else u&&p.size===0&&f(g??we)}catch(w){f(y(w))}}),p.size<d)continue;v=!0,i++;return}else return Tn(A=>{l=fm(),p=new Set,b=R,f=A;let k;try{k=S()}catch(x){return A(y(x))}return k?A(k):ge(()=>(g??=$r,te(p?Iu(p):we,()=>g?._tag==="Failure"?g:we)))})}if(u=!0,g){if(p&&p.size>0){let I=mm(l);p.forEach(R=>R.interruptUnsafe(l.id,I));return}if(f||g._tag==="Failure")return g}else if(f)if(p)p.size===0&&f(we);else return $r};return S()}},Pm=()=>e=>tC(e),J5=tC({onItem(e,t,n){return e.f(t,n)},step(e,t,n,r){if(n._tag==="Failure")return n;e.out&&(e.out[r]=n.value)}}),nb=h(3,(e,t,n)=>te(e,r=>t(r)?H(r):n(r))),rb=h(3,(e,t,n)=>te(e,r=>{let o=t(r);return fe(o)?n(o.failure):H(o.success)})),nC=h(e=>se(e[0]),(e,t,n)=>rb(e,t,n?r=>at(n(r)):()=>at(new lo))),rC=h(e=>No(e[0])&&!se(e[0]),(e,t,n)=>ke(Wn(e,(r,o)=>{let s=t(r,o);return typeof s=="boolean"?H(s?F(r):N()):ke(s,i=>i?F(r):N())},n),PA)),oC=h(e=>No(e[0])&&!se(e[0]),(e,t)=>ge(()=>{let n=[];for(let r of e){let o=t(r);Tt(o)&&n.push(o.success)}return H(n)})),sC=h(e=>No(e[0])&&!se(e[0]),(e,t,n)=>ge(()=>{let r=[];return lr(Wn(e,o=>ke(t(o),s=>{Tt(s)&&r.push(s.success)}),{discard:!0,concurrency:n?.concurrency}),r)})),iC=H({}),aC=nc(ke),cC=rc(ke,te),dC=tc(ke);var uC=h(e=>se(e[0]),(e,t)=>le(n=>(p4(),H(zi(n,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),zi=(e,t,n=!1,r=!1,o=!1)=>{let s=e,i=o==="inherit"?s.interruptible:!o,c=new bc(s.context,i);return r||(s.children().add(c),c._parent=s),n?c.evaluate(t):(c._asyncContext=IR(),s.currentDispatcher.scheduleTask(()=>c.evaluate(t),0)),c},lC=h(e=>se(e[0]),(e,t)=>le(n=>H(zi(n,e,t?.startImmediately,!0,t?.uninterruptible)))),pC=e=>le(t=>{let n=t._children&&new Set(t._children),r=t.interruptible;return _s(e,o=>{let s=t._children;if(s===void 0||s.size===0)return we;n&&(s=RA(s,c=>!n.has(c)));let i=Ru(bS(s));return r?Cm(i):i})}),Z5=e=>()=>le(t=>t===e?we:vR(e)),ob=h(e=>se(e[0]),(e,t,n)=>le(r=>{let o=t.state._tag==="Closed"?new bc(r.context):zi(r,e,n?.startImmediately,!0,n?.uninterruptible);return o._exit||(t.state._tag!=="Closed"?(Mu(t,o,Z5(o)),o.addObserver(()=>DO(t,o))):o.interruptUnsafe(r.id,mm(r))),H(o)})),fC=h(e=>se(e[0]),(e,t)=>te(_u,n=>ob(e,n,t))),Zo=e=>(t,n)=>{let r=new bc(n?.scheduler?zn(e,xc,n.scheduler):e,n?.uninterruptible!==!0);if(r.evaluate(t),r._exit)return r;if(n?.signal)if(n.signal.aborted)r.interruptUnsafe();else{let o=()=>r.interruptUnsafe();n.signal.addEventListener("abort",o,{once:!0}),r.addObserver(()=>n.signal.removeEventListener("abort",o))}return n?.onFiberStart&&n.onFiberStart(r),r};var mC=Zo(Hn()),sb=e=>{let t=Zo(e);return(n,r)=>{let o=t(n,r);return r?.onExit&&o.addObserver(r.onExit),s=>o.interruptUnsafe(s)}},hC=sb(Hn()),Mm=e=>{let t=Zo(e);return(n,r)=>{let o=t(n,r);return new Promise(s=>{o.addObserver(i=>s(i))})}},gC=Mm(Hn()),ib=e=>{let t=Mm(e);return(n,r)=>t(n,r).then(o=>{if(o._tag==="Failure")throw SS(o.cause);return o.value})},yC=ib(Hn()),_m=e=>{let t=Zo(e);return n=>{if(Be(n))return n;let r=new _i("sync"),o=t(n,{scheduler:r});return o._dispatcher?.flush(),o._exit??jn(new dm(o))}},xC=_m(Hn()),ab=e=>{let t=_m(e);return n=>{let r=t(n);if(r._tag==="Failure")throw SS(r.cause);return r.value}},SC=ab(Hn());var bC=le(e=>H(e.getRef(Jx))),IC=h(2,(e,t)=>Qt(e,Jx,t)),vC=Qt(tm),wC=Qt(Sc),im=BigInt(0),Q5={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:im,endTime:im,exit:$r},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},Y5=e=>Object.assign(Object.create(Q5),e),kC=e=>e?et(e.annotations,em)?e._tag==="Span"?kC(ho(e.parent)):N():F(e):N(),cb=(e,t,n)=>{let r=!e.cache.tracerEnabled||n?.annotations&&et(n.annotations,em),o=n?.parent!==void 0?F(n.parent):n?.root?N():kC(e.cache.span),s;if(r)s=Y5({name:t,parent:o,annotations:zn(n?.annotations??Hn(),em,!0)});else{let i=e.cache.tracer??Zx,c=e.getRef(Kn),d=e.getRef(Sc),u=e.getRef(Su),l=e.getRef(bu),p=n?.level??e.getRef(nR),f=n?.links!==void 0?[...l,...n.links]:l.length===0?[]:l.slice();s=i.span({name:t,parent:o,annotations:n?.annotations??Hn(),links:f,startTime:d?c.currentTimeNanosUnsafe():im,kind:n?.kind??"internal",root:n?.root??!1,sampled:n?.sampled??(st(o)&&o.value.sampled===!1?!1:!$C(e.getRef(rR),p))});for(let g in u)s.attribute(g,u[g]);if(n?.attributes!==void 0)for(let g in n.attributes)s.attribute(g,n.attributes[g])}return s},EC=(e,t)=>le(n=>H(cb(n,e,t))),vu=(e,t)=>Bi(le(n=>{let r=As(n.context,qi),o=cb(n,e,t??{}),s=n.getRef(Kn),i=n.getRef(Sc);return lr(Tc(r,c=>CC(o,c,s,i)),o)})),TC=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],n=rm(e?arguments[2]:arguments[1]);if(e){let r=arguments[0];return te(vu(t,n),o=>Ic(r,o,n))}return r=>te(vu(t,n),o=>Ic(r,o,n))},X5=(e,t)=>(t=typeof t=="function"?t:$n,Vo(xu,n=>({name:e,stack:t,parent:n}))),AC=Su,RC=bu,OC=h(e=>se(e[0]),(e,t,n={})=>{let o=(Array.isArray(t)?t:[t]).map(s=>({span:s,attributes:n}));return Vo(e,bu,s=>[...s,...o])}),CC=(e,t,n,r)=>Je(()=>{e.status._tag!=="Ended"&&e.end(r?n.currentTimeNanosUnsafe():im,t)}),wu=(e,...t)=>{let n=t.length===1?void 0:t[0],r=t[t.length-1];return le(o=>{let s=cb(o,e,n),i=o.getRef(Kn),c=o.getRef(Sc);return Ac(o,d=>CC(s,d,i,c)),r(s)})},aS=Qt(yu),Ic=function(){let e=se(arguments[0]),t=e?arguments[1]:arguments[0],n=e?arguments[2]:arguments[1],r=Q;return t._tag==="Span"&&(n=rm(n),r=X5(t.name,n?.captureStackTrace)),e?aS(r(arguments[0]),t):o=>aS(r(o),t)},DC=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],n=rm(arguments[2]);if(e){let s=arguments[0];return wu(t,arguments[2],i=>Ic(s,i,n))}let r=typeof arguments[1]=="function"?arguments[1]:void 0,o=r?void 0:arguments[1];return(s,...i)=>wu(t,r?r(...i):o,c=>Ic(s,c,n))},PC=h(e=>se(e[0]),(e,...t)=>Vo(e,Su,n=>{let r=t.length===1?{...n,...t[0]}:{...n};return t.length===1||M(r,t[0],t[1]),r})),MC=(...e)=>le(t=>{let n=t.currentSpanLocal;if(n)if(e.length===1)for(let[r,o]of Object.entries(e[0]))n.attribute(r,o);else n.attribute(e[0],e[1]);return we}),_C=le(e=>{let t=e.currentSpanLocal;return t?H(t):at(new lo)}),UC=U5(yu),Kn=Me("effect/Clock",{defaultValue:()=>new cS}),eS=2**31-1,cS=class{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=Je(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return e4()}currentTimeNanos=Je(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return FC()}monotonicTimeNanos=Je(()=>this.monotonicTimeNanosUnsafe());sleep(t){return this.sleepMillis(cr(t))}sleepMillis(t){return t<=0?kc:Number.isFinite(t)?Tn(n=>{let r=t>eS?this.sleepMillis(t-eS):we,o=setTimeout(()=>n(r),Math.min(t,eS));return Je(()=>clearTimeout(o))}):gm}},NC=BigInt(1e6),FC=(function(){let e=globalThis.process?.hrtime;if(typeof e?.bigint=="function")return()=>e.bigint();if(typeof performance<"u"&&typeof performance.now=="function")return()=>BigInt(Math.round(performance.now()*1e6));let t=BigInt(0);return()=>{let n=BigInt(Date.now())*NC;return n>t&&(t=n),t}})(),e4=(function(){let e=BigInt(1e9),t;return()=>{let n=FC(),r=BigInt(Date.now())*NC;if(t===void 0)t=r-n;else{let o=t+n;(r>o?r-o:o-r)>e&&(t=r-n)}return t+n}})(),qr=e=>le(t=>e(t.getRef(Kn))),Rc=e=>qr(t=>t.sleep(Pt(e))),Um=qr(e=>e.currentTimeMillis);var dS="~effect/Cause/TimeoutError";var am=class extends Lo("TimeoutError"){[dS]=dS;constructor(t){super({message:t})}},uS="~effect/Cause/IllegalArgumentError";var cm=class extends Lo("IllegalArgumentError"){[uS]=uS;constructor(t){super({message:t})}},lS="~effect/Cause/ExceededCapacityError";var pS=class extends Lo("ExceededCapacityError"){[lS]=lS;constructor(t){super({message:t})}},fS="~effect/Cause/AsyncFiberError";var dm=class extends Lo("AsyncFiberError"){[fS]=fS;constructor(t){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:t})}},mS="~effect/Cause/UnknownError";var ku=class extends Lo("UnknownError"){[mS]=mS;constructor(t,n){super({message:n,cause:t})}},t4=Me("effect/Console",{defaultValue:()=>globalThis.console}),n4=e=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 5e4;case"Error":return 4e4;case"Warn":return 3e4;case"Info":return 2e4;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},r4=Ix(Bo,n4),$C=jo(r4),db=Me("effect/Logger/CurrentLoggers",{defaultValue:()=>new Set([u4,l4])}),o4=Me("effect/Logger/LogToStderr",{defaultValue:uf}),LC=function(){let e=typeof arguments[0]=="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return Bi(le(t=>{let n=t.getRef(Ko),r={...n};for(let o=0;o<e.length;o++){let[s,i]=e[o];M(r,s,i)}return t.setContext(zn(t.context,Ko,r)),Tc(As(t.context,qi),o=>{let s=t.getRef(Ko),i={...s};for(let c=0;c<e.length;c++){let[d,u]=e[c];s[d]!==u&&!Object.is(s[d],u)||(Object.hasOwn(n,d)?M(i,d,n[d]):delete i[d])}return t.setContext(zn(t.context,Ko,i)),we})}))},s4="~effect/Logger",i4={[s4]:{_Message:Q,_Output:Q},pipe(){return ie(this,arguments)}},qC=e=>{let t=Object.create(i4);return t.log=e,t},a4=e=>e.replace(/[\s="]/g,"_"),c4=(e,t)=>`${a4(e[0])}=${t-e[1]}ms`;var Br=e=>(...t)=>{let n;for(let r=0,o=t.length;r<o;r++){let s=t[r];Ya(s)&&(n?t.splice(r,1):t=t.slice(0,r).concat(t.slice(r+1)),n=n?fo(n.reasons.concat(s.reasons)):s,r--)}return n===void 0&&(n=px),le(r=>{let o=e??r.cache.logLevel;if($C(r.cache.minimumLogLevel,o))return we;let s=r.getRef(Kn),i=r.getRef(db);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let d of i)d.log({cause:n,fiber:r,date:c,logLevel:o,message:t})}return we})};var Fi={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},Aae={None:[],All:[],Trace:[Fi.gray],Debug:[Fi.blue],Info:[Fi.green],Warn:[Fi.yellow],Error:[Fi.red],Fatal:[Fi.bgBrightRed,Fi.black]};var d4=e=>`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;var u4=qC(({cause:e,date:t,fiber:n,logLevel:r,message:o})=>{let s=Array.isArray(o)?o.slice():[o];e.reasons.length>0&&s.push(pm(e));let i=t.getTime(),c=n.getRef(nm),d="";for(let f of c)d+=` ${c4(f,i)}`;let u=n.getRef(Ko);Object.keys(u).length>0&&s.push(u);let l=n.getRef(t4);(n.getRef(o4)?l.error:l.log)(`[${d4(t)}] ${r.toUpperCase()} (#${n.id})${d}:`,...s)}),l4=qC(({cause:e,fiber:t,logLevel:n,message:r})=>{let o=t.getRef(Kn),s=t.getRef(Ko),i=t.cache.span;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[d,u]of Object.entries(s))M(c,d,u);c["effect.fiberId"]=t.id,c["effect.logLevel"]=n.toUpperCase(),e.reasons.length>0&&(c["effect.cause"]=pm(e)),i.event($T(Array.isArray(r)&&r.length===1?r[0]:r),o.currentTimeNanosUnsafe(),c)});function p4(){rS.interruptChildren??=T5}var ub=H(void 0);var BC=h(e=>se(e[0]),(e,t)=>YS(e,n=>le(r=>(f4(r,n,t?.defectsOnly),we)))),f4=(e,t,n)=>{let r=e.getRef(iR);if(r.size===0||n&&!um(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(Kn).currentTimeNanosUnsafe()};r.forEach(s=>s.report(o))};var jC=Ya,HC=BT,Nm=Xa;var $u=fo;var Fm=fx;var lb=e=>new bi(e),pb=e=>new Ii(e),zC=fR;var Us=vc;var WC=pm;var KC=wf;var fb=GT;var $m=cm;var Xt={};Ae(Xt,{Do:()=>I6,Transaction:()=>_c,TypeId:()=>c6,abortSignal:()=>IW,acquireDisposable:()=>oW,acquireRelease:()=>rW,acquireUseRelease:()=>sW,addFinalizer:()=>iW,all:()=>d6,andThen:()=>U6,annotateCurrentSpan:()=>MW,annotateLogs:()=>bK,annotateLogsScoped:()=>IK,annotateSpans:()=>PW,as:()=>$6,asSome:()=>L6,asVoid:()=>q6,awaitAllChildren:()=>QW,bind:()=>k6,bindTo:()=>v6,cached:()=>mW,cachedInvalidateWithTTL:()=>gW,cachedWithTTL:()=>hW,callback:()=>Gb,catch:()=>z6,catchCause:()=>$s,catchCauseFilter:()=>tz,catchCauseIf:()=>ez,catchDefect:()=>Z6,catchEager:()=>ph,catchFilter:()=>Y6,catchIf:()=>Q6,catchNoSuchElement:()=>X6,catchReason:()=>G6,catchReasons:()=>V6,catchTag:()=>W6,catchTags:()=>K6,clockWith:()=>lM,context:()=>zz,contextWith:()=>Wz,currentParentSpan:()=>UW,currentSpan:()=>_W,delay:()=>Iz,die:()=>Hr,effectify:()=>MK,ensuring:()=>aW,eventually:()=>cz,exit:()=>ea,fail:()=>P,failCause:()=>A6,failCauseSync:()=>Uc,failSync:()=>T6,fiber:()=>YW,fiberId:()=>XW,filter:()=>Rz,filterMap:()=>Oz,filterMapEffect:()=>Cz,filterMapOrElse:()=>Pz,filterMapOrFail:()=>_z,filterOrElse:()=>Dz,filterOrFail:()=>Mz,findFirst:()=>f6,findFirstFilter:()=>m6,firstSuccessOf:()=>yz,flatMap:()=>pn,flatMapEager:()=>Ft,flatten:()=>_6,flip:()=>B6,fn:()=>uK,fnUntraced:()=>dK,fnUntracedEager:()=>Qb,forEach:()=>h6,forever:()=>vW,forkChild:()=>GW,forkDetach:()=>ZW,forkIn:()=>VW,forkScoped:()=>JW,fromNullishOr:()=>M6,fromOption:()=>D6,fromResult:()=>el,gen:()=>E6,head:()=>g6,ignore:()=>pz,ignoreCause:()=>fz,interrupt:()=>cM,interruptible:()=>yW,interruptibleMask:()=>bW,isEffect:()=>Xi,isFailure:()=>jz,isSuccess:()=>Hz,let:()=>w6,linkSpans:()=>$W,log:()=>pK,logDebug:()=>yK,logError:()=>hK,logFatal:()=>fK,logInfo:()=>gK,logTrace:()=>xK,logWarning:()=>mK,logWithLevel:()=>lK,makeSpan:()=>LW,makeSpanScoped:()=>qW,map:()=>tl,mapBoth:()=>rz,mapBothEager:()=>Yt,mapEager:()=>ta,mapError:()=>nz,mapErrorEager:()=>Fc,match:()=>Vb,matchCause:()=>Fz,matchCauseEager:()=>$z,matchCauseEffect:()=>qz,matchCauseEffectEager:()=>Lz,matchEager:()=>Nz,matchEffect:()=>Bz,never:()=>b6,onError:()=>cW,onErrorFilter:()=>uW,onErrorIf:()=>dW,onExit:()=>Jb,onExitFilter:()=>fW,onExitIf:()=>pW,onExitPrimitive:()=>lW,onInterrupt:()=>xW,option:()=>F6,orDie:()=>oz,orElseSucceed:()=>gz,partition:()=>u6,promise:()=>y6,provide:()=>Kz,provideContext:()=>Gz,provideService:()=>uh,provideServiceEffect:()=>lh,race:()=>Tz,raceAll:()=>kz,raceAllFirst:()=>Ez,raceFirst:()=>Az,reduce:()=>l6,repeat:()=>wW,repeatOrElse:()=>kW,replicate:()=>EW,replicateEffect:()=>TW,request:()=>WW,requestUnsafe:()=>KW,result:()=>N6,retry:()=>dz,retryOrElse:()=>uz,runCallback:()=>nK,runCallbackWith:()=>tK,runFork:()=>Zb,runForkWith:()=>eK,runPromise:()=>rK,runPromiseExit:()=>nl,runPromiseExitWith:()=>sK,runPromiseWith:()=>oK,runSync:()=>iK,runSyncExit:()=>bo,runSyncExitWith:()=>cK,runSyncWith:()=>aK,sandbox:()=>lz,satisfiesErrorType:()=>UK,satisfiesServicesType:()=>NK,satisfiesSuccessType:()=>_K,schedule:()=>AW,scheduleFrom:()=>uM,scope:()=>eW,scoped:()=>tW,scopedWith:()=>nW,service:()=>Jz,serviceOption:()=>Zz,setContext:()=>Vz,sleep:()=>vz,spanAnnotations:()=>NW,spanLinks:()=>FW,succeed:()=>C,succeedNone:()=>Qu,succeedSome:()=>x6,suspend:()=>Yu,sync:()=>Xu,tap:()=>oM,tapCause:()=>iM,tapCauseFilter:()=>az,tapCauseIf:()=>iz,tapDefect:()=>aM,tapError:()=>sM,tapErrorTag:()=>sz,timed:()=>wz,timeout:()=>xz,timeoutOption:()=>Sz,timeoutOrElse:()=>bz,tracer:()=>RW,track:()=>wK,trackDefects:()=>TK,trackDuration:()=>AK,trackErrors:()=>EK,trackSuccesses:()=>kK,transposeOption:()=>P6,try:()=>Nc,tryPromise:()=>Kb,tx:()=>RK,txRetry:()=>PK,undefined:()=>S6,uninterruptible:()=>SW,uninterruptibleMask:()=>dM,unwrapReason:()=>J6,updateContext:()=>Qz,updateService:()=>Yz,updateServiceScoped:()=>Xz,useSpan:()=>BW,validate:()=>p6,void:()=>Mc,when:()=>Uz,whileLoop:()=>nM,withErrorReporting:()=>hz,withExecutionPlan:()=>mz,withFiber:()=>rM,withFiberSucceed:()=>C6,withLogSpan:()=>vK,withLogger:()=>SK,withParentSpan:()=>zW,withSpan:()=>jW,withSpanScoped:()=>HW,withTracer:()=>OW,withTracerEnabled:()=>CW,withTracerTiming:()=>DW,yieldNow:()=>R6,yieldNowWith:()=>O6,zip:()=>j6,zipWith:()=>H6});var GC=ux,Lu=Et,Wi=Gt,Oc=ws;var Cc=$r;var qt=bm,VC=zR;var m4="~effect/Deferred";var h4={[m4]:{_A:Q,_E:Q},pipe(){return ie(this,arguments)}},JC=function(){this.resumes=void 0,this.effect=void 0};JC.prototype=h4;var ZC=()=>new JC;var QC=e=>Tn(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),Je(()=>{let n=e.resumes;if(n===void 0)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)})));var YC=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let n=e.resumes;e.resumes=void 0;for(let r=0;r<n.length;r++)n[r](t)}return!0};var eD=Ko;var tD=nm;var nD=Am,rD=MO;var Lm=CO,mb=GS;var dD="~effect/Layer",sD="~effect/Layer/MemoMap",y4=(e,t)=>{let n={observers:0,deferred:ZC(),scope:nD(),finalizer:r=>ge(()=>--n.observers>0?we:(e.map.delete(t),mb(n.scope,r)))};return n},iD=(e,t)=>t.state._tag==="Closed"?!1:(e.observers++,Mu(t,{},e.finalizer),!0),uD=e=>O(e,dD),x4={[dD]:{_ROut:Q,_E:Q,_RIn:Q},pipe(){return ie(this,arguments)}},lD=e=>{let t=Object.create(x4);return t.build=e,t},S4=e=>lD((t,n)=>{let r=Lm(n);return Vn(e(t,r),o=>o._tag==="Failure"?mb(r,o):we)}),jm=e=>{let t=S4((n,r)=>n.getOrElseMemoize(t,r,e));return t},qm=class{get[sD](){return sD}parent;constructor(t){this.parent=t}map=new Map;get(t,n){let r=this.map.get(t);return r?(iD(r,n),r.deferred.effect??QC(r.deferred)):this.parent?.get(t,n)}getOrElseMemoize(t,n,r){return ge(()=>{let o;return _s(ge(()=>{let s=this.get(t,n);if(s)return s;let i=y4(this,t);return iD(i,n)?(o=i.deferred,this.map.set(t,i),r(this,i.scope)):r(this,n)}),s=>{o&&YC(o,s)})})}},hb=()=>new qm,b4=e=>new qm(e);var qu=class e extends _r()("effect/Layer/CurrentMemoMap"){static forkOrCreate(t){let n=_f(t,e);return n?b4(n):hb()}},gb=h(3,(e,t,n)=>Qt(ke(ge(()=>e.build(t,n)),zn(qu,t)),qu,t));var pD=h(2,(e,t)=>le(n=>gb(e,qu.forkOrCreate(n.context),t))),yb=function(){return arguments.length===1?e=>Bm(Ho(arguments[0],e)):Bm(Ho(arguments[0],arguments[1]))},Bm=e=>lD(cn(H(e)));var fD=function(){return arguments.length===1?e=>aD(()=>Ho(arguments[0],e())):aD(()=>Ho(arguments[0],arguments[1]()))},aD=e=>jm(cn(Je(e))),mD=function(){return arguments.length===1?e=>cD(arguments[0],e):cD(arguments[0],arguments[1])},cD=(e,t)=>I4(ke(t,n=>Ho(e,n))),I4=e=>jm((t,n)=>rD(e,n));var hD=(e,t,n)=>{let r=Lm(n,"parallel");return Wn(e,o=>o.build(t,Lm(r,"sequential")),{concurrency:e.length}).pipe(ke(o=>wA(...o)))},gD=(...e)=>jm((t,n)=>hD(e,t,n));var v4=(e,t,n)=>jm((r,o)=>te(Array.isArray(t)?hD(t,r,o):t.build(r,o),s=>e.build(r,o).pipe(Gn(s),ke(i=>n(i,s))))),yD=h(2,(e,t)=>v4(e,t,Q));var xb=Um;var zm="~effect/DateTime",Wm="~effect/DateTime/TimeZone",bD={[zm]:zm,pipe(){return ie(this,arguments)},[He](){return this.toString()},toJSON(){return Fs(this).toJSON()}},w4={...bD,_tag:"Utc",[Y](){return Ct(this.epochMilliseconds)},[X](e){return Ji(e)&&e._tag==="Utc"&&this.epochMilliseconds===e.epochMilliseconds},toString(){return`DateTime.Utc(${Fs(this).toJSON()})`}},k4={...bD,_tag:"Zoned",[Y](){return ce(Ct(this.epochMilliseconds))(j(this.zone))},[X](e){return Ji(e)&&e._tag==="Zoned"&&this.epochMilliseconds===e.epochMilliseconds&&V(this.zone,e.zone)},toString(){return`DateTime.Zoned(${Cb(this)})`}},ID={[Wm]:Wm,[He](){return this.toString()}},E4={...ID,_tag:"Named",[Y](){return Ce(`Named:${this.id}`)},[X](e){return Zi(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},T4={...ID,_tag:"Offset",[Y](){return Ce(`Offset:${this.offset}`)},[X](e){return Zi(e)&&e._tag==="Offset"&&this.offset===e.offset},toString(){return`TimeZone.Offset(${nh(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},pr=(e,t,n)=>{let r=Object.create(k4);return r.epochMilliseconds=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},Ji=e=>O(e,zm),jr=e=>Ji(e[0]),Zi=e=>O(e,Wm),vD=e=>Zi(e)&&e._tag==="Offset",wD=e=>Zi(e)&&e._tag==="Named",kD=e=>e._tag==="Utc",Sb=e=>e._tag==="Zoned",ED=ht((e,t)=>e.epochMilliseconds===t.epochMilliseconds),So=Pr((e,t)=>e.epochMilliseconds<t.epochMilliseconds?-1:e.epochMilliseconds>t.epochMilliseconds?1:0),TD=vx(So),Ns=e=>{let t=Object.create(w4);return t.epochMilliseconds=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},Gi=e=>{let t=e.getTime();if(Number.isNaN(t))throw new $m("Invalid date");return Ns(t)},Jm=e=>{if(Ji(e))return e;if(e instanceof Date)return Gi(e);if(typeof e=="object"){if("epochMilliseconds"in e)return Gi(new Date(e.epochMilliseconds));let t=new Date(0);return Eb(t,e),Gi(t)}else if(typeof e=="string"&&!A4(e))return Gi(new Date(e+"Z"));return Gi(new Date(e))},A4=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e)||/z$|gmt$/i.test(e),R4=-864e13+720*60*1e3,O4=864e13-840*60*1e3,bb=(e,t)=>{let n=t?.timeZone;if(n===void 0&&Ji(e)&&Sb(e))return e;let r=Jm(e);if(r.epochMilliseconds<R4||r.epochMilliseconds>O4)throw new RangeError(`Epoch millis out of range: ${r.epochMilliseconds}`);n===void 0&&typeof e=="object"&&"timeZoneId"in e&&(n=e.timeZoneId);let o;if(n===void 0){let s=new Date(r.epochMilliseconds).getTimezoneOffset()*-60*1e3;o=Vi(s)}else if(Zi(n))o=n;else if(typeof n=="number")o=Vi(n);else{let s=vb(n);if(ae(s))throw new $m(`Invalid time zone: ${n}`);o=s.value}return t?.adjustForTimeZone!==!0?pr(r.epochMilliseconds,o,r.partsUtc):Tb(r.epochMilliseconds,o,t?.disambiguation??"compatible")},Km=Mr(bb),AD=Mr(Jm),C4=/^(.{17,35})\[(.+)\]$/,RD=e=>{let t=C4.exec(e);if(t===null){let o=Ab(e);return o!==null?Km(e,{timeZone:o}):N()}let[,n,r]=t;return Km(n,{timeZone:r})},Zm=ke(xb,Ns),OD=ke(xb,e=>new Date(e)),Qm=()=>Ns(Date.now()),CD=e=>Ns(e.epochMilliseconds),ju=h(jr,(e,t,n)=>n?.adjustForTimeZone===!0?Tb(e.epochMilliseconds,t,n?.disambiguation??"compatible"):pr(e.epochMilliseconds,t,e.partsUtc)),DD=h(jr,(e,t,n)=>ju(e,Vi(t),n)),Gm=new Map,PD={day:"numeric",month:"numeric",year:"numeric",era:"short",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},MD=e=>{let t=e.resolvedOptions().timeZone,n=Gm.get(t);if(n!==void 0)return n;let r=Object.create(E4);return r.id=t,r.format=e,Gm.set(t,r),r},Hu=e=>{let t=Gm.get(e);if(t!==void 0)return t;try{let n=MD(new Intl.DateTimeFormat("en-US",{...PD,timeZone:e}));return Gm.set(e,n),n}catch{throw new $m(`Invalid time zone: ${e}`)}},Vi=e=>{let t=Object.create(T4);return t.offset=e,t},Ym=Mr(Hu),Ib=e=>hm({try:()=>Hu(e),catch:t=>t}),_D=()=>MD(new Intl.DateTimeFormat("en-US",PD)),D4=/^(?:GMT)?[+-]/,vb=e=>{if(D4.test(e)){let t=Ab(e);return t===null?N():F(Vi(t))}return Ym(e)},UD=e=>e._tag==="Offset"?nh(e.offset):e.id,ND=h(jr,(e,t,n)=>Vt(Ym(t),r=>ju(e,r,n))),FD=h(jr,(e,t,n)=>ju(e,Hu(t),n)),$D=h(2,(e,t)=>go(Dc(t)-Dc(e))),LD=Of(So),qD=Cf(So),Xm=jo(So),BD=dc(So),eh=Ei(So),jD=cc(So),HD=wx(So),zD=e=>ke(Zm,eh(e)),WD=e=>eh(Qm(),e),KD=e=>ke(Zm,Xm(e)),GD=e=>Xm(Qm(),e),Fs=e=>new Date(e.epochMilliseconds),Yo=e=>{if(e._tag==="Utc")return new Date(e.epochMilliseconds);if(e.zone._tag==="Offset")return new Date(e.epochMilliseconds+e.zone.offset);if(e.adjustedEpochMilliseconds!==void 0)return new Date(e.adjustedEpochMilliseconds);let t=!1,n=e.zone.format.formatToParts(e.epochMilliseconds).filter(s=>s.type==="era"?(t=s.value==="BC",!1):s.type!=="literal"),r=Number(n[2].value),o=new Date(0);return o.setUTCFullYear(t?1-r:r,Number(n[0].value)-1,Number(n[1].value)),o.setUTCHours(Number(n[3].value),Number(n[4].value),Number(n[5].value),n[6]?.type==="fractionalSecond"?Number(n[6].value):(e.epochMilliseconds%1e3+1e3)%1e3),e.adjustedEpochMilliseconds=o.getTime(),o},th=e=>Yo(e).getTime()-Dc(e),nh=e=>{let t=Math.abs(e),n=Math.floor(t/(3600*1e3)),r=Math.round(t%(3600*1e3)/(60*1e3));return r===60&&(n+=1,r=0),`${e<0?"-":"+"}${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`},wb=e=>nh(th(e)),Dc=e=>e.epochMilliseconds,VD=e=>Math.floor(e.epochMilliseconds/1e3),JD=e=>Ns(e*1e3),ZD=e=>sh(e,t=>(t.setUTCHours(0,0,0,0),Ns(t.getTime()))),QD=e=>({millisecond:e.getUTCMilliseconds(),second:e.getUTCSeconds(),minute:e.getUTCMinutes(),hour:e.getUTCHours(),day:e.getUTCDate(),weekDay:e.getUTCDay(),month:e.getUTCMonth()+1,year:e.getUTCFullYear()}),kb=e=>e._tag==="Utc"?rh(e):(e.partsAdjusted!==void 0||(e.partsAdjusted=sh(e,QD)),e.partsAdjusted),rh=e=>(e.partsUtc!==void 0||(e.partsUtc=Rb(e,QD)),e.partsUtc),YD=h(2,(e,t)=>rh(e)[t]),XD=h(2,(e,t)=>kb(e)[t]),Eb=(e,t)=>{if((t.year!==void 0||t.month!==void 0||t.day!==void 0)&&e.setUTCFullYear(t.year??e.getUTCFullYear(),t.month!==void 0?t.month-1:e.getUTCMonth(),t.day??e.getUTCDate()),t.weekDay!==void 0){let n=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+n)}t.hour!==void 0&&e.setUTCHours(t.hour),t.minute!==void 0&&e.setUTCMinutes(t.minute),t.second!==void 0&&e.setUTCSeconds(t.second),t.millisecond!==void 0&&e.setUTCMilliseconds(t.millisecond)},eP=h(2,(e,t)=>Qi(e,n=>Eb(n,t))),tP=h(2,(e,t)=>oh(e,n=>Eb(n,t))),SD=1440*60*1e3,Tb=(e,t,n)=>{if(t._tag==="Offset")return pr(e-t.offset,t);let r=Bu(e-SD,e,t),o=Bu(e+SD,e,t);if(r===o)return pr(e-r,t);let s=r<o,i=r-o;if(s){if(Bu(e-o,e,t)===o)return pr(e-o,t);let u=pr(e-r,t),l=Yo(u).getTime();if(e!==l)switch(n){case"reject":{let p=new Date(e).toISOString();throw new RangeError(`Gap time: ${p} does not exist in time zone ${t.id}`)}case"earlier":return pr(e-o,t);case"compatible":case"later":return u}return u}if(Bu(e-r,e,t)===r){if(n==="earlier"||n==="compatible"||Bu(e-r+i,e+i,t)===r)return pr(e-r,t);if(n==="reject"){let u=new Date(e).toISOString();throw new RangeError(`Ambiguous time: ${u} occurs twice in time zone ${t.id}`)}}return pr(e-o,t)},P4=/([+-])(\d{2}):?(\d{2})$/,Ab=e=>{let t=P4.exec(e);if(t===null)return null;let[,n,r,o]=t;return(n==="+"?1:-1)*(Number(r)*60+Number(o))*60*1e3},Bu=(e,t,n)=>{let r=n.format.formatToParts(e).find(s=>s.type==="timeZoneName")?.value??"";if(r==="GMT")return 0;let o=Ab(r);return o===null?th(pr(t,n)):o},Qi=h(jr,(e,t,n)=>{if(e._tag==="Utc"){let s=Fs(e);return t(s),Ns(s.getTime())}let r=Yo(e),o=new Date(r.getTime());return t(o),Tb(o.getTime(),e.zone,n?.disambiguation??"compatible")}),oh=h(2,(e,t)=>zu(e,n=>{let r=new Date(n);return t(r),r.getTime()})),zu=h(2,(e,t)=>{let n=t(Dc(e));return e._tag==="Utc"?Ns(n):pr(n,e.zone)}),sh=h(2,(e,t)=>t(Yo(e))),Rb=h(2,(e,t)=>t(Fs(e))),nP=h(2,(e,t)=>e._tag==="Utc"?t.onUtc(e):t.onZoned(e)),rP=h(2,(e,t)=>zu(e,n=>n+cr(Pt(t)))),oP=h(2,(e,t)=>zu(e,n=>n-cr(Pt(t)))),Ob=h(2,(e,t)=>{let n=oh(e,r=>{t.milliseconds&&r.setTime(r.getTime()+t.milliseconds),t.seconds&&r.setTime(r.getTime()+t.seconds*1e3),t.minutes&&r.setTime(r.getTime()+t.minutes*60*1e3),t.hours&&r.setTime(r.getTime()+t.hours*60*60*1e3)});return!t.days&&!t.weeks&&!t.months&&!t.years?n:Qi(n,r=>{if(t.days&&r.setUTCDate(r.getUTCDate()+t.days),t.weeks&&r.setUTCDate(r.getUTCDate()+t.weeks*7),t.months){let o=r.getUTCDate();r.setUTCMonth(r.getUTCMonth()+t.months+1,0),o<r.getUTCDate()&&r.setUTCDate(o)}if(t.years){let o=r.getUTCDate(),s=r.getUTCMonth();r.setUTCFullYear(r.getUTCFullYear()+t.years,s+1,0),o<r.getUTCDate()&&r.setUTCDate(o)}})}),sP=h(2,(e,t)=>{let n={};for(let r in t)n[r]=-1*t[r];return Ob(e,n)}),iP=(e,t,n)=>{switch(t){case"second":{e.setUTCMilliseconds(0);break}case"minute":{e.setUTCSeconds(0,0);break}case"hour":{e.setUTCMinutes(0,0,0);break}case"day":{e.setUTCHours(0,0,0,0);break}case"week":{let r=n?.weekStartsOn??0,s=(e.getUTCDay()-r+7)%7;e.setUTCDate(e.getUTCDate()-s),e.setUTCHours(0,0,0,0);break}case"month":{e.setUTCDate(1),e.setUTCHours(0,0,0,0);break}case"year":{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);break}}},aP=h(jr,(e,t,n)=>Qi(e,r=>iP(r,t,n))),cP=(e,t,n)=>{switch(t){case"second":{e.setUTCMilliseconds(999);break}case"minute":{e.setUTCSeconds(59,999);break}case"hour":{e.setUTCMinutes(59,59,999);break}case"day":{e.setUTCHours(23,59,59,999);break}case"week":{let r=n?.weekStartsOn??0,s=(e.getUTCDay()-r+7)%7;e.setUTCDate(e.getUTCDate()-s+6),e.setUTCHours(23,59,59,999);break}case"month":{e.setUTCMonth(e.getUTCMonth()+1,0),e.setUTCHours(23,59,59,999);break}case"year":{e.setUTCMonth(11,31),e.setUTCHours(23,59,59,999);break}}},dP=h(jr,(e,t,n)=>Qi(e,r=>cP(r,t,n))),uP=h(jr,(e,t,n)=>Qi(e,r=>{if(t==="millisecond")return;let o=r.getTime(),s=new Date(o);iP(s,t,n);let i=s.getTime(),c=new Date(o);cP(c,t,n);let d=c.getTime()+1,u=o-i,l=d-o;u<l?r.setTime(i):r.setTime(d)})),M4=e=>e._tag==="Named"?e.id:nh(e.offset),lP=h(jr,(e,t)=>{try{return new Intl.DateTimeFormat(t?.locale,{timeZone:e._tag==="Utc"?"UTC":M4(e.zone),...t}).format(e.epochMilliseconds)}catch{return new Intl.DateTimeFormat(t?.locale,{timeZone:"UTC",...t}).format(Yo(e))}}),pP=h(jr,(e,t)=>new Intl.DateTimeFormat(t?.locale,t).format(e.epochMilliseconds)),fP=h(jr,(e,t)=>new Intl.DateTimeFormat(t?.locale,{...t,timeZone:"UTC"}).format(e.epochMilliseconds)),mP=h(2,(e,t)=>t.format(e.epochMilliseconds)),hP=e=>Fs(e).toISOString(),gP=e=>Yo(e).toISOString().split("T")[0],yP=e=>Fs(e).toISOString().split("T")[0],Vm=e=>{let t=Yo(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${wb(e)}`},Cb=e=>e.zone._tag==="Offset"?Vm(e):`${Vm(e)}[${e.zone.id}]`;var hce=globalThis.Number;var SP=h(2,(e,t)=>{if(!globalThis.Number.isFinite(e)||!globalThis.Number.isFinite(t)||t===0)return NaN;if(globalThis.Number.isInteger(e)&&globalThis.Number.isInteger(t))return e%t;let[n,r]=xP(e),[o,s]=xP(t),i=Math.min(r,s),c=n*BigInt(10)**BigInt(r-i),d=o*BigInt(10)**BigInt(s-i),u=c%d;if(u===BigInt(0))return e<0||Object.is(e,-0)?-0:0;let l=globalThis.Number(`${u}e${i}`);return l===0?Math.sign(e)*globalThis.Number.MIN_VALUE:l});function xP(e){if(globalThis.Number.isInteger(e))return[BigInt(e),0];let t=Math.abs(e).toExponential(),n=t.indexOf("e"),r=t.slice(0,n).replace(".","");return[BigInt(r)*(e<0?-BigInt(1):BigInt(1)),globalThis.Number(t.slice(n+1))-r.length+1]}var gce=globalThis.String;var Db=e=>e.toUpperCase(),Pb=e=>e.toLowerCase(),bP=e=>{let[t=""]=e;return Db(t)+e.slice(t.length)},IP=e=>{let[t=""]=e;return Pb(t)+e.slice(t.length)};var vP=e=>e.trim();var wP=e=>{if(e.length===0||e.length%2===0&&e[0]==="_"&&/^_+$/.test(e))return"";let t=e[0];for(let n=1;n<e.length;n++)t+=e[n]==="_"?e.charAt(++n).toUpperCase():e[n];return t};var kP=e=>e.replace(/([A-Z])/g,"_$1").toLowerCase();var Mb=h(2,(e,t)=>Jo(e,N4,n=>t(n)));var TP=e=>e._tag==="Fail"&&KC(e.error),AP=e=>{let t,n=!1;for(let r of e.reasons)TP(r)?t??=r.error:r._tag!=="Interrupt"&&(n=!0);return t===void 0?J(e):n?J($u(e.reasons.filter(r=>!TP(r)))):$(t)};var N4=e=>{let t=AP(e);return fe(t)?t:$(t.success.value)};var Wu=h(2,(e,t)=>xo(e,{onSuccess:t.onSuccess,onFailure:n=>{let r=AP(n);return fe(r)?t.onFailure(r.failure):t.onDone(r.success.value)}}));var RP="~effect/Schedule";var Yi=Me("effect/Schedule/CurrentMetadata",{defaultValue:cn({input:void 0,output:void 0,duration:Di,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),F4={[RP]:{_Out:Q,_In:Q,_Env:Q},pipe(){return ie(this,arguments)}},Ub=e=>O(e,RP),Ku=e=>{let t=Object.create(F4);return t.step=e,t},Nb=()=>{let e=0,t,n;return(r,o)=>{n===void 0&&(n=r);let s=r-n,i=t===void 0?0:r-t;return t=r,{input:o,attempt:++e,start:n,now:r,elapsed:s,elapsedSincePrevious:i}}},$4=e=>Ku(ke(e,t=>{let n=Nb();return(r,o)=>t(n(r,o))})),Gu=e=>An(e.step,t=>H(()=>_e(t))),ih=e=>qr(t=>ke(Gu(e),n=>{let r=Nb();return o=>ge(()=>{let s=t.currentTimeMillisUnsafe();return te(n(s,o),([i,c])=>{let d=r(s,o);return d.output=i,d.duration=c,lr(Rc(c),d)})})}));var Fb=e=>Ku(ke(Gu(e),t=>(n,r)=>Wu(t(n,r),{onSuccess:o=>H([r,o[1]]),onFailure:_e,onDone:()=>fb(r)}))),OP=e=>Vu($b,({attempt:t})=>H(t<=e)),L4=e=>{let t=Pt(e);return $4(H(n=>H([n.attempt-1,t])))};var Vu=h(2,(e,t)=>Ku(ke(Gu(e),n=>{let r=Nb();return(o,s)=>te(n(o,s),i=>{let[c,d]=i,u=t({...r(o,s),output:c,duration:d});return te(se(u)?u:H(u),l=>l?H(i):fb(c))})})));var $b=L4(Di);var CP="~effect/ExecutionPlan";var q4={[CP]:CP,get captureRequirements(){let e=this;return Ps(t=>H(B4(e.steps.map(n=>({...n,while:n.while?r=>Gn(n.while(r),t):void 0,schedule:n.schedule?Ku(Gn(ke(Gu(n.schedule),r=>(o,s)=>Gn(r(o,s),t)),t)):void 0,provide:uD(n.provide)?yD(n.provide,Bm(t)):n.provide})))))},pipe(){return ie(this,arguments)}},B4=e=>{let t=Object.create(q4);return t.steps=e,t};var DP=Me("effect/ExecutionPlan/CurrentMetadata",{defaultValue:cn({attempt:0,stepIndex:0})});var j4=(e,t,n)=>Rm(r=>te(n?.local?gb(t,hb(),r):pD(t,r),o=>Gn(e,o))),ch=h(e=>se(e[0]),(e,t,n)=>Dx(t)?Gn(e,t):j4(e,Array.isArray(t)?gD(...t):t,n));var Lb=h(3,(e,t,n)=>te(ih(t),r=>{let o=Yi.defaultValue(),s=i=>Wu(r(i),{onSuccess(c){return o=c,te(Qt(e,Yi,o),s)},onFailure:_e,onDone:H});return Jo(te(Qt(e,Yi,o),s),Lr,i=>n(i,o.attempt===0?N():F(o)))})),qb=h(3,(e,t,n)=>te(ih(t),r=>{let o=Yi.defaultValue(),s,i=Jo(ge(()=>Qt(e,Yi,o)),Lr,c=>(s=c,te(r(c),d=>(o=d,i))));return Mb(i,c=>vs(()=>n(s,c)))})),_P=h(2,(e,t)=>{let n=typeof t=="function"?t(Q):Ub(t)?t:Zu(t);return Lb(e,n,at)}),Ju=h(2,(e,t)=>{let n=typeof t=="function"?t(Q):Ub(t)?t:Zu(t);return qb(e,n,at)}),UP=h(3,(e,t,n)=>te(ih(n),r=>{let o=s=>Wu(r(s),{onSuccess:i=>te(Qt(e,Yi,i),o),onFailure:_e,onDone:H});return o(t)})),H4=Fb($b),Zu=e=>{let t=e.schedule?Fb(e.schedule):H4;return e.while&&(t=Vu(t,({input:n})=>{let r=e.while(n);return se(r)?r:H(r)})),e.until&&(t=Vu(t,({input:n})=>{let r=e.until(n);return se(r)?ke(r,o=>!o):H(!r)})),e.times!==void 0&&(t=Vu(t,({attempt:n})=>H(n<=e.times))),t};var z4=(e,t)=>{let n=-1,r=0,o=s=>km(e(s));return{begin:qr(s=>ge(()=>{let i=t();i.stepIndex!==n&&(n=i.stepIndex,r=0),r++;let c={attempt:i.attempt,stepAttempt:r,stepIndex:i.stepIndex,startNanos:s.monotonicTimeNanosUnsafe()};return lr(o({_tag:"AttemptStart",attempt:c.attempt,stepAttempt:c.stepAttempt,stepIndex:c.stepIndex}),c)})),end:(s,i)=>qr(c=>{let d=En(c.monotonicTimeNanosUnsafe()-s.startNanos);return o(i._tag==="Success"?{_tag:"AttemptSuccess",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:d}:{_tag:"AttemptFailure",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:d,cause:i.cause})})}},$P=h(e=>se(e[0]),(e,t,n)=>ge(()=>{let r=0,o={attempt:0,stepIndex:0},s=Im(DP,Je(()=>(o={attempt:o.attempt+1,stepIndex:r},o))),i=n?.onEvent===void 0?void 0:z4(n.onEvent,()=>o),c=i===void 0?Q:u=>ji(l=>te(i.begin,p=>Vn(l(u),f=>i.end(p,f)))),d;return te(Hi({while:()=>r<t.steps.length&&(d===void 0||fe(d)),body(){let u=t.steps[r],l=s(c(ch(e,u.provide)));if(d){let p=!1,f=l;l=ge(()=>p?f:(p=!0,wc(d))),l=Ju(l,FP(u,!1))}else{let p=FP(u,!0);l=p?Ju(l,p):l}return Cs(l)},step(u){d=u,r++}}),()=>wc(d))})),FP=(e,t)=>{if(t){if(e.attempts===1||!(e.schedule||e.attempts))return}else return Zu({schedule:e.schedule?e.schedule:e.attempts?void 0:W4,times:e.attempts,while:e.while});return Zu({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},W4=OP(1);var LP="~effect/MutableHashMap";var G4={[LP]:LP,[Symbol.iterator](){return this.backing[Symbol.iterator]()},toString(){return`MutableHashMap(${U(Array.from(this))})`},toJSON(){return{_id:"MutableHashMap",values:Wt(Array.from(this))}},[He](){return this.toJSON()},pipe(){return ie(this,arguments)}},qP=()=>{let e=Object.create(G4);return e.backing=new Map,e.buckets=new Map,e};var Bb=h(2,(e,t)=>{if(e.backing.has(t))return F(e.backing.get(t));if(jb(t))return N();let n=j(t),r=e.buckets.get(n);return r===void 0?N():V4(e,r,t)}),jb=e=>typeof e!="object"&&typeof e!="function";var V4=(e,t,n)=>{for(let r=0,o=t.length;r<o;r++)if(V(n,t[r])){let s=t[r];return F(e.backing.get(s))}return N()},BP=h(2,(e,t)=>st(Bb(e,t))),jP=h(3,(e,t,n)=>{if(e.backing.has(t)||jb(t))return e.backing.set(t,n),e;let r=j(t),o=e.buckets.get(r);if(o===void 0)return e.buckets.set(r,[t]),e.backing.set(t,n),e;let s=J4(o,t);return s===void 0&&(o.push(t),s=t),e.backing.set(s,n),e}),J4=(e,t)=>{for(let n=0,r=e.length;n<r;n++)if(V(t,e[n]))return e[n]};var HP=h(2,(e,t)=>{if(jb(t))return e.backing.delete(t),e;let n=j(t),r=e.buckets.get(n);if(r===void 0)return e;for(let o=0,s=r.length;o<s;o++){let i=r[o];if(i===t||V(t,i)){e.backing.delete(i),r.splice(o,1);break}}return r.length===0&&e.buckets.delete(n),e});var Z4="~effect/Request",Q4=_T({_E:e=>e,_A:e=>e,_R:e=>e}),$ce={...qT,[Z4]:Q4};var WP=e=>e;var GP=h(2,(e,t)=>{let n=r=>Tn(o=>{let s=JP(r,e,o,fm());return t6(r,s)});return se(t)?te(t,n):n(t)}),VP=(e,t)=>{let n=JP(t.resolver,e,t.onExit,{context:t.context,cache:{scheduler:et(t.context,xc)}});return()=>ZP(t.resolver,n)},X4=new WeakSet,e6=e=>{if(!X4.has(e.batchKey))return new Map;let t=qP();return{get:n=>ho(Bb(t,n)),has:n=>BP(t,n),set:(n,r)=>jP(t,n,r),delete:n=>HP(t,n)}},dh=[],Hb=new WeakMap,JP=(e,t,n,r)=>{let o=Hb.get(e);o||(o=e6(e),Hb.set(e,o));let s,i=!1,c=WP({request:t,context:r.context,uninterruptible:!1,completeUnsafe(l){i||(i=!0,!(s&&!s.entrySet.delete(c))&&n(l))}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let d=e.batchKey(c);s=o.get(d);let u=s===void 0;if(!s){if(dh.length>0)s=dh.pop(),s.key=d,s.context=r.context,s.resolver=e,s.map=o;else{let l={key:d,context:r.context,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:te(le(p=>(l.fiber=p,l.resolver.delay)),p=>KP(l)),run:Vn(ge(()=>l.resolver.runAll(Array.from(l.entries),l.key)),p=>{for(let f of l.entrySet)f.completeUnsafe(p._tag==="Success"?jn(new Error("Effect.request: RequestResolver did not complete request",{cause:f.request})):p);return l.entries.clear(),dh.length<128&&(l.entrySet.clear(),l.key=void 0,l.context=void 0,l.fiber=void 0,l.resolver=void 0,l.map=void 0,dh.push(l)),we})};s=l}o.set(d,s)}if(s.entrySet.add(c),s.entries.add(c),u){let l=Zo(r.context)(s.delayEffect,{scheduler:r.cache.scheduler});if(i||o.get(d)!==s)return c;s.fiber=l}return s.resolver.collectWhile(s.entries)||(s.fiber.interruptUnsafe(r.id),Zo(s.context)(KP(s),{scheduler:et(s.context,xc)})),c},ZP=(e,t)=>{if(t.uninterruptible)return;let n=Hb.get(e);if(!n)return;let r=e.batchKey(t),o=n.get(r);if(!o||!o.entries.delete(t))return;o.entrySet.delete(t);let s;o.entries.size===0&&(n.delete(r),s=o.fiber),t.completeUnsafe(MS()),s?.interruptUnsafe()},t6=(e,t)=>Je(()=>ZP(e,t));function KP(e){return e.map.has(e.key)?(e.map.delete(e.key),e.run):we}var r6="effect/Metric/CurrentMetricAttributes",o6=Me(r6,{defaultValue:()=>({})}),s6="effect/Metric/MetricRegistry",zb=Me(s6,{defaultValue:()=>new Map}),QP="~effect/Metric",YP=class{[QP]=QP;#e;#t;#n="";id;description;attributes;constructor(t,n,r){this.id=t,this.description=n,this.attributes=r}valueUnsafe(t){return this.hook(t).get(t)}modifyUnsafe(t,n){return this.hook(n).modify(t,n)}updateUnsafe(t,n){return this.hook(n).update(t,n)}hook(t){let n=this.key(t),r=et(t,zb),o=r.get(n);return vT(o)&&(o=this.metadata(this.createHooks()),r.set(n,o)),o.hooks}removeUnsafe(t){et(t,zb).delete(this.key(t))}registerUnsafe(t,n){let r=this.key(t),o=et(t,zb),s=this.metadata({get:n.get,update:fi,modify:fi});return o.set(r,s),{remove(){o.get(r)===s&&o.delete(r)}}}key(t){let n=et(t,o6);if(n!==this.#e){this.#e=n;let r=a6(this.attributes,n);this.#t=Object.keys(n).length>0?r:this.attributes,this.#n=i6(this,r)}return this.#n}metadata(t){return{id:this.id,type:this.type,description:this.description,attributes:this.#t,hooks:t}}pipe(){return ie(this,arguments)}};var Pc=h(2,(e,t)=>Ps(n=>Je(()=>e.updateUnsafe(t,n))));function i6(e,t){let n=Object.entries(t).sort((r,o)=>r[0]<o[0]?-1:r[0]>o[0]?1:0);return JSON.stringify([e.type,e.id,e.description,n])}function a6(e,t){return{...XP(e),...XP(t)}}function XP(e){return Ss(e)&&Array.isArray(e)?e.reduce((t,[n,r])=>(M(t,n,r),t),{}):e}var c6=po,Xi=se,d6=Nu,u6=tb,l6=VO,p6=JO,f6=ZO,m6=YO,h6=Wn,g6=eC,nM=Hi,y6=ES,Kb=TR,C=H,Qu=Tu,x6=wS,Yu=ge,Xu=Je,Mc=we;var S6=ub;var Gb=Tn,b6=gm,I6=iC,v6=aC,w6=dC;var k6=cC,E6=OR,P=at,T6=kS,A6=_e,Uc=ER,Hr=Ds,Nc=hm;var R6=kc,O6=vS,rM=le,C6=zT,el=wc,D6=IS,P6=kR,M6=wR,pn=te,_6=LR,U6=Li,oM=Au,N6=Cs,F6=bO,ea=Pu,tl=ke,$6=lr,L6=Sm,q6=Ru,B6=_R,j6=tO,H6=US,z6=Ms;var W6=LS,K6=fO,G6=mO,V6=hO,J6=gO,$s=An,Z6=cO,Q6=Ou,Y6=wm,X6=aO,ez=FS,tz=Jo,nz=qS,rz=BS,oz=jS,sM=$S,sz=lO,iM=dO,iz=uO,az=vm,aM=pO,cz=HS,dz=Ju,uz=qb,lz=UR,pz=SO,fz=km,mz=$P,hz=BC,gz=yO,yz=xO,xz=AO,Sz=KS,bz=WS,Iz=TO,vz=Rc,wz=RO,kz=CS,Ez=DS,Tz=NR,Az=PS,Rz=rC,Oz=oC,Cz=sC,Dz=nb,Pz=rb,Mz=nO,_z=nC,Uz=rO,Vb=Em,Nz=Du,Fz=zS,$z=wO,Lz=FR,qz=xo,Bz=Cu,jz=kO,Hz=EO,zz=_S,Wz=Ps,Kz=ch,Gz=Gn,Vz=eO,Jz=QR,Zz=YR,Qz=Ec,Yz=Vo,Xz=XR,uh=Qt,lh=Im,eW=_u,tW=VS,nW=Rm,rW=Om,oW=LO,sW=$O,iW=JS,aW=UO,cW=YS,dW=NO,uW=XS,lW=_s,Jb=Vn,pW=ZS,fW=QS,mW=jO,hW=BO,gW=eb,cM=HO,yW=Cm,xW=FO,SW=Bi,dM=ji,bW=KO,IW=GO,vW=sO,wW=_P,kW=Lb,EW=NS,TW=oO,AW=h(2,(e,t)=>uM(e,void 0,t)),uM=UP,RW=bC,OW=IC,CW=vC,DW=wC,PW=PC,MW=MC,_W=_C,UW=UC,NW=AC,FW=RC,$W=OC,LW=EC,qW=vu,BW=wu,jW=DC,HW=TC,zW=Ic,WW=GP,KW=VP,GW=uC,VW=ob,JW=fC,ZW=lC,QW=pC,YW=AR,XW=RR,Zb=mC,eK=Zo,tK=sb,nK=hC,rK=yC,oK=ib,nl=gC,sK=Mm,iK=SC,aK=ab,bo=xC,cK=_m,dK=AS,uK=CR,lM=qr,lK=Br,pK=Br(),fK=Br("Fatal"),mK=Br("Warn"),hK=Br("Error"),gK=Br("Info"),yK=Br("Debug"),xK=Br("Trace"),SK=h(2,(e,t)=>Vo(e,db,n=>new Set([...n,t]))),bK=h(e=>Xi(e[0]),(e,...t)=>Vo(e,eD,n=>{let r=t.length===1?{...n,...t[0]}:{...n};return t.length===1||M(r,t[0],t[1]),r})),IK=LC,vK=h(2,(e,t)=>te(Um,n=>Vo(e,tD,r=>[[t,n],...r]))),wK=h(e=>Xi(e[0]),(e,t,n)=>Jb(e,r=>{let o=n===void 0?r:n(r);return Pc(t,o)})),kK=h(e=>Xi(e[0]),(e,t,n)=>oM(e,r=>{let o=n===void 0?r:n(r);return Pc(t,o)})),EK=h(e=>Xi(e[0]),(e,t,n)=>sM(e,r=>{let o=n===void 0?r:n(r);return Pc(t,o)})),TK=h(e=>Xi(e[0]),(e,t,n)=>aM(e,r=>{let o=n===void 0?r:n(r);return Pc(t,o)})),AK=h(e=>Xi(e[0]),(e,t,n)=>lM(r=>{let o=r.monotonicTimeNanosUnsafe();return Jb(e,()=>{let s=r.monotonicTimeNanosUnsafe(),i=KA(Pt(s),Pt(o)),c=n===void 0?i:n(i);return Pc(t,c)})})),_c=class extends _r()("effect/Effect/Transaction"){},RK=e=>rM(t=>{let n=_f(t.context,_c);if(n&&!tM.has(n))return e;let r=t.getRef(Kn),o=r.currentTimeMillisUnsafe(),s={journal:new Map,retry:!1,attempt:1,retryReason:void 0,start:o,now:o,elapsed:0,elapsedSincePrevious:0},i;return dM(c=>{let d=c(e).pipe(uh(_c,s),iM(u=>s.retry?xS(u)?c(CK(s)):Xu(()=>Wb(s)):Mc),ea);return pn(nM({while:()=>!i,body:()=>(s.attempt>1&&OK(s,r.currentTimeMillisUnsafe()),d),step(u){if(s.retry||!pM(s))return s.attempt++,s.retryReason=s.retry?"retry":"conflict",Wb(s);qt(u)&&DK(t,s),Wb(s),tM.add(s),i=u}}),()=>i)})}),tM=new WeakSet,OK=(e,t)=>{e.elapsedSincePrevious=t-e.now,e.now=t,e.elapsed=t-e.start},pM=e=>{for(let[t,{version:n}]of e.journal)if(t.version!==n)return!1;return!0},CK=e=>Gb(t=>{if(!pM(e))return t(Mc);let n={},r=Array.from(e.journal.keys()),o=()=>{for(let i of r)i.pending.delete(n)},s=()=>{o(),t(Mc)};for(let i of r)i.pending.set(n,s);return Xu(o)});function DK(e,t){for(let[n,{value:r,written:o}]of t.journal)if(o){Object.is(r,n.value)||(n.version=n.version+1,n.value=r);for(let s of n.pending.values())e.currentDispatcher.scheduleTask(s,0);n.pending.clear()}}function Wb(e){e.retry=!1,e.journal.clear()}var PK=pn(_c,e=>{let t=e;return t.retry=!0,cM}),MK=(e,t,n)=>(...r)=>Gb(o=>{let s=!0,i;try{e(...r,(c,d)=>{let u=c?t?Yu(()=>P(t(c,r))):P(c):C(d);s?i??=u:o(u)})}catch(c){i=n?P(n(c,r)):Hr(c)}s=!1,i&&o(i)}),_K=()=>e=>e,UK=()=>e=>e,NK=()=>e=>e,ta=qR,Fc=BR,Yt=jR,Ft=$R,ph=HR,Qb=DR;var fM=/^[+-]?\d+$/,Xb="~effect/BigDecimal",FK={[Xb]:Xb,[Y](){let e=t0(this);return ce(Ce(String(e.value)),Ct(e.scale))},[X](e){return e0(e)&&SM(this,e)===0},toString(){return`BigDecimal(${Wr(this)})`},toJSON(){return{_id:"BigDecimal",value:String(this.value),scale:this.scale}},[He](){return this.toJSON()},pipe(){return ie(this,arguments)}},e0=e=>O(e,Xb),gM=(e,t)=>{if(!Number.isSafeInteger(t))throw new RangeError(`Scale must be a safe integer, got ${t}`);let n=Object.create(FK);return n.value=e,n.scale=t,n},yM=(e,t)=>{let n=gM(e,t);return n.normalized=n,n};var zr=BigInt(0),$K=BigInt(1);var LK=BigInt(10),xM=yM(zr,0);var t0=e=>{if(e.normalized===void 0)if(e.value===zr)e.normalized=xM;else{let t=`${e.value}`,n=t.length;for(;t[n-1]==="0";)n--;e.normalized=yM(BigInt(t.slice(0,n)),e.scale-(t.length-n))}return e.normalized};var qK=100,BK=[$K],Yb=(e,t)=>e===t?0:e<t?-1:1,mM=(e,t)=>{let n=`${e.value<zr?-e.value:e.value}`,r=`${t.value<zr?-t.value:t.value}`,o=BigInt(n.length-r.length)-BigInt(e.scale)+BigInt(t.scale);if(o!==zr)return o<zr?-1:1;let s=Math.max(n.length,r.length);return aA(n.padEnd(s,"0"),r.padEnd(s,"0"))},SM=(e,t)=>{if(e.scale===t.scale)return Yb(e.value,t.value);let n=hM(e),r=hM(t);if(n!==r)return n<r?-1:1;if(n===0)return 0;let o=e.scale-t.scale,s=Math.abs(o);if(s>qK)return n===-1?mM(t,e):mM(e,t);let i=BK[s]??=LK**BigInt(s);return o>0?Yb(e.value,t.value*i):Yb(e.value*i,t.value)},$c=Pr(SM);var hM=e=>e.value===zr?0:e.value<zr?-1:1;var fh=e=>{if(e==="")return F(xM);let t,n,r=e.search(/[eE]/);if(r!==-1){let d=e.slice(r+1);if(t=e.slice(0,r),n=Number(d),t===""||!Number.isSafeInteger(n)||!fM.test(d))return N()}else t=e,n=0;let o,s,i=t.search(/\./);if(i!==-1){let d=t.slice(0,i),u=t.slice(i+1);o=`${d}${u}`,s=u.length}else o=t,s=0;if(!fM.test(o))return N();let c=s-n;return Number.isSafeInteger(c)?F(gM(BigInt(o),c)):N()};var Wr=e=>{let t=t0(e);if(Math.abs(t.scale)>=16)return jK(t);let n=t.value<zr,r=`${n?-t.value:t.value}`,o=t.scale>0?r.padStart(t.scale+1,"0"):r.padEnd(r.length-t.scale,"0"),s=o.length-t.scale,i=t.scale>0?`${o.slice(0,s)}.${o.slice(s)}`:o;return n?`-${i}`:i},jK=e=>{if(HK(e))return"0e+0";let t=t0(e),n=`${t.value}`,r=t.value<zr?2:1,o=n.slice(0,r),s=n.slice(r),i=s.length-t.scale;return`${o}${s===""?"":`.${s}`}e${i>=0?"+":""}${i}`};var HK=e=>e.value===zr;var a={};Ae(a,{Any:()=>oQ,Array:()=>ze,ArrayEnsure:()=>hQ,BigDecimal:()=>GF,BigDecimalFromString:()=>JY,BigInt:()=>wd,BigIntFromString:()=>_Y,Boolean:()=>Yg,BooleanFromBit:()=>BY,BooleanLiterals:()=>vQ,ByteSize:()=>ay,ByteSizeFromBigInt:()=>QY,ByteSizeFromNumber:()=>YY,ByteSizeFromString:()=>ZY,Cause:()=>Qw,CauseReason:()=>Zw,Char:()=>SY,Chunk:()=>XY,Class:()=>Q$,Cookie:()=>F$,Cookies:()=>$$,Date:()=>sy,DateFromMillis:()=>AY,DateFromString:()=>TY,DateTimeUtc:()=>kd,DateTimeUtcFromDate:()=>sX,DateTimeUtcFromHttpDate:()=>cX,DateTimeUtcFromMillis:()=>dX,DateTimeUtcFromString:()=>iX,DateTimeZoned:()=>u$,DateTimeZonedFromString:()=>fX,Defect:()=>IY,DnsARecord:()=>E$,DnsAaaaRecord:()=>T$,DnsCaaRecord:()=>A$,DnsCnameRecord:()=>R$,DnsMxRecord:()=>O$,DnsNaptrRecord:()=>C$,DnsNsRecord:()=>D$,DnsPtrRecord:()=>P$,DnsRecord:()=>dee,DnsRecordType:()=>cee,DnsSoaRecord:()=>M$,DnsSrvRecord:()=>_$,DnsTlsaRecord:()=>U$,DnsTxtRecord:()=>N$,DomainName:()=>ls,DomainNameFromString:()=>b$,Duration:()=>Td,DurationFromMillis:()=>aee,DurationFromNanos:()=>iee,DurationFromString:()=>see,Enum:()=>nQ,Error:()=>Y$,ErrorInstance:()=>bY,Exit:()=>uee,FalseLiterals:()=>IF,File:()=>LF,Finite:()=>ry,FiniteFromString:()=>MY,FormData:()=>qF,Graph:()=>mee,HashMap:()=>hee,HashSet:()=>gee,Headers:()=>Iee,Host:()=>QX,HostFromString:()=>YX,HostPort:()=>v$,HostPortFromString:()=>XX,InetAddress:()=>x$,InetAddressFromString:()=>VX,InetAddressV4:()=>KX,InetAddressV6:()=>GX,Int:()=>br,IpAddress:()=>ii,IpAddressFromString:()=>Da,IpInterface:()=>m$,IpInterfaceFromString:()=>jX,IpLinkLocalAddress:()=>RX,IpLinkLocalAddressFromString:()=>OX,IpLoopbackAddress:()=>TX,IpLoopbackAddressFromString:()=>AX,IpMulticastAddress:()=>mX,IpMulticastAddressFromString:()=>hX,IpNetwork:()=>y$,IpNetworkFromString:()=>WX,IpUnicastAddress:()=>xX,IpUnicastAddressFromString:()=>SX,IpUnspecifiedAddress:()=>CX,IpUnspecifiedAddressFromString:()=>DX,Ipv4Address:()=>Op,Ipv4AddressFromString:()=>fk,Ipv4BroadcastAddress:()=>vX,Ipv4BroadcastAddressFromString:()=>wX,Ipv4Interface:()=>p$,Ipv4InterfaceFromString:()=>qX,Ipv4Network:()=>h$,Ipv4NetworkFromString:()=>HX,Ipv4PrivateAddress:()=>PX,Ipv4PrivateAddressFromString:()=>MX,Ipv6Address:()=>cy,Ipv6AddressFromString:()=>l$,Ipv6Interface:()=>f$,Ipv6InterfaceFromString:()=>BX,Ipv6Network:()=>g$,Ipv6NetworkFromString:()=>zX,Ipv6UniqueLocalAddress:()=>_X,Ipv6UniqueLocalAddressFromString:()=>UX,Json:()=>dy,JsonFromUrlParamsField:()=>kee,JsonObject:()=>nte,Literal:()=>jt,Literals:()=>Ao,MacAddress:()=>Ca,MacAddressFromString:()=>Ed,MacBroadcastAddress:()=>kX,MacBroadcastAddressFromString:()=>EX,MacLocallyAdministeredAddress:()=>NX,MacLocallyAdministeredAddressFromString:()=>FX,MacMulticastAddress:()=>gX,MacMulticastAddressFromString:()=>yX,MacUnicastAddress:()=>bX,MacUnicastAddressFromString:()=>IX,MacUniversallyAdministeredAddress:()=>$X,MacUniversallyAdministeredAddressFromString:()=>LX,MutableJson:()=>ote,Natural:()=>oo,Never:()=>rQ,NonEmptyArray:()=>ey,NonEmptyString:()=>uk,Null:()=>Qg,NullOr:()=>nk,NullishOr:()=>fF,Number:()=>vp,NumberFromString:()=>PY,ObjectKeyword:()=>aQ,Opaque:()=>OQ,Option:()=>Pa,OptionFromNullOr:()=>yee,OptionFromNullishOr:()=>See,OptionFromOptional:()=>Aee,OptionFromOptionalKey:()=>Tee,OptionFromOptionalNullOr:()=>Ree,OptionFromUndefinedOr:()=>xee,Port:()=>eee,PropertyKey:()=>Jw,ReadonlyMap:()=>vY,ReadonlySet:()=>wY,Record:()=>Aa,RecordFromCookies:()=>bee,RecordFromUrlParams:()=>Eee,Redacted:()=>q$,RedactedFromValue:()=>Oee,RegExp:()=>kY,Result:()=>Cee,RetryAfter:()=>L$,RetryAfterFromString:()=>wee,SchemaError:()=>Ta,ScopedIpv6Literal:()=>mk,ScopedIpv6LiteralFromString:()=>I$,SemVer:()=>W$,SemVerFromString:()=>Dee,SemVerRange:()=>V$,SemVerRangeFromString:()=>Pee,SocketAddress:()=>ZX,StandardSchemaV1FailureResult:()=>qY,String:()=>q,StringForLiteralAutocomplete:()=>sQ,StringFromBase64:()=>NY,StringFromBase64Url:()=>FY,StringFromHex:()=>$Y,StringFromUriComponent:()=>LY,Struct:()=>Re,StructWithRest:()=>fQ,Symbol:()=>uF,TaggedClass:()=>Nee,TaggedError:()=>Fee,TaggedStruct:()=>wp,TaggedUnion:()=>RQ,TemplateLiteral:()=>eQ,TemplateLiteralParser:()=>tQ,TimeZone:()=>c$,TimeZoneFromString:()=>pX,TimeZoneNamed:()=>i$,TimeZoneNamedFromString:()=>lX,TimeZoneOffset:()=>uX,Tree:()=>tte,Trim:()=>UY,Trimmed:()=>jF,TrueLiterals:()=>bF,Tuple:()=>To,TupleWithRest:()=>mQ,URL:()=>FF,URLFromString:()=>EY,URLSearchParams:()=>BF,Uint8Array:()=>iy,Uint8ArrayFromBase64:()=>jY,Uint8ArrayFromBase64Url:()=>HY,Uint8ArrayFromHex:()=>zF,Undefined:()=>ek,UndefinedOr:()=>ty,Union:()=>ct,UniqueArray:()=>gQ,UniqueSymbol:()=>cQ,UnixPathAddress:()=>S$,UnixPathAddressFromString:()=>JX,Unknown:()=>Ip,UnknownFromJsonString:()=>OY,UrlParams:()=>hk,Void:()=>iQ,annotate:()=>A9,annotateEncoded:()=>R9,annotateKey:()=>O9,asserts:()=>_9,brand:()=>ny,catchDecoding:()=>bQ,catchDecodingWithContext:()=>xF,catchEncoding:()=>IQ,catchEncodingWithContext:()=>SF,check:()=>xQ,declare:()=>Ne,declareConstructor:()=>Mn,decode:()=>wQ,decodeEffect:()=>U9,decodeExit:()=>N9,decodeOption:()=>$9,decodePromise:()=>q9,decodeResult:()=>L9,decodeSync:()=>B9,decodeTo:()=>z,decodeUnknownEffect:()=>Vg,decodeUnknownExit:()=>tF,decodeUnknownOption:()=>F9,decodeUnknownPromise:()=>rF,decodeUnknownResult:()=>nF,decodeUnknownSync:()=>oF,encode:()=>kQ,encodeEffect:()=>j9,encodeExit:()=>H9,encodeKeys:()=>lQ,encodeOption:()=>W9,encodePromise:()=>G9,encodeResult:()=>K9,encodeSync:()=>V9,encodeTo:()=>rk,encodeUnknownEffect:()=>Jg,encodeUnknownExit:()=>sF,encodeUnknownOption:()=>z9,encodeUnknownPromise:()=>aF,encodeUnknownResult:()=>iF,encodeUnknownSync:()=>cF,extendTo:()=>pQ,fieldsAssign:()=>dQ,flip:()=>Vw,fromBrand:()=>SQ,fromFormData:()=>CY,fromJsonString:()=>lk,fromURLSearchParams:()=>DY,instanceOf:()=>Ra,is:()=>M9,isBase64:()=>AF,isBase64Url:()=>$Q,isBetween:()=>si,isBetweenBigDecimal:()=>VY,isBetweenBigInt:()=>cY,isBetweenCodePoints:()=>lY,isBetweenDate:()=>oY,isBetweenLength:()=>ak,isBetweenProperties:()=>yY,isBetweenSize:()=>mY,isCapitalized:()=>zQ,isEndingWith:()=>qQ,isFinite:()=>KQ,isGUID:()=>NQ,isGreaterThan:()=>VQ,isGreaterThanBigDecimal:()=>zY,isGreaterThanBigInt:()=>sY,isGreaterThanDate:()=>eY,isGreaterThanOrEqualTo:()=>RF,isGreaterThanOrEqualToBigDecimal:()=>WY,isGreaterThanOrEqualToBigInt:()=>OF,isGreaterThanOrEqualToDate:()=>tY,isIncluding:()=>BQ,isInt:()=>oy,isInt32:()=>YQ,isLessThan:()=>JQ,isLessThanBigDecimal:()=>KY,isLessThanBigInt:()=>iY,isLessThanDate:()=>nY,isLessThanOrEqualTo:()=>ZQ,isLessThanOrEqualToBigDecimal:()=>GY,isLessThanOrEqualToBigInt:()=>aY,isLessThanOrEqualToDate:()=>rY,isLowercased:()=>HQ,isMaxCodePoints:()=>uY,isMaxLength:()=>PF,isMaxProperties:()=>gY,isMaxSize:()=>fY,isMinCodePoints:()=>dY,isMinLength:()=>ik,isMinProperties:()=>hY,isMinSize:()=>pY,isMultipleOf:()=>QQ,isNonEmpty:()=>DF,isPattern:()=>Oa,isPropertyNames:()=>xY,isSchema:()=>Zg,isSchemaError:()=>Z1,isStartingWith:()=>LQ,isStringBigInt:()=>PQ,isStringFinite:()=>DQ,isStringSymbol:()=>MQ,isTrimmed:()=>TF,isULID:()=>FQ,isUUID:()=>UQ,isUint32:()=>XQ,isUncapitalized:()=>WQ,isUnique:()=>dk,isUniqueKey:()=>MF,isUppercased:()=>jQ,link:()=>Oe,linkDecoding:()=>oi,make:()=>G,makeClassTrusted:()=>J$,makeFilter:()=>Pe,makeFilterGroup:()=>CQ,makeIsBetween:()=>Rp,makeIsGreaterThan:()=>kp,makeIsGreaterThanOrEqualTo:()=>Ep,makeIsLessThan:()=>Tp,makeIsLessThanOrEqualTo:()=>Ap,makeIsMultipleOf:()=>GQ,middlewareDecoding:()=>gF,middlewareEncoding:()=>yF,mutable:()=>yQ,mutableKey:()=>Q9,optional:()=>Id,optionalKey:()=>Ea,overrideToCodecIso:()=>Xee,overrideToEquivalence:()=>qee,overrideToFormatter:()=>$ee,readonlyKey:()=>Y9,refine:()=>hF,required:()=>Z9,requiredKey:()=>J9,resolveAnnotations:()=>ste,resolveAnnotationsKey:()=>ite,revealBottom:()=>T9,revealCodec:()=>C9,suspend:()=>mF,tag:()=>us,tagDefaultOmit:()=>AQ,toCodecArrayFromSingle:()=>Gee,toCodecGoJson:()=>Vee,toCodecIso:()=>Wee,toCodecJson:()=>zee,toCodecStringTree:()=>Kee,toDifferJsonPatch:()=>ete,toEncoded:()=>vd,toEncoderXml:()=>Jee,toEquivalence:()=>Bee,toFormatter:()=>Lee,toIso:()=>Zee,toIsoFocus:()=>Yee,toIsoSource:()=>Qee,toJsonSchemaDocument:()=>Hee,toRepresentation:()=>jee,toStandardJSONSchemaV1:()=>P9,toStandardSchemaV1:()=>D9,toTaggedUnion:()=>EF,toType:()=>_n,withArrayLengthConstraints:()=>Xg,withConstructorDefault:()=>vF,withDecodingDefault:()=>kF,withDecodingDefaultKey:()=>ok,withDecodingDefaultType:()=>TQ,withDecodingDefaultTypeKey:()=>EQ});var bM=globalThis.BigInt;var IM=e=>e>bM(Number.MAX_SAFE_INTEGER)||e<bM(Number.MIN_SAFE_INTEGER)?N():F(Number(e));var r0=BigInt(0),zK=BigInt(1),Io=BigInt(1e3),Ls=BigInt(1024),wM=[{symbol:"B",factor:zK,names:["B","byte","bytes"]},{symbol:"kB",factor:Io,names:["kB","kilobyte","kilobytes"]},{symbol:"MB",factor:Io**BigInt(2),names:["MB","megabyte","megabytes"]},{symbol:"GB",factor:Io**BigInt(3),names:["GB","gigabyte","gigabytes"]},{symbol:"TB",factor:Io**BigInt(4),names:["TB","terabyte","terabytes"]},{symbol:"PB",factor:Io**BigInt(5),names:["PB","petabyte","petabytes"]},{symbol:"EB",factor:Io**BigInt(6),names:["EB","exabyte","exabytes"]},{symbol:"ZB",factor:Io**BigInt(7),names:["ZB","zettabyte","zettabytes"]},{symbol:"YB",factor:Io**BigInt(8),names:["YB","yottabyte","yottabytes"]},{symbol:"RB",factor:Io**BigInt(9),names:["RB","ronnabyte","ronnabytes"]},{symbol:"QB",factor:Io**BigInt(10),names:["QB","quettabyte","quettabytes"]}],WK=[wM[0],{symbol:"KiB",factor:Ls,names:["KiB","kibibyte","kibibytes"]},{symbol:"MiB",factor:Ls**BigInt(2),names:["MiB","mebibyte","mebibytes"]},{symbol:"GiB",factor:Ls**BigInt(3),names:["GiB","gibibyte","gibibytes"]},{symbol:"TiB",factor:Ls**BigInt(4),names:["TiB","tebibyte","tebibytes"]},{symbol:"PiB",factor:Ls**BigInt(5),names:["PiB","pebibyte","pebibytes"]},{symbol:"EiB",factor:Ls**BigInt(6),names:["EiB","exbibyte","exbibytes"]},{symbol:"ZiB",factor:Ls**BigInt(7),names:["ZiB","zebibyte","zebibytes"]},{symbol:"YiB",factor:Ls**BigInt(8),names:["YiB","yobibyte","yobibytes"]}],KK=[...wM,...WK.slice(1)],GK=new Map(KK.flatMap(e=>e.names.map(t=>[t,e])));var o0=e=>e;var Lc=e=>{throw new Error(`Invalid ByteSize: ${e}`)},kM=e=>!Number.isSafeInteger(e)||e<0?Lc(`expected a non-negative safe integer, received ${e}`):o0(BigInt(e));var EM=e=>{let t=/^\s*(\d+)(?:\.(\d+))?\s*([A-Za-z]+)\s*$/.exec(e);if(t===null)return Lc(`unsupported syntax ${JSON.stringify(e)}`);let n=GK.get(t[3]);if(n===void 0)return Lc(`unsupported unit ${JSON.stringify(t[3])}`);let r=t[2]??"",o=BigInt(10)**BigInt(r.length),s=BigInt(t[1]+r)*n.factor;return s%o!==r0?Lc(`${JSON.stringify(e)} does not represent an integral number of bytes`):o0(s/o)},TM=Mr(EM),AM=e=>{switch(typeof e){case"bigint":return e<r0?Lc(`expected a non-negative bigint, received ${e}`):o0(e);case"number":return kM(e);case"string":return EM(e)}return Lc(`unsupported input ${e}`)},s0=Mr(AM),RM=e=>typeof e=="bigint"?AM(e):kM(e);var OM=e=>typeof e=="bigint"&&e>=r0;var mh=e=>e,CM=IM;var PM="~effect/Chunk";function DM(e,t,n,r,o){for(let s=t;s<Math.min(e.length,t+o);s++)n[r+s-t]=e[s];return n}var MM=[],c0=e=>ht((t,n)=>{if(t.length!==n.length)return!1;let r=na(t),o=na(n);for(let s=0;s<r.length;s++)if(!e(r[s],o[s]))return!1;return!0}),QK=c0(V),YK={[PM]:{_A:e=>e},toString(){return`Chunk(${U(na(this))})`},toJSON(){return{_id:"Chunk",values:Wt(na(this))}},[He](){return this.toJSON()},[X](e){return hh(e)&&QK(this,e)},[Y](){return co(na(this))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return MM[Symbol.iterator]();default:return na(this)[Symbol.iterator]()}},pipe(){return ie(this,arguments)}},d0=e=>{let t=Object.create(YK);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=Xo,t.right=Xo;break}case"ISingleton":{t.length=1,t.depth=0,t.left=Xo,t.right=Xo;break}case"ISlice":{t.length=e.length,t.depth=0,t.left=Xo,t.right=Xo;break}}return t},hh=e=>O(e,PM),Xo=d0({_tag:"IEmpty"}),XK=()=>Xo;var eG=e=>d0({_tag:"ISingleton",a:e}),u0=e=>hh(e)?e:nG(kn(e)),a0=(e,t,n)=>{switch(e.backing._tag){case"IArray":{DM(e.backing.array,0,t,n,e.length);break}case"IConcat":{a0(e.left,t,n),a0(e.right,t,n+e.left.length);break}case"ISingleton":{t[n]=e.backing.a;break}case"ISlice":{DM(na(e.backing.chunk),e.backing.offset,t,n,e.length);break}}};var tG=e=>{switch(e.backing._tag){case"IEmpty":return MM;case"IArray":return e.backing.array;default:{let t=new Array(e.length);return a0(e,t,0),e.backing={_tag:"IArray",array:t},e.left=Xo,e.right=Xo,e.depth=0,t}}},na=tG;var nG=e=>e.length===0?XK():e.length===1?eG(e[0]):d0({_tag:"IArray",array:e});var _M=e=>e.length;var es={};Ae(es,{CurrentTimeZone:()=>fr,Equivalence:()=>yh,Order:()=>rG,add:()=>JG,addDuration:()=>GG,between:()=>bG,clamp:()=>oG,distance:()=>fG,endOf:()=>YG,format:()=>eV,formatIntl:()=>rV,formatIso:()=>al,formatIsoDate:()=>oV,formatIsoDateUtc:()=>sV,formatIsoOffset:()=>iV,formatIsoZoned:()=>Bc,formatLocal:()=>tV,formatUtc:()=>nV,fromDateUnsafe:()=>sG,fromEpochSeconds:()=>iG,getPart:()=>MG,getPartUtc:()=>PG,isDateTime:()=>gh,isFuture:()=>IG,isFutureUnsafe:()=>vG,isGreaterThan:()=>gG,isGreaterThanOrEqualTo:()=>yG,isLessThan:()=>xG,isLessThanOrEqualTo:()=>SG,isPast:()=>wG,isPastUnsafe:()=>kG,isTimeZone:()=>p0,isTimeZoneNamed:()=>m0,isTimeZoneOffset:()=>f0,isUtc:()=>h0,isZoned:()=>g0,layerCurrentZone:()=>aV,layerCurrentZoneLocal:()=>uV,layerCurrentZoneNamed:()=>dV,layerCurrentZoneOffset:()=>cV,make:()=>qs,makeUnsafe:()=>qc,makeZoned:()=>aG,makeZonedFromString:()=>rl,makeZonedUnsafe:()=>y0,mapEpochMillis:()=>HG,match:()=>KG,max:()=>hG,min:()=>mG,mutate:()=>BG,mutateUtc:()=>jG,nearest:()=>XG,now:()=>UM,nowAsDate:()=>cG,nowInCurrentZone:()=>qG,nowUnsafe:()=>dG,removeTime:()=>OG,setParts:()=>_G,setPartsUtc:()=>UG,setZone:()=>NM,setZoneCurrent:()=>$M,setZoneNamed:()=>lG,setZoneNamedUnsafe:()=>pG,setZoneOffset:()=>uG,startOf:()=>QG,subtract:()=>ZG,subtractDuration:()=>VG,toDate:()=>EG,toDateUtc:()=>il,toEpochMillis:()=>Sh,toEpochSeconds:()=>RG,toParts:()=>CG,toPartsUtc:()=>DG,toUtc:()=>Bs,withCurrentZone:()=>NG,withCurrentZoneLocal:()=>FG,withCurrentZoneNamed:()=>LG,withCurrentZoneOffset:()=>$G,withDate:()=>zG,withDateUtc:()=>WG,zoneFromString:()=>sl,zoneMakeLocal:()=>x0,zoneMakeNamed:()=>ol,zoneMakeNamedEffect:()=>FM,zoneMakeNamedUnsafe:()=>xh,zoneMakeOffset:()=>ra,zoneToString:()=>js,zonedOffset:()=>TG,zonedOffsetIso:()=>AG});var gh=Ji,p0=Zi,f0=vD,m0=wD,h0=kD,g0=Sb,yh=ED,rG=So,oG=TD,sG=Gi,qc=Jm,iG=JD,y0=bb,aG=Km,qs=AD,rl=RD,UM=Zm,cG=OD,dG=Qm,Bs=CD,NM=ju,uG=DD,xh=Hu,ra=Vi,ol=Ym,FM=Ib,x0=_D,sl=vb,js=UD,lG=ND,pG=FD,fG=$D,mG=LD,hG=qD,gG=Xm,yG=BD,xG=eh,SG=jD,bG=HD,IG=zD,vG=WD,wG=KD,kG=GD,il=Fs,EG=Yo,TG=th,AG=wb,Sh=Dc,RG=VD,OG=ZD,CG=kb,DG=rh,PG=YD,MG=XD,_G=eP,UG=tP,fr=class extends _r()("effect/DateTime/CurrentTimeZone"){},$M=e=>tl(fr,t=>NM(e,t)),NG=Qt(fr),FG=e=>lh(e,fr,Xu(x0)),$G=h(2,(e,t)=>uh(e,fr,ra(t))),LG=h(2,(e,t)=>lh(e,fr,FM(t))),qG=pn(UM,$M),BG=Qi,jG=oh,HG=zu,zG=sh,WG=Rb,KG=nP,GG=rP,VG=oP,JG=Ob,ZG=sP,QG=aP,YG=dP,XG=uP,eV=lP,tV=pP,nV=fP,rV=mP,al=hP,oV=gP,sV=yP,iV=Vm,Bc=Cb,aV=yb(fr),cV=e=>yb(fr)(Vi(e)),dV=ST(Ib,mD(fr)),uV=fD(fr)(x0);var oa=e=>lV(typeof e=="string"?pV.encode(e):e),sa=e=>{let t=mV(e),n=t.length;if(n%4!==0)return J(new ur({kind:"Decode",module:"Base64",input:t,message:`Length must be a multiple of 4, but is ${n}`}));let r=t.indexOf("=");if(r!==-1&&(r<n-2||r===n-2&&t[n-1]!=="="))return J(new ur({kind:"Decode",module:"Base64",input:t,message:"Found a '=' character, but it is not at the end"}));try{let o=t.endsWith("==")?2:t.endsWith("=")?1:0,s=new Uint8Array(3*(n/4)-o);for(let i=0,c=0;i<n;i+=4,c+=3){let d=bh(t.charCodeAt(i))<<18|bh(t.charCodeAt(i+1))<<12|bh(t.charCodeAt(i+2))<<6|bh(t.charCodeAt(i+3));s[c]=d>>16,s[c+1]=d>>8&255,s[c+2]=d&255}return $(s)}catch(o){return J(new ur({kind:"Decode",module:"Base64",input:t,message:o instanceof Error?o.message:"Invalid input"}))}},LM=e=>bt(sa(e),t=>fV.decode(t)),lV=e=>{let t=e.length,n="",r;for(r=2;r<t;r+=3)n+=Kr[e[r-2]>>2],n+=Kr[(e[r-2]&3)<<4|e[r-1]>>4],n+=Kr[(e[r-1]&15)<<2|e[r]>>6],n+=Kr[e[r]&63];return r===t+1&&(n+=Kr[e[r-2]>>2],n+=Kr[(e[r-2]&3)<<4],n+="=="),r===t&&(n+=Kr[e[r-2]>>2],n+=Kr[(e[r-2]&3)<<4|e[r-1]>>4],n+=Kr[(e[r-1]&15)<<2],n+="="),n},pV=new TextEncoder,fV=new TextDecoder,mV=e=>e.replace(/[\n\r]/g,""),Kr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",cl=new Uint8Array(123).fill(255);for(let e=0;e<Kr.length;e++)cl[Kr.charCodeAt(e)]=e;cl[61]=0;var bh=e=>{if(e>=cl.length||cl[e]===255)throw new TypeError(`Invalid character ${String.fromCharCode(e)}`);return cl[e]};var wh="~effect/HashMap",Gr=5,ul=1<<Gr,hV=ul/4,qM=ul/2,gV=ul-1,yV=e=>(e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24),dl=(e,t)=>e>>>t&gV,Hs=(e,t)=>1<<dl(e,t),vh=(e,t)=>yV(e&t-1);function BM(e,t,n,r,o,s){if(t>32)throw new Error("HashMap: max depth exceeded");let i=Hs(n,t),c=Hs(o,t);if(i===c){let l=BM(e,t+Gr,n,r,o,s);return new ca(e,i,[l])}let d=i|c,u=i>>>0<c>>>0?[r,s]:[s,r];return new ca(e,d,u)}var xV=Ce("HashMap"),jM=(e,t)=>ce(j(e),j(t)),HM=e=>{let t=0;for(let n=0;n<e.length;n++){let r=e[n];r&&(t^=r.subtreeHash())}return t},ia=class{canEdit(t){return this.edit===t}subtreeHash(){let t=this._hash;if(t===void 0){let n=mi;t=this.computeHash(),n===mi&&(this._hash=t)}return t}},S0=class extends ia{_tag="EmptyNode";edit=0;get size(){return 0}get(t,n,r){return N()}has(t,n,r){return!1}set(t,n,r,o,s,i){return i.value=!0,new aa(t,r,o,s)}remove(t,n,r,o,s){return this}canEdit(t){return!1}computeHash(){return 0}},aa=class e extends ia{_tag="LeafNode";edit;hash;key;value;constructor(t,n,r,o){super(),this.edit=t,this.hash=n,this.key=r,this.value=o}get size(){return 1}get(t,n,r){return this.hash===n&&V(this.key,r)?F(this.value):N()}has(t,n,r){return this.hash===n&&V(this.key,r)}set(t,n,r,o,s,i){if(this.canEdit(t)&&(this._hash=void 0),this.hash===r&&V(this.key,o))return Object.is(this.value,s)?this:this.canEdit(t)?(this.value=s,this):new e(t,r,o,s);if(i.value=!0,this.hash===r)return new b0(t,r,[[this.key,this.value],[o,s]]);let c=Hs(r,n),d=Hs(this.hash,n);if(c===d)return new ca(t,c,[this.set(t,n+Gr,r,o,s,i)]);let u=c|d,l=c>>>0<d>>>0?[new e(t,r,o,s),this]:[this,new e(t,r,o,s)];return new ca(t,u,l)}remove(t,n,r,o,s){if(this.hash===r&&V(this.key,o)){s.value=!0;return}return this}computeHash(){return jM(this.key,this.value)}},b0=class e extends ia{_tag="CollisionNode";edit;hash;entries;constructor(t,n,r){super(),this.edit=t,this.hash=n,this.entries=r}get size(){return this.entries.length}get(t,n,r){if(this.hash!==n)return N();for(let[o,s]of this.entries)if(V(o,r))return F(s);return N()}has(t,n,r){if(this.hash!==n)return!1;for(let[o]of this.entries)if(V(o,r))return!0;return!1}set(t,n,r,o,s,i){if(this.canEdit(t)&&(this._hash=void 0),this.hash!==r)return i.value=!0,BM(t,n,this.hash,this,r,new aa(t,r,o,s));for(let c=0;c<this.entries.length;c++)if(V(this.entries[c][0],o)){if(Object.is(this.entries[c][1],s))return this;if(this.canEdit(t))return this.entries[c]=[o,s],this;let d=[...this.entries];return d[c]=[o,s],new e(t,this.hash,d)}return i.value=!0,this.canEdit(t)?(this.entries.push([o,s]),this):new e(t,this.hash,[...this.entries,[o,s]])}remove(t,n,r,o,s){if(this.canEdit(t)&&(this._hash=void 0),this.hash!==r)return this;let i=this.entries.findIndex(([d])=>V(d,o));if(i===-1)return this;if(s.value=!0,this.entries.length===1)return;if(this.entries.length===2){let d=this.entries[i===0?1:0];return new aa(t,this.hash,d[0],d[1])}if(this.canEdit(t))return this.entries.splice(i,1),this;let c=[...this.entries];return c.splice(i,1),new e(t,this.hash,c)}computeHash(){let t=0,n=this.entries;for(let r=0;r<n.length;r++)t^=jM(n[r][0],n[r][1]);return t}},ca=class e extends ia{_tag="IndexedNode";edit;_size;bitmap;children;constructor(t,n,r){super(),this.edit=t,this.bitmap=n,this.children=r}get size(){return this._size===void 0&&(this._size=this.children.reduce((t,n)=>t+n.size,0)),this._size}get(t,n,r){let o=Hs(n,t);if((this.bitmap&o)===0)return N();let s=vh(this.bitmap,o);return this.children[s].get(t+Gr,n,r)}has(t,n,r){let o=Hs(n,t);if((this.bitmap&o)===0)return!1;let s=vh(this.bitmap,o);return this.children[s].has(t+Gr,n,r)}set(t,n,r,o,s,i){this.canEdit(t)&&(this._hash=void 0);let c=Hs(r,n),d=vh(this.bitmap,c);if((this.bitmap&c)!==0){let u=this.children[d],l=u.set(t,n+Gr,r,o,s,i);if(u===l)return this;if(this.canEdit(t))return this.children[d]=l,this;let p=[...this.children];return p[d]=l,new e(t,this.bitmap,p)}else{i.value=!0;let u=new aa(t,r,o,s),l=this.bitmap|c;if(this.canEdit(t))return this.children.splice(d,0,u),this.bitmap=l,this._size=void 0,this.children.length>qM?this.expand(t,l,this.children):this;let p=[...this.children];return p.splice(d,0,u),p.length>qM?this.expand(t,l,p):new e(t,l,p)}}remove(t,n,r,o,s){this.canEdit(t)&&(this._hash=void 0);let i=Hs(r,n);if((this.bitmap&i)===0)return this;let c=vh(this.bitmap,i),d=this.children[c],u=d.remove(t,n+Gr,r,o,s);if(!s.value)return this;if(u===void 0){let p=this.bitmap^i;if(p===0)return;if(this.children.length===2){let g=this.children[c===0?1:0];if(g._tag==="LeafNode")return g}if(this.canEdit(t))return this.children.splice(c,1),this.bitmap=p,this._size=void 0,this;let f=[...this.children];return f.splice(c,1),new e(t,p,f)}if(d===u)return this;if(this.canEdit(t))return this.children[c]=u,this;let l=[...this.children];return l[c]=u,new e(t,this.bitmap,l)}expand(t,n,r){let o=new globalThis.Array(ul),s=0;for(let i=0;i<ul;i++)(n&1<<i)!==0&&(o[i]=r[s++]);return new I0(t,r.length,o)}computeHash(){return HM(this.children)}},I0=class e extends ia{_tag="ArrayNode";edit;_size;count;children;constructor(t,n,r){super(),this.edit=t,this.count=n,this.children=r}get size(){return this._size===void 0&&(this._size=this.children.reduce((t,n)=>t+(n?.size??0),0)),this._size}get(t,n,r){let o=dl(n,t),s=this.children[o];return s?s.get(t+Gr,n,r):N()}has(t,n,r){let o=dl(n,t),s=this.children[o];return s?s.has(t+Gr,n,r):!1}set(t,n,r,o,s,i){this.canEdit(t)&&(this._hash=void 0);let c=dl(r,n),d=this.children[c];if(d){let u=d.set(t,n+Gr,r,o,s,i);if(d===u)return this;if(this.canEdit(t))return this.children[c]=u,this;let l=[...this.children];return l[c]=u,new e(t,this.count,l)}else{i.value=!0;let u=new aa(t,r,o,s);if(this.canEdit(t))return this.children[c]=u,this.count++,this._size=void 0,this;let l=[...this.children];return l[c]=u,new e(t,this.count+1,l)}}remove(t,n,r,o,s){this.canEdit(t)&&(this._hash=void 0);let i=dl(r,n),c=this.children[i];if(!c)return this;let d=c.remove(t,n+Gr,r,o,s);if(!s.value)return this;let u=this.count-(d?0:1);if(u<hV)return this.pack(t,i,d);if(c===d)return this;if(this.canEdit(t))return this.children[i]=d,d||(this.count=u),this._size=void 0,this;let l=[...this.children];return l[i]=d,new e(t,u,l)}pack(t,n,r){let o=[],s=0,i=1;for(let c=0;c<this.children.length;c++){let d=c===n?r:this.children[c];d&&(o.push(d),s|=i),i<<=1}return new ca(t,s,o)}computeHash(){return HM(this.children)}},kh=class{stack;project;entries=[];index=0;constructor(t,n){this.stack=[t],this.project=n}next(){for(;;){if(this.index<this.entries.length){let n=this.entries[this.index++];return{done:!1,value:this.project(n[0],n[1])}}if(this.stack.length===0)return{done:!0,value:void 0};let t=this.stack.pop();switch(t._tag){case"LeafNode":{let n=t;return{done:!1,value:this.project(n.key,n.value)}}case"CollisionNode":{this.entries=t.entries,this.index=0;break}case"IndexedNode":case"ArrayNode":{let n=t.children;for(let r=n.length-1;r>=0;r--){let o=n[r];o&&this.stack.push(o)}}}}}[Symbol.iterator](){return this}},SV=(e,t)=>[e,t];var ll=class{[wh]=wh;_editable;_edit;_root;_size;constructor(t,n,r,o){this._editable=t,this._edit=n,this._root=r,this._size=o}get size(){return this._size}[Symbol.iterator](){return new kh(this._root,SV)}[X](t){if(v0(t)){let n=t;if(this.size!==n.size)return!1;for(let[r,o]of this){let s=xT(t,KM(r));if(ae(s)||!V(o,s.value))return!1}return!0}return!1}[Y](){return zt(xV^this._root.subtreeHash())}[He](){return Wt(this)}toString(){return`HashMap(${U(Array.from(this))})`}toJSON(){return{_id:"HashMap",values:Array.from(this).map(([t,n])=>[Wt(t),Wt(n)])}}pipe(){return ie(this,arguments)}},zM=new S0,v0=e=>O(e,wh),w0=()=>new ll(!1,0,zM,0);var WM=e=>{let t=zM,n=0,r={value:!1};for(let[o,s]of e){let i=j(o);r.value=!1,t=t.set(NaN,0,i,o,s,r),r.value&&n++}return new ll(!1,0,t,n)};var KM=h(2,(e,t)=>e._root.get(0,j(t),t));var k0=h(2,(e,t)=>e._root.has(0,j(t),t));var bV=(e,t,n,r)=>{let o=e,s={value:!1},i=o._editable?o._edit:NaN,c=o._root.set(i,0,n,t,r,s);return o._editable?(o._root=c,s.value&&o._size++,e):o._root===c?e:new ll(!1,o._edit,c,o._size+(s.value?1:0))},E0=h(3,(e,t,n)=>bV(e,t,j(t),n)),T0=e=>new kh(e._root,Q);var GM=e=>e[Symbol.iterator](),Eh=e=>e.size;var JM=v0;var A0=WM;var wV=GM,pl=e=>Array.from(wV(e)),ZM=Eh;var fl="~effect/HashSet",kV=Ce(fl),EV={[Y](){return zt(ce(kV,j(Th(this))))},[X](e){return O0(e)&&Ah(this)===Ah(e)&&XM(this,t=>YM(e,t))},[Symbol.iterator](){return T0(Th(this))},toString(){return`HashSet(${U(Array.from(this))})`},toJSON(){return{_id:"HashSet",values:Wt(Array.from(this))}},[He](){return this.toJSON()},pipe(){return ie(this,arguments)}},TV=e=>{let t=Object.create(EV);return t[fl]=fl,t.keyMap=e,t},O0=e=>O(e,fl),Th=e=>e.keyMap;var QM=e=>{let t=w0();for(let n of e)t=E0(t,n,!0);return TV(t)},YM=(e,t)=>k0(Th(e),t);var Ah=e=>Eh(Th(e));var XM=(e,t)=>{for(let n of e)if(!t(n))return!1;return!0};var C0=QM,e_=O0;var t_=Ah;var P0="~effect/http/Cookies",r_=e=>O(e,P0),M0="~effect/http/Cookies/Cookie",o_=e=>O(e,M0),n_="~effect/http/Cookies/CookieError",_0=class extends Qf{},da=class e extends dr("CookiesError"){static fromReason(t,n){return new e({reason:new _0({_tag:t,cause:n})})}[n_]=n_;get message(){return this.reason._tag}};var RV={[P0]:P0,...Dt,toJSON(){return{_id:"effect/Cookies",cookies:Lf(this.cookies,e=>e.toJSON())}},pipe(){return ie(this,arguments)}},N0=e=>{let t=Object.create(RV);return t.cookies=e,t},F0=e=>{let t={};for(let n of e)M(t,n.name,n);return N0(t)},s_=e=>{let t=typeof e=="string"?[e]:e,n=[];for(let r of t){let o=OV(r.trim());o&&n.push(o)}return F0(n)};function OV(e){let t=e.split(";").map(c=>c.trim()).filter(c=>c!=="");if(t.length===0)return;let n=t[0].indexOf("=");if(n===-1)return;let r=t[0].slice(0,n);if(!i_.test(r))return;let o=t[0].slice(n+1),s=UV(o);if(t.length===1)return Object.assign(Object.create(U0),{name:r,value:s,valueEncoded:o});let i={};for(let c=1;c<t.length;c++){let d=t[c],u=d.indexOf("="),l=u===-1?d:d.slice(0,u).trim(),p=u===-1?void 0:d.slice(u+1).trim();switch(l.toLowerCase()){case"domain":{if(p===void 0)break;let f=p.trim().replace(/^\./,"");f&&(i.domain=f);break}case"expires":{if(p===void 0)break;let f=new Date(p);isNaN(f.getTime())||(i.expires=f);break}case"max-age":{if(p===void 0)break;let f=parseInt(p,10);isNaN(f)||(i.maxAge=yc(f));break}case"path":{if(p===void 0)break;p[0]==="/"&&(i.path=p);break}case"priority":{if(p===void 0)break;switch(p.toLowerCase()){case"low":i.priority="low";break;case"medium":i.priority="medium";break;case"high":i.priority="high";break}break}case"httponly":{i.httpOnly=!0;break}case"secure":{i.secure=!0;break}case"partitioned":{i.partitioned=!0;break}case"samesite":{if(p===void 0)break;switch(p.toLowerCase()){case"lax":i.sameSite="lax";break;case"strict":i.sameSite="strict";break;case"none":i.sameSite="none";break}break}}}return Object.assign(Object.create(U0),{name:r,value:s,valueEncoded:o,options:Object.keys(i).length>0?i:void 0})}var CV=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,i_=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,DV=/^[\u0009\u0020-\u003a\u003c-\u007e\u0080-\u00ff]+$/,PV=/^[\u0020-\u003a\u003c-\u007e]+$/,U0={[M0]:M0,...Dt,toJSON(){return{_id:"effect/Cookies/Cookie",name:this.name,value:this.value,options:this.options}}};function MV(e,t,n){let r=encodeURIComponent(t),o=a_(e,r,n);return o!==void 0?J(o):$(Object.assign(Object.create(U0),{name:e,value:t,valueEncoded:r,options:n}))}function a_(e,t,n){if(!i_.test(e))return da.fromReason("InvalidCookieName");if(t&&!CV.test(t))return da.fromReason("InvalidCookieValue");if(n?.domain!==void 0&&!DV.test(n.domain))return da.fromReason("InvalidCookieDomain");if(n?.path!==void 0&&!PV.test(n.path))return da.fromReason("InvalidCookiePath");if(n?.maxAge!==void 0&&!Mi(Pt(n.maxAge)))return da.fromReason("CookieInfinityMaxAge")}var c_=(e,t,n)=>Ur(MV(e,t,n));function _V(e){let t=a_(e.name,e.valueEncoded,e.options);if(t!==void 0)throw t;let n=e.name+"="+e.valueEncoded;if(e.options===void 0)return n;let r=e.options;if(r.maxAge!==void 0){let o=yo(Pt(r.maxAge));n+="; Max-Age="+Math.trunc(o)}if(r.domain!==void 0&&(n+="; Domain="+r.domain),r.path!==void 0&&(n+="; Path="+r.path),r.priority!==void 0)switch(r.priority){case"low":n+="; Priority=Low";break;case"medium":n+="; Priority=Medium";break;case"high":n+="; Priority=High";break}if(r.expires!==void 0&&(n+="; Expires="+r.expires.toUTCString()),r.httpOnly&&(n+="; HttpOnly"),r.secure&&(n+="; Secure"),r.partitioned&&(n+="; Partitioned"),r.sameSite!==void 0)switch(r.sameSite){case"lax":n+="; SameSite=Lax";break;case"strict":n+="; SameSite=Strict";break;case"none":n+="; SameSite=None";break}return n}var d_=e=>{let t={},n=Object.values(e.cookies);for(let r=0;r<n.length;r++){let o=n[r];M(t,o.name,o.value)}return t},u_=e=>Object.values(e.cookies).map(_V);var UV=e=>{try{return decodeURIComponent(e)}catch{return e}};var ua=new WeakMap,l_=e=>{if(ua.has(e))return ua.get(e);throw new Error("Unable to get redacted value"+(e.label?` with label: "${e.label}"`:""))};var p_="~effect/Redacted",jc=e=>O(e,p_),ts=(e,t)=>{let n=Object.create($V);return t?.label&&(n.label=t.label),ua.set(n,e),n},$V={[p_]:{_A:e=>e},label:void 0,...Dr,toJSON(){return this.toString()},toString(){return`<redacted${Ar(this.label)?":"+this.label:""}>`},[Y](){return j(ua.get(this))},[X](e){return jc(e)&&V(ua.get(this),ua.get(e))}},zs=l_;var f_=e=>ht((t,n)=>e(zs(t),zs(n)));var $0=Symbol.for("~effect/http/Headers"),h_=e=>O(e,$0),L0=Object.defineProperties(Object.create(null),{[$0]:{value:$0},[Fo]:{value(e){return qV(this,et(e,BV))}},toJSON:{value(){return Rr(this)}},[X]:{value(e){return j0(this,e)}},[Y]:{value(){return nu(this)}},toString:{value:Dt.toString},[He]:{value:Dt[He]}});var j0=CA(Es()),LV=Object.create(L0),g_=e=>{if(e===void 0)return LV;if(Symbol.iterator in e){let n=Object.create(L0);for(let[r,o]of e)n[r.toLowerCase()]=o;return n}let t=Object.create(L0);for(let[n,r]of Object.entries(e))Array.isArray(r)?t[n.toLowerCase()]=r.join(", "):r!==void 0&&(t[n.toLowerCase()]=r);return t};var qV=h(2,(e,t)=>{let n={...e},r=o=>{if(typeof o=="string"){let s=o.toLowerCase();s in e&&(n[s]=ts(e[s]))}else for(let s in e)s.search(o)!==-1&&(n[s]=ts(e[s]))};if(Array.isArray(t))for(let o=0;o<t.length;o++)r(t[o]);else r(t);return n}),y_=(e,t)=>{let n=e.toLowerCase();for(let r=0;r<t.length;r++){let o=t[r];if(typeof o=="string"){if(o.toLowerCase()===n)return!0}else if(e.search(o)!==-1)return!0}return!1},BV=Me("effect/Headers/CurrentRedactedNames",{defaultValue:()=>["authorization","cookie","set-cookie","x-api-key"]}),m_="~effect/http/Headers/HeaderParseError",q0=class extends Qf{},Rh=class e extends dr("HeaderParseError"){static fromReason(t,n){return new e({reason:new q0({_tag:t,input:n})})}[m_]=m_;get message(){return`${this.reason._tag}: ${JSON.stringify(this.reason.input)}`}};var jV=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],HV=[/^(?:mon|tue|wed|thu|fri|sat|sun), (?<day>\d{2}) (?<month>[a-z]{3}) (?<year>\d{4}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) gmt$/i,/^(?:monday|tuesday|wednesday|thursday|friday|saturday|sunday), (?<day>\d{2})-(?<month>[a-z]{3})-(?<year>\d{2}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) gmt$/i,/^(?:mon|tue|wed|thu|fri|sat|sun) (?<month>[a-z]{3}) (?<day> \d|\d{2}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) (?<year>\d{4})$/i],x_=e=>{for(let t of HV){let n=t.exec(e)?.groups;if(n===void 0)continue;let r=jV.indexOf(n.month.toLowerCase()),o=Number(n.hour),s=Number(n.minute),i=Number(n.second);if(r===-1||o>23||s>59||i>60)return;let c=Number(n.year);n.year.length===2&&(c+=c<70?2e3:1900);let d=Number(n.day),u=new Date(0);return u.setUTCFullYear(c,r,d),u.getUTCFullYear()!==c||u.getUTCMonth()!==r||u.getUTCDate()!==d?void 0:u.getTime()+((o*60+s)*60+i)*1e3}},S_=e=>{let t=x_(e.trim());return t===void 0?J(Rh.fromReason("InvalidHttpDate",e)):$(qc(t))},H0=e=>il(e).toUTCString();var zV=e=>({_tag:"DateTime",dateTime:e}),WV=/^\d+$/,B0=BigInt(1e9),b_=e=>{let t=e.trim();if(WV.test(t)){let r=Number(t),o=Number.isSafeInteger(r*1e3)?yc(r):En(BigInt(t)*B0);return $({_tag:"Duration",duration:o})}let n=x_(t);return n===void 0?J(Rh.fromReason("InvalidRetryAfter",e)):$(zV(qc(n)))},I_=e=>e._tag==="Duration"?String((gc(e.duration)+B0-BigInt(1))/B0):H0(e.dateTime);var hl=e=>typeof e=="string"?e:zs(e);var z0="~effect/http/UrlParams",W0=e=>O(e,z0),KV={...Dr,[z0]:z0,[Symbol.iterator](){return this.params[Symbol.iterator]()},[Fo](e){return{_id:"UrlParams",params:Object.fromEntries(JV(this,et(e,QV)))}},toJSON(){return Rr(this)},[X](e){return K0(this,e)},[Y](){return co(this.params.flat())}},Oh=e=>{let t=Object.create(KV);return t.params=e,t},E_=e=>{if(W0(e))return e;let t=T_(e),n=[];for(let r=0;r<t.length;r++)if(Array.isArray(t[r][0])){let[o,s]=t[r];n.push([`${o[0]}[${o.slice(1).join("][")}]`,s])}else n.push(t[r]);return Oh(n)},T_=e=>{let t=typeof e[Symbol.iterator]=="function"?kn(e):Object.entries(e),n=[];for(let[r,o]of t)if(Array.isArray(o))for(let s=0;s<o.length;s++)o[s]!==void 0&&n.push([r,k_(o[s])]);else if(o!==null&&typeof o=="object"&&!jc(o)){let s=T_(o);for(let[i,c]of s)n.push([[r,...typeof i=="string"?[i]:i],c])}else o!==void 0&&n.push([r,k_(o)]);return n},k_=e=>jc(e)?e:String(e),K0=ht((e,t)=>GV(e.params,t.params)),GV=MA(EA([Es(),ou()]));var A_=h(2,(e,t)=>Nx(e.params,([n])=>n===t).pipe(Vt(([,n])=>hl(n))));var VV=e=>{let t={};for(let[n,r]of e.params){let o=hl(r);if(!Object.hasOwn(t,n))M(t,n,o);else{let s=t[n];typeof s=="string"?M(t,n,[s,o]):s.push(o)}}return t},R_=VV,JV=h(2,(e,t)=>{let n=Array.isArray(t)?t:[t];return e.params.map(([r,o])=>[r,typeof o=="string"&&ZV(r,n)?ts(o):o])}),ZV=y_;var QV=Me("effect/http/UrlParams/CurrentRedactedNames",{defaultValue:()=>["AWSAccessKeyId","Signature","sig","X-Goog-Signature"]});var G0="~effect/Graph",V0=e=>O(e,G0),O_=e=>e;var XV=(e,t,n)=>(e==="directed"?t.source===n.source&&t.target===n.target:t.source===n.source&&t.target===n.target||t.source===n.target&&t.target===n.source)&&V(t.data,n.data),eJ=(e,t)=>e==="directed"?j(t):zt(ce(j(t.data),tJ(t.source,t.target))),tJ=(e,t)=>ce(0,j(e))+ce(0,j(t)),nJ=Ce("Graph"),rJ={[G0]:{_N:e=>e,_E:e=>e},[Symbol.iterator](){return this.nodes[Symbol.iterator]()},[He](){return this.toJSON()},[X](e){if(O(e,G0)){let t=O_(e);if(this.nodes.size!==t.nodes.size||this.edges.size!==t.edges.size||this.type!==t.type)return!1;for(let[n,r]of this.nodes)if(!t.nodes.has(n)||!V(r,t.nodes.get(n)))return!1;for(let[n,r]of this.edges){let o=t.edges.get(n);if(o===void 0||!XV(this.type,r,o))return!1}return!0}return!1},[Y](){let e=nJ;e=e^Ce(this.type),e=e^Ct(this.nodes.size),e=e^Ct(this.edges.size);for(let[t,n]of this.nodes)e^=ce(j(t),j(n));for(let[t,n]of this.edges)e^=ce(j(t),eJ(this.type,n));return zt(e)},toJSON(){return{_id:"Graph",nodeCount:this.nodes.size,edgeCount:this.edges.size,type:this.type}},toString(){return`Graph(${this.type}, ${this.nodes.size}, ${this.edges.size})`},pipe(){return ie(this,arguments)}},oJ=(e,t)=>{let n=Object.create(rJ);return n.type=e,n.mutable=t,n.transforming=!1,n.nodes=new Map,n.edges=new Map,n.adjacency=new Map,n.reverseAdjacency=new Map,n.nextNodeIndex=0,n.nextEdgeIndex=0,n.acyclic=F(!0),n};var gl=e=>{let t=O_(e);return{type:e.type,nodes:Array.from(t.nodes,([n,r])=>({index:n,data:r})).sort((n,r)=>n.index-r.index),edges:Array.from(t.edges,([n,r])=>({index:n,source:r.source,target:r.target,data:r.data})).sort((n,r)=>n.index-r.index)}},Ch=e=>{let t=oJ(e.type,!1);for(let n of e.nodes)t.nodes.set(n.index,n.data),t.adjacency.set(n.index,[]),t.reverseAdjacency.set(n.index,[]);for(let n of e.edges)t.edges.set(n.index,{source:n.source,target:n.target,data:n.data}),t.adjacency.get(n.source).push(n.index),t.reverseAdjacency.get(n.target).push(n.index),e.type==="undirected"&&(t.adjacency.get(n.target).push(n.index),t.reverseAdjacency.get(n.source).push(n.index));return t.nextNodeIndex=e.nodes.length===0?0:e.nodes[e.nodes.length-1].index+1,t.nextEdgeIndex=e.edges.length===0?0:e.edges[e.edges.length-1].index+1,t.acyclic=N(),t};function ns(e){return e.checks?e.checks[e.checks.length-1].annotations:e.annotations}function Dh(e){return t=>ns(t)?.[e]}var Rn="~structural",la="~identifier",yl="~sentinels",Ph="~constructor",C_=["title","description","default","examples","readOnly","writeOnly","format","contentEncoding","contentMediaType","contentSchema"],Hc=Dh("identifier"),J0=Dh(la),Z0=Dh("title");var xl=Tr(e=>{let t=ns(e)?.identifier;return typeof t=="string"?t:e.getExpected(xl)}),D_=new Set([yl,Rn,"representation","arbitraryConstraint","toJsonSchema","toCode","toEquivalence","toFormatter","toCodec","toCodecJson","toCodecStringTree","toCodecIso","toCodecArbitrary"]);var me=Symbol();var en=Lu,On=en(me),Qe=en(me),Sl=e=>e===me?N():F(e),Q0=e=>e._tag==="None"?On:en(e.value);var wl="~effect/SchemaIssue/Issue";function X0(e){return O(e,wl)&&e[wl]===wl}function iJ(e){return Object.hasOwn(e,"input")}var Jn=class{[wl]=wl;constructor(t,n){n?.reportInput===!0&&t!==me&&(this.input=t)}},P_=class extends Jn{_tag="Filter";filter;issue;constructor(e,t,n,r){super(n,r),this.filter=e,this.issue=t}},M_=class extends Jn{_tag="Encoding";ast;issue;constructor(e,t,n,r){super(n,r),this.ast=e,this.issue=t}},Mt=class extends Jn{_tag="Pointer";path;issue;constructor(e,t){super(),this.path=e,this.issue=t}},rs=class extends Jn{_tag="MissingKey";annotations;constructor(e){super(),this.annotations=e}},eI=class extends Jn{_tag="UnexpectedKey";ast;constructor(e,t,n){super(t,n),this.ast=e}},_t=class extends Jn{_tag="Composite";ast;issues;constructor(e,t,n,r){super(n,r),this.ast=e,this.issues=t}},It=class extends Jn{_tag="InvalidType";ast;constructor(e,t,n){super(t,n),this.ast=e}},Z=class extends Jn{_tag="InvalidValue";annotations;constructor(e,t,n){super(t,n),this.annotations=e}};function Cn(e,t,n,r,o){return new _t(e,[new Mt([t],n)],r,o)}var kl=class extends Jn{_tag="Forbidden";annotations;constructor(e,t,n){super(t,n),this.annotations=e}},El=class extends Jn{_tag="AnyOf";ast;issues;constructor(e,t,n,r){super(n,r),this.ast=e,this.issues=t}},__=class extends Jn{_tag="OneOf";ast;successes;constructor(e,t,n,r){super(n,r),this.ast=e,this.successes=t}};function Y0(e,t,n){if(X0(e))return e;if(typeof e=="string")return new Z({message:e},t,n);let r=typeof e.issue=="string"?new Z({message:e.issue},t,n):e.issue;return new Mt(e.path,r)}function tI(e,t,n){if(e!==void 0)return typeof e=="boolean"?e?void 0:new Z(void 0,t,n):Y0(e,t,n)}function U_(e,t,n,r){return Array.isArray(t)?DA(t)?t.length===1?Y0(t[0],n,r):new _t(e,zo(t,o=>Y0(o,n,r)),n,r):void 0:tI(t,n,r)}var N_=e=>{let t=Wc(e);if(t!==void 0)return t;switch(e._tag){case"InvalidType":return zc(xl(e.ast),e);case"InvalidValue":{let n=L_(e);if(n!==void 0)return zc(n,e);let r=Mh(e);return r===void 0?"Expected a valid value":`Invalid data ${r}`}case"MissingKey":return"Missing key";case"UnexpectedKey":{let n=Mh(e);return n===void 0?"Expected no excess property":`Unexpected key with value ${n}`}case"Forbidden":return"Forbidden operation";case"OneOf":{let n=Mh(e);return n===void 0?"Expected exactly one member to match":`Expected exactly one member to match the input ${n}`}}},F_=e=>Wc(e)??Wc(e.issue);function $_(e){return t=>({issues:Il(t,[],e?.leafHook??N_,e?.checkHook??F_)})}function Mh(e){return iJ(e)?U(e.input):void 0}function L_(e){let t=e.annotations?.expected;return typeof t=="string"?t:void 0}function zc(e,t){let n=Mh(t);return n===void 0?`Expected ${e}`:`Expected ${e}, got ${n}`}function q_(e,t){let n=t(e);if(n!==void 0||e.issue._tag!=="InvalidValue")return n;let r=L_(e.issue);return r===void 0?zc(B_(e.filter),e):zc(r,e.issue)}function Il(e,t,n,r,o){switch(e._tag){case"Filter":return Il(e.issue,t,n,r,o??q_(e,r));case"Encoding":return Il(e.issue,t,n,r,o);case"Pointer":return Il(e.issue,[...t,...e.path],n,r,o);case"Composite":case"AnyOf":return e._tag==="Composite"||e.issues.length>0?e.issues.flatMap(s=>Il(s,t,n,r,o)):[{path:t,message:o??Wc(e)??zc(xl(e.ast),e)}];default:return[{path:t,message:o??n(e)}]}}function B_(e){let t=e.annotations?.expected;if(typeof t=="string")return t;switch(e._tag){case"Filter":return"<filter>";case"FilterGroup":return e.checks.map(n=>B_(n)).join(" & ")}}function aJ(){return e=>vl(e,"")}var j_=aJ();function vl(e,t,n){let r;switch(e._tag){case"Filter":return vl(e.issue,t,n??q_(e,F_));case"Encoding":return vl(e.issue,t,n);case"Pointer":return vl(e.issue,t+yf(e.path),n);case"Composite":case"AnyOf":{if(e._tag==="Composite"||e.issues.length>0)return e.issues.map(o=>vl(o,t,n)).join(`
|
|
24
|
-
`);r=n??Wc(e)??zc(
|
|
25
|
-
at ${t}`:r}function Wc(e){if(e._tag==="Pointer"||e._tag==="Composite")return;if(e._tag==="Encoding")return Wc(e.issue);let n=(e._tag==="Filter"?e.filter.annotations:"annotations"in e?e.annotations:e.ast.annotations)?.[e._tag==="MissingKey"?"messageMissingKey":e._tag==="UnexpectedKey"?"messageUnexpectedKey":"message"];if(typeof n=="string")return n}function Tl(e){let t;for(let n of e.reasons){if(!Nm(n)||!X0(n.error))return;t??=n.error}return t}function Dn(e,t){let n=Tl(e);if(n===void 0)throw new Error(t,{cause:e});return n}var fn={};Ae(fn,{BigInt:()=>cI,Boolean:()=>gJ,Date:()=>$h,Number:()=>Cl,String:()=>Ks,camelToSnake:()=>fI,capitalize:()=>uI,checkEffect:()=>hJ,collectBracketPathEntries:()=>MI,compose:()=>Rl,dateTimeUtcFromInput:()=>xJ,decodeBase64:()=>bI,decodeBase64String:()=>II,decodeBase64Url:()=>vI,decodeBase64UrlString:()=>wI,decodeFormData:()=>RI,decodeHex:()=>kI,decodeHexString:()=>EI,decodeURLSearchParams:()=>CI,decodeUriComponent:()=>AI,encodeBase64:()=>Lh,encodeBase64Url:()=>Dl,encodeFormData:()=>OI,encodeHex:()=>Pl,encodeURLSearchParams:()=>DI,encodeUriComponent:()=>TI,fail:()=>z_,forbidden:()=>pa,forbiddenEncoding:()=>iI,joinKeyValue:()=>SI,makeTreeRecord:()=>PI,map:()=>uJ,omit:()=>Nh,parseJson:()=>gI,passthrough:()=>xn,passthroughSubtype:()=>fJ,passthroughSupertype:()=>pJ,required:()=>mJ,run:()=>dJ,snakeToCamel:()=>pI,split:()=>yJ,splitKeyValue:()=>xI,stringifyJson:()=>yI,succeed:()=>lJ,toLowerCase:()=>mI,toUpperCase:()=>hI,transform:()=>K,transformEffect:()=>yt,transformOptional:()=>Vr,transformOptionalEffect:()=>Ol,trim:()=>dI,uncapitalize:()=>lI,withDefault:()=>Fh});var Kc={};Ae(Kc,{decode:()=>_h,decodeString:()=>oI,encode:()=>nI,encodePadded:()=>rI});var nI=e=>oa(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),rI=e=>oa(e).replace(/\+/g,"-").replace(/\//g,"_"),_h=e=>{let t=e.replace(/[\n\r]/g,""),n=t.length;if(n%4===1)return J(new ur({module:"Base64Url",kind:"Decode",input:t,message:`Length should be a multiple of 4, but is ${n}`}));if(!/^[-_A-Z0-9]*?={0,2}$/i.test(t))return J(new ur({module:"Base64Url",kind:"Decode",input:t,message:"Invalid input"}));let r=n%4===2?`${t}==`:n%4===3?`${t}=`:t;return r=r.replace(/-/g,"+").replace(/_/g,"/"),sa(r)},oI=e=>bt(_h(e),t=>cJ.decode(t)),cJ=new TextDecoder;var sI=(e,t,n)=>{switch(e._tag){case"Passthrough":return C(t);case"Transform":return C(Vt(t,e.transform));case"TransformOptional":return C(e.transform(t));case"TransformEffect":return ae(t)?Qu:ta(e.transform(t.value,n),F);case"TransformOptionalEffect":return e.transform(t,n)}},dJ=h(3,sI),Al=e=>Object.assign(Object.create(Yy),e),Uh=(e,t)=>Ol((n,r)=>Ft(sI(e,n,r),o=>sI(t,o,r))),Rl=h(2,(e,t)=>{if(e._tag==="Passthrough")return t;if(t._tag==="Passthrough")return e;switch(e._tag){case"Transform":switch(t._tag){case"Transform":return K(n=>t.transform(e.transform(n)));case"TransformOptional":return Vr(n=>t.transform(Vt(n,e.transform)));case"TransformEffect":return yt((n,r)=>t.transform(e.transform(n),r));case"TransformOptionalEffect":return Uh(e,t)}case"TransformOptional":switch(t._tag){case"Transform":return Vr(n=>Vt(e.transform(n),t.transform));case"TransformOptional":return Vr(n=>t.transform(e.transform(n)));case"TransformEffect":case"TransformOptionalEffect":return Uh(e,t)}case"TransformEffect":switch(t._tag){case"Transform":return yt((n,r)=>ta(e.transform(n,r),t.transform));case"TransformOptional":case"TransformOptionalEffect":return Uh(e,t);case"TransformEffect":return yt((n,r)=>Ft(e.transform(n,r),o=>t.transform(o,r)))}case"TransformOptionalEffect":return Uh(e,t)}}),uJ=h(2,(e,t)=>Rl(e,K(t)));function lJ(e){return Vr(()=>F(e))}function z_(e){return Ol((t,n)=>P(e(t,n)))}function pa(e){return z_((t,n)=>{let r={message:e(t)};return st(t)?new kl(r,t.value,n):new kl(r)})}var iI=pa(()=>"Encoding is not supported"),aI=Al({_tag:"Passthrough"});function xn(){return aI}function pJ(){return aI}function fJ(){return aI}function mJ(e){return Ol(t=>ae(t)?P(new rs(e)):C(t))}function hJ(e){return yt((t,n)=>e(t,n).pipe(Ft(r=>{let o=tI(r,t,n);return o?P(o):C(t)})))}function K(e){return Al({_tag:"Transform",transform:e})}function yt(e){return Al({_tag:"TransformEffect",transform:e})}function Vr(e){return Al({_tag:"TransformOptional",transform:e})}function Ol(e){return Al({_tag:"TransformOptionalEffect",transform:e})}function Nh(){return Vr(()=>N())}function Fh(e){return Ol(t=>{let n=Oi(t,Ss);return st(n)?C(n):ta(e,F)})}function Ks(){return K(globalThis.String)}function Cl(){return K(globalThis.Number)}function gJ(){return K(globalThis.Boolean)}function cI(){return yt((e,t)=>{try{return C(globalThis.BigInt(e))}catch{return P(new Z({expected:"a value that can be converted to a bigint"},e,t))}})}function $h(){return K(e=>new globalThis.Date(e))}function dI(){return K(vP)}function uI(){return K(bP)}function lI(){return K(IP)}function pI(){return K(wP)}function fI(){return K(kP)}function mI(){return K(Pb)}function hI(){return K(Db)}function gI(e){return yt((t,n)=>Nc({try:()=>JSON.parse(t,e?.reviver),catch:()=>new Z({expected:"a valid JSON string"},t,n)}))}function yI(e){return yt((t,n)=>Nc({try:()=>{let r=JSON.stringify(t,e?.replacer,e?.space);if(r===void 0)throw new TypeError("Value cannot be represented as JSON");return r},catch:()=>new Z({expected:"a JSON-serializable value"},t,n)}))}function xI(e){let t=e?.separator??",",n=e?.keyValueSeparator??"=";return K(r=>r.split(t).reduce((o,s)=>{if(n===""){let[u,l]=s.split("");return u&&l&&M(o,u,l),o}let i=s.indexOf(n);if(i<=0)return o;let c=s.slice(0,i),d=s.slice(i+n.length);return d&&M(o,c,d),o},{}))}function SI(e){let t=e?.separator??",",n=e?.keyValueSeparator??"=";return K(r=>Object.entries(r).map(([o,s])=>`${o}${n}${s}`).join(t))}function yJ(e){let t=e?.separator??",";return K(n=>n===""?[]:n.split(t))}function Lh(){return K(oa)}function Dl(e){return K(e?.padding?rI:nI)}function Pl(){return K(Yf)}function bI(){return yt((e,t)=>Fc(el(sa(e)),()=>new Z({expected:"a valid Base64 string"},e,t)))}function II(){return yt((e,t)=>Jt(LM(e),{onFailure:()=>P(new Z({expected:"a valid Base64 string"},e,t)),onSuccess:C}))}function vI(){return yt((e,t)=>Jt(_h(e),{onFailure:()=>P(new Z({expected:"a valid Base64Url string"},e,t)),onSuccess:C}))}function wI(){return yt((e,t)=>Jt(oI(e),{onFailure:()=>P(new Z({expected:"a valid Base64Url string"},e,t)),onSuccess:C}))}function kI(){return yt((e,t)=>Jt(Wx(e),{onFailure:()=>P(new Z({expected:"a valid hexadecimal string"},e,t)),onSuccess:C}))}function EI(){return yt((e,t)=>Jt(tR(e),{onFailure:()=>P(new Z({expected:"a valid hexadecimal string"},e,t)),onSuccess:C}))}function TI(){return K(encodeURIComponent)}function AI(){return yt((e,t)=>{try{return C(globalThis.decodeURIComponent(e))}catch{return P(new Z({expected:"a valid URI component"},e,t))}})}function xJ(){return yt((e,t)=>ut(qs(e),{onNone:()=>P(new Z({message:"Invalid DateTime input"},e,t)),onSome:n=>C(Bs(n))}))}function RI(){return K(e=>PI(Array.from(e.entries())))}var SJ=MI(e=>typeof e=="string"||typeof Blob<"u"&&e instanceof Blob);function OI(){return K(e=>{let t=new FormData;return typeof e=="object"&&e!==null&&SJ(e).forEach(([r,o])=>{t.append(r,o)}),t})}function CI(){return K(e=>PI(Array.from(e.entries())))}var bJ=MI(Ar);function DI(){return K(e=>typeof e=="object"&&e!==null?new URLSearchParams(bJ(e)):new URLSearchParams)}function IJ(e){if(e==="")return[""];let t=e.replace(/\[(.*?)\]/g,".$1"),n=t.split("."),r=t.startsWith(".")?1:0;return n.slice(r).map(o=>jf(o)?globalThis.Number(o):o)}var vJ=20;function PI(e){let t={},n=new WeakSet,r=new WeakSet,o=new Map;e.forEach(([s,i])=>{let c=IJ(s),d=t;for(let u=0;u<c.length;u++){let l=o.get(d),p=c[u]===""&&l!==void 0?l.length:c[u];l!==void 0&&typeof p=="number"&&(l.length=Math.max(l.length,p+1));let f=Object.hasOwn(d,p),g=f?d[p]:void 0;if(u===c.length-1){let b=o.get(g);if(b!==void 0)M(g,b.length++,i);else if(r.has(g))g.push(i);else if(f){let y=[g,i];r.add(y),M(d,p,y)}else M(d,p,i)}else{let b=c[u+1],y=typeof b=="number"||b==="";if(n.has(g)&&o.has(g)===y)d=g;else{let S={};n.add(S),y&&o.set(S,{parent:d,key:p,length:0}),M(d,p,S),d=S}}}});for(let[s,{key:i,length:c,parent:d}]of Array.from(o).reverse())d[i]===s&&c-Object.keys(s).length<=vJ&&M(d,i,Object.assign(new Array(c),s));return t}function MI(e){return t=>{let n=[];function r(o,s){if(e(s))n.push([o,s]);else if(Array.isArray(s))s.every(e)?s.forEach(c=>{n.push([o,c])}):s.forEach((c,d)=>{r(`${o}[${d}]`,c)});else if(typeof s=="object"&&s!==null)for(let[i,c]of Object.entries(s))r(`${o}[${i}]`,c)}for(let[o,s]of Object.entries(t))r(o,s);return n}}var Jr={};Ae(Jr,{Middleware:()=>_l,Transformation:()=>ve,bigDecimalFromString:()=>$J,bigintFromString:()=>Fl,byteSizeFromBigInt:()=>FI,byteSizeFromNumber:()=>$I,byteSizeFromString:()=>Bh,capitalize:()=>AJ,composeTransformation:()=>wJ,dateFromMillis:()=>NI,dateFromString:()=>qh,dateTimeUtcFromString:()=>jJ,dateTimeZonedFromString:()=>HJ,defectFromJson:()=>qI,durationFromMillis:()=>_J,durationFromNanos:()=>MJ,durationFromString:()=>PJ,errorFromJsonError:()=>LI,fromFormData:()=>QI,fromJsonString:()=>ZI,fromURLSearchParams:()=>YI,isTransformation:()=>W_,makeTransformation:()=>Ul,numberFromString:()=>ma,optionFromNullOr:()=>BI,optionFromNullishOr:()=>HI,optionFromOptional:()=>WI,optionFromOptionalKey:()=>zI,optionFromUndefinedOr:()=>jI,passthrough:()=>fa,passthroughSubtype:()=>DJ,passthroughSupertype:()=>CJ,snakeToCamel:()=>kJ,splitKeyValue:()=>OJ,stringFromBase64String:()=>KI,stringFromBase64UrlString:()=>GI,stringFromHexString:()=>VI,stringFromUriComponent:()=>JI,timeZoneFromString:()=>BJ,timeZoneNamedFromString:()=>qJ,timeZoneOffsetFromNumber:()=>LJ,toLowerCase:()=>EJ,toUpperCase:()=>TJ,transform:()=>De,transformEffect:()=>Ge,transformOptional:()=>Nl,trim:()=>_I,uint8ArrayFromBase64String:()=>Hh,uncapitalize:()=>RJ,urlFromString:()=>jh});var _l=class extends xs{_tag="Middleware";decode;encode;constructor(e,t){super(),this.decode=e,this.encode=t}flip(){return new _l(this.encode,this.decode)}},Ml="~effect/SchemaTransformation/Transformation",ve=class extends xs{[Ml]=Ml;_tag="Transformation";decode;encode;constructor(e,t){super(),this.decode=e,this.encode=t}flip(){return new ve(this.encode,this.decode)}},wJ=h(2,(e,t)=>new ve(Rl(e.decode,t.decode),Rl(t.encode,e.encode)));function W_(e){return O(e,Ml)&&e[Ml]===Ml}var Ul=e=>W_(e)?e:new ve(e.decode,e.encode);function Ge(e){return new ve(yt(e.decode),yt(e.encode))}function De(e){return new ve(K(e.decode),K(e.encode))}function Nl(e){return new ve(Vr(e.decode),Vr(e.encode))}function _I(){return new ve(dI(),xn())}function kJ(){return new ve(pI(),fI())}function EJ(){return new ve(mI(),xn())}function TJ(){return new ve(hI(),xn())}function AJ(){return new ve(uI(),xn())}function RJ(){return new ve(lI(),xn())}function OJ(e){return new ve(xI(e),SI(e))}var UI=new ve(xn(),xn());function fa(){return UI}function CJ(){return UI}function DJ(){return UI}var ma=new ve(Cl(),Ks()),Fl=new ve(cI(),Ks()),qh=new ve($h(),K(cx)),NI=new ve($h(),K(e=>e.getTime())),PJ=Ge({decode:(e,t)=>ut(Vf(e),{onNone:()=>P(new Z({expected:"a valid Duration string"},e,t)),onSome:C}),encode:e=>C(String(e))}),MJ=Ge({decode:e=>C(En(e)),encode:(e,t)=>ut(Zf(e),{onNone:()=>P(new Z({expected:"a Duration representable as a bigint"},e,t)),onSome:n=>C(n)})}),_J=De({decode:e=>go(e),encode:e=>cr(e)}),Bh=Ge({decode:(e,t)=>ut(TM(e),{onNone:()=>P(new Z({expected:"a valid ByteSize string"},e,t)),onSome:C}),encode:e=>C(`${e} ${e===BigInt(1)?"byte":"bytes"}`)}),FI=Ge({decode:(e,t)=>ut(s0(e),{onNone:()=>P(new Z({expected:"a non-negative bigint byte count"},e,t)),onSome:C}),encode:e=>C(mh(e))}),$I=Ge({decode:(e,t)=>ut(s0(e),{onNone:()=>P(new Z({expected:"a non-negative safe-integer byte count"},e,t)),onSome:C}),encode:(e,t)=>ut(CM(e),{onNone:()=>P(new Z({expected:"a ByteSize representable as a safe integer"},e,t)),onSome:C})}),UJ=e=>Ln(e)&&typeof e.message=="string",K_=e=>{let n=Object.hasOwn(e,"cause")?new Error(e.message,{cause:V_(e.cause)}):new Error(e.message);return typeof e.name=="string"&&e.name!=="Error"&&(n.name=e.name),typeof e.stack=="string"&&(n.stack=e.stack),n},NJ=e=>{try{let t=yi(e);return t===void 0?U(e):JSON.parse(t)}catch{return U(e)}},FJ=(e,t,n)=>{let r={name:e.name,message:typeof e.message=="string"?e.message:""};return t?.includeStack&&typeof e.stack=="string"&&(r.stack=e.stack),!t?.excludeCause&&e.cause!==void 0&&(r.cause=n(e.cause)),r},G_=e=>{let t=new WeakSet,n=r=>{if(kT(r)){if(t.has(r))return"[Circular]";t.add(r);let o=FJ(r,e,n);return t.delete(r),o}return NJ(r)};return n},V_=e=>UJ(e)?K_(e):e,LI=e=>De({decode:K_,encode:t=>G_(e)(t)}),qI=e=>De({decode:V_,encode:G_(e)});function BI(){return De({decode:Ex,encode:Df})}function jI(){return De({decode:kx,encode:ho})}function HI(e){return De({decode:mu,encode:e?.onNoneEncoding===null?Df:ho})}function zI(){return Nl({decode:F,encode:Ri})}function WI(){return Nl({decode:e=>e.pipe(Oi(Ss),F),encode:Ri})}var jh=Ge({decode:(e,t)=>URL.canParse(e)?C(new URL(e)):P(new Z({expected:"a valid URL string"},e,t)),encode:e=>C(e.href)}),$J=Ge({decode:(e,t)=>{let n=fh(e);return ae(n)?P(new Z({expected:"a valid BigDecimal string"},e,t)):C(n.value)},encode:e=>C(Wr(e))}),Hh=new ve(bI(),Lh()),KI=new ve(II(),Lh()),GI=new ve(wI(),Dl()),VI=new ve(EI(),Pl()),JI=new ve(AI(),TI());function ZI(e){return new ve(gI(e??{}),yI(e))}var QI=new ve(RI(),OI()),YI=new ve(CI(),DI()),LJ=De({decode:e=>ra(e),encode:e=>e.offset}),qJ=Ge({decode:(e,t)=>ut(ol(e),{onNone:()=>P(new Z({expected:"a valid IANA time zone"},e,t)),onSome:C}),encode:e=>C(e.id)}),BJ=Ge({decode:(e,t)=>ut(sl(e),{onNone:()=>P(new Z({expected:"a valid time zone"},e,t)),onSome:C}),encode:e=>C(js(e))}),jJ=Ge({decode:(e,t)=>ut(qs(e),{onNone:()=>P(new Z({expected:"a valid UTC DateTime string"},e,t)),onSome:n=>C(Bs(n))}),encode:e=>C(al(e))}),HJ=Ge({decode:(e,t)=>ut(rl(e),{onNone:()=>P(new Z({expected:"a valid Zoned DateTime string"},e,t)),onSome:C}),encode:e=>C(Bc(e))});function Vs(e){return t=>t._tag===e}var Qc=Vs("Declaration");var zJ=Vs("Never");var Vc=Vs("Literal"),ev=Vs("UniqueSymbol");var Gh=Vs("Arrays"),cv=Vs("Objects"),Vh=Vs("Union"),$l=Vs("Suspend"),xt=class{to;transformation;constructor(e,t){this.to=e,this.transformation=t}},ko={},wo=class{isOptional;isMutable;constructorDefault;annotations;constructor(e,t,n=void 0,r=void 0){this.isOptional=e,this.isMutable=t,this.constructorDefault=n,this.annotations=r}},J_="~effect/Schema",vt=class{[J_]=J_;annotations;checks;encoding;context;constructor(t=void 0,n=void 0,r=void 0,o=void 0){this.annotations=t,this.checks=n,this.encoding=r,this.context=o}toString(){return`<${this._tag}>`}},Yc=class extends vt{_tag="Declaration";typeParameters;run;encodingChecks;encodingRun;constructor(e,t,n,r,o,s,i,c){super(n,r,o,s),this.typeParameters=e,this.run=t,this.encodingChecks=i,this.encodingRun=c}getParser(){let e;return(t,n)=>{if(t===me)return On;e??=this.run(this.typeParameters);try{return e(t,this,n)}catch(r){return Hr(r)}}}_rebuild(e,t,n,r,o){let s=ga(this.typeParameters,e);return s===this.typeParameters&&t===this.checks&&n===this.encodingChecks&&r===this.run&&o===this.encodingRun?this:new Yc(s,r,this.annotations,t,void 0,this.context,n,o)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks,this.run,this.encodingRun)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks,this.encodingRun??this.run,this.run)}getExpected(){let e=this.annotations?.expected;return typeof e=="string"?e:"<Declaration>"}},WJ=class extends vt{_tag="Null";getParser(){return ng(this,null)}getExpected(){return"null"}},Ll=new WJ;var KJ=class extends vt{_tag="Undefined";getParser(){return ng(this,void 0)}toCodecJson(){return Ye(this,[rU])}getExpected(){return"undefined"}},rU=new xt(Ll,new ve(K(()=>{}),K(()=>null))),dv=new KJ;var GJ=class extends vt{_tag="Void";getParser(){let e=en(void 0);return t=>t===me?On:e}toCodecJson(){return Ye(this,[rU])}getExpected(){return"void"}},oU=new GJ;var VJ=class extends vt{_tag="Never";getParser(){return Yr(this,wT)}getExpected(){return"never"}},Xc=new VJ,JJ=class extends vt{_tag="Any";getParser(){return Yr(this,ex)}getExpected(){return"any"}},sU=new JJ,ZJ=class extends vt{_tag="Unknown";getParser(){return Yr(this,ex)}getExpected(){return"unknown"}},os=new ZJ,QJ=class extends vt{_tag="ObjectKeyword";getParser(){return Yr(this,eu)}getExpected(){return"object | array | function"}},iU=new QJ,aU=class extends vt{_tag="Enum";enums;constructor(e,t,n,r,o){super(t,n,r,o);for(let[,s]of e)if(typeof s=="number"&&!globalThis.Number.isFinite(s))throw new Error(`A numeric enum value must be finite, got ${U(s)}`);this.enums=e}getParser(){let e=new Set(this.enums.map(([,t])=>t));return Yr(this,t=>e.has(t))}toCodecStringTree(){if(this.enums.some(([e,t])=>typeof t=="number")){let e=Object.fromEntries(this.enums.map(([t,n])=>[globalThis.String(n),n]));return Ye(this,[new xt(new Sn(Object.keys(e).map(t=>new Zn(t))),new ve(K(t=>e[t]),Ks()))])}return this}getExpected(){return this.enums.map(([e,t])=>JSON.stringify(t)).join(" | ")}};function XI(e){return typeof e=="number"?`parts[${e}]`:e}function tv(e,t,n){if(n.has(e))return!0;if(e.encoding)throw new Error(`TemplateLiteral parts cannot have an encoding at ${XI(t)}`);let r;switch(e._tag){case"String":case"Number":case"BigInt":r=!0;break;case"Literal":r=!e.checks;break;case"TemplateLiteral":{let o=XI(t);r=!e.checks&&e.parts.every((s,i)=>tv(s,`${o}.parts[${i}]`,n));break}case"Union":{let o=XI(t);r=!e.checks&&e.types.every((s,i)=>tv(s,`${o}.types[${i}]`,n));break}default:return!1}return r&&n.add(e),r}var uv=class extends vt{_tag="TemplateLiteral";parts;encodedParts;literals;suffixLengths;constructor(e,t,n,r,o){super(t,n,r,o);let s=[],i=[],c=new Set;for(let u=0;u<e.length;u++){let l=e[u];if(!tv(l,u,c))throw new Error(`Invalid TemplateLiteral part ${l._tag}`);s.push(l),i.push(l._tag==="Literal"?globalThis.String(l.literal):void 0)}let d=new Array(s.length+1);d[s.length]=0;for(let u=s.length-1;u>=0;u--)d[u]=d[u+1]+(i[u]?.length??0);this.parts=e,this.encodedParts=s,this.literals=i,this.suffixLengths=d}getParser(e){let t=new Yn(!1,this.parts.map(Ev),[]),n=e(xa(Pn,t,dU(this)));return(r,o)=>{if(r===me)return On;let s=n(r,o);return s._tag==="Success"?Qe:Yt(s,{onSuccess:()=>r,onFailure:i=>new _t(this,[i],r,o)})}}getExpected(){return"string"}matchPart(e,t){return PU(this,e,t)===void 0?void 0:e}};function cU(e){let t=Tr(o=>{if(o._tag!=="Union")return o;let s=ga(o.types,t);return(o.options?.mode??"anyOf")==="anyOf"&&s===o.types?o:new Sn(s,o.options===void 0?void 0:{...o.options,mode:"anyOf"},o.annotations,o.checks,void 0,o.context)}),n=new uv(e.map(o=>t(Qr(o)))),r=new Yn(!1,e.map(Ev),[]);return xa(n,r,dU(n))}function dU(e){return new ve(yt((t,n)=>{let r=PU(e,t,n);return r?C(r):P(new Z({expected:"a string matching template literal parts"},t,n))}),K(t=>t.join("")))}var uU=class extends vt{_tag="UniqueSymbol";symbol;constructor(e,t,n,r,o){super(t,n,r,o),this.symbol=e}getParser(){return ng(this,this.symbol)}toCodecStringTree(){let e=globalThis.Symbol.keyFor(this.symbol);return Ye(this,[new xt(e===void 0?Xc:new Zn(globalThis.String(this.symbol)),UU.transformation)])}getExpected(){return globalThis.String(this.symbol)}},Zn=class extends vt{_tag="Literal";literal;constructor(e,t,n,r,o){if(super(t,n,r,o),typeof e=="number"&&!globalThis.Number.isFinite(e))throw new Error(`A numeric literal must be finite, got ${U(e)}`);this.literal=e}getParser(){return ng(this,this.literal)}matchPart(e,t){return e===globalThis.String(this.literal)?this.literal:void 0}toCodecJson(){return typeof this.literal=="bigint"?Z_(this):this}toCodecStringTree(){return typeof this.literal=="string"?this:Z_(this)}getExpected(){return typeof this.literal=="string"?JSON.stringify(this.literal):globalThis.String(this.literal)}};function Z_(e){let t=globalThis.String(e.literal);return Ye(e,[new xt(new Zn(t),new ve(K(()=>e.literal),K(()=>t)))])}var YJ=class extends vt{_tag="String";getParser(){return Yr(this,Ar)}matchPart(e,t){let n=this.checks;return n&&!t.disableChecks&&Xr(n,e,void 0,this,t)?void 0:e}getExpected(){return"string"}},Pn=new YJ,XJ=class extends vt{_tag="Number";getParser(){return Yr(this,Xd)}matchKey(e,t){return this._match(y8,e,t)}matchPart(e,t){return this._match(sv,e,t)}_match(e,t,n){if(!e.test(t))return;let r=globalThis.Number(t);return n.disableChecks||!this.checks?r:Xr(this.checks,r,void 0,this,n)?void 0:r}toCodecJson(){return this.checks&&(nv(this.checks,"effect/schema/isFinite")||nv(this.checks,"effect/schema/isInt"))?this:Ye(this,[u8])}toCodecStringTree(){return this.toCodecJson()===this?Ye(this,[x8]):Ye(this,[S8])}getExpected(){return"number"}};function nv(e,t){return e.some(n=>n.annotations?.representation?.id===t||n._tag==="FilterGroup"&&nv(n.checks,t))}var lv=new XJ,e8=class extends vt{_tag="Boolean";getParser(){return Yr(this,pf)}getExpected(){return"boolean"}},lU=new e8,t8=class extends vt{_tag="Symbol";getParser(){return Yr(this,Xy)}matchKey(e,t){return t.disableChecks||!this.checks?e:Xr(this.checks,e,void 0,this,t)?void 0:e}toCodecStringTree(){return Ye(this,[UU])}getExpected(){return"symbol"}},pU=new t8,n8=class extends vt{_tag="BigInt";getParser(){return Yr(this,IT)}matchPart(e,t){if(!iv.test(e))return;let n=globalThis.BigInt(e);return t.disableChecks||!this.checks?n:Xr(this.checks,n,void 0,this,t)?void 0:n}toCodecStringTree(){return Ye(this,[I8])}getExpected(){return"bigint"}},fU=new n8,Yn=class extends vt{_tag="Arrays";isMutable;elements;rest;encodingChecks;constructor(e,t,n,r,o,s,i,c){super(r,o,s,i),this.isMutable=e,this.elements=t,this.rest=n,this.encodingChecks=c;let d=!1;for(let u=0;u<t.length;u++)if(Bt(t[u]))d=!0;else if(d)throw new Error("A required element cannot follow an optional element. ts(1257)");if(d&&n.length>1)throw new Error("A required element cannot follow an optional element. ts(1257)");for(let u=1;u<n.length;u++)if(Bt(n[u]))throw new Error("An optional element cannot follow a rest element. ts(1266)")}getParser(e,t=e){let n=this,r,o,s=n.elements.length,i=Math.max(0,n.rest.length-1);function c(l,p){return p<s?r[p]:p>=l?o[p-l+1]:o[0]}let d=l=>{let{input:p,len:f,options:g}=l;if(n.rest.length===0&&f>s)for(let b=s;b<f;b++){let y=new eI(n,p[b],g),S=new Mt([b],y);if(g.errors==="all")l.issues?l.issues.push(S):l.issues=[S];else return P(new _t(n,[S],p,g))}return l.issues?P(new _t(n,l.issues,p,g)):en(l.output)},u=(l,p)=>{let f=l.length,g={ast:n,getParser:c,input:l,len:f,tailThreshold:Math.max(s,f-i),output:[],issues:void 0,options:p},b=n.rest.length===0?s:Math.max(f,s+i),y=p.concurrency===void 0?1:Fu(p.concurrency),S=y===1?o8(g,l,0,b):s8(g,l,{concurrency:y,end:b});if(!S)return d(g);if(Be(S))return Ft(S,()=>d(g));let v=!0;return Yu(()=>v?(v=!1,pn(S,()=>d(g))):u(l,p))};return(l,p)=>{if(l===me)return On;try{return Array.isArray(l)?(r||(r=n.elements.map(f=>({ast:f,parser:t(f)})),o=n.rest.map(f=>({ast:f,parser:t(f)}))),u(l,p)):P(new It(n,l,p))}catch(f){return Hr(f)}}}_rebuild(e,t,n){let r=ga(this.elements,e),o=ga(this.rest,e);return r===this.elements&&o===this.rest&&t===this.checks&&n===this.encodingChecks?this:new Yn(this.isMutable,r,o,this.annotations,t,void 0,this.context,n)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks)}getExpected(){return"array"}};function r8(e,t,n,r){if(n._tag==="Failure")return Wh(e,e.ast,r,n);let o=n===Qe?t:n[ue];if(o!==me)e.output[r]=o;else{let s=e.getParser(e.tailThreshold,r);if(Bt(s.ast))return;let i=new Mt([r],new rs(s.ast.context?.annotations));if(e.options.errors==="all")e.issues?e.issues.push(i):e.issues=[i];else return Oc(new _t(e.ast,[i],e.input,e.options))}}var mU={onItem(e,t,n){let r=n<e.len?t:me;return e.getParser(e.tailThreshold,n).parser(r,e.options)},step:r8},o8=Dm()(mU),s8=Pm()(mU),Wh=(e,t,n,r)=>{if(r.cause.reasons.length===0)return r;let o=Tl(r.cause);if(o===void 0)return Wi(Us(r.cause,i=>new _t(t,[new Mt([n],i)],e.input,e.options)));let s=new Mt([n],o);if(e.options.errors==="all")e.issues?e.issues.push(s):e.issues=[s];else return Oc(new _t(t,[s],e.input,e.options))},ed="[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?";function Gs(e,t,n=ko){let r,o;function s(i){switch(i._tag){case"String":case"TemplateLiteral":return(r??=Object.keys(e)).filter(c=>i.matchPart(c,n)!==void 0);case"Number":return(r??=Object.keys(e)).filter(c=>i.matchKey(c,n)!==void 0);case"Symbol":return(o??=Object.getOwnPropertySymbols(e)).filter(c=>Object.prototype.propertyIsEnumerable.call(e,c)&&i.matchKey(c,n)!==void 0);case"Union":return[...new Set(i.types.flatMap(s))];default:return[]}}return s(kv(Qr(t)))}var pv=class{name;type;constructor(e,t){this.name=e,this.type=t}};function hU(e){switch(e._tag){case"String":case"Number":case"Symbol":case"TemplateLiteral":return!0;case"Union":return e.types.every(hU);default:return!1}}function gU(e){let t=Zs(e);switch(t._tag){case"String":case"Number":case"Symbol":case"TemplateLiteral":return!0;case"Union":return t.types.every(gU);default:return!1}}function i8(e){return hU(e)&&gU(e)}var fv=class{parameter;type;constructor(e,t){if(!i8(e))throw new Error(`Invalid index signature parameter ${e._tag}`);if(this.parameter=e,this.type=t,Bt(t)&&!DU(t))throw new Error("Cannot use `Schema.optionalKey` with index signatures, use `Schema.optional` instead.")}},ql=class extends vt{_tag="Objects";propertySignatures;indexSignatures;encodingChecks;constructor(e,t,n,r,o,s,i){super(n,r,o,s),this.propertySignatures=e,this.indexSignatures=t,this.encodingChecks=i}getParser(e,t=e){let n=this,r=n.propertySignatures.length,o=n.indexSignatures.length;if(!r&&!o)return Yr(n,mf);let s,i,c=()=>(s||(s=n.propertySignatures.map(p=>({parser:t(p.type),name:p.name,type:p.type})),i=o?n.indexSignatures.map(p=>({is:p,parserKey:e(kv(p.parameter)),parserValue:t(p.type)})):void 0),s),d=()=>{let p=new Set(n.propertySignatures.map(S=>typeof S.name=="number"?globalThis.String(S.name):S.name)),f=(S,v,I,R,A)=>{if(A._tag==="Failure")return Wh(S,n,v,A)??Cc;let k=A===Qe?R:A[ue];if(I!==me&&k!==me){if(r&&(p.has(v)||p.has(typeof I=="number"?globalThis.String(I):I)))return Cc;M(S.out,I,k)}return Cc},g=(S,v,I,R)=>{if(!R){let w=I.parserKey(v,S.options);if(!Be(w))return pn(ea(w),E=>g(S,v,I,E));R=w}if(R._tag==="Failure")return Wh(S,n,v,R)??Cc;let A=R===Qe?v:R[ue],k=S.input[v],x=I.parserValue(k,S.options);return Be(x)?f(S,v,A,k,x):pn(ea(x),w=>f(S,v,A,k,w))},b=(S,v,I)=>{let R=S.input[v],A=I.parserValue(R,S.options);return Be(A)?f(S,v,v,R,A):pn(ea(A),k=>f(S,v,v,R,k))},y=o?Pm()({onItem:(S,[v,I])=>I.is.parameter===Pn?b(S,v,I):g(S,v,I),step:(S,v,I)=>I._tag==="Failure"?I:void 0}):void 0;return Qb(function*(S,v){if(S===me)return me;if(!(typeof S=="object"&&S!==null&&!Array.isArray(S)))return yield*P(new It(n,S,v));c();let I=S,R={},A={ast:n,input:I,out:R,issues:void 0,options:v},k=v.errors==="all",x=v.onExcessProperty==="error",w=v.concurrency===void 0?1:Fu(v.concurrency),E=o&&x?n.indexSignatures.map(T=>Gs(I,T.parameter,v)):void 0;if(x){let T=E?new Set(p):p;if(E)for(let B of E)for(let de of B)T.add(de);let _=Reflect.ownKeys(I);for(let B=0;B<_.length;B++){let de=_[B];if(!T.has(de)&&Object.prototype.propertyIsEnumerable.call(I,de)){let Se=new eI(n,I[de],v),D=new Mt([de],Se);if(k){A.issues?A.issues.push(D):A.issues=[D];continue}else return yield*P(new _t(n,[D],S,v))}}}if(r){let T=w===1?Q_(A,s):a8(A,s,{concurrency:w});T&&(yield*T)}if(o&&w===1)for(let T=0;T<o;T++){let _=i[T],B=_.is.parameter===Pn?b:g,de=E?.[T]??(_.is.parameter===Pn?Object.keys(I):Gs(I,_.is.parameter,v));for(let Se=0;Se<de.length;Se++){let D=B(A,de[Se],_);if(!Be(D))yield*D;else if(D._tag==="Failure")return yield*D}}else if(y){let T=Hf();for(let B=0;B<o;B++){let de=i[B],Se=E?.[B]??(de.is.parameter===Pn?Object.keys(I):Gs(I,de.is.parameter,v));for(let D=0;D<Se.length;D++)T.push([Se[D],de])}let _=y(A,T,{concurrency:w});_&&(yield*_)}return A.issues?yield*P(new _t(n,A.issues,S,v)):R})};if(o)return d();let u,l=(p,f,g)=>{let b=s[f];return pn(ea(g),y=>{let S={...p,out:{...p.out}},v=rv(S,b,y);if(v)return v;let I=()=>en(S.out),R=Q_(S,s.slice(f+1));return R?Ft(R,I):I()})};return(p,f)=>{if(p===me)return On;if(f.errors==="all"||f.onExcessProperty!==void 0||f.concurrency!==void 0&&Fu(f.concurrency)!==1)return(u??=d())(p,f);if(!(typeof p=="object"&&p!==null&&!Array.isArray(p)))return P(new It(n,p,f));let g=c(),b=p,y={},S={ast:n,input:b,out:y,issues:void 0,options:f};try{for(let v=0;v<g.length;v++){let I=g[v],R=I.name,A=Gc(b,R),k=A?b[R]:me,x=I.parser(k,f);if(!Be(x))return l(S,v,x);if(x===Qe){A&&M(y,R,k);continue}let w=rv(S,I,x);if(w)return w}}catch(v){return Hr(v)}return en(y)}}_rebuild(e,t,n,r){let o=ga(this.propertySignatures,i=>{let c=e(i.type);return c===i.type?i:new pv(i.name,c)}),s=ga(this.indexSignatures,i=>{let c=t(i.parameter),d=e(i.type);return c===i.parameter&&d===i.type?i:new fv(c,d)});return o===this.propertySignatures&&s===this.indexSignatures&&n===this.checks&&r===this.encodingChecks?this:new ql(o,s,this.annotations,n,void 0,this.context,r)}flip(e){return this._rebuild(e,e,this.encodingChecks,this.checks)}recur(e,t=e){return this._rebuild(e,t,this.checks,this.encodingChecks)}getExpected(){return this.propertySignatures.length===0&&this.indexSignatures.length===0?"object | array":"object"}};function rv(e,t,n){if(n._tag==="Failure")return Wh(e,e.ast,t.name,n);if(n===Qe)return;let r=n[ue];if(r!==me){M(e.out,t.name,r);return}if(delete e.out[t.name],!Bt(t.type)){let o=new Mt([t.name],new rs(t.type.context?.annotations));if(e.options.errors==="all"){e.issues?e.issues.push(o):e.issues=[o];return}else return Oc(new _t(e.ast,[o],e.input,e.options))}}var yU={onItem(e,t){if(!Gc(e.input,t.name))return t.parser(me,e.options);let n=e.input[t.name];return M(e.out,t.name,n),t.parser(n,e.options)},step:rv},Q_=Dm()(yU),a8=Pm()(yU);function mv(e,t){return e?t?[...e,...t]:e:t}function Jh(e,t,n){return new ql(Reflect.ownKeys(e).map(r=>new pv(r,e[r].ast)),[],n,t)}function Bl(e){return e.ast}function hv(e,t=void 0){return new Yn(!1,e.map(n=>n.ast),[],void 0,t)}function Zh(e,t,n){return new Sn(e.map(Bl),t,void 0,n)}function xU(e,t){if(e.encoding||t.some(s=>s.encoding))throw new Error("StructWithRest does not support encodings");let n=e.propertySignatures,r=e.indexSignatures,o=e.checks;for(let s of t){for(let i of s.propertySignatures)if(n.some(c=>c.name===i.name))throw new Error(`Duplicate identifier: ${JSON.stringify(i.name)}. ts(2300)`);n=n.concat(s.propertySignatures),r=r.concat(s.indexSignatures),o=mv(o,s.checks)}return new ql(n,r,void 0,o)}function SU(e,t){if(e.encoding)throw new Error("TupleWithRest does not support encodings");return new Yn(e.isMutable,e.elements,t,void 0,e.checks)}function bU(e){if(e.encoding)throw new Error("mutable does not support encodings");return new Yn(!0,e.elements,e.rest,e.annotations,e.checks,void 0,e.context,e.encodingChecks)}var gv=Uo(e=>{for(;;){if($l(e))return os;let t=e.encoding;if(!t)return e.recur?.(gv,Q)??e;if(t.some(n=>n.transformation._tag==="Middleware"&&n.transformation.decode!==Q))return os;e=t[t.length-1].to}});function IU(e){switch(e._tag){case"Null":return["null"];case"Undefined":return["undefined"];case"String":case"TemplateLiteral":return["string"];case"Number":return["number"];case"Boolean":return["boolean"];case"Symbol":case"UniqueSymbol":return["symbol"];case"BigInt":return["bigint"];case"Arrays":return["array"];case"ObjectKeyword":return["object","array","function"];case"Objects":return e.propertySignatures.length||e.indexSignatures.length?["object"]:["string","number","boolean","symbol","bigint","object","array","function"];case"Enum":return Array.from(new Set(e.enums.map(([,t])=>typeof t)));case"Literal":return[typeof e.literal];case"Union":return Array.from(new Set(e.types.flatMap(IU)));default:return["null","undefined","string","number","boolean","symbol","bigint","object","array","function"]}}function Jc(e){switch(e._tag){default:return[];case"Declaration":{let t=e.annotations?.[yl];return Array.isArray(t)?t:[]}case"Objects":return e.propertySignatures.flatMap(t=>{let n=t.type;if(!Bt(n)){if(Vc(n))return[{key:t.name,literal:n.literal}];if(ev(n))return[{key:t.name,literal:n.symbol}]}return[]});case"Arrays":return e.elements.flatMap((t,n)=>{if(!Bt(t)){if(Vc(t))return[{key:n,literal:t.literal}];if(ev(t))return[{key:n,literal:t.symbol}]}return[]});case"Union":{if(e.types.length===0)return[];let t=e.types.map(n=>Jc(gv(n)));return t[0].filter(n=>t.every(r=>r.some(o=>o.key===n.key&&o.literal===n.literal)))}case"Suspend":return Jc(e.thunk())}}var Y_=new WeakMap,zh=Object.freeze([]),X_=e=>e===null?"null":Array.isArray(e)?"array":typeof e,Gc=(e,t)=>t==="__proto__"?Object.hasOwn(e,t):t in e;function jl(e){let t=Y_.get(e);if(t)return t;let n,r=0,o,s,i=!0,c=[];for(let l=0;l<e.length;l++){let p=e[l],f=gv(p);if(zJ(f))continue;if(Vc(f)||ev(f)){s??=new Map;let b=Vc(f)?f.literal:f.symbol;c[l]=b;let y=s.get(b);y||s.set(b,y=[]),y.push(l)}else i=!1;let g=Jc(f);if(g.length){n??=new Map,r++;for(let{key:b,literal:y}of g){let S=n.get(b);S||n.set(b,S=[new Map,new Set]),S[1].add(l);let v=S[0].get(y);v||S[0].set(y,v=new Set),v.add(l)}}else{o??={};let b=IU(f);for(let y of b)(o[y]??=[]).push(l)}}let d={},u=l=>d[l]??=Object.freeze(o?.[l]??zh);if(i&&s)s.forEach(Object.freeze),t=l=>s.get(l)??zh;else if(n?.size===1&&!o){let[l,[p]]=n.entries().next().value,f=new Map;for(let[b,y]of p)f.set(b,Object.freeze(Array.from(y)));let g=Object.freeze(e.map((b,y)=>y));t=(b,y)=>{if(eu(b)){let S=Gc(b,l)?b[l]:void 0;if(S!==void 0)return f.get(S)??zh;if(y)return g}return zh}}else if(n){let l;for(let p of n)(!l||p[1][0].size>l[1][0].size)&&p[1][1].size===r&&(l=p);t=(p,f)=>{let g=X_(p);if(!eu(p))return u(g);let b=new Set(o?.[g]),y;if(l){let[S,[v]]=l,I=Gc(p,S),R=I?p[S]:void 0;if(I&&(!f||R!==void 0)){let A=v.get(R);if(!A)return u(g);for(let k of A)b.add(k);y=S}}if(y===void 0)for(let[S,[v,I]]of n){let R=Gc(p,S),A=R?p[S]:void 0;if(R&&(!f||A!==void 0)){let k=v.get(A);if(k)for(let x of k)b.add(x)}else if(f)for(let k of I)b.add(k)}for(let[S,[v,I]]of n){if(S===y)continue;let R=Gc(p,S),A=R?p[S]:void 0;if(R&&(!f||A!==void 0)){let k=v.get(A);for(let x of b)I.has(x)&&!k?.has(x)&&b.delete(x)}}return Array.from(b).sort((S,v)=>S-v)}}else t=l=>{let p=u(X_(l));return s?p.filter(f=>c[f]===void 0||c[f]===l):p};return Y_.set(e,t),t}var Sn=class extends vt{_tag="Union";types;options;encodingChecks;constructor(e,t,n,r,o,s,i){super(n,r,o,s),this.types=e,this.options=t,this.encodingChecks=i}getParser(e,t){let n=this,r=t!==void 0,o=[],s=c=>o[c]??=e(n.types[c]),i;return(c,d)=>{if(c===me)return On;let u=(i??=jl(n.types))(c,r);if(u.length===0)return P(new El(n,[],c,d));if(u.length===1){let l=s(u[0])(c,d);return l._tag==="Success"?l:Be(l)?vU(n,l.cause,c,d):c8(n,l,c,d)}return wU(n,s,u,c,d)}}_rebuild(e,t,n){let r=ga(this.types,e);return r===this.types&&t===this.checks&&n===this.encodingChecks?this:new Sn(r,this.options,this.annotations,t,void 0,this.context,n)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks)}matchPart(e,t){for(let n of this.types){let r=n.matchPart(e,t);if(r!==void 0)return r}}getExpected(e){let t=this.annotations?.expected;if(typeof t=="string")return t;if(this.types.length===0)return"never";let n=this.types.map(r=>{let o=Qr(r);switch(o._tag){case"Arrays":{let s=o.elements.filter(Vc);if(s.length>0)return`${tU(o.isMutable)}[ ${s.map(i=>e(i)+nU(i.context?.isOptional)).join(", ")}, ... ]`;break}case"Objects":{let s=o.propertySignatures.filter(i=>Vc(i.type));if(s.length>0)return`{ ${s.map(i=>`${tU(i.type.context?.isMutable)}${uo(i.name)}${nU(i.type.context?.isOptional)}: ${e(i.type)}`).join(", ")}, ... }`;break}}return e(o)});return Array.from(new Set(n)).join(" | ")}};function vU(e,t,n,r){let o=Tl(t);return o?Oc(new El(e,[o],n,r)):Wi(t)}function c8(e,t,n,r){return $s(t,o=>vU(e,o,n,r))}function wU(e,t,n,r,o){let s={ast:e,parser:t,input:r,out:void 0,successes:e.options?.mode==="oneOf"?[]:void 0,issues:void 0,options:o},i=d8(s,n);if(!i)return s.out?s.out:P(new El(e,s.issues??[],r,o));if(Be(i))return eU(i,s);let c=!0;return Yu(()=>c?(c=!1,eU(i,s)):wU(e,t,n,r,o))}function eU(e,t){return Ft(e,n=>t.out===Qe?C(t.input):t.out?t.out:P(new El(t.ast,t.issues??[],t.input,t.options)))}var d8=Dm()({onItem(e,t){return e.parser(t)(e.input,e.options)},step(e,t,n){if(n._tag==="Failure"){let r=Tl(n.cause);if(r===void 0)return n;e.issues?e.issues.push(r):e.issues=[r]}else{if(e.out&&e.successes)return e.successes.push(e.ast.types[t]),Oc(new __(e.ast,e.successes,e.input,e.options));if(e.out=n,e.successes)e.successes.push(e.ast.types[t]);else return Cc}}}),kU=new Sn([new Zn("Infinity"),new Zn("-Infinity"),new Zn("NaN")]);function tU(e){return e?"":"readonly "}function nU(e){return e?"?":""}var yv=class extends vt{_tag="Suspend";thunk;constructor(e,t,n,r,o){if(n)throw new Error("Cannot add checks to Suspend");super(t,void 0,r,o);let s;this.thunk=()=>s??=e()}getParser(e){let t;return(n,r)=>(t??=e(this.thunk()))(n,r)}recur(e){return new yv(()=>e(this.thunk()),this.annotations,void 0,void 0,this.context)}getExpected(e){return e(this.thunk())}},Kh=class extends xs{_tag="Filter";run;annotations;aborted;constructor(e,t=void 0,n=!1){super(),this.run=e,this.annotations=t,this.aborted=n}annotate(e){return new Kh(this.run,{...this.annotations,...e},this.aborted)}abort(){return new Kh(this.run,this.annotations,!0)}and(e,t){return new ha([this,e],t)}},ha=class extends xs{_tag="FilterGroup";checks;annotations;constructor(e,t=void 0){super(),this.checks=e,this.annotations=t}annotate(e){return new ha(this.checks,{...this.annotations,...e})}and(e,t){return new ha([this,e],t)}};function Qh(e,t,n=!1){return new Kh((r,o,s)=>U_(o,e(r,o,s),r,s),t,n)}function Yh(e,t){return new Kh((n,r,o)=>e(n)?void 0:new Z(void 0,n,o),t,!0)}function xv(e){return Qh(t=>globalThis.Number.isFinite(t),{expected:"a finite number",representation:{id:"effect/schema/isFinite",payload:null},toJsonSchema:()=>({type:"number"}),toCode:()=>({runtime:"Schema.isFinite()"}),arbitraryConstraint:{number:"finite"},...e})}var Sv=Eo(lv,[xv()]),u8=new xt(new Sn([Sv,kU]),new ve(Cl(),K(e=>globalThis.Number.isFinite(e)?e:globalThis.String(e))));function Hl(e,t){let n=new globalThis.RegExp(e),r={source:n.source,flags:n.flags};return Qh(o=>(n.lastIndex=0,n.test(o)),{expected:`a string matching the RegExp ${r.source}`,representation:{id:"effect/schema/isPattern",payload:r},toJsonSchema:()=>[{},!0],arbitraryConstraint:{patterns:[r]},...t})}var ov=new WeakMap;function zl(e,t){let n=Object.assign(Object.create(Object.getPrototypeOf(e)),e,t);return Reflect.ownKeys(t).every(r=>r==="context"||r==="encoding")&&ov.set(n,Js(e)),n}function Js(e){let t=ov.get(e);if(t!==void 0)return t;if(e.encoding===void 0)return e;let n=Object.assign(Object.create(Object.getPrototypeOf(e)),e,{encoding:void 0});return ov.set(e,n),n}function Ye(e,t){return e.encoding===t?e:zl(e,{encoding:t})}function mr(e,t){if(e.context===t)return e;let n=Js(e);return n.context===t&&n.encoding===e.encoding?n:zl(e,{context:t})}function Zs(e){return e.encoding?Zs(e.encoding[e.encoding.length-1].to):e}function Zr(e,t){if(e.checks){let n=e.checks[e.checks.length-1];return Wl(e,Bf(e.checks.slice(0,-1),n.annotate(t)))}return zl(e,{annotations:{...e.annotations,...t}})}function Wl(e,t){if(e._tag==="Suspend"&&t)throw new Error("Cannot add checks to Suspend");return e.checks===t?e:zl(e,{checks:t})}function Eo(e,t){return Wl(e,mv(e.checks,t))}function td(e,t){let n=t(e.to);return n===e.to?e:new xt(n,e.transformation)}function bv(e,t){let n=e,r=n[n.length-1],o=td(r,t);return o===r?e:Bf(e.slice(0,e.length-1),o)}function Iv(e){return t=>t.encoding?Ye(t,bv(t.encoding,e)):t}function Xh(e,t){return Iv(n=>mr(n,t))(e)}function eg(e){function t(n){return n.encoding?Ye(n,bv(n.encoding,t)):e(n)}return Tr(t)}function Qs(e,t){function n(r){if(r.encoding){let o=r.encoding[r.encoding.length-1];return t?.stopAt?.(o)?r:Ye(r,bv(r.encoding,n))}return e(r)}return Uo(n)}function EU(e,t){return vv(e,t,At(e))}function TU(e,t){return vv(Qr(e),t,e)}function vv(e,t,n){let r=new xt(e,t);return Ye(n,n.encoding?[...n.encoding,r]:[r])}function ga(e,t){let n;for(let r=0;r<e.length;r++){let o=e[r],s=t(o);if(n)n[r]=s;else if(s!==o){n=new Array(e.length);for(let i=0;i<r;i++)n[i]=e[i];n[r]=s}}return n??e}function Kl(e,t){let n=e.context?new wo(e.context.isOptional,e.context.isMutable,e.context.constructorDefault,{...e.context.annotations,...t}):new wo(!1,!1,void 0,t);return mr(e,n)}var ya=Uo(e=>{let t=e.context?e.context.isOptional===!1?new wo(!0,e.context.isMutable,e.context.constructorDefault,e.context.annotations):e.context:new wo(!0,!1);return l8(mr(e,t))}),l8=Iv(ya),AU=Tr(e=>ya(new Sn([e,dv]))),wv=Uo(e=>{let t=e.context?e.context.isMutable===!1?new wo(e.context.isOptional,!0,e.context.constructorDefault,e.context.annotations):e.context:new wo(!1,!0);return p8(mr(e,t))}),p8=Iv(wv);function RU(e,t){let n=e.context?new wo(e.context.isOptional,e.context.isMutable,t,e.context.annotations):new wo(!1,!1,t);return mr(e,n)}function xa(e,t,n){return vv(e,n,t)}function f8(e){let t=[],n=[];function r(o){switch(o._tag){case"Literal":ff(o.literal)&&!t.includes(o.literal)&&t.push(o.literal);return;case"UniqueSymbol":t.includes(o.symbol)||t.push(o.symbol);return;case"Never":return;case"Union":for(let s=0;s<o.types.length;s++)r(o.types[s]);return;default:n.push(o)}}return r(e),{literals:t,parameters:n}}function tg(e,t){let{literals:n,parameters:r}=f8(e);return new ql(n.map(o=>new pv(o,t)),r.map(o=>new fv(o,t)))}function Bt(e){return e.context?.isOptional??!1}function OU(e){return e.context?.isMutable??!1}function CU(e){return e.annotations?.[Rn]===!0||e._tag==="FilterGroup"&&e.checks.every(CU)}function m8(e){function t(r){return CU(r)?[r]:r._tag==="FilterGroup"?r.checks.flatMap(t):[]}let n=e.flatMap(t);return fc(n)?n:void 0}function h8(e){let t=!0;function n(r){return t=t&&!r.encoding&&!$l(r),t&&"recur"in r&&r.recur(n),r}return"recur"in e&&e.recur(n),t}var At=Uo(e=>{let t=Js(e);if(t!==e){let r=At(t);return r===t&&e.encoding===void 0?e:mr(r,e.context)}let n="recur"in e?e.recur(At):e;if("encodingChecks"in n&&n.encodingChecks){let r=h8(e)?n.encodingChecks:Gh(n)||cv(n)||Qc(n)&&n.typeParameters.length>0?m8(n.encodingChecks):void 0;return zl(n,{encodingChecks:void 0,checks:mv(n.checks,r)})}return n}),Qr=Uo(e=>At(Qn(e)));function g8(e,t){let n=t,r=n.length,o=n[r-1],s=[new xt(Qn(Ye(e,void 0)),n[0].transformation.flip())];for(let c=1;c<r;c++)s.unshift(new xt(Qn(n[c-1].to),n[c].transformation.flip()));let i=Qn(o.to);return i.encoding?Ye(i,[...i.encoding,...s]):Ye(i,s)}var Qn=Tr(e=>{if(e.encoding)return g8(e,e.encoding);let t=Js(e);if(t!==e){let n=Qn(t);return n===t?e:mr(n,e.context)}return"flip"in e?e.flip(Qn):"recur"in e?e.recur(Qn):e});function DU(e){switch(e._tag){case"Undefined":return!0;case"Union":return e.types.some(DU);default:return!1}}function ng(e,t){let n=t===0?Qe:en(t);return(r,o)=>r===me?On:r===t?n:P(new It(e,r,o))}function Yr(e,t){return(n,r)=>n===me?On:t(n)?Qe:P(new It(e,n,r))}function PU(e,t,n){let r=e.encodedParts,o=e.literals,s=t.length;for(let u=0;u<o.length;u++){let l=o[u];if(l&&!t.includes(l))return}if(e.suffixLengths[0]>s)return;let i=new Array(r.length),c;function d(u,l){if(u===r.length)return l===s;if(c?.has(u*(s+1)+l))return!1;let p=r[u];if(u===r.length-1){let f=t.slice(l);if(p.matchPart(f,n)!==void 0)return i[u]=f,!0}else if(p._tag==="Literal"){let f=o[u];if(t.startsWith(f,l)&&d(u+1,l+f.length))return i[u]=f,!0}else{let f=s-e.suffixLengths[u+1],g=o[u+1],b=g===void 0?f:t.lastIndexOf(g,f);for(;b>=l;){let y=t.slice(l,b);if(p.matchPart(y,n)!==void 0&&d(u+1,b))return i[u]=y,!0;if(b===0)break;b=g===void 0?b-1:t.lastIndexOf(g,b-1)}}return c??=new Set,c.add(u*(s+1)+l),!1}return d(0,0)?i:void 0}var kv=Qs(e=>{switch(e._tag){default:return e;case"Number":return e.toCodecStringTree();case"Union":return e.recur(kv)}}),rg=Qs(e=>{switch(e._tag){default:return e;case"Symbol":case"UniqueSymbol":return e.toCodecStringTree();case"Union":return e.recur(rg)}}),Ev=Qs(e=>{switch(e._tag){default:return e;case"Number":case"Literal":case"BigInt":return e.toCodecStringTree();case"Union":return e.recur(Ev)}}),MU="[\\s\\S]*?",sv=new globalThis.RegExp(`^${ed}$`),y8=new globalThis.RegExp(`^(?:${ed}|Infinity|-Infinity|NaN)$`);function Tv(e){return Hl(sv,{expected:"a string representing a finite number",representation:{id:"effect/schema/isStringFinite",payload:null},toJsonSchema:()=>({pattern:sv.source}),...e})}var _U=Eo(Pn,[Tv()]),x8=new xt(_U,ma),S8=new xt(new Sn([_U,kU]),ma),b8="-?\\d+",iv=new globalThis.RegExp(`^${b8}$`);function Av(e){return Hl(iv,{expected:"a string representing a bigint",representation:{id:"effect/schema/isStringBigInt",payload:null},toJsonSchema:()=>({pattern:iv.source}),...e})}var Rv=Eo(Pn,[Av({expected:"a string representing a bigint"})]),I8=new xt(Rv,Fl),v8="Symbol\\(([\\s\\S]*)\\)",av=new globalThis.RegExp(`^${v8}$`),w8=Eo(Pn,[Ov()]),UU=new xt(w8,new ve(K(e=>globalThis.Symbol.for(av.exec(e)[1])),yt((e,t)=>globalThis.Symbol.keyFor(e)!==void 0?C(globalThis.String(e)):P(new kl({message:"cannot serialize to string, Symbol is not registered"},e,t)))));function Ov(e){return Hl(av,{expected:"a string representing a symbol",representation:{id:"effect/schema/isStringSymbol",payload:null},toJsonSchema:()=>({pattern:av.source}),...e})}function Xr(e,t,n,r,o){for(let s=0;s<e.length;s++){let i=e[s];if(i._tag==="FilterGroup"){if(n=Xr(i.checks,t,n,r,o),n&&(o.errors!=="all"||n[n.length-1].filter.aborted))return n}else{let c=i.run(t,r,o);if(c){let d=new P_(i,c,t,o);if(n?n.push(d):n=[d],o.errors!=="all"||i.aborted)return n}}}return n}function NU(e,t){let n=Xr(e,t,void 0,os,{errors:"all"});if(n){let r=new _t(os,n);return J(r)}return $(t)}function FU(e){if(!Qc(e))return;let t=e.annotations?.[Ph];return dn(t)?t(e.typeParameters):void 0}function k8(e){return e===null||typeof e=="string"||typeof e=="boolean"||typeof e=="number"&&globalThis.Number.isFinite(e)}function E8(e){return e===void 0||typeof e=="string"}function $U(e,t){let n=new WeakMap,r=[];e:for(;;){if(typeof e!="object"||e===null){if(!t(e))return!1}else{let o=e,s=n.get(o);if(s===!1)return!1;if(s===void 0){let i=Array.isArray(o);if(!i){let c=Object.getPrototypeOf(o);if(c!==null&&c!==Object.prototype&&Object.getPrototypeOf(c)!==null)return!1}n.set(o,!1),r.push({value:o,keys:i?o.length:Object.keys(o),index:0})}}for(;r.length>0;){let o=r[r.length-1],s=o.keys;if(typeof s=="number"){if(o.index<s){e=o.value[o.index++];continue e}}else if(o.index<s.length){e=o.value[s[o.index++]];continue e}n.set(o.value,!0),r.pop()}return!0}}function nd(e){return $U(e,k8)}var Zc=new Yc([],()=>(e,t,n)=>nd(e)?Qe:P(new It(t,e,n)),{representation:{id:"effect/schema/Json",payload:null},expected:"JSON value",toCodecJson:()=>{},toCodecStringTree:()=>Dv}),LU=Zr(Zc,{representation:{id:"effect/schema/MutableJson",payload:null}}),Cv=new xt(Zc,fa()),qU=new xt(new Sn([new Yn(!1,[],[Zc]),new ql([],[new fv(Pn,Zc)])]),fa());function T8(e){return $U(e,E8)}var A8=new Yc([],()=>(e,t,n)=>T8(e)?Qe:P(new It(t,e,n)),{expected:"StringTree",toCodecStringTree:()=>{}}),Dv=new xt(A8,fa());var er={};Ae(er,{_is:()=>sd,_issue:()=>Uv,asOption:()=>zv,asserts:()=>Nv,decodeEffect:()=>Zl,decodeExit:()=>L8,decodeOption:()=>Fv,decodePromise:()=>$8,decodeResult:()=>q8,decodeSync:()=>Ql,decodeUnknownEffect:()=>lt,decodeUnknownExit:()=>ug,decodeUnknownOption:()=>lg,decodeUnknownPromise:()=>F8,decodeUnknownResult:()=>pg,decodeUnknownSync:()=>GU,encodeEffect:()=>$v,encodeExit:()=>j8,encodeOption:()=>Lv,encodePromise:()=>B8,encodeResult:()=>H8,encodeSync:()=>Yl,encodeUnknownEffect:()=>ss,encodeUnknownExit:()=>fg,encodeUnknownOption:()=>mg,encodeUnknownPromise:()=>VU,encodeUnknownResult:()=>hg,encodeUnknownSync:()=>JU,is:()=>od,make:()=>Jl,makeEffect:()=>dg,makeOption:()=>Vl,run:()=>Xl});var og=(e,t,n)=>e===Qe?n(t):Ft(e,n);function jU(e){let t=R8(e);return(n,r,o)=>{try{return t(n,r,o)}catch(s){return Hr(s)}}}function R8(e){if(e._tag==="Middleware")return(n,r,o)=>{let s=n===Qe?e.decode(en(Sl(r)),o):e.decode(ta(n,Sl),o);return BU(s)};let t=e.decode;switch(t._tag){case"Passthrough":return(n,r)=>n===Qe?en(r):n;case"Transform":{let n=r=>r===me?On:en(t.transform(r));return(r,o)=>og(r,o,n)}case"TransformOptional":{let n=r=>Q0(t.transform(Sl(r)));return(r,o)=>og(r,o,n)}case"TransformEffect":return(n,r,o)=>og(n,r,s=>s===me?On:t.transform(s,o));case"TransformOptionalEffect":return(n,r,o)=>og(n,r,s=>BU(t.transform(Sl(s),o)))}}var BU=e=>Ft(e,Q0),HU=(e,t,n,r)=>$s(r,o=>Uc(()=>Us(o,s=>new M_(e,s,t,n))));function O8(e,t){let n=jU(e.link.transformation),r;return(o,s)=>{if(o===me)return On;if(e.isConstructed(o))return Qe;let i=(r??=t(e.link.to))(o,s);return n(i,o,s)}}function C8(e,t){let n=e.context.constructorDefault;return(r,o)=>{if(r!==me&&r!==void 0)return t(r,o);let s=n;if(Be(s)&&s._tag==="Success"){let i=t(s[ue],o);return i===Qe?s:i}return Ft(HU(e,r,o,s),i=>{let c=t(i,o);return c===Qe?en(i):c})}}function Pv(e,t){let n=t(e);return e.context?.constructorDefault===void 0?n:C8(e,n)}function Gl(e,t,n,r,o){if(e._tag==="Declaration")for(let b of e.typeParameters)t(b);let s=n?FU(e):void 0,i=s?O8(s,t):r??e.getParser(t,n),c=e.checks,d=e.encoding,u=d?.map(b=>jU(b.transformation)),l=e.encodingChecks;if(!d&&!c&&!l)return i;let p,f=(b,y)=>{let S=i(b,y);try{if(l&&!y.disableChecks)if(Be(S)){if(S._tag==="Success"){let v=S===Qe?b:S[ue];if(b!==me&&v!==me){let I=Xr(l,b,void 0,e,y);I&&(S=P(new _t(e,I,b,y)))}}}else S=pn(S,v=>{if(b!==me&&v!==me){let I=Xr(l,b,void 0,e,y);if(I)return P(new _t(e,I,b,y))}return C(v)});if(c&&!y.disableChecks)if(Be(S)){if(S._tag==="Success"){let v=S===Qe?b:S[ue];if(v===me)return S;let I=Xr(c,v,void 0,e,y);I&&(S=P(new _t(e,I,v,y)))}}else S=pn(S,v=>{if(v!==me){let I=Xr(c,v,void 0,e,y);if(I)return P(new _t(e,I,v,y))}return C(v)});return S}catch(v){return Hr(v)}},g=o===void 0?f:o(f);return d?(b,y)=>{let S=p??=d.map(R=>t(R.to)),v=b,I=S[S.length-1](b,y);for(let R=d.length-1;R>=0;R--)if(I=u[R](I,v,y),R!==0){let A=S[R-1];I._tag==="Success"?(v=I[ue],I=A(v,y)):I=Ft(I,k=>{let x=A(k,y);return x===Qe?en(k):x})}if(I._tag==="Success"){let R=I[ue],A=g(R,y);return A===Qe?I:A}return I=HU(e,b,y,I),Ft(I,R=>{let A=g(R,y);return A===Qe?en(R):A})}:g}var ag=Symbol(),zU=new WeakMap,WU,rd=!1;var P8=e=>rd?ig(Xn,e,"parser"):Xn(e).parser,KU=e=>rd?ig(Xn,e,"makeEffect"):Xn(e).makeEffect,M8=e=>Pv(e,KU),sg=class{ast;constructor(t){this.ast=t}get decodeEffect(){return this.cachedDecodeEffect??=Gl(this.ast,P8)}get parser(){return this.decodeEffect}get makeEffect(){return this.cachedMakeEffect??=Gl(this.ast,KU,M8)}},Mv=class extends sg{compiled;resolve;constructor(t,n,r){super(t),this.compiled=n,this.resolve=r}save(t,n){return Object.defineProperty(this,t,{value:n}),n}operation(t){let n=this.compiled;return typeof n=="function"?n(this.ast,this.resolve,t):n?.[t]}get is(){return this.save("is",this.operation("is"))}get decode(){return this.save("decode",this.operation("decode"))}get make(){return this.save("make",this.operation("make"))}get decodeEffect(){return this.save("decodeEffect",this.operation("decodeEffect")??Gl(this.ast,t=>ig(this.resolve,t,"parser")))}get parser(){let t=this.decode;return t===void 0?this.decodeEffect:this.save("parser",_8(t,()=>this.decodeEffect))}get makeEffect(){let t=this.operation("makeEffect");if(t!==void 0)return this.save("makeEffect",t);let n=r=>ig(this.resolve,r,"makeEffect");return this.save("makeEffect",Gl(this.ast,n,r=>Pv(r,n)))}};function _8(e,t){let n;return(r,o)=>{if(r!==me)try{let s=e(r,o);if(s!==ag)return s===r?Qe:en(s)}catch(s){return Hr(s)}return(n??=t())(r,o)}}function ig(e,t,n){let r=e(t);if(r.compiled===void 0||Object.hasOwn(r,n))return r[n];let o;return(s,i)=>(o??=r[n])(s,i)}function Xn(e){let t=zU.get(e);if(t!==void 0)return t;let n=WU===void 0?new sg(e):new Mv(e,WU(e,Xn),Xn);return zU.set(e,n),n}function dg(e){let t=e.ast,n;return(r,o)=>(n??=jv(V8,At(t)))(r,o?.disableChecks?o?.parseOptions?{...o.parseOptions,disableChecks:!0}:{disableChecks:!0}:o?.parseOptions)}function Vl(e){let t=dg(e);return(n,r)=>{let o=bo(t(n,r));return qt(o)?F(o.value):(Dn(o.cause,"Option adapter can only return none for schema issues"),N())}}function Jl(e){return K8(At(e.ast))}function od(e){return sd(e.ast)}function N8(e){if(!rd){let o=id(Xl(e));return s=>{let i=o(s,ko);return qt(i)?!0:(Dn(i.cause,"Type guard adapter can only return false for schema issues"),!1)}}let t=Xn(e),n=t.is;if(n!==void 0)return o=>{try{return n(o,ko)}catch(s){return Dn(Fm(s),"Type guard adapter can only return false for schema issues"),!1}};let r=t.parser;return o=>{let s=bo(Bv(r(o,ko),o));return qt(s)?!0:(Dn(s.cause,"Type guard adapter can only return false for schema issues"),!1)}}function sd(e){let t=At(e),n=r=>(n=N8(t),n(r));return r=>n(r)}function Uv(e){let t=Xl(e);return(n,r)=>{let o=bo(t(n,r));if(!qt(o))return Dn(o.cause,"Issue adapter can only return schema issues")}}function Nv(e,t){let n=At(e.ast),r=Xn(n).parser(t,ko),o=bo(Bv(r,t));if(VC(o)){let s=Dn(o.cause,"Assertion adapter can only throw schema issues");throw new Error("Schema validation failed",{cause:s})}}function lt(e,t){let n=Xl(e.ast);return t===void 0?n:(r,o)=>n(r,qv(t,o))}var Zl=lt;function F8(e,t){return Hv(lt(e,t))}function $8(e,t){return Hv(Zl(e,t))}function ug(e,t){return id(lt(e,t))}var L8=ug;function lg(e,t){return zv(lt(e,t))}var Fv=lg;function pg(e,t){return ZU(lt(e,t))}var q8=pg;function GU(e,t){return rd?QU(e.ast,t):Wv(lt(e,t))}var Ql=GU;function ss(e,t){let n=Xl(Qn(e.ast));return t===void 0?n:(r,o)=>n(r,qv(t,o))}var $v=ss,VU=(e,t)=>Hv(ss(e,t)),B8=VU;function fg(e,t){return id(ss(e,t))}var j8=fg;function mg(e,t){return zv(ss(e,t))}var Lv=mg;function hg(e,t){return ZU(ss(e,t))}var H8=hg;function JU(e,t){return rd?QU(Qn(e.ast),t):Wv(ss(e,t))}var Yl=JU,qv=(e,t)=>t?{...e,...t}:e,cg=e=>e===me?P(new Z):C(e);function Xl(e){return jv(G8,e)}function Bv(e,t){return e===Qe?C(t):Be(e)?e[ue]===me?cg(me):e:Ft(e,cg)}function jv(e,t){let n;return(r,o)=>{let s=(n??=e(t))(r,o??ko);return s===Qe?C(r):Be(s)?s[ue]===me?cg(me):s:Ft(s,cg)}}function Hv(e){return(t,n)=>nl(e(t,n)).then(r=>{if(qt(r))return r.value;let o=Dn(r.cause,"Promise adapter can only reject schema issues");throw new Error("Schema validation failed",{cause:o})})}function id(e){return(t,n)=>bo(e(t,n))}function zv(e){let t=id(e);return(n,r)=>{let o=t(n,r);return qt(o)?F(o.value):(Dn(o.cause,"Option adapter can only return none for schema issues"),N())}}function ZU(e){let t=id(e);return(n,r)=>{let o=t(n,r);return qt(o)?$(o.value):J(Dn(o.cause,"Result adapter can only return schema issues"))}}function QU(e,t){let n;return(r,o)=>(n??=z8(Xn(e),t))(r,o)}function z8(e,t){let n=e.decode,r,o=n===void 0?(s,i=ko)=>(r??=_v(e))(s,i):(s,i=ko)=>{if(s===me)return(r??=_v(e))(s,i);let c;try{c=n(s,i)}catch(d){throw Dn(Fm(d),"Sync adapter can only throw schema issues"),d}return c!==ag?c:(r??=_v(e))(s,i)};return t===void 0?o:(s,i)=>o(s,qv(t,i))}function _v(e){return Wv(jv(()=>e.decodeEffect,e.ast))}function Wv(e){let t=id(e);return(n,r)=>{let o=t(n,r);if(qt(o))return o.value;let s=Dn(o.cause,"Sync adapter can only throw schema issues");throw new Error("Schema validation failed",{cause:s})}}function W8(e,t){let n=bo(e);if(qt(n))return n.value;let r=Dn(n.cause,t);throw new Error("Schema validation failed",{cause:r})}function K8(e){let t,n;return(r,o)=>{t??=Xn(e);let s=o?.disableChecks?o.parseOptions?{...o.parseOptions,disableChecks:!0}:{disableChecks:!0}:o?.parseOptions??ko,i=t.make;if(i!==void 0&&r!==me){let d;try{d=i(r,s)}catch(u){throw Dn(Fm(u),"Constructor adapter can only throw schema issues"),u}if(d!==ag&&d!==me)return d}let c=(n??=t.makeEffect)(r,s);return W8(Bv(c,r),"Constructor adapter can only throw schema issues")}}var G8=e=>Xn(e).parser,V8=e=>Xn(e).makeEffect;var gg="~effect/Schema/Schema",YU=Symbol(),J8={[gg]:gg,get make(){let e=Jl(this);return Object.defineProperty(this,"make",{value:e,enumerable:!0}),e},get makeEffect(){let e=dg(this);return Object.defineProperty(this,"makeEffect",{value:e,enumerable:!0}),e},get makeOption(){let e=Vl(this);return Object.defineProperty(this,"makeOption",{value:e,enumerable:!0}),e},pipe(){return ie(this,arguments)},annotate(e){return this.rebuild(Zr(this.ast,e))},annotateKey(e){return this.rebuild(Kl(this.ast,e))},check(...e){return this.rebuild(Eo(this.ast,e))},rebuild(e){return tr(e,this[YU])}};function tr(e,t){function n(){}let r=Object.setPrototypeOf(n,J8);return t&&(Object.hasOwn(t,"name")||Object.hasOwn(t,"length")||Object.hasOwn(t,"__proto__"))?Object.defineProperties(r,Object.getOwnPropertyDescriptors({...t})):Object.assign(r,t),r[YU]=t,r.ast=e,r}function Kv(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function ep(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Gv(e){return encodeURI(Kv(e)).replace(/#/g,"%23")}function Vv(e){if(e.length===0||e==="#")return"";if(!e.startsWith("#"))return;let t=e.slice(1);try{if(encodeURI(t).replace(/%25/g,"%").replace(/#/g,"%23")!==t)return;let n=decodeURIComponent(t);return n.startsWith("/")&&!/~(?:[^01]|$)/.test(n)?n:void 0}catch{return}}function eN(e){let t=Vv(e);return t===void 0?void 0:t.length===0?[]:t.slice(1).split("/").map(ep)}function tN(e){return e.reduce((t,n)=>`${t}/${Gv(n)}`,"#")}var Q8="http://json-schema.org/draft-07/schema#",nN="https://json-schema.org/draft/2020-12/schema";function rN(e,t){return e===t||e===(t.endsWith("#")?t.slice(0,-1):`${t}#`)}function iN(e){return{dialect:"draft-07",...nZ(e,pZ)}}function Y8(e,t){return n(e,!1,!0);function n(r,o,s=!1){if(!Ln(r))return r;let i=o||!s&&dN(r.$id),c={};for(let d of Object.keys(r)){let u=r[d],l=u;switch(d){case"$defs":case"properties":case"patternProperties":case"dependentSchemas":l=Zv(u,p=>n(p,i))??u;break;case"allOf":case"anyOf":case"oneOf":case"prefixItems":l=Array.isArray(u)?u.map(p=>n(p,i)):u;break;case"not":case"additionalProperties":case"propertyNames":case"unevaluatedProperties":case"items":case"contains":case"unevaluatedItems":case"if":case"then":case"else":case"contentSchema":l=n(u,i)}M(c,d,l)}return t(c,i),c}}function aN(e,t){return Y8(e,n=>{X8(n,t)})}function X8(e,t){typeof e.$ref=="string"&&M(e,"$ref",t(e.$ref,"$ref")),typeof e.$dynamicRef=="string"&&M(e,"$dynamicRef",t(e.$dynamicRef,"$dynamicRef"))}function Zv(e,t){if(!Ln(e))return;let n={};for(let r of Object.keys(e))M(n,r,t(e[r],r));return n}function eZ(e,t,n){let r=new Map,o=[],s=Jv;function i(f,g=[],b=[]){if(g.length===0&&t?.trackIds){let y=Ln(f)?l(f):void 0;s=oN(y,Jv)??Jv}return u(f,g,b,{sourceRoot:[],targetRoot:[],uri:s})}function c(){for(let[f,g,b]of o){let y=g,S=cN(g,b);if(S!==void 0){let v=eN(S.hash);if(S.hash="",v!==void 0){let I=r.get(sN(S.href,v));I!==void 0&&(y=tZ(g,I))}}M(f,"$ref",y)}}let d=n(i);return c(),d;function u(f,g,b,y){if(typeof f=="boolean")return p(g,b,y),t?.booleanAdapter?.(f)??f;if(!Ln(f))return f;let S=y,v=l(f);if(g.length>0&&t?.trackIds&&dN(v)){let A=oN(v,y.uri);A!==void 0&&(S={parent:y,sourceRoot:g,targetRoot:b,uri:A})}p(g,b,S);let I=S.uri,R={isDocumentRoot:g.length===0,schema(A,k,x=k){return u(A,[...g,k],[...b,x],S)},schemaAt(A,k,x){return u(A,[...g,...k],[...b,...x],S)},schemaArray(A,k,x=k){return Array.isArray(A)?A.map((w,E)=>u(w,[...g,k,String(E)],[...b,x,String(E)],S)):A},schemaMap(A,k,x=k){return Ln(A)?Zv(A,(w,E)=>u(w,[...g,k,E],[...b,x,E],S)):A},reference(A,k){typeof k=="string"?o.push([A,k,I]):M(A,"$ref",k)}};return e(f,R)}function l(f){return t?.ignoreRefSiblings===!0&&typeof f.$ref=="string"?void 0:f.$id}function p(f,g,b){b.parent!==void 0&&p(f,g,b.parent),r.set(sN(b.uri,f.slice(b.sourceRoot.length)),g.slice(b.targetRoot.length))}}var Jv="https://effect.invalid/.json-schema/";function cN(e,t){return URL.canParse(e,t)?new URL(e,t):void 0}function oN(e,t){if(typeof e!="string")return;let n=cN(e,t);if(n!==void 0)return n.hash="",n.href}function tZ(e,t){let n=e.indexOf("#");return n===-1&&t.length===0?e:`${n===-1?e:e.slice(0,n)}${tN(t)}`}function sN(e,t){return`${e}\0${JSON.stringify(t)}`}function dN(e){return typeof e=="string"&&e.length>0&&e[0]!=="#"}function nZ(e,t,n){return eZ(t,{...n,trackIds:!0},r=>({schema:r(e.schema),definitions:Zv(e.definitions,(o,s)=>r(o,["$defs",s],["definitions",s]))}))}var rZ=new Set(["properties","patternProperties"]),oZ=new Set(["allOf","anyOf","oneOf"]),sZ=new Set(["not","additionalProperties","propertyNames","contains","if","then","else","contentSchema"]);function iZ(e,t,n,r,o,s=rZ){let i;if(s.has(t))i=r.schemaMap(n,t);else if(oZ.has(t))i=r.schemaArray(n,t);else if(o.has(t))i=r.schema(n,t);else return!1;return M(e,t,i),!0}var uN=["$anchor","$defs","$dynamicAnchor","$dynamicRef","$vocabulary","contentSchema","dependentRequired","dependentSchemas","maxContains","minContains","prefixItems","unevaluatedItems","unevaluatedProperties"],Wle=[...uN,"deprecated"],Kle=[...uN,"$comment","$id","$schema","const","contains","contentEncoding","contentMediaType","else","examples","if","patternProperties","propertyNames","then"],aZ=/^[A-Za-z_][-A-Za-z0-9._]*$/,cZ=/^[A-Za-z][-A-Za-z0-9._:]*$/;function Sa(e,t,n){throw new Error(`Cannot convert JSON Schema keyword "${e}" to ${t}: ${n}`)}function dZ(e,t,n,r){for(let o of t)Object.hasOwn(e,o)&&Sa(o,n,`it is not active in ${r} but would become active in the target`)}var uZ=["additionalItems","definitions","dependencies"];function lZ(e,t,n,r,o){n.isDocumentRoot?M(e,"$schema",rN(t,nN)?r:t):rN(t,nN)||Sa("$schema",o,"an embedded resource cannot declare a different dialect")}function pZ(e,t){dZ(e,uZ,"Draft-07","Draft 2020-12");let n={},r,o,s;for(let i of Object.keys(e)){let c=e[i];if(!iZ(n,i,c,t,sZ))switch(i){case"$ref":r=c;break;case"$schema":lZ(n,c,t,Q8,"Draft-07");break;case"$id":case"$anchor":break;case"$defs":M(n,"definitions",t.schemaMap(c,i,"definitions"));break;case"prefixItems":o=c;break;case"items":s=c;break;case"dependentRequired":case"dependentSchemas":case"minContains":case"maxContains":break;case"$dynamicRef":case"$dynamicAnchor":case"$vocabulary":case"unevaluatedProperties":case"unevaluatedItems":Sa(i,"Draft-07","the target dialect has no equivalent");case"required":if(Array.isArray(c)&&c.length===0)break;M(n,i,c);break;default:M(n,i,c)}}if(fZ(n,o,s,t),Object.hasOwn(e,"contains")){let i=e.minContains,c=e.maxContains;(i!==void 0&&i!==1||c!==void 0)&&Sa("minContains/maxContains","Draft-07","contains cardinality cannot be represented"),Object.hasOwn(e,"minContains")&&M(n,"minContains",i)}else Object.hasOwn(e,"minContains")&&M(n,"minContains",e.minContains),Object.hasOwn(e,"maxContains")&&M(n,"maxContains",e.maxContains);return hZ(e,n,t,"draft-07"),yZ(e,n,"$id","Draft-07"),mZ(n,r,t),n}function fZ(e,t,n,r){if(t===void 0){n!==void 0&&M(e,"items",r.schema(n,"items"));return}M(e,"items",r.schemaArray(t,"prefixItems","items")),n!==void 0&&M(e,"additionalItems",r.schema(n,"items","additionalItems"))}function mZ(e,t,n){if(t!==void 0)if(typeof t=="string"&&Object.keys(e).length>0){let r={};n.reference(r,t),gZ(e,r)}else n.reference(e,t)}function hZ(e,t,n,r){let o=Ln(e.dependentRequired)?e.dependentRequired:void 0,s=Ln(e.dependentSchemas)?e.dependentSchemas:void 0;if(o===void 0&&s===void 0)return;let i={},c=new Set([...Object.keys(o??{}),...Object.keys(s??{})]);for(let d of c){let u=o?.[d],l=s?.[d],p=r==="draft-04"&&Array.isArray(u)&&u.length===0;l===void 0?p||M(i,d,u):u===void 0||p?M(i,d,n.schemaAt(l,["dependentSchemas",d],["dependencies",d])):M(i,d,{allOf:[n.schemaAt(l,["dependentSchemas",d],["dependencies",d,"allOf","0"]),{required:u}]})}Object.keys(i).length>0&&M(t,"dependencies",i)}function gZ(e,t){Array.isArray(e.allOf)?e.allOf.push(t):M(e,"allOf",[t])}function yZ(e,t,n,r){let o=e.$id,s=e.$anchor;if(s===void 0){o!==void 0&&M(t,n,o);return}(typeof s!="string"||!aZ.test(s))&&Sa("$anchor",r,"the anchor is not valid"),cZ.test(s)||Sa("$anchor",r,"the anchor cannot be represented as a plain-name fragment identifier"),o===void 0?M(t,n,`#${s}`):Sa("$anchor",r,"it cannot be combined with the schema $id")}function xg(e){return tr(Ys(e.ast),{schema:e})}var Ys=Qs(e=>{let t=Js(e);if(t!==e){let o=Ys(t);if(o===t)return e;if(o.encoding===void 0)return mr(o,e.context)}let n=SZ(e,Ys),r=e.context;return n===e||r===void 0?n:Xh(n,Xv(r))});function Xv(e){return e.constructorDefault===void 0?e:new wo(e.isOptional,e.isMutable,void 0,e.annotations)}function fN(e){if(e.propertySignatures.some(t=>typeof t.name!="string"))throw new globalThis.Error("Objects property names must be strings",{cause:e})}function mN(e){return t=>{let n=[...t].sort((o,s)=>e(Qr(o))-e(Qr(s)));return n.some((o,s)=>o!==t[s])?n:t}}var xZ=mN(e=>{switch(e._tag){case"BigInt":case"Symbol":case"UniqueSymbol":return 0;default:return 1}});function SZ(e,t){switch(e._tag){case"Declaration":{let n=e.annotations?.toCodecJson??e.annotations?.toCodec;if(!dn(n))return Ye(e,[Cv]);let r=e.typeParameters.map(s=>tr(Qr(s))),o=n(r);return o===void 0?e:Ye(e,[td(o,t)])}case"Unknown":return Ye(e,[Cv]);case"ObjectKeyword":return Ye(e,[qU]);case"Undefined":case"Void":case"Literal":case"Number":return e.toCodecJson();case"UniqueSymbol":case"Symbol":case"BigInt":return e.toCodecStringTree();case"Objects":return fN(e),e.recur(t,rg);case"Union":{let n=xZ(e.types);return n!==e.types?new Sn(n,e.options,e.annotations,e.checks,e.encoding,e.context,e.encodingChecks).recur(t):e.recur(t)}case"Arrays":case"Suspend":return e.recur(t)}return e}function Sg(e){return tr(hN(At(e.ast)))}var hN=Tr(e=>{let t=bZ(e,hN);return t!==e&&e.context!==void 0?Xh(t,Xv(e.context)):t});function bZ(e,t){switch(e._tag){case"Declaration":{let n=e.annotations?.toCodecIso??e.annotations?.toCodec;if(dn(n)){let r=n(e.typeParameters.map(o=>tr(o)));return Ye(e,[td(r,t)])}return e}case"Arrays":case"Objects":case"Union":case"Suspend":return e.recur(t)}return e}function bg(e){return tr(SN(e.ast),{schema:e})}function gN(e){return tr(bN(e.ast))}var IZ=mN(e=>{switch(e._tag){case"Null":case"Boolean":case"Number":case"BigInt":case"Symbol":case"UniqueSymbol":return 0;default:return 1}});function vZ(e,t,n){switch(e._tag){case"Declaration":{let r=e.typeParameters.map(u=>tr(t(Qr(u)))),o=e.annotations?.toCodecStringTree;if(dn(o)){let u=o(r);return u===void 0?e:Ye(e,[td(u,t)])}let s=e.annotations?.toCodecJson,i=dn(s)?s(r):void 0,c=i===void 0?e.annotations?.toCodec:void 0,d=i??(dn(c)?c(r):void 0);return d===void 0?n(e):Ye(e,[td(d,t)])}case"Null":return Ye(e,[wZ]);case"Boolean":return Ye(e,[kZ]);case"Unknown":case"ObjectKeyword":return Ye(e,[Dv]);case"Enum":case"Number":case"Literal":case"UniqueSymbol":case"Symbol":case"BigInt":return e.toCodecStringTree();case"Objects":return fN(e),e.recur(t,rg);case"Union":{let r=IZ(e.types);return r!==e.types?new Sn(r,e.options,e.annotations,e.checks,e.encoding,e.context,e.encodingChecks).recur(t):e.recur(t)}case"Arrays":case"Suspend":return e.recur(t)}return e}var wZ=new xt(new Zn("null"),new ve(K(()=>null),K(()=>"null"))),kZ=new xt(new Sn([new Zn("true"),new Zn("false")]),new ve(K(e=>e==="true"),Ks())),yN=new ve(K(e=>typeof e=="string"?[e]:e),xn()),xN=e=>e.transformation===yN,SN=Qs(e=>{let t=vZ(e,SN,n=>{throw new globalThis.Error("Missing structural codec for StringTree",{cause:n})});return t!==e&&e.context!==void 0?Xh(t,Xv(e.context)):t},{stopAt:xN}),pN=e=>Bt(e)?ya(os):os,bN=Qs(e=>{let t=CZ(e);if(Gh(t)){let n=xa(new Sn([new Yn(t.isMutable,t.elements.map(pN),t.rest.map(pN)),Pn],{mode:"anyOf"}),t,yN);return Bt(e)?ya(n):n}return t},{stopAt:xN});function IN(e){return tr(EZ(e.ast),{schema:e})}var EZ=Uo(e=>Ig(yg(Ys(e)))),yg=Qs(e=>{switch(e._tag){case"Objects":return e.recur(t=>TZ(yg(t)),Q);case"Arrays":return e.recur(t=>Ig(yg(t)));case"Declaration":case"Union":case"Suspend":return e.recur(yg)}return e}),TZ=eg(e=>Bt(e)?vN(e):Ig(e)),vN=eg(e=>$l(e)?e.recur(vN):OZ(e)||wN(e)?e:Qv(e,Yv(Xc,kN))),Ig=eg(e=>$l(e)?e.recur(Ig):Gh(e)&&e.elements.length===0&&e.rest.length===1?Qv(e,Yv(Wl(AZ,e.checks),EN)):cv(e)&&e.propertySignatures.length===0&&e.indexSignatures.length>0?Qv(e,Yv(Wl(RZ,e.checks),TN)):e);function wN(e){let t=Zs(e);switch(t._tag){case"Union":return t.checks===void 0&&t.types.some(wN);case"Null":case"Unknown":case"Any":case"Declaration":return od(tr(mr(t,void 0)))(null)}return!1}function Qv(e,t){return mr(new Sn([mr(e,void 0),t]),e.context)}var ew=e=>new ve(e,pa(()=>"Go nil values are never encoded")),kN=ew(Vr(()=>N())),EN=ew(K(()=>[])),TN=ew(K(()=>({}))),AZ=new Yn(!1,[],[]),RZ=tg(Pn,Xc);function Yv(e,t){return xa(Ll,e,t)}function OZ(e){if(!Vh(e))return!1;let t=e.types[e.types.length-1].encoding?.[0].transformation;return t===kN||t===EN||t===TN}function CZ(e){return e._tag==="Declaration"||e._tag==="Arrays"||e._tag==="Objects"||e._tag==="Union"||e._tag==="Suspend"?e.recur(bN):e}var Vle=globalThis.RegExp;var is=e=>e.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");function np(e,t){return t.length>0&&(e+=`
|
|
26
|
-
at ${yf(t)}`),new Error(e)}function AN(e){return`#/$defs/${Gv(e)}`}var DZ=new Set([...D_,la,...C_]);function rp(e,t){if(e===void 0)return;let n={};for(let c of["title","description","format","contentEncoding","contentMediaType"]){let d=e[c];typeof d=="string"&&(n[c]=d)}for(let c of["readOnly","writeOnly"]){let d=e[c];typeof d=="boolean"&&(n[c]=d)}let r=e.expected;n.description===void 0&&t?.generateDescriptions===!0&&typeof r=="string"&&(n.description=r);let o=e.default;nd(o)&&(n.default=o);let s=e.examples;Array.isArray(s)&&nd(s)&&(n.examples=s);let i=e.contentSchema;if(nd(i)&&(n.contentSchema=i),t?.includeAnnotationKey!==void 0)for(let[c,d]of Object.entries(e))DZ.has(c)||!t.includeAnnotationKey(c)||nd(d)&&M(n,c,d);return Object.keys(n).length===0?void 0:n}function RN(e){let t=e.type==="number"||e.type==="integer"?e.type:void 0,n=e;if(t!==void 0&&(n={...e},delete n.type),Array.isArray(n.allOf)){let r=[],o=!1;for(let s of n.allOf){let i=RN(s);i.type!==void 0&&(o=!0,(t===void 0||i.type==="integer")&&(t=i.type)),Object.keys(i.schema).length>0&&r.push(i.schema)}if(o){let{allOf:s,...i}=n;n=r.length===0?i:{...i,allOf:r}}}return{type:t,schema:n}}function PZ(e){if(!Array.isArray(e.anyOf)||e.anyOf.length!==2||e.anyOf[0]?.type!=="number")return!1;let t=e.anyOf[1];return t?.type==="string"&&Array.isArray(t.enum)&&t.enum.length===3&&t.enum.includes("NaN")&&t.enum.includes("Infinity")&&t.enum.includes("-Infinity")}var ON="|type|format|pattern|multipleOf|minimum|maximum|exclusiveMinimum|exclusiveMaximum|minLength|maxLength|minItems|maxItems|uniqueItems|minProperties|maxProperties|propertyNames|";function vg(e,t){return Object.keys(e).every(n=>t.includes(`|${n}|`))}function MZ(e,t){return typeof e.$ref!="string"&&t.every(n=>!Object.hasOwn(e,n))}var _Z="|minimum|exclusiveMinimum|minLength|minItems|minProperties|",UZ="|maximum|exclusiveMaximum|maxLength|maxItems|maxProperties|";function NZ(e,t,n){if(typeof e.$ref=="string")return;let r={...e,...t};for(let o of n){if(!Object.hasOwn(e,o))continue;let s=e[o],i=t[o];if(typeof s!="number"||typeof i!="number")return;if(_Z.includes(`|${o}|`))r[o]=Math.max(s,i);else if(UZ.includes(`|${o}|`))r[o]=Math.min(s,i);else return}return typeof r.minimum=="number"&&typeof r.exclusiveMinimum=="number"&&delete r[r.exclusiveMinimum>=r.minimum?"minimum":"exclusiveMinimum"],typeof r.maximum=="number"&&typeof r.exclusiveMaximum=="number"&&delete r[r.exclusiveMaximum<=r.maximum?"maximum":"exclusiveMaximum"],r}var rw="|title|description|default|examples|readOnly|writeOnly|",FZ=ON+rw;function op(e,t,n){if(Object.keys(e).length===0)return t;let r=Object.keys(t);if(r.length===0)return e;let o=e.type==="number"||e.type==="integer"?e.type:void 0,s=PZ(e);if(o!==void 0||s){let c=RN(t);if(c.type!==void 0){let d=o==="integer"||c.type==="integer"?"integer":"number",u={...e,type:d};s&&delete u.anyOf;let l=Object.keys(c.schema);return l.length===0?u:vg(c.schema,rw)&&MZ(u,l)?{...u,...c.schema}:op(u,c.schema,n)}}if(n){let c=NZ(e,t,r);if(c!==void 0)return c}let i=Array.isArray(t.allOf)&&r.length===1?t.allOf:[t];return Array.isArray(e.allOf)?{...e,allOf:[...e.allOf,...i]}:typeof e.$ref=="string"?{allOf:[e,...i]}:{...e,allOf:i}}function nw(e,t=new Set){return typeof e=="boolean"?e:t.has(e)?!0:(t.add(e),e.every(n=>nw(n,t)))}function $Z(e){return Array.isArray(e)}function LZ(e,t,n,r){let o=new Map,s=new Map,i=new WeakMap,c=new Map,d=new Map,u=Object.keys(n);for(let x of u)b(x,["references",x]);let l=zo(e,(x,w)=>I(x,t[w],[]));for(let[x,w]of c.values())if(!nw(x))for(let E of w)Array.isArray(E.oneOf)&&(E.anyOf=E.oneOf,delete E.oneOf);for(let x of u){let w=n[x],E=S(w);if(E===void 0)continue;let T=o.get(x)[0],_=d.get(E),B=_?.find(de=>V(o.get(de)[0],T));B===void 0?_===void 0?d.set(E,[x]):_.push(x):s.set(x,B)}let p=zo(l,y),f={};for(let x of u)s.has(x)||M(f,x,y(o.get(x)[0]));return{dialect:"draft-2020-12",schemas:p,definitions:f};function g(x){return Array.isArray(x.oneOf)&&c.get(x.oneOf)?.[1].push(x),x}function b(x,w){if(!Object.hasOwn(n,x))throw np(`Invalid reference ${x}`,[...w,"$ref"]);let E=o.get(x);if(E!==void 0)return E;let T=[{},[]];return o.set(x,T),T[0]=I(n[x],["references",x],T[1]),T}function y(x){return aN(x,w=>{let E=Vv(w);if(E===void 0){if(/^#(?:\/|%2f)/i.test(w))throw new Error(`Invalid JSON Pointer URI fragment ${JSON.stringify(w)}`);return w}if(!E.startsWith("/$defs/"))return w;let T=E.indexOf("/",7),_=s.get(ep(E.slice(7,T<0?void 0:T)));return _===void 0?w:w.replace(/^#(?:\/|%2f).*?(?:\/|%2f).*?(?=\/|%2f|$)/i,AN(_))})}function S(x){if(x._tag==="Reference")return;let w=x.checks.length===0?x.annotations:x.checks[x.checks.length-1].annotations;return typeof w?.identifier!="string"&&typeof w?.[la]=="string"?w[la]:void 0}function v(x,w,E,T){let _=x.annotations,B=_?.toJsonSchema;if(B!==void 0){let W=x.representation?.schemas?.map((Ze,Er)=>I(Ze,[...E,"representation","schemas",Er],T))??[],L=B({type:w,schemas:W}),oe=$Z(L);oe&&T.push(!1);let Le=oe?L[0]:L,ft=rp(_,r),kt=ft===void 0?Le:{...Le,...ft},rt=ft===void 0?ON:FZ;return[kt,x._tag==="Filter"&&vg(kt,rt)&&(ft===void 0||vg(ft,rw))?!0:void 0]}if(x._tag==="Filter"){T.push(!1);return}let de=x.checks.flatMap((W,L)=>{let oe=v(W,w,[...E,"checks",L],T);return oe===void 0?[]:[oe[0]]});if(de.length===0)return;let Se=rp(_,r),D={allOf:de};return[Se===void 0?D:{...D,...Se}]}function I(x,w,E){if(x._tag==="Reference")return E.push(b(x.$ref,w)[1]),{$ref:AN(x.$ref)};let T=i.get(x);if(T!==void 0)return E.push(T[1]),T[0];let _=[];E.push(_);let B=R(x,w,_),de=rp(x.annotations,r);de!==void 0&&(B={...B,...de});for(let Se=0;Se<x.checks.length;Se++){let D=typeof B.type=="string"&&qZ(B.type)?B.type:void 0,W=v(x.checks[Se],D,[...w,"checks",Se],_);W!==void 0&&(B=op(B,...W))}return i.set(x,[B,_]),g(B)}function R(x,w,E){switch(x._tag){case"Any":case"Unknown":return{};case"ObjectKeyword":return{anyOf:[{type:"object"},{type:"array"}]};case"Void":case"Undefined":case"Null":return{type:"null"};case"BigInt":return{type:"string",allOf:[{pattern:"^-?\\d+$"}]};case"Symbol":return{type:"string",allOf:[{pattern:"^Symbol\\(([\\s\\S]*)\\)$"}]};case"UniqueSymbol":return globalThis.Symbol.keyFor(x.symbol)===void 0?{not:{}}:{type:"string",enum:[globalThis.String(x.symbol)]};case"Declaration":return E.push(!1),{};case"Suspend":return I(x.thunk,[...w,"thunk"],E);case"Never":return{not:{}};case"String":return{type:"string"};case"Number":return{anyOf:[{type:"number"},{type:"string",enum:["NaN","Infinity","-Infinity"]}]};case"Boolean":return{type:"boolean"};case"Literal":{let T=x.literal;return typeof T=="bigint"?{type:"string",enum:[globalThis.String(T)]}:{type:typeof T,enum:[T]}}case"Enum":{let T=x.enums.map(([_,B])=>({type:typeof B,enum:[B],title:_}));return T.length===0?{not:{}}:{anyOf:T}}case"TemplateLiteral":return{type:"string",pattern:`^${x.parts.map(wg).join("")}$`};case"Arrays":{let T={type:"array"},_=x.elements.length,B=x.elements.map((de,Se)=>{de.isOptional&&_--;let D=I(de.type,[...w,"elements",Se,"type"],E),W=rp(de.annotations,r);return W===void 0?D:g(op(D,W))});if(B.length>0?(T.prefixItems=B,T.maxItems=x.elements.length,_>0&&(T.minItems=_)):T.items=!1,x.rest.length===1){delete T.maxItems;let de=I(x.rest[0],[...w,"rest",0],E);Object.keys(de).length>0?T.items=de:delete T.items}else x.rest.length>1&&(delete T.maxItems,delete T.items,T.minItems=_+x.rest.length-1,E.push(!1));return T}case"Objects":{if(x.propertySignatures.length===0&&x.indexSignatures.length===0)return{not:{type:"null"}};let T={type:"object"},_={},B=[];for(let oe=0;oe<x.propertySignatures.length;oe++){let Le=x.propertySignatures[oe];if(typeof Le.name!="string")throw np("Objects property names must be strings",[...w,"propertySignatures",oe,"name"]);let ft=Le.name,kt=I(Le.type,[...w,"propertySignatures",oe,"type"],E),rt=rp(Le.annotations,r);M(_,ft,rt===void 0?kt:g(op(kt,rt))),Le.isOptional||B.push(ft)}x.propertySignatures.length>0&&(T.properties=_),B.length>0&&(T.required=B);let de={},Se=[],D=[],W=!1;for(let oe=0;oe<x.indexSignatures.length;oe++){let Le=x.indexSignatures[oe],ft=I(Le.type,[...w,"indexSignatures",oe,"type"],E);V(ft,{not:{}})&&(ft=!1),D.push(ft);let kt=k(Le.parameter,[...w,"indexSignatures",oe,"parameter"],new Set);if(kt===void 0){W=!0,E.push(!1);continue}if(kt.length===0)Se.push(ft);else for(let rt of kt){let Ze=de[rt];M(de,rt,Ze===void 0?ft:Ze===!1||ft===!1?!1:g(op(Ze,ft)))}}let L=Object.keys(de).length>0;if(L&&(T.patternProperties=de),W&&r?.onExcessProperty==="error"){let oe=[];x.propertySignatures.length>0&&oe.push({enum:Object.keys(_)});for(let Le=0;Le<x.indexSignatures.length;Le++)oe.push(A(x.indexSignatures[Le].parameter,[...w,"indexSignatures",Le,"parameter"],E,new Set));T.propertyNames=oe.length===1?oe[0]:{anyOf:oe},T.additionalProperties=D.length===1?D[0]:{anyOf:D},Se.length>0&&(T.allOf=Se.map(Le=>({type:"object",additionalProperties:Le})))}else Se.length===0?T.additionalProperties=W||r?.onExcessProperty!=="error":Se.length===1&&x.propertySignatures.length===0&&!L?T.additionalProperties=Se[0]:Se.length>0&&(T.allOf=Se.map(oe=>({type:"object",additionalProperties:oe})));return typeof T.additionalProperties=="object"&&T.additionalProperties!==null&&Object.keys(T.additionalProperties).length===0&&delete T.additionalProperties,T}case"Union":{let T=[],_=x.types.map((B,de)=>I(B,[...w,"types",de],T));if(E.push(T),_.length===0)return{not:{}};if(x.options?.mode==="oneOf")return c.set(_,[T,[]]),{oneOf:_};if(_.length>1){let B=BZ(_);if(B!==void 0)return B}return{anyOf:_.flatMap(B=>Array.isArray(B.anyOf)&&Object.keys(B).length===1?B.anyOf:[B])}}}}function A(x,w,E,T){switch(x._tag){case"Number":return{type:"string",pattern:`^(?:${ed}|Infinity|-Infinity|NaN)$`};case"Reference":return T.has(x.$ref)?{type:"string"}:A(n[x.$ref],["references",x.$ref],E,new Set(T).add(x.$ref));case"Union":return{anyOf:x.types.map(_=>A(_,w,E,T))};default:return I(x,w,E)}}function k(x,w,E){switch(x._tag){case"Reference":{if(b(x.$ref,w),E.has(x.$ref))return;let T=new Set(E).add(x.$ref);return k(n[x.$ref],["references",x.$ref],T)}case"String":{if(x.checks.length===0)return[];if(x.checks.length!==1||x.checks[0]._tag!=="Filter"||x.checks[0].annotations?.toJsonSchema===void 0)return;let T=[],_=I(x,w,T);return nw(T)&&_.type==="string"&&typeof _.pattern=="string"&&vg(_,"|type|pattern|title|description|default|examples|readOnly|writeOnly|")?[_.pattern]:void 0}case"TemplateLiteral":return x.checks.length===0?[`^${x.parts.map(wg).join("")}$`]:void 0;case"Union":{if(x.types.length===0||x.checks.length>0||x.options?.mode==="oneOf")return;let T=[];for(let _=0;_<x.types.length;_++){let B=k(x.types[_],[...w,"types",_],E);if(B===void 0)return;if(B.length===0)return[];T.push(...B)}return T}case"Number":return x.checks.length===0?[`^(?:${ed}|Infinity|-Infinity|NaN)$`]:void 0;default:throw np(`Invalid index signature parameter ${x._tag}`,w)}}}function qZ(e){return e==="string"||e==="number"||e==="boolean"||e==="array"||e==="object"||e==="null"||e==="integer"}function BZ(e){let t,n=[];for(let r of e){if(Object.keys(r).length!==2||r.type===void 0||!Array.isArray(r.enum)||r.enum.length===0)return;if(t===void 0)t=r.type;else if(r.type!==t)return;for(let s of r.enum){if(n.includes(s))return;n.push(s)}}return{type:t,enum:n}}function wg(e){switch(e._tag){case"Literal":return is(globalThis.String(e.literal));case"String":return MU;case"Number":return ed;case"BigInt":return"-?\\d+";case"TemplateLiteral":return e.parts.map(wg).join("");case"Union":return`(?:${e.types.map(wg).join("|")})`;default:throw np(`Invalid TemplateLiteral part ${e._tag}`,[])}}function kg(e,t){let n=LZ([e.representation],[["representation"]],e.references,t);return{dialect:n.dialect,schema:n.schemas[0],definitions:n.definitions}}var jZ=({identifier:e})=>e;function eo(e){return e===void 0?void 0:{annotations:e}}function sp(e,t){let{references:n,representations:r}=HZ([e],t);return{representation:r[0],references:n}}function HZ(e,t){let n={},r=new Map,o=new Set,s=new Map,i=new Set;for(let k of e)g(k);let c=t?.referencePolicy??jZ;for(let k of s.values())for(let x of k.values()){let w=c({ast:x.ast,occurrences:x.occurrences,identifier:x.identifier});if(w!==void 0){let E=w===x.identifier||!w.endsWith("_")?"_":"";x.reference=u(w,x,E)}else x.isRecursive&&(x.reference=u(`${x.ast._tag}_`,x,""))}return{representations:zo(e,k=>y(k)),references:n};function u(k,x,w="_"){let E=k,T=0;for(;r.has(E);){if(r.get(E)===x)return E;E=`${k}${w}${++T}`}return r.set(E,x),E}function l(k,x,w){let E=x.fallback;return E!==void 0?J0(k)===E?k:Zr(k,{[la]:E}):w===x.identifier?k:Zr(k,{identifier:w})}function p(k,x){if(!Object.hasOwn(n,k)&&!o.has(k)){o.add(k);let w=S(x);o.delete(k),M(n,k,w)}return{_tag:"Reference",$ref:k}}function f(k){let x=Zs(k),w=Js(x),E=Hc(x),T=E===void 0?(x!==k?Hc(k):void 0)??J0(x):void 0;T!==void 0&&(E=`${T}Encoded`);let _=s.get(w);_===void 0&&(_=new Map,s.set(w,_));let B=_.get(E);return B===void 0&&(B={ast:w,identifier:E,fallback:T,occurrences:0,isRecursive:!1,reference:void 0},_.set(E,B)),B}function g(k){let x=f(k),w=x.ast;if(x.occurrences++,i.has(x)){x.isRecursive=!0;return}if(!(x.occurrences>1)){switch(i.add(x),b(w.checks),w._tag){case"Declaration":case"Arrays":case"Objects":case"Union":w.recur(E=>(g(E),E));break;case"TemplateLiteral":w.parts.forEach(g);break;case"Suspend":g(w.thunk());break}i.delete(x)}}function b(k){k?.forEach(x=>{x.annotations?.representation?.schemas?.forEach(w=>g(At(w))),x._tag==="FilterGroup"&&b(x.checks)})}function y(k){let x=f(k),w=x.ast,E=x.reference;if(E!==void 0){let T=x.identifier===void 0?w:l(w,x,E);return p(E,T)}return S(w)}function S(k){let x=v(k.checks);switch(k._tag){case"Declaration":return{_tag:"Declaration",typeParameters:k.typeParameters.map(w=>y(w)),checks:x,...R(k.annotations)};case"Null":case"Undefined":case"Void":case"Never":case"Unknown":case"Any":case"String":case"Boolean":case"Number":case"BigInt":case"Symbol":case"ObjectKeyword":return{_tag:k._tag,checks:x,...eo(k.annotations)};case"Literal":return{_tag:"Literal",literal:k.literal,checks:x,...eo(k.annotations)};case"UniqueSymbol":return{_tag:"UniqueSymbol",symbol:k.symbol,checks:x,...eo(k.annotations)};case"Enum":return{_tag:"Enum",enums:k.enums,checks:x,...eo(k.annotations)};case"TemplateLiteral":return{_tag:"TemplateLiteral",parts:k.parts.map(w=>y(w)),checks:x,...eo(k.annotations)};case"Arrays":return{_tag:"Arrays",elements:k.elements.map(w=>{let E=Zs(w),T=E.context?.annotations;return{isOptional:Bt(E),type:y(w),...eo(T)}}),rest:k.rest.map(w=>y(w)),checks:x,...eo(k.annotations)};case"Objects":return{_tag:"Objects",propertySignatures:k.propertySignatures.map(w=>{let E=Zs(w.type),T=E.context?.annotations;return{name:w.name,type:y(w.type),isOptional:Bt(E),isMutable:OU(E),...eo(T)}}),indexSignatures:k.indexSignatures.map(w=>({parameter:y(w.parameter),type:y(w.type)})),checks:x,...eo(k.annotations)};case"Union":return{_tag:"Union",types:k.types.map(w=>y(w)),...k.options===void 0?{}:{options:k.options},checks:x,...eo(k.annotations)};case"Suspend":return{_tag:"Suspend",checks:[],thunk:y(k.thunk()),...eo(k.annotations)}}}function v(k){return k?.map(I)??[]}function I(k){switch(k._tag){case"Filter":return{_tag:"Filter",aborted:k.aborted,...A(k.annotations)};case"FilterGroup":return{_tag:"FilterGroup",checks:zo(k.checks,I),...A(k.annotations)}}}function R(k){if(k===void 0)return;let{representation:x,...w}=k;return{...x===void 0?void 0:{representation:x},...Object.keys(w).length===0?void 0:{annotations:w}}}function A(k){if(k===void 0)return;let{representation:x,...w}=k,E=x===void 0?void 0:x.schemas===void 0?x:{...x,schemas:x.schemas.map(T=>y(At(T)))};return{...E===void 0?void 0:{representation:E},...Object.keys(w).length===0?void 0:{annotations:w}}}}function PN(e){return qt(e)?e.value:{issues:[{message:WC(e.cause)}]}}function _N(e,t){let n=lt(e),r={errors:"all",...t?.parseOptions},o=$_(t);return UN(e,{validate:i=>{let c=new _i("sync"),d=Zb(Vb(n(i,r),{onFailure:o,onSuccess:l=>({value:l})}),{scheduler:c});d.currentDispatcher?.flush();let u=d.pollUnsafe();return u?PN(u):new Promise(l=>{d.addObserver(p=>{l(PN(p))})})}})}function UN(e,t){let n={version:1,vendor:"effect",...Object.hasOwn(e,"~standard")?e["~standard"]:void 0,...t},r=typeof e=="function"?Function.prototype.bind.call(e,void 0):Object.create(Object.getPrototypeOf(e));return Object.defineProperties(r,{...Object.getOwnPropertyDescriptors(e),ast:{value:e.ast,enumerable:!0,configurable:!0},"~standard":{value:n,writable:!0,enumerable:!0,configurable:!0}})}function zZ(e){let t=sp(Ys(e));return kg(t)}function MN(e,t){let n=zZ(e);if(t==="draft-2020-12"){let r=n.schema;return Object.keys(n.definitions).length>0&&(r.$defs=n.definitions),r}else if(t==="draft-07"){let r=iN(n),o=r.schema;return Object.keys(r.definitions).length>0&&(o.definitions=r.definitions),o}throw new globalThis.Error(`Unsupported target: ${t}`)}function NN(e){return UN(e,{jsonSchema:{input(t){return MN(e.ast,t.target)},output(t){return MN(At(e.ast),t.target)}}})}function $N(e,t){let n=[];return ow(e,t,"",n),n}function ow(e,t,n,r){if(!Object.is(e,t)){if(Array.isArray(e)&&Array.isArray(t)){let o=e.length,s=t.length,i=Math.min(o,s);for(let c=0;c<i;c++)ow(e[c],t[c],`${n}/${c}`,r);for(let c=o-1;c>=s;c--)r.push({op:"remove",path:`${n}/${c}`});for(let c=o;c<s;c++)r.push({op:"add",path:`${n}/${c}`,value:t[c]});return}if(Eg(e)&&Eg(t)){let o=Object.keys(e),s=Object.keys(t),i=Array.from(new Set([...o,...s])).sort();for(let c of i){let d=`${n}/${Kv(c)}`,u=Object.hasOwn(e,c),l=Object.hasOwn(t,c);u&&l?ow(e[c],t[c],d,r):!u&&l?r.push({op:"add",path:d,value:t[c]}):r.push({op:"remove",path:d})}return}r.push({op:"replace",path:n,value:t})}}function LN(e,t){let n=t;for(let r of e)n=GZ(n,r);return n}function Eg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KZ(e){if(e==="")return[];if(e.charCodeAt(0)!==47)throw new Error(`Invalid JSON Pointer, it must start with "/": ${JSON.stringify(e)}`);return e.split("/").slice(1).map(ep)}function qN(e){if(!/^(0|[1-9]\d*)$/.test(e))throw new Error(`Invalid array index: "${e}"`);return Number(e)}function GZ(e,t){if(t.path===""){if(t.op==="remove")throw new Error("Unsupported operation at the root");return t.value}let n=VZ(e,t.path);if(n===null)throw new Error(`Cannot ${t.op} at "${t.path}" (parent not found or not a container).`);let{lastToken:r,parent:o,stack:s}=n;if(Array.isArray(o)){if(r==="-"&&t.op!=="add")throw new Error(`"-" is not valid for ${t.op} at "${t.path}".`);let i=r==="-"?o.length:qN(r),c=t.op==="add"?o.length:o.length-1;if(i>c)throw new Error(`Array index out of bounds at "${t.path}".`);let d=o.slice();return t.op==="add"?d.splice(i,0,t.value):t.op==="remove"?d.splice(i,1):d[i]=t.value,FN(s,d)}if(Eg(o)){if(t.op!=="add"&&!Object.hasOwn(o,r))throw new Error(`Property "${r}" does not exist at "${t.path}".`);let i={...o};return t.op==="remove"?delete i[r]:M(i,r,t.value),FN(s,i)}throw new Error(`Cannot ${t.op} at "${t.path}" (parent not found or not a container).`)}function VZ(e,t){let n=KZ(t);if(n.length===0)return null;let r=n[n.length-1],o=[],s=e;for(let i=0;i<n.length-1;i++){let c=n[i];if(Array.isArray(s)){let d=qN(c);if(d>=s.length)return null;o.push({container:s,token:d}),s=s[d];continue}if(Eg(s)){if(!Object.hasOwn(s,c))return null;o.push({container:s,token:c}),s=s[c];continue}return null}return{stack:o,parent:s,lastToken:r}}function FN(e,t){let n=t;for(let r=e.length-1;r>=0;r--){let{container:o,token:s}=e[r];if(Array.isArray(o)){let i=o.slice();i[s]=n,n=i}else{let i={...o};M(i,s,n),n=i}}return n}function jN(e){let t=xg(e),n=Yl(t),r=Ql(t);return{empty:[],diff:(o,s)=>$N(n(o),n(s)),combine:(o,s)=>[...o,...s],patch:(o,s)=>{let i=n(o),c=LN(s,i);return Object.is(c,i)?o:r(c)}}}function HN(e,t){let n=Hc(e.ast)??Z0(e.ast),r=$v(bg(e));return o=>r(o).pipe(tl(s=>ZZ(s,{rootName:n,...t})))}function ZZ(e,t){let n=t.rootName??"root",r=t.arrayItemName??"item",o=t.pretty??!0,s=t.indent??" ",i=t.sortKeys??!0,c=new Set,d=[];return l(n,e,0),d.join(o?`
|
|
27
|
-
`:"");function u(p,f){d.push(o?s.repeat(p)+f:f)}function l(p,f,g,b){let{attrs:y,safe:S}=ad.tagInfo(p,b);if(f===void 0)u(g,`<${S}${y}/>`);else if(typeof f=="string")u(g,`<${S}${y}>${ad.escapeText(f)}</${S}>`);else if(typeof f!="object"||f===null)u(g,`<${S}${y}>${ad.escapeText(U(f))}</${S}>`);else{if(c.has(f))throw new globalThis.Error("Cycle detected while serializing to XML.",{cause:f});c.add(f);try{if(globalThis.Array.isArray(f)){if(f.length===0){u(g,`<${S}${y}/>`);return}u(g,`<${S}${y}>`);for(let R of f)l(r,R,g+1);u(g,`</${S}>`);return}let v=f,I=Object.keys(v);if(i&&I.sort(),I.length===0){u(g,`<${S}${y}/>`);return}u(g,`<${S}${y}>`);for(let R of I)l(ad.parseTagName(R).safe,v[R],g+1,R);u(g,`</${S}>`)}finally{c.delete(f)}}}}var ad={escapeText(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},escapeAttribute(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},parseTagName(e){let t=e,n=e;return/^[A-Za-z_]/.test(n)||(n="_"+n),n=n.replace(/[^A-Za-z0-9._-]/g,"_"),/^xml/i.test(n)&&(n="_"+n),{safe:n,changed:n!==t}},tagInfo(e,t){let{changed:n,safe:r}=ad.parseTagName(e),s=n||t&&t!==e?` data-name="${ad.escapeAttribute(t??e)}"`:"";return{safe:r,attrs:s}}};var sw=Tr(e=>Xs(e));function Xs(e){let t=ns(e)?.toEquivalence;if(t)return t(Qc(e)?e.typeParameters.map(Xs):[]);switch(e._tag){case"Never":return Es();case"Declaration":return YZ(e);case"Null":case"Undefined":case"Void":case"Unknown":case"Any":case"String":case"Number":case"Boolean":case"BigInt":case"Symbol":case"Literal":case"UniqueSymbol":case"ObjectKeyword":case"Enum":case"TemplateLiteral":return V;case"Arrays":{let n=e.elements.map(Xs),r=e.rest.map(Xs),[o,...s]=r,i=s.length;return ht((c,d)=>{if(!Array.isArray(c)||!Array.isArray(d))return!1;let u=c.length;if(u!==d.length)return!1;let l=0;for(;l<Math.min(u,e.elements.length);l++)if(!n[l](c[l],d[l]))return!1;if(r.length>0){for(;l<u-i;l++)if(!o(c[l],d[l]))return!1;for(let p=0;p<i;p++)if(!s[p](c[l+p],d[l+p]))return!1}return!0})}case"Objects":{if(e.propertySignatures.length===0&&e.indexSignatures.length===0)return V;let n=e.propertySignatures.map(o=>Xs(o.type)),r=e.indexSignatures.map(o=>Xs(o.type));return ht((o,s)=>{if(!Ln(o)||!Ln(s))return!1;for(let i=0;i<n.length;i++){let c=e.propertySignatures[i],d=c.name,u=Object.hasOwn(o,d),l=Object.hasOwn(s,d);if(Bt(c.type)&&u!==l||u&&l&&!n[i](o[d],s[d]))return!1}for(let i=0;i<r.length;i++){let c=e.indexSignatures[i],d=Gs(o,c.parameter),u=Gs(s,c.parameter);if(d.length!==u.length)return!1;for(let l=0;l<d.length;l++){let p=d[l];if(!Object.hasOwn(s,p)||!r[i](o[p],s[p]))return!1}}return!0})}case"Union":{let n=At(e).types,r=jl(n),o=n.map((s,i)=>[sd(s),Xs(e.types[i])]);return ht((s,i)=>{let c=r(s,!1);for(let d=0;d<c.length;d++){let[u,l]=o[c[d]];if(u(s)&&u(i))return l(s,i)}return!1})}case"Suspend":{let n;return ht((r,o)=>(n??=sw(e.thunk()))(r,o))}}}function YZ(e){let t=e.annotations?.representation;if(t===void 0)return V;switch(t.id){case"effect/schema/Option":{let[n]=ba(e);return(r,o)=>r._tag===o._tag&&(r._tag==="None"||n(r.value,o.value))}case"effect/schema/Result":{let[n,r]=ba(e);return(o,s)=>o._tag===s._tag&&(o._tag==="Success"?n(o.success,s.success):r(o.failure,s.failure))}case"effect/schema/CauseReason":{let[n,r]=ba(e);return WN(n,r)}case"effect/schema/Cause":{let[n,r]=ba(e);return zN(n,r)}case"effect/schema/Exit":{let[n,r,o]=ba(e),s=zN(r,o);return(i,c)=>i._tag===c._tag&&(i._tag==="Success"?n(i.value,c.value):s(i.cause,c.cause))}case"effect/schema/ReadonlyMap":{let[n,r]=ba(e);return gf(n,r)}case"effect/schema/ReadonlySet":return ru(ba(e)[0]);case"effect/schema/RegExp":return(n,r)=>n.source===r.source&&n.flags===r.flags;case"effect/schema/URL":return(n,r)=>n.toString()===r.toString();default:return V}}function ba(e){return e.typeParameters.map(Xs)}function WN(e,t){return(n,r)=>{if(n._tag!==r._tag)return!1;switch(n._tag){case"Fail":return e(n.error,r.error);case"Die":return t(n.defect,r.defect);case"Interrupt":return n.fiberId===r.fiberId}}}function zN(e,t){let n=ec(WN(e,t));return(r,o)=>n(r.reasons,o.reasons)}function GN(e,t){return n=>{switch(n._tag){case"Fail":return`Fail(${e(n.error)})`;case"Die":return`Die(${t(n.defect)})`;case"Interrupt":return"Interrupt"}}}function KN(e,t){let n=GN(e,t);return r=>`Cause([${r.reasons.map(n).join(", ")}])`}function VN(e,t){let n=new Map;return r(e);function r(i){let c=n.get(i);return c===void 0&&(c=o(i),n.set(i,c)),c}function o(i){let c=ns(i)?.toFormatter;if(typeof c=="function")return c(Qc(i)?i.typeParameters.map(r):[]);if(t?.onBefore){let d=t.onBefore(i,r);if(d!==void 0)return d}return s(i)}function s(i){switch(i._tag){default:return U;case"Never":return()=>"never";case"Void":return()=>"void";case"Declaration":{let c=i.annotations?.representation;if(c===void 0)return U;let d=i.typeParameters.map(r);switch(c.id){case"effect/schema/Option":{let[u]=d;return ut({onNone:()=>"none()",onSome:l=>`some(${u(l)})`})}case"effect/schema/Result":{let[u,l]=d;return Jt({onSuccess:p=>`success(${u(p)})`,onFailure:p=>`failure(${l(p)})`})}case"effect/schema/CauseReason":return GN(d[0],d[1]);case"effect/schema/Cause":return KN(d[0],d[1]);case"effect/schema/Exit":{let[u,l,p]=d,f=KN(l,p);return g=>{switch(g._tag){case"Success":return`Exit.Success(${u(g.value)})`;case"Failure":return`Exit.Failure(${f(g.cause)})`}}}case"effect/schema/ReadonlyMap":{let[u,l]=d;return p=>{let f=p.size;if(f===0)return"ReadonlyMap(0) {}";let g=globalThis.Array.from(p.entries()).map(([b,y])=>`${u(b)} => ${l(y)}`).sort();return`ReadonlyMap(${f}) { ${g.join(", ")} }`}}case"effect/schema/HashMap":{let[u,l]=d;return p=>{let f=ZM(p);if(f===0)return"HashMap(0) {}";let g=pl(p).map(([b,y])=>`${u(b)} => ${l(y)}`).sort();return`HashMap(${f}) { ${g.join(", ")} }`}}case"effect/schema/ReadonlySet":{let[u]=d;return l=>{let p=l.size;if(p===0)return"ReadonlySet(0) {}";let f=globalThis.Array.from(l.values()).map(g=>`${u(g)}`).sort();return`ReadonlySet(${p}) { ${f.join(", ")} }`}}case"effect/schema/HashSet":{let[u]=d;return l=>{let p=t_(l);if(p===0)return"HashSet(0) {}";let f=globalThis.Array.from(l).map(g=>`${u(g)}`).sort();return`HashSet(${p}) { ${f.join(", ")} }`}}case"effect/schema/Chunk":{let[u]=d;return l=>{let p=_M(l);if(p===0)return"Chunk(0) {}";let f=globalThis.Array.from(l).map(g=>`${u(g)}`);return`Chunk(${p}) { ${f.join(", ")} }`}}default:return U}}case"Arrays":{let c=i.elements.map(f=>r(f)),d=i.rest.map(r),[u,...l]=d,p=l.length;return f=>{let g=[],b=0;for(;b<c.length;b++)if(f.length<b+1){if(Bt(i.elements[b]))continue}else g.push(c[b](f[b]));if(d.length>0){for(;b<f.length-p;b++)g.push(u(f[b]));for(let y=0;y<p;y++)g.push(l[y](f[b+y]))}return"["+g.join(", ")+"]"}}case"Objects":{let c=i.propertySignatures.map(u=>r(u.type)),d=i.indexSignatures.map(u=>r(u.type));return i.propertySignatures.length===0&&i.indexSignatures.length===0?U:u=>{let l=[],p=new Set;for(let f=0;f<c.length;f++){let g=i.propertySignatures[f],b=g.name;p.add(b),!(Bt(g.type)&&!Object.hasOwn(u,b))&&l.push(`${uo(b)}: ${c[f](u[b])}`)}for(let f=0;f<d.length;f++){let g=Gs(u,i.indexSignatures[f].parameter);for(let b of g)p.has(b)||(p.add(b),l.push(`${uo(b)}: ${d[f](u[b])}`))}return l.length>0?"{ "+l.join(", ")+" }":"{}"}}case"Union":{let c=At(i).types,d=jl(c),u=c.map((l,p)=>[sd(l),r(i.types[p])]);return l=>{let p=d(l,!1);for(let f=0;f<p.length;f++){let[g,b]=u[p[f]];if(g(l))return b(l)}return U(l)}}case"Suspend":{let c;return d=>(c??=r(i.thunk()))(d)}}}}var gr={};Ae(gr,{Record:()=>p7,assign:()=>iw,evolve:()=>r7,evolveEntries:()=>s7,evolveKeys:()=>o7,get:()=>t7,keys:()=>n7,lambda:()=>an,makeCombiner:()=>JN,makeEquivalence:()=>i7,makeOrder:()=>a7,makeReducer:()=>l7,map:()=>c7,mapOmit:()=>u7,mapPick:()=>d7,omit:()=>Ag,pick:()=>Tg,renameKeys:()=>Rg});var t7=h(2,(e,t)=>e[t]),n7=e=>Object.keys(e),Tg=h(2,(e,t)=>as(e,(n,r)=>Og(t,n)?[n,r]:void 0)),Ag=h(2,(e,t)=>as(e,(n,r)=>Og(t,n)?void 0:[n,r])),iw=h(2,(e,t)=>({...e,...t})),r7=h(2,(e,t)=>as(e,(n,r)=>[n,Object.hasOwn(t,n)?t[n](r):r])),o7=h(2,(e,t)=>as(e,(n,r)=>[Object.hasOwn(t,n)?t[n](n):n,r])),s7=h(2,(e,t)=>as(e,(n,r)=>Object.hasOwn(t,n)?t[n](n,r):[n,r])),Rg=h(2,(e,t)=>as(e,(n,r)=>[Object.hasOwn(t,n)?t[n]:n,r])),i7=QT,a7=cA,an=e=>e,c7=h(2,(e,t)=>as(e,(n,r)=>[n,t(r)])),d7=h(3,(e,t,n)=>as(e,(r,o)=>[r,Og(t,r)?n(o):o])),u7=h(3,(e,t,n)=>as(e,(r,o)=>[r,Og(t,r)?o:n(o)]));function Og(e,t){return e.some(n=>n===t||typeof n=="number"&&String(n)===t)}function as(e,t){let n={};for(let r of Reflect.ownKeys(e)){if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;let o=t(r,e[r]);if(o){let[s,i]=o;M(n,s,i)}}return n}function JN(e,t){let n=t?.omitKeyWhen??(()=>!1);return kf((r,o)=>{let s=Reflect.ownKeys(e),i={};for(let c of s){let d=e[c].combine(r[c],o[c]);n(d)||M(i,c,d)}return i})}function l7(e,t){let n=JN(e,t).combine,r={};for(let o of Reflect.ownKeys(e)){let s=e[o].initialValue;t?.omitKeyWhen?.(s)||M(r,o,s)}return uu(n,r)}function p7(e,t){let n={};for(let r of e)M(n,r,t);return n}function YN(e,t){return to(cd("Iso",e,t))}function ZN(e,t){return to(cd("Lens",e,t))}function cd(e,t,n){return[{_tag:"PrimitiveNode",kind:e,get:t,set:n}]}var f7={kind:"Iso",get:Q,set:Q},Cg=class{_tag="PathNode";kind="Lens";path;get;set;constructor(t){this.path=t,this.get=n=>{let r=n;for(let o=0;o<t.length;o++)r=r[t[o]];return r},this.set=(n,r)=>{let o=Dg(r),s=o,i=0;for(;i<t.length-1;i++){let c=t[i];M(s,c,Dg(s[c])),s=s[c]}return M(s,t[i],n),o}}},ip=class{_tag="CheckNode";kind="Prism";checks;get;set=Q;constructor(t){this.checks=t,this.get=n=>NU(t,n)}};function Ia(e,t){if(e.length===0)return t;if(t.length===0)return e;let n=e.slice();for(let r=0;r<t.length;r++){let o=t[r],s=n[n.length-1];s._tag==="PathNode"&&o._tag==="PathNode"?n[n.length-1]=new Cg([...s.path,...o.path]):s._tag==="CheckNode"&&o._tag==="CheckNode"?n[n.length-1]=new ip([...s.checks,...o.checks]):n.push(o)}return n}function m7(e,t){return to(cd("Optional",e,t))}var dd=class{node;getResult;replaceResult;constructor(t,n,r){this.node=t,this.getResult=n,this.replaceResult=r}replace(t,n){return Rs(this.replaceResult(t,n),()=>n)}modify(t){return n=>Rs(gt(this.getResult(n),r=>this.replaceResult(t(r),n)),()=>n)}compose(t){return to(Ia(this.node,t.node))}key(t){return to(Ia(this.node,[new Cg([t])]))}optionalKey(t){return to(Ia(this.node,cd("Lens",n=>n[t],(n,r)=>{let o=Dg(r);return n===void 0?Array.isArray(o)&&(typeof t=="number"||typeof t=="string"&&jf(t))?o.splice(Number(t),1):delete o[t]:M(o,t,n),o})))}check(...t){return to(Ia(this.node,[new ip(t)]))}refine(t,n){return to(Ia(this.node,[new ip([Yh(t,n)])]))}tag(t){let n=J(new Z({expected:`${JSON.stringify(t)} tag`}));return to(Ia(this.node,cd("Prism",r=>r._tag===t?$(r):n,Q)))}at(t,...n){let r=J(new Mt([t],new rs(void 0)));return to(Ia(this.node,cd("Optional",o=>Object.hasOwn(o,t)?$(o[t]):r,(o,s)=>{if(Object.hasOwn(s,t)){let i=Dg(s);return M(i,t,o),$(i)}else return r})))}pick(t){return this.compose(ZN(Tg(t),(n,r)=>({...Ag(r,t),...n})))}omit(t){return this.compose(ZN(Ag(t),(n,r)=>({...Tg(r,t),...n})))}notUndefined(){return this.refine(Ss,{expected:"a value other than `undefined`"})}forEach(t){let n=t(Pg());return m7(r=>bt(this.getResult(r),o=>{let s=[];for(let i=0;i<o.length;i++){let c=n.getResult(o[i]);Tt(c)&&s.push(c.success)}return s}),(r,o)=>gt(this.getResult(o),s=>{let i=[];for(let d=0;d<s.length;d++)Tt(n.getResult(s[d]))&&i.push(d);if(r.length!==i.length)return J(new Z({message:`each: replacement length mismatch: ${r.length} !== ${i.length}`}));let c=s.slice();for(let d=0;d<i.length;d++){let u=i[d],l=n.replaceResult(r[d],s[u]);if(fe(l))return J(new Mt([u],l.failure));c[u]=l.success}return this.replaceResult(c,o)}))}modifyAll(t){return n=>Rs(gt(this.getResult(n),r=>this.replaceResult(r.map(t),n)),()=>n)}},aw=class extends dd{get;set;constructor(t,n,r){super(t,o=>$(n(o)),o=>$(r(o))),this.get=n,this.set=r}replace(t,n){return this.set(t)}modify(t){return n=>this.set(t(this.get(n)))}},cw=class extends dd{get;constructor(t,n,r){super(t,o=>$(n(o)),(o,s)=>$(r(o,s))),this.get=n,this.replace=r}modify(t){return n=>this.replace(t(this.get(n)),n)}},dw=class extends dd{set;constructor(t,n,r){super(t,n,(o,s)=>$(r(o))),this.set=r}replace(t,n){return this.set(t)}modify(t){return n=>Rs(bt(this.getResult(n),r=>this.set(t(r))),()=>n)}};function to(e){let t=e[0]??f7;if(e.length>1){let n=e.reduce((r,o)=>y7(r,o.kind),"Iso");t={kind:n,get:h7(e,n),set:g7(e,n)}}switch(t.kind){case"Iso":return new aw(e,t.get,t.set);case"Lens":return new cw(e,t.get,t.set);case"Prism":return new dw(e,t.get,t.set);case"Optional":return new dd(e,t.get,t.set)}}function Dg(e){if(Array.isArray(e))return e.slice();if(typeof e=="object"&&e!==null){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)throw new Error("Cannot clone object with non-Object constructor or null prototype");return{...e}}return e}function h7(e,t){return n=>{for(let r=0;r<e.length;r++){let o=e[r],s=o.get(n);if(uw(o.kind)){if(fe(s))return s;n=s.success}else n=s}return uw(t)?$(n):n}}function g7(e,t){return QN(t)?n=>{for(let r=e.length-1;r>=0;r--)n=e[r].set(n);return n}:(n,r)=>{let o=e.length,s=new Array(o);for(let i=0;i<o;i++){s[i]=r;let c=e[i];if(uw(c.kind)){let d=c.get(r);if(fe(d))return d;r=d.success}else r=c.get(r)}for(let i=o-1;i>=0;i--){let c=e[i];if(QN(c.kind))n=c.set(n);else if(c.kind==="Lens")n=c.set(n,s[i]);else{let d=c.set(n,s[i]);if(fe(d))return d;n=d.success}}return t==="Optional"?$(n):n}}function uw(e){return e==="Prism"||e==="Optional"}function QN(e){return e==="Iso"||e==="Prism"}function y7(e,t){return e==="Iso"?t:t==="Iso"||e===t?e:"Optional"}var x7=to([]);function Pg(){return x7}function e1(e){let t=Sg(e);return YN(Yl(t),Ql(t))}function t1(e){return Pg()}function n1(e){return Pg()}var ud="~effect/Schema/SchemaError";function r1(e){return O(e,ud)&&e[ud]===ud}var o1=ht((e,t)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0});var nr="~effect/net/NetAddress";var no=e=>e.value,ro=e=>e,cs=e=>e.bytes,yr=class extends dr("NetAddressError"){},ld=e=>O(e,nr),tn=e=>ld(e)&&e._tag==="Ipv4Address",xr=e=>ld(e)&&e._tag==="Ipv6Address",lw=e=>tn(e)||xr(e),pd=e=>tn(e)?32:128;var fd=e=>ld(e)&&e._tag==="MacAddress",cp=e=>ld(e)&&e._tag==="InetAddressV4",dp=e=>ld(e)&&e._tag==="InetAddressV6",pw=e=>cp(e)||dp(e),Mg=e=>ld(e)&&e._tag==="UnixPathAddress",i1=e=>pw(e)||Mg(e),b7={...Dt,_tag:"Ipv4Address",[nr]:nr,[X](e){return tn(e)&&no(this)===no(e)},[Y](){return zt(ce(w7,no(this)|0))},toString(){return nn(this)},toJSON(){return this.toString()}},I7={...Dt,_tag:"Ipv6Address",[nr]:nr,[X](e){if(!xr(e))return!1;let t=ro(this),n=ro(e);return t.w0===n.w0&&t.w1===n.w1&&t.w2===n.w2&&t.w3===n.w3},[Y](){let e=ro(this),t=ce(k7,e.w0|0);return t=ce(t,e.w1|0),t=ce(t,e.w2|0),zt(ce(t,e.w3|0))},toString(){return nn(this)},toJSON(){return this.toString()}},v7={...Dt,_tag:"MacAddress",[nr]:nr,[X](e){return fd(e)&&o1(cs(this),cs(e))},[Y](){return ce(E7,co(cs(this)))},toString(){return hw(this)},toJSON(){return this.toString()}},w7=Ce("Ipv4Address"),k7=Ce("Ipv6Address"),E7=Ce("MacAddress"),T7=e=>{let t=Object.create(b7);return t.value=e>>>0,Object.freeze(t)},A7=(e,t,n,r)=>{let o=Object.create(I7);return o.w0=e>>>0,o.w1=t>>>0,o.w2=n>>>0,o.w3=r>>>0,Object.freeze(o)},R7=(e,t,n,r)=>(e<<24|t<<16|n<<8|r)>>>0;var ap=e=>[e>>>24,e>>>16&255,e>>>8&255,e&255],O7=e=>{let t=Object.assign(Object.create(v7),{bytes:new Uint8Array(e)});return Object.freeze(t)};var pt=(e,t)=>J(new yr({input:e,message:t})),a1=(e,t)=>{for(let n=0;n<e.length;n++){let r=e[n];if(!Number.isInteger(r)||r<0||r>t)return!1}return!0},C7=e=>a1(e,255)?$(T7(R7(e[0],e[1],e[2],e[3]))):pt(e,"octets must be integers from 0 through 255"),D7=e=>a1(e,65535)?$(A7(e[0]*65536+e[1],e[2]*65536+e[3],e[4]*65536+e[5],e[6]*65536+e[7])):pt(e,"segments must be integers from 0 through 65535");var c1=e=>/^(?:[0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$/.test(e)?$(O7(new Uint8Array(e.split(":").map(t=>Number.parseInt(t,16))))):pt(e,"expected six two-digit hexadecimal octets separated by colons");var va=e=>{let t=e.split(".");if(t.length!==4||t.some(r=>!/^\d{1,3}$/.test(r)))return pt(e,"expected exactly four decimal octets");if(t.some(r=>r.length>1&&r[0]==="0"))return pt(e,"leading zeroes are not allowed");let n=t.map(Number);return n.some(r=>r>255)?pt(e,"octets must be at most 255"):C7([n[0],n[1],n[2],n[3]])},P7=e=>{if(e.includes("[")||e.includes("]")||e.includes("%"))return pt(e,"brackets and zone identifiers are not valid in a bare IPv6 address");let t=e.split("::");if(t.length>2)return pt(e,"only one compression marker is allowed");let n=t[0]===""?[]:t[0].split(":"),r=t.length===2&&t[1]!==""?t[1].split(":"):[];if(n.some(l=>l==="")||r.some(l=>l===""))return pt(e,"empty segments are only valid in the compression marker");let o=r.length>0?r[r.length-1]:n.length>0?n[n.length-1]:"",s;if(o.includes(".")){if(t.length===2&&r.length===0)return pt(e,"embedded IPv4 syntax must be trailing");let l=bt(va(o),p=>{let f=no(p);return[f>>>16,f&65535]});if(fe(l))return l;s=l.success,r.length>0?r.pop():n.pop()}let i=n.length+r.length+(s?2:0);if(t.length===1?i!==8:i>=8)return pt(e,t.length===1?"expected eight segments":"compression must replace at least one segment");let c=l=>/^[0-9a-fA-F]{1,4}$/.test(l)?Number.parseInt(l,16):void 0,d=n.map(c),u=r.map(c);return d.some(l=>l===void 0)||u.some(l=>l===void 0)?pt(e,"segments must contain one through four hexadecimal digits"):$([...d,...Array(8-i).fill(0),...u,...s??[]])},wa=e=>gt(P7(e),t=>D7(t)),ei=e=>e.includes(":")?wa(e):va(e);var fw=e=>{if(typeof e!="string"||!e.includes("%"))return!1;let t=up(e);return Tt(t)&&t.success===e},up=e=>{let t=e.indexOf("%");if(t===-1)return pt(e,"expected an IPv6 zone");let n=e.slice(t+1);if(n.length===0||/[%[\]/\s\p{Cc}]/u.test(n))return pt(e,"invalid IPv6 scope identifier");if(/^\d+$/.test(n)){let r=Number(n);if(r>4294967295)return pt(e,"scope identifier must be an unsigned 32-bit integer");n=String(r)}return bt(wa(e.slice(0,t)),r=>`${nn(r)}%${n}`)};var _g=e=>ap(no(e)),M7=e=>{let{w0:t,w1:n,w2:r,w3:o}=ro(e);return[t>>>16,t&65535,n>>>16,n&65535,r>>>16,r&65535,o>>>16,o&65535]},mw=e=>{let{w0:t,w1:n,w2:r,w3:o}=ro(e);return[...ap(t),...ap(n),...ap(r),...ap(o)]};var hw=e=>Array.from(cs(e),t=>t.toString(16).padStart(2,"0")).join(":"),Ug=e=>cs(e).every(t=>t===255),_7=e=>(cs(e)[0]&1)!==0,Ng=e=>(cs(e)[0]&1)===0,gw=e=>(cs(e)[0]&2)!==0,yw=e=>(cs(e)[0]&2)===0;var nn=e=>{if(tn(e))return _g(e).join(".");let t=M7(e);if(U7(e))return`::ffff:${t[6]>>8}.${t[6]&255}.${t[7]>>8}.${t[7]&255}`;let n=-1,r=0,o=-1;for(let c=0;c<=8;c++)c<8&&t[c]===0?o===-1&&(o=c):o!==-1&&(c-o>r&&(n=o,r=c-o),o=-1);if(r<2)return t.map(c=>c.toString(16)).join(":");let s=t.slice(0,n).map(c=>c.toString(16)).join(":"),i=t.slice(n+r).map(c=>c.toString(16)).join(":");return`${s}::${i}`},Fg=e=>{if(tn(e))return no(e)===0;let{w0:t,w1:n,w2:r,w3:o}=ro(e);return t===0&&n===0&&r===0&&o===0},xw=e=>{if(tn(e))return no(e)>>>24===127;let{w0:t,w1:n,w2:r,w3:o}=ro(e);return t===0&&n===0&&r===0&&o===1},md=e=>fd(e)?_7(e):tn(e)?no(e)>>>28===14:ro(e).w0>>>24===255,$g=e=>fd(e)?Ug(e):no(e)===4294967295,Sw=e=>fd(e)?Ng(e):!md(e)&&!Fg(e)&&(!tn(e)||!$g(e)),bw=e=>tn(e)?no(e)>>>16===43518:(ro(e).w0>>>16&65472)===65152,Iw=e=>{let t=no(e);return t>>>24===10||(t>>>16&65520)===44048||t>>>16===49320},vw=e=>(ro(e).w0>>>24&254)===252,U7=e=>{let{w0:t,w1:n,w2:r}=ro(e);return t===0&&n===0&&r===65535};var N7={...Dt,_tag:"InetAddressV4",[nr]:nr,[X](e){return cp(e)&&this.port===e.port&&V(this.address,e.address)},[Y](){return ce(j(this.address),Ct(this.port))},toString(){return Lg(this)},toJSON(){return this.toString()}},F7={...Dt,_tag:"InetAddressV6",[nr]:nr,[X](e){return dp(e)&&this.port===e.port&&this.scopeId===e.scopeId&&V(this.address,e.address)},[Y](){return ce(ce(j(this.address),Ct(this.port)),Ct(this.scopeId))},toString(){return Lg(this)},toJSON(){return this.toString()}},d1=e=>Number.isInteger(e)&&e>=0&&e<=65535,$7=(e,t)=>{if(!d1(t))return pt(e,"port must be an integer from 0 through 65535");let n=Object.create(N7);return n.address=e,n.port=t,$(Object.freeze(n))},L7=(e,t,n)=>{if(!d1(t))return pt(e,"port must be an integer from 0 through 65535");let r=n?.scopeId??0;if(!Number.isInteger(r)||r<0||r>4294967295)return pt(e,"scopeId must be an unsigned 32-bit integer");let o=Object.create(F7);return o.address=e,o.port=t,o.scopeId=r,$(Object.freeze(o))};var ww=e=>{let t,n,r=0,o=e.startsWith("[");if(o){let s=e.indexOf("]");if(s<0||e[s+1]!==":"||e.indexOf("]",s+1)!==-1)return pt(e,"expected [IPv6]:port");t=e.slice(1,s),n=e.slice(s+2);let i=t.indexOf("%");if(i!==-1){let c=t.slice(i+1);if(t.indexOf("%",i+1)!==-1||!/^\d+$/.test(c))return pt(e,"scope identifier must be decimal");if(r=Number(c),!Number.isInteger(r)||r>4294967295)return pt(e,"scope identifier must be an unsigned 32-bit integer");t=t.slice(0,i)}}else{let s=e.lastIndexOf(":");if(s<0)return pt(e,"expected host:port or [IPv6]:port");if(e.indexOf(":")!==s)return pt(e,"IPv6 addresses must be bracketed");t=e.slice(0,s),n=e.slice(s+1)}return/^(0|[1-9]\d*)$/.test(n)?gt(ei(t),s=>o!==xr(s)?pt(e,"only IPv6 addresses use brackets"):xr(s)?L7(s,Number(n),{scopeId:r}):$7(s,Number(n))):pt(e,"port must be an unpadded decimal integer")};var q7=e=>nn(e.address)+(dp(e)&&e.scopeId!==0?`%${e.scopeId}`:"");var Lg=e=>{let t=q7(e);return cp(e)?`${t}:${e.port}`:`[${t}]:${e.port}`};var B7={...Dt,_tag:"UnixPathAddress",[nr]:nr,[X](e){return Mg(e)&&this.path===e.path},[Y](){return ce(Ce("UnixPathAddress"),Ce(this.path))},toString(){return this.path},toJSON(){return this.toString()}},u1=e=>{let t=Object.create(B7);return t.path=e,Object.freeze(t)};var kw="~effect/net/Host",ti=(e,t)=>J(new yr({input:e,message:t})),j7=/^[a-z0-9_.-]$/i,H7=/^[a-z0-9_](?:[a-z0-9_-]{0,61}[a-z0-9_])?$/,z7=/^(?:\d+|0x[0-9a-f]*)$/,l1=e=>{if(e===".")return;let t=e.endsWith(".")?e.slice(0,-1):e;if(t.length===0)return"domain name must not be empty";if(t.length>253)return"domain name must be at most 253 characters";let n=t.split(".");for(let r of n){if(r.length===0)return"domain name labels must not be empty";if(r.length>63)return"domain name labels must be at most 63 characters";if(!H7.test(r))return"domain name labels must contain only letters, digits, hyphens, or underscores and must not start or end with a hyphen"}if(z7.test(n[n.length-1]))return"the last domain name label must not be numeric"},W7=e=>{let t=!0;for(let n of e)if(n.charCodeAt(0)<128){if(!j7.test(n))return}else t=!1;if(t)return e.toLowerCase();try{return new URL(`http://${e}`).hostname}catch{return}},ds=e=>typeof e=="string"&&/^[a-z0-9_.-]+$/.test(e)&&l1(e)===void 0;var Tw=e=>O(e,kw),qg=e=>{let t=W7(e);if(t===void 0)return ti(e,"invalid domain name");let n=l1(t);return n===void 0?$(t):ti(e,n)};var K7=e=>{if(e.includes("%"))return up(e);if(e.includes(":"))return ei(e);if(/^[\d.]+$/.test(e)){let t=ei(e);if(Tt(t))return t}return qg(e)};var G7=e=>typeof e=="string"?e:nn(e);var V7={...Dt,_tag:"HostPort",[kw]:kw,[X](e){return Tw(e)&&this.port===e.port&&V(this.host,e.host)},[Y](){return ce(j(this.host),Ct(this.port))},toString(){return Aw(this)},toJSON(){return this.toString()}},J7=e=>Number.isInteger(e)&&e>=0&&e<=65535,Z7=(e,t)=>{let n=Object.create(V7);return n.host=e,n.port=t,Object.freeze(n)};var p1=e=>{let t,n;if(e.startsWith("[")){let o=e.indexOf("]");if(o===-1||e[o+1]!==":")return ti(e,"expected [IPv6]:port");if(t=e.slice(1,o),n=e.slice(o+2),!t.includes(":"))return ti(e,"only IPv6 addresses use brackets")}else{let o=e.lastIndexOf(":");if(o===-1)return ti(e,"expected host:port");if(e.indexOf(":")!==o)return ti(e,"IPv6 addresses must be bracketed");t=e.slice(0,o),n=e.slice(o+1)}if(!/^(0|[1-9]\d*)$/.test(n))return ti(e,"port must be an unpadded decimal integer");let r=Number(n);return J7(r)?bt(K7(t),o=>Z7(o,r)):ti(e,"port must be an integer from 0 through 65535")};var Aw=e=>{let t=G7(e.host);return t.includes(":")?`[${t}]:${e.port}`:`${t}:${e.port}`};var Ow="~effect/net/Dns/DnsRecord",Rw=e=>Number.isInteger(e)&&e>=0&&e<=255,hd=e=>Number.isInteger(e)&&e>=0&&e<=65535,h1=e=>Number.isInteger(e)&&e>=0&&e<=4294967295,ni=e=>typeof e=="string",Bg=e=>gu(e)&&Mi(e)&&h1(yo(e)),g1={A:{address:tn},AAAA:{address:xr},CAA:{critical:e=>typeof e=="boolean",tag:e=>ni(e)&&/^[a-z0-9]+$/i.test(e),value:ni},CNAME:{target:ds},MX:{exchange:ds,priority:hd},NAPTR:{order:hd,preference:hd,flags:ni,service:ni,regexp:ni,replacement:ds},NS:{host:ds},PTR:{host:e=>ni(e)&&e.length>0},SOA:{primary:ds,admin:e=>ni(e)&&e.length>0,serial:h1,refresh:Bg,retry:Bg,expire:Bg,minimum:Bg},SRV:{target:ds,port:hd,priority:hd,weight:hd},TLSA:{certUsage:Rw,selector:Rw,matchingType:Rw,data:e=>e instanceof Uint8Array&&e.length>0},TXT:{chunks:e=>Array.isArray(e)&&e.length>0&&e.every(ni)}},Cw=Object.keys(g1),Q7=e=>Cw.includes(e),Dw=e=>O(e,Ow),Y7={...Dt,[Ow]:Ow,[X](e){return Dw(e)&&e._tag===this._tag&&Object.keys(this).every(t=>V(this[t],e[t]))},[Y](){return tu(this,Object.keys(this))},toString(){return e9(this)},toJSON(){return{...this}}},y1=(e,t)=>{if(!Q7(e))return J(new yr({input:e,message:"unknown DNS record type"}));let n=typeof t=="object"&&t!==null?t:{},r=Object.create(Y7);r._tag=e;for(let[o,s]of Object.entries(g1[e])){let i=n[o];if(!s(i))return J(new yr({input:t,message:`invalid ${e} record ${o}`}));r[o]=Array.isArray(i)?Object.freeze([...i]):i instanceof Uint8Array?new Uint8Array(i):i}return $(Object.freeze(r))};var x1=new TextEncoder,S1=e=>`\\${e.toString().padStart(3,"0")}`,pp=e=>{let t='"';for(let n of x1.encode(e))t+=n===34||n===92?`\\${String.fromCharCode(n)}`:n<32||n>126?S1(n):String.fromCharCode(n);return t+'"'},X7=[34,36,40,41,59,64],m1=e=>{let t=x1.encode(e),n="";for(let r=0;r<t.length;r++){let o=t[r];if(o===92){let s=t[r+1];s===46||s===92?(n+=`\\${String.fromCharCode(s)}`,r++):n+="\\\\"}else o<=32||o>126?n+=S1(o):n+=X7.includes(o)?`\\${String.fromCharCode(o)}`:String.fromCharCode(o)}return n},e9=e=>{switch(e._tag){case"A":case"AAAA":return`${e._tag} ${nn(e.address)}`;case"CAA":return`CAA ${e.critical?128:0} ${e.tag} ${pp(e.value)}`;case"CNAME":return`CNAME ${e.target}`;case"MX":return`MX ${e.priority} ${e.exchange}`;case"NAPTR":return`NAPTR ${e.order} ${e.preference} ${pp(e.flags)} ${pp(e.service)} ${pp(e.regexp)} ${e.replacement}`;case"NS":return`NS ${e.host}`;case"PTR":return`PTR ${m1(e.host)}`;case"SOA":return`SOA ${e.primary} ${m1(e.admin)} ${e.serial} ${yo(e.refresh)} ${yo(e.retry)} ${yo(e.expire)} ${yo(e.minimum)}`;case"SRV":return`SRV ${e.priority} ${e.weight} ${e.port} ${e.target}`;case"TLSA":return`TLSA ${e.certUsage} ${e.selector} ${e.matchingType} ${Yf(e.data).toUpperCase()}`;case"TXT":return`TXT ${e.chunks.map(pp).join(" ")}`}};var Pw="~effect/net/IpInterface",b1=e=>fp(e)&&tn(e.address),I1=e=>fp(e)&&xr(e.address),fp=e=>O(e,Pw),o9={...Dt,_tag:"IpInterface",[Pw]:Pw,[X](e){return fp(e)&&this.prefixLength===e.prefixLength&&V(this.address,e.address)},[Y](){return ce(j(this.address),Ct(this.prefixLength))},toString(){return hp(this)},toJSON(){return this.toString()}},Mw=(e,t)=>J(new yr({input:e,message:t})),mp=(e,t)=>{let n=pd(e);if(!Number.isInteger(t)||t<0||t>n)return Mw(e,`prefix length must be an integer from 0 through ${n}`);let r=Object.assign(Object.create(o9),{address:e,prefixLength:t});return $(Object.freeze(r))},_w=(e,t)=>{let n=e.indexOf("/");if(n===-1&&t?.prefix!=="required")return $({address:e,prefixLength:void 0});if(n<=0||n!==e.lastIndexOf("/")||n===e.length-1)return Mw(e,"expected an address and prefix length separated by one slash");let r=e.slice(n+1);return/^(0|[1-9][0-9]*)$/.test(r)?$({address:e.slice(0,n),prefixLength:Number(r)}):Mw(e,"prefix length must be an unpadded ASCII decimal integer")},jg=(e,t)=>gt(_w(e,t),n=>gt(va(n.address),r=>mp(r,n.prefixLength??pd(r)))),Hg=(e,t)=>gt(_w(e,t),n=>gt(wa(n.address),r=>mp(r,n.prefixLength??pd(r)))),zg=(e,t)=>gt(_w(e,t),n=>gt(ei(n.address),r=>mp(r,n.prefixLength??pd(r))));var hp=e=>`${nn(e.address)}/${e.prefixLength}`;var Uw="~effect/net/IpNetwork",w1=e=>gp(e)&&tn(e.address),k1=e=>gp(e)&&xr(e.address),gp=e=>O(e,Uw),s9={...Dt,_tag:"IpNetwork",[Uw]:Uw,[X](e){return gp(e)&&this.prefixLength===e.prefixLength&&V(this.address,e.address)},[Y](){return ce(j(this.address),Ct(this.prefixLength))},toString(){return yp(this)},toJSON(){return this.toString()}},i9=e=>{let t=Object.assign(Object.create(s9),{address:e.address,prefixLength:e.prefixLength});return Object.freeze(t)},a9=e=>tn(e)?_g(e):mw(e);var c9=(e,t)=>{let n=Math.floor(t/8),r=t%8;return e.map((o,s)=>s<n?o:s===n&&r!==0?o&(255<<8-r&255):0)},Nw=(e,t)=>gt(mp(e,t),n=>{let r=a9(e),o=c9(r,t);return r.some((s,i)=>s!==o[i])?J(new yr({input:e,message:"address has non-zero host bits"})):$(i9(n))});var E1=e=>gt(jg(e,{prefix:"required"}),t=>Nw(t.address,t.prefixLength)),T1=e=>gt(Hg(e,{prefix:"required"}),t=>Nw(t.address,t.prefixLength)),A1=e=>gt(zg(e,{prefix:"required"}),t=>Nw(t.address,t.prefixLength));var yp=e=>`${nn(e.address)}/${e.prefixLength}`;var Fw="~effect/SemVer",$w="~effect/SemVer/SemVerError",Wg=class extends dr("SemVerError"){[$w]=$w},u9=e=>O(e,$w),Sr=e=>{throw new Wg({message:e})},l9=e=>Ff({try:e,catch:t=>{if(!u9(t))throw t;return t}}),Lw=(e,t,n)=>pc(l9(()=>n(t)),r=>new Wg({message:`Invalid ${e} ${JSON.stringify(t)}: ${r.message}`,input:t})),p9=/^(?:0|[1-9]\d*)$/,f9=/^\d+$/,O1=/^[0-9A-Za-z-]+$/,xp=(e,t)=>!Number.isSafeInteger(e)||e<0?Sr(`${t} must be a non-negative safe integer, received ${e}`):e,gd=(e,t)=>p9.test(e)?xp(Number(e),t):Sr(`${t} must be a non-negative integer without leading zeros, received ${JSON.stringify(e)}`),Kg=e=>typeof e=="number"?xp(e,"numeric pre-release identifier"):O1.test(e)?f9.test(e)?gd(e,"numeric pre-release identifier"):e:Sr(`pre-release identifier must be non-empty [0-9A-Za-z-], received ${JSON.stringify(e)}`),C1=e=>O1.test(e)?e:Sr(`build identifier must be non-empty [0-9A-Za-z-], received ${JSON.stringify(e)}`);var m9={[Fw]:Fw,[X](e){return qw(e)&&g9(this,e)},[Y](){return Ce(ka(this))},toString(){return`SemVer(${ka(this)})`},toJSON(){return{_id:"SemVer",value:ka(this)}},[He](){return this.toJSON()},pipe(){return ie(this,arguments)}},D1=(e,t,n,r,o)=>{let s=Object.create(m9);return s.major=e,s.minor=t,s.patch=n,s.prerelease=r,s.build=o,s};var qw=e=>O(e,Fw),Bw=e=>D1(xp(e.major,"major"),xp(e.minor,"minor"),xp(e.patch,"patch"),e.prerelease?.map(Kg)??[],e.build?.map(C1)??[]),h9=e=>{let t=e,n=[],r=t.indexOf("+");r!==-1&&(n=t.slice(r+1).split(".").map(C1),t=t.slice(0,r));let o=[],s=t.indexOf("-");s!==-1&&(o=t.slice(s+1).split(".").map(Kg),t=t.slice(0,s));let i=t.split(".");return i.length!==3?Sr("expected MAJOR.MINOR.PATCH"):D1(gd(i[0],"major"),gd(i[1],"minor"),gd(i[2],"patch"),o,n)},P1=e=>Lw("SemVer",e,h9);var ka=e=>{let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease.length>0&&(t+=`-${e.prerelease.join(".")}`),e.build.length>0&&(t+=`+${e.build.join(".")}`),t};var R1=ec(Es()),g9=ht((e,t)=>e.major===t.major&&e.minor===t.minor&&e.patch===t.patch&&R1(e.prerelease,t.prerelease)&&R1(e.build,t.build));var zw="~effect/SemVerRange",y9={[zw]:zw,[X](e){return Ww(e)&&ri(this)===ri(e)},[Y](){return Ce(ri(this))},toString(){return`SemVerRange(${ri(this)})`},toJSON(){return{_id:"SemVerRange",value:ri(this)}},[He](){return this.toJSON()},pipe(){return ie(this,arguments)}},Ww=e=>O(e,zw);var x9={components:[],prerelease:[]},S9=/^(<=|>=|<|>|=|~|\^)?(.*)$/,b9=e=>e==="x"||e==="X"||e==="*",I9=["major","minor","patch"],jw=e=>{if(e.length===0)return Sr("expected a version after the operator");if(e.includes("+"))return Sr(`build metadata is not allowed in ranges, received ${JSON.stringify(e)}`);let t=e.indexOf("-"),n=(t===-1?e:e.slice(0,t)).split(".");if(n.length>3)return Sr(`expected at most MAJOR.MINOR.PATCH, received ${JSON.stringify(e)}`);let r=[];for(let o=0;o<n.length;o++)if(!b9(n[o])){if(r.length<o)return Sr(`a version component cannot follow a wildcard, received ${JSON.stringify(e)}`);r.push(gd(n[o],I9[o]))}return t===-1?{components:r,prerelease:[]}:r.length<3?Sr(`a pre-release requires MAJOR.MINOR.PATCH, received ${JSON.stringify(e)}`):{components:r,prerelease:e.slice(t+1).split(".").map(Kg)}},v9=e=>{let t=e.split(/\s+/).filter(r=>r.length>0);if(t.length===0)return Sr("expected a comparator");if(t.length===3&&t[1]==="-")return[{_tag:"Hyphen",from:jw(t[0]),to:jw(t[2])}];let n=[];for(let r=0;r<t.length;r++){let[,o,s]=S9.exec(t[r]),i=s.length===0&&o!==void 0&&r+1<t.length?t[++r]:s;n.push({_tag:"Comparator",operator:o??"=",version:jw(i)})}return n},_1=e=>{let t=Object.create(y9);return t.sets=e,t},w9=e=>e.trim().length===0?k9:_1(e.split("||").map(v9)),Kw=e=>Lw("SemVer range",e,w9),U1=e=>Ur(Kw(e));var k9=_1([[{_tag:"Comparator",operator:"=",version:x9}]]);var Hw=e=>{if(e.components.length===0)return"*";let t=e.components.join(".");return e.prerelease.length===0?t:`${t}-${e.prerelease.join(".")}`},E9=e=>e._tag==="Hyphen"?`${Hw(e.from)} - ${Hw(e.to)}`:`${e.operator==="="?"":e.operator}${Hw(e.version)}`,ri=e=>e.sets.map(t=>t.map(E9).join(" ")).join(" || ");var Sp=gg;function Mn(){return(e,t,n)=>G(new Yc(e.map(Bl),r=>t(r.map(o=>G(o))),n))}function Ne(e,t){return Mn()([],()=>(n,r,o)=>e(n)?C(n):P(new It(r,n,o)),t)}function T9(e){return e}function A9(e){return t=>t.annotate(e)}function R9(e){return t=>Vw(Vw(t).annotate(e))}function O9(e){return t=>t.rebuild(Kl(t.ast,e))}function C9(e){return e}var Ta=class extends dr("SchemaError"){[ud]=ud;constructor(t){let n=Or();Kt(0);try{super({issue:t})}finally{Kt(n)}}get message(){return j_(this.issue)}toJSON(){return{_tag:this._tag,message:this.message}}[He](){return this.toJSON()}toString(){return`SchemaError(${this.message})`}};function Z1(e){return r1(e)}function Q1(e){return Be(e)?Xw(e):$s(e,t=>Uc(()=>Us(t,n=>new Ta(n))))}function Xw(e){return qt(e)?e:Wi(Us(e.cause,t=>new Ta(t)))}function Y1(e,t){let n;for(let r of e.reasons){if(!Nm(r)||!Z1(r.error))throw new globalThis.Error(t,{cause:e});n??=r.error}if(n===void 0)throw new globalThis.Error(t,{cause:e});return n}function X1(e){return nl(e).then(t=>{if(qt(t))return t.value;throw Y1(t.cause,"Promise adapter can only reject schema errors")})}function eF(e){let t=bo(e);if(qt(t))return t.value;throw Y1(t.cause,"Sync adapter can only throw schema errors")}function D9(e,t){return _N(e,t)}function P9(e){return NN(e)}var M9=od,_9=Nv;function Vg(e,t){let n=lt(e,t);return(r,o)=>Q1(n(r,o))}var U9=Vg;function tF(e,t){let n=ug(e,t);return(r,o)=>Xw(n(r,o))}var N9=tF,F9=lg,$9=Fv;function nF(e,t){let n=pg(e,t);return(r,o)=>pc(n(r,o),s=>new Ta(s))}var L9=nF;function rF(e,t){let n=Vg(e,t);return(r,o)=>X1(n(r,o))}var q9=rF;function oF(e,t){let n=Vg(e,t);return(r,o)=>eF(n(r,o))}var B9=oF;function Jg(e,t){let n=ss(e,t);return(r,o)=>Q1(n(r,o))}var j9=Jg;function sF(e,t){let n=fg(e,t);return(r,o)=>Xw(n(r,o))}var H9=sF,z9=mg,W9=Lv;function iF(e,t){let n=hg(e,t);return(r,o)=>pc(n(r,o),s=>new Ta(s))}var K9=iF;function aF(e,t){let n=Jg(e,t);return(r,o)=>X1(n(r,o))}var G9=aF;function cF(e,t){let n=Jg(e,t);return(r,o)=>eF(n(r,o))}var V9=cF,G=tr;function Zg(e){return O(e,Sp)&&e[Sp]===Sp}var Ea=an(e=>G(ya(e.ast),{schema:e})),J9=an(e=>e.schema),Id=an(e=>{let t=ty(e);return G(AU(e.ast),{schema:t})}),Z9=an(e=>e.schema.members[0]),Q9=an(e=>G(wv(e.ast),{schema:e})),Y9=an(e=>e.schema),_n=an(e=>G(At(e.ast),{schema:e})),vd=an(e=>G(Qr(e.ast),{schema:e})),bp="~effect/Schema/flip";function X9(e){return O(e,bp)&&e[bp]===bp}function Vw(e){return X9(e)?e.schema.rebuild(Qn(e.ast)):G(Qn(e.ast),{[bp]:bp,schema:e})}function jt(e){let t=G(new Zn(e),{literal:e,transform(n){return t.pipe(z(jt(n),{decode:K(()=>n),encode:K(()=>e)}))}});return t}function dF(e){return e.map(t=>Zg(t)?t.ast:new Zn(t))}function eQ(e){return G(new uv(dF(e)),{parts:e})}function tQ(e){return G(cU(dF(e)),{parts:e})}function nQ(e){return G(new aU(Object.keys(e).filter(t=>typeof e[e[t]]!="number").map(t=>[t,e[t]])),{enums:e})}var rQ=G(Xc),oQ=G(sU),Ip=G(os),Qg=G(Ll),ek=G(dv),q=G(Pn),sQ=q,vp=G(lv),Yg=G(lU),uF=G(pU),wd=G(fU),iQ=G(oU),aQ=G(iU);function cQ(e){return G(new uU(e))}function tk(e,t){return G(e,{fields:t,mapFields(n,r){let o=n(this.fields);return tk(Jh(o,r?.unsafePreserveChecks?this.ast.checks:void 0),o)}})}function Re(e){return tk(Jh(e,void 0),e)}function dQ(e){return an(t=>t.mapFields(iw(e)))}var uQ=e=>typeof e=="symbol"?e:globalThis.String(e);function lQ(e){return function(t){let n={},r=Object.create(null),o=Object.create(null),s=new Set;for(let i of Reflect.ownKeys(t.fields)){let c=vd(t.fields[i]),d=Object.hasOwn(e,i),u=d?e[i]:i,l=uQ(u);if(s.has(l))throw new globalThis.Error(`Duplicate encoded keys: ${uo(u)}`);s.add(l),M(n,u,c),d&&(r[i]=u,o[u]=i)}return Re(n).pipe(z(t,De({decode:Rg(o),encode:Rg(r)})))}}function pQ(e,t){return n=>{let r=Lf(n.fields,_n),o=Re({...r,...e});return n.pipe(z(o,De({decode:s=>{let i={...s};for(let c in e){let d=t[c],u=d(s);st(u)&&M(i,c,u.value)}return i},encode:s=>{let i={...s};for(let c in e)delete i[c];return i}})))}}function Aa(e,t){return G(tg(e.ast,t.ast),{key:e,value:t})}function fQ(e,t){return G(xU(e.ast,t.map(Bl)),{schema:e,records:t})}function lF(e,t){return G(e,{elements:t,mapElements(n,r){let o=n(this.elements);return lF(hv(o,r?.unsafePreserveChecks?this.ast.checks:void 0),o)}})}function To(e){return lF(hv(e),e)}function mQ(e,t){return G(SU(e.ast,t.map(Bl)),{schema:e,rest:t})}var ze=an(e=>G(new Yn(!1,[],[e.ast]),{value:e}));function Xg(e,t,n){return t!==void 0&&n!==void 0?e.check(ak(t,n)):t!==void 0?e.check(ik(t)):n!==void 0?e.check(PF(n)):e}var ey=an(e=>G(new Yn(!1,[e.ast],[e.ast]),{value:e}));function hQ(e){let t=ze(e),n=ze(_n(e)),r=z(To([Ip]),De({decode:o=>[o],encode:([o])=>o}))(e);return G(ct([r,t]).pipe(z(n)).ast,{from:ct([e,t]),to:n})}function gQ(e){return ze(e).check(dk())}var yQ=an(e=>G(bU(e.ast),{schema:e}));function pF(e,t){return G(e,{members:t,mapMembers(n,r){let o=n(this.members);return pF(Zh(o,this.ast.options,r?.unsafePreserveChecks?this.ast.checks:void 0),o)}})}function ct(e,t){return pF(Zh(e,t,void 0),e)}function Ao(e){let t=e.map(jt);return G(Zh(t,void 0,void 0),{literals:e,members:t,mapMembers(n){return ct(n(this.members))},pick(n){return Ao(n)},transform(n){return ct(t.map((r,o)=>r.transform(n[o])))}})}var nk=an(e=>ct([e,Qg])),ty=an(e=>ct([e,ek])),fF=an(e=>ct([e,Qg,ek]));function mF(e){return G(new yv(()=>e().ast))}function xQ(...e){return t=>t.check(...e)}function hF(e,t){return n=>G(Eo(n.ast,[Yh(e,t)]),{schema:n})}function ny(e){return t=>G(t.ast,{schema:t,identifier:e})}function SQ(e,t){return n=>(t.checks?n.check(...t.checks):n).pipe(ny(e))}function gF(e){return t=>G(EU(t.ast,new _l(e,Q)),{schema:t})}function yF(e){return t=>G(TU(t.ast,new _l(Q,e)),{schema:t})}function bQ(e){return xF(e)}function xF(e){return t=>gF(ph(e))(t)}function IQ(e){return SF(e)}function SF(e){return t=>yF(ph(e))(t)}function z(e,t){return n=>G(xa(n.ast,e.ast,t?Ul(t):fa()),{from:n,to:e})}function oi(){return(e,t)=>Oe()(e,{decode:t,encode:iI})}var bF=Ao(["true","yes","on","1","y"]),IF=Ao(["false","no","off","0","n"]),vQ=Ao([...bF.literals,...IF.literals]).pipe(z(Yg,De({decode:e=>e==="true"||e==="yes"||e==="on"||e==="1"||e==="y",encode:e=>e?"true":"false"})));function wQ(e){return t=>z(_n(t),e)(t)}function rk(e,t){return n=>t?z(n,t)(e):z(n)(e)}function kQ(e){return t=>z(t,e)(vd(t))}function vF(e){return t=>G(RU(t.ast,e),{schema:t})}function wF(e){return Be(e)&&e._tag==="Success"?e:$s(e,t=>Uc(()=>Us(t,n=>n.issue)))}function ok(e,t){let n=t?.encodingStrategy==="omit"?Nh():xn();return r=>Ea(vd(r)).pipe(z(r,{decode:Fh(wF(e)),encode:n}))}function EQ(e,t){return n=>_n(n).pipe(ok(e,t),rk(Ea(n)))}function kF(e,t){let n=t?.encodingStrategy==="omit"?Nh():xn();return r=>Id(vd(r)).pipe(z(r,{decode:Fh(wF(e)),encode:n}))}function TQ(e,t){return n=>_n(n).pipe(kF(e,t),rk(Id(n)))}function us(e){return jt(e).pipe(vF(C(e)))}function AQ(e){return us(e).pipe(ok(C(e),{encodingStrategy:"omit"}))}function wp(e,t){return Re({_tag:us(e),...t})}function EF(e){return t=>{let n={},r=[],o=new Set,s={},i=l=>p=>l.includes(p[e]);return c(t),Object.assign(t,{tag:e,cases:n,discriminants:r,isAnyOf:i,guards:s,match:d,matchOrElse:u});function c(l){let p=l.ast;if(Vh(p)&&"members"in l&&globalThis.Array.isArray(l.members)&&l.members.every(Zg))return l.members.forEach(c);let f=Jc(p);if(f.length>0){let g=f.find(b=>b.key===e)?.literal;if(ff(g)){let b=typeof g=="number"?globalThis.String(g):g;if(o.has(b))throw new globalThis.Error(`Duplicate discriminant: ${globalThis.String(g)}`);o.add(b),r.push(g),M(n,g,l),M(s,g,od(_n(l)));return}}throw new globalThis.Error("No literal or unique symbol found")}function d(){if(arguments.length===1){let b=arguments[0];return function(y){let S=y[e];return(Object.hasOwn(b,S)?b[S]:void 0)(y)}}let l=arguments[0],p=arguments[1],f=l[e];return(Object.hasOwn(p,f)?p[f]:void 0)(l)}function u(){if(arguments.length===2){let y=arguments[0],S=arguments[1];return function(v){let I=v[e];return(Object.hasOwn(y,I)?y[I]??S:S)(v)}}let l=arguments[0],p=arguments[1],f=arguments[2],g=l[e];return(Object.hasOwn(p,g)?p[g]??f:f)(l)}}}function RQ(e){let t={},n=[];for(let u of Object.keys(e)){let l=wp(u,e[u]);M(t,u,l),n.push(l)}let r=ct(n),{tag:o,guards:s,isAnyOf:i,match:c,matchOrElse:d}=EF("_tag")(r);return G(r.ast,{tag:o,cases:t,isAnyOf:i,guards:s,match:c,matchOrElse:d})}function OQ(){return e=>e}function Ra(e,t){return Ne(n=>n instanceof e,t)}function Oe(){return(e,t)=>new xt(e.ast,Ul(t))}var Pe=Qh;function CQ(e,t=void 0){return new ha(e,t)}var F1="^\\S[\\s\\S]*\\S$|^\\S$|^$";function TF(e){let t=new globalThis.RegExp(F1);return Pe(n=>n.trim()===n,{expected:"a string with no leading or trailing whitespace",representation:{id:"effect/schema/isTrimmed",payload:null},toJsonSchema:()=>({pattern:t.source}),toCode:()=>({runtime:"Schema.isTrimmed()"}),arbitraryConstraint:{patterns:[{source:F1,flags:""}]},...e})}function Oa(e,t){let n=e.source,r=e.flags,o=/^[dg]*uy?$/.test(r),s=r===""?`new RegExp(${U(n)})`:`new RegExp(${U(n)}, ${U(r)})`;return Hl(e,{toJsonSchema:()=>o?{pattern:r.endsWith("y")?`^(?:${n})`:n}:[{},!0],toCode:()=>({runtime:`Schema.isPattern(${s})`}),...t})}function DQ(e){return Tv({toCode:()=>({runtime:"Schema.isStringFinite()"}),...e})}function PQ(e){return Av({toCode:()=>({runtime:"Schema.isStringBigInt()"}),...e})}function MQ(e){return Ov({toCode:()=>({runtime:"Schema.isStringSymbol()"}),...e})}var _Q=e=>e?new globalThis.RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$/;function UQ(e,t){let n=_Q(e);return Oa(n,{expected:e?`a UUID v${e}`:"a UUID",representation:{id:"effect/schema/isUUID",payload:{version:e??null}},toJsonSchema:()=>({pattern:n.source,format:"uuid"}),toCode:()=>({runtime:e===void 0?"Schema.isUUID()":`Schema.isUUID(${e})`}),...t})}var $1=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;function NQ(e){return Oa($1,{expected:"a GUID",representation:{id:"effect/schema/isGUID",payload:null},toJsonSchema:()=>({pattern:$1.source}),toCode:()=>({runtime:"Schema.isGUID()"}),...e})}function FQ(e){let t=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;return Oa(t,{representation:{id:"effect/schema/isULID",payload:null},toJsonSchema:()=>({pattern:t.source}),toCode:()=>({runtime:"Schema.isULID()"}),...e})}function AF(e){let t="^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$",n=/^[0-9a-zA-Z+/]*={0,2}$/;return Pe(r=>r.length%4===0&&n.test(r),{expected:"a base64 encoded string",representation:{id:"effect/schema/isBase64",payload:null},toJsonSchema:()=>({pattern:t}),arbitraryConstraint:{patterns:[{source:t,flags:""}]},toCode:()=>({runtime:"Schema.isBase64()"}),...e})}function $Q(e){let t="^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$",n=/^[0-9a-zA-Z-_]*={0,2}$/;return Pe(r=>n.test(r)&&(r.endsWith("=")?r.length%4===0:r.length%4!==1),{expected:"a base64url encoded string",representation:{id:"effect/schema/isBase64Url",payload:null},toJsonSchema:()=>({pattern:t}),arbitraryConstraint:{patterns:[{source:t,flags:""}]},toCode:()=>({runtime:"Schema.isBase64Url()"}),...e})}function sk(e,t,n){if(e.length===0)return t.length===0?{}:[{},!0];let r={pattern:new globalThis.RegExp(n).source};return e===t?r:[r,!0]}function LQ(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(`^${is(e)}`),o=e.replace(/[\uD800-\uDBFF]$/,"");return Pe(s=>s.startsWith(e),{expected:`a string starting with ${n}`,representation:{id:"effect/schema/isStartingWith",payload:{startsWith:e}},toJsonSchema:()=>sk(o,e,`^${is(o)}`),toCode:()=>({runtime:`Schema.isStartingWith(${U(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}function qQ(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(`${is(e)}$`),o=e.replace(/^[\uDC00-\uDFFF]/,"");return Pe(s=>s.endsWith(e),{expected:`a string ending with ${n}`,representation:{id:"effect/schema/isEndingWith",payload:{endsWith:e}},toJsonSchema:()=>sk(o,e,`${is(o)}$`),toCode:()=>({runtime:`Schema.isEndingWith(${U(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}function BQ(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(is(e)),o=e.replace(/^[\uDC00-\uDFFF]|[\uD800-\uDBFF]$/g,"");return Pe(s=>s.includes(e),{expected:`a string including ${n}`,representation:{id:"effect/schema/isIncluding",payload:{includes:e}},toJsonSchema:()=>sk(o,e,is(o)),toCode:()=>({runtime:`Schema.isIncluding(${U(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}var L1="^[^a-z]*$";function jQ(e){let t=new globalThis.RegExp(L1);return Pe(n=>n.toUpperCase()===n,{expected:"a string with all characters in uppercase",representation:{id:"effect/schema/isUppercased",payload:null},toJsonSchema:()=>[{pattern:t.source},!0],toCode:()=>({runtime:"Schema.isUppercased()"}),arbitraryConstraint:{patterns:[{source:L1,flags:""}]},...e})}var q1="^[^A-Z]*$";function HQ(e){let t=new globalThis.RegExp(q1);return Pe(n=>n.toLowerCase()===n,{expected:"a string with all characters in lowercase",representation:{id:"effect/schema/isLowercased",payload:null},toJsonSchema:()=>[{pattern:t.source},!0],toCode:()=>({runtime:"Schema.isLowercased()"}),arbitraryConstraint:{patterns:[{source:q1,flags:""}]},...e})}var B1="^(?:[^a-z][\\s\\S]*)?$";function zQ(e){let t=new globalThis.RegExp(B1);return Pe(n=>n.charAt(0).toUpperCase()===n.charAt(0),{expected:"a string with the first character in uppercase",representation:{id:"effect/schema/isCapitalized",payload:null},toJsonSchema:()=>[{pattern:t.source},!0],toCode:()=>({runtime:"Schema.isCapitalized()"}),arbitraryConstraint:{patterns:[{source:B1,flags:""}]},...e})}var j1="^(?:[^A-Z][\\s\\S]*)?$";function WQ(e){let t=new globalThis.RegExp(j1);return Pe(n=>n.charAt(0).toLowerCase()===n.charAt(0),{expected:"a string with the first character in lowercase",representation:{id:"effect/schema/isUncapitalized",payload:null},toJsonSchema:()=>[{pattern:t.source},!0],toCode:()=>({runtime:"Schema.isUncapitalized()"}),arbitraryConstraint:{patterns:[{source:j1,flags:""}]},...e})}var ry=G(Sv),KQ=xv;function kp(e){let t=jo(e.order),n=e.formatter??U;return(r,o)=>Pe(s=>t(s,r),{expected:`a value greater than ${n(r)}`,arbitraryConstraint:{order:e.order,minimum:r,exclusiveMinimum:!0},...e.annotate?.(r),...o})}function Ep(e){let t=dc(e.order),n=e.formatter??U;return(r,o)=>Pe(s=>t(s,r),{expected:`a value greater than or equal to ${n(r)}`,arbitraryConstraint:{order:e.order,minimum:r},...e.annotate?.(r),...o})}function Tp(e){let t=Ei(e.order),n=e.formatter??U;return(r,o)=>Pe(s=>t(s,r),{expected:`a value less than ${n(r)}`,arbitraryConstraint:{order:e.order,maximum:r,exclusiveMaximum:!0},...e.annotate?.(r),...o})}function Ap(e){let t=cc(e.order),n=e.formatter??U;return(r,o)=>Pe(s=>t(s,r),{expected:`a value less than or equal to ${n(r)}`,arbitraryConstraint:{order:e.order,maximum:r},...e.annotate?.(r),...o})}function Rp(e){let t=dc(e.order),n=jo(e.order),r=cc(e.order),o=Ei(e.order),s=e.formatter??U;return(i,c)=>{let d=i.exclusiveMinimum?n:t,u=i.exclusiveMaximum?o:r;return Pe(l=>d(l,i.minimum)&&u(l,i.maximum),{expected:`a value between ${s(i.minimum)}${i.exclusiveMinimum?" (excluded)":""} and ${s(i.maximum)}${i.exclusiveMaximum?" (excluded)":""}`,arbitraryConstraint:{order:e.order,minimum:i.minimum,maximum:i.maximum,...i.exclusiveMinimum&&{exclusiveMinimum:!0},...i.exclusiveMaximum&&{exclusiveMaximum:!0}},...e.annotate?.(i),...c})}}function GQ(e){return(t,n)=>{let r=e.formatter??U;return Pe(o=>e.remainder(o,t)===e.zero,{expected:`a value that is a multiple of ${r(t)}`,...e.annotate?.(t),...n})}}function xd(e){if(!globalThis.Number.isFinite(e))throw new globalThis.RangeError(`Expected a finite number, got ${U(e)}`);return e}var VQ=kp({order:Bo,annotate:e=>({representation:{id:"effect/schema/isGreaterThan",payload:{exclusiveMinimum:xd(e)}},toJsonSchema:()=>({exclusiveMinimum:e}),toCode:()=>({runtime:`Schema.isGreaterThan(${U(e)})`})})}),RF=Ep({order:Bo,annotate:e=>({representation:{id:"effect/schema/isGreaterThanOrEqualTo",payload:{minimum:xd(e)}},toJsonSchema:()=>({minimum:e}),toCode:()=>({runtime:`Schema.isGreaterThanOrEqualTo(${U(e)})`})})}),JQ=Tp({order:Bo,annotate:e=>({representation:{id:"effect/schema/isLessThan",payload:{exclusiveMaximum:xd(e)}},toJsonSchema:()=>({exclusiveMaximum:e}),toCode:()=>({runtime:`Schema.isLessThan(${U(e)})`})})}),ZQ=Ap({order:Bo,annotate:e=>({representation:{id:"effect/schema/isLessThanOrEqualTo",payload:{maximum:xd(e)}},toJsonSchema:()=>({maximum:e}),toCode:()=>({runtime:`Schema.isLessThanOrEqualTo(${U(e)})`})})}),si=Rp({order:Bo,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:"effect/schema/isBetween",payload:{minimum:xd(e.minimum),maximum:xd(e.maximum),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>({[t?"exclusiveMinimum":"minimum"]:e.minimum,[n?"exclusiveMaximum":"maximum"]:e.maximum}),toCode:()=>({runtime:`Schema.isBetween({ minimum: ${U(e.minimum)}, maximum: ${U(e.maximum)}, exclusiveMinimum: ${U(t)}, exclusiveMaximum: ${U(n)} })`})}}});function QQ(e,t){if(!globalThis.Number.isFinite(e)||e===0)throw new globalThis.RangeError(`Expected a finite non-zero number, got ${globalThis.String(e)}`);return e=globalThis.Math.abs(e),Pe(n=>SP(n,e)===0,{expected:`a value that is a multiple of ${e}`,representation:{id:"effect/schema/isMultipleOf",payload:{divisor:e}},toJsonSchema:()=>({multipleOf:e}),toCode:()=>({runtime:`Schema.isMultipleOf(${U(e)})`}),...t})}function oy(e){return Pe(t=>globalThis.Number.isSafeInteger(t),{expected:"an integer",representation:{id:"effect/schema/isInt",payload:null},toJsonSchema:()=>({type:"integer",minimum:globalThis.Number.MIN_SAFE_INTEGER,maximum:globalThis.Number.MAX_SAFE_INTEGER}),toCode:()=>({runtime:"Schema.isInt()"}),arbitraryConstraint:{number:"integer"},...e})}var br=vp.check(oy()),oo=br.check(RF(0));function YQ(e){return new ha([oy(),si({minimum:-2147483648,maximum:2147483647})],{expected:"a 32-bit integer",...e})}function XQ(e){return new ha([oy(),si({minimum:0,maximum:4294967295})],{expected:"a 32-bit unsigned integer",...e})}function Sd(e){if(globalThis.Number.isNaN(e.getTime()))throw new globalThis.RangeError(`Expected a valid Date, got ${U(e)}`);return e.toISOString()}function bd(e){return`new Date(${U(e.getTime())})`}var eY=kp({order:ac,annotate:e=>({representation:{id:"effect/schema/isGreaterThanDate",payload:{exclusiveMinimum:Sd(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanDate(${bd(e)})`})})}),tY=Ep({order:ac,annotate:e=>({representation:{id:"effect/schema/isGreaterThanOrEqualToDate",payload:{minimum:Sd(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanOrEqualToDate(${bd(e)})`})})}),nY=Tp({order:ac,annotate:e=>({representation:{id:"effect/schema/isLessThanDate",payload:{exclusiveMaximum:Sd(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanDate(${bd(e)})`})})}),rY=Ap({order:ac,annotate:e=>({representation:{id:"effect/schema/isLessThanOrEqualToDate",payload:{maximum:Sd(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanOrEqualToDate(${bd(e)})`})})}),oY=Rp({order:ac,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:"effect/schema/isBetweenDate",payload:{minimum:Sd(e.minimum),maximum:Sd(e.maximum),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenDate({ minimum: ${bd(e.minimum)}, maximum: ${bd(e.maximum)}, exclusiveMinimum: ${U(t)}, exclusiveMaximum: ${U(n)} })`})}}}),sY=kp({order:ic,annotate:e=>({representation:{id:"effect/schema/isGreaterThanBigInt",payload:{exclusiveMinimum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanBigInt(${U(e)})`})})}),OF=Ep({order:ic,annotate:e=>({representation:{id:"effect/schema/isGreaterThanOrEqualToBigInt",payload:{minimum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanOrEqualToBigInt(${U(e)})`})})}),iY=Tp({order:ic,annotate:e=>({representation:{id:"effect/schema/isLessThanBigInt",payload:{exclusiveMaximum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanBigInt(${U(e)})`})})}),aY=Ap({order:ic,annotate:e=>({representation:{id:"effect/schema/isLessThanOrEqualToBigInt",payload:{maximum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanOrEqualToBigInt(${U(e)})`})})}),cY=Rp({order:ic,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:"effect/schema/isBetweenBigInt",payload:{minimum:e.minimum.toString(10),maximum:e.maximum.toString(10),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenBigInt({ minimum: ${U(e.minimum)}, maximum: ${U(e.maximum)}, exclusiveMinimum: ${U(t)}, exclusiveMaximum: ${U(n)} })`})}}});function ik(e,t){return e=mn(e),CF(e,Math.ceil(e/2),t)}function CF(e,t,n){return Pe(r=>r.length>=e,{expected:`a value with a length of at least ${e}`,representation:{id:"effect/schema/isMinLength",payload:{minLength:e}},toJsonSchema:({type:r})=>r==="string"?e<=1?{minLength:t}:[{minLength:t},!0]:r==="array"?{minItems:e}:r===void 0?[{minLength:t,minItems:e},!0]:[{},!0],toCode:()=>({runtime:`Schema.isMinLength(${e})`}),[Rn]:!0,arbitraryConstraint:{minLength:e},...n})}function DF(e){return CF(1,1,e)}function PF(e,t){return e=mn(e),Pe(n=>n.length<=e,{expected:`a value with a length of at most ${e}`,representation:{id:"effect/schema/isMaxLength",payload:{maxLength:e}},toJsonSchema:({type:n})=>n==="string"?e===0?{maxLength:e}:[{maxLength:e},!0]:n==="array"?{maxItems:e}:n===void 0?[{maxLength:e,maxItems:e},!0]:[{},!0],toCode:()=>({runtime:`Schema.isMaxLength(${e})`}),[Rn]:!0,arbitraryConstraint:{maxLength:e},...t})}function ak(e,t,n){return e=mn(e),t=mn(t),Pe(r=>r.length>=e&&r.length<=t,{expected:e===t?`a value with a length of ${e}`:`a value with a length between ${e} and ${t}`,representation:{id:"effect/schema/isBetweenLength",payload:{minimum:e,maximum:t}},toJsonSchema:({type:r})=>r==="string"?t===0||Math.ceil(e/2)>t?{minLength:Math.ceil(e/2),maxLength:t}:[{minLength:Math.ceil(e/2),maxLength:t},!0]:r==="array"?{minItems:e,maxItems:t}:r===void 0?[{minLength:Math.ceil(e/2),maxLength:t,minItems:e,maxItems:t},!0]:[{},!0],toCode:()=>({runtime:`Schema.isBetweenLength(${e}, ${t})`}),[Rn]:!0,arbitraryConstraint:{minLength:e,maxLength:t},...n})}function dY(e,t){return e=mn(e),Pe(n=>ck(n,e)>=e,{expected:`a string with at least ${e} code points`,representation:{id:"effect/schema/isMinCodePoints",payload:{minCodePoints:e}},toJsonSchema:()=>({minLength:e}),toCode:()=>({runtime:`Schema.isMinCodePoints(${e})`}),arbitraryConstraint:{minCodePoints:e},...t})}function uY(e,t){return e=mn(e),Pe(n=>ck(n,e+1)<=e,{expected:`a string with at most ${e} code points`,representation:{id:"effect/schema/isMaxCodePoints",payload:{maxCodePoints:e}},toJsonSchema:()=>({maxLength:e}),toCode:()=>({runtime:`Schema.isMaxCodePoints(${e})`}),arbitraryConstraint:{maxCodePoints:e},...t})}function lY(e,t,n){return e=mn(e),t=mn(t),Pe(r=>{let o=ck(r,t+1);return o>=e&&o<=t},{expected:e===t?`a string with ${e} code points`:`a string with between ${e} and ${t} code points`,representation:{id:"effect/schema/isBetweenCodePoints",payload:{minimum:e,maximum:t}},toJsonSchema:()=>({allOf:[{minLength:e},{maxLength:t}]}),toCode:()=>({runtime:`Schema.isBetweenCodePoints(${e}, ${t})`}),arbitraryConstraint:{minCodePoints:e,maxCodePoints:t},...n})}function ck(e,t){if(t===0)return 0;let n=0;for(let r of e)if(++n>=t)break;return n}function mn(e){if(!globalThis.Number.isFinite(e))throw new globalThis.RangeError(`Expected a finite number, got ${e}`);return Math.max(0,Math.floor(e))}function pY(e,t){return e=mn(e),Pe(n=>n.size>=e,{expected:`a value with a size of at least ${e}`,representation:{id:"effect/schema/isMinSize",payload:{minSize:e}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isMinSize(${e})`}),[Rn]:!0,arbitraryConstraint:{minSize:e},...t})}function fY(e,t){return e=mn(e),Pe(n=>n.size<=e,{expected:`a value with a size of at most ${e}`,representation:{id:"effect/schema/isMaxSize",payload:{maxSize:e}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isMaxSize(${e})`}),[Rn]:!0,arbitraryConstraint:{maxSize:e},...t})}function mY(e,t,n){return e=mn(e),t=mn(t),Pe(r=>r.size>=e&&r.size<=t,{expected:e===t?`a value with a size of ${e}`:`a value with a size between ${e} and ${t}`,representation:{id:"effect/schema/isBetweenSize",payload:{minimum:e,maximum:t}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenSize(${e}, ${t})`}),[Rn]:!0,arbitraryConstraint:{minSize:e,maxSize:t},...n})}function hY(e,t){return e=mn(e),Pe(n=>Reflect.ownKeys(n).length>=e,{expected:`a value with at least ${e===1?"1 entry":`${e} entries`}`,representation:{id:"effect/schema/isMinProperties",payload:{minProperties:e}},toJsonSchema:({type:n})=>n==="object"?{minProperties:e}:[{minProperties:e},!0],toCode:()=>({runtime:`Schema.isMinProperties(${e})`}),[Rn]:!0,arbitraryConstraint:{minProperties:e},...t})}function gY(e,t){return e=mn(e),Pe(n=>Reflect.ownKeys(n).length<=e,{expected:`a value with at most ${e===1?"1 entry":`${e} entries`}`,representation:{id:"effect/schema/isMaxProperties",payload:{maxProperties:e}},toJsonSchema:({type:n})=>n==="object"?{maxProperties:e}:[{maxProperties:e},!0],toCode:()=>({runtime:`Schema.isMaxProperties(${e})`}),[Rn]:!0,arbitraryConstraint:{maxProperties:e},...t})}function yY(e,t,n){return e=mn(e),t=mn(t),Pe(r=>Reflect.ownKeys(r).length>=e&&Reflect.ownKeys(r).length<=t,{expected:e===t?`a value with exactly ${e===1?"1 entry":`${e} entries`}`:`a value with between ${e} and ${t} entries`,representation:{id:"effect/schema/isBetweenProperties",payload:{minimum:e,maximum:t}},toJsonSchema:({type:r})=>r==="object"?{minProperties:e,maxProperties:t}:[{minProperties:e,maxProperties:t},!0],toCode:()=>({runtime:`Schema.isBetweenProperties(${e}, ${t})`}),[Rn]:!0,arbitraryConstraint:{minProperties:e,maxProperties:t},...n})}function xY(e,t){let n=vd(e),r=Uv(n.ast);return Pe((o,s,i)=>{let c=Reflect.ownKeys(o),d=[];for(let u of c){let l=r(u,i);if(l!==void 0&&(d.push(new Mt([u],l)),i.errors==="first"))break}return fc(d)?new _t(s,d,o,i):!0},{expected:"an object with property names matching the schema",representation:{id:"effect/schema/isPropertyNames",payload:null,schemas:[n.ast]},toJsonSchema:({schemas:o,type:s})=>s==="object"?{propertyNames:o[0]}:[{propertyNames:o[0]},!0],toCode:({schemas:o})=>({runtime:`Schema.isPropertyNames(${o[0].runtime})`}),[Rn]:!0,...t})}function dk(e){return Pe(t=>zf(t).length===t.length,{expected:"an array with unique items",representation:{id:"effect/schema/isUnique",payload:null},toJsonSchema:()=>({uniqueItems:!0}),toCode:()=>({runtime:"Schema.isUnique()"}),arbitraryConstraint:{uniqueBy:Q},...e})}function MF(e){return Pe(t=>zf(t.map(([n])=>n)).length===t.length,{expected:"an array with unique keys",representation:{id:"effect/schema/isUniqueKey",payload:null},toCode:()=>({runtime:"Schema.isUniqueKey()"}),arbitraryConstraint:{uniqueBy:t=>t[0]},...e})}var uk=q.check(DF()),SY=q.check(ak(1,1)),_F=e=>(e?.includeStack===!0?1:0)|(e?.excludeCause===!0?2:0),UF=e=>{switch(e){case 0:return;case 1:return{includeStack:!0};case 2:return{excludeCause:!0};case 3:return{includeStack:!0,excludeCause:!0}}},H1=[];function bY(e){let t=_F(e),n=H1[t];if(n!==void 0)return n;let r=UF(t),o=Ra(globalThis.Error,{representation:{id:"effect/schema/Error",payload:r??null},toCode:()=>({runtime:r!==void 0?`Schema.ErrorInstance(${U(r)})`:"Schema.ErrorInstance()",Type:"globalThis.Error"}),expected:"Error",toCodecJson:()=>Oe()(rte,LI(r))});return H1[t]=o,o}var z1=[];function IY(e){let t=_F(e),n=z1[t];if(n!==void 0)return n;let r=dy.pipe(z(Ip,qI(UF(t))));return z1[t]=r,r}function vY(e,t){let n=Mn()([e,t],([r,o])=>{let s=ze(To([r,o]));return(i,c,d)=>i instanceof globalThis.Map?Yt(lt(s)([...i],d),{onSuccess:u=>new globalThis.Map(u),onFailure:u=>Cn(c,"entries",u,i,d)}):P(new It(c,i,d))},{representation:{id:"effect/schema/ReadonlyMap",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.ReadonlyMap(${r[0].runtime}, ${r[1].runtime})`,Type:`globalThis.ReadonlyMap<${r[0].Type}, ${r[1].Type}>`}),expected:"ReadonlyMap",toCodec:([r,o])=>Oe()(ze(To([r,o])),De({decode:s=>new globalThis.Map(s),encode:s=>[...s.entries()]}))});return G(n.ast,{key:e,value:t})}function wY(e){let t=Mn()([e],([n])=>{let r=ze(n);return(o,s,i)=>o instanceof globalThis.Set?Yt(lt(r)([...o],i),{onSuccess:c=>new globalThis.Set(c),onFailure:c=>Cn(s,"values",c,o,i)}):P(new It(s,o,i))},{representation:{id:"effect/schema/ReadonlySet",payload:null},toCode:({typeParameters:n})=>({runtime:`Schema.ReadonlySet(${n[0].runtime})`,Type:`globalThis.ReadonlySet<${n[0].Type}>`}),expected:"ReadonlySet",toCodec:([n])=>Oe()(ze(n),De({decode:r=>new globalThis.Set(r),encode:r=>[...r.values()]}))});return G(t.ast,{value:e})}var kY=Ra(globalThis.RegExp,{representation:{id:"effect/schema/RegExp",payload:null},toCode:()=>({runtime:"Schema.RegExp",Type:"globalThis.RegExp"}),expected:"RegExp",toCodecJson:()=>Oe()(Re({source:q,flags:q}),Ge({decode:(e,t)=>Nc({try:()=>new globalThis.RegExp(e.source,e.flags),catch:()=>new Z({expected:"valid RegExp source and flags"},e,t)}),encode:e=>C({source:e.source,flags:e.flags})}))}),NF=q.annotate({expected:"a string that will be decoded as a URL"}),FF=Ra(globalThis.URL,{representation:{id:"effect/schema/URL",payload:null},toCode:()=>({runtime:"Schema.URL",Type:"globalThis.URL"}),expected:"URL",toCodecJson:()=>Oe()(NF,jh)}),EY=NF.pipe(z(FF,jh)),$F=q.annotate({expected:"a string that will be decoded as a Date"}),sy=Ne(e=>e instanceof globalThis.Date&&!globalThis.Number.isNaN(e.getTime()),{representation:{id:"effect/schema/Date",payload:null},toCode:()=>({runtime:"Schema.Date",Type:"globalThis.Date"}),expected:"a valid Date",toCodecJson:()=>Oe()($F,qh)}),TY=$F.pipe(z(sy,qh)),AY=br.pipe(z(sy,NI)),RY=q.annotate({expected:"a string that will be decoded as JSON",contentMediaType:"application/json"});function lk(e,t){return RY.pipe(z(e,ZI(t)))}var OY=lk(Ip),LF=Ra(globalThis.File,{representation:{id:"effect/schema/File",payload:null},toCode:()=>({runtime:"Schema.File",Type:"globalThis.File"}),expected:"File",toCodecJson:()=>Oe()(Re({data:q.check(AF()),type:q,name:q,lastModified:br}),Ge({decode:(e,t)=>Jt(sa(e.data),{onFailure:()=>P(new Z({expected:"a valid Base64 string"},e.data,t)),onSuccess:n=>{let r=new globalThis.Uint8Array(n);return C(new globalThis.File([r],e.name,{type:e.type,lastModified:e.lastModified}))}}),encode:(e,t)=>Kb({try:async()=>{let n=new globalThis.Uint8Array(await e.arrayBuffer());return{data:oa(n),type:e.type,name:e.name,lastModified:e.lastModified}},catch:()=>new Z({expected:"a readable File"},e,t)})}))}),qF=Ne(e=>e instanceof globalThis.FormData,{representation:{id:"effect/schema/FormData",payload:null},toCode:()=>({runtime:"Schema.FormData",Type:"globalThis.FormData"}),expected:"FormData",toCodecJson:()=>Oe()(ze(To([q,ct([Re({_tag:us("String"),value:q}),Re({_tag:us("File"),value:LF})])])),Ge({decode:e=>{let t=new globalThis.FormData;for(let[n,r]of e)t.append(n,r.value);return C(t)},encode:e=>C(globalThis.Array.from(e.entries()).map(([t,n])=>typeof n=="string"?[t,{_tag:"String",value:n}]:[t,{_tag:"File",value:n}]))}))});function CY(e){return qF.pipe(z(e,QI))}var BF=Ra(globalThis.URLSearchParams,{representation:{id:"effect/schema/URLSearchParams",payload:null},toCode:()=>({runtime:"Schema.URLSearchParams",Type:"globalThis.URLSearchParams"}),expected:"URLSearchParams",toCodecJson:()=>Oe()(q.annotate({expected:"a query string that will be decoded as URLSearchParams"}),De({decode:e=>new globalThis.URLSearchParams(e),encode:e=>e.toString()}))});function DY(e){return BF.pipe(z(e,YI))}var PY=q.annotate({expected:"a string that will be decoded as a number"}).pipe(z(vp,ma)),MY=q.annotate({expected:"a string that will be decoded as a finite number"}).pipe(z(ry,ma)),_Y=G(Rv).pipe(z(wd,Fl)),jF=q.check(TF()),UY=q.annotate({expected:"a string that will be decoded as a trimmed string"}).pipe(z(jF,_I())),NY=q.annotate({expected:"a base64 encoded string that will be decoded as a UTF-8 string"}).pipe(z(q,KI)),FY=q.annotate({expected:"a base64 (URL) encoded string that will be decoded as a UTF-8 string"}).pipe(z(q,GI)),$Y=q.annotate({expected:"a hex encoded string that will be decoded as a UTF-8 string"}).pipe(z(q,VI)),LY=q.annotate({expected:"a URI component encoded string that will be decoded as a UTF-8 string"}).pipe(z(q,JI)),Jw=ct([ry,uF,q]),qY=Re({issues:ze(Re({message:q,path:Id(ze(ct([Jw,Re({key:Jw})])))}))}),BY=Ao([0,1]).pipe(z(Yg,De({decode:e=>e===1,encode:e=>e?1:0}))),HF=q.annotate({expected:"a base64 encoded string that will be decoded as Uint8Array",format:"byte",contentEncoding:"base64"}),iy=Ra(globalThis.Uint8Array,{representation:{id:"effect/schema/Uint8Array",payload:null},toCode:()=>({runtime:"Schema.Uint8Array",Type:"globalThis.Uint8Array"}),expected:"Uint8Array",toCodecJson:()=>Oe()(HF,Hh)}),jY=HF.pipe(z(iy,Hh)),HY=q.annotate({expected:"a base64 (URL) encoded string that will be decoded as a Uint8Array"}).pipe(z(iy,{decode:vI(),encode:Dl()})),zF=q.annotate({expected:"a hex encoded string that will be decoded as a Uint8Array"}).pipe(z(iy,{decode:kI(),encode:Pl()})),WF=Ge({decode:(e,t)=>{let n=fh(e);return ae(n)?P(new Z({expected:"a valid BigDecimal string"},e,t)):C(n.value)},encode:e=>C(Wr(e))}),zY=kp({order:$c,formatter:e=>Wr(e)}),WY=Ep({order:$c,formatter:e=>Wr(e)}),KY=Tp({order:$c,formatter:e=>Wr(e)}),GY=Ap({order:$c,formatter:e=>Wr(e)}),VY=Rp({order:$c,formatter:e=>Wr(e)}),KF=q.annotate({expected:"a string that will be decoded as a BigDecimal"}),GF=Ne(e0,{representation:{id:"effect/schema/BigDecimal",payload:null},toCode:()=>({runtime:"Schema.BigDecimal",Type:"BigDecimal.BigDecimal",importDeclarations:['import * as BigDecimal from "effect/BigDecimal"']}),expected:"BigDecimal",toCodecJson:()=>Oe()(KF,WF),toFormatter:()=>e=>Wr(e)}),JY=KF.pipe(z(GF,WF)),ay=Ne(OM,{representation:{id:"effect/schema/ByteSize",payload:null},toCode:()=>({runtime:"Schema.ByteSize",Type:"ByteSize.ByteSize",importDeclarations:['import * as ByteSize from "effect/ByteSize"']}),expected:"ByteSize",toCodecJson:()=>Oe()(wd.check(OF(globalThis.BigInt(0))),De({decode:RM,encode:mh})),toCodecStringTree:()=>Oe()(VF,Bh)}),VF=q.annotate({expected:"a string that will be decoded as a ByteSize"}),ZY=VF.pipe(z(ay,Bh)),QY=wd.pipe(z(ay,FI)),YY=vp.pipe(z(ay,$I));function Zw(e,t){let n=Mn()([e,t],([r,o])=>(s,i,c)=>{if(!HC(s))return P(new It(i,s,c));switch(s._tag){case"Fail":return Yt(lt(r)(s.error,c),{onSuccess:lb,onFailure:d=>Cn(i,"error",d,s,c)});case"Die":return Yt(lt(o)(s.defect,c),{onSuccess:pb,onFailure:d=>Cn(i,"defect",d,s,c)});case"Interrupt":return C(s)}},{representation:{id:"effect/schema/CauseReason",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.CauseReason(${r[0].runtime}, ${r[1].runtime})`,Type:`Cause.Failure<${r[0].Type}, ${r[1].Type}>`,importDeclarations:['import * as Cause from "effect/Cause"']}),expected:"Cause.Failure",toCodec:([r,o])=>Oe()(ct([Re({_tag:jt("Fail"),error:r}),Re({_tag:jt("Die"),defect:o}),Re({_tag:jt("Interrupt"),fiberId:ty(ry)})]),De({decode:s=>{switch(s._tag){case"Fail":return lb(s.error);case"Die":return pb(s.defect);case"Interrupt":return zC(s.fiberId)}},encode:s=>{switch(s._tag){case"Fail":return{_tag:"Fail",error:s.error};case"Die":return{_tag:"Die",defect:s.defect};case"Interrupt":return{_tag:"Interrupt",fiberId:s.fiberId}}}}))});return G(n.ast,{error:e,defect:t})}function Qw(e,t){let n=Mn()([e,t],([r,o])=>{let s=ze(Zw(r,o));return(i,c,d)=>jC(i)?Yt(lt(s)(i.reasons,d),{onSuccess:$u,onFailure:u=>Cn(c,"reasons",u,i,d)}):P(new It(c,i,d))},{representation:{id:"effect/schema/Cause",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.Cause(${r[0].runtime}, ${r[1].runtime})`,Type:`Cause.Cause<${r[0].Type}, ${r[1].Type}>`,importDeclarations:['import * as Cause from "effect/Cause"']}),expected:"Cause",toCodec:([r,o])=>Oe()(ze(Zw(r,o)),De({decode:$u,encode:({reasons:s})=>s}))});return G(n.ast,{error:e,defect:t})}function W1(e){return Oe()(e,De({decode:u0,encode:kn}))}function XY(e){let t=Mn()([e],([n])=>{let r=ze(n);return(o,s,i)=>hh(o)?Yt(lt(r)(kn(o),i),{onSuccess:u0,onFailure:c=>Cn(s,"values",c,o,i)}):P(new It(s,o,i))},{representation:{id:"effect/schema/Chunk",payload:null},toCode:({typeParameters:n})=>({runtime:`Schema.Chunk(${n[0].runtime})`,Type:`Chunk.Chunk<${n[0].Type}>`}),expected:"Chunk",toCodec:([n])=>W1(ze(n)),toCodecArbitrary:({constraint:n,typeParameters:[r]})=>W1(Xg(ze(r),n?.minLength,n?.maxLength)),toEquivalence:([n])=>c0(n)});return G(t.ast,{value:e})}function JF(){return yt((e,t)=>ut(qs(e),{onNone:()=>P(new Z({message:"Invalid DateTime input"},e,t)),onSome:n=>C(Bs(n))}))}var eX=De({decode:e=>ra(e),encode:e=>e.offset}),ZF=Ge({decode:(e,t)=>ut(ol(e),{onNone:()=>P(new Z({expected:"a valid IANA time zone"},e,t)),onSome:C}),encode:e=>C(e.id)}),QF=Ge({decode:(e,t)=>ut(sl(e),{onNone:()=>P(new Z({expected:"a valid time zone"},e,t)),onSome:C}),encode:e=>C(js(e))}),YF=Ge({decode:(e,t)=>ut(qs(e),{onNone:()=>P(new Z({expected:"a valid UTC DateTime string"},e,t)),onSome:n=>C(Bs(n))}),encode:e=>C(al(e))}),XF=Ge({decode:(e,t)=>ut(rl(e),{onNone:()=>P(new Z({expected:"a valid Zoned DateTime string"},e,t)),onSome:C}),encode:e=>C(Bc(e))}),e$=-864e13,t$=864e13,tX=e$+840*60*1e3,nX=t$-840*60*1e3,rX=-720*60*1e3,oX=840*60*1e3,n$=["UTC","Europe/London","America/New_York","Asia/Tokyo","Australia/Sydney"];function r$(e,t,n){let r=Math.max(t,e?.minimum===void 0?t:e.minimum.epochMilliseconds+(e.exclusiveMinimum===!0?1:0)),o=Math.min(n,e?.maximum===void 0?n:e.maximum.epochMilliseconds-(e.exclusiveMaximum===!0?1:0));return r<=o?[r,o]:[t,n]}function pk(e,t){return br.check(si({minimum:e,maximum:t}))}function o$(){return ct([pk(rX,oX),Ao(n$)])}var kd=Ne(e=>gh(e)&&h0(e),{representation:{id:"effect/schema/DateTimeUtc",payload:null},toCode:()=>({runtime:"Schema.DateTimeUtc",Type:"DateTime.Utc",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.Utc",toCodecArbitrary:({constraint:e})=>{let[t,n]=r$(e,e$,t$);return oi()(pk(t,n),K(qc))},toCodecJson:()=>Oe()(q,YF),toFormatter:()=>e=>e.toString()}),sX=sy.pipe(z(kd,{decode:JF(),encode:K(il)})),iX=q.annotate({expected:"a string that will be decoded as a DateTime.Utc"}).pipe(z(kd,YF)),aX=Ge({decode:(e,t)=>Jt(S_(e),{onFailure:()=>P(new Z({expected:"an HTTP date (RFC 9110 \xA75.6.7)"},e,t)),onSuccess:C}),encode:e=>C(H0(e))}),cX=q.annotate({expected:"an HTTP date string"}).pipe(z(kd,aX)),dX=br.pipe(z(kd,{decode:JF(),encode:K(Sh)})),uX=Ne(f0,{representation:{id:"effect/schema/TimeZoneOffset",payload:null},toCode:()=>({runtime:"Schema.TimeZoneOffset",Type:"DateTime.TimeZone.Offset",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.TimeZone.Offset",toCodecJson:()=>Oe()(br,eX),toFormatter:()=>e=>js(e)}),s$=q.annotate({expected:"an IANA time zone identifier"}),i$=Ne(m0,{representation:{id:"effect/schema/TimeZoneNamed",payload:null},toCode:()=>({runtime:"Schema.TimeZoneNamed",Type:"DateTime.TimeZone.Named",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.TimeZone.Named",toCodecArbitrary:()=>oi()(Ao(n$),K(xh)),toCodecJson:()=>Oe()(s$,ZF),toFormatter:()=>e=>js(e)}),lX=s$.pipe(z(i$,ZF)),a$=q.annotate({expected:"a time zone string (IANA identifier or offset like +03:00)"}),c$=Ne(p0,{representation:{id:"effect/schema/TimeZone",payload:null},toCode:()=>({runtime:"Schema.TimeZone",Type:"DateTime.TimeZone",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.TimeZone",toCodecArbitrary:()=>oi()(o$(),K(e=>typeof e=="number"?ra(e):xh(e))),toCodecJson:()=>Oe()(a$,QF),toFormatter:()=>e=>js(e)}),pX=a$.pipe(z(c$,QF)),d$=q.annotate({expected:"a zoned DateTime string (e.g. 2024-01-01T00:00:00.000+00:00[Europe/London])"}),u$=Ne(e=>gh(e)&&g0(e),{representation:{id:"effect/schema/DateTimeZoned",payload:null},toCode:()=>({runtime:"Schema.DateTimeZoned",Type:"DateTime.Zoned",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.Zoned",toCodecArbitrary:({constraint:e})=>{let[t,n]=r$(e,tX,nX);return oi()(Re({epochMilliseconds:pk(t,n),timeZone:o$()}),K(({epochMilliseconds:r,timeZone:o})=>y0(r,{timeZone:o})))},toCodecJson:()=>Oe()(d$,XF),toFormatter:()=>e=>Bc(e),toEquivalence:()=>yh}),fX=d$.pipe(z(u$,XF)),Un=(e,t,n,r)=>q.pipe(z(e,Ge({decode:(o,s)=>{let i=t(o);return Tt(i)?C(i.success):P(new Z({message:i.failure.message},o,s))},encode:o=>C(n(o))}))).annotate({identifier:r}),Ca=Ne(fd,{identifier:"MacAddress"}),Ed=Un(Ca,c1,hw,"MacAddressFromString"),Op=Ne(tn,{identifier:"Ipv4Address"}),fk=Un(Op,va,nn,"Ipv4AddressFromString"),cy=Ne(xr,{identifier:"Ipv6Address"}),l$=Un(cy,wa,nn,"Ipv6AddressFromString"),ii=Ne(lw,{identifier:"IpAddress"}),Da=Un(ii,ei,nn,"IpAddressFromString"),dt=(e,t,n,r)=>hF(t,{expected:n})(e).annotate({identifier:r}),mX=dt(ii,md,"a multicast address","IpMulticastAddress"),hX=dt(Da,md,"a multicast address","IpMulticastAddressFromString"),gX=dt(Ca,md,"a multicast address","MacMulticastAddress"),yX=dt(Ed,md,"a multicast address","MacMulticastAddressFromString"),xX=dt(ii,Sw,"a unicast address","IpUnicastAddress"),SX=dt(Da,Sw,"a unicast address","IpUnicastAddressFromString"),bX=dt(Ca,Ng,"a unicast address","MacUnicastAddress"),IX=dt(Ed,Ng,"a unicast address","MacUnicastAddressFromString"),vX=dt(Op,$g,"a broadcast address","Ipv4BroadcastAddress"),wX=dt(fk,$g,"a broadcast address","Ipv4BroadcastAddressFromString"),kX=dt(Ca,Ug,"a broadcast address","MacBroadcastAddress"),EX=dt(Ed,Ug,"a broadcast address","MacBroadcastAddressFromString"),TX=dt(ii,xw,"a loopback address","IpLoopbackAddress"),AX=dt(Da,xw,"a loopback address","IpLoopbackAddressFromString"),RX=dt(ii,bw,"a link-local address","IpLinkLocalAddress"),OX=dt(Da,bw,"a link-local address","IpLinkLocalAddressFromString"),CX=dt(ii,Fg,"an unspecified address","IpUnspecifiedAddress"),DX=dt(Da,Fg,"an unspecified address","IpUnspecifiedAddressFromString"),PX=dt(Op,Iw,"a private address","Ipv4PrivateAddress"),MX=dt(fk,Iw,"a private address","Ipv4PrivateAddressFromString"),_X=dt(cy,vw,"a unique-local address","Ipv6UniqueLocalAddress"),UX=dt(l$,vw,"a unique-local address","Ipv6UniqueLocalAddressFromString"),NX=dt(Ca,gw,"a locally administered address","MacLocallyAdministeredAddress"),FX=dt(Ed,gw,"a locally administered address","MacLocallyAdministeredAddressFromString"),$X=dt(Ca,yw,"a universally administered address","MacUniversallyAdministeredAddress"),LX=dt(Ed,yw,"a universally administered address","MacUniversallyAdministeredAddressFromString"),p$=Ne(b1,{identifier:"Ipv4Interface"}),qX=Un(p$,jg,hp,"Ipv4InterfaceFromString"),f$=Ne(I1,{identifier:"Ipv6Interface"}),BX=Un(f$,Hg,hp,"Ipv6InterfaceFromString"),m$=Ne(fp,{identifier:"IpInterface"}),jX=Un(m$,zg,hp,"IpInterfaceFromString"),h$=Ne(w1,{identifier:"Ipv4Network"}),HX=Un(h$,E1,yp,"Ipv4NetworkFromString"),g$=Ne(k1,{identifier:"Ipv6Network"}),zX=Un(g$,T1,yp,"Ipv6NetworkFromString"),y$=Ne(gp,{identifier:"IpNetwork"}),WX=Un(y$,A1,yp,"IpNetworkFromString"),KX=Ne(cp,{identifier:"InetAddressV4"}),GX=Ne(dp,{identifier:"InetAddressV6"}),x$=Ne(pw,{identifier:"InetAddress"}),VX=Un(x$,ww,Lg,"InetAddressFromString"),S$=Ne(Mg,{identifier:"UnixPathAddress"}),JX=q.pipe(z(S$,De({decode:u1,encode:e=>e.path}))).annotate({identifier:"UnixPathAddressFromString"}),ZX=Ne(i1,{identifier:"SocketAddress"}),ls=q.check(Pe(ds,{expected:"a normalized domain name"})).pipe(ny("~effect/net/Host/DomainName")).annotate({identifier:"DomainName"}),b$=Un(ls,qg,e=>e,"DomainNameFromString"),mk=q.check(Pe(fw,{expected:"a canonical scoped IPv6 literal"})).pipe(ny("~effect/net/NetAddress/ScopedIpv6Literal")).annotate({identifier:"ScopedIpv6Literal"}),I$=Un(mk,up,e=>e,"ScopedIpv6LiteralFromString"),QX=ct([ii,mk,ls]).annotate({identifier:"Host"}),YX=ct([Da,I$,b$]).annotate({identifier:"HostFromString"}),v$=Ne(Tw,{identifier:"HostPort"}),XX=Un(v$,p1,Aw,"HostPortFromString"),eee=br.check(si({minimum:0,maximum:65535},{expected:"a port number"})),tee=Ge({decode:(e,t)=>ut(Vf(e),{onNone:()=>P(new Z({expected:"a valid Duration string"},e,t)),onSome:C}),encode:e=>C(globalThis.String(e))}),nee=Ge({decode:e=>C(En(e)),encode:(e,t)=>ut(Zf(e),{onNone:()=>P(new Z({expected:"a Duration representable as a bigint"},e,t)),onSome:n=>C(n)})}),ree=De({decode:e=>go(e),encode:e=>cr(e)}),Td=Ne(gu,{representation:{id:"effect/schema/Duration",payload:null},toCode:()=>({runtime:"Schema.Duration",Type:"Duration.Duration",importDeclarations:['import * as Duration from "effect/Duration"']}),expected:"Duration",toCodecJson:()=>Oe()(ct([Re({_tag:jt("Infinity")}),Re({_tag:jt("NegativeInfinity")}),Re({_tag:jt("Nanos"),value:wd}),Re({_tag:jt("Millis"),value:br})]),De({decode:e=>{switch(e._tag){case"Infinity":return Pi;case"NegativeInfinity":return hc;case"Nanos":return En(e.value);case"Millis":return go(e.value)}},encode:e=>{switch(e.value._tag){case"Infinity":return{_tag:"Infinity"};case"NegativeInfinity":return{_tag:"NegativeInfinity"};case"Nanos":return{_tag:"Nanos",value:e.value.nanos};case"Millis":return{_tag:"Millis",value:e.value.millis}}}}))}),oee=q.annotate({expected:"a string that will be decoded as a Duration"}),see=oee.pipe(z(Td,tee)),iee=wd.pipe(z(Td,nee)),aee=vp.pipe(z(Td,ree)),cee=Ao(Cw),w$=(e,t)=>q.pipe(z(e,Ge({decode:(n,r)=>{let o=t(n);return fe(o)?P(new Z({message:o.failure.message},n,r)):nn(o.success)===n?C(o.success):P(new Z({message:"expected a canonical address"},n,r))},encode:n=>C(nn(n))}))),Gw=br.check(si({minimum:0,maximum:255})),yd=br.check(si({minimum:0,maximum:65535})),k$=br.check(si({minimum:0,maximum:4294967295})),Gg=k$.pipe(z(Td,De({decode:yc,encode:yo}))),Ir=(e,t)=>Ne(n=>Dw(n)&&n._tag===e,{identifier:`Dns${e.charAt(0)}${e.slice(1).toLowerCase()}Record`,toCodecJson:()=>{let n=wp(e,t);return Oe()(n,Ge({decode:(r,o)=>{let{_tag:s,...i}=r,c=y1(e,i);return Tt(c)?C(c.success):P(new Z({message:c.failure.message},r,o))},encode:r=>C({...r})}))}}),E$=Ir("A",{address:w$(Op,va)}),T$=Ir("AAAA",{address:w$(cy,wa)}),A$=Ir("CAA",{critical:Yg,tag:q.check(Oa(/^[a-z0-9]+$/i)),value:q}),R$=Ir("CNAME",{target:ls}),O$=Ir("MX",{exchange:ls,priority:yd}),C$=Ir("NAPTR",{order:yd,preference:yd,flags:q,service:q,regexp:q,replacement:ls}),D$=Ir("NS",{host:ls}),P$=Ir("PTR",{host:uk}),M$=Ir("SOA",{primary:ls,admin:uk,serial:k$,refresh:Gg,retry:Gg,expire:Gg,minimum:Gg}),_$=Ir("SRV",{target:ls,port:yd,priority:yd,weight:yd}),U$=Ir("TLSA",{certUsage:Gw,selector:Gw,matchingType:Gw,data:zF}),N$=Ir("TXT",{chunks:ey(q)}),dee=ct([E$,T$,A$,R$,O$,C$,D$,P$,M$,_$,U$,N$]).annotate({identifier:"DnsRecord"});function uee(e,t,n){let r=Mn()([e,t,n],([o,s,i])=>{let c=Qw(s,i);return(d,u,l)=>{if(!GC(d))return P(new It(u,d,l));switch(d._tag){case"Success":return Yt(lt(o)(d.value,l),{onSuccess:Lu,onFailure:p=>Cn(u,"value",p,d,l)});case"Failure":return Yt(lt(c)(d.cause,l),{onSuccess:Wi,onFailure:p=>Cn(u,"cause",p,d,l)})}}},{representation:{id:"effect/schema/Exit",payload:null},toCode:({typeParameters:o})=>({runtime:`Schema.Exit(${o[0].runtime}, ${o[1].runtime}, ${o[2].runtime})`,Type:`Exit.Exit<${o[0].Type}, ${o[1].Type}, ${o[2].Type}>`,importDeclarations:['import * as Exit from "effect/Exit"']}),expected:"Exit",toCodec:([o,s,i])=>Oe()(ct([Re({_tag:jt("Success"),value:o}),Re({_tag:jt("Failure"),cause:Qw(s,i)})]),De({decode:c=>c._tag==="Success"?Lu(c.value):Wi(c.cause),encode:c=>qt(c)?{_tag:"Success",value:c.value}:{_tag:"Failure",cause:c.cause}}))});return G(r.ast,{value:e,error:t,defect:n})}function K1(e,t,n){return Re({type:jt(e),nodes:ze(Re({index:oo,data:t})),edges:ze(Re({index:oo,source:oo,target:oo,data:n}))})}function G1(e,t){let n=-1,r=new Set;for(let o=0;o<e.nodes.length;o++){let s=e.nodes[o].index;if(s<=n)return P(new Mt(["nodes",o,"index"],new Z({expected:"a strictly increasing node index"},s,t)));n=s,r.add(s)}n=-1;for(let o=0;o<e.edges.length;o++){let s=e.edges[o];if(s.index<=n)return P(new Mt(["edges",o,"index"],new Z({expected:"a strictly increasing edge index"},s.index,t)));if(n=s.index,!r.has(s.source))return P(new Mt(["edges",o,"source"],new Z({expected:"an encoded node index"},s.source,t)));if(!r.has(s.target))return P(new Mt(["edges",o,"target"],new Z({expected:"an encoded node index"},s.target,t)))}return C(Ch(e))}function lee(e,t,n){return!V0(e)||e.mutable||e.type!==t?P(new Z({expected:`an immutable ${t} Graph`},e,n)):C(gl(e))}function pee(e,t){return(n,r)=>{let o=gl(n),s=gl(r);if(o.type!==s.type||o.nodes.length!==s.nodes.length||o.edges.length!==s.edges.length)return!1;for(let i=0;i<o.nodes.length;i++)if(o.nodes[i].index!==s.nodes[i].index||!e(o.nodes[i].data,s.nodes[i].data))return!1;for(let i=0;i<o.edges.length;i++){let c=o.edges[i],d=s.edges[i],u=o.type==="directed"?c.source===d.source&&c.target===d.target:c.source===d.source&&c.target===d.target||c.source===d.target&&c.target===d.source;if(c.index!==d.index||!u||!t(c.data,d.data))return!1}return!0}}function fee(e,t,n){return oi()(ct([Qg,Re({nodes:ey(t),edges:ze(To([oo,oo,n]))})]),K(r=>{if(r===null)return Ch({type:e,nodes:[],edges:[]});let o=r.nodes.map((s,i)=>({index:i,data:s}));return Ch({type:e,nodes:o,edges:r.edges.map(([s,i,c],d)=>({index:d,source:s%o.length,target:i%o.length,data:c}))})}))}function mee(e,t,n){let r=Mn()([t,n],([o,s])=>{let i=K1(e,o,s);return(c,d,u)=>!V0(c)||c.mutable||c.type!==e?P(new It(d,c,u)):pn(lt(i)(gl(c),u),l=>G1(l,u))},{representation:{id:"effect/schema/Graph",payload:e},toCode:({typeParameters:o})=>({runtime:`Schema.Graph(${U(e)}, ${o[0].runtime}, ${o[1].runtime})`,Type:`Graph.Graph<${o[0].Type}, ${o[1].Type}, ${U(e)}>`,importDeclarations:['import * as Graph from "effect/Graph"']}),expected:`an immutable ${e} Graph`,toCodec:([o,s])=>Oe()(K1(e,o,s),Ge({decode:G1,encode:(i,c)=>lee(i,e,c)})),toCodecArbitrary:({typeParameters:[o,s]})=>fee(e,o,s),toEquivalence:([o,s])=>pee(o,s)});return G(r.ast,{type:e,node:t,edge:n})}function V1(e){return Oe()(e,De({decode:A0,encode:pl}))}function hee(e,t){let n=Mn()([e,t],([r,o])=>{let s=ze(To([r,o]));return(i,c,d)=>JM(i)?Yt(lt(s)(pl(i),d),{onSuccess:A0,onFailure:u=>Cn(c,"entries",u,i,d)}):P(new It(c,i,d))},{representation:{id:"effect/schema/HashMap",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.HashMap(${r[0].runtime}, ${r[1].runtime})`,Type:`HashMap.HashMap<${r[0].Type}, ${r[1].Type}>`,importDeclarations:['import * as HashMap from "effect/HashMap"']}),expected:"HashMap",toCodec:([r,o])=>V1(ze(To([r,o]))),toCodecArbitrary:({constraint:r,typeParameters:[o,s]})=>V1(Xg(ze(To([o,s])).check(MF()),r?.minSize,r?.maxSize)),toEquivalence:([r,o])=>gf(r,o)});return G(n.ast,{key:e,value:t})}function J1(e){return Oe()(e,De({decode:C0,encode:kn}))}function gee(e){let t=Mn()([e],([n])=>{let r=ze(n);return(o,s,i)=>e_(o)?Yt(lt(r)(kn(o),i),{onSuccess:C0,onFailure:c=>Cn(s,"values",c,o,i)}):P(new It(s,o,i))},{representation:{id:"effect/schema/HashSet",payload:null},toCode:({typeParameters:n})=>({runtime:`Schema.HashSet(${n[0].runtime})`,Type:`HashSet.HashSet<${n[0].Type}>`}),expected:"HashSet",toCodec:([n])=>J1(ze(n)),toCodecArbitrary:({constraint:n,typeParameters:[r]})=>J1(Xg(ze(r).check(dk()),n?.minSize,n?.maxSize)),toEquivalence:([n])=>ru(n)});return G(t.ast,{value:e})}function Pa(e){let t=Mn()([e],([n])=>(r,o,s)=>uc(r)?ae(r)?Qu:Yt(lt(n)(r.value,s),{onSuccess:F,onFailure:i=>Cn(o,"value",i,r,s)}):P(new It(o,r,s)),{representation:{id:"effect/schema/Option",payload:null},toCode:({typeParameters:n})=>({runtime:`Schema.Option(${n[0].runtime})`,Type:`Option.Option<${n[0].Type}>`,importDeclarations:['import * as Option from "effect/Option"']}),expected:"Option",toCodec:([n])=>Oe()(ct([Re({_tag:jt("Some"),value:n}),Re({_tag:jt("None")})]),De({decode:r=>r._tag==="None"?N():F(r.value),encode:r=>st(r)?{_tag:"Some",value:r.value}:{_tag:"None"}}))});return G(t.ast,{value:e})}function yee(e){return nk(e).pipe(z(Pa(_n(e)),BI()))}function xee(e){return ty(e).pipe(z(Pa(_n(e)),jI()))}function See(e,t){return fF(e).pipe(z(Pa(_n(e)),HI(t)))}var F$=Ne(o_,{representation:{id:"effect/http/Cookie",payload:null},toCode:()=>({runtime:"Schema.Cookie",Type:"Cookies.Cookie",importDeclarations:['import * as Cookies from "effect/http/Cookies"']}),expected:"Cookie"}),$$=Ne(r_,{representation:{id:"effect/http/Cookies",payload:null},toCode:()=>({runtime:"Schema.Cookies",Type:"Cookies.Cookies",importDeclarations:['import * as Cookies from "effect/http/Cookies"']}),expected:"Cookies",toCodecJson:()=>Oe()(ze(q),De({decode:s_,encode:u_})),toCodecIso:()=>Oe()(Aa(q,F$),De({decode:N0,encode:e=>e.cookies}))}),bee=$$.pipe(z(Aa(q,q),De({decode:d_,encode:e=>F0(globalThis.Object.entries(e).map(([t,n])=>c_(t,n)))}))),Iee=Ne(h_,{representation:{id:"effect/http/Headers",payload:null},toCode:()=>({runtime:"Schema.Headers",Type:"Headers.Headers",importDeclarations:['import * as Headers from "effect/http/Headers"']}),expected:"Headers",toEquivalence:()=>j0,toCodec:()=>Oe()(Aa(q,q),De({decode:g_,encode:e=>({...e})}))}),L$=ct([Re({_tag:us("Duration"),duration:Td.check(Pe(e=>Mi(e)&&!Jf(e),{expected:"a finite, non-negative duration"}))}),Re({_tag:us("DateTime"),dateTime:kd})]),vee=Ge({decode:(e,t)=>Jt(b_(e),{onFailure:()=>P(new Z({expected:"whole non-negative seconds or an HTTP date (RFC 9110 \xA710.2.3)"},e,t)),onSuccess:C}),encode:e=>C(I_(e))}),wee=q.annotate({expected:"a Retry-After header value"}).pipe(z(L$,vee)),hk=Ne(W0,{representation:{id:"effect/http/UrlParams",payload:null},toCode:()=>({runtime:"Schema.UrlParams",Type:"UrlParams.UrlParams",importDeclarations:['import * as UrlParams from "effect/http/UrlParams"']}),expected:"UrlParams",toEquivalence:()=>K0,toCodec:()=>Oe()(ze(To([q,q])),De({decode:Oh,encode:e=>e.params.map(([t,n])=>[t,hl(n)])}))}),kee=(e,t)=>hk.pipe(z(lk(Ip,t),Ge({decode:n=>ut(A_(n,e),{onNone:()=>P(new Mt([e],new rs(void 0))),onSome:C}),encode:n=>C(Oh([[e,n]]))}))),Eee=hk.pipe(z(Aa(q,ct([q,ey(q)])),De({decode:R_,encode:E_})));function Tee(e){return Ea(e).pipe(z(Pa(_n(e)),zI()))}function Aee(e){return Id(e).pipe(z(Pa(_n(e)),WI()))}function Ree(e,t){let n=t===void 0?"omit":t.onNoneEncoding,r=n===null?null:void 0;return Id(nk(e)).pipe(z(Pa(_n(e)),Nl({decode:o=>o.pipe(Oi(mf),F),encode:n==="omit"?Ri:o=>F(fu(Ri(o),()=>r))})))}function q$(e,t){let n=typeof t?.label=="string"?t.label:void 0,r=t?.disallowJsonEncode===!0,o=n!==void 0?r?{label:n,disallowJsonEncode:!0}:{label:n}:r?{disallowJsonEncode:!0}:void 0,s=n!==void 0?lt(jt(n)):void 0,i=Mn()([e],([c])=>(d,u,l)=>{if(jc(d)){let p=s!==void 0?Fc(s(d.label,l),f=>new Mt(["label"],f)):Mc;return Ft(p,()=>Yt(lt(c)(zs(d),l),{onSuccess:f=>ts(f,{label:d.label}),onFailure:()=>new _t(u,[new Mt(["value"],new Z(void 0,d,l))],d,l)}))}return P(new It(u,d,l))},{representation:{id:"effect/schema/Redacted",payload:o??null},toCode:({typeParameters:c})=>({runtime:o!==void 0?`Schema.Redacted(${c[0].runtime}, ${U(o)})`:`Schema.Redacted(${c[0].runtime})`,Type:`Redacted.Redacted<${c[0].Type}>`,importDeclarations:['import * as Redacted from "effect/Redacted"']}),expected:"Redacted",toCodecJson:([c])=>Oe()(c,{decode:K(d=>ts(d,{label:n})),encode:r?pa(d=>"Cannot serialize Redacted"+(st(d)&&typeof d.value.label=="string"?` with label: "${d.value.label}"`:"")):K(zs)}),toEquivalence:([c])=>f_(c)});return G(i.ast,{value:e})}function Oee(e,t){return z(q$(_n(e),{label:t?.label,disallowJsonEncode:t?.disallowEncode}),{decode:K(n=>ts(n,{label:t?.label})),encode:t?.disallowEncode?pa(n=>"Cannot encode Redacted"+(st(n)&&typeof n.value.label=="string"?` with label: "${n.value.label}"`:"")):K(zs)})(e)}function Cee(e,t){let n=Mn()([e,t],([r,o])=>(s,i,c)=>{if(!$f(s))return P(new It(i,s,c));switch(s._tag){case"Success":return Yt(Zl(r)(s.success,c),{onSuccess:$,onFailure:d=>Cn(i,"success",d,s,c)});case"Failure":return Yt(Zl(o)(s.failure,c),{onSuccess:J,onFailure:d=>Cn(i,"failure",d,s,c)})}},{representation:{id:"effect/schema/Result",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.Result(${r[0].runtime}, ${r[1].runtime})`,Type:`Result.Result<${r[0].Type}, ${r[1].Type}>`,importDeclarations:['import * as Result from "effect/Result"']}),expected:"Result",toCodec:([r,o])=>Oe()(ct([Re({_tag:jt("Success"),success:r}),Re({_tag:jt("Failure"),failure:o})]),De({decode:s=>s._tag==="Success"?$(s.success):J(s.failure),encode:s=>Tt(s)?{_tag:"Success",success:s.success}:{_tag:"Failure",failure:s.failure}}))});return G(n.ast,{success:e,failure:t})}var B$=(e,t)=>Ge({decode:(n,r)=>Fc(el(e(n)),o=>new Z({message:o.message},n,r)),encode:n=>C(t(n))}),j$=Re({major:oo,minor:oo,patch:oo,prerelease:ze(ct([oo,q.check(Oa(/^[0-9]*[A-Za-z-][0-9A-Za-z-]*$/))]))}),H$=B$(P1,ka),z$=q.annotate({expected:"a string that will be decoded as a SemVer"}),W$=Ne(qw,{representation:{id:"effect/schema/SemVer",payload:null},toCode:()=>({runtime:"Schema.SemVer",Type:"SemVer.SemVer",importDeclarations:['import * as SemVer from "effect/SemVer"']}),expected:"SemVer",toCodecArbitrary:()=>oi()(Re({...j$.fields,build:ze(q.check(Oa(/^[0-9A-Za-z-]+$/)))}),K(Bw)),toCodecJson:()=>Oe()(z$,H$),toFormatter:()=>ka}),Dee=z$.pipe(z(W$,H$)),K$=B$(Kw,ri),G$=q.annotate({expected:"a string that will be decoded as a SemVer range"}),V$=Ne(Ww,{representation:{id:"effect/schema/SemVerRange",payload:null},toCode:()=>({runtime:"Schema.SemVerRange",Type:"SemVerRange.SemVerRange",importDeclarations:['import * as SemVerRange from "effect/SemVerRange"']}),expected:"SemVerRange",toCodecArbitrary:()=>oi()(ze(ze(Re({operator:Ao(["","=","<","<=",">",">=","~","^"]),version:j$})).check(ik(1))),K(e=>U1(e.map(t=>t.map(({operator:n,version:r})=>`${n}${ka(Bw(r))}`).join(" ")).join(" || ")))),toCodecJson:()=>Oe()(G$,K$),toFormatter:()=>ri}),Pee=G$.pipe(z(V$,K$)),Mee=globalThis.Symbol.for("immer-draftable"),Yw={};function gk(e,t,n,r,o){let s=Uee(n,t,r),i=Z$(t),c=class extends e{constructor(...[d,u]){let p=u?.["~payload"],f=p?.token===Yw?p.value:n.make(d??{},u);super(f,{...u,disableChecks:!0,"~payload":{token:Yw,value:f}})}static[Sp]=Sp;get[i](){return i}static[Mee]=!0;static identifier=t;static fields=n.fields;static get ast(){return s(this).ast}static pipe(){return ie(this,arguments)}static rebuild(d){return s(this).rebuild(d)}static make(d,u){return Jl(s(this))(d??{},u)}static makeOption(d,u){return Vl(s(this))(d??{},u)}static makeEffect(d,u){return s(this).makeEffect(d??{},u)}static annotate(d){return this.rebuild(Zr(this.ast,d))}static annotateKey(d){return this.rebuild(Kl(this.ast,d))}static check(...d){return this.rebuild(Eo(this.ast,d))}static extend(d){return(u,l)=>{let p=Cp(u)?u:Re(u),f={...n.fields,...p.fields},g=Jh(f,n.ast.checks,{identifier:d});return gk(this,d,tk(Eo(g,p.ast.checks),f),l,o)}}static mapFields(d,u){return n.mapFields(d,u)}};return o!==void 0&&Object.assign(c.prototype,o(t)),c}function J$(e,t){return new e(t,{"~payload":{token:Yw,value:t}})}function _ee(e){return new ve(K(t=>J$(e,t)),xn())}function Z$(e){return`~effect/Schema/Class/${e}`}function Uee(e,t,n){let r;return o=>{if(r!==void 0)return r;let s=Z$(t),i=u=>u instanceof o||O(u,s),c=_ee(o),d=G(new Yc([e.ast],()=>(u,l,p)=>i(u)?C(u):P(new It(l,u,p)),{identifier:t,[Ph]:([u])=>({isConstructed:i,link:new xt(u,c)}),toCodec:([u])=>new xt(u.ast,c),toEquivalence:([u])=>u,toFormatter:([u])=>l=>`${o.identifier}(${u(l)})`,[yl]:Jc(e.ast),...n}));return r=z(d,c)(e)}}function Cp(e){return Zg(e)}var Q$=e=>(t,n)=>{let r=Cp(t)?t:Re(t);return gk(QA,e,r,n,o=>({toString(){return`${o}(${U({...this})})`}}))},Nee=e=>(t,n,r)=>{let o=Cp(n)?n.mapFields(s=>({_tag:us(t),...s}),{unsafePreserveChecks:!0}):wp(t,n);return Q$(e??t)(o,r)},Y$=e=>(t,n)=>{let r=Cp(t)?t:Re(t);return gk(du,e,r,n,s=>({name:s}))},Fee=e=>(t,n,r)=>{let o=Cp(n)?n.mapFields(s=>({_tag:us(t),...s}),{unsafePreserveChecks:!0}):wp(t,n);return Y$(e??t)(o,r)};function $ee(e){return t=>t.annotate({toFormatter:e})}function Lee(e,t){return VN(e.ast,t)}function qee(e){return t=>t.annotate({toEquivalence:e})}function Bee(e){return sw(e.ast)}function jee(e,t){return sp(e.ast,t)}function Hee(e,t){let n=sp(Ys(e.ast),t);return kg(n,t)}var zee=xg,Wee=Sg,Kee=bg,Gee=gN,Vee=IN;function Jee(e,t){return HN(e,t)}function Zee(e){return e1(e)}function Qee(e){return t1(e)}function Yee(e){return n1(e)}function Xee(e,t){return n=>G(Zr(n.ast,{toCodecIso:()=>new xt(e.ast,Ul(t))}),{schema:n})}function ete(e){return jN(e)}function tte(e){let t=mF(()=>n),n=ct([e,ze(t),Aa(q,t)]);return n}var dy=G(Zr(Zc,{toCode:()=>({runtime:"Schema.Json",Type:"Schema.Json"})})),nte=Aa(q,dy),rte=Re({message:q,name:Ea(q),stack:Ea(q),cause:Ea(dy)}),ote=G(Zr(LU,{toCode:()=>({runtime:"Schema.MutableJson",Type:"Schema.MutableJson"})}));function ste(e){return ns(e.ast)}function ite(e){return e.ast.context?.annotations}var ee={};Ae(ee,{Event:()=>ee,ID:()=>Sk,Seq:()=>s2,Version:()=>py,durable:()=>bk,durableMap:()=>mte,ephemeral:()=>pe,inventory:()=>Fe,latest:()=>fte,versionedType:()=>i2});var wt=a.Int.check(a.isGreaterThan(0)),he=a.Int.check(a.isGreaterThanOrEqualTo(0)),Nn=a.String.pipe(a.brand("RelativePath"),a.annotate({identifier:"RelativePath"})),tt=a.String.pipe(a.brand("AbsolutePath"),a.annotate({identifier:"AbsolutePath"})),m=e=>a.optionalKey(e).pipe(a.decodeTo(a.optional(a.toType(e)),{decode:fn.passthrough({strict:!1}),encode:fn.transformOptional(Xe.filter(t=>t!==void 0))})),ate=(e,t)=>Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),be=e=>t=>ate(t,e(t)),Rt=a.Finite.pipe(a.decodeTo(a.DateTimeUtc,{decode:fn.transform(e=>es.makeUnsafe(e)),encode:fn.transform(e=>es.toEpochMillis(e))}));var cte=26,dte="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",X$=0,yk=0;function $t(){return t2(!1)}function e2(){return t2(!0)}function t2(e,t=Date.now()){t!==X$&&(X$=t,yk=0),yk++;let n=BigInt(t)*0x1000n+BigInt(yk),r=e?~n:n,o=Array.from({length:6},(i,c)=>Number(r>>BigInt(40-8*c)&0xffn).toString(16).padStart(2,"0")).join(""),s=crypto.getRandomValues(new Uint8Array(cte-12));return o+Array.from(s,i=>dte[i%62]).join("")}var hn={};Ae(hn,{Info:()=>ly,Location:()=>hn,PublicInfo:()=>lte,PublicRef:()=>r2,Ref:()=>n2,response:()=>pte});var uy=a.String.pipe(a.brand("Project.ID"),a.annotate({identifier:"Project.ID"}),be(e=>({global:e.make("global")})));var xk=a.String.check(a.isStartingWith("wrk")).pipe(a.brand("Workspace.ID"),a.annotate({identifier:"Workspace.ID"}),be(e=>{let t=()=>e.make("wrk_"+$t());return{ascending:n=>n?e.make(n):t(),create:t}}));var n2=a.Struct({directory:tt,workspaceID:m(xk)}).annotate({identifier:"Location.Ref"}),r2=a.Struct(gr.omit(n2.fields,["workspaceID"])).annotate({identifier:"Location.PublicRef"}),ly=class extends a.Class("Location.Info")({directory:tt,workspaceID:m(xk),project:a.Struct({id:uy,directory:tt,canonical:tt})}){},lte=a.Struct(gr.omit(ly.fields,["workspaceID"])).annotate({identifier:"Location.PublicInfo"});function pte(e){return a.Struct({location:r2,data:e})}var Sk=a.String.check(a.isStartingWith("evt_")).pipe(a.brand("Event.ID"),a.annotate({identifier:"Event.ID"}),be(e=>({create:()=>e.make("evt_"+$t())}))),s2=a.Int.check(a.isGreaterThanOrEqualTo(0)).pipe(a.brand("Event.Seq"),a.annotate({identifier:"Event.Seq"})),py=a.Int.check(a.isGreaterThanOrEqualTo(1)).pipe(a.brand("Event.Version"),a.annotate({identifier:"Event.Version"})),o2=a.Struct({aggregateID:a.String,seq:s2,version:py});function bk(e){let t=a.Struct(e.schema),n=a.Struct({aggregateID:o2.fields.aggregateID,seq:o2.fields.seq,version:a.Literal(e.durable.version).pipe(a.decodeTo(a.toType(py),Jr.transform({decode:()=>py.make(e.durable.version),encode:()=>e.durable.version})))});return a.Struct({id:Sk,created:a.Finite,metadata:m(a.Record(a.String,a.Unknown)),type:a.Literal(e.type),durable:n,location:m(hn.Ref),data:t}).annotate({identifier:e.identifier??e.type}).pipe(be(()=>({type:e.type,durability:"durable",durable:e.durable,data:t})))}function pe(e){let t=a.Struct(e.schema);return a.Struct({id:Sk,created:a.Finite,metadata:m(a.Record(a.String,a.Unknown)),type:a.Literal(e.type),location:m(hn.Ref),data:t}).annotate({identifier:e.identifier??e.type}).pipe(be(()=>({type:e.type,durability:"ephemeral",durable:void 0,data:t})))}function Fe(...e){return Object.freeze(e)}function fte(e){return a2(e.reduce((t,n)=>{let r=t.get(n.type);if(!r)return t.set(n.type,n),t;if(n.durable&&r.durable&&n.durable.version!==r.durable.version)return n.durable.version>r.durable.version&&t.set(n.type,n),t;if(n!==r)throw new Error(`Duplicate latest event definition for ${n.type}`);return t},new Map))}function i2(e,t){return`${e}.${t}`}function mte(e){return a2(e.reduce((t,n)=>{if(n.durability!=="durable")return t;let r=i2(n.type,n.durable.version);if(t.has(r))throw new Error(`Duplicate durable event definition for ${r}`);return t.set(r,n),t},new Map))}function a2(e){let t=Object.freeze({get size(){return e.size},entries:()=>e.entries(),forEach:(n,r)=>e.forEach((o,s)=>n.call(r,o,s,t)),get:n=>e.get(n),has:n=>e.has(n),keys:()=>e.keys(),values:()=>e.values(),[Symbol.iterator]:()=>e[Symbol.iterator]()});return t}var on={};Ae(on,{Capabilities:()=>_k,Compatibility:()=>yy,Cost:()=>Z2,Event:()=>Nte,Family:()=>V2,ID:()=>Mp,Info:()=>Lte,MaxTokensField:()=>Ok,MediaInput:()=>Ck,Model:()=>on,Overlays:()=>Uk,ReasoningField:()=>Rk,Ref:()=>Fte,Settings:()=>Sy,Type:()=>J2,Variant:()=>Q2,VariantID:()=>xy});var rr={};Ae(rr,{Activation:()=>q2,Cache:()=>z2,CacheTTL:()=>H2,Compaction:()=>B2,Encoding:()=>W2,Event:()=>Dte,ID:()=>Pk,Info:()=>Mte,Overlays:()=>K2,Package:()=>L2,Provider:()=>rr,Request:()=>Pte,Settings:()=>Mk,Transport:()=>j2});var Od={};Ae(Od,{Attempt:()=>Ek,AttemptID:()=>Ak,AttemptStatus:()=>Ate,CommandAttempt:()=>Rte,CommandAttemptStatus:()=>Ote,CommandMethod:()=>P2,EnvMethod:()=>U2,Event:()=>kte,ExternalMethod:()=>_2,ID:()=>Tk,Info:()=>Tte,Integration:()=>Od,KeyMethod:()=>M2,Method:()=>N2,MethodID:()=>gy,OAuthMethod:()=>D2,Ref:()=>Ete});var Rd={};Ae(Rd,{Connection:()=>Rd,CredentialInfo:()=>f2,EnvInfo:()=>m2,Info:()=>xte,Status:()=>vk});var Ad={};Ae(Ad,{CreateInput:()=>yte,Credential:()=>Ad,Entry:()=>gte,Event:()=>hte,External:()=>p2,ID:()=>fy,Key:()=>l2,OAuth:()=>u2,Value:()=>Ik});var ai=a.String.pipe(a.brand("Integration.ID"),a.annotate({identifier:"Integration.ID"})),Dp=a.String.pipe(a.brand("Integration.MethodID"),a.annotate({identifier:"Integration.MethodID"}));var fy=a.String.pipe(a.brand("Credential.ID"),a.annotate({identifier:"Credential.ID"}),be(e=>({create:()=>e.make("cred_"+$t())}))),c2=pe({type:"credential.updated",schema:{}}),d2=pe({type:"credential.switched",schema:{integrationID:ai,credentialID:a.NullOr(fy)}}),hte={Updated:c2,Switched:d2,Definitions:Fe(c2,d2)},u2=a.Struct({type:a.Literal("oauth"),methodID:Dp,refresh:a.String,access:a.String,expires:he,metadata:m(a.Record(a.String,a.Unknown))}).annotate({identifier:"Credential.OAuth"}),l2=a.Struct({type:a.Literal("key"),key:a.String,metadata:m(a.Record(a.String,a.Unknown))}).annotate({identifier:"Credential.Key"}),p2=a.Struct({type:a.Literal("external"),methodID:Dp,metadata:m(a.Record(a.String,a.Unknown))}).annotate({identifier:"Credential.External"}),Ik=a.Union([u2,l2,p2]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Credential.Value"}),gte=a.Struct({id:fy,integrationID:ai,label:a.String,active:a.Boolean,value:Ik}).annotate({identifier:"Credential.Entry"}),yte=a.Struct({id:m(fy),integrationID:ai,label:m(a.String),value:Ik,activate:m(a.Boolean)}).annotate({identifier:"Credential.CreateInput"});var vk=a.Struct({status:a.Literals(["needs_auth"]),message:a.String,url:m(a.String)}).annotate({identifier:"Connection.Status"}),f2=a.Struct({type:a.Literal("credential"),id:Ad.ID,label:a.String,method:a.Literals(["key","oauth","external"]),status:m(vk)}).annotate({identifier:"Connection.CredentialInfo"}),m2=a.Struct({type:a.Literal("env"),name:a.String,status:m(vk)}).annotate({identifier:"Connection.EnvInfo"}),xte=a.Union([f2,m2]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Connection.Info"});var Ma={};Ae(Ma,{Answer:()=>hy,BooleanField:()=>w2,Detail:()=>Ite,Event:()=>wte,ExternalField:()=>E2,Field:()=>T2,Fields:()=>A2,Form:()=>Ma,ID:()=>my,Info:()=>kk,IntegerField:()=>v2,Metadata:()=>x2,MultiselectField:()=>k2,NumberField:()=>I2,Option:()=>wk,Reply:()=>vte,State:()=>O2,StringField:()=>b2,Value:()=>R2,When:()=>S2});var Ste=a.String.check(a.isStartingWith("frm_")).pipe(a.brand("Form.ID"),a.annotate({identifier:"Form.ID"})),my=Ste.pipe(be(e=>({create:t=>e.make(t??"frm_"+$t())}))),x2=a.Record(a.String,a.Unknown).annotate({identifier:"Form.Metadata"}),wk=a.Struct({value:a.String,label:a.String,description:a.String.pipe(m)}).annotate({identifier:"Form.Option"}),S2=a.Struct({key:a.String,op:a.Literals(["eq","neq"]),value:a.Union([a.String,a.Number,a.Boolean])}).annotate({identifier:"Form.When"}),Pp={key:a.String,title:a.String.pipe(m),description:a.String.pipe(m),required:a.Boolean.pipe(m),hidden:a.Boolean.pipe(m).annotate({description:"Skip the interactive authentication prompt and use the default unless an answer is supplied"}),when:a.Array(S2).pipe(m)},b2=a.Struct({...Pp,type:a.Literal("string"),format:a.Literals(["email","uri","date","date-time"]).pipe(m),minLength:he.pipe(m),maxLength:he.pipe(m),pattern:a.String.pipe(m),placeholder:a.String.pipe(m),default:a.String.pipe(m),options:a.Array(wk).pipe(m),custom:a.Boolean.pipe(m)}).annotate({identifier:"Form.StringField"}),I2=a.Struct({...Pp,type:a.Literal("number"),minimum:a.Number.pipe(m),maximum:a.Number.pipe(m),default:a.Number.pipe(m)}).annotate({identifier:"Form.NumberField"}),v2=a.Struct({...Pp,type:a.Literal("integer"),minimum:a.Number.pipe(m),maximum:a.Number.pipe(m),default:a.Number.pipe(m)}).annotate({identifier:"Form.IntegerField"}),w2=a.Struct({...Pp,type:a.Literal("boolean"),default:a.Boolean.pipe(m)}).annotate({identifier:"Form.BooleanField"}),k2=a.Struct({...Pp,type:a.Literal("multiselect"),options:a.Array(wk),minItems:he.pipe(m),maxItems:he.pipe(m),custom:a.Boolean.pipe(m),default:a.Array(a.String).pipe(m)}).annotate({identifier:"Form.MultiselectField"}),E2=a.Struct({key:a.String,type:a.Literal("external"),url:a.String,title:a.String.pipe(m),description:a.String.pipe(m)}).annotate({identifier:"Form.ExternalField"}),T2=a.Union([b2,I2,v2,w2,k2,E2]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Form.Field"})),A2=a.NonEmptyArray(T2).annotate({identifier:"Form.Fields"}),bte={id:my,sessionID:a.String,title:a.String,metadata:x2.pipe(m)},kk=a.Struct({...bte,fields:A2}).annotate({identifier:"Form.Info"}),R2=a.Union([a.String,a.Number,a.Boolean,a.Array(a.String)]).annotate({identifier:"Form.Value"}),hy=a.Record(a.String,R2).annotate({identifier:"Form.Answer"}),O2=a.Union([a.Struct({status:a.Literal("pending")}),a.Struct({status:a.Literal("answered"),answer:hy}),a.Struct({status:a.Literal("cancelled"),message:a.String.pipe(m)})]).pipe(a.toTaggedUnion("status")).annotate({identifier:"Form.State"}),Ite=a.Struct({...kk.fields,state:O2}).annotate({identifier:"Form.Detail"}),vte=a.Struct({answer:hy}).annotate({identifier:"Form.Reply"}),h2=pe({type:"form.created",schema:{form:kk}}),g2=pe({type:"form.replied",schema:{id:my,sessionID:a.String,answer:hy}}),y2=pe({type:"form.cancelled",schema:{id:my,sessionID:a.String}}),wte={Created:h2,Replied:g2,Cancelled:y2,Definitions:Fe(h2,g2,y2)};var Tk=ai,gy=Dp,D2=a.Struct({id:gy,type:a.Literal("oauth"),label:a.String,form:m(Ma.Fields)}).annotate({identifier:"Integration.OAuthMethod"}),P2=a.Struct({id:gy,type:a.Literal("command"),label:a.String,command:a.Array(a.String)}).annotate({identifier:"Integration.CommandMethod"}),M2=a.Struct({type:a.Literal("key"),label:m(a.String),form:m(Ma.Fields)}).annotate({identifier:"Integration.KeyMethod"}),_2=a.Struct({id:gy,type:a.Literal("external"),label:a.String,form:m(Ma.Fields)}).annotate({identifier:"Integration.ExternalMethod"}),U2=a.Struct({type:a.Literal("env"),names:a.Array(a.String)}).annotate({identifier:"Integration.EnvMethod"}),N2=a.Union([D2,P2,M2,_2,U2]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Integration.Method"}),C2=pe({type:"integration.updated",schema:{}}),kte={Updated:C2,Definitions:Fe(C2)},Ete=a.Struct({id:Tk,name:a.String,metadata:m(a.Record(a.String,a.Any))}).annotate({identifier:"Integration.Ref"}),Tte=a.Struct({id:Tk,name:a.String,metadata:m(a.Record(a.String,a.Any)),methods:a.Array(N2),connections:a.Array(Rd.Info)}).annotate({identifier:"Integration.Info"}),Ak=a.String.pipe(a.brand("Integration.AttemptID"),a.annotate({identifier:"Integration.AttemptID"}),be(e=>({create:()=>e.make("con_"+$t())}))),Ro=a.Struct({created:a.Number,expires:a.Number}),Ek=class extends a.Class("Integration.Attempt")({attemptID:Ak,url:a.String,instructions:a.String,mode:a.Literals(["auto","code"]),time:Ro}){},Ate=a.Union([a.Struct({status:a.Literal("pending"),time:Ro}),a.Struct({status:a.Literal("complete"),time:Ro}),a.Struct({status:a.Literal("failed"),message:a.String,time:Ro}),a.Struct({status:a.Literal("expired"),time:Ro})]).pipe(a.toTaggedUnion("status")).annotate({identifier:"Integration.AttemptStatus"}),Rte=a.Struct({attemptID:Ak,time:Ro}).annotate({identifier:"Integration.CommandAttempt"}),Ote=a.Union([a.Struct({status:a.Literal("pending"),message:m(a.String),time:Ro}),a.Struct({status:a.Literal("complete"),time:Ro}),a.Struct({status:a.Literal("failed"),message:a.String,time:Ro}),a.Struct({status:a.Literal("expired"),time:Ro})]).pipe(a.toTaggedUnion("status")).annotate({identifier:"Integration.CommandAttemptStatus"});var Rk=a.Union([a.Literals(["reasoning","reasoning_content","reasoning_text"]),a.String]).annotate({identifier:"Model.ReasoningField"}),Ok=a.Literals(["max_completion_tokens","max_tokens"]).annotate({identifier:"Model.MaxTokensField"}),Ck=a.Literals(["assets","state","root"]).annotate({identifier:"Model.MediaInput"}),Cte=a.Literals(["anthropic","alibaba"]).annotate({identifier:"Model.CacheFormat"}),yy=a.Struct({reasoningField:Rk.pipe(m),requireReasoning:a.Boolean.pipe(m),maxTokensField:Ok.pipe(m),requireFinishReason:a.Boolean.pipe(m),requireAssistantAfterTool:a.Boolean.pipe(m),supportsPromptCacheKey:a.Boolean.pipe(m),streamUsage:a.Boolean.pipe(m),cacheFormat:Cte.pipe(m),supportsThinkingBlockBinding:a.Boolean.pipe(m),supportsEffortUpdates:a.Boolean.pipe(m),mediaInput:Ck.pipe(m)}).annotate({identifier:"Model.Compatibility"}),F2=a.Struct(gr.omit(yy.fields,["supportsThinkingBlockBinding","supportsEffortUpdates"])).annotate({identifier:"Provider.Compatibility"});var Pk=a.String.pipe(a.brand("Provider.ID"),a.annotate({identifier:"Provider.ID"}),be(e=>({opencode:e.make("opencode"),anthropic:e.make("anthropic"),openai:e.make("openai"),google:e.make("google"),googleVertex:e.make("google-vertex"),githubCopilot:e.make("github-copilot"),claudeAgent:e.make("claude-agent"),amazonBedrock:e.make("amazon-bedrock"),azure:e.make("azure"),openrouter:e.make("openrouter"),mistral:e.make("mistral"),gitlab:e.make("gitlab")}))),$2=pe({type:"provider.updated",schema:{}}),Dte={Updated:$2,Definitions:Fe($2)},L2=a.String,q2=a.Literals(["auto","enabled","disabled"]),B2=a.Union([a.Struct({type:a.Literal("summary")}),a.Struct({type:a.Literal("native")})]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Provider.Compaction"}),j2=a.Literals(["http","websocket"]).annotate({identifier:"Provider.Transport"}),H2=a.TemplateLiteral([a.Number,a.Literals(["ms","s","m","h","d"])]).check(a.isPattern(/^\d+(ms|s|m|h|d)$/)).annotate({identifier:"Provider.CacheTTL"}),z2=a.Struct({ttl:H2.pipe(m)}).annotate({identifier:"Provider.Cache"}),W2=a.Literals(["zstd","gzip","none"]).annotate({identifier:"Provider.Encoding"}),Dk=a.Union([a.Finite,a.Literal(!1)]).pipe(m),Mk=a.StructWithRest(a.Struct({timeout:Dk,headerTimeout:Dk,chunkTimeout:Dk,compaction:B2.pipe(m),cache:z2.pipe(m),transport:j2.pipe(m),encoding:W2.pipe(m)}),[a.Record(a.String,a.Any)]).annotate({identifier:"Provider.Settings"}),K2={settings:Mk.pipe(m),headers:a.Record(a.String,a.String).pipe(m),body:a.Record(a.String,a.Any).pipe(m)},Pte=a.Struct({settings:Mk.pipe(a.withConstructorDefault(Xt.succeed({}))),headers:a.Record(a.String,a.String),body:a.Record(a.String,a.Any)}).annotate({identifier:"Provider.Request"}),Mte=a.Struct({id:Pk,canonical:Pk.pipe(m),integrationID:Od.ID.pipe(m),name:a.String,activation:q2,package:L2,compatibility:F2.pipe(m),...K2}).annotate({identifier:"Provider.Info"}).pipe(be(()=>({empty:e=>({id:e,name:e,activation:"auto",package:""})})));var rn={};Ae(rn,{Money:()=>rn,USD:()=>_te,USDPerMillionTokens:()=>Ute});var _te=a.Finite.pipe(a.brand("Money.USD"),a.annotate({identifier:"Money.USD"}),be(e=>({zero:e.make(0)}))),Ute=a.Finite.pipe(a.brand("Money.USDPerMillionTokens"),a.annotate({identifier:"Money.USDPerMillionTokens"}),be(e=>({zero:e.make(0)})));var Mp=a.String.pipe(a.brand("Model.ID")),G2=pe({type:"model.updated",schema:{}}),Nte={Updated:G2,Definitions:Fe(G2)},xy=a.String.pipe(a.brand("Model.VariantID")),Fte=a.Struct({id:Mp,providerID:rr.ID,variant:xy.pipe(m)}).annotate({identifier:"Model.Ref"}).pipe(be(e=>({parse:t=>{let n=t.indexOf("/");if(n<=0)throw new Error(`Invalid model reference: ${t}`);let r=t.slice(0,n),o=t.indexOf("#",n+1),s=t.slice(n+1,o===-1?void 0:o),i=o===-1?void 0:t.slice(o+1);if(!s||r.includes("#")||i!==void 0&&(!i||i.includes("#")))throw new Error(`Invalid model reference: ${t}`);return e.make({providerID:rr.ID.make(r),id:Mp.make(s),...i?{variant:xy.make(i)}:{}})}})));var V2=a.String.pipe(a.brand("Model.Family")),J2=a.Union([a.Literals(["chat","decision","image"]),a.String]).annotate({identifier:"Model.Type"}),Sy=a.StructWithRest(a.Struct(gr.pick(rr.Settings.schema.fields,["compaction","cache","encoding"])),[a.Record(a.String,a.Any)]).annotate({identifier:"Model.Settings"}),$te=a.StructWithRest(a.Struct(gr.omit(Sy.schema.fields,["cache"])),Sy.records).annotate({identifier:"Model.VariantSettings"}),Uk={settings:Sy.pipe(m),headers:a.Record(a.String,a.String).pipe(m),body:a.Record(a.String,a.Any).pipe(m)},_k=a.Struct({tools:a.Boolean,input:a.Array(a.String),output:a.Array(a.String),temperature:a.Boolean.pipe(m)}).annotate({identifier:"Model.Capabilities"}).pipe(be(()=>({default:()=>({tools:!0,input:["text","image"],output:["text"]})}))),Z2=a.Struct({tier:a.Struct({type:a.tag("context"),size:a.Int}).pipe(m),input:rn.USDPerMillionTokens,output:rn.USDPerMillionTokens,cache:a.Struct({read:rn.USDPerMillionTokens,write:rn.USDPerMillionTokens})}).annotate({identifier:"Model.Cost"}),Q2=a.Struct({id:xy,...Uk,settings:$te.pipe(m)}).annotate({identifier:"Model.Variant"}),Lte=a.Struct({id:Mp,modelID:Mp,providerID:rr.ID,canonical:rr.ID.pipe(m),type:J2.pipe(m),family:V2.pipe(m),name:a.String,compatibility:yy.pipe(m),package:rr.Package.pipe(m),...Uk,capabilities:_k,variants:a.Array(Q2),time:a.Struct({released:a.Finite}),cost:a.Array(Z2),status:a.Literals(["alpha","beta","deprecated","active"]),enabled:a.Boolean,limit:a.Struct({context:a.Int,input:a.Int.pipe(m),output:a.Int})}).annotate({identifier:"Model.Info"}).pipe(be(()=>({default:(e,t)=>({id:t,modelID:t,providerID:e,name:t,capabilities:_k.default(),variants:[],time:{released:0},cost:[],status:"active",enabled:!0,limit:{context:2e5,output:32e3}})})));var Oo={};Ae(Oo,{Effect:()=>rL,Event:()=>Bte,ID:()=>Nk,Permission:()=>Oo,Reply:()=>nL,Request:()=>tL,Rule:()=>oL,Ruleset:()=>jte,Source:()=>eL});var bn=a.String.check(a.isStartingWith("ses")).pipe(a.brand("SessionID"),a.annotate({identifier:"Session.ID"}),be(e=>({create:()=>e.make("ses_"+e2())})));var Nk=a.String.check(a.isStartingWith("per")).pipe(a.brand("Permission.ID"),a.annotate({identifier:"Permission.ID"}),be(e=>({create:t=>e.make(t??"per_"+$t())}))),eL=a.Union([a.Struct({type:a.Literal("tool"),messageID:a.String,id:a.String})]).annotate({identifier:"Permission.Source"}),qte={sessionID:bn,action:a.String,resources:a.Array(a.String),save:a.Array(a.String).pipe(m),metadata:a.Record(a.String,a.Unknown).pipe(m),source:eL.pipe(m),message:a.String.pipe(m)},tL=a.Struct({id:Nk,...qte}).annotate({identifier:"Permission.Request"}),nL=a.Literals(["once","always","reject"]).annotate({identifier:"Permission.Reply"}),Y2=pe({type:"permission.asked",schema:tL.fields}),X2=pe({type:"permission.replied",schema:{sessionID:bn,requestID:Nk,reply:nL}}),Bte={Asked:Y2,Replied:X2,Definitions:Fe(Y2,X2)},rL=a.Literals(["allow","deny","ask"]).annotate({identifier:"Permission.Effect"}),oL=a.Struct({action:a.String,resource:a.String,effect:rL}).annotate({identifier:"Permission.Rule"}),jte=a.Array(oL).annotate({identifier:"Permission.Ruleset"});var sL=pe({type:"agent.updated",schema:{}}),iL=a.String.pipe(a.brand("Agent.ID"),a.annotate({identifier:"Agent.ID"})),Fk=a.String.pipe(a.brand("Agent.Name")),aL=a.String.annotate({identifier:"Agent.Color"}),Hte=a.Struct({id:iL,name:Fk,model:on.Ref.pipe(m),request:rr.Request,system:a.String.pipe(m),description:a.String.pipe(m),mode:a.Literals(["subagent","primary","all"]),hidden:a.Boolean,color:aL.pipe(m),steps:wt.pipe(m),permissions:Oo.Ruleset}).annotate({identifier:"Agent.Info"}).pipe(be(()=>({default:e=>({id:e,name:Fk.make(e),request:{settings:{},headers:{},body:{}},mode:"primary",hidden:!1,permissions:[{action:"*",resource:"*",effect:"allow"},{action:"read",resource:"*.env",effect:"ask"},{action:"read",resource:"*.env.*",effect:"ask"},{action:"read",resource:"*.env.example",effect:"allow"}]})}))),zte={Updated:sL,Definitions:Fe(sL)};var Wte=a.String.check(a.isStartingWith("art_")).pipe(a.brand("Artifact.ID"),a.annotate({identifier:"Artifact.ID"}),be(e=>({create:()=>e.make("art_"+$t())}))),$k=a.Trim.check(a.isNonEmpty()).pipe(a.brand("Artifact.ProviderID"),a.annotate({identifier:"Artifact.ProviderID"})),Kte=a.Literals(["static","server-code","sqlite","durable-objects"]).annotate({identifier:"Artifact.Capability"}),Uhe=a.Struct({id:$k,name:a.String,capabilities:a.Array(Kte),default:a.Boolean}).annotate({identifier:"Artifact.Provider"}),Gte=a.Struct({created:a.Finite,updated:a.Finite}).annotate({identifier:"Artifact.Time"}),Vte=a.Struct({id:Wte,provider:$k,sessionID:bn.pipe(m),title:a.String,entry:a.String,url:a.String,time:Gte}).annotate({identifier:"Artifact.Info"}),Nhe=a.Struct({info:Vte,files:a.Record(a.String,a.String)}).annotate({identifier:"Artifact.Content"}),Fhe=a.Struct({title:a.String,files:a.Record(a.String,a.String),entry:a.String.pipe(m),provider:$k.pipe(m),sessionID:bn.pipe(m)}).annotate({identifier:"Artifact.CreateInput"}),$he=a.Struct({title:a.String.pipe(m),files:a.Record(a.String,a.String),entry:a.String.pipe(m),sessionID:bn.pipe(m)}).annotate({identifier:"Artifact.UpdateInput"}),cL=pe({type:"artifact.updated",schema:{}}),Lhe={Updated:cL,Definitions:Fe(cL)};var uL=pe({type:"command.updated",schema:{}}),Hhe=a.Struct({name:a.String,description:a.String.pipe(m)}).annotate({identifier:"Command.Info"}),zhe={Updated:uL,Definitions:Fe(uL)};var by=class extends a.Class("Mcp.TimeoutConfig")({startup:wt.pipe(m).annotate({description:"Maximum time in milliseconds to establish and initialize the MCP server."}),catalog:wt.pipe(m).annotate({description:"Maximum time in milliseconds to wait for MCP discovery requests such as tools/list and prompts/list."}),execution:wt.pipe(m).annotate({description:"Maximum time in milliseconds to wait for MCP tool and prompt execution."})}){},pL=a.Literals(["legacy","auto","2026-07-28"]).annotate({identifier:"Mcp.Protocol",description:'MCP protocol negotiation. "legacy" (default) opens with the initialize handshake and speaks protocol revisions up to 2025-11-25. "auto" probes for the 2026-07-28 revision and falls back to legacy when the server does not support it. "2026-07-28" requires that revision and fails otherwise.'}),Lk=class extends a.Class("Mcp.LocalConfig")({type:a.Literal("local"),command:a.String.pipe(a.Array),cwd:a.String.pipe(m).annotate({description:"Working directory for the MCP server process. Relative paths resolve from the workspace directory."}),environment:a.Record(a.String,a.String).pipe(m),disabled:a.Boolean.pipe(m),codemode:a.Boolean.pipe(m).annotate({description:"Expose this server's tools through Code Mode. Defaults to true."}),timeout:by.pipe(m),protocol:pL.pipe(m)}){},qk=class extends a.Class("Mcp.OAuthConfig")({client_id:a.String.pipe(m),client_secret:a.String.pipe(m),scope:a.String.pipe(m),callback_port:a.Int.check(a.isBetween({minimum:1,maximum:65535})).pipe(m),redirect_uri:a.String.pipe(m),auth_server_metadata_url:a.String.pipe(m).annotate({description:"URL of the OAuth or OpenID Connect authorization server metadata document. Set when the MCP server does not publish protected resource metadata that names its authorization server."})}){},Bk=class extends a.Class("Mcp.RemoteConfig")({type:a.Literal("remote"),url:a.String,headers:a.Record(a.String,a.String).pipe(m),oauth:a.Union([qk,a.Literal(!1)]).pipe(m),disabled:a.Boolean.pipe(m),codemode:a.Boolean.pipe(m).annotate({description:"Expose this server's tools through Code Mode. Defaults to true."}),timeout:by.pipe(m),protocol:pL.pipe(m)}){},Vhe=a.Union([Lk,Bk]).pipe(a.toTaggedUnion("type")),Jte=a.Struct({status:a.Literal("connected")}).annotate({identifier:"Mcp.Status.Connected"}),Zte=a.Struct({status:a.Literal("pending")}).annotate({identifier:"Mcp.Status.Pending"}),Qte=a.Struct({status:a.Literal("disabled")}).annotate({identifier:"Mcp.Status.Disabled"}),Yte=a.Struct({status:a.Literal("failed"),error:a.String}).annotate({identifier:"Mcp.Status.Failed"}),Xte=a.Struct({status:a.Literal("needs_auth"),error:a.String}).annotate({identifier:"Mcp.Status.NeedsAuth"}),ene=a.Union([Jte,Zte,Qte,Yte,Xte]).pipe(a.toTaggedUnion("status")),Jhe=a.Struct({name:a.String,status:ene,title:m(a.String),integrationID:m(ai)}).annotate({identifier:"Mcp.Server"}),tne=a.Struct({server:a.String,name:a.String,uri:a.String,description:m(a.String),mimeType:m(a.String)}).annotate({identifier:"Mcp.Resource"}),nne=a.Struct({server:a.String,name:a.String,uriTemplate:a.String,description:m(a.String),mimeType:m(a.String)}).annotate({identifier:"Mcp.ResourceTemplate"}),Zhe=a.Struct({resources:a.Array(tne),templates:a.Array(nne)}).annotate({identifier:"Mcp.ResourceCatalog"}),rne=a.Union([a.Struct({type:a.Literal("text"),uri:a.String,text:a.String,mimeType:m(a.String)}),a.Struct({type:a.Literal("blob"),uri:a.String,blob:a.String,mimeType:m(a.String)})]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Mcp.ResourceContentPart"})),Qhe=a.Struct({server:a.String,uri:a.String,contents:a.Array(rne)}).annotate({identifier:"Mcp.ResourceContent"});var _a={};Ae(_a,{CreateInput:()=>ine,Event:()=>sne,ID:()=>Iy,Info:()=>jk,Pty:()=>_a,UpdateInput:()=>ane});var one=a.String.check(a.isStartingWith("pty")).pipe(a.brand("PtyID"),a.annotate({identifier:"Pty.ID"})),Iy=one.pipe(be(e=>{let t=()=>e.make("pty_"+$t());return{create:t,ascending:n=>n===void 0?t():e.make(n)}})),jk=a.Struct({id:Iy,title:a.String,command:a.String,args:a.Array(a.String),cwd:a.String,status:a.Literals(["running","exited"]),pid:he,exitCode:m(he)}).annotate({identifier:"Pty"}),mL=pe({type:"pty.created",schema:{info:jk}}),hL=pe({type:"pty.updated",schema:{info:jk}}),gL=pe({type:"pty.exited",schema:{id:Iy,exitCode:he}}),yL=pe({type:"pty.deleted",schema:{id:Iy}}),sne={Created:mL,Updated:hL,Exited:gL,Deleted:yL,Definitions:Fe(mL,hL,gL,yL)},ine=a.Struct({command:m(a.String),args:m(a.Array(a.String)),cwd:m(a.String),title:m(a.String),env:m(a.Record(a.String,a.String))}),ane=a.Struct({title:m(a.String),size:m(a.Struct({rows:wt,cols:wt}))});var ci={};Ae(ci,{Event:()=>Qne,ForkBoundary:()=>Uq,ID:()=>Nd,Info:()=>Yne,ListAnchor:()=>Oy,ListCursor:()=>rre,ListFilter:()=>Xne,Metadata:()=>_q,Revert:()=>ps,Session:()=>ci});var Ut={};Ae(Ut,{Commands:()=>zk,Current:()=>cne,Event:()=>une,ID:()=>vy,Icon:()=>Hk,Info:()=>IL,Project:()=>Ut,Time:()=>bL,UpdateInput:()=>dne,Vcs:()=>SL});var vy=uy,SL=a.String.check(a.isPattern(/^[a-z][a-z0-9._-]*$/u)).annotate({identifier:"Project.Vcs"}),cne=a.Struct({id:vy,directory:tt,canonical:tt}).annotate({identifier:"Project.Current"}),Hk=a.Struct({url:m(a.String),override:m(a.String),color:m(a.String)}).annotate({identifier:"Project.Icon"}),zk=a.Struct({start:m(a.String.annotate({description:"Startup script to run when creating a new workspace (worktree)"}))}).annotate({identifier:"Project.Commands"}),bL=a.Struct({created:he,updated:he,active:he,archived:m(he)}).annotate({identifier:"Project.Time"}),IL=a.Struct({id:vy,canonical:tt,vcs:m(SL),name:m(a.String),icon:m(Hk),commands:m(zk),time:bL,sandboxes:a.Array(a.String)}).annotate({identifier:"Project"}),dne=a.Struct({projectID:vy,canonical:m(tt),name:m(a.String),icon:m(Hk),commands:m(zk)}).annotate({identifier:"Project.UpdateInput"}),xL=pe({type:"project.updated",schema:IL.fields}),une={Updated:xL,Definitions:Fe(xL)};var Lp={};Ae(Lp,{AgentSelected:()=>uq,All:()=>Zne,Archived:()=>yq,Compaction:()=>qa,Created:()=>dq,Definitions:()=>gE,Deleted:()=>vq,Durable:()=>Mq,DurableDefinitions:()=>Dq,EphemeralDefinitions:()=>Pq,Execution:()=>$a,Forked:()=>wq,InboxCancelled:()=>Tq,InboxDelivered:()=>kq,InboxDeliveryChanged:()=>Aq,InboxEnqueued:()=>Eq,InstructionsUpdated:()=>Rq,MessageContentUpdated:()=>Sq,MetadataUpdated:()=>mq,ModelSelected:()=>lq,Moved:()=>pq,Permissions:()=>hq,Reasoning:()=>_d,Renamed:()=>fq,RetryScheduled:()=>Cq,RevertEvent:()=>Ud,SessionEvent:()=>Lp,Shell:()=>$p,Skill:()=>Ay,Step:()=>La,Synthetic:()=>Oq,Text:()=>Md,Tool:()=>Co,Unarchived:()=>xq,UsageRecorded:()=>bq,UsageUpdated:()=>Iq,Viewed:()=>gq});var wy=a.Literals(["stop","length","tool-calls","content-filter","error","unknown"]);var vge=a.String.pipe(a.brand("Tool.CallID")),vL=class extends a.TaggedError()("Tool.Error",{message:a.String,error:a.optional(a.Defect()),metadata:a.optional(a.Record(a.String,a.Unknown))}){},pne=a.Struct({type:a.Literal("text"),text:a.String}).annotate({identifier:"Tool.TextContent"}),fne=a.Struct({type:a.Literal("file"),uri:a.String,mime:a.String,name:a.optional(a.String)}).annotate({identifier:"Tool.FileContent"}),Cd=a.Union([pne,fne]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Tool.Content"});var _p=a.Record(a.String,a.Json).annotate({identifier:"Session.Metadata"});var ye={};Ae(ye,{AgentSelected:()=>Jk,Assistant:()=>oE,AssistantContent:()=>rE,AssistantContentEncoded:()=>Mne,AssistantReasoning:()=>zL,AssistantRetry:()=>WL,AssistantText:()=>HL,AssistantTool:()=>jL,Compaction:()=>iE,CompactionCompleted:()=>VL,CompactionFailed:()=>JL,CompactionRunning:()=>GL,ID:()=>UL,Idle:()=>aE,Info:()=>_ne,LocationSwitched:()=>Qk,MediaInfo:()=>Une,MediaUser:()=>NL,ModelSelected:()=>Zk,Native:()=>Dd,SessionMessage:()=>ye,Shell:()=>nE,Skill:()=>tE,Synthetic:()=>Xk,System:()=>eE,ToolState:()=>BL,ToolStateCompleted:()=>LL,ToolStateError:()=>qL,ToolStateRunning:()=>$L,ToolStateStreaming:()=>FL,User:()=>Yk});var or={};Ae(or,{DirectorySource:()=>TL,EmbeddedSource:()=>OL,Event:()=>hne,ID:()=>kL,Info:()=>RL,Name:()=>EL,Skill:()=>or,Source:()=>gne,UrlSource:()=>AL});var kL=a.String.pipe(a.brand("Skill.ID"),a.annotate({identifier:"Skill.ID"})),EL=a.String.pipe(a.brand("Skill.Name"),a.annotate({identifier:"Skill.Name"})),TL=a.Struct({type:a.tag("directory"),path:tt}).annotate({identifier:"Skill.DirectorySource"}),AL=a.Struct({type:a.tag("url"),url:a.String}).annotate({identifier:"Skill.UrlSource"}),RL=a.Struct({id:kL,name:EL,description:a.String.pipe(m),autoinvoke:a.Boolean.pipe(m),path:tt,content:a.String}).annotate({identifier:"Skill.Info"}),wL=pe({type:"skill.updated",schema:{}}),hne={Updated:wL,Definitions:Fe(wL)},OL=a.Struct({type:a.tag("embedded"),skill:a.suspend(()=>RL)}).annotate({identifier:"Skill.EmbeddedSource"}),gne=Object.assign(a.Union([TL,AL,OL]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Skill.Source"})),{equals:(e,t)=>e.type!==t.type?!1:e.type==="directory"&&t.type==="directory"?e.path===t.path:e.type==="url"&&t.type==="url"?e.url===t.url:e.type==="embedded"&&t.type==="embedded"?e.skill.id===t.skill.id:!1,key:e=>e.type==="directory"?`directory:${e.path}`:e.type==="url"?`url:${e.url}`:`embedded:${e.skill.id}`});var Wk=a.Struct({start:a.Finite,end:a.Finite,text:a.String}).annotate({identifier:"Prompt.Mention"}),yne=a.Union([a.Struct({type:a.Literal("inline")}),a.Struct({type:a.Literal("uri"),uri:a.String})]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Prompt.FileSource"}),xne=a.String.check(a.makeFilter(e=>e.length%4===0&&/^[A-Za-z0-9+/]*={0,2}$/u.test(e),a.isPattern(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u).annotations)).annotate({identifier:"Prompt.Base64"}),Kk=a.Struct({data:xne,mime:a.String,source:yne,name:a.String.pipe(m),description:a.String.pipe(m),mention:Wk.pipe(m)}).annotate({identifier:"Prompt.FileAttachment"}).pipe(be(e=>({create:t=>e.make({data:t.data,mime:t.mime,source:t.source,name:t.name,description:t.description,mention:t.mention})}))),Sne=a.String.check(a.isPattern(/^media:[0-9a-f]{64}$/)).annotate({identifier:"Prompt.MediaRef"}),{data:Mge,...bne}=Kk.fields,Ine=a.Struct({...bne,uri:Sne,bytes:a.Int.pipe(m),width:a.Int.pipe(m),height:a.Int.pipe(m)}).annotate({identifier:"Prompt.MediaFileAttachment"}),ky=a.Union([Kk,Ine]).annotate({identifier:"Prompt.Attachment"}),vne=a.Struct({name:a.String,mention:Wk.pipe(m)}).annotate({identifier:"Prompt.AgentAttachment"}),wne=a.Struct({id:or.ID,name:or.Name,text:a.String.pipe(m),mention:Wk.pipe(m)}).annotate({identifier:"Prompt.SkillAttachment"}),Ua=a.Struct({text:a.String,files:a.Array(Kk).pipe(m),agents:a.Array(vne).pipe(m),skills:a.Array(wne).pipe(m)}).annotate({identifier:"Prompt"}).pipe(be(e=>({equivalence:a.toEquivalence(e),fromUserMessage:t=>e.make({text:t.text,...t.files===void 0?{}:{files:t.files},...t.agents===void 0?{}:{agents:t.agents},...t.skills===void 0?{}:{skills:t.skills}})})));var so={};Ae(so,{CreateInput:()=>Tne,Event:()=>Ene,ID:()=>Ey,Info:()=>_L,Metadata:()=>Vk,Output:()=>Rne,OutputInput:()=>Ane,Shell:()=>so,Status:()=>Gk,Time:()=>ML});var kne=a.String.check(a.isStartingWith("sh_")).pipe(a.brand("Shell.ID"),a.annotate({identifier:"Shell.ID"})),Ey=kne.pipe(be(e=>{let t=()=>e.make("sh_"+$t());return{create:t,ascending:n=>n===void 0?t():e.make(n)}})),Gk=a.Literals(["running","exited","timeout","killed"]),ML=a.Struct({started:a.Finite.annotate({description:"Start time in milliseconds since the Unix epoch"}),completed:m(a.Finite).annotate({description:"Completion time in milliseconds since the Unix epoch"})}),Vk=a.Record(a.String,a.Unknown),_L=a.Struct({id:Ey,status:Gk,command:a.String,cwd:a.String,shell:a.String,file:a.String,pid:m(he),exit:m(a.Finite),signal:m(a.String),metadata:Vk,time:ML}).annotate({identifier:"Shell.Info"}),CL=pe({type:"shell.created",schema:{info:_L}}),DL=pe({type:"shell.exited",schema:{id:Ey,exit:m(a.Finite),status:Gk}}),PL=pe({type:"shell.deleted",schema:{id:Ey}}),Ene={Created:CL,Exited:DL,Deleted:PL,Definitions:Fe(CL,DL,PL)},Tne=a.Struct({command:a.String,cwd:m(a.String),timeout:m(he),metadata:m(Vk)}),Ane=a.Struct({cursor:m(he),limit:m(he)}),Rne=a.Struct({output:a.String,cursor:he,size:he,truncated:a.Boolean});var vn={};Ae(vn,{Error:()=>One,SessionError:()=>vn});var One=a.Struct({type:a.String,message:a.String,status:a.Int.check(a.isBetween({minimum:100,maximum:599})).pipe(m),response:a.Struct({body:a.String}).pipe(m),retryAfterMs:he.pipe(m)}).annotate({identifier:"Session.StructuredError"});var sr={};Ae(sr,{ID:()=>Cne,Snapshot:()=>sr});var Cne=a.String.pipe(a.brand("Snapshot.ID"),a.annotate({identifier:"Snapshot.ID"}));var ir={};Ae(ir,{Info:()=>Dne,TokenUsage:()=>ir,total:()=>Pne});var Dne=a.Struct({input:a.Finite,output:a.Finite,reasoning:a.Finite,cache:a.Struct({read:a.Finite,write:a.Finite})}).annotate({identifier:"TokenUsage.Info"});function Pne(e){return e.input+e.output+e.reasoning+e.cache.read+e.cache.write}var UL=a.String.check(a.isStartingWith("msg_")).pipe(a.brand("Session.Message.ID"),a.annotate({identifier:"Session.Message.ID"}),be(e=>({create:()=>e.make("msg_"+$t()),fromEvent:t=>e.make(t.replace(/^evt_/,"msg_"))}))),io={id:UL,metadata:a.Record(a.String,a.Unknown).pipe(m),time:a.Struct({created:Rt})},Dd=a.Record(a.String,a.Unknown).annotate({identifier:"Session.Message.Native"}),Jk=a.Struct({...io,type:a.tag("agent-switched"),agent:In.ID,previous:In.ID.pipe(m)}).annotate({identifier:"Session.Message.AgentSelected"}),Zk=a.Struct({...io,type:a.tag("model-switched"),model:on.Ref,previous:on.Ref.pipe(m)}).annotate({identifier:"Session.Message.ModelSelected"}),Qk=a.Struct({...io,type:a.tag("location-switched"),location:hn.Ref,projectID:Ut.ID.pipe(m),subpath:Nn.pipe(m),previous:a.Struct({location:hn.Ref,projectID:Ut.ID.pipe(m),subpath:Nn.pipe(m)}).pipe(m)}).annotate({identifier:"Session.Message.LocationSwitched"}),Yk=a.Struct({...io,text:Ua.fields.text,files:Ua.fields.files,agents:Ua.fields.agents,skills:Ua.fields.skills,type:a.tag("user")}).annotate({identifier:"Session.Message.User"}),NL=a.Struct({...Yk.fields,files:a.Array(ky).pipe(m)}).annotate({identifier:"Session.Message.MediaUser"}),Xk=a.Struct({...io,text:a.String,description:a.String.pipe(m),type:a.tag("synthetic")}).annotate({identifier:"Session.Message.Synthetic"}),eE=a.Struct({...io,type:a.tag("system"),text:a.String,description:a.String.pipe(m)}).annotate({identifier:"Session.Message.System"}),tE=a.Struct({...io,type:a.tag("skill"),skill:or.ID,name:or.Name,text:a.String}).annotate({identifier:"Session.Message.Skill"}),nE=a.Struct({...io,type:a.tag("shell"),shellID:so.ID,command:a.String,status:so.Status,exit:a.Number.pipe(m),output:so.Output.pipe(m),time:a.Struct({created:Rt,completed:Rt.pipe(m)})}).annotate({identifier:"Session.Message.Shell"}),FL=a.Struct({status:a.tag("streaming"),input:a.String}).annotate({identifier:"Session.Message.ToolState.Streaming"}),$L=a.Struct({status:a.tag("running"),input:a.Record(a.String,a.Unknown),metadata:a.Record(a.String,a.Json)}).annotate({identifier:"Session.Message.ToolState.Running"}),LL=a.Struct({status:a.tag("completed"),input:a.Record(a.String,a.Unknown),content:a.NonEmptyArray(Cd),metadata:a.Record(a.String,a.Json).pipe(m)}).annotate({identifier:"Session.Message.ToolState.Completed"}),qL=a.Struct({status:a.tag("error"),input:a.Record(a.String,a.Unknown),error:vn.Error,content:a.NonEmptyArray(Cd).pipe(m),metadata:a.Record(a.String,a.Json).pipe(m)}).annotate({identifier:"Session.Message.ToolState.Error"}),BL=a.Union([FL,$L,LL,qL]).pipe(a.toTaggedUnion("status")),jL=a.Struct({type:a.tag("tool"),id:a.String,name:a.String,executed:a.Boolean.pipe(m),native:Dd.pipe(m),state:BL,time:a.Struct({created:Rt,ran:Rt.pipe(m),completed:Rt.pipe(m)})}).annotate({identifier:"Session.Message.Assistant.Tool"}),HL=a.Struct({type:a.tag("text"),text:a.String,native:Dd.pipe(m)}).annotate({identifier:"Session.Message.Assistant.Text"}),zL=a.Struct({type:a.tag("reasoning"),text:a.String,native:Dd.pipe(m),time:a.Struct({created:Rt,completed:Rt.pipe(m)}).pipe(m)}).annotate({identifier:"Session.Message.Assistant.Reasoning"}),rE=a.Union([HL,zL,jL]).pipe(a.toTaggedUnion("type")),Mne=a.toEncoded(rE).annotate({identifier:"Session.Message.AssistantContent.Encoded"}),WL=a.Struct({attempt:wt,at:Rt,error:vn.Error}).annotate({identifier:"Session.Message.Assistant.Retry"}),oE=a.Struct({...io,type:a.tag("assistant"),agent:In.ID,model:on.Ref,content:rE.pipe(a.Array),snapshot:a.Struct({start:sr.ID.pipe(m),end:sr.ID.pipe(m),files:a.Array(Nn).pipe(m)}).pipe(m),finish:wy.pipe(m),rawFinish:a.String.pipe(m),native:Dd.pipe(m),cost:rn.USD.pipe(m),tokens:ir.Info.pipe(m),error:vn.Error.pipe(m),retry:WL.pipe(m),time:a.Struct({created:Rt,streamed:Rt.pipe(m),completed:Rt.pipe(m)})}).annotate({identifier:"Session.Message.Assistant"}),sE={type:a.tag("compaction"),...io},KL={cost:rn.USD.pipe(m),tokens:ir.Info.pipe(m)},GL=a.Struct({...sE,status:a.tag("running"),reason:a.Literals(["auto","manual"]),summary:a.String}).annotate({identifier:"Session.Message.Compaction.Running"}),VL=a.Struct({...sE,status:a.tag("completed"),reason:a.Literals(["auto","manual"]),model:on.Ref.pipe(m),native:Dd.pipe(m),summary:a.String,...KL}).annotate({identifier:"Session.Message.Compaction.Completed"}),JL=a.Struct({...sE,status:a.tag("failed"),reason:a.Literals(["auto","manual"]),error:vn.Error,...KL}).annotate({identifier:"Session.Message.Compaction.Failed"}),iE=a.Union([GL,VL,JL]).pipe(a.toTaggedUnion("status"),a.annotate({identifier:"Session.Message.Compaction"})),aE=a.Struct({...io,type:a.tag("idle"),outcome:a.Literals(["succeeded","failed","interrupted"]),error:vn.Error.pipe(m)}).annotate({identifier:"Session.Message.Idle"}),_ne=a.Union([Jk,Zk,Qk,Yk,Xk,eE,tE,nE,oE,iE,aE]).annotate({identifier:"Session.Message.Info"}),Une=a.Union([Jk,Zk,Qk,NL,Xk,eE,tE,nE,oE,iE,aE]).annotate({identifier:"Session.Message.MediaInfo"});var Up={};Ae(Up,{FileDiff:()=>Up,Info:()=>Nne,LegacyInfo:()=>Fne});var Nne=a.Struct({file:a.String,patch:a.String,additions:he,deletions:he,status:a.Literals(["added","deleted","modified"]),more:a.Literal(!0).pipe(m)}).annotate({identifier:"FileDiff.Info"}),Fne=a.Struct({file:a.String.pipe(m),patch:a.String.pipe(m),additions:a.Finite,deletions:a.Finite,status:a.Literals(["added","deleted","modified"]).pipe(m)}).annotate({identifier:"FileDiff.LegacyInfo"});var ps=a.Struct({messageID:ye.ID,partID:a.String.pipe(m),snapshot:sr.ID.pipe(m),files:a.Array(Up.Info).pipe(m)}).annotate({identifier:"Session.Revert"}),$ne=a.Struct({path:a.String,status:a.Literals(["added","modified","deleted"]),additions:a.Finite,deletions:a.Finite,patch:a.String}),ZL=a.Struct({messageID:ye.ID,partID:a.String.pipe(m),snapshot:a.String.pipe(m),diff:a.String.pipe(m),files:a.Array($ne).pipe(m)}).annotate({identifier:"Session.RevertV1"}),Lne=ps.pipe(a.decodeTo(a.Struct({source:a.tag("current"),revert:a.toType(ps)}),Jr.transform({decode:e=>({source:"current",revert:e}),encode:e=>e.revert}))),qne=ZL.pipe(a.decodeTo(a.Struct({source:a.tag("legacy"),revert:a.toType(ZL)}),Jr.transform({decode:e=>({source:"legacy",revert:e}),encode:e=>e.revert}))),mye=a.Union([Lne,qne]).pipe(a.toTaggedUnion("source"),a.decodeTo(a.toType(ps),Jr.transform({decode:e=>e.source==="current"?e.revert:ps.make({messageID:e.revert.messageID,partID:e.revert.partID,snapshot:e.revert.snapshot?sr.ID.make(e.revert.snapshot):void 0,files:e.revert.files?.map(t=>({file:t.path,status:t.status,additions:t.additions,deletions:t.deletions,patch:t.patch}))}),encode:e=>({source:"current",revert:e})})),a.annotate({identifier:"Session.Revert.Persisted"}));var Pd={};Ae(Pd,{Delta:()=>Hne,Hash:()=>cE,Instruction:()=>Pd,Key:()=>QL,Removed:()=>dE,Values:()=>Bne,removed:()=>jne});var QL=a.String.check(a.isPattern(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._/-]*$/u)).pipe(a.brand("Instruction.Key"),a.annotate({identifier:"Instruction.Key"})),cE=a.String.check(a.isPattern(/^[a-f0-9]{64}$/u)).pipe(a.brand("Instruction.Hash"),a.annotate({identifier:"Instruction.Hash"})),Bne=a.Record(QL,cE),dE=a.Literal("removed"),jne=dE.make("removed"),Hne=a.Record(a.String,a.Union([cE,dE]));var Np={};Ae(Np,{Info:()=>XL,InstructionEntry:()=>Np,Key:()=>YL,MaxValueBytes:()=>Wne,Snapshot:()=>zne,ValueTooLargeError:()=>uE});var YL=a.String.check(a.isPattern(/^[a-z0-9][a-z0-9._-]*$/u)).annotate({identifier:"InstructionEntry.Key",description:"Instruction entry key (lowercase alphanumerics plus . _ -)"}),XL=a.Struct({key:YL,value:a.Json.annotate({description:"JSON value attached to the session's instructions"})}).annotate({identifier:"InstructionEntry.Info"}),zne=a.Array(a.Struct({...XL.fields,removed:a.Boolean})).annotate({identifier:"InstructionEntry.Snapshot"}),Wne=256*1024,uE=class extends a.TaggedError()("InstructionEntryValueTooLargeError",{actualBytes:a.Int,maxBytes:a.Int,message:a.String},{httpApiStatus:413}){};var Na={};Ae(Na,{Compaction:()=>mE,CompactionPayload:()=>nq,Delivery:()=>Fp,Info:()=>Gne,Item:()=>Kne,MediaInfo:()=>Vne,MediaUser:()=>cq,MediaUserPayload:()=>eq,Move:()=>hE,MovePayload:()=>rq,SessionInbox:()=>Na,Synthetic:()=>fE,SyntheticPayload:()=>tq,User:()=>pE,UserPayload:()=>lE});var Fp=a.Literals(["steer","queue"]).annotate({identifier:"Session.Inbox.Delivery"}),lE=a.Struct({...Ua.fields,metadata:a.Record(a.String,a.Unknown).pipe(m)}).annotate({identifier:"Session.Inbox.UserPayload"}),eq=a.Struct({...lE.fields,files:a.Array(ky).pipe(m)}).annotate({identifier:"Session.Inbox.MediaUserPayload"}),tq=a.Struct({text:a.String,description:a.String.pipe(m),metadata:a.Record(a.String,a.Unknown).pipe(m)}).annotate({identifier:"Session.Inbox.SyntheticPayload"}),nq=a.Struct({}).annotate({identifier:"Session.Inbox.CompactionPayload"}),rq=a.Struct({location:hn.Ref,projectID:Ut.ID,subpath:Nn.pipe(m)}).annotate({identifier:"Session.Inbox.MovePayload"}),oq=a.Struct({type:a.tag("user"),payload:lE,delivery:Fp}),sq=a.Struct({type:a.tag("synthetic"),payload:tq,delivery:Fp}),iq=a.Struct({type:a.tag("compaction"),payload:nq,delivery:Fp}),aq=a.Struct({type:a.tag("move"),payload:rq,delivery:Fp}),Kne=a.Union([oq,sq,iq,aq]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Session.Inbox.Item"})),Ty={id:ye.ID,sessionID:bn,time:a.Struct({created:Rt})},pE=a.Struct({...Ty,...oq.fields}).annotate({identifier:"Session.Inbox.User"}),cq=a.Struct({...pE.fields,payload:eq}).annotate({identifier:"Session.Inbox.MediaUser"}),fE=a.Struct({...Ty,...sq.fields}).annotate({identifier:"Session.Inbox.Synthetic"}),mE=a.Struct({...Ty,...iq.fields}).annotate({identifier:"Session.Inbox.Compaction"}),hE=a.Struct({...Ty,...aq.fields}).annotate({identifier:"Session.Inbox.Move"}),Gne=a.Union([pE,fE,mE,hE]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Session.Inbox.Info"})),Vne=a.Union([cq,fE,mE,hE]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Session.Inbox.MediaInfo"}));var Fa={};Ae(Fa,{Boundary:()=>Jne,SessionFork:()=>Fa});var Jne=a.Union([a.Struct({type:a.Literal("before"),messageID:ye.ID}),a.Struct({type:a.Literal("through"),messageID:ye.ID})]).annotate({identifier:"Session.ForkBoundary"});var xe={sessionID:bn},Ie={durable:{aggregate:"sessionID",version:1}},dq=ee.durable({type:"session.created",...Ie,schema:{...xe,projectID:Ut.ID,location:hn.Ref,subpath:Nn.pipe(m),parentID:bn.pipe(m),slug:a.String,title:a.String.pipe(m),agent:In.ID.pipe(m),model:on.Ref.pipe(m),metadata:_p.pipe(m),permissions:Oo.Ruleset.pipe(m),version:a.String}}),uq=ee.durable({type:"session.agent.selected",...Ie,schema:{...xe,agent:In.ID,previous:In.ID.pipe(m)}}),lq=ee.durable({type:"session.model.selected",...Ie,schema:{...xe,model:on.Ref,previous:on.Ref.pipe(m)}}),pq=ee.durable({type:"session.moved",...Ie,schema:{...xe,...Na.MovePayload.fields}}),fq=ee.durable({type:"session.renamed",...Ie,schema:{...xe,title:a.String}}),mq=ee.durable({type:"session.metadata.updated",...Ie,schema:{...xe,metadata:_p}}),hq=ee.durable({type:"session.permissions",...Ie,schema:{...xe,permissions:Oo.Ruleset}}),gq=ee.durable({type:"session.viewed",...Ie,schema:{...xe,idle:a.Finite}}),yq=ee.durable({type:"session.archived",...Ie,schema:xe}),xq=ee.durable({type:"session.unarchived",...Ie,schema:xe}),Sq=ee.durable({type:"session.message.content.updated",...Ie,schema:{...xe,messageID:ye.ID,content:a.Array(ye.AssistantContentEncoded)}}),bq=ee.durable({type:"session.usage.recorded",...Ie,schema:{...xe,source:a.Literals(["title","compaction"]),cost:rn.USD,tokens:ir.Info}}),Iq=ee.ephemeral({type:"session.usage.updated",schema:{...xe,cost:rn.USD,tokens:ir.Info}}),vq=ee.durable({type:"session.deleted",durable:{aggregate:"sessionID",version:2},schema:xe}),wq=ee.durable({type:"session.forked",durable:{aggregate:"sessionID",version:2},schema:{...xe,parentID:bn,boundary:Fa.Boundary,instructions:Pd.Values.pipe(m),instructionEntries:Np.Snapshot.pipe(m)}}),Ry={...xe,inboxID:ye.ID},kq=ee.durable({type:"session.inbox.delivered",...Ie,schema:Ry}),Eq=ee.durable({type:"session.inbox.enqueued",...Ie,schema:{...Ry,item:Na.Item}}),Tq=ee.durable({type:"session.inbox.cancelled",...Ie,schema:Ry}),Aq=ee.durable({type:"session.inbox.delivery.changed",...Ie,schema:{...Ry,delivery:Na.Delivery}}),$a;(function(e){e.Started=ee.durable({type:"session.execution.started",...Ie,schema:xe}),e.Succeeded=ee.durable({type:"session.execution.succeeded",...Ie,schema:xe}),e.Failed=ee.durable({type:"session.execution.failed",...Ie,schema:{...xe,error:vn.Error}}),e.Interrupted=ee.durable({type:"session.execution.interrupted",...Ie,schema:{...xe,reason:a.Literals(["user","shutdown","superseded","inactivity"])}})})($a||($a={}));var Rq=ee.durable({type:"session.instructions.updated",durable:{aggregate:"sessionID",version:2},schema:{...xe,delta:Pd.Delta,text:a.String.pipe(m)}}),Oq=ee.durable({type:"session.synthetic",...Ie,schema:{...xe,text:a.String,description:a.String.pipe(m),metadata:a.Record(a.String,a.Unknown).pipe(m)}}),Ay;(function(e){e.Activated=ee.durable({type:"session.skill.activated",...Ie,schema:{...xe,id:or.ID,name:or.Name,text:a.String}})})(Ay||(Ay={}));var $p;(function(e){e.Started=ee.durable({type:"session.shell.started",...Ie,schema:{...xe,shell:so.Info}}),e.Ended=ee.durable({type:"session.shell.ended",...Ie,schema:{...xe,shell:so.Info,output:so.Output}})})($p||($p={}));var La;(function(e){e.Started=ee.durable({type:"session.step.started",...Ie,schema:{...xe,assistantMessageID:ye.ID,agent:In.ID,model:on.Ref,snapshot:sr.ID.pipe(m),started:he}}),e.Streamed=ee.durable({type:"session.step.streamed",...Ie,schema:{...xe,assistantMessageID:ye.ID}}),e.Ended=ee.durable({type:"session.step.ended",...Ie,schema:{...xe,assistantMessageID:ye.ID,finish:wy,rawFinish:a.String.pipe(m),native:ye.Native.pipe(m),cost:rn.USD,tokens:ir.Info,snapshot:sr.ID.pipe(m),files:a.Array(Nn).pipe(m)}}),e.Failed=ee.durable({type:"session.step.failed",...Ie,schema:{...xe,assistantMessageID:ye.ID,error:vn.Error,finish:a.Literals(["content-filter"]).pipe(m),rawFinish:a.String.pipe(m),native:ye.Native.pipe(m),cost:rn.USD.pipe(m),tokens:ir.Info.pipe(m),snapshot:sr.ID.pipe(m),files:a.Array(Nn).pipe(m)}})})(La||(La={}));var Md;(function(e){e.Started=ee.durable({type:"session.text.started",...Ie,schema:{...xe,assistantMessageID:ye.ID,ordinal:he}}),e.Delta=ee.ephemeral({type:"session.text.delta",schema:{...xe,assistantMessageID:ye.ID,ordinal:he,delta:a.String}}),e.Ended=ee.durable({type:"session.text.ended",...Ie,schema:{...xe,assistantMessageID:ye.ID,ordinal:he,text:a.String,native:ye.Native.pipe(m)}})})(Md||(Md={}));var _d;(function(e){e.Started=ee.durable({type:"session.reasoning.started",...Ie,schema:{...xe,assistantMessageID:ye.ID,ordinal:he,native:ye.Native.pipe(m)}}),e.Delta=ee.ephemeral({type:"session.reasoning.delta",schema:{...xe,assistantMessageID:ye.ID,ordinal:he,delta:a.String}}),e.Ended=ee.durable({type:"session.reasoning.ended",...Ie,schema:{...xe,assistantMessageID:ye.ID,ordinal:he,text:a.String,native:ye.Native.pipe(m)}})})(_d||(_d={}));var Co;(function(e){let t={...xe,assistantMessageID:ye.ID,id:a.String},n;(function(r){r.Started=ee.durable({type:"session.tool.input.started",...Ie,schema:{...t,name:a.String}}),r.Delta=ee.ephemeral({type:"session.tool.input.delta",schema:{...t,delta:a.String}}),r.Ended=ee.durable({type:"session.tool.input.ended",...Ie,schema:{...t,text:a.String}})})(n=e.Input||(e.Input={})),e.Called=ee.durable({type:"session.tool.called",...Ie,schema:{...t,input:a.Record(a.String,a.Unknown),executed:a.Boolean,native:ye.Native.pipe(m)}}),e.Progress=ee.ephemeral({type:"session.tool.progress",schema:{...t,metadata:a.Record(a.String,a.Json)}}),e.Success=ee.durable({type:"session.tool.success",durable:{aggregate:"sessionID",version:2},schema:{...t,content:a.NonEmptyArray(Cd),metadata:a.Record(a.String,a.Json).pipe(m),executed:a.Boolean,native:ye.Native.pipe(m)}}),e.Failed=ee.durable({type:"session.tool.failed",durable:{aggregate:"sessionID",version:2},schema:{...t,error:vn.Error,content:a.NonEmptyArray(Cd).pipe(m),metadata:a.Record(a.String,a.Json).pipe(m),executed:a.Boolean,native:ye.Native.pipe(m)}})})(Co||(Co={}));var Cq=ee.durable({type:"session.retry.scheduled",...Ie,schema:{...xe,assistantMessageID:ye.ID,attempt:wt,at:he,error:vn.Error}}),qa;(function(e){e.Started=ee.durable({type:"session.compaction.started",...Ie,schema:{...xe,reason:a.Literals(["auto","manual"]),inputID:ye.ID.pipe(m)}}),e.Delta=ee.ephemeral({type:"session.compaction.delta",schema:{...xe,text:a.String}}),e.Ended=ee.durable({type:"session.compaction.ended",...Ie,schema:{...xe,reason:e.Started.data.fields.reason,model:ye.CompactionCompleted.fields.model,native:ye.CompactionCompleted.fields.native,text:a.String,cost:ye.CompactionCompleted.fields.cost,tokens:ye.CompactionCompleted.fields.tokens}}),e.Failed=ee.durable({type:"session.compaction.failed",...Ie,schema:{...xe,reason:e.Started.data.fields.reason,error:vn.Error,inputID:ye.ID.pipe(m),cost:ye.CompactionFailed.fields.cost,tokens:ye.CompactionFailed.fields.tokens}})})(qa||(qa={}));var Ud;(function(e){e.Staged=ee.durable({type:"session.revert.staged",...Ie,schema:{...xe,revert:ps}}),e.Cleared=ee.durable({type:"session.revert.cleared",...Ie,schema:xe}),e.Committed=ee.durable({type:"session.revert.committed",...Ie,schema:{...xe,to:ye.ID}})})(Ud||(Ud={}));var gE=ee.inventory(dq,uq,lq,pq,fq,mq,hq,gq,yq,xq,Iq,vq,wq,kq,Eq,Tq,Aq,$a.Started,$a.Succeeded,$a.Failed,$a.Interrupted,Rq,Oq,Ay.Activated,$p.Started,$p.Ended,La.Started,La.Streamed,La.Ended,La.Failed,Md.Started,Md.Delta,Md.Ended,_d.Started,_d.Delta,_d.Ended,Co.Input.Started,Co.Input.Delta,Co.Input.Ended,Co.Called,Co.Progress,Co.Success,Co.Failed,Cq,qa.Started,qa.Delta,qa.Ended,qa.Failed,Ud.Staged,Ud.Cleared,Ud.Committed),Dq=ee.inventory(...gE.filter(e=>e.durability==="durable"),bq,Sq),Pq=ee.inventory(...gE.filter(e=>e.durability==="ephemeral")),Mq=a.Union(Dq,{mode:"oneOf"}).annotate({identifier:"Session.Event.Durable"}).pipe(a.toTaggedUnion("type")),Zne=a.Union([Mq,...Pq],{mode:"oneOf"}).pipe(a.toTaggedUnion("type"));var Nd=bn,_q=_p,Qne=Lp;var Uq=Fa.Boundary,Yne=a.Struct({id:Nd,parentID:Nd.pipe(m),fork:a.Struct({sessionID:Nd,boundary:Uq}).pipe(m),projectID:Ut.ID,agent:In.ID.pipe(m),model:on.Ref.pipe(m),cost:rn.USD,tokens:ir.Info,outcome:a.Literals(["succeeded","failed","interrupted"]).pipe(m),time:a.Struct({created:Rt,updated:Rt,busy:Rt.pipe(m),idle:Rt.pipe(m),viewed:Rt.pipe(m),archived:Rt.pipe(m)}),title:a.String.pipe(m),location:hn.Ref,subpath:Nn.pipe(m),metadata:_q.pipe(m),permissions:Oo.Ruleset.pipe(m),revert:ps.pipe(m)}).annotate({identifier:"Session.Info"}),Oy=a.Struct({id:Nd,time:a.Finite,direction:a.Literals(["previous","next"])}).annotate({identifier:"Session.ListAnchor"}),Cy={order:a.Literals(["asc","desc"]).pipe(a.optional).annotate({description:"Session order for the first page. Use desc for newest first or asc for oldest first."}),search:a.String.pipe(a.optional),parentID:a.Union([Nd,a.Null.pipe(a.encodeTo(a.Literal("null"),{decode:fn.transform(()=>null),encode:fn.transform(()=>"null")}))]).annotate({description:"Filter by parent session. Use null to return only root sessions."}).pipe(a.optional),archived:a.Literals(["true","false"]).pipe(a.decodeTo(a.Boolean,{decode:fn.transform(e=>e==="true"),encode:fn.transform(e=>e?"true":"false")})).annotate({description:"Filter by archive state. Use true to return only archived sessions or false to exclude them. Omit to include both."}).pipe(a.optional)},Xne=a.Struct({...Cy,directory:tt.pipe(a.optional),project:Ut.ID.pipe(a.optional),subpath:Nn.pipe(a.optional)}).annotate({identifier:"Session.ListFilter"}),ere=a.Union([a.Struct({...Cy,directory:tt,anchor:Oy}),a.Struct({...Cy,project:Ut.ID,subpath:Nn.pipe(a.optional),anchor:Oy}),a.Struct({...Cy,anchor:Oy})]),Nq=a.fromJsonString(ere),tre=a.encodeSync(Nq),nre=a.decodeUnknownEffect(Nq),rre=a.String.pipe(a.brand("SessionsCursor"),a.annotate({identifier:"SessionsCursor",description:"Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response."}),be(e=>{let t=er.make(e);return{make:n=>t(Kc.encode(tre(n))),parse:n=>Xt.suspend(()=>{let r=Kc.decodeString(n);return it.isFailure(r)?Xt.fail("Invalid cursor"):nre(r.success).pipe(Xt.mapError(()=>"Invalid cursor"))})}}));var yE=a.Struct({..._a.Info.fields,sessionID:ci.ID,userTitle:a.NullOr(a.String),foregroundProcess:a.NullOr(a.String),size:a.Struct({cols:wt,rows:wt}),output:a.Struct({head:he,tail:he})}).annotate({identifier:"PersistentPty.Info"}),xxe=a.Struct({directory:a.String,instanceID:a.String,ticket:a.String,expiresAt:a.Number}).annotate({identifier:"PersistentPty.Handoff"}),Sxe=a.Struct({command:m(a.String),args:a.Array(a.String),cwd:m(a.String),title:a.String,env:a.Record(a.String,a.String),size:m(a.Struct({cols:wt,rows:wt}))}).annotate({identifier:"PersistentPty.CreateInput"}),bxe=a.Struct({attachmentID:m(a.String),size:m(a.Struct({cols:wt,rows:wt})),title:m(a.NullOr(a.String))}).annotate({identifier:"PersistentPty.UpdateInput"}),ore=a.Struct({info:yE,text:a.String,checkpoint:a.Uint8Array,cursor:a.Struct({x:he,y:he})}).annotate({identifier:"PersistentPty.Snapshot"}),Ixe=wt.check(a.isLessThanOrEqualTo(65535)).annotate({identifier:"PersistentPty.ReadLines"}),vxe=a.Struct({ptyID:_a.ID,title:a.String,cwd:a.String,foregroundProcess:a.NullOr(a.String),screen:a.Struct({text:a.String,cols:wt,rows:wt,cursor:ore.fields.cursor})}).annotate({identifier:"PersistentPty.ReadResult"}),Fq=pe({type:"persistent-pty.added",schema:{sessionID:ci.ID,terminal:yE}}),$q=pe({type:"persistent-pty.removed",schema:{sessionID:ci.ID,ptyID:_a.ID}}),Lq=pe({type:"persistent-pty.updated",schema:{sessionID:ci.ID,terminal:yE}}),wxe={Added:Fq,Removed:$q,Updated:Lq,Definitions:Fe(Fq,$q,Lq)};var Bq=pe({type:"reference.updated",schema:{}}),Rxe={Updated:Bq,Definitions:Fe(Bq)},sre=a.Struct({type:a.Literal("local"),path:tt,description:a.String.pipe(m),hidden:a.Boolean.pipe(m)}).annotate({identifier:"Reference.LocalSource"}),ire=a.Struct({type:a.Literal("git"),repository:a.String,branch:a.String.pipe(m),description:a.String.pipe(m),hidden:a.Boolean.pipe(m)}).annotate({identifier:"Reference.GitSource"}),are=a.Union([sre,ire]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Reference.Source"}),Oxe=a.Struct({name:a.String,path:tt,description:a.String.pipe(m),hidden:a.Boolean.pipe(m),source:are}).annotate({identifier:"Reference.Info"});var Ba={};Ae(Ba,{Rpc:()=>Ba,define:()=>cre});function cre(e){let t=Object.values(e.methods).flatMap(n=>Object.keys(n.errors??{})).find(n=>n.startsWith("rpc."));if(t)throw new Error(`RPC error names starting with "rpc." are reserved: ${t}`);return e}var dre=a.Struct({current:m(a.String),default:m(a.String)}).annotate({identifier:"Vcs.Branch"}),Pxe=a.Struct({provider:m(a.String),branch:dre}).annotate({identifier:"Vcs.Info"}),Mxe=a.Array(a.String).annotate({identifier:"Vcs.BranchList"}),_xe=a.Struct({name:a.String,ref:a.String,source:a.Literals(["reflog","default"])}).annotate({identifier:"Vcs.Base"}),Uxe=a.Literals(["working","branch","committed"]).annotate({identifier:"Vcs.Mode"}),Nxe=a.Literals(["files","folders"]).annotate({identifier:"Vcs.Untracked"}),Fxe=a.Struct({file:a.String,additions:he,deletions:he,status:a.Literals(["added","deleted","modified"])}).annotate({identifier:"Vcs.FileStatus"});var xE=a.String.pipe(a.brand("WebSearch.ID"),a.annotate({identifier:"WebSearch.ID"})),Bxe=a.Struct({id:xE,name:a.String}).annotate({identifier:"WebSearch.Provider"}),jxe=a.Struct({query:a.String,providerID:xE.pipe(m)}).annotate({identifier:"WebSearch.Input"}),ure=a.Struct({url:a.String,title:a.String.pipe(m),content:a.String.pipe(m),time:a.Struct({published:a.Finite.pipe(m).annotate({description:"Publication time in milliseconds since the Unix epoch"})})}).annotate({identifier:"WebSearch.Result"}),zq=class extends a.Class("WebSearch.Response")({providerID:xE,results:a.Array(ure)}){},Wq=pe({type:"websearch.updated",schema:{}}),Hxe={Updated:Wq,Definitions:Fe(Wq)};var Vxe=a.Trim.pipe(a.check(a.isNonEmpty()),a.brand("Worktree.StrategyID")),Jxe=a.Struct({projectID:Ut.ID,from:m(tt),branch:m(a.Trim.pipe(a.check(a.isNonEmpty()))),directory:m(tt).annotate({description:"Parent directory for the new worktree. Uses the project's canonical configuration, then defaults to the server's data directory under worktree/<first six project ID characters>."}),name:m(a.String)}).annotate({identifier:"Worktree.CreateInput"}),Zxe=a.Struct({projectID:Ut.ID,directory:tt,force:a.Boolean}).annotate({identifier:"Worktree.RemoveInput"}),Qxe=a.Struct({directory:tt}).annotate({identifier:"Worktree.Info"}),lre=a.Struct({directory:tt,strategy:m(a.String)}).annotate({identifier:"Worktree.Directory"}),Yxe=a.Struct({directory:tt,type:a.Literals(["root","worktree"])}).annotate({identifier:"Worktree.ListEntry"}),Gq=class extends a.TaggedError()("Worktree.OperationError",{message:a.String,forceRequired:m(a.Boolean)}){},Xxe=a.Array(lre).annotate({identifier:"Worktree.List"}),Vq=pe({type:"worktree.updated",schema:{projectID:Ut.ID}}),Jq=bk({type:"worktree.resolved",durable:{aggregate:"projectID",version:1},schema:{projectID:Ut.ID,directory:tt,previous:Ut.ID,adopted:m(a.Array(Ut.ID))}}),eSe={Updated:Vq,Resolved:Jq,Definitions:Fe(Vq,Jq)};import{appendFileSync as rie,existsSync as oie}from"node:fs";import{homedir as Uj}from"node:os";import{resolve as sie}from"node:path";var vr=(e,t,n)=>Math.min(n,Math.max(t,e)),Ht=(e,t)=>t<=0?0:vr(e/t*100,0,100),qp=(e=Date.now())=>{let t=new Date(e);return`${t.getUTCFullYear()}-${String(t.getUTCMonth()+1).padStart(2,"0")}`},Ot=e=>{if(!Number.isFinite(e))return"$0.00";let t=Math.abs(e);return t>0&&t<.01?`$${e.toFixed(5)}`:t<1?`$${e.toFixed(4)}`:`$${e.toFixed(2)}`},Fd=e=>`${e.toFixed(e>=10?0:1)}%`,fs=(e,t)=>{if(e)return e;let n=(t??"").trim();return n?`unresolved (${n})`:"unresolved"},SE=e=>Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"0",Ue=(e,t)=>`${e}/${t}`,bE=e=>{let t=e.indexOf("/");return t<=0?{providerID:e,modelID:""}:{providerID:e.slice(0,t),modelID:e.slice(t+1)}},$d=e=>e?Ue(e.providerID,e.id):void 0;var pre=(e,t)=>e.length<=t?e:`${e.slice(0,Math.max(0,t-1))}\u2026`;var fre=[/bearer\s+[A-Za-z0-9._~+/=-]+/gi,/(?:sk|user|key|token)-[A-Za-z0-9_-]{12,}/gi,/\b[A-Za-z0-9_-]{32,}\b/g],Fn=e=>{let t=e;for(let n of fre)t=t.replace(n,"[redacted]");return pre(t,500)},qe=e=>{if(e instanceof Error)return Fn(e.message);if(typeof e=="string")return Fn(e);try{return Fn(JSON.stringify(e))}catch{return"Unknown error"}},ja=e=>[...new Set(e)],Qq=e=>{let t=e.toLowerCase();return t.startsWith("data:image/")?!0:/\.(png|jpe?g|gif|webp|bmp|tiff?|heic|heif|avif)$/i.test(t)},IE=e=>e?/\.(png|jpe?g|gif|webp|bmp|tiff?|heic|heif|avif)$/i.test(e):!1,wr=e=>`${e}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`;var Yq=/^\s*(?:please\s+)?(?:change|set|update|make)\b[^\n]{0,200}\b(?:color|colour|background|background-color|padding|margin|font-size|font-weight|border-radius|border-color|width|height|gap|display)\b[^\n]{0,120}\b(?:to|:)\s*(?:#[0-9a-f]{3,8}|\d+(?:\.\d+)?(?:px|rem|em|%|vh|vw|ch|fr)?|[a-z][a-z-]*)\b/i,Xq=/\b(redesign|design system|visual design|design critique|design review|user experience|\bux\b|\bu[iI]\b audit|figma|mockup|wireframe|typography|color palette|colour palette|landing page design|component library|accessibility audit|a11y audit|design token|responsive layout)\b/i,mre=/\b(design|redesign|visual|layout|responsive|style|styling|css|tailwind|theme|animation|typography|colour|color|component|hover|focus|dark mode|light mode|accessibility|a11y|figma|mockup|screenshot|wireframe)\b/i,hre=/\b(architecture|architectural|multi-tenant|multi tenant|distributed system|microservice|event-driven|schema design|database design|data model|migration|monorepo|scalab|concurrency|race condition|deadlock|memory leak|performance profiling|throughput|latency budget|production incident|cross-service|cross service|refactor across)\b/i,gre=/\b(security review|threat model|authorization model|authentication model|oauth|encryption|secrets management|vulnerability|exploit|injection|xss|csrf|privilege escalation)\b/i,yre=/\b(intermittent|flaky|only sometimes|production|regression|memory leak|deadlock|race condition|multiple services|cross-service)\b/i,xre=[{name:"rename",pattern:/\brename\s+(?:the\s+)?[A-Za-z_$][\w$.-]*\s+to\s+[A-Za-z_$][\w$.-]*\b/i},{name:"typo",pattern:/\b(fix|correct)\s+(?:a\s+)?(?:typo|spelling|misspell(?:ing)?)\b/i},{name:"format",pattern:/\b(format|prettier|lint|eslint|clang-format|gofmt|rustfmt)\b/i},{name:"imports",pattern:/\b(sort|organize|remove unused)\s+imports?\b/i},{name:"replace",pattern:/\breplace\s+["'`].+["'`]\s+with\s+["'`].+["'`]/i},{name:"version",pattern:/\b(bump|update|change)\s+(?:the\s+)?(?:package\s+)?version\b/i},{name:"comment",pattern:/\b(add|update|fix)\s+(?:a\s+)?(?:code\s+)?(?:comment|docstring|jsdoc)\b/i},{name:"readme",pattern:/\b(update|format|fix)\s+(?:the\s+)?(?:readme|documentation|docs)\b/i},{name:"import-fix",pattern:/\b(fix|correct)\s+(?:an?\s+)?(?:import|indentation|whitespace)\b/i}],Sre=/\b(all|every|everywhere|across|multiple|components|codebase|project|architecture|refactor|feature|implement|migrate|migration|responsive|theme|states?|tests?|debug|investigate|why|security|performance)\b/i,bre=/^\s*(?:please\s+)?(?:run|execute)\s+(?:the\s+)?(?:formatter|linter|lint|tests?|test suite|typecheck|type check|build|validation)\b/i,Ire=/\b(use|pick|choose)\s+(?:the\s+)?(?:best|strongest|most capable|premium)\b|\b(premium model|best model|strongest model|think hard|deep reasoning|use (?:claude )?opus|use (?:claude )?sonnet|use gpt-6|use glm-5\.3)\b/i,vre=/\b(use|pick|choose)\s+(?:the\s+)?(?:cheapest|cheap|economy|budget)\b|\b(?:don'?t|do not|avoid|no)\s+premium\b|\bminimum cost\b|\bsave (?:quota|credits)\b/i,wre=/\b(simple|small|quick|trivial|easy|just)\b/i,kre=e=>{let t=e.match(/```[\s\S]*?```/g)??[],n=t.reduce((r,o)=>Math.max(r,o.split(/\r?\n/).length),0);return{count:t.length,longest:n}},Ere=e=>{let t=e.match(/(?:^|[\s("'`])((?:[\w.-]+\/)*[\w.-]+\.(?:tsx?|jsx?|mjs|cjs|css|scss|sass|html|json|jsonc|md|mdx|py|go|rs|swift|kt|java|rb|php|yaml|yml|toml|sh|sql|vue|svelte))\b/gi);return ja((t??[]).map(n=>n.trim().replace(/^["'`(]/,""))).length},Tre=e=>Qq(e.uri)||IE(e.name)||IE(e.description)||/image|screenshot|photo/i.test(e.description??""),Are=(e,t)=>{let n=e.text.toLowerCase();return t.deterministic?"deterministic":t.design?"design":t.security?"security":t.architecture?"architecture":t.debug?"debug":/\brefactor\b/.test(n)?"refactor":/\b(test|spec|coverage|vitest|jest|playwright)\b/.test(n)&&!/\blatest\b/.test(n)?"test":/\b(readme|documentation|docs|jsdoc|docstring|comment)\b/.test(n)&&e.text.length<1200?"docs":t.mechanical?"mechanical":/\b(add|implement|build|create|support|introduce|feature)\b/.test(n)?"feature":"unknown"},Bp=e=>{let t=e.text??"",n=e.files??[],r=[],o=[],s=kre(t),i=Ere(t),c=t.replace(/```[\s\S]*?```/g," ").replace(/(?:[\w.-]+\/)+[\w.-]+\.(?:tsx?|jsx?|mjs|cjs|css|scss|sass|html|json|jsonc|md|mdx|py|go|rs|swift|kt|java|rb|php|yaml|yml|toml|sh|sql|vue|svelte)\b/gi," "),d=c.replace(/\b(?:do not|don't|never|avoid|without)\b[^.!?\n]*/gi," "),u=c.toLowerCase(),l=n.filter(Tre),p=l.length>0,f=p&&(/\b(screenshot|screen shot|figma|mockup|wireframe|visual|image|photo|design|ui)\b/i.test(t)||l.some(rt=>/screenshot|screen|figma|mockup|wireframe|image|photo|design/i.test(`${rt.name??""} ${rt.description??""}`))),g=/\n\s+at\s+\S+/.test(t)||/traceback \(most recent call last\)/i.test(t)||/\buncaught\b|\bpanic:|\bexception\b|\bstderr\b/i.test(t),b=t.length,y=e.promptTokens??Math.max(1,Math.ceil(b/4)),S=e.contextTokens??0,v=e.recentFailures??0;p&&r.push("image_input"),f&&r.push("screenshot_input"),g&&r.push("stack_trace"),s.count>0&&r.push("code_blocks"),i>1&&r.push("multiple_paths"),wre.test(c)&&r.push("self_described_simple_ignored"),v>=2&&r.push("recent_failures");let R=(c.match(/\b(responsive|theme|layout|typography|animation|keyboard navigation|loading state|error state|settings page|navbar|modal|form|button|component|accessibility|dark mode|light mode)\b/gi)??[]).length>=2&&/\b(implement|build|create|add|design|redesign|page|component|layout|ui|screen|view)\b/i.test(c),A=Xq.test(c)||R||mre.test(c)&&(f||b>260)||f&&/\b(improve|fix|review|match|implement|build|polish|critique)\b/i.test(t),k=Xq.test(c)&&!(Yq.test(t)&&b<400)&&/\b(redesign|design system|visual design|design critique|design review|ux audit|figma|mockup|wireframe|landing page|component library|accessibility audit|typography|design token)\b/i.test(c);A&&r.push("design_intensive"),k&&r.push("sophisticated_design");let x=hre.test(c),w=gre.test(c),E=g&&yre.test(c);x&&r.push("architecture"),w&&r.push("security"),E&&r.push("hard_debug");let T=bre.test(d)&&!/\b(add|change|implement|create|fix|refactor|update\s+the\s+code)\b/i.test(t);T&&r.push("deterministic_tooling");let _=xre.filter(rt=>rt.pattern.test(d)),B=b<550&&s.count<=1&&s.longest<=12&&i<=2&&!g&&!Sre.test(d),de=Yq.test(t)&&!/\b(theme|responsive|hover|focus|active|dark mode|light mode|all|every|components?|across|states?)\b/i.test(d),Se=B&&_.length>0||B&&de||T&&b<300;_.length>0&&r.push(`mechanical:${_.map(rt=>rt.name).join(",")}`),de&&r.push("narrow_css"),B&&r.push("narrow_scope");let D={avoidPremium:vre.test(c),requestPremium:Ire.test(c),requestEconomy:/\b(cheapest|cheap|economy|budget)\b/i.test(t)};D.avoidPremium&&r.push("constraint:avoid_premium"),D.requestPremium&&r.push("constraint:request_premium"),D.requestEconomy&&r.push("constraint:request_economy");let W=2,L="medium",oe=x&&/\b(architecture|multi-tenant|distributed|migration|concurrency|race condition|deadlock|memory leak|production incident)\b/i.test(t)||w||E||k||v>=2&&(A||x||w||E||/\b(debug|fix|refactor|implement)\b/i.test(t));D.avoidPremium?(W=Se&&B?1:2,o.push("User asked to avoid premium or expensive models; premium tiers are excluded."),L="high"):D.requestPremium?(W=3,o.push("User explicitly asked for the strongest or a premium model; premium approval is still required by policy."),L="high"):oe?(W=3,o.push(k?"Sophisticated design work requires a high design-capability score in addition to general intelligence.":x?"Architecture or cross-system changes materially benefit from a premium model.":w?"Security-sensitive work benefits from a premium model and stricter review.":"Intermittent or multi-component debugging can exceed standard-model reliability."),L=oe&&(A||x||w||E)?"high":"medium"):T?(W=0,o.push("This is deterministic tooling work; use existing formatters, linters, tests, or type checks."),L="high"):Se?(W=1,o.push(de?"A single, narrow styling change with unambiguous scope and deterministic validation.":"A narrow mechanical edit with a small, explicit scope."),L=B&&(_.length>0||de)?"high":"medium"):(W=2,o.push("Substantive engineering work stays at or above the DeepSeek V4.1 Flash intelligence floor."),L="medium"),A&&W<2&&(W=2,o.push("Design work was raised to the standard tier because economy models are not qualified for design judgment."),L="high"),f&&!A&&o.push("Screenshot input requires native image understanding.");let Le=Are(e,{design:A,architecture:x,security:w,debug:g||/\b(bug|error|failing|fails|broken|doesn't work|does not work|debug)\b/i.test(t),deterministic:T,mechanical:Se}),ft=S>25e4||/\b(600k|large context|long conversation|whole repository|entire repo)\b/i.test(t);ft&&r.push("long_context");let kt={files:i+n.length,codeBlocks:s.count,longestCodeBlockLines:s.longest,hasStackTrace:g,hasImage:p,hasScreenshot:f,promptChars:b,promptTokens:y};return W===2&&L==="medium"&&/\b(simple|small|quick|trivial)\b/i.test(t)&&o.push("Self-described simplicity was ignored; the scope signals did not meet the economy-tier requirements."),{tier:W,kind:Le,requiresVision:p,designIntensive:A,sophisticatedDesign:k,needsLongContext:ft,confidence:L,signals:ja(r),reasons:ja(o),constraints:D,scope:kt}};var eB=(e,t)=>{let n=e?.contextTokens??0,r=e?.cacheReadTokens??0,o=n>0?Ht(r,n):0;return t.enabled?n>=t.recommendAtTokens?{tokens:n,cacheRead:r,cacheSharePct:o,state:"recommend_new_session",message:`This session has about ${n.toLocaleString()} context tokens. A fresh session with a short handoff will usually cost less per turn. The router will not compact or replace this conversation.`}:n>=t.warnAtTokens?{tokens:n,cacheRead:r,cacheSharePct:o,state:"watch",message:`Context is about ${n.toLocaleString()} tokens. Cache reads are cheaper than fresh input but are not free. Consider a new session for unrelated work.`}:{tokens:n,cacheRead:r,cacheSharePct:o,state:"healthy",message:`${n.toLocaleString()} context tokens; ${o.toFixed(0)}% arrived as cache reads. Cache reads are cheaper than fresh input but are not free.`}:{tokens:n,cacheRead:r,cacheSharePct:o,state:"healthy",message:"Context-health monitoring is disabled."}};var vE=e=>!Number.isFinite(e)||e<=0?2e4:Math.min(2e4,Math.floor(e*.125));var jp=e=>({compact:!1,reason:e,hardLimit:!1}),tB=e=>{let{mode:t,settings:n,contextTokens:r,effectiveWindow:o}=e;if(!n.enabled)return{compact:!1,reason:"Context management is disabled; native context handling only.",hardLimit:!1};if(r<=0)return jp("No measured context size yet.");if(o<=0)return jp("The model's accepted context window is unknown; no router-driven compaction.");let s=r+vE(o),i=o*.95,c=s>i;if(t==="native")return c?n.allowEmergencyCompaction===!1?{compact:!1,reason:"Native mode: transcript is at the verified limit, but emergency compaction is disabled.",triggerTokens:r,targetTokens:Math.floor(i),hardLimit:!0}:{compact:!0,reason:"Native mode emergency compaction: the transcript would exceed the model's verified window.",triggerTokens:r,targetTokens:Math.floor(i),hardLimit:!0}:jp("Native mode: the transcript fits the verified window.");if(t==="conservative")return c?{compact:!0,reason:"Conservative mode: compacting only because the transcript would exceed the verified window.",triggerTokens:r,targetTokens:Math.floor(i),hardLimit:!0}:jp("Conservative mode: the transcript fits the verified window; history preserved.");let u=(e.cheapestWindow&&e.cheapestWindow>0?e.cheapestWindow:o)*.95,l=Math.min(u,n.compactAtTokens>0?n.compactAtTokens:Number.POSITIVE_INFINITY);if(s<=l)return jp("Budget-optimized mode: inside the configured compact threshold.");let p=s>i;return{compact:!0,reason:p?"Budget-optimized mode: compacting to stay inside the verified window of the cheapest qualified route.":"Budget-optimized mode: compacting early to keep this session on the cheapest qualified route.",triggerTokens:r,targetTokens:Math.floor(l),hardLimit:p}};var nB=e=>{switch(e){case"native":return"Native: no router-driven compaction unless the transcript would exceed the verified window.";case"conservative":return"Conservative: history preserved; compaction only to prevent a real overflow.";case"budget-optimized":return"Budget-optimized: compacts early to keep sessions on the cheapest qualified route.";default:return"Unknown mode."}};var rB=(e,t)=>{if(t.protocol!=="anthropic")return{messages:e??[],folded:0};if(!Array.isArray(e))return{messages:e??[],folded:0};let n=0,r=!1,o=e.map((s,i)=>i===0||s===null||typeof s!="object"?{message:s,changed:!1}:s.role!=="system"?{message:s,changed:!1}:(n+=1,r=!0,{message:{...s,role:"user"},changed:!0}));return r?{messages:o.map(s=>s.message),folded:n}:{messages:e,folded:0}};var oB=e=>e.protocol==="anthropic"?"anthropic":e.protocol==="openai-compat"?"openai-compat":/claude/i.test(`${e.providerID}/${e.modelID}`)?"anthropic":"openai-compat";var Dy=class{entries=new Map;set(t,n){this.entries.size>=500&&!this.entries.has(t)&&this.evict(),this.entries.set(t,n)}get(t){return this.entries.get(t)}clear(t){this.entries.delete(t)}clearAll(){this.entries.clear()}size(){return this.entries.size}evict(){let t=Date.now()-6e4;for(let[n,r]of this.entries)r.at<t&&this.entries.delete(n);if(this.entries.size>=500){let n=[...this.entries.entries()].sort((r,o)=>r[1].at-o[1].at)[0];n&&this.entries.delete(n[0])}}};var wE=e=>{let t=e.now-e.windowMs,n=Math.max(t,e.activityStart??t),o=Math.min(e.windowMs,Math.max(3600*1e3,e.now-n))/(3600*1e3),s=e.windowMs/(3600*1e3),i=e.spendInWindowUsd/Math.max(.001,o),c=i*s,d=e.remainingUsd,u=d!==void 0&&c>d,l=u&&i>0?e.now+Math.max(0,d??0)/i*60*60*1e3:void 0,p=u?`At the current rate the ${e.label} allowance runs out about ${Rre(l??e.now,e.now)}.`:`At the current rate the ${e.label} allowance covers the full window.`;return{projectedUsd:c,basisHours:o,...l!==void 0?{exhaustsAt:l}:{},willExhaust:u,explanation:p}},Rre=(e,t)=>{let n=e-t;if(n<=0)return"now";let r=n/(3600*1e3);return r<1?`${Math.round(n/6e4)} minutes from now`:r<48?`${r.toFixed(1)} hours from now`:`${(r/24).toFixed(1)} days from now`},iB=e=>{let{now:t,source_:n}=e,r=t-30*864e5,o=e.hasFiveHourWindow?n.aggregate({providerID:e.providerID,since:t-18e6,until:t}):sB(t-18e6,t),s=e.hasWeeklyWindow?n.aggregate({providerID:e.providerID,since:t-6048e5,until:t}):sB(t-6048e5,t),i=n.aggregate({providerID:e.providerID,since:r,until:t}),c=n.usageByModel({since:r,until:t}).filter(f=>f.providerID===e.providerID),d=i.input+i.cacheRead+i.cacheWrite,u=d>0?i.cacheRead/d*100:0,l=Ore(n.usageEvents,e.providerID),p=[...e.hasFiveHourWindow?[{window:"5-hour",forecast:wE({windowMs:18e6,now:t,spendInWindowUsd:o.usd,...l!==void 0?{activityStart:l}:{},label:`${e.label} five-hour`})}]:[],...e.hasWeeklyWindow?[{window:"7-day",forecast:wE({windowMs:6048e5,now:t,spendInWindowUsd:s.usd,...l!==void 0?{activityStart:l}:{},label:`${e.label} seven-day`})}]:[],{window:"monthly",forecast:wE({windowMs:30*864e5,now:t,spendInWindowUsd:i.usd,...l!==void 0?{activityStart:l}:{},...e.remainingMonthlyUsd!==void 0?{remainingUsd:e.remainingMonthlyUsd}:{},label:`${e.label} monthly`})}];return{providerID:e.providerID,label:e.label,plan:e.plan,source:e.source,...e.quotaState?{quotaState:e.quotaState}:{},fiveHour:o,weekly:s,monthly:i,cacheSharePct:u,byModel:c,forecasts:p,notes:[...e.notes,e.hasFiveHourWindow?"This plan meters a five-hour window.":"This plan has no five-hour window; that row is not a limit being ignored."]}},sB=(e,t)=>({since:e,until:t,requests:0,input:0,output:0,cacheRead:0,cacheWrite:0,usd:0,failures:0,latencyMsTotal:0,latencySamples:0}),Ore=(e,t)=>{let n;for(let r of e)r.providerID===t&&(n===void 0||r.at<n)&&(n=r.at);return n};var Ha=new Set(["deepseek-v4.1-flash","mimo-v2.6-flash","mimo-v2.6-pro","hy4-preview","deepseek-v4-flash","deepseek-v4-flash-vision-exp","deepseek-v4-pro","glm-5.3-flash","kimi-k2.7-code","claude-haiku-5.5","glm-5.3-flashx","gpt-6-luna"]),ar="design-plan",Do="plan-models",Py=(e,t,n,r,o,s,i,c,d=[])=>{let u=[];return r>0&&u.push({id:ar,label:"Design Plan credits",monthlyUsd:r,...s!==void 0?{weeklyUsd:s}:{},...i!==void 0?{fiveHourUsd:i}:{},resetKind:"fixed-7-day",drawOrder:1,note:i===void 0?"Seven-day ceiling nested inside the monthly maximum. Used before plan model credits.":"Five-hour and seven-day ceilings nested inside the monthly maximum. Used before plan model credits."}),o>0&&u.push({id:Do,label:"Plan model credits",monthlyUsd:o,resetKind:"billing-cycle",drawOrder:2,note:"No five-hour or seven-day window. Funds plan models directly, and Design Plan models once their own credits are exhausted. Design Plan multipliers do not carry over to this pool."}),{providerID:"opendesign",planID:e,label:t,monthlyPriceUsd:n,pools:u,...c>0?{concurrency:c}:{},notes:["Credits are not cash and are not a fixed request count.","Design Plan credits and plan model credits are separate pools, but they do spill: on Plus, Pro and Max, Design Plan usage draws from plan model credits once the Design Plan allowance is spent. Go has no plan model credits, so a spent window means waiting for the reset.","The seven-day Design Plan window starts when the subscription starts and repeats every seven days. It is not a rolling window and does not align to Monday or the first of the month.","Plan model credits have no five-hour or seven-day window; they are granted and reset per billing cycle.","Unused subscription credits do not roll over.",...d]}},Cre=[Py("go","OpenDesign Go",10,120,0,30,10,10,["Go includes Design Plan credits only and no plan model credits."]),Py("plus","OpenDesign Plus",20,160,20,40,void 0,20,["Plus has a seven-day Design Plan window and no five-hour window."]),Py("pro","OpenDesign Pro",100,360,120,90,void 0,30,["Pro has a seven-day Design Plan window and no five-hour window.","The $120 plan model pool currently carries a limited-time promotional bonus and resets per billing cycle."]),Py("max","OpenDesign Max",200,600,300,150,void 0,30,["Max has a seven-day Design Plan window and no five-hour window."])],Dre={"deepseek-v4.1-flash":80,"deepseek-v4-pro":15,"glm-5.3-flash":60,"glm-5.3":15,"glm-5.2":60,"minimax-m3.1-flash":20,"mimo-v2.6-flash":60,"mimo-v2.6-pro":15,"claude-haiku-5-5":15,"gpt-6-luna":15,"gpt-6-luna-high":15,"kimi-k3":15,"kimi-k3.1-pro":15,"kimi-k2.7-code":60,"grok-4.7":15,"qwen3.8-max":15,"qwen3.8-flash":30,"step-5-preview":15,"longcat-2.0":60,hy3:60,"hy4-preview":30,"gemini-4-argon":30},Pre={"deepseek-v4.1-flash":160,"deepseek-v4-pro":60,"glm-5.3-flash":180,"glm-5.3":120,"glm-5.2":180,"minimax-m3.1-flash":80,"mimo-v2.6-flash":120,"mimo-v2.6-pro":60,"claude-haiku-5-5":60,"gpt-6-luna":60,"kimi-k3":60,"kimi-k3.1-pro":60,"kimi-k2.7-code":180,"grok-4.7":60,"qwen3.8-max":60,"qwen3.8-flash":90,"step-5-preview":60,"longcat-2.0":240,hy3:240,"hy4-preview":120,"gemini-4-argon":120},aB=(e,t,n,r)=>({providerID:"opencode-go",planID:e,label:t,monthlyPriceUsd:n,pools:[{id:"per-model",label:"Per-model monthly allowances",monthlyUsd:Object.values(r).reduce((o,s)=>o+s,0),resetKind:"billing-cycle",drawOrder:1,note:"Each model has its own monthly dollar allowance. The five-hour and weekly ceilings are percentages of that model's allowance, not separate credit."}],perModelMonthlyUsd:r,perModelWindowRule:{fiveHourPct:20,weeklyPct:50},notes:["Allowances are per model and do not pool across models.","Token prices are identical on Go, Go Plus and Go Teams; only the allowances differ."]}),Mre=[{providerID:"commandcode",planID:"goat",label:"Command Code GOAT",monthlyPriceUsd:10,pools:[{id:"monthly",label:"GOAT monthly credits",monthlyUsd:70,weeklyUsd:35,fiveHourUsd:14,resetKind:"billing-cycle",drawOrder:1,note:"One shared pool with five-hour and weekly ceilings nested inside the monthly maximum."}],notes:["Read from Command Code's read-only account endpoints; the account response is authoritative."]}],_re=[...Cre,aB("go","OpenCode Go",10,Dre),aB("go-plus","OpenCode Go Plus",40,Pre),...Mre],kE=new Map(_re.map(e=>[`${e.providerID}/${e.planID}`,e])),Ure={opendesign:"pro","opencode-go":"go",commandcode:"goat"};var Nre={"opendesign/go-plus":"plus","opendesign/max-plan":"max","opencode-go/goplus":"go-plus","opencode-go/go+":"go-plus"},My=(e,t)=>{let n=(t??"").trim().toLowerCase();if(n){let o=Nre[`${e}/${n}`];if(o){let i=kE.get(`${e}/${o}`);if(i)return{plan:i,resolution:"alias",planID:i.planID}}let s=kE.get(`${e}/${n}`);return s?{plan:s,resolution:"exact",planID:s.planID}:{plan:void 0,resolution:"unknown",planID:void 0}}let r=Ure[e];return{plan:r?kE.get(`${e}/${r}`):void 0,resolution:r?"default":"unknown",planID:r}},Po=(e,t)=>My(e,t).plan;var cB=(e,t)=>e.providerID!=="opendesign"?!1:!Ha.has(t);var dB=(e,t)=>{let n=e.perModelMonthlyUsd;return n?n[t]??0:0};import{existsSync as Fre,readFileSync as $re}from"node:fs";import{homedir as Lre}from"node:os";var EE={enabled:!1,model:{model:"qwen3.5:4b-q4_K_M",baseURL:"http://127.0.0.1:11434",contextTokens:8192,maxOutputTokens:2048,concurrency:1,keepAliveMinutes:5,vision:!0,tools:!0}},TE=e=>{let t;try{t=new URL(e)}catch{return!1}let n=t.hostname.toLowerCase();return!!(n==="localhost"||n==="::1"||n==="[::1]"||/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n))},AE=4096;var Ld="ollama",RE=(e,t)=>t==="online"?!0:e===Ld;import{join as uB}from"node:path";var OE=e=>{let t=new Set;if(!St(e))return t;let n=e.providers;if(!St(n))return t;for(let[r,o]of Object.entries(n))St(o)&&typeof o.enabled=="boolean"&&t.add(r);return t},zp=(e,t={})=>({enabled:!0,plan:e,reserveMonthlyPct:10,reserveWeeklyPct:15,reserveFiveHourPct:10,allowExtraUsage:!1,probeUsage:!0,...t}),fB={enabled:!0,mode:"balanced",dryRun:!1,providers:{"opencode-go":zp("go"),commandcode:zp("goat",{probeUsage:!0,monthlyCreditsUsd:70,fiveHourCapUsd:14,weeklyCapUsd:35}),ollama:zp("local",{probeUsage:!1,allowExtraUsage:!1}),opendesign:zp("pro",{enabled:!1,probeUsage:!0,reserveMonthlyPct:5,reserveWeeklyPct:10,reserveFiveHourPct:0,allowExtraUsage:!1,subscriptionOnly:!0,providerScopedQuota:!0,ignoreFiveHourWindow:!0})},privacy:{allowTrainingModels:!1,allowFreeModels:!1,requireZdr:!1},premium:{mode:"ask",monthlyBudgetUsd:0,oneShotApproval:!0},routing:{intelligenceFloor:39.5,designFloor:60,sophisticatedDesignFloor:75,switchHysteresisPct:20,largeContextTokens:3e5,largeContextHysteresisPct:35,maxEscalationsPerTask:2,preferSameProvider:!0,failClosed:!0,protectEscalationPool:!0,longContextFloorTokens:1e6,calibrateFloor:!1},quota:{probeOpenCodeGo:!0,probeCommandCode:!0,probeOpenDesign:!0,probeIntervalMinutes:5,bootstrapSessions:100,bootstrapDays:31},contextHealth:{enabled:!0,warnAtTokens:4e5,recommendAtTokens:7e5},contextManagement:{mode:"native",enabled:!0,compactAtTokens:0,cooldownMinutes:10,allowEmergencyCompaction:!0},speed:{enabled:!0,weightPct:15,minSamples:3,slowRouteMultiple:2.5},ui:{titleIndicator:!1,notifications:!0,compactMode:!1,compact:!1},logging:{storePromptText:!1,decisionLogSize:100,diagnostics:!0},models:{approved:[],excluded:[],tierOverrides:{},definitions:[]},offline:EE},_y=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()!==""){let t=Number(e);if(Number.isFinite(t))return t}},CE=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t=Date.parse(e);if(Number.isFinite(t))return t}},St=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),We=(e,t,n,r)=>typeof e=="boolean"?e:(n.push(`${r} must be a boolean; using ${t}`),t),Ke=(e,t,n,r,o,s)=>{if(typeof e!="number"||!Number.isFinite(e))return n.push(`${r} must be a finite number; using ${t}`),t;let i=Math.min(s,Math.max(o,e));return i!==e&&n.push(`${r} was clamped to ${i}`),i},Hp=(e,t,n,r)=>typeof e=="string"&&e.trim().length>0?e.trim():(n.push(`${r} must be a non-empty string; using ${t}`),t),Kp=(e,t,n,r,o)=>typeof e=="string"&&t.includes(e)?e:(r.push(`${o} must be one of ${t.join(", ")}; using ${n}`),n),lB=(e,t,n,r)=>e===void 0?t:!Array.isArray(e)||e.some(o=>typeof o!="string")?(n.push(`${r} must be an array of strings; using the previous value`),t):[...new Set(e.map(o=>o.trim()).filter(Boolean))],qre=(e,t,n,r)=>St(e)?{enabled:We(e.enabled,t.enabled,n,`${r}.enabled`),plan:Hp(e.plan,t.plan,n,`${r}.plan`),reserveMonthlyPct:Ke(e.reserveMonthlyPct,t.reserveMonthlyPct,n,`${r}.reserveMonthlyPct`,0,90),reserveWeeklyPct:Ke(e.reserveWeeklyPct,t.reserveWeeklyPct,n,`${r}.reserveWeeklyPct`,0,90),reserveFiveHourPct:Ke(e.reserveFiveHourPct,t.reserveFiveHourPct,n,`${r}.reserveFiveHourPct`,0,90),allowExtraUsage:We(e.allowExtraUsage,t.allowExtraUsage,n,`${r}.allowExtraUsage`),probeUsage:We(e.probeUsage,t.probeUsage,n,`${r}.probeUsage`),monthlyCreditsUsd:e.monthlyCreditsUsd===void 0?t.monthlyCreditsUsd:Ke(e.monthlyCreditsUsd,t.monthlyCreditsUsd??0,n,`${r}.monthlyCreditsUsd`,0,1e6),fiveHourCapUsd:e.fiveHourCapUsd===void 0?t.fiveHourCapUsd:Ke(e.fiveHourCapUsd,t.fiveHourCapUsd??0,n,`${r}.fiveHourCapUsd`,0,1e6),weeklyCapUsd:e.weeklyCapUsd===void 0?t.weeklyCapUsd:Ke(e.weeklyCapUsd,t.weeklyCapUsd??0,n,`${r}.weeklyCapUsd`,0,1e6),credentialPath:e.credentialPath===void 0?t.credentialPath:Hp(e.credentialPath,t.credentialPath??"",n,`${r}.credentialPath`)||void 0,credentialSource:e.credentialSource===void 0?t.credentialSource:Kp(e.credentialSource,["explicit","auto","off"],t.credentialSource??"explicit",n,`${r}.credentialSource`),baseURL:e.baseURL===void 0?t.baseURL:Hp(e.baseURL,t.baseURL??"",n,`${r}.baseURL`)||void 0,controlBaseURL:e.controlBaseURL===void 0?t.controlBaseURL:Hp(e.controlBaseURL,t.controlBaseURL??"",n,`${r}.controlBaseURL`)||void 0,controlKeyPath:e.controlKeyPath===void 0?t.controlKeyPath:Hp(e.controlKeyPath,t.controlKeyPath??"",n,`${r}.controlKeyPath`)||void 0,baseline:(()=>{if(e.baseline===void 0)return t.baseline;if(!St(e.baseline))return n.push(`${r}.baseline must be an object; ignoring it`),t.baseline;let o=CE(e.baseline.at);if(o===void 0)return n.push(`${r}.baseline.at must be a timestamp; ignoring the baseline`),t.baseline;let s=_y(e.baseline.designPlanUsedUsd),i=_y(e.baseline.planModelsUsedUsd),c=_y(e.baseline.designPlanUsedPct),d=_y(e.baseline.planModelsUsedPct),u=e.baseline.pctOf,l=u==="weekly"||u==="monthly"?u:void 0;u!==void 0&&l===void 0&&n.push(`${r}.baseline.pctOf must be "weekly" or "monthly"; defaulting to weekly`);let p=y=>y===void 0?void 0:Math.min(100,Math.max(0,y));if(s===void 0&&i===void 0&&c===void 0&&d===void 0)return n.push(`${r}.baseline needs a figure: designPlanUsedUsd, designPlanUsedPct, planModelsUsedUsd or planModelsUsedPct`),t.baseline;if(o>Date.now())return n.push(`${r}.baseline.at is in the future; ignoring the baseline`),t.baseline;let f=CE(e.baseline.weeklyResetsAt),g=CE(e.baseline.monthlyResetsAt),b=typeof e.baseline.source=="string"?e.baseline.source.trim():void 0;return{at:o,...s!==void 0?{designPlanUsedUsd:Math.max(0,s)}:{},...i!==void 0?{planModelsUsedUsd:Math.max(0,i)}:{},...p(c)!==void 0?{designPlanUsedPct:p(c)}:{},...p(d)!==void 0?{planModelsUsedPct:p(d)}:{},...l?{pctOf:l}:{},...f!==void 0?{weeklyResetsAt:f}:{},...g!==void 0?{monthlyResetsAt:g}:{},...b?{source:b}:{}}})(),subscriptionOnly:e.subscriptionOnly===void 0?t.subscriptionOnly:We(e.subscriptionOnly,t.subscriptionOnly??!0,n,`${r}.subscriptionOnly`),creditsPerUsd:e.creditsPerUsd===void 0?t.creditsPerUsd:Ke(e.creditsPerUsd,t.creditsPerUsd??1e4,n,`${r}.creditsPerUsd`,1,1e7),uncertaintyMarginPct:e.uncertaintyMarginPct===void 0?t.uncertaintyMarginPct:Ke(e.uncertaintyMarginPct,t.uncertaintyMarginPct??20,n,`${r}.uncertaintyMarginPct`,0,500),unknownQuotaPolicy:e.unknownQuotaPolicy===void 0?t.unknownQuotaPolicy:Kp(e.unknownQuotaPolicy,["route","block","ask"],t.unknownQuotaPolicy??"route",n,`${r}.unknownQuotaPolicy`),multiplierOverrides:e.multiplierOverrides===void 0?t.multiplierOverrides:Bre(e.multiplierOverrides,t.multiplierOverrides,n,`${r}.multiplierOverrides`),providerScopedQuota:e.providerScopedQuota===void 0?t.providerScopedQuota:We(e.providerScopedQuota,t.providerScopedQuota??!1,n,`${r}.providerScopedQuota`),ignoreFiveHourWindow:e.ignoreFiveHourWindow===void 0?t.ignoreFiveHourWindow:We(e.ignoreFiveHourWindow,t.ignoreFiveHourWindow??!1,n,`${r}.ignoreFiveHourWindow`),ignoreWeeklyWindow:e.ignoreWeeklyWindow===void 0?t.ignoreWeeklyWindow:We(e.ignoreWeeklyWindow,t.ignoreWeeklyWindow??!1,n,`${r}.ignoreWeeklyWindow`)}:(n.push(`${r} must be an object; using defaults`),t),Wp=e=>typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0,Bre=(e,t,n,r)=>{if(e===void 0)return t;if(!St(e))return n.push(`${r} must be an object; using the previous value`),t;let o={...t??{}};for(let[s,i]of Object.entries(e)){let c=Wp(i);if(c===void 0||c<=0){n.push(`${r}.${s} must be a positive number; the entry was ignored`);continue}o[s]=c}return o},jre=(e,t,n)=>{if(!Array.isArray(e)||e.length===0)return n.push(`models.definitions[${t}].cost must contain at least one tier; definition ignored`),[];let r=[];return e.forEach((o,s)=>{if(!St(o)){n.push(`models.definitions[${t}].cost[${s}] must be an object; ignored`);return}let i=Wp(o.input),c=Wp(o.output);if(i===void 0||c===void 0){n.push(`models.definitions[${t}].cost[${s}] needs non-negative finite input and output; ignored`);return}let d=St(o.cache)?o.cache:void 0;r.push({input:i,output:c,cache:{read:Wp(d?.read)??0,write:Wp(d?.write)??0}})}),r},Hre=(e,t)=>{if(e===void 0)return[];if(!Array.isArray(e))return t.push("models.definitions must be an array; ignored"),[];let n=[];return e.forEach((r,o)=>{if(!St(r)){t.push(`models.definitions[${o}] must be an object; ignored`);return}let s=typeof r.key=="string"?r.key.trim():"",i=typeof r.providerID=="string"?r.providerID.trim():"",c=typeof r.modelID=="string"?r.modelID.trim():"",d=typeof r.name=="string"?r.name.trim():c,u=r.tier===1||r.tier===2||r.tier===3?r.tier:0;if(!s||!i||!c||!u){t.push(`models.definitions[${o}] needs key, providerID, modelID, and tier 1-3; ignored`);return}let l=Array.isArray(r.input)&&r.input.every(f=>typeof f=="string")?r.input:["text"],p=jre(r.cost,o,t);p.length!==0&&n.push({key:s,providerID:i,modelID:c,name:d,context:Math.max(1,Number(r.context)||0),maxOutput:Math.max(1,Number(r.maxOutput)||0),input:l,cost:p,intelligence:Math.max(0,Number(r.intelligence)||0),design:Math.max(0,Number(r.design)||0),premium:r.premium===!0,training:r.training===!0,free:r.free===!0,tier:u,approved:r.approved!==!1,monthlyAllowanceUsd:Math.max(0,Number(r.monthlyAllowanceUsd)||0)})}),n},zre=(e,t,n)=>{if(!St(e))return n.push("models must be an object; using defaults"),t;let r={...t.tierOverrides};if(e.tierOverrides!==void 0)if(!St(e.tierOverrides))n.push("models.tierOverrides must be an object; using the previous value");else for(let[o,s]of Object.entries(e.tierOverrides))s===1||s===2||s===3?r[o]=s:n.push(`models.tierOverrides.${o} must be 1, 2, or 3; ignored`);return{approved:lB(e.approved,t.approved,n,"models.approved"),excluded:lB(e.excluded,t.excluded,n,"models.excluded"),tierOverrides:r,definitions:Hre(e.definitions,n)}},Gp=(e,t=fB)=>{let n=[];if(!St(e))return{settings:t,warnings:["settings must be a JSON object"],sources:[],explicitProviderEnable:new Set};let r={...t.providers};if(e.providers!==void 0)if(!St(e.providers))n.push("providers must be an object; using defaults");else for(let[T,_]of Object.entries(e.providers))r[T]=qre(_,r[T]??zp("custom"),n,`providers.${T}`);let o=St(e.privacy)?e.privacy:{},s={allowTrainingModels:We(o.allowTrainingModels,t.privacy.allowTrainingModels,n,"privacy.allowTrainingModels"),allowFreeModels:We(o.allowFreeModels,t.privacy.allowFreeModels,n,"privacy.allowFreeModels"),requireZdr:We(o.requireZdr,t.privacy.requireZdr,n,"privacy.requireZdr")},i=St(e.premium)?e.premium:{},c={mode:Kp(i.mode,["off","ask","allowed"],t.premium.mode,n,"premium.mode"),monthlyBudgetUsd:Ke(i.monthlyBudgetUsd,t.premium.monthlyBudgetUsd,n,"premium.monthlyBudgetUsd",0,1e5),oneShotApproval:We(i.oneShotApproval,t.premium.oneShotApproval,n,"premium.oneShotApproval")},d=St(e.routing)?e.routing:{},u={intelligenceFloor:Ke(d.intelligenceFloor,t.routing.intelligenceFloor,n,"routing.intelligenceFloor",0,100),designFloor:Ke(d.designFloor,t.routing.designFloor,n,"routing.designFloor",0,100),sophisticatedDesignFloor:Ke(d.sophisticatedDesignFloor,t.routing.sophisticatedDesignFloor,n,"routing.sophisticatedDesignFloor",0,100),switchHysteresisPct:Ke(d.switchHysteresisPct,t.routing.switchHysteresisPct,n,"routing.switchHysteresisPct",0,100),largeContextTokens:Ke(d.largeContextTokens,t.routing.largeContextTokens,n,"routing.largeContextTokens",1e4,5e6),largeContextHysteresisPct:Ke(d.largeContextHysteresisPct,t.routing.largeContextHysteresisPct,n,"routing.largeContextHysteresisPct",0,100),maxEscalationsPerTask:Ke(d.maxEscalationsPerTask,t.routing.maxEscalationsPerTask,n,"routing.maxEscalationsPerTask",0,5),preferSameProvider:We(d.preferSameProvider,t.routing.preferSameProvider,n,"routing.preferSameProvider"),failClosed:We(d.failClosed,t.routing.failClosed,n,"routing.failClosed"),protectEscalationPool:We(d.protectEscalationPool,t.routing.protectEscalationPool,n,"routing.protectEscalationPool"),longContextFloorTokens:Ke(d.longContextFloorTokens,t.routing.longContextFloorTokens,n,"routing.longContextFloorTokens",1e4,1e7),calibrateFloor:We(d.calibrateFloor,t.routing.calibrateFloor??!1,n,"routing.calibrateFloor")},l=St(e.quota)?e.quota:{},p={probeOpenCodeGo:We(l.probeOpenCodeGo,t.quota.probeOpenCodeGo,n,"quota.probeOpenCodeGo"),probeCommandCode:We(l.probeCommandCode,t.quota.probeCommandCode,n,"quota.probeCommandCode"),probeOpenDesign:We(l.probeOpenDesign,t.quota.probeOpenDesign,n,"quota.probeOpenDesign"),probeIntervalMinutes:Ke(l.probeIntervalMinutes,t.quota.probeIntervalMinutes,n,"quota.probeIntervalMinutes",0,1440),bootstrapSessions:Ke(l.bootstrapSessions,t.quota.bootstrapSessions,n,"quota.bootstrapSessions",0,500),bootstrapDays:Ke(l.bootstrapDays,t.quota.bootstrapDays,n,"quota.bootstrapDays",0,365)},f=St(e.contextHealth)?e.contextHealth:{},g={enabled:We(f.enabled,t.contextHealth.enabled,n,"contextHealth.enabled"),warnAtTokens:Ke(f.warnAtTokens,t.contextHealth.warnAtTokens,n,"contextHealth.warnAtTokens",1e4,1e7),recommendAtTokens:Ke(f.recommendAtTokens,t.contextHealth.recommendAtTokens,n,"contextHealth.recommendAtTokens",1e4,1e7)},b=St(e.ui)?e.ui:{},y=We(b.compactMode??b.compact??e.compactMode??e.compact,t.ui.compactMode||t.ui.compact,n,"ui.compactMode"),S={titleIndicator:We(b.titleIndicator,t.ui.titleIndicator,n,"ui.titleIndicator"),notifications:We(b.notifications,t.ui.notifications,n,"ui.notifications"),compactMode:y,compact:y},v=St(e.logging)?e.logging:{},I={storePromptText:We(v.storePromptText,t.logging.storePromptText,n,"logging.storePromptText"),decisionLogSize:Ke(v.decisionLogSize,t.logging.decisionLogSize,n,"logging.decisionLogSize",10,2e3),diagnostics:We(v.diagnostics,t.logging.diagnostics,n,"logging.diagnostics")},R=St(e.contextManagement)?e.contextManagement:{},A={mode:Kp(R.mode,["native","conservative","budget-optimized"],t.contextManagement.mode,n,"contextManagement.mode"),enabled:We(R.enabled,t.contextManagement.enabled,n,"contextManagement.enabled"),compactAtTokens:Ke(R.compactAtTokens,t.contextManagement.compactAtTokens,n,"contextManagement.compactAtTokens",0,1e7),cooldownMinutes:Ke(R.cooldownMinutes,t.contextManagement.cooldownMinutes,n,"contextManagement.cooldownMinutes",1,1440),allowEmergencyCompaction:We(R.allowEmergencyCompaction,t.contextManagement.allowEmergencyCompaction,n,"contextManagement.allowEmergencyCompaction")},k=St(e.speed)?e.speed:{},x={enabled:We(k.enabled,t.speed.enabled,n,"speed.enabled"),weightPct:Ke(k.weightPct,t.speed.weightPct,n,"speed.weightPct",0,100),minSamples:Ke(k.minSamples,t.speed.minSamples,n,"speed.minSamples",1,500),slowRouteMultiple:Ke(k.slowRouteMultiple,t.speed.slowRouteMultiple,n,"speed.slowRouteMultiple",1,20)};A.mode==="budget-optimized"&&A.compactAtTokens<=0&&n.push("contextManagement.mode is budget-optimized but compactAtTokens is 0; only the cheapest route's verified window will trigger compaction");let w=Wre(e.offline,t.offline,n),E={enabled:We(e.enabled,t.enabled,n,"enabled"),mode:Kp(e.mode,["efficiency","balanced","premium"],t.mode,n,"mode"),dryRun:We(e.dryRun,t.dryRun,n,"dryRun"),compactMode:y,compact:y,providers:r,privacy:s,premium:c,routing:u,quota:p,contextHealth:g,contextManagement:A,speed:x,ui:S,logging:I,models:zre(e.models,t.models,n),offline:w};return E.premium.mode==="allowed"&&E.premium.monthlyBudgetUsd<=0&&n.push("premium.mode is allowed but premium.monthlyBudgetUsd is 0; premium remains unavailable"),{settings:E,warnings:n,sources:[],explicitProviderEnable:new Set}},Wre=(e,t,n)=>{let r=t??EE;if(e===void 0)return r;if(!St(e))return n.push("offline must be an object; using defaults"),r;let o=St(e.model)?e.model:{},s=r.model,i=typeof o.baseURL=="string"&&o.baseURL.trim()?o.baseURL.trim():s.baseURL;TE(i)||n.push(`offline.model.baseURL ${i} is not a loopback address; using ${s.baseURL}. Offline mode must not reach a routable endpoint.`);let c=typeof o.model=="string"&&o.model.trim()?o.model.trim():s.model,d=Ke(o.contextTokens,s.contextTokens,n,"offline.model.contextTokens",1024,131072);d<AE&&n.push(`offline.model.contextTokens is ${d}, below the ${AE} needed for a screenshot-driven edit`);let u=e.modelStorePath,l;return typeof u=="string"&&u.trim()?l=u.trim():u!==void 0&&n.push("offline.modelStorePath must be a non-empty string; ignored"),{enabled:We(e.enabled,r.enabled,n,"offline.enabled"),...l?{modelStorePath:l}:{},model:{model:c,baseURL:TE(i)?i:s.baseURL,contextTokens:d,maxOutputTokens:Ke(o.maxOutputTokens,s.maxOutputTokens,n,"offline.model.maxOutputTokens",128,32768),concurrency:Ke(o.concurrency,s.concurrency,n,"offline.model.concurrency",1,4),keepAliveMinutes:Ke(o.keepAliveMinutes,s.keepAliveMinutes,n,"offline.model.keepAliveMinutes",0,120),vision:We(o.vision,s.vision,n,"offline.model.vision"),tools:We(o.tools,s.tools,n,"offline.model.tools")}}},Kre=(e,t,n)=>{let r=Gp(t,e).settings,o={...r,enabled:e.enabled&&r.enabled,privacy:{allowTrainingModels:e.privacy.allowTrainingModels&&r.privacy.allowTrainingModels,allowFreeModels:e.privacy.allowFreeModels&&r.privacy.allowFreeModels,requireZdr:e.privacy.requireZdr||r.privacy.requireZdr},premium:{...r.premium,mode:e.premium.mode==="off"||r.premium.mode==="off"?"off":e.premium.mode==="ask"||r.premium.mode==="ask"?"ask":"allowed",monthlyBudgetUsd:Math.min(e.premium.monthlyBudgetUsd,r.premium.monthlyBudgetUsd)},providers:Object.fromEntries(Object.entries(r.providers).map(([s,i])=>{let c=e.providers[s];return c?[s,{...i,enabled:c.enabled&&i.enabled,allowExtraUsage:c.allowExtraUsage&&i.allowExtraUsage}]:[s,{...i,enabled:!1,allowExtraUsage:!1}]}))};return r.privacy.allowTrainingModels&&!e.privacy.allowTrainingModels&&n.push("Project config tried to enable training models; global privacy setting kept it disabled"),r.premium.mode==="allowed"&&e.premium.mode!=="allowed"&&n.push("Project config tried to enable automatic premium routing; global setting kept it restricted"),o},pB=(e,t)=>{if(Fre(e))try{return JSON.parse($re(e,"utf8"))}catch(n){t.push(`Could not read ${e}: ${n instanceof Error?n.message:String(n)}`);return}},Uy=(e={})=>{let t=[],n=[],r=e.home??Lre(),o=uB(r,".config","opencode","smart-router.json"),s=fB,i=new Set;if(e.options!==void 0){let u=Gp(e.options,s);s=u.settings,t.push(...u.warnings),n.push("plugin options");for(let l of OE(e.options))i.add(l)}let c=pB(o,t);if(c!==void 0){let u=Gp(c,s);s=u.settings,t.push(...u.warnings),n.push(o);for(let l of OE(c))i.add(l)}let d=e.projectDirectory??e.directory;if(d){let u=uB(d,".opencode","smart-router.json"),l=pB(u,t);if(l!==void 0){s=Kre(s,l,t),n.push(u);for(let p of OE(l))i.add(p)}}return{settings:s,warnings:t,sources:n,explicitProviderEnable:i}};import{chmodSync as Gre,copyFileSync as Vre,existsSync as mB,mkdirSync as Jre,readdirSync as Zre,readFileSync as Qre,renameSync as Yre,unlinkSync as Xre,writeFileSync as eoe}from"node:fs";import{homedir as toe}from"node:os";import{dirname as hB,join as gB}from"node:path";var noe=(e=toe())=>gB(e,".config","opencode","smart-router.json"),Vp=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),yB=(e,t)=>{if(!Vp(t))return t;let n=Vp(e)?{...e}:{};for(let[r,o]of Object.entries(t))o!==void 0&&(n[r]=Vp(o)?yB(n[r],o):o);return n},xB=(e,t="")=>Vp(e)?Object.entries(e).flatMap(([n,r])=>Vp(r)?xB(r,t?`${t}.${n}`:n):[t?`${t}.${n}`:n]):t?[t]:[],roe=(e,t=5)=>{try{let n=hB(e),r=e.slice(n.length+1),o=Zre(n).filter(s=>s.startsWith(`${r}.bak-`)).sort();for(let s of o.slice(0,Math.max(0,o.length-t)))Xre(gB(n,s))}catch{}},SB=e=>{let t=e.path??noe(e.home),n=e.now??Date.now,r={};if(mB(t)){let d=Qre(t,"utf8");try{r=JSON.parse(d)}catch(u){throw new Error(`Existing config is not valid JSON (${u.message}); refusing to overwrite it`)}}let o=yB(r,e.patch),s=e.validate?.(o);if(s)throw new Error(s);Jre(hB(t),{recursive:!0});let i;mB(t)&&(i=`${t}.bak-${new Date(n()).toISOString().replace(/[:.]/g,"-")}`,Vre(t,i));let c=`${t}.tmp-${process.pid}`;return eoe(c,`${JSON.stringify(o,null,2)}
|
|
28
|
-
`,{mode:384}),
|
|
22
|
+
${IR(e.cause,`${t} `)}
|
|
23
|
+
${t}}`),r},wR="~effect/Fiber",E6={_A:Q,_E:Q},T6={id:0},uR=(()=>{try{return globalThis.process?.getBuiltinModule?.("node:async_hooks")?.AsyncResource}catch{return}})(),kR=()=>uR===void 0?void 0:new uR("effect/Fiber"),hm=()=>globalThis[gi],bc=class{constructor(t,n=!0){this.setContext(t),this.id=++T6.id,this.currentOpCount=0,this.interruptible=n,this._stack=[],this._observers=void 0,this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this._running=!1,this._deferredInterrupt=!1,this._parent=void 0,this._asyncContext=void 0,this.cache.runtimeMetrics?.recordFiberStart(this.context)}get[wR](){return E6}get currentDispatcher(){return this._dispatcher??=this.cache.scheduler.makeDispatcher()}getRef(t){return et(this.context,t)}addObserver(t){return this._exit?(t(this._exit),fi):(this._observers===void 0?this._observers=[t]:this._observers.push(t),()=>this.removeObserver(t))}removeObserver(t){if(this._exit||this._observers===void 0)return;let n=this._observers.indexOf(t);n>=0&&this._observers.splice(n,1)}interruptUnsafe(t,n){if(this._exit)return;let r=Tu(t);this.cache.stackFrame&&(r=cu(r,Wo(kf,this.cache.stackFrame))),n&&(r=cu(r,n)),this._interruptedCause=this._interruptedCause?fx(this._interruptedCause,r):r,this.interruptible&&(this._running?this._deferredInterrupt=!0:this.evaluate(Ne(this._interruptedCause)))}pollUnsafe(){return this._exit}evaluate(t){if(this._exit)return;if(this._asyncContext!==void 0){let o=this._asyncContext;this._asyncContext=void 0;try{return o.runInAsyncScope(this.evaluate,this,t)}finally{o.emitDestroy()}}else if(this._yielded!==void 0){let o=this._yielded;this._yielded=void 0,o()}let n=this.runLoop(t);if(n===wi){this._asyncContext=kR();return}let r=sS.interruptChildren&&sS.interruptChildren(this);if(r!==void 0)return this.evaluate(ne(r,()=>n));if(this._exit=n,this.cache.runtimeMetrics?.recordFiberEnd(this.context,this._exit),this._parent&&(this._parent._children?.delete(this),this._parent=void 0),this._observers!==void 0){let o=this._observers;this._observers=void 0;for(let s=0;s<o.length;s++)o[s](n)}this._stack.length=0,this._children=void 0,this.context=zn()}runLoop(t){let n=globalThis[gi];globalThis[gi]=this;let r=this._running;this._running=!0;let o=!1,s=t;this.currentOpCount=0;try{for(;;)try{this._deferredInterrupt&&(this._deferredInterrupt=!1,s=Ne(this._interruptedCause)),this.currentOpCount++;let i=this.cache;if(!o&&!i.preventYield&&i.scheduler.shouldYield(this)){o=!0;let c=s;s=ne(kc,()=>c)}if(s=i.tracerContext?i.tracerContext(s,this):s[mt](this),s===wi){let c=this._yielded;if(xi in c)return this._deferredInterrupt=!1,this._yielded=void 0,c;if(this._deferredInterrupt){this._yielded=void 0,c();continue}return wi}}catch(i){if(!O(s,mt))return Hn(`Fiber.runLoop: Not a valid effect: ${String(s)}`);s=Hn(i)}}finally{this._running=r,globalThis[gi]=n}}getCont(t){if(this._deferredInterrupt)return this._deferredInterrupt=!1,R6;for(;;){let n=this._stack.pop();if(!n)return;let r=n[Si];if(r!==void 0){let o=r.call(n,this);if(o)return o[t]=o,o}if(n[t])return n}}succeedWith(t){if((++this.currentOpCount&O6-1)===0)return kt(t);let n=this.getCont(Ut);return n?n[Ut](t,this):this.yieldWith(kt(t))}yieldWith(t){return this._yielded=t,wi}children(){return this._children??=new Set}pipe(){return ie(this,arguments)}setContext(t){let n=this.context;if(this.context=t,n!==void 0&&wA(n,t))return;let r=t.cacheRoot,o=r._fiberCache??=A6(t);this.cache?.scheduler!==o.scheduler&&(this._dispatcher=void 0),this.cache=o}get currentSpanLocal(){let t=this.cache.span;return t?._tag==="Span"?t:void 0}},A6=e=>{let t=gu(e,Zx);return{scheduler:et(e,xc),tracer:t,tracerContext:t?t.context:void 0,tracerEnabled:et(e,rm),span:gu(e,Jx),logLevel:et(e,Xx),minimumLogLevel:et(e,eS),stackFrame:et(e,Su),runtimeMetrics:gu(e,cR),maxOpsBeforeYield:et(e,YA),preventYield:et(e,XA)}},R6={[Ut](e,t){return Ne(t._interruptedCause)},[Bn](e,t){return Ne(t._interruptedCause)}},O6=32,sS={interruptChildren:void 0},gm=e=>{if(!e.cache.stackFrame)return;let t=new Map;return t.set(gx.key,e.cache.stackFrame),lc(t)},C6=e=>{if(!(e._children===void 0||e._children.size===0))return Iu(e._children)},D6=e=>{let t=e;return t._exit?z(t._exit):An(n=>t._exit?n(z(t._exit)):Je(e.addObserver(r=>n(z(r)))))},IS=e=>An(t=>{let n=e[Symbol.iterator](),r=[],o;function s(){let i=n.next();for(;!i.done;){if(i.value._exit){r.push(i.value._exit),i=n.next();continue}o=i.value.addObserver(c=>{r.push(c),s()});return}t(z(r))}return s(),Je(()=>o?.())}),lR=e=>{let t=e;return t._exit?t._exit:An(n=>t._exit?n(t._exit):Je(e.addObserver(n)))};var ER=e=>ue(t=>P6(e,t.id)),P6=h(e=>O(e[0],wR),(e,t,n)=>ue(r=>{let o=gm(r);return o=o&&n?$f(o,n):o??n,e.interruptUnsafe(t,o),Ou(D6(e))})),Iu=e=>ue(t=>{let n=gm(t),r=Wf();for(let o of e)o.interruptUnsafe(t.id,n),r.push(o);return Ou(IS(r))});var z=kt,Ne=Kt,at=ks,Je=yo({op:"Sync",[mt](e){let t=this[de](),n=e.getCont(Ut);return n?n[Ut](t,e):e.yieldWith(kt(t))}}),ge=yo({op:"Suspend",[mt](e){return this[de]()}}),wS=h(e=>e.length>=2||uc(e[0]),(e,t)=>ae(e)?t?TS(t):at(new mo("Effect.fromOption: Option.none")):z(e.value)),wc=Vt({onFailure:at,onSuccess:z}),TR=e=>e==null?at(new mo):z(e),kS=yo({op:"Yield",[mt](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{t||e.evaluate(Lr)},this[de]??0),e.yieldWith(()=>{t=!0})}}),kc=kS(0),ES=e=>z($(e)),Au=z(N()),AR=e=>ae(e)?Au:we(e.value,$),RR=e=>ge(()=>Ne(e())),Ps=e=>Hn(e),TS=e=>ge(()=>at(e())),Ie=z(void 0);var ym=e=>{let t=typeof e=="function"?e:e.try,n=typeof e=="function"?r=>new Eu(r,"An error occurred in Effect.try"):e.catch;return ge(()=>{try{return z(t())}catch(r){return at(n(r))}})};var AS=e=>RS(function(t,n){e(n).then(r=>t(z(r)),r=>t(Ps(r)))},e.length!==0),OR=e=>{let t=typeof e=="function"?e:e.try,n=typeof e=="function"?r=>new Eu(r,"An error occurred in Effect.tryPromise"):e.catch;return RS(function(r,o){let s=i=>ge(()=>{try{return at(ws(()=>n(i)))}catch(c){return Ps(c)}});try{t(o).then(i=>r(z(i)),i=>r(s(i)))}catch(i){r(s(i))}},t.length!==0)},M6=e=>ue(t=>e(t.id)),CR=ue(z),DR=M6(z),RS=(function(){let e=jn({op:"Async",[mt](n){let r=!1,o=!1,s=this.withSignal?new AbortController:void 0,i=this.register.call(n.cache.scheduler,c=>{r||(r=!0,o?n.evaluate(c):o=c)},s?.signal);return o!==!1?o:(o=!0,n.yieldWith(()=>{r=!0}),s===void 0&&i===void 0?wi:(n._stack.push(_6(()=>(r=!0,s?.abort(),i??Lr))),wi))}}),t=function(n,r){this.register=n,this.withSignal=r};return t.prototype=e,function(n,r){return new t(n,r)}})(),_6=yo({op:"AsyncFinalizer",[Si](e){e.interruptible&&(e.interruptible=!1,e._stack.push(Nu))},[Bn](e,t){return SS(e)?ne(PO(Kt(e),this[de]()),()=>Ne(e)):Ne(e)}}),An=e=>RS(e,e.length>=2),xm=An(fi),PR=(...e)=>{if(e.length===1){let r=e[0];return ge(()=>$i(r()))}let[t,n]=e;return ge(()=>$i(n.call(t.self)))},OS=(e,...t)=>{let n=t.length===0?function(){return ge(()=>$i(e.apply(this,arguments)))}:function(){let r=ge(()=>$i(e.apply(this,arguments)));for(let o=0;o<t.length;o++)r=t[o](r,...arguments);return r};return CS(e.length,n)},CS=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),pR=tS(2),MR=function(){let e=typeof arguments[0]=="string",t=e?arguments[0]:"Effect.fn",n=e?arguments[1]:void 0,r=Cr(),o;return r!==0&&(Wt(2),o=new globalThis.Error,Wt(r)),e?(s,...i)=>fR(t,s,o,i,e,n):fR(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,n)},fR=(e,t,n,r,o,s)=>{let i=typeof t=="function"?t:r.shift().bind(t.self),c=`${e} (definition)`,d=n?pR(()=>n.stack):Ln;return CS(i.length,function(...u){let l=ge(()=>{let g=i.apply(this,arguments);return oe(g)?g:$i(g)});for(let g=0;g<r.length;g++)l=r[g](l,...u);if(!oe(l))return l;let p=Cr(),f;return p!==0&&(Wt(2),f=new globalThis.Error,Wt(p)),Zo(o?ku(e,s,g=>dS(l,g)):l,Su,g=>({name:e,stack:f?pR(()=>f.stack):Ln,parent:{name:c,stack:d,parent:g}}))})},_R=(e,...t)=>CS(e.length,t.length===0?function(){return mR(()=>e.apply(this,arguments))}:function(){let n=mR(()=>e.apply(this,arguments));for(let r of t)n=r(n,...arguments);return n}),mR=e=>{try{let t=e(),n;for(;;){let r=t.next(n);if(r.done)return z(r.value);let o=r.value;if(o&&o._tag==="Success"){n=o.value;continue}else{if(o&&o._tag==="Failure")return r.value;{let s=!0;return ge(()=>s?(s=!1,ne(r.value,i=>$i(t,i))):ge(()=>$i(e())))}}}}catch(t){return Ps(t)}},$i=(function(){let e=jn({op:"Iterator",[Ut](n,r){let o=this.iterator;for(;;){let s=o.next(n);if(s.done)return z(s.value);if(qe(s.value)){if(s.value._tag==="Failure")return s.value}else return r._stack.push(this),s.value;n=s.value.value}},[mt](n){return this[Ut](this.initial,n)}}),t=function(n,r){this.iterator=n,this.initial=r};return t.prototype=e,function(n,r){return new t(n,r)}})(),pr=h(2,(e,t)=>new Jo(e,DS,z(t))),Sm=function(e){return e._stack.push(this),this[de]},U6=jn({op:"OnSuccess",[mt]:Sm}),Jo=function(e,t,n){this[de]=e,this[Ut]=t,this.payload=n};Jo.prototype=U6;var DS=function(){return this.payload},UR=function(e,t){return t.succeedWith(this.payload)},bm=(()=>{let e=Cr();if(e===0)return!1;let t="~effect/Effect/stackProbe",n={[t]:function(){return new Error}};Wt(1);let r=n[t]();return Wt(e),r.stack?.includes("[as "+t+"]")===!0})(),N6=function(e,t){let n=this.payload;return t.succeedWith(bm?n(e):ws(()=>n(e)))},NR=function(e){let t=this.payload;return t(e)},F6=function(e){let t=this.payload;return new Jo(t(e),UR,e)},$6=function(e){return new Jo(this.payload,UR,e)},vm=e=>we(e,$),FR=e=>Du(e,{onFailure:z,onSuccess:at}),Li=h(2,(e,t)=>new Jo(e,oe(t)?DS:NR,t)),Ru=h(2,(e,t)=>new Jo(e,oe(t)?$6:F6,t)),Ou=e=>new Jo(e,DS,Lr),$R=e=>Rn(e,at),PS=(e,t)=>ue(n=>{let r=new Set;return Ac(n,()=>r.size===0?void 0:Iu(r)),An(o=>{let s=En(e),i=s.length,c=0,d=!1,u=[],l=(p,f,g)=>{if(c++,p._tag==="Failure"){u.push(...p.cause.reasons),c>=i&&o(Ne(fm(go(u))));return}let b=!d;d=!0,o(p),b&&t?.onWinner&&t.onWinner({fiber:f,index:g,parentFiber:n})};for(let p=0;p<i;p++){let f=zi(n,s[p],!0,!0,!1);if(r.add(f),f.addObserver(g=>{r.delete(f),l(g,f,p)}),d)break}})}),MS=(e,t)=>ue(n=>{let r=new Set;return Ac(n,()=>r.size===0?void 0:Iu(r)),An(o=>{let s=!1,i=0;for(let c of e){if(s)break;let d=i++,u=zi(n,c,!0,!0,!1);r.add(u),u.addObserver(l=>{r.delete(u);let p=!s;s=!0,o(l),p&&t?.onWinner&&t.onWinner({fiber:u,index:d,parentFiber:n})})}})}),LR=h(e=>oe(e[1]),(e,t,n)=>PS([e,t],n)),_S=h(e=>oe(e[1]),(e,t,n)=>MS([e,t],n)),ne=h(2,(e,t)=>new Jo(e,NR,t)),qR=h(2,(e,t)=>qe(e)?e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause):vo(e,t)),qe=e=>e[xi]!==void 0,BR=h(2,(e,t)=>qe(e)?e._tag==="Success"?t(e.value):e:ne(e,t)),jR=e=>ne(e,Q),we=h(2,(e,t)=>new Jo(e,N6,t)),HR=h(2,(e,t)=>qe(e)?ZR(e,t):we(e,t)),zR=h(2,(e,t)=>qe(e)?QR(e,t):jS(e,t)),WR=h(2,(e,t)=>qe(e)?YR(e,t):HS(e,t)),KR=h(2,(e,t)=>{if(qe(e)){if(e._tag==="Success")return e;let n=qr(e.cause);return pe(n)?Kt(n.failure):t(n.success)}return _s(e,t)}),US=e=>Kt(Tu(e)),Im=e=>e._tag==="Success";var GR=e=>e._tag==="Failure";var VR=e=>e._tag==="Failure"?L(e.cause):J(e);var JR=e=>e._tag==="Failure"&&SS(e.cause);var Lr=kt(void 0),ZR=h(2,(e,t)=>e._tag==="Success"?kt(t(e.value)):e),QR=h(2,(e,t)=>e._tag==="Success"?e:Kt(Ic(e.cause,t))),YR=h(2,(e,t)=>e._tag==="Success"?kt(t.onSuccess(e.value)):Kt(Ic(e.cause,t.onFailure)));var XR=e=>{let t=[];for(let n of e)n._tag==="Failure"&&t.push(...n.cause.reasons);return t.length===0?Lr:Kt(go(t))};var eO=e=>e,tO=e=>ue(t=>z(Ff(t.context,e))),L6=e=>ue(t=>wS(Ff(t.context,e))),Ec=h(2,(e,t)=>ue(n=>{let r=n.context,o=t(r);return r===o||(n.setContext(o),Ac(n,()=>{n.setContext(r)})),e})),Zo=h(3,(e,t,n)=>Ec(e,r=>{let o=Rs(r,t),s=n(o);return o===s?r:Wn(r,t,s)})),nO=(e,t,n)=>Bi(ue(r=>{let o=Rs(r.context,e),s=t(o);return r.setContext(Wn(r.context,e,s)),Tc(Rs(r.context,qi),i=>{let c=Ff(r.context,e);if(ae(c))return Ie;let d=c.value,u;if(n?.reset===void 0){if(d!==s)return Ie;u=o}else u=n.reset(o,s,d);return r.setContext(Wn(r.context,e,u)),Ie})})),NS=()=>q6,q6=ue(e=>z(e.context)),Ms=e=>ue(t=>e(t.context)),rO=h(2,(e,t)=>Ec(e,un(t))),Vn=h(2,(e,t)=>qe(e)?e:Ec(e,$f(t))),Zt=function(){return arguments.length===1?h(2,(e,t)=>hR(e,arguments[0],t)):h(3,(e,t,n)=>hR(e,t,n)).apply(this,arguments)},hR=(e,t,n)=>Ec(e,Wn(t,n)),wm=h(3,(e,t,n)=>ne(n,r=>Zt(e,t,r))),oO=h(e=>oe(e[1]),(e,t,n)=>FS(e,t,(r,o)=>[r,o],n)),FS=h(e=>oe(e[1]),(e,t,n,r)=>r?.concurrent?we(Fu([e,t],{concurrency:2}),([o,s])=>n(o,s)):ne(e,o=>we(t,s=>n(o,s)))),sO=h(e=>oe(e[0]),(e,t,n)=>ob(e,t,n?r=>at(n(r)):()=>at(new mo))),iO=h(2,(e,t)=>ne(t,n=>n?vm(e):Au)),$S=h(2,(e,t)=>Array.from({length:t},()=>e)),aO=h(e=>oe(e[0]),(e,t,n)=>Fu($S(e,t),n)),cO=h(e=>oe(e[0]),(e,t)=>Hi({while:Va,body:un(t?.disableYield?e:ne(e,n=>kc)),step:fi})),Rn=h(2,(e,t)=>new dO(e,t.length!==1?n=>t(n):t)),B6=jn({op:"OnFailure",[mt]:Sm}),dO=function(e,t){this[de]=e,this[Bn]=t};dO.prototype=B6;var LS=h(3,(e,t,n)=>Rn(e,r=>t(r)?n(r):Ne(r))),Qo=h(3,(e,t,n)=>Rn(e,r=>{let o=t(r);return pe(o)?Ne(o.failure):n(o.success,r)})),_s=h(2,(e,t)=>Qo(e,qr,n=>t(n))),uO=e=>Du(e,{onFailure:t=>yx(t)?Au:at(t),onSuccess:ES}),lO=h(2,(e,t)=>Qo(e,xS,t)),pO=h(2,(e,t)=>Rn(e,n=>Li(t(n),Ne(n)))),fO=h(3,(e,t,n)=>LS(e,t,r=>Li(n(r),Ne(r)))),km=h(3,(e,t,n)=>Rn(e,r=>{let o=t(r);return pe(o)?Ne(r):Li(n(o.success,r),Ne(r))})),qS=h(2,(e,t)=>km(e,yS,n=>t(n))),mO=h(3,(e,t,n)=>{let r=Array.isArray(t)?o=>O(o,"_tag")&&t.includes(o._tag):vs(t);return qS(e,o=>r(o)?n(o):Ie)}),hO=h(2,(e,t)=>km(e,xS,n=>t(n))),Cu=h(e=>oe(e[0]),(e,t,n,r)=>Rn(e,o=>{let s=qr(o);return pe(s)?Ne(s.failure):t(s.success)?n(s.success):r?r(s.success):Ne(o)})),Em=h(e=>oe(e[0]),(e,t,n,r)=>Rn(e,o=>{let s=qr(o);if(pe(s))return Ne(s.failure);let i=t(s.success);return pe(i)?r?r(i.failure):Ne(o):n(i.success)})),BS=h(e=>oe(e[0]),(e,t,n,r)=>{let o=Array.isArray(t)?s=>O(s,"_tag")&&t.includes(s._tag):vs(t);return Cu(e,o,n,r)}),gO=h(e=>oe(e[0]),(e,t,n)=>{let r;return Em(e,o=>(r??=Object.keys(t),O(o,"_tag")&&Rr(o._tag)&&r.includes(o._tag)?L(o):J(o)),o=>t[o._tag](o),n)}),yO=h(e=>oe(e[0]),(e,t,n,r,o)=>Cu(e,s=>vs(s,t)&&O(s,"reason")&&(o!==void 0||vs(s.reason,n)),s=>{let i=s.reason;return vs(i,n)?r(i,s):o?o(i,s):at(s)})),xO=h(e=>oe(e[0]),(e,t,n,r)=>{let o;return Cu(e,s=>vs(s,t)&&O(s,"reason")&&O(s.reason,"_tag")&&Rr(s.reason._tag)&&(r!==void 0||(o??=Object.keys(n)).includes(s.reason._tag)),s=>{let i=s.reason;return o??=Object.keys(n),o.includes(i._tag)?n[i._tag](i,s):r?r(i,s):at(s)})}),SO=h(2,(e,t)=>Em(e,n=>vs(n,t)&&O(n,"reason")?L(n.reason):J(n),at)),jS=h(2,(e,t)=>Rn(e,n=>Ne(Ic(n,t)))),HS=h(2,(e,t)=>vo(e,{onFailure:n=>Ne(Ic(n,t.onFailure)),onSuccess:n=>Je(()=>t.onSuccess(n))})),zS=e=>_s(e,Ps),bO=h(2,(e,t)=>_s(e,n=>Je(()=>t(n)))),vO=e=>ge(()=>{let t=e[Symbol.iterator](),n=t.next();if(n.done)return Ps(new Error("Received an empty collection of effects"));function r(o){let s=t.next();return s.done?o.value:_s(o.value,i=>r(s))}return r(n)}),WS=e=>_s(e,t=>ne(kc,()=>WS(e))),IO=h(e=>oe(e[0]),(e,t)=>{if(!t?.log)return Du(e,{onFailure:r=>Ie,onSuccess:r=>Ie});let n=jr(t.log===!0?void 0:t.log);return vo(e,{onFailure(r){let o=qr(r);return pe(o)?Ne(o.failure):t.message===void 0?n(r):n(t.message,r)},onSuccess:r=>Ie})}),Tm=h(e=>oe(e[0]),(e,t)=>{if(!t?.log)return vo(e,{onFailure:r=>Ie,onSuccess:r=>Ie});let n=jr(t.log===!0?void 0:t.log);return vo(e,{onFailure:r=>t.message===void 0?n(r):n(t.message,r),onSuccess:r=>Ie})}),wO=e=>Am(e,{onFailure:N,onSuccess:$}),Ds=e=>Pu(e,{onFailure:J,onSuccess:L}),vo=h(2,(e,t)=>new kO(e,t.onSuccess.length!==1?n=>t.onSuccess(n):t.onSuccess,t.onFailure.length!==1?n=>t.onFailure(n):t.onFailure)),j6=jn({op:"OnSuccessAndFailure",[mt]:Sm}),kO=function(e,t,n){this[de]=e,this[Ut]=t,this[Bn]=n};kO.prototype=j6;var H6=function(e,t){let n=this.payload;return t.succeedWith(bm?n.onSuccess(e):ws(()=>n.onSuccess(e)))},EO=(e,t)=>{let n=jn({op:e,[mt]:Sm,[Ut]:H6,[Bn]:t}),r=function(o,s){this[de]=o,this.payload=s};return r.prototype=n,r},z6=EO("Match",function(e,t){let n=qr(e);if(pe(n))return Ne(n.failure);let r=this.payload;return t.succeedWith(bm?r.onFailure(n.success):ws(()=>r.onFailure(n.success)))}),W6=EO("MatchCause",function(e,t){let n=this.payload;return t.succeedWith(bm?n.onFailure(e):ws(()=>n.onFailure(e)))}),KS=h(2,(e,t)=>new W6(e,t)),Du=h(2,(e,t)=>vo(e,{onFailure:n=>{let r=qr(n);return pe(r)?Ne(r.failure):t.onFailure(r.success)},onSuccess:t.onSuccess})),Am=h(2,(e,t)=>new z6(e,t)),Pu=h(2,(e,t)=>{if(qe(e)){if(e._tag==="Success")return kt(t.onSuccess(e.value));let n=qr(e.cause);return pe(n)?Kt(n.failure):kt(t.onFailure(n.success))}return Am(e,t)}),TO=h(2,(e,t)=>qe(e)?e._tag==="Success"?kt(t.onSuccess(e.value)):kt(t.onFailure(e.cause)):KS(e,t)),Mu=e=>qe(e)?kt(e):K6(e),K6=yo({op:"Exit",[mt](e){return e._stack.push(this),this[de]},[Ut](e,t,n){return t.succeedWith(n??kt(e))},[Bn](e,t,n){return t.succeedWith(n??Kt(e))}}),AO=Pu({onFailure:()=>!0,onSuccess:()=>!1}),RO=Pu({onFailure:()=>!1,onSuccess:()=>!0}),OO=h(2,(e,t)=>Li(Rc(t),e)),GS=h(2,(e,t)=>ne(VS(e,t.duration),n=>ae(n)?t.orElse():z(n.value))),G6=e=>new dm(`Operation timed out after '${jx(e)}'`),CO=h(2,(e,t)=>{let n=Dt(t);return GS(e,{duration:n,orElse:()=>at(G6(n))})}),VS=h(2,(e,t)=>_S(vm(e),pr(Rc(t),N()))),DO=e=>Br(t=>{let n=t.monotonicTimeNanosUnsafe();return we(e,r=>[Tn(t.monotonicTimeNanosUnsafe()-n),r])}),iS="~effect/Scope",aS="~effect/Scope/Closeable",qi=Ur("effect/Scope"),JS=(e,t)=>ue(n=>(Q6(n),Rm(e,t)??Ie)),Rm=(e,t)=>{let n=e.state;if(n._tag==="Closed"||(e.state={_tag:"Closed",exit:t},e.parent!==void 0&&_O(e.parent,e),n._tag==="Empty"))return;if(n.finalizer!==void 0)return am(n.finalizer,t);let r=n.finalizers;return r.size===1?am(r.values().next().value,t):V6(e,r,t)},am=(e,t)=>{try{return e(t)}catch(n){return Hn(n)}},PO=(e,t)=>Im(e)?t:Rn(t,n=>Ne(fm(wf(e.cause,n)))),V6=OS(function*(e,t,n){let r=[],o=[],s=Array.from(t),i=hm();for(let c=s.length-1;c>=0;c--){let[d,u]=s[c];e.strategy==="sequential"?r.push(yield*Mu(am(u,n))):d!==i&&o.push(zi(i,am(u,n),!0,!0,"inherit"))}return o.length>0&&(r=yield*IS(o)),yield*XR(r)});var MO=(e,t)=>{let n=UO(t,e);return e.state._tag==="Closed"?(n.state=e.state,n):(_u(e,n,r=>JS(n,r)),n)},Tc=(e,t)=>ge(()=>e.state._tag==="Closed"?t(e.state.exit):(_u(e,{},t),Ie));var _u=(e,t,n)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizerKey:t,finalizer:n,finalizers:void 0};else if(e.state._tag==="Open"){let r=e.state;r.finalizer!==void 0&&(r.finalizers=new Map([[r.finalizerKey,r.finalizer]]),r.finalizerKey=void 0,r.finalizer=void 0),r.finalizers.set(t,n)}},_O=(e,t)=>{if(e.state._tag!=="Open")return;let n=e.state;n.finalizerKey===t?e.state=cS:n.finalizers!==void 0&&(n.finalizers.delete(t),n.finalizers.size===0&&(e.state=cS))},Om=e=>UO(e,void 0),UO=(e="sequential",t)=>({[aS]:aS,[iS]:iS,strategy:e,parent:t,state:cS}),cS={_tag:"Empty"};var Uu=qi,NO=Zt(qi),ZS=e=>ue(t=>{let n=t.context,r=Om();return t.setContext(Wn(t.context,qi,r)),Ac(t,o=>(t.setContext(n),Rm(r,o))),e});var Cm=e=>ge(()=>{let t=Om();return Jn(e(t),n=>ge(()=>Rm(t,n)??Ie))}),Dm=(e,t,n)=>Ms(r=>ji(o=>ne(Uu,s=>Ru(n?.interruptible?o(e):e,i=>Tc(s,c=>Vn(t(i,c),r)))))),QS=e=>ne(Uu,t=>Ms(n=>Tc(t,r=>Vn(e(r),n)))),FO=(function(){let e=jn({op:"OnExit",[mt](n){return n._stack.push(this),this.effect},[Si](n){n.interruptible&&this.interruptible!==!0&&(n._stack.push(Nu),n.interruptible=!1)},[Ut](n,r,o){o??=kt(n);let s;try{s=this.onExit(o)}catch(i){s=Hn(i)}return s?ne(s,i=>o):o},[Bn](n,r,o){o??=Kt(n);let s;try{s=this.onExit(o)}catch(i){s=Hn(i)}return s?ne(PO(o,s),i=>o):o}}),t=function(n,r,o){this.effect=n,this.onExit=r,this.interruptible=o};return t.prototype=e,t})(),Us=(e,t,n)=>new FO(e,t,n),Ac=(e,t)=>{e._stack.push(new FO(void 0,t,void 0))},Jn=h(2,Us),$O=h(2,(e,t)=>Jn(e,n=>t)),YS=h(3,(e,t,n)=>Jn(e,r=>t(r)?n(r):Ie)),XS=h(3,(e,t,n)=>Jn(e,r=>{let o=t(r);return pe(o)?Ie:n(o.success,r)})),eb=h(2,(e,t)=>XS(e,VR,t)),LO=h(3,(e,t,n)=>YS(e,r=>r._tag!=="Failure"?!1:t(r.cause),r=>n(r.cause))),tb=h(3,(e,t,n)=>Jn(e,r=>{if(r._tag!=="Failure")return Ie;let o=t(r.cause);return pe(o)?Ie:n(o.success,r.cause)})),qO=h(2,(e,t)=>tb(xR,t)(e)),BO=(e,t,n)=>ji(r=>ne(e,o=>Us(ge(()=>r(t(o))),s=>n(o,s),!0))),jO=e=>Dm(e,t=>O(t,Symbol.asyncDispose)?AS(()=>t[Symbol.asyncDispose]()):Je(()=>t[Symbol.dispose]())),nb=h(2,(e,t)=>Je(()=>HO(e,typeof t=="function"?n=>dr(Dt(t(n))):un(dr(Dt(t)))))),J6=un(1/0),HO=(e,t)=>{let n=0,r,o,s=(i,c)=>(c.awaiters++,Ac(i,()=>{if(!(--c.awaiters>0||c.done))return o===c&&(o=void 0),ER(c.fiber)}),lR(c.fiber));return[ue(i=>{if(o!==void 0)return i===o.fiber?lR(o.fiber):s(i,o);if(r!==void 0&&(n===1/0||i.getRef(Gn).currentTimeMillisUnsafe()<n))return r;r=void 0;let c=i.getRef(Gn),d={fiber:new bc(i.context),awaiters:0,done:!1};o=d;let u=s(i,d);return d.fiber.evaluate(Us(e,l=>{if(d.done=!0,o!==d||(o=void 0,JR(l)))return;let p=t(l);n=p===1/0?1/0:c.currentTimeMillisUnsafe()+p,r=l})),d.fiber._exit??u}),Je(()=>{o=void 0,r=void 0})]},zO=h(2,(e,t)=>we(nb(e,t),n=>n[0])),WO=e=>Je(()=>HO(e,J6)[0]),KO=ue(e=>Ne(Tu(e.id))),Bi=e=>ue(t=>(t.interruptible&&(t.interruptible=!1,t._stack.push(Nu)),e)),GO=yo({op:"SetInterruptible",[Si](e){if(e.interruptible=this[de],e._interruptedCause&&e.interruptible)return()=>Ne(e._interruptedCause)}}),Nu=GO(!0),Z6=GO(!1),VO=e=>{if(e.interruptible=!0,e._stack.push(Z6),e._interruptedCause)return Ne(e._interruptedCause)},Q6=e=>{let t=e;t.interruptible&&(t.interruptible=!1,t._stack.push(Nu))};var Pm=e=>ue(t=>t.interruptible?e:VO(t)??e),ji=e=>ue(t=>t.interruptible?(t.interruptible=!1,t._stack.push(Nu),e(Pm)):e(Q)),JO=e=>ue(t=>{if(t.interruptible)return e(Q);let n=VO(t),r=e(Bi);return n??r}),ZO=we(Dm(Je(()=>new AbortController),e=>Je(()=>e.abort())),e=>e.signal),Fu=(e,t)=>$o(e)?t?.mode==="result"?Kn(e,Ds,t):Kn(e,Q,t):t?.discard?t.mode==="result"?Kn(Object.values(e),Ds,t):Kn(Object.values(e),Q,t):ge(()=>we(Kn(Object.entries(e),([n,r])=>we(t?.mode==="result"?Ds(r):r,o=>[n,o]),{concurrency:t?.concurrency}),Object.fromEntries)),rb=h(e=>$o(e[0])&&!oe(e[0]),(e,t,n)=>we(Kn(e,(r,o)=>Ds(t(r,o)),n),r=>Lx(r,Q))),QO=h(3,(e,t,n)=>{let r=En(e);return r.length===0?Je(t):ge(()=>{let o=0,s=t();return we(Hi({while:()=>o<r.length,body:()=>n(s,r[o],o),step(i){s=i,o++}}),()=>s)})}),YO=h(e=>$o(e[0])&&!oe(e[0]),(e,t,n)=>ne(rb(e,t,{concurrency:n?.concurrency}),([r,o])=>fc(o)?at(o):n?.discard?Ie:z(r))),XO=h(e=>$o(e[0])&&!oe(e[0]),(e,t)=>ge(()=>{let n=e[Symbol.iterator](),r=n.next();return r.done?z(N()):eC(n,0,t,r.value)})),eC=(e,t,n,r)=>ne(n(r,t),o=>{if(o)return z($(r));let s=e.next();return s.done?z(N()):eC(e,t+1,n,s.value)}),tC=h(e=>$o(e[0])&&!oe(e[0]),(e,t)=>ge(()=>{let n=e[Symbol.iterator](),r=n.next();return r.done?z(N()):nC(n,0,t,r.value)})),nC=(e,t,n,r)=>ne(n(r,t),o=>{if(Et(o))return z($(o.success));let s=e.next();return s.done?z(N()):nC(e,t+1,n,s.value)}),Hi=yo({op:"While",[Ut](e,t){return this[de].step(e),this[de].while()?(t._stack.push(this),this[de].body()):Lr},[mt](e){return this[de].while()?(e._stack.push(this),this[de].body()):Lr}}),Kn=h(e=>typeof e[1]=="function",(e,t,n)=>ge(()=>{let r=$u(n?.concurrency);if(r===1)return Y6(e,t,n);let o=En(e),s=o.length;if(s===0)return n?.discard?Ie:z([]);let i=n?.discard?void 0:new Array(s),c=X6({f:t,out:i},o,{concurrency:r});return c?pr(c,i):z(i)})),rC=e=>ne(e,t=>{let n=t[Symbol.iterator]().next();return n.done?at(new mo):z(n.value)}),Y6=(e,t,n)=>ge(()=>{let r=n?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return pr(Hi({while:()=>!s.done,body:()=>t(s.value,i++),step:c=>{r&&r.push(c),s=o.next()}}),r)}),$u=e=>e==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,e??1),Mm=()=>e=>{let t=e.onItem,n=e.step,r=(s,i,c,d,u)=>ne(Mu(u),l=>n(s,i[c],l,c)??o(s,i,c+1,d)??Ie),o=(s,i,c=0,d=i.length)=>{for(;c<d;c++){let u=i[c],l=t(s,u,c);if(!qe(l))return r(s,i,c,d,l);let p=n(s,u,l,c);if(p)return p._tag==="Failure"?p:void 0}};return o},oC=e=>{let t=e.onItem,n=e.step;return(r,o,s)=>{let i=0,c=s.end??o.length,d=s.concurrency,u=!1,l,p,f,g,b,S=I=>{let v=Hn(I);return g=v,u=!0,p&&p.size>0?ne(Bi(Iu(Array.from(p))),()=>g??v):v},y=()=>{let I=!1;for(;!g&&i<c;i++){let v=o[i],R=b??t(r,v,i);if(qe(R)){if(g=n(r,v,R,i),g)break}else if(l){b=void 0;let A=zi(l,R,!0,!0,"inherit");if(A._exit){if(g=n(r,v,A._exit,i),g)break;continue}p.add(A);let k=i;if(A.addObserver(x=>{p.delete(A);try{if(g){if(x._tag==="Failure"){let w=x.cause.reasons.filter(E=>E._tag!=="Interrupt");if(w.length>0){let E=go(w);g=Kt(g._tag==="Failure"?fm(wf(g.cause,E)):E)}}}else{let w=n(r,v,x,k);w&&(g=w,y())}if(I){let w=y();w&&f(w)}else u&&p.size===0&&f(g??Ie)}catch(w){f(S(w))}}),p.size<d)continue;I=!0,i++;return}else return An(A=>{l=hm(),p=new Set,b=R,f=A;let k;try{k=y()}catch(x){return A(S(x))}return k?A(k):ge(()=>(g??=Lr,ne(p?Iu(p):Ie,()=>g?._tag==="Failure"?g:Ie)))})}if(u=!0,g){if(p&&p.size>0){let v=gm(l);p.forEach(R=>R.interruptUnsafe(l.id,v));return}if(f||g._tag==="Failure")return g}else if(f)if(p)p.size===0&&f(Ie);else return Lr};return y()}},_m=()=>e=>oC(e),X6=oC({onItem(e,t,n){return e.f(t,n)},step(e,t,n,r){if(n._tag==="Failure")return n;e.out&&(e.out[r]=n.value)}}),ob=h(3,(e,t,n)=>ne(e,r=>t(r)?z(r):n(r))),sb=h(3,(e,t,n)=>ne(e,r=>{let o=t(r);return pe(o)?n(o.failure):z(o.success)})),sC=h(e=>oe(e[0]),(e,t,n)=>sb(e,t,n?r=>at(n(r)):()=>at(new mo))),iC=h(e=>$o(e[0])&&!oe(e[0]),(e,t,n)=>we(Kn(e,(r,o)=>{let s=t(r,o);return typeof s=="boolean"?z(s?$(r):N()):we(s,i=>i?$(r):N())},n),UA)),aC=h(e=>$o(e[0])&&!oe(e[0]),(e,t)=>ge(()=>{let n=[];for(let r of e){let o=t(r);Et(o)&&n.push(o.success)}return z(n)})),cC=h(e=>$o(e[0])&&!oe(e[0]),(e,t,n)=>ge(()=>{let r=[];return pr(Kn(e,o=>we(t(o),s=>{Et(s)&&r.push(s.success)}),{discard:!0,concurrency:n?.concurrency}),r)})),dC=z({}),uC=nc(we),lC=rc(we,ne),pC=tc(we);var fC=h(e=>oe(e[0]),(e,t)=>ue(n=>(g3(),z(zi(n,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),zi=(e,t,n=!1,r=!1,o=!1)=>{let s=e,i=o==="inherit"?s.interruptible:!o,c=new bc(s.context,i);return r||(s.children().add(c),c._parent=s),n?c.evaluate(t):(c._asyncContext=kR(),s.currentDispatcher.scheduleTask(()=>c.evaluate(t),0)),c},mC=h(e=>oe(e[0]),(e,t)=>ue(n=>z(zi(n,e,t?.startImmediately,!0,t?.uninterruptible)))),hC=e=>ue(t=>{let n=t._children&&new Set(t._children),r=t.interruptible;return Us(e,o=>{let s=t._children;if(s===void 0||s.size===0)return Ie;n&&(s=DA(s,c=>!n.has(c)));let i=Ou(IS(s));return r?Pm(i):i})}),e3=e=>()=>ue(t=>t===e?Ie:ER(e)),ib=h(e=>oe(e[0]),(e,t,n)=>ue(r=>{let o=t.state._tag==="Closed"?new bc(r.context):zi(r,e,n?.startImmediately,!0,n?.uninterruptible);return o._exit||(t.state._tag!=="Closed"?(_u(t,o,e3(o)),o.addObserver(()=>_O(t,o))):o.interruptUnsafe(r.id,gm(r))),z(o)})),gC=h(e=>oe(e[0]),(e,t)=>ne(Uu,n=>ib(e,n,t))),Yo=e=>(t,n)=>{let r=new bc(n?.scheduler?Wn(e,xc,n.scheduler):e,n?.uninterruptible!==!0);if(r.evaluate(t),r._exit)return r;if(n?.signal)if(n.signal.aborted)r.interruptUnsafe();else{let o=()=>r.interruptUnsafe();n.signal.addEventListener("abort",o,{once:!0}),r.addObserver(()=>n.signal.removeEventListener("abort",o))}return n?.onFiberStart&&n.onFiberStart(r),r};var yC=Yo(zn()),ab=e=>{let t=Yo(e);return(n,r)=>{let o=t(n,r);return r?.onExit&&o.addObserver(r.onExit),s=>o.interruptUnsafe(s)}},xC=ab(zn()),Um=e=>{let t=Yo(e);return(n,r)=>{let o=t(n,r);return new Promise(s=>{o.addObserver(i=>s(i))})}},SC=Um(zn()),cb=e=>{let t=Um(e);return(n,r)=>t(n,r).then(o=>{if(o._tag==="Failure")throw vS(o.cause);return o.value})},bC=cb(zn()),Nm=e=>{let t=Yo(e);return n=>{if(qe(n))return n;let r=new _i("sync"),o=t(n,{scheduler:r});return o._dispatcher?.flush(),o._exit??Hn(new lm(o))}},vC=Nm(zn()),db=e=>{let t=Nm(e);return n=>{let r=t(n);if(r._tag==="Failure")throw vS(r.cause);return r.value}},IC=db(zn());var wC=ue(e=>z(e.getRef(Qx))),kC=h(2,(e,t)=>Zt(e,Qx,t)),EC=Zt(rm),TC=Zt(Sc),cm=BigInt(0),t3={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:cm,endTime:cm,exit:Lr},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},n3=e=>Object.assign(Object.create(t3),e),AC=e=>e?et(e.annotations,nm)?e._tag==="Span"?AC(xo(e.parent)):N():$(e):N(),ub=(e,t,n)=>{let r=!e.cache.tracerEnabled||n?.annotations&&et(n.annotations,nm),o=n?.parent!==void 0?$(n.parent):n?.root?N():AC(e.cache.span),s;if(r)s=n3({name:t,parent:o,annotations:Wn(n?.annotations??zn(),nm,!0)});else{let i=e.cache.tracer??Yx,c=e.getRef(Gn),d=e.getRef(Sc),u=e.getRef(bu),l=e.getRef(vu),p=n?.level??e.getRef(sR),f=n?.links!==void 0?[...l,...n.links]:l.length===0?[]:l.slice();s=i.span({name:t,parent:o,annotations:n?.annotations??zn(),links:f,startTime:d?c.currentTimeNanosUnsafe():cm,kind:n?.kind??"internal",root:n?.root??!1,sampled:n?.sampled??(st(o)&&o.value.sampled===!1?!1:!BC(e.getRef(iR),p))});for(let g in u)s.attribute(g,u[g]);if(n?.attributes!==void 0)for(let g in n.attributes)s.attribute(g,n.attributes[g])}return s},RC=(e,t)=>ue(n=>z(ub(n,e,t))),wu=(e,t)=>Bi(ue(n=>{let r=Rs(n.context,qi),o=ub(n,e,t??{}),s=n.getRef(Gn),i=n.getRef(Sc);return pr(Tc(r,c=>MC(o,c,s,i)),o)})),OC=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],n=sm(e?arguments[2]:arguments[1]);if(e){let r=arguments[0];return ne(wu(t,n),o=>vc(r,o,n))}return r=>ne(wu(t,n),o=>vc(r,o,n))},r3=(e,t)=>(t=typeof t=="function"?t:Ln,Zo(Su,n=>({name:e,stack:t,parent:n}))),CC=bu,DC=vu,PC=h(e=>oe(e[0]),(e,t,n={})=>{let o=(Array.isArray(t)?t:[t]).map(s=>({span:s,attributes:n}));return Zo(e,vu,s=>[...s,...o])}),MC=(e,t,n,r)=>Je(()=>{e.status._tag!=="Ended"&&e.end(r?n.currentTimeNanosUnsafe():cm,t)}),ku=(e,...t)=>{let n=t.length===1?void 0:t[0],r=t[t.length-1];return ue(o=>{let s=ub(o,e,n),i=o.getRef(Gn),c=o.getRef(Sc);return Ac(o,d=>MC(s,d,i,c)),r(s)})},dS=Zt(xu),vc=function(){let e=oe(arguments[0]),t=e?arguments[1]:arguments[0],n=e?arguments[2]:arguments[1],r=Q;return t._tag==="Span"&&(n=sm(n),r=r3(t.name,n?.captureStackTrace)),e?dS(r(arguments[0]),t):o=>dS(r(o),t)},_C=function(){let e=typeof arguments[0]!="string",t=e?arguments[1]:arguments[0],n=sm(arguments[2]);if(e){let s=arguments[0];return ku(t,arguments[2],i=>vc(s,i,n))}let r=typeof arguments[1]=="function"?arguments[1]:void 0,o=r?void 0:arguments[1];return(s,...i)=>ku(t,r?r(...i):o,c=>vc(s,c,n))},UC=h(e=>oe(e[0]),(e,...t)=>Zo(e,bu,n=>{let r=t.length===1?{...n,...t[0]}:{...n};return t.length===1||P(r,t[0],t[1]),r})),NC=(...e)=>ue(t=>{let n=t.currentSpanLocal;if(n)if(e.length===1)for(let[r,o]of Object.entries(e[0]))n.attribute(r,o);else n.attribute(e[0],e[1]);return Ie}),FC=ue(e=>{let t=e.currentSpanLocal;return t?z(t):at(new mo)}),$C=L6(xu),Gn=Ue("effect/Clock",{defaultValue:()=>new uS}),nS=2**31-1,uS=class{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=Je(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return o3()}currentTimeNanos=Je(()=>this.currentTimeNanosUnsafe());monotonicTimeNanosUnsafe(){return qC()}monotonicTimeNanos=Je(()=>this.monotonicTimeNanosUnsafe());sleep(t){return this.sleepMillis(dr(t))}sleepMillis(t){return t<=0?kc:Number.isFinite(t)?An(n=>{let r=t>nS?this.sleepMillis(t-nS):Ie,o=setTimeout(()=>n(r),Math.min(t,nS));return Je(()=>clearTimeout(o))}):xm}},LC=BigInt(1e6),qC=(function(){let e=globalThis.process?.hrtime;if(typeof e?.bigint=="function")return()=>e.bigint();if(typeof performance<"u"&&typeof performance.now=="function")return()=>BigInt(Math.round(performance.now()*1e6));let t=BigInt(0);return()=>{let n=BigInt(Date.now())*LC;return n>t&&(t=n),t}})(),o3=(function(){let e=BigInt(1e9),t;return()=>{let n=qC(),r=BigInt(Date.now())*LC;if(t===void 0)t=r-n;else{let o=t+n;(r>o?r-o:o-r)>e&&(t=r-n)}return t+n}})(),Br=e=>ue(t=>e(t.getRef(Gn))),Rc=e=>Br(t=>t.sleep(Dt(e))),Fm=Br(e=>e.currentTimeMillis);var lS="~effect/Cause/TimeoutError";var dm=class extends Bo("TimeoutError"){[lS]=lS;constructor(t){super({message:t})}},pS="~effect/Cause/IllegalArgumentError";var um=class extends Bo("IllegalArgumentError"){[pS]=pS;constructor(t){super({message:t})}},fS="~effect/Cause/ExceededCapacityError";var mS=class extends Bo("ExceededCapacityError"){[fS]=fS;constructor(t){super({message:t})}},hS="~effect/Cause/AsyncFiberError";var lm=class extends Bo("AsyncFiberError"){[hS]=hS;constructor(t){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:t})}},gS="~effect/Cause/UnknownError";var Eu=class extends Bo("UnknownError"){[gS]=gS;constructor(t,n){super({message:n,cause:t})}},s3=Ue("effect/Console",{defaultValue:()=>globalThis.console}),i3=e=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 5e4;case"Error":return 4e4;case"Warn":return 3e4;case"Info":return 2e4;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},a3=wx(Ho,i3),BC=zo(a3),lb=Ue("effect/Logger/CurrentLoggers",{defaultValue:()=>new Set([m3,h3])}),c3=Ue("effect/Logger/LogToStderr",{defaultValue:pf}),jC=function(){let e=typeof arguments[0]=="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return Bi(ue(t=>{let n=t.getRef(Vo),r={...n};for(let o=0;o<e.length;o++){let[s,i]=e[o];P(r,s,i)}return t.setContext(Wn(t.context,Vo,r)),Tc(Rs(t.context,qi),o=>{let s=t.getRef(Vo),i={...s};for(let c=0;c<e.length;c++){let[d,u]=e[c];s[d]!==u&&!Object.is(s[d],u)||(Object.hasOwn(n,d)?P(i,d,n[d]):delete i[d])}return t.setContext(Wn(t.context,Vo,i)),Ie})}))},d3="~effect/Logger",u3={[d3]:{_Message:Q,_Output:Q},pipe(){return ie(this,arguments)}},HC=e=>{let t=Object.create(u3);return t.log=e,t},l3=e=>e.replace(/[\s="]/g,"_"),p3=(e,t)=>`${l3(e[0])}=${t-e[1]}ms`;var jr=e=>(...t)=>{let n;for(let r=0,o=t.length;r<o;r++){let s=t[r];Ya(s)&&(n?t.splice(r,1):t=t.slice(0,r).concat(t.slice(r+1)),n=n?go(n.reasons.concat(s.reasons)):s,r--)}return n===void 0&&(n=mx),ue(r=>{let o=e??r.cache.logLevel;if(BC(r.cache.minimumLogLevel,o))return Ie;let s=r.getRef(Gn),i=r.getRef(lb);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let d of i)d.log({cause:n,fiber:r,date:c,logLevel:o,message:t})}return Ie})};var Fi={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},Uae={None:[],All:[],Trace:[Fi.gray],Debug:[Fi.blue],Info:[Fi.green],Warn:[Fi.yellow],Error:[Fi.red],Fatal:[Fi.bgBrightRed,Fi.black]};var f3=e=>`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;var m3=HC(({cause:e,date:t,fiber:n,logLevel:r,message:o})=>{let s=Array.isArray(o)?o.slice():[o];e.reasons.length>0&&s.push(mm(e));let i=t.getTime(),c=n.getRef(om),d="";for(let f of c)d+=` ${p3(f,i)}`;let u=n.getRef(Vo);Object.keys(u).length>0&&s.push(u);let l=n.getRef(s3);(n.getRef(c3)?l.error:l.log)(`[${f3(t)}] ${r.toUpperCase()} (#${n.id})${d}:`,...s)}),h3=HC(({cause:e,fiber:t,logLevel:n,message:r})=>{let o=t.getRef(Gn),s=t.getRef(Vo),i=t.cache.span;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[d,u]of Object.entries(s))P(c,d,u);c["effect.fiberId"]=t.id,c["effect.logLevel"]=n.toUpperCase(),e.reasons.length>0&&(c["effect.cause"]=mm(e)),i.event(BT(Array.isArray(r)&&r.length===1?r[0]:r),o.currentTimeNanosUnsafe(),c)});function g3(){sS.interruptChildren??=C6}var pb=z(void 0);var zC=h(e=>oe(e[0]),(e,t)=>eb(e,n=>ue(r=>(y3(r,n,t?.defectsOnly),Ie)))),y3=(e,t,n)=>{let r=e.getRef(dR);if(r.size===0||n&&!pm(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(Gn).currentTimeNanosUnsafe()};r.forEach(s=>s.report(o))};var WC=Ya,KC=zT,$m=Xa;var Lu=go;var Lm=hx;var fb=e=>new bi(e),mb=e=>new vi(e),GC=gR;var Ns=Ic;var VC=mm;var JC=Ef;var hb=ZT;var qm=um;var Yt={};Re(Yt,{Do:()=>E4,Transaction:()=>_c,TypeId:()=>p4,abortSignal:()=>EW,acquireDisposable:()=>cW,acquireRelease:()=>aW,acquireUseRelease:()=>dW,addFinalizer:()=>uW,all:()=>f4,andThen:()=>L4,annotateCurrentSpan:()=>FW,annotateLogs:()=>kK,annotateLogsScoped:()=>EK,annotateSpans:()=>NW,as:()=>j4,asSome:()=>H4,asVoid:()=>z4,awaitAllChildren:()=>tK,bind:()=>R4,bindTo:()=>T4,cached:()=>xW,cachedInvalidateWithTTL:()=>bW,cachedWithTTL:()=>SW,callback:()=>Jb,catch:()=>V4,catchCause:()=>Ls,catchCauseFilter:()=>sz,catchCauseIf:()=>oz,catchDefect:()=>ez,catchEager:()=>mh,catchFilter:()=>nz,catchIf:()=>tz,catchNoSuchElement:()=>rz,catchReason:()=>Q4,catchReasons:()=>Y4,catchTag:()=>J4,catchTags:()=>Z4,clockWith:()=>mM,context:()=>Vz,contextWith:()=>Jz,currentParentSpan:()=>LW,currentSpan:()=>$W,delay:()=>Ez,die:()=>zr,effectify:()=>FK,ensuring:()=>lW,eventually:()=>pz,exit:()=>ea,fail:()=>D,failCause:()=>D4,failCauseSync:()=>Uc,failSync:()=>C4,fiber:()=>nK,fiberId:()=>rK,filter:()=>Pz,filterMap:()=>Mz,filterMapEffect:()=>_z,filterMapOrElse:()=>Nz,filterMapOrFail:()=>$z,filterOrElse:()=>Uz,filterOrFail:()=>Fz,findFirst:()=>y4,findFirstFilter:()=>x4,firstSuccessOf:()=>vz,flatMap:()=>mn,flatMapEager:()=>Nt,flatten:()=>$4,flip:()=>W4,fn:()=>mK,fnUntraced:()=>fK,fnUntracedEager:()=>Xb,forEach:()=>S4,forever:()=>TW,forkChild:()=>QW,forkDetach:()=>eK,forkIn:()=>YW,forkScoped:()=>XW,fromNullishOr:()=>F4,fromOption:()=>U4,fromResult:()=>tl,gen:()=>O4,head:()=>b4,ignore:()=>gz,ignoreCause:()=>yz,interrupt:()=>lM,interruptible:()=>vW,interruptibleMask:()=>kW,isEffect:()=>Xi,isFailure:()=>Kz,isSuccess:()=>Gz,let:()=>A4,linkSpans:()=>jW,log:()=>gK,logDebug:()=>vK,logError:()=>SK,logFatal:()=>yK,logInfo:()=>bK,logTrace:()=>IK,logWarning:()=>xK,logWithLevel:()=>hK,makeSpan:()=>HW,makeSpanScoped:()=>zW,map:()=>nl,mapBoth:()=>az,mapBothEager:()=>Qt,mapEager:()=>ta,mapError:()=>iz,mapErrorEager:()=>Fc,match:()=>Zb,matchCause:()=>Bz,matchCauseEager:()=>jz,matchCauseEffect:()=>zz,matchCauseEffectEager:()=>Hz,matchEager:()=>qz,matchEffect:()=>Wz,never:()=>k4,onError:()=>pW,onErrorFilter:()=>mW,onErrorIf:()=>fW,onExit:()=>Qb,onExitFilter:()=>yW,onExitIf:()=>gW,onExitPrimitive:()=>hW,onInterrupt:()=>IW,option:()=>B4,orDie:()=>cz,orElseSucceed:()=>bz,partition:()=>m4,promise:()=>v4,provide:()=>Zz,provideContext:()=>Qz,provideService:()=>ph,provideServiceEffect:()=>fh,race:()=>Cz,raceAll:()=>Rz,raceAllFirst:()=>Oz,raceFirst:()=>Dz,reduce:()=>h4,repeat:()=>AW,repeatOrElse:()=>RW,replicate:()=>OW,replicateEffect:()=>CW,request:()=>JW,requestUnsafe:()=>ZW,result:()=>q4,retry:()=>fz,retryOrElse:()=>mz,runCallback:()=>iK,runCallbackWith:()=>sK,runFork:()=>Yb,runForkWith:()=>oK,runPromise:()=>aK,runPromiseExit:()=>rl,runPromiseExitWith:()=>dK,runPromiseWith:()=>cK,runSync:()=>uK,runSyncExit:()=>wo,runSyncExitWith:()=>pK,runSyncWith:()=>lK,sandbox:()=>hz,satisfiesErrorType:()=>LK,satisfiesServicesType:()=>qK,satisfiesSuccessType:()=>$K,schedule:()=>DW,scheduleFrom:()=>fM,scope:()=>oW,scoped:()=>sW,scopedWith:()=>iW,service:()=>Xz,serviceOption:()=>eW,setContext:()=>Yz,sleep:()=>Tz,spanAnnotations:()=>qW,spanLinks:()=>BW,succeed:()=>C,succeedNone:()=>Yu,succeedSome:()=>I4,suspend:()=>Xu,sync:()=>el,tap:()=>aM,tapCause:()=>dM,tapCauseFilter:()=>lz,tapCauseIf:()=>uz,tapDefect:()=>uM,tapError:()=>cM,tapErrorTag:()=>dz,timed:()=>Az,timeout:()=>Iz,timeoutOption:()=>wz,timeoutOrElse:()=>kz,tracer:()=>PW,track:()=>AK,trackDefects:()=>CK,trackDuration:()=>DK,trackErrors:()=>OK,trackSuccesses:()=>RK,transposeOption:()=>N4,try:()=>Nc,tryPromise:()=>Vb,tx:()=>PK,txRetry:()=>NK,undefined:()=>w4,uninterruptible:()=>wW,uninterruptibleMask:()=>pM,unwrapReason:()=>X4,updateContext:()=>tW,updateService:()=>nW,updateServiceScoped:()=>rW,useSpan:()=>WW,validate:()=>g4,void:()=>Mc,when:()=>Lz,whileLoop:()=>sM,withErrorReporting:()=>Sz,withExecutionPlan:()=>xz,withFiber:()=>iM,withFiberSucceed:()=>_4,withLogSpan:()=>TK,withLogger:()=>wK,withParentSpan:()=>VW,withSpan:()=>KW,withSpanScoped:()=>GW,withTracer:()=>MW,withTracerEnabled:()=>_W,withTracerTiming:()=>UW,yieldNow:()=>P4,yieldNowWith:()=>M4,zip:()=>K4,zipWith:()=>G4});var ZC=px,qu=kt,Wi=Kt,Oc=ks;var Cc=Lr;var Lt=Im,QC=GR;var x3="~effect/Deferred";var S3={[x3]:{_A:Q,_E:Q},pipe(){return ie(this,arguments)}},YC=function(){this.resumes=void 0,this.effect=void 0};YC.prototype=S3;var XC=()=>new YC;var eD=e=>An(t=>e.effect?t(e.effect):(e.resumes??=[],e.resumes.push(t),Je(()=>{let n=e.resumes;if(n===void 0)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)})));var tD=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){let n=e.resumes;e.resumes=void 0;for(let r=0;r<n.length;r++)n[r](t)}return!0};var rD=Vo;var oD=om;var sD=Om,iD=NO;var Bm=MO,gb=JS;var pD="~effect/Layer",cD="~effect/Layer/MemoMap",v3=(e,t)=>{let n={observers:0,deferred:XC(),scope:sD(),finalizer:r=>ge(()=>--n.observers>0?Ie:(e.map.delete(t),gb(n.scope,r)))};return n},dD=(e,t)=>t.state._tag==="Closed"?!1:(e.observers++,_u(t,{},e.finalizer),!0),fD=e=>O(e,pD),I3={[pD]:{_ROut:Q,_E:Q,_RIn:Q},pipe(){return ie(this,arguments)}},mD=e=>{let t=Object.create(I3);return t.build=e,t},w3=e=>mD((t,n)=>{let r=Bm(n);return Jn(e(t,r),o=>o._tag==="Failure"?gb(r,o):Ie)}),zm=e=>{let t=w3((n,r)=>n.getOrElseMemoize(t,r,e));return t},jm=class{get[cD](){return cD}parent;constructor(t){this.parent=t}map=new Map;get(t,n){let r=this.map.get(t);return r?(dD(r,n),r.deferred.effect??eD(r.deferred)):this.parent?.get(t,n)}getOrElseMemoize(t,n,r){return ge(()=>{let o;return Us(ge(()=>{let s=this.get(t,n);if(s)return s;let i=v3(this,t);return dD(i,n)?(o=i.deferred,this.map.set(t,i),r(this,i.scope)):r(this,n)}),s=>{o&&tD(o,s)})})}},yb=()=>new jm,k3=e=>new jm(e);var Bu=class e extends Ur()("effect/Layer/CurrentMemoMap"){static forkOrCreate(t){let n=Nf(t,e);return n?k3(n):yb()}},xb=h(3,(e,t,n)=>Zt(we(ge(()=>e.build(t,n)),Wn(Bu,t)),Bu,t));var hD=h(2,(e,t)=>ue(n=>xb(e,Bu.forkOrCreate(n.context),t))),Sb=function(){return arguments.length===1?e=>Hm(Wo(arguments[0],e)):Hm(Wo(arguments[0],arguments[1]))},Hm=e=>mD(un(z(e)));var gD=function(){return arguments.length===1?e=>uD(()=>Wo(arguments[0],e())):uD(()=>Wo(arguments[0],arguments[1]()))},uD=e=>zm(un(Je(e))),yD=function(){return arguments.length===1?e=>lD(arguments[0],e):lD(arguments[0],arguments[1])},lD=(e,t)=>E3(we(t,n=>Wo(e,n))),E3=e=>zm((t,n)=>iD(e,n));var xD=(e,t,n)=>{let r=Bm(n,"parallel");return Kn(e,o=>o.build(t,Bm(r,"sequential")),{concurrency:e.length}).pipe(we(o=>TA(...o)))},SD=(...e)=>zm((t,n)=>xD(e,t,n));var T3=(e,t,n)=>zm((r,o)=>ne(Array.isArray(t)?xD(t,r,o):t.build(r,o),s=>e.build(r,o).pipe(Vn(s),we(i=>n(i,s))))),bD=h(2,(e,t)=>T3(e,t,Q));var bb=Fm;var Km="~effect/DateTime",Gm="~effect/DateTime/TimeZone",wD={[Km]:Km,pipe(){return ie(this,arguments)},[je](){return this.toString()},toJSON(){return $s(this).toJSON()}},A3={...wD,_tag:"Utc",[Y](){return Ot(this.epochMilliseconds)},[X](e){return Ji(e)&&e._tag==="Utc"&&this.epochMilliseconds===e.epochMilliseconds},toString(){return`DateTime.Utc(${$s(this).toJSON()})`}},R3={...wD,_tag:"Zoned",[Y](){return ce(Ot(this.epochMilliseconds))(H(this.zone))},[X](e){return Ji(e)&&e._tag==="Zoned"&&this.epochMilliseconds===e.epochMilliseconds&&V(this.zone,e.zone)},toString(){return`DateTime.Zoned(${Pb(this)})`}},kD={[Gm]:Gm,[je](){return this.toString()}},O3={...kD,_tag:"Named",[Y](){return De(`Named:${this.id}`)},[X](e){return Zi(e)&&e._tag==="Named"&&this.id===e.id},toString(){return`TimeZone.Named(${this.id})`},toJSON(){return{_id:"TimeZone",_tag:"Named",id:this.id}}},C3={...kD,_tag:"Offset",[Y](){return De(`Offset:${this.offset}`)},[X](e){return Zi(e)&&e._tag==="Offset"&&this.offset===e.offset},toString(){return`TimeZone.Offset(${oh(this.offset)})`},toJSON(){return{_id:"TimeZone",_tag:"Offset",offset:this.offset}}},fr=(e,t,n)=>{let r=Object.create(R3);return r.epochMilliseconds=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},Ji=e=>O(e,Km),Hr=e=>Ji(e[0]),Zi=e=>O(e,Gm),ED=e=>Zi(e)&&e._tag==="Offset",TD=e=>Zi(e)&&e._tag==="Named",AD=e=>e._tag==="Utc",vb=e=>e._tag==="Zoned",RD=ht((e,t)=>e.epochMilliseconds===t.epochMilliseconds),Io=Mr((e,t)=>e.epochMilliseconds<t.epochMilliseconds?-1:e.epochMilliseconds>t.epochMilliseconds?1:0),OD=kx(Io),Fs=e=>{let t=Object.create(A3);return t.epochMilliseconds=e,Object.defineProperty(t,"partsUtc",{value:void 0,enumerable:!1,writable:!0}),t},Gi=e=>{let t=e.getTime();if(Number.isNaN(t))throw new qm("Invalid date");return Fs(t)},Qm=e=>{if(Ji(e))return e;if(e instanceof Date)return Gi(e);if(typeof e=="object"){if("epochMilliseconds"in e)return Gi(new Date(e.epochMilliseconds));let t=new Date(0);return Ab(t,e),Gi(t)}else if(typeof e=="string"&&!D3(e))return Gi(new Date(e+"Z"));return Gi(new Date(e))},D3=e=>/Z|GMT|[+-]\d{2}$|[+-]\d{2}:?\d{2}$|\]$/.test(e)||/z$|gmt$/i.test(e),P3=-864e13+720*60*1e3,M3=864e13-840*60*1e3,Ib=(e,t)=>{let n=t?.timeZone;if(n===void 0&&Ji(e)&&vb(e))return e;let r=Qm(e);if(r.epochMilliseconds<P3||r.epochMilliseconds>M3)throw new RangeError(`Epoch millis out of range: ${r.epochMilliseconds}`);n===void 0&&typeof e=="object"&&"timeZoneId"in e&&(n=e.timeZoneId);let o;if(n===void 0){let s=new Date(r.epochMilliseconds).getTimezoneOffset()*-60*1e3;o=Vi(s)}else if(Zi(n))o=n;else if(typeof n=="number")o=Vi(n);else{let s=kb(n);if(ae(s))throw new qm(`Invalid time zone: ${n}`);o=s.value}return t?.adjustForTimeZone!==!0?fr(r.epochMilliseconds,o,r.partsUtc):Rb(r.epochMilliseconds,o,t?.disambiguation??"compatible")},Vm=_r(Ib),CD=_r(Qm),_3=/^(.{17,35})\[(.+)\]$/,DD=e=>{let t=_3.exec(e);if(t===null){let o=Ob(e);return o!==null?Vm(e,{timeZone:o}):N()}let[,n,r]=t;return Vm(n,{timeZone:r})},Ym=we(bb,Fs),PD=we(bb,e=>new Date(e)),Xm=()=>Fs(Date.now()),MD=e=>Fs(e.epochMilliseconds),Hu=h(Hr,(e,t,n)=>n?.adjustForTimeZone===!0?Rb(e.epochMilliseconds,t,n?.disambiguation??"compatible"):fr(e.epochMilliseconds,t,e.partsUtc)),_D=h(Hr,(e,t,n)=>Hu(e,Vi(t),n)),Jm=new Map,UD={day:"numeric",month:"numeric",year:"numeric",era:"short",hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"longOffset",fractionalSecondDigits:3,hourCycle:"h23"},ND=e=>{let t=e.resolvedOptions().timeZone,n=Jm.get(t);if(n!==void 0)return n;let r=Object.create(O3);return r.id=t,r.format=e,Jm.set(t,r),r},zu=e=>{let t=Jm.get(e);if(t!==void 0)return t;try{let n=ND(new Intl.DateTimeFormat("en-US",{...UD,timeZone:e}));return Jm.set(e,n),n}catch{throw new qm(`Invalid time zone: ${e}`)}},Vi=e=>{let t=Object.create(C3);return t.offset=e,t},eh=_r(zu),wb=e=>ym({try:()=>zu(e),catch:t=>t}),FD=()=>ND(new Intl.DateTimeFormat("en-US",UD)),U3=/^(?:GMT)?[+-]/,kb=e=>{if(U3.test(e)){let t=Ob(e);return t===null?N():$(Vi(t))}return eh(e)},$D=e=>e._tag==="Offset"?oh(e.offset):e.id,LD=h(Hr,(e,t,n)=>Gt(eh(t),r=>Hu(e,r,n))),qD=h(Hr,(e,t,n)=>Hu(e,zu(t),n)),BD=h(2,(e,t)=>So(Dc(t)-Dc(e))),jD=Df(Io),HD=Pf(Io),th=zo(Io),zD=dc(Io),nh=Ei(Io),WD=cc(Io),KD=Ex(Io),GD=e=>we(Ym,nh(e)),VD=e=>nh(Xm(),e),JD=e=>we(Ym,th(e)),ZD=e=>th(Xm(),e),$s=e=>new Date(e.epochMilliseconds),es=e=>{if(e._tag==="Utc")return new Date(e.epochMilliseconds);if(e.zone._tag==="Offset")return new Date(e.epochMilliseconds+e.zone.offset);if(e.adjustedEpochMilliseconds!==void 0)return new Date(e.adjustedEpochMilliseconds);let t=!1,n=e.zone.format.formatToParts(e.epochMilliseconds).filter(s=>s.type==="era"?(t=s.value==="BC",!1):s.type!=="literal"),r=Number(n[2].value),o=new Date(0);return o.setUTCFullYear(t?1-r:r,Number(n[0].value)-1,Number(n[1].value)),o.setUTCHours(Number(n[3].value),Number(n[4].value),Number(n[5].value),n[6]?.type==="fractionalSecond"?Number(n[6].value):(e.epochMilliseconds%1e3+1e3)%1e3),e.adjustedEpochMilliseconds=o.getTime(),o},rh=e=>es(e).getTime()-Dc(e),oh=e=>{let t=Math.abs(e),n=Math.floor(t/(3600*1e3)),r=Math.round(t%(3600*1e3)/(60*1e3));return r===60&&(n+=1,r=0),`${e<0?"-":"+"}${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`},Eb=e=>oh(rh(e)),Dc=e=>e.epochMilliseconds,QD=e=>Math.floor(e.epochMilliseconds/1e3),YD=e=>Fs(e*1e3),XD=e=>ah(e,t=>(t.setUTCHours(0,0,0,0),Fs(t.getTime()))),eP=e=>({millisecond:e.getUTCMilliseconds(),second:e.getUTCSeconds(),minute:e.getUTCMinutes(),hour:e.getUTCHours(),day:e.getUTCDate(),weekDay:e.getUTCDay(),month:e.getUTCMonth()+1,year:e.getUTCFullYear()}),Tb=e=>e._tag==="Utc"?sh(e):(e.partsAdjusted!==void 0||(e.partsAdjusted=ah(e,eP)),e.partsAdjusted),sh=e=>(e.partsUtc!==void 0||(e.partsUtc=Cb(e,eP)),e.partsUtc),tP=h(2,(e,t)=>sh(e)[t]),nP=h(2,(e,t)=>Tb(e)[t]),Ab=(e,t)=>{if((t.year!==void 0||t.month!==void 0||t.day!==void 0)&&e.setUTCFullYear(t.year??e.getUTCFullYear(),t.month!==void 0?t.month-1:e.getUTCMonth(),t.day??e.getUTCDate()),t.weekDay!==void 0){let n=t.weekDay-e.getUTCDay();e.setUTCDate(e.getUTCDate()+n)}t.hour!==void 0&&e.setUTCHours(t.hour),t.minute!==void 0&&e.setUTCMinutes(t.minute),t.second!==void 0&&e.setUTCSeconds(t.second),t.millisecond!==void 0&&e.setUTCMilliseconds(t.millisecond)},rP=h(2,(e,t)=>Qi(e,n=>Ab(n,t))),oP=h(2,(e,t)=>ih(e,n=>Ab(n,t))),ID=1440*60*1e3,Rb=(e,t,n)=>{if(t._tag==="Offset")return fr(e-t.offset,t);let r=ju(e-ID,e,t),o=ju(e+ID,e,t);if(r===o)return fr(e-r,t);let s=r<o,i=r-o;if(s){if(ju(e-o,e,t)===o)return fr(e-o,t);let u=fr(e-r,t),l=es(u).getTime();if(e!==l)switch(n){case"reject":{let p=new Date(e).toISOString();throw new RangeError(`Gap time: ${p} does not exist in time zone ${t.id}`)}case"earlier":return fr(e-o,t);case"compatible":case"later":return u}return u}if(ju(e-r,e,t)===r){if(n==="earlier"||n==="compatible"||ju(e-r+i,e+i,t)===r)return fr(e-r,t);if(n==="reject"){let u=new Date(e).toISOString();throw new RangeError(`Ambiguous time: ${u} occurs twice in time zone ${t.id}`)}}return fr(e-o,t)},N3=/([+-])(\d{2}):?(\d{2})$/,Ob=e=>{let t=N3.exec(e);if(t===null)return null;let[,n,r,o]=t;return(n==="+"?1:-1)*(Number(r)*60+Number(o))*60*1e3},ju=(e,t,n)=>{let r=n.format.formatToParts(e).find(s=>s.type==="timeZoneName")?.value??"";if(r==="GMT")return 0;let o=Ob(r);return o===null?rh(fr(t,n)):o},Qi=h(Hr,(e,t,n)=>{if(e._tag==="Utc"){let s=$s(e);return t(s),Fs(s.getTime())}let r=es(e),o=new Date(r.getTime());return t(o),Rb(o.getTime(),e.zone,n?.disambiguation??"compatible")}),ih=h(2,(e,t)=>Wu(e,n=>{let r=new Date(n);return t(r),r.getTime()})),Wu=h(2,(e,t)=>{let n=t(Dc(e));return e._tag==="Utc"?Fs(n):fr(n,e.zone)}),ah=h(2,(e,t)=>t(es(e))),Cb=h(2,(e,t)=>t($s(e))),sP=h(2,(e,t)=>e._tag==="Utc"?t.onUtc(e):t.onZoned(e)),iP=h(2,(e,t)=>Wu(e,n=>n+dr(Dt(t)))),aP=h(2,(e,t)=>Wu(e,n=>n-dr(Dt(t)))),Db=h(2,(e,t)=>{let n=ih(e,r=>{t.milliseconds&&r.setTime(r.getTime()+t.milliseconds),t.seconds&&r.setTime(r.getTime()+t.seconds*1e3),t.minutes&&r.setTime(r.getTime()+t.minutes*60*1e3),t.hours&&r.setTime(r.getTime()+t.hours*60*60*1e3)});return!t.days&&!t.weeks&&!t.months&&!t.years?n:Qi(n,r=>{if(t.days&&r.setUTCDate(r.getUTCDate()+t.days),t.weeks&&r.setUTCDate(r.getUTCDate()+t.weeks*7),t.months){let o=r.getUTCDate();r.setUTCMonth(r.getUTCMonth()+t.months+1,0),o<r.getUTCDate()&&r.setUTCDate(o)}if(t.years){let o=r.getUTCDate(),s=r.getUTCMonth();r.setUTCFullYear(r.getUTCFullYear()+t.years,s+1,0),o<r.getUTCDate()&&r.setUTCDate(o)}})}),cP=h(2,(e,t)=>{let n={};for(let r in t)n[r]=-1*t[r];return Db(e,n)}),dP=(e,t,n)=>{switch(t){case"second":{e.setUTCMilliseconds(0);break}case"minute":{e.setUTCSeconds(0,0);break}case"hour":{e.setUTCMinutes(0,0,0);break}case"day":{e.setUTCHours(0,0,0,0);break}case"week":{let r=n?.weekStartsOn??0,s=(e.getUTCDay()-r+7)%7;e.setUTCDate(e.getUTCDate()-s),e.setUTCHours(0,0,0,0);break}case"month":{e.setUTCDate(1),e.setUTCHours(0,0,0,0);break}case"year":{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);break}}},uP=h(Hr,(e,t,n)=>Qi(e,r=>dP(r,t,n))),lP=(e,t,n)=>{switch(t){case"second":{e.setUTCMilliseconds(999);break}case"minute":{e.setUTCSeconds(59,999);break}case"hour":{e.setUTCMinutes(59,59,999);break}case"day":{e.setUTCHours(23,59,59,999);break}case"week":{let r=n?.weekStartsOn??0,s=(e.getUTCDay()-r+7)%7;e.setUTCDate(e.getUTCDate()-s+6),e.setUTCHours(23,59,59,999);break}case"month":{e.setUTCMonth(e.getUTCMonth()+1,0),e.setUTCHours(23,59,59,999);break}case"year":{e.setUTCMonth(11,31),e.setUTCHours(23,59,59,999);break}}},pP=h(Hr,(e,t,n)=>Qi(e,r=>lP(r,t,n))),fP=h(Hr,(e,t,n)=>Qi(e,r=>{if(t==="millisecond")return;let o=r.getTime(),s=new Date(o);dP(s,t,n);let i=s.getTime(),c=new Date(o);lP(c,t,n);let d=c.getTime()+1,u=o-i,l=d-o;u<l?r.setTime(i):r.setTime(d)})),F3=e=>e._tag==="Named"?e.id:oh(e.offset),mP=h(Hr,(e,t)=>{try{return new Intl.DateTimeFormat(t?.locale,{timeZone:e._tag==="Utc"?"UTC":F3(e.zone),...t}).format(e.epochMilliseconds)}catch{return new Intl.DateTimeFormat(t?.locale,{timeZone:"UTC",...t}).format(es(e))}}),hP=h(Hr,(e,t)=>new Intl.DateTimeFormat(t?.locale,t).format(e.epochMilliseconds)),gP=h(Hr,(e,t)=>new Intl.DateTimeFormat(t?.locale,{...t,timeZone:"UTC"}).format(e.epochMilliseconds)),yP=h(2,(e,t)=>t.format(e.epochMilliseconds)),xP=e=>$s(e).toISOString(),SP=e=>es(e).toISOString().split("T")[0],bP=e=>$s(e).toISOString().split("T")[0],Zm=e=>{let t=es(e);return e._tag==="Utc"?t.toISOString():`${t.toISOString().slice(0,-1)}${Eb(e)}`},Pb=e=>e.zone._tag==="Offset"?Zm(e):`${Zm(e)}[${e.zone.id}]`;var wce=globalThis.Number;var IP=h(2,(e,t)=>{if(!globalThis.Number.isFinite(e)||!globalThis.Number.isFinite(t)||t===0)return NaN;if(globalThis.Number.isInteger(e)&&globalThis.Number.isInteger(t))return e%t;let[n,r]=vP(e),[o,s]=vP(t),i=Math.min(r,s),c=n*BigInt(10)**BigInt(r-i),d=o*BigInt(10)**BigInt(s-i),u=c%d;if(u===BigInt(0))return e<0||Object.is(e,-0)?-0:0;let l=globalThis.Number(`${u}e${i}`);return l===0?Math.sign(e)*globalThis.Number.MIN_VALUE:l});function vP(e){if(globalThis.Number.isInteger(e))return[BigInt(e),0];let t=Math.abs(e).toExponential(),n=t.indexOf("e"),r=t.slice(0,n).replace(".","");return[BigInt(r)*(e<0?-BigInt(1):BigInt(1)),globalThis.Number(t.slice(n+1))-r.length+1]}var kce=globalThis.String;var Mb=e=>e.toUpperCase(),_b=e=>e.toLowerCase(),wP=e=>{let[t=""]=e;return Mb(t)+e.slice(t.length)},kP=e=>{let[t=""]=e;return _b(t)+e.slice(t.length)};var EP=e=>e.trim();var TP=e=>{if(e.length===0||e.length%2===0&&e[0]==="_"&&/^_+$/.test(e))return"";let t=e[0];for(let n=1;n<e.length;n++)t+=e[n]==="_"?e.charAt(++n).toUpperCase():e[n];return t};var AP=e=>e.replace(/([A-Z])/g,"_$1").toLowerCase();var Ub=h(2,(e,t)=>Qo(e,q3,n=>t(n)));var OP=e=>e._tag==="Fail"&&JC(e.error),CP=e=>{let t,n=!1;for(let r of e.reasons)OP(r)?t??=r.error:r._tag!=="Interrupt"&&(n=!0);return t===void 0?J(e):n?J(Lu(e.reasons.filter(r=>!OP(r)))):L(t)};var q3=e=>{let t=CP(e);return pe(t)?t:L(t.success.value)};var Ku=h(2,(e,t)=>vo(e,{onSuccess:t.onSuccess,onFailure:n=>{let r=CP(n);return pe(r)?t.onFailure(r.failure):t.onDone(r.success.value)}}));var DP="~effect/Schedule";var Yi=Ue("effect/Schedule/CurrentMetadata",{defaultValue:un({input:void 0,output:void 0,duration:Di,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),B3={[DP]:{_Out:Q,_In:Q,_Env:Q},pipe(){return ie(this,arguments)}},Fb=e=>O(e,DP),Gu=e=>{let t=Object.create(B3);return t.step=e,t},$b=()=>{let e=0,t,n;return(r,o)=>{n===void 0&&(n=r);let s=r-n,i=t===void 0?0:r-t;return t=r,{input:o,attempt:++e,start:n,now:r,elapsed:s,elapsedSincePrevious:i}}},j3=e=>Gu(we(e,t=>{let n=$b();return(r,o)=>t(n(r,o))})),Vu=e=>Rn(e.step,t=>z(()=>Ne(t))),ch=e=>Br(t=>we(Vu(e),n=>{let r=$b();return o=>ge(()=>{let s=t.currentTimeMillisUnsafe();return ne(n(s,o),([i,c])=>{let d=r(s,o);return d.output=i,d.duration=c,pr(Rc(c),d)})})}));var Lb=e=>Gu(we(Vu(e),t=>(n,r)=>Ku(t(n,r),{onSuccess:o=>z([r,o[1]]),onFailure:Ne,onDone:()=>hb(r)}))),PP=e=>Ju(qb,({attempt:t})=>z(t<=e)),H3=e=>{let t=Dt(e);return j3(z(n=>z([n.attempt-1,t])))};var Ju=h(2,(e,t)=>Gu(we(Vu(e),n=>{let r=$b();return(o,s)=>ne(n(o,s),i=>{let[c,d]=i,u=t({...r(o,s),output:c,duration:d});return ne(oe(u)?u:z(u),l=>l?z(i):hb(c))})})));var qb=H3(Di);var MP="~effect/ExecutionPlan";var z3={[MP]:MP,get captureRequirements(){let e=this;return Ms(t=>z(W3(e.steps.map(n=>({...n,while:n.while?r=>Vn(n.while(r),t):void 0,schedule:n.schedule?Gu(Vn(we(Vu(n.schedule),r=>(o,s)=>Vn(r(o,s),t)),t)):void 0,provide:fD(n.provide)?bD(n.provide,Hm(t)):n.provide})))))},pipe(){return ie(this,arguments)}},W3=e=>{let t=Object.create(z3);return t.steps=e,t};var _P=Ue("effect/ExecutionPlan/CurrentMetadata",{defaultValue:un({attempt:0,stepIndex:0})});var K3=(e,t,n)=>Cm(r=>ne(n?.local?xb(t,yb(),r):hD(t,r),o=>Vn(e,o))),uh=h(e=>oe(e[0]),(e,t,n)=>Mx(t)?Vn(e,t):K3(e,Array.isArray(t)?SD(...t):t,n));var Bb=h(3,(e,t,n)=>ne(ch(t),r=>{let o=Yi.defaultValue(),s=i=>Ku(r(i),{onSuccess(c){return o=c,ne(Zt(e,Yi,o),s)},onFailure:Ne,onDone:z});return Qo(ne(Zt(e,Yi,o),s),qr,i=>n(i,o.attempt===0?N():$(o)))})),jb=h(3,(e,t,n)=>ne(ch(t),r=>{let o=Yi.defaultValue(),s,i=Qo(ge(()=>Zt(e,Yi,o)),qr,c=>(s=c,ne(r(c),d=>(o=d,i))));return Ub(i,c=>ws(()=>n(s,c)))})),FP=h(2,(e,t)=>{let n=typeof t=="function"?t(Q):Fb(t)?t:Qu(t);return Bb(e,n,at)}),Zu=h(2,(e,t)=>{let n=typeof t=="function"?t(Q):Fb(t)?t:Qu(t);return jb(e,n,at)}),$P=h(3,(e,t,n)=>ne(ch(n),r=>{let o=s=>Ku(r(s),{onSuccess:i=>ne(Zt(e,Yi,i),o),onFailure:Ne,onDone:z});return o(t)})),G3=Lb(qb),Qu=e=>{let t=e.schedule?Lb(e.schedule):G3;return e.while&&(t=Ju(t,({input:n})=>{let r=e.while(n);return oe(r)?r:z(r)})),e.until&&(t=Ju(t,({input:n})=>{let r=e.until(n);return oe(r)?we(r,o=>!o):z(!r)})),e.times!==void 0&&(t=Ju(t,({attempt:n})=>z(n<=e.times))),t};var V3=(e,t)=>{let n=-1,r=0,o=s=>Tm(e(s));return{begin:Br(s=>ge(()=>{let i=t();i.stepIndex!==n&&(n=i.stepIndex,r=0),r++;let c={attempt:i.attempt,stepAttempt:r,stepIndex:i.stepIndex,startNanos:s.monotonicTimeNanosUnsafe()};return pr(o({_tag:"AttemptStart",attempt:c.attempt,stepAttempt:c.stepAttempt,stepIndex:c.stepIndex}),c)})),end:(s,i)=>Br(c=>{let d=Tn(c.monotonicTimeNanosUnsafe()-s.startNanos);return o(i._tag==="Success"?{_tag:"AttemptSuccess",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:d}:{_tag:"AttemptFailure",attempt:s.attempt,stepAttempt:s.stepAttempt,stepIndex:s.stepIndex,duration:d,cause:i.cause})})}},BP=h(e=>oe(e[0]),(e,t,n)=>ge(()=>{let r=0,o={attempt:0,stepIndex:0},s=wm(_P,Je(()=>(o={attempt:o.attempt+1,stepIndex:r},o))),i=n?.onEvent===void 0?void 0:V3(n.onEvent,()=>o),c=i===void 0?Q:u=>ji(l=>ne(i.begin,p=>Jn(l(u),f=>i.end(p,f)))),d;return ne(Hi({while:()=>r<t.steps.length&&(d===void 0||pe(d)),body(){let u=t.steps[r],l=s(c(uh(e,u.provide)));if(d){let p=!1,f=l;l=ge(()=>p?f:(p=!0,wc(d))),l=Zu(l,qP(u,!1))}else{let p=qP(u,!0);l=p?Zu(l,p):l}return Ds(l)},step(u){d=u,r++}}),()=>wc(d))})),qP=(e,t)=>{if(t){if(e.attempts===1||!(e.schedule||e.attempts))return}else return Qu({schedule:e.schedule?e.schedule:e.attempts?void 0:J3,times:e.attempts,while:e.while});return Qu({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},J3=PP(1);var jP="~effect/MutableHashMap";var Q3={[jP]:jP,[Symbol.iterator](){return this.backing[Symbol.iterator]()},toString(){return`MutableHashMap(${U(Array.from(this))})`},toJSON(){return{_id:"MutableHashMap",values:zt(Array.from(this))}},[je](){return this.toJSON()},pipe(){return ie(this,arguments)}},HP=()=>{let e=Object.create(Q3);return e.backing=new Map,e.buckets=new Map,e};var Hb=h(2,(e,t)=>{if(e.backing.has(t))return $(e.backing.get(t));if(zb(t))return N();let n=H(t),r=e.buckets.get(n);return r===void 0?N():Y3(e,r,t)}),zb=e=>typeof e!="object"&&typeof e!="function";var Y3=(e,t,n)=>{for(let r=0,o=t.length;r<o;r++)if(V(n,t[r])){let s=t[r];return $(e.backing.get(s))}return N()},zP=h(2,(e,t)=>st(Hb(e,t))),WP=h(3,(e,t,n)=>{if(e.backing.has(t)||zb(t))return e.backing.set(t,n),e;let r=H(t),o=e.buckets.get(r);if(o===void 0)return e.buckets.set(r,[t]),e.backing.set(t,n),e;let s=X3(o,t);return s===void 0&&(o.push(t),s=t),e.backing.set(s,n),e}),X3=(e,t)=>{for(let n=0,r=e.length;n<r;n++)if(V(t,e[n]))return e[n]};var KP=h(2,(e,t)=>{if(zb(t))return e.backing.delete(t),e;let n=H(t),r=e.buckets.get(n);if(r===void 0)return e;for(let o=0,s=r.length;o<s;o++){let i=r[o];if(i===t||V(t,i)){e.backing.delete(i),r.splice(o,1);break}}return r.length===0&&e.buckets.delete(n),e});var e4="~effect/Request",t4=FT({_E:e=>e,_A:e=>e,_R:e=>e}),Kce={...HT,[e4]:t4};var VP=e=>e;var ZP=h(2,(e,t)=>{let n=r=>An(o=>{let s=YP(r,e,o,hm());return s4(r,s)});return oe(t)?ne(t,n):n(t)}),QP=(e,t)=>{let n=YP(t.resolver,e,t.onExit,{context:t.context,cache:{scheduler:et(t.context,xc)}});return()=>XP(t.resolver,n)},r4=new WeakSet,o4=e=>{if(!r4.has(e.batchKey))return new Map;let t=HP();return{get:n=>xo(Hb(t,n)),has:n=>zP(t,n),set:(n,r)=>WP(t,n,r),delete:n=>KP(t,n)}},lh=[],Wb=new WeakMap,YP=(e,t,n,r)=>{let o=Wb.get(e);o||(o=o4(e),Wb.set(e,o));let s,i=!1,c=VP({request:t,context:r.context,uninterruptible:!1,completeUnsafe(l){i||(i=!0,!(s&&!s.entrySet.delete(c))&&n(l))}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let d=e.batchKey(c);s=o.get(d);let u=s===void 0;if(!s){if(lh.length>0)s=lh.pop(),s.key=d,s.context=r.context,s.resolver=e,s.map=o;else{let l={key:d,context:r.context,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:ne(ue(p=>(l.fiber=p,l.resolver.delay)),p=>JP(l)),run:Jn(ge(()=>l.resolver.runAll(Array.from(l.entries),l.key)),p=>{for(let f of l.entrySet)f.completeUnsafe(p._tag==="Success"?Hn(new Error("Effect.request: RequestResolver did not complete request",{cause:f.request})):p);return l.entries.clear(),lh.length<128&&(l.entrySet.clear(),l.key=void 0,l.context=void 0,l.fiber=void 0,l.resolver=void 0,l.map=void 0,lh.push(l)),Ie})};s=l}o.set(d,s)}if(s.entrySet.add(c),s.entries.add(c),u){let l=Yo(r.context)(s.delayEffect,{scheduler:r.cache.scheduler});if(i||o.get(d)!==s)return c;s.fiber=l}return s.resolver.collectWhile(s.entries)||(s.fiber.interruptUnsafe(r.id),Yo(s.context)(JP(s),{scheduler:et(s.context,xc)})),c},XP=(e,t)=>{if(t.uninterruptible)return;let n=Wb.get(e);if(!n)return;let r=e.batchKey(t),o=n.get(r);if(!o||!o.entries.delete(t))return;o.entrySet.delete(t);let s;o.entries.size===0&&(n.delete(r),s=o.fiber),t.completeUnsafe(US()),s?.interruptUnsafe()},s4=(e,t)=>Je(()=>XP(e,t));function JP(e){return e.map.has(e.key)?(e.map.delete(e.key),e.run):Ie}var a4="effect/Metric/CurrentMetricAttributes",c4=Ue(a4,{defaultValue:()=>({})}),d4="effect/Metric/MetricRegistry",Kb=Ue(d4,{defaultValue:()=>new Map}),eM="~effect/Metric",tM=class{[eM]=eM;#e;#t;#n="";id;description;attributes;constructor(t,n,r){this.id=t,this.description=n,this.attributes=r}valueUnsafe(t){return this.hook(t).get(t)}modifyUnsafe(t,n){return this.hook(n).modify(t,n)}updateUnsafe(t,n){return this.hook(n).update(t,n)}hook(t){let n=this.key(t),r=et(t,Kb),o=r.get(n);return ET(o)&&(o=this.metadata(this.createHooks()),r.set(n,o)),o.hooks}removeUnsafe(t){et(t,Kb).delete(this.key(t))}registerUnsafe(t,n){let r=this.key(t),o=et(t,Kb),s=this.metadata({get:n.get,update:fi,modify:fi});return o.set(r,s),{remove(){o.get(r)===s&&o.delete(r)}}}key(t){let n=et(t,c4);if(n!==this.#e){this.#e=n;let r=l4(this.attributes,n);this.#t=Object.keys(n).length>0?r:this.attributes,this.#n=u4(this,r)}return this.#n}metadata(t){return{id:this.id,type:this.type,description:this.description,attributes:this.#t,hooks:t}}pipe(){return ie(this,arguments)}};var Pc=h(2,(e,t)=>Ms(n=>Je(()=>e.updateUnsafe(t,n))));function u4(e,t){let n=Object.entries(t).sort((r,o)=>r[0]<o[0]?-1:r[0]>o[0]?1:0);return JSON.stringify([e.type,e.id,e.description,n])}function l4(e,t){return{...nM(e),...nM(t)}}function nM(e){return bs(e)&&Array.isArray(e)?e.reduce((t,[n,r])=>(P(t,n,r),t),{}):e}var p4=ho,Xi=oe,f4=Fu,m4=rb,h4=QO,g4=YO,y4=XO,x4=tC,S4=Kn,b4=rC,sM=Hi,v4=AS,Vb=OR,C=z,Yu=Au,I4=ES,Xu=ge,el=Je,Mc=Ie;var w4=pb;var Jb=An,k4=xm,E4=dC,T4=uC,A4=pC;var R4=lC,O4=PR,D=at,C4=TS,D4=Ne,Uc=RR,zr=Ps,Nc=ym;var P4=kc,M4=kS,iM=ue,_4=GT,tl=wc,U4=wS,N4=AR,F4=TR,mn=ne,$4=jR,L4=Li,aM=Ru,q4=Ds,B4=wO,ea=Mu,nl=we,j4=pr,H4=vm,z4=Ou,W4=FR,K4=oO,G4=FS,V4=_s;var J4=BS,Z4=gO,Q4=yO,Y4=xO,X4=SO,Ls=Rn,ez=lO,tz=Cu,nz=Em,rz=uO,oz=LS,sz=Qo,iz=jS,az=HS,cz=zS,cM=qS,dz=mO,dM=pO,uz=fO,lz=km,uM=hO,pz=WS,fz=Zu,mz=jb,hz=$R,gz=IO,yz=Tm,xz=BP,Sz=zC,bz=bO,vz=vO,Iz=CO,wz=VS,kz=GS,Ez=OO,Tz=Rc,Az=DO,Rz=PS,Oz=MS,Cz=LR,Dz=_S,Pz=iC,Mz=aC,_z=cC,Uz=ob,Nz=sb,Fz=sO,$z=sC,Lz=iO,Zb=Am,qz=Pu,Bz=KS,jz=TO,Hz=qR,zz=vo,Wz=Du,Kz=AO,Gz=RO,Vz=NS,Jz=Ms,Zz=uh,Qz=Vn,Yz=rO,Xz=eO,eW=tO,tW=Ec,nW=Zo,rW=nO,ph=Zt,fh=wm,oW=Uu,sW=ZS,iW=Cm,aW=Dm,cW=jO,dW=BO,uW=QS,lW=$O,pW=eb,fW=LO,mW=tb,hW=Us,Qb=Jn,gW=YS,yW=XS,xW=WO,SW=zO,bW=nb,lM=KO,vW=Pm,IW=qO,wW=Bi,pM=ji,kW=JO,EW=ZO,TW=cO,AW=FP,RW=Bb,OW=$S,CW=aO,DW=h(2,(e,t)=>fM(e,void 0,t)),fM=$P,PW=wC,MW=kC,_W=EC,UW=TC,NW=UC,FW=NC,$W=FC,LW=$C,qW=CC,BW=DC,jW=PC,HW=RC,zW=wu,WW=ku,KW=_C,GW=OC,VW=vc,JW=ZP,ZW=QP,QW=fC,YW=ib,XW=gC,eK=mC,tK=hC,nK=CR,rK=DR,Yb=yC,oK=Yo,sK=ab,iK=xC,aK=bC,cK=cb,rl=SC,dK=Um,uK=IC,lK=db,wo=vC,pK=Nm,fK=OS,mK=MR,mM=Br,hK=jr,gK=jr(),yK=jr("Fatal"),xK=jr("Warn"),SK=jr("Error"),bK=jr("Info"),vK=jr("Debug"),IK=jr("Trace"),wK=h(2,(e,t)=>Zo(e,lb,n=>new Set([...n,t]))),kK=h(e=>Xi(e[0]),(e,...t)=>Zo(e,rD,n=>{let r=t.length===1?{...n,...t[0]}:{...n};return t.length===1||P(r,t[0],t[1]),r})),EK=jC,TK=h(2,(e,t)=>ne(Fm,n=>Zo(e,oD,r=>[[t,n],...r]))),AK=h(e=>Xi(e[0]),(e,t,n)=>Qb(e,r=>{let o=n===void 0?r:n(r);return Pc(t,o)})),RK=h(e=>Xi(e[0]),(e,t,n)=>aM(e,r=>{let o=n===void 0?r:n(r);return Pc(t,o)})),OK=h(e=>Xi(e[0]),(e,t,n)=>cM(e,r=>{let o=n===void 0?r:n(r);return Pc(t,o)})),CK=h(e=>Xi(e[0]),(e,t,n)=>uM(e,r=>{let o=n===void 0?r:n(r);return Pc(t,o)})),DK=h(e=>Xi(e[0]),(e,t,n)=>mM(r=>{let o=r.monotonicTimeNanosUnsafe();return Qb(e,()=>{let s=r.monotonicTimeNanosUnsafe(),i=JA(Dt(s),Dt(o)),c=n===void 0?i:n(i);return Pc(t,c)})})),_c=class extends Ur()("effect/Effect/Transaction"){},PK=e=>iM(t=>{let n=Nf(t.context,_c);if(n&&!oM.has(n))return e;let r=t.getRef(Gn),o=r.currentTimeMillisUnsafe(),s={journal:new Map,retry:!1,attempt:1,retryReason:void 0,start:o,now:o,elapsed:0,elapsedSincePrevious:0},i;return pM(c=>{let d=c(e).pipe(ph(_c,s),dM(u=>s.retry?bS(u)?c(_K(s)):el(()=>Gb(s)):Mc),ea);return mn(sM({while:()=>!i,body:()=>(s.attempt>1&&MK(s,r.currentTimeMillisUnsafe()),d),step(u){if(s.retry||!hM(s))return s.attempt++,s.retryReason=s.retry?"retry":"conflict",Gb(s);Lt(u)&&UK(t,s),Gb(s),oM.add(s),i=u}}),()=>i)})}),oM=new WeakSet,MK=(e,t)=>{e.elapsedSincePrevious=t-e.now,e.now=t,e.elapsed=t-e.start},hM=e=>{for(let[t,{version:n}]of e.journal)if(t.version!==n)return!1;return!0},_K=e=>Jb(t=>{if(!hM(e))return t(Mc);let n={},r=Array.from(e.journal.keys()),o=()=>{for(let i of r)i.pending.delete(n)},s=()=>{o(),t(Mc)};for(let i of r)i.pending.set(n,s);return el(o)});function UK(e,t){for(let[n,{value:r,written:o}]of t.journal)if(o){Object.is(r,n.value)||(n.version=n.version+1,n.value=r);for(let s of n.pending.values())e.currentDispatcher.scheduleTask(s,0);n.pending.clear()}}function Gb(e){e.retry=!1,e.journal.clear()}var NK=mn(_c,e=>{let t=e;return t.retry=!0,lM}),FK=(e,t,n)=>(...r)=>Jb(o=>{let s=!0,i;try{e(...r,(c,d)=>{let u=c?t?Xu(()=>D(t(c,r))):D(c):C(d);s?i??=u:o(u)})}catch(c){i=n?D(n(c,r)):zr(c)}s=!1,i&&o(i)}),$K=()=>e=>e,LK=()=>e=>e,qK=()=>e=>e,ta=HR,Fc=zR,Qt=WR,Nt=BR,mh=KR,Xb=_R;var gM=/^[+-]?\d+$/,t0="~effect/BigDecimal",BK={[t0]:t0,[Y](){let e=r0(this);return ce(De(String(e.value)),Ot(e.scale))},[X](e){return n0(e)&&IM(this,e)===0},toString(){return`BigDecimal(${Kr(this)})`},toJSON(){return{_id:"BigDecimal",value:String(this.value),scale:this.scale}},[je](){return this.toJSON()},pipe(){return ie(this,arguments)}},n0=e=>O(e,t0),SM=(e,t)=>{if(!Number.isSafeInteger(t))throw new RangeError(`Scale must be a safe integer, got ${t}`);let n=Object.create(BK);return n.value=e,n.scale=t,n},bM=(e,t)=>{let n=SM(e,t);return n.normalized=n,n};var Wr=BigInt(0),jK=BigInt(1);var HK=BigInt(10),vM=bM(Wr,0);var r0=e=>{if(e.normalized===void 0)if(e.value===Wr)e.normalized=vM;else{let t=`${e.value}`,n=t.length;for(;t[n-1]==="0";)n--;e.normalized=bM(BigInt(t.slice(0,n)),e.scale-(t.length-n))}return e.normalized};var zK=100,WK=[jK],e0=(e,t)=>e===t?0:e<t?-1:1,yM=(e,t)=>{let n=`${e.value<Wr?-e.value:e.value}`,r=`${t.value<Wr?-t.value:t.value}`,o=BigInt(n.length-r.length)-BigInt(e.scale)+BigInt(t.scale);if(o!==Wr)return o<Wr?-1:1;let s=Math.max(n.length,r.length);return uA(n.padEnd(s,"0"),r.padEnd(s,"0"))},IM=(e,t)=>{if(e.scale===t.scale)return e0(e.value,t.value);let n=xM(e),r=xM(t);if(n!==r)return n<r?-1:1;if(n===0)return 0;let o=e.scale-t.scale,s=Math.abs(o);if(s>zK)return n===-1?yM(t,e):yM(e,t);let i=WK[s]??=HK**BigInt(s);return o>0?e0(e.value,t.value*i):e0(e.value*i,t.value)},$c=Mr(IM);var xM=e=>e.value===Wr?0:e.value<Wr?-1:1;var hh=e=>{if(e==="")return $(vM);let t,n,r=e.search(/[eE]/);if(r!==-1){let d=e.slice(r+1);if(t=e.slice(0,r),n=Number(d),t===""||!Number.isSafeInteger(n)||!gM.test(d))return N()}else t=e,n=0;let o,s,i=t.search(/\./);if(i!==-1){let d=t.slice(0,i),u=t.slice(i+1);o=`${d}${u}`,s=u.length}else o=t,s=0;if(!gM.test(o))return N();let c=s-n;return Number.isSafeInteger(c)?$(SM(BigInt(o),c)):N()};var Kr=e=>{let t=r0(e);if(Math.abs(t.scale)>=16)return KK(t);let n=t.value<Wr,r=`${n?-t.value:t.value}`,o=t.scale>0?r.padStart(t.scale+1,"0"):r.padEnd(r.length-t.scale,"0"),s=o.length-t.scale,i=t.scale>0?`${o.slice(0,s)}.${o.slice(s)}`:o;return n?`-${i}`:i},KK=e=>{if(GK(e))return"0e+0";let t=r0(e),n=`${t.value}`,r=t.value<Wr?2:1,o=n.slice(0,r),s=n.slice(r),i=s.length-t.scale;return`${o}${s===""?"":`.${s}`}e${i>=0?"+":""}${i}`};var GK=e=>e.value===Wr;var a={};Re(a,{Any:()=>cQ,Array:()=>He,ArrayEnsure:()=>SQ,BigDecimal:()=>ZF,BigDecimalFromString:()=>XY,BigInt:()=>wd,BigIntFromString:()=>$Y,Boolean:()=>ey,BooleanFromBit:()=>WY,BooleanLiterals:()=>TQ,ByteSize:()=>dy,ByteSizeFromBigInt:()=>tX,ByteSizeFromNumber:()=>nX,ByteSizeFromString:()=>eX,Cause:()=>Xw,CauseReason:()=>Yw,Char:()=>wY,Chunk:()=>rX,Class:()=>e$,Cookie:()=>q2,Cookies:()=>B2,Date:()=>ay,DateFromMillis:()=>DY,DateFromString:()=>CY,DateTimeUtc:()=>kd,DateTimeUtcFromDate:()=>dX,DateTimeUtcFromHttpDate:()=>pX,DateTimeUtcFromMillis:()=>fX,DateTimeUtcFromString:()=>uX,DateTimeZoned:()=>f2,DateTimeZonedFromString:()=>yX,Defect:()=>EY,DnsARecord:()=>R2,DnsAaaaRecord:()=>O2,DnsCaaRecord:()=>C2,DnsCnameRecord:()=>D2,DnsMxRecord:()=>P2,DnsNaptrRecord:()=>M2,DnsNsRecord:()=>_2,DnsPtrRecord:()=>U2,DnsRecord:()=>fee,DnsRecordType:()=>pee,DnsSoaRecord:()=>N2,DnsSrvRecord:()=>F2,DnsTlsaRecord:()=>$2,DnsTxtRecord:()=>L2,DomainName:()=>fs,DomainNameFromString:()=>w2,Duration:()=>Td,DurationFromMillis:()=>lee,DurationFromNanos:()=>uee,DurationFromString:()=>dee,Enum:()=>iQ,Error:()=>t$,ErrorInstance:()=>kY,Exit:()=>mee,FalseLiterals:()=>kF,File:()=>jF,Finite:()=>sy,FiniteFromString:()=>FY,FormData:()=>HF,Graph:()=>xee,HashMap:()=>See,HashSet:()=>bee,Headers:()=>Eee,Host:()=>tee,HostFromString:()=>nee,HostPort:()=>E2,HostPortFromString:()=>ree,InetAddress:()=>v2,InetAddressFromString:()=>YX,InetAddressV4:()=>ZX,InetAddressV6:()=>QX,Int:()=>vr,IpAddress:()=>ai,IpAddressFromString:()=>Da,IpInterface:()=>y2,IpInterfaceFromString:()=>KX,IpLinkLocalAddress:()=>PX,IpLinkLocalAddressFromString:()=>MX,IpLoopbackAddress:()=>CX,IpLoopbackAddressFromString:()=>DX,IpMulticastAddress:()=>xX,IpMulticastAddressFromString:()=>SX,IpNetwork:()=>b2,IpNetworkFromString:()=>JX,IpUnicastAddress:()=>IX,IpUnicastAddressFromString:()=>wX,IpUnspecifiedAddress:()=>_X,IpUnspecifiedAddressFromString:()=>UX,Ipv4Address:()=>Cp,Ipv4AddressFromString:()=>hk,Ipv4BroadcastAddress:()=>TX,Ipv4BroadcastAddressFromString:()=>AX,Ipv4Interface:()=>h2,Ipv4InterfaceFromString:()=>zX,Ipv4Network:()=>x2,Ipv4NetworkFromString:()=>GX,Ipv4PrivateAddress:()=>NX,Ipv4PrivateAddressFromString:()=>FX,Ipv6Address:()=>uy,Ipv6AddressFromString:()=>m2,Ipv6Interface:()=>g2,Ipv6InterfaceFromString:()=>WX,Ipv6Network:()=>S2,Ipv6NetworkFromString:()=>VX,Ipv6UniqueLocalAddress:()=>$X,Ipv6UniqueLocalAddressFromString:()=>LX,Json:()=>ly,JsonFromUrlParamsField:()=>Ree,JsonObject:()=>ite,Literal:()=>Bt,Literals:()=>Co,MacAddress:()=>Ca,MacAddressFromString:()=>Ed,MacBroadcastAddress:()=>RX,MacBroadcastAddressFromString:()=>OX,MacLocallyAdministeredAddress:()=>qX,MacLocallyAdministeredAddressFromString:()=>BX,MacMulticastAddress:()=>bX,MacMulticastAddressFromString:()=>vX,MacUnicastAddress:()=>kX,MacUnicastAddressFromString:()=>EX,MacUniversallyAdministeredAddress:()=>jX,MacUniversallyAdministeredAddressFromString:()=>HX,MutableJson:()=>cte,Natural:()=>so,Never:()=>aQ,NonEmptyArray:()=>ny,NonEmptyString:()=>pk,Null:()=>Xg,NullOr:()=>ok,NullishOr:()=>gF,Number:()=>wp,NumberFromString:()=>NY,ObjectKeyword:()=>lQ,Opaque:()=>MQ,Option:()=>Pa,OptionFromNullOr:()=>vee,OptionFromNullishOr:()=>wee,OptionFromOptional:()=>Dee,OptionFromOptionalKey:()=>Cee,OptionFromOptionalNullOr:()=>Pee,OptionFromUndefinedOr:()=>Iee,Port:()=>oee,PropertyKey:()=>Qw,ReadonlyMap:()=>TY,ReadonlySet:()=>AY,Record:()=>Aa,RecordFromCookies:()=>kee,RecordFromUrlParams:()=>Oee,Redacted:()=>H2,RedactedFromValue:()=>Mee,RegExp:()=>RY,Result:()=>_ee,RetryAfter:()=>j2,RetryAfterFromString:()=>Aee,SchemaError:()=>Ta,ScopedIpv6Literal:()=>gk,ScopedIpv6LiteralFromString:()=>k2,SemVer:()=>V2,SemVerFromString:()=>Uee,SemVerRange:()=>Q2,SemVerRangeFromString:()=>Nee,SocketAddress:()=>eee,StandardSchemaV1FailureResult:()=>zY,String:()=>q,StringForLiteralAutocomplete:()=>dQ,StringFromBase64:()=>qY,StringFromBase64Url:()=>BY,StringFromHex:()=>jY,StringFromUriComponent:()=>HY,Struct:()=>Oe,StructWithRest:()=>yQ,Symbol:()=>fF,TaggedClass:()=>qee,TaggedError:()=>Bee,TaggedStruct:()=>kp,TaggedUnion:()=>PQ,TemplateLiteral:()=>oQ,TemplateLiteralParser:()=>sQ,TimeZone:()=>l2,TimeZoneFromString:()=>gX,TimeZoneNamed:()=>d2,TimeZoneNamedFromString:()=>hX,TimeZoneOffset:()=>mX,Tree:()=>ste,Trim:()=>LY,Trimmed:()=>WF,TrueLiterals:()=>wF,Tuple:()=>Oo,TupleWithRest:()=>xQ,URL:()=>qF,URLFromString:()=>OY,URLSearchParams:()=>zF,Uint8Array:()=>cy,Uint8ArrayFromBase64:()=>KY,Uint8ArrayFromBase64Url:()=>GY,Uint8ArrayFromHex:()=>GF,Undefined:()=>nk,UndefinedOr:()=>ry,Union:()=>ct,UniqueArray:()=>bQ,UniqueSymbol:()=>pQ,UnixPathAddress:()=>I2,UnixPathAddressFromString:()=>XX,Unknown:()=>Ip,UnknownFromJsonString:()=>MY,UrlParams:()=>yk,Void:()=>uQ,annotate:()=>D9,annotateEncoded:()=>P9,annotateKey:()=>M9,asserts:()=>$9,brand:()=>oy,catchDecoding:()=>kQ,catchDecodingWithContext:()=>vF,catchEncoding:()=>EQ,catchEncodingWithContext:()=>IF,check:()=>IQ,declare:()=>Fe,declareConstructor:()=>_n,decode:()=>AQ,decodeEffect:()=>L9,decodeExit:()=>q9,decodeOption:()=>j9,decodePromise:()=>z9,decodeResult:()=>H9,decodeSync:()=>W9,decodeTo:()=>W,decodeUnknownEffect:()=>Zg,decodeUnknownExit:()=>oF,decodeUnknownOption:()=>B9,decodeUnknownPromise:()=>iF,decodeUnknownResult:()=>sF,decodeUnknownSync:()=>aF,encode:()=>RQ,encodeEffect:()=>K9,encodeExit:()=>G9,encodeKeys:()=>hQ,encodeOption:()=>J9,encodePromise:()=>Q9,encodeResult:()=>Z9,encodeSync:()=>Y9,encodeTo:()=>sk,encodeUnknownEffect:()=>Qg,encodeUnknownExit:()=>cF,encodeUnknownOption:()=>V9,encodeUnknownPromise:()=>uF,encodeUnknownResult:()=>dF,encodeUnknownSync:()=>lF,extendTo:()=>gQ,fieldsAssign:()=>fQ,flip:()=>Zw,fromBrand:()=>wQ,fromFormData:()=>_Y,fromJsonString:()=>fk,fromURLSearchParams:()=>UY,instanceOf:()=>Ra,is:()=>F9,isBase64:()=>CF,isBase64Url:()=>jQ,isBetween:()=>ii,isBetweenBigDecimal:()=>YY,isBetweenBigInt:()=>pY,isBetweenCodePoints:()=>hY,isBetweenDate:()=>cY,isBetweenLength:()=>dk,isBetweenProperties:()=>vY,isBetweenSize:()=>xY,isCapitalized:()=>VQ,isEndingWith:()=>zQ,isFinite:()=>ZQ,isGUID:()=>qQ,isGreaterThan:()=>YQ,isGreaterThanBigDecimal:()=>VY,isGreaterThanBigInt:()=>dY,isGreaterThanDate:()=>oY,isGreaterThanOrEqualTo:()=>DF,isGreaterThanOrEqualToBigDecimal:()=>JY,isGreaterThanOrEqualToBigInt:()=>PF,isGreaterThanOrEqualToDate:()=>sY,isIncluding:()=>WQ,isInt:()=>iy,isInt32:()=>nY,isLessThan:()=>XQ,isLessThanBigDecimal:()=>ZY,isLessThanBigInt:()=>uY,isLessThanDate:()=>iY,isLessThanOrEqualTo:()=>eY,isLessThanOrEqualToBigDecimal:()=>QY,isLessThanOrEqualToBigInt:()=>lY,isLessThanOrEqualToDate:()=>aY,isLowercased:()=>GQ,isMaxCodePoints:()=>mY,isMaxLength:()=>UF,isMaxProperties:()=>bY,isMaxSize:()=>yY,isMinCodePoints:()=>fY,isMinLength:()=>ck,isMinProperties:()=>SY,isMinSize:()=>gY,isMultipleOf:()=>tY,isNonEmpty:()=>_F,isPattern:()=>Oa,isPropertyNames:()=>IY,isSchema:()=>Yg,isSchemaError:()=>X1,isStartingWith:()=>HQ,isStringBigInt:()=>NQ,isStringFinite:()=>UQ,isStringSymbol:()=>FQ,isTrimmed:()=>OF,isULID:()=>BQ,isUUID:()=>LQ,isUint32:()=>rY,isUncapitalized:()=>JQ,isUnique:()=>lk,isUniqueKey:()=>NF,isUppercased:()=>KQ,link:()=>Ce,linkDecoding:()=>si,make:()=>G,makeClassTrusted:()=>Y2,makeFilter:()=>Me,makeFilterGroup:()=>_Q,makeIsBetween:()=>Op,makeIsGreaterThan:()=>Ep,makeIsGreaterThanOrEqualTo:()=>Tp,makeIsLessThan:()=>Ap,makeIsLessThanOrEqualTo:()=>Rp,makeIsMultipleOf:()=>QQ,middlewareDecoding:()=>SF,middlewareEncoding:()=>bF,mutable:()=>vQ,mutableKey:()=>tQ,optional:()=>vd,optionalKey:()=>Ea,overrideToCodecIso:()=>rte,overrideToEquivalence:()=>zee,overrideToFormatter:()=>jee,readonlyKey:()=>nQ,refine:()=>xF,required:()=>eQ,requiredKey:()=>X9,resolveAnnotations:()=>dte,resolveAnnotationsKey:()=>ute,revealBottom:()=>C9,revealCodec:()=>_9,suspend:()=>yF,tag:()=>ps,tagDefaultOmit:()=>DQ,toCodecArrayFromSingle:()=>Qee,toCodecGoJson:()=>Yee,toCodecIso:()=>Jee,toCodecJson:()=>Vee,toCodecStringTree:()=>Zee,toDifferJsonPatch:()=>ote,toEncoded:()=>Id,toEncoderXml:()=>Xee,toEquivalence:()=>Wee,toFormatter:()=>Hee,toIso:()=>ete,toIsoFocus:()=>nte,toIsoSource:()=>tte,toJsonSchemaDocument:()=>Gee,toRepresentation:()=>Kee,toStandardJSONSchemaV1:()=>N9,toStandardSchemaV1:()=>U9,toTaggedUnion:()=>RF,toType:()=>Un,withArrayLengthConstraints:()=>ty,withConstructorDefault:()=>EF,withDecodingDefault:()=>AF,withDecodingDefaultKey:()=>ik,withDecodingDefaultType:()=>CQ,withDecodingDefaultTypeKey:()=>OQ});var wM=globalThis.BigInt;var kM=e=>e>wM(Number.MAX_SAFE_INTEGER)||e<wM(Number.MIN_SAFE_INTEGER)?N():$(Number(e));var s0=BigInt(0),VK=BigInt(1),ko=BigInt(1e3),qs=BigInt(1024),TM=[{symbol:"B",factor:VK,names:["B","byte","bytes"]},{symbol:"kB",factor:ko,names:["kB","kilobyte","kilobytes"]},{symbol:"MB",factor:ko**BigInt(2),names:["MB","megabyte","megabytes"]},{symbol:"GB",factor:ko**BigInt(3),names:["GB","gigabyte","gigabytes"]},{symbol:"TB",factor:ko**BigInt(4),names:["TB","terabyte","terabytes"]},{symbol:"PB",factor:ko**BigInt(5),names:["PB","petabyte","petabytes"]},{symbol:"EB",factor:ko**BigInt(6),names:["EB","exabyte","exabytes"]},{symbol:"ZB",factor:ko**BigInt(7),names:["ZB","zettabyte","zettabytes"]},{symbol:"YB",factor:ko**BigInt(8),names:["YB","yottabyte","yottabytes"]},{symbol:"RB",factor:ko**BigInt(9),names:["RB","ronnabyte","ronnabytes"]},{symbol:"QB",factor:ko**BigInt(10),names:["QB","quettabyte","quettabytes"]}],JK=[TM[0],{symbol:"KiB",factor:qs,names:["KiB","kibibyte","kibibytes"]},{symbol:"MiB",factor:qs**BigInt(2),names:["MiB","mebibyte","mebibytes"]},{symbol:"GiB",factor:qs**BigInt(3),names:["GiB","gibibyte","gibibytes"]},{symbol:"TiB",factor:qs**BigInt(4),names:["TiB","tebibyte","tebibytes"]},{symbol:"PiB",factor:qs**BigInt(5),names:["PiB","pebibyte","pebibytes"]},{symbol:"EiB",factor:qs**BigInt(6),names:["EiB","exbibyte","exbibytes"]},{symbol:"ZiB",factor:qs**BigInt(7),names:["ZiB","zebibyte","zebibytes"]},{symbol:"YiB",factor:qs**BigInt(8),names:["YiB","yobibyte","yobibytes"]}],ZK=[...TM,...JK.slice(1)],QK=new Map(ZK.flatMap(e=>e.names.map(t=>[t,e])));var i0=e=>e;var Lc=e=>{throw new Error(`Invalid ByteSize: ${e}`)},AM=e=>!Number.isSafeInteger(e)||e<0?Lc(`expected a non-negative safe integer, received ${e}`):i0(BigInt(e));var RM=e=>{let t=/^\s*(\d+)(?:\.(\d+))?\s*([A-Za-z]+)\s*$/.exec(e);if(t===null)return Lc(`unsupported syntax ${JSON.stringify(e)}`);let n=QK.get(t[3]);if(n===void 0)return Lc(`unsupported unit ${JSON.stringify(t[3])}`);let r=t[2]??"",o=BigInt(10)**BigInt(r.length),s=BigInt(t[1]+r)*n.factor;return s%o!==s0?Lc(`${JSON.stringify(e)} does not represent an integral number of bytes`):i0(s/o)},OM=_r(RM),CM=e=>{switch(typeof e){case"bigint":return e<s0?Lc(`expected a non-negative bigint, received ${e}`):i0(e);case"number":return AM(e);case"string":return RM(e)}return Lc(`unsupported input ${e}`)},a0=_r(CM),DM=e=>typeof e=="bigint"?CM(e):AM(e);var PM=e=>typeof e=="bigint"&&e>=s0;var gh=e=>e,MM=kM;var UM="~effect/Chunk";function _M(e,t,n,r,o){for(let s=t;s<Math.min(e.length,t+o);s++)n[r+s-t]=e[s];return n}var NM=[],u0=e=>ht((t,n)=>{if(t.length!==n.length)return!1;let r=na(t),o=na(n);for(let s=0;s<r.length;s++)if(!e(r[s],o[s]))return!1;return!0}),tG=u0(V),nG={[UM]:{_A:e=>e},toString(){return`Chunk(${U(na(this))})`},toJSON(){return{_id:"Chunk",values:zt(na(this))}},[je](){return this.toJSON()},[X](e){return yh(e)&&tG(this,e)},[Y](){return po(na(this))},[Symbol.iterator](){switch(this.backing._tag){case"IArray":return this.backing.array[Symbol.iterator]();case"IEmpty":return NM[Symbol.iterator]();default:return na(this)[Symbol.iterator]()}},pipe(){return ie(this,arguments)}},l0=e=>{let t=Object.create(nG);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=ts,t.right=ts;break}case"ISingleton":{t.length=1,t.depth=0,t.left=ts,t.right=ts;break}case"ISlice":{t.length=e.length,t.depth=0,t.left=ts,t.right=ts;break}}return t},yh=e=>O(e,UM),ts=l0({_tag:"IEmpty"}),rG=()=>ts;var oG=e=>l0({_tag:"ISingleton",a:e}),p0=e=>yh(e)?e:iG(En(e)),d0=(e,t,n)=>{switch(e.backing._tag){case"IArray":{_M(e.backing.array,0,t,n,e.length);break}case"IConcat":{d0(e.left,t,n),d0(e.right,t,n+e.left.length);break}case"ISingleton":{t[n]=e.backing.a;break}case"ISlice":{_M(na(e.backing.chunk),e.backing.offset,t,n,e.length);break}}};var sG=e=>{switch(e.backing._tag){case"IEmpty":return NM;case"IArray":return e.backing.array;default:{let t=new Array(e.length);return d0(e,t,0),e.backing={_tag:"IArray",array:t},e.left=ts,e.right=ts,e.depth=0,t}}},na=sG;var iG=e=>e.length===0?rG():e.length===1?oG(e[0]):l0({_tag:"IArray",array:e});var FM=e=>e.length;var ns={};Re(ns,{CurrentTimeZone:()=>mr,Equivalence:()=>Sh,Order:()=>aG,add:()=>XG,addDuration:()=>QG,between:()=>kG,clamp:()=>cG,distance:()=>yG,endOf:()=>nV,format:()=>oV,formatIntl:()=>aV,formatIso:()=>cl,formatIsoDate:()=>cV,formatIsoDateUtc:()=>dV,formatIsoOffset:()=>uV,formatIsoZoned:()=>Bc,formatLocal:()=>sV,formatUtc:()=>iV,fromDateUnsafe:()=>dG,fromEpochSeconds:()=>uG,getPart:()=>FG,getPartUtc:()=>NG,isDateTime:()=>xh,isFuture:()=>EG,isFutureUnsafe:()=>TG,isGreaterThan:()=>bG,isGreaterThanOrEqualTo:()=>vG,isLessThan:()=>IG,isLessThanOrEqualTo:()=>wG,isPast:()=>AG,isPastUnsafe:()=>RG,isTimeZone:()=>m0,isTimeZoneNamed:()=>g0,isTimeZoneOffset:()=>h0,isUtc:()=>y0,isZoned:()=>x0,layerCurrentZone:()=>lV,layerCurrentZoneLocal:()=>mV,layerCurrentZoneNamed:()=>fV,layerCurrentZoneOffset:()=>pV,make:()=>Bs,makeUnsafe:()=>qc,makeZoned:()=>lG,makeZonedFromString:()=>ol,makeZonedUnsafe:()=>S0,mapEpochMillis:()=>GG,match:()=>ZG,max:()=>SG,min:()=>xG,mutate:()=>WG,mutateUtc:()=>KG,nearest:()=>rV,now:()=>$M,nowAsDate:()=>pG,nowInCurrentZone:()=>zG,nowUnsafe:()=>fG,removeTime:()=>MG,setParts:()=>$G,setPartsUtc:()=>LG,setZone:()=>LM,setZoneCurrent:()=>BM,setZoneNamed:()=>hG,setZoneNamedUnsafe:()=>gG,setZoneOffset:()=>mG,startOf:()=>tV,subtract:()=>eV,subtractDuration:()=>YG,toDate:()=>OG,toDateUtc:()=>al,toEpochMillis:()=>vh,toEpochSeconds:()=>PG,toParts:()=>_G,toPartsUtc:()=>UG,toUtc:()=>js,withCurrentZone:()=>qG,withCurrentZoneLocal:()=>BG,withCurrentZoneNamed:()=>HG,withCurrentZoneOffset:()=>jG,withDate:()=>VG,withDateUtc:()=>JG,zoneFromString:()=>il,zoneMakeLocal:()=>b0,zoneMakeNamed:()=>sl,zoneMakeNamedEffect:()=>qM,zoneMakeNamedUnsafe:()=>bh,zoneMakeOffset:()=>ra,zoneToString:()=>Hs,zonedOffset:()=>CG,zonedOffsetIso:()=>DG});var xh=Ji,m0=Zi,h0=ED,g0=TD,y0=AD,x0=vb,Sh=RD,aG=Io,cG=OD,dG=Gi,qc=Qm,uG=YD,S0=Ib,lG=Vm,Bs=CD,ol=DD,$M=Ym,pG=PD,fG=Xm,js=MD,LM=Hu,mG=_D,bh=zu,ra=Vi,sl=eh,qM=wb,b0=FD,il=kb,Hs=$D,hG=LD,gG=qD,yG=BD,xG=jD,SG=HD,bG=th,vG=zD,IG=nh,wG=WD,kG=KD,EG=GD,TG=VD,AG=JD,RG=ZD,al=$s,OG=es,CG=rh,DG=Eb,vh=Dc,PG=QD,MG=XD,_G=Tb,UG=sh,NG=tP,FG=nP,$G=rP,LG=oP,mr=class extends Ur()("effect/DateTime/CurrentTimeZone"){},BM=e=>nl(mr,t=>LM(e,t)),qG=Zt(mr),BG=e=>fh(e,mr,el(b0)),jG=h(2,(e,t)=>ph(e,mr,ra(t))),HG=h(2,(e,t)=>fh(e,mr,qM(t))),zG=mn($M,BM),WG=Qi,KG=ih,GG=Wu,VG=ah,JG=Cb,ZG=sP,QG=iP,YG=aP,XG=Db,eV=cP,tV=uP,nV=pP,rV=fP,oV=mP,sV=hP,iV=gP,aV=yP,cl=xP,cV=SP,dV=bP,uV=Zm,Bc=Pb,lV=Sb(mr),pV=e=>Sb(mr)(Vi(e)),fV=IT(wb,yD(mr)),mV=gD(mr)(b0);var oa=e=>hV(typeof e=="string"?gV.encode(e):e),sa=e=>{let t=xV(e),n=t.length;if(n%4!==0)return J(new lr({kind:"Decode",module:"Base64",input:t,message:`Length must be a multiple of 4, but is ${n}`}));let r=t.indexOf("=");if(r!==-1&&(r<n-2||r===n-2&&t[n-1]!=="="))return J(new lr({kind:"Decode",module:"Base64",input:t,message:"Found a '=' character, but it is not at the end"}));try{let o=t.endsWith("==")?2:t.endsWith("=")?1:0,s=new Uint8Array(3*(n/4)-o);for(let i=0,c=0;i<n;i+=4,c+=3){let d=Ih(t.charCodeAt(i))<<18|Ih(t.charCodeAt(i+1))<<12|Ih(t.charCodeAt(i+2))<<6|Ih(t.charCodeAt(i+3));s[c]=d>>16,s[c+1]=d>>8&255,s[c+2]=d&255}return L(s)}catch(o){return J(new lr({kind:"Decode",module:"Base64",input:t,message:o instanceof Error?o.message:"Invalid input"}))}},jM=e=>bt(sa(e),t=>yV.decode(t)),hV=e=>{let t=e.length,n="",r;for(r=2;r<t;r+=3)n+=Gr[e[r-2]>>2],n+=Gr[(e[r-2]&3)<<4|e[r-1]>>4],n+=Gr[(e[r-1]&15)<<2|e[r]>>6],n+=Gr[e[r]&63];return r===t+1&&(n+=Gr[e[r-2]>>2],n+=Gr[(e[r-2]&3)<<4],n+="=="),r===t&&(n+=Gr[e[r-2]>>2],n+=Gr[(e[r-2]&3)<<4|e[r-1]>>4],n+=Gr[(e[r-1]&15)<<2],n+="="),n},gV=new TextEncoder,yV=new TextDecoder,xV=e=>e.replace(/[\n\r]/g,""),Gr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",dl=new Uint8Array(123).fill(255);for(let e=0;e<Gr.length;e++)dl[Gr.charCodeAt(e)]=e;dl[61]=0;var Ih=e=>{if(e>=dl.length||dl[e]===255)throw new TypeError(`Invalid character ${String.fromCharCode(e)}`);return dl[e]};var Eh="~effect/HashMap",Vr=5,ll=1<<Vr,SV=ll/4,HM=ll/2,bV=ll-1,vV=e=>(e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24),ul=(e,t)=>e>>>t&bV,zs=(e,t)=>1<<ul(e,t),kh=(e,t)=>vV(e&t-1);function zM(e,t,n,r,o,s){if(t>32)throw new Error("HashMap: max depth exceeded");let i=zs(n,t),c=zs(o,t);if(i===c){let l=zM(e,t+Vr,n,r,o,s);return new ca(e,i,[l])}let d=i|c,u=i>>>0<c>>>0?[r,s]:[s,r];return new ca(e,d,u)}var IV=De("HashMap"),WM=(e,t)=>ce(H(e),H(t)),KM=e=>{let t=0;for(let n=0;n<e.length;n++){let r=e[n];r&&(t^=r.subtreeHash())}return t},ia=class{canEdit(t){return this.edit===t}subtreeHash(){let t=this._hash;if(t===void 0){let n=mi;t=this.computeHash(),n===mi&&(this._hash=t)}return t}},v0=class extends ia{_tag="EmptyNode";edit=0;get size(){return 0}get(t,n,r){return N()}has(t,n,r){return!1}set(t,n,r,o,s,i){return i.value=!0,new aa(t,r,o,s)}remove(t,n,r,o,s){return this}canEdit(t){return!1}computeHash(){return 0}},aa=class e extends ia{_tag="LeafNode";edit;hash;key;value;constructor(t,n,r,o){super(),this.edit=t,this.hash=n,this.key=r,this.value=o}get size(){return 1}get(t,n,r){return this.hash===n&&V(this.key,r)?$(this.value):N()}has(t,n,r){return this.hash===n&&V(this.key,r)}set(t,n,r,o,s,i){if(this.canEdit(t)&&(this._hash=void 0),this.hash===r&&V(this.key,o))return Object.is(this.value,s)?this:this.canEdit(t)?(this.value=s,this):new e(t,r,o,s);if(i.value=!0,this.hash===r)return new I0(t,r,[[this.key,this.value],[o,s]]);let c=zs(r,n),d=zs(this.hash,n);if(c===d)return new ca(t,c,[this.set(t,n+Vr,r,o,s,i)]);let u=c|d,l=c>>>0<d>>>0?[new e(t,r,o,s),this]:[this,new e(t,r,o,s)];return new ca(t,u,l)}remove(t,n,r,o,s){if(this.hash===r&&V(this.key,o)){s.value=!0;return}return this}computeHash(){return WM(this.key,this.value)}},I0=class e extends ia{_tag="CollisionNode";edit;hash;entries;constructor(t,n,r){super(),this.edit=t,this.hash=n,this.entries=r}get size(){return this.entries.length}get(t,n,r){if(this.hash!==n)return N();for(let[o,s]of this.entries)if(V(o,r))return $(s);return N()}has(t,n,r){if(this.hash!==n)return!1;for(let[o]of this.entries)if(V(o,r))return!0;return!1}set(t,n,r,o,s,i){if(this.canEdit(t)&&(this._hash=void 0),this.hash!==r)return i.value=!0,zM(t,n,this.hash,this,r,new aa(t,r,o,s));for(let c=0;c<this.entries.length;c++)if(V(this.entries[c][0],o)){if(Object.is(this.entries[c][1],s))return this;if(this.canEdit(t))return this.entries[c]=[o,s],this;let d=[...this.entries];return d[c]=[o,s],new e(t,this.hash,d)}return i.value=!0,this.canEdit(t)?(this.entries.push([o,s]),this):new e(t,this.hash,[...this.entries,[o,s]])}remove(t,n,r,o,s){if(this.canEdit(t)&&(this._hash=void 0),this.hash!==r)return this;let i=this.entries.findIndex(([d])=>V(d,o));if(i===-1)return this;if(s.value=!0,this.entries.length===1)return;if(this.entries.length===2){let d=this.entries[i===0?1:0];return new aa(t,this.hash,d[0],d[1])}if(this.canEdit(t))return this.entries.splice(i,1),this;let c=[...this.entries];return c.splice(i,1),new e(t,this.hash,c)}computeHash(){let t=0,n=this.entries;for(let r=0;r<n.length;r++)t^=WM(n[r][0],n[r][1]);return t}},ca=class e extends ia{_tag="IndexedNode";edit;_size;bitmap;children;constructor(t,n,r){super(),this.edit=t,this.bitmap=n,this.children=r}get size(){return this._size===void 0&&(this._size=this.children.reduce((t,n)=>t+n.size,0)),this._size}get(t,n,r){let o=zs(n,t);if((this.bitmap&o)===0)return N();let s=kh(this.bitmap,o);return this.children[s].get(t+Vr,n,r)}has(t,n,r){let o=zs(n,t);if((this.bitmap&o)===0)return!1;let s=kh(this.bitmap,o);return this.children[s].has(t+Vr,n,r)}set(t,n,r,o,s,i){this.canEdit(t)&&(this._hash=void 0);let c=zs(r,n),d=kh(this.bitmap,c);if((this.bitmap&c)!==0){let u=this.children[d],l=u.set(t,n+Vr,r,o,s,i);if(u===l)return this;if(this.canEdit(t))return this.children[d]=l,this;let p=[...this.children];return p[d]=l,new e(t,this.bitmap,p)}else{i.value=!0;let u=new aa(t,r,o,s),l=this.bitmap|c;if(this.canEdit(t))return this.children.splice(d,0,u),this.bitmap=l,this._size=void 0,this.children.length>HM?this.expand(t,l,this.children):this;let p=[...this.children];return p.splice(d,0,u),p.length>HM?this.expand(t,l,p):new e(t,l,p)}}remove(t,n,r,o,s){this.canEdit(t)&&(this._hash=void 0);let i=zs(r,n);if((this.bitmap&i)===0)return this;let c=kh(this.bitmap,i),d=this.children[c],u=d.remove(t,n+Vr,r,o,s);if(!s.value)return this;if(u===void 0){let p=this.bitmap^i;if(p===0)return;if(this.children.length===2){let g=this.children[c===0?1:0];if(g._tag==="LeafNode")return g}if(this.canEdit(t))return this.children.splice(c,1),this.bitmap=p,this._size=void 0,this;let f=[...this.children];return f.splice(c,1),new e(t,p,f)}if(d===u)return this;if(this.canEdit(t))return this.children[c]=u,this;let l=[...this.children];return l[c]=u,new e(t,this.bitmap,l)}expand(t,n,r){let o=new globalThis.Array(ll),s=0;for(let i=0;i<ll;i++)(n&1<<i)!==0&&(o[i]=r[s++]);return new w0(t,r.length,o)}computeHash(){return KM(this.children)}},w0=class e extends ia{_tag="ArrayNode";edit;_size;count;children;constructor(t,n,r){super(),this.edit=t,this.count=n,this.children=r}get size(){return this._size===void 0&&(this._size=this.children.reduce((t,n)=>t+(n?.size??0),0)),this._size}get(t,n,r){let o=ul(n,t),s=this.children[o];return s?s.get(t+Vr,n,r):N()}has(t,n,r){let o=ul(n,t),s=this.children[o];return s?s.has(t+Vr,n,r):!1}set(t,n,r,o,s,i){this.canEdit(t)&&(this._hash=void 0);let c=ul(r,n),d=this.children[c];if(d){let u=d.set(t,n+Vr,r,o,s,i);if(d===u)return this;if(this.canEdit(t))return this.children[c]=u,this;let l=[...this.children];return l[c]=u,new e(t,this.count,l)}else{i.value=!0;let u=new aa(t,r,o,s);if(this.canEdit(t))return this.children[c]=u,this.count++,this._size=void 0,this;let l=[...this.children];return l[c]=u,new e(t,this.count+1,l)}}remove(t,n,r,o,s){this.canEdit(t)&&(this._hash=void 0);let i=ul(r,n),c=this.children[i];if(!c)return this;let d=c.remove(t,n+Vr,r,o,s);if(!s.value)return this;let u=this.count-(d?0:1);if(u<SV)return this.pack(t,i,d);if(c===d)return this;if(this.canEdit(t))return this.children[i]=d,d||(this.count=u),this._size=void 0,this;let l=[...this.children];return l[i]=d,new e(t,u,l)}pack(t,n,r){let o=[],s=0,i=1;for(let c=0;c<this.children.length;c++){let d=c===n?r:this.children[c];d&&(o.push(d),s|=i),i<<=1}return new ca(t,s,o)}computeHash(){return KM(this.children)}},Th=class{stack;project;entries=[];index=0;constructor(t,n){this.stack=[t],this.project=n}next(){for(;;){if(this.index<this.entries.length){let n=this.entries[this.index++];return{done:!1,value:this.project(n[0],n[1])}}if(this.stack.length===0)return{done:!0,value:void 0};let t=this.stack.pop();switch(t._tag){case"LeafNode":{let n=t;return{done:!1,value:this.project(n.key,n.value)}}case"CollisionNode":{this.entries=t.entries,this.index=0;break}case"IndexedNode":case"ArrayNode":{let n=t.children;for(let r=n.length-1;r>=0;r--){let o=n[r];o&&this.stack.push(o)}}}}}[Symbol.iterator](){return this}},wV=(e,t)=>[e,t];var pl=class{[Eh]=Eh;_editable;_edit;_root;_size;constructor(t,n,r,o){this._editable=t,this._edit=n,this._root=r,this._size=o}get size(){return this._size}[Symbol.iterator](){return new Th(this._root,wV)}[X](t){if(k0(t)){let n=t;if(this.size!==n.size)return!1;for(let[r,o]of this){let s=vT(t,JM(r));if(ae(s)||!V(o,s.value))return!1}return!0}return!1}[Y](){return Ht(IV^this._root.subtreeHash())}[je](){return zt(this)}toString(){return`HashMap(${U(Array.from(this))})`}toJSON(){return{_id:"HashMap",values:Array.from(this).map(([t,n])=>[zt(t),zt(n)])}}pipe(){return ie(this,arguments)}},GM=new v0,k0=e=>O(e,Eh),E0=()=>new pl(!1,0,GM,0);var VM=e=>{let t=GM,n=0,r={value:!1};for(let[o,s]of e){let i=H(o);r.value=!1,t=t.set(NaN,0,i,o,s,r),r.value&&n++}return new pl(!1,0,t,n)};var JM=h(2,(e,t)=>e._root.get(0,H(t),t));var T0=h(2,(e,t)=>e._root.has(0,H(t),t));var kV=(e,t,n,r)=>{let o=e,s={value:!1},i=o._editable?o._edit:NaN,c=o._root.set(i,0,n,t,r,s);return o._editable?(o._root=c,s.value&&o._size++,e):o._root===c?e:new pl(!1,o._edit,c,o._size+(s.value?1:0))},A0=h(3,(e,t,n)=>kV(e,t,H(t),n)),R0=e=>new Th(e._root,Q);var ZM=e=>e[Symbol.iterator](),Ah=e=>e.size;var YM=k0;var O0=VM;var AV=ZM,fl=e=>Array.from(AV(e)),XM=Ah;var ml="~effect/HashSet",RV=De(ml),OV={[Y](){return Ht(ce(RV,H(Rh(this))))},[X](e){return D0(e)&&Oh(this)===Oh(e)&&n_(this,t=>t_(e,t))},[Symbol.iterator](){return R0(Rh(this))},toString(){return`HashSet(${U(Array.from(this))})`},toJSON(){return{_id:"HashSet",values:zt(Array.from(this))}},[je](){return this.toJSON()},pipe(){return ie(this,arguments)}},CV=e=>{let t=Object.create(OV);return t[ml]=ml,t.keyMap=e,t},D0=e=>O(e,ml),Rh=e=>e.keyMap;var e_=e=>{let t=E0();for(let n of e)t=A0(t,n,!0);return CV(t)},t_=(e,t)=>T0(Rh(e),t);var Oh=e=>Ah(Rh(e));var n_=(e,t)=>{for(let n of e)if(!t(n))return!1;return!0};var P0=e_,r_=D0;var o_=Oh;var _0="~effect/http/Cookies",i_=e=>O(e,_0),U0="~effect/http/Cookies/Cookie",a_=e=>O(e,U0),s_="~effect/http/Cookies/CookieError",N0=class extends Xf{},da=class e extends ur("CookiesError"){static fromReason(t,n){return new e({reason:new N0({_tag:t,cause:n})})}[s_]=s_;get message(){return this.reason._tag}};var PV={[_0]:_0,...Ct,toJSON(){return{_id:"effect/Cookies",cookies:Bf(this.cookies,e=>e.toJSON())}},pipe(){return ie(this,arguments)}},$0=e=>{let t=Object.create(PV);return t.cookies=e,t},L0=e=>{let t={};for(let n of e)P(t,n.name,n);return $0(t)},c_=e=>{let t=typeof e=="string"?[e]:e,n=[];for(let r of t){let o=MV(r.trim());o&&n.push(o)}return L0(n)};function MV(e){let t=e.split(";").map(c=>c.trim()).filter(c=>c!=="");if(t.length===0)return;let n=t[0].indexOf("=");if(n===-1)return;let r=t[0].slice(0,n);if(!d_.test(r))return;let o=t[0].slice(n+1),s=LV(o);if(t.length===1)return Object.assign(Object.create(F0),{name:r,value:s,valueEncoded:o});let i={};for(let c=1;c<t.length;c++){let d=t[c],u=d.indexOf("="),l=u===-1?d:d.slice(0,u).trim(),p=u===-1?void 0:d.slice(u+1).trim();switch(l.toLowerCase()){case"domain":{if(p===void 0)break;let f=p.trim().replace(/^\./,"");f&&(i.domain=f);break}case"expires":{if(p===void 0)break;let f=new Date(p);isNaN(f.getTime())||(i.expires=f);break}case"max-age":{if(p===void 0)break;let f=parseInt(p,10);isNaN(f)||(i.maxAge=yc(f));break}case"path":{if(p===void 0)break;p[0]==="/"&&(i.path=p);break}case"priority":{if(p===void 0)break;switch(p.toLowerCase()){case"low":i.priority="low";break;case"medium":i.priority="medium";break;case"high":i.priority="high";break}break}case"httponly":{i.httpOnly=!0;break}case"secure":{i.secure=!0;break}case"partitioned":{i.partitioned=!0;break}case"samesite":{if(p===void 0)break;switch(p.toLowerCase()){case"lax":i.sameSite="lax";break;case"strict":i.sameSite="strict";break;case"none":i.sameSite="none";break}break}}}return Object.assign(Object.create(F0),{name:r,value:s,valueEncoded:o,options:Object.keys(i).length>0?i:void 0})}var _V=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,d_=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,UV=/^[\u0009\u0020-\u003a\u003c-\u007e\u0080-\u00ff]+$/,NV=/^[\u0020-\u003a\u003c-\u007e]+$/,F0={[U0]:U0,...Ct,toJSON(){return{_id:"effect/Cookies/Cookie",name:this.name,value:this.value,options:this.options}}};function FV(e,t,n){let r=encodeURIComponent(t),o=u_(e,r,n);return o!==void 0?J(o):L(Object.assign(Object.create(F0),{name:e,value:t,valueEncoded:r,options:n}))}function u_(e,t,n){if(!d_.test(e))return da.fromReason("InvalidCookieName");if(t&&!_V.test(t))return da.fromReason("InvalidCookieValue");if(n?.domain!==void 0&&!UV.test(n.domain))return da.fromReason("InvalidCookieDomain");if(n?.path!==void 0&&!NV.test(n.path))return da.fromReason("InvalidCookiePath");if(n?.maxAge!==void 0&&!Mi(Dt(n.maxAge)))return da.fromReason("CookieInfinityMaxAge")}var l_=(e,t,n)=>Nr(FV(e,t,n));function $V(e){let t=u_(e.name,e.valueEncoded,e.options);if(t!==void 0)throw t;let n=e.name+"="+e.valueEncoded;if(e.options===void 0)return n;let r=e.options;if(r.maxAge!==void 0){let o=bo(Dt(r.maxAge));n+="; Max-Age="+Math.trunc(o)}if(r.domain!==void 0&&(n+="; Domain="+r.domain),r.path!==void 0&&(n+="; Path="+r.path),r.priority!==void 0)switch(r.priority){case"low":n+="; Priority=Low";break;case"medium":n+="; Priority=Medium";break;case"high":n+="; Priority=High";break}if(r.expires!==void 0&&(n+="; Expires="+r.expires.toUTCString()),r.httpOnly&&(n+="; HttpOnly"),r.secure&&(n+="; Secure"),r.partitioned&&(n+="; Partitioned"),r.sameSite!==void 0)switch(r.sameSite){case"lax":n+="; SameSite=Lax";break;case"strict":n+="; SameSite=Strict";break;case"none":n+="; SameSite=None";break}return n}var p_=e=>{let t={},n=Object.values(e.cookies);for(let r=0;r<n.length;r++){let o=n[r];P(t,o.name,o.value)}return t},f_=e=>Object.values(e.cookies).map($V);var LV=e=>{try{return decodeURIComponent(e)}catch{return e}};var ua=new WeakMap,m_=e=>{if(ua.has(e))return ua.get(e);throw new Error("Unable to get redacted value"+(e.label?` with label: "${e.label}"`:""))};var h_="~effect/Redacted",jc=e=>O(e,h_),rs=(e,t)=>{let n=Object.create(jV);return t?.label&&(n.label=t.label),ua.set(n,e),n},jV={[h_]:{_A:e=>e},label:void 0,...Pr,toJSON(){return this.toString()},toString(){return`<redacted${Rr(this.label)?":"+this.label:""}>`},[Y](){return H(ua.get(this))},[X](e){return jc(e)&&V(ua.get(this),ua.get(e))}},Ws=m_;var g_=e=>ht((t,n)=>e(Ws(t),Ws(n)));var q0=Symbol.for("~effect/http/Headers"),x_=e=>O(e,q0),B0=Object.defineProperties(Object.create(null),{[q0]:{value:q0},[Lo]:{value(e){return zV(this,et(e,WV))}},toJSON:{value(){return Or(this)}},[X]:{value(e){return z0(this,e)}},[Y]:{value(){return ru(this)}},toString:{value:Ct.toString},[je]:{value:Ct[je]}});var z0=MA(Ts()),HV=Object.create(B0),S_=e=>{if(e===void 0)return HV;if(Symbol.iterator in e){let n=Object.create(B0);for(let[r,o]of e)n[r.toLowerCase()]=o;return n}let t=Object.create(B0);for(let[n,r]of Object.entries(e))Array.isArray(r)?t[n.toLowerCase()]=r.join(", "):r!==void 0&&(t[n.toLowerCase()]=r);return t};var zV=h(2,(e,t)=>{let n={...e},r=o=>{if(typeof o=="string"){let s=o.toLowerCase();s in e&&(n[s]=rs(e[s]))}else for(let s in e)s.search(o)!==-1&&(n[s]=rs(e[s]))};if(Array.isArray(t))for(let o=0;o<t.length;o++)r(t[o]);else r(t);return n}),b_=(e,t)=>{let n=e.toLowerCase();for(let r=0;r<t.length;r++){let o=t[r];if(typeof o=="string"){if(o.toLowerCase()===n)return!0}else if(e.search(o)!==-1)return!0}return!1},WV=Ue("effect/Headers/CurrentRedactedNames",{defaultValue:()=>["authorization","cookie","set-cookie","x-api-key"]}),y_="~effect/http/Headers/HeaderParseError",j0=class extends Xf{},Ch=class e extends ur("HeaderParseError"){static fromReason(t,n){return new e({reason:new j0({_tag:t,input:n})})}[y_]=y_;get message(){return`${this.reason._tag}: ${JSON.stringify(this.reason.input)}`}};var KV=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],GV=[/^(?:mon|tue|wed|thu|fri|sat|sun), (?<day>\d{2}) (?<month>[a-z]{3}) (?<year>\d{4}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) gmt$/i,/^(?:monday|tuesday|wednesday|thursday|friday|saturday|sunday), (?<day>\d{2})-(?<month>[a-z]{3})-(?<year>\d{2}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) gmt$/i,/^(?:mon|tue|wed|thu|fri|sat|sun) (?<month>[a-z]{3}) (?<day> \d|\d{2}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) (?<year>\d{4})$/i],v_=e=>{for(let t of GV){let n=t.exec(e)?.groups;if(n===void 0)continue;let r=KV.indexOf(n.month.toLowerCase()),o=Number(n.hour),s=Number(n.minute),i=Number(n.second);if(r===-1||o>23||s>59||i>60)return;let c=Number(n.year);n.year.length===2&&(c+=c<70?2e3:1900);let d=Number(n.day),u=new Date(0);return u.setUTCFullYear(c,r,d),u.getUTCFullYear()!==c||u.getUTCMonth()!==r||u.getUTCDate()!==d?void 0:u.getTime()+((o*60+s)*60+i)*1e3}},I_=e=>{let t=v_(e.trim());return t===void 0?J(Ch.fromReason("InvalidHttpDate",e)):L(qc(t))},W0=e=>al(e).toUTCString();var VV=e=>({_tag:"DateTime",dateTime:e}),JV=/^\d+$/,H0=BigInt(1e9),w_=e=>{let t=e.trim();if(JV.test(t)){let r=Number(t),o=Number.isSafeInteger(r*1e3)?yc(r):Tn(BigInt(t)*H0);return L({_tag:"Duration",duration:o})}let n=v_(t);return n===void 0?J(Ch.fromReason("InvalidRetryAfter",e)):L(VV(qc(n)))},k_=e=>e._tag==="Duration"?String((gc(e.duration)+H0-BigInt(1))/H0):W0(e.dateTime);var gl=e=>typeof e=="string"?e:Ws(e);var K0="~effect/http/UrlParams",G0=e=>O(e,K0),ZV={...Pr,[K0]:K0,[Symbol.iterator](){return this.params[Symbol.iterator]()},[Lo](e){return{_id:"UrlParams",params:Object.fromEntries(XV(this,et(e,tJ)))}},toJSON(){return Or(this)},[X](e){return V0(this,e)},[Y](){return po(this.params.flat())}},Dh=e=>{let t=Object.create(ZV);return t.params=e,t},R_=e=>{if(G0(e))return e;let t=O_(e),n=[];for(let r=0;r<t.length;r++)if(Array.isArray(t[r][0])){let[o,s]=t[r];n.push([`${o[0]}[${o.slice(1).join("][")}]`,s])}else n.push(t[r]);return Dh(n)},O_=e=>{let t=typeof e[Symbol.iterator]=="function"?En(e):Object.entries(e),n=[];for(let[r,o]of t)if(Array.isArray(o))for(let s=0;s<o.length;s++)o[s]!==void 0&&n.push([r,A_(o[s])]);else if(o!==null&&typeof o=="object"&&!jc(o)){let s=O_(o);for(let[i,c]of s)n.push([[r,...typeof i=="string"?[i]:i],c])}else o!==void 0&&n.push([r,A_(o)]);return n},A_=e=>jc(e)?e:String(e),V0=ht((e,t)=>QV(e.params,t.params)),QV=NA(RA([Ts(),su()]));var C_=h(2,(e,t)=>$x(e.params,([n])=>n===t).pipe(Gt(([,n])=>gl(n))));var YV=e=>{let t={};for(let[n,r]of e.params){let o=gl(r);if(!Object.hasOwn(t,n))P(t,n,o);else{let s=t[n];typeof s=="string"?P(t,n,[s,o]):s.push(o)}}return t},D_=YV,XV=h(2,(e,t)=>{let n=Array.isArray(t)?t:[t];return e.params.map(([r,o])=>[r,typeof o=="string"&&eJ(r,n)?rs(o):o])}),eJ=b_;var tJ=Ue("effect/http/UrlParams/CurrentRedactedNames",{defaultValue:()=>["AWSAccessKeyId","Signature","sig","X-Goog-Signature"]});var J0="~effect/Graph",Z0=e=>O(e,J0),P_=e=>e;var rJ=(e,t,n)=>(e==="directed"?t.source===n.source&&t.target===n.target:t.source===n.source&&t.target===n.target||t.source===n.target&&t.target===n.source)&&V(t.data,n.data),oJ=(e,t)=>e==="directed"?H(t):Ht(ce(H(t.data),sJ(t.source,t.target))),sJ=(e,t)=>ce(0,H(e))+ce(0,H(t)),iJ=De("Graph"),aJ={[J0]:{_N:e=>e,_E:e=>e},[Symbol.iterator](){return this.nodes[Symbol.iterator]()},[je](){return this.toJSON()},[X](e){if(O(e,J0)){let t=P_(e);if(this.nodes.size!==t.nodes.size||this.edges.size!==t.edges.size||this.type!==t.type)return!1;for(let[n,r]of this.nodes)if(!t.nodes.has(n)||!V(r,t.nodes.get(n)))return!1;for(let[n,r]of this.edges){let o=t.edges.get(n);if(o===void 0||!rJ(this.type,r,o))return!1}return!0}return!1},[Y](){let e=iJ;e=e^De(this.type),e=e^Ot(this.nodes.size),e=e^Ot(this.edges.size);for(let[t,n]of this.nodes)e^=ce(H(t),H(n));for(let[t,n]of this.edges)e^=ce(H(t),oJ(this.type,n));return Ht(e)},toJSON(){return{_id:"Graph",nodeCount:this.nodes.size,edgeCount:this.edges.size,type:this.type}},toString(){return`Graph(${this.type}, ${this.nodes.size}, ${this.edges.size})`},pipe(){return ie(this,arguments)}},cJ=(e,t)=>{let n=Object.create(aJ);return n.type=e,n.mutable=t,n.transforming=!1,n.nodes=new Map,n.edges=new Map,n.adjacency=new Map,n.reverseAdjacency=new Map,n.nextNodeIndex=0,n.nextEdgeIndex=0,n.acyclic=$(!0),n};var yl=e=>{let t=P_(e);return{type:e.type,nodes:Array.from(t.nodes,([n,r])=>({index:n,data:r})).sort((n,r)=>n.index-r.index),edges:Array.from(t.edges,([n,r])=>({index:n,source:r.source,target:r.target,data:r.data})).sort((n,r)=>n.index-r.index)}},Ph=e=>{let t=cJ(e.type,!1);for(let n of e.nodes)t.nodes.set(n.index,n.data),t.adjacency.set(n.index,[]),t.reverseAdjacency.set(n.index,[]);for(let n of e.edges)t.edges.set(n.index,{source:n.source,target:n.target,data:n.data}),t.adjacency.get(n.source).push(n.index),t.reverseAdjacency.get(n.target).push(n.index),e.type==="undirected"&&(t.adjacency.get(n.target).push(n.index),t.reverseAdjacency.get(n.source).push(n.index));return t.nextNodeIndex=e.nodes.length===0?0:e.nodes[e.nodes.length-1].index+1,t.nextEdgeIndex=e.edges.length===0?0:e.edges[e.edges.length-1].index+1,t.acyclic=N(),t};function os(e){return e.checks?e.checks[e.checks.length-1].annotations:e.annotations}function Mh(e){return t=>os(t)?.[e]}var On="~structural",la="~identifier",xl="~sentinels",_h="~constructor",M_=["title","description","default","examples","readOnly","writeOnly","format","contentEncoding","contentMediaType","contentSchema"],Hc=Mh("identifier"),Q0=Mh(la),Y0=Mh("title");var Sl=Ar(e=>{let t=os(e)?.identifier;return typeof t=="string"?t:e.getExpected(Sl)}),__=new Set([xl,On,"representation","arbitraryConstraint","toJsonSchema","toCode","toEquivalence","toFormatter","toCodec","toCodecJson","toCodecStringTree","toCodecIso","toCodecArbitrary"]);var fe=Symbol();var Xt=qu,Cn=Xt(fe),Ze=Xt(fe),bl=e=>e===fe?N():$(e),X0=e=>e._tag==="None"?Cn:Xt(e.value);var kl="~effect/SchemaIssue/Issue";function tv(e){return O(e,kl)&&e[kl]===kl}function uJ(e){return Object.hasOwn(e,"input")}var Zn=class{[kl]=kl;constructor(t,n){n?.reportInput===!0&&t!==fe&&(this.input=t)}},U_=class extends Zn{_tag="Filter";filter;issue;constructor(e,t,n,r){super(n,r),this.filter=e,this.issue=t}},N_=class extends Zn{_tag="Encoding";ast;issue;constructor(e,t,n,r){super(n,r),this.ast=e,this.issue=t}},Pt=class extends Zn{_tag="Pointer";path;issue;constructor(e,t){super(),this.path=e,this.issue=t}},ss=class extends Zn{_tag="MissingKey";annotations;constructor(e){super(),this.annotations=e}},nv=class extends Zn{_tag="UnexpectedKey";ast;constructor(e,t,n){super(t,n),this.ast=e}},Mt=class extends Zn{_tag="Composite";ast;issues;constructor(e,t,n,r){super(n,r),this.ast=e,this.issues=t}},vt=class extends Zn{_tag="InvalidType";ast;constructor(e,t,n){super(t,n),this.ast=e}},Z=class extends Zn{_tag="InvalidValue";annotations;constructor(e,t,n){super(t,n),this.annotations=e}};function Dn(e,t,n,r,o){return new Mt(e,[new Pt([t],n)],r,o)}var El=class extends Zn{_tag="Forbidden";annotations;constructor(e,t,n){super(t,n),this.annotations=e}},Tl=class extends Zn{_tag="AnyOf";ast;issues;constructor(e,t,n,r){super(n,r),this.ast=e,this.issues=t}},F_=class extends Zn{_tag="OneOf";ast;successes;constructor(e,t,n,r){super(n,r),this.ast=e,this.successes=t}};function ev(e,t,n){if(tv(e))return e;if(typeof e=="string")return new Z({message:e},t,n);let r=typeof e.issue=="string"?new Z({message:e.issue},t,n):e.issue;return new Pt(e.path,r)}function rv(e,t,n){if(e!==void 0)return typeof e=="boolean"?e?void 0:new Z(void 0,t,n):ev(e,t,n)}function $_(e,t,n,r){return Array.isArray(t)?_A(t)?t.length===1?ev(t[0],n,r):new Mt(e,Ko(t,o=>ev(o,n,r)),n,r):void 0:rv(t,n,r)}var L_=e=>{let t=Wc(e);if(t!==void 0)return t;switch(e._tag){case"InvalidType":return zc(Sl(e.ast),e);case"InvalidValue":{let n=j_(e);if(n!==void 0)return zc(n,e);let r=Uh(e);return r===void 0?"Expected a valid value":`Invalid data ${r}`}case"MissingKey":return"Missing key";case"UnexpectedKey":{let n=Uh(e);return n===void 0?"Expected no excess property":`Unexpected key with value ${n}`}case"Forbidden":return"Forbidden operation";case"OneOf":{let n=Uh(e);return n===void 0?"Expected exactly one member to match":`Expected exactly one member to match the input ${n}`}}},q_=e=>Wc(e)??Wc(e.issue);function B_(e){return t=>({issues:Il(t,[],e?.leafHook??L_,e?.checkHook??q_)})}function Uh(e){return uJ(e)?U(e.input):void 0}function j_(e){let t=e.annotations?.expected;return typeof t=="string"?t:void 0}function zc(e,t){let n=Uh(t);return n===void 0?`Expected ${e}`:`Expected ${e}, got ${n}`}function H_(e,t){let n=t(e);if(n!==void 0||e.issue._tag!=="InvalidValue")return n;let r=j_(e.issue);return r===void 0?zc(z_(e.filter),e):zc(r,e.issue)}function Il(e,t,n,r,o){switch(e._tag){case"Filter":return Il(e.issue,t,n,r,o??H_(e,r));case"Encoding":return Il(e.issue,t,n,r,o);case"Pointer":return Il(e.issue,[...t,...e.path],n,r,o);case"Composite":case"AnyOf":return e._tag==="Composite"||e.issues.length>0?e.issues.flatMap(s=>Il(s,t,n,r,o)):[{path:t,message:o??Wc(e)??zc(Sl(e.ast),e)}];default:return[{path:t,message:o??n(e)}]}}function z_(e){let t=e.annotations?.expected;if(typeof t=="string")return t;switch(e._tag){case"Filter":return"<filter>";case"FilterGroup":return e.checks.map(n=>z_(n)).join(" & ")}}function lJ(){return e=>wl(e,"")}var W_=lJ();function wl(e,t,n){let r;switch(e._tag){case"Filter":return wl(e.issue,t,n??H_(e,q_));case"Encoding":return wl(e.issue,t,n);case"Pointer":return wl(e.issue,t+Sf(e.path),n);case"Composite":case"AnyOf":{if(e._tag==="Composite"||e.issues.length>0)return e.issues.map(o=>wl(o,t,n)).join(`
|
|
24
|
+
`);r=n??Wc(e)??zc(Sl(e.ast),e);break}default:r=n??L_(e);break}return t?`${r}
|
|
25
|
+
at ${t}`:r}function Wc(e){if(e._tag==="Pointer"||e._tag==="Composite")return;if(e._tag==="Encoding")return Wc(e.issue);let n=(e._tag==="Filter"?e.filter.annotations:"annotations"in e?e.annotations:e.ast.annotations)?.[e._tag==="MissingKey"?"messageMissingKey":e._tag==="UnexpectedKey"?"messageUnexpectedKey":"message"];if(typeof n=="string")return n}function Al(e){let t;for(let n of e.reasons){if(!$m(n)||!tv(n.error))return;t??=n.error}return t}function Pn(e,t){let n=Al(e);if(n===void 0)throw new Error(t,{cause:e});return n}var hn={};Re(hn,{BigInt:()=>uv,Boolean:()=>bJ,Date:()=>qh,Number:()=>Dl,String:()=>Gs,camelToSnake:()=>hv,capitalize:()=>pv,checkEffect:()=>SJ,collectBracketPathEntries:()=>Uv,compose:()=>Ol,dateTimeUtcFromInput:()=>IJ,decodeBase64:()=>Iv,decodeBase64String:()=>wv,decodeBase64Url:()=>kv,decodeBase64UrlString:()=>Ev,decodeFormData:()=>Cv,decodeHex:()=>Tv,decodeHexString:()=>Av,decodeURLSearchParams:()=>Pv,decodeUriComponent:()=>Ov,encodeBase64:()=>Bh,encodeBase64Url:()=>Pl,encodeFormData:()=>Dv,encodeHex:()=>Ml,encodeURLSearchParams:()=>Mv,encodeUriComponent:()=>Rv,fail:()=>G_,forbidden:()=>pa,forbiddenEncoding:()=>cv,joinKeyValue:()=>vv,makeTreeRecord:()=>_v,map:()=>mJ,omit:()=>$h,parseJson:()=>xv,passthrough:()=>Sn,passthroughSubtype:()=>yJ,passthroughSupertype:()=>gJ,required:()=>xJ,run:()=>fJ,snakeToCamel:()=>mv,split:()=>vJ,splitKeyValue:()=>bv,stringifyJson:()=>Sv,succeed:()=>hJ,toLowerCase:()=>gv,toUpperCase:()=>yv,transform:()=>K,transformEffect:()=>yt,transformOptional:()=>Jr,transformOptionalEffect:()=>Cl,trim:()=>lv,uncapitalize:()=>fv,withDefault:()=>Lh});var Kc={};Re(Kc,{decode:()=>Nh,decodeString:()=>iv,encode:()=>ov,encodePadded:()=>sv});var ov=e=>oa(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),sv=e=>oa(e).replace(/\+/g,"-").replace(/\//g,"_"),Nh=e=>{let t=e.replace(/[\n\r]/g,""),n=t.length;if(n%4===1)return J(new lr({module:"Base64Url",kind:"Decode",input:t,message:`Length should be a multiple of 4, but is ${n}`}));if(!/^[-_A-Z0-9]*?={0,2}$/i.test(t))return J(new lr({module:"Base64Url",kind:"Decode",input:t,message:"Invalid input"}));let r=n%4===2?`${t}==`:n%4===3?`${t}=`:t;return r=r.replace(/-/g,"+").replace(/_/g,"/"),sa(r)},iv=e=>bt(Nh(e),t=>pJ.decode(t)),pJ=new TextDecoder;var av=(e,t,n)=>{switch(e._tag){case"Passthrough":return C(t);case"Transform":return C(Gt(t,e.transform));case"TransformOptional":return C(e.transform(t));case"TransformEffect":return ae(t)?Yu:ta(e.transform(t.value,n),$);case"TransformOptionalEffect":return e.transform(t,n)}},fJ=h(3,av),Rl=e=>Object.assign(Object.create(ex),e),Fh=(e,t)=>Cl((n,r)=>Nt(av(e,n,r),o=>av(t,o,r))),Ol=h(2,(e,t)=>{if(e._tag==="Passthrough")return t;if(t._tag==="Passthrough")return e;switch(e._tag){case"Transform":switch(t._tag){case"Transform":return K(n=>t.transform(e.transform(n)));case"TransformOptional":return Jr(n=>t.transform(Gt(n,e.transform)));case"TransformEffect":return yt((n,r)=>t.transform(e.transform(n),r));case"TransformOptionalEffect":return Fh(e,t)}case"TransformOptional":switch(t._tag){case"Transform":return Jr(n=>Gt(e.transform(n),t.transform));case"TransformOptional":return Jr(n=>t.transform(e.transform(n)));case"TransformEffect":case"TransformOptionalEffect":return Fh(e,t)}case"TransformEffect":switch(t._tag){case"Transform":return yt((n,r)=>ta(e.transform(n,r),t.transform));case"TransformOptional":case"TransformOptionalEffect":return Fh(e,t);case"TransformEffect":return yt((n,r)=>Nt(e.transform(n,r),o=>t.transform(o,r)))}case"TransformOptionalEffect":return Fh(e,t)}}),mJ=h(2,(e,t)=>Ol(e,K(t)));function hJ(e){return Jr(()=>$(e))}function G_(e){return Cl((t,n)=>D(e(t,n)))}function pa(e){return G_((t,n)=>{let r={message:e(t)};return st(t)?new El(r,t.value,n):new El(r)})}var cv=pa(()=>"Encoding is not supported"),dv=Rl({_tag:"Passthrough"});function Sn(){return dv}function gJ(){return dv}function yJ(){return dv}function xJ(e){return Cl(t=>ae(t)?D(new ss(e)):C(t))}function SJ(e){return yt((t,n)=>e(t,n).pipe(Nt(r=>{let o=rv(r,t,n);return o?D(o):C(t)})))}function K(e){return Rl({_tag:"Transform",transform:e})}function yt(e){return Rl({_tag:"TransformEffect",transform:e})}function Jr(e){return Rl({_tag:"TransformOptional",transform:e})}function Cl(e){return Rl({_tag:"TransformOptionalEffect",transform:e})}function $h(){return Jr(()=>N())}function Lh(e){return Cl(t=>{let n=Oi(t,bs);return st(n)?C(n):ta(e,$)})}function Gs(){return K(globalThis.String)}function Dl(){return K(globalThis.Number)}function bJ(){return K(globalThis.Boolean)}function uv(){return yt((e,t)=>{try{return C(globalThis.BigInt(e))}catch{return D(new Z({expected:"a value that can be converted to a bigint"},e,t))}})}function qh(){return K(e=>new globalThis.Date(e))}function lv(){return K(EP)}function pv(){return K(wP)}function fv(){return K(kP)}function mv(){return K(TP)}function hv(){return K(AP)}function gv(){return K(_b)}function yv(){return K(Mb)}function xv(e){return yt((t,n)=>Nc({try:()=>JSON.parse(t,e?.reviver),catch:()=>new Z({expected:"a valid JSON string"},t,n)}))}function Sv(e){return yt((t,n)=>Nc({try:()=>{let r=JSON.stringify(t,e?.replacer,e?.space);if(r===void 0)throw new TypeError("Value cannot be represented as JSON");return r},catch:()=>new Z({expected:"a JSON-serializable value"},t,n)}))}function bv(e){let t=e?.separator??",",n=e?.keyValueSeparator??"=";return K(r=>r.split(t).reduce((o,s)=>{if(n===""){let[u,l]=s.split("");return u&&l&&P(o,u,l),o}let i=s.indexOf(n);if(i<=0)return o;let c=s.slice(0,i),d=s.slice(i+n.length);return d&&P(o,c,d),o},{}))}function vv(e){let t=e?.separator??",",n=e?.keyValueSeparator??"=";return K(r=>Object.entries(r).map(([o,s])=>`${o}${n}${s}`).join(t))}function vJ(e){let t=e?.separator??",";return K(n=>n===""?[]:n.split(t))}function Bh(){return K(oa)}function Pl(e){return K(e?.padding?sv:ov)}function Ml(){return K(em)}function Iv(){return yt((e,t)=>Fc(tl(sa(e)),()=>new Z({expected:"a valid Base64 string"},e,t)))}function wv(){return yt((e,t)=>Vt(jM(e),{onFailure:()=>D(new Z({expected:"a valid Base64 string"},e,t)),onSuccess:C}))}function kv(){return yt((e,t)=>Vt(Nh(e),{onFailure:()=>D(new Z({expected:"a valid Base64Url string"},e,t)),onSuccess:C}))}function Ev(){return yt((e,t)=>Vt(iv(e),{onFailure:()=>D(new Z({expected:"a valid Base64Url string"},e,t)),onSuccess:C}))}function Tv(){return yt((e,t)=>Vt(Gx(e),{onFailure:()=>D(new Z({expected:"a valid hexadecimal string"},e,t)),onSuccess:C}))}function Av(){return yt((e,t)=>Vt(oR(e),{onFailure:()=>D(new Z({expected:"a valid hexadecimal string"},e,t)),onSuccess:C}))}function Rv(){return K(encodeURIComponent)}function Ov(){return yt((e,t)=>{try{return C(globalThis.decodeURIComponent(e))}catch{return D(new Z({expected:"a valid URI component"},e,t))}})}function IJ(){return yt((e,t)=>lt(Bs(e),{onNone:()=>D(new Z({message:"Invalid DateTime input"},e,t)),onSome:n=>C(js(n))}))}function Cv(){return K(e=>_v(Array.from(e.entries())))}var wJ=Uv(e=>typeof e=="string"||typeof Blob<"u"&&e instanceof Blob);function Dv(){return K(e=>{let t=new FormData;return typeof e=="object"&&e!==null&&wJ(e).forEach(([r,o])=>{t.append(r,o)}),t})}function Pv(){return K(e=>_v(Array.from(e.entries())))}var kJ=Uv(Rr);function Mv(){return K(e=>typeof e=="object"&&e!==null?new URLSearchParams(kJ(e)):new URLSearchParams)}function EJ(e){if(e==="")return[""];let t=e.replace(/\[(.*?)\]/g,".$1"),n=t.split("."),r=t.startsWith(".")?1:0;return n.slice(r).map(o=>zf(o)?globalThis.Number(o):o)}var TJ=20;function _v(e){let t={},n=new WeakSet,r=new WeakSet,o=new Map;e.forEach(([s,i])=>{let c=EJ(s),d=t;for(let u=0;u<c.length;u++){let l=o.get(d),p=c[u]===""&&l!==void 0?l.length:c[u];l!==void 0&&typeof p=="number"&&(l.length=Math.max(l.length,p+1));let f=Object.hasOwn(d,p),g=f?d[p]:void 0;if(u===c.length-1){let b=o.get(g);if(b!==void 0)P(g,b.length++,i);else if(r.has(g))g.push(i);else if(f){let S=[g,i];r.add(S),P(d,p,S)}else P(d,p,i)}else{let b=c[u+1],S=typeof b=="number"||b==="";if(n.has(g)&&o.has(g)===S)d=g;else{let y={};n.add(y),S&&o.set(y,{parent:d,key:p,length:0}),P(d,p,y),d=y}}}});for(let[s,{key:i,length:c,parent:d}]of Array.from(o).reverse())d[i]===s&&c-Object.keys(s).length<=TJ&&P(d,i,Object.assign(new Array(c),s));return t}function Uv(e){return t=>{let n=[];function r(o,s){if(e(s))n.push([o,s]);else if(Array.isArray(s))s.every(e)?s.forEach(c=>{n.push([o,c])}):s.forEach((c,d)=>{r(`${o}[${d}]`,c)});else if(typeof s=="object"&&s!==null)for(let[i,c]of Object.entries(s))r(`${o}[${i}]`,c)}for(let[o,s]of Object.entries(t))r(o,s);return n}}var Zr={};Re(Zr,{Middleware:()=>Ul,Transformation:()=>ve,bigDecimalFromString:()=>jJ,bigintFromString:()=>$l,byteSizeFromBigInt:()=>Lv,byteSizeFromNumber:()=>qv,byteSizeFromString:()=>Hh,capitalize:()=>DJ,composeTransformation:()=>AJ,dateFromMillis:()=>$v,dateFromString:()=>jh,dateTimeUtcFromString:()=>KJ,dateTimeZonedFromString:()=>GJ,defectFromJson:()=>jv,durationFromMillis:()=>$J,durationFromNanos:()=>FJ,durationFromString:()=>NJ,errorFromJsonError:()=>Bv,fromFormData:()=>Xv,fromJsonString:()=>Yv,fromURLSearchParams:()=>eI,isTransformation:()=>V_,makeTransformation:()=>Nl,numberFromString:()=>ma,optionFromNullOr:()=>Hv,optionFromNullishOr:()=>Wv,optionFromOptional:()=>Gv,optionFromOptionalKey:()=>Kv,optionFromUndefinedOr:()=>zv,passthrough:()=>fa,passthroughSubtype:()=>UJ,passthroughSupertype:()=>_J,snakeToCamel:()=>RJ,splitKeyValue:()=>MJ,stringFromBase64String:()=>Vv,stringFromBase64UrlString:()=>Jv,stringFromHexString:()=>Zv,stringFromUriComponent:()=>Qv,timeZoneFromString:()=>WJ,timeZoneNamedFromString:()=>zJ,timeZoneOffsetFromNumber:()=>HJ,toLowerCase:()=>OJ,toUpperCase:()=>CJ,transform:()=>Pe,transformEffect:()=>Ke,transformOptional:()=>Fl,trim:()=>Nv,uint8ArrayFromBase64String:()=>Wh,uncapitalize:()=>PJ,urlFromString:()=>zh});var Ul=class extends Ss{_tag="Middleware";decode;encode;constructor(e,t){super(),this.decode=e,this.encode=t}flip(){return new Ul(this.encode,this.decode)}},_l="~effect/SchemaTransformation/Transformation",ve=class extends Ss{[_l]=_l;_tag="Transformation";decode;encode;constructor(e,t){super(),this.decode=e,this.encode=t}flip(){return new ve(this.encode,this.decode)}},AJ=h(2,(e,t)=>new ve(Ol(e.decode,t.decode),Ol(t.encode,e.encode)));function V_(e){return O(e,_l)&&e[_l]===_l}var Nl=e=>V_(e)?e:new ve(e.decode,e.encode);function Ke(e){return new ve(yt(e.decode),yt(e.encode))}function Pe(e){return new ve(K(e.decode),K(e.encode))}function Fl(e){return new ve(Jr(e.decode),Jr(e.encode))}function Nv(){return new ve(lv(),Sn())}function RJ(){return new ve(mv(),hv())}function OJ(){return new ve(gv(),Sn())}function CJ(){return new ve(yv(),Sn())}function DJ(){return new ve(pv(),Sn())}function PJ(){return new ve(fv(),Sn())}function MJ(e){return new ve(bv(e),vv(e))}var Fv=new ve(Sn(),Sn());function fa(){return Fv}function _J(){return Fv}function UJ(){return Fv}var ma=new ve(Dl(),Gs()),$l=new ve(uv(),Gs()),jh=new ve(qh(),K(ux)),$v=new ve(qh(),K(e=>e.getTime())),NJ=Ke({decode:(e,t)=>lt(Zf(e),{onNone:()=>D(new Z({expected:"a valid Duration string"},e,t)),onSome:C}),encode:e=>C(String(e))}),FJ=Ke({decode:e=>C(Tn(e)),encode:(e,t)=>lt(Yf(e),{onNone:()=>D(new Z({expected:"a Duration representable as a bigint"},e,t)),onSome:n=>C(n)})}),$J=Pe({decode:e=>So(e),encode:e=>dr(e)}),Hh=Ke({decode:(e,t)=>lt(OM(e),{onNone:()=>D(new Z({expected:"a valid ByteSize string"},e,t)),onSome:C}),encode:e=>C(`${e} ${e===BigInt(1)?"byte":"bytes"}`)}),Lv=Ke({decode:(e,t)=>lt(a0(e),{onNone:()=>D(new Z({expected:"a non-negative bigint byte count"},e,t)),onSome:C}),encode:e=>C(gh(e))}),qv=Ke({decode:(e,t)=>lt(a0(e),{onNone:()=>D(new Z({expected:"a non-negative safe-integer byte count"},e,t)),onSome:C}),encode:(e,t)=>lt(MM(e),{onNone:()=>D(new Z({expected:"a ByteSize representable as a safe integer"},e,t)),onSome:C})}),LJ=e=>qn(e)&&typeof e.message=="string",J_=e=>{let n=Object.hasOwn(e,"cause")?new Error(e.message,{cause:Q_(e.cause)}):new Error(e.message);return typeof e.name=="string"&&e.name!=="Error"&&(n.name=e.name),typeof e.stack=="string"&&(n.stack=e.stack),n},qJ=e=>{try{let t=yi(e);return t===void 0?U(e):JSON.parse(t)}catch{return U(e)}},BJ=(e,t,n)=>{let r={name:e.name,message:typeof e.message=="string"?e.message:""};return t?.includeStack&&typeof e.stack=="string"&&(r.stack=e.stack),!t?.excludeCause&&e.cause!==void 0&&(r.cause=n(e.cause)),r},Z_=e=>{let t=new WeakSet,n=r=>{if(AT(r)){if(t.has(r))return"[Circular]";t.add(r);let o=BJ(r,e,n);return t.delete(r),o}return qJ(r)};return n},Q_=e=>LJ(e)?J_(e):e,Bv=e=>Pe({decode:J_,encode:t=>Z_(e)(t)}),jv=e=>Pe({decode:Q_,encode:Z_(e)});function Hv(){return Pe({decode:Ax,encode:Mf})}function zv(){return Pe({decode:Tx,encode:xo})}function Wv(e){return Pe({decode:hu,encode:e?.onNoneEncoding===null?Mf:xo})}function Kv(){return Fl({decode:$,encode:Ri})}function Gv(){return Fl({decode:e=>e.pipe(Oi(bs),$),encode:Ri})}var zh=Ke({decode:(e,t)=>URL.canParse(e)?C(new URL(e)):D(new Z({expected:"a valid URL string"},e,t)),encode:e=>C(e.href)}),jJ=Ke({decode:(e,t)=>{let n=hh(e);return ae(n)?D(new Z({expected:"a valid BigDecimal string"},e,t)):C(n.value)},encode:e=>C(Kr(e))}),Wh=new ve(Iv(),Bh()),Vv=new ve(wv(),Bh()),Jv=new ve(Ev(),Pl()),Zv=new ve(Av(),Ml()),Qv=new ve(Ov(),Rv());function Yv(e){return new ve(xv(e??{}),Sv(e))}var Xv=new ve(Cv(),Dv()),eI=new ve(Pv(),Mv()),HJ=Pe({decode:e=>ra(e),encode:e=>e.offset}),zJ=Ke({decode:(e,t)=>lt(sl(e),{onNone:()=>D(new Z({expected:"a valid IANA time zone"},e,t)),onSome:C}),encode:e=>C(e.id)}),WJ=Ke({decode:(e,t)=>lt(il(e),{onNone:()=>D(new Z({expected:"a valid time zone"},e,t)),onSome:C}),encode:e=>C(Hs(e))}),KJ=Ke({decode:(e,t)=>lt(Bs(e),{onNone:()=>D(new Z({expected:"a valid UTC DateTime string"},e,t)),onSome:n=>C(js(n))}),encode:e=>C(cl(e))}),GJ=Ke({decode:(e,t)=>lt(ol(e),{onNone:()=>D(new Z({expected:"a valid Zoned DateTime string"},e,t)),onSome:C}),encode:e=>C(Bc(e))});function Js(e){return t=>t._tag===e}var Qc=Js("Declaration");var VJ=Js("Never");var Vc=Js("Literal"),nI=Js("UniqueSymbol");var Jh=Js("Arrays"),uI=Js("Objects"),Zh=Js("Union"),Ll=Js("Suspend"),xt=class{to;transformation;constructor(e,t){this.to=e,this.transformation=t}},Ao={},To=class{isOptional;isMutable;constructorDefault;annotations;constructor(e,t,n=void 0,r=void 0){this.isOptional=e,this.isMutable=t,this.constructorDefault=n,this.annotations=r}},Y_="~effect/Schema",It=class{[Y_]=Y_;annotations;checks;encoding;context;constructor(t=void 0,n=void 0,r=void 0,o=void 0){this.annotations=t,this.checks=n,this.encoding=r,this.context=o}toString(){return`<${this._tag}>`}},Yc=class extends It{_tag="Declaration";typeParameters;run;encodingChecks;encodingRun;constructor(e,t,n,r,o,s,i,c){super(n,r,o,s),this.typeParameters=e,this.run=t,this.encodingChecks=i,this.encodingRun=c}getParser(){let e;return(t,n)=>{if(t===fe)return Cn;e??=this.run(this.typeParameters);try{return e(t,this,n)}catch(r){return zr(r)}}}_rebuild(e,t,n,r,o){let s=ga(this.typeParameters,e);return s===this.typeParameters&&t===this.checks&&n===this.encodingChecks&&r===this.run&&o===this.encodingRun?this:new Yc(s,r,this.annotations,t,void 0,this.context,n,o)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks,this.run,this.encodingRun)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks,this.encodingRun??this.run,this.run)}getExpected(){let e=this.annotations?.expected;return typeof e=="string"?e:"<Declaration>"}},JJ=class extends It{_tag="Null";getParser(){return og(this,null)}getExpected(){return"null"}},ql=new JJ;var ZJ=class extends It{_tag="Undefined";getParser(){return og(this,void 0)}toCodecJson(){return Ye(this,[iU])}getExpected(){return"undefined"}},iU=new xt(ql,new ve(K(()=>{}),K(()=>null))),lI=new ZJ;var QJ=class extends It{_tag="Void";getParser(){let e=Xt(void 0);return t=>t===fe?Cn:e}toCodecJson(){return Ye(this,[iU])}getExpected(){return"void"}},aU=new QJ;var YJ=class extends It{_tag="Never";getParser(){return Xr(this,TT)}getExpected(){return"never"}},Xc=new YJ,XJ=class extends It{_tag="Any";getParser(){return Xr(this,nx)}getExpected(){return"any"}},cU=new XJ,e8=class extends It{_tag="Unknown";getParser(){return Xr(this,nx)}getExpected(){return"unknown"}},is=new e8,t8=class extends It{_tag="ObjectKeyword";getParser(){return Xr(this,tu)}getExpected(){return"object | array | function"}},dU=new t8,uU=class extends It{_tag="Enum";enums;constructor(e,t,n,r,o){super(t,n,r,o);for(let[,s]of e)if(typeof s=="number"&&!globalThis.Number.isFinite(s))throw new Error(`A numeric enum value must be finite, got ${U(s)}`);this.enums=e}getParser(){let e=new Set(this.enums.map(([,t])=>t));return Xr(this,t=>e.has(t))}toCodecStringTree(){if(this.enums.some(([e,t])=>typeof t=="number")){let e=Object.fromEntries(this.enums.map(([t,n])=>[globalThis.String(n),n]));return Ye(this,[new xt(new bn(Object.keys(e).map(t=>new Qn(t))),new ve(K(t=>e[t]),Gs()))])}return this}getExpected(){return this.enums.map(([e,t])=>JSON.stringify(t)).join(" | ")}};function tI(e){return typeof e=="number"?`parts[${e}]`:e}function rI(e,t,n){if(n.has(e))return!0;if(e.encoding)throw new Error(`TemplateLiteral parts cannot have an encoding at ${tI(t)}`);let r;switch(e._tag){case"String":case"Number":case"BigInt":r=!0;break;case"Literal":r=!e.checks;break;case"TemplateLiteral":{let o=tI(t);r=!e.checks&&e.parts.every((s,i)=>rI(s,`${o}.parts[${i}]`,n));break}case"Union":{let o=tI(t);r=!e.checks&&e.types.every((s,i)=>rI(s,`${o}.types[${i}]`,n));break}default:return!1}return r&&n.add(e),r}var pI=class extends It{_tag="TemplateLiteral";parts;encodedParts;literals;suffixLengths;constructor(e,t,n,r,o){super(t,n,r,o);let s=[],i=[],c=new Set;for(let u=0;u<e.length;u++){let l=e[u];if(!rI(l,u,c))throw new Error(`Invalid TemplateLiteral part ${l._tag}`);s.push(l),i.push(l._tag==="Literal"?globalThis.String(l.literal):void 0)}let d=new Array(s.length+1);d[s.length]=0;for(let u=s.length-1;u>=0;u--)d[u]=d[u+1]+(i[u]?.length??0);this.parts=e,this.encodedParts=s,this.literals=i,this.suffixLengths=d}getParser(e){let t=new Xn(!1,this.parts.map(AI),[]),n=e(xa(Mn,t,pU(this)));return(r,o)=>{if(r===fe)return Cn;let s=n(r,o);return s._tag==="Success"?Ze:Qt(s,{onSuccess:()=>r,onFailure:i=>new Mt(this,[i],r,o)})}}getExpected(){return"string"}matchPart(e,t){return UU(this,e,t)===void 0?void 0:e}};function lU(e){let t=Ar(o=>{if(o._tag!=="Union")return o;let s=ga(o.types,t);return(o.options?.mode??"anyOf")==="anyOf"&&s===o.types?o:new bn(s,o.options===void 0?void 0:{...o.options,mode:"anyOf"},o.annotations,o.checks,void 0,o.context)}),n=new pI(e.map(o=>t(Yr(o)))),r=new Xn(!1,e.map(AI),[]);return xa(n,r,pU(n))}function pU(e){return new ve(yt((t,n)=>{let r=UU(e,t,n);return r?C(r):D(new Z({expected:"a string matching template literal parts"},t,n))}),K(t=>t.join("")))}var fU=class extends It{_tag="UniqueSymbol";symbol;constructor(e,t,n,r,o){super(t,n,r,o),this.symbol=e}getParser(){return og(this,this.symbol)}toCodecStringTree(){let e=globalThis.Symbol.keyFor(this.symbol);return Ye(this,[new xt(e===void 0?Xc:new Qn(globalThis.String(this.symbol)),$U.transformation)])}getExpected(){return globalThis.String(this.symbol)}},Qn=class extends It{_tag="Literal";literal;constructor(e,t,n,r,o){if(super(t,n,r,o),typeof e=="number"&&!globalThis.Number.isFinite(e))throw new Error(`A numeric literal must be finite, got ${U(e)}`);this.literal=e}getParser(){return og(this,this.literal)}matchPart(e,t){return e===globalThis.String(this.literal)?this.literal:void 0}toCodecJson(){return typeof this.literal=="bigint"?X_(this):this}toCodecStringTree(){return typeof this.literal=="string"?this:X_(this)}getExpected(){return typeof this.literal=="string"?JSON.stringify(this.literal):globalThis.String(this.literal)}};function X_(e){let t=globalThis.String(e.literal);return Ye(e,[new xt(new Qn(t),new ve(K(()=>e.literal),K(()=>t)))])}var n8=class extends It{_tag="String";getParser(){return Xr(this,Rr)}matchPart(e,t){let n=this.checks;return n&&!t.disableChecks&&eo(n,e,void 0,this,t)?void 0:e}getExpected(){return"string"}},Mn=new n8,r8=class extends It{_tag="Number";getParser(){return Xr(this,eu)}matchKey(e,t){return this._match(v8,e,t)}matchPart(e,t){return this._match(aI,e,t)}_match(e,t,n){if(!e.test(t))return;let r=globalThis.Number(t);return n.disableChecks||!this.checks?r:eo(this.checks,r,void 0,this,n)?void 0:r}toCodecJson(){return this.checks&&(oI(this.checks,"effect/schema/isFinite")||oI(this.checks,"effect/schema/isInt"))?this:Ye(this,[m8])}toCodecStringTree(){return this.toCodecJson()===this?Ye(this,[I8]):Ye(this,[w8])}getExpected(){return"number"}};function oI(e,t){return e.some(n=>n.annotations?.representation?.id===t||n._tag==="FilterGroup"&&oI(n.checks,t))}var fI=new r8,o8=class extends It{_tag="Boolean";getParser(){return Xr(this,mf)}getExpected(){return"boolean"}},mU=new o8,s8=class extends It{_tag="Symbol";getParser(){return Xr(this,tx)}matchKey(e,t){return t.disableChecks||!this.checks?e:eo(this.checks,e,void 0,this,t)?void 0:e}toCodecStringTree(){return Ye(this,[$U])}getExpected(){return"symbol"}},hU=new s8,i8=class extends It{_tag="BigInt";getParser(){return Xr(this,kT)}matchPart(e,t){if(!cI.test(e))return;let n=globalThis.BigInt(e);return t.disableChecks||!this.checks?n:eo(this.checks,n,void 0,this,t)?void 0:n}toCodecStringTree(){return Ye(this,[E8])}getExpected(){return"bigint"}},gU=new i8,Xn=class extends It{_tag="Arrays";isMutable;elements;rest;encodingChecks;constructor(e,t,n,r,o,s,i,c){super(r,o,s,i),this.isMutable=e,this.elements=t,this.rest=n,this.encodingChecks=c;let d=!1;for(let u=0;u<t.length;u++)if(qt(t[u]))d=!0;else if(d)throw new Error("A required element cannot follow an optional element. ts(1257)");if(d&&n.length>1)throw new Error("A required element cannot follow an optional element. ts(1257)");for(let u=1;u<n.length;u++)if(qt(n[u]))throw new Error("An optional element cannot follow a rest element. ts(1266)")}getParser(e,t=e){let n=this,r,o,s=n.elements.length,i=Math.max(0,n.rest.length-1);function c(l,p){return p<s?r[p]:p>=l?o[p-l+1]:o[0]}let d=l=>{let{input:p,len:f,options:g}=l;if(n.rest.length===0&&f>s)for(let b=s;b<f;b++){let S=new nv(n,p[b],g),y=new Pt([b],S);if(g.errors==="all")l.issues?l.issues.push(y):l.issues=[y];else return D(new Mt(n,[y],p,g))}return l.issues?D(new Mt(n,l.issues,p,g)):Xt(l.output)},u=(l,p)=>{let f=l.length,g={ast:n,getParser:c,input:l,len:f,tailThreshold:Math.max(s,f-i),output:[],issues:void 0,options:p},b=n.rest.length===0?s:Math.max(f,s+i),S=p.concurrency===void 0?1:$u(p.concurrency),y=S===1?c8(g,l,0,b):d8(g,l,{concurrency:S,end:b});if(!y)return d(g);if(qe(y))return Nt(y,()=>d(g));let I=!0;return Xu(()=>I?(I=!1,mn(y,()=>d(g))):u(l,p))};return(l,p)=>{if(l===fe)return Cn;try{return Array.isArray(l)?(r||(r=n.elements.map(f=>({ast:f,parser:t(f)})),o=n.rest.map(f=>({ast:f,parser:t(f)}))),u(l,p)):D(new vt(n,l,p))}catch(f){return zr(f)}}}_rebuild(e,t,n){let r=ga(this.elements,e),o=ga(this.rest,e);return r===this.elements&&o===this.rest&&t===this.checks&&n===this.encodingChecks?this:new Xn(this.isMutable,r,o,this.annotations,t,void 0,this.context,n)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks)}getExpected(){return"array"}};function a8(e,t,n,r){if(n._tag==="Failure")return Gh(e,e.ast,r,n);let o=n===Ze?t:n[de];if(o!==fe)e.output[r]=o;else{let s=e.getParser(e.tailThreshold,r);if(qt(s.ast))return;let i=new Pt([r],new ss(s.ast.context?.annotations));if(e.options.errors==="all")e.issues?e.issues.push(i):e.issues=[i];else return Oc(new Mt(e.ast,[i],e.input,e.options))}}var yU={onItem(e,t,n){let r=n<e.len?t:fe;return e.getParser(e.tailThreshold,n).parser(r,e.options)},step:a8},c8=Mm()(yU),d8=_m()(yU),Gh=(e,t,n,r)=>{if(r.cause.reasons.length===0)return r;let o=Al(r.cause);if(o===void 0)return Wi(Ns(r.cause,i=>new Mt(t,[new Pt([n],i)],e.input,e.options)));let s=new Pt([n],o);if(e.options.errors==="all")e.issues?e.issues.push(s):e.issues=[s];else return Oc(new Mt(t,[s],e.input,e.options))},ed="[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?";function Vs(e,t,n=Ao){let r,o;function s(i){switch(i._tag){case"String":case"TemplateLiteral":return(r??=Object.keys(e)).filter(c=>i.matchPart(c,n)!==void 0);case"Number":return(r??=Object.keys(e)).filter(c=>i.matchKey(c,n)!==void 0);case"Symbol":return(o??=Object.getOwnPropertySymbols(e)).filter(c=>Object.prototype.propertyIsEnumerable.call(e,c)&&i.matchKey(c,n)!==void 0);case"Union":return[...new Set(i.types.flatMap(s))];default:return[]}}return s(TI(Yr(t)))}var mI=class{name;type;constructor(e,t){this.name=e,this.type=t}};function xU(e){switch(e._tag){case"String":case"Number":case"Symbol":case"TemplateLiteral":return!0;case"Union":return e.types.every(xU);default:return!1}}function SU(e){let t=Qs(e);switch(t._tag){case"String":case"Number":case"Symbol":case"TemplateLiteral":return!0;case"Union":return t.types.every(SU);default:return!1}}function u8(e){return xU(e)&&SU(e)}var hI=class{parameter;type;constructor(e,t){if(!u8(e))throw new Error(`Invalid index signature parameter ${e._tag}`);if(this.parameter=e,this.type=t,qt(t)&&!_U(t))throw new Error("Cannot use `Schema.optionalKey` with index signatures, use `Schema.optional` instead.")}},Bl=class extends It{_tag="Objects";propertySignatures;indexSignatures;encodingChecks;constructor(e,t,n,r,o,s,i){super(n,r,o,s),this.propertySignatures=e,this.indexSignatures=t,this.encodingChecks=i}getParser(e,t=e){let n=this,r=n.propertySignatures.length,o=n.indexSignatures.length;if(!r&&!o)return Xr(n,gf);let s,i,c=()=>(s||(s=n.propertySignatures.map(p=>({parser:t(p.type),name:p.name,type:p.type})),i=o?n.indexSignatures.map(p=>({is:p,parserKey:e(TI(p.parameter)),parserValue:t(p.type)})):void 0),s),d=()=>{let p=new Set(n.propertySignatures.map(y=>typeof y.name=="number"?globalThis.String(y.name):y.name)),f=(y,I,v,R,A)=>{if(A._tag==="Failure")return Gh(y,n,I,A)??Cc;let k=A===Ze?R:A[de];if(v!==fe&&k!==fe){if(r&&(p.has(I)||p.has(typeof v=="number"?globalThis.String(v):v)))return Cc;P(y.out,v,k)}return Cc},g=(y,I,v,R)=>{if(!R){let w=v.parserKey(I,y.options);if(!qe(w))return mn(ea(w),E=>g(y,I,v,E));R=w}if(R._tag==="Failure")return Gh(y,n,I,R)??Cc;let A=R===Ze?I:R[de],k=y.input[I],x=v.parserValue(k,y.options);return qe(x)?f(y,I,A,k,x):mn(ea(x),w=>f(y,I,A,k,w))},b=(y,I,v)=>{let R=y.input[I],A=v.parserValue(R,y.options);return qe(A)?f(y,I,I,R,A):mn(ea(A),k=>f(y,I,I,R,k))},S=o?_m()({onItem:(y,[I,v])=>v.is.parameter===Mn?b(y,I,v):g(y,I,v),step:(y,I,v)=>v._tag==="Failure"?v:void 0}):void 0;return Xb(function*(y,I){if(y===fe)return fe;if(!(typeof y=="object"&&y!==null&&!Array.isArray(y)))return yield*D(new vt(n,y,I));c();let v=y,R={},A={ast:n,input:v,out:R,issues:void 0,options:I},k=I.errors==="all",x=I.onExcessProperty==="error",w=I.concurrency===void 0?1:$u(I.concurrency),E=o&&x?n.indexSignatures.map(T=>Vs(v,T.parameter,I)):void 0;if(x){let T=E?new Set(p):p;if(E)for(let j of E)for(let se of j)T.add(se);let _=Reflect.ownKeys(v);for(let j=0;j<_.length;j++){let se=_[j];if(!T.has(se)&&Object.prototype.propertyIsEnumerable.call(v,se)){let he=new nv(n,v[se],I),Te=new Pt([se],he);if(k){A.issues?A.issues.push(Te):A.issues=[Te];continue}else return yield*D(new Mt(n,[Te],y,I))}}}if(r){let T=w===1?eU(A,s):l8(A,s,{concurrency:w});T&&(yield*T)}if(o&&w===1)for(let T=0;T<o;T++){let _=i[T],j=_.is.parameter===Mn?b:g,se=E?.[T]??(_.is.parameter===Mn?Object.keys(v):Vs(v,_.is.parameter,I));for(let he=0;he<se.length;he++){let Te=j(A,se[he],_);if(!qe(Te))yield*Te;else if(Te._tag==="Failure")return yield*Te}}else if(S){let T=Wf();for(let j=0;j<o;j++){let se=i[j],he=E?.[j]??(se.is.parameter===Mn?Object.keys(v):Vs(v,se.is.parameter,I));for(let Te=0;Te<he.length;Te++)T.push([he[Te],se])}let _=S(A,T,{concurrency:w});_&&(yield*_)}return A.issues?yield*D(new Mt(n,A.issues,y,I)):R})};if(o)return d();let u,l=(p,f,g)=>{let b=s[f];return mn(ea(g),S=>{let y={...p,out:{...p.out}},I=sI(y,b,S);if(I)return I;let v=()=>Xt(y.out),R=eU(y,s.slice(f+1));return R?Nt(R,v):v()})};return(p,f)=>{if(p===fe)return Cn;if(f.errors==="all"||f.onExcessProperty!==void 0||f.concurrency!==void 0&&$u(f.concurrency)!==1)return(u??=d())(p,f);if(!(typeof p=="object"&&p!==null&&!Array.isArray(p)))return D(new vt(n,p,f));let g=c(),b=p,S={},y={ast:n,input:b,out:S,issues:void 0,options:f};try{for(let I=0;I<g.length;I++){let v=g[I],R=v.name,A=Gc(b,R),k=A?b[R]:fe,x=v.parser(k,f);if(!qe(x))return l(y,I,x);if(x===Ze){A&&P(S,R,k);continue}let w=sI(y,v,x);if(w)return w}}catch(I){return zr(I)}return Xt(S)}}_rebuild(e,t,n,r){let o=ga(this.propertySignatures,i=>{let c=e(i.type);return c===i.type?i:new mI(i.name,c)}),s=ga(this.indexSignatures,i=>{let c=t(i.parameter),d=e(i.type);return c===i.parameter&&d===i.type?i:new hI(c,d)});return o===this.propertySignatures&&s===this.indexSignatures&&n===this.checks&&r===this.encodingChecks?this:new Bl(o,s,this.annotations,n,void 0,this.context,r)}flip(e){return this._rebuild(e,e,this.encodingChecks,this.checks)}recur(e,t=e){return this._rebuild(e,t,this.checks,this.encodingChecks)}getExpected(){return this.propertySignatures.length===0&&this.indexSignatures.length===0?"object | array":"object"}};function sI(e,t,n){if(n._tag==="Failure")return Gh(e,e.ast,t.name,n);if(n===Ze)return;let r=n[de];if(r!==fe){P(e.out,t.name,r);return}if(delete e.out[t.name],!qt(t.type)){let o=new Pt([t.name],new ss(t.type.context?.annotations));if(e.options.errors==="all"){e.issues?e.issues.push(o):e.issues=[o];return}else return Oc(new Mt(e.ast,[o],e.input,e.options))}}var bU={onItem(e,t){if(!Gc(e.input,t.name))return t.parser(fe,e.options);let n=e.input[t.name];return P(e.out,t.name,n),t.parser(n,e.options)},step:sI},eU=Mm()(bU),l8=_m()(bU);function gI(e,t){return e?t?[...e,...t]:e:t}function Qh(e,t,n){return new Bl(Reflect.ownKeys(e).map(r=>new mI(r,e[r].ast)),[],n,t)}function jl(e){return e.ast}function yI(e,t=void 0){return new Xn(!1,e.map(n=>n.ast),[],void 0,t)}function Yh(e,t,n){return new bn(e.map(jl),t,void 0,n)}function vU(e,t){if(e.encoding||t.some(s=>s.encoding))throw new Error("StructWithRest does not support encodings");let n=e.propertySignatures,r=e.indexSignatures,o=e.checks;for(let s of t){for(let i of s.propertySignatures)if(n.some(c=>c.name===i.name))throw new Error(`Duplicate identifier: ${JSON.stringify(i.name)}. ts(2300)`);n=n.concat(s.propertySignatures),r=r.concat(s.indexSignatures),o=gI(o,s.checks)}return new Bl(n,r,void 0,o)}function IU(e,t){if(e.encoding)throw new Error("TupleWithRest does not support encodings");return new Xn(e.isMutable,e.elements,t,void 0,e.checks)}function wU(e){if(e.encoding)throw new Error("mutable does not support encodings");return new Xn(!0,e.elements,e.rest,e.annotations,e.checks,void 0,e.context,e.encodingChecks)}var xI=Fo(e=>{for(;;){if(Ll(e))return is;let t=e.encoding;if(!t)return e.recur?.(xI,Q)??e;if(t.some(n=>n.transformation._tag==="Middleware"&&n.transformation.decode!==Q))return is;e=t[t.length-1].to}});function kU(e){switch(e._tag){case"Null":return["null"];case"Undefined":return["undefined"];case"String":case"TemplateLiteral":return["string"];case"Number":return["number"];case"Boolean":return["boolean"];case"Symbol":case"UniqueSymbol":return["symbol"];case"BigInt":return["bigint"];case"Arrays":return["array"];case"ObjectKeyword":return["object","array","function"];case"Objects":return e.propertySignatures.length||e.indexSignatures.length?["object"]:["string","number","boolean","symbol","bigint","object","array","function"];case"Enum":return Array.from(new Set(e.enums.map(([,t])=>typeof t)));case"Literal":return[typeof e.literal];case"Union":return Array.from(new Set(e.types.flatMap(kU)));default:return["null","undefined","string","number","boolean","symbol","bigint","object","array","function"]}}function Jc(e){switch(e._tag){default:return[];case"Declaration":{let t=e.annotations?.[xl];return Array.isArray(t)?t:[]}case"Objects":return e.propertySignatures.flatMap(t=>{let n=t.type;if(!qt(n)){if(Vc(n))return[{key:t.name,literal:n.literal}];if(nI(n))return[{key:t.name,literal:n.symbol}]}return[]});case"Arrays":return e.elements.flatMap((t,n)=>{if(!qt(t)){if(Vc(t))return[{key:n,literal:t.literal}];if(nI(t))return[{key:n,literal:t.symbol}]}return[]});case"Union":{if(e.types.length===0)return[];let t=e.types.map(n=>Jc(xI(n)));return t[0].filter(n=>t.every(r=>r.some(o=>o.key===n.key&&o.literal===n.literal)))}case"Suspend":return Jc(e.thunk())}}var tU=new WeakMap,Kh=Object.freeze([]),nU=e=>e===null?"null":Array.isArray(e)?"array":typeof e,Gc=(e,t)=>t==="__proto__"?Object.hasOwn(e,t):t in e;function Hl(e){let t=tU.get(e);if(t)return t;let n,r=0,o,s,i=!0,c=[];for(let l=0;l<e.length;l++){let p=e[l],f=xI(p);if(VJ(f))continue;if(Vc(f)||nI(f)){s??=new Map;let b=Vc(f)?f.literal:f.symbol;c[l]=b;let S=s.get(b);S||s.set(b,S=[]),S.push(l)}else i=!1;let g=Jc(f);if(g.length){n??=new Map,r++;for(let{key:b,literal:S}of g){let y=n.get(b);y||n.set(b,y=[new Map,new Set]),y[1].add(l);let I=y[0].get(S);I||y[0].set(S,I=new Set),I.add(l)}}else{o??={};let b=kU(f);for(let S of b)(o[S]??=[]).push(l)}}let d={},u=l=>d[l]??=Object.freeze(o?.[l]??Kh);if(i&&s)s.forEach(Object.freeze),t=l=>s.get(l)??Kh;else if(n?.size===1&&!o){let[l,[p]]=n.entries().next().value,f=new Map;for(let[b,S]of p)f.set(b,Object.freeze(Array.from(S)));let g=Object.freeze(e.map((b,S)=>S));t=(b,S)=>{if(tu(b)){let y=Gc(b,l)?b[l]:void 0;if(y!==void 0)return f.get(y)??Kh;if(S)return g}return Kh}}else if(n){let l;for(let p of n)(!l||p[1][0].size>l[1][0].size)&&p[1][1].size===r&&(l=p);t=(p,f)=>{let g=nU(p);if(!tu(p))return u(g);let b=new Set(o?.[g]),S;if(l){let[y,[I]]=l,v=Gc(p,y),R=v?p[y]:void 0;if(v&&(!f||R!==void 0)){let A=I.get(R);if(!A)return u(g);for(let k of A)b.add(k);S=y}}if(S===void 0)for(let[y,[I,v]]of n){let R=Gc(p,y),A=R?p[y]:void 0;if(R&&(!f||A!==void 0)){let k=I.get(A);if(k)for(let x of k)b.add(x)}else if(f)for(let k of v)b.add(k)}for(let[y,[I,v]]of n){if(y===S)continue;let R=Gc(p,y),A=R?p[y]:void 0;if(R&&(!f||A!==void 0)){let k=I.get(A);for(let x of b)v.has(x)&&!k?.has(x)&&b.delete(x)}}return Array.from(b).sort((y,I)=>y-I)}}else t=l=>{let p=u(nU(l));return s?p.filter(f=>c[f]===void 0||c[f]===l):p};return tU.set(e,t),t}var bn=class extends It{_tag="Union";types;options;encodingChecks;constructor(e,t,n,r,o,s,i){super(n,r,o,s),this.types=e,this.options=t,this.encodingChecks=i}getParser(e,t){let n=this,r=t!==void 0,o=[],s=c=>o[c]??=e(n.types[c]),i;return(c,d)=>{if(c===fe)return Cn;let u=(i??=Hl(n.types))(c,r);if(u.length===0)return D(new Tl(n,[],c,d));if(u.length===1){let l=s(u[0])(c,d);return l._tag==="Success"?l:qe(l)?EU(n,l.cause,c,d):p8(n,l,c,d)}return TU(n,s,u,c,d)}}_rebuild(e,t,n){let r=ga(this.types,e);return r===this.types&&t===this.checks&&n===this.encodingChecks?this:new bn(r,this.options,this.annotations,t,void 0,this.context,n)}recur(e){return this._rebuild(e,this.checks,this.encodingChecks)}flip(e){return this._rebuild(e,this.encodingChecks,this.checks)}matchPart(e,t){for(let n of this.types){let r=n.matchPart(e,t);if(r!==void 0)return r}}getExpected(e){let t=this.annotations?.expected;if(typeof t=="string")return t;if(this.types.length===0)return"never";let n=this.types.map(r=>{let o=Yr(r);switch(o._tag){case"Arrays":{let s=o.elements.filter(Vc);if(s.length>0)return`${oU(o.isMutable)}[ ${s.map(i=>e(i)+sU(i.context?.isOptional)).join(", ")}, ... ]`;break}case"Objects":{let s=o.propertySignatures.filter(i=>Vc(i.type));if(s.length>0)return`{ ${s.map(i=>`${oU(i.type.context?.isMutable)}${fo(i.name)}${sU(i.type.context?.isOptional)}: ${e(i.type)}`).join(", ")}, ... }`;break}}return e(o)});return Array.from(new Set(n)).join(" | ")}};function EU(e,t,n,r){let o=Al(t);return o?Oc(new Tl(e,[o],n,r)):Wi(t)}function p8(e,t,n,r){return Ls(t,o=>EU(e,o,n,r))}function TU(e,t,n,r,o){let s={ast:e,parser:t,input:r,out:void 0,successes:e.options?.mode==="oneOf"?[]:void 0,issues:void 0,options:o},i=f8(s,n);if(!i)return s.out?s.out:D(new Tl(e,s.issues??[],r,o));if(qe(i))return rU(i,s);let c=!0;return Xu(()=>c?(c=!1,rU(i,s)):TU(e,t,n,r,o))}function rU(e,t){return Nt(e,n=>t.out===Ze?C(t.input):t.out?t.out:D(new Tl(t.ast,t.issues??[],t.input,t.options)))}var f8=Mm()({onItem(e,t){return e.parser(t)(e.input,e.options)},step(e,t,n){if(n._tag==="Failure"){let r=Al(n.cause);if(r===void 0)return n;e.issues?e.issues.push(r):e.issues=[r]}else{if(e.out&&e.successes)return e.successes.push(e.ast.types[t]),Oc(new F_(e.ast,e.successes,e.input,e.options));if(e.out=n,e.successes)e.successes.push(e.ast.types[t]);else return Cc}}}),AU=new bn([new Qn("Infinity"),new Qn("-Infinity"),new Qn("NaN")]);function oU(e){return e?"":"readonly "}function sU(e){return e?"?":""}var SI=class extends It{_tag="Suspend";thunk;constructor(e,t,n,r,o){if(n)throw new Error("Cannot add checks to Suspend");super(t,void 0,r,o);let s;this.thunk=()=>s??=e()}getParser(e){let t;return(n,r)=>(t??=e(this.thunk()))(n,r)}recur(e){return new SI(()=>e(this.thunk()),this.annotations,void 0,void 0,this.context)}getExpected(e){return e(this.thunk())}},Vh=class extends Ss{_tag="Filter";run;annotations;aborted;constructor(e,t=void 0,n=!1){super(),this.run=e,this.annotations=t,this.aborted=n}annotate(e){return new Vh(this.run,{...this.annotations,...e},this.aborted)}abort(){return new Vh(this.run,this.annotations,!0)}and(e,t){return new ha([this,e],t)}},ha=class extends Ss{_tag="FilterGroup";checks;annotations;constructor(e,t=void 0){super(),this.checks=e,this.annotations=t}annotate(e){return new ha(this.checks,{...this.annotations,...e})}and(e,t){return new ha([this,e],t)}};function Xh(e,t,n=!1){return new Vh((r,o,s)=>$_(o,e(r,o,s),r,s),t,n)}function eg(e,t){return new Vh((n,r,o)=>e(n)?void 0:new Z(void 0,n,o),t,!0)}function bI(e){return Xh(t=>globalThis.Number.isFinite(t),{expected:"a finite number",representation:{id:"effect/schema/isFinite",payload:null},toJsonSchema:()=>({type:"number"}),toCode:()=>({runtime:"Schema.isFinite()"}),arbitraryConstraint:{number:"finite"},...e})}var vI=Ro(fI,[bI()]),m8=new xt(new bn([vI,AU]),new ve(Dl(),K(e=>globalThis.Number.isFinite(e)?e:globalThis.String(e))));function zl(e,t){let n=new globalThis.RegExp(e),r={source:n.source,flags:n.flags};return Xh(o=>(n.lastIndex=0,n.test(o)),{expected:`a string matching the RegExp ${r.source}`,representation:{id:"effect/schema/isPattern",payload:r},toJsonSchema:()=>[{},!0],arbitraryConstraint:{patterns:[r]},...t})}var iI=new WeakMap;function Wl(e,t){let n=Object.assign(Object.create(Object.getPrototypeOf(e)),e,t);return Reflect.ownKeys(t).every(r=>r==="context"||r==="encoding")&&iI.set(n,Zs(e)),n}function Zs(e){let t=iI.get(e);if(t!==void 0)return t;if(e.encoding===void 0)return e;let n=Object.assign(Object.create(Object.getPrototypeOf(e)),e,{encoding:void 0});return iI.set(e,n),n}function Ye(e,t){return e.encoding===t?e:Wl(e,{encoding:t})}function hr(e,t){if(e.context===t)return e;let n=Zs(e);return n.context===t&&n.encoding===e.encoding?n:Wl(e,{context:t})}function Qs(e){return e.encoding?Qs(e.encoding[e.encoding.length-1].to):e}function Qr(e,t){if(e.checks){let n=e.checks[e.checks.length-1];return Kl(e,Hf(e.checks.slice(0,-1),n.annotate(t)))}return Wl(e,{annotations:{...e.annotations,...t}})}function Kl(e,t){if(e._tag==="Suspend"&&t)throw new Error("Cannot add checks to Suspend");return e.checks===t?e:Wl(e,{checks:t})}function Ro(e,t){return Kl(e,gI(e.checks,t))}function td(e,t){let n=t(e.to);return n===e.to?e:new xt(n,e.transformation)}function II(e,t){let n=e,r=n[n.length-1],o=td(r,t);return o===r?e:Hf(e.slice(0,e.length-1),o)}function wI(e){return t=>t.encoding?Ye(t,II(t.encoding,e)):t}function tg(e,t){return wI(n=>hr(n,t))(e)}function ng(e){function t(n){return n.encoding?Ye(n,II(n.encoding,t)):e(n)}return Ar(t)}function Ys(e,t){function n(r){if(r.encoding){let o=r.encoding[r.encoding.length-1];return t?.stopAt?.(o)?r:Ye(r,II(r.encoding,n))}return e(r)}return Fo(n)}function RU(e,t){return kI(e,t,Tt(e))}function OU(e,t){return kI(Yr(e),t,e)}function kI(e,t,n){let r=new xt(e,t);return Ye(n,n.encoding?[...n.encoding,r]:[r])}function ga(e,t){let n;for(let r=0;r<e.length;r++){let o=e[r],s=t(o);if(n)n[r]=s;else if(s!==o){n=new Array(e.length);for(let i=0;i<r;i++)n[i]=e[i];n[r]=s}}return n??e}function Gl(e,t){let n=e.context?new To(e.context.isOptional,e.context.isMutable,e.context.constructorDefault,{...e.context.annotations,...t}):new To(!1,!1,void 0,t);return hr(e,n)}var ya=Fo(e=>{let t=e.context?e.context.isOptional===!1?new To(!0,e.context.isMutable,e.context.constructorDefault,e.context.annotations):e.context:new To(!0,!1);return h8(hr(e,t))}),h8=wI(ya),CU=Ar(e=>ya(new bn([e,lI]))),EI=Fo(e=>{let t=e.context?e.context.isMutable===!1?new To(e.context.isOptional,!0,e.context.constructorDefault,e.context.annotations):e.context:new To(!1,!0);return g8(hr(e,t))}),g8=wI(EI);function DU(e,t){let n=e.context?new To(e.context.isOptional,e.context.isMutable,t,e.context.annotations):new To(!1,!1,t);return hr(e,n)}function xa(e,t,n){return kI(e,n,t)}function y8(e){let t=[],n=[];function r(o){switch(o._tag){case"Literal":hf(o.literal)&&!t.includes(o.literal)&&t.push(o.literal);return;case"UniqueSymbol":t.includes(o.symbol)||t.push(o.symbol);return;case"Never":return;case"Union":for(let s=0;s<o.types.length;s++)r(o.types[s]);return;default:n.push(o)}}return r(e),{literals:t,parameters:n}}function rg(e,t){let{literals:n,parameters:r}=y8(e);return new Bl(n.map(o=>new mI(o,t)),r.map(o=>new hI(o,t)))}function qt(e){return e.context?.isOptional??!1}function PU(e){return e.context?.isMutable??!1}function MU(e){return e.annotations?.[On]===!0||e._tag==="FilterGroup"&&e.checks.every(MU)}function x8(e){function t(r){return MU(r)?[r]:r._tag==="FilterGroup"?r.checks.flatMap(t):[]}let n=e.flatMap(t);return fc(n)?n:void 0}function S8(e){let t=!0;function n(r){return t=t&&!r.encoding&&!Ll(r),t&&"recur"in r&&r.recur(n),r}return"recur"in e&&e.recur(n),t}var Tt=Fo(e=>{let t=Zs(e);if(t!==e){let r=Tt(t);return r===t&&e.encoding===void 0?e:hr(r,e.context)}let n="recur"in e?e.recur(Tt):e;if("encodingChecks"in n&&n.encodingChecks){let r=S8(e)?n.encodingChecks:Jh(n)||uI(n)||Qc(n)&&n.typeParameters.length>0?x8(n.encodingChecks):void 0;return Wl(n,{encodingChecks:void 0,checks:gI(n.checks,r)})}return n}),Yr=Fo(e=>Tt(Yn(e)));function b8(e,t){let n=t,r=n.length,o=n[r-1],s=[new xt(Yn(Ye(e,void 0)),n[0].transformation.flip())];for(let c=1;c<r;c++)s.unshift(new xt(Yn(n[c-1].to),n[c].transformation.flip()));let i=Yn(o.to);return i.encoding?Ye(i,[...i.encoding,...s]):Ye(i,s)}var Yn=Ar(e=>{if(e.encoding)return b8(e,e.encoding);let t=Zs(e);if(t!==e){let n=Yn(t);return n===t?e:hr(n,e.context)}return"flip"in e?e.flip(Yn):"recur"in e?e.recur(Yn):e});function _U(e){switch(e._tag){case"Undefined":return!0;case"Union":return e.types.some(_U);default:return!1}}function og(e,t){let n=t===0?Ze:Xt(t);return(r,o)=>r===fe?Cn:r===t?n:D(new vt(e,r,o))}function Xr(e,t){return(n,r)=>n===fe?Cn:t(n)?Ze:D(new vt(e,n,r))}function UU(e,t,n){let r=e.encodedParts,o=e.literals,s=t.length;for(let u=0;u<o.length;u++){let l=o[u];if(l&&!t.includes(l))return}if(e.suffixLengths[0]>s)return;let i=new Array(r.length),c;function d(u,l){if(u===r.length)return l===s;if(c?.has(u*(s+1)+l))return!1;let p=r[u];if(u===r.length-1){let f=t.slice(l);if(p.matchPart(f,n)!==void 0)return i[u]=f,!0}else if(p._tag==="Literal"){let f=o[u];if(t.startsWith(f,l)&&d(u+1,l+f.length))return i[u]=f,!0}else{let f=s-e.suffixLengths[u+1],g=o[u+1],b=g===void 0?f:t.lastIndexOf(g,f);for(;b>=l;){let S=t.slice(l,b);if(p.matchPart(S,n)!==void 0&&d(u+1,b))return i[u]=S,!0;if(b===0)break;b=g===void 0?b-1:t.lastIndexOf(g,b-1)}}return c??=new Set,c.add(u*(s+1)+l),!1}return d(0,0)?i:void 0}var TI=Ys(e=>{switch(e._tag){default:return e;case"Number":return e.toCodecStringTree();case"Union":return e.recur(TI)}}),sg=Ys(e=>{switch(e._tag){default:return e;case"Symbol":case"UniqueSymbol":return e.toCodecStringTree();case"Union":return e.recur(sg)}}),AI=Ys(e=>{switch(e._tag){default:return e;case"Number":case"Literal":case"BigInt":return e.toCodecStringTree();case"Union":return e.recur(AI)}}),NU="[\\s\\S]*?",aI=new globalThis.RegExp(`^${ed}$`),v8=new globalThis.RegExp(`^(?:${ed}|Infinity|-Infinity|NaN)$`);function RI(e){return zl(aI,{expected:"a string representing a finite number",representation:{id:"effect/schema/isStringFinite",payload:null},toJsonSchema:()=>({pattern:aI.source}),...e})}var FU=Ro(Mn,[RI()]),I8=new xt(FU,ma),w8=new xt(new bn([FU,AU]),ma),k8="-?\\d+",cI=new globalThis.RegExp(`^${k8}$`);function OI(e){return zl(cI,{expected:"a string representing a bigint",representation:{id:"effect/schema/isStringBigInt",payload:null},toJsonSchema:()=>({pattern:cI.source}),...e})}var CI=Ro(Mn,[OI({expected:"a string representing a bigint"})]),E8=new xt(CI,$l),T8="Symbol\\(([\\s\\S]*)\\)",dI=new globalThis.RegExp(`^${T8}$`),A8=Ro(Mn,[DI()]),$U=new xt(A8,new ve(K(e=>globalThis.Symbol.for(dI.exec(e)[1])),yt((e,t)=>globalThis.Symbol.keyFor(e)!==void 0?C(globalThis.String(e)):D(new El({message:"cannot serialize to string, Symbol is not registered"},e,t)))));function DI(e){return zl(dI,{expected:"a string representing a symbol",representation:{id:"effect/schema/isStringSymbol",payload:null},toJsonSchema:()=>({pattern:dI.source}),...e})}function eo(e,t,n,r,o){for(let s=0;s<e.length;s++){let i=e[s];if(i._tag==="FilterGroup"){if(n=eo(i.checks,t,n,r,o),n&&(o.errors!=="all"||n[n.length-1].filter.aborted))return n}else{let c=i.run(t,r,o);if(c){let d=new U_(i,c,t,o);if(n?n.push(d):n=[d],o.errors!=="all"||i.aborted)return n}}}return n}function LU(e,t){let n=eo(e,t,void 0,is,{errors:"all"});if(n){let r=new Mt(is,n);return J(r)}return L(t)}function qU(e){if(!Qc(e))return;let t=e.annotations?.[_h];return ln(t)?t(e.typeParameters):void 0}function R8(e){return e===null||typeof e=="string"||typeof e=="boolean"||typeof e=="number"&&globalThis.Number.isFinite(e)}function O8(e){return e===void 0||typeof e=="string"}function BU(e,t){let n=new WeakMap,r=[];e:for(;;){if(typeof e!="object"||e===null){if(!t(e))return!1}else{let o=e,s=n.get(o);if(s===!1)return!1;if(s===void 0){let i=Array.isArray(o);if(!i){let c=Object.getPrototypeOf(o);if(c!==null&&c!==Object.prototype&&Object.getPrototypeOf(c)!==null)return!1}n.set(o,!1),r.push({value:o,keys:i?o.length:Object.keys(o),index:0})}}for(;r.length>0;){let o=r[r.length-1],s=o.keys;if(typeof s=="number"){if(o.index<s){e=o.value[o.index++];continue e}}else if(o.index<s.length){e=o.value[s[o.index++]];continue e}n.set(o.value,!0),r.pop()}return!0}}function nd(e){return BU(e,R8)}var Zc=new Yc([],()=>(e,t,n)=>nd(e)?Ze:D(new vt(t,e,n)),{representation:{id:"effect/schema/Json",payload:null},expected:"JSON value",toCodecJson:()=>{},toCodecStringTree:()=>MI}),jU=Qr(Zc,{representation:{id:"effect/schema/MutableJson",payload:null}}),PI=new xt(Zc,fa()),HU=new xt(new bn([new Xn(!1,[],[Zc]),new Bl([],[new hI(Mn,Zc)])]),fa());function C8(e){return BU(e,O8)}var D8=new Yc([],()=>(e,t,n)=>C8(e)?Ze:D(new vt(t,e,n)),{expected:"StringTree",toCodecStringTree:()=>{}}),MI=new xt(D8,fa());var tr={};Re(tr,{_is:()=>sd,_issue:()=>FI,asOption:()=>KI,asserts:()=>$I,decodeEffect:()=>Ql,decodeExit:()=>H8,decodeOption:()=>LI,decodePromise:()=>j8,decodeResult:()=>z8,decodeSync:()=>Yl,decodeUnknownEffect:()=>pt,decodeUnknownExit:()=>pg,decodeUnknownOption:()=>fg,decodeUnknownPromise:()=>B8,decodeUnknownResult:()=>mg,decodeUnknownSync:()=>ZU,encodeEffect:()=>qI,encodeExit:()=>K8,encodeOption:()=>BI,encodePromise:()=>W8,encodeResult:()=>G8,encodeSync:()=>Xl,encodeUnknownEffect:()=>as,encodeUnknownExit:()=>hg,encodeUnknownOption:()=>gg,encodeUnknownPromise:()=>QU,encodeUnknownResult:()=>yg,encodeUnknownSync:()=>YU,is:()=>od,make:()=>Zl,makeEffect:()=>lg,makeOption:()=>Jl,run:()=>ep});var ig=(e,t,n)=>e===Ze?n(t):Nt(e,n);function WU(e){let t=P8(e);return(n,r,o)=>{try{return t(n,r,o)}catch(s){return zr(s)}}}function P8(e){if(e._tag==="Middleware")return(n,r,o)=>{let s=n===Ze?e.decode(Xt(bl(r)),o):e.decode(ta(n,bl),o);return zU(s)};let t=e.decode;switch(t._tag){case"Passthrough":return(n,r)=>n===Ze?Xt(r):n;case"Transform":{let n=r=>r===fe?Cn:Xt(t.transform(r));return(r,o)=>ig(r,o,n)}case"TransformOptional":{let n=r=>X0(t.transform(bl(r)));return(r,o)=>ig(r,o,n)}case"TransformEffect":return(n,r,o)=>ig(n,r,s=>s===fe?Cn:t.transform(s,o));case"TransformOptionalEffect":return(n,r,o)=>ig(n,r,s=>zU(t.transform(bl(s),o)))}}var zU=e=>Nt(e,X0),KU=(e,t,n,r)=>Ls(r,o=>Uc(()=>Ns(o,s=>new N_(e,s,t,n))));function M8(e,t){let n=WU(e.link.transformation),r;return(o,s)=>{if(o===fe)return Cn;if(e.isConstructed(o))return Ze;let i=(r??=t(e.link.to))(o,s);return n(i,o,s)}}function _8(e,t){let n=e.context.constructorDefault;return(r,o)=>{if(r!==fe&&r!==void 0)return t(r,o);let s=n;if(qe(s)&&s._tag==="Success"){let i=t(s[de],o);return i===Ze?s:i}return Nt(KU(e,r,o,s),i=>{let c=t(i,o);return c===Ze?Xt(i):c})}}function _I(e,t){let n=t(e);return e.context?.constructorDefault===void 0?n:_8(e,n)}function Vl(e,t,n,r,o){if(e._tag==="Declaration")for(let b of e.typeParameters)t(b);let s=n?qU(e):void 0,i=s?M8(s,t):r??e.getParser(t,n),c=e.checks,d=e.encoding,u=d?.map(b=>WU(b.transformation)),l=e.encodingChecks;if(!d&&!c&&!l)return i;let p,f=(b,S)=>{let y=i(b,S);try{if(l&&!S.disableChecks)if(qe(y)){if(y._tag==="Success"){let I=y===Ze?b:y[de];if(b!==fe&&I!==fe){let v=eo(l,b,void 0,e,S);v&&(y=D(new Mt(e,v,b,S)))}}}else y=mn(y,I=>{if(b!==fe&&I!==fe){let v=eo(l,b,void 0,e,S);if(v)return D(new Mt(e,v,b,S))}return C(I)});if(c&&!S.disableChecks)if(qe(y)){if(y._tag==="Success"){let I=y===Ze?b:y[de];if(I===fe)return y;let v=eo(c,I,void 0,e,S);v&&(y=D(new Mt(e,v,I,S)))}}else y=mn(y,I=>{if(I!==fe){let v=eo(c,I,void 0,e,S);if(v)return D(new Mt(e,v,I,S))}return C(I)});return y}catch(I){return zr(I)}},g=o===void 0?f:o(f);return d?(b,S)=>{let y=p??=d.map(R=>t(R.to)),I=b,v=y[y.length-1](b,S);for(let R=d.length-1;R>=0;R--)if(v=u[R](v,I,S),R!==0){let A=y[R-1];v._tag==="Success"?(I=v[de],v=A(I,S)):v=Nt(v,k=>{let x=A(k,S);return x===Ze?Xt(k):x})}if(v._tag==="Success"){let R=v[de],A=g(R,S);return A===Ze?v:A}return v=KU(e,b,S,v),Nt(v,R=>{let A=g(R,S);return A===Ze?Xt(R):A})}:g}var dg=Symbol(),GU=new WeakMap,VU,rd=!1;var N8=e=>rd?cg(er,e,"parser"):er(e).parser,JU=e=>rd?cg(er,e,"makeEffect"):er(e).makeEffect,F8=e=>_I(e,JU),ag=class{ast;constructor(t){this.ast=t}get decodeEffect(){return this.cachedDecodeEffect??=Vl(this.ast,N8)}get parser(){return this.decodeEffect}get makeEffect(){return this.cachedMakeEffect??=Vl(this.ast,JU,F8)}},UI=class extends ag{compiled;resolve;constructor(t,n,r){super(t),this.compiled=n,this.resolve=r}save(t,n){return Object.defineProperty(this,t,{value:n}),n}operation(t){let n=this.compiled;return typeof n=="function"?n(this.ast,this.resolve,t):n?.[t]}get is(){return this.save("is",this.operation("is"))}get decode(){return this.save("decode",this.operation("decode"))}get make(){return this.save("make",this.operation("make"))}get decodeEffect(){return this.save("decodeEffect",this.operation("decodeEffect")??Vl(this.ast,t=>cg(this.resolve,t,"parser")))}get parser(){let t=this.decode;return t===void 0?this.decodeEffect:this.save("parser",$8(t,()=>this.decodeEffect))}get makeEffect(){let t=this.operation("makeEffect");if(t!==void 0)return this.save("makeEffect",t);let n=r=>cg(this.resolve,r,"makeEffect");return this.save("makeEffect",Vl(this.ast,n,r=>_I(r,n)))}};function $8(e,t){let n;return(r,o)=>{if(r!==fe)try{let s=e(r,o);if(s!==dg)return s===r?Ze:Xt(s)}catch(s){return zr(s)}return(n??=t())(r,o)}}function cg(e,t,n){let r=e(t);if(r.compiled===void 0||Object.hasOwn(r,n))return r[n];let o;return(s,i)=>(o??=r[n])(s,i)}function er(e){let t=GU.get(e);if(t!==void 0)return t;let n=VU===void 0?new ag(e):new UI(e,VU(e,er),er);return GU.set(e,n),n}function lg(e){let t=e.ast,n;return(r,o)=>(n??=zI(Y8,Tt(t)))(r,o?.disableChecks?o?.parseOptions?{...o.parseOptions,disableChecks:!0}:{disableChecks:!0}:o?.parseOptions)}function Jl(e){let t=lg(e);return(n,r)=>{let o=wo(t(n,r));return Lt(o)?$(o.value):(Pn(o.cause,"Option adapter can only return none for schema issues"),N())}}function Zl(e){return Z8(Tt(e.ast))}function od(e){return sd(e.ast)}function q8(e){if(!rd){let o=id(ep(e));return s=>{let i=o(s,Ao);return Lt(i)?!0:(Pn(i.cause,"Type guard adapter can only return false for schema issues"),!1)}}let t=er(e),n=t.is;if(n!==void 0)return o=>{try{return n(o,Ao)}catch(s){return Pn(Lm(s),"Type guard adapter can only return false for schema issues"),!1}};let r=t.parser;return o=>{let s=wo(HI(r(o,Ao),o));return Lt(s)?!0:(Pn(s.cause,"Type guard adapter can only return false for schema issues"),!1)}}function sd(e){let t=Tt(e),n=r=>(n=q8(t),n(r));return r=>n(r)}function FI(e){let t=ep(e);return(n,r)=>{let o=wo(t(n,r));if(!Lt(o))return Pn(o.cause,"Issue adapter can only return schema issues")}}function $I(e,t){let n=Tt(e.ast),r=er(n).parser(t,Ao),o=wo(HI(r,t));if(QC(o)){let s=Pn(o.cause,"Assertion adapter can only throw schema issues");throw new Error("Schema validation failed",{cause:s})}}function pt(e,t){let n=ep(e.ast);return t===void 0?n:(r,o)=>n(r,jI(t,o))}var Ql=pt;function B8(e,t){return WI(pt(e,t))}function j8(e,t){return WI(Ql(e,t))}function pg(e,t){return id(pt(e,t))}var H8=pg;function fg(e,t){return KI(pt(e,t))}var LI=fg;function mg(e,t){return XU(pt(e,t))}var z8=mg;function ZU(e,t){return rd?eN(e.ast,t):GI(pt(e,t))}var Yl=ZU;function as(e,t){let n=ep(Yn(e.ast));return t===void 0?n:(r,o)=>n(r,jI(t,o))}var qI=as,QU=(e,t)=>WI(as(e,t)),W8=QU;function hg(e,t){return id(as(e,t))}var K8=hg;function gg(e,t){return KI(as(e,t))}var BI=gg;function yg(e,t){return XU(as(e,t))}var G8=yg;function YU(e,t){return rd?eN(Yn(e.ast),t):GI(as(e,t))}var Xl=YU,jI=(e,t)=>t?{...e,...t}:e,ug=e=>e===fe?D(new Z):C(e);function ep(e){return zI(Q8,e)}function HI(e,t){return e===Ze?C(t):qe(e)?e[de]===fe?ug(fe):e:Nt(e,ug)}function zI(e,t){let n;return(r,o)=>{let s=(n??=e(t))(r,o??Ao);return s===Ze?C(r):qe(s)?s[de]===fe?ug(fe):s:Nt(s,ug)}}function WI(e){return(t,n)=>rl(e(t,n)).then(r=>{if(Lt(r))return r.value;let o=Pn(r.cause,"Promise adapter can only reject schema issues");throw new Error("Schema validation failed",{cause:o})})}function id(e){return(t,n)=>wo(e(t,n))}function KI(e){let t=id(e);return(n,r)=>{let o=t(n,r);return Lt(o)?$(o.value):(Pn(o.cause,"Option adapter can only return none for schema issues"),N())}}function XU(e){let t=id(e);return(n,r)=>{let o=t(n,r);return Lt(o)?L(o.value):J(Pn(o.cause,"Result adapter can only return schema issues"))}}function eN(e,t){let n;return(r,o)=>(n??=V8(er(e),t))(r,o)}function V8(e,t){let n=e.decode,r,o=n===void 0?(s,i=Ao)=>(r??=NI(e))(s,i):(s,i=Ao)=>{if(s===fe)return(r??=NI(e))(s,i);let c;try{c=n(s,i)}catch(d){throw Pn(Lm(d),"Sync adapter can only throw schema issues"),d}return c!==dg?c:(r??=NI(e))(s,i)};return t===void 0?o:(s,i)=>o(s,jI(t,i))}function NI(e){return GI(zI(()=>e.decodeEffect,e.ast))}function GI(e){let t=id(e);return(n,r)=>{let o=t(n,r);if(Lt(o))return o.value;let s=Pn(o.cause,"Sync adapter can only throw schema issues");throw new Error("Schema validation failed",{cause:s})}}function J8(e,t){let n=wo(e);if(Lt(n))return n.value;let r=Pn(n.cause,t);throw new Error("Schema validation failed",{cause:r})}function Z8(e){let t,n;return(r,o)=>{t??=er(e);let s=o?.disableChecks?o.parseOptions?{...o.parseOptions,disableChecks:!0}:{disableChecks:!0}:o?.parseOptions??Ao,i=t.make;if(i!==void 0&&r!==fe){let d;try{d=i(r,s)}catch(u){throw Pn(Lm(u),"Constructor adapter can only throw schema issues"),u}if(d!==dg&&d!==fe)return d}let c=(n??=t.makeEffect)(r,s);return J8(HI(c,r),"Constructor adapter can only throw schema issues")}}var Q8=e=>er(e).parser,Y8=e=>er(e).makeEffect;var xg="~effect/Schema/Schema",tN=Symbol(),X8={[xg]:xg,get make(){let e=Zl(this);return Object.defineProperty(this,"make",{value:e,enumerable:!0}),e},get makeEffect(){let e=lg(this);return Object.defineProperty(this,"makeEffect",{value:e,enumerable:!0}),e},get makeOption(){let e=Jl(this);return Object.defineProperty(this,"makeOption",{value:e,enumerable:!0}),e},pipe(){return ie(this,arguments)},annotate(e){return this.rebuild(Qr(this.ast,e))},annotateKey(e){return this.rebuild(Gl(this.ast,e))},check(...e){return this.rebuild(Ro(this.ast,e))},rebuild(e){return nr(e,this[tN])}};function nr(e,t){function n(){}let r=Object.setPrototypeOf(n,X8);return t&&(Object.hasOwn(t,"name")||Object.hasOwn(t,"length")||Object.hasOwn(t,"__proto__"))?Object.defineProperties(r,Object.getOwnPropertyDescriptors({...t})):Object.assign(r,t),r[tN]=t,r.ast=e,r}function VI(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function tp(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function JI(e){return encodeURI(VI(e)).replace(/#/g,"%23")}function ZI(e){if(e.length===0||e==="#")return"";if(!e.startsWith("#"))return;let t=e.slice(1);try{if(encodeURI(t).replace(/%25/g,"%").replace(/#/g,"%23")!==t)return;let n=decodeURIComponent(t);return n.startsWith("/")&&!/~(?:[^01]|$)/.test(n)?n:void 0}catch{return}}function rN(e){let t=ZI(e);return t===void 0?void 0:t.length===0?[]:t.slice(1).split("/").map(tp)}function oN(e){return e.reduce((t,n)=>`${t}/${JI(n)}`,"#")}var tZ="http://json-schema.org/draft-07/schema#",sN="https://json-schema.org/draft/2020-12/schema";function iN(e,t){return e===t||e===(t.endsWith("#")?t.slice(0,-1):`${t}#`)}function dN(e){return{dialect:"draft-07",...iZ(e,gZ)}}function nZ(e,t){return n(e,!1,!0);function n(r,o,s=!1){if(!qn(r))return r;let i=o||!s&&pN(r.$id),c={};for(let d of Object.keys(r)){let u=r[d],l=u;switch(d){case"$defs":case"properties":case"patternProperties":case"dependentSchemas":l=YI(u,p=>n(p,i))??u;break;case"allOf":case"anyOf":case"oneOf":case"prefixItems":l=Array.isArray(u)?u.map(p=>n(p,i)):u;break;case"not":case"additionalProperties":case"propertyNames":case"unevaluatedProperties":case"items":case"contains":case"unevaluatedItems":case"if":case"then":case"else":case"contentSchema":l=n(u,i)}P(c,d,l)}return t(c,i),c}}function uN(e,t){return nZ(e,n=>{rZ(n,t)})}function rZ(e,t){typeof e.$ref=="string"&&P(e,"$ref",t(e.$ref,"$ref")),typeof e.$dynamicRef=="string"&&P(e,"$dynamicRef",t(e.$dynamicRef,"$dynamicRef"))}function YI(e,t){if(!qn(e))return;let n={};for(let r of Object.keys(e))P(n,r,t(e[r],r));return n}function oZ(e,t,n){let r=new Map,o=[],s=QI;function i(f,g=[],b=[]){if(g.length===0&&t?.trackIds){let S=qn(f)?l(f):void 0;s=aN(S,QI)??QI}return u(f,g,b,{sourceRoot:[],targetRoot:[],uri:s})}function c(){for(let[f,g,b]of o){let S=g,y=lN(g,b);if(y!==void 0){let I=rN(y.hash);if(y.hash="",I!==void 0){let v=r.get(cN(y.href,I));v!==void 0&&(S=sZ(g,v))}}P(f,"$ref",S)}}let d=n(i);return c(),d;function u(f,g,b,S){if(typeof f=="boolean")return p(g,b,S),t?.booleanAdapter?.(f)??f;if(!qn(f))return f;let y=S,I=l(f);if(g.length>0&&t?.trackIds&&pN(I)){let A=aN(I,S.uri);A!==void 0&&(y={parent:S,sourceRoot:g,targetRoot:b,uri:A})}p(g,b,y);let v=y.uri,R={isDocumentRoot:g.length===0,schema(A,k,x=k){return u(A,[...g,k],[...b,x],y)},schemaAt(A,k,x){return u(A,[...g,...k],[...b,...x],y)},schemaArray(A,k,x=k){return Array.isArray(A)?A.map((w,E)=>u(w,[...g,k,String(E)],[...b,x,String(E)],y)):A},schemaMap(A,k,x=k){return qn(A)?YI(A,(w,E)=>u(w,[...g,k,E],[...b,x,E],y)):A},reference(A,k){typeof k=="string"?o.push([A,k,v]):P(A,"$ref",k)}};return e(f,R)}function l(f){return t?.ignoreRefSiblings===!0&&typeof f.$ref=="string"?void 0:f.$id}function p(f,g,b){b.parent!==void 0&&p(f,g,b.parent),r.set(cN(b.uri,f.slice(b.sourceRoot.length)),g.slice(b.targetRoot.length))}}var QI="https://effect.invalid/.json-schema/";function lN(e,t){return URL.canParse(e,t)?new URL(e,t):void 0}function aN(e,t){if(typeof e!="string")return;let n=lN(e,t);if(n!==void 0)return n.hash="",n.href}function sZ(e,t){let n=e.indexOf("#");return n===-1&&t.length===0?e:`${n===-1?e:e.slice(0,n)}${oN(t)}`}function cN(e,t){return`${e}\0${JSON.stringify(t)}`}function pN(e){return typeof e=="string"&&e.length>0&&e[0]!=="#"}function iZ(e,t,n){return oZ(t,{...n,trackIds:!0},r=>({schema:r(e.schema),definitions:YI(e.definitions,(o,s)=>r(o,["$defs",s],["definitions",s]))}))}var aZ=new Set(["properties","patternProperties"]),cZ=new Set(["allOf","anyOf","oneOf"]),dZ=new Set(["not","additionalProperties","propertyNames","contains","if","then","else","contentSchema"]);function uZ(e,t,n,r,o,s=aZ){let i;if(s.has(t))i=r.schemaMap(n,t);else if(cZ.has(t))i=r.schemaArray(n,t);else if(o.has(t))i=r.schema(n,t);else return!1;return P(e,t,i),!0}var fN=["$anchor","$defs","$dynamicAnchor","$dynamicRef","$vocabulary","contentSchema","dependentRequired","dependentSchemas","maxContains","minContains","prefixItems","unevaluatedItems","unevaluatedProperties"],Xle=[...fN,"deprecated"],epe=[...fN,"$comment","$id","$schema","const","contains","contentEncoding","contentMediaType","else","examples","if","patternProperties","propertyNames","then"],lZ=/^[A-Za-z_][-A-Za-z0-9._]*$/,pZ=/^[A-Za-z][-A-Za-z0-9._:]*$/;function Sa(e,t,n){throw new Error(`Cannot convert JSON Schema keyword "${e}" to ${t}: ${n}`)}function fZ(e,t,n,r){for(let o of t)Object.hasOwn(e,o)&&Sa(o,n,`it is not active in ${r} but would become active in the target`)}var mZ=["additionalItems","definitions","dependencies"];function hZ(e,t,n,r,o){n.isDocumentRoot?P(e,"$schema",iN(t,sN)?r:t):iN(t,sN)||Sa("$schema",o,"an embedded resource cannot declare a different dialect")}function gZ(e,t){fZ(e,mZ,"Draft-07","Draft 2020-12");let n={},r,o,s;for(let i of Object.keys(e)){let c=e[i];if(!uZ(n,i,c,t,dZ))switch(i){case"$ref":r=c;break;case"$schema":hZ(n,c,t,tZ,"Draft-07");break;case"$id":case"$anchor":break;case"$defs":P(n,"definitions",t.schemaMap(c,i,"definitions"));break;case"prefixItems":o=c;break;case"items":s=c;break;case"dependentRequired":case"dependentSchemas":case"minContains":case"maxContains":break;case"$dynamicRef":case"$dynamicAnchor":case"$vocabulary":case"unevaluatedProperties":case"unevaluatedItems":Sa(i,"Draft-07","the target dialect has no equivalent");case"required":if(Array.isArray(c)&&c.length===0)break;P(n,i,c);break;default:P(n,i,c)}}if(yZ(n,o,s,t),Object.hasOwn(e,"contains")){let i=e.minContains,c=e.maxContains;(i!==void 0&&i!==1||c!==void 0)&&Sa("minContains/maxContains","Draft-07","contains cardinality cannot be represented"),Object.hasOwn(e,"minContains")&&P(n,"minContains",i)}else Object.hasOwn(e,"minContains")&&P(n,"minContains",e.minContains),Object.hasOwn(e,"maxContains")&&P(n,"maxContains",e.maxContains);return SZ(e,n,t,"draft-07"),vZ(e,n,"$id","Draft-07"),xZ(n,r,t),n}function yZ(e,t,n,r){if(t===void 0){n!==void 0&&P(e,"items",r.schema(n,"items"));return}P(e,"items",r.schemaArray(t,"prefixItems","items")),n!==void 0&&P(e,"additionalItems",r.schema(n,"items","additionalItems"))}function xZ(e,t,n){if(t!==void 0)if(typeof t=="string"&&Object.keys(e).length>0){let r={};n.reference(r,t),bZ(e,r)}else n.reference(e,t)}function SZ(e,t,n,r){let o=qn(e.dependentRequired)?e.dependentRequired:void 0,s=qn(e.dependentSchemas)?e.dependentSchemas:void 0;if(o===void 0&&s===void 0)return;let i={},c=new Set([...Object.keys(o??{}),...Object.keys(s??{})]);for(let d of c){let u=o?.[d],l=s?.[d],p=r==="draft-04"&&Array.isArray(u)&&u.length===0;l===void 0?p||P(i,d,u):u===void 0||p?P(i,d,n.schemaAt(l,["dependentSchemas",d],["dependencies",d])):P(i,d,{allOf:[n.schemaAt(l,["dependentSchemas",d],["dependencies",d,"allOf","0"]),{required:u}]})}Object.keys(i).length>0&&P(t,"dependencies",i)}function bZ(e,t){Array.isArray(e.allOf)?e.allOf.push(t):P(e,"allOf",[t])}function vZ(e,t,n,r){let o=e.$id,s=e.$anchor;if(s===void 0){o!==void 0&&P(t,n,o);return}(typeof s!="string"||!lZ.test(s))&&Sa("$anchor",r,"the anchor is not valid"),pZ.test(s)||Sa("$anchor",r,"the anchor cannot be represented as a plain-name fragment identifier"),o===void 0?P(t,n,`#${s}`):Sa("$anchor",r,"it cannot be combined with the schema $id")}function bg(e){return nr(Xs(e.ast),{schema:e})}var Xs=Ys(e=>{let t=Zs(e);if(t!==e){let o=Xs(t);if(o===t)return e;if(o.encoding===void 0)return hr(o,e.context)}let n=wZ(e,Xs),r=e.context;return n===e||r===void 0?n:tg(n,tw(r))});function tw(e){return e.constructorDefault===void 0?e:new To(e.isOptional,e.isMutable,void 0,e.annotations)}function gN(e){if(e.propertySignatures.some(t=>typeof t.name!="string"))throw new globalThis.Error("Objects property names must be strings",{cause:e})}function yN(e){return t=>{let n=[...t].sort((o,s)=>e(Yr(o))-e(Yr(s)));return n.some((o,s)=>o!==t[s])?n:t}}var IZ=yN(e=>{switch(e._tag){case"BigInt":case"Symbol":case"UniqueSymbol":return 0;default:return 1}});function wZ(e,t){switch(e._tag){case"Declaration":{let n=e.annotations?.toCodecJson??e.annotations?.toCodec;if(!ln(n))return Ye(e,[PI]);let r=e.typeParameters.map(s=>nr(Yr(s))),o=n(r);return o===void 0?e:Ye(e,[td(o,t)])}case"Unknown":return Ye(e,[PI]);case"ObjectKeyword":return Ye(e,[HU]);case"Undefined":case"Void":case"Literal":case"Number":return e.toCodecJson();case"UniqueSymbol":case"Symbol":case"BigInt":return e.toCodecStringTree();case"Objects":return gN(e),e.recur(t,sg);case"Union":{let n=IZ(e.types);return n!==e.types?new bn(n,e.options,e.annotations,e.checks,e.encoding,e.context,e.encodingChecks).recur(t):e.recur(t)}case"Arrays":case"Suspend":return e.recur(t)}return e}function vg(e){return nr(xN(Tt(e.ast)))}var xN=Ar(e=>{let t=kZ(e,xN);return t!==e&&e.context!==void 0?tg(t,tw(e.context)):t});function kZ(e,t){switch(e._tag){case"Declaration":{let n=e.annotations?.toCodecIso??e.annotations?.toCodec;if(ln(n)){let r=n(e.typeParameters.map(o=>nr(o)));return Ye(e,[td(r,t)])}return e}case"Arrays":case"Objects":case"Union":case"Suspend":return e.recur(t)}return e}function Ig(e){return nr(IN(e.ast),{schema:e})}function SN(e){return nr(wN(e.ast))}var EZ=yN(e=>{switch(e._tag){case"Null":case"Boolean":case"Number":case"BigInt":case"Symbol":case"UniqueSymbol":return 0;default:return 1}});function TZ(e,t,n){switch(e._tag){case"Declaration":{let r=e.typeParameters.map(u=>nr(t(Yr(u)))),o=e.annotations?.toCodecStringTree;if(ln(o)){let u=o(r);return u===void 0?e:Ye(e,[td(u,t)])}let s=e.annotations?.toCodecJson,i=ln(s)?s(r):void 0,c=i===void 0?e.annotations?.toCodec:void 0,d=i??(ln(c)?c(r):void 0);return d===void 0?n(e):Ye(e,[td(d,t)])}case"Null":return Ye(e,[AZ]);case"Boolean":return Ye(e,[RZ]);case"Unknown":case"ObjectKeyword":return Ye(e,[MI]);case"Enum":case"Number":case"Literal":case"UniqueSymbol":case"Symbol":case"BigInt":return e.toCodecStringTree();case"Objects":return gN(e),e.recur(t,sg);case"Union":{let r=EZ(e.types);return r!==e.types?new bn(r,e.options,e.annotations,e.checks,e.encoding,e.context,e.encodingChecks).recur(t):e.recur(t)}case"Arrays":case"Suspend":return e.recur(t)}return e}var AZ=new xt(new Qn("null"),new ve(K(()=>null),K(()=>"null"))),RZ=new xt(new bn([new Qn("true"),new Qn("false")]),new ve(K(e=>e==="true"),Gs())),bN=new ve(K(e=>typeof e=="string"?[e]:e),Sn()),vN=e=>e.transformation===bN,IN=Ys(e=>{let t=TZ(e,IN,n=>{throw new globalThis.Error("Missing structural codec for StringTree",{cause:n})});return t!==e&&e.context!==void 0?tg(t,tw(e.context)):t},{stopAt:vN}),hN=e=>qt(e)?ya(is):is,wN=Ys(e=>{let t=_Z(e);if(Jh(t)){let n=xa(new bn([new Xn(t.isMutable,t.elements.map(hN),t.rest.map(hN)),Mn],{mode:"anyOf"}),t,bN);return qt(e)?ya(n):n}return t},{stopAt:vN});function kN(e){return nr(OZ(e.ast),{schema:e})}var OZ=Fo(e=>wg(Sg(Xs(e)))),Sg=Ys(e=>{switch(e._tag){case"Objects":return e.recur(t=>CZ(Sg(t)),Q);case"Arrays":return e.recur(t=>wg(Sg(t)));case"Declaration":case"Union":case"Suspend":return e.recur(Sg)}return e}),CZ=ng(e=>qt(e)?EN(e):wg(e)),EN=ng(e=>Ll(e)?e.recur(EN):MZ(e)||TN(e)?e:XI(e,ew(Xc,AN))),wg=ng(e=>Ll(e)?e.recur(wg):Jh(e)&&e.elements.length===0&&e.rest.length===1?XI(e,ew(Kl(DZ,e.checks),RN)):uI(e)&&e.propertySignatures.length===0&&e.indexSignatures.length>0?XI(e,ew(Kl(PZ,e.checks),ON)):e);function TN(e){let t=Qs(e);switch(t._tag){case"Union":return t.checks===void 0&&t.types.some(TN);case"Null":case"Unknown":case"Any":case"Declaration":return od(nr(hr(t,void 0)))(null)}return!1}function XI(e,t){return hr(new bn([hr(e,void 0),t]),e.context)}var nw=e=>new ve(e,pa(()=>"Go nil values are never encoded")),AN=nw(Jr(()=>N())),RN=nw(K(()=>[])),ON=nw(K(()=>({}))),DZ=new Xn(!1,[],[]),PZ=rg(Mn,Xc);function ew(e,t){return xa(ql,e,t)}function MZ(e){if(!Zh(e))return!1;let t=e.types[e.types.length-1].encoding?.[0].transformation;return t===AN||t===RN||t===ON}function _Z(e){return e._tag==="Declaration"||e._tag==="Arrays"||e._tag==="Objects"||e._tag==="Union"||e._tag==="Suspend"?e.recur(wN):e}var npe=globalThis.RegExp;var cs=e=>e.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&");function rp(e,t){return t.length>0&&(e+=`
|
|
26
|
+
at ${Sf(t)}`),new Error(e)}function CN(e){return`#/$defs/${JI(e)}`}var UZ=new Set([...__,la,...M_]);function op(e,t){if(e===void 0)return;let n={};for(let c of["title","description","format","contentEncoding","contentMediaType"]){let d=e[c];typeof d=="string"&&(n[c]=d)}for(let c of["readOnly","writeOnly"]){let d=e[c];typeof d=="boolean"&&(n[c]=d)}let r=e.expected;n.description===void 0&&t?.generateDescriptions===!0&&typeof r=="string"&&(n.description=r);let o=e.default;nd(o)&&(n.default=o);let s=e.examples;Array.isArray(s)&&nd(s)&&(n.examples=s);let i=e.contentSchema;if(nd(i)&&(n.contentSchema=i),t?.includeAnnotationKey!==void 0)for(let[c,d]of Object.entries(e))UZ.has(c)||!t.includeAnnotationKey(c)||nd(d)&&P(n,c,d);return Object.keys(n).length===0?void 0:n}function DN(e){let t=e.type==="number"||e.type==="integer"?e.type:void 0,n=e;if(t!==void 0&&(n={...e},delete n.type),Array.isArray(n.allOf)){let r=[],o=!1;for(let s of n.allOf){let i=DN(s);i.type!==void 0&&(o=!0,(t===void 0||i.type==="integer")&&(t=i.type)),Object.keys(i.schema).length>0&&r.push(i.schema)}if(o){let{allOf:s,...i}=n;n=r.length===0?i:{...i,allOf:r}}}return{type:t,schema:n}}function NZ(e){if(!Array.isArray(e.anyOf)||e.anyOf.length!==2||e.anyOf[0]?.type!=="number")return!1;let t=e.anyOf[1];return t?.type==="string"&&Array.isArray(t.enum)&&t.enum.length===3&&t.enum.includes("NaN")&&t.enum.includes("Infinity")&&t.enum.includes("-Infinity")}var PN="|type|format|pattern|multipleOf|minimum|maximum|exclusiveMinimum|exclusiveMaximum|minLength|maxLength|minItems|maxItems|uniqueItems|minProperties|maxProperties|propertyNames|";function kg(e,t){return Object.keys(e).every(n=>t.includes(`|${n}|`))}function FZ(e,t){return typeof e.$ref!="string"&&t.every(n=>!Object.hasOwn(e,n))}var $Z="|minimum|exclusiveMinimum|minLength|minItems|minProperties|",LZ="|maximum|exclusiveMaximum|maxLength|maxItems|maxProperties|";function qZ(e,t,n){if(typeof e.$ref=="string")return;let r={...e,...t};for(let o of n){if(!Object.hasOwn(e,o))continue;let s=e[o],i=t[o];if(typeof s!="number"||typeof i!="number")return;if($Z.includes(`|${o}|`))r[o]=Math.max(s,i);else if(LZ.includes(`|${o}|`))r[o]=Math.min(s,i);else return}return typeof r.minimum=="number"&&typeof r.exclusiveMinimum=="number"&&delete r[r.exclusiveMinimum>=r.minimum?"minimum":"exclusiveMinimum"],typeof r.maximum=="number"&&typeof r.exclusiveMaximum=="number"&&delete r[r.exclusiveMaximum<=r.maximum?"maximum":"exclusiveMaximum"],r}var sw="|title|description|default|examples|readOnly|writeOnly|",BZ=PN+sw;function sp(e,t,n){if(Object.keys(e).length===0)return t;let r=Object.keys(t);if(r.length===0)return e;let o=e.type==="number"||e.type==="integer"?e.type:void 0,s=NZ(e);if(o!==void 0||s){let c=DN(t);if(c.type!==void 0){let d=o==="integer"||c.type==="integer"?"integer":"number",u={...e,type:d};s&&delete u.anyOf;let l=Object.keys(c.schema);return l.length===0?u:kg(c.schema,sw)&&FZ(u,l)?{...u,...c.schema}:sp(u,c.schema,n)}}if(n){let c=qZ(e,t,r);if(c!==void 0)return c}let i=Array.isArray(t.allOf)&&r.length===1?t.allOf:[t];return Array.isArray(e.allOf)?{...e,allOf:[...e.allOf,...i]}:typeof e.$ref=="string"?{allOf:[e,...i]}:{...e,allOf:i}}function ow(e,t=new Set){return typeof e=="boolean"?e:t.has(e)?!0:(t.add(e),e.every(n=>ow(n,t)))}function jZ(e){return Array.isArray(e)}function HZ(e,t,n,r){let o=new Map,s=new Map,i=new WeakMap,c=new Map,d=new Map,u=Object.keys(n);for(let x of u)b(x,["references",x]);let l=Ko(e,(x,w)=>v(x,t[w],[]));for(let[x,w]of c.values())if(!ow(x))for(let E of w)Array.isArray(E.oneOf)&&(E.anyOf=E.oneOf,delete E.oneOf);for(let x of u){let w=n[x],E=y(w);if(E===void 0)continue;let T=o.get(x)[0],_=d.get(E),j=_?.find(se=>V(o.get(se)[0],T));j===void 0?_===void 0?d.set(E,[x]):_.push(x):s.set(x,j)}let p=Ko(l,S),f={};for(let x of u)s.has(x)||P(f,x,S(o.get(x)[0]));return{dialect:"draft-2020-12",schemas:p,definitions:f};function g(x){return Array.isArray(x.oneOf)&&c.get(x.oneOf)?.[1].push(x),x}function b(x,w){if(!Object.hasOwn(n,x))throw rp(`Invalid reference ${x}`,[...w,"$ref"]);let E=o.get(x);if(E!==void 0)return E;let T=[{},[]];return o.set(x,T),T[0]=v(n[x],["references",x],T[1]),T}function S(x){return uN(x,w=>{let E=ZI(w);if(E===void 0){if(/^#(?:\/|%2f)/i.test(w))throw new Error(`Invalid JSON Pointer URI fragment ${JSON.stringify(w)}`);return w}if(!E.startsWith("/$defs/"))return w;let T=E.indexOf("/",7),_=s.get(tp(E.slice(7,T<0?void 0:T)));return _===void 0?w:w.replace(/^#(?:\/|%2f).*?(?:\/|%2f).*?(?=\/|%2f|$)/i,CN(_))})}function y(x){if(x._tag==="Reference")return;let w=x.checks.length===0?x.annotations:x.checks[x.checks.length-1].annotations;return typeof w?.identifier!="string"&&typeof w?.[la]=="string"?w[la]:void 0}function I(x,w,E,T){let _=x.annotations,j=_?.toJsonSchema;if(j!==void 0){let M=x.representation?.schemas?.map((sn,ut)=>v(sn,[...E,"representation","schemas",ut],T))??[],F=j({type:w,schemas:M}),B=jZ(F);B&&T.push(!1);let Ae=B?F[0]:F,Qe=op(_,r),dn=Qe===void 0?Ae:{...Ae,...Qe},rt=Qe===void 0?PN:BZ;return[dn,x._tag==="Filter"&&kg(dn,rt)&&(Qe===void 0||kg(Qe,sw))?!0:void 0]}if(x._tag==="Filter"){T.push(!1);return}let se=x.checks.flatMap((M,F)=>{let B=I(M,w,[...E,"checks",F],T);return B===void 0?[]:[B[0]]});if(se.length===0)return;let he=op(_,r),Te={allOf:se};return[he===void 0?Te:{...Te,...he}]}function v(x,w,E){if(x._tag==="Reference")return E.push(b(x.$ref,w)[1]),{$ref:CN(x.$ref)};let T=i.get(x);if(T!==void 0)return E.push(T[1]),T[0];let _=[];E.push(_);let j=R(x,w,_),se=op(x.annotations,r);se!==void 0&&(j={...j,...se});for(let he=0;he<x.checks.length;he++){let Te=typeof j.type=="string"&&zZ(j.type)?j.type:void 0,M=I(x.checks[he],Te,[...w,"checks",he],_);M!==void 0&&(j=sp(j,...M))}return i.set(x,[j,_]),g(j)}function R(x,w,E){switch(x._tag){case"Any":case"Unknown":return{};case"ObjectKeyword":return{anyOf:[{type:"object"},{type:"array"}]};case"Void":case"Undefined":case"Null":return{type:"null"};case"BigInt":return{type:"string",allOf:[{pattern:"^-?\\d+$"}]};case"Symbol":return{type:"string",allOf:[{pattern:"^Symbol\\(([\\s\\S]*)\\)$"}]};case"UniqueSymbol":return globalThis.Symbol.keyFor(x.symbol)===void 0?{not:{}}:{type:"string",enum:[globalThis.String(x.symbol)]};case"Declaration":return E.push(!1),{};case"Suspend":return v(x.thunk,[...w,"thunk"],E);case"Never":return{not:{}};case"String":return{type:"string"};case"Number":return{anyOf:[{type:"number"},{type:"string",enum:["NaN","Infinity","-Infinity"]}]};case"Boolean":return{type:"boolean"};case"Literal":{let T=x.literal;return typeof T=="bigint"?{type:"string",enum:[globalThis.String(T)]}:{type:typeof T,enum:[T]}}case"Enum":{let T=x.enums.map(([_,j])=>({type:typeof j,enum:[j],title:_}));return T.length===0?{not:{}}:{anyOf:T}}case"TemplateLiteral":return{type:"string",pattern:`^${x.parts.map(Eg).join("")}$`};case"Arrays":{let T={type:"array"},_=x.elements.length,j=x.elements.map((se,he)=>{se.isOptional&&_--;let Te=v(se.type,[...w,"elements",he,"type"],E),M=op(se.annotations,r);return M===void 0?Te:g(sp(Te,M))});if(j.length>0?(T.prefixItems=j,T.maxItems=x.elements.length,_>0&&(T.minItems=_)):T.items=!1,x.rest.length===1){delete T.maxItems;let se=v(x.rest[0],[...w,"rest",0],E);Object.keys(se).length>0?T.items=se:delete T.items}else x.rest.length>1&&(delete T.maxItems,delete T.items,T.minItems=_+x.rest.length-1,E.push(!1));return T}case"Objects":{if(x.propertySignatures.length===0&&x.indexSignatures.length===0)return{not:{type:"null"}};let T={type:"object"},_={},j=[];for(let B=0;B<x.propertySignatures.length;B++){let Ae=x.propertySignatures[B];if(typeof Ae.name!="string")throw rp("Objects property names must be strings",[...w,"propertySignatures",B,"name"]);let Qe=Ae.name,dn=v(Ae.type,[...w,"propertySignatures",B,"type"],E),rt=op(Ae.annotations,r);P(_,Qe,rt===void 0?dn:g(sp(dn,rt))),Ae.isOptional||j.push(Qe)}x.propertySignatures.length>0&&(T.properties=_),j.length>0&&(T.required=j);let se={},he=[],Te=[],M=!1;for(let B=0;B<x.indexSignatures.length;B++){let Ae=x.indexSignatures[B],Qe=v(Ae.type,[...w,"indexSignatures",B,"type"],E);V(Qe,{not:{}})&&(Qe=!1),Te.push(Qe);let dn=k(Ae.parameter,[...w,"indexSignatures",B,"parameter"],new Set);if(dn===void 0){M=!0,E.push(!1);continue}if(dn.length===0)he.push(Qe);else for(let rt of dn){let sn=se[rt];P(se,rt,sn===void 0?Qe:sn===!1||Qe===!1?!1:g(sp(sn,Qe)))}}let F=Object.keys(se).length>0;if(F&&(T.patternProperties=se),M&&r?.onExcessProperty==="error"){let B=[];x.propertySignatures.length>0&&B.push({enum:Object.keys(_)});for(let Ae=0;Ae<x.indexSignatures.length;Ae++)B.push(A(x.indexSignatures[Ae].parameter,[...w,"indexSignatures",Ae,"parameter"],E,new Set));T.propertyNames=B.length===1?B[0]:{anyOf:B},T.additionalProperties=Te.length===1?Te[0]:{anyOf:Te},he.length>0&&(T.allOf=he.map(Ae=>({type:"object",additionalProperties:Ae})))}else he.length===0?T.additionalProperties=M||r?.onExcessProperty!=="error":he.length===1&&x.propertySignatures.length===0&&!F?T.additionalProperties=he[0]:he.length>0&&(T.allOf=he.map(B=>({type:"object",additionalProperties:B})));return typeof T.additionalProperties=="object"&&T.additionalProperties!==null&&Object.keys(T.additionalProperties).length===0&&delete T.additionalProperties,T}case"Union":{let T=[],_=x.types.map((j,se)=>v(j,[...w,"types",se],T));if(E.push(T),_.length===0)return{not:{}};if(x.options?.mode==="oneOf")return c.set(_,[T,[]]),{oneOf:_};if(_.length>1){let j=WZ(_);if(j!==void 0)return j}return{anyOf:_.flatMap(j=>Array.isArray(j.anyOf)&&Object.keys(j).length===1?j.anyOf:[j])}}}}function A(x,w,E,T){switch(x._tag){case"Number":return{type:"string",pattern:`^(?:${ed}|Infinity|-Infinity|NaN)$`};case"Reference":return T.has(x.$ref)?{type:"string"}:A(n[x.$ref],["references",x.$ref],E,new Set(T).add(x.$ref));case"Union":return{anyOf:x.types.map(_=>A(_,w,E,T))};default:return v(x,w,E)}}function k(x,w,E){switch(x._tag){case"Reference":{if(b(x.$ref,w),E.has(x.$ref))return;let T=new Set(E).add(x.$ref);return k(n[x.$ref],["references",x.$ref],T)}case"String":{if(x.checks.length===0)return[];if(x.checks.length!==1||x.checks[0]._tag!=="Filter"||x.checks[0].annotations?.toJsonSchema===void 0)return;let T=[],_=v(x,w,T);return ow(T)&&_.type==="string"&&typeof _.pattern=="string"&&kg(_,"|type|pattern|title|description|default|examples|readOnly|writeOnly|")?[_.pattern]:void 0}case"TemplateLiteral":return x.checks.length===0?[`^${x.parts.map(Eg).join("")}$`]:void 0;case"Union":{if(x.types.length===0||x.checks.length>0||x.options?.mode==="oneOf")return;let T=[];for(let _=0;_<x.types.length;_++){let j=k(x.types[_],[...w,"types",_],E);if(j===void 0)return;if(j.length===0)return[];T.push(...j)}return T}case"Number":return x.checks.length===0?[`^(?:${ed}|Infinity|-Infinity|NaN)$`]:void 0;default:throw rp(`Invalid index signature parameter ${x._tag}`,w)}}}function zZ(e){return e==="string"||e==="number"||e==="boolean"||e==="array"||e==="object"||e==="null"||e==="integer"}function WZ(e){let t,n=[];for(let r of e){if(Object.keys(r).length!==2||r.type===void 0||!Array.isArray(r.enum)||r.enum.length===0)return;if(t===void 0)t=r.type;else if(r.type!==t)return;for(let s of r.enum){if(n.includes(s))return;n.push(s)}}return{type:t,enum:n}}function Eg(e){switch(e._tag){case"Literal":return cs(globalThis.String(e.literal));case"String":return NU;case"Number":return ed;case"BigInt":return"-?\\d+";case"TemplateLiteral":return e.parts.map(Eg).join("");case"Union":return`(?:${e.types.map(Eg).join("|")})`;default:throw rp(`Invalid TemplateLiteral part ${e._tag}`,[])}}function Tg(e,t){let n=HZ([e.representation],[["representation"]],e.references,t);return{dialect:n.dialect,schema:n.schemas[0],definitions:n.definitions}}var KZ=({identifier:e})=>e;function to(e){return e===void 0?void 0:{annotations:e}}function ip(e,t){let{references:n,representations:r}=GZ([e],t);return{representation:r[0],references:n}}function GZ(e,t){let n={},r=new Map,o=new Set,s=new Map,i=new Set;for(let k of e)g(k);let c=t?.referencePolicy??KZ;for(let k of s.values())for(let x of k.values()){let w=c({ast:x.ast,occurrences:x.occurrences,identifier:x.identifier});if(w!==void 0){let E=w===x.identifier||!w.endsWith("_")?"_":"";x.reference=u(w,x,E)}else x.isRecursive&&(x.reference=u(`${x.ast._tag}_`,x,""))}return{representations:Ko(e,k=>S(k)),references:n};function u(k,x,w="_"){let E=k,T=0;for(;r.has(E);){if(r.get(E)===x)return E;E=`${k}${w}${++T}`}return r.set(E,x),E}function l(k,x,w){let E=x.fallback;return E!==void 0?Q0(k)===E?k:Qr(k,{[la]:E}):w===x.identifier?k:Qr(k,{identifier:w})}function p(k,x){if(!Object.hasOwn(n,k)&&!o.has(k)){o.add(k);let w=y(x);o.delete(k),P(n,k,w)}return{_tag:"Reference",$ref:k}}function f(k){let x=Qs(k),w=Zs(x),E=Hc(x),T=E===void 0?(x!==k?Hc(k):void 0)??Q0(x):void 0;T!==void 0&&(E=`${T}Encoded`);let _=s.get(w);_===void 0&&(_=new Map,s.set(w,_));let j=_.get(E);return j===void 0&&(j={ast:w,identifier:E,fallback:T,occurrences:0,isRecursive:!1,reference:void 0},_.set(E,j)),j}function g(k){let x=f(k),w=x.ast;if(x.occurrences++,i.has(x)){x.isRecursive=!0;return}if(!(x.occurrences>1)){switch(i.add(x),b(w.checks),w._tag){case"Declaration":case"Arrays":case"Objects":case"Union":w.recur(E=>(g(E),E));break;case"TemplateLiteral":w.parts.forEach(g);break;case"Suspend":g(w.thunk());break}i.delete(x)}}function b(k){k?.forEach(x=>{x.annotations?.representation?.schemas?.forEach(w=>g(Tt(w))),x._tag==="FilterGroup"&&b(x.checks)})}function S(k){let x=f(k),w=x.ast,E=x.reference;if(E!==void 0){let T=x.identifier===void 0?w:l(w,x,E);return p(E,T)}return y(w)}function y(k){let x=I(k.checks);switch(k._tag){case"Declaration":return{_tag:"Declaration",typeParameters:k.typeParameters.map(w=>S(w)),checks:x,...R(k.annotations)};case"Null":case"Undefined":case"Void":case"Never":case"Unknown":case"Any":case"String":case"Boolean":case"Number":case"BigInt":case"Symbol":case"ObjectKeyword":return{_tag:k._tag,checks:x,...to(k.annotations)};case"Literal":return{_tag:"Literal",literal:k.literal,checks:x,...to(k.annotations)};case"UniqueSymbol":return{_tag:"UniqueSymbol",symbol:k.symbol,checks:x,...to(k.annotations)};case"Enum":return{_tag:"Enum",enums:k.enums,checks:x,...to(k.annotations)};case"TemplateLiteral":return{_tag:"TemplateLiteral",parts:k.parts.map(w=>S(w)),checks:x,...to(k.annotations)};case"Arrays":return{_tag:"Arrays",elements:k.elements.map(w=>{let E=Qs(w),T=E.context?.annotations;return{isOptional:qt(E),type:S(w),...to(T)}}),rest:k.rest.map(w=>S(w)),checks:x,...to(k.annotations)};case"Objects":return{_tag:"Objects",propertySignatures:k.propertySignatures.map(w=>{let E=Qs(w.type),T=E.context?.annotations;return{name:w.name,type:S(w.type),isOptional:qt(E),isMutable:PU(E),...to(T)}}),indexSignatures:k.indexSignatures.map(w=>({parameter:S(w.parameter),type:S(w.type)})),checks:x,...to(k.annotations)};case"Union":return{_tag:"Union",types:k.types.map(w=>S(w)),...k.options===void 0?{}:{options:k.options},checks:x,...to(k.annotations)};case"Suspend":return{_tag:"Suspend",checks:[],thunk:S(k.thunk()),...to(k.annotations)}}}function I(k){return k?.map(v)??[]}function v(k){switch(k._tag){case"Filter":return{_tag:"Filter",aborted:k.aborted,...A(k.annotations)};case"FilterGroup":return{_tag:"FilterGroup",checks:Ko(k.checks,v),...A(k.annotations)}}}function R(k){if(k===void 0)return;let{representation:x,...w}=k;return{...x===void 0?void 0:{representation:x},...Object.keys(w).length===0?void 0:{annotations:w}}}function A(k){if(k===void 0)return;let{representation:x,...w}=k,E=x===void 0?void 0:x.schemas===void 0?x:{...x,schemas:x.schemas.map(T=>S(Tt(T)))};return{...E===void 0?void 0:{representation:E},...Object.keys(w).length===0?void 0:{annotations:w}}}}function UN(e){return Lt(e)?e.value:{issues:[{message:VC(e.cause)}]}}function FN(e,t){let n=pt(e),r={errors:"all",...t?.parseOptions},o=B_(t);return $N(e,{validate:i=>{let c=new _i("sync"),d=Yb(Zb(n(i,r),{onFailure:o,onSuccess:l=>({value:l})}),{scheduler:c});d.currentDispatcher?.flush();let u=d.pollUnsafe();return u?UN(u):new Promise(l=>{d.addObserver(p=>{l(UN(p))})})}})}function $N(e,t){let n={version:1,vendor:"effect",...Object.hasOwn(e,"~standard")?e["~standard"]:void 0,...t},r=typeof e=="function"?Function.prototype.bind.call(e,void 0):Object.create(Object.getPrototypeOf(e));return Object.defineProperties(r,{...Object.getOwnPropertyDescriptors(e),ast:{value:e.ast,enumerable:!0,configurable:!0},"~standard":{value:n,writable:!0,enumerable:!0,configurable:!0}})}function VZ(e){let t=ip(Xs(e));return Tg(t)}function NN(e,t){let n=VZ(e);if(t==="draft-2020-12"){let r=n.schema;return Object.keys(n.definitions).length>0&&(r.$defs=n.definitions),r}else if(t==="draft-07"){let r=dN(n),o=r.schema;return Object.keys(r.definitions).length>0&&(o.definitions=r.definitions),o}throw new globalThis.Error(`Unsupported target: ${t}`)}function LN(e){return $N(e,{jsonSchema:{input(t){return NN(e.ast,t.target)},output(t){return NN(Tt(e.ast),t.target)}}})}function BN(e,t){let n=[];return iw(e,t,"",n),n}function iw(e,t,n,r){if(!Object.is(e,t)){if(Array.isArray(e)&&Array.isArray(t)){let o=e.length,s=t.length,i=Math.min(o,s);for(let c=0;c<i;c++)iw(e[c],t[c],`${n}/${c}`,r);for(let c=o-1;c>=s;c--)r.push({op:"remove",path:`${n}/${c}`});for(let c=o;c<s;c++)r.push({op:"add",path:`${n}/${c}`,value:t[c]});return}if(Ag(e)&&Ag(t)){let o=Object.keys(e),s=Object.keys(t),i=Array.from(new Set([...o,...s])).sort();for(let c of i){let d=`${n}/${VI(c)}`,u=Object.hasOwn(e,c),l=Object.hasOwn(t,c);u&&l?iw(e[c],t[c],d,r):!u&&l?r.push({op:"add",path:d,value:t[c]}):r.push({op:"remove",path:d})}return}r.push({op:"replace",path:n,value:t})}}function jN(e,t){let n=t;for(let r of e)n=QZ(n,r);return n}function Ag(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ZZ(e){if(e==="")return[];if(e.charCodeAt(0)!==47)throw new Error(`Invalid JSON Pointer, it must start with "/": ${JSON.stringify(e)}`);return e.split("/").slice(1).map(tp)}function HN(e){if(!/^(0|[1-9]\d*)$/.test(e))throw new Error(`Invalid array index: "${e}"`);return Number(e)}function QZ(e,t){if(t.path===""){if(t.op==="remove")throw new Error("Unsupported operation at the root");return t.value}let n=YZ(e,t.path);if(n===null)throw new Error(`Cannot ${t.op} at "${t.path}" (parent not found or not a container).`);let{lastToken:r,parent:o,stack:s}=n;if(Array.isArray(o)){if(r==="-"&&t.op!=="add")throw new Error(`"-" is not valid for ${t.op} at "${t.path}".`);let i=r==="-"?o.length:HN(r),c=t.op==="add"?o.length:o.length-1;if(i>c)throw new Error(`Array index out of bounds at "${t.path}".`);let d=o.slice();return t.op==="add"?d.splice(i,0,t.value):t.op==="remove"?d.splice(i,1):d[i]=t.value,qN(s,d)}if(Ag(o)){if(t.op!=="add"&&!Object.hasOwn(o,r))throw new Error(`Property "${r}" does not exist at "${t.path}".`);let i={...o};return t.op==="remove"?delete i[r]:P(i,r,t.value),qN(s,i)}throw new Error(`Cannot ${t.op} at "${t.path}" (parent not found or not a container).`)}function YZ(e,t){let n=ZZ(t);if(n.length===0)return null;let r=n[n.length-1],o=[],s=e;for(let i=0;i<n.length-1;i++){let c=n[i];if(Array.isArray(s)){let d=HN(c);if(d>=s.length)return null;o.push({container:s,token:d}),s=s[d];continue}if(Ag(s)){if(!Object.hasOwn(s,c))return null;o.push({container:s,token:c}),s=s[c];continue}return null}return{stack:o,parent:s,lastToken:r}}function qN(e,t){let n=t;for(let r=e.length-1;r>=0;r--){let{container:o,token:s}=e[r];if(Array.isArray(o)){let i=o.slice();i[s]=n,n=i}else{let i={...o};P(i,s,n),n=i}}return n}function WN(e){let t=bg(e),n=Xl(t),r=Yl(t);return{empty:[],diff:(o,s)=>BN(n(o),n(s)),combine:(o,s)=>[...o,...s],patch:(o,s)=>{let i=n(o),c=jN(s,i);return Object.is(c,i)?o:r(c)}}}function KN(e,t){let n=Hc(e.ast)??Y0(e.ast),r=qI(Ig(e));return o=>r(o).pipe(nl(s=>e7(s,{rootName:n,...t})))}function e7(e,t){let n=t.rootName??"root",r=t.arrayItemName??"item",o=t.pretty??!0,s=t.indent??" ",i=t.sortKeys??!0,c=new Set,d=[];return l(n,e,0),d.join(o?`
|
|
27
|
+
`:"");function u(p,f){d.push(o?s.repeat(p)+f:f)}function l(p,f,g,b){let{attrs:S,safe:y}=ad.tagInfo(p,b);if(f===void 0)u(g,`<${y}${S}/>`);else if(typeof f=="string")u(g,`<${y}${S}>${ad.escapeText(f)}</${y}>`);else if(typeof f!="object"||f===null)u(g,`<${y}${S}>${ad.escapeText(U(f))}</${y}>`);else{if(c.has(f))throw new globalThis.Error("Cycle detected while serializing to XML.",{cause:f});c.add(f);try{if(globalThis.Array.isArray(f)){if(f.length===0){u(g,`<${y}${S}/>`);return}u(g,`<${y}${S}>`);for(let R of f)l(r,R,g+1);u(g,`</${y}>`);return}let I=f,v=Object.keys(I);if(i&&v.sort(),v.length===0){u(g,`<${y}${S}/>`);return}u(g,`<${y}${S}>`);for(let R of v)l(ad.parseTagName(R).safe,I[R],g+1,R);u(g,`</${y}>`)}finally{c.delete(f)}}}}var ad={escapeText(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},escapeAttribute(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")},parseTagName(e){let t=e,n=e;return/^[A-Za-z_]/.test(n)||(n="_"+n),n=n.replace(/[^A-Za-z0-9._-]/g,"_"),/^xml/i.test(n)&&(n="_"+n),{safe:n,changed:n!==t}},tagInfo(e,t){let{changed:n,safe:r}=ad.parseTagName(e),s=n||t&&t!==e?` data-name="${ad.escapeAttribute(t??e)}"`:"";return{safe:r,attrs:s}}};var aw=Ar(e=>ei(e));function ei(e){let t=os(e)?.toEquivalence;if(t)return t(Qc(e)?e.typeParameters.map(ei):[]);switch(e._tag){case"Never":return Ts();case"Declaration":return n7(e);case"Null":case"Undefined":case"Void":case"Unknown":case"Any":case"String":case"Number":case"Boolean":case"BigInt":case"Symbol":case"Literal":case"UniqueSymbol":case"ObjectKeyword":case"Enum":case"TemplateLiteral":return V;case"Arrays":{let n=e.elements.map(ei),r=e.rest.map(ei),[o,...s]=r,i=s.length;return ht((c,d)=>{if(!Array.isArray(c)||!Array.isArray(d))return!1;let u=c.length;if(u!==d.length)return!1;let l=0;for(;l<Math.min(u,e.elements.length);l++)if(!n[l](c[l],d[l]))return!1;if(r.length>0){for(;l<u-i;l++)if(!o(c[l],d[l]))return!1;for(let p=0;p<i;p++)if(!s[p](c[l+p],d[l+p]))return!1}return!0})}case"Objects":{if(e.propertySignatures.length===0&&e.indexSignatures.length===0)return V;let n=e.propertySignatures.map(o=>ei(o.type)),r=e.indexSignatures.map(o=>ei(o.type));return ht((o,s)=>{if(!qn(o)||!qn(s))return!1;for(let i=0;i<n.length;i++){let c=e.propertySignatures[i],d=c.name,u=Object.hasOwn(o,d),l=Object.hasOwn(s,d);if(qt(c.type)&&u!==l||u&&l&&!n[i](o[d],s[d]))return!1}for(let i=0;i<r.length;i++){let c=e.indexSignatures[i],d=Vs(o,c.parameter),u=Vs(s,c.parameter);if(d.length!==u.length)return!1;for(let l=0;l<d.length;l++){let p=d[l];if(!Object.hasOwn(s,p)||!r[i](o[p],s[p]))return!1}}return!0})}case"Union":{let n=Tt(e).types,r=Hl(n),o=n.map((s,i)=>[sd(s),ei(e.types[i])]);return ht((s,i)=>{let c=r(s,!1);for(let d=0;d<c.length;d++){let[u,l]=o[c[d]];if(u(s)&&u(i))return l(s,i)}return!1})}case"Suspend":{let n;return ht((r,o)=>(n??=aw(e.thunk()))(r,o))}}}function n7(e){let t=e.annotations?.representation;if(t===void 0)return V;switch(t.id){case"effect/schema/Option":{let[n]=ba(e);return(r,o)=>r._tag===o._tag&&(r._tag==="None"||n(r.value,o.value))}case"effect/schema/Result":{let[n,r]=ba(e);return(o,s)=>o._tag===s._tag&&(o._tag==="Success"?n(o.success,s.success):r(o.failure,s.failure))}case"effect/schema/CauseReason":{let[n,r]=ba(e);return VN(n,r)}case"effect/schema/Cause":{let[n,r]=ba(e);return GN(n,r)}case"effect/schema/Exit":{let[n,r,o]=ba(e),s=GN(r,o);return(i,c)=>i._tag===c._tag&&(i._tag==="Success"?n(i.value,c.value):s(i.cause,c.cause))}case"effect/schema/ReadonlyMap":{let[n,r]=ba(e);return xf(n,r)}case"effect/schema/ReadonlySet":return ou(ba(e)[0]);case"effect/schema/RegExp":return(n,r)=>n.source===r.source&&n.flags===r.flags;case"effect/schema/URL":return(n,r)=>n.toString()===r.toString();default:return V}}function ba(e){return e.typeParameters.map(ei)}function VN(e,t){return(n,r)=>{if(n._tag!==r._tag)return!1;switch(n._tag){case"Fail":return e(n.error,r.error);case"Die":return t(n.defect,r.defect);case"Interrupt":return n.fiberId===r.fiberId}}}function GN(e,t){let n=ec(VN(e,t));return(r,o)=>n(r.reasons,o.reasons)}function ZN(e,t){return n=>{switch(n._tag){case"Fail":return`Fail(${e(n.error)})`;case"Die":return`Die(${t(n.defect)})`;case"Interrupt":return"Interrupt"}}}function JN(e,t){let n=ZN(e,t);return r=>`Cause([${r.reasons.map(n).join(", ")}])`}function QN(e,t){let n=new Map;return r(e);function r(i){let c=n.get(i);return c===void 0&&(c=o(i),n.set(i,c)),c}function o(i){let c=os(i)?.toFormatter;if(typeof c=="function")return c(Qc(i)?i.typeParameters.map(r):[]);if(t?.onBefore){let d=t.onBefore(i,r);if(d!==void 0)return d}return s(i)}function s(i){switch(i._tag){default:return U;case"Never":return()=>"never";case"Void":return()=>"void";case"Declaration":{let c=i.annotations?.representation;if(c===void 0)return U;let d=i.typeParameters.map(r);switch(c.id){case"effect/schema/Option":{let[u]=d;return lt({onNone:()=>"none()",onSome:l=>`some(${u(l)})`})}case"effect/schema/Result":{let[u,l]=d;return Vt({onSuccess:p=>`success(${u(p)})`,onFailure:p=>`failure(${l(p)})`})}case"effect/schema/CauseReason":return ZN(d[0],d[1]);case"effect/schema/Cause":return JN(d[0],d[1]);case"effect/schema/Exit":{let[u,l,p]=d,f=JN(l,p);return g=>{switch(g._tag){case"Success":return`Exit.Success(${u(g.value)})`;case"Failure":return`Exit.Failure(${f(g.cause)})`}}}case"effect/schema/ReadonlyMap":{let[u,l]=d;return p=>{let f=p.size;if(f===0)return"ReadonlyMap(0) {}";let g=globalThis.Array.from(p.entries()).map(([b,S])=>`${u(b)} => ${l(S)}`).sort();return`ReadonlyMap(${f}) { ${g.join(", ")} }`}}case"effect/schema/HashMap":{let[u,l]=d;return p=>{let f=XM(p);if(f===0)return"HashMap(0) {}";let g=fl(p).map(([b,S])=>`${u(b)} => ${l(S)}`).sort();return`HashMap(${f}) { ${g.join(", ")} }`}}case"effect/schema/ReadonlySet":{let[u]=d;return l=>{let p=l.size;if(p===0)return"ReadonlySet(0) {}";let f=globalThis.Array.from(l.values()).map(g=>`${u(g)}`).sort();return`ReadonlySet(${p}) { ${f.join(", ")} }`}}case"effect/schema/HashSet":{let[u]=d;return l=>{let p=o_(l);if(p===0)return"HashSet(0) {}";let f=globalThis.Array.from(l).map(g=>`${u(g)}`).sort();return`HashSet(${p}) { ${f.join(", ")} }`}}case"effect/schema/Chunk":{let[u]=d;return l=>{let p=FM(l);if(p===0)return"Chunk(0) {}";let f=globalThis.Array.from(l).map(g=>`${u(g)}`);return`Chunk(${p}) { ${f.join(", ")} }`}}default:return U}}case"Arrays":{let c=i.elements.map(f=>r(f)),d=i.rest.map(r),[u,...l]=d,p=l.length;return f=>{let g=[],b=0;for(;b<c.length;b++)if(f.length<b+1){if(qt(i.elements[b]))continue}else g.push(c[b](f[b]));if(d.length>0){for(;b<f.length-p;b++)g.push(u(f[b]));for(let S=0;S<p;S++)g.push(l[S](f[b+S]))}return"["+g.join(", ")+"]"}}case"Objects":{let c=i.propertySignatures.map(u=>r(u.type)),d=i.indexSignatures.map(u=>r(u.type));return i.propertySignatures.length===0&&i.indexSignatures.length===0?U:u=>{let l=[],p=new Set;for(let f=0;f<c.length;f++){let g=i.propertySignatures[f],b=g.name;p.add(b),!(qt(g.type)&&!Object.hasOwn(u,b))&&l.push(`${fo(b)}: ${c[f](u[b])}`)}for(let f=0;f<d.length;f++){let g=Vs(u,i.indexSignatures[f].parameter);for(let b of g)p.has(b)||(p.add(b),l.push(`${fo(b)}: ${d[f](u[b])}`))}return l.length>0?"{ "+l.join(", ")+" }":"{}"}}case"Union":{let c=Tt(i).types,d=Hl(c),u=c.map((l,p)=>[sd(l),r(i.types[p])]);return l=>{let p=d(l,!1);for(let f=0;f<p.length;f++){let[g,b]=u[p[f]];if(g(l))return b(l)}return U(l)}}case"Suspend":{let c;return d=>(c??=r(i.thunk()))(d)}}}}var yr={};Re(yr,{Record:()=>g7,assign:()=>cw,evolve:()=>a7,evolveEntries:()=>d7,evolveKeys:()=>c7,get:()=>s7,keys:()=>i7,lambda:()=>an,makeCombiner:()=>YN,makeEquivalence:()=>u7,makeOrder:()=>l7,makeReducer:()=>h7,map:()=>p7,mapOmit:()=>m7,mapPick:()=>f7,omit:()=>Og,pick:()=>Rg,renameKeys:()=>Cg});var s7=h(2,(e,t)=>e[t]),i7=e=>Object.keys(e),Rg=h(2,(e,t)=>ds(e,(n,r)=>Dg(t,n)?[n,r]:void 0)),Og=h(2,(e,t)=>ds(e,(n,r)=>Dg(t,n)?void 0:[n,r])),cw=h(2,(e,t)=>({...e,...t})),a7=h(2,(e,t)=>ds(e,(n,r)=>[n,Object.hasOwn(t,n)?t[n](r):r])),c7=h(2,(e,t)=>ds(e,(n,r)=>[Object.hasOwn(t,n)?t[n](n):n,r])),d7=h(2,(e,t)=>ds(e,(n,r)=>Object.hasOwn(t,n)?t[n](n,r):[n,r])),Cg=h(2,(e,t)=>ds(e,(n,r)=>[Object.hasOwn(t,n)?t[n]:n,r])),u7=eA,l7=lA,an=e=>e,p7=h(2,(e,t)=>ds(e,(n,r)=>[n,t(r)])),f7=h(3,(e,t,n)=>ds(e,(r,o)=>[r,Dg(t,r)?n(o):o])),m7=h(3,(e,t,n)=>ds(e,(r,o)=>[r,Dg(t,r)?o:n(o)]));function Dg(e,t){return e.some(n=>n===t||typeof n=="number"&&String(n)===t)}function ds(e,t){let n={};for(let r of Reflect.ownKeys(e)){if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;let o=t(r,e[r]);if(o){let[s,i]=o;P(n,s,i)}}return n}function YN(e,t){let n=t?.omitKeyWhen??(()=>!1);return Tf((r,o)=>{let s=Reflect.ownKeys(e),i={};for(let c of s){let d=e[c].combine(r[c],o[c]);n(d)||P(i,c,d)}return i})}function h7(e,t){let n=YN(e,t).combine,r={};for(let o of Reflect.ownKeys(e)){let s=e[o].initialValue;t?.omitKeyWhen?.(s)||P(r,o,s)}return lu(n,r)}function g7(e,t){let n={};for(let r of e)P(n,r,t);return n}function t1(e,t){return no(cd("Iso",e,t))}function XN(e,t){return no(cd("Lens",e,t))}function cd(e,t,n){return[{_tag:"PrimitiveNode",kind:e,get:t,set:n}]}var y7={kind:"Iso",get:Q,set:Q},Pg=class{_tag="PathNode";kind="Lens";path;get;set;constructor(t){this.path=t,this.get=n=>{let r=n;for(let o=0;o<t.length;o++)r=r[t[o]];return r},this.set=(n,r)=>{let o=Mg(r),s=o,i=0;for(;i<t.length-1;i++){let c=t[i];P(s,c,Mg(s[c])),s=s[c]}return P(s,t[i],n),o}}},ap=class{_tag="CheckNode";kind="Prism";checks;get;set=Q;constructor(t){this.checks=t,this.get=n=>LU(t,n)}};function va(e,t){if(e.length===0)return t;if(t.length===0)return e;let n=e.slice();for(let r=0;r<t.length;r++){let o=t[r],s=n[n.length-1];s._tag==="PathNode"&&o._tag==="PathNode"?n[n.length-1]=new Pg([...s.path,...o.path]):s._tag==="CheckNode"&&o._tag==="CheckNode"?n[n.length-1]=new ap([...s.checks,...o.checks]):n.push(o)}return n}function x7(e,t){return no(cd("Optional",e,t))}var dd=class{node;getResult;replaceResult;constructor(t,n,r){this.node=t,this.getResult=n,this.replaceResult=r}replace(t,n){return Os(this.replaceResult(t,n),()=>n)}modify(t){return n=>Os(gt(this.getResult(n),r=>this.replaceResult(t(r),n)),()=>n)}compose(t){return no(va(this.node,t.node))}key(t){return no(va(this.node,[new Pg([t])]))}optionalKey(t){return no(va(this.node,cd("Lens",n=>n[t],(n,r)=>{let o=Mg(r);return n===void 0?Array.isArray(o)&&(typeof t=="number"||typeof t=="string"&&zf(t))?o.splice(Number(t),1):delete o[t]:P(o,t,n),o})))}check(...t){return no(va(this.node,[new ap(t)]))}refine(t,n){return no(va(this.node,[new ap([eg(t,n)])]))}tag(t){let n=J(new Z({expected:`${JSON.stringify(t)} tag`}));return no(va(this.node,cd("Prism",r=>r._tag===t?L(r):n,Q)))}at(t,...n){let r=J(new Pt([t],new ss(void 0)));return no(va(this.node,cd("Optional",o=>Object.hasOwn(o,t)?L(o[t]):r,(o,s)=>{if(Object.hasOwn(s,t)){let i=Mg(s);return P(i,t,o),L(i)}else return r})))}pick(t){return this.compose(XN(Rg(t),(n,r)=>({...Og(r,t),...n})))}omit(t){return this.compose(XN(Og(t),(n,r)=>({...Rg(r,t),...n})))}notUndefined(){return this.refine(bs,{expected:"a value other than `undefined`"})}forEach(t){let n=t(_g());return x7(r=>bt(this.getResult(r),o=>{let s=[];for(let i=0;i<o.length;i++){let c=n.getResult(o[i]);Et(c)&&s.push(c.success)}return s}),(r,o)=>gt(this.getResult(o),s=>{let i=[];for(let d=0;d<s.length;d++)Et(n.getResult(s[d]))&&i.push(d);if(r.length!==i.length)return J(new Z({message:`each: replacement length mismatch: ${r.length} !== ${i.length}`}));let c=s.slice();for(let d=0;d<i.length;d++){let u=i[d],l=n.replaceResult(r[d],s[u]);if(pe(l))return J(new Pt([u],l.failure));c[u]=l.success}return this.replaceResult(c,o)}))}modifyAll(t){return n=>Os(gt(this.getResult(n),r=>this.replaceResult(r.map(t),n)),()=>n)}},dw=class extends dd{get;set;constructor(t,n,r){super(t,o=>L(n(o)),o=>L(r(o))),this.get=n,this.set=r}replace(t,n){return this.set(t)}modify(t){return n=>this.set(t(this.get(n)))}},uw=class extends dd{get;constructor(t,n,r){super(t,o=>L(n(o)),(o,s)=>L(r(o,s))),this.get=n,this.replace=r}modify(t){return n=>this.replace(t(this.get(n)),n)}},lw=class extends dd{set;constructor(t,n,r){super(t,n,(o,s)=>L(r(o))),this.set=r}replace(t,n){return this.set(t)}modify(t){return n=>Os(bt(this.getResult(n),r=>this.set(t(r))),()=>n)}};function no(e){let t=e[0]??y7;if(e.length>1){let n=e.reduce((r,o)=>v7(r,o.kind),"Iso");t={kind:n,get:S7(e,n),set:b7(e,n)}}switch(t.kind){case"Iso":return new dw(e,t.get,t.set);case"Lens":return new uw(e,t.get,t.set);case"Prism":return new lw(e,t.get,t.set);case"Optional":return new dd(e,t.get,t.set)}}function Mg(e){if(Array.isArray(e))return e.slice();if(typeof e=="object"&&e!==null){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)throw new Error("Cannot clone object with non-Object constructor or null prototype");return{...e}}return e}function S7(e,t){return n=>{for(let r=0;r<e.length;r++){let o=e[r],s=o.get(n);if(pw(o.kind)){if(pe(s))return s;n=s.success}else n=s}return pw(t)?L(n):n}}function b7(e,t){return e1(t)?n=>{for(let r=e.length-1;r>=0;r--)n=e[r].set(n);return n}:(n,r)=>{let o=e.length,s=new Array(o);for(let i=0;i<o;i++){s[i]=r;let c=e[i];if(pw(c.kind)){let d=c.get(r);if(pe(d))return d;r=d.success}else r=c.get(r)}for(let i=o-1;i>=0;i--){let c=e[i];if(e1(c.kind))n=c.set(n);else if(c.kind==="Lens")n=c.set(n,s[i]);else{let d=c.set(n,s[i]);if(pe(d))return d;n=d.success}}return t==="Optional"?L(n):n}}function pw(e){return e==="Prism"||e==="Optional"}function e1(e){return e==="Iso"||e==="Prism"}function v7(e,t){return e==="Iso"?t:t==="Iso"||e===t?e:"Optional"}var I7=no([]);function _g(){return I7}function r1(e){let t=vg(e);return t1(Xl(t),Yl(t))}function o1(e){return _g()}function s1(e){return _g()}var ud="~effect/Schema/SchemaError";function i1(e){return O(e,ud)&&e[ud]===ud}var a1=ht((e,t)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0});var rr="~effect/net/NetAddress";var ro=e=>e.value,oo=e=>e,us=e=>e.bytes,xr=class extends ur("NetAddressError"){},ld=e=>O(e,rr),en=e=>ld(e)&&e._tag==="Ipv4Address",Sr=e=>ld(e)&&e._tag==="Ipv6Address",fw=e=>en(e)||Sr(e),pd=e=>en(e)?32:128;var fd=e=>ld(e)&&e._tag==="MacAddress",dp=e=>ld(e)&&e._tag==="InetAddressV4",up=e=>ld(e)&&e._tag==="InetAddressV6",mw=e=>dp(e)||up(e),Ug=e=>ld(e)&&e._tag==="UnixPathAddress",d1=e=>mw(e)||Ug(e),k7={...Ct,_tag:"Ipv4Address",[rr]:rr,[X](e){return en(e)&&ro(this)===ro(e)},[Y](){return Ht(ce(A7,ro(this)|0))},toString(){return tn(this)},toJSON(){return this.toString()}},E7={...Ct,_tag:"Ipv6Address",[rr]:rr,[X](e){if(!Sr(e))return!1;let t=oo(this),n=oo(e);return t.w0===n.w0&&t.w1===n.w1&&t.w2===n.w2&&t.w3===n.w3},[Y](){let e=oo(this),t=ce(R7,e.w0|0);return t=ce(t,e.w1|0),t=ce(t,e.w2|0),Ht(ce(t,e.w3|0))},toString(){return tn(this)},toJSON(){return this.toString()}},T7={...Ct,_tag:"MacAddress",[rr]:rr,[X](e){return fd(e)&&a1(us(this),us(e))},[Y](){return ce(O7,po(us(this)))},toString(){return yw(this)},toJSON(){return this.toString()}},A7=De("Ipv4Address"),R7=De("Ipv6Address"),O7=De("MacAddress"),C7=e=>{let t=Object.create(k7);return t.value=e>>>0,Object.freeze(t)},D7=(e,t,n,r)=>{let o=Object.create(E7);return o.w0=e>>>0,o.w1=t>>>0,o.w2=n>>>0,o.w3=r>>>0,Object.freeze(o)},P7=(e,t,n,r)=>(e<<24|t<<16|n<<8|r)>>>0;var cp=e=>[e>>>24,e>>>16&255,e>>>8&255,e&255],M7=e=>{let t=Object.assign(Object.create(T7),{bytes:new Uint8Array(e)});return Object.freeze(t)};var ft=(e,t)=>J(new xr({input:e,message:t})),u1=(e,t)=>{for(let n=0;n<e.length;n++){let r=e[n];if(!Number.isInteger(r)||r<0||r>t)return!1}return!0},_7=e=>u1(e,255)?L(C7(P7(e[0],e[1],e[2],e[3]))):ft(e,"octets must be integers from 0 through 255"),U7=e=>u1(e,65535)?L(D7(e[0]*65536+e[1],e[2]*65536+e[3],e[4]*65536+e[5],e[6]*65536+e[7])):ft(e,"segments must be integers from 0 through 65535");var l1=e=>/^(?:[0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$/.test(e)?L(M7(new Uint8Array(e.split(":").map(t=>Number.parseInt(t,16))))):ft(e,"expected six two-digit hexadecimal octets separated by colons");var Ia=e=>{let t=e.split(".");if(t.length!==4||t.some(r=>!/^\d{1,3}$/.test(r)))return ft(e,"expected exactly four decimal octets");if(t.some(r=>r.length>1&&r[0]==="0"))return ft(e,"leading zeroes are not allowed");let n=t.map(Number);return n.some(r=>r>255)?ft(e,"octets must be at most 255"):_7([n[0],n[1],n[2],n[3]])},N7=e=>{if(e.includes("[")||e.includes("]")||e.includes("%"))return ft(e,"brackets and zone identifiers are not valid in a bare IPv6 address");let t=e.split("::");if(t.length>2)return ft(e,"only one compression marker is allowed");let n=t[0]===""?[]:t[0].split(":"),r=t.length===2&&t[1]!==""?t[1].split(":"):[];if(n.some(l=>l==="")||r.some(l=>l===""))return ft(e,"empty segments are only valid in the compression marker");let o=r.length>0?r[r.length-1]:n.length>0?n[n.length-1]:"",s;if(o.includes(".")){if(t.length===2&&r.length===0)return ft(e,"embedded IPv4 syntax must be trailing");let l=bt(Ia(o),p=>{let f=ro(p);return[f>>>16,f&65535]});if(pe(l))return l;s=l.success,r.length>0?r.pop():n.pop()}let i=n.length+r.length+(s?2:0);if(t.length===1?i!==8:i>=8)return ft(e,t.length===1?"expected eight segments":"compression must replace at least one segment");let c=l=>/^[0-9a-fA-F]{1,4}$/.test(l)?Number.parseInt(l,16):void 0,d=n.map(c),u=r.map(c);return d.some(l=>l===void 0)||u.some(l=>l===void 0)?ft(e,"segments must contain one through four hexadecimal digits"):L([...d,...Array(8-i).fill(0),...u,...s??[]])},wa=e=>gt(N7(e),t=>U7(t)),ti=e=>e.includes(":")?wa(e):Ia(e);var hw=e=>{if(typeof e!="string"||!e.includes("%"))return!1;let t=lp(e);return Et(t)&&t.success===e},lp=e=>{let t=e.indexOf("%");if(t===-1)return ft(e,"expected an IPv6 zone");let n=e.slice(t+1);if(n.length===0||/[%[\]/\s\p{Cc}]/u.test(n))return ft(e,"invalid IPv6 scope identifier");if(/^\d+$/.test(n)){let r=Number(n);if(r>4294967295)return ft(e,"scope identifier must be an unsigned 32-bit integer");n=String(r)}return bt(wa(e.slice(0,t)),r=>`${tn(r)}%${n}`)};var Ng=e=>cp(ro(e)),F7=e=>{let{w0:t,w1:n,w2:r,w3:o}=oo(e);return[t>>>16,t&65535,n>>>16,n&65535,r>>>16,r&65535,o>>>16,o&65535]},gw=e=>{let{w0:t,w1:n,w2:r,w3:o}=oo(e);return[...cp(t),...cp(n),...cp(r),...cp(o)]};var yw=e=>Array.from(us(e),t=>t.toString(16).padStart(2,"0")).join(":"),Fg=e=>us(e).every(t=>t===255),$7=e=>(us(e)[0]&1)!==0,$g=e=>(us(e)[0]&1)===0,xw=e=>(us(e)[0]&2)!==0,Sw=e=>(us(e)[0]&2)===0;var tn=e=>{if(en(e))return Ng(e).join(".");let t=F7(e);if(L7(e))return`::ffff:${t[6]>>8}.${t[6]&255}.${t[7]>>8}.${t[7]&255}`;let n=-1,r=0,o=-1;for(let c=0;c<=8;c++)c<8&&t[c]===0?o===-1&&(o=c):o!==-1&&(c-o>r&&(n=o,r=c-o),o=-1);if(r<2)return t.map(c=>c.toString(16)).join(":");let s=t.slice(0,n).map(c=>c.toString(16)).join(":"),i=t.slice(n+r).map(c=>c.toString(16)).join(":");return`${s}::${i}`},Lg=e=>{if(en(e))return ro(e)===0;let{w0:t,w1:n,w2:r,w3:o}=oo(e);return t===0&&n===0&&r===0&&o===0},bw=e=>{if(en(e))return ro(e)>>>24===127;let{w0:t,w1:n,w2:r,w3:o}=oo(e);return t===0&&n===0&&r===0&&o===1},md=e=>fd(e)?$7(e):en(e)?ro(e)>>>28===14:oo(e).w0>>>24===255,qg=e=>fd(e)?Fg(e):ro(e)===4294967295,vw=e=>fd(e)?$g(e):!md(e)&&!Lg(e)&&(!en(e)||!qg(e)),Iw=e=>en(e)?ro(e)>>>16===43518:(oo(e).w0>>>16&65472)===65152,ww=e=>{let t=ro(e);return t>>>24===10||(t>>>16&65520)===44048||t>>>16===49320},kw=e=>(oo(e).w0>>>24&254)===252,L7=e=>{let{w0:t,w1:n,w2:r}=oo(e);return t===0&&n===0&&r===65535};var q7={...Ct,_tag:"InetAddressV4",[rr]:rr,[X](e){return dp(e)&&this.port===e.port&&V(this.address,e.address)},[Y](){return ce(H(this.address),Ot(this.port))},toString(){return Bg(this)},toJSON(){return this.toString()}},B7={...Ct,_tag:"InetAddressV6",[rr]:rr,[X](e){return up(e)&&this.port===e.port&&this.scopeId===e.scopeId&&V(this.address,e.address)},[Y](){return ce(ce(H(this.address),Ot(this.port)),Ot(this.scopeId))},toString(){return Bg(this)},toJSON(){return this.toString()}},p1=e=>Number.isInteger(e)&&e>=0&&e<=65535,j7=(e,t)=>{if(!p1(t))return ft(e,"port must be an integer from 0 through 65535");let n=Object.create(q7);return n.address=e,n.port=t,L(Object.freeze(n))},H7=(e,t,n)=>{if(!p1(t))return ft(e,"port must be an integer from 0 through 65535");let r=n?.scopeId??0;if(!Number.isInteger(r)||r<0||r>4294967295)return ft(e,"scopeId must be an unsigned 32-bit integer");let o=Object.create(B7);return o.address=e,o.port=t,o.scopeId=r,L(Object.freeze(o))};var Ew=e=>{let t,n,r=0,o=e.startsWith("[");if(o){let s=e.indexOf("]");if(s<0||e[s+1]!==":"||e.indexOf("]",s+1)!==-1)return ft(e,"expected [IPv6]:port");t=e.slice(1,s),n=e.slice(s+2);let i=t.indexOf("%");if(i!==-1){let c=t.slice(i+1);if(t.indexOf("%",i+1)!==-1||!/^\d+$/.test(c))return ft(e,"scope identifier must be decimal");if(r=Number(c),!Number.isInteger(r)||r>4294967295)return ft(e,"scope identifier must be an unsigned 32-bit integer");t=t.slice(0,i)}}else{let s=e.lastIndexOf(":");if(s<0)return ft(e,"expected host:port or [IPv6]:port");if(e.indexOf(":")!==s)return ft(e,"IPv6 addresses must be bracketed");t=e.slice(0,s),n=e.slice(s+1)}return/^(0|[1-9]\d*)$/.test(n)?gt(ti(t),s=>o!==Sr(s)?ft(e,"only IPv6 addresses use brackets"):Sr(s)?H7(s,Number(n),{scopeId:r}):j7(s,Number(n))):ft(e,"port must be an unpadded decimal integer")};var z7=e=>tn(e.address)+(up(e)&&e.scopeId!==0?`%${e.scopeId}`:"");var Bg=e=>{let t=z7(e);return dp(e)?`${t}:${e.port}`:`[${t}]:${e.port}`};var W7={...Ct,_tag:"UnixPathAddress",[rr]:rr,[X](e){return Ug(e)&&this.path===e.path},[Y](){return ce(De("UnixPathAddress"),De(this.path))},toString(){return this.path},toJSON(){return this.toString()}},f1=e=>{let t=Object.create(W7);return t.path=e,Object.freeze(t)};var Tw="~effect/net/Host",ni=(e,t)=>J(new xr({input:e,message:t})),K7=/^[a-z0-9_.-]$/i,G7=/^[a-z0-9_](?:[a-z0-9_-]{0,61}[a-z0-9_])?$/,V7=/^(?:\d+|0x[0-9a-f]*)$/,m1=e=>{if(e===".")return;let t=e.endsWith(".")?e.slice(0,-1):e;if(t.length===0)return"domain name must not be empty";if(t.length>253)return"domain name must be at most 253 characters";let n=t.split(".");for(let r of n){if(r.length===0)return"domain name labels must not be empty";if(r.length>63)return"domain name labels must be at most 63 characters";if(!G7.test(r))return"domain name labels must contain only letters, digits, hyphens, or underscores and must not start or end with a hyphen"}if(V7.test(n[n.length-1]))return"the last domain name label must not be numeric"},J7=e=>{let t=!0;for(let n of e)if(n.charCodeAt(0)<128){if(!K7.test(n))return}else t=!1;if(t)return e.toLowerCase();try{return new URL(`http://${e}`).hostname}catch{return}},ls=e=>typeof e=="string"&&/^[a-z0-9_.-]+$/.test(e)&&m1(e)===void 0;var Rw=e=>O(e,Tw),jg=e=>{let t=J7(e);if(t===void 0)return ni(e,"invalid domain name");let n=m1(t);return n===void 0?L(t):ni(e,n)};var Z7=e=>{if(e.includes("%"))return lp(e);if(e.includes(":"))return ti(e);if(/^[\d.]+$/.test(e)){let t=ti(e);if(Et(t))return t}return jg(e)};var Q7=e=>typeof e=="string"?e:tn(e);var Y7={...Ct,_tag:"HostPort",[Tw]:Tw,[X](e){return Rw(e)&&this.port===e.port&&V(this.host,e.host)},[Y](){return ce(H(this.host),Ot(this.port))},toString(){return Ow(this)},toJSON(){return this.toString()}},X7=e=>Number.isInteger(e)&&e>=0&&e<=65535,e9=(e,t)=>{let n=Object.create(Y7);return n.host=e,n.port=t,Object.freeze(n)};var h1=e=>{let t,n;if(e.startsWith("[")){let o=e.indexOf("]");if(o===-1||e[o+1]!==":")return ni(e,"expected [IPv6]:port");if(t=e.slice(1,o),n=e.slice(o+2),!t.includes(":"))return ni(e,"only IPv6 addresses use brackets")}else{let o=e.lastIndexOf(":");if(o===-1)return ni(e,"expected host:port");if(e.indexOf(":")!==o)return ni(e,"IPv6 addresses must be bracketed");t=e.slice(0,o),n=e.slice(o+1)}if(!/^(0|[1-9]\d*)$/.test(n))return ni(e,"port must be an unpadded decimal integer");let r=Number(n);return X7(r)?bt(Z7(t),o=>e9(o,r)):ni(e,"port must be an integer from 0 through 65535")};var Ow=e=>{let t=Q7(e.host);return t.includes(":")?`[${t}]:${e.port}`:`${t}:${e.port}`};var Dw="~effect/net/Dns/DnsRecord",Cw=e=>Number.isInteger(e)&&e>=0&&e<=255,hd=e=>Number.isInteger(e)&&e>=0&&e<=65535,x1=e=>Number.isInteger(e)&&e>=0&&e<=4294967295,ri=e=>typeof e=="string",Hg=e=>yu(e)&&Mi(e)&&x1(bo(e)),S1={A:{address:en},AAAA:{address:Sr},CAA:{critical:e=>typeof e=="boolean",tag:e=>ri(e)&&/^[a-z0-9]+$/i.test(e),value:ri},CNAME:{target:ls},MX:{exchange:ls,priority:hd},NAPTR:{order:hd,preference:hd,flags:ri,service:ri,regexp:ri,replacement:ls},NS:{host:ls},PTR:{host:e=>ri(e)&&e.length>0},SOA:{primary:ls,admin:e=>ri(e)&&e.length>0,serial:x1,refresh:Hg,retry:Hg,expire:Hg,minimum:Hg},SRV:{target:ls,port:hd,priority:hd,weight:hd},TLSA:{certUsage:Cw,selector:Cw,matchingType:Cw,data:e=>e instanceof Uint8Array&&e.length>0},TXT:{chunks:e=>Array.isArray(e)&&e.length>0&&e.every(ri)}},Pw=Object.keys(S1),t9=e=>Pw.includes(e),Mw=e=>O(e,Dw),n9={...Ct,[Dw]:Dw,[X](e){return Mw(e)&&e._tag===this._tag&&Object.keys(this).every(t=>V(this[t],e[t]))},[Y](){return nu(this,Object.keys(this))},toString(){return o9(this)},toJSON(){return{...this}}},b1=(e,t)=>{if(!t9(e))return J(new xr({input:e,message:"unknown DNS record type"}));let n=typeof t=="object"&&t!==null?t:{},r=Object.create(n9);r._tag=e;for(let[o,s]of Object.entries(S1[e])){let i=n[o];if(!s(i))return J(new xr({input:t,message:`invalid ${e} record ${o}`}));r[o]=Array.isArray(i)?Object.freeze([...i]):i instanceof Uint8Array?new Uint8Array(i):i}return L(Object.freeze(r))};var v1=new TextEncoder,I1=e=>`\\${e.toString().padStart(3,"0")}`,fp=e=>{let t='"';for(let n of v1.encode(e))t+=n===34||n===92?`\\${String.fromCharCode(n)}`:n<32||n>126?I1(n):String.fromCharCode(n);return t+'"'},r9=[34,36,40,41,59,64],y1=e=>{let t=v1.encode(e),n="";for(let r=0;r<t.length;r++){let o=t[r];if(o===92){let s=t[r+1];s===46||s===92?(n+=`\\${String.fromCharCode(s)}`,r++):n+="\\\\"}else o<=32||o>126?n+=I1(o):n+=r9.includes(o)?`\\${String.fromCharCode(o)}`:String.fromCharCode(o)}return n},o9=e=>{switch(e._tag){case"A":case"AAAA":return`${e._tag} ${tn(e.address)}`;case"CAA":return`CAA ${e.critical?128:0} ${e.tag} ${fp(e.value)}`;case"CNAME":return`CNAME ${e.target}`;case"MX":return`MX ${e.priority} ${e.exchange}`;case"NAPTR":return`NAPTR ${e.order} ${e.preference} ${fp(e.flags)} ${fp(e.service)} ${fp(e.regexp)} ${e.replacement}`;case"NS":return`NS ${e.host}`;case"PTR":return`PTR ${y1(e.host)}`;case"SOA":return`SOA ${e.primary} ${y1(e.admin)} ${e.serial} ${bo(e.refresh)} ${bo(e.retry)} ${bo(e.expire)} ${bo(e.minimum)}`;case"SRV":return`SRV ${e.priority} ${e.weight} ${e.port} ${e.target}`;case"TLSA":return`TLSA ${e.certUsage} ${e.selector} ${e.matchingType} ${em(e.data).toUpperCase()}`;case"TXT":return`TXT ${e.chunks.map(fp).join(" ")}`}};var _w="~effect/net/IpInterface",w1=e=>mp(e)&&en(e.address),k1=e=>mp(e)&&Sr(e.address),mp=e=>O(e,_w),c9={...Ct,_tag:"IpInterface",[_w]:_w,[X](e){return mp(e)&&this.prefixLength===e.prefixLength&&V(this.address,e.address)},[Y](){return ce(H(this.address),Ot(this.prefixLength))},toString(){return gp(this)},toJSON(){return this.toString()}},Uw=(e,t)=>J(new xr({input:e,message:t})),hp=(e,t)=>{let n=pd(e);if(!Number.isInteger(t)||t<0||t>n)return Uw(e,`prefix length must be an integer from 0 through ${n}`);let r=Object.assign(Object.create(c9),{address:e,prefixLength:t});return L(Object.freeze(r))},Nw=(e,t)=>{let n=e.indexOf("/");if(n===-1&&t?.prefix!=="required")return L({address:e,prefixLength:void 0});if(n<=0||n!==e.lastIndexOf("/")||n===e.length-1)return Uw(e,"expected an address and prefix length separated by one slash");let r=e.slice(n+1);return/^(0|[1-9][0-9]*)$/.test(r)?L({address:e.slice(0,n),prefixLength:Number(r)}):Uw(e,"prefix length must be an unpadded ASCII decimal integer")},zg=(e,t)=>gt(Nw(e,t),n=>gt(Ia(n.address),r=>hp(r,n.prefixLength??pd(r)))),Wg=(e,t)=>gt(Nw(e,t),n=>gt(wa(n.address),r=>hp(r,n.prefixLength??pd(r)))),Kg=(e,t)=>gt(Nw(e,t),n=>gt(ti(n.address),r=>hp(r,n.prefixLength??pd(r))));var gp=e=>`${tn(e.address)}/${e.prefixLength}`;var Fw="~effect/net/IpNetwork",T1=e=>yp(e)&&en(e.address),A1=e=>yp(e)&&Sr(e.address),yp=e=>O(e,Fw),d9={...Ct,_tag:"IpNetwork",[Fw]:Fw,[X](e){return yp(e)&&this.prefixLength===e.prefixLength&&V(this.address,e.address)},[Y](){return ce(H(this.address),Ot(this.prefixLength))},toString(){return xp(this)},toJSON(){return this.toString()}},u9=e=>{let t=Object.assign(Object.create(d9),{address:e.address,prefixLength:e.prefixLength});return Object.freeze(t)},l9=e=>en(e)?Ng(e):gw(e);var p9=(e,t)=>{let n=Math.floor(t/8),r=t%8;return e.map((o,s)=>s<n?o:s===n&&r!==0?o&(255<<8-r&255):0)},$w=(e,t)=>gt(hp(e,t),n=>{let r=l9(e),o=p9(r,t);return r.some((s,i)=>s!==o[i])?J(new xr({input:e,message:"address has non-zero host bits"})):L(u9(n))});var R1=e=>gt(zg(e,{prefix:"required"}),t=>$w(t.address,t.prefixLength)),O1=e=>gt(Wg(e,{prefix:"required"}),t=>$w(t.address,t.prefixLength)),C1=e=>gt(Kg(e,{prefix:"required"}),t=>$w(t.address,t.prefixLength));var xp=e=>`${tn(e.address)}/${e.prefixLength}`;var Lw="~effect/SemVer",qw="~effect/SemVer/SemVerError",Gg=class extends ur("SemVerError"){[qw]=qw},m9=e=>O(e,qw),br=e=>{throw new Gg({message:e})},h9=e=>Lf({try:e,catch:t=>{if(!m9(t))throw t;return t}}),Bw=(e,t,n)=>pc(h9(()=>n(t)),r=>new Gg({message:`Invalid ${e} ${JSON.stringify(t)}: ${r.message}`,input:t})),g9=/^(?:0|[1-9]\d*)$/,y9=/^\d+$/,P1=/^[0-9A-Za-z-]+$/,Sp=(e,t)=>!Number.isSafeInteger(e)||e<0?br(`${t} must be a non-negative safe integer, received ${e}`):e,gd=(e,t)=>g9.test(e)?Sp(Number(e),t):br(`${t} must be a non-negative integer without leading zeros, received ${JSON.stringify(e)}`),Vg=e=>typeof e=="number"?Sp(e,"numeric pre-release identifier"):P1.test(e)?y9.test(e)?gd(e,"numeric pre-release identifier"):e:br(`pre-release identifier must be non-empty [0-9A-Za-z-], received ${JSON.stringify(e)}`),M1=e=>P1.test(e)?e:br(`build identifier must be non-empty [0-9A-Za-z-], received ${JSON.stringify(e)}`);var x9={[Lw]:Lw,[X](e){return jw(e)&&b9(this,e)},[Y](){return De(ka(this))},toString(){return`SemVer(${ka(this)})`},toJSON(){return{_id:"SemVer",value:ka(this)}},[je](){return this.toJSON()},pipe(){return ie(this,arguments)}},_1=(e,t,n,r,o)=>{let s=Object.create(x9);return s.major=e,s.minor=t,s.patch=n,s.prerelease=r,s.build=o,s};var jw=e=>O(e,Lw),Hw=e=>_1(Sp(e.major,"major"),Sp(e.minor,"minor"),Sp(e.patch,"patch"),e.prerelease?.map(Vg)??[],e.build?.map(M1)??[]),S9=e=>{let t=e,n=[],r=t.indexOf("+");r!==-1&&(n=t.slice(r+1).split(".").map(M1),t=t.slice(0,r));let o=[],s=t.indexOf("-");s!==-1&&(o=t.slice(s+1).split(".").map(Vg),t=t.slice(0,s));let i=t.split(".");return i.length!==3?br("expected MAJOR.MINOR.PATCH"):_1(gd(i[0],"major"),gd(i[1],"minor"),gd(i[2],"patch"),o,n)},U1=e=>Bw("SemVer",e,S9);var ka=e=>{let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease.length>0&&(t+=`-${e.prerelease.join(".")}`),e.build.length>0&&(t+=`+${e.build.join(".")}`),t};var D1=ec(Ts()),b9=ht((e,t)=>e.major===t.major&&e.minor===t.minor&&e.patch===t.patch&&D1(e.prerelease,t.prerelease)&&D1(e.build,t.build));var Kw="~effect/SemVerRange",v9={[Kw]:Kw,[X](e){return Gw(e)&&oi(this)===oi(e)},[Y](){return De(oi(this))},toString(){return`SemVerRange(${oi(this)})`},toJSON(){return{_id:"SemVerRange",value:oi(this)}},[je](){return this.toJSON()},pipe(){return ie(this,arguments)}},Gw=e=>O(e,Kw);var I9={components:[],prerelease:[]},w9=/^(<=|>=|<|>|=|~|\^)?(.*)$/,k9=e=>e==="x"||e==="X"||e==="*",E9=["major","minor","patch"],zw=e=>{if(e.length===0)return br("expected a version after the operator");if(e.includes("+"))return br(`build metadata is not allowed in ranges, received ${JSON.stringify(e)}`);let t=e.indexOf("-"),n=(t===-1?e:e.slice(0,t)).split(".");if(n.length>3)return br(`expected at most MAJOR.MINOR.PATCH, received ${JSON.stringify(e)}`);let r=[];for(let o=0;o<n.length;o++)if(!k9(n[o])){if(r.length<o)return br(`a version component cannot follow a wildcard, received ${JSON.stringify(e)}`);r.push(gd(n[o],E9[o]))}return t===-1?{components:r,prerelease:[]}:r.length<3?br(`a pre-release requires MAJOR.MINOR.PATCH, received ${JSON.stringify(e)}`):{components:r,prerelease:e.slice(t+1).split(".").map(Vg)}},T9=e=>{let t=e.split(/\s+/).filter(r=>r.length>0);if(t.length===0)return br("expected a comparator");if(t.length===3&&t[1]==="-")return[{_tag:"Hyphen",from:zw(t[0]),to:zw(t[2])}];let n=[];for(let r=0;r<t.length;r++){let[,o,s]=w9.exec(t[r]),i=s.length===0&&o!==void 0&&r+1<t.length?t[++r]:s;n.push({_tag:"Comparator",operator:o??"=",version:zw(i)})}return n},F1=e=>{let t=Object.create(v9);return t.sets=e,t},A9=e=>e.trim().length===0?R9:F1(e.split("||").map(T9)),Vw=e=>Bw("SemVer range",e,A9),$1=e=>Nr(Vw(e));var R9=F1([[{_tag:"Comparator",operator:"=",version:I9}]]);var Ww=e=>{if(e.components.length===0)return"*";let t=e.components.join(".");return e.prerelease.length===0?t:`${t}-${e.prerelease.join(".")}`},O9=e=>e._tag==="Hyphen"?`${Ww(e.from)} - ${Ww(e.to)}`:`${e.operator==="="?"":e.operator}${Ww(e.version)}`,oi=e=>e.sets.map(t=>t.map(O9).join(" ")).join(" || ");var bp=xg;function _n(){return(e,t,n)=>G(new Yc(e.map(jl),r=>t(r.map(o=>G(o))),n))}function Fe(e,t){return _n()([],()=>(n,r,o)=>e(n)?C(n):D(new vt(r,n,o)),t)}function C9(e){return e}function D9(e){return t=>t.annotate(e)}function P9(e){return t=>Zw(Zw(t).annotate(e))}function M9(e){return t=>t.rebuild(Gl(t.ast,e))}function _9(e){return e}var Ta=class extends ur("SchemaError"){[ud]=ud;constructor(t){let n=Cr();Wt(0);try{super({issue:t})}finally{Wt(n)}}get message(){return W_(this.issue)}toJSON(){return{_tag:this._tag,message:this.message}}[je](){return this.toJSON()}toString(){return`SchemaError(${this.message})`}};function X1(e){return i1(e)}function eF(e){return qe(e)?tk(e):Ls(e,t=>Uc(()=>Ns(t,n=>new Ta(n))))}function tk(e){return Lt(e)?e:Wi(Ns(e.cause,t=>new Ta(t)))}function tF(e,t){let n;for(let r of e.reasons){if(!$m(r)||!X1(r.error))throw new globalThis.Error(t,{cause:e});n??=r.error}if(n===void 0)throw new globalThis.Error(t,{cause:e});return n}function nF(e){return rl(e).then(t=>{if(Lt(t))return t.value;throw tF(t.cause,"Promise adapter can only reject schema errors")})}function rF(e){let t=wo(e);if(Lt(t))return t.value;throw tF(t.cause,"Sync adapter can only throw schema errors")}function U9(e,t){return FN(e,t)}function N9(e){return LN(e)}var F9=od,$9=$I;function Zg(e,t){let n=pt(e,t);return(r,o)=>eF(n(r,o))}var L9=Zg;function oF(e,t){let n=pg(e,t);return(r,o)=>tk(n(r,o))}var q9=oF,B9=fg,j9=LI;function sF(e,t){let n=mg(e,t);return(r,o)=>pc(n(r,o),s=>new Ta(s))}var H9=sF;function iF(e,t){let n=Zg(e,t);return(r,o)=>nF(n(r,o))}var z9=iF;function aF(e,t){let n=Zg(e,t);return(r,o)=>rF(n(r,o))}var W9=aF;function Qg(e,t){let n=as(e,t);return(r,o)=>eF(n(r,o))}var K9=Qg;function cF(e,t){let n=hg(e,t);return(r,o)=>tk(n(r,o))}var G9=cF,V9=gg,J9=BI;function dF(e,t){let n=yg(e,t);return(r,o)=>pc(n(r,o),s=>new Ta(s))}var Z9=dF;function uF(e,t){let n=Qg(e,t);return(r,o)=>nF(n(r,o))}var Q9=uF;function lF(e,t){let n=Qg(e,t);return(r,o)=>rF(n(r,o))}var Y9=lF,G=nr;function Yg(e){return O(e,bp)&&e[bp]===bp}var Ea=an(e=>G(ya(e.ast),{schema:e})),X9=an(e=>e.schema),vd=an(e=>{let t=ry(e);return G(CU(e.ast),{schema:t})}),eQ=an(e=>e.schema.members[0]),tQ=an(e=>G(EI(e.ast),{schema:e})),nQ=an(e=>e.schema),Un=an(e=>G(Tt(e.ast),{schema:e})),Id=an(e=>G(Yr(e.ast),{schema:e})),vp="~effect/Schema/flip";function rQ(e){return O(e,vp)&&e[vp]===vp}function Zw(e){return rQ(e)?e.schema.rebuild(Yn(e.ast)):G(Yn(e.ast),{[vp]:vp,schema:e})}function Bt(e){let t=G(new Qn(e),{literal:e,transform(n){return t.pipe(W(Bt(n),{decode:K(()=>n),encode:K(()=>e)}))}});return t}function pF(e){return e.map(t=>Yg(t)?t.ast:new Qn(t))}function oQ(e){return G(new pI(pF(e)),{parts:e})}function sQ(e){return G(lU(pF(e)),{parts:e})}function iQ(e){return G(new uU(Object.keys(e).filter(t=>typeof e[e[t]]!="number").map(t=>[t,e[t]])),{enums:e})}var aQ=G(Xc),cQ=G(cU),Ip=G(is),Xg=G(ql),nk=G(lI),q=G(Mn),dQ=q,wp=G(fI),ey=G(mU),fF=G(hU),wd=G(gU),uQ=G(aU),lQ=G(dU);function pQ(e){return G(new fU(e))}function rk(e,t){return G(e,{fields:t,mapFields(n,r){let o=n(this.fields);return rk(Qh(o,r?.unsafePreserveChecks?this.ast.checks:void 0),o)}})}function Oe(e){return rk(Qh(e,void 0),e)}function fQ(e){return an(t=>t.mapFields(cw(e)))}var mQ=e=>typeof e=="symbol"?e:globalThis.String(e);function hQ(e){return function(t){let n={},r=Object.create(null),o=Object.create(null),s=new Set;for(let i of Reflect.ownKeys(t.fields)){let c=Id(t.fields[i]),d=Object.hasOwn(e,i),u=d?e[i]:i,l=mQ(u);if(s.has(l))throw new globalThis.Error(`Duplicate encoded keys: ${fo(u)}`);s.add(l),P(n,u,c),d&&(r[i]=u,o[u]=i)}return Oe(n).pipe(W(t,Pe({decode:Cg(o),encode:Cg(r)})))}}function gQ(e,t){return n=>{let r=Bf(n.fields,Un),o=Oe({...r,...e});return n.pipe(W(o,Pe({decode:s=>{let i={...s};for(let c in e){let d=t[c],u=d(s);st(u)&&P(i,c,u.value)}return i},encode:s=>{let i={...s};for(let c in e)delete i[c];return i}})))}}function Aa(e,t){return G(rg(e.ast,t.ast),{key:e,value:t})}function yQ(e,t){return G(vU(e.ast,t.map(jl)),{schema:e,records:t})}function mF(e,t){return G(e,{elements:t,mapElements(n,r){let o=n(this.elements);return mF(yI(o,r?.unsafePreserveChecks?this.ast.checks:void 0),o)}})}function Oo(e){return mF(yI(e),e)}function xQ(e,t){return G(IU(e.ast,t.map(jl)),{schema:e,rest:t})}var He=an(e=>G(new Xn(!1,[],[e.ast]),{value:e}));function ty(e,t,n){return t!==void 0&&n!==void 0?e.check(dk(t,n)):t!==void 0?e.check(ck(t)):n!==void 0?e.check(UF(n)):e}var ny=an(e=>G(new Xn(!1,[e.ast],[e.ast]),{value:e}));function SQ(e){let t=He(e),n=He(Un(e)),r=W(Oo([Ip]),Pe({decode:o=>[o],encode:([o])=>o}))(e);return G(ct([r,t]).pipe(W(n)).ast,{from:ct([e,t]),to:n})}function bQ(e){return He(e).check(lk())}var vQ=an(e=>G(wU(e.ast),{schema:e}));function hF(e,t){return G(e,{members:t,mapMembers(n,r){let o=n(this.members);return hF(Yh(o,this.ast.options,r?.unsafePreserveChecks?this.ast.checks:void 0),o)}})}function ct(e,t){return hF(Yh(e,t,void 0),e)}function Co(e){let t=e.map(Bt);return G(Yh(t,void 0,void 0),{literals:e,members:t,mapMembers(n){return ct(n(this.members))},pick(n){return Co(n)},transform(n){return ct(t.map((r,o)=>r.transform(n[o])))}})}var ok=an(e=>ct([e,Xg])),ry=an(e=>ct([e,nk])),gF=an(e=>ct([e,Xg,nk]));function yF(e){return G(new SI(()=>e().ast))}function IQ(...e){return t=>t.check(...e)}function xF(e,t){return n=>G(Ro(n.ast,[eg(e,t)]),{schema:n})}function oy(e){return t=>G(t.ast,{schema:t,identifier:e})}function wQ(e,t){return n=>(t.checks?n.check(...t.checks):n).pipe(oy(e))}function SF(e){return t=>G(RU(t.ast,new Ul(e,Q)),{schema:t})}function bF(e){return t=>G(OU(t.ast,new Ul(Q,e)),{schema:t})}function kQ(e){return vF(e)}function vF(e){return t=>SF(mh(e))(t)}function EQ(e){return IF(e)}function IF(e){return t=>bF(mh(e))(t)}function W(e,t){return n=>G(xa(n.ast,e.ast,t?Nl(t):fa()),{from:n,to:e})}function si(){return(e,t)=>Ce()(e,{decode:t,encode:cv})}var wF=Co(["true","yes","on","1","y"]),kF=Co(["false","no","off","0","n"]),TQ=Co([...wF.literals,...kF.literals]).pipe(W(ey,Pe({decode:e=>e==="true"||e==="yes"||e==="on"||e==="1"||e==="y",encode:e=>e?"true":"false"})));function AQ(e){return t=>W(Un(t),e)(t)}function sk(e,t){return n=>t?W(n,t)(e):W(n)(e)}function RQ(e){return t=>W(t,e)(Id(t))}function EF(e){return t=>G(DU(t.ast,e),{schema:t})}function TF(e){return qe(e)&&e._tag==="Success"?e:Ls(e,t=>Uc(()=>Ns(t,n=>n.issue)))}function ik(e,t){let n=t?.encodingStrategy==="omit"?$h():Sn();return r=>Ea(Id(r)).pipe(W(r,{decode:Lh(TF(e)),encode:n}))}function OQ(e,t){return n=>Un(n).pipe(ik(e,t),sk(Ea(n)))}function AF(e,t){let n=t?.encodingStrategy==="omit"?$h():Sn();return r=>vd(Id(r)).pipe(W(r,{decode:Lh(TF(e)),encode:n}))}function CQ(e,t){return n=>Un(n).pipe(AF(e,t),sk(vd(n)))}function ps(e){return Bt(e).pipe(EF(C(e)))}function DQ(e){return ps(e).pipe(ik(C(e),{encodingStrategy:"omit"}))}function kp(e,t){return Oe({_tag:ps(e),...t})}function RF(e){return t=>{let n={},r=[],o=new Set,s={},i=l=>p=>l.includes(p[e]);return c(t),Object.assign(t,{tag:e,cases:n,discriminants:r,isAnyOf:i,guards:s,match:d,matchOrElse:u});function c(l){let p=l.ast;if(Zh(p)&&"members"in l&&globalThis.Array.isArray(l.members)&&l.members.every(Yg))return l.members.forEach(c);let f=Jc(p);if(f.length>0){let g=f.find(b=>b.key===e)?.literal;if(hf(g)){let b=typeof g=="number"?globalThis.String(g):g;if(o.has(b))throw new globalThis.Error(`Duplicate discriminant: ${globalThis.String(g)}`);o.add(b),r.push(g),P(n,g,l),P(s,g,od(Un(l)));return}}throw new globalThis.Error("No literal or unique symbol found")}function d(){if(arguments.length===1){let b=arguments[0];return function(S){let y=S[e];return(Object.hasOwn(b,y)?b[y]:void 0)(S)}}let l=arguments[0],p=arguments[1],f=l[e];return(Object.hasOwn(p,f)?p[f]:void 0)(l)}function u(){if(arguments.length===2){let S=arguments[0],y=arguments[1];return function(I){let v=I[e];return(Object.hasOwn(S,v)?S[v]??y:y)(I)}}let l=arguments[0],p=arguments[1],f=arguments[2],g=l[e];return(Object.hasOwn(p,g)?p[g]??f:f)(l)}}}function PQ(e){let t={},n=[];for(let u of Object.keys(e)){let l=kp(u,e[u]);P(t,u,l),n.push(l)}let r=ct(n),{tag:o,guards:s,isAnyOf:i,match:c,matchOrElse:d}=RF("_tag")(r);return G(r.ast,{tag:o,cases:t,isAnyOf:i,guards:s,match:c,matchOrElse:d})}function MQ(){return e=>e}function Ra(e,t){return Fe(n=>n instanceof e,t)}function Ce(){return(e,t)=>new xt(e.ast,Nl(t))}var Me=Xh;function _Q(e,t=void 0){return new ha(e,t)}var q1="^\\S[\\s\\S]*\\S$|^\\S$|^$";function OF(e){let t=new globalThis.RegExp(q1);return Me(n=>n.trim()===n,{expected:"a string with no leading or trailing whitespace",representation:{id:"effect/schema/isTrimmed",payload:null},toJsonSchema:()=>({pattern:t.source}),toCode:()=>({runtime:"Schema.isTrimmed()"}),arbitraryConstraint:{patterns:[{source:q1,flags:""}]},...e})}function Oa(e,t){let n=e.source,r=e.flags,o=/^[dg]*uy?$/.test(r),s=r===""?`new RegExp(${U(n)})`:`new RegExp(${U(n)}, ${U(r)})`;return zl(e,{toJsonSchema:()=>o?{pattern:r.endsWith("y")?`^(?:${n})`:n}:[{},!0],toCode:()=>({runtime:`Schema.isPattern(${s})`}),...t})}function UQ(e){return RI({toCode:()=>({runtime:"Schema.isStringFinite()"}),...e})}function NQ(e){return OI({toCode:()=>({runtime:"Schema.isStringBigInt()"}),...e})}function FQ(e){return DI({toCode:()=>({runtime:"Schema.isStringSymbol()"}),...e})}var $Q=e=>e?new globalThis.RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$/;function LQ(e,t){let n=$Q(e);return Oa(n,{expected:e?`a UUID v${e}`:"a UUID",representation:{id:"effect/schema/isUUID",payload:{version:e??null}},toJsonSchema:()=>({pattern:n.source,format:"uuid"}),toCode:()=>({runtime:e===void 0?"Schema.isUUID()":`Schema.isUUID(${e})`}),...t})}var B1=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;function qQ(e){return Oa(B1,{expected:"a GUID",representation:{id:"effect/schema/isGUID",payload:null},toJsonSchema:()=>({pattern:B1.source}),toCode:()=>({runtime:"Schema.isGUID()"}),...e})}function BQ(e){let t=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;return Oa(t,{representation:{id:"effect/schema/isULID",payload:null},toJsonSchema:()=>({pattern:t.source}),toCode:()=>({runtime:"Schema.isULID()"}),...e})}function CF(e){let t="^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$",n=/^[0-9a-zA-Z+/]*={0,2}$/;return Me(r=>r.length%4===0&&n.test(r),{expected:"a base64 encoded string",representation:{id:"effect/schema/isBase64",payload:null},toJsonSchema:()=>({pattern:t}),arbitraryConstraint:{patterns:[{source:t,flags:""}]},toCode:()=>({runtime:"Schema.isBase64()"}),...e})}function jQ(e){let t="^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$",n=/^[0-9a-zA-Z-_]*={0,2}$/;return Me(r=>n.test(r)&&(r.endsWith("=")?r.length%4===0:r.length%4!==1),{expected:"a base64url encoded string",representation:{id:"effect/schema/isBase64Url",payload:null},toJsonSchema:()=>({pattern:t}),arbitraryConstraint:{patterns:[{source:t,flags:""}]},toCode:()=>({runtime:"Schema.isBase64Url()"}),...e})}function ak(e,t,n){if(e.length===0)return t.length===0?{}:[{},!0];let r={pattern:new globalThis.RegExp(n).source};return e===t?r:[r,!0]}function HQ(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(`^${cs(e)}`),o=e.replace(/[\uD800-\uDBFF]$/,"");return Me(s=>s.startsWith(e),{expected:`a string starting with ${n}`,representation:{id:"effect/schema/isStartingWith",payload:{startsWith:e}},toJsonSchema:()=>ak(o,e,`^${cs(o)}`),toCode:()=>({runtime:`Schema.isStartingWith(${U(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}function zQ(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(`${cs(e)}$`),o=e.replace(/^[\uDC00-\uDFFF]/,"");return Me(s=>s.endsWith(e),{expected:`a string ending with ${n}`,representation:{id:"effect/schema/isEndingWith",payload:{endsWith:e}},toJsonSchema:()=>ak(o,e,`${cs(o)}$`),toCode:()=>({runtime:`Schema.isEndingWith(${U(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}function WQ(e,t){let n=JSON.stringify(e),r=new globalThis.RegExp(cs(e)),o=e.replace(/^[\uDC00-\uDFFF]|[\uD800-\uDBFF]$/g,"");return Me(s=>s.includes(e),{expected:`a string including ${n}`,representation:{id:"effect/schema/isIncluding",payload:{includes:e}},toJsonSchema:()=>ak(o,e,cs(o)),toCode:()=>({runtime:`Schema.isIncluding(${U(e)})`}),arbitraryConstraint:{patterns:[{source:r.source,flags:r.flags}]},...t})}var j1="^[^a-z]*$";function KQ(e){let t=new globalThis.RegExp(j1);return Me(n=>n.toUpperCase()===n,{expected:"a string with all characters in uppercase",representation:{id:"effect/schema/isUppercased",payload:null},toJsonSchema:()=>[{pattern:t.source},!0],toCode:()=>({runtime:"Schema.isUppercased()"}),arbitraryConstraint:{patterns:[{source:j1,flags:""}]},...e})}var H1="^[^A-Z]*$";function GQ(e){let t=new globalThis.RegExp(H1);return Me(n=>n.toLowerCase()===n,{expected:"a string with all characters in lowercase",representation:{id:"effect/schema/isLowercased",payload:null},toJsonSchema:()=>[{pattern:t.source},!0],toCode:()=>({runtime:"Schema.isLowercased()"}),arbitraryConstraint:{patterns:[{source:H1,flags:""}]},...e})}var z1="^(?:[^a-z][\\s\\S]*)?$";function VQ(e){let t=new globalThis.RegExp(z1);return Me(n=>n.charAt(0).toUpperCase()===n.charAt(0),{expected:"a string with the first character in uppercase",representation:{id:"effect/schema/isCapitalized",payload:null},toJsonSchema:()=>[{pattern:t.source},!0],toCode:()=>({runtime:"Schema.isCapitalized()"}),arbitraryConstraint:{patterns:[{source:z1,flags:""}]},...e})}var W1="^(?:[^A-Z][\\s\\S]*)?$";function JQ(e){let t=new globalThis.RegExp(W1);return Me(n=>n.charAt(0).toLowerCase()===n.charAt(0),{expected:"a string with the first character in lowercase",representation:{id:"effect/schema/isUncapitalized",payload:null},toJsonSchema:()=>[{pattern:t.source},!0],toCode:()=>({runtime:"Schema.isUncapitalized()"}),arbitraryConstraint:{patterns:[{source:W1,flags:""}]},...e})}var sy=G(vI),ZQ=bI;function Ep(e){let t=zo(e.order),n=e.formatter??U;return(r,o)=>Me(s=>t(s,r),{expected:`a value greater than ${n(r)}`,arbitraryConstraint:{order:e.order,minimum:r,exclusiveMinimum:!0},...e.annotate?.(r),...o})}function Tp(e){let t=dc(e.order),n=e.formatter??U;return(r,o)=>Me(s=>t(s,r),{expected:`a value greater than or equal to ${n(r)}`,arbitraryConstraint:{order:e.order,minimum:r},...e.annotate?.(r),...o})}function Ap(e){let t=Ei(e.order),n=e.formatter??U;return(r,o)=>Me(s=>t(s,r),{expected:`a value less than ${n(r)}`,arbitraryConstraint:{order:e.order,maximum:r,exclusiveMaximum:!0},...e.annotate?.(r),...o})}function Rp(e){let t=cc(e.order),n=e.formatter??U;return(r,o)=>Me(s=>t(s,r),{expected:`a value less than or equal to ${n(r)}`,arbitraryConstraint:{order:e.order,maximum:r},...e.annotate?.(r),...o})}function Op(e){let t=dc(e.order),n=zo(e.order),r=cc(e.order),o=Ei(e.order),s=e.formatter??U;return(i,c)=>{let d=i.exclusiveMinimum?n:t,u=i.exclusiveMaximum?o:r;return Me(l=>d(l,i.minimum)&&u(l,i.maximum),{expected:`a value between ${s(i.minimum)}${i.exclusiveMinimum?" (excluded)":""} and ${s(i.maximum)}${i.exclusiveMaximum?" (excluded)":""}`,arbitraryConstraint:{order:e.order,minimum:i.minimum,maximum:i.maximum,...i.exclusiveMinimum&&{exclusiveMinimum:!0},...i.exclusiveMaximum&&{exclusiveMaximum:!0}},...e.annotate?.(i),...c})}}function QQ(e){return(t,n)=>{let r=e.formatter??U;return Me(o=>e.remainder(o,t)===e.zero,{expected:`a value that is a multiple of ${r(t)}`,...e.annotate?.(t),...n})}}function xd(e){if(!globalThis.Number.isFinite(e))throw new globalThis.RangeError(`Expected a finite number, got ${U(e)}`);return e}var YQ=Ep({order:Ho,annotate:e=>({representation:{id:"effect/schema/isGreaterThan",payload:{exclusiveMinimum:xd(e)}},toJsonSchema:()=>({exclusiveMinimum:e}),toCode:()=>({runtime:`Schema.isGreaterThan(${U(e)})`})})}),DF=Tp({order:Ho,annotate:e=>({representation:{id:"effect/schema/isGreaterThanOrEqualTo",payload:{minimum:xd(e)}},toJsonSchema:()=>({minimum:e}),toCode:()=>({runtime:`Schema.isGreaterThanOrEqualTo(${U(e)})`})})}),XQ=Ap({order:Ho,annotate:e=>({representation:{id:"effect/schema/isLessThan",payload:{exclusiveMaximum:xd(e)}},toJsonSchema:()=>({exclusiveMaximum:e}),toCode:()=>({runtime:`Schema.isLessThan(${U(e)})`})})}),eY=Rp({order:Ho,annotate:e=>({representation:{id:"effect/schema/isLessThanOrEqualTo",payload:{maximum:xd(e)}},toJsonSchema:()=>({maximum:e}),toCode:()=>({runtime:`Schema.isLessThanOrEqualTo(${U(e)})`})})}),ii=Op({order:Ho,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:"effect/schema/isBetween",payload:{minimum:xd(e.minimum),maximum:xd(e.maximum),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>({[t?"exclusiveMinimum":"minimum"]:e.minimum,[n?"exclusiveMaximum":"maximum"]:e.maximum}),toCode:()=>({runtime:`Schema.isBetween({ minimum: ${U(e.minimum)}, maximum: ${U(e.maximum)}, exclusiveMinimum: ${U(t)}, exclusiveMaximum: ${U(n)} })`})}}});function tY(e,t){if(!globalThis.Number.isFinite(e)||e===0)throw new globalThis.RangeError(`Expected a finite non-zero number, got ${globalThis.String(e)}`);return e=globalThis.Math.abs(e),Me(n=>IP(n,e)===0,{expected:`a value that is a multiple of ${e}`,representation:{id:"effect/schema/isMultipleOf",payload:{divisor:e}},toJsonSchema:()=>({multipleOf:e}),toCode:()=>({runtime:`Schema.isMultipleOf(${U(e)})`}),...t})}function iy(e){return Me(t=>globalThis.Number.isSafeInteger(t),{expected:"an integer",representation:{id:"effect/schema/isInt",payload:null},toJsonSchema:()=>({type:"integer",minimum:globalThis.Number.MIN_SAFE_INTEGER,maximum:globalThis.Number.MAX_SAFE_INTEGER}),toCode:()=>({runtime:"Schema.isInt()"}),arbitraryConstraint:{number:"integer"},...e})}var vr=wp.check(iy()),so=vr.check(DF(0));function nY(e){return new ha([iy(),ii({minimum:-2147483648,maximum:2147483647})],{expected:"a 32-bit integer",...e})}function rY(e){return new ha([iy(),ii({minimum:0,maximum:4294967295})],{expected:"a 32-bit unsigned integer",...e})}function Sd(e){if(globalThis.Number.isNaN(e.getTime()))throw new globalThis.RangeError(`Expected a valid Date, got ${U(e)}`);return e.toISOString()}function bd(e){return`new Date(${U(e.getTime())})`}var oY=Ep({order:ac,annotate:e=>({representation:{id:"effect/schema/isGreaterThanDate",payload:{exclusiveMinimum:Sd(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanDate(${bd(e)})`})})}),sY=Tp({order:ac,annotate:e=>({representation:{id:"effect/schema/isGreaterThanOrEqualToDate",payload:{minimum:Sd(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanOrEqualToDate(${bd(e)})`})})}),iY=Ap({order:ac,annotate:e=>({representation:{id:"effect/schema/isLessThanDate",payload:{exclusiveMaximum:Sd(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanDate(${bd(e)})`})})}),aY=Rp({order:ac,annotate:e=>({representation:{id:"effect/schema/isLessThanOrEqualToDate",payload:{maximum:Sd(e)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanOrEqualToDate(${bd(e)})`})})}),cY=Op({order:ac,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:"effect/schema/isBetweenDate",payload:{minimum:Sd(e.minimum),maximum:Sd(e.maximum),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenDate({ minimum: ${bd(e.minimum)}, maximum: ${bd(e.maximum)}, exclusiveMinimum: ${U(t)}, exclusiveMaximum: ${U(n)} })`})}}}),dY=Ep({order:ic,annotate:e=>({representation:{id:"effect/schema/isGreaterThanBigInt",payload:{exclusiveMinimum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanBigInt(${U(e)})`})})}),PF=Tp({order:ic,annotate:e=>({representation:{id:"effect/schema/isGreaterThanOrEqualToBigInt",payload:{minimum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isGreaterThanOrEqualToBigInt(${U(e)})`})})}),uY=Ap({order:ic,annotate:e=>({representation:{id:"effect/schema/isLessThanBigInt",payload:{exclusiveMaximum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanBigInt(${U(e)})`})})}),lY=Rp({order:ic,annotate:e=>({representation:{id:"effect/schema/isLessThanOrEqualToBigInt",payload:{maximum:e.toString(10)}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isLessThanOrEqualToBigInt(${U(e)})`})})}),pY=Op({order:ic,annotate:e=>{let t=e.exclusiveMinimum?!0:void 0,n=e.exclusiveMaximum?!0:void 0;return{representation:{id:"effect/schema/isBetweenBigInt",payload:{minimum:e.minimum.toString(10),maximum:e.maximum.toString(10),...t&&{exclusiveMinimum:t},...n&&{exclusiveMaximum:n}}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenBigInt({ minimum: ${U(e.minimum)}, maximum: ${U(e.maximum)}, exclusiveMinimum: ${U(t)}, exclusiveMaximum: ${U(n)} })`})}}});function ck(e,t){return e=gn(e),MF(e,Math.ceil(e/2),t)}function MF(e,t,n){return Me(r=>r.length>=e,{expected:`a value with a length of at least ${e}`,representation:{id:"effect/schema/isMinLength",payload:{minLength:e}},toJsonSchema:({type:r})=>r==="string"?e<=1?{minLength:t}:[{minLength:t},!0]:r==="array"?{minItems:e}:r===void 0?[{minLength:t,minItems:e},!0]:[{},!0],toCode:()=>({runtime:`Schema.isMinLength(${e})`}),[On]:!0,arbitraryConstraint:{minLength:e},...n})}function _F(e){return MF(1,1,e)}function UF(e,t){return e=gn(e),Me(n=>n.length<=e,{expected:`a value with a length of at most ${e}`,representation:{id:"effect/schema/isMaxLength",payload:{maxLength:e}},toJsonSchema:({type:n})=>n==="string"?e===0?{maxLength:e}:[{maxLength:e},!0]:n==="array"?{maxItems:e}:n===void 0?[{maxLength:e,maxItems:e},!0]:[{},!0],toCode:()=>({runtime:`Schema.isMaxLength(${e})`}),[On]:!0,arbitraryConstraint:{maxLength:e},...t})}function dk(e,t,n){return e=gn(e),t=gn(t),Me(r=>r.length>=e&&r.length<=t,{expected:e===t?`a value with a length of ${e}`:`a value with a length between ${e} and ${t}`,representation:{id:"effect/schema/isBetweenLength",payload:{minimum:e,maximum:t}},toJsonSchema:({type:r})=>r==="string"?t===0||Math.ceil(e/2)>t?{minLength:Math.ceil(e/2),maxLength:t}:[{minLength:Math.ceil(e/2),maxLength:t},!0]:r==="array"?{minItems:e,maxItems:t}:r===void 0?[{minLength:Math.ceil(e/2),maxLength:t,minItems:e,maxItems:t},!0]:[{},!0],toCode:()=>({runtime:`Schema.isBetweenLength(${e}, ${t})`}),[On]:!0,arbitraryConstraint:{minLength:e,maxLength:t},...n})}function fY(e,t){return e=gn(e),Me(n=>uk(n,e)>=e,{expected:`a string with at least ${e} code points`,representation:{id:"effect/schema/isMinCodePoints",payload:{minCodePoints:e}},toJsonSchema:()=>({minLength:e}),toCode:()=>({runtime:`Schema.isMinCodePoints(${e})`}),arbitraryConstraint:{minCodePoints:e},...t})}function mY(e,t){return e=gn(e),Me(n=>uk(n,e+1)<=e,{expected:`a string with at most ${e} code points`,representation:{id:"effect/schema/isMaxCodePoints",payload:{maxCodePoints:e}},toJsonSchema:()=>({maxLength:e}),toCode:()=>({runtime:`Schema.isMaxCodePoints(${e})`}),arbitraryConstraint:{maxCodePoints:e},...t})}function hY(e,t,n){return e=gn(e),t=gn(t),Me(r=>{let o=uk(r,t+1);return o>=e&&o<=t},{expected:e===t?`a string with ${e} code points`:`a string with between ${e} and ${t} code points`,representation:{id:"effect/schema/isBetweenCodePoints",payload:{minimum:e,maximum:t}},toJsonSchema:()=>({allOf:[{minLength:e},{maxLength:t}]}),toCode:()=>({runtime:`Schema.isBetweenCodePoints(${e}, ${t})`}),arbitraryConstraint:{minCodePoints:e,maxCodePoints:t},...n})}function uk(e,t){if(t===0)return 0;let n=0;for(let r of e)if(++n>=t)break;return n}function gn(e){if(!globalThis.Number.isFinite(e))throw new globalThis.RangeError(`Expected a finite number, got ${e}`);return Math.max(0,Math.floor(e))}function gY(e,t){return e=gn(e),Me(n=>n.size>=e,{expected:`a value with a size of at least ${e}`,representation:{id:"effect/schema/isMinSize",payload:{minSize:e}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isMinSize(${e})`}),[On]:!0,arbitraryConstraint:{minSize:e},...t})}function yY(e,t){return e=gn(e),Me(n=>n.size<=e,{expected:`a value with a size of at most ${e}`,representation:{id:"effect/schema/isMaxSize",payload:{maxSize:e}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isMaxSize(${e})`}),[On]:!0,arbitraryConstraint:{maxSize:e},...t})}function xY(e,t,n){return e=gn(e),t=gn(t),Me(r=>r.size>=e&&r.size<=t,{expected:e===t?`a value with a size of ${e}`:`a value with a size between ${e} and ${t}`,representation:{id:"effect/schema/isBetweenSize",payload:{minimum:e,maximum:t}},toJsonSchema:()=>[{},!0],toCode:()=>({runtime:`Schema.isBetweenSize(${e}, ${t})`}),[On]:!0,arbitraryConstraint:{minSize:e,maxSize:t},...n})}function SY(e,t){return e=gn(e),Me(n=>Reflect.ownKeys(n).length>=e,{expected:`a value with at least ${e===1?"1 entry":`${e} entries`}`,representation:{id:"effect/schema/isMinProperties",payload:{minProperties:e}},toJsonSchema:({type:n})=>n==="object"?{minProperties:e}:[{minProperties:e},!0],toCode:()=>({runtime:`Schema.isMinProperties(${e})`}),[On]:!0,arbitraryConstraint:{minProperties:e},...t})}function bY(e,t){return e=gn(e),Me(n=>Reflect.ownKeys(n).length<=e,{expected:`a value with at most ${e===1?"1 entry":`${e} entries`}`,representation:{id:"effect/schema/isMaxProperties",payload:{maxProperties:e}},toJsonSchema:({type:n})=>n==="object"?{maxProperties:e}:[{maxProperties:e},!0],toCode:()=>({runtime:`Schema.isMaxProperties(${e})`}),[On]:!0,arbitraryConstraint:{maxProperties:e},...t})}function vY(e,t,n){return e=gn(e),t=gn(t),Me(r=>Reflect.ownKeys(r).length>=e&&Reflect.ownKeys(r).length<=t,{expected:e===t?`a value with exactly ${e===1?"1 entry":`${e} entries`}`:`a value with between ${e} and ${t} entries`,representation:{id:"effect/schema/isBetweenProperties",payload:{minimum:e,maximum:t}},toJsonSchema:({type:r})=>r==="object"?{minProperties:e,maxProperties:t}:[{minProperties:e,maxProperties:t},!0],toCode:()=>({runtime:`Schema.isBetweenProperties(${e}, ${t})`}),[On]:!0,arbitraryConstraint:{minProperties:e,maxProperties:t},...n})}function IY(e,t){let n=Id(e),r=FI(n.ast);return Me((o,s,i)=>{let c=Reflect.ownKeys(o),d=[];for(let u of c){let l=r(u,i);if(l!==void 0&&(d.push(new Pt([u],l)),i.errors==="first"))break}return fc(d)?new Mt(s,d,o,i):!0},{expected:"an object with property names matching the schema",representation:{id:"effect/schema/isPropertyNames",payload:null,schemas:[n.ast]},toJsonSchema:({schemas:o,type:s})=>s==="object"?{propertyNames:o[0]}:[{propertyNames:o[0]},!0],toCode:({schemas:o})=>({runtime:`Schema.isPropertyNames(${o[0].runtime})`}),[On]:!0,...t})}function lk(e){return Me(t=>Kf(t).length===t.length,{expected:"an array with unique items",representation:{id:"effect/schema/isUnique",payload:null},toJsonSchema:()=>({uniqueItems:!0}),toCode:()=>({runtime:"Schema.isUnique()"}),arbitraryConstraint:{uniqueBy:Q},...e})}function NF(e){return Me(t=>Kf(t.map(([n])=>n)).length===t.length,{expected:"an array with unique keys",representation:{id:"effect/schema/isUniqueKey",payload:null},toCode:()=>({runtime:"Schema.isUniqueKey()"}),arbitraryConstraint:{uniqueBy:t=>t[0]},...e})}var pk=q.check(_F()),wY=q.check(dk(1,1)),FF=e=>(e?.includeStack===!0?1:0)|(e?.excludeCause===!0?2:0),$F=e=>{switch(e){case 0:return;case 1:return{includeStack:!0};case 2:return{excludeCause:!0};case 3:return{includeStack:!0,excludeCause:!0}}},K1=[];function kY(e){let t=FF(e),n=K1[t];if(n!==void 0)return n;let r=$F(t),o=Ra(globalThis.Error,{representation:{id:"effect/schema/Error",payload:r??null},toCode:()=>({runtime:r!==void 0?`Schema.ErrorInstance(${U(r)})`:"Schema.ErrorInstance()",Type:"globalThis.Error"}),expected:"Error",toCodecJson:()=>Ce()(ate,Bv(r))});return K1[t]=o,o}var G1=[];function EY(e){let t=FF(e),n=G1[t];if(n!==void 0)return n;let r=ly.pipe(W(Ip,jv($F(t))));return G1[t]=r,r}function TY(e,t){let n=_n()([e,t],([r,o])=>{let s=He(Oo([r,o]));return(i,c,d)=>i instanceof globalThis.Map?Qt(pt(s)([...i],d),{onSuccess:u=>new globalThis.Map(u),onFailure:u=>Dn(c,"entries",u,i,d)}):D(new vt(c,i,d))},{representation:{id:"effect/schema/ReadonlyMap",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.ReadonlyMap(${r[0].runtime}, ${r[1].runtime})`,Type:`globalThis.ReadonlyMap<${r[0].Type}, ${r[1].Type}>`}),expected:"ReadonlyMap",toCodec:([r,o])=>Ce()(He(Oo([r,o])),Pe({decode:s=>new globalThis.Map(s),encode:s=>[...s.entries()]}))});return G(n.ast,{key:e,value:t})}function AY(e){let t=_n()([e],([n])=>{let r=He(n);return(o,s,i)=>o instanceof globalThis.Set?Qt(pt(r)([...o],i),{onSuccess:c=>new globalThis.Set(c),onFailure:c=>Dn(s,"values",c,o,i)}):D(new vt(s,o,i))},{representation:{id:"effect/schema/ReadonlySet",payload:null},toCode:({typeParameters:n})=>({runtime:`Schema.ReadonlySet(${n[0].runtime})`,Type:`globalThis.ReadonlySet<${n[0].Type}>`}),expected:"ReadonlySet",toCodec:([n])=>Ce()(He(n),Pe({decode:r=>new globalThis.Set(r),encode:r=>[...r.values()]}))});return G(t.ast,{value:e})}var RY=Ra(globalThis.RegExp,{representation:{id:"effect/schema/RegExp",payload:null},toCode:()=>({runtime:"Schema.RegExp",Type:"globalThis.RegExp"}),expected:"RegExp",toCodecJson:()=>Ce()(Oe({source:q,flags:q}),Ke({decode:(e,t)=>Nc({try:()=>new globalThis.RegExp(e.source,e.flags),catch:()=>new Z({expected:"valid RegExp source and flags"},e,t)}),encode:e=>C({source:e.source,flags:e.flags})}))}),LF=q.annotate({expected:"a string that will be decoded as a URL"}),qF=Ra(globalThis.URL,{representation:{id:"effect/schema/URL",payload:null},toCode:()=>({runtime:"Schema.URL",Type:"globalThis.URL"}),expected:"URL",toCodecJson:()=>Ce()(LF,zh)}),OY=LF.pipe(W(qF,zh)),BF=q.annotate({expected:"a string that will be decoded as a Date"}),ay=Fe(e=>e instanceof globalThis.Date&&!globalThis.Number.isNaN(e.getTime()),{representation:{id:"effect/schema/Date",payload:null},toCode:()=>({runtime:"Schema.Date",Type:"globalThis.Date"}),expected:"a valid Date",toCodecJson:()=>Ce()(BF,jh)}),CY=BF.pipe(W(ay,jh)),DY=vr.pipe(W(ay,$v)),PY=q.annotate({expected:"a string that will be decoded as JSON",contentMediaType:"application/json"});function fk(e,t){return PY.pipe(W(e,Yv(t)))}var MY=fk(Ip),jF=Ra(globalThis.File,{representation:{id:"effect/schema/File",payload:null},toCode:()=>({runtime:"Schema.File",Type:"globalThis.File"}),expected:"File",toCodecJson:()=>Ce()(Oe({data:q.check(CF()),type:q,name:q,lastModified:vr}),Ke({decode:(e,t)=>Vt(sa(e.data),{onFailure:()=>D(new Z({expected:"a valid Base64 string"},e.data,t)),onSuccess:n=>{let r=new globalThis.Uint8Array(n);return C(new globalThis.File([r],e.name,{type:e.type,lastModified:e.lastModified}))}}),encode:(e,t)=>Vb({try:async()=>{let n=new globalThis.Uint8Array(await e.arrayBuffer());return{data:oa(n),type:e.type,name:e.name,lastModified:e.lastModified}},catch:()=>new Z({expected:"a readable File"},e,t)})}))}),HF=Fe(e=>e instanceof globalThis.FormData,{representation:{id:"effect/schema/FormData",payload:null},toCode:()=>({runtime:"Schema.FormData",Type:"globalThis.FormData"}),expected:"FormData",toCodecJson:()=>Ce()(He(Oo([q,ct([Oe({_tag:ps("String"),value:q}),Oe({_tag:ps("File"),value:jF})])])),Ke({decode:e=>{let t=new globalThis.FormData;for(let[n,r]of e)t.append(n,r.value);return C(t)},encode:e=>C(globalThis.Array.from(e.entries()).map(([t,n])=>typeof n=="string"?[t,{_tag:"String",value:n}]:[t,{_tag:"File",value:n}]))}))});function _Y(e){return HF.pipe(W(e,Xv))}var zF=Ra(globalThis.URLSearchParams,{representation:{id:"effect/schema/URLSearchParams",payload:null},toCode:()=>({runtime:"Schema.URLSearchParams",Type:"globalThis.URLSearchParams"}),expected:"URLSearchParams",toCodecJson:()=>Ce()(q.annotate({expected:"a query string that will be decoded as URLSearchParams"}),Pe({decode:e=>new globalThis.URLSearchParams(e),encode:e=>e.toString()}))});function UY(e){return zF.pipe(W(e,eI))}var NY=q.annotate({expected:"a string that will be decoded as a number"}).pipe(W(wp,ma)),FY=q.annotate({expected:"a string that will be decoded as a finite number"}).pipe(W(sy,ma)),$Y=G(CI).pipe(W(wd,$l)),WF=q.check(OF()),LY=q.annotate({expected:"a string that will be decoded as a trimmed string"}).pipe(W(WF,Nv())),qY=q.annotate({expected:"a base64 encoded string that will be decoded as a UTF-8 string"}).pipe(W(q,Vv)),BY=q.annotate({expected:"a base64 (URL) encoded string that will be decoded as a UTF-8 string"}).pipe(W(q,Jv)),jY=q.annotate({expected:"a hex encoded string that will be decoded as a UTF-8 string"}).pipe(W(q,Zv)),HY=q.annotate({expected:"a URI component encoded string that will be decoded as a UTF-8 string"}).pipe(W(q,Qv)),Qw=ct([sy,fF,q]),zY=Oe({issues:He(Oe({message:q,path:vd(He(ct([Qw,Oe({key:Qw})])))}))}),WY=Co([0,1]).pipe(W(ey,Pe({decode:e=>e===1,encode:e=>e?1:0}))),KF=q.annotate({expected:"a base64 encoded string that will be decoded as Uint8Array",format:"byte",contentEncoding:"base64"}),cy=Ra(globalThis.Uint8Array,{representation:{id:"effect/schema/Uint8Array",payload:null},toCode:()=>({runtime:"Schema.Uint8Array",Type:"globalThis.Uint8Array"}),expected:"Uint8Array",toCodecJson:()=>Ce()(KF,Wh)}),KY=KF.pipe(W(cy,Wh)),GY=q.annotate({expected:"a base64 (URL) encoded string that will be decoded as a Uint8Array"}).pipe(W(cy,{decode:kv(),encode:Pl()})),GF=q.annotate({expected:"a hex encoded string that will be decoded as a Uint8Array"}).pipe(W(cy,{decode:Tv(),encode:Ml()})),VF=Ke({decode:(e,t)=>{let n=hh(e);return ae(n)?D(new Z({expected:"a valid BigDecimal string"},e,t)):C(n.value)},encode:e=>C(Kr(e))}),VY=Ep({order:$c,formatter:e=>Kr(e)}),JY=Tp({order:$c,formatter:e=>Kr(e)}),ZY=Ap({order:$c,formatter:e=>Kr(e)}),QY=Rp({order:$c,formatter:e=>Kr(e)}),YY=Op({order:$c,formatter:e=>Kr(e)}),JF=q.annotate({expected:"a string that will be decoded as a BigDecimal"}),ZF=Fe(n0,{representation:{id:"effect/schema/BigDecimal",payload:null},toCode:()=>({runtime:"Schema.BigDecimal",Type:"BigDecimal.BigDecimal",importDeclarations:['import * as BigDecimal from "effect/BigDecimal"']}),expected:"BigDecimal",toCodecJson:()=>Ce()(JF,VF),toFormatter:()=>e=>Kr(e)}),XY=JF.pipe(W(ZF,VF)),dy=Fe(PM,{representation:{id:"effect/schema/ByteSize",payload:null},toCode:()=>({runtime:"Schema.ByteSize",Type:"ByteSize.ByteSize",importDeclarations:['import * as ByteSize from "effect/ByteSize"']}),expected:"ByteSize",toCodecJson:()=>Ce()(wd.check(PF(globalThis.BigInt(0))),Pe({decode:DM,encode:gh})),toCodecStringTree:()=>Ce()(QF,Hh)}),QF=q.annotate({expected:"a string that will be decoded as a ByteSize"}),eX=QF.pipe(W(dy,Hh)),tX=wd.pipe(W(dy,Lv)),nX=wp.pipe(W(dy,qv));function Yw(e,t){let n=_n()([e,t],([r,o])=>(s,i,c)=>{if(!KC(s))return D(new vt(i,s,c));switch(s._tag){case"Fail":return Qt(pt(r)(s.error,c),{onSuccess:fb,onFailure:d=>Dn(i,"error",d,s,c)});case"Die":return Qt(pt(o)(s.defect,c),{onSuccess:mb,onFailure:d=>Dn(i,"defect",d,s,c)});case"Interrupt":return C(s)}},{representation:{id:"effect/schema/CauseReason",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.CauseReason(${r[0].runtime}, ${r[1].runtime})`,Type:`Cause.Failure<${r[0].Type}, ${r[1].Type}>`,importDeclarations:['import * as Cause from "effect/Cause"']}),expected:"Cause.Failure",toCodec:([r,o])=>Ce()(ct([Oe({_tag:Bt("Fail"),error:r}),Oe({_tag:Bt("Die"),defect:o}),Oe({_tag:Bt("Interrupt"),fiberId:ry(sy)})]),Pe({decode:s=>{switch(s._tag){case"Fail":return fb(s.error);case"Die":return mb(s.defect);case"Interrupt":return GC(s.fiberId)}},encode:s=>{switch(s._tag){case"Fail":return{_tag:"Fail",error:s.error};case"Die":return{_tag:"Die",defect:s.defect};case"Interrupt":return{_tag:"Interrupt",fiberId:s.fiberId}}}}))});return G(n.ast,{error:e,defect:t})}function Xw(e,t){let n=_n()([e,t],([r,o])=>{let s=He(Yw(r,o));return(i,c,d)=>WC(i)?Qt(pt(s)(i.reasons,d),{onSuccess:Lu,onFailure:u=>Dn(c,"reasons",u,i,d)}):D(new vt(c,i,d))},{representation:{id:"effect/schema/Cause",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.Cause(${r[0].runtime}, ${r[1].runtime})`,Type:`Cause.Cause<${r[0].Type}, ${r[1].Type}>`,importDeclarations:['import * as Cause from "effect/Cause"']}),expected:"Cause",toCodec:([r,o])=>Ce()(He(Yw(r,o)),Pe({decode:Lu,encode:({reasons:s})=>s}))});return G(n.ast,{error:e,defect:t})}function V1(e){return Ce()(e,Pe({decode:p0,encode:En}))}function rX(e){let t=_n()([e],([n])=>{let r=He(n);return(o,s,i)=>yh(o)?Qt(pt(r)(En(o),i),{onSuccess:p0,onFailure:c=>Dn(s,"values",c,o,i)}):D(new vt(s,o,i))},{representation:{id:"effect/schema/Chunk",payload:null},toCode:({typeParameters:n})=>({runtime:`Schema.Chunk(${n[0].runtime})`,Type:`Chunk.Chunk<${n[0].Type}>`}),expected:"Chunk",toCodec:([n])=>V1(He(n)),toCodecArbitrary:({constraint:n,typeParameters:[r]})=>V1(ty(He(r),n?.minLength,n?.maxLength)),toEquivalence:([n])=>u0(n)});return G(t.ast,{value:e})}function YF(){return yt((e,t)=>lt(Bs(e),{onNone:()=>D(new Z({message:"Invalid DateTime input"},e,t)),onSome:n=>C(js(n))}))}var oX=Pe({decode:e=>ra(e),encode:e=>e.offset}),XF=Ke({decode:(e,t)=>lt(sl(e),{onNone:()=>D(new Z({expected:"a valid IANA time zone"},e,t)),onSome:C}),encode:e=>C(e.id)}),e2=Ke({decode:(e,t)=>lt(il(e),{onNone:()=>D(new Z({expected:"a valid time zone"},e,t)),onSome:C}),encode:e=>C(Hs(e))}),t2=Ke({decode:(e,t)=>lt(Bs(e),{onNone:()=>D(new Z({expected:"a valid UTC DateTime string"},e,t)),onSome:n=>C(js(n))}),encode:e=>C(cl(e))}),n2=Ke({decode:(e,t)=>lt(ol(e),{onNone:()=>D(new Z({expected:"a valid Zoned DateTime string"},e,t)),onSome:C}),encode:e=>C(Bc(e))}),r2=-864e13,o2=864e13,sX=r2+840*60*1e3,iX=o2-840*60*1e3,aX=-720*60*1e3,cX=840*60*1e3,s2=["UTC","Europe/London","America/New_York","Asia/Tokyo","Australia/Sydney"];function i2(e,t,n){let r=Math.max(t,e?.minimum===void 0?t:e.minimum.epochMilliseconds+(e.exclusiveMinimum===!0?1:0)),o=Math.min(n,e?.maximum===void 0?n:e.maximum.epochMilliseconds-(e.exclusiveMaximum===!0?1:0));return r<=o?[r,o]:[t,n]}function mk(e,t){return vr.check(ii({minimum:e,maximum:t}))}function a2(){return ct([mk(aX,cX),Co(s2)])}var kd=Fe(e=>xh(e)&&y0(e),{representation:{id:"effect/schema/DateTimeUtc",payload:null},toCode:()=>({runtime:"Schema.DateTimeUtc",Type:"DateTime.Utc",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.Utc",toCodecArbitrary:({constraint:e})=>{let[t,n]=i2(e,r2,o2);return si()(mk(t,n),K(qc))},toCodecJson:()=>Ce()(q,t2),toFormatter:()=>e=>e.toString()}),dX=ay.pipe(W(kd,{decode:YF(),encode:K(al)})),uX=q.annotate({expected:"a string that will be decoded as a DateTime.Utc"}).pipe(W(kd,t2)),lX=Ke({decode:(e,t)=>Vt(I_(e),{onFailure:()=>D(new Z({expected:"an HTTP date (RFC 9110 \xA75.6.7)"},e,t)),onSuccess:C}),encode:e=>C(W0(e))}),pX=q.annotate({expected:"an HTTP date string"}).pipe(W(kd,lX)),fX=vr.pipe(W(kd,{decode:YF(),encode:K(vh)})),mX=Fe(h0,{representation:{id:"effect/schema/TimeZoneOffset",payload:null},toCode:()=>({runtime:"Schema.TimeZoneOffset",Type:"DateTime.TimeZone.Offset",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.TimeZone.Offset",toCodecJson:()=>Ce()(vr,oX),toFormatter:()=>e=>Hs(e)}),c2=q.annotate({expected:"an IANA time zone identifier"}),d2=Fe(g0,{representation:{id:"effect/schema/TimeZoneNamed",payload:null},toCode:()=>({runtime:"Schema.TimeZoneNamed",Type:"DateTime.TimeZone.Named",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.TimeZone.Named",toCodecArbitrary:()=>si()(Co(s2),K(bh)),toCodecJson:()=>Ce()(c2,XF),toFormatter:()=>e=>Hs(e)}),hX=c2.pipe(W(d2,XF)),u2=q.annotate({expected:"a time zone string (IANA identifier or offset like +03:00)"}),l2=Fe(m0,{representation:{id:"effect/schema/TimeZone",payload:null},toCode:()=>({runtime:"Schema.TimeZone",Type:"DateTime.TimeZone",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.TimeZone",toCodecArbitrary:()=>si()(a2(),K(e=>typeof e=="number"?ra(e):bh(e))),toCodecJson:()=>Ce()(u2,e2),toFormatter:()=>e=>Hs(e)}),gX=u2.pipe(W(l2,e2)),p2=q.annotate({expected:"a zoned DateTime string (e.g. 2024-01-01T00:00:00.000+00:00[Europe/London])"}),f2=Fe(e=>xh(e)&&x0(e),{representation:{id:"effect/schema/DateTimeZoned",payload:null},toCode:()=>({runtime:"Schema.DateTimeZoned",Type:"DateTime.Zoned",importDeclarations:['import * as DateTime from "effect/DateTime"']}),expected:"DateTime.Zoned",toCodecArbitrary:({constraint:e})=>{let[t,n]=i2(e,sX,iX);return si()(Oe({epochMilliseconds:mk(t,n),timeZone:a2()}),K(({epochMilliseconds:r,timeZone:o})=>S0(r,{timeZone:o})))},toCodecJson:()=>Ce()(p2,n2),toFormatter:()=>e=>Bc(e),toEquivalence:()=>Sh}),yX=p2.pipe(W(f2,n2)),Nn=(e,t,n,r)=>q.pipe(W(e,Ke({decode:(o,s)=>{let i=t(o);return Et(i)?C(i.success):D(new Z({message:i.failure.message},o,s))},encode:o=>C(n(o))}))).annotate({identifier:r}),Ca=Fe(fd,{identifier:"MacAddress"}),Ed=Nn(Ca,l1,yw,"MacAddressFromString"),Cp=Fe(en,{identifier:"Ipv4Address"}),hk=Nn(Cp,Ia,tn,"Ipv4AddressFromString"),uy=Fe(Sr,{identifier:"Ipv6Address"}),m2=Nn(uy,wa,tn,"Ipv6AddressFromString"),ai=Fe(fw,{identifier:"IpAddress"}),Da=Nn(ai,ti,tn,"IpAddressFromString"),dt=(e,t,n,r)=>xF(t,{expected:n})(e).annotate({identifier:r}),xX=dt(ai,md,"a multicast address","IpMulticastAddress"),SX=dt(Da,md,"a multicast address","IpMulticastAddressFromString"),bX=dt(Ca,md,"a multicast address","MacMulticastAddress"),vX=dt(Ed,md,"a multicast address","MacMulticastAddressFromString"),IX=dt(ai,vw,"a unicast address","IpUnicastAddress"),wX=dt(Da,vw,"a unicast address","IpUnicastAddressFromString"),kX=dt(Ca,$g,"a unicast address","MacUnicastAddress"),EX=dt(Ed,$g,"a unicast address","MacUnicastAddressFromString"),TX=dt(Cp,qg,"a broadcast address","Ipv4BroadcastAddress"),AX=dt(hk,qg,"a broadcast address","Ipv4BroadcastAddressFromString"),RX=dt(Ca,Fg,"a broadcast address","MacBroadcastAddress"),OX=dt(Ed,Fg,"a broadcast address","MacBroadcastAddressFromString"),CX=dt(ai,bw,"a loopback address","IpLoopbackAddress"),DX=dt(Da,bw,"a loopback address","IpLoopbackAddressFromString"),PX=dt(ai,Iw,"a link-local address","IpLinkLocalAddress"),MX=dt(Da,Iw,"a link-local address","IpLinkLocalAddressFromString"),_X=dt(ai,Lg,"an unspecified address","IpUnspecifiedAddress"),UX=dt(Da,Lg,"an unspecified address","IpUnspecifiedAddressFromString"),NX=dt(Cp,ww,"a private address","Ipv4PrivateAddress"),FX=dt(hk,ww,"a private address","Ipv4PrivateAddressFromString"),$X=dt(uy,kw,"a unique-local address","Ipv6UniqueLocalAddress"),LX=dt(m2,kw,"a unique-local address","Ipv6UniqueLocalAddressFromString"),qX=dt(Ca,xw,"a locally administered address","MacLocallyAdministeredAddress"),BX=dt(Ed,xw,"a locally administered address","MacLocallyAdministeredAddressFromString"),jX=dt(Ca,Sw,"a universally administered address","MacUniversallyAdministeredAddress"),HX=dt(Ed,Sw,"a universally administered address","MacUniversallyAdministeredAddressFromString"),h2=Fe(w1,{identifier:"Ipv4Interface"}),zX=Nn(h2,zg,gp,"Ipv4InterfaceFromString"),g2=Fe(k1,{identifier:"Ipv6Interface"}),WX=Nn(g2,Wg,gp,"Ipv6InterfaceFromString"),y2=Fe(mp,{identifier:"IpInterface"}),KX=Nn(y2,Kg,gp,"IpInterfaceFromString"),x2=Fe(T1,{identifier:"Ipv4Network"}),GX=Nn(x2,R1,xp,"Ipv4NetworkFromString"),S2=Fe(A1,{identifier:"Ipv6Network"}),VX=Nn(S2,O1,xp,"Ipv6NetworkFromString"),b2=Fe(yp,{identifier:"IpNetwork"}),JX=Nn(b2,C1,xp,"IpNetworkFromString"),ZX=Fe(dp,{identifier:"InetAddressV4"}),QX=Fe(up,{identifier:"InetAddressV6"}),v2=Fe(mw,{identifier:"InetAddress"}),YX=Nn(v2,Ew,Bg,"InetAddressFromString"),I2=Fe(Ug,{identifier:"UnixPathAddress"}),XX=q.pipe(W(I2,Pe({decode:f1,encode:e=>e.path}))).annotate({identifier:"UnixPathAddressFromString"}),eee=Fe(d1,{identifier:"SocketAddress"}),fs=q.check(Me(ls,{expected:"a normalized domain name"})).pipe(oy("~effect/net/Host/DomainName")).annotate({identifier:"DomainName"}),w2=Nn(fs,jg,e=>e,"DomainNameFromString"),gk=q.check(Me(hw,{expected:"a canonical scoped IPv6 literal"})).pipe(oy("~effect/net/NetAddress/ScopedIpv6Literal")).annotate({identifier:"ScopedIpv6Literal"}),k2=Nn(gk,lp,e=>e,"ScopedIpv6LiteralFromString"),tee=ct([ai,gk,fs]).annotate({identifier:"Host"}),nee=ct([Da,k2,w2]).annotate({identifier:"HostFromString"}),E2=Fe(Rw,{identifier:"HostPort"}),ree=Nn(E2,h1,Ow,"HostPortFromString"),oee=vr.check(ii({minimum:0,maximum:65535},{expected:"a port number"})),see=Ke({decode:(e,t)=>lt(Zf(e),{onNone:()=>D(new Z({expected:"a valid Duration string"},e,t)),onSome:C}),encode:e=>C(globalThis.String(e))}),iee=Ke({decode:e=>C(Tn(e)),encode:(e,t)=>lt(Yf(e),{onNone:()=>D(new Z({expected:"a Duration representable as a bigint"},e,t)),onSome:n=>C(n)})}),aee=Pe({decode:e=>So(e),encode:e=>dr(e)}),Td=Fe(yu,{representation:{id:"effect/schema/Duration",payload:null},toCode:()=>({runtime:"Schema.Duration",Type:"Duration.Duration",importDeclarations:['import * as Duration from "effect/Duration"']}),expected:"Duration",toCodecJson:()=>Ce()(ct([Oe({_tag:Bt("Infinity")}),Oe({_tag:Bt("NegativeInfinity")}),Oe({_tag:Bt("Nanos"),value:wd}),Oe({_tag:Bt("Millis"),value:vr})]),Pe({decode:e=>{switch(e._tag){case"Infinity":return Pi;case"NegativeInfinity":return hc;case"Nanos":return Tn(e.value);case"Millis":return So(e.value)}},encode:e=>{switch(e.value._tag){case"Infinity":return{_tag:"Infinity"};case"NegativeInfinity":return{_tag:"NegativeInfinity"};case"Nanos":return{_tag:"Nanos",value:e.value.nanos};case"Millis":return{_tag:"Millis",value:e.value.millis}}}}))}),cee=q.annotate({expected:"a string that will be decoded as a Duration"}),dee=cee.pipe(W(Td,see)),uee=wd.pipe(W(Td,iee)),lee=wp.pipe(W(Td,aee)),pee=Co(Pw),T2=(e,t)=>q.pipe(W(e,Ke({decode:(n,r)=>{let o=t(n);return pe(o)?D(new Z({message:o.failure.message},n,r)):tn(o.success)===n?C(o.success):D(new Z({message:"expected a canonical address"},n,r))},encode:n=>C(tn(n))}))),Jw=vr.check(ii({minimum:0,maximum:255})),yd=vr.check(ii({minimum:0,maximum:65535})),A2=vr.check(ii({minimum:0,maximum:4294967295})),Jg=A2.pipe(W(Td,Pe({decode:yc,encode:bo}))),Ir=(e,t)=>Fe(n=>Mw(n)&&n._tag===e,{identifier:`Dns${e.charAt(0)}${e.slice(1).toLowerCase()}Record`,toCodecJson:()=>{let n=kp(e,t);return Ce()(n,Ke({decode:(r,o)=>{let{_tag:s,...i}=r,c=b1(e,i);return Et(c)?C(c.success):D(new Z({message:c.failure.message},r,o))},encode:r=>C({...r})}))}}),R2=Ir("A",{address:T2(Cp,Ia)}),O2=Ir("AAAA",{address:T2(uy,wa)}),C2=Ir("CAA",{critical:ey,tag:q.check(Oa(/^[a-z0-9]+$/i)),value:q}),D2=Ir("CNAME",{target:fs}),P2=Ir("MX",{exchange:fs,priority:yd}),M2=Ir("NAPTR",{order:yd,preference:yd,flags:q,service:q,regexp:q,replacement:fs}),_2=Ir("NS",{host:fs}),U2=Ir("PTR",{host:pk}),N2=Ir("SOA",{primary:fs,admin:pk,serial:A2,refresh:Jg,retry:Jg,expire:Jg,minimum:Jg}),F2=Ir("SRV",{target:fs,port:yd,priority:yd,weight:yd}),$2=Ir("TLSA",{certUsage:Jw,selector:Jw,matchingType:Jw,data:GF}),L2=Ir("TXT",{chunks:ny(q)}),fee=ct([R2,O2,C2,D2,P2,M2,_2,U2,N2,F2,$2,L2]).annotate({identifier:"DnsRecord"});function mee(e,t,n){let r=_n()([e,t,n],([o,s,i])=>{let c=Xw(s,i);return(d,u,l)=>{if(!ZC(d))return D(new vt(u,d,l));switch(d._tag){case"Success":return Qt(pt(o)(d.value,l),{onSuccess:qu,onFailure:p=>Dn(u,"value",p,d,l)});case"Failure":return Qt(pt(c)(d.cause,l),{onSuccess:Wi,onFailure:p=>Dn(u,"cause",p,d,l)})}}},{representation:{id:"effect/schema/Exit",payload:null},toCode:({typeParameters:o})=>({runtime:`Schema.Exit(${o[0].runtime}, ${o[1].runtime}, ${o[2].runtime})`,Type:`Exit.Exit<${o[0].Type}, ${o[1].Type}, ${o[2].Type}>`,importDeclarations:['import * as Exit from "effect/Exit"']}),expected:"Exit",toCodec:([o,s,i])=>Ce()(ct([Oe({_tag:Bt("Success"),value:o}),Oe({_tag:Bt("Failure"),cause:Xw(s,i)})]),Pe({decode:c=>c._tag==="Success"?qu(c.value):Wi(c.cause),encode:c=>Lt(c)?{_tag:"Success",value:c.value}:{_tag:"Failure",cause:c.cause}}))});return G(r.ast,{value:e,error:t,defect:n})}function J1(e,t,n){return Oe({type:Bt(e),nodes:He(Oe({index:so,data:t})),edges:He(Oe({index:so,source:so,target:so,data:n}))})}function Z1(e,t){let n=-1,r=new Set;for(let o=0;o<e.nodes.length;o++){let s=e.nodes[o].index;if(s<=n)return D(new Pt(["nodes",o,"index"],new Z({expected:"a strictly increasing node index"},s,t)));n=s,r.add(s)}n=-1;for(let o=0;o<e.edges.length;o++){let s=e.edges[o];if(s.index<=n)return D(new Pt(["edges",o,"index"],new Z({expected:"a strictly increasing edge index"},s.index,t)));if(n=s.index,!r.has(s.source))return D(new Pt(["edges",o,"source"],new Z({expected:"an encoded node index"},s.source,t)));if(!r.has(s.target))return D(new Pt(["edges",o,"target"],new Z({expected:"an encoded node index"},s.target,t)))}return C(Ph(e))}function hee(e,t,n){return!Z0(e)||e.mutable||e.type!==t?D(new Z({expected:`an immutable ${t} Graph`},e,n)):C(yl(e))}function gee(e,t){return(n,r)=>{let o=yl(n),s=yl(r);if(o.type!==s.type||o.nodes.length!==s.nodes.length||o.edges.length!==s.edges.length)return!1;for(let i=0;i<o.nodes.length;i++)if(o.nodes[i].index!==s.nodes[i].index||!e(o.nodes[i].data,s.nodes[i].data))return!1;for(let i=0;i<o.edges.length;i++){let c=o.edges[i],d=s.edges[i],u=o.type==="directed"?c.source===d.source&&c.target===d.target:c.source===d.source&&c.target===d.target||c.source===d.target&&c.target===d.source;if(c.index!==d.index||!u||!t(c.data,d.data))return!1}return!0}}function yee(e,t,n){return si()(ct([Xg,Oe({nodes:ny(t),edges:He(Oo([so,so,n]))})]),K(r=>{if(r===null)return Ph({type:e,nodes:[],edges:[]});let o=r.nodes.map((s,i)=>({index:i,data:s}));return Ph({type:e,nodes:o,edges:r.edges.map(([s,i,c],d)=>({index:d,source:s%o.length,target:i%o.length,data:c}))})}))}function xee(e,t,n){let r=_n()([t,n],([o,s])=>{let i=J1(e,o,s);return(c,d,u)=>!Z0(c)||c.mutable||c.type!==e?D(new vt(d,c,u)):mn(pt(i)(yl(c),u),l=>Z1(l,u))},{representation:{id:"effect/schema/Graph",payload:e},toCode:({typeParameters:o})=>({runtime:`Schema.Graph(${U(e)}, ${o[0].runtime}, ${o[1].runtime})`,Type:`Graph.Graph<${o[0].Type}, ${o[1].Type}, ${U(e)}>`,importDeclarations:['import * as Graph from "effect/Graph"']}),expected:`an immutable ${e} Graph`,toCodec:([o,s])=>Ce()(J1(e,o,s),Ke({decode:Z1,encode:(i,c)=>hee(i,e,c)})),toCodecArbitrary:({typeParameters:[o,s]})=>yee(e,o,s),toEquivalence:([o,s])=>gee(o,s)});return G(r.ast,{type:e,node:t,edge:n})}function Q1(e){return Ce()(e,Pe({decode:O0,encode:fl}))}function See(e,t){let n=_n()([e,t],([r,o])=>{let s=He(Oo([r,o]));return(i,c,d)=>YM(i)?Qt(pt(s)(fl(i),d),{onSuccess:O0,onFailure:u=>Dn(c,"entries",u,i,d)}):D(new vt(c,i,d))},{representation:{id:"effect/schema/HashMap",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.HashMap(${r[0].runtime}, ${r[1].runtime})`,Type:`HashMap.HashMap<${r[0].Type}, ${r[1].Type}>`,importDeclarations:['import * as HashMap from "effect/HashMap"']}),expected:"HashMap",toCodec:([r,o])=>Q1(He(Oo([r,o]))),toCodecArbitrary:({constraint:r,typeParameters:[o,s]})=>Q1(ty(He(Oo([o,s])).check(NF()),r?.minSize,r?.maxSize)),toEquivalence:([r,o])=>xf(r,o)});return G(n.ast,{key:e,value:t})}function Y1(e){return Ce()(e,Pe({decode:P0,encode:En}))}function bee(e){let t=_n()([e],([n])=>{let r=He(n);return(o,s,i)=>r_(o)?Qt(pt(r)(En(o),i),{onSuccess:P0,onFailure:c=>Dn(s,"values",c,o,i)}):D(new vt(s,o,i))},{representation:{id:"effect/schema/HashSet",payload:null},toCode:({typeParameters:n})=>({runtime:`Schema.HashSet(${n[0].runtime})`,Type:`HashSet.HashSet<${n[0].Type}>`}),expected:"HashSet",toCodec:([n])=>Y1(He(n)),toCodecArbitrary:({constraint:n,typeParameters:[r]})=>Y1(ty(He(r).check(lk()),n?.minSize,n?.maxSize)),toEquivalence:([n])=>ou(n)});return G(t.ast,{value:e})}function Pa(e){let t=_n()([e],([n])=>(r,o,s)=>uc(r)?ae(r)?Yu:Qt(pt(n)(r.value,s),{onSuccess:$,onFailure:i=>Dn(o,"value",i,r,s)}):D(new vt(o,r,s)),{representation:{id:"effect/schema/Option",payload:null},toCode:({typeParameters:n})=>({runtime:`Schema.Option(${n[0].runtime})`,Type:`Option.Option<${n[0].Type}>`,importDeclarations:['import * as Option from "effect/Option"']}),expected:"Option",toCodec:([n])=>Ce()(ct([Oe({_tag:Bt("Some"),value:n}),Oe({_tag:Bt("None")})]),Pe({decode:r=>r._tag==="None"?N():$(r.value),encode:r=>st(r)?{_tag:"Some",value:r.value}:{_tag:"None"}}))});return G(t.ast,{value:e})}function vee(e){return ok(e).pipe(W(Pa(Un(e)),Hv()))}function Iee(e){return ry(e).pipe(W(Pa(Un(e)),zv()))}function wee(e,t){return gF(e).pipe(W(Pa(Un(e)),Wv(t)))}var q2=Fe(a_,{representation:{id:"effect/http/Cookie",payload:null},toCode:()=>({runtime:"Schema.Cookie",Type:"Cookies.Cookie",importDeclarations:['import * as Cookies from "effect/http/Cookies"']}),expected:"Cookie"}),B2=Fe(i_,{representation:{id:"effect/http/Cookies",payload:null},toCode:()=>({runtime:"Schema.Cookies",Type:"Cookies.Cookies",importDeclarations:['import * as Cookies from "effect/http/Cookies"']}),expected:"Cookies",toCodecJson:()=>Ce()(He(q),Pe({decode:c_,encode:f_})),toCodecIso:()=>Ce()(Aa(q,q2),Pe({decode:$0,encode:e=>e.cookies}))}),kee=B2.pipe(W(Aa(q,q),Pe({decode:p_,encode:e=>L0(globalThis.Object.entries(e).map(([t,n])=>l_(t,n)))}))),Eee=Fe(x_,{representation:{id:"effect/http/Headers",payload:null},toCode:()=>({runtime:"Schema.Headers",Type:"Headers.Headers",importDeclarations:['import * as Headers from "effect/http/Headers"']}),expected:"Headers",toEquivalence:()=>z0,toCodec:()=>Ce()(Aa(q,q),Pe({decode:S_,encode:e=>({...e})}))}),j2=ct([Oe({_tag:ps("Duration"),duration:Td.check(Me(e=>Mi(e)&&!Qf(e),{expected:"a finite, non-negative duration"}))}),Oe({_tag:ps("DateTime"),dateTime:kd})]),Tee=Ke({decode:(e,t)=>Vt(w_(e),{onFailure:()=>D(new Z({expected:"whole non-negative seconds or an HTTP date (RFC 9110 \xA710.2.3)"},e,t)),onSuccess:C}),encode:e=>C(k_(e))}),Aee=q.annotate({expected:"a Retry-After header value"}).pipe(W(j2,Tee)),yk=Fe(G0,{representation:{id:"effect/http/UrlParams",payload:null},toCode:()=>({runtime:"Schema.UrlParams",Type:"UrlParams.UrlParams",importDeclarations:['import * as UrlParams from "effect/http/UrlParams"']}),expected:"UrlParams",toEquivalence:()=>V0,toCodec:()=>Ce()(He(Oo([q,q])),Pe({decode:Dh,encode:e=>e.params.map(([t,n])=>[t,gl(n)])}))}),Ree=(e,t)=>yk.pipe(W(fk(Ip,t),Ke({decode:n=>lt(C_(n,e),{onNone:()=>D(new Pt([e],new ss(void 0))),onSome:C}),encode:n=>C(Dh([[e,n]]))}))),Oee=yk.pipe(W(Aa(q,ct([q,ny(q)])),Pe({decode:D_,encode:R_})));function Cee(e){return Ea(e).pipe(W(Pa(Un(e)),Kv()))}function Dee(e){return vd(e).pipe(W(Pa(Un(e)),Gv()))}function Pee(e,t){let n=t===void 0?"omit":t.onNoneEncoding,r=n===null?null:void 0;return vd(ok(e)).pipe(W(Pa(Un(e)),Fl({decode:o=>o.pipe(Oi(gf),$),encode:n==="omit"?Ri:o=>$(mu(Ri(o),()=>r))})))}function H2(e,t){let n=typeof t?.label=="string"?t.label:void 0,r=t?.disallowJsonEncode===!0,o=n!==void 0?r?{label:n,disallowJsonEncode:!0}:{label:n}:r?{disallowJsonEncode:!0}:void 0,s=n!==void 0?pt(Bt(n)):void 0,i=_n()([e],([c])=>(d,u,l)=>{if(jc(d)){let p=s!==void 0?Fc(s(d.label,l),f=>new Pt(["label"],f)):Mc;return Nt(p,()=>Qt(pt(c)(Ws(d),l),{onSuccess:f=>rs(f,{label:d.label}),onFailure:()=>new Mt(u,[new Pt(["value"],new Z(void 0,d,l))],d,l)}))}return D(new vt(u,d,l))},{representation:{id:"effect/schema/Redacted",payload:o??null},toCode:({typeParameters:c})=>({runtime:o!==void 0?`Schema.Redacted(${c[0].runtime}, ${U(o)})`:`Schema.Redacted(${c[0].runtime})`,Type:`Redacted.Redacted<${c[0].Type}>`,importDeclarations:['import * as Redacted from "effect/Redacted"']}),expected:"Redacted",toCodecJson:([c])=>Ce()(c,{decode:K(d=>rs(d,{label:n})),encode:r?pa(d=>"Cannot serialize Redacted"+(st(d)&&typeof d.value.label=="string"?` with label: "${d.value.label}"`:"")):K(Ws)}),toEquivalence:([c])=>g_(c)});return G(i.ast,{value:e})}function Mee(e,t){return W(H2(Un(e),{label:t?.label,disallowJsonEncode:t?.disallowEncode}),{decode:K(n=>rs(n,{label:t?.label})),encode:t?.disallowEncode?pa(n=>"Cannot encode Redacted"+(st(n)&&typeof n.value.label=="string"?` with label: "${n.value.label}"`:"")):K(Ws)})(e)}function _ee(e,t){let n=_n()([e,t],([r,o])=>(s,i,c)=>{if(!qf(s))return D(new vt(i,s,c));switch(s._tag){case"Success":return Qt(Ql(r)(s.success,c),{onSuccess:L,onFailure:d=>Dn(i,"success",d,s,c)});case"Failure":return Qt(Ql(o)(s.failure,c),{onSuccess:J,onFailure:d=>Dn(i,"failure",d,s,c)})}},{representation:{id:"effect/schema/Result",payload:null},toCode:({typeParameters:r})=>({runtime:`Schema.Result(${r[0].runtime}, ${r[1].runtime})`,Type:`Result.Result<${r[0].Type}, ${r[1].Type}>`,importDeclarations:['import * as Result from "effect/Result"']}),expected:"Result",toCodec:([r,o])=>Ce()(ct([Oe({_tag:Bt("Success"),success:r}),Oe({_tag:Bt("Failure"),failure:o})]),Pe({decode:s=>s._tag==="Success"?L(s.success):J(s.failure),encode:s=>Et(s)?{_tag:"Success",success:s.success}:{_tag:"Failure",failure:s.failure}}))});return G(n.ast,{success:e,failure:t})}var z2=(e,t)=>Ke({decode:(n,r)=>Fc(tl(e(n)),o=>new Z({message:o.message},n,r)),encode:n=>C(t(n))}),W2=Oe({major:so,minor:so,patch:so,prerelease:He(ct([so,q.check(Oa(/^[0-9]*[A-Za-z-][0-9A-Za-z-]*$/))]))}),K2=z2(U1,ka),G2=q.annotate({expected:"a string that will be decoded as a SemVer"}),V2=Fe(jw,{representation:{id:"effect/schema/SemVer",payload:null},toCode:()=>({runtime:"Schema.SemVer",Type:"SemVer.SemVer",importDeclarations:['import * as SemVer from "effect/SemVer"']}),expected:"SemVer",toCodecArbitrary:()=>si()(Oe({...W2.fields,build:He(q.check(Oa(/^[0-9A-Za-z-]+$/)))}),K(Hw)),toCodecJson:()=>Ce()(G2,K2),toFormatter:()=>ka}),Uee=G2.pipe(W(V2,K2)),J2=z2(Vw,oi),Z2=q.annotate({expected:"a string that will be decoded as a SemVer range"}),Q2=Fe(Gw,{representation:{id:"effect/schema/SemVerRange",payload:null},toCode:()=>({runtime:"Schema.SemVerRange",Type:"SemVerRange.SemVerRange",importDeclarations:['import * as SemVerRange from "effect/SemVerRange"']}),expected:"SemVerRange",toCodecArbitrary:()=>si()(He(He(Oe({operator:Co(["","=","<","<=",">",">=","~","^"]),version:W2})).check(ck(1))),K(e=>$1(e.map(t=>t.map(({operator:n,version:r})=>`${n}${ka(Hw(r))}`).join(" ")).join(" || ")))),toCodecJson:()=>Ce()(Z2,J2),toFormatter:()=>oi}),Nee=Z2.pipe(W(Q2,J2)),Fee=globalThis.Symbol.for("immer-draftable"),ek={};function xk(e,t,n,r,o){let s=Lee(n,t,r),i=X2(t),c=class extends e{constructor(...[d,u]){let p=u?.["~payload"],f=p?.token===ek?p.value:n.make(d??{},u);super(f,{...u,disableChecks:!0,"~payload":{token:ek,value:f}})}static[bp]=bp;get[i](){return i}static[Fee]=!0;static identifier=t;static fields=n.fields;static get ast(){return s(this).ast}static pipe(){return ie(this,arguments)}static rebuild(d){return s(this).rebuild(d)}static make(d,u){return Zl(s(this))(d??{},u)}static makeOption(d,u){return Jl(s(this))(d??{},u)}static makeEffect(d,u){return s(this).makeEffect(d??{},u)}static annotate(d){return this.rebuild(Qr(this.ast,d))}static annotateKey(d){return this.rebuild(Gl(this.ast,d))}static check(...d){return this.rebuild(Ro(this.ast,d))}static extend(d){return(u,l)=>{let p=Dp(u)?u:Oe(u),f={...n.fields,...p.fields},g=Qh(f,n.ast.checks,{identifier:d});return xk(this,d,rk(Ro(g,p.ast.checks),f),l,o)}}static mapFields(d,u){return n.mapFields(d,u)}};return o!==void 0&&Object.assign(c.prototype,o(t)),c}function Y2(e,t){return new e(t,{"~payload":{token:ek,value:t}})}function $ee(e){return new ve(K(t=>Y2(e,t)),Sn())}function X2(e){return`~effect/Schema/Class/${e}`}function Lee(e,t,n){let r;return o=>{if(r!==void 0)return r;let s=X2(t),i=u=>u instanceof o||O(u,s),c=$ee(o),d=G(new Yc([e.ast],()=>(u,l,p)=>i(u)?C(u):D(new vt(l,u,p)),{identifier:t,[_h]:([u])=>({isConstructed:i,link:new xt(u,c)}),toCodec:([u])=>new xt(u.ast,c),toEquivalence:([u])=>u,toFormatter:([u])=>l=>`${o.identifier}(${u(l)})`,[xl]:Jc(e.ast),...n}));return r=W(d,c)(e)}}function Dp(e){return Yg(e)}var e$=e=>(t,n)=>{let r=Dp(t)?t:Oe(t);return xk(eR,e,r,n,o=>({toString(){return`${o}(${U({...this})})`}}))},qee=e=>(t,n,r)=>{let o=Dp(n)?n.mapFields(s=>({_tag:ps(t),...s}),{unsafePreserveChecks:!0}):kp(t,n);return e$(e??t)(o,r)},t$=e=>(t,n)=>{let r=Dp(t)?t:Oe(t);return xk(uu,e,r,n,s=>({name:s}))},Bee=e=>(t,n,r)=>{let o=Dp(n)?n.mapFields(s=>({_tag:ps(t),...s}),{unsafePreserveChecks:!0}):kp(t,n);return t$(e??t)(o,r)};function jee(e){return t=>t.annotate({toFormatter:e})}function Hee(e,t){return QN(e.ast,t)}function zee(e){return t=>t.annotate({toEquivalence:e})}function Wee(e){return aw(e.ast)}function Kee(e,t){return ip(e.ast,t)}function Gee(e,t){let n=ip(Xs(e.ast),t);return Tg(n,t)}var Vee=bg,Jee=vg,Zee=Ig,Qee=SN,Yee=kN;function Xee(e,t){return KN(e,t)}function ete(e){return r1(e)}function tte(e){return o1(e)}function nte(e){return s1(e)}function rte(e,t){return n=>G(Qr(n.ast,{toCodecIso:()=>new xt(e.ast,Nl(t))}),{schema:n})}function ote(e){return WN(e)}function ste(e){let t=yF(()=>n),n=ct([e,He(t),Aa(q,t)]);return n}var ly=G(Qr(Zc,{toCode:()=>({runtime:"Schema.Json",Type:"Schema.Json"})})),ite=Aa(q,ly),ate=Oe({message:q,name:Ea(q),stack:Ea(q),cause:Ea(ly)}),cte=G(Qr(jU,{toCode:()=>({runtime:"Schema.MutableJson",Type:"Schema.MutableJson"})}));function dte(e){return os(e.ast)}function ute(e){return e.ast.context?.annotations}var ee={};Re(ee,{Event:()=>ee,ID:()=>vk,Seq:()=>c$,Version:()=>my,durable:()=>Ik,durableMap:()=>xte,ephemeral:()=>le,inventory:()=>$e,latest:()=>yte,versionedType:()=>d$});var wt=a.Int.check(a.isGreaterThan(0)),me=a.Int.check(a.isGreaterThanOrEqualTo(0)),Fn=a.String.pipe(a.brand("RelativePath"),a.annotate({identifier:"RelativePath"})),tt=a.String.pipe(a.brand("AbsolutePath"),a.annotate({identifier:"AbsolutePath"})),m=e=>a.optionalKey(e).pipe(a.decodeTo(a.optional(a.toType(e)),{decode:hn.passthrough({strict:!1}),encode:hn.transformOptional(Xe.filter(t=>t!==void 0))})),lte=(e,t)=>Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),Se=e=>t=>lte(t,e(t)),At=a.Finite.pipe(a.decodeTo(a.DateTimeUtc,{decode:hn.transform(e=>ns.makeUnsafe(e)),encode:hn.transform(e=>ns.toEpochMillis(e))}));var pte=26,fte="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",n$=0,Sk=0;function Ft(){return o$(!1)}function r$(){return o$(!0)}function o$(e,t=Date.now()){t!==n$&&(n$=t,Sk=0),Sk++;let n=BigInt(t)*0x1000n+BigInt(Sk),r=e?~n:n,o=Array.from({length:6},(i,c)=>Number(r>>BigInt(40-8*c)&0xffn).toString(16).padStart(2,"0")).join(""),s=crypto.getRandomValues(new Uint8Array(pte-12));return o+Array.from(s,i=>fte[i%62]).join("")}var yn={};Re(yn,{Info:()=>fy,Location:()=>yn,PublicInfo:()=>hte,PublicRef:()=>i$,Ref:()=>s$,response:()=>gte});var py=a.String.pipe(a.brand("Project.ID"),a.annotate({identifier:"Project.ID"}),Se(e=>({global:e.make("global")})));var bk=a.String.check(a.isStartingWith("wrk")).pipe(a.brand("Workspace.ID"),a.annotate({identifier:"Workspace.ID"}),Se(e=>{let t=()=>e.make("wrk_"+Ft());return{ascending:n=>n?e.make(n):t(),create:t}}));var s$=a.Struct({directory:tt,workspaceID:m(bk)}).annotate({identifier:"Location.Ref"}),i$=a.Struct(yr.omit(s$.fields,["workspaceID"])).annotate({identifier:"Location.PublicRef"}),fy=class extends a.Class("Location.Info")({directory:tt,workspaceID:m(bk),project:a.Struct({id:py,directory:tt,canonical:tt})}){},hte=a.Struct(yr.omit(fy.fields,["workspaceID"])).annotate({identifier:"Location.PublicInfo"});function gte(e){return a.Struct({location:i$,data:e})}var vk=a.String.check(a.isStartingWith("evt_")).pipe(a.brand("Event.ID"),a.annotate({identifier:"Event.ID"}),Se(e=>({create:()=>e.make("evt_"+Ft())}))),c$=a.Int.check(a.isGreaterThanOrEqualTo(0)).pipe(a.brand("Event.Seq"),a.annotate({identifier:"Event.Seq"})),my=a.Int.check(a.isGreaterThanOrEqualTo(1)).pipe(a.brand("Event.Version"),a.annotate({identifier:"Event.Version"})),a$=a.Struct({aggregateID:a.String,seq:c$,version:my});function Ik(e){let t=a.Struct(e.schema),n=a.Struct({aggregateID:a$.fields.aggregateID,seq:a$.fields.seq,version:a.Literal(e.durable.version).pipe(a.decodeTo(a.toType(my),Zr.transform({decode:()=>my.make(e.durable.version),encode:()=>e.durable.version})))});return a.Struct({id:vk,created:a.Finite,metadata:m(a.Record(a.String,a.Unknown)),type:a.Literal(e.type),durable:n,location:m(yn.Ref),data:t}).annotate({identifier:e.identifier??e.type}).pipe(Se(()=>({type:e.type,durability:"durable",durable:e.durable,data:t})))}function le(e){let t=a.Struct(e.schema);return a.Struct({id:vk,created:a.Finite,metadata:m(a.Record(a.String,a.Unknown)),type:a.Literal(e.type),location:m(yn.Ref),data:t}).annotate({identifier:e.identifier??e.type}).pipe(Se(()=>({type:e.type,durability:"ephemeral",durable:void 0,data:t})))}function $e(...e){return Object.freeze(e)}function yte(e){return u$(e.reduce((t,n)=>{let r=t.get(n.type);if(!r)return t.set(n.type,n),t;if(n.durable&&r.durable&&n.durable.version!==r.durable.version)return n.durable.version>r.durable.version&&t.set(n.type,n),t;if(n!==r)throw new Error(`Duplicate latest event definition for ${n.type}`);return t},new Map))}function d$(e,t){return`${e}.${t}`}function xte(e){return u$(e.reduce((t,n)=>{if(n.durability!=="durable")return t;let r=d$(n.type,n.durable.version);if(t.has(r))throw new Error(`Duplicate durable event definition for ${r}`);return t.set(r,n),t},new Map))}function u$(e){let t=Object.freeze({get size(){return e.size},entries:()=>e.entries(),forEach:(n,r)=>e.forEach((o,s)=>n.call(r,o,s,t)),get:n=>e.get(n),has:n=>e.has(n),keys:()=>e.keys(),values:()=>e.values(),[Symbol.iterator]:()=>e[Symbol.iterator]()});return t}var rn={};Re(rn,{Capabilities:()=>Nk,Compatibility:()=>Sy,Cost:()=>X$,Event:()=>qte,Family:()=>Q$,ID:()=>_p,Info:()=>Hte,MaxTokensField:()=>Dk,MediaInput:()=>Pk,Model:()=>rn,Overlays:()=>Fk,ReasoningField:()=>Ck,Ref:()=>Bte,Settings:()=>vy,Type:()=>Y$,Variant:()=>eL,VariantID:()=>by});var or={};Re(or,{Activation:()=>H$,Cache:()=>G$,CacheTTL:()=>K$,Compaction:()=>z$,Encoding:()=>V$,Event:()=>Ute,ID:()=>_k,Info:()=>Fte,Overlays:()=>J$,Package:()=>j$,Provider:()=>or,Request:()=>Nte,Settings:()=>Uk,Transport:()=>W$});var Od={};Re(Od,{Attempt:()=>Ak,AttemptID:()=>Ok,AttemptStatus:()=>Dte,CommandAttempt:()=>Pte,CommandAttemptStatus:()=>Mte,CommandMethod:()=>U$,EnvMethod:()=>$$,Event:()=>Rte,ExternalMethod:()=>F$,ID:()=>Rk,Info:()=>Cte,Integration:()=>Od,KeyMethod:()=>N$,Method:()=>L$,MethodID:()=>xy,OAuthMethod:()=>_$,Ref:()=>Ote});var Rd={};Re(Rd,{Connection:()=>Rd,CredentialInfo:()=>g$,EnvInfo:()=>y$,Info:()=>Ite,Status:()=>kk});var Ad={};Re(Ad,{CreateInput:()=>vte,Credential:()=>Ad,Entry:()=>bte,Event:()=>Ste,External:()=>h$,ID:()=>hy,Key:()=>m$,OAuth:()=>f$,Value:()=>wk});var ci=a.String.pipe(a.brand("Integration.ID"),a.annotate({identifier:"Integration.ID"})),Pp=a.String.pipe(a.brand("Integration.MethodID"),a.annotate({identifier:"Integration.MethodID"}));var hy=a.String.pipe(a.brand("Credential.ID"),a.annotate({identifier:"Credential.ID"}),Se(e=>({create:()=>e.make("cred_"+Ft())}))),l$=le({type:"credential.updated",schema:{}}),p$=le({type:"credential.switched",schema:{integrationID:ci,credentialID:a.NullOr(hy)}}),Ste={Updated:l$,Switched:p$,Definitions:$e(l$,p$)},f$=a.Struct({type:a.Literal("oauth"),methodID:Pp,refresh:a.String,access:a.String,expires:me,metadata:m(a.Record(a.String,a.Unknown))}).annotate({identifier:"Credential.OAuth"}),m$=a.Struct({type:a.Literal("key"),key:a.String,metadata:m(a.Record(a.String,a.Unknown))}).annotate({identifier:"Credential.Key"}),h$=a.Struct({type:a.Literal("external"),methodID:Pp,metadata:m(a.Record(a.String,a.Unknown))}).annotate({identifier:"Credential.External"}),wk=a.Union([f$,m$,h$]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Credential.Value"}),bte=a.Struct({id:hy,integrationID:ci,label:a.String,active:a.Boolean,value:wk}).annotate({identifier:"Credential.Entry"}),vte=a.Struct({id:m(hy),integrationID:ci,label:m(a.String),value:wk,activate:m(a.Boolean)}).annotate({identifier:"Credential.CreateInput"});var kk=a.Struct({status:a.Literals(["needs_auth"]),message:a.String,url:m(a.String)}).annotate({identifier:"Connection.Status"}),g$=a.Struct({type:a.Literal("credential"),id:Ad.ID,label:a.String,method:a.Literals(["key","oauth","external"]),status:m(kk)}).annotate({identifier:"Connection.CredentialInfo"}),y$=a.Struct({type:a.Literal("env"),name:a.String,status:m(kk)}).annotate({identifier:"Connection.EnvInfo"}),Ite=a.Union([g$,y$]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Connection.Info"});var Ma={};Re(Ma,{Answer:()=>yy,BooleanField:()=>T$,Detail:()=>Ete,Event:()=>Ate,ExternalField:()=>R$,Field:()=>O$,Fields:()=>C$,Form:()=>Ma,ID:()=>gy,Info:()=>Tk,IntegerField:()=>E$,Metadata:()=>v$,MultiselectField:()=>A$,NumberField:()=>k$,Option:()=>Ek,Reply:()=>Tte,State:()=>P$,StringField:()=>w$,Value:()=>D$,When:()=>I$});var wte=a.String.check(a.isStartingWith("frm_")).pipe(a.brand("Form.ID"),a.annotate({identifier:"Form.ID"})),gy=wte.pipe(Se(e=>({create:t=>e.make(t??"frm_"+Ft())}))),v$=a.Record(a.String,a.Unknown).annotate({identifier:"Form.Metadata"}),Ek=a.Struct({value:a.String,label:a.String,description:a.String.pipe(m)}).annotate({identifier:"Form.Option"}),I$=a.Struct({key:a.String,op:a.Literals(["eq","neq"]),value:a.Union([a.String,a.Number,a.Boolean])}).annotate({identifier:"Form.When"}),Mp={key:a.String,title:a.String.pipe(m),description:a.String.pipe(m),required:a.Boolean.pipe(m),hidden:a.Boolean.pipe(m).annotate({description:"Skip the interactive authentication prompt and use the default unless an answer is supplied"}),when:a.Array(I$).pipe(m)},w$=a.Struct({...Mp,type:a.Literal("string"),format:a.Literals(["email","uri","date","date-time"]).pipe(m),minLength:me.pipe(m),maxLength:me.pipe(m),pattern:a.String.pipe(m),placeholder:a.String.pipe(m),default:a.String.pipe(m),options:a.Array(Ek).pipe(m),custom:a.Boolean.pipe(m)}).annotate({identifier:"Form.StringField"}),k$=a.Struct({...Mp,type:a.Literal("number"),minimum:a.Number.pipe(m),maximum:a.Number.pipe(m),default:a.Number.pipe(m)}).annotate({identifier:"Form.NumberField"}),E$=a.Struct({...Mp,type:a.Literal("integer"),minimum:a.Number.pipe(m),maximum:a.Number.pipe(m),default:a.Number.pipe(m)}).annotate({identifier:"Form.IntegerField"}),T$=a.Struct({...Mp,type:a.Literal("boolean"),default:a.Boolean.pipe(m)}).annotate({identifier:"Form.BooleanField"}),A$=a.Struct({...Mp,type:a.Literal("multiselect"),options:a.Array(Ek),minItems:me.pipe(m),maxItems:me.pipe(m),custom:a.Boolean.pipe(m),default:a.Array(a.String).pipe(m)}).annotate({identifier:"Form.MultiselectField"}),R$=a.Struct({key:a.String,type:a.Literal("external"),url:a.String,title:a.String.pipe(m),description:a.String.pipe(m)}).annotate({identifier:"Form.ExternalField"}),O$=a.Union([w$,k$,E$,T$,A$,R$]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Form.Field"})),C$=a.NonEmptyArray(O$).annotate({identifier:"Form.Fields"}),kte={id:gy,sessionID:a.String,title:a.String,metadata:v$.pipe(m)},Tk=a.Struct({...kte,fields:C$}).annotate({identifier:"Form.Info"}),D$=a.Union([a.String,a.Number,a.Boolean,a.Array(a.String)]).annotate({identifier:"Form.Value"}),yy=a.Record(a.String,D$).annotate({identifier:"Form.Answer"}),P$=a.Union([a.Struct({status:a.Literal("pending")}),a.Struct({status:a.Literal("answered"),answer:yy}),a.Struct({status:a.Literal("cancelled"),message:a.String.pipe(m)})]).pipe(a.toTaggedUnion("status")).annotate({identifier:"Form.State"}),Ete=a.Struct({...Tk.fields,state:P$}).annotate({identifier:"Form.Detail"}),Tte=a.Struct({answer:yy}).annotate({identifier:"Form.Reply"}),x$=le({type:"form.created",schema:{form:Tk}}),S$=le({type:"form.replied",schema:{id:gy,sessionID:a.String,answer:yy}}),b$=le({type:"form.cancelled",schema:{id:gy,sessionID:a.String}}),Ate={Created:x$,Replied:S$,Cancelled:b$,Definitions:$e(x$,S$,b$)};var Rk=ci,xy=Pp,_$=a.Struct({id:xy,type:a.Literal("oauth"),label:a.String,form:m(Ma.Fields)}).annotate({identifier:"Integration.OAuthMethod"}),U$=a.Struct({id:xy,type:a.Literal("command"),label:a.String,command:a.Array(a.String)}).annotate({identifier:"Integration.CommandMethod"}),N$=a.Struct({type:a.Literal("key"),label:m(a.String),form:m(Ma.Fields)}).annotate({identifier:"Integration.KeyMethod"}),F$=a.Struct({id:xy,type:a.Literal("external"),label:a.String,form:m(Ma.Fields)}).annotate({identifier:"Integration.ExternalMethod"}),$$=a.Struct({type:a.Literal("env"),names:a.Array(a.String)}).annotate({identifier:"Integration.EnvMethod"}),L$=a.Union([_$,U$,N$,F$,$$]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Integration.Method"}),M$=le({type:"integration.updated",schema:{}}),Rte={Updated:M$,Definitions:$e(M$)},Ote=a.Struct({id:Rk,name:a.String,metadata:m(a.Record(a.String,a.Any))}).annotate({identifier:"Integration.Ref"}),Cte=a.Struct({id:Rk,name:a.String,metadata:m(a.Record(a.String,a.Any)),methods:a.Array(L$),connections:a.Array(Rd.Info)}).annotate({identifier:"Integration.Info"}),Ok=a.String.pipe(a.brand("Integration.AttemptID"),a.annotate({identifier:"Integration.AttemptID"}),Se(e=>({create:()=>e.make("con_"+Ft())}))),Do=a.Struct({created:a.Number,expires:a.Number}),Ak=class extends a.Class("Integration.Attempt")({attemptID:Ok,url:a.String,instructions:a.String,mode:a.Literals(["auto","code"]),time:Do}){},Dte=a.Union([a.Struct({status:a.Literal("pending"),time:Do}),a.Struct({status:a.Literal("complete"),time:Do}),a.Struct({status:a.Literal("failed"),message:a.String,time:Do}),a.Struct({status:a.Literal("expired"),time:Do})]).pipe(a.toTaggedUnion("status")).annotate({identifier:"Integration.AttemptStatus"}),Pte=a.Struct({attemptID:Ok,time:Do}).annotate({identifier:"Integration.CommandAttempt"}),Mte=a.Union([a.Struct({status:a.Literal("pending"),message:m(a.String),time:Do}),a.Struct({status:a.Literal("complete"),time:Do}),a.Struct({status:a.Literal("failed"),message:a.String,time:Do}),a.Struct({status:a.Literal("expired"),time:Do})]).pipe(a.toTaggedUnion("status")).annotate({identifier:"Integration.CommandAttemptStatus"});var Ck=a.Union([a.Literals(["reasoning","reasoning_content","reasoning_text"]),a.String]).annotate({identifier:"Model.ReasoningField"}),Dk=a.Literals(["max_completion_tokens","max_tokens"]).annotate({identifier:"Model.MaxTokensField"}),Pk=a.Literals(["assets","state","root"]).annotate({identifier:"Model.MediaInput"}),_te=a.Literals(["anthropic","alibaba"]).annotate({identifier:"Model.CacheFormat"}),Sy=a.Struct({reasoningField:Ck.pipe(m),requireReasoning:a.Boolean.pipe(m),maxTokensField:Dk.pipe(m),requireFinishReason:a.Boolean.pipe(m),requireAssistantAfterTool:a.Boolean.pipe(m),supportsPromptCacheKey:a.Boolean.pipe(m),streamUsage:a.Boolean.pipe(m),cacheFormat:_te.pipe(m),supportsThinkingBlockBinding:a.Boolean.pipe(m),supportsEffortUpdates:a.Boolean.pipe(m),mediaInput:Pk.pipe(m)}).annotate({identifier:"Model.Compatibility"}),q$=a.Struct(yr.omit(Sy.fields,["supportsThinkingBlockBinding","supportsEffortUpdates"])).annotate({identifier:"Provider.Compatibility"});var _k=a.String.pipe(a.brand("Provider.ID"),a.annotate({identifier:"Provider.ID"}),Se(e=>({opencode:e.make("opencode"),anthropic:e.make("anthropic"),openai:e.make("openai"),google:e.make("google"),googleVertex:e.make("google-vertex"),githubCopilot:e.make("github-copilot"),claudeAgent:e.make("claude-agent"),amazonBedrock:e.make("amazon-bedrock"),azure:e.make("azure"),openrouter:e.make("openrouter"),mistral:e.make("mistral"),gitlab:e.make("gitlab")}))),B$=le({type:"provider.updated",schema:{}}),Ute={Updated:B$,Definitions:$e(B$)},j$=a.String,H$=a.Literals(["auto","enabled","disabled"]),z$=a.Union([a.Struct({type:a.Literal("summary")}),a.Struct({type:a.Literal("native")})]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Provider.Compaction"}),W$=a.Literals(["http","websocket"]).annotate({identifier:"Provider.Transport"}),K$=a.TemplateLiteral([a.Number,a.Literals(["ms","s","m","h","d"])]).check(a.isPattern(/^\d+(ms|s|m|h|d)$/)).annotate({identifier:"Provider.CacheTTL"}),G$=a.Struct({ttl:K$.pipe(m)}).annotate({identifier:"Provider.Cache"}),V$=a.Literals(["zstd","gzip","none"]).annotate({identifier:"Provider.Encoding"}),Mk=a.Union([a.Finite,a.Literal(!1)]).pipe(m),Uk=a.StructWithRest(a.Struct({timeout:Mk,headerTimeout:Mk,chunkTimeout:Mk,compaction:z$.pipe(m),cache:G$.pipe(m),transport:W$.pipe(m),encoding:V$.pipe(m)}),[a.Record(a.String,a.Any)]).annotate({identifier:"Provider.Settings"}),J$={settings:Uk.pipe(m),headers:a.Record(a.String,a.String).pipe(m),body:a.Record(a.String,a.Any).pipe(m)},Nte=a.Struct({settings:Uk.pipe(a.withConstructorDefault(Yt.succeed({}))),headers:a.Record(a.String,a.String),body:a.Record(a.String,a.Any)}).annotate({identifier:"Provider.Request"}),Fte=a.Struct({id:_k,canonical:_k.pipe(m),integrationID:Od.ID.pipe(m),name:a.String,activation:H$,package:j$,compatibility:q$.pipe(m),...J$}).annotate({identifier:"Provider.Info"}).pipe(Se(()=>({empty:e=>({id:e,name:e,activation:"auto",package:""})})));var nn={};Re(nn,{Money:()=>nn,USD:()=>$te,USDPerMillionTokens:()=>Lte});var $te=a.Finite.pipe(a.brand("Money.USD"),a.annotate({identifier:"Money.USD"}),Se(e=>({zero:e.make(0)}))),Lte=a.Finite.pipe(a.brand("Money.USDPerMillionTokens"),a.annotate({identifier:"Money.USDPerMillionTokens"}),Se(e=>({zero:e.make(0)})));var _p=a.String.pipe(a.brand("Model.ID")),Z$=le({type:"model.updated",schema:{}}),qte={Updated:Z$,Definitions:$e(Z$)},by=a.String.pipe(a.brand("Model.VariantID")),Bte=a.Struct({id:_p,providerID:or.ID,variant:by.pipe(m)}).annotate({identifier:"Model.Ref"}).pipe(Se(e=>({parse:t=>{let n=t.indexOf("/");if(n<=0)throw new Error(`Invalid model reference: ${t}`);let r=t.slice(0,n),o=t.indexOf("#",n+1),s=t.slice(n+1,o===-1?void 0:o),i=o===-1?void 0:t.slice(o+1);if(!s||r.includes("#")||i!==void 0&&(!i||i.includes("#")))throw new Error(`Invalid model reference: ${t}`);return e.make({providerID:or.ID.make(r),id:_p.make(s),...i?{variant:by.make(i)}:{}})}})));var Q$=a.String.pipe(a.brand("Model.Family")),Y$=a.Union([a.Literals(["chat","decision","image"]),a.String]).annotate({identifier:"Model.Type"}),vy=a.StructWithRest(a.Struct(yr.pick(or.Settings.schema.fields,["compaction","cache","encoding"])),[a.Record(a.String,a.Any)]).annotate({identifier:"Model.Settings"}),jte=a.StructWithRest(a.Struct(yr.omit(vy.schema.fields,["cache"])),vy.records).annotate({identifier:"Model.VariantSettings"}),Fk={settings:vy.pipe(m),headers:a.Record(a.String,a.String).pipe(m),body:a.Record(a.String,a.Any).pipe(m)},Nk=a.Struct({tools:a.Boolean,input:a.Array(a.String),output:a.Array(a.String),temperature:a.Boolean.pipe(m)}).annotate({identifier:"Model.Capabilities"}).pipe(Se(()=>({default:()=>({tools:!0,input:["text","image"],output:["text"]})}))),X$=a.Struct({tier:a.Struct({type:a.tag("context"),size:a.Int}).pipe(m),input:nn.USDPerMillionTokens,output:nn.USDPerMillionTokens,cache:a.Struct({read:nn.USDPerMillionTokens,write:nn.USDPerMillionTokens})}).annotate({identifier:"Model.Cost"}),eL=a.Struct({id:by,...Fk,settings:jte.pipe(m)}).annotate({identifier:"Model.Variant"}),Hte=a.Struct({id:_p,modelID:_p,providerID:or.ID,canonical:or.ID.pipe(m),type:Y$.pipe(m),family:Q$.pipe(m),name:a.String,compatibility:Sy.pipe(m),package:or.Package.pipe(m),...Fk,capabilities:Nk,variants:a.Array(eL),time:a.Struct({released:a.Finite}),cost:a.Array(X$),status:a.Literals(["alpha","beta","deprecated","active"]),enabled:a.Boolean,limit:a.Struct({context:a.Int,input:a.Int.pipe(m),output:a.Int})}).annotate({identifier:"Model.Info"}).pipe(Se(()=>({default:(e,t)=>({id:t,modelID:t,providerID:e,name:t,capabilities:Nk.default(),variants:[],time:{released:0},cost:[],status:"active",enabled:!0,limit:{context:2e5,output:32e3}})})));var Po={};Re(Po,{Effect:()=>iL,Event:()=>Wte,ID:()=>$k,Permission:()=>Po,Reply:()=>sL,Request:()=>oL,Rule:()=>aL,Ruleset:()=>Kte,Source:()=>rL});var vn=a.String.check(a.isStartingWith("ses")).pipe(a.brand("SessionID"),a.annotate({identifier:"Session.ID"}),Se(e=>({create:()=>e.make("ses_"+r$())})));var $k=a.String.check(a.isStartingWith("per")).pipe(a.brand("Permission.ID"),a.annotate({identifier:"Permission.ID"}),Se(e=>({create:t=>e.make(t??"per_"+Ft())}))),rL=a.Union([a.Struct({type:a.Literal("tool"),messageID:a.String,id:a.String})]).annotate({identifier:"Permission.Source"}),zte={sessionID:vn,action:a.String,resources:a.Array(a.String),save:a.Array(a.String).pipe(m),metadata:a.Record(a.String,a.Unknown).pipe(m),source:rL.pipe(m),message:a.String.pipe(m)},oL=a.Struct({id:$k,...zte}).annotate({identifier:"Permission.Request"}),sL=a.Literals(["once","always","reject"]).annotate({identifier:"Permission.Reply"}),tL=le({type:"permission.asked",schema:oL.fields}),nL=le({type:"permission.replied",schema:{sessionID:vn,requestID:$k,reply:sL}}),Wte={Asked:tL,Replied:nL,Definitions:$e(tL,nL)},iL=a.Literals(["allow","deny","ask"]).annotate({identifier:"Permission.Effect"}),aL=a.Struct({action:a.String,resource:a.String,effect:iL}).annotate({identifier:"Permission.Rule"}),Kte=a.Array(aL).annotate({identifier:"Permission.Ruleset"});var cL=le({type:"agent.updated",schema:{}}),dL=a.String.pipe(a.brand("Agent.ID"),a.annotate({identifier:"Agent.ID"})),Lk=a.String.pipe(a.brand("Agent.Name")),uL=a.String.annotate({identifier:"Agent.Color"}),Gte=a.Struct({id:dL,name:Lk,model:rn.Ref.pipe(m),request:or.Request,system:a.String.pipe(m),description:a.String.pipe(m),mode:a.Literals(["subagent","primary","all"]),hidden:a.Boolean,color:uL.pipe(m),steps:wt.pipe(m),permissions:Po.Ruleset}).annotate({identifier:"Agent.Info"}).pipe(Se(()=>({default:e=>({id:e,name:Lk.make(e),request:{settings:{},headers:{},body:{}},mode:"primary",hidden:!1,permissions:[{action:"*",resource:"*",effect:"allow"},{action:"read",resource:"*.env",effect:"ask"},{action:"read",resource:"*.env.*",effect:"ask"},{action:"read",resource:"*.env.example",effect:"allow"}]})}))),Vte={Updated:cL,Definitions:$e(cL)};var Jte=a.String.check(a.isStartingWith("art_")).pipe(a.brand("Artifact.ID"),a.annotate({identifier:"Artifact.ID"}),Se(e=>({create:()=>e.make("art_"+Ft())}))),qk=a.Trim.check(a.isNonEmpty()).pipe(a.brand("Artifact.ProviderID"),a.annotate({identifier:"Artifact.ProviderID"})),Zte=a.Literals(["static","server-code","sqlite","durable-objects"]).annotate({identifier:"Artifact.Capability"}),Hhe=a.Struct({id:qk,name:a.String,capabilities:a.Array(Zte),default:a.Boolean}).annotate({identifier:"Artifact.Provider"}),Qte=a.Struct({created:a.Finite,updated:a.Finite}).annotate({identifier:"Artifact.Time"}),Yte=a.Struct({id:Jte,provider:qk,sessionID:vn.pipe(m),title:a.String,entry:a.String,url:a.String,time:Qte}).annotate({identifier:"Artifact.Info"}),zhe=a.Struct({info:Yte,files:a.Record(a.String,a.String)}).annotate({identifier:"Artifact.Content"}),Whe=a.Struct({title:a.String,files:a.Record(a.String,a.String),entry:a.String.pipe(m),provider:qk.pipe(m),sessionID:vn.pipe(m)}).annotate({identifier:"Artifact.CreateInput"}),Khe=a.Struct({title:a.String.pipe(m),files:a.Record(a.String,a.String),entry:a.String.pipe(m),sessionID:vn.pipe(m)}).annotate({identifier:"Artifact.UpdateInput"}),lL=le({type:"artifact.updated",schema:{}}),Ghe={Updated:lL,Definitions:$e(lL)};var fL=le({type:"command.updated",schema:{}}),Qhe=a.Struct({name:a.String,description:a.String.pipe(m)}).annotate({identifier:"Command.Info"}),Yhe={Updated:fL,Definitions:$e(fL)};var Iy=class extends a.Class("Mcp.TimeoutConfig")({startup:wt.pipe(m).annotate({description:"Maximum time in milliseconds to establish and initialize the MCP server."}),catalog:wt.pipe(m).annotate({description:"Maximum time in milliseconds to wait for MCP discovery requests such as tools/list and prompts/list."}),execution:wt.pipe(m).annotate({description:"Maximum time in milliseconds to wait for MCP tool and prompt execution."})}){},hL=a.Literals(["legacy","auto","2026-07-28"]).annotate({identifier:"Mcp.Protocol",description:'MCP protocol negotiation. "legacy" (default) opens with the initialize handshake and speaks protocol revisions up to 2025-11-25. "auto" probes for the 2026-07-28 revision and falls back to legacy when the server does not support it. "2026-07-28" requires that revision and fails otherwise.'}),Bk=class extends a.Class("Mcp.LocalConfig")({type:a.Literal("local"),command:a.String.pipe(a.Array),cwd:a.String.pipe(m).annotate({description:"Working directory for the MCP server process. Relative paths resolve from the workspace directory."}),environment:a.Record(a.String,a.String).pipe(m),disabled:a.Boolean.pipe(m),codemode:a.Boolean.pipe(m).annotate({description:"Expose this server's tools through Code Mode. Defaults to true."}),timeout:Iy.pipe(m),protocol:hL.pipe(m)}){},jk=class extends a.Class("Mcp.OAuthConfig")({client_id:a.String.pipe(m),client_secret:a.String.pipe(m),scope:a.String.pipe(m),callback_port:a.Int.check(a.isBetween({minimum:1,maximum:65535})).pipe(m),redirect_uri:a.String.pipe(m),auth_server_metadata_url:a.String.pipe(m).annotate({description:"URL of the OAuth or OpenID Connect authorization server metadata document. Set when the MCP server does not publish protected resource metadata that names its authorization server."})}){},Hk=class extends a.Class("Mcp.RemoteConfig")({type:a.Literal("remote"),url:a.String,headers:a.Record(a.String,a.String).pipe(m),oauth:a.Union([jk,a.Literal(!1)]).pipe(m),disabled:a.Boolean.pipe(m),codemode:a.Boolean.pipe(m).annotate({description:"Expose this server's tools through Code Mode. Defaults to true."}),timeout:Iy.pipe(m),protocol:hL.pipe(m)}){},nge=a.Union([Bk,Hk]).pipe(a.toTaggedUnion("type")),Xte=a.Struct({status:a.Literal("connected")}).annotate({identifier:"Mcp.Status.Connected"}),ene=a.Struct({status:a.Literal("pending")}).annotate({identifier:"Mcp.Status.Pending"}),tne=a.Struct({status:a.Literal("disabled")}).annotate({identifier:"Mcp.Status.Disabled"}),nne=a.Struct({status:a.Literal("failed"),error:a.String}).annotate({identifier:"Mcp.Status.Failed"}),rne=a.Struct({status:a.Literal("needs_auth"),error:a.String}).annotate({identifier:"Mcp.Status.NeedsAuth"}),one=a.Union([Xte,ene,tne,nne,rne]).pipe(a.toTaggedUnion("status")),rge=a.Struct({name:a.String,status:one,title:m(a.String),integrationID:m(ci)}).annotate({identifier:"Mcp.Server"}),sne=a.Struct({server:a.String,name:a.String,uri:a.String,description:m(a.String),mimeType:m(a.String)}).annotate({identifier:"Mcp.Resource"}),ine=a.Struct({server:a.String,name:a.String,uriTemplate:a.String,description:m(a.String),mimeType:m(a.String)}).annotate({identifier:"Mcp.ResourceTemplate"}),oge=a.Struct({resources:a.Array(sne),templates:a.Array(ine)}).annotate({identifier:"Mcp.ResourceCatalog"}),ane=a.Union([a.Struct({type:a.Literal("text"),uri:a.String,text:a.String,mimeType:m(a.String)}),a.Struct({type:a.Literal("blob"),uri:a.String,blob:a.String,mimeType:m(a.String)})]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Mcp.ResourceContentPart"})),sge=a.Struct({server:a.String,uri:a.String,contents:a.Array(ane)}).annotate({identifier:"Mcp.ResourceContent"});var _a={};Re(_a,{CreateInput:()=>une,Event:()=>dne,ID:()=>wy,Info:()=>zk,Pty:()=>_a,UpdateInput:()=>lne});var cne=a.String.check(a.isStartingWith("pty")).pipe(a.brand("PtyID"),a.annotate({identifier:"Pty.ID"})),wy=cne.pipe(Se(e=>{let t=()=>e.make("pty_"+Ft());return{create:t,ascending:n=>n===void 0?t():e.make(n)}})),zk=a.Struct({id:wy,title:a.String,command:a.String,args:a.Array(a.String),cwd:a.String,status:a.Literals(["running","exited"]),pid:me,exitCode:m(me)}).annotate({identifier:"Pty"}),yL=le({type:"pty.created",schema:{info:zk}}),xL=le({type:"pty.updated",schema:{info:zk}}),SL=le({type:"pty.exited",schema:{id:wy,exitCode:me}}),bL=le({type:"pty.deleted",schema:{id:wy}}),dne={Created:yL,Updated:xL,Exited:SL,Deleted:bL,Definitions:$e(yL,xL,SL,bL)},une=a.Struct({command:m(a.String),args:m(a.Array(a.String)),cwd:m(a.String),title:m(a.String),env:m(a.Record(a.String,a.String))}),lne=a.Struct({title:m(a.String),size:m(a.Struct({rows:wt,cols:wt}))});var di={};Re(di,{Event:()=>tre,ForkBoundary:()=>$q,ID:()=>Nd,Info:()=>nre,ListAnchor:()=>Dy,ListCursor:()=>are,ListFilter:()=>rre,Metadata:()=>Fq,Revert:()=>ms,Session:()=>di});var _t={};Re(_t,{Commands:()=>Kk,Current:()=>pne,Event:()=>mne,ID:()=>ky,Icon:()=>Wk,Info:()=>kL,Project:()=>_t,Time:()=>wL,UpdateInput:()=>fne,Vcs:()=>IL});var ky=py,IL=a.String.check(a.isPattern(/^[a-z][a-z0-9._-]*$/u)).annotate({identifier:"Project.Vcs"}),pne=a.Struct({id:ky,directory:tt,canonical:tt}).annotate({identifier:"Project.Current"}),Wk=a.Struct({url:m(a.String),override:m(a.String),color:m(a.String)}).annotate({identifier:"Project.Icon"}),Kk=a.Struct({start:m(a.String.annotate({description:"Startup script to run when creating a new workspace (worktree)"}))}).annotate({identifier:"Project.Commands"}),wL=a.Struct({created:me,updated:me,active:me,archived:m(me)}).annotate({identifier:"Project.Time"}),kL=a.Struct({id:ky,canonical:tt,vcs:m(IL),name:m(a.String),icon:m(Wk),commands:m(Kk),time:wL,sandboxes:a.Array(a.String)}).annotate({identifier:"Project"}),fne=a.Struct({projectID:ky,canonical:m(tt),name:m(a.String),icon:m(Wk),commands:m(Kk)}).annotate({identifier:"Project.UpdateInput"}),vL=le({type:"project.updated",schema:kL.fields}),mne={Updated:vL,Definitions:$e(vL)};var qp={};Re(qp,{AgentSelected:()=>fq,All:()=>ere,Archived:()=>bq,Compaction:()=>qa,Created:()=>pq,Definitions:()=>xE,Deleted:()=>Eq,Durable:()=>Nq,DurableDefinitions:()=>_q,EphemeralDefinitions:()=>Uq,Execution:()=>$a,Forked:()=>Tq,InboxCancelled:()=>Oq,InboxDelivered:()=>Aq,InboxDeliveryChanged:()=>Cq,InboxEnqueued:()=>Rq,InstructionsUpdated:()=>Dq,MessageContentUpdated:()=>Iq,MetadataUpdated:()=>yq,ModelSelected:()=>mq,Moved:()=>hq,Permissions:()=>xq,Reasoning:()=>_d,Renamed:()=>gq,RetryScheduled:()=>Mq,RevertEvent:()=>Ud,SessionEvent:()=>qp,Shell:()=>Lp,Skill:()=>Oy,Step:()=>La,Synthetic:()=>Pq,Text:()=>Md,Tool:()=>Mo,Unarchived:()=>vq,UsageRecorded:()=>wq,UsageUpdated:()=>kq,Viewed:()=>Sq});var Ey=a.Literals(["stop","length","tool-calls","content-filter","error","unknown"]);var Cge=a.String.pipe(a.brand("Tool.CallID")),EL=class extends a.TaggedError()("Tool.Error",{message:a.String,error:a.optional(a.Defect()),metadata:a.optional(a.Record(a.String,a.Unknown))}){},gne=a.Struct({type:a.Literal("text"),text:a.String}).annotate({identifier:"Tool.TextContent"}),yne=a.Struct({type:a.Literal("file"),uri:a.String,mime:a.String,name:a.optional(a.String)}).annotate({identifier:"Tool.FileContent"}),Cd=a.Union([gne,yne]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Tool.Content"});var Up=a.Record(a.String,a.Json).annotate({identifier:"Session.Metadata"});var ye={};Re(ye,{AgentSelected:()=>Qk,Assistant:()=>iE,AssistantContent:()=>sE,AssistantContentEncoded:()=>Fne,AssistantReasoning:()=>GL,AssistantRetry:()=>VL,AssistantText:()=>KL,AssistantTool:()=>WL,Compaction:()=>cE,CompactionCompleted:()=>QL,CompactionFailed:()=>YL,CompactionRunning:()=>ZL,ID:()=>$L,Idle:()=>dE,Info:()=>$ne,LocationSwitched:()=>Xk,MediaInfo:()=>Lne,MediaUser:()=>LL,ModelSelected:()=>Yk,Native:()=>Dd,SessionMessage:()=>ye,Shell:()=>oE,Skill:()=>rE,Synthetic:()=>tE,System:()=>nE,ToolState:()=>zL,ToolStateCompleted:()=>jL,ToolStateError:()=>HL,ToolStateRunning:()=>BL,ToolStateStreaming:()=>qL,User:()=>eE});var sr={};Re(sr,{DirectorySource:()=>OL,EmbeddedSource:()=>PL,Event:()=>Sne,ID:()=>AL,Info:()=>DL,Name:()=>RL,Skill:()=>sr,Source:()=>bne,UrlSource:()=>CL});var AL=a.String.pipe(a.brand("Skill.ID"),a.annotate({identifier:"Skill.ID"})),RL=a.String.pipe(a.brand("Skill.Name"),a.annotate({identifier:"Skill.Name"})),OL=a.Struct({type:a.tag("directory"),path:tt}).annotate({identifier:"Skill.DirectorySource"}),CL=a.Struct({type:a.tag("url"),url:a.String}).annotate({identifier:"Skill.UrlSource"}),DL=a.Struct({id:AL,name:RL,description:a.String.pipe(m),autoinvoke:a.Boolean.pipe(m),path:tt,content:a.String}).annotate({identifier:"Skill.Info"}),TL=le({type:"skill.updated",schema:{}}),Sne={Updated:TL,Definitions:$e(TL)},PL=a.Struct({type:a.tag("embedded"),skill:a.suspend(()=>DL)}).annotate({identifier:"Skill.EmbeddedSource"}),bne=Object.assign(a.Union([OL,CL,PL]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Skill.Source"})),{equals:(e,t)=>e.type!==t.type?!1:e.type==="directory"&&t.type==="directory"?e.path===t.path:e.type==="url"&&t.type==="url"?e.url===t.url:e.type==="embedded"&&t.type==="embedded"?e.skill.id===t.skill.id:!1,key:e=>e.type==="directory"?`directory:${e.path}`:e.type==="url"?`url:${e.url}`:`embedded:${e.skill.id}`});var Gk=a.Struct({start:a.Finite,end:a.Finite,text:a.String}).annotate({identifier:"Prompt.Mention"}),vne=a.Union([a.Struct({type:a.Literal("inline")}),a.Struct({type:a.Literal("uri"),uri:a.String})]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Prompt.FileSource"}),Ine=a.String.check(a.makeFilter(e=>e.length%4===0&&/^[A-Za-z0-9+/]*={0,2}$/u.test(e),a.isPattern(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u).annotations)).annotate({identifier:"Prompt.Base64"}),Vk=a.Struct({data:Ine,mime:a.String,source:vne,name:a.String.pipe(m),description:a.String.pipe(m),mention:Gk.pipe(m)}).annotate({identifier:"Prompt.FileAttachment"}).pipe(Se(e=>({create:t=>e.make({data:t.data,mime:t.mime,source:t.source,name:t.name,description:t.description,mention:t.mention})}))),wne=a.String.check(a.isPattern(/^media:[0-9a-f]{64}$/)).annotate({identifier:"Prompt.MediaRef"}),{data:Bge,...kne}=Vk.fields,Ene=a.Struct({...kne,uri:wne,bytes:a.Int.pipe(m),width:a.Int.pipe(m),height:a.Int.pipe(m)}).annotate({identifier:"Prompt.MediaFileAttachment"}),Ty=a.Union([Vk,Ene]).annotate({identifier:"Prompt.Attachment"}),Tne=a.Struct({name:a.String,mention:Gk.pipe(m)}).annotate({identifier:"Prompt.AgentAttachment"}),Ane=a.Struct({id:sr.ID,name:sr.Name,text:a.String.pipe(m),mention:Gk.pipe(m)}).annotate({identifier:"Prompt.SkillAttachment"}),Ua=a.Struct({text:a.String,files:a.Array(Vk).pipe(m),agents:a.Array(Tne).pipe(m),skills:a.Array(Ane).pipe(m)}).annotate({identifier:"Prompt"}).pipe(Se(e=>({equivalence:a.toEquivalence(e),fromUserMessage:t=>e.make({text:t.text,...t.files===void 0?{}:{files:t.files},...t.agents===void 0?{}:{agents:t.agents},...t.skills===void 0?{}:{skills:t.skills}})})));var io={};Re(io,{CreateInput:()=>Cne,Event:()=>One,ID:()=>Ay,Info:()=>FL,Metadata:()=>Zk,Output:()=>Pne,OutputInput:()=>Dne,Shell:()=>io,Status:()=>Jk,Time:()=>NL});var Rne=a.String.check(a.isStartingWith("sh_")).pipe(a.brand("Shell.ID"),a.annotate({identifier:"Shell.ID"})),Ay=Rne.pipe(Se(e=>{let t=()=>e.make("sh_"+Ft());return{create:t,ascending:n=>n===void 0?t():e.make(n)}})),Jk=a.Literals(["running","exited","timeout","killed"]),NL=a.Struct({started:a.Finite.annotate({description:"Start time in milliseconds since the Unix epoch"}),completed:m(a.Finite).annotate({description:"Completion time in milliseconds since the Unix epoch"})}),Zk=a.Record(a.String,a.Unknown),FL=a.Struct({id:Ay,status:Jk,command:a.String,cwd:a.String,shell:a.String,file:a.String,pid:m(me),exit:m(a.Finite),signal:m(a.String),metadata:Zk,time:NL}).annotate({identifier:"Shell.Info"}),ML=le({type:"shell.created",schema:{info:FL}}),_L=le({type:"shell.exited",schema:{id:Ay,exit:m(a.Finite),status:Jk}}),UL=le({type:"shell.deleted",schema:{id:Ay}}),One={Created:ML,Exited:_L,Deleted:UL,Definitions:$e(ML,_L,UL)},Cne=a.Struct({command:a.String,cwd:m(a.String),timeout:m(me),metadata:m(Zk)}),Dne=a.Struct({cursor:m(me),limit:m(me)}),Pne=a.Struct({output:a.String,cursor:me,size:me,truncated:a.Boolean});var wn={};Re(wn,{Error:()=>Mne,SessionError:()=>wn});var Mne=a.Struct({type:a.String,message:a.String,status:a.Int.check(a.isBetween({minimum:100,maximum:599})).pipe(m),response:a.Struct({body:a.String}).pipe(m),retryAfterMs:me.pipe(m)}).annotate({identifier:"Session.StructuredError"});var ir={};Re(ir,{ID:()=>_ne,Snapshot:()=>ir});var _ne=a.String.pipe(a.brand("Snapshot.ID"),a.annotate({identifier:"Snapshot.ID"}));var ar={};Re(ar,{Info:()=>Une,TokenUsage:()=>ar,total:()=>Nne});var Une=a.Struct({input:a.Finite,output:a.Finite,reasoning:a.Finite,cache:a.Struct({read:a.Finite,write:a.Finite})}).annotate({identifier:"TokenUsage.Info"});function Nne(e){return e.input+e.output+e.reasoning+e.cache.read+e.cache.write}var $L=a.String.check(a.isStartingWith("msg_")).pipe(a.brand("Session.Message.ID"),a.annotate({identifier:"Session.Message.ID"}),Se(e=>({create:()=>e.make("msg_"+Ft()),fromEvent:t=>e.make(t.replace(/^evt_/,"msg_"))}))),ao={id:$L,metadata:a.Record(a.String,a.Unknown).pipe(m),time:a.Struct({created:At})},Dd=a.Record(a.String,a.Unknown).annotate({identifier:"Session.Message.Native"}),Qk=a.Struct({...ao,type:a.tag("agent-switched"),agent:In.ID,previous:In.ID.pipe(m)}).annotate({identifier:"Session.Message.AgentSelected"}),Yk=a.Struct({...ao,type:a.tag("model-switched"),model:rn.Ref,previous:rn.Ref.pipe(m)}).annotate({identifier:"Session.Message.ModelSelected"}),Xk=a.Struct({...ao,type:a.tag("location-switched"),location:yn.Ref,projectID:_t.ID.pipe(m),subpath:Fn.pipe(m),previous:a.Struct({location:yn.Ref,projectID:_t.ID.pipe(m),subpath:Fn.pipe(m)}).pipe(m)}).annotate({identifier:"Session.Message.LocationSwitched"}),eE=a.Struct({...ao,text:Ua.fields.text,files:Ua.fields.files,agents:Ua.fields.agents,skills:Ua.fields.skills,type:a.tag("user")}).annotate({identifier:"Session.Message.User"}),LL=a.Struct({...eE.fields,files:a.Array(Ty).pipe(m)}).annotate({identifier:"Session.Message.MediaUser"}),tE=a.Struct({...ao,text:a.String,description:a.String.pipe(m),type:a.tag("synthetic")}).annotate({identifier:"Session.Message.Synthetic"}),nE=a.Struct({...ao,type:a.tag("system"),text:a.String,description:a.String.pipe(m)}).annotate({identifier:"Session.Message.System"}),rE=a.Struct({...ao,type:a.tag("skill"),skill:sr.ID,name:sr.Name,text:a.String}).annotate({identifier:"Session.Message.Skill"}),oE=a.Struct({...ao,type:a.tag("shell"),shellID:io.ID,command:a.String,status:io.Status,exit:a.Number.pipe(m),output:io.Output.pipe(m),time:a.Struct({created:At,completed:At.pipe(m)})}).annotate({identifier:"Session.Message.Shell"}),qL=a.Struct({status:a.tag("streaming"),input:a.String}).annotate({identifier:"Session.Message.ToolState.Streaming"}),BL=a.Struct({status:a.tag("running"),input:a.Record(a.String,a.Unknown),metadata:a.Record(a.String,a.Json)}).annotate({identifier:"Session.Message.ToolState.Running"}),jL=a.Struct({status:a.tag("completed"),input:a.Record(a.String,a.Unknown),content:a.NonEmptyArray(Cd),metadata:a.Record(a.String,a.Json).pipe(m)}).annotate({identifier:"Session.Message.ToolState.Completed"}),HL=a.Struct({status:a.tag("error"),input:a.Record(a.String,a.Unknown),error:wn.Error,content:a.NonEmptyArray(Cd).pipe(m),metadata:a.Record(a.String,a.Json).pipe(m)}).annotate({identifier:"Session.Message.ToolState.Error"}),zL=a.Union([qL,BL,jL,HL]).pipe(a.toTaggedUnion("status")),WL=a.Struct({type:a.tag("tool"),id:a.String,name:a.String,executed:a.Boolean.pipe(m),native:Dd.pipe(m),state:zL,time:a.Struct({created:At,ran:At.pipe(m),completed:At.pipe(m)})}).annotate({identifier:"Session.Message.Assistant.Tool"}),KL=a.Struct({type:a.tag("text"),text:a.String,native:Dd.pipe(m)}).annotate({identifier:"Session.Message.Assistant.Text"}),GL=a.Struct({type:a.tag("reasoning"),text:a.String,native:Dd.pipe(m),time:a.Struct({created:At,completed:At.pipe(m)}).pipe(m)}).annotate({identifier:"Session.Message.Assistant.Reasoning"}),sE=a.Union([KL,GL,WL]).pipe(a.toTaggedUnion("type")),Fne=a.toEncoded(sE).annotate({identifier:"Session.Message.AssistantContent.Encoded"}),VL=a.Struct({attempt:wt,at:At,error:wn.Error}).annotate({identifier:"Session.Message.Assistant.Retry"}),iE=a.Struct({...ao,type:a.tag("assistant"),agent:In.ID,model:rn.Ref,content:sE.pipe(a.Array),snapshot:a.Struct({start:ir.ID.pipe(m),end:ir.ID.pipe(m),files:a.Array(Fn).pipe(m)}).pipe(m),finish:Ey.pipe(m),rawFinish:a.String.pipe(m),native:Dd.pipe(m),cost:nn.USD.pipe(m),tokens:ar.Info.pipe(m),error:wn.Error.pipe(m),retry:VL.pipe(m),time:a.Struct({created:At,streamed:At.pipe(m),completed:At.pipe(m)})}).annotate({identifier:"Session.Message.Assistant"}),aE={type:a.tag("compaction"),...ao},JL={cost:nn.USD.pipe(m),tokens:ar.Info.pipe(m)},ZL=a.Struct({...aE,status:a.tag("running"),reason:a.Literals(["auto","manual"]),summary:a.String}).annotate({identifier:"Session.Message.Compaction.Running"}),QL=a.Struct({...aE,status:a.tag("completed"),reason:a.Literals(["auto","manual"]),model:rn.Ref.pipe(m),native:Dd.pipe(m),summary:a.String,...JL}).annotate({identifier:"Session.Message.Compaction.Completed"}),YL=a.Struct({...aE,status:a.tag("failed"),reason:a.Literals(["auto","manual"]),error:wn.Error,...JL}).annotate({identifier:"Session.Message.Compaction.Failed"}),cE=a.Union([ZL,QL,YL]).pipe(a.toTaggedUnion("status"),a.annotate({identifier:"Session.Message.Compaction"})),dE=a.Struct({...ao,type:a.tag("idle"),outcome:a.Literals(["succeeded","failed","interrupted"]),error:wn.Error.pipe(m)}).annotate({identifier:"Session.Message.Idle"}),$ne=a.Union([Qk,Yk,Xk,eE,tE,nE,rE,oE,iE,cE,dE]).annotate({identifier:"Session.Message.Info"}),Lne=a.Union([Qk,Yk,Xk,LL,tE,nE,rE,oE,iE,cE,dE]).annotate({identifier:"Session.Message.MediaInfo"});var Np={};Re(Np,{FileDiff:()=>Np,Info:()=>qne,LegacyInfo:()=>Bne});var qne=a.Struct({file:a.String,patch:a.String,additions:me,deletions:me,status:a.Literals(["added","deleted","modified"]),more:a.Literal(!0).pipe(m)}).annotate({identifier:"FileDiff.Info"}),Bne=a.Struct({file:a.String.pipe(m),patch:a.String.pipe(m),additions:a.Finite,deletions:a.Finite,status:a.Literals(["added","deleted","modified"]).pipe(m)}).annotate({identifier:"FileDiff.LegacyInfo"});var ms=a.Struct({messageID:ye.ID,partID:a.String.pipe(m),snapshot:ir.ID.pipe(m),files:a.Array(Np.Info).pipe(m)}).annotate({identifier:"Session.Revert"}),jne=a.Struct({path:a.String,status:a.Literals(["added","modified","deleted"]),additions:a.Finite,deletions:a.Finite,patch:a.String}),XL=a.Struct({messageID:ye.ID,partID:a.String.pipe(m),snapshot:a.String.pipe(m),diff:a.String.pipe(m),files:a.Array(jne).pipe(m)}).annotate({identifier:"Session.RevertV1"}),Hne=ms.pipe(a.decodeTo(a.Struct({source:a.tag("current"),revert:a.toType(ms)}),Zr.transform({decode:e=>({source:"current",revert:e}),encode:e=>e.revert}))),zne=XL.pipe(a.decodeTo(a.Struct({source:a.tag("legacy"),revert:a.toType(XL)}),Zr.transform({decode:e=>({source:"legacy",revert:e}),encode:e=>e.revert}))),Iye=a.Union([Hne,zne]).pipe(a.toTaggedUnion("source"),a.decodeTo(a.toType(ms),Zr.transform({decode:e=>e.source==="current"?e.revert:ms.make({messageID:e.revert.messageID,partID:e.revert.partID,snapshot:e.revert.snapshot?ir.ID.make(e.revert.snapshot):void 0,files:e.revert.files?.map(t=>({file:t.path,status:t.status,additions:t.additions,deletions:t.deletions,patch:t.patch}))}),encode:e=>({source:"current",revert:e})})),a.annotate({identifier:"Session.Revert.Persisted"}));var Pd={};Re(Pd,{Delta:()=>Gne,Hash:()=>uE,Instruction:()=>Pd,Key:()=>eq,Removed:()=>lE,Values:()=>Wne,removed:()=>Kne});var eq=a.String.check(a.isPattern(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._/-]*$/u)).pipe(a.brand("Instruction.Key"),a.annotate({identifier:"Instruction.Key"})),uE=a.String.check(a.isPattern(/^[a-f0-9]{64}$/u)).pipe(a.brand("Instruction.Hash"),a.annotate({identifier:"Instruction.Hash"})),Wne=a.Record(eq,uE),lE=a.Literal("removed"),Kne=lE.make("removed"),Gne=a.Record(a.String,a.Union([uE,lE]));var Fp={};Re(Fp,{Info:()=>nq,InstructionEntry:()=>Fp,Key:()=>tq,MaxValueBytes:()=>Jne,Snapshot:()=>Vne,ValueTooLargeError:()=>pE});var tq=a.String.check(a.isPattern(/^[a-z0-9][a-z0-9._-]*$/u)).annotate({identifier:"InstructionEntry.Key",description:"Instruction entry key (lowercase alphanumerics plus . _ -)"}),nq=a.Struct({key:tq,value:a.Json.annotate({description:"JSON value attached to the session's instructions"})}).annotate({identifier:"InstructionEntry.Info"}),Vne=a.Array(a.Struct({...nq.fields,removed:a.Boolean})).annotate({identifier:"InstructionEntry.Snapshot"}),Jne=256*1024,pE=class extends a.TaggedError()("InstructionEntryValueTooLargeError",{actualBytes:a.Int,maxBytes:a.Int,message:a.String},{httpApiStatus:413}){};var Na={};Re(Na,{Compaction:()=>gE,CompactionPayload:()=>sq,Delivery:()=>$p,Info:()=>Qne,Item:()=>Zne,MediaInfo:()=>Yne,MediaUser:()=>lq,MediaUserPayload:()=>rq,Move:()=>yE,MovePayload:()=>iq,SessionInbox:()=>Na,Synthetic:()=>hE,SyntheticPayload:()=>oq,User:()=>mE,UserPayload:()=>fE});var $p=a.Literals(["steer","queue"]).annotate({identifier:"Session.Inbox.Delivery"}),fE=a.Struct({...Ua.fields,metadata:a.Record(a.String,a.Unknown).pipe(m)}).annotate({identifier:"Session.Inbox.UserPayload"}),rq=a.Struct({...fE.fields,files:a.Array(Ty).pipe(m)}).annotate({identifier:"Session.Inbox.MediaUserPayload"}),oq=a.Struct({text:a.String,description:a.String.pipe(m),metadata:a.Record(a.String,a.Unknown).pipe(m)}).annotate({identifier:"Session.Inbox.SyntheticPayload"}),sq=a.Struct({}).annotate({identifier:"Session.Inbox.CompactionPayload"}),iq=a.Struct({location:yn.Ref,projectID:_t.ID,subpath:Fn.pipe(m)}).annotate({identifier:"Session.Inbox.MovePayload"}),aq=a.Struct({type:a.tag("user"),payload:fE,delivery:$p}),cq=a.Struct({type:a.tag("synthetic"),payload:oq,delivery:$p}),dq=a.Struct({type:a.tag("compaction"),payload:sq,delivery:$p}),uq=a.Struct({type:a.tag("move"),payload:iq,delivery:$p}),Zne=a.Union([aq,cq,dq,uq]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Session.Inbox.Item"})),Ry={id:ye.ID,sessionID:vn,time:a.Struct({created:At})},mE=a.Struct({...Ry,...aq.fields}).annotate({identifier:"Session.Inbox.User"}),lq=a.Struct({...mE.fields,payload:rq}).annotate({identifier:"Session.Inbox.MediaUser"}),hE=a.Struct({...Ry,...cq.fields}).annotate({identifier:"Session.Inbox.Synthetic"}),gE=a.Struct({...Ry,...dq.fields}).annotate({identifier:"Session.Inbox.Compaction"}),yE=a.Struct({...Ry,...uq.fields}).annotate({identifier:"Session.Inbox.Move"}),Qne=a.Union([mE,hE,gE,yE]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Session.Inbox.Info"})),Yne=a.Union([lq,hE,gE,yE]).pipe(a.toTaggedUnion("type"),a.annotate({identifier:"Session.Inbox.MediaInfo"}));var Fa={};Re(Fa,{Boundary:()=>Xne,SessionFork:()=>Fa});var Xne=a.Union([a.Struct({type:a.Literal("before"),messageID:ye.ID}),a.Struct({type:a.Literal("through"),messageID:ye.ID})]).annotate({identifier:"Session.ForkBoundary"});var xe={sessionID:vn},be={durable:{aggregate:"sessionID",version:1}},pq=ee.durable({type:"session.created",...be,schema:{...xe,projectID:_t.ID,location:yn.Ref,subpath:Fn.pipe(m),parentID:vn.pipe(m),slug:a.String,title:a.String.pipe(m),agent:In.ID.pipe(m),model:rn.Ref.pipe(m),metadata:Up.pipe(m),permissions:Po.Ruleset.pipe(m),version:a.String}}),fq=ee.durable({type:"session.agent.selected",...be,schema:{...xe,agent:In.ID,previous:In.ID.pipe(m)}}),mq=ee.durable({type:"session.model.selected",...be,schema:{...xe,model:rn.Ref,previous:rn.Ref.pipe(m)}}),hq=ee.durable({type:"session.moved",...be,schema:{...xe,...Na.MovePayload.fields}}),gq=ee.durable({type:"session.renamed",...be,schema:{...xe,title:a.String}}),yq=ee.durable({type:"session.metadata.updated",...be,schema:{...xe,metadata:Up}}),xq=ee.durable({type:"session.permissions",...be,schema:{...xe,permissions:Po.Ruleset}}),Sq=ee.durable({type:"session.viewed",...be,schema:{...xe,idle:a.Finite}}),bq=ee.durable({type:"session.archived",...be,schema:xe}),vq=ee.durable({type:"session.unarchived",...be,schema:xe}),Iq=ee.durable({type:"session.message.content.updated",...be,schema:{...xe,messageID:ye.ID,content:a.Array(ye.AssistantContentEncoded)}}),wq=ee.durable({type:"session.usage.recorded",...be,schema:{...xe,source:a.Literals(["title","compaction"]),cost:nn.USD,tokens:ar.Info}}),kq=ee.ephemeral({type:"session.usage.updated",schema:{...xe,cost:nn.USD,tokens:ar.Info}}),Eq=ee.durable({type:"session.deleted",durable:{aggregate:"sessionID",version:2},schema:xe}),Tq=ee.durable({type:"session.forked",durable:{aggregate:"sessionID",version:2},schema:{...xe,parentID:vn,boundary:Fa.Boundary,instructions:Pd.Values.pipe(m),instructionEntries:Fp.Snapshot.pipe(m)}}),Cy={...xe,inboxID:ye.ID},Aq=ee.durable({type:"session.inbox.delivered",...be,schema:Cy}),Rq=ee.durable({type:"session.inbox.enqueued",...be,schema:{...Cy,item:Na.Item}}),Oq=ee.durable({type:"session.inbox.cancelled",...be,schema:Cy}),Cq=ee.durable({type:"session.inbox.delivery.changed",...be,schema:{...Cy,delivery:Na.Delivery}}),$a;(function(e){e.Started=ee.durable({type:"session.execution.started",...be,schema:xe}),e.Succeeded=ee.durable({type:"session.execution.succeeded",...be,schema:xe}),e.Failed=ee.durable({type:"session.execution.failed",...be,schema:{...xe,error:wn.Error}}),e.Interrupted=ee.durable({type:"session.execution.interrupted",...be,schema:{...xe,reason:a.Literals(["user","shutdown","superseded","inactivity"])}})})($a||($a={}));var Dq=ee.durable({type:"session.instructions.updated",durable:{aggregate:"sessionID",version:2},schema:{...xe,delta:Pd.Delta,text:a.String.pipe(m)}}),Pq=ee.durable({type:"session.synthetic",...be,schema:{...xe,text:a.String,description:a.String.pipe(m),metadata:a.Record(a.String,a.Unknown).pipe(m)}}),Oy;(function(e){e.Activated=ee.durable({type:"session.skill.activated",...be,schema:{...xe,id:sr.ID,name:sr.Name,text:a.String}})})(Oy||(Oy={}));var Lp;(function(e){e.Started=ee.durable({type:"session.shell.started",...be,schema:{...xe,shell:io.Info}}),e.Ended=ee.durable({type:"session.shell.ended",...be,schema:{...xe,shell:io.Info,output:io.Output}})})(Lp||(Lp={}));var La;(function(e){e.Started=ee.durable({type:"session.step.started",...be,schema:{...xe,assistantMessageID:ye.ID,agent:In.ID,model:rn.Ref,snapshot:ir.ID.pipe(m),started:me}}),e.Streamed=ee.durable({type:"session.step.streamed",...be,schema:{...xe,assistantMessageID:ye.ID}}),e.Ended=ee.durable({type:"session.step.ended",...be,schema:{...xe,assistantMessageID:ye.ID,finish:Ey,rawFinish:a.String.pipe(m),native:ye.Native.pipe(m),cost:nn.USD,tokens:ar.Info,snapshot:ir.ID.pipe(m),files:a.Array(Fn).pipe(m)}}),e.Failed=ee.durable({type:"session.step.failed",...be,schema:{...xe,assistantMessageID:ye.ID,error:wn.Error,finish:a.Literals(["content-filter"]).pipe(m),rawFinish:a.String.pipe(m),native:ye.Native.pipe(m),cost:nn.USD.pipe(m),tokens:ar.Info.pipe(m),snapshot:ir.ID.pipe(m),files:a.Array(Fn).pipe(m)}})})(La||(La={}));var Md;(function(e){e.Started=ee.durable({type:"session.text.started",...be,schema:{...xe,assistantMessageID:ye.ID,ordinal:me}}),e.Delta=ee.ephemeral({type:"session.text.delta",schema:{...xe,assistantMessageID:ye.ID,ordinal:me,delta:a.String}}),e.Ended=ee.durable({type:"session.text.ended",...be,schema:{...xe,assistantMessageID:ye.ID,ordinal:me,text:a.String,native:ye.Native.pipe(m)}})})(Md||(Md={}));var _d;(function(e){e.Started=ee.durable({type:"session.reasoning.started",...be,schema:{...xe,assistantMessageID:ye.ID,ordinal:me,native:ye.Native.pipe(m)}}),e.Delta=ee.ephemeral({type:"session.reasoning.delta",schema:{...xe,assistantMessageID:ye.ID,ordinal:me,delta:a.String}}),e.Ended=ee.durable({type:"session.reasoning.ended",...be,schema:{...xe,assistantMessageID:ye.ID,ordinal:me,text:a.String,native:ye.Native.pipe(m)}})})(_d||(_d={}));var Mo;(function(e){let t={...xe,assistantMessageID:ye.ID,id:a.String},n;(function(r){r.Started=ee.durable({type:"session.tool.input.started",...be,schema:{...t,name:a.String}}),r.Delta=ee.ephemeral({type:"session.tool.input.delta",schema:{...t,delta:a.String}}),r.Ended=ee.durable({type:"session.tool.input.ended",...be,schema:{...t,text:a.String}})})(n=e.Input||(e.Input={})),e.Called=ee.durable({type:"session.tool.called",...be,schema:{...t,input:a.Record(a.String,a.Unknown),executed:a.Boolean,native:ye.Native.pipe(m)}}),e.Progress=ee.ephemeral({type:"session.tool.progress",schema:{...t,metadata:a.Record(a.String,a.Json)}}),e.Success=ee.durable({type:"session.tool.success",durable:{aggregate:"sessionID",version:2},schema:{...t,content:a.NonEmptyArray(Cd),metadata:a.Record(a.String,a.Json).pipe(m),executed:a.Boolean,native:ye.Native.pipe(m)}}),e.Failed=ee.durable({type:"session.tool.failed",durable:{aggregate:"sessionID",version:2},schema:{...t,error:wn.Error,content:a.NonEmptyArray(Cd).pipe(m),metadata:a.Record(a.String,a.Json).pipe(m),executed:a.Boolean,native:ye.Native.pipe(m)}})})(Mo||(Mo={}));var Mq=ee.durable({type:"session.retry.scheduled",...be,schema:{...xe,assistantMessageID:ye.ID,attempt:wt,at:me,error:wn.Error}}),qa;(function(e){e.Started=ee.durable({type:"session.compaction.started",...be,schema:{...xe,reason:a.Literals(["auto","manual"]),inputID:ye.ID.pipe(m)}}),e.Delta=ee.ephemeral({type:"session.compaction.delta",schema:{...xe,text:a.String}}),e.Ended=ee.durable({type:"session.compaction.ended",...be,schema:{...xe,reason:e.Started.data.fields.reason,model:ye.CompactionCompleted.fields.model,native:ye.CompactionCompleted.fields.native,text:a.String,cost:ye.CompactionCompleted.fields.cost,tokens:ye.CompactionCompleted.fields.tokens}}),e.Failed=ee.durable({type:"session.compaction.failed",...be,schema:{...xe,reason:e.Started.data.fields.reason,error:wn.Error,inputID:ye.ID.pipe(m),cost:ye.CompactionFailed.fields.cost,tokens:ye.CompactionFailed.fields.tokens}})})(qa||(qa={}));var Ud;(function(e){e.Staged=ee.durable({type:"session.revert.staged",...be,schema:{...xe,revert:ms}}),e.Cleared=ee.durable({type:"session.revert.cleared",...be,schema:xe}),e.Committed=ee.durable({type:"session.revert.committed",...be,schema:{...xe,to:ye.ID}})})(Ud||(Ud={}));var xE=ee.inventory(pq,fq,mq,hq,gq,yq,xq,Sq,bq,vq,kq,Eq,Tq,Aq,Rq,Oq,Cq,$a.Started,$a.Succeeded,$a.Failed,$a.Interrupted,Dq,Pq,Oy.Activated,Lp.Started,Lp.Ended,La.Started,La.Streamed,La.Ended,La.Failed,Md.Started,Md.Delta,Md.Ended,_d.Started,_d.Delta,_d.Ended,Mo.Input.Started,Mo.Input.Delta,Mo.Input.Ended,Mo.Called,Mo.Progress,Mo.Success,Mo.Failed,Mq,qa.Started,qa.Delta,qa.Ended,qa.Failed,Ud.Staged,Ud.Cleared,Ud.Committed),_q=ee.inventory(...xE.filter(e=>e.durability==="durable"),wq,Iq),Uq=ee.inventory(...xE.filter(e=>e.durability==="ephemeral")),Nq=a.Union(_q,{mode:"oneOf"}).annotate({identifier:"Session.Event.Durable"}).pipe(a.toTaggedUnion("type")),ere=a.Union([Nq,...Uq],{mode:"oneOf"}).pipe(a.toTaggedUnion("type"));var Nd=vn,Fq=Up,tre=qp;var $q=Fa.Boundary,nre=a.Struct({id:Nd,parentID:Nd.pipe(m),fork:a.Struct({sessionID:Nd,boundary:$q}).pipe(m),projectID:_t.ID,agent:In.ID.pipe(m),model:rn.Ref.pipe(m),cost:nn.USD,tokens:ar.Info,outcome:a.Literals(["succeeded","failed","interrupted"]).pipe(m),time:a.Struct({created:At,updated:At,busy:At.pipe(m),idle:At.pipe(m),viewed:At.pipe(m),archived:At.pipe(m)}),title:a.String.pipe(m),location:yn.Ref,subpath:Fn.pipe(m),metadata:Fq.pipe(m),permissions:Po.Ruleset.pipe(m),revert:ms.pipe(m)}).annotate({identifier:"Session.Info"}),Dy=a.Struct({id:Nd,time:a.Finite,direction:a.Literals(["previous","next"])}).annotate({identifier:"Session.ListAnchor"}),Py={order:a.Literals(["asc","desc"]).pipe(a.optional).annotate({description:"Session order for the first page. Use desc for newest first or asc for oldest first."}),search:a.String.pipe(a.optional),parentID:a.Union([Nd,a.Null.pipe(a.encodeTo(a.Literal("null"),{decode:hn.transform(()=>null),encode:hn.transform(()=>"null")}))]).annotate({description:"Filter by parent session. Use null to return only root sessions."}).pipe(a.optional),archived:a.Literals(["true","false"]).pipe(a.decodeTo(a.Boolean,{decode:hn.transform(e=>e==="true"),encode:hn.transform(e=>e?"true":"false")})).annotate({description:"Filter by archive state. Use true to return only archived sessions or false to exclude them. Omit to include both."}).pipe(a.optional)},rre=a.Struct({...Py,directory:tt.pipe(a.optional),project:_t.ID.pipe(a.optional),subpath:Fn.pipe(a.optional)}).annotate({identifier:"Session.ListFilter"}),ore=a.Union([a.Struct({...Py,directory:tt,anchor:Dy}),a.Struct({...Py,project:_t.ID,subpath:Fn.pipe(a.optional),anchor:Dy}),a.Struct({...Py,anchor:Dy})]),Lq=a.fromJsonString(ore),sre=a.encodeSync(Lq),ire=a.decodeUnknownEffect(Lq),are=a.String.pipe(a.brand("SessionsCursor"),a.annotate({identifier:"SessionsCursor",description:"Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response."}),Se(e=>{let t=tr.make(e);return{make:n=>t(Kc.encode(sre(n))),parse:n=>Yt.suspend(()=>{let r=Kc.decodeString(n);return it.isFailure(r)?Yt.fail("Invalid cursor"):ire(r.success).pipe(Yt.mapError(()=>"Invalid cursor"))})}}));var SE=a.Struct({..._a.Info.fields,sessionID:di.ID,userTitle:a.NullOr(a.String),foregroundProcess:a.NullOr(a.String),size:a.Struct({cols:wt,rows:wt}),output:a.Struct({head:me,tail:me})}).annotate({identifier:"PersistentPty.Info"}),Txe=a.Struct({directory:a.String,instanceID:a.String,ticket:a.String,expiresAt:a.Number}).annotate({identifier:"PersistentPty.Handoff"}),Axe=a.Struct({command:m(a.String),args:a.Array(a.String),cwd:m(a.String),title:a.String,env:a.Record(a.String,a.String),size:m(a.Struct({cols:wt,rows:wt}))}).annotate({identifier:"PersistentPty.CreateInput"}),Rxe=a.Struct({attachmentID:m(a.String),size:m(a.Struct({cols:wt,rows:wt})),title:m(a.NullOr(a.String))}).annotate({identifier:"PersistentPty.UpdateInput"}),cre=a.Struct({info:SE,text:a.String,checkpoint:a.Uint8Array,cursor:a.Struct({x:me,y:me})}).annotate({identifier:"PersistentPty.Snapshot"}),Oxe=wt.check(a.isLessThanOrEqualTo(65535)).annotate({identifier:"PersistentPty.ReadLines"}),Cxe=a.Struct({ptyID:_a.ID,title:a.String,cwd:a.String,foregroundProcess:a.NullOr(a.String),screen:a.Struct({text:a.String,cols:wt,rows:wt,cursor:cre.fields.cursor})}).annotate({identifier:"PersistentPty.ReadResult"}),qq=le({type:"persistent-pty.added",schema:{sessionID:di.ID,terminal:SE}}),Bq=le({type:"persistent-pty.removed",schema:{sessionID:di.ID,ptyID:_a.ID}}),jq=le({type:"persistent-pty.updated",schema:{sessionID:di.ID,terminal:SE}}),Dxe={Added:qq,Removed:Bq,Updated:jq,Definitions:$e(qq,Bq,jq)};var zq=le({type:"reference.updated",schema:{}}),Nxe={Updated:zq,Definitions:$e(zq)},dre=a.Struct({type:a.Literal("local"),path:tt,description:a.String.pipe(m),hidden:a.Boolean.pipe(m)}).annotate({identifier:"Reference.LocalSource"}),ure=a.Struct({type:a.Literal("git"),repository:a.String,branch:a.String.pipe(m),description:a.String.pipe(m),hidden:a.Boolean.pipe(m)}).annotate({identifier:"Reference.GitSource"}),lre=a.Union([dre,ure]).pipe(a.toTaggedUnion("type")).annotate({identifier:"Reference.Source"}),Fxe=a.Struct({name:a.String,path:tt,description:a.String.pipe(m),hidden:a.Boolean.pipe(m),source:lre}).annotate({identifier:"Reference.Info"});var Ba={};Re(Ba,{Rpc:()=>Ba,define:()=>pre});function pre(e){let t=Object.values(e.methods).flatMap(n=>Object.keys(n.errors??{})).find(n=>n.startsWith("rpc."));if(t)throw new Error(`RPC error names starting with "rpc." are reserved: ${t}`);return e}var fre=a.Struct({current:m(a.String),default:m(a.String)}).annotate({identifier:"Vcs.Branch"}),qxe=a.Struct({provider:m(a.String),branch:fre}).annotate({identifier:"Vcs.Info"}),Bxe=a.Array(a.String).annotate({identifier:"Vcs.BranchList"}),jxe=a.Struct({name:a.String,ref:a.String,source:a.Literals(["reflog","default"])}).annotate({identifier:"Vcs.Base"}),Hxe=a.Literals(["working","branch","committed"]).annotate({identifier:"Vcs.Mode"}),zxe=a.Literals(["files","folders"]).annotate({identifier:"Vcs.Untracked"}),Wxe=a.Struct({file:a.String,additions:me,deletions:me,status:a.Literals(["added","deleted","modified"])}).annotate({identifier:"Vcs.FileStatus"});var bE=a.String.pipe(a.brand("WebSearch.ID"),a.annotate({identifier:"WebSearch.ID"})),Jxe=a.Struct({id:bE,name:a.String}).annotate({identifier:"WebSearch.Provider"}),Zxe=a.Struct({query:a.String,providerID:bE.pipe(m)}).annotate({identifier:"WebSearch.Input"}),mre=a.Struct({url:a.String,title:a.String.pipe(m),content:a.String.pipe(m),time:a.Struct({published:a.Finite.pipe(m).annotate({description:"Publication time in milliseconds since the Unix epoch"})})}).annotate({identifier:"WebSearch.Result"}),Gq=class extends a.Class("WebSearch.Response")({providerID:bE,results:a.Array(mre)}){},Vq=le({type:"websearch.updated",schema:{}}),Qxe={Updated:Vq,Definitions:$e(Vq)};var nSe=a.Trim.pipe(a.check(a.isNonEmpty()),a.brand("Worktree.StrategyID")),rSe=a.Struct({projectID:_t.ID,from:m(tt),branch:m(a.Trim.pipe(a.check(a.isNonEmpty()))),directory:m(tt).annotate({description:"Parent directory for the new worktree. Uses the project's canonical configuration, then defaults to the server's data directory under worktree/<first six project ID characters>."}),name:m(a.String)}).annotate({identifier:"Worktree.CreateInput"}),oSe=a.Struct({projectID:_t.ID,directory:tt,force:a.Boolean}).annotate({identifier:"Worktree.RemoveInput"}),sSe=a.Struct({directory:tt}).annotate({identifier:"Worktree.Info"}),hre=a.Struct({directory:tt,strategy:m(a.String)}).annotate({identifier:"Worktree.Directory"}),iSe=a.Struct({directory:tt,type:a.Literals(["root","worktree"])}).annotate({identifier:"Worktree.ListEntry"}),Zq=class extends a.TaggedError()("Worktree.OperationError",{message:a.String,forceRequired:m(a.Boolean)}){},aSe=a.Array(hre).annotate({identifier:"Worktree.List"}),Qq=le({type:"worktree.updated",schema:{projectID:_t.ID}}),Yq=Ik({type:"worktree.resolved",durable:{aggregate:"projectID",version:1},schema:{projectID:_t.ID,directory:tt,previous:_t.ID,adopted:m(a.Array(_t.ID))}}),cSe={Updated:Qq,Resolved:Yq,Definitions:$e(Qq,Yq)};import{appendFileSync as uie,existsSync as lie}from"node:fs";import{homedir as Bj}from"node:os";import{resolve as pie}from"node:path";var wr=(e,t,n)=>Math.min(n,Math.max(t,e)),jt=(e,t)=>t<=0?0:wr(e/t*100,0,100),ja=(e=Date.now())=>{let t=new Date(e);return`${t.getUTCFullYear()}-${String(t.getUTCMonth()+1).padStart(2,"0")}`},Rt=e=>{if(!Number.isFinite(e))return"$0.00";let t=Math.abs(e);return t>0&&t<.01?`$${e.toFixed(5)}`:t<1?`$${e.toFixed(4)}`:`$${e.toFixed(2)}`},Fd=e=>`${e.toFixed(e>=10?0:1)}%`,hs=(e,t)=>{if(e)return e;let n=(t??"").trim();return n?`unresolved (${n})`:"unresolved"},vE=e=>Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"0",_e=(e,t)=>`${e}/${t}`,IE=e=>{let t=e.indexOf("/");return t<=0?{providerID:e,modelID:""}:{providerID:e.slice(0,t),modelID:e.slice(t+1)}},$d=e=>e?_e(e.providerID,e.id):void 0;var gre=(e,t)=>e.length<=t?e:`${e.slice(0,Math.max(0,t-1))}\u2026`;var yre=[/bearer\s+[A-Za-z0-9._~+/=-]+/gi,/(?:sk|user|key|token)-[A-Za-z0-9_-]{12,}/gi,/\b[A-Za-z0-9_-]{32,}\b/g],$n=e=>{let t=e;for(let n of yre)t=t.replace(n,"[redacted]");return gre(t,500)},Be=e=>{if(e instanceof Error)return $n(e.message);if(typeof e=="string")return $n(e);try{return $n(JSON.stringify(e))}catch{return"Unknown error"}},Ha=e=>[...new Set(e)],eB=e=>{let t=e.toLowerCase();return t.startsWith("data:image/")?!0:/\.(png|jpe?g|gif|webp|bmp|tiff?|heic|heif|avif)$/i.test(t)},wE=e=>e?/\.(png|jpe?g|gif|webp|bmp|tiff?|heic|heif|avif)$/i.test(e):!1,kr=e=>`${e}_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`;var tB=/^\s*(?:please\s+)?(?:change|set|update|make)\b[^\n]{0,200}\b(?:color|colour|background|background-color|padding|margin|font-size|font-weight|border-radius|border-color|width|height|gap|display)\b[^\n]{0,120}\b(?:to|:)\s*(?:#[0-9a-f]{3,8}|\d+(?:\.\d+)?(?:px|rem|em|%|vh|vw|ch|fr)?|[a-z][a-z-]*)\b/i,nB=/\b(redesign|design system|visual design|design critique|design review|user experience|\bux\b|\bu[iI]\b audit|figma|mockup|wireframe|typography|color palette|colour palette|landing page design|component library|accessibility audit|a11y audit|design token|responsive layout)\b/i,xre=/\b(design|redesign|visual|layout|responsive|style|styling|css|tailwind|theme|animation|typography|colour|color|component|hover|focus|dark mode|light mode|accessibility|a11y|figma|mockup|screenshot|wireframe)\b/i,Sre=/\b(architecture|architectural|multi-tenant|multi tenant|distributed system|microservice|event-driven|schema design|database design|data model|migration|monorepo|scalab|concurrency|race condition|deadlock|memory leak|performance profiling|throughput|latency budget|production incident|cross-service|cross service|refactor across)\b/i,bre=/\b(security review|threat model|authorization model|authentication model|oauth|encryption|secrets management|vulnerability|exploit|injection|xss|csrf|privilege escalation)\b/i,vre=/\b(intermittent|flaky|only sometimes|production|regression|memory leak|deadlock|race condition|multiple services|cross-service)\b/i,Ire=[{name:"rename",pattern:/\brename\s+(?:the\s+)?[A-Za-z_$][\w$.-]*\s+to\s+[A-Za-z_$][\w$.-]*\b/i},{name:"typo",pattern:/\b(fix|correct)\s+(?:a\s+)?(?:typo|spelling|misspell(?:ing)?)\b/i},{name:"format",pattern:/\b(format|prettier|lint|eslint|clang-format|gofmt|rustfmt)\b/i},{name:"imports",pattern:/\b(sort|organize|remove unused)\s+imports?\b/i},{name:"replace",pattern:/\breplace\s+["'`].+["'`]\s+with\s+["'`].+["'`]/i},{name:"version",pattern:/\b(bump|update|change)\s+(?:the\s+)?(?:package\s+)?version\b/i},{name:"comment",pattern:/\b(add|update|fix)\s+(?:a\s+)?(?:code\s+)?(?:comment|docstring|jsdoc)\b/i},{name:"readme",pattern:/\b(update|format|fix)\s+(?:the\s+)?(?:readme|documentation|docs)\b/i},{name:"import-fix",pattern:/\b(fix|correct)\s+(?:an?\s+)?(?:import|indentation|whitespace)\b/i}],wre=/\b(all|every|everywhere|across|multiple|components|codebase|project|architecture|refactor|feature|implement|migrate|migration|responsive|theme|states?|tests?|debug|investigate|why|security|performance)\b/i,kre=/^\s*(?:please\s+)?(?:run|execute)\s+(?:the\s+)?(?:formatter|linter|lint|tests?|test suite|typecheck|type check|build|validation)\b/i,Ere=/\b(use|pick|choose)\s+(?:the\s+)?(?:best|strongest|most capable|premium)\b|\b(premium model|best model|strongest model|think hard|deep reasoning|use (?:claude )?opus|use (?:claude )?sonnet|use gpt-6|use glm-5\.3)\b/i,Tre=/\b(use|pick|choose)\s+(?:the\s+)?(?:cheapest|cheap|economy|budget)\b|\b(?:don'?t|do not|avoid|no)\s+premium\b|\bminimum cost\b|\bsave (?:quota|credits)\b/i,Are=/\b(simple|small|quick|trivial|easy|just)\b/i,Rre=e=>{let t=e.match(/```[\s\S]*?```/g)??[],n=t.reduce((r,o)=>Math.max(r,o.split(/\r?\n/).length),0);return{count:t.length,longest:n}},Ore=e=>{let t=e.match(/(?:^|[\s("'`])((?:[\w.-]+\/)*[\w.-]+\.(?:tsx?|jsx?|mjs|cjs|css|scss|sass|html|json|jsonc|md|mdx|py|go|rs|swift|kt|java|rb|php|yaml|yml|toml|sh|sql|vue|svelte))\b/gi);return Ha((t??[]).map(n=>n.trim().replace(/^["'`(]/,""))).length},Cre=e=>eB(e.uri)||wE(e.name)||wE(e.description)||/image|screenshot|photo/i.test(e.description??""),Dre=(e,t)=>{let n=e.text.toLowerCase();return t.deterministic?"deterministic":t.design?"design":t.security?"security":t.architecture?"architecture":t.debug?"debug":/\brefactor\b/.test(n)?"refactor":/\b(test|spec|coverage|vitest|jest|playwright)\b/.test(n)&&!/\blatest\b/.test(n)?"test":/\b(readme|documentation|docs|jsdoc|docstring|comment)\b/.test(n)&&e.text.length<1200?"docs":t.mechanical?"mechanical":/\b(add|implement|build|create|support|introduce|feature)\b/.test(n)?"feature":"unknown"},Bp=e=>{let t=e.text??"",n=e.files??[],r=[],o=[],s=Rre(t),i=Ore(t),c=t.replace(/```[\s\S]*?```/g," ").replace(/(?:[\w.-]+\/)+[\w.-]+\.(?:tsx?|jsx?|mjs|cjs|css|scss|sass|html|json|jsonc|md|mdx|py|go|rs|swift|kt|java|rb|php|yaml|yml|toml|sh|sql|vue|svelte)\b/gi," "),d=c.replace(/\b(?:do not|don't|never|avoid|without)\b[^.!?\n]*/gi," "),u=c.toLowerCase(),l=n.filter(Cre),p=l.length>0,f=p&&(/\b(screenshot|screen shot|figma|mockup|wireframe|visual|image|photo|design|ui)\b/i.test(t)||l.some(rt=>/screenshot|screen|figma|mockup|wireframe|image|photo|design/i.test(`${rt.name??""} ${rt.description??""}`))),g=/\n\s+at\s+\S+/.test(t)||/traceback \(most recent call last\)/i.test(t)||/\buncaught\b|\bpanic:|\bexception\b|\bstderr\b/i.test(t),b=t.length,S=e.promptTokens??Math.max(1,Math.ceil(b/4)),y=e.contextTokens??0,I=e.recentFailures??0;p&&r.push("image_input"),f&&r.push("screenshot_input"),g&&r.push("stack_trace"),s.count>0&&r.push("code_blocks"),i>1&&r.push("multiple_paths"),Are.test(c)&&r.push("self_described_simple_ignored"),I>=2&&r.push("recent_failures");let R=(c.match(/\b(responsive|theme|layout|typography|animation|keyboard navigation|loading state|error state|settings page|navbar|modal|form|button|component|accessibility|dark mode|light mode)\b/gi)??[]).length>=2&&/\b(implement|build|create|add|design|redesign|page|component|layout|ui|screen|view)\b/i.test(c),A=nB.test(c)||R||xre.test(c)&&(f||b>260)||f&&/\b(improve|fix|review|match|implement|build|polish|critique)\b/i.test(t),k=nB.test(c)&&!(tB.test(t)&&b<400)&&/\b(redesign|design system|visual design|design critique|design review|ux audit|figma|mockup|wireframe|landing page|component library|accessibility audit|typography|design token)\b/i.test(c);A&&r.push("design_intensive"),k&&r.push("sophisticated_design");let x=Sre.test(c),w=bre.test(c),E=g&&vre.test(c);x&&r.push("architecture"),w&&r.push("security"),E&&r.push("hard_debug");let T=kre.test(d)&&!/\b(add|change|implement|create|fix|refactor|update\s+the\s+code)\b/i.test(t);T&&r.push("deterministic_tooling");let _=Ire.filter(rt=>rt.pattern.test(d)),j=b<550&&s.count<=1&&s.longest<=12&&i<=2&&!g&&!wre.test(d),se=tB.test(t)&&!/\b(theme|responsive|hover|focus|active|dark mode|light mode|all|every|components?|across|states?)\b/i.test(d),he=j&&_.length>0||j&&se||T&&b<300;_.length>0&&r.push(`mechanical:${_.map(rt=>rt.name).join(",")}`),se&&r.push("narrow_css"),j&&r.push("narrow_scope");let Te={avoidPremium:Tre.test(c),requestPremium:Ere.test(c),requestEconomy:/\b(cheapest|cheap|economy|budget)\b/i.test(t)};Te.avoidPremium&&r.push("constraint:avoid_premium"),Te.requestPremium&&r.push("constraint:request_premium"),Te.requestEconomy&&r.push("constraint:request_economy");let M=2,F="medium",B=x&&/\b(architecture|multi-tenant|distributed|migration|concurrency|race condition|deadlock|memory leak|production incident)\b/i.test(t)||w||E||k||I>=2&&(A||x||w||E||/\b(debug|fix|refactor|implement)\b/i.test(t));Te.avoidPremium?(M=he&&j?1:2,o.push("User asked to avoid premium or expensive models; premium tiers are excluded."),F="high"):Te.requestPremium?(M=3,o.push("User explicitly asked for the strongest or a premium model; premium approval is still required by policy."),F="high"):B?(M=3,o.push(k?"Sophisticated design work requires a high design-capability score in addition to general intelligence.":x?"Architecture or cross-system changes materially benefit from a premium model.":w?"Security-sensitive work benefits from a premium model and stricter review.":"Intermittent or multi-component debugging can exceed standard-model reliability."),F=B&&(A||x||w||E)?"high":"medium"):T?(M=0,o.push("This is deterministic tooling work; use existing formatters, linters, tests, or type checks."),F="high"):he?(M=1,o.push(se?"A single, narrow styling change with unambiguous scope and deterministic validation.":"A narrow mechanical edit with a small, explicit scope."),F=j&&(_.length>0||se)?"high":"medium"):(M=2,o.push("Substantive engineering work stays at or above the DeepSeek V4.1 Flash intelligence floor."),F="medium"),A&&M<2&&(M=2,o.push("Design work was raised to the standard tier because economy models are not qualified for design judgment."),F="high"),f&&!A&&o.push("Screenshot input requires native image understanding.");let Ae=Dre(e,{design:A,architecture:x,security:w,debug:g||/\b(bug|error|failing|fails|broken|doesn't work|does not work|debug)\b/i.test(t),deterministic:T,mechanical:he}),Qe=y>25e4||/\b(600k|large context|long conversation|whole repository|entire repo)\b/i.test(t);Qe&&r.push("long_context");let dn={files:i+n.length,codeBlocks:s.count,longestCodeBlockLines:s.longest,hasStackTrace:g,hasImage:p,hasScreenshot:f,promptChars:b,promptTokens:S};return M===2&&F==="medium"&&/\b(simple|small|quick|trivial)\b/i.test(t)&&o.push("Self-described simplicity was ignored; the scope signals did not meet the economy-tier requirements."),{tier:M,kind:Ae,requiresVision:p,designIntensive:A,sophisticatedDesign:k,needsLongContext:Qe,confidence:F,signals:Ha(r),reasons:Ha(o),constraints:Te,scope:dn}};var rB=(e,t)=>{let n=e?.contextTokens??0,r=e?.cacheReadTokens??0,o=n>0?jt(r,n):0;return t.enabled?n>=t.recommendAtTokens?{tokens:n,cacheRead:r,cacheSharePct:o,state:"recommend_new_session",message:`This session has about ${n.toLocaleString()} context tokens. A fresh session with a short handoff will usually cost less per turn. The router will not compact or replace this conversation.`}:n>=t.warnAtTokens?{tokens:n,cacheRead:r,cacheSharePct:o,state:"watch",message:`Context is about ${n.toLocaleString()} tokens. Cache reads are cheaper than fresh input but are not free. Consider a new session for unrelated work.`}:{tokens:n,cacheRead:r,cacheSharePct:o,state:"healthy",message:`${n.toLocaleString()} context tokens; ${o.toFixed(0)}% arrived as cache reads. Cache reads are cheaper than fresh input but are not free.`}:{tokens:n,cacheRead:r,cacheSharePct:o,state:"healthy",message:"Context-health monitoring is disabled."}};var kE=e=>!Number.isFinite(e)||e<=0?2e4:Math.min(2e4,Math.floor(e*.125));var jp=e=>({compact:!1,reason:e,hardLimit:!1}),oB=e=>{let{mode:t,settings:n,contextTokens:r,effectiveWindow:o}=e;if(!n.enabled)return{compact:!1,reason:"Context management is disabled; native context handling only.",hardLimit:!1};if(r<=0)return jp("No measured context size yet.");if(o<=0)return jp("The model's accepted context window is unknown; no router-driven compaction.");let s=r+kE(o),i=o*.95,c=s>i;if(t==="native")return c?n.allowEmergencyCompaction===!1?{compact:!1,reason:"Native mode: transcript is at the verified limit, but emergency compaction is disabled.",triggerTokens:r,targetTokens:Math.floor(i),hardLimit:!0}:{compact:!0,reason:"Native mode emergency compaction: the transcript would exceed the model's verified window.",triggerTokens:r,targetTokens:Math.floor(i),hardLimit:!0}:jp("Native mode: the transcript fits the verified window.");if(t==="conservative")return c?{compact:!0,reason:"Conservative mode: compacting only because the transcript would exceed the verified window.",triggerTokens:r,targetTokens:Math.floor(i),hardLimit:!0}:jp("Conservative mode: the transcript fits the verified window; history preserved.");let u=(e.cheapestWindow&&e.cheapestWindow>0?e.cheapestWindow:o)*.95,l=Math.min(u,n.compactAtTokens>0?n.compactAtTokens:Number.POSITIVE_INFINITY);if(s<=l)return jp("Budget-optimized mode: inside the configured compact threshold.");let p=s>i;return{compact:!0,reason:p?"Budget-optimized mode: compacting to stay inside the verified window of the cheapest qualified route.":"Budget-optimized mode: compacting early to keep this session on the cheapest qualified route.",triggerTokens:r,targetTokens:Math.floor(l),hardLimit:p}};var sB=e=>{switch(e){case"native":return"Native: no router-driven compaction unless the transcript would exceed the verified window.";case"conservative":return"Conservative: history preserved; compaction only to prevent a real overflow.";case"budget-optimized":return"Budget-optimized: compacts early to keep sessions on the cheapest qualified route.";default:return"Unknown mode."}};var iB=(e,t)=>{if(t.protocol!=="anthropic")return{messages:e??[],folded:0};if(!Array.isArray(e))return{messages:e??[],folded:0};let n=0,r=!1,o=e.map((s,i)=>i===0||s===null||typeof s!="object"?{message:s,changed:!1}:s.role!=="system"?{message:s,changed:!1}:(n+=1,r=!0,{message:{...s,role:"user"},changed:!0}));return r?{messages:o.map(s=>s.message),folded:n}:{messages:e,folded:0}};var aB=e=>e.protocol==="anthropic"?"anthropic":e.protocol==="openai-compat"?"openai-compat":/claude/i.test(`${e.providerID}/${e.modelID}`)?"anthropic":"openai-compat";var My=class{entries=new Map;set(t,n){this.entries.size>=500&&!this.entries.has(t)&&this.evict(),this.entries.set(t,n)}get(t){return this.entries.get(t)}clear(t){this.entries.delete(t)}clearAll(){this.entries.clear()}size(){return this.entries.size}evict(){let t=Date.now()-6e4;for(let[n,r]of this.entries)r.at<t&&this.entries.delete(n);if(this.entries.size>=500){let n=[...this.entries.entries()].sort((r,o)=>r[1].at-o[1].at)[0];n&&this.entries.delete(n[0])}}};var EE=e=>{let t=e.now-e.windowMs,n=Math.max(t,e.activityStart??t),o=Math.min(e.windowMs,Math.max(3600*1e3,e.now-n))/(3600*1e3),s=e.windowMs/(3600*1e3),i=e.spendInWindowUsd/Math.max(.001,o),c=i*s,d=e.remainingUsd,u=d!==void 0&&c>d,l=u&&i>0?e.now+Math.max(0,d??0)/i*60*60*1e3:void 0,p=u?`At the current rate the ${e.label} allowance runs out about ${Pre(l??e.now,e.now)}.`:`At the current rate the ${e.label} allowance covers the full window.`;return{projectedUsd:c,basisHours:o,...l!==void 0?{exhaustsAt:l}:{},willExhaust:u,explanation:p}},Pre=(e,t)=>{let n=e-t;if(n<=0)return"now";let r=n/(3600*1e3);return r<1?`${Math.round(n/6e4)} minutes from now`:r<48?`${r.toFixed(1)} hours from now`:`${(r/24).toFixed(1)} days from now`},dB=e=>{let{now:t,source_:n}=e,r=t-30*864e5,o=e.hasFiveHourWindow?n.aggregate({providerID:e.providerID,since:t-18e6,until:t}):cB(t-18e6,t),s=e.hasWeeklyWindow?n.aggregate({providerID:e.providerID,since:t-6048e5,until:t}):cB(t-6048e5,t),i=n.aggregate({providerID:e.providerID,since:r,until:t}),c=n.usageByModel({since:r,until:t}).filter(f=>f.providerID===e.providerID),d=i.input+i.cacheRead+i.cacheWrite,u=d>0?i.cacheRead/d*100:0,l=Mre(n.usageEvents,e.providerID),p=[...e.hasFiveHourWindow?[{window:"5-hour",forecast:EE({windowMs:18e6,now:t,spendInWindowUsd:o.usd,...l!==void 0?{activityStart:l}:{},label:`${e.label} five-hour`})}]:[],...e.hasWeeklyWindow?[{window:"7-day",forecast:EE({windowMs:6048e5,now:t,spendInWindowUsd:s.usd,...l!==void 0?{activityStart:l}:{},label:`${e.label} seven-day`})}]:[],{window:"monthly",forecast:EE({windowMs:30*864e5,now:t,spendInWindowUsd:i.usd,...l!==void 0?{activityStart:l}:{},...e.remainingMonthlyUsd!==void 0?{remainingUsd:e.remainingMonthlyUsd}:{},label:`${e.label} monthly`})}];return{providerID:e.providerID,label:e.label,plan:e.plan,source:e.source,...e.quotaState?{quotaState:e.quotaState}:{},fiveHour:o,weekly:s,monthly:i,cacheSharePct:u,byModel:c,forecasts:p,notes:[...e.notes,e.hasFiveHourWindow?"This plan meters a five-hour window.":"This plan has no five-hour window; that row is not a limit being ignored."]}},cB=(e,t)=>({since:e,until:t,requests:0,input:0,output:0,cacheRead:0,cacheWrite:0,usd:0,failures:0,latencyMsTotal:0,latencySamples:0}),Mre=(e,t)=>{let n;for(let r of e)r.providerID===t&&(n===void 0||r.at<n)&&(n=r.at);return n};var _o=new Set(["deepseek-v4.1-flash","mimo-v2.6-flash","mimo-v2.6-pro","hy4-preview","deepseek-v4-flash","deepseek-v4-flash-vision-exp","deepseek-v4-pro","glm-5.3-flash","kimi-k2.7-code","claude-haiku-5.5","glm-5.3-flashx","gpt-6-luna","minimax-m3.1-flash"]),cr="design-plan",Er="plan-models",_y=(e,t,n,r,o,s,i,c,d=[])=>{let u=[];return r>0&&u.push({id:cr,label:"Design Plan credits",monthlyUsd:r,...s!==void 0?{weeklyUsd:s}:{},...i!==void 0?{fiveHourUsd:i}:{},resetKind:"fixed-7-day",drawOrder:1,note:i===void 0?"Seven-day ceiling nested inside the monthly maximum. Used before plan model credits.":"Five-hour and seven-day ceilings nested inside the monthly maximum. Used before plan model credits."}),o>0&&u.push({id:Er,label:"Plan model credits",monthlyUsd:o,resetKind:"billing-cycle",drawOrder:2,note:"No five-hour or seven-day window. Funds plan models directly, and Design Plan models once their own credits are exhausted. Design Plan multipliers do not carry over to this pool."}),{providerID:"opendesign",planID:e,label:t,monthlyPriceUsd:n,pools:u,...c>0?{concurrency:c}:{},notes:["Credits are not cash and are not a fixed request count.","Design Plan credits and plan model credits are separate pools, but they do spill: on Plus, Pro and Max, Design Plan usage draws from plan model credits once the Design Plan allowance is spent. Go has no plan model credits, so a spent window means waiting for the reset.","The seven-day Design Plan window starts when the subscription starts and repeats every seven days. It is not a rolling window and does not align to Monday or the first of the month.","Plan model credits have no five-hour or seven-day window; they are granted and reset per billing cycle.","Unused subscription credits do not roll over.",...d]}},_re=[_y("go","OpenDesign Go",10,120,0,30,10,10,["Go includes Design Plan credits only and no plan model credits."]),_y("plus","OpenDesign Plus",20,160,20,40,void 0,20,["Plus has a seven-day Design Plan window and no five-hour window."]),_y("pro","OpenDesign Pro",100,360,120,90,void 0,30,["Pro has a seven-day Design Plan window and no five-hour window.","The $120 plan model pool currently carries a limited-time promotional bonus and resets per billing cycle."]),_y("max","OpenDesign Max",200,600,300,150,void 0,30,["Max has a seven-day Design Plan window and no five-hour window."])],Ure={"deepseek-v4.1-flash":80,"deepseek-v4-pro":15,"glm-5.3-flash":60,"glm-5.3":15,"glm-5.2":60,"minimax-m3.1-flash":20,"mimo-v2.6-flash":60,"mimo-v2.6-pro":15,"claude-haiku-5-5":15,"gpt-6-luna":15,"gpt-6-luna-high":15,"kimi-k3":15,"kimi-k3.1-pro":15,"kimi-k2.7-code":60,"grok-4.7":15,"qwen3.8-max":15,"qwen3.8-flash":30,"step-5-preview":15,"longcat-2.0":60,hy3:60,"hy4-preview":30,"gemini-4-argon":30},Nre={"deepseek-v4.1-flash":160,"deepseek-v4-pro":60,"glm-5.3-flash":180,"glm-5.3":120,"glm-5.2":180,"minimax-m3.1-flash":80,"mimo-v2.6-flash":120,"mimo-v2.6-pro":60,"claude-haiku-5-5":60,"gpt-6-luna":60,"kimi-k3":60,"kimi-k3.1-pro":60,"kimi-k2.7-code":180,"grok-4.7":60,"qwen3.8-max":60,"qwen3.8-flash":90,"step-5-preview":60,"longcat-2.0":240,hy3:240,"hy4-preview":120,"gemini-4-argon":120},uB=(e,t,n,r)=>({providerID:"opencode-go",planID:e,label:t,monthlyPriceUsd:n,pools:[{id:"per-model",label:"Per-model monthly allowances",monthlyUsd:Object.values(r).reduce((o,s)=>o+s,0),resetKind:"billing-cycle",drawOrder:1,note:"Each model has its own monthly dollar allowance. The five-hour and weekly ceilings are percentages of that model's allowance, not separate credit."}],perModelMonthlyUsd:r,perModelWindowRule:{fiveHourPct:20,weeklyPct:50},notes:["Allowances are per model and do not pool across models.","Token prices are identical on Go, Go Plus and Go Teams; only the allowances differ."]}),Fre=[{providerID:"commandcode",planID:"goat",label:"Command Code GOAT",monthlyPriceUsd:10,pools:[{id:"monthly",label:"GOAT monthly credits",monthlyUsd:70,weeklyUsd:35,fiveHourUsd:14,resetKind:"billing-cycle",drawOrder:1,note:"One shared pool with five-hour and weekly ceilings nested inside the monthly maximum."}],notes:["Read from Command Code's read-only account endpoints; the account response is authoritative."]}],$re=[..._re,uB("go","OpenCode Go",10,Ure),uB("go-plus","OpenCode Go Plus",40,Nre),...Fre],TE=new Map($re.map(e=>[`${e.providerID}/${e.planID}`,e])),Lre={opendesign:"pro","opencode-go":"go",commandcode:"goat"};var qre={"opendesign/go-plus":"plus","opendesign/max-plan":"max","opencode-go/goplus":"go-plus","opencode-go/go+":"go-plus"},Uy=(e,t)=>{let n=(t??"").trim().toLowerCase();if(n){let o=qre[`${e}/${n}`];if(o){let i=TE.get(`${e}/${o}`);if(i)return{plan:i,resolution:"alias",planID:i.planID}}let s=TE.get(`${e}/${n}`);return s?{plan:s,resolution:"exact",planID:s.planID}:{plan:void 0,resolution:"unknown",planID:void 0}}let r=Lre[e];return{plan:r?TE.get(`${e}/${r}`):void 0,resolution:r?"default":"unknown",planID:r}},co=(e,t)=>Uy(e,t).plan;var lB=(e,t)=>e.providerID!=="opendesign"?!1:!_o.has(t);var pB=(e,t)=>{let n=e.perModelMonthlyUsd;return n?n[t]??0:0};import{existsSync as Bre,readFileSync as jre}from"node:fs";import{homedir as Hre}from"node:os";var AE={enabled:!1,model:{model:"qwen3.5:4b-q4_K_M",baseURL:"http://127.0.0.1:11434",contextTokens:8192,maxOutputTokens:2048,concurrency:1,keepAliveMinutes:5,vision:!0,tools:!0}},RE=e=>{let t;try{t=new URL(e)}catch{return!1}let n=t.hostname.toLowerCase();return!!(n==="localhost"||n==="::1"||n==="[::1]"||/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(n))},OE=4096;var Ld="ollama",CE=(e,t)=>t==="online"?!0:e===Ld;import{join as fB}from"node:path";var DE=e=>{let t=new Set;if(!St(e))return t;let n=e.providers;if(!St(n))return t;for(let[r,o]of Object.entries(n))St(o)&&typeof o.enabled=="boolean"&&t.add(r);return t},zp=(e,t={})=>({enabled:!0,plan:e,reserveMonthlyPct:10,reserveWeeklyPct:15,reserveFiveHourPct:10,allowExtraUsage:!1,probeUsage:!0,...t}),gB={enabled:!0,mode:"balanced",dryRun:!1,providers:{"opencode-go":zp("go"),commandcode:zp("goat",{probeUsage:!0,monthlyCreditsUsd:70,fiveHourCapUsd:14,weeklyCapUsd:35}),ollama:zp("local",{probeUsage:!1,allowExtraUsage:!1}),opendesign:zp("pro",{enabled:!1,probeUsage:!0,reserveMonthlyPct:5,reserveWeeklyPct:10,reserveFiveHourPct:0,allowExtraUsage:!1,subscriptionOnly:!0,providerScopedQuota:!0,ignoreFiveHourWindow:!0})},privacy:{allowTrainingModels:!1,allowFreeModels:!1,requireZdr:!1},premium:{mode:"auto",monthlyBudgetUsd:120,oneShotApproval:!0},routing:{intelligenceFloor:39.5,designFloor:60,sophisticatedDesignFloor:75,switchHysteresisPct:20,largeContextTokens:3e5,largeContextHysteresisPct:35,maxEscalationsPerTask:2,preferSameProvider:!0,failClosed:!1,protectEscalationPool:!0,longContextFloorTokens:1e6,calibrateFloor:!1},quota:{probeOpenCodeGo:!0,probeCommandCode:!0,probeOpenDesign:!0,probeIntervalMinutes:5,bootstrapSessions:100,bootstrapDays:31},contextHealth:{enabled:!0,warnAtTokens:4e5,recommendAtTokens:7e5},contextManagement:{mode:"native",enabled:!0,compactAtTokens:0,cooldownMinutes:10,allowEmergencyCompaction:!0},speed:{enabled:!0,weightPct:15,minSamples:3,slowRouteMultiple:2.5},ui:{notifications:!0,compactMode:!1,compact:!1},logging:{storePromptText:!1,decisionLogSize:100,diagnostics:!0},models:{approved:[],excluded:[],tierOverrides:{},definitions:[]},offline:AE},Ny=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()!==""){let t=Number(e);if(Number.isFinite(t))return t}},PE=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t=Date.parse(e);if(Number.isFinite(t))return t}},St=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ge=(e,t,n,r)=>e===void 0?t:typeof e=="boolean"?e:(n.push(`${r} must be a boolean; using ${t}`),t),ze=(e,t,n,r,o,s)=>{if(e===void 0)return t;if(typeof e!="number"||!Number.isFinite(e))return n.push(`${r} must be a finite number; using ${t}`),t;let i=Math.min(s,Math.max(o,e));return i!==e&&n.push(`${r} was clamped to ${i}`),i},Hp=(e,t,n,r)=>e===void 0?t:typeof e=="string"&&e.trim().length>0?e.trim():(n.push(`${r} must be a non-empty string; using ${t}`),t),Kp=(e,t,n,r,o)=>e===void 0?n:typeof e=="string"&&t.includes(e)?e:(r.push(`${o} must be one of ${t.join(", ")}; using ${n}`),n),mB=(e,t,n,r)=>e===void 0?t:!Array.isArray(e)||e.some(o=>typeof o!="string")?(n.push(`${r} must be an array of strings; using the previous value`),t):[...new Set(e.map(o=>o.trim()).filter(Boolean))],zre=(e,t,n,r)=>St(e)?{enabled:Ge(e.enabled,t.enabled,n,`${r}.enabled`),plan:Hp(e.plan,t.plan,n,`${r}.plan`),reserveMonthlyPct:ze(e.reserveMonthlyPct,t.reserveMonthlyPct,n,`${r}.reserveMonthlyPct`,0,90),reserveWeeklyPct:ze(e.reserveWeeklyPct,t.reserveWeeklyPct,n,`${r}.reserveWeeklyPct`,0,90),reserveFiveHourPct:ze(e.reserveFiveHourPct,t.reserveFiveHourPct,n,`${r}.reserveFiveHourPct`,0,90),allowExtraUsage:Ge(e.allowExtraUsage,t.allowExtraUsage,n,`${r}.allowExtraUsage`),probeUsage:Ge(e.probeUsage,t.probeUsage,n,`${r}.probeUsage`),monthlyCreditsUsd:e.monthlyCreditsUsd===void 0?t.monthlyCreditsUsd:ze(e.monthlyCreditsUsd,t.monthlyCreditsUsd??0,n,`${r}.monthlyCreditsUsd`,0,1e6),fiveHourCapUsd:e.fiveHourCapUsd===void 0?t.fiveHourCapUsd:ze(e.fiveHourCapUsd,t.fiveHourCapUsd??0,n,`${r}.fiveHourCapUsd`,0,1e6),weeklyCapUsd:e.weeklyCapUsd===void 0?t.weeklyCapUsd:ze(e.weeklyCapUsd,t.weeklyCapUsd??0,n,`${r}.weeklyCapUsd`,0,1e6),credentialPath:e.credentialPath===void 0?t.credentialPath:Hp(e.credentialPath,t.credentialPath??"",n,`${r}.credentialPath`)||void 0,credentialSource:e.credentialSource===void 0?t.credentialSource:Kp(e.credentialSource,["explicit","auto","off"],t.credentialSource??"explicit",n,`${r}.credentialSource`),baseURL:e.baseURL===void 0?t.baseURL:Hp(e.baseURL,t.baseURL??"",n,`${r}.baseURL`)||void 0,controlBaseURL:e.controlBaseURL===void 0?t.controlBaseURL:Hp(e.controlBaseURL,t.controlBaseURL??"",n,`${r}.controlBaseURL`)||void 0,controlKeyPath:e.controlKeyPath===void 0?t.controlKeyPath:Hp(e.controlKeyPath,t.controlKeyPath??"",n,`${r}.controlKeyPath`)||void 0,baseline:(()=>{if(e.baseline===void 0)return t.baseline;if(!St(e.baseline))return n.push(`${r}.baseline must be an object; ignoring it`),t.baseline;let o=PE(e.baseline.at);if(o===void 0)return n.push(`${r}.baseline.at must be a timestamp; ignoring the baseline`),t.baseline;let s=Ny(e.baseline.designPlanUsedUsd),i=Ny(e.baseline.planModelsUsedUsd),c=Ny(e.baseline.designPlanUsedPct),d=Ny(e.baseline.planModelsUsedPct),u=e.baseline.pctOf,l=u==="weekly"||u==="monthly"?u:void 0;u!==void 0&&l===void 0&&n.push(`${r}.baseline.pctOf must be "weekly" or "monthly"; defaulting to weekly`);let p=S=>S===void 0?void 0:Math.min(100,Math.max(0,S));if(s===void 0&&i===void 0&&c===void 0&&d===void 0)return n.push(`${r}.baseline needs a figure: designPlanUsedUsd, designPlanUsedPct, planModelsUsedUsd or planModelsUsedPct`),t.baseline;if(o>Date.now())return n.push(`${r}.baseline.at is in the future; ignoring the baseline`),t.baseline;let f=PE(e.baseline.weeklyResetsAt),g=PE(e.baseline.monthlyResetsAt),b=typeof e.baseline.source=="string"?e.baseline.source.trim():void 0;return{at:o,...s!==void 0?{designPlanUsedUsd:Math.max(0,s)}:{},...i!==void 0?{planModelsUsedUsd:Math.max(0,i)}:{},...p(c)!==void 0?{designPlanUsedPct:p(c)}:{},...p(d)!==void 0?{planModelsUsedPct:p(d)}:{},...l?{pctOf:l}:{},...f!==void 0?{weeklyResetsAt:f}:{},...g!==void 0?{monthlyResetsAt:g}:{},...b?{source:b}:{}}})(),subscriptionOnly:e.subscriptionOnly===void 0?t.subscriptionOnly:Ge(e.subscriptionOnly,t.subscriptionOnly??!0,n,`${r}.subscriptionOnly`),creditsPerUsd:e.creditsPerUsd===void 0?t.creditsPerUsd:ze(e.creditsPerUsd,t.creditsPerUsd??1e4,n,`${r}.creditsPerUsd`,1,1e7),uncertaintyMarginPct:e.uncertaintyMarginPct===void 0?t.uncertaintyMarginPct:ze(e.uncertaintyMarginPct,t.uncertaintyMarginPct??20,n,`${r}.uncertaintyMarginPct`,0,500),unknownQuotaPolicy:e.unknownQuotaPolicy===void 0?t.unknownQuotaPolicy:Kp(e.unknownQuotaPolicy,["route","block","ask"],t.unknownQuotaPolicy??"route",n,`${r}.unknownQuotaPolicy`),multiplierOverrides:e.multiplierOverrides===void 0?t.multiplierOverrides:Wre(e.multiplierOverrides,t.multiplierOverrides,n,`${r}.multiplierOverrides`),providerScopedQuota:e.providerScopedQuota===void 0?t.providerScopedQuota:Ge(e.providerScopedQuota,t.providerScopedQuota??!1,n,`${r}.providerScopedQuota`),ignoreFiveHourWindow:e.ignoreFiveHourWindow===void 0?t.ignoreFiveHourWindow:Ge(e.ignoreFiveHourWindow,t.ignoreFiveHourWindow??!1,n,`${r}.ignoreFiveHourWindow`),ignoreWeeklyWindow:e.ignoreWeeklyWindow===void 0?t.ignoreWeeklyWindow:Ge(e.ignoreWeeklyWindow,t.ignoreWeeklyWindow??!1,n,`${r}.ignoreWeeklyWindow`)}:(n.push(`${r} must be an object; using defaults`),t),Wp=e=>typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0,Wre=(e,t,n,r)=>{if(e===void 0)return t;if(!St(e))return n.push(`${r} must be an object; using the previous value`),t;let o={...t??{}};for(let[s,i]of Object.entries(e)){let c=Wp(i);if(c===void 0||c<=0){n.push(`${r}.${s} must be a positive number; the entry was ignored`);continue}o[s]=c}return o},Kre=(e,t,n)=>{if(!Array.isArray(e)||e.length===0)return n.push(`models.definitions[${t}].cost must contain at least one tier; definition ignored`),[];let r=[];return e.forEach((o,s)=>{if(!St(o)){n.push(`models.definitions[${t}].cost[${s}] must be an object; ignored`);return}let i=Wp(o.input),c=Wp(o.output);if(i===void 0||c===void 0){n.push(`models.definitions[${t}].cost[${s}] needs non-negative finite input and output; ignored`);return}let d=St(o.cache)?o.cache:void 0;r.push({input:i,output:c,cache:{read:Wp(d?.read)??0,write:Wp(d?.write)??0}})}),r},Gre=(e,t)=>{if(e===void 0)return[];if(!Array.isArray(e))return t.push("models.definitions must be an array; ignored"),[];let n=[];return e.forEach((r,o)=>{if(!St(r)){t.push(`models.definitions[${o}] must be an object; ignored`);return}let s=typeof r.key=="string"?r.key.trim():"",i=typeof r.providerID=="string"?r.providerID.trim():"",c=typeof r.modelID=="string"?r.modelID.trim():"",d=typeof r.name=="string"?r.name.trim():c,u=r.tier===1||r.tier===2||r.tier===3?r.tier:0;if(!s||!i||!c||!u){t.push(`models.definitions[${o}] needs key, providerID, modelID, and tier 1-3; ignored`);return}let l=Array.isArray(r.input)&&r.input.every(f=>typeof f=="string")?r.input:["text"],p=Kre(r.cost,o,t);p.length!==0&&n.push({key:s,providerID:i,modelID:c,name:d,context:Math.max(1,Number(r.context)||0),maxOutput:Math.max(1,Number(r.maxOutput)||0),input:l,cost:p,intelligence:Math.max(0,Number(r.intelligence)||0),design:Math.max(0,Number(r.design)||0),premium:r.premium===!0,training:r.training===!0,free:r.free===!0,tier:u,approved:r.approved!==!1,monthlyAllowanceUsd:Math.max(0,Number(r.monthlyAllowanceUsd)||0)})}),n},Vre=(e,t,n)=>{if(e===void 0)return t;if(!St(e))return n.push("models must be an object; using defaults"),t;let r={...t.tierOverrides};if(e.tierOverrides!==void 0)if(!St(e.tierOverrides))n.push("models.tierOverrides must be an object; using the previous value");else for(let[o,s]of Object.entries(e.tierOverrides))s===1||s===2||s===3?r[o]=s:n.push(`models.tierOverrides.${o} must be 1, 2, or 3; ignored`);return{approved:mB(e.approved,t.approved,n,"models.approved"),excluded:mB(e.excluded,t.excluded,n,"models.excluded"),tierOverrides:r,definitions:Gre(e.definitions,n)}},Gp=(e,t=gB)=>{let n=[];if(!St(e))return{settings:t,warnings:["settings must be a JSON object"],sources:[],explicitProviderEnable:new Set};let r={...t.providers};if(e.providers!==void 0)if(!St(e.providers))n.push("providers must be an object; using defaults");else for(let[T,_]of Object.entries(e.providers))r[T]=zre(_,r[T]??zp("custom"),n,`providers.${T}`);let o=St(e.privacy)?e.privacy:{},s={allowTrainingModels:Ge(o.allowTrainingModels,t.privacy.allowTrainingModels,n,"privacy.allowTrainingModels"),allowFreeModels:Ge(o.allowFreeModels,t.privacy.allowFreeModels,n,"privacy.allowFreeModels"),requireZdr:Ge(o.requireZdr,t.privacy.requireZdr,n,"privacy.requireZdr")},i=St(e.premium)?e.premium:{},c={mode:Kp(i.mode,["off","ask","allowed","auto"],t.premium.mode,n,"premium.mode"),monthlyBudgetUsd:ze(i.monthlyBudgetUsd,t.premium.monthlyBudgetUsd,n,"premium.monthlyBudgetUsd",0,1e5),oneShotApproval:Ge(i.oneShotApproval,t.premium.oneShotApproval,n,"premium.oneShotApproval")},d=St(e.routing)?e.routing:{},u={intelligenceFloor:ze(d.intelligenceFloor,t.routing.intelligenceFloor,n,"routing.intelligenceFloor",0,100),designFloor:ze(d.designFloor,t.routing.designFloor,n,"routing.designFloor",0,100),sophisticatedDesignFloor:ze(d.sophisticatedDesignFloor,t.routing.sophisticatedDesignFloor,n,"routing.sophisticatedDesignFloor",0,100),switchHysteresisPct:ze(d.switchHysteresisPct,t.routing.switchHysteresisPct,n,"routing.switchHysteresisPct",0,100),largeContextTokens:ze(d.largeContextTokens,t.routing.largeContextTokens,n,"routing.largeContextTokens",1e4,5e6),largeContextHysteresisPct:ze(d.largeContextHysteresisPct,t.routing.largeContextHysteresisPct,n,"routing.largeContextHysteresisPct",0,100),maxEscalationsPerTask:ze(d.maxEscalationsPerTask,t.routing.maxEscalationsPerTask,n,"routing.maxEscalationsPerTask",0,5),preferSameProvider:Ge(d.preferSameProvider,t.routing.preferSameProvider,n,"routing.preferSameProvider"),failClosed:Ge(d.failClosed,t.routing.failClosed,n,"routing.failClosed"),protectEscalationPool:Ge(d.protectEscalationPool,t.routing.protectEscalationPool,n,"routing.protectEscalationPool"),longContextFloorTokens:ze(d.longContextFloorTokens,t.routing.longContextFloorTokens,n,"routing.longContextFloorTokens",1e4,1e7),calibrateFloor:Ge(d.calibrateFloor,t.routing.calibrateFloor??!1,n,"routing.calibrateFloor")},l=St(e.quota)?e.quota:{},p={probeOpenCodeGo:Ge(l.probeOpenCodeGo,t.quota.probeOpenCodeGo,n,"quota.probeOpenCodeGo"),probeCommandCode:Ge(l.probeCommandCode,t.quota.probeCommandCode,n,"quota.probeCommandCode"),probeOpenDesign:Ge(l.probeOpenDesign,t.quota.probeOpenDesign,n,"quota.probeOpenDesign"),probeIntervalMinutes:ze(l.probeIntervalMinutes,t.quota.probeIntervalMinutes,n,"quota.probeIntervalMinutes",0,1440),bootstrapSessions:ze(l.bootstrapSessions,t.quota.bootstrapSessions,n,"quota.bootstrapSessions",0,500),bootstrapDays:ze(l.bootstrapDays,t.quota.bootstrapDays,n,"quota.bootstrapDays",0,365)},f=St(e.contextHealth)?e.contextHealth:{},g={enabled:Ge(f.enabled,t.contextHealth.enabled,n,"contextHealth.enabled"),warnAtTokens:ze(f.warnAtTokens,t.contextHealth.warnAtTokens,n,"contextHealth.warnAtTokens",1e4,1e7),recommendAtTokens:ze(f.recommendAtTokens,t.contextHealth.recommendAtTokens,n,"contextHealth.recommendAtTokens",1e4,1e7)},b=St(e.ui)?e.ui:{},S=Ge(b.compactMode??b.compact??e.compactMode??e.compact,t.ui.compactMode||t.ui.compact,n,"ui.compactMode"),y={notifications:Ge(b.notifications,t.ui.notifications,n,"ui.notifications"),compactMode:S,compact:S},I=St(e.logging)?e.logging:{},v={storePromptText:Ge(I.storePromptText,t.logging.storePromptText,n,"logging.storePromptText"),decisionLogSize:ze(I.decisionLogSize,t.logging.decisionLogSize,n,"logging.decisionLogSize",10,2e3),diagnostics:Ge(I.diagnostics,t.logging.diagnostics,n,"logging.diagnostics")},R=St(e.contextManagement)?e.contextManagement:{},A={mode:Kp(R.mode,["native","conservative","budget-optimized"],t.contextManagement.mode,n,"contextManagement.mode"),enabled:Ge(R.enabled,t.contextManagement.enabled,n,"contextManagement.enabled"),compactAtTokens:ze(R.compactAtTokens,t.contextManagement.compactAtTokens,n,"contextManagement.compactAtTokens",0,1e7),cooldownMinutes:ze(R.cooldownMinutes,t.contextManagement.cooldownMinutes,n,"contextManagement.cooldownMinutes",1,1440),allowEmergencyCompaction:Ge(R.allowEmergencyCompaction,t.contextManagement.allowEmergencyCompaction,n,"contextManagement.allowEmergencyCompaction")},k=St(e.speed)?e.speed:{},x={enabled:Ge(k.enabled,t.speed.enabled,n,"speed.enabled"),weightPct:ze(k.weightPct,t.speed.weightPct,n,"speed.weightPct",0,100),minSamples:ze(k.minSamples,t.speed.minSamples,n,"speed.minSamples",1,500),slowRouteMultiple:ze(k.slowRouteMultiple,t.speed.slowRouteMultiple,n,"speed.slowRouteMultiple",1,20)};A.mode==="budget-optimized"&&A.compactAtTokens<=0&&n.push("contextManagement.mode is budget-optimized but compactAtTokens is 0; only the cheapest route's verified window will trigger compaction");let w=Jre(e.offline,t.offline,n),E={enabled:Ge(e.enabled,t.enabled,n,"enabled"),mode:Kp(e.mode,["efficiency","balanced","premium"],t.mode,n,"mode"),dryRun:Ge(e.dryRun,t.dryRun,n,"dryRun"),compactMode:S,compact:S,providers:r,privacy:s,premium:c,routing:u,quota:p,contextHealth:g,contextManagement:A,speed:x,ui:y,logging:v,models:Vre(e.models,t.models,n),offline:w};return E.premium.mode==="allowed"&&E.premium.monthlyBudgetUsd<=0&&n.push("premium.mode is allowed but premium.monthlyBudgetUsd is 0; premium remains unavailable"),{settings:E,warnings:n,sources:[],explicitProviderEnable:new Set}},Jre=(e,t,n)=>{let r=t??AE;if(e===void 0)return r;if(!St(e))return n.push("offline must be an object; using defaults"),r;let o=St(e.model)?e.model:{},s=r.model,i=typeof o.baseURL=="string"&&o.baseURL.trim()?o.baseURL.trim():s.baseURL;RE(i)||n.push(`offline.model.baseURL ${i} is not a loopback address; using ${s.baseURL}. Offline mode must not reach a routable endpoint.`);let c=typeof o.model=="string"&&o.model.trim()?o.model.trim():s.model,d=ze(o.contextTokens,s.contextTokens,n,"offline.model.contextTokens",1024,131072);d<OE&&n.push(`offline.model.contextTokens is ${d}, below the ${OE} needed for a screenshot-driven edit`);let u=e.modelStorePath,l;return typeof u=="string"&&u.trim()?l=u.trim():u!==void 0&&n.push("offline.modelStorePath must be a non-empty string; ignored"),{enabled:Ge(e.enabled,r.enabled,n,"offline.enabled"),...l?{modelStorePath:l}:{},model:{model:c,baseURL:RE(i)?i:s.baseURL,contextTokens:d,maxOutputTokens:ze(o.maxOutputTokens,s.maxOutputTokens,n,"offline.model.maxOutputTokens",128,32768),concurrency:ze(o.concurrency,s.concurrency,n,"offline.model.concurrency",1,4),keepAliveMinutes:ze(o.keepAliveMinutes,s.keepAliveMinutes,n,"offline.model.keepAliveMinutes",0,120),vision:Ge(o.vision,s.vision,n,"offline.model.vision"),tools:Ge(o.tools,s.tools,n,"offline.model.tools")}}},Zre=(e,t,n)=>{let r=Gp(t,e).settings,o={...r,enabled:e.enabled&&r.enabled,privacy:{allowTrainingModels:e.privacy.allowTrainingModels&&r.privacy.allowTrainingModels,allowFreeModels:e.privacy.allowFreeModels&&r.privacy.allowFreeModels,requireZdr:e.privacy.requireZdr||r.privacy.requireZdr},premium:{...r.premium,mode:e.premium.mode==="off"||r.premium.mode==="off"?"off":e.premium.mode==="ask"||r.premium.mode==="ask"?"ask":e.premium.mode==="auto"&&r.premium.mode==="auto"?"auto":"allowed",monthlyBudgetUsd:Math.min(e.premium.monthlyBudgetUsd,r.premium.monthlyBudgetUsd)},providers:Object.fromEntries(Object.entries(r.providers).map(([s,i])=>{let c=e.providers[s];return c?[s,{...i,enabled:c.enabled&&i.enabled,allowExtraUsage:c.allowExtraUsage&&i.allowExtraUsage}]:[s,{...i,enabled:!1,allowExtraUsage:!1}]}))};return r.privacy.allowTrainingModels&&!e.privacy.allowTrainingModels&&n.push("Project config tried to enable training models; global privacy setting kept it disabled"),(r.premium.mode==="allowed"||r.premium.mode==="auto")&&e.premium.mode!==r.premium.mode&&n.push("Project config tried to enable automatic premium routing; global setting kept it restricted"),o},hB=(e,t)=>{if(Bre(e))try{return JSON.parse(jre(e,"utf8"))}catch(n){t.push(`Could not read ${e}: ${n instanceof Error?n.message:String(n)}`);return}},Fy=(e={})=>{let t=[],n=[],r=e.home??Hre(),o=fB(r,".config","opencode","smart-router.json"),s=gB,i=new Set;if(e.options!==void 0){let u=Gp(e.options,s);s=u.settings,t.push(...u.warnings),n.push("plugin options");for(let l of DE(e.options))i.add(l)}let c=hB(o,t);if(c!==void 0){let u=Gp(c,s);s=u.settings,t.push(...u.warnings),n.push(o);for(let l of DE(c))i.add(l)}let d=e.projectDirectory??e.directory;if(d){let u=fB(d,".opencode","smart-router.json"),l=hB(u,t);if(l!==void 0){s=Zre(s,l,t),n.push(u);for(let p of DE(l))i.add(p)}}return{settings:s,warnings:t,sources:n,explicitProviderEnable:i}};import{chmodSync as Qre,copyFileSync as Yre,existsSync as yB,mkdirSync as Xre,readdirSync as eoe,readFileSync as toe,renameSync as noe,unlinkSync as roe,writeFileSync as ooe}from"node:fs";import{homedir as soe}from"node:os";import{dirname as xB,join as SB}from"node:path";var ioe=(e=soe())=>SB(e,".config","opencode","smart-router.json"),Vp=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),bB=(e,t)=>{if(!Vp(t))return t;let n=Vp(e)?{...e}:{};for(let[r,o]of Object.entries(t))o!==void 0&&(n[r]=Vp(o)?bB(n[r],o):o);return n},vB=(e,t="")=>Vp(e)?Object.entries(e).flatMap(([n,r])=>Vp(r)?vB(r,t?`${t}.${n}`:n):[t?`${t}.${n}`:n]):t?[t]:[],aoe=(e,t=5)=>{try{let n=xB(e),r=e.slice(n.length+1),o=eoe(n).filter(s=>s.startsWith(`${r}.bak-`)).sort();for(let s of o.slice(0,Math.max(0,o.length-t)))roe(SB(n,s))}catch{}},IB=e=>{let t=e.path??ioe(e.home),n=e.now??Date.now,r={};if(yB(t)){let d=toe(t,"utf8");try{r=JSON.parse(d)}catch(u){throw new Error(`Existing config is not valid JSON (${u.message}); refusing to overwrite it`)}}let o=bB(r,e.patch),s=e.validate?.(o);if(s)throw new Error(s);Xre(xB(t),{recursive:!0});let i;yB(t)&&(i=`${t}.bak-${new Date(n()).toISOString().replace(/[:.]/g,"-")}`,Yre(t,i));let c=`${t}.tmp-${process.pid}`;return ooe(c,`${JSON.stringify(o,null,2)}
|
|
28
|
+
`,{mode:384}),Qre(c,384),noe(c,t),aoe(t),{path:t,changed:vB(e.patch),...i?{backup:i}:{}}};var wB=(e,t=Date.now())=>{let n=e.trim().toLowerCase();if(!n)return;let r=/(\d+)\s*d/.exec(n)?.[1],o=/(\d+)\s*h/.exec(n)?.[1],s=/(\d+)\s*m/.exec(n)?.[1];if(r===void 0&&o===void 0&&s===void 0){let u=Date.parse(e);return Number.isFinite(u)?u:void 0}let i=Number(r??0),c=Number(o??0),d=Number(s??0);if(i+c+d!==0)return t+((i*24+c)*60+d)*6e4};var coe=e=>e.replace(/\r\n?/g,`
|
|
29
29
|
`).replace(/[ \t\u00a0]+/g," ").replace(/\n{3,}/g,`
|
|
30
30
|
|
|
31
|
-
`),Jp=e=>{if(e===void 0)return;let t=e.replace(/,/g,"".replace(/x/,"")),n=Number(t);return Number.isFinite(n)?n:void 0},
|
|
31
|
+
`),Jp=e=>{if(e===void 0)return;let t=e.replace(/,/g,"".replace(/x/,"")),n=Number(t);return Number.isFinite(n)?n:void 0},doe=[/Design Plan credits/i,/Pay-as-you-go credits/i,/Credit breakdown/i,/Auto top-up/i,/Top up/i,/Reset cards/i,/Manage subscription/i,/Total/i],uoe=(e,t,n=200)=>{let r=t.exec(e);if(!r)return;let o=e.slice(r.index+r[0].length),s=Math.min(o.length,n);for(let c of doe){if(c.source===t.source)continue;let d=c.exec(o);d&&d.index>0&&(s=Math.min(s,d.index))}let i=o.indexOf(`
|
|
32
32
|
|
|
33
|
-
`);return i>0&&(s=Math.min(s,i)),o.slice(0,s)},
|
|
34
|
-
`).map(v=>v.trim()).filter(Boolean),r=[],o,s=[],i,c=()=>{if(!o||s.length===0&&i===void 0){o=void 0,s=[],i=void 0;return}let v=s.filter(I=>I>=1e3);r.push({modelName:o,...i!==void 0?{chargedUsd:i}:{},...v[0]!==void 0?{inputTokens:v[0]}:{},...v[1]!==void 0?{outputTokens:v[1]}:{},...v[2]!==void 0?{cacheReadTokens:v[2]}:{}}),o=void 0,s=[],i=void 0},d=/\b\d{4}\b.*\b\d{4}\b|\b[A-Z][a-z]{2} \d{1,2}, \d{4}\b/,u=/^(.+?)\s+((?:\$?[\d,]+(?:\.\d+)?%?\s*)+)$/;for(let v of n){if(d.test(v))continue;let I=/^\$\s*([\d,]+(?:\.\d{1,4})?)$/.exec(v);if(I){i!==void 0&&c(),i=Jp(I[1]);continue}if(wB(v)){let x=Number(v.replace(/[$,%]/g,""));Number.isFinite(x)&&s.push(x);continue}let R=u.exec(v),A=R?.[2]??"",k=/\$\s*\d/.test(A)||/\d{4,}/.test(A)||/\d{1,3}(?:,\d{3})+/.test(A);if(R&&k){let x=R[1].trim();if(vB(x)){c();let w=/\$\s*([\d,]+(?:\.\d{1,4})?)/.exec(R[2]);i=w?Jp(w[1]):void 0,s=[...R[2].replace(/\$[\d,]+(?:\.\d+)?/g," ").matchAll(/\b(\d{1,3}(?:,\d{3})+|\d+(?:\.\d+)?)\b/g)].map(E=>Number(E[1].replace(/,/g,""))).filter(E=>Number.isFinite(E)),o=x,c()}continue}vB(v)&&(c(),o=v)}c();let l=r.filter(v=>v.chargedUsd!==void 0);if(r.length<3&&l.length===0)return;let p=[`${r.length} usage rows`],f=/\bTotal[^\n$]*\$\s*([\d,]+(?:\.\d{1,2})?)/i.exec(e)?.[1],g=f!==void 0?Jp(f):void 0;g!==void 0&&p.push("total");let b=[];for(let v of coe)for(let I of e.matchAll(new RegExp(v.source,"g"))){let R=Date.parse(I[1]);Number.isFinite(R)&&b.push(R)}b.sort((v,I)=>v-I);let y=b[0],S=b.length>1?b[b.length-1]:void 0;return y!==void 0&&p.push("date range"),{kind:"usage",rows:r,...g!==void 0?{totalUsd:g}:{},...y!==void 0?{periodStart:y}:{},...S!==void 0?{periodEnd:S}:{},found:p,missing:l.length===0?["charged amounts (tokens only, credits cannot be confirmed)"]:[]}},kB=(e,t=Date.now())=>{let n=ooe(e);return aoe(n,t)??loe(n,t)};var DE=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Ny=e=>{if(e.kind==="allowance"){if(e.designPlanUsedPct===void 0)return"Could not find a Design Plan percentage on that page. Copy the Plan & balance page and try again.";let n=[`${e.designPlanUsedPct}% of the ${e.pctOf==="monthly"?"monthly":"seven-day"} allowance`];if(e.resetsAt!==void 0){let r=Math.max(0,Math.round((e.resetsAt-Date.now())/36e5));n.push(r>=36?`resets in ${Math.round(r/24)} days`:`resets in ${r} hours`)}return e.plan&&n.unshift(`${e.plan} plan`),e.walletUsd!==void 0&&n.push(`wallet ${e.walletUsd} USD (never auto-spent)`),n.join(" \xB7 ")}let t=e.rows.filter(n=>n.chargedUsd!==void 0);if(t.length>0){let n=t.reduce((r,o)=>r+(o.chargedUsd??0),0);return`Usage page: ${DE(e.rows.length,"model")}, ${n.toFixed(2)} USD charged across ${DE(t.length,"row")}.`}return`Usage page: ${DE(e.rows.length,"model")} with token counts. No charged amounts, so this can refine the estimate but cannot confirm it.`};var PE={"deepseek-v4.1-flash":.5,"mimo-v2.6-flash":1,"mimo-v2.6-pro":1,"hy4-preview":1,"deepseek-v4-flash":1,"deepseek-v4-flash-vision-exp":1,"deepseek-v4-pro":1,"glm-5.3-flash":1,"kimi-k2.7-code":1,"claude-haiku-5.5":2,"glm-5.3-flashx":2,"gpt-6-luna":4},ME=new Set(["minimax-m3.1-flash"]),poe=1,EB=(e,t,n,r)=>Date.UTC(e,t-1,n,r,0,0),foe=[{id:"deepseek-v4.1-flash-offpeak-2026-10",modelIDs:["deepseek-v4.1-flash"],multiplier:.25,startsAt:EB(2026,10,20,10),endsAt:EB(2026,10,27,10),appliesToApi:!1,note:"Expired and app-only; never applied to API usage."}],moe=(e,t)=>foe.find(n=>n.appliesToApi&&n.modelIDs.includes(e)&&t>=n.startsAt&&t<n.endsAt),ms=(e,t={})=>{let n=t.overrides?.[e];if(typeof n=="number"&&Number.isFinite(n)&&n>0)return{multiplier:n,evidence:"configured"};let r=t.now??Date.now(),o=moe(e,r);if(o)return{multiplier:o.multiplier,evidence:"promotion",note:o.note};let s=PE[e];return typeof s=="number"&&Number.isFinite(s)&&s>0?{multiplier:s,evidence:"published"}:{multiplier:poe,evidence:"unverified",note:ME.has(e)?"Multiplier is not published for this model; the neutral 1x rate is used as an estimate.":"No published Design Plan multiplier; the neutral 1x rate is used as an estimate."}};var Ee=(e,t,n,r=0)=>[{input:e,output:t,cache:{read:n,write:r}}],kr=(e,t,n)=>[e,{input:n.input,output:n.output,cache:{read:n.read,write:n.write},tier:{type:"context",size:t}}],TB=232e3,_E=32e3,Te=(e,t,n)=>{let r=Ha.has(e),o=PE[e],s=typeof o=="number";return{modelID:e,name:t,creditMultiplier:n.creditMultiplier??o??1,multiplierEvidence:n.multiplierEvidence??(r?s?"published":"unverified":"not-applicable"),context:n.context,maxOutput:n.maxOutput,input:n.input,cost:n.cost,intelligence:n.intelligence,design:n.design,designEvidence:n.designEvidence,tier:n.tier,approved:n.approved,notes:n.notes}},za=[Te("deepseek-v4.1-flash","DeepSeek V4.1 Flash",{context:1048e3,maxOutput:128e3,input:["text","image"],cost:Ee(.3,1.2,.006),intelligence:39.5,design:65,designEvidence:"observed",tier:2,approved:!0,notes:"0.5x Design Plan credits. Gateway default. Served as DeepSeek-V4.1-Flash-1017 (2026-10-17 checkpoint). Native image input. The gateway advertises context_budget 328,000 but does not enforce it: measured on 2026-10-30 at 1,043,337 input tokens with HTTP 200, and rejected only above the 1,048,000 vendor limit. The seed carries the measured window."}),Te("claude-haiku-5.5","Claude Haiku 5.5",{context:228e3,maxOutput:128e3,input:["text","image","pdf"],cost:kr(Ee(.1,.5,.01,.125)[0],1e5,{input:.5,output:2.5,read:.05,write:.625}),intelligence:43.4,design:70,designEvidence:"curated",tier:2,approved:!0,notes:"2x Design Plan credits. Highest design score inside the Design Plan group."}),Te("glm-5.3-flash","GLM-5.3-Flash",{context:232e3,maxOutput:32e3,input:["text","image","video"],cost:Ee(.075,.25,.015),intelligence:41.8,design:65,designEvidence:"curated",tier:2,approved:!0,notes:"1x Design Plan credits. Native image and video input."}),Te("minimax-m3.1-flash","MiniMax M3.1 Flash",{context:1e6,maxOutput:_E,input:["text","image","video"],cost:Ee(.15,.6,.015),intelligence:42.7,design:60,designEvidence:"curated",tier:2,approved:!0,notes:"The gateway reports a 1M vendor limit but no context_budget for this model, so the vendor limit is used. Confirmed against models.dev (1,000,000) and by 475 successful calls with no context-length error. The gateway also serves this model outside the Design Plan group; OpenDesign has not published which group or multiplier applies, so the neutral 1x rate is used and the uncertainty is reported."}),Te("mimo-v2.6-pro","MiMo-V2.6-Pro",{context:232e3,maxOutput:32e3,input:["text","image","audio","video"],cost:Ee(.435,.87,.0036),intelligence:46.3,design:62,designEvidence:"curated",tier:2,approved:!0,notes:"1x Design Plan credits. Highest intelligence score inside the Design Plan group."}),Te("mimo-v2.6-flash","MiMo-V2.6-Flash",{context:232e3,maxOutput:32e3,input:["text","image","audio","video"],cost:Ee(.14,.28,.0028),intelligence:37.9,design:50,designEvidence:"curated",tier:1,approved:!0,notes:"1x Design Plan credits. Economy tier; below the standard intelligence floor."}),Te("gpt-6-luna","GPT-6 Luna",{context:4e5,maxOutput:128e3,input:["text","image","pdf"],cost:kr(Ee(.1,.5,.01,.125)[0],272e3,{input:.2,output:.75,read:.02,write:.25}),intelligence:38.1,design:55,designEvidence:"curated",tier:1,approved:!0,notes:"4x Design Plan credits, the most expensive Design Plan route. 400k usable input window."}),Te("deepseek-v4-pro","DeepSeek V4 Pro",{context:328e3,maxOutput:128e3,input:["text"],cost:Ee(1.32,3.96,.044),intelligence:36,design:55,designEvidence:"curated",tier:2,approved:!1,notes:"Text only and below the standard intelligence floor. Requires explicit approval."}),Te("deepseek-v4-flash","DeepSeek V4 Flash",{context:232e3,maxOutput:32e3,input:["text"],cost:Ee(.44,1.32,.014),intelligence:0,design:0,designEvidence:"unverified",tier:2,approved:!1,notes:"Served upstream by DeepSeek-V4.1-Flash-1017 (DeepSeek retired the legacy name but still accepts and bills it). Unscored under this id; the price is a conservative upper bound borrowed from V4 Pro. Set an explicit price in models.definitions before approving."}),Te("deepseek-v4-flash-vision-exp","DeepSeek V4 Flash Vision Exp",{context:232e3,maxOutput:32e3,input:["text","image"],cost:Ee(.44,1.32,.014),intelligence:0,design:0,designEvidence:"unverified",tier:2,approved:!1,notes:"Unscored. Conservative upper-bound price; set an explicit price in models.definitions before approving."}),Te("glm-5.3-flashx","GLM-5.3-Flash-X",{context:232e3,maxOutput:32e3,input:["text","image","pdf","video"],cost:Ee(.37,1.25,.075),intelligence:0,design:0,designEvidence:"unverified",tier:2,approved:!1,notes:"2x Design Plan credits. Unscored; conservative upper-bound price borrowed from GLM-5.3. Set an explicit price in models.definitions before approving."}),Te("hy4-preview","Hunyuan H4 Preview",{context:232e3,maxOutput:32e3,input:["text"],cost:Ee(.834,2.501,.042),intelligence:0,design:0,designEvidence:"unverified",tier:1,approved:!1,notes:"Unscored and text only. Requires explicit approval."}),Te("kimi-k2.7-code","Kimi K2.7 Code",{context:262e3,maxOutput:32e3,input:["text","image"],cost:Ee(.95,4,.19),intelligence:0,design:0,designEvidence:"unverified",tier:2,approved:!1,notes:"Unscored. Conservative upper-bound price borrowed from Kimi K3; set an explicit price in models.definitions before approving."}),Te("claude-sonnet-5.5","Claude Sonnet 5.5",{context:328e3,maxOutput:128e3,input:["text","image","pdf"],cost:Ee(2,10,.2,2.5),intelligence:56,design:90,designEvidence:"curated",tier:3,approved:!1,notes:"Plan model. Premier design and architecture quality. Funded from plan model credits, so routing here consumes escalation capacity rather than routine allowance."}),Te("gpt-6-sol","GPT-6 Sol",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:kr(Ee(2,10,.2,2.5)[0],272e3,{input:4,output:15,read:.4,write:5}),intelligence:0,design:88,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored in the router's curated set. Explicit approval required."}),Te("gpt-6.1-sol","GPT-6.1 Sol",{context:4e5,maxOutput:128e3,input:["text","image","pdf"],cost:kr(Ee(2,10,.1,2.5)[0],272e3,{input:4,output:15,read:.2,write:5}),intelligence:0,design:88,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("gpt-6-astra","GPT-6 Astra",{context:4e5,maxOutput:128e3,input:["text","image","pdf"],cost:kr(Ee(10,50,1,12.5)[0],272e3,{input:20,output:75,read:2,write:25}),intelligence:0,design:88,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model, frontier-priced. Never selected automatically without explicit approval."}),Te("claude-opus-5.5","Claude Opus 5.5",{context:328e3,maxOutput:128e3,input:["text","image","pdf"],cost:Ee(4,20,.2,5),intelligence:0,design:92,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("claude-opus-5","Claude Opus 5",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:Ee(5,25,.5,6.25),intelligence:0,design:91,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("claude-opus-4.8","Claude Opus 4.8",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:Ee(5,25,.5,6.25),intelligence:0,design:90,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("claude-sonnet-5","Claude Sonnet 5",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:Ee(2,10,.2,2.5),intelligence:0,design:88,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("claude-fable-5.1","Claude Fable 5.1",{context:328e3,maxOutput:128e3,input:["text","image","pdf"],cost:Ee(10,50,.25,12.5),intelligence:0,design:90,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model, frontier-priced. Never selected automatically without explicit approval."}),Te("claude-fable-5","Claude Fable 5",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:Ee(10,50,1,12.5),intelligence:0,design:89,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model, frontier-priced. Never selected automatically without explicit approval."}),Te("muse-spark-1.3","Muse Spark 1.3",{context:1048e3,maxOutput:32e3,input:["text","image","video","pdf","audio"],cost:Ee(1.25,4.25,.15),intelligence:48.1,design:82,designEvidence:"curated",tier:3,approved:!1,notes:"Plan model. Strong design quality and a 1,048,000-token window. Funded from plan model credits; escalate here deliberately, not by default."}),Te("muse-wonder","Muse Wonder",{context:232e3,maxOutput:32e3,input:["text","image","video","pdf","audio"],cost:Ee(4,20,.2),intelligence:0,design:86,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("gemini-4-argon","Gemini 4 Argon",{context:264e3,maxOutput:64e3,input:["text","image","video","audio","pdf"],cost:Ee(2,10,.1),intelligence:0,design:85,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("gemini-3.8-flash","Gemini 3.8 Flash",{context:264e3,maxOutput:64e3,input:["text","image","video","audio","pdf"],cost:Ee(.75,3.75,.075),intelligence:0,design:78,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("gemini-3.7-flash","Gemini 3.7 Flash",{context:232e3,maxOutput:32e3,input:["text","image","video","audio","pdf"],cost:Ee(.75,3.75,.075),intelligence:0,design:76,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("kimi-k3","Kimi K3",{context:232e3,maxOutput:32e3,input:["text","image","video"],cost:Ee(3,15,.3,3),intelligence:43.6,design:72,designEvidence:"curated",tier:3,approved:!1,notes:"Plan model. Strong design quality; funded from plan model credits."}),Te("kimi-k3.1-pro","Kimi K3.1 Pro",{context:232e3,maxOutput:32e3,input:["text","image","video"],cost:Ee(2,10,.2,2),intelligence:0,design:75,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("grok-4.7","Grok 4.7",{context:328e3,maxOutput:128e3,input:["text","image","pdf"],cost:kr(Ee(2,6,.5)[0],2e5,{input:4,output:12,read:1,write:0}),intelligence:46.4,design:75,designEvidence:"curated",tier:3,approved:!1,notes:"Plan model. Funded from plan model credits."}),Te("grok-4.6","Grok 4.6",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:kr(Ee(2,6,.5)[0],2e5,{input:4,output:12,read:1,write:0}),intelligence:0,design:74,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("grok-4.5","Grok 4.5",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:kr(Ee(2,6,.5)[0],2e5,{input:4,output:12,read:.6,write:0}),intelligence:0,design:72,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("gpt-5.6-sol","GPT-5.6 Sol",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:kr(Ee(4,20,.4,5)[0],272e3,{input:8,output:30,read:.8,write:10}),intelligence:0,design:85,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("gpt-5.6-terra","GPT-5.6 Terra",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:kr(Ee(2,12,.2,2.5)[0],272e3,{input:4,output:18,read:.4,write:5}),intelligence:0,design:84,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("gpt-5.6-luna","GPT-5.6 Luna",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:kr(Ee(.2,1.2,.02,.25)[0],272e3,{input:.4,output:1.8,read:.04,write:.5}),intelligence:0,design:60,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("gpt-6.1-terra","GPT-6.1 Terra",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:kr(Ee(2,12,.2,2.5)[0],272e3,{input:4,output:18,read:.4,write:5}),intelligence:0,design:87,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("qwen3.7-max","Qwen3.7 Max",{context:232e3,maxOutput:32e3,input:["text","image","video"],cost:Ee(2.5,7.5,.5,3.125),intelligence:0,design:70,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Te("glm-5.2","GLM-5.2",{context:232e3,maxOutput:32e3,input:["text"],cost:Ee(1.4,4.4,.26),intelligence:0,design:78,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored and text only. Explicit approval required."})],qd=new Map(za.map(e=>[e.modelID,e])),WSe=[...ME],KSe=za.filter(e=>!Ha.has(e.modelID)).map(e=>e.modelID);var AB=e=>e.toLowerCase().replace(/\(.*?\)/g,"").replace(/[^a-z0-9]/g,""),hoe=new Map(za.map(e=>[AB(e.name),e])),goe={deepseekv41flash:"deepseek-v4.1-flash",deepseekv4flash:"deepseek-v4-flash",deepseekv4pro:"deepseek-v4-pro",glm53flash:"glm-5.3-flash",glm53flashx:"glm-5.3-flashx",claudehaiku55:"claude-haiku-5.5",gpt6luna:"gpt-6-luna",mimo26flash:"mimo-v2.6-flash",mimo26pro:"mimo-v2.6-pro",kimik27code:"kimi-k2.7-code"},yoe=e=>{let t=AB(e),n=hoe.get(t);if(n)return n;let r=goe[t];if(r)return za.find(o=>o.modelID===r)},xoe=5,RB=e=>{let t=[];for(let i of e.rows){if(i.chargedUsd===void 0||!i.modelName)continue;let c=yoe(i.modelName);if(!c){t.push({modelName:i.modelName,chargedUsd:i.chargedUsd,verdict:"unmatched"});continue}let d=c.cost[0];if(!d){t.push({modelName:i.modelName,modelID:c.modelID,chargedUsd:i.chargedUsd,verdict:"no-price"});continue}let u=i.inputTokens??0,l=i.outputTokens??0,p=i.cacheReadTokens??0,f=u+l+p===0?void 0:(d.input*u+d.output*l+(d.cache?.read??0)*p)/1e6;if(f===void 0||f<=0){t.push({modelName:i.modelName,modelID:c.modelID,chargedUsd:i.chargedUsd,verdict:"no-price"});continue}let g=i.chargedUsd/f,b=ms(c.modelID).multiplier,y=b===0?void 0:(g-b)/b*100,S=y!==void 0&&Math.abs(y)<=xoe;t.push({modelName:i.modelName,modelID:c.modelID,chargedUsd:i.chargedUsd,baseUsd:f,impliedMultiplier:g,catalogMultiplier:b,verdict:S?"agrees":"differs",...y!==void 0?{driftPct:y}:{}})}let n=t.filter(i=>i.verdict==="agrees").length,r=t.filter(i=>i.verdict==="differs").length,o=t.filter(i=>i.verdict!=="agrees"&&i.verdict!=="differs").length,s=t.length===0?"No charged amounts on that page, so the cost model cannot be checked from it.":r===0?`The cost model matches what was charged for ${n} of ${t.length} model${t.length===1?"":"s"}.`:`The cost model disagrees with what was charged for ${r} of ${t.length} model${t.length===1?"":"s"}. That is a catalog problem, not a routing one.`;return{rows:t,agree:n,differ:r,unmatched:o,summary:s}};var OB=(e,t,n)=>{let r=new Map(n.map(d=>[d.providerID,d])),o=[],s=[],i=[],c={...e.providers};for(let[d,u]of Object.entries(e.providers)){let l=r.get(d);if(!l)continue;let p=l.hasCredential,f=u.enabled;if(t.has(d)){p&&!f&&i.push(d),!p&&f&&s.push(d);continue}p!==f&&(c[d]={...u,enabled:p},o.push({providerID:d,from:f,to:p,reason:p?`credential found${l.source?` (${l.source})`:""}`:"no credential found on this machine"}))}return{settings:o.length>0?{...e,providers:c}:e,changes:o,keptOnByChoice:s,keptOffByChoice:i}},CB=e=>e.changes.map(t=>t.to?`providers.${t.providerID} enabled: ${t.reason}`:`providers.${t.providerID} disabled: ${t.reason}. Set providers.${t.providerID}.enabled to true to force it on.`),DB=(e,t)=>{let n=r=>`${t}/${r}`;switch(e){case"commandcode":return[n(".commandcode/auth.json"),n(".config/opencode/commandcode.key"),n(".config/opencode/commandcode.env"),n(".config/opencode/commandcode.json")];case"opendesign":return[n(".config/opencode/opendesign.key"),n(".config/opencode/opendesign.json")];default:return[]}},PB=e=>{switch(e){case"commandcode":return["COMMAND_CODE_API_KEY","COMMANDCODE_API_KEY"];case"opendesign":return["OPENDESIGN_API_KEY","OPEN_DESIGN_API_KEY"];case"opencode-go":return["OPENCODE_API_KEY"];default:return[]}};var sn=(e,t)=>t.some(n=>e.includes(n)),UE=(e,t)=>{let n=e.message.toLowerCase(),r=(e.type??"").toLowerCase(),o=e.status;if(r.includes("abort")||r.includes("interrupt")||sn(n,["step interrupted","request aborted","operation canceled","operation cancelled","user aborted"]))return{class:"interrupted",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:0,reason:"The step was interrupted; this is not evidence of a provider fault.",countAgainstModel:!1,providerScoped:!1};if(o===402||(o===void 0||o<500)&&sn(n,["insufficient credit","insufficient_credit","insufficient balance","insufficient_quota","no credit left","out of credit","credit balance is","credit limit reached","quota exceeded","quota_exceeded","allowance exhausted","allowance is exhausted","exceeded your current quota"]))return{class:"quota_exhausted",retryable:!1,capabilityFailure:!1,escalate:!0,cooldownMs:0,reason:"The provider reports no allowance left; retrying the same model cannot help.",countAgainstModel:!1,providerScoped:!0};if(sn(n,["context length","context_length_exceeded","maximum context","too many tokens","prompt is too long","exceeds the context","context window","input is too long"]))return{class:"context_overflow",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:0,reason:"Context overflow is a session-size problem, not an intelligence failure. Compact or start a handoff session.",countAgainstModel:!1,providerScoped:!1};if(o===429||sn(n,["rate limit","rate_limit","too many requests"])||r.includes("rate_limit")||r.includes("ratelimit"))return{class:"rate_limit",retryable:!0,capabilityFailure:!1,escalate:!1,cooldownMs:12e4,reason:"Provider rate limit; wait or use another provider. A stronger model would consume the same limit.",countAgainstModel:!0,providerScoped:!1};if(o===401||o===403||sn(n,["unauthorized","invalid api key","authentication","forbidden","permission denied"])||r.includes("auth"))return{class:"auth",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:9e5,reason:"Authentication or authorization failed; escalating models cannot fix a credential problem.",countAgainstModel:!0,providerScoped:!1};if(sn(n,["image","media","unsupported content","invalid image","vision","content type"])&&sn(n,["unsupported","invalid","not support","reject","format"]))return{class:"image_rejected",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:6e5,reason:"The endpoint rejected the image input; route visual work only to a verified vision model.",countAgainstModel:!0,providerScoped:!1};if(sn(n,["invalid_request_error","expected 'user' | 'assistant'",'expected "user" | "assistant"',"invalid discriminator value"])||/messages\.\d+\.role/i.test(e.message)||(r.includes("invalid-request")||r.includes("invalid_request"))&&(e.status===void 0||e.status<500))return{class:"prompt_rejected",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:3e5,reason:"The provider rejected the request shape before generating anything, so retrying cannot help. The router repairs the prompt or fails the turn over to the next best choice instead.",countAgainstModel:!1,providerScoped:!1};let d=r.startsWith("provider.")||r.includes("invalidprovideroutput")||sn(n,["streaming response failed","enginecore encountered an issue","server_error","provider.internal","invalid-output","invalidprovideroutput","internal server error","upstream error","upstream failure","incomplete stream","stream closed","stream ended unexpectedly","stream ended without finish_reason","without finish_reason","connection closed","unexpected eof"])||/\[\s*5\d\d\s*\]/.test(n)&&sn(n,["stream","response","engine"]),u=sn(n,["workspace_billing_scope_unavailable","billing_scope_unavailable","resolve billing scope","billing scope unavailable","membership entitlement","evaluate membership"])||r.includes("billing_scope_unavailable"),l=sn(n,["alternative llm api service providers","service is too busy","ttft_admission_refused","admission refused","at capacity"])||r.includes("upstream")&&sn(n,["busy","capacity"]);if(o===502||o===503||o===504||d||sn(n,["overloaded","temporarily unavailable","upstream","service unavailable","provider outage","bad gateway","ttft_admission_refused","admission refused","at capacity"]))return{class:"provider_outage",retryable:!0,capabilityFailure:!1,escalate:!1,cooldownMs:3e5,reason:u?"The provider's own pre-request path failed before a model was selected. This is provider-scoped, not a fault of the serving model, so it is not counted against the model's reliability.":l?"The provider's gateway is saturated. Every model behind it is affected, so the provider is counted as failing, and the endpoint that actually refused is held back too.":"Provider capacity or outage; retry shortly or fail over. A stronger model would hit the same capacity limit, so no escalation is warranted.",countAgainstModel:!u,providerScoped:u,...l&&!u?{saturation:!0}:{}};if(sn(n,["timeout","timed out","econnreset","econnrefused","fetch failed","socket","network","dns"]))return{class:"network",retryable:!0,capabilityFailure:!1,escalate:!1,cooldownMs:6e4,reason:"Network failure; retry with backoff. This is not evidence that a stronger model is needed.",countAgainstModel:!0,providerScoped:!1};if(sn(n,["tool","shell command","command failed","exit code","enoent","permission denied"])&&r.includes("tool"))return{class:"tool",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:0,reason:"A tool or command failed; fix the tool, dependency, or permission issue rather than escalating the model.",countAgainstModel:!1,providerScoped:!1};if(sn(n,["invalid request","bad request","unsupported parameter","malformed"]))return{class:"invalid_request",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:3e5,reason:"The request shape was invalid; fix the request or provider compatibility instead of escalating.",countAgainstModel:!0,providerScoped:!1};let p=t?.failures.filter(f=>f.class==="capability").length??0;return sn(n,["cannot complete","unable to complete","gave up","i don't know how","not able to","incomplete","failed to implement"])||r.includes("model")&&p>=1?{class:"capability",retryable:!1,capabilityFailure:!0,escalate:p<1,cooldownMs:0,reason:"Possible capability failure; escalate one tier only after evidence, not after a single ambiguous error.",countAgainstModel:!0,providerScoped:!1}:{class:"unknown",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:3e4,reason:"Unclassified failure; do not escalate automatically without evidence.",countAgainstModel:!1,providerScoped:!1}};var $e=(e,t,n,r=0)=>[{input:e,output:t,cache:{read:n,write:r}}],di=(e,t,n)=>[e,{input:n.input,output:n.output,cache:{read:n.read,write:n.write},tier:{type:"context",size:t}}],MB={multiplier:2,windowsUtc:[{startHour:1,endHour:4},{startHour:6,endHour:10}],weekdaysOnly:!0},Soe=MB,boe=[{key:"opencode-go/gpt-6-luna",providerID:"opencode-go",modelID:"gpt-6-luna",name:"GPT-6 Luna",context:105e4,maxOutput:128e3,input:["text","image","pdf"],cost:di($e(.1,.5,.01,.125)[0],272e3,{input:.2,output:.75,read:.02,write:.25}),intelligence:38.1,design:55,designEvidence:"curated",tier:1,monthlyAllowanceUsd:60,notes:"Economy tier. Reliable for narrow mechanical edits, below the standard intelligence floor."},{key:"opencode-go/mimo-v2.6-flash",providerID:"opencode-go",modelID:"mimo-v2.6-flash",name:"MiMo-V2.6-Flash",context:1048576,maxOutput:131072,input:["text","image","audio","video"],cost:$e(.14,.28,.0028),intelligence:37.9,design:50,designEvidence:"curated",tier:1,monthlyAllowanceUsd:120,notes:"Cheap multimodal model. Economy tier only."},{key:"opencode-go/hy3",providerID:"opencode-go",modelID:"hy3",name:"Hy3",context:256e3,maxOutput:128e3,input:["text"],cost:$e(.14,.58,.035),intelligence:25.3,design:45,designEvidence:"curated",tier:1,monthlyAllowanceUsd:240,notes:"Economy tier. Text only. Narrow mechanical work."},{key:"opencode-go/longcat-2.0",providerID:"opencode-go",modelID:"longcat-2.0",name:"LongCat-2.0",context:1e6,maxOutput:131072,input:["text"],cost:$e(.3,1.2,.006),intelligence:19.1,design:40,designEvidence:"curated",tier:1,monthlyAllowanceUsd:240,notes:"Economy tier. Very low intelligence; use only with deterministic validation."},{key:"opencode-go/deepseek-v4.1-flash",providerID:"opencode-go",modelID:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",context:1e6,maxOutput:384e3,input:["text","image"],cost:$e(.15,.6,.003),peakPricing:MB,intelligence:39.5,design:65,designEvidence:"observed",tier:2,monthlyAllowanceUsd:80,notes:"Approved standard floor. Strong general coding value and native image input. Off-peak list price; 2x during 01-04 and 06-10 UTC Mon-Fri."},{key:"opencode-go/glm-5.3-flash",providerID:"opencode-go",modelID:"glm-5.3-flash",name:"GLM-5.3-Flash",context:1e6,maxOutput:131072,input:["text","image","video"],cost:$e(.15,.5,.03),intelligence:41.8,design:65,designEvidence:"curated",tier:2,monthlyAllowanceUsd:60},{key:"opencode-go/minimax-m3.1-flash",providerID:"opencode-go",modelID:"minimax-m3.1-flash",name:"MiniMax M3.1 Flash",context:1e6,maxOutput:512e3,input:["text","image","video"],cost:$e(.15,.6,.015),intelligence:42.7,design:60,designEvidence:"curated",tier:2,monthlyAllowanceUsd:20},{key:"opencode-go/claude-haiku-5-5",providerID:"opencode-go",modelID:"claude-haiku-5-5",name:"Claude Haiku 5.5",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:di($e(.1,.5,.01,.125)[0],1e5,{input:.5,output:2.5,read:.05,write:.625}),intelligence:43.4,design:70,designEvidence:"curated",tier:2,monthlyAllowanceUsd:15},{key:"opencode-go/mimo-v2.6-pro",providerID:"opencode-go",modelID:"mimo-v2.6-pro",name:"MiMo-V2.6-Pro",context:1048576,maxOutput:131072,input:["text","image","audio","video"],cost:$e(.435,.87,.003625),intelligence:46.3,design:62,designEvidence:"curated",tier:2,monthlyAllowanceUsd:15,notes:"High intelligence for its price. Narrow monthly allowance."},{key:"opencode-go/glm-5.3",providerID:"opencode-go",modelID:"glm-5.3",name:"GLM-5.3",context:1e6,maxOutput:131072,input:["text"],cost:$e(1.4,4.4,.26),intelligence:44.8,design:80,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15,notes:"Premium. Text only, so it can never receive screenshots."},{key:"opencode-go/kimi-k3",providerID:"opencode-go",modelID:"kimi-k3",name:"Kimi K3",context:1048576,maxOutput:131072,input:["text","image","video"],cost:$e(3,15,.3,3),intelligence:43.6,design:72,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15},{key:"opencode-go/grok-4.7",providerID:"opencode-go",modelID:"grok-4.7",name:"Grok 4.7",context:5e5,maxOutput:5e5,input:["text","image","pdf"],cost:di($e(2,6,.5)[0],2e5,{input:4,output:12,read:1,write:0}),intelligence:46.4,design:75,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15},{key:"opencode-go/qwen3.8-max",providerID:"opencode-go",modelID:"qwen3.8-max",name:"Qwen3.8 Max",context:1e6,maxOutput:131072,input:["text","image","video"],cost:$e(2,6,.25,2.5),intelligence:40.2,design:70,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15},{key:"opencode-go/step-5-preview",providerID:"opencode-go",modelID:"step-5-preview",name:"Step 5 Preview",context:1e6,maxOutput:65536,input:["text","image","video"],cost:$e(1,2.7,.1),intelligence:43.7,design:70,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15},{key:"commandcode/deepseek/deepseek-v4.1-flash",providerID:"commandcode",modelID:"deepseek/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash (GOAT)",context:1e6,maxOutput:384e3,input:["text","image"],cost:$e(.15,.6,.003),peakPricing:Soe,intelligence:39.5,design:65,designEvidence:"observed",tier:2,monthlyAllowanceUsd:80,notes:"Approved standard floor on Command Code. Off-peak list price; 2x during 01-04 and 06-10 UTC Mon-Fri."},{key:"commandcode/z-ai/glm-5.3-flash",providerID:"commandcode",modelID:"z-ai/glm-5.3-flash",name:"GLM-5.3-Flash",context:1e6,maxOutput:131072,input:["text","image","video","pdf"],cost:$e(.15,.5,.03),intelligence:41.8,design:65,designEvidence:"curated",tier:2,monthlyAllowanceUsd:80},{key:"commandcode/claude-haiku-5-5",providerID:"commandcode",modelID:"claude-haiku-5-5",name:"Claude Haiku 5.5",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:di($e(.1,.5,.01,.125)[0],1e5,{input:.5,output:2.5,read:.05,write:.625}),intelligence:43.4,design:70,designEvidence:"curated",tier:2,monthlyAllowanceUsd:20},{key:"commandcode/gpt-6-luna",providerID:"commandcode",modelID:"gpt-6-luna",name:"GPT-6 Luna",context:105e4,maxOutput:128e3,input:["text","image","pdf"],cost:di($e(.1,.5,.01,.125)[0],272e3,{input:.2,output:.75,read:.02,write:.25}),intelligence:38.1,design:55,designEvidence:"curated",tier:1,monthlyAllowanceUsd:20},{key:"commandcode/claude-sonnet-5-5",providerID:"commandcode",modelID:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:$e(2,10,.1,2.5),intelligence:56,design:90,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:10,notes:"Premium design and architecture candidate. Very small monthly allowance."},{key:"commandcode/meta/muse-spark-1.3",providerID:"commandcode",modelID:"meta/muse-spark-1.3",name:"Muse Spark 1.3",context:1048576,maxOutput:131072,input:["text","image","video","pdf","audio"],cost:$e(1.25,4.25,.15),intelligence:48.1,design:82,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:20},{key:"commandcode/google/gemini-4-argon",providerID:"commandcode",modelID:"google/gemini-4-argon",name:"Gemini 4 Argon",context:1e6,maxOutput:65536,input:["text","image","video","audio","pdf"],cost:$e(2,10,.1),intelligence:0,design:85,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:40,notes:"Unscored in the current model cards. Excluded from automatic routing until qualified."},{key:"commandcode/xai/grok-4.7",providerID:"commandcode",modelID:"xai/grok-4.7",name:"Grok 4.7",context:5e5,maxOutput:5e5,input:["text","image","pdf"],cost:di($e(2,6,.5)[0],2e5,{input:4,output:12,read:1,write:0}),intelligence:46.4,design:75,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:20},{key:"commandcode/Qwen/Qwen3.8-Max",providerID:"commandcode",modelID:"Qwen/Qwen3.8-Max",name:"Qwen3.8 Max",context:1e6,maxOutput:131072,input:["text","image","video","pdf"],cost:$e(2,6,.25,2.5),intelligence:40.2,design:70,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:20},{key:"commandcode/stepfun/Step-5-Preview",providerID:"commandcode",modelID:"stepfun/Step-5-Preview",name:"Step 5 Preview",context:1e6,maxOutput:1e6,input:["text","image","video"],cost:$e(1,2.7,.05),intelligence:43.7,design:70,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:20},{key:"commandcode/claude-opus-5-5",providerID:"commandcode",modelID:"claude-opus-5-5",name:"Claude Opus 5.5",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:$e(4,20,.2,5),intelligence:0,design:92,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:10,notes:"Unscored in the current model cards. Explicit approval required."},{key:"commandcode/gpt-6.1-sol",providerID:"commandcode",modelID:"gpt-6.1-sol",name:"GPT-6.1 Sol",context:105e4,maxOutput:128e3,input:["text","image","pdf"],cost:di($e(2,10,.1,2.5)[0],272e3,{input:4,output:15,read:.2,write:5}),intelligence:0,design:88,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:20,notes:"Unscored in the current model cards. Explicit approval required."},{key:"commandcode/gpt-6-astra",providerID:"commandcode",modelID:"gpt-6-astra",name:"GPT-6 Astra",context:105e4,maxOutput:128e3,input:["text","image","pdf"],cost:di($e(10,50,1,12.5)[0],272e3,{input:20,output:75,read:2,write:25}),intelligence:0,design:88,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:10,notes:"Frontier-priced model. Never selected automatically without explicit approval."},{key:"commandcode/claude-fable-5-1",providerID:"commandcode",modelID:"claude-fable-5-1",name:"Claude Fable 5.1",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:$e(10,50,.25,12.5),intelligence:0,design:90,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:10,notes:"Frontier-priced model. Never selected automatically without explicit approval."},{key:"opencode-go/gemini-4-argon",providerID:"opencode-go",modelID:"gemini-4-argon",name:"Gemini 4 Argon",context:1048576,maxOutput:65536,input:["text","image","video","audio","pdf"],cost:$e(2,10,.1),intelligence:0,design:85,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:120,notes:"Unscored in the current model cards. Explicit approval required."},{key:"opencode-go/kimi-k3.1-pro",providerID:"opencode-go",modelID:"kimi-k3.1-pro",name:"Kimi K3.1 Pro",context:1048576,maxOutput:131072,input:["text","image","video"],cost:$e(2,10,.2,2),intelligence:0,design:75,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:60,notes:"Unscored in the current model cards. Explicit approval required."},{key:"commandcode/meta/muse-spark-1.3-contributor",providerID:"commandcode",modelID:"meta/muse-spark-1.3-contributor",name:"Muse Spark 1.3 (Contributor)",context:1048576,maxOutput:131072,input:["text","image","video","pdf","audio"],cost:$e(.1,.2,.002),intelligence:0,design:80,designEvidence:"unverified",training:!0,tier:1,approved:!1,monthlyAllowanceUsd:20,notes:"Training-enabled contributor tier. Blocked unless privacy.allowTrainingModels is true."},{key:"opencode-go/muse-spark-1.3-contributor",providerID:"opencode-go",modelID:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",context:1048576,maxOutput:131072,input:["text","image","video","pdf","audio"],cost:$e(.1,.2,.002),intelligence:0,design:80,designEvidence:"unverified",training:!0,tier:1,approved:!1,monthlyAllowanceUsd:120,notes:"Training-enabled contributor tier. Blocked unless privacy.allowTrainingModels is true."},{key:"opencode-go/iceman-contributor-free",providerID:"opencode-go",modelID:"iceman-contributor-free",name:"Iceman Contributor Free",context:262144,maxOutput:131072,input:["text"],cost:$e(0,0,0),intelligence:0,design:0,designEvidence:"unverified",training:!0,free:!0,tier:1,approved:!1,monthlyAllowanceUsd:0,notes:"Free model that trains on data. Blocked by default."},{key:"opencode-go/beam-free",providerID:"opencode-go",modelID:"beam-free",name:"Beam Free",context:1048576,maxOutput:131072,input:["text"],cost:$e(0,0,0),intelligence:0,design:0,designEvidence:"unverified",free:!0,tier:1,approved:!1,monthlyAllowanceUsd:0,notes:"Free promotional model. Not approved for automatic work."},{key:"opencode-go/deepseek-v4-pro",providerID:"opencode-go",modelID:"deepseek-v4-pro",name:"DeepSeek V4 Pro",context:1e6,maxOutput:384e3,input:["text"],cost:$e(.66,1.98,.022),intelligence:36,design:55,designEvidence:"curated",tier:2,approved:!1,monthlyAllowanceUsd:60,notes:"Below the current standard floor and text only. Not approved automatically."}],Ioe=za.map(e=>({key:`opendesign/${e.modelID}`,providerID:"opendesign",modelID:e.modelID,name:e.name,context:e.context,maxOutput:e.maxOutput,input:[...e.input],tools:!0,cost:e.cost.map(t=>({...t,cache:{...t.cache}})),...Ha.has(e.modelID)?{creditMultiplier:e.creditMultiplier}:{},escalationOnly:!Ha.has(e.modelID),intelligence:e.intelligence,design:e.design,designEvidence:e.designEvidence,tier:e.tier,approved:e.approved,monthlyAllowanceUsd:0,notes:e.notes})),voe=[{key:"ollama/qwen3.5:4b-q4_K_M",providerID:"ollama",modelID:"qwen3.5:4b-q4_K_M",name:"Qwen3.5 4B (local)",context:8192,maxOutput:2048,input:["text","image"],tools:!0,cost:[{input:0,output:0,cache:{read:0,write:0}}],intelligence:30,design:40,designEvidence:"unverified",tier:1,approved:!1,monthlyAllowanceUsd:0,notes:"Local Ollama model for offline development. Vision and tool calling. Not for online routing: the intelligence and design scores are deliberately below the hosted floor because a 4B model should not silently replace a hosted standard model when the network is available."}],_B=[...boe,...Ioe,...voe];var NB=e=>!e||e.length===0?[{input:0,output:0,cache:{read:0,write:0}}]:e.map(t=>({input:Number.isFinite(t.input)?t.input:0,output:Number.isFinite(t.output)?t.output:0,cache:{read:Number.isFinite(t.cache?.read)?t.cache.read:0,write:Number.isFinite(t.cache?.write)?t.cache.write:0},...t.tier?{tier:{type:"context",size:t.tier.size}}:{}})),UB=e=>({key:e.key,providerID:e.providerID,modelID:e.modelID,name:e.name,context:e.context,maxOutput:e.maxOutput,inputModalities:e.input,outputModalities:["text"],tools:e.tools??!0,cost:e.cost,...e.peakPricing?{peakPricing:e.peakPricing}:{},intelligence:e.intelligence,design:e.design,designEvidence:e.designEvidence??"curated",...e.creditMultiplier&&e.creditMultiplier>0?{creditMultiplier:e.creditMultiplier}:{},...e.protocol?{protocol:e.protocol}:{},...e.escalationOnly?{escalationOnly:!0}:{},premium:e.premium??!1,training:e.training??!1,free:e.free??!1,tier:e.tier,approved:e.approved??!0,approvalSource:"seed",monthlyAllowanceUsd:e.monthlyAllowanceUsd,notes:e.notes}),woe=(e,t)=>({...e,name:t.name&&t.name.trim().length>0?t.name:e.name,context:t.limit?.context&&t.limit.context>0?t.limit.context:e.context,maxOutput:t.limit?.output&&t.limit.output>0?t.limit.output:e.maxOutput,tools:t.capabilities?.tools??e.tools,inputModalities:t.capabilities?.input&&t.capabilities.input.length>0?[...t.capabilities.input]:e.inputModalities,outputModalities:t.capabilities?.output&&t.capabilities.output.length>0?[...t.capabilities.output]:e.outputModalities,cost:NB(t.cost??e.cost)}),koe=e=>({key:Ue(e.providerID,e.id),providerID:e.providerID,modelID:e.id,name:e.name?.trim()||e.id,context:e.limit?.context&&e.limit.context>0?e.limit.context:0,maxOutput:e.limit?.output&&e.limit.output>0?e.limit.output:0,inputModalities:e.capabilities?.input?[...e.capabilities.input]:["text"],outputModalities:e.capabilities?.output?[...e.capabilities.output]:["text"],tools:e.capabilities?.tools??!1,cost:NB(e.cost),intelligence:0,design:0,designEvidence:"unverified",premium:!1,training:/contributor|-free$|iceman/i.test(e.id),free:/(^|[-/])(free|beam-free|laguna-s-2\.1-free)$/i.test(e.id),tier:2,approved:!1,approvalSource:"discovered",monthlyAllowanceUsd:0,notes:"Discovered model. Not qualified for automatic routing until approved."}),NE=class{records=new Map;liveCount;constructor(t){let n=[...t.seed??_B,...t.definitions??[]],r=new Map(n.map(d=>[d.key,d])),o=new Map(t.live.map(d=>[Ue(d.providerID,d.id),d]));this.liveCount=t.live.length;for(let d of n){let u=o.get(d.key);this.records.set(d.key,u?woe(UB(d),u):UB(d))}for(let d of t.live){let u=Ue(d.providerID,d.id);this.records.has(u)||this.records.set(u,koe(d))}let s=new Set(t.settings.models.approved),i=new Set(t.settings.models.excluded),c=t.settings.models.tierOverrides;for(let[d,u]of this.records){let l=c[d],p=s.has(d),f=i.has(d),g=t.settings.providers[u.providerID]?.enabled??!0,b=u.approvalSource==="seed"&&u.approved,y=Po(u.providerID,t.settings.providers[u.providerID]?.plan),S=y?dB(y,u.modelID):0;this.records.set(d,{...u,tier:l??u.tier,monthlyAllowanceUsd:S>0?S:u.monthlyAllowanceUsd,approved:g&&!f&&(p||b),approvalSource:p?"user":u.approvalSource})}}get count(){return this.records.size}get liveModelCount(){return this.liveCount}all(){return[...this.records.values()]}get(t,n){return this.records.get(Ue(t,n))}getByKey(t){return this.records.get(t)}approved(){return this.all().filter(t=>t.approved)}approvedForProvider(t){return this.approved().filter(n=>n.providerID===t)}modelsForOffline(){return this.all().filter(t=>t.providerID===Ld)}},FE=e=>new NE(e);var LE=1,Eoe=5,Toe=3*6e4,Bd=2e3,Zp=120,FB=250,Aoe=2880*60*1e3,Roe=400*24*60*60*1e3,$B=400*24*4,ube=960*60*60*1e3,Ooe=300*60*1e3,Coe=10080*60*1e3,$E=720*60*60*1e3,$y=3600*1e3,qB=()=>({context_overflow:0,rate_limit:0,network:0,auth:0,provider_outage:0,invalid_request:0,image_rejected:0,tool:0,capability:0,interrupted:0,quota_exhausted:0,prompt_rejected:0,unknown:0}),Doe=(e=Date.now())=>({startedAt:e,requests:0,inputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,outputTokens:0,estimatedUsd:0,switches:0,escalations:0,retries:0,preventedPremium:0,manualOverrides:0,dryRunDecisions:0,premiumRequests:0,premiumUsd:0,latencyMsTotal:0,latencySamples:0,failures:qB(),byModel:{},timeouts:0}),LB=()=>({requests:0,input:0,output:0,cacheRead:0,cacheWrite:0,usd:0,failures:0,outputTokensPerSecond:0,latencyMsTotal:0,latencySamples:0,timeoutFailures:0}),qE=(e=Date.now())=>({version:LE,usage:[],premiumSpend:[],sessions:{},decisions:[],metrics:Doe(e),cooldowns:{},providerCooldowns:{},updatedAt:e}),gn=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),ne=(e,t=0)=>typeof e=="number"&&Number.isFinite(e)?e:t,Fy=e=>{if(gn(e)&&!(typeof e.providerID!="string"||typeof e.id!="string"))return{providerID:e.providerID,id:e.id,...typeof e.variant=="string"?{variant:e.variant}:{}}},Poe=e=>{if(gn(e)&&!(typeof e.providerID!="string"||typeof e.modelID!="string"))return{id:typeof e.id=="string"?e.id:wr("evt"),at:ne(e.at,Date.now()),providerID:e.providerID,modelID:e.modelID,...typeof e.sessionID=="string"?{sessionID:e.sessionID}:{},usd:Math.max(0,ne(e.usd)),input:Math.max(0,ne(e.input)),output:Math.max(0,ne(e.output)),cacheRead:Math.max(0,ne(e.cacheRead)),cacheWrite:Math.max(0,ne(e.cacheWrite)),source:e.source==="bootstrap"||e.source==="manual"?e.source:"step"}},Moe=e=>{if(!gn(e)||typeof e.providerID!="string"||typeof e.modelID!="string")return;let t=ne(e.hour);if(!(t<=0))return{hour:Math.floor(t/$y)*$y,providerID:e.providerID,modelID:e.modelID,periodID:typeof e.periodID=="string"?e.periodID:"",requests:Math.max(0,ne(e.requests)),input:Math.max(0,ne(e.input)),output:Math.max(0,ne(e.output)),cacheRead:Math.max(0,ne(e.cacheRead)),cacheWrite:Math.max(0,ne(e.cacheWrite)),usd:Math.max(0,ne(e.usd)),failures:Math.max(0,ne(e.failures)),latencyMsTotal:Math.max(0,ne(e.latencyMsTotal)),latencySamples:Math.max(0,ne(e.latencySamples))}},BB=e=>`${e.hour}:${e.providerID}:${e.modelID}:${e.periodID}`,jB=(e,t,n)=>{let r=Math.floor(t.at/$y)*$y,o=BB({hour:r,providerID:t.providerID,modelID:t.modelID,periodID:n}),s=e.get(o);if(s){s.requests+=1,s.input+=t.input,s.output+=t.output,s.cacheRead+=t.cacheRead,s.cacheWrite+=t.cacheWrite,s.usd+=t.usd;return}e.set(o,{hour:r,providerID:t.providerID,modelID:t.modelID,periodID:n,requests:1,input:t.input,output:t.output,cacheRead:t.cacheRead,cacheWrite:t.cacheWrite,usd:t.usd,failures:0,latencyMsTotal:0,latencySamples:0})},_oe=e=>{if(!(!gn(e)||typeof e.sessionID!="string"))return{sessionID:e.sessionID,...typeof e.parentID=="string"?{parentID:e.parentID}:{},...typeof e.projectID=="string"?{projectID:e.projectID}:{},...typeof e.directory=="string"?{directory:e.directory}:{},manualOverride:e.manualOverride===!0,manualModel:Fy(e.manualModel),pinnedModel:Fy(e.pinnedModel),premiumOneShot:e.premiumOneShot===!0,premiumOneShotAt:typeof e.premiumOneShotAt=="number"?e.premiumOneShotAt:void 0,paused:e.paused===!0,lastModel:Fy(e.lastModel),lastRoutedModel:Fy(e.lastRoutedModel),lastDecisionID:typeof e.lastDecisionID=="string"?e.lastDecisionID:void 0,contextTokens:Math.max(0,ne(e.contextTokens)),cacheReadTokens:Math.max(0,ne(e.cacheReadTokens)),stepCount:Math.max(0,ne(e.stepCount)),status:e.status==="busy"||e.status==="idle"?e.status:"unknown",failures:Array.isArray(e.failures)?e.failures.filter(gn).slice(-12).map(t=>({class:typeof t.class=="string"?t.class:"unknown",at:ne(t.at),message:typeof t.message=="string"?t.message.slice(0,300):""})):[],retries:Math.max(0,ne(e.retries)),createdAt:ne(e.createdAt,Date.now()),updatedAt:ne(e.updatedAt,Date.now()),...typeof e.title=="string"?{title:e.title.slice(0,200)}:{}}},Uoe=e=>{let t=[],n=Date.now();if(!gn(e))return{ledger:qE(n),warnings:["No saved ledger found"]};e.version!==LE&&t.push("Saved ledger version differs; mixing retained data");let r=gn(e.metrics)?e.metrics:{},o={};if(gn(r.byModel))for(let[y,S]of Object.entries(r.byModel))gn(S)&&(o[y]={requests:Math.max(0,ne(S.requests)),input:Math.max(0,ne(S.input)),output:Math.max(0,ne(S.output)),cacheRead:Math.max(0,ne(S.cacheRead)),cacheWrite:Math.max(0,ne(S.cacheWrite)),usd:Math.max(0,ne(S.usd)),failures:Math.max(0,ne(S.failures)),outputTokensPerSecond:Math.max(0,ne(S.outputTokensPerSecond)),latencyMsTotal:Math.max(0,ne(S.latencyMsTotal)),latencySamples:Math.max(0,ne(S.latencySamples)),timeoutFailures:Math.max(0,ne(S.timeoutFailures))});let s={};if(gn(e.cooldowns))for(let[y,S]of Object.entries(e.cooldowns)){let v=ne(S);v>0&&(s[y]=v)}let i={};if(gn(e.providerCooldowns))for(let[y,S]of Object.entries(e.providerCooldowns)){let v=ne(S);v>0&&(i[y]=v)}let c={};if(gn(e.sessions))for(let y of Object.values(e.sessions)){let S=_oe(y);S&&(c[S.sessionID]=S)}let d=[];if(Array.isArray(e.decisions))for(let y of e.decisions)gn(y)&&typeof y.id=="string"&&typeof y.at=="number"&&d.push(y);let u=[];if(Array.isArray(e.usage))for(let y of e.usage){let S=Poe(y);S&&u.push(S)}let l=[],p=gn(e.usageRollup)?e.usageRollup:void 0;if(p&&Array.isArray(p.buckets))for(let y of p.buckets){let S=Moe(y);S&&l.push(S)}let f;if(u.length>Bd&&l.length===0){let y=new Map,S=u.length-Bd;for(let v of u.slice(0,S))jB(y,v,qp(v.at));l.push(...y.values()),f=u.slice(S),t.push(`Folded ${S} older usage events into hourly aggregates on load instead of discarding them`)}let g=qB();if(gn(r.failures))for(let y of Object.keys(g))g[y]=Math.max(0,ne(r.failures[y]));return{ledger:{version:LE,bootstrappedAt:typeof e.bootstrappedAt=="number"?e.bootstrappedAt:void 0,bootstrapSource:typeof e.bootstrapSource=="string"?e.bootstrapSource:void 0,cooldowns:s,providerCooldowns:i,usage:f?f.slice(-Bd):u.slice(-Bd),...l.length>0?{usageRollup:{version:1,buckets:l,recent:u.slice(-Bd),updatedAt:ne(p?.updatedAt,n)}}:{},premiumSpend:Array.isArray(e.premiumSpend)?e.premiumSpend.filter(gn).map(y=>({month:String(y.month??""),usd:Math.max(0,ne(y.usd))})).filter(y=>y.month):[],sessions:c,decisions:d.slice(0,Zp),metrics:{startedAt:ne(r.startedAt,n),requests:Math.max(0,ne(r.requests)),inputTokens:Math.max(0,ne(r.inputTokens)),cacheReadTokens:Math.max(0,ne(r.cacheReadTokens)),cacheWriteTokens:Math.max(0,ne(r.cacheWriteTokens)),outputTokens:Math.max(0,ne(r.outputTokens)),estimatedUsd:Math.max(0,ne(r.estimatedUsd)),switches:Math.max(0,ne(r.switches)),escalations:Math.max(0,ne(r.escalations)),retries:Math.max(0,ne(r.retries)),preventedPremium:Math.max(0,ne(r.preventedPremium)),manualOverrides:Math.max(0,ne(r.manualOverrides)),dryRunDecisions:Math.max(0,ne(r.dryRunDecisions)),premiumRequests:Math.max(0,ne(r.premiumRequests)),premiumUsd:Math.max(0,ne(r.premiumUsd)),latencyMsTotal:Math.max(0,ne(r.latencyMsTotal)),latencySamples:Math.max(0,ne(r.latencySamples)),lastLatencyMs:typeof r.lastLatencyMs=="number"?r.lastLatencyMs:void 0,failures:g,byModel:o,timeouts:Math.max(0,ne(r.timeouts))},updatedAt:n},warnings:t}},hs=class{ledger;dirty=!1;providerFaultStreak=new Map;constructor(t){this.ledger=t??qE()}static hydrate(t){return Uoe(t)}get data(){return this.ledger}reset(){this.ledger=qE(),this.dirty=!0}get dirtyFlag(){return this.dirty}markClean(){this.dirty=!1}touch(){this.ledger.updatedAt=Date.now(),this.dirty=!0}ensureSession(t,n,r){let o=this.ledger.sessions[t];if(o)return n&&!o.parentID&&(o.parentID=n),r&&!o.title&&(o.title=r),o;let s=Date.now(),i={sessionID:t,...n?{parentID:n}:{},manualOverride:!1,premiumOneShot:!1,paused:!1,contextTokens:0,cacheReadTokens:0,stepCount:0,status:"unknown",failures:[],retries:0,createdAt:s,updatedAt:s,...r?{title:r}:{}};return this.ledger.sessions[t]=i,this.touch(),i}getSession(t){return this.ledger.sessions[t]}patchSession(t,n){let r=this.ensureSession(t);return Object.assign(r,n,{updatedAt:Date.now()}),this.touch(),r}setManual(t,n){let r=this.ensureSession(t);r.manualOverride=!0,r.manualModel=n,r.updatedAt=Date.now(),this.ledger.metrics.manualOverrides+=1,this.touch()}clearManual(t){let n=this.ensureSession(t);n.manualOverride=!1,n.manualModel=void 0,n.updatedAt=Date.now(),this.touch()}grantPremiumOneShot(t){let n=this.ensureSession(t);n.premiumOneShot=!0,n.premiumOneShotAt=Date.now(),n.updatedAt=Date.now(),this.touch()}consumePremiumOneShot(t){let n=this.ensureSession(t);n.premiumOneShot=!1,n.premiumOneShotAt=void 0,n.updatedAt=Date.now(),this.touch()}premiumSpent(t=qp()){return this.ledger.premiumSpend.find(n=>n.month===t)?.usd??0}addPremiumSpend(t){if(t<=0)return;let n=qp(),r=this.ledger.premiumSpend.find(o=>o.month===n);r?r.usd+=t:this.ledger.premiumSpend.push({month:n,usd:t}),this.ledger.metrics.premiumUsd+=t}recordUsage(t){let n=t.at??Date.now(),r={id:wr("use"),at:n,providerID:t.model.providerID,modelID:t.model.id,sessionID:t.sessionID,usd:Math.max(0,t.cost),input:Math.max(0,t.tokens.input),output:Math.max(0,t.tokens.output),cacheRead:Math.max(0,t.tokens.cache.read),cacheWrite:Math.max(0,t.tokens.cache.write),source:"step"};this.ledger.usage.push(r),this.ledger.metrics.requests+=1,this.ledger.metrics.inputTokens+=r.input,this.ledger.metrics.outputTokens+=r.output,this.ledger.metrics.cacheReadTokens+=r.cacheRead,this.ledger.metrics.cacheWriteTokens+=r.cacheWrite,this.ledger.metrics.estimatedUsd+=r.usd,t.premium&&(this.ledger.metrics.premiumRequests+=1),t.latencyMs!==void 0&&Number.isFinite(t.latencyMs)&&(this.ledger.metrics.latencySamples+=1,this.ledger.metrics.latencyMsTotal+=Math.max(0,t.latencyMs),this.ledger.metrics.lastLatencyMs=Math.max(0,t.latencyMs));let o=Ue(t.model.providerID,t.model.id),s=this.ledger.metrics.byModel[o]??=LB();if(s.requests+=1,s.input+=r.input,s.output+=r.output,s.cacheRead+=r.cacheRead,s.cacheWrite+=r.cacheWrite,s.usd+=r.usd,t.latencyMs!==void 0&&Number.isFinite(t.latencyMs)&&t.latencyMs>0){let c=Math.max(0,t.latencyMs);if(s.latencySamples+=1,s.latencyMsTotal+=c,r.output>0){let d=c/1e3,u=r.output/Math.max(.001,d),l=s.outputTokensPerSecond;s.outputTokensPerSecond=l>0?l*.7+u*.3:u}}t.premium&&this.addPremiumSpend(r.usd);let i=this.ensureSession(t.sessionID);i.lastModel=t.model,i.contextTokens=r.input+r.cacheRead+r.cacheWrite,i.cacheReadTokens=r.cacheRead,i.stepCount+=1,i.updatedAt=n,this.prune(n),this.touch()}recordDecision(t){if(this.ledger.decisions.unshift(t),this.ledger.decisions=this.ledger.decisions.slice(0,Zp),t.switched&&(this.ledger.metrics.switches+=1),t.dryRun&&(this.ledger.metrics.dryRunDecisions+=1),t.needsPremiumApproval&&(this.ledger.metrics.preventedPremium+=1),t.chosen?.providerID&&t.chosen){let r=t.candidates.find(s=>s.model.providerID===t.chosen?.providerID&&s.model.modelID===t.chosen?.id),o=t.candidates.find(s=>s.model.providerID===t.current?.providerID&&s.model.modelID===t.current?.id);r&&o&&r.tier>o.tier&&(this.ledger.metrics.escalations+=1)}let n=this.ensureSession(t.sessionID);n.lastDecisionID=t.id,t.chosen&&(n.lastRoutedModel=t.chosen),n.updatedAt=t.at,this.touch()}recordFailure(t,n,r,o,s={}){if(this.ledger.metrics.failures[r]=(this.ledger.metrics.failures[r]??0)+1,(s.providerScoped||s.saturation)&&n){let c=(this.providerFaultStreak.get(n.providerID)??0)+1;if(this.providerFaultStreak.set(n.providerID,c),c>=Eoe){let d=Date.now()+Toe;this.ledger.providerCooldowns={...this.ledger.providerCooldowns??{},[n.providerID]:Math.max(this.ledger.providerCooldowns?.[n.providerID]??0,d)}}}if(s.providerScoped&&!s.saturation&&n){let c=this.ensureSession(t);c.failures=[...c.failures,{class:r,at:Date.now(),message:qe(o)}].slice(-12),c.updatedAt=Date.now(),this.touch();return}if(s.saturation&&n){this.armModelCooldown(n,s.cooldownMs??0,1);let c=this.ensureSession(t);c.failures=[...c.failures,{class:r,at:Date.now(),message:qe(o)}].slice(-12),c.updatedAt=Date.now(),this.touch();return}if(n&&s.countAgainstModel!==!1){let c=Ue(n.providerID,n.id),d=this.ledger.metrics.byModel[c]??=LB();d.failures+=1,(r==="context_overflow"||r==="rate_limit")&&(d.timeoutFailures+=1,this.ledger.metrics.timeouts+=1),(s.cooldownMs??0)>0&&this.armModelCooldown(n,s.cooldownMs??0,Math.min(4,d.failures%4+1))}let i=this.ensureSession(t);i.failures=[...i.failures,{class:r,at:Date.now(),message:qe(o)}].slice(-12),i.updatedAt=Date.now(),this.touch()}cooldowns(){return this.ledger.cooldowns??{}}armModelCooldown(t,n,r){if(n<=0)return;let o=Ue(t.providerID,t.id),s=this.ledger.cooldowns?.[o]??0,i=Date.now()+n*Math.max(1,r);this.ledger.cooldowns={...this.ledger.cooldowns??{},[o]:Math.max(s,i)}}holdModel(t,n){this.armModelCooldown(t,n,1)}providerCooldowns(){return this.ledger.providerCooldowns??{}}exhaustProvider(t,n){let r=this.ledger.providerCooldowns?.[t]??0;n<=r||(this.ledger.providerCooldowns={...this.ledger.providerCooldowns??{},[t]:n})}isProviderCoolingDown(t,n=Date.now()){let r=this.ledger.providerCooldowns?.[t];return typeof r=="number"&&r>n}recordProviderSuccess(t){this.providerFaultStreak.size>0&&this.providerFaultStreak.delete(t)}isCoolingDown(t,n=Date.now()){let r=this.ledger.cooldowns?.[t];return typeof r=="number"&&r>n}recordRetry(t){this.ledger.metrics.retries+=1;let n=this.ensureSession(t);n.retries+=1,n.updatedAt=Date.now(),this.touch()}bootstrap(t,n){if(this.ledger.bootstrappedAt)return{added:0,skipped:!0};let r=n.now??Date.now(),o=r-n.days*24*60*60*1e3,s=t.filter(i=>i.cost>0&&i.updatedAt>=o&&i.model).sort((i,c)=>c.updatedAt-i.updatedAt).slice(0,Math.max(0,n.limit));for(let i of s){let c=i.model;c&&this.ledger.usage.push({id:wr("boot"),at:Math.min(r,i.updatedAt),providerID:c.providerID,modelID:c.id,sessionID:i.id,usd:Math.max(0,i.cost),input:Math.max(0,i.tokens?.input??0),output:Math.max(0,i.tokens?.output??0),cacheRead:Math.max(0,i.tokens?.cache.read??0),cacheWrite:Math.max(0,i.tokens?.cache.write??0),source:"bootstrap"})}return this.ledger.bootstrappedAt=r,this.ledger.bootstrapSource=`Recent sessions (${s.length}) attributed to each session's selected model; approximate when a session switched models.`,this.prune(r),this.touch(),{added:s.length,skipped:!1}}importHistory(t,n={}){let r=n.now??Date.now(),o=new Set(this.ledger.usage.map(c=>c.id)),s=0,i=0;for(let c of t){let d=`hist:${c.id}`;if(o.has(d)){i+=1;continue}this.ledger.usage.push({id:d,at:Math.min(r,c.at),providerID:c.providerID,modelID:c.modelID,usd:Math.max(0,c.cost),input:Math.max(0,c.input),output:Math.max(0,c.output),cacheRead:Math.max(0,c.cacheRead),cacheWrite:Math.max(0,c.cacheWrite),source:"bootstrap"}),o.add(d),s+=1}return s>0&&(this.ledger.bootstrappedAt=r,this.ledger.bootstrapSource=n.source??`Imported ${s} messages from OpenCode history, each attributed to the model that actually served it.`,this.prune(r),this.touch()),{added:s,skipped:i}}totalsForModel(t,n,r={}){let o=r.now??Date.now(),s=r.periodStart??o-$E,i=o-Ooe,c=o-Coe,d=0,u=0,l=0,p=0,f=0,g=0,b=0;for(let y of this.ledger.usage)y.providerID!==t||y.modelID!==n||(y.at>=s&&(d+=y.usd,p+=y.input,f+=y.output,g+=y.cacheRead,b+=1),y.at>=i&&(u+=y.usd),y.at>=c&&(l+=y.usd));return{monthlyUsd:d,fiveHourUsd:u,weeklyUsd:l,input:p,output:f,cacheRead:g,requests:b}}modelQuotaSnapshots(t,n,r,o,s=Date.now()){let i=r?.periodStart??(r?.monthly.resetsAt?r.monthly.resetsAt-$E:s-$E),c={};for(let d of n){if(d.providerID!==t)continue;let u=this.totalsForModel(t,d.modelID,{now:s,periodStart:i}),l=d.monthlyAllowanceUsd>0?d.monthlyAllowanceUsd:0,p=l>0?l*.2:0,f=l>0?l*.5:0,g=l>0?Ht(u.monthlyUsd,l):0,b=p>0?Ht(u.fiveHourUsd,p):0,y=f>0?Ht(u.weeklyUsd,f):0,S=!1,v;l>0&&g>=100?(S=!0,v="Estimated monthly model allowance exhausted"):p>0&&b>=100?(S=!0,v="Estimated five-hour model allowance exhausted"):f>0&&y>=100&&(S=!0,v="Estimated weekly model allowance exhausted");let I=Ue(t,d.modelID);c[I]={model:{providerID:t,modelID:d.modelID},monthlyAllowanceUsd:l,monthlyUsedUsd:u.monthlyUsd,monthlyRemainingUsd:Math.max(0,l-u.monthlyUsd),monthlyUsedPct:g,fiveHourUsedUsd:u.fiveHourUsd,fiveHourCapUsd:p,fiveHourUsedPct:b,weeklyUsedUsd:u.weeklyUsd,weeklyCapUsd:f,weeklyUsedPct:y,blocked:S,...v?{blockReason:v}:{},source:"estimate"}}return c}attachModelQuotas(t,n,r,o=Date.now()){return{...t,models:this.modelQuotaSnapshots(t.providerID,n,t,r,o)}}snapshotMetrics(){return structuredClone(this.ledger.metrics)}usageEvents(t){if(!t)return this.ledger.usage;let{since:n}=t,r=t.until??Date.now(),o=this.ledger.usage.filter(c=>c.at>=n&&c.at<=r),s=this.ledger.usageRollup?.buckets;if(!s||s.length===0)return o;let i=[];for(let c of s)c.hour<n||c.hour>r||i.push({id:`folded_${c.hour}_${c.providerID}_${c.modelID}`,at:c.hour,providerID:c.providerID,modelID:c.modelID,usd:c.usd,input:c.input,output:c.output,cacheRead:c.cacheRead,cacheWrite:c.cacheWrite,source:"step"});return[...i,...o].sort((c,d)=>c.at-d.at)}foldUsage(t){let n=this.ledger.usageRollup??={version:1,buckets:[],recent:[],updatedAt:t},r=new Map;for(let l of n.buckets)r.set(BB(l),l);let o=t-Aoe,s=[],i=Math.max(0,this.ledger.usage.length-Bd*.8),c=0;for(let l of this.ledger.usage){if(!(l.at<o||c<i)){s.push(l);continue}c+=1,jB(r,l,this.periodIDFor(l.at))}this.ledger.usage=s;let d=t-Roe,u=[...r.values()].filter(l=>l.hour>=d);u.sort((l,p)=>l.hour-p.hour),n.buckets=u.length>$B?u.slice(u.length-$B):u,n.recent=s,n.updatedAt=t}periodIDFor(t){return qp(t)}aggregate(t){let n=t.until??Date.now(),r={requests:0,input:0,output:0,cacheRead:0,cacheWrite:0,usd:0,failures:0,latencyMsTotal:0,latencySamples:0},o=(s,i)=>(!t.providerID||s===t.providerID)&&(!t.modelID||i===t.modelID);for(let s of this.ledger.usageRollup?.buckets??[])s.hour<t.since||s.hour>n||o(s.providerID,s.modelID)&&(r.requests+=s.requests,r.input+=s.input,r.output+=s.output,r.cacheRead+=s.cacheRead,r.cacheWrite+=s.cacheWrite,r.usd+=s.usd,r.failures+=s.failures,r.latencyMsTotal+=s.latencyMsTotal,r.latencySamples+=s.latencySamples);for(let s of this.ledger.usage)s.at<t.since||s.at>n||o(s.providerID,s.modelID)&&(r.requests+=1,r.input+=s.input,r.output+=s.output,r.cacheRead+=s.cacheRead,r.cacheWrite+=s.cacheWrite,r.usd+=s.usd);return{...r,since:t.since,until:n}}usageByModel(t){let n=new Map,r=t.until??Date.now(),o=(s,i,c)=>{let d=Ue(s,i),u=n.get(d);u||(u={providerID:s,modelID:i,requests:0,input:0,output:0,cacheRead:0,cacheWrite:0,usd:0},n.set(d,u)),u.requests+=c.requests,u.input+=c.input,u.output+=c.output,u.cacheRead+=c.cacheRead,u.cacheWrite+=c.cacheWrite,u.usd+=c.usd};for(let s of this.ledger.usageRollup?.buckets??[])s.hour<t.since||s.hour>r||o(s.providerID,s.modelID,s);for(let s of this.ledger.usage)s.at<t.since||s.at>r||o(s.providerID,s.modelID,{...s,requests:1});return[...n.values()].sort((s,i)=>i.usd-s.usd)}prune(t=Date.now()){this.foldUsage(t),this.ledger.decisions.length>Zp&&(this.ledger.decisions=this.ledger.decisions.slice(0,Zp));let n=Object.values(this.ledger.sessions);n.length>FB&&n.sort((r,o)=>r.updatedAt-o.updatedAt).slice(0,n.length-FB).forEach(r=>delete this.ledger.sessions[r.sessionID])}export(){return this.prune(),structuredClone(this.ledger)}get lastDecision(){return this.ledger.decisions[0]}decisions(t=10){return this.ledger.decisions.slice(0,vr(t,1,Zp))}modelMetrics(t){return this.ledger.metrics.byModel[t]}sessionModelKey(t){return $d(this.ledger.sessions[t]?.lastModel)}};import{closeSync as Noe,constants as HB,fstatSync as Foe,openSync as $oe,readFileSync as Loe}from"node:fs";import{homedir as KB}from"node:os";import{join as gs}from"node:path";var jE="SMART_ROUTER_ALLOW_KEY_DISCOVERY",GB=(e,t=process.env)=>{if(e)return e;let n=t[jE]?.trim().toLowerCase();return n==="1"||n==="true"||n==="yes"?"auto":"explicit"},qoe=64*1024,Ly=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),BE=(e,t)=>{for(let n of t){let r=e[n];if(typeof r=="string"&&r.trim().length>0)return r.trim()}},ys=e=>{let t=e.trim();return t.length<16||t.length>4096||/\s/.test(t)?!1:t.startsWith("sk-")||t.startsWith("vela_")?!0:!(/^[A-Za-z_][A-Za-z0-9_]*$/.test(t)&&!t.startsWith("user_")&&!t.startsWith("cmd_"))},Boe=(e,t)=>{for(let n of e.split(/\r?\n/)){let r=n.trim();if(!r||r.startsWith("#"))continue;let o=/^(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/.exec(r);if(!o)continue;let[,s,i]=o;if(!s||!t.includes(s))continue;let c=(i??"").trim();if((c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'"))&&(c=c.slice(1,-1)),ys(c))return c}},joe=(e,t)=>{if(!Ly(e))return;let n=BE(e,["apiKey","key","access","token"]);if(n&&ys(n))return n;for(let r of t){let o=e[r];if(Ly(o)){let s=BE(o,["apiKey","key","access","token"]);if(s&&ys(s))return s}}for(let r of["providers","auth","credentials"]){let o=e[r];if(Ly(o))for(let s of t){let i=o[s];if(Ly(i)){let c=BE(i,["apiKey","key","access","token"]);if(c&&ys(c))return c}}}},VB={envNames:["COMMAND_CODE_API_KEY","COMMANDCODE_API_KEY"],jsonKeys:["commandcode","command-code","commandCode","command_code"],label:"Command Code"},Qp=(e,t,n,r=!1)=>{let o;try{o=$oe(e,HB.O_RDONLY|HB.O_NOFOLLOW);let s=Foe(o);if(!s.isFile()){t.push(`${n.label} credential path is not a regular file: ${e}`);return}if(s.size>qoe){t.push(`${n.label} credential file is unexpectedly large: ${e}`);return}if((s.mode&63)!==0){t.push(`Ignoring ${n.label} credential file with group/world permissions: ${e}`);return}if(!r&&typeof process.getuid=="function"&&s.uid!==process.getuid()){t.push(`Ignoring ${n.label} credential file owned by another user: ${e}`);return}if(s.size===0)return;let i=Loe(o,"utf8").trim();if(!i)return;let c;if(i.startsWith("{"))try{c=joe(JSON.parse(i),n.jsonKeys)}catch(d){t.push(`Could not parse ${e}: ${Fn(d instanceof Error?d.message:String(d))}`)}else i.includes("=")?c=Boe(i,n.envNames):ys(i)&&(c=i);if(!c){t.push(`No ${n.label} API key found in ${e}`);return}return{source:e,key:c,path:e}}catch(s){let i=s?.code;if(i==="ENOENT")return;if(i==="ELOOP"){t.push(`Ignoring ${n.label} credential path because it is a symlink: ${e}`);return}t.push(`Could not read ${e}: ${Fn(s instanceof Error?s.message:String(s))}`);return}finally{if(o!==void 0)try{Noe(o)}catch{}}},Hoe=(e,t)=>Qp(e,t,VB),JB=(e={})=>{let t=[],n=[],r=new Set,o=e.home??KB(),s=e.env??process.env,i=GB(e.credentialSource,s),c=u=>{!u||r.has(u.key)||(r.add(u.key),n.push(u))},d=s.COMMAND_CODE_API_KEY?.trim()||s.COMMANDCODE_API_KEY?.trim();if(d&&ys(d)&&c({source:"environment",key:d}),e.explicitPath&&c(Qp(e.explicitPath,t,VB,!0)),i==="off")n.length===0&&t.push("Credential discovery is disabled, so no Command Code key was found. Set COMMAND_CODE_API_KEY or configure an explicit path.");else if(i==="auto"){let u=[gs(o,".commandcode","auth.json"),gs(o,".config","opencode","commandcode.key"),gs(o,".config","opencode","commandcode.env"),gs(o,".config","opencode","commandcode.json")];for(let l of u)c(Hoe(l,t))}else n.length===0&&t.push(`No Command Code key was supplied. Automatic discovery is off by default; set ${jE}=1 to let the router read ${gs(o,".config","opencode","commandcode.key")}, or set COMMAND_CODE_API_KEY.`);return e.openCodeIntegrationKey&&ys(e.openCodeIntegrationKey)&&c({source:"OpenCode integration",key:e.openCodeIntegrationKey}),e.providerSettingsKey&&ys(e.providerSettingsKey)&&c({source:"OpenCode provider settings",key:e.providerSettingsKey}),{candidates:n,warnings:t}},zB={envNames:["OPENDESIGN_API_KEY","OPEN_DESIGN_API_KEY"],jsonKeys:["opendesign","open-design","openDesign","open_design"],label:"OpenDesign"},WB=e=>{let t=e.trim();return ys(t)?/^sk-[A-Za-z0-9._-]{8,}$/.test(t):!1},ZB=(e={})=>{let t=[],n=[],r=new Set,o=e.home??KB(),s=e.env??process.env,i=GB(e.credentialSource,s),c=u=>{!u||r.has(u.key)||WB(u.key)&&(r.add(u.key),n.push(u))},d=s.OPENDESIGN_API_KEY?.trim()||s.OPEN_DESIGN_API_KEY?.trim();if(d&&(WB(d)?c({source:"environment",key:d}):t.push("The OpenDesign environment key does not look like an inference key and was ignored.")),e.explicitPath&&c(Qp(e.explicitPath,t,zB,!0)),i==="off")n.length===0&&t.push("Credential discovery is disabled, so no OpenDesign key was found. Set OPENDESIGN_API_KEY or configure an explicit path.");else if(i==="auto"){let u=[gs(o,".config","opencode","opendesign.key"),gs(o,".config","opencode","opendesign.env"),gs(o,".config","opencode","opendesign.json")];for(let l of u)c(Qp(l,t,zB))}else n.length===0&&t.push(`No OpenDesign key was supplied. Automatic discovery is off by default; set ${jE}=1 to let the router read ${gs(o,".config","opencode","opendesign.key")}, or set OPENDESIGN_API_KEY.`);return e.providerSettingsKey&&c({source:"OpenCode provider settings",key:e.providerSettingsKey}),{candidates:n,warnings:t}},QB=(e={})=>{let t=[],n=[];if(!e.explicitPath)return t.push("No OpenDesign control key path is configured, so quota is reported as an estimate rather than a verified balance."),{candidates:n,warnings:t};let r=Qp(e.explicitPath,t,{envNames:["OPENDESIGN_CONTROL_KEY"],jsonKeys:["opendesign-control","opendesignControl","control"],label:"OpenDesign control"},!0);return r&&n.push(r),{candidates:n,warnings:t}},jd=e=>{if(!e)return"not found";if(e.path){let t=e.path.split("/").filter(r=>r.length>0);return`file (${t[t.length-1]??"file"})`}switch(e.source){case"environment":return"environment variable";case"OpenCode integration":return"OpenCode integration";case"OpenCode provider settings":return"OpenCode provider settings";default:return"configured"}};var qy=e=>{let{settings:t,mode:n,task:r,session:o,premium:s}=e;return r.tier===3||r.constraints.requestPremium?t.premium.mode==="off"?{allowed:!1,requiresApproval:!1,reason:"Premium routing is off in settings."}:n==="efficiency"?{allowed:!1,requiresApproval:!1,reason:"Maximum Efficiency locks premium models unless you select one manually."}:o?.premiumOneShot&&t.premium.oneShotApproval?{allowed:!0,requiresApproval:!1,reason:"A one-shot premium approval is active for this session."}:n==="premium"&&t.premium.mode==="allowed"&&s.remainingUsd>0?{allowed:!0,requiresApproval:!1,reason:"Premium Allowed mode has a remaining premium budget."}:s.remainingUsd>0&&t.premium.mode==="allowed"?{allowed:!1,requiresApproval:!0,reason:"Premium is available but requires this session's approval."}:{allowed:!1,requiresApproval:!0,reason:"Premium escalation is disabled or has no remaining budget; approval is required."}:{allowed:!1,requiresApproval:!1,reason:"Premium models are reserved for premium-tier work."}},Woe=e=>e?.error?/authoriz|authenticat|unauthorized|forbidden|401|403|credential/i.test(e.error):!1,Koe=(e,t,n="",r=!1)=>{if(!e){let l=t.providers[n];return l?.enabled===!0&&l?.probeUsage===!0&&r&&t.routing?.failClosed!==!1?"Provider quota has not been probed yet; refusing rather than assuming it has room":void 0}let o=t.providers[e.providerID];if(!o)return;let s=o.reserveMonthlyPct,i=o.reserveWeeklyPct,c=o.reserveFiveHourPct,d=e.extraCredits?.totalUsd??0;if(!!(e.monthly.exceeded||e.weekly.exceeded||e.rolling.exceeded))return d>0&&o.allowExtraUsage?void 0:d>0?"Provider would spend purchased credits; automatic extra-credit use is disabled":"Provider allowance is exhausted";if(e.monthlyRemainingUsd!==void 0&&e.monthlyRemainingUsd<=0)return d>0&&o.allowExtraUsage?void 0:d>0?"Provider included credits are exhausted; automatic extra-credit use is disabled":"Provider allowance is exhausted";if(e.monthly.source!=="unknown"&&e.monthly.usedPct>=100-s)return"Provider monthly allowance is at or near its configured reserve";if(e.weekly.source!=="unknown"&&e.weekly.usedPct>=100-i)return"Provider weekly allowance is at or near its configured reserve";if(e.rolling.source!=="unknown"&&e.rolling.usedPct>=100-c)return"Provider five-hour allowance is at or near its configured reserve"},Goe=(e,t)=>{if(!e)return;let n=t.providers[e.model.providerID];if(n){if(e.monthlyAllowanceUsd>0&&e.monthlyUsedPct>=100-n.reserveMonthlyPct)return"Estimated model monthly allowance is at or near its configured reserve";if(e.fiveHourCapUsd>0&&e.fiveHourUsedPct>=100-n.reserveFiveHourPct)return"Estimated model five-hour allowance is at or near its configured reserve";if(e.weeklyCapUsd>0&&e.weeklyUsedPct>=100-n.reserveWeeklyPct)return"Estimated model weekly allowance is at or near its configured reserve";if(e.blocked)return e.blockReason??"Estimated model allowance is exhausted"}},Voe=(e,t,n)=>{if(!e||!t.providers[e.providerID]?.subscriptionOnly||n===void 0||!Number.isFinite(n)||n<=0)return;let o=[{label:"five-hour",window:e.rolling},{label:"weekly",window:e.weekly},{label:"monthly",window:e.monthly}];for(let{label:s,window:i}of o){if(i.source==="unknown")continue;let c=i.capUsd;if(c===void 0||c<=0)continue;let d=i.usedUsd??0,u=Math.max(0,c-d);if(n>u)return`Subscription-only policy: the projected request cost ($${n.toFixed(4)}) exceeds the remaining ${s} allowance ($${u.toFixed(2)})`}},Joe=(e,t)=>{if(!e)return;let n=t.providers[e.providerID];if(!n)return;let r=e.quotaState??(e.source==="unknown"?"unknown":void 0);if(r!=="unknown"&&r!=="unavailable")return;let o=n.unknownQuotaPolicy??"route";if(o!=="route")return o==="ask"?"Provider quota state is unknown; the configured policy requires explicit approval before routing here":"Provider quota state is unknown; the configured policy blocks routing here"},Zoe=(e,t)=>e.offline?.enabled!==!0?!0:t.providerID!==Ld,Hd=e=>{let{model:t,task:n,settings:r,mode:o,providerQuota:s,modelQuota:i,premium:c}=e,d=[];if(!r.providers[t.providerID]?.enabled)return{eligible:!1,reason:"Provider is disabled in router settings",warnings:d};if(Woe(s))return{eligible:!1,reason:"Provider authentication is failing; fix the connection before routing here",warnings:d};let l=r.offline?.enabled===!0&&t.providerID===Ld;if(!t.approved&&!l)return{eligible:!1,reason:"Model is unclassified or not approved",warnings:d};if(t.training&&!r.privacy.allowTrainingModels)return{eligible:!1,reason:"Training-enabled model is blocked by privacy policy",warnings:d};if(t.free&&!r.privacy.allowFreeModels)return{eligible:!1,reason:"Free promotional model is blocked by privacy policy",warnings:d};if(n.requiresVision&&!t.inputModalities.includes("image"))return{eligible:!1,reason:"Task includes an image and this model has no native image input",warnings:d};if(!t.tools)return{eligible:!1,reason:"Model does not support tool calling",warnings:d};let p=Math.max(e.contextTokens,n.scope.promptTokens)+vE(t.context);if(t.context>0&&p>t.context*.95)return{eligible:!1,reason:`Context requirement ${p.toLocaleString()} exceeds this model's safe window`,warnings:d,rejectedFor:"context",contextRequiredTokens:p,contextWindowTokens:t.context};let f=n.tier>=2,g=Zoe(r,t),b=e.intelligenceFloor??r.routing.intelligenceFloor;if(f&&g&&t.intelligence<b)return{eligible:!1,reason:`Intelligence ${t.intelligence.toFixed(1)} is below the ${r.routing.intelligenceFloor.toFixed(1)} floor for substantive work`,warnings:d};if(n.tier<=1&&t.tier===3)return{eligible:!1,reason:"Premium models are not used for trivial or mechanical work",warnings:d};let y;if(n.designIntensive){let A=n.sophisticatedDesign?r.routing.sophisticatedDesignFloor:r.routing.designFloor;if(t.design<A)if(e.allowDesignRelaxation)y=A,d.push(`Design capability ${t.design} is below the preferred ${A} threshold; selected as the best available fallback`);else return{eligible:!1,reason:`Design capability ${t.design} is below the ${A} threshold`,warnings:d}}if(t.premium){if(!c.allowed)return{eligible:!1,reason:c.reason,warnings:d};if(n.tier<3&&!n.constraints.requestPremium)return{eligible:!1,reason:"Premium models are reserved for premium-tier work",warnings:d}}if(t.escalationOnly&&e.escalationPoolProtected)return{eligible:!1,reason:"This model is funded from an escalation pool, and an ordinary-allowance route can serve this task",warnings:d};let S=Koe(s,r,t.providerID,e.quotaIsKnown===!0);if(S)return{eligible:!1,reason:S,warnings:d};let v=Joe(s,r);if(v)return{eligible:!1,reason:v,warnings:d};let I=Voe(s,r,e.projectedUsd);if(I)return{eligible:!1,reason:I,warnings:d};let R=Goe(i,r);return R?{eligible:!1,reason:R,warnings:d}:o==="efficiency"&&n.tier>=2&&t.tier===1?{eligible:!1,reason:"Economy models cannot handle substantive engineering in Maximum Efficiency mode",warnings:d}:y!==void 0?{eligible:!0,reason:`Eligible only as a design fallback: design ${t.design} is below the ${y} threshold`,warnings:d}:{eligible:!0,reason:"Meets every hard requirement",warnings:d}},Qoe=1440*60*1e3,Yoe={rolling:300*60*1e3,weekly:10080*60*1e3,monthly:720*60*60*1e3},Xoe=(e,t)=>{if(!e)return 0;let n=0;for(let r of["rolling","weekly","monthly"]){let o=e[r];if(!o||o.source==="unknown"||typeof o.resetsAt!="number")continue;let s=o.resetsAt-t;if(s<=0||s>Qoe||o.usedPct<=0||typeof o.usedUsd!="number"||typeof o.capUsd!="number"||o.capUsd<=0)continue;let i=Yoe[r],c=Math.max(0,i-s);if(c<.05*i)continue;let d=Math.max(0,o.capUsd-o.usedUsd);if(d<=0)continue;let l=o.usedUsd/c*s;n=Math.max(n,Math.min(1,Math.max(0,1-l/d)))}return n},HE=(e,t)=>{if(!e)return 1;let n=[e.rolling,e.weekly,e.monthly].filter(s=>s.source!=="unknown"&&typeof s.resetsAt=="number");if(n.length===0||!n.some(s=>s.remainingPct>0))return 1;let o=Xoe(e,t);return o<=0?1:1-ese*o},ese=.95,zE=(e,t=Date.now())=>{if(!e||e.monthly.source==="unknown"&&e.weekly.source==="unknown"&&e.rolling.source==="unknown")return 1.5;let r=e.monthly.source==="unknown"?0:e.monthly.usedPct,o=e.weekly.source==="unknown"?0:e.weekly.usedPct,s=e.rolling.source==="unknown"?0:e.rolling.usedPct;return 1+1.5*(r/100)**2+2.5*(o/100)**2+2.5*(s/100)**2+(e.stale?.15:0)},WE=e=>e?1+1.5*(e.monthlyUsedPct/100)**2+1*(e.fiveHourUsedPct/100)**2+1*(e.weeklyUsedPct/100)**2:1;var YB={deterministic:200,mechanical:300,docs:800,test:1e3,debug:1100,feature:1300,refactor:1500,security:1800,architecture:2e3,design:2400,unknown:1e3},tse={deterministic:1,mechanical:1,docs:1,test:2,debug:3,feature:3,refactor:3,security:3,architecture:3,design:3,unknown:2},XB=.85,nse=(e,t)=>{let n=[...e.cost].sort((o,s)=>(o.tier?.size??0)-(s.tier?.size??0)),r=n[0]??{input:0,output:0,cache:{read:0,write:0}};for(let o of n)o.tier?.type==="context"&&t>=o.tier.size&&(r=o);return r},rse=(e,t)=>{let n=new Date(e),r=n.getUTCDay();if(t.weekdaysOnly&&(r===0||r===6))return!1;let o=n.getUTCHours()+n.getUTCMinutes()/60+n.getUTCSeconds()/3600;return t.windowsUtc.some(s=>o>=s.startHour&&o<s.endHour)},KE=e=>{let{model:t,task:n}=e,r=Math.max(e.contextTokens,n.scope.promptTokens),o=e.currentModelKey===Ue(t.providerID,t.modelID),s=tse[n.kind],i=nse(t,r),c=t.peakPricing&&rse(e.now??Date.now(),t.peakPricing)&&t.peakPricing.multiplier>0?t.peakPricing.multiplier:1,u=Math.min(YB[n.kind]*(n.tier===3?1.5:1),t.maxOutput||YB[n.kind])*s,l=o?XB:0,p=n.scope.promptTokens+r*(1-l)+r*.05*(s-1),f=r*l+r*.95*(s-1),g=(Number.isFinite(i.input)?i.input:0)*c,b=(Number.isFinite(i.output)?i.output:0)*c,y=(Number.isFinite(i.cache?.read)?i.cache?.read??0:0)*c,S=p*g/1e6+u*b/1e6+f*y/1e6,v=o?0:Math.max(0,r*XB*(g-y)/1e6),I=t.creditMultiplier&&t.creditMultiplier>0?t.creditMultiplier:1;return{usd:Math.max(0,S)*I,input:p,output:u,cacheRead:f,cacheWrite:0,switchPenaltyUsd:v*I,costTier:i,priceMultiplier:c,creditMultiplier:I}},ose=(e,t,n)=>{if(!t)return .95;let r=t.failures.filter(o=>o.class==="capability").length;return Math.max(.55,.95-r*.1)},ej=e=>{let{model:t,task:n}=e,r;if(n.tier<=1?r=t.tier===1?.93:.97:n.tier===2?r=t.tier===2?.94:.97:r=t.tier===3?.93:.7,t.training&&(r-=.05),n.designIntensive){let s=n.sophisticatedDesign?75:60;t.design<s&&(r*=.72)}let o=e.intelligenceFloor??39.5;if(n.tier>=2&&t.intelligence<o&&(r*=.7),t.context>0&&e.contextTokens>t.context*.8&&(r*=.9),t.context>0&&e.contextTokens>t.context*.95&&(r*=.6),r*=ose(t,e.session,Ue(t.providerID,t.modelID))/.95,e.history&&e.history.requests>=3){let s=e.history.requests+e.history.failures,i=s>0?Math.max(0,e.history.requests)/s:1;r*=.6+.4*i}return Math.max(.2,Math.min(.99,r))},Yp=e=>e.premium,sse=(e,t,n)=>{if(!e.settings.speed.enabled)return 1;let r=e.speed?.[t];if(!r||r.samples<e.settings.speed.minSamples||r.tokensPerSecond<=0||n<=0)return 1;let o=r.tokensPerSecond/n,s=Math.max(0,1-o),i=e.settings.speed.weightPct/100,c=1+s*i*2;return(o>0?1/o:e.settings.speed.slowRouteMultiple)>=e.settings.speed.slowRouteMultiple?c*(1+i):c},GE=(e,t)=>e.find(n=>n.providerID===t),VE=(e,t)=>e?.models[Ue(t.providerID,t.modelID)],ise=e=>({providerID:e.providerID,id:e.modelID}),tj=(e,t,n,r,o,s,i,c=1,d=1)=>{let u=r.usd*d*(1+(1-o)*2)*s*c;return{model:{providerID:t.providerID,modelID:t.modelID},name:t.name,tier:t.tier,eligible:n.eligible,reason:n.reason,estimatedUsd:r.usd,effectiveCost:u,successProbability:o,switchPenaltyUsd:r.switchPenaltyUsd,quotaPressure:s,retained:$d(e.current)===Ue(t.providerID,t.modelID),creditMultiplier:r.creditMultiplier,speedFactor:c,marginalPriceFactor:d}},Xp=e=>{let t=e.now??Date.now(),n=(e.quota??[]).some(D=>D.monthly.source!=="unknown"||D.weekly.source!=="unknown"||D.rolling.source!=="unknown"),r=e.intelligenceFloor??e.settings.routing.intelligenceFloor,o=[],s=[],i=$d(e.current),c=qy({settings:e.settings,mode:e.mode,task:e.task,session:e.session,premium:e.premium}),d=e.settings.offline?.enabled?"offline":"online",u=e.models;if(d==="offline"){u=e.models.filter(W=>RE(W.providerID,d));let D=e.models.filter(W=>!RE(W.providerID,d));if(D.length>0){let W=[...new Set(D.map(L=>L.providerID))].sort();o.push(`Offline mode excluded ${D.length} hosted model${D.length===1?"":"s"} from ${W.join(", ")}.`)}if(u.length===0)return{decision:{id:wr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,switched:!1,switchReason:"Offline mode has no local model available. No hosted provider will be used.",reasons:["Offline mode is enabled and no offline-capable model is in the registry."],warnings:[...o,"Offline mode fails closed: configure a local model, or run `opencode-online` to restore hosted routing."],candidates:[],premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:0,needsPremiumApproval:!1,manualOverride:!1},premiumDecision:c}}if(e.runtime==="paused")return{decision:{id:wr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,switched:!1,switchReason:"Routing is paused; the current model is unchanged.",reasons:["Pause switch is active."],warnings:[],candidates:[],premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:0,needsPremiumApproval:!1,manualOverride:!1},premiumDecision:c};if(e.runtime==="manual")return{decision:{id:wr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,switched:!1,switchReason:"Manual model selection is active for this session; the router did not override it.",reasons:["Manual override respected."],warnings:[],candidates:[],premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:0,needsPremiumApproval:!1,manualOverride:!0},premiumDecision:c};let l=[],p=D=>{let W=D===1?{...e.task,sophisticatedDesign:!1}:e.task,L=0;for(let kt of u){let rt=e.speed?.[Ue(kt.providerID,kt.modelID)];!rt||rt.samples<e.settings.speed.minSamples||rt.tokensPerSecond>L&&(L=rt.tokensPerSecond)}let oe=kt=>{let rt=[];for(let Ze of u){let Er=GE(e.quota,Ze.providerID),Zd=VE(Er,Ze),Qy=Ue(Ze.providerID,Ze.modelID),pT=e.cooldowns?.[Qy];if(typeof pT=="number"&&pT>t)continue;let fT=e.providerCooldowns?.[Ze.providerID];if(typeof fT=="number"&&fT>t)continue;let cf=KE({model:Ze,task:e.task,contextTokens:e.contextTokens,currentModelKey:i,now:t}),ao=Hd({intelligenceFloor:r,model:Ze,task:W,settings:e.settings,mode:e.mode,contextTokens:e.contextTokens,providerQuota:Er,quotaIsKnown:n,modelQuota:Zd,premium:c,currentModelKey:i,allowDesignRelaxation:D===2,projectedUsd:cf.usd,escalationPoolProtected:kt});if(!ao.eligible){ao.rejectedFor==="context"&&ao.contextRequiredTokens!==void 0&&ao.contextWindowTokens!==void 0&&l.push({model:Ze,required:ao.contextRequiredTokens,window:ao.contextWindowTokens,usd:cf.usd,tier:Ze.tier});continue}let mT=D===1&&e.task.sophisticatedDesign?`Standard design route: design ${Ze.design} is below the sophisticated ${e.settings.routing.sophisticatedDesignFloor} threshold`:ao.reason,hT=mT===ao.reason?ao:{...ao,reason:mT},gT=ej({model:Ze,task:e.task,contextTokens:e.contextTokens,session:e.session,currentModelKey:i,history:e.modelHistory?.[Ue(Ze.providerID,Ze.modelID)],intelligenceFloor:r}),yT=zE(Er,t)*WE(Zd),qj=sse(e,Ue(Ze.providerID,Ze.modelID),L),Bj=HE(Er,t),jj=tj(e,Ze,hT,cf,gT,yT,i,qj,Bj);rt.push({model:Ze,eligibility:hT,estimate:cf,probability:gT,pressure:yT,candidate:jj})}return rt.sort((Ze,Er)=>Ze.candidate.effectiveCost-Er.candidate.effectiveCost)},Le=oe(!1);return!e.settings.routing.protectEscalationPool||!Le.some(kt=>!kt.model.escalationOnly&&!kt.model.premium)?Le:oe(!0)},f=p(0);f.length===0&&e.task.designIntensive&&(f=p(1),f.length>0&&o.push("No model met the sophisticated design threshold; using the best qualified standard design route.")),f.length===0&&e.task.designIntensive&&(f=p(2),f.length>0&&o.push("No model met the standard design floor; using the best available design-capable fallback."));let g=!1;if(f.length===0&&e.task.tier===3){let D={allowed:!1,requiresApproval:c.requiresApproval,reason:c.reason},W=u.filter(L=>!L.premium).map(L=>{let oe=GE(e.quota,L.providerID),Le=VE(oe,L),ft=Ue(L.providerID,L.modelID),kt=e.cooldowns?.[ft];if(typeof kt=="number"&&kt>t)return;let rt=KE({model:L,task:e.task,contextTokens:e.contextTokens,currentModelKey:i,now:t}),Ze=Hd({intelligenceFloor:r,model:L,task:{...e.task,designIntensive:!1,sophisticatedDesign:!1},settings:e.settings,mode:e.mode,contextTokens:e.contextTokens,providerQuota:oe,quotaIsKnown:n,modelQuota:Le,premium:D,currentModelKey:i,allowDesignRelaxation:!0,projectedUsd:rt.usd});if(!Ze.eligible)return;let Er=ej({model:L,task:e.task,contextTokens:e.contextTokens,session:e.session,currentModelKey:i,history:e.modelHistory?.[Ue(L.providerID,L.modelID)],intelligenceFloor:r}),Zd=zE(oe,t)*WE(Le),Qy=HE(oe,t);return{model:L,eligibility:Ze,estimate:rt,probability:Er,pressure:Zd,candidate:tj(e,L,Ze,rt,Er,Zd,i,1,Qy)}}).filter(L=>!!L).sort((L,oe)=>L.candidate.effectiveCost-oe.candidate.effectiveCost);W.length>0&&(f=W,g=!0,o.push("Premium is unavailable; selected the best qualified standard fallback."))}if(f.length===0)return o.push("No approved model meets every hard requirement; the current model was left unchanged."),{decision:{id:wr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,switched:!1,switchReason:"No eligible route was found; the router failed closed and kept the current model.",reasons:[...e.task.reasons,...o],warnings:o,candidates:[],premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:0,needsPremiumApproval:c.requiresApproval,manualOverride:!1,...e.lastError?{error:qe(e.lastError)}:{}},premiumDecision:c};let b=f[0],y=i?f.find(D=>Ue(D.model.providerID,D.model.modelID)===i):void 0,S=e.contextTokens>=e.settings.routing.largeContextTokens,v=S?e.settings.routing.largeContextHysteresisPct:e.settings.routing.switchHysteresisPct,I=b,R=!1;if(y&&y.model.tier>=e.task.tier&&y.candidate.eligible){let D=y.candidate.effectiveCost-b.candidate.effectiveCost,W=y.candidate.effectiveCost*(v/100);b.model!==y.model&&D<W&&(I=y,R=!0)}let A=ise(I.model),x=!(i===Ue(I.model.providerID,I.model.modelID)),w=c.requiresApproval&&(e.task.tier===3||e.task.constraints.requestPremium)&&e.settings.premium.mode!=="off"&&e.mode!=="efficiency";if(e.task.tier===3&&!c.allowed&&e.mode!=="efficiency"&&e.settings.premium.mode!=="off"){let D=u.filter(W=>W.premium&&W.approved).map(W=>{let L=GE(e.quota,W.providerID),oe=VE(L,W);if(!Hd({intelligenceFloor:r,model:W,task:e.task,settings:e.settings,mode:e.mode,contextTokens:e.contextTokens,providerQuota:L,modelQuota:oe,premium:{allowed:!0,requiresApproval:!0,reason:"Premium suggestion"},currentModelKey:i,allowDesignRelaxation:!1}).eligible)return;let ft=KE({model:W,task:e.task,contextTokens:e.contextTokens,currentModelKey:i,now:t});return{model:W,estimate:ft}}).filter(W=>!!W).sort((W,L)=>{if(e.task.designIntensive||e.task.sophisticatedDesign){if(L.model.design!==W.model.design)return L.model.design-W.model.design}else if(L.model.intelligence!==W.model.intelligence)return L.model.intelligence-W.model.intelligence;return W.estimate.usd-L.estimate.usd})[0];D&&o.push(`Premium route suggested: ${D.model.name} (${Ot(D.estimate.usd)} estimated). Approve once with /router-approve or set a premium budget.`)}g&&o.push("This task is premium-tier, but automatic premium escalation is unavailable."),S&&x&&o.push("Large context detected; switching increases fresh-input cost because prompt cache is model-specific.");let E=l.filter(D=>(D.model.providerID!==I.model.providerID||D.model.modelID!==I.model.modelID)&&D.tier>=I.model.tier&&D.usd<I.candidate.estimatedUsd),T=E.find(D=>e.current?.providerID===D.model.providerID&&e.current?.id===D.model.modelID)??[...E].sort((D,W)=>D.usd-W.usd)[0];if(T){let W=T.model.name===I.model.name?`${T.model.name} on ${T.model.providerID}`:T.model.name;o.push(`${W} was skipped for this turn: the transcript needs about ${SE(T.required)} tokens of context and that model's window is ${SE(T.window)}. Start a new session to route to it again.`)}I.model.premium&&s.push(`Premium route approved: ${I.model.name}.`),R?s.push(`Kept ${y.model.name} for cache affinity; the estimated savings were below the ${v}% switch threshold.`):x?s.push(`Selected ${I.model.name} as the least-cost qualified route after expected retries and quota pressure (${Ot(I.candidate.estimatedUsd)} estimated raw cost, ${Ot(I.candidate.effectiveCost)} expected).`):s.push(`Already on ${I.model.name}, the least-cost qualified route.`);let _=e.quota.filter(D=>D.source==="provider").map(D=>`${D.label}: ${D.rolling.usedPct.toFixed(0)}% 5h, ${D.weekly.usedPct.toFixed(0)}% weekly, ${D.monthly.usedPct.toFixed(0)}% monthly`);s.push(..._);let B=f.slice(0,12).map(D=>({...D.candidate,retained:R?D.model===y?.model:D.model===I.model}));y&&!B.some(D=>D.model.providerID===y.model.providerID&&D.model.modelID===y.model.modelID)&&B.push({...y.candidate,retained:R});let de=x?e.dryRun?`Dry run: would switch to ${I.model.name}.`:`Switch to ${I.model.name}.`:R?"Kept the current model for cache affinity.":"The current model already is the least-cost qualified route.";return{decision:{id:wr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,chosen:A,switched:x&&!e.dryRun,switchReason:de,reasons:[...e.task.reasons,...s],warnings:o,candidates:B,premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:I.candidate.estimatedUsd,needsPremiumApproval:w,manualOverride:!1,...e.lastError?{error:qe(e.lastError)}:{}},chosenModel:I.model,premiumDecision:c}};var JE=(e,t)=>{let n=e.routing.intelligenceFloor,r=ase(e),o={floor:n,calibrated:!1,baselineUsdPerRequest:null,reason:"using the configured floor",admittedUsdPerRequest:null};if(e.routing.calibrateFloor!==!0)return o;let s=cse({...t,settings:e,configuredFloor:n});return r?o:s},ase=e=>e.offline?.enabled===!0,cse=e=>{let t=e.configuredFloor,n=e.usage??[],r=0,o=0;for(let p of n)!Number.isFinite(p.usd)||p.usd<0||!Number.isFinite(p.requests)||p.requests<=0||(r+=p.usd,o+=p.requests);if(o<5)return{floor:t,calibrated:!1,baselineUsdPerRequest:null,reason:`not enough recorded traffic to calibrate (${o} of 5 requests)`,admittedUsdPerRequest:null};let s=r/o;if(!Number.isFinite(s)||s<=0)return{floor:t,calibrated:!1,baselineUsdPerRequest:null,reason:"recorded traffic has no measurable cost, so there is nothing to calibrate against",admittedUsdPerRequest:null};let i=s*1.05,c=dse(n),d=e.models.filter(p=>!p.escalationOnly&&!p.premium).filter(p=>p.intelligence>0).map(p=>{let f=c.get(`${p.providerID}/${p.modelID}`);return f===void 0?void 0:{model:p,cost:f}}).filter(p=>p!==void 0).filter(p=>p.cost<=i).sort((p,f)=>f.model.intelligence-p.model.intelligence);if(d.length===0)return{floor:t,calibrated:!1,baselineUsdPerRequest:s,reason:"every model with recorded traffic costs more than the measured baseline, so no threshold could be met",admittedUsdPerRequest:null};let u=d[0];return{floor:Math.min(t,Math.max(u.model.intelligence,t-12)),calibrated:!0,baselineUsdPerRequest:s,reason:`${u.model.providerID}/${u.model.modelID} costs $${u.cost.toFixed(4)} per request against a measured baseline of $${s.toFixed(4)}`,admittedUsdPerRequest:u.cost}},dse=e=>{let t=new Map;for(let n of e)!Number.isFinite(n.usd)||n.usd<0||!Number.isFinite(n.requests)||n.requests<=0||t.set(`${n.providerID}/${n.modelID}`,n.usd/n.requests);return t};import{existsSync as use}from"node:fs";import{homedir as lse}from"node:os";import{join as pse}from"node:path";var fse=(e=lse())=>pse(e,".local","share","opencode","opencode.db"),ef=e=>{let t=typeof e=="number"?e:typeof e=="string"?Number(e):NaN;return Number.isFinite(t)&&t>=0?t:0},mse=e=>{let t;try{t=typeof e.data=="string"?JSON.parse(e.data):e.data}catch{return}if(!t||typeof t!="object"||t.role!=="assistant")return;let n=typeof t.providerID=="string"?t.providerID:void 0,r=typeof t.modelID=="string"?t.modelID:void 0,o=typeof t.time?.created=="number"?t.time.created:void 0;if(!n||!r||o===void 0)return;let s=ef(t.cost),i=t.tokens??{},c={id:String(e.id??`${n}:${r}:${o}`),at:o,providerID:n,modelID:r,cost:s,input:ef(i.input),output:ef(i.output),cacheRead:ef(i.cache?.read),cacheWrite:ef(i.cache?.write)};if(!(c.cost===0&&c.input+c.output+c.cacheRead+c.cacheWrite===0))return c},nj=(e={})=>{let t=e.dbPath??fse(e.home);if(!use(t))return{entries:[],reason:"No OpenCode database found on this machine",dbPath:t};let n;try{({DatabaseSync:n}=zj("node:sqlite"))}catch{return{entries:[],reason:"This Node build has no node:sqlite; history import is unavailable",dbPath:t}}if(!n)return{entries:[],reason:"node:sqlite is unavailable; history import is skipped",dbPath:t};let r;try{r=new n(t,{readOnly:!0})}catch(o){return{entries:[],reason:`Could not open the history database read-only (${o instanceof Error?o.message:String(o)})`,dbPath:t}}try{let o=Math.max(1,Math.min(e.limit??5e3,5e4)),s=e.sinceMs,i=s?"SELECT id, data FROM message WHERE time_created >= ? ORDER BY time_created DESC LIMIT ?":"SELECT id, data FROM message ORDER BY time_created DESC LIMIT ?",c=r.prepare(i),d=s?c.all(s,o):c.all(o),u=[];for(let l of d){let p=mse(l);p&&u.push(p)}return{entries:u,dbPath:t}}catch(o){return{entries:[],reason:`Could not read history (${o instanceof Error?o.message:String(o)})`,dbPath:t}}finally{try{r.close()}catch{}}};var hse="https://api.commandcode.ai",gse=8e3,yse=1e6,xse="opencode-smart-router/0.1",rj={"individual-go":10,"individual-go-v1":10,"individual-goat":70,"individual-pro":30,"individual-pro-v1":80,"individual-provider":15,"individual-max":150,"individual-ultra":300,"teams-pro":40},Sse={"individual-go":"Go","individual-go-v1":"Go","individual-goat":"GOAT","individual-pro":"Pro","individual-pro-v1":"Pro","individual-provider":"Provider","individual-max":"Max","individual-ultra":"Ultra","teams-pro":"Teams Pro"},Wa=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ka=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t=e.trim().replace(/^\$/,"").replaceAll(",","");if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}},nf=e=>{if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e>=1e12?e:e*1e3;if(typeof e=="string"){let t=e.trim();if(!t)return;if(/^\d+$/.test(t))return nf(Number(t));let n=Date.parse(t);return Number.isFinite(n)?n:void 0}},ui=(e,t)=>Wa(e)?e[t]:void 0,oj=e=>{if(!Wa(e))return;let t=Ka(e.used),n=Ka(e.cap);if(!(t===void 0||n===void 0||n<=0))return{usedPct:Ht(t,n),remainingPct:vr(100-Ht(t,n),0,100),usedUsd:t,capUsd:n,resetsAt:nf(e.resetAt),exceeded:e.exceeded===!0||t>=n,source:"provider"}},zd={usedPct:0,remainingPct:100,source:"unknown"},By=async(e,t,n,r)=>{let o=new AbortController,s=setTimeout(()=>o.abort(),r);try{let i=await e(`${hse}${t}`,{method:"GET",headers:{Authorization:`Bearer ${n}`,Accept:"application/json","User-Agent":xse},redirect:"error",signal:o.signal});if(!i.ok){let d=Number(i.headers.get("retry-after"));return{status:i.status,error:`HTTP ${i.status}`,retryAfterMs:Number.isFinite(d)?Math.min(Math.max(0,d*1e3),15*6e4):void 0}}let c=await i.text();if(c.length>yse)return{status:i.status,error:"Response body too large"};try{return{status:i.status,body:JSON.parse(c)}}catch{return{status:i.status,error:"Invalid JSON response"}}}catch(i){return{status:0,error:o.signal.aborted?"Request timed out":Fn(i instanceof Error?i.message:String(i))}}finally{clearTimeout(s)}},bse=e=>{if(!Wa(e)||e.success===!1)return;let t=e.user,n=e.org;return{orgID:Wa(n)&&typeof n.id=="string"?n.id:void 0,userName:Wa(t)&&typeof t.userName=="string"?t.userName:void 0}},Ise=e=>{let t=ui(e,"data");return Wa(t)?{planID:typeof t.planId=="string"?t.planId:void 0,status:typeof t.status=="string"?t.status:void 0,periodStart:nf(t.currentPeriodStart),periodEnd:nf(t.currentPeriodEnd)}:{}},vse=e=>{let t=ui(e,"credits"),n=ui(e,"windowLimits");return{monthlyRemaining:Ka(ui(t,"monthlyCredits")),purchased:Ka(ui(t,"purchasedCredits")),free:Ka(ui(t,"freeCredits")),fiveHour:oj(ui(n,"fiveHour")),weekly:oj(ui(n,"weekly"))}},wse=e=>Wa(e)?{used:Ka(e.totalMonthlyCredits)??Ka(e.totalCost),periodStart:nf(e.periodStart),basis:typeof e.periodBasis=="string"?e.periodBasis:void 0}:{},sj=(e,t)=>t?`${e}?orgId=${encodeURIComponent(t)}`:e,kse=(e,t)=>{let n=[];return e&&n.push(`orgId=${encodeURIComponent(e)}`),t&&n.push(`since=${encodeURIComponent(new Date(t).toISOString())}`),n.length>0?`/alpha/usage/summary?${n.join("&")}`:"/alpha/usage/summary"},tf=(e,t,n,r)=>({providerID:"commandcode",label:"Command Code",plan:e.settings.plan,source:"unknown",fetchedAt:t,stale:!1,rolling:zd,weekly:zd,monthly:zd,models:{},notes:[],error:n,...r!==void 0?{retryAfterMs:r}:{}}),Ese=e=>JB({home:e.home,env:e.env,explicitPath:e.explicitPath??e.settings.credentialPath,openCodeIntegrationKey:e.openCodeIntegrationKey,providerSettingsKey:e.providerSettingsKey,...e.settings.credentialSource?{credentialSource:e.settings.credentialSource}:{}}).candidates.slice(0,4),ij=async e=>{let t=e.now?.()??Date.now(),n=e.fetchImpl??fetch,r=e.timeoutMs??gse,o=Ese(e),s=[];if(o.length===0)return{snapshot:tf(e,t,"No Command Code credential was found that is authorized for billing"),triedSources:s};let i,c,d="";for(let L of o){s.push(jd(L));let oe=await By(n,"/alpha/whoami?limits=1",L.key,r);if(oe.status===200){let Le=bse(oe.body);if(Le){i=Le,c=L;break}d="Unrecognized identity response";continue}if(oe.status===429)return{snapshot:tf(e,t,"Command Code billing API is rate limited",oe.retryAfterMs),triedSources:s};d=oe.error??`HTTP ${oe.status}`}if(!c)return{snapshot:tf(e,t,`No authorized Command Code billing credential found (${d||"authentication failed"})`),triedSources:s};let u=i?.orgID,[l,p]=await Promise.all([By(n,sj("/alpha/billing/credits",u),c.key,r),By(n,sj("/alpha/billing/subscriptions",u),c.key,r)]);if(l.status===429||p.status===429)return{snapshot:tf(e,t,"Command Code billing API is rate limited",l.retryAfterMs??p.retryAfterMs),credentialSource:jd(c),triedSources:s};if(l.status===401||l.status===403||p.status===401||p.status===403)return{snapshot:tf(e,t,"Command Code rejected the billing credential"),credentialSource:jd(c),triedSources:s};let f=l.status===200?vse(l.body):void 0,g=p.status===200?Ise(p.body):void 0,b=g?.periodStart,y=await By(n,kse(u,b),c.key,r),S=y.status===200?wse(y.body):void 0,v=g?.planID??e.settings.plan,I=f?.monthlyRemaining,A=S?.used!==void 0&&(S.basis==="billing-period"||S.periodStart!==void 0&&b!==void 0&&S.periodStart===b)?S?.used:void 0,k=e.settings.monthlyCreditsUsd&&e.settings.monthlyCreditsUsd>0?e.settings.monthlyCreditsUsd:void 0,x=f?.fiveHour?.capUsd!==void 0&&f.fiveHour.capUsd>0?f.fiveHour.capUsd/.2:f?.weekly?.capUsd!==void 0&&f.weekly.capUsd>0?f.weekly.capUsd/.5:void 0,w=x??rj[v]??k,E=w??(I!==void 0&&A!==void 0?I+A:void 0),T=I!==void 0&&E!==void 0?Math.max(0,E-I):A,_=T!==void 0&&E&&E>0?Ht(T,E):0,B=I!==void 0&&E!==void 0?{usedPct:_,remainingPct:vr(100-_,0,100),usedUsd:T,capUsd:E,resetsAt:g?.periodEnd,exceeded:I<=0,source:"provider"}:zd,de=f?.purchased!==void 0||f?.free!==void 0?{purchasedUsd:f?.purchased??0,freeUsd:f?.free??0,totalUsd:(f?.purchased??0)+(f?.free??0)}:void 0,Se=["Provider-reported from Command Code's read-only alpha billing endpoints; polling consumes no credits."];if(w!==void 0){let L=x!==void 0?"the provider's 5-hour/weekly window caps":rj[v]!==void 0?"the plan registry":"the configured monthly allowance";Se.push(`Monthly allowance is derived from ${L}; provider-reported remaining credits are authoritative.`)}else I!==void 0&&A!==void 0&&Se.push("Monthly grant is the sum of remaining included credits and billing-period usage because no plan allowance was available.");if(I!==void 0&&A!==void 0&&T!==void 0){let L=A-T;Math.abs(L)>=.005&&Se.push(`Billing-period usage summary differs from the credit balance by $${L.toFixed(4)}; remaining credits are authoritative.`)}y.status!==200&&Se.push(`Usage summary unavailable (${y.error??y.status}).`),l.status!==200&&Se.push(`Credit windows unavailable (${l.error??l.status}).`),Se.push(`Credential source: ${jd(c)}`);let D=Sse[v]??v,W=l.status!==200&&p.status!==200&&y.status!==200?"Command Code billing endpoints returned no usable data":void 0;return{snapshot:{providerID:"commandcode",label:`Command Code ${D}`,plan:D,source:f||g||S?"provider":"unknown",fetchedAt:t,stale:!1,rolling:f?.fiveHour??zd,weekly:f?.weekly??zd,monthly:B,monthlyGrantUsd:E,monthlyRemainingUsd:I,extraCredits:de,planStatus:g?.status,periodStart:g?.periodStart,periodEnd:g?.periodEnd,models:{},notes:Se,error:W},credentialSource:jd(c),triedSources:s}};var Tse="https://opencode.ai/zen/go/v1/usage",Ase="opencode-smart-router/0.1",Rse=256e3,QE=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ose=e=>{if(typeof e!="string")return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0},ZE=e=>{if(!QE(e))return;let t=e.percent;if(typeof t!="number"||!Number.isFinite(t))return;let n=vr(t,0,100);return{usedPct:n,remainingPct:vr(100-n,0,100),resetsAt:Ose(e.resetsAt),exceeded:n>=100,source:"provider"}},Kd={usedPct:0,remainingPct:100,source:"unknown"},Wd=(e,t,n,r)=>({providerID:"opencode-go",label:e.settings.plan==="go-plus"?"OpenCode Go Plus":"OpenCode Go",plan:fs(Po("opencode-go",e.settings.plan)?.planID,e.settings.plan),source:"unknown",fetchedAt:t,stale:!1,rolling:Kd,weekly:Kd,monthly:Kd,models:{},notes:["Usage endpoint is read-only and consumes no inference allowance."],error:n,...r!==void 0?{retryAfterMs:r}:{}}),aj=async e=>{let t=e.now?.()??Date.now(),n=e.fetchImpl??fetch,r=e.timeoutMs??8e3;if(!e.accessToken)return{snapshot:Wd(e,t,"No OpenCode Go access token is available")};let o=new AbortController,s=setTimeout(()=>o.abort(),r);try{let i=await n(Tse,{method:"GET",headers:{Authorization:`Bearer ${e.accessToken}`,Accept:"application/json","User-Agent":Ase},redirect:"error",signal:o.signal});if(!i.ok){let y=Number(i.headers.get("retry-after")),S=Number.isFinite(y)&&y>=0?Math.min(y*1e3,15*6e4):void 0;return{snapshot:Wd(e,t,`Usage endpoint returned HTTP ${i.status}`,S)}}let c=await i.text();if(c.length>Rse)return{snapshot:Wd(e,t,"Usage response was unexpectedly large")};let d=JSON.parse(c),u=QE(d)?d.usage:void 0;if(!QE(u))return{snapshot:Wd(e,t,"Unrecognized usage response")};let l=ZE(u.rolling),p=ZE(u.weekly),f=ZE(u.monthly);if(!l&&!p&&!f)return{snapshot:Wd(e,t,"Usage response contained no recognized meters")};let g=["Provider-reported OpenCode Go usage.","Read-only probe; no inference request is made."];return{snapshot:{providerID:"opencode-go",label:e.settings.plan==="go-plus"?"OpenCode Go Plus":"OpenCode Go",plan:fs(Po("opencode-go",e.settings.plan)?.planID,e.settings.plan),source:"provider",fetchedAt:t,stale:!1,rolling:l??Kd,weekly:p??Kd,monthly:f??Kd,models:{},notes:g}}}catch(i){return{snapshot:Wd(e,t,o.signal.aborted?"Usage request timed out":Fn(i instanceof Error?i.message:String(i)))}}finally{clearTimeout(s)}};var Cse="opendesign",YE="https://amr-link.open-design.ai/v1",Gd="https://amr-api.open-design.ai/api",qbe=50*1024*1024,Dse=15e3,Pse=2*1024*1024,XE="opencode-smart-router/0.1";var dj=e=>e==="localhost"||e==="127.0.0.1"||e==="::1"||e==="[::1]",eT=e=>{let t=(e??"").trim();if(!t)return YE;let n;try{n=new URL(t)}catch{return YE}if(n.protocol!=="https:"&&!(n.protocol==="http:"&&dj(n.hostname)))return YE;let r=n.pathname.replace(/\/+$/,"");return r===""&&(r="/v1"),n.pathname=r,n.search="",n.hash="",n.toString().replace(/\/+$/,"")},Mse=e=>`${eT(e)}/models`;var Hy=(e,t)=>{let n=(e??"").trim().replace(/\/+$/,"")||Gd,r=t.startsWith("/")?t:`/${t}`;return`${n}${r}`},uj=e=>{let t=(e??"").trim();if(!t)return Gd;try{let n=new URL(t);if(n.protocol!=="https:"&&!(n.protocol==="http:"&&dj(n.hostname)))return Gd;let r=n.pathname.replace(/\/+$/,"");return r===""&&(r="/api"),n.pathname=r,n.search="",n.hash="",n.toString().replace(/\/+$/,"")}catch{return Gd}},lj=e=>e===401||e===403?"auth":e===429?"rate_limit":e===404?"capability":e===413?"invalid_request":e>=500?"provider_outage":e>=400?"invalid_request":"unknown";var jy=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),_se=/^[A-Za-z0-9._:/-]{1,128}$/,cj=e=>{switch(e.trim().toLowerCase()){case"image":case"images":return"image";case"file":case"files":case"pdf":return"pdf";case"audio":return"audio";case"video":return"video";default:return"text"}},Use=e=>{if(!jy(e))return;let t=typeof e.id=="string"?e.id.trim():"";if(!t||!_se.test(t))return;let n=jy(e.architecture)?e.architecture:void 0,r=jy(e.metadata)?e.metadata:void 0,o=Array.isArray(n?.input_modalities)?n.input_modalities.filter(p=>typeof p=="string"):[],s=Array.isArray(n?.output_modalities)?n.output_modalities.filter(p=>typeof p=="string"):[],i=o.length>0?[...new Set(o.map(cj))]:["text"],c=s.length>0?[...new Set(s.map(cj))]:["text"],d=Number(r?.context_limit),u=Number(r?.context_budget),l=Number(r?.output_budget);return{id:t,name:typeof e.name=="string"&&e.name.trim()?e.name.trim():t,contextLimit:Number.isFinite(d)&&d>0?d:0,...Number.isFinite(u)&&u>0?{contextBudget:u}:{},...Number.isFinite(l)&&l>0?{outputBudget:l}:{},inputModalities:i,outputModalities:c,...typeof r?.capability=="string"?{capability:r.capability}:{},...typeof r?.cost=="string"?{priceTier:r.cost}:{},enabled:e.enabled!==!1,default:e.default===!0}},zy=async e=>{let t=e.now?.()??Date.now(),n=e.fetchImpl??fetch;if(!e.apiKey)return{ok:!1,models:[],error:"No OpenDesign API key is available",fetchedAt:t};let r=new AbortController,o=setTimeout(()=>r.abort(),e.timeoutMs??Dse);try{let s=await n(Mse(e.baseURL??""),{method:"GET",headers:{authorization:`Bearer ${e.apiKey}`,accept:"application/json","user-agent":XE},redirect:"error",signal:r.signal});if(!s.ok){let l=Number(s.headers.get("retry-after")),p=Number.isFinite(l)&&l>=0?Math.min(l*1e3,15*6e4):void 0;return{ok:!1,models:[],error:`Model discovery returned HTTP ${s.status}`,status:s.status,failureClass:lj(s.status),...p!==void 0?{retryAfterMs:p}:{},fetchedAt:t}}let i=await s.text();if(i.length>Pse)return{ok:!1,models:[],error:"Model discovery response was unexpectedly large",failureClass:"invalid_request",fetchedAt:t};let c;try{c=JSON.parse(i)}catch{return{ok:!1,models:[],error:"Model discovery returned a malformed response",failureClass:"invalid_request",fetchedAt:t}}let d=jy(c)&&Array.isArray(c.data)?c.data:void 0;return d?{ok:!0,models:d.map(Use).filter(l=>!!l).filter(l=>l.enabled),fetchedAt:t}:{ok:!1,models:[],error:"Model discovery response did not contain a model list",failureClass:"invalid_request",fetchedAt:t}}catch(s){return{ok:!1,models:[],error:r.signal.aborted?"Model discovery timed out":Fn(s instanceof Error?s.message:String(s)),failureClass:(r.signal.aborted,"network"),fetchedAt:t}}finally{clearTimeout(o)}},Nse=new Set(["deepseek-v4.1-flash"]),pj=(e,t=Cse)=>{let n=[];for(let r of e){let o=qd.get(r.id),s=r.contextLimit>0?r.contextLimit:0,c=Nse.has(r.id)?s:r.contextBudget??s,d=c>0&&(s===0||c<=s)?c:s>0?s:o?.context??TB,u=r.outputBudget??o?.maxOutput??_E,l=o?.cost??[{input:0,output:0,cache:{read:0,write:0}}];n.push({id:r.id,providerID:t,name:r.name,limit:{context:d,output:u},capabilities:{tools:!0,input:r.inputModalities,output:r.outputModalities},cost:l.map(p=>({input:p.input,output:p.output,cache:{read:p.cache?.read??0,write:p.cache?.write??0}})),enabled:r.enabled})}return n};var Fse=5,fj=20,$se=.25,mj=(e,t="opendesign")=>{let n=[];for(let r of e){if(r.providerID!==t||r.usd<=0||r.input+r.output+r.cacheRead+r.cacheWrite===0)continue;let o=tT({modelID:r.modelID,input:r.input,output:r.output,cacheRead:r.cacheRead,cacheWrite:r.cacheWrite,multiplierApplies:!0}).creditsUsd;if(o<=0)continue;let s=ms(r.modelID).multiplier;n.push({modelID:r.modelID,computedUsd:o,reportedUsd:r.usd*s})}return n},Lse=(e,t={})=>{let n=t.baselineMarginPct??fj;if(e.length===0)return{samples:0,ratio:1,meanErrorPct:0,suggestedMarginPct:n,trustworthy:!1};let r=0,o=0,s=0;for(let p of e)r+=p.computedUsd,o+=p.reportedUsd,s+=Math.abs(p.reportedUsd-p.computedUsd)/p.computedUsd;let i=r>0?o/r:1,c=s/e.length*100,d=e.length>=Fse,u=d?Math.max(5,Math.round(c)):n,l=Math.abs(i-1)>$se;return{samples:e.length,ratio:i,meanErrorPct:c,suggestedMarginPct:u,trustworthy:d,...l?{warning:`Charges are ${(i*100).toFixed(0)}% of what the catalog predicts across ${e.length} requests. That looks like a price error rather than noise, so the margin was not narrowed. Check the model catalog against the published prices.`}:{}}},hj=(e,t)=>{let n=Lse(e,t!==void 0?{baselineMarginPct:t}:{});return n.warning?t??fj:n.suggestedMarginPct};var gj=1e4,qse=20,yj=300*60*1e3,oT=10080*60*1e3,iT=720*60*60*1e3,xj=iT,Jd={usedPct:0,remainingPct:100,source:"unknown"},rf=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ga=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t=Number(e);if(Number.isFinite(t))return t}},sT=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t=Date.parse(e);if(Number.isFinite(t))return t}},tT=e=>{let n=qd.get(e.modelID)?.cost?.[0],r=ms(e.modelID,{now:e.now,...e.multiplierOverrides?{overrides:e.multiplierOverrides}:{}}),o=e.multiplierApplies!==!1,s=o?r.multiplier:1;if(!n)return{creditsUsd:0,multiplier:s,evidence:"no-price"};let i=(n.input*Math.max(0,e.input)+n.output*Math.max(0,e.output)+(n.cache?.read??0)*Math.max(0,e.cacheRead)+(n.cache?.write??0)*Math.max(0,e.cacheWrite??0))/1e6;return{creditsUsd:Math.max(0,i)*s,multiplier:s,evidence:o?r.evidence:"configured"}},Bse=(e,t)=>t!==void 0&&Number.isFinite(t)&&t>e?t-oT:e-oT,jse=(e,t,n,r,o,s,i)=>{let c=n-yj,d=Bse(n,i),u=n-xj,l=0,p=0,f=0,g=0,b={},y=I=>b[I]??={rollingUsd:0,weeklyUsd:0,monthlyUsd:0};for(let I of e){if(I.providerID!==t)continue;let R=o?o.pools.find(_=>_.id===ar):void 0,A=o?o.pools.find(_=>_.id===Do):void 0,x=!!R&&!cB(o,I.modelID)?ar:A?Do:ar,w=I.usd>0?I.usd:void 0,E=w!==void 0&&x===ar?w*ms(I.modelID,{now:n,...s?{overrides:s}:{}}).multiplier:w!==void 0?w:tT({modelID:I.modelID,input:I.input,output:I.output,cacheRead:I.cacheRead,cacheWrite:I.cacheWrite,now:n,multiplierApplies:x===ar,...s?{multiplierOverrides:s}:{}}).creditsUsd;if(E<=0)continue;g+=1;let T=y(x);I.at>=c&&(l+=E,T.rollingUsd+=E),I.at>=d&&(p+=E,T.weeklyUsd+=E),I.at>=u&&(f+=E,T.monthlyUsd+=E)}let S=1+Math.max(0,r)/100,v=I=>I*S;return{rollingUsd:v(l),weeklyUsd:v(p),monthlyUsd:v(f),observedRequests:g,byPool:Object.fromEntries(Object.entries(b).map(([I,R])=>[I,{rollingUsd:v(R.rollingUsd),weeklyUsd:v(R.weeklyUsd),monthlyUsd:v(R.monthlyUsd)}]))}},nT=(e,t,n,r)=>{let o=t>0?Ht(e,t):0;return{usedPct:o,remainingPct:vr(100-o,0,100),usedUsd:e,capUsd:t,...n!==void 0?{resetsAt:n}:{},exceeded:t>0&&e>=t,source:r}},Vd=(e,t,n,r,o=[])=>{let s=Po("opendesign",e.settings.plan);return{providerID:"opendesign",label:s?.label??"OpenDesign",plan:fs(s?.planID,e.settings.plan),source:"unknown",fetchedAt:t,stale:!1,rolling:Jd,weekly:Jd,monthly:Jd,models:{},notes:[...o],...n?{error:n}:{},...r!==void 0?{retryAfterMs:r}:{}}},Sj=e=>{let t=Po("opendesign",e.plan),n=t?.pools.find(c=>c.id===ar),r=t?.pools.find(c=>c.id===Do),o=e.monthlyCreditsUsd&&e.monthlyCreditsUsd>0?e.monthlyCreditsUsd:n?.monthlyUsd??0,s=e.ignoreWeeklyWindow?void 0:n?.weeklyUsd,i=e.ignoreFiveHourWindow?void 0:n?.fiveHourUsd;return{monthly:o,weekly:s??(e.ignoreWeeklyWindow?void 0:e.weeklyCapUsd),rolling:i??(e.ignoreFiveHourWindow?void 0:e.fiveHourCapUsd),planModelsMonthly:r?.monthlyUsd??0,hasPlanModelPool:!!r,hasFiveHourWindow:i!==void 0,hasWeeklyWindow:s!==void 0,plan:t,unresolved:!t&&!(e.monthlyCreditsUsd&&e.monthlyCreditsUsd>0)}},rT=async(e,t,n,r)=>{let o=new AbortController,s=setTimeout(()=>o.abort(),r);try{let i=await n(e,{method:"GET",headers:{authorization:`Bearer ${t}`,accept:"application/json","user-agent":XE},redirect:"error",signal:o.signal});if(!i.ok){let d=Number(i.headers.get("retry-after")),u=Number.isFinite(d)&&d>=0?Math.min(d*1e3,15*6e4):void 0;return{ok:!1,error:`Account control request returned HTTP ${i.status}`,status:i.status,...u!==void 0?{retryAfterMs:u}:{}}}let c=await i.text();if(c.length>2*1024*1024)return{ok:!1,error:"Account control response was unexpectedly large"};try{return{ok:!0,body:JSON.parse(c)}}catch{return{ok:!1,error:"Account control response was malformed"}}}catch(i){return{ok:!1,error:o.signal.aborted?"Account control request timed out":Fn(i instanceof Error?i.message:String(i))}}finally{clearTimeout(s)}},Hse=e=>{if(!(e<=0)){if(e<=6*3600)return"rolling";if(e<=8*86400)return"weekly";if(e<=32*86400)return"monthly"}},zse=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!rf(n))continue;let r=Ga(n.durationSeconds);if(r===void 0)continue;let o=Hse(r);if(!o)continue;let s=Ga(n.usedCredits)??0,i=Ga(n.limitCredits)??0,c=Ga(n.remainingCredits)??Math.max(0,i-s),d=sT(n.resetsAt);t.push({kind:o,usedCredits:s,limitCredits:i,remainingCredits:c,...d!==void 0?{resetsAt:d}:{}})}return t},bj=e=>{let{caps:t,used:n,source:r}=e,o=[],s=n[ar]??{rollingUsd:0,weeklyUsd:0,monthlyUsd:0};if(t.monthly>0&&o.push({id:ar,label:"Design Plan credits",source:r,monthlyUsd:t.monthly,usedUsd:s.monthlyUsd,remainingUsd:Math.max(0,t.monthly-s.monthlyUsd),usedPct:Ht(s.monthlyUsd,t.monthly),...t.weekly!==void 0?{weeklyUsd:t.weekly,weeklyUsedPct:Ht(s.weeklyUsd,t.weekly)}:{},...t.rolling!==void 0?{fiveHourUsd:t.rolling,fiveHourUsedPct:Ht(s.rollingUsd,t.rolling)}:{},resetKind:"fixed-7-day",...e.resetsAt!==void 0?{resetsAt:e.resetsAt}:{},note:t.hasFiveHourWindow?"Five-hour and seven-day ceilings nest inside the monthly maximum.":"Seven-day ceiling nests inside the monthly maximum. This plan has no five-hour window."}),t.hasPlanModelPool&&t.planModelsMonthly>0){let i=n[Do]??{rollingUsd:0,weeklyUsd:0,monthlyUsd:0};o.push({id:Do,label:"Plan model credits",source:r,monthlyUsd:t.planModelsMonthly,usedUsd:i.monthlyUsd,remainingUsd:Math.max(0,t.planModelsMonthly-i.monthlyUsd),usedPct:Ht(i.monthlyUsd,t.planModelsMonthly),resetKind:"billing-cycle",...e.resetsAt!==void 0?{resetsAt:e.resetsAt}:{},note:"No five-hour or seven-day window. Design Plan multipliers do not apply to this pool."})}return o},Ij=e=>{let t=[];return e.plan&&t.push(`Plan: ${e.plan.label}.`),t.push(e.hasFiveHourWindow?"This plan has a five-hour Design Plan window.":"This plan has no five-hour Design Plan window."),e.hasPlanModelPool&&e.planModelsMonthly>0&&t.push(`A separate plan model pool of $${e.planModelsMonthly}/month is reported independently and is never added to the Design Plan allowance.`),t},Wse=async(e,t)=>{let n=e.fetchImpl??fetch,r=e.timeoutMs??12e3,o=uj(e.controlBaseURL??Gd),s=e.controlKey??"",i=await rT(Hy(o,"/v1/workspaces/current"),s,n,r);if(!i.ok||!rf(i.body))return{snapshot:Vd(e,t,i.error??"Could not read the current workspace",i.retryAfterMs,["Verified quota is unavailable."]),state:"unavailable"};let c=typeof i.body.activeWorkspaceId=="string"?i.body.activeWorkspaceId:typeof i.body.workspaceId=="string"?i.body.workspaceId:void 0;if(!c)return{snapshot:Vd(e,t,"The account did not report an active workspace",void 0,["Verified quota is unavailable."]),state:"unavailable"};let d=await rT(Hy(o,`/v1/workspaces/${encodeURIComponent(c)}/billing/coding-plan-usage`),s,n,r);if(!d.ok||!rf(d.body))return{snapshot:Vd(e,t,d.error??"Could not read coding-plan usage",d.retryAfterMs,["Verified quota is unavailable."]),state:"unavailable"};let u=typeof d.body.workspaceId=="string"?d.body.workspaceId:void 0;if(u&&u!==c)return{snapshot:Vd(e,t,"The usage response did not match the active workspace",void 0,["Balances from different workspaces are never combined."]),state:"unavailable"};let l=await rT(Hy(o,"/v1/billing/summary"),s,n,r),p=l.ok&&rf(l.body)?l.body:void 0,f=Ga(p?.creditsPerUsd)??e.creditsPerUsd??gj,g=rf(p?.balances)?p.balances:void 0,b=Ga(g?.rechargeCredits)??0,y=Ga(g?.subscriptionCredits)??0,S=b/f,v=zse(d.body.windows),I=Sj(e.settings),R=L=>v.find(oe=>oe.kind===L),A=(L,oe)=>{if(!L||L.limitCredits<=0)return{usedPct:0,remainingPct:100,source:"unknown"};let Le=Ht(L.usedCredits,L.limitCredits);return{usedPct:Le,remainingPct:vr(100-Le,0,100),usedUsd:L.usedCredits/f,capUsd:L.limitCredits/f,...L.resetsAt!==void 0?{resetsAt:L.resetsAt}:{},exceeded:L.usedCredits>=L.limitCredits,source:"provider"}},k=A(R("rolling"),I.rolling??0),x=A(R("weekly"),I.weekly??0),w=R("monthly"),E=w?A(w,I.monthly):{usedPct:0,remainingPct:100,source:"unknown"},T=sT(p?.subscriptionCurrentPeriodStart),_=sT(p?.subscriptionCurrentPeriodEnd),B=w?w.remainingCredits/f:y>0?y/f:void 0,de=bj({caps:I,used:{[ar]:{rollingUsd:k.usedUsd??0,weeklyUsd:x.usedUsd??0,monthlyUsd:E.usedUsd??0},[Do]:{rollingUsd:0,weeklyUsd:0,monthlyUsd:Math.max(0,I.planModelsMonthly-y/f)}},source:"provider",creditsPerUsd:f,..._!==void 0?{resetsAt:_}:{}}),Se=["Provider-reported OpenDesign coding-plan usage.","Read-only probe; no inference request is made.",`Workspace ${c}.`,...Ij(I)];S>0&&Se.push(`Wallet balance ${S.toFixed(2)} USD is separate from the subscription allowance and is not used for automatic routing.`);let D={providerID:"opendesign",label:I.plan?.label??"OpenDesign",plan:fs(I.plan?.planID,e.settings.plan),source:"provider",fetchedAt:t,stale:!1,rolling:k,weekly:x,monthly:E,monthlyGrantUsd:I.monthly>0?I.monthly:E.capUsd??0,...B!==void 0?{monthlyRemainingUsd:B}:{},extraCredits:{purchasedUsd:S,freeUsd:0,totalUsd:S},pools:de,planStatus:typeof p?.membershipTier=="string"?p.membershipTier:void 0,...T!==void 0?{periodStart:T}:{},..._!==void 0?{periodEnd:_}:{},models:{},notes:Se},W=!!(k.exceeded||x.exceeded||E.exceeded);return{snapshot:D,state:W?"exhausted":"verified"}},Kse=(e,t,n,r)=>{if(!t)return{totals:e,applied:!1,windows:[]};let o=[],s=(w,E,T)=>w===void 0?0:E===void 0||E<=0?(o.push(`the ${T} cap is unknown, so ${w}% could not be converted`),0):w/100*E,i=t.pctOf??"weekly",c=t.designPlanUsedUsd!==void 0||t.designPlanUsedPct!==void 0,d=t.planModelsUsedUsd!==void 0||t.planModelsUsedPct!==void 0,u=c?Math.max(0,t.designPlanUsedUsd??0)||s(t.designPlanUsedPct,i==="weekly"?r.weekly??r.monthly:r.monthly,i==="weekly"?"seven-day Design Plan":"monthly Design Plan"):0,l=d?Math.max(0,t.planModelsUsedUsd??0)||s(t.planModelsUsedPct,r.planModelsMonthly,"plan model"):0;if(!c&&!d)return{totals:e,applied:!1,windows:[],...o.length>0?{unconverted:o}:{}};let p=w=>w!==void 0&&n>=w,f=t.at>=n-yj&&!p(t.weeklyResetsAt),g=t.at>=n-oT&&!p(t.weeklyResetsAt);if(!(t.at>=n-xj&&!p(t.monthlyResetsAt)))return{totals:e,applied:!1,windows:[]};let y=[];f&&y.push("5h"),g&&y.push("7d"),y.push("monthly");let S=f?u:0,v=g?u:0,I=f?l:0,R=g?l:0,A={...e.byPool},k=A[ar]??{rollingUsd:0,weeklyUsd:0,monthlyUsd:0},x=A[Do]??{rollingUsd:0,weeklyUsd:0,monthlyUsd:0};return u>0&&(A[ar]={rollingUsd:k.rollingUsd+S,weeklyUsd:k.weeklyUsd+v,monthlyUsd:k.monthlyUsd+u}),l>0&&(A[Do]={rollingUsd:x.rollingUsd+I,weeklyUsd:x.weeklyUsd+R,monthlyUsd:x.monthlyUsd+l}),{applied:!0,windows:y,usedFallbackReset:t.weeklyResetsAt===void 0,...o.length>0?{unconverted:o}:{},totals:{rollingUsd:e.rollingUsd+S+I,weeklyUsd:e.weeklyUsd+v+R,monthlyUsd:e.monthlyUsd+u+l,observedRequests:e.observedRequests,byPool:A}}},Gse=(e,t)=>{let n=Sj(e.settings),r=e.uncertaintyMarginPct??hj(mj(e.usage),qse),o=jse(e.usage,"opendesign",t,r,n.plan,e.multiplierOverrides,e.settings.baseline?.weeklyResetsAt),s=Kse(o,e.settings.baseline,t,{...n.weekly!==void 0?{weekly:n.weekly}:{},monthly:n.monthly,planModelsMonthly:n.planModelsMonthly}),i=s.totals,c=n.rolling!==void 0?nT(i.rollingUsd,n.rolling,void 0,"estimate"):{...Jd,usedUsd:i.rollingUsd},d=n.weekly!==void 0?nT(i.weeklyUsd,n.weekly,void 0,"estimate"):{...Jd,usedUsd:i.weeklyUsd},u=n.unresolved?{...Jd,usedUsd:i.monthlyUsd}:nT(i.monthlyUsd,n.monthly,void 0,"estimate"),l=bj({caps:n,used:i.byPool,source:"estimate",creditsPerUsd:gj}),p=[s.applied?`Starts from the usage you reported on ${new Date(e.settings.baseline.at).toISOString().slice(0,10)} and adds every OpenDesign request this router has routed since.`:"Estimated from this router's own OpenDesign usage. OpenDesign publishes no quota API for an inference key.",s.applied?`The reported reading still excludes other clients, and a ${r}% margin is applied, so this remains a lower bound. There is no exact source without an account control key, and the account API-key page issues inference keys only.`:`A ${r}% safety margin is applied. Usage from the OpenDesign app or other clients on the same subscription is not visible, so this is a lower bound.`,"Wallet balance is not included and is never used for automatic routing.",...Ij(n)];for(let b of s.unconverted??[])p.push(`The reported percentage was not used: ${b}.`);s.applied&&p.push(s.usedFallbackReset?`The reported reading applies to: ${s.windows.join(", ")}. No reset time was supplied, so the router assumes the reading stays valid for its window length. Add baseline.weeklyResetsAt to be exact.`:`The reported reading applies to: ${s.windows.join(", ")} until that window resets.`),n.unresolved&&p.push(`The configured plan "${e.settings.plan}" is not in the catalog, so the allowance is unknown rather than zero. Set a plan id from the catalog or an explicit monthlyCreditsUsd.`),i.observedRequests===0&&p.push(s.applied?"No OpenDesign requests have been routed through this router since that reading, so the figure is still exactly what you reported.":"No OpenDesign requests have been routed through this router yet, so the estimate starts at zero.");let f={providerID:"opendesign",label:n.plan?.label??"OpenDesign",plan:fs(n.plan?.planID,e.settings.plan),source:"estimate",fetchedAt:t,stale:!1,rolling:c,weekly:d,monthly:u,monthlyGrantUsd:n.monthly,...n.unresolved?{}:{monthlyRemainingUsd:Math.max(0,n.monthly-i.monthlyUsd)},pools:l,models:{},notes:p};if(n.unresolved)return{snapshot:f,state:"unknown"};let g=!!(u.exceeded||d.exceeded);return{snapshot:f,state:g?"exhausted":"estimated"}},vj=async e=>{let t=e.now?.()??Date.now();return e.settings.enabled?e.controlKey?Wse(e,t):e.apiKey?Gse(e,t):{snapshot:Vd(e,t,"No OpenDesign credential is configured",void 0,["Add an OpenDesign API key, or configure a control key for verified quota."]),state:"unavailable"}:{snapshot:Vd(e,t,"OpenDesign is disabled in router settings",void 0,["The provider is disabled; it takes no part in routing."]),state:"unavailable"}};var wj=["opencode-go","commandcode","opendesign"],aT={usedPct:0,remainingPct:100,source:"unknown"},Wy=(e,t,n,r,o)=>({providerID:e,label:t,plan:n,source:"unknown",fetchedAt:r,stale:!1,rolling:aT,weekly:aT,monthly:aT,models:{},notes:[],error:o,quotaState:"unknown"}),Vse=(e,t,n)=>({...e,stale:t-e.fetchedAt>Math.max(n*2,6e4),...e.quotaState&&e.quotaState!=="unknown"&&e.quotaState!=="unavailable"?{quotaState:t-e.fetchedAt>Math.max(n*2,6e4)?"stale":e.quotaState}:{}}),kj=e=>{let t=[3e4,12e4,3e5,9e5];return t[Math.min(Math.max(e,1)-1,t.length-1)]??15*6e4},of=class{options;state={"opencode-go":{lastAttempt:0,nextAllowed:0,failures:0},commandcode:{lastAttempt:0,nextAllowed:0,failures:0},opendesign:{lastAttempt:0,nextAllowed:0,failures:0}};constructor(t){this.options=t;let n=t.now?.()??Date.now();for(let r of t.initial??[]){let o=this.state[r.providerID];o&&(o.snapshot={...r,stale:!0},o.lastAttempt=r.fetchedAt)}}intervalMs(){return Math.max(1,this.options.probeIntervalMinutes)*6e4}now(){return this.options.now?.()??Date.now()}getCached(){let t=this.now(),n=this.intervalMs();return Object.values(this.state).map(r=>r.snapshot).filter(r=>!!r).map(r=>Vse(r,t,n))}read(){let t=this.now(),n=this.intervalMs(),r=this.options.getSettings();for(let o of wj){let s=r[o];if(!s?.enabled||!s.probeUsage)continue;let i=this.state[o];i&&(!i.snapshot||t-i.lastAttempt>n)&&t>=i.nextAllowed&&!i.inFlight&&this.refresh(o).catch(()=>{})}return this.getCached()}invalidate(){for(let t of Object.values(this.state))t.snapshot=void 0,t.lastAttempt=0,t.nextAllowed=0}async refresh(t,n=!1){let r=this.options.getSettings()[t],o=this.state[t];if(!r||!o)return Wy(t,t,r?.plan??"unknown",this.now(),"Unknown provider");if(!r.enabled||!r.probeUsage)return o.snapshot??Wy(t,t,r.plan,this.now(),"Quota probing is disabled for this provider");if(o.inFlight)return o.inFlight;let s=this.now();if(!n&&s<o.nextAllowed)return o.snapshot??Wy(t,t,r.plan,s,"Quota probe is cooling down");o.lastAttempt=s;let i=this.probe(t,r).then(c=>{o.snapshot=c,o.failures=c.error?o.failures+1:0;let d=c.retryAfterMs===void 0?void 0:Math.min(Math.max(0,c.retryAfterMs),15*6e4);return o.nextAllowed=c.error?this.now()+(d??kj(o.failures)):0,this.options.onSnapshot?.(c),c}).catch(c=>{o.failures+=1,o.nextAllowed=this.now()+kj(o.failures);let d=Wy(t,t,r.plan,this.now(),c instanceof Error?c.message:String(c));return o.snapshot=d,this.options.onSnapshot?.(d),d}).finally(()=>{o.inFlight=void 0});return o.inFlight=i,i}async probe(t,n){let r=await this.options.getCredentials();if(t==="opencode-go")return(await aj({accessToken:r.goAccessToken??"",settings:n,fetchImpl:this.options.fetchImpl,now:this.options.now})).snapshot;if(t==="opendesign"){let s=this.options.now?.()??Date.now(),i=await vj({settings:n,apiKey:r.openDesignApiKey,controlKey:r.openDesignControlKey,usage:this.options.getUsageEvents?.({since:s-iT,until:s})??[],fetchImpl:this.options.fetchImpl,now:this.options.now,...n.controlBaseURL?{controlBaseURL:n.controlBaseURL}:{},...n.creditsPerUsd!==void 0?{creditsPerUsd:n.creditsPerUsd}:{},...n.uncertaintyMarginPct!==void 0?{uncertaintyMarginPct:n.uncertaintyMarginPct}:{},...n.multiplierOverrides?{multiplierOverrides:n.multiplierOverrides}:{}});return{...i.snapshot,quotaState:i.state}}return(await ij({settings:n,openCodeIntegrationKey:r.commandCodeIntegrationKey,providerSettingsKey:r.commandCodeProviderKey,fetchImpl:this.options.fetchImpl,now:this.options.now})).snapshot}async initialize(){let t=this.options.getSettings(),n=[];for(let r of wj){let o=t[r];o?.enabled&&o.probeUsage&&n.push(this.refresh(r,!0))}return n.length===0?this.getCached():(await Promise.allSettled(n),this.getCached())}};var Ej=Symbol.for("opencode-smart-router.shared-core.v1"),Jse=1e4,Tj=5*6e4,Zse=3e4,Qse=2e3,Aj="ledger-v1",Rj="runtime-v1",Oj="quota-cache-v1",Yse=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),cT=e=>JSON.parse(JSON.stringify(e)),dT=class{coreID=Math.random().toString(36).slice(2,10);pid=process.pid;createdAt=Date.now();ledger=new hs;runtime={};quota;bridges=new Map;eventAbort;eventsStarted=!1;owners=new Map;unowned=new Map;liveModels=[];modelsLoadedAt=0;modelsLoading;openDesignModels=[];openDesignLoadedAt=0;openDesignLoading;eventsHandled=0;eventsIgnored=0;ownerCtx;getSettings;getCredentials;ready;loading;disposing;quotaInitial=[];ledgerTimer;quotaTimer;runtimeTimer;bootstrapTimer;quotaStartTimer;shutdownTimer;started=!1;quotaInitialized=!1;bootstrapped=!1;ledgerWrites=0;quotaWrites=0;quotaRefreshes=0;lastLedgerWriteAt;lastQuotaWriteAt;errors=[];pushError(t){this.errors.push(t),this.errors.length>50&&this.errors.splice(0,this.errors.length-50)}sequence=0;setups=0;disposes=0;async init(t){return this.setups+=1,this.disposing&&await this.disposing,this.ready&&this.ownerCtx&&this.started?this.ready:this.loading?this.loading:(this.ownerCtx=t.ctx,this.getSettings=t.getSettings,this.getCredentials=t.getCredentials,this.loading=this.load().finally(()=>{this.loading=void 0}),this.ready=this.loading,this.loading)}async load(){try{let[t,n,r]=await Promise.all([this.ownerCtx.storage.get(Aj).catch(()=>{}),this.ownerCtx.storage.get(Rj).catch(()=>{}),this.ownerCtx.storage.get(Oj).catch(()=>{})]);Yse(n)&&(this.runtime=n);let o=hs.hydrate(t);this.ledger=new hs(o.ledger);for(let s of o.warnings.slice(0,5))this.pushError(s);this.quotaInitial=Array.isArray(r)?r:[],this.quota=new of({getSettings:()=>this.getSettings?.().providers??{},getCredentials:()=>this.getCredentials?.()??Promise.resolve({}),getUsageEvents:s=>this.ledger.usageEvents(s),probeIntervalMinutes:this.getSettings?.().quota.probeIntervalMinutes??5,initial:this.quotaInitial,onSnapshot:s=>{this.quotaRefreshes+=1,this.persistQuotaSoon()}}),this.started=!0,this.bootstrapTimer=setTimeout(()=>{this.bootstrap()},1e3),this.quotaStartTimer=setTimeout(()=>{this.startQuota()},1500)}catch(t){this.pushError(qe(t))}this.quota||(this.quota=new of({getSettings:()=>this.getSettings?.().providers??{},getCredentials:()=>this.getCredentials?.()??Promise.resolve({}),getUsageEvents:t=>this.ledger.usageEvents(t),probeIntervalMinutes:this.getSettings?.().quota.probeIntervalMinutes??5,initial:this.quotaInitial,onSnapshot:()=>{this.quotaRefreshes+=1,this.persistQuotaSoon()}})),this.started||(this.started=!0,this.bootstrapTimer=setTimeout(()=>{this.bootstrap()},1e3),this.quotaStartTimer=setTimeout(()=>{this.startQuota()},1500))}async bootstrap(){if(!this.bootstrapped){this.bootstrapped=!0;try{let t=this.getSettings?.();if(!t)return;let n=t.quota.bootstrapSessions;if(n<=0)return;let r=nj({sinceMs:Date.now()-t.quota.bootstrapDays*24*60*60*1e3,limit:Math.max(n,1)*100});if(r.entries.length>0){if(this.ledger.importHistory(r.entries).added>0){this.persistSoon();return}}else r.reason&&this.pushError(`history: ${r.reason}`);let o=await this.ownerCtx.session.list({limit:n}),i=(Array.isArray(o)?o:o?.data??[]).map(c=>({id:String(c.id),title:typeof c.title=="string"?c.title:void 0,model:c.model?{providerID:c.model.providerID,id:c.model.id,...c.model.variant?{variant:c.model.variant}:{}}:void 0,cost:typeof c.cost=="number"?c.cost:0,tokens:c.tokens?{input:Number(c.tokens.input)||0,output:Number(c.tokens.output)||0,cache:{read:Number(c.tokens.cache?.read)||0,write:Number(c.tokens.cache?.write)||0}}:void 0,updatedAt:typeof c.time?.updated=="number"?c.time.updated:Date.now()}));this.ledger.bootstrap(i,{days:t.quota.bootstrapDays,limit:t.quota.bootstrapSessions}),this.persistSoon()}catch(t){this.pushError(`bootstrap: ${qe(t)}`)}}}async startQuota(){if(!(this.quotaInitialized||!this.quota)){this.quotaInitialized=!0;try{await this.quota.initialize()}catch(t){this.pushError(`quota: ${qe(t)}`)}}}claimSession(t,n){if(n){if(this.unowned.delete(t),!this.owners.has(t)&&this.owners.size>=2e3){let r=this.owners.keys().next().value;r&&this.owners.delete(r)}this.owners.set(t,n)}}releaseSession(t){this.owners.delete(t),this.unowned.delete(t)}recordError(t){this.pushError(t)}noteUnowned(t){if(this.unowned.size>=Qse){let n=this.unowned.keys().next().value;n&&this.unowned.delete(n)}this.unowned.set(t,Date.now())}async getLiveModels(t=!1){(!(this.modelsLoadedAt>0&&Date.now()-this.modelsLoadedAt<Tj)||t)&&!this.modelsLoading&&this.ownerCtx?.model?.list&&(this.modelsLoading=Promise.resolve(this.ownerCtx.model.list()).then(o=>{let s=Array.isArray(o)?o:o?.data??[];return this.liveModels=Array.isArray(s)?s:[],this.modelsLoadedAt=Date.now(),this.liveModels}).catch(o=>(this.pushError(`models: ${qe(o)}`),this.liveModels)).finally(()=>{this.modelsLoading=void 0}),await this.modelsLoading);let r=await this.getOpenDesignModels(t);return r.length>0?[...this.liveModels,...r]:this.liveModels}async getOpenDesignModels(t=!1){let r=this.getSettings?.()?.providers?.opendesign;if(!r?.enabled)return this.openDesignModels=[],this.openDesignLoadedAt=Date.now(),[];let o=this.openDesignLoadedAt>0&&Date.now()-this.openDesignLoadedAt<Tj;return!t&&o?this.openDesignModels:this.openDesignLoading?this.openDesignLoading:(this.openDesignLoading=(async()=>{try{let s=await this.getCredentials?.()??{};if(!s.openDesignApiKey)return this.openDesignModels=[],this.openDesignLoadedAt=Date.now(),[];let i=await zy({apiKey:s.openDesignApiKey,...r.baseURL?{baseURL:r.baseURL}:{}});return i.ok?(this.openDesignModels=pj(i.models),this.openDesignLoadedAt=Date.now(),this.openDesignModels):(this.pushError(`opendesign discovery: ${i.error??"unknown error"}`),this.openDesignLoadedAt=Date.now(),this.openDesignModels)}catch(s){return this.pushError(`opendesign discovery: ${qe(s)}`),this.openDesignModels}finally{this.openDesignLoading=void 0}})(),this.openDesignLoading)}usageEvents(t){return this.ledger.usageEvents(t)}ownerOf(t){return this.owners.get(t)}noteEvent(t){t?this.eventsHandled+=1:this.eventsIgnored+=1}addBridge(t,n){this.unowned.clear();let r=`bridge-${this.pid}-${++this.sequence}`;return this.bridges.set(r,{id:r,directory:t,createdAt:Date.now(),controller:n}),this.shutdownTimer&&(clearTimeout(this.shutdownTimer),this.shutdownTimer=void 0),this.startEvents(),r}startEvents(){if(this.eventsStarted||!this.ownerCtx?.event)return;this.eventsStarted=!0;let t=new AbortController;this.eventAbort=t,(async()=>{try{for await(let n of this.ownerCtx.event.subscribe({signal:t.signal}))await this.dispatchEvent(n)}catch(n){t.signal.aborted||this.pushError(`events: ${qe(n)}`)}finally{this.eventAbort===t&&(this.eventAbort=void 0,this.eventsStarted=!1)}})()}async dispatchEvent(t){let n=t?.data??{},r=typeof n.sessionID=="string"?n.sessionID:void 0,o,s;if(r){if(s=this.owners.get(r),s&&(o=this.bridges.get(s)?.controller),!o&&t.type==="session.created"&&typeof n.projectID=="string"){for(let i of this.bridges.values())if(i.controller?.projectMatches?.(n.projectID,n.location?.directory)){o=i.controller,s=i.id;break}s&&this.claimSession(r,s)}if(!o&&this.ownerCtx?.session){let i=this.unowned.get(r);if(i!==void 0&&Date.now()-i<Zse){this.noteEvent(!1);return}try{let c=await this.ownerCtx.session.get({sessionID:r});if(c?.projectID){for(let d of this.bridges.values())if(d.controller?.projectMatches?.(c.projectID,c.location?.directory)){o=d.controller,s=d.id,this.claimSession(r,d.id);break}}}catch{}o||this.noteUnowned(r)}}if(!o){this.noteEvent(!1);return}await o.handleEvent(t)}removeBridge(t){this.bridges.delete(t),this.disposes+=1,this.bridges.size===0&&this.started&&(this.shutdownTimer=setTimeout(()=>{this.bridges.size===0&&this.dispose()},Jse))}persistSoon(){this.ledgerTimer||(this.ledgerTimer=setTimeout(()=>{this.ledgerTimer=void 0,this.persistNow()},750))}async persistNow(){if(this.ownerCtx?.storage)try{let t=cT(this.ledger.export());this.ledger.markClean(),await this.ownerCtx.storage.set(Aj,t),this.ledgerWrites+=1,this.lastLedgerWriteAt=Date.now(),this.ledger.dirtyFlag&&this.persistSoon()}catch(t){this.pushError(`persistLedger: ${qe(t)}`)}}persistRuntimeSoon(){this.runtimeTimer||(this.runtimeTimer=setTimeout(()=>{this.runtimeTimer=void 0,this.persistRuntimeNow()},250))}async persistRuntimeNow(){if(this.ownerCtx?.storage)try{await this.ownerCtx.storage.set(Rj,cT(this.runtime))}catch(t){this.pushError(`persistRuntime: ${qe(t)}`)}}persistQuotaSoon(){this.quotaTimer||(this.quotaTimer=setTimeout(()=>{this.quotaTimer=void 0,this.persistQuotaNow()},1e3))}async persistQuotaNow(){if(!(!this.ownerCtx?.storage||!this.quota))try{await this.ownerCtx.storage.set(Oj,cT(this.quota.read())),this.quotaWrites+=1,this.lastQuotaWriteAt=Date.now()}catch(t){this.pushError(`persistQuota: ${qe(t)}`)}}async resetLedger(){this.ledger.reset(),this.bootstrapped=!1,this.persistSoon()}resetForTests(){this.eventAbort?.abort(),this.eventAbort=void 0,this.eventsStarted=!1,clearTimeout(this.ledgerTimer),clearTimeout(this.quotaTimer),clearTimeout(this.runtimeTimer),clearTimeout(this.bootstrapTimer),clearTimeout(this.quotaStartTimer),clearTimeout(this.shutdownTimer),this.ledgerTimer=void 0,this.quotaTimer=void 0,this.runtimeTimer=void 0,this.bootstrapTimer=void 0,this.quotaStartTimer=void 0,this.shutdownTimer=void 0,this.ledger=new hs,this.runtime={},this.quota=void 0,this.ownerCtx=void 0,this.ready=void 0,this.loading=void 0,this.disposing=void 0,this.started=!1,this.quotaInitialized=!1,this.bootstrapped=!1,this.bridges.clear(),this.owners.clear(),this.unowned.clear(),this.liveModels=[],this.modelsLoadedAt=0,this.modelsLoading=void 0,this.openDesignModels=[],this.openDesignLoadedAt=0,this.openDesignLoading=void 0,this.errors.length=0,this.eventsHandled=0,this.eventsIgnored=0,this.sequence=0,this.setups=0,this.disposes=0,this.ledgerWrites=0,this.quotaWrites=0,this.quotaRefreshes=0}diagnostics(){return{coreID:this.coreID,pid:this.pid,createdAt:this.createdAt,uptimeMs:Date.now()-this.createdAt,bridges:[...this.bridges.values()].map(({id:t,directory:n,createdAt:r})=>({id:t,directory:n,createdAt:r})),bridgeCount:this.bridges.size,setups:this.setups,disposes:this.disposes,ledgerEvents:this.ledger.data.usage.length,decisions:this.ledger.data.decisions.length,sessions:Object.keys(this.ledger.data.sessions).length,quotaSnapshots:this.quota?.read().length??0,quotaRefreshes:this.quotaRefreshes,ledgerWrites:this.ledgerWrites,quotaWrites:this.quotaWrites,lastLedgerWriteAt:this.lastLedgerWriteAt,lastQuotaWriteAt:this.lastQuotaWriteAt,quotaInitialized:this.quotaInitialized,bootstrapped:this.bootstrapped,eventsHandled:this.eventsHandled,eventsIgnored:this.eventsIgnored,eventStreams:this.eventsStarted?1:0,errors:this.errors.slice(-20)}}dispose(){if(this.disposing)return this.disposing;let n=this.teardown().finally(()=>{this.disposing===n&&(this.disposing=void 0)});return this.disposing=n,n}async teardown(){this.shutdownTimer&&clearTimeout(this.shutdownTimer),this.shutdownTimer=void 0,this.eventAbort?.abort(),this.eventAbort=void 0,this.eventsStarted=!1,clearTimeout(this.ledgerTimer),clearTimeout(this.quotaTimer),clearTimeout(this.runtimeTimer),clearTimeout(this.bootstrapTimer),clearTimeout(this.quotaStartTimer),this.ledgerTimer=void 0,this.quotaTimer=void 0,this.runtimeTimer=void 0,await this.persistNow(),await this.persistRuntimeNow(),await this.persistQuotaNow(),this.started=!1,this.ready=void 0,this.ownerCtx=void 0,this.quota=void 0,this.quotaInitialized=!1,this.quotaInitial=[]}},je=globalThis[Ej]??(globalThis[Ej]=new dT);import{execFile as Xse}from"node:child_process";import{promisify as eie}from"node:util";var Cj=eie(Xse),Gy=e=>e?e==="opencode-go"?"Go":e==="commandcode"?"CC":e==="opendesign"?"OD":e:"?",sf=e=>{if(e.stale)return"stale";switch(e.quotaState){case"verified":return"verified";case"estimated":return"estimated";case"exhausted":return"exhausted";case"unavailable":return"unavailable";case"unknown":return"unknown";case"stale":return"stale";default:return e.source==="provider"?"verified":e.source==="estimate"?"estimated":"unknown"}},Dj=e=>{let t=e.pools??[],n=[];if(t.length>1){n.push(`${e.label} (${sf(e)}):`);for(let r of t){let o=[];r.fiveHourUsd!==void 0&&r.fiveHourUsedPct!==void 0&&o.push(`5h ${Fd(r.fiveHourUsedPct)} of ${Ot(r.fiveHourUsd)}`),r.weeklyUsd!==void 0&&r.weeklyUsedPct!==void 0&&o.push(`7d ${Fd(r.weeklyUsedPct)} of ${Ot(r.weeklyUsd)}`);let s=o.length>0?` \xB7 ${o.join(" \xB7 ")}`:" \xB7 no usage windows";n.push(` ${r.label}: ${Ot(r.remainingUsd)} of ${Ot(r.monthlyUsd)} remaining${s}`)}n.push(" The pools are separate allowances and are never added together.")}else{let r=e.rolling.source==="unknown"&&e.weekly.source==="unknown"?"no usage windows":`5h ${Fd(e.rolling.usedPct)} \xB7 weekly ${Fd(e.weekly.usedPct)}`;n.push(`${e.label}: ${r} \xB7 monthly ${Fd(e.monthly.usedPct)} (${sf(e)})`)}if(e.providerID==="opendesign"){let r=e.extraCredits?.purchasedUsd??0;n.push(` Purchased wallet ${Ot(r)} is separate from both allowances and is never spent automatically.`),e.monthlyRemainingUsd!==void 0&&n.push(` Design Plan allowance remaining ${Ot(e.monthlyRemainingUsd)}.`)}return e.error&&n.push(` ${e.error}`),n},Pj=e=>!e.enabled||e.runtimePaused?"PAUSED":e.manual?"MANUAL":e.dryRun?"DRY RUN":"AUTO",Mo=e=>{if(!e)return"";let t=/^(AUTO|MANUAL|PAUSED|DRY RUN|BLOCKED) · [^—]*(?: — ([\s\S]*))?$/.exec(e);return t?(t[2]??"").trim():e.trim()},Mj=e=>{let t=e.currentTitle?.trim(),n=!!t&&t===e.lastWrittenTitle;return t&&!n?t:e.storedBase?e.storedBase:Mo(e.currentTitle)||void 0},uT=e=>{let t=Gy(e.provider),n=e.modelLabel?.trim()||"model",r=e.compact?`${e.state} \xB7 ${n}`:`${e.state} \xB7 ${t} \xB7 ${n}`,o=Mo(e.baseTitle);return!o||o===r||o==="Session"?r:`${r} \u2014 ${o.slice(0,150)}`},Ky=class{last=new Map;backend;shouldNotify(t,n=10*6e4){let r=Date.now(),o=this.last.get(t);if(o&&r-o<n)return!1;if(this.last.set(t,r),this.last.size>100)for(let[s,i]of this.last)r-i>n&&this.last.delete(s);return!0}async notify(t){if(!t.trim()||this.backend==="none")return!1;if(this.backend==="terminal-notifier"||this.backend===void 0)try{return await Cj("terminal-notifier",["-title","OpenCode Smart Router","-message",t.slice(0,220),"-group","opencode-smart-router"],{timeout:1500,maxBuffer:4096}),this.backend="terminal-notifier",!0}catch(n){n.code}try{let n=t.replaceAll("\\","/").replaceAll('"',"'").slice(0,220);return await Cj("osascript",["-e",`display notification "${n}" with title "OpenCode Smart Router"`],{timeout:1500,maxBuffer:4096}),this.backend="osascript",!0}catch{return this.backend="none",!1}}};var tie={type:"object",additionalProperties:!0},_o={type:"object",properties:{},additionalProperties:!1},Vy={type:"object",properties:{sessionID:{type:"string"}},required:["sessionID"],additionalProperties:!1},nt=e=>({input:e,output:tie}),_j=Ba.define({id:"smart-router",methods:{status:nt({type:"object",properties:{sessionID:{type:"string"}},additionalProperties:!1}),preview:nt({type:"object",properties:{sessionID:{type:"string"},text:{type:"string"},files:{type:"array",items:{type:"object",additionalProperties:!0}}},required:["sessionID","text"],additionalProperties:!1}),setMode:nt({type:"object",properties:{mode:{type:"string",enum:["efficiency","balanced","premium"]}},required:["mode"],additionalProperties:!1}),setPaused:nt({type:"object",properties:{paused:{type:"boolean"}},required:["paused"],additionalProperties:!1}),setSessionAuto:nt({type:"object",properties:{sessionID:{type:"string"},auto:{type:"boolean"}},required:["sessionID","auto"],additionalProperties:!1}),setDryRun:nt({type:"object",properties:{dryRun:{type:"boolean"}},required:["dryRun"],additionalProperties:!1}),resumeAuto:nt(Vy),pin:nt({type:"object",properties:{sessionID:{type:"string"},providerID:{type:"string"},modelID:{type:"string"},variant:{type:"string"}},required:["sessionID","providerID","modelID"],additionalProperties:!1}),approvePremium:nt(Vy),denyPremium:nt(Vy),excludeModel:nt({type:"object",properties:{providerID:{type:"string"},modelID:{type:"string"},excluded:{type:"boolean"}},required:["providerID","modelID","excluded"],additionalProperties:!1}),setPremiumBudget:nt({type:"object",properties:{usd:{type:"number",minimum:0,maximum:1e5}},required:["usd"],additionalProperties:!1}),setReserve:nt({type:"object",properties:{providerID:{type:"string"},monthlyPct:{type:"number",minimum:0,maximum:90},weeklyPct:{type:"number",minimum:0,maximum:90},fiveHourPct:{type:"number",minimum:0,maximum:90}},required:["providerID"],additionalProperties:!1}),floor:nt(_o),setCalibrateFloor:nt({type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"],additionalProperties:!1}),refreshQuota:nt(_o),onboarding:nt(_o),completeOnboarding:nt(_o),recordPlanPage:nt({type:"object",properties:{page:{type:"string"},confirm:{type:"boolean"}},required:["page"],additionalProperties:!1}),report:nt(_o),usage:nt(_o),getConfig:nt(_o),resetOverrides:nt(_o),resetMetrics:nt(_o),refreshIndicator:nt(Vy),diagnostics:nt(_o),setTitleIndicator:nt({type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"],additionalProperties:!1})},events:{decision:{schema:{type:"object",properties:{decision:{type:"object",additionalProperties:!0}},required:["decision"],additionalProperties:!1}},status:{schema:{type:"object",properties:{sessionID:{type:"string"},summary:{type:"object",additionalProperties:!0}},required:["summary"],additionalProperties:!1}},quota:{schema:{type:"object",properties:{providers:{type:"array",items:{type:"object",additionalProperties:!0}}},required:["providers"],additionalProperties:!1}}}});var af=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),iie=3e4,Nj=3e4,Z0e=10*6e4;var aie=5,cie=1800*1e3,Fj=e=>Array.isArray(e)?e:af(e)&&Array.isArray(e.data)?e.data:[],Jy=e=>{if(af(e)&&!(typeof e.providerID!="string"||typeof e.id!="string"))return{providerID:e.providerID,id:e.id,...typeof e.variant=="string"?{variant:e.variant}:{}}},$j=e=>{if(!af(e))return{input:0,output:0,cache:{read:0,write:0}};let t=af(e.cache)?e.cache:{};return{input:typeof e.input=="number"?e.input:0,output:typeof e.output=="number"?e.output:0,cache:{read:typeof t.read=="number"?t.read:0,write:typeof t.write=="number"?t.write:0}}},die=(e,t)=>{let n=structuredClone(e);if(t.mode&&(n.mode=t.mode),t.paused===!0&&(n.enabled=!1),typeof t.dryRun=="boolean"&&(n.dryRun=t.dryRun),typeof t.titleIndicator=="boolean"&&(n.ui.titleIndicator=t.titleIndicator),typeof t.compactMode=="boolean"&&(n.ui.compactMode=t.compactMode,n.ui.compact=t.compactMode,n.compactMode=t.compactMode,n.compact=t.compactMode),typeof t.compact=="boolean"&&(n.ui.compactMode=t.compact,n.ui.compact=t.compact,n.compactMode=t.compact,n.compact=t.compact),typeof t.premiumBudgetUsd=="number"&&(n.premium.monthlyBudgetUsd=t.premiumBudgetUsd),t.reserves)for(let[s,i]of Object.entries(t.reserves)){let c=n.providers[s];c&&(typeof i.monthlyPct=="number"&&(c.reserveMonthlyPct=i.monthlyPct),typeof i.weeklyPct=="number"&&(c.reserveWeeklyPct=i.weeklyPct),typeof i.fiveHourPct=="number"&&(c.reserveFiveHourPct=i.fiveHourPct))}let r=ja([...n.models.excluded,...t.excluded??[]]),o=ja([...n.models.approved,...t.approved??[]]);return n.models.excluded=r,n.models.approved=o,n},li=class extends Error{constructor(t){super(t),this.name="RouterBlockedError"}},Zy=class e{ctx;settingsBase;settingsWarnings;settingsSources;runtime={};ledger;registry=FE({live:[],settings:Uy({options:{}}).settings});quota;bridgeID="";expectedSwitch=new Map;requestKinds=new Map;promptRoutes=new Dy;pendingHeals=new Map;floorCache;recordedFaults=new Map;modelsSeen=new Map;routerCompactAt=new Map;lastCompactionDecision=new Map;inflight=new Set;promptSeen=new Set;created=new Map;stepStarted=new Map;contextLoaded=new Set;contextInflight=new Map;detectedProviders=[];onboardingComplete=!1;explicitProviderEnable;titleQueue=new Map;notifier=new Ky;rpcRegistration;registrations=[];dirCache=new Map;localDir;cleanupDone=!1;constructor(t){this.ctx=t.ctx,this.localDir=this.canonicalDir(t.ctx.location?.directory);let n=Uy({options:t.pluginOptions,directory:this.ctx.location?.directory,projectDirectory:this.ctx.location?.directory});this.settingsBase=n.settings,this.settingsWarnings=n.warnings,this.settingsSources=n.sources,this.explicitProviderEnable=n.explicitProviderEnable,this.ledger=new hs;for(let[r,o]of Object.entries(n.settings.providers)){if(!o?.enabled)continue;let s=My(r,o.plan);s.resolution==="unknown"&&this.settingsWarnings.push(`providers.${r}.plan is "${o.plan}", which is not a known plan for ${r}. Using ${s.planID??"no plan"}, so quota may be miscalculated. Set a plan id from the catalog.`)}}get settings(){return die(this.settingsBase,this.runtime)}runtimeFor(t){return!this.settings.enabled||this.runtime.paused===!0||t?.paused===!0?"paused":t?.manualOverride?"manual":"automatic"}safe(t){return JSON.parse(JSON.stringify(t))}persistLedgerSoon(){je.persistSoon()}persistRuntime(){je.runtime=this.runtime,je.persistRuntimeSoon()}async emit(t,n){try{await this.rpcRegistration?.events.emit(t,this.safe(n))}catch{}}async loadModels(){try{this.modelList=await je.getLiveModels(),this.rebuildRegistry()}catch(t){this.settingsWarnings.push(`Could not refresh the live model catalog: ${qe(t)}`)}}rebuildRegistry(){let t=Fj(this.modelList??[]);this.registry=FE({live:t,settings:this.settings,definitions:this.settings.models.definitions})}modelList=[];async initialize(){await this.applyProviderDetection(),await je.init({ctx:this.ctx,getSettings:()=>this.settings,getCredentials:()=>this.resolveQuotaCredentials()}),this.ledger=je.ledger,this.runtime=je.runtime;let t=je.quota;if(!t)throw new Error("Shared quota service is not initialized");return this.quota=t,this.bridgeID=je.addBridge(this.ctx.location?.directory??"",this),this.modelList=[],this.rebuildRegistry(),await this.registerRpc(),await this.registerCommands(),await this.registerHooks(),this.loadModels(),()=>this.dispose()}async applyProviderDetection(){try{let t=[],n=async f=>{try{return!!await this.ctx.integration.connection.active(f)}catch{return!1}},r=async f=>{try{let g=await this.ctx.provider.get({providerID:f}),b=g?.data??g;return typeof b?.settings?.apiKey=="string"&&b.settings.apiKey.length>0}catch{return!1}},o=f=>{for(let g of PB(f))if(process.env[g]?.trim())return{has:!0,source:g};for(let g of DB(f,Uj()))try{if(oie(g))return{has:!0,source:g.replace(Uj(),"~")}}catch{}return{has:!1}};await n("opencode")&&t.push({providerID:"opencode-go",hasCredential:!0,source:"OpenCode connection"});let i=await n("commandcode"),c=o("commandcode"),d=await r("commandcode");t.push({providerID:"commandcode",hasCredential:i||c.has||d,...i?{source:"Command Code integration"}:c.source?{source:c.source}:d?{source:"OpenCode provider settings"}:{}});let u=o("opendesign"),l=await r("opendesign");t.push({providerID:"opendesign",hasCredential:u.has||l,...u.source?{source:u.source}:l?{source:"OpenCode provider settings"}:{}}),this.detectedProviders=t;let p=OB(this.settingsBase,this.explicitProviderEnable,t);p.settings!==this.settingsBase&&(this.settingsBase=p.settings,this.rebuildRegistry());for(let f of CB(p))this.settingsWarnings.includes(f)||this.settingsWarnings.push(f);for(let f of p.keptOnByChoice){let g=`providers.${f} stays enabled with no credential found \u2014 you asked for it`;this.settingsWarnings.includes(g)||this.settingsWarnings.push(g)}for(let f of p.keptOffByChoice){let g=`providers.${f} credentials found but the provider stays disabled \u2014 you asked for it`;this.settingsWarnings.includes(g)||this.settingsWarnings.push(g)}}catch(t){this.settingsWarnings.push(`Provider detection skipped: ${qe(t)}`)}}onboardingState(){let t=this.settings.providers,n=this.detectedProviders.map(o=>({providerID:o.providerID,label:o.providerID==="opencode-go"?"OpenCode Go":o.providerID==="commandcode"?"Command Code GOAT":o.providerID==="opendesign"?"OpenDesign":o.providerID,found:o.hasCredential,...o.source?{source:o.source}:{},enabled:t[o.providerID]?.enabled??!1})),r=this.ledger.usageEvents().filter(o=>String(o.id).startsWith("hist:"));return{firstRun:!this.onboardingComplete&&this.explicitProviderEnable.size===0,providers:n,historyImported:r.length,hasHistory:r.length>0,needsReading:this.quotaSnapshots().some(o=>o.source==="estimate"),mode:this.settings.mode,version:"0.2.0"}}async recordPlanPage(t){let n=kB(t.page??"");if(!n)return{ok:!1,message:"That page could not be read. Paste either the Plan & balance page or the Usage page, including its model table."};if(n.kind==="usage"){let c=RB(n),d=Ny(n);return{ok:!0,message:c.differ>0?`${d} ${c.summary}`:d,preview:{kind:"usage",summary:d,found:[...n.found],missing:[...n.missing],reconciliation:{summary:c.summary,agree:c.agree,differ:c.differ,rows:[...c.rows]},apply:{}}}}if(n.designPlanUsedPct===void 0)return{ok:!1,message:Ny(n)};let o={at:Date.now(),designPlanUsedPct:n.designPlanUsedPct,pctOf:n.pctOf??"weekly"};n.resetsAt!==void 0&&(o.weeklyResetsAt=n.resetsAt),n.periodEndsAt!==void 0&&(o.monthlyResetsAt=n.periodEndsAt);let s={providers:{opendesign:{baseline:o,enabled:!0}}};n.plan&&Po("opendesign",n.plan.toLowerCase())&&(s.providers.opendesign.plan=n.plan.toLowerCase());let i={kind:"allowance",summary:Ny(n),found:[...n.found],missing:[...n.missing],apply:s};if(t.confirm!==!0)return{ok:!0,message:i.summary,preview:i};try{let c=SB({patch:s,validate:d=>{if(Gp(d).settings.providers.opendesign?.baseline===void 0)return"That reading could not be applied. Check the page and try again."}});return await this.reloadSettingsFromDisk(),{ok:!0,message:`Recorded. ${i.summary}.`,preview:i,...c.backup?{backup:c.backup}:{}}}catch(c){return{ok:!1,message:qe(c)}}}async reloadSettingsFromDisk(){let t=Uy({options:this.ctx.options,directory:this.ctx.location?.directory,projectDirectory:this.ctx.location?.directory});this.settingsBase=t.settings,this.settingsWarnings=t.warnings,this.settingsSources=t.sources,await this.applyProviderDetection(),this.rebuildRegistry(),this.quota?.invalidate(),await Promise.allSettled([this.quota?.refresh("opencode-go",!0),this.quota?.refresh("commandcode",!0),this.quota?.refresh("opendesign",!0)])}providerResetAt(t,n=Date.now()){let r=n+cie,o=this.quotaSnapshots().find(i=>i.providerID===t);return o?[o.rolling?.resetsAt,o.weekly?.resetsAt,o.monthly?.resetsAt].filter(i=>typeof i=="number"&&i>n).sort((i,c)=>i-c)[0]??r:r}async resolveQuotaCredentials(){let t,n;try{let i=await this.ctx.integration.connection.active("opencode");if(i){let c=await this.ctx.integration.connection.resolve(i);t=c?.type==="oauth"?c.access:c?.type==="key"?c.key:void 0}}catch{}try{let i=await this.ctx.integration.connection.active("commandcode");if(i){let c=await this.ctx.integration.connection.resolve(i);n=c?.type==="key"?c.key:c?.type==="oauth"?c.access:void 0}}catch{}let r;try{let i=await this.ctx.provider.get({providerID:"commandcode"});r=(i?.data??i)?.settings?.apiKey}catch{}let{openDesignApiKey:o,openDesignControlKey:s}=await this.resolveOpenDesignCredentials();return{goAccessToken:t,commandCodeIntegrationKey:n,commandCodeProviderKey:r,openDesignApiKey:o,openDesignControlKey:s}}async resolveOpenDesignCredentials(){let t=this.settings.providers.opendesign;if(!t?.enabled)return{};let n;try{let s=await this.ctx.provider.get({providerID:"opendesign"});n=(s?.data??s)?.settings?.apiKey}catch{}let r=ZB({explicitPath:t.credentialPath,providerSettingsKey:n,credentialSource:t.credentialSource});for(let s of r.warnings)this.settingsWarnings.includes(s)||this.settingsWarnings.push(s);let o=QB({explicitPath:t.controlKeyPath});for(let s of o.warnings)this.settingsWarnings.includes(s)||this.settingsWarnings.push(s);return{openDesignApiKey:r.candidates[0]?.key,openDesignControlKey:o.candidates[0]?.key}}sessionState(t){return this.ledger.ensureSession(t)}canonicalDir(t){if(!t)return"";let n=this.dirCache.get(t);if(n)return n;let r=sie(t);if(r.startsWith("/private/")&&(r=r.slice(8)),this.dirCache.size>=500){let o=this.dirCache.keys().next().value;o&&this.dirCache.delete(o)}return this.dirCache.set(t,r),r}projectMatches(t,n){let r=this.ctx.location?.project?.id;if(t&&r&&t===r)return!0;let o=this.canonicalDir(n);return this.localDir&&o?o===this.localDir||o.startsWith(`${this.localDir}/`):!t||!r}ownsSession(t){if(t.directory)return this.projectMatches(void 0,t.directory);let n=this.ctx.location?.project?.id;return!n||!t.projectID||t.projectID===n}remember(t,n,r=1e3){if(!t.has(n)&&t.size>=r){let o=t.values().next().value;o&&t.delete(o)}t.add(n)}async loadSessionInfo(t){try{let n=await this.ctx.session.get({sessionID:t});if(!this.projectMatches(n?.projectID,n?.location?.directory))return;je.claimSession(t,this.bridgeID);let r=Jy(n?.model),o=typeof n?.parentID=="string"?n.parentID:void 0,s=typeof n?.title=="string"?n.title:void 0,i=this.ledger.ensureSession(t,o,s);n?.projectID&&this.ledger.patchSession(t,{projectID:String(n.projectID)}),n?.location?.directory&&this.ledger.patchSession(t,{directory:String(n.location.directory)});let c=Mo(typeof n?.title=="string"?n.title:s);if(c&&!i.baseTitle&&this.ledger.patchSession(t,{baseTitle:c}),r&&this.ledger.patchSession(t,{lastModel:r,...i.manualOverride?{manualModel:r}:{}}),i.contextTokens===0){let d=await this.readCurrentContext(t);if(d!==void 0)this.ledger.patchSession(t,{contextTokens:d.contextTokens,cacheReadTokens:d.cacheReadTokens});else{let u=Number(n?.time?.created)||0,l=Number(n?.time?.updated)||0,p=0;n?.fork?p=35e4:u>0&&l-u>6e4&&(p=15e4),p>0&&this.ledger.patchSession(t,{contextTokens:p,cacheReadTokens:0})}}}catch{}}indicatorFor(t,n){let r=this.settings,o=n?.indicatorTitle?.startsWith("BLOCKED \xB7")?"BLOCKED":Pj({enabled:r.enabled,runtimePaused:this.runtime.paused===!0,manual:n?.manualOverride===!0,dryRun:r.dryRun}),s=n?.pinnedModel??n?.manualModel??n?.lastModel,i=s?this.registry.get(s.providerID,s.id):void 0;return{state:o,...s?{provider:Gy(s.providerID),model:s.id}:{},...i?{modelLabel:i.name}:s?{modelLabel:s.id}:{},...n?.indicatorTitle?{title:n.indicatorTitle}:{}}}queueTitle(t){let r=(this.titleQueue.get(t)??Promise.resolve()).catch(()=>{}).then(()=>this.applyTitleNow(t)).catch(()=>{}).finally(()=>{this.titleQueue.get(t)===r&&this.titleQueue.delete(t)});return this.titleQueue.set(t,r),r}async applyTitleNow(t){let n=this.ledger.getSession(t);if(!n)return;let r;try{r=await this.ctx.session.get({sessionID:t})}catch{r=void 0}if(!this.projectMatches(r?.projectID,r?.location?.directory))return;let o=typeof r?.title=="string"?r.title:void 0;if(!this.settings.ui.titleIndicator){let l=Mo(o);if(o&&l&&l!==o.trim())try{await this.ctx.session.update({sessionID:t,title:l}),this.ledger.patchSession(t,{title:l,indicatorTitle:void 0})}catch{}return}let s=n.pinnedModel??n.manualModel??n.lastModel;if(!s)return;let i=Mj({currentTitle:o,lastWrittenTitle:n.indicatorTitle,storedBase:n.baseTitle});if(!i)return;let c=this.registry.get(s.providerID,s.id),d=this.indicatorFor(t,{...n,baseTitle:i}),u=uT({state:d.state,provider:s.providerID,modelLabel:c?.name??s.id,baseTitle:i,compact:this.settings.ui.compactMode||this.settings.ui.compact||this.settings.compactMode||this.settings.compact});if(!(o===u&&n.indicatorTitle===u)){n.baseTitle=i,n.indicatorTitle=u,n.title=u,this.ledger.patchSession(t,{baseTitle:i,indicatorTitle:u,title:u});try{await this.ctx.session.update({sessionID:t,title:u})}catch(l){this.settingsWarnings.push(`Could not update the session title indicator: ${qe(l)}`)}}}async refreshKnownTitles(){let t=Object.values(this.ledger.data.sessions).filter(n=>this.ownsSession(n)).map(n=>n.sessionID);await Promise.allSettled(t.map(n=>this.queueTitle(n)))}async restoreTitles(){for(let t of Object.values(this.ledger.data.sessions)){if(!this.ownsSession(t))continue;let n=t.baseTitle||Mo(t.title);if(n)try{await this.ctx.session.update({sessionID:t.sessionID,title:n}),this.ledger.patchSession(t.sessionID,{title:n,indicatorTitle:void 0})}catch(r){this.settingsWarnings.push(`Could not restore session title: ${qe(r)}`)}}}async notifyChange(t,n){this.settings.ui.notifications&&this.notifier.shouldNotify(t)&&await this.notifier.notify(n)}modelNotice(t,n,r,o){if(!r)return;let s=this.registry.get(r.providerID,r.id),i=`${Gy(r.providerID)} \xB7 ${s?.name??r.id}`,c=o?` \u2014 ${o}`:"";this.notifyChange(`${t}:${n}:${r.providerID}:${r.id}:${o??""}`,`${n} \xB7 ${i}${c}`)}speedSnapshot(){let t={};for(let[n,r]of Object.entries(this.ledger.snapshotMetrics().byModel))r.outputTokensPerSecond<=0||r.latencySamples<=0||(t[n]={tokensPerSecond:r.outputTokensPerSecond,samples:r.latencySamples});return t}premiumState(t){let n=this.ledger.premiumSpent(),r=this.settings.premium.monthlyBudgetUsd;return{mode:this.settings.premium.mode,monthlyBudgetUsd:r,spentUsd:n,remainingUsd:Math.max(0,r-n),oneShotGranted:t?.premiumOneShot===!0,...t?.premiumOneShotAt?{oneShotGrantedAt:t.premiumOneShotAt}:{}}}quotaSnapshots(){return this.quota?this.quota.read().map(t=>{let n=this.settings.providers[t.providerID];return!n||n.providerScopedQuota?t:this.ledger.attachModelQuotas(t,this.registry.all(),n)}):[]}async ensureContextTokens(t){if(this.contextLoaded.has(t))return;let n=this.contextInflight.get(t);if(n)return n;let r=(async()=>{try{let o=await this.readCurrentContext(t);o&&(this.sessionState(t),this.ledger.patchSession(t,{contextTokens:o.contextTokens,cacheReadTokens:o.cacheReadTokens}))}catch{}finally{this.remember(this.contextLoaded,t,2e3),this.contextInflight.delete(t)}})();return this.contextInflight.set(t,r),r}async readCurrentContext(t){try{let r=[...Fj(await Promise.race([this.ctx.session.context({sessionID:t}),new Promise(i=>setTimeout(()=>i({data:[]}),5e3))]))].reverse().find(i=>i?.type==="assistant"&&i?.tokens);if(!r?.tokens)return;let o=$j(r.tokens),s=o.input+o.cache.read+o.cache.write;return s<=0?void 0:{contextTokens:s,cacheReadTokens:o.cache.read}}catch{return}}async refreshContextAfterCompaction(t){let n=await this.readCurrentContext(t);n&&(this.sessionState(t),this.ledger.patchSession(t,{contextTokens:n.contextTokens,cacheReadTokens:n.cacheReadTokens}),this.persistLedgerSoon())}classifierFiles(t){return Array.isArray(t)?t.filter(af).map(n=>({uri:typeof n.uri=="string"?n.uri:"",...typeof n.name=="string"?{name:n.name}:{},...typeof n.description=="string"?{description:n.description}:{}})).filter(n=>n.uri.length>0):[]}statusFor(t){this.settingsWarnings.length>50&&(this.settingsWarnings=this.settingsWarnings.slice(-50));let n=t?this.ledger.getSession(t):void 0,r=n?.lastModel,o=this.runtimeFor(n),s=this.registry.get(r?.providerID??"",r?.id??""),i=t?this.ledger.decisions(20).filter(u=>u.sessionID===t):this.ledger.decisions(20),c=this.quotaSnapshots(),d=[...this.settingsWarnings,...c.filter(u=>u.error).map(u=>`${u.label}: ${u.error}`)];return{enabled:this.settings.enabled,mode:this.settings.mode,runtime:o,dryRun:this.settings.dryRun,...t?{sessionID:t}:{},...r?{current:r}:{},...s?{currentTier:s.tier}:{},manualOverride:n?.manualOverride??!1,...n?.pinnedModel?{pinnedModel:n.pinnedModel}:{},premium:this.premiumState(n),quota:c,context:eB(n,this.settings.contextHealth),indicator:this.indicatorFor(t??"",n),...i[0]?{lastDecision:i[0]}:{},lastDecisions:i,metrics:this.ledger.snapshotMetrics(),approvedModels:this.registry.approved().map(u=>({key:u.key,tier:u.tier,name:u.name,intelligence:u.intelligence,design:u.design,vision:u.inputModalities.includes("image"),premium:u.premium})),models:this.registry.all().map(u=>({key:u.key,providerID:u.providerID,name:u.name,tier:u.tier,intelligence:u.intelligence,design:u.design,vision:u.inputModalities.includes("image"),premium:u.premium,context:u.context,costInput:u.cost[0]?.input??0,costOutput:u.cost[0]?.output??0,approved:u.approved,excluded:this.settings.models.excluded.includes(u.key),...u.notes?{approvalNote:u.notes}:{}})),warnings:d}}async markBlocked(t,n){let r=this.ledger.ensureSession(t),o=r.lastModel,i=(o?this.registry.get(o.providerID,o.id):void 0)?.name??o?.id??"current model",c=uT({state:"BLOCKED",provider:o?.providerID,modelLabel:i,baseTitle:r.baseTitle||r.title});r.indicatorTitle=c,r.title=c,this.ledger.patchSession(t,{indicatorTitle:c,title:c});try{await this.ctx.session.update({sessionID:t,title:c})}catch{}this.notifyChange(`${t}:blocked:${n}`,`BLOCKED \xB7 ${i} \u2014 ${n}`)}recordFailedDecision(t,n,r,o){let s=this.ledger.ensureSession(t),i=Bp({text:n,files:this.classifierFiles(r),contextTokens:s.contextTokens,recentFailures:s.failures.length}),c=this.runtimeFor(s),d={id:wr("dec"),at:Date.now(),sessionID:t,mode:this.settings.mode,dryRun:this.settings.dryRun,runtime:c,task:i,...s.lastModel?{current:s.lastModel}:{},switched:!1,switchReason:`Routing failed; the current model was kept: ${o}`,reasons:[`Routing failed: ${o}`],warnings:[`Routing failed: ${o}`],candidates:[],premium:this.premiumState(s),quota:this.quotaSnapshots(),contextTokens:s.contextTokens,cachedTokens:s.cacheReadTokens,estimatedUsd:0,needsPremiumApproval:!1,manualOverride:s.manualOverride===!0,error:o};return this.ledger.recordDecision(d),this.persistLedgerSoon(),this.emit("decision",{decision:d}),d}async handleRoutingFailure(t,n,r,o){let s=qe(o);this.settingsWarnings.push(`Prompt routing failed: ${s}`);try{this.recordFailedDecision(t,n,r,s)}catch(i){this.settingsWarnings.push(`Could not record the failed routing decision: ${qe(i)}`)}if(this.settings.routing.failClosed)throw await this.markBlocked(t,s),new li(`Smart Router blocked this prompt: ${s}`)}async routePrompt(t,n,r){let o=this.settings;await this.loadSessionInfo(t);let s=this.sessionState(t);s.indicatorTitle?.startsWith("BLOCKED \xB7")&&this.ledger.patchSession(t,{indicatorTitle:void 0});let i=this.runtimeFor(s);if(this.ensureContextTokens(t),i!=="automatic"){let y=Bp({text:n,files:this.classifierFiles(r),contextTokens:s.contextTokens,recentFailures:s.failures.length}),S=Xp({task:y,settings:o,mode:o.mode,runtime:i,models:this.routingModels(),intelligenceFloor:this.routingFloor(this.routingModels()).floor,current:s.lastModel,session:s,quota:this.quotaSnapshots(),premium:this.premiumState(s),contextTokens:s.contextTokens,cachedTokens:s.cacheReadTokens,dryRun:o.dryRun});return this.ledger.recordDecision(S.decision),this.persistLedgerSoon(),this.emit("decision",{decision:S.decision}),S.decision}let c=Bp({text:n,files:this.classifierFiles(r),contextTokens:s.contextTokens,recentFailures:s.failures.length}),d=this.quotaSnapshots(),u=s.parentID&&o.mode==="premium"?"balanced":o.mode,l=s.parentID?{...this.premiumState(s),oneShotGranted:!1}:this.premiumState(s),p=Xp({task:c,settings:o,mode:u,runtime:i,models:this.routingModels(),intelligenceFloor:this.routingFloor(this.routingModels()).floor,current:s.lastModel,session:s,quota:d,premium:l,contextTokens:s.contextTokens,cachedTokens:s.cacheReadTokens,dryRun:o.dryRun,modelHistory:this.ledger.snapshotMetrics().byModel,cooldowns:this.ledger.cooldowns(),providerCooldowns:this.ledger.providerCooldowns(),speed:this.speedSnapshot()});s.lastModel&&this.rememberModel(t,s.lastModel.providerID,s.lastModel.id);let f;if(p.chosenModel&&p.decision.switched){let y=p.chosenModel,S=Ue(y.providerID,y.modelID);if(this.expectedSwitch.size>500){let R=Date.now()-6e4;for(let[A,k]of this.expectedSwitch)k.at<R&&this.expectedSwitch.delete(A);if(this.expectedSwitch.size>500){let A=this.expectedSwitch.keys().next().value;A&&this.expectedSwitch.delete(A)}}if(this.sessionBusy(t)){this.expectedSwitch.delete(t),this.settingsWarnings.push(`Deferred a switch to ${y.providerID}/${y.modelID}: the session was mid-turn. Routing again on the next prompt.`);return}if(!await this.modelResolvable(y.providerID,y.modelID)){this.expectedSwitch.delete(t),this.settingsWarnings.push(`Skipped a switch to ${y.providerID}/${y.modelID}: OpenCode does not currently expose that model.`);return}this.expectedSwitch.set(t,{key:S,at:Date.now()});try{await this.ctx.session.switchModel({sessionID:t,model:{providerID:y.providerID,id:y.modelID}}),this.ledger.patchSession(t,{lastModel:{providerID:y.providerID,id:y.modelID},lastRoutedModel:{providerID:y.providerID,id:y.modelID}}),this.rememberModel(t,y.providerID,y.modelID),p.decision.premium.oneShotGranted&&y.premium&&this.ledger.consumePremiumOneShot(t)}catch(R){f=qe(R),this.expectedSwitch.delete(t),this.settingsWarnings.push(`Model switch failed: ${f}`)}}let g=f?{...p.decision,error:f,switched:!1,switchReason:`Switch failed; kept the current model. ${f}`,warnings:[...p.decision.warnings,`Switch failed: ${f}`]}:p.decision;if(i==="automatic"&&o.routing.failClosed&&(!g.chosen||f)){let y=s.lastModel?this.registry.get(s.lastModel.providerID,s.lastModel.id):void 0,S=qy({settings:o,mode:u,task:c,session:s,premium:l}),v=y?Hd({model:y,task:c,settings:o,mode:u,contextTokens:s.contextTokens,providerQuota:d.find(I=>I.providerID===y.providerID),modelQuota:d.find(I=>I.providerID===y.providerID)?.models[`${y.providerID}/${y.modelID}`],premium:S,currentModelKey:y.key}):{eligible:!1,reason:"No current model is recorded for this session",warnings:[]};if(!v.eligible){let I=v.reason;await this.markBlocked(t,I);let R={...g,error:I,switched:!1,switchReason:`Prompt blocked: ${I}`,warnings:[...g.warnings,`Prompt blocked: ${I}`]};throw this.ledger.recordDecision(R),this.persistLedgerSoon(),this.emit("decision",{decision:R}),new li(`Smart Router blocked this prompt: ${I}`)}}this.ledger.recordDecision(g),this.persistLedgerSoon(),this.emit("decision",{decision:g}),g.needsPremiumApproval&&(this.emit("status",{summary:{needsPremiumApproval:!0,sessionID:t}}),this.notifyChange(`${t}:premium-needed`,"Premium approval required. Run /router-approve for this session.")),this.queueTitle(t);let b=this.indicatorFor(t,this.ledger.getSession(t));if(g.switched&&g.chosen){let y=g.task.tier===1?"economy":g.task.tier===3?"premium":"standard";this.modelNotice(t,b.state,g.chosen,`${y} task \xB7 quota-aware route`)}return g}async registerHooks(){this.registrations.push(await this.ctx.session.hook("prompt",async t=>{let n=t.sessionID;if(n){try{let r=await this.ctx.session.get({sessionID:n});if(!this.projectMatches(r?.projectID,r?.location?.directory))return}catch{}if(je.claimSession(n,this.bridgeID),this.remember(this.promptSeen,n),this.pendingHeals.delete(n),!this.inflight.has(n)){this.inflight.add(n);try{let r=await this.routePrompt(n,t.prompt?.text??"",t.prompt?.files);r&&this.promptRoutes.set(n,{messageID:typeof t.messageID=="string"?t.messageID:void 0,task:r.task,decision:r,at:Date.now()})}catch(r){if(r instanceof li||r?.name==="RouterBlockedError")throw r;await this.handleRoutingFailure(n,t.prompt?.text??"",t.prompt?.files,r)}finally{this.inflight.delete(n)}}}})),this.registrations.push(await this.ctx.session.hook("model.request",t=>{if(je.ownerOf(t.sessionID)===this.bridgeID){if(typeof t.kind=="string"&&t.kind){if(this.requestKinds.size>500){let n=Date.now()-6e4;for(let[r,o]of this.requestKinds)o.at<n&&this.requestKinds.delete(r);if(this.requestKinds.size>500){let r=this.requestKinds.keys().next().value;r&&this.requestKinds.delete(r)}}this.requestKinds.set(t.sessionID,{kind:t.kind,at:Date.now()})}t.model?.providerID==="opencode-go"&&(t.headers["x-opencode-session"]=t.headers["x-opencode-session"]??t.sessionID),this.settings.privacy.requireZdr&&t.model?.providerID==="commandcode"&&(t.headers["x-cmd-zdr"]="1")}})),this.registrations.push(await this.ctx.session.hook("context",async t=>{try{if(!await this.ensureOwnership(t.sessionID))return;let n=this.requestKinds.get(t.sessionID);if(this.requestKinds.delete(t.sessionID),n&&n.kind!=="primary")return;let r=this.ledger.getSession(t.sessionID),o=t.model??r?.lastModel,s=o?this.registry.get(o.providerID,o.id):void 0,i=oB({...s??{},providerID:o?.providerID??"",modelID:o?.id??""});if(i!=="anthropic")return;let c=rB(t.messages,{protocol:i});c.folded>0&&(t.messages=c.messages)}catch(n){this.settingsWarnings.push(`Prompt repair failed: ${qe(n)}`)}})),this.registrations.push(await this.ctx.session.hook("retry",async t=>{if(je.ownerOf(t.sessionID)!==this.bridgeID)return;let n=this.ledger.getSession(t.sessionID),r=UE({type:t.error?.type,message:t.error?.message??"",status:t.error?.status},n),o=typeof t.assistantMessageID=="string"?t.assistantMessageID:typeof t.attemptID=="string"?t.attemptID:void 0;if(this.alreadyRecorded(t.sessionID,r.class,t.error?.message??"",o)||this.ledger.recordFailure(t.sessionID,t.model,r.class,t.error?.message??"",{countAgainstModel:r.countAgainstModel,cooldownMs:r.cooldownMs,providerScoped:r.providerScoped,saturation:r.saturation===!0}),this.ledger.recordRetry(t.sessionID),this.persistLedgerSoon(),r.class==="auth"||r.class==="context_overflow"||r.class==="image_rejected"){t.decision={retry:!1};return}if(r.class==="quota_exhausted"){let s=t.model?.providerID;s&&this.ledger.exhaustProvider(s,this.providerResetAt(s)),this.settingsWarnings.push(`${s??"The provider"} reported no allowance left. Routing will avoid it until its window resets.`),t.decision={retry:!1},this.persistLedgerSoon();return}if(r.class==="capability"){t.decision={retry:!1};return}if(r.class==="prompt_rejected"){t.decision={retry:!1};try{await this.attemptSelfHeal(t.sessionID,t)}catch(s){this.settingsWarnings.push(`Prompt-rejection failover failed: ${qe(s)}`)}this.persistLedgerSoon();return}if(r.class==="rate_limit"){t.decision={retry:!0,delay:Math.max(5e3,t.error?.retryAfterMs??15e3)};return}r.providerScoped?t.attempt>=aie?t.decision={retry:!1}:t.decision={retry:!0,delay:Math.min(4e4,5e3*2**(t.attempt-1))}:(r.class==="provider_outage"||r.class==="network")&&t.attempt>=3&&(t.decision={retry:!1})}))}async ensureOwnership(t){let n=je.ownerOf(t);if(n)return n===this.bridgeID;try{let r=await this.ctx.session.get({sessionID:t});return this.projectMatches(r?.projectID,r?.location?.directory)?(je.claimSession(t,this.bridgeID),!0):!1}catch{return!1}}async recordProviderFault(t,n,r,o){let s=this.ledger.getSession(t),i=s?.lastModel;if(!i)try{let u=await this.ctx.session.get({sessionID:t}),l=Jy(u?.model);l&&(i=l,this.ledger.patchSession(t,{lastModel:l}),this.rememberModel(t,l.providerID,l.id))}catch{}let c=typeof r?.message=="string"&&r.message.trim().length>0?r.message:n==="interrupted"?"Step interrupted":"The provider ended the response without completing it",d=UE({type:typeof r?.type=="string"?r.type:n,message:c,...typeof r?.status=="number"?{status:r.status}:{}},s);this.alreadyRecorded(t,d.class,c,o)||this.ledger.recordFailure(t,i,d.class,c,{countAgainstModel:d.countAgainstModel,cooldownMs:d.cooldownMs,providerScoped:d.providerScoped,saturation:d.saturation===!0})}static PROMPT_REJECTED_HOLD_MS=5*6e4;async attemptSelfHeal(t,n){let r=this.promptRoutes.get(t),o=Jy(n.model)??this.ledger.getSession(t)?.lastModel;if(!o)return;let s=Ue(o.providerID,o.id),i=l=>this.ledger.holdModel(l,e.PROMPT_REJECTED_HOLD_MS);if(!r||r.healedAt){i(o),this.noteSelfHeal(t,r,o,"noted");return}if(this.runtimeFor(this.sessionState(t))!=="automatic"){i(o),this.noteSelfHeal(t,r,o,"noted");return}let c=this.sessionState(t),d=Xp({task:r.task,settings:this.settings,mode:c.parentID&&this.settings.mode==="premium"?"balanced":this.settings.mode,runtime:"automatic",models:this.routingModels(),intelligenceFloor:this.routingFloor(this.routingModels()).floor,current:o,session:c,quota:this.quotaSnapshots(),premium:c.parentID?{...this.premiumState(c),oneShotGranted:!1}:this.premiumState(c),contextTokens:c.contextTokens,cachedTokens:c.cacheReadTokens,dryRun:this.settings.dryRun,modelHistory:this.ledger.snapshotMetrics().byModel,cooldowns:{...this.ledger.cooldowns(),[s]:Date.now()+e.PROMPT_REJECTED_HOLD_MS},providerCooldowns:this.ledger.providerCooldowns(),speed:this.speedSnapshot()}),u=d.chosenModel;if(!u||!d.decision.switched||Ue(u.providerID,u.modelID)===s){r.healedAt=Date.now(),i(o),this.noteSelfHeal(t,r,o,"noted");return}if(typeof this.ctx.session.switchModel!="function"||typeof this.ctx.session.synthetic!="function"||!await this.modelResolvable(u.providerID,u.modelID)){r.healedAt=Date.now(),i(o),this.noteSelfHeal(t,r,o,"noted");return}r.healedAt=Date.now(),i(o),this.pendingHeals.set(t,{chosen:u,base:d.decision,rejectedLabel:`${o.providerID}/${o.id}`}),this.sessionBusy(t)||await this.flushPendingHeal(t)}async flushPendingHeal(t){let n=this.pendingHeals.get(t);if(!n||(this.pendingHeals.delete(t),je.ownerOf(t)!==this.bridgeID))return;let r=n.chosen;this.expectedSwitch.set(t,{key:Ue(r.providerID,r.modelID),at:Date.now()});try{await this.ctx.session.switchModel({sessionID:t,model:{providerID:r.providerID,id:r.modelID}}),this.ledger.patchSession(t,{lastModel:{providerID:r.providerID,id:r.modelID},lastRoutedModel:{providerID:r.providerID,id:r.modelID}}),this.rememberModel(t,r.providerID,r.modelID),n.base.premium.oneShotGranted&&r.premium&&this.ledger.consumePremiumOneShot(t),await this.ctx.session.synthetic({sessionID:t,text:`[router] The request was rejected on ${n.rejectedLabel}, so the router moved it to ${r.providerID}/${r.modelID}.`,description:"Smart Router",resume:!0});let o={...n.base,id:`${n.base.id}+heal`,switched:!0,switchReason:"selfheal",selfheal:{rejected:n.rejectedLabel,action:`continued on ${r.providerID}/${r.modelID}`}};this.ledger.recordDecision(o),this.emit("decision",{decision:o}),this.persistLedgerSoon()}catch(o){this.expectedSwitch.delete(t),this.settingsWarnings.push(`Self-heal switch failed: ${qe(o)}`),this.persistLedgerSoon()}}noteSelfHeal(t,n,r,o){n&&(this.ledger.recordDecision({...n.decision,id:`${n.decision.id}+heal-note`,switched:!1,dryRun:!1,needsPremiumApproval:!1,chosen:n.decision.current,selfheal:{rejected:`${r.providerID}/${r.id}`,action:o}}),this.persistLedgerSoon())}rememberModel(t,n,r){let o=this.modelsSeen.get(t);o||(o=new Set,this.modelsSeen.set(t,o)),o.add(Ue(n,r))}sessionBusy(t){return this.stepStarted.has(t)?!0:this.ledger.getSession(t)?.status==="busy"}async modelResolvable(t,n){let r=this.ctx?.model?.get;if(typeof r!="function")return!0;try{return!!await r.call(this.ctx.model,t,n)}catch{return!0}}routingModels(){return this.settings.offline?.enabled?this.registry.modelsForOffline():this.registry.approved()}floorReport(){let t=this.registry.approved(),n=this.settings.routing.intelligenceFloor,r=this.settings.routing.calibrateFloor===!0,o=this.settings.offline?.enabled===!0,s=Date.now(),i=this.ledger.usageByModel({since:s-12096e5}),c=JE(this.settings,{models:t,usage:i,now:s}),d=r&&!o?c.floor:n,u=i.filter(l=>l.requests>0).map(l=>{let p=this.registry.get(l.providerID,l.modelID);return{model:`${l.providerID}/${l.modelID}`,requests:l.requests,usd:Number(l.usd.toFixed(6)),usdPerRequest:Number((l.usd/l.requests).toFixed(6)),intelligence:p?.intelligence??null}}).sort((l,p)=>l.usdPerRequest-p.usdPerRequest);return{calibrateFloor:r,offlineBypass:o,configuredFloor:n,floorInForce:d,calibrated:c.calibrated,source:c.calibrated?"measured":r?"configured (not calibrated)":"configured",reason:c.reason,baselineUsdPerRequest:c.baselineUsdPerRequest,admittedUsdPerRequest:c.admittedUsdPerRequest,windowDays:Math.round(12096e5/864e5),minRequests:5,admitted:t.filter(l=>!l.escalationOnly&&!l.premium).filter(l=>l.intelligence>=d).map(l=>({model:`${l.providerID}/${l.modelID}`,intelligence:l.intelligence,listInputUsdPerMtok:l.cost?.[0]?.input??null})).sort((l,p)=>(l.listInputUsdPerMtok??0)-(p.listInputUsdPerMtok??0)),measuredTraffic:u,totalRequests:u.reduce((l,p)=>l+p.requests,0)}}routingFloor(t){if(this.settings.routing.calibrateFloor!==!0||this.settings.offline?.enabled===!0)return{floor:this.settings.routing.intelligenceFloor};let n=Date.now();if(this.floorCache&&n-this.floorCache.at<iie)return this.floorCache.value;let r=JE(this.settings,{models:t,usage:this.ledger.usageByModel({since:n-12096e5}),now:n}),o={floor:r.floor,calibration:r};return this.floorCache={at:n,value:o},o}cheapestVariantContext(t){let n;for(let r of this.registry.approved()){if(r.modelID!==t)continue;let o=r.creditMultiplier&&r.creditMultiplier>0?r.creditMultiplier:1;(!n||o<n.multiplier||o===n.multiplier&&r.context>n.context)&&(n={multiplier:o,context:r.context})}return n?.context??0}maybeCompactForCost(t){let n=this.settings;if(!n.enabled||this.runtime.paused===!0||this.ledger.getSession(t)?.paused===!0||!n.contextManagement.enabled)return;let r=this.ledger.getSession(t),o=r?.lastModel;if(!o||r?.status!=="idle")return;let s=this.registry.get(o.providerID,o.id);if(!s||s.context<=0)return;let i=r?.contextTokens??0;if(i<=0)return;let c=Date.now(),d=n.contextManagement.cooldownMinutes*6e4,u=this.routerCompactAt.get(t);if(typeof u=="number"&&c-u<d)return;let l=s.context,p=n.contextManagement.mode==="budget-optimized"?this.cheapestVariantContext(s.modelID)||s.context:l,f=tB({mode:n.contextManagement.mode,settings:n.contextManagement,contextTokens:i,effectiveWindow:l,cheapestWindow:p});this.lastCompactionDecision.set(t,f),f.compact&&typeof this.ctx.session.compact=="function"&&(this.routerCompactAt.set(t,c),this.ledger.patchSession(t,{status:"busy"}),this.persistLedgerSoon(),Promise.resolve(this.ctx.session.compact({sessionID:t})).then(()=>{this.ledger.patchSession(t,{status:"idle"}),this.emit("status",{sessionID:t,summary:{note:`${f.hardLimit?"Protected context limit":"Compacted"}: ${f.reason} (${(i/1e3).toFixed(0)}k to fit ${((f.targetTokens??l)/1e3).toFixed(0)}k)`,contextManagement:n.contextManagement.mode}})}).catch(g=>{this.ledger.patchSession(t,{status:"idle"}),this.settingsWarnings.push(`Auto-compact failed: ${qe(g)}`)}))}alreadyRecorded(t,n,r,o){let s=Date.now(),i=o?`${t} ${n} attempt:${o}`:`${t} ${n} text:${r.slice(0,200)}`,c=this.recordedFaults.get(i);if(o){if(c!==void 0)return!0}else if(typeof c=="number"&&s-c<Nj)return!0;if(this.recordedFaults.set(i,s),this.recordedFaults.size>500)for(let[d,u]of this.recordedFaults)s-u>=Nj&&this.recordedFaults.delete(d);return!1}async handleEvent(t){let n=t?.type,r=process.env.SMART_ROUTER_EVENT_LOG;if(r)try{rie(r,`${JSON.stringify({at:Date.now(),type:n,sessionID:t?.data?.sessionID,keys:Object.keys(t?.data??{})})}
|
|
35
|
-
`)}catch{}let o=t?.data??{},s=typeof o.sessionID=="string"?o.sessionID:void 0;if(s&&n!=="session.created"&&!await this.ensureOwnership(s)){je.noteEvent(!1);return}if(je.noteEvent(!0),n==="session.created"){let i=o.sessionID;if(typeof i!="string")return;if(!this.projectMatches(typeof o.projectID=="string"?o.projectID:void 0,typeof o.location?.directory=="string"?o.location.directory:void 0)){je.noteEvent(!1);return}if(!this.created.has(i)&&this.created.size>=500){let u=this.created.keys().next().value;u&&this.created.delete(u)}this.created.set(i,Date.now());let c=this.ledger.ensureSession(i,o.parentID,o.title);typeof o.projectID=="string"&&this.ledger.patchSession(i,{projectID:o.projectID}),typeof o.location?.directory=="string"&&this.ledger.patchSession(i,{directory:o.location.directory});let d=Mo(typeof o.title=="string"?o.title:void 0);d&&!c.baseTitle&&this.ledger.patchSession(i,{baseTitle:d}),this.persistLedgerSoon();return}if(n==="session.renamed"){let i=o.sessionID;if(typeof i!="string"||typeof o.title!="string")return;let c=this.ledger.getSession(i);if(!c||o.title===c.indicatorTitle)return;let d=Mo(o.title);d&&this.ledger.patchSession(i,{baseTitle:d}),this.queueTitle(i);return}if(n==="session.deleted"){s&&(je.releaseSession(s),this.stepStarted.delete(s),this.contextLoaded.delete(s),this.expectedSwitch.delete(s),this.promptSeen.delete(s),this.created.delete(s));return}if(n==="session.model.selected"){let i=o.sessionID;if(typeof i!="string")return;let c=Jy(o.model);if(!c)return;let d=this.expectedSwitch.get(i),u=Ue(c.providerID,c.id);if(d?.key===u&&Date.now()-d.at<15e3){this.expectedSwitch.delete(i);return}let p=this.created.get(i)??0;if(!this.promptSeen.has(i)&&Date.now()-p<5e3&&!o.previous)return;let g=Ue(c.providerID,c.id),y=this.modelsSeen.get(i)?.has(g)===!0;if(this.rememberModel(i,c.providerID,c.id),y){this.ledger.patchSession(i,{lastModel:c}),this.persistLedgerSoon();return}this.ledger.setManual(i,c),this.persistLedgerSoon(),this.emit("status",{sessionID:i,summary:{manualOverride:!0,model:c}}),this.queueTitle(i),this.modelNotice(i,"MANUAL",c,"automatic routing suspended \xB7 /router-auto to resume");return}if(n==="session.execution.started"){let i=o.sessionID;if(typeof i=="string"){if(!this.stepStarted.has(i)&&this.stepStarted.size>=500){let c=this.stepStarted.keys().next().value;c&&this.stepStarted.delete(c)}this.stepStarted.set(i,Date.now()),this.ledger.patchSession(i,{status:"busy"}),this.persistLedgerSoon()}return}if(n==="session.execution.succeeded"||n==="session.execution.failed"||n==="session.execution.interrupted"||n==="session.idle"){let i=o.sessionID;if(typeof i=="string"){if(this.ledger.patchSession(i,{status:"idle"}),this.stepStarted.delete(i),n!=="session.execution.succeeded")try{this.sessionBusy(i)||await this.flushPendingHeal(i)}catch(u){this.settingsWarnings.push(`Prompt-rejection failover failed: ${qe(u)}`)}let c=typeof o.outcome=="string"?o.outcome:void 0,d=typeof o.assistantMessageID=="string"?o.assistantMessageID:void 0;n==="session.execution.failed"||c==="failed"?await this.recordProviderFault(i,"failed",o.error,d):(n==="session.execution.interrupted"||c==="interrupted")&&await this.recordProviderFault(i,"interrupted",o.error,d),(n==="session.execution.succeeded"||n==="session.idle")&&this.maybeCompactForCost(i),this.persistLedgerSoon()}return}if(n==="session.compaction.ended"||n==="session.compaction.failed"){let i=o.sessionID;if(typeof i!="string")return;this.contextLoaded.delete(i),this.ledger.getSession(i)&&this.ledger.patchSession(i,{contextTokens:0,cacheReadTokens:0}),this.refreshContextAfterCompaction(i),this.persistLedgerSoon();return}if(n==="session.step.ended"){let i=o.sessionID;if(typeof i!="string")return;let d=this.ledger.getSession(i)?.lastModel,u=$j(o.tokens),l=this.stepStarted.get(i)?Date.now()-(this.stepStarted.get(i)??Date.now()):void 0;d&&(this.ledger.recordUsage({sessionID:i,model:d,cost:typeof o.cost=="number"?o.cost:0,tokens:u,at:typeof t.created=="number"?t.created:Date.now(),latencyMs:l,premium:this.registry.get(d.providerID,d.id)?.premium??!1}),this.ledger.recordProviderSuccess(d.providerID)),this.persistLedgerSoon();return}if(n==="session.step.failed"){let i=o.sessionID;if(typeof i!="string")return;let c=typeof o.assistantMessageID=="string"?o.assistantMessageID:void 0;await this.recordProviderFault(i,"failed",o.error,c),this.persistLedgerSoon();return}if(n==="session.retry.scheduled"){let i=o.sessionID;typeof i=="string"&&(this.ledger.recordRetry(i),this.persistLedgerSoon())}}async registerRpc(){let n=Object.fromEntries(Object.entries({status:async r=>this.statusFor(r?.sessionID),onboarding:async()=>this.onboardingState(),completeOnboarding:async()=>(this.onboardingComplete=!0,{ok:!0}),recordPlanPage:async r=>this.recordPlanPage(r),preview:async r=>{let o=r?.sessionID??"preview",s=this.ledger.getSession(o),i=Bp({text:r?.text??"",files:this.classifierFiles(r?.files),contextTokens:s?.contextTokens??0,recentFailures:s?.failures.length??0}),c=!!s?.parentID,d=c&&this.settings.mode==="premium"?"balanced":this.settings.mode,u=c?{...this.premiumState(s),oneShotGranted:!1}:this.premiumState(s);return Xp({task:i,settings:this.settings,mode:d,runtime:s?.manualOverride?"manual":this.settings.enabled?"automatic":"paused",models:this.registry.approved(),current:s?.lastModel,session:s,quota:this.quotaSnapshots(),premium:u,contextTokens:s?.contextTokens??0,cachedTokens:s?.cacheReadTokens??0,dryRun:!0,modelHistory:this.ledger.snapshotMetrics().byModel,cooldowns:this.ledger.cooldowns()}).decision},setMode:async r=>{this.runtime.mode=r.mode,this.persistRuntime();let o=this.statusFor();return this.emit("status",{summary:o}),o},setPaused:async r=>{this.runtime.paused=!!r.paused,this.persistRuntime(),this.refreshKnownTitles(),this.notifyChange(`global:paused:${!!r.paused}`,r.paused?"PAUSED \xB7 automatic routing is paused":"AUTO \xB7 automatic routing resumed");let o=this.statusFor();return this.emit("status",{summary:o}),o},setSessionAuto:async r=>{let o=r.sessionID;await this.loadSessionInfo(o);let s=!!r.auto;this.ledger.patchSession(o,{paused:!s}),s&&(this.ledger.clearManual(o),this.ledger.patchSession(o,{pinnedModel:void 0})),this.persistLedgerSoon(),await this.queueTitle(o),this.modelNotice(o,s?"AUTO":"MANUAL",this.ledger.getSession(o)?.lastModel,s?"automatic routing resumed":"automatic routing off for this session");let i=this.statusFor(o);return this.emit("status",{sessionID:o,summary:i}),i},setDryRun:async r=>{this.runtime.dryRun=!!r.dryRun,this.persistRuntime(),this.refreshKnownTitles(),this.notifyChange(`global:dry-run:${!!r.dryRun}`,r.dryRun?"DRY RUN \xB7 decisions will be explained, not applied":"AUTO \xB7 routing will apply decisions");let o=this.statusFor();return this.emit("status",{summary:o}),o},resumeAuto:async r=>{let o=r.sessionID;await this.loadSessionInfo(o),this.ledger.clearManual(o),this.ledger.patchSession(o,{pinnedModel:void 0,paused:!1,premiumOneShot:!1}),this.persistLedgerSoon(),await this.queueTitle(o),this.modelNotice(o,"AUTO",this.ledger.getSession(o)?.lastModel,"automatic routing resumed");let s=this.statusFor(o);return this.emit("status",{sessionID:o,summary:s}),s},pin:async r=>{let o={providerID:r.providerID,id:r.modelID,...typeof r.variant=="string"&&r.variant.length>0?{variant:r.variant}:{}};this.ledger.setManual(r.sessionID,o),this.ledger.patchSession(r.sessionID,{pinnedModel:o,lastModel:o}),this.rememberModel(r.sessionID,o.providerID,o.id),this.queueTitle(r.sessionID),this.modelNotice(r.sessionID,"MANUAL",o,"pinned \xB7 /router-auto to resume"),this.expectedSwitch.set(r.sessionID,{key:Ue(o.providerID,o.id),at:Date.now()});try{await this.ctx.session.switchModel({sessionID:r.sessionID,model:o})}catch(i){this.expectedSwitch.delete(r.sessionID),this.settingsWarnings.push(`Pin switch failed: ${qe(i)}`)}this.persistLedgerSoon();let s=this.statusFor(r.sessionID);return this.emit("status",{sessionID:r.sessionID,summary:s}),s},approvePremium:async r=>{this.ledger.grantPremiumOneShot(r.sessionID),this.persistLedgerSoon(),this.notifyChange(`${r.sessionID}:premium-granted`,"Premium approval granted for this session.");let o=this.statusFor(r.sessionID);return this.emit("status",{sessionID:r.sessionID,summary:o}),o},denyPremium:async r=>{this.ledger.consumePremiumOneShot(r.sessionID),this.persistLedgerSoon(),this.notifyChange(`${r.sessionID}:premium-denied`,"Premium approval cleared for this session.");let o=this.statusFor(r.sessionID);return this.emit("status",{sessionID:r.sessionID,summary:o}),o},excludeModel:async r=>{let o=Ue(r.providerID,r.modelID),s=new Set(this.runtime.excluded??[]);r.excluded?s.add(o):s.delete(o),this.runtime.excluded=[...s],this.persistRuntime(),this.rebuildRegistry();let i=this.statusFor();return this.emit("status",{summary:i}),i},setPremiumBudget:async r=>{this.runtime.premiumBudgetUsd=r.usd,this.persistRuntime();let o=this.statusFor();return this.emit("status",{summary:o}),o},setReserve:async r=>{let o={...this.runtime.reserves??{}};o[r.providerID]={...o[r.providerID]??{},...typeof r.monthlyPct=="number"?{monthlyPct:r.monthlyPct}:{},...typeof r.weeklyPct=="number"?{weeklyPct:r.weeklyPct}:{},...typeof r.fiveHourPct=="number"?{fiveHourPct:r.fiveHourPct}:{}},this.runtime.reserves=o,this.persistRuntime();let s=this.statusFor();return this.emit("status",{summary:s}),s},refreshQuota:async()=>{await Promise.allSettled([this.quota.refresh("opencode-go",!0),this.quota.refresh("commandcode",!0)]);let r=this.statusFor();return this.emit("status",{summary:r}),r},report:async()=>this.report(),usage:async()=>this.usageReport(),floor:async()=>this.floorReport(),setCalibrateFloor:async r=>{let o=!!r?.enabled;return{...this.floorReport(),setting:"routing.calibrateFloor",requested:o,applied:!1,instruction:o?"Set routing.calibrateFloor to true in smart-router.json, then restart the router.":"Set routing.calibrateFloor to false in smart-router.json, then restart the router."}},getConfig:async()=>({settings:(()=>{let r=this.safe(this.settings);for(let o of Object.values(r.providers??{}))o&&typeof o=="object"&&delete o.credentialPath;return r})(),sources:this.settingsSources,warnings:this.settingsWarnings,runtime:this.runtime,ledgerUpdatedAt:this.ledger.data.updatedAt,models:this.registry.approved().map(r=>({key:r.key,tier:r.tier,intelligence:r.intelligence,design:r.design,premium:r.premium,training:r.training,monthlyAllowanceUsd:r.monthlyAllowanceUsd}))}),resetOverrides:async()=>{for(let o of Object.keys(this.runtime))delete this.runtime[o];je.runtime=this.runtime,this.persistRuntime(),this.rebuildRegistry();let r=this.statusFor();return this.emit("status",{summary:r}),r},resetMetrics:async()=>{await je.resetLedger(),this.ledger=je.ledger,this.contextLoaded.clear(),this.contextInflight.clear();let r=this.statusFor();return this.emit("status",{summary:r}),r},refreshIndicator:async r=>{await this.loadSessionInfo(r.sessionID),await this.queueTitle(r.sessionID);let o=this.statusFor(r.sessionID);return this.emit("status",{sessionID:r.sessionID,summary:o}),o},setTitleIndicator:async r=>{this.runtime.titleIndicator=!!r.enabled,this.persistRuntime(),r.enabled?await this.refreshKnownTitles():await this.restoreTitles();let o=this.statusFor();return this.emit("status",{summary:o}),o},diagnostics:async()=>je.diagnostics()}).map(([r,o])=>[r,async s=>this.safe(await o(s))]));this.rpcRegistration=await this.ctx.rpc.register(_j,n)}async registerCommands(){let t=async(r,o)=>{try{await this.ctx.session.synthetic({sessionID:r,text:o,description:"Smart Router",resume:!1})}catch(s){this.settingsWarnings.push(`Could not display router command output: ${qe(s)}`)}},n=(r,o,s)=>this.ctx.command.transform(i=>{i.add({name:r,description:o,execute:s})});this.registrations.push(await n("router-status","Show the current routing decision, tier and quota state",async({sessionID:r})=>{await this.loadSessionInfo(r),await this.queueTitle(r);let o=this.statusFor(r),s=o.lastDecision,i=[`Smart Router: ${o.indicator.state} \xB7 ${o.mode}${o.dryRun?" \xB7 dry run":""}`,o.current?`Current: ${o.current.providerID}/${o.current.id}${o.currentTier?` (tier ${o.currentTier})`:""}`:"Current: unknown",s?`Task: tier ${s.task.tier} ${s.task.kind}; chosen: ${s.chosen?`${s.chosen.providerID}/${s.chosen.id}`:"none"}`:"No decision yet",s?`Why: ${s.switchReason}`:"",...o.quota.flatMap(c=>Dj(c)),o.premium.mode!=="off"?`Premium: ${o.premium.mode}, ${Ot(o.premium.remainingUsd)} remaining${o.premium.oneShotGranted?", one-shot approved":""}`:"Premium: off",...o.warnings.slice(0,4).map(c=>`Warning: ${c}`)].filter(Boolean);await t(r,i.join(`
|
|
36
|
-
`))})),this.registrations.push(await n("router-auto","Resume automatic routing for this session",async({sessionID:r})=>{this.ledger.clearManual(r),this.ledger.patchSession(r,{pinnedModel:void 0,paused:!1}),this.persistLedgerSoon(),this.queueTitle(r),this.modelNotice(r,"AUTO",this.ledger.getSession(r)?.lastModel,"automatic routing resumed"),await t(r,"AUTO \xB7 automatic routing resumed for this session.")})),this.registrations.push(await n("router-pin","Pin a model for this session: /router-pin provider/model",async({sessionID:r,prompt:o})=>{let s=String(o?.text??"").trim().split(/\s+/).pop()??"",[i,c]=s.split("#",2),d=
|
|
37
|
-
`))})),this.registrations.push(await n("router-opendesign","Show OpenDesign connection, entitlement and credit diagnostics",async({sessionID:r})=>{await t(r,await this.formatOpenDesignReport())}))}async formatOpenDesignReport(){let t=this.settings.providers.opendesign;if(!t)return"OpenDesign is not configured.";let n=[];n.push(`OpenDesign provider: ${t.enabled?"enabled":"disabled"} \xB7 plan ${t.plan}`),n.push(`Base URL: ${
|
|
33
|
+
`);return i>0&&(s=Math.min(s,i)),o.slice(0,s)},kB=(e,t,n,r=200)=>{let o=uoe(e,t,r);return o===void 0?void 0:n.exec(o)?.[1]?.trim()||void 0},loe=(e,t)=>{let n=Jp(kB(e,/Design Plan credits/i,/(\d{1,3})\s*%/,120));if(n===void 0)return;let r=["Design Plan usage"],o=[],s=/^\s*(Go|Plus|Pro|Max)\s*$/m.exec(e)?.[1];s?r.push("plan"):o.push("plan");let i;/\d+\s*days?\s*of\s*quota/i.test(e)||/seven[-\s]?day/i.test(e)?i="weekly":/monthly\s*(allowance|quota|credits)/i.test(e)&&(i="monthly"),i&&r.push("allowance window");let c=/\bReset in\s+([0-9]+\s*(?:days?|hours?|minutes?)[^\n]*)/i.exec(e)?.[1],d=c?wB(c,t):void 0;d!==void 0?r.push("reset time"):o.push("reset time");let u=/This period ends on\s+([A-Z][a-z]+ \d{1,2},\s*\d{4})/i.exec(e)?.[1],l=u?Date.parse(u):void 0;l!==void 0&&Number.isFinite(l)?r.push("billing period"):o.push("billing period");let p=Jp(kB(e,/Pay-as-you-go credits/i,/\$\s*([\d,]+(?:\.\d{1,2})?)/,120));return p!==void 0?r.push("wallet balance"):o.push("wallet balance"),{kind:"allowance",...s?{plan:s}:{},designPlanUsedPct:Math.min(100,Math.max(0,n)),...i?{pctOf:i}:{},...d!==void 0?{resetsAt:d}:{},...l!==void 0&&Number.isFinite(l)?{periodEndsAt:l}:{},...p!==void 0?{walletUsd:p}:{},found:r,missing:o}},poe=[/\b([A-Z][a-z]{2} \d{1,2},? \d{4})\b/,/\b(\d{4}-\d{2}-\d{2})\b/,/\b(\d{1,2}\/\d{1,2}\/\d{4})\b/];var foe=/^(model|member|caller|time|date|usage|credits?|tokens?|input|output|cached|cost|total|range|period)$/i,moe=/^(usage|billing|plan & balance|api keys|members|settings|open design|invite colleagues|pricing|arena|models & pricing|help & docs|top up|credit breakdown|auto top-up|reset cards|manage subscription|upgrade)$/i,TB=e=>/^\$?\s*[\d,]+(\.\d+)?%?$/.test(e),EB=e=>!TB(e)&&!foe.test(e)&&!moe.test(e)&&/[A-Za-z]/.test(e)&&e.length>=2&&e.length<=60,hoe=(e,t)=>{let n=e.split(`
|
|
34
|
+
`).map(I=>I.trim()).filter(Boolean),r=[],o,s=[],i,c=()=>{if(!o||s.length===0&&i===void 0){o=void 0,s=[],i=void 0;return}let I=s.filter(v=>v>=1e3);r.push({modelName:o,...i!==void 0?{chargedUsd:i}:{},...I[0]!==void 0?{inputTokens:I[0]}:{},...I[1]!==void 0?{outputTokens:I[1]}:{},...I[2]!==void 0?{cacheReadTokens:I[2]}:{}}),o=void 0,s=[],i=void 0},d=/\b\d{4}\b.*\b\d{4}\b|\b[A-Z][a-z]{2} \d{1,2}, \d{4}\b/,u=/^(.+?)\s+((?:\$?[\d,]+(?:\.\d+)?%?\s*)+)$/;for(let I of n){if(d.test(I))continue;let v=/^\$\s*([\d,]+(?:\.\d{1,4})?)$/.exec(I);if(v){i!==void 0&&c(),i=Jp(v[1]);continue}if(TB(I)){let x=Number(I.replace(/[$,%]/g,""));Number.isFinite(x)&&s.push(x);continue}let R=u.exec(I),A=R?.[2]??"",k=/\$\s*\d/.test(A)||/\d{4,}/.test(A)||/\d{1,3}(?:,\d{3})+/.test(A);if(R&&k){let x=R[1].trim();if(EB(x)){c();let w=/\$\s*([\d,]+(?:\.\d{1,4})?)/.exec(R[2]);i=w?Jp(w[1]):void 0,s=[...R[2].replace(/\$[\d,]+(?:\.\d+)?/g," ").matchAll(/\b(\d{1,3}(?:,\d{3})+|\d+(?:\.\d+)?)\b/g)].map(E=>Number(E[1].replace(/,/g,""))).filter(E=>Number.isFinite(E)),o=x,c()}continue}EB(I)&&(c(),o=I)}c();let l=r.filter(I=>I.chargedUsd!==void 0);if(r.length<3&&l.length===0)return;let p=[`${r.length} usage rows`],f=/\bTotal[^\n$]*\$\s*([\d,]+(?:\.\d{1,2})?)/i.exec(e)?.[1],g=f!==void 0?Jp(f):void 0;g!==void 0&&p.push("total");let b=[];for(let I of poe)for(let v of e.matchAll(new RegExp(I.source,"g"))){let R=Date.parse(v[1]);Number.isFinite(R)&&b.push(R)}b.sort((I,v)=>I-v);let S=b[0],y=b.length>1?b[b.length-1]:void 0;return S!==void 0&&p.push("date range"),{kind:"usage",rows:r,...g!==void 0?{totalUsd:g}:{},...S!==void 0?{periodStart:S}:{},...y!==void 0?{periodEnd:y}:{},found:p,missing:l.length===0?["charged amounts (tokens only, credits cannot be confirmed)"]:[]}},AB=(e,t=Date.now())=>{let n=coe(e);return loe(n,t)??hoe(n,t)};var ME=(e,t)=>`${e} ${t}${e===1?"":"s"}`,$y=e=>{if(e.kind==="allowance"){if(e.designPlanUsedPct===void 0)return"Could not find a Design Plan percentage on that page. Copy the Plan & balance page and try again.";let n=[`${e.designPlanUsedPct}% of the ${e.pctOf==="monthly"?"monthly":"seven-day"} allowance`];if(e.resetsAt!==void 0){let r=Math.max(0,Math.round((e.resetsAt-Date.now())/36e5));n.push(r>=36?`resets in ${Math.round(r/24)} days`:`resets in ${r} hours`)}return e.plan&&n.unshift(`${e.plan} plan`),e.walletUsd!==void 0&&n.push(`wallet ${e.walletUsd} USD (never auto-spent)`),n.join(" \xB7 ")}let t=e.rows.filter(n=>n.chargedUsd!==void 0);if(t.length>0){let n=t.reduce((r,o)=>r+(o.chargedUsd??0),0);return`Usage page: ${ME(e.rows.length,"model")}, ${n.toFixed(2)} USD charged across ${ME(t.length,"row")}.`}return`Usage page: ${ME(e.rows.length,"model")} with token counts. No charged amounts, so this can refine the estimate but cannot confirm it.`};var _E={"deepseek-v4.1-flash":.5,"mimo-v2.6-flash":1,"mimo-v2.6-pro":1,"hy4-preview":1,"deepseek-v4-flash":1,"deepseek-v4-flash-vision-exp":1,"deepseek-v4-pro":1,"glm-5.3-flash":1,"kimi-k2.7-code":1,"claude-haiku-5.5":2,"glm-5.3-flashx":2,"gpt-6-luna":4},UE=new Set(["minimax-m3.1-flash"]),goe=1,RB=(e,t,n,r)=>Date.UTC(e,t-1,n,r,0,0),yoe=[{id:"deepseek-v4.1-flash-offpeak-2026-10",modelIDs:["deepseek-v4.1-flash"],multiplier:.25,startsAt:RB(2026,10,20,10),endsAt:RB(2026,10,27,10),appliesToApi:!1,note:"Expired and app-only; never applied to API usage."}],xoe=(e,t)=>yoe.find(n=>n.appliesToApi&&n.modelIDs.includes(e)&&t>=n.startsAt&&t<n.endsAt),gs=(e,t={})=>{let n=t.overrides?.[e];if(typeof n=="number"&&Number.isFinite(n)&&n>0)return{multiplier:n,evidence:"configured"};let r=t.now??Date.now(),o=xoe(e,r);if(o)return{multiplier:o.multiplier,evidence:"promotion",note:o.note};let s=_E[e];return typeof s=="number"&&Number.isFinite(s)&&s>0?{multiplier:s,evidence:"published"}:{multiplier:goe,evidence:"unverified",note:UE.has(e)?"Multiplier is not published for this model; the neutral 1x rate is used as an estimate.":"No published Design Plan multiplier; the neutral 1x rate is used as an estimate."}};var ke=(e,t,n,r=0)=>[{input:e,output:t,cache:{read:n,write:r}}],Tr=(e,t,n)=>[e,{input:n.input,output:n.output,cache:{read:n.read,write:n.write},tier:{type:"context",size:t}}],OB=232e3,NE=32e3,Ee=(e,t,n)=>{let r=_o.has(e),o=_E[e],s=typeof o=="number";return{modelID:e,name:t,creditMultiplier:n.creditMultiplier??o??1,multiplierEvidence:n.multiplierEvidence??(r?s?"published":"unverified":"not-applicable"),context:n.context,maxOutput:n.maxOutput,input:n.input,cost:n.cost,intelligence:n.intelligence,design:n.design,designEvidence:n.designEvidence,tier:n.tier,approved:n.approved,notes:n.notes,...n.capabilities?{capabilities:n.capabilities}:{}}},za=[Ee("deepseek-v4.1-flash","DeepSeek V4.1 Flash",{context:1048e3,maxOutput:128e3,input:["text","image"],cost:ke(.3,1.2,.006),intelligence:39.5,design:65,designEvidence:"observed",tier:2,approved:!0,notes:"0.5x Design Plan credits. Gateway default. Served as DeepSeek-V4.1-Flash-1017 (2026-10-17 checkpoint). Native image input. The gateway advertises context_budget 328,000 but does not enforce it: measured on 2026-10-30 at 1,043,337 input tokens with HTTP 200, and rejected only above the 1,048,000 vendor limit. The seed carries the measured window."}),Ee("claude-haiku-5.5","Claude Haiku 5.5",{context:228e3,maxOutput:128e3,input:["text","image","pdf"],cost:Tr(ke(.1,.5,.01,.125)[0],1e5,{input:.5,output:2.5,read:.05,write:.625}),intelligence:43.4,design:70,designEvidence:"curated",tier:2,approved:!0,notes:"2x Design Plan credits. Highest design score inside the Design Plan group."}),Ee("glm-5.3-flash","GLM-5.3-Flash",{context:232e3,maxOutput:32e3,input:["text","image","video"],cost:ke(.075,.25,.015),intelligence:41.8,design:65,designEvidence:"curated",tier:2,approved:!0,notes:"1x Design Plan credits. Native image and video input."}),Ee("minimax-m3.1-flash","MiniMax M3.1 Flash",{context:1e6,maxOutput:NE,input:["text","image","video"],cost:ke(.15,.6,.015),intelligence:42.7,design:60,designEvidence:"curated",tier:2,approved:!0,notes:"The gateway reports a 1M vendor limit but no context_budget for this model, so the vendor limit is used. Confirmed against models.dev (1,000,000) and by 475 successful calls with no context-length error. The gateway also serves this model outside the Design Plan group; OpenDesign has not published which group or multiplier applies, so the neutral 1x rate is used and the uncertainty is reported."}),Ee("mimo-v2.6-pro","MiMo-V2.6-Pro",{context:232e3,maxOutput:32e3,input:["text","image","audio","video"],cost:ke(.435,.87,.0036),intelligence:46.3,design:62,designEvidence:"curated",tier:2,approved:!0,notes:"1x Design Plan credits. Highest intelligence score inside the Design Plan group."}),Ee("mimo-v2.6-flash","MiMo-V2.6-Flash",{context:232e3,maxOutput:32e3,input:["text","image","audio","video"],cost:ke(.14,.28,.0028),intelligence:37.9,design:50,designEvidence:"curated",tier:1,approved:!0,notes:"1x Design Plan credits. Economy tier; below the standard intelligence floor."}),Ee("gpt-6-luna","GPT-6 Luna",{context:4e5,maxOutput:128e3,input:["text","image","pdf"],cost:Tr(ke(.1,.5,.01,.125)[0],272e3,{input:.2,output:.75,read:.02,write:.25}),intelligence:38.1,design:55,designEvidence:"curated",tier:1,approved:!0,notes:"4x Design Plan credits, the most expensive Design Plan route. 400k usable input window."}),Ee("deepseek-v4-pro","DeepSeek V4 Pro",{context:328e3,maxOutput:128e3,input:["text"],cost:ke(1.32,3.96,.044),intelligence:36,design:55,designEvidence:"curated",tier:2,approved:!1,notes:"Text only and below the standard intelligence floor. Requires explicit approval."}),Ee("deepseek-v4-flash","DeepSeek V4 Flash",{context:232e3,maxOutput:32e3,input:["text"],cost:ke(.44,1.32,.014),intelligence:0,design:0,designEvidence:"unverified",tier:2,approved:!1,notes:"Served upstream by DeepSeek-V4.1-Flash-1017 (DeepSeek retired the legacy name but still accepts and bills it). Unscored under this id; the price is a conservative upper bound borrowed from V4 Pro. Set an explicit price in models.definitions before approving."}),Ee("deepseek-v4-flash-vision-exp","DeepSeek V4 Flash Vision Exp",{context:232e3,maxOutput:32e3,input:["text","image"],cost:ke(.44,1.32,.014),intelligence:0,design:0,designEvidence:"unverified",tier:2,approved:!1,notes:"Unscored. Conservative upper-bound price; set an explicit price in models.definitions before approving."}),Ee("glm-5.3-flashx","GLM-5.3-Flash-X",{context:232e3,maxOutput:32e3,input:["text","image","pdf","video"],cost:ke(.37,1.25,.075),intelligence:0,design:0,designEvidence:"unverified",tier:2,approved:!1,notes:"2x Design Plan credits. Unscored; conservative upper-bound price borrowed from GLM-5.3. Set an explicit price in models.definitions before approving."}),Ee("hy4-preview","Hunyuan H4 Preview",{context:232e3,maxOutput:32e3,input:["text"],cost:ke(.834,2.501,.042),intelligence:0,design:0,designEvidence:"unverified",tier:1,approved:!1,notes:"Unscored and text only. Requires explicit approval."}),Ee("kimi-k2.7-code","Kimi K2.7 Code",{context:262e3,maxOutput:32e3,input:["text","image"],cost:ke(.95,4,.19),intelligence:0,design:0,designEvidence:"unverified",tier:2,approved:!1,notes:"Unscored. Conservative upper-bound price borrowed from Kimi K3; set an explicit price in models.definitions before approving."}),Ee("claude-sonnet-5.5","Claude Sonnet 5.5",{context:8e5,maxOutput:128e3,input:["text","image","pdf"],cost:ke(2,10,.2,2.5),intelligence:56,design:90,designEvidence:"curated",tier:3,approved:!0,capabilities:{coding:64,debugging:72,agentic:42,architecture:88},notes:"Plan model. Premier design and architecture quality. Funded from plan model credits, so routing here consumes escalation capacity rather than routine allowance. Capabilities: Terminal-Bench 4.0 64 percent, AutomationBench 72 percent, FrontierCode 2.0 42 percent (Artificial Analysis v5.0.1, 2026-11-06, max reasoning; independent evaluations, not guarantees); architecture 88 curated. Auto-approved for tier-3 escalation by owner instruction 2026-11-06. Context probed 2026-11-06: 800K verified end-to-end (819,383 prompt tokens accepted, sentinels at start/middle/end retrieved, no truncation, $1.62); advertised 1M remains unverified."}),Ee("gpt-6-sol","GPT-6 Sol",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:Tr(ke(2,10,.2,2.5)[0],272e3,{input:4,output:15,read:.4,write:5}),intelligence:0,design:88,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored in the router's curated set. Explicit approval required."}),Ee("gpt-6.1-sol","GPT-6.1 Sol",{context:8e5,maxOutput:128e3,input:["text","image","pdf"],cost:Tr(ke(2,10,.1,2.5)[0],272e3,{input:4,output:15,read:.2,write:5}),intelligence:55,design:88,designEvidence:"unverified",tier:3,approved:!0,capabilities:{coding:56,debugging:65,agentic:41,architecture:86},notes:"Plan model. Intelligence 55 on Artificial Analysis v5.0.1 (2026-11-06), tied with Sonnet 5.5 on that index; the per-kind capabilities break the tie toward Sonnet for agentic coding. Sol used far fewer generated tokens on the same suite, so it stays the cheaper tier-3 route on short fresh contexts. Capabilities: Terminal-Bench 4.0 56 percent, AutomationBench 65 percent, FrontierCode 2.0 41 percent, same index and configuration. Architecture 86 curated. Long-context tier doubles input to 4 and raises output to 15 above 272K. Auto-approved for tier-3 escalation by owner instruction 2026-11-06. Context probed 2026-11-06: 800K verified end-to-end (820,701 prompt tokens accepted with sentinels retrieved, no truncation, $2.74 billed at the tiered long-context rate); advertised 1M remains unverified."}),Ee("gpt-6-astra","GPT-6 Astra",{context:4e5,maxOutput:128e3,input:["text","image","pdf"],cost:Tr(ke(10,50,1,12.5)[0],272e3,{input:20,output:75,read:2,write:25}),intelligence:0,design:88,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model, frontier-priced. Never selected automatically without explicit approval."}),Ee("claude-opus-5.5","Claude Opus 5.5",{context:328e3,maxOutput:128e3,input:["text","image","pdf"],cost:ke(4,20,.2,5),intelligence:0,design:92,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("claude-opus-5","Claude Opus 5",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:ke(5,25,.5,6.25),intelligence:0,design:91,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("claude-opus-4.8","Claude Opus 4.8",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:ke(5,25,.5,6.25),intelligence:0,design:90,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("claude-sonnet-5","Claude Sonnet 5",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:ke(2,10,.2,2.5),intelligence:0,design:88,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("claude-fable-5.1","Claude Fable 5.1",{context:328e3,maxOutput:128e3,input:["text","image","pdf"],cost:ke(10,50,.25,12.5),intelligence:0,design:90,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model, frontier-priced. Never selected automatically without explicit approval."}),Ee("claude-fable-5","Claude Fable 5",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:ke(10,50,1,12.5),intelligence:0,design:89,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model, frontier-priced. Never selected automatically without explicit approval."}),Ee("muse-spark-1.3","Muse Spark 1.3",{context:1048e3,maxOutput:32e3,input:["text","image","video","pdf","audio"],cost:ke(1.25,4.25,.15),intelligence:48.1,design:82,designEvidence:"curated",tier:3,approved:!1,notes:"Plan model. Strong design quality and a 1,048,000-token window. Funded from plan model credits; escalate here deliberately, not by default."}),Ee("muse-wonder","Muse Wonder",{context:232e3,maxOutput:32e3,input:["text","image","video","pdf","audio"],cost:ke(4,20,.2),intelligence:0,design:86,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("gemini-4-argon","Gemini 4 Argon",{context:264e3,maxOutput:64e3,input:["text","image","video","audio","pdf"],cost:ke(2,10,.1),intelligence:0,design:85,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("gemini-3.8-flash","Gemini 3.8 Flash",{context:264e3,maxOutput:64e3,input:["text","image","video","audio","pdf"],cost:ke(.75,3.75,.075),intelligence:0,design:78,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("gemini-3.7-flash","Gemini 3.7 Flash",{context:232e3,maxOutput:32e3,input:["text","image","video","audio","pdf"],cost:ke(.75,3.75,.075),intelligence:0,design:76,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("kimi-k3","Kimi K3",{context:232e3,maxOutput:32e3,input:["text","image","video"],cost:ke(3,15,.3,3),intelligence:43.6,design:72,designEvidence:"curated",tier:3,approved:!1,notes:"Plan model. Strong design quality; funded from plan model credits."}),Ee("kimi-k3.1-pro","Kimi K3.1 Pro",{context:232e3,maxOutput:32e3,input:["text","image","video"],cost:ke(2,10,.2,2),intelligence:0,design:75,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("grok-4.7","Grok 4.7",{context:328e3,maxOutput:128e3,input:["text","image","pdf"],cost:Tr(ke(2,6,.5)[0],2e5,{input:4,output:12,read:1,write:0}),intelligence:46.4,design:75,designEvidence:"curated",tier:3,approved:!1,notes:"Plan model. Funded from plan model credits."}),Ee("grok-4.6","Grok 4.6",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:Tr(ke(2,6,.5)[0],2e5,{input:4,output:12,read:1,write:0}),intelligence:0,design:74,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("grok-4.5","Grok 4.5",{context:232e3,maxOutput:32e3,input:["text","image","pdf"],cost:Tr(ke(2,6,.5)[0],2e5,{input:4,output:12,read:.6,write:0}),intelligence:0,design:72,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("gpt-5.6-sol","GPT-5.6 Sol",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:Tr(ke(4,20,.4,5)[0],272e3,{input:8,output:30,read:.8,write:10}),intelligence:0,design:85,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("gpt-5.6-terra","GPT-5.6 Terra",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:Tr(ke(2,12,.2,2.5)[0],272e3,{input:4,output:18,read:.4,write:5}),intelligence:0,design:84,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("gpt-5.6-luna","GPT-5.6 Luna",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:Tr(ke(.2,1.2,.02,.25)[0],272e3,{input:.4,output:1.8,read:.04,write:.5}),intelligence:0,design:60,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("gpt-6.1-terra","GPT-6.1 Terra",{context:304e3,maxOutput:32e3,input:["text","image","pdf"],cost:Tr(ke(2,12,.2,2.5)[0],272e3,{input:4,output:18,read:.4,write:5}),intelligence:0,design:87,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("qwen3.7-max","Qwen3.7 Max",{context:232e3,maxOutput:32e3,input:["text","image","video"],cost:ke(2.5,7.5,.5,3.125),intelligence:0,design:70,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored. Explicit approval required."}),Ee("glm-5.2","GLM-5.2",{context:232e3,maxOutput:32e3,input:["text"],cost:ke(1.4,4.4,.26),intelligence:0,design:78,designEvidence:"unverified",tier:3,approved:!1,notes:"Plan model. Unscored and text only. Explicit approval required."})],qd=new Map(za.map(e=>[e.modelID,e])),XSe=[...UE],ebe=za.filter(e=>!_o.has(e.modelID)).map(e=>e.modelID);var CB=e=>e.toLowerCase().replace(/\(.*?\)/g,"").replace(/[^a-z0-9]/g,""),Soe=new Map(za.map(e=>[CB(e.name),e])),boe={deepseekv41flash:"deepseek-v4.1-flash",deepseekv4flash:"deepseek-v4-flash",deepseekv4pro:"deepseek-v4-pro",glm53flash:"glm-5.3-flash",glm53flashx:"glm-5.3-flashx",claudehaiku55:"claude-haiku-5.5",gpt6luna:"gpt-6-luna",mimo26flash:"mimo-v2.6-flash",mimo26pro:"mimo-v2.6-pro",kimik27code:"kimi-k2.7-code"},voe=e=>{let t=CB(e),n=Soe.get(t);if(n)return n;let r=boe[t];if(r)return za.find(o=>o.modelID===r)},Ioe=5,DB=e=>{let t=[];for(let i of e.rows){if(i.chargedUsd===void 0||!i.modelName)continue;let c=voe(i.modelName);if(!c){t.push({modelName:i.modelName,chargedUsd:i.chargedUsd,verdict:"unmatched"});continue}let d=c.cost[0];if(!d){t.push({modelName:i.modelName,modelID:c.modelID,chargedUsd:i.chargedUsd,verdict:"no-price"});continue}let u=i.inputTokens??0,l=i.outputTokens??0,p=i.cacheReadTokens??0,f=u+l+p===0?void 0:(d.input*u+d.output*l+(d.cache?.read??0)*p)/1e6;if(f===void 0||f<=0){t.push({modelName:i.modelName,modelID:c.modelID,chargedUsd:i.chargedUsd,verdict:"no-price"});continue}let g=i.chargedUsd/f,b=gs(c.modelID).multiplier,S=b===0?void 0:(g-b)/b*100,y=S!==void 0&&Math.abs(S)<=Ioe;t.push({modelName:i.modelName,modelID:c.modelID,chargedUsd:i.chargedUsd,baseUsd:f,impliedMultiplier:g,catalogMultiplier:b,verdict:y?"agrees":"differs",...S!==void 0?{driftPct:S}:{}})}let n=t.filter(i=>i.verdict==="agrees").length,r=t.filter(i=>i.verdict==="differs").length,o=t.filter(i=>i.verdict!=="agrees"&&i.verdict!=="differs").length,s=t.length===0?"No charged amounts on that page, so the cost model cannot be checked from it.":r===0?`The cost model matches what was charged for ${n} of ${t.length} model${t.length===1?"":"s"}.`:`The cost model disagrees with what was charged for ${r} of ${t.length} model${t.length===1?"":"s"}. That is a catalog problem, not a routing one.`;return{rows:t,agree:n,differ:r,unmatched:o,summary:s}};var PB=(e,t,n)=>{let r=new Map(n.map(d=>[d.providerID,d])),o=[],s=[],i=[],c={...e.providers};for(let[d,u]of Object.entries(e.providers)){let l=r.get(d);if(!l)continue;let p=l.hasCredential,f=u.enabled;if(t.has(d)){p&&!f&&i.push(d),!p&&f&&s.push(d);continue}p!==f&&(c[d]={...u,enabled:p},o.push({providerID:d,from:f,to:p,reason:p?`credential found${l.source?` (${l.source})`:""}`:"no credential found on this machine"}))}return{settings:o.length>0?{...e,providers:c}:e,changes:o,keptOnByChoice:s,keptOffByChoice:i}},MB=e=>e.changes.map(t=>t.to?`providers.${t.providerID} enabled: ${t.reason}`:`providers.${t.providerID} disabled: ${t.reason}. Set providers.${t.providerID}.enabled to true to force it on.`),_B=(e,t)=>{let n=r=>`${t}/${r}`;switch(e){case"commandcode":return[n(".commandcode/auth.json"),n(".config/opencode/commandcode.key"),n(".config/opencode/commandcode.env"),n(".config/opencode/commandcode.json")];case"opendesign":return[n(".config/opencode/opendesign.key"),n(".config/opencode/opendesign.json")];default:return[]}},UB=e=>{switch(e){case"commandcode":return["COMMAND_CODE_API_KEY","COMMANDCODE_API_KEY"];case"opendesign":return["OPENDESIGN_API_KEY","OPEN_DESIGN_API_KEY"];case"opencode-go":return["OPENCODE_API_KEY"];default:return[]}};var on=(e,t)=>t.some(n=>e.includes(n)),FE=(e,t)=>{let n=e.message.toLowerCase(),r=(e.type??"").toLowerCase(),o=e.status;if(r.includes("abort")||r.includes("interrupt")||on(n,["step interrupted","request aborted","operation canceled","operation cancelled","user aborted"]))return{class:"interrupted",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:0,reason:"The step was interrupted; this is not evidence of a provider fault.",countAgainstModel:!1,providerScoped:!1};if(o===402||(o===void 0||o<500)&&on(n,["insufficient credit","insufficient_credit","insufficient balance","insufficient_quota","no credit left","out of credit","credit balance is","credit limit reached","quota exceeded","quota_exceeded","allowance exhausted","allowance is exhausted","exceeded your current quota"]))return{class:"quota_exhausted",retryable:!1,capabilityFailure:!1,escalate:!0,cooldownMs:0,reason:"The provider reports no allowance left; retrying the same model cannot help.",countAgainstModel:!1,providerScoped:!0};if(on(n,["context length","context_length_exceeded","maximum context","too many tokens","prompt is too long","exceeds the context","context window","input is too long"]))return{class:"context_overflow",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:0,reason:"Context overflow is a session-size problem, not an intelligence failure. Compact or start a handoff session.",countAgainstModel:!1,providerScoped:!1};if(o===429||on(n,["rate limit","rate_limit","too many requests"])||r.includes("rate_limit")||r.includes("ratelimit"))return{class:"rate_limit",retryable:!0,capabilityFailure:!1,escalate:!1,cooldownMs:12e4,reason:"Provider rate limit; wait or use another provider. A stronger model would consume the same limit.",countAgainstModel:!0,providerScoped:!1};if(o===401||o===403||on(n,["unauthorized","invalid api key","authentication","forbidden","permission denied"])||r.includes("auth"))return{class:"auth",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:9e5,reason:"Authentication or authorization failed; escalating models cannot fix a credential problem.",countAgainstModel:!0,providerScoped:!1};if(on(n,["image","media","unsupported content","invalid image","vision","content type"])&&on(n,["unsupported","invalid","not support","reject","format"]))return{class:"image_rejected",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:6e5,reason:"The endpoint rejected the image input; route visual work only to a verified vision model.",countAgainstModel:!0,providerScoped:!1};if(on(n,["invalid_request_error","expected 'user' | 'assistant'",'expected "user" | "assistant"',"invalid discriminator value"])||/messages\.\d+\.role/i.test(e.message)||(r.includes("invalid-request")||r.includes("invalid_request"))&&(e.status===void 0||e.status<500))return{class:"prompt_rejected",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:3e5,reason:"The provider rejected the request shape before generating anything, so retrying cannot help. The router repairs the prompt or fails the turn over to the next best choice instead.",countAgainstModel:!1,providerScoped:!1};let d=r.startsWith("provider.")||r.includes("invalidprovideroutput")||on(n,["streaming response failed","enginecore encountered an issue","server_error","provider.internal","invalid-output","invalidprovideroutput","internal server error","upstream error","upstream failure","incomplete stream","stream closed","stream ended unexpectedly","stream ended without finish_reason","without finish_reason","connection closed","unexpected eof"])||/\[\s*5\d\d\s*\]/.test(n)&&on(n,["stream","response","engine"]),u=on(n,["workspace_billing_scope_unavailable","billing_scope_unavailable","resolve billing scope","billing scope unavailable","membership entitlement","evaluate membership"])||r.includes("billing_scope_unavailable"),l=on(n,["alternative llm api service providers","service is too busy","ttft_admission_refused","admission refused","at capacity"])||r.includes("upstream")&&on(n,["busy","capacity"]);if(o===502||o===503||o===504||d||on(n,["overloaded","temporarily unavailable","upstream","service unavailable","provider outage","bad gateway","ttft_admission_refused","admission refused","at capacity"]))return{class:"provider_outage",retryable:!0,capabilityFailure:!1,escalate:!1,cooldownMs:3e5,reason:u?"The provider's own pre-request path failed before a model was selected. This is provider-scoped, not a fault of the serving model, so it is not counted against the model's reliability.":l?"The provider's gateway is saturated. Every model behind it is affected, so the provider is counted as failing, and the endpoint that actually refused is held back too.":"Provider capacity or outage; retry shortly or fail over. A stronger model would hit the same capacity limit, so no escalation is warranted.",countAgainstModel:!u,providerScoped:u,...l&&!u?{saturation:!0}:{}};if(on(n,["timeout","timed out","econnreset","econnrefused","fetch failed","socket","network","dns"]))return{class:"network",retryable:!0,capabilityFailure:!1,escalate:!1,cooldownMs:6e4,reason:"Network failure; retry with backoff. This is not evidence that a stronger model is needed.",countAgainstModel:!0,providerScoped:!1};if(on(n,["tool","shell command","command failed","exit code","enoent","permission denied"])&&r.includes("tool"))return{class:"tool",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:0,reason:"A tool or command failed; fix the tool, dependency, or permission issue rather than escalating the model.",countAgainstModel:!1,providerScoped:!1};if(on(n,["invalid request","bad request","unsupported parameter","malformed"]))return{class:"invalid_request",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:3e5,reason:"The request shape was invalid; fix the request or provider compatibility instead of escalating.",countAgainstModel:!0,providerScoped:!1};let p=t?.failures.filter(f=>f.class==="capability").length??0;return on(n,["cannot complete","unable to complete","gave up","i don't know how","not able to","incomplete","failed to implement"])||r.includes("model")&&p>=1?{class:"capability",retryable:!1,capabilityFailure:!0,escalate:p<1,cooldownMs:0,reason:"Possible capability failure; escalate one tier only after evidence, not after a single ambiguous error.",countAgainstModel:!0,providerScoped:!1}:{class:"unknown",retryable:!1,capabilityFailure:!1,escalate:!1,cooldownMs:3e4,reason:"Unclassified failure; do not escalate automatically without evidence.",countAgainstModel:!1,providerScoped:!1}};var Le=(e,t,n,r=0)=>[{input:e,output:t,cache:{read:n,write:r}}],ui=(e,t,n)=>[e,{input:n.input,output:n.output,cache:{read:n.read,write:n.write},tier:{type:"context",size:t}}],NB={multiplier:2,windowsUtc:[{startHour:1,endHour:4},{startHour:6,endHour:10}],weekdaysOnly:!0},woe=NB,koe=[{key:"opencode-go/gpt-6-luna",providerID:"opencode-go",modelID:"gpt-6-luna",name:"GPT-6 Luna",context:105e4,maxOutput:128e3,input:["text","image","pdf"],cost:ui(Le(.1,.5,.01,.125)[0],272e3,{input:.2,output:.75,read:.02,write:.25}),intelligence:38.1,design:55,designEvidence:"curated",tier:1,monthlyAllowanceUsd:60,notes:"Economy tier. Reliable for narrow mechanical edits, below the standard intelligence floor."},{key:"opencode-go/mimo-v2.6-flash",providerID:"opencode-go",modelID:"mimo-v2.6-flash",name:"MiMo-V2.6-Flash",context:1048576,maxOutput:131072,input:["text","image","audio","video"],cost:Le(.14,.28,.0028),intelligence:37.9,design:50,designEvidence:"curated",tier:1,monthlyAllowanceUsd:120,notes:"Cheap multimodal model. Economy tier only."},{key:"opencode-go/hy3",providerID:"opencode-go",modelID:"hy3",name:"Hy3",context:256e3,maxOutput:128e3,input:["text"],cost:Le(.14,.58,.035),intelligence:25.3,design:45,designEvidence:"curated",tier:1,monthlyAllowanceUsd:240,notes:"Economy tier. Text only. Narrow mechanical work."},{key:"opencode-go/longcat-2.0",providerID:"opencode-go",modelID:"longcat-2.0",name:"LongCat-2.0",context:1e6,maxOutput:131072,input:["text"],cost:Le(.3,1.2,.006),intelligence:19.1,design:40,designEvidence:"curated",tier:1,monthlyAllowanceUsd:240,notes:"Economy tier. Very low intelligence; use only with deterministic validation."},{key:"opencode-go/deepseek-v4.1-flash",providerID:"opencode-go",modelID:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",context:1e6,maxOutput:384e3,input:["text","image"],cost:Le(.15,.6,.003),peakPricing:NB,intelligence:39.5,design:65,designEvidence:"observed",tier:2,monthlyAllowanceUsd:80,notes:"Approved standard floor. Strong general coding value and native image input. Off-peak list price; 2x during 01-04 and 06-10 UTC Mon-Fri."},{key:"opencode-go/glm-5.3-flash",providerID:"opencode-go",modelID:"glm-5.3-flash",name:"GLM-5.3-Flash",context:1e6,maxOutput:131072,input:["text","image","video"],cost:Le(.15,.5,.03),intelligence:41.8,design:65,designEvidence:"curated",tier:2,monthlyAllowanceUsd:60},{key:"opencode-go/minimax-m3.1-flash",providerID:"opencode-go",modelID:"minimax-m3.1-flash",name:"MiniMax M3.1 Flash",context:1e6,maxOutput:512e3,input:["text","image","video"],cost:Le(.15,.6,.015),intelligence:42.7,design:60,designEvidence:"curated",tier:2,monthlyAllowanceUsd:20},{key:"opencode-go/claude-haiku-5-5",providerID:"opencode-go",modelID:"claude-haiku-5-5",name:"Claude Haiku 5.5",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:ui(Le(.1,.5,.01,.125)[0],1e5,{input:.5,output:2.5,read:.05,write:.625}),intelligence:43.4,design:70,designEvidence:"curated",tier:2,monthlyAllowanceUsd:15},{key:"opencode-go/mimo-v2.6-pro",providerID:"opencode-go",modelID:"mimo-v2.6-pro",name:"MiMo-V2.6-Pro",context:1048576,maxOutput:131072,input:["text","image","audio","video"],cost:Le(.435,.87,.003625),intelligence:46.3,design:62,designEvidence:"curated",tier:2,monthlyAllowanceUsd:15,notes:"High intelligence for its price. Narrow monthly allowance."},{key:"opencode-go/glm-5.3",providerID:"opencode-go",modelID:"glm-5.3",name:"GLM-5.3",context:1e6,maxOutput:131072,input:["text"],cost:Le(1.4,4.4,.26),intelligence:44.8,design:80,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15,notes:"Premium. Text only, so it can never receive screenshots."},{key:"opencode-go/kimi-k3",providerID:"opencode-go",modelID:"kimi-k3",name:"Kimi K3",context:1048576,maxOutput:131072,input:["text","image","video"],cost:Le(3,15,.3,3),intelligence:43.6,design:72,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15},{key:"opencode-go/grok-4.7",providerID:"opencode-go",modelID:"grok-4.7",name:"Grok 4.7",context:5e5,maxOutput:5e5,input:["text","image","pdf"],cost:ui(Le(2,6,.5)[0],2e5,{input:4,output:12,read:1,write:0}),intelligence:46.4,design:75,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15},{key:"opencode-go/qwen3.8-max",providerID:"opencode-go",modelID:"qwen3.8-max",name:"Qwen3.8 Max",context:1e6,maxOutput:131072,input:["text","image","video"],cost:Le(2,6,.25,2.5),intelligence:40.2,design:70,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15},{key:"opencode-go/step-5-preview",providerID:"opencode-go",modelID:"step-5-preview",name:"Step 5 Preview",context:1e6,maxOutput:65536,input:["text","image","video"],cost:Le(1,2.7,.1),intelligence:43.7,design:70,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:15},{key:"commandcode/deepseek/deepseek-v4.1-flash",providerID:"commandcode",modelID:"deepseek/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash (GOAT)",context:1e6,maxOutput:384e3,input:["text","image"],cost:Le(.15,.6,.003),peakPricing:woe,intelligence:39.5,design:65,designEvidence:"observed",tier:2,monthlyAllowanceUsd:80,notes:"Approved standard floor on Command Code. Off-peak list price; 2x during 01-04 and 06-10 UTC Mon-Fri."},{key:"commandcode/z-ai/glm-5.3-flash",providerID:"commandcode",modelID:"z-ai/glm-5.3-flash",name:"GLM-5.3-Flash",context:1e6,maxOutput:131072,input:["text","image","video","pdf"],cost:Le(.15,.5,.03),intelligence:41.8,design:65,designEvidence:"curated",tier:2,monthlyAllowanceUsd:80},{key:"commandcode/claude-haiku-5-5",providerID:"commandcode",modelID:"claude-haiku-5-5",name:"Claude Haiku 5.5",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:ui(Le(.1,.5,.01,.125)[0],1e5,{input:.5,output:2.5,read:.05,write:.625}),intelligence:43.4,design:70,designEvidence:"curated",tier:2,monthlyAllowanceUsd:20},{key:"commandcode/gpt-6-luna",providerID:"commandcode",modelID:"gpt-6-luna",name:"GPT-6 Luna",context:105e4,maxOutput:128e3,input:["text","image","pdf"],cost:ui(Le(.1,.5,.01,.125)[0],272e3,{input:.2,output:.75,read:.02,write:.25}),intelligence:38.1,design:55,designEvidence:"curated",tier:1,monthlyAllowanceUsd:20},{key:"commandcode/claude-sonnet-5-5",providerID:"commandcode",modelID:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:Le(2,10,.1,2.5),intelligence:56,design:90,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:10,notes:"Premium design and architecture candidate. Very small monthly allowance."},{key:"commandcode/meta/muse-spark-1.3",providerID:"commandcode",modelID:"meta/muse-spark-1.3",name:"Muse Spark 1.3",context:1048576,maxOutput:131072,input:["text","image","video","pdf","audio"],cost:Le(1.25,4.25,.15),intelligence:48.1,design:82,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:20},{key:"commandcode/google/gemini-4-argon",providerID:"commandcode",modelID:"google/gemini-4-argon",name:"Gemini 4 Argon",context:1e6,maxOutput:65536,input:["text","image","video","audio","pdf"],cost:Le(2,10,.1),intelligence:0,design:85,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:40,notes:"Unscored in the current model cards. Excluded from automatic routing until qualified."},{key:"commandcode/xai/grok-4.7",providerID:"commandcode",modelID:"xai/grok-4.7",name:"Grok 4.7",context:5e5,maxOutput:5e5,input:["text","image","pdf"],cost:ui(Le(2,6,.5)[0],2e5,{input:4,output:12,read:1,write:0}),intelligence:46.4,design:75,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:20},{key:"commandcode/Qwen/Qwen3.8-Max",providerID:"commandcode",modelID:"Qwen/Qwen3.8-Max",name:"Qwen3.8 Max",context:1e6,maxOutput:131072,input:["text","image","video","pdf"],cost:Le(2,6,.25,2.5),intelligence:40.2,design:70,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:20},{key:"commandcode/stepfun/Step-5-Preview",providerID:"commandcode",modelID:"stepfun/Step-5-Preview",name:"Step 5 Preview",context:1e6,maxOutput:1e6,input:["text","image","video"],cost:Le(1,2.7,.05),intelligence:43.7,design:70,designEvidence:"curated",premium:!0,tier:3,monthlyAllowanceUsd:20},{key:"commandcode/claude-opus-5-5",providerID:"commandcode",modelID:"claude-opus-5-5",name:"Claude Opus 5.5",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:Le(4,20,.2,5),intelligence:0,design:92,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:10,notes:"Unscored in the current model cards. Explicit approval required."},{key:"commandcode/gpt-6.1-sol",providerID:"commandcode",modelID:"gpt-6.1-sol",name:"GPT-6.1 Sol",context:105e4,maxOutput:128e3,input:["text","image","pdf"],cost:ui(Le(2,10,.1,2.5)[0],272e3,{input:4,output:15,read:.2,write:5}),intelligence:55,design:88,designEvidence:"unverified",capabilities:{coding:56,debugging:65,agentic:41,architecture:86},premium:!0,tier:3,approved:!0,monthlyAllowanceUsd:20,notes:"Intelligence 55 on Artificial Analysis v5.0.1 (2026-11-06). Capabilities: Terminal-Bench 4.0 56 percent, AutomationBench 65 percent, FrontierCode 2.0 41 percent, same index and configuration. Long-context tier doubles input to 4 and raises output to 15 above 272K. Auto-approved for tier-3 escalation by owner instruction 2026-11-06; the Command Code gateway advertises 1.05M but that window is unverified, so treat it as pending a passed probe."},{key:"commandcode/gpt-6-astra",providerID:"commandcode",modelID:"gpt-6-astra",name:"GPT-6 Astra",context:105e4,maxOutput:128e3,input:["text","image","pdf"],cost:ui(Le(10,50,1,12.5)[0],272e3,{input:20,output:75,read:2,write:25}),intelligence:0,design:88,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:10,notes:"Frontier-priced model. Never selected automatically without explicit approval."},{key:"commandcode/claude-fable-5-1",providerID:"commandcode",modelID:"claude-fable-5-1",name:"Claude Fable 5.1",context:1e6,maxOutput:128e3,input:["text","image","pdf"],cost:Le(10,50,.25,12.5),intelligence:0,design:90,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:10,notes:"Frontier-priced model. Never selected automatically without explicit approval."},{key:"opencode-go/gemini-4-argon",providerID:"opencode-go",modelID:"gemini-4-argon",name:"Gemini 4 Argon",context:1048576,maxOutput:65536,input:["text","image","video","audio","pdf"],cost:Le(2,10,.1),intelligence:0,design:85,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:120,notes:"Unscored in the current model cards. Explicit approval required."},{key:"opencode-go/kimi-k3.1-pro",providerID:"opencode-go",modelID:"kimi-k3.1-pro",name:"Kimi K3.1 Pro",context:1048576,maxOutput:131072,input:["text","image","video"],cost:Le(2,10,.2,2),intelligence:0,design:75,designEvidence:"unverified",premium:!0,tier:3,approved:!1,monthlyAllowanceUsd:60,notes:"Unscored in the current model cards. Explicit approval required."},{key:"commandcode/meta/muse-spark-1.3-contributor",providerID:"commandcode",modelID:"meta/muse-spark-1.3-contributor",name:"Muse Spark 1.3 (Contributor)",context:1048576,maxOutput:131072,input:["text","image","video","pdf","audio"],cost:Le(.1,.2,.002),intelligence:0,design:80,designEvidence:"unverified",training:!0,tier:1,approved:!1,monthlyAllowanceUsd:20,notes:"Training-enabled contributor tier. Blocked unless privacy.allowTrainingModels is true."},{key:"opencode-go/muse-spark-1.3-contributor",providerID:"opencode-go",modelID:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",context:1048576,maxOutput:131072,input:["text","image","video","pdf","audio"],cost:Le(.1,.2,.002),intelligence:0,design:80,designEvidence:"unverified",training:!0,tier:1,approved:!1,monthlyAllowanceUsd:120,notes:"Training-enabled contributor tier. Blocked unless privacy.allowTrainingModels is true."},{key:"opencode-go/iceman-contributor-free",providerID:"opencode-go",modelID:"iceman-contributor-free",name:"Iceman Contributor Free",context:262144,maxOutput:131072,input:["text"],cost:Le(0,0,0),intelligence:0,design:0,designEvidence:"unverified",training:!0,free:!0,tier:1,approved:!1,monthlyAllowanceUsd:0,notes:"Free model that trains on data. Blocked by default."},{key:"opencode-go/beam-free",providerID:"opencode-go",modelID:"beam-free",name:"Beam Free",context:1048576,maxOutput:131072,input:["text"],cost:Le(0,0,0),intelligence:0,design:0,designEvidence:"unverified",free:!0,tier:1,approved:!1,monthlyAllowanceUsd:0,notes:"Free promotional model. Not approved for automatic work."},{key:"opencode-go/deepseek-v4-pro",providerID:"opencode-go",modelID:"deepseek-v4-pro",name:"DeepSeek V4 Pro",context:1e6,maxOutput:384e3,input:["text"],cost:Le(.66,1.98,.022),intelligence:36,design:55,designEvidence:"curated",tier:2,approved:!1,monthlyAllowanceUsd:60,notes:"Below the current standard floor and text only. Not approved automatically."}],Eoe=za.map(e=>({key:`opendesign/${e.modelID}`,providerID:"opendesign",modelID:e.modelID,name:e.name,context:e.context,maxOutput:e.maxOutput,input:[...e.input],tools:!0,cost:e.cost.map(t=>({...t,cache:{...t.cache}})),..._o.has(e.modelID)?{creditMultiplier:e.creditMultiplier}:{},escalationOnly:!_o.has(e.modelID),intelligence:e.intelligence,design:e.design,designEvidence:e.designEvidence,...e.capabilities?{capabilities:{...e.capabilities}}:{},tier:e.tier,approved:e.approved,premium:!_o.has(e.modelID),monthlyAllowanceUsd:0,notes:e.notes})),Toe=[{key:"ollama/qwen3.5:4b-q4_K_M",providerID:"ollama",modelID:"qwen3.5:4b-q4_K_M",name:"Qwen3.5 4B (local)",context:8192,maxOutput:2048,input:["text","image"],tools:!0,cost:[{input:0,output:0,cache:{read:0,write:0}}],intelligence:30,design:40,designEvidence:"unverified",tier:1,approved:!1,monthlyAllowanceUsd:0,notes:"Local Ollama model for offline development. Vision and tool calling. Not for online routing: the intelligence and design scores are deliberately below the hosted floor because a 4B model should not silently replace a hosted standard model when the network is available."}],FB=[...koe,...Eoe,...Toe];var LB=e=>!e||e.length===0?[{input:0,output:0,cache:{read:0,write:0}}]:e.map(t=>({input:Number.isFinite(t.input)?t.input:0,output:Number.isFinite(t.output)?t.output:0,cache:{read:Number.isFinite(t.cache?.read)?t.cache.read:0,write:Number.isFinite(t.cache?.write)?t.cache.write:0},...t.tier?{tier:{type:"context",size:t.tier.size}}:{}})),$B=e=>({key:e.key,providerID:e.providerID,modelID:e.modelID,name:e.name,context:e.context,maxOutput:e.maxOutput,inputModalities:e.input,outputModalities:["text"],tools:e.tools??!0,cost:e.cost,...e.peakPricing?{peakPricing:e.peakPricing}:{},intelligence:e.intelligence,design:e.design,designEvidence:e.designEvidence??"curated",...e.capabilities?{capabilities:{...e.capabilities}}:{},...e.creditMultiplier&&e.creditMultiplier>0?{creditMultiplier:e.creditMultiplier}:{},...e.protocol?{protocol:e.protocol}:{},...e.escalationOnly?{escalationOnly:!0}:{},premium:e.premium??!1,training:e.training??!1,free:e.free??!1,tier:e.tier,approved:e.approved??!0,approvalSource:"seed",monthlyAllowanceUsd:e.monthlyAllowanceUsd,notes:e.notes}),Aoe=(e,t)=>({...e,name:t.name&&t.name.trim().length>0?t.name:e.name,context:t.limit?.context&&t.limit.context>0?t.limit.context:e.context,maxOutput:t.limit?.output&&t.limit.output>0?t.limit.output:e.maxOutput,tools:t.capabilities?.tools??e.tools,inputModalities:t.capabilities?.input&&t.capabilities.input.length>0?[...t.capabilities.input]:e.inputModalities,outputModalities:t.capabilities?.output&&t.capabilities.output.length>0?[...t.capabilities.output]:e.outputModalities,cost:LB(t.cost??e.cost)}),Roe=e=>({key:_e(e.providerID,e.id),providerID:e.providerID,modelID:e.id,name:e.name?.trim()||e.id,context:e.limit?.context&&e.limit.context>0?e.limit.context:0,maxOutput:e.limit?.output&&e.limit.output>0?e.limit.output:0,inputModalities:e.capabilities?.input?[...e.capabilities.input]:["text"],outputModalities:e.capabilities?.output?[...e.capabilities.output]:["text"],tools:e.capabilities?.tools??!1,cost:LB(e.cost),intelligence:0,design:0,designEvidence:"unverified",premium:!1,training:/contributor|-free$|iceman/i.test(e.id),free:/(^|[-/])(free|beam-free|laguna-s-2\.1-free)$/i.test(e.id),tier:2,approved:!1,approvalSource:"discovered",monthlyAllowanceUsd:0,notes:"Discovered model. Not qualified for automatic routing until approved."}),$E=class{records=new Map;liveCount;constructor(t){let n=[...t.seed??FB,...t.definitions??[]],r=new Map(n.map(d=>[d.key,d])),o=new Map(t.live.map(d=>[_e(d.providerID,d.id),d]));this.liveCount=t.live.length;for(let d of n){let u=o.get(d.key);this.records.set(d.key,u?Aoe($B(d),u):$B(d))}for(let d of t.live){let u=_e(d.providerID,d.id);this.records.has(u)||this.records.set(u,Roe(d))}let s=new Set(t.settings.models.approved),i=new Set(t.settings.models.excluded),c=t.settings.models.tierOverrides;for(let[d,u]of this.records){let l=c[d],p=s.has(d),f=i.has(d),g=t.settings.providers[u.providerID]?.enabled??!0,b=u.approvalSource==="seed"&&u.approved,S=co(u.providerID,t.settings.providers[u.providerID]?.plan),y=S?pB(S,u.modelID):0;this.records.set(d,{...u,tier:l??u.tier,monthlyAllowanceUsd:y>0?y:u.monthlyAllowanceUsd,approved:g&&!f&&(p||b),approvalSource:p?"user":u.approvalSource})}}get count(){return this.records.size}get liveModelCount(){return this.liveCount}all(){return[...this.records.values()]}get(t,n){return this.records.get(_e(t,n))}getByKey(t){return this.records.get(t)}approved(){return this.all().filter(t=>t.approved)}approvedForProvider(t){return this.approved().filter(n=>n.providerID===t)}modelsForOffline(){return this.all().filter(t=>t.providerID===Ld)}},LE=e=>new $E(e);var BE=1,Ooe=5,Coe=3*6e4,Bd=2e3,Zp=120,qB=250,Doe=2880*60*1e3,Poe=400*24*60*60*1e3,BB=400*24*4,xbe=960*60*60*1e3,Moe=300*60*1e3,_oe=10080*60*1e3,qE=720*60*60*1e3,qy=3600*1e3,HB=()=>({context_overflow:0,rate_limit:0,network:0,auth:0,provider_outage:0,invalid_request:0,image_rejected:0,tool:0,capability:0,interrupted:0,quota_exhausted:0,prompt_rejected:0,unknown:0}),Uoe=(e=Date.now())=>({startedAt:e,requests:0,inputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,outputTokens:0,estimatedUsd:0,switches:0,escalations:0,retries:0,preventedPremium:0,manualOverrides:0,dryRunDecisions:0,premiumRequests:0,premiumUsd:0,planPoolUsd:0,latencyMsTotal:0,latencySamples:0,failures:HB(),byModel:{},timeouts:0}),jB=()=>({requests:0,input:0,output:0,cacheRead:0,cacheWrite:0,usd:0,failures:0,outputTokensPerSecond:0,latencyMsTotal:0,latencySamples:0,timeoutFailures:0}),jE=(e=Date.now())=>({version:BE,usage:[],premiumSpend:[],planPoolSpend:[],sessions:{},decisions:[],metrics:Uoe(e),cooldowns:{},providerCooldowns:{},updatedAt:e}),cn=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),te=(e,t=0)=>typeof e=="number"&&Number.isFinite(e)?e:t,Ly=e=>{if(cn(e)&&!(typeof e.providerID!="string"||typeof e.id!="string"))return{providerID:e.providerID,id:e.id,...typeof e.variant=="string"?{variant:e.variant}:{}}},Noe=e=>{if(cn(e)&&!(typeof e.providerID!="string"||typeof e.modelID!="string"))return{id:typeof e.id=="string"?e.id:kr("evt"),at:te(e.at,Date.now()),providerID:e.providerID,modelID:e.modelID,...typeof e.sessionID=="string"?{sessionID:e.sessionID}:{},usd:Math.max(0,te(e.usd)),input:Math.max(0,te(e.input)),output:Math.max(0,te(e.output)),cacheRead:Math.max(0,te(e.cacheRead)),cacheWrite:Math.max(0,te(e.cacheWrite)),source:e.source==="bootstrap"||e.source==="manual"?e.source:"step"}},Foe=e=>{if(!cn(e)||typeof e.providerID!="string"||typeof e.modelID!="string")return;let t=te(e.hour);if(!(t<=0))return{hour:Math.floor(t/qy)*qy,providerID:e.providerID,modelID:e.modelID,periodID:typeof e.periodID=="string"?e.periodID:"",requests:Math.max(0,te(e.requests)),input:Math.max(0,te(e.input)),output:Math.max(0,te(e.output)),cacheRead:Math.max(0,te(e.cacheRead)),cacheWrite:Math.max(0,te(e.cacheWrite)),usd:Math.max(0,te(e.usd)),failures:Math.max(0,te(e.failures)),latencyMsTotal:Math.max(0,te(e.latencyMsTotal)),latencySamples:Math.max(0,te(e.latencySamples))}},zB=e=>`${e.hour}:${e.providerID}:${e.modelID}:${e.periodID}`,WB=(e,t,n)=>{let r=Math.floor(t.at/qy)*qy,o=zB({hour:r,providerID:t.providerID,modelID:t.modelID,periodID:n}),s=e.get(o);if(s){s.requests+=1,s.input+=t.input,s.output+=t.output,s.cacheRead+=t.cacheRead,s.cacheWrite+=t.cacheWrite,s.usd+=t.usd;return}e.set(o,{hour:r,providerID:t.providerID,modelID:t.modelID,periodID:n,requests:1,input:t.input,output:t.output,cacheRead:t.cacheRead,cacheWrite:t.cacheWrite,usd:t.usd,failures:0,latencyMsTotal:0,latencySamples:0})},$oe=e=>{if(!(!cn(e)||typeof e.sessionID!="string"))return{sessionID:e.sessionID,...typeof e.parentID=="string"?{parentID:e.parentID}:{},...typeof e.projectID=="string"?{projectID:e.projectID}:{},...typeof e.directory=="string"?{directory:e.directory}:{},manualOverride:e.manualOverride===!0,manualModel:Ly(e.manualModel),pinnedModel:Ly(e.pinnedModel),premiumOneShot:e.premiumOneShot===!0,premiumOneShotAt:typeof e.premiumOneShotAt=="number"?e.premiumOneShotAt:void 0,paused:e.paused===!0,lastModel:Ly(e.lastModel),lastRoutedModel:Ly(e.lastRoutedModel),lastDecisionID:typeof e.lastDecisionID=="string"?e.lastDecisionID:void 0,contextTokens:Math.max(0,te(e.contextTokens)),cacheReadTokens:Math.max(0,te(e.cacheReadTokens)),stepCount:Math.max(0,te(e.stepCount)),status:e.status==="busy"||e.status==="idle"?e.status:"unknown",failures:Array.isArray(e.failures)?e.failures.filter(cn).slice(-12).map(t=>({class:typeof t.class=="string"?t.class:"unknown",at:te(t.at),message:typeof t.message=="string"?t.message.slice(0,300):""})):[],retries:Math.max(0,te(e.retries)),createdAt:te(e.createdAt,Date.now()),updatedAt:te(e.updatedAt,Date.now()),...typeof e.title=="string"?{title:e.title.slice(0,200)}:{}}},Loe=e=>{let t=[],n=Date.now();if(!cn(e))return{ledger:jE(n),warnings:["No saved ledger found"]};e.version!==BE&&t.push("Saved ledger version differs; mixing retained data");let r=cn(e.metrics)?e.metrics:{},o={};if(cn(r.byModel))for(let[S,y]of Object.entries(r.byModel))cn(y)&&(o[S]={requests:Math.max(0,te(y.requests)),input:Math.max(0,te(y.input)),output:Math.max(0,te(y.output)),cacheRead:Math.max(0,te(y.cacheRead)),cacheWrite:Math.max(0,te(y.cacheWrite)),usd:Math.max(0,te(y.usd)),failures:Math.max(0,te(y.failures)),outputTokensPerSecond:Math.max(0,te(y.outputTokensPerSecond)),latencyMsTotal:Math.max(0,te(y.latencyMsTotal)),latencySamples:Math.max(0,te(y.latencySamples)),timeoutFailures:Math.max(0,te(y.timeoutFailures))});let s={};if(cn(e.cooldowns))for(let[S,y]of Object.entries(e.cooldowns)){let I=te(y);I>0&&(s[S]=I)}let i={};if(cn(e.providerCooldowns))for(let[S,y]of Object.entries(e.providerCooldowns)){let I=te(y);I>0&&(i[S]=I)}let c={};if(cn(e.sessions))for(let S of Object.values(e.sessions)){let y=$oe(S);y&&(c[y.sessionID]=y)}let d=[];if(Array.isArray(e.decisions))for(let S of e.decisions)cn(S)&&typeof S.id=="string"&&typeof S.at=="number"&&d.push(S);let u=[];if(Array.isArray(e.usage))for(let S of e.usage){let y=Noe(S);y&&u.push(y)}let l=[],p=cn(e.usageRollup)?e.usageRollup:void 0;if(p&&Array.isArray(p.buckets))for(let S of p.buckets){let y=Foe(S);y&&l.push(y)}let f;if(u.length>Bd&&l.length===0){let S=new Map,y=u.length-Bd;for(let I of u.slice(0,y))WB(S,I,ja(I.at));l.push(...S.values()),f=u.slice(y),t.push(`Folded ${y} older usage events into hourly aggregates on load instead of discarding them`)}let g=HB();if(cn(r.failures))for(let S of Object.keys(g))g[S]=Math.max(0,te(r.failures[S]));return{ledger:{version:BE,bootstrappedAt:typeof e.bootstrappedAt=="number"?e.bootstrappedAt:void 0,bootstrapSource:typeof e.bootstrapSource=="string"?e.bootstrapSource:void 0,cooldowns:s,providerCooldowns:i,usage:f?f.slice(-Bd):u.slice(-Bd),...l.length>0?{usageRollup:{version:1,buckets:l,recent:u.slice(-Bd),updatedAt:te(p?.updatedAt,n)}}:{},premiumSpend:Array.isArray(e.premiumSpend)?e.premiumSpend.filter(cn).map(S=>({month:String(S.month??""),usd:Math.max(0,te(S.usd))})).filter(S=>S.month):[],planPoolSpend:Array.isArray(e.planPoolSpend)?e.planPoolSpend.filter(cn).map(S=>({month:String(S.month??""),usd:Math.max(0,te(S.usd))})).filter(S=>S.month):[],sessions:c,decisions:d.slice(0,Zp),metrics:{startedAt:te(r.startedAt,n),requests:Math.max(0,te(r.requests)),inputTokens:Math.max(0,te(r.inputTokens)),cacheReadTokens:Math.max(0,te(r.cacheReadTokens)),cacheWriteTokens:Math.max(0,te(r.cacheWriteTokens)),outputTokens:Math.max(0,te(r.outputTokens)),estimatedUsd:Math.max(0,te(r.estimatedUsd)),switches:Math.max(0,te(r.switches)),escalations:Math.max(0,te(r.escalations)),retries:Math.max(0,te(r.retries)),preventedPremium:Math.max(0,te(r.preventedPremium)),manualOverrides:Math.max(0,te(r.manualOverrides)),dryRunDecisions:Math.max(0,te(r.dryRunDecisions)),premiumRequests:Math.max(0,te(r.premiumRequests)),premiumUsd:Math.max(0,te(r.premiumUsd)),planPoolUsd:Math.max(0,te(r.planPoolUsd)),latencyMsTotal:Math.max(0,te(r.latencyMsTotal)),latencySamples:Math.max(0,te(r.latencySamples)),lastLatencyMs:typeof r.lastLatencyMs=="number"?r.lastLatencyMs:void 0,failures:g,byModel:o,timeouts:Math.max(0,te(r.timeouts))},updatedAt:n},warnings:t}},uo=class{ledger;dirty=!1;providerFaultStreak=new Map;constructor(t){this.ledger=t??jE()}static hydrate(t){return Loe(t)}get data(){return this.ledger}reset(){this.ledger=jE(),this.dirty=!0}get dirtyFlag(){return this.dirty}markClean(){this.dirty=!1}touch(){this.ledger.updatedAt=Date.now(),this.dirty=!0}ensureSession(t,n,r){let o=this.ledger.sessions[t];if(o)return n&&!o.parentID&&(o.parentID=n),r&&!o.title&&(o.title=r),o;let s=Date.now(),i={sessionID:t,...n?{parentID:n}:{},manualOverride:!1,premiumOneShot:!1,paused:!1,contextTokens:0,cacheReadTokens:0,stepCount:0,status:"unknown",failures:[],retries:0,createdAt:s,updatedAt:s,...r?{title:r}:{}};return this.ledger.sessions[t]=i,this.touch(),i}getSession(t){return this.ledger.sessions[t]}patchSession(t,n){let r=this.ensureSession(t);return Object.assign(r,n,{updatedAt:Date.now()}),this.touch(),r}setManual(t,n){let r=this.ensureSession(t);r.manualOverride=!0,r.manualModel=n,r.updatedAt=Date.now(),this.ledger.metrics.manualOverrides+=1,this.touch()}clearManual(t){let n=this.ensureSession(t);n.manualOverride=!1,n.manualModel=void 0,n.updatedAt=Date.now(),this.touch()}grantPremiumOneShot(t){let n=this.ensureSession(t);n.premiumOneShot=!0,n.premiumOneShotAt=Date.now(),n.updatedAt=Date.now(),this.touch()}consumePremiumOneShot(t){let n=this.ensureSession(t);n.premiumOneShot=!1,n.premiumOneShotAt=void 0,n.updatedAt=Date.now(),this.touch()}premiumSpent(t=ja()){return this.ledger.premiumSpend.find(n=>n.month===t)?.usd??0}planPoolSpent(t=ja()){return this.ledger.planPoolSpend.find(n=>n.month===t)?.usd??0}addPlanPoolSpend(t,n){if(t<=0)return;let r=ja(n),o=this.ledger.planPoolSpend.find(s=>s.month===r);o?o.usd+=t:this.ledger.planPoolSpend.push({month:r,usd:t}),this.ledger.metrics.planPoolUsd+=t}addPremiumSpend(t){if(t<=0)return;let n=ja(),r=this.ledger.premiumSpend.find(o=>o.month===n);r?r.usd+=t:this.ledger.premiumSpend.push({month:n,usd:t}),this.ledger.metrics.premiumUsd+=t}recordUsage(t){let n=t.at??Date.now(),r={id:kr("use"),at:n,providerID:t.model.providerID,modelID:t.model.id,sessionID:t.sessionID,usd:Math.max(0,t.cost),input:Math.max(0,t.tokens.input),output:Math.max(0,t.tokens.output),cacheRead:Math.max(0,t.tokens.cache.read),cacheWrite:Math.max(0,t.tokens.cache.write),source:"step"};this.ledger.usage.push(r),this.ledger.metrics.requests+=1,this.ledger.metrics.inputTokens+=r.input,this.ledger.metrics.outputTokens+=r.output,this.ledger.metrics.cacheReadTokens+=r.cacheRead,this.ledger.metrics.cacheWriteTokens+=r.cacheWrite,this.ledger.metrics.estimatedUsd+=r.usd,t.premium&&(this.ledger.metrics.premiumRequests+=1),t.latencyMs!==void 0&&Number.isFinite(t.latencyMs)&&(this.ledger.metrics.latencySamples+=1,this.ledger.metrics.latencyMsTotal+=Math.max(0,t.latencyMs),this.ledger.metrics.lastLatencyMs=Math.max(0,t.latencyMs));let o=_e(t.model.providerID,t.model.id),s=this.ledger.metrics.byModel[o]??=jB();if(s.requests+=1,s.input+=r.input,s.output+=r.output,s.cacheRead+=r.cacheRead,s.cacheWrite+=r.cacheWrite,s.usd+=r.usd,t.latencyMs!==void 0&&Number.isFinite(t.latencyMs)&&t.latencyMs>0){let c=Math.max(0,t.latencyMs);if(s.latencySamples+=1,s.latencyMsTotal+=c,r.output>0){let d=c/1e3,u=r.output/Math.max(.001,d),l=s.outputTokensPerSecond;s.outputTokensPerSecond=l>0?l*.7+u*.3:u}}t.premium&&this.addPremiumSpend(r.usd),t.planPool&&this.addPlanPoolSpend(r.usd,n);let i=this.ensureSession(t.sessionID);i.lastModel=t.model,i.contextTokens=r.input+r.cacheRead+r.cacheWrite,i.cacheReadTokens=r.cacheRead,i.stepCount+=1,i.updatedAt=n,this.prune(n),this.touch()}recordDecision(t){if(this.ledger.decisions.unshift(t),this.ledger.decisions=this.ledger.decisions.slice(0,Zp),t.switched&&(this.ledger.metrics.switches+=1),t.dryRun&&(this.ledger.metrics.dryRunDecisions+=1),t.needsPremiumApproval&&(this.ledger.metrics.preventedPremium+=1),t.chosen?.providerID&&t.chosen){let r=t.candidates.find(s=>s.model.providerID===t.chosen?.providerID&&s.model.modelID===t.chosen?.id),o=t.candidates.find(s=>s.model.providerID===t.current?.providerID&&s.model.modelID===t.current?.id);r&&o&&r.tier>o.tier&&(this.ledger.metrics.escalations+=1)}let n=this.ensureSession(t.sessionID);n.lastDecisionID=t.id,t.chosen&&(n.lastRoutedModel=t.chosen),n.updatedAt=t.at,this.touch()}recordFailure(t,n,r,o,s={}){if(this.ledger.metrics.failures[r]=(this.ledger.metrics.failures[r]??0)+1,(s.providerScoped||s.saturation)&&n){let c=(this.providerFaultStreak.get(n.providerID)??0)+1;if(this.providerFaultStreak.set(n.providerID,c),c>=Ooe){let d=Date.now()+Coe;this.ledger.providerCooldowns={...this.ledger.providerCooldowns??{},[n.providerID]:Math.max(this.ledger.providerCooldowns?.[n.providerID]??0,d)}}}if(s.providerScoped&&!s.saturation&&n){let c=this.ensureSession(t);c.failures=[...c.failures,{class:r,at:Date.now(),message:Be(o)}].slice(-12),c.updatedAt=Date.now(),this.touch();return}if(s.saturation&&n){this.armModelCooldown(n,s.cooldownMs??0,1);let c=this.ensureSession(t);c.failures=[...c.failures,{class:r,at:Date.now(),message:Be(o)}].slice(-12),c.updatedAt=Date.now(),this.touch();return}if(n&&s.countAgainstModel!==!1){let c=_e(n.providerID,n.id),d=this.ledger.metrics.byModel[c]??=jB();d.failures+=1,(r==="context_overflow"||r==="rate_limit")&&(d.timeoutFailures+=1,this.ledger.metrics.timeouts+=1),(s.cooldownMs??0)>0&&this.armModelCooldown(n,s.cooldownMs??0,Math.min(4,d.failures%4+1))}let i=this.ensureSession(t);i.failures=[...i.failures,{class:r,at:Date.now(),message:Be(o)}].slice(-12),i.updatedAt=Date.now(),this.touch()}cooldowns(){return this.ledger.cooldowns??{}}armModelCooldown(t,n,r){if(n<=0)return;let o=_e(t.providerID,t.id),s=this.ledger.cooldowns?.[o]??0,i=Date.now()+n*Math.max(1,r);this.ledger.cooldowns={...this.ledger.cooldowns??{},[o]:Math.max(s,i)}}holdModel(t,n){this.armModelCooldown(t,n,1)}providerCooldowns(){return this.ledger.providerCooldowns??{}}exhaustProvider(t,n){let r=this.ledger.providerCooldowns?.[t]??0;n<=r||(this.ledger.providerCooldowns={...this.ledger.providerCooldowns??{},[t]:n})}isProviderCoolingDown(t,n=Date.now()){let r=this.ledger.providerCooldowns?.[t];return typeof r=="number"&&r>n}recordProviderSuccess(t){this.providerFaultStreak.size>0&&this.providerFaultStreak.delete(t)}isCoolingDown(t,n=Date.now()){let r=this.ledger.cooldowns?.[t];return typeof r=="number"&&r>n}recordRetry(t){this.ledger.metrics.retries+=1;let n=this.ensureSession(t);n.retries+=1,n.updatedAt=Date.now(),this.touch()}bootstrap(t,n){if(this.ledger.bootstrappedAt)return{added:0,skipped:!0};let r=n.now??Date.now(),o=r-n.days*24*60*60*1e3,s=t.filter(i=>i.cost>0&&i.updatedAt>=o&&i.model).sort((i,c)=>c.updatedAt-i.updatedAt).slice(0,Math.max(0,n.limit));for(let i of s){let c=i.model;c&&this.ledger.usage.push({id:kr("boot"),at:Math.min(r,i.updatedAt),providerID:c.providerID,modelID:c.id,sessionID:i.id,usd:Math.max(0,i.cost),input:Math.max(0,i.tokens?.input??0),output:Math.max(0,i.tokens?.output??0),cacheRead:Math.max(0,i.tokens?.cache.read??0),cacheWrite:Math.max(0,i.tokens?.cache.write??0),source:"bootstrap"})}return this.ledger.bootstrappedAt=r,this.ledger.bootstrapSource=`Recent sessions (${s.length}) attributed to each session's selected model; approximate when a session switched models.`,this.prune(r),this.touch(),{added:s.length,skipped:!1}}importHistory(t,n={}){let r=n.now??Date.now(),o=new Set(this.ledger.usage.map(c=>c.id)),s=0,i=0;for(let c of t){let d=`hist:${c.id}`;if(o.has(d)){i+=1;continue}this.ledger.usage.push({id:d,at:Math.min(r,c.at),providerID:c.providerID,modelID:c.modelID,usd:Math.max(0,c.cost),input:Math.max(0,c.input),output:Math.max(0,c.output),cacheRead:Math.max(0,c.cacheRead),cacheWrite:Math.max(0,c.cacheWrite),source:"bootstrap"}),o.add(d),s+=1}return s>0&&(this.ledger.bootstrappedAt=r,this.ledger.bootstrapSource=n.source??`Imported ${s} messages from OpenCode history, each attributed to the model that actually served it.`,this.prune(r),this.touch()),{added:s,skipped:i}}totalsForModel(t,n,r={}){let o=r.now??Date.now(),s=r.periodStart??o-qE,i=o-Moe,c=o-_oe,d=0,u=0,l=0,p=0,f=0,g=0,b=0;for(let S of this.ledger.usage)S.providerID!==t||S.modelID!==n||(S.at>=s&&(d+=S.usd,p+=S.input,f+=S.output,g+=S.cacheRead,b+=1),S.at>=i&&(u+=S.usd),S.at>=c&&(l+=S.usd));return{monthlyUsd:d,fiveHourUsd:u,weeklyUsd:l,input:p,output:f,cacheRead:g,requests:b}}modelQuotaSnapshots(t,n,r,o,s=Date.now()){let i=r?.periodStart??(r?.monthly.resetsAt?r.monthly.resetsAt-qE:s-qE),c={};for(let d of n){if(d.providerID!==t)continue;let u=this.totalsForModel(t,d.modelID,{now:s,periodStart:i}),l=d.monthlyAllowanceUsd>0?d.monthlyAllowanceUsd:0,p=l>0?l*.2:0,f=l>0?l*.5:0,g=l>0?jt(u.monthlyUsd,l):0,b=p>0?jt(u.fiveHourUsd,p):0,S=f>0?jt(u.weeklyUsd,f):0,y=!1,I;l>0&&g>=100?(y=!0,I="Estimated monthly model allowance exhausted"):p>0&&b>=100?(y=!0,I="Estimated five-hour model allowance exhausted"):f>0&&S>=100&&(y=!0,I="Estimated weekly model allowance exhausted");let v=_e(t,d.modelID);c[v]={model:{providerID:t,modelID:d.modelID},monthlyAllowanceUsd:l,monthlyUsedUsd:u.monthlyUsd,monthlyRemainingUsd:Math.max(0,l-u.monthlyUsd),monthlyUsedPct:g,fiveHourUsedUsd:u.fiveHourUsd,fiveHourCapUsd:p,fiveHourUsedPct:b,weeklyUsedUsd:u.weeklyUsd,weeklyCapUsd:f,weeklyUsedPct:S,blocked:y,...I?{blockReason:I}:{},source:"estimate"}}return c}attachModelQuotas(t,n,r,o=Date.now()){return{...t,models:this.modelQuotaSnapshots(t.providerID,n,t,r,o)}}snapshotMetrics(){return structuredClone(this.ledger.metrics)}usageEvents(t){if(!t)return this.ledger.usage;let{since:n}=t,r=t.until??Date.now(),o=this.ledger.usage.filter(c=>c.at>=n&&c.at<=r),s=this.ledger.usageRollup?.buckets;if(!s||s.length===0)return o;let i=[];for(let c of s)c.hour<n||c.hour>r||i.push({id:`folded_${c.hour}_${c.providerID}_${c.modelID}`,at:c.hour,providerID:c.providerID,modelID:c.modelID,usd:c.usd,input:c.input,output:c.output,cacheRead:c.cacheRead,cacheWrite:c.cacheWrite,source:"step"});return[...i,...o].sort((c,d)=>c.at-d.at)}foldUsage(t){let n=this.ledger.usageRollup??={version:1,buckets:[],recent:[],updatedAt:t},r=new Map;for(let l of n.buckets)r.set(zB(l),l);let o=t-Doe,s=[],i=Math.max(0,this.ledger.usage.length-Bd*.8),c=0;for(let l of this.ledger.usage){if(!(l.at<o||c<i)){s.push(l);continue}c+=1,WB(r,l,this.periodIDFor(l.at))}this.ledger.usage=s;let d=t-Poe,u=[...r.values()].filter(l=>l.hour>=d);u.sort((l,p)=>l.hour-p.hour),n.buckets=u.length>BB?u.slice(u.length-BB):u,n.recent=s,n.updatedAt=t}periodIDFor(t){return ja(t)}aggregate(t){let n=t.until??Date.now(),r={requests:0,input:0,output:0,cacheRead:0,cacheWrite:0,usd:0,failures:0,latencyMsTotal:0,latencySamples:0},o=(s,i)=>(!t.providerID||s===t.providerID)&&(!t.modelID||i===t.modelID);for(let s of this.ledger.usageRollup?.buckets??[])s.hour<t.since||s.hour>n||o(s.providerID,s.modelID)&&(r.requests+=s.requests,r.input+=s.input,r.output+=s.output,r.cacheRead+=s.cacheRead,r.cacheWrite+=s.cacheWrite,r.usd+=s.usd,r.failures+=s.failures,r.latencyMsTotal+=s.latencyMsTotal,r.latencySamples+=s.latencySamples);for(let s of this.ledger.usage)s.at<t.since||s.at>n||o(s.providerID,s.modelID)&&(r.requests+=1,r.input+=s.input,r.output+=s.output,r.cacheRead+=s.cacheRead,r.cacheWrite+=s.cacheWrite,r.usd+=s.usd);return{...r,since:t.since,until:n}}usageByModel(t){let n=new Map,r=t.until??Date.now(),o=(s,i,c)=>{let d=_e(s,i),u=n.get(d);u||(u={providerID:s,modelID:i,requests:0,input:0,output:0,cacheRead:0,cacheWrite:0,usd:0},n.set(d,u)),u.requests+=c.requests,u.input+=c.input,u.output+=c.output,u.cacheRead+=c.cacheRead,u.cacheWrite+=c.cacheWrite,u.usd+=c.usd};for(let s of this.ledger.usageRollup?.buckets??[])s.hour<t.since||s.hour>r||o(s.providerID,s.modelID,s);for(let s of this.ledger.usage)s.at<t.since||s.at>r||o(s.providerID,s.modelID,{...s,requests:1});return[...n.values()].sort((s,i)=>i.usd-s.usd)}prune(t=Date.now()){this.foldUsage(t),this.ledger.decisions.length>Zp&&(this.ledger.decisions=this.ledger.decisions.slice(0,Zp));let n=Object.values(this.ledger.sessions);n.length>qB&&n.sort((r,o)=>r.updatedAt-o.updatedAt).slice(0,n.length-qB).forEach(r=>delete this.ledger.sessions[r.sessionID])}export(){return this.prune(),structuredClone(this.ledger)}get lastDecision(){return this.ledger.decisions[0]}decisions(t=10){return this.ledger.decisions.slice(0,wr(t,1,Zp))}modelMetrics(t){return this.ledger.metrics.byModel[t]}sessionModelKey(t){return $d(this.ledger.sessions[t]?.lastModel)}};import{closeSync as qoe,constants as KB,fstatSync as Boe,openSync as joe,readFileSync as Hoe}from"node:fs";import{homedir as JB}from"node:os";import{join as ys}from"node:path";var zE="SMART_ROUTER_ALLOW_KEY_DISCOVERY",ZB=(e,t=process.env)=>{if(e)return e;let n=t[zE]?.trim().toLowerCase();return n==="1"||n==="true"||n==="yes"?"auto":"explicit"},zoe=64*1024,By=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),HE=(e,t)=>{for(let n of t){let r=e[n];if(typeof r=="string"&&r.trim().length>0)return r.trim()}},xs=e=>{let t=e.trim();return t.length<16||t.length>4096||/\s/.test(t)?!1:t.startsWith("sk-")||t.startsWith("vela_")?!0:!(/^[A-Za-z_][A-Za-z0-9_]*$/.test(t)&&!t.startsWith("user_")&&!t.startsWith("cmd_"))},Woe=(e,t)=>{for(let n of e.split(/\r?\n/)){let r=n.trim();if(!r||r.startsWith("#"))continue;let o=/^(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/.exec(r);if(!o)continue;let[,s,i]=o;if(!s||!t.includes(s))continue;let c=(i??"").trim();if((c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'"))&&(c=c.slice(1,-1)),xs(c))return c}},Koe=(e,t)=>{if(!By(e))return;let n=HE(e,["apiKey","key","access","token"]);if(n&&xs(n))return n;for(let r of t){let o=e[r];if(By(o)){let s=HE(o,["apiKey","key","access","token"]);if(s&&xs(s))return s}}for(let r of["providers","auth","credentials"]){let o=e[r];if(By(o))for(let s of t){let i=o[s];if(By(i)){let c=HE(i,["apiKey","key","access","token"]);if(c&&xs(c))return c}}}},QB={envNames:["COMMAND_CODE_API_KEY","COMMANDCODE_API_KEY"],jsonKeys:["commandcode","command-code","commandCode","command_code"],label:"Command Code"},Qp=(e,t,n,r=!1)=>{let o;try{o=joe(e,KB.O_RDONLY|KB.O_NOFOLLOW);let s=Boe(o);if(!s.isFile()){t.push(`${n.label} credential path is not a regular file: ${e}`);return}if(s.size>zoe){t.push(`${n.label} credential file is unexpectedly large: ${e}`);return}if((s.mode&63)!==0){t.push(`Ignoring ${n.label} credential file with group/world permissions: ${e}`);return}if(!r&&typeof process.getuid=="function"&&s.uid!==process.getuid()){t.push(`Ignoring ${n.label} credential file owned by another user: ${e}`);return}if(s.size===0)return;let i=Hoe(o,"utf8").trim();if(!i)return;let c;if(i.startsWith("{"))try{c=Koe(JSON.parse(i),n.jsonKeys)}catch(d){t.push(`Could not parse ${e}: ${$n(d instanceof Error?d.message:String(d))}`)}else i.includes("=")?c=Woe(i,n.envNames):xs(i)&&(c=i);if(!c){t.push(`No ${n.label} API key found in ${e}`);return}return{source:e,key:c,path:e}}catch(s){let i=s?.code;if(i==="ENOENT")return;if(i==="ELOOP"){t.push(`Ignoring ${n.label} credential path because it is a symlink: ${e}`);return}t.push(`Could not read ${e}: ${$n(s instanceof Error?s.message:String(s))}`);return}finally{if(o!==void 0)try{qoe(o)}catch{}}},Goe=(e,t)=>Qp(e,t,QB),YB=(e={})=>{let t=[],n=[],r=new Set,o=e.home??JB(),s=e.env??process.env,i=ZB(e.credentialSource,s),c=u=>{!u||r.has(u.key)||(r.add(u.key),n.push(u))},d=s.COMMAND_CODE_API_KEY?.trim()||s.COMMANDCODE_API_KEY?.trim();if(d&&xs(d)&&c({source:"environment",key:d}),e.explicitPath&&c(Qp(e.explicitPath,t,QB,!0)),i==="off")n.length===0&&t.push("Credential discovery is disabled, so no Command Code key was found. Set COMMAND_CODE_API_KEY or configure an explicit path.");else if(i==="auto"){let u=[ys(o,".commandcode","auth.json"),ys(o,".config","opencode","commandcode.key"),ys(o,".config","opencode","commandcode.env"),ys(o,".config","opencode","commandcode.json")];for(let l of u)c(Goe(l,t))}else n.length===0&&t.push(`No Command Code key was supplied. Automatic discovery is off by default; set ${zE}=1 to let the router read ${ys(o,".config","opencode","commandcode.key")}, or set COMMAND_CODE_API_KEY.`);return e.openCodeIntegrationKey&&xs(e.openCodeIntegrationKey)&&c({source:"OpenCode integration",key:e.openCodeIntegrationKey}),e.providerSettingsKey&&xs(e.providerSettingsKey)&&c({source:"OpenCode provider settings",key:e.providerSettingsKey}),{candidates:n,warnings:t}},GB={envNames:["OPENDESIGN_API_KEY","OPEN_DESIGN_API_KEY"],jsonKeys:["opendesign","open-design","openDesign","open_design"],label:"OpenDesign"},VB=e=>{let t=e.trim();return xs(t)?/^sk-[A-Za-z0-9._-]{8,}$/.test(t):!1},XB=(e={})=>{let t=[],n=[],r=new Set,o=e.home??JB(),s=e.env??process.env,i=ZB(e.credentialSource,s),c=u=>{!u||r.has(u.key)||VB(u.key)&&(r.add(u.key),n.push(u))},d=s.OPENDESIGN_API_KEY?.trim()||s.OPEN_DESIGN_API_KEY?.trim();if(d&&(VB(d)?c({source:"environment",key:d}):t.push("The OpenDesign environment key does not look like an inference key and was ignored.")),e.explicitPath&&c(Qp(e.explicitPath,t,GB,!0)),i==="off")n.length===0&&t.push("Credential discovery is disabled, so no OpenDesign key was found. Set OPENDESIGN_API_KEY or configure an explicit path.");else if(i==="auto"){let u=[ys(o,".config","opencode","opendesign.key"),ys(o,".config","opencode","opendesign.env"),ys(o,".config","opencode","opendesign.json")];for(let l of u)c(Qp(l,t,GB))}else n.length===0&&t.push(`No OpenDesign key was supplied. Automatic discovery is off by default; set ${zE}=1 to let the router read ${ys(o,".config","opencode","opendesign.key")}, or set OPENDESIGN_API_KEY.`);return e.providerSettingsKey&&c({source:"OpenCode provider settings",key:e.providerSettingsKey}),{candidates:n,warnings:t}},ej=(e={})=>{let t=[],n=[];if(!e.explicitPath)return t.push("No OpenDesign control key path is configured, so quota is reported as an estimate rather than a verified balance."),{candidates:n,warnings:t};let r=Qp(e.explicitPath,t,{envNames:["OPENDESIGN_CONTROL_KEY"],jsonKeys:["opendesign-control","opendesignControl","control"],label:"OpenDesign control"},!0);return r&&n.push(r),{candidates:n,warnings:t}},jd=e=>{if(!e)return"not found";if(e.path){let t=e.path.split("/").filter(r=>r.length>0);return`file (${t[t.length-1]??"file"})`}switch(e.source){case"environment":return"environment variable";case"OpenCode integration":return"OpenCode integration";case"OpenCode provider settings":return"OpenCode provider settings";default:return"configured"}};var jy=e=>{let{settings:t,mode:n,task:r,session:o,premium:s}=e;return r.tier===3||r.constraints.requestPremium?t.premium.mode==="off"?{allowed:!1,requiresApproval:!1,reason:"Premium routing is off in settings."}:n==="efficiency"?{allowed:!1,requiresApproval:!1,reason:"Maximum Efficiency locks premium models unless you select one manually."}:s.mode==="auto"?(s.planPoolRemainingUsd??0)>0?{allowed:!0,requiresApproval:!1,reason:"Auto escalation: the plan-model pool has remaining budget for premium-tier work."}:{allowed:!1,requiresApproval:!0,reason:s.planPoolRemainingUsd===void 0?"Auto escalation needs a resolvable plan-model pool (set providers.opendesign.plan); approval is required for this request.":"Auto escalation is out of plan-model budget; approval is required for this request."}:o?.premiumOneShot&&t.premium.oneShotApproval?{allowed:!0,requiresApproval:!1,reason:"A one-shot premium approval is active for this session."}:n==="premium"&&t.premium.mode==="allowed"&&s.remainingUsd>0?{allowed:!0,requiresApproval:!1,reason:"Premium Allowed mode has a remaining premium budget."}:s.remainingUsd>0&&t.premium.mode==="allowed"?{allowed:!1,requiresApproval:!0,reason:"Premium is available but requires this session's approval."}:{allowed:!1,requiresApproval:!0,reason:"Premium escalation is disabled or has no remaining budget; approval is required."}:{allowed:!1,requiresApproval:!1,reason:"Premium models are reserved for premium-tier work."}},Joe=e=>e?.error?/authoriz|authenticat|unauthorized|forbidden|401|403|credential/i.test(e.error):!1,Zoe=(e,t,n="",r=!1)=>{if(!e){let l=t.providers[n];return l?.enabled===!0&&l?.probeUsage===!0&&r?"Provider quota has not been probed yet; refusing rather than assuming it has room":void 0}let o=t.providers[e.providerID];if(!o)return;let s=o.reserveMonthlyPct,i=o.reserveWeeklyPct,c=o.reserveFiveHourPct,d=e.extraCredits?.totalUsd??0;if(!!(e.monthly.exceeded||e.weekly.exceeded||e.rolling.exceeded))return d>0&&o.allowExtraUsage?void 0:d>0?"Provider would spend purchased credits; automatic extra-credit use is disabled":"Provider allowance is exhausted";if(e.monthlyRemainingUsd!==void 0&&e.monthlyRemainingUsd<=0)return d>0&&o.allowExtraUsage?void 0:d>0?"Provider included credits are exhausted; automatic extra-credit use is disabled":"Provider allowance is exhausted";if(e.monthly.source!=="unknown"&&e.monthly.usedPct>=100-s)return"Provider monthly allowance is at or near its configured reserve";if(e.weekly.source!=="unknown"&&e.weekly.usedPct>=100-i)return"Provider weekly allowance is at or near its configured reserve";if(e.rolling.source!=="unknown"&&e.rolling.usedPct>=100-c)return"Provider five-hour allowance is at or near its configured reserve"},Qoe=(e,t)=>{if(!e)return;let n=t.providers[e.model.providerID];if(n){if(e.monthlyAllowanceUsd>0&&e.monthlyUsedPct>=100-n.reserveMonthlyPct)return"Estimated model monthly allowance is at or near its configured reserve";if(e.fiveHourCapUsd>0&&e.fiveHourUsedPct>=100-n.reserveFiveHourPct)return"Estimated model five-hour allowance is at or near its configured reserve";if(e.weeklyCapUsd>0&&e.weeklyUsedPct>=100-n.reserveWeeklyPct)return"Estimated model weekly allowance is at or near its configured reserve";if(e.blocked)return e.blockReason??"Estimated model allowance is exhausted"}},Yoe=(e,t,n)=>{if(!e||!t.providers[e.providerID]?.subscriptionOnly||n===void 0||!Number.isFinite(n)||n<=0)return;let o=[{label:"five-hour",window:e.rolling},{label:"weekly",window:e.weekly},{label:"monthly",window:e.monthly}];for(let{label:s,window:i}of o){if(i.source==="unknown")continue;let c=i.capUsd;if(c===void 0||c<=0)continue;let d=i.usedUsd??0,u=Math.max(0,c-d);if(n>u)return`Subscription-only policy: the projected request cost ($${n.toFixed(4)}) exceeds the remaining ${s} allowance ($${u.toFixed(2)})`}},Xoe=(e,t)=>{if(!e)return;let n=t.providers[e.providerID];if(!n)return;let r=e.quotaState??(e.source==="unknown"?"unknown":void 0);if(r!=="unknown"&&r!=="unavailable")return;let o=n.unknownQuotaPolicy??"route";if(o!=="route")return o==="ask"?"Provider quota state is unknown; the configured policy requires explicit approval before routing here":"Provider quota state is unknown; the configured policy blocks routing here"},ese=(e,t)=>e.offline?.enabled!==!0?!0:t.providerID!==Ld,Hd=e=>{let{model:t,task:n,settings:r,mode:o,providerQuota:s,modelQuota:i,premium:c}=e,d=[];if(!r.providers[t.providerID]?.enabled)return{eligible:!1,reason:"Provider is disabled in router settings",warnings:d};if(Joe(s))return{eligible:!1,reason:"Provider authentication is failing; fix the connection before routing here",warnings:d};let l=r.offline?.enabled===!0&&t.providerID===Ld;if(!t.approved&&!l)return{eligible:!1,reason:"Model is unclassified or not approved",warnings:d};if(t.training&&!r.privacy.allowTrainingModels)return{eligible:!1,reason:"Training-enabled model is blocked by privacy policy",warnings:d};if(t.free&&!r.privacy.allowFreeModels)return{eligible:!1,reason:"Free promotional model is blocked by privacy policy",warnings:d};if(n.requiresVision&&!t.inputModalities.includes("image"))return{eligible:!1,reason:"Task includes an image and this model has no native image input",warnings:d};if(!t.tools)return{eligible:!1,reason:"Model does not support tool calling",warnings:d};let p=Math.max(e.contextTokens,n.scope.promptTokens)+kE(t.context);if(t.context>0&&p>t.context*.95)return{eligible:!1,reason:`Context requirement ${p.toLocaleString()} exceeds this model's safe window`,warnings:d,rejectedFor:"context",contextRequiredTokens:p,contextWindowTokens:t.context};let f=n.tier>=2,g=ese(r,t),b=e.intelligenceFloor??r.routing.intelligenceFloor;if(f&&g&&t.intelligence<b)return{eligible:!1,reason:`Intelligence ${t.intelligence.toFixed(1)} is below the ${r.routing.intelligenceFloor.toFixed(1)} floor for substantive work`,warnings:d};if(n.tier<=1&&t.tier===3)return{eligible:!1,reason:"Premium models are not used for trivial or mechanical work",warnings:d};let S;if(n.designIntensive){let A=n.sophisticatedDesign?r.routing.sophisticatedDesignFloor:r.routing.designFloor;if(t.design<A)if(e.allowDesignRelaxation)S=A,d.push(`Design capability ${t.design} is below the preferred ${A} threshold; selected as the best available fallback`);else return{eligible:!1,reason:`Design capability ${t.design} is below the ${A} threshold`,warnings:d}}if(t.premium){if(!c.allowed)return{eligible:!1,reason:c.reason,warnings:d};if(n.tier<3&&!n.constraints.requestPremium)return{eligible:!1,reason:"Premium models are reserved for premium-tier work",warnings:d}}if(n.tier===3&&c.allowed&&!t.premium)return{eligible:!1,reason:"Premium-tier work escalates to the plan-model pool while escalation budget remains",warnings:d};if(t.escalationOnly&&e.escalationPoolProtected)return{eligible:!1,reason:"This model is funded from an escalation pool, and an ordinary-allowance route can serve this task",warnings:d};let y=Zoe(s,r,t.providerID,e.quotaIsKnown===!0);if(y)return{eligible:!1,reason:y,warnings:d};let I=Xoe(s,r);if(I)return{eligible:!1,reason:I,warnings:d};let v=Yoe(s,r,e.projectedUsd);if(v)return{eligible:!1,reason:v,warnings:d};let R=Qoe(i,r);return R?{eligible:!1,reason:R,warnings:d}:o==="efficiency"&&n.tier>=2&&t.tier===1?{eligible:!1,reason:"Economy models cannot handle substantive engineering in Maximum Efficiency mode",warnings:d}:S!==void 0?{eligible:!0,reason:`Eligible only as a design fallback: design ${t.design} is below the ${S} threshold`,warnings:d}:{eligible:!0,reason:"Meets every hard requirement",warnings:d}},tse=1440*60*1e3,nse={rolling:300*60*1e3,weekly:10080*60*1e3,monthly:720*60*60*1e3},rse=(e,t)=>{if(!e)return 0;let n=0;for(let r of["rolling","weekly","monthly"]){let o=e[r];if(!o||o.source==="unknown"||typeof o.resetsAt!="number")continue;let s=o.resetsAt-t;if(s<=0||s>tse||o.usedPct<=0||typeof o.usedUsd!="number"||typeof o.capUsd!="number"||o.capUsd<=0)continue;let i=nse[r],c=Math.max(0,i-s);if(c<.05*i)continue;let d=Math.max(0,o.capUsd-o.usedUsd);if(d<=0)continue;let l=o.usedUsd/c*s;n=Math.max(n,Math.min(1,Math.max(0,1-l/d)))}return n},WE=(e,t)=>{if(!e)return 1;let n=[e.rolling,e.weekly,e.monthly].filter(s=>s.source!=="unknown"&&typeof s.resetsAt=="number");if(n.length===0||!n.some(s=>s.remainingPct>0))return 1;let o=rse(e,t);return o<=0?1:1-ose*o},ose=.95,KE=(e,t=Date.now())=>{if(!e||e.monthly.source==="unknown"&&e.weekly.source==="unknown"&&e.rolling.source==="unknown")return 1.5;let r=e.monthly.source==="unknown"?0:e.monthly.usedPct,o=e.weekly.source==="unknown"?0:e.weekly.usedPct,s=e.rolling.source==="unknown"?0:e.rolling.usedPct;return 1+1.5*(r/100)**2+2.5*(o/100)**2+2.5*(s/100)**2+(e.stale?.15:0)},GE=e=>e?1+1.5*(e.monthlyUsedPct/100)**2+1*(e.fiveHourUsedPct/100)**2+1*(e.weeklyUsedPct/100)**2:1;var tj={deterministic:200,mechanical:300,docs:800,test:1e3,debug:1100,feature:1300,refactor:1500,security:1800,architecture:2e3,design:2400,unknown:1e3},sse={deterministic:1,mechanical:1,docs:1,test:2,debug:3,feature:3,refactor:3,security:3,architecture:3,design:3,unknown:2},nj=.85,ise=(e,t)=>{let n=[...e.cost].sort((o,s)=>(o.tier?.size??0)-(s.tier?.size??0)),r=n[0]??{input:0,output:0,cache:{read:0,write:0}};for(let o of n)o.tier?.type==="context"&&t>=o.tier.size&&(r=o);return r},ase=(e,t)=>{let n=new Date(e),r=n.getUTCDay();if(t.weekdaysOnly&&(r===0||r===6))return!1;let o=n.getUTCHours()+n.getUTCMinutes()/60+n.getUTCSeconds()/3600;return t.windowsUtc.some(s=>o>=s.startHour&&o<s.endHour)},VE=e=>{let{model:t,task:n}=e,r=Math.max(e.contextTokens,n.scope.promptTokens),o=e.currentModelKey===_e(t.providerID,t.modelID),s=sse[n.kind],i=ise(t,r),c=t.peakPricing&&ase(e.now??Date.now(),t.peakPricing)&&t.peakPricing.multiplier>0?t.peakPricing.multiplier:1,u=Math.min(tj[n.kind]*(n.tier===3?1.5:1),t.maxOutput||tj[n.kind])*s,l=o?nj:0,p=n.scope.promptTokens+r*(1-l)+r*.05*(s-1),f=r*l+r*.95*(s-1),g=(Number.isFinite(i.input)?i.input:0)*c,b=(Number.isFinite(i.output)?i.output:0)*c,S=(Number.isFinite(i.cache?.read)?i.cache?.read??0:0)*c,y=p*g/1e6+u*b/1e6+f*S/1e6,I=o?0:Math.max(0,r*nj*(g-S)/1e6),v=t.creditMultiplier&&t.creditMultiplier>0?t.creditMultiplier:1;return{usd:Math.max(0,y)*v,input:p,output:u,cacheRead:f,cacheWrite:0,switchPenaltyUsd:I*v,costTier:i,priceMultiplier:c,creditMultiplier:v}},rj={feature:"coding",debug:"debugging",refactor:"coding",design:"architecture",architecture:"architecture",security:"architecture",test:"coding",docs:void 0,deterministic:void 0,mechanical:void 0,unknown:void 0},cse={coding:60,debugging:68,agentic:55,architecture:80},oj=.04,dse=(e,t,n)=>{if(!t)return .95;let r=t.failures.filter(o=>o.class==="capability").length;return Math.max(.55,.95-r*.1)},sj=e=>{let{model:t,task:n}=e,r;if(n.tier<=1?r=t.tier===1?.93:.97:n.tier===2?r=t.tier===2?.94:.97:r=t.tier===3?.93:.7,t.training&&(r-=.05),n.designIntensive){let s=n.sophisticatedDesign?75:60;t.design<s&&(r*=.72)}if(t.capabilities&&rj[n.kind]){let s=rj[n.kind],i=t.capabilities[s];if(typeof i=="number"){let c=i-cse[s];r+=Math.max(-oj,Math.min(oj,c/500))}}let o=e.intelligenceFloor??39.5;if(n.tier>=2&&t.intelligence<o&&(r*=.7),t.context>0&&e.contextTokens>t.context*.8&&(r*=.9),t.context>0&&e.contextTokens>t.context*.95&&(r*=.6),r*=dse(t,e.session,_e(t.providerID,t.modelID))/.95,e.history&&e.history.requests>=3){let s=e.history.requests+e.history.failures,i=s>0?Math.max(0,e.history.requests)/s:1;r*=.6+.4*i}return Math.max(.2,Math.min(.99,r))},Yp=e=>e.premium,use=(e,t,n)=>{if(!e.settings.speed.enabled)return 1;let r=e.speed?.[t];if(!r||r.samples<e.settings.speed.minSamples||r.tokensPerSecond<=0||n<=0)return 1;let o=r.tokensPerSecond/n,s=Math.max(0,1-o),i=e.settings.speed.weightPct/100,c=1+s*i*2;return(o>0?1/o:e.settings.speed.slowRouteMultiple)>=e.settings.speed.slowRouteMultiple?c*(1+i):c},JE=(e,t)=>e.find(n=>n.providerID===t),ZE=(e,t)=>e?.models[_e(t.providerID,t.modelID)],lse=e=>({providerID:e.providerID,id:e.modelID}),ij=(e,t,n,r,o,s,i,c=1,d=1)=>{let u=r.usd*d*(1+(1-o)*2)*s*c;return{model:{providerID:t.providerID,modelID:t.modelID},name:t.name,tier:t.tier,eligible:n.eligible,reason:n.reason,estimatedUsd:r.usd,effectiveCost:u,successProbability:o,switchPenaltyUsd:r.switchPenaltyUsd,quotaPressure:s,retained:$d(e.current)===_e(t.providerID,t.modelID),creditMultiplier:r.creditMultiplier,speedFactor:c,marginalPriceFactor:d}},Xp=e=>{let t=e.now??Date.now(),n=(e.quota??[]).some(M=>M.monthly.source!=="unknown"||M.weekly.source!=="unknown"||M.rolling.source!=="unknown"),r=e.intelligenceFloor??e.settings.routing.intelligenceFloor,o=[],s=[],i=$d(e.current),c=jy({settings:e.settings,mode:e.mode,task:e.task,session:e.session,premium:e.premium}),d=e.settings.offline?.enabled?"offline":"online",u=e.models;if(d==="offline"){u=e.models.filter(F=>CE(F.providerID,d));let M=e.models.filter(F=>!CE(F.providerID,d));if(M.length>0){let F=[...new Set(M.map(B=>B.providerID))].sort();o.push(`Offline mode excluded ${M.length} hosted model${M.length===1?"":"s"} from ${F.join(", ")}.`)}if(u.length===0)return{decision:{id:kr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,switched:!1,switchReason:"Offline mode has no local model available. No hosted provider will be used.",reasons:["Offline mode is enabled and no offline-capable model is in the registry."],warnings:[...o,"Offline mode fails closed: configure a local model, or run `opencode-online` to restore hosted routing."],candidates:[],premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:0,needsPremiumApproval:!1,manualOverride:!1},premiumDecision:c}}if(e.runtime==="paused")return{decision:{id:kr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,switched:!1,switchReason:"Routing is paused; the current model is unchanged.",reasons:["Pause switch is active."],warnings:[],candidates:[],premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:0,needsPremiumApproval:!1,manualOverride:!1},premiumDecision:c};if(e.runtime==="manual")return{decision:{id:kr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,switched:!1,switchReason:"Manual model selection is active for this session; the router did not override it.",reasons:["Manual override respected."],warnings:[],candidates:[],premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:0,needsPremiumApproval:!1,manualOverride:!0},premiumDecision:c};let l=[],p=M=>{let F=M===1?{...e.task,sophisticatedDesign:!1}:e.task,B=0;for(let rt of u){let sn=e.speed?.[_e(rt.providerID,rt.modelID)];!sn||sn.samples<e.settings.speed.minSamples||sn.tokensPerSecond>B&&(B=sn.tokensPerSecond)}let Ae=rt=>{let sn=[];for(let ut of u){let No=JE(e.quota,ut.providerID),Qd=ZE(No,ut),Xy=_e(ut.providerID,ut.modelID),hT=e.cooldowns?.[Xy];if(typeof hT=="number"&&hT>t)continue;let gT=e.providerCooldowns?.[ut.providerID];if(typeof gT=="number"&&gT>t)continue;let uf=VE({model:ut,task:e.task,contextTokens:e.contextTokens,currentModelKey:i,now:t}),lo=Hd({intelligenceFloor:r,model:ut,task:F,settings:e.settings,mode:e.mode,contextTokens:e.contextTokens,providerQuota:No,quotaIsKnown:n,modelQuota:Qd,premium:c,currentModelKey:i,allowDesignRelaxation:M===2,projectedUsd:uf.usd,escalationPoolProtected:rt});if(!lo.eligible){lo.rejectedFor==="context"&&lo.contextRequiredTokens!==void 0&&lo.contextWindowTokens!==void 0&&l.push({model:ut,required:lo.contextRequiredTokens,window:lo.contextWindowTokens,usd:uf.usd,tier:ut.tier});continue}let yT=M===1&&e.task.sophisticatedDesign?`Standard design route: design ${ut.design} is below the sophisticated ${e.settings.routing.sophisticatedDesignFloor} threshold`:lo.reason,xT=yT===lo.reason?lo:{...lo,reason:yT},ST=sj({model:ut,task:e.task,contextTokens:e.contextTokens,session:e.session,currentModelKey:i,history:e.modelHistory?.[_e(ut.providerID,ut.modelID)],intelligenceFloor:r}),bT=KE(No,t)*GE(Qd),zj=use(e,_e(ut.providerID,ut.modelID),B),Wj=WE(No,t),Kj=ij(e,ut,xT,uf,ST,bT,i,zj,Wj);sn.push({model:ut,eligibility:xT,estimate:uf,probability:ST,pressure:bT,candidate:Kj})}return sn.sort((ut,No)=>ut.candidate.effectiveCost-No.candidate.effectiveCost)},Qe=Ae(!1);return!e.settings.routing.protectEscalationPool||e.task.tier>=3||!Qe.some(rt=>!rt.model.escalationOnly&&!rt.model.premium&&rt.probability>=.85)?Qe:Ae(!0)},f=p(0);f.length===0&&e.task.designIntensive&&(f=p(1),f.length>0&&o.push("No model met the sophisticated design threshold; using the best qualified standard design route.")),f.length===0&&e.task.designIntensive&&(f=p(2),f.length>0&&o.push("No model met the standard design floor; using the best available design-capable fallback."));let g=!1;if(f.length===0&&e.task.tier===3){let M={allowed:!1,requiresApproval:c.requiresApproval,reason:c.reason},F=u.filter(B=>!B.premium).map(B=>{let Ae=JE(e.quota,B.providerID),Qe=ZE(Ae,B),dn=_e(B.providerID,B.modelID),rt=e.cooldowns?.[dn];if(typeof rt=="number"&&rt>t)return;let sn=VE({model:B,task:e.task,contextTokens:e.contextTokens,currentModelKey:i,now:t}),ut=Hd({intelligenceFloor:r,model:B,task:{...e.task,designIntensive:!1,sophisticatedDesign:!1},settings:e.settings,mode:e.mode,contextTokens:e.contextTokens,providerQuota:Ae,quotaIsKnown:n,modelQuota:Qe,premium:M,currentModelKey:i,allowDesignRelaxation:!0,projectedUsd:sn.usd});if(!ut.eligible)return;let No=sj({model:B,task:e.task,contextTokens:e.contextTokens,session:e.session,currentModelKey:i,history:e.modelHistory?.[_e(B.providerID,B.modelID)],intelligenceFloor:r}),Qd=KE(Ae,t)*GE(Qe),Xy=WE(Ae,t);return{model:B,eligibility:ut,estimate:sn,probability:No,pressure:Qd,candidate:ij(e,B,ut,sn,No,Qd,i,1,Xy)}}).filter(B=>!!B).sort((B,Ae)=>B.candidate.effectiveCost-Ae.candidate.effectiveCost);F.length>0&&(f=F,g=!0,o.push("Premium is unavailable; selected the best qualified standard fallback."))}if(f.length===0)return o.push("No approved model meets every hard requirement; the current model was left unchanged."),{decision:{id:kr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,switched:!1,switchReason:"No eligible route was found; the router failed closed and kept the current model.",reasons:[...e.task.reasons,...o],warnings:o,candidates:[],premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:0,needsPremiumApproval:c.requiresApproval,manualOverride:!1,...e.lastError?{error:Be(e.lastError)}:{}},premiumDecision:c};let b=f[0],S=i?f.find(M=>_e(M.model.providerID,M.model.modelID)===i):void 0,y=e.contextTokens>=e.settings.routing.largeContextTokens,I=y?e.settings.routing.largeContextHysteresisPct:e.settings.routing.switchHysteresisPct,v=b,R=!1;if(S&&S.model.tier>=e.task.tier&&S.candidate.eligible){let M=S.candidate.effectiveCost-b.candidate.effectiveCost,F=S.candidate.effectiveCost*(I/100);b.model!==S.model&&M<F&&(v=S,R=!0)}let A=lse(v.model),x=!(i===_e(v.model.providerID,v.model.modelID)),w=c.requiresApproval&&(e.task.tier===3||e.task.constraints.requestPremium)&&e.settings.premium.mode!=="off"&&e.mode!=="efficiency";if(e.task.tier===3&&!c.allowed&&e.mode!=="efficiency"&&e.settings.premium.mode!=="off"){let M=u.filter(F=>F.premium&&F.approved).map(F=>{let B=JE(e.quota,F.providerID),Ae=ZE(B,F);if(!Hd({intelligenceFloor:r,model:F,task:e.task,settings:e.settings,mode:e.mode,contextTokens:e.contextTokens,providerQuota:B,modelQuota:Ae,premium:{allowed:!0,requiresApproval:!0,reason:"Premium suggestion"},currentModelKey:i,allowDesignRelaxation:!1}).eligible)return;let dn=VE({model:F,task:e.task,contextTokens:e.contextTokens,currentModelKey:i,now:t});return{model:F,estimate:dn}}).filter(F=>!!F).sort((F,B)=>{if(e.task.designIntensive||e.task.sophisticatedDesign){if(B.model.design!==F.model.design)return B.model.design-F.model.design}else if(B.model.intelligence!==F.model.intelligence)return B.model.intelligence-F.model.intelligence;return F.estimate.usd-B.estimate.usd})[0];M&&o.push(`Premium route suggested: ${M.model.name} (${Rt(M.estimate.usd)} estimated). Approve once with /router-approve or set a premium budget.`)}g&&o.push("This task is premium-tier, but automatic premium escalation is unavailable."),y&&x&&o.push("Large context detected; switching increases fresh-input cost because prompt cache is model-specific.");let E=l.filter(M=>(M.model.providerID!==v.model.providerID||M.model.modelID!==v.model.modelID)&&M.tier>=v.model.tier&&M.usd<v.candidate.estimatedUsd),T=E.find(M=>e.current?.providerID===M.model.providerID&&e.current?.id===M.model.modelID)??[...E].sort((M,F)=>M.usd-F.usd)[0];if(T){let F=T.model.name===v.model.name?`${T.model.name} on ${T.model.providerID}`:T.model.name;o.push(`${F} was skipped for this turn: the transcript needs about ${vE(T.required)} tokens of context and that model's window is ${vE(T.window)}. Start a new session to route to it again.`)}v.model.premium&&s.push(`Premium route approved: ${v.model.name}.`),R?s.push(`Kept ${S.model.name} for cache affinity; the estimated savings were below the ${I}% switch threshold.`):x?s.push(`Selected ${v.model.name} as the least-cost qualified route after expected retries and quota pressure (${Rt(v.candidate.estimatedUsd)} estimated raw cost, ${Rt(v.candidate.effectiveCost)} expected).`):s.push(`Already on ${v.model.name}, the least-cost qualified route.`);let _=e.quota.filter(M=>M.source==="provider").map(M=>`${M.label}: ${M.rolling.usedPct.toFixed(0)}% 5h, ${M.weekly.usedPct.toFixed(0)}% weekly, ${M.monthly.usedPct.toFixed(0)}% monthly`);s.push(..._);let j=v,se=f.sort((M,F)=>M.candidate.effectiveCost-F.candidate.effectiveCost).filter((M,F)=>F<12||M===j).map(M=>({...M.candidate,retained:R?M.model===S?.model:M.model===v.model}));S&&!se.some(M=>M.model.providerID===S.model.providerID&&M.model.modelID===S.model.modelID)&&se.push({...S.candidate,retained:R});let he=x?e.dryRun?`Dry run: would switch to ${v.model.name}.`:`Switch to ${v.model.name}.`:R?"Kept the current model for cache affinity.":"The current model already is the least-cost qualified route.";return{decision:{id:kr("dec"),at:t,sessionID:e.session?.sessionID??"unknown",mode:e.mode,dryRun:e.dryRun,runtime:e.runtime,task:e.task,current:e.current,chosen:A,switched:x&&!e.dryRun,switchReason:he,reasons:[...e.task.reasons,...s],warnings:o,candidates:se,premium:Yp(e),quota:e.quota,contextTokens:e.contextTokens,cachedTokens:e.cachedTokens,estimatedUsd:v.candidate.estimatedUsd,needsPremiumApproval:w,manualOverride:!1,...e.lastError?{error:Be(e.lastError)}:{}},chosenModel:v.model,premiumDecision:c}};var QE=(e,t)=>{let n=e.routing.intelligenceFloor,r=pse(e),o={floor:n,calibrated:!1,baselineUsdPerRequest:null,reason:"using the configured floor",admittedUsdPerRequest:null};if(e.routing.calibrateFloor!==!0)return o;let s=fse({...t,settings:e,configuredFloor:n});return r?o:s},pse=e=>e.offline?.enabled===!0,fse=e=>{let t=e.configuredFloor,n=e.usage??[],r=0,o=0;for(let p of n)!Number.isFinite(p.usd)||p.usd<0||!Number.isFinite(p.requests)||p.requests<=0||(r+=p.usd,o+=p.requests);if(o<5)return{floor:t,calibrated:!1,baselineUsdPerRequest:null,reason:`not enough recorded traffic to calibrate (${o} of 5 requests)`,admittedUsdPerRequest:null};let s=r/o;if(!Number.isFinite(s)||s<=0)return{floor:t,calibrated:!1,baselineUsdPerRequest:null,reason:"recorded traffic has no measurable cost, so there is nothing to calibrate against",admittedUsdPerRequest:null};let i=s*1.05,c=mse(n),d=e.models.filter(p=>!p.escalationOnly&&!p.premium).filter(p=>p.intelligence>0).map(p=>{let f=c.get(`${p.providerID}/${p.modelID}`);return f===void 0?void 0:{model:p,cost:f}}).filter(p=>p!==void 0).filter(p=>p.cost<=i).sort((p,f)=>f.model.intelligence-p.model.intelligence);if(d.length===0)return{floor:t,calibrated:!1,baselineUsdPerRequest:s,reason:"every model with recorded traffic costs more than the measured baseline, so no threshold could be met",admittedUsdPerRequest:null};let u=d[0];return{floor:Math.min(t,Math.max(u.model.intelligence,t-12)),calibrated:!0,baselineUsdPerRequest:s,reason:`${u.model.providerID}/${u.model.modelID} costs $${u.cost.toFixed(4)} per request against a measured baseline of $${s.toFixed(4)}`,admittedUsdPerRequest:u.cost}},mse=e=>{let t=new Map;for(let n of e)!Number.isFinite(n.usd)||n.usd<0||!Number.isFinite(n.requests)||n.requests<=0||t.set(`${n.providerID}/${n.modelID}`,n.usd/n.requests);return t};import{existsSync as hse}from"node:fs";import{homedir as gse}from"node:os";import{join as yse}from"node:path";var xse=(e=gse())=>yse(e,".local","share","opencode","opencode.db"),ef=e=>{let t=typeof e=="number"?e:typeof e=="string"?Number(e):NaN;return Number.isFinite(t)&&t>=0?t:0},Sse=e=>{let t;try{t=typeof e.data=="string"?JSON.parse(e.data):e.data}catch{return}if(!t||typeof t!="object"||t.role!=="assistant")return;let n=typeof t.providerID=="string"?t.providerID:void 0,r=typeof t.modelID=="string"?t.modelID:void 0,o=typeof t.time?.created=="number"?t.time.created:void 0;if(!n||!r||o===void 0)return;let s=ef(t.cost),i=t.tokens??{},c={id:String(e.id??`${n}:${r}:${o}`),at:o,providerID:n,modelID:r,cost:s,input:ef(i.input),output:ef(i.output),cacheRead:ef(i.cache?.read),cacheWrite:ef(i.cache?.write)};if(!(c.cost===0&&c.input+c.output+c.cacheRead+c.cacheWrite===0))return c},aj=(e={})=>{let t=e.dbPath??xse(e.home);if(!hse(t))return{entries:[],reason:"No OpenCode database found on this machine",dbPath:t};let n;try{({DatabaseSync:n}=Vj("node:sqlite"))}catch{return{entries:[],reason:"This Node build has no node:sqlite; history import is unavailable",dbPath:t}}if(!n)return{entries:[],reason:"node:sqlite is unavailable; history import is skipped",dbPath:t};let r;try{r=new n(t,{readOnly:!0})}catch(o){return{entries:[],reason:`Could not open the history database read-only (${o instanceof Error?o.message:String(o)})`,dbPath:t}}try{let o=Math.max(1,Math.min(e.limit??5e3,5e4)),s=e.sinceMs,i=s?"SELECT id, data FROM message WHERE time_created >= ? ORDER BY time_created DESC LIMIT ?":"SELECT id, data FROM message ORDER BY time_created DESC LIMIT ?",c=r.prepare(i),d=s?c.all(s,o):c.all(o),u=[];for(let l of d){let p=Sse(l);p&&u.push(p)}return{entries:u,dbPath:t}}catch(o){return{entries:[],reason:`Could not read history (${o instanceof Error?o.message:String(o)})`,dbPath:t}}finally{try{r.close()}catch{}}};var bse="https://api.commandcode.ai",vse=8e3,Ise=1e6,wse="opencode-smart-router/0.1",cj={"individual-go":10,"individual-go-v1":10,"individual-goat":70,"individual-pro":30,"individual-pro-v1":80,"individual-provider":15,"individual-max":150,"individual-ultra":300,"teams-pro":40},kse={"individual-go":"Go","individual-go-v1":"Go","individual-goat":"GOAT","individual-pro":"Pro","individual-pro-v1":"Pro","individual-provider":"Provider","individual-max":"Max","individual-ultra":"Ultra","teams-pro":"Teams Pro"},Wa=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ka=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t=e.trim().replace(/^\$/,"").replaceAll(",","");if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}},nf=e=>{if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e>=1e12?e:e*1e3;if(typeof e=="string"){let t=e.trim();if(!t)return;if(/^\d+$/.test(t))return nf(Number(t));let n=Date.parse(t);return Number.isFinite(n)?n:void 0}},li=(e,t)=>Wa(e)?e[t]:void 0,dj=e=>{if(!Wa(e))return;let t=Ka(e.used),n=Ka(e.cap);if(!(t===void 0||n===void 0||n<=0))return{usedPct:jt(t,n),remainingPct:wr(100-jt(t,n),0,100),usedUsd:t,capUsd:n,resetsAt:nf(e.resetAt),exceeded:e.exceeded===!0||t>=n,source:"provider"}},zd={usedPct:0,remainingPct:100,source:"unknown"},Hy=async(e,t,n,r)=>{let o=new AbortController,s=setTimeout(()=>o.abort(),r);try{let i=await e(`${bse}${t}`,{method:"GET",headers:{Authorization:`Bearer ${n}`,Accept:"application/json","User-Agent":wse},redirect:"error",signal:o.signal});if(!i.ok){let d=Number(i.headers.get("retry-after"));return{status:i.status,error:`HTTP ${i.status}`,retryAfterMs:Number.isFinite(d)?Math.min(Math.max(0,d*1e3),15*6e4):void 0}}let c=await i.text();if(c.length>Ise)return{status:i.status,error:"Response body too large"};try{return{status:i.status,body:JSON.parse(c)}}catch{return{status:i.status,error:"Invalid JSON response"}}}catch(i){return{status:0,error:o.signal.aborted?"Request timed out":$n(i instanceof Error?i.message:String(i))}}finally{clearTimeout(s)}},Ese=e=>{if(!Wa(e)||e.success===!1)return;let t=e.user,n=e.org;return{orgID:Wa(n)&&typeof n.id=="string"?n.id:void 0,userName:Wa(t)&&typeof t.userName=="string"?t.userName:void 0}},Tse=e=>{let t=li(e,"data");return Wa(t)?{planID:typeof t.planId=="string"?t.planId:void 0,status:typeof t.status=="string"?t.status:void 0,periodStart:nf(t.currentPeriodStart),periodEnd:nf(t.currentPeriodEnd)}:{}},Ase=e=>{let t=li(e,"credits"),n=li(e,"windowLimits");return{monthlyRemaining:Ka(li(t,"monthlyCredits")),purchased:Ka(li(t,"purchasedCredits")),free:Ka(li(t,"freeCredits")),fiveHour:dj(li(n,"fiveHour")),weekly:dj(li(n,"weekly"))}},Rse=e=>Wa(e)?{used:Ka(e.totalMonthlyCredits)??Ka(e.totalCost),periodStart:nf(e.periodStart),basis:typeof e.periodBasis=="string"?e.periodBasis:void 0}:{},uj=(e,t)=>t?`${e}?orgId=${encodeURIComponent(t)}`:e,Ose=(e,t)=>{let n=[];return e&&n.push(`orgId=${encodeURIComponent(e)}`),t&&n.push(`since=${encodeURIComponent(new Date(t).toISOString())}`),n.length>0?`/alpha/usage/summary?${n.join("&")}`:"/alpha/usage/summary"},tf=(e,t,n,r)=>({providerID:"commandcode",label:"Command Code",plan:e.settings.plan,source:"unknown",fetchedAt:t,stale:!1,rolling:zd,weekly:zd,monthly:zd,models:{},notes:[],error:n,...r!==void 0?{retryAfterMs:r}:{}}),Cse=e=>YB({home:e.home,env:e.env,explicitPath:e.explicitPath??e.settings.credentialPath,openCodeIntegrationKey:e.openCodeIntegrationKey,providerSettingsKey:e.providerSettingsKey,...e.settings.credentialSource?{credentialSource:e.settings.credentialSource}:{}}).candidates.slice(0,4),lj=async e=>{let t=e.now?.()??Date.now(),n=e.fetchImpl??fetch,r=e.timeoutMs??vse,o=Cse(e),s=[];if(o.length===0)return{snapshot:tf(e,t,"No Command Code credential was found that is authorized for billing"),triedSources:s};let i,c,d="";for(let F of o){s.push(jd(F));let B=await Hy(n,"/alpha/whoami?limits=1",F.key,r);if(B.status===200){let Ae=Ese(B.body);if(Ae){i=Ae,c=F;break}d="Unrecognized identity response";continue}if(B.status===429)return{snapshot:tf(e,t,"Command Code billing API is rate limited",B.retryAfterMs),triedSources:s};d=B.error??`HTTP ${B.status}`}if(!c)return{snapshot:tf(e,t,`No authorized Command Code billing credential found (${d||"authentication failed"})`),triedSources:s};let u=i?.orgID,[l,p]=await Promise.all([Hy(n,uj("/alpha/billing/credits",u),c.key,r),Hy(n,uj("/alpha/billing/subscriptions",u),c.key,r)]);if(l.status===429||p.status===429)return{snapshot:tf(e,t,"Command Code billing API is rate limited",l.retryAfterMs??p.retryAfterMs),credentialSource:jd(c),triedSources:s};if(l.status===401||l.status===403||p.status===401||p.status===403)return{snapshot:tf(e,t,"Command Code rejected the billing credential"),credentialSource:jd(c),triedSources:s};let f=l.status===200?Ase(l.body):void 0,g=p.status===200?Tse(p.body):void 0,b=g?.periodStart,S=await Hy(n,Ose(u,b),c.key,r),y=S.status===200?Rse(S.body):void 0,I=g?.planID??e.settings.plan,v=f?.monthlyRemaining,A=y?.used!==void 0&&(y.basis==="billing-period"||y.periodStart!==void 0&&b!==void 0&&y.periodStart===b)?y?.used:void 0,k=e.settings.monthlyCreditsUsd&&e.settings.monthlyCreditsUsd>0?e.settings.monthlyCreditsUsd:void 0,x=f?.fiveHour?.capUsd!==void 0&&f.fiveHour.capUsd>0?f.fiveHour.capUsd/.2:f?.weekly?.capUsd!==void 0&&f.weekly.capUsd>0?f.weekly.capUsd/.5:void 0,w=x??cj[I]??k,E=w??(v!==void 0&&A!==void 0?v+A:void 0),T=v!==void 0&&E!==void 0?Math.max(0,E-v):A,_=T!==void 0&&E&&E>0?jt(T,E):0,j=v!==void 0&&E!==void 0?{usedPct:_,remainingPct:wr(100-_,0,100),usedUsd:T,capUsd:E,resetsAt:g?.periodEnd,exceeded:v<=0,source:"provider"}:zd,se=f?.purchased!==void 0||f?.free!==void 0?{purchasedUsd:f?.purchased??0,freeUsd:f?.free??0,totalUsd:(f?.purchased??0)+(f?.free??0)}:void 0,he=["Provider-reported from Command Code's read-only alpha billing endpoints; polling consumes no credits."];if(w!==void 0){let F=x!==void 0?"the provider's 5-hour/weekly window caps":cj[I]!==void 0?"the plan registry":"the configured monthly allowance";he.push(`Monthly allowance is derived from ${F}; provider-reported remaining credits are authoritative.`)}else v!==void 0&&A!==void 0&&he.push("Monthly grant is the sum of remaining included credits and billing-period usage because no plan allowance was available.");if(v!==void 0&&A!==void 0&&T!==void 0){let F=A-T;Math.abs(F)>=.005&&he.push(`Billing-period usage summary differs from the credit balance by $${F.toFixed(4)}; remaining credits are authoritative.`)}S.status!==200&&he.push(`Usage summary unavailable (${S.error??S.status}).`),l.status!==200&&he.push(`Credit windows unavailable (${l.error??l.status}).`),he.push(`Credential source: ${jd(c)}`);let Te=kse[I]??I,M=l.status!==200&&p.status!==200&&S.status!==200?"Command Code billing endpoints returned no usable data":void 0;return{snapshot:{providerID:"commandcode",label:`Command Code ${Te}`,plan:Te,source:f||g||y?"provider":"unknown",fetchedAt:t,stale:!1,rolling:f?.fiveHour??zd,weekly:f?.weekly??zd,monthly:j,monthlyGrantUsd:E,monthlyRemainingUsd:v,extraCredits:se,planStatus:g?.status,periodStart:g?.periodStart,periodEnd:g?.periodEnd,models:{},notes:he,error:M},credentialSource:jd(c),triedSources:s}};var Dse="https://opencode.ai/zen/go/v1/usage",Pse="opencode-smart-router/0.1",Mse=256e3,XE=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),_se=e=>{if(typeof e!="string")return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0},YE=e=>{if(!XE(e))return;let t=e.percent;if(typeof t!="number"||!Number.isFinite(t))return;let n=wr(t,0,100);return{usedPct:n,remainingPct:wr(100-n,0,100),resetsAt:_se(e.resetsAt),exceeded:n>=100,source:"provider"}},Kd={usedPct:0,remainingPct:100,source:"unknown"},Wd=(e,t,n,r)=>({providerID:"opencode-go",label:e.settings.plan==="go-plus"?"OpenCode Go Plus":"OpenCode Go",plan:hs(co("opencode-go",e.settings.plan)?.planID,e.settings.plan),source:"unknown",fetchedAt:t,stale:!1,rolling:Kd,weekly:Kd,monthly:Kd,models:{},notes:["Usage endpoint is read-only and consumes no inference allowance."],error:n,...r!==void 0?{retryAfterMs:r}:{}}),pj=async e=>{let t=e.now?.()??Date.now(),n=e.fetchImpl??fetch,r=e.timeoutMs??8e3;if(!e.accessToken)return{snapshot:Wd(e,t,"No OpenCode Go access token is available")};let o=new AbortController,s=setTimeout(()=>o.abort(),r);try{let i=await n(Dse,{method:"GET",headers:{Authorization:`Bearer ${e.accessToken}`,Accept:"application/json","User-Agent":Pse},redirect:"error",signal:o.signal});if(!i.ok){let S=Number(i.headers.get("retry-after")),y=Number.isFinite(S)&&S>=0?Math.min(S*1e3,15*6e4):void 0;return{snapshot:Wd(e,t,`Usage endpoint returned HTTP ${i.status}`,y)}}let c=await i.text();if(c.length>Mse)return{snapshot:Wd(e,t,"Usage response was unexpectedly large")};let d=JSON.parse(c),u=XE(d)?d.usage:void 0;if(!XE(u))return{snapshot:Wd(e,t,"Unrecognized usage response")};let l=YE(u.rolling),p=YE(u.weekly),f=YE(u.monthly);if(!l&&!p&&!f)return{snapshot:Wd(e,t,"Usage response contained no recognized meters")};let g=["Provider-reported OpenCode Go usage.","Read-only probe; no inference request is made."];return{snapshot:{providerID:"opencode-go",label:e.settings.plan==="go-plus"?"OpenCode Go Plus":"OpenCode Go",plan:hs(co("opencode-go",e.settings.plan)?.planID,e.settings.plan),source:"provider",fetchedAt:t,stale:!1,rolling:l??Kd,weekly:p??Kd,monthly:f??Kd,models:{},notes:g}}}catch(i){return{snapshot:Wd(e,t,o.signal.aborted?"Usage request timed out":$n(i instanceof Error?i.message:String(i)))}}finally{clearTimeout(s)}};var Use="opendesign",eT="https://amr-link.open-design.ai/v1",Gd="https://amr-api.open-design.ai/api",Vbe=50*1024*1024,Nse=15e3,Fse=2*1024*1024,tT="opencode-smart-router/0.1";var mj=e=>e==="localhost"||e==="127.0.0.1"||e==="::1"||e==="[::1]",nT=e=>{let t=(e??"").trim();if(!t)return eT;let n;try{n=new URL(t)}catch{return eT}if(n.protocol!=="https:"&&!(n.protocol==="http:"&&mj(n.hostname)))return eT;let r=n.pathname.replace(/\/+$/,"");return r===""&&(r="/v1"),n.pathname=r,n.search="",n.hash="",n.toString().replace(/\/+$/,"")},$se=e=>`${nT(e)}/models`;var Wy=(e,t)=>{let n=(e??"").trim().replace(/\/+$/,"")||Gd,r=t.startsWith("/")?t:`/${t}`;return`${n}${r}`},hj=e=>{let t=(e??"").trim();if(!t)return Gd;try{let n=new URL(t);if(n.protocol!=="https:"&&!(n.protocol==="http:"&&mj(n.hostname)))return Gd;let r=n.pathname.replace(/\/+$/,"");return r===""&&(r="/api"),n.pathname=r,n.search="",n.hash="",n.toString().replace(/\/+$/,"")}catch{return Gd}},gj=e=>e===401||e===403?"auth":e===429?"rate_limit":e===404?"capability":e===413?"invalid_request":e>=500?"provider_outage":e>=400?"invalid_request":"unknown";var zy=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Lse=/^[A-Za-z0-9._:/-]{1,128}$/,fj=e=>{switch(e.trim().toLowerCase()){case"image":case"images":return"image";case"file":case"files":case"pdf":return"pdf";case"audio":return"audio";case"video":return"video";default:return"text"}},qse=e=>{if(!zy(e))return;let t=typeof e.id=="string"?e.id.trim():"";if(!t||!Lse.test(t))return;let n=zy(e.architecture)?e.architecture:void 0,r=zy(e.metadata)?e.metadata:void 0,o=Array.isArray(n?.input_modalities)?n.input_modalities.filter(p=>typeof p=="string"):[],s=Array.isArray(n?.output_modalities)?n.output_modalities.filter(p=>typeof p=="string"):[],i=o.length>0?[...new Set(o.map(fj))]:["text"],c=s.length>0?[...new Set(s.map(fj))]:["text"],d=Number(r?.context_limit),u=Number(r?.context_budget),l=Number(r?.output_budget);return{id:t,name:typeof e.name=="string"&&e.name.trim()?e.name.trim():t,contextLimit:Number.isFinite(d)&&d>0?d:0,...Number.isFinite(u)&&u>0?{contextBudget:u}:{},...Number.isFinite(l)&&l>0?{outputBudget:l}:{},inputModalities:i,outputModalities:c,...typeof r?.capability=="string"?{capability:r.capability}:{},...typeof r?.cost=="string"?{priceTier:r.cost}:{},enabled:e.enabled!==!1,default:e.default===!0}},Ky=async e=>{let t=e.now?.()??Date.now(),n=e.fetchImpl??fetch;if(!e.apiKey)return{ok:!1,models:[],error:"No OpenDesign API key is available",fetchedAt:t};let r=new AbortController,o=setTimeout(()=>r.abort(),e.timeoutMs??Nse);try{let s=await n($se(e.baseURL??""),{method:"GET",headers:{authorization:`Bearer ${e.apiKey}`,accept:"application/json","user-agent":tT},redirect:"error",signal:r.signal});if(!s.ok){let l=Number(s.headers.get("retry-after")),p=Number.isFinite(l)&&l>=0?Math.min(l*1e3,15*6e4):void 0;return{ok:!1,models:[],error:`Model discovery returned HTTP ${s.status}`,status:s.status,failureClass:gj(s.status),...p!==void 0?{retryAfterMs:p}:{},fetchedAt:t}}let i=await s.text();if(i.length>Fse)return{ok:!1,models:[],error:"Model discovery response was unexpectedly large",failureClass:"invalid_request",fetchedAt:t};let c;try{c=JSON.parse(i)}catch{return{ok:!1,models:[],error:"Model discovery returned a malformed response",failureClass:"invalid_request",fetchedAt:t}}let d=zy(c)&&Array.isArray(c.data)?c.data:void 0;return d?{ok:!0,models:d.map(qse).filter(l=>!!l).filter(l=>l.enabled),fetchedAt:t}:{ok:!1,models:[],error:"Model discovery response did not contain a model list",failureClass:"invalid_request",fetchedAt:t}}catch(s){return{ok:!1,models:[],error:r.signal.aborted?"Model discovery timed out":$n(s instanceof Error?s.message:String(s)),failureClass:(r.signal.aborted,"network"),fetchedAt:t}}finally{clearTimeout(o)}},Bse=new Set(["deepseek-v4.1-flash"]),yj=(e,t=Use)=>{let n=[];for(let r of e){let o=qd.get(r.id),s=r.contextLimit>0?r.contextLimit:0,c=Bse.has(r.id)?s:r.contextBudget??s,d=c>0&&(s===0||c<=s)?c:s>0?s:o?.context??OB,u=r.outputBudget??o?.maxOutput??NE,l=o?.cost??[{input:0,output:0,cache:{read:0,write:0}}];n.push({id:r.id,providerID:t,name:r.name,limit:{context:d,output:u},capabilities:{tools:!0,input:r.inputModalities,output:r.outputModalities},cost:l.map(p=>({input:p.input,output:p.output,cache:{read:p.cache?.read??0,write:p.cache?.write??0}})),enabled:r.enabled})}return n};var jse=5,xj=20,Hse=.25,Sj=(e,t="opendesign")=>{let n=[];for(let r of e){if(r.providerID!==t||r.usd<=0||r.input+r.output+r.cacheRead+r.cacheWrite===0)continue;let o=rT({modelID:r.modelID,input:r.input,output:r.output,cacheRead:r.cacheRead,cacheWrite:r.cacheWrite,multiplierApplies:!0}).creditsUsd;if(o<=0)continue;let s=gs(r.modelID).multiplier;n.push({modelID:r.modelID,computedUsd:o,reportedUsd:r.usd*s})}return n},zse=(e,t={})=>{let n=t.baselineMarginPct??xj;if(e.length===0)return{samples:0,ratio:1,meanErrorPct:0,suggestedMarginPct:n,trustworthy:!1};let r=0,o=0,s=0;for(let p of e)r+=p.computedUsd,o+=p.reportedUsd,s+=Math.abs(p.reportedUsd-p.computedUsd)/p.computedUsd;let i=r>0?o/r:1,c=s/e.length*100,d=e.length>=jse,u=d?Math.max(5,Math.round(c)):n,l=Math.abs(i-1)>Hse;return{samples:e.length,ratio:i,meanErrorPct:c,suggestedMarginPct:u,trustworthy:d,...l?{warning:`Charges are ${(i*100).toFixed(0)}% of what the catalog predicts across ${e.length} requests. That looks like a price error rather than noise, so the margin was not narrowed. Check the model catalog against the published prices.`}:{}}},bj=(e,t)=>{let n=zse(e,t!==void 0?{baselineMarginPct:t}:{});return n.warning?t??xj:n.suggestedMarginPct};var vj=1e4,Wse=20,Ij=300*60*1e3,iT=10080*60*1e3,cT=720*60*60*1e3,wj=cT,Jd={usedPct:0,remainingPct:100,source:"unknown"},rf=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Ga=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t=Number(e);if(Number.isFinite(t))return t}},aT=e=>{if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"){let t=Date.parse(e);if(Number.isFinite(t))return t}},rT=e=>{let n=qd.get(e.modelID)?.cost?.[0],r=gs(e.modelID,{now:e.now,...e.multiplierOverrides?{overrides:e.multiplierOverrides}:{}}),o=e.multiplierApplies!==!1,s=o?r.multiplier:1;if(!n)return{creditsUsd:0,multiplier:s,evidence:"no-price"};let i=(n.input*Math.max(0,e.input)+n.output*Math.max(0,e.output)+(n.cache?.read??0)*Math.max(0,e.cacheRead)+(n.cache?.write??0)*Math.max(0,e.cacheWrite??0))/1e6;return{creditsUsd:Math.max(0,i)*s,multiplier:s,evidence:o?r.evidence:"configured"}},Kse=(e,t)=>t!==void 0&&Number.isFinite(t)&&t>e?t-iT:e-iT,Gse=(e,t,n,r,o,s,i)=>{let c=n-Ij,d=Kse(n,i),u=n-wj,l=0,p=0,f=0,g=0,b={},S=v=>b[v]??={rollingUsd:0,weeklyUsd:0,monthlyUsd:0};for(let v of e){if(v.providerID!==t)continue;let R=o?o.pools.find(_=>_.id===cr):void 0,A=o?o.pools.find(_=>_.id===Er):void 0,x=!!R&&!lB(o,v.modelID)?cr:A?Er:cr,w=v.usd>0?v.usd:void 0,E=w!==void 0&&x===cr?w*gs(v.modelID,{now:n,...s?{overrides:s}:{}}).multiplier:w!==void 0?w:rT({modelID:v.modelID,input:v.input,output:v.output,cacheRead:v.cacheRead,cacheWrite:v.cacheWrite,now:n,multiplierApplies:x===cr,...s?{multiplierOverrides:s}:{}}).creditsUsd;if(E<=0)continue;g+=1;let T=S(x);v.at>=c&&(l+=E,T.rollingUsd+=E),v.at>=d&&(p+=E,T.weeklyUsd+=E),v.at>=u&&(f+=E,T.monthlyUsd+=E)}let y=1+Math.max(0,r)/100,I=v=>v*y;return{rollingUsd:I(l),weeklyUsd:I(p),monthlyUsd:I(f),observedRequests:g,byPool:Object.fromEntries(Object.entries(b).map(([v,R])=>[v,{rollingUsd:I(R.rollingUsd),weeklyUsd:I(R.weeklyUsd),monthlyUsd:I(R.monthlyUsd)}]))}},oT=(e,t,n,r)=>{let o=t>0?jt(e,t):0;return{usedPct:o,remainingPct:wr(100-o,0,100),usedUsd:e,capUsd:t,...n!==void 0?{resetsAt:n}:{},exceeded:t>0&&e>=t,source:r}},Vd=(e,t,n,r,o=[])=>{let s=co("opendesign",e.settings.plan);return{providerID:"opendesign",label:s?.label??"OpenDesign",plan:hs(s?.planID,e.settings.plan),source:"unknown",fetchedAt:t,stale:!1,rolling:Jd,weekly:Jd,monthly:Jd,models:{},notes:[...o],...n?{error:n}:{},...r!==void 0?{retryAfterMs:r}:{}}},kj=e=>{let t=co("opendesign",e.plan),n=t?.pools.find(c=>c.id===cr),r=t?.pools.find(c=>c.id===Er),o=e.monthlyCreditsUsd&&e.monthlyCreditsUsd>0?e.monthlyCreditsUsd:n?.monthlyUsd??0,s=e.ignoreWeeklyWindow?void 0:n?.weeklyUsd,i=e.ignoreFiveHourWindow?void 0:n?.fiveHourUsd;return{monthly:o,weekly:s??(e.ignoreWeeklyWindow?void 0:e.weeklyCapUsd),rolling:i??(e.ignoreFiveHourWindow?void 0:e.fiveHourCapUsd),planModelsMonthly:r?.monthlyUsd??0,hasPlanModelPool:!!r,hasFiveHourWindow:i!==void 0,hasWeeklyWindow:s!==void 0,plan:t,unresolved:!t&&!(e.monthlyCreditsUsd&&e.monthlyCreditsUsd>0)}},sT=async(e,t,n,r)=>{let o=new AbortController,s=setTimeout(()=>o.abort(),r);try{let i=await n(e,{method:"GET",headers:{authorization:`Bearer ${t}`,accept:"application/json","user-agent":tT},redirect:"error",signal:o.signal});if(!i.ok){let d=Number(i.headers.get("retry-after")),u=Number.isFinite(d)&&d>=0?Math.min(d*1e3,15*6e4):void 0;return{ok:!1,error:`Account control request returned HTTP ${i.status}`,status:i.status,...u!==void 0?{retryAfterMs:u}:{}}}let c=await i.text();if(c.length>2*1024*1024)return{ok:!1,error:"Account control response was unexpectedly large"};try{return{ok:!0,body:JSON.parse(c)}}catch{return{ok:!1,error:"Account control response was malformed"}}}catch(i){return{ok:!1,error:o.signal.aborted?"Account control request timed out":$n(i instanceof Error?i.message:String(i))}}finally{clearTimeout(s)}},Vse=e=>{if(!(e<=0)){if(e<=6*3600)return"rolling";if(e<=8*86400)return"weekly";if(e<=32*86400)return"monthly"}},Jse=e=>{if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!rf(n))continue;let r=Ga(n.durationSeconds);if(r===void 0)continue;let o=Vse(r);if(!o)continue;let s=Ga(n.usedCredits)??0,i=Ga(n.limitCredits)??0,c=Ga(n.remainingCredits)??Math.max(0,i-s),d=aT(n.resetsAt);t.push({kind:o,usedCredits:s,limitCredits:i,remainingCredits:c,...d!==void 0?{resetsAt:d}:{}})}return t},Ej=e=>{let{caps:t,used:n,source:r}=e,o=[],s=n[cr]??{rollingUsd:0,weeklyUsd:0,monthlyUsd:0};if(t.monthly>0&&o.push({id:cr,label:"Design Plan credits",source:r,monthlyUsd:t.monthly,usedUsd:s.monthlyUsd,remainingUsd:Math.max(0,t.monthly-s.monthlyUsd),usedPct:jt(s.monthlyUsd,t.monthly),...t.weekly!==void 0?{weeklyUsd:t.weekly,weeklyUsedPct:jt(s.weeklyUsd,t.weekly)}:{},...t.rolling!==void 0?{fiveHourUsd:t.rolling,fiveHourUsedPct:jt(s.rollingUsd,t.rolling)}:{},resetKind:"fixed-7-day",...e.resetsAt!==void 0?{resetsAt:e.resetsAt}:{},note:t.hasFiveHourWindow?"Five-hour and seven-day ceilings nest inside the monthly maximum.":"Seven-day ceiling nests inside the monthly maximum. This plan has no five-hour window."}),t.hasPlanModelPool&&t.planModelsMonthly>0){let i=n[Er]??{rollingUsd:0,weeklyUsd:0,monthlyUsd:0};o.push({id:Er,label:"Plan model credits",source:r,monthlyUsd:t.planModelsMonthly,usedUsd:i.monthlyUsd,remainingUsd:Math.max(0,t.planModelsMonthly-i.monthlyUsd),usedPct:jt(i.monthlyUsd,t.planModelsMonthly),resetKind:"billing-cycle",...e.resetsAt!==void 0?{resetsAt:e.resetsAt}:{},note:"No five-hour or seven-day window. Design Plan multipliers do not apply to this pool."})}return o},Tj=e=>{let t=[];return e.plan&&t.push(`Plan: ${e.plan.label}.`),t.push(e.hasFiveHourWindow?"This plan has a five-hour Design Plan window.":"This plan has no five-hour Design Plan window."),e.hasPlanModelPool&&e.planModelsMonthly>0&&t.push(`A separate plan model pool of $${e.planModelsMonthly}/month is reported independently and is never added to the Design Plan allowance.`),t},Zse=async(e,t)=>{let n=e.fetchImpl??fetch,r=e.timeoutMs??12e3,o=hj(e.controlBaseURL??Gd),s=e.controlKey??"",i=await sT(Wy(o,"/v1/workspaces/current"),s,n,r);if(!i.ok||!rf(i.body))return{snapshot:Vd(e,t,i.error??"Could not read the current workspace",i.retryAfterMs,["Verified quota is unavailable."]),state:"unavailable"};let c=typeof i.body.activeWorkspaceId=="string"?i.body.activeWorkspaceId:typeof i.body.workspaceId=="string"?i.body.workspaceId:void 0;if(!c)return{snapshot:Vd(e,t,"The account did not report an active workspace",void 0,["Verified quota is unavailable."]),state:"unavailable"};let d=await sT(Wy(o,`/v1/workspaces/${encodeURIComponent(c)}/billing/coding-plan-usage`),s,n,r);if(!d.ok||!rf(d.body))return{snapshot:Vd(e,t,d.error??"Could not read coding-plan usage",d.retryAfterMs,["Verified quota is unavailable."]),state:"unavailable"};let u=typeof d.body.workspaceId=="string"?d.body.workspaceId:void 0;if(u&&u!==c)return{snapshot:Vd(e,t,"The usage response did not match the active workspace",void 0,["Balances from different workspaces are never combined."]),state:"unavailable"};let l=await sT(Wy(o,"/v1/billing/summary"),s,n,r),p=l.ok&&rf(l.body)?l.body:void 0,f=Ga(p?.creditsPerUsd)??e.creditsPerUsd??vj,g=rf(p?.balances)?p.balances:void 0,b=Ga(g?.rechargeCredits)??0,S=Ga(g?.subscriptionCredits)??0,y=b/f,I=Jse(d.body.windows),v=kj(e.settings),R=F=>I.find(B=>B.kind===F),A=(F,B)=>{if(!F||F.limitCredits<=0)return{usedPct:0,remainingPct:100,source:"unknown"};let Ae=jt(F.usedCredits,F.limitCredits);return{usedPct:Ae,remainingPct:wr(100-Ae,0,100),usedUsd:F.usedCredits/f,capUsd:F.limitCredits/f,...F.resetsAt!==void 0?{resetsAt:F.resetsAt}:{},exceeded:F.usedCredits>=F.limitCredits,source:"provider"}},k=A(R("rolling"),v.rolling??0),x=A(R("weekly"),v.weekly??0),w=R("monthly"),E=w?A(w,v.monthly):{usedPct:0,remainingPct:100,source:"unknown"},T=aT(p?.subscriptionCurrentPeriodStart),_=aT(p?.subscriptionCurrentPeriodEnd),j=w?w.remainingCredits/f:S>0?S/f:void 0,se=Ej({caps:v,used:{[cr]:{rollingUsd:k.usedUsd??0,weeklyUsd:x.usedUsd??0,monthlyUsd:E.usedUsd??0},[Er]:{rollingUsd:0,weeklyUsd:0,monthlyUsd:Math.max(0,v.planModelsMonthly-S/f)}},source:"provider",creditsPerUsd:f,..._!==void 0?{resetsAt:_}:{}}),he=["Provider-reported OpenDesign coding-plan usage.","Read-only probe; no inference request is made.",`Workspace ${c}.`,...Tj(v)];y>0&&he.push(`Wallet balance ${y.toFixed(2)} USD is separate from the subscription allowance and is not used for automatic routing.`);let Te={providerID:"opendesign",label:v.plan?.label??"OpenDesign",plan:hs(v.plan?.planID,e.settings.plan),source:"provider",fetchedAt:t,stale:!1,rolling:k,weekly:x,monthly:E,monthlyGrantUsd:v.monthly>0?v.monthly:E.capUsd??0,...j!==void 0?{monthlyRemainingUsd:j}:{},extraCredits:{purchasedUsd:y,freeUsd:0,totalUsd:y},pools:se,planStatus:typeof p?.membershipTier=="string"?p.membershipTier:void 0,...T!==void 0?{periodStart:T}:{},..._!==void 0?{periodEnd:_}:{},models:{},notes:he},M=!!(k.exceeded||x.exceeded||E.exceeded);return{snapshot:Te,state:M?"exhausted":"verified"}},Qse=(e,t,n,r)=>{if(!t)return{totals:e,applied:!1,windows:[]};let o=[],s=(w,E,T)=>w===void 0?0:E===void 0||E<=0?(o.push(`the ${T} cap is unknown, so ${w}% could not be converted`),0):w/100*E,i=t.pctOf??"weekly",c=t.designPlanUsedUsd!==void 0||t.designPlanUsedPct!==void 0,d=t.planModelsUsedUsd!==void 0||t.planModelsUsedPct!==void 0,u=c?Math.max(0,t.designPlanUsedUsd??0)||s(t.designPlanUsedPct,i==="weekly"?r.weekly??r.monthly:r.monthly,i==="weekly"?"seven-day Design Plan":"monthly Design Plan"):0,l=d?Math.max(0,t.planModelsUsedUsd??0)||s(t.planModelsUsedPct,r.planModelsMonthly,"plan model"):0;if(!c&&!d)return{totals:e,applied:!1,windows:[],...o.length>0?{unconverted:o}:{}};let p=w=>w!==void 0&&n>=w,f=t.at>=n-Ij&&!p(t.weeklyResetsAt),g=t.at>=n-iT&&!p(t.weeklyResetsAt);if(!(t.at>=n-wj&&!p(t.monthlyResetsAt)))return{totals:e,applied:!1,windows:[]};let S=[];f&&S.push("5h"),g&&S.push("7d"),S.push("monthly");let y=f?u:0,I=g?u:0,v=f?l:0,R=g?l:0,A={...e.byPool},k=A[cr]??{rollingUsd:0,weeklyUsd:0,monthlyUsd:0},x=A[Er]??{rollingUsd:0,weeklyUsd:0,monthlyUsd:0};return u>0&&(A[cr]={rollingUsd:k.rollingUsd+y,weeklyUsd:k.weeklyUsd+I,monthlyUsd:k.monthlyUsd+u}),l>0&&(A[Er]={rollingUsd:x.rollingUsd+v,weeklyUsd:x.weeklyUsd+R,monthlyUsd:x.monthlyUsd+l}),{applied:!0,windows:S,usedFallbackReset:t.weeklyResetsAt===void 0,...o.length>0?{unconverted:o}:{},totals:{rollingUsd:e.rollingUsd+y+v,weeklyUsd:e.weeklyUsd+I+R,monthlyUsd:e.monthlyUsd+u+l,observedRequests:e.observedRequests,byPool:A}}},Yse=(e,t)=>{let n=kj(e.settings),r=e.uncertaintyMarginPct??bj(Sj(e.usage),Wse),o=Gse(e.usage,"opendesign",t,r,n.plan,e.multiplierOverrides,e.settings.baseline?.weeklyResetsAt),s=Qse(o,e.settings.baseline,t,{...n.weekly!==void 0?{weekly:n.weekly}:{},monthly:n.monthly,planModelsMonthly:n.planModelsMonthly}),i=s.totals,c=n.rolling!==void 0?oT(i.rollingUsd,n.rolling,void 0,"estimate"):{...Jd,usedUsd:i.rollingUsd},d=n.weekly!==void 0?oT(i.weeklyUsd,n.weekly,void 0,"estimate"):{...Jd,usedUsd:i.weeklyUsd},u=n.unresolved?{...Jd,usedUsd:i.monthlyUsd}:oT(i.monthlyUsd,n.monthly,void 0,"estimate"),l=Ej({caps:n,used:i.byPool,source:"estimate",creditsPerUsd:vj}),p=[s.applied?`Starts from the usage you reported on ${new Date(e.settings.baseline.at).toISOString().slice(0,10)} and adds every OpenDesign request this router has routed since.`:"Estimated from this router's own OpenDesign usage. OpenDesign publishes no quota API for an inference key.",s.applied?`The reported reading still excludes other clients, and a ${r}% margin is applied, so this remains a lower bound. There is no exact source without an account control key, and the account API-key page issues inference keys only.`:`A ${r}% safety margin is applied. Usage from the OpenDesign app or other clients on the same subscription is not visible, so this is a lower bound.`,"Wallet balance is not included and is never used for automatic routing.",...Tj(n)];for(let b of s.unconverted??[])p.push(`The reported percentage was not used: ${b}.`);s.applied&&p.push(s.usedFallbackReset?`The reported reading applies to: ${s.windows.join(", ")}. No reset time was supplied, so the router assumes the reading stays valid for its window length. Add baseline.weeklyResetsAt to be exact.`:`The reported reading applies to: ${s.windows.join(", ")} until that window resets.`),n.unresolved&&p.push(`The configured plan "${e.settings.plan}" is not in the catalog, so the allowance is unknown rather than zero. Set a plan id from the catalog or an explicit monthlyCreditsUsd.`),i.observedRequests===0&&p.push(s.applied?"No OpenDesign requests have been routed through this router since that reading, so the figure is still exactly what you reported.":"No OpenDesign requests have been routed through this router yet, so the estimate starts at zero.");let f={providerID:"opendesign",label:n.plan?.label??"OpenDesign",plan:hs(n.plan?.planID,e.settings.plan),source:"estimate",fetchedAt:t,stale:!1,rolling:c,weekly:d,monthly:u,monthlyGrantUsd:n.monthly,...n.unresolved?{}:{monthlyRemainingUsd:Math.max(0,n.monthly-i.monthlyUsd)},pools:l,models:{},notes:p};if(n.unresolved)return{snapshot:f,state:"unknown"};let g=!!(u.exceeded||d.exceeded);return{snapshot:f,state:g?"exhausted":"estimated"}},Aj=async e=>{let t=e.now?.()??Date.now();return e.settings.enabled?e.controlKey?Zse(e,t):e.apiKey?Yse(e,t):{snapshot:Vd(e,t,"No OpenDesign credential is configured",void 0,["Add an OpenDesign API key, or configure a control key for verified quota."]),state:"unavailable"}:{snapshot:Vd(e,t,"OpenDesign is disabled in router settings",void 0,["The provider is disabled; it takes no part in routing."]),state:"unavailable"}};var Rj=["opencode-go","commandcode","opendesign"],dT={usedPct:0,remainingPct:100,source:"unknown"},Gy=(e,t,n,r,o)=>({providerID:e,label:t,plan:n,source:"unknown",fetchedAt:r,stale:!1,rolling:dT,weekly:dT,monthly:dT,models:{},notes:[],error:o,quotaState:"unknown"}),Xse=(e,t,n)=>({...e,stale:t-e.fetchedAt>Math.max(n*2,6e4),...e.quotaState&&e.quotaState!=="unknown"&&e.quotaState!=="unavailable"?{quotaState:t-e.fetchedAt>Math.max(n*2,6e4)?"stale":e.quotaState}:{}}),Oj=e=>{let t=[3e4,12e4,3e5,9e5];return t[Math.min(Math.max(e,1)-1,t.length-1)]??15*6e4},of=class{options;state={"opencode-go":{lastAttempt:0,nextAllowed:0,failures:0},commandcode:{lastAttempt:0,nextAllowed:0,failures:0},opendesign:{lastAttempt:0,nextAllowed:0,failures:0}};constructor(t){this.options=t;let n=t.now?.()??Date.now();for(let r of t.initial??[]){let o=this.state[r.providerID];o&&(o.snapshot={...r,stale:!0},o.lastAttempt=r.fetchedAt)}}intervalMs(){return Math.max(1,this.options.probeIntervalMinutes)*6e4}now(){return this.options.now?.()??Date.now()}getCached(){let t=this.now(),n=this.intervalMs();return Object.values(this.state).map(r=>r.snapshot).filter(r=>!!r).map(r=>Xse(r,t,n))}read(){let t=this.now(),n=this.intervalMs(),r=this.options.getSettings();for(let o of Rj){let s=r[o];if(!s?.enabled||!s.probeUsage)continue;let i=this.state[o];i&&(!i.snapshot||t-i.lastAttempt>n)&&t>=i.nextAllowed&&!i.inFlight&&this.refresh(o).catch(()=>{})}return this.getCached()}invalidate(){for(let t of Object.values(this.state))t.snapshot=void 0,t.lastAttempt=0,t.nextAllowed=0}async refresh(t,n=!1){let r=this.options.getSettings()[t],o=this.state[t];if(!r||!o)return Gy(t,t,r?.plan??"unknown",this.now(),"Unknown provider");if(!r.enabled||!r.probeUsage)return o.snapshot??Gy(t,t,r.plan,this.now(),"Quota probing is disabled for this provider");if(o.inFlight)return o.inFlight;let s=this.now();if(!n&&s<o.nextAllowed)return o.snapshot??Gy(t,t,r.plan,s,"Quota probe is cooling down");o.lastAttempt=s;let i=this.probe(t,r).then(c=>{o.snapshot=c,o.failures=c.error?o.failures+1:0;let d=c.retryAfterMs===void 0?void 0:Math.min(Math.max(0,c.retryAfterMs),15*6e4);return o.nextAllowed=c.error?this.now()+(d??Oj(o.failures)):0,this.options.onSnapshot?.(c),c}).catch(c=>{o.failures+=1,o.nextAllowed=this.now()+Oj(o.failures);let d=Gy(t,t,r.plan,this.now(),c instanceof Error?c.message:String(c));return o.snapshot=d,this.options.onSnapshot?.(d),d}).finally(()=>{o.inFlight=void 0});return o.inFlight=i,i}async probe(t,n){let r=await this.options.getCredentials();if(t==="opencode-go")return(await pj({accessToken:r.goAccessToken??"",settings:n,fetchImpl:this.options.fetchImpl,now:this.options.now})).snapshot;if(t==="opendesign"){let s=this.options.now?.()??Date.now(),i=await Aj({settings:n,apiKey:r.openDesignApiKey,controlKey:r.openDesignControlKey,usage:this.options.getUsageEvents?.({since:s-cT,until:s})??[],fetchImpl:this.options.fetchImpl,now:this.options.now,...n.controlBaseURL?{controlBaseURL:n.controlBaseURL}:{},...n.creditsPerUsd!==void 0?{creditsPerUsd:n.creditsPerUsd}:{},...n.uncertaintyMarginPct!==void 0?{uncertaintyMarginPct:n.uncertaintyMarginPct}:{},...n.multiplierOverrides?{multiplierOverrides:n.multiplierOverrides}:{}});return{...i.snapshot,quotaState:i.state}}return(await lj({settings:n,openCodeIntegrationKey:r.commandCodeIntegrationKey,providerSettingsKey:r.commandCodeProviderKey,fetchImpl:this.options.fetchImpl,now:this.options.now})).snapshot}async initialize(){let t=this.options.getSettings(),n=[];for(let r of Rj){let o=t[r];o?.enabled&&o.probeUsage&&n.push(this.refresh(r,!0))}return n.length===0?this.getCached():(await Promise.allSettled(n),this.getCached())}};var _j=Symbol.for("opencode-smart-router.shared-core.v1"),Uj=2,eie=1e4,Cj=5*6e4,tie=3e4,nie=2e3,Dj="ledger-v1",Pj="runtime-v1",Mj="quota-cache-v1",rie=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),uT=e=>JSON.parse(JSON.stringify(e)),pT=class{coreID=Math.random().toString(36).slice(2,10);pid=process.pid;createdAt=Date.now();apiVersion=Uj;ledger=new uo;runtime={};quota;bridges=new Map;eventAbort;eventsStarted=!1;owners=new Map;unowned=new Map;liveModels=[];modelsLoadedAt=0;modelsLoading;openDesignModels=[];openDesignLoadedAt=0;openDesignLoading;eventsHandled=0;eventsIgnored=0;ownerCtx;getSettings;getCredentials;ready;loading;disposing;quotaInitial=[];ledgerTimer;quotaTimer;runtimeTimer;bootstrapTimer;quotaStartTimer;shutdownTimer;started=!1;quotaInitialized=!1;bootstrapped=!1;ledgerWrites=0;quotaWrites=0;quotaRefreshes=0;lastLedgerWriteAt;lastQuotaWriteAt;errors=[];pushError(t){this.errors.push(t),this.errors.length>50&&this.errors.splice(0,this.errors.length-50)}sequence=0;setups=0;disposes=0;async init(t){return this.setups+=1,this.disposing&&await this.disposing,this.ledger instanceof uo||(this.ledger=new uo),this.ready&&this.ownerCtx&&this.started?this.ready:this.loading?this.loading:(this.ownerCtx=t.ctx,this.getSettings=t.getSettings,this.getCredentials=t.getCredentials,this.loading=this.load().finally(()=>{this.loading=void 0}),this.ready=this.loading,this.loading)}async load(){try{let[t,n,r]=await Promise.all([this.ownerCtx.storage.get(Dj).catch(()=>{}),this.ownerCtx.storage.get(Pj).catch(()=>{}),this.ownerCtx.storage.get(Mj).catch(()=>{})]);rie(n)&&(this.runtime=n);let o=uo.hydrate(t);this.ledger=new uo(o.ledger);for(let s of o.warnings.slice(0,5))this.pushError(s);this.quotaInitial=Array.isArray(r)?r:[],this.quota=new of({getSettings:()=>this.getSettings?.().providers??{},getCredentials:()=>this.getCredentials?.()??Promise.resolve({}),getUsageEvents:s=>this.ledger.usageEvents(s),probeIntervalMinutes:this.getSettings?.().quota.probeIntervalMinutes??5,initial:this.quotaInitial,onSnapshot:s=>{this.quotaRefreshes+=1,this.persistQuotaSoon()}}),this.started=!0,this.bootstrapTimer=setTimeout(()=>{this.bootstrap()},1e3),this.quotaStartTimer=setTimeout(()=>{this.startQuota()},1500)}catch(t){this.pushError(Be(t))}this.quota||(this.quota=new of({getSettings:()=>this.getSettings?.().providers??{},getCredentials:()=>this.getCredentials?.()??Promise.resolve({}),getUsageEvents:t=>this.ledger.usageEvents(t),probeIntervalMinutes:this.getSettings?.().quota.probeIntervalMinutes??5,initial:this.quotaInitial,onSnapshot:()=>{this.quotaRefreshes+=1,this.persistQuotaSoon()}})),this.started||(this.started=!0,this.bootstrapTimer=setTimeout(()=>{this.bootstrap()},1e3),this.quotaStartTimer=setTimeout(()=>{this.startQuota()},1500))}async bootstrap(){if(!this.bootstrapped){this.bootstrapped=!0;try{let t=this.getSettings?.();if(!t)return;let n=t.quota.bootstrapSessions;if(n<=0)return;let r=aj({sinceMs:Date.now()-t.quota.bootstrapDays*24*60*60*1e3,limit:Math.max(n,1)*100});if(r.entries.length>0){if(this.ledger.importHistory(r.entries).added>0){this.persistSoon();return}}else r.reason&&this.pushError(`history: ${r.reason}`);let o=await this.ownerCtx.session.list({limit:n}),i=(Array.isArray(o)?o:o?.data??[]).map(c=>({id:String(c.id),title:typeof c.title=="string"?c.title:void 0,model:c.model?{providerID:c.model.providerID,id:c.model.id,...c.model.variant?{variant:c.model.variant}:{}}:void 0,cost:typeof c.cost=="number"?c.cost:0,tokens:c.tokens?{input:Number(c.tokens.input)||0,output:Number(c.tokens.output)||0,cache:{read:Number(c.tokens.cache?.read)||0,write:Number(c.tokens.cache?.write)||0}}:void 0,updatedAt:typeof c.time?.updated=="number"?c.time.updated:Date.now()}));this.ledger.bootstrap(i,{days:t.quota.bootstrapDays,limit:t.quota.bootstrapSessions}),this.persistSoon()}catch(t){this.pushError(`bootstrap: ${Be(t)}`)}}}async startQuota(){if(!(this.quotaInitialized||!this.quota)){this.quotaInitialized=!0;try{await this.quota.initialize()}catch(t){this.pushError(`quota: ${Be(t)}`)}}}claimSession(t,n){if(n){if(this.unowned.delete(t),!this.owners.has(t)&&this.owners.size>=2e3){let r=this.owners.keys().next().value;r&&this.owners.delete(r)}this.owners.set(t,n)}}releaseSession(t){this.owners.delete(t),this.unowned.delete(t)}recordError(t){this.pushError(t)}noteUnowned(t){if(this.unowned.size>=nie){let n=this.unowned.keys().next().value;n&&this.unowned.delete(n)}this.unowned.set(t,Date.now())}async getLiveModels(t=!1){(!(this.modelsLoadedAt>0&&Date.now()-this.modelsLoadedAt<Cj)||t)&&!this.modelsLoading&&this.ownerCtx?.model?.list&&(this.modelsLoading=Promise.resolve(this.ownerCtx.model.list()).then(o=>{let s=Array.isArray(o)?o:o?.data??[];return this.liveModels=Array.isArray(s)?s:[],this.modelsLoadedAt=Date.now(),this.liveModels}).catch(o=>(this.pushError(`models: ${Be(o)}`),this.liveModels)).finally(()=>{this.modelsLoading=void 0}),await this.modelsLoading);let r=await this.getOpenDesignModels(t);return r.length>0?[...this.liveModels,...r]:this.liveModels}async getOpenDesignModels(t=!1){let r=this.getSettings?.()?.providers?.opendesign;if(!r?.enabled)return this.openDesignModels=[],this.openDesignLoadedAt=Date.now(),[];let o=this.openDesignLoadedAt>0&&Date.now()-this.openDesignLoadedAt<Cj;return!t&&o?this.openDesignModels:this.openDesignLoading?this.openDesignLoading:(this.openDesignLoading=(async()=>{try{let s=await this.getCredentials?.()??{};if(!s.openDesignApiKey)return this.openDesignModels=[],this.openDesignLoadedAt=Date.now(),[];let i=await Ky({apiKey:s.openDesignApiKey,...r.baseURL?{baseURL:r.baseURL}:{}});return i.ok?(this.openDesignModels=yj(i.models),this.openDesignLoadedAt=Date.now(),this.openDesignModels):(this.pushError(`opendesign discovery: ${i.error??"unknown error"}`),this.openDesignLoadedAt=Date.now(),this.openDesignModels)}catch(s){return this.pushError(`opendesign discovery: ${Be(s)}`),this.openDesignModels}finally{this.openDesignLoading=void 0}})(),this.openDesignLoading)}usageEvents(t){return this.ledger.usageEvents(t)}ownerOf(t){return this.owners.get(t)}noteEvent(t){t?this.eventsHandled+=1:this.eventsIgnored+=1}addBridge(t,n){this.unowned.clear();let r=`bridge-${this.pid}-${++this.sequence}`;return this.bridges.set(r,{id:r,directory:t,createdAt:Date.now(),controller:n}),this.shutdownTimer&&(clearTimeout(this.shutdownTimer),this.shutdownTimer=void 0),this.startEvents(),r}startEvents(){if(this.eventsStarted||!this.ownerCtx?.event)return;this.eventsStarted=!0;let t=new AbortController;this.eventAbort=t,(async()=>{try{for await(let n of this.ownerCtx.event.subscribe({signal:t.signal}))await this.dispatchEvent(n)}catch(n){t.signal.aborted||this.pushError(`events: ${Be(n)}`)}finally{this.eventAbort===t&&(this.eventAbort=void 0,this.eventsStarted=!1)}})()}async dispatchEvent(t){let n=t?.data??{},r=typeof n.sessionID=="string"?n.sessionID:void 0,o,s;if(r){if(s=this.owners.get(r),s&&(o=this.bridges.get(s)?.controller),!o&&t.type==="session.created"&&typeof n.projectID=="string"){for(let i of this.bridges.values())if(i.controller?.projectMatches?.(n.projectID,n.location?.directory)){o=i.controller,s=i.id;break}s&&this.claimSession(r,s)}if(!o&&this.ownerCtx?.session){let i=this.unowned.get(r);if(i!==void 0&&Date.now()-i<tie){this.noteEvent(!1);return}try{let c=await this.ownerCtx.session.get({sessionID:r});if(c?.projectID){for(let d of this.bridges.values())if(d.controller?.projectMatches?.(c.projectID,c.location?.directory)){o=d.controller,s=d.id,this.claimSession(r,d.id);break}}}catch{}o||this.noteUnowned(r)}}if(!o){this.noteEvent(!1);return}await o.handleEvent(t)}removeBridge(t){this.bridges.delete(t),this.disposes+=1,this.bridges.size===0&&this.started&&(this.shutdownTimer=setTimeout(()=>{this.bridges.size===0&&this.dispose()},eie))}persistSoon(){this.ledgerTimer||(this.ledgerTimer=setTimeout(()=>{this.ledgerTimer=void 0,this.persistNow()},750))}async persistNow(){if(this.ownerCtx?.storage)try{let t=uT(this.ledger.export());this.ledger.markClean(),await this.ownerCtx.storage.set(Dj,t),this.ledgerWrites+=1,this.lastLedgerWriteAt=Date.now(),this.ledger.dirtyFlag&&this.persistSoon()}catch(t){this.pushError(`persistLedger: ${Be(t)}`)}}persistRuntimeSoon(){this.runtimeTimer||(this.runtimeTimer=setTimeout(()=>{this.runtimeTimer=void 0,this.persistRuntimeNow()},250))}async persistRuntimeNow(){if(this.ownerCtx?.storage)try{await this.ownerCtx.storage.set(Pj,uT(this.runtime))}catch(t){this.pushError(`persistRuntime: ${Be(t)}`)}}persistQuotaSoon(){this.quotaTimer||(this.quotaTimer=setTimeout(()=>{this.quotaTimer=void 0,this.persistQuotaNow()},1e3))}async persistQuotaNow(){if(!(!this.ownerCtx?.storage||!this.quota))try{await this.ownerCtx.storage.set(Mj,uT(this.quota.read())),this.quotaWrites+=1,this.lastQuotaWriteAt=Date.now()}catch(t){this.pushError(`persistQuota: ${Be(t)}`)}}async resetLedger(){this.ledger.reset(),this.bootstrapped=!1,this.persistSoon()}resetForTests(){this.eventAbort?.abort(),this.eventAbort=void 0,this.eventsStarted=!1,clearTimeout(this.ledgerTimer),clearTimeout(this.quotaTimer),clearTimeout(this.runtimeTimer),clearTimeout(this.bootstrapTimer),clearTimeout(this.quotaStartTimer),clearTimeout(this.shutdownTimer),this.ledgerTimer=void 0,this.quotaTimer=void 0,this.runtimeTimer=void 0,this.bootstrapTimer=void 0,this.quotaStartTimer=void 0,this.shutdownTimer=void 0,this.ledger=new uo,this.runtime={},this.quota=void 0,this.ownerCtx=void 0,this.ready=void 0,this.loading=void 0,this.disposing=void 0,this.started=!1,this.quotaInitialized=!1,this.bootstrapped=!1,this.bridges.clear(),this.owners.clear(),this.unowned.clear(),this.liveModels=[],this.modelsLoadedAt=0,this.modelsLoading=void 0,this.openDesignModels=[],this.openDesignLoadedAt=0,this.openDesignLoading=void 0,this.errors.length=0,this.eventsHandled=0,this.eventsIgnored=0,this.sequence=0,this.setups=0,this.disposes=0,this.ledgerWrites=0,this.quotaWrites=0,this.quotaRefreshes=0}diagnostics(){return{coreID:this.coreID,pid:this.pid,createdAt:this.createdAt,uptimeMs:Date.now()-this.createdAt,bridges:[...this.bridges.values()].map(({id:t,directory:n,createdAt:r})=>({id:t,directory:n,createdAt:r})),bridgeCount:this.bridges.size,setups:this.setups,disposes:this.disposes,ledgerEvents:this.ledger.data.usage.length,decisions:this.ledger.data.decisions.length,sessions:Object.keys(this.ledger.data.sessions).length,quotaSnapshots:this.quota?.read().length??0,quotaRefreshes:this.quotaRefreshes,ledgerWrites:this.ledgerWrites,quotaWrites:this.quotaWrites,lastLedgerWriteAt:this.lastLedgerWriteAt,lastQuotaWriteAt:this.lastQuotaWriteAt,quotaInitialized:this.quotaInitialized,bootstrapped:this.bootstrapped,eventsHandled:this.eventsHandled,eventsIgnored:this.eventsIgnored,eventStreams:this.eventsStarted?1:0,errors:this.errors.slice(-20)}}dispose(){if(this.disposing)return this.disposing;let n=this.teardown().finally(()=>{this.disposing===n&&(this.disposing=void 0)});return this.disposing=n,n}async teardown(){this.shutdownTimer&&clearTimeout(this.shutdownTimer),this.shutdownTimer=void 0,this.eventAbort?.abort(),this.eventAbort=void 0,this.eventsStarted=!1,clearTimeout(this.ledgerTimer),clearTimeout(this.quotaTimer),clearTimeout(this.runtimeTimer),clearTimeout(this.bootstrapTimer),clearTimeout(this.quotaStartTimer),this.ledgerTimer=void 0,this.quotaTimer=void 0,this.runtimeTimer=void 0,await this.persistNow(),await this.persistRuntimeNow(),await this.persistQuotaNow(),this.started=!1,this.ready=void 0,this.ownerCtx=void 0,this.quota=void 0,this.quotaInitialized=!1,this.quotaInitial=[]}},lT=globalThis[_j],We=lT&&lT.apiVersion===Uj?lT:globalThis[_j]=new pT;import{execFile as oie}from"node:child_process";import{promisify as sie}from"node:util";var Nj=sie(oie),fT=e=>e?e==="opencode-go"?"Go":e==="commandcode"?"CC":e==="opendesign"?"OD":e:"?",sf=e=>{if(e.stale)return"stale";switch(e.quotaState){case"verified":return"verified";case"estimated":return"estimated";case"exhausted":return"exhausted";case"unavailable":return"unavailable";case"unknown":return"unknown";case"stale":return"stale";default:return e.source==="provider"?"verified":e.source==="estimate"?"estimated":"unknown"}},Fj=e=>{let t=e.pools??[],n=[];if(t.length>1){n.push(`${e.label} (${sf(e)}):`);for(let r of t){let o=[];r.fiveHourUsd!==void 0&&r.fiveHourUsedPct!==void 0&&o.push(`5h ${Fd(r.fiveHourUsedPct)} of ${Rt(r.fiveHourUsd)}`),r.weeklyUsd!==void 0&&r.weeklyUsedPct!==void 0&&o.push(`7d ${Fd(r.weeklyUsedPct)} of ${Rt(r.weeklyUsd)}`);let s=o.length>0?` \xB7 ${o.join(" \xB7 ")}`:" \xB7 no usage windows";n.push(` ${r.label}: ${Rt(r.remainingUsd)} of ${Rt(r.monthlyUsd)} remaining${s}`)}n.push(" The pools are separate allowances and are never added together.")}else{let r=e.rolling.source==="unknown"&&e.weekly.source==="unknown"?"no usage windows":`5h ${Fd(e.rolling.usedPct)} \xB7 weekly ${Fd(e.weekly.usedPct)}`;n.push(`${e.label}: ${r} \xB7 monthly ${Fd(e.monthly.usedPct)} (${sf(e)})`)}if(e.providerID==="opendesign"){let r=e.extraCredits?.purchasedUsd??0;n.push(` Purchased wallet ${Rt(r)} is separate from both allowances and is never spent automatically.`),e.monthlyRemainingUsd!==void 0&&n.push(` Design Plan allowance remaining ${Rt(e.monthlyRemainingUsd)}.`)}return e.error&&n.push(` ${e.error}`),n},$j=e=>!e.enabled||e.runtimePaused?"PAUSED":e.manual?"MANUAL":e.dryRun?"DRY RUN":"AUTO",Zd=e=>{if(!e)return"";let t=/^(AUTO|MANUAL|PAUSED|DRY RUN|BLOCKED) · [^—]*(?: — ([\s\S]*))?$/.exec(e);return t?(t[2]??"").trim():e.trim()};var Vy=class{last=new Map;backend;shouldNotify(t,n=10*6e4){let r=Date.now(),o=this.last.get(t);if(o&&r-o<n)return!1;if(this.last.set(t,r),this.last.size>100)for(let[s,i]of this.last)r-i>n&&this.last.delete(s);return!0}async notify(t){if(!t.trim()||this.backend==="none")return!1;if(this.backend==="terminal-notifier"||this.backend===void 0)try{return await Nj("terminal-notifier",["-title","OpenCode Smart Router","-message",t.slice(0,220),"-group","opencode-smart-router"],{timeout:1500,maxBuffer:4096}),this.backend="terminal-notifier",!0}catch(n){n.code}try{let n=t.replaceAll("\\","/").replaceAll('"',"'").slice(0,220);return await Nj("osascript",["-e",`display notification "${n}" with title "OpenCode Smart Router"`],{timeout:1500,maxBuffer:4096}),this.backend="osascript",!0}catch{return this.backend="none",!1}}};var iie={type:"object",additionalProperties:!0},Uo={type:"object",properties:{},additionalProperties:!1},Jy={type:"object",properties:{sessionID:{type:"string"}},required:["sessionID"],additionalProperties:!1},nt=e=>({input:e,output:iie}),Lj=Ba.define({id:"smart-router",methods:{status:nt({type:"object",properties:{sessionID:{type:"string"}},additionalProperties:!1}),preview:nt({type:"object",properties:{sessionID:{type:"string"},text:{type:"string"},files:{type:"array",items:{type:"object",additionalProperties:!0}}},required:["sessionID","text"],additionalProperties:!1}),setMode:nt({type:"object",properties:{mode:{type:"string",enum:["efficiency","balanced","premium"]}},required:["mode"],additionalProperties:!1}),setPaused:nt({type:"object",properties:{paused:{type:"boolean"}},required:["paused"],additionalProperties:!1}),setSessionAuto:nt({type:"object",properties:{sessionID:{type:"string"},auto:{type:"boolean"}},required:["sessionID","auto"],additionalProperties:!1}),setDryRun:nt({type:"object",properties:{dryRun:{type:"boolean"}},required:["dryRun"],additionalProperties:!1}),resumeAuto:nt(Jy),pin:nt({type:"object",properties:{sessionID:{type:"string"},providerID:{type:"string"},modelID:{type:"string"},variant:{type:"string"}},required:["sessionID","providerID","modelID"],additionalProperties:!1}),approvePremium:nt(Jy),denyPremium:nt(Jy),excludeModel:nt({type:"object",properties:{providerID:{type:"string"},modelID:{type:"string"},excluded:{type:"boolean"}},required:["providerID","modelID","excluded"],additionalProperties:!1}),setPremiumBudget:nt({type:"object",properties:{usd:{type:"number",minimum:0,maximum:1e5}},required:["usd"],additionalProperties:!1}),setReserve:nt({type:"object",properties:{providerID:{type:"string"},monthlyPct:{type:"number",minimum:0,maximum:90},weeklyPct:{type:"number",minimum:0,maximum:90},fiveHourPct:{type:"number",minimum:0,maximum:90}},required:["providerID"],additionalProperties:!1}),floor:nt(Uo),setCalibrateFloor:nt({type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"],additionalProperties:!1}),refreshQuota:nt(Uo),onboarding:nt(Uo),completeOnboarding:nt(Uo),recordPlanPage:nt({type:"object",properties:{page:{type:"string"},confirm:{type:"boolean"}},required:["page"],additionalProperties:!1}),report:nt(Uo),usage:nt(Uo),getConfig:nt(Uo),resetOverrides:nt(Uo),resetMetrics:nt(Uo),refreshIndicator:nt(Jy),diagnostics:nt(Uo),setTitleIndicator:nt({type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"],additionalProperties:!1})},events:{decision:{schema:{type:"object",properties:{decision:{type:"object",additionalProperties:!0}},required:["decision"],additionalProperties:!1}},status:{schema:{type:"object",properties:{sessionID:{type:"string"},summary:{type:"object",additionalProperties:!0}},required:["summary"],additionalProperties:!1}},quota:{schema:{type:"object",properties:{providers:{type:"array",items:{type:"object",additionalProperties:!0}}},required:["providers"],additionalProperties:!1}}}});var aie=e=>typeof e=="object"&&e!==null&&(e.name==="RouterBlockedError"||e.routerBlocked===!0),cie=e=>e instanceof Error?e.message:String(e),Zy=(e,t)=>{let n=r=>{try{t.onContained?.(r)}catch{}};return async r=>{try{await e(r)}catch(o){if(t.allowBlocked&&aie(o))throw o;n(`${t.label}: ${cie(o)}`)}}},qj=async e=>{let t,n=!1,r=new Promise(s=>{t=setTimeout(()=>{n=!0;try{e.onTimeout()}catch{}s(void 0)},e.ms),t?.unref?.()}),o=Promise.resolve().then(e.work).catch(s=>{if(!n)throw s});try{return await Promise.race([o,r])}finally{t&&clearTimeout(t)}};var df=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),fie=3e4,jj=3e4,ive=10*6e4;var mie=5,hie=1800*1e3,af=e=>Array.isArray(e)?e:df(e)&&Array.isArray(e.data)?e.data:[],Qy=e=>{if(df(e)&&!(typeof e.providerID!="string"||typeof e.id!="string"))return{providerID:e.providerID,id:e.id,...typeof e.variant=="string"?{variant:e.variant}:{}}},Hj=e=>{if(!df(e))return{input:0,output:0,cache:{read:0,write:0}};let t=df(e.cache)?e.cache:{};return{input:typeof e.input=="number"?e.input:0,output:typeof e.output=="number"?e.output:0,cache:{read:typeof t.read=="number"?t.read:0,write:typeof t.write=="number"?t.write:0}}},gie=(e,t)=>{let n=structuredClone(e);if(t.mode&&(n.mode=t.mode),t.paused===!0&&(n.enabled=!1),typeof t.dryRun=="boolean"&&(n.dryRun=t.dryRun),typeof t.compactMode=="boolean"&&(n.ui.compactMode=t.compactMode,n.ui.compact=t.compactMode,n.compactMode=t.compactMode,n.compact=t.compactMode),typeof t.compact=="boolean"&&(n.ui.compactMode=t.compact,n.ui.compact=t.compact,n.compactMode=t.compact,n.compact=t.compact),typeof t.premiumBudgetUsd=="number"&&(n.premium.monthlyBudgetUsd=t.premiumBudgetUsd),t.reserves)for(let[s,i]of Object.entries(t.reserves)){let c=n.providers[s];c&&(typeof i.monthlyPct=="number"&&(c.reserveMonthlyPct=i.monthlyPct),typeof i.weeklyPct=="number"&&(c.reserveWeeklyPct=i.weeklyPct),typeof i.fiveHourPct=="number"&&(c.reserveFiveHourPct=i.fiveHourPct))}let r=Ha([...n.models.excluded,...t.excluded??[]]),o=Ha([...n.models.approved,...t.approved??[]]);return n.models.excluded=r,n.models.approved=o,n},cf=class extends Error{constructor(t){super(t),this.name="RouterBlockedError"}},Yy=class e{ctx;settingsBase;settingsWarnings;settingsSources;runtime={};ledger;registry=LE({live:[],settings:Fy({options:{}}).settings});quota;bridgeID="";expectedSwitch=new Map;requestKinds=new Map;promptRoutes=new My;pendingHeals=new Map;floorCache;recordedFaults=new Map;modelsSeen=new Map;routerCompactAt=new Map;lastCompactionDecision=new Map;inflight=new Set;promptSeen=new Set;created=new Map;stepStarted=new Map;contextLoaded=new Set;contextInflight=new Map;detectedProviders=[];onboardingComplete=!1;explicitProviderEnable;titleQueue=new Map;notifier=new Vy;rpcRegistration;registrations=[];dirCache=new Map;localDir;cleanupDone=!1;constructor(t){this.ctx=t.ctx,this.localDir=this.canonicalDir(t.ctx.location?.directory);let n=Fy({options:t.pluginOptions,directory:this.ctx.location?.directory,projectDirectory:this.ctx.location?.directory});this.settingsBase=n.settings,this.settingsWarnings=n.warnings,this.settingsSources=n.sources,this.explicitProviderEnable=n.explicitProviderEnable,this.ledger=new uo;for(let[r,o]of Object.entries(n.settings.providers)){if(!o?.enabled)continue;let s=Uy(r,o.plan);s.resolution==="unknown"&&this.settingsWarnings.push(`providers.${r}.plan is "${o.plan}", which is not a known plan for ${r}. Using ${s.planID??"no plan"}, so quota may be miscalculated. Set a plan id from the catalog.`)}}get settings(){return gie(this.settingsBase,this.runtime)}runtimeFor(t){return!this.settings.enabled||this.runtime.paused===!0||t?.paused===!0?"paused":t?.manualOverride?"manual":"automatic"}safe(t){return JSON.parse(JSON.stringify(t))}persistLedgerSoon(){We.persistSoon()}persistRuntime(){We.runtime=this.runtime,We.persistRuntimeSoon()}async emit(t,n){try{await this.rpcRegistration?.events.emit(t,this.safe(n))}catch{}}async loadModels(){try{this.modelList=await We.getLiveModels(),this.rebuildRegistry()}catch(t){this.settingsWarnings.push(`Could not refresh the live model catalog: ${Be(t)}`)}}rebuildRegistry(){let t=af(this.modelList??[]);this.registry=LE({live:t,settings:this.settings,definitions:this.settings.models.definitions})}modelList=[];modelLoadPromise;async initialize(){await this.applyProviderDetection(),await We.init({ctx:this.ctx,getSettings:()=>this.settings,getCredentials:()=>this.resolveQuotaCredentials()}),this.ledger=We.ledger,this.runtime=We.runtime;let t=We.quota;if(!t)throw new Error("Shared quota service is not initialized");return this.quota=t,this.bridgeID=We.addBridge(this.ctx.location?.directory??"",this),this.modelList=[],this.rebuildRegistry(),await this.registerRpc(),await this.registerCommands(),await this.registerHooks(),this.loadModels(),()=>this.dispose()}async applyProviderDetection(){try{let t=[],n=async f=>{try{return!!await this.ctx.integration.connection.active(f)}catch{return!1}},r=async f=>{try{let g=await this.ctx.provider.get({providerID:f}),b=g?.data??g;return typeof b?.settings?.apiKey=="string"&&b.settings.apiKey.length>0}catch{return!1}},o=f=>{for(let g of UB(f))if(process.env[g]?.trim())return{has:!0,source:g};for(let g of _B(f,Bj()))try{if(lie(g))return{has:!0,source:g.replace(Bj(),"~")}}catch{}return{has:!1}};await n("opencode")&&t.push({providerID:"opencode-go",hasCredential:!0,source:"OpenCode connection"});let i=await n("commandcode"),c=o("commandcode"),d=await r("commandcode");t.push({providerID:"commandcode",hasCredential:i||c.has||d,...i?{source:"Command Code integration"}:c.source?{source:c.source}:d?{source:"OpenCode provider settings"}:{}});let u=o("opendesign"),l=await r("opendesign");t.push({providerID:"opendesign",hasCredential:u.has||l,...u.source?{source:u.source}:l?{source:"OpenCode provider settings"}:{}}),this.detectedProviders=t;let p=PB(this.settingsBase,this.explicitProviderEnable,t);p.settings!==this.settingsBase&&(this.settingsBase=p.settings,this.rebuildRegistry());for(let f of MB(p))this.settingsWarnings.includes(f)||this.settingsWarnings.push(f);for(let f of p.keptOnByChoice){let g=`providers.${f} stays enabled with no credential found \u2014 you asked for it`;this.settingsWarnings.includes(g)||this.settingsWarnings.push(g)}for(let f of p.keptOffByChoice){let g=`providers.${f} credentials found but the provider stays disabled \u2014 you asked for it`;this.settingsWarnings.includes(g)||this.settingsWarnings.push(g)}}catch(t){this.settingsWarnings.push(`Provider detection skipped: ${Be(t)}`)}}onboardingState(){let t=this.settings.providers,n=this.detectedProviders.map(o=>({providerID:o.providerID,label:o.providerID==="opencode-go"?"OpenCode Go":o.providerID==="commandcode"?"Command Code GOAT":o.providerID==="opendesign"?"OpenDesign":o.providerID,found:o.hasCredential,...o.source?{source:o.source}:{},enabled:t[o.providerID]?.enabled??!1})),r=this.ledger.usageEvents().filter(o=>String(o.id).startsWith("hist:"));return{firstRun:!this.onboardingComplete&&this.explicitProviderEnable.size===0,providers:n,historyImported:r.length,hasHistory:r.length>0,needsReading:this.quotaSnapshots().some(o=>o.source==="estimate"),mode:this.settings.mode,version:"0.2.0"}}async recordPlanPage(t){let n=AB(t.page??"");if(!n)return{ok:!1,message:"That page could not be read. Paste either the Plan & balance page or the Usage page, including its model table."};if(n.kind==="usage"){let c=DB(n),d=$y(n);return{ok:!0,message:c.differ>0?`${d} ${c.summary}`:d,preview:{kind:"usage",summary:d,found:[...n.found],missing:[...n.missing],reconciliation:{summary:c.summary,agree:c.agree,differ:c.differ,rows:[...c.rows]},apply:{}}}}if(n.designPlanUsedPct===void 0)return{ok:!1,message:$y(n)};let o={at:Date.now(),designPlanUsedPct:n.designPlanUsedPct,pctOf:n.pctOf??"weekly"};n.resetsAt!==void 0&&(o.weeklyResetsAt=n.resetsAt),n.periodEndsAt!==void 0&&(o.monthlyResetsAt=n.periodEndsAt);let s={providers:{opendesign:{baseline:o,enabled:!0}}};n.plan&&co("opendesign",n.plan.toLowerCase())&&(s.providers.opendesign.plan=n.plan.toLowerCase());let i={kind:"allowance",summary:$y(n),found:[...n.found],missing:[...n.missing],apply:s};if(t.confirm!==!0)return{ok:!0,message:i.summary,preview:i};try{let c=IB({patch:s,validate:d=>{if(Gp(d).settings.providers.opendesign?.baseline===void 0)return"That reading could not be applied. Check the page and try again."}});return await this.reloadSettingsFromDisk(),{ok:!0,message:`Recorded. ${i.summary}.`,preview:i,...c.backup?{backup:c.backup}:{}}}catch(c){return{ok:!1,message:Be(c)}}}async reloadSettingsFromDisk(){let t=Fy({options:this.ctx.options,directory:this.ctx.location?.directory,projectDirectory:this.ctx.location?.directory});this.settingsBase=t.settings,this.settingsWarnings=t.warnings,this.settingsSources=t.sources,await this.applyProviderDetection(),this.rebuildRegistry(),this.quota?.invalidate(),await Promise.allSettled([this.quota?.refresh("opencode-go",!0),this.quota?.refresh("commandcode",!0),this.quota?.refresh("opendesign",!0)])}providerResetAt(t,n=Date.now()){let r=n+hie,o=this.quotaSnapshots().find(i=>i.providerID===t);return o?[o.rolling?.resetsAt,o.weekly?.resetsAt,o.monthly?.resetsAt].filter(i=>typeof i=="number"&&i>n).sort((i,c)=>i-c)[0]??r:r}async resolveQuotaCredentials(){let t,n;try{let i=await this.ctx.integration.connection.active("opencode");if(i){let c=await this.ctx.integration.connection.resolve(i);t=c?.type==="oauth"?c.access:c?.type==="key"?c.key:void 0}}catch{}try{let i=await this.ctx.integration.connection.active("commandcode");if(i){let c=await this.ctx.integration.connection.resolve(i);n=c?.type==="key"?c.key:c?.type==="oauth"?c.access:void 0}}catch{}let r;try{let i=await this.ctx.provider.get({providerID:"commandcode"});r=(i?.data??i)?.settings?.apiKey}catch{}let{openDesignApiKey:o,openDesignControlKey:s}=await this.resolveOpenDesignCredentials();return{goAccessToken:t,commandCodeIntegrationKey:n,commandCodeProviderKey:r,openDesignApiKey:o,openDesignControlKey:s}}async resolveOpenDesignCredentials(){let t=this.settings.providers.opendesign;if(!t?.enabled)return{};let n;try{let s=await this.ctx.provider.get({providerID:"opendesign"});n=(s?.data??s)?.settings?.apiKey}catch{}let r=XB({explicitPath:t.credentialPath,providerSettingsKey:n,credentialSource:t.credentialSource});for(let s of r.warnings)this.settingsWarnings.includes(s)||this.settingsWarnings.push(s);let o=ej({explicitPath:t.controlKeyPath});for(let s of o.warnings)this.settingsWarnings.includes(s)||this.settingsWarnings.push(s);return{openDesignApiKey:r.candidates[0]?.key,openDesignControlKey:o.candidates[0]?.key}}sessionState(t){return this.ledger.ensureSession(t)}canonicalDir(t){if(!t)return"";let n=this.dirCache.get(t);if(n)return n;let r=pie(t);if(r.startsWith("/private/")&&(r=r.slice(8)),this.dirCache.size>=500){let o=this.dirCache.keys().next().value;o&&this.dirCache.delete(o)}return this.dirCache.set(t,r),r}projectMatches(t,n){let r=this.ctx.location?.project?.id;if(t&&r&&t===r)return!0;let o=this.canonicalDir(n);return this.localDir&&o?o===this.localDir||o.startsWith(`${this.localDir}/`):!t||!r}ownsSession(t){if(t.directory)return this.projectMatches(void 0,t.directory);let n=this.ctx.location?.project?.id;return!n||!t.projectID||t.projectID===n}remember(t,n,r=1e3){if(!t.has(n)&&t.size>=r){let o=t.values().next().value;o&&t.delete(o)}t.add(n)}async loadSessionInfo(t){try{let n=await this.ctx.session.get({sessionID:t});if(!this.projectMatches(n?.projectID,n?.location?.directory))return;We.claimSession(t,this.bridgeID);let r=Qy(n?.model),o=typeof n?.parentID=="string"?n.parentID:void 0,s=typeof n?.title=="string"?n.title:void 0,i=this.ledger.ensureSession(t,o,s);n?.projectID&&this.ledger.patchSession(t,{projectID:String(n.projectID)}),n?.location?.directory&&this.ledger.patchSession(t,{directory:String(n.location.directory)});let c=Zd(typeof n?.title=="string"?n.title:s);if(c&&!i.baseTitle&&this.ledger.patchSession(t,{baseTitle:c}),r&&this.ledger.patchSession(t,{lastModel:r,...i.manualOverride?{manualModel:r}:{}}),i.contextTokens===0){let d=await this.readCurrentContext(t);if(d!==void 0)this.ledger.patchSession(t,{contextTokens:d.contextTokens,cacheReadTokens:d.cacheReadTokens});else{let u=Number(n?.time?.created)||0,l=Number(n?.time?.updated)||0,p=0;n?.fork?p=35e4:u>0&&l-u>6e4&&(p=15e4),p>0&&this.ledger.patchSession(t,{contextTokens:p,cacheReadTokens:0})}}}catch{}}indicatorFor(t,n){let r=this.settings,o=n?.indicatorTitle?.startsWith("BLOCKED \xB7")?"BLOCKED":$j({enabled:r.enabled,runtimePaused:this.runtime.paused===!0,manual:n?.manualOverride===!0,dryRun:r.dryRun}),s=n?.pinnedModel??n?.manualModel??n?.lastModel,i=s?this.registry.get(s.providerID,s.id):void 0;return{state:o,...s?{provider:fT(s.providerID),model:s.id}:{},...i?{modelLabel:i.name}:s?{modelLabel:s.id}:{}}}queueTitle(t){let r=(this.titleQueue.get(t)??Promise.resolve()).catch(()=>{}).then(()=>this.applyTitleNow(t)).catch(()=>{}).finally(()=>{this.titleQueue.get(t)===r&&this.titleQueue.delete(t)});return this.titleQueue.set(t,r),r}async applyTitleNow(t){if(!this.ledger.getSession(t))return;let r;try{r=await this.ctx.session.get({sessionID:t})}catch{r=void 0}if(!this.projectMatches(r?.projectID,r?.location?.directory))return;let o=typeof r?.title=="string"?r.title:void 0;{let s=Zd(o);if(o&&s&&s!==o.trim())try{await this.ctx.session.update({sessionID:t,title:s}),this.ledger.patchSession(t,{title:s,indicatorTitle:void 0})}catch{}return}}async restoreTitles(){let t=0;for(let n of Object.values(this.ledger.data.sessions)){if(!this.ownsSession(n))continue;let r=n.title??n.indicatorTitle,o=n.baseTitle||Zd(r);if(!(!o||o===r))try{await this.ctx.session.update({sessionID:n.sessionID,title:o}),this.ledger.patchSession(n.sessionID,{title:o,indicatorTitle:void 0}),t+=1}catch(s){this.settingsWarnings.push(`Could not restore session title: ${Be(s)}`)}}return t}async notifyChange(t,n){this.settings.ui.notifications&&this.notifier.shouldNotify(t)&&await this.notifier.notify(n)}modelNotice(t,n,r,o){if(!r)return;let s=this.registry.get(r.providerID,r.id),i=`${fT(r.providerID)} \xB7 ${s?.name??r.id}`,c=o?` \u2014 ${o}`:"";this.notifyChange(`${t}:${n}:${r.providerID}:${r.id}:${o??""}`,`${n} \xB7 ${i}${c}`)}speedSnapshot(){let t={};for(let[n,r]of Object.entries(this.ledger.snapshotMetrics().byModel))r.outputTokensPerSecond<=0||r.latencySamples<=0||(t[n]={tokensPerSecond:r.outputTokensPerSecond,samples:r.latencySamples});return t}premiumState(t){let n=(c,d)=>{try{let u=c();return u??d}catch{return d}},r=n(()=>this.ledger.premiumSpent(),0),o=this.settings.premium.monthlyBudgetUsd,s=this.planPoolMonthlyUsd(),i=n(()=>typeof this.ledger.planPoolSpent=="function"?this.ledger.planPoolSpent():void 0,void 0);return{mode:this.settings.premium.mode,monthlyBudgetUsd:o,spentUsd:r,remainingUsd:Math.max(0,o-r),...s!==void 0&&i!==void 0?{planPoolRemainingUsd:Math.max(0,s-i)}:{},oneShotGranted:t?.premiumOneShot===!0,...t?.premiumOneShotAt?{oneShotGrantedAt:t.premiumOneShotAt}:{}}}planPoolMonthlyUsd(){let t=this.settings.providers.opendesign;if(!t?.enabled)return;let n=co("opendesign",t.plan);if(n)return n.pools.find(r=>r.id===Er)?.monthlyUsd}quotaSnapshots(){return this.quota?this.quota.read().map(t=>{let n=this.settings.providers[t.providerID];return!n||n.providerScopedQuota?t:this.ledger.attachModelQuotas(t,this.registry.all(),n)}):[]}async ensureContextTokens(t){if(this.contextLoaded.has(t))return;let n=this.contextInflight.get(t);if(n)return n;let r=(async()=>{try{let o=await this.readCurrentContext(t);o&&(this.sessionState(t),this.ledger.patchSession(t,{contextTokens:o.contextTokens,cacheReadTokens:o.cacheReadTokens}))}catch{}finally{this.remember(this.contextLoaded,t,2e3),this.contextInflight.delete(t)}})();return this.contextInflight.set(t,r),r}async readCurrentContext(t){try{let r=[...af(await Promise.race([this.ctx.session.context({sessionID:t}),new Promise(i=>setTimeout(()=>i({data:[]}),5e3))]))].reverse().find(i=>i?.type==="assistant"&&i?.tokens);if(!r?.tokens)return;let o=Hj(r.tokens),s=o.input+o.cache.read+o.cache.write;return s<=0?void 0:{contextTokens:s,cacheReadTokens:o.cache.read}}catch{return}}async refreshContextAfterCompaction(t){let n=await this.readCurrentContext(t);n&&(this.sessionState(t),this.ledger.patchSession(t,{contextTokens:n.contextTokens,cacheReadTokens:n.cacheReadTokens}),this.persistLedgerSoon())}classifierFiles(t){return Array.isArray(t)?t.filter(df).map(n=>({uri:typeof n.uri=="string"?n.uri:"",...typeof n.name=="string"?{name:n.name}:{},...typeof n.description=="string"?{description:n.description}:{}})).filter(n=>n.uri.length>0):[]}statusFor(t){this.settingsWarnings.length>50&&(this.settingsWarnings=this.settingsWarnings.slice(-50));let n=t?this.ledger.getSession(t):void 0,r=n?.lastModel,o=this.runtimeFor(n),s=this.registry.get(r?.providerID??"",r?.id??""),i=t?this.ledger.decisions(20).filter(u=>u.sessionID===t):this.ledger.decisions(20),c=this.quotaSnapshots(),d=[...this.settingsWarnings,...c.filter(u=>u.error).map(u=>`${u.label}: ${u.error}`)];return{enabled:this.settings.enabled,mode:this.settings.mode,runtime:o,dryRun:this.settings.dryRun,...t?{sessionID:t}:{},...r?{current:r}:{},...s?{currentTier:s.tier}:{},manualOverride:n?.manualOverride??!1,...n?.pinnedModel?{pinnedModel:n.pinnedModel}:{},premium:this.premiumState(n),quota:c,context:rB(n,this.settings.contextHealth),indicator:this.indicatorFor(t??"",n),...i[0]?{lastDecision:i[0]}:{},lastDecisions:i,metrics:this.ledger.snapshotMetrics(),approvedModels:this.registry.approved().map(u=>({key:u.key,tier:u.tier,name:u.name,intelligence:u.intelligence,design:u.design,vision:u.inputModalities.includes("image"),premium:u.premium})),models:this.registry.all().map(u=>({key:u.key,providerID:u.providerID,name:u.name,tier:u.tier,intelligence:u.intelligence,design:u.design,vision:u.inputModalities.includes("image"),premium:u.premium,context:u.context,costInput:u.cost[0]?.input??0,costOutput:u.cost[0]?.output??0,approved:u.approved,excluded:this.settings.models.excluded.includes(u.key),...u.notes?{approvalNote:u.notes}:{}})),warnings:d}}async markBlocked(t,n){let o=this.ledger.ensureSession(t).lastModel,i=(o?this.registry.get(o.providerID,o.id):void 0)?.name??o?.id??"current model";this.settingsWarnings.push(`Blocked a prompt: ${n}`),this.notifyChange(`${t}:blocked:${n}`,`BLOCKED \xB7 ${i} \u2014 ${n}`)}recordFailedDecision(t,n,r,o){let s=this.ledger.ensureSession(t),i=Bp({text:n,files:this.classifierFiles(r),contextTokens:s.contextTokens,recentFailures:s.failures.length}),c=this.runtimeFor(s),d={id:kr("dec"),at:Date.now(),sessionID:t,mode:this.settings.mode,dryRun:this.settings.dryRun,runtime:c,task:i,...s.lastModel?{current:s.lastModel}:{},switched:!1,switchReason:`Routing failed; the current model was kept: ${o}`,reasons:[`Routing failed: ${o}`],warnings:[`Routing failed: ${o}`],candidates:[],premium:this.premiumState(s),quota:this.quotaSnapshots(),contextTokens:s.contextTokens,cachedTokens:s.cacheReadTokens,estimatedUsd:0,needsPremiumApproval:!1,manualOverride:s.manualOverride===!0,error:o};return this.ledger.recordDecision(d),this.persistLedgerSoon(),this.emit("decision",{decision:d}),d}async handleRoutingFailure(t,n,r,o){let s=Be(o);this.settingsWarnings.push(`Prompt routing failed: ${s}`);try{this.recordFailedDecision(t,n,r,s)}catch(i){this.settingsWarnings.push(`Could not record the failed routing decision: ${Be(i)}`)}if(this.settings.routing.failClosed)throw await this.markBlocked(t,s),new cf(`Smart Router blocked this prompt: ${s}`)}async routePrompt(t,n,r){let o=this.settings;await this.loadSessionInfo(t);let s=this.sessionState(t);s.indicatorTitle?.startsWith("BLOCKED \xB7")&&this.ledger.patchSession(t,{indicatorTitle:void 0});let i=this.runtimeFor(s);if(this.ensureContextTokens(t),i!=="automatic"){let y=await this.routingModels(),I=Bp({text:n,files:this.classifierFiles(r),contextTokens:s.contextTokens,recentFailures:s.failures.length}),v=Xp({task:I,settings:o,mode:o.mode,runtime:i,models:y,intelligenceFloor:this.routingFloor(y).floor,current:s.lastModel,session:s,quota:this.quotaSnapshots(),premium:this.premiumState(s),contextTokens:s.contextTokens,cachedTokens:s.cacheReadTokens,dryRun:o.dryRun});return this.ledger.recordDecision(v.decision),this.persistLedgerSoon(),this.emit("decision",{decision:v.decision}),v.decision}let c=await this.routingModels(),d=Bp({text:n,files:this.classifierFiles(r),contextTokens:s.contextTokens,recentFailures:s.failures.length}),u=this.quotaSnapshots(),l=s.parentID&&o.mode==="premium"?"balanced":o.mode,p=s.parentID?{...this.premiumState(s),oneShotGranted:!1}:this.premiumState(s),f=Xp({task:d,settings:o,mode:l,runtime:i,models:c,intelligenceFloor:this.routingFloor(c).floor,current:s.lastModel,session:s,quota:u,premium:p,contextTokens:s.contextTokens,cachedTokens:s.cacheReadTokens,dryRun:o.dryRun,modelHistory:this.ledger.snapshotMetrics().byModel,cooldowns:this.ledger.cooldowns(),providerCooldowns:this.ledger.providerCooldowns(),speed:this.speedSnapshot()});s.lastModel&&this.rememberModel(t,s.lastModel.providerID,s.lastModel.id);let g;if(f.chosenModel&&f.decision.switched){let y=f.chosenModel,I=_e(y.providerID,y.modelID);if(this.expectedSwitch.size>500){let A=Date.now()-6e4;for(let[k,x]of this.expectedSwitch)x.at<A&&this.expectedSwitch.delete(k);if(this.expectedSwitch.size>500){let k=this.expectedSwitch.keys().next().value;k&&this.expectedSwitch.delete(k)}}if(this.sessionBusy(t)){this.expectedSwitch.delete(t),this.settingsWarnings.push(`Deferred a switch to ${y.providerID}/${y.modelID}: the session was mid-turn. Routing again on the next prompt.`);return}if(!await this.modelResolvable(y.providerID,y.modelID)){this.expectedSwitch.delete(t),this.settingsWarnings.push(`Skipped a switch to ${y.providerID}/${y.modelID}: OpenCode does not currently expose that model.`);return}this.expectedSwitch.set(t,{key:I,at:Date.now()});try{await this.ctx.session.switchModel({sessionID:t,model:{providerID:y.providerID,id:y.modelID}}),this.ledger.patchSession(t,{lastModel:{providerID:y.providerID,id:y.modelID},lastRoutedModel:{providerID:y.providerID,id:y.modelID}}),this.rememberModel(t,y.providerID,y.modelID),f.decision.premium.oneShotGranted&&y.premium&&this.ledger.consumePremiumOneShot(t)}catch(A){g=Be(A),this.expectedSwitch.delete(t),this.settingsWarnings.push(`Model switch failed: ${g}`)}}let b=g?{...f.decision,error:g,switched:!1,switchReason:`Switch failed; kept the current model. ${g}`,warnings:[...f.decision.warnings,`Switch failed: ${g}`]}:f.decision;if(i==="automatic"&&o.routing.failClosed&&(!b.chosen||g)){let y=s.lastModel?this.registry.get(s.lastModel.providerID,s.lastModel.id):void 0,I=jy({settings:o,mode:l,task:d,session:s,premium:p}),v=y?Hd({model:y,task:d,settings:o,mode:l,contextTokens:s.contextTokens,providerQuota:u.find(R=>R.providerID===y.providerID),modelQuota:u.find(R=>R.providerID===y.providerID)?.models[`${y.providerID}/${y.modelID}`],premium:I,currentModelKey:y.key}):{eligible:!1,reason:"No current model is recorded for this session",warnings:[]};if(!v.eligible){let R=v.reason;await this.markBlocked(t,R);let A={...b,error:R,switched:!1,switchReason:`Prompt blocked: ${R}`,warnings:[...b.warnings,`Prompt blocked: ${R}`]};throw this.ledger.recordDecision(A),this.persistLedgerSoon(),this.emit("decision",{decision:A}),new cf(`Smart Router blocked this prompt: ${R}`)}}this.ledger.recordDecision(b),this.persistLedgerSoon(),this.emit("decision",{decision:b}),b.needsPremiumApproval&&(this.emit("status",{summary:{needsPremiumApproval:!0,sessionID:t}}),this.notifyChange(`${t}:premium-needed`,"Premium approval required. Run /router-approve for this session.")),this.queueTitle(t);let S=this.indicatorFor(t,this.ledger.getSession(t));if(b.switched&&b.chosen){let y=b.task.tier===1?"economy":b.task.tier===3?"premium":"standard";this.modelNotice(t,S.state,b.chosen,`${y} task \xB7 quota-aware route`)}return b}routeBudgetMs(){let t=Number(this.settings?.routing?.routeBudgetMs);return Number.isFinite(t)&&t>0?Math.min(t,6e4):1e4}async registerHooks(){this.registrations.push(await this.ctx.session.hook("prompt",Zy(async t=>{let n=t.sessionID;if(n){try{let r=await this.ctx.session.get({sessionID:n});if(!this.projectMatches(r?.projectID,r?.location?.directory))return}catch{}if(We.claimSession(n,this.bridgeID),this.remember(this.promptSeen,n),this.pendingHeals.delete(n),!this.inflight.has(n)){this.inflight.add(n);try{let r=await qj({work:()=>this.routePrompt(n,t.prompt?.text??"",t.prompt?.files),ms:this.routeBudgetMs(),onTimeout:()=>{this.settingsWarnings.push(`Routing did not finish within ${this.routeBudgetMs()}ms; the prompt was served without a route.`)}});r&&this.promptRoutes.set(n,{messageID:typeof t.messageID=="string"?t.messageID:void 0,task:r.task,decision:r,at:Date.now()})}catch(r){if(r instanceof cf||r?.name==="RouterBlockedError")throw r;await this.handleRoutingFailure(n,t.prompt?.text??"",t.prompt?.files,r)}finally{this.inflight.delete(n)}}}},{label:"prompt routing",allowBlocked:!0,onContained:t=>{this.settingsWarnings.push(`Routing skipped: ${t}`)}}))),this.registrations.push(await this.ctx.session.hook("model.request",Zy(t=>{if(We.ownerOf(t.sessionID)===this.bridgeID){if(typeof t.kind=="string"&&t.kind){if(this.requestKinds.size>500){let n=Date.now()-6e4;for(let[r,o]of this.requestKinds)o.at<n&&this.requestKinds.delete(r);if(this.requestKinds.size>500){let r=this.requestKinds.keys().next().value;r&&this.requestKinds.delete(r)}}this.requestKinds.set(t.sessionID,{kind:t.kind,at:Date.now()})}t.model?.providerID==="opencode-go"&&(t.headers["x-opencode-session"]=t.headers["x-opencode-session"]??t.sessionID),this.settings.privacy.requireZdr&&t.model?.providerID==="commandcode"&&(t.headers["x-cmd-zdr"]="1")}},{label:"request bookkeeping",onContained:t=>this.settingsWarnings.push(`Request bookkeeping skipped: ${t}`)}))),this.registrations.push(await this.ctx.session.hook("context",async t=>{try{if(!await this.ensureOwnership(t.sessionID))return;let n=this.requestKinds.get(t.sessionID);if(this.requestKinds.delete(t.sessionID),n&&n.kind!=="primary")return;let r=this.ledger.getSession(t.sessionID),o=t.model??r?.lastModel,s=o?this.registry.get(o.providerID,o.id):void 0,i=aB({...s??{},providerID:o?.providerID??"",modelID:o?.id??""});if(i!=="anthropic")return;let c=iB(t.messages,{protocol:i});c.folded>0&&(t.messages=c.messages)}catch(n){this.settingsWarnings.push(`Prompt repair failed: ${Be(n)}`)}})),this.registrations.push(await this.ctx.session.hook("retry",Zy(async t=>{if(We.ownerOf(t.sessionID)!==this.bridgeID)return;let n=this.ledger.getSession(t.sessionID),r=FE({type:t.error?.type,message:t.error?.message??"",status:t.error?.status},n),o=typeof t.assistantMessageID=="string"?t.assistantMessageID:typeof t.attemptID=="string"?t.attemptID:void 0;if(this.alreadyRecorded(t.sessionID,r.class,t.error?.message??"",o)||this.ledger.recordFailure(t.sessionID,t.model,r.class,t.error?.message??"",{countAgainstModel:r.countAgainstModel,cooldownMs:r.cooldownMs,providerScoped:r.providerScoped,saturation:r.saturation===!0}),this.ledger.recordRetry(t.sessionID),this.persistLedgerSoon(),r.class==="auth"||r.class==="context_overflow"||r.class==="image_rejected"){t.decision={retry:!1};return}if(r.class==="quota_exhausted"){let s=t.model?.providerID;s&&this.ledger.exhaustProvider(s,this.providerResetAt(s)),this.settingsWarnings.push(`${s??"The provider"} reported no allowance left. Routing will avoid it until its window resets.`),t.decision={retry:!1},this.persistLedgerSoon();return}if(r.class==="capability"){t.decision={retry:!1};return}if(r.class==="prompt_rejected"){t.decision={retry:!1};try{await this.attemptSelfHeal(t.sessionID,t)}catch(s){this.settingsWarnings.push(`Prompt-rejection failover failed: ${Be(s)}`)}this.persistLedgerSoon();return}if(r.class==="rate_limit"){t.decision={retry:!0,delay:Math.max(5e3,t.error?.retryAfterMs??15e3)};return}r.providerScoped?t.attempt>=mie?t.decision={retry:!1}:t.decision={retry:!0,delay:Math.min(4e4,5e3*2**(t.attempt-1))}:(r.class==="provider_outage"||r.class==="network")&&t.attempt>=3&&(t.decision={retry:!1})},{label:"retry handling",onContained:t=>this.settingsWarnings.push(`Retry handling skipped: ${t}`)})))}async ensureOwnership(t){let n=We.ownerOf(t);if(n)return n===this.bridgeID;try{let r=await this.ctx.session.get({sessionID:t});return this.projectMatches(r?.projectID,r?.location?.directory)?(We.claimSession(t,this.bridgeID),!0):!1}catch{return!1}}async recordProviderFault(t,n,r,o){let s=this.ledger.getSession(t),i=s?.lastModel;if(!i)try{let u=await this.ctx.session.get({sessionID:t}),l=Qy(u?.model);l&&(i=l,this.ledger.patchSession(t,{lastModel:l}),this.rememberModel(t,l.providerID,l.id))}catch{}let c=typeof r?.message=="string"&&r.message.trim().length>0?r.message:n==="interrupted"?"Step interrupted":"The provider ended the response without completing it",d=FE({type:typeof r?.type=="string"?r.type:n,message:c,...typeof r?.status=="number"?{status:r.status}:{}},s);this.alreadyRecorded(t,d.class,c,o)||this.ledger.recordFailure(t,i,d.class,c,{countAgainstModel:d.countAgainstModel,cooldownMs:d.cooldownMs,providerScoped:d.providerScoped,saturation:d.saturation===!0})}static PROMPT_REJECTED_HOLD_MS=5*6e4;async attemptSelfHeal(t,n){let r=this.promptRoutes.get(t),o=Qy(n.model)??this.ledger.getSession(t)?.lastModel;if(!o)return;let s=_e(o.providerID,o.id),i=p=>this.ledger.holdModel(p,e.PROMPT_REJECTED_HOLD_MS);if(!r||r.healedAt){i(o),this.noteSelfHeal(t,r,o,"noted");return}if(this.runtimeFor(this.sessionState(t))!=="automatic"){i(o),this.noteSelfHeal(t,r,o,"noted");return}let c=this.sessionState(t),d=await this.routingModels(),u=Xp({task:r.task,settings:this.settings,mode:c.parentID&&this.settings.mode==="premium"?"balanced":this.settings.mode,runtime:"automatic",models:d,intelligenceFloor:this.routingFloor(d).floor,current:o,session:c,quota:this.quotaSnapshots(),premium:c.parentID?{...this.premiumState(c),oneShotGranted:!1}:this.premiumState(c),contextTokens:c.contextTokens,cachedTokens:c.cacheReadTokens,dryRun:this.settings.dryRun,modelHistory:this.ledger.snapshotMetrics().byModel,cooldowns:{...this.ledger.cooldowns(),[s]:Date.now()+e.PROMPT_REJECTED_HOLD_MS},providerCooldowns:this.ledger.providerCooldowns(),speed:this.speedSnapshot()}),l=u.chosenModel;if(!l||!u.decision.switched||_e(l.providerID,l.modelID)===s){r.healedAt=Date.now(),i(o),this.noteSelfHeal(t,r,o,"noted");return}if(typeof this.ctx.session.switchModel!="function"||typeof this.ctx.session.synthetic!="function"||!await this.modelResolvable(l.providerID,l.modelID)){r.healedAt=Date.now(),i(o),this.noteSelfHeal(t,r,o,"noted");return}r.healedAt=Date.now(),i(o),this.pendingHeals.set(t,{chosen:l,base:u.decision,rejectedLabel:`${o.providerID}/${o.id}`}),this.sessionBusy(t)||await this.flushPendingHeal(t)}async flushPendingHeal(t){let n=this.pendingHeals.get(t);if(!n||(this.pendingHeals.delete(t),We.ownerOf(t)!==this.bridgeID))return;let r=n.chosen;this.expectedSwitch.set(t,{key:_e(r.providerID,r.modelID),at:Date.now()});try{await this.ctx.session.switchModel({sessionID:t,model:{providerID:r.providerID,id:r.modelID}}),this.ledger.patchSession(t,{lastModel:{providerID:r.providerID,id:r.modelID},lastRoutedModel:{providerID:r.providerID,id:r.modelID}}),this.rememberModel(t,r.providerID,r.modelID),n.base.premium.oneShotGranted&&r.premium&&this.ledger.consumePremiumOneShot(t),await this.ctx.session.synthetic({sessionID:t,text:`[router] The request was rejected on ${n.rejectedLabel}, so the router moved it to ${r.providerID}/${r.modelID}.`,description:"Smart Router",resume:!0});let o={...n.base,id:`${n.base.id}+heal`,switched:!0,switchReason:"selfheal",selfheal:{rejected:n.rejectedLabel,action:`continued on ${r.providerID}/${r.modelID}`}};this.ledger.recordDecision(o),this.emit("decision",{decision:o}),this.persistLedgerSoon()}catch(o){this.expectedSwitch.delete(t),this.settingsWarnings.push(`Self-heal switch failed: ${Be(o)}`),this.persistLedgerSoon()}}noteSelfHeal(t,n,r,o){n&&(this.ledger.recordDecision({...n.decision,id:`${n.decision.id}+heal-note`,switched:!1,dryRun:!1,needsPremiumApproval:!1,chosen:n.decision.current,selfheal:{rejected:`${r.providerID}/${r.id}`,action:o}}),this.persistLedgerSoon())}rememberModel(t,n,r){let o=this.modelsSeen.get(t);o||(o=new Set,this.modelsSeen.set(t,o)),o.add(_e(n,r))}sessionBusy(t){return this.stepStarted.has(t)?!0:this.ledger.getSession(t)?.status==="busy"}async modelResolvable(t,n){let r=af(this.modelList??[]);if(Array.isArray(r)&&r.length>0&&r.some(i=>i?.providerID===t)&&!r.some(c=>c?.providerID===t&&c?.id===n))return!1;let o=this.ctx?.model?.get;if(typeof o!="function")return!0;try{return!!await o.call(this.ctx.model,t,n)}catch{return!0}}async routingModels(){if(this.settings.offline?.enabled)return this.registry.modelsForOffline();let t=this.registry.approved();await this.ensureModelsLoaded();let n=af(this.modelList??[]);if(!Array.isArray(n)||n.length===0)return t;let r=new Set(n.map(o=>_e(o?.providerID??"",o?.id??"")));return t.filter(o=>r.has(o.key))}async ensureModelsLoaded(){af(this.modelList??[]).length>0||(this.modelLoadPromise||(this.modelLoadPromise=this.loadModels().finally(()=>{this.modelLoadPromise=void 0})),await this.modelLoadPromise)}floorReport(){let t=this.registry.approved(),n=this.settings.routing.intelligenceFloor,r=this.settings.routing.calibrateFloor===!0,o=this.settings.offline?.enabled===!0,s=Date.now(),i=this.ledger.usageByModel({since:s-12096e5}),c=QE(this.settings,{models:t,usage:i,now:s}),d=r&&!o?c.floor:n,u=i.filter(l=>l.requests>0).map(l=>{let p=this.registry.get(l.providerID,l.modelID);return{model:`${l.providerID}/${l.modelID}`,requests:l.requests,usd:Number(l.usd.toFixed(6)),usdPerRequest:Number((l.usd/l.requests).toFixed(6)),intelligence:p?.intelligence??null}}).sort((l,p)=>l.usdPerRequest-p.usdPerRequest);return{calibrateFloor:r,offlineBypass:o,configuredFloor:n,floorInForce:d,calibrated:c.calibrated,source:c.calibrated?"measured":r?"configured (not calibrated)":"configured",reason:c.reason,baselineUsdPerRequest:c.baselineUsdPerRequest,admittedUsdPerRequest:c.admittedUsdPerRequest,windowDays:Math.round(12096e5/864e5),minRequests:5,admitted:t.filter(l=>!l.escalationOnly&&!l.premium).filter(l=>l.intelligence>=d).map(l=>({model:`${l.providerID}/${l.modelID}`,intelligence:l.intelligence,listInputUsdPerMtok:l.cost?.[0]?.input??null})).sort((l,p)=>(l.listInputUsdPerMtok??0)-(p.listInputUsdPerMtok??0)),measuredTraffic:u,totalRequests:u.reduce((l,p)=>l+p.requests,0)}}routingFloor(t){if(this.settings.routing.calibrateFloor!==!0||this.settings.offline?.enabled===!0)return{floor:this.settings.routing.intelligenceFloor};let n=Date.now();if(this.floorCache&&n-this.floorCache.at<fie)return this.floorCache.value;let r=QE(this.settings,{models:t,usage:this.ledger.usageByModel({since:n-12096e5}),now:n}),o={floor:r.floor,calibration:r};return this.floorCache={at:n,value:o},o}cheapestVariantContext(t){let n;for(let r of this.registry.approved()){if(r.modelID!==t)continue;let o=r.creditMultiplier&&r.creditMultiplier>0?r.creditMultiplier:1;(!n||o<n.multiplier||o===n.multiplier&&r.context>n.context)&&(n={multiplier:o,context:r.context})}return n?.context??0}maybeCompactForCost(t){let n=this.settings;if(!n.enabled||this.runtime.paused===!0||this.ledger.getSession(t)?.paused===!0||!n.contextManagement.enabled)return;let r=this.ledger.getSession(t),o=r?.lastModel;if(!o||r?.status!=="idle")return;let s=this.registry.get(o.providerID,o.id);if(!s||s.context<=0)return;let i=r?.contextTokens??0;if(i<=0)return;let c=Date.now(),d=n.contextManagement.cooldownMinutes*6e4,u=this.routerCompactAt.get(t);if(typeof u=="number"&&c-u<d)return;let l=s.context,p=n.contextManagement.mode==="budget-optimized"?this.cheapestVariantContext(s.modelID)||s.context:l,f=oB({mode:n.contextManagement.mode,settings:n.contextManagement,contextTokens:i,effectiveWindow:l,cheapestWindow:p});this.lastCompactionDecision.set(t,f),f.compact&&typeof this.ctx.session.compact=="function"&&(this.routerCompactAt.set(t,c),this.ledger.patchSession(t,{status:"busy"}),this.persistLedgerSoon(),Promise.resolve(this.ctx.session.compact({sessionID:t})).then(()=>{this.ledger.patchSession(t,{status:"idle"}),this.emit("status",{sessionID:t,summary:{note:`${f.hardLimit?"Protected context limit":"Compacted"}: ${f.reason} (${(i/1e3).toFixed(0)}k to fit ${((f.targetTokens??l)/1e3).toFixed(0)}k)`,contextManagement:n.contextManagement.mode}})}).catch(g=>{this.ledger.patchSession(t,{status:"idle"}),this.settingsWarnings.push(`Auto-compact failed: ${Be(g)}`)}))}alreadyRecorded(t,n,r,o){let s=Date.now(),i=o?`${t} ${n} attempt:${o}`:`${t} ${n} text:${r.slice(0,200)}`,c=this.recordedFaults.get(i);if(o){if(c!==void 0)return!0}else if(typeof c=="number"&&s-c<jj)return!0;if(this.recordedFaults.set(i,s),this.recordedFaults.size>500)for(let[d,u]of this.recordedFaults)s-u>=jj&&this.recordedFaults.delete(d);return!1}async handleEvent(t){let n=t?.type,r=process.env.SMART_ROUTER_EVENT_LOG;if(r)try{uie(r,`${JSON.stringify({at:Date.now(),type:n,sessionID:t?.data?.sessionID,keys:Object.keys(t?.data??{})})}
|
|
35
|
+
`)}catch{}let o=t?.data??{},s=typeof o.sessionID=="string"?o.sessionID:void 0;if(s&&n!=="session.created"&&!await this.ensureOwnership(s)){We.noteEvent(!1);return}if(We.noteEvent(!0),n==="session.created"){let i=o.sessionID;if(typeof i!="string")return;if(!this.projectMatches(typeof o.projectID=="string"?o.projectID:void 0,typeof o.location?.directory=="string"?o.location.directory:void 0)){We.noteEvent(!1);return}if(!this.created.has(i)&&this.created.size>=500){let u=this.created.keys().next().value;u&&this.created.delete(u)}this.created.set(i,Date.now());let c=this.ledger.ensureSession(i,o.parentID,o.title);typeof o.projectID=="string"&&this.ledger.patchSession(i,{projectID:o.projectID}),typeof o.location?.directory=="string"&&this.ledger.patchSession(i,{directory:o.location.directory});let d=Zd(typeof o.title=="string"?o.title:void 0);d&&!c.baseTitle&&this.ledger.patchSession(i,{baseTitle:d}),this.persistLedgerSoon();return}if(n==="session.renamed"){let i=o.sessionID;if(typeof i!="string"||typeof o.title!="string")return;let c=this.ledger.getSession(i);if(!c||o.title===c.indicatorTitle)return;let d=Zd(o.title);d&&this.ledger.patchSession(i,{baseTitle:d}),this.queueTitle(i);return}if(n==="session.deleted"){s&&(We.releaseSession(s),this.stepStarted.delete(s),this.contextLoaded.delete(s),this.expectedSwitch.delete(s),this.promptSeen.delete(s),this.created.delete(s));return}if(n==="session.model.selected"){let i=o.sessionID;if(typeof i!="string")return;let c=Qy(o.model);if(!c)return;let d=this.expectedSwitch.get(i),u=_e(c.providerID,c.id);if(d?.key===u&&Date.now()-d.at<15e3){this.expectedSwitch.delete(i);return}let p=this.created.get(i)??0;if(!this.promptSeen.has(i)&&Date.now()-p<5e3&&!o.previous)return;let g=_e(c.providerID,c.id),S=this.modelsSeen.get(i)?.has(g)===!0;if(this.rememberModel(i,c.providerID,c.id),S){this.ledger.patchSession(i,{lastModel:c}),this.persistLedgerSoon();return}this.ledger.setManual(i,c),this.persistLedgerSoon(),this.emit("status",{sessionID:i,summary:{manualOverride:!0,model:c}}),this.queueTitle(i),this.modelNotice(i,"MANUAL",c,"automatic routing suspended \xB7 /router-auto to resume");return}if(n==="session.execution.started"){let i=o.sessionID;if(typeof i=="string"){if(!this.stepStarted.has(i)&&this.stepStarted.size>=500){let c=this.stepStarted.keys().next().value;c&&this.stepStarted.delete(c)}this.stepStarted.set(i,Date.now()),this.ledger.patchSession(i,{status:"busy"}),this.persistLedgerSoon()}return}if(n==="session.execution.succeeded"||n==="session.execution.failed"||n==="session.execution.interrupted"||n==="session.idle"){let i=o.sessionID;if(typeof i=="string"){if(this.ledger.patchSession(i,{status:"idle"}),this.stepStarted.delete(i),n!=="session.execution.succeeded")try{this.sessionBusy(i)||await this.flushPendingHeal(i)}catch(u){this.settingsWarnings.push(`Prompt-rejection failover failed: ${Be(u)}`)}let c=typeof o.outcome=="string"?o.outcome:void 0,d=typeof o.assistantMessageID=="string"?o.assistantMessageID:void 0;n==="session.execution.failed"||c==="failed"?await this.recordProviderFault(i,"failed",o.error,d):(n==="session.execution.interrupted"||c==="interrupted")&&await this.recordProviderFault(i,"interrupted",o.error,d),(n==="session.execution.succeeded"||n==="session.idle")&&this.maybeCompactForCost(i),this.persistLedgerSoon()}return}if(n==="session.compaction.ended"||n==="session.compaction.failed"){let i=o.sessionID;if(typeof i!="string")return;this.contextLoaded.delete(i),this.ledger.getSession(i)&&this.ledger.patchSession(i,{contextTokens:0,cacheReadTokens:0}),this.refreshContextAfterCompaction(i),this.persistLedgerSoon();return}if(n==="session.step.ended"){let i=o.sessionID;if(typeof i!="string")return;let d=this.ledger.getSession(i)?.lastModel,u=Hj(o.tokens),l=this.stepStarted.get(i)?Date.now()-(this.stepStarted.get(i)??Date.now()):void 0;if(d){let p=this.registry.get(d.providerID,d.id),f=d.providerID==="opendesign"&&p!==void 0&&!_o.has(d.id);this.ledger.recordUsage({sessionID:i,model:d,cost:typeof o.cost=="number"?o.cost:0,tokens:u,at:typeof t.created=="number"?t.created:Date.now(),latencyMs:l,premium:p?.premium??!1,planPool:f}),this.ledger.recordProviderSuccess(d.providerID)}this.persistLedgerSoon();return}if(n==="session.step.failed"){let i=o.sessionID;if(typeof i!="string")return;let c=typeof o.assistantMessageID=="string"?o.assistantMessageID:void 0;await this.recordProviderFault(i,"failed",o.error,c),this.persistLedgerSoon();return}if(n==="session.retry.scheduled"){let i=o.sessionID;typeof i=="string"&&(this.ledger.recordRetry(i),this.persistLedgerSoon())}}async registerRpc(){let n=Object.fromEntries(Object.entries({status:async r=>this.statusFor(r?.sessionID),onboarding:async()=>this.onboardingState(),completeOnboarding:async()=>(this.onboardingComplete=!0,{ok:!0}),recordPlanPage:async r=>this.recordPlanPage(r),preview:async r=>{let o=r?.sessionID??"preview",s=this.ledger.getSession(o),i=Bp({text:r?.text??"",files:this.classifierFiles(r?.files),contextTokens:s?.contextTokens??0,recentFailures:s?.failures.length??0}),c=!!s?.parentID,d=c&&this.settings.mode==="premium"?"balanced":this.settings.mode,u=c?{...this.premiumState(s),oneShotGranted:!1}:this.premiumState(s);return Xp({task:i,settings:this.settings,mode:d,runtime:s?.manualOverride?"manual":this.settings.enabled?"automatic":"paused",models:this.registry.approved(),current:s?.lastModel,session:s,quota:this.quotaSnapshots(),premium:u,contextTokens:s?.contextTokens??0,cachedTokens:s?.cacheReadTokens??0,dryRun:!0,modelHistory:this.ledger.snapshotMetrics().byModel,cooldowns:this.ledger.cooldowns()}).decision},setMode:async r=>{this.runtime.mode=r.mode,this.persistRuntime();let o=this.statusFor();return this.emit("status",{summary:o}),o},setPaused:async r=>{this.runtime.paused=!!r.paused,this.persistRuntime(),this.notifyChange(`global:paused:${!!r.paused}`,r.paused?"PAUSED \xB7 automatic routing is paused":"AUTO \xB7 automatic routing resumed");let o=this.statusFor();return this.emit("status",{summary:o}),o},setSessionAuto:async r=>{let o=r.sessionID;await this.loadSessionInfo(o);let s=!!r.auto;this.ledger.patchSession(o,{paused:!s}),s&&(this.ledger.clearManual(o),this.ledger.patchSession(o,{pinnedModel:void 0})),this.persistLedgerSoon(),await this.queueTitle(o),this.modelNotice(o,s?"AUTO":"MANUAL",this.ledger.getSession(o)?.lastModel,s?"automatic routing resumed":"automatic routing off for this session");let i=this.statusFor(o);return this.emit("status",{sessionID:o,summary:i}),i},setDryRun:async r=>{this.runtime.dryRun=!!r.dryRun,this.persistRuntime(),this.notifyChange(`global:dry-run:${!!r.dryRun}`,r.dryRun?"DRY RUN \xB7 decisions will be explained, not applied":"AUTO \xB7 routing will apply decisions");let o=this.statusFor();return this.emit("status",{summary:o}),o},resumeAuto:async r=>{let o=r.sessionID;await this.loadSessionInfo(o),this.ledger.clearManual(o),this.ledger.patchSession(o,{pinnedModel:void 0,paused:!1,premiumOneShot:!1}),this.persistLedgerSoon(),await this.queueTitle(o),this.modelNotice(o,"AUTO",this.ledger.getSession(o)?.lastModel,"automatic routing resumed");let s=this.statusFor(o);return this.emit("status",{sessionID:o,summary:s}),s},pin:async r=>{let o={providerID:r.providerID,id:r.modelID,...typeof r.variant=="string"&&r.variant.length>0?{variant:r.variant}:{}};this.ledger.setManual(r.sessionID,o),this.ledger.patchSession(r.sessionID,{pinnedModel:o,lastModel:o}),this.rememberModel(r.sessionID,o.providerID,o.id),this.queueTitle(r.sessionID),this.modelNotice(r.sessionID,"MANUAL",o,"pinned \xB7 /router-auto to resume"),this.expectedSwitch.set(r.sessionID,{key:_e(o.providerID,o.id),at:Date.now()});try{await this.ctx.session.switchModel({sessionID:r.sessionID,model:o})}catch(i){this.expectedSwitch.delete(r.sessionID),this.settingsWarnings.push(`Pin switch failed: ${Be(i)}`)}this.persistLedgerSoon();let s=this.statusFor(r.sessionID);return this.emit("status",{sessionID:r.sessionID,summary:s}),s},approvePremium:async r=>{this.ledger.grantPremiumOneShot(r.sessionID),this.persistLedgerSoon(),this.notifyChange(`${r.sessionID}:premium-granted`,"Premium approval granted for this session.");let o=this.statusFor(r.sessionID);return this.emit("status",{sessionID:r.sessionID,summary:o}),o},denyPremium:async r=>{this.ledger.consumePremiumOneShot(r.sessionID),this.persistLedgerSoon(),this.notifyChange(`${r.sessionID}:premium-denied`,"Premium approval cleared for this session.");let o=this.statusFor(r.sessionID);return this.emit("status",{sessionID:r.sessionID,summary:o}),o},excludeModel:async r=>{let o=_e(r.providerID,r.modelID),s=new Set(this.runtime.excluded??[]);r.excluded?s.add(o):s.delete(o),this.runtime.excluded=[...s],this.persistRuntime(),this.rebuildRegistry();let i=this.statusFor();return this.emit("status",{summary:i}),i},setPremiumBudget:async r=>{this.runtime.premiumBudgetUsd=r.usd,this.persistRuntime();let o=this.statusFor();return this.emit("status",{summary:o}),o},setReserve:async r=>{let o={...this.runtime.reserves??{}};o[r.providerID]={...o[r.providerID]??{},...typeof r.monthlyPct=="number"?{monthlyPct:r.monthlyPct}:{},...typeof r.weeklyPct=="number"?{weeklyPct:r.weeklyPct}:{},...typeof r.fiveHourPct=="number"?{fiveHourPct:r.fiveHourPct}:{}},this.runtime.reserves=o,this.persistRuntime();let s=this.statusFor();return this.emit("status",{summary:s}),s},refreshQuota:async()=>{await Promise.allSettled([this.quota.refresh("opencode-go",!0),this.quota.refresh("commandcode",!0)]);let r=this.statusFor();return this.emit("status",{summary:r}),r},report:async()=>this.report(),usage:async()=>this.usageReport(),floor:async()=>this.floorReport(),setCalibrateFloor:async r=>{let o=!!r?.enabled;return{...this.floorReport(),setting:"routing.calibrateFloor",requested:o,applied:!1,instruction:o?"Set routing.calibrateFloor to true in smart-router.json, then restart the router.":"Set routing.calibrateFloor to false in smart-router.json, then restart the router."}},getConfig:async()=>({settings:(()=>{let r=this.safe(this.settings);for(let o of Object.values(r.providers??{}))o&&typeof o=="object"&&delete o.credentialPath;return r})(),sources:this.settingsSources,warnings:this.settingsWarnings,runtime:this.runtime,ledgerUpdatedAt:this.ledger.data.updatedAt,models:this.registry.approved().map(r=>({key:r.key,tier:r.tier,intelligence:r.intelligence,design:r.design,premium:r.premium,training:r.training,monthlyAllowanceUsd:r.monthlyAllowanceUsd}))}),resetOverrides:async()=>{for(let o of Object.keys(this.runtime))delete this.runtime[o];We.runtime=this.runtime,this.persistRuntime(),this.rebuildRegistry();let r=this.statusFor();return this.emit("status",{summary:r}),r},resetMetrics:async()=>{await We.resetLedger(),this.ledger=We.ledger,this.contextLoaded.clear(),this.contextInflight.clear();let r=this.statusFor();return this.emit("status",{summary:r}),r},refreshIndicator:async r=>{await this.loadSessionInfo(r.sessionID),await this.queueTitle(r.sessionID);let o=this.statusFor(r.sessionID);return this.emit("status",{sessionID:r.sessionID,summary:o}),o},setTitleIndicator:async r=>{r?.enabled!==!0&&await this.restoreTitles();let o=this.statusFor();return this.emit("status",{summary:o}),o},diagnostics:async()=>We.diagnostics()}).map(([r,o])=>[r,async s=>this.safe(await o(s))]));this.rpcRegistration=await this.ctx.rpc.register(Lj,n)}async registerCommands(){let t=async(r,o)=>{try{await this.ctx.session.synthetic({sessionID:r,text:o,description:"Smart Router",resume:!1})}catch(s){this.settingsWarnings.push(`Could not display router command output: ${Be(s)}`)}},n=(r,o,s)=>this.ctx.command.transform(i=>{i.add({name:r,description:o,execute:s})});this.registrations.push(await n("router-status","Show the current routing decision, tier and quota state",async({sessionID:r})=>{await this.loadSessionInfo(r),await this.queueTitle(r);let o=this.statusFor(r),s=o.lastDecision,i=[`Smart Router: ${o.indicator.state} \xB7 ${o.mode}${o.dryRun?" \xB7 dry run":""}`,o.current?`Current: ${o.current.providerID}/${o.current.id}${o.currentTier?` (tier ${o.currentTier})`:""}`:"Current: unknown",s?`Task: tier ${s.task.tier} ${s.task.kind}; chosen: ${s.chosen?`${s.chosen.providerID}/${s.chosen.id}`:"none"}`:"No decision yet",s?`Why: ${s.switchReason}`:"",...o.quota.flatMap(c=>Fj(c)),o.premium.mode!=="off"?`Premium: ${o.premium.mode}, ${Rt(o.premium.remainingUsd)} remaining${o.premium.oneShotGranted?", one-shot approved":""}`:"Premium: off",...o.warnings.slice(0,4).map(c=>`Warning: ${c}`)].filter(Boolean);await t(r,i.join(`
|
|
36
|
+
`))})),this.registrations.push(await n("router-auto","Resume automatic routing for this session",async({sessionID:r})=>{this.ledger.clearManual(r),this.ledger.patchSession(r,{pinnedModel:void 0,paused:!1}),this.persistLedgerSoon(),this.queueTitle(r),this.modelNotice(r,"AUTO",this.ledger.getSession(r)?.lastModel,"automatic routing resumed"),await t(r,"AUTO \xB7 automatic routing resumed for this session.")})),this.registrations.push(await n("router-pin","Pin a model for this session: /router-pin provider/model",async({sessionID:r,prompt:o})=>{let s=String(o?.text??"").trim().split(/\s+/).pop()??"",[i,c]=s.split("#",2),d=IE(i??"");if(!d.modelID){await t(r,"Usage: /router-pin provider/model[#variant]");return}let u={providerID:d.providerID,id:d.modelID,...c?{variant:c}:{}};this.ledger.setManual(r,u),this.ledger.patchSession(r,{pinnedModel:u,lastModel:u}),this.rememberModel(r,u.providerID,u.id),this.expectedSwitch.set(r,{key:s,at:Date.now()});try{await this.ctx.session.switchModel({sessionID:r,model:u}),this.queueTitle(r),this.modelNotice(r,"MANUAL",u,"pinned \xB7 /router-auto to resume"),await t(r,`MANUAL \xB7 pinned ${s}. Automatic routing is suspended for this session. Run /router-auto to resume.`)}catch(l){this.expectedSwitch.delete(r),await t(r,`Could not pin ${s}: ${Be(l)}`)}this.persistLedgerSoon()})),this.registrations.push(await n("router-mode","Set routing mode: efficiency, balanced, or premium",async({sessionID:r,prompt:o})=>{let s=String(o?.text??"").trim().split(/\s+/).pop();if(s!=="efficiency"&&s!=="balanced"&&s!=="premium"){await t(r,"Usage: /router-mode efficiency|balanced|premium");return}this.runtime.mode=s,this.persistRuntime(),await t(r,`Routing mode set to ${s}.`)})),this.registrations.push(await n("router-approve","Approve one premium request for this session",async({sessionID:r})=>{this.ledger.grantPremiumOneShot(r),this.persistLedgerSoon(),await t(r,"One-shot premium approval granted for this session.")})),this.registrations.push(await n("router-pause","Pause automatic routing globally",async({sessionID:r})=>{this.runtime.paused=!0,this.persistRuntime(),this.notifyChange("global:paused:true","PAUSED \xB7 automatic routing is paused"),await t(r,"PAUSED \xB7 automatic routing is paused.")})),this.registrations.push(await n("router-resume","Resume automatic routing globally",async({sessionID:r})=>{this.runtime.paused=!1,this.persistRuntime(),this.notifyChange("global:paused:false","AUTO \xB7 automatic routing resumed"),await t(r,"AUTO \xB7 automatic routing resumed.")})),this.registrations.push(await n("router-report","Show local usage and routing metrics",async({sessionID:r})=>{await t(r,this.formatReport())})),this.registrations.push(await n("router-floor","Show the intelligence floor in force and where it came from",async({sessionID:r})=>{await t(r,this.formatFloor())})),this.registrations.push(await n("router-dry-run","Enable or disable dry-run routing: /router-dry-run on|off",async({sessionID:r,prompt:o})=>{let s=String(o?.text??"").trim().split(/\s+/).pop();if(s!=="on"&&s!=="off"){await t(r,"Usage: /router-dry-run on|off");return}this.runtime.dryRun=s==="on",this.persistRuntime(),this.notifyChange(`global:dry-run:${s==="on"}`,s==="on"?"DRY RUN \xB7 decisions will be explained, not applied":"AUTO \xB7 routing will apply decisions"),await t(r,s==="on"?"DRY RUN \xB7 decisions will be explained, not applied.":"AUTO \xB7 routing will apply decisions.")})),this.registrations.push(await n("router-title","Strip router-written prefixes from existing session titles: /router-title off",async({sessionID:r,prompt:o})=>{let s=String(o?.text??"").trim().split(/\s+/).pop();if(s==="on"){await t(r,"The router no longer renames sessions. Titles stay yours; status lives in the panel and the header.");return}if(s!=="off"){await t(r,"Usage: /router-title off (strips prefixes this plugin wrote in older versions)");return}let i=await this.restoreTitles();await t(r,`Cleaned ${i} session title${i===1?"":"s"}. Titles written before the separator was lost cannot be recovered.`)})),this.registrations.push(await n("router-exclude","Exclude a model from automatic routing: /router-exclude provider/model",async({sessionID:r,prompt:o})=>{let s=String(o?.text??"").trim().split(/\s+/).pop()??"";if(!IE(s).modelID){await t(r,"Usage: /router-exclude provider/model");return}let c=new Set(this.runtime.excluded??[]);c.add(s),this.runtime.excluded=[...c],this.persistRuntime(),this.rebuildRegistry(),await t(r,`Excluded ${s} from automatic routing.`)})),this.registrations.push(await n("router-premium-budget","Set the monthly premium budget in USD: /router-premium-budget 10",async({sessionID:r,prompt:o})=>{let s=Number(String(o?.text??"").trim().split(/\s+/).pop());if(!Number.isFinite(s)||s<0){await t(r,"Usage: /router-premium-budget <usd>");return}this.runtime.premiumBudgetUsd=Math.max(0,Math.min(1e5,s)),this.persistRuntime(),await t(r,`Premium monthly budget set to ${Rt(s)}.`)})),this.registrations.push(await n("router-reserve","Set provider reserves: /router-reserve provider monthlyPct weeklyPct fiveHourPct",async({sessionID:r,prompt:o})=>{let i=String(o?.text??"").trim().split(/\s+/).filter(Boolean).slice(-4),c=i[0],d=Number(i[1]),u=Number(i[2]),l=Number(i[3]);if(!c||![d,u,l].every(f=>Number.isFinite(f))){await t(r,"Usage: /router-reserve provider monthlyPct weeklyPct fiveHourPct");return}let p=f=>Math.max(0,Math.min(90,f));this.runtime.reserves={...this.runtime.reserves??{},[c]:{monthlyPct:p(d),weeklyPct:p(u),fiveHourPct:p(l)}},this.persistRuntime(),await t(r,`Reserves for ${c}: monthly ${d}%, weekly ${u}%, 5h ${l}%.`)})),this.registrations.push(await n("router-reset-metrics","Reset local router metrics and session routing state: /router-reset-metrics --confirm",async({sessionID:r,prompt:o})=>{if(!String(o?.text??"").includes("--confirm")){await t(r,"This resets local router metrics, not conversations. Run /router-reset-metrics --confirm to proceed.");return}await We.resetLedger(),this.ledger=We.ledger,this.contextLoaded.clear(),this.contextInflight.clear(),await t(r,"Local router metrics and routing state were reset; conversations were not changed.")})),this.registrations.push(await n("router-diagnostics","Show shared-core lifecycle and registration diagnostics",async({sessionID:r})=>{await t(r,JSON.stringify(We.diagnostics(),null,2))})),this.registrations.push(await n("router-explain","Explain the last routing decision",async({sessionID:r})=>{let s=this.statusFor(r).lastDecision;if(!s){await t(r,"No routing decision has been recorded yet.");return}let i=[`Decision ${s.id} at ${new Date(s.at).toISOString()}`,`Task: tier ${s.task.tier} ${s.task.kind} (${s.task.confidence} confidence)`,`Signals: ${s.task.signals.join(", ")||"none"}`,`Reasons: ${s.reasons.join(" ")||"none"}`,`Chosen: ${s.chosen?`${s.chosen.providerID}/${s.chosen.id}`:"none"}`,`Switch: ${s.switchReason}`,`Warnings: ${s.warnings.join(" ")||"none"}`,...s.candidates.slice(0,5).map(c=>` ${c.model.providerID}/${c.model.modelID}: ${c.eligible?"eligible":c.reason} \xB7 ${Rt(c.effectiveCost)} expected${c.creditMultiplier&&c.creditMultiplier!==1?` \xB7 ${c.creditMultiplier}x credits`:""}`),...s.quota.map(c=>` quota ${c.label}: ${sf(c)}`)];await t(r,i.join(`
|
|
37
|
+
`))})),this.registrations.push(await n("router-opendesign","Show OpenDesign connection, entitlement and credit diagnostics",async({sessionID:r})=>{await t(r,await this.formatOpenDesignReport())}))}async formatOpenDesignReport(){let t=this.settings.providers.opendesign;if(!t)return"OpenDesign is not configured.";let n=[];n.push(`OpenDesign provider: ${t.enabled?"enabled":"disabled"} \xB7 plan ${t.plan}`),n.push(`Base URL: ${nT(t.baseURL)}`),n.push(`Allowance: monthly ${Rt(t.monthlyCreditsUsd??0)} \xB7 5h ${Rt(t.fiveHourCapUsd??0)} \xB7 weekly ${Rt(t.weeklyCapUsd??0)} (5h and weekly are nested inside the monthly maximum)`),n.push(`Subscription only: ${t.subscriptionOnly!==!1?"yes":"no"} \xB7 purchased credits allowed: ${t.allowExtraUsage?"yes":"no"}`),t.creditsPerUsd&&n.push(`Credits per USD: ${t.creditsPerUsd}`);let r,o;try{let i=await this.resolveOpenDesignCredentials();r=i.openDesignApiKey,o=i.openDesignControlKey}catch{}if(n.push(`Inference key: ${r?"found":"not found"}`),n.push(`Control key: ${o?"found (verified quota available)":"not configured (quota is an estimate)"}`),r){let i=await Ky({apiKey:r,...t.baseURL?{baseURL:t.baseURL}:{}});if(!i.ok)n.push(`Gateway discovery failed: ${i.error??"unknown error"}`);else{n.push(`Entitled models on the gateway: ${i.models.length}`);for(let c of i.models.slice(0,20)){let d=qd.get(c.id),u=gs(c.id),l=c.contextBudget??d?.context??0,p=c.inputModalities.includes("image")?"image":"text only";n.push(` ${c.id}: ${l.toLocaleString()} usable input \xB7 ${(c.outputBudget??d?.maxOutput??0).toLocaleString()} output \xB7 ${p} \xB7 ${u.multiplier}x credits${u.evidence==="unverified"?" (multiplier not published)":""}`)}}}let s=this.quotaSnapshots().find(i=>i.providerID==="opendesign");if(s){n.push(`Quota state: ${sf(s)}`);for(let i of s.notes.slice(0,4))n.push(` ${i}`);s.error&&n.push(` ${s.error}`)}return n.push("No inference request was made by this command."),n.join(`
|
|
38
38
|
`)}formatFloor(){let t=this.floorReport(),n=[];n.push(`Floor in force: ${t.floorInForce.toFixed(1)} (${t.source})`),n.push(` configured: ${t.configuredFloor.toFixed(1)}`),t.offlineBypass?n.push(" calibration is inactive while offline mode is enabled"):t.calibrateFloor?t.calibrated?(n.push(` calibrated: ${t.reason}`),t.baselineUsdPerRequest!==null&&n.push(` measured baseline: $${t.baselineUsdPerRequest.toFixed(6)} per request over ${t.windowDays} days`)):n.push(` not calibrated: ${t.reason}`):n.push(" calibration is off; set routing.calibrateFloor to true to derive this from spend"),n.push(` needs ${t.minRequests} recorded requests; you have ${t.totalRequests}`),n.push(`Admitted at this floor (${t.admitted.length}):`);for(let r of t.admitted.slice(0,10)){let o=r.listInputUsdPerMtok===null?"?":`$${r.listInputUsdPerMtok}`;n.push(` ${r.model} intel ${r.intelligence.toFixed(1)} ${o}/Mtok in`)}if(t.admitted.length>10&&n.push(` ... ${t.admitted.length-10} more`),t.measuredTraffic.length>0){n.push("Measured traffic:");for(let r of t.measuredTraffic.slice(0,6))n.push(` ${r.model} ${r.requests} req $${r.usdPerRequest.toFixed(6)}/req`)}return n.join(`
|
|
39
|
-
`)}formatReport(){let t=this.ledger.snapshotMetrics(),n=Object.entries(t.byModel).sort((s,i)=>i[1].usd-s[1].usd).slice(0,8).map(([s,i])=>{let c=i.failures>0?` \xB7 ${i.failures} provider fault${i.failures===1?"":"s"}`:"",d=s.startsWith("opendesign/")?`${
|
|
40
|
-
`)}report(){return{text:this.formatReport(),metrics:this.ledger.snapshotMetrics(),quota:this.quotaSnapshots(),decisions:this.ledger.decisions(20),status:this.statusFor()}}usageReport(){let t=Date.now(),n=this.quotaSnapshots(),r=Object.entries(this.settings.providers).filter(([,o])=>o.enabled).map(([o,s])=>{let i=n.find(f=>f.providerID===o),d=
|
|
39
|
+
`)}formatReport(){let t=this.ledger.snapshotMetrics(),n=Object.entries(t.byModel).sort((s,i)=>i[1].usd-s[1].usd).slice(0,8).map(([s,i])=>{let c=i.failures>0?` \xB7 ${i.failures} provider fault${i.failures===1?"":"s"}`:"",d=s.startsWith("opendesign/")?`${Rt(i.usd)} est. credits`:Rt(i.usd);return`${s}: ${i.requests} req \xB7 ${i.input.toLocaleString()} in \xB7 ${i.cacheRead.toLocaleString()} cache \xB7 ${i.output.toLocaleString()} out \xB7 ${d}${c}`}),r=t.latencySamples>0?`${Math.round(t.latencyMsTotal/t.latencySamples)} ms avg`:"no samples",o=Object.entries(this.ledger.cooldowns()).filter(([,s])=>s>Date.now());return[`Requests: ${t.requests.toLocaleString()}`,`Tokens: ${t.inputTokens.toLocaleString()} fresh input, ${t.cacheReadTokens.toLocaleString()} cache read, ${t.outputTokens.toLocaleString()} output`,`Estimated allowance value: ${Rt(t.estimatedUsd)} (provider-reported where available; otherwise local estimate)`,`Switches: ${t.switches} \xB7 escalations: ${t.escalations} \xB7 prevented premium: ${t.preventedPremium} \xB7 retries: ${t.retries}`,`Premium spend: ${Rt(t.premiumUsd)} across ${t.premiumRequests} requests`,`Latency: ${r}`,...o.map(([s,i])=>`Cooling down: ${s} for another ${Math.max(0,Math.round((i-Date.now())/1e3))}s after a provider fault`),...n].join(`
|
|
40
|
+
`)}report(){return{text:this.formatReport(),metrics:this.ledger.snapshotMetrics(),quota:this.quotaSnapshots(),decisions:this.ledger.decisions(20),status:this.statusFor()}}usageReport(){let t=Date.now(),n=this.quotaSnapshots(),r=Object.entries(this.settings.providers).filter(([,o])=>o.enabled).map(([o,s])=>{let i=n.find(f=>f.providerID===o),d=Uy(o,s.plan).plan,u=d?.pools.find(f=>f.id==="design-plan"),l=!s.ignoreFiveHourWindow&&u?.fiveHourUsd!==void 0,p=!s.ignoreWeeklyWindow&&(u?.weeklyUsd!==void 0||d?.perModelWindowRule!==void 0);return dB({providerID:o,label:i?.label??d?.label??o,plan:hs(d?.planID,s.plan),source:i?.source??"unknown",...i?.quotaState?{quotaState:i.quotaState}:{},now:t,source_:{aggregate:f=>this.ledger.aggregate(f),usageByModel:f=>this.ledger.usageByModel(f),usageEvents:this.ledger.usageEvents()},hasFiveHourWindow:l,hasWeeklyWindow:p,...i?.monthlyRemainingUsd!==void 0?{remainingMonthlyUsd:i.monthlyRemainingUsd}:{},notes:i?.notes??[]})});return{generatedAt:t,providers:r,speed:this.speedSnapshot(),contextManagement:{mode:this.settings.contextManagement.mode,description:sB(this.settings.contextManagement.mode),enabled:this.settings.contextManagement.enabled},retention:{rawEventHorizonHours:48,note:"Events older than the horizon are folded into hourly aggregates, so nothing is discarded."}}}async dispose(){this.cleanupDone||(this.cleanupDone=!0,this.promptRoutes.clearAll(),this.pendingHeals.clear(),this.requestKinds.clear(),this.bridgeID&&We.removeBridge(this.bridgeID),await Promise.allSettled(this.registrations.map(t=>t?.dispose?.())),We.persistNow())}};var yie=e=>e instanceof Error?e.message:String(e),lve=lf.define({id:"opencode-smart-router",async setup(e){let t=new Yy({ctx:e,pluginOptions:e.options});try{return await t.initialize()}catch(n){return We.recordError(`setup ${e.location?.directory??""}: ${yie(n)}`),await t.dispose().catch(()=>{}),()=>{}}}});export{lve as default};
|