@puffinstudio/fizzyx 0.4.3 → 0.4.5

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/dist/main.js CHANGED
@@ -1,183 +1,54 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var Rx=Object.defineProperty;var Tx=(e)=>e;function Ix(e,t){this[e]=Tx.bind(null,t)}var pn=(e,t)=>{for(var r in t)Rx(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Ix.bind(t,r)})};var Zt=import.meta.require;var L={};pn(L,{withTime:()=>ab,withGroup:()=>cb,warn:()=>ib,trace:()=>sb,timeLog:()=>ob,time:()=>nb,table:()=>rb,log:()=>tb,info:()=>eb,group:()=>ZE,error:()=>XE,dirxml:()=>YE,dir:()=>GE,debug:()=>QE,countReset:()=>KE,count:()=>JE,consoleWith:()=>ce,clear:()=>VE,assert:()=>WE,Console:()=>fd});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}}},Px={pipe(){return N(this,arguments)}},wu=function(){function e(){}return e.prototype=Px,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),Pr=re(!1);var Ke=re(void 0),er=Ke;var dn=(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},_r=new WeakSet;function Fr(e){return typeof e==="string"}function ku(e){return typeof e==="number"}function hi(e){return typeof e==="function"}function yt(e){return e!==void 0}function Fx(e){return typeof e==="object"&&e!==null||hi(e)}var O=u(2,(e,t)=>Fx(e)&&(t in e)),it=u(2,(e,t)=>O(e,"_tag")&&e._tag===t);function Et(e){return O(e,Symbol.iterator)||Fr(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(_r.has(e))return Ao(e);if(xi.has(e))return xi.get(e);let t=zx(e,()=>{if(Mx(e))return e[W]();else if(typeof e==="function")return Ao(e);else if(Array.isArray(e)||ArrayBuffer.isView(e))return hn(e);else if(e instanceof Map)return Nx(e);else if(e instanceof Set)return Ux(e);return mn(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`)}},Ao=(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),Ro=(e)=>e&3221225471|e>>>1&1073741824,Mx=(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 Ro(t)},ne=(e)=>{let t=5381,r=e.length;while(r)t=t*33^e.charCodeAt(--r);return Ro(t)},Ei=(e,t)=>{let r=12289;for(let n of t)r^=we(q(n),q(e[n]));return Ro(r)},mn=(e)=>Ei(e,dn(e)),bi=(e,t)=>(r)=>{let n=e;for(let o of r)n^=t(o);return Ro(n)},hn=bi(6151,q),Nx=bi(ne("Map"),([e,t])=>we(q(e),q(t))),Ux=bi(ne("Set"),q),gi=new WeakMap,xi=new WeakMap,yi=new WeakSet;function zx(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(_r.has(e)||_r.has(t))return!1;return $x(e,t,Lx)}function Dx(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 Lx(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=vu(e),n=vu(t);if(r!==n)return!1;let o=r&&n;if(typeof e==="function"&&!o)return!1;return Dx(e,t,()=>{if(o)return e[V](t);else if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;return jx(e,t)}else if(ArrayBuffer.isView(e)){if(!ArrayBuffer.isView(t)||e.byteLength!==t.byteLength)return!1;return Hx(e,t)}else if(e instanceof Map){if(!(t instanceof Map)||e.size!==t.size)return!1;return Wx(e,t)}else if(e instanceof Set){if(!(t instanceof Set)||e.size!==t.size)return!1;return Jx(e,t)}return Bx(e,t)})}function $x(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 jx(e,t){for(let r=0;r<e.length;r++)if(!tr(e[r],t[r]))return!1;return!0}function Hx(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 Bx(e,t){let r=dn(e),n=dn(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 qx(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 Wx=qx(tr,tr);function Vx(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 Jx=Vx(tr),vu=(e)=>O(e,V),Ou=()=>oe;var Au=(e)=>(_r.add(e),e);var Mr=Symbol.for("~effect/Redactable"),Kx=(e)=>O(e,Mr);function Ge(e){if(Kx(e))return wi(e);return e}function wi(e){return e[Mr](globalThis[Nr]?.context??Qx)}var Nr="~effect/Fiber/currentFiber",Qx={"~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,h)=>{let p=l?.constructor;return p&&p!==Object.prototype.constructor&&p.name?`${p.name}(${h})`:h},c=(l)=>{try{return Reflect.ownKeys(l)}catch{return["[ownKeys threw]"]}};function f(l,h=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,h)).join(",")}]`;let p=l.map((g)=>f(g,h+1)).join(`,
4
- `+s(h+1));return`[
5
- ${s(h+1)}${p}
6
- ${s(h)}]`}if(l instanceof Date)return Yx(l);if(!t?.ignoreToString&&O(l,"toString")&&typeof l.toString==="function"&&l.toString!==Object.prototype.toString&&l.toString!==Array.prototype.toString){let p=Xx(l);if(l instanceof Error&&l.cause)return`${p} (cause: ${f(l.cause,h)})`;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),Mr in l)return ae(wi(l));if(Symbol.iterator in l)return`${l.constructor.name}(${f(Array.from(l),h)})`;let p=c(l);if(!o||p.length<=1){let S=`{${p.map((x)=>`${Tu(x)}:${f(l[x],h)}`).join(",")}}`;return i(l,S)}let g=`{
7
- ${p.map((S)=>`${s(h+1)}${Tu(S)}: ${f(l[S],h+1)}`).join(`,
3
+ var Wx=Object.defineProperty;var Vx=(e)=>e;function Jx(e,t){this[e]=Vx.bind(null,t)}var dn=(e,t)=>{for(var r in t)Wx(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Jx.bind(t,r)})};var Nt=import.meta.require;var M={};dn(M,{withTime:()=>vb,withGroup:()=>kb,warn:()=>wb,trace:()=>Cb,timeLog:()=>Sb,time:()=>bb,table:()=>Eb,log:()=>yb,info:()=>xb,group:()=>gb,error:()=>hb,dirxml:()=>mb,dir:()=>db,debug:()=>pb,countReset:()=>lb,count:()=>fb,consoleWith:()=>ce,clear:()=>ub,assert:()=>ab,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}}},Kx={pipe(){return N(this,arguments)}},Cu=function(){function e(){}return e.prototype=Kx,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 Yx(e){return typeof e==="object"&&e!==null||hi(e)}var R=u(2,(e,t)=>Yx(e)&&(t in e)),it=u(2,(e,t)=>R(e,"_tag")&&e._tag===t);function Et(e){return R(e,Symbol.iterator)||Mr(e)}var W="~effect/interfaces/Hash",q=(e)=>{switch(typeof e){case"number":return Ao(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 Oo(e);if(xi.has(e))return xi.get(e);let t=ey(e,()=>{if(Gx(e))return e[W]();else if(typeof e==="function")return Oo(e);else if(Array.isArray(e)||ArrayBuffer.isView(e))return gn(e);else if(e instanceof Map)return Xx(e);else if(e instanceof Set)return Zx(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`)}},Oo=(e)=>{if(!gi.has(e))gi.set(e,Ao(Math.floor(Math.random()*Number.MAX_SAFE_INTEGER)));return gi.get(e)},we=u(2,(e,t)=>e*53^t),To=(e)=>e&3221225471|e>>>1&1073741824,Gx=(e)=>R(e,W),Ao=(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 To(t)},ne=(e)=>{let t=5381,r=e.length;while(r)t=t*33^e.charCodeAt(--r);return To(t)},Ei=(e,t)=>{let r=12289;for(let n of t)r^=we(q(n),q(e[n]));return To(r)},hn=(e)=>Ei(e,mn(e)),bi=(e,t)=>(r)=>{let n=e;for(let o of r)n^=t(o);return To(n)},gn=bi(6151,q),Xx=bi(ne("Map"),([e,t])=>we(q(e),q(t))),Zx=bi(ne("Set"),q),gi=new WeakMap,xi=new WeakMap,yi=new WeakSet;function ey(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 ny(e,t,ry)}function ty(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 ry(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 ty(e,t,()=>{if(o)return e[V](t);else if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;return oy(e,t)}else if(ArrayBuffer.isView(e)){if(!ArrayBuffer.isView(t)||e.byteLength!==t.byteLength)return!1;return sy(e,t)}else if(e instanceof Map){if(!(t instanceof Map)||e.size!==t.size)return!1;return ay(e,t)}else if(e instanceof Set){if(!(t instanceof Set)||e.size!==t.size)return!1;return fy(e,t)}return iy(e,t)})}function ny(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 oy(e,t){for(let r=0;r<e.length;r++)if(!tr(e[r],t[r]))return!1;return!0}function sy(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 iy(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 cy(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 ay=cy(tr,tr);function uy(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 fy=uy(tr),ku=(e)=>R(e,V),vu=()=>oe;var Ru=(e)=>(Fr.add(e),e);var Ur=Symbol.for("~effect/Redactable"),ly=(e)=>R(e,Ur);function Ge(e){if(ly(e))return wi(e);return e}function wi(e){return e[Ur](globalThis[Nr]?.context??py)}var Nr="~effect/Fiber/currentFiber",py={"~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 Ou;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 my(l);if(!t?.ignoreToString&&R(l,"toString")&&typeof l.toString==="function"&&l.toString!==Object.prototype.toString&&l.toString!==Array.prototype.toString){let p=hy(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 Ou;if(n.add(l),Ur 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)=>`${Tu(x)}:${f(l[x],d)}`).join(",")}}`;return i(l,S)}let g=`{
7
+ ${p.map((S)=>`${s(d+1)}${Tu(S)}: ${f(l[S],d+1)}`).join(`,
8
8
  `)}
9
- ${s(h)}}`;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 Yx(e){try{return e.toISOString()}catch{return"Invalid Date"}}function Xx(e){try{let t=e.toString();return typeof t==="string"?t:String(t)}catch{return"[toString threw]"}}function gn(e,t){let r=[];return JSON.stringify(e,function(n,o){let s=Ge(o);if(typeof s!=="object"||s===null)return s;while(r.length>0&&r[r.length-1]!==this)r.pop();if(r.includes(s))return;return r.push(s),s},t?.space)}var be=Symbol.for("nodejs.util.inspect.custom"),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 Ge(e)},Iu=(e,t=2)=>{if(typeof e==="string")return e;try{return typeof e==="object"?gn(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 Zx=()=>{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=Zx();var ut="~effect/Effect",rr="~effect/Exit",ey={_A:w,_E:w,_R:w},_u=`${ut}/identifier`,F=`${ut}/args`,X=`${ut}/evaluate`,_e=`${ut}/successCont`,Ye=`${ut}/failureCont`,Dt=`${ut}/ensureCont`,Lt=Symbol.for("effect/Effect/Yield"),Xe={pipe(){return N(this,arguments)},toJSON(){return{...this}},toString(){return ae(this.toJSON(),{ignoreToString:!0,space:2})},[be](){return this.toJSON()}},Fu={[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}},ty={[ut]:ey,...Xe,[Symbol.iterator](){return new zt(this)},toJSON(){return{_id:"Effect",op:this[_u],...F in this?{args:this[F]}:void 0}}},k=(e)=>O(e,ut),Mu=(e)=>O(e,rr),xn="~effect/Cause",Po="~effect/Cause/Reason",yn=(e)=>O(e,xn);class bt{[xn];reasons;constructor(e){this[xn]=xn,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 yn(e)&&this.reasons.length===e.reasons.length&&this.reasons.every((t,r)=>oe(t,e.reasons[r]))}[W](){return hn(this.reasons)}}var Pu=new WeakMap;class En{[Po];annotations;_tag;constructor(e,t,r){if(this[Po]=Po,this._tag=e,t!==bn&&typeof r==="object"&&r!==null&&t.size>0){let n=Pu.get(r);if(n)t=new Map([...n,...t]);Pu.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 bn=new Map;class Fo extends En{error;constructor(e,t=bn){super("Fail",t,e);this.error=e}toString(){return`Fail(${ae(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[V](e){return Cn(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([]),Nu=(e)=>new bt([new Fo(e)]);class Oi extends En{defect;constructor(e,t=bn){super("Die",t,e);this.defect=e}toString(){return`Die(${ae(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[V](e){return wn(e)&&oe(this.defect,e.defect)&&oe(this.annotations,e.annotations)}[W](){return we(ne(this._tag))(we(q(this.defect))(q(this.annotations)))}}var Uu=(e)=>new bt([new Oi(e)]),Sn=u((e)=>yn(e[0]),(e,t,r)=>{if(t.mapUnsafe.size===0)return e;return new bt(e.reasons.map((n)=>n.annotate(t,r)))}),Cn=(e)=>e._tag==="Fail",wn=(e)=>e._tag==="Die",Mo=(e)=>e._tag==="Interrupt";function ry(e){return wt("Effect.evaluate: Not implemented")}var St=(e)=>({...ty,[_u]:e.op,[X]:e[X]??ry,[_e]:e[_e],[Ye]:e[Ye],[Dt]:e[Dt]}),He=(e)=>{let t=St(e);return function(){let r=Object.create(t);return r[F]=e.single===!1?arguments:arguments[0],r}},zu=(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 Mu(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=zu({op:"Success",prop:"value",[X](e){let t=e.getCont(_e);return t?t[_e](this[F],e,this):e.yieldWith(this)}}),kn={key:"effect/Cause/StackTrace"},Du={key:"effect/Cause/InterruptorStackTrace"},De=zu({op:"Failure",prop:"cause",[X](e){let t=this[F],r=!1;if(e.currentStackFrame)t=Sn(t,{mapUnsafe:new Map([[kn.key,e.currentStackFrame]])}),r=!0;let n=e.getCont(Ye);while(e.interruptible&&e._interruptedCause&&n)n=e.getCont(Ye);return n?n[Ye](t,e,r?void 0:this):e.yieldWith(r?this:De(t))}}),Ct=(e)=>De(Nu(e)),wt=(e)=>De(Uu(e)),R=He({op:"WithFiber",[X](e){return this[F](e)}}),ny=function(){class e extends globalThis.Error{}let t=St({op:"YieldableError",[X](){return Ct(this)}});return delete t.toString,Object.assign(e.prototype,t),e}(),Ai=function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends ny{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 Ai{_tag=e}return t.prototype.name=e,t},_o="~effect/Cause/NoSuchElementError",Ri=(e)=>O(e,_o);class kt extends or("NoSuchElementError"){[_o]=_o;constructor(e){super({message:e})}}var zr="~effect/Cause/Done",vn=(e)=>O(e,zr),Lu={[zr]:zr,_tag:"Done",value:void 0},$u=(e)=>{if(e===void 0)return Lu;return{[zr]:zr,_tag:"Done",value:e}},oy=Ct(Lu),ju=(e)=>{if(e===void 0)return oy;return Ct($u(e))};var No=(e)=>(t,r)=>t===r||e(t,r),sy=(e,t)=>e===t,On=()=>sy;function Hu(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 Bu(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 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},...Xe,[Symbol.iterator](){return new zt(this)}},ay=Object.defineProperty(Object.assign(Object.create(Ku),{_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}}),uy=q("None"),fy=Object.assign(Object.create(Ku),{_tag:"None",_op:"None",valueOrUndefined:void 0,[V](e){return Ii(e)&&Pi(e)},[W](){return uy},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Ii=(e)=>O(e,Ju),Pi=(e)=>e._tag==="None",_i=(e)=>e._tag==="Some",Qu=Object.create(fy),Gu=(e)=>{let t=Object.create(ay);return t.value=e,t};var Yu="~effect/data/Result",Xu={[Yu]:{_A:(e)=>e,_E:(e)=>e},...Xe,[Symbol.iterator](){return new zt(this)}},py=Object.assign(Object.create(Xu),{_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)}}}),dy=Object.assign(Object.create(Xu),{_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,Yu),Mi=(e)=>e._tag==="Failure",Ni=(e)=>e._tag==="Success",Zu=(e)=>{let t=Object.create(dy);return t.failure=e,t},ef=(e)=>{let t=Object.create(py);return t.success=e,t};function tf(e){return(t,r)=>t===r?0:e(t,r)}var Dr=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 ee=()=>Qu,ue=Gu;var An=Pi,Ui=_i,zo=u(2,(e,{onNone:t,onSome:r})=>An(e)?t():r(e.value));var gy=u(2,(e,t)=>An(e)?t():e.value);var sf=(e)=>e==null?ee():ue(e);var sr=gy(Ke);var ke=ef,de=Zu;var J=Mi,ir=Ni;var cf=u(2,(e,{onFailure:t,onSuccess:r})=>J(e)?t(e.failure):r(e.success));var af=Hu;var yO={[Symbol.iterator](){return yy}},yy={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 by=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 Sy=(e)=>u(2,(t,r)=>{for(let n of lf(t))if(!by(r,n)||!e(t[n],r[n]))return!1;return!0});var pf=(e)=>{let t=Sy(e);return(r,n)=>t(r,n)&&t(n,r)};var Rn=globalThis.Array;var zi=(e)=>new Rn(e);var Ze=(e)=>Rn.isArray(e)?e:Rn.from(e);var Di=u(2,(e,t)=>Ze(e).concat(Ze(t)));var SO=Rn.isArray;var Li=Ti,Do=Ti;function Cy(e,t){return e<0||e>=t.length}var mf=u(2,(e,t)=>{let r=Math.floor(t);if(Cy(r,e))throw Error(`Index out of bounds: ${r}`);return e[r]});var wy=mf(0);var ky=(e)=>e.slice(1);var Lo=u(2,(e,t)=>{let r=Rn.from(e);return r.sort(t),r});var vy=u(3,(e,t,r)=>{let n=Ze(e),o=Ze(t);if(Do(n)){if(Do(o))return Oy(r)(Di(n,o));return n}return o}),hf=u(2,(e,t)=>vy(e,t,Ou()));var gf=(e)=>[e],$i=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 Oy=u(2,(e,t)=>{let r=Ze(e);if(Do(r)){let n=[wy(r)],o=ky(r);for(let s of o)if(n.every((i)=>!t(s,i)))n.push(s);return n}return[]});var Z={};pn(Z,{pick:()=>Ny,omit:()=>Uy,mutate:()=>zy,mergeAll:()=>Vi,merge:()=>Bt,makeUnsafe:()=>Ht,make:()=>ft,isReference:()=>Hi,isKey:()=>Iy,isContext:()=>Bo,getUnsafe:()=>vt,getReferenceUnsafe:()=>qi,getOrUndefined:()=>Fy,getOrElse:()=>Bi,getOption:()=>Wi,get:()=>me,empty:()=>Fe,addOrOmit:()=>_y,add:()=>Be,ServiceTypeId:()=>jo,Service:()=>ve,Reference:()=>I});var Ef=(e)=>St({op:e.label,[X]: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,Ry),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}},Ry={[jo]:jo,...Ef({label:"Service",evaluate(e){return ie(me(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 R((t)=>e(me(t.context,this)))},useSync(e){return R((t)=>ie(e(me(t.context,this))))}},Ho="~effect/Context/Reference",bf="~effect/Context",Ht=(e)=>{let t=Object.create(Ty);return t.mapUnsafe=e,t.mutable=!1,t},Ty={...Xe,[bf]:{_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,bf),Iy=(e)=>O(e,jo),Hi=(e)=>O(e,Ho),Fe=()=>Py,Py=Ht(new Map),ft=(e,t)=>Ht(new Map([[e.key,t]])),Be=u(3,(e,t,r)=>Tn(e,(n)=>{n.set(t.key,r)})),_y=u(3,(e,t,r)=>Tn(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()}),Fy=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 My(t)}return e.mapUnsafe.get(t.key)}),me=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()},My=(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 Ou="[Circular]";function Tu(e){return typeof e==="string"?JSON.stringify(e):String(e)}function my(e){try{return e.toISOString()}catch{return"Invalid Date"}}function hy(e){try{let t=e.toString();return typeof t==="string"?t:String(t)}catch{return"[toString threw]"}}function xn(e,t){let r=[];return JSON.stringify(e,function(n,o){let s=Ge(o);if(typeof s!=="object"||s===null)return s;while(r.length>0&&r[r.length-1]!==this)r.pop();if(r.includes(s))return;return r.push(s),s},t?.space)}var be=Symbol.for("nodejs.util.inspect.custom"),zt=(e)=>{try{if(R(e,"toJSON")&&hi(e.toJSON)&&e.toJSON.length===0)return e.toJSON();else if(Array.isArray(e))return e.map(zt)}catch{return"[toJSON threw]"}return Ge(e)},Au=(e,t=2)=>{if(typeof e==="string")return e;try{return typeof e==="object"?xn(e,{space:t}):String(e)}catch{return String(e)}},at={toJSON(){return zt(this)},[be](){return this.toJSON()},toString(){return ae(this.toJSON())}};class ki{[be](){return this.toJSON()}toString(){return ae(this.toJSON())}}class Dt{called=!1;self;constructor(e){this.self=e}next(e){return this.called?{value:e,done:!0}:(this.called=!0,{value:this.self,done:!1})}[Symbol.iterator](){return new Dt(this.self)}}var gy=()=>{let t={["~effect/Utils/internal"]:(o)=>o()},r={["~effect/Utils/internal"]:(o)=>{try{return o()}finally{}}};return t["~effect/Utils/internal"](()=>Error().stack)?.includes("~effect/Utils/internal")===!0?t["~effect/Utils/internal"]:r["~effect/Utils/internal"]},z=gy();var ut="~effect/Effect",rr="~effect/Exit",xy={_A:w,_E:w,_R:w},Pu=`${ut}/identifier`,F=`${ut}/args`,Z=`${ut}/evaluate`,_e=`${ut}/successCont`,Xe=`${ut}/failureCont`,Lt=`${ut}/ensureCont`,$t=Symbol.for("effect/Effect/Yield"),Ze={pipe(){return N(this,arguments)},toJSON(){return{...this}},toString(){return ae(this.toJSON(),{ignoreToString:!0,space:2})},[be](){return this.toJSON()}},_u={[W](){return Ei(this,Object.keys(this))},[V](e){let t=Object.keys(this),r=Object.keys(e);if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==r[n]&&!oe(this[t[n]],e[t[n]]))return!1;return!0}},yy={[ut]:xy,...Ze,[Symbol.iterator](){return new Dt(this)},toJSON(){return{_id:"Effect",op:this[Pu],...F in this?{args:this[F]}:void 0}}},k=(e)=>R(e,ut),Fu=(e)=>R(e,rr),yn="~effect/Cause",Po="~effect/Cause/Reason",En=(e)=>R(e,yn);class bt{[yn];reasons;constructor(e){this[yn]=yn,this.reasons=e}pipe(){return N(this,arguments)}toJSON(){return{_id:"Cause",failures:this.reasons.map((e)=>e.toJSON())}}toString(){return`Cause(${ae(this.reasons)})`}[be](){return this.toJSON()}[V](e){return En(e)&&this.reasons.length===e.reasons.length&&this.reasons.every((t,r)=>oe(t,e.reasons[r]))}[W](){return gn(this.reasons)}}var Iu=new WeakMap;class bn{[Po];annotations;_tag;constructor(e,t,r){if(this[Po]=Po,this._tag=e,t!==Sn&&typeof r==="object"&&r!==null&&t.size>0){let n=Iu.get(r);if(n)t=new Map([...n,...t]);Iu.set(r,t)}this.annotations=t}annotate(e,t){if(e.mapUnsafe.size===0)return this;let r=new Map(this.annotations);e.mapUnsafe.forEach((o,s)=>{if(t?.overwrite!==!0&&r.has(s))return;r.set(s,o)});let n=Object.assign(Object.create(Object.getPrototypeOf(this)),this);return n.annotations=r,n}pipe(){return N(this,arguments)}toString(){return ae(this)}[be](){return this.toString()}}var Sn=new Map;class Fo extends bn{error;constructor(e,t=Sn){super("Fail",t,e);this.error=e}toString(){return`Fail(${ae(this.error)})`}toJSON(){return{_tag:"Fail",error:this.error}}[V](e){return wn(e)&&oe(this.error,e.error)&&oe(this.annotations,e.annotations)}[W](){return we(ne(this._tag))(we(q(this.error))(q(this.annotations)))}}var nr=(e)=>new bt(e),vi=new bt([]),Mu=(e)=>new bt([new Fo(e)]);class Ri extends bn{defect;constructor(e,t=Sn){super("Die",t,e);this.defect=e}toString(){return`Die(${ae(this.defect)})`}toJSON(){return{_tag:"Die",defect:this.defect}}[V](e){return kn(e)&&oe(this.defect,e.defect)&&oe(this.annotations,e.annotations)}[W](){return we(ne(this._tag))(we(q(this.defect))(q(this.annotations)))}}var Uu=(e)=>new bt([new Ri(e)]),Cn=u((e)=>En(e[0]),(e,t,r)=>{if(t.mapUnsafe.size===0)return e;return new bt(e.reasons.map((n)=>n.annotate(t,r)))}),wn=(e)=>e._tag==="Fail",kn=(e)=>e._tag==="Die",Mo=(e)=>e._tag==="Interrupt";function Ey(e){return wt("Effect.evaluate: Not implemented")}var St=(e)=>({...yy,[Pu]:e.op,[Z]:e[Z]??Ey,[_e]:e[_e],[Xe]:e[Xe],[Lt]:e[Lt]}),Be=(e)=>{let t=St(e);return function(){let r=Object.create(t);return r[F]=e.single===!1?arguments:arguments[0],r}},Nu=(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=Nu({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=Nu({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(Uu(e)),T=Be({op:"WithFiber",[Z](e){return this[F](e)}}),by=function(){class e extends globalThis.Error{}let t=St({op:"YieldableError",[Z](){return Ct(this)}});return delete t.toString,Object.assign(e.prototype,t),e}(),Oi=function(){let e=Symbol.for("effect/Data/Error/plainArgs");return class extends by{constructor(r){super(r?.message,r?.cause?{cause:r.cause}:void 0);if(r)Object.assign(this,r),Object.defineProperty(this,e,{value:r,enumerable:!1})}toJSON(){return{...this[e],...this}}}}(),or=(e)=>{class t extends Oi{_tag=e}return t.prototype.name=e,t},_o="~effect/Cause/NoSuchElementError",Ti=(e)=>R(e,_o);class kt extends or("NoSuchElementError"){[_o]=_o;constructor(e){super({message:e})}}var Dr="~effect/Cause/Done",Rn=(e)=>R(e,Dr),Du={[Dr]:Dr,_tag:"Done",value:void 0},Lu=(e)=>{if(e===void 0)return Du;return{[Dr]:Dr,_tag:"Done",value:e}},Sy=Ct(Du),$u=(e)=>{if(e===void 0)return Sy;return Ct(Lu(e))};var Uo=(e)=>(t,r)=>t===r||e(t,r),Cy=(e,t)=>e===t,On=()=>Cy;function ju(e){return Uo((t,r)=>{if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(!e[n](t[n],r[n]))return!1;return!0})}function Hu(e){return Uo((t,r)=>{if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(!e(t[n],r[n]))return!1;return!0})}var Ai=(e)=>e.length>0;var Bu=(e)=>u(3,(t,r,n)=>e(t,(o)=>({...o,[r]:n(o)}))),qu=(e)=>u(2,(t,r)=>e(t,(n)=>({[r]:n}))),Wu=(e,t)=>u(3,(r,n,o)=>t(r,(s)=>e(o(s),(i)=>({...s,[n]:i}))));var Vu="~effect/data/Option",Ju={[Vu]:{_A:(e)=>e},...Ze,[Symbol.iterator](){return new Dt(this)}},vy=Object.defineProperty(Object.assign(Object.create(Ju),{_tag:"Some",_op:"Some",[V](e){return Ii(e)&&_i(e)&&oe(this.value,e.value)},[W](){return we(q(this._tag))(q(this.value))},toString(){return`some(${ae(this.value)})`},toJSON(){return{_id:"Option",_tag:this._tag,value:zt(this.value)}}}),"valueOrUndefined",{get(){return this.value}}),Ry=q("None"),Oy=Object.assign(Object.create(Ju),{_tag:"None",_op:"None",valueOrUndefined:void 0,[V](e){return Ii(e)&&Pi(e)},[W](){return Ry},toString(){return"none()"},toJSON(){return{_id:"Option",_tag:this._tag}}}),Ii=(e)=>R(e,Vu),Pi=(e)=>e._tag==="None",_i=(e)=>e._tag==="Some",Ku=Object.create(Oy),Qu=(e)=>{let t=Object.create(vy);return t.value=e,t};var Yu="~effect/data/Result",Gu={[Yu]:{_A:(e)=>e,_E:(e)=>e},...Ze,[Symbol.iterator](){return new Dt(this)}},Ay=Object.assign(Object.create(Gu),{_tag:"Success",_op:"Success",[V](e){return Fi(e)&&Ui(e)&&oe(this.success,e.success)},[W](){return we(q(this._tag))(q(this.success))},toString(){return`success(${ae(this.success)})`},toJSON(){return{_id:"Result",_tag:this._tag,value:zt(this.success)}}}),Iy=Object.assign(Object.create(Gu),{_tag:"Failure",_op:"Failure",[V](e){return Fi(e)&&Mi(e)&&oe(this.failure,e.failure)},[W](){return we(q(this._tag))(q(this.failure))},toString(){return`failure(${ae(this.failure)})`},toJSON(){return{_id:"Result",_tag:this._tag,failure:zt(this.failure)}}}),Fi=(e)=>R(e,Yu),Mi=(e)=>e._tag==="Failure",Ui=(e)=>e._tag==="Success",Xu=(e)=>{let t=Object.create(Iy);return t.failure=e,t},Zu=(e)=>{let t=Object.create(Ay);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 Tn=Pi,Ni=_i,zo=u(2,(e,{onNone:t,onSome:r})=>Tn(e)?t():r(e.value));var Fy=u(2,(e,t)=>Tn(e)?t():e.value);var of=(e)=>e==null?ee():ue(e);var sr=Fy(Qe);var ke=Zu,me=Xu;var J=Mi,ir=Ui;var sf=u(2,(e,{onFailure:t,onSuccess:r})=>J(e)?t(e.failure):r(e.success));var cf=ju;var _R={[Symbol.iterator](){return Uy}},Uy={next(){return{done:!0,value:void 0}}};var af=u(2,(e,t)=>({[Symbol.iterator](){let r=e[Symbol.iterator](),n=0;return{next(){let o=r.next();while(!o.done){if(t(o.value,n++))return{done:!1,value:o.value};o=r.next()}return{done:!0,value:void 0}}}}}));var zy=u(2,(e,t)=>Object.hasOwn(e,t));var uf=u(2,(e,t)=>{let r={...e};for(let n of ff(e))r[n]=t(e[n],n);return r});var ff=(e)=>Object.keys(e);var Dy=(e)=>u(2,(t,r)=>{for(let n of ff(t))if(!zy(r,n)||!e(t[n],r[n]))return!1;return!0});var lf=(e)=>{let t=Dy(e);return(r,n)=>t(r,n)&&t(n,r)};var An=globalThis.Array;var zi=(e)=>new An(e);var et=(e)=>An.isArray(e)?e:An.from(e);var Di=u(2,(e,t)=>et(e).concat(et(t)));var UR=An.isArray;var Li=Ai,Do=Ai;function Ly(e,t){return e<0||e>=t.length}var df=u(2,(e,t)=>{let r=Math.floor(t);if(Ly(r,e))throw Error(`Index out of bounds: ${r}`);return e[r]});var $y=df(0);var jy=(e)=>e.slice(1);var Lo=u(2,(e,t)=>{let r=An.from(e);return r.sort(t),r});var Hy=u(3,(e,t,r)=>{let n=et(e),o=et(t);if(Do(n)){if(Do(o))return By(r)(Di(n,o));return n}return o}),mf=u(2,(e,t)=>Hy(e,t,vu()));var hf=(e)=>[e],$i=u(2,(e,t)=>e.map(t));var gf=u(2,(e,t)=>{let r=[],n=[],o=0;for(let s of e){let i=t(s,o++);if(ir(i))n.push(i.success);else r.push(i.failure)}return[r,n]});var xf=Hu;var By=u(2,(e,t)=>{let r=et(e);if(Do(r)){let n=[$y(r)],o=jy(r);for(let s of o)if(n.every((i)=>!t(s,i)))n.push(s);return n}return[]});var G={};dn(G,{pick:()=>Xy,omit:()=>Zy,mutate:()=>eE,mergeAll:()=>Vi,merge:()=>qt,makeUnsafe:()=>Bt,make:()=>ft,isReference:()=>Hi,isKey:()=>Jy,isContext:()=>Bo,getUnsafe:()=>vt,getReferenceUnsafe:()=>qi,getOrUndefined:()=>Yy,getOrElse:()=>Bi,getOption:()=>Wi,get:()=>he,empty:()=>Fe,addOrOmit:()=>Qy,add:()=>qe,ServiceTypeId:()=>jo,Service:()=>ve,Reference:()=>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,Wy),Object.defineProperty(n,"stack",{get(){return t.stack}}),arguments.length>0){if(n.key=arguments[0],arguments[1]?.defaultValue)n[Ho]=Ho,n.defaultValue=arguments[1].defaultValue;return n}return function(o,s){if(n.key=o,s?.make)n.make=s.make;return n}},Wy={[jo]:jo,...yf({label:"Service",evaluate(e){return ie(he(e.context,this))}}),toJSON(){return{_id:"Service",key:this.key,stack:this.stack}},of(e){return e},context(e){return ft(this,e)},use(e){return T((t)=>e(he(t.context,this)))},useSync(e){return T((t)=>ie(e(he(t.context,this))))}},Ho="~effect/Context/Reference",Ef="~effect/Context",Bt=(e)=>{let t=Object.create(Vy);return t.mapUnsafe=e,t.mutable=!1,t},Vy={...Ze,[Ef]:{_Services:(e)=>e},toJSON(){return{_id:"Context",services:Array.from(this.mapUnsafe).map(([e,t])=>({key:e,value:t}))}},[V](e){if(!Bo(e)||this.mapUnsafe.size!==e.mapUnsafe.size)return!1;for(let t of this.mapUnsafe.keys())if(!e.mapUnsafe.has(t)||!oe(this.mapUnsafe.get(t),e.mapUnsafe.get(t)))return!1;return!0},[W](){return Ao(this.mapUnsafe.size)}},Bo=(e)=>R(e,Ef),Jy=(e)=>R(e,jo),Hi=(e)=>R(e,Ho),Fe=()=>Ky,Ky=Bt(new Map),ft=(e,t)=>Bt(new Map([[e.key,t]])),qe=u(3,(e,t,r)=>In(e,(n)=>{n.set(t.key,r)})),Qy=u(3,(e,t,r)=>In(e,(n)=>{if(r._tag==="None")n.delete(t.key);else n.set(t.key,r.value)})),Bi=u(3,(e,t,r)=>{if(e.mapUnsafe.has(t.key))return e.mapUnsafe.get(t.key);return Hi(t)?qo(t):r()}),Yy=u(2,(e,t)=>e.mapUnsafe.get(t.key)),vt=u(2,(e,t)=>{if(!e.mapUnsafe.has(t.key)){if(Ho in t)return qo(t);throw Gy(t)}return e.mapUnsafe.get(t.key)}),he=vt,qi=(e,t)=>{if(!e.mapUnsafe.has(t.key))return qo(t);return e.mapUnsafe.get(t.key)},ji="~effect/Context/defaultValue",qo=(e)=>{if(ji in e)return e[ji];return e[ji]=e.defaultValue()},Gy=(e)=>{let t=Error(`Service not found${e.key?`: ${String(e.key)}`:""}`);if(e.stack){let r=e.stack.split(`
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},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 Tn(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)},Ny=(...e)=>(t)=>Tn(t,(r)=>{let n=new Set(e.map((o)=>o.key));r.forEach((o,s)=>{if(n.has(s))return;r.delete(s)})}),Uy=(...e)=>(t)=>Tn(t,(r)=>{for(let n=0;n<e.length;n++)r.delete(e[n].key)}),zy=u(2,(e,t)=>{let r=Ht(new Map(e.mapUnsafe));r.mutable=!0;let n=t(r);return n.mutable=!1,n}),Tn=(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",Dy=BigInt(0),Ly=BigInt(1);var $y=BigInt(1000);var Vo=(e)=>BigInt(e<0?Math.ceil(e-0.5):Math.floor(e+0.5)),vf=(e)=>Vo(e*1e6),Sf=(e,t)=>e.includes(".")?Vo(Number(e)*Number(t)):BigInt(e)*t;var jy=/^(-?\d+(?:\.\d+)?)\s+(nanos?|micros?|millis?|seconds?|minutes?|hours?|days?|weeks?)$/,Le=(e)=>{switch(typeof e){case"number":return Ji(e);case"bigint":return In(e);case"string":{if(e==="Infinity")return $r;if(e==="-Infinity")return Jo;let t=jy.exec(e);if(!t)break;let[r,n,o]=t;if(o==="nano"||o==="nanos")return In(Sf(n,Ly));if(o==="micro"||o==="micros")return In(Sf(n,$y));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 Vy(s);case"hour":case"hours":return Jy(s);case"day":case"days":return Ky(s);case"week":case"weeks":return Qy(s)}break}case"object":{if(e===null)break;if(Wo in e)return e;if(Array.isArray(e)){if(e.length!==2||!e.every(ku))return Cf(e);if(Number.isNaN(e[0])||Number.isNaN(e[1]))return Lr;if(e[0]===-1/0||e[1]===-1/0)return Jo;if(e[0]===1/0||e[1]===1/0)return $r;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 Cf(e)},Cf=(e)=>{throw Error(`Invalid Input: ${e}`)};var wf={_tag:"Millis",millis:0},Hy={_tag:"Infinity"},By={_tag:"NegativeInfinity"},qy={[Wo]:Wo,[W](){return mn(this.value)},[V](e){return Wy(e)&&Xy(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(qy);if(typeof e==="number")if(isNaN(e)||e===0||Object.is(e,-0))t.value=wf;else if(!Number.isFinite(e))t.value=e>0?Hy:By;else if(!Number.isInteger(e))t.value={_tag:"Nanos",nanos:vf(e)};else t.value={_tag:"Millis",millis:e};else if(e===Dy)t.value=wf;else t.value={_tag:"Nanos",nanos:e};return t},Wy=(e)=>O(e,Wo);var Lr=Oe(0),$r=Oe(1/0),Jo=Oe(-1/0),In=(e)=>Oe(e);var Ji=(e)=>Oe(e),Ki=(e)=>Oe(e*1000),Vy=(e)=>Oe(e*60000),Jy=(e)=>Oe(e*3600000),Ky=(e)=>Oe(e*86400000),Qy=(e)=>Oe(e*604800000),jr=(e)=>Gy(Le(e),{onMillis:w,onNanos:(t)=>Number(t)/1e6,onInfinity:()=>1/0,onNegativeInfinity:()=>-1/0});var kf=(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 vf(t.value.millis)}};var Gy=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)()}}),Of=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(kf(e),t.value.nanos);else return r.onNanos(e.value.nanos,kf(t))});var Yy=(e,t)=>Of(e,t,{onMillis:(r,n)=>r===n,onNanos:(r,n)=>r===n,onInfinity:(r,n)=>r.value._tag===n.value._tag});var Af=u(2,(e,t)=>Of(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"?Lr:$r;if(o==="NegativeInfinity")return s==="NegativeInfinity"?Lr:Jo;return s==="Infinity"?Jo:$r}}));var Xy=u(2,(e,t)=>Yy(e,t));var Qi=u(2,(e,t)=>(r)=>{let n=e(r);if(J(n))return de(r);let o=t(n.success);if(J(o))return de(r);return o});var _n=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 Tf{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 If(this.setImmediate)}}class If{tasks=new Tf;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 Pf=I("effect/Scheduler/MaxOpsBeforeYield",{defaultValue:()=>2048}),_f=I("effect/Scheduler/PreventSchedulerYield",{defaultValue:()=>!1});var Gi="effect/Tracer/ParentSpan";class ar extends ve()(Gi){}var tE=(e)=>e;var Hr=I("effect/Tracer/DisablePropagation",{defaultValue:Pr}),Mf=I("effect/Tracer/CurrentTraceLevel",{defaultValue:()=>"Info"}),Nf=I("effect/Tracer/MinimumTraceLevel",{defaultValue:()=>"All"}),Yi="effect/Tracer",Qo=I(Yi,{defaultValue:()=>tE({span:(e)=>new Uf(e)})});class Uf{_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??Ff(32),this.spanId=Ff(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 Ff=function(){return function(r){let n="";for(let o=0;o<r;o++)n+="abcdef0123456789".charAt(Math.floor(Math.random()*16));return n}}();var zf="effect/observability/Metric/FiberRuntimeMetricsKey";var Go=I("effect/References/CurrentConcurrency",{defaultValue:()=>"unbounded"}),Df=I("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),Br=I("effect/References/CurrentStackFrame",{defaultValue:Ke}),Yo=I("effect/References/TracerEnabled",{defaultValue:ze}),Fn=I("effect/References/TracerTimingEnabled",{defaultValue:ze}),Mn=I("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),Nn=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:oE(()=>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}},oE=tc(3);var Zo="dev";class Vf extends En{fiberId;constructor(e,t=bn){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}`))(Ao(this.annotations))}}var rs=(e)=>new bt([new Vf(e)]);var Jf=(e)=>{let t=e.reasons.find(Cn);return t?ke(t):de(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 de(e)};var Kf=(e)=>e.reasons.some(wn);var lc=(e)=>{let t=e.reasons.find(wn);return t?ke(t.defect):de(e)},pc=(e)=>e.reasons.some(Mo);var Qf=(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):de(e)};var Gf=u(2,(e,t)=>{if(e.reasons.length===0)return t;else if(t.reasons.length===0)return e;let r=new bt(hf(e.reasons,t.reasons));return oe(e,r)?e:r});var cE=(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=cE(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")},Yf=(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=lE(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(aE(e),{cause:e.cause?rc(e.cause):void 0}),typeof e.name==="string")n.name=e.name;if(typeof e.stack==="string")n.stack=fE(e.stack,n,t);else{let o=`${n.name}: ${n.message}`;n.stack=t?Xf(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:gn(e));return n},aE=(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 gn(e)},uE=/\((.*)\)/g,fE=(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?Xf(s.join(`
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()}),qt=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 Bt(t)},Xy=(...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)})}),Zy=(...e)=>(t)=>In(t,(r)=>{for(let n=0;n<e.length;n++)r.delete(e[n].key)}),eE=u(2,(e,t)=>{let r=Bt(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),Bt(r)},I=ve;var Wo="~effect/time/Duration",tE=BigInt(0),rE=BigInt(1);var nE=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 oE=/^(-?\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=oE.exec(e);if(!t)break;let[r,n,o]=t;if(o==="nano"||o==="nanos")return Pn(bf(n,rE));if(o==="micro"||o==="micros")return Pn(bf(n,nE));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 uE(s);case"hour":case"hours":return fE(s);case"day":case"days":return lE(s);case"week":case"weeks":return pE(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 Re(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 Re(r);return Re(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},sE={_tag:"Infinity"},iE={_tag:"NegativeInfinity"},cE={[Wo]:Wo,[W](){return hn(this.value)},[V](e){return aE(e)&&hE(this,e)},toString(){switch(this.value._tag){case"Infinity":return"Infinity";case"NegativeInfinity":return"-Infinity";case"Nanos":return`${this.value.nanos} nanos`;case"Millis":return`${this.value.millis} millis`}},toJSON(){switch(this.value._tag){case"Millis":return{_id:"Duration",_tag:"Millis",millis:this.value.millis};case"Nanos":return{_id:"Duration",_tag:"Nanos",nanos:String(this.value.nanos)};case"Infinity":return{_id:"Duration",_tag:"Infinity"};case"NegativeInfinity":return{_id:"Duration",_tag:"NegativeInfinity"}}},[be](){return this.toJSON()},pipe(){return N(this,arguments)}},Re=(e)=>{let t=Object.create(cE);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?sE:iE;else if(!Number.isInteger(e))t.value={_tag:"Nanos",nanos:kf(e)};else t.value={_tag:"Millis",millis:e};else if(e===tE)t.value=Cf;else t.value={_tag:"Nanos",nanos:e};return t},aE=(e)=>R(e,Wo);var $r=Re(0),jr=Re(1/0),Jo=Re(-1/0),Pn=(e)=>Re(e);var Ji=(e)=>Re(e),Ki=(e)=>Re(e*1000),uE=(e)=>Re(e*60000),fE=(e)=>Re(e*3600000),lE=(e)=>Re(e*86400000),pE=(e)=>Re(e*604800000),Hr=(e)=>dE(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 dE=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 mE=(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 Rf=u(2,(e,t)=>vf(e,t,{onMillis:(r,n)=>Re(r-n),onNanos:(r,n)=>Re(r-n),onInfinity:(r,n)=>{let o=r.value._tag,s=n.value._tag;if(o==="Infinity")return s==="Infinity"?$r:jr;if(o==="NegativeInfinity")return s==="NegativeInfinity"?$r:Jo;return s==="Infinity"?Jo:jr}}));var hE=u(2,(e,t)=>mE(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}),Of="setImmediate"in globalThis?(e)=>{let t=globalThis.setImmediate(e);return()=>globalThis.clearImmediate(t)}:(e)=>{let t=setTimeout(e,0);return()=>clearTimeout(t)};class Tf{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=Of){this.executionMode=e,this.setImmediate=t}shouldYield(e){return e.currentOpCount>=e.maxOpsBeforeYield}makeDispatcher(){return new Af(this.setImmediate)}}class Af{tasks=new Tf;running=void 0;setImmediate;constructor(e=Of){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 Yi="effect/Tracer/ParentSpan";class ar extends ve()(Yi){}var yE=(e)=>e;var Br=I("effect/Tracer/DisablePropagation",{defaultValue:_r}),Ff=I("effect/Tracer/CurrentTraceLevel",{defaultValue:()=>"Info"}),Mf=I("effect/Tracer/MinimumTraceLevel",{defaultValue:()=>"All"}),Gi="effect/Tracer",Qo=I(Gi,{defaultValue:()=>yE({span:(e)=>new Uf(e)})});class Uf{_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 Nf="effect/observability/Metric/FiberRuntimeMetricsKey";var Yo=I("effect/References/CurrentConcurrency",{defaultValue:()=>"unbounded"}),zf=I("effect/ErrorReporter/CurrentErrorReporters",{defaultValue:()=>new Set}),qr=I("effect/References/CurrentStackFrame",{defaultValue:Qe}),Go=I("effect/References/TracerEnabled",{defaultValue:ze}),Mn=I("effect/References/TracerTimingEnabled",{defaultValue:ze}),Un=I("effect/References/TracerSpanAnnotations",{defaultValue:()=>({})}),Nn=I("effect/References/TracerSpanLinks",{defaultValue:()=>[]}),Rt=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 Wt=(e)=>{if(e?.captureStackTrace===!1)return e;else if(e?.captureStackTrace!==void 0&&typeof e.captureStackTrace!=="boolean")return e;let t=Error.stackTraceLimit;Error.stackTraceLimit=3;let r=Error();return Error.stackTraceLimit=t,{...e,captureStackTrace:SE(()=>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}},SE=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}`))(Oo(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 kE=(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=kE(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")},Yf=(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=TE(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(vE(e),{cause:e.cause?rc(e.cause):void 0}),typeof e.name==="string")n.name=e.name;if(typeof e.stack==="string")n.stack=OE(e.stack,n,t);else{let o=`${n.name}: ${n.message}`;n.stack=t?Gf(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},vE=(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)},RE=/\((.*)\)/g,OE=(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?Gf(s.join(`
15
15
  `),r):s.join(`
16
- `)},Xf=(e,t)=>{let r=t?.get(kn.key);if(r)e=`${e}
17
- ${Zf(r)}`;return e},lE=(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(Du.key);if(r.push(` at fiber (${o})`),s)r.push(Zf(s))}return r.join(`
18
- `)},Zf=(e)=>{let t=[],r=e,n=0;while(r&&n<10){let o=r.stack();if(o){let s=o.matchAll(uE),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(`
16
+ `)},Gf=(e,t)=>{let r=t?.get(vn.key);if(r)e=`${e}
17
+ ${Xf(r)}`;return e},TE=(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(RE),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
19
  `)},dc=(e)=>Yf(e).map((t)=>t.cause?`${t.stack} {
20
- ${el(t.cause," ")}
20
+ ${Zf(t.cause," ")}
21
21
  }`:t.stack).join(`
22
- `),el=(e,t)=>{let r=e.stack.split(`
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
- ${el(e.cause,`${t} `)}
26
- ${t}}`;return n},es=`~effect/Fiber/${Zo}`,pE={_A:w,_E:w},dE={id:0},zn=()=>globalThis[Nr];class mc{constructor(e,t=!0){this[es]=pE,this.setContext(e),this.id=++dE.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=Sn(r,ft(kn,this.currentStackFrame));if(t)r=Sn(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===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[Nr];globalThis[Nr]=this;let r=!1,n=e;this.currentOpCount=0;let o=++this.currentLoopCount;try{while(!0){if(this.currentOpCount++,!r&&!this.currentPreventYield&&this.currentScheduler.shouldYield(this)){r=!0;let s=n;n=E(Jr,()=>s)}if(n=this.currentTracerContext?this.currentTracerContext(n,this):n[X](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,X))return wt(`Fiber.runLoop: Not a valid effect: ${String(n)}`);return this.runLoop(wt(s))}finally{globalThis[Nr]=t}}getCont(e){while(!0){let t=this._stack.pop();if(!t)return;let r=t[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(_n);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(Br.key),this.maxOpsBeforeYield=this.getRef(Pf),this.currentPreventYield=this.getRef(_f),this.runtimeMetrics=e.mapUnsafe.get(zf);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(kn.key,e.currentStackFrame),Ht(t)},mE=(e)=>{if(e._children===void 0||e._children.size===0)return;return fr(e._children)},tl=(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)=>R((t)=>rl(e,t.id)),rl=u((e)=>O(e[0],es),(e,t,r)=>R((n)=>{let o=os(n);return o=o&&r?Bt(o,r):o??r,e.interruptUnsafe(t,o),Ln(tl(e))})),fr=(e)=>R((t)=>{let r=os(t);for(let n of e)n.interruptUnsafe(t.id,r);return Ln(ss(e))});var y=ie,B=De,j=Ct,b=He({op:"Sync",[X](e){let t=this[F](),r=e.getCont(_e);return r?r[_e](t,e):e.yieldWith(ie(t))}}),P=He({op:"Suspend",[X](e){return this[F]()}}),nl=zo({onNone:()=>j(new kt("Effect.fromOption: Option.none")),onSome:y}),Vr=cf({onFailure:j,onSuccess:y}),ol=(e)=>e==null?j(new kt):y(e),gc=He({op:"Yield",[X](e){let t=!1;return e.currentDispatcher.scheduleTask(()=>{if(t)return;e.evaluate(et)},this[F]??0),e.yieldWith(()=>{t=!0})}}),Jr=gc(0),xc=(e)=>y(ue(e)),Dn=y(ee()),sl=(e)=>An(e)?Dn:D(e.value,ue),il=(e)=>P(()=>B(U(e))),At=(e)=>wt(e),is=(e)=>P(()=>j(U(e))),M=y(void 0);var cl=(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 j(U(()=>r(n)))}})};var yc=(e)=>Ec(function(t,r){U(()=>e(r)).then((n)=>t(y(n)),(n)=>t(At(n)))},e.length!==0),al=(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(j(U(()=>r(i))))}catch(c){n(At(c))}};try{U(()=>t(o)).then((i)=>n(y(i)),s)}catch(i){s(i)}},t.length!==0)},ul=(e)=>R((t)=>e(t.id)),fl=R(y),ll=ul(y),Ec=He({op:"Async",single:!1,[X](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(hE(()=>(r=!0,o?.abort(),s??et))),Lt}}),hE=He({op:"AsyncFinalizer",[Dt](e){if(e.interruptible)e.interruptible=!1,e._stack.push(bs)},[Ye](e,t){return pc(e)?E(this[F](),()=>B(e)):B(e)}}),Me=(e)=>Ec(e,e.length>=2),cs=Me(er),pl=(...e)=>P(()=>qr(e.length===1?e[0]():e[1].call(e[0].self))),bc=(e,...t)=>{let r=t.length===0?function(){return P(()=>qr(e.apply(this,arguments)))}:function(){let n=P(()=>qr(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}),Lf=tc(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 Sc(i.length,function(...c){let f=P(()=>{let p=i.apply(this,arguments);return k(p)?p:qr(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 h=new globalThis.Error;return globalThis.Error.stackTraceLimit=l,Rt(o?Un(e,s,(p)=>cc(f,p)):f,Br,(p)=>({name:e,stack:Lf(()=>h.stack),parent:{name:`${e} (definition)`,stack:Lf(()=>r.stack),parent:p}}))})},ml=(e,...t)=>Sc(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 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)=>qr(t,i));else return P(()=>qr(e()))})}}}catch(t){return At(t)}},qr=He({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}},[X](e){return this[_e](this[F][1],e)}}),Ae=u(2,(e,t)=>{let r=y(t);return E(e,(n)=>r)}),as=(e)=>D(e,ue),hl=(e)=>lr(e,{onFailure:y,onSuccess:j}),We=u(2,(e,t)=>E(e,(r)=>k(t)?t:U(()=>t(r)))),dt=u(2,(e,t)=>E(e,(r)=>Ae(k(t)?t:U(()=>t(r)),r))),Ln=(e)=>E(e,(t)=>et),gl=(e)=>Ne(e,j),Cc=(e,t)=>R((r)=>Me((n)=>{let o=Ze(e),s=o.length,i=0,c=!1,f=new Set,l=[],h=(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),h(S,g,p)}),c)break}return fr(f)})),wc=(e,t)=>R((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++,h=hr(r,f,!0,!0,!1);s.add(h),h.addObserver((p)=>{s.delete(h);let g=!o;if(i(p),g&&t?.onWinner)t.onWinner({fiber:h,index:l,parentFiber:r})})}return fr(s)})),xl=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(gE);return r[F]=e,r[_e]=t.length!==1?(n)=>t(n):t,r}),gE=St({op:"OnSuccess",[X](e){return e._stack.push(this),this[F]}}),yl=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),El=u(2,(e,t)=>{if($e(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)=>y(U(()=>t(r))))),Sl=u(2,(e,t)=>$e(e)?Ol(e,t):D(e,t)),Cl=u(2,(e,t)=>$e(e)?Al(e,t):Pc(e,t)),wl=u(2,(e,t)=>$e(e)?Rl(e,t):_c(e,t)),kl=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 Re(e,t)});var kc=(e)=>e._tag==="Success";var vl=(e)=>e._tag==="Failure"?ke(e.cause):de(e);var et=ie(void 0),Ol=u(2,(e,t)=>e._tag==="Success"?ie(t(e.value)):e),Al=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 Tl=(e)=>{let t=[];for(let r of e)if(r._tag==="Failure")t.push(...r.cause.reasons);return t.length===0?et:De(nr(t))};var Il=(e)=>e,Pl=(e)=>R((t)=>y(Wi(t.context,e))),xE=(e)=>R((t)=>t.context.mapUnsafe.has(e.key)?y(vt(t.context,e)):j(new kt)),$n=u(2,(e,t)=>R((r)=>{let n=r.context,o=t(n);if(n===o)return e;return r.setContext(o),Gr(e,()=>{r.setContext(n);return})})),Rt=u(3,(e,t,r)=>$n(e,(n)=>{let o=vt(n,t),s=r(o);if(o===s)return n;return Be(n,t,s)})),vc=()=>yE,yE=R((e)=>y(e.context)),Vt=(e)=>R((t)=>e(t.context)),Tt=u(2,(e,t)=>{if($e(e))return e;return $n(e,Bt(t))}),Se=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)=>$n(e,(n)=>{if(n.mapUnsafe.get(t.key)===r)return n;return Be(n,t,r)}),fs=u(3,(e,t,r)=>E(r,(n)=>Se(e,t,n))),_l=Se(Go),Oc=u((e)=>k(e[1]),(e,t,r)=>Ac(e,t,(n,o)=>[n,o],r)),Ac=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))))),Fl=u((e)=>k(e[0]),(e,t,r)=>Wc(e,t,r?(n)=>j(r(n)):()=>j(new kt))),Ml=u(2,(e,t)=>E(t,(r)=>r?as(e):Dn)),Rc=u(2,(e,t)=>Array.from({length:t},()=>e)),Nl=u((e)=>k(e[0]),(e,t,r)=>Ss(Rc(e,t),r)),ls=u((e)=>k(e[0]),(e,t)=>Jt({while:ze,body:re(t?.disableYield?e:E(e,(r)=>Jr)),step:er})),Ne=u(2,(e,t)=>{let r=Object.create(EE);return r[F]=e,r[Ye]=t.length!==1?(n)=>t(n):t,r}),EE=St({op:"OnFailure",[X](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))})),Kr=u(3,(e,t,r)=>Ne(e,(n)=>{let o=t(n);return J(o)?B(o.failure):U(()=>r(o.success,n))})),Re=u(2,(e,t)=>Kr(e,pt,(r)=>t(r))),Ul=(e)=>lr(e,{onFailure:(t)=>Ri(t)?Dn:j(t),onSuccess:xc}),zl=u(2,(e,t)=>Kr(e,lc,t)),Dl=u(2,(e,t)=>Ne(e,(r)=>We(U(()=>t(r)),B(r)))),Ll=u(3,(e,t,r)=>Tc(e,t,(n)=>We(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 We(U(()=>r(o.success,n)),B(n))})),Ic=u(2,(e,t)=>ps(e,pt,(r)=>t(r))),$l=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)}),jl=u(2,(e,t)=>ps(e,lc,(r)=>t(r))),jn=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 jn(e,o,r,n)}),Hl=u((e)=>k(e[0]),(e,t,r)=>{let n;return ds(e,(o)=>(n??=Object.keys(t),O(o,"_tag")&&Fr(o._tag)&&n.includes(o._tag)?ke(o):de(o)),(o)=>U(()=>t[o._tag](o)),r)}),Bl=u((e)=>k(e[0]),(e,t,r,n,o)=>jn(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)):j(s)})),ql=u((e)=>k(e[0]),(e,t,r,n)=>{let o;return jn(e,(s)=>it(s,t)&&O(s,"reason")&&O(s.reason,"_tag")&&Fr(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)):j(s)})}),Wl=u(2,(e,t)=>ds(e,(r)=>{if(it(r,t)&&O(r,"reason"))return ke(r.reason);return de(r)},j));var Pc=u(2,(e,t)=>Re(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)=>Re(e,At),Vl=u(2,(e,t)=>Re(e,(r)=>b(t))),Jl=(e)=>P(()=>{let t=e[Symbol.iterator](),r=t.next();if(r.done)return At(Error("Received an empty collection of effects"));function n(o){let s=t.next();if(s.done)return o.value;return Re(o.value,(i)=>n(s))}return n(r)}),Fc=(e)=>Re(e,(t)=>E(Jr,()=>Fc(e))),Kl=u((e)=>k(e[0]),(e,t)=>{if(!t?.log)return lr(e,{onFailure:(n)=>M,onSuccess:(n)=>M});let r=rt(t.log===!0?void 0:t.log);return lt(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)=>M})}),Ql=u((e)=>k(e[0]),(e,t)=>{if(!t?.log)return lt(e,{onFailure:(n)=>M,onSuccess:(n)=>M});let r=rt(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})}),Gl=(e)=>gs(e,{onFailure:ee,onSuccess:ue}),Wt=(e)=>Hn(e,{onFailure:de,onSuccess:ke}),lt=u(2,(e,t)=>{let r=Object.create(bE);return r[F]=e,r[_e]=t.onSuccess.length!==1?(n)=>t.onSuccess(n):t.onSuccess,r[Ye]=t.onFailure.length!==1?(n)=>t.onFailure(n):t.onFailure,r}),bE=St({op:"OnSuccessAndFailure",[X](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(Cn);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))})),Hn=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return ie(t.onSuccess(e.value));let r=pt(e.cause);if(J(r))return e;return ie(t.onFailure(r.success))}return gs(e,t)}),Yl=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return ie(t.onSuccess(e.value));return ie(t.onFailure(e.cause))}return Mc(e,t)}),Bn=(e)=>$e(e)?ie(e):SE(e),SE=He({op:"Exit",[X](e){return e._stack.push(this),this[F]},[_e](e,t,r){return y(r??ie(e))},[Ye](e,t,r){return y(r??De(e))}}),Xl=Hn({onFailure:()=>!0,onSuccess:()=>!1}),Zl=Hn({onFailure:()=>!1,onSuccess:()=>!0}),ep=u(2,(e,t)=>We(xr(t),e)),Nc=u(2,(e,t)=>us(e,E(xr(t.duration),t.orElse))),tp=u(2,(e,t)=>Nc(e,{duration:t,orElse:()=>j(new Zc)})),rp=u(2,(e,t)=>us(as(e),Ae(xr(t),ee()))),np=(e)=>gr((t)=>{let r=t.currentTimeNanosUnsafe();return D(e,(n)=>[In(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 CE(e,n,t)},CE=bc(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=zn();for(let c=s.length-1;c>=0;c--){let f=s[c];if(e.strategy==="sequential")n.push(yield*Bn(f(r)));else o.push(hr(i,f(r),!0,!0,"inherit"))}if(o.length>0)n=yield*ss(o);return yield*Tl(n)});var op=(e,t)=>{let r=qn(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(()=>ip(e,n))),r},mt=(e,t)=>P(()=>{if(e.state._tag==="Closed")return t(e.state.exit);return ts(e,{},t),M}),sp=(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)},ip=(e,t)=>{if(e.state._tag==="Open")e.state.finalizers.delete(t)},qn=(e="sequential")=>({[sc]:sc,[oc]:oc,strategy:e,state:wE}),wE={_tag:"Empty"};var Wn=pr,cp=Se(pr),ys=(e)=>R((t)=>{let r=t.context,n=qn();return t.setContext(Be(t.context,pr,n)),Gr(e,(o)=>(t.setContext(r),xs(n,o)))});var Es=(e)=>P(()=>{let t=qn();return Te(e(t),(r)=>P(()=>xs(t,r)??M))}),dr=(e,t,r)=>Vt((n)=>Jn((o)=>E(Wn,(s)=>dt(r?.interruptible?o(e):e,(i)=>mt(s,(c)=>Tt(t(i,c),n)))))),Qr=(e)=>E(Wn,(t)=>Vt((r)=>mt(t,(n)=>Tt(e(n),r)))),Gr=He({op:"OnExit",single:!1,[X](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},[Ye](e,t,r){r??=De(e);let n=this[F][1](r);return n?E(n,(o)=>r):r}}),Te=u(2,Gr),ap=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,vl,t)),up=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)})),fp=u(2,(e,t)=>$c(Qf,t)(e)),Vn=(e,t,r)=>Jn((n)=>E(e,(o)=>Gr(n(t(o)),(s)=>r(o,s),!0))),lp=(e)=>dr(e,(t)=>O(t,Symbol.asyncDispose)?yc(()=>t[Symbol.asyncDispose]()):b(()=>t[Symbol.dispose]())),jc=u(2,(e,t)=>b(()=>{let r=jr(Le(t)),n=Number.isFinite(r),o=Yc(!1),s=0,i=!1,c,f=E(o.await,()=>c);return[R((l)=>{let h=l.getRef(ht),p=n?h.currentTimeMillisUnsafe():0;if(i||p<s)return c??f;return i=!0,o.closeUnsafe(),c=void 0,Te(e,(g)=>b(()=>{i=!1,s=h.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])),pp=(e)=>Hc(e,$r),dp=R((e)=>B(rs(e.id))),mr=(e)=>R((t)=>{if(!t.interruptible)return e;return t.interruptible=!1,t._stack.push(bs),e}),mp=He({op:"SetInterruptible",[Dt](e){if(e.interruptible=this[F],e._interruptedCause&&e.interruptible)return()=>B(e._interruptedCause)}}),bs=mp(!0),hp=mp(!1),Bc=(e)=>R((t)=>{if(t.interruptible)return e;if(t.interruptible=!0,t._stack.push(hp),t._interruptedCause)return B(t._interruptedCause);return e}),Jn=(e)=>R((t)=>{if(!t.interruptible)return e(w);return t.interruptible=!1,t._stack.push(bs),e(Bc)}),gp=(e)=>R((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),Ss=(e,t)=>{if(Et(e))return t?.mode==="result"?qe(e,Wt,t):qe(e,w,t);else if(t?.discard)return t.mode==="result"?qe(Object.values(e),Wt,t):qe(Object.values(e),w,t);return P(()=>{let r={};return Ae(qe(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(qe(e,(n,o)=>Wt(t(n,o)),r),(n)=>xf(n,w))),yp=u((e)=>Et(e[0])&&!k(e[0]),(e,t,r)=>E(qc(e,t,{concurrency:r?.concurrency}),([n,o])=>{if(Li(n))return j(n);return r?.discard?M:y(o)})),Ep=u((e)=>Et(e[0])&&!k(e[0]),(e,t)=>P(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return bp(r,0,t,n.value);return y(ee())})),bp=(e,t,r,n)=>E(r(n,t),(o)=>{if(o)return y(ue(n));let s=e.next();if(!s.done)return bp(e,t+1,r,s.value);return y(ee())}),Sp=u((e)=>Et(e[0])&&!k(e[0]),(e,t)=>P(()=>{let r=e[Symbol.iterator](),n=r.next();if(!n.done)return Cp(r,0,t,n.value);return y(ee())})),Cp=(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 Cp(e,t+1,r,s.value);return y(ee())}),Jt=He({op:"While",[_e](e,t){if(this[F].step(e),this[F].while())return t._stack.push(this),this[F].body();return et},[X](e){if(this[F].while())return e._stack.push(this),this[F].body();return et}}),qe=u((e)=>typeof e[1]==="function",(e,t,r)=>R((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 kE(e,t,r);let i=Ze(e),c=i.length;if(c===0)return r?.discard?M:y([]);let f=r?.discard?void 0:Array(c),l=OE({f:t,out:f},i,{concurrency:s});return l?Ae(l,f):y(f)})),kE=(e,t,r)=>P(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return Ae(Jt({while:()=>!s.done,body:()=>t(s.value,i++),step:(c)=>{if(n)n.push(c);s=o.next()}}),n)}),vE=(e)=>{let{onItem:t,step:r}=e;return(n,o,s)=>{let i=s?.start??0,c=s?.end??o.length,f=s?.concurrency??1,l=!1,h,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(Bn(ye),(Q)=>(x=r(n,te,Q,i),i++,x??v()??M));else if(!h)return Me((Q)=>{h=zn(),T=ye,g=Q;let Je=v();if(Je)return Q(Je);return P(()=>(x=et,S=!0,p?fr(p):M))});else{T=void 0;let Q=hr(h,ye,!0,!0,"inherit");if(Q._exit){if(x=r(n,te,Q._exit,i),x)break;continue}if(p)p.add(Q);else p=new Set([Q]);let Je=i;if(Q.addObserver((Ie)=>{if(p.delete(Q),x){if(!S&&Ie._tag==="Failure")for(let pe of Ie.cause.reasons)if(pe._tag==="Interrupt")continue;else if(x._tag==="Failure")x.cause.reasons.push(pe);else x=De(nr([pe]))}else{let pe=r(n,te,Ie,Je);if(pe)x=pe._tag==="Failure"?De(nr(pe.cause.reasons.slice())):pe,v()}if(se){let pe=v();if(pe)g(pe)}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(h);p.forEach((ye)=>ye.interruptUnsafe(h.id,te));return}if(g||x._tag==="Failure")return x}else if(g){if(!p)return et;else if(p.size===0)g(M)}};return v()}};var OE=vE({onItem(e,t,r){return e.f(t,r)},step(e,t,r,n){if(r._tag==="Failure")return r;else if(e.out)e.out[n]=r.value}}),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)})),wp=u((e)=>k(e[0]),(e,t,r)=>Vc(e,t,r?(n)=>j(r(n)):()=>j(new kt))),kp=u((e)=>Et(e[0])&&!k(e[0]),(e,t,r)=>P(()=>{let n=[];return Ae(qe(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)})),vp=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)})),Op=u((e)=>Et(e[0])&&!k(e[0]),(e,t,r)=>P(()=>{let n=[];return Ae(qe(e,(o)=>D(t(o),(s)=>{if(ir(s))n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),Ap=y({}),Rp=Wu(D),Tp=Vu(D,E),Ip=qu(D);var Pp=u((e)=>k(e[0]),(e,t)=>R((r)=>(BE(),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},_p=u((e)=>k(e[0]),(e,t)=>R((r)=>y(hr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),Fp=(e)=>R((t)=>{let r=t._children&&Ze(t._children);return Te(e,(n)=>{let o=t._children;if(o===void 0||o.size===0)return M;else if(r)o=uf(o,(s)=>!r.includes(s));return Ln(ss(o))})}),Jc=u((e)=>k(e[0]),(e,t,r)=>R((n)=>{let o=hr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};ts(t,s,()=>ul((c)=>c===o.id?M:hc(o))),o.addObserver(()=>ip(t,s))}else o.interruptUnsafe(n.id,os(n));return y(o)})),Mp=u((e)=>k(e[0]),(e,t)=>E(Wn,(r)=>Jc(e,r,t))),It=(e)=>(t,r)=>{let n=new mc(r?.scheduler?Be(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=It(Fe()),Kc=(e)=>{let t=It(e);return(r,n)=>{let o=t(r,n);if(n?.onExit)o.addObserver(n.onExit);return(s)=>o.interruptUnsafe(s)}},Up=Kc(Fe()),Cs=(e)=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise((s)=>{o.addObserver((i)=>s(i))})}},zp=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})},Dp=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))}},Lp=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}},$p=Gc(Fe()),Bf=y(!0),qf=y(!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](et)};open=R((e)=>{if(this.isOpen)return qf;return this.isOpen=!0,this.scheduleUnsafe(e)});release=R((e)=>this.isOpen?qf: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 jp(e??!1);var Hp=R((e)=>y(e.getRef(Qo))),Bp=u(2,(e,t)=>Se(e,Qo,t)),qp=Se(Yo),Wp=Se(Fn),ic=BigInt(0),AE={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ic,endTime:ic,exit:et},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},RE=(e)=>Object.assign(Object.create(AE),e),Vp=(e)=>{if(!e)return ee();return me(e.annotations,Hr)?e._tag==="Span"?Vp(sr(e.parent)):ee():ue(e)},Xc=(e,t,r)=>{let n=!e.getRef(Yo)||r?.annotations&&me(r.annotations,Hr),o=r?.parent!==void 0?ue(r.parent):r?.root?ee():Vp(e.currentSpan),s;if(n)s=RE({name:t,parent:o,annotations:Be(r?.annotations??Fe(),Hr,!0)});else{let i=e.getRef(Qo),c=e.getRef(ht),f=e.getRef(Fn),l=e.getRef(Mn),h=e.getRef(Nn),p=r?.level??e.getRef(Mf),g=r?.links!==void 0?[...h,...r.links]:h.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:!sd(e.getRef(Nf),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},Jp=(e,t)=>R((r)=>y(Xc(r,e,t))),tt=(e,t)=>mr(R((r)=>{let n=vt(r.context,pr),o=Xc(r,e,t??{}),s=r.getRef(ht),i=r.getRef(Fn);return Ae(mt(n,(c)=>IE(o,c,s,i)),o)})),Kp=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(tt(t,r),(o)=>Wr(n,o,r))}return(n)=>E(tt(t,r),(o)=>Wr(n,o,r))},TE=(e,t)=>(t=typeof t==="function"?t:Ke,Rt(Br,(r)=>({name:e,stack:t,parent:r}))),Qp=Mn,Gp=Nn,Yp=u((e)=>k(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map((s)=>({span:s,attributes:r}));return Rt(e,Nn,(s)=>[...s,...o])}),IE=(e,t,r,n)=>b(()=>{if(e.status._tag==="Ended")return;e.end(n?r.currentTimeNanosUnsafe():ic,t)}),Un=(e,...t)=>{let r=t.length===1?void 0:t[0],n=t[t.length-1];return R((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),Wr=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=TE(t.name,r?.captureStackTrace);if(e)return cc(n(arguments[0]),t);return(o)=>cc(n(o),t)},Xp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=qt(arguments[2]);if(e){let s=arguments[0];return Un(t,arguments[2],(i)=>Wr(s,i,r))}let n=typeof arguments[1]==="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>Un(t,n?n(...i):o,(c)=>Wr(s,c,r))},Zp=u((e)=>k(e[0]),(e,...t)=>Rt(e,Mn,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),ed=(...e)=>R((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}),td=R((e)=>{let t=e.currentSpanLocal;return t?y(t):j(new kt)}),rd=xE(ar),ht=I("effect/Clock",{defaultValue:()=>new nd}),PE=2147483647;class nd{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=b(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return _E()}currentTimeNanos=b(()=>this.currentTimeNanosUnsafe());sleep(e){let t=jr(e);if(t<=0)return Jr;return Me((r)=>{if(t>PE)return;let n=setTimeout(()=>r(M),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))}(),_E=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)=>R((t)=>e(t.getRef(ht))),xr=(e)=>gr((t)=>t.sleep(Le(e))),od=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}),FE=(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}},ME=rf(Dr,FE),sd=nf(ME),ra=I("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([jE,HE])}),NE=I("effect/Logger/LogToStderr",{defaultValue:Pr}),id=function(){let e=typeof arguments[0]==="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return mr(R((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(Be(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(Be(t.context,Ot,i)),M})}))},UE="~effect/Logger",zE={[UE]:{_Message:w,_Output:w},pipe(){return N(this,arguments)}},cd=(e)=>{let t=Object.create(zE);return t.log=e,t},DE=(e)=>e.replace(/[\s="]/g,"_"),LE=(e,t)=>`${DE(e[0])}=${t-e[1]}ms`;var rt=(e)=>(...t)=>{let r=void 0;for(let n=0,o=t.length;n<o;n++){let s=t[n];if(yn(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 R((n)=>{let o=e??n.currentLogLevel;if(sd(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"},VO={None:[],All:[],Trace:[ur.gray],Debug:[ur.blue],Info:[ur.green],Warn:[ur.yellow],Error:[ur.red],Fatal:[ur.bgBrightRed,ur.black]};var $E=(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 jE=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(dc(e));let i=t.getTime(),c=r.getRef(Xo),f="";for(let g of c)f+=` ${LE(g,i)}`;let l=r.getRef(Ot);if(Object.keys(l).length>0)s.push(l);let h=r.getRef(ta);(r.getRef(NE)?h.error:h.log)(`[${$E(t)}] ${n.toUpperCase()} (#${r.id})${f}:`,...s)}),HE=cd(({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(Iu(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function BE(){nc.interruptChildren??=mE}var ad=y(void 0);var ud=u((e)=>k(e[0]),(e,t)=>Lc(e,(r)=>R((n)=>(qE(n,r,t?.defectsOnly),M)))),qE=(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(ht).currentTimeNanosUnsafe()};n.forEach((s)=>s.report(o))};var fd=ta,ce=(e)=>R((t)=>e(t.getRef(fd))),WE=(e,...t)=>ce((r)=>b(()=>{r.assert(e,...t)})),VE=ce((e)=>b(()=>{e.clear()})),JE=(e)=>ce((t)=>b(()=>{t.count(e)})),KE=(e)=>ce((t)=>b(()=>{t.countReset(e)})),QE=(...e)=>ce((t)=>b(()=>{t.debug(...e)})),GE=(e,t)=>ce((r)=>b(()=>{r.dir(e,t)})),YE=(...e)=>ce((t)=>b(()=>{t.dirxml(...e)})),XE=(...e)=>ce((t)=>b(()=>{t.error(...e)})),ZE=(e)=>ce((t)=>dr(b(()=>{if(e?.collapsed)t.groupCollapsed(e.label);else t.group(e?.label)}),()=>b(()=>{t.groupEnd()}))),eb=(...e)=>ce((t)=>b(()=>{t.info(...e)})),tb=(...e)=>ce((t)=>b(()=>{t.log(...e)})),rb=(e,t)=>ce((r)=>b(()=>{r.table(e,t)})),nb=(e)=>ce((t)=>dr(b(()=>{t.time(e)}),()=>b(()=>{t.timeEnd(e)}))),ob=(e,...t)=>ce((r)=>b(()=>{r.timeLog(e,...t)})),sb=(...e)=>ce((t)=>b(()=>{t.trace(...e)})),ib=(...e)=>ce((t)=>b(()=>{t.warn(...e)})),cb=u((e)=>k(e[0]),(e,t)=>ce((r)=>Vn(b(()=>{if(t?.collapsed)r.groupCollapsed(t.label);else r.group(t?.label)}),()=>e,()=>b(()=>{r.groupEnd()})))),ab=u((e)=>k(e[0]),(e,t)=>ce((r)=>Vn(b(()=>{r.time(t)}),()=>e,()=>b(()=>{r.timeEnd(t)}))));var Ve={};pn(Ve,{taggedEnum:()=>fb,TaggedError:()=>nt,TaggedClass:()=>ub,Error:()=>pb,Class:()=>ld});var ld=class extends wu{constructor(e){super();if(e)Object.assign(this,e)}},ub=(e)=>class extends ld{_tag=e},fb=()=>new Proxy({},{get(e,t,r){if(t==="$is")return it;else if(t==="$match")return lb;return(n)=>({...n,_tag:t})}});function lb(){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 pb=Ai,nt=or;var a={};pn(a,{zipWith:()=>jS,zip:()=>dm,yieldNowWith:()=>MS,yieldNow:()=>um,withTracerTiming:()=>QC,withTracerEnabled:()=>KC,withTracer:()=>JC,withSpanScoped:()=>sw,withSpan:()=>ow,withParentSpan:()=>Na,withLogger:()=>Ow,withLogSpan:()=>Tw,withFiber:()=>oo,withExecutionPlan:()=>iC,withErrorReporting:()=>cC,withConcurrency:()=>IC,whileLoop:()=>Ns,when:()=>EC,void:()=>no,validate:()=>vS,useSpan:()=>Ma,updateService:()=>RC,updateContext:()=>Pa,unwrapReason:()=>qS,uninterruptibleMask:()=>cn,uninterruptible:()=>Um,undefined:()=>TS,txRetry:()=>Lw,tx:()=>Nw,tryPromise:()=>gt,try:()=>nn,transposeOption:()=>US,trackSuccesses:()=>Pw,trackErrors:()=>_w,trackDuration:()=>Mw,trackDefects:()=>Fw,track:()=>Iw,tracer:()=>VC,timeoutOrElse:()=>pC,timeoutOption:()=>lC,timeout:()=>fC,timed:()=>dC,tapErrorTag:()=>XS,tapError:()=>Hs,tapDefect:()=>Em,tapCauseIf:()=>ZS,tapCauseFilter:()=>eC,tapCause:()=>ym,tap:()=>so,sync:()=>_t,suspend:()=>Pt,succeedSome:()=>im,succeedNone:()=>sm,succeed:()=>Ce,spanLinks:()=>tw,spanAnnotations:()=>ew,sleep:()=>Ia,serviceOption:()=>Tm,service:()=>Rm,scopedWith:()=>Pm,scoped:()=>Im,scope:()=>_a,scheduleFrom:()=>Dm,schedule:()=>WC,satisfiesSuccessType:()=>jw,satisfiesServicesType:()=>Bw,satisfiesErrorType:()=>Hw,sandbox:()=>nC,runSyncWith:()=>hw,runSyncExitWith:()=>xw,runSyncExit:()=>gw,runSync:()=>Yt,runPromiseWith:()=>jm,runPromiseExitWith:()=>Hm,runPromiseExit:()=>mw,runPromise:()=>$a,runForkWith:()=>$m,runFork:()=>La,runCallbackWith:()=>pw,runCallback:()=>dw,retryOrElse:()=>rC,retry:()=>bm,result:()=>DS,requestUnsafe:()=>cw,request:()=>iw,replicateEffect:()=>qC,replicate:()=>BC,repeatOrElse:()=>HC,repeat:()=>zm,raceFirst:()=>Cm,raceAllFirst:()=>mC,raceAll:()=>Sm,race:()=>hC,provideServiceEffect:()=>TC,provideService:()=>Ws,provideContext:()=>qs,provide:()=>AC,promise:()=>Us,partition:()=>kS,orElseSucceed:()=>aC,orDie:()=>YS,option:()=>LS,onInterrupt:()=>Vs,onExitPrimitive:()=>Mm,onExitIf:()=>NC,onExitFilter:()=>UC,onExit:()=>sn,onErrorIf:()=>FC,onErrorFilter:()=>MC,onError:()=>co,never:()=>va,matchEffect:()=>Am,matchEager:()=>SC,matchCauseEffectEager:()=>kC,matchCauseEffect:()=>on,matchCauseEager:()=>wC,matchCause:()=>CC,match:()=>bC,mapErrorEager:()=>Ww,mapError:()=>xm,mapEager:()=>qw,mapBothEager:()=>Vw,mapBoth:()=>GS,map:()=>Ue,makeSpanScoped:()=>nw,makeSpan:()=>Lm,logWithLevel:()=>Bm,logWarning:()=>Sw,logTrace:()=>vw,logInfo:()=>ww,logFatal:()=>bw,logError:()=>Cw,logDebug:()=>kw,log:()=>Ew,linkSpans:()=>rw,let:()=>_S,isSuccess:()=>OC,isFailure:()=>vC,isEffect:()=>vr,interruptibleMask:()=>$C,interruptible:()=>LC,interrupt:()=>Nm,ignoreCause:()=>sC,ignore:()=>oC,gen:()=>Oa,fromResult:()=>fm,fromOption:()=>NS,fromNullishOr:()=>zS,forkScoped:()=>Da,forkIn:()=>za,forkDetach:()=>aw,forkChild:()=>Ua,forever:()=>Js,forEach:()=>RS,fnUntracedEager:()=>Kw,fnUntraced:()=>uo,fn:()=>yw,flip:()=>$S,flatten:()=>lm,flatMapEager:()=>qm,flatMap:()=>fe,firstSuccessOf:()=>uC,findFirstFilter:()=>AS,findFirst:()=>OS,filterOrFail:()=>Om,filterOrElse:()=>vm,filterMapOrFail:()=>yC,filterMapOrElse:()=>xC,filterMapEffect:()=>km,filterMap:()=>gC,filter:()=>wm,fiberId:()=>lw,fiber:()=>fw,failSync:()=>cm,failCauseSync:()=>am,failCause:()=>Or,fail:()=>Gt,exit:()=>Aa,eventually:()=>tC,ensuring:()=>Fm,effectify:()=>$w,die:()=>zs,delay:()=>Ta,currentSpan:()=>XC,currentParentSpan:()=>ZC,contextWith:()=>io,context:()=>Bs,clockWith:()=>ja,catchTags:()=>hm,catchTag:()=>mm,catchReasons:()=>BS,catchReason:()=>HS,catchNoSuchElement:()=>JS,catchIf:()=>WS,catchFilter:()=>VS,catchEager:()=>Jw,catchDefect:()=>gm,catchCauseIf:()=>KS,catchCauseFilter:()=>QS,catchCause:()=>js,catch:()=>$s,callback:()=>ka,cachedWithTTL:()=>zC,cachedInvalidateWithTTL:()=>DC,cached:()=>ao,bindTo:()=>PS,bind:()=>FS,awaitAllChildren:()=>uw,asVoid:()=>Ls,asSome:()=>pm,as:()=>Ra,annotateSpans:()=>GC,annotateLogsScoped:()=>Rw,annotateLogs:()=>Aw,annotateCurrentSpan:()=>YC,andThen:()=>Ds,all:()=>wS,addFinalizer:()=>_m,acquireUseRelease:()=>_C,acquireRelease:()=>Fa,acquireDisposable:()=>PC,abortSignal:()=>jC,TypeId:()=>CS,Transaction:()=>ro,Do:()=>IS});var pd=ie,dd=De;var md=kc;var ot={};pn(ot,{withSpan:()=>qb,withParentSpan:()=>ca,updateService:()=>Md,unwrap:()=>ia,tapError:()=>Ib,tapCause:()=>Pb,tap:()=>Tb,syncContext:()=>sa,sync:()=>kb,suspend:()=>Ob,succeedContext:()=>Sr,succeed:()=>Id,span:()=>Bb,satisfiesSuccessType:()=>$b,satisfiesServicesType:()=>Hb,satisfiesErrorType:()=>jb,provideMerge:()=>Rb,provide:()=>Xr,parentSpan:()=>Nd,orDie:()=>_b,mock:()=>Db,mergeAll:()=>Ts,merge:()=>Ab,makeMemoMapUnsafe:()=>Zr,makeMemoMap:()=>Sb,launch:()=>zb,isLayer:()=>As,fromBuildMemo:()=>Rs,fromBuild:()=>Kt,fresh:()=>Ub,forkMemoMapUnsafe:()=>Rd,forkMemoMap:()=>Cb,flatMap:()=>Fd,empty:()=>wb,effectDiscard:()=>vb,effectContext:()=>fa,effect:()=>en,catchTag:()=>Mb,catchCause:()=>Nb,catch:()=>Fb,buildWithScope:()=>ua,buildWithMemoMap:()=>Qn,build:()=>Td,CurrentMemoMap:()=>Yr});var db="~effect/Deferred";var mb={[db]:{_A:w,_E:w},pipe(){return N(this,arguments)}},gd=()=>{let e=Object.create(mb);return e.resumes=void 0,e.effect=void 0,e};var xd=(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 hb=u(2,(e,t)=>b(()=>gb(e,t))),yd=hb;var gb=(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=Ot;var bd=Xo,Sd=Br;var vs=pr;var Kn=qn,yr=cp,Cd=mt,na=sp;var Er=op,br=Uc;var Ad="~effect/Layer",wd="~effect/Layer/MemoMap",yb=(e,t)=>(e.observers++,We(mt(t,(r)=>e.finalizer(r)),e.effect)),As=(e)=>O(e,Ad),Eb={[Ad]:{_ROut:w,_E:w,_RIn:w},pipe(){return N(this,arguments)}},Cr=(e)=>{let t=Object.create(Eb);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)}),Rs=(e)=>{let t=Kt((r,n)=>r.getOrElseMemoize(t,n,e));return t},bb=(e,t,r,n)=>{let o=Kn(),s=gd(),i={observers:1,effect:xd(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,yd(s,c))))};class aa{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 yb(r,t);return this.parent?.get(e,t)}getOrElseMemoize(e,t,r){let n=this.get(e,t);if(n)return n;return bb(this,e,t,r)}}var Zr=()=>new aa,Rd=(e)=>new aa(e),Sb=b(Zr),Cb=(e)=>b(()=>Rd(e));class Yr extends ve()("effect/Layer/CurrentMemoMap"){static getOrCreate=Bi(this,Zr)}var Qn=u(3,(e,t,r)=>Se(D(e.build(t,r),Be(Yr,t)),Yr,t)),Td=(e)=>R((t)=>Qn(e,Yr.getOrCreate(t.context),vt(t.context,vs))),ua=u(2,(e,t)=>R((r)=>Qn(e,Yr.getOrCreate(r.context),t))),Id=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))),wb=Sr(Fe()),kb=function(){if(arguments.length===1)return(e)=>sa(()=>ft(arguments[0],e()));return sa(()=>ft(arguments[0],arguments[1]()))},sa=(e)=>Rs(re(b(e))),en=function(){if(arguments.length===1)return(e)=>kd(arguments[0],e);return kd(arguments[0],arguments[1])},kd=(e,t)=>fa(D(t,(r)=>ft(e,r))),fa=(e)=>Rs((t,r)=>yr(e,r)),vb=(e)=>fa(Ae(e,Fe())),Ob=(e)=>Rs((t,r)=>P(()=>e().build(t,r))),ia=(e)=>{let t=ve("effect/Layer/unwrap");return Fd(en(t)(e),me(t))},Pd=(e,t,r)=>{let n=Er(r,"parallel");return qe(e,(o)=>o.build(t,Er(n,"sequential")),{concurrency:e.length}).pipe(D((o)=>Vi(...o)))},Ts=(...e)=>Kt((t,r)=>Pd(e,t,r)),Ab=u(2,(e,t)=>Ts(e,...Array.isArray(t)?t:[t])),_d=(e,t,r)=>Kt((n,o)=>E(Array.isArray(t)?Pd(t,n,o):t.build(n,o),(s)=>e.build(n,o).pipe(Tt(s),D((i)=>r(i,s))))),Xr=u(2,(e,t)=>_d(e,t,w)),Rb=u(2,(e,t)=>_d(e,t,(r,n)=>Bt(n,r))),Fd=u(2,(e,t)=>Kt((r,n)=>E(e.build(r,n),(o)=>t(o).build(r,n)))),Tb=u(2,(e,t)=>Kt((r,n)=>E(e.build(r,n),(o)=>yr(Ae(t(o),o),n)))),Ib=u(2,(e,t)=>Kt((r,n)=>Re(e.build(r,n),(o)=>yr(We(t(o),j(o)),n)))),Pb=u(2,(e,t)=>Kt((r,n)=>Ne(e.build(r,n),(o)=>yr(We(t(o),B(o)),n)))),_b=(e)=>Cr((t,r)=>hs(e.build(t,r))),Fb=u(2,(e,t)=>Cr((r,n)=>Re(e.build(r,n),(o)=>t(o).build(r,n))));var Mb=u(3,(e,t,r)=>Cr((n,o)=>ms(e.build(n,o),t,(s)=>r(s).build(n,o)))),Nb=u(2,(e,t)=>Cr((r,n)=>Ne(e.build(r,n),(o)=>t(o).build(r,n)))),Md=u(3,(e,t,r)=>Xr(e,en(t,D(t,r)))),Ub=(e)=>Cr((t,r)=>e.build(Zr(),r)),zb=(e)=>ys(We(Td(e),cs)),Db=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",Lb(i)},has:ze})),Lb=(e)=>{let t=Object.assign(At(e),{[Od]:Od,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},Od="~effect/Stream",Os="~effect/Channel",$b=()=>(e)=>e,jb=()=>(e)=>e,Hb=()=>(e)=>e,Bb=(e,t)=>(t=qt(t),en(ar,t?.onEnd?dt(tt(e,t),(r)=>Qr((n)=>t.onEnd(r,n))):tt(e,t))),Nd=(e)=>Sr(ar.context(e)),qb=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(tt(t,r),(o)=>Qr((s)=>r.onEnd(o,s))):tt(t,r),(o)=>ca(n,o)))}return(n)=>ia(D(r?.onEnd!==void 0?dt(tt(t,r),(o)=>Qr((s)=>r.onEnd(o,s))):tt(t,r),(o)=>ca(n,o)))},ca=function(){let e=As(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;if(t._tag==="Span")r=qt(r),n=Wb(t.name,r?.captureStackTrace);let o=Nd(t);if(e)return Xr(n(arguments[0]),o);return(s)=>Xr(n(s),o)},Wb=(e,t)=>(t=typeof t==="function"?t:Ke,Md(Sd,(r)=>({name:e,stack:t,parent:r})));var Ud="~effect/ExecutionPlan";var Vb={[Ud]:Ud,get captureRequirements(){let e=this;return Vt((t)=>y(Jb(e.steps.map((r)=>({...r,provide:As(r.provide)?Xr(r.provide,Sr(t)):r.provide})))))},pipe(){return N(this,arguments)}},Jb=(e)=>{let t=Object.create(Vb);return t.steps=e,t};var zd=I("effect/ExecutionPlan/CurrentMetadata",{defaultValue:re({attempt:0,stepIndex:0})});var Dd=ns;var Is=pt;var la=pc;var Ps=vn;var wr=ju;var Yn=u(2,(e,t)=>Kr(e,Qb,(r)=>t(r)));var pa=Qi(Is,(e)=>Ps(e)?ke(e):de(e));var Qb=Qi(Is,(e)=>Ps(e)?ke(e.value):de(e)),Ld=(e)=>{let t=pa(e);return!J(t)?pd(t.success.value):dd(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 $d="~effect/Schedule";var kr=I("effect/Schedule/CurrentMetadata",{defaultValue:re({input:void 0,output:void 0,duration:Lr,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),Gb={[$d]:{_Out:w,_In:w,_Env:w},pipe(){return N(this,arguments)}},ha=(e)=>O(e,$d),ga=(e)=>{let t=Object.create(Gb);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}}},Yb=(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,Ae(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)}))),jd=(e)=>Xn(ba,({attempt:t})=>y(t<=e));var Xb=(e)=>{let t=Le(e);return Yb(y((r)=>y([r.attempt-1,t])))};var Xn=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),(h)=>h?y(i):wr(c))})})));var ba=Xb(Lr);var Zb=(e,t,r)=>Es((n)=>E(r?.local?Qn(t,Zr(),n):ua(t,n),(o)=>Tt(e,o))),Fs=u((e)=>k(e[0]),(e,t,r)=>Bo(t)?Tt(e,t):Zb(e,Array.isArray(t)?Ts(...t):t,r));var Sa=u(3,(e,t,r)=>E(_s(t),(n)=>{let o=kr.defaultValue();return Re(ls(dt(E(P(()=>Se(e,kr,o)),n),(s)=>b(()=>{o=s})),{disableYield:!0}),(s)=>vn(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=Re(P(()=>Se(e,kr,o)),(c)=>(s=c,E(n(c),(f)=>(o=f,i))));return Yn(i,(c)=>U(()=>r(s,c)))})),qd=u(2,(e,t)=>{let r=typeof t==="function"?t(w):ha(t)?t:eo(t);return Sa(e,r,j)}),Zn=u(2,(e,t)=>{let r=typeof t==="function"?t(w):ha(t)?t:eo(t);return Ca(e,r,j)}),Wd=u(3,(e,t,r)=>E(_s(r),(n)=>{let o=kr.defaultValue(),s=P(()=>Se(e,kr,o));return Re(E(n(t),(i)=>{o=i;let c=re(E(s,n));return Jt({while:ze,body:c,step(f){o=f}})}),(i)=>vn(i)?y(i.value):j(i))})),eS=Ea(ba),eo=(e)=>{let t=e.schedule?Ea(e.schedule):eS;if(e.while)t=Xn(t,({input:r})=>{let n=e.while(r);return k(n)?n:y(n)});if(e.until)t=Xn(t,({input:r})=>{let n=e.until(r);return k(n)?D(n,(o)=>!o):y(!n)});if(e.times!==void 0)t=Xn(t,({attempt:r})=>y(r<=e.times));return t};var Kd=u(2,(e,t)=>P(()=>{let r=0,n={attempt:0,stepIndex:0},o=fs(zd,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,Vr(s)}),c=Zn(c,Jd(i,!1))}else{let f=Jd(i,!0);c=f?Zn(c,f):c}return Wt(c)},step(i){s=i,r++}}),()=>Vr(s))})),Jd=(e,t)=>{if(!t)return eo({schedule:e.schedule?e.schedule:e.attempts?void 0:tS,times:e.attempts,while:e.while});else if(e.attempts===1||!(e.schedule||e.attempts))return;return eo({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},tS=jd(1);var nS="~effect/Request",oS=Au({_E:(e)=>e,_A:(e)=>e,_R:(e)=>e}),sR={...Fu,[nS]:oS};var Qd=(e)=>e;var Yd=u(2,(e,t)=>{let r=(n)=>Me((o)=>{let s=Zd(n,e,o,zn());return sS(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:me(t.context,_n)});return()=>em(t.resolver,r)},Ms=[],wa=new WeakMap,Zd=(e,t,r,n)=>{let o=wa.get(e);if(!o)o=new Map,wa.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(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),(h)=>Gd(l)),run:Te(P(()=>l.resolver.runAll(Array.from(l.entries),l.key)),(h)=>{for(let p of l.entrySet)p.completeUnsafe(h._tag==="Success"?wt(Error("Effect.request: RequestResolver did not complete request",{cause:p.request})):h);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)(Gd(s),{scheduler:n.currentScheduler}),c},em=(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()},sS=(e,t)=>b(()=>em(e,t));function Gd(e){if(!e.map.has(e.key))return M;return e.map.delete(e.key),e.run}var aS="effect/Metric/CurrentMetricAttributes",uS=I(aS,{defaultValue:()=>({})}),fS="~effect/observability/Metric/MetricRegistryKey",lS=I(fS,{defaultValue:()=>new Map}),tm="~effect/observability/Metric";class tn{[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=me(e,uS);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=bS(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=xS(this,t),n=me(e,lS);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 rm=BigInt(0);class pS extends tn{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?rm:0,t=this.#t?this.#e?(n)=>n>=rm:(n)=>n>=0:(n)=>!0;return to(()=>({count:e,incremental:this.#t}),(n)=>{if(t(n))e=e+n})}}class dS extends tn{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 to(()=>({value:e}),(n)=>{e=n},(n)=>{e=e+n})}}class mS extends tn{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 to(()=>({occurrences:e}),(r)=>{let n=e.get(r)??0;e.set(r,n+1)})}}class hS extends tn{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,Dr),(h,p)=>{n[p]=h});let f=(h)=>{let p=0,g=t;while(p!==g){let S=Math.floor(p+(g-p)/2),x=n[S];if(h<=x)g=S;else p=S;if(g===p+1)if(h<=n[p])g=p;else p=g}if(r[p]=r[p]+1,o=o+1,s=s+h,h<i)i=h;if(h>c)c=h},l=()=>{let h=zi(t),p=0;for(let g=0;g<t;g++){let S=n[g],x=r[g];p=p+x,h[g]=[S,p]}return h};return to(()=>({buckets:l(),count:o,min:i,max:c,sum:s}),f)}}class gS extends tn{type="Summary";#e;#t;#r;constructor(e,t){super(e,t?.description,Qt(t?.attributes));this.#e=Math.max(jr(Le(t.maxAge)),0),this.#t=t.maxSize,this.#r=t.quantiles}createHooks(){let e=Lo(this.#r,Dr),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,Dr),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 to((p)=>{let g=me(p,ht);return{quantiles:c(g.currentTimeMillisUnsafe()),count:n,min:s,max:i,sum:o}},([p,g])=>f(p,g))}}var rn=u(2,(e,t)=>Vt((r)=>b(()=>e.updateUnsafe(t,r))));function xS(e,t){let r=`${e.type}:${e.id}`;if(yt(e.description))r+=`:${e.description}`;if(yt(t))r+=`:${yS(t)}`;return r}function to(e,t,r){return{get:e,update:t,modify:r??t}}function yS(e){return ES(Array.isArray(e)?e:Object.entries(e))}function ES(e){return e.map(([t,r])=>`${t}=${r}`).join(",")}function bS(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 CS=ut,vr=k,wS=Ss,kS=qc,vS=yp,OS=Ep,AS=Sp,RS=qe,Ns=Jt,Us=yc,gt=al,Ce=y,sm=Dn,im=xc,Pt=P,_t=b,no=M;var TS=ad;var ka=Me,va=cs,IS=Ap,PS=Rp,_S=Ip;var FS=Tp,Oa=pl,Gt=j,cm=is,Or=B,am=il,zs=At,nn=cl;var um=Jr,MS=gc,oo=R,fm=Vr,NS=nl,US=sl,zS=ol,fe=E,lm=bl,Ds=We,so=dt,DS=Wt,LS=Gl,Aa=Bn,Ue=D,Ra=Ae,pm=as,Ls=Ln,$S=hl,dm=Oc,jS=Ac,$s=Re;var mm=ms,hm=Hl,HS=Bl,BS=ql,qS=Wl,js=Ne,gm=zl,WS=jn,VS=ds,JS=Ul,KS=Tc,QS=Kr,xm=Pc,GS=_c,YS=hs,Hs=Ic,XS=$l,ym=Dl,ZS=Ll,eC=ps,Em=jl,tC=Fc,bm=Zn,rC=Ca,nC=gl,oC=Kl,sC=Ql,iC=Kd,cC=ud,aC=Vl,uC=Jl,fC=tp,lC=rp,pC=Nc,Ta=ep,Ia=xr,dC=np,Sm=Cc,mC=wc,hC=xl,Cm=us,wm=kp,gC=vp,km=Op,vm=Wc,xC=Vc,Om=Fl,yC=wp,EC=Ml,bC=gs,SC=Hn,CC=Mc,wC=Yl,kC=yl,on=lt,Am=lr,vC=Xl,OC=Zl,Bs=vc,io=Vt,AC=Fs,qs=Tt,Rm=Il,Tm=Pl,Pa=$n,RC=Rt,Ws=Se,TC=fs,IC=_l,_a=Wn,Im=ys,Pm=Es,Fa=dr,PC=lp,_C=Vn,_m=Qr,Fm=ap,co=Lc,FC=up,MC=$c,Mm=Gr,sn=Te,NC=zc,UC=Dc,ao=pp,zC=Hc,DC=jc,Nm=dp,LC=Bc,Vs=fp,Um=mr,cn=Jn,$C=gp,jC=xp,Js=ls,zm=qd,HC=Sa,BC=Rc,qC=Nl,WC=u(2,(e,t)=>Dm(e,void 0,t)),Dm=Wd,VC=Hp,JC=Bp,KC=qp,QC=Wp,GC=Zp,YC=ed,XC=td,ZC=rd,ew=Qp,tw=Gp,rw=Yp,Lm=Jp,nw=tt,Ma=Un,ow=Xp,sw=Kp,Na=Wr,iw=Yd,cw=Xd,Ua=Pp,za=Jc,Da=Mp,aw=_p,uw=Fp,fw=fl,lw=ll,La=Np,$m=It,pw=Kc,dw=Up,$a=Dp,jm=Qc,mw=zp,Hm=Cs,Yt=$p,hw=Gc,gw=Lp,xw=ws,uo=bc,yw=dl,ja=gr,Bm=rt,Ew=rt(),bw=rt("Fatal"),Sw=rt("Warn"),Cw=rt("Error"),ww=rt("Info"),kw=rt("Debug"),vw=rt("Trace"),Ow=u(2,(e,t)=>Rt(e,ra,(r)=>new Set([...r,t]))),Aw=u((e)=>vr(e[0]),(e,...t)=>Rt(e,Ed,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),Rw=id,Tw=u(2,(e,t)=>E(od,(r)=>Rt(e,bd,(n)=>[[t,r],...n]))),Iw=u((e)=>vr(e[0]),(e,t,r)=>sn(e,(n)=>{let o=r===void 0?n:U(()=>r(n));return rn(t,o)})),Pw=u((e)=>vr(e[0]),(e,t,r)=>so(e,(n)=>{let o=r===void 0?n:r(n);return rn(t,o)})),_w=u((e)=>vr(e[0]),(e,t,r)=>Hs(e,(n)=>{let o=r===void 0?n:U(()=>r(n));return rn(t,o)})),Fw=u((e)=>vr(e[0]),(e,t,r)=>Em(e,(n)=>{let o=r===void 0?n:U(()=>r(n));return rn(t,o)})),Mw=u((e)=>vr(e[0]),(e,t,r)=>ja((n)=>{let o=n.currentTimeNanosUnsafe();return sn(e,()=>{let s=n.currentTimeNanosUnsafe(),i=Af(Le(s),Le(o)),c=r===void 0?i:U(()=>r(i));return rn(t,c)})}));class ro extends ve()("effect/Effect/Transaction"){}var Nw=(e)=>oo((t)=>{if(t.context.mapUnsafe.has(ro.key))return e;let r={journal:new Map,retry:!1},n;return cn((o)=>fe(Ns({while:()=>!n,body:re(o(e).pipe(Ws(ro,r),ym(()=>{if(!r.retry)return no;return o(zw(r))}),Aa)),step(s){if(r.retry||!Uw(r))return om(r);if(md(s))Dw(t,r);else om(r);n=s}}),()=>n))}),Uw=(e)=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},zw=(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(no)};for(let i of r)i.pending.set(t,s);return _t(n)})});function Dw(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 Lw=fe(ro,(e)=>(e.retry=!0,Nm)),$w=(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))}}),jw=()=>(e)=>e,Hw=()=>(e)=>e,Bw=()=>(e)=>e,qw=Sl,Ww=Cl,Vw=wl,qm=El,Jw=kl,Kw=ml;var fo="zh-CN";var Y=Z.Service("ConfigRepo");class lo extends Ve.TaggedError("ConfigError"){}class an extends Ve.TaggedError("AuthError"){}class _ extends Ve.TaggedError("ApiError"){}class le extends Ve.TaggedError("ValidationError"){}class z extends Ve.TaggedError("FileError"){}class Ar extends Ve.TaggedError("OssError"){}var Qw=1,Ha=(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=Gw(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}},Gw=(e)=>{let t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?"/":t.slice(0,r)},Wm=(e,t)=>({version:Qw,localDir:e,remotePrefix:t,lastSyncedAt:new Date().toISOString(),files:{}});var{S3Client:Yw}=globalThis.Bun;var Ks=(e,t)=>e instanceof Ar?e:new Ar({message:String(e),key:t,status:Xw(e)?e.status:void 0}),Xw=(e)=>typeof e==="object"&&e!==null&&e.name==="S3Error",Ba=(e)=>{let t=new Yw({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)=>Ks(o,r)}),exists:(r)=>a.tryPromise({try:()=>t.exists(r),catch:(n)=>Ks(n,r)}),delete:(r)=>a.tryPromise({try:()=>t.delete(r),catch:(n)=>Ks(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)=>Ks(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*Y,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*Y).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*Y,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*Y).loadProjectConfig(),o=yield*qa(n),s=ih(o,e.env),i=ch(n.rootDir,o.sync.localDir),c=o.sync.remotePrefix??"",f=[],l=[],h=yield*sh(n,e.env,s),p=Ba({...s,accessKeyId:h.accessKeyId,secretAccessKey:h.secretAccessKey}),g=Ha(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 Q=0;Q<T.length;Q++){let{absolutePath:Je,relativePath:Ie}=T[Q],pe=[c,Ie].filter(Boolean).join("/");if(l.push(pe),e.onProgress)yield*a.sync(()=>e.onProgress({current:Q+1,total:T.length,file:Ie,action:"checking"}));let Ir=yield*Zw(p,i,c,x,Je,Ie,e.verify??!1);if(Ir._tag==="uploaded"){if(e.onProgress)yield*a.sync(()=>e.onProgress({current:Q+1,total:T.length,file:Ie,action:"uploading"}));se++,f.push(Ir.key)}else if(Ir._tag==="skipped"){if(e.onProgress)yield*a.sync(()=>e.onProgress({current:Q+1,total:T.length,file:Ie,action:"skipping"}));te++}else{if(e.onProgress)yield*a.sync(()=>e.onProgress({current:Q+1,total:T.length,file:Ie,action:"error"}));v.push(Ir.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*Y).loadProjectConfig(),n=yield*qa(r),o=ch(r.rootDir,n.sync.localDir),s=Ha(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 h=0;if(i){for(let p of Object.keys(i.files))if(!f.has(p))h++}return{env:e.env,pendingUploads:l,pendingDeletions:h,totalLocal:c.length,manifestEntries:i?Object.keys(i.files).length:0,manifestPath:s.path()}}),nh=(e)=>a.gen(function*(){let r=yield*(yield*Y).loadProjectConfig(),n=yield*qa(r),o=ih(n,e.env),s=yield*sh(r,e.env,o);return yield*Ba({...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 Ar({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 Ar({message:`No OSS credentials for ${t}. Store with: fizzyx oss setup [--env <name>]`})}),qa=(e)=>e.oss?a.succeed(e.oss):a.fail(new le({message:"No OSS config found. Run: fizzyx oss setup"})),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})}),Zw=(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 h=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:h},{_tag:"uploaded",key:f}}).pipe(a.catch((c)=>a.succeed({_tag:"error",error:c instanceof Error?c.message:String(c)})));import{existsSync as Ka}from"fs";var Qs=".fizzy.yaml",ek=".config/fizzy/config.yaml",hh="1",gh="https://fizzy.puffin.studio",xh=5,yh=900,tk=()=>({loadProjectConfig:()=>a.gen(function*(){let e=yield*lh(),t=yield*ho(e),r=po(e);return Wa(t,e,r)}),loadProjectConfigOptional:()=>a.gen(function*(){let e=yield*lh(),t=yield*ho(e);return Wa(t,e,po(e))}).pipe(a.catch((e)=>mo(e,"ConfigError")?a.succeed(void 0):a.fail(e))),setupProjectConfig:(e)=>a.gen(function*(){let t=e.configPath||`${process.cwd()}/${Qs}`,r=yield*ph(t),n=ik(e,r);return yield*Ja(t,n,384),Wa(n,t,po(t))}),setupOssConfig:(e)=>a.gen(function*(){let t=e.configPath||`${process.cwd()}/${Qs}`,r=yield*ph(t),n=uk(e,r);yield*Ja(t,n,384);let o=bh(Ys(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*Va(e),r=new z({message:`No token in ${t}`,path:t});if(Ka(t)){let o=yield*nk(t).pipe(a.match({onFailure:(s)=>s,onSuccess:(s)=>s}));if(!mo(o,"FileError"))return o;if(!dk(o,t))return yield*a.fail(o)}let n=yield*dh(e).pipe(a.catch(()=>a.fail(r)));return yield*fh(e,n),n}),migrateCredentialsFromOfficial:dh,saveCredentials:(e,t)=>fh(e,t),deleteCredentials:(e)=>a.gen(function*(){let t=yield*Va(e);yield*a.tryPromise({try:()=>Bun.file(t).delete(),catch:(r)=>new z({message:`Failed to delete credentials: ${String(r)}`,path:t})})})}),Gs=ot.sync(Y,()=>tk()),fh=(e,t)=>a.gen(function*(){let r=yield*Va(e);yield*ok(po(r)),yield*Ja(r,`${JSON.stringify(t,null,2)}
28
- `,384)}),lh=()=>a.sync(()=>{let e=process.cwd();while(!0){let t=`${e}/${Qs}`;if(Ka(t))return t;let r=po(e);if(r===e)break;e=r}throw new lo({message:`No ${Qs} found from ${process.cwd()}`})}).pipe(a.catch((e)=>mo(e,"ConfigError")?a.fail(e):a.fail(new lo({message:String(e)})))),Va=(e)=>a.sync(()=>{let t=process.env.HOME;if(!t)throw new z({message:"HOME is not set"});return`${t}/.config/fizzyx/credentials/${mk(e)}.json`}).pipe(a.catch((t)=>mo(t,"FileError")?a.fail(t):a.fail(new z({message:String(t)})))),rk=()=>a.sync(()=>{let e=process.env.HOME;if(!e)throw new z({message:"HOME is not set"});return`${e}/${ek}`}).pipe(a.catch((e)=>mo(e,"FileError")?a.fail(e):a.fail(new z({message:String(e)})))),mo=(e,t)=>typeof e==="object"&&e!==null&&("_tag"in e)&&e._tag===t,ho=(e)=>a.tryPromise({try:()=>Bun.file(e).text(),catch:(t)=>new z({message:`Failed to read ${e}: ${String(t)}`,path:e})}),ph=(e)=>Ka(e)?ho(e):a.succeed(""),nk=(e)=>ho(e).pipe(a.map((t)=>{if(t.trim()==="")throw new z({message:`No token in ${e}`,path:e});let r=fk(t,e),n=typeof r.token==="string"?r.token:"";if(n==="")throw new z({message:`No token in ${e}`,path:e});return{token:n}})),dh=(e)=>a.gen(function*(){let t=yield*rk(),r=yield*ho(t),n=lk(r,t);if(mh(n.account)!==e)return yield*new z({message:`No matching official credential for account ${e}`,path:t});let s=mh(n.token);if(s==="")return yield*new z({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 z({message:`Failed to write ${e}: ${String(n)}`,path:e})}),ok=(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})}),Wa=(e,t,r)=>{let n=Ys(e),o=ge(n.account)||hh,s=ge(n.api_url)||gh,i=ge(n.board)||void 0,c=sk(n.flow),f=bh(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}},sk=(e)=>{let t=xt(e),r=xt(t.columns),n=ge(r.todo),o=ge(r.in_progress)||ge(r.inProgress);if(!n||!o)return;let s={};for(let[i,c]of Object.entries(xt(t.users))){let f=ge(c);if(f)s[i]=f}return{columns:{todo:n,inProgress:o},users:s,card:{language:Eh(t.card)||fo},wipLimit:go(t.wip_limit)||xh,cacheTtlSeconds:go(t.cache_ttl)||yh}},ik=(e,t="")=>{let r=Ys(t),n=xt(r.flow),o=Eh(n.card)||fo,s={columns:{todo:e.todoColumn||ge(xt(n.columns).todo)||"",in_progress:e.inProgressColumn||ge(xt(n.columns).in_progress)||""},users:pk(e.users||{}),card:{language:o},wip_limit:go(n.wip_limit)||xh,cache_ttl:go(n.cache_ttl)||yh},i={};i.api_url=e.apiUrl||gh,i.account=e.account||hh,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)},Eh=(e)=>{if(typeof e==="object"&&e!==null){let t=e.language;if(t==="en"||t==="mixed"||t==="zh-CN")return t}return},bh=(e)=>{let t=xt(e);if(!t)return;let r=ak(t.sync);if(!r)return;let n={};for(let o of Object.keys(t)){if(o==="sync")continue;let s=ck(t[o]);if(s)n[o]=s}if(Object.keys(n).length===0)return;return{environments:n,sync:r}},ck=(e)=>{let t=xt(e),r=ge(t.endpoint),n=ge(t.region),o=ge(t.bucket);if(!r||!n)return;let s={endpoint:r,region:n};if(o)s.bucket=o;let i=ge(t.access_key_id),c=ge(t.secret_access_key);if(i)s.accessKeyId=i;if(c)s.secretAccessKey=c;return s},ak=(e)=>{let t=xt(e),r=ge(t.local_dir),n=ge(t.remote_prefix);if(!r)return;return{localDir:r,remotePrefix:n??"",concurrency:go(t.concurrency)||10}},uk=(e,t)=>{let r=Ys(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)},Ys=(e)=>{if(e.trim()==="")return{};let t=Bun.YAML.parse(e);if(!t||typeof t!=="object"||Array.isArray(t))throw new lo({message:"Invalid config format: expected YAML object"});return t},fk=(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})}},lk=(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})}},pk=(e)=>{let t={};for(let[r,n]of Object.entries(e))t[r]=n;return t},ge=(e)=>typeof e==="string"?e:"",mh=(e)=>typeof e==="string"||typeof e==="number"?e.toString():"",dk=(e,t)=>e.message===`No token in ${t}`,go=(e)=>{if(typeof e==="number")return Number.isFinite(e)?e:0;return Number.parseInt(ge(e),10)||0},xt=(e)=>e&&typeof e==="object"&&!Array.isArray(e)?e:{},mk=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_"),po=(e)=>{let t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?"/":t.slice(0,r)};var Sh=Z.Service("CacheRepo");var RP=ot.effect(Sh)(a.gen(function*(){let t=yield*(yield*Y).loadProjectConfig();return Xs(t.account,t.board??"")})),hk=".config/fizzyx/cache",Xs=(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=Ch(e),i=Ch(t);return`${o}/${hk}/${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)}
29
- `)},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})})))}},Ch=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");var NP=`~effect/Fiber/${Zo}`;var wh=hc;var kh=Yc;var yk="~effect/Channel";var Ek={[yk]:{_Env:w,_InErr:w,_InElem:w,_OutErr:w,_OutElem:w},pipe(){return N(this,arguments)}},xo=(e)=>{let t=Object.create(Ek);return t.transform=(r,n)=>js(e(r,n),(o)=>Ce(Or(o))),t};var vh=(e)=>xo((t,r)=>e),Oh=(e)=>xo(uo(function*(t,r){let n=Er(r),o=(i)=>br(n,Ld(i)),s=yield*co(e(t,r,n),o);return co(s,o)})),Zs=(e)=>e.transform;var Ah=(e)=>xo((t,r)=>Pt(()=>Zs(e())(t,r)));var Rh=(e)=>vh(Ce(Gt(e)));var Th=u(2,(e,t)=>Oh((r,n,o)=>Cd(o,t).pipe(Ds(Zs(e)(r,n)))));var Ih=u(2,(e,t)=>Th(e,(r)=>t)),bk=(e,t,r)=>Pt(()=>{let n=Kn(),o=Zs(e)(wr(),n);return Yn(fe(o,t),r?r:Ce).pipe(sn((s)=>br(n,s)))});var Ph=u(2,(e,t)=>bk(e,(r)=>Js(fe(r,t),{disableYield:!0})));var Ck="~effect/Stream",wk={_R:w,_E:w,_A:w},kk={[Ck]:wk,pipe(){return N(this,arguments)}},_h=(e)=>{let t=Object.create(kk);return t.channel=e,t};var Ok="~effect/Stream",Fh=(e)=>O(e,Ok);var ei=_h;var Mh=(e)=>ei(Ah(()=>e().channel)),Nh=(e)=>ei(Rh(e));var Uh=(e)=>ei(xo(uo(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(gf(s)))})));var zh=u(2,(e,t)=>ei(Ih(e.channel,t)));var Ak=u(2,(e,t)=>Ph(e.channel,t));var Rk=u((e)=>Fh(e[0]),(e,t,r)=>{let n=void 0,o=void 0,s=kh(!1);return new ReadableStream({start(i){o=La(qs(Ak(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 $a(Ls(wh(o)))}},r?.strategy)});var Dh=u((e)=>Fh(e[0]),(e,t)=>Ue(Bs(),(r)=>Rk(e,r,t)));var yo=new WeakMap;var Lh="~effect/data/Redacted",Ik=(e)=>O(e,Lh),Ga=(e,t)=>{let r=Object.create(Pk);if(t?.label)r.label=t.label;return yo.set(r,e),r},Pk={[Lh]:{_A:(e)=>e},label:void 0,...Xe,toJSON(){return this.toString()},toString(){return`<redacted${Fr(this.label)?":"+this.label:""}>`},[W](){return q(yo.get(this))},[V](e){return Ik(e)&&oe(yo.get(this),yo.get(e))}};var $h=Symbol.for("~effect/http/Headers");var Eo=Object.defineProperties(Object.create(null),{[$h]:{value:$h},[Mr]:{value(e){return ni(this,me(e,Xa))}},toJSON:{value(){return Ge(this)}},[V]:{value(e){return Fk(this,e)}},[W]:{value(){return mn(this)}},toString:{value:at.toString},[be]:{value:at[be]}}),ti=(e)=>Object.assign(Object.create(Eo),e),Fk=pf(On());var Ya=Object.create(Eo),bo=(e)=>{if(e===void 0)return Ya;else if(Symbol.iterator in e){let r=Object.create(Eo);for(let[n,o]of e)r[n.toLowerCase()]=o;return r}let t=Object.create(Eo);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},jh=(e)=>Object.setPrototypeOf(e,Eo);var ri=u(3,(e,t,r)=>{let n=ti(e);return n[t.toLowerCase()]=r,n}),Hh=u(2,(e,t)=>ti({...e,...bo(t)})),Bh=u(2,(e,t)=>{let r=ti(e);return Object.assign(r,t),r}),So=u(2,(e,t)=>{let r=ti(e);return delete r[t.toLowerCase()],r});var ni=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=I("effect/Headers/CurrentRedactedNames",{defaultValue:()=>["authorization","cookie","set-cookie","x-api-key"]});var qh="~effect/http/Cookies";var Wh="~effect/http/Cookies/Cookie";var Mk={[qh]:qh,...at,toJSON(){return{_id:"effect/Cookies",cookies:ff(this.cookies,(e)=>e.toJSON())}},pipe(){return N(this,arguments)}},Nk=(e)=>{let t=Object.create(Mk);return t.cookies=e,t},Uk=(e)=>{let t={};for(let r of e)t[r.name]=r;return Nk(t)},Jh=(e)=>{let t=typeof e==="string"?[e]:e,r=[];for(let n of t){let o=zk(n.trim());if(o)r.push(o)}return Uk(r)};function zk(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(!Dk.test(n))return;let o=t[0].slice(r+1),s=Lk(o);if(t.length===1)return Object.assign(Object.create(Vh),{name:n,value:s,valueEncoded:o});let i={};for(let c=1;c<t.length;c++){let f=t[c],l=f.indexOf("="),h=l===-1?f:f.slice(0,l).trim(),p=l===-1?void 0:f.slice(l+1).trim();switch(h.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(Vh),{name:n,value:s,valueEncoded:o,options:Object.keys(i).length>0?i:void 0})}var Dk=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Vh={[Wh]:Wh,...at,toJSON(){return{_id:"effect/Cookies/Cookie",name:this.name,value:this.value,options:this.options}}};var Lk=(e)=>{try{return decodeURIComponent(e)}catch(t){return e}};var Kh="~effect/http/HttpClientError";class je extends nt("HttpClientError"){constructor(e){if("cause"in e.reason)super({...e,cause:e.reason.cause});else super(e)}[Kh]=Kh;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 oi=(e)=>e.endsWith("Error")?e.slice(0,-5):e,si=(e,t,r)=>t?`${e}: ${t} (${r})`:`${e} error (${r})`;class Za extends nt("TransportError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return si(oi(this._tag),this.description,this.methodAndUrl)}}class eu extends nt("InvalidUrlError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return si(oi(this._tag),this.description,this.methodAndUrl)}}class Xt extends nt("DecodeError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return si(oi(this._tag),this.description,e)}}class tu extends nt("EmptyBodyError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return si(oi(this._tag),this.description,e)}}var Qh="~effect/http/UrlParams";var jk={...Xe,[Qh]:Qh,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:"UrlParams",params:Object.fromEntries(this.params)}},[V](e){return Hk(this,e)},[W](){return hn(this.params.flat())}},Gh=(e)=>{let t=Object.create(jk);return t.params=e,t},wo=(e)=>{let t=Yh(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 Gh(r)},Yh=(e)=>{let t=typeof e[Symbol.iterator]==="function"?Ze(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=Yh(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},Hk=No((e,t)=>Bk(e.params,t.params)),Bk=yf(af([On(),On()]));var Xh=Gh([]);var Zh=u(2,(e,t)=>{let r=wo(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 nt("UrlParamsError"){}var ou=(e,t,r)=>{try{let n=new URL(e,qk());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 de(new nu({cause:n}))}};var qk=()=>{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 eg="~effect/http/HttpBody/HttpBodyError";class tg extends nt("HttpBodyError"){[eg]=eg}class cu{[iu];constructor(){this[iu]=iu}[be](){return this.toJSON()}toString(){return ae(this,{ignoreToString:!0})}}class rg extends cu{_tag="Empty";toJSON(){return{_id:"effect/HttpBody",_tag:"Empty"}}}var ng=new rg;class og 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 sg=(e,t)=>new og(e,t??"application/octet-stream",e.length),Wk=new TextEncoder,ig=(e,t)=>sg(Wk.encode(e),t??"text/plain");var cg=(e,t)=>nn({try:()=>ig(JSON.stringify(e),t??"application/json"),catch:(r)=>new tg({reason:{_tag:"JsonError"},cause:r})});var ag=[["GET","get"],["POST","post"],["PUT","put"],["DELETE","del"],["PATCH","patch"],["HEAD","head"],["OPTIONS","options"],["TRACE","trace"]];var ug="~effect/http/HttpClientRequest";var Kk={[ug]:ug,...at,toJSON(){return{_id:"HttpClientRequest",method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Ge(this.headers),body:this.body.toJSON()}},pipe(){return N(this,arguments)}};function Ft(e,t,r,n,o,s){let i=Object.create(Kk);return i.method=e,i.url=t,i.urlParams=r,i.hash=n,i.headers=o,i.body=s,i}var Qk=Ft("GET","",Xh,ee(),Ya,ng),ko=(e)=>(t,r)=>Gk(Qk,{method:e,url:t,...r??void 0});var Gk=u(2,(e,t)=>{let r=e;if(t.method)r=Yk(r,t.method);if(t.url)r=pg(r,t.url);if(t.headers)r=au(r,t.headers);if(t.urlParams)r=Zk(r,t.urlParams);if(t.hash)r=e0(r,t.hash);if(t.body)r=dg(r,t.body);if(t.accept)r=lg(r,t.accept);if(t.acceptJson)r=Xk(r);return r}),Yk=u(2,(e,t)=>Ft(t,e.url,e.urlParams,e.hash,e.headers,e.body)),fg=u(3,(e,t,r)=>Ft(e.method,e.url,e.urlParams,e.hash,ri(e.headers,t,r),e.body)),au=u(2,(e,t)=>Ft(e.method,e.url,e.urlParams,e.hash,Hh(e.headers,t),e.body));var lg=u(2,(e,t)=>fg(e,"Accept",t)),Xk=lg("application/json"),pg=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=wo(r.searchParams),o=sf(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 Zk=u(2,(e,t)=>Ft(e.method,e.url,Zh(e.urlParams,t),e.hash,e.headers,e.body));var e0=u(2,(e,t)=>Ft(e.method,e.url,e.urlParams,ue(t),e.headers,e.body));var dg=u(2,(e,t)=>{let r=e.headers;if(t._tag==="Empty"||t._tag==="FormData")r=So(So(r,"Content-Type"),"Content-length");else{if(t.contentType)r=ri(r,"content-type",t.contentType);if(t.contentLength!==void 0)r=ri(r,"content-length",t.contentLength.toString())}return Ft(e.method,e.url,e.urlParams,e.hash,r,t)});var mg=u(2,(e,t)=>Ue(cg(t),(r)=>dg(e,r)));var Rr="~effect/http/HttpIncomingMessage";var gg=(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:Ge(e.headers),remoteAddress:e.remoteAddress};if(n!==void 0)o.body=n;return o};var un="~effect/http/HttpClientResponse",yg=(e,t)=>new Eg(e,t);class Eg extends ki{[Rr];[un];request;source;constructor(e,t){super();this.request=e,this.source=t,this[Rr]=Rr,this[un]=un}toJSON(){return gg(this,{_id:"HttpClientResponse",request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return bo(this.source.headers)}cachedCookies;get cookies(){if(this.cachedCookies)return this.cachedCookies;return this.cachedCookies=Jh(this.source.headers.getSetCookie())}get remoteAddress(){return ee()}get stream(){return this.source.body?Uh({evaluate:()=>this.source.body,onError:(e)=>new je({reason:new Xt({request:this.request,response:this,cause:e})})}):Nh(new je({reason:new tu({request:this.request,response:this,description:"can not create stream from empty body"})}))}get json(){return fe(this.text,(e)=>nn({try:()=>e===""?null:JSON.parse(e),catch:(t)=>new je({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 je({reason:new Xt({request:this.request,response:this,cause:e})})}).pipe(ao,Yt),this.arrayBufferBody=Ue(this.textBody,(e)=>new TextEncoder().encode(e).buffer),this.textBody}get urlParamsBody(){return fe(this.text,(e)=>nn({try:()=>wo(new URLSearchParams(e)),catch:(t)=>new je({reason:new Xt({request:this.request,response:this,cause:t})})}))}formDataBody;get formData(){return this.formDataBody??=gt({try:()=>this.source.formData(),catch:(e)=>new je({reason:new Xt({request:this.request,response:this,cause:e})})}).pipe(ao,Yt)}arrayBufferBody;get arrayBuffer(){if(this.arrayBufferBody)return this.arrayBufferBody;return this.arrayBufferBody=gt({try:()=>this.source.arrayBuffer(),catch:(e)=>new je({reason:new Xt({request:this.request,response:this,cause:e})})}).pipe(ao,Yt),this.textBody=Ue(this.arrayBufferBody,(e)=>new TextDecoder().decode(e)),this.arrayBufferBody}pipe(){return N(this,arguments)}}var Sg=(e)=>jh({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 Cg="~effect/http/HttpClient";var wg=ve("effect/HttpClient"),r0=(e)=>(...t)=>fe(wg,(r)=>r[e](...t)),kg=r0("execute");var n0=u(2,(e,t)=>vg((r)=>t(e.postprocess(r)),e.preprocess));var vg=(e,t)=>{let r=Object.create(o0);return r.preprocess=t,r.postprocess=e,r.execute=function(n){return e(t(n))},r},o0={[Cg]:Cg,pipe(){return N(this,arguments)},...at,toJSON(){return{_id:"effect/HttpClient"}},...Object.fromEntries(ag.map(([e,t])=>[t,function(r,n){return this.execute(ko(e)(r,n))}]))},Og=(e)=>vg((t)=>fe(t,(r)=>oo((n)=>{let o=a0.get(r),s=o??new AbortController,i=ou(r.url,r.urlParams,sr(r.hash));if(J(i))return Gt(new je({reason:new eu({request:r,cause:i.failure})}));let c=i.success;if(n.getRef(Hr)||n.getRef(s0)(r)){let l=e(r,c,s.signal,n);if(o)return l;return cn((h)=>on(h(l),{onSuccess(p){return ii.register(p,s),Ce(new uu(p,s))},onFailure(p){if(la(p))s.abort();return Or(p)}}))}return Ma(n.getRef(c0)(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 h=c.search.slice(1);if(h!=="")l.attribute("url.query",h);let p=n.getRef(Xa),g=ni(r.headers,p);for(let S in g)l.attribute(`http.request.header.${S}`,String(g[S]));return r=n.getRef(i0)?au(r,Sg(l)):r,cn((S)=>S(e(r,c,s.signal,n)).pipe(Na(l,{captureStackTrace:!1}),on({onSuccess:(x)=>{l.attribute("http.response.status_code",x.status);let T=ni(x.headers,p);for(let v in T)l.attribute(`http.response.header.${v}`,String(T[v]));if(o)return Ce(x);return ii.register(x,s),Ce(new uu(x,s))},onFailure(x){if(!o&&la(x))s.abort();return Or(x)}})))})})),Ce);var s0=I("effect/http/HttpClient/TracerDisabledWhen",{defaultValue:()=>Pr}),i0=I("effect/HttpClient/TracerPropagationEnabled",{defaultValue:ze}),c0=I("effect/http/HttpClient/SpanNameGenerator",{defaultValue:()=>(e)=>`http.client ${e.method}`}),Ag=(e)=>en(wg)(io((t)=>Ue(e,(r)=>n0(r,Pa((n)=>Bt(t,n)))))),ii=(()=>{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)}}})(),a0=new WeakMap;class uu{original;controller;constructor(e,t){this.original=e,this.controller=t}[un]=un;[Rr]=Rr;applyInterrupt(e){return Pt(()=>(ii.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 Mh(()=>(ii.unregister(this.original),zh(this.original.stream,_t(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[be](){return this.original[be]()}pipe(){return N(this,arguments)}}var u0=I("effect/http/FetchHttpClient/Fetch",{defaultValue:()=>globalThis.fetch});class Tg extends ve()("effect/http/FetchHttpClient/RequestInit"){}var f0=Og((e,t,r,n)=>{let o=n.getRef(u0),s=n.context.mapUnsafe.get(Tg.key)??{},i=s.headers?Bh(bo(s.headers),e.headers):e.headers;if(i["content-length"])i=So(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 je({reason:new Za({request:e,cause:l})})}),(l)=>yg(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(Dh(e.body.stream),c)}return c(void 0)}),Ig=Ag(Ce(f0));var Pg=Z.Service("FizzyApi");var AM=ot.effect(Pg)(a.gen(function*(){let e=yield*Y,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 fn(t,r.token)})),fn=(e,t)=>{let r=(d,m,A)=>a.gen(function*(){let C=yield*o(d,m,A),K=yield*i(C);if(C.status<200||C.status>=300)return yield*new _({message:p(K,C.status),status:C.status});return h(K)}).pipe(a.catch((C)=>C instanceof _?C:new _({message:String(C)}))),n=(d,m,A)=>a.gen(function*(){let C=yield*o(d,m,A);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=(d,m,A)=>A===void 0?s(ko(d)(c(e,m),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})):mg(A)(ko(d)(c(e,m),{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=(d)=>kg(d).pipe(a.provide(Ig),a.mapError((m)=>new _({message:String(m)}))),i=(d)=>d.text.pipe(a.mapError((m)=>new _({message:String(m)})),a.flatMap((m)=>{if(!m)return a.succeed(null);return f(m,d.status)})),c=(d,m)=>{let A=d.apiUrl.replace(/\/+$/,""),C=m.startsWith("/")?m:`/${m}`,K=C.startsWith("/my/"),Ee=`/${d.account}`;return`${A}${K||C.startsWith(`${Ee}/`)?C:`${Ee}${C}`}`},f=(d,m)=>a.try({try:()=>JSON.parse(d),catch:()=>new _({status:m,message:`HTTP ${String(m)}: invalid JSON response (${l(d)})`})}),l=(d,m=120)=>{let A=d.trim();return A.length>m?`${A.slice(0,m)}...`:A},h=(d)=>{if(di(d)&&"data"in d)return d.data;return d},p=(d,m)=>{if(di(d)&&"error"in d)return String(d.error);return`HTTP ${String(m)}`},g=(d)=>a.try({try:()=>{let m=Pe(h(d)),A=Array.isArray(m?.accounts)?m.accounts:[],C=Pe(A[0]),K=Pe(m?.user)||Pe(C?.user)||m,Ee=G(K?.id)||G(m?.user_id);if(!Ee)throw new _({message:"Failed to decode identity: missing userId"});return{userId:Ee,name:G(K?.name),email:G(K?.email)}},catch:(m)=>m instanceof _?m:new _({message:String(m)})}),S=(d)=>a.try({try:()=>{let m=Pe(d);if(!m)throw new _({message:"Failed to decode card: expected object"});let A=Ox(m.number);if(!Number.isFinite(A))throw new _({message:"Failed to decode card: number must be finite"});let C=G(m.title);if(!C)throw new _({message:"Failed to decode card: title must be string"});let K=G(m.description_html);return{id:G(m.id),number:A,title:C,description:G(m.description),...K?{descriptionHtml:K}:{},column:pe(m.column),assignees:Ir(m.assignees),closed:mi(m.closed),golden:mi(m.golden),steps:vx(m.steps)}},catch:(m)=>m instanceof _?m:new _({message:String(m)})}),x=(d)=>{if(!Array.isArray(d))return a.fail(new _({message:"Failed to decode cards: expected array"}));return a.forEach(d,S)},T=(d)=>{if(!Array.isArray(d))return a.fail(new _({message:"Failed to decode columns: expected array"}));let m=[];for(let A of d){let C=Pe(A);if(!C)continue;let K=G(C.id),Ee=G(C.name);if(!K||!Ee)continue;m.push({id:K,name:Ee})}return a.succeed(m)},v=(d)=>a.try({try:()=>{let m=Pe(d);if(!m)throw new _({message:"Failed to decode board: expected object"});let A=G(m.id);if(!A)throw new _({message:"Failed to decode board: missing id"});return{id:A,name:G(m.name)||""}},catch:(m)=>m instanceof _?m:new _({message:String(m)})}),se=(d)=>{if(!Array.isArray(d))return a.fail(new _({message:"Failed to decode boards: expected array"}));return a.forEach(d,v)},te=(d)=>a.try({try:()=>{let m=Pe(d);if(!m)throw new _({message:"Failed to decode column: expected object"});let A=G(m.id),C=G(m.name);if(!A||!C)throw new _({message:"Failed to decode column: missing id or name"});return{id:A,name:C}},catch:(m)=>m instanceof _?m:new _({message:String(m)})}),ye=(d)=>{if(!Array.isArray(d))return a.fail(new _({message:"Failed to decode comments: expected array"}));return a.succeed(d.map((m)=>Q(m)))},Q=(d)=>{let m=Pe(d);if(!m)return{};return{created_at:G(m.created_at),creator:Je(m.creator),body:Ie(m.body)}},Je=(d)=>{let m=Pe(d);if(!m)return;let A=G(m.name);if(!A)return{};return{name:A}},Ie=(d)=>{let m=Pe(d);if(!m)return;let A=G(m.plain_text);if(!A)return{};return{plain_text:A}},pe=(d)=>{let m=Pe(d);if(!m)return;return{id:G(m.id),name:G(m.name)}},Ir=(d)=>{if(!Array.isArray(d))return[];let m=[];for(let A of d){let C=Pe(A);if(!C)continue;let K=G(C.id);if(!K)continue;let Ee=G(C.name);if(!Ee)continue;m.push({id:K,name:Ee})}return m},vx=(d)=>{if(!Array.isArray(d))return[];let m=[];for(let A of d){let C=Pe(A);if(!C)continue;let K=G(C.content);if(!K)continue;let Ee=mi(C.completed);if(Ee===void 0)continue;m.push({id:G(C.id),content:K,completed:Ee})}return m},di=(d)=>d!==null&&typeof d==="object"&&!Array.isArray(d),Pe=(d)=>di(d)?d:void 0,G=(d)=>typeof d==="string"?d:void 0,mi=(d)=>typeof d==="boolean"?d:void 0,Ox=(d)=>{if(typeof d==="number"&&Number.isFinite(d))return d;return Number.NaN},Cu=()=>r("GET",`/boards/${e.board}/columns.json`).pipe(a.flatMap(T)),Ax=(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(se)),listColumns:()=>Cu(),createColumn:(d)=>a.gen(function*(){let m=yield*Ax(d),A=yield*te(m).pipe(a.catch(()=>a.succeed(void 0)));if(A)return A;let K=(yield*Cu()).find((Ee)=>Ee.name===d);if(!K)return yield*new _({message:`Failed to create column ${d}`});return K}),listCards:(d)=>{let m=new URLSearchParams;if(e.board)m.append("board_ids[]",e.board);if(d?.indexedBy)m.set("indexed_by",d.indexedBy);if(d?.all)m.set("all","true");let A=m.size>0?`?${m}`:"";return r("GET",`/cards.json${A}`).pipe(a.flatMap(x))},showCard:(d)=>r("GET",`/cards/${d}.json`).pipe(a.flatMap(S)),listComments:(d)=>r("GET",`/cards/${d}/comments.json?all=true`).pipe(a.flatMap(ye)),createCard:(d)=>r("POST","/cards.json",{board_id:d.board,title:d.title,description:d.description}).pipe(a.flatMap(S)),updateCardDescription:(d,m)=>n("PATCH",`/cards/${d}.json`,{description:m}),assignCard:(d,m)=>n("POST",`/cards/${d}/assignments.json`,{assignee_id:m}),selfAssignCard:(d)=>n("POST",`/cards/${d}/self_assignment.json`),moveCard:(d,m)=>n("POST",`/cards/${d}/triage.json`,{column_id:m}),comment:(d,m)=>n("POST",`/cards/${d}/comments.json`,{body:m}),closeCard:(d)=>n("POST",`/cards/${d}/close.json`),postponeCard:(d)=>n("POST",`/cards/${d}/postpone.json`),createStep:(d,m,A)=>n("POST",`/cards/${d}/steps.json`,{content:m,completed:Boolean(A)}),updateStep:(d,m,A)=>{let C={};if(A.completed!==void 0)C.completed=A.completed;if(A.content!==void 0)C.content=A.content;return n("PATCH",`/cards/${d}/steps/${m}.json`,C)}}};var zg="1",Dg="https://fizzy.puffin.studio",lu=".fizzy.yaml",p0=(e)=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),d0=(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]},Lg=(e,t,r)=>`<p>${d0(e,t)}${p0(r)}</p>`,$g=(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>"},NM=a.gen(function*(){let e=yield*Y,t=yield*e.loadProjectConfig(),r=yield*jg(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new an({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Xs(t.account,r),s=fn(t,n.token);return{config:t,configRepo:e,cacheRepo:o,api:s}}),xe=a.gen(function*(){let e=yield*Y,t=yield*e.loadProjectConfig(),r=yield*jg(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new an({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Xs(t.account,r),s=pu(e,t,n.token);return{config:yield*sx({configRepo:e,api:s,config:t}),configRepo:e,cacheRepo:o,api:s}}),ai=(e)=>a.gen(function*(){return(yield*e.loadProjectConfigOptional().pipe(a.catchDefect((r)=>Fg(r,"ConfigError")&&_g(r.message)?a.succeed(void 0):a.fail(r)),a.catch((r)=>Fg(r,"ConfigError")&&_g(r.message)?a.succeed(void 0):a.fail(r))))||{apiUrl:Dg,account:zg,configPath:`${process.cwd()}/${lu}`,rootDir:process.cwd()}}),_g=(e)=>e.startsWith(`No ${lu} found from`),m0=(e,t)=>typeof e==="object"&&e!==null&&("_tag"in e)&&e._tag===t,Fg=(e,t)=>m0(e,t)&&typeof e.message==="string",jg=(e)=>e.board?a.succeed(e.board):a.fail(new le({message:"No board configured. Run: fizzyx setup <board-id>"})),Hg=(e)=>a.gen(function*(){let t=yield*Y;if(!e.board)return yield*new le({message:"board is required"});let r=e.account||zg,n=e.apiUrl||Dg,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 an({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*sx({configRepo:t,api:i,config:o,initialUsers:e.users})}),Bg=()=>a.gen(function*(){let e=yield*Y,t=yield*ai(e),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new an({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=fn(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(!h0(l))return yield*a.fail(l);let h=yield*e.migrateCredentialsFromOfficial(t.account).pipe(a.catch(()=>a.fail(l)));if(h.token!==n)n=h.token,o=fn(t,n),yield*e.saveCredentials(t.account,h).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((h)=>h.updateStep(c,f,l)),createStep:(c,f,l)=>i((h)=>h.createStep(c,f,l))}},h0=(e)=>e.status===401;var qg=(e)=>a.gen(function*(){let t=yield*Y,r=yield*ai(t);return yield*t.saveCredentials(r.account,{token:e}),r.account}),Wg=a.gen(function*(){let e=yield*Y,t=yield*ai(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*fn(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}}),Vg=a.gen(function*(){let e=yield*Y,t=yield*ai(e);return yield*e.deleteCredentials(t.account),t.account}),st=(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=ix(e.config,r),s={identity:t,cards:r,notNow:n,users:o,syncedAt:new Date().toISOString()};return yield*e.cacheRepo.write(s),s}),ui=(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)}),du=(e,t)=>a.gen(function*(){let r=yield*ui(e,t.fresh),n=t.user?cx(e.config,t.user):r.identity.userId,o=E0(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}}),Jg=(e,t)=>a.gen(function*(){let r=yield*ui(e,t.fresh),n=yield*e.cacheRepo.ageSeconds();return{cache:r,age:n}}),Kg=(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)}}),Qg=(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}}),Gg=(e,t)=>a.gen(function*(){let r=yield*ui(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}),Yg=(e,t,r)=>a.gen(function*(){let o=((yield*e.api.showCard(t)).steps||[]).filter((f)=>!f.completed);if(o.length>0){let f=o.map((l)=>`- ${l.content||"(no content)"}`).join(`
25
+ ${Zf(e.cause,`${t} `)}
26
+ ${t}}`;return n},es=`~effect/Fiber/${Zo}`,AE={_A:w,_E:w},IE={id:0},Dn=()=>globalThis[Nr];class mc{constructor(e,t=!0){this[es]=AE,this.setContext(e),this.id=++IE.id,this.currentOpCount=0,this.currentLoopCount=0,this.interruptible=t,this._stack=[],this._observers=[],this._exit=void 0,this._children=void 0,this._interruptedCause=void 0,this._yielded=void 0,this.runtimeMetrics?.recordFiberStart(this.context)}[es];id;interruptible;currentOpCount;currentLoopCount;_stack;_observers;_exit;_currentExit;_children;_interruptedCause;_yielded;context;currentScheduler;currentTracerContext;currentSpan;currentLogLevel;minimumLogLevel;currentStackFrame;runtimeMetrics;maxOpsBeforeYield;currentPreventYield;_dispatcher=void 0;get currentDispatcher(){return this._dispatcher??=this.currentScheduler.makeDispatcher()}getRef(e){return qi(this.context,e)}addObserver(e){if(this._exit)return e(this._exit),er;return this._observers.push(e),()=>{let t=this._observers.indexOf(e);if(t>=0)this._observers.splice(t,1)}}interruptUnsafe(e,t){if(this._exit)return;let r=rs(e);if(this.currentStackFrame)r=Cn(r,ft(vn,this.currentStackFrame));if(t)r=Cn(r,t);if(this._interruptedCause=this._interruptedCause?Qf(this._interruptedCause,r):r,this.interruptible)this.evaluate(B(this._interruptedCause))}pollUnsafe(){return this._exit}evaluate(e){if(this._exit)return;else if(this._yielded!==void 0){let n=this._yielded;this._yielded=void 0,n()}let t=this.runLoop(e);if(t===$t)return;let r=nc.interruptChildren&&nc.interruptChildren(this);if(r!==void 0)return this.evaluate(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[Nr];globalThis[Nr]=this;let r=!1,n=e;this.currentOpCount=0;let o=++this.currentLoopCount;try{while(!0){if(this.currentOpCount++,!r&&!this.currentPreventYield&&this.currentScheduler.shouldYield(this)){r=!0;let s=n;n=E(Kr,()=>s)}if(n=this.currentTracerContext?this.currentTracerContext(n,this):n[Z](this),o!==this.currentLoopCount)return $t;else if(n===$t){let s=this._yielded;if(rr in s)return this._yielded=void 0,s;return $t}}}catch(s){if(!R(n,Z))return wt(`Fiber.runLoop: Not a valid effect: ${String(n)}`);return this.runLoop(wt(s))}finally{globalThis[Nr]=t}}getCont(e){while(!0){let t=this._stack.pop();if(!t)return;let r=t[Lt]&&t[Lt](this);if(r)return r[e]=r,r;if(t[e])return t}}yieldWith(e){return this._yielded=e,$t}children(){return this._children??=new Set}pipe(){return N(this,arguments)}setContext(e){this.context=e;let t=this.getRef(Fn);if(t!==this.currentScheduler)this.currentScheduler=t,this._dispatcher=void 0;this.currentSpan=e.mapUnsafe.get(Yi),this.currentLogLevel=this.getRef(Zi),this.minimumLogLevel=this.getRef(ec),this.currentStackFrame=e.mapUnsafe.get(qr.key),this.maxOpsBeforeYield=this.getRef(If),this.currentPreventYield=this.getRef(Pf),this.runtimeMetrics=e.mapUnsafe.get(Nf);let r=e.mapUnsafe.get(Gi);this.currentTracerContext=r?r.context:void 0}get currentSpanLocal(){return this.currentSpan?._tag==="Span"?this.currentSpan:void 0}}var nc={interruptChildren:void 0},os=(e)=>{if(!e.currentStackFrame)return;let t=new Map;return t.set(vn.key,e.currentStackFrame),Bt(t)},PE=(e)=>{if(e._children===void 0||e._children.size===0)return;return fr(e._children)},el=(e)=>{let t=e;if(t._exit)return 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)=>T((t)=>tl(e,t.id)),tl=u((e)=>R(e[0],es),(e,t,r)=>T((n)=>{let o=os(n);return o=o&&r?qt(o,r):o??r,e.interruptUnsafe(t,o),$n(el(e))})),fr=(e)=>T((t)=>{let r=os(t);for(let n of e)n.interruptUnsafe(t.id,r);return $n(ss(e))});var 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)=>Tn(e)?Ln:L(e.value,ue),sl=(e)=>P(()=>B(z(e))),Ot=(e)=>wt(e),is=(e)=>P(()=>H(z(e))),U=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(z(t))}catch(n){return H(z(()=>r(n)))}})};var yc=(e)=>Ec(function(t,r){z(()=>e(r)).then((n)=>t(y(n)),(n)=>t(Ot(n)))},e.length!==0),cl=(e)=>{let t=typeof e==="function"?e:e.try,r=typeof e==="function"?(n)=>new ks(n,"An error occurred in Effect.tryPromise"):e.catch;return Ec(function(n,o){let s=(i)=>{try{n(H(z(()=>r(i))))}catch(c){n(Ot(c))}};try{z(()=>t(o)).then((i)=>n(y(i)),s)}catch(i){s(i)}},t.length!==0)},al=(e)=>T((t)=>e(t.id)),ul=T(y),fl=al(y),Ec=Be({op:"Async",single:!1,[Z](e){let t=z(()=>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 $t;return e._stack.push(_E(()=>(r=!0,o?.abort(),s??tt))),$t}}),_E=Be({op:"AsyncFinalizer",[Lt](e){if(e.interruptible)e.interruptible=!1,e._stack.push(bs)},[Xe](e,t){return pc(e)?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,Tt(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 Ot(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)}}),Oe=u(2,(e,t)=>{let r=y(t);return E(e,(n)=>r)}),as=(e)=>L(e,ue),ml=(e)=>lr(e,{onFailure:y,onSuccess:H}),Ve=u(2,(e,t)=>E(e,(r)=>k(t)?t:z(()=>t(r)))),dt=u(2,(e,t)=>E(e,(r)=>Oe(k(t)?t:z(()=>t(r)),r))),$n=(e)=>E(e,(t)=>tt),hl=(e)=>Ue(e,H),Cc=(e,t)=>T((r)=>Me((n)=>{let o=et(e),s=o.length,i=0,c=!1,f=new Set,l=[],d=(p,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)=>T((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(FE);return r[F]=e,r[_e]=t.length!==1?(n)=>t(n):t,r}),FE=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),L=u(2,(e,t)=>E(e,(r)=>y(z(()=>t(r))))),bl=u(2,(e,t)=>$e(e)?vl(e,t):L(e,t)),Sl=u(2,(e,t)=>$e(e)?Rl(e,t):Pc(e,t)),Cl=u(2,(e,t)=>$e(e)?Ol(e,t):_c(e,t)),wl=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return e;let r=pt(e.cause);if(J(r))return e;return t(r.success)}return Te(e,t)});var kc=(e)=>e._tag==="Success";var kl=(e)=>e._tag==="Failure"?ke(e.cause):me(e);var tt=ie(void 0),vl=u(2,(e,t)=>e._tag==="Success"?ie(t(e.value)):e),Rl=u(2,(e,t)=>{if(e._tag==="Success")return e;let r=pt(e.cause);if(J(r))return e;return Ct(t(r.success))}),Ol=u(2,(e,t)=>{if(e._tag==="Success")return ie(t.onSuccess(e.value));let r=pt(e.cause);if(J(r))return e;return Ct(t.onFailure(r.success))});var Tl=(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 Al=(e)=>e,Il=(e)=>T((t)=>y(Wi(t.context,e))),ME=(e)=>T((t)=>t.context.mapUnsafe.has(e.key)?y(vt(t.context,e)):H(new kt)),jn=u(2,(e,t)=>T((r)=>{let n=r.context,o=t(n);if(n===o)return e;return r.setContext(o),Gr(e,()=>{r.setContext(n);return})})),Tt=u(3,(e,t,r)=>jn(e,(n)=>{let o=vt(n,t),s=r(o);if(o===s)return n;return qe(n,t,s)})),vc=()=>UE,UE=T((e)=>y(e.context)),Jt=(e)=>T((t)=>e(t.context)),At=u(2,(e,t)=>{if($e(e))return e;return jn(e,qt(t))}),Se=function(){if(arguments.length===1)return u(2,(e,t)=>jf(e,arguments[0],t));return u(3,(e,t,r)=>jf(e,t,r)).apply(this,arguments)},jf=(e,t,r)=>jn(e,(n)=>{if(n.mapUnsafe.get(t.key)===r)return n;return qe(n,t,r)}),fs=u(3,(e,t,r)=>E(r,(n)=>Se(e,t,n))),Pl=Se(Yo),Rc=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?L(Ss([e,t],{concurrency:2}),([o,s])=>z(()=>r(o,s))):E(e,(o)=>L(t,(s)=>z(()=>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)),Tc=u(2,(e,t)=>Array.from({length:t},()=>e)),Ml=u((e)=>k(e[0]),(e,t,r)=>Ss(Tc(e,t),r)),ls=u((e)=>k(e[0]),(e,t)=>Kt({while:ze,body:re(t?.disableYield?e:E(e,(r)=>Kr)),step:er})),Ue=u(2,(e,t)=>{let r=Object.create(NE);return r[F]=e,r[Xe]=t.length!==1?(n)=>t(n):t,r}),NE=St({op:"OnFailure",[Z](e){return e._stack.push(this),this[F]}}),Ac=u(3,(e,t,r)=>Ue(e,(n)=>{if(!t(n))return B(n);return z(()=>r(n))})),Qr=u(3,(e,t,r)=>Ue(e,(n)=>{let o=t(n);return J(o)?B(o.failure):z(()=>r(o.success,n))})),Te=u(2,(e,t)=>Qr(e,pt,(r)=>t(r))),Ul=(e)=>lr(e,{onFailure:(t)=>Ti(t)?Ln:H(t),onSuccess:xc}),Nl=u(2,(e,t)=>Qr(e,lc,t)),zl=u(2,(e,t)=>Ue(e,(r)=>Ve(z(()=>t(r)),B(r)))),Dl=u(3,(e,t,r)=>Ac(e,t,(n)=>Ve(z(()=>r(n)),B(n)))),ps=u(3,(e,t,r)=>Ue(e,(n)=>{let o=t(n);if(J(o))return B(n);return Ve(z(()=>r(o.success,n)),B(n))})),Ic=u(2,(e,t)=>ps(e,pt,(r)=>t(r))),Ll=u(3,(e,t,r)=>{let n=Array.isArray(t)?(o)=>R(o,"_tag")&&t.includes(o._tag):it(t);return Ic(e,(o)=>n(o)?r(o):U)}),$l=u(2,(e,t)=>ps(e,lc,(r)=>t(r))),Hn=u((e)=>k(e[0]),(e,t,r,n)=>Ue(e,(o)=>{let s=pt(o);if(J(s))return B(s.failure);if(!t(s.success))return n?z(()=>n(s.success)):B(o);return z(()=>r(s.success))})),ds=u((e)=>k(e[0]),(e,t,r,n)=>Ue(e,(o)=>{let s=pt(o);if(J(s))return B(s.failure);let i=t(s.success);if(J(i))return n?z(()=>n(i.failure)):B(o);return z(()=>r(i.success))})),ms=u((e)=>k(e[0]),(e,t,r,n)=>{let o=Array.isArray(t)?(s)=>R(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),R(o,"_tag")&&Mr(o._tag)&&n.includes(o._tag)?ke(o):me(o)),(o)=>z(()=>t[o._tag](o)),r)}),Hl=u((e)=>k(e[0]),(e,t,r,n,o)=>Hn(e,(s)=>it(s,t)&&R(s,"reason"),(s)=>{let i=s.reason;if(it(i,r))return n(i,s);return o?z(()=>o(i,s)):H(s)})),Bl=u((e)=>k(e[0]),(e,t,r,n)=>{let o;return Hn(e,(s)=>it(s,t)&&R(s,"reason")&&R(s.reason,"_tag")&&Mr(s.reason._tag),(s)=>{let i=s.reason;if(o??=Object.keys(r),o.includes(i._tag))return z(()=>r[i._tag](i,s));return n?z(()=>n(i,s)):H(s)})}),ql=u(2,(e,t)=>ds(e,(r)=>{if(it(r,t)&&R(r,"reason"))return ke(r.reason);return me(r)},H));var Pc=u(2,(e,t)=>Te(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)=>Te(e,Ot),Wl=u(2,(e,t)=>Te(e,(r)=>b(t))),Vl=(e)=>P(()=>{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 Te(o.value,(i)=>n(s))}return n(r)}),Fc=(e)=>Te(e,(t)=>E(Kr,()=>Fc(e))),Jl=u((e)=>k(e[0]),(e,t)=>{if(!t?.log)return lr(e,{onFailure:(n)=>U,onSuccess:(n)=>U});let r=nt(t.log===!0?void 0:t.log);return lt(e,{onFailure(n){let o=Vf(n);return J(o)?B(o.failure):t.message===void 0?r(n):r(t.message,n)},onSuccess:(n)=>U})}),Kl=u((e)=>k(e[0]),(e,t)=>{if(!t?.log)return lt(e,{onFailure:(n)=>U,onSuccess:(n)=>U});let r=nt(t.log===!0?void 0:t.log);return lt(e,{onFailure:(n)=>t.message===void 0?r(n):r(t.message,n),onSuccess:(n)=>U})}),Ql=(e)=>gs(e,{onFailure:ee,onSuccess:ue}),Vt=(e)=>Bn(e,{onFailure:me,onSuccess:ke}),lt=u(2,(e,t)=>{let r=Object.create(zE);return r[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}),zE=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?z(()=>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)}),Yl=u(2,(e,t)=>{if($e(e)){if(e._tag==="Success")return ie(t.onSuccess(e.value));return ie(t.onFailure(e.cause))}return Mc(e,t)}),qn=(e)=>$e(e)?ie(e):DE(e),DE=Be({op:"Exit",[Z](e){return e._stack.push(this),this[F]},[_e](e,t,r){return y(r??ie(e))},[Xe](e,t,r){return y(r??De(e))}}),Gl=Bn({onFailure:()=>!0,onSuccess:()=>!1}),Xl=Bn({onFailure:()=>!1,onSuccess:()=>!0}),Zl=u(2,(e,t)=>Ve(xr(t),e)),Uc=u(2,(e,t)=>us(e,E(xr(t.duration),t.orElse))),ep=u(2,(e,t)=>Uc(e,{duration:t,orElse:()=>H(new Zc)})),tp=u(2,(e,t)=>us(as(e),Oe(xr(t),ee()))),rp=(e)=>gr((t)=>{let r=t.currentTimeNanosUnsafe();return L(e,(n)=>[Pn(t.currentTimeNanosUnsafe()-r),n])}),oc="~effect/Scope",sc="~effect/Scope/Closeable",pr=ve("effect/Scope"),Nc=(e,t)=>P(()=>xs(e,t)??U),xs=(e,t)=>{if(e.state._tag==="Closed")return;let r={_tag:"Closed",exit:t};if(e.state._tag==="Empty"){e.state=r;return}let{finalizers:n}=e.state;if(e.state=r,n.size===0)return;else if(n.size===1)return n.values().next().value(t);return LE(e,n,t)},LE=bc(function*(e,t,r){let n=[],o=[],s=Array.from(t.values()),i=Dn();for(let c=s.length-1;c>=0;c--){let f=s[c];if(e.strategy==="sequential")n.push(yield*qn(f(r)));else o.push(hr(i,f(r),!0,!0,"inherit"))}if(o.length>0)n=yield*ss(o);return yield*Tl(n)});var np=(e,t)=>{let r=Wn(t);if(e.state._tag==="Closed")return r.state=e.state,r;let n={};return ts(e,n,(o)=>Nc(r,o)),ts(r,n,(o)=>b(()=>sp(e,n))),r},mt=(e,t)=>P(()=>{if(e.state._tag==="Closed")return t(e.state.exit);return ts(e,{},t),U}),op=(e,t)=>mt(e,re(t)),ts=(e,t,r)=>{if(e.state._tag==="Empty")e.state={_tag:"Open",finalizers:new Map([[t,r]])};else if(e.state._tag==="Open")e.state.finalizers.set(t,r)},sp=(e,t)=>{if(e.state._tag==="Open")e.state.finalizers.delete(t)},Wn=(e="sequential")=>({[sc]:sc,[oc]:oc,strategy:e,state:$E}),$E={_tag:"Empty"};var Vn=pr,ip=Se(pr),ys=(e)=>T((t)=>{let r=t.context,n=Wn();return t.setContext(qe(t.context,pr,n)),Gr(e,(o)=>(t.setContext(r),xs(n,o)))});var Es=(e)=>P(()=>{let t=Wn();return Ae(e(t),(r)=>P(()=>xs(t,r)??U))}),dr=(e,t,r)=>Jt((n)=>Kn((o)=>E(Vn,(s)=>dt(r?.interruptible?o(e):e,(i)=>mt(s,(c)=>At(t(i,c),n)))))),Yr=(e)=>E(Vn,(t)=>Jt((r)=>mt(t,(n)=>At(e(n),r)))),Gr=Be({op:"OnExit",single:!1,[Z](e){return e._stack.push(this),this[F][0]},[Lt](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}}),Ae=u(2,Gr),cp=u(2,(e,t)=>Ae(e,(r)=>t)),zc=u(3,(e,t,r)=>Ae(e,(n)=>{if(!t(n))return U;return r(n)})),Dc=u(3,(e,t,r)=>Ae(e,(n)=>{let o=t(n);return J(o)?U:r(o.success,n)})),Lc=u(2,(e,t)=>Dc(e,kl,t)),ap=u(3,(e,t,r)=>zc(e,(n)=>{if(n._tag!=="Failure")return!1;return t(n.cause)},(n)=>r(n.cause))),$c=u(3,(e,t,r)=>Ae(e,(n)=>{if(n._tag!=="Failure")return U;let o=t(n.cause);return J(o)?U:r(o.success,n.cause)})),up=u(2,(e,t)=>$c(Kf,t)(e)),Jn=(e,t,r)=>Kn((n)=>E(e,(o)=>Gr(n(t(o)),(s)=>r(o,s),!0))),fp=(e)=>dr(e,(t)=>R(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=Gc(!1),s=0,i=!1,c,f=E(o.await,()=>c);return[T((l)=>{let d=l.getRef(ht),p=n?d.currentTimeMillisUnsafe():0;if(i||p<s)return c??f;return i=!0,o.closeUnsafe(),c=void 0,Ae(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)=>L(jc(e,t),(r)=>r[0])),lp=(e)=>Hc(e,jr),pp=T((e)=>B(rs(e.id))),mr=(e)=>T((t)=>{if(!t.interruptible)return e;return t.interruptible=!1,t._stack.push(bs),e}),dp=Be({op:"SetInterruptible",[Lt](e){if(e.interruptible=this[F],e._interruptedCause&&e.interruptible)return()=>B(e._interruptedCause)}}),bs=dp(!0),mp=dp(!1),Bc=(e)=>T((t)=>{if(t.interruptible)return e;if(t.interruptible=!0,t._stack.push(mp),t._interruptedCause)return B(t._interruptedCause);return e}),Kn=(e)=>T((t)=>{if(!t.interruptible)return e(w);return t.interruptible=!1,t._stack.push(bs),e(Bc)}),hp=(e)=>T((t)=>{if(t.interruptible)return e(w);return t.interruptible=!0,t._stack.push(mp),e(mr)}),gp=L(dr(b(()=>new AbortController),(e)=>b(()=>e.abort())),(e)=>e.signal),Ss=(e,t)=>{if(Et(e))return t?.mode==="result"?We(e,Vt,t):We(e,w,t);else if(t?.discard)return t.mode==="result"?We(Object.values(e),Vt,t):We(Object.values(e),w,t);return P(()=>{let r={};return Oe(We(Object.entries(e),([n,o])=>L(t?.mode==="result"?Vt(o):o,(s)=>{r[n]=s}),{discard:!0,concurrency:t?.concurrency}),r)})},qc=u((e)=>Et(e[0])&&!k(e[0]),(e,t,r)=>L(We(e,(n,o)=>Vt(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?U: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())}),Kt=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)=>T((n)=>{let o=r?.concurrency==="inherit"?n.getRef(Yo):r?.concurrency??1,s=o==="unbounded"?Number.POSITIVE_INFINITY:Math.max(1,o);if(s===1)return jE(e,t,r);let i=et(e),c=i.length;if(c===0)return r?.discard?U:y([]);let f=r?.discard?void 0:Array(c),l=BE({f:t,out:f},i,{concurrency:s});return l?Oe(l,f):y(f)})),jE=(e,t,r)=>P(()=>{let n=r?.discard?void 0:[],o=e[Symbol.iterator](),s=o.next(),i=0;return Oe(Kt({while:()=>!s.done,body:()=>t(s.value,i++),step:(c)=>{if(n)n.push(c);s=o.next()}}),n)}),HE=(e)=>{let{onItem:t,step:r}=e;return(n,o,s)=>{let i=s?.start??0,c=s?.end??o.length,f=s?.concurrency??1,l=!1,d,p,g,S=!1,x,A,v=()=>{let se=!1;for(;!x&&i<c;i++){let te=o[i],ye=A??t(n,te,i);if($e(ye)){if(x=r(n,te,ye,i),x)break}else if(f===1)return E(qn(ye),(Y)=>(x=r(n,te,Y,i),i++,x??v()??U));else if(!d)return Me((Y)=>{d=Dn(),A=ye,g=Y;let Ke=v();if(Ke)return Y(Ke);return P(()=>(x=tt,S=!0,p?fr(p):U))});else{A=void 0;let Y=hr(d,ye,!0,!0,"inherit");if(Y._exit){if(x=r(n,te,Y._exit,i),x)break;continue}if(p)p.add(Y);else p=new Set([Y]);let Ke=i;if(Y.addObserver((Ie)=>{if(p.delete(Y),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??U)}),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(U)}};return v()}};var BE=HE({onItem(e,t,r){return e.f(t,r)},step(e,t,r,n){if(r._tag==="Failure")return r;else if(e.out)e.out[n]=r.value}}),Wc=u(3,(e,t,r)=>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 Oe(We(e,(o,s)=>{let i=t(o,s);if(typeof i==="boolean"){if(i)n.push(o);return U}return L(i,(c)=>{if(c)n.push(o)})},{discard:!0,concurrency:r?.concurrency}),n)})),kp=u((e)=>Et(e[0])&&!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 Oe(We(e,(o)=>L(t(o),(s)=>{if(ir(s))n.push(s.success)}),{discard:!0,concurrency:r?.concurrency}),n)})),Rp=y({}),Op=qu(L),Tp=Wu(L,E),Ap=Bu(L);var Ip=u((e)=>k(e[0]),(e,t)=>T((r)=>(ib(),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)=>T((r)=>y(hr(r,e,t?.startImmediately,!0,t?.uninterruptible)))),_p=(e)=>T((t)=>{let r=t._children&&et(t._children);return Ae(e,(n)=>{let o=t._children;if(o===void 0||o.size===0)return U;else if(r)o=af(o,(s)=>!r.includes(s));return $n(ss(o))})}),Jc=u((e)=>k(e[0]),(e,t,r)=>T((n)=>{let o=hr(n,e,r?.startImmediately,!0,r?.uninterruptible);if(!o._exit)if(t.state._tag!=="Closed"){let s={};ts(t,s,()=>al((c)=>c===o.id?U:hc(o))),o.addObserver(()=>sp(t,s))}else o.interruptUnsafe(n.id,os(n));return 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)}},Up=Kc(Fe()),Cs=(e)=>{let t=It(e);return(r,n)=>{let o=t(r,n);return new Promise((s)=>{o.addObserver((i)=>s(i))})}},Np=Cs(Fe()),Qc=(e)=>{let t=Cs(e);return(r,n)=>t(r,n).then((o)=>{if(o._tag==="Failure")throw ns(o.cause);return o.value})},zp=Qc(Fe()),ws=(e)=>{let t=It(e);return(r)=>{if($e(r))return r;let n=new Ko("sync"),o=t(r,{scheduler:n});return o.currentDispatcher?.flush(),o._exit??wt(new ea(o))}},Dp=ws(Fe()),Yc=(e)=>{let t=ws(e);return(r)=>{let n=t(r);if(n._tag==="Failure")throw ns(n.cause);return n.value}},Lp=Yc(Fe()),Hf=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=T((e)=>{if(this.isOpen)return Bf;return this.isOpen=!0,this.scheduleUnsafe(e)});release=T((e)=>this.isOpen?Bf:this.scheduleUnsafe(e));openUnsafe(){if(this.isOpen)return!1;return this.isOpen=!0,this.flushWaiters(),!0}await=Me((e)=>{if(this.isOpen)return e(U);return this.waiters.push(e),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 $p(e??!1);var jp=T((e)=>y(e.getRef(Qo))),Hp=u(2,(e,t)=>Se(e,Qo,t)),Bp=Se(Go),qp=Se(Mn),ic=BigInt(0),qE={_tag:"Span",spanId:"noop",traceId:"noop",sampled:!1,status:{_tag:"Ended",startTime:ic,endTime:ic,exit:tt},attributes:new Map,links:[],kind:"internal",attribute(){},event(){},end(){},addLinks(){}},WE=(e)=>Object.assign(Object.create(qE),e),Wp=(e)=>{if(!e)return ee();return he(e.annotations,Br)?e._tag==="Span"?Wp(sr(e.parent)):ee():ue(e)},Xc=(e,t,r)=>{let n=!e.getRef(Go)||r?.annotations&&he(r.annotations,Br),o=r?.parent!==void 0?ue(r.parent):r?.root?ee():Wp(e.currentSpan),s;if(n)s=WE({name:t,parent:o,annotations:qe(r?.annotations??Fe(),Br,!0)});else{let i=e.getRef(Qo),c=e.getRef(ht),f=e.getRef(Mn),l=e.getRef(Un),d=e.getRef(Nn),p=r?.level??e.getRef(Ff),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??Tn(o),sampled:r?.sampled??(Ni(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)=>T((r)=>y(Xc(r,e,t))),rt=(e,t)=>mr(T((r)=>{let n=vt(r.context,pr),o=Xc(r,e,t??{}),s=r.getRef(ht),i=r.getRef(Mn);return Oe(mt(n,(c)=>JE(o,c,s,i)),o)})),Jp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return E(rt(t,r),(o)=>Vr(n,o,r))}return(n)=>E(rt(t,r),(o)=>Vr(n,o,r))},VE=(e,t)=>(t=typeof t==="function"?t:Qe,Tt(qr,(r)=>({name:e,stack:t,parent:r}))),Kp=Un,Qp=Nn,Yp=u((e)=>k(e[0]),(e,t,r={})=>{let o=(Array.isArray(t)?t:[t]).map((s)=>({span:s,attributes:r}));return Tt(e,Nn,(s)=>[...s,...o])}),JE=(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 T((o)=>{let s=Xc(o,e,r),i=o.getRef(ht);return Ae(z(()=>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=Wt(r),n=VE(t.name,r?.captureStackTrace);if(e)return cc(n(arguments[0]),t);return(o)=>cc(n(o),t)},Gp=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(arguments[2]);if(e){let s=arguments[0];return zn(t,arguments[2],(i)=>Vr(s,i,r))}let n=typeof arguments[1]==="function"?arguments[1]:void 0,o=n?void 0:arguments[1];return(s,...i)=>zn(t,n?n(...i):o,(c)=>Vr(s,c,r))},Xp=u((e)=>k(e[0]),(e,...t)=>Tt(e,Un,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),Zp=(...e)=>T((t)=>{let r=t.currentSpanLocal;if(r)if(e.length===1)for(let[n,o]of Object.entries(e[0]))r.attribute(n,o);else r.attribute(e[0],e[1]);return U}),ed=T((e)=>{let t=e.currentSpanLocal;return t?y(t):H(new kt)}),td=ME(ar),ht=I("effect/Clock",{defaultValue:()=>new rd}),KE=2147483647;class rd{currentTimeMillisUnsafe(){return Date.now()}currentTimeMillis=b(()=>this.currentTimeMillisUnsafe());currentTimeNanosUnsafe(){return QE()}currentTimeNanos=b(()=>this.currentTimeNanosUnsafe());sleep(e){let t=Hr(e);if(t<=0)return Kr;return Me((r)=>{if(t>KE)return;let n=setTimeout(()=>r(U),t);return 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))}(),QE=function(){let e=typeof process==="object"&&"hrtime"in process&&typeof process.hrtime.bigint==="function"?process.hrtime:void 0;if(!e)return qf;let t=qf()-e.bigint();return()=>t+e.bigint()}(),gr=(e)=>T((t)=>e(t.getRef(ht))),xr=(e)=>gr((t)=>t.sleep(Le(e))),nd=gr((e)=>e.currentTimeMillis);var ac="~effect/Cause/TimeoutError";class Zc extends or("TimeoutError"){[ac]=ac;constructor(e){super({message:e})}}var uc="~effect/Cause/AsyncFiberError";class ea extends or("AsyncFiberError"){[uc]=uc;constructor(e){super({message:"An asynchronous Effect was executed with Effect.runSync",fiber:e})}}var fc="~effect/Cause/UnknownError";class ks extends or("UnknownError"){[fc]=fc;constructor(e,t){super({message:t,cause:e})}}var ta=I("effect/Console/CurrentConsole",{defaultValue:()=>globalThis.console}),YE=(e)=>{switch(e){case"All":return Number.MIN_SAFE_INTEGER;case"Fatal":return 50000;case"Error":return 40000;case"Warn":return 30000;case"Info":return 20000;case"Debug":return 1e4;case"Trace":return 0;case"None":return Number.MAX_SAFE_INTEGER}},GE=tf(Lr,YE),od=rf(GE),ra=I("effect/Loggers/CurrentLoggers",{defaultValue:()=>new Set([ob,sb])}),XE=I("effect/Logger/LogToStderr",{defaultValue:_r}),sd=function(){let e=typeof arguments[0]==="string"?[[arguments[0],arguments[1]]]:Object.entries(arguments[0]);return mr(T((t)=>{let r=t.getRef(Rt),n={...r};for(let o=0;o<e.length;o++){let[s,i]=e[o];n[s]=i}return t.setContext(qe(t.context,Rt,n)),mt(vt(t.context,pr),(o)=>{let s=t.getRef(Rt),i={...s};for(let c=0;c<e.length;c++){let[f,l]=e[c];if(s[f]!==l)continue;if(f in r)i[f]=r[f];else delete i[f]}return t.setContext(qe(t.context,Rt,i)),U})}))},ZE="~effect/Logger",eb={[ZE]:{_Message:w,_Output:w},pipe(){return N(this,arguments)}},id=(e)=>{let t=Object.create(eb);return t.log=e,t},tb=(e)=>e.replace(/[\s="]/g,"_"),rb=(e,t)=>`${tb(e[0])}=${t-e[1]}ms`;var nt=(e)=>(...t)=>{let r=void 0;for(let n=0,o=t.length;n<o;n++){let s=t[n];if(En(s)){if(r)t.splice(n,1);else t=t.slice(0,n).concat(t.slice(n+1));r=r?nr(r.reasons.concat(s.reasons)):s,n--}}if(r===void 0)r=vi;return T((n)=>{let o=e??n.currentLogLevel;if(od(n.minimumLogLevel,o))return U;let s=n.getRef(ht),i=n.getRef(ra);if(i.size>0){let c=new Date(s.currentTimeMillisUnsafe());for(let f of i)f.log({cause:r,fiber:n,date:c,logLevel:o,message:t})}return U})};var ur={bold:"1",red:"31",green:"32",yellow:"33",blue:"34",cyan:"36",white:"37",gray:"90",black:"30",bgBrightRed:"101"},iO={None:[],All:[],Trace:[ur.gray],Debug:[ur.blue],Info:[ur.green],Warn:[ur.yellow],Error:[ur.red],Fatal:[ur.bgBrightRed,ur.black]};var nb=(e)=>`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`;var ob=id(({cause:e,date:t,fiber:r,logLevel:n,message:o})=>{let s=Array.isArray(o)?o.slice():[o];if(e.reasons.length>0)s.push(dc(e));let i=t.getTime(),c=r.getRef(Xo),f="";for(let g of c)f+=` ${rb(g,i)}`;let l=r.getRef(Rt);if(Object.keys(l).length>0)s.push(l);let d=r.getRef(ta);(r.getRef(XE)?d.error:d.log)(`[${nb(t)}] ${n.toUpperCase()} (#${r.id})${f}:`,...s)}),sb=id(({cause:e,fiber:t,logLevel:r,message:n})=>{let o=t.getRef(ht),s=t.getRef(Rt),i=t.currentSpan;if(i===void 0||i._tag==="ExternalSpan")return;let c={};for(let[f,l]of Object.entries(s))c[f]=l;if(c["effect.fiberId"]=t.id,c["effect.logLevel"]=r.toUpperCase(),e.reasons.length>0)c["effect.cause"]=dc(e);i.event(Au(Array.isArray(n)&&n.length===1?n[0]:n),o.currentTimeNanosUnsafe(),c)});function ib(){nc.interruptChildren??=PE}var cd=y(void 0);var ad=u((e)=>k(e[0]),(e,t)=>Lc(e,(r)=>T((n)=>(cb(n,r,t?.defectsOnly),U)))),cb=(e,t,r)=>{let n=e.getRef(zf);if(n.size===0)return;if(r&&!Jf(t))return;let o={cause:t,fiber:e,timestamp:e.getRef(ht).currentTimeNanosUnsafe()};n.forEach((s)=>s.report(o))};var ud=ta,ce=(e)=>T((t)=>e(t.getRef(ud))),ab=(e,...t)=>ce((r)=>b(()=>{r.assert(e,...t)})),ub=ce((e)=>b(()=>{e.clear()})),fb=(e)=>ce((t)=>b(()=>{t.count(e)})),lb=(e)=>ce((t)=>b(()=>{t.countReset(e)})),pb=(...e)=>ce((t)=>b(()=>{t.debug(...e)})),db=(e,t)=>ce((r)=>b(()=>{r.dir(e,t)})),mb=(...e)=>ce((t)=>b(()=>{t.dirxml(...e)})),hb=(...e)=>ce((t)=>b(()=>{t.error(...e)})),gb=(e)=>ce((t)=>dr(b(()=>{if(e?.collapsed)t.groupCollapsed(e.label);else t.group(e?.label)}),()=>b(()=>{t.groupEnd()}))),xb=(...e)=>ce((t)=>b(()=>{t.info(...e)})),yb=(...e)=>ce((t)=>b(()=>{t.log(...e)})),Eb=(e,t)=>ce((r)=>b(()=>{r.table(e,t)})),bb=(e)=>ce((t)=>dr(b(()=>{t.time(e)}),()=>b(()=>{t.timeEnd(e)}))),Sb=(e,...t)=>ce((r)=>b(()=>{r.timeLog(e,...t)})),Cb=(...e)=>ce((t)=>b(()=>{t.trace(...e)})),wb=(...e)=>ce((t)=>b(()=>{t.warn(...e)})),kb=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()})))),vb=u((e)=>k(e[0]),(e,t)=>ce((r)=>Jn(b(()=>{r.time(t)}),()=>e,()=>b(()=>{r.timeEnd(t)}))));var Je={};dn(Je,{taggedEnum:()=>Ob,TaggedError:()=>ot,TaggedClass:()=>Rb,Error:()=>Ab,Class:()=>fd});var fd=class extends Cu{constructor(e){super();if(e)Object.assign(this,e)}},Rb=(e)=>class extends fd{_tag=e},Ob=()=>new Proxy({},{get(e,t,r){if(t==="$is")return it;else if(t==="$match")return Tb;return(n)=>({...n,_tag:t})}});function Tb(){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 Ab=Oi,ot=or;var a={};dn(a,{zipWith:()=>oC,zip:()=>pm,yieldNowWith:()=>GS,yieldNow:()=>am,withTracerTiming:()=>pw,withTracerEnabled:()=>lw,withTracer:()=>fw,withSpanScoped:()=>Cw,withSpan:()=>Sw,withParentSpan:()=>Ua,withLogger:()=>Bw,withLogSpan:()=>Vw,withFiber:()=>so,withExecutionPlan:()=>wC,withErrorReporting:()=>kC,withConcurrency:()=>JC,whileLoop:()=>Us,when:()=>NC,void:()=>oo,validate:()=>HS,useSpan:()=>Ma,updateService:()=>WC,updateContext:()=>Pa,unwrapReason:()=>cC,uninterruptibleMask:()=>an,uninterruptible:()=>Um,undefined:()=>VS,txRetry:()=>rk,tx:()=>Xw,tryPromise:()=>gt,try:()=>on,transposeOption:()=>ZS,trackSuccesses:()=>Kw,trackErrors:()=>Qw,trackDuration:()=>Gw,trackDefects:()=>Yw,track:()=>Jw,tracer:()=>uw,timeoutOrElse:()=>AC,timeoutOption:()=>TC,timeout:()=>OC,timed:()=>IC,tapErrorTag:()=>hC,tapError:()=>Hs,tapDefect:()=>ym,tapCauseIf:()=>gC,tapCauseFilter:()=>xC,tapCause:()=>xm,tap:()=>io,sync:()=>_t,suspend:()=>Pt,succeedSome:()=>sm,succeedNone:()=>om,succeed:()=>Ce,spanLinks:()=>yw,spanAnnotations:()=>xw,sleep:()=>Ia,serviceOption:()=>Tm,service:()=>Om,scopedWith:()=>Im,scoped:()=>Am,scope:()=>_a,scheduleFrom:()=>zm,schedule:()=>aw,satisfiesSuccessType:()=>ok,satisfiesServicesType:()=>ik,satisfiesErrorType:()=>sk,sandbox:()=>bC,runSyncWith:()=>_w,runSyncExitWith:()=>Mw,runSyncExit:()=>Fw,runSync:()=>Xt,runPromiseWith:()=>$m,runPromiseExitWith:()=>jm,runPromiseExit:()=>Pw,runPromise:()=>$a,runForkWith:()=>Lm,runFork:()=>La,runCallbackWith:()=>Aw,runCallback:()=>Iw,retryOrElse:()=>EC,retry:()=>Em,result:()=>tC,requestUnsafe:()=>kw,request:()=>ww,replicateEffect:()=>cw,replicate:()=>iw,repeatOrElse:()=>sw,repeat:()=>Nm,raceFirst:()=>Sm,raceAllFirst:()=>PC,raceAll:()=>bm,race:()=>_C,provideServiceEffect:()=>VC,provideService:()=>Ws,provideContext:()=>qs,provide:()=>qC,promise:()=>Ns,partition:()=>jS,orElseSucceed:()=>vC,orDie:()=>mC,option:()=>rC,onInterrupt:()=>Vs,onExitPrimitive:()=>Fm,onExitIf:()=>XC,onExitFilter:()=>ZC,onExit:()=>cn,onErrorIf:()=>YC,onErrorFilter:()=>GC,onError:()=>ao,never:()=>va,matchEffect:()=>Rm,matchEager:()=>DC,matchCauseEffectEager:()=>jC,matchCauseEffect:()=>sn,matchCauseEager:()=>$C,matchCause:()=>LC,match:()=>zC,mapErrorEager:()=>ak,mapError:()=>gm,mapEager:()=>ck,mapBothEager:()=>uk,mapBoth:()=>dC,map:()=>Ne,makeSpanScoped:()=>bw,makeSpan:()=>Dm,logWithLevel:()=>Hm,logWarning:()=>Dw,logTrace:()=>Hw,logInfo:()=>$w,logFatal:()=>zw,logError:()=>Lw,logDebug:()=>jw,log:()=>Nw,linkSpans:()=>Ew,let:()=>QS,isSuccess:()=>BC,isFailure:()=>HC,isEffect:()=>vr,interruptibleMask:()=>nw,interruptible:()=>rw,interrupt:()=>Mm,ignoreCause:()=>CC,ignore:()=>SC,gen:()=>Ra,fromResult:()=>um,fromOption:()=>XS,fromNullishOr:()=>eC,forkScoped:()=>Da,forkIn:()=>za,forkDetach:()=>vw,forkChild:()=>Na,forever:()=>Js,forEach:()=>WS,fnUntracedEager:()=>lk,fnUntraced:()=>fo,fn:()=>Uw,flip:()=>nC,flatten:()=>fm,flatMapEager:()=>Bm,flatMap:()=>fe,firstSuccessOf:()=>RC,findFirstFilter:()=>qS,findFirst:()=>BS,filterOrFail:()=>vm,filterOrElse:()=>km,filterMapOrFail:()=>UC,filterMapOrElse:()=>MC,filterMapEffect:()=>wm,filterMap:()=>FC,filter:()=>Cm,fiberId:()=>Tw,fiber:()=>Ow,failSync:()=>im,failCauseSync:()=>cm,failCause:()=>Rr,fail:()=>Gt,exit:()=>Oa,eventually:()=>yC,ensuring:()=>_m,effectify:()=>nk,die:()=>zs,delay:()=>Aa,currentSpan:()=>hw,currentParentSpan:()=>gw,contextWith:()=>co,context:()=>Bs,clockWith:()=>ja,catchTags:()=>mm,catchTag:()=>dm,catchReasons:()=>iC,catchReason:()=>sC,catchNoSuchElement:()=>fC,catchIf:()=>aC,catchFilter:()=>uC,catchEager:()=>fk,catchDefect:()=>hm,catchCauseIf:()=>lC,catchCauseFilter:()=>pC,catchCause:()=>js,catch:()=>$s,callback:()=>ka,cachedWithTTL:()=>ew,cachedInvalidateWithTTL:()=>tw,cached:()=>uo,bindTo:()=>KS,bind:()=>YS,awaitAllChildren:()=>Rw,asVoid:()=>Ls,asSome:()=>lm,as:()=>Ta,annotateSpans:()=>dw,annotateLogsScoped:()=>Ww,annotateLogs:()=>qw,annotateCurrentSpan:()=>mw,andThen:()=>Ds,all:()=>$S,addFinalizer:()=>Pm,acquireUseRelease:()=>QC,acquireRelease:()=>Fa,acquireDisposable:()=>KC,abortSignal:()=>ow,TypeId:()=>LS,Transaction:()=>no,Do:()=>JS});var ld=ie,pd=De;var dd=kc;var je={};dn(je,{withSpan:()=>cS,withParentSpan:()=>ca,updateService:()=>Fd,unwrap:()=>ia,tapError:()=>Jb,tapCause:()=>Kb,tap:()=>Vb,syncContext:()=>sa,sync:()=>jb,suspend:()=>Bb,succeedContext:()=>Sr,succeed:()=>Ad,span:()=>iS,satisfiesSuccessType:()=>nS,satisfiesServicesType:()=>sS,satisfiesErrorType:()=>oS,provideMerge:()=>Wb,provide:()=>Zr,parentSpan:()=>Md,orDie:()=>Qb,mock:()=>tS,mergeAll:()=>As,merge:()=>qb,makeMemoMapUnsafe:()=>en,makeMemoMap:()=>Db,launch:()=>eS,isLayer:()=>Os,fromBuildMemo:()=>Ts,fromBuild:()=>Qt,fresh:()=>Zb,forkMemoMapUnsafe:()=>Od,forkMemoMap:()=>Lb,flatMap:()=>_d,empty:()=>$b,effectDiscard:()=>Hb,effectContext:()=>fa,effect:()=>tn,catchTag:()=>Gb,catchCause:()=>Xb,catch:()=>Yb,buildWithScope:()=>ua,buildWithMemoMap:()=>Yn,build:()=>Td,CurrentMemoMap:()=>Xr});var Ib="~effect/Deferred";var Pb={[Ib]:{_A:w,_E:w},pipe(){return N(this,arguments)}},hd=()=>{let e=Object.create(Pb);return e.resumes=void 0,e.effect=void 0,e};var gd=(e)=>Me((t)=>{if(e.effect)return t(e.effect);return e.resumes??=[],e.resumes.push(t),b(()=>{let r=e.resumes.indexOf(t);e.resumes.splice(r,1)})});var _b=u(2,(e,t)=>b(()=>Fb(e,t))),xd=_b;var Fb=(e,t)=>{if(e.effect)return!1;if(e.effect=t,e.resumes){for(let r=0;r<e.resumes.length;r++)e.resumes[r](t);e.resumes=void 0}return!0};var yd=Rt;var Ed=Xo,bd=qr;var vs=pr;var Qn=Wn,yr=ip,Sd=mt,na=op;var Er=np,br=Nc;var Rd="~effect/Layer",Cd="~effect/Layer/MemoMap",Ub=(e,t)=>(e.observers++,Ve(mt(t,(r)=>e.finalizer(r)),e.effect)),Os=(e)=>R(e,Rd),Nb={[Rd]:{_ROut:w,_E:w,_RIn:w},pipe(){return N(this,arguments)}},Cr=(e)=>{let t=Object.create(Nb);return t.build=e,t},Qt=(e)=>Cr((t,r)=>{let n=Er(r);return Ae(e(t,n),(o)=>o._tag==="Failure"?br(n,o):U)}),Ts=(e)=>{let t=Qt((r,n)=>r.getOrElseMemoize(t,n,e));return t},zb=(e,t,r,n)=>{let o=Qn(),s=hd(),i={observers:1,effect:gd(s),finalizer:(c)=>P(()=>{if(i.observers--,i.observers===0)return e.map.delete(t),br(o,c);return U})};return e.map.set(t,i),mt(r,i.finalizer).pipe(E(()=>n(e,o)),Ae((c)=>(i.effect=c,xd(s,c))))};class aa{get[Cd](){return Cd}parent;constructor(e){this.parent=e}map=new Map;get(e,t){let r=this.map.get(e);if(r)return Ub(r,t);return this.parent?.get(e,t)}getOrElseMemoize(e,t,r){let n=this.get(e,t);if(n)return n;return zb(this,e,t,r)}}var en=()=>new aa,Od=(e)=>new aa(e),Db=b(en),Lb=(e)=>b(()=>Od(e));class Xr extends ve()("effect/Layer/CurrentMemoMap"){static getOrCreate=Bi(this,en)}var Yn=u(3,(e,t,r)=>Se(L(e.build(t,r),qe(Xr,t)),Xr,t)),Td=(e)=>T((t)=>Yn(e,Xr.getOrCreate(t.context),vt(t.context,vs))),ua=u(2,(e,t)=>T((r)=>Yn(e,Xr.getOrCreate(r.context),t))),Ad=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))),$b=Sr(Fe()),jb=function(){if(arguments.length===1)return(e)=>sa(()=>ft(arguments[0],e()));return sa(()=>ft(arguments[0],arguments[1]()))},sa=(e)=>Ts(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(L(t,(r)=>ft(e,r))),fa=(e)=>Ts((t,r)=>yr(e,r)),Hb=(e)=>fa(Oe(e,Fe())),Bb=(e)=>Ts((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(L((o)=>Vi(...o)))},As=(...e)=>Qt((t,r)=>Id(e,t,r)),qb=u(2,(e,t)=>As(e,...Array.isArray(t)?t:[t])),Pd=(e,t,r)=>Qt((n,o)=>E(Array.isArray(t)?Id(t,n,o):t.build(n,o),(s)=>e.build(n,o).pipe(At(s),L((i)=>r(i,s))))),Zr=u(2,(e,t)=>Pd(e,t,w)),Wb=u(2,(e,t)=>Pd(e,t,(r,n)=>qt(n,r))),_d=u(2,(e,t)=>Qt((r,n)=>E(e.build(r,n),(o)=>t(o).build(r,n)))),Vb=u(2,(e,t)=>Qt((r,n)=>E(e.build(r,n),(o)=>yr(Oe(t(o),o),n)))),Jb=u(2,(e,t)=>Qt((r,n)=>Te(e.build(r,n),(o)=>yr(Ve(t(o),H(o)),n)))),Kb=u(2,(e,t)=>Qt((r,n)=>Ue(e.build(r,n),(o)=>yr(Ve(t(o),B(o)),n)))),Qb=(e)=>Cr((t,r)=>hs(e.build(t,r))),Yb=u(2,(e,t)=>Cr((r,n)=>Te(e.build(r,n),(o)=>t(o).build(r,n))));var Gb=u(3,(e,t,r)=>Cr((n,o)=>ms(e.build(n,o),t,(s)=>r(s).build(n,o)))),Xb=u(2,(e,t)=>Cr((r,n)=>Ue(e.build(r,n),(o)=>t(o).build(r,n)))),Fd=u(3,(e,t,r)=>Zr(e,tn(t,L(t,r)))),Zb=(e)=>Cr((t,r)=>e.build(en(),r)),eS=(e)=>ys(Ve(Td(e),cs)),tS=function(){if(arguments.length===1)return(e)=>kd(arguments[0],e);return kd(arguments[0],arguments[1])},kd=(e,t)=>Ad(e)(new Proxy({...t},{get(r,n,o){if(n in r)return r[n];let s=Error.stackTraceLimit;Error.stackTraceLimit=2;let i=Error(`${e.key}: Unimplemented method "${n.toString()}"`);return Error.stackTraceLimit=s,i.name="UnimplementedError",rS(i)},has:ze})),rS=(e)=>{let t=Object.assign(Ot(e),{[vd]:vd,channel:{[Rs]:Rs,transform:()=>y(t),pipe(){return N(this,arguments)}},[Rs]:Rs,transform:()=>y(t)});function r(){return t}return Object.assign(r,t),Object.setPrototypeOf(r,Object.getPrototypeOf(t)),r},vd="~effect/Stream",Rs="~effect/Channel",nS=()=>(e)=>e,oS=()=>(e)=>e,sS=()=>(e)=>e,iS=(e,t)=>(t=Wt(t),tn(ar,t?.onEnd?dt(rt(e,t),(r)=>Yr((n)=>t.onEnd(r,n))):rt(e,t))),Md=(e)=>Sr(ar.context(e)),cS=function(){let e=typeof arguments[0]!=="string",t=e?arguments[1]:arguments[0],r=Wt(e?arguments[2]:arguments[1]);if(e){let n=arguments[0];return ia(L(r?.onEnd!==void 0?dt(rt(t,r),(o)=>Yr((s)=>r.onEnd(o,s))):rt(t,r),(o)=>ca(n,o)))}return(n)=>ia(L(r?.onEnd!==void 0?dt(rt(t,r),(o)=>Yr((s)=>r.onEnd(o,s))):rt(t,r),(o)=>ca(n,o)))},ca=function(){let e=Os(arguments[0]),t=e?arguments[1]:arguments[0],r=e?arguments[2]:arguments[1],n=w;if(t._tag==="Span")r=Wt(r),n=aS(t.name,r?.captureStackTrace);let o=Md(t);if(e)return Zr(n(arguments[0]),o);return(s)=>Zr(n(s),o)},aS=(e,t)=>(t=typeof t==="function"?t:Qe,Fd(bd,(r)=>({name:e,stack:t,parent:r})));var Ud="~effect/ExecutionPlan";var uS={[Ud]:Ud,get captureRequirements(){let e=this;return Jt((t)=>y(fS(e.steps.map((r)=>({...r,provide:Os(r.provide)?Zr(r.provide,Sr(t)):r.provide})))))},pipe(){return N(this,arguments)}},fS=(e)=>{let t=Object.create(uS);return t.steps=e,t};var Nd=I("effect/ExecutionPlan/CurrentMetadata",{defaultValue:re({attempt:0,stepIndex:0})});var zd=ns;var Is=pt;var la=pc;var Ps=Rn;var wr=$u;var Xn=u(2,(e,t)=>Qr(e,pS,(r)=>t(r)));var pa=Qi(Is,(e)=>Ps(e)?ke(e):me(e));var pS=Qi(Is,(e)=>Ps(e)?ke(e.value):me(e)),Dd=(e)=>{let t=pa(e);return!J(t)?ld(t.success.value):pd(t.failure)},da=u(2,(e,t)=>lt(e,{onSuccess:t.onSuccess,onFailure:(r)=>{let n=pa(r);return!J(n)?t.onDone(n.success.value):t.onFailure(n.failure)}}));var Ld="~effect/Schedule";var kr=I("effect/Schedule/CurrentMetadata",{defaultValue:re({input:void 0,output:void 0,duration:$r,attempt:0,start:0,now:0,elapsed:0,elapsedSincePrevious:0})}),dS={[Ld]:{_Out:w,_In:w,_Env:w},pipe(){return N(this,arguments)}},ha=(e)=>R(e,Ld),ga=(e)=>{let t=Object.create(dS);return t.step=e,t},xa=()=>{let e=0,t,r;return(n,o)=>{if(r===void 0)r=n;let s=n-r,i=t===void 0?0:n-t;return t=n,{input:o,attempt:++e,start:r,now:n,elapsed:s,elapsedSincePrevious:i}}},mS=(e)=>ga(L(e,(t)=>{let r=xa();return(n,o)=>t(r(n,o))})),ya=(e)=>Ue(e.step,(t)=>y(()=>B(t))),_s=(e)=>gr((t)=>L(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,Oe(xr(c),f)})})}));var Ea=(e)=>ga(L(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 hS=(e)=>{let t=Le(e);return mS(y((r)=>y([r.attempt-1,t])))};var Zn=u(2,(e,t)=>ga(L(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=hS($r);var gS=(e,t,r)=>Es((n)=>E(r?.local?Yn(t,en(),n):ua(t,n),(o)=>At(e,o))),Fs=u((e)=>k(e[0]),(e,t,r)=>Bo(t)?At(e,t):gS(e,Array.isArray(t)?As(...t):t,r));var Sa=u(3,(e,t,r)=>E(_s(t),(n)=>{let o=kr.defaultValue();return Te(ls(dt(E(P(()=>Se(e,kr,o)),n),(s)=>b(()=>{o=s})),{disableYield:!0}),(s)=>Rn(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=Te(P(()=>Se(e,kr,o)),(c)=>(s=c,E(n(c),(f)=>(o=f,i))));return Xn(i,(c)=>z(()=>r(s,c)))})),Bd=u(2,(e,t)=>{let r=typeof t==="function"?t(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 Te(E(n(t),(i)=>{o=i;let c=re(E(s,n));return Kt({while:ze,body:c,step(f){o=f}})}),(i)=>Rn(i)?y(i.value):H(i))})),xS=Ea(ba),to=(e)=>{let t=e.schedule?Ea(e.schedule):xS;if(e.while)t=Zn(t,({input:r})=>{let n=e.while(r);return k(n)?n:y(n)});if(e.until)t=Zn(t,({input:r})=>{let n=e.until(r);return k(n)?L(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(Nd,b(()=>(n={attempt:n.attempt+1,stepIndex:r},n))),s;return E(Kt({while:()=>r<t.steps.length&&(s===void 0||J(s)),body(){let i=t.steps[r],c=o(Fs(e,i.provide));if(s){let f=!1,l=c;c=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 Vt(c)},step(i){s=i,r++}}),()=>Jr(s))})),Vd=(e,t)=>{if(!t)return to({schedule:e.schedule?e.schedule:e.attempts?void 0:yS,times:e.attempts,while:e.while});else if(e.attempts===1||!(e.schedule||e.attempts))return;return to({schedule:e.schedule,while:e.while,times:e.attempts?e.attempts-1:void 0})},yS=$d(1);var bS="~effect/Request",SS=Ru({_E:(e)=>e,_A:(e)=>e,_R:(e)=>e}),ET={..._u,[bS]:SS};var Kd=(e)=>e;var Yd=u(2,(e,t)=>{let r=(n)=>Me((o)=>{let s=Xd(n,e,o,Dn());return CS(n,s)});return k(t)?E(t,r):r(t)}),Gd=(e,t)=>{let r=Xd(t.resolver,e,t.onExit,{context:t.context,currentScheduler:he(t.context,Fn)});return()=>Zd(t.resolver,r)},Ms=[],wa=new WeakMap,Xd=(e,t,r,n)=>{let o=wa.get(e);if(!o)o=new Map,wa.set(e,o);let s,i=!1,c=Kd({request:t,context:n.context,uninterruptible:!1,completeUnsafe(l){if(i)return;i=!0,r(l),s?.entrySet.delete(c)}});if(e.preCheck!==void 0&&!e.preCheck(c))return c;let f=e.batchKey(c);if(s=o.get(f),!s){if(Ms.length>0)s=Ms.pop(),s.key=f,s.resolver=e,s.map=o;else{let l={key:f,resolver:e,map:o,entrySet:new Set,entries:new Set,delayEffect:E(P(()=>l.resolver.delay),(d)=>Qd(l)),run:Ae(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 U})};s=l}o.set(f,s),s.fiber=It(n.context)(s.delayEffect,{scheduler:n.currentScheduler})}if(s.entrySet.add(c),s.entries.add(c),s.resolver.collectWhile(s.entries))return c;return s.fiber.interruptUnsafe(n.id),s.fiber=It(n.context)(Qd(s),{scheduler:n.currentScheduler}),c},Zd=(e,t)=>{if(t.uninterruptible)return;let r=wa.get(e);if(!r)return;let n=e.batchKey(t.request),o=r.get(n);if(!o)return;if(o.entries.delete(t),o.entrySet.delete(t),o.entries.size===0)r.delete(n),o.fiber?.interruptUnsafe()},CS=(e,t)=>b(()=>Zd(e,t));function Qd(e){if(!e.map.has(e.key))return U;return e.map.delete(e.key),e.run}var vS="effect/Metric/CurrentMetricAttributes",RS=I(vS,{defaultValue:()=>({})}),OS="~effect/observability/Metric/MetricRegistryKey",TS=I(OS,{defaultValue:()=>new Map}),em="~effect/observability/Metric";class rn{[em]=em;#e=new WeakMap;#t;id;description;attributes;constructor(e,t,r){this.id=e,this.description=t,this.attributes=r}valueUnsafe(e){return this.hook(e).get(e)}modifyUnsafe(e,t){return this.hook(t).modify(e,t)}updateUnsafe(e,t){return this.hook(t).update(e,t)}hook(e){let t=he(e,RS);if(Object.keys(t).length===0){if(yt(this.#t))return this.#t.hooks;return this.#t=this.getOrCreate(e,this.attributes),this.#t.hooks}let r=zS(this.attributes,t),n=this.#e.get(r);if(yt(n))return n.hooks;return n=this.getOrCreate(e,r),this.#e.set(r,n),n.hooks}getOrCreate(e,t){let r=MS(this,t),n=he(e,TS);if(n.has(r))return n.get(r);let o=this.createHooks(),s={id:this.id,type:this.type,description:this.description,attributes:Yt(t),hooks:o};return n.set(r,s),s}pipe(){return N(this,arguments)}}var tm=BigInt(0);class AS extends rn{type="Counter";#e;#t;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.bigint??!1,this.#t=t?.incremental??!1}createHooks(){let e=this.#e?tm:0,t=this.#t?this.#e?(n)=>n>=tm:(n)=>n>=0:(n)=>!0;return ro(()=>({count:e,incremental:this.#t}),(n)=>{if(t(n))e=e+n})}}class IS extends rn{type="Gauge";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.bigint??!1}createHooks(){let e=this.#e?BigInt(0):0;return ro(()=>({value:e}),(n)=>{e=n},(n)=>{e=e+n})}}class PS extends rn{type="Frequency";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t?.preregisteredWords}createHooks(){let e=new Map;if(yt(this.#e))for(let r of this.#e)e.set(r,0);return ro(()=>({occurrences:e}),(r)=>{let n=e.get(r)??0;e.set(r,n+1)})}}class _S extends rn{type="Histogram";#e;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=t.boundaries}createHooks(){let e=this.#e,t=e.length,r=new Uint32Array(t+1),n=new Float64Array(t),o=0,s=0,i=Number.MAX_VALUE,c=Number.MIN_VALUE;$i(Lo(e,Lr),(d,p)=>{n[p]=d});let f=(d)=>{let p=0,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 FS extends rn{type="Summary";#e;#t;#r;constructor(e,t){super(e,t?.description,Yt(t?.attributes));this.#e=Math.max(Hr(Le(t.maxAge)),0),this.#t=t.maxSize,this.#r=t.quantiles}createHooks(){let e=Lo(this.#r,Lr),t=zi(this.#t);for(let p of this.#r)if(p<0||p>1)throw Error(`Quantile must be between 0 and 1, found: ${p}`);let r=0,n=0,o=0,s=Number.MAX_VALUE,i=Number.MIN_VALUE,c=(p)=>{let 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),A=x.length;if(A===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[A-1]];let se=Math.ceil(v*A)-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)=>Jt((r)=>b(()=>e.updateUnsafe(t,r))));function MS(e,t){let r=`${e.type}:${e.id}`;if(yt(e.description))r+=`:${e.description}`;if(yt(t))r+=`:${US(t)}`;return r}function ro(e,t,r){return{get:e,update:t,modify:r??t}}function US(e){return NS(Array.isArray(e)?e:Object.entries(e))}function NS(e){return e.map(([t,r])=>`${t}=${r}`).join(",")}function zS(e,t){return{...Yt(e),...Yt(t)}}function Yt(e){if(yt(e)&&Array.isArray(e))return e.reduce((t,[r,n])=>(t[r]=n,t),{});return e}var LS=ut,vr=k,$S=Ss,jS=qc,HS=xp,BS=yp,qS=bp,WS=We,Us=Kt,Ns=yc,gt=cl,Ce=y,om=Ln,sm=xc,Pt=P,_t=b,oo=U;var VS=cd;var ka=Me,va=cs,JS=Rp,KS=Op,QS=Ap;var YS=Tp,Ra=ll,Gt=H,im=is,Rr=B,cm=sl,zs=Ot,on=il;var am=Kr,GS=gc,so=T,um=Jr,XS=rl,ZS=ol,eC=nl,fe=E,fm=El,Ds=Ve,io=dt,tC=Vt,rC=Ql,Oa=qn,Ne=L,Ta=Oe,lm=as,Ls=$n,nC=ml,pm=Rc,oC=Oc,$s=Te;var dm=ms,mm=jl,sC=Hl,iC=Bl,cC=ql,js=Ue,hm=Nl,aC=Hn,uC=ds,fC=Ul,lC=Ac,pC=Qr,gm=Pc,dC=_c,mC=hs,Hs=Ic,hC=Ll,xm=zl,gC=Dl,xC=ps,ym=$l,yC=Fc,Em=eo,EC=Ca,bC=hl,SC=Jl,CC=Kl,wC=Jd,kC=ad,vC=Wl,RC=Vl,OC=ep,TC=tp,AC=Uc,Aa=Zl,Ia=xr,IC=rp,bm=Cc,PC=wc,_C=gl,Sm=us,Cm=wp,FC=kp,wm=vp,km=Wc,MC=Vc,vm=_l,UC=Cp,NC=Fl,zC=gs,DC=Bn,LC=Mc,$C=Yl,jC=xl,sn=lt,Rm=lr,HC=Gl,BC=Xl,Bs=vc,co=Jt,qC=Fs,qs=At,Om=Al,Tm=Il,Pa=jn,WC=Tt,Ws=Se,VC=fs,JC=Pl,_a=Vn,Am=ys,Im=Es,Fa=dr,KC=fp,QC=Jn,Pm=Yr,_m=cp,ao=Lc,YC=ap,GC=$c,Fm=Gr,cn=Ae,XC=zc,ZC=Dc,uo=lp,ew=Hc,tw=jc,Mm=pp,rw=Bc,Vs=up,Um=mr,an=Kn,nw=hp,ow=gp,Js=ls,Nm=Bd,sw=Sa,iw=Tc,cw=Ml,aw=u(2,(e,t)=>zm(e,void 0,t)),zm=qd,uw=jp,fw=Hp,lw=Bp,pw=qp,dw=Xp,mw=Zp,hw=ed,gw=td,xw=Kp,yw=Qp,Ew=Yp,Dm=Vp,bw=rt,Ma=zn,Sw=Gp,Cw=Jp,Ua=Vr,ww=Yd,kw=Gd,Na=Ip,za=Jc,Da=Fp,vw=Pp,Rw=_p,Ow=ul,Tw=fl,La=Mp,Lm=It,Aw=Kc,Iw=Up,$a=zp,$m=Qc,Pw=Np,jm=Cs,Xt=Lp,_w=Yc,Fw=Dp,Mw=ws,fo=bc,Uw=pl,ja=gr,Hm=nt,Nw=nt(),zw=nt("Fatal"),Dw=nt("Warn"),Lw=nt("Error"),$w=nt("Info"),jw=nt("Debug"),Hw=nt("Trace"),Bw=u(2,(e,t)=>Tt(e,ra,(r)=>new Set([...r,t]))),qw=u((e)=>vr(e[0]),(e,...t)=>Tt(e,yd,(r)=>{let n={...r};if(t.length===1)Object.assign(n,t[0]);else n[t[0]]=t[1];return n})),Ww=sd,Vw=u(2,(e,t)=>E(nd,(r)=>Tt(e,Ed,(n)=>[[t,r],...n]))),Jw=u((e)=>vr(e[0]),(e,t,r)=>cn(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return nn(t,o)})),Kw=u((e)=>vr(e[0]),(e,t,r)=>io(e,(n)=>{let o=r===void 0?n:r(n);return nn(t,o)})),Qw=u((e)=>vr(e[0]),(e,t,r)=>Hs(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return nn(t,o)})),Yw=u((e)=>vr(e[0]),(e,t,r)=>ym(e,(n)=>{let o=r===void 0?n:z(()=>r(n));return nn(t,o)})),Gw=u((e)=>vr(e[0]),(e,t,r)=>ja((n)=>{let o=n.currentTimeNanosUnsafe();return cn(e,()=>{let s=n.currentTimeNanosUnsafe(),i=Rf(Le(s),Le(o)),c=r===void 0?i:z(()=>r(i));return nn(t,c)})}));class no extends ve()("effect/Effect/Transaction"){}var Xw=(e)=>so((t)=>{if(t.context.mapUnsafe.has(no.key))return e;let r={journal:new Map,retry:!1},n;return an((o)=>fe(Us({while:()=>!n,body:re(o(e).pipe(Ws(no,r),xm(()=>{if(!r.retry)return oo;return o(ek(r))}),Oa)),step(s){if(r.retry||!Zw(r))return nm(r);if(dd(s))tk(t,r);else nm(r);n=s}}),()=>n))}),Zw=(e)=>{for(let[t,{version:r}]of e.journal)if(t.version!==r)return!1;return!0},ek=(e)=>Pt(()=>{let t={},r=Array.from(e.journal.keys()),n=()=>{for(let o of r)o.pending.delete(t)};return ka((o)=>{let s=()=>{n(),o(oo)};for(let i of r)i.pending.set(t,s);return _t(n)})});function tk(e,t){for(let[r,{value:n}]of t.journal){if(n!==r.value)r.version=r.version+1,r.value=n;for(let o of r.pending.values())e.currentDispatcher.scheduleTask(o,0);r.pending.clear()}}function nm(e){e.retry=!1,e.journal.clear()}var rk=fe(no,(e)=>(e.retry=!0,Mm)),nk=(e,t,r)=>(...n)=>ka((o)=>{try{e(...n,(s,i)=>{if(s)o(Gt(t?t(s,n):s));else o(Ce(i))})}catch(s){o(r?Gt(r(s,n)):zs(s))}}),ok=()=>(e)=>e,sk=()=>(e)=>e,ik=()=>(e)=>e,ck=bl,ak=Sl,uk=Cl,Bm=yl,fk=wl,lk=dl;class lo extends Je.TaggedError("ConfigError"){}class un extends Je.TaggedError("AuthError"){}class _ extends Je.TaggedError("ApiError"){}class le extends Je.TaggedError("ValidationError"){}class D extends Je.TaggedError("FileError"){}class Or extends Je.TaggedError("OssError"){}var Q=G.Service("ConfigRepo");import{dirname as pk}from"path";var qm=G.Service("ManifestRepo");var dk=1,Ks=(e)=>{let t=()=>`${e}/.fizzyx/oss-manifest.json`;return{read:()=>a.tryPromise({try:async()=>{let o=Bun.file(t());if(!await o.exists())return null;let s=await o.text();if(!s.trim())return null;return JSON.parse(s)},catch:(o)=>new D({message:`Failed to read manifest: ${String(o)}`,path:t()})}),write:(o)=>a.tryPromise({try:async()=>{let s=pk(t());await(await import("fs/promises")).mkdir(s,{recursive:!0}),await Bun.write(t(),`${JSON.stringify(o,null,2)}
27
+ `)},catch:(s)=>new D({message:`Failed to write manifest: ${String(s)}`,path:t()})}),path:t}},Wm=(e,t)=>({version:dk,localDir:e,remotePrefix:t,lastSyncedAt:new Date().toISOString(),files:{}}),SP=je.effect(qm,a.gen(function*(){let t=yield*(yield*Q).loadProjectConfig();return Ks(t.rootDir)}));var{S3Client:mk}=globalThis.Bun;var Qs=(e,t)=>e instanceof Or?e:new Or({message:String(e),key:t,status:hk(e)?e.status:void 0}),hk=(e)=>typeof e==="object"&&e!==null&&e.name==="S3Error",Ha=(e)=>{let t=new mk({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 Ym="fizzyx-oss",Jm="default",Km=(e,t)=>a.gen(function*(){let r=Gm(e,t),n=null;try{n=yield*a.promise(()=>Bun.secrets.get({service:Ym,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}),Gm=(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),A=yield*uh(i),v=[],se=0,te=0;for(let Y=0;Y<A.length;Y++){let{absolutePath:Ke,relativePath:Ie}=A[Y],de=[c,Ie].filter(Boolean).join("/");if(l.push(de),e.onProgress)yield*a.sync(()=>e.onProgress({current:Y+1,total:A.length,file:Ie,action:"checking"}));let Pr=yield*gk(p,i,c,x,Ke,Ie,e.verify??!1);if(Pr._tag==="uploaded"){if(e.onProgress)yield*a.sync(()=>e.onProgress({current:Y+1,total:A.length,file:Ie,action:"uploading"}));se++,f.push(Pr.key)}else if(Pr._tag==="skipped"){if(e.onProgress)yield*a.sync(()=>e.onProgress({current:Y+1,total:A.length,file:Ie,action:"skipping"}));te++}else{if(e.onProgress)yield*a.sync(()=>e.onProgress({current:Y+1,total:A.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((A)=>A.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:Ym,name:Gm(e,t),value:JSON.stringify(r)}),catch:(n)=>new Or({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 Or({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 D({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 D({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 D({message:`Failed to walk directory ${e}: ${String(t)}`,path:e})}),gk=(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 D({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 Tr=(e,t)=>typeof e==="object"&&e!==null&&("_tag"in e)&&e._tag===t,qa=(e,t)=>Tr(e,t)&&typeof e.message==="string";var fh=G.Service("CacheRepo");var HP=je.effect(fh)(a.gen(function*(){let t=yield*(yield*Q).loadProjectConfig();return Ys(t.account,t.board??"")})),xk=".config/fizzyx/cache",Ys=(e,t)=>{let r=()=>a.sync(()=>{let o=process.env.HOME;if(!o)throw new D({message:"HOME is not set"});if(!e)throw new D({message:"cache requires account"});if(!t)throw new D({message:"cache requires board. Run: fizzyx setup <board-id>"});let s=lh(e),i=lh(t);return`${o}/${xk}/${s}/${i}/board.json`}),n=(o)=>{let s=o.lastIndexOf("/");return s<=0?"/":o.slice(0,s)};return{read:()=>r().pipe(a.flatMap((o)=>a.tryPromise({try:async()=>{let s=Bun.file(o);if(!await s.exists())return null;return JSON.parse(await s.text())},catch:(s)=>new D({message:`Failed to read cache: ${String(s)}`,path:o})}))),write:(o)=>r().pipe(a.flatMap((s)=>a.tryPromise({try:async()=>{let i=n(s);await import("fs/promises").then((c)=>c.mkdir(i,{recursive:!0})),await Bun.write(s,`${JSON.stringify(o,null,2)}
28
+ `)},catch:(i)=>new D({message:`Failed to write cache: ${String(i)}`,path:s})}))),ageSeconds:()=>r().pipe(a.flatMap((o)=>a.tryPromise({try:async()=>{let s=await import("fs/promises");try{let i=await s.stat(o);return Math.max(0,Math.floor((Date.now()-i.mtimeMs)/1000))}catch{return Number.MAX_SAFE_INTEGER}},catch:(s)=>new D({message:`Failed to stat cache: ${String(s)}`,path:o})})))}},lh=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");var QP=`~effect/Fiber/${Zo}`;var ph=hc;var dh=Gc;var bk="~effect/Channel";var Sk={[bk]:{_Env:w,_InErr:w,_InElem:w,_OutErr:w,_OutElem:w},pipe(){return N(this,arguments)}},po=(e)=>{let t=Object.create(Sk);return t.transform=(r,n)=>js(e(r,n),(o)=>Ce(Rr(o))),t};var mh=(e)=>po((t,r)=>e),hh=(e)=>po(fo(function*(t,r){let n=Er(r),o=(i)=>br(n,Dd(i)),s=yield*ao(e(t,r,n),o);return ao(s,o)})),Gs=(e)=>e.transform;var gh=(e)=>po((t,r)=>Pt(()=>Gs(e())(t,r)));var xh=(e)=>mh(Ce(Gt(e)));var yh=u(2,(e,t)=>hh((r,n,o)=>Sd(o,t).pipe(Ds(Gs(e)(r,n)))));var Eh=u(2,(e,t)=>yh(e,(r)=>t)),Ck=(e,t,r)=>Pt(()=>{let n=Qn(),o=Gs(e)(wr(),n);return Xn(fe(o,t),r?r:Ce).pipe(cn((s)=>br(n,s)))});var bh=u(2,(e,t)=>Ck(e,(r)=>Js(fe(r,t),{disableYield:!0})));var kk="~effect/Stream",vk={_R:w,_E:w,_A:w},Rk={[kk]:vk,pipe(){return N(this,arguments)}},Sh=(e)=>{let t=Object.create(Rk);return t.channel=e,t};var Tk="~effect/Stream",Ch=(e)=>R(e,Tk);var Xs=Sh;var wh=(e)=>Xs(gh(()=>e().channel)),kh=(e)=>Xs(xh(e));var vh=(e)=>Xs(po(fo(function*(t,r){let n=e.evaluate().getReader();return yield*na(r,e.releaseLockOnEnd?_t(()=>n.releaseLock()):Ns(()=>n.cancel().catch(er))),fe(gt({try:()=>n.read(),catch:(o)=>e.onError(o)}),({done:o,value:s})=>o?wr():Ce(hf(s)))})));var Rh=u(2,(e,t)=>Xs(Eh(e.channel,t)));var Ak=u(2,(e,t)=>bh(e.channel,t));var Ik=u((e)=>Ch(e[0]),(e,t,r)=>{let n=void 0,o=void 0,s=dh(!1);return new ReadableStream({start(i){o=La(qs(Ak(e,(c)=>s.whenOpen(_t(()=>{s.closeUnsafe();for(let f=0;f<c.length;f++)i.enqueue(c[f]);n(),n=void 0}))),t)),o.addObserver((c)=>{if(c._tag==="Failure")i.error(zd(c.cause));else i.close()})},pull(){return new Promise((i)=>{n=i,s.openUnsafe()})},cancel(){if(!o)return;return $a(Ls(ph(o)))}},r?.strategy)});var Oh=u((e)=>Ch(e[0]),(e,t)=>Ne(Bs(),(r)=>Ik(e,r,t)));var mo=new WeakMap;var Th="~effect/data/Redacted",_k=(e)=>R(e,Th),Va=(e,t)=>{let r=Object.create(Fk);if(t?.label)r.label=t.label;return mo.set(r,e),r},Fk={[Th]:{_A:(e)=>e},label:void 0,...Ze,toJSON(){return this.toString()},toString(){return`<redacted${Mr(this.label)?":"+this.label:""}>`},[W](){return q(mo.get(this))},[V](e){return _k(e)&&oe(mo.get(this),mo.get(e))}};var Ah=Symbol.for("~effect/http/Headers");var ho=Object.defineProperties(Object.create(null),{[Ah]:{value:Ah},[Ur]:{value(e){return ti(this,he(e,Ka))}},toJSON:{value(){return Ge(this)}},[V]:{value(e){return Uk(this,e)}},[W]:{value(){return hn(this)}},toString:{value:at.toString},[be]:{value:at[be]}}),Zs=(e)=>Object.assign(Object.create(ho),e),Uk=lf(On());var Ja=Object.create(ho),go=(e)=>{if(e===void 0)return Ja;else if(Symbol.iterator in e){let r=Object.create(ho);for(let[n,o]of e)r[n.toLowerCase()]=o;return r}let t=Object.create(ho);for(let[r,n]of Object.entries(e))if(Array.isArray(n))t[r.toLowerCase()]=n.join(", ");else if(n!==void 0)t[r.toLowerCase()]=n;return t},Ih=(e)=>Object.setPrototypeOf(e,ho);var ei=u(3,(e,t,r)=>{let n=Zs(e);return n[t.toLowerCase()]=r,n}),Ph=u(2,(e,t)=>Zs({...e,...go(t)})),_h=u(2,(e,t)=>{let r=Zs(e);return Object.assign(r,t),r}),xo=u(2,(e,t)=>{let r=Zs(e);return delete r[t.toLowerCase()],r});var ti=u(2,(e,t)=>{let r={...e},n=(o)=>{if(typeof o==="string"){let s=o.toLowerCase();if(s in e)r[s]=Va(e[s])}else for(let s in e)if(o.test(s))r[s]=Va(e[s])};if(Array.isArray(t))for(let o=0;o<t.length;o++)n(t[o]);else n(t);return r}),Ka=I("effect/Headers/CurrentRedactedNames",{defaultValue:()=>["authorization","cookie","set-cookie","x-api-key"]});var Fh="~effect/http/Cookies";var Mh="~effect/http/Cookies/Cookie";var Nk={[Fh]:Fh,...at,toJSON(){return{_id:"effect/Cookies",cookies:uf(this.cookies,(e)=>e.toJSON())}},pipe(){return N(this,arguments)}},zk=(e)=>{let t=Object.create(Nk);return t.cookies=e,t},Dk=(e)=>{let t={};for(let r of e)t[r.name]=r;return zk(t)},Nh=(e)=>{let t=typeof e==="string"?[e]:e,r=[];for(let n of t){let o=Lk(n.trim());if(o)r.push(o)}return Dk(r)};function Lk(e){let t=e.split(";").map((c)=>c.trim()).filter((c)=>c!=="");if(t.length===0)return;let r=t[0].indexOf("=");if(r===-1)return;let n=t[0].slice(0,r);if(!$k.test(n))return;let o=t[0].slice(r+1),s=jk(o);if(t.length===1)return Object.assign(Object.create(Uh),{name:n,value:s,valueEncoded:o});let i={};for(let c=1;c<t.length;c++){let f=t[c],l=f.indexOf("="),d=l===-1?f:f.slice(0,l).trim(),p=l===-1?void 0:f.slice(l+1).trim();switch(d.toLowerCase()){case"domain":{if(p===void 0)break;let 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(Uh),{name:n,value:s,valueEncoded:o,options:Object.keys(i).length>0?i:void 0})}var $k=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Uh={[Mh]:Mh,...at,toJSON(){return{_id:"effect/Cookies/Cookie",name:this.name,value:this.value,options:this.options}}};var jk=(e)=>{try{return decodeURIComponent(e)}catch(t){return e}};var zh="~effect/http/HttpClientError";class He extends ot("HttpClientError"){constructor(e){if("cause"in e.reason)super({...e,cause:e.reason.cause});else super(e)}[zh]=zh;get request(){return this.reason.request}get response(){return"response"in this.reason?this.reason.response:void 0}get message(){return this.reason.message}}var ri=(e)=>e.endsWith("Error")?e.slice(0,-5):e,ni=(e,t,r)=>t?`${e}: ${t} (${r})`:`${e} error (${r})`;class Qa extends ot("TransportError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ni(ri(this._tag),this.description,this.methodAndUrl)}}class Ya extends ot("InvalidUrlError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ni(ri(this._tag),this.description,this.methodAndUrl)}}class Zt extends ot("DecodeError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ni(ri(this._tag),this.description,e)}}class Ga extends ot("EmptyBodyError"){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ni(ri(this._tag),this.description,e)}}var Dh="~effect/http/UrlParams";var Bk={...Ze,[Dh]:Dh,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:"UrlParams",params:Object.fromEntries(this.params)}},[V](e){return qk(this,e)},[W](){return gn(this.params.flat())}},Lh=(e)=>{let t=Object.create(Bk);return t.params=e,t},Eo=(e)=>{let t=$h(e),r=[];for(let n=0;n<t.length;n++)if(Array.isArray(t[n][0])){let[o,s]=t[n];r.push([`${o[0]}[${o.slice(1).join("][")}]`,s])}else r.push(t[n]);return Lh(r)},$h=(e)=>{let t=typeof e[Symbol.iterator]==="function"?et(e):Object.entries(e),r=[];for(let[n,o]of t)if(Array.isArray(o)){for(let s=0;s<o.length;s++)if(o[s]!==void 0)r.push([n,String(o[s])])}else if(typeof o==="object"){let s=$h(o);for(let[i,c]of s)r.push([[n,...typeof i==="string"?[i]:i],c])}else if(o!==void 0)r.push([n,String(o)]);return r},qk=Uo((e,t)=>Wk(e.params,t.params)),Wk=xf(cf([On(),On()]));var jh=Lh([]);var Hh=u(2,(e,t)=>{let r=Eo(t),n=r.params,o=new Set;for(let s=0;s<n.length;s++)o.add(n[s][0]);for(let s=0;s<e.params.length;s++){if(o.has(e.params[s][0]))continue;n.push(e.params[s])}return r});class Za extends ot("UrlParamsError"){}var eu=(e,t,r)=>{try{let n=new URL(e,Vk());for(let o=0;o<t.params.length;o++){let[s,i]=t.params[o];if(i!==void 0)n.searchParams.append(s,i)}if(r!==void 0)n.hash=r;return ke(n)}catch(n){return me(new Za({cause:n}))}};var Vk=()=>{if("location"in globalThis&&globalThis.location!==void 0&&globalThis.location.origin!==void 0&&globalThis.location.pathname!==void 0)return location.origin+location.pathname;return};var ru="~effect/http/HttpBody";var Bh="~effect/http/HttpBody/HttpBodyError";class qh extends ot("HttpBodyError"){[Bh]=Bh}class nu{[ru];constructor(){this[ru]=ru}[be](){return this.toJSON()}toString(){return ae(this,{ignoreToString:!0})}}class Wh extends nu{_tag="Empty";toJSON(){return{_id:"effect/HttpBody",_tag:"Empty"}}}var Vh=new Wh;class Jh extends nu{_tag="Uint8Array";body;contentType;contentLength;constructor(e,t,r){super();this.body=e,this.contentType=t,this.contentLength=r}toJSON(){return{_id:"effect/HttpBody",_tag:"Uint8Array",body:this.contentType.startsWith("text/")||this.contentType.endsWith("json")?new TextDecoder().decode(this.body):`Uint8Array(${this.body.length})`,contentType:this.contentType,contentLength:this.contentLength}}}var Kh=(e,t)=>new Jh(e,t??"application/octet-stream",e.length),Jk=new TextEncoder,Qh=(e,t)=>Kh(Jk.encode(e),t??"text/plain");var Yh=(e,t)=>on({try:()=>Qh(JSON.stringify(e),t??"application/json"),catch:(r)=>new qh({reason:{_tag:"JsonError"},cause:r})});var Gh=[["GET","get"],["POST","post"],["PUT","put"],["DELETE","del"],["PATCH","patch"],["HEAD","head"],["OPTIONS","options"],["TRACE","trace"]];var Xh="~effect/http/HttpClientRequest";var Yk={[Xh]:Xh,...at,toJSON(){return{_id:"HttpClientRequest",method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Ge(this.headers),body:this.body.toJSON()}},pipe(){return N(this,arguments)}};function Ft(e,t,r,n,o,s){let i=Object.create(Yk);return i.method=e,i.url=t,i.urlParams=r,i.hash=n,i.headers=o,i.body=s,i}var Gk=Ft("GET","",jh,ee(),Ja,Vh),bo=(e)=>(t,r)=>Xk(Gk,{method:e,url:t,...r??void 0});var Xk=u(2,(e,t)=>{let r=e;if(t.method)r=Zk(r,t.method);if(t.url)r=tg(r,t.url);if(t.headers)r=ou(r,t.headers);if(t.urlParams)r=t0(r,t.urlParams);if(t.hash)r=r0(r,t.hash);if(t.body)r=rg(r,t.body);if(t.accept)r=eg(r,t.accept);if(t.acceptJson)r=e0(r);return r}),Zk=u(2,(e,t)=>Ft(t,e.url,e.urlParams,e.hash,e.headers,e.body)),Zh=u(3,(e,t,r)=>Ft(e.method,e.url,e.urlParams,e.hash,ei(e.headers,t,r),e.body)),ou=u(2,(e,t)=>Ft(e.method,e.url,e.urlParams,e.hash,Ph(e.headers,t),e.body));var eg=u(2,(e,t)=>Zh(e,"Accept",t)),e0=eg("application/json"),tg=u(2,(e,t)=>{if(typeof t==="string")return Ft(e.method,t,e.urlParams,e.hash,e.headers,e.body);let r=new URL(t.toString()),n=Eo(r.searchParams),o=of(r.hash===""?void 0:r.hash.slice(1));return r.search="",r.hash="",Ft(e.method,r.toString(),n,o,e.headers,e.body)});var t0=u(2,(e,t)=>Ft(e.method,e.url,Hh(e.urlParams,t),e.hash,e.headers,e.body));var r0=u(2,(e,t)=>Ft(e.method,e.url,e.urlParams,ue(t),e.headers,e.body));var rg=u(2,(e,t)=>{let r=e.headers;if(t._tag==="Empty"||t._tag==="FormData")r=xo(xo(r,"Content-Type"),"Content-length");else{if(t.contentType)r=ei(r,"content-type",t.contentType);if(t.contentLength!==void 0)r=ei(r,"content-length",t.contentLength.toString())}return Ft(e.method,e.url,e.urlParams,e.hash,r,t)});var ng=u(2,(e,t)=>Ne(Yh(t),(r)=>rg(e,r)));var Ar="~effect/http/HttpIncomingMessage";var sg=(e,t)=>{let r=e.headers["content-type"]??"",n;if(r.includes("application/json"))try{n=Xt(e.json)}catch(s){}else if(r.includes("text/")||r.includes("urlencoded"))try{n=Xt(e.text)}catch(s){}let o={...t,headers:Ge(e.headers),remoteAddress:e.remoteAddress};if(n!==void 0)o.body=n;return o};var fn="~effect/http/HttpClientResponse",cg=(e,t)=>new ag(e,t);class ag extends ki{[Ar];[fn];request;source;constructor(e,t){super();this.request=e,this.source=t,this[Ar]=Ar,this[fn]=fn}toJSON(){return sg(this,{_id:"HttpClientResponse",request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return go(this.source.headers)}cachedCookies;get cookies(){if(this.cachedCookies)return this.cachedCookies;return this.cachedCookies=Nh(this.source.headers.getSetCookie())}get remoteAddress(){return ee()}get stream(){return this.source.body?vh({evaluate:()=>this.source.body,onError:(e)=>new He({reason:new Zt({request:this.request,response:this,cause:e})})}):kh(new He({reason:new Ga({request:this.request,response:this,description:"can not create stream from empty body"})}))}get json(){return fe(this.text,(e)=>on({try:()=>e===""?null:JSON.parse(e),catch:(t)=>new He({reason:new Zt({request:this.request,response:this,cause:t})})}))}textBody;get text(){if(this.textBody)return this.textBody;return this.textBody=gt({try:()=>this.source.text(),catch:(e)=>new He({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(uo,Xt),this.arrayBufferBody=Ne(this.textBody,(e)=>new TextEncoder().encode(e).buffer),this.textBody}get urlParamsBody(){return fe(this.text,(e)=>on({try:()=>Eo(new URLSearchParams(e)),catch:(t)=>new He({reason:new Zt({request:this.request,response:this,cause:t})})}))}formDataBody;get formData(){return this.formDataBody??=gt({try:()=>this.source.formData(),catch:(e)=>new He({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(uo,Xt)}arrayBufferBody;get arrayBuffer(){if(this.arrayBufferBody)return this.arrayBufferBody;return this.arrayBufferBody=gt({try:()=>this.source.arrayBuffer(),catch:(e)=>new He({reason:new Zt({request:this.request,response:this,cause:e})})}).pipe(uo,Xt),this.textBody=Ne(this.arrayBufferBody,(e)=>new TextDecoder().decode(e)),this.arrayBufferBody}pipe(){return N(this,arguments)}}var fg=(e)=>Ih({b3:`${e.traceId}-${e.spanId}-${e.sampled?"1":"0"}${zo(e.parent,{onNone:()=>"",onSome:(t)=>`-${t.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?"01":"00"}`});var lg="~effect/http/HttpClient";var pg=ve("effect/HttpClient"),o0=(e)=>(...t)=>fe(pg,(r)=>r[e](...t)),dg=o0("execute");var s0=u(2,(e,t)=>mg((r)=>t(e.postprocess(r)),e.preprocess));var mg=(e,t)=>{let r=Object.create(i0);return r.preprocess=t,r.postprocess=e,r.execute=function(n){return e(t(n))},r},i0={[lg]:lg,pipe(){return N(this,arguments)},...at,toJSON(){return{_id:"effect/HttpClient"}},...Object.fromEntries(Gh.map(([e,t])=>[t,function(r,n){return this.execute(bo(e)(r,n))}]))},hg=(e)=>mg((t)=>fe(t,(r)=>so((n)=>{let o=f0.get(r),s=o??new AbortController,i=eu(r.url,r.urlParams,sr(r.hash));if(J(i))return Gt(new He({reason:new Ya({request:r,cause:i.failure})}));let c=i.success;if(n.getRef(Br)||n.getRef(c0)(r)){let l=e(r,c,s.signal,n);if(o)return l;return an((d)=>sn(d(l),{onSuccess(p){return oi.register(p,s),Ce(new su(p,s))},onFailure(p){if(la(p))s.abort();return Rr(p)}}))}return Ma(n.getRef(u0)(r),{kind:"client"},(l)=>{if(l.attribute("http.request.method",r.method),l.attribute("server.address",c.origin),c.port!=="")l.attribute("server.port",+c.port);l.attribute("url.full",c.toString()),l.attribute("url.path",c.pathname),l.attribute("url.scheme",c.protocol.slice(0,-1));let d=c.search.slice(1);if(d!=="")l.attribute("url.query",d);let p=n.getRef(Ka),g=ti(r.headers,p);for(let S in g)l.attribute(`http.request.header.${S}`,String(g[S]));return r=n.getRef(a0)?ou(r,fg(l)):r,an((S)=>S(e(r,c,s.signal,n)).pipe(Ua(l,{captureStackTrace:!1}),sn({onSuccess:(x)=>{l.attribute("http.response.status_code",x.status);let A=ti(x.headers,p);for(let v in A)l.attribute(`http.response.header.${v}`,String(A[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 Rr(x)}})))})})),Ce);var c0=I("effect/http/HttpClient/TracerDisabledWhen",{defaultValue:()=>_r}),a0=I("effect/HttpClient/TracerPropagationEnabled",{defaultValue:ze}),u0=I("effect/http/HttpClient/SpanNameGenerator",{defaultValue:()=>(e)=>`http.client ${e.method}`}),gg=(e)=>tn(pg)(co((t)=>Ne(e,(r)=>s0(r,Pa((n)=>qt(t,n)))))),oi=(()=>{if("FinalizationRegistry"in globalThis&&globalThis.FinalizationRegistry){let t=new FinalizationRegistry((r)=>{r.abort()});return{register(r,n){t.register(r,n,r)},unregister(r){t.unregister(r)}}}let e=new Map;return{register(t,r){e.set(t,setTimeout(()=>r.abort(),5000))},unregister(t){let r=e.get(t);if(r===void 0)return;clearTimeout(r),e.delete(t)}}})(),f0=new WeakMap;class su{original;controller;constructor(e,t){this.original=e,this.controller=t}[fn]=fn;[Ar]=Ar;applyInterrupt(e){return Pt(()=>(oi.unregister(this.original),Vs(e,()=>_t(()=>{this.controller.abort()}))))}get request(){return this.original.request}get status(){return this.original.status}get headers(){return this.original.headers}get cookies(){return this.original.cookies}get remoteAddress(){return this.original.remoteAddress}get formData(){return this.applyInterrupt(this.original.formData)}get text(){return this.applyInterrupt(this.original.text)}get json(){return this.applyInterrupt(this.original.json)}get urlParamsBody(){return this.applyInterrupt(this.original.urlParamsBody)}get arrayBuffer(){return this.applyInterrupt(this.original.arrayBuffer)}get stream(){return wh(()=>(oi.unregister(this.original),Rh(this.original.stream,_t(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[be](){return this.original[be]()}pipe(){return N(this,arguments)}}var l0=I("effect/http/FetchHttpClient/Fetch",{defaultValue:()=>globalThis.fetch});class yg extends ve()("effect/http/FetchHttpClient/RequestInit"){}var p0=hg((e,t,r,n)=>{let o=n.getRef(l0),s=n.context.mapUnsafe.get(yg.key)??{},i=s.headers?_h(go(s.headers),e.headers):e.headers;if(i["content-length"])i=xo(i,"content-length");let c=(f)=>Ne(gt({try:()=>o(t,{...s,method:e.method,headers:i,body:f,duplex:e.body._tag==="Stream"?"half":void 0,signal:r}),catch:(l)=>new He({reason:new Qa({request:e,cause:l})})}),(l)=>cg(e,l));switch(e.body._tag){case"Raw":case"Uint8Array":return c(e.body.body);case"FormData":return c(e.body.formData);case"Stream":return fe(Oh(e.body.stream),c)}return c(void 0)}),Eg=gg(Ce(p0));var bg=G.Service("FizzyApi");var jM=je.effect(bg)(a.gen(function*(){let e=yield*Q,t=yield*e.loadProjectConfig(),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new _({message:"Not logged in. Run: fizzyx auth login"}))));return ln(t,r.token)})),ln=(e,t)=>{let r=(m,h,O)=>a.gen(function*(){let C=yield*o(m,h,O),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,O)=>a.gen(function*(){let C=yield*o(m,h,O);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,O)=>O===void 0?s(bo(m)(c(e,h),{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"}})):ng(O)(bo(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 O=m.apiUrl.replace(/\/+$/,""),C=h.startsWith("/")?h:`/${h}`,K=C.startsWith("/my/"),Ee=`/${m.account}`;return`${O}${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 O=m.trim();return O.length>h?`${O.slice(0,h)}...`:O},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)),O=Array.isArray(h?.accounts)?h.accounts:[],C=Pe(O[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 O=Bx(h.number);if(!Number.isFinite(O))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:O,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:Hx(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)},A=(m)=>{if(!Array.isArray(m))return a.fail(new _({message:"Failed to decode columns: expected array"}));let h=[];for(let O of m){let C=Pe(O);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 O=X(h.id);if(!O)throw new _({message:"Failed to decode board: missing id"});return{id:O,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 O=X(h.id),C=X(h.name);if(!O||!C)throw new _({message:"Failed to decode column: missing id or name"});return{id:O,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)=>Y(h)))},Y=(m)=>{let h=Pe(m);if(!h)return{};return{created_at:X(h.created_at),creator:Ke(h.creator),body:Ie(h.body)}},Ke=(m)=>{let h=Pe(m);if(!h)return;let O=X(h.name);if(!O)return{};return{name:O}},Ie=(m)=>{let h=Pe(m);if(!h)return;let O=X(h.plain_text);if(!O)return{};return{plain_text:O}},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 O of m){let C=Pe(O);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},Hx=(m)=>{if(!Array.isArray(m))return[];let h=[];for(let O of m){let C=Pe(O);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,Bx=(m)=>{if(typeof m==="number"&&Number.isFinite(m))return m;return Number.NaN},Su=()=>r("GET",`/boards/${e.board}/columns.json`).pipe(a.flatMap(A)),qx=(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*qx(m),O=yield*te(h).pipe(a.catch(()=>a.succeed(void 0)));if(O)return O;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 O=h.size>0?`?${h}`:"";return r("GET",`/cards.json${O}`).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,O)=>n("POST",`/cards/${m}/steps.json`,{content:h,completed:Boolean(O)}),updateStep:(m,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/${m}/steps/${h}.json`,C)}}};var Rg="1",Og="https://fizzy.puffin.studio",iu=".fizzy.yaml",m0=(e)=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),h0=(e)=>({done:"done: ",blocked:"blocked: ",unblocked:"unblocked: ",handoff:"handoff: ",note:"note: "})[e],Tg=(e,t)=>`<p>${h0(e)}${m0(t)}</p>`,Ag=(e)=>{if(e==="done")return"done: commit <sha>: <subject>";if(e==="blocked")return"blocked: <reason; owner/decision needed>";if(e==="unblocked")return"unblocked: <resource/decision ready>";if(e==="handoff")return"handoff: <current state; next step>";return"note: <brief note>"},YM=a.gen(function*(){let e=yield*Q,t=yield*e.loadProjectConfig(),r=yield*Ig(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new un({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Ys(t.account,r),s=ln(t,n.token);return{config:t,configRepo:e,cacheRepo:o,api:s}}),pe=a.gen(function*(){let e=yield*Q,t=yield*e.loadProjectConfig(),r=yield*Ig(t),n=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new un({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`})))),o=Ys(t.account,r),s=cu(e,t,n.token);return{config:yield*Kg({configRepo:e,api:s,config:t}),configRepo:e,cacheRepo:o,api:s}}),ii=(e)=>a.gen(function*(){return(yield*e.loadProjectConfigOptional().pipe(a.catchDefect((r)=>qa(r,"ConfigError")&&Sg(r.message)?a.succeed(void 0):a.fail(r)),a.catch((r)=>qa(r,"ConfigError")&&Sg(r.message)?a.succeed(void 0):a.fail(r))))||{apiUrl:Og,account:Rg,configPath:`${process.cwd()}/${iu}`,rootDir:process.cwd()}}),Sg=(e)=>e.startsWith(`No ${iu} found from`),Ig=(e)=>e.board?a.succeed(e.board):a.fail(new le({message:"No board configured. Run: fizzyx setup <board-id>"})),Pg=(e)=>a.gen(function*(){let t=yield*Q;if(!e.board)return yield*new le({message:"board is required"});let r=e.account||Rg,n=e.apiUrl||Og,o={apiUrl:n,account:r,board:e.board,configPath:`${process.cwd()}/${iu}`,rootDir:process.cwd()},s=yield*t.loadCredentials(r).pipe(a.catch(()=>a.fail(new un({message:`No token for account ${r}. Run: fizzyx auth login <token>`})))),i=cu(t,o,s.token);if(e.todoColumn&&e.inProgressColumn)return yield*t.setupProjectConfig({account:r,board:e.board,todoColumn:e.todoColumn,inProgressColumn:e.inProgressColumn,users:e.users||{},apiUrl:n});return yield*Kg({configRepo:t,api:i,config:o,initialUsers:e.users})}),_g=()=>a.gen(function*(){let e=yield*Q,t=yield*ii(e),r=yield*e.loadCredentials(t.account).pipe(a.catch(()=>a.fail(new un({message:`No token for account ${t.account}. Run: fizzyx auth login <token>`}))));return yield*cu(e,t,r.token).listBoards()}),cu=(e,t,r)=>{let n=r,o=ln(t,n),s=(c)=>c instanceof _?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(!g0(l))return yield*a.fail(l);let d=yield*e.migrateCredentialsFromOfficial(t.account).pipe(a.catch(()=>a.fail(l)));if(d.token!==n)n=d.token,o=ln(t,n),yield*e.saveCredentials(t.account,d).pipe(a.catch((p)=>new _({message:`Failed to persist migrated credentials: ${p instanceof D?p.message:String(p)}`})));return yield*c(o)});return{identity:()=>i((c)=>c.identity()),listBoards:()=>i((c)=>c.listBoards()),listCards:(c)=>i((f)=>f.listCards(c)),showCard:(c)=>i((f)=>f.showCard(c)),listComments:(c)=>i((f)=>f.listComments(c)),listColumns:()=>i((c)=>c.listColumns()),createColumn:(c)=>i((f)=>f.createColumn(c)),createCard:(c)=>i((f)=>f.createCard(c)),updateCardDescription:(c,f)=>i((l)=>l.updateCardDescription(c,f)),assignCard:(c,f)=>i((l)=>l.assignCard(c,f)),selfAssignCard:(c)=>i((f)=>f.selfAssignCard(c)),moveCard:(c,f)=>i((l)=>l.moveCard(c,f)),comment:(c,f)=>i((l)=>l.comment(c,f)),closeCard:(c)=>i((f)=>f.closeCard(c)),postponeCard:(c)=>i((f)=>f.postponeCard(c)),updateStep:(c,f,l)=>i((d)=>d.updateStep(c,f,l)),createStep:(c,f,l)=>i((d)=>d.createStep(c,f,l))}},g0=(e)=>e.status===401;var Fg=(e)=>a.gen(function*(){let t=yield*Q,r=yield*ii(t);return yield*t.saveCredentials(r.account,{token:e}),r.account}),Mg=a.gen(function*(){let e=yield*Q,t=yield*ii(e),r=yield*e.loadCredentials(t.account).pipe(a.option);if(r._tag==="None")return{account:t.account,board:t.board,authenticated:!1};let o=yield*ln(t,r.value.token).identity().pipe(a.map((s)=>({_tag:"success",identity:s})),a.catch((s)=>a.succeed({_tag:"failure",error:s instanceof Error?s.message:String(s)})));return{account:t.account,board:t.board,authenticated:!0,identity:o._tag==="success"?o.identity:void 0,identityError:o._tag==="failure"?o.error:void 0}}),Ug=a.gen(function*(){let e=yield*Q,t=yield*ii(e);return yield*e.deleteCredentials(t.account),t.account}),st=(e)=>a.gen(function*(){let[t,r,n,o]=yield*a.all([e.api.identity(),e.api.listCards({all:!0}),e.api.listCards({indexedBy:"not_now",all:!0}),e.api.listColumns()]),s=Qg(e.config,r),i={identity:t,cards:r,notNow:n,columns:o,users:s,syncedAt:new Date().toISOString()};return yield*e.cacheRepo.write(i),i}),ci=(e,t)=>a.gen(function*(){let r=yield*e.cacheRepo.ageSeconds();if(t||r>e.config.flow.cacheTtlSeconds)return yield*st(e);let n=yield*e.cacheRepo.read();if(n)return n;return yield*st(e)}),au=(e,t)=>a.gen(function*(){let r=yield*ci(e,t.fresh),n=t.user?Yg(e.config,t.user):r.identity.userId,o=b0(r,n)||t.user||r.identity.name||"me",s=r.cards.filter((i)=>i.assignees?.some((c)=>c.id===n));return{name:o,userId:n,cards:s}}),Ng=(e,t)=>a.gen(function*(){let r=yield*ci(e,t.fresh),n=yield*e.cacheRepo.ageSeconds();return{cache:r,age:n}}),zg=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=yield*e.api.listComments(t).pipe(a.catch(()=>a.succeed([])));return{card:r,comments:n.slice(-3)}}),Dg=(e,t)=>a.gen(function*(){let r=yield*au(e,{fresh:t.fresh}),n=r.cards.find((o)=>(o.column?.name||"")==="TODO");return{user:r,card:n}}),Lg=(e,t)=>a.gen(function*(){let r=yield*ci(e,!0),n=r.cards.find((i)=>i.number===t);if(!n)return yield*new le({message:`Card #${t} not found`});let o=r.identity.userId,s=r.cards.filter((i)=>(i.column?.id===e.config.flow.columns.inProgress||i.column?.name==="INPROGRESS")&&i.assignees?.some((c)=>c.id===o));if(s.length>=e.config.flow.wipLimit)return yield*new le({message:`Current user already has ${s.length} INPROGRESS cards`});if(yield*e.api.moveCard(t,e.config.flow.columns.inProgress),!n.assignees?.some((i)=>i.id===o))yield*e.api.selfAssignCard(t);return yield*st(e),t}),$g=(e,t,r)=>a.gen(function*(){let o=((yield*e.api.showCard(t)).steps||[]).filter((f)=>!f.completed);if(o.length>0){let f=o.map((l)=>`- ${l.content||"(no content)"}`).join(`
30
29
  `);return yield*new le({message:`Cannot close #${t}: unfinished steps remain
31
- ${f}`})}let s=yield*e.api.listColumns(),i=yield*fu(s,"DONE",()=>e.api.createColumn("DONE"));yield*e.api.moveCard(t,i);let c=r||"done";return yield*e.api.comment(t,Lg(e.config.flow.card.language,"done",c)),yield*e.api.closeCard(t),yield*st(e),{number:t,ref:c}}),Xg=(e={})=>a.gen(function*(){let t=e.cwd||process.cwd(),[r,n]=yield*a.all([Ug(t,["rev-parse","--short","HEAD"]),Ug(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}`}),Zg=(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,Lg(n,"blocked",r)),yield*e.api.postponeCard(t),yield*st(e),{number:t,reason:r}}),ex=(e,t)=>a.gen(function*(){if(!e.config.board)return yield*new le({message:"board is required"});let r=b0(t.description),n=cx(e.config,t.user),o=yield*e.api.createCard({title:t.title,description:gu(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}),tx=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=gu(r.description||""),o=r.description||"";if(n!==o)yield*e.api.updateCardDescription(t,n);return yield*st(e),t}),rx=(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(`
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,Tg("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"});return yield*e.api.comment(t,Tg("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=S0(t.description),n=Yg(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(`
32
31
  `);return yield*new le({message:`Cannot complete steps for #${t}: missing step id for:
33
- ${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)}}),nx=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t),n=new Set((r.steps||[]).map((c)=>c.content)),o=hu(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}),mu=(e,t)=>a.gen(function*(){let r=yield*e.api.showCard(t);return yield*g0(e,r)}),ox=(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)=>mu(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)}}),g0=(e,t)=>a.gen(function*(){let r=t.descriptionHtml||t.description||"",n=ux(r),o=S0(n),s=k0(e.config.flow.card.language,t,o),i=gu(s),c=t.descriptionHtml||t.description||"",f=Mg(i)!==Mg(c);if(f)yield*e.api.updateCardDescription(t.number,i);let l=t.steps||[],h=new Map;for(let T of l)h.set(Mt(T.content),T);let p=l.length>0?[]:A0(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||h.has(v))continue;yield*e.api.createStep(t.number,v,Boolean(t.closed)||T.completed),g+=1,h.set(v,{content:v,completed:Boolean(t.closed)||T.completed})}return{number:t.number,descriptionUpdated:f,stepsCreated:g,stepsUpdated:S,stepsCompleted:x}}),sx=(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=ix(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(!x0(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*fu(s,"TODO",()=>e.api.createColumn("TODO")),c=yield*fu(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})}),x0=(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},fu=(e,t,r)=>a.gen(function*(){let n=e.find((s)=>s.name===t);if(n?.id)return n.id;return(yield*r()).id}),ix=(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},cx=(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}`})},y0=(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}`})},ax=(e,t,r)=>a.gen(function*(){if(r.length===0)return yield*new le({message:"At least one user is required"});let o={...(yield*ui(e,!1)).users},s=r.map((i)=>y0(o,i));return yield*a.forEach(s,(i)=>e.api.assignCard(t,i),{concurrency:1}),yield*st(e),{number:t,userIds:s}}),E0=(e,t)=>Object.entries(e.users).find(([,r])=>r===t)?.[0],hu=(e)=>T0(e).concat(I0(e)).filter((t,r,n)=>n.findIndex((o)=>o.content===t.content)===r),Mt=(e)=>fx(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()),ci=(e)=>e.replace(/<img\b[^>]*\balt=(?:"([^"]*)"|'([^']*)')/gi,(t,r,n)=>r??n??"").replace(/<img\b[^>]*>/gi,"").replace(/<input[^>]*>/gi," ").replace(/<[^>]*>/g,""),b0=(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(`
34
- `),templateSteps:hu(n.join(`
35
- `))}},ux=(e)=>fx(e.replace(/<h[1-6][^>]*>([\s\S]*?)<\/h[1-6]>/gi,(t,r)=>`
36
- ## ${ci(r).trim()}
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*x0(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)}}),x0=(e,t)=>a.gen(function*(){let r=t.descriptionHtml||t.description||"",n=Zg(r),o=C0(n),s=v0(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 A of l)d.set(Mt(A.content),A);let p=l.length>0?[]:T0(r,o),g=0,S=0,x=0;for(let A of l){let v=Mt(A.content),se=Boolean(A.id)&&v!==A.content,te=Boolean(A.id)&&Boolean(t.closed)&&!A.completed;if(!A.id||!se&&!te)continue;if(yield*e.api.updateStep(t.number,A.id,{...se?{content:v}:{},...te?{completed:!0}:{}}),se)S+=1;if(te)x+=1}for(let A of p){let v=Mt(A.content);if(!v||d.has(v))continue;yield*e.api.createStep(t.number,v,Boolean(t.closed)||A.completed),g+=1,d.set(v,{content:v,completed:Boolean(t.closed)||A.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(!y0(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})}),y0=(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},Yg=(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}`})},E0=(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}`})},Gg=(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)=>E0(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}}),b0=(e,t)=>Object.entries(e.users).find(([,r])=>r===t)?.[0],fu=(e)=>I0(e).concat(P0(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,""),S0=(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
- - ${ci(r).trim()}`).replace(/<p[^>]*>([\s\S]*?)<\/p>/gi,(t,r)=>`
39
- ${ci(r).trim()}
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()),S0=(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=C0(s[1]),t[r]||=[];continue}t[r]||=[],t[r].push(o)}return t},C0=(e)=>Mt(e).toLowerCase().replace(/[\uFF1A:]+$/,"").trim(),ln=(e,t)=>{for(let r of t){let n=e[r];if(!n)continue;let o=w0(n).join(`
44
- `).trim();if(o)return o}return""},w0=(e)=>e.map((t)=>t.trim()).filter((t)=>t.length>0).map((t)=>t.replace(/^[-*]\s+/,"- ")),k0=(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=ln(r,["goal","\u76EE\u6807"])||t.title,s=ln(r,["files","\u6587\u4EF6"]),i=v0(ln(r,["verification","\u9A8C\u8BC1"]).split(/\r?\n/).concat(O0(ln(r,["done when","\u5B8C\u6210\u6761\u4EF6"])))),c=ln(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(`
45
- `).trim()},v0=(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},O0=(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}`),A0=(e,t)=>{let r=ln(t,["done when","\u5B8C\u6210\u6761\u4EF6"]),n=hu(e).concat(R0(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})},R0=(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"}]}),Mg=(e)=>ux(e).replace(/\s+/g," ").trim(),T0=(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"}]}),I0=(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(ci(o));if(!i)continue;r.push({content:i,completed:s})}return r},Ng={apos:"'",amp:"&",copy:"\xA9",gt:">",lt:"<",ldquo:"\u201C",rdquo:"\u201D",reg:"\xAE",quot:'"',nbsp:" ",trade:"\u2122",hellip:"\u2026",ndash:"\u2013",mdash:"\u2014"},fx=(e)=>e.replace(/&([a-zA-Z]+);/g,(t,r)=>{if(!r)return t;return(r in Ng?Ng[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)}),P0=/(<[^>]+>|`|^#{1,6}\s+.+|\*\*[^*]+\*\*|\[[^\]]+\]\([^)]+\)|!\[[^\]]*\]\([^)]+\)|~~[^~]+~~|\b_[^_]+_\b|^\s{0,3}[-+*]\s+\[[ xX]\]|^\s{0,3}\d+\.\s+|^\s{0,3}>\s+|^```)/m,gu=(e)=>P0.test(e)?Bun.markdown.html(e):e,Ug=(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 _0=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`,"g");var F0=()=>{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)},M0=(e)=>e.replace(_0,""),xu=(e)=>Math.max(0,Bun.stringWidth(M0(e))),N0=(e,t)=>{if(!F0())return e;let r=Bun.color(t,"ansi");if(!r)return e;return`${r}${e}\x1B[0m`},yu=(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((h)=>t.map((p)=>p.value(h))),i=t.map((h)=>h.header),c=t.map((h,p)=>{let g=xu(i[p]||""),S=s.reduce((x,T)=>Math.max(x,xu(T[p]||"")),0);return Math.max(g,S)}),f=(h,p,g="left")=>{let S=Math.max(0,p-xu(h));return g==="right"?" ".repeat(S)+h:`${h}${" ".repeat(S)}`},l=[];if(o){let h=t.map((p,g)=>f(r.formatHeader?r.formatHeader(p.header):p.header,c[g]??0,"left")).join(n);l.push(h)}for(let[h,p]of s.entries()){let g=e[h],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(`
46
- `)},U0=(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(`
47
- `)},fi=(e)=>{if(e.length===0)return"(none)";return yu(e,[{header:"column",value:dx,align:"left"},{header:"id",value:(r)=>N0(`#${r.number}`,"cyan")},{header:"assignees",value:mx},{header:"title",value:(r)=>r.title}],{gap:2})},lx=(e,t)=>{let r=e.steps??[],n=[`# #${e.number} ${e.title}`,"",U0([["column",dx(e)],["assignees",mx(e)],["closed",`${Boolean(e.closed)}`]]),"","## Description",...D0(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(`- ${z0(o.created_at)} ${s}: ${i}`)}}return n.join(`
48
- `)},px=(e)=>{if(e.length===0)return"no new steps";return e.map((t)=>` + ${t.completed?"[x]":"[ ]"} ${t.content}`).join(`
49
- `)},dx=(e)=>e.column?.name||"TRIAGE",mx=(e)=>{let t=(e.assignees||[]).map((r)=>r.name).filter(Boolean);return t.length===0?"-":t.join(", ")},z0=(e)=>e?e.replace(/T.*/,""):"?",D0=(e)=>{let t=e.trim();if(!t)return["(no description)"];return t.split(`
50
- `)};var hx=["\u25D0","\u25D3","\u25D1","\u25D2"],L0=80,$0="\r\x1B[2K",Eu=(e)=>e?.stderr??process.stderr,j0=(e)=>e?.env??process.env,H0=(e)=>{if(!Eu(e).isTTY)return!1;let r=j0(e);if(r.CI||r.NO_COLOR||r.FIZZYX_NO_SPINNER==="1")return!1;return!0},B0=(e)=>{e.write($0)},q0=(e,t)=>{let r=Eu(t),n=t.intervalMs??L0;return a.sync(()=>{let o=0,s=()=>{let c=hx[o++%hx.length];r.write(`\r${e} ${c}`)};s();let i=setInterval(s,n);return{stop(){clearInterval(i),B0(r)}}})},W0=(e,t,r)=>{let n=Eu(r);return a.gen(function*(){return yield*a.sync(()=>{n.write(`${t}
51
- `)}),yield*e})},$=(e,t,r)=>{if(!H0(r)){if(r?.showStatusLine)return W0(t,e,r);return t}return a.gen(function*(){let n=yield*q0(e,r??{});return yield*t.pipe(a.onExit(()=>a.sync(()=>{n.stop()})))})};var wx=(e)=>a.provide(a.gen(function*(){let[t="help",...r]=e;switch(t){case"help":case"--help":case"-h":console.log(kx());return;case"setup":{if(H(r)){console.log(nv());return}let n=Y0(r);if(n.list){let s=yield*$("Loading Fizzy boards...",Bg());if(s.length===0){console.log("(no boards)");return}console.log(yu(s,[{header:"id",value:(i)=>i.id},{header:"name",value:(i)=>i.name}]));return}let o=yield*$("Initializing Fizzy workflow...",Hg(n));console.log(`created ${o.configPath}`);return}case"auth":yield*Q0(r);return;case"flow":yield*K0(r);return;case"oss":yield*G0(r);return;default:throw Error(J0(t))}}),Gs),V0={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"},J0=(e)=>{let t=V0[e];if(t)return`unknown command: ${e}. Did you mean: fizzyx flow ${t}?`;return`unknown command: ${e}
52
-
53
- ${kx()}`},K0=(e)=>a.gen(function*(){let[t="help",...r]=e;if(vo(t)){console.log(Su());return}switch(t){case"sync":{if(H(r)){console.log(ov());return}let n=yield*$("Syncing Fizzy board...",a.gen(function*(){let o=yield*xe;return yield*st(o)}));console.error(`synced cards=${n.cards.length} not_now=${n.notNow.length}`);return}case"mine":{if(H(r)){console.log(sv());return}let n=r.includes("--fresh"),o=X0(r),s=yield*$("Loading my tasks...",a.gen(function*(){let i=yield*xe;return yield*du(i,{fresh:n,user:o})}));console.log(`# ${s.name}: ${s.userId}`),console.log(fi(s.cards));return}case"status":{if(H(r)){console.log(iv());return}let n=yield*$("Loading board status...",a.gen(function*(){let o=yield*xe;return yield*Jg(o,{fresh:r.includes("--fresh")})}));if(console.log(`# board cache age: ${n.age}s`),console.log(""),console.log(fi(n.cache.cards.filter((o)=>["INPROGRESS","TODO"].includes(o.column?.name||"")))),n.cache.notNow.length>0)console.log(`
54
- # not_now (${n.cache.notNow.length})`),console.log(fi(n.cache.notNow));return}case"next":{if(H(r)){console.log(cv());return}let n=yield*$("Loading next task...",a.gen(function*(){let o=yield*xe;return yield*Qg(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(H(r)){console.log(av());return}let n=Nt(r[0]),o=yield*$("Loading card details...",a.gen(function*(){let s=yield*xe;return yield*Kg(s,n)}));console.log(lx(o.card,o.comments));return}case"start":{if(H(r)){console.log(uv());return}let n=Nt(r[0]);yield*$("Starting card...",a.gen(function*(){let o=yield*xe;return yield*Gg(o,n)})),console.log(`started #${n}`);return}case"done":{if(H(r)){console.log(fv());return}let n=Nt(r[0]),o=r.slice(1).filter((c)=>!vo(c)).join(" "),s=o?o:yield*Xg(),i=yield*$("Closing card...",a.gen(function*(){let c=yield*xe;return yield*Yg(c,n,s)}));console.log(`closed #${i.number} (${i.ref})`);return}case"block":{if(H(r)){console.log(lv());return}let n=Nt(r[0]),o=r.slice(1).join(" "),s=yield*$("Marking card blocked...",a.gen(function*(){let i=yield*xe;return yield*Zg(i,n,o)}));console.log(`blocked #${s.number}: ${s.reason}`);return}case"assign":{if(H(r)){console.log(bx());return}let n=Nt(r[0]),o=r.slice(1).filter((i)=>!i.startsWith("--"));if(o.length===0)throw Error(bx());let s=yield*$("Assigning card...",a.gen(function*(){let i=yield*xe;return yield*ax(i,n,o)}));console.log(`assigned #${s.number} to ${s.userIds.join(", ")}`);return}case"comment-template":{if(H(r)){console.log(yx());return}let[n]=r;if(!ev(n))throw Error(yx());let o=yield*$("Reading flow config...",bu());console.log($g(o,n));return}case"workflow":{if(H(r)){console.log(dv());return}let n=yield*$("Reading flow config...",bu());console.log(tv(n));return}case"skill":{if(H(r)){console.log(mv());return}console.log(rv());return}case"repair-markdown":{if(H(r)){console.log(pv());return}let n=Nt(r[0]),o=yield*$("Repairing card description...",a.gen(function*(){let s=yield*xe;return yield*tx(s,n)}));console.log(`repaired #${o}`);return}case"complete-steps":{if(H(r)){console.log(hv());return}let n=Nt(r[0]),o=yield*$("Completing pending steps...",a.gen(function*(){let i=yield*xe;return yield*rx(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(`
55
- `));return}case"std":case"standardize-card":{if(H(r)){console.log(gv());return}let n=Nt(r[0]),o=yield*$("Standardizing card...",a.gen(function*(){let s=yield*xe;return yield*mu(s,n)}));console.log(gx(o));return}case"std-all":case"standardize-board":{if(H(r)){console.log(xv());return}let n=yield*$("Standardizing board...",a.gen(function*(){let o=yield*xe;return yield*ox(o)}));console.log(n.results.map(gx).join(`
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(H(r)){console.log(Ex());return}let n=r[0],o=r[1],s=Tr(r,"--desc");if(!n||!o||!s)throw Error(Ex());let i=yield*$("Creating card...",a.gen(function*(){let c=yield*Z0(s),f=yield*xe;return yield*ex(f,{user:n,title:o,description:c})}));console.log(i);return}case"steps-from-desc":{if(H(r)){console.log(Ev());return}let n=Nt(r[0]),o=yield*$("Syncing Done When steps...",a.gen(function*(){let s=yield*xe;return yield*nx(s,n)}));console.log(px(o));return}case"template":{if(H(r)){console.log(yv());return}let n=yield*$("Reading flow config...",bu());console.log(Cv(n));return}case"init":{if(H(r)){console.log(bv());return}let n=yield*$("Initializing workflow config...",xe);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(Su());return;default:throw Error(`unknown flow command: ${t}
57
-
58
- ${Su()}`)}}),Q0=(e)=>a.gen(function*(){let[t="help",...r]=e;if(vo(t)){console.log(xx());return}switch(t){case"login":{if(H(r)||!r[0])throw Error(vv());let n=yield*$("Saving credentials...",qg(r[0]));console.log(`token saved for ${n}`);return}case"status":{if(H(r)){console.log(Ov());return}let n=yield*$("Checking auth status...",Wg);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(H(r)){console.log(Av());return}let n=yield*$("Clearing credentials...",Vg);console.log(`token removed for ${n}`);return}default:throw Error(xx())}}),G0=(e)=>a.gen(function*(){let[t="help",...r]=e;if(vo(t)){yield*L.log(Sx());return}switch(t){case"ls":{if(H(r)){yield*L.log(Rv());return}let n=li(r,"dev"),o=Tr(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=Pv(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(H(r)){yield*L.log(Tv());return}let n=li(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"],h=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[h++%l.length],ye=Math.round(v.current/v.total*100),Q=16,Je=Math.round(v.current/v.total*Q),Ie="\u2588".repeat(Je)+"\u2591".repeat(Math.max(0,Q-Je)),pe=` ${te} ${n} [${Ie}] ${ye}% ${se} ${v.file} `;c.write(`\r${pe}`)}});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(H(r)){yield*L.log(Iv());return}let n=li(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(H(r)){yield*L.log(Cx());return}let n=li(r,"default"),o=Tr(r,"--endpoint"),s=Tr(r,"--region"),i=Tr(r,"--bucket"),c=Tr(r,"--local-dir"),f=Tr(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*pi(" Access Key ID: "),v=yield*pi(" 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(Cx());yield*L.error(`Configuring OSS [${n}]:`);let l=yield*pi(" Access Key ID: "),h=yield*pi(" Secret Access Key: ");if(!l||!h)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:h},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
-
60
- ${Sx()}`)}}),li=(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},Y0=(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},Tr=(e,t)=>{let r=e.indexOf(t);if(r<0||!e[r+1])return;return e[r+1]},X0=(e)=>e.find((t)=>!t.startsWith("--")),pi=(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))}),Z0=(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)}`)}),gx=(e)=>`standardized #${e.number} description=${e.descriptionUpdated?"yes":"no"} steps_created=${e.stepsCreated} steps_updated=${e.stepsUpdated} steps_completed=${e.stepsCompleted}`,ev=(e)=>e==="done"||e==="blocked"||e==="unblocked"||e==="handoff"||e==="note",bu=()=>a.flatMap(Y,(e)=>e.loadProjectConfigOptional().pipe(a.catchDefect(()=>a.succeed(void 0)),a.catch(()=>a.succeed(void 0)),a.map((t)=>t?.flow?.card?.language||Sv))),tv=(e)=>{if(e==="en")return`## Workflow
61
-
62
- ## Setup
63
- - fizzyx setup <board-id>
64
- - fizzyx auth login <token>
65
- - fizzyx auth status
66
-
67
- ## Create
68
- - fizzyx flow template > /tmp/card.md
69
- - edit card content and steps in /tmp/card.md
70
- - fizzyx flow add <user> "<title>" --desc /tmp/card.md
71
-
72
- ## Column flow
73
- Cards move through columns: TODO \u2192 IN PROGRESS \u2192 DONE
74
-
75
- - \`fizzyx flow start <card>\` \u2014 moves card from TODO to IN PROGRESS, self-assigns
76
- - \`fizzyx flow done <card> "commit <sha>: <subject>"\` \u2014 moves to DONE, comments, closes
77
-
78
- ## Daily
79
- - fizzyx flow mine --fresh
80
- - fizzyx flow start <card>
81
- - fizzyx flow show <card>
82
-
83
- ## Work
84
- - Inspect task goal and constraints
85
- - Draft clear implementation steps
86
- - Implement changes
87
- - Verify tests and acceptance criteria
88
-
89
- ## Complete
90
- - fizzyx flow complete-steps <card>
91
- - fizzyx flow done <card> "commit <sha>: <subject>"
92
- - \`flow done\` moves to DONE, writes the standardized done comment, and closes the card.
93
-
94
- ## Block
95
- - fizzyx flow block <card> "<reason>"
96
- - Use \`fizzyx flow comment-template <kind>\` for manual comments, and keep comments concise.
97
-
98
- ## Card structure
99
- - Description stores context
100
- - Steps become Fizzy checklist items`;if(e==="mixed")return`## Workflow / \u5DE5\u4F5C\u6D41
101
-
102
- ## Setup / \u51C6\u5907
103
- - fizzyx setup <board-id>
104
- - fizzyx auth login <token>
105
- - fizzyx auth status
106
-
107
- ## Create / \u521B\u5EFA
108
- - fizzyx flow template > /tmp/card.md
109
- - \u7F16\u8F91\u5361\u7247\u63CF\u8FF0\u548C\u6B65\u9AA4\u540E\u63D0\u4EA4
110
- - fizzyx flow add <user> "<title>" --desc /tmp/card.md
111
-
112
- ## Column flow / \u5217\u6D41\u8F6C
113
- Cards: TODO \u2192 IN PROGRESS \u2192 DONE
114
-
115
- - \`fizzyx flow start <card>\` \u2014 TODO \u2192 IN PROGRESS, self-assign
116
- - \`fizzyx flow done <card>\` \u2014 \u2192 DONE + close
117
-
118
- ## Daily / \u65E5\u5E38
119
- - fizzyx flow mine --fresh
120
- - fizzyx flow start <card>
121
- - fizzyx flow show <card>
122
-
123
- ## Work / \u8FDB\u884C\u4E2D
124
- - \u660E\u786E\u76EE\u6807\u4E0E\u7EA6\u675F
125
- - \u590D\u73B0\u5E76\u62C6\u5206\u5B9E\u73B0\u6B65\u9AA4
126
- - \u6267\u884C\u53D8\u66F4
127
- - \u9A8C\u6536\u6D4B\u8BD5\u4E0E\u81EA\u68C0
128
-
129
- ## Done / \u5B8C\u6210
130
- - fizzyx flow complete-steps <card>
131
- - fizzyx flow done <card> "commit <sha>: <subject>"
132
- - \`flow done\` \u79FB\u5165 DONE \u5217\u3001\u5199\u5165\u6807\u51C6\u5B8C\u6210\u8BC4\u8BBA\u3001\u5173\u95ED\u5361\u7247\u3002
133
-
134
- ## Block / \u963B\u585E
135
- - fizzyx flow block <card> "<reason>"
136
- - \u4F7F\u7528 \`fizzyx flow comment-template <kind>\` \u8FDB\u884C\u624B\u52A8\u6CE8\u91CA\uFF0C\u4FDD\u6301\u5185\u5BB9\u7B80\u6D01\u3002
137
-
138
- ## \u5361\u7247\u7ED3\u6784 / Card structure
139
- - Description = \u5361\u7247\u80CC\u666F\u4E0E\u4E0A\u4E0B\u6587
140
- - Steps = \u4EFB\u52A1\u6E05\u5355`;return`## \u5DE5\u4F5C\u6D41
141
-
142
- ## \u51C6\u5907
143
- - fizzyx setup <board-id>
144
- - fizzyx auth login <token>
145
- - fizzyx auth status
146
-
147
- ## \u521B\u5EFA
148
- - fizzyx flow template > /tmp/card.md
149
- - \u7F16\u8F91\u6A21\u677F\u5E76\u8865\u5145\u5185\u5BB9
150
- - fizzyx flow add <user> "<title>" --desc /tmp/card.md
151
-
152
- ## \u5217\u6D41\u8F6C
153
- \u5361\u7247\u6D41\u8F6C: TODO \u2192 IN PROGRESS \u2192 DONE
154
-
155
- - \`fizzyx flow start <card>\` \u2014 TODO \u2192 IN PROGRESS, \u81EA\u6307\u6D3E
156
- - \`fizzyx flow done <card>\` \u2014 \u2192 DONE + \u5173\u95ED
157
-
158
- ## \u6BCF\u65E5
159
- - fizzyx flow mine --fresh
160
- - fizzyx flow start <card>
161
- - fizzyx flow show <card>
162
-
163
- ## \u4EFB\u52A1\u6267\u884C
164
- - \u660E\u786E\u76EE\u6807\u4E0E\u7EA6\u675F
165
- - \u62C6\u89E3\u5B9E\u65BD\u6B65\u9AA4
166
- - \u6267\u884C\u53D8\u66F4
167
- - \u9A8C\u8BC1\u6D4B\u8BD5\u4E0E\u9A8C\u6536
168
-
169
- ## \u5B8C\u6210
170
- - fizzyx flow complete-steps <card>
171
- - fizzyx flow done <card> "commit <sha>: <subject>"
172
- - \`flow done\` \u79FB\u5165 DONE \u5217\u3001\u5199\u5165\u6807\u51C6\u5B8C\u6210\u8BC4\u8BBA\u3001\u5173\u95ED\u5361\u7247\u3002
173
-
174
- ## \u963B\u585E
175
- - fizzyx flow block <card> "<reason>"
176
- - \u4F7F\u7528 \`flow comment-template <kind>\` \u8FDB\u884C\u624B\u52A8\u8BC4\u8BBA\u5E76\u4FDD\u6301\u5185\u5BB9\u7B80\u6D01\u3002
177
-
178
- ## \u5361\u7247\u7ED3\u6784
179
- - description \u4E3A\u4E0A\u4E0B\u6587
180
- - steps \u4F1A\u53D8\u6210 Fizzy checklist`},rv=()=>`---
42
+ `).trim()),C0=(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=w0(s[1]),t[r]||=[];continue}t[r]||=[],t[r].push(o)}return t},w0=(e)=>Mt(e).toLowerCase().replace(/[\uFF1A:]+$/,"").trim(),pn=(e,t)=>{for(let r of t){let n=e[r];if(!n)continue;let o=k0(n).join(`
43
+ `).trim();if(o)return o}return""},k0=(e)=>e.map((t)=>t.trim()).filter((t)=>t.length>0).map((t)=>t.replace(/^[-*]\s+/,"- ")),v0=(e,t)=>{let r={goal:"Goal",files:"Files",verification:"Verification",notes:"Notes"},n=pn(t,["goal","\u76EE\u6807"])||e.title,o=pn(t,["files","\u6587\u4EF6"]),s=R0(pn(t,["verification","\u9A8C\u8BC1"]).split(/\r?\n/).concat(O0(pn(t,["done when","\u5B8C\u6210\u6761\u4EF6"])))),i=pn(t,["notes","\u5907\u6CE8"]),c=[`## ${r.goal}`,"",n.trim()];if(o)c.push("",`## ${r.files}`,"",o);if(s.length>0)c.push("",`## ${r.verification}`,"",...s);if(i)c.push("",`## ${r.notes}`,"",i);return c.join(`
44
+ `).trim()},R0=(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},O0=(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}`),T0=(e,t)=>{let r=pn(t,["done when","\u5B8C\u6210\u6761\u4EF6"]),n=fu(e).concat(A0(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})},A0=(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(),I0=(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"}]}),P0=(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)}),_0=/(<[^>]+>|`|^#{1,6}\s+.+|\*\*[^*]+\*\*|\[[^\]]+\]\([^)]+\)|!\[[^\]]*\]\([^)]+\)|~~[^~]+~~|\b_[^_]+_\b|^\s{0,3}[-+*]\s+\[[ xX]\]|^\s{0,3}\d+\.\s+|^\s{0,3}>\s+|^```)/m,lu=(e)=>_0.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 F0=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`,"g");var M0=()=>{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)},U0=(e)=>e.replace(F0,""),pu=(e)=>Math.max(0,Bun.stringWidth(U0(e))),N0=(e,t)=>{if(!M0())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,A)=>Math.max(x,pu(A[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,A)=>f(x,c[A]??0,t[A]?.align)).join(n);l.push(S)}return l.join(`
45
+ `)},z0=(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)=>N0(`#${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}`,"",z0([["column",ox(e)],["assignees",sx(e)],["closed",`${Boolean(e.closed)}`]]),"","## Description",...L0(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(`- ${D0(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(", ")},D0=(e)=>e?e.replace(/T.*/,""):"?",L0=(e)=>{let t=e.trim();if(!t)return["(no description)"];return t.split(`
49
+ `)};import{dirname as ix,join as So}from"path";var cx=So(".agents","skills","fizzyx","SKILL.md"),ax=So(".agents","skills","fizzyx","WORKFLOW.md"),ux=So(".agents","skills","fizzyx","CARD_TEMPLATE.md"),fx=()=>a.flatMap(Q,(e)=>e.loadProjectConfigOptional().pipe(a.catchDefect(()=>a.succeed(void 0)),a.catch(()=>a.succeed(void 0)),a.map((t)=>t?.rootDir??process.cwd()))),$0=(e)=>a.gen(function*(){if(!(yield*a.tryPromise({try:()=>Bun.file(e).exists(),catch:(r)=>Error(`failed to check ${e}: ${String(r)}`)})))return;return yield*a.tryPromise({try:()=>Bun.file(e).text(),catch:(r)=>Error(`failed to read ${e}: ${String(r)}`)})}),j0=(e)=>a.tryPromise({try:()=>import("fs/promises").then((t)=>t.mkdir(ix(e),{recursive:!0,mode:448})),catch:(t)=>Error(`failed to create ${ix(e)}: ${String(t)}`)}),H0=(e,t)=>a.tryPromise({try:()=>Bun.write(e,t),catch:(r)=>Error(`failed to write ${e}: ${String(r)}`)}),mu=(e,t)=>a.gen(function*(){let r=yield*fx(),n=So(r,e),o=yield*$0(n);if(o!==void 0)return o;return t()}),lx=()=>mu(ax,()=>gx()),px=()=>mu(cx,xx),dx=()=>mu(ux,()=>yx()),mx=({force:e})=>a.gen(function*(){let t=yield*fx(),r=[{path:cx,content:xx()},{path:ax,content:gx()},{path:ux,content:yx()}],n=[];for(let o of r){let s=So(t,o.path),i=yield*a.tryPromise({try:()=>Bun.file(s).exists(),catch:(c)=>Error(`failed to check ${s}: ${String(c)}`)});if(i&&!e){n.push({path:o.path,action:"skipped"});continue}yield*j0(s),yield*H0(s,`${o.content}
50
+ `),n.push({path:o.path,action:i?"overwritten":"created"})}return n}),hx=(e)=>`${e.action}: ${e.path}`,gx=()=>["## Workflow","","This is the default starter workflow. Customize a project-local policy by editing","","\t.agents/skills/fizzyx/WORKFLOW.md","","in your repository.","","## Setup","- fizzyx setup <board-id>","- fizzyx auth login <token>","- fizzyx auth status","","## Create","- fizzyx flow template > /tmp/card.md","- edit card content and steps in /tmp/card.md",'- fizzyx flow add <user> "<title>" --desc /tmp/card.md',"","## Column flow","Cards move through columns: TODO \u2192 IN PROGRESS \u2192 DONE","","- fizzyx flow start <card> \u2014 moves card from TODO to IN PROGRESS, self-assigns","- fizzyx flow done <card> \u2014 moves to DONE, auto-detects git ref, comments, closes",'- fizzyx flow done <card> "commit <sha>: <subject>" \u2014 with explicit ref',"","## Daily","- fizzyx flow mine --fresh","- fizzyx flow start <card>","- fizzyx flow show <card>","","## Work","- Inspect task goal and constraints","- Draft clear implementation steps","- Implement changes","- Verify tests and acceptance criteria","","## Complete","- fizzyx flow complete-steps <card> \u2014 mark all pending steps done (required before done)","- fizzyx flow done <card> \u2014 moves to DONE, writes comment, closes (ref auto-detected from git)",'- fizzyx flow done <card> "message" \u2014 with explicit ref',"- flow done requires all steps complete; otherwise it fails with an error listing unfinished steps.","","## Block",'- fizzyx flow block <card> "<reason>"',"- Use fizzyx flow comment-template <kind> for manual comments, and keep comments concise.","","## Card structure","- Description stores context","- Steps become Fizzy checklist items","","## Close discipline","- Never close cards through the web UI.","- Close only via CLI:"," 1) fizzyx flow complete-steps <card>"," 2) fizzyx flow done <card>",""].join(`
51
+ `),xx=()=>`---
181
52
  name: fizzyx
182
53
  description: Manage this repository's board through fizzyx flow commands.
183
54
  triggers:
@@ -199,8 +70,8 @@ argument-hint: "[flow action] [args...]"
199
70
 
200
71
  # fizzyx
201
72
 
202
- Use \`fizzyx flow ...\` for board workflow. Do not use the legacy official CLI
203
- for project workflow. If \`fizzyx flow\` lacks an operation, stop and ask.
73
+ Use fizzyx flow ... for board workflow. Do not use the legacy official CLI
74
+ for project workflow. If fizzyx flow lacks an operation, stop and ask.
204
75
 
205
76
  ## Workflow
206
77
 
@@ -208,29 +79,29 @@ Cards move through columns: **TODO** \u2192 **IN PROGRESS** \u2192 **DONE**
208
79
 
209
80
  | Phase | Command | Action |
210
81
  |-------|---------|--------|
211
- | Start | \`fizzyx flow start <card>\` | Move TODO \u2192 IN PROGRESS, self-assign |
212
- | Steps | \`fizzyx flow complete-steps <card>\` | Mark all pending steps done |
213
- | Done | \`fizzyx flow done <card> "commit <sha>: <subject>"\` | Move to DONE, comment, close |
82
+ | Start | fizzyx flow start <card> | Move TODO \u2192 IN PROGRESS, self-assign |
83
+ | Steps | fizzyx flow complete-steps <card> | Mark all pending steps done |
84
+ | Done | fizzyx flow done <card> "commit <sha>: <subject>" | Move to DONE, comment, close |
214
85
 
215
- **Never** close a card directly without \`flow done\`.
86
+ **Never** close a card directly without flow done.
216
87
 
217
88
  ## Context Loading
218
89
 
219
90
  - Treat this skill as generic. Do not hardcode board IDs, column IDs, users,
220
91
  scopes, title formats, or assignment rules here.
221
- - Project data comes from \`.fizzy.yaml\`, the repo's \`AGENTS.md\`, and local
222
- workflow docs referenced by \`AGENTS.md\`.
223
- - The CLI reads \`.fizzy.yaml\` automatically from the current repository.
92
+ - Project data comes from .fizzy.yaml, the repo's AGENTS.md, and local
93
+ workflow docs referenced by AGENTS.md.
94
+ - The CLI reads .fizzy.yaml automatically from the current repository.
224
95
  - Before creating or assigning cards, inspect the project's local tracking rules
225
96
  instead of guessing from this skill.
226
- - If project context is missing, run \`fizzyx setup <board-id>\` for machine
97
+ - If project context is missing, run fizzyx setup <board-id> for machine
227
98
  config, then create or update a local project workflow doc such as
228
- \`docs/fizzy-workflow.md\` and link it from \`AGENTS.md\`.
99
+ docs/fizzy-workflow.md and link it from AGENTS.md.
229
100
 
230
101
  ## Project Workflow Doc
231
102
 
232
103
  Keep project-specific board details out of this skill. Put them in a local doc
233
- near the repo's other docs, usually \`docs/fizzy-workflow.md\`.
104
+ near the repo's other docs, usually docs/fizzy-workflow.md.
234
105
 
235
106
  Minimum sections:
236
107
 
@@ -239,22 +110,22 @@ Minimum sections:
239
110
  - Column meanings and IDs.
240
111
  - Card title formats and allowed scopes.
241
112
  - Assignment rules and user IDs.
242
- - Local delivery rules that differ from \`fizzyx flow workflow\`.
113
+ - Local delivery rules that differ from fizzyx flow workflow.
243
114
 
244
115
  If any of these facts are unknown, ask before creating cards that depend on
245
116
  them.
246
117
 
247
118
  ## Identity
248
119
 
249
- - \`my work\`, \`my cards\`, and \`my tasks\` mean the authenticated fizzyx user.
120
+ - my work, my cards, and my tasks mean the authenticated fizzyx user.
250
121
  - Do not infer identity from git user, OS user, commit author, branch, or card assignee.
251
- - For identity-sensitive requests, run \`fizzyx auth status\` first.
252
- - Then run \`fizzyx flow mine --fresh\`.
253
- - Use \`fizzyx flow status --fresh\` only as extra board context.
122
+ - For identity-sensitive requests, run fizzyx auth status first.
123
+ - Then run fizzyx flow mine --fresh.
124
+ - Use fizzyx flow status --fresh only as extra board context.
254
125
 
255
126
  ## Commands
256
127
 
257
- \`\`\`bash
128
+ commands:
258
129
  fizzyx auth status
259
130
  fizzyx flow workflow
260
131
  fizzyx flow status --fresh
@@ -269,22 +140,64 @@ fizzyx flow done <card> "commit <sha>: <subject>"
269
140
  fizzyx flow block <card> "<reason>"
270
141
  fizzyx flow std <card>
271
142
  fizzyx flow std-all
272
- \`\`\`
273
143
 
274
144
  ## Cards
275
145
 
276
- - Generate new card bodies with \`fizzyx flow template\`.
277
- - Description is context only. Field language follows \`flow.card.language\`.
278
- - Put work checklist under \`## Steps\`; \`flow add\` converts it to card steps.
279
- - Step labels must be plain text: no Markdown links, backticks, or bold.
280
- - Normalize existing cards with \`fizzyx flow std <card>\`.
146
+ - Generate new card bodies with fizzyx flow template.
147
+ - Description is context only. Card titles and fields are standardized in English.
148
+ - Put work checklist under ## Steps; flow add converts it to card steps.
149
+ - Step labels must be plain text: no Markdown links, code ticks, or bold.
150
+ - Normalize existing cards with fizzyx flow std <card>.
281
151
 
282
152
  ## Delivery
283
153
 
284
154
  - Do not create cards for typo fixes or tiny chore commits.
285
155
  - Do not maintain a parallel progress document; board is execution state.
286
- - Before closing: run \`fizzyx flow complete-steps <card>\` then \`fizzyx flow done <card>\`.
287
- - Keep comments concise; use \`fizzyx flow comment-template <kind>\` for format.`,vo=(e)=>e==="help"||e==="--help"||e==="-h",H=(e)=>e.some(vo),kx=()=>`fizzyx <command>
156
+ - **Always close cards through the CLI**, never by clicking close in the UI.
157
+ - Close sequence:
158
+ 1. fizzyx flow complete-steps <card> \u2014 mark all pending steps done
159
+ 2. fizzyx flow done <card> \u2014 move to DONE, comment, close (ref auto-detected from git)
160
+ 3. fizzyx flow done <card> "message" \u2014 with explicit ref (optional)
161
+ - flow done requires all steps to be complete; it will fail with an error if any step is unfinished.
162
+ - Keep comments concise; use fizzyx flow comment-template <kind> for format.`,yx=()=>{let e=q0(),t=B0();return`## ${e.goal}
163
+ ${t.goal}
164
+
165
+ ## ${e.scope}
166
+ ### ${e.include}
167
+ - ${t.include}
168
+
169
+ ### ${e.exclude}
170
+ - ${t.exclude}
171
+
172
+ ## ${e.notes}
173
+ - ${t.noteSmall}
174
+ - ${t.notePattern}
175
+
176
+ ## ${e.files}
177
+ - ${t.files}
178
+
179
+ ## ${e.verification}
180
+ - ${t.verification}
181
+
182
+ ## Steps
183
+
184
+ - [ ] ${t.stepGoal}
185
+ - [ ] ${t.stepImplementation}
186
+ - [ ] ${t.stepPlain}
187
+ - [ ] ${t.stepClose}`},B0=()=>({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"}),q0=()=>({scope:"Scope",goal:"Goal",include:"In",exclude:"Out",files:"Files",verification:"Verification",notes:"Notes"});var Ex=["\u25D0","\u25D3","\u25D1","\u25D2"],W0=80,V0="\r\x1B[2K",hu=(e)=>e?.stderr??process.stderr,J0=(e)=>e?.env??process.env,K0=(e)=>{if(!hu(e).isTTY)return!1;let r=J0(e);if(r.CI||r.NO_COLOR||r.FIZZYX_NO_SPINNER==="1")return!1;return!0},Q0=(e)=>{e.write(V0)},Y0=(e,t)=>{let r=hu(t),n=t.intervalMs??W0;return a.sync(()=>{let o=0,s=()=>{let c=Ex[o++%Ex.length];r.write(`\r${e} ${c}`)};s();let i=setInterval(s,n);return{stop(){clearInterval(i),Q0(r)}}})},G0=(e,t,r)=>{let n=hu(r);return a.gen(function*(){return yield*a.sync(()=>{n.write(`${t}
188
+ `)}),yield*e})},$=(e,t,r)=>{if(!K0(r)){if(r?.showStatusLine)return G0(t,e,r);return t}return a.gen(function*(){let n=yield*Y0(e,r??{});return yield*t.pipe(a.onExit(()=>a.sync(()=>{n.stop()})))})};var Ax=(e)=>a.gen(function*(){let[t="help",...r]=e;switch(t){case"help":case"--help":case"-h":console.log(Ix());return;case"setup":{if(j(r)){console.log(cv());return}let n=nv(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*tv(r);return;case"flow":yield*ev(r);return;case"oss":yield*rv(r);return;default:throw Error(Z0(t))}}),X0={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"},Z0=(e)=>{let t=X0[e];if(t)return`unknown command: ${e}. Did you mean: fizzyx flow ${t}?`;return`unknown command: ${e}
189
+
190
+ ${Ix()}`},ev=(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(av());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(uv());return}let n=r.includes("--fresh"),o=ov(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(fv());return}let n=yield*$("Loading board status...",a.gen(function*(){let o=yield*pe;return yield*Ng(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(`
191
+ # not_now (${n.cache.notNow.length})`),console.log(ai(n.cache.notNow));return}case"next":{if(j(r)){console.log(lv());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(pv());return}let n=Ut(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(dv());return}let n=Ut(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(mv());return}let n=Ut(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(hv());return}let n=Ut(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(Rx());return}let n=Ut(r[0]),o=r.slice(1).filter((i)=>!i.startsWith("--"));if(o.length===0)throw Error(Rx());let s=yield*$("Assigning card...",a.gen(function*(){let i=yield*pe;return yield*Gg(i,n,o)}));console.log(`assigned #${s.number} to ${s.userIds.join(", ")}`);return}case"comment-template":{if(j(r)){console.log(Cx());return}let[n]=r;if(!iv(n))throw Error(Cx());console.log(Ag(n));return}case"workflow":{if(j(r)){yield*M.log(xv());return}yield*M.log(yield*$("Reading local workflow template...",lx()));return}case"skill":{let[n,...o]=r;if(n==="init"){if(j(o)){yield*M.log(kx());return}for(let f of o)if(f!=="--force")throw Error(kx());let i=o.includes("--force"),c=yield*$("Writing flow skill scaffold...",mx({force:i}));for(let f of c)yield*M.log(hx(f));return}if(j(r)){yield*M.log(wx());return}if(n!==void 0)throw Error(wx());let s=yield*$("Reading local skill file...",px());yield*M.log(s);return}case"repair-markdown":{if(j(r)){console.log(gv());return}let n=Ut(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(yv());return}let n=Ut(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(`
192
+ `));return}case"std":case"standardize-card":{if(j(r)){console.log(Ev());return}let n=Ut(r[0]),o=yield*$("Standardizing card...",a.gen(function*(){let s=yield*pe;return yield*uu(s,n)}));console.log(bx(o));return}case"std-all":case"standardize-board":{if(j(r)){console.log(bv());return}let n=yield*$("Standardizing board...",a.gen(function*(){let o=yield*pe;return yield*Jg(o)}));console.log(n.results.map(bx).join(`
193
+ `)),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(vx());return}let n=r[0],o=r[1],s=Ir(r,"--desc");if(!n||!o||!s)throw Error(vx());let i=yield*$("Creating card...",a.gen(function*(){let c=yield*sv(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(Cv());return}let n=Ut(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)){yield*M.log(Sv());return}yield*M.log(yield*$("Reading local card template...",dx()));return}case"doctor":{if(j(r)){console.log(kv());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(`
194
+ Fixes:`);for(let s of n.fixes)o.push(` \u2022 ${s}`)}else o.push(`
195
+ All good!`);yield*M.log(o.join(`
196
+ `));return}case"init":{if(j(r)){console.log(wv());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}
197
+
198
+ ${gu()}`)}}),tv=(e)=>a.gen(function*(){let[t="help",...r]=e;if(Co(t)){console.log(Sx());return}switch(t){case"login":{if(j(r)||!r[0])throw Error(vv());let n=yield*$("Saving credentials...",Fg(r[0]));console.log(`token saved for ${n}`);return}case"status":{if(j(r)){console.log(Rv());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(Ov());return}let n=yield*$("Clearing credentials...",Ug);console.log(`token removed for ${n}`);return}default:throw Error(Sx())}}),rv=(e)=>a.gen(function*(){let[t="help",...r]=e;if(Co(t)){yield*M.log(Ox());return}switch(t){case"ls":{if(j(r)){yield*M.log(Tv());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*M.log(`${n}: no objects found`);return}let i=nx(s.objects);for(let c of i)yield*M.log(c);if(s.isTruncated)yield*M.log(" ... (truncated, more objects available)");yield*M.log(`${n}: ${s.objects.length} objects`);return}case"sync":{if(j(r)){yield*M.log(Av());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),Y=16,Ke=Math.round(v.current/v.total*Y),Ie="\u2588".repeat(Ke)+"\u2591".repeat(Math.max(0,Y-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*M.error(` error: ${v}`);let A=x.durationMs>=1000?`${(x.durationMs/1000).toFixed(1)}s`:`${x.durationMs}ms`;if(yield*M.log(` \u2713 ${n} synced \xB7 ${x.uploaded} uploaded \xB7 ${x.skipped} skipped \xB7 ${A}`),i){let v=x.endpoint.replace(/\/+$/,"");for(let se of x.allKeys)yield*M.log(` ${v}/${se}`)}return}case"status":{if(j(r)){yield*M.log(Iv());return}let n=ui(r,"dev"),o=yield*$("Checking OSS status...",rh({env:n}));yield*M.log(`env: ${o.env}`),yield*M.log(`total local files: ${o.totalLocal}`),yield*M.log(`manifest entries: ${o.manifestEntries}`),yield*M.log(`pending uploads: ${o.pendingUploads}`),yield*M.log(`pending deletions: ${o.pendingDeletions}`),yield*M.log(`manifest: ${o.manifestPath}`);return}case"setup":{if(j(r)){yield*M.log(Tx());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*M.log("OSS scaffold written to .fizzy.yaml"),yield*M.log("Edit endpoint, region, local_dir, and optionally bucket/remote_prefix in the file"),yield*M.log("");yield*M.error(`Configuring keys for [${n}]:`);let A=yield*fi(" Access Key ID: "),v=yield*fi(" Secret Access Key: ");if(!A||!v){yield*M.log("Keys not provided \u2014 add them later with: fizzyx oss setup --env <name>");return}yield*$("Storing credentials...",Zm(n,A,v)),yield*M.log("Credentials stored in OS keychain (service: fizzyx-oss)");return}if(!o||!s||!c)throw Error(Tx());yield*M.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*M.log(`OSS ${n} config written to ${S.endpoint}`),yield*M.log("Credentials stored in OS keychain (service: fizzyx-oss)");return}default:throw Error(`unknown oss command: ${t}
199
+
200
+ ${Ox()}`)}}),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},nv=(e)=>{let t=e.includes("--list"),r=e.filter((o)=>o.startsWith("--")),n=e.filter((o)=>!o.startsWith("--"));if(t){if(r.length>1||n.length>0)throw Error("usage: fizzyx setup --list");return{list:!0}}if(r.length>0||n.length!==1)throw Error("usage: fizzyx setup <board-id>");return{board:n[0]}},Ut=(e)=>{let t=Number.parseInt((e||"").replace(/^#/,""),10);if(!Number.isFinite(t))throw Error("card number is required");return t},Ir=(e,t)=>{let r=e.indexOf(t);if(r<0||!e[r+1])return;return e[r+1]},ov=(e)=>e.find((t)=>!t.startsWith("--")),fi=(e)=>a.tryPromise({try:()=>new Promise((t)=>{let r=Nt("readline").createInterface({input:process.stdin,output:process.stderr});r.question(e,(n)=>{r.close(),t(n.trim())})}),catch:(t)=>Error(String(t))}),sv=(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)}`)}),bx=(e)=>`standardized #${e.number} description=${e.descriptionUpdated?"yes":"no"} steps_created=${e.stepsCreated} steps_updated=${e.stepsUpdated} steps_completed=${e.stepsCompleted}`,iv=(e)=>e==="done"||e==="blocked"||e==="unblocked"||e==="handoff"||e==="note",Co=(e)=>e==="help"||e==="--help"||e==="-h",j=(e)=>e.some(Co),Ix=()=>`fizzyx <command>
288
201
 
289
202
  commands:
290
203
  setup
@@ -294,17 +207,17 @@ commands:
294
207
 
295
208
  Use:
296
209
  fizzyx <command> -h
297
- for command help.`,nv=()=>`fizzyx setup <command>
210
+ for command help.`,cv=()=>`fizzyx setup <command>
298
211
 
299
212
  commands:
300
213
  setup <board-id>
301
- setup --list`,xx=()=>`fizzyx auth <command>
214
+ setup --list`,Sx=()=>`fizzyx auth <command>
302
215
 
303
216
  commands:
304
217
  auth login <token>
305
218
  auth status
306
219
  auth logout
307
- auth help`,Su=()=>`fizzyx flow <command>
220
+ auth help`,gu=()=>`fizzyx flow <command>
308
221
 
309
222
  commands:
310
223
  sync
@@ -327,43 +240,20 @@ commands:
327
240
  template
328
241
  steps-from-desc <card>
329
242
  init
330
- flow help`,ov=()=>"fizzyx flow sync",sv=()=>"fizzyx flow mine [--fresh] [user]",iv=()=>"fizzyx flow status [--fresh]",cv=()=>"fizzyx flow next [--fresh]",av=()=>"fizzyx flow show <card>",uv=()=>"fizzyx flow start <card>",fv=()=>"fizzyx flow done <card> [ref]",lv=()=>"fizzyx flow block <card> <reason>",pv=()=>"fizzyx flow repair-markdown <card>",yx=()=>"fizzyx flow comment-template <kind>",dv=()=>"fizzyx flow workflow",mv=()=>"fizzyx flow skill",hv=()=>"fizzyx flow complete-steps <card>",gv=()=>"fizzyx flow std <card> (alias: standardize-card)",xv=()=>"fizzyx flow std-all (alias: standardize-board)",Ex=()=>"fizzyx flow add <user> <title> --desc <file|->",bx=()=>"fizzyx flow assign <card> <user> [user...]",yv=()=>"fizzyx flow template",Ev=()=>"fizzyx flow steps-from-desc <card>",bv=()=>"fizzyx flow init",Sv=fo,Cv=(e)=>{let t=kv(e),r=wv(e);return`## ${t.goal}
331
- ${r.goal}
332
-
333
- ## ${t.scope}
334
- ### ${t.include}
335
- - ${r.include}
336
-
337
- ### ${t.exclude}
338
- - ${r.exclude}
339
-
340
- ## ${t.notes}
341
- - ${r.noteSmall}
342
- - ${r.notePattern}
343
-
344
- ## ${t.files}
345
- - ${r.files}
346
-
347
- ## ${t.verification}
348
- - ${r.verification}
349
-
350
- ## Steps
351
-
352
- - [ ] ${r.stepGoal}
353
- - [ ] ${r.stepImplementation}
354
- - [ ] ${r.stepPlain}
355
- - [ ] ${r.stepClose}`},wv=(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 close card"};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 close card / \u901A\u8FC7\u68C0\u67E5\u5E76\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:"\u68C0\u67E5\u901A\u8FC7\u5E76\u5173\u95ED\u5361\u7247"}},kv=(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"}},vv=()=>"fizzyx auth login <token>",Ov=()=>"fizzyx auth status",Av=()=>"fizzyx auth logout",Sx=()=>`fizzyx oss <command>
243
+ doctor
244
+ flow help`,av=()=>"fizzyx flow sync",uv=()=>"fizzyx flow mine [--fresh] [user]",fv=()=>"fizzyx flow status [--fresh]",lv=()=>"fizzyx flow next [--fresh]",pv=()=>"fizzyx flow show <card>",dv=()=>"fizzyx flow start <card>",mv=()=>"fizzyx flow done <card> [ref]",hv=()=>"fizzyx flow block <card> <reason>",gv=()=>"fizzyx flow repair-markdown <card>",Cx=()=>"fizzyx flow comment-template <kind>",xv=()=>"fizzyx flow workflow",wx=()=>"fizzyx flow skill",kx=()=>"fizzyx flow skill init [--force]",yv=()=>"fizzyx flow complete-steps <card>",Ev=()=>"fizzyx flow std <card> (alias: standardize-card)",bv=()=>"fizzyx flow std-all (alias: standardize-board)",vx=()=>"fizzyx flow add <user> <title> --desc <file|->",Rx=()=>"fizzyx flow assign <card> <user> [user...]",Sv=()=>"fizzyx flow template",Cv=()=>"fizzyx flow steps-from-desc <card>",wv=()=>"fizzyx flow init",kv=()=>"fizzyx flow doctor",vv=()=>"fizzyx auth login <token>",Rv=()=>"fizzyx auth status",Ov=()=>"fizzyx auth logout",Ox=()=>`fizzyx oss <command>
356
245
 
357
246
  commands:
358
247
  ls [--env <name>] [--prefix <prefix>]
359
248
  sync [--env <name>] [--full] [--no-urls] [--verify]
360
249
  status [--env <name>]
361
250
  setup [--env <name> --endpoint <url> --region <region>
362
- --local-dir <path>] [--bucket <name>] [--remote-prefix <prefix>]`,Rv=()=>`fizzyx oss ls [--env <name>] [--prefix <prefix>]
363
- List objects in the remote bucket`,Tv=()=>`fizzyx oss sync [--env <name>] [--full] [--no-urls] [--verify]
251
+ --local-dir <path>] [--bucket <name>] [--remote-prefix <prefix>]`,Tv=()=>`fizzyx oss ls [--env <name>] [--prefix <prefix>]
252
+ List objects in the remote bucket`,Av=()=>`fizzyx oss sync [--env <name>] [--full] [--no-urls] [--verify]
364
253
  --full: ignore manifest, force full upload
365
254
  --no-urls: suppress file URL output
366
- --verify: check remote existence before skipping files`,Iv=()=>"fizzyx oss status [--env <name>]",Cx=()=>`fizzyx oss setup --env <name> --endpoint <url> --region <region> --local-dir <path> [--bucket <name>] [--remote-prefix <prefix>]
255
+ --verify: check remote existence before skipping files`,Iv=()=>"fizzyx oss status [--env <name>]",Tx=()=>`fizzyx oss setup --env <name> --endpoint <url> --region <region> --local-dir <path> [--bucket <name>] [--remote-prefix <prefix>]
367
256
  With no flags: init blank OSS scaffold in .fizzy.yaml, then prompt for keys
368
257
  --bucket and --remote-prefix are optional; omit if endpoint already contains bucket name
369
- Keys are prompted interactively (not from args) to avoid shell history.`,Pv=(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],h=s.children[l];if(!h)continue;let p=Object.keys(h.children),g=f===c.length-1,S=i+(g?" ":"\u2502 "),x=h.size!==void 0?` ${t(h.size)}`:"";if(n.push(`${i}${g?"\u2514\u2500\u2500 ":"\u251C\u2500\u2500 "}${l}${p.length>0?"/":""}${x}`),p.length>0)o(h,S,p)}};return o(r,"",Object.keys(r.children)),n};a.runPromise(wx(Bun.argv.slice(2)).pipe(a.provide(Gs))).catch((e)=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exit(1)});
258
+ 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",Pv=".config/fizzy/config.yaml",Nx="1",zx="https://fizzy.puffin.studio",Dx=5,Lx=900,_v=()=>({loadProjectConfig:()=>a.gen(function*(){let e=yield*_x(),t=yield*ko(e),r=wo(e);return xu(t,e,r)}),loadProjectConfigOptional:()=>a.gen(function*(){let e=yield*_x(),t=yield*ko(e);return xu(t,e,wo(e))}).pipe(a.catch((e)=>Tr(e,"ConfigError")?a.succeed(void 0):a.fail(e))),setupProjectConfig:(e)=>a.gen(function*(){let t=e.configPath||`${process.cwd()}/${li}`,r=yield*Fx(t),n=zv(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*Fx(t),n=$v(e,r);yield*Eu(t,n,384);let o=jx(pi(n).oss);if(!o)return yield*new D({message:"Failed to parse OSS config after writing",path:t});return o}),loadCredentials:(e)=>a.gen(function*(){let t=yield*yu(e),r=new D({message:`No token in ${t}`,path:t});if(bu(t)){let o=yield*Mv(t).pipe(a.match({onFailure:(s)=>s,onSuccess:(s)=>s}));if(!Tr(o,"FileError"))return o;if(!qv(o,t))return yield*a.fail(o)}let n=yield*Mx(e).pipe(a.catch(()=>a.fail(r)));return yield*Px(e,n),n}),migrateCredentialsFromOfficial:Mx,saveCredentials:(e,t)=>Px(e,t),deleteCredentials:(e)=>a.gen(function*(){let t=yield*yu(e);yield*a.tryPromise({try:()=>Bun.file(t).delete(),catch:(r)=>new D({message:`Failed to delete credentials: ${String(r)}`,path:t})})})}),$x=je.sync(Q,()=>_v()),Px=(e,t)=>a.gen(function*(){let r=yield*yu(e);yield*Uv(wo(r)),yield*Eu(r,`${JSON.stringify(t,null,2)}
259
+ `,384)}),_x=()=>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 lo({message:`No ${li} found from ${process.cwd()}`})}).pipe(a.catch((e)=>Tr(e,"ConfigError")?a.fail(e):a.fail(new lo({message:String(e)})))),yu=(e)=>a.sync(()=>{let t=process.env.HOME;if(!t)throw new D({message:"HOME is not set"});return`${t}/.config/fizzyx/credentials/${Wv(e)}.json`}).pipe(a.catch((t)=>Tr(t,"FileError")?a.fail(t):a.fail(new D({message:String(t)})))),Fv=()=>a.sync(()=>{let e=process.env.HOME;if(!e)throw new D({message:"HOME is not set"});return`${e}/${Pv}`}).pipe(a.catch((e)=>Tr(e,"FileError")?a.fail(e):a.fail(new D({message:String(e)})))),ko=(e)=>a.tryPromise({try:()=>Bun.file(e).text(),catch:(t)=>new D({message:`Failed to read ${e}: ${String(t)}`,path:e})}),Fx=(e)=>bu(e)?ko(e):a.succeed(""),Mv=(e)=>ko(e).pipe(a.map((t)=>{if(t.trim()==="")throw new D({message:`No token in ${e}`,path:e});let r=jv(t,e),n=typeof r.token==="string"?r.token:"";if(n==="")throw new D({message:`No token in ${e}`,path:e});return{token:n}})),Mx=(e)=>a.gen(function*(){let t=yield*Fv(),r=yield*ko(t),n=Hv(r,t);if(Ux(n.account)!==e)return yield*new D({message:`No matching official credential for account ${e}`,path:t});let s=Ux(n.token);if(s==="")return yield*new D({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 D({message:`Failed to write ${e}: ${String(n)}`,path:e})}),Uv=(e)=>a.tryPromise({try:async()=>{await import("fs/promises").then((t)=>t.mkdir(e,{recursive:!0,mode:448}))},catch:(t)=>new D({message:`Failed to create ${e}: ${String(t)}`,path:e})}),xu=(e,t,r)=>{let n=pi(e),o=xe(n.account)||Nx,s=xe(n.api_url)||zx,i=xe(n.board)||void 0,c=Nv(n.flow),f=jx(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}},Nv=(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,wipLimit:vo(t.wip_limit)||Dx,cacheTtlSeconds:vo(t.cache_ttl)||Lx}},zv=(e,t="")=>{let r=pi(t),n=xt(r.flow),o={columns:{todo:e.todoColumn||xe(xt(n.columns).todo)||"",in_progress:e.inProgressColumn||xe(xt(n.columns).in_progress)||""},users:Bv(e.users||{}),wip_limit:vo(n.wip_limit)||Dx,cache_ttl:vo(n.cache_ttl)||Lx},s={};s.api_url=e.apiUrl||zx,s.account=e.account||Nx,s.board=e.board||"";for(let i of Object.keys(r))if(i!=="api_url"&&i!=="account"&&i!=="board"&&i!=="flow")s[i]=r[i];return s.flow=o,Bun.YAML.stringify(s,null,2)},jx=(e)=>{let t=xt(e);if(!t)return;let r=Lv(t.sync);if(!r)return;let n={};for(let o of Object.keys(t)){if(o==="sync")continue;let s=Dv(t[o]);if(s)n[o]=s}if(Object.keys(n).length===0)return;return{environments:n,sync:r}},Dv=(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},Lv=(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}},$v=(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 lo({message:"Invalid config format: expected YAML object"});return t},jv=(e,t)=>{try{let r=JSON.parse(e);return r&&typeof r==="object"&&!Array.isArray(r)?r:{}}catch(r){throw new D({message:`Invalid JSON in ${t}: ${String(r)}`,path:t})}},Hv=(e,t)=>{try{let r=Bun.YAML.parse(e);if(!r||typeof r!=="object"||Array.isArray(r))throw Error("expected YAML object");return r}catch(r){throw new D({message:`Invalid official config in ${t}: ${String(r)}`,path:t})}},Bv=(e)=>{let t={};for(let[r,n]of Object.entries(e))t[r]=n;return t},xe=(e)=>typeof e==="string"?e:"",Ux=(e)=>typeof e==="string"||typeof e==="number"?e.toString():"",qv=(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:{},Wv=(e)=>e.replace(/[^a-zA-Z0-9_.-]/g,"_");a.runPromise(Ax(Bun.argv.slice(2)).pipe(a.provide($x))).catch((e)=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exit(1)});