@puffinstudio/fizzyx 0.4.6 → 0.4.8
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/.fizzyx/oss-manifest.json +1 -1
- package/README.md +72 -0
- package/dist/main.js +67 -61
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,54 +1,55 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var
|
|
4
|
-
`+s(
|
|
5
|
-
${s(
|
|
6
|
-
${s(
|
|
7
|
-
${p.map((
|
|
3
|
+
var Qx=Object.defineProperty;var Yx=(e)=>e;function Gx(e,t){this[e]=Yx.bind(null,t)}var hn=(e,t)=>{for(var r in t)Qx(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Gx.bind(t,r)})};var Nt=import.meta.require;var g={};hn(g,{withTime:()=>Ob,withGroup:()=>Tb,warn:()=>Ab,trace:()=>Rb,timeLog:()=>vb,time:()=>kb,table:()=>wb,log:()=>Cb,info:()=>Sb,group:()=>bb,error:()=>Eb,dirxml:()=>yb,dir:()=>xb,debug:()=>gb,countReset:()=>hb,count:()=>mb,consoleWith:()=>ce,clear:()=>db,assert:()=>pb,Console:()=>pd});var N=(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 r=e;for(let n=0,o=t.length;n<o;n++)r=t[n](r);return r}}},Xx={pipe(){return N(this,arguments)}},vu=function(){function e(){}return e.prototype=Xx,e}();var u=function(e,t){if(typeof e==="function")return function(){return e(arguments)?t.apply(this,arguments):(r)=>t(r,...arguments)};switch(e){case 0:case 1:throw RangeError(`Invalid arity ${e}`);case 2:return function(r,n){if(arguments.length>=2)return t(r,n);return function(o){return t(o,r)}};case 3:return function(r,n,o){if(arguments.length>=3)return t(r,n,o);return function(s){return t(s,r,n)}};default:return function(){if(arguments.length>=e)return t.apply(this,arguments);let r=arguments;return function(n){return t(n,...r)}}}};var R=(e)=>e;var ne=(e)=>()=>e,Ne=ne(!0),Mr=ne(!1);var Je=ne(void 0),rr=Je;var gn=(e)=>{let t=new Set(Reflect.ownKeys(e));if(e.constructor===Object)return t;if(e instanceof Error)t.delete("stack");let r=Object.getPrototypeOf(e),n=r;while(n!==null&&n!==Object.prototype){let o=Reflect.ownKeys(n);for(let s=0;s<o.length;s++)t.add(o[s]);n=Object.getPrototypeOf(n)}if(t.has("constructor")&&typeof e.constructor==="function"&&r===e.constructor.prototype)t.delete("constructor");return t},Ur=new WeakSet;function Nr(e){return typeof e==="string"}function Ru(e){return typeof e==="number"}function gi(e){return typeof e==="function"}function yt(e){return e!==void 0}function ey(e){return typeof e==="object"&&e!==null||gi(e)}var T=u(2,(e,t)=>ey(e)&&(t in e)),it=u(2,(e,t)=>T(e,"_tag")&&e._tag===t);function Et(e){return T(e,Symbol.iterator)||Nr(e)}var K="~effect/interfaces/Hash",J=(e)=>{switch(typeof e){case"number":return Io(e);case"bigint":return oe(e.toString(10));case"boolean":return oe(String(e));case"symbol":return oe(String(e));case"string":return oe(e);case"undefined":return oe("undefined");case"function":case"object":if(e===null)return oe("null");else if(e instanceof Date)return oe(e.toISOString());else if(e instanceof RegExp)return oe(e.toString());else{if(Ur.has(e))return To(e);if(yi.has(e))return yi.get(e);let t=oy(e,()=>{if(ty(e))return e[K]();else if(typeof e==="function")return To(e);else if(Array.isArray(e)||ArrayBuffer.isView(e))return yn(e);else if(e instanceof Map)return ry(e);else if(e instanceof Set)return ny(e);return xn(e)});return yi.set(e,t),t}default:throw Error(`BUG: unhandled typeof ${typeof e} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},To=(e)=>{if(!xi.has(e))xi.set(e,Io(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return xi.get(e)},we=u(2,(e,t)=>e*53^t),Oo=(e)=>e&3221225471|e>>>1&1073741824,ty=(e)=>T(e,K),Io=(e)=>{if(e!==e)return oe("NaN");if(e===1/0)return oe("Infinity");if(e===-1/0)return oe("-Infinity");let t=e|0;if(t!==e)t^=e*4294967295;while(e>4294967295)t^=e/=4294967295;return Oo(t)},oe=(e)=>{let t=5381,r=e.length;while(r)t=t*33^e.charCodeAt(--r);return Oo(t)},bi=(e,t)=>{let r=12289;for(let n of t)r^=we(J(n),J(e[n]));return Oo(r)},xn=(e)=>bi(e,gn(e)),Si=(e,t)=>(r)=>{let n=e;for(let o of r)n^=t(o);return Oo(n)},yn=Si(6151,J),ry=Si(oe("Map"),([e,t])=>we(J(e),J(t))),ny=Si(oe("Set"),J),xi=new WeakMap,yi=new WeakMap,Ei=new WeakSet;function oy(e,t){if(Ei.has(e))return oe("[Circular]");Ei.add(e);let r=t();return Ei.delete(e),r}var Q="~effect/interfaces/Equal";function se(){if(arguments.length===1)return(e)=>nr(e,arguments[0]);return nr(arguments[0],arguments[1])}function nr(e,t){if(e===t)return!0;if(e==null||t==null)return!1;let r=typeof e;if(r!==typeof t)return!1;if(r==="number"&&e!==e&&t!==t)return!0;if(r!=="object"&&r!=="function")return!1;if(Ur.has(e)||Ur.has(t))return!1;return cy(e,t,iy)}function sy(e,t,r){let n=Ci.has(e),o=wi.has(t);if(n&&o)return!0;if(n||o)return!1;Ci.add(e),wi.add(t);let s=r();return Ci.delete(e),wi.delete(t),s}var Ci=new WeakSet,wi=new WeakSet;function iy(e,t){if(J(e)!==J(t))return!1;else if(e instanceof Date){if(!(t instanceof Date))return!1;return e.toISOString()===t.toISOString()}else if(e instanceof RegExp){if(!(t instanceof RegExp))return!1;return e.toString()===t.toString()}let r=Au(e),n=Au(t);if(r!==n)return!1;let o=r&&n;if(typeof e==="function"&&!o)return!1;return sy(e,t,()=>{if(o)return e[Q](t);else if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;return ay(e,t)}else if(ArrayBuffer.isView(e)){if(!ArrayBuffer.isView(t)||e.byteLength!==t.byteLength)return!1;return uy(e,t)}else if(e instanceof Map){if(!(t instanceof Map)||e.size!==t.size)return!1;return py(e,t)}else if(e instanceof Set){if(!(t instanceof Set)||e.size!==t.size)return!1;return my(e,t)}return fy(e,t)})}function cy(e,t,r){let n=Po.get(e);if(!n)n=new WeakMap,Po.set(e,n);else if(n.has(t))return n.get(t);let o=r(e,t);n.set(t,o);let s=Po.get(t);if(!s)s=new WeakMap,Po.set(t,s);return s.set(e,o),o}var Po=new WeakMap;function ay(e,t){for(let r=0;r<e.length;r++)if(!nr(e[r],t[r]))return!1;return!0}function uy(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function fy(e,t){let r=gn(e),n=gn(t);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o)||!nr(e[o],t[o]))return!1;return!0}function ly(e,t){return function(n,o){for(let[s,i]of n){let c=!1;for(let[l,f]of o)if(e(s,l)&&t(i,f)){c=!0;break}if(!c)return!1}return!0}}var py=ly(nr,nr);function dy(e){return function(r,n){for(let o of r){let s=!1;for(let i of n)if(e(o,i)){s=!0;break}if(!s)return!1}return!0}}var my=dy(nr),Au=(e)=>T(e,Q),Tu=()=>se;var Ou=(e)=>(Ur.add(e),e);var zr=Symbol.for("~effect/Redactable"),hy=(e)=>T(e,zr);function Qe(e){if(hy(e))return ki(e);return e}function ki(e){return e[zr](globalThis[Dr]?.context??gy)}var Dr="~effect/Fiber/currentFiber",gy={"~effect/Context":{},mapUnsafe:new Map,pipe(){return N(this,arguments)}};function ae(e,t){let r=t?.space??0,n=new WeakSet,o=!r?"":typeof r==="number"?" ".repeat(r):r,s=(f)=>o.repeat(f),i=(f,m)=>{let p=f?.constructor;return p&&p!==Object.prototype.constructor&&p.name?`${p.name}(${m})`:m},c=(f)=>{try{return Reflect.ownKeys(f)}catch{return["[ownKeys threw]"]}};function l(f,m=0){if(Array.isArray(f)){if(n.has(f))return Iu;if(n.add(f),!o||f.length<=1)return`[${f.map((x)=>l(x,m)).join(",")}]`;let p=f.map((x)=>l(x,m+1)).join(`,
|
|
4
|
+
`+s(m+1));return`[
|
|
5
|
+
${s(m+1)}${p}
|
|
6
|
+
${s(m)}]`}if(f instanceof Date)return yy(f);if(!t?.ignoreToString&&T(f,"toString")&&typeof f.toString==="function"&&f.toString!==Object.prototype.toString&&f.toString!==Array.prototype.toString){let p=Ey(f);if(f instanceof Error&&f.cause)return`${p} (cause: ${l(f.cause,m)})`;return p}if(typeof f==="string")return JSON.stringify(f);if(typeof f==="number"||f==null||typeof f==="boolean"||typeof f==="symbol")return String(f);if(typeof f==="bigint")return String(f)+"n";if(typeof f==="object"||typeof f==="function"){if(n.has(f))return Iu;if(n.add(f),zr in f)return ae(ki(f));if(Symbol.iterator in f)return`${f.constructor.name}(${l(Array.from(f),m)})`;let p=c(f);if(!o||p.length<=1){let b=`{${p.map((y)=>`${Pu(y)}:${l(f[y],m)}`).join(",")}}`;return i(f,b)}let x=`{
|
|
7
|
+
${p.map((b)=>`${s(m+1)}${Pu(b)}: ${l(f[b],m+1)}`).join(`,
|
|
8
8
|
`)}
|
|
9
|
-
${s(d)}}`;return i(l,x)}return String(l)}return f(e,0)}var Ou="[Circular]";function Au(e){return typeof e==="string"?JSON.stringify(e):String(e)}function my(e){try{return e.toISOString()}catch{return"Invalid Date"}}function hy(e){try{let t=e.toString();return typeof t==="string"?t:String(t)}catch{return"[toString threw]"}}function xn(e,t){let r=[];return JSON.stringify(e,function(n,o){let s=Ge(o);if(typeof s!=="object"||s===null)return s;while(r.length>0&&r[r.length-1]!==this)r.pop();if(r.includes(s))return;return r.push(s),s},t?.space)}var be=Symbol.for("nodejs.util.inspect.custom"),zt=(e)=>{try{if(O(e,"toJSON")&&hi(e.toJSON)&&e.toJSON.length===0)return e.toJSON();else if(Array.isArray(e))return e.map(zt)}catch{return"[toJSON threw]"}return Ge(e)},Tu=(e,t=2)=>{if(typeof e==="string")return e;try{return typeof e==="object"?xn(e,{space:t}):String(e)}catch{return String(e)}},at={toJSON(){return zt(this)},[be](){return this.toJSON()},toString(){return ae(this.toJSON())}};class ki{[be](){return this.toJSON()}toString(){return ae(this.toJSON())}}class Dt{called=!1;self;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}[Symbol.iterator](){return new Dt(this.self)}}var gy=()=>{let t={["~effect/Utils/internal"]:(o)=>o()},r={["~effect/Utils/internal"]:(o)=>{try{return o()}finally{}}};return t["~effect/Utils/internal"](()=>Error().stack)?.includes("~effect/Utils/internal")===!0?t["~effect/Utils/internal"]:r["~effect/Utils/internal"]},z=gy();var ut="~effect/Effect",rr="~effect/Exit",xy={_A:k,_E:k,_R:k},Pu=`${ut}/identifier`,M=`${ut}/args`,Z=`${ut}/evaluate`,_e=`${ut}/successCont`,Xe=`${ut}/failureCont`,Lt=`${ut}/ensureCont`,$t=Symbol.for("effect/Effect/Yield"),Ze={pipe(){return N(this,arguments)},toJSON(){return{...this}},toString(){return ae(this.toJSON(),{ignoreToString:!0,space:2})},[be](){return this.toJSON()}},_u={[W](){return Ei(this,Object.keys(this))},[V](e){let t=Object.keys(this),r=Object.keys(e);if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==r[n]&&!oe(this[t[n]],e[t[n]]))return!1;return!0}},yy={[ut]:xy,...Ze,[Symbol.iterator](){return new Dt(this)},toJSON(){return{_id:"Effect",op:this[Pu],...M in this?{args:this[M]}:void 0}}},v=(e)=>O(e,ut),Fu=(e)=>O(e,rr),yn="~effect/Cause",Po="~effect/Cause/Reason",En=(e)=>O(e,yn);class bt{[yn];reasons;constructor(e){this[yn]=yn,this.reasons=e}pipe(){return N(this,arguments)}toJSON(){return{_id:"Cause",failures:this.reasons.map((e)=>e.toJSON())}}toString(){return`Cause(${ae(this.reasons)})`}[be](){return this.toJSON()}[V](e){return En(e)&&this.reasons.length===e.reasons.length&&this.reasons.every((t,r)=>oe(t,e.reasons[r]))}[W](){return gn(this.reasons)}}var Iu=new WeakMap;class bn{[Po];annotations;_tag;constructor(e,t,r){if(this[Po]=Po,this._tag=e,t!==Sn&&typeof r==="object"&&r!==null&&t.size>0){let n=Iu.get(r);if(n)t=new Map([...n,...t]);Iu.set(r,t)}this.annotations=t}annotate(e,t){if(e.mapUnsafe.size===0)return this;let r=new Map(this.annotations);e.mapUnsafe.forEach((o,s)=>{if(t?.overwrite!==!0&&r.has(s))return;r.set(s,o)});let n=Object.assign(Object.create(Object.getPrototypeOf(this)),this);return n.annotations=r,n}pipe(){return N(this,arguments)}toString(){return ae(this)}[be](){return this.toString()}}var Sn=new Map;class Fo extends bn{error;constructor(e,t=Sn){super("Fail",t,e);this.error=e}toString(){return`Fail(${ae(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[V](e){return wn(e)&&oe(this.error,e.error)&&oe(this.annotations,e.annotations)}[W](){return we(ne(this._tag))(we(q(this.error))(q(this.annotations)))}}var nr=(e)=>new bt(e),vi=new bt([]),Mu=(e)=>new bt([new Fo(e)]);class Ri extends bn{defect;constructor(e,t=Sn){super("Die",t,e);this.defect=e}toString(){return`Die(${ae(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[V](e){return kn(e)&&oe(this.defect,e.defect)&&oe(this.annotations,e.annotations)}[W](){return we(ne(this._tag))(we(q(this.defect))(q(this.annotations)))}}var Uu=(e)=>new bt([new Ri(e)]),Cn=u((e)=>En(e[0]),(e,t,r)=>{if(t.mapUnsafe.size===0)return e;return new bt(e.reasons.map((n)=>n.annotate(t,r)))}),wn=(e)=>e._tag==="Fail",kn=(e)=>e._tag==="Die",Mo=(e)=>e._tag==="Interrupt";function Ey(e){return wt("Effect.evaluate: Not implemented")}var St=(e)=>({...yy,[Pu]:e.op,[Z]:e[Z]??Ey,[_e]:e[_e],[Xe]:e[Xe],[Lt]:e[Lt]}),Be=(e)=>{let t=St(e);return function(){let r=Object.create(t);return r[M]=e.single===!1?arguments:arguments[0],r}},Nu=(e)=>{let t={...St(e),[rr]:rr,_tag:e.op,get[e.prop](){return this[M]},toString(){return`${e.op}(${ae(this[M])})`},toJSON(){return{_id:"Exit",_tag:e.op,[e.prop]:this[M]}},[V](r){return Fu(r)&&r._tag===this._tag&&oe(this[M],r[M])},[W](){return we(ne(e.op),q(this[M]))}};return function(r){let n=Object.create(t);return n[M]=r,n}},ie=Nu({op:"Success",prop:"value",[Z](e){let t=e.getCont(_e);return t?t[_e](this[M],e,this):e.yieldWith(this)}}),vn={key:"effect/Cause/StackTrace"},zu={key:"effect/Cause/InterruptorStackTrace"},De=Nu({op:"Failure",prop:"cause",[Z](e){let t=this[M],r=!1;if(e.currentStackFrame)t=Cn(t,{mapUnsafe:new Map([[vn.key,e.currentStackFrame]])}),r=!0;let n=e.getCont(Xe);while(e.interruptible&&e._interruptedCause&&n)n=e.getCont(Xe);return n?n[Xe](t,e,r?void 0:this):e.yieldWith(r?this:De(t))}}),Ct=(e)=>De(Mu(e)),wt=(e)=>De(Uu(e)),T=Be({op:"WithFiber",[Z](e){return this[M](e)}}),by=function(){class e extends globalThis.Error{}let t=St({op:"YieldableError",[Z](){return Ct(this)}});return delete t.toString,Object.assign(e.prototype,t),e}(),Oi=function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends by{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0);if(r)Object.assign(this,r),Object.defineProperty(this,e,{value:r,enumerable:!1})}toJSON(){return{...this[e],...this}}}}(),or=(e)=>{class t extends Oi{_tag=e}return t.prototype.name=e,t},_o="~effect/Cause/NoSuchElementError",Ai=(e)=>O(e,_o);class kt extends or("NoSuchElementError"){[_o]=_o;constructor(e){super({message:e})}}var Dr="~effect/Cause/Done",Rn=(e)=>O(e,Dr),Du={[Dr]:Dr,_tag:"Done",value:void 0},Lu=(e)=>{if(e===void 0)return Du;return{[Dr]:Dr,_tag:"Done",value:e}},Sy=Ct(Du),$u=(e)=>{if(e===void 0)return Sy;return Ct(Lu(e))};var Uo=(e)=>(t,r)=>t===r||e(t,r),Cy=(e,t)=>e===t,On=()=>Cy;function ju(e){return Uo((t,r)=>{if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(!e[n](t[n],r[n]))return!1;return!0})}function Hu(e){return Uo((t,r)=>{if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(!e(t[n],r[n]))return!1;return!0})}var Ti=(e)=>e.length>0;var Bu=(e)=>u(3,(t,r,n)=>e(t,(o)=>({...o,[r]:n(o)}))),qu=(e)=>u(2,(t,r)=>e(t,(n)=>({[r]:n}))),Wu=(e,t)=>u(3,(r,n,o)=>t(r,(s)=>e(o(s),(i)=>({...s,[n]:i}))));var Vu="~effect/data/Option",Ju={[Vu]:{_A:(e)=>e},...Ze,[Symbol.iterator](){return new Dt(this)}},vy=Object.defineProperty(Object.assign(Object.create(Ju),{_tag:"Some",_op:"Some",[V](e){return Ii(e)&&_i(e)&&oe(this.value,e.value)},[W](){return we(q(this._tag))(q(this.value))},toString(){return`some(${ae(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:zt(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),Ry=q("None"),Oy=Object.assign(Object.create(Ju),{_tag:"None",_op:"None",valueOrUndefined:void 0,[V](e){return Ii(e)&&Pi(e)},[W](){return Ry},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Ii=(e)=>O(e,Vu),Pi=(e)=>e._tag==="None",_i=(e)=>e._tag==="Some",Ku=Object.create(Oy),Qu=(e)=>{let t=Object.create(vy);return t.value=e,t};var Yu="~effect/data/Result",Gu={[Yu]:{_A:(e)=>e,_E:(e)=>e},...Ze,[Symbol.iterator](){return new Dt(this)}},Ty=Object.assign(Object.create(Gu),{_tag:"Success",_op:"Success",[V](e){return Fi(e)&&Ui(e)&&oe(this.success,e.success)},[W](){return we(q(this._tag))(q(this.success))},toString(){return`success(${ae(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:zt(this.success)}}}),Iy=Object.assign(Object.create(Gu),{_tag:"Failure",_op:"Failure",[V](e){return Fi(e)&&Mi(e)&&oe(this.failure,e.failure)},[W](){return we(q(this._tag))(q(this.failure))},toString(){return`failure(${ae(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:zt(this.failure)}}}),Fi=(e)=>O(e,Yu),Mi=(e)=>e._tag==="Failure",Ui=(e)=>e._tag==="Success",Xu=(e)=>{let t=Object.create(Iy);return t.failure=e,t},Zu=(e)=>{let t=Object.create(Ty);return t.success=e,t};function ef(e){return(t,r)=>t===r?0:e(t,r)}var Lr=ef((e,t)=>{if(globalThis.Number.isNaN(e)&&globalThis.Number.isNaN(t))return 0;if(globalThis.Number.isNaN(e))return-1;if(globalThis.Number.isNaN(t))return 1;return e<t?-1:1});var tf=u(2,(e,t)=>ef((r,n)=>e(t(r),t(n))));var rf=(e)=>u(2,(t,r)=>e(t,r)===1);var ee=()=>Ku,ue=Qu;var An=Pi,Ni=_i,zo=u(2,(e,{onNone:t,onSome:r})=>An(e)?t():r(e.value));var Fy=u(2,(e,t)=>An(e)?t():e.value);var of=(e)=>e==null?ee():ue(e);var sr=Fy(Qe);var ke=Zu,me=Xu;var J=Mi,ir=Ui;var sf=u(2,(e,{onFailure:t,onSuccess:r})=>J(e)?t(e.failure):r(e.success));var cf=ju;var _R={[Symbol.iterator](){return Uy}},Uy={next(){return{done:!0,value:void 0}}};var af=u(2,(e,t)=>({[Symbol.iterator](){let r=e[Symbol.iterator](),n=0;return{next(){let o=r.next();while(!o.done){if(t(o.value,n++))return{done:!1,value:o.value};o=r.next()}return{done:!0,value:void 0}}}}}));var zy=u(2,(e,t)=>Object.hasOwn(e,t));var uf=u(2,(e,t)=>{let r={...e};for(let n of ff(e))r[n]=t(e[n],n);return r});var ff=(e)=>Object.keys(e);var Dy=(e)=>u(2,(t,r)=>{for(let n of ff(t))if(!zy(r,n)||!e(t[n],r[n]))return!1;return!0});var lf=(e)=>{let t=Dy(e);return(r,n)=>t(r,n)&&t(n,r)};var Tn=globalThis.Array;var zi=(e)=>new Tn(e);var et=(e)=>Tn.isArray(e)?e:Tn.from(e);var Di=u(2,(e,t)=>et(e).concat(et(t)));var UR=Tn.isArray;var Li=Ti,Do=Ti;function Ly(e,t){return e<0||e>=t.length}var df=u(2,(e,t)=>{let r=Math.floor(t);if(Ly(r,e))throw Error(`Index out of bounds: ${r}`);return e[r]});var $y=df(0);var jy=(e)=>e.slice(1);var Lo=u(2,(e,t)=>{let r=Tn.from(e);return r.sort(t),r});var Hy=u(3,(e,t,r)=>{let n=et(e),o=et(t);if(Do(n)){if(Do(o))return By(r)(Di(n,o));return n}return o}),mf=u(2,(e,t)=>Hy(e,t,vu()));var hf=(e)=>[e],$i=u(2,(e,t)=>e.map(t));var gf=u(2,(e,t)=>{let r=[],n=[],o=0;for(let s of e){let i=t(s,o++);if(ir(i))n.push(i.success);else r.push(i.failure)}return[r,n]});var xf=Hu;var By=u(2,(e,t)=>{let r=et(e);if(Do(r)){let n=[$y(r)],o=jy(r);for(let s of o)if(n.every((i)=>!t(s,i)))n.push(s);return n}return[]});var G={};dn(G,{pick:()=>Xy,omit:()=>Zy,mutate:()=>eE,mergeAll:()=>Vi,merge:()=>qt,makeUnsafe:()=>Bt,make:()=>ft,isReference:()=>Hi,isKey:()=>Jy,isContext:()=>Bo,getUnsafe:()=>vt,getReferenceUnsafe:()=>qi,getOrUndefined:()=>Yy,getOrElse:()=>Bi,getOption:()=>Wi,get:()=>he,empty:()=>Fe,addOrOmit:()=>Qy,add:()=>qe,ServiceTypeId:()=>jo,Service:()=>ve,Reference:()=>P});var yf=(e)=>St({op:e.label,[Z]:e.evaluate});var jo="~effect/Context/Service",ve=function(){let e=Error.stackTraceLimit;Error.stackTraceLimit=2;let t=Error();Error.stackTraceLimit=e;function r(){}let n=r;if(Object.setPrototypeOf(n,Wy),Object.defineProperty(n,"stack",{get(){return t.stack}}),arguments.length>0){if(n.key=arguments[0],arguments[1]?.defaultValue)n[Ho]=Ho,n.defaultValue=arguments[1].defaultValue;return n}return function(o,s){if(n.key=o,s?.make)n.make=s.make;return n}},Wy={[jo]:jo,...yf({label:"Service",evaluate(e){return ie(he(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key,stack:this.stack}},of(e){return e},context(e){return ft(this,e)},use(e){return T((t)=>e(he(t.context,this)))},useSync(e){return T((t)=>ie(e(he(t.context,this))))}},Ho="~effect/Context/Reference",Ef="~effect/Context",Bt=(e)=>{let t=Object.create(Vy);return t.mapUnsafe=e,t.mutable=!1,t},Vy={...Ze,[Ef]:{_Services:(e)=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[V](e){if(!Bo(e)||this.mapUnsafe.size!==e.mapUnsafe.size)return!1;for(let t of this.mapUnsafe.keys())if(!e.mapUnsafe.has(t)||!oe(this.mapUnsafe.get(t),e.mapUnsafe.get(t)))return!1;return!0},[W](){return To(this.mapUnsafe.size)}},Bo=(e)=>O(e,Ef),Jy=(e)=>O(e,jo),Hi=(e)=>O(e,Ho),Fe=()=>Ky,Ky=Bt(new Map),ft=(e,t)=>Bt(new Map([[e.key,t]])),qe=u(3,(e,t,r)=>In(e,(n)=>{n.set(t.key,r)})),Qy=u(3,(e,t,r)=>In(e,(n)=>{if(r._tag==="None")n.delete(t.key);else n.set(t.key,r.value)})),Bi=u(3,(e,t,r)=>{if(e.mapUnsafe.has(t.key))return e.mapUnsafe.get(t.key);return Hi(t)?qo(t):r()}),Yy=u(2,(e,t)=>e.mapUnsafe.get(t.key)),vt=u(2,(e,t)=>{if(!e.mapUnsafe.has(t.key)){if(Ho in t)return qo(t);throw Gy(t)}return e.mapUnsafe.get(t.key)}),he=vt,qi=(e,t)=>{if(!e.mapUnsafe.has(t.key))return qo(t);return e.mapUnsafe.get(t.key)},ji="~effect/Context/defaultValue",qo=(e)=>{if(ji in e)return e[ji];return e[ji]=e.defaultValue()},Gy=(e)=>{let t=Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(e.stack){let r=e.stack.split(`
|
|
9
|
+
${s(m)}}`;return i(f,x)}return String(f)}return l(e,0)}var Iu="[Circular]";function Pu(e){return typeof e==="string"?JSON.stringify(e):String(e)}function yy(e){try{return e.toISOString()}catch{return"Invalid Date"}}function Ey(e){try{let t=e.toString();return typeof t==="string"?t:String(t)}catch{return"[toString threw]"}}function En(e,t){let r=[];return JSON.stringify(e,function(n,o){let s=Qe(o);if(typeof s!=="object"||s===null)return s;while(r.length>0&&r[r.length-1]!==this)r.pop();if(r.includes(s))return;return r.push(s),s},t?.space)}var be=Symbol.for("nodejs.util.inspect.custom"),zt=(e)=>{try{if(T(e,"toJSON")&&gi(e.toJSON)&&e.toJSON.length===0)return e.toJSON();else if(Array.isArray(e))return e.map(zt)}catch{return"[toJSON threw]"}return Qe(e)},_u=(e,t=2)=>{if(typeof e==="string")return e;try{return typeof e==="object"?En(e,{space:t}):String(e)}catch{return String(e)}},at={toJSON(){return zt(this)},[be](){return this.toJSON()},toString(){return ae(this.toJSON())}};class vi{[be](){return this.toJSON()}toString(){return ae(this.toJSON())}}class Dt{called=!1;self;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}[Symbol.iterator](){return new Dt(this.self)}}var by=()=>{let t={["~effect/Utils/internal"]:(o)=>o()},r={["~effect/Utils/internal"]:(o)=>{try{return o()}finally{}}};return t["~effect/Utils/internal"](()=>Error().stack)?.includes("~effect/Utils/internal")===!0?t["~effect/Utils/internal"]:r["~effect/Utils/internal"]},z=by();var ut="~effect/Effect",or="~effect/Exit",Sy={_A:R,_E:R,_R:R},Mu=`${ut}/identifier`,M=`${ut}/args`,ee=`${ut}/evaluate`,Pe=`${ut}/successCont`,Ye=`${ut}/failureCont`,$t=`${ut}/ensureCont`,Lt=Symbol.for("effect/Effect/Yield"),Ge={pipe(){return N(this,arguments)},toJSON(){return{...this}},toString(){return ae(this.toJSON(),{ignoreToString:!0,space:2})},[be](){return this.toJSON()}},Uu={[K](){return bi(this,Object.keys(this))},[Q](e){let t=Object.keys(this),r=Object.keys(e);if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==r[n]&&!se(this[t[n]],e[t[n]]))return!1;return!0}},Cy={[ut]:Sy,...Ge,[Symbol.iterator](){return new Dt(this)},toJSON(){return{_id:"Effect",op:this[Mu],...M in this?{args:this[M]}:void 0}}},A=(e)=>T(e,ut),Nu=(e)=>T(e,or),bn="~effect/Cause",_o="~effect/Cause/Reason",Sn=(e)=>T(e,bn);class bt{[bn];reasons;constructor(e){this[bn]=bn,this.reasons=e}pipe(){return N(this,arguments)}toJSON(){return{_id:"Cause",failures:this.reasons.map((e)=>e.toJSON())}}toString(){return`Cause(${ae(this.reasons)})`}[be](){return this.toJSON()}[Q](e){return Sn(e)&&this.reasons.length===e.reasons.length&&this.reasons.every((t,r)=>se(t,e.reasons[r]))}[K](){return yn(this.reasons)}}var Fu=new WeakMap;class Cn{[_o];annotations;_tag;constructor(e,t,r){if(this[_o]=_o,this._tag=e,t!==wn&&typeof r==="object"&&r!==null&&t.size>0){let n=Fu.get(r);if(n)t=new Map([...n,...t]);Fu.set(r,t)}this.annotations=t}annotate(e,t){if(e.mapUnsafe.size===0)return this;let r=new Map(this.annotations);e.mapUnsafe.forEach((o,s)=>{if(t?.overwrite!==!0&&r.has(s))return;r.set(s,o)});let n=Object.assign(Object.create(Object.getPrototypeOf(this)),this);return n.annotations=r,n}pipe(){return N(this,arguments)}toString(){return ae(this)}[be](){return this.toString()}}var wn=new Map;class Mo extends Cn{error;constructor(e,t=wn){super("Fail",t,e);this.error=e}toString(){return`Fail(${ae(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[Q](e){return vn(e)&&se(this.error,e.error)&&se(this.annotations,e.annotations)}[K](){return we(oe(this._tag))(we(J(this.error))(J(this.annotations)))}}var sr=(e)=>new bt(e),Ri=new bt([]),zu=(e)=>new bt([new Mo(e)]);class Ai extends Cn{defect;constructor(e,t=wn){super("Die",t,e);this.defect=e}toString(){return`Die(${ae(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[Q](e){return Rn(e)&&se(this.defect,e.defect)&&se(this.annotations,e.annotations)}[K](){return we(oe(this._tag))(we(J(this.defect))(J(this.annotations)))}}var Du=(e)=>new bt([new Ai(e)]),kn=u((e)=>Sn(e[0]),(e,t,r)=>{if(t.mapUnsafe.size===0)return e;return new bt(e.reasons.map((n)=>n.annotate(t,r)))}),vn=(e)=>e._tag==="Fail",Rn=(e)=>e._tag==="Die",Uo=(e)=>e._tag==="Interrupt";function wy(e){return wt("Effect.evaluate: Not implemented")}var St=(e)=>({...Cy,[Mu]:e.op,[ee]:e[ee]??wy,[Pe]:e[Pe],[Ye]:e[Ye],[$t]:e[$t]}),He=(e)=>{let t=St(e);return function(){let r=Object.create(t);return r[M]=e.single===!1?arguments:arguments[0],r}},$u=(e)=>{let t={...St(e),[or]:or,_tag:e.op,get[e.prop](){return this[M]},toString(){return`${e.op}(${ae(this[M])})`},toJSON(){return{_id:"Exit",_tag:e.op,[e.prop]:this[M]}},[Q](r){return Nu(r)&&r._tag===this._tag&&se(this[M],r[M])},[K](){return we(oe(e.op),J(this[M]))}};return function(r){let n=Object.create(t);return n[M]=r,n}},ie=$u({op:"Success",prop:"value",[ee](e){let t=e.getCont(Pe);return t?t[Pe](this[M],e,this):e.yieldWith(this)}}),An={key:"effect/Cause/StackTrace"},Lu={key:"effect/Cause/InterruptorStackTrace"},ze=$u({op:"Failure",prop:"cause",[ee](e){let t=this[M],r=!1;if(e.currentStackFrame)t=kn(t,{mapUnsafe:new Map([[An.key,e.currentStackFrame]])}),r=!0;let n=e.getCont(Ye);while(e.interruptible&&e._interruptedCause&&n)n=e.getCont(Ye);return n?n[Ye](t,e,r?void 0:this):e.yieldWith(r?this:ze(t))}}),Ct=(e)=>ze(zu(e)),wt=(e)=>ze(Du(e)),O=He({op:"WithFiber",[ee](e){return this[M](e)}}),ky=function(){class e extends globalThis.Error{}let t=St({op:"YieldableError",[ee](){return Ct(this)}});return delete t.toString,Object.assign(e.prototype,t),e}(),Ti=function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends ky{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0);if(r)Object.assign(this,r),Object.defineProperty(this,e,{value:r,enumerable:!1})}toJSON(){return{...this[e],...this}}}}(),ir=(e)=>{class t extends Ti{_tag=e}return t.prototype.name=e,t},Fo="~effect/Cause/NoSuchElementError",Oi=(e)=>T(e,Fo);class kt extends ir("NoSuchElementError"){[Fo]=Fo;constructor(e){super({message:e})}}var Lr="~effect/Cause/Done",Tn=(e)=>T(e,Lr),ju={[Lr]:Lr,_tag:"Done",value:void 0},Hu=(e)=>{if(e===void 0)return ju;return{[Lr]:Lr,_tag:"Done",value:e}},vy=Ct(ju),Bu=(e)=>{if(e===void 0)return vy;return Ct(Hu(e))};var No=(e)=>(t,r)=>t===r||e(t,r),Ry=(e,t)=>e===t,On=()=>Ry;function qu(e){return No((t,r)=>{if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(!e[n](t[n],r[n]))return!1;return!0})}function Wu(e){return No((t,r)=>{if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(!e(t[n],r[n]))return!1;return!0})}var Ii=(e)=>e.length>0;var Vu=(e)=>u(3,(t,r,n)=>e(t,(o)=>({...o,[r]:n(o)}))),Ju=(e)=>u(2,(t,r)=>e(t,(n)=>({[r]:n}))),Ku=(e,t)=>u(3,(r,n,o)=>t(r,(s)=>e(o(s),(i)=>({...s,[n]:i}))));var Qu="~effect/data/Option",Yu={[Qu]:{_A:(e)=>e},...Ge,[Symbol.iterator](){return new Dt(this)}},Oy=Object.defineProperty(Object.assign(Object.create(Yu),{_tag:"Some",_op:"Some",[Q](e){return Pi(e)&&Fi(e)&&se(this.value,e.value)},[K](){return we(J(this._tag))(J(this.value))},toString(){return`some(${ae(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:zt(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),Iy=J("None"),Py=Object.assign(Object.create(Yu),{_tag:"None",_op:"None",valueOrUndefined:void 0,[Q](e){return Pi(e)&&_i(e)},[K](){return Iy},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Pi=(e)=>T(e,Qu),_i=(e)=>e._tag==="None",Fi=(e)=>e._tag==="Some",Gu=Object.create(Py),Xu=(e)=>{let t=Object.create(Oy);return t.value=e,t};var Zu="~effect/data/Result",ef={[Zu]:{_A:(e)=>e,_E:(e)=>e},...Ge,[Symbol.iterator](){return new Dt(this)}},Fy=Object.assign(Object.create(ef),{_tag:"Success",_op:"Success",[Q](e){return Mi(e)&&Ni(e)&&se(this.success,e.success)},[K](){return we(J(this._tag))(J(this.success))},toString(){return`success(${ae(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:zt(this.success)}}}),My=Object.assign(Object.create(ef),{_tag:"Failure",_op:"Failure",[Q](e){return Mi(e)&&Ui(e)&&se(this.failure,e.failure)},[K](){return we(J(this._tag))(J(this.failure))},toString(){return`failure(${ae(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:zt(this.failure)}}}),Mi=(e)=>T(e,Zu),Ui=(e)=>e._tag==="Failure",Ni=(e)=>e._tag==="Success",tf=(e)=>{let t=Object.create(My);return t.failure=e,t},rf=(e)=>{let t=Object.create(Fy);return t.success=e,t};function nf(e){return(t,r)=>t===r?0:e(t,r)}var jr=nf((e,t)=>{if(globalThis.Number.isNaN(e)&&globalThis.Number.isNaN(t))return 0;if(globalThis.Number.isNaN(e))return-1;if(globalThis.Number.isNaN(t))return 1;return e<t?-1:1});var of=u(2,(e,t)=>nf((r,n)=>e(t(r),t(n))));var sf=(e)=>u(2,(t,r)=>e(t,r)===1);var re=()=>Gu,ue=Xu;var In=_i,zi=Fi,Do=u(2,(e,{onNone:t,onSome:r})=>In(e)?t():r(e.value));var zy=u(2,(e,t)=>In(e)?t():e.value);var af=(e)=>e==null?re():ue(e);var cr=zy(Je);var ke=rf,me=tf;var Y=Ui,ar=Ni;var uf=u(2,(e,{onFailure:t,onSuccess:r})=>Y(e)?t(e.failure):r(e.success));var ff=qu;var UR={[Symbol.iterator](){return $y}},$y={next(){return{done:!0,value:void 0}}};var lf=u(2,(e,t)=>({[Symbol.iterator](){let r=e[Symbol.iterator](),n=0;return{next(){let o=r.next();while(!o.done){if(t(o.value,n++))return{done:!1,value:o.value};o=r.next()}return{done:!0,value:void 0}}}}}));var jy=u(2,(e,t)=>Object.hasOwn(e,t));var pf=u(2,(e,t)=>{let r={...e};for(let n of df(e))r[n]=t(e[n],n);return r});var df=(e)=>Object.keys(e);var Hy=(e)=>u(2,(t,r)=>{for(let n of df(t))if(!jy(r,n)||!e(t[n],r[n]))return!1;return!0});var mf=(e)=>{let t=Hy(e);return(r,n)=>t(r,n)&&t(n,r)};var Pn=globalThis.Array;var Di=(e)=>new Pn(e);var Xe=(e)=>Pn.isArray(e)?e:Pn.from(e);var $i=u(2,(e,t)=>Xe(e).concat(Xe(t)));var DR=Pn.isArray;var Li=Ii,$o=Ii;function By(e,t){return e<0||e>=t.length}var gf=u(2,(e,t)=>{let r=Math.floor(t);if(By(r,e))throw Error(`Index out of bounds: ${r}`);return e[r]});var qy=gf(0);var Wy=(e)=>e.slice(1);var Lo=u(2,(e,t)=>{let r=Pn.from(e);return r.sort(t),r});var Vy=u(3,(e,t,r)=>{let n=Xe(e),o=Xe(t);if($o(n)){if($o(o))return Jy(r)($i(n,o));return n}return o}),xf=u(2,(e,t)=>Vy(e,t,Tu()));var yf=(e)=>[e],ji=u(2,(e,t)=>e.map(t));var Ef=u(2,(e,t)=>{let r=[],n=[],o=0;for(let s of e){let i=t(s,o++);if(ar(i))n.push(i.success);else r.push(i.failure)}return[r,n]});var bf=Wu;var Jy=u(2,(e,t)=>{let r=Xe(e);if($o(r)){let n=[qy(r)],o=Wy(r);for(let s of o)if(n.every((i)=>!t(s,i)))n.push(s);return n}return[]});var X={};hn(X,{pick:()=>rE,omit:()=>nE,mutate:()=>oE,mergeAll:()=>Ji,merge:()=>qt,makeUnsafe:()=>Bt,make:()=>ft,isReference:()=>Bi,isKey:()=>Gy,isContext:()=>qo,getUnsafe:()=>vt,getReferenceUnsafe:()=>Wi,getOrUndefined:()=>eE,getOrElse:()=>qi,getOption:()=>Vi,get:()=>he,empty:()=>_e,addOrOmit:()=>Zy,add:()=>Be,ServiceTypeId:()=>Ho,Service:()=>ve,Reference:()=>I});var Sf=(e)=>St({op:e.label,[ee]:e.evaluate});var Ho="~effect/Context/Service",ve=function(){let e=Error.stackTraceLimit;Error.stackTraceLimit=2;let t=Error();Error.stackTraceLimit=e;function r(){}let n=r;if(Object.setPrototypeOf(n,Qy),Object.defineProperty(n,"stack",{get(){return t.stack}}),arguments.length>0){if(n.key=arguments[0],arguments[1]?.defaultValue)n[Bo]=Bo,n.defaultValue=arguments[1].defaultValue;return n}return function(o,s){if(n.key=o,s?.make)n.make=s.make;return n}},Qy={[Ho]:Ho,...Sf({label:"Service",evaluate(e){return ie(he(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key,stack:this.stack}},of(e){return e},context(e){return ft(this,e)},use(e){return O((t)=>e(he(t.context,this)))},useSync(e){return O((t)=>ie(e(he(t.context,this))))}},Bo="~effect/Context/Reference",Cf="~effect/Context",Bt=(e)=>{let t=Object.create(Yy);return t.mapUnsafe=e,t.mutable=!1,t},Yy={...Ge,[Cf]:{_Services:(e)=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[Q](e){if(!qo(e)||this.mapUnsafe.size!==e.mapUnsafe.size)return!1;for(let t of this.mapUnsafe.keys())if(!e.mapUnsafe.has(t)||!se(this.mapUnsafe.get(t),e.mapUnsafe.get(t)))return!1;return!0},[K](){return Io(this.mapUnsafe.size)}},qo=(e)=>T(e,Cf),Gy=(e)=>T(e,Ho),Bi=(e)=>T(e,Bo),_e=()=>Xy,Xy=Bt(new Map),ft=(e,t)=>Bt(new Map([[e.key,t]])),Be=u(3,(e,t,r)=>_n(e,(n)=>{n.set(t.key,r)})),Zy=u(3,(e,t,r)=>_n(e,(n)=>{if(r._tag==="None")n.delete(t.key);else n.set(t.key,r.value)})),qi=u(3,(e,t,r)=>{if(e.mapUnsafe.has(t.key))return e.mapUnsafe.get(t.key);return Bi(t)?Wo(t):r()}),eE=u(2,(e,t)=>e.mapUnsafe.get(t.key)),vt=u(2,(e,t)=>{if(!e.mapUnsafe.has(t.key)){if(Bo in t)return Wo(t);throw tE(t)}return e.mapUnsafe.get(t.key)}),he=vt,Wi=(e,t)=>{if(!e.mapUnsafe.has(t.key))return Wo(t);return e.mapUnsafe.get(t.key)},Hi="~effect/Context/defaultValue",Wo=(e)=>{if(Hi in e)return e[Hi];return e[Hi]=e.defaultValue()},tE=(e)=>{let t=Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(e.stack){let r=e.stack.split(`
|
|
10
10
|
`);if(r.length>2){let n=r[2].match(/at (.*)/);if(n)t.message=t.message+` (defined at ${n[1]})`}}if(t.stack){let r=t.stack.split(`
|
|
11
11
|
`);r.splice(1,3),t.stack=r.join(`
|
|
12
|
-
`)}return t},
|
|
13
|
-
`);if(o[e]!==void 0)return r=o[e].trim(),r}},
|
|
14
|
-
`),s=[n];for(let i=1;i<o.length;i++){if(/(?:Generator\.next|~effect\/Effect)/.test(o[i]))break;s.push(o[i])}return r?
|
|
12
|
+
`)}return t},Vi=u(2,(e,t)=>{if(e.mapUnsafe.has(t.key))return ue(e.mapUnsafe.get(t.key));return Bi(t)?ue(Wo(t)):re()}),qt=u(2,(e,t)=>{if(e.mapUnsafe.size===0)return t;if(t.mapUnsafe.size===0)return e;return _n(e,(r)=>{t.mapUnsafe.forEach((n,o)=>r.set(o,n))})}),Ji=(...e)=>{let t=new Map;for(let r=0;r<e.length;r++)e[r].mapUnsafe.forEach((n,o)=>{t.set(o,n)});return Bt(t)},rE=(...e)=>(t)=>_n(t,(r)=>{let n=new Set(e.map((o)=>o.key));r.forEach((o,s)=>{if(n.has(s))return;r.delete(s)})}),nE=(...e)=>(t)=>_n(t,(r)=>{for(let n=0;n<e.length;n++)r.delete(e[n].key)}),oE=u(2,(e,t)=>{let r=Bt(new Map(e.mapUnsafe));r.mutable=!0;let n=t(r);return n.mutable=!1,n}),_n=(e,t)=>{if(e.mutable)return t(e.mapUnsafe),e;let r=new Map(e.mapUnsafe);return t(r),Bt(r)},I=ve;var Vo="~effect/time/Duration",sE=BigInt(0),iE=BigInt(1);var cE=BigInt(1000);var Jo=(e)=>BigInt(e<0?Math.ceil(e-0.5):Math.floor(e+0.5)),Af=(e)=>Jo(e*1e6),wf=(e,t)=>e.includes(".")?Jo(Number(e)*Number(t)):BigInt(e)*t;var aE=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,De=(e)=>{switch(typeof e){case"number":return Ki(e);case"bigint":return Fn(e);case"string":{if(e==="Infinity")return Br;if(e==="-Infinity")return Ko;let t=aE.exec(e);if(!t)break;let[r,n,o]=t;if(o==="nano"||o==="nanos")return Fn(wf(n,iE));if(o==="micro"||o==="micros")return Fn(wf(n,cE));let s=Number(n);switch(o){case"milli":case"millis":return Ki(s);case"second":case"seconds":return Qi(s);case"minute":case"minutes":return dE(s);case"hour":case"hours":return mE(s);case"day":case"days":return hE(s);case"week":case"weeks":return gE(s)}break}case"object":{if(e===null)break;if(Vo in e)return e;if(Array.isArray(e)){if(e.length!==2||!e.every(Ru))return kf(e);if(Number.isNaN(e[0])||Number.isNaN(e[1]))return Hr;if(e[0]===-1/0||e[1]===-1/0)return Ko;if(e[0]===1/0||e[1]===1/0)return Br;return Re(Jo(e[0]*1e9+e[1]))}let t=e,r=0;if(t.weeks)r+=t.weeks*604800000;if(t.days)r+=t.days*86400000;if(t.hours)r+=t.hours*3600000;if(t.minutes)r+=t.minutes*60000;if(t.seconds)r+=t.seconds*1000;if(t.milliseconds)r+=t.milliseconds;if(!t.microseconds&&!t.nanoseconds)return Re(r);return Re(Jo(r*1e6+(t.microseconds??0)*1000+(t.nanoseconds??0)))}}return kf(e)},kf=(e)=>{throw Error(`Invalid Input: ${e}`)};var vf={_tag:"Millis",millis:0},uE={_tag:"Infinity"},fE={_tag:"NegativeInfinity"},lE={[Vo]:Vo,[K](){return xn(this.value)},[Q](e){return pE(e)&&EE(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"}}},[be](){return this.toJSON()},pipe(){return N(this,arguments)}},Re=(e)=>{let t=Object.create(lE);if(typeof e==="number")if(isNaN(e)||e===0||Object.is(e,-0))t.value=vf;else if(!Number.isFinite(e))t.value=e>0?uE:fE;else if(!Number.isInteger(e))t.value={_tag:"Nanos",nanos:Af(e)};else t.value={_tag:"Millis",millis:e};else if(e===sE)t.value=vf;else t.value={_tag:"Nanos",nanos:e};return t},pE=(e)=>T(e,Vo);var Hr=Re(0),Br=Re(1/0),Ko=Re(-1/0),Fn=(e)=>Re(e);var Ki=(e)=>Re(e),Qi=(e)=>Re(e*1000),dE=(e)=>Re(e*60000),mE=(e)=>Re(e*3600000),hE=(e)=>Re(e*86400000),gE=(e)=>Re(e*604800000),qr=(e)=>xE(De(e),{onMillis:R,onNanos:(t)=>Number(t)/1e6,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0});var Rf=(e)=>{let t=De(e);switch(t.value._tag){case"Infinity":case"NegativeInfinity":throw Error("Cannot convert infinite duration to nanos");case"Nanos":return t.value.nanos;case"Millis":return Af(t.value.millis)}};var xE=u(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)()}}),Tf=u(3,(e,t,r)=>{if(e.value._tag==="Infinity"||e.value._tag==="NegativeInfinity"||t.value._tag==="Infinity"||t.value._tag==="NegativeInfinity")return r.onInfinity(e,t);if(e.value._tag==="Millis")return t.value._tag==="Millis"?r.onMillis(e.value.millis,t.value.millis):r.onNanos(Rf(e),t.value.nanos);else return r.onNanos(e.value.nanos,Rf(t))});var yE=(e,t)=>Tf(e,t,{onMillis:(r,n)=>r===n,onNanos:(r,n)=>r===n,onInfinity:(r,n)=>r.value._tag===n.value._tag});var Of=u(2,(e,t)=>Tf(e,t,{onMillis:(r,n)=>Re(r-n),onNanos:(r,n)=>Re(r-n),onInfinity:(r,n)=>{let o=r.value._tag,s=n.value._tag;if(o==="Infinity")return s==="Infinity"?Hr:Br;if(o==="NegativeInfinity")return s==="NegativeInfinity"?Hr:Ko;return s==="Infinity"?Ko:Br}}));var EE=u(2,(e,t)=>yE(e,t));var Yi=u(2,(e,t)=>(r)=>{let n=e(r);if(Y(n))return me(r);let o=t(n.success);if(Y(o))return me(r);return o});var Un=I("effect/Scheduler",{defaultValue:()=>new Qo}),If="setImmediate"in globalThis?(e)=>{let t=globalThis.setImmediate(e);return()=>globalThis.clearImmediate(t)}:(e)=>{let t=setTimeout(e,0);return()=>clearTimeout(t)};class Pf{buckets=[];scheduleTask(e,t){let r=this.buckets,n=r.length,o,s=0;for(;s<n;s++){if(r[s][0]>t)break;o=r[s]}if(o&&o[0]===t)o[1].push(e);else if(s===n)r.push([t,[e]]);else r.splice(s,0,[t,[e]])}drain(){let e=this.buckets;return this.buckets=[],e}}class Qo{executionMode;setImmediate;constructor(e="async",t=If){this.executionMode=e,this.setImmediate=t}shouldYield(e){return e.currentOpCount>=e.maxOpsBeforeYield}makeDispatcher(){return new _f(this.setImmediate)}}class _f{tasks=new Pf;running=void 0;setImmediate;constructor(e=If){this.setImmediate=e}scheduleTask(e,t){if(this.tasks.scheduleTask(e,t),this.running===void 0)this.running=this.setImmediate(this.afterScheduled)}afterScheduled=()=>{this.running=void 0,this.runTasks()};runTasks(){let e=this.tasks.drain();for(let t=0;t<e.length;t++){let r=e[t][1];for(let n=0;n<r.length;n++)r[n]()}}flush(){while(this.tasks.buckets.length>0){if(this.running!==void 0)this.running(),this.running=void 0;this.runTasks()}}}var Ff=I("effect/Scheduler/MaxOpsBeforeYield",{defaultValue:()=>2048}),Mf=I("effect/Scheduler/PreventSchedulerYield",{defaultValue:()=>!1});var Gi="effect/Tracer/ParentSpan";class fr extends ve()(Gi){}var CE=(e)=>e;var Wr=I("effect/Tracer/DisablePropagation",{defaultValue:Mr}),Nf=I("effect/Tracer/CurrentTraceLevel",{defaultValue:()=>"Info"}),zf=I("effect/Tracer/MinimumTraceLevel",{defaultValue:()=>"All"}),Xi="effect/Tracer",Yo=I(Xi,{defaultValue:()=>CE({span:(e)=>new Df(e)})});class Df{_tag="Span";spanId;traceId="native";sampled;name;parent;annotations;links;startTime;kind;status;attributes;events=[];constructor(e){this.name=e.name,this.parent=e.parent,this.annotations=e.annotations,this.links=e.links,this.startTime=e.startTime,this.kind=e.kind,this.sampled=e.sampled,this.status={_tag:"Started",startTime:e.startTime},this.attributes=new Map,this.traceId=cr(e.parent)?.traceId??Uf(32),this.spanId=Uf(16)}end(e,t){this.status={_tag:"Ended",endTime:e,exit:t,startTime:this.status.startTime}}attribute(e,t){this.attributes.set(e,t)}event(e,t,r){this.events.push([e,t,r??{}])}addLinks(e){this.links.push(...e)}}var Uf=function(){return function(r){let n="";for(let o=0;o<r;o++)n+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return n}}();var $f="effect/observability/Metric/FiberRuntimeMetricsKey";var Go=I("effect/References/CurrentConcurrency",{defaultValue:()=>"unbounded"}),Lf=I("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),Vr=I("effect/References/CurrentStackFrame",{defaultValue:Je}),Xo=I("effect/References/TracerEnabled",{defaultValue:Ne}),Nn=I("effect/References/TracerTimingEnabled",{defaultValue:Ne}),zn=I("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),Dn=I("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),Rt=I("effect/References/CurrentLogAnnotations",{defaultValue:()=>({})}),ec=I("effect/References/CurrentLogLevel",{defaultValue:()=>"Info"}),tc=I("effect/References/MinimumLogLevel",{defaultValue:()=>"Info"});var Zo=I("effect/References/CurrentLogSpans",{defaultValue:()=>[]});var Wt=(e)=>{if(e?.captureStackTrace===!1)return e;else if(e?.captureStackTrace!==void 0&&typeof e.captureStackTrace!=="boolean")return e;let t=Error.stackTraceLimit;Error.stackTraceLimit=3;let r=Error();return Error.stackTraceLimit=t,{...e,captureStackTrace:vE(()=>r.stack)}},rc=(e)=>(t)=>{let r;return()=>{if(r!==void 0)return r;let n=t();if(!n)return;let o=n.split(`
|
|
13
|
+
`);if(o[e]!==void 0)return r=o[e].trim(),r}},vE=rc(3);var es="dev";class Kf extends Cn{fiberId;constructor(e,t=wn){super("Interrupt",t,"Interrupted");this.fiberId=e}toString(){return`Interrupt(${this.fiberId})`}toJSON(){return{_tag:"Interrupt",fiberId:this.fiberId}}[Q](e){return Uo(e)&&this.fiberId===e.fiberId&&this.annotations===e.annotations}[K](){return we(oe(`${this._tag}:${this.fiberId}`))(To(this.annotations))}}var ns=(e)=>new bt([new Kf(e)]);var Qf=(e)=>{let t=e.reasons.find(vn);return t?ke(t):me(e)},pt=(e)=>{for(let t=0;t<e.reasons.length;t++){let r=e.reasons[t];if(r._tag==="Fail")return ke(r.error)}return me(e)};var Yf=(e)=>e.reasons.some(Rn);var pc=(e)=>{let t=e.reasons.find(Rn);return t?ke(t.defect):me(e)},dc=(e)=>e.reasons.some(Uo);var Gf=(e)=>{let t;for(let r=0;r<e.reasons.length;r++){let n=e.reasons[r];if(n._tag!=="Interrupt")continue;if(t??=new Set,n.fiberId!==void 0)t.add(n.fiberId)}return t?ke(t):me(e)};var Xf=u(2,(e,t)=>{if(e.reasons.length===0)return t;else if(t.reasons.length===0)return e;let r=new bt(xf(e.reasons,t.reasons));return se(e,r)?e:r});var TE=(e)=>{let t={Fail:[],Die:[],Interrupt:[]};for(let r=0;r<e.reasons.length;r++)t[e.reasons[r]._tag].push(e.reasons[r]);return t},os=(e)=>{let t=TE(e);if(t.Fail.length>0)return t.Fail[0].error;else if(t.Die.length>0)return t.Die[0].defect;else if(t.Interrupt.length>0)return new globalThis.Error("All fibers interrupted without error");return new globalThis.Error("Empty cause")},Zf=(e)=>{let t=[],r=[];if(e.reasons.length===0)return t;let n=Error.stackTraceLimit;Error.stackTraceLimit=1;for(let o of e.reasons){if(o._tag==="Interrupt"){r.push(o);continue}t.push(nc(o._tag==="Die"?o.defect:o.error,o.annotations))}if(t.length===0){let o=Error("The fiber was interrupted by:");o.name="InterruptCause",o.stack=_E(o,r);let s=new globalThis.Error("All fibers interrupted without error",{cause:o});s.name="InterruptError",s.stack=`${s.name}: ${s.message}`,t.push(nc(s,r[0].annotations))}return Error.stackTraceLimit=n,t},nc=(e,t)=>{let r=typeof e,n;if(e&&r==="object"){if(n=new globalThis.Error(OE(e),{cause:e.cause?nc(e.cause):void 0}),typeof e.name==="string")n.name=e.name;if(typeof e.stack==="string")n.stack=PE(e.stack,n,t);else{let o=`${n.name}: ${n.message}`;n.stack=t?el(o,t):o}for(let o of Object.keys(e))if(!(o in n))n[o]=e[o]}else n=new globalThis.Error(!e?`Unknown error: ${e}`:r==="string"?e:En(e));return n},OE=(e)=>{if(typeof e.message==="string")return e.message;else if(typeof e.toString==="function"&&e.toString!==Object.prototype.toString&&e.toString!==Array.prototype.toString)try{return e.toString()}catch{}return En(e)},IE=/\((.*)\)/g,PE=(e,t,r)=>{let n=`${t.name}: ${t.message}`,o=(e.startsWith(n)?e.slice(n.length):e).split(`
|
|
14
|
+
`),s=[n];for(let i=1;i<o.length;i++){if(/(?:Generator\.next|~effect\/Effect)/.test(o[i]))break;s.push(o[i])}return r?el(s.join(`
|
|
15
15
|
`),r):s.join(`
|
|
16
|
-
`)},
|
|
17
|
-
${
|
|
18
|
-
`)},
|
|
19
|
-
`)},
|
|
20
|
-
${
|
|
16
|
+
`)},el=(e,t)=>{let r=t?.get(An.key);if(r)e=`${e}
|
|
17
|
+
${tl(r)}`;return e},_E=(e,t)=>{let r=[`${e.name}: ${e.message}`];for(let n of t){let o=n.fiberId!==void 0?`#${n.fiberId}`:"unknown",s=n.annotations.get(Lu.key);if(r.push(` at fiber (${o})`),s)r.push(tl(s))}return r.join(`
|
|
18
|
+
`)},tl=(e)=>{let t=[],r=e,n=0;while(r&&n<10){let o=r.stack();if(o){let s=o.matchAll(IE),i=!1;for(let[,c]of s)i=!0,t.push(` at ${r.name} (${c})`);if(!i)t.push(` at ${r.name} (${o.replace(/^at /,"")})`)}else t.push(` at ${r.name}`);r=r.parent,n++}return t.join(`
|
|
19
|
+
`)},mc=(e)=>Zf(e).map((t)=>t.cause?`${t.stack} {
|
|
20
|
+
${rl(t.cause," ")}
|
|
21
21
|
}`:t.stack).join(`
|
|
22
|
-
`),
|
|
22
|
+
`),rl=(e,t)=>{let r=e.stack.split(`
|
|
23
23
|
`),n=`${t}[cause]: ${r[0]}`;for(let o=1,s=r.length;o<s;o++)n+=`
|
|
24
24
|
${t}${r[o]}`;if(e.cause)n+=` {
|
|
25
|
-
${
|
|
26
|
-
${t}}`;return n},es=`~effect/Fiber/${Zo}`,TE={_A:k,_E:k},IE={id:0},Dn=()=>globalThis[Nr];class mc{constructor(e,t=!0){this[es]=TE,this.setContext(e),this.id=++IE.id,this.currentOpCount=0,this.currentLoopCount=0,this.interruptible=t,this._stack=[],this._observers=[],this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this.runtimeMetrics?.recordFiberStart(this.context)}[es];id;interruptible;currentOpCount;currentLoopCount;_stack;_observers;_exit;_currentExit;_children;_interruptedCause;_yielded;context;currentScheduler;currentTracerContext;currentSpan;currentLogLevel;minimumLogLevel;currentStackFrame;runtimeMetrics;maxOpsBeforeYield;currentPreventYield;_dispatcher=void 0;get currentDispatcher(){return this._dispatcher??=this.currentScheduler.makeDispatcher()}getRef(e){return qi(this.context,e)}addObserver(e){if(this._exit)return e(this._exit),er;return this._observers.push(e),()=>{let t=this._observers.indexOf(e);if(t>=0)this._observers.splice(t,1)}}interruptUnsafe(e,t){if(this._exit)return;let r=rs(e);if(this.currentStackFrame)r=Cn(r,ft(vn,this.currentStackFrame));if(t)r=Cn(r,t);if(this._interruptedCause=this._interruptedCause?Qf(this._interruptedCause,r):r,this.interruptible)this.evaluate(B(this._interruptedCause))}pollUnsafe(){return this._exit}evaluate(e){if(this._exit)return;else if(this._yielded!==void 0){let n=this._yielded;this._yielded=void 0,n()}let t=this.runLoop(e);if(t===$t)return;let r=nc.interruptChildren&&nc.interruptChildren(this);if(r!==void 0)return this.evaluate(b(r,()=>t));this._exit=t,this.runtimeMetrics?.recordFiberEnd(this.context,this._exit);for(let n=0;n<this._observers.length;n++)this._observers[n](t);this._observers.length=0}runLoop(e){let t=globalThis[Nr];globalThis[Nr]=this;let r=!1,n=e;this.currentOpCount=0;let o=++this.currentLoopCount;try{while(!0){if(this.currentOpCount++,!r&&!this.currentPreventYield&&this.currentScheduler.shouldYield(this)){r=!0;let s=n;n=b(Kr,()=>s)}if(n=this.currentTracerContext?this.currentTracerContext(n,this):n[Z](this),o!==this.currentLoopCount)return $t;else if(n===$t){let s=this._yielded;if(rr in s)return this._yielded=void 0,s;return $t}}}catch(s){if(!O(n,Z))return wt(`Fiber.runLoop: Not a valid effect: ${String(n)}`);return this.runLoop(wt(s))}finally{globalThis[Nr]=t}}getCont(e){while(!0){let t=this._stack.pop();if(!t)return;let r=t[Lt]&&t[Lt](this);if(r)return r[e]=r,r;if(t[e])return t}}yieldWith(e){return this._yielded=e,$t}children(){return this._children??=new Set}pipe(){return N(this,arguments)}setContext(e){this.context=e;let t=this.getRef(Fn);if(t!==this.currentScheduler)this.currentScheduler=t,this._dispatcher=void 0;this.currentSpan=e.mapUnsafe.get(Yi),this.currentLogLevel=this.getRef(Zi),this.minimumLogLevel=this.getRef(ec),this.currentStackFrame=e.mapUnsafe.get(qr.key),this.maxOpsBeforeYield=this.getRef(If),this.currentPreventYield=this.getRef(Pf),this.runtimeMetrics=e.mapUnsafe.get(Nf);let r=e.mapUnsafe.get(Gi);this.currentTracerContext=r?r.context:void 0}get currentSpanLocal(){return this.currentSpan?._tag==="Span"?this.currentSpan:void 0}}var nc={interruptChildren:void 0},os=(e)=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(vn.key,e.currentStackFrame),Bt(t)},PE=(e)=>{if(e._children===void 0||e._children.size===0)return;return fr(e._children)},el=(e)=>{let t=e;if(t._exit)return E(t._exit);return Me((r)=>{if(t._exit)return r(E(t._exit));return C(e.addObserver((n)=>r(E(n))))})},ss=(e)=>Me((t)=>{let r=e[Symbol.iterator](),n=[],o=void 0;function s(){let i=r.next();while(!i.done){if(i.value._exit){n.push(i.value._exit),i=r.next();continue}o=i.value.addObserver((c)=>{n.push(c),s()});return}t(E(n))}return s(),C(()=>o?.())});var hc=(e)=>T((t)=>tl(e,t.id)),tl=u((e)=>O(e[0],es),(e,t,r)=>T((n)=>{let o=os(n);return o=o&&r?qt(o,r):o??r,e.interruptUnsafe(t,o),$n(el(e))})),fr=(e)=>T((t)=>{let r=os(t);for(let n of e)n.interruptUnsafe(t.id,r);return $n(ss(e))});var E=ie,B=De,H=Ct,C=Be({op:"Sync",[Z](e){let t=this[M](),r=e.getCont(_e);return r?r[_e](t,e):e.yieldWith(ie(t))}}),_=Be({op:"Suspend",[Z](e){return this[M]()}}),rl=zo({onNone:()=>H(new kt("Effect.fromOption: Option.none")),onSome:E}),Jr=sf({onFailure:H,onSuccess:E}),nl=(e)=>e==null?H(new kt):E(e),gc=Be({op:"Yield",[Z](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{if(t)return;e.evaluate(tt)},this[M]??0),e.yieldWith(()=>{t=!0})}}),Kr=gc(0),xc=(e)=>E(ue(e)),Ln=E(ee()),ol=(e)=>An(e)?Ln:L(e.value,ue),sl=(e)=>_(()=>B(z(e))),Ot=(e)=>wt(e),is=(e)=>_(()=>H(z(e))),U=E(void 0);var il=(e)=>{let t=typeof e==="function"?e:e.try,r=typeof e==="function"?(n)=>new ks(n,"An error occurred in Effect.try"):e.catch;return _(()=>{try{return E(z(t))}catch(n){return H(z(()=>r(n)))}})};var yc=(e)=>Ec(function(t,r){z(()=>e(r)).then((n)=>t(E(n)),(n)=>t(Ot(n)))},e.length!==0),cl=(e)=>{let t=typeof e==="function"?e:e.try,r=typeof e==="function"?(n)=>new ks(n,"An error occurred in Effect.tryPromise"):e.catch;return Ec(function(n,o){let s=(i)=>{try{n(H(z(()=>r(i))))}catch(c){n(Ot(c))}};try{z(()=>t(o)).then((i)=>n(E(i)),s)}catch(i){s(i)}},t.length!==0)},al=(e)=>T((t)=>e(t.id)),ul=T(E),fl=al(E),Ec=Be({op:"Async",single:!1,[Z](e){let t=z(()=>this[M][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[M][1]?new AbortController:void 0,s=t((i)=>{if(r)return;if(r=!0,n)e.evaluate(i);else n=i},o?.signal);if(n!==!1)return n;if(n=!0,e._yielded=()=>{r=!0},o===void 0&&s===void 0)return $t;return e._stack.push(_E(()=>(r=!0,o?.abort(),s??tt))),$t}}),_E=Be({op:"AsyncFinalizer",[Lt](e){if(e.interruptible)e.interruptible=!1,e._stack.push(bs)},[Xe](e,t){return pc(e)?b(this[M](),()=>B(e)):B(e)}}),Me=(e)=>Ec(e,e.length>=2),cs=Me(er),ll=(...e)=>_(()=>Wr(e.length===1?e[0]():e[1].call(e[0].self))),bc=(e,...t)=>{let r=t.length===0?function(){return _(()=>Wr(e.apply(this,arguments)))}:function(){let n=_(()=>Wr(e.apply(this,arguments)));for(let o=0;o<t.length;o++)n=t[o](n,...arguments);return n};return Sc(e.length,r)},Sc=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),Df=tc(2),pl=function(){let e=typeof arguments[0]==="string",t=e?arguments[0]:"Effect.fn",r=e?arguments[1]:void 0,n=globalThis.Error.stackTraceLimit;globalThis.Error.stackTraceLimit=2;let o=new globalThis.Error;if(globalThis.Error.stackTraceLimit=n,e)return(s,...i)=>Lf(t,s,o,i,e,r);return Lf(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,r)},Lf=(e,t,r,n,o,s)=>{let i=typeof t==="function"?t:n.pop().bind(t.self);return Sc(i.length,function(...c){let f=_(()=>{let p=i.apply(this,arguments);return v(p)?p:Wr(p)});for(let p=0;p<n.length;p++)f=n[p](f,...c);if(!v(f))return f;let l=globalThis.Error.stackTraceLimit;globalThis.Error.stackTraceLimit=2;let d=new globalThis.Error;return globalThis.Error.stackTraceLimit=l,At(o?zn(e,s,(p)=>cc(f,p)):f,qr,(p)=>({name:e,stack:Df(()=>d.stack),parent:{name:`${e} (definition)`,stack:Df(()=>r.stack),parent:p}}))})},dl=(e,...t)=>Sc(e.length,t.length===0?function(){return $f(()=>e.apply(this,arguments))}:function(){let r=$f(()=>e.apply(this,arguments));for(let n of t)r=n(r);return r}),$f=(e)=>{try{let t=e(),r=void 0;while(!0){let n=t.next(r);if(n.done)return E(n.value);let o=n.value;if(o&&o._tag==="Success"){r=o.value;continue}else if(o&&o._tag==="Failure")return n.value;else{let s=!0;return _(()=>{if(s)return s=!1,b(n.value,(i)=>Wr(t,i));else return _(()=>Wr(e()))})}}}catch(t){return Ot(t)}},Wr=Be({op:"Iterator",single:!1,[_e](e,t){let r=this[M][0];while(!0){let n=r.next(e);if(n.done)return E(n.value);if(!$e(n.value))return t._stack.push(this),n.value;else if(n.value._tag==="Failure")return n.value;e=n.value.value}},[Z](e){return this[_e](this[M][1],e)}}),Oe=u(2,(e,t)=>{let r=E(t);return b(e,(n)=>r)}),as=(e)=>L(e,ue),ml=(e)=>lr(e,{onFailure:E,onSuccess:H}),Ve=u(2,(e,t)=>b(e,(r)=>v(t)?t:z(()=>t(r)))),dt=u(2,(e,t)=>b(e,(r)=>Oe(v(t)?t:z(()=>t(r)),r))),$n=(e)=>b(e,(t)=>tt),hl=(e)=>Ue(e,H),Cc=(e,t)=>T((r)=>Me((n)=>{let o=et(e),s=o.length,i=0,c=!1,f=new Set,l=[],d=(p,x,S)=>{if(i++,p._tag==="Failure"){if(l.push(...p.cause.reasons),i>=s)n(B(nr(l)));return}let y=!c;if(c=!0,n(f.size===0?p:b(mr(fr(f)),()=>p)),y&&t?.onWinner)t.onWinner({fiber:x,index:S,parentFiber:r})};for(let p=0;p<s;p++){let x=hr(r,o[p],!0,!0,!1);if(f.add(x),x.addObserver((S)=>{f.delete(x),d(S,x,p)}),c)break}return fr(f)})),wc=(e,t)=>T((r)=>Me((n)=>{let o=!1,s=new Set,i=(f)=>{o=!0,n(s.size===0?f:b(mr(fr(s)),()=>f))},c=0;for(let f of e){if(o)break;let l=c++,d=hr(r,f,!0,!0,!1);s.add(d),d.addObserver((p)=>{s.delete(d);let x=!o;if(i(p),x&&t?.onWinner)t.onWinner({fiber:d,index:l,parentFiber:r})})}return fr(s)})),gl=u((e)=>v(e[1]),(e,t,r)=>Cc([e,t],r)),us=u((e)=>v(e[1]),(e,t,r)=>wc([e,t],r)),b=u(2,(e,t)=>{let r=Object.create(FE);return r[M]=e,r[_e]=t.length!==1?(n)=>t(n):t,r}),FE=St({op:"OnSuccess",[Z](e){return e._stack.push(this),this[M]}}),xl=u(2,(e,t)=>{if($e(e))return e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause);return lt(e,t)}),$e=(e)=>(rr in e),yl=u(2,(e,t)=>{if($e(e))return e._tag==="Success"?t(e.value):e;return b(e,t)}),El=(e)=>b(e,k),L=u(2,(e,t)=>b(e,(r)=>E(z(()=>t(r))))),bl=u(2,(e,t)=>$e(e)?vl(e,t):L(e,t)),Sl=u(2,(e,t)=>$e(e)?Rl(e,t):Pc(e,t)),Cl=u(2,(e,t)=>$e(e)?Ol(e,t):_c(e,t)),wl=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return e;let r=pt(e.cause);if(J(r))return e;return t(r.success)}return Ae(e,t)});var kc=(e)=>e._tag==="Success";var kl=(e)=>e._tag==="Failure"?ke(e.cause):me(e);var tt=ie(void 0),vl=u(2,(e,t)=>e._tag==="Success"?ie(t(e.value)):e),Rl=u(2,(e,t)=>{if(e._tag==="Success")return e;let r=pt(e.cause);if(J(r))return e;return Ct(t(r.success))}),Ol=u(2,(e,t)=>{if(e._tag==="Success")return ie(t.onSuccess(e.value));let r=pt(e.cause);if(J(r))return e;return Ct(t.onFailure(r.success))});var Al=(e)=>{let t=[];for(let r of e)if(r._tag==="Failure")t.push(...r.cause.reasons);return t.length===0?tt:De(nr(t))};var Tl=(e)=>e,Il=(e)=>T((t)=>E(Wi(t.context,e))),ME=(e)=>T((t)=>t.context.mapUnsafe.has(e.key)?E(vt(t.context,e)):H(new kt)),jn=u(2,(e,t)=>T((r)=>{let n=r.context,o=t(n);if(n===o)return e;return r.setContext(o),Gr(e,()=>{r.setContext(n);return})})),At=u(3,(e,t,r)=>jn(e,(n)=>{let o=vt(n,t),s=r(o);if(o===s)return n;return qe(n,t,s)})),vc=()=>UE,UE=T((e)=>E(e.context)),Jt=(e)=>T((t)=>e(t.context)),Tt=u(2,(e,t)=>{if($e(e))return e;return jn(e,qt(t))}),Se=function(){if(arguments.length===1)return u(2,(e,t)=>jf(e,arguments[0],t));return u(3,(e,t,r)=>jf(e,t,r)).apply(this,arguments)},jf=(e,t,r)=>jn(e,(n)=>{if(n.mapUnsafe.get(t.key)===r)return n;return qe(n,t,r)}),fs=u(3,(e,t,r)=>b(r,(n)=>Se(e,t,n))),Pl=Se(Yo),Rc=u((e)=>v(e[1]),(e,t,r)=>Oc(e,t,(n,o)=>[n,o],r)),Oc=u((e)=>v(e[1]),(e,t,r,n)=>n?.concurrent?L(Ss([e,t],{concurrency:2}),([o,s])=>z(()=>r(o,s))):b(e,(o)=>L(t,(s)=>z(()=>r(o,s))))),_l=u((e)=>v(e[0]),(e,t,r)=>Wc(e,t,r?(n)=>H(r(n)):()=>H(new kt))),Fl=u(2,(e,t)=>b(t,(r)=>r?as(e):Ln)),Ac=u(2,(e,t)=>Array.from({length:t},()=>e)),Ml=u((e)=>v(e[0]),(e,t,r)=>Ss(Ac(e,t),r)),ls=u((e)=>v(e[0]),(e,t)=>Kt({while:ze,body:re(t?.disableYield?e:b(e,(r)=>Kr)),step:er})),Ue=u(2,(e,t)=>{let r=Object.create(NE);return r[M]=e,r[Xe]=t.length!==1?(n)=>t(n):t,r}),NE=St({op:"OnFailure",[Z](e){return e._stack.push(this),this[M]}}),Tc=u(3,(e,t,r)=>Ue(e,(n)=>{if(!t(n))return B(n);return z(()=>r(n))})),Qr=u(3,(e,t,r)=>Ue(e,(n)=>{let o=t(n);return J(o)?B(o.failure):z(()=>r(o.success,n))})),Ae=u(2,(e,t)=>Qr(e,pt,(r)=>t(r))),Ul=(e)=>lr(e,{onFailure:(t)=>Ai(t)?Ln:H(t),onSuccess:xc}),Nl=u(2,(e,t)=>Qr(e,lc,t)),zl=u(2,(e,t)=>Ue(e,(r)=>Ve(z(()=>t(r)),B(r)))),Dl=u(3,(e,t,r)=>Tc(e,t,(n)=>Ve(z(()=>r(n)),B(n)))),ps=u(3,(e,t,r)=>Ue(e,(n)=>{let o=t(n);if(J(o))return B(n);return Ve(z(()=>r(o.success,n)),B(n))})),Ic=u(2,(e,t)=>ps(e,pt,(r)=>t(r))),Ll=u(3,(e,t,r)=>{let n=Array.isArray(t)?(o)=>O(o,"_tag")&&t.includes(o._tag):it(t);return Ic(e,(o)=>n(o)?r(o):U)}),$l=u(2,(e,t)=>ps(e,lc,(r)=>t(r))),Hn=u((e)=>v(e[0]),(e,t,r,n)=>Ue(e,(o)=>{let s=pt(o);if(J(s))return B(s.failure);if(!t(s.success))return n?z(()=>n(s.success)):B(o);return z(()=>r(s.success))})),ds=u((e)=>v(e[0]),(e,t,r,n)=>Ue(e,(o)=>{let s=pt(o);if(J(s))return B(s.failure);let i=t(s.success);if(J(i))return n?z(()=>n(i.failure)):B(o);return z(()=>r(i.success))})),ms=u((e)=>v(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?(s)=>O(s,"_tag")&&t.includes(s._tag):it(t);return Hn(e,o,r,n)}),jl=u((e)=>v(e[0]),(e,t,r)=>{let n;return ds(e,(o)=>(n??=Object.keys(t),O(o,"_tag")&&Mr(o._tag)&&n.includes(o._tag)?ke(o):me(o)),(o)=>z(()=>t[o._tag](o)),r)}),Hl=u((e)=>v(e[0]),(e,t,r,n,o)=>Hn(e,(s)=>it(s,t)&&O(s,"reason"),(s)=>{let i=s.reason;if(it(i,r))return n(i,s);return o?z(()=>o(i,s)):H(s)})),Bl=u((e)=>v(e[0]),(e,t,r,n)=>{let o;return Hn(e,(s)=>it(s,t)&&O(s,"reason")&&O(s.reason,"_tag")&&Mr(s.reason._tag),(s)=>{let i=s.reason;if(o??=Object.keys(r),o.includes(i._tag))return z(()=>r[i._tag](i,s));return n?z(()=>n(i,s)):H(s)})}),ql=u(2,(e,t)=>ds(e,(r)=>{if(it(r,t)&&O(r,"reason"))return ke(r.reason);return me(r)},H));var Pc=u(2,(e,t)=>Ae(e,(r)=>is(()=>t(r)))),_c=u(2,(e,t)=>lr(e,{onFailure:(r)=>is(()=>t.onFailure(r)),onSuccess:(r)=>C(()=>t.onSuccess(r))})),hs=(e)=>Ae(e,Ot),Wl=u(2,(e,t)=>Ae(e,(r)=>C(t))),Vl=(e)=>_(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return Ot(Error("Received an empty collection of effects"));function n(o){let s=t.next();if(s.done)return o.value;return Ae(o.value,(i)=>n(s))}return n(r)}),Fc=(e)=>Ae(e,(t)=>b(Kr,()=>Fc(e))),Jl=u((e)=>v(e[0]),(e,t)=>{if(!t?.log)return lr(e,{onFailure:(n)=>U,onSuccess:(n)=>U});let r=nt(t.log===!0?void 0:t.log);return lt(e,{onFailure(n){let o=Vf(n);return J(o)?B(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:(n)=>U})}),Kl=u((e)=>v(e[0]),(e,t)=>{if(!t?.log)return lt(e,{onFailure:(n)=>U,onSuccess:(n)=>U});let r=nt(t.log===!0?void 0:t.log);return lt(e,{onFailure:(n)=>t.message===void 0?r(n):r(t.message,n),onSuccess:(n)=>U})}),Ql=(e)=>gs(e,{onFailure:ee,onSuccess:ue}),Vt=(e)=>Bn(e,{onFailure:me,onSuccess:ke}),lt=u(2,(e,t)=>{let r=Object.create(zE);return r[M]=e,r[_e]=t.onSuccess.length!==1?(n)=>t.onSuccess(n):t.onSuccess,r[Xe]=t.onFailure.length!==1?(n)=>t.onFailure(n):t.onFailure,r}),zE=St({op:"OnSuccessAndFailure",[Z](e){return e._stack.push(this),this[M]}}),Mc=u(2,(e,t)=>lt(e,{onFailure:(r)=>C(()=>t.onFailure(r)),onSuccess:(r)=>C(()=>t.onSuccess(r))})),lr=u(2,(e,t)=>lt(e,{onFailure:(r)=>{let n=r.reasons.find(wn);return n?z(()=>t.onFailure(n.error)):B(r)},onSuccess:t.onSuccess})),gs=u(2,(e,t)=>lr(e,{onFailure:(r)=>C(()=>t.onFailure(r)),onSuccess:(r)=>C(()=>t.onSuccess(r))})),Bn=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return ie(t.onSuccess(e.value));let r=pt(e.cause);if(J(r))return e;return ie(t.onFailure(r.success))}return gs(e,t)}),Yl=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return ie(t.onSuccess(e.value));return ie(t.onFailure(e.cause))}return Mc(e,t)}),qn=(e)=>$e(e)?ie(e):DE(e),DE=Be({op:"Exit",[Z](e){return e._stack.push(this),this[M]},[_e](e,t,r){return E(r??ie(e))},[Xe](e,t,r){return E(r??De(e))}}),Gl=Bn({onFailure:()=>!0,onSuccess:()=>!1}),Xl=Bn({onFailure:()=>!1,onSuccess:()=>!0}),Zl=u(2,(e,t)=>Ve(xr(t),e)),Uc=u(2,(e,t)=>us(e,b(xr(t.duration),t.orElse))),ep=u(2,(e,t)=>Uc(e,{duration:t,orElse:()=>H(new Zc)})),tp=u(2,(e,t)=>us(as(e),Oe(xr(t),ee()))),rp=(e)=>gr((t)=>{let r=t.currentTimeNanosUnsafe();return L(e,(n)=>[Pn(t.currentTimeNanosUnsafe()-r),n])}),oc="~effect/Scope",sc="~effect/Scope/Closeable",pr=ve("effect/Scope"),Nc=(e,t)=>_(()=>xs(e,t)??U),xs=(e,t)=>{if(e.state._tag==="Closed")return;let r={_tag:"Closed",exit:t};if(e.state._tag==="Empty"){e.state=r;return}let{finalizers:n}=e.state;if(e.state=r,n.size===0)return;else if(n.size===1)return n.values().next().value(t);return LE(e,n,t)},LE=bc(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=Dn();for(let c=s.length-1;c>=0;c--){let f=s[c];if(e.strategy==="sequential")n.push(yield*qn(f(r)));else o.push(hr(i,f(r),!0,!0,"inherit"))}if(o.length>0)n=yield*ss(o);return yield*Al(n)});var np=(e,t)=>{let r=Wn(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return ts(e,n,(o)=>Nc(r,o)),ts(r,n,(o)=>C(()=>sp(e,n))),r},mt=(e,t)=>_(()=>{if(e.state._tag==="Closed")return t(e.state.exit);return ts(e,{},t),U}),op=(e,t)=>mt(e,re(t)),ts=(e,t,r)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizers:new Map([[t,r]])};else if(e.state._tag==="Open")e.state.finalizers.set(t,r)},sp=(e,t)=>{if(e.state._tag==="Open")e.state.finalizers.delete(t)},Wn=(e="sequential")=>({[sc]:sc,[oc]:oc,strategy:e,state:$E}),$E={_tag:"Empty"};var Vn=pr,ip=Se(pr),ys=(e)=>T((t)=>{let r=t.context,n=Wn();return t.setContext(qe(t.context,pr,n)),Gr(e,(o)=>(t.setContext(r),xs(n,o)))});var Es=(e)=>_(()=>{let t=Wn();return Te(e(t),(r)=>_(()=>xs(t,r)??U))}),dr=(e,t,r)=>Jt((n)=>Kn((o)=>b(Vn,(s)=>dt(r?.interruptible?o(e):e,(i)=>mt(s,(c)=>Tt(t(i,c),n)))))),Yr=(e)=>b(Vn,(t)=>Jt((r)=>mt(t,(n)=>Tt(e(n),r)))),Gr=Be({op:"OnExit",single:!1,[Z](e){return e._stack.push(this),this[M][0]},[Lt](e){if(e.interruptible&&this[M][2]!==!0)e._stack.push(bs),e.interruptible=!1},[_e](e,t,r){r??=ie(e);let n=this[M][1](r);return n?b(n,(o)=>r):r},[Xe](e,t,r){r??=De(e);let n=this[M][1](r);return n?b(n,(o)=>r):r}}),Te=u(2,Gr),cp=u(2,(e,t)=>Te(e,(r)=>t)),zc=u(3,(e,t,r)=>Te(e,(n)=>{if(!t(n))return U;return r(n)})),Dc=u(3,(e,t,r)=>Te(e,(n)=>{let o=t(n);return J(o)?U:r(o.success,n)})),Lc=u(2,(e,t)=>Dc(e,kl,t)),ap=u(3,(e,t,r)=>zc(e,(n)=>{if(n._tag!=="Failure")return!1;return t(n.cause)},(n)=>r(n.cause))),$c=u(3,(e,t,r)=>Te(e,(n)=>{if(n._tag!=="Failure")return U;let o=t(n.cause);return J(o)?U:r(o.success,n.cause)})),up=u(2,(e,t)=>$c(Kf,t)(e)),Jn=(e,t,r)=>Kn((n)=>b(e,(o)=>Gr(n(t(o)),(s)=>r(o,s),!0))),fp=(e)=>dr(e,(t)=>O(t,Symbol.asyncDispose)?yc(()=>t[Symbol.asyncDispose]()):C(()=>t[Symbol.dispose]())),jc=u(2,(e,t)=>C(()=>{let r=Hr(Le(t)),n=Number.isFinite(r),o=Gc(!1),s=0,i=!1,c,f=b(o.await,()=>c);return[T((l)=>{let d=l.getRef(ht),p=n?d.currentTimeMillisUnsafe():0;if(i||p<s)return c??f;return i=!0,o.closeUnsafe(),c=void 0,Te(e,(x)=>C(()=>{i=!1,s=d.currentTimeMillisUnsafe()+r,c=x,o.openUnsafe()}))}),C(()=>{s=0,o.closeUnsafe(),c=void 0})]})),Hc=u(2,(e,t)=>L(jc(e,t),(r)=>r[0])),lp=(e)=>Hc(e,jr),pp=T((e)=>B(rs(e.id))),mr=(e)=>T((t)=>{if(!t.interruptible)return e;return t.interruptible=!1,t._stack.push(bs),e}),dp=Be({op:"SetInterruptible",[Lt](e){if(e.interruptible=this[M],e._interruptedCause&&e.interruptible)return()=>B(e._interruptedCause)}}),bs=dp(!0),mp=dp(!1),Bc=(e)=>T((t)=>{if(t.interruptible)return e;if(t.interruptible=!0,t._stack.push(mp),t._interruptedCause)return B(t._interruptedCause);return e}),Kn=(e)=>T((t)=>{if(!t.interruptible)return e(k);return t.interruptible=!1,t._stack.push(bs),e(Bc)}),hp=(e)=>T((t)=>{if(t.interruptible)return e(k);return t.interruptible=!0,t._stack.push(mp),e(mr)}),gp=L(dr(C(()=>new AbortController),(e)=>C(()=>e.abort())),(e)=>e.signal),Ss=(e,t)=>{if(Et(e))return t?.mode==="result"?We(e,Vt,t):We(e,k,t);else if(t?.discard)return t.mode==="result"?We(Object.values(e),Vt,t):We(Object.values(e),k,t);return _(()=>{let r={};return Oe(We(Object.entries(e),([n,o])=>L(t?.mode==="result"?Vt(o):o,(s)=>{r[n]=s}),{discard:!0,concurrency:t?.concurrency}),r)})},qc=u((e)=>Et(e[0])&&!v(e[0]),(e,t,r)=>L(We(e,(n,o)=>Vt(t(n,o)),r),(n)=>gf(n,k))),xp=u((e)=>Et(e[0])&&!v(e[0]),(e,t,r)=>b(qc(e,t,{concurrency:r?.concurrency}),([n,o])=>{if(Li(n))return H(n);return r?.discard?U:E(o)})),yp=u((e)=>Et(e[0])&&!v(e[0]),(e,t)=>_(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return Ep(r,0,t,n.value);return E(ee())})),Ep=(e,t,r,n)=>b(r(n,t),(o)=>{if(o)return E(ue(n));let s=e.next();if(!s.done)return Ep(e,t+1,r,s.value);return E(ee())}),bp=u((e)=>Et(e[0])&&!v(e[0]),(e,t)=>_(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return Sp(r,0,t,n.value);return E(ee())})),Sp=(e,t,r,n)=>b(r(n,t),(o)=>{if(ir(o))return E(ue(o.success));let s=e.next();if(!s.done)return Sp(e,t+1,r,s.value);return E(ee())}),Kt=Be({op:"While",[_e](e,t){if(this[M].step(e),this[M].while())return t._stack.push(this),this[M].body();return tt},[Z](e){if(this[M].while())return e._stack.push(this),this[M].body();return tt}}),We=u((e)=>typeof e[1]==="function",(e,t,r)=>T((n)=>{let o=r?.concurrency==="inherit"?n.getRef(Yo):r?.concurrency??1,s=o==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,o);if(s===1)return jE(e,t,r);let i=et(e),c=i.length;if(c===0)return r?.discard?U:E([]);let f=r?.discard?void 0:Array(c),l=BE({f:t,out:f},i,{concurrency:s});return l?Oe(l,f):E(f)})),jE=(e,t,r)=>_(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return Oe(Kt({while:()=>!s.done,body:()=>t(s.value,i++),step:(c)=>{if(n)n.push(c);s=o.next()}}),n)}),HE=(e)=>{let{onItem:t,step:r}=e;return(n,o,s)=>{let i=s?.start??0,c=s?.end??o.length,f=s?.concurrency??1,l=!1,d,p,x,S=!1,y,I,R=()=>{let se=!1;for(;!y&&i<c;i++){let te=o[i],ye=I??t(n,te,i);if($e(ye)){if(y=r(n,te,ye,i),y)break}else if(f===1)return b(qn(ye),(Y)=>(y=r(n,te,Y,i),i++,y??R()??U));else if(!d)return Me((Y)=>{d=Dn(),I=ye,x=Y;let Ke=R();if(Ke)return Y(Ke);return _(()=>(y=tt,S=!0,p?fr(p):U))});else{I=void 0;let Y=hr(d,ye,!0,!0,"inherit");if(Y._exit){if(y=r(n,te,Y._exit,i),y)break;continue}if(p)p.add(Y);else p=new Set([Y]);let Ke=i;if(Y.addObserver((Ie)=>{if(p.delete(Y),y){if(!S&&Ie._tag==="Failure")for(let de of Ie.cause.reasons)if(de._tag==="Interrupt")continue;else if(y._tag==="Failure")y.cause.reasons.push(de);else y=De(nr([de]))}else{let de=r(n,te,Ie,Ke);if(de)y=de._tag==="Failure"?De(nr(de.cause.reasons.slice())):de,R()}if(se){let de=R();if(de)x(de)}else if(l&&p.size===0)x(y??U)}),p.size<f)continue;se=!0,i++;return}}if(l=!0,y){if(p&&p.size>0){let te=os(d);p.forEach((ye)=>ye.interruptUnsafe(d.id,te));return}if(x||y._tag==="Failure")return y}else if(x){if(!p)return tt;else if(p.size===0)x(U)}};return R()}};var BE=HE({onItem(e,t,r){return e.f(t,r)},step(e,t,r,n){if(r._tag==="Failure")return r;else if(e.out)e.out[n]=r.value}}),Wc=u(3,(e,t,r)=>b(e,(n)=>t(n)?E(n):r(n))),Vc=u(3,(e,t,r)=>b(e,(n)=>{let o=t(n);return J(o)?r(o.failure):E(o.success)})),Cp=u((e)=>v(e[0]),(e,t,r)=>Vc(e,t,r?(n)=>H(r(n)):()=>H(new kt))),wp=u((e)=>Et(e[0])&&!v(e[0]),(e,t,r)=>_(()=>{let n=[];return Oe(We(e,(o,s)=>{let i=t(o,s);if(typeof i==="boolean"){if(i)n.push(o);return U}return L(i,(c)=>{if(c)n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),kp=u((e)=>Et(e[0])&&!v(e[0]),(e,t)=>_(()=>{let r=[];for(let n of e){let o=t(n);if(ir(o))r.push(o.success)}return E(r)})),vp=u((e)=>Et(e[0])&&!v(e[0]),(e,t,r)=>_(()=>{let n=[];return Oe(We(e,(o)=>L(t(o),(s)=>{if(ir(s))n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),Rp=E({}),Op=qu(L),Ap=Wu(L,b),Tp=Bu(L);var Ip=u((e)=>v(e[0]),(e,t)=>T((r)=>(ib(),E(hr(r,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),hr=(e,t,r=!1,n=!1,o=!1)=>{let s=o==="inherit"?e.interruptible:!o,i=new mc(e.context,s);if(r)i.evaluate(t);else e.currentDispatcher.scheduleTask(()=>i.evaluate(t),0);if(!n&&!i._exit)e.children().add(i),i.addObserver(()=>e._children.delete(i));return i},Pp=u((e)=>v(e[0]),(e,t)=>T((r)=>E(hr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),_p=(e)=>T((t)=>{let r=t._children&&et(t._children);return Te(e,(n)=>{let o=t._children;if(o===void 0||o.size===0)return U;else if(r)o=af(o,(s)=>!r.includes(s));return $n(ss(o))})}),Jc=u((e)=>v(e[0]),(e,t,r)=>T((n)=>{let o=hr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};ts(t,s,()=>al((c)=>c===o.id?U:hc(o))),o.addObserver(()=>sp(t,s))}else o.interruptUnsafe(n.id,os(n));return E(o)})),Fp=u((e)=>v(e[0]),(e,t)=>b(Vn,(r)=>Jc(e,r,t))),It=(e)=>(t,r)=>{let n=new mc(r?.scheduler?qe(e,Fn,r.scheduler):e,r?.uninterruptible!==!0);if(n.evaluate(t),n._exit)return n;if(r?.signal)if(r.signal.aborted)n.interruptUnsafe();else{let o=()=>n.interruptUnsafe();r.signal.addEventListener("abort",o,{once:!0}),n.addObserver(()=>r.signal.removeEventListener("abort",o))}if(r?.onFiberStart)r.onFiberStart(n);return n};var Mp=It(Fe()),Kc=(e)=>{let t=It(e);return(r,n)=>{let o=t(r,n);if(n?.onExit)o.addObserver(n.onExit);return(s)=>o.interruptUnsafe(s)}},Up=Kc(Fe()),Cs=(e)=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise((s)=>{o.addObserver((i)=>s(i))})}},Np=Cs(Fe()),Qc=(e)=>{let t=Cs(e);return(r,n)=>t(r,n).then((o)=>{if(o._tag==="Failure")throw ns(o.cause);return o.value})},zp=Qc(Fe()),ws=(e)=>{let t=It(e);return(r)=>{if($e(r))return r;let n=new Ko("sync"),o=t(r,{scheduler:n});return o.currentDispatcher?.flush(),o._exit??wt(new ea(o))}},Dp=ws(Fe()),Yc=(e)=>{let t=ws(e);return(r)=>{let n=t(r);if(n._tag==="Failure")throw ns(n.cause);return n.value}},Lp=Yc(Fe()),Hf=E(!0),Bf=E(!1);class $p{waiters=[];scheduled=!1;isOpen;constructor(e){this.isOpen=e}scheduleUnsafe(e){if(this.scheduled||this.waiters.length===0)return Hf;return this.scheduled=!0,e.currentDispatcher.scheduleTask(this.flushWaiters,0),Hf}flushWaiters=()=>{this.scheduled=!1;let e=this.waiters;this.waiters=[];for(let t=0;t<e.length;t++)e[t](tt)};open=T((e)=>{if(this.isOpen)return Bf;return this.isOpen=!0,this.scheduleUnsafe(e)});release=T((e)=>this.isOpen?Bf:this.scheduleUnsafe(e));openUnsafe(){if(this.isOpen)return!1;return this.isOpen=!0,this.flushWaiters(),!0}await=Me((e)=>{if(this.isOpen)return e(U);return this.waiters.push(e),C(()=>{let t=this.waiters.indexOf(e);if(t!==-1)this.waiters.splice(t,1)})});closeUnsafe(){if(!this.isOpen)return!1;return this.isOpen=!1,!0}close=C(()=>this.closeUnsafe());whenOpen=(e)=>b(this.await,()=>e)}var Gc=(e)=>new $p(e??!1);var jp=T((e)=>E(e.getRef(Qo))),Hp=u(2,(e,t)=>Se(e,Qo,t)),Bp=Se(Go),qp=Se(Mn),ic=BigInt(0),qE={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ic,endTime:ic,exit:tt},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},WE=(e)=>Object.assign(Object.create(qE),e),Wp=(e)=>{if(!e)return ee();return he(e.annotations,Br)?e._tag==="Span"?Wp(sr(e.parent)):ee():ue(e)},Xc=(e,t,r)=>{let n=!e.getRef(Go)||r?.annotations&&he(r.annotations,Br),o=r?.parent!==void 0?ue(r.parent):r?.root?ee():Wp(e.currentSpan),s;if(n)s=WE({name:t,parent:o,annotations:qe(r?.annotations??Fe(),Br,!0)});else{let i=e.getRef(Qo),c=e.getRef(ht),f=e.getRef(Mn),l=e.getRef(Un),d=e.getRef(Nn),p=r?.level??e.getRef(Ff),x=r?.links!==void 0?[...d,...r.links]:d.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Fe(),links:x,startTime:f?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??An(o),sampled:r?.sampled??(Ni(o)&&o.value.sampled===!1?!1:!od(e.getRef(Mf),p))});for(let[S,y]of Object.entries(l))s.attribute(S,y);if(r?.attributes!==void 0)for(let[S,y]of Object.entries(r.attributes))s.attribute(S,y)}return s},Vp=(e,t)=>T((r)=>E(Xc(r,e,t))),rt=(e,t)=>mr(T((r)=>{let n=vt(r.context,pr),o=Xc(r,e,t??{}),s=r.getRef(ht),i=r.getRef(Mn);return Oe(mt(n,(c)=>JE(o,c,s,i)),o)})),Jp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return b(rt(t,r),(o)=>Vr(n,o,r))}return(n)=>b(rt(t,r),(o)=>Vr(n,o,r))},VE=(e,t)=>(t=typeof t==="function"?t:Qe,At(qr,(r)=>({name:e,stack:t,parent:r}))),Kp=Un,Qp=Nn,Yp=u((e)=>v(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map((s)=>({span:s,attributes:r}));return At(e,Nn,(s)=>[...s,...o])}),JE=(e,t,r,n)=>C(()=>{if(e.status._tag==="Ended")return;e.end(n?r.currentTimeNanosUnsafe():ic,t)}),zn=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return T((o)=>{let s=Xc(o,e,r),i=o.getRef(ht);return Te(z(()=>n(s)),(c)=>C(()=>{if(s.status._tag==="Ended")return;s.end(i.currentTimeNanosUnsafe(),c)}))})},cc=Se(ar),Vr=function(){let e=v(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=k;if(t._tag==="Span")r=Wt(r),n=VE(t.name,r?.captureStackTrace);if(e)return cc(n(arguments[0]),t);return(o)=>cc(n(o),t)},Gp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(arguments[2]);if(e){let s=arguments[0];return zn(t,arguments[2],(i)=>Vr(s,i,r))}let n=typeof arguments[1]==="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>zn(t,n?n(...i):o,(c)=>Vr(s,c,r))},Xp=u((e)=>v(e[0]),(e,...t)=>At(e,Un,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),Zp=(...e)=>T((t)=>{let r=t.currentSpanLocal;if(r)if(e.length===1)for(let[n,o]of Object.entries(e[0]))r.attribute(n,o);else r.attribute(e[0],e[1]);return U}),ed=T((e)=>{let t=e.currentSpanLocal;return t?E(t):H(new kt)}),td=ME(ar),ht=P("effect/Clock",{defaultValue:()=>new rd}),KE=2147483647;class rd{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=C(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return QE()}currentTimeNanos=C(()=>this.currentTimeNanosUnsafe());sleep(e){let t=Hr(e);if(t<=0)return Kr;return Me((r)=>{if(t>KE)return;let n=setTimeout(()=>r(U),t);return C(()=>clearTimeout(n))})}}var qf=function(){let e=BigInt(1e6);if(typeof performance>"u"||typeof performance.now>"u")return()=>BigInt(Date.now())*e;else if(typeof performance.timeOrigin==="number"&&performance.timeOrigin===0)return()=>BigInt(Math.round(performance.now()*1e6));let t=BigInt(Date.now())*e-BigInt(Math.round(performance.now()*1e6));return()=>t+BigInt(Math.round(performance.now()*1e6))}(),QE=function(){let e=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!e)return qf;let t=qf()-e.bigint();return()=>t+e.bigint()}(),gr=(e)=>T((t)=>e(t.getRef(ht))),xr=(e)=>gr((t)=>t.sleep(Le(e))),nd=gr((e)=>e.currentTimeMillis);var ac="~effect/Cause/TimeoutError";class Zc extends or("TimeoutError"){[ac]=ac;constructor(e){super({message:e})}}var uc="~effect/Cause/AsyncFiberError";class ea extends or("AsyncFiberError"){[uc]=uc;constructor(e){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:e})}}var fc="~effect/Cause/UnknownError";class ks extends or("UnknownError"){[fc]=fc;constructor(e,t){super({message:t,cause:e})}}var ta=P("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),YE=(e)=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 50000;case"Error":return 40000;case"Warn":return 30000;case"Info":return 20000;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},GE=tf(Lr,YE),od=rf(GE),ra=P("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([ob,sb])}),XE=P("effect/Logger/LogToStderr",{defaultValue:_r}),sd=function(){let e=typeof arguments[0]==="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return mr(T((t)=>{let r=t.getRef(Rt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];n[s]=i}return t.setContext(qe(t.context,Rt,n)),mt(vt(t.context,pr),(o)=>{let s=t.getRef(Rt),i={...s};for(let c=0;c<e.length;c++){let[f,l]=e[c];if(s[f]!==l)continue;if(f in r)i[f]=r[f];else delete i[f]}return t.setContext(qe(t.context,Rt,i)),U})}))},ZE="~effect/Logger",eb={[ZE]:{_Message:k,_Output:k},pipe(){return N(this,arguments)}},id=(e)=>{let t=Object.create(eb);return t.log=e,t},tb=(e)=>e.replace(/[\s="]/g,"_"),rb=(e,t)=>`${tb(e[0])}=${t-e[1]}ms`;var nt=(e)=>(...t)=>{let r=void 0;for(let n=0,o=t.length;n<o;n++){let s=t[n];if(En(s)){if(r)t.splice(n,1);else t=t.slice(0,n).concat(t.slice(n+1));r=r?nr(r.reasons.concat(s.reasons)):s,n--}}if(r===void 0)r=vi;return T((n)=>{let o=e??n.currentLogLevel;if(od(n.minimumLogLevel,o))return U;let s=n.getRef(ht),i=n.getRef(ra);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let f of i)f.log({cause:r,fiber:n,date:c,logLevel:o,message:t})}return U})};var ur={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},iO={None:[],All:[],Trace:[ur.gray],Debug:[ur.blue],Info:[ur.green],Warn:[ur.yellow],Error:[ur.red],Fatal:[ur.bgBrightRed,ur.black]};var nb=(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 ob=id(({cause:e,date:t,fiber:r,logLevel:n,message:o})=>{let s=Array.isArray(o)?o.slice():[o];if(e.reasons.length>0)s.push(dc(e));let i=t.getTime(),c=r.getRef(Xo),f="";for(let x of c)f+=` ${rb(x,i)}`;let l=r.getRef(Rt);if(Object.keys(l).length>0)s.push(l);let d=r.getRef(ta);(r.getRef(XE)?d.error:d.log)(`[${nb(t)}] ${n.toUpperCase()} (#${r.id})${f}:`,...s)}),sb=id(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(ht),s=t.getRef(Rt),i=t.currentSpan;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[f,l]of Object.entries(s))c[f]=l;if(c["effect.fiberId"]=t.id,c["effect.logLevel"]=r.toUpperCase(),e.reasons.length>0)c["effect.cause"]=dc(e);i.event(Tu(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function ib(){nc.interruptChildren??=PE}var cd=E(void 0);var ad=u((e)=>v(e[0]),(e,t)=>Lc(e,(r)=>T((n)=>(cb(n,r,t?.defectsOnly),U)))),cb=(e,t,r)=>{let n=e.getRef(zf);if(n.size===0)return;if(r&&!Jf(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(ht).currentTimeNanosUnsafe()};n.forEach((s)=>s.report(o))};var ud=ta,ce=(e)=>T((t)=>e(t.getRef(ud))),ab=(e,...t)=>ce((r)=>C(()=>{r.assert(e,...t)})),ub=ce((e)=>C(()=>{e.clear()})),fb=(e)=>ce((t)=>C(()=>{t.count(e)})),lb=(e)=>ce((t)=>C(()=>{t.countReset(e)})),pb=(...e)=>ce((t)=>C(()=>{t.debug(...e)})),db=(e,t)=>ce((r)=>C(()=>{r.dir(e,t)})),mb=(...e)=>ce((t)=>C(()=>{t.dirxml(...e)})),hb=(...e)=>ce((t)=>C(()=>{t.error(...e)})),gb=(e)=>ce((t)=>dr(C(()=>{if(e?.collapsed)t.groupCollapsed(e.label);else t.group(e?.label)}),()=>C(()=>{t.groupEnd()}))),xb=(...e)=>ce((t)=>C(()=>{t.info(...e)})),yb=(...e)=>ce((t)=>C(()=>{t.log(...e)})),Eb=(e,t)=>ce((r)=>C(()=>{r.table(e,t)})),bb=(e)=>ce((t)=>dr(C(()=>{t.time(e)}),()=>C(()=>{t.timeEnd(e)}))),Sb=(e,...t)=>ce((r)=>C(()=>{r.timeLog(e,...t)})),Cb=(...e)=>ce((t)=>C(()=>{t.trace(...e)})),wb=(...e)=>ce((t)=>C(()=>{t.warn(...e)})),kb=u((e)=>v(e[0]),(e,t)=>ce((r)=>Jn(C(()=>{if(t?.collapsed)r.groupCollapsed(t.label);else r.group(t?.label)}),()=>e,()=>C(()=>{r.groupEnd()})))),vb=u((e)=>v(e[0]),(e,t)=>ce((r)=>Jn(C(()=>{r.time(t)}),()=>e,()=>C(()=>{r.timeEnd(t)}))));var Je={};dn(Je,{taggedEnum:()=>Ob,TaggedError:()=>ot,TaggedClass:()=>Rb,Error:()=>Tb,Class:()=>fd});var fd=class extends Cu{constructor(e){super();if(e)Object.assign(this,e)}},Rb=(e)=>class extends fd{_tag=e},Ob=()=>new Proxy({},{get(e,t,r){if(t==="$is")return it;else if(t==="$match")return Ab;return(n)=>({...n,_tag:t})}});function Ab(){if(arguments.length===1){let r=arguments[0];return function(n){return r[n._tag](n)}}let e=arguments[0];return arguments[1][e._tag](e)}var Tb=Oi,ot=or;var a={};dn(a,{zipWith:()=>oC,zip:()=>pm,yieldNowWith:()=>GS,yieldNow:()=>am,withTracerTiming:()=>pw,withTracerEnabled:()=>lw,withTracer:()=>fw,withSpanScoped:()=>Cw,withSpan:()=>Sw,withParentSpan:()=>Ua,withLogger:()=>Bw,withLogSpan:()=>Vw,withFiber:()=>so,withExecutionPlan:()=>wC,withErrorReporting:()=>kC,withConcurrency:()=>JC,whileLoop:()=>Us,when:()=>NC,void:()=>oo,validate:()=>HS,useSpan:()=>Ma,updateService:()=>WC,updateContext:()=>Pa,unwrapReason:()=>cC,uninterruptibleMask:()=>an,uninterruptible:()=>Um,undefined:()=>VS,txRetry:()=>rk,tx:()=>Xw,tryPromise:()=>gt,try:()=>on,transposeOption:()=>ZS,trackSuccesses:()=>Kw,trackErrors:()=>Qw,trackDuration:()=>Gw,trackDefects:()=>Yw,track:()=>Jw,tracer:()=>uw,timeoutOrElse:()=>TC,timeoutOption:()=>AC,timeout:()=>OC,timed:()=>IC,tapErrorTag:()=>hC,tapError:()=>Hs,tapDefect:()=>ym,tapCauseIf:()=>gC,tapCauseFilter:()=>xC,tapCause:()=>xm,tap:()=>io,sync:()=>_t,suspend:()=>Pt,succeedSome:()=>sm,succeedNone:()=>om,succeed:()=>Ce,spanLinks:()=>yw,spanAnnotations:()=>xw,sleep:()=>Ia,serviceOption:()=>Am,service:()=>Om,scopedWith:()=>Im,scoped:()=>Tm,scope:()=>_a,scheduleFrom:()=>zm,schedule:()=>aw,satisfiesSuccessType:()=>ok,satisfiesServicesType:()=>ik,satisfiesErrorType:()=>sk,sandbox:()=>bC,runSyncWith:()=>_w,runSyncExitWith:()=>Mw,runSyncExit:()=>Fw,runSync:()=>Xt,runPromiseWith:()=>$m,runPromiseExitWith:()=>jm,runPromiseExit:()=>Pw,runPromise:()=>$a,runForkWith:()=>Lm,runFork:()=>La,runCallbackWith:()=>Tw,runCallback:()=>Iw,retryOrElse:()=>EC,retry:()=>Em,result:()=>tC,requestUnsafe:()=>kw,request:()=>ww,replicateEffect:()=>cw,replicate:()=>iw,repeatOrElse:()=>sw,repeat:()=>Nm,raceFirst:()=>Sm,raceAllFirst:()=>PC,raceAll:()=>bm,race:()=>_C,provideServiceEffect:()=>VC,provideService:()=>Ws,provideContext:()=>qs,provide:()=>qC,promise:()=>Ns,partition:()=>jS,orElseSucceed:()=>vC,orDie:()=>mC,option:()=>rC,onInterrupt:()=>Vs,onExitPrimitive:()=>Fm,onExitIf:()=>XC,onExitFilter:()=>ZC,onExit:()=>cn,onErrorIf:()=>YC,onErrorFilter:()=>GC,onError:()=>ao,never:()=>va,matchEffect:()=>Rm,matchEager:()=>DC,matchCauseEffectEager:()=>jC,matchCauseEffect:()=>sn,matchCauseEager:()=>$C,matchCause:()=>LC,match:()=>zC,mapErrorEager:()=>ak,mapError:()=>gm,mapEager:()=>ck,mapBothEager:()=>uk,mapBoth:()=>dC,map:()=>Ne,makeSpanScoped:()=>bw,makeSpan:()=>Dm,logWithLevel:()=>Hm,logWarning:()=>Dw,logTrace:()=>Hw,logInfo:()=>$w,logFatal:()=>zw,logError:()=>Lw,logDebug:()=>jw,log:()=>Nw,linkSpans:()=>Ew,let:()=>QS,isSuccess:()=>BC,isFailure:()=>HC,isEffect:()=>vr,interruptibleMask:()=>nw,interruptible:()=>rw,interrupt:()=>Mm,ignoreCause:()=>CC,ignore:()=>SC,gen:()=>Ra,fromResult:()=>um,fromOption:()=>XS,fromNullishOr:()=>eC,forkScoped:()=>Da,forkIn:()=>za,forkDetach:()=>vw,forkChild:()=>Na,forever:()=>Js,forEach:()=>WS,fnUntracedEager:()=>lk,fnUntraced:()=>fo,fn:()=>Uw,flip:()=>nC,flatten:()=>fm,flatMapEager:()=>Bm,flatMap:()=>fe,firstSuccessOf:()=>RC,findFirstFilter:()=>qS,findFirst:()=>BS,filterOrFail:()=>vm,filterOrElse:()=>km,filterMapOrFail:()=>UC,filterMapOrElse:()=>MC,filterMapEffect:()=>wm,filterMap:()=>FC,filter:()=>Cm,fiberId:()=>Aw,fiber:()=>Ow,failSync:()=>im,failCauseSync:()=>cm,failCause:()=>Rr,fail:()=>Gt,exit:()=>Oa,eventually:()=>yC,ensuring:()=>_m,effectify:()=>nk,die:()=>zs,delay:()=>Ta,currentSpan:()=>hw,currentParentSpan:()=>gw,contextWith:()=>co,context:()=>Bs,clockWith:()=>ja,catchTags:()=>mm,catchTag:()=>dm,catchReasons:()=>iC,catchReason:()=>sC,catchNoSuchElement:()=>fC,catchIf:()=>aC,catchFilter:()=>uC,catchEager:()=>fk,catchDefect:()=>hm,catchCauseIf:()=>lC,catchCauseFilter:()=>pC,catchCause:()=>js,catch:()=>$s,callback:()=>ka,cachedWithTTL:()=>ew,cachedInvalidateWithTTL:()=>tw,cached:()=>uo,bindTo:()=>KS,bind:()=>YS,awaitAllChildren:()=>Rw,asVoid:()=>Ls,asSome:()=>lm,as:()=>Aa,annotateSpans:()=>dw,annotateLogsScoped:()=>Ww,annotateLogs:()=>qw,annotateCurrentSpan:()=>mw,andThen:()=>Ds,all:()=>$S,addFinalizer:()=>Pm,acquireUseRelease:()=>QC,acquireRelease:()=>Fa,acquireDisposable:()=>KC,abortSignal:()=>ow,TypeId:()=>LS,Transaction:()=>no,Do:()=>JS});var ld=ie,pd=De;var dd=kc;var je={};dn(je,{withSpan:()=>cS,withParentSpan:()=>ca,updateService:()=>Fd,unwrap:()=>ia,tapError:()=>Jb,tapCause:()=>Kb,tap:()=>Vb,syncContext:()=>sa,sync:()=>jb,suspend:()=>Bb,succeedContext:()=>Sr,succeed:()=>Td,span:()=>iS,satisfiesSuccessType:()=>nS,satisfiesServicesType:()=>sS,satisfiesErrorType:()=>oS,provideMerge:()=>Wb,provide:()=>Zr,parentSpan:()=>Md,orDie:()=>Qb,mock:()=>tS,mergeAll:()=>Ts,merge:()=>qb,makeMemoMapUnsafe:()=>en,makeMemoMap:()=>Db,launch:()=>eS,isLayer:()=>Os,fromBuildMemo:()=>As,fromBuild:()=>Qt,fresh:()=>Zb,forkMemoMapUnsafe:()=>Od,forkMemoMap:()=>Lb,flatMap:()=>_d,empty:()=>$b,effectDiscard:()=>Hb,effectContext:()=>fa,effect:()=>tn,catchTag:()=>Gb,catchCause:()=>Xb,catch:()=>Yb,buildWithScope:()=>ua,buildWithMemoMap:()=>Yn,build:()=>Ad,CurrentMemoMap:()=>Xr});var Ib="~effect/Deferred";var Pb={[Ib]:{_A:k,_E:k},pipe(){return N(this,arguments)}},hd=()=>{let e=Object.create(Pb);return e.resumes=void 0,e.effect=void 0,e};var gd=(e)=>Me((t)=>{if(e.effect)return t(e.effect);return e.resumes??=[],e.resumes.push(t),C(()=>{let r=e.resumes.indexOf(t);e.resumes.splice(r,1)})});var _b=u(2,(e,t)=>C(()=>Fb(e,t))),xd=_b;var Fb=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){for(let r=0;r<e.resumes.length;r++)e.resumes[r](t);e.resumes=void 0}return!0};var yd=Rt;var Ed=Xo,bd=qr;var vs=pr;var Qn=Wn,yr=ip,Sd=mt,na=op;var Er=np,br=Nc;var Rd="~effect/Layer",Cd="~effect/Layer/MemoMap",Ub=(e,t)=>(e.observers++,Ve(mt(t,(r)=>e.finalizer(r)),e.effect)),Os=(e)=>O(e,Rd),Nb={[Rd]:{_ROut:k,_E:k,_RIn:k},pipe(){return N(this,arguments)}},Cr=(e)=>{let t=Object.create(Nb);return t.build=e,t},Qt=(e)=>Cr((t,r)=>{let n=Er(r);return Te(e(t,n),(o)=>o._tag==="Failure"?br(n,o):U)}),As=(e)=>{let t=Qt((r,n)=>r.getOrElseMemoize(t,n,e));return t},zb=(e,t,r,n)=>{let o=Qn(),s=hd(),i={observers:1,effect:gd(s),finalizer:(c)=>_(()=>{if(i.observers--,i.observers===0)return e.map.delete(t),br(o,c);return U})};return e.map.set(t,i),mt(r,i.finalizer).pipe(b(()=>n(e,o)),Te((c)=>(i.effect=c,xd(s,c))))};class aa{get[Cd](){return Cd}parent;constructor(e){this.parent=e}map=new Map;get(e,t){let r=this.map.get(e);if(r)return Ub(r,t);return this.parent?.get(e,t)}getOrElseMemoize(e,t,r){let n=this.get(e,t);if(n)return n;return zb(this,e,t,r)}}var en=()=>new aa,Od=(e)=>new aa(e),Db=C(en),Lb=(e)=>C(()=>Od(e));class Xr extends ve()("effect/Layer/CurrentMemoMap"){static getOrCreate=Bi(this,en)}var Yn=u(3,(e,t,r)=>Se(L(e.build(t,r),qe(Xr,t)),Xr,t)),Ad=(e)=>T((t)=>Yn(e,Xr.getOrCreate(t.context),vt(t.context,vs))),ua=u(2,(e,t)=>T((r)=>Yn(e,Xr.getOrCreate(r.context),t))),Td=function(){if(arguments.length===1)return(e)=>Sr(ft(arguments[0],e));return Sr(ft(arguments[0],arguments[1]))},Sr=(e)=>Cr(re(E(e))),$b=Sr(Fe()),jb=function(){if(arguments.length===1)return(e)=>sa(()=>ft(arguments[0],e()));return sa(()=>ft(arguments[0],arguments[1]()))},sa=(e)=>As(re(C(e))),tn=function(){if(arguments.length===1)return(e)=>wd(arguments[0],e);return wd(arguments[0],arguments[1])},wd=(e,t)=>fa(L(t,(r)=>ft(e,r))),fa=(e)=>As((t,r)=>yr(e,r)),Hb=(e)=>fa(Oe(e,Fe())),Bb=(e)=>As((t,r)=>_(()=>e().build(t,r))),ia=(e)=>{let t=ve("effect/Layer/unwrap");return _d(tn(t)(e),he(t))},Id=(e,t,r)=>{let n=Er(r,"parallel");return We(e,(o)=>o.build(t,Er(n,"sequential")),{concurrency:e.length}).pipe(L((o)=>Vi(...o)))},Ts=(...e)=>Qt((t,r)=>Id(e,t,r)),qb=u(2,(e,t)=>Ts(e,...Array.isArray(t)?t:[t])),Pd=(e,t,r)=>Qt((n,o)=>b(Array.isArray(t)?Id(t,n,o):t.build(n,o),(s)=>e.build(n,o).pipe(Tt(s),L((i)=>r(i,s))))),Zr=u(2,(e,t)=>Pd(e,t,k)),Wb=u(2,(e,t)=>Pd(e,t,(r,n)=>qt(n,r))),_d=u(2,(e,t)=>Qt((r,n)=>b(e.build(r,n),(o)=>t(o).build(r,n)))),Vb=u(2,(e,t)=>Qt((r,n)=>b(e.build(r,n),(o)=>yr(Oe(t(o),o),n)))),Jb=u(2,(e,t)=>Qt((r,n)=>Ae(e.build(r,n),(o)=>yr(Ve(t(o),H(o)),n)))),Kb=u(2,(e,t)=>Qt((r,n)=>Ue(e.build(r,n),(o)=>yr(Ve(t(o),B(o)),n)))),Qb=(e)=>Cr((t,r)=>hs(e.build(t,r))),Yb=u(2,(e,t)=>Cr((r,n)=>Ae(e.build(r,n),(o)=>t(o).build(r,n))));var Gb=u(3,(e,t,r)=>Cr((n,o)=>ms(e.build(n,o),t,(s)=>r(s).build(n,o)))),Xb=u(2,(e,t)=>Cr((r,n)=>Ue(e.build(r,n),(o)=>t(o).build(r,n)))),Fd=u(3,(e,t,r)=>Zr(e,tn(t,L(t,r)))),Zb=(e)=>Cr((t,r)=>e.build(en(),r)),eS=(e)=>ys(Ve(Ad(e),cs)),tS=function(){if(arguments.length===1)return(e)=>kd(arguments[0],e);return kd(arguments[0],arguments[1])},kd=(e,t)=>Td(e)(new Proxy({...t},{get(r,n,o){if(n in r)return r[n];let s=Error.stackTraceLimit;Error.stackTraceLimit=2;let i=Error(`${e.key}: Unimplemented method "${n.toString()}"`);return Error.stackTraceLimit=s,i.name="UnimplementedError",rS(i)},has:ze})),rS=(e)=>{let t=Object.assign(Ot(e),{[vd]:vd,channel:{[Rs]:Rs,transform:()=>E(t),pipe(){return N(this,arguments)}},[Rs]:Rs,transform:()=>E(t)});function r(){return t}return Object.assign(r,t),Object.setPrototypeOf(r,Object.getPrototypeOf(t)),r},vd="~effect/Stream",Rs="~effect/Channel",nS=()=>(e)=>e,oS=()=>(e)=>e,sS=()=>(e)=>e,iS=(e,t)=>(t=Wt(t),tn(ar,t?.onEnd?dt(rt(e,t),(r)=>Yr((n)=>t.onEnd(r,n))):rt(e,t))),Md=(e)=>Sr(ar.context(e)),cS=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return ia(L(r?.onEnd!==void 0?dt(rt(t,r),(o)=>Yr((s)=>r.onEnd(o,s))):rt(t,r),(o)=>ca(n,o)))}return(n)=>ia(L(r?.onEnd!==void 0?dt(rt(t,r),(o)=>Yr((s)=>r.onEnd(o,s))):rt(t,r),(o)=>ca(n,o)))},ca=function(){let e=Os(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=k;if(t._tag==="Span")r=Wt(r),n=aS(t.name,r?.captureStackTrace);let o=Md(t);if(e)return Zr(n(arguments[0]),o);return(s)=>Zr(n(s),o)},aS=(e,t)=>(t=typeof t==="function"?t:Qe,Fd(bd,(r)=>({name:e,stack:t,parent:r})));var Ud="~effect/ExecutionPlan";var uS={[Ud]:Ud,get captureRequirements(){let e=this;return Jt((t)=>E(fS(e.steps.map((r)=>({...r,provide:Os(r.provide)?Zr(r.provide,Sr(t)):r.provide})))))},pipe(){return N(this,arguments)}},fS=(e)=>{let t=Object.create(uS);return t.steps=e,t};var Nd=P("effect/ExecutionPlan/CurrentMetadata",{defaultValue:re({attempt:0,stepIndex:0})});var zd=ns;var Is=pt;var la=pc;var Ps=Rn;var wr=$u;var Xn=u(2,(e,t)=>Qr(e,pS,(r)=>t(r)));var pa=Qi(Is,(e)=>Ps(e)?ke(e):me(e));var pS=Qi(Is,(e)=>Ps(e)?ke(e.value):me(e)),Dd=(e)=>{let t=pa(e);return!J(t)?ld(t.success.value):pd(t.failure)},da=u(2,(e,t)=>lt(e,{onSuccess:t.onSuccess,onFailure:(r)=>{let n=pa(r);return!J(n)?t.onDone(n.success.value):t.onFailure(n.failure)}}));var Ld="~effect/Schedule";var kr=P("effect/Schedule/CurrentMetadata",{defaultValue:re({input:void 0,output:void 0,duration:$r,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),dS={[Ld]:{_Out:k,_In:k,_Env:k},pipe(){return N(this,arguments)}},ha=(e)=>O(e,Ld),ga=(e)=>{let t=Object.create(dS);return t.step=e,t},xa=()=>{let e=0,t,r;return(n,o)=>{if(r===void 0)r=n;let s=n-r,i=t===void 0?0:n-t;return t=n,{input:o,attempt:++e,start:r,now:n,elapsed:s,elapsedSincePrevious:i}}},mS=(e)=>ga(L(e,(t)=>{let r=xa();return(n,o)=>t(r(n,o))})),ya=(e)=>Ue(e.step,(t)=>E(()=>B(t))),_s=(e)=>gr((t)=>L(ya(e),(r)=>{let n=xa();return(o)=>_(()=>{let s=t.currentTimeMillisUnsafe();return b(r(s,o),([i,c])=>{let f=n(s,o);return f.output=i,f.duration=c,Oe(xr(c),f)})})}));var Ea=(e)=>ga(L(ya(e),(t)=>(r,n)=>da(t(r,n),{onSuccess:(o)=>E([n,o[1]]),onFailure:B,onDone:()=>wr(n)}))),$d=(e)=>Zn(ba,({attempt:t})=>E(t<=e));var hS=(e)=>{let t=Le(e);return mS(E((r)=>E([r.attempt-1,t])))};var Zn=u(2,(e,t)=>ga(L(ya(e),(r)=>{let n=xa();return(o,s)=>b(r(o,s),(i)=>{let[c,f]=i,l=t({...n(o,s),output:c,duration:f});return b(v(l)?l:E(l),(d)=>d?E(i):wr(c))})})));var ba=hS($r);var gS=(e,t,r)=>Es((n)=>b(r?.local?Yn(t,en(),n):ua(t,n),(o)=>Tt(e,o))),Fs=u((e)=>v(e[0]),(e,t,r)=>Bo(t)?Tt(e,t):gS(e,Array.isArray(t)?Ts(...t):t,r));var Sa=u(3,(e,t,r)=>b(_s(t),(n)=>{let o=kr.defaultValue();return Ae(ls(dt(b(_(()=>Se(e,kr,o)),n),(s)=>C(()=>{o=s})),{disableYield:!0}),(s)=>Rn(s)?E(s.value):r(s,o.attempt===0?ee():ue(o)))})),Ca=u(3,(e,t,r)=>b(_s(t),(n)=>{let o=kr.defaultValue(),s,i=Ae(_(()=>Se(e,kr,o)),(c)=>(s=c,b(n(c),(f)=>(o=f,i))));return Xn(i,(c)=>z(()=>r(s,c)))})),Bd=u(2,(e,t)=>{let r=typeof t==="function"?t(k):ha(t)?t:to(t);return Sa(e,r,H)}),eo=u(2,(e,t)=>{let r=typeof t==="function"?t(k):ha(t)?t:to(t);return Ca(e,r,H)}),qd=u(3,(e,t,r)=>b(_s(r),(n)=>{let o=kr.defaultValue(),s=_(()=>Se(e,kr,o));return Ae(b(n(t),(i)=>{o=i;let c=re(b(s,n));return Kt({while:ze,body:c,step(f){o=f}})}),(i)=>Rn(i)?E(i.value):H(i))})),xS=Ea(ba),to=(e)=>{let t=e.schedule?Ea(e.schedule):xS;if(e.while)t=Zn(t,({input:r})=>{let n=e.while(r);return v(n)?n:E(n)});if(e.until)t=Zn(t,({input:r})=>{let n=e.until(r);return v(n)?L(n,(o)=>!o):E(!n)});if(e.times!==void 0)t=Zn(t,({attempt:r})=>E(r<=e.times));return t};var Jd=u(2,(e,t)=>_(()=>{let r=0,n={attempt:0,stepIndex:0},o=fs(Nd,C(()=>(n={attempt:n.attempt+1,stepIndex:r},n))),s;return b(Kt({while:()=>r<t.steps.length&&(s===void 0||J(s)),body(){let i=t.steps[r],c=o(Fs(e,i.provide));if(s){let f=!1,l=c;c=_(()=>{if(f)return l;return f=!0,Jr(s)}),c=eo(c,Vd(i,!1))}else{let f=Vd(i,!0);c=f?eo(c,f):c}return Vt(c)},step(i){s=i,r++}}),()=>Jr(s))})),Vd=(e,t)=>{if(!t)return to({schedule:e.schedule?e.schedule:e.attempts?void 0:yS,times:e.attempts,while:e.while});else if(e.attempts===1||!(e.schedule||e.attempts))return;return to({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},yS=$d(1);var bS="~effect/Request",SS=Ru({_E:(e)=>e,_A:(e)=>e,_R:(e)=>e}),EA={..._u,[bS]:SS};var Kd=(e)=>e;var Yd=u(2,(e,t)=>{let r=(n)=>Me((o)=>{let s=Xd(n,e,o,Dn());return CS(n,s)});return v(t)?b(t,r):r(t)}),Gd=(e,t)=>{let r=Xd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:he(t.context,Fn)});return()=>Zd(t.resolver,r)},Ms=[],wa=new WeakMap,Xd=(e,t,r,n)=>{let o=wa.get(e);if(!o)o=new Map,wa.set(e,o);let s,i=!1,c=Kd({request:t,context:n.context,uninterruptible:!1,completeUnsafe(l){if(i)return;i=!0,r(l),s?.entrySet.delete(c)}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let f=e.batchKey(c);if(s=o.get(f),!s){if(Ms.length>0)s=Ms.pop(),s.key=f,s.resolver=e,s.map=o;else{let l={key:f,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:b(_(()=>l.resolver.delay),(d)=>Qd(l)),run:Te(_(()=>l.resolver.runAll(Array.from(l.entries),l.key)),(d)=>{for(let p of l.entrySet)p.completeUnsafe(d._tag==="Success"?wt(Error("Effect.request: RequestResolver did not complete request",{cause:p.request})):d);if(l.entries.clear(),Ms.length<128)l.entrySet.clear(),l.key=void 0,l.fiber=void 0,l.resolver=void 0,l.map=void 0,Ms.push(l);return U})};s=l}o.set(f,s),s.fiber=It(n.context)(s.delayEffect,{scheduler:n.currentScheduler})}if(s.entrySet.add(c),s.entries.add(c),s.resolver.collectWhile(s.entries))return c;return s.fiber.interruptUnsafe(n.id),s.fiber=It(n.context)(Qd(s),{scheduler:n.currentScheduler}),c},Zd=(e,t)=>{if(t.uninterruptible)return;let r=wa.get(e);if(!r)return;let n=e.batchKey(t.request),o=r.get(n);if(!o)return;if(o.entries.delete(t),o.entrySet.delete(t),o.entries.size===0)r.delete(n),o.fiber?.interruptUnsafe()},CS=(e,t)=>C(()=>Zd(e,t));function Qd(e){if(!e.map.has(e.key))return U;return e.map.delete(e.key),e.run}var vS="effect/Metric/CurrentMetricAttributes",RS=P(vS,{defaultValue:()=>({})}),OS="~effect/observability/Metric/MetricRegistryKey",AS=P(OS,{defaultValue:()=>new Map}),em="~effect/observability/Metric";class rn{[em]=em;#e=new WeakMap;#t;id;description;attributes;constructor(e,t,r){this.id=e,this.description=t,this.attributes=r}valueUnsafe(e){return this.hook(e).get(e)}modifyUnsafe(e,t){return this.hook(t).modify(e,t)}updateUnsafe(e,t){return this.hook(t).update(e,t)}hook(e){let t=he(e,RS);if(Object.keys(t).length===0){if(yt(this.#t))return this.#t.hooks;return this.#t=this.getOrCreate(e,this.attributes),this.#t.hooks}let r=zS(this.attributes,t),n=this.#e.get(r);if(yt(n))return n.hooks;return n=this.getOrCreate(e,r),this.#e.set(r,n),n.hooks}getOrCreate(e,t){let r=MS(this,t),n=he(e,AS);if(n.has(r))return n.get(r);let o=this.createHooks(),s={id:this.id,type:this.type,description:this.description,attributes:Yt(t),hooks:o};return n.set(r,s),s}pipe(){return N(this,arguments)}}var tm=BigInt(0);class TS extends rn{type="Counter";#e;#t;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.bigint??!1,this.#t=t?.incremental??!1}createHooks(){let e=this.#e?tm:0,t=this.#t?this.#e?(n)=>n>=tm:(n)=>n>=0:(n)=>!0;return ro(()=>({count:e,incremental:this.#t}),(n)=>{if(t(n))e=e+n})}}class IS extends rn{type="Gauge";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.bigint??!1}createHooks(){let e=this.#e?BigInt(0):0;return ro(()=>({value:e}),(n)=>{e=n},(n)=>{e=e+n})}}class PS extends rn{type="Frequency";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.preregisteredWords}createHooks(){let e=new Map;if(yt(this.#e))for(let r of this.#e)e.set(r,0);return ro(()=>({occurrences:e}),(r)=>{let n=e.get(r)??0;e.set(r,n+1)})}}class _S extends rn{type="Histogram";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t.boundaries}createHooks(){let e=this.#e,t=e.length,r=new Uint32Array(t+1),n=new Float64Array(t),o=0,s=0,i=Number.MAX_VALUE,c=Number.MIN_VALUE;$i(Lo(e,Lr),(d,p)=>{n[p]=d});let f=(d)=>{let p=0,x=t;while(p!==x){let S=Math.floor(p+(x-p)/2),y=n[S];if(d<=y)x=S;else p=S;if(x===p+1)if(d<=n[p])x=p;else p=x}if(r[p]=r[p]+1,o=o+1,s=s+d,d<i)i=d;if(d>c)c=d},l=()=>{let d=zi(t),p=0;for(let x=0;x<t;x++){let S=n[x],y=r[x];p=p+y,d[x]=[S,p]}return d};return ro(()=>({buckets:l(),count:o,min:i,max:c,sum:s}),f)}}class FS extends rn{type="Summary";#e;#t;#r;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=Math.max(Hr(Le(t.maxAge)),0),this.#t=t.maxSize,this.#r=t.quantiles}createHooks(){let e=Lo(this.#r,Lr),t=zi(this.#t);for(let p of this.#r)if(p<0||p>1)throw Error(`Quantile must be between 0 and 1, found: ${p}`);let r=0,n=0,o=0,s=Number.MAX_VALUE,i=Number.MIN_VALUE,c=(p)=>{let x=[],S=0;while(S<this.#t){let R=t[S];if(yt(R)){let[se,te]=R,ye=p-se;if(ye>=0&&ye<=this.#e)x.push(te)}S=S+1}let y=Lo(x,Lr),I=y.length;if(I===0)return e.map((R)=>[R,void 0]);return e.map((R)=>{if(R<=0)return[R,y[0]];if(R>=1)return[R,y[I-1]];let se=Math.ceil(R*I)-1;return[R,y[se]]})},f=(p,x)=>{if(this.#t>0){let S=r%this.#t;t[S]=[x,p],r=r+1}if(n=n+1,o=o+p,p<s)s=p;if(p>i)i=p};return ro((p)=>{let x=he(p,ht);return{quantiles:c(x.currentTimeMillisUnsafe()),count:n,min:s,max:i,sum:o}},([p,x])=>f(p,x))}}var nn=u(2,(e,t)=>Jt((r)=>C(()=>e.updateUnsafe(t,r))));function MS(e,t){let r=`${e.type}:${e.id}`;if(yt(e.description))r+=`:${e.description}`;if(yt(t))r+=`:${US(t)}`;return r}function ro(e,t,r){return{get:e,update:t,modify:r??t}}function US(e){return NS(Array.isArray(e)?e:Object.entries(e))}function NS(e){return e.map(([t,r])=>`${t}=${r}`).join(",")}function zS(e,t){return{...Yt(e),...Yt(t)}}function Yt(e){if(yt(e)&&Array.isArray(e))return e.reduce((t,[r,n])=>(t[r]=n,t),{});return e}var LS=ut,vr=v,$S=Ss,jS=qc,HS=xp,BS=yp,qS=bp,WS=We,Us=Kt,Ns=yc,gt=cl,Ce=E,om=Ln,sm=xc,Pt=_,_t=C,oo=U;var VS=cd;var ka=Me,va=cs,JS=Rp,KS=Op,QS=Tp;var YS=Ap,Ra=ll,Gt=H,im=is,Rr=B,cm=sl,zs=Ot,on=il;var am=Kr,GS=gc,so=T,um=Jr,XS=rl,ZS=ol,eC=nl,fe=b,fm=El,Ds=Ve,io=dt,tC=Vt,rC=Ql,Oa=qn,Ne=L,Aa=Oe,lm=as,Ls=$n,nC=ml,pm=Rc,oC=Oc,$s=Ae;var dm=ms,mm=jl,sC=Hl,iC=Bl,cC=ql,js=Ue,hm=Nl,aC=Hn,uC=ds,fC=Ul,lC=Tc,pC=Qr,gm=Pc,dC=_c,mC=hs,Hs=Ic,hC=Ll,xm=zl,gC=Dl,xC=ps,ym=$l,yC=Fc,Em=eo,EC=Ca,bC=hl,SC=Jl,CC=Kl,wC=Jd,kC=ad,vC=Wl,RC=Vl,OC=ep,AC=tp,TC=Uc,Ta=Zl,Ia=xr,IC=rp,bm=Cc,PC=wc,_C=gl,Sm=us,Cm=wp,FC=kp,wm=vp,km=Wc,MC=Vc,vm=_l,UC=Cp,NC=Fl,zC=gs,DC=Bn,LC=Mc,$C=Yl,jC=xl,sn=lt,Rm=lr,HC=Gl,BC=Xl,Bs=vc,co=Jt,qC=Fs,qs=Tt,Om=Tl,Am=Il,Pa=jn,WC=At,Ws=Se,VC=fs,JC=Pl,_a=Vn,Tm=ys,Im=Es,Fa=dr,KC=fp,QC=Jn,Pm=Yr,_m=cp,ao=Lc,YC=ap,GC=$c,Fm=Gr,cn=Te,XC=zc,ZC=Dc,uo=lp,ew=Hc,tw=jc,Mm=pp,rw=Bc,Vs=up,Um=mr,an=Kn,nw=hp,ow=gp,Js=ls,Nm=Bd,sw=Sa,iw=Ac,cw=Ml,aw=u(2,(e,t)=>zm(e,void 0,t)),zm=qd,uw=jp,fw=Hp,lw=Bp,pw=qp,dw=Xp,mw=Zp,hw=ed,gw=td,xw=Kp,yw=Qp,Ew=Yp,Dm=Vp,bw=rt,Ma=zn,Sw=Gp,Cw=Jp,Ua=Vr,ww=Yd,kw=Gd,Na=Ip,za=Jc,Da=Fp,vw=Pp,Rw=_p,Ow=ul,Aw=fl,La=Mp,Lm=It,Tw=Kc,Iw=Up,$a=zp,$m=Qc,Pw=Np,jm=Cs,Xt=Lp,_w=Yc,Fw=Dp,Mw=ws,fo=bc,Uw=pl,ja=gr,Hm=nt,Nw=nt(),zw=nt("Fatal"),Dw=nt("Warn"),Lw=nt("Error"),$w=nt("Info"),jw=nt("Debug"),Hw=nt("Trace"),Bw=u(2,(e,t)=>At(e,ra,(r)=>new Set([...r,t]))),qw=u((e)=>vr(e[0]),(e,...t)=>At(e,yd,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),Ww=sd,Vw=u(2,(e,t)=>b(nd,(r)=>At(e,Ed,(n)=>[[t,r],...n]))),Jw=u((e)=>vr(e[0]),(e,t,r)=>cn(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return nn(t,o)})),Kw=u((e)=>vr(e[0]),(e,t,r)=>io(e,(n)=>{let o=r===void 0?n:r(n);return nn(t,o)})),Qw=u((e)=>vr(e[0]),(e,t,r)=>Hs(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return nn(t,o)})),Yw=u((e)=>vr(e[0]),(e,t,r)=>ym(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return nn(t,o)})),Gw=u((e)=>vr(e[0]),(e,t,r)=>ja((n)=>{let o=n.currentTimeNanosUnsafe();return cn(e,()=>{let s=n.currentTimeNanosUnsafe(),i=Rf(Le(s),Le(o)),c=r===void 0?i:z(()=>r(i));return nn(t,c)})}));class no extends ve()("effect/Effect/Transaction"){}var Xw=(e)=>so((t)=>{if(t.context.mapUnsafe.has(no.key))return e;let r={journal:new Map,retry:!1},n;return an((o)=>fe(Us({while:()=>!n,body:re(o(e).pipe(Ws(no,r),xm(()=>{if(!r.retry)return oo;return o(ek(r))}),Oa)),step(s){if(r.retry||!Zw(r))return nm(r);if(dd(s))tk(t,r);else nm(r);n=s}}),()=>n))}),Zw=(e)=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},ek=(e)=>Pt(()=>{let t={},r=Array.from(e.journal.keys()),n=()=>{for(let o of r)o.pending.delete(t)};return ka((o)=>{let s=()=>{n(),o(oo)};for(let i of r)i.pending.set(t,s);return _t(n)})});function tk(e,t){for(let[r,{value:n}]of t.journal){if(n!==r.value)r.version=r.version+1,r.value=n;for(let o of r.pending.values())e.currentDispatcher.scheduleTask(o,0);r.pending.clear()}}function nm(e){e.retry=!1,e.journal.clear()}var rk=fe(no,(e)=>(e.retry=!0,Mm)),nk=(e,t,r)=>(...n)=>ka((o)=>{try{e(...n,(s,i)=>{if(s)o(Gt(t?t(s,n):s));else o(Ce(i))})}catch(s){o(r?Gt(r(s,n)):zs(s))}}),ok=()=>(e)=>e,sk=()=>(e)=>e,ik=()=>(e)=>e,ck=bl,ak=Sl,uk=Cl,Bm=yl,fk=wl,lk=dl;class lo extends Je.TaggedError("ConfigError"){}class un extends Je.TaggedError("AuthError"){}class F extends Je.TaggedError("ApiError"){}class le extends Je.TaggedError("ValidationError"){}class D extends Je.TaggedError("FileError"){}class Or extends Je.TaggedError("OssError"){}var Q=G.Service("ConfigRepo");import{dirname as pk}from"path";var qm=G.Service("ManifestRepo");var dk=1,Ks=(e)=>{let t=()=>`${e}/.fizzyx/oss-manifest.json`;return{read:()=>a.tryPromise({try:async()=>{let o=Bun.file(t());if(!await o.exists())return null;let s=await o.text();if(!s.trim())return null;return JSON.parse(s)},catch:(o)=>new D({message:`Failed to read manifest: ${String(o)}`,path:t()})}),write:(o)=>a.tryPromise({try:async()=>{let s=pk(t());await(await import("fs/promises")).mkdir(s,{recursive:!0}),await Bun.write(t(),`${JSON.stringify(o,null,2)}
|
|
27
|
-
`)},catch:(s)=>new D({message:`Failed to write manifest: ${String(s)}`,path:t()})}),path:t}},
|
|
28
|
-
`)},catch:(i)=>new D({message:`Failed to write cache: ${String(i)}`,path:s})}))),ageSeconds:()=>r().pipe(a.flatMap((o)=>a.tryPromise({try:async()=>{let s=await import("fs/promises");try{let i=await s.stat(o);return Math.max(0,Math.floor((Date.now()-i.mtimeMs)/1000))}catch{return Number.MAX_SAFE_INTEGER}},catch:(s)=>new D({message:`Failed to stat cache: ${String(s)}`,path:o})})))}},lh=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");var QP=`~effect/Fiber/${Zo}`;var ph=hc;var dh=Gc;var bk="~effect/Channel";var Sk={[bk]:{_Env:k,_InErr:k,_InElem:k,_OutErr:k,_OutElem:k},pipe(){return N(this,arguments)}},po=(e)=>{let t=Object.create(Sk);return t.transform=(r,n)=>js(e(r,n),(o)=>Ce(Rr(o))),t};var mh=(e)=>po((t,r)=>e),hh=(e)=>po(fo(function*(t,r){let n=Er(r),o=(i)=>br(n,Dd(i)),s=yield*ao(e(t,r,n),o);return ao(s,o)})),Gs=(e)=>e.transform;var gh=(e)=>po((t,r)=>Pt(()=>Gs(e())(t,r)));var xh=(e)=>mh(Ce(Gt(e)));var yh=u(2,(e,t)=>hh((r,n,o)=>Sd(o,t).pipe(Ds(Gs(e)(r,n)))));var Eh=u(2,(e,t)=>yh(e,(r)=>t)),Ck=(e,t,r)=>Pt(()=>{let n=Qn(),o=Gs(e)(wr(),n);return Xn(fe(o,t),r?r:Ce).pipe(cn((s)=>br(n,s)))});var bh=u(2,(e,t)=>Ck(e,(r)=>Js(fe(r,t),{disableYield:!0})));var kk="~effect/Stream",vk={_R:k,_E:k,_A:k},Rk={[kk]:vk,pipe(){return N(this,arguments)}},Sh=(e)=>{let t=Object.create(Rk);return t.channel=e,t};var Ak="~effect/Stream",Ch=(e)=>O(e,Ak);var Xs=Sh;var wh=(e)=>Xs(gh(()=>e().channel)),kh=(e)=>Xs(xh(e));var vh=(e)=>Xs(po(fo(function*(t,r){let n=e.evaluate().getReader();return yield*na(r,e.releaseLockOnEnd?_t(()=>n.releaseLock()):Ns(()=>n.cancel().catch(er))),fe(gt({try:()=>n.read(),catch:(o)=>e.onError(o)}),({done:o,value:s})=>o?wr():Ce(hf(s)))})));var Rh=u(2,(e,t)=>Xs(Eh(e.channel,t)));var Tk=u(2,(e,t)=>bh(e.channel,t));var Ik=u((e)=>Ch(e[0]),(e,t,r)=>{let n=void 0,o=void 0,s=dh(!1);return new ReadableStream({start(i){o=La(qs(Tk(e,(c)=>s.whenOpen(_t(()=>{s.closeUnsafe();for(let f=0;f<c.length;f++)i.enqueue(c[f]);n(),n=void 0}))),t)),o.addObserver((c)=>{if(c._tag==="Failure")i.error(zd(c.cause));else i.close()})},pull(){return new Promise((i)=>{n=i,s.openUnsafe()})},cancel(){if(!o)return;return $a(Ls(ph(o)))}},r?.strategy)});var Oh=u((e)=>Ch(e[0]),(e,t)=>Ne(Bs(),(r)=>Ik(e,r,t)));var mo=new WeakMap;var Ah="~effect/data/Redacted",_k=(e)=>O(e,Ah),Va=(e,t)=>{let r=Object.create(Fk);if(t?.label)r.label=t.label;return mo.set(r,e),r},Fk={[Ah]:{_A:(e)=>e},label:void 0,...Ze,toJSON(){return this.toString()},toString(){return`<redacted${Mr(this.label)?":"+this.label:""}>`},[W](){return q(mo.get(this))},[V](e){return _k(e)&&oe(mo.get(this),mo.get(e))}};var Th=Symbol.for("~effect/http/Headers");var ho=Object.defineProperties(Object.create(null),{[Th]:{value:Th},[Ur]:{value(e){return ti(this,he(e,Ka))}},toJSON:{value(){return Ge(this)}},[V]:{value(e){return Uk(this,e)}},[W]:{value(){return hn(this)}},toString:{value:at.toString},[be]:{value:at[be]}}),Zs=(e)=>Object.assign(Object.create(ho),e),Uk=lf(On());var Ja=Object.create(ho),go=(e)=>{if(e===void 0)return Ja;else if(Symbol.iterator in e){let r=Object.create(ho);for(let[n,o]of e)r[n.toLowerCase()]=o;return r}let t=Object.create(ho);for(let[r,n]of Object.entries(e))if(Array.isArray(n))t[r.toLowerCase()]=n.join(", ");else if(n!==void 0)t[r.toLowerCase()]=n;return t},Ih=(e)=>Object.setPrototypeOf(e,ho);var ei=u(3,(e,t,r)=>{let n=Zs(e);return n[t.toLowerCase()]=r,n}),Ph=u(2,(e,t)=>Zs({...e,...go(t)})),_h=u(2,(e,t)=>{let r=Zs(e);return Object.assign(r,t),r}),xo=u(2,(e,t)=>{let r=Zs(e);return delete r[t.toLowerCase()],r});var ti=u(2,(e,t)=>{let r={...e},n=(o)=>{if(typeof o==="string"){let s=o.toLowerCase();if(s in e)r[s]=Va(e[s])}else for(let s in e)if(o.test(s))r[s]=Va(e[s])};if(Array.isArray(t))for(let o=0;o<t.length;o++)n(t[o]);else n(t);return r}),Ka=P("effect/Headers/CurrentRedactedNames",{defaultValue:()=>["authorization","cookie","set-cookie","x-api-key"]});var Fh="~effect/http/Cookies";var Mh="~effect/http/Cookies/Cookie";var Nk={[Fh]:Fh,...at,toJSON(){return{_id:"effect/Cookies",cookies:uf(this.cookies,(e)=>e.toJSON())}},pipe(){return N(this,arguments)}},zk=(e)=>{let t=Object.create(Nk);return t.cookies=e,t},Dk=(e)=>{let t={};for(let r of e)t[r.name]=r;return zk(t)},Nh=(e)=>{let t=typeof e==="string"?[e]:e,r=[];for(let n of t){let o=Lk(n.trim());if(o)r.push(o)}return Dk(r)};function Lk(e){let t=e.split(";").map((c)=>c.trim()).filter((c)=>c!=="");if(t.length===0)return;let r=t[0].indexOf("=");if(r===-1)return;let n=t[0].slice(0,r);if(!$k.test(n))return;let o=t[0].slice(r+1),s=jk(o);if(t.length===1)return Object.assign(Object.create(Uh),{name:n,value:s,valueEncoded:o});let i={};for(let c=1;c<t.length;c++){let f=t[c],l=f.indexOf("="),d=l===-1?f:f.slice(0,l).trim(),p=l===-1?void 0:f.slice(l+1).trim();switch(d.toLowerCase()){case"domain":{if(p===void 0)break;let x=p.trim().replace(/^\./,"");if(x)i.domain=x;break}case"expires":{if(p===void 0)break;let x=new Date(p);if(!isNaN(x.getTime()))i.expires=x;break}case"max-age":{if(p===void 0)break;let x=parseInt(p,10);if(!isNaN(x))i.maxAge=Ki(x);break}case"path":{if(p===void 0)break;if(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(Uh),{name:n,value:s,valueEncoded:o,options:Object.keys(i).length>0?i:void 0})}var $k=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Uh={[Mh]:Mh,...at,toJSON(){return{_id:"effect/Cookies/Cookie",name:this.name,value:this.value,options:this.options}}};var jk=(e)=>{try{return decodeURIComponent(e)}catch(t){return e}};var zh="~effect/http/HttpClientError";class He extends ot("HttpClientError"){constructor(e){if("cause"in e.reason)super({...e,cause:e.reason.cause});else super(e)}[zh]=zh;get request(){return this.reason.request}get response(){return"response"in this.reason?this.reason.response:void 0}get message(){return this.reason.message}}var ri=(e)=>e.endsWith("Error")?e.slice(0,-5):e,ni=(e,t,r)=>t?`${e}: ${t} (${r})`:`${e} error (${r})`;class Qa extends ot("TransportError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ni(ri(this._tag),this.description,this.methodAndUrl)}}class Ya extends ot("InvalidUrlError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ni(ri(this._tag),this.description,this.methodAndUrl)}}class Zt extends ot("DecodeError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ni(ri(this._tag),this.description,e)}}class Ga extends ot("EmptyBodyError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ni(ri(this._tag),this.description,e)}}var Dh="~effect/http/UrlParams";var Bk={...Ze,[Dh]:Dh,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:"UrlParams",params:Object.fromEntries(this.params)}},[V](e){return qk(this,e)},[W](){return gn(this.params.flat())}},Lh=(e)=>{let t=Object.create(Bk);return t.params=e,t},Eo=(e)=>{let t=$h(e),r=[];for(let n=0;n<t.length;n++)if(Array.isArray(t[n][0])){let[o,s]=t[n];r.push([`${o[0]}[${o.slice(1).join("][")}]`,s])}else r.push(t[n]);return Lh(r)},$h=(e)=>{let t=typeof e[Symbol.iterator]==="function"?et(e):Object.entries(e),r=[];for(let[n,o]of t)if(Array.isArray(o)){for(let s=0;s<o.length;s++)if(o[s]!==void 0)r.push([n,String(o[s])])}else if(typeof o==="object"){let s=$h(o);for(let[i,c]of s)r.push([[n,...typeof i==="string"?[i]:i],c])}else if(o!==void 0)r.push([n,String(o)]);return r},qk=Uo((e,t)=>Wk(e.params,t.params)),Wk=xf(cf([On(),On()]));var jh=Lh([]);var Hh=u(2,(e,t)=>{let r=Eo(t),n=r.params,o=new Set;for(let s=0;s<n.length;s++)o.add(n[s][0]);for(let s=0;s<e.params.length;s++){if(o.has(e.params[s][0]))continue;n.push(e.params[s])}return r});class Za extends ot("UrlParamsError"){}var eu=(e,t,r)=>{try{let n=new URL(e,Vk());for(let o=0;o<t.params.length;o++){let[s,i]=t.params[o];if(i!==void 0)n.searchParams.append(s,i)}if(r!==void 0)n.hash=r;return ke(n)}catch(n){return me(new Za({cause:n}))}};var Vk=()=>{if("location"in globalThis&&globalThis.location!==void 0&&globalThis.location.origin!==void 0&&globalThis.location.pathname!==void 0)return location.origin+location.pathname;return};var ru="~effect/http/HttpBody";var Bh="~effect/http/HttpBody/HttpBodyError";class qh extends ot("HttpBodyError"){[Bh]=Bh}class nu{[ru];constructor(){this[ru]=ru}[be](){return this.toJSON()}toString(){return ae(this,{ignoreToString:!0})}}class Wh extends nu{_tag="Empty";toJSON(){return{_id:"effect/HttpBody",_tag:"Empty"}}}var Vh=new Wh;class Jh extends nu{_tag="Uint8Array";body;contentType;contentLength;constructor(e,t,r){super();this.body=e,this.contentType=t,this.contentLength=r}toJSON(){return{_id:"effect/HttpBody",_tag:"Uint8Array",body:this.contentType.startsWith("text/")||this.contentType.endsWith("json")?new TextDecoder().decode(this.body):`Uint8Array(${this.body.length})`,contentType:this.contentType,contentLength:this.contentLength}}}var Kh=(e,t)=>new Jh(e,t??"application/octet-stream",e.length),Jk=new TextEncoder,Qh=(e,t)=>Kh(Jk.encode(e),t??"text/plain");var Yh=(e,t)=>on({try:()=>Qh(JSON.stringify(e),t??"application/json"),catch:(r)=>new qh({reason:{_tag:"JsonError"},cause:r})});var Gh=[["GET","get"],["POST","post"],["PUT","put"],["DELETE","del"],["PATCH","patch"],["HEAD","head"],["OPTIONS","options"],["TRACE","trace"]];var Xh="~effect/http/HttpClientRequest";var Yk={[Xh]:Xh,...at,toJSON(){return{_id:"HttpClientRequest",method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Ge(this.headers),body:this.body.toJSON()}},pipe(){return N(this,arguments)}};function Ft(e,t,r,n,o,s){let i=Object.create(Yk);return i.method=e,i.url=t,i.urlParams=r,i.hash=n,i.headers=o,i.body=s,i}var Gk=Ft("GET","",jh,ee(),Ja,Vh),bo=(e)=>(t,r)=>Xk(Gk,{method:e,url:t,...r??void 0});var Xk=u(2,(e,t)=>{let r=e;if(t.method)r=Zk(r,t.method);if(t.url)r=tg(r,t.url);if(t.headers)r=ou(r,t.headers);if(t.urlParams)r=t0(r,t.urlParams);if(t.hash)r=r0(r,t.hash);if(t.body)r=rg(r,t.body);if(t.accept)r=eg(r,t.accept);if(t.acceptJson)r=e0(r);return r}),Zk=u(2,(e,t)=>Ft(t,e.url,e.urlParams,e.hash,e.headers,e.body)),Zh=u(3,(e,t,r)=>Ft(e.method,e.url,e.urlParams,e.hash,ei(e.headers,t,r),e.body)),ou=u(2,(e,t)=>Ft(e.method,e.url,e.urlParams,e.hash,Ph(e.headers,t),e.body));var eg=u(2,(e,t)=>Zh(e,"Accept",t)),e0=eg("application/json"),tg=u(2,(e,t)=>{if(typeof t==="string")return Ft(e.method,t,e.urlParams,e.hash,e.headers,e.body);let r=new URL(t.toString()),n=Eo(r.searchParams),o=of(r.hash===""?void 0:r.hash.slice(1));return r.search="",r.hash="",Ft(e.method,r.toString(),n,o,e.headers,e.body)});var t0=u(2,(e,t)=>Ft(e.method,e.url,Hh(e.urlParams,t),e.hash,e.headers,e.body));var r0=u(2,(e,t)=>Ft(e.method,e.url,e.urlParams,ue(t),e.headers,e.body));var rg=u(2,(e,t)=>{let r=e.headers;if(t._tag==="Empty"||t._tag==="FormData")r=xo(xo(r,"Content-Type"),"Content-length");else{if(t.contentType)r=ei(r,"content-type",t.contentType);if(t.contentLength!==void 0)r=ei(r,"content-length",t.contentLength.toString())}return Ft(e.method,e.url,e.urlParams,e.hash,r,t)});var ng=u(2,(e,t)=>Ne(Yh(t),(r)=>rg(e,r)));var Tr="~effect/http/HttpIncomingMessage";var sg=(e,t)=>{let r=e.headers["content-type"]??"",n;if(r.includes("application/json"))try{n=Xt(e.json)}catch(s){}else if(r.includes("text/")||r.includes("urlencoded"))try{n=Xt(e.text)}catch(s){}let o={...t,headers:Ge(e.headers),remoteAddress:e.remoteAddress};if(n!==void 0)o.body=n;return o};var fn="~effect/http/HttpClientResponse",cg=(e,t)=>new ag(e,t);class ag extends ki{[Tr];[fn];request;source;constructor(e,t){super();this.request=e,this.source=t,this[Tr]=Tr,this[fn]=fn}toJSON(){return sg(this,{_id:"HttpClientResponse",request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return go(this.source.headers)}cachedCookies;get cookies(){if(this.cachedCookies)return this.cachedCookies;return this.cachedCookies=Nh(this.source.headers.getSetCookie())}get remoteAddress(){return ee()}get stream(){return this.source.body?vh({evaluate:()=>this.source.body,onError:(e)=>new He({reason:new Zt({request:this.request,response:this,cause:e})})}):kh(new He({reason:new Ga({request:this.request,response:this,description:"can not create stream from empty body"})}))}get json(){return fe(this.text,(e)=>on({try:()=>e===""?null:JSON.parse(e),catch:(t)=>new He({reason:new Zt({request:this.request,response:this,cause:t})})}))}textBody;get text(){if(this.textBody)return this.textBody;return this.textBody=gt({try:()=>this.source.text(),catch:(e)=>new He({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(uo,Xt),this.arrayBufferBody=Ne(this.textBody,(e)=>new TextEncoder().encode(e).buffer),this.textBody}get urlParamsBody(){return fe(this.text,(e)=>on({try:()=>Eo(new URLSearchParams(e)),catch:(t)=>new He({reason:new Zt({request:this.request,response:this,cause:t})})}))}formDataBody;get formData(){return this.formDataBody??=gt({try:()=>this.source.formData(),catch:(e)=>new He({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(uo,Xt)}arrayBufferBody;get arrayBuffer(){if(this.arrayBufferBody)return this.arrayBufferBody;return this.arrayBufferBody=gt({try:()=>this.source.arrayBuffer(),catch:(e)=>new He({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(uo,Xt),this.textBody=Ne(this.arrayBufferBody,(e)=>new TextDecoder().decode(e)),this.arrayBufferBody}pipe(){return N(this,arguments)}}var fg=(e)=>Ih({b3:`${e.traceId}-${e.spanId}-${e.sampled?"1":"0"}${zo(e.parent,{onNone:()=>"",onSome:(t)=>`-${t.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?"01":"00"}`});var lg="~effect/http/HttpClient";var pg=ve("effect/HttpClient"),o0=(e)=>(...t)=>fe(pg,(r)=>r[e](...t)),dg=o0("execute");var s0=u(2,(e,t)=>mg((r)=>t(e.postprocess(r)),e.preprocess));var mg=(e,t)=>{let r=Object.create(i0);return r.preprocess=t,r.postprocess=e,r.execute=function(n){return e(t(n))},r},i0={[lg]:lg,pipe(){return N(this,arguments)},...at,toJSON(){return{_id:"effect/HttpClient"}},...Object.fromEntries(Gh.map(([e,t])=>[t,function(r,n){return this.execute(bo(e)(r,n))}]))},hg=(e)=>mg((t)=>fe(t,(r)=>so((n)=>{let o=f0.get(r),s=o??new AbortController,i=eu(r.url,r.urlParams,sr(r.hash));if(J(i))return Gt(new He({reason:new Ya({request:r,cause:i.failure})}));let c=i.success;if(n.getRef(Br)||n.getRef(c0)(r)){let l=e(r,c,s.signal,n);if(o)return l;return an((d)=>sn(d(l),{onSuccess(p){return oi.register(p,s),Ce(new su(p,s))},onFailure(p){if(la(p))s.abort();return Rr(p)}}))}return Ma(n.getRef(u0)(r),{kind:"client"},(l)=>{if(l.attribute("http.request.method",r.method),l.attribute("server.address",c.origin),c.port!=="")l.attribute("server.port",+c.port);l.attribute("url.full",c.toString()),l.attribute("url.path",c.pathname),l.attribute("url.scheme",c.protocol.slice(0,-1));let d=c.search.slice(1);if(d!=="")l.attribute("url.query",d);let p=n.getRef(Ka),x=ti(r.headers,p);for(let S in x)l.attribute(`http.request.header.${S}`,String(x[S]));return r=n.getRef(a0)?ou(r,fg(l)):r,an((S)=>S(e(r,c,s.signal,n)).pipe(Ua(l,{captureStackTrace:!1}),sn({onSuccess:(y)=>{l.attribute("http.response.status_code",y.status);let I=ti(y.headers,p);for(let R in I)l.attribute(`http.response.header.${R}`,String(I[R]));if(o)return Ce(y);return oi.register(y,s),Ce(new su(y,s))},onFailure(y){if(!o&&la(y))s.abort();return Rr(y)}})))})})),Ce);var c0=P("effect/http/HttpClient/TracerDisabledWhen",{defaultValue:()=>_r}),a0=P("effect/HttpClient/TracerPropagationEnabled",{defaultValue:ze}),u0=P("effect/http/HttpClient/SpanNameGenerator",{defaultValue:()=>(e)=>`http.client ${e.method}`}),gg=(e)=>tn(pg)(co((t)=>Ne(e,(r)=>s0(r,Pa((n)=>qt(t,n)))))),oi=(()=>{if("FinalizationRegistry"in globalThis&&globalThis.FinalizationRegistry){let t=new FinalizationRegistry((r)=>{r.abort()});return{register(r,n){t.register(r,n,r)},unregister(r){t.unregister(r)}}}let e=new Map;return{register(t,r){e.set(t,setTimeout(()=>r.abort(),5000))},unregister(t){let r=e.get(t);if(r===void 0)return;clearTimeout(r),e.delete(t)}}})(),f0=new WeakMap;class su{original;controller;constructor(e,t){this.original=e,this.controller=t}[fn]=fn;[Tr]=Tr;applyInterrupt(e){return Pt(()=>(oi.unregister(this.original),Vs(e,()=>_t(()=>{this.controller.abort()}))))}get request(){return this.original.request}get status(){return this.original.status}get headers(){return this.original.headers}get cookies(){return this.original.cookies}get remoteAddress(){return this.original.remoteAddress}get formData(){return this.applyInterrupt(this.original.formData)}get text(){return this.applyInterrupt(this.original.text)}get json(){return this.applyInterrupt(this.original.json)}get urlParamsBody(){return this.applyInterrupt(this.original.urlParamsBody)}get arrayBuffer(){return this.applyInterrupt(this.original.arrayBuffer)}get stream(){return wh(()=>(oi.unregister(this.original),Rh(this.original.stream,_t(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[be](){return this.original[be]()}pipe(){return N(this,arguments)}}var l0=P("effect/http/FetchHttpClient/Fetch",{defaultValue:()=>globalThis.fetch});class yg extends ve()("effect/http/FetchHttpClient/RequestInit"){}var p0=hg((e,t,r,n)=>{let o=n.getRef(l0),s=n.context.mapUnsafe.get(yg.key)??{},i=s.headers?_h(go(s.headers),e.headers):e.headers;if(i["content-length"])i=xo(i,"content-length");let c=(f)=>Ne(gt({try:()=>o(t,{...s,method:e.method,headers:i,body:f,duplex:e.body._tag==="Stream"?"half":void 0,signal:r}),catch:(l)=>new He({reason:new Qa({request:e,cause:l})})}),(l)=>cg(e,l));switch(e.body._tag){case"Raw":case"Uint8Array":return c(e.body.body);case"FormData":return c(e.body.formData);case"Stream":return fe(Oh(e.body.stream),c)}return c(void 0)}),Eg=gg(Ce(p0));var bg=G.Service("FizzyApi");var jM=je.effect(bg)(a.gen(function*(){let e=yield*Q,t=yield*e.loadProjectConfig(),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new F({message:"Not logged in. Run: fizzyx auth login"}))));return ln(t,r.token)})),ln=(e,t)=>{let r=(m,h,A)=>a.gen(function*(){let w=yield*o(m,h,A),K=yield*i(w);if(w.status<200||w.status>=300)return yield*new F({message:p(K,w.status),status:w.status});return d(K)}).pipe(a.catch((w)=>w instanceof F?w:new F({message:String(w)}))),n=(m,h,A)=>a.gen(function*(){let w=yield*o(m,h,A);if(w.status<200||w.status>=300){let K=yield*i(w);return yield*new F({message:p(K,w.status),status:w.status})}}).pipe(a.catch((w)=>w instanceof F?w:new F({message:String(w)}))),o=(m,h,A)=>A===void 0?s(bo(m)(c(e,h),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})):ng(A)(bo(m)(c(e,h),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})).pipe(a.mapError((w)=>new F({message:String(w)})),a.flatMap(s),a.catch((w)=>w instanceof F?w:new F({message:String(w)}))),s=(m)=>dg(m).pipe(a.provide(Eg),a.mapError((h)=>new F({message:String(h)}))),i=(m)=>m.text.pipe(a.mapError((h)=>new F({message:String(h)})),a.flatMap((h)=>{if(!h)return a.succeed(null);return f(h,m.status)})),c=(m,h)=>{let A=m.apiUrl.replace(/\/+$/,""),w=h.startsWith("/")?h:`/${h}`,K=w.startsWith("/my/"),Ee=`/${m.account}`;return`${A}${K||w.startsWith(`${Ee}/`)?w:`${Ee}${w}`}`},f=(m,h)=>a.try({try:()=>JSON.parse(m),catch:()=>new F({status:h,message:`HTTP ${String(h)}: invalid JSON response (${l(m)})`})}),l=(m,h=120)=>{let A=m.trim();return A.length>h?`${A.slice(0,h)}...`:A},d=(m)=>{if(di(m)&&"data"in m)return m.data;return m},p=(m,h)=>{if(di(m)&&"error"in m)return String(m.error);return`HTTP ${String(h)}`},x=(m)=>a.try({try:()=>{let h=Pe(d(m)),A=Array.isArray(h?.accounts)?h.accounts:[],w=Pe(A[0]),K=Pe(h?.user)||Pe(w?.user)||h,Ee=X(K?.id)||X(h?.user_id);if(!Ee)throw new F({message:"Failed to decode identity: missing userId"});return{userId:Ee,name:X(K?.name),email:X(K?.email)}},catch:(h)=>h instanceof F?h:new F({message:String(h)})}),S=(m)=>a.try({try:()=>{let h=Pe(m);if(!h)throw new F({message:"Failed to decode card: expected object"});let A=Bx(h.number);if(!Number.isFinite(A))throw new F({message:"Failed to decode card: number must be finite"});let w=X(h.title);if(!w)throw new F({message:"Failed to decode card: title must be string"});let K=X(h.description_html);return{id:X(h.id),number:A,title:w,description:X(h.description),...K?{descriptionHtml:K}:{},column:de(h.column),assignees:Pr(h.assignees),closed:mi(h.closed),golden:mi(h.golden),steps:Hx(h.steps)}},catch:(h)=>h instanceof F?h:new F({message:String(h)})}),y=(m)=>{if(!Array.isArray(m))return a.fail(new F({message:"Failed to decode cards: expected array"}));return a.forEach(m,S)},I=(m)=>{if(!Array.isArray(m))return a.fail(new F({message:"Failed to decode columns: expected array"}));let h=[];for(let A of m){let w=Pe(A);if(!w)continue;let K=X(w.id),Ee=X(w.name);if(!K||!Ee)continue;h.push({id:K,name:Ee})}return a.succeed(h)},R=(m)=>a.try({try:()=>{let h=Pe(m);if(!h)throw new F({message:"Failed to decode board: expected object"});let A=X(h.id);if(!A)throw new F({message:"Failed to decode board: missing id"});return{id:A,name:X(h.name)||""}},catch:(h)=>h instanceof F?h:new F({message:String(h)})}),se=(m)=>{if(!Array.isArray(m))return a.fail(new F({message:"Failed to decode boards: expected array"}));return a.forEach(m,R)},te=(m)=>a.try({try:()=>{let h=Pe(m);if(!h)throw new F({message:"Failed to decode column: expected object"});let A=X(h.id),w=X(h.name);if(!A||!w)throw new F({message:"Failed to decode column: missing id or name"});return{id:A,name:w}},catch:(h)=>h instanceof F?h:new F({message:String(h)})}),ye=(m)=>{if(!Array.isArray(m))return a.fail(new F({message:"Failed to decode comments: expected array"}));return a.succeed(m.map((h)=>Y(h)))},Y=(m)=>{let h=Pe(m);if(!h)return{};return{created_at:X(h.created_at),creator:Ke(h.creator),body:Ie(h.body)}},Ke=(m)=>{let h=Pe(m);if(!h)return;let A=X(h.name);if(!A)return{};return{name:A}},Ie=(m)=>{let h=Pe(m);if(!h)return;let A=X(h.plain_text);if(!A)return{};return{plain_text:A}},de=(m)=>{let h=Pe(m);if(!h)return;return{id:X(h.id),name:X(h.name)}},Pr=(m)=>{if(!Array.isArray(m))return[];let h=[];for(let A of m){let w=Pe(A);if(!w)continue;let K=X(w.id);if(!K)continue;let Ee=X(w.name);if(!Ee)continue;h.push({id:K,name:Ee})}return h},Hx=(m)=>{if(!Array.isArray(m))return[];let h=[];for(let A of m){let w=Pe(A);if(!w)continue;let K=X(w.content);if(!K)continue;let Ee=mi(w.completed);if(Ee===void 0)continue;h.push({id:X(w.id),content:K,completed:Ee})}return h},di=(m)=>m!==null&&typeof m==="object"&&!Array.isArray(m),Pe=(m)=>di(m)?m:void 0,X=(m)=>typeof m==="string"?m:void 0,mi=(m)=>typeof m==="boolean"?m:void 0,Bx=(m)=>{if(typeof m==="number"&&Number.isFinite(m))return m;return Number.NaN},Su=()=>r("GET",`/boards/${e.board}/columns.json`).pipe(a.flatMap(I)),qx=(m)=>r("POST",`/boards/${e.board}/columns.json`,{column:{name:m}});return{identity:()=>r("GET","/my/identity.json").pipe(a.flatMap(x)),listBoards:()=>r("GET","/boards.json").pipe(a.flatMap(se)),listColumns:()=>Su(),createColumn:(m)=>a.gen(function*(){let h=yield*qx(m),A=yield*te(h).pipe(a.catch(()=>a.succeed(void 0)));if(A)return A;let K=(yield*Su()).find((Ee)=>Ee.name===m);if(!K)return yield*new F({message:`Failed to create column ${m}`});return K}),listCards:(m)=>{let h=new URLSearchParams;if(e.board)h.append("board_ids[]",e.board);if(m?.indexedBy)h.set("indexed_by",m.indexedBy);if(m?.all)h.set("all","true");let A=h.size>0?`?${h}`:"";return r("GET",`/cards.json${A}`).pipe(a.flatMap(y))},showCard:(m)=>r("GET",`/cards/${m}.json`).pipe(a.flatMap(S)),listComments:(m)=>r("GET",`/cards/${m}/comments.json?all=true`).pipe(a.flatMap(ye)),createCard:(m)=>r("POST","/cards.json",{board_id:m.board,title:m.title,description:m.description}).pipe(a.flatMap(S)),updateCardDescription:(m,h)=>n("PATCH",`/cards/${m}.json`,{description:h}),assignCard:(m,h)=>n("POST",`/cards/${m}/assignments.json`,{assignee_id:h}),selfAssignCard:(m)=>n("POST",`/cards/${m}/self_assignment.json`),moveCard:(m,h)=>n("POST",`/cards/${m}/triage.json`,{column_id:h}),comment:(m,h)=>n("POST",`/cards/${m}/comments.json`,{body:h}),closeCard:(m)=>n("POST",`/cards/${m}/closure.json`),postponeCard:(m)=>n("POST",`/cards/${m}/not_now.json`),createStep:(m,h,A)=>n("POST",`/cards/${m}/steps.json`,{content:h,completed:Boolean(A)}),updateStep:(m,h,A)=>{let w={};if(A.completed!==void 0)w.completed=A.completed;if(A.content!==void 0)w.content=A.content;return n("PATCH",`/cards/${m}/steps/${h}.json`,w)}}};var Rg="1",Og="https://fizzy.puffin.studio",iu=".fizzy.yaml",m0=(e)=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),h0=(e)=>({done:"done: ",blocked:"blocked: ",unblocked:"unblocked: ",handoff:"handoff: ",note:"note: "})[e],Ag=(e,t)=>`<p>${h0(e)}${m0(t)}</p>`,Tg=(e)=>{if(e==="done")return"done: commit <sha>: <subject>";if(e==="blocked")return"blocked: <reason; owner/decision needed>";if(e==="unblocked")return"unblocked: <resource/decision ready>";if(e==="handoff")return"handoff: <current state; next step>";return"note: <brief note>"},YM=a.gen(function*(){let e=yield*Q,t=yield*e.loadProjectConfig(),r=yield*Ig(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new un({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Ys(t.account,r),s=ln(t,n.token);return{config:t,configRepo:e,cacheRepo:o,api:s}}),pe=a.gen(function*(){let e=yield*Q,t=yield*e.loadProjectConfig(),r=yield*Ig(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new un({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Ys(t.account,r),s=cu(e,t,n.token);return{config:yield*Kg({configRepo:e,api:s,config:t}),configRepo:e,cacheRepo:o,api:s}}),ii=(e)=>a.gen(function*(){return(yield*e.loadProjectConfigOptional().pipe(a.catchDefect((r)=>qa(r,"ConfigError")&&Sg(r.message)?a.succeed(void 0):a.fail(r)),a.catch((r)=>qa(r,"ConfigError")&&Sg(r.message)?a.succeed(void 0):a.fail(r))))||{apiUrl:Og,account:Rg,configPath:`${process.cwd()}/${iu}`,rootDir:process.cwd()}}),Sg=(e)=>e.startsWith(`No ${iu} found from`),Ig=(e)=>e.board?a.succeed(e.board):a.fail(new le({message:"No board configured. Run: fizzyx setup <board-id>"})),Pg=(e)=>a.gen(function*(){let t=yield*Q;if(!e.board)return yield*new le({message:"board is required"});let r=e.account||Rg,n=e.apiUrl||Og,o={apiUrl:n,account:r,board:e.board,configPath:`${process.cwd()}/${iu}`,rootDir:process.cwd()},s=yield*t.loadCredentials(r).pipe(a.catch(()=>a.fail(new un({message:`No token for account ${r}. Run: fizzyx auth login <token>`})))),i=cu(t,o,s.token);if(e.todoColumn&&e.inProgressColumn)return yield*t.setupProjectConfig({account:r,board:e.board,todoColumn:e.todoColumn,inProgressColumn:e.inProgressColumn,users:e.users||{},apiUrl:n});return yield*Kg({configRepo:t,api:i,config:o,initialUsers:e.users})}),_g=()=>a.gen(function*(){let e=yield*Q,t=yield*ii(e),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new un({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`}))));return yield*cu(e,t,r.token).listBoards()}),cu=(e,t,r)=>{let n=r,o=ln(t,n),s=(c)=>c instanceof F?c:new F({message:String(c)}),i=(c)=>a.gen(function*(){let f=yield*c(o).pipe(a.map((p)=>({_tag:"right",right:p})),a.catch((p)=>a.succeed({_tag:"left",left:s(p)})));if(f._tag==="right")return f.right;let l=f.left;if(!g0(l))return yield*a.fail(l);let d=yield*e.migrateCredentialsFromOfficial(t.account).pipe(a.catch(()=>a.fail(l)));if(d.token!==n)n=d.token,o=ln(t,n),yield*e.saveCredentials(t.account,d).pipe(a.catch((p)=>new F({message:`Failed to persist migrated credentials: ${p instanceof D?p.message:String(p)}`})));return yield*c(o)});return{identity:()=>i((c)=>c.identity()),listBoards:()=>i((c)=>c.listBoards()),listCards:(c)=>i((f)=>f.listCards(c)),showCard:(c)=>i((f)=>f.showCard(c)),listComments:(c)=>i((f)=>f.listComments(c)),listColumns:()=>i((c)=>c.listColumns()),createColumn:(c)=>i((f)=>f.createColumn(c)),createCard:(c)=>i((f)=>f.createCard(c)),updateCardDescription:(c,f)=>i((l)=>l.updateCardDescription(c,f)),assignCard:(c,f)=>i((l)=>l.assignCard(c,f)),selfAssignCard:(c)=>i((f)=>f.selfAssignCard(c)),moveCard:(c,f)=>i((l)=>l.moveCard(c,f)),comment:(c,f)=>i((l)=>l.comment(c,f)),closeCard:(c)=>i((f)=>f.closeCard(c)),postponeCard:(c)=>i((f)=>f.postponeCard(c)),updateStep:(c,f,l)=>i((d)=>d.updateStep(c,f,l)),createStep:(c,f,l)=>i((d)=>d.createStep(c,f,l))}},g0=(e)=>e.status===401;var Fg=(e)=>a.gen(function*(){let t=yield*Q,r=yield*ii(t);return yield*t.saveCredentials(r.account,{token:e}),r.account}),Mg=a.gen(function*(){let e=yield*Q,t=yield*ii(e),r=yield*e.loadCredentials(t.account).pipe(a.option);if(r._tag==="None")return{account:t.account,board:t.board,authenticated:!1};let o=yield*ln(t,r.value.token).identity().pipe(a.map((s)=>({_tag:"success",identity:s})),a.catch((s)=>a.succeed({_tag:"failure",error:s instanceof Error?s.message:String(s)})));return{account:t.account,board:t.board,authenticated:!0,identity:o._tag==="success"?o.identity:void 0,identityError:o._tag==="failure"?o.error:void 0}}),Ug=a.gen(function*(){let e=yield*Q,t=yield*ii(e);return yield*e.deleteCredentials(t.account),t.account}),st=(e)=>a.gen(function*(){let[t,r,n,o]=yield*a.all([e.api.identity(),e.api.listCards({all:!0}),e.api.listCards({indexedBy:"not_now",all:!0}),e.api.listColumns()]),s=Qg(e.config,r),i={identity:t,cards:r,notNow:n,columns:o,users:s,syncedAt:new Date().toISOString()};return yield*e.cacheRepo.write(i),i}),ci=(e,t)=>a.gen(function*(){let r=yield*e.cacheRepo.ageSeconds();if(t||r>e.config.flow.cacheTtlSeconds)return yield*st(e);let n=yield*e.cacheRepo.read();if(n)return n;return yield*st(e)}),au=(e,t)=>a.gen(function*(){let r=yield*ci(e,t.fresh),n=t.user?Yg(e.config,t.user):r.identity.userId,o=b0(r,n)||t.user||r.identity.name||"me",s=r.cards.filter((i)=>i.assignees?.some((c)=>c.id===n));return{name:o,userId:n,cards:s}}),Ng=(e,t)=>a.gen(function*(){let r=yield*ci(e,t.fresh),n=yield*e.cacheRepo.ageSeconds();return{cache:r,age:n}}),zg=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=yield*e.api.listComments(t).pipe(a.catch(()=>a.succeed([])));return{card:r,comments:n.slice(-3)}}),Dg=(e,t)=>a.gen(function*(){let r=yield*au(e,{fresh:t.fresh}),n=r.cards.find((o)=>(o.column?.name||"")==="TODO");return{user:r,card:n}}),Lg=(e,t)=>a.gen(function*(){let r=yield*ci(e,!0),n=r.cards.find((i)=>i.number===t);if(!n)return yield*new le({message:`Card #${t} not found`});let o=r.identity.userId,s=r.cards.filter((i)=>(i.column?.id===e.config.flow.columns.inProgress||i.column?.name==="INPROGRESS")&&i.assignees?.some((c)=>c.id===o));if(s.length>=e.config.flow.wipLimit)return yield*new le({message:`Current user already has ${s.length} INPROGRESS cards`});if(yield*e.api.moveCard(t,e.config.flow.columns.inProgress),!n.assignees?.some((i)=>i.id===o))yield*e.api.selfAssignCard(t);return yield*st(e),t}),$g=(e,t,r)=>a.gen(function*(){let o=((yield*e.api.showCard(t)).steps||[]).filter((f)=>!f.completed);if(o.length>0){let f=o.map((l)=>`- ${l.content||"(no content)"}`).join(`
|
|
25
|
+
${rl(e.cause,`${t} `)}
|
|
26
|
+
${t}}`;return n},ts=`~effect/Fiber/${es}`,FE={_A:R,_E:R},ME={id:0},Ln=()=>globalThis[Dr];class hc{constructor(e,t=!0){this[ts]=FE,this.setContext(e),this.id=++ME.id,this.currentOpCount=0,this.currentLoopCount=0,this.interruptible=t,this._stack=[],this._observers=[],this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this.runtimeMetrics?.recordFiberStart(this.context)}[ts];id;interruptible;currentOpCount;currentLoopCount;_stack;_observers;_exit;_currentExit;_children;_interruptedCause;_yielded;context;currentScheduler;currentTracerContext;currentSpan;currentLogLevel;minimumLogLevel;currentStackFrame;runtimeMetrics;maxOpsBeforeYield;currentPreventYield;_dispatcher=void 0;get currentDispatcher(){return this._dispatcher??=this.currentScheduler.makeDispatcher()}getRef(e){return Wi(this.context,e)}addObserver(e){if(this._exit)return e(this._exit),rr;return this._observers.push(e),()=>{let t=this._observers.indexOf(e);if(t>=0)this._observers.splice(t,1)}}interruptUnsafe(e,t){if(this._exit)return;let r=ns(e);if(this.currentStackFrame)r=kn(r,ft(An,this.currentStackFrame));if(t)r=kn(r,t);if(this._interruptedCause=this._interruptedCause?Xf(this._interruptedCause,r):r,this.interruptible)this.evaluate(V(this._interruptedCause))}pollUnsafe(){return this._exit}evaluate(e){if(this._exit)return;else if(this._yielded!==void 0){let n=this._yielded;this._yielded=void 0,n()}let t=this.runLoop(e);if(t===Lt)return;let r=oc.interruptChildren&&oc.interruptChildren(this);if(r!==void 0)return this.evaluate(S(r,()=>t));this._exit=t,this.runtimeMetrics?.recordFiberEnd(this.context,this._exit);for(let n=0;n<this._observers.length;n++)this._observers[n](t);this._observers.length=0}runLoop(e){let t=globalThis[Dr];globalThis[Dr]=this;let r=!1,n=e;this.currentOpCount=0;let o=++this.currentLoopCount;try{while(!0){if(this.currentOpCount++,!r&&!this.currentPreventYield&&this.currentScheduler.shouldYield(this)){r=!0;let s=n;n=S(Yr,()=>s)}if(n=this.currentTracerContext?this.currentTracerContext(n,this):n[ee](this),o!==this.currentLoopCount)return Lt;else if(n===Lt){let s=this._yielded;if(or in s)return this._yielded=void 0,s;return Lt}}}catch(s){if(!T(n,ee))return wt(`Fiber.runLoop: Not a valid effect: ${String(n)}`);return this.runLoop(wt(s))}finally{globalThis[Dr]=t}}getCont(e){while(!0){let t=this._stack.pop();if(!t)return;let r=t[$t]&&t[$t](this);if(r)return r[e]=r,r;if(t[e])return t}}yieldWith(e){return this._yielded=e,Lt}children(){return this._children??=new Set}pipe(){return N(this,arguments)}setContext(e){this.context=e;let t=this.getRef(Un);if(t!==this.currentScheduler)this.currentScheduler=t,this._dispatcher=void 0;this.currentSpan=e.mapUnsafe.get(Gi),this.currentLogLevel=this.getRef(ec),this.minimumLogLevel=this.getRef(tc),this.currentStackFrame=e.mapUnsafe.get(Vr.key),this.maxOpsBeforeYield=this.getRef(Ff),this.currentPreventYield=this.getRef(Mf),this.runtimeMetrics=e.mapUnsafe.get($f);let r=e.mapUnsafe.get(Xi);this.currentTracerContext=r?r.context:void 0}get currentSpanLocal(){return this.currentSpan?._tag==="Span"?this.currentSpan:void 0}}var oc={interruptChildren:void 0},ss=(e)=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(An.key,e.currentStackFrame),Bt(t)},UE=(e)=>{if(e._children===void 0||e._children.size===0)return;return pr(e._children)},nl=(e)=>{let t=e;if(t._exit)return E(t._exit);return Fe((r)=>{if(t._exit)return r(E(t._exit));return C(e.addObserver((n)=>r(E(n))))})},is=(e)=>Fe((t)=>{let r=e[Symbol.iterator](),n=[],o=void 0;function s(){let i=r.next();while(!i.done){if(i.value._exit){n.push(i.value._exit),i=r.next();continue}o=i.value.addObserver((c)=>{n.push(c),s()});return}t(E(n))}return s(),C(()=>o?.())});var gc=(e)=>O((t)=>ol(e,t.id)),ol=u((e)=>T(e[0],ts),(e,t,r)=>O((n)=>{let o=ss(n);return o=o&&r?qt(o,r):o??r,e.interruptUnsafe(t,o),Hn(nl(e))})),pr=(e)=>O((t)=>{let r=ss(t);for(let n of e)n.interruptUnsafe(t.id,r);return Hn(is(e))});var E=ie,V=ze,W=Ct,C=He({op:"Sync",[ee](e){let t=this[M](),r=e.getCont(Pe);return r?r[Pe](t,e):e.yieldWith(ie(t))}}),_=He({op:"Suspend",[ee](e){return this[M]()}}),sl=Do({onNone:()=>W(new kt("Effect.fromOption: Option.none")),onSome:E}),Qr=uf({onFailure:W,onSuccess:E}),il=(e)=>e==null?W(new kt):E(e),xc=He({op:"Yield",[ee](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{if(t)return;e.evaluate(Ze)},this[M]??0),e.yieldWith(()=>{t=!0})}}),Yr=xc(0),yc=(e)=>E(ue(e)),jn=E(re()),cl=(e)=>In(e)?jn:$(e.value,ue),al=(e)=>_(()=>V(z(e))),At=(e)=>wt(e),cs=(e)=>_(()=>W(z(e))),U=E(void 0);var ul=(e)=>{let t=typeof e==="function"?e:e.try,r=typeof e==="function"?(n)=>new vs(n,"An error occurred in Effect.try"):e.catch;return _(()=>{try{return E(z(t))}catch(n){return W(z(()=>r(n)))}})};var Ec=(e)=>bc(function(t,r){z(()=>e(r)).then((n)=>t(E(n)),(n)=>t(At(n)))},e.length!==0),fl=(e)=>{let t=typeof e==="function"?e:e.try,r=typeof e==="function"?(n)=>new vs(n,"An error occurred in Effect.tryPromise"):e.catch;return bc(function(n,o){let s=(i)=>{try{n(W(z(()=>r(i))))}catch(c){n(At(c))}};try{z(()=>t(o)).then((i)=>n(E(i)),s)}catch(i){s(i)}},t.length!==0)},ll=(e)=>O((t)=>e(t.id)),pl=O(E),dl=ll(E),bc=He({op:"Async",single:!1,[ee](e){let t=z(()=>this[M][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[M][1]?new AbortController:void 0,s=t((i)=>{if(r)return;if(r=!0,n)e.evaluate(i);else n=i},o?.signal);if(n!==!1)return n;if(n=!0,e._yielded=()=>{r=!0},o===void 0&&s===void 0)return Lt;return e._stack.push(NE(()=>(r=!0,o?.abort(),s??Ze))),Lt}}),NE=He({op:"AsyncFinalizer",[$t](e){if(e.interruptible)e.interruptible=!1,e._stack.push(Ss)},[Ye](e,t){return dc(e)?S(this[M](),()=>V(e)):V(e)}}),Fe=(e)=>bc(e,e.length>=2),as=Fe(rr),ml=(...e)=>_(()=>Jr(e.length===1?e[0]():e[1].call(e[0].self))),Sc=(e,...t)=>{let r=t.length===0?function(){return _(()=>Jr(e.apply(this,arguments)))}:function(){let n=_(()=>Jr(e.apply(this,arguments)));for(let o=0;o<t.length;o++)n=t[o](n,...arguments);return n};return Cc(e.length,r)},Cc=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),jf=rc(2),hl=function(){let e=typeof arguments[0]==="string",t=e?arguments[0]:"Effect.fn",r=e?arguments[1]:void 0,n=globalThis.Error.stackTraceLimit;globalThis.Error.stackTraceLimit=2;let o=new globalThis.Error;if(globalThis.Error.stackTraceLimit=n,e)return(s,...i)=>Hf(t,s,o,i,e,r);return Hf(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,r)},Hf=(e,t,r,n,o,s)=>{let i=typeof t==="function"?t:n.pop().bind(t.self);return Cc(i.length,function(...c){let l=_(()=>{let p=i.apply(this,arguments);return A(p)?p:Jr(p)});for(let p=0;p<n.length;p++)l=n[p](l,...c);if(!A(l))return l;let f=globalThis.Error.stackTraceLimit;globalThis.Error.stackTraceLimit=2;let m=new globalThis.Error;return globalThis.Error.stackTraceLimit=f,Tt(o?$n(e,s,(p)=>ac(l,p)):l,Vr,(p)=>({name:e,stack:jf(()=>m.stack),parent:{name:`${e} (definition)`,stack:jf(()=>r.stack),parent:p}}))})},gl=(e,...t)=>Cc(e.length,t.length===0?function(){return Bf(()=>e.apply(this,arguments))}:function(){let r=Bf(()=>e.apply(this,arguments));for(let n of t)r=n(r);return r}),Bf=(e)=>{try{let t=e(),r=void 0;while(!0){let n=t.next(r);if(n.done)return E(n.value);let o=n.value;if(o&&o._tag==="Success"){r=o.value;continue}else if(o&&o._tag==="Failure")return n.value;else{let s=!0;return _(()=>{if(s)return s=!1,S(n.value,(i)=>Jr(t,i));else return _(()=>Jr(e()))})}}}catch(t){return At(t)}},Jr=He({op:"Iterator",single:!1,[Pe](e,t){let r=this[M][0];while(!0){let n=r.next(e);if(n.done)return E(n.value);if(!$e(n.value))return t._stack.push(this),n.value;else if(n.value._tag==="Failure")return n.value;e=n.value.value}},[ee](e){return this[Pe](this[M][1],e)}}),Ae=u(2,(e,t)=>{let r=E(t);return S(e,(n)=>r)}),us=(e)=>$(e,ue),xl=(e)=>dr(e,{onFailure:E,onSuccess:W}),We=u(2,(e,t)=>S(e,(r)=>A(t)?t:z(()=>t(r)))),dt=u(2,(e,t)=>S(e,(r)=>Ae(A(t)?t:z(()=>t(r)),r))),Hn=(e)=>S(e,(t)=>Ze),yl=(e)=>Me(e,W),wc=(e,t)=>O((r)=>Fe((n)=>{let o=Xe(e),s=o.length,i=0,c=!1,l=new Set,f=[],m=(p,x,b)=>{if(i++,p._tag==="Failure"){if(f.push(...p.cause.reasons),i>=s)n(V(sr(f)));return}let y=!c;if(c=!0,n(l.size===0?p:S(gr(pr(l)),()=>p)),y&&t?.onWinner)t.onWinner({fiber:x,index:b,parentFiber:r})};for(let p=0;p<s;p++){let x=xr(r,o[p],!0,!0,!1);if(l.add(x),x.addObserver((b)=>{l.delete(x),m(b,x,p)}),c)break}return pr(l)})),kc=(e,t)=>O((r)=>Fe((n)=>{let o=!1,s=new Set,i=(l)=>{o=!0,n(s.size===0?l:S(gr(pr(s)),()=>l))},c=0;for(let l of e){if(o)break;let f=c++,m=xr(r,l,!0,!0,!1);s.add(m),m.addObserver((p)=>{s.delete(m);let x=!o;if(i(p),x&&t?.onWinner)t.onWinner({fiber:m,index:f,parentFiber:r})})}return pr(s)})),El=u((e)=>A(e[1]),(e,t,r)=>wc([e,t],r)),fs=u((e)=>A(e[1]),(e,t,r)=>kc([e,t],r)),S=u(2,(e,t)=>{let r=Object.create(zE);return r[M]=e,r[Pe]=t.length!==1?(n)=>t(n):t,r}),zE=St({op:"OnSuccess",[ee](e){return e._stack.push(this),this[M]}}),bl=u(2,(e,t)=>{if($e(e))return e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause);return lt(e,t)}),$e=(e)=>(or in e),Sl=u(2,(e,t)=>{if($e(e))return e._tag==="Success"?t(e.value):e;return S(e,t)}),Cl=(e)=>S(e,R),$=u(2,(e,t)=>S(e,(r)=>E(z(()=>t(r))))),wl=u(2,(e,t)=>$e(e)?Tl(e,t):$(e,t)),kl=u(2,(e,t)=>$e(e)?Ol(e,t):_c(e,t)),vl=u(2,(e,t)=>$e(e)?Il(e,t):Fc(e,t)),Rl=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return e;let r=pt(e.cause);if(Y(r))return e;return t(r.success)}return Te(e,t)});var vc=(e)=>e._tag==="Success";var Al=(e)=>e._tag==="Failure"?ke(e.cause):me(e);var Ze=ie(void 0),Tl=u(2,(e,t)=>e._tag==="Success"?ie(t(e.value)):e),Ol=u(2,(e,t)=>{if(e._tag==="Success")return e;let r=pt(e.cause);if(Y(r))return e;return Ct(t(r.success))}),Il=u(2,(e,t)=>{if(e._tag==="Success")return ie(t.onSuccess(e.value));let r=pt(e.cause);if(Y(r))return e;return Ct(t.onFailure(r.success))});var Pl=(e)=>{let t=[];for(let r of e)if(r._tag==="Failure")t.push(...r.cause.reasons);return t.length===0?Ze:ze(sr(t))};var _l=(e)=>e,Fl=(e)=>O((t)=>E(Vi(t.context,e))),DE=(e)=>O((t)=>t.context.mapUnsafe.has(e.key)?E(vt(t.context,e)):W(new kt)),Bn=u(2,(e,t)=>O((r)=>{let n=r.context,o=t(n);if(n===o)return e;return r.setContext(o),Zr(e,()=>{r.setContext(n);return})})),Tt=u(3,(e,t,r)=>Bn(e,(n)=>{let o=vt(n,t),s=r(o);if(o===s)return n;return Be(n,t,s)})),Rc=()=>$E,$E=O((e)=>E(e.context)),Jt=(e)=>O((t)=>e(t.context)),Ot=u(2,(e,t)=>{if($e(e))return e;return Bn(e,qt(t))}),Se=function(){if(arguments.length===1)return u(2,(e,t)=>qf(e,arguments[0],t));return u(3,(e,t,r)=>qf(e,t,r)).apply(this,arguments)},qf=(e,t,r)=>Bn(e,(n)=>{if(n.mapUnsafe.get(t.key)===r)return n;return Be(n,t,r)}),ls=u(3,(e,t,r)=>S(r,(n)=>Se(e,t,n))),Ml=Se(Go),Ac=u((e)=>A(e[1]),(e,t,r)=>Tc(e,t,(n,o)=>[n,o],r)),Tc=u((e)=>A(e[1]),(e,t,r,n)=>n?.concurrent?$(Cs([e,t],{concurrency:2}),([o,s])=>z(()=>r(o,s))):S(e,(o)=>$(t,(s)=>z(()=>r(o,s))))),Ul=u((e)=>A(e[0]),(e,t,r)=>Vc(e,t,r?(n)=>W(r(n)):()=>W(new kt))),Nl=u(2,(e,t)=>S(t,(r)=>r?us(e):jn)),Oc=u(2,(e,t)=>Array.from({length:t},()=>e)),zl=u((e)=>A(e[0]),(e,t,r)=>Cs(Oc(e,t),r)),ps=u((e)=>A(e[0]),(e,t)=>Kt({while:Ne,body:ne(t?.disableYield?e:S(e,(r)=>Yr)),step:rr})),Me=u(2,(e,t)=>{let r=Object.create(LE);return r[M]=e,r[Ye]=t.length!==1?(n)=>t(n):t,r}),LE=St({op:"OnFailure",[ee](e){return e._stack.push(this),this[M]}}),Ic=u(3,(e,t,r)=>Me(e,(n)=>{if(!t(n))return V(n);return z(()=>r(n))})),Gr=u(3,(e,t,r)=>Me(e,(n)=>{let o=t(n);return Y(o)?V(o.failure):z(()=>r(o.success,n))})),Te=u(2,(e,t)=>Gr(e,pt,(r)=>t(r))),Dl=(e)=>dr(e,{onFailure:(t)=>Oi(t)?jn:W(t),onSuccess:yc}),$l=u(2,(e,t)=>Gr(e,pc,t)),Ll=u(2,(e,t)=>Me(e,(r)=>We(z(()=>t(r)),V(r)))),jl=u(3,(e,t,r)=>Ic(e,t,(n)=>We(z(()=>r(n)),V(n)))),ds=u(3,(e,t,r)=>Me(e,(n)=>{let o=t(n);if(Y(o))return V(n);return We(z(()=>r(o.success,n)),V(n))})),Pc=u(2,(e,t)=>ds(e,pt,(r)=>t(r))),Hl=u(3,(e,t,r)=>{let n=Array.isArray(t)?(o)=>T(o,"_tag")&&t.includes(o._tag):it(t);return Pc(e,(o)=>n(o)?r(o):U)}),Bl=u(2,(e,t)=>ds(e,pc,(r)=>t(r))),qn=u((e)=>A(e[0]),(e,t,r,n)=>Me(e,(o)=>{let s=pt(o);if(Y(s))return V(s.failure);if(!t(s.success))return n?z(()=>n(s.success)):V(o);return z(()=>r(s.success))})),ms=u((e)=>A(e[0]),(e,t,r,n)=>Me(e,(o)=>{let s=pt(o);if(Y(s))return V(s.failure);let i=t(s.success);if(Y(i))return n?z(()=>n(i.failure)):V(o);return z(()=>r(i.success))})),hs=u((e)=>A(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?(s)=>T(s,"_tag")&&t.includes(s._tag):it(t);return qn(e,o,r,n)}),ql=u((e)=>A(e[0]),(e,t,r)=>{let n;return ms(e,(o)=>(n??=Object.keys(t),T(o,"_tag")&&Nr(o._tag)&&n.includes(o._tag)?ke(o):me(o)),(o)=>z(()=>t[o._tag](o)),r)}),Wl=u((e)=>A(e[0]),(e,t,r,n,o)=>qn(e,(s)=>it(s,t)&&T(s,"reason"),(s)=>{let i=s.reason;if(it(i,r))return n(i,s);return o?z(()=>o(i,s)):W(s)})),Vl=u((e)=>A(e[0]),(e,t,r,n)=>{let o;return qn(e,(s)=>it(s,t)&&T(s,"reason")&&T(s.reason,"_tag")&&Nr(s.reason._tag),(s)=>{let i=s.reason;if(o??=Object.keys(r),o.includes(i._tag))return z(()=>r[i._tag](i,s));return n?z(()=>n(i,s)):W(s)})}),Jl=u(2,(e,t)=>ms(e,(r)=>{if(it(r,t)&&T(r,"reason"))return ke(r.reason);return me(r)},W));var _c=u(2,(e,t)=>Te(e,(r)=>cs(()=>t(r)))),Fc=u(2,(e,t)=>dr(e,{onFailure:(r)=>cs(()=>t.onFailure(r)),onSuccess:(r)=>C(()=>t.onSuccess(r))})),gs=(e)=>Te(e,At),Kl=u(2,(e,t)=>Te(e,(r)=>C(t))),Ql=(e)=>_(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return At(Error("Received an empty collection of effects"));function n(o){let s=t.next();if(s.done)return o.value;return Te(o.value,(i)=>n(s))}return n(r)}),Mc=(e)=>Te(e,(t)=>S(Yr,()=>Mc(e))),Yl=u((e)=>A(e[0]),(e,t)=>{if(!t?.log)return dr(e,{onFailure:(n)=>U,onSuccess:(n)=>U});let r=tt(t.log===!0?void 0:t.log);return lt(e,{onFailure(n){let o=Qf(n);return Y(o)?V(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:(n)=>U})}),Gl=u((e)=>A(e[0]),(e,t)=>{if(!t?.log)return lt(e,{onFailure:(n)=>U,onSuccess:(n)=>U});let r=tt(t.log===!0?void 0:t.log);return lt(e,{onFailure:(n)=>t.message===void 0?r(n):r(t.message,n),onSuccess:(n)=>U})}),Xl=(e)=>xs(e,{onFailure:re,onSuccess:ue}),Vt=(e)=>Wn(e,{onFailure:me,onSuccess:ke}),lt=u(2,(e,t)=>{let r=Object.create(jE);return r[M]=e,r[Pe]=t.onSuccess.length!==1?(n)=>t.onSuccess(n):t.onSuccess,r[Ye]=t.onFailure.length!==1?(n)=>t.onFailure(n):t.onFailure,r}),jE=St({op:"OnSuccessAndFailure",[ee](e){return e._stack.push(this),this[M]}}),Uc=u(2,(e,t)=>lt(e,{onFailure:(r)=>C(()=>t.onFailure(r)),onSuccess:(r)=>C(()=>t.onSuccess(r))})),dr=u(2,(e,t)=>lt(e,{onFailure:(r)=>{let n=r.reasons.find(vn);return n?z(()=>t.onFailure(n.error)):V(r)},onSuccess:t.onSuccess})),xs=u(2,(e,t)=>dr(e,{onFailure:(r)=>C(()=>t.onFailure(r)),onSuccess:(r)=>C(()=>t.onSuccess(r))})),Wn=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return ie(t.onSuccess(e.value));let r=pt(e.cause);if(Y(r))return e;return ie(t.onFailure(r.success))}return xs(e,t)}),Zl=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return ie(t.onSuccess(e.value));return ie(t.onFailure(e.cause))}return Uc(e,t)}),Vn=(e)=>$e(e)?ie(e):HE(e),HE=He({op:"Exit",[ee](e){return e._stack.push(this),this[M]},[Pe](e,t,r){return E(r??ie(e))},[Ye](e,t,r){return E(r??ze(e))}}),ep=Wn({onFailure:()=>!0,onSuccess:()=>!1}),tp=Wn({onFailure:()=>!1,onSuccess:()=>!0}),rp=u(2,(e,t)=>We(Er(t),e)),Nc=u(2,(e,t)=>fs(e,S(Er(t.duration),t.orElse))),np=u(2,(e,t)=>Nc(e,{duration:t,orElse:()=>W(new ea)})),op=u(2,(e,t)=>fs(us(e),Ae(Er(t),re()))),sp=(e)=>yr((t)=>{let r=t.currentTimeNanosUnsafe();return $(e,(n)=>[Fn(t.currentTimeNanosUnsafe()-r),n])}),sc="~effect/Scope",ic="~effect/Scope/Closeable",mr=ve("effect/Scope"),zc=(e,t)=>_(()=>ys(e,t)??U),ys=(e,t)=>{if(e.state._tag==="Closed")return;let r={_tag:"Closed",exit:t};if(e.state._tag==="Empty"){e.state=r;return}let{finalizers:n}=e.state;if(e.state=r,n.size===0)return;else if(n.size===1)return n.values().next().value(t);return BE(e,n,t)},BE=Sc(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=Ln();for(let c=s.length-1;c>=0;c--){let l=s[c];if(e.strategy==="sequential")n.push(yield*Vn(l(r)));else o.push(xr(i,l(r),!0,!0,"inherit"))}if(o.length>0)n=yield*is(o);return yield*Pl(n)});var ip=(e,t)=>{let r=Jn(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return rs(e,n,(o)=>zc(r,o)),rs(r,n,(o)=>C(()=>ap(e,n))),r},mt=(e,t)=>_(()=>{if(e.state._tag==="Closed")return t(e.state.exit);return rs(e,{},t),U}),cp=(e,t)=>mt(e,ne(t)),rs=(e,t,r)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizers:new Map([[t,r]])};else if(e.state._tag==="Open")e.state.finalizers.set(t,r)},ap=(e,t)=>{if(e.state._tag==="Open")e.state.finalizers.delete(t)},Jn=(e="sequential")=>({[ic]:ic,[sc]:sc,strategy:e,state:qE}),qE={_tag:"Empty"};var Kn=mr,up=Se(mr),Es=(e)=>O((t)=>{let r=t.context,n=Jn();return t.setContext(Be(t.context,mr,n)),Zr(e,(o)=>(t.setContext(r),ys(n,o)))});var bs=(e)=>_(()=>{let t=Jn();return Oe(e(t),(r)=>_(()=>ys(t,r)??U))}),hr=(e,t,r)=>Jt((n)=>Yn((o)=>S(Kn,(s)=>dt(r?.interruptible?o(e):e,(i)=>mt(s,(c)=>Ot(t(i,c),n)))))),Xr=(e)=>S(Kn,(t)=>Jt((r)=>mt(t,(n)=>Ot(e(n),r)))),Zr=He({op:"OnExit",single:!1,[ee](e){return e._stack.push(this),this[M][0]},[$t](e){if(e.interruptible&&this[M][2]!==!0)e._stack.push(Ss),e.interruptible=!1},[Pe](e,t,r){r??=ie(e);let n=this[M][1](r);return n?S(n,(o)=>r):r},[Ye](e,t,r){r??=ze(e);let n=this[M][1](r);return n?S(n,(o)=>r):r}}),Oe=u(2,Zr),fp=u(2,(e,t)=>Oe(e,(r)=>t)),Dc=u(3,(e,t,r)=>Oe(e,(n)=>{if(!t(n))return U;return r(n)})),$c=u(3,(e,t,r)=>Oe(e,(n)=>{let o=t(n);return Y(o)?U:r(o.success,n)})),Lc=u(2,(e,t)=>$c(e,Al,t)),lp=u(3,(e,t,r)=>Dc(e,(n)=>{if(n._tag!=="Failure")return!1;return t(n.cause)},(n)=>r(n.cause))),jc=u(3,(e,t,r)=>Oe(e,(n)=>{if(n._tag!=="Failure")return U;let o=t(n.cause);return Y(o)?U:r(o.success,n.cause)})),pp=u(2,(e,t)=>jc(Gf,t)(e)),Qn=(e,t,r)=>Yn((n)=>S(e,(o)=>Zr(n(t(o)),(s)=>r(o,s),!0))),dp=(e)=>hr(e,(t)=>T(t,Symbol.asyncDispose)?Ec(()=>t[Symbol.asyncDispose]()):C(()=>t[Symbol.dispose]())),Hc=u(2,(e,t)=>C(()=>{let r=qr(De(t)),n=Number.isFinite(r),o=Xc(!1),s=0,i=!1,c,l=S(o.await,()=>c);return[O((f)=>{let m=f.getRef(ht),p=n?m.currentTimeMillisUnsafe():0;if(i||p<s)return c??l;return i=!0,o.closeUnsafe(),c=void 0,Oe(e,(x)=>C(()=>{i=!1,s=m.currentTimeMillisUnsafe()+r,c=x,o.openUnsafe()}))}),C(()=>{s=0,o.closeUnsafe(),c=void 0})]})),Bc=u(2,(e,t)=>$(Hc(e,t),(r)=>r[0])),mp=(e)=>Bc(e,Br),hp=O((e)=>V(ns(e.id))),gr=(e)=>O((t)=>{if(!t.interruptible)return e;return t.interruptible=!1,t._stack.push(Ss),e}),gp=He({op:"SetInterruptible",[$t](e){if(e.interruptible=this[M],e._interruptedCause&&e.interruptible)return()=>V(e._interruptedCause)}}),Ss=gp(!0),xp=gp(!1),qc=(e)=>O((t)=>{if(t.interruptible)return e;if(t.interruptible=!0,t._stack.push(xp),t._interruptedCause)return V(t._interruptedCause);return e}),Yn=(e)=>O((t)=>{if(!t.interruptible)return e(R);return t.interruptible=!1,t._stack.push(Ss),e(qc)}),yp=(e)=>O((t)=>{if(t.interruptible)return e(R);return t.interruptible=!0,t._stack.push(xp),e(gr)}),Ep=$(hr(C(()=>new AbortController),(e)=>C(()=>e.abort())),(e)=>e.signal),Cs=(e,t)=>{if(Et(e))return t?.mode==="result"?qe(e,Vt,t):qe(e,R,t);else if(t?.discard)return t.mode==="result"?qe(Object.values(e),Vt,t):qe(Object.values(e),R,t);return _(()=>{let r={};return Ae(qe(Object.entries(e),([n,o])=>$(t?.mode==="result"?Vt(o):o,(s)=>{r[n]=s}),{discard:!0,concurrency:t?.concurrency}),r)})},Wc=u((e)=>Et(e[0])&&!A(e[0]),(e,t,r)=>$(qe(e,(n,o)=>Vt(t(n,o)),r),(n)=>Ef(n,R))),bp=u((e)=>Et(e[0])&&!A(e[0]),(e,t,r)=>S(Wc(e,t,{concurrency:r?.concurrency}),([n,o])=>{if(Li(n))return W(n);return r?.discard?U:E(o)})),Sp=u((e)=>Et(e[0])&&!A(e[0]),(e,t)=>_(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return Cp(r,0,t,n.value);return E(re())})),Cp=(e,t,r,n)=>S(r(n,t),(o)=>{if(o)return E(ue(n));let s=e.next();if(!s.done)return Cp(e,t+1,r,s.value);return E(re())}),wp=u((e)=>Et(e[0])&&!A(e[0]),(e,t)=>_(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return kp(r,0,t,n.value);return E(re())})),kp=(e,t,r,n)=>S(r(n,t),(o)=>{if(ar(o))return E(ue(o.success));let s=e.next();if(!s.done)return kp(e,t+1,r,s.value);return E(re())}),Kt=He({op:"While",[Pe](e,t){if(this[M].step(e),this[M].while())return t._stack.push(this),this[M].body();return Ze},[ee](e){if(this[M].while())return e._stack.push(this),this[M].body();return Ze}}),qe=u((e)=>typeof e[1]==="function",(e,t,r)=>O((n)=>{let o=r?.concurrency==="inherit"?n.getRef(Go):r?.concurrency??1,s=o==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,o);if(s===1)return WE(e,t,r);let i=Xe(e),c=i.length;if(c===0)return r?.discard?U:E([]);let l=r?.discard?void 0:Array(c),f=JE({f:t,out:l},i,{concurrency:s});return f?Ae(f,l):E(l)})),WE=(e,t,r)=>_(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return Ae(Kt({while:()=>!s.done,body:()=>t(s.value,i++),step:(c)=>{if(n)n.push(c);s=o.next()}}),n)}),VE=(e)=>{let{onItem:t,step:r}=e;return(n,o,s)=>{let i=s?.start??0,c=s?.end??o.length,l=s?.concurrency??1,f=!1,m,p,x,b=!1,y,k,F=()=>{let H=!1;for(;!y&&i<c;i++){let te=o[i],ye=k??t(n,te,i);if($e(ye)){if(y=r(n,te,ye,i),y)break}else if(l===1)return S(Vn(ye),(de)=>(y=r(n,te,de,i),i++,y??F()??U));else if(!m)return Fe((de)=>{m=Ln(),k=ye,x=de;let ot=F();if(ot)return de(ot);return _(()=>(y=Ze,b=!0,p?pr(p):U))});else{k=void 0;let de=xr(m,ye,!0,!0,"inherit");if(de._exit){if(y=r(n,te,de._exit,i),y)break;continue}if(p)p.add(de);else p=new Set([de]);let ot=i;if(de.addObserver((st)=>{if(p.delete(de),y){if(!b&&st._tag==="Failure")for(let B of st.cause.reasons)if(B._tag==="Interrupt")continue;else if(y._tag==="Failure")y.cause.reasons.push(B);else y=ze(sr([B]))}else{let B=r(n,te,st,ot);if(B)y=B._tag==="Failure"?ze(sr(B.cause.reasons.slice())):B,F()}if(H){let B=F();if(B)x(B)}else if(f&&p.size===0)x(y??U)}),p.size<l)continue;H=!0,i++;return}}if(f=!0,y){if(p&&p.size>0){let te=ss(m);p.forEach((ye)=>ye.interruptUnsafe(m.id,te));return}if(x||y._tag==="Failure")return y}else if(x){if(!p)return Ze;else if(p.size===0)x(U)}};return F()}};var JE=VE({onItem(e,t,r){return e.f(t,r)},step(e,t,r,n){if(r._tag==="Failure")return r;else if(e.out)e.out[n]=r.value}}),Vc=u(3,(e,t,r)=>S(e,(n)=>t(n)?E(n):r(n))),Jc=u(3,(e,t,r)=>S(e,(n)=>{let o=t(n);return Y(o)?r(o.failure):E(o.success)})),vp=u((e)=>A(e[0]),(e,t,r)=>Jc(e,t,r?(n)=>W(r(n)):()=>W(new kt))),Rp=u((e)=>Et(e[0])&&!A(e[0]),(e,t,r)=>_(()=>{let n=[];return Ae(qe(e,(o,s)=>{let i=t(o,s);if(typeof i==="boolean"){if(i)n.push(o);return U}return $(i,(c)=>{if(c)n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),Ap=u((e)=>Et(e[0])&&!A(e[0]),(e,t)=>_(()=>{let r=[];for(let n of e){let o=t(n);if(ar(o))r.push(o.success)}return E(r)})),Tp=u((e)=>Et(e[0])&&!A(e[0]),(e,t,r)=>_(()=>{let n=[];return Ae(qe(e,(o)=>$(t(o),(s)=>{if(ar(s))n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),Op=E({}),Ip=Ju($),Pp=Ku($,S),_p=Vu($);var Fp=u((e)=>A(e[0]),(e,t)=>O((r)=>(fb(),E(xr(r,e,t?.startImmediately,!1,t?.uninterruptible??!1))))),xr=(e,t,r=!1,n=!1,o=!1)=>{let s=o==="inherit"?e.interruptible:!o,i=new hc(e.context,s);if(r)i.evaluate(t);else e.currentDispatcher.scheduleTask(()=>i.evaluate(t),0);if(!n&&!i._exit)e.children().add(i),i.addObserver(()=>e._children.delete(i));return i},Mp=u((e)=>A(e[0]),(e,t)=>O((r)=>E(xr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Up=(e)=>O((t)=>{let r=t._children&&Xe(t._children);return Oe(e,(n)=>{let o=t._children;if(o===void 0||o.size===0)return U;else if(r)o=lf(o,(s)=>!r.includes(s));return Hn(is(o))})}),Kc=u((e)=>A(e[0]),(e,t,r)=>O((n)=>{let o=xr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};rs(t,s,()=>ll((c)=>c===o.id?U:gc(o))),o.addObserver(()=>ap(t,s))}else o.interruptUnsafe(n.id,ss(n));return E(o)})),Np=u((e)=>A(e[0]),(e,t)=>S(Kn,(r)=>Kc(e,r,t))),It=(e)=>(t,r)=>{let n=new hc(r?.scheduler?Be(e,Un,r.scheduler):e,r?.uninterruptible!==!0);if(n.evaluate(t),n._exit)return n;if(r?.signal)if(r.signal.aborted)n.interruptUnsafe();else{let o=()=>n.interruptUnsafe();r.signal.addEventListener("abort",o,{once:!0}),n.addObserver(()=>r.signal.removeEventListener("abort",o))}if(r?.onFiberStart)r.onFiberStart(n);return n};var zp=It(_e()),Qc=(e)=>{let t=It(e);return(r,n)=>{let o=t(r,n);if(n?.onExit)o.addObserver(n.onExit);return(s)=>o.interruptUnsafe(s)}},Dp=Qc(_e()),ws=(e)=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise((s)=>{o.addObserver((i)=>s(i))})}},$p=ws(_e()),Yc=(e)=>{let t=ws(e);return(r,n)=>t(r,n).then((o)=>{if(o._tag==="Failure")throw os(o.cause);return o.value})},Lp=Yc(_e()),ks=(e)=>{let t=It(e);return(r)=>{if($e(r))return r;let n=new Qo("sync"),o=t(r,{scheduler:n});return o.currentDispatcher?.flush(),o._exit??wt(new ta(o))}},jp=ks(_e()),Gc=(e)=>{let t=ks(e);return(r)=>{let n=t(r);if(n._tag==="Failure")throw os(n.cause);return n.value}},Hp=Gc(_e()),Wf=E(!0),Vf=E(!1);class Bp{waiters=[];scheduled=!1;isOpen;constructor(e){this.isOpen=e}scheduleUnsafe(e){if(this.scheduled||this.waiters.length===0)return Wf;return this.scheduled=!0,e.currentDispatcher.scheduleTask(this.flushWaiters,0),Wf}flushWaiters=()=>{this.scheduled=!1;let e=this.waiters;this.waiters=[];for(let t=0;t<e.length;t++)e[t](Ze)};open=O((e)=>{if(this.isOpen)return Vf;return this.isOpen=!0,this.scheduleUnsafe(e)});release=O((e)=>this.isOpen?Vf:this.scheduleUnsafe(e));openUnsafe(){if(this.isOpen)return!1;return this.isOpen=!0,this.flushWaiters(),!0}await=Fe((e)=>{if(this.isOpen)return e(U);return this.waiters.push(e),C(()=>{let t=this.waiters.indexOf(e);if(t!==-1)this.waiters.splice(t,1)})});closeUnsafe(){if(!this.isOpen)return!1;return this.isOpen=!1,!0}close=C(()=>this.closeUnsafe());whenOpen=(e)=>S(this.await,()=>e)}var Xc=(e)=>new Bp(e??!1);var qp=O((e)=>E(e.getRef(Yo))),Wp=u(2,(e,t)=>Se(e,Yo,t)),Vp=Se(Xo),Jp=Se(Nn),cc=BigInt(0),KE={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:cc,endTime:cc,exit:Ze},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},QE=(e)=>Object.assign(Object.create(KE),e),Kp=(e)=>{if(!e)return re();return he(e.annotations,Wr)?e._tag==="Span"?Kp(cr(e.parent)):re():ue(e)},Zc=(e,t,r)=>{let n=!e.getRef(Xo)||r?.annotations&&he(r.annotations,Wr),o=r?.parent!==void 0?ue(r.parent):r?.root?re():Kp(e.currentSpan),s;if(n)s=QE({name:t,parent:o,annotations:Be(r?.annotations??_e(),Wr,!0)});else{let i=e.getRef(Yo),c=e.getRef(ht),l=e.getRef(Nn),f=e.getRef(zn),m=e.getRef(Dn),p=r?.level??e.getRef(Nf),x=r?.links!==void 0?[...m,...r.links]:m.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??_e(),links:x,startTime:l?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??In(o),sampled:r?.sampled??(zi(o)&&o.value.sampled===!1?!1:!cd(e.getRef(zf),p))});for(let[b,y]of Object.entries(f))s.attribute(b,y);if(r?.attributes!==void 0)for(let[b,y]of Object.entries(r.attributes))s.attribute(b,y)}return s},Qp=(e,t)=>O((r)=>E(Zc(r,e,t))),et=(e,t)=>gr(O((r)=>{let n=vt(r.context,mr),o=Zc(r,e,t??{}),s=r.getRef(ht),i=r.getRef(Nn);return Ae(mt(n,(c)=>GE(o,c,s,i)),o)})),Yp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return S(et(t,r),(o)=>Kr(n,o,r))}return(n)=>S(et(t,r),(o)=>Kr(n,o,r))},YE=(e,t)=>(t=typeof t==="function"?t:Je,Tt(Vr,(r)=>({name:e,stack:t,parent:r}))),Gp=zn,Xp=Dn,Zp=u((e)=>A(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map((s)=>({span:s,attributes:r}));return Tt(e,Dn,(s)=>[...s,...o])}),GE=(e,t,r,n)=>C(()=>{if(e.status._tag==="Ended")return;e.end(n?r.currentTimeNanosUnsafe():cc,t)}),$n=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return O((o)=>{let s=Zc(o,e,r),i=o.getRef(ht);return Oe(z(()=>n(s)),(c)=>C(()=>{if(s.status._tag==="Ended")return;s.end(i.currentTimeNanosUnsafe(),c)}))})},ac=Se(fr),Kr=function(){let e=A(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=R;if(t._tag==="Span")r=Wt(r),n=YE(t.name,r?.captureStackTrace);if(e)return ac(n(arguments[0]),t);return(o)=>ac(n(o),t)},ed=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(arguments[2]);if(e){let s=arguments[0];return $n(t,arguments[2],(i)=>Kr(s,i,r))}let n=typeof arguments[1]==="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>$n(t,n?n(...i):o,(c)=>Kr(s,c,r))},td=u((e)=>A(e[0]),(e,...t)=>Tt(e,zn,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),rd=(...e)=>O((t)=>{let r=t.currentSpanLocal;if(r)if(e.length===1)for(let[n,o]of Object.entries(e[0]))r.attribute(n,o);else r.attribute(e[0],e[1]);return U}),nd=O((e)=>{let t=e.currentSpanLocal;return t?E(t):W(new kt)}),od=DE(fr),ht=I("effect/Clock",{defaultValue:()=>new sd}),XE=2147483647;class sd{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=C(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return ZE()}currentTimeNanos=C(()=>this.currentTimeNanosUnsafe());sleep(e){let t=qr(e);if(t<=0)return Yr;return Fe((r)=>{if(t>XE)return;let n=setTimeout(()=>r(U),t);return C(()=>clearTimeout(n))})}}var Jf=function(){let e=BigInt(1e6);if(typeof performance>"u"||typeof performance.now>"u")return()=>BigInt(Date.now())*e;else if(typeof performance.timeOrigin==="number"&&performance.timeOrigin===0)return()=>BigInt(Math.round(performance.now()*1e6));let t=BigInt(Date.now())*e-BigInt(Math.round(performance.now()*1e6));return()=>t+BigInt(Math.round(performance.now()*1e6))}(),ZE=function(){let e=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!e)return Jf;let t=Jf()-e.bigint();return()=>t+e.bigint()}(),yr=(e)=>O((t)=>e(t.getRef(ht))),Er=(e)=>yr((t)=>t.sleep(De(e))),id=yr((e)=>e.currentTimeMillis);var uc="~effect/Cause/TimeoutError";class ea extends ir("TimeoutError"){[uc]=uc;constructor(e){super({message:e})}}var fc="~effect/Cause/AsyncFiberError";class ta extends ir("AsyncFiberError"){[fc]=fc;constructor(e){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:e})}}var lc="~effect/Cause/UnknownError";class vs extends ir("UnknownError"){[lc]=lc;constructor(e,t){super({message:t,cause:e})}}var ra=I("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),eb=(e)=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 50000;case"Error":return 40000;case"Warn":return 30000;case"Info":return 20000;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},tb=of(jr,eb),cd=sf(tb),na=I("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([ab,ub])}),rb=I("effect/Logger/LogToStderr",{defaultValue:Mr}),ad=function(){let e=typeof arguments[0]==="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return gr(O((t)=>{let r=t.getRef(Rt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];n[s]=i}return t.setContext(Be(t.context,Rt,n)),mt(vt(t.context,mr),(o)=>{let s=t.getRef(Rt),i={...s};for(let c=0;c<e.length;c++){let[l,f]=e[c];if(s[l]!==f)continue;if(l in r)i[l]=r[l];else delete i[l]}return t.setContext(Be(t.context,Rt,i)),U})}))},nb="~effect/Logger",ob={[nb]:{_Message:R,_Output:R},pipe(){return N(this,arguments)}},ud=(e)=>{let t=Object.create(ob);return t.log=e,t},sb=(e)=>e.replace(/[\s="]/g,"_"),ib=(e,t)=>`${sb(e[0])}=${t-e[1]}ms`;var tt=(e)=>(...t)=>{let r=void 0;for(let n=0,o=t.length;n<o;n++){let s=t[n];if(Sn(s)){if(r)t.splice(n,1);else t=t.slice(0,n).concat(t.slice(n+1));r=r?sr(r.reasons.concat(s.reasons)):s,n--}}if(r===void 0)r=Ri;return O((n)=>{let o=e??n.currentLogLevel;if(cd(n.minimumLogLevel,o))return U;let s=n.getRef(ht),i=n.getRef(na);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let l of i)l.log({cause:r,fiber:n,date:c,logLevel:o,message:t})}return U})};var lr={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},uA={None:[],All:[],Trace:[lr.gray],Debug:[lr.blue],Info:[lr.green],Warn:[lr.yellow],Error:[lr.red],Fatal:[lr.bgBrightRed,lr.black]};var cb=(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 ab=ud(({cause:e,date:t,fiber:r,logLevel:n,message:o})=>{let s=Array.isArray(o)?o.slice():[o];if(e.reasons.length>0)s.push(mc(e));let i=t.getTime(),c=r.getRef(Zo),l="";for(let x of c)l+=` ${ib(x,i)}`;let f=r.getRef(Rt);if(Object.keys(f).length>0)s.push(f);let m=r.getRef(ra);(r.getRef(rb)?m.error:m.log)(`[${cb(t)}] ${n.toUpperCase()} (#${r.id})${l}:`,...s)}),ub=ud(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(ht),s=t.getRef(Rt),i=t.currentSpan;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[l,f]of Object.entries(s))c[l]=f;if(c["effect.fiberId"]=t.id,c["effect.logLevel"]=r.toUpperCase(),e.reasons.length>0)c["effect.cause"]=mc(e);i.event(_u(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function fb(){oc.interruptChildren??=UE}var fd=E(void 0);var ld=u((e)=>A(e[0]),(e,t)=>Lc(e,(r)=>O((n)=>(lb(n,r,t?.defectsOnly),U)))),lb=(e,t,r)=>{let n=e.getRef(Lf);if(n.size===0)return;if(r&&!Yf(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(ht).currentTimeNanosUnsafe()};n.forEach((s)=>s.report(o))};var pd=ra,ce=(e)=>O((t)=>e(t.getRef(pd))),pb=(e,...t)=>ce((r)=>C(()=>{r.assert(e,...t)})),db=ce((e)=>C(()=>{e.clear()})),mb=(e)=>ce((t)=>C(()=>{t.count(e)})),hb=(e)=>ce((t)=>C(()=>{t.countReset(e)})),gb=(...e)=>ce((t)=>C(()=>{t.debug(...e)})),xb=(e,t)=>ce((r)=>C(()=>{r.dir(e,t)})),yb=(...e)=>ce((t)=>C(()=>{t.dirxml(...e)})),Eb=(...e)=>ce((t)=>C(()=>{t.error(...e)})),bb=(e)=>ce((t)=>hr(C(()=>{if(e?.collapsed)t.groupCollapsed(e.label);else t.group(e?.label)}),()=>C(()=>{t.groupEnd()}))),Sb=(...e)=>ce((t)=>C(()=>{t.info(...e)})),Cb=(...e)=>ce((t)=>C(()=>{t.log(...e)})),wb=(e,t)=>ce((r)=>C(()=>{r.table(e,t)})),kb=(e)=>ce((t)=>hr(C(()=>{t.time(e)}),()=>C(()=>{t.timeEnd(e)}))),vb=(e,...t)=>ce((r)=>C(()=>{r.timeLog(e,...t)})),Rb=(...e)=>ce((t)=>C(()=>{t.trace(...e)})),Ab=(...e)=>ce((t)=>C(()=>{t.warn(...e)})),Tb=u((e)=>A(e[0]),(e,t)=>ce((r)=>Qn(C(()=>{if(t?.collapsed)r.groupCollapsed(t.label);else r.group(t?.label)}),()=>e,()=>C(()=>{r.groupEnd()})))),Ob=u((e)=>A(e[0]),(e,t)=>ce((r)=>Qn(C(()=>{r.time(t)}),()=>e,()=>C(()=>{r.timeEnd(t)}))));var Ve={};hn(Ve,{taggedEnum:()=>Pb,TaggedError:()=>rt,TaggedClass:()=>Ib,Error:()=>Fb,Class:()=>dd});var dd=class extends vu{constructor(e){super();if(e)Object.assign(this,e)}},Ib=(e)=>class extends dd{_tag=e},Pb=()=>new Proxy({},{get(e,t,r){if(t==="$is")return it;else if(t==="$match")return _b;return(n)=>({...n,_tag:t})}});function _b(){if(arguments.length===1){let r=arguments[0];return function(n){return r[n._tag](n)}}let e=arguments[0];return arguments[1][e._tag](e)}var Fb=Ti,rt=ir;var a={};hn(a,{zipWith:()=>aC,zip:()=>hm,yieldNowWith:()=>tC,yieldNow:()=>lm,withTracerTiming:()=>gw,withTracerEnabled:()=>hw,withTracer:()=>mw,withSpanScoped:()=>Rw,withSpan:()=>vw,withParentSpan:()=>Na,withLogger:()=>Jw,withLogSpan:()=>Yw,withFiber:()=>co,withExecutionPlan:()=>AC,withErrorReporting:()=>TC,withConcurrency:()=>GC,whileLoop:()=>Ns,when:()=>LC,void:()=>io,validate:()=>VS,useSpan:()=>Ua,updateService:()=>QC,updateContext:()=>_a,unwrapReason:()=>lC,uninterruptibleMask:()=>fn,uninterruptible:()=>Dm,undefined:()=>YS,txRetry:()=>ik,tx:()=>rk,tryPromise:()=>gt,try:()=>cn,transposeOption:()=>nC,trackSuccesses:()=>Xw,trackErrors:()=>Zw,trackDuration:()=>tk,trackDefects:()=>ek,track:()=>Gw,tracer:()=>dw,timeoutOrElse:()=>FC,timeoutOption:()=>_C,timeout:()=>PC,timed:()=>MC,tapErrorTag:()=>EC,tapError:()=>Bs,tapDefect:()=>Sm,tapCauseIf:()=>bC,tapCauseFilter:()=>SC,tapCause:()=>bm,tap:()=>ao,sync:()=>_t,suspend:()=>Pt,succeedSome:()=>am,succeedNone:()=>cm,succeed:()=>Ce,spanLinks:()=>Cw,spanAnnotations:()=>Sw,sleep:()=>Pa,serviceOption:()=>Pm,service:()=>Im,scopedWith:()=>Fm,scoped:()=>_m,scope:()=>Fa,scheduleFrom:()=>Lm,schedule:()=>pw,satisfiesSuccessType:()=>ak,satisfiesServicesType:()=>fk,satisfiesErrorType:()=>uk,sandbox:()=>kC,runSyncWith:()=>Nw,runSyncExitWith:()=>Dw,runSyncExit:()=>zw,runSync:()=>Xt,runPromiseWith:()=>Bm,runPromiseExitWith:()=>qm,runPromiseExit:()=>Uw,runPromise:()=>ja,runForkWith:()=>Hm,runFork:()=>La,runCallbackWith:()=>Fw,runCallback:()=>Mw,retryOrElse:()=>wC,retry:()=>Cm,result:()=>sC,requestUnsafe:()=>Tw,request:()=>Aw,replicateEffect:()=>lw,replicate:()=>fw,repeatOrElse:()=>uw,repeat:()=>$m,raceFirst:()=>km,raceAllFirst:()=>UC,raceAll:()=>wm,race:()=>NC,provideServiceEffect:()=>YC,provideService:()=>Vs,provideContext:()=>Ws,provide:()=>KC,promise:()=>zs,partition:()=>WS,orElseSucceed:()=>OC,orDie:()=>yC,option:()=>iC,onInterrupt:()=>Js,onExitPrimitive:()=>Nm,onExitIf:()=>rw,onExitFilter:()=>nw,onExit:()=>un,onErrorIf:()=>ew,onErrorFilter:()=>tw,onError:()=>fo,never:()=>Ra,matchEffect:()=>Om,matchEager:()=>HC,matchCauseEffectEager:()=>WC,matchCauseEffect:()=>an,matchCauseEager:()=>qC,matchCause:()=>BC,match:()=>jC,mapErrorEager:()=>pk,mapError:()=>Em,mapEager:()=>lk,mapBothEager:()=>dk,mapBoth:()=>xC,map:()=>Ue,makeSpanScoped:()=>kw,makeSpan:()=>jm,logWithLevel:()=>Wm,logWarning:()=>Hw,logTrace:()=>Vw,logInfo:()=>qw,logFatal:()=>jw,logError:()=>Bw,logDebug:()=>Ww,log:()=>Lw,linkSpans:()=>ww,let:()=>ZS,isSuccess:()=>JC,isFailure:()=>VC,isEffect:()=>Ar,interruptibleMask:()=>cw,interruptible:()=>iw,interrupt:()=>zm,ignoreCause:()=>RC,ignore:()=>vC,gen:()=>Aa,fromResult:()=>pm,fromOption:()=>rC,fromNullishOr:()=>oC,forkScoped:()=>$a,forkIn:()=>Da,forkDetach:()=>Ow,forkChild:()=>za,forever:()=>Ks,forEach:()=>QS,fnUntracedEager:()=>hk,fnUntraced:()=>po,fn:()=>$w,flip:()=>cC,flatten:()=>dm,flatMapEager:()=>Vm,flatMap:()=>fe,firstSuccessOf:()=>IC,findFirstFilter:()=>KS,findFirst:()=>JS,filterOrFail:()=>Tm,filterOrElse:()=>Am,filterMapOrFail:()=>$C,filterMapOrElse:()=>DC,filterMapEffect:()=>Rm,filterMap:()=>zC,filter:()=>vm,fiberId:()=>_w,fiber:()=>Pw,failSync:()=>um,failCauseSync:()=>fm,failCause:()=>Tr,fail:()=>Gt,exit:()=>Ta,eventually:()=>CC,ensuring:()=>Um,effectify:()=>ck,die:()=>Ds,delay:()=>Ia,currentSpan:()=>Ew,currentParentSpan:()=>bw,contextWith:()=>uo,context:()=>qs,clockWith:()=>Ha,catchTags:()=>xm,catchTag:()=>gm,catchReasons:()=>fC,catchReason:()=>uC,catchNoSuchElement:()=>mC,catchIf:()=>pC,catchFilter:()=>dC,catchEager:()=>mk,catchDefect:()=>ym,catchCauseIf:()=>hC,catchCauseFilter:()=>gC,catchCause:()=>Hs,catch:()=>js,callback:()=>va,cachedWithTTL:()=>ow,cachedInvalidateWithTTL:()=>sw,cached:()=>lo,bindTo:()=>XS,bind:()=>eC,awaitAllChildren:()=>Iw,asVoid:()=>Ls,asSome:()=>mm,as:()=>Oa,annotateSpans:()=>xw,annotateLogsScoped:()=>Qw,annotateLogs:()=>Kw,annotateCurrentSpan:()=>yw,andThen:()=>$s,all:()=>qS,addFinalizer:()=>Mm,acquireUseRelease:()=>ZC,acquireRelease:()=>Ma,acquireDisposable:()=>XC,abortSignal:()=>aw,TypeId:()=>BS,Transaction:()=>so,Do:()=>GS});var md=ie,hd=ze;var gd=vc;var Le={};hn(Le,{withSpan:()=>lS,withParentSpan:()=>aa,updateService:()=>Nd,unwrap:()=>ca,tapError:()=>Gb,tapCause:()=>Xb,tap:()=>Yb,syncContext:()=>ia,sync:()=>Wb,suspend:()=>Jb,succeedContext:()=>wr,succeed:()=>_d,span:()=>fS,satisfiesSuccessType:()=>cS,satisfiesServicesType:()=>uS,satisfiesErrorType:()=>aS,provideMerge:()=>Qb,provide:()=>tn,parentSpan:()=>zd,orDie:()=>Zb,mock:()=>sS,mergeAll:()=>Is,merge:()=>Kb,makeMemoMapUnsafe:()=>rn,makeMemoMap:()=>Hb,launch:()=>oS,isLayer:()=>Ts,fromBuildMemo:()=>Os,fromBuild:()=>Qt,fresh:()=>nS,forkMemoMapUnsafe:()=>Id,forkMemoMap:()=>Bb,flatMap:()=>Ud,empty:()=>qb,effectDiscard:()=>Vb,effectContext:()=>la,effect:()=>nn,catchTag:()=>tS,catchCause:()=>rS,catch:()=>eS,buildWithScope:()=>fa,buildWithMemoMap:()=>Xn,build:()=>Pd,CurrentMemoMap:()=>en});var Mb="~effect/Deferred";var Ub={[Mb]:{_A:R,_E:R},pipe(){return N(this,arguments)}},yd=()=>{let e=Object.create(Ub);return e.resumes=void 0,e.effect=void 0,e};var Ed=(e)=>Fe((t)=>{if(e.effect)return t(e.effect);return e.resumes??=[],e.resumes.push(t),C(()=>{let r=e.resumes.indexOf(t);e.resumes.splice(r,1)})});var Nb=u(2,(e,t)=>C(()=>zb(e,t))),bd=Nb;var zb=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){for(let r=0;r<e.resumes.length;r++)e.resumes[r](t);e.resumes=void 0}return!0};var Sd=Rt;var Cd=Zo,wd=Vr;var Rs=mr;var Gn=Jn,br=up,kd=mt,oa=cp;var Sr=ip,Cr=zc;var Od="~effect/Layer",vd="~effect/Layer/MemoMap",$b=(e,t)=>(e.observers++,We(mt(t,(r)=>e.finalizer(r)),e.effect)),Ts=(e)=>T(e,Od),Lb={[Od]:{_ROut:R,_E:R,_RIn:R},pipe(){return N(this,arguments)}},kr=(e)=>{let t=Object.create(Lb);return t.build=e,t},Qt=(e)=>kr((t,r)=>{let n=Sr(r);return Oe(e(t,n),(o)=>o._tag==="Failure"?Cr(n,o):U)}),Os=(e)=>{let t=Qt((r,n)=>r.getOrElseMemoize(t,n,e));return t},jb=(e,t,r,n)=>{let o=Gn(),s=yd(),i={observers:1,effect:Ed(s),finalizer:(c)=>_(()=>{if(i.observers--,i.observers===0)return e.map.delete(t),Cr(o,c);return U})};return e.map.set(t,i),mt(r,i.finalizer).pipe(S(()=>n(e,o)),Oe((c)=>(i.effect=c,bd(s,c))))};class ua{get[vd](){return vd}parent;constructor(e){this.parent=e}map=new Map;get(e,t){let r=this.map.get(e);if(r)return $b(r,t);return this.parent?.get(e,t)}getOrElseMemoize(e,t,r){let n=this.get(e,t);if(n)return n;return jb(this,e,t,r)}}var rn=()=>new ua,Id=(e)=>new ua(e),Hb=C(rn),Bb=(e)=>C(()=>Id(e));class en extends ve()("effect/Layer/CurrentMemoMap"){static getOrCreate=qi(this,rn)}var Xn=u(3,(e,t,r)=>Se($(e.build(t,r),Be(en,t)),en,t)),Pd=(e)=>O((t)=>Xn(e,en.getOrCreate(t.context),vt(t.context,Rs))),fa=u(2,(e,t)=>O((r)=>Xn(e,en.getOrCreate(r.context),t))),_d=function(){if(arguments.length===1)return(e)=>wr(ft(arguments[0],e));return wr(ft(arguments[0],arguments[1]))},wr=(e)=>kr(ne(E(e))),qb=wr(_e()),Wb=function(){if(arguments.length===1)return(e)=>ia(()=>ft(arguments[0],e()));return ia(()=>ft(arguments[0],arguments[1]()))},ia=(e)=>Os(ne(C(e))),nn=function(){if(arguments.length===1)return(e)=>Rd(arguments[0],e);return Rd(arguments[0],arguments[1])},Rd=(e,t)=>la($(t,(r)=>ft(e,r))),la=(e)=>Os((t,r)=>br(e,r)),Vb=(e)=>la(Ae(e,_e())),Jb=(e)=>Os((t,r)=>_(()=>e().build(t,r))),ca=(e)=>{let t=ve("effect/Layer/unwrap");return Ud(nn(t)(e),he(t))},Fd=(e,t,r)=>{let n=Sr(r,"parallel");return qe(e,(o)=>o.build(t,Sr(n,"sequential")),{concurrency:e.length}).pipe($((o)=>Ji(...o)))},Is=(...e)=>Qt((t,r)=>Fd(e,t,r)),Kb=u(2,(e,t)=>Is(e,...Array.isArray(t)?t:[t])),Md=(e,t,r)=>Qt((n,o)=>S(Array.isArray(t)?Fd(t,n,o):t.build(n,o),(s)=>e.build(n,o).pipe(Ot(s),$((i)=>r(i,s))))),tn=u(2,(e,t)=>Md(e,t,R)),Qb=u(2,(e,t)=>Md(e,t,(r,n)=>qt(n,r))),Ud=u(2,(e,t)=>Qt((r,n)=>S(e.build(r,n),(o)=>t(o).build(r,n)))),Yb=u(2,(e,t)=>Qt((r,n)=>S(e.build(r,n),(o)=>br(Ae(t(o),o),n)))),Gb=u(2,(e,t)=>Qt((r,n)=>Te(e.build(r,n),(o)=>br(We(t(o),W(o)),n)))),Xb=u(2,(e,t)=>Qt((r,n)=>Me(e.build(r,n),(o)=>br(We(t(o),V(o)),n)))),Zb=(e)=>kr((t,r)=>gs(e.build(t,r))),eS=u(2,(e,t)=>kr((r,n)=>Te(e.build(r,n),(o)=>t(o).build(r,n))));var tS=u(3,(e,t,r)=>kr((n,o)=>hs(e.build(n,o),t,(s)=>r(s).build(n,o)))),rS=u(2,(e,t)=>kr((r,n)=>Me(e.build(r,n),(o)=>t(o).build(r,n)))),Nd=u(3,(e,t,r)=>tn(e,nn(t,$(t,r)))),nS=(e)=>kr((t,r)=>e.build(rn(),r)),oS=(e)=>Es(We(Pd(e),as)),sS=function(){if(arguments.length===1)return(e)=>Ad(arguments[0],e);return Ad(arguments[0],arguments[1])},Ad=(e,t)=>_d(e)(new Proxy({...t},{get(r,n,o){if(n in r)return r[n];let s=Error.stackTraceLimit;Error.stackTraceLimit=2;let i=Error(`${e.key}: Unimplemented method "${n.toString()}"`);return Error.stackTraceLimit=s,i.name="UnimplementedError",iS(i)},has:Ne})),iS=(e)=>{let t=Object.assign(At(e),{[Td]:Td,channel:{[As]:As,transform:()=>E(t),pipe(){return N(this,arguments)}},[As]:As,transform:()=>E(t)});function r(){return t}return Object.assign(r,t),Object.setPrototypeOf(r,Object.getPrototypeOf(t)),r},Td="~effect/Stream",As="~effect/Channel",cS=()=>(e)=>e,aS=()=>(e)=>e,uS=()=>(e)=>e,fS=(e,t)=>(t=Wt(t),nn(fr,t?.onEnd?dt(et(e,t),(r)=>Xr((n)=>t.onEnd(r,n))):et(e,t))),zd=(e)=>wr(fr.context(e)),lS=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return ca($(r?.onEnd!==void 0?dt(et(t,r),(o)=>Xr((s)=>r.onEnd(o,s))):et(t,r),(o)=>aa(n,o)))}return(n)=>ca($(r?.onEnd!==void 0?dt(et(t,r),(o)=>Xr((s)=>r.onEnd(o,s))):et(t,r),(o)=>aa(n,o)))},aa=function(){let e=Ts(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=R;if(t._tag==="Span")r=Wt(r),n=pS(t.name,r?.captureStackTrace);let o=zd(t);if(e)return tn(n(arguments[0]),o);return(s)=>tn(n(s),o)},pS=(e,t)=>(t=typeof t==="function"?t:Je,Nd(wd,(r)=>({name:e,stack:t,parent:r})));var Dd="~effect/ExecutionPlan";var dS={[Dd]:Dd,get captureRequirements(){let e=this;return Jt((t)=>E(mS(e.steps.map((r)=>({...r,provide:Ts(r.provide)?tn(r.provide,wr(t)):r.provide})))))},pipe(){return N(this,arguments)}},mS=(e)=>{let t=Object.create(dS);return t.steps=e,t};var $d=I("effect/ExecutionPlan/CurrentMetadata",{defaultValue:ne({attempt:0,stepIndex:0})});var Ld=os;var Ps=pt;var pa=dc;var _s=Tn;var vr=Bu;var eo=u(2,(e,t)=>Gr(e,gS,(r)=>t(r)));var da=Yi(Ps,(e)=>_s(e)?ke(e):me(e));var gS=Yi(Ps,(e)=>_s(e)?ke(e.value):me(e)),jd=(e)=>{let t=da(e);return!Y(t)?md(t.success.value):hd(t.failure)},ma=u(2,(e,t)=>lt(e,{onSuccess:t.onSuccess,onFailure:(r)=>{let n=da(r);return!Y(n)?t.onDone(n.success.value):t.onFailure(n.failure)}}));var Hd="~effect/Schedule";var Rr=I("effect/Schedule/CurrentMetadata",{defaultValue:ne({input:void 0,output:void 0,duration:Hr,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),xS={[Hd]:{_Out:R,_In:R,_Env:R},pipe(){return N(this,arguments)}},ga=(e)=>T(e,Hd),xa=(e)=>{let t=Object.create(xS);return t.step=e,t},ya=()=>{let e=0,t,r;return(n,o)=>{if(r===void 0)r=n;let s=n-r,i=t===void 0?0:n-t;return t=n,{input:o,attempt:++e,start:r,now:n,elapsed:s,elapsedSincePrevious:i}}},yS=(e)=>xa($(e,(t)=>{let r=ya();return(n,o)=>t(r(n,o))})),Ea=(e)=>Me(e.step,(t)=>E(()=>V(t))),Fs=(e)=>yr((t)=>$(Ea(e),(r)=>{let n=ya();return(o)=>_(()=>{let s=t.currentTimeMillisUnsafe();return S(r(s,o),([i,c])=>{let l=n(s,o);return l.output=i,l.duration=c,Ae(Er(c),l)})})}));var ba=(e)=>xa($(Ea(e),(t)=>(r,n)=>ma(t(r,n),{onSuccess:(o)=>E([n,o[1]]),onFailure:V,onDone:()=>vr(n)}))),Bd=(e)=>to(Sa,({attempt:t})=>E(t<=e));var ES=(e)=>{let t=De(e);return yS(E((r)=>E([r.attempt-1,t])))};var to=u(2,(e,t)=>xa($(Ea(e),(r)=>{let n=ya();return(o,s)=>S(r(o,s),(i)=>{let[c,l]=i,f=t({...n(o,s),output:c,duration:l});return S(A(f)?f:E(f),(m)=>m?E(i):vr(c))})})));var Sa=ES(Hr);var bS=(e,t,r)=>bs((n)=>S(r?.local?Xn(t,rn(),n):fa(t,n),(o)=>Ot(e,o))),Ms=u((e)=>A(e[0]),(e,t,r)=>qo(t)?Ot(e,t):bS(e,Array.isArray(t)?Is(...t):t,r));var Ca=u(3,(e,t,r)=>S(Fs(t),(n)=>{let o=Rr.defaultValue();return Te(ps(dt(S(_(()=>Se(e,Rr,o)),n),(s)=>C(()=>{o=s})),{disableYield:!0}),(s)=>Tn(s)?E(s.value):r(s,o.attempt===0?re():ue(o)))})),wa=u(3,(e,t,r)=>S(Fs(t),(n)=>{let o=Rr.defaultValue(),s,i=Te(_(()=>Se(e,Rr,o)),(c)=>(s=c,S(n(c),(l)=>(o=l,i))));return eo(i,(c)=>z(()=>r(s,c)))})),Vd=u(2,(e,t)=>{let r=typeof t==="function"?t(R):ga(t)?t:no(t);return Ca(e,r,W)}),ro=u(2,(e,t)=>{let r=typeof t==="function"?t(R):ga(t)?t:no(t);return wa(e,r,W)}),Jd=u(3,(e,t,r)=>S(Fs(r),(n)=>{let o=Rr.defaultValue(),s=_(()=>Se(e,Rr,o));return Te(S(n(t),(i)=>{o=i;let c=ne(S(s,n));return Kt({while:Ne,body:c,step(l){o=l}})}),(i)=>Tn(i)?E(i.value):W(i))})),SS=ba(Sa),no=(e)=>{let t=e.schedule?ba(e.schedule):SS;if(e.while)t=to(t,({input:r})=>{let n=e.while(r);return A(n)?n:E(n)});if(e.until)t=to(t,({input:r})=>{let n=e.until(r);return A(n)?$(n,(o)=>!o):E(!n)});if(e.times!==void 0)t=to(t,({attempt:r})=>E(r<=e.times));return t};var Yd=u(2,(e,t)=>_(()=>{let r=0,n={attempt:0,stepIndex:0},o=ls($d,C(()=>(n={attempt:n.attempt+1,stepIndex:r},n))),s;return S(Kt({while:()=>r<t.steps.length&&(s===void 0||Y(s)),body(){let i=t.steps[r],c=o(Ms(e,i.provide));if(s){let l=!1,f=c;c=_(()=>{if(l)return f;return l=!0,Qr(s)}),c=ro(c,Qd(i,!1))}else{let l=Qd(i,!0);c=l?ro(c,l):c}return Vt(c)},step(i){s=i,r++}}),()=>Qr(s))})),Qd=(e,t)=>{if(!t)return no({schedule:e.schedule?e.schedule:e.attempts?void 0:CS,times:e.attempts,while:e.while});else if(e.attempts===1||!(e.schedule||e.attempts))return;return no({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},CS=Bd(1);var kS="~effect/Request",vS=Ou({_E:(e)=>e,_A:(e)=>e,_R:(e)=>e}),CT={...Uu,[kS]:vS};var Gd=(e)=>e;var Zd=u(2,(e,t)=>{let r=(n)=>Fe((o)=>{let s=tm(n,e,o,Ln());return RS(n,s)});return A(t)?S(t,r):r(t)}),em=(e,t)=>{let r=tm(t.resolver,e,t.onExit,{context:t.context,currentScheduler:he(t.context,Un)});return()=>rm(t.resolver,r)},Us=[],ka=new WeakMap,tm=(e,t,r,n)=>{let o=ka.get(e);if(!o)o=new Map,ka.set(e,o);let s,i=!1,c=Gd({request:t,context:n.context,uninterruptible:!1,completeUnsafe(f){if(i)return;i=!0,r(f),s?.entrySet.delete(c)}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let l=e.batchKey(c);if(s=o.get(l),!s){if(Us.length>0)s=Us.pop(),s.key=l,s.resolver=e,s.map=o;else{let f={key:l,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:S(_(()=>f.resolver.delay),(m)=>Xd(f)),run:Oe(_(()=>f.resolver.runAll(Array.from(f.entries),f.key)),(m)=>{for(let p of f.entrySet)p.completeUnsafe(m._tag==="Success"?wt(Error("Effect.request: RequestResolver did not complete request",{cause:p.request})):m);if(f.entries.clear(),Us.length<128)f.entrySet.clear(),f.key=void 0,f.fiber=void 0,f.resolver=void 0,f.map=void 0,Us.push(f);return U})};s=f}o.set(l,s),s.fiber=It(n.context)(s.delayEffect,{scheduler:n.currentScheduler})}if(s.entrySet.add(c),s.entries.add(c),s.resolver.collectWhile(s.entries))return c;return s.fiber.interruptUnsafe(n.id),s.fiber=It(n.context)(Xd(s),{scheduler:n.currentScheduler}),c},rm=(e,t)=>{if(t.uninterruptible)return;let r=ka.get(e);if(!r)return;let n=e.batchKey(t.request),o=r.get(n);if(!o)return;if(o.entries.delete(t),o.entrySet.delete(t),o.entries.size===0)r.delete(n),o.fiber?.interruptUnsafe()},RS=(e,t)=>C(()=>rm(e,t));function Xd(e){if(!e.map.has(e.key))return U;return e.map.delete(e.key),e.run}var OS="effect/Metric/CurrentMetricAttributes",IS=I(OS,{defaultValue:()=>({})}),PS="~effect/observability/Metric/MetricRegistryKey",_S=I(PS,{defaultValue:()=>new Map}),nm="~effect/observability/Metric";class on{[nm]=nm;#e=new WeakMap;#t;id;description;attributes;constructor(e,t,r){this.id=e,this.description=t,this.attributes=r}valueUnsafe(e){return this.hook(e).get(e)}modifyUnsafe(e,t){return this.hook(t).modify(e,t)}updateUnsafe(e,t){return this.hook(t).update(e,t)}hook(e){let t=he(e,IS);if(Object.keys(t).length===0){if(yt(this.#t))return this.#t.hooks;return this.#t=this.getOrCreate(e,this.attributes),this.#t.hooks}let r=jS(this.attributes,t),n=this.#e.get(r);if(yt(n))return n.hooks;return n=this.getOrCreate(e,r),this.#e.set(r,n),n.hooks}getOrCreate(e,t){let r=DS(this,t),n=he(e,_S);if(n.has(r))return n.get(r);let o=this.createHooks(),s={id:this.id,type:this.type,description:this.description,attributes:Yt(t),hooks:o};return n.set(r,s),s}pipe(){return N(this,arguments)}}var om=BigInt(0);class FS extends on{type="Counter";#e;#t;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.bigint??!1,this.#t=t?.incremental??!1}createHooks(){let e=this.#e?om:0,t=this.#t?this.#e?(n)=>n>=om:(n)=>n>=0:(n)=>!0;return oo(()=>({count:e,incremental:this.#t}),(n)=>{if(t(n))e=e+n})}}class MS extends on{type="Gauge";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.bigint??!1}createHooks(){let e=this.#e?BigInt(0):0;return oo(()=>({value:e}),(n)=>{e=n},(n)=>{e=e+n})}}class US extends on{type="Frequency";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.preregisteredWords}createHooks(){let e=new Map;if(yt(this.#e))for(let r of this.#e)e.set(r,0);return oo(()=>({occurrences:e}),(r)=>{let n=e.get(r)??0;e.set(r,n+1)})}}class NS extends on{type="Histogram";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t.boundaries}createHooks(){let e=this.#e,t=e.length,r=new Uint32Array(t+1),n=new Float64Array(t),o=0,s=0,i=Number.MAX_VALUE,c=Number.MIN_VALUE;ji(Lo(e,jr),(m,p)=>{n[p]=m});let l=(m)=>{let p=0,x=t;while(p!==x){let b=Math.floor(p+(x-p)/2),y=n[b];if(m<=y)x=b;else p=b;if(x===p+1)if(m<=n[p])x=p;else p=x}if(r[p]=r[p]+1,o=o+1,s=s+m,m<i)i=m;if(m>c)c=m},f=()=>{let m=Di(t),p=0;for(let x=0;x<t;x++){let b=n[x],y=r[x];p=p+y,m[x]=[b,p]}return m};return oo(()=>({buckets:f(),count:o,min:i,max:c,sum:s}),l)}}class zS extends on{type="Summary";#e;#t;#r;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=Math.max(qr(De(t.maxAge)),0),this.#t=t.maxSize,this.#r=t.quantiles}createHooks(){let e=Lo(this.#r,jr),t=Di(this.#t);for(let p of this.#r)if(p<0||p>1)throw Error(`Quantile must be between 0 and 1, found: ${p}`);let r=0,n=0,o=0,s=Number.MAX_VALUE,i=Number.MIN_VALUE,c=(p)=>{let x=[],b=0;while(b<this.#t){let F=t[b];if(yt(F)){let[H,te]=F,ye=p-H;if(ye>=0&&ye<=this.#e)x.push(te)}b=b+1}let y=Lo(x,jr),k=y.length;if(k===0)return e.map((F)=>[F,void 0]);return e.map((F)=>{if(F<=0)return[F,y[0]];if(F>=1)return[F,y[k-1]];let H=Math.ceil(F*k)-1;return[F,y[H]]})},l=(p,x)=>{if(this.#t>0){let b=r%this.#t;t[b]=[x,p],r=r+1}if(n=n+1,o=o+p,p<s)s=p;if(p>i)i=p};return oo((p)=>{let x=he(p,ht);return{quantiles:c(x.currentTimeMillisUnsafe()),count:n,min:s,max:i,sum:o}},([p,x])=>l(p,x))}}var sn=u(2,(e,t)=>Jt((r)=>C(()=>e.updateUnsafe(t,r))));function DS(e,t){let r=`${e.type}:${e.id}`;if(yt(e.description))r+=`:${e.description}`;if(yt(t))r+=`:${$S(t)}`;return r}function oo(e,t,r){return{get:e,update:t,modify:r??t}}function $S(e){return LS(Array.isArray(e)?e:Object.entries(e))}function LS(e){return e.map(([t,r])=>`${t}=${r}`).join(",")}function jS(e,t){return{...Yt(e),...Yt(t)}}function Yt(e){if(yt(e)&&Array.isArray(e))return e.reduce((t,[r,n])=>(t[r]=n,t),{});return e}var BS=ut,Ar=A,qS=Cs,WS=Wc,VS=bp,JS=Sp,KS=wp,QS=qe,Ns=Kt,zs=Ec,gt=fl,Ce=E,cm=jn,am=yc,Pt=_,_t=C,io=U;var YS=fd;var va=Fe,Ra=as,GS=Op,XS=Ip,ZS=_p;var eC=Pp,Aa=ml,Gt=W,um=cs,Tr=V,fm=al,Ds=At,cn=ul;var lm=Yr,tC=xc,co=O,pm=Qr,rC=sl,nC=cl,oC=il,fe=S,dm=Cl,$s=We,ao=dt,sC=Vt,iC=Xl,Ta=Vn,Ue=$,Oa=Ae,mm=us,Ls=Hn,cC=xl,hm=Ac,aC=Tc,js=Te;var gm=hs,xm=ql,uC=Wl,fC=Vl,lC=Jl,Hs=Me,ym=$l,pC=qn,dC=ms,mC=Dl,hC=Ic,gC=Gr,Em=_c,xC=Fc,yC=gs,Bs=Pc,EC=Hl,bm=Ll,bC=jl,SC=ds,Sm=Bl,CC=Mc,Cm=ro,wC=wa,kC=yl,vC=Yl,RC=Gl,AC=Yd,TC=ld,OC=Kl,IC=Ql,PC=np,_C=op,FC=Nc,Ia=rp,Pa=Er,MC=sp,wm=wc,UC=kc,NC=El,km=fs,vm=Rp,zC=Ap,Rm=Tp,Am=Vc,DC=Jc,Tm=Ul,$C=vp,LC=Nl,jC=xs,HC=Wn,BC=Uc,qC=Zl,WC=bl,an=lt,Om=dr,VC=ep,JC=tp,qs=Rc,uo=Jt,KC=Ms,Ws=Ot,Im=_l,Pm=Fl,_a=Bn,QC=Tt,Vs=Se,YC=ls,GC=Ml,Fa=Kn,_m=Es,Fm=bs,Ma=hr,XC=dp,ZC=Qn,Mm=Xr,Um=fp,fo=Lc,ew=lp,tw=jc,Nm=Zr,un=Oe,rw=Dc,nw=$c,lo=mp,ow=Bc,sw=Hc,zm=hp,iw=qc,Js=pp,Dm=gr,fn=Yn,cw=yp,aw=Ep,Ks=ps,$m=Vd,uw=Ca,fw=Oc,lw=zl,pw=u(2,(e,t)=>Lm(e,void 0,t)),Lm=Jd,dw=qp,mw=Wp,hw=Vp,gw=Jp,xw=td,yw=rd,Ew=nd,bw=od,Sw=Gp,Cw=Xp,ww=Zp,jm=Qp,kw=et,Ua=$n,vw=ed,Rw=Yp,Na=Kr,Aw=Zd,Tw=em,za=Fp,Da=Kc,$a=Np,Ow=Mp,Iw=Up,Pw=pl,_w=dl,La=zp,Hm=It,Fw=Qc,Mw=Dp,ja=Lp,Bm=Yc,Uw=$p,qm=ws,Xt=Hp,Nw=Gc,zw=jp,Dw=ks,po=Sc,$w=hl,Ha=yr,Wm=tt,Lw=tt(),jw=tt("Fatal"),Hw=tt("Warn"),Bw=tt("Error"),qw=tt("Info"),Ww=tt("Debug"),Vw=tt("Trace"),Jw=u(2,(e,t)=>Tt(e,na,(r)=>new Set([...r,t]))),Kw=u((e)=>Ar(e[0]),(e,...t)=>Tt(e,Sd,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),Qw=ad,Yw=u(2,(e,t)=>S(id,(r)=>Tt(e,Cd,(n)=>[[t,r],...n]))),Gw=u((e)=>Ar(e[0]),(e,t,r)=>un(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return sn(t,o)})),Xw=u((e)=>Ar(e[0]),(e,t,r)=>ao(e,(n)=>{let o=r===void 0?n:r(n);return sn(t,o)})),Zw=u((e)=>Ar(e[0]),(e,t,r)=>Bs(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return sn(t,o)})),ek=u((e)=>Ar(e[0]),(e,t,r)=>Sm(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return sn(t,o)})),tk=u((e)=>Ar(e[0]),(e,t,r)=>Ha((n)=>{let o=n.currentTimeNanosUnsafe();return un(e,()=>{let s=n.currentTimeNanosUnsafe(),i=Of(De(s),De(o)),c=r===void 0?i:z(()=>r(i));return sn(t,c)})}));class so extends ve()("effect/Effect/Transaction"){}var rk=(e)=>co((t)=>{if(t.context.mapUnsafe.has(so.key))return e;let r={journal:new Map,retry:!1},n;return fn((o)=>fe(Ns({while:()=>!n,body:ne(o(e).pipe(Vs(so,r),bm(()=>{if(!r.retry)return io;return o(ok(r))}),Ta)),step(s){if(r.retry||!nk(r))return im(r);if(gd(s))sk(t,r);else im(r);n=s}}),()=>n))}),nk=(e)=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},ok=(e)=>Pt(()=>{let t={},r=Array.from(e.journal.keys()),n=()=>{for(let o of r)o.pending.delete(t)};return va((o)=>{let s=()=>{n(),o(io)};for(let i of r)i.pending.set(t,s);return _t(n)})});function sk(e,t){for(let[r,{value:n}]of t.journal){if(n!==r.value)r.version=r.version+1,r.value=n;for(let o of r.pending.values())e.currentDispatcher.scheduleTask(o,0);r.pending.clear()}}function im(e){e.retry=!1,e.journal.clear()}var ik=fe(so,(e)=>(e.retry=!0,zm)),ck=(e,t,r)=>(...n)=>va((o)=>{try{e(...n,(s,i)=>{if(s)o(Gt(t?t(s,n):s));else o(Ce(i))})}catch(s){o(r?Gt(r(s,n)):Ds(s))}}),ak=()=>(e)=>e,uk=()=>(e)=>e,fk=()=>(e)=>e,lk=wl,pk=kl,dk=vl,Vm=Sl,mk=Rl,hk=gl;class mo extends Ve.TaggedError("ConfigError"){}class ln extends Ve.TaggedError("AuthError"){}class P extends Ve.TaggedError("ApiError"){}class le extends Ve.TaggedError("ValidationError"){}class D extends Ve.TaggedError("FileError"){}class Or extends Ve.TaggedError("OssError"){}var G=X.Service("ConfigRepo");import{dirname as gk}from"path";var Jm=X.Service("ManifestRepo");var xk=1,Qs=(e)=>{let t=()=>`${e}/.fizzyx/oss-manifest.json`;return{read:()=>a.tryPromise({try:async()=>{let o=Bun.file(t());if(!await o.exists())return null;let s=await o.text();if(!s.trim())return null;return JSON.parse(s)},catch:(o)=>new D({message:`Failed to read manifest: ${String(o)}`,path:t()})}),write:(o)=>a.tryPromise({try:async()=>{let s=gk(t());await(await import("fs/promises")).mkdir(s,{recursive:!0}),await Bun.write(t(),`${JSON.stringify(o,null,2)}
|
|
27
|
+
`)},catch:(s)=>new D({message:`Failed to write manifest: ${String(s)}`,path:t()})}),path:t}},Km=(e,t)=>({version:xk,localDir:e,remotePrefix:t,lastSyncedAt:new Date().toISOString(),files:{}}),kP=Le.effect(Jm,a.gen(function*(){let t=yield*(yield*G).loadProjectConfig();return Qs(t.rootDir)}));var{S3Client:yk}=globalThis.Bun;var Ys=(e,t)=>e instanceof Or?e:new Or({message:String(e),key:t,status:Ek(e)?e.status:void 0}),Ek=(e)=>typeof e==="object"&&e!==null&&e.name==="S3Error",Ba=(e)=>{let t=new yk({accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,endpoint:e.endpoint,...e.bucket?{bucket:e.bucket}:{},region:e.region,...e.bucket?{}:{virtualHostedStyle:!0}});return{write:(r,n)=>a.tryPromise({try:()=>t.write(r,n).then(()=>{return}),catch:(o)=>Ys(o,r)}),exists:(r)=>a.tryPromise({try:()=>t.exists(r),catch:(n)=>Ys(n,r)}),delete:(r)=>a.tryPromise({try:()=>t.delete(r),catch:(n)=>Ys(n,r)}),list:(r)=>a.tryPromise({try:async()=>{let n=await t.list(r?.prefix||r?.maxKeys||r?.startAfter?{prefix:r.prefix,maxKeys:r.maxKeys,startAfter:r.startAfter}:null);return{objects:(n.contents||[]).map((o)=>({key:o.key,eTag:o.eTag,lastModified:o.lastModified,size:o.size})),isTruncated:n.isTruncated??!1}},catch:(n)=>Ys(n,r?.prefix)})}};import Qm from"path";var Zm="fizzyx-oss",Ym="default",Gm=(e,t)=>a.gen(function*(){let r=eh(e,t),n=null;try{n=yield*a.promise(()=>Bun.secrets.get({service:Zm,name:r}))}catch{return}if(!n)return;try{let o=JSON.parse(n),s=o.accessKeyId,i=o.secretAccessKey;if(s&&i)return{accessKeyId:s,secretAccessKey:i}}catch{}return}),eh=(e,t)=>{let r=e.board?`${e.account}-${e.board}`:`root-${Bun.hash(e.rootDir).toString(36).slice(0,8)}`;return Bun.hash(`${r}/${t}`).toString(36)},th=()=>a.gen(function*(){let e=yield*G,t=yield*e.loadProjectConfigOptional().pipe(a.catch(()=>a.succeed(void 0)));if(t?.oss)return!1;let r=t?.configPath??`${process.cwd()}/.fizzy.yaml`;return yield*e.setupOssConfig({env:"dev",config:{endpoint:"https://your-s3-endpoint.com",region:"your-region",bucket:"your-bucket"},sync:{localDir:"./public"},configPath:r}),yield*e.setupOssConfig({env:"prod",config:{endpoint:"https://your-s3-endpoint.com",region:"your-region",bucket:"your-bucket"},sync:{localDir:"./public"},configPath:r}),!0}),rh=(e,t,r)=>a.gen(function*(){let s=(yield*(yield*G).loadProjectConfigOptional().pipe(a.catch(()=>a.succeed(void 0))))||{apiUrl:"https://fizzy.puffin.studio",account:"1",configPath:`${process.cwd()}/.fizzy.yaml`,rootDir:process.cwd()};yield*ch(s,e,{accessKeyId:t,secretAccessKey:r})}),nh=(e)=>a.gen(function*(){let t=yield*G,n=(yield*t.loadProjectConfigOptional().pipe(a.catch(()=>a.succeed(void 0))))||{apiUrl:"https://fizzy.puffin.studio",account:"1",configPath:`${process.cwd()}/.fizzy.yaml`,rootDir:process.cwd()},o=e.config;if(o.accessKeyId&&o.secretAccessKey){let i={accessKeyId:o.accessKeyId,secretAccessKey:o.secretAccessKey};yield*ch(n,e.env,i)}return yield*t.setupOssConfig(e)}),oh=(e)=>a.gen(function*(){let t=performance.now(),n=yield*(yield*G).loadProjectConfig(),o=yield*qa(n),s=uh(o,e.env),i=fh(n.rootDir,o.sync.localDir),c=o.sync.remotePrefix??"",l=Math.max(1,o.sync.concurrency||1),f=yield*ah(n,e.env,s),m=Ba({...s,accessKeyId:f.accessKeyId,secretAccessKey:f.secretAccessKey}),p=Qs(n.rootDir),b=(yield*e.full?a.succeed(null):p.read())??Km(i,c),y=yield*ph(i),k=y.map(({relativePath:B})=>[c,B].filter(Boolean).join("/")),F=0,H=yield*a.forEach(y,({absolutePath:B,relativePath:er})=>a.gen(function*(){if(e.onProgress)yield*a.sync(()=>e.onProgress({current:Math.min(F+1,y.length),total:y.length,file:er,action:"checking"}));let tr=yield*bk(m,i,c,b,B,er,e.verify??!1);if(F+=1,e.onProgress)yield*a.sync(()=>e.onProgress({current:F,total:y.length,file:er,action:tr._tag==="uploaded"?"uploading":tr._tag==="skipped"?"skipping":"error"}));return tr}),{concurrency:l}),te=H.flatMap((B)=>B._tag==="uploaded"?[B.key]:[]),ye=H.flatMap((B)=>B._tag==="error"?[B.error]:[]),de=te.length,ot=H.filter((B)=>B._tag==="skipped").length;b.lastSyncedAt=new Date().toISOString(),yield*p.write(b);let st=Math.round(performance.now()-t);return{env:e.env,endpoint:s.endpoint,bucket:s.bucket??"",remotePrefix:c,uploaded:de,skipped:ot,uploadedKeys:te,allKeys:k,durationMs:st,errors:ye}}),sh=(e)=>a.gen(function*(){let r=yield*(yield*G).loadProjectConfig(),n=yield*qa(r),o=fh(r.rootDir,n.sync.localDir),s=Qs(r.rootDir),i=yield*s.read(),c=yield*ph(o),l=new Set(c.map((p)=>p.relativePath)),f=[];if(i)for(let{relativePath:p}of c){let x=i.files[p];if(!x){f.push(p);continue}let b=c.find((k)=>k.relativePath===p),y=yield*lh(Bun.file(b.absolutePath));if(y.mtimeMs!==x.mtimeMs||y.size!==x.size)f.push(p)}else f.push(...c.map((p)=>p.relativePath));let m=[];if(i){for(let p of Object.keys(i.files))if(!l.has(p))m.push(p)}return{env:e.env,pendingUploads:f.length,pendingDeletions:m.length,pendingUploadFiles:f.sort(),pendingDeletionFiles:m.sort(),totalLocal:c.length,manifestEntries:i?Object.keys(i.files).length:0,manifestPath:s.path()}}),ih=(e)=>a.gen(function*(){let r=yield*(yield*G).loadProjectConfig(),n=yield*qa(r),o=uh(n,e.env),s=yield*ah(r,e.env,o);return yield*Ba({...o,accessKeyId:s.accessKeyId,secretAccessKey:s.secretAccessKey}).list({prefix:e.prefix})}),ch=(e,t,r)=>a.tryPromise({try:()=>Bun.secrets.set({service:Zm,name:eh(e,t),value:JSON.stringify(r)}),catch:(n)=>new Or({message:`Failed to store OSS credentials: ${String(n)}`})}),ah=(e,t,r)=>a.gen(function*(){let n=yield*Gm(e,t);if(n)return n;if(t!==Ym){let c=yield*Gm(e,Ym);if(c)return c}let o=`OSS_${t.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}`,s=process.env[`${o}_ACCESS_KEY_ID`],i=process.env[`${o}_SECRET_ACCESS_KEY`];if(s&&i)return{accessKeyId:s,secretAccessKey:i};if(r.accessKeyId&&r.secretAccessKey)return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey};return yield*new Or({message:`No OSS credentials for ${t}. Store with: fizzyx oss setup [--env <name>]`})}),qa=(e)=>e.oss?a.succeed(e.oss):a.fail(new le({message:"No OSS config found. Run: fizzyx oss setup"})),uh=(e,t)=>{let r=e.environments[t];if(!r)throw Error(`OSS environment "${t}" not found in config`);return r},fh=(e,t)=>t.startsWith("/")?t:`${e}/${t}`,lh=(e)=>a.tryPromise({try:()=>e.stat(),catch:(t)=>new D({message:`Failed to stat file: ${String(t)}`,path:e.name})}),Xm=(e)=>a.tryPromise({try:async()=>{let r=await Bun.file(e).arrayBuffer(),n=await crypto.subtle.digest("SHA-256",r);return Array.from(new Uint8Array(n)).map((s)=>s.toString(16).padStart(2,"0")).join("")},catch:(t)=>new D({message:`Failed to hash file: ${String(t)}`,path:e})}),ph=(e)=>a.tryPromise({try:async()=>{let t=[],r=await import("fs/promises");async function n(o){let s;try{s=await r.readdir(o,{withFileTypes:!0})}catch{return}for(let i of s){let c=Qm.join(o,i.name);if(i.isDirectory()&&!i.name.startsWith("."))await n(c);else if(i.isFile())t.push({absolutePath:c,relativePath:Qm.relative(e,c)})}}return await n(e),t},catch:(t)=>new D({message:`Failed to walk directory ${e}: ${String(t)}`,path:e})}),bk=(e,t,r,n,o,s,i)=>a.gen(function*(){let c=n.files[s],l=[r,s].filter(Boolean).join("/"),f=yield*lh(Bun.file(o));if(c&&c.mtimeMs===f.mtimeMs&&c.size===f.size){if(!i)return{_tag:"skipped"};if(yield*e.exists(l).pipe(a.catch(()=>a.succeed(!1))))return{_tag:"skipped"}}if(c&&c.hash){if((yield*Xm(o))===c.hash){if(!i)return n.files[s]={...c,mtimeMs:f.mtimeMs,size:f.size},{_tag:"skipped"};if(yield*e.exists(l).pipe(a.catch(()=>a.succeed(!1))))return n.files[s]={...c,mtimeMs:f.mtimeMs,size:f.size},{_tag:"skipped"}}}let m=yield*Xm(o),p=Bun.file(o);return yield*e.write(l,p).pipe(a.catch((x)=>a.fail(new D({message:`Failed to upload ${l}: ${x.message}`})))),n.files[s]={mtimeMs:f.mtimeMs,size:f.size,hash:m},{_tag:"uploaded",key:l}}).pipe(a.catch((c)=>a.succeed({_tag:"error",error:c instanceof Error?c.message:String(c)})));var Ir=(e,t)=>typeof e==="object"&&e!==null&&("_tag"in e)&&e._tag===t,Wa=(e,t)=>Ir(e,t)&&typeof e.message==="string";var dh=X.Service("CacheRepo");var WP=Le.effect(dh)(a.gen(function*(){let t=yield*(yield*G).loadProjectConfig();return Gs(t.account,t.board??"")})),Sk=".config/fizzyx/cache",Gs=(e,t)=>{let r=()=>a.sync(()=>{let o=process.env.HOME;if(!o)throw new D({message:"HOME is not set"});if(!e)throw new D({message:"cache requires account"});if(!t)throw new D({message:"cache requires board. Run: fizzyx setup <board-id>"});let s=mh(e),i=mh(t);return`${o}/${Sk}/${s}/${i}/board.json`}),n=(o)=>{let s=o.lastIndexOf("/");return s<=0?"/":o.slice(0,s)};return{read:()=>r().pipe(a.flatMap((o)=>a.tryPromise({try:async()=>{let s=Bun.file(o);if(!await s.exists())return null;return JSON.parse(await s.text())},catch:(s)=>new D({message:`Failed to read cache: ${String(s)}`,path:o})}))),write:(o)=>r().pipe(a.flatMap((s)=>a.tryPromise({try:async()=>{let i=n(s);await import("fs/promises").then((c)=>c.mkdir(i,{recursive:!0})),await Bun.write(s,`${JSON.stringify(o,null,2)}
|
|
28
|
+
`)},catch:(i)=>new D({message:`Failed to write cache: ${String(i)}`,path:s})}))),ageSeconds:()=>r().pipe(a.flatMap((o)=>a.tryPromise({try:async()=>{let s=await import("fs/promises");try{let i=await s.stat(o);return Math.max(0,Math.floor((Date.now()-i.mtimeMs)/1000))}catch{return Number.MAX_SAFE_INTEGER}},catch:(s)=>new D({message:`Failed to stat cache: ${String(s)}`,path:o})})))}},mh=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");var XP=`~effect/Fiber/${es}`;var hh=gc;var gh=Xc;var kk="~effect/Channel";var vk={[kk]:{_Env:R,_InErr:R,_InElem:R,_OutErr:R,_OutElem:R},pipe(){return N(this,arguments)}},ho=(e)=>{let t=Object.create(vk);return t.transform=(r,n)=>Hs(e(r,n),(o)=>Ce(Tr(o))),t};var xh=(e)=>ho((t,r)=>e),yh=(e)=>ho(po(function*(t,r){let n=Sr(r),o=(i)=>Cr(n,jd(i)),s=yield*fo(e(t,r,n),o);return fo(s,o)})),Xs=(e)=>e.transform;var Eh=(e)=>ho((t,r)=>Pt(()=>Xs(e())(t,r)));var bh=(e)=>xh(Ce(Gt(e)));var Sh=u(2,(e,t)=>yh((r,n,o)=>kd(o,t).pipe($s(Xs(e)(r,n)))));var Ch=u(2,(e,t)=>Sh(e,(r)=>t)),Rk=(e,t,r)=>Pt(()=>{let n=Gn(),o=Xs(e)(vr(),n);return eo(fe(o,t),r?r:Ce).pipe(un((s)=>Cr(n,s)))});var wh=u(2,(e,t)=>Rk(e,(r)=>Ks(fe(r,t),{disableYield:!0})));var Tk="~effect/Stream",Ok={_R:R,_E:R,_A:R},Ik={[Tk]:Ok,pipe(){return N(this,arguments)}},kh=(e)=>{let t=Object.create(Ik);return t.channel=e,t};var _k="~effect/Stream",vh=(e)=>T(e,_k);var Zs=kh;var Rh=(e)=>Zs(Eh(()=>e().channel)),Ah=(e)=>Zs(bh(e));var Th=(e)=>Zs(ho(po(function*(t,r){let n=e.evaluate().getReader();return yield*oa(r,e.releaseLockOnEnd?_t(()=>n.releaseLock()):zs(()=>n.cancel().catch(rr))),fe(gt({try:()=>n.read(),catch:(o)=>e.onError(o)}),({done:o,value:s})=>o?vr():Ce(yf(s)))})));var Oh=u(2,(e,t)=>Zs(Ch(e.channel,t)));var Fk=u(2,(e,t)=>wh(e.channel,t));var Mk=u((e)=>vh(e[0]),(e,t,r)=>{let n=void 0,o=void 0,s=gh(!1);return new ReadableStream({start(i){o=La(Ws(Fk(e,(c)=>s.whenOpen(_t(()=>{s.closeUnsafe();for(let l=0;l<c.length;l++)i.enqueue(c[l]);n(),n=void 0}))),t)),o.addObserver((c)=>{if(c._tag==="Failure")i.error(Ld(c.cause));else i.close()})},pull(){return new Promise((i)=>{n=i,s.openUnsafe()})},cancel(){if(!o)return;return ja(Ls(hh(o)))}},r?.strategy)});var Ih=u((e)=>vh(e[0]),(e,t)=>Ue(qs(),(r)=>Mk(e,r,t)));var go=new WeakMap;var Ph="~effect/data/Redacted",Nk=(e)=>T(e,Ph),Ja=(e,t)=>{let r=Object.create(zk);if(t?.label)r.label=t.label;return go.set(r,e),r},zk={[Ph]:{_A:(e)=>e},label:void 0,...Ge,toJSON(){return this.toString()},toString(){return`<redacted${Nr(this.label)?":"+this.label:""}>`},[K](){return J(go.get(this))},[Q](e){return Nk(e)&&se(go.get(this),go.get(e))}};var _h=Symbol.for("~effect/http/Headers");var xo=Object.defineProperties(Object.create(null),{[_h]:{value:_h},[zr]:{value(e){return ri(this,he(e,Qa))}},toJSON:{value(){return Qe(this)}},[Q]:{value(e){return $k(this,e)}},[K]:{value(){return xn(this)}},toString:{value:at.toString},[be]:{value:at[be]}}),ei=(e)=>Object.assign(Object.create(xo),e),$k=mf(On());var Ka=Object.create(xo),yo=(e)=>{if(e===void 0)return Ka;else if(Symbol.iterator in e){let r=Object.create(xo);for(let[n,o]of e)r[n.toLowerCase()]=o;return r}let t=Object.create(xo);for(let[r,n]of Object.entries(e))if(Array.isArray(n))t[r.toLowerCase()]=n.join(", ");else if(n!==void 0)t[r.toLowerCase()]=n;return t},Fh=(e)=>Object.setPrototypeOf(e,xo);var ti=u(3,(e,t,r)=>{let n=ei(e);return n[t.toLowerCase()]=r,n}),Mh=u(2,(e,t)=>ei({...e,...yo(t)})),Uh=u(2,(e,t)=>{let r=ei(e);return Object.assign(r,t),r}),Eo=u(2,(e,t)=>{let r=ei(e);return delete r[t.toLowerCase()],r});var ri=u(2,(e,t)=>{let r={...e},n=(o)=>{if(typeof o==="string"){let s=o.toLowerCase();if(s in e)r[s]=Ja(e[s])}else for(let s in e)if(o.test(s))r[s]=Ja(e[s])};if(Array.isArray(t))for(let o=0;o<t.length;o++)n(t[o]);else n(t);return r}),Qa=I("effect/Headers/CurrentRedactedNames",{defaultValue:()=>["authorization","cookie","set-cookie","x-api-key"]});var Nh="~effect/http/Cookies";var zh="~effect/http/Cookies/Cookie";var Lk={[Nh]:Nh,...at,toJSON(){return{_id:"effect/Cookies",cookies:pf(this.cookies,(e)=>e.toJSON())}},pipe(){return N(this,arguments)}},jk=(e)=>{let t=Object.create(Lk);return t.cookies=e,t},Hk=(e)=>{let t={};for(let r of e)t[r.name]=r;return jk(t)},$h=(e)=>{let t=typeof e==="string"?[e]:e,r=[];for(let n of t){let o=Bk(n.trim());if(o)r.push(o)}return Hk(r)};function Bk(e){let t=e.split(";").map((c)=>c.trim()).filter((c)=>c!=="");if(t.length===0)return;let r=t[0].indexOf("=");if(r===-1)return;let n=t[0].slice(0,r);if(!qk.test(n))return;let o=t[0].slice(r+1),s=Wk(o);if(t.length===1)return Object.assign(Object.create(Dh),{name:n,value:s,valueEncoded:o});let i={};for(let c=1;c<t.length;c++){let l=t[c],f=l.indexOf("="),m=f===-1?l:l.slice(0,f).trim(),p=f===-1?void 0:l.slice(f+1).trim();switch(m.toLowerCase()){case"domain":{if(p===void 0)break;let x=p.trim().replace(/^\./,"");if(x)i.domain=x;break}case"expires":{if(p===void 0)break;let x=new Date(p);if(!isNaN(x.getTime()))i.expires=x;break}case"max-age":{if(p===void 0)break;let x=parseInt(p,10);if(!isNaN(x))i.maxAge=Qi(x);break}case"path":{if(p===void 0)break;if(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(Dh),{name:n,value:s,valueEncoded:o,options:Object.keys(i).length>0?i:void 0})}var qk=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Dh={[zh]:zh,...at,toJSON(){return{_id:"effect/Cookies/Cookie",name:this.name,value:this.value,options:this.options}}};var Wk=(e)=>{try{return decodeURIComponent(e)}catch(t){return e}};var Lh="~effect/http/HttpClientError";class je extends rt("HttpClientError"){constructor(e){if("cause"in e.reason)super({...e,cause:e.reason.cause});else super(e)}[Lh]=Lh;get request(){return this.reason.request}get response(){return"response"in this.reason?this.reason.response:void 0}get message(){return this.reason.message}}var ni=(e)=>e.endsWith("Error")?e.slice(0,-5):e,oi=(e,t,r)=>t?`${e}: ${t} (${r})`:`${e} error (${r})`;class Ya extends rt("TransportError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return oi(ni(this._tag),this.description,this.methodAndUrl)}}class Ga extends rt("InvalidUrlError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return oi(ni(this._tag),this.description,this.methodAndUrl)}}class Zt extends rt("DecodeError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return oi(ni(this._tag),this.description,e)}}class Xa extends rt("EmptyBodyError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return oi(ni(this._tag),this.description,e)}}var jh="~effect/http/UrlParams";var Jk={...Ge,[jh]:jh,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:"UrlParams",params:Object.fromEntries(this.params)}},[Q](e){return Kk(this,e)},[K](){return yn(this.params.flat())}},Hh=(e)=>{let t=Object.create(Jk);return t.params=e,t},So=(e)=>{let t=Bh(e),r=[];for(let n=0;n<t.length;n++)if(Array.isArray(t[n][0])){let[o,s]=t[n];r.push([`${o[0]}[${o.slice(1).join("][")}]`,s])}else r.push(t[n]);return Hh(r)},Bh=(e)=>{let t=typeof e[Symbol.iterator]==="function"?Xe(e):Object.entries(e),r=[];for(let[n,o]of t)if(Array.isArray(o)){for(let s=0;s<o.length;s++)if(o[s]!==void 0)r.push([n,String(o[s])])}else if(typeof o==="object"){let s=Bh(o);for(let[i,c]of s)r.push([[n,...typeof i==="string"?[i]:i],c])}else if(o!==void 0)r.push([n,String(o)]);return r},Kk=No((e,t)=>Qk(e.params,t.params)),Qk=bf(ff([On(),On()]));var qh=Hh([]);var Wh=u(2,(e,t)=>{let r=So(t),n=r.params,o=new Set;for(let s=0;s<n.length;s++)o.add(n[s][0]);for(let s=0;s<e.params.length;s++){if(o.has(e.params[s][0]))continue;n.push(e.params[s])}return r});class eu extends rt("UrlParamsError"){}var tu=(e,t,r)=>{try{let n=new URL(e,Yk());for(let o=0;o<t.params.length;o++){let[s,i]=t.params[o];if(i!==void 0)n.searchParams.append(s,i)}if(r!==void 0)n.hash=r;return ke(n)}catch(n){return me(new eu({cause:n}))}};var Yk=()=>{if("location"in globalThis&&globalThis.location!==void 0&&globalThis.location.origin!==void 0&&globalThis.location.pathname!==void 0)return location.origin+location.pathname;return};var nu="~effect/http/HttpBody";var Vh="~effect/http/HttpBody/HttpBodyError";class Jh extends rt("HttpBodyError"){[Vh]=Vh}class ou{[nu];constructor(){this[nu]=nu}[be](){return this.toJSON()}toString(){return ae(this,{ignoreToString:!0})}}class Kh extends ou{_tag="Empty";toJSON(){return{_id:"effect/HttpBody",_tag:"Empty"}}}var Qh=new Kh;class Yh extends ou{_tag="Uint8Array";body;contentType;contentLength;constructor(e,t,r){super();this.body=e,this.contentType=t,this.contentLength=r}toJSON(){return{_id:"effect/HttpBody",_tag:"Uint8Array",body:this.contentType.startsWith("text/")||this.contentType.endsWith("json")?new TextDecoder().decode(this.body):`Uint8Array(${this.body.length})`,contentType:this.contentType,contentLength:this.contentLength}}}var Gh=(e,t)=>new Yh(e,t??"application/octet-stream",e.length),Gk=new TextEncoder,Xh=(e,t)=>Gh(Gk.encode(e),t??"text/plain");var Zh=(e,t)=>cn({try:()=>Xh(JSON.stringify(e),t??"application/json"),catch:(r)=>new Jh({reason:{_tag:"JsonError"},cause:r})});var eg=[["GET","get"],["POST","post"],["PUT","put"],["DELETE","del"],["PATCH","patch"],["HEAD","head"],["OPTIONS","options"],["TRACE","trace"]];var tg="~effect/http/HttpClientRequest";var e0={[tg]:tg,...at,toJSON(){return{_id:"HttpClientRequest",method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Qe(this.headers),body:this.body.toJSON()}},pipe(){return N(this,arguments)}};function Ft(e,t,r,n,o,s){let i=Object.create(e0);return i.method=e,i.url=t,i.urlParams=r,i.hash=n,i.headers=o,i.body=s,i}var t0=Ft("GET","",qh,re(),Ka,Qh),Co=(e)=>(t,r)=>r0(t0,{method:e,url:t,...r??void 0});var r0=u(2,(e,t)=>{let r=e;if(t.method)r=n0(r,t.method);if(t.url)r=og(r,t.url);if(t.headers)r=su(r,t.headers);if(t.urlParams)r=s0(r,t.urlParams);if(t.hash)r=i0(r,t.hash);if(t.body)r=sg(r,t.body);if(t.accept)r=ng(r,t.accept);if(t.acceptJson)r=o0(r);return r}),n0=u(2,(e,t)=>Ft(t,e.url,e.urlParams,e.hash,e.headers,e.body)),rg=u(3,(e,t,r)=>Ft(e.method,e.url,e.urlParams,e.hash,ti(e.headers,t,r),e.body)),su=u(2,(e,t)=>Ft(e.method,e.url,e.urlParams,e.hash,Mh(e.headers,t),e.body));var ng=u(2,(e,t)=>rg(e,"Accept",t)),o0=ng("application/json"),og=u(2,(e,t)=>{if(typeof t==="string")return Ft(e.method,t,e.urlParams,e.hash,e.headers,e.body);let r=new URL(t.toString()),n=So(r.searchParams),o=af(r.hash===""?void 0:r.hash.slice(1));return r.search="",r.hash="",Ft(e.method,r.toString(),n,o,e.headers,e.body)});var s0=u(2,(e,t)=>Ft(e.method,e.url,Wh(e.urlParams,t),e.hash,e.headers,e.body));var i0=u(2,(e,t)=>Ft(e.method,e.url,e.urlParams,ue(t),e.headers,e.body));var sg=u(2,(e,t)=>{let r=e.headers;if(t._tag==="Empty"||t._tag==="FormData")r=Eo(Eo(r,"Content-Type"),"Content-length");else{if(t.contentType)r=ti(r,"content-type",t.contentType);if(t.contentLength!==void 0)r=ti(r,"content-length",t.contentLength.toString())}return Ft(e.method,e.url,e.urlParams,e.hash,r,t)});var ig=u(2,(e,t)=>Ue(Zh(t),(r)=>sg(e,r)));var Pr="~effect/http/HttpIncomingMessage";var ag=(e,t)=>{let r=e.headers["content-type"]??"",n;if(r.includes("application/json"))try{n=Xt(e.json)}catch(s){}else if(r.includes("text/")||r.includes("urlencoded"))try{n=Xt(e.text)}catch(s){}let o={...t,headers:Qe(e.headers),remoteAddress:e.remoteAddress};if(n!==void 0)o.body=n;return o};var pn="~effect/http/HttpClientResponse",fg=(e,t)=>new lg(e,t);class lg extends vi{[Pr];[pn];request;source;constructor(e,t){super();this.request=e,this.source=t,this[Pr]=Pr,this[pn]=pn}toJSON(){return ag(this,{_id:"HttpClientResponse",request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return yo(this.source.headers)}cachedCookies;get cookies(){if(this.cachedCookies)return this.cachedCookies;return this.cachedCookies=$h(this.source.headers.getSetCookie())}get remoteAddress(){return re()}get stream(){return this.source.body?Th({evaluate:()=>this.source.body,onError:(e)=>new je({reason:new Zt({request:this.request,response:this,cause:e})})}):Ah(new je({reason:new Xa({request:this.request,response:this,description:"can not create stream from empty body"})}))}get json(){return fe(this.text,(e)=>cn({try:()=>e===""?null:JSON.parse(e),catch:(t)=>new je({reason:new Zt({request:this.request,response:this,cause:t})})}))}textBody;get text(){if(this.textBody)return this.textBody;return this.textBody=gt({try:()=>this.source.text(),catch:(e)=>new je({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(lo,Xt),this.arrayBufferBody=Ue(this.textBody,(e)=>new TextEncoder().encode(e).buffer),this.textBody}get urlParamsBody(){return fe(this.text,(e)=>cn({try:()=>So(new URLSearchParams(e)),catch:(t)=>new je({reason:new Zt({request:this.request,response:this,cause:t})})}))}formDataBody;get formData(){return this.formDataBody??=gt({try:()=>this.source.formData(),catch:(e)=>new je({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(lo,Xt)}arrayBufferBody;get arrayBuffer(){if(this.arrayBufferBody)return this.arrayBufferBody;return this.arrayBufferBody=gt({try:()=>this.source.arrayBuffer(),catch:(e)=>new je({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(lo,Xt),this.textBody=Ue(this.arrayBufferBody,(e)=>new TextDecoder().decode(e)),this.arrayBufferBody}pipe(){return N(this,arguments)}}var dg=(e)=>Fh({b3:`${e.traceId}-${e.spanId}-${e.sampled?"1":"0"}${Do(e.parent,{onNone:()=>"",onSome:(t)=>`-${t.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?"01":"00"}`});var mg="~effect/http/HttpClient";var hg=ve("effect/HttpClient"),a0=(e)=>(...t)=>fe(hg,(r)=>r[e](...t)),gg=a0("execute");var u0=u(2,(e,t)=>xg((r)=>t(e.postprocess(r)),e.preprocess));var xg=(e,t)=>{let r=Object.create(f0);return r.preprocess=t,r.postprocess=e,r.execute=function(n){return e(t(n))},r},f0={[mg]:mg,pipe(){return N(this,arguments)},...at,toJSON(){return{_id:"effect/HttpClient"}},...Object.fromEntries(eg.map(([e,t])=>[t,function(r,n){return this.execute(Co(e)(r,n))}]))},yg=(e)=>xg((t)=>fe(t,(r)=>co((n)=>{let o=m0.get(r),s=o??new AbortController,i=tu(r.url,r.urlParams,cr(r.hash));if(Y(i))return Gt(new je({reason:new Ga({request:r,cause:i.failure})}));let c=i.success;if(n.getRef(Wr)||n.getRef(l0)(r)){let f=e(r,c,s.signal,n);if(o)return f;return fn((m)=>an(m(f),{onSuccess(p){return si.register(p,s),Ce(new iu(p,s))},onFailure(p){if(pa(p))s.abort();return Tr(p)}}))}return Ua(n.getRef(d0)(r),{kind:"client"},(f)=>{if(f.attribute("http.request.method",r.method),f.attribute("server.address",c.origin),c.port!=="")f.attribute("server.port",+c.port);f.attribute("url.full",c.toString()),f.attribute("url.path",c.pathname),f.attribute("url.scheme",c.protocol.slice(0,-1));let m=c.search.slice(1);if(m!=="")f.attribute("url.query",m);let p=n.getRef(Qa),x=ri(r.headers,p);for(let b in x)f.attribute(`http.request.header.${b}`,String(x[b]));return r=n.getRef(p0)?su(r,dg(f)):r,fn((b)=>b(e(r,c,s.signal,n)).pipe(Na(f,{captureStackTrace:!1}),an({onSuccess:(y)=>{f.attribute("http.response.status_code",y.status);let k=ri(y.headers,p);for(let F in k)f.attribute(`http.response.header.${F}`,String(k[F]));if(o)return Ce(y);return si.register(y,s),Ce(new iu(y,s))},onFailure(y){if(!o&&pa(y))s.abort();return Tr(y)}})))})})),Ce);var l0=I("effect/http/HttpClient/TracerDisabledWhen",{defaultValue:()=>Mr}),p0=I("effect/HttpClient/TracerPropagationEnabled",{defaultValue:Ne}),d0=I("effect/http/HttpClient/SpanNameGenerator",{defaultValue:()=>(e)=>`http.client ${e.method}`}),Eg=(e)=>nn(hg)(uo((t)=>Ue(e,(r)=>u0(r,_a((n)=>qt(t,n)))))),si=(()=>{if("FinalizationRegistry"in globalThis&&globalThis.FinalizationRegistry){let t=new FinalizationRegistry((r)=>{r.abort()});return{register(r,n){t.register(r,n,r)},unregister(r){t.unregister(r)}}}let e=new Map;return{register(t,r){e.set(t,setTimeout(()=>r.abort(),5000))},unregister(t){let r=e.get(t);if(r===void 0)return;clearTimeout(r),e.delete(t)}}})(),m0=new WeakMap;class iu{original;controller;constructor(e,t){this.original=e,this.controller=t}[pn]=pn;[Pr]=Pr;applyInterrupt(e){return Pt(()=>(si.unregister(this.original),Js(e,()=>_t(()=>{this.controller.abort()}))))}get request(){return this.original.request}get status(){return this.original.status}get headers(){return this.original.headers}get cookies(){return this.original.cookies}get remoteAddress(){return this.original.remoteAddress}get formData(){return this.applyInterrupt(this.original.formData)}get text(){return this.applyInterrupt(this.original.text)}get json(){return this.applyInterrupt(this.original.json)}get urlParamsBody(){return this.applyInterrupt(this.original.urlParamsBody)}get arrayBuffer(){return this.applyInterrupt(this.original.arrayBuffer)}get stream(){return Rh(()=>(si.unregister(this.original),Oh(this.original.stream,_t(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[be](){return this.original[be]()}pipe(){return N(this,arguments)}}var h0=I("effect/http/FetchHttpClient/Fetch",{defaultValue:()=>globalThis.fetch});class Sg extends ve()("effect/http/FetchHttpClient/RequestInit"){}var g0=yg((e,t,r,n)=>{let o=n.getRef(h0),s=n.context.mapUnsafe.get(Sg.key)??{},i=s.headers?Uh(yo(s.headers),e.headers):e.headers;if(i["content-length"])i=Eo(i,"content-length");let c=(l)=>Ue(gt({try:()=>o(t,{...s,method:e.method,headers:i,body:l,duplex:e.body._tag==="Stream"?"half":void 0,signal:r}),catch:(f)=>new je({reason:new Ya({request:e,cause:f})})}),(f)=>fg(e,f));switch(e.body._tag){case"Raw":case"Uint8Array":return c(e.body.body);case"FormData":return c(e.body.formData);case"Stream":return fe(Ih(e.body.stream),c)}return c(void 0)}),Cg=Eg(Ce(g0));var wg=X.Service("FizzyApi");var qM=Le.effect(wg)(a.gen(function*(){let e=yield*G,t=yield*e.loadProjectConfig(),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new P({message:"Not logged in. Run: fizzyx auth login"}))));return dn(t,r.token)})),dn=(e,t)=>{let r=(h,d,v)=>a.gen(function*(){let w=yield*o(h,d,v),q=yield*i(w);if(w.status<200||w.status>=300)return yield*new P({message:p(q,w.status),status:w.status});return m(q)}).pipe(a.catch((w)=>w instanceof P?w:new P({message:String(w)}))),n=(h,d,v)=>a.gen(function*(){let w=yield*o(h,d,v);if(w.status<200||w.status>=300){let q=yield*i(w);return yield*new P({message:p(q,w.status),status:w.status})}}).pipe(a.catch((w)=>w instanceof P?w:new P({message:String(w)}))),o=(h,d,v)=>v===void 0?s(Co(h)(c(e,d),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})):ig(v)(Co(h)(c(e,d),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})).pipe(a.mapError((w)=>new P({message:String(w)})),a.flatMap(s),a.catch((w)=>w instanceof P?w:new P({message:String(w)}))),s=(h)=>gg(h).pipe(a.provide(Cg),a.mapError((d)=>new P({message:String(d)}))),i=(h)=>h.text.pipe(a.mapError((d)=>new P({message:String(d)})),a.flatMap((d)=>{if(!d)return a.succeed(null);return l(d,h.status)})),c=(h,d)=>{let v=h.apiUrl.replace(/\/+$/,""),w=d.startsWith("/")?d:`/${d}`,q=w.startsWith("/my/"),Ee=`/${h.account}`;return`${v}${q||w.startsWith(`${Ee}/`)?w:`${Ee}${w}`}`},l=(h,d)=>a.try({try:()=>JSON.parse(h),catch:()=>new P({status:d,message:`HTTP ${String(d)}: invalid JSON response (${f(h)})`})}),f=(h,d=120)=>{let v=h.trim();return v.length>d?`${v.slice(0,d)}...`:v},m=(h)=>{if(mi(h)&&"data"in h)return h.data;return h},p=(h,d)=>{if(mi(h)&&"error"in h)return String(h.error);return`HTTP ${String(d)}`},x=(h)=>{let d=h?.match(/\/cards\/(\d+)(?:\.json)?(?:$|[?#])/);return d?.[1]?Number.parseInt(d[1],10):Number.NaN},b=(h)=>a.try({try:()=>{let d=Ie(m(h)),v=Array.isArray(d?.accounts)?d.accounts:[],w=Ie(v[0]),q=Ie(d?.user)||Ie(w?.user)||d,Ee=Z(q?.id)||Z(d?.user_id);if(!Ee)throw new P({message:"Failed to decode identity: missing userId"});return{userId:Ee,name:Z(q?.name),email:Z(q?.email)}},catch:(d)=>d instanceof P?d:new P({message:String(d)})}),y=(h)=>a.try({try:()=>{let d=Ie(h);if(!d)throw new P({message:"Failed to decode card: expected object"});let v=Jx(d.number);if(!Number.isFinite(v))throw new P({message:"Failed to decode card: number must be finite"});let w=Z(d.title);if(!w)throw new P({message:"Failed to decode card: title must be string"});let q=Z(d.description_html);return{id:Z(d.id),number:v,title:w,description:Z(d.description),...q?{descriptionHtml:q}:{},column:er(d.column),assignees:tr(d.assignees),closed:hi(d.closed),golden:hi(d.golden),steps:Vx(d.steps)}},catch:(d)=>d instanceof P?d:new P({message:String(d)})}),k=(h)=>{if(!Array.isArray(h))return a.fail(new P({message:"Failed to decode cards: expected array"}));return a.forEach(h,y)},F=(h)=>{if(!Array.isArray(h))return a.fail(new P({message:"Failed to decode columns: expected array"}));let d=[];for(let v of h){let w=Ie(v);if(!w)continue;let q=Z(w.id),Ee=Z(w.name);if(!q||!Ee)continue;d.push({id:q,name:Ee})}return a.succeed(d)},H=(h)=>a.try({try:()=>{let d=Ie(h);if(!d)throw new P({message:"Failed to decode board: expected object"});let v=Z(d.id);if(!v)throw new P({message:"Failed to decode board: missing id"});return{id:v,name:Z(d.name)||""}},catch:(d)=>d instanceof P?d:new P({message:String(d)})}),te=(h)=>{if(!Array.isArray(h))return a.fail(new P({message:"Failed to decode boards: expected array"}));return a.forEach(h,H)},ye=(h)=>a.try({try:()=>{let d=Ie(h);if(!d)throw new P({message:"Failed to decode column: expected object"});let v=Z(d.id),w=Z(d.name);if(!v||!w)throw new P({message:"Failed to decode column: missing id or name"});return{id:v,name:w}},catch:(d)=>d instanceof P?d:new P({message:String(d)})}),de=(h)=>{if(!Array.isArray(h))return a.fail(new P({message:"Failed to decode comments: expected array"}));return a.succeed(h.map((d)=>ot(d)))},ot=(h)=>{let d=Ie(h);if(!d)return{};return{created_at:Z(d.created_at),creator:st(d.creator),body:B(d.body)}},st=(h)=>{let d=Ie(h);if(!d)return;let v=Z(d.name);if(!v)return{};return{name:v}},B=(h)=>{let d=Ie(h);if(!d)return;let v=Z(d.plain_text);if(!v)return{};return{plain_text:v}},er=(h)=>{let d=Ie(h);if(!d)return;return{id:Z(d.id),name:Z(d.name)}},tr=(h)=>{if(!Array.isArray(h))return[];let d=[];for(let v of h){let w=Ie(v);if(!w)continue;let q=Z(w.id);if(!q)continue;let Ee=Z(w.name);if(!Ee)continue;d.push({id:q,name:Ee})}return d},Vx=(h)=>{if(!Array.isArray(h))return[];let d=[];for(let v of h){let w=Ie(v);if(!w)continue;let q=Z(w.content);if(!q)continue;let Ee=hi(w.completed);if(Ee===void 0)continue;d.push({id:Z(w.id),content:q,completed:Ee})}return d},mi=(h)=>h!==null&&typeof h==="object"&&!Array.isArray(h),Ie=(h)=>mi(h)?h:void 0,Z=(h)=>typeof h==="string"?h:void 0,hi=(h)=>typeof h==="boolean"?h:void 0,Jx=(h)=>{if(typeof h==="number"&&Number.isFinite(h))return h;return Number.NaN},ku=()=>r("GET",`/boards/${e.board}/columns.json`).pipe(a.flatMap(F)),Kx=(h)=>r("POST",`/boards/${e.board}/columns.json`,{column:{name:h}});return{identity:()=>r("GET","/my/identity.json").pipe(a.flatMap(b)),listBoards:()=>r("GET","/boards.json").pipe(a.flatMap(te)),listColumns:()=>ku(),createColumn:(h)=>a.gen(function*(){let d=yield*Kx(h),v=yield*ye(d).pipe(a.catch(()=>a.succeed(void 0)));if(v)return v;let q=(yield*ku()).find((Ee)=>Ee.name===h);if(!q)return yield*new P({message:`Failed to create column ${h}`});return q}),listCards:(h)=>{let d=new URLSearchParams;if(e.board)d.append("board_ids[]",e.board);if(h?.indexedBy)d.set("indexed_by",h.indexedBy);if(h?.all)d.set("all","true");let v=d.size>0?`?${d}`:"";return r("GET",`/cards.json${v}`).pipe(a.flatMap(k))},showCard:(h)=>r("GET",`/cards/${h}.json`).pipe(a.flatMap(y)),listComments:(h)=>r("GET",`/cards/${h}/comments.json?all=true`).pipe(a.flatMap(de)),createCard:(h)=>a.gen(function*(){let d=yield*o("POST",`/boards/${h.board}/cards.json`,{card:{title:h.title,description:h.description}}),v=yield*i(d);if(d.status<200||d.status>=300)return yield*new P({message:p(v,d.status),status:d.status});let w=yield*y(m(v)).pipe(a.catch(()=>a.succeed(void 0)));if(w)return w;let q=x(d.headers.location);if(!Number.isFinite(q))return yield*new P({message:"Failed to create card: missing card response"});return yield*r("GET",`/cards/${q}.json`).pipe(a.flatMap(y))}),updateCardDescription:(h,d)=>n("PUT",`/cards/${h}.json`,{card:{description:d}}),assignCard:(h,d)=>n("POST",`/cards/${h}/assignments.json`,{assignee_id:d}),moveCard:(h,d)=>n("POST",`/cards/${h}/triage.json`,{column_id:d}),comment:(h,d)=>n("POST",`/cards/${h}/comments.json`,{comment:{body:d}}),closeCard:(h)=>n("POST",`/cards/${h}/closure.json`),postponeCard:(h)=>n("POST",`/cards/${h}/not_now.json`),createStep:(h,d,v)=>n("POST",`/cards/${h}/steps.json`,{step:{content:d,completed:Boolean(v)}}),updateStep:(h,d,v)=>{let w={};if(v.completed!==void 0)w.completed=v.completed;if(v.content!==void 0)w.content=v.content;return n("PUT",`/cards/${h}/steps/${d}.json`,{step:w})}}};var Og="1",Ig="https://fizzy.puffin.studio",cu=".fizzy.yaml",y0=(e)=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),E0=(e)=>({done:"done: ",blocked:"blocked: ",unblocked:"unblocked: ",handoff:"handoff: ",note:"note: "})[e],Pg=(e,t)=>`<p>${E0(e)}${y0(t)}</p>`,_g=(e)=>{if(e==="done")return"done: commit <sha>: <subject>";if(e==="blocked")return"blocked: <reason; owner/decision needed>";if(e==="unblocked")return"unblocked: <resource/decision ready>";if(e==="handoff")return"handoff: <current state; next step>";return"note: <brief note>"},ZM=a.gen(function*(){let e=yield*G,t=yield*e.loadProjectConfig(),r=yield*Fg(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new ln({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Gs(t.account,r),s=dn(t,n.token);return{config:t,configRepo:e,cacheRepo:o,api:s}}),pe=a.gen(function*(){let e=yield*G,t=yield*e.loadProjectConfig(),r=yield*Fg(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new ln({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Gs(t.account,r),s=au(e,t,n.token);return{config:yield*Gg({configRepo:e,api:s,config:t}),configRepo:e,cacheRepo:o,api:s}}),ci=(e)=>a.gen(function*(){return(yield*e.loadProjectConfigOptional().pipe(a.catchDefect((r)=>Wa(r,"ConfigError")&&kg(r.message)?a.succeed(void 0):a.fail(r)),a.catch((r)=>Wa(r,"ConfigError")&&kg(r.message)?a.succeed(void 0):a.fail(r))))||{apiUrl:Ig,account:Og,configPath:`${process.cwd()}/${cu}`,rootDir:process.cwd()}}),kg=(e)=>e.startsWith(`No ${cu} found from`),Fg=(e)=>e.board?a.succeed(e.board):a.fail(new le({message:"No board configured. Run: fizzyx setup <board-id>"})),Mg=(e)=>a.gen(function*(){let t=yield*G;if(!e.board)return yield*new le({message:"board is required"});let r=e.account||Og,n=e.apiUrl||Ig,o={apiUrl:n,account:r,board:e.board,configPath:`${process.cwd()}/${cu}`,rootDir:process.cwd()},s=yield*t.loadCredentials(r).pipe(a.catch(()=>a.fail(new ln({message:`No token for account ${r}. Run: fizzyx auth login <token>`})))),i=au(t,o,s.token);if(e.todoColumn&&e.inProgressColumn)return yield*t.setupProjectConfig({account:r,board:e.board,todoColumn:e.todoColumn,inProgressColumn:e.inProgressColumn,users:e.users||{},apiUrl:n});return yield*Gg({configRepo:t,api:i,config:o,initialUsers:e.users})}),Ug=()=>a.gen(function*(){let e=yield*G,t=yield*ci(e),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new ln({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`}))));return yield*au(e,t,r.token).listBoards()}),au=(e,t,r)=>{let n=r,o=dn(t,n),s=(c)=>c instanceof P?c:new P({message:String(c)}),i=(c)=>a.gen(function*(){let l=yield*c(o).pipe(a.map((p)=>({_tag:"right",right:p})),a.catch((p)=>a.succeed({_tag:"left",left:s(p)})));if(l._tag==="right")return l.right;let f=l.left;if(!b0(f))return yield*a.fail(f);let m=yield*e.migrateCredentialsFromOfficial(t.account).pipe(a.catch(()=>a.fail(f)));if(m.token!==n)n=m.token,o=dn(t,n),yield*e.saveCredentials(t.account,m).pipe(a.catch((p)=>new P({message:`Failed to persist migrated credentials: ${p instanceof D?p.message:String(p)}`})));return yield*c(o)});return{identity:()=>i((c)=>c.identity()),listBoards:()=>i((c)=>c.listBoards()),listCards:(c)=>i((l)=>l.listCards(c)),showCard:(c)=>i((l)=>l.showCard(c)),listComments:(c)=>i((l)=>l.listComments(c)),listColumns:()=>i((c)=>c.listColumns()),createColumn:(c)=>i((l)=>l.createColumn(c)),createCard:(c)=>i((l)=>l.createCard(c)),updateCardDescription:(c,l)=>i((f)=>f.updateCardDescription(c,l)),assignCard:(c,l)=>i((f)=>f.assignCard(c,l)),moveCard:(c,l)=>i((f)=>f.moveCard(c,l)),comment:(c,l)=>i((f)=>f.comment(c,l)),closeCard:(c)=>i((l)=>l.closeCard(c)),postponeCard:(c)=>i((l)=>l.postponeCard(c)),updateStep:(c,l,f)=>i((m)=>m.updateStep(c,l,f)),createStep:(c,l,f)=>i((m)=>m.createStep(c,l,f))}},b0=(e)=>e.status===401;var Ng=(e)=>a.gen(function*(){let t=yield*G,r=yield*ci(t);return yield*t.saveCredentials(r.account,{token:e}),r.account}),zg=a.gen(function*(){let e=yield*G,t=yield*ci(e),r=yield*e.loadCredentials(t.account).pipe(a.option);if(r._tag==="None")return{account:t.account,board:t.board,authenticated:!1};let o=yield*dn(t,r.value.token).identity().pipe(a.map((s)=>({_tag:"success",identity:s})),a.catch((s)=>a.succeed({_tag:"failure",error:s instanceof Error?s.message:String(s)})));return{account:t.account,board:t.board,authenticated:!0,identity:o._tag==="success"?o.identity:void 0,identityError:o._tag==="failure"?o.error:void 0}}),Dg=a.gen(function*(){let e=yield*G,t=yield*ci(e);return yield*e.deleteCredentials(t.account),t.account}),nt=(e)=>a.gen(function*(){let[t,r,n,o]=yield*a.all([e.api.identity(),e.api.listCards({all:!0}),e.api.listCards({indexedBy:"not_now",all:!0}),e.api.listColumns()]),s=Xg(e.config,r),i={identity:t,cards:r,notNow:n,columns:o,users:s,syncedAt:new Date().toISOString()};return yield*e.cacheRepo.write(i),i}),ai=(e,t)=>a.gen(function*(){let r=yield*e.cacheRepo.ageSeconds();if(t||r>e.config.flow.cacheTtlSeconds)return yield*nt(e);let n=yield*e.cacheRepo.read();if(n)return n;return yield*nt(e)}),uu=(e,t)=>a.gen(function*(){let r=yield*ai(e,t.fresh),n=t.user?Zg(e.config,t.user):r.identity.userId,o=v0(r,n)||t.user||r.identity.name||"me",s=r.cards.filter((i)=>i.assignees?.some((c)=>c.id===n));return{name:o,userId:n,cards:s}}),$g=(e,t)=>a.gen(function*(){let r=yield*ai(e,t.fresh),n=yield*e.cacheRepo.ageSeconds();return{cache:r,age:n}}),Lg=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=yield*e.api.listComments(t).pipe(a.catch(()=>a.succeed([])));return{card:r,comments:n.slice(-3)}}),jg=(e,t)=>a.gen(function*(){let r=yield*uu(e,{fresh:t.fresh}),n=r.cards.find((o)=>o.column?.id===e.config.flow.columns.todo);return{user:r,card:n}}),Hg=(e,t)=>a.gen(function*(){let r=yield*ai(e,!0),n=r.cards.find((i)=>i.number===t);if(!n)return yield*new le({message:`Card #${t} not found`});let o=r.identity.userId,s=r.cards.filter((i)=>(i.column?.id===e.config.flow.columns.inProgress||i.column?.name==="INPROGRESS")&&i.assignees?.some((c)=>c.id===o));if(s.length>=e.config.flow.wipLimit)return yield*new le({message:`Current user already has ${s.length} INPROGRESS cards`});if(yield*e.api.moveCard(t,e.config.flow.columns.inProgress),!n.assignees?.some((i)=>i.id===o))yield*e.api.assignCard(t,o);return yield*nt(e),t}),Bg=(e,t,r)=>a.gen(function*(){let o=((yield*e.api.showCard(t)).steps||[]).filter((i)=>!i.completed);if(o.length>0){let i=o.map((c)=>`- ${c.content||"(no content)"}`).join(`
|
|
29
29
|
`);return yield*new le({message:`Cannot close #${t}: unfinished steps remain
|
|
30
|
-
${
|
|
30
|
+
${i}`})}let s=r||"done";return yield*e.api.closeCard(t),yield*e.api.comment(t,Pg("done",s)).pipe(a.catch(()=>a.succeed(void 0))),yield*nt(e).pipe(a.catch(()=>a.succeed(void 0))),{number:t,ref:s}}),qg=(e={})=>a.gen(function*(){let t=e.cwd||process.cwd(),[r,n]=yield*a.all([Tg(t,["rev-parse","--short","HEAD"]),Tg(t,["log","-1","--format=%s"])]);if(r===""||n==="")return yield*new le({message:"Cannot derive done ref from git. Pass an explicit ref."});return`commit ${r}: ${n}`}),Wg=(e,t,r)=>a.gen(function*(){if(!r.trim())return yield*new le({message:"Block reason is required"});return yield*e.api.comment(t,Pg("blocked",r)),yield*e.api.postponeCard(t),yield*nt(e),{number:t,reason:r}}),Vg=(e,t)=>a.gen(function*(){if(!e.config.board)return yield*new le({message:"board is required"});let r=R0(t.description),n=Zg(e.config,t.user),o=yield*e.api.createCard({title:t.title,description:pu(r.cardDescription),board:e.config.board});return yield*e.api.assignCard(o.number,n),yield*e.api.moveCard(o.number,e.config.flow.columns.todo),yield*a.forEach(r.templateSteps,(s)=>e.api.createStep(o.number,s.content,s.completed)),yield*nt(e),o.number}),Jg=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=pu(r.description||""),o=r.description||"";if(n!==o)yield*e.api.updateCardDescription(t,n);return yield*nt(e),t}),Kg=(e,t)=>a.gen(function*(){let n=((yield*e.api.showCard(t)).steps||[]).filter((i)=>!i.completed),o=n.filter((i)=>!i.id);if(o.length>0){let i=o.map((c)=>`- ${c.content||"(no content)"}`).join(`
|
|
31
31
|
`);return yield*new le({message:`Cannot complete steps for #${t}: missing step id for:
|
|
32
|
-
${i}`})}let s=n.filter((i)=>typeof i.id==="string");return yield*a.forEach(s,(i)=>e.api.updateStep(t,i.id,{completed:!0})),yield*
|
|
33
|
-
`),templateSteps:
|
|
34
|
-
`))}},
|
|
35
|
-
## ${
|
|
32
|
+
${i}`})}let s=n.filter((i)=>typeof i.id==="string");return yield*a.forEach(s,(i)=>e.api.updateStep(t,i.id,{completed:!0})),yield*nt(e),{number:t,updatedCount:s.length,contents:s.map((i)=>i.content)}}),Qg=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=new Set((r.steps||[]).map((c)=>c.content)),o=lu(r.description||""),s=new Set,i=o.filter((c)=>{if(n.has(c.content)||s.has(c.content))return!1;return s.add(c.content),!0});return yield*a.forEach(i,(c)=>e.api.createStep(t,c.content,c.completed)),i}),fu=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t);return yield*S0(e,r)}),Yg=(e)=>a.gen(function*(){let[t,r]=yield*a.all([e.api.listCards({all:!0}),e.api.listCards({indexedBy:"closed",all:!0})]),n=new Set,o=t.concat(r).filter((i)=>{if(n.has(i.number))return!1;return n.add(i.number),!0}),s=yield*a.forEach(o,(i)=>fu(e,i.number));return{results:s,total:s.length,descriptionUpdated:s.filter((i)=>i.descriptionUpdated).length,stepsCreated:s.reduce((i,c)=>i+c.stepsCreated,0),stepsUpdated:s.reduce((i,c)=>i+c.stepsUpdated,0),stepsCompleted:s.reduce((i,c)=>i+c.stepsCompleted,0)}}),S0=(e,t)=>a.gen(function*(){let r=t.descriptionHtml||t.description||"",n=rx(r),o=A0(n),s=I0(t,o),i=pu(s),c=t.descriptionHtml||t.description||"",l=Rg(i)!==Rg(c);if(l)yield*e.api.updateCardDescription(t.number,i);let f=t.steps||[],m=new Map;for(let k of f)m.set(Mt(k.content),k);let p=f.length>0?[]:F0(r,o),x=0,b=0,y=0;for(let k of f){let F=Mt(k.content),H=Boolean(k.id)&&F!==k.content,te=Boolean(k.id)&&Boolean(t.closed)&&!k.completed;if(!k.id||!H&&!te)continue;if(yield*e.api.updateStep(t.number,k.id,{...H?{content:F}:{},...te?{completed:!0}:{}}),H)b+=1;if(te)y+=1}for(let k of p){let F=Mt(k.content);if(!F||m.has(F))continue;yield*e.api.createStep(t.number,F,Boolean(t.closed)||k.completed),x+=1,m.set(F,{content:F,completed:Boolean(t.closed)||k.completed})}return{number:t.number,descriptionUpdated:l,stepsCreated:x,stepsUpdated:b,stepsCompleted:y}}),Gg=(e)=>a.gen(function*(){let t={...e.initialUsers};if(e.config.flow?.users)Object.assign(t,e.config.flow.users);let r=yield*e.api.identity().pipe(a.map((l)=>({_tag:"success",identity:l})),a.catch(()=>a.succeed({_tag:"failure"}))),n=yield*e.api.listCards({all:!0}).pipe(a.catch(()=>a.succeed([]))),o=Xg(e.config,n);if(Object.assign(t,o),r._tag==="success"&&r.identity.name)t[r.identity.name]=r.identity.userId;if(e.config.flow){if(!C0(e.config.flow.users,t))return e.config;return yield*e.configRepo.setupProjectConfig({account:e.config.account,board:e.config.board,todoColumn:e.config.flow.columns.todo,inProgressColumn:e.config.flow.columns.inProgress,users:t,apiUrl:e.config.apiUrl,configPath:e.config.configPath})}yield*g.log("flow config missing; initializing...");let s=yield*e.api.listColumns(),i=yield*vg(s,"TODO",()=>e.api.createColumn("TODO")),c=yield*vg(s,"INPROGRESS",()=>e.api.createColumn("INPROGRESS"));return yield*e.configRepo.setupProjectConfig({account:e.config.account,board:e.config.board,todoColumn:i,inProgressColumn:c,users:t,apiUrl:e.config.apiUrl,configPath:e.config.configPath})}),C0=(e,t)=>{let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!0;for(let[o,s]of Object.entries(t))if(e[o]!==s)return!0;return!1},vg=(e,t,r)=>a.gen(function*(){let n=t.toLowerCase(),o=e.find((i)=>i.name.toLowerCase()===n);if(o?.id)return o.id;return(yield*r()).id}),Xg=(e,t)=>{let r={...e.flow?.users};for(let n of t)for(let o of n.assignees||[])if(o.name)r[o.name]=o.id;return r},Zg=(e,t)=>{let r=e.flow.users[t];if(r)return r;let n=e.flow.users[t.toLowerCase()];if(n)return n;if(/^03[a-z0-9]{23}$/.test(t))return t;throw new le({message:`Unknown user ${t}`})},w0=(e,t)=>{let r=e[t];if(r)return r;let n=e[t.toLowerCase()];if(n)return n;if(/^03[a-z0-9]{23}$/.test(t)){if(!Object.values(e).includes(t)){let i=Object.keys(e).join(", ");throw new le({message:`User ID ${t} is not a board member. Known members: ${i}`})}return t}let o=Object.keys(e).join(", ");throw new le({message:`Unknown user "${t}". Board members: ${o}`})},k0=(e)=>["me","self","myself"].includes(e.toLowerCase()),ex=(e,t,r)=>a.gen(function*(){if(r.length===0)return yield*new le({message:"At least one user is required"});let n=yield*ai(e,!1),o={...n.users},s=r.map((f)=>k0(f)?n.identity.userId:w0(o,f)),i=n.cards.find((f)=>f.number===t)??(yield*e.api.showCard(t)),c=new Set(i.assignees?.map((f)=>f.id)??[]),l=s.filter((f)=>!c.has(f));return yield*a.forEach(l,(f)=>e.api.assignCard(t,f),{discard:!0}),yield*nt(e),{number:t,userIds:l}}),tx=(e)=>a.gen(function*(){let t=yield*e.cacheRepo.read().pipe(a.catch(()=>a.succeed(null))),r=e.config,n=[],o=[],s=t?.columns;if(!s||s.length===0)n.push("Fetched columns from API (not cached)"),s=yield*e.api.listColumns();let i=["TODO","INPROGRESS"],c=[];for(let p of i){let x=s.find((b)=>b.name.toLowerCase()===p.toLowerCase());if(!x){o.push(`Created missing column "${p}"`);let b=yield*e.api.createColumn(p);s=s.concat(b),c.push({name:p,id:b.id,found:!0})}else c.push({name:p,id:x.id,found:!0})}let l=c[0].id,f=c[1].id,m=!1;if(r.flow?.columns.todo!==l||r.flow?.columns.inProgress!==f)o.push("Updated column IDs in config"),yield*e.configRepo.setupProjectConfig({account:r.account,board:r.board,todoColumn:l,inProgressColumn:f,users:r.flow?.users,apiUrl:r.apiUrl,configPath:r.configPath}),m=!0;return{account:r.account,apiUrl:r.apiUrl,boardId:r.board??"(unknown)",columns:c,allColumns:s,systemActions:[{name:"DONE",via:"closure endpoint"},{name:"NOT_NOW",via:"not_now endpoint"}],configUpdated:m,info:n,fixes:o}}),v0=(e,t)=>Object.entries(e.users).find(([,r])=>r===t)?.[0],lu=(e)=>U0(e).concat(N0(e)).filter((t,r,n)=>n.findIndex((o)=>o.content===t.content)===r),Mt=(e)=>nx(e.replace(/`([^`]+)`/g,"$1").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/~~([^~]+)~~/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/__([^_]+)__/g,"$1").replace(/\*([^*]+)\*/g,"$1").replace(/_([^_]+)_/g,"$1").trim()),ii=(e)=>e.replace(/<img\b[^>]*\balt=(?:"([^"]*)"|'([^']*)')/gi,(t,r,n)=>r??n??"").replace(/<img\b[^>]*>/gi,"").replace(/<input[^>]*>/gi," ").replace(/<[^>]*>/g,""),R0=(e)=>{let t=e.split(/\r?\n/),r=[],n=[],o=!1,s=!1;for(let i of t){if(!o&&/^##\s+Steps\s*$/i.test(i)){o=!0,s=!0;continue}if(o&&/^##\s+/.test(i))o=!1;if(o)n.push(i);else r.push(i)}if(!s)return{cardDescription:e,templateSteps:[]};return{cardDescription:r.join(`
|
|
33
|
+
`),templateSteps:lu(n.join(`
|
|
34
|
+
`))}},rx=(e)=>nx(e.replace(/<h[1-6][^>]*>([\s\S]*?)<\/h[1-6]>/gi,(t,r)=>`
|
|
35
|
+
## ${ii(r).trim()}
|
|
36
36
|
`).replace(/<li[^>]*>([\s\S]*?)<\/li>/gi,(t,r)=>`
|
|
37
|
-
- ${
|
|
38
|
-
${
|
|
37
|
+
- ${ii(r).trim()}`).replace(/<p[^>]*>([\s\S]*?)<\/p>/gi,(t,r)=>`
|
|
38
|
+
${ii(r).trim()}
|
|
39
39
|
`).replace(/<br\s*\/?>/gi,`
|
|
40
40
|
`).replace(/<[^>]*>/g,"").replace(/\n{3,}/g,`
|
|
41
41
|
|
|
42
|
-
`).trim()),
|
|
43
|
-
`).trim();if(o)return o}return""},
|
|
44
|
-
`).trim()},
|
|
45
|
-
`)},
|
|
46
|
-
`)},
|
|
47
|
-
`)},
|
|
48
|
-
`)},
|
|
49
|
-
`)};import{dirname as
|
|
50
|
-
`),
|
|
51
|
-
`),
|
|
42
|
+
`).trim()),A0=(e)=>{let t={},r="root";for(let n of e.split(/\r?\n/)){let o=n.trimEnd(),s=o.match(/^#{1,6}\s+(.+)$/);if(s?.[1]){r=T0(s[1]),t[r]||=[];continue}t[r]||=[],t[r].push(o)}return t},T0=(e)=>Mt(e).toLowerCase().replace(/[\uFF1A:]+$/,"").trim(),mn=(e,t)=>{for(let r of t){let n=e[r];if(!n)continue;let o=O0(n).join(`
|
|
43
|
+
`).trim();if(o)return o}return""},O0=(e)=>e.map((t)=>t.trim()).filter((t)=>t.length>0).map((t)=>t.replace(/^[-*]\s+/,"- ")),I0=(e,t)=>{let r={goal:"Goal",files:"Files",verification:"Verification",notes:"Notes"},n=mn(t,["goal","\u76EE\u6807"])||e.title,o=mn(t,["files","\u6587\u4EF6"]),s=P0(mn(t,["verification","\u9A8C\u8BC1"]).split(/\r?\n/).concat(_0(mn(t,["done when","\u5B8C\u6210\u6761\u4EF6"])))),i=mn(t,["notes","\u5907\u6CE8"]),c=[`## ${r.goal}`,"",n.trim()];if(o)c.push("",`## ${r.files}`,"",o);if(s.length>0)c.push("",`## ${r.verification}`,"",...s);if(i)c.push("",`## ${r.notes}`,"",i);return c.join(`
|
|
44
|
+
`).trim()},P0=(e)=>{let t=new Set,r=[];for(let n of e){let o=n.trim();if(!o||t.has(o))continue;t.add(o),r.push(o.startsWith("-")?o:`- ${o}`)}return r},_0=(e)=>e.split(/\r?\n/).map((t)=>Mt(t.replace(/^[-*]\s+(\[[ xX]\]\s*)?/,""))).filter((t)=>/\b(pnpm|bun|test|check|build|screenshot|compare|lint|typecheck)\b/i.test(t)).map((t)=>`- ${t}`),F0=(e,t)=>{let r=mn(t,["done when","\u5B8C\u6210\u6761\u4EF6"]),n=lu(e).concat(M0(r)),o=new Set;return n.filter((s)=>{let i=Mt(s.content);if(!i||o.has(i))return!1;return o.add(i),s.content=i,!0})},M0=(e)=>e.split(/\r?\n/).flatMap((t)=>{let r=t.match(/^\s*[-*]\s+(?:\[([ xX])]\s*)?(.+)$/);if(!r?.[2])return[];return[{content:Mt(r[2]),completed:r[1]?.toLowerCase()==="x"}]}),Rg=(e)=>rx(e).replace(/\s+/g," ").trim(),U0=(e)=>e.split(/\r?\n/).flatMap((t)=>{let r=t.match(/^\s*-\s*\[([ xX])]\s*(.+)$/);if(!r)return[];let n=Mt(r[2].trim());if(!n)return[];return[{content:n,completed:r[1].toLowerCase()==="x"}]}),N0=(e)=>{let t=e.matchAll(/<li[^>]*class=["'][^"']*task-list-item[^"']*["'][^>]*>([\s\S]*?)<\/li>/gi),r=[];for(let n of t){let o=n[1]||"",s=/<input[^>]*\bchecked\b[^>]*>/i.test(o),i=Mt(ii(o));if(!i)continue;r.push({content:i,completed:s})}return r},Ag={apos:"'",amp:"&",copy:"\xA9",gt:">",lt:"<",ldquo:"\u201C",rdquo:"\u201D",reg:"\xAE",quot:'"',nbsp:" ",trade:"\u2122",hellip:"\u2026",ndash:"\u2013",mdash:"\u2014"},nx=(e)=>e.replace(/&([a-zA-Z]+);/g,(t,r)=>{if(!r)return t;return(r in Ag?Ag[r]:void 0)??t}).replace(/&#x([0-9A-Fa-f]+);/g,(t,r)=>{if(!r)return t;let n=Number.parseInt(r,16);if(Number.isNaN(n))return t;return String.fromCodePoint(n)}).replace(/&#(\d+);/g,(t,r)=>{if(!r)return t;let n=Number.parseInt(r,10);if(Number.isNaN(n))return t;return String.fromCodePoint(n)}),z0=/(<[^>]+>|`|^#{1,6}\s+.+|\*\*[^*]+\*\*|\[[^\]]+\]\([^)]+\)|!\[[^\]]*\]\([^)]+\)|~~[^~]+~~|\b_[^_]+_\b|^\s{0,3}[-+*]\s+\[[ xX]\]|^\s{0,3}\d+\.\s+|^\s{0,3}>\s+|^```)/m,pu=(e)=>z0.test(e)?Bun.markdown.html(e):e,Tg=(e,t)=>a.tryPromise({try:async()=>{let r=Bun.spawn({cmd:["git",...t],cwd:e,stdout:"pipe",stderr:"pipe"}),[n,o,s]=await Promise.all([new Response(r.stdout).text(),new Response(r.stderr).text(),r.exited]);if(s!==0)throw Error(o.trim()||`git ${t.join(" ")} failed`);return n.trim()},catch:(r)=>new le({message:`Unable to derive done ref from git: ${String(r)}. Pass an explicit ref.`})});var D0=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`,"g");var $0=()=>{if(typeof Bun?.color!=="function")return!1;if(process.env.NO_COLOR)return!1;if(process.env.CI&&process.env.CI!=="false")return!1;return Boolean(process.stdout?.isTTY)},L0=(e)=>e.replace(D0,""),du=(e)=>Math.max(0,Bun.stringWidth(L0(e))),j0=(e,t)=>{if(!$0())return e;let r=Bun.color(t,"ansi");if(!r)return e;return`${r}${e}\x1B[0m`},mu=(e,t,r={})=>{if(e.length===0)return"(none)";let n=" ".repeat(Math.max(0,r.gap??2)),o=r.showHeader??!1,s=e.map((m)=>t.map((p)=>p.value(m))),i=t.map((m)=>m.header),c=t.map((m,p)=>{let x=du(i[p]||""),b=s.reduce((y,k)=>Math.max(y,du(k[p]||"")),0);return Math.max(x,b)}),l=(m,p,x="left")=>{let b=Math.max(0,p-du(m));return x==="right"?" ".repeat(b)+m:`${m}${" ".repeat(b)}`},f=[];if(o){let m=t.map((p,x)=>l(r.formatHeader?r.formatHeader(p.header):p.header,c[x]??0,"left")).join(n);f.push(m)}for(let[m,p]of s.entries()){let x=e[m],b=p.map((y)=>r.formatValue?r.formatValue(y,x):y).map((y,k)=>l(y,c[k]??0,t[k]?.align)).join(n);f.push(b)}return f.join(`
|
|
45
|
+
`)},H0=(e,t={})=>{if(e.length===0)return"";let r=t.bullet||"-",n=t.align??!1,o=n?Math.max(...e.map(([s])=>s.length),0):0;return e.map(([s,i])=>`${r} ${n?s.padEnd(o):s}: ${i}`).join(`
|
|
46
|
+
`)},ui=(e)=>{if(e.length===0)return"(none)";return mu(e,[{header:"column",value:cx,align:"left"},{header:"id",value:(r)=>j0(`#${r.number}`,"cyan")},{header:"assignees",value:ax},{header:"title",value:(r)=>r.title}],{gap:2})},ox=(e,t)=>{let r=e.steps??[],n=[`# #${e.number} ${e.title}`,"",H0([["column",cx(e)],["assignees",ax(e)],["closed",`${Boolean(e.closed)}`]]),"","## Description",...q0(e.description||"")];if(r.length>0)n.push("","## Steps",...r.map((o)=>`- ${o.completed?"[x]":"[ ]"} ${o.content}`));if(t.length>0){n.push("","## Last comments");for(let o of t){let s=o.creator?.name||"?",i=(o.body?.plain_text||"").replace(/\n+/g," / ").trim()||"(no content)";n.push(`- ${B0(o.created_at)} ${s}: ${i}`)}}return n.join(`
|
|
47
|
+
`)},sx=(e)=>{if(e.length===0)return"no new steps";return e.map((t)=>` + ${t.completed?"[x]":"[ ]"} ${t.content}`).join(`
|
|
48
|
+
`)},ix=(e)=>{let t=(s)=>{if(s<1024)return`${s} B`;if(s<1048576)return`${(s/1024).toFixed(1)} KB`;return`${(s/1048576).toFixed(1)} MB`},r={children:{}};for(let s of e){let i=s.key.split("/"),c=r;for(let l of i){if(l==="")continue;if(!c.children[l])c.children[l]={children:{}};c=c.children[l]}c.size=s.size}let n=[],o=(s,i,c)=>{for(let l=0;l<c.length;l++){let f=c[l],m=s.children[f];if(!m)continue;let p=Object.keys(m.children),x=l===c.length-1,b=i+(x?" ":"\u2502 "),y=m.size!==void 0?` ${t(m.size)}`:"";if(n.push(`${i}${x?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 "}${f}${p.length>0?"/":""}${y}`),p.length>0)o(m,b,p)}};return o(r,"",Object.keys(r.children)),n},cx=(e)=>e.column?.name||"TRIAGE",ax=(e)=>{let t=(e.assignees||[]).map((r)=>r.name).filter(Boolean);return t.length===0?"-":t.join(", ")},B0=(e)=>e?e.replace(/T.*/,""):"?",q0=(e)=>{let t=e.trim();if(!t)return["(no description)"];return t.split(`
|
|
49
|
+
`)};import{dirname as ux,join as _r}from"path";var fx=_r(".agents","skills","fizzyx","SKILL.md"),lx=_r(".agents","skills","fizzyx","WORKFLOW.md"),px=_r(".agents","skills","fizzyx","CARD_TEMPLATE.md"),hu=()=>a.flatMap(G,(e)=>e.loadProjectConfigOptional().pipe(a.catchDefect(()=>a.succeed(void 0)),a.catch(()=>a.succeed(void 0)),a.map((t)=>t?.rootDir??process.cwd()))),W0=(e)=>a.gen(function*(){if(!(yield*a.tryPromise({try:()=>Bun.file(e).exists(),catch:(r)=>Error(`failed to check ${e}: ${String(r)}`)})))return;return yield*a.tryPromise({try:()=>Bun.file(e).text(),catch:(r)=>Error(`failed to read ${e}: ${String(r)}`)})}),dx=(e)=>a.tryPromise({try:()=>import("fs/promises").then((t)=>t.mkdir(ux(e),{recursive:!0,mode:448})),catch:(t)=>Error(`failed to create ${ux(e)}: ${String(t)}`)}),mx=(e,t)=>a.tryPromise({try:()=>Bun.write(e,t),catch:(r)=>Error(`failed to write ${e}: ${String(r)}`)}),gu=(e,t)=>a.gen(function*(){let r=yield*hu(),n=_r(r,e),o=yield*W0(n);if(o!==void 0)return o;return t()}),hx=()=>gu(lx,()=>bx()),gx=()=>gu(fx,Sx),xu=()=>gu(px,()=>Cx()),xx=()=>a.gen(function*(){let e=yield*hu(),t=yield*xu();for(let r=0;r<10;r+=1){let n=`card-${crypto.randomUUID().slice(0,8)}.md`,o=_r(".fizzyx",n),s=_r(e,o);if(yield*a.tryPromise({try:()=>Bun.file(s).exists(),catch:(c)=>Error(`failed to check ${s}: ${String(c)}`)}))continue;return yield*dx(s),yield*mx(s,`${t}
|
|
50
|
+
`),{path:o}}return yield*a.fail(Error("failed to create unique draft path"))}),yx=({force:e})=>a.gen(function*(){let t=yield*hu(),r=[{path:fx,content:Sx()},{path:lx,content:bx()},{path:px,content:Cx()}],n=[];for(let o of r){let s=_r(t,o.path),i=yield*a.tryPromise({try:()=>Bun.file(s).exists(),catch:(c)=>Error(`failed to check ${s}: ${String(c)}`)});if(i&&!e){n.push({path:o.path,action:"skipped"});continue}yield*dx(s),yield*mx(s,`${o.content}
|
|
51
|
+
`),n.push({path:o.path,action:i?"overwritten":"created"})}return n}),Ex=(e)=>`${e.action}: ${e.path}`,bx=()=>["## Workflow","","This is the default starter workflow. Customize a project-local policy by editing","","\t.agents/skills/fizzyx/WORKFLOW.md","","in your repository.","","## Setup","- fizzyx setup <board-id>","- fizzyx auth login <token>","- fizzyx auth status","","## Create","- fizzyx flow template --draft","- edit card content and steps in .fizzyx/card-<random>.md",'- fizzyx flow add <user> "<title>" --desc .fizzyx/card-<random>.md',"- delete .fizzyx/card-<random>.md after the card is created","- Use a unique random suffix so multiple agents do not collide.","","## Workflow","Cards move through workflow columns, then close into Done state.","","- fizzyx flow start <card> \u2014 moves card from TODO to IN PROGRESS, self-assigns","- fizzyx flow done <card> \u2014 closes into Done, auto-detects git ref, comments",'- fizzyx flow done <card> "commit <sha>: <subject>" \u2014 with explicit ref',"","## Daily","- fizzyx flow mine --fresh","- fizzyx flow start <card>","- fizzyx flow show <card>","","## Work","- Inspect task goal and constraints","- Draft clear implementation steps","- Implement changes","- Verify tests and acceptance criteria","","## Complete","- fizzyx flow complete-steps <card> \u2014 mark all pending steps done (required before done)","- fizzyx flow done <card> \u2014 closes into Done and writes comment (ref auto-detected from git)",'- fizzyx flow done <card> "message" \u2014 with explicit ref',"- flow done requires all steps complete; otherwise it fails with an error listing unfinished steps.","","## Block",'- fizzyx flow block <card> "<reason>"',"- Use fizzyx flow comment-template <kind> for manual comments, and keep comments concise.","","## Card structure","- Description stores context","- Steps become Fizzy checklist items","","## Close discipline","- Never close cards through the web UI.","- Close only via CLI:"," 1) fizzyx flow complete-steps <card>"," 2) fizzyx flow done <card>",""].join(`
|
|
52
|
+
`),Sx=()=>`---
|
|
52
53
|
name: fizzyx
|
|
53
54
|
description: Manage this repository's board through fizzyx flow commands.
|
|
54
55
|
triggers:
|
|
@@ -75,13 +76,13 @@ for project workflow. If fizzyx flow lacks an operation, stop and ask.
|
|
|
75
76
|
|
|
76
77
|
## Workflow
|
|
77
78
|
|
|
78
|
-
Cards move through columns
|
|
79
|
+
Cards move through workflow columns, then close into **Done** state.
|
|
79
80
|
|
|
80
81
|
| Phase | Command | Action |
|
|
81
82
|
|-------|---------|--------|
|
|
82
83
|
| Start | fizzyx flow start <card> | Move TODO \u2192 IN PROGRESS, self-assign |
|
|
83
84
|
| Steps | fizzyx flow complete-steps <card> | Mark all pending steps done |
|
|
84
|
-
| Done | fizzyx flow done <card> "commit <sha>: <subject>" |
|
|
85
|
+
| Done | fizzyx flow done <card> "commit <sha>: <subject>" | Close into Done, comment |
|
|
85
86
|
|
|
86
87
|
**Never** close a card directly without flow done.
|
|
87
88
|
|
|
@@ -144,6 +145,8 @@ fizzyx flow std-all
|
|
|
144
145
|
## Cards
|
|
145
146
|
|
|
146
147
|
- Generate new card bodies with fizzyx flow template.
|
|
148
|
+
- Prefer fizzyx flow template --draft for temporary card drafts; it creates .fizzyx/card-<random>.md with a unique suffix.
|
|
149
|
+
- Delete the matching temporary draft after fizzyx flow add succeeds.
|
|
147
150
|
- Description is context only. Card titles and fields are standardized in English.
|
|
148
151
|
- Put work checklist under ## Steps; flow add converts it to card steps.
|
|
149
152
|
- Step labels must be plain text: no Markdown links, code ticks, or bold.
|
|
@@ -156,10 +159,10 @@ fizzyx flow std-all
|
|
|
156
159
|
- **Always close cards through the CLI**, never by clicking close in the UI.
|
|
157
160
|
- Close sequence:
|
|
158
161
|
1. fizzyx flow complete-steps <card> \u2014 mark all pending steps done
|
|
159
|
-
2. fizzyx flow done <card> \u2014
|
|
162
|
+
2. fizzyx flow done <card> \u2014 close into Done and comment (ref auto-detected from git)
|
|
160
163
|
3. fizzyx flow done <card> "message" \u2014 with explicit ref (optional)
|
|
161
164
|
- flow done requires all steps to be complete; it will fail with an error if any step is unfinished.
|
|
162
|
-
- Keep comments concise; use fizzyx flow comment-template <kind> for format.`,
|
|
165
|
+
- Keep comments concise; use fizzyx flow comment-template <kind> for format.`,Cx=()=>{let e=J0(),t=V0();return`## ${e.goal}
|
|
163
166
|
${t.goal}
|
|
164
167
|
|
|
165
168
|
## ${e.scope}
|
|
@@ -184,20 +187,22 @@ ${t.goal}
|
|
|
184
187
|
- [ ] ${t.stepGoal}
|
|
185
188
|
- [ ] ${t.stepImplementation}
|
|
186
189
|
- [ ] ${t.stepPlain}
|
|
187
|
-
- [ ] ${t.stepClose}`},
|
|
188
|
-
`)}),yield*e})}
|
|
190
|
+
- [ ] ${t.stepClose}`},V0=()=>({goal:"Define the ticket objective in 1-2 concise sentences.",include:"What should be included",exclude:"What should not be included",noteSmall:"Keep changes small and deterministic",notePattern:"Prefer existing patterns",files:"Files to touch (relative path)",verification:"Validation and acceptance checks to run before handoff",stepGoal:"Replace goal + scope text with final content",stepImplementation:"Add or update implementation files",stepPlain:"Keep step descriptions in plain text",stepClose:"Confirm checks and run fizzyx flow done <number> to close"}),J0=()=>({scope:"Scope",goal:"Goal",include:"In",exclude:"Out",files:"Files",verification:"Verification",notes:"Notes"});var wx=["\u25D0","\u25D3","\u25D1","\u25D2"],K0=80,Q0="\r\x1B[2K",yu=(e)=>e?.stderr??process.stderr,Y0=(e)=>e?.env??process.env,G0=(e)=>{if(!yu(e).isTTY)return!1;let r=Y0(e);if(r.CI||r.NO_COLOR||r.FIZZYX_NO_SPINNER==="1")return!1;return!0},X0=(e)=>{e.write(Q0)},Z0=(e,t)=>{let r=yu(t),n=t.intervalMs??K0;return a.sync(()=>{let o=0,s=()=>{let c=wx[o++%wx.length];r.write(`\r${e} ${c}`)};s();let i=setInterval(s,n);return{stop(){clearInterval(i),X0(r)}}})},ev=(e,t,r)=>{let n=yu(r);return a.gen(function*(){return yield*a.sync(()=>{n.write(`${t}
|
|
191
|
+
`)}),yield*e})},L=(e,t,r)=>{if(!G0(r)){if(r?.showStatusLine)return ev(t,e,r);return t}return a.gen(function*(){let n=yield*Z0(e,r??{});return yield*t.pipe(a.onExit(()=>a.sync(()=>{n.stop()})))})};var Fx=(e)=>a.gen(function*(){let[t="help",...r]=e;switch(t){case"help":case"--help":case"-h":yield*g.log(Mx());return;case"setup":{if(j(r)){yield*g.log(fv());return}let n=iv(r);if(n.list){let s=yield*L("Loading Fizzy boards...",Ug());if(s.length===0){yield*g.log("(no boards)");return}yield*g.log(mu(s,[{header:"id",value:(i)=>i.id},{header:"name",value:(i)=>i.name}]));return}let o=yield*L("Initializing Fizzy workflow...",Mg(n));yield*g.log(`created ${o.configPath}`);return}case"auth":yield*ov(r);return;case"flow":yield*nv(r);return;case"oss":yield*sv(r);return;default:throw Error(rv(t))}}),tv={sync:"sync",mine:"mine",status:"status",next:"next",show:"show",start:"start",done:"done",block:"block",add:"add","steps-from-desc":"steps-from-desc","repair-markdown":"repair-markdown","complete-steps":"complete-steps","comment-template":"comment-template","standardize-card":"standardize-card","standardize-board":"standardize-board",std:"std","std-all":"std-all",workflow:"workflow",skill:"skill"},rv=(e)=>{let t=tv[e];if(t)return`unknown command: ${e}. Did you mean: fizzyx flow ${t}?`;return`unknown command: ${e}
|
|
189
192
|
|
|
190
|
-
${
|
|
191
|
-
# not_now (${n.cache.notNow.length})`),yield*g.log(
|
|
192
|
-
`));return}case"std":case"standardize-card":{if(j(r)){yield*g.log(
|
|
193
|
-
`)),yield*g.log(`total=${n.total} descriptions=${n.descriptionUpdated} steps_created=${n.stepsCreated} steps_updated=${n.stepsUpdated} steps_completed=${n.stepsCompleted}`);return}case"add":{if(j(r)){yield*g.log(
|
|
193
|
+
${Mx()}`},nv=(e)=>a.gen(function*(){let[t="help",...r]=e;if(wo(t)){yield*g.log(Eu());return}switch(t){case"sync":{if(j(r)){yield*g.log(lv());return}let n=yield*L("Syncing Fizzy board...",a.gen(function*(){let o=yield*pe;return yield*nt(o)}));yield*g.log(`synced cards=${n.cards.length} not_now=${n.notNow.length}`);return}case"mine":{if(j(r)){yield*g.log(pv());return}let n=r.includes("--fresh"),o=cv(r),s=yield*L("Loading my tasks...",a.gen(function*(){let i=yield*pe;return yield*uu(i,{fresh:n,user:o})}));yield*g.log(`# ${s.name}: ${s.userId}`),yield*g.log(ui(s.cards));return}case"status":{if(j(r)){yield*g.log(dv());return}let n=yield*L("Loading board status...",a.gen(function*(){let s=yield*pe,i=yield*$g(s,{fresh:r.includes("--fresh")});return{env:s,result:i}}));yield*g.log(`# board cache age: ${n.result.age}s`),yield*g.log("");let o=new Set([n.env.config.flow.columns.inProgress,n.env.config.flow.columns.todo]);if(yield*g.log(ui(n.result.cache.cards.filter((s)=>o.has(s.column?.id||"")))),n.result.cache.notNow.length>0)yield*g.log(`
|
|
194
|
+
# not_now (${n.result.cache.notNow.length})`),yield*g.log(ui(n.result.cache.notNow));return}case"next":{if(j(r)){yield*g.log(mv());return}let n=yield*L("Loading next task...",a.gen(function*(){let o=yield*pe;return yield*jg(o,{fresh:r.includes("--fresh")})}));if(!n.card){yield*g.log(`no TODO card for ${n.user.name}`);return}yield*g.log(`#${n.card.number} ${n.card.title}`),yield*g.log(`next: fizzyx flow start ${n.card.number}`);return}case"show":{if(j(r)){yield*g.log(hv());return}let n=Ut(r[0]),o=yield*L("Loading card details...",a.gen(function*(){let s=yield*pe;return yield*Lg(s,n)}));yield*g.log(ox(o.card,o.comments));return}case"start":{if(j(r)){yield*g.log(gv());return}let n=Ut(r[0]);yield*L("Starting card...",a.gen(function*(){let o=yield*pe;return yield*Hg(o,n)})),yield*g.log(`started #${n}`);return}case"done":{if(j(r)){yield*g.log(xv());return}let n=Ut(r[0]),o=r.slice(1).filter((c)=>!wo(c)).join(" "),s=o?o:yield*qg(),i=yield*L("Closing card...",a.gen(function*(){let c=yield*pe;return yield*Bg(c,n,s)}));yield*g.log(`closed #${i.number} (${i.ref})`);return}case"block":{if(j(r)){yield*g.log(yv());return}let n=Ut(r[0]),o=r.slice(1).join(" "),s=yield*L("Marking card blocked...",a.gen(function*(){let i=yield*pe;return yield*Wg(i,n,o)}));yield*g.log(`blocked #${s.number}: ${s.reason}`);return}case"assign":{if(j(r)){yield*g.log(Ix());return}let n=Ut(r[0]),o=r.slice(1).filter((i)=>!i.startsWith("--"));if(o.length===0)throw Error(Ix());let s=yield*L("Assigning card...",a.gen(function*(){let i=yield*pe;return yield*ex(i,n,o)}));yield*g.log(`assigned #${s.number} to ${s.userIds.join(", ")}`);return}case"comment-template":{if(j(r)){yield*g.log(Rx());return}let[n]=r;if(!uv(n))throw Error(Rx());yield*g.log(_g(n));return}case"workflow":{if(j(r)){yield*g.log(bv());return}yield*g.log(yield*L("Reading local workflow template...",hx()));return}case"skill":{let[n,...o]=r;if(n==="init"){if(j(o)){yield*g.log(Tx());return}for(let l of o)if(l!=="--force")throw Error(Tx());let i=o.includes("--force"),c=yield*L("Writing flow skill scaffold...",yx({force:i}));for(let l of c)yield*g.log(Ex(l));return}if(j(r)){yield*g.log(Ax());return}if(n!==void 0)throw Error(Ax());let s=yield*L("Reading local skill file...",gx());yield*g.log(s);return}case"repair-markdown":{if(j(r)){yield*g.log(Ev());return}let n=Ut(r[0]),o=yield*L("Repairing card description...",a.gen(function*(){let s=yield*pe;return yield*Jg(s,n)}));yield*g.log(`repaired #${o}`);return}case"complete-steps":{if(j(r)){yield*g.log(Sv());return}let n=Ut(r[0]),o=yield*L("Completing pending steps...",a.gen(function*(){let i=yield*pe;return yield*Kg(i,n)})),s=o.updatedCount===1?"":"s";if(yield*g.log(`completed ${o.updatedCount} step${s} for #${o.number}`),o.contents.length>0)yield*g.log(o.contents.map((i)=>`- ${i}`).join(`
|
|
195
|
+
`));return}case"std":case"standardize-card":{if(j(r)){yield*g.log(Cv());return}let n=Ut(r[0]),o=yield*L("Standardizing card...",a.gen(function*(){let s=yield*pe;return yield*fu(s,n)}));yield*g.log(kx(o));return}case"std-all":case"standardize-board":{if(j(r)){yield*g.log(wv());return}let n=yield*L("Standardizing board...",a.gen(function*(){let o=yield*pe;return yield*Yg(o)}));yield*g.log(n.results.map(kx).join(`
|
|
196
|
+
`)),yield*g.log(`total=${n.total} descriptions=${n.descriptionUpdated} steps_created=${n.stepsCreated} steps_updated=${n.stepsUpdated} steps_completed=${n.stepsCompleted}`);return}case"add":{if(j(r)){yield*g.log(Ox());return}let n=r[0],o=r[1],s=Fr(r,"--desc");if(!n||!o||!s)throw Error(Ox());let i=yield*L("Creating card...",a.gen(function*(){let c=yield*av(s),l=yield*pe;return yield*Vg(l,{user:n,title:o,description:c})}));yield*g.log(i);return}case"steps-from-desc":{if(j(r)){yield*g.log(vv());return}let n=Ut(r[0]),o=yield*L("Syncing Done When steps...",a.gen(function*(){let s=yield*pe;return yield*Qg(s,n)}));yield*g.log(sx(o));return}case"template":{if(j(r)){yield*g.log(kv());return}if(r.includes("--draft")){let n=yield*L("Writing card draft...",xx());yield*g.log(n.path);return}yield*g.log(yield*L("Reading local card template...",xu()));return}case"doctor":{if(j(r)){yield*g.log(Av());return}let n=yield*L("Checking flow health...",a.gen(function*(){let s=yield*pe;return yield*tx(s)})),o=[];o.push("=== Board Health ==="),o.push(`account: ${n.account}`),o.push(`board: ${n.boardId}`),o.push(`api: ${n.apiUrl}`),o.push(""),o.push("API-visible columns:");for(let s of n.allColumns){let c=n.columns.some((l)=>l.id===s.id)?"\u2713":"\u2022";o.push(` ${c} ${s.name} (${s.id})`)}o.push(""),o.push("Implicit system actions:");for(let s of n.systemActions)o.push(` \u2713 ${s.name} via ${s.via} (not listed by columns API)`);if(n.info.length>0){o.push("");for(let s of n.info)o.push(` i ${s}`)}if(n.fixes.length>0){o.push(`
|
|
194
197
|
Fixes:`);for(let s of n.fixes)o.push(` \u2022 ${s}`)}else o.push(`
|
|
195
198
|
All good!`);yield*g.log(o.join(`
|
|
196
|
-
`));return}case"init":{if(j(r)){yield*g.log(
|
|
199
|
+
`));return}case"init":{if(j(r)){yield*g.log(Rv());return}let n=yield*L("Initializing workflow config...",pe);yield*g.log(`flow configured: todo=${n.config.flow.columns.todo} in_progress=${n.config.flow.columns.inProgress}`);return}case"help":case"--help":case"-h":yield*g.log(Eu());return;default:throw Error(`unknown flow command: ${t}
|
|
197
200
|
|
|
198
|
-
${
|
|
201
|
+
${Eu()}`)}}),ov=(e)=>a.gen(function*(){let[t="help",...r]=e;if(wo(t)){yield*g.log(vx());return}switch(t){case"login":{if(j(r)||!r[0])throw Error(Tv());let n=yield*L("Saving credentials...",Ng(r[0]));yield*g.log(`token saved for ${n}`);return}case"status":{if(j(r)){yield*g.log(Ov());return}let n=yield*L("Checking auth status...",zg);if(yield*g.log(`account: ${n.account}`),yield*g.log(`board: ${n.board}`),yield*g.log(`authenticated: ${n.authenticated}`),n.identity)yield*g.log(`user: ${n.identity.name||""}`),yield*g.log(`user_id: ${n.identity.userId}`),yield*g.log(`email: ${n.identity.email||""}`);else if(n.identityError)yield*g.log(`identity_error: ${n.identityError}`);return}case"logout":{if(j(r)){yield*g.log(Iv());return}let n=yield*L("Clearing credentials...",Dg);yield*g.log(`token removed for ${n}`);return}default:throw Error(vx())}}),sv=(e)=>a.gen(function*(){let[t="help",...r]=e;if(wo(t)){yield*g.log(Px());return}switch(t){case"ls":{if(j(r)){yield*g.log(Pv());return}let n=fi(r,"dev"),o=Fr(r,"--prefix")??void 0,s=yield*L(`Listing ${n}...`,ih({env:n,prefix:o}));if(s.objects.length===0){yield*g.log(`${n}: no objects found`);return}let i=ix(s.objects);for(let c of i)yield*g.log(c);if(s.isTruncated)yield*g.log(" ... (truncated, more objects available)");yield*g.log(`${n}: ${s.objects.length} objects`);return}case"sync":{if(j(r)){yield*g.log(_v());return}let n=fi(r,"dev"),o=r.includes("--full"),s=r.includes("--verify"),i=!r.includes("--no-urls"),c=process.stderr,l=c.isTTY,f=["\u25D0","\u25D3","\u25D1","\u25D2"],m=0,p={checking:" ",uploading:"\u2191",skipping:"\u2192",error:"\u2717"},x=Date.now(),b=!1,k=yield*oh({env:n,full:o,verify:s,onProgress:(H)=>{if(!l)return;if(!(b||H.action==="uploading"||H.action==="error"||Date.now()-x>120))return;b=!0;let ye=p[H.action]??" ",de=f[m++%f.length],ot=Math.round(H.current/H.total*100),st=16,B=Math.round(H.current/H.total*st),er="\u2588".repeat(B)+"\u2591".repeat(Math.max(0,st-B)),tr=` ${de} ${n} [${er}] ${ot}% ${ye} ${H.file} `;c.write(`\r${tr}`)}});if(l&&b)c.write("\r\x1B[2K");if(k.errors.length>0)for(let H of k.errors)yield*g.error(` error: ${H}`);let F=k.durationMs>=1000?`${(k.durationMs/1000).toFixed(1)}s`:`${k.durationMs}ms`;if(yield*g.log(` \u2713 ${n} synced \xB7 ${k.uploaded} uploaded \xB7 ${k.skipped} skipped \xB7 ${F}`),i&&k.uploadedKeys.length>0){let H=k.endpoint.replace(/\/+$/,"");for(let te of k.uploadedKeys)yield*g.log(` ${H}/${te}`)}return}case"status":{if(j(r)){yield*g.log(Fv());return}let n=fi(r,"dev"),o=r.includes("--files"),s=yield*L("Checking OSS status...",sh({env:n}));if(yield*g.log(`env: ${s.env}`),yield*g.log(`total local files: ${s.totalLocal}`),yield*g.log(`manifest entries: ${s.manifestEntries}`),yield*g.log(`pending uploads: ${s.pendingUploads}`),yield*g.log(`pending deletions: ${s.pendingDeletions}`),o){if(s.pendingUploadFiles.length>0){yield*g.log(`
|
|
202
|
+
pending upload files:`);for(let i of s.pendingUploadFiles)yield*g.log(` + ${i}`)}if(s.pendingDeletionFiles.length>0){yield*g.log(`
|
|
203
|
+
manifest-only files:`);for(let i of s.pendingDeletionFiles)yield*g.log(` - ${i}`)}}yield*g.log(`manifest: ${s.manifestPath}`);return}case"setup":{if(j(r)){yield*g.log(_x());return}let n=fi(r,"default"),o=Fr(r,"--endpoint"),s=Fr(r,"--region"),i=Fr(r,"--bucket"),c=Fr(r,"--local-dir"),l=Fr(r,"--remote-prefix");if(!o&&!s&&!i&&!c&&l===void 0){if(yield*L("Checking OSS config...",th()))yield*g.log("OSS scaffold written to .fizzy.yaml"),yield*g.log("Edit endpoint, region, local_dir, and optionally bucket/remote_prefix in the file"),yield*g.log("");yield*g.log(`Configuring keys for [${n}]:`);let k=yield*li(" Access Key ID: "),F=yield*li(" Secret Access Key: ");if(!k||!F){yield*g.log("Keys not provided \u2014 add them later with: fizzyx oss setup --env <name>");return}yield*L("Storing credentials...",rh(n,k,F)),yield*g.log("Credentials stored in OS keychain (service: fizzyx-oss)");return}if(!o||!s||!c)throw Error(_x());yield*g.log(`Configuring OSS [${n}]:`);let f=yield*li(" Access Key ID: "),m=yield*li(" Secret Access Key: ");if(!f||!m)throw Error("Access Key ID and Secret Access Key are required");let p={env:n,config:{endpoint:o,region:s,...i?{bucket:i}:{},accessKeyId:f,secretAccessKey:m},sync:{localDir:c,remotePrefix:l??void 0}},b=(yield*L("Writing OSS config...",nh(p))).environments[n];if(!b)throw Error(`OSS environment "${n}" not found after setup`);yield*g.log(`OSS ${n} config written to ${b.endpoint}`),yield*g.log("Credentials stored in OS keychain (service: fizzyx-oss)");return}default:throw Error(`unknown oss command: ${t}
|
|
199
204
|
|
|
200
|
-
${
|
|
205
|
+
${Px()}`)}}),fi=(e,t)=>{if(e.includes("--prod"))return"prod";if(e.includes("--env")){let r=e.indexOf("--env"),n=e[r+1];if(n)return n}return t},iv=(e)=>{let t=e.includes("--list"),r=e.filter((o)=>o.startsWith("--")),n=e.filter((o)=>!o.startsWith("--"));if(t){if(r.length>1||n.length>0)throw Error("usage: fizzyx setup --list");return{list:!0}}if(r.length>0||n.length!==1)throw Error("usage: fizzyx setup <board-id>");return{board:n[0]}},Ut=(e)=>{let t=Number.parseInt((e||"").replace(/^#/,""),10);if(!Number.isFinite(t))throw Error("card number is required");return t},Fr=(e,t)=>{let r=e.indexOf(t);if(r<0||!e[r+1])return;return e[r+1]},cv=(e)=>e.find((t)=>!t.startsWith("--")),li=(e)=>a.tryPromise({try:()=>new Promise((t)=>{let r=Nt("readline").createInterface({input:process.stdin,output:process.stderr});r.question(e,(n)=>{r.close(),t(n.trim())})}),catch:(t)=>Error(String(t))}),av=(e)=>e==="-"?a.tryPromise({try:()=>Bun.stdin.text(),catch:(t)=>Error(`failed to read stdin: ${String(t)}`)}):a.tryPromise({try:()=>Bun.file(e).text(),catch:(t)=>Error(`failed to read ${e}: ${String(t)}`)}),kx=(e)=>`standardized #${e.number} description=${e.descriptionUpdated?"yes":"no"} steps_created=${e.stepsCreated} steps_updated=${e.stepsUpdated} steps_completed=${e.stepsCompleted}`,uv=(e)=>e==="done"||e==="blocked"||e==="unblocked"||e==="handoff"||e==="note",wo=(e)=>e==="help"||e==="--help"||e==="-h",j=(e)=>e.some(wo),Mx=()=>`fizzyx <command>
|
|
201
206
|
|
|
202
207
|
commands:
|
|
203
208
|
setup
|
|
@@ -207,17 +212,17 @@ commands:
|
|
|
207
212
|
|
|
208
213
|
Use:
|
|
209
214
|
fizzyx <command> -h
|
|
210
|
-
for command help.`,
|
|
215
|
+
for command help.`,fv=()=>`fizzyx setup <command>
|
|
211
216
|
|
|
212
217
|
commands:
|
|
213
218
|
setup <board-id>
|
|
214
|
-
setup --list`,
|
|
219
|
+
setup --list`,vx=()=>`fizzyx auth <command>
|
|
215
220
|
|
|
216
221
|
commands:
|
|
217
222
|
auth login <token>
|
|
218
223
|
auth status
|
|
219
224
|
auth logout
|
|
220
|
-
auth help`,
|
|
225
|
+
auth help`,Eu=()=>`fizzyx flow <command>
|
|
221
226
|
|
|
222
227
|
commands:
|
|
223
228
|
sync
|
|
@@ -236,24 +241,25 @@ commands:
|
|
|
236
241
|
std <card>
|
|
237
242
|
std-all
|
|
238
243
|
add <user> <title> --desc <file|->
|
|
239
|
-
assign <card> <user> [user...]
|
|
240
|
-
template
|
|
244
|
+
assign <card> <user|me> [user...]
|
|
245
|
+
template [--draft]
|
|
241
246
|
steps-from-desc <card>
|
|
242
247
|
init
|
|
243
248
|
doctor
|
|
244
|
-
flow help`,
|
|
249
|
+
flow help`,lv=()=>"fizzyx flow sync",pv=()=>"fizzyx flow mine [--fresh] [user]",dv=()=>"fizzyx flow status [--fresh]",mv=()=>"fizzyx flow next [--fresh]",hv=()=>"fizzyx flow show <card>",gv=()=>"fizzyx flow start <card>",xv=()=>"fizzyx flow done <card> [ref]",yv=()=>"fizzyx flow block <card> <reason>",Ev=()=>"fizzyx flow repair-markdown <card>",Rx=()=>"fizzyx flow comment-template <kind>",bv=()=>"fizzyx flow workflow",Ax=()=>"fizzyx flow skill",Tx=()=>"fizzyx flow skill init [--force]",Sv=()=>"fizzyx flow complete-steps <card>",Cv=()=>"fizzyx flow std <card> (alias: standardize-card)",wv=()=>"fizzyx flow std-all (alias: standardize-board)",Ox=()=>"fizzyx flow add <user> <title> --desc <file|->",Ix=()=>"fizzyx flow assign <card> <user|me> [user...]",kv=()=>"fizzyx flow template [--draft]",vv=()=>"fizzyx flow steps-from-desc <card>",Rv=()=>"fizzyx flow init",Av=()=>"fizzyx flow doctor",Tv=()=>"fizzyx auth login <token>",Ov=()=>"fizzyx auth status",Iv=()=>"fizzyx auth logout",Px=()=>`fizzyx oss <command>
|
|
245
250
|
|
|
246
251
|
commands:
|
|
247
252
|
ls [--env <name>] [--prefix <prefix>]
|
|
248
253
|
sync [--env <name>] [--full] [--no-urls] [--verify]
|
|
249
|
-
status [--env <name>]
|
|
254
|
+
status [--env <name>] [--files]
|
|
250
255
|
setup [--env <name> --endpoint <url> --region <region>
|
|
251
|
-
--local-dir <path>] [--bucket <name>] [--remote-prefix <prefix>]`,
|
|
252
|
-
List objects in the remote bucket`,
|
|
256
|
+
--local-dir <path>] [--bucket <name>] [--remote-prefix <prefix>]`,Pv=()=>`fizzyx oss ls [--env <name>] [--prefix <prefix>]
|
|
257
|
+
List objects in the remote bucket`,_v=()=>`fizzyx oss sync [--env <name>] [--full] [--no-urls] [--verify]
|
|
253
258
|
--full: ignore manifest, force full upload
|
|
254
259
|
--no-urls: suppress file URL output
|
|
255
|
-
--verify: check remote existence before skipping files`,
|
|
260
|
+
--verify: check remote existence before skipping files`,Fv=()=>`fizzyx oss status [--env <name>] [--files]
|
|
261
|
+
--files: list pending upload and manifest-only files`,_x=()=>`fizzyx oss setup --env <name> --endpoint <url> --region <region> --local-dir <path> [--bucket <name>] [--remote-prefix <prefix>]
|
|
256
262
|
With no flags: init blank OSS scaffold in .fizzy.yaml, then prompt for keys
|
|
257
263
|
--bucket and --remote-prefix are optional; omit if endpoint already contains bucket name
|
|
258
|
-
Keys are prompted interactively (not from args) to avoid shell history.`;import{existsSync as
|
|
259
|
-
`,384)}),
|
|
264
|
+
Keys are prompted interactively (not from args) to avoid shell history.`;import{existsSync as wu}from"fs";import{dirname as ko}from"path";var pi=".fizzy.yaml",Mv=".config/fizzy/config.yaml",Lx="1",jx="https://fizzy.puffin.studio",Hx=5,Bx=900,Uv=()=>({loadProjectConfig:()=>a.gen(function*(){let e=yield*Nx(),t=yield*vo(e),r=ko(e);return bu(t,e,r)}),loadProjectConfigOptional:()=>a.gen(function*(){let e=yield*Nx(),t=yield*vo(e);return bu(t,e,ko(e))}).pipe(a.catch((e)=>Ir(e,"ConfigError")?a.succeed(void 0):a.fail(e))),setupProjectConfig:(e)=>a.gen(function*(){let t=e.configPath||`${process.cwd()}/${pi}`,r=yield*zx(t),n=Lv(e,r);return yield*Cu(t,n,384),bu(n,t,ko(t))}),setupOssConfig:(e)=>a.gen(function*(){let t=e.configPath||`${process.cwd()}/${pi}`,r=yield*zx(t),n=Bv(e,r);yield*Cu(t,n,384);let o=Wx(di(n).oss);if(!o)return yield*new D({message:"Failed to parse OSS config after writing",path:t});return o}),loadCredentials:(e)=>a.gen(function*(){let t=yield*Su(e),r=new D({message:`No token in ${t}`,path:t});if(wu(t)){let o=yield*zv(t).pipe(a.match({onFailure:(s)=>s,onSuccess:(s)=>s}));if(!Ir(o,"FileError"))return o;if(!Jv(o,t))return yield*a.fail(o)}let n=yield*Dx(e).pipe(a.catch(()=>a.fail(r)));return yield*Ux(e,n),n}),migrateCredentialsFromOfficial:Dx,saveCredentials:(e,t)=>Ux(e,t),deleteCredentials:(e)=>a.gen(function*(){let t=yield*Su(e);yield*a.tryPromise({try:()=>Bun.file(t).delete(),catch:(r)=>new D({message:`Failed to delete credentials: ${String(r)}`,path:t})})})}),qx=Le.sync(G,()=>Uv()),Ux=(e,t)=>a.gen(function*(){let r=yield*Su(e);yield*Dv(ko(r)),yield*Cu(r,`${JSON.stringify(t,null,2)}
|
|
265
|
+
`,384)}),Nx=()=>a.sync(()=>{let e=process.cwd();while(!0){let t=`${e}/${pi}`;if(wu(t))return t;let r=ko(e);if(r===e)break;e=r}throw new mo({message:`No ${pi} found from ${process.cwd()}`})}).pipe(a.catch((e)=>Ir(e,"ConfigError")?a.fail(e):a.fail(new mo({message:String(e)})))),Su=(e)=>a.sync(()=>{let t=process.env.HOME;if(!t)throw new D({message:"HOME is not set"});return`${t}/.config/fizzyx/credentials/${Kv(e)}.json`}).pipe(a.catch((t)=>Ir(t,"FileError")?a.fail(t):a.fail(new D({message:String(t)})))),Nv=()=>a.sync(()=>{let e=process.env.HOME;if(!e)throw new D({message:"HOME is not set"});return`${e}/${Mv}`}).pipe(a.catch((e)=>Ir(e,"FileError")?a.fail(e):a.fail(new D({message:String(e)})))),vo=(e)=>a.tryPromise({try:()=>Bun.file(e).text(),catch:(t)=>new D({message:`Failed to read ${e}: ${String(t)}`,path:e})}),zx=(e)=>wu(e)?vo(e):a.succeed(""),zv=(e)=>vo(e).pipe(a.map((t)=>{if(t.trim()==="")throw new D({message:`No token in ${e}`,path:e});let r=qv(t,e),n=typeof r.token==="string"?r.token:"";if(n==="")throw new D({message:`No token in ${e}`,path:e});return{token:n}})),Dx=(e)=>a.gen(function*(){let t=yield*Nv(),r=yield*vo(t),n=Wv(r,t);if($x(n.account)!==e)return yield*new D({message:`No matching official credential for account ${e}`,path:t});let s=$x(n.token);if(s==="")return yield*new D({message:`No token in ${t}`,path:t});return{token:s}}),Cu=(e,t,r)=>a.tryPromise({try:async()=>{await Bun.write(e,t),await import("fs/promises").then((n)=>n.chmod(e,r))},catch:(n)=>new D({message:`Failed to write ${e}: ${String(n)}`,path:e})}),Dv=(e)=>a.tryPromise({try:async()=>{await import("fs/promises").then((t)=>t.mkdir(e,{recursive:!0,mode:448}))},catch:(t)=>new D({message:`Failed to create ${e}: ${String(t)}`,path:e})}),bu=(e,t,r)=>{let n=di(e),o=xe(n.account)||Lx,s=xe(n.api_url)||jx,i=xe(n.board)||void 0,c=$v(n.flow),l=Wx(n.oss);if(!i)return{apiUrl:s,account:o,board:void 0,flow:c,oss:l,configPath:t,rootDir:r};return{apiUrl:s,account:o,board:i,flow:c,oss:l,configPath:t,rootDir:r}},$v=(e)=>{let t=xt(e),r=xt(t.columns),n=xe(r.todo),o=xe(r.in_progress)||xe(r.inProgress);if(!n||!o)return;let s={};for(let[i,c]of Object.entries(xt(t.users))){let l=xe(c);if(l)s[i]=l}return{columns:{todo:n,inProgress:o},users:s,wipLimit:Ro(t.wip_limit)||Hx,cacheTtlSeconds:Ro(t.cache_ttl)||Bx}},Lv=(e,t="")=>{let r=di(t),n=xt(r.flow),o={columns:{todo:e.todoColumn||xe(xt(n.columns).todo)||"",in_progress:e.inProgressColumn||xe(xt(n.columns).in_progress)||""},users:Vv(e.users||{}),wip_limit:Ro(n.wip_limit)||Hx,cache_ttl:Ro(n.cache_ttl)||Bx},s={};s.api_url=e.apiUrl||jx,s.account=e.account||Lx,s.board=e.board||"";for(let i of Object.keys(r))if(i!=="api_url"&&i!=="account"&&i!=="board"&&i!=="flow")s[i]=r[i];return s.flow=o,Bun.YAML.stringify(s,null,2)},Wx=(e)=>{let t=xt(e);if(!t)return;let r=Hv(t.sync);if(!r)return;let n={};for(let o of Object.keys(t)){if(o==="sync")continue;let s=jv(t[o]);if(s)n[o]=s}if(Object.keys(n).length===0)return;return{environments:n,sync:r}},jv=(e)=>{let t=xt(e),r=xe(t.endpoint),n=xe(t.region),o=xe(t.bucket);if(!r||!n)return;let s={endpoint:r,region:n};if(o)s.bucket=o;let i=xe(t.access_key_id),c=xe(t.secret_access_key);if(i)s.accessKeyId=i;if(c)s.secretAccessKey=c;return s},Hv=(e)=>{let t=xt(e),r=xe(t.local_dir),n=xe(t.remote_prefix);if(!r)return;return{localDir:r,remotePrefix:n??"",concurrency:Ro(t.concurrency)||10}},Bv=(e,t)=>{let r=di(t),n=e.env,o=xt(r.oss),s={...o,[n]:{...o[n],endpoint:e.config.endpoint,region:e.config.region,...e.config.bucket?{bucket:e.config.bucket}:{}},sync:{...o.sync,local_dir:e.sync.localDir,...e.sync.remotePrefix?{remote_prefix:e.sync.remotePrefix}:{},concurrency:e.sync.concurrency??10}},i={};for(let[c,l]of Object.entries(r))if(c==="oss")i[c]=s;else i[c]=l;if(!("oss"in r))i.oss=s;return Bun.YAML.stringify(i,null,2)},di=(e)=>{if(e.trim()==="")return{};let t=Bun.YAML.parse(e);if(!t||typeof t!=="object"||Array.isArray(t))throw new mo({message:"Invalid config format: expected YAML object"});return t},qv=(e,t)=>{try{let r=JSON.parse(e);return r&&typeof r==="object"&&!Array.isArray(r)?r:{}}catch(r){throw new D({message:`Invalid JSON in ${t}: ${String(r)}`,path:t})}},Wv=(e,t)=>{try{let r=Bun.YAML.parse(e);if(!r||typeof r!=="object"||Array.isArray(r))throw Error("expected YAML object");return r}catch(r){throw new D({message:`Invalid official config in ${t}: ${String(r)}`,path:t})}},Vv=(e)=>{let t={};for(let[r,n]of Object.entries(e))t[r]=n;return t},xe=(e)=>typeof e==="string"?e:"",$x=(e)=>typeof e==="string"||typeof e==="number"?e.toString():"",Jv=(e,t)=>e.message===`No token in ${t}`,Ro=(e)=>{if(typeof e==="number")return Number.isFinite(e)?e:0;return Number.parseInt(xe(e),10)||0},xt=(e)=>e&&typeof e==="object"&&!Array.isArray(e)?e:{},Kv=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");a.runPromise(Fx(Bun.argv.slice(2)).pipe(a.provide(qx))).catch((e)=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exit(1)});
|