@puffinstudio/fizzyx 0.4.2 → 0.4.4
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 +18 -3
- package/dist/main.js +85 -69
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,63 +1,65 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var
|
|
4
|
-
`+s(
|
|
5
|
-
${s(
|
|
6
|
-
${s(
|
|
7
|
-
${p.map((S)=>`${s(
|
|
3
|
+
var Px=Object.defineProperty;var _x=(e)=>e;function Fx(e,t){this[e]=_x.bind(null,t)}var dn=(e,t)=>{for(var r in t)Px(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Fx.bind(t,r)})};var Zt=import.meta.require;var L={};dn(L,{withTime:()=>lb,withGroup:()=>fb,warn:()=>ub,trace:()=>ab,timeLog:()=>cb,time:()=>ib,table:()=>sb,log:()=>ob,info:()=>nb,group:()=>rb,error:()=>tb,dirxml:()=>eb,dir:()=>ZE,debug:()=>XE,countReset:()=>YE,count:()=>GE,consoleWith:()=>ce,clear:()=>QE,assert:()=>KE,Console:()=>ud});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}}},Mx={pipe(){return N(this,arguments)}},Cu=function(){function e(){}return e.prototype=Mx,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 w=(e)=>e;var re=(e)=>()=>e,ze=re(!0),_r=re(!1);var Qe=re(void 0),er=Qe;var mn=(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},Fr=new WeakSet;function Mr(e){return typeof e==="string"}function wu(e){return typeof e==="number"}function hi(e){return typeof e==="function"}function yt(e){return e!==void 0}function Ux(e){return typeof e==="object"&&e!==null||hi(e)}var O=u(2,(e,t)=>Ux(e)&&(t in e)),it=u(2,(e,t)=>O(e,"_tag")&&e._tag===t);function Et(e){return O(e,Symbol.iterator)||Mr(e)}var W="~effect/interfaces/Hash",q=(e)=>{switch(typeof e){case"number":return To(e);case"bigint":return ne(e.toString(10));case"boolean":return ne(String(e));case"symbol":return ne(String(e));case"string":return ne(e);case"undefined":return ne("undefined");case"function":case"object":if(e===null)return ne("null");else if(e instanceof Date)return ne(e.toISOString());else if(e instanceof RegExp)return ne(e.toString());else{if(Fr.has(e))return Ro(e);if(xi.has(e))return xi.get(e);let t=$x(e,()=>{if(zx(e))return e[W]();else if(typeof e==="function")return Ro(e);else if(Array.isArray(e)||ArrayBuffer.isView(e))return gn(e);else if(e instanceof Map)return Dx(e);else if(e instanceof Set)return Lx(e);return hn(e)});return xi.set(e,t),t}default:throw Error(`BUG: unhandled typeof ${typeof e} - please report an issue at https://github.com/Effect-TS/effect/issues`)}},Ro=(e)=>{if(!gi.has(e))gi.set(e,To(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return gi.get(e)},we=u(2,(e,t)=>e*53^t),Ao=(e)=>e&3221225471|e>>>1&1073741824,zx=(e)=>O(e,W),To=(e)=>{if(e!==e)return ne("NaN");if(e===1/0)return ne("Infinity");if(e===-1/0)return ne("-Infinity");let t=e|0;if(t!==e)t^=e*4294967295;while(e>4294967295)t^=e/=4294967295;return Ao(t)},ne=(e)=>{let t=5381,r=e.length;while(r)t=t*33^e.charCodeAt(--r);return Ao(t)},Ei=(e,t)=>{let r=12289;for(let n of t)r^=we(q(n),q(e[n]));return Ao(r)},hn=(e)=>Ei(e,mn(e)),bi=(e,t)=>(r)=>{let n=e;for(let o of r)n^=t(o);return Ao(n)},gn=bi(6151,q),Dx=bi(ne("Map"),([e,t])=>we(q(e),q(t))),Lx=bi(ne("Set"),q),gi=new WeakMap,xi=new WeakMap,yi=new WeakSet;function $x(e,t){if(yi.has(e))return ne("[Circular]");yi.add(e);let r=t();return yi.delete(e),r}var V="~effect/interfaces/Equal";function oe(){if(arguments.length===1)return(e)=>tr(e,arguments[0]);return tr(arguments[0],arguments[1])}function tr(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(Fr.has(e)||Fr.has(t))return!1;return Bx(e,t,Hx)}function jx(e,t,r){let n=Si.has(e),o=Ci.has(t);if(n&&o)return!0;if(n||o)return!1;Si.add(e),Ci.add(t);let s=r();return Si.delete(e),Ci.delete(t),s}var Si=new WeakSet,Ci=new WeakSet;function Hx(e,t){if(q(e)!==q(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=ku(e),n=ku(t);if(r!==n)return!1;let o=r&&n;if(typeof e==="function"&&!o)return!1;return jx(e,t,()=>{if(o)return e[V](t);else if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;return qx(e,t)}else if(ArrayBuffer.isView(e)){if(!ArrayBuffer.isView(t)||e.byteLength!==t.byteLength)return!1;return Wx(e,t)}else if(e instanceof Map){if(!(t instanceof Map)||e.size!==t.size)return!1;return Kx(e,t)}else if(e instanceof Set){if(!(t instanceof Set)||e.size!==t.size)return!1;return Gx(e,t)}return Vx(e,t)})}function Bx(e,t,r){let n=Io.get(e);if(!n)n=new WeakMap,Io.set(e,n);else if(n.has(t))return n.get(t);let o=r(e,t);n.set(t,o);let s=Io.get(t);if(!s)s=new WeakMap,Io.set(t,s);return s.set(e,o),o}var Io=new WeakMap;function qx(e,t){for(let r=0;r<e.length;r++)if(!tr(e[r],t[r]))return!1;return!0}function Wx(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 Vx(e,t){let r=mn(e),n=mn(t);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o)||!tr(e[o],t[o]))return!1;return!0}function Jx(e,t){return function(n,o){for(let[s,i]of n){let c=!1;for(let[f,l]of o)if(e(s,f)&&t(i,l)){c=!0;break}if(!c)return!1}return!0}}var Kx=Jx(tr,tr);function Qx(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 Gx=Qx(tr),ku=(e)=>O(e,V),vu=()=>oe;var Ou=(e)=>(Fr.add(e),e);var Nr=Symbol.for("~effect/Redactable"),Yx=(e)=>O(e,Nr);function Ye(e){if(Yx(e))return wi(e);return e}function wi(e){return e[Nr](globalThis[Ur]?.context??Xx)}var Ur="~effect/Fiber/currentFiber",Xx={"~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=(l)=>o.repeat(l),i=(l,d)=>{let p=l?.constructor;return p&&p!==Object.prototype.constructor&&p.name?`${p.name}(${d})`:d},c=(l)=>{try{return Reflect.ownKeys(l)}catch{return["[ownKeys threw]"]}};function f(l,d=0){if(Array.isArray(l)){if(n.has(l))return Ru;if(n.add(l),!o||l.length<=1)return`[${l.map((g)=>f(g,d)).join(",")}]`;let p=l.map((g)=>f(g,d+1)).join(`,
|
|
4
|
+
`+s(d+1));return`[
|
|
5
|
+
${s(d+1)}${p}
|
|
6
|
+
${s(d)}]`}if(l instanceof Date)return ey(l);if(!t?.ignoreToString&&O(l,"toString")&&typeof l.toString==="function"&&l.toString!==Object.prototype.toString&&l.toString!==Array.prototype.toString){let p=ty(l);if(l instanceof Error&&l.cause)return`${p} (cause: ${f(l.cause,d)})`;return p}if(typeof l==="string")return JSON.stringify(l);if(typeof l==="number"||l==null||typeof l==="boolean"||typeof l==="symbol")return String(l);if(typeof l==="bigint")return String(l)+"n";if(typeof l==="object"||typeof l==="function"){if(n.has(l))return Ru;if(n.add(l),Nr in l)return ae(wi(l));if(Symbol.iterator in l)return`${l.constructor.name}(${f(Array.from(l),d)})`;let p=c(l);if(!o||p.length<=1){let S=`{${p.map((x)=>`${Au(x)}:${f(l[x],d)}`).join(",")}}`;return i(l,S)}let g=`{
|
|
7
|
+
${p.map((S)=>`${s(d+1)}${Au(S)}: ${f(l[S],d+1)}`).join(`,
|
|
8
8
|
`)}
|
|
9
|
-
${s(m)}}`;return i(l,g)}return String(l)}return f(e,0)}var Ru="[Circular]";function Tu(e){return typeof e==="string"?JSON.stringify(e):String(e)}function Qx(e){try{return e.toISOString()}catch{return"Invalid Date"}}function Gx(e){try{let t=e.toString();return typeof t==="string"?t:String(t)}catch{return"[toString threw]"}}function hn(e,t){let r=[];return JSON.stringify(e,function(n,o){let s=Ke(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 xe=Symbol.for("nodejs.util.inspect.custom"),Nt=(e)=>{try{if(v(e,"toJSON")&&mi(e.toJSON)&&e.toJSON.length===0)return e.toJSON();else if(Array.isArray(e))return e.map(Nt)}catch{return"[toJSON threw]"}return Ke(e)},Iu=(e,t=2)=>{if(typeof e==="string")return e;try{return typeof e==="object"?hn(e,{space:t}):String(e)}catch{return String(e)}},it={toJSON(){return Nt(this)},[xe](){return this.toJSON()},toString(){return ce(this.toJSON())}};class wi{[xe](){return this.toJSON()}toString(){return ce(this.toJSON())}}class Ut{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 Ut(this.self)}}var Yx=()=>{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"]},N=Yx();var ct="~effect/Effect",rr="~effect/Exit",Xx={_A:w,_E:w,_R:w},Pu=`${ct}/identifier`,P=`${ct}/args`,Y=`${ct}/evaluate`,_e=`${ct}/successCont`,Qe=`${ct}/failureCont`,zt=`${ct}/ensureCont`,Dt=Symbol.for("effect/Effect/Yield"),Ge={pipe(){return M(this,arguments)},toJSON(){return{...this}},toString(){return ce(this.toJSON(),{ignoreToString:!0,space:2})},[xe](){return this.toJSON()}},Fu={[W](){return yi(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]&&!re(this[t[n]],e[t[n]]))return!1;return!0}},Zx={[ct]:Xx,...Ge,[Symbol.iterator](){return new Ut(this)},toJSON(){return{_id:"Effect",op:this[Pu],...P in this?{args:this[P]}:void 0}}},k=(e)=>v(e,ct),Mu=(e)=>v(e,rr),gn="~effect/Cause",Io="~effect/Cause/Reason",xn=(e)=>v(e,gn);class Et{[gn];reasons;constructor(e){this[gn]=gn,this.reasons=e}pipe(){return M(this,arguments)}toJSON(){return{_id:"Cause",failures:this.reasons.map((e)=>e.toJSON())}}toString(){return`Cause(${ce(this.reasons)})`}[xe](){return this.toJSON()}[V](e){return xn(e)&&this.reasons.length===e.reasons.length&&this.reasons.every((t,r)=>re(t,e.reasons[r]))}[W](){return mn(this.reasons)}}var _u=new WeakMap;class yn{[Io];annotations;_tag;constructor(e,t,r){if(this[Io]=Io,this._tag=e,t!==En&&typeof r==="object"&&r!==null&&t.size>0){let n=_u.get(r);if(n)t=new Map([...n,...t]);_u.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 M(this,arguments)}toString(){return ce(this)}[xe](){return this.toString()}}var En=new Map;class Po extends yn{error;constructor(e,t=En){super("Fail",t,e);this.error=e}toString(){return`Fail(${ce(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[V](e){return Sn(e)&&re(this.error,e.error)&&re(this.annotations,e.annotations)}[W](){return Ce(te(this._tag))(Ce(q(this.error))(q(this.annotations)))}}var nr=(e)=>new Et(e),ki=new Et([]),Nu=(e)=>new Et([new Po(e)]);class vi extends yn{defect;constructor(e,t=En){super("Die",t,e);this.defect=e}toString(){return`Die(${ce(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[V](e){return Cn(e)&&re(this.defect,e.defect)&&re(this.annotations,e.annotations)}[W](){return Ce(te(this._tag))(Ce(q(this.defect))(q(this.annotations)))}}var Uu=(e)=>new Et([new vi(e)]),bn=u((e)=>xn(e[0]),(e,t,r)=>{if(t.mapUnsafe.size===0)return e;return new Et(e.reasons.map((n)=>n.annotate(t,r)))}),Sn=(e)=>e._tag==="Fail",Cn=(e)=>e._tag==="Die",Fo=(e)=>e._tag==="Interrupt";function ey(e){return Ct("Effect.evaluate: Not implemented")}var bt=(e)=>({...Zx,[Pu]:e.op,[Y]:e[Y]??ey,[_e]:e[_e],[Qe]:e[Qe],[zt]:e[zt]}),je=(e)=>{let t=bt(e);return function(){let r=Object.create(t);return r[P]=e.single===!1?arguments:arguments[0],r}},zu=(e)=>{let t={...bt(e),[rr]:rr,_tag:e.op,get[e.prop](){return this[P]},toString(){return`${e.op}(${ce(this[P])})`},toJSON(){return{_id:"Exit",_tag:e.op,[e.prop]:this[P]}},[V](r){return Mu(r)&&r._tag===this._tag&&re(this[P],r[P])},[W](){return Ce(te(e.op),q(this[P]))}};return function(r){let n=Object.create(t);return n[P]=r,n}},ne=zu({op:"Success",prop:"value",[Y](e){let t=e.getCont(_e);return t?t[_e](this[P],e,this):e.yieldWith(this)}}),wn={key:"effect/Cause/StackTrace"},Du={key:"effect/Cause/InterruptorStackTrace"},ze=zu({op:"Failure",prop:"cause",[Y](e){let t=this[P],r=!1;if(e.currentStackFrame)t=bn(t,{mapUnsafe:new Map([[wn.key,e.currentStackFrame]])}),r=!0;let n=e.getCont(Qe);while(e.interruptible&&e._interruptedCause&&n)n=e.getCont(Qe);return n?n[Qe](t,e,r?void 0:this):e.yieldWith(r?this:ze(t))}}),St=(e)=>ze(Nu(e)),Ct=(e)=>ze(Uu(e)),A=je({op:"WithFiber",[Y](e){return this[P](e)}}),ty=function(){class e extends globalThis.Error{}let t=bt({op:"YieldableError",[Y](){return St(this)}});return delete t.toString,Object.assign(e.prototype,t),e}(),Oi=function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends ty{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)=>v(e,_o);class wt extends or("NoSuchElementError"){[_o]=_o;constructor(e){super({message:e})}}var Ur="~effect/Cause/Done",kn=(e)=>v(e,Ur),Lu={[Ur]:Ur,_tag:"Done",value:void 0},$u=(e)=>{if(e===void 0)return Lu;return{[Ur]:Ur,_tag:"Done",value:e}},ry=St(Lu),ju=(e)=>{if(e===void 0)return ry;return St($u(e))};var Mo=(e)=>(t,r)=>t===r||e(t,r),ny=(e,t)=>e===t,vn=()=>ny;function Hu(e){return Mo((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 Bu(e){return Mo((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 Ri=(e)=>e.length>0;var qu=(e)=>u(3,(t,r,n)=>e(t,(o)=>({...o,[r]:n(o)}))),Wu=(e)=>u(2,(t,r)=>e(t,(n)=>({[r]:n}))),Vu=(e,t)=>u(3,(r,n,o)=>t(r,(s)=>e(o(s),(i)=>({...s,[n]:i}))));var Ju="~effect/data/Option",Ku={[Ju]:{_A:(e)=>e},...Ge,[Symbol.iterator](){return new Ut(this)}},iy=Object.defineProperty(Object.assign(Object.create(Ku),{_tag:"Some",_op:"Some",[V](e){return Ti(e)&&_i(e)&&re(this.value,e.value)},[W](){return Ce(q(this._tag))(q(this.value))},toString(){return`some(${ce(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:Nt(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),cy=q("None"),ay=Object.assign(Object.create(Ku),{_tag:"None",_op:"None",valueOrUndefined:void 0,[V](e){return Ti(e)&&Ii(e)},[W](){return cy},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Ti=(e)=>v(e,Ju),Ii=(e)=>e._tag==="None",_i=(e)=>e._tag==="Some",Qu=Object.create(ay),Gu=(e)=>{let t=Object.create(iy);return t.value=e,t};var Yu="~effect/data/Result",Xu={[Yu]:{_A:(e)=>e,_E:(e)=>e},...Ge,[Symbol.iterator](){return new Ut(this)}},fy=Object.assign(Object.create(Xu),{_tag:"Success",_op:"Success",[V](e){return Pi(e)&&Mi(e)&&re(this.success,e.success)},[W](){return Ce(q(this._tag))(q(this.success))},toString(){return`success(${ce(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:Nt(this.success)}}}),ly=Object.assign(Object.create(Xu),{_tag:"Failure",_op:"Failure",[V](e){return Pi(e)&&Fi(e)&&re(this.failure,e.failure)},[W](){return Ce(q(this._tag))(q(this.failure))},toString(){return`failure(${ce(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:Nt(this.failure)}}}),Pi=(e)=>v(e,Yu),Fi=(e)=>e._tag==="Failure",Mi=(e)=>e._tag==="Success",Zu=(e)=>{let t=Object.create(ly);return t.failure=e,t},ef=(e)=>{let t=Object.create(fy);return t.success=e,t};function tf(e){return(t,r)=>t===r?0:e(t,r)}var zr=tf((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 rf=u(2,(e,t)=>tf((r,n)=>e(t(r),t(n))));var nf=(e)=>u(2,(t,r)=>e(t,r)===1);var Z=()=>Qu,ae=Gu;var On=Ii,Ni=_i,Uo=u(2,(e,{onNone:t,onSome:r})=>On(e)?t():r(e.value));var my=u(2,(e,t)=>On(e)?t():e.value);var sf=(e)=>e==null?Z():ae(e);var sr=my(Ve);var we=ef,le=Zu;var J=Fi,ir=Mi;var cf=u(2,(e,{onFailure:t,onSuccess:r})=>J(e)?t(e.failure):r(e.success));var af=Hu;var gO={[Symbol.iterator](){return gy}},gy={next(){return{done:!0,value:void 0}}};var uf=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 yy=u(2,(e,t)=>Object.hasOwn(e,t));var ff=u(2,(e,t)=>{let r={...e};for(let n of lf(e))r[n]=t(e[n],n);return r});var lf=(e)=>Object.keys(e);var Ey=(e)=>u(2,(t,r)=>{for(let n of lf(t))if(!yy(r,n)||!e(t[n],r[n]))return!1;return!0});var pf=(e)=>{let t=Ey(e);return(r,n)=>t(r,n)&&t(n,r)};var An=globalThis.Array;var Ui=(e)=>new An(e);var Ye=(e)=>An.isArray(e)?e:An.from(e);var zi=u(2,(e,t)=>Ye(e).concat(Ye(t)));var EO=An.isArray;var Di=Ri,zo=Ri;function by(e,t){return e<0||e>=t.length}var mf=u(2,(e,t)=>{let r=Math.floor(t);if(by(r,e))throw Error(`Index out of bounds: ${r}`);return e[r]});var Sy=mf(0);var Cy=(e)=>e.slice(1);var Do=u(2,(e,t)=>{let r=An.from(e);return r.sort(t),r});var wy=u(3,(e,t,r)=>{let n=Ye(e),o=Ye(t);if(zo(n)){if(zo(o))return ky(r)(zi(n,o));return n}return o}),hf=u(2,(e,t)=>wy(e,t,Ou()));var gf=(e)=>[e],Li=u(2,(e,t)=>e.map(t));var xf=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 yf=Bu;var ky=u(2,(e,t)=>{let r=Ye(e);if(zo(r)){let n=[Sy(r)],o=Cy(r);for(let s of o)if(n.every((i)=>!t(s,i)))n.push(s);return n}return[]});var X={};ln(X,{pick:()=>Fy,omit:()=>My,mutate:()=>Ny,mergeAll:()=>Wi,merge:()=>Ht,makeUnsafe:()=>jt,make:()=>at,isReference:()=>ji,isKey:()=>Ry,isContext:()=>Ho,getUnsafe:()=>kt,getReferenceUnsafe:()=>Bi,getOrUndefined:()=>_y,getOrElse:()=>Hi,getOption:()=>qi,get:()=>pe,empty:()=>Pe,addOrOmit:()=>Iy,add:()=>He,ServiceTypeId:()=>$o,Service:()=>ke,Reference:()=>R});var Ef=(e)=>bt({op:e.label,[Y]:e.evaluate});var $o="~effect/Context/Service",ke=function(){let e=Error.stackTraceLimit;Error.stackTraceLimit=2;let t=Error();Error.stackTraceLimit=e;function r(){}let n=r;if(Object.setPrototypeOf(n,Oy),Object.defineProperty(n,"stack",{get(){return t.stack}}),arguments.length>0){if(n.key=arguments[0],arguments[1]?.defaultValue)n[jo]=jo,n.defaultValue=arguments[1].defaultValue;return n}return function(o,s){if(n.key=o,s?.make)n.make=s.make;return n}},Oy={[$o]:$o,...Ef({label:"Service",evaluate(e){return ne(pe(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key,stack:this.stack}},of(e){return e},context(e){return at(this,e)},use(e){return A((t)=>e(pe(t.context,this)))},useSync(e){return A((t)=>ne(e(pe(t.context,this))))}},jo="~effect/Context/Reference",bf="~effect/Context",jt=(e)=>{let t=Object.create(Ay);return t.mapUnsafe=e,t.mutable=!1,t},Ay={...Ge,[bf]:{_Services:(e)=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[V](e){if(!Ho(e)||this.mapUnsafe.size!==e.mapUnsafe.size)return!1;for(let t of this.mapUnsafe.keys())if(!e.mapUnsafe.has(t)||!re(this.mapUnsafe.get(t),e.mapUnsafe.get(t)))return!1;return!0},[W](){return Ro(this.mapUnsafe.size)}},Ho=(e)=>v(e,bf),Ry=(e)=>v(e,$o),ji=(e)=>v(e,jo),Pe=()=>Ty,Ty=jt(new Map),at=(e,t)=>jt(new Map([[e.key,t]])),He=u(3,(e,t,r)=>Rn(e,(n)=>{n.set(t.key,r)})),Iy=u(3,(e,t,r)=>Rn(e,(n)=>{if(r._tag==="None")n.delete(t.key);else n.set(t.key,r.value)})),Hi=u(3,(e,t,r)=>{if(e.mapUnsafe.has(t.key))return e.mapUnsafe.get(t.key);return ji(t)?Bo(t):r()}),_y=u(2,(e,t)=>e.mapUnsafe.get(t.key)),kt=u(2,(e,t)=>{if(!e.mapUnsafe.has(t.key)){if(jo in t)return Bo(t);throw Py(t)}return e.mapUnsafe.get(t.key)}),pe=kt,Bi=(e,t)=>{if(!e.mapUnsafe.has(t.key))return Bo(t);return e.mapUnsafe.get(t.key)},$i="~effect/Context/defaultValue",Bo=(e)=>{if($i in e)return e[$i];return e[$i]=e.defaultValue()},Py=(e)=>{let t=Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(e.stack){let r=e.stack.split(`
|
|
9
|
+
${s(d)}}`;return i(l,g)}return String(l)}return f(e,0)}var Ru="[Circular]";function Au(e){return typeof e==="string"?JSON.stringify(e):String(e)}function ey(e){try{return e.toISOString()}catch{return"Invalid Date"}}function ty(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=Ye(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"),Ut=(e)=>{try{if(O(e,"toJSON")&&hi(e.toJSON)&&e.toJSON.length===0)return e.toJSON();else if(Array.isArray(e))return e.map(Ut)}catch{return"[toJSON threw]"}return Ye(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 Ut(this)},[be](){return this.toJSON()},toString(){return ae(this.toJSON())}};class ki{[be](){return this.toJSON()}toString(){return ae(this.toJSON())}}class zt{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 zt(this.self)}}var ry=()=>{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"]},U=ry();var ut="~effect/Effect",rr="~effect/Exit",ny={_A:w,_E:w,_R:w},Pu=`${ut}/identifier`,F=`${ut}/args`,Z=`${ut}/evaluate`,_e=`${ut}/successCont`,Xe=`${ut}/failureCont`,Dt=`${ut}/ensureCont`,Lt=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}},oy={[ut]:ny,...Ze,[Symbol.iterator](){return new zt(this)},toJSON(){return{_id:"Effect",op:this[Pu],...F in this?{args:this[F]}:void 0}}},k=(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 Oi 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 Nu=(e)=>new bt([new Oi(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 sy(e){return wt("Effect.evaluate: Not implemented")}var St=(e)=>({...oy,[Pu]:e.op,[Z]:e[Z]??sy,[_e]:e[_e],[Xe]:e[Xe],[Dt]:e[Dt]}),Be=(e)=>{let t=St(e);return function(){let r=Object.create(t);return r[F]=e.single===!1?arguments:arguments[0],r}},Uu=(e)=>{let t={...St(e),[rr]:rr,_tag:e.op,get[e.prop](){return this[F]},toString(){return`${e.op}(${ae(this[F])})`},toJSON(){return{_id:"Exit",_tag:e.op,[e.prop]:this[F]}},[V](r){return Fu(r)&&r._tag===this._tag&&oe(this[F],r[F])},[W](){return we(ne(e.op),q(this[F]))}};return function(r){let n=Object.create(t);return n[F]=r,n}},ie=Uu({op:"Success",prop:"value",[Z](e){let t=e.getCont(_e);return t?t[_e](this[F],e,this):e.yieldWith(this)}}),vn={key:"effect/Cause/StackTrace"},zu={key:"effect/Cause/InterruptorStackTrace"},De=Uu({op:"Failure",prop:"cause",[Z](e){let t=this[F],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(Nu(e)),A=Be({op:"WithFiber",[Z](e){return this[F](e)}}),iy=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}(),Ri=function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends iy{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 Ri{_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",On=(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}},cy=Ct(Du),$u=(e)=>{if(e===void 0)return cy;return Ct(Lu(e))};var No=(e)=>(t,r)=>t===r||e(t,r),ay=(e,t)=>e===t,Rn=()=>ay;function ju(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 Hu(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 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 zt(this)}},ly=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:Ut(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),py=q("None"),dy=Object.assign(Object.create(Ju),{_tag:"None",_op:"None",valueOrUndefined:void 0,[V](e){return Ii(e)&&Pi(e)},[W](){return py},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(dy),Qu=(e)=>{let t=Object.create(ly);return t.value=e,t};var Gu="~effect/data/Result",Yu={[Gu]:{_A:(e)=>e,_E:(e)=>e},...Ze,[Symbol.iterator](){return new zt(this)}},hy=Object.assign(Object.create(Yu),{_tag:"Success",_op:"Success",[V](e){return Fi(e)&&Ni(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:Ut(this.success)}}}),gy=Object.assign(Object.create(Yu),{_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:Ut(this.failure)}}}),Fi=(e)=>O(e,Gu),Mi=(e)=>e._tag==="Failure",Ni=(e)=>e._tag==="Success",Xu=(e)=>{let t=Object.create(gy);return t.failure=e,t},Zu=(e)=>{let t=Object.create(hy);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,Ui=_i,zo=u(2,(e,{onNone:t,onSome:r})=>An(e)?t():r(e.value));var Ey=u(2,(e,t)=>An(e)?t():e.value);var of=(e)=>e==null?ee():ue(e);var sr=Ey(Qe);var ke=Zu,me=Xu;var J=Mi,ir=Ni;var sf=u(2,(e,{onFailure:t,onSuccess:r})=>J(e)?t(e.failure):r(e.success));var cf=ju;var bO={[Symbol.iterator](){return Sy}},Sy={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 wy=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 ky=(e)=>u(2,(t,r)=>{for(let n of ff(t))if(!wy(r,n)||!e(t[n],r[n]))return!1;return!0});var lf=(e)=>{let t=ky(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 wO=Tn.isArray;var Li=Ti,Do=Ti;function vy(e,t){return e<0||e>=t.length}var df=u(2,(e,t)=>{let r=Math.floor(t);if(vy(r,e))throw Error(`Index out of bounds: ${r}`);return e[r]});var Oy=df(0);var Ry=(e)=>e.slice(1);var Lo=u(2,(e,t)=>{let r=Tn.from(e);return r.sort(t),r});var Ay=u(3,(e,t,r)=>{let n=et(e),o=et(t);if(Do(n)){if(Do(o))return Ty(r)(Di(n,o));return n}return o}),mf=u(2,(e,t)=>Ay(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 Ty=u(2,(e,t)=>{let r=et(e);if(Do(r)){let n=[Oy(r)],o=Ry(r);for(let s of o)if(n.every((i)=>!t(s,i)))n.push(s);return n}return[]});var Y={};dn(Y,{pick:()=>Dy,omit:()=>Ly,mutate:()=>$y,mergeAll:()=>Vi,merge:()=>Bt,makeUnsafe:()=>Ht,make:()=>ft,isReference:()=>Hi,isKey:()=>Fy,isContext:()=>Bo,getUnsafe:()=>vt,getReferenceUnsafe:()=>qi,getOrUndefined:()=>Uy,getOrElse:()=>Bi,getOption:()=>Wi,get:()=>he,empty:()=>Fe,addOrOmit:()=>Ny,add:()=>qe,ServiceTypeId:()=>jo,Service:()=>ve,Reference:()=>I});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,Py),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}},Py={[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 A((t)=>e(he(t.context,this)))},useSync(e){return A((t)=>ie(e(he(t.context,this))))}},Ho="~effect/Context/Reference",Ef="~effect/Context",Ht=(e)=>{let t=Object.create(_y);return t.mapUnsafe=e,t.mutable=!1,t},_y={...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),Fy=(e)=>O(e,jo),Hi=(e)=>O(e,Ho),Fe=()=>My,My=Ht(new Map),ft=(e,t)=>Ht(new Map([[e.key,t]])),qe=u(3,(e,t,r)=>In(e,(n)=>{n.set(t.key,r)})),Ny=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()}),Uy=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 zy(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()},zy=(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},Wi=u(2,(e,t)=>{if(e.mapUnsafe.has(t.key))return ue(e.mapUnsafe.get(t.key));return Hi(t)?ue(qo(t)):ee()}),Bt=u(2,(e,t)=>{if(e.mapUnsafe.size===0)return t;if(t.mapUnsafe.size===0)return e;return In(e,(r)=>{t.mapUnsafe.forEach((n,o)=>r.set(o,n))})}),Vi=(...e)=>{let t=new Map;for(let r=0;r<e.length;r++)e[r].mapUnsafe.forEach((n,o)=>{t.set(o,n)});return Ht(t)},Dy=(...e)=>(t)=>In(t,(r)=>{let n=new Set(e.map((o)=>o.key));r.forEach((o,s)=>{if(n.has(s))return;r.delete(s)})}),Ly=(...e)=>(t)=>In(t,(r)=>{for(let n=0;n<e.length;n++)r.delete(e[n].key)}),$y=u(2,(e,t)=>{let r=Ht(new Map(e.mapUnsafe));r.mutable=!0;let n=t(r);return n.mutable=!1,n}),In=(e,t)=>{if(e.mutable)return t(e.mapUnsafe),e;let r=new Map(e.mapUnsafe);return t(r),Ht(r)},I=ve;var Wo="~effect/time/Duration",jy=BigInt(0),Hy=BigInt(1);var By=BigInt(1000);var Vo=(e)=>BigInt(e<0?Math.ceil(e-0.5):Math.floor(e+0.5)),kf=(e)=>Vo(e*1e6),bf=(e,t)=>e.includes(".")?Vo(Number(e)*Number(t)):BigInt(e)*t;var qy=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Le=(e)=>{switch(typeof e){case"number":return Ji(e);case"bigint":return Pn(e);case"string":{if(e==="Infinity")return jr;if(e==="-Infinity")return Jo;let t=qy.exec(e);if(!t)break;let[r,n,o]=t;if(o==="nano"||o==="nanos")return Pn(bf(n,Hy));if(o==="micro"||o==="micros")return Pn(bf(n,By));let s=Number(n);switch(o){case"milli":case"millis":return Ji(s);case"second":case"seconds":return Ki(s);case"minute":case"minutes":return Qy(s);case"hour":case"hours":return Gy(s);case"day":case"days":return Yy(s);case"week":case"weeks":return Xy(s)}break}case"object":{if(e===null)break;if(Wo in e)return e;if(Array.isArray(e)){if(e.length!==2||!e.every(wu))return Sf(e);if(Number.isNaN(e[0])||Number.isNaN(e[1]))return $r;if(e[0]===-1/0||e[1]===-1/0)return Jo;if(e[0]===1/0||e[1]===1/0)return jr;return Oe(Vo(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 Oe(r);return Oe(Vo(r*1e6+(t.microseconds??0)*1000+(t.nanoseconds??0)))}}return Sf(e)},Sf=(e)=>{throw Error(`Invalid Input: ${e}`)};var Cf={_tag:"Millis",millis:0},Wy={_tag:"Infinity"},Vy={_tag:"NegativeInfinity"},Jy={[Wo]:Wo,[W](){return hn(this.value)},[V](e){return Ky(e)&&tE(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)}},Oe=(e)=>{let t=Object.create(Jy);if(typeof e==="number")if(isNaN(e)||e===0||Object.is(e,-0))t.value=Cf;else if(!Number.isFinite(e))t.value=e>0?Wy:Vy;else if(!Number.isInteger(e))t.value={_tag:"Nanos",nanos:kf(e)};else t.value={_tag:"Millis",millis:e};else if(e===jy)t.value=Cf;else t.value={_tag:"Nanos",nanos:e};return t},Ky=(e)=>O(e,Wo);var $r=Oe(0),jr=Oe(1/0),Jo=Oe(-1/0),Pn=(e)=>Oe(e);var Ji=(e)=>Oe(e),Ki=(e)=>Oe(e*1000),Qy=(e)=>Oe(e*60000),Gy=(e)=>Oe(e*3600000),Yy=(e)=>Oe(e*86400000),Xy=(e)=>Oe(e*604800000),Hr=(e)=>Zy(Le(e),{onMillis:w,onNanos:(t)=>Number(t)/1e6,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0});var wf=(e)=>{let t=Le(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 kf(t.value.millis)}};var Zy=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)()}}),vf=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(wf(e),t.value.nanos);else return r.onNanos(e.value.nanos,wf(t))});var eE=(e,t)=>vf(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)=>vf(e,t,{onMillis:(r,n)=>Oe(r-n),onNanos:(r,n)=>Oe(r-n),onInfinity:(r,n)=>{let o=r.value._tag,s=n.value._tag;if(o==="Infinity")return s==="Infinity"?$r:jr;if(o==="NegativeInfinity")return s==="NegativeInfinity"?$r:Jo;return s==="Infinity"?Jo:jr}}));var tE=u(2,(e,t)=>eE(e,t));var Qi=u(2,(e,t)=>(r)=>{let n=e(r);if(J(n))return me(r);let o=t(n.success);if(J(o))return me(r);return o});var Fn=I("effect/Scheduler",{defaultValue:()=>new Ko}),Rf="setImmediate"in globalThis?(e)=>{let t=globalThis.setImmediate(e);return()=>globalThis.clearImmediate(t)}:(e)=>{let t=setTimeout(e,0);return()=>clearTimeout(t)};class Af{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 Ko{executionMode;setImmediate;constructor(e="async",t=Rf){this.executionMode=e,this.setImmediate=t}shouldYield(e){return e.currentOpCount>=e.maxOpsBeforeYield}makeDispatcher(){return new Tf(this.setImmediate)}}class Tf{tasks=new Af;running=void 0;setImmediate;constructor(e=Rf){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 If=I("effect/Scheduler/MaxOpsBeforeYield",{defaultValue:()=>2048}),Pf=I("effect/Scheduler/PreventSchedulerYield",{defaultValue:()=>!1});var Gi="effect/Tracer/ParentSpan";class ar extends ve()(Gi){}var oE=(e)=>e;var Br=I("effect/Tracer/DisablePropagation",{defaultValue:_r}),Ff=I("effect/Tracer/CurrentTraceLevel",{defaultValue:()=>"Info"}),Mf=I("effect/Tracer/MinimumTraceLevel",{defaultValue:()=>"All"}),Yi="effect/Tracer",Qo=I(Yi,{defaultValue:()=>oE({span:(e)=>new Nf(e)})});class Nf{_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=sr(e.parent)?.traceId??_f(32),this.spanId=_f(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 _f=function(){return function(r){let n="";for(let o=0;o<r;o++)n+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return n}}();var Uf="effect/observability/Metric/FiberRuntimeMetricsKey";var Go=I("effect/References/CurrentConcurrency",{defaultValue:()=>"unbounded"}),zf=I("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),qr=I("effect/References/CurrentStackFrame",{defaultValue:Qe}),Yo=I("effect/References/TracerEnabled",{defaultValue:ze}),Mn=I("effect/References/TracerTimingEnabled",{defaultValue:ze}),Nn=I("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),Un=I("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),Ot=I("effect/References/CurrentLogAnnotations",{defaultValue:()=>({})}),Zi=I("effect/References/CurrentLogLevel",{defaultValue:()=>"Info"}),ec=I("effect/References/MinimumLogLevel",{defaultValue:()=>"Info"});var Xo=I("effect/References/CurrentLogSpans",{defaultValue:()=>[]});var qt=(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:cE(()=>r.stack)}},tc=(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}},cE=tc(3);var Zo="dev";class Wf extends bn{fiberId;constructor(e,t=Sn){super("Interrupt",t,"Interrupted");this.fiberId=e}toString(){return`Interrupt(${this.fiberId})`}toJSON(){return{_tag:"Interrupt",fiberId:this.fiberId}}[V](e){return Mo(e)&&this.fiberId===e.fiberId&&this.annotations===e.annotations}[W](){return we(ne(`${this._tag}:${this.fiberId}`))(Ro(this.annotations))}}var rs=(e)=>new bt([new Wf(e)]);var Vf=(e)=>{let t=e.reasons.find(wn);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 Jf=(e)=>e.reasons.some(kn);var lc=(e)=>{let t=e.reasons.find(kn);return t?ke(t.defect):me(e)},pc=(e)=>e.reasons.some(Mo);var Kf=(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 Qf=u(2,(e,t)=>{if(e.reasons.length===0)return t;else if(t.reasons.length===0)return e;let r=new bt(mf(e.reasons,t.reasons));return oe(e,r)?e:r});var fE=(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},ns=(e)=>{let t=fE(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")},Gf=(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(rc(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=mE(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(rc(s,r[0].annotations))}return Error.stackTraceLimit=n,t},rc=(e,t)=>{let r=typeof e,n;if(e&&r==="object"){if(n=new globalThis.Error(lE(e),{cause:e.cause?rc(e.cause):void 0}),typeof e.name==="string")n.name=e.name;if(typeof e.stack==="string")n.stack=dE(e.stack,n,t);else{let o=`${n.name}: ${n.message}`;n.stack=t?Yf(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:xn(e));return n},lE=(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 xn(e)},pE=/\((.*)\)/g,dE=(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?Yf(s.join(`
|
|
15
15
|
`),r):s.join(`
|
|
16
|
-
`)},
|
|
17
|
-
${
|
|
18
|
-
`)},
|
|
19
|
-
`)},
|
|
20
|
-
${
|
|
16
|
+
`)},Yf=(e,t)=>{let r=t?.get(vn.key);if(r)e=`${e}
|
|
17
|
+
${Xf(r)}`;return e},mE=(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(zu.key);if(r.push(` at fiber (${o})`),s)r.push(Xf(s))}return r.join(`
|
|
18
|
+
`)},Xf=(e)=>{let t=[],r=e,n=0;while(r&&n<10){let o=r.stack();if(o){let s=o.matchAll(pE),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
|
+
`)},dc=(e)=>Gf(e).map((t)=>t.cause?`${t.stack} {
|
|
20
|
+
${Zf(t.cause," ")}
|
|
21
21
|
}`:t.stack).join(`
|
|
22
|
-
`),
|
|
22
|
+
`),Zf=(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},Zo=`~effect/Fiber/${Xo}`,fE={_A:w,_E:w},lE={id:0},Un=()=>globalThis[Mr];class dc{constructor(e,t=!0){this[Zo]=fE,this.setContext(e),this.id=++lE.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)}[Zo];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 Bi(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=ts(e);if(this.currentStackFrame)r=bn(r,at(wn,this.currentStackFrame));if(t)r=bn(r,t);if(this._interruptedCause=this._interruptedCause?Gf(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===Dt)return;let r=rc.interruptChildren&&rc.interruptChildren(this);if(r!==void 0)return this.evaluate(E(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[Mr];globalThis[Mr]=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=E(Vr,()=>s)}if(n=this.currentTracerContext?this.currentTracerContext(n,this):n[Y](this),o!==this.currentLoopCount)return Dt;else if(n===Dt){let s=this._yielded;if(rr in s)return this._yielded=void 0,s;return Dt}}}catch(s){if(!v(n,Y))return Ct(`Fiber.runLoop: Not a valid effect: ${String(n)}`);return this.runLoop(Ct(s))}finally{globalThis[Mr]=t}}getCont(e){while(!0){let t=this._stack.pop();if(!t)return;let r=t[zt]&&t[zt](this);if(r)return r[e]=r,r;if(t[e])return t}}yieldWith(e){return this._yielded=e,Dt}children(){return this._children??=new Set}pipe(){return M(this,arguments)}setContext(e){this.context=e;let t=this.getRef(_n);if(t!==this.currentScheduler)this.currentScheduler=t,this._dispatcher=void 0;this.currentSpan=e.mapUnsafe.get(Qi),this.currentLogLevel=this.getRef(Xi),this.minimumLogLevel=this.getRef(Zi),this.currentStackFrame=e.mapUnsafe.get(Hr.key),this.maxOpsBeforeYield=this.getRef(_f),this.currentPreventYield=this.getRef(Pf),this.runtimeMetrics=e.mapUnsafe.get(zf);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 rc={interruptChildren:void 0},ns=(e)=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(wn.key,e.currentStackFrame),jt(t)},pE=(e)=>{if(e._children===void 0||e._children.size===0)return;return fr(e._children)},tl=(e)=>{let t=e;if(t._exit)return x(t._exit);return Fe((r)=>{if(t._exit)return r(x(t._exit));return b(e.addObserver((n)=>r(x(n))))})},os=(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(x(n))}return s(),b(()=>o?.())});var mc=(e)=>A((t)=>rl(e,t.id)),rl=u((e)=>v(e[0],Zo),(e,t,r)=>A((n)=>{let o=ns(n);return o=o&&r?Ht(o,r):o??r,e.interruptUnsafe(t,o),Dn(tl(e))})),fr=(e)=>A((t)=>{let r=ns(t);for(let n of e)n.interruptUnsafe(t.id,r);return Dn(os(e))});var x=ne,B=ze,j=St,b=je({op:"Sync",[Y](e){let t=this[P](),r=e.getCont(_e);return r?r[_e](t,e):e.yieldWith(ne(t))}}),T=je({op:"Suspend",[Y](e){return this[P]()}}),nl=Uo({onNone:()=>j(new wt("Effect.fromOption: Option.none")),onSome:x}),Wr=cf({onFailure:j,onSuccess:x}),ol=(e)=>e==null?j(new wt):x(e),hc=je({op:"Yield",[Y](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{if(t)return;e.evaluate(Xe)},this[P]??0),e.yieldWith(()=>{t=!0})}}),Vr=hc(0),gc=(e)=>x(ae(e)),zn=x(Z()),sl=(e)=>On(e)?zn:D(e.value,ae),il=(e)=>T(()=>B(N(e))),Ot=(e)=>Ct(e),ss=(e)=>T(()=>j(N(e))),F=x(void 0);var cl=(e)=>{let t=typeof e==="function"?e:e.try,r=typeof e==="function"?(n)=>new ws(n,"An error occurred in Effect.try"):e.catch;return T(()=>{try{return x(N(t))}catch(n){return j(N(()=>r(n)))}})};var xc=(e)=>yc(function(t,r){N(()=>e(r)).then((n)=>t(x(n)),(n)=>t(Ot(n)))},e.length!==0),al=(e)=>{let t=typeof e==="function"?e:e.try,r=typeof e==="function"?(n)=>new ws(n,"An error occurred in Effect.tryPromise"):e.catch;return yc(function(n,o){let s=(i)=>{try{n(j(N(()=>r(i))))}catch(c){n(Ot(c))}};try{N(()=>t(o)).then((i)=>n(x(i)),s)}catch(i){s(i)}},t.length!==0)},ul=(e)=>A((t)=>e(t.id)),fl=A(x),ll=ul(x),yc=je({op:"Async",single:!1,[Y](e){let t=N(()=>this[P][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[P][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 Dt;return e._stack.push(dE(()=>(r=!0,o?.abort(),s??Xe))),Dt}}),dE=je({op:"AsyncFinalizer",[zt](e){if(e.interruptible)e.interruptible=!1,e._stack.push(Es)},[Qe](e,t){return lc(e)?E(this[P](),()=>B(e)):B(e)}}),Fe=(e)=>yc(e,e.length>=2),is=Fe(er),pl=(...e)=>T(()=>Br(e.length===1?e[0]():e[1].call(e[0].self))),Ec=(e,...t)=>{let r=t.length===0?function(){return T(()=>Br(e.apply(this,arguments)))}:function(){let n=T(()=>Br(e.apply(this,arguments)));for(let o=0;o<t.length;o++)n=t[o](n,...arguments);return n};return bc(e.length,r)},bc=(e,t)=>Object.defineProperty(t,"length",{value:e,configurable:!0}),Lf=ec(2),dl=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)=>$f(t,s,o,i,e,r);return $f(t,arguments[0],o,Array.prototype.slice.call(arguments,1),e,r)},$f=(e,t,r,n,o,s)=>{let i=typeof t==="function"?t:n.pop().bind(t.self);return bc(i.length,function(...c){let f=T(()=>{let p=i.apply(this,arguments);return k(p)?p:Br(p)});for(let p=0;p<n.length;p++)f=n[p](f,...c);if(!k(f))return f;let l=globalThis.Error.stackTraceLimit;globalThis.Error.stackTraceLimit=2;let m=new globalThis.Error;return globalThis.Error.stackTraceLimit=l,At(o?Nn(e,s,(p)=>ic(f,p)):f,Hr,(p)=>({name:e,stack:Lf(()=>m.stack),parent:{name:`${e} (definition)`,stack:Lf(()=>r.stack),parent:p}}))})},ml=(e,...t)=>bc(e.length,t.length===0?function(){return jf(()=>e.apply(this,arguments))}:function(){let r=jf(()=>e.apply(this,arguments));for(let n of t)r=n(r);return r}),jf=(e)=>{try{let t=e(),r=void 0;while(!0){let n=t.next(r);if(n.done)return x(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 T(()=>{if(s)return s=!1,E(n.value,(i)=>Br(t,i));else return T(()=>Br(e()))})}}}catch(t){return Ot(t)}},Br=je({op:"Iterator",single:!1,[_e](e,t){let r=this[P][0];while(!0){let n=r.next(e);if(n.done)return x(n.value);if(!Le(n.value))return t._stack.push(this),n.value;else if(n.value._tag==="Failure")return n.value;e=n.value.value}},[Y](e){return this[_e](this[P][1],e)}}),Oe=u(2,(e,t)=>{let r=x(t);return E(e,(n)=>r)}),cs=(e)=>D(e,ae),hl=(e)=>lr(e,{onFailure:x,onSuccess:j}),qe=u(2,(e,t)=>E(e,(r)=>k(t)?t:N(()=>t(r)))),lt=u(2,(e,t)=>E(e,(r)=>Oe(k(t)?t:N(()=>t(r)),r))),Dn=(e)=>E(e,(t)=>Xe),gl=(e)=>Me(e,j),Sc=(e,t)=>A((r)=>Fe((n)=>{let o=Ye(e),s=o.length,i=0,c=!1,f=new Set,l=[],m=(p,g,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:E(mr(fr(f)),()=>p)),y&&t?.onWinner)t.onWinner({fiber:g,index:S,parentFiber:r})};for(let p=0;p<s;p++){let g=hr(r,o[p],!0,!0,!1);if(f.add(g),g.addObserver((S)=>{f.delete(g),m(S,g,p)}),c)break}return fr(f)})),Cc=(e,t)=>A((r)=>Fe((n)=>{let o=!1,s=new Set,i=(f)=>{o=!0,n(s.size===0?f:E(mr(fr(s)),()=>f))},c=0;for(let f of e){if(o)break;let l=c++,m=hr(r,f,!0,!0,!1);s.add(m),m.addObserver((p)=>{s.delete(m);let g=!o;if(i(p),g&&t?.onWinner)t.onWinner({fiber:m,index:l,parentFiber:r})})}return fr(s)})),xl=u((e)=>k(e[1]),(e,t,r)=>Sc([e,t],r)),as=u((e)=>k(e[1]),(e,t,r)=>Cc([e,t],r)),E=u(2,(e,t)=>{let r=Object.create(mE);return r[P]=e,r[_e]=t.length!==1?(n)=>t(n):t,r}),mE=bt({op:"OnSuccess",[Y](e){return e._stack.push(this),this[P]}}),yl=u(2,(e,t)=>{if(Le(e))return e._tag==="Success"?t.onSuccess(e.value):t.onFailure(e.cause);return ut(e,t)}),Le=(e)=>(rr in e),El=u(2,(e,t)=>{if(Le(e))return e._tag==="Success"?t(e.value):e;return E(e,t)}),bl=(e)=>E(e,w),D=u(2,(e,t)=>E(e,(r)=>x(N(()=>t(r))))),Sl=u(2,(e,t)=>Le(e)?Ol(e,t):D(e,t)),Cl=u(2,(e,t)=>Le(e)?Al(e,t):Ic(e,t)),wl=u(2,(e,t)=>Le(e)?Rl(e,t):_c(e,t)),kl=u(2,(e,t)=>{if(Le(e)){if(e._tag==="Success")return e;let r=ft(e.cause);if(J(r))return e;return t(r.success)}return Ae(e,t)});var wc=(e)=>e._tag==="Success";var vl=(e)=>e._tag==="Failure"?we(e.cause):le(e);var Xe=ne(void 0),Ol=u(2,(e,t)=>e._tag==="Success"?ne(t(e.value)):e),Al=u(2,(e,t)=>{if(e._tag==="Success")return e;let r=ft(e.cause);if(J(r))return e;return St(t(r.success))}),Rl=u(2,(e,t)=>{if(e._tag==="Success")return ne(t.onSuccess(e.value));let r=ft(e.cause);if(J(r))return e;return St(t.onFailure(r.success))});var Tl=(e)=>{let t=[];for(let r of e)if(r._tag==="Failure")t.push(...r.cause.reasons);return t.length===0?Xe:ze(nr(t))};var Il=(e)=>e,_l=(e)=>A((t)=>x(qi(t.context,e))),hE=(e)=>A((t)=>t.context.mapUnsafe.has(e.key)?x(kt(t.context,e)):j(new wt)),Ln=u(2,(e,t)=>A((r)=>{let n=r.context,o=t(n);if(n===o)return e;return r.setContext(o),Qr(e,()=>{r.setContext(n);return})})),At=u(3,(e,t,r)=>Ln(e,(n)=>{let o=kt(n,t),s=r(o);if(o===s)return n;return He(n,t,s)})),kc=()=>gE,gE=A((e)=>x(e.context)),Wt=(e)=>A((t)=>e(t.context)),Rt=u(2,(e,t)=>{if(Le(e))return e;return Ln(e,Ht(t))}),ye=function(){if(arguments.length===1)return u(2,(e,t)=>Hf(e,arguments[0],t));return u(3,(e,t,r)=>Hf(e,t,r)).apply(this,arguments)},Hf=(e,t,r)=>Ln(e,(n)=>{if(n.mapUnsafe.get(t.key)===r)return n;return He(n,t,r)}),us=u(3,(e,t,r)=>E(r,(n)=>ye(e,t,n))),Pl=ye(Qo),vc=u((e)=>k(e[1]),(e,t,r)=>Oc(e,t,(n,o)=>[n,o],r)),Oc=u((e)=>k(e[1]),(e,t,r,n)=>n?.concurrent?D(bs([e,t],{concurrency:2}),([o,s])=>N(()=>r(o,s))):E(e,(o)=>D(t,(s)=>N(()=>r(o,s))))),Fl=u((e)=>k(e[0]),(e,t,r)=>qc(e,t,r?(n)=>j(r(n)):()=>j(new wt))),Ml=u(2,(e,t)=>E(t,(r)=>r?cs(e):zn)),Ac=u(2,(e,t)=>Array.from({length:t},()=>e)),Nl=u((e)=>k(e[0]),(e,t,r)=>bs(Ac(e,t),r)),fs=u((e)=>k(e[0]),(e,t)=>Vt({while:Ue,body:ee(t?.disableYield?e:E(e,(r)=>Vr)),step:er})),Me=u(2,(e,t)=>{let r=Object.create(xE);return r[P]=e,r[Qe]=t.length!==1?(n)=>t(n):t,r}),xE=bt({op:"OnFailure",[Y](e){return e._stack.push(this),this[P]}}),Rc=u(3,(e,t,r)=>Me(e,(n)=>{if(!t(n))return B(n);return N(()=>r(n))})),Jr=u(3,(e,t,r)=>Me(e,(n)=>{let o=t(n);return J(o)?B(o.failure):N(()=>r(o.success,n))})),Ae=u(2,(e,t)=>Jr(e,ft,(r)=>t(r))),Ul=(e)=>lr(e,{onFailure:(t)=>Ai(t)?zn:j(t),onSuccess:gc}),zl=u(2,(e,t)=>Jr(e,fc,t)),Dl=u(2,(e,t)=>Me(e,(r)=>qe(N(()=>t(r)),B(r)))),Ll=u(3,(e,t,r)=>Rc(e,t,(n)=>qe(N(()=>r(n)),B(n)))),ls=u(3,(e,t,r)=>Me(e,(n)=>{let o=t(n);if(J(o))return B(n);return qe(N(()=>r(o.success,n)),B(n))})),Tc=u(2,(e,t)=>ls(e,ft,(r)=>t(r))),$l=u(3,(e,t,r)=>{let n=Array.isArray(t)?(o)=>v(o,"_tag")&&t.includes(o._tag):ot(t);return Tc(e,(o)=>n(o)?r(o):F)}),jl=u(2,(e,t)=>ls(e,fc,(r)=>t(r))),$n=u((e)=>k(e[0]),(e,t,r,n)=>Me(e,(o)=>{let s=ft(o);if(J(s))return B(s.failure);if(!t(s.success))return n?N(()=>n(s.success)):B(o);return N(()=>r(s.success))})),ps=u((e)=>k(e[0]),(e,t,r,n)=>Me(e,(o)=>{let s=ft(o);if(J(s))return B(s.failure);let i=t(s.success);if(J(i))return n?N(()=>n(i.failure)):B(o);return N(()=>r(i.success))})),ds=u((e)=>k(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?(s)=>v(s,"_tag")&&t.includes(s._tag):ot(t);return $n(e,o,r,n)}),Hl=u((e)=>k(e[0]),(e,t,r)=>{let n;return ps(e,(o)=>(n??=Object.keys(t),v(o,"_tag")&&Pr(o._tag)&&n.includes(o._tag)?we(o):le(o)),(o)=>N(()=>t[o._tag](o)),r)}),Bl=u((e)=>k(e[0]),(e,t,r,n,o)=>$n(e,(s)=>ot(s,t)&&v(s,"reason"),(s)=>{let i=s.reason;if(ot(i,r))return n(i,s);return o?N(()=>o(i,s)):j(s)})),ql=u((e)=>k(e[0]),(e,t,r,n)=>{let o;return $n(e,(s)=>ot(s,t)&&v(s,"reason")&&v(s.reason,"_tag")&&Pr(s.reason._tag),(s)=>{let i=s.reason;if(o??=Object.keys(r),o.includes(i._tag))return N(()=>r[i._tag](i,s));return n?N(()=>n(i,s)):j(s)})}),Wl=u(2,(e,t)=>ps(e,(r)=>{if(ot(r,t)&&v(r,"reason"))return we(r.reason);return le(r)},j));var Ic=u(2,(e,t)=>Ae(e,(r)=>ss(()=>t(r)))),_c=u(2,(e,t)=>lr(e,{onFailure:(r)=>ss(()=>t.onFailure(r)),onSuccess:(r)=>b(()=>t.onSuccess(r))})),ms=(e)=>Ae(e,Ot),Vl=u(2,(e,t)=>Ae(e,(r)=>b(t))),Jl=(e)=>T(()=>{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)}),Pc=(e)=>Ae(e,(t)=>E(Vr,()=>Pc(e))),Kl=u((e)=>k(e[0]),(e,t)=>{if(!t?.log)return lr(e,{onFailure:(n)=>F,onSuccess:(n)=>F});let r=et(t.log===!0?void 0:t.log);return ut(e,{onFailure(n){let o=Jf(n);return J(o)?B(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:(n)=>F})}),Ql=u((e)=>k(e[0]),(e,t)=>{if(!t?.log)return ut(e,{onFailure:(n)=>F,onSuccess:(n)=>F});let r=et(t.log===!0?void 0:t.log);return ut(e,{onFailure:(n)=>t.message===void 0?r(n):r(t.message,n),onSuccess:(n)=>F})}),Gl=(e)=>hs(e,{onFailure:Z,onSuccess:ae}),qt=(e)=>jn(e,{onFailure:le,onSuccess:we}),ut=u(2,(e,t)=>{let r=Object.create(yE);return r[P]=e,r[_e]=t.onSuccess.length!==1?(n)=>t.onSuccess(n):t.onSuccess,r[Qe]=t.onFailure.length!==1?(n)=>t.onFailure(n):t.onFailure,r}),yE=bt({op:"OnSuccessAndFailure",[Y](e){return e._stack.push(this),this[P]}}),Fc=u(2,(e,t)=>ut(e,{onFailure:(r)=>b(()=>t.onFailure(r)),onSuccess:(r)=>b(()=>t.onSuccess(r))})),lr=u(2,(e,t)=>ut(e,{onFailure:(r)=>{let n=r.reasons.find(Sn);return n?N(()=>t.onFailure(n.error)):B(r)},onSuccess:t.onSuccess})),hs=u(2,(e,t)=>lr(e,{onFailure:(r)=>b(()=>t.onFailure(r)),onSuccess:(r)=>b(()=>t.onSuccess(r))})),jn=u(2,(e,t)=>{if(Le(e)){if(e._tag==="Success")return ne(t.onSuccess(e.value));let r=ft(e.cause);if(J(r))return e;return ne(t.onFailure(r.success))}return hs(e,t)}),Yl=u(2,(e,t)=>{if(Le(e)){if(e._tag==="Success")return ne(t.onSuccess(e.value));return ne(t.onFailure(e.cause))}return Fc(e,t)}),Hn=(e)=>Le(e)?ne(e):EE(e),EE=je({op:"Exit",[Y](e){return e._stack.push(this),this[P]},[_e](e,t,r){return x(r??ne(e))},[Qe](e,t,r){return x(r??ze(e))}}),Xl=jn({onFailure:()=>!0,onSuccess:()=>!1}),Zl=jn({onFailure:()=>!1,onSuccess:()=>!0}),ep=u(2,(e,t)=>qe(xr(t),e)),Mc=u(2,(e,t)=>as(e,E(xr(t.duration),t.orElse))),tp=u(2,(e,t)=>Mc(e,{duration:t,orElse:()=>j(new Xc)})),rp=u(2,(e,t)=>as(cs(e),Oe(xr(t),Z()))),np=(e)=>gr((t)=>{let r=t.currentTimeNanosUnsafe();return D(e,(n)=>[Tn(t.currentTimeNanosUnsafe()-r),n])}),nc="~effect/Scope",oc="~effect/Scope/Closeable",pr=ke("effect/Scope"),Nc=(e,t)=>T(()=>gs(e,t)??F),gs=(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=Ec(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=Un();for(let c=s.length-1;c>=0;c--){let f=s[c];if(e.strategy==="sequential")n.push(yield*Hn(f(r)));else o.push(hr(i,f(r),!0,!0,"inherit"))}if(o.length>0)n=yield*os(o);return yield*Tl(n)});var op=(e,t)=>{let r=Bn(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return es(e,n,(o)=>Nc(r,o)),es(r,n,(o)=>b(()=>ip(e,n))),r},pt=(e,t)=>T(()=>{if(e.state._tag==="Closed")return t(e.state.exit);return es(e,{},t),F}),sp=(e,t)=>pt(e,ee(t)),es=(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)},ip=(e,t)=>{if(e.state._tag==="Open")e.state.finalizers.delete(t)},Bn=(e="sequential")=>({[oc]:oc,[nc]:nc,strategy:e,state:SE}),SE={_tag:"Empty"};var qn=pr,cp=ye(pr),xs=(e)=>A((t)=>{let r=t.context,n=Bn();return t.setContext(He(t.context,pr,n)),Qr(e,(o)=>(t.setContext(r),gs(n,o)))});var ys=(e)=>T(()=>{let t=Bn();return Re(e(t),(r)=>T(()=>gs(t,r)??F))}),dr=(e,t,r)=>Wt((n)=>Vn((o)=>E(qn,(s)=>lt(r?.interruptible?o(e):e,(i)=>pt(s,(c)=>Rt(t(i,c),n)))))),Kr=(e)=>E(qn,(t)=>Wt((r)=>pt(t,(n)=>Rt(e(n),r)))),Qr=je({op:"OnExit",single:!1,[Y](e){return e._stack.push(this),this[P][0]},[zt](e){if(e.interruptible&&this[P][2]!==!0)e._stack.push(Es),e.interruptible=!1},[_e](e,t,r){r??=ne(e);let n=this[P][1](r);return n?E(n,(o)=>r):r},[Qe](e,t,r){r??=ze(e);let n=this[P][1](r);return n?E(n,(o)=>r):r}}),Re=u(2,Qr),ap=u(2,(e,t)=>Re(e,(r)=>t)),Uc=u(3,(e,t,r)=>Re(e,(n)=>{if(!t(n))return F;return r(n)})),zc=u(3,(e,t,r)=>Re(e,(n)=>{let o=t(n);return J(o)?F:r(o.success,n)})),Dc=u(2,(e,t)=>zc(e,vl,t)),up=u(3,(e,t,r)=>Uc(e,(n)=>{if(n._tag!=="Failure")return!1;return t(n.cause)},(n)=>r(n.cause))),Lc=u(3,(e,t,r)=>Re(e,(n)=>{if(n._tag!=="Failure")return F;let o=t(n.cause);return J(o)?F:r(o.success,n.cause)})),fp=u(2,(e,t)=>Lc(Qf,t)(e)),Wn=(e,t,r)=>Vn((n)=>E(e,(o)=>Qr(n(t(o)),(s)=>r(o,s),!0))),lp=(e)=>dr(e,(t)=>v(t,Symbol.asyncDispose)?xc(()=>t[Symbol.asyncDispose]()):b(()=>t[Symbol.dispose]())),$c=u(2,(e,t)=>b(()=>{let r=$r(De(t)),n=Number.isFinite(r),o=Gc(!1),s=0,i=!1,c,f=E(o.await,()=>c);return[A((l)=>{let m=l.getRef(dt),p=n?m.currentTimeMillisUnsafe():0;if(i||p<s)return c??f;return i=!0,o.closeUnsafe(),c=void 0,Re(e,(g)=>b(()=>{i=!1,s=m.currentTimeMillisUnsafe()+r,c=g,o.openUnsafe()}))}),b(()=>{s=0,o.closeUnsafe(),c=void 0})]})),jc=u(2,(e,t)=>D($c(e,t),(r)=>r[0])),pp=(e)=>jc(e,Lr),dp=A((e)=>B(ts(e.id))),mr=(e)=>A((t)=>{if(!t.interruptible)return e;return t.interruptible=!1,t._stack.push(Es),e}),mp=je({op:"SetInterruptible",[zt](e){if(e.interruptible=this[P],e._interruptedCause&&e.interruptible)return()=>B(e._interruptedCause)}}),Es=mp(!0),hp=mp(!1),Hc=(e)=>A((t)=>{if(t.interruptible)return e;if(t.interruptible=!0,t._stack.push(hp),t._interruptedCause)return B(t._interruptedCause);return e}),Vn=(e)=>A((t)=>{if(!t.interruptible)return e(w);return t.interruptible=!1,t._stack.push(Es),e(Hc)}),gp=(e)=>A((t)=>{if(t.interruptible)return e(w);return t.interruptible=!0,t._stack.push(hp),e(mr)}),xp=D(dr(b(()=>new AbortController),(e)=>b(()=>e.abort())),(e)=>e.signal),bs=(e,t)=>{if(yt(e))return t?.mode==="result"?Be(e,qt,t):Be(e,w,t);else if(t?.discard)return t.mode==="result"?Be(Object.values(e),qt,t):Be(Object.values(e),w,t);return T(()=>{let r={};return Oe(Be(Object.entries(e),([n,o])=>D(t?.mode==="result"?qt(o):o,(s)=>{r[n]=s}),{discard:!0,concurrency:t?.concurrency}),r)})},Bc=u((e)=>yt(e[0])&&!k(e[0]),(e,t,r)=>D(Be(e,(n,o)=>qt(t(n,o)),r),(n)=>xf(n,w))),yp=u((e)=>yt(e[0])&&!k(e[0]),(e,t,r)=>E(Bc(e,t,{concurrency:r?.concurrency}),([n,o])=>{if(Di(n))return j(n);return r?.discard?F:x(o)})),Ep=u((e)=>yt(e[0])&&!k(e[0]),(e,t)=>T(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return bp(r,0,t,n.value);return x(Z())})),bp=(e,t,r,n)=>E(r(n,t),(o)=>{if(o)return x(ae(n));let s=e.next();if(!s.done)return bp(e,t+1,r,s.value);return x(Z())}),Sp=u((e)=>yt(e[0])&&!k(e[0]),(e,t)=>T(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return Cp(r,0,t,n.value);return x(Z())})),Cp=(e,t,r,n)=>E(r(n,t),(o)=>{if(ir(o))return x(ae(o.success));let s=e.next();if(!s.done)return Cp(e,t+1,r,s.value);return x(Z())}),Vt=je({op:"While",[_e](e,t){if(this[P].step(e),this[P].while())return t._stack.push(this),this[P].body();return Xe},[Y](e){if(this[P].while())return e._stack.push(this),this[P].body();return Xe}}),Be=u((e)=>typeof e[1]==="function",(e,t,r)=>A((n)=>{let o=r?.concurrency==="inherit"?n.getRef(Qo):r?.concurrency??1,s=o==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,o);if(s===1)return CE(e,t,r);let i=Ye(e),c=i.length;if(c===0)return r?.discard?F:x([]);let f=r?.discard?void 0:Array(c),l=kE({f:t,out:f},i,{concurrency:s});return l?Oe(l,f):x(f)})),CE=(e,t,r)=>T(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return Oe(Vt({while:()=>!s.done,body:()=>t(s.value,i++),step:(c)=>{if(n)n.push(c);s=o.next()}}),n)}),wE=(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,m,p,g,S=!1,y,_,z=()=>{let be=!1;for(;!y&&i<c;i++){let se=o[i],Te=_??t(n,se,i);if(Le(Te)){if(y=r(n,se,Te,i),y)break}else if(f===1)return E(Hn(Te),(Se)=>(y=r(n,se,Se,i),i++,y??z()??F));else if(!m)return Fe((Se)=>{m=Un(),_=Te,g=Se;let gt=z();if(gt)return Se(gt);return T(()=>(y=Xe,S=!0,p?fr(p):F))});else{_=void 0;let Se=hr(m,Te,!0,!0,"inherit");if(Se._exit){if(y=r(n,se,Se._exit,i),y)break;continue}if(p)p.add(Se);else p=new Set([Se]);let gt=i;if(Se.addObserver((Xt)=>{if(p.delete(Se),y){if(!S&&Xt._tag==="Failure")for(let ie of Xt.cause.reasons)if(ie._tag==="Interrupt")continue;else if(y._tag==="Failure")y.cause.reasons.push(ie);else y=ze(nr([ie]))}else{let ie=r(n,se,Xt,gt);if(ie)y=ie._tag==="Failure"?ze(nr(ie.cause.reasons.slice())):ie,z()}if(be){let ie=z();if(ie)g(ie)}else if(l&&p.size===0)g(y??F)}),p.size<f)continue;be=!0,i++;return}}if(l=!0,y){if(p&&p.size>0){let se=ns(m);p.forEach((Te)=>Te.interruptUnsafe(m.id,se));return}if(g||y._tag==="Failure")return y}else if(g){if(!p)return Xe;else if(p.size===0)g(F)}};return z()}};var kE=wE({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}}),qc=u(3,(e,t,r)=>E(e,(n)=>t(n)?x(n):r(n))),Wc=u(3,(e,t,r)=>E(e,(n)=>{let o=t(n);return J(o)?r(o.failure):x(o.success)})),wp=u((e)=>k(e[0]),(e,t,r)=>Wc(e,t,r?(n)=>j(r(n)):()=>j(new wt))),kp=u((e)=>yt(e[0])&&!k(e[0]),(e,t,r)=>T(()=>{let n=[];return Oe(Be(e,(o,s)=>{let i=t(o,s);if(typeof i==="boolean"){if(i)n.push(o);return F}return D(i,(c)=>{if(c)n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),vp=u((e)=>yt(e[0])&&!k(e[0]),(e,t)=>T(()=>{let r=[];for(let n of e){let o=t(n);if(ir(o))r.push(o.success)}return x(r)})),Op=u((e)=>yt(e[0])&&!k(e[0]),(e,t,r)=>T(()=>{let n=[];return Oe(Be(e,(o)=>D(t(o),(s)=>{if(ir(s))n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),Ap=x({}),Rp=Wu(D),Tp=Vu(D,E),Ip=qu(D);var _p=u((e)=>k(e[0]),(e,t)=>A((r)=>(jE(),x(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 dc(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)=>k(e[0]),(e,t)=>A((r)=>x(hr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Fp=(e)=>A((t)=>{let r=t._children&&Ye(t._children);return Re(e,(n)=>{let o=t._children;if(o===void 0||o.size===0)return F;else if(r)o=uf(o,(s)=>!r.includes(s));return Dn(os(o))})}),Vc=u((e)=>k(e[0]),(e,t,r)=>A((n)=>{let o=hr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};es(t,s,()=>ul((c)=>c===o.id?F:mc(o))),o.addObserver(()=>ip(t,s))}else o.interruptUnsafe(n.id,ns(n));return x(o)})),Mp=u((e)=>k(e[0]),(e,t)=>E(qn,(r)=>Vc(e,r,t))),Tt=(e)=>(t,r)=>{let n=new dc(r?.scheduler?He(e,_n,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 Np=Tt(Pe()),Jc=(e)=>{let t=Tt(e);return(r,n)=>{let o=t(r,n);if(n?.onExit)o.addObserver(n.onExit);return(s)=>o.interruptUnsafe(s)}},Up=Jc(Pe()),Ss=(e)=>{let t=Tt(e);return(r,n)=>{let o=t(r,n);return new Promise((s)=>{o.addObserver((i)=>s(i))})}},zp=Ss(Pe()),Kc=(e)=>{let t=Ss(e);return(r,n)=>t(r,n).then((o)=>{if(o._tag==="Failure")throw rs(o.cause);return o.value})},Dp=Kc(Pe()),Cs=(e)=>{let t=Tt(e);return(r)=>{if(Le(r))return r;let n=new Jo("sync"),o=t(r,{scheduler:n});return o.currentDispatcher?.flush(),o._exit??Ct(new Zc(o))}},Lp=Cs(Pe()),Qc=(e)=>{let t=Cs(e);return(r)=>{let n=t(r);if(n._tag==="Failure")throw rs(n.cause);return n.value}},$p=Qc(Pe()),Bf=x(!0),qf=x(!1);class jp{waiters=[];scheduled=!1;isOpen;constructor(e){this.isOpen=e}scheduleUnsafe(e){if(this.scheduled||this.waiters.length===0)return Bf;return this.scheduled=!0,e.currentDispatcher.scheduleTask(this.flushWaiters,0),Bf}flushWaiters=()=>{this.scheduled=!1;let e=this.waiters;this.waiters=[];for(let t=0;t<e.length;t++)e[t](Xe)};open=A((e)=>{if(this.isOpen)return qf;return this.isOpen=!0,this.scheduleUnsafe(e)});release=A((e)=>this.isOpen?qf:this.scheduleUnsafe(e));openUnsafe(){if(this.isOpen)return!1;return this.isOpen=!0,this.flushWaiters(),!0}await=Fe((e)=>{if(this.isOpen)return e(F);return this.waiters.push(e),b(()=>{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=b(()=>this.closeUnsafe());whenOpen=(e)=>E(this.await,()=>e)}var Gc=(e)=>new jp(e??!1);var Hp=A((e)=>x(e.getRef(Ko))),Bp=u(2,(e,t)=>ye(e,Ko,t)),qp=ye(Go),Wp=ye(Pn),sc=BigInt(0),vE={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:sc,endTime:sc,exit:Xe},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},OE=(e)=>Object.assign(Object.create(vE),e),Vp=(e)=>{if(!e)return Z();return pe(e.annotations,jr)?e._tag==="Span"?Vp(sr(e.parent)):Z():ae(e)},Yc=(e,t,r)=>{let n=!e.getRef(Go)||r?.annotations&&pe(r.annotations,jr),o=r?.parent!==void 0?ae(r.parent):r?.root?Z():Vp(e.currentSpan),s;if(n)s=OE({name:t,parent:o,annotations:He(r?.annotations??Pe(),jr,!0)});else{let i=e.getRef(Ko),c=e.getRef(dt),f=e.getRef(Pn),l=e.getRef(Fn),m=e.getRef(Mn),p=r?.level??e.getRef(Mf),g=r?.links!==void 0?[...m,...r.links]:m.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Pe(),links:g,startTime:f?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??On(o),sampled:r?.sampled??(Ni(o)&&o.value.sampled===!1?!1:!sd(e.getRef(Nf),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},Jp=(e,t)=>A((r)=>x(Yc(r,e,t))),Ze=(e,t)=>mr(A((r)=>{let n=kt(r.context,pr),o=Yc(r,e,t??{}),s=r.getRef(dt),i=r.getRef(Pn);return Oe(pt(n,(c)=>RE(o,c,s,i)),o)})),Kp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Bt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return E(Ze(t,r),(o)=>qr(n,o,r))}return(n)=>E(Ze(t,r),(o)=>qr(n,o,r))},AE=(e,t)=>(t=typeof t==="function"?t:Ve,At(Hr,(r)=>({name:e,stack:t,parent:r}))),Qp=Fn,Gp=Mn,Yp=u((e)=>k(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map((s)=>({span:s,attributes:r}));return At(e,Mn,(s)=>[...s,...o])}),RE=(e,t,r,n)=>b(()=>{if(e.status._tag==="Ended")return;e.end(n?r.currentTimeNanosUnsafe():sc,t)}),Nn=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return A((o)=>{let s=Yc(o,e,r),i=o.getRef(dt);return Re(N(()=>n(s)),(c)=>b(()=>{if(s.status._tag==="Ended")return;s.end(i.currentTimeNanosUnsafe(),c)}))})},ic=ye(ar),qr=function(){let e=k(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;if(t._tag==="Span")r=Bt(r),n=AE(t.name,r?.captureStackTrace);if(e)return ic(n(arguments[0]),t);return(o)=>ic(n(o),t)},Xp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Bt(arguments[2]);if(e){let s=arguments[0];return Nn(t,arguments[2],(i)=>qr(s,i,r))}let n=typeof arguments[1]==="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>Nn(t,n?n(...i):o,(c)=>qr(s,c,r))},Zp=u((e)=>k(e[0]),(e,...t)=>At(e,Fn,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),ed=(...e)=>A((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 F}),td=A((e)=>{let t=e.currentSpanLocal;return t?x(t):j(new wt)}),rd=hE(ar),dt=R("effect/Clock",{defaultValue:()=>new nd}),TE=2147483647;class nd{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=b(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return IE()}currentTimeNanos=b(()=>this.currentTimeNanosUnsafe());sleep(e){let t=$r(e);if(t<=0)return Vr;return Fe((r)=>{if(t>TE)return;let n=setTimeout(()=>r(F),t);return b(()=>clearTimeout(n))})}}var Wf=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))}(),IE=function(){let e=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!e)return Wf;let t=Wf()-e.bigint();return()=>t+e.bigint()}(),gr=(e)=>A((t)=>e(t.getRef(dt))),xr=(e)=>gr((t)=>t.sleep(De(e))),od=gr((e)=>e.currentTimeMillis);var cc="~effect/Cause/TimeoutError";class Xc extends or("TimeoutError"){[cc]=cc;constructor(e){super({message:e})}}var ac="~effect/Cause/AsyncFiberError";class Zc extends or("AsyncFiberError"){[ac]=ac;constructor(e){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:e})}}var uc="~effect/Cause/UnknownError";class ws extends or("UnknownError"){[uc]=uc;constructor(e,t){super({message:t,cause:e})}}var ea=R("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),_E=(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}},PE=rf(zr,_E),sd=nf(PE),ta=R("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([LE,$E])}),FE=R("effect/Logger/LogToStderr",{defaultValue:Ir}),id=function(){let e=typeof arguments[0]==="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return mr(A((t)=>{let r=t.getRef(vt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];n[s]=i}return t.setContext(He(t.context,vt,n)),pt(kt(t.context,pr),(o)=>{let s=t.getRef(vt),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(He(t.context,vt,i)),F})}))},ME="~effect/Logger",NE={[ME]:{_Message:w,_Output:w},pipe(){return M(this,arguments)}},cd=(e)=>{let t=Object.create(NE);return t.log=e,t},UE=(e)=>e.replace(/[\s="]/g,"_"),zE=(e,t)=>`${UE(e[0])}=${t-e[1]}ms`;var et=(e)=>(...t)=>{let r=void 0;for(let n=0,o=t.length;n<o;n++){let s=t[n];if(xn(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=ki;return A((n)=>{let o=e??n.currentLogLevel;if(sd(n.minimumLogLevel,o))return F;let s=n.getRef(dt),i=n.getRef(ta);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 F})};var ur={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},qO={None:[],All:[],Trace:[ur.gray],Debug:[ur.blue],Info:[ur.green],Warn:[ur.yellow],Error:[ur.red],Fatal:[ur.bgBrightRed,ur.black]};var DE=(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 LE=cd(({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(pc(e));let i=t.getTime(),c=r.getRef(Yo),f="";for(let g of c)f+=` ${zE(g,i)}`;let l=r.getRef(vt);if(Object.keys(l).length>0)s.push(l);let m=r.getRef(ea);(r.getRef(FE)?m.error:m.log)(`[${DE(t)}] ${n.toUpperCase()} (#${r.id})${f}:`,...s)}),$E=cd(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(dt),s=t.getRef(vt),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"]=pc(e);i.event(Iu(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function jE(){rc.interruptChildren??=pE}var ad=x(void 0);var ud=u((e)=>k(e[0]),(e,t)=>Dc(e,(r)=>A((n)=>(HE(n,r,t?.defectsOnly),F)))),HE=(e,t,r)=>{let n=e.getRef(Df);if(n.size===0)return;if(r&&!Kf(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(dt).currentTimeNanosUnsafe()};n.forEach((s)=>s.report(o))};var fd=ea,oe=(e)=>A((t)=>e(t.getRef(fd))),BE=(e,...t)=>oe((r)=>b(()=>{r.assert(e,...t)})),qE=oe((e)=>b(()=>{e.clear()})),WE=(e)=>oe((t)=>b(()=>{t.count(e)})),VE=(e)=>oe((t)=>b(()=>{t.countReset(e)})),JE=(...e)=>oe((t)=>b(()=>{t.debug(...e)})),KE=(e,t)=>oe((r)=>b(()=>{r.dir(e,t)})),QE=(...e)=>oe((t)=>b(()=>{t.dirxml(...e)})),GE=(...e)=>oe((t)=>b(()=>{t.error(...e)})),YE=(e)=>oe((t)=>dr(b(()=>{if(e?.collapsed)t.groupCollapsed(e.label);else t.group(e?.label)}),()=>b(()=>{t.groupEnd()}))),XE=(...e)=>oe((t)=>b(()=>{t.info(...e)})),ZE=(...e)=>oe((t)=>b(()=>{t.log(...e)})),eb=(e,t)=>oe((r)=>b(()=>{r.table(e,t)})),tb=(e)=>oe((t)=>dr(b(()=>{t.time(e)}),()=>b(()=>{t.timeEnd(e)}))),rb=(e,...t)=>oe((r)=>b(()=>{r.timeLog(e,...t)})),nb=(...e)=>oe((t)=>b(()=>{t.trace(...e)})),ob=(...e)=>oe((t)=>b(()=>{t.warn(...e)})),sb=u((e)=>k(e[0]),(e,t)=>oe((r)=>Wn(b(()=>{if(t?.collapsed)r.groupCollapsed(t.label);else r.group(t?.label)}),()=>e,()=>b(()=>{r.groupEnd()})))),ib=u((e)=>k(e[0]),(e,t)=>oe((r)=>Wn(b(()=>{r.time(t)}),()=>e,()=>b(()=>{r.timeEnd(t)}))));var We={};ln(We,{taggedEnum:()=>ab,TaggedError:()=>tt,TaggedClass:()=>cb,Error:()=>fb,Class:()=>ld});var ld=class extends wu{constructor(e){super();if(e)Object.assign(this,e)}},cb=(e)=>class extends ld{_tag=e},ab=()=>new Proxy({},{get(e,t,r){if(t==="$is")return ot;else if(t==="$match")return ub;return(n)=>({...n,_tag:t})}});function ub(){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=Oi,tt=or;var a={};ln(a,{zipWith:()=>LS,zip:()=>dm,yieldNowWith:()=>PS,yieldNow:()=>um,withTracerTiming:()=>JC,withTracerEnabled:()=>VC,withTracer:()=>WC,withSpanScoped:()=>nw,withSpan:()=>rw,withParentSpan:()=>Ma,withLogger:()=>kw,withLogSpan:()=>Aw,withFiber:()=>no,withExecutionPlan:()=>oC,withErrorReporting:()=>sC,withConcurrency:()=>RC,whileLoop:()=>Ms,when:()=>xC,void:()=>ro,validate:()=>wS,useSpan:()=>Fa,updateService:()=>OC,updateContext:()=>Ia,unwrapReason:()=>HS,uninterruptibleMask:()=>sn,uninterruptible:()=>Um,undefined:()=>AS,txRetry:()=>zw,tx:()=>Fw,tryPromise:()=>mt,try:()=>rn,transposeOption:()=>MS,trackSuccesses:()=>Tw,trackErrors:()=>Iw,trackDuration:()=>Pw,trackDefects:()=>_w,track:()=>Rw,tracer:()=>qC,timeoutOrElse:()=>fC,timeoutOption:()=>uC,timeout:()=>aC,timed:()=>lC,tapErrorTag:()=>GS,tapError:()=>js,tapDefect:()=>Em,tapCauseIf:()=>YS,tapCauseFilter:()=>XS,tapCause:()=>ym,tap:()=>oo,sync:()=>_t,suspend:()=>It,succeedSome:()=>im,succeedNone:()=>sm,succeed:()=>Ee,spanLinks:()=>ZC,spanAnnotations:()=>XC,sleep:()=>Ta,serviceOption:()=>Tm,service:()=>Rm,scopedWith:()=>_m,scoped:()=>Im,scope:()=>_a,scheduleFrom:()=>Dm,schedule:()=>BC,satisfiesSuccessType:()=>Lw,satisfiesServicesType:()=>jw,satisfiesErrorType:()=>$w,sandbox:()=>tC,runSyncWith:()=>dw,runSyncExitWith:()=>hw,runSyncExit:()=>mw,runSync:()=>Gt,runPromiseWith:()=>jm,runPromiseExitWith:()=>Hm,runPromiseExit:()=>pw,runPromise:()=>La,runForkWith:()=>$m,runFork:()=>Da,runCallbackWith:()=>fw,runCallback:()=>lw,retryOrElse:()=>eC,retry:()=>bm,result:()=>US,requestUnsafe:()=>sw,request:()=>ow,replicateEffect:()=>HC,replicate:()=>jC,repeatOrElse:()=>$C,repeat:()=>zm,raceFirst:()=>Cm,raceAllFirst:()=>pC,raceAll:()=>Sm,race:()=>dC,provideServiceEffect:()=>AC,provideService:()=>qs,provideContext:()=>Bs,provide:()=>vC,promise:()=>Ns,partition:()=>CS,orElseSucceed:()=>iC,orDie:()=>QS,option:()=>zS,onInterrupt:()=>Ws,onExitPrimitive:()=>Mm,onExitIf:()=>FC,onExitFilter:()=>MC,onExit:()=>on,onErrorIf:()=>_C,onErrorFilter:()=>PC,onError:()=>io,never:()=>ka,matchEffect:()=>Am,matchEager:()=>EC,matchCauseEffectEager:()=>CC,matchCauseEffect:()=>nn,matchCauseEager:()=>SC,matchCause:()=>bC,match:()=>yC,mapErrorEager:()=>Bw,mapError:()=>xm,mapEager:()=>Hw,mapBothEager:()=>qw,mapBoth:()=>KS,map:()=>Ne,makeSpanScoped:()=>tw,makeSpan:()=>Lm,logWithLevel:()=>Bm,logWarning:()=>Ew,logTrace:()=>ww,logInfo:()=>Sw,logFatal:()=>yw,logError:()=>bw,logDebug:()=>Cw,log:()=>xw,linkSpans:()=>ew,let:()=>IS,isSuccess:()=>kC,isFailure:()=>wC,isEffect:()=>vr,interruptibleMask:()=>DC,interruptible:()=>zC,interrupt:()=>Nm,ignoreCause:()=>nC,ignore:()=>rC,gen:()=>va,fromResult:()=>fm,fromOption:()=>FS,fromNullishOr:()=>NS,forkScoped:()=>za,forkIn:()=>Ua,forkDetach:()=>iw,forkChild:()=>Na,forever:()=>Vs,forEach:()=>OS,fnUntracedEager:()=>Vw,fnUntraced:()=>ao,fn:()=>gw,flip:()=>DS,flatten:()=>lm,flatMapEager:()=>qm,flatMap:()=>ue,firstSuccessOf:()=>cC,findFirstFilter:()=>vS,findFirst:()=>kS,filterOrFail:()=>Om,filterOrElse:()=>vm,filterMapOrFail:()=>gC,filterMapOrElse:()=>hC,filterMapEffect:()=>km,filterMap:()=>mC,filter:()=>wm,fiberId:()=>uw,fiber:()=>aw,failSync:()=>cm,failCauseSync:()=>am,failCause:()=>Or,fail:()=>Qt,exit:()=>Oa,eventually:()=>ZS,ensuring:()=>Fm,effectify:()=>Dw,die:()=>Us,delay:()=>Ra,currentSpan:()=>GC,currentParentSpan:()=>YC,contextWith:()=>so,context:()=>Hs,clockWith:()=>$a,catchTags:()=>hm,catchTag:()=>mm,catchReasons:()=>jS,catchReason:()=>$S,catchNoSuchElement:()=>WS,catchIf:()=>BS,catchFilter:()=>qS,catchEager:()=>Ww,catchDefect:()=>gm,catchCauseIf:()=>VS,catchCauseFilter:()=>JS,catchCause:()=>$s,catch:()=>Ls,callback:()=>wa,cachedWithTTL:()=>NC,cachedInvalidateWithTTL:()=>UC,cached:()=>co,bindTo:()=>TS,bind:()=>_S,awaitAllChildren:()=>cw,asVoid:()=>Ds,asSome:()=>pm,as:()=>Aa,annotateSpans:()=>KC,annotateLogsScoped:()=>Ow,annotateLogs:()=>vw,annotateCurrentSpan:()=>QC,andThen:()=>zs,all:()=>SS,addFinalizer:()=>Pm,acquireUseRelease:()=>IC,acquireRelease:()=>Pa,acquireDisposable:()=>TC,abortSignal:()=>LC,TypeId:()=>bS,Transaction:()=>to,Do:()=>RS});var pd=ne,dd=ze;var md=wc;var rt={};ln(rt,{withSpan:()=>Hb,withParentSpan:()=>ia,updateService:()=>Md,unwrap:()=>sa,tapError:()=>Rb,tapCause:()=>Tb,tap:()=>Ab,syncContext:()=>oa,sync:()=>Cb,suspend:()=>kb,succeedContext:()=>Sr,succeed:()=>Id,span:()=>jb,satisfiesSuccessType:()=>Db,satisfiesServicesType:()=>$b,satisfiesErrorType:()=>Lb,provideMerge:()=>Ob,provide:()=>Yr,parentSpan:()=>Nd,orDie:()=>Ib,mock:()=>Ub,mergeAll:()=>Rs,merge:()=>vb,makeMemoMapUnsafe:()=>Xr,makeMemoMap:()=>Eb,launch:()=>Nb,isLayer:()=>Os,fromBuildMemo:()=>As,fromBuild:()=>Jt,fresh:()=>Mb,forkMemoMapUnsafe:()=>Rd,forkMemoMap:()=>bb,flatMap:()=>Fd,empty:()=>Sb,effectDiscard:()=>wb,effectContext:()=>ua,effect:()=>Zr,catchTag:()=>Pb,catchCause:()=>Fb,catch:()=>_b,buildWithScope:()=>aa,buildWithMemoMap:()=>Kn,build:()=>Td,CurrentMemoMap:()=>Gr});var lb="~effect/Deferred";var pb={[lb]:{_A:w,_E:w},pipe(){return M(this,arguments)}},gd=()=>{let e=Object.create(pb);return e.resumes=void 0,e.effect=void 0,e};var xd=(e)=>Fe((t)=>{if(e.effect)return t(e.effect);return e.resumes??=[],e.resumes.push(t),b(()=>{let r=e.resumes.indexOf(t);e.resumes.splice(r,1)})});var db=u(2,(e,t)=>b(()=>mb(e,t))),yd=db;var mb=(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 Ed=vt;var bd=Yo,Sd=Hr;var ks=pr;var Jn=Bn,yr=cp,Cd=pt,ra=sp;var Er=op,br=Nc;var Ad="~effect/Layer",wd="~effect/Layer/MemoMap",gb=(e,t)=>(e.observers++,qe(pt(t,(r)=>e.finalizer(r)),e.effect)),Os=(e)=>v(e,Ad),xb={[Ad]:{_ROut:w,_E:w,_RIn:w},pipe(){return M(this,arguments)}},Cr=(e)=>{let t=Object.create(xb);return t.build=e,t},Jt=(e)=>Cr((t,r)=>{let n=Er(r);return Re(e(t,n),(o)=>o._tag==="Failure"?br(n,o):F)}),As=(e)=>{let t=Jt((r,n)=>r.getOrElseMemoize(t,n,e));return t},yb=(e,t,r,n)=>{let o=Jn(),s=gd(),i={observers:1,effect:xd(s),finalizer:(c)=>T(()=>{if(i.observers--,i.observers===0)return e.map.delete(t),br(o,c);return F})};return e.map.set(t,i),pt(r,i.finalizer).pipe(E(()=>n(e,o)),Re((c)=>(i.effect=c,yd(s,c))))};class ca{get[wd](){return wd}parent;constructor(e){this.parent=e}map=new Map;get(e,t){let r=this.map.get(e);if(r)return gb(r,t);return this.parent?.get(e,t)}getOrElseMemoize(e,t,r){let n=this.get(e,t);if(n)return n;return yb(this,e,t,r)}}var Xr=()=>new ca,Rd=(e)=>new ca(e),Eb=b(Xr),bb=(e)=>b(()=>Rd(e));class Gr extends ke()("effect/Layer/CurrentMemoMap"){static getOrCreate=Hi(this,Xr)}var Kn=u(3,(e,t,r)=>ye(D(e.build(t,r),He(Gr,t)),Gr,t)),Td=(e)=>A((t)=>Kn(e,Gr.getOrCreate(t.context),kt(t.context,ks))),aa=u(2,(e,t)=>A((r)=>Kn(e,Gr.getOrCreate(r.context),t))),Id=function(){if(arguments.length===1)return(e)=>Sr(at(arguments[0],e));return Sr(at(arguments[0],arguments[1]))},Sr=(e)=>Cr(ee(x(e))),Sb=Sr(Pe()),Cb=function(){if(arguments.length===1)return(e)=>oa(()=>at(arguments[0],e()));return oa(()=>at(arguments[0],arguments[1]()))},oa=(e)=>As(ee(b(e))),Zr=function(){if(arguments.length===1)return(e)=>kd(arguments[0],e);return kd(arguments[0],arguments[1])},kd=(e,t)=>ua(D(t,(r)=>at(e,r))),ua=(e)=>As((t,r)=>yr(e,r)),wb=(e)=>ua(Oe(e,Pe())),kb=(e)=>As((t,r)=>T(()=>e().build(t,r))),sa=(e)=>{let t=ke("effect/Layer/unwrap");return Fd(Zr(t)(e),pe(t))},_d=(e,t,r)=>{let n=Er(r,"parallel");return Be(e,(o)=>o.build(t,Er(n,"sequential")),{concurrency:e.length}).pipe(D((o)=>Wi(...o)))},Rs=(...e)=>Jt((t,r)=>_d(e,t,r)),vb=u(2,(e,t)=>Rs(e,...Array.isArray(t)?t:[t])),Pd=(e,t,r)=>Jt((n,o)=>E(Array.isArray(t)?_d(t,n,o):t.build(n,o),(s)=>e.build(n,o).pipe(Rt(s),D((i)=>r(i,s))))),Yr=u(2,(e,t)=>Pd(e,t,w)),Ob=u(2,(e,t)=>Pd(e,t,(r,n)=>Ht(n,r))),Fd=u(2,(e,t)=>Jt((r,n)=>E(e.build(r,n),(o)=>t(o).build(r,n)))),Ab=u(2,(e,t)=>Jt((r,n)=>E(e.build(r,n),(o)=>yr(Oe(t(o),o),n)))),Rb=u(2,(e,t)=>Jt((r,n)=>Ae(e.build(r,n),(o)=>yr(qe(t(o),j(o)),n)))),Tb=u(2,(e,t)=>Jt((r,n)=>Me(e.build(r,n),(o)=>yr(qe(t(o),B(o)),n)))),Ib=(e)=>Cr((t,r)=>ms(e.build(t,r))),_b=u(2,(e,t)=>Cr((r,n)=>Ae(e.build(r,n),(o)=>t(o).build(r,n))));var Pb=u(3,(e,t,r)=>Cr((n,o)=>ds(e.build(n,o),t,(s)=>r(s).build(n,o)))),Fb=u(2,(e,t)=>Cr((r,n)=>Me(e.build(r,n),(o)=>t(o).build(r,n)))),Md=u(3,(e,t,r)=>Yr(e,Zr(t,D(t,r)))),Mb=(e)=>Cr((t,r)=>e.build(Xr(),r)),Nb=(e)=>xs(qe(Td(e),is)),Ub=function(){if(arguments.length===1)return(e)=>vd(arguments[0],e);return vd(arguments[0],arguments[1])},vd=(e,t)=>Id(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",zb(i)},has:Ue})),zb=(e)=>{let t=Object.assign(Ot(e),{[Od]:Od,channel:{[vs]:vs,transform:()=>x(t),pipe(){return M(this,arguments)}},[vs]:vs,transform:()=>x(t)});function r(){return t}return Object.assign(r,t),Object.setPrototypeOf(r,Object.getPrototypeOf(t)),r},Od="~effect/Stream",vs="~effect/Channel",Db=()=>(e)=>e,Lb=()=>(e)=>e,$b=()=>(e)=>e,jb=(e,t)=>(t=Bt(t),Zr(ar,t?.onEnd?lt(Ze(e,t),(r)=>Kr((n)=>t.onEnd(r,n))):Ze(e,t))),Nd=(e)=>Sr(ar.context(e)),Hb=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Bt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return sa(D(r?.onEnd!==void 0?lt(Ze(t,r),(o)=>Kr((s)=>r.onEnd(o,s))):Ze(t,r),(o)=>ia(n,o)))}return(n)=>sa(D(r?.onEnd!==void 0?lt(Ze(t,r),(o)=>Kr((s)=>r.onEnd(o,s))):Ze(t,r),(o)=>ia(n,o)))},ia=function(){let e=Os(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;if(t._tag==="Span")r=Bt(r),n=Bb(t.name,r?.captureStackTrace);let o=Nd(t);if(e)return Yr(n(arguments[0]),o);return(s)=>Yr(n(s),o)},Bb=(e,t)=>(t=typeof t==="function"?t:Ve,Md(Sd,(r)=>({name:e,stack:t,parent:r})));var Ud="~effect/ExecutionPlan";var qb={[Ud]:Ud,get captureRequirements(){let e=this;return Wt((t)=>x(Wb(e.steps.map((r)=>({...r,provide:Os(r.provide)?Yr(r.provide,Sr(t)):r.provide})))))},pipe(){return M(this,arguments)}},Wb=(e)=>{let t=Object.create(qb);return t.steps=e,t};var zd=R("effect/ExecutionPlan/CurrentMetadata",{defaultValue:ee({attempt:0,stepIndex:0})});var Dd=rs;var Ts=ft;var fa=lc;var Is=kn;var wr=ju;var Gn=u(2,(e,t)=>Jr(e,Jb,(r)=>t(r)));var la=Ki(Ts,(e)=>Is(e)?we(e):le(e));var Jb=Ki(Ts,(e)=>Is(e)?we(e.value):le(e)),Ld=(e)=>{let t=la(e);return!J(t)?pd(t.success.value):dd(t.failure)},pa=u(2,(e,t)=>ut(e,{onSuccess:t.onSuccess,onFailure:(r)=>{let n=la(r);return!J(n)?t.onDone(n.success.value):t.onFailure(n.failure)}}));var $d="~effect/Schedule";var kr=R("effect/Schedule/CurrentMetadata",{defaultValue:ee({input:void 0,output:void 0,duration:Dr,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),Kb={[$d]:{_Out:w,_In:w,_Env:w},pipe(){return M(this,arguments)}},ma=(e)=>v(e,$d),ha=(e)=>{let t=Object.create(Kb);return t.step=e,t},ga=()=>{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}}},Qb=(e)=>ha(D(e,(t)=>{let r=ga();return(n,o)=>t(r(n,o))})),xa=(e)=>Me(e.step,(t)=>x(()=>B(t))),_s=(e)=>gr((t)=>D(xa(e),(r)=>{let n=ga();return(o)=>T(()=>{let s=t.currentTimeMillisUnsafe();return E(r(s,o),([i,c])=>{let f=n(s,o);return f.output=i,f.duration=c,Oe(xr(c),f)})})}));var ya=(e)=>ha(D(xa(e),(t)=>(r,n)=>pa(t(r,n),{onSuccess:(o)=>x([n,o[1]]),onFailure:B,onDone:()=>wr(n)}))),jd=(e)=>Yn(Ea,({attempt:t})=>x(t<=e));var Gb=(e)=>{let t=De(e);return Qb(x((r)=>x([r.attempt-1,t])))};var Yn=u(2,(e,t)=>ha(D(xa(e),(r)=>{let n=ga();return(o,s)=>E(r(o,s),(i)=>{let[c,f]=i,l=t({...n(o,s),output:c,duration:f});return E(k(l)?l:x(l),(m)=>m?x(i):wr(c))})})));var Ea=Gb(Dr);var Yb=(e,t,r)=>ys((n)=>E(r?.local?Kn(t,Xr(),n):aa(t,n),(o)=>Rt(e,o))),Ps=u((e)=>k(e[0]),(e,t,r)=>Ho(t)?Rt(e,t):Yb(e,Array.isArray(t)?Rs(...t):t,r));var ba=u(3,(e,t,r)=>E(_s(t),(n)=>{let o=kr.defaultValue();return Ae(fs(lt(E(T(()=>ye(e,kr,o)),n),(s)=>b(()=>{o=s})),{disableYield:!0}),(s)=>kn(s)?x(s.value):r(s,o.attempt===0?Z():ae(o)))})),Sa=u(3,(e,t,r)=>E(_s(t),(n)=>{let o=kr.defaultValue(),s,i=Ae(T(()=>ye(e,kr,o)),(c)=>(s=c,E(n(c),(f)=>(o=f,i))));return Gn(i,(c)=>N(()=>r(s,c)))})),qd=u(2,(e,t)=>{let r=typeof t==="function"?t(w):ma(t)?t:Zn(t);return ba(e,r,j)}),Xn=u(2,(e,t)=>{let r=typeof t==="function"?t(w):ma(t)?t:Zn(t);return Sa(e,r,j)}),Wd=u(3,(e,t,r)=>E(_s(r),(n)=>{let o=kr.defaultValue(),s=T(()=>ye(e,kr,o));return Ae(E(n(t),(i)=>{o=i;let c=ee(E(s,n));return Vt({while:Ue,body:c,step(f){o=f}})}),(i)=>kn(i)?x(i.value):j(i))})),Xb=ya(Ea),Zn=(e)=>{let t=e.schedule?ya(e.schedule):Xb;if(e.while)t=Yn(t,({input:r})=>{let n=e.while(r);return k(n)?n:x(n)});if(e.until)t=Yn(t,({input:r})=>{let n=e.until(r);return k(n)?D(n,(o)=>!o):x(!n)});if(e.times!==void 0)t=Yn(t,({attempt:r})=>x(r<=e.times));return t};var Kd=u(2,(e,t)=>T(()=>{let r=0,n={attempt:0,stepIndex:0},o=us(zd,b(()=>(n={attempt:n.attempt+1,stepIndex:r},n))),s;return E(Vt({while:()=>r<t.steps.length&&(s===void 0||J(s)),body(){let i=t.steps[r],c=o(Ps(e,i.provide));if(s){let f=!1,l=c;c=T(()=>{if(f)return l;return f=!0,Wr(s)}),c=Xn(c,Jd(i,!1))}else{let f=Jd(i,!0);c=f?Xn(c,f):c}return qt(c)},step(i){s=i,r++}}),()=>Wr(s))})),Jd=(e,t)=>{if(!t)return Zn({schedule:e.schedule?e.schedule:e.attempts?void 0:Zb,times:e.attempts,while:e.while});else if(e.attempts===1||!(e.schedule||e.attempts))return;return Zn({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},Zb=jd(1);var tS="~effect/Request",rS=Au({_E:(e)=>e,_A:(e)=>e,_R:(e)=>e}),nR={...Fu,[tS]:rS};var Qd=(e)=>e;var Yd=u(2,(e,t)=>{let r=(n)=>Fe((o)=>{let s=Zd(n,e,o,Un());return nS(n,s)});return k(t)?E(t,r):r(t)}),Xd=(e,t)=>{let r=Zd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:pe(t.context,_n)});return()=>em(t.resolver,r)},Fs=[],Ca=new WeakMap,Zd=(e,t,r,n)=>{let o=Ca.get(e);if(!o)o=new Map,Ca.set(e,o);let s,i=!1,c=Qd({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(Fs.length>0)s=Fs.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:E(T(()=>l.resolver.delay),(m)=>Gd(l)),run:Re(T(()=>l.resolver.runAll(Array.from(l.entries),l.key)),(m)=>{for(let p of l.entrySet)p.completeUnsafe(m._tag==="Success"?Ct(Error("Effect.request: RequestResolver did not complete request",{cause:p.request})):m);if(l.entries.clear(),Fs.length<128)l.entrySet.clear(),l.key=void 0,l.fiber=void 0,l.resolver=void 0,l.map=void 0,Fs.push(l);return F})};s=l}o.set(f,s),s.fiber=Tt(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=Tt(n.context)(Gd(s),{scheduler:n.currentScheduler}),c},em=(e,t)=>{if(t.uninterruptible)return;let r=Ca.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()},nS=(e,t)=>b(()=>em(e,t));function Gd(e){if(!e.map.has(e.key))return F;return e.map.delete(e.key),e.run}var iS="effect/Metric/CurrentMetricAttributes",cS=R(iS,{defaultValue:()=>({})}),aS="~effect/observability/Metric/MetricRegistryKey",uS=R(aS,{defaultValue:()=>new Map}),tm="~effect/observability/Metric";class en{[tm]=tm;#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=pe(e,cS);if(Object.keys(t).length===0){if(xt(this.#t))return this.#t.hooks;return this.#t=this.getOrCreate(e,this.attributes),this.#t.hooks}let r=yS(this.attributes,t),n=this.#e.get(r);if(xt(n))return n.hooks;return n=this.getOrCreate(e,r),this.#e.set(r,n),n.hooks}getOrCreate(e,t){let r=hS(this,t),n=pe(e,uS);if(n.has(r))return n.get(r);let o=this.createHooks(),s={id:this.id,type:this.type,description:this.description,attributes:Kt(t),hooks:o};return n.set(r,s),s}pipe(){return M(this,arguments)}}var rm=BigInt(0);class fS extends en{type="Counter";#e;#t;constructor(e,t){super(e,t?.description,Kt(t?.attributes));this.#e=t?.bigint??!1,this.#t=t?.incremental??!1}createHooks(){let e=this.#e?rm:0,t=this.#t?this.#e?(n)=>n>=rm:(n)=>n>=0:(n)=>!0;return eo(()=>({count:e,incremental:this.#t}),(n)=>{if(t(n))e=e+n})}}class lS extends en{type="Gauge";#e;constructor(e,t){super(e,t?.description,Kt(t?.attributes));this.#e=t?.bigint??!1}createHooks(){let e=this.#e?BigInt(0):0;return eo(()=>({value:e}),(n)=>{e=n},(n)=>{e=e+n})}}class pS extends en{type="Frequency";#e;constructor(e,t){super(e,t?.description,Kt(t?.attributes));this.#e=t?.preregisteredWords}createHooks(){let e=new Map;if(xt(this.#e))for(let r of this.#e)e.set(r,0);return eo(()=>({occurrences:e}),(r)=>{let n=e.get(r)??0;e.set(r,n+1)})}}class dS extends en{type="Histogram";#e;constructor(e,t){super(e,t?.description,Kt(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;Li(Do(e,zr),(m,p)=>{n[p]=m});let f=(m)=>{let p=0,g=t;while(p!==g){let S=Math.floor(p+(g-p)/2),y=n[S];if(m<=y)g=S;else p=S;if(g===p+1)if(m<=n[p])g=p;else p=g}if(r[p]=r[p]+1,o=o+1,s=s+m,m<i)i=m;if(m>c)c=m},l=()=>{let m=Ui(t),p=0;for(let g=0;g<t;g++){let S=n[g],y=r[g];p=p+y,m[g]=[S,p]}return m};return eo(()=>({buckets:l(),count:o,min:i,max:c,sum:s}),f)}}class mS extends en{type="Summary";#e;#t;#r;constructor(e,t){super(e,t?.description,Kt(t?.attributes));this.#e=Math.max($r(De(t.maxAge)),0),this.#t=t.maxSize,this.#r=t.quantiles}createHooks(){let e=Do(this.#r,zr),t=Ui(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 g=[],S=0;while(S<this.#t){let z=t[S];if(xt(z)){let[be,se]=z,Te=p-be;if(Te>=0&&Te<=this.#e)g.push(se)}S=S+1}let y=Do(g,zr),_=y.length;if(_===0)return e.map((z)=>[z,void 0]);return e.map((z)=>{if(z<=0)return[z,y[0]];if(z>=1)return[z,y[_-1]];let be=Math.ceil(z*_)-1;return[z,y[be]]})},f=(p,g)=>{if(this.#t>0){let S=r%this.#t;t[S]=[g,p],r=r+1}if(n=n+1,o=o+p,p<s)s=p;if(p>i)i=p};return eo((p)=>{let g=pe(p,dt);return{quantiles:c(g.currentTimeMillisUnsafe()),count:n,min:s,max:i,sum:o}},([p,g])=>f(p,g))}}var tn=u(2,(e,t)=>Wt((r)=>b(()=>e.updateUnsafe(t,r))));function hS(e,t){let r=`${e.type}:${e.id}`;if(xt(e.description))r+=`:${e.description}`;if(xt(t))r+=`:${gS(t)}`;return r}function eo(e,t,r){return{get:e,update:t,modify:r??t}}function gS(e){return xS(Array.isArray(e)?e:Object.entries(e))}function xS(e){return e.map(([t,r])=>`${t}=${r}`).join(",")}function yS(e,t){return{...Kt(e),...Kt(t)}}function Kt(e){if(xt(e)&&Array.isArray(e))return e.reduce((t,[r,n])=>(t[r]=n,t),{});return e}var bS=ct,vr=k,SS=bs,CS=Bc,wS=yp,kS=Ep,vS=Sp,OS=Be,Ms=Vt,Ns=xc,mt=al,Ee=x,sm=zn,im=gc,It=T,_t=b,ro=F;var AS=ad;var wa=Fe,ka=is,RS=Ap,TS=Rp,IS=Ip;var _S=Tp,va=pl,Qt=j,cm=ss,Or=B,am=il,Us=Ot,rn=cl;var um=Vr,PS=hc,no=A,fm=Wr,FS=nl,MS=sl,NS=ol,ue=E,lm=bl,zs=qe,oo=lt,US=qt,zS=Gl,Oa=Hn,Ne=D,Aa=Oe,pm=cs,Ds=Dn,DS=hl,dm=vc,LS=Oc,Ls=Ae;var mm=ds,hm=Hl,$S=Bl,jS=ql,HS=Wl,$s=Me,gm=zl,BS=$n,qS=ps,WS=Ul,VS=Rc,JS=Jr,xm=Ic,KS=_c,QS=ms,js=Tc,GS=$l,ym=Dl,YS=Ll,XS=ls,Em=jl,ZS=Pc,bm=Xn,eC=Sa,tC=gl,rC=Kl,nC=Ql,oC=Kd,sC=ud,iC=Vl,cC=Jl,aC=tp,uC=rp,fC=Mc,Ra=ep,Ta=xr,lC=np,Sm=Sc,pC=Cc,dC=xl,Cm=as,wm=kp,mC=vp,km=Op,vm=qc,hC=Wc,Om=Fl,gC=wp,xC=Ml,yC=hs,EC=jn,bC=Fc,SC=Yl,CC=yl,nn=ut,Am=lr,wC=Xl,kC=Zl,Hs=kc,so=Wt,vC=Ps,Bs=Rt,Rm=Il,Tm=_l,Ia=Ln,OC=At,qs=ye,AC=us,RC=Pl,_a=qn,Im=xs,_m=ys,Pa=dr,TC=lp,IC=Wn,Pm=Kr,Fm=ap,io=Dc,_C=up,PC=Lc,Mm=Qr,on=Re,FC=Uc,MC=zc,co=pp,NC=jc,UC=$c,Nm=dp,zC=Hc,Ws=fp,Um=mr,sn=Vn,DC=gp,LC=xp,Vs=fs,zm=qd,$C=ba,jC=Ac,HC=Nl,BC=u(2,(e,t)=>Dm(e,void 0,t)),Dm=Wd,qC=Hp,WC=Bp,VC=qp,JC=Wp,KC=Zp,QC=ed,GC=td,YC=rd,XC=Qp,ZC=Gp,ew=Yp,Lm=Jp,tw=Ze,Fa=Nn,rw=Xp,nw=Kp,Ma=qr,ow=Yd,sw=Xd,Na=_p,Ua=Vc,za=Mp,iw=Pp,cw=Fp,aw=fl,uw=ll,Da=Np,$m=Tt,fw=Jc,lw=Up,La=Dp,jm=Kc,pw=zp,Hm=Ss,Gt=$p,dw=Qc,mw=Lp,hw=Cs,ao=Ec,gw=dl,$a=gr,Bm=et,xw=et(),yw=et("Fatal"),Ew=et("Warn"),bw=et("Error"),Sw=et("Info"),Cw=et("Debug"),ww=et("Trace"),kw=u(2,(e,t)=>At(e,ta,(r)=>new Set([...r,t]))),vw=u((e)=>vr(e[0]),(e,...t)=>At(e,Ed,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),Ow=id,Aw=u(2,(e,t)=>E(od,(r)=>At(e,bd,(n)=>[[t,r],...n]))),Rw=u((e)=>vr(e[0]),(e,t,r)=>on(e,(n)=>{let o=r===void 0?n:N(()=>r(n));return tn(t,o)})),Tw=u((e)=>vr(e[0]),(e,t,r)=>oo(e,(n)=>{let o=r===void 0?n:r(n);return tn(t,o)})),Iw=u((e)=>vr(e[0]),(e,t,r)=>js(e,(n)=>{let o=r===void 0?n:N(()=>r(n));return tn(t,o)})),_w=u((e)=>vr(e[0]),(e,t,r)=>Em(e,(n)=>{let o=r===void 0?n:N(()=>r(n));return tn(t,o)})),Pw=u((e)=>vr(e[0]),(e,t,r)=>$a((n)=>{let o=n.currentTimeNanosUnsafe();return on(e,()=>{let s=n.currentTimeNanosUnsafe(),i=Af(De(s),De(o)),c=r===void 0?i:N(()=>r(i));return tn(t,c)})}));class to extends ke()("effect/Effect/Transaction"){}var Fw=(e)=>no((t)=>{if(t.context.mapUnsafe.has(to.key))return e;let r={journal:new Map,retry:!1},n;return sn((o)=>ue(Ms({while:()=>!n,body:ee(o(e).pipe(qs(to,r),ym(()=>{if(!r.retry)return ro;return o(Nw(r))}),Oa)),step(s){if(r.retry||!Mw(r))return om(r);if(md(s))Uw(t,r);else om(r);n=s}}),()=>n))}),Mw=(e)=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},Nw=(e)=>It(()=>{let t={},r=Array.from(e.journal.keys()),n=()=>{for(let o of r)o.pending.delete(t)};return wa((o)=>{let s=()=>{n(),o(ro)};for(let i of r)i.pending.set(t,s);return _t(n)})});function Uw(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 om(e){e.retry=!1,e.journal.clear()}var zw=ue(to,(e)=>(e.retry=!0,Nm)),Dw=(e,t,r)=>(...n)=>wa((o)=>{try{e(...n,(s,i)=>{if(s)o(Qt(t?t(s,n):s));else o(Ee(i))})}catch(s){o(r?Qt(r(s,n)):Us(s))}}),Lw=()=>(e)=>e,$w=()=>(e)=>e,jw=()=>(e)=>e,Hw=Sl,Bw=Cl,qw=wl,qm=El,Ww=kl,Vw=ml;var uo="zh-CN";var G=X.Service("ConfigRepo");class fo extends We.TaggedError("ConfigError"){}class cn extends We.TaggedError("AuthError"){}class I extends We.TaggedError("ApiError"){}class fe extends We.TaggedError("ValidationError"){}class U extends We.TaggedError("FileError"){}class Ar extends We.TaggedError("OssError"){}var Jw=1,ja=(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 U({message:`Failed to read manifest: ${String(o)}`,path:t()})}),write:(o)=>a.tryPromise({try:async()=>{let s=Kw(t());await(await import("fs/promises")).mkdir(s,{recursive:!0}),await Bun.write(t(),`${JSON.stringify(o,null,2)}
|
|
27
|
-
`)},catch:(s)=>new
|
|
28
|
-
`,384)}),ah=()=>a.sync(()=>{let e=process.cwd();while(!0){let t=`${e}/${Ks}`;if(Ka(t))return t;let r=lo(e);if(r===e)break;e=r}throw new fo({message:`No ${Ks} found from ${process.cwd()}`})}).pipe(a.catch((e)=>po(e,"ConfigError")?a.fail(e):a.fail(new fo({message:String(e)})))),Va=(e)=>a.sync(()=>{let t=process.env.HOME;if(!t)throw new U({message:"HOME is not set"});return`${t}/.config/fizzyx/credentials/${pk(e)}.json`}).pipe(a.catch((t)=>po(t,"FileError")?a.fail(t):a.fail(new U({message:String(t)})))),ek=()=>a.sync(()=>{let e=process.env.HOME;if(!e)throw new U({message:"HOME is not set"});return`${e}/${Xw}`}).pipe(a.catch((e)=>po(e,"FileError")?a.fail(e):a.fail(new U({message:String(e)})))),po=(e,t)=>typeof e==="object"&&e!==null&&("_tag"in e)&&e._tag===t,mo=(e)=>a.tryPromise({try:()=>Bun.file(e).text(),catch:(t)=>new U({message:`Failed to read ${e}: ${String(t)}`,path:e})}),uh=(e)=>Ka(e)?mo(e):a.succeed(""),tk=(e)=>mo(e).pipe(a.map((t)=>{if(t.trim()==="")throw new U({message:`No token in ${e}`,path:e});let r=ak(t,e),n=typeof r.token==="string"?r.token:"";if(n==="")throw new U({message:`No token in ${e}`,path:e});return{token:n}})),fh=(e)=>a.gen(function*(){let t=yield*ek(),r=yield*mo(t),n=uk(r,t);if(lh(n.account)!==e)return yield*new U({message:`No matching official credential for account ${e}`,path:t});let s=lh(n.token);if(s==="")return yield*new U({message:`No token in ${t}`,path:t});return{token:s}}),Ja=(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 U({message:`Failed to write ${e}: ${String(n)}`,path:e})}),rk=(e)=>a.tryPromise({try:async()=>{await import("fs/promises").then((t)=>t.mkdir(e,{recursive:!0,mode:448}))},catch:(t)=>new U({message:`Failed to create ${e}: ${String(t)}`,path:e})}),Wa=(e,t,r)=>{let n=Gs(e),o=me(n.account)||ph,s=me(n.api_url)||dh,i=me(n.board)||void 0,c=nk(n.flow),f=xh(n.oss);if(!i)return{apiUrl:s,account:o,board:void 0,flow:c,oss:f,configPath:t,rootDir:r};return{apiUrl:s,account:o,board:i,flow:c,oss:f,configPath:t,rootDir:r}},nk=(e)=>{let t=ht(e),r=ht(t.columns),n=me(r.todo),o=me(r.in_progress)||me(r.inProgress);if(!n||!o)return;let s={};for(let[i,c]of Object.entries(ht(t.users))){let f=me(c);if(f)s[i]=f}return{columns:{todo:n,inProgress:o},users:s,card:{language:gh(t.card)||uo},wipLimit:ho(t.wip_limit)||mh,cacheTtlSeconds:ho(t.cache_ttl)||hh}},ok=(e,t="")=>{let r=Gs(t),n=ht(r.flow),o=gh(n.card)||uo,s={columns:{todo:e.todoColumn||me(ht(n.columns).todo)||"",in_progress:e.inProgressColumn||me(ht(n.columns).in_progress)||""},users:fk(e.users||{}),card:{language:o},wip_limit:ho(n.wip_limit)||mh,cache_ttl:ho(n.cache_ttl)||hh},i={};i.api_url=e.apiUrl||dh,i.account=e.account||ph,i.board=e.board||"";for(let c of Object.keys(r))if(c!=="api_url"&&c!=="account"&&c!=="board"&&c!=="flow")i[c]=r[c];return i.flow=s,Bun.YAML.stringify(i,null,2)},gh=(e)=>{if(typeof e==="object"&&e!==null){let t=e.language;if(t==="en"||t==="mixed"||t==="zh-CN")return t}return},xh=(e)=>{let t=ht(e);if(!t)return;let r=ik(t.sync);if(!r)return;let n={};for(let o of Object.keys(t)){if(o==="sync")continue;let s=sk(t[o]);if(s)n[o]=s}if(Object.keys(n).length===0)return;return{environments:n,sync:r}},sk=(e)=>{let t=ht(e),r=me(t.endpoint),n=me(t.region),o=me(t.bucket);if(!r||!n)return;let s={endpoint:r,region:n};if(o)s.bucket=o;let i=me(t.access_key_id),c=me(t.secret_access_key);if(i)s.accessKeyId=i;if(c)s.secretAccessKey=c;return s},ik=(e)=>{let t=ht(e),r=me(t.local_dir),n=me(t.remote_prefix);if(!r)return;return{localDir:r,remotePrefix:n??"",concurrency:ho(t.concurrency)||10}},ck=(e,t)=>{let r=Gs(t),n=e.env,o=ht(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,f]of Object.entries(r))if(c==="oss")i[c]=s;else i[c]=f;if(!("oss"in r))i.oss=s;return Bun.YAML.stringify(i,null,2)},Gs=(e)=>{if(e.trim()==="")return{};let t=Bun.YAML.parse(e);if(!t||typeof t!=="object"||Array.isArray(t))throw new fo({message:"Invalid config format: expected YAML object"});return t},ak=(e,t)=>{try{let r=JSON.parse(e);return r&&typeof r==="object"&&!Array.isArray(r)?r:{}}catch(r){throw new U({message:`Invalid JSON in ${t}: ${String(r)}`,path:t})}},uk=(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 U({message:`Invalid official config in ${t}: ${String(r)}`,path:t})}},fk=(e)=>{let t={};for(let[r,n]of Object.entries(e))t[r]=n;return t},me=(e)=>typeof e==="string"?e:"",lh=(e)=>typeof e==="string"||typeof e==="number"?e.toString():"",lk=(e,t)=>e.message===`No token in ${t}`,ho=(e)=>{if(typeof e==="number")return Number.isFinite(e)?e:0;return Number.parseInt(me(e),10)||0},ht=(e)=>e&&typeof e==="object"&&!Array.isArray(e)?e:{},pk=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_"),lo=(e)=>{let t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?"/":t.slice(0,r)};var yh=X.Service("CacheRepo");var O_=rt.effect(yh)(a.gen(function*(){let t=yield*(yield*G).loadProjectConfig();return Ys(t.account,t.board??"")})),dk=".config/fizzyx/cache",Ys=(e,t)=>{let r=()=>a.sync(()=>{let o=process.env.HOME;if(!o)throw new U({message:"HOME is not set"});if(!e)throw new U({message:"cache requires account"});if(!t)throw new U({message:"cache requires board. Run: fizzyx setup <board-id>"});let s=Eh(e),i=Eh(t);return`${o}/${dk}/${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 U({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)}
|
|
29
|
-
`)},catch:(i)=>new U({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 U({message:`Failed to stat cache: ${String(s)}`,path:o})})))}},Eh=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");var F_=`~effect/Fiber/${Xo}`;var bh=mc;var Sh=Gc;var gk="~effect/Channel";var xk={[gk]:{_Env:w,_InErr:w,_InElem:w,_OutErr:w,_OutElem:w},pipe(){return M(this,arguments)}},go=(e)=>{let t=Object.create(xk);return t.transform=(r,n)=>$s(e(r,n),(o)=>Ee(Or(o))),t};var Ch=(e)=>go((t,r)=>e),wh=(e)=>go(ao(function*(t,r){let n=Er(r),o=(i)=>br(n,Ld(i)),s=yield*io(e(t,r,n),o);return io(s,o)})),Xs=(e)=>e.transform;var kh=(e)=>go((t,r)=>It(()=>Xs(e())(t,r)));var vh=(e)=>Ch(Ee(Qt(e)));var Oh=u(2,(e,t)=>wh((r,n,o)=>Cd(o,t).pipe(zs(Xs(e)(r,n)))));var Ah=u(2,(e,t)=>Oh(e,(r)=>t)),yk=(e,t,r)=>It(()=>{let n=Jn(),o=Xs(e)(wr(),n);return Gn(ue(o,t),r?r:Ee).pipe(on((s)=>br(n,s)))});var Rh=u(2,(e,t)=>yk(e,(r)=>Vs(ue(r,t),{disableYield:!0})));var bk="~effect/Stream",Sk={_R:w,_E:w,_A:w},Ck={[bk]:Sk,pipe(){return M(this,arguments)}},Th=(e)=>{let t=Object.create(Ck);return t.channel=e,t};var kk="~effect/Stream",Ih=(e)=>v(e,kk);var Zs=Th;var _h=(e)=>Zs(kh(()=>e().channel)),Ph=(e)=>Zs(vh(e));var Fh=(e)=>Zs(go(ao(function*(t,r){let n=e.evaluate().getReader();return yield*ra(r,e.releaseLockOnEnd?_t(()=>n.releaseLock()):Ns(()=>n.cancel().catch(er))),ue(mt({try:()=>n.read(),catch:(o)=>e.onError(o)}),({done:o,value:s})=>o?wr():Ee(gf(s)))})));var Mh=u(2,(e,t)=>Zs(Ah(e.channel,t)));var vk=u(2,(e,t)=>Rh(e.channel,t));var Ok=u((e)=>Ih(e[0]),(e,t,r)=>{let n=void 0,o=void 0,s=Sh(!1);return new ReadableStream({start(i){o=Da(Bs(vk(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(Dd(c.cause));else i.close()})},pull(){return new Promise((i)=>{n=i,s.openUnsafe()})},cancel(){if(!o)return;return La(Ds(bh(o)))}},r?.strategy)});var Nh=u((e)=>Ih(e[0]),(e,t)=>Ne(Hs(),(r)=>Ok(e,r,t)));var xo=new WeakMap;var Uh="~effect/data/Redacted",Rk=(e)=>v(e,Uh),Ga=(e,t)=>{let r=Object.create(Tk);if(t?.label)r.label=t.label;return xo.set(r,e),r},Tk={[Uh]:{_A:(e)=>e},label:void 0,...Ge,toJSON(){return this.toString()},toString(){return`<redacted${Pr(this.label)?":"+this.label:""}>`},[W](){return q(xo.get(this))},[V](e){return Rk(e)&&re(xo.get(this),xo.get(e))}};var zh=Symbol.for("~effect/http/Headers");var yo=Object.defineProperties(Object.create(null),{[zh]:{value:zh},[Fr]:{value(e){return ri(this,pe(e,Xa))}},toJSON:{value(){return Ke(this)}},[V]:{value(e){return _k(this,e)}},[W]:{value(){return dn(this)}},toString:{value:it.toString},[xe]:{value:it[xe]}}),ei=(e)=>Object.assign(Object.create(yo),e),_k=pf(vn());var Ya=Object.create(yo),Eo=(e)=>{if(e===void 0)return Ya;else if(Symbol.iterator in e){let r=Object.create(yo);for(let[n,o]of e)r[n.toLowerCase()]=o;return r}let t=Object.create(yo);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},Dh=(e)=>Object.setPrototypeOf(e,yo);var ti=u(3,(e,t,r)=>{let n=ei(e);return n[t.toLowerCase()]=r,n}),Lh=u(2,(e,t)=>ei({...e,...Eo(t)})),$h=u(2,(e,t)=>{let r=ei(e);return Object.assign(r,t),r}),bo=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]=Ga(e[s])}else for(let s in e)if(o.test(s))r[s]=Ga(e[s])};if(Array.isArray(t))for(let o=0;o<t.length;o++)n(t[o]);else n(t);return r}),Xa=R("effect/Headers/CurrentRedactedNames",{defaultValue:()=>["authorization","cookie","set-cookie","x-api-key"]});var jh="~effect/http/Cookies";var Hh="~effect/http/Cookies/Cookie";var Pk={[jh]:jh,...it,toJSON(){return{_id:"effect/Cookies",cookies:ff(this.cookies,(e)=>e.toJSON())}},pipe(){return M(this,arguments)}},Fk=(e)=>{let t=Object.create(Pk);return t.cookies=e,t},Mk=(e)=>{let t={};for(let r of e)t[r.name]=r;return Fk(t)},qh=(e)=>{let t=typeof e==="string"?[e]:e,r=[];for(let n of t){let o=Nk(n.trim());if(o)r.push(o)}return Mk(r)};function Nk(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(!Uk.test(n))return;let o=t[0].slice(r+1),s=zk(o);if(t.length===1)return Object.assign(Object.create(Bh),{name:n,value:s,valueEncoded:o});let i={};for(let c=1;c<t.length;c++){let f=t[c],l=f.indexOf("="),m=l===-1?f:f.slice(0,l).trim(),p=l===-1?void 0:f.slice(l+1).trim();switch(m.toLowerCase()){case"domain":{if(p===void 0)break;let g=p.trim().replace(/^\./,"");if(g)i.domain=g;break}case"expires":{if(p===void 0)break;let g=new Date(p);if(!isNaN(g.getTime()))i.expires=g;break}case"max-age":{if(p===void 0)break;let g=parseInt(p,10);if(!isNaN(g))i.maxAge=Ji(g);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(Bh),{name:n,value:s,valueEncoded:o,options:Object.keys(i).length>0?i:void 0})}var Uk=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Bh={[Hh]:Hh,...it,toJSON(){return{_id:"effect/Cookies/Cookie",name:this.name,value:this.value,options:this.options}}};var zk=(e)=>{try{return decodeURIComponent(e)}catch(t){return e}};var Wh="~effect/http/HttpClientError";class $e extends tt("HttpClientError"){constructor(e){if("cause"in e.reason)super({...e,cause:e.reason.cause});else super(e)}[Wh]=Wh;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 Za extends tt("TransportError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return oi(ni(this._tag),this.description,this.methodAndUrl)}}class eu extends tt("InvalidUrlError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return oi(ni(this._tag),this.description,this.methodAndUrl)}}class Yt extends tt("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 tu extends tt("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 Vh="~effect/http/UrlParams";var Lk={...Ge,[Vh]:Vh,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:"UrlParams",params:Object.fromEntries(this.params)}},[V](e){return $k(this,e)},[W](){return mn(this.params.flat())}},Jh=(e)=>{let t=Object.create(Lk);return t.params=e,t},Co=(e)=>{let t=Kh(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 Jh(r)},Kh=(e)=>{let t=typeof e[Symbol.iterator]==="function"?Ye(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=Kh(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},$k=Mo((e,t)=>jk(e.params,t.params)),jk=yf(af([vn(),vn()]));var Qh=Jh([]);var Gh=u(2,(e,t)=>{let r=Co(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 nu extends tt("UrlParamsError"){}var ou=(e,t,r)=>{try{let n=new URL(e,Hk());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 we(n)}catch(n){return le(new nu({cause:n}))}};var Hk=()=>{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 iu="~effect/http/HttpBody";var Yh="~effect/http/HttpBody/HttpBodyError";class Xh extends tt("HttpBodyError"){[Yh]=Yh}class cu{[iu];constructor(){this[iu]=iu}[xe](){return this.toJSON()}toString(){return ce(this,{ignoreToString:!0})}}class Zh extends cu{_tag="Empty";toJSON(){return{_id:"effect/HttpBody",_tag:"Empty"}}}var eg=new Zh;class tg extends cu{_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 rg=(e,t)=>new tg(e,t??"application/octet-stream",e.length),Bk=new TextEncoder,ng=(e,t)=>rg(Bk.encode(e),t??"text/plain");var og=(e,t)=>rn({try:()=>ng(JSON.stringify(e),t??"application/json"),catch:(r)=>new Xh({reason:{_tag:"JsonError"},cause:r})});var sg=[["GET","get"],["POST","post"],["PUT","put"],["DELETE","del"],["PATCH","patch"],["HEAD","head"],["OPTIONS","options"],["TRACE","trace"]];var ig="~effect/http/HttpClientRequest";var Vk={[ig]:ig,...it,toJSON(){return{_id:"HttpClientRequest",method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Ke(this.headers),body:this.body.toJSON()}},pipe(){return M(this,arguments)}};function Pt(e,t,r,n,o,s){let i=Object.create(Vk);return i.method=e,i.url=t,i.urlParams=r,i.hash=n,i.headers=o,i.body=s,i}var Jk=Pt("GET","",Qh,Z(),Ya,eg),wo=(e)=>(t,r)=>Kk(Jk,{method:e,url:t,...r??void 0});var Kk=u(2,(e,t)=>{let r=e;if(t.method)r=Qk(r,t.method);if(t.url)r=ug(r,t.url);if(t.headers)r=au(r,t.headers);if(t.urlParams)r=Yk(r,t.urlParams);if(t.hash)r=Xk(r,t.hash);if(t.body)r=fg(r,t.body);if(t.accept)r=ag(r,t.accept);if(t.acceptJson)r=Gk(r);return r}),Qk=u(2,(e,t)=>Pt(t,e.url,e.urlParams,e.hash,e.headers,e.body)),cg=u(3,(e,t,r)=>Pt(e.method,e.url,e.urlParams,e.hash,ti(e.headers,t,r),e.body)),au=u(2,(e,t)=>Pt(e.method,e.url,e.urlParams,e.hash,Lh(e.headers,t),e.body));var ag=u(2,(e,t)=>cg(e,"Accept",t)),Gk=ag("application/json"),ug=u(2,(e,t)=>{if(typeof t==="string")return Pt(e.method,t,e.urlParams,e.hash,e.headers,e.body);let r=new URL(t.toString()),n=Co(r.searchParams),o=sf(r.hash===""?void 0:r.hash.slice(1));return r.search="",r.hash="",Pt(e.method,r.toString(),n,o,e.headers,e.body)});var Yk=u(2,(e,t)=>Pt(e.method,e.url,Gh(e.urlParams,t),e.hash,e.headers,e.body));var Xk=u(2,(e,t)=>Pt(e.method,e.url,e.urlParams,ae(t),e.headers,e.body));var fg=u(2,(e,t)=>{let r=e.headers;if(t._tag==="Empty"||t._tag==="FormData")r=bo(bo(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 Pt(e.method,e.url,e.urlParams,e.hash,r,t)});var lg=u(2,(e,t)=>Ne(og(t),(r)=>fg(e,r)));var Rr="~effect/http/HttpIncomingMessage";var dg=(e,t)=>{let r=e.headers["content-type"]??"",n;if(r.includes("application/json"))try{n=Gt(e.json)}catch(s){}else if(r.includes("text/")||r.includes("urlencoded"))try{n=Gt(e.text)}catch(s){}let o={...t,headers:Ke(e.headers),remoteAddress:e.remoteAddress};if(n!==void 0)o.body=n;return o};var an="~effect/http/HttpClientResponse",hg=(e,t)=>new gg(e,t);class gg extends wi{[Rr];[an];request;source;constructor(e,t){super();this.request=e,this.source=t,this[Rr]=Rr,this[an]=an}toJSON(){return dg(this,{_id:"HttpClientResponse",request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return Eo(this.source.headers)}cachedCookies;get cookies(){if(this.cachedCookies)return this.cachedCookies;return this.cachedCookies=qh(this.source.headers.getSetCookie())}get remoteAddress(){return Z()}get stream(){return this.source.body?Fh({evaluate:()=>this.source.body,onError:(e)=>new $e({reason:new Yt({request:this.request,response:this,cause:e})})}):Ph(new $e({reason:new tu({request:this.request,response:this,description:"can not create stream from empty body"})}))}get json(){return ue(this.text,(e)=>rn({try:()=>e===""?null:JSON.parse(e),catch:(t)=>new $e({reason:new Yt({request:this.request,response:this,cause:t})})}))}textBody;get text(){if(this.textBody)return this.textBody;return this.textBody=mt({try:()=>this.source.text(),catch:(e)=>new $e({reason:new Yt({request:this.request,response:this,cause:e})})}).pipe(co,Gt),this.arrayBufferBody=Ne(this.textBody,(e)=>new TextEncoder().encode(e).buffer),this.textBody}get urlParamsBody(){return ue(this.text,(e)=>rn({try:()=>Co(new URLSearchParams(e)),catch:(t)=>new $e({reason:new Yt({request:this.request,response:this,cause:t})})}))}formDataBody;get formData(){return this.formDataBody??=mt({try:()=>this.source.formData(),catch:(e)=>new $e({reason:new Yt({request:this.request,response:this,cause:e})})}).pipe(co,Gt)}arrayBufferBody;get arrayBuffer(){if(this.arrayBufferBody)return this.arrayBufferBody;return this.arrayBufferBody=mt({try:()=>this.source.arrayBuffer(),catch:(e)=>new $e({reason:new Yt({request:this.request,response:this,cause:e})})}).pipe(co,Gt),this.textBody=Ne(this.arrayBufferBody,(e)=>new TextDecoder().decode(e)),this.arrayBufferBody}pipe(){return M(this,arguments)}}var yg=(e)=>Dh({b3:`${e.traceId}-${e.spanId}-${e.sampled?"1":"0"}${Uo(e.parent,{onNone:()=>"",onSome:(t)=>`-${t.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?"01":"00"}`});var Eg="~effect/http/HttpClient";var bg=ke("effect/HttpClient"),e0=(e)=>(...t)=>ue(bg,(r)=>r[e](...t)),Sg=e0("execute");var t0=u(2,(e,t)=>Cg((r)=>t(e.postprocess(r)),e.preprocess));var Cg=(e,t)=>{let r=Object.create(r0);return r.preprocess=t,r.postprocess=e,r.execute=function(n){return e(t(n))},r},r0={[Eg]:Eg,pipe(){return M(this,arguments)},...it,toJSON(){return{_id:"effect/HttpClient"}},...Object.fromEntries(sg.map(([e,t])=>[t,function(r,n){return this.execute(wo(e)(r,n))}]))},wg=(e)=>Cg((t)=>ue(t,(r)=>no((n)=>{let o=i0.get(r),s=o??new AbortController,i=ou(r.url,r.urlParams,sr(r.hash));if(J(i))return Qt(new $e({reason:new eu({request:r,cause:i.failure})}));let c=i.success;if(n.getRef(jr)||n.getRef(n0)(r)){let l=e(r,c,s.signal,n);if(o)return l;return sn((m)=>nn(m(l),{onSuccess(p){return si.register(p,s),Ee(new uu(p,s))},onFailure(p){if(fa(p))s.abort();return Or(p)}}))}return Fa(n.getRef(s0)(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 m=c.search.slice(1);if(m!=="")l.attribute("url.query",m);let p=n.getRef(Xa),g=ri(r.headers,p);for(let S in g)l.attribute(`http.request.header.${S}`,String(g[S]));return r=n.getRef(o0)?au(r,yg(l)):r,sn((S)=>S(e(r,c,s.signal,n)).pipe(Ma(l,{captureStackTrace:!1}),nn({onSuccess:(y)=>{l.attribute("http.response.status_code",y.status);let _=ri(y.headers,p);for(let z in _)l.attribute(`http.response.header.${z}`,String(_[z]));if(o)return Ee(y);return si.register(y,s),Ee(new uu(y,s))},onFailure(y){if(!o&&fa(y))s.abort();return Or(y)}})))})})),Ee);var n0=R("effect/http/HttpClient/TracerDisabledWhen",{defaultValue:()=>Ir}),o0=R("effect/HttpClient/TracerPropagationEnabled",{defaultValue:Ue}),s0=R("effect/http/HttpClient/SpanNameGenerator",{defaultValue:()=>(e)=>`http.client ${e.method}`}),kg=(e)=>Zr(bg)(so((t)=>Ne(e,(r)=>t0(r,Ia((n)=>Ht(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)}}})(),i0=new WeakMap;class uu{original;controller;constructor(e,t){this.original=e,this.controller=t}[an]=an;[Rr]=Rr;applyInterrupt(e){return It(()=>(si.unregister(this.original),Ws(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 _h(()=>(si.unregister(this.original),Mh(this.original.stream,_t(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[xe](){return this.original[xe]()}pipe(){return M(this,arguments)}}var c0=R("effect/http/FetchHttpClient/Fetch",{defaultValue:()=>globalThis.fetch});class Og extends ke()("effect/http/FetchHttpClient/RequestInit"){}var a0=wg((e,t,r,n)=>{let o=n.getRef(c0),s=n.context.mapUnsafe.get(Og.key)??{},i=s.headers?$h(Eo(s.headers),e.headers):e.headers;if(i["content-length"])i=bo(i,"content-length");let c=(f)=>Ne(mt({try:()=>o(t,{...s,method:e.method,headers:i,body:f,duplex:e.body._tag==="Stream"?"half":void 0,signal:r}),catch:(l)=>new $e({reason:new Za({request:e,cause:l})})}),(l)=>hg(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 ue(Nh(e.body.stream),c)}return c(void 0)}),Ag=kg(Ee(a0));var Rg=X.Service("FizzyApi");var vM=rt.effect(Rg)(a.gen(function*(){let e=yield*G,t=yield*e.loadProjectConfig(),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new I({message:"Not logged in. Run: fizzyx auth login"}))));return un(t,r.token)})),un=(e,t)=>{let r=(d,h,O)=>a.gen(function*(){let C=yield*o(d,h,O),K=yield*i(C);if(C.status<200||C.status>=300)return yield*new I({message:p(K,C.status),status:C.status});return m(K)}).pipe(a.catch((C)=>C instanceof I?C:new I({message:String(C)}))),n=(d,h,O)=>a.gen(function*(){let C=yield*o(d,h,O);if(C.status<200||C.status>=300){let K=yield*i(C);return yield*new I({message:p(K,C.status),status:C.status})}}).pipe(a.catch((C)=>C instanceof I?C:new I({message:String(C)}))),o=(d,h,O)=>O===void 0?s(wo(d)(c(e,h),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})):lg(O)(wo(d)(c(e,h),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})).pipe(a.mapError((C)=>new I({message:String(C)})),a.flatMap(s),a.catch((C)=>C instanceof I?C:new I({message:String(C)}))),s=(d)=>Sg(d).pipe(a.provide(Ag),a.mapError((h)=>new I({message:String(h)}))),i=(d)=>d.text.pipe(a.mapError((h)=>new I({message:String(h)})),a.flatMap((h)=>{if(!h)return a.succeed(null);return f(h,d.status)})),c=(d,h)=>{let O=d.apiUrl.replace(/\/+$/,""),C=h.startsWith("/")?h:`/${h}`,K=C.startsWith("/my/"),ge=`/${d.account}`;return`${O}${K||C.startsWith(`${ge}/`)?C:`${ge}${C}`}`},f=(d,h)=>a.try({try:()=>JSON.parse(d),catch:()=>new I({status:h,message:`HTTP ${String(h)}: invalid JSON response (${l(d)})`})}),l=(d,h=120)=>{let O=d.trim();return O.length>h?`${O.slice(0,h)}...`:O},m=(d)=>{if(pi(d)&&"data"in d)return d.data;return d},p=(d,h)=>{if(pi(d)&&"error"in d)return String(d.error);return`HTTP ${String(h)}`},g=(d)=>a.try({try:()=>{let h=Ie(m(d)),O=Array.isArray(h?.accounts)?h.accounts:[],C=Ie(O[0]),K=Ie(h?.user)||Ie(C?.user)||h,ge=Q(K?.id)||Q(h?.user_id);if(!ge)throw new I({message:"Failed to decode identity: missing userId"});return{userId:ge,name:Q(K?.name),email:Q(K?.email)}},catch:(h)=>h instanceof I?h:new I({message:String(h)})}),S=(d)=>a.try({try:()=>{let h=Ie(d);if(!h)throw new I({message:"Failed to decode card: expected object"});let O=kx(h.number);if(!Number.isFinite(O))throw new I({message:"Failed to decode card: number must be finite"});let C=Q(h.title);if(!C)throw new I({message:"Failed to decode card: title must be string"});let K=Q(h.description_html);return{id:Q(h.id),number:O,title:C,description:Q(h.description),...K?{descriptionHtml:K}:{},column:ie(h.column),assignees:Cx(h.assignees),closed:di(h.closed),golden:di(h.golden),steps:wx(h.steps)}},catch:(h)=>h instanceof I?h:new I({message:String(h)})}),y=(d)=>{if(!Array.isArray(d))return a.fail(new I({message:"Failed to decode cards: expected array"}));return a.forEach(d,S)},_=(d)=>{if(!Array.isArray(d))return a.fail(new I({message:"Failed to decode columns: expected array"}));let h=[];for(let O of d){let C=Ie(O);if(!C)continue;let K=Q(C.id),ge=Q(C.name);if(!K||!ge)continue;h.push({id:K,name:ge})}return a.succeed(h)},z=(d)=>a.try({try:()=>{let h=Ie(d);if(!h)throw new I({message:"Failed to decode board: expected object"});let O=Q(h.id);if(!O)throw new I({message:"Failed to decode board: missing id"});return{id:O,name:Q(h.name)||""}},catch:(h)=>h instanceof I?h:new I({message:String(h)})}),be=(d)=>{if(!Array.isArray(d))return a.fail(new I({message:"Failed to decode boards: expected array"}));return a.forEach(d,z)},se=(d)=>a.try({try:()=>{let h=Ie(d);if(!h)throw new I({message:"Failed to decode column: expected object"});let O=Q(h.id),C=Q(h.name);if(!O||!C)throw new I({message:"Failed to decode column: missing id or name"});return{id:O,name:C}},catch:(h)=>h instanceof I?h:new I({message:String(h)})}),Te=(d)=>{if(!Array.isArray(d))return a.fail(new I({message:"Failed to decode comments: expected array"}));return a.succeed(d.map((h)=>Se(h)))},Se=(d)=>{let h=Ie(d);if(!h)return{};return{created_at:Q(h.created_at),creator:gt(h.creator),body:Xt(h.body)}},gt=(d)=>{let h=Ie(d);if(!h)return;let O=Q(h.name);if(!O)return{};return{name:O}},Xt=(d)=>{let h=Ie(d);if(!h)return;let O=Q(h.plain_text);if(!O)return{};return{plain_text:O}},ie=(d)=>{let h=Ie(d);if(!h)return;return{id:Q(h.id),name:Q(h.name)}},Cx=(d)=>{if(!Array.isArray(d))return[];let h=[];for(let O of d){let C=Ie(O);if(!C)continue;let K=Q(C.id);if(!K)continue;let ge=Q(C.name);if(!ge)continue;h.push({id:K,name:ge})}return h},wx=(d)=>{if(!Array.isArray(d))return[];let h=[];for(let O of d){let C=Ie(O);if(!C)continue;let K=Q(C.content);if(!K)continue;let ge=di(C.completed);if(ge===void 0)continue;h.push({id:Q(C.id),content:K,completed:ge})}return h},pi=(d)=>d!==null&&typeof d==="object"&&!Array.isArray(d),Ie=(d)=>pi(d)?d:void 0,Q=(d)=>typeof d==="string"?d:void 0,di=(d)=>typeof d==="boolean"?d:void 0,kx=(d)=>{if(typeof d==="number"&&Number.isFinite(d))return d;return Number.NaN},Cu=()=>r("GET",`/boards/${e.board}/columns.json`).pipe(a.flatMap(_)),vx=(d)=>r("POST",`/boards/${e.board}/columns.json`,{column:{name:d}});return{identity:()=>r("GET","/my/identity.json").pipe(a.flatMap(g)),listBoards:()=>r("GET","/boards.json").pipe(a.flatMap(be)),listColumns:()=>Cu(),createColumn:(d)=>a.gen(function*(){let h=yield*vx(d),O=yield*se(h).pipe(a.catch(()=>a.succeed(void 0)));if(O)return O;let K=(yield*Cu()).find((ge)=>ge.name===d);if(!K)return yield*new I({message:`Failed to create column ${d}`});return K}),listCards:(d)=>{let h=new URLSearchParams;if(e.board)h.append("board_ids[]",e.board);if(d?.indexedBy)h.set("indexed_by",d.indexedBy);if(d?.all)h.set("all","true");let O=h.size>0?`?${h}`:"";return r("GET",`/cards.json${O}`).pipe(a.flatMap(y))},showCard:(d)=>r("GET",`/cards/${d}.json`).pipe(a.flatMap(S)),listComments:(d)=>r("GET",`/cards/${d}/comments.json?all=true`).pipe(a.flatMap(Te)),createCard:(d)=>r("POST","/cards.json",{board_id:d.board,title:d.title,description:d.description}).pipe(a.flatMap(S)),updateCardDescription:(d,h)=>n("PATCH",`/cards/${d}.json`,{description:h}),assignCard:(d,h)=>n("POST",`/cards/${d}/assignments.json`,{assignee_id:h}),selfAssignCard:(d)=>n("POST",`/cards/${d}/self_assignment.json`),moveCard:(d,h)=>n("POST",`/cards/${d}/triage.json`,{column_id:h}),comment:(d,h)=>n("POST",`/cards/${d}/comments.json`,{body:h}),closeCard:(d)=>n("POST",`/cards/${d}/close.json`),postponeCard:(d)=>n("POST",`/cards/${d}/postpone.json`),createStep:(d,h,O)=>n("POST",`/cards/${d}/steps.json`,{content:h,completed:Boolean(O)}),updateStep:(d,h,O)=>{let C={};if(O.completed!==void 0)C.completed=O.completed;if(O.content!==void 0)C.content=O.content;return n("PATCH",`/cards/${d}/steps/${h}.json`,C)}}};var Mg="1",Ng="https://fizzy.puffin.studio",lu=".fizzy.yaml",f0=(e)=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),l0=(e,t)=>{if(e==="en")return{done:"done: ",blocked:"blocked: ",unblocked:"unblocked: ",handoff:"handoff: ",note:"note: "}[t];return{done:"\u5B8C\u6210\uFF1A",blocked:"\u963B\u585E\uFF1A",unblocked:"\u5DF2\u89E3\u9501\uFF1A",handoff:"\u4EA4\u63A5\uFF1A",note:"\u5907\u6CE8\uFF1A"}[t]},Ug=(e,t,r)=>`<p>${l0(e,t)}${f0(r)}</p>`,zg=(e,t)=>{if(t==="done")return e==="en"?"done: commit <sha>: <subject>":"\u5B8C\u6210\uFF1Acommit <sha>: <subject>";if(t==="blocked")return e==="en"?"blocked: <reason; owner/decision needed>":"\u963B\u585E\uFF1A<\u539F\u56E0\uFF1B\u9700\u8981\u8C01/\u4EC0\u4E48\u51B3\u7B56>";if(t==="unblocked")return e==="en"?"unblocked: <resource/decision ready>":"\u5DF2\u89E3\u9501\uFF1A<\u8D44\u6E90/\u51B3\u7B56\u5DF2\u5C31\u7EEA>";if(t==="handoff")return e==="en"?"handoff: <current state; next step>":"\u4EA4\u63A5\uFF1A<\u5F53\u524D\u72B6\u6001\uFF1B\u4E0B\u4E00\u6B65>";return e==="en"?"note: <brief note>":"\u5907\u6CE8\uFF1A<\u7B80\u77ED\u8BF4\u660E>"},FM=a.gen(function*(){let e=yield*G,t=yield*e.loadProjectConfig(),r=yield*Dg(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new cn({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Ys(t.account,r),s=un(t,n.token);return{config:t,configRepo:e,cacheRepo:o,api:s}}),he=a.gen(function*(){let e=yield*G,t=yield*e.loadProjectConfig(),r=yield*Dg(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new cn({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Ys(t.account,r),s=pu(e,t,n.token);return{config:yield*rx({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)=>Ig(r,"ConfigError")&&Tg(r.message)?a.succeed(void 0):a.fail(r)),a.catch((r)=>Ig(r,"ConfigError")&&Tg(r.message)?a.succeed(void 0):a.fail(r))))||{apiUrl:Ng,account:Mg,configPath:`${process.cwd()}/${lu}`,rootDir:process.cwd()}}),Tg=(e)=>e.startsWith(`No ${lu} found from`),p0=(e,t)=>typeof e==="object"&&e!==null&&("_tag"in e)&&e._tag===t,Ig=(e,t)=>p0(e,t)&&typeof e.message==="string",Dg=(e)=>e.board?a.succeed(e.board):a.fail(new fe({message:"No board configured. Run: fizzyx setup <board-id>"})),Lg=(e)=>a.gen(function*(){let t=yield*G;if(!e.board)return yield*new fe({message:"board is required"});let r=e.account||Mg,n=e.apiUrl||Ng,o={apiUrl:n,account:r,board:e.board,configPath:`${process.cwd()}/${lu}`,rootDir:process.cwd()},s=yield*t.loadCredentials(r).pipe(a.catch(()=>a.fail(new cn({message:`No token for account ${r}. Run: fizzyx auth login <token>`})))),i=pu(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*rx({configRepo:t,api:i,config:o,initialUsers:e.users})}),$g=()=>a.gen(function*(){let e=yield*G,t=yield*ci(e),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new cn({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`}))));return yield*pu(e,t,r.token).listBoards()}),pu=(e,t,r)=>{let n=r,o=un(t,n),s=(c)=>c instanceof I?c:new I({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(!d0(l))return yield*a.fail(l);let m=yield*e.migrateCredentialsFromOfficial(t.account).pipe(a.catch(()=>a.fail(l)));if(m.token!==n)n=m.token,o=un(t,n),yield*e.saveCredentials(t.account,m).pipe(a.catch((p)=>new I({message:`Failed to persist migrated credentials: ${p instanceof U?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((m)=>m.updateStep(c,f,l)),createStep:(c,f,l)=>i((m)=>m.createStep(c,f,l))}},d0=(e)=>e.status===401;var jg=(e)=>a.gen(function*(){let t=yield*G,r=yield*ci(t);return yield*t.saveCredentials(r.account,{token:e}),r.account}),Hg=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*un(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}}),Bg=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]=yield*a.all([e.api.identity(),e.api.listCards({all:!0}),e.api.listCards({indexedBy:"not_now",all:!0})]),o=nx(e.config,r),s={identity:t,cards:r,notNow:n,users:o,syncedAt:new Date().toISOString()};return yield*e.cacheRepo.write(s),s}),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)}),du=(e,t)=>a.gen(function*(){let r=yield*ai(e,t.fresh),n=t.user?ox(e.config,t.user):r.identity.userId,o=x0(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}}),qg=(e,t)=>a.gen(function*(){let r=yield*ai(e,t.fresh),n=yield*e.cacheRepo.ageSeconds();return{cache:r,age:n}}),Wg=(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)}}),Vg=(e,t)=>a.gen(function*(){let r=yield*du(e,{fresh:t.fresh}),n=r.cards.find((o)=>(o.column?.name||"")==="TODO");return{user:r,card:n}}),Jg=(e,t)=>a.gen(function*(){let r=yield*ai(e,!0),n=r.cards.find((i)=>i.number===t);if(!n)return yield*new fe({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 fe({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*nt(e),t}),Kg=(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(`
|
|
30
|
-
`);return yield*new
|
|
31
|
-
|
|
32
|
-
`);return yield*new
|
|
33
|
-
|
|
34
|
-
`),
|
|
35
|
-
|
|
36
|
-
## ${ii(r).trim()}
|
|
25
|
+
${Zf(e.cause,`${t} `)}
|
|
26
|
+
${t}}`;return n},es=`~effect/Fiber/${Zo}`,hE={_A:w,_E:w},gE={id:0},Dn=()=>globalThis[Ur];class mc{constructor(e,t=!0){this[es]=hE,this.setContext(e),this.id=++gE.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===Lt)return;let r=nc.interruptChildren&&nc.interruptChildren(this);if(r!==void 0)return this.evaluate(E(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[Ur];globalThis[Ur]=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=E(Kr,()=>s)}if(n=this.currentTracerContext?this.currentTracerContext(n,this):n[Z](this),o!==this.currentLoopCount)return Lt;else if(n===Lt){let s=this._yielded;if(rr in s)return this._yielded=void 0,s;return Lt}}}catch(s){if(!O(n,Z))return wt(`Fiber.runLoop: Not a valid effect: ${String(n)}`);return this.runLoop(wt(s))}finally{globalThis[Ur]=t}}getCont(e){while(!0){let t=this._stack.pop();if(!t)return;let r=t[Dt]&&t[Dt](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(Fn);if(t!==this.currentScheduler)this.currentScheduler=t,this._dispatcher=void 0;this.currentSpan=e.mapUnsafe.get(Gi),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(Uf);let r=e.mapUnsafe.get(Yi);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),Ht(t)},xE=(e)=>{if(e._children===void 0||e._children.size===0)return;return fr(e._children)},el=(e)=>{let t=e;if(t._exit)return y(t._exit);return Me((r)=>{if(t._exit)return r(y(t._exit));return b(e.addObserver((n)=>r(y(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(y(n))}return s(),b(()=>o?.())});var hc=(e)=>A((t)=>tl(e,t.id)),tl=u((e)=>O(e[0],es),(e,t,r)=>A((n)=>{let o=os(n);return o=o&&r?Bt(o,r):o??r,e.interruptUnsafe(t,o),$n(el(e))})),fr=(e)=>A((t)=>{let r=os(t);for(let n of e)n.interruptUnsafe(t.id,r);return $n(ss(e))});var y=ie,B=De,H=Ct,b=Be({op:"Sync",[Z](e){let t=this[F](),r=e.getCont(_e);return r?r[_e](t,e):e.yieldWith(ie(t))}}),P=Be({op:"Suspend",[Z](e){return this[F]()}}),rl=zo({onNone:()=>H(new kt("Effect.fromOption: Option.none")),onSome:y}),Jr=sf({onFailure:H,onSuccess:y}),nl=(e)=>e==null?H(new kt):y(e),gc=Be({op:"Yield",[Z](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{if(t)return;e.evaluate(tt)},this[F]??0),e.yieldWith(()=>{t=!0})}}),Kr=gc(0),xc=(e)=>y(ue(e)),Ln=y(ee()),ol=(e)=>An(e)?Ln:D(e.value,ue),sl=(e)=>P(()=>B(U(e))),Rt=(e)=>wt(e),is=(e)=>P(()=>H(U(e))),M=y(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 P(()=>{try{return y(U(t))}catch(n){return H(U(()=>r(n)))}})};var yc=(e)=>Ec(function(t,r){U(()=>e(r)).then((n)=>t(y(n)),(n)=>t(Rt(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(U(()=>r(i))))}catch(c){n(Rt(c))}};try{U(()=>t(o)).then((i)=>n(y(i)),s)}catch(i){s(i)}},t.length!==0)},al=(e)=>A((t)=>e(t.id)),ul=A(y),fl=al(y),Ec=Be({op:"Async",single:!1,[Z](e){let t=U(()=>this[F][0].bind(e.currentScheduler)),r=!1,n=!1,o=this[F][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(yE(()=>(r=!0,o?.abort(),s??tt))),Lt}}),yE=Be({op:"AsyncFinalizer",[Dt](e){if(e.interruptible)e.interruptible=!1,e._stack.push(bs)},[Xe](e,t){return pc(e)?E(this[F](),()=>B(e)):B(e)}}),Me=(e)=>Ec(e,e.length>=2),cs=Me(er),ll=(...e)=>P(()=>Wr(e.length===1?e[0]():e[1].call(e[0].self))),bc=(e,...t)=>{let r=t.length===0?function(){return P(()=>Wr(e.apply(this,arguments)))}:function(){let n=P(()=>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=P(()=>{let p=i.apply(this,arguments);return k(p)?p:Wr(p)});for(let p=0;p<n.length;p++)f=n[p](f,...c);if(!k(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 y(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 P(()=>{if(s)return s=!1,E(n.value,(i)=>Wr(t,i));else return P(()=>Wr(e()))})}}}catch(t){return Rt(t)}},Wr=Be({op:"Iterator",single:!1,[_e](e,t){let r=this[F][0];while(!0){let n=r.next(e);if(n.done)return y(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[F][1],e)}}),Re=u(2,(e,t)=>{let r=y(t);return E(e,(n)=>r)}),as=(e)=>D(e,ue),ml=(e)=>lr(e,{onFailure:y,onSuccess:H}),Ve=u(2,(e,t)=>E(e,(r)=>k(t)?t:U(()=>t(r)))),dt=u(2,(e,t)=>E(e,(r)=>Re(k(t)?t:U(()=>t(r)),r))),$n=(e)=>E(e,(t)=>tt),hl=(e)=>Ne(e,H),Cc=(e,t)=>A((r)=>Me((n)=>{let o=et(e),s=o.length,i=0,c=!1,f=new Set,l=[],d=(p,g,S)=>{if(i++,p._tag==="Failure"){if(l.push(...p.cause.reasons),i>=s)n(B(nr(l)));return}let x=!c;if(c=!0,n(f.size===0?p:E(mr(fr(f)),()=>p)),x&&t?.onWinner)t.onWinner({fiber:g,index:S,parentFiber:r})};for(let p=0;p<s;p++){let g=hr(r,o[p],!0,!0,!1);if(f.add(g),g.addObserver((S)=>{f.delete(g),d(S,g,p)}),c)break}return fr(f)})),wc=(e,t)=>A((r)=>Me((n)=>{let o=!1,s=new Set,i=(f)=>{o=!0,n(s.size===0?f:E(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 g=!o;if(i(p),g&&t?.onWinner)t.onWinner({fiber:d,index:l,parentFiber:r})})}return fr(s)})),gl=u((e)=>k(e[1]),(e,t,r)=>Cc([e,t],r)),us=u((e)=>k(e[1]),(e,t,r)=>wc([e,t],r)),E=u(2,(e,t)=>{let r=Object.create(EE);return r[F]=e,r[_e]=t.length!==1?(n)=>t(n):t,r}),EE=St({op:"OnSuccess",[Z](e){return e._stack.push(this),this[F]}}),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 E(e,t)}),El=(e)=>E(e,w),D=u(2,(e,t)=>E(e,(r)=>y(U(()=>t(r))))),bl=u(2,(e,t)=>$e(e)?vl(e,t):D(e,t)),Sl=u(2,(e,t)=>$e(e)?Ol(e,t):Pc(e,t)),Cl=u(2,(e,t)=>$e(e)?Rl(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),Ol=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))}),Rl=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)=>A((t)=>y(Wi(t.context,e))),bE=(e)=>A((t)=>t.context.mapUnsafe.has(e.key)?y(vt(t.context,e)):H(new kt)),jn=u(2,(e,t)=>A((r)=>{let n=r.context,o=t(n);if(n===o)return e;return r.setContext(o),Yr(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=()=>SE,SE=A((e)=>y(e.context)),Vt=(e)=>A((t)=>e(t.context)),Tt=u(2,(e,t)=>{if($e(e))return e;return jn(e,Bt(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)=>E(r,(n)=>Se(e,t,n))),Pl=Se(Go),Oc=u((e)=>k(e[1]),(e,t,r)=>Rc(e,t,(n,o)=>[n,o],r)),Rc=u((e)=>k(e[1]),(e,t,r,n)=>n?.concurrent?D(Ss([e,t],{concurrency:2}),([o,s])=>U(()=>r(o,s))):E(e,(o)=>D(t,(s)=>U(()=>r(o,s))))),_l=u((e)=>k(e[0]),(e,t,r)=>Wc(e,t,r?(n)=>H(r(n)):()=>H(new kt))),Fl=u(2,(e,t)=>E(t,(r)=>r?as(e):Ln)),Ac=u(2,(e,t)=>Array.from({length:t},()=>e)),Ml=u((e)=>k(e[0]),(e,t,r)=>Ss(Ac(e,t),r)),ls=u((e)=>k(e[0]),(e,t)=>Jt({while:ze,body:re(t?.disableYield?e:E(e,(r)=>Kr)),step:er})),Ne=u(2,(e,t)=>{let r=Object.create(CE);return r[F]=e,r[Xe]=t.length!==1?(n)=>t(n):t,r}),CE=St({op:"OnFailure",[Z](e){return e._stack.push(this),this[F]}}),Tc=u(3,(e,t,r)=>Ne(e,(n)=>{if(!t(n))return B(n);return U(()=>r(n))})),Qr=u(3,(e,t,r)=>Ne(e,(n)=>{let o=t(n);return J(o)?B(o.failure):U(()=>r(o.success,n))})),Ae=u(2,(e,t)=>Qr(e,pt,(r)=>t(r))),Nl=(e)=>lr(e,{onFailure:(t)=>Ai(t)?Ln:H(t),onSuccess:xc}),Ul=u(2,(e,t)=>Qr(e,lc,t)),zl=u(2,(e,t)=>Ne(e,(r)=>Ve(U(()=>t(r)),B(r)))),Dl=u(3,(e,t,r)=>Tc(e,t,(n)=>Ve(U(()=>r(n)),B(n)))),ps=u(3,(e,t,r)=>Ne(e,(n)=>{let o=t(n);if(J(o))return B(n);return Ve(U(()=>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):M)}),$l=u(2,(e,t)=>ps(e,lc,(r)=>t(r))),Hn=u((e)=>k(e[0]),(e,t,r,n)=>Ne(e,(o)=>{let s=pt(o);if(J(s))return B(s.failure);if(!t(s.success))return n?U(()=>n(s.success)):B(o);return U(()=>r(s.success))})),ds=u((e)=>k(e[0]),(e,t,r,n)=>Ne(e,(o)=>{let s=pt(o);if(J(s))return B(s.failure);let i=t(s.success);if(J(i))return n?U(()=>n(i.failure)):B(o);return U(()=>r(i.success))})),ms=u((e)=>k(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)=>k(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)=>U(()=>t[o._tag](o)),r)}),Hl=u((e)=>k(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?U(()=>o(i,s)):H(s)})),Bl=u((e)=>k(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 U(()=>r[i._tag](i,s));return n?U(()=>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)=>b(()=>t.onSuccess(r))})),hs=(e)=>Ae(e,Rt),Wl=u(2,(e,t)=>Ae(e,(r)=>b(t))),Vl=(e)=>P(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return Rt(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)=>E(Kr,()=>Fc(e))),Jl=u((e)=>k(e[0]),(e,t)=>{if(!t?.log)return lr(e,{onFailure:(n)=>M,onSuccess:(n)=>M});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)=>M})}),Kl=u((e)=>k(e[0]),(e,t)=>{if(!t?.log)return lt(e,{onFailure:(n)=>M,onSuccess:(n)=>M});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)=>M})}),Ql=(e)=>gs(e,{onFailure:ee,onSuccess:ue}),Wt=(e)=>Bn(e,{onFailure:me,onSuccess:ke}),lt=u(2,(e,t)=>{let r=Object.create(wE);return r[F]=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}),wE=St({op:"OnSuccessAndFailure",[Z](e){return e._stack.push(this),this[F]}}),Mc=u(2,(e,t)=>lt(e,{onFailure:(r)=>b(()=>t.onFailure(r)),onSuccess:(r)=>b(()=>t.onSuccess(r))})),lr=u(2,(e,t)=>lt(e,{onFailure:(r)=>{let n=r.reasons.find(wn);return n?U(()=>t.onFailure(n.error)):B(r)},onSuccess:t.onSuccess})),gs=u(2,(e,t)=>lr(e,{onFailure:(r)=>b(()=>t.onFailure(r)),onSuccess:(r)=>b(()=>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)}),Gl=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):kE(e),kE=Be({op:"Exit",[Z](e){return e._stack.push(this),this[F]},[_e](e,t,r){return y(r??ie(e))},[Xe](e,t,r){return y(r??De(e))}}),Yl=Bn({onFailure:()=>!0,onSuccess:()=>!1}),Xl=Bn({onFailure:()=>!1,onSuccess:()=>!0}),Zl=u(2,(e,t)=>Ve(xr(t),e)),Nc=u(2,(e,t)=>us(e,E(xr(t.duration),t.orElse))),ep=u(2,(e,t)=>Nc(e,{duration:t,orElse:()=>H(new Zc)})),tp=u(2,(e,t)=>us(as(e),Re(xr(t),ee()))),rp=(e)=>gr((t)=>{let r=t.currentTimeNanosUnsafe();return D(e,(n)=>[Pn(t.currentTimeNanosUnsafe()-r),n])}),oc="~effect/Scope",sc="~effect/Scope/Closeable",pr=ve("effect/Scope"),Uc=(e,t)=>P(()=>xs(e,t)??M),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 vE(e,n,t)},vE=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)=>Uc(r,o)),ts(r,n,(o)=>b(()=>sp(e,n))),r},mt=(e,t)=>P(()=>{if(e.state._tag==="Closed")return t(e.state.exit);return ts(e,{},t),M}),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:OE}),OE={_tag:"Empty"};var Vn=pr,ip=Se(pr),ys=(e)=>A((t)=>{let r=t.context,n=Wn();return t.setContext(qe(t.context,pr,n)),Yr(e,(o)=>(t.setContext(r),xs(n,o)))});var Es=(e)=>P(()=>{let t=Wn();return Te(e(t),(r)=>P(()=>xs(t,r)??M))}),dr=(e,t,r)=>Vt((n)=>Kn((o)=>E(Vn,(s)=>dt(r?.interruptible?o(e):e,(i)=>mt(s,(c)=>Tt(t(i,c),n)))))),Gr=(e)=>E(Vn,(t)=>Vt((r)=>mt(t,(n)=>Tt(e(n),r)))),Yr=Be({op:"OnExit",single:!1,[Z](e){return e._stack.push(this),this[F][0]},[Dt](e){if(e.interruptible&&this[F][2]!==!0)e._stack.push(bs),e.interruptible=!1},[_e](e,t,r){r??=ie(e);let n=this[F][1](r);return n?E(n,(o)=>r):r},[Xe](e,t,r){r??=De(e);let n=this[F][1](r);return n?E(n,(o)=>r):r}}),Te=u(2,Yr),cp=u(2,(e,t)=>Te(e,(r)=>t)),zc=u(3,(e,t,r)=>Te(e,(n)=>{if(!t(n))return M;return r(n)})),Dc=u(3,(e,t,r)=>Te(e,(n)=>{let o=t(n);return J(o)?M: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 M;let o=t(n.cause);return J(o)?M:r(o.success,n.cause)})),up=u(2,(e,t)=>$c(Kf,t)(e)),Jn=(e,t,r)=>Kn((n)=>E(e,(o)=>Yr(n(t(o)),(s)=>r(o,s),!0))),fp=(e)=>dr(e,(t)=>O(t,Symbol.asyncDispose)?yc(()=>t[Symbol.asyncDispose]()):b(()=>t[Symbol.dispose]())),jc=u(2,(e,t)=>b(()=>{let r=Hr(Le(t)),n=Number.isFinite(r),o=Yc(!1),s=0,i=!1,c,f=E(o.await,()=>c);return[A((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,(g)=>b(()=>{i=!1,s=d.currentTimeMillisUnsafe()+r,c=g,o.openUnsafe()}))}),b(()=>{s=0,o.closeUnsafe(),c=void 0})]})),Hc=u(2,(e,t)=>D(jc(e,t),(r)=>r[0])),lp=(e)=>Hc(e,jr),pp=A((e)=>B(rs(e.id))),mr=(e)=>A((t)=>{if(!t.interruptible)return e;return t.interruptible=!1,t._stack.push(bs),e}),dp=Be({op:"SetInterruptible",[Dt](e){if(e.interruptible=this[F],e._interruptedCause&&e.interruptible)return()=>B(e._interruptedCause)}}),bs=dp(!0),mp=dp(!1),Bc=(e)=>A((t)=>{if(t.interruptible)return e;if(t.interruptible=!0,t._stack.push(mp),t._interruptedCause)return B(t._interruptedCause);return e}),Kn=(e)=>A((t)=>{if(!t.interruptible)return e(w);return t.interruptible=!1,t._stack.push(bs),e(Bc)}),hp=(e)=>A((t)=>{if(t.interruptible)return e(w);return t.interruptible=!0,t._stack.push(mp),e(mr)}),gp=D(dr(b(()=>new AbortController),(e)=>b(()=>e.abort())),(e)=>e.signal),Ss=(e,t)=>{if(Et(e))return t?.mode==="result"?We(e,Wt,t):We(e,w,t);else if(t?.discard)return t.mode==="result"?We(Object.values(e),Wt,t):We(Object.values(e),w,t);return P(()=>{let r={};return Re(We(Object.entries(e),([n,o])=>D(t?.mode==="result"?Wt(o):o,(s)=>{r[n]=s}),{discard:!0,concurrency:t?.concurrency}),r)})},qc=u((e)=>Et(e[0])&&!k(e[0]),(e,t,r)=>D(We(e,(n,o)=>Wt(t(n,o)),r),(n)=>gf(n,w))),xp=u((e)=>Et(e[0])&&!k(e[0]),(e,t,r)=>E(qc(e,t,{concurrency:r?.concurrency}),([n,o])=>{if(Li(n))return H(n);return r?.discard?M:y(o)})),yp=u((e)=>Et(e[0])&&!k(e[0]),(e,t)=>P(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return Ep(r,0,t,n.value);return y(ee())})),Ep=(e,t,r,n)=>E(r(n,t),(o)=>{if(o)return y(ue(n));let s=e.next();if(!s.done)return Ep(e,t+1,r,s.value);return y(ee())}),bp=u((e)=>Et(e[0])&&!k(e[0]),(e,t)=>P(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return Sp(r,0,t,n.value);return y(ee())})),Sp=(e,t,r,n)=>E(r(n,t),(o)=>{if(ir(o))return y(ue(o.success));let s=e.next();if(!s.done)return Sp(e,t+1,r,s.value);return y(ee())}),Jt=Be({op:"While",[_e](e,t){if(this[F].step(e),this[F].while())return t._stack.push(this),this[F].body();return tt},[Z](e){if(this[F].while())return e._stack.push(this),this[F].body();return tt}}),We=u((e)=>typeof e[1]==="function",(e,t,r)=>A((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 RE(e,t,r);let i=et(e),c=i.length;if(c===0)return r?.discard?M:y([]);let f=r?.discard?void 0:Array(c),l=TE({f:t,out:f},i,{concurrency:s});return l?Re(l,f):y(f)})),RE=(e,t,r)=>P(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return Re(Jt({while:()=>!s.done,body:()=>t(s.value,i++),step:(c)=>{if(n)n.push(c);s=o.next()}}),n)}),AE=(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,g,S=!1,x,T,v=()=>{let se=!1;for(;!x&&i<c;i++){let te=o[i],ye=T??t(n,te,i);if($e(ye)){if(x=r(n,te,ye,i),x)break}else if(f===1)return E(qn(ye),(G)=>(x=r(n,te,G,i),i++,x??v()??M));else if(!d)return Me((G)=>{d=Dn(),T=ye,g=G;let Ke=v();if(Ke)return G(Ke);return P(()=>(x=tt,S=!0,p?fr(p):M))});else{T=void 0;let G=hr(d,ye,!0,!0,"inherit");if(G._exit){if(x=r(n,te,G._exit,i),x)break;continue}if(p)p.add(G);else p=new Set([G]);let Ke=i;if(G.addObserver((Ie)=>{if(p.delete(G),x){if(!S&&Ie._tag==="Failure")for(let de of Ie.cause.reasons)if(de._tag==="Interrupt")continue;else if(x._tag==="Failure")x.cause.reasons.push(de);else x=De(nr([de]))}else{let de=r(n,te,Ie,Ke);if(de)x=de._tag==="Failure"?De(nr(de.cause.reasons.slice())):de,v()}if(se){let de=v();if(de)g(de)}else if(l&&p.size===0)g(x??M)}),p.size<f)continue;se=!0,i++;return}}if(l=!0,x){if(p&&p.size>0){let te=os(d);p.forEach((ye)=>ye.interruptUnsafe(d.id,te));return}if(g||x._tag==="Failure")return x}else if(g){if(!p)return tt;else if(p.size===0)g(M)}};return v()}};var TE=AE({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)=>E(e,(n)=>t(n)?y(n):r(n))),Vc=u(3,(e,t,r)=>E(e,(n)=>{let o=t(n);return J(o)?r(o.failure):y(o.success)})),Cp=u((e)=>k(e[0]),(e,t,r)=>Vc(e,t,r?(n)=>H(r(n)):()=>H(new kt))),wp=u((e)=>Et(e[0])&&!k(e[0]),(e,t,r)=>P(()=>{let n=[];return Re(We(e,(o,s)=>{let i=t(o,s);if(typeof i==="boolean"){if(i)n.push(o);return M}return D(i,(c)=>{if(c)n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),kp=u((e)=>Et(e[0])&&!k(e[0]),(e,t)=>P(()=>{let r=[];for(let n of e){let o=t(n);if(ir(o))r.push(o.success)}return y(r)})),vp=u((e)=>Et(e[0])&&!k(e[0]),(e,t,r)=>P(()=>{let n=[];return Re(We(e,(o)=>D(t(o),(s)=>{if(ir(s))n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),Op=y({}),Rp=qu(D),Ap=Wu(D,E),Tp=Bu(D);var Ip=u((e)=>k(e[0]),(e,t)=>A((r)=>(VE(),y(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)=>k(e[0]),(e,t)=>A((r)=>y(hr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),_p=(e)=>A((t)=>{let r=t._children&&et(t._children);return Te(e,(n)=>{let o=t._children;if(o===void 0||o.size===0)return M;else if(r)o=af(o,(s)=>!r.includes(s));return $n(ss(o))})}),Jc=u((e)=>k(e[0]),(e,t,r)=>A((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?M:hc(o))),o.addObserver(()=>sp(t,s))}else o.interruptUnsafe(n.id,os(n));return y(o)})),Fp=u((e)=>k(e[0]),(e,t)=>E(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)}},Np=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))})}},Up=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()),Gc=(e)=>{let t=ws(e);return(r)=>{let n=t(r);if(n._tag==="Failure")throw ns(n.cause);return n.value}},Lp=Gc(Fe()),Hf=y(!0),Bf=y(!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=A((e)=>{if(this.isOpen)return Bf;return this.isOpen=!0,this.scheduleUnsafe(e)});release=A((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(M);return this.waiters.push(e),b(()=>{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=b(()=>this.closeUnsafe());whenOpen=(e)=>E(this.await,()=>e)}var Yc=(e)=>new $p(e??!1);var jp=A((e)=>y(e.getRef(Qo))),Hp=u(2,(e,t)=>Se(e,Qo,t)),Bp=Se(Yo),qp=Se(Mn),ic=BigInt(0),IE={_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(){}},PE=(e)=>Object.assign(Object.create(IE),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(Yo)||r?.annotations&&he(r.annotations,Br),o=r?.parent!==void 0?ue(r.parent):r?.root?ee():Wp(e.currentSpan),s;if(n)s=PE({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(Nn),d=e.getRef(Un),p=r?.level??e.getRef(Ff),g=r?.links!==void 0?[...d,...r.links]:d.slice();s=i.span({name:t,parent:o,annotations:r?.annotations??Fe(),links:g,startTime:f?c.currentTimeNanosUnsafe():BigInt(0),kind:r?.kind??"internal",root:r?.root??An(o),sampled:r?.sampled??(Ui(o)&&o.value.sampled===!1?!1:!od(e.getRef(Mf),p))});for(let[S,x]of Object.entries(l))s.attribute(S,x);if(r?.attributes!==void 0)for(let[S,x]of Object.entries(r.attributes))s.attribute(S,x)}return s},Vp=(e,t)=>A((r)=>y(Xc(r,e,t))),rt=(e,t)=>mr(A((r)=>{let n=vt(r.context,pr),o=Xc(r,e,t??{}),s=r.getRef(ht),i=r.getRef(Mn);return Re(mt(n,(c)=>FE(o,c,s,i)),o)})),Jp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=qt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return E(rt(t,r),(o)=>Vr(n,o,r))}return(n)=>E(rt(t,r),(o)=>Vr(n,o,r))},_E=(e,t)=>(t=typeof t==="function"?t:Qe,At(qr,(r)=>({name:e,stack:t,parent:r}))),Kp=Nn,Qp=Un,Gp=u((e)=>k(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map((s)=>({span:s,attributes:r}));return At(e,Un,(s)=>[...s,...o])}),FE=(e,t,r,n)=>b(()=>{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 A((o)=>{let s=Xc(o,e,r),i=o.getRef(ht);return Te(U(()=>n(s)),(c)=>b(()=>{if(s.status._tag==="Ended")return;s.end(i.currentTimeNanosUnsafe(),c)}))})},cc=Se(ar),Vr=function(){let e=k(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;if(t._tag==="Span")r=qt(r),n=_E(t.name,r?.captureStackTrace);if(e)return cc(n(arguments[0]),t);return(o)=>cc(n(o),t)},Yp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=qt(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)=>k(e[0]),(e,...t)=>At(e,Nn,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),Zp=(...e)=>A((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 M}),ed=A((e)=>{let t=e.currentSpanLocal;return t?y(t):H(new kt)}),td=bE(ar),ht=I("effect/Clock",{defaultValue:()=>new rd}),ME=2147483647;class rd{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=b(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return NE()}currentTimeNanos=b(()=>this.currentTimeNanosUnsafe());sleep(e){let t=Hr(e);if(t<=0)return Kr;return Me((r)=>{if(t>ME)return;let n=setTimeout(()=>r(M),t);return b(()=>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))}(),NE=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)=>A((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=I("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),UE=(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}},zE=tf(Lr,UE),od=rf(zE),ra=I("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([qE,WE])}),DE=I("effect/Logger/LogToStderr",{defaultValue:_r}),sd=function(){let e=typeof arguments[0]==="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return mr(A((t)=>{let r=t.getRef(Ot),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];n[s]=i}return t.setContext(qe(t.context,Ot,n)),mt(vt(t.context,pr),(o)=>{let s=t.getRef(Ot),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,Ot,i)),M})}))},LE="~effect/Logger",$E={[LE]:{_Message:w,_Output:w},pipe(){return N(this,arguments)}},id=(e)=>{let t=Object.create($E);return t.log=e,t},jE=(e)=>e.replace(/[\s="]/g,"_"),HE=(e,t)=>`${jE(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 A((n)=>{let o=e??n.currentLogLevel;if(od(n.minimumLogLevel,o))return M;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 M})};var ur={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},KO={None:[],All:[],Trace:[ur.gray],Debug:[ur.blue],Info:[ur.green],Warn:[ur.yellow],Error:[ur.red],Fatal:[ur.bgBrightRed,ur.black]};var BE=(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 qE=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 g of c)f+=` ${HE(g,i)}`;let l=r.getRef(Ot);if(Object.keys(l).length>0)s.push(l);let d=r.getRef(ta);(r.getRef(DE)?d.error:d.log)(`[${BE(t)}] ${n.toUpperCase()} (#${r.id})${f}:`,...s)}),WE=id(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(ht),s=t.getRef(Ot),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 VE(){nc.interruptChildren??=xE}var cd=y(void 0);var ad=u((e)=>k(e[0]),(e,t)=>Lc(e,(r)=>A((n)=>(JE(n,r,t?.defectsOnly),M)))),JE=(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)=>A((t)=>e(t.getRef(ud))),KE=(e,...t)=>ce((r)=>b(()=>{r.assert(e,...t)})),QE=ce((e)=>b(()=>{e.clear()})),GE=(e)=>ce((t)=>b(()=>{t.count(e)})),YE=(e)=>ce((t)=>b(()=>{t.countReset(e)})),XE=(...e)=>ce((t)=>b(()=>{t.debug(...e)})),ZE=(e,t)=>ce((r)=>b(()=>{r.dir(e,t)})),eb=(...e)=>ce((t)=>b(()=>{t.dirxml(...e)})),tb=(...e)=>ce((t)=>b(()=>{t.error(...e)})),rb=(e)=>ce((t)=>dr(b(()=>{if(e?.collapsed)t.groupCollapsed(e.label);else t.group(e?.label)}),()=>b(()=>{t.groupEnd()}))),nb=(...e)=>ce((t)=>b(()=>{t.info(...e)})),ob=(...e)=>ce((t)=>b(()=>{t.log(...e)})),sb=(e,t)=>ce((r)=>b(()=>{r.table(e,t)})),ib=(e)=>ce((t)=>dr(b(()=>{t.time(e)}),()=>b(()=>{t.timeEnd(e)}))),cb=(e,...t)=>ce((r)=>b(()=>{r.timeLog(e,...t)})),ab=(...e)=>ce((t)=>b(()=>{t.trace(...e)})),ub=(...e)=>ce((t)=>b(()=>{t.warn(...e)})),fb=u((e)=>k(e[0]),(e,t)=>ce((r)=>Jn(b(()=>{if(t?.collapsed)r.groupCollapsed(t.label);else r.group(t?.label)}),()=>e,()=>b(()=>{r.groupEnd()})))),lb=u((e)=>k(e[0]),(e,t)=>ce((r)=>Jn(b(()=>{r.time(t)}),()=>e,()=>b(()=>{r.timeEnd(t)}))));var Je={};dn(Je,{taggedEnum:()=>db,TaggedError:()=>ot,TaggedClass:()=>pb,Error:()=>hb,Class:()=>fd});var fd=class extends Cu{constructor(e){super();if(e)Object.assign(this,e)}},pb=(e)=>class extends fd{_tag=e},db=()=>new Proxy({},{get(e,t,r){if(t==="$is")return it;else if(t==="$match")return mb;return(n)=>({...n,_tag:t})}});function mb(){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 hb=Ri,ot=or;var a={};dn(a,{zipWith:()=>qS,zip:()=>pm,yieldNowWith:()=>zS,yieldNow:()=>am,withTracerTiming:()=>XC,withTracerEnabled:()=>YC,withTracer:()=>GC,withSpanScoped:()=>aw,withSpan:()=>cw,withParentSpan:()=>Na,withLogger:()=>Tw,withLogSpan:()=>_w,withFiber:()=>so,withExecutionPlan:()=>uC,withErrorReporting:()=>fC,withConcurrency:()=>FC,whileLoop:()=>Ns,when:()=>CC,void:()=>oo,validate:()=>AS,useSpan:()=>Ma,updateService:()=>PC,updateContext:()=>Pa,unwrapReason:()=>JS,uninterruptibleMask:()=>an,uninterruptible:()=>Nm,undefined:()=>_S,txRetry:()=>Hw,tx:()=>Dw,tryPromise:()=>gt,try:()=>on,transposeOption:()=>LS,trackSuccesses:()=>Mw,trackErrors:()=>Nw,trackDuration:()=>zw,trackDefects:()=>Uw,track:()=>Fw,tracer:()=>QC,timeoutOrElse:()=>hC,timeoutOption:()=>mC,timeout:()=>dC,timed:()=>gC,tapErrorTag:()=>tC,tapError:()=>Hs,tapDefect:()=>ym,tapCauseIf:()=>rC,tapCauseFilter:()=>nC,tapCause:()=>xm,tap:()=>io,sync:()=>_t,suspend:()=>Pt,succeedSome:()=>sm,succeedNone:()=>om,succeed:()=>Ce,spanLinks:()=>ow,spanAnnotations:()=>nw,sleep:()=>Ia,serviceOption:()=>Am,service:()=>Rm,scopedWith:()=>Im,scoped:()=>Tm,scope:()=>_a,scheduleFrom:()=>zm,schedule:()=>KC,satisfiesSuccessType:()=>qw,satisfiesServicesType:()=>Vw,satisfiesErrorType:()=>Ww,sandbox:()=>iC,runSyncWith:()=>yw,runSyncExitWith:()=>bw,runSyncExit:()=>Ew,runSync:()=>Yt,runPromiseWith:()=>$m,runPromiseExitWith:()=>jm,runPromiseExit:()=>xw,runPromise:()=>$a,runForkWith:()=>Lm,runFork:()=>La,runCallbackWith:()=>hw,runCallback:()=>gw,retryOrElse:()=>sC,retry:()=>Em,result:()=>jS,requestUnsafe:()=>fw,request:()=>uw,replicateEffect:()=>JC,replicate:()=>VC,repeatOrElse:()=>WC,repeat:()=>Um,raceFirst:()=>Sm,raceAllFirst:()=>xC,raceAll:()=>bm,race:()=>yC,provideServiceEffect:()=>_C,provideService:()=>Ws,provideContext:()=>qs,provide:()=>IC,promise:()=>Us,partition:()=>RS,orElseSucceed:()=>lC,orDie:()=>eC,option:()=>HS,onInterrupt:()=>Vs,onExitPrimitive:()=>Fm,onExitIf:()=>DC,onExitFilter:()=>LC,onExit:()=>cn,onErrorIf:()=>UC,onErrorFilter:()=>zC,onError:()=>ao,never:()=>va,matchEffect:()=>Om,matchEager:()=>kC,matchCauseEffectEager:()=>RC,matchCauseEffect:()=>sn,matchCauseEager:()=>OC,matchCause:()=>vC,match:()=>wC,mapErrorEager:()=>Kw,mapError:()=>gm,mapEager:()=>Jw,mapBothEager:()=>Qw,mapBoth:()=>ZS,map:()=>Ue,makeSpanScoped:()=>iw,makeSpan:()=>Dm,logWithLevel:()=>Hm,logWarning:()=>kw,logTrace:()=>Aw,logInfo:()=>Ow,logFatal:()=>ww,logError:()=>vw,logDebug:()=>Rw,log:()=>Cw,linkSpans:()=>sw,let:()=>NS,isSuccess:()=>TC,isFailure:()=>AC,isEffect:()=>vr,interruptibleMask:()=>BC,interruptible:()=>HC,interrupt:()=>Mm,ignoreCause:()=>aC,ignore:()=>cC,gen:()=>Oa,fromResult:()=>um,fromOption:()=>DS,fromNullishOr:()=>$S,forkScoped:()=>Da,forkIn:()=>za,forkDetach:()=>lw,forkChild:()=>Ua,forever:()=>Js,forEach:()=>PS,fnUntracedEager:()=>Yw,fnUntraced:()=>fo,fn:()=>Sw,flip:()=>BS,flatten:()=>fm,flatMapEager:()=>Bm,flatMap:()=>fe,firstSuccessOf:()=>pC,findFirstFilter:()=>IS,findFirst:()=>TS,filterOrFail:()=>vm,filterOrElse:()=>km,filterMapOrFail:()=>SC,filterMapOrElse:()=>bC,filterMapEffect:()=>wm,filterMap:()=>EC,filter:()=>Cm,fiberId:()=>mw,fiber:()=>dw,failSync:()=>im,failCauseSync:()=>cm,failCause:()=>Or,fail:()=>Gt,exit:()=>Ra,eventually:()=>oC,ensuring:()=>_m,effectify:()=>Bw,die:()=>zs,delay:()=>Ta,currentSpan:()=>tw,currentParentSpan:()=>rw,contextWith:()=>co,context:()=>Bs,clockWith:()=>ja,catchTags:()=>mm,catchTag:()=>dm,catchReasons:()=>VS,catchReason:()=>WS,catchNoSuchElement:()=>GS,catchIf:()=>KS,catchFilter:()=>QS,catchEager:()=>Gw,catchDefect:()=>hm,catchCauseIf:()=>YS,catchCauseFilter:()=>XS,catchCause:()=>js,catch:()=>$s,callback:()=>ka,cachedWithTTL:()=>$C,cachedInvalidateWithTTL:()=>jC,cached:()=>uo,bindTo:()=>MS,bind:()=>US,awaitAllChildren:()=>pw,asVoid:()=>Ls,asSome:()=>lm,as:()=>Aa,annotateSpans:()=>ZC,annotateLogsScoped:()=>Pw,annotateLogs:()=>Iw,annotateCurrentSpan:()=>ew,andThen:()=>Ds,all:()=>OS,addFinalizer:()=>Pm,acquireUseRelease:()=>NC,acquireRelease:()=>Fa,acquireDisposable:()=>MC,abortSignal:()=>qC,TypeId:()=>vS,Transaction:()=>no,Do:()=>FS});var ld=ie,pd=De;var dd=kc;var je={};dn(je,{withSpan:()=>Jb,withParentSpan:()=>ca,updateService:()=>Fd,unwrap:()=>ia,tapError:()=>Fb,tapCause:()=>Mb,tap:()=>_b,syncContext:()=>sa,sync:()=>Rb,suspend:()=>Tb,succeedContext:()=>Sr,succeed:()=>Td,span:()=>Vb,satisfiesSuccessType:()=>Bb,satisfiesServicesType:()=>Wb,satisfiesErrorType:()=>qb,provideMerge:()=>Pb,provide:()=>Zr,parentSpan:()=>Md,orDie:()=>Nb,mock:()=>jb,mergeAll:()=>Ts,merge:()=>Ib,makeMemoMapUnsafe:()=>en,makeMemoMap:()=>kb,launch:()=>$b,isLayer:()=>Rs,fromBuildMemo:()=>As,fromBuild:()=>Kt,fresh:()=>Lb,forkMemoMapUnsafe:()=>Rd,forkMemoMap:()=>vb,flatMap:()=>_d,empty:()=>Ob,effectDiscard:()=>Ab,effectContext:()=>fa,effect:()=>tn,catchTag:()=>zb,catchCause:()=>Db,catch:()=>Ub,buildWithScope:()=>ua,buildWithMemoMap:()=>Gn,build:()=>Ad,CurrentMemoMap:()=>Xr});var gb="~effect/Deferred";var xb={[gb]:{_A:w,_E:w},pipe(){return N(this,arguments)}},hd=()=>{let e=Object.create(xb);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),b(()=>{let r=e.resumes.indexOf(t);e.resumes.splice(r,1)})});var yb=u(2,(e,t)=>b(()=>Eb(e,t))),xd=yb;var Eb=(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=Ot;var Ed=Xo,bd=qr;var vs=pr;var Qn=Wn,yr=ip,Sd=mt,na=op;var Er=np,br=Uc;var Od="~effect/Layer",Cd="~effect/Layer/MemoMap",Sb=(e,t)=>(e.observers++,Ve(mt(t,(r)=>e.finalizer(r)),e.effect)),Rs=(e)=>O(e,Od),Cb={[Od]:{_ROut:w,_E:w,_RIn:w},pipe(){return N(this,arguments)}},Cr=(e)=>{let t=Object.create(Cb);return t.build=e,t},Kt=(e)=>Cr((t,r)=>{let n=Er(r);return Te(e(t,n),(o)=>o._tag==="Failure"?br(n,o):M)}),As=(e)=>{let t=Kt((r,n)=>r.getOrElseMemoize(t,n,e));return t},wb=(e,t,r,n)=>{let o=Qn(),s=hd(),i={observers:1,effect:gd(s),finalizer:(c)=>P(()=>{if(i.observers--,i.observers===0)return e.map.delete(t),br(o,c);return M})};return e.map.set(t,i),mt(r,i.finalizer).pipe(E(()=>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 Sb(r,t);return this.parent?.get(e,t)}getOrElseMemoize(e,t,r){let n=this.get(e,t);if(n)return n;return wb(this,e,t,r)}}var en=()=>new aa,Rd=(e)=>new aa(e),kb=b(en),vb=(e)=>b(()=>Rd(e));class Xr extends ve()("effect/Layer/CurrentMemoMap"){static getOrCreate=Bi(this,en)}var Gn=u(3,(e,t,r)=>Se(D(e.build(t,r),qe(Xr,t)),Xr,t)),Ad=(e)=>A((t)=>Gn(e,Xr.getOrCreate(t.context),vt(t.context,vs))),ua=u(2,(e,t)=>A((r)=>Gn(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(y(e))),Ob=Sr(Fe()),Rb=function(){if(arguments.length===1)return(e)=>sa(()=>ft(arguments[0],e()));return sa(()=>ft(arguments[0],arguments[1]()))},sa=(e)=>As(re(b(e))),tn=function(){if(arguments.length===1)return(e)=>wd(arguments[0],e);return wd(arguments[0],arguments[1])},wd=(e,t)=>fa(D(t,(r)=>ft(e,r))),fa=(e)=>As((t,r)=>yr(e,r)),Ab=(e)=>fa(Re(e,Fe())),Tb=(e)=>As((t,r)=>P(()=>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(D((o)=>Vi(...o)))},Ts=(...e)=>Kt((t,r)=>Id(e,t,r)),Ib=u(2,(e,t)=>Ts(e,...Array.isArray(t)?t:[t])),Pd=(e,t,r)=>Kt((n,o)=>E(Array.isArray(t)?Id(t,n,o):t.build(n,o),(s)=>e.build(n,o).pipe(Tt(s),D((i)=>r(i,s))))),Zr=u(2,(e,t)=>Pd(e,t,w)),Pb=u(2,(e,t)=>Pd(e,t,(r,n)=>Bt(n,r))),_d=u(2,(e,t)=>Kt((r,n)=>E(e.build(r,n),(o)=>t(o).build(r,n)))),_b=u(2,(e,t)=>Kt((r,n)=>E(e.build(r,n),(o)=>yr(Re(t(o),o),n)))),Fb=u(2,(e,t)=>Kt((r,n)=>Ae(e.build(r,n),(o)=>yr(Ve(t(o),H(o)),n)))),Mb=u(2,(e,t)=>Kt((r,n)=>Ne(e.build(r,n),(o)=>yr(Ve(t(o),B(o)),n)))),Nb=(e)=>Cr((t,r)=>hs(e.build(t,r))),Ub=u(2,(e,t)=>Cr((r,n)=>Ae(e.build(r,n),(o)=>t(o).build(r,n))));var zb=u(3,(e,t,r)=>Cr((n,o)=>ms(e.build(n,o),t,(s)=>r(s).build(n,o)))),Db=u(2,(e,t)=>Cr((r,n)=>Ne(e.build(r,n),(o)=>t(o).build(r,n)))),Fd=u(3,(e,t,r)=>Zr(e,tn(t,D(t,r)))),Lb=(e)=>Cr((t,r)=>e.build(en(),r)),$b=(e)=>ys(Ve(Ad(e),cs)),jb=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",Hb(i)},has:ze})),Hb=(e)=>{let t=Object.assign(Rt(e),{[vd]:vd,channel:{[Os]:Os,transform:()=>y(t),pipe(){return N(this,arguments)}},[Os]:Os,transform:()=>y(t)});function r(){return t}return Object.assign(r,t),Object.setPrototypeOf(r,Object.getPrototypeOf(t)),r},vd="~effect/Stream",Os="~effect/Channel",Bb=()=>(e)=>e,qb=()=>(e)=>e,Wb=()=>(e)=>e,Vb=(e,t)=>(t=qt(t),tn(ar,t?.onEnd?dt(rt(e,t),(r)=>Gr((n)=>t.onEnd(r,n))):rt(e,t))),Md=(e)=>Sr(ar.context(e)),Jb=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=qt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return ia(D(r?.onEnd!==void 0?dt(rt(t,r),(o)=>Gr((s)=>r.onEnd(o,s))):rt(t,r),(o)=>ca(n,o)))}return(n)=>ia(D(r?.onEnd!==void 0?dt(rt(t,r),(o)=>Gr((s)=>r.onEnd(o,s))):rt(t,r),(o)=>ca(n,o)))},ca=function(){let e=Rs(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;if(t._tag==="Span")r=qt(r),n=Kb(t.name,r?.captureStackTrace);let o=Md(t);if(e)return Zr(n(arguments[0]),o);return(s)=>Zr(n(s),o)},Kb=(e,t)=>(t=typeof t==="function"?t:Qe,Fd(bd,(r)=>({name:e,stack:t,parent:r})));var Nd="~effect/ExecutionPlan";var Qb={[Nd]:Nd,get captureRequirements(){let e=this;return Vt((t)=>y(Gb(e.steps.map((r)=>({...r,provide:Rs(r.provide)?Zr(r.provide,Sr(t)):r.provide})))))},pipe(){return N(this,arguments)}},Gb=(e)=>{let t=Object.create(Qb);return t.steps=e,t};var Ud=I("effect/ExecutionPlan/CurrentMetadata",{defaultValue:re({attempt:0,stepIndex:0})});var zd=ns;var Is=pt;var la=pc;var Ps=On;var wr=$u;var Xn=u(2,(e,t)=>Qr(e,Xb,(r)=>t(r)));var pa=Qi(Is,(e)=>Ps(e)?ke(e):me(e));var Xb=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=I("effect/Schedule/CurrentMetadata",{defaultValue:re({input:void 0,output:void 0,duration:$r,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),Zb={[Ld]:{_Out:w,_In:w,_Env:w},pipe(){return N(this,arguments)}},ha=(e)=>O(e,Ld),ga=(e)=>{let t=Object.create(Zb);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}}},eS=(e)=>ga(D(e,(t)=>{let r=xa();return(n,o)=>t(r(n,o))})),ya=(e)=>Ne(e.step,(t)=>y(()=>B(t))),_s=(e)=>gr((t)=>D(ya(e),(r)=>{let n=xa();return(o)=>P(()=>{let s=t.currentTimeMillisUnsafe();return E(r(s,o),([i,c])=>{let f=n(s,o);return f.output=i,f.duration=c,Re(xr(c),f)})})}));var Ea=(e)=>ga(D(ya(e),(t)=>(r,n)=>da(t(r,n),{onSuccess:(o)=>y([n,o[1]]),onFailure:B,onDone:()=>wr(n)}))),$d=(e)=>Zn(ba,({attempt:t})=>y(t<=e));var tS=(e)=>{let t=Le(e);return eS(y((r)=>y([r.attempt-1,t])))};var Zn=u(2,(e,t)=>ga(D(ya(e),(r)=>{let n=xa();return(o,s)=>E(r(o,s),(i)=>{let[c,f]=i,l=t({...n(o,s),output:c,duration:f});return E(k(l)?l:y(l),(d)=>d?y(i):wr(c))})})));var ba=tS($r);var rS=(e,t,r)=>Es((n)=>E(r?.local?Gn(t,en(),n):ua(t,n),(o)=>Tt(e,o))),Fs=u((e)=>k(e[0]),(e,t,r)=>Bo(t)?Tt(e,t):rS(e,Array.isArray(t)?Ts(...t):t,r));var Sa=u(3,(e,t,r)=>E(_s(t),(n)=>{let o=kr.defaultValue();return Ae(ls(dt(E(P(()=>Se(e,kr,o)),n),(s)=>b(()=>{o=s})),{disableYield:!0}),(s)=>On(s)?y(s.value):r(s,o.attempt===0?ee():ue(o)))})),Ca=u(3,(e,t,r)=>E(_s(t),(n)=>{let o=kr.defaultValue(),s,i=Ae(P(()=>Se(e,kr,o)),(c)=>(s=c,E(n(c),(f)=>(o=f,i))));return Xn(i,(c)=>U(()=>r(s,c)))})),Bd=u(2,(e,t)=>{let r=typeof t==="function"?t(w):ha(t)?t:to(t);return Sa(e,r,H)}),eo=u(2,(e,t)=>{let r=typeof t==="function"?t(w):ha(t)?t:to(t);return Ca(e,r,H)}),qd=u(3,(e,t,r)=>E(_s(r),(n)=>{let o=kr.defaultValue(),s=P(()=>Se(e,kr,o));return Ae(E(n(t),(i)=>{o=i;let c=re(E(s,n));return Jt({while:ze,body:c,step(f){o=f}})}),(i)=>On(i)?y(i.value):H(i))})),nS=Ea(ba),to=(e)=>{let t=e.schedule?Ea(e.schedule):nS;if(e.while)t=Zn(t,({input:r})=>{let n=e.while(r);return k(n)?n:y(n)});if(e.until)t=Zn(t,({input:r})=>{let n=e.until(r);return k(n)?D(n,(o)=>!o):y(!n)});if(e.times!==void 0)t=Zn(t,({attempt:r})=>y(r<=e.times));return t};var Jd=u(2,(e,t)=>P(()=>{let r=0,n={attempt:0,stepIndex:0},o=fs(Ud,b(()=>(n={attempt:n.attempt+1,stepIndex:r},n))),s;return E(Jt({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=P(()=>{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 Wt(c)},step(i){s=i,r++}}),()=>Jr(s))})),Vd=(e,t)=>{if(!t)return to({schedule:e.schedule?e.schedule:e.attempts?void 0:oS,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})},oS=$d(1);var iS="~effect/Request",cS=Ou({_E:(e)=>e,_A:(e)=>e,_R:(e)=>e}),cA={..._u,[iS]:cS};var Kd=(e)=>e;var Gd=u(2,(e,t)=>{let r=(n)=>Me((o)=>{let s=Xd(n,e,o,Dn());return aS(n,s)});return k(t)?E(t,r):r(t)}),Yd=(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:E(P(()=>l.resolver.delay),(d)=>Qd(l)),run:Te(P(()=>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 M})};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()},aS=(e,t)=>b(()=>Zd(e,t));function Qd(e){if(!e.map.has(e.key))return M;return e.map.delete(e.key),e.run}var lS="effect/Metric/CurrentMetricAttributes",pS=I(lS,{defaultValue:()=>({})}),dS="~effect/observability/Metric/MetricRegistryKey",mS=I(dS,{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,pS);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=wS(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=bS(this,t),n=he(e,mS);if(n.has(r))return n.get(r);let o=this.createHooks(),s={id:this.id,type:this.type,description:this.description,attributes:Qt(t),hooks:o};return n.set(r,s),s}pipe(){return N(this,arguments)}}var tm=BigInt(0);class hS extends rn{type="Counter";#e;#t;constructor(e,t){super(e,t?.description,Qt(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 gS extends rn{type="Gauge";#e;constructor(e,t){super(e,t?.description,Qt(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 xS extends rn{type="Frequency";#e;constructor(e,t){super(e,t?.description,Qt(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 yS extends rn{type="Histogram";#e;constructor(e,t){super(e,t?.description,Qt(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,g=t;while(p!==g){let S=Math.floor(p+(g-p)/2),x=n[S];if(d<=x)g=S;else p=S;if(g===p+1)if(d<=n[p])g=p;else p=g}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 g=0;g<t;g++){let S=n[g],x=r[g];p=p+x,d[g]=[S,p]}return d};return ro(()=>({buckets:l(),count:o,min:i,max:c,sum:s}),f)}}class ES extends rn{type="Summary";#e;#t;#r;constructor(e,t){super(e,t?.description,Qt(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 g=[],S=0;while(S<this.#t){let v=t[S];if(yt(v)){let[se,te]=v,ye=p-se;if(ye>=0&&ye<=this.#e)g.push(te)}S=S+1}let x=Lo(g,Lr),T=x.length;if(T===0)return e.map((v)=>[v,void 0]);return e.map((v)=>{if(v<=0)return[v,x[0]];if(v>=1)return[v,x[T-1]];let se=Math.ceil(v*T)-1;return[v,x[se]]})},f=(p,g)=>{if(this.#t>0){let S=r%this.#t;t[S]=[g,p],r=r+1}if(n=n+1,o=o+p,p<s)s=p;if(p>i)i=p};return ro((p)=>{let g=he(p,ht);return{quantiles:c(g.currentTimeMillisUnsafe()),count:n,min:s,max:i,sum:o}},([p,g])=>f(p,g))}}var nn=u(2,(e,t)=>Vt((r)=>b(()=>e.updateUnsafe(t,r))));function bS(e,t){let r=`${e.type}:${e.id}`;if(yt(e.description))r+=`:${e.description}`;if(yt(t))r+=`:${SS(t)}`;return r}function ro(e,t,r){return{get:e,update:t,modify:r??t}}function SS(e){return CS(Array.isArray(e)?e:Object.entries(e))}function CS(e){return e.map(([t,r])=>`${t}=${r}`).join(",")}function wS(e,t){return{...Qt(e),...Qt(t)}}function Qt(e){if(yt(e)&&Array.isArray(e))return e.reduce((t,[r,n])=>(t[r]=n,t),{});return e}var vS=ut,vr=k,OS=Ss,RS=qc,AS=xp,TS=yp,IS=bp,PS=We,Ns=Jt,Us=yc,gt=cl,Ce=y,om=Ln,sm=xc,Pt=P,_t=b,oo=M;var _S=cd;var ka=Me,va=cs,FS=Op,MS=Rp,NS=Tp;var US=Ap,Oa=ll,Gt=H,im=is,Or=B,cm=sl,zs=Rt,on=il;var am=Kr,zS=gc,so=A,um=Jr,DS=rl,LS=ol,$S=nl,fe=E,fm=El,Ds=Ve,io=dt,jS=Wt,HS=Ql,Ra=qn,Ue=D,Aa=Re,lm=as,Ls=$n,BS=ml,pm=Oc,qS=Rc,$s=Ae;var dm=ms,mm=jl,WS=Hl,VS=Bl,JS=ql,js=Ne,hm=Ul,KS=Hn,QS=ds,GS=Nl,YS=Tc,XS=Qr,gm=Pc,ZS=_c,eC=hs,Hs=Ic,tC=Ll,xm=zl,rC=Dl,nC=ps,ym=$l,oC=Fc,Em=eo,sC=Ca,iC=hl,cC=Jl,aC=Kl,uC=Jd,fC=ad,lC=Wl,pC=Vl,dC=ep,mC=tp,hC=Nc,Ta=Zl,Ia=xr,gC=rp,bm=Cc,xC=wc,yC=gl,Sm=us,Cm=wp,EC=kp,wm=vp,km=Wc,bC=Vc,vm=_l,SC=Cp,CC=Fl,wC=gs,kC=Bn,vC=Mc,OC=Gl,RC=xl,sn=lt,Om=lr,AC=Yl,TC=Xl,Bs=vc,co=Vt,IC=Fs,qs=Tt,Rm=Tl,Am=Il,Pa=jn,PC=At,Ws=Se,_C=fs,FC=Pl,_a=Vn,Tm=ys,Im=Es,Fa=dr,MC=fp,NC=Jn,Pm=Gr,_m=cp,ao=Lc,UC=ap,zC=$c,Fm=Yr,cn=Te,DC=zc,LC=Dc,uo=lp,$C=Hc,jC=jc,Mm=pp,HC=Bc,Vs=up,Nm=mr,an=Kn,BC=hp,qC=gp,Js=ls,Um=Bd,WC=Sa,VC=Ac,JC=Ml,KC=u(2,(e,t)=>zm(e,void 0,t)),zm=qd,QC=jp,GC=Hp,YC=Bp,XC=qp,ZC=Xp,ew=Zp,tw=ed,rw=td,nw=Kp,ow=Qp,sw=Gp,Dm=Vp,iw=rt,Ma=zn,cw=Yp,aw=Jp,Na=Vr,uw=Gd,fw=Yd,Ua=Ip,za=Jc,Da=Fp,lw=Pp,pw=_p,dw=ul,mw=fl,La=Mp,Lm=It,hw=Kc,gw=Np,$a=zp,$m=Qc,xw=Up,jm=Cs,Yt=Lp,yw=Gc,Ew=Dp,bw=ws,fo=bc,Sw=pl,ja=gr,Hm=nt,Cw=nt(),ww=nt("Fatal"),kw=nt("Warn"),vw=nt("Error"),Ow=nt("Info"),Rw=nt("Debug"),Aw=nt("Trace"),Tw=u(2,(e,t)=>At(e,ra,(r)=>new Set([...r,t]))),Iw=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})),Pw=sd,_w=u(2,(e,t)=>E(nd,(r)=>At(e,Ed,(n)=>[[t,r],...n]))),Fw=u((e)=>vr(e[0]),(e,t,r)=>cn(e,(n)=>{let o=r===void 0?n:U(()=>r(n));return nn(t,o)})),Mw=u((e)=>vr(e[0]),(e,t,r)=>io(e,(n)=>{let o=r===void 0?n:r(n);return nn(t,o)})),Nw=u((e)=>vr(e[0]),(e,t,r)=>Hs(e,(n)=>{let o=r===void 0?n:U(()=>r(n));return nn(t,o)})),Uw=u((e)=>vr(e[0]),(e,t,r)=>ym(e,(n)=>{let o=r===void 0?n:U(()=>r(n));return nn(t,o)})),zw=u((e)=>vr(e[0]),(e,t,r)=>ja((n)=>{let o=n.currentTimeNanosUnsafe();return cn(e,()=>{let s=n.currentTimeNanosUnsafe(),i=Of(Le(s),Le(o)),c=r===void 0?i:U(()=>r(i));return nn(t,c)})}));class no extends ve()("effect/Effect/Transaction"){}var Dw=(e)=>so((t)=>{if(t.context.mapUnsafe.has(no.key))return e;let r={journal:new Map,retry:!1},n;return an((o)=>fe(Ns({while:()=>!n,body:re(o(e).pipe(Ws(no,r),xm(()=>{if(!r.retry)return oo;return o($w(r))}),Ra)),step(s){if(r.retry||!Lw(r))return nm(r);if(dd(s))jw(t,r);else nm(r);n=s}}),()=>n))}),Lw=(e)=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},$w=(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 jw(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 Hw=fe(no,(e)=>(e.retry=!0,Mm)),Bw=(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))}}),qw=()=>(e)=>e,Ww=()=>(e)=>e,Vw=()=>(e)=>e,Jw=bl,Kw=Sl,Qw=Cl,Bm=yl,Gw=wl,Yw=dl;var lo="zh-CN";var Q=Y.Service("ConfigRepo");class po extends Je.TaggedError("ConfigError"){}class un extends Je.TaggedError("AuthError"){}class _ extends Je.TaggedError("ApiError"){}class le extends Je.TaggedError("ValidationError"){}class z extends Je.TaggedError("FileError"){}class Rr extends Je.TaggedError("OssError"){}import{dirname as Xw}from"path";var qm=Y.Service("ManifestRepo");var Zw=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 z({message:`Failed to read manifest: ${String(o)}`,path:t()})}),write:(o)=>a.tryPromise({try:async()=>{let s=Xw(t());await(await import("fs/promises")).mkdir(s,{recursive:!0}),await Bun.write(t(),`${JSON.stringify(o,null,2)}
|
|
27
|
+
`)},catch:(s)=>new z({message:`Failed to write manifest: ${String(s)}`,path:t()})}),path:t}},Wm=(e,t)=>({version:Zw,localDir:e,remotePrefix:t,lastSyncedAt:new Date().toISOString(),files:{}}),lP=je.effect(qm,a.gen(function*(){let t=yield*(yield*Q).loadProjectConfig();return Ks(t.rootDir)}));var{S3Client:ek}=globalThis.Bun;var Qs=(e,t)=>e instanceof Rr?e:new Rr({message:String(e),key:t,status:tk(e)?e.status:void 0}),tk=(e)=>typeof e==="object"&&e!==null&&e.name==="S3Error",Ha=(e)=>{let t=new ek({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)=>Qs(o,r)}),exists:(r)=>a.tryPromise({try:()=>t.exists(r),catch:(n)=>Qs(n,r)}),delete:(r)=>a.tryPromise({try:()=>t.delete(r),catch:(n)=>Qs(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)=>Qs(n,r?.prefix)})}};import Vm from"path";var Gm="fizzyx-oss",Jm="default",Km=(e,t)=>a.gen(function*(){let r=Ym(e,t),n=null;try{n=yield*a.promise(()=>Bun.secrets.get({service:Gm,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}),Ym=(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)},Xm=()=>a.gen(function*(){let e=yield*Q,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}),Zm=(e,t,r)=>a.gen(function*(){let s=(yield*(yield*Q).loadProjectConfigOptional().pipe(a.catch(()=>a.succeed(void 0))))||{apiUrl:"https://fizzy.puffin.studio",account:"1",configPath:`${process.cwd()}/.fizzy.yaml`,rootDir:process.cwd()};yield*oh(s,e,{accessKeyId:t,secretAccessKey:r})}),eh=(e)=>a.gen(function*(){let t=yield*Q,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*oh(n,e.env,i)}return yield*t.setupOssConfig(e)}),th=(e)=>a.gen(function*(){let t=performance.now(),n=yield*(yield*Q).loadProjectConfig(),o=yield*Ba(n),s=ih(o,e.env),i=ch(n.rootDir,o.sync.localDir),c=o.sync.remotePrefix??"",f=[],l=[],d=yield*sh(n,e.env,s),p=Ha({...s,accessKeyId:d.accessKeyId,secretAccessKey:d.secretAccessKey}),g=Ks(n.rootDir),x=(yield*e.full?a.succeed(null):g.read())??Wm(i,c),T=yield*uh(i),v=[],se=0,te=0;for(let G=0;G<T.length;G++){let{absolutePath:Ke,relativePath:Ie}=T[G],de=[c,Ie].filter(Boolean).join("/");if(l.push(de),e.onProgress)yield*a.sync(()=>e.onProgress({current:G+1,total:T.length,file:Ie,action:"checking"}));let Pr=yield*rk(p,i,c,x,Ke,Ie,e.verify??!1);if(Pr._tag==="uploaded"){if(e.onProgress)yield*a.sync(()=>e.onProgress({current:G+1,total:T.length,file:Ie,action:"uploading"}));se++,f.push(Pr.key)}else if(Pr._tag==="skipped"){if(e.onProgress)yield*a.sync(()=>e.onProgress({current:G+1,total:T.length,file:Ie,action:"skipping"}));te++}else{if(e.onProgress)yield*a.sync(()=>e.onProgress({current:G+1,total:T.length,file:Ie,action:"error"}));v.push(Pr.error)}}x.lastSyncedAt=new Date().toISOString(),yield*g.write(x);let ye=Math.round(performance.now()-t);return{env:e.env,endpoint:s.endpoint,bucket:s.bucket??"",remotePrefix:c,uploaded:se,skipped:te,uploadedKeys:f,allKeys:l,durationMs:ye,errors:v}}),rh=(e)=>a.gen(function*(){let r=yield*(yield*Q).loadProjectConfig(),n=yield*Ba(r),o=ch(r.rootDir,n.sync.localDir),s=Ks(r.rootDir),i=yield*s.read(),c=yield*uh(o),f=new Set(c.map((p)=>p.relativePath)),l=0;if(i)for(let{relativePath:p}of c){let g=i.files[p];if(!g){l++;continue}let S=c.find((T)=>T.relativePath===p),x=yield*ah(Bun.file(S.absolutePath));if(x.mtimeMs!==g.mtimeMs||x.size!==g.size)l++}else l=c.length;let d=0;if(i){for(let p of Object.keys(i.files))if(!f.has(p))d++}return{env:e.env,pendingUploads:l,pendingDeletions:d,totalLocal:c.length,manifestEntries:i?Object.keys(i.files).length:0,manifestPath:s.path()}}),nh=(e)=>a.gen(function*(){let r=yield*(yield*Q).loadProjectConfig(),n=yield*Ba(r),o=ih(n,e.env),s=yield*sh(r,e.env,o);return yield*Ha({...o,accessKeyId:s.accessKeyId,secretAccessKey:s.secretAccessKey}).list({prefix:e.prefix})}),oh=(e,t,r)=>a.tryPromise({try:()=>Bun.secrets.set({service:Gm,name:Ym(e,t),value:JSON.stringify(r)}),catch:(n)=>new Rr({message:`Failed to store OSS credentials: ${String(n)}`})}),sh=(e,t,r)=>a.gen(function*(){let n=yield*Km(e,t);if(n)return n;if(t!==Jm){let c=yield*Km(e,Jm);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 Rr({message:`No OSS credentials for ${t}. Store with: fizzyx oss setup [--env <name>]`})}),Ba=(e)=>e.oss?a.succeed(e.oss):a.fail(new le({message:"No OSS config found. Run: fizzyx oss setup"})),ih=(e,t)=>{let r=e.environments[t];if(!r)throw Error(`OSS environment "${t}" not found in config`);return r},ch=(e,t)=>t.startsWith("/")?t:`${e}/${t}`,ah=(e)=>a.tryPromise({try:()=>e.stat(),catch:(t)=>new z({message:`Failed to stat file: ${String(t)}`,path:e.name})}),Qm=(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 z({message:`Failed to hash file: ${String(t)}`,path:e})}),uh=(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=Vm.join(o,i.name);if(i.isDirectory()&&!i.name.startsWith("."))await n(c);else if(i.isFile())t.push({absolutePath:c,relativePath:Vm.relative(e,c)})}}return await n(e),t},catch:(t)=>new z({message:`Failed to walk directory ${e}: ${String(t)}`,path:e})}),rk=(e,t,r,n,o,s,i)=>a.gen(function*(){let c=n.files[s],f=[r,s].filter(Boolean).join("/"),l=yield*ah(Bun.file(o));if(c&&c.mtimeMs===l.mtimeMs&&c.size===l.size){if(!i)return{_tag:"skipped"};if(yield*e.exists(f).pipe(a.catch(()=>a.succeed(!1))))return{_tag:"skipped"}}if(c&&c.hash){if((yield*Qm(o))===c.hash){if(!i)return n.files[s]={...c,mtimeMs:l.mtimeMs,size:l.size},{_tag:"skipped"};if(yield*e.exists(f).pipe(a.catch(()=>a.succeed(!1))))return n.files[s]={...c,mtimeMs:l.mtimeMs,size:l.size},{_tag:"skipped"}}}let d=yield*Qm(o),p=Bun.file(o);return yield*e.write(f,p).pipe(a.catch((g)=>a.fail(new z({message:`Failed to upload ${f}: ${g.message}`})))),n.files[s]={mtimeMs:l.mtimeMs,size:l.size,hash:d},{_tag:"uploaded",key:f}}).pipe(a.catch((c)=>a.succeed({_tag:"error",error:c instanceof Error?c.message:String(c)})));var Ar=(e,t)=>typeof e==="object"&&e!==null&&("_tag"in e)&&e._tag===t,qa=(e,t)=>Ar(e,t)&&typeof e.message==="string";var fh=Y.Service("CacheRepo");var _P=je.effect(fh)(a.gen(function*(){let t=yield*(yield*Q).loadProjectConfig();return Gs(t.account,t.board??"")})),nk=".config/fizzyx/cache",Gs=(e,t)=>{let r=()=>a.sync(()=>{let o=process.env.HOME;if(!o)throw new z({message:"HOME is not set"});if(!e)throw new z({message:"cache requires account"});if(!t)throw new z({message:"cache requires board. Run: fizzyx setup <board-id>"});let s=lh(e),i=lh(t);return`${o}/${nk}/${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 z({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 z({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 z({message:`Failed to stat cache: ${String(s)}`,path:o})})))}},lh=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");var LP=`~effect/Fiber/${Zo}`;var ph=hc;var dh=Yc;var ik="~effect/Channel";var ck={[ik]:{_Env:w,_InErr:w,_InElem:w,_OutErr:w,_OutElem:w},pipe(){return N(this,arguments)}},mo=(e)=>{let t=Object.create(ck);return t.transform=(r,n)=>js(e(r,n),(o)=>Ce(Or(o))),t};var mh=(e)=>mo((t,r)=>e),hh=(e)=>mo(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)})),Ys=(e)=>e.transform;var gh=(e)=>mo((t,r)=>Pt(()=>Ys(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(Ys(e)(r,n)))));var Eh=u(2,(e,t)=>yh(e,(r)=>t)),ak=(e,t,r)=>Pt(()=>{let n=Qn(),o=Ys(e)(wr(),n);return Xn(fe(o,t),r?r:Ce).pipe(cn((s)=>br(n,s)))});var bh=u(2,(e,t)=>ak(e,(r)=>Js(fe(r,t),{disableYield:!0})));var fk="~effect/Stream",lk={_R:w,_E:w,_A:w},pk={[fk]:lk,pipe(){return N(this,arguments)}},Sh=(e)=>{let t=Object.create(pk);return t.channel=e,t};var mk="~effect/Stream",Ch=(e)=>O(e,mk);var Xs=Sh;var wh=(e)=>Xs(gh(()=>e().channel)),kh=(e)=>Xs(xh(e));var vh=(e)=>Xs(mo(fo(function*(t,r){let n=e.evaluate().getReader();return yield*na(r,e.releaseLockOnEnd?_t(()=>n.releaseLock()):Us(()=>n.cancel().catch(er))),fe(gt({try:()=>n.read(),catch:(o)=>e.onError(o)}),({done:o,value:s})=>o?wr():Ce(hf(s)))})));var Oh=u(2,(e,t)=>Xs(Eh(e.channel,t)));var hk=u(2,(e,t)=>bh(e.channel,t));var gk=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(hk(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 Rh=u((e)=>Ch(e[0]),(e,t)=>Ue(Bs(),(r)=>gk(e,r,t)));var ho=new WeakMap;var Ah="~effect/data/Redacted",yk=(e)=>O(e,Ah),Va=(e,t)=>{let r=Object.create(Ek);if(t?.label)r.label=t.label;return ho.set(r,e),r},Ek={[Ah]:{_A:(e)=>e},label:void 0,...Ze,toJSON(){return this.toString()},toString(){return`<redacted${Mr(this.label)?":"+this.label:""}>`},[W](){return q(ho.get(this))},[V](e){return yk(e)&&oe(ho.get(this),ho.get(e))}};var Th=Symbol.for("~effect/http/Headers");var go=Object.defineProperties(Object.create(null),{[Th]:{value:Th},[Nr]:{value(e){return ti(this,he(e,Ka))}},toJSON:{value(){return Ye(this)}},[V]:{value(e){return Sk(this,e)}},[W]:{value(){return hn(this)}},toString:{value:at.toString},[be]:{value:at[be]}}),Zs=(e)=>Object.assign(Object.create(go),e),Sk=lf(Rn());var Ja=Object.create(go),xo=(e)=>{if(e===void 0)return Ja;else if(Symbol.iterator in e){let r=Object.create(go);for(let[n,o]of e)r[n.toLowerCase()]=o;return r}let t=Object.create(go);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,go);var ei=u(3,(e,t,r)=>{let n=Zs(e);return n[t.toLowerCase()]=r,n}),Ph=u(2,(e,t)=>Zs({...e,...xo(t)})),_h=u(2,(e,t)=>{let r=Zs(e);return Object.assign(r,t),r}),yo=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=I("effect/Headers/CurrentRedactedNames",{defaultValue:()=>["authorization","cookie","set-cookie","x-api-key"]});var Fh="~effect/http/Cookies";var Mh="~effect/http/Cookies/Cookie";var Ck={[Fh]:Fh,...at,toJSON(){return{_id:"effect/Cookies",cookies:uf(this.cookies,(e)=>e.toJSON())}},pipe(){return N(this,arguments)}},wk=(e)=>{let t=Object.create(Ck);return t.cookies=e,t},kk=(e)=>{let t={};for(let r of e)t[r.name]=r;return wk(t)},Uh=(e)=>{let t=typeof e==="string"?[e]:e,r=[];for(let n of t){let o=vk(n.trim());if(o)r.push(o)}return kk(r)};function vk(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(!Ok.test(n))return;let o=t[0].slice(r+1),s=Rk(o);if(t.length===1)return Object.assign(Object.create(Nh),{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 g=p.trim().replace(/^\./,"");if(g)i.domain=g;break}case"expires":{if(p===void 0)break;let g=new Date(p);if(!isNaN(g.getTime()))i.expires=g;break}case"max-age":{if(p===void 0)break;let g=parseInt(p,10);if(!isNaN(g))i.maxAge=Ki(g);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(Nh),{name:n,value:s,valueEncoded:o,options:Object.keys(i).length>0?i:void 0})}var Ok=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Nh={[Mh]:Mh,...at,toJSON(){return{_id:"effect/Cookies/Cookie",name:this.name,value:this.value,options:this.options}}};var Rk=(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 Ga extends ot("InvalidUrlError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ni(ri(this._tag),this.description,this.methodAndUrl)}}class Xt 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 Ya 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 Tk={...Ze,[Dh]:Dh,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:"UrlParams",params:Object.fromEntries(this.params)}},[V](e){return Ik(this,e)},[W](){return gn(this.params.flat())}},Lh=(e)=>{let t=Object.create(Tk);return t.params=e,t},bo=(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},Ik=No((e,t)=>Pk(e.params,t.params)),Pk=xf(cf([Rn(),Rn()]));var jh=Lh([]);var Hh=u(2,(e,t)=>{let r=bo(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,_k());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 _k=()=>{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),Fk=new TextEncoder,Qh=(e,t)=>Kh(Fk.encode(e),t??"text/plain");var Gh=(e,t)=>on({try:()=>Qh(JSON.stringify(e),t??"application/json"),catch:(r)=>new qh({reason:{_tag:"JsonError"},cause:r})});var Yh=[["GET","get"],["POST","post"],["PUT","put"],["DELETE","del"],["PATCH","patch"],["HEAD","head"],["OPTIONS","options"],["TRACE","trace"]];var Xh="~effect/http/HttpClientRequest";var Uk={[Xh]:Xh,...at,toJSON(){return{_id:"HttpClientRequest",method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Ye(this.headers),body:this.body.toJSON()}},pipe(){return N(this,arguments)}};function Ft(e,t,r,n,o,s){let i=Object.create(Uk);return i.method=e,i.url=t,i.urlParams=r,i.hash=n,i.headers=o,i.body=s,i}var zk=Ft("GET","",jh,ee(),Ja,Vh),So=(e)=>(t,r)=>Dk(zk,{method:e,url:t,...r??void 0});var Dk=u(2,(e,t)=>{let r=e;if(t.method)r=Lk(r,t.method);if(t.url)r=tg(r,t.url);if(t.headers)r=ou(r,t.headers);if(t.urlParams)r=jk(r,t.urlParams);if(t.hash)r=Hk(r,t.hash);if(t.body)r=rg(r,t.body);if(t.accept)r=eg(r,t.accept);if(t.acceptJson)r=$k(r);return r}),Lk=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)),$k=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=bo(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 jk=u(2,(e,t)=>Ft(e.method,e.url,Hh(e.urlParams,t),e.hash,e.headers,e.body));var Hk=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=yo(yo(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)=>Ue(Gh(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=Yt(e.json)}catch(s){}else if(r.includes("text/")||r.includes("urlencoded"))try{n=Yt(e.text)}catch(s){}let o={...t,headers:Ye(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 xo(this.source.headers)}cachedCookies;get cookies(){if(this.cachedCookies)return this.cachedCookies;return this.cachedCookies=Uh(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 Xt({request:this.request,response:this,cause:e})})}):kh(new He({reason:new Ya({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 Xt({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 Xt({request:this.request,response:this,cause:e})})}).pipe(uo,Yt),this.arrayBufferBody=Ue(this.textBody,(e)=>new TextEncoder().encode(e).buffer),this.textBody}get urlParamsBody(){return fe(this.text,(e)=>on({try:()=>bo(new URLSearchParams(e)),catch:(t)=>new He({reason:new Xt({request:this.request,response:this,cause:t})})}))}formDataBody;get formData(){return this.formDataBody??=gt({try:()=>this.source.formData(),catch:(e)=>new He({reason:new Xt({request:this.request,response:this,cause:e})})}).pipe(uo,Yt)}arrayBufferBody;get arrayBuffer(){if(this.arrayBufferBody)return this.arrayBufferBody;return this.arrayBufferBody=gt({try:()=>this.source.arrayBuffer(),catch:(e)=>new He({reason:new Xt({request:this.request,response:this,cause:e})})}).pipe(uo,Yt),this.textBody=Ue(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"),qk=(e)=>(...t)=>fe(pg,(r)=>r[e](...t)),dg=qk("execute");var Wk=u(2,(e,t)=>mg((r)=>t(e.postprocess(r)),e.preprocess));var mg=(e,t)=>{let r=Object.create(Vk);return r.preprocess=t,r.postprocess=e,r.execute=function(n){return e(t(n))},r},Vk={[lg]:lg,pipe(){return N(this,arguments)},...at,toJSON(){return{_id:"effect/HttpClient"}},...Object.fromEntries(Yh.map(([e,t])=>[t,function(r,n){return this.execute(So(e)(r,n))}]))},hg=(e)=>mg((t)=>fe(t,(r)=>so((n)=>{let o=Gk.get(r),s=o??new AbortController,i=eu(r.url,r.urlParams,sr(r.hash));if(J(i))return Gt(new He({reason:new Ga({request:r,cause:i.failure})}));let c=i.success;if(n.getRef(Br)||n.getRef(Jk)(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 Or(p)}}))}return Ma(n.getRef(Qk)(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),g=ti(r.headers,p);for(let S in g)l.attribute(`http.request.header.${S}`,String(g[S]));return r=n.getRef(Kk)?ou(r,fg(l)):r,an((S)=>S(e(r,c,s.signal,n)).pipe(Na(l,{captureStackTrace:!1}),sn({onSuccess:(x)=>{l.attribute("http.response.status_code",x.status);let T=ti(x.headers,p);for(let v in T)l.attribute(`http.response.header.${v}`,String(T[v]));if(o)return Ce(x);return oi.register(x,s),Ce(new su(x,s))},onFailure(x){if(!o&&la(x))s.abort();return Or(x)}})))})})),Ce);var Jk=I("effect/http/HttpClient/TracerDisabledWhen",{defaultValue:()=>_r}),Kk=I("effect/HttpClient/TracerPropagationEnabled",{defaultValue:ze}),Qk=I("effect/http/HttpClient/SpanNameGenerator",{defaultValue:()=>(e)=>`http.client ${e.method}`}),gg=(e)=>tn(pg)(co((t)=>Ue(e,(r)=>Wk(r,Pa((n)=>Bt(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)}}})(),Gk=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),Oh(this.original.stream,_t(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[be](){return this.original[be]()}pipe(){return N(this,arguments)}}var Yk=I("effect/http/FetchHttpClient/Fetch",{defaultValue:()=>globalThis.fetch});class yg extends ve()("effect/http/FetchHttpClient/RequestInit"){}var Xk=hg((e,t,r,n)=>{let o=n.getRef(Yk),s=n.context.mapUnsafe.get(yg.key)??{},i=s.headers?_h(xo(s.headers),e.headers):e.headers;if(i["content-length"])i=yo(i,"content-length");let c=(f)=>Ue(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(Rh(e.body.stream),c)}return c(void 0)}),Eg=gg(Ce(Xk));var bg=Y.Service("FizzyApi");var PM=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 _({message:"Not logged in. Run: fizzyx auth login"}))));return ln(t,r.token)})),ln=(e,t)=>{let r=(m,h,R)=>a.gen(function*(){let C=yield*o(m,h,R),K=yield*i(C);if(C.status<200||C.status>=300)return yield*new _({message:p(K,C.status),status:C.status});return d(K)}).pipe(a.catch((C)=>C instanceof _?C:new _({message:String(C)}))),n=(m,h,R)=>a.gen(function*(){let C=yield*o(m,h,R);if(C.status<200||C.status>=300){let K=yield*i(C);return yield*new _({message:p(K,C.status),status:C.status})}}).pipe(a.catch((C)=>C instanceof _?C:new _({message:String(C)}))),o=(m,h,R)=>R===void 0?s(So(m)(c(e,h),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})):ng(R)(So(m)(c(e,h),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})).pipe(a.mapError((C)=>new _({message:String(C)})),a.flatMap(s),a.catch((C)=>C instanceof _?C:new _({message:String(C)}))),s=(m)=>dg(m).pipe(a.provide(Eg),a.mapError((h)=>new _({message:String(h)}))),i=(m)=>m.text.pipe(a.mapError((h)=>new _({message:String(h)})),a.flatMap((h)=>{if(!h)return a.succeed(null);return f(h,m.status)})),c=(m,h)=>{let R=m.apiUrl.replace(/\/+$/,""),C=h.startsWith("/")?h:`/${h}`,K=C.startsWith("/my/"),Ee=`/${m.account}`;return`${R}${K||C.startsWith(`${Ee}/`)?C:`${Ee}${C}`}`},f=(m,h)=>a.try({try:()=>JSON.parse(m),catch:()=>new _({status:h,message:`HTTP ${String(h)}: invalid JSON response (${l(m)})`})}),l=(m,h=120)=>{let R=m.trim();return R.length>h?`${R.slice(0,h)}...`:R},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)}`},g=(m)=>a.try({try:()=>{let h=Pe(d(m)),R=Array.isArray(h?.accounts)?h.accounts:[],C=Pe(R[0]),K=Pe(h?.user)||Pe(C?.user)||h,Ee=X(K?.id)||X(h?.user_id);if(!Ee)throw new _({message:"Failed to decode identity: missing userId"});return{userId:Ee,name:X(K?.name),email:X(K?.email)}},catch:(h)=>h instanceof _?h:new _({message:String(h)})}),S=(m)=>a.try({try:()=>{let h=Pe(m);if(!h)throw new _({message:"Failed to decode card: expected object"});let R=Tx(h.number);if(!Number.isFinite(R))throw new _({message:"Failed to decode card: number must be finite"});let C=X(h.title);if(!C)throw new _({message:"Failed to decode card: title must be string"});let K=X(h.description_html);return{id:X(h.id),number:R,title:C,description:X(h.description),...K?{descriptionHtml:K}:{},column:de(h.column),assignees:Pr(h.assignees),closed:mi(h.closed),golden:mi(h.golden),steps:Ax(h.steps)}},catch:(h)=>h instanceof _?h:new _({message:String(h)})}),x=(m)=>{if(!Array.isArray(m))return a.fail(new _({message:"Failed to decode cards: expected array"}));return a.forEach(m,S)},T=(m)=>{if(!Array.isArray(m))return a.fail(new _({message:"Failed to decode columns: expected array"}));let h=[];for(let R of m){let C=Pe(R);if(!C)continue;let K=X(C.id),Ee=X(C.name);if(!K||!Ee)continue;h.push({id:K,name:Ee})}return a.succeed(h)},v=(m)=>a.try({try:()=>{let h=Pe(m);if(!h)throw new _({message:"Failed to decode board: expected object"});let R=X(h.id);if(!R)throw new _({message:"Failed to decode board: missing id"});return{id:R,name:X(h.name)||""}},catch:(h)=>h instanceof _?h:new _({message:String(h)})}),se=(m)=>{if(!Array.isArray(m))return a.fail(new _({message:"Failed to decode boards: expected array"}));return a.forEach(m,v)},te=(m)=>a.try({try:()=>{let h=Pe(m);if(!h)throw new _({message:"Failed to decode column: expected object"});let R=X(h.id),C=X(h.name);if(!R||!C)throw new _({message:"Failed to decode column: missing id or name"});return{id:R,name:C}},catch:(h)=>h instanceof _?h:new _({message:String(h)})}),ye=(m)=>{if(!Array.isArray(m))return a.fail(new _({message:"Failed to decode comments: expected array"}));return a.succeed(m.map((h)=>G(h)))},G=(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 R=X(h.name);if(!R)return{};return{name:R}},Ie=(m)=>{let h=Pe(m);if(!h)return;let R=X(h.plain_text);if(!R)return{};return{plain_text:R}},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 R of m){let C=Pe(R);if(!C)continue;let K=X(C.id);if(!K)continue;let Ee=X(C.name);if(!Ee)continue;h.push({id:K,name:Ee})}return h},Ax=(m)=>{if(!Array.isArray(m))return[];let h=[];for(let R of m){let C=Pe(R);if(!C)continue;let K=X(C.content);if(!K)continue;let Ee=mi(C.completed);if(Ee===void 0)continue;h.push({id:X(C.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,Tx=(m)=>{if(typeof m==="number"&&Number.isFinite(m))return m;return Number.NaN},Su=()=>r("GET",`/boards/${e.board}/columns.json`).pipe(a.flatMap(T)),Ix=(m)=>r("POST",`/boards/${e.board}/columns.json`,{column:{name:m}});return{identity:()=>r("GET","/my/identity.json").pipe(a.flatMap(g)),listBoards:()=>r("GET","/boards.json").pipe(a.flatMap(se)),listColumns:()=>Su(),createColumn:(m)=>a.gen(function*(){let h=yield*Ix(m),R=yield*te(h).pipe(a.catch(()=>a.succeed(void 0)));if(R)return R;let K=(yield*Su()).find((Ee)=>Ee.name===m);if(!K)return yield*new _({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 R=h.size>0?`?${h}`:"";return r("GET",`/cards.json${R}`).pipe(a.flatMap(x))},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}/close.json`),postponeCard:(m)=>n("POST",`/cards/${m}/postpone.json`),createStep:(m,h,R)=>n("POST",`/cards/${m}/steps.json`,{content:h,completed:Boolean(R)}),updateStep:(m,h,R)=>{let C={};if(R.completed!==void 0)C.completed=R.completed;if(R.content!==void 0)C.content=R.content;return n("PATCH",`/cards/${m}/steps/${h}.json`,C)}}};var Og="1",Rg="https://fizzy.puffin.studio",iu=".fizzy.yaml",e0=(e)=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),t0=(e,t)=>{if(e==="en")return{done:"done: ",blocked:"blocked: ",unblocked:"unblocked: ",handoff:"handoff: ",note:"note: "}[t];return{done:"\u5B8C\u6210\uFF1A",blocked:"\u963B\u585E\uFF1A",unblocked:"\u5DF2\u89E3\u9501\uFF1A",handoff:"\u4EA4\u63A5\uFF1A",note:"\u5907\u6CE8\uFF1A"}[t]},Ag=(e,t,r)=>`<p>${t0(e,t)}${e0(r)}</p>`,Tg=(e,t)=>{if(t==="done")return e==="en"?"done: commit <sha>: <subject>":"\u5B8C\u6210\uFF1Acommit <sha>: <subject>";if(t==="blocked")return e==="en"?"blocked: <reason; owner/decision needed>":"\u963B\u585E\uFF1A<\u539F\u56E0\uFF1B\u9700\u8981\u8C01/\u4EC0\u4E48\u51B3\u7B56>";if(t==="unblocked")return e==="en"?"unblocked: <resource/decision ready>":"\u5DF2\u89E3\u9501\uFF1A<\u8D44\u6E90/\u51B3\u7B56\u5DF2\u5C31\u7EEA>";if(t==="handoff")return e==="en"?"handoff: <current state; next step>":"\u4EA4\u63A5\uFF1A<\u5F53\u524D\u72B6\u6001\uFF1B\u4E0B\u4E00\u6B65>";return e==="en"?"note: <brief note>":"\u5907\u6CE8\uFF1A<\u7B80\u77ED\u8BF4\u660E>"},jM=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=Gs(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=Gs(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:Rg,account:Og,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||Og,n=e.apiUrl||Rg,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 _?c:new _({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(!r0(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 _({message:`Failed to persist migrated credentials: ${p instanceof z?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))}},r0=(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}}),Ng=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?Gg(e.config,t.user):r.identity.userId,o=i0(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}}),Ug=(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(`
|
|
29
|
+
`);return yield*new le({message:`Cannot close #${t}: unfinished steps remain
|
|
30
|
+
${f}`})}let i=(yield*e.cacheRepo.read()).columns.find((f)=>f.name.toLowerCase()==="done");yield*e.api.moveCard(t,i.id);let c=r||"done";return yield*e.api.comment(t,Ag(e.config.flow.card.language,"done",c)),yield*e.api.closeCard(t),yield*st(e),{number:t,ref:c}}),jg=(e={})=>a.gen(function*(){let t=e.cwd||process.cwd(),[r,n]=yield*a.all([vg(t,["rev-parse","--short","HEAD"]),vg(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}`}),Hg=(e,t,r)=>a.gen(function*(){if(!r.trim())return yield*new le({message:"Block reason is required"});let n=e.config.flow.card.language;return yield*e.api.comment(t,Ag(n,"blocked",r)),yield*e.api.postponeCard(t),yield*st(e),{number:t,reason:r}}),Bg=(e,t)=>a.gen(function*(){if(!e.config.board)return yield*new le({message:"board is required"});let r=c0(t.description),n=Gg(e.config,t.user),o=yield*e.api.createCard({title:t.title,description:lu(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*st(e),o.number}),qg=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=lu(r.description||""),o=r.description||"";if(n!==o)yield*e.api.updateCardDescription(t,n);return yield*st(e),t}),Wg=(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
|
+
`);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*st(e),{number:t,updatedCount:s.length,contents:s.map((i)=>i.content)}}),Vg=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=new Set((r.steps||[]).map((c)=>c.content)),o=fu(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}),uu=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t);return yield*n0(e,r)}),Jg=(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)=>uu(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)}}),n0=(e,t)=>a.gen(function*(){let r=t.descriptionHtml||t.description||"",n=Zg(r),o=a0(n),s=l0(e.config.flow.card.language,t,o),i=lu(s),c=t.descriptionHtml||t.description||"",f=wg(i)!==wg(c);if(f)yield*e.api.updateCardDescription(t.number,i);let l=t.steps||[],d=new Map;for(let T of l)d.set(Mt(T.content),T);let p=l.length>0?[]:m0(r,o),g=0,S=0,x=0;for(let T of l){let v=Mt(T.content),se=Boolean(T.id)&&v!==T.content,te=Boolean(T.id)&&Boolean(t.closed)&&!T.completed;if(!T.id||!se&&!te)continue;if(yield*e.api.updateStep(t.number,T.id,{...se?{content:v}:{},...te?{completed:!0}:{}}),se)S+=1;if(te)x+=1}for(let T of p){let v=Mt(T.content);if(!v||d.has(v))continue;yield*e.api.createStep(t.number,v,Boolean(t.closed)||T.completed),g+=1,d.set(v,{content:v,completed:Boolean(t.closed)||T.completed})}return{number:t.number,descriptionUpdated:f,stepsCreated:g,stepsUpdated:S,stepsCompleted:x}}),Kg=(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((f)=>({_tag:"success",identity:f})),a.catch(()=>a.succeed({_tag:"failure"}))),n=yield*e.api.listCards({all:!0}).pipe(a.catch(()=>a.succeed([]))),o=Qg(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(!o0(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})}console.error("flow config missing; initializing...");let s=yield*e.api.listColumns(),i=yield*Cg(s,"TODO",()=>e.api.createColumn("TODO")),c=yield*Cg(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})}),o0=(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},Cg=(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}),Qg=(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},Gg=(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}`})},s0=(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}`})},Yg=(e,t,r)=>a.gen(function*(){if(r.length===0)return yield*new le({message:"At least one user is required"});let o={...(yield*ci(e,!1)).users},s=r.map((i)=>s0(o,i));return yield*a.forEach(s,(i)=>e.api.assignCard(t,i),{discard:!0}),yield*st(e),{number:t,userIds:s}}),Xg=(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 g=s.find((S)=>S.name.toLowerCase()===p.toLowerCase());if(!g){o.push(`Created missing column "${p}"`);let S=yield*e.api.createColumn(p);c.push({name:p,id:S.id,found:!0})}else c.push({name:p,id:g.id,found:!0})}let f=c[0].id,l=c[1].id,d=!1;if(r.flow?.columns.todo!==f||r.flow?.columns.inProgress!==l)o.push("Updated column IDs in config"),yield*e.configRepo.setupProjectConfig({account:r.account,board:r.board,todoColumn:f,inProgressColumn:l,users:r.flow?.users,apiUrl:r.apiUrl,configPath:r.configPath}),d=!0;return{columns:c,configUpdated:d,info:n,fixes:o}}),i0=(e,t)=>Object.entries(e.users).find(([,r])=>r===t)?.[0],fu=(e)=>g0(e).concat(x0(e)).filter((t,r,n)=>n.findIndex((o)=>o.content===t.content)===r),Mt=(e)=>ex(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()),si=(e)=>e.replace(/<img\b[^>]*\balt=(?:"([^"]*)"|'([^']*)')/gi,(t,r,n)=>r??n??"").replace(/<img\b[^>]*>/gi,"").replace(/<input[^>]*>/gi," ").replace(/<[^>]*>/g,""),c0=(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:fu(n.join(`
|
|
34
|
+
`))}},Zg=(e)=>ex(e.replace(/<h[1-6][^>]*>([\s\S]*?)<\/h[1-6]>/gi,(t,r)=>`
|
|
35
|
+
## ${si(r).trim()}
|
|
37
36
|
`).replace(/<li[^>]*>([\s\S]*?)<\/li>/gi,(t,r)=>`
|
|
38
|
-
- ${
|
|
39
|
-
${
|
|
37
|
+
- ${si(r).trim()}`).replace(/<p[^>]*>([\s\S]*?)<\/p>/gi,(t,r)=>`
|
|
38
|
+
${si(r).trim()}
|
|
40
39
|
`).replace(/<br\s*\/?>/gi,`
|
|
41
40
|
`).replace(/<[^>]*>/g,"").replace(/\n{3,}/g,`
|
|
42
41
|
|
|
43
|
-
`).trim()),
|
|
44
|
-
`).trim();if(o)return o}return""},
|
|
45
|
-
`).trim()},
|
|
46
|
-
`)},
|
|
47
|
-
`)},
|
|
48
|
-
`)},
|
|
49
|
-
`)},
|
|
50
|
-
`)};var
|
|
51
|
-
`)}),yield*e})}
|
|
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=u0(s[1]),t[r]||=[];continue}t[r]||=[],t[r].push(o)}return t},u0=(e)=>Mt(e).toLowerCase().replace(/[\uFF1A:]+$/,"").trim(),pn=(e,t)=>{for(let r of t){let n=e[r];if(!n)continue;let o=f0(n).join(`
|
|
43
|
+
`).trim();if(o)return o}return""},f0=(e)=>e.map((t)=>t.trim()).filter((t)=>t.length>0).map((t)=>t.replace(/^[-*]\s+/,"- ")),l0=(e,t,r)=>{let n=e==="en"?{goal:"Goal",files:"Files",verification:"Verification",notes:"Notes"}:{goal:"\u76EE\u6807",files:"\u6587\u4EF6",verification:"\u9A8C\u8BC1",notes:"\u5907\u6CE8"},o=pn(r,["goal","\u76EE\u6807"])||t.title,s=pn(r,["files","\u6587\u4EF6"]),i=p0(pn(r,["verification","\u9A8C\u8BC1"]).split(/\r?\n/).concat(d0(pn(r,["done when","\u5B8C\u6210\u6761\u4EF6"])))),c=pn(r,["notes","\u5907\u6CE8"]),f=[`## ${n.goal}`,"",o.trim()];if(s)f.push("",`## ${n.files}`,"",s);if(i.length>0)f.push("",`## ${n.verification}`,"",...i);if(c)f.push("",`## ${n.notes}`,"",c);return f.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},d0=(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}`),m0=(e,t)=>{let r=pn(t,["done when","\u5B8C\u6210\u6761\u4EF6"]),n=fu(e).concat(h0(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})},h0=(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"}]}),wg=(e)=>Zg(e).replace(/\s+/g," ").trim(),g0=(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"}]}),x0=(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(si(o));if(!i)continue;r.push({content:i,completed:s})}return r},kg={apos:"'",amp:"&",copy:"\xA9",gt:">",lt:"<",ldquo:"\u201C",rdquo:"\u201D",reg:"\xAE",quot:'"',nbsp:" ",trade:"\u2122",hellip:"\u2026",ndash:"\u2013",mdash:"\u2014"},ex=(e)=>e.replace(/&([a-zA-Z]+);/g,(t,r)=>{if(!r)return t;return(r in kg?kg[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)}),y0=/(<[^>]+>|`|^#{1,6}\s+.+|\*\*[^*]+\*\*|\[[^\]]+\]\([^)]+\)|!\[[^\]]*\]\([^)]+\)|~~[^~]+~~|\b_[^_]+_\b|^\s{0,3}[-+*]\s+\[[ xX]\]|^\s{0,3}\d+\.\s+|^\s{0,3}>\s+|^```)/m,lu=(e)=>y0.test(e)?Bun.markdown.html(e):e,vg=(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 E0=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`,"g");var b0=()=>{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)},S0=(e)=>e.replace(E0,""),pu=(e)=>Math.max(0,Bun.stringWidth(S0(e))),C0=(e,t)=>{if(!b0())return e;let r=Bun.color(t,"ansi");if(!r)return e;return`${r}${e}\x1B[0m`},du=(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((d)=>t.map((p)=>p.value(d))),i=t.map((d)=>d.header),c=t.map((d,p)=>{let g=pu(i[p]||""),S=s.reduce((x,T)=>Math.max(x,pu(T[p]||"")),0);return Math.max(g,S)}),f=(d,p,g="left")=>{let S=Math.max(0,p-pu(d));return g==="right"?" ".repeat(S)+d:`${d}${" ".repeat(S)}`},l=[];if(o){let d=t.map((p,g)=>f(r.formatHeader?r.formatHeader(p.header):p.header,c[g]??0,"left")).join(n);l.push(d)}for(let[d,p]of s.entries()){let g=e[d],S=p.map((x)=>r.formatValue?r.formatValue(x,g):x).map((x,T)=>f(x,c[T]??0,t[T]?.align)).join(n);l.push(S)}return l.join(`
|
|
45
|
+
`)},w0=(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
|
+
`)},ai=(e)=>{if(e.length===0)return"(none)";return du(e,[{header:"column",value:ox,align:"left"},{header:"id",value:(r)=>C0(`#${r.number}`,"cyan")},{header:"assignees",value:sx},{header:"title",value:(r)=>r.title}],{gap:2})},tx=(e,t)=>{let r=e.steps??[],n=[`# #${e.number} ${e.title}`,"",w0([["column",ox(e)],["assignees",sx(e)],["closed",`${Boolean(e.closed)}`]]),"","## Description",...v0(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(`- ${k0(o.created_at)} ${s}: ${i}`)}}return n.join(`
|
|
47
|
+
`)},rx=(e)=>{if(e.length===0)return"no new steps";return e.map((t)=>` + ${t.completed?"[x]":"[ ]"} ${t.content}`).join(`
|
|
48
|
+
`)},nx=(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 f of i){if(f==="")continue;if(!c.children[f])c.children[f]={children:{}};c=c.children[f]}c.size=s.size}let n=[],o=(s,i,c)=>{for(let f=0;f<c.length;f++){let l=c[f],d=s.children[l];if(!d)continue;let p=Object.keys(d.children),g=f===c.length-1,S=i+(g?" ":"\u2502 "),x=d.size!==void 0?` ${t(d.size)}`:"";if(n.push(`${i}${g?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 "}${l}${p.length>0?"/":""}${x}`),p.length>0)o(d,S,p)}};return o(r,"",Object.keys(r.children)),n},ox=(e)=>e.column?.name||"TRIAGE",sx=(e)=>{let t=(e.assignees||[]).map((r)=>r.name).filter(Boolean);return t.length===0?"-":t.join(", ")},k0=(e)=>e?e.replace(/T.*/,""):"?",v0=(e)=>{let t=e.trim();if(!t)return["(no description)"];return t.split(`
|
|
49
|
+
`)};var ix=["\u25D0","\u25D3","\u25D1","\u25D2"],O0=80,R0="\r\x1B[2K",mu=(e)=>e?.stderr??process.stderr,A0=(e)=>e?.env??process.env,T0=(e)=>{if(!mu(e).isTTY)return!1;let r=A0(e);if(r.CI||r.NO_COLOR||r.FIZZYX_NO_SPINNER==="1")return!1;return!0},I0=(e)=>{e.write(R0)},P0=(e,t)=>{let r=mu(t),n=t.intervalMs??O0;return a.sync(()=>{let o=0,s=()=>{let c=ix[o++%ix.length];r.write(`\r${e} ${c}`)};s();let i=setInterval(s,n);return{stop(){clearInterval(i),I0(r)}}})},_0=(e,t,r)=>{let n=mu(r);return a.gen(function*(){return yield*a.sync(()=>{n.write(`${t}
|
|
50
|
+
`)}),yield*e})},$=(e,t,r)=>{if(!T0(r)){if(r?.showStatusLine)return _0(t,e,r);return t}return a.gen(function*(){let n=yield*P0(e,r??{});return yield*t.pipe(a.onExit(()=>a.sync(()=>{n.stop()})))})};var mx=(e)=>a.gen(function*(){let[t="help",...r]=e;switch(t){case"help":case"--help":case"-h":console.log(hx());return;case"setup":{if(j(r)){console.log(q0());return}let n=D0(r);if(n.list){let s=yield*$("Loading Fizzy boards...",_g());if(s.length===0){console.log("(no boards)");return}console.log(du(s,[{header:"id",value:(i)=>i.id},{header:"name",value:(i)=>i.name}]));return}let o=yield*$("Initializing Fizzy workflow...",Pg(n));console.log(`created ${o.configPath}`);return}case"auth":yield*U0(r);return;case"flow":yield*N0(r);return;case"oss":yield*z0(r);return;default:throw Error(M0(t))}}),F0={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"},M0=(e)=>{let t=F0[e];if(t)return`unknown command: ${e}. Did you mean: fizzyx flow ${t}?`;return`unknown command: ${e}
|
|
52
51
|
|
|
53
|
-
${
|
|
54
|
-
# not_now (${n.cache.notNow.length})`),console.log(
|
|
55
|
-
`));return}case"std":case"standardize-card":{if(
|
|
56
|
-
`)),console.log(`total=${n.total} descriptions=${n.descriptionUpdated} steps_created=${n.stepsCreated} steps_updated=${n.stepsUpdated} steps_completed=${n.stepsCompleted}`);return}case"add":{if(
|
|
52
|
+
${hx()}`},N0=(e)=>a.gen(function*(){let[t="help",...r]=e;if(Co(t)){console.log(gu());return}switch(t){case"sync":{if(j(r)){console.log(W0());return}let n=yield*$("Syncing Fizzy board...",a.gen(function*(){let o=yield*pe;return yield*st(o)}));console.error(`synced cards=${n.cards.length} not_now=${n.notNow.length}`);return}case"mine":{if(j(r)){console.log(V0());return}let n=r.includes("--fresh"),o=L0(r),s=yield*$("Loading my tasks...",a.gen(function*(){let i=yield*pe;return yield*au(i,{fresh:n,user:o})}));console.log(`# ${s.name}: ${s.userId}`),console.log(ai(s.cards));return}case"status":{if(j(r)){console.log(J0());return}let n=yield*$("Loading board status...",a.gen(function*(){let o=yield*pe;return yield*Ug(o,{fresh:r.includes("--fresh")})}));if(console.log(`# board cache age: ${n.age}s`),console.log(""),console.log(ai(n.cache.cards.filter((o)=>["INPROGRESS","TODO"].includes(o.column?.name||"")))),n.cache.notNow.length>0)console.log(`
|
|
53
|
+
# not_now (${n.cache.notNow.length})`),console.log(ai(n.cache.notNow));return}case"next":{if(j(r)){console.log(K0());return}let n=yield*$("Loading next task...",a.gen(function*(){let o=yield*pe;return yield*Dg(o,{fresh:r.includes("--fresh")})}));if(!n.card){console.log(`no TODO card for ${n.user.name}`);return}console.log(`#${n.card.number} ${n.card.title}`),console.log(`next: fizzyx flow start ${n.card.number}`);return}case"show":{if(j(r)){console.log(Q0());return}let n=Nt(r[0]),o=yield*$("Loading card details...",a.gen(function*(){let s=yield*pe;return yield*zg(s,n)}));console.log(tx(o.card,o.comments));return}case"start":{if(j(r)){console.log(G0());return}let n=Nt(r[0]);yield*$("Starting card...",a.gen(function*(){let o=yield*pe;return yield*Lg(o,n)})),console.log(`started #${n}`);return}case"done":{if(j(r)){console.log(Y0());return}let n=Nt(r[0]),o=r.slice(1).filter((c)=>!Co(c)).join(" "),s=o?o:yield*jg(),i=yield*$("Closing card...",a.gen(function*(){let c=yield*pe;return yield*$g(c,n,s)}));console.log(`closed #${i.number} (${i.ref})`);return}case"block":{if(j(r)){console.log(X0());return}let n=Nt(r[0]),o=r.slice(1).join(" "),s=yield*$("Marking card blocked...",a.gen(function*(){let i=yield*pe;return yield*Hg(i,n,o)}));console.log(`blocked #${s.number}: ${s.reason}`);return}case"assign":{if(j(r)){console.log(lx());return}let n=Nt(r[0]),o=r.slice(1).filter((i)=>!i.startsWith("--"));if(o.length===0)throw Error(lx());let s=yield*$("Assigning card...",a.gen(function*(){let i=yield*pe;return yield*Yg(i,n,o)}));console.log(`assigned #${s.number} to ${s.userIds.join(", ")}`);return}case"comment-template":{if(j(r)){console.log(ux());return}let[n]=r;if(!j0(n))throw Error(ux());let o=yield*$("Reading flow config...",hu());console.log(Tg(o,n));return}case"workflow":{if(j(r)){console.log(ev());return}let n=yield*$("Reading flow config...",hu());console.log(H0(n));return}case"skill":{if(j(r)){console.log(tv());return}console.log(B0());return}case"repair-markdown":{if(j(r)){console.log(Z0());return}let n=Nt(r[0]),o=yield*$("Repairing card description...",a.gen(function*(){let s=yield*pe;return yield*qg(s,n)}));console.log(`repaired #${o}`);return}case"complete-steps":{if(j(r)){console.log(rv());return}let n=Nt(r[0]),o=yield*$("Completing pending steps...",a.gen(function*(){let i=yield*pe;return yield*Wg(i,n)})),s=o.updatedCount===1?"":"s";if(console.log(`completed ${o.updatedCount} step${s} for #${o.number}`),o.contents.length>0)console.log(o.contents.map((i)=>`- ${i}`).join(`
|
|
54
|
+
`));return}case"std":case"standardize-card":{if(j(r)){console.log(nv());return}let n=Nt(r[0]),o=yield*$("Standardizing card...",a.gen(function*(){let s=yield*pe;return yield*uu(s,n)}));console.log(cx(o));return}case"std-all":case"standardize-board":{if(j(r)){console.log(ov());return}let n=yield*$("Standardizing board...",a.gen(function*(){let o=yield*pe;return yield*Jg(o)}));console.log(n.results.map(cx).join(`
|
|
55
|
+
`)),console.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)){console.log(fx());return}let n=r[0],o=r[1],s=Ir(r,"--desc");if(!n||!o||!s)throw Error(fx());let i=yield*$("Creating card...",a.gen(function*(){let c=yield*$0(s),f=yield*pe;return yield*Bg(f,{user:n,title:o,description:c})}));console.log(i);return}case"steps-from-desc":{if(j(r)){console.log(iv());return}let n=Nt(r[0]),o=yield*$("Syncing Done When steps...",a.gen(function*(){let s=yield*pe;return yield*Vg(s,n)}));console.log(rx(o));return}case"template":{if(j(r)){console.log(sv());return}let n=yield*$("Reading flow config...",hu());console.log(fv(n));return}case"doctor":{if(j(r)){console.log(av());return}let n=yield*$("Checking flow health...",a.gen(function*(){let s=yield*pe;return yield*Xg(s)})),o=[];o.push("=== Board Health ===");for(let s of n.columns){let i=s.found?"\u2713":"\u2717";o.push(` ${i} ${s.name}${s.id?` (${s.id})`:""}`)}if(n.info.length>0){o.push("");for(let s of n.info)o.push(` i ${s}`)}if(n.fixes.length>0){o.push(`
|
|
56
|
+
Fixes:`);for(let s of n.fixes)o.push(` \u2022 ${s}`)}else o.push(`
|
|
57
|
+
All good!`);yield*L.log(o.join(`
|
|
58
|
+
`));return}case"init":{if(j(r)){console.log(cv());return}let n=yield*$("Initializing workflow config...",pe);console.log(`flow configured: todo=${n.config.flow.columns.todo} in_progress=${n.config.flow.columns.inProgress}`);return}case"help":case"--help":case"-h":console.log(gu());return;default:throw Error(`unknown flow command: ${t}
|
|
57
59
|
|
|
58
|
-
${
|
|
60
|
+
${gu()}`)}}),U0=(e)=>a.gen(function*(){let[t="help",...r]=e;if(Co(t)){console.log(ax());return}switch(t){case"login":{if(j(r)||!r[0])throw Error(dv());let n=yield*$("Saving credentials...",Fg(r[0]));console.log(`token saved for ${n}`);return}case"status":{if(j(r)){console.log(mv());return}let n=yield*$("Checking auth status...",Mg);if(console.log(`account: ${n.account}`),console.log(`board: ${n.board}`),console.log(`authenticated: ${n.authenticated}`),n.identity)console.log(`user: ${n.identity.name||""}`),console.log(`user_id: ${n.identity.userId}`),console.log(`email: ${n.identity.email||""}`);else if(n.identityError)console.log(`identity_error: ${n.identityError}`);return}case"logout":{if(j(r)){console.log(hv());return}let n=yield*$("Clearing credentials...",Ng);console.log(`token removed for ${n}`);return}default:throw Error(ax())}}),z0=(e)=>a.gen(function*(){let[t="help",...r]=e;if(Co(t)){yield*L.log(px());return}switch(t){case"ls":{if(j(r)){yield*L.log(gv());return}let n=ui(r,"dev"),o=Ir(r,"--prefix")??void 0,s=yield*$(`Listing ${n}...`,nh({env:n,prefix:o}));if(s.objects.length===0){yield*L.log(`${n}: no objects found`);return}let i=nx(s.objects);for(let c of i)yield*L.log(c);if(s.isTruncated)yield*L.log(" ... (truncated, more objects available)");yield*L.log(`${n}: ${s.objects.length} objects`);return}case"sync":{if(j(r)){yield*L.log(xv());return}let n=ui(r,"dev"),o=r.includes("--full"),s=r.includes("--verify"),i=!r.includes("--no-urls"),c=process.stderr,f=c.isTTY,l=["\u25D0","\u25D3","\u25D1","\u25D2"],d=0,p={checking:" ",uploading:"\u2191",skipping:"\u2192",error:"\u2717"},g=0,x=yield*th({env:n,full:o,verify:s,onProgress:(v)=>{if(g=v.total,!f)return;let se=p[v.action]??" ",te=l[d++%l.length],ye=Math.round(v.current/v.total*100),G=16,Ke=Math.round(v.current/v.total*G),Ie="\u2588".repeat(Ke)+"\u2591".repeat(Math.max(0,G-Ke)),de=` ${te} ${n} [${Ie}] ${ye}% ${se} ${v.file} `;c.write(`\r${de}`)}});if(f&&g>0)c.write("\r\x1B[2K");if(x.errors.length>0)for(let v of x.errors)yield*L.error(` error: ${v}`);let T=x.durationMs>=1000?`${(x.durationMs/1000).toFixed(1)}s`:`${x.durationMs}ms`;if(yield*L.log(` \u2713 ${n} synced \xB7 ${x.uploaded} uploaded \xB7 ${x.skipped} skipped \xB7 ${T}`),i){let v=x.endpoint.replace(/\/+$/,"");for(let se of x.allKeys)yield*L.log(` ${v}/${se}`)}return}case"status":{if(j(r)){yield*L.log(yv());return}let n=ui(r,"dev"),o=yield*$("Checking OSS status...",rh({env:n}));yield*L.log(`env: ${o.env}`),yield*L.log(`total local files: ${o.totalLocal}`),yield*L.log(`manifest entries: ${o.manifestEntries}`),yield*L.log(`pending uploads: ${o.pendingUploads}`),yield*L.log(`pending deletions: ${o.pendingDeletions}`),yield*L.log(`manifest: ${o.manifestPath}`);return}case"setup":{if(j(r)){yield*L.log(dx());return}let n=ui(r,"default"),o=Ir(r,"--endpoint"),s=Ir(r,"--region"),i=Ir(r,"--bucket"),c=Ir(r,"--local-dir"),f=Ir(r,"--remote-prefix");if(!o&&!s&&!i&&!c&&f===void 0){if(yield*$("Checking OSS config...",Xm()))yield*L.log("OSS scaffold written to .fizzy.yaml"),yield*L.log("Edit endpoint, region, local_dir, and optionally bucket/remote_prefix in the file"),yield*L.log("");yield*L.error(`Configuring keys for [${n}]:`);let T=yield*fi(" Access Key ID: "),v=yield*fi(" Secret Access Key: ");if(!T||!v){yield*L.log("Keys not provided \u2014 add them later with: fizzyx oss setup --env <name>");return}yield*$("Storing credentials...",Zm(n,T,v)),yield*L.log("Credentials stored in OS keychain (service: fizzyx-oss)");return}if(!o||!s||!c)throw Error(dx());yield*L.error(`Configuring OSS [${n}]:`);let l=yield*fi(" Access Key ID: "),d=yield*fi(" Secret Access Key: ");if(!l||!d)throw Error("Access Key ID and Secret Access Key are required");let p={env:n,config:{endpoint:o,region:s,...i?{bucket:i}:{},accessKeyId:l,secretAccessKey:d},sync:{localDir:c,remotePrefix:f??void 0}},S=(yield*$("Writing OSS config...",eh(p))).environments[n];if(!S)throw Error(`OSS environment "${n}" not found after setup`);yield*L.log(`OSS ${n} config written to ${S.endpoint}`),yield*L.log("Credentials stored in OS keychain (service: fizzyx-oss)");return}default:throw Error(`unknown oss command: ${t}
|
|
59
61
|
|
|
60
|
-
${
|
|
62
|
+
${px()}`)}}),ui=(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},D0=(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]}},Nt=(e)=>{let t=Number.parseInt((e||"").replace(/^#/,""),10);if(!Number.isFinite(t))throw Error("card number is required");return t},Ir=(e,t)=>{let r=e.indexOf(t);if(r<0||!e[r+1])return;return e[r+1]},L0=(e)=>e.find((t)=>!t.startsWith("--")),fi=(e)=>a.tryPromise({try:()=>new Promise((t)=>{let r=Zt("readline").createInterface({input:process.stdin,output:process.stderr});r.question(e,(n)=>{r.close(),t(n.trim())})}),catch:(t)=>Error(String(t))}),$0=(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)}`)}),cx=(e)=>`standardized #${e.number} description=${e.descriptionUpdated?"yes":"no"} steps_created=${e.stepsCreated} steps_updated=${e.stepsUpdated} steps_completed=${e.stepsCompleted}`,j0=(e)=>e==="done"||e==="blocked"||e==="unblocked"||e==="handoff"||e==="note",hu=()=>a.flatMap(Q,(e)=>e.loadProjectConfigOptional().pipe(a.catchDefect(()=>a.succeed(void 0)),a.catch(()=>a.succeed(void 0)),a.map((t)=>t?.flow?.card?.language||uv))),H0=(e)=>{if(e==="en")return`## Workflow
|
|
61
63
|
|
|
62
64
|
## Setup
|
|
63
65
|
- fizzyx setup <board-id>
|
|
@@ -73,7 +75,8 @@ ${yx()}`)}}),fi=(e,t)=>{if(e.includes("--prod"))return"prod";if(e.includes("--en
|
|
|
73
75
|
Cards move through columns: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
74
76
|
|
|
75
77
|
- \`fizzyx flow start <card>\` \u2014 moves card from TODO to IN PROGRESS, self-assigns
|
|
76
|
-
- \`fizzyx flow done <card
|
|
78
|
+
- \`fizzyx flow done <card>\` \u2014 moves to DONE, auto-detects git ref, comments, closes
|
|
79
|
+
- \`fizzyx flow done <card> "commit <sha>: <subject>"\` \u2014 with explicit ref
|
|
77
80
|
|
|
78
81
|
## Daily
|
|
79
82
|
- fizzyx flow mine --fresh
|
|
@@ -87,9 +90,10 @@ Cards move through columns: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
|
87
90
|
- Verify tests and acceptance criteria
|
|
88
91
|
|
|
89
92
|
## Complete
|
|
90
|
-
- fizzyx flow complete-steps <card>
|
|
91
|
-
- fizzyx flow done <card>
|
|
92
|
-
-
|
|
93
|
+
- fizzyx flow complete-steps <card> \u2014 mark all pending steps done (required before done)
|
|
94
|
+
- fizzyx flow done <card> \u2014 moves to DONE, writes comment, closes (ref auto-detected from git)
|
|
95
|
+
- fizzyx flow done <card> "message" \u2014 with explicit ref
|
|
96
|
+
- \`flow done\` REQUIRES all steps complete; otherwise it fails with an error listing unfinished steps.
|
|
93
97
|
|
|
94
98
|
## Block
|
|
95
99
|
- fizzyx flow block <card> "<reason>"
|
|
@@ -113,7 +117,8 @@ Cards move through columns: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
|
113
117
|
Cards: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
114
118
|
|
|
115
119
|
- \`fizzyx flow start <card>\` \u2014 TODO \u2192 IN PROGRESS, self-assign
|
|
116
|
-
- \`fizzyx flow done <card>\` \u2014 \u2192 DONE + close
|
|
120
|
+
- \`fizzyx flow done <card>\` \u2014 \u2192 DONE + close (git ref auto-detected)
|
|
121
|
+
- \`fizzyx flow done <card> "commit <sha>: <subject>"\` \u2014 explicit ref
|
|
117
122
|
|
|
118
123
|
## Daily / \u65E5\u5E38
|
|
119
124
|
- fizzyx flow mine --fresh
|
|
@@ -127,9 +132,10 @@ Cards: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
|
127
132
|
- \u9A8C\u6536\u6D4B\u8BD5\u4E0E\u81EA\u68C0
|
|
128
133
|
|
|
129
134
|
## Done / \u5B8C\u6210
|
|
130
|
-
- fizzyx flow complete-steps <card>
|
|
131
|
-
- fizzyx flow done <card>
|
|
132
|
-
-
|
|
135
|
+
- fizzyx flow complete-steps <card> \u2014 \u6807\u8BB0\u6240\u6709\u6B65\u9AA4\u5B8C\u6210\uFF08done \u524D\u5FC5\u987B\u5148\u6267\u884C\uFF09
|
|
136
|
+
- fizzyx flow done <card> \u2014 \u79FB\u5165 DONE \u5217\u3001\u5199\u5165\u8BC4\u8BBA\u3001\u5173\u95ED\uFF08\u81EA\u52A8\u83B7\u53D6 git ref\uFF09
|
|
137
|
+
- fizzyx flow done <card> "message" \u2014 \u6307\u5B9A ref
|
|
138
|
+
- \`flow done\` \u8981\u6C42\u6240\u6709\u6B65\u9AA4\u5DF2\u5B8C\u6210\uFF0C\u5426\u5219\u62A5\u9519\u5217\u51FA\u672A\u5B8C\u6210\u7684\u6B65\u9AA4\u3002
|
|
133
139
|
|
|
134
140
|
## Block / \u963B\u585E
|
|
135
141
|
- fizzyx flow block <card> "<reason>"
|
|
@@ -153,7 +159,8 @@ Cards: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
|
153
159
|
\u5361\u7247\u6D41\u8F6C: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
154
160
|
|
|
155
161
|
- \`fizzyx flow start <card>\` \u2014 TODO \u2192 IN PROGRESS, \u81EA\u6307\u6D3E
|
|
156
|
-
- \`fizzyx flow done <card>\` \u2014 \u2192 DONE + \u5173\u95ED
|
|
162
|
+
- \`fizzyx flow done <card>\` \u2014 \u2192 DONE + \u5173\u95ED\uFF08\u81EA\u52A8\u83B7\u53D6 git ref\uFF09
|
|
163
|
+
- \`fizzyx flow done <card> "commit <sha>: <subject>"\` \u2014 \u6307\u5B9A ref
|
|
157
164
|
|
|
158
165
|
## \u6BCF\u65E5
|
|
159
166
|
- fizzyx flow mine --fresh
|
|
@@ -167,9 +174,10 @@ Cards: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
|
167
174
|
- \u9A8C\u8BC1\u6D4B\u8BD5\u4E0E\u9A8C\u6536
|
|
168
175
|
|
|
169
176
|
## \u5B8C\u6210
|
|
170
|
-
- fizzyx flow complete-steps <card>
|
|
171
|
-
- fizzyx flow done <card>
|
|
172
|
-
-
|
|
177
|
+
- fizzyx flow complete-steps <card> \u2014 \u6807\u8BB0\u6240\u6709\u6B65\u9AA4\u5B8C\u6210\uFF08done \u524D\u5FC5\u987B\u5148\u6267\u884C\uFF09
|
|
178
|
+
- fizzyx flow done <card> \u2014 \u79FB\u5165 DONE \u5217\u3001\u5199\u5165\u8BC4\u8BBA\u3001\u5173\u95ED\u5361\u7247\uFF08\u81EA\u52A8\u83B7\u53D6 git ref\uFF09
|
|
179
|
+
- fizzyx flow done <card> "message" \u2014 \u6307\u5B9A ref
|
|
180
|
+
- \`flow done\` \u8981\u6C42\u6240\u6709\u6B65\u9AA4\u5DF2\u5B8C\u6210\uFF0C\u5426\u5219\u62A5\u9519\u5217\u51FA\u672A\u5B8C\u6210\u7684\u6B65\u9AA4\u3002
|
|
173
181
|
|
|
174
182
|
## \u963B\u585E
|
|
175
183
|
- fizzyx flow block <card> "<reason>"
|
|
@@ -177,7 +185,7 @@ Cards: TODO \u2192 IN PROGRESS \u2192 DONE
|
|
|
177
185
|
|
|
178
186
|
## \u5361\u7247\u7ED3\u6784
|
|
179
187
|
- description \u4E3A\u4E0A\u4E0B\u6587
|
|
180
|
-
- steps \u4F1A\u53D8\u6210 Fizzy checklist`},
|
|
188
|
+
- steps \u4F1A\u53D8\u6210 Fizzy checklist`},B0=()=>`---
|
|
181
189
|
name: fizzyx
|
|
182
190
|
description: Manage this repository's board through fizzyx flow commands.
|
|
183
191
|
triggers:
|
|
@@ -283,8 +291,13 @@ fizzyx flow std-all
|
|
|
283
291
|
|
|
284
292
|
- Do not create cards for typo fixes or tiny chore commits.
|
|
285
293
|
- Do not maintain a parallel progress document; board is execution state.
|
|
286
|
-
-
|
|
287
|
-
-
|
|
294
|
+
- **Always close cards through the CLI**, never by clicking close in the UI.
|
|
295
|
+
- Close sequence:
|
|
296
|
+
1. \`fizzyx flow complete-steps <card>\` \u2014 mark all pending steps done
|
|
297
|
+
2. \`fizzyx flow done <card>\` \u2014 move to DONE, comment, close (ref auto-detected from git)
|
|
298
|
+
3. \`fizzyx flow done <card> "message"\` \u2014 with explicit ref (optional)
|
|
299
|
+
- \`flow done\` requires all steps to be complete; it will fail with an error if any step is unfinished.
|
|
300
|
+
- Keep comments concise; use \`fizzyx flow comment-template <kind>\` for format.`,Co=(e)=>e==="help"||e==="--help"||e==="-h",j=(e)=>e.some(Co),hx=()=>`fizzyx <command>
|
|
288
301
|
|
|
289
302
|
commands:
|
|
290
303
|
setup
|
|
@@ -294,17 +307,17 @@ commands:
|
|
|
294
307
|
|
|
295
308
|
Use:
|
|
296
309
|
fizzyx <command> -h
|
|
297
|
-
for command help.`,
|
|
310
|
+
for command help.`,q0=()=>`fizzyx setup <command>
|
|
298
311
|
|
|
299
312
|
commands:
|
|
300
313
|
setup <board-id>
|
|
301
|
-
setup --list`,
|
|
314
|
+
setup --list`,ax=()=>`fizzyx auth <command>
|
|
302
315
|
|
|
303
316
|
commands:
|
|
304
317
|
auth login <token>
|
|
305
318
|
auth status
|
|
306
319
|
auth logout
|
|
307
|
-
auth help`,
|
|
320
|
+
auth help`,gu=()=>`fizzyx flow <command>
|
|
308
321
|
|
|
309
322
|
commands:
|
|
310
323
|
sync
|
|
@@ -327,7 +340,8 @@ commands:
|
|
|
327
340
|
template
|
|
328
341
|
steps-from-desc <card>
|
|
329
342
|
init
|
|
330
|
-
|
|
343
|
+
doctor
|
|
344
|
+
flow help`,W0=()=>"fizzyx flow sync",V0=()=>"fizzyx flow mine [--fresh] [user]",J0=()=>"fizzyx flow status [--fresh]",K0=()=>"fizzyx flow next [--fresh]",Q0=()=>"fizzyx flow show <card>",G0=()=>"fizzyx flow start <card>",Y0=()=>"fizzyx flow done <card> [ref]",X0=()=>"fizzyx flow block <card> <reason>",Z0=()=>"fizzyx flow repair-markdown <card>",ux=()=>"fizzyx flow comment-template <kind>",ev=()=>"fizzyx flow workflow",tv=()=>"fizzyx flow skill",rv=()=>"fizzyx flow complete-steps <card>",nv=()=>"fizzyx flow std <card> (alias: standardize-card)",ov=()=>"fizzyx flow std-all (alias: standardize-board)",fx=()=>"fizzyx flow add <user> <title> --desc <file|->",lx=()=>"fizzyx flow assign <card> <user> [user...]",sv=()=>"fizzyx flow template",iv=()=>"fizzyx flow steps-from-desc <card>",cv=()=>"fizzyx flow init",av=()=>"fizzyx flow doctor",uv=lo,fv=(e)=>{let t=pv(e),r=lv(e);return`## ${t.goal}
|
|
331
345
|
${r.goal}
|
|
332
346
|
|
|
333
347
|
## ${t.scope}
|
|
@@ -352,17 +366,19 @@ ${r.goal}
|
|
|
352
366
|
- [ ] ${r.stepGoal}
|
|
353
367
|
- [ ] ${r.stepImplementation}
|
|
354
368
|
- [ ] ${r.stepPlain}
|
|
355
|
-
- [ ] ${r.stepClose}`},
|
|
369
|
+
- [ ] ${r.stepClose}`},lv=(e)=>{if(e==="en")return{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"};if(e==="mixed")return{goal:"\u7528 1-2 \u53E5\u8BF4\u660E\u76EE\u6807\uFF1B\u4EE3\u7801/API \u540D\u79F0\u53EF\u4FDD\u7559\u82F1\u6587\u3002",include:"In scope / \u672C\u5361\u5305\u542B\u7684\u5DE5\u4F5C",exclude:"Out of scope / \u672C\u5361\u4E0D\u5305\u542B\u7684\u5DE5\u4F5C",noteSmall:"Keep changes small / \u4FDD\u6301\u53D8\u66F4\u5C0F\u4E14\u786E\u5B9A",notePattern:"Prefer existing patterns / \u4F18\u5148\u6CBF\u7528\u73B0\u6709\u6A21\u5F0F",files:"Files to touch / \u76F8\u5173\u6587\u4EF6\u8DEF\u5F84",verification:"Checks to run / \u9700\u8981\u6267\u884C\u7684\u9A8C\u8BC1",stepGoal:"Finalize goal and scope / \u786E\u8BA4\u76EE\u6807\u4E0E\u8303\u56F4",stepImplementation:"Implement required changes / \u5B8C\u6210\u5B9E\u73B0",stepPlain:"Keep step labels plain text / step \u6587\u672C\u4E0D\u5199 Markdown",stepClose:"Run checks and run `fizzyx flow done <number>` to close / \u901A\u8FC7\u68C0\u67E5\u540E\u7528 fizzyx flow done \u5173\u5361"};return{goal:"\u7528 1-2 \u53E5\u8BF4\u660E\u8FD9\u5F20\u5361\u8981\u5B8C\u6210\u4EC0\u4E48\u3001\u4E3A\u4EC0\u4E48\u3002",include:"\u672C\u5361\u5305\u542B\u7684\u5DE5\u4F5C",exclude:"\u672C\u5361\u4E0D\u5305\u542B\u7684\u5DE5\u4F5C",noteSmall:"\u4FDD\u6301\u53D8\u66F4\u5C0F\u4E14\u786E\u5B9A",notePattern:"\u4F18\u5148\u6CBF\u7528\u73B0\u6709\u6A21\u5F0F",files:"\u76F8\u5173\u6587\u4EF6\u8DEF\u5F84",verification:"\u4EA4\u4ED8\u524D\u9700\u8981\u6267\u884C\u7684\u68C0\u67E5\u6216\u9A8C\u6536",stepGoal:"\u786E\u8BA4\u76EE\u6807\u4E0E\u8303\u56F4",stepImplementation:"\u5B8C\u6210\u5B9E\u73B0\u6587\u4EF6\u53D8\u66F4",stepPlain:"\u4FDD\u6301 step \u6587\u672C\u4E3A\u7EAF\u6587\u672C",stepClose:"\u8FD0\u884C `fizzyx flow done <number>` \u5173\u95ED\u5361\u7247"}},pv=(e)=>{if(e==="en")return{scope:"Scope",goal:"Goal",include:"In",exclude:"Out",files:"Files",verification:"Verification",notes:"Notes"};if(e==="mixed")return{scope:"Scope / \u8303\u56F4",goal:"Goal / \u76EE\u6807",include:"In / \u5305\u542B",exclude:"Out / \u4E0D\u5305\u542B",files:"Files / \u6587\u4EF6",verification:"Verification / \u9A8C\u8BC1",notes:"Notes / \u5907\u6CE8"};return{scope:"\u8303\u56F4",goal:"\u76EE\u6807",include:"\u5305\u542B",exclude:"\u4E0D\u5305\u542B",files:"\u6587\u4EF6",verification:"\u9A8C\u8BC1",notes:"\u5907\u6CE8"}},dv=()=>"fizzyx auth login <token>",mv=()=>"fizzyx auth status",hv=()=>"fizzyx auth logout",px=()=>`fizzyx oss <command>
|
|
356
370
|
|
|
357
371
|
commands:
|
|
358
372
|
ls [--env <name>] [--prefix <prefix>]
|
|
359
|
-
sync [--env <name>] [--full] [--no-urls]
|
|
373
|
+
sync [--env <name>] [--full] [--no-urls] [--verify]
|
|
360
374
|
status [--env <name>]
|
|
361
375
|
setup [--env <name> --endpoint <url> --region <region>
|
|
362
|
-
--local-dir <path>] [--bucket <name>] [--remote-prefix <prefix>]`,
|
|
363
|
-
List objects in the remote bucket`,
|
|
376
|
+
--local-dir <path>] [--bucket <name>] [--remote-prefix <prefix>]`,gv=()=>`fizzyx oss ls [--env <name>] [--prefix <prefix>]
|
|
377
|
+
List objects in the remote bucket`,xv=()=>`fizzyx oss sync [--env <name>] [--full] [--no-urls] [--verify]
|
|
364
378
|
--full: ignore manifest, force full upload
|
|
365
|
-
--no-urls: suppress file URL output
|
|
379
|
+
--no-urls: suppress file URL output
|
|
380
|
+
--verify: check remote existence before skipping files`,yv=()=>"fizzyx oss status [--env <name>]",dx=()=>`fizzyx oss setup --env <name> --endpoint <url> --region <region> --local-dir <path> [--bucket <name>] [--remote-prefix <prefix>]
|
|
366
381
|
With no flags: init blank OSS scaffold in .fizzy.yaml, then prompt for keys
|
|
367
382
|
--bucket and --remote-prefix are optional; omit if endpoint already contains bucket name
|
|
368
|
-
Keys are prompted interactively (not from args) to avoid shell history
|
|
383
|
+
Keys are prompted interactively (not from args) to avoid shell history.`;import{existsSync as bu}from"fs";import{dirname as wo}from"path";var li=".fizzy.yaml",Ev=".config/fizzy/config.yaml",Sx="1",Cx="https://fizzy.puffin.studio",wx=5,kx=900,bv=()=>({loadProjectConfig:()=>a.gen(function*(){let e=yield*xx(),t=yield*ko(e),r=wo(e);return xu(t,e,r)}),loadProjectConfigOptional:()=>a.gen(function*(){let e=yield*xx(),t=yield*ko(e);return xu(t,e,wo(e))}).pipe(a.catch((e)=>Ar(e,"ConfigError")?a.succeed(void 0):a.fail(e))),setupProjectConfig:(e)=>a.gen(function*(){let t=e.configPath||`${process.cwd()}/${li}`,r=yield*yx(t),n=vv(e,r);return yield*Eu(t,n,384),xu(n,t,wo(t))}),setupOssConfig:(e)=>a.gen(function*(){let t=e.configPath||`${process.cwd()}/${li}`,r=yield*yx(t),n=Av(e,r);yield*Eu(t,n,384);let o=Rx(pi(n).oss);if(!o)return yield*new z({message:"Failed to parse OSS config after writing",path:t});return o}),loadCredentials:(e)=>a.gen(function*(){let t=yield*yu(e),r=new z({message:`No token in ${t}`,path:t});if(bu(t)){let o=yield*Cv(t).pipe(a.match({onFailure:(s)=>s,onSuccess:(s)=>s}));if(!Ar(o,"FileError"))return o;if(!_v(o,t))return yield*a.fail(o)}let n=yield*Ex(e).pipe(a.catch(()=>a.fail(r)));return yield*gx(e,n),n}),migrateCredentialsFromOfficial:Ex,saveCredentials:(e,t)=>gx(e,t),deleteCredentials:(e)=>a.gen(function*(){let t=yield*yu(e);yield*a.tryPromise({try:()=>Bun.file(t).delete(),catch:(r)=>new z({message:`Failed to delete credentials: ${String(r)}`,path:t})})})}),vx=je.sync(Q,()=>bv()),gx=(e,t)=>a.gen(function*(){let r=yield*yu(e);yield*wv(wo(r)),yield*Eu(r,`${JSON.stringify(t,null,2)}
|
|
384
|
+
`,384)}),xx=()=>a.sync(()=>{let e=process.cwd();while(!0){let t=`${e}/${li}`;if(bu(t))return t;let r=wo(e);if(r===e)break;e=r}throw new po({message:`No ${li} found from ${process.cwd()}`})}).pipe(a.catch((e)=>Ar(e,"ConfigError")?a.fail(e):a.fail(new po({message:String(e)})))),yu=(e)=>a.sync(()=>{let t=process.env.HOME;if(!t)throw new z({message:"HOME is not set"});return`${t}/.config/fizzyx/credentials/${Fv(e)}.json`}).pipe(a.catch((t)=>Ar(t,"FileError")?a.fail(t):a.fail(new z({message:String(t)})))),Sv=()=>a.sync(()=>{let e=process.env.HOME;if(!e)throw new z({message:"HOME is not set"});return`${e}/${Ev}`}).pipe(a.catch((e)=>Ar(e,"FileError")?a.fail(e):a.fail(new z({message:String(e)})))),ko=(e)=>a.tryPromise({try:()=>Bun.file(e).text(),catch:(t)=>new z({message:`Failed to read ${e}: ${String(t)}`,path:e})}),yx=(e)=>bu(e)?ko(e):a.succeed(""),Cv=(e)=>ko(e).pipe(a.map((t)=>{if(t.trim()==="")throw new z({message:`No token in ${e}`,path:e});let r=Tv(t,e),n=typeof r.token==="string"?r.token:"";if(n==="")throw new z({message:`No token in ${e}`,path:e});return{token:n}})),Ex=(e)=>a.gen(function*(){let t=yield*Sv(),r=yield*ko(t),n=Iv(r,t);if(bx(n.account)!==e)return yield*new z({message:`No matching official credential for account ${e}`,path:t});let s=bx(n.token);if(s==="")return yield*new z({message:`No token in ${t}`,path:t});return{token:s}}),Eu=(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 z({message:`Failed to write ${e}: ${String(n)}`,path:e})}),wv=(e)=>a.tryPromise({try:async()=>{await import("fs/promises").then((t)=>t.mkdir(e,{recursive:!0,mode:448}))},catch:(t)=>new z({message:`Failed to create ${e}: ${String(t)}`,path:e})}),xu=(e,t,r)=>{let n=pi(e),o=xe(n.account)||Sx,s=xe(n.api_url)||Cx,i=xe(n.board)||void 0,c=kv(n.flow),f=Rx(n.oss);if(!i)return{apiUrl:s,account:o,board:void 0,flow:c,oss:f,configPath:t,rootDir:r};return{apiUrl:s,account:o,board:i,flow:c,oss:f,configPath:t,rootDir:r}},kv=(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 f=xe(c);if(f)s[i]=f}return{columns:{todo:n,inProgress:o},users:s,card:{language:Ox(t.card)||lo},wipLimit:vo(t.wip_limit)||wx,cacheTtlSeconds:vo(t.cache_ttl)||kx}},vv=(e,t="")=>{let r=pi(t),n=xt(r.flow),o=Ox(n.card)||lo,s={columns:{todo:e.todoColumn||xe(xt(n.columns).todo)||"",in_progress:e.inProgressColumn||xe(xt(n.columns).in_progress)||""},users:Pv(e.users||{}),card:{language:o},wip_limit:vo(n.wip_limit)||wx,cache_ttl:vo(n.cache_ttl)||kx},i={};i.api_url=e.apiUrl||Cx,i.account=e.account||Sx,i.board=e.board||"";for(let c of Object.keys(r))if(c!=="api_url"&&c!=="account"&&c!=="board"&&c!=="flow")i[c]=r[c];return i.flow=s,Bun.YAML.stringify(i,null,2)},Ox=(e)=>{if(typeof e==="object"&&e!==null){let t=e.language;if(t==="en"||t==="mixed"||t==="zh-CN")return t}return},Rx=(e)=>{let t=xt(e);if(!t)return;let r=Rv(t.sync);if(!r)return;let n={};for(let o of Object.keys(t)){if(o==="sync")continue;let s=Ov(t[o]);if(s)n[o]=s}if(Object.keys(n).length===0)return;return{environments:n,sync:r}},Ov=(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},Rv=(e)=>{let t=xt(e),r=xe(t.local_dir),n=xe(t.remote_prefix);if(!r)return;return{localDir:r,remotePrefix:n??"",concurrency:vo(t.concurrency)||10}},Av=(e,t)=>{let r=pi(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,f]of Object.entries(r))if(c==="oss")i[c]=s;else i[c]=f;if(!("oss"in r))i.oss=s;return Bun.YAML.stringify(i,null,2)},pi=(e)=>{if(e.trim()==="")return{};let t=Bun.YAML.parse(e);if(!t||typeof t!=="object"||Array.isArray(t))throw new po({message:"Invalid config format: expected YAML object"});return t},Tv=(e,t)=>{try{let r=JSON.parse(e);return r&&typeof r==="object"&&!Array.isArray(r)?r:{}}catch(r){throw new z({message:`Invalid JSON in ${t}: ${String(r)}`,path:t})}},Iv=(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 z({message:`Invalid official config in ${t}: ${String(r)}`,path:t})}},Pv=(e)=>{let t={};for(let[r,n]of Object.entries(e))t[r]=n;return t},xe=(e)=>typeof e==="string"?e:"",bx=(e)=>typeof e==="string"||typeof e==="number"?e.toString():"",_v=(e,t)=>e.message===`No token in ${t}`,vo=(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:{},Fv=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");a.runPromise(mx(Bun.argv.slice(2)).pipe(a.provide(vx))).catch((e)=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exit(1)});
|