#!/usr/bin/env node var xr=Object.create;var Mt=Object.defineProperty;var Wr=Object.getOwnPropertyDescriptor;var Fr=Object.getOwnPropertyNames;var Jr=Object.getPrototypeOf,Vr=Object.prototype.hasOwnProperty;var s=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var $r=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Fr(e))!Vr.call(t,n)&&n!==r&&Mt(t,n,{get:()=>e[n],enumerable:!(i=Wr(e,n))||i.enumerable});return t};var Fe=(t,e,r)=>(r=t!=null?xr(Jr(t)):{},$r(e||!t||!t.__esModule?Mt(r,"default",{value:t,enumerable:!0}):r,t));var Tt=s(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.prependWith=void 0;var Gr=(t,e)=>Array(t.length*2).fill(0).map((r,i)=>i%2===0).map((r,i)=>r?e:t[Math.floor(i/2)]);me.prependWith=Gr});var St=s(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.isDebug=F.isProd=void 0;var wt=!0,Yr=wt&&(process.env.ENVIRONMENT??"").toLowerCase().includes("prod")?"production":"development",Kr=()=>Yr==="production";F.isProd=Kr;var zr=!(0,F.isProd)()||wt&&["y","t"].some((process.env.DEBUG??"").toLowerCase().startsWith),Qr=()=>zr;F.isDebug=Qr});var Et=s(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.memoize=void 0;var Zr=t=>{let e=new Map;return(...r)=>{let i=JSON.stringify(r);if(e.has(i))return e.get(i);let n=t(...r);return e.set(i,n),n}};be.memoize=Zr});var Rt=s(L=>{"use strict";var Xr=L&&L.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Je=L&&L.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Xr(e,t,r)};Object.defineProperty(L,"__esModule",{value:!0});Je(Tt(),L);Je(St(),L);Je(Et(),L)});var jt=s(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0})});var Lt=s(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.isObject=void 0;var kr=t=>typeof t=="object"&&!Array.isArray(t)&&!!t;_e.isObject=kr});var qt=s(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.isTagged=void 0;var ei=Ve(),ti=(t,e)=>!!((0,ei.isObject)(t)&&"_tag"in t&&t._tag===e);ye.isTagged=ti});var At=s(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0})});var Ct=s(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});m.Optional=m.IOptionalEmptyError=m.isOptional=m.IOptionalTag=void 0;var Ye=u();m.IOptionalTag="IOptional";var ri=t=>(0,Ye.isTagged)(t,m.IOptionalTag);m.isOptional=ri;var Oe=class extends Error{};m.IOptionalEmptyError=Oe;var Dt="O.Some",Ut="O.None",ie=t=>(0,Ye.isTagged)(t,Ut),It=t=>(0,Ye.isTagged)(t,Dt),$e=class{_tag;constructor(e=m.IOptionalTag){this._tag=e}},Ge=class t extends $e{self;constructor(e){super(),this.self=e}move(e){return this.map(()=>e)}orSome(e){return ie(this.self)?t.from(e()):this}get(){if(ie(this.self))throw new Oe("called get() on None optional");return this.self.value}filter(e){return ie(this.self)||!e(this.self.value)?t.none():t.some(this.self.value)}map(e){return ie(this.self)?t.none():t.from(e(this.self.value))}flatMap(e){return ie(this.self)?t.none():t.from(e(this.self.value)).orSome(()=>t.none()).get()}present(){return It(this.self)}*[Symbol.iterator](){It(this.self)&&(yield this.self.value)}static some(e){return new t({value:e,_tag:Dt})}static _none=new t({_tag:Ut});static none(){return this._none}static from(e){return e==null?t.none():t.some(e)}};m.Optional=Ge});var xt=s(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});c.Either=c.isRight=c.isLeft=c.isEither=c.IEitherTag=void 0;var J=u();c.IEitherTag="IEither";var ii=t=>(0,J.isTagged)(t,c.IEitherTag);c.isEither=ii;var Bt="E.Left",ni=t=>(0,J.isTagged)(t,Bt);c.isLeft=ni;var Ht="E.Right",si=t=>(0,J.isTagged)(t,Ht);c.isRight=si;var Ke=class{_tag;constructor(e=c.IEitherTag){this._tag=e}},ze=class t extends Ke{self;constructor(e){super(),this.self=e}moveRight(e){return this.mapRight(()=>e)}mapBoth(e,r){return(0,c.isLeft)(this.self)?t.left(e(this.self.err)):t.right(r(this.self.ok))}mapRight(e){return(0,c.isRight)(this.self)?t.right(e(this.self.ok)):t.left(this.self.err)}mapLeft(e){return(0,c.isLeft)(this.self)?t.left(e(this.self.err)):t.right(this.self.ok)}flatMap(e){return(0,c.isRight)(this.self)?e(this.self.ok):t.left(this.self.err)}filter(e){return(0,c.isLeft)(this.self)?t.left(this.self.err):t.fromFailable(()=>this.right().filter(e).get())}async flatMapAsync(e){return(0,c.isLeft)(this.self)?Promise.resolve(t.left(this.self.err)):await e(this.self.ok).catch(r=>t.left(r))}fold(e,r){return(0,c.isLeft)(this.self)?e(this.self.err):r(this.self.ok)}left(){return(0,c.isLeft)(this.self)?J.Optional.from(this.self.err):J.Optional.none()}right(){return(0,c.isRight)(this.self)?J.Optional.from(this.self.ok):J.Optional.none()}joinRight(e,r){return this.flatMap(i=>e.mapRight(n=>r(n,i)))}joinRightAsync(e,r){return this.flatMapAsync(async i=>await(typeof e=="function"?e():e).then(a=>a.mapRight(o=>r(o,i))))}static left(e){return new t({err:e,_tag:Bt})}static right(e){return new t({ok:e,_tag:Ht})}static fromFailable(e){try{return t.right(e())}catch(r){return t.left(r)}}static async fromFailableAsync(e){return await(typeof e=="function"?e():e).then(r=>t.right(r)).catch(r=>t.left(r))}};c.Either=ze});var Wt=s(q=>{"use strict";var oi=q&&q.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Qe=q&&q.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oi(e,t,r)};Object.defineProperty(q,"__esModule",{value:!0});Qe(At(),q);Qe(Ct(),q);Qe(xt(),q)});var Ft=s(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.ListZipper=ee.Cons=void 0;var V=u(),ne=class t{value;next;constructor(e,r=V.Optional.none()){this.value=e,this.next=r}before(e){return new t(this.value,e)}replace(e){return new t(e,this.next)}*[Symbol.iterator](){for(let e=V.Optional.some(this);e.present();e=e.flatMap(r=>r.next))yield e.get().value}static addOnto(e,r){return Array.from(e).reverse().reduce((i,n)=>V.Optional.from(new t(n,i)),r)}static from(e){return t.addOnto(e,V.Optional.none())}};ee.Cons=ne;var Ze=class t{reversedPathToHead;currentHead;constructor(e,r){this.reversedPathToHead=e,this.currentHead=r}read(){return this.currentHead.map(({value:e})=>e)}next(){return this.currentHead.map(e=>new t(V.Optional.some(e.before(this.reversedPathToHead)),e.next))}previous(){return this.reversedPathToHead.map(e=>new t(e.next,V.Optional.some(e.before(this.currentHead))))}prependChunk(e){return new t(ne.addOnto(Array.from(e).reverse(),this.reversedPathToHead),this.currentHead)}prepend(e){return this.prependChunk([e])}remove(){let e=this.currentHead.flatMap(r=>r.next);return new t(this.reversedPathToHead,e)}replace(e){let r=this.currentHead.map(i=>i.replace(e));return new t(this.reversedPathToHead,r)}*[Symbol.iterator](){let e=this;for(let r=e.previous();r.present();r=r.flatMap(i=>i.previous()))e=r.get();e.currentHead.present()&&(yield*e.currentHead.get())}collection(){return Array.from(this)}static from(e){return new t(V.Optional.none(),ne.from(e))}};ee.ListZipper=Ze});var Jt=s($=>{"use strict";var ai=$&&$.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ci=$&&$.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ai(e,t,r)};Object.defineProperty($,"__esModule",{value:!0});ci(Ft(),$)});var Ve=s(_=>{"use strict";var ui=_&&_.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),se=_&&_.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ui(e,t,r)};Object.defineProperty(_,"__esModule",{value:!0});se(jt(),_);se(Lt(),_);se(qt(),_);se(Wt(),_);se(Jt(),_)});var Vt=s(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.TraceableImpl=void 0;var Xe=class t{item;trace;constructor(e,r){this.item=e,this.trace=r}map(e){let r=e(this);return new t(r,this.trace)}coExtend(e){let r=e(this);return Array.from(r).map(i=>this.move(i))}flatMap(e){return e(this)}flatMapAsync(e){return new t(e(this).then(r=>r.get()),this.trace)}traceScope(e){return new t(this.get(),this.trace.traceScope(e(this)))}peek(e){return e(this),this}move(e){return this.map(()=>e)}bimap(e){let{item:r,trace:i}=e(this);return this.move(r).traceScope(()=>i)}get(){return this.item}};Me.TraceableImpl=Xe});var $t=s(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.EmittableMetric=void 0;var li=we(),ke=class{name;unit;constructor(e,r){this.name=e,this.unit=r}withValue(e){return{name:this.name,unit:this.unit,emissionTimestamp:Date.now(),value:e,_tag:li.MetricValueTag}}};Te.EmittableMetric=ke});var Gt=s(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.ResultMetric=te.Metric=void 0;var oe=we(),et=class{_tag;constructor(e=oe.IMetricTag){this._tag=e}},Se=class t extends et{name;parent;count;time;static DELIM=".";constructor(e,r=void 0,i=new oe.EmittableMetric(t.join(e,"count"),oe.Unit.COUNT),n=new oe.EmittableMetric(t.join(e,"time"),oe.Unit.MILLISECONDS)){super(),this.name=e,this.parent=r,this.count=i,this.time=n}child(e){let r=t.join(this.name,e);return new t(r,this)}asResult(){return Ee.from(this)}static join(...e){return e.join(t.DELIM)}static fromName(e){return new t(e)}};te.Metric=Se;var Ee=class t extends Se{name;parent;failure;success;warn;constructor(e,r=void 0,i,n,a){super(e,r),this.name=e,this.parent=r,this.failure=i,this.success=n,this.warn=a}static from(e){let r=e.child("failure"),i=e.child("success"),n=e.child("warn");return new t(e.name,e.parent,r,i,n)}};te.ResultMetric=Ee});var Yt=s(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.MetricsTrace=re.isMetricsTraceSupplier=void 0;var G=u(),di=t=>(0,G.isMetricValue)(t)||(0,G.isIMetric)(t)||Array.isArray(t)&&t.every(e=>(0,G.isMetricValue)(e)||(0,G.isIMetric)(e));re.isMetricsTraceSupplier=di;var tt=class t{metricConsumer;activeTraces;completedTraces;constructor(e,r=new Map,i=new Set){this.metricConsumer=e,this.activeTraces=r,this.completedTraces=i}traceScope(e){let r=Date.now(),i=(Array.isArray(e)?e:[e]).filter(G.isIMetric),n=new Map(i.map(a=>[a,r]));return new t(this.metricConsumer,n)}trace(e){if(!e||typeof e=="string")return this;let r=Date.now(),i=Array.isArray(e)?e:[e],n=i.filter(G.isMetricValue),a=i.filter(G.isIMetric),o=a.filter(f=>!this.activeTraces.has(f)),d=a.filter(f=>this.activeTraces.has(f)&&!this.completedTraces.has(f)),v=d.flatMap(f=>[f.count.withValue(1),f.time.withValue(r-this.activeTraces.get(f))]),h=[...n,...v];h.length>0&&this.metricConsumer(h);let k=new Map([...this.activeTraces,...o.map(f=>[f,r])]),B=new Set([...this.completedTraces,...d]);return new t(this.metricConsumer,k,B)}};re.MetricsTrace=tt});var we=s(l=>{"use strict";var fi=l&&l.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),rt=l&&l.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&fi(e,t,r)};Object.defineProperty(l,"__esModule",{value:!0});l.isIMetric=l.IMetricTag=l.isMetricValue=l.MetricValueTag=l.Unit=void 0;var zt=u(),Kt;(function(t){t.COUNT="COUNT",t.MILLISECONDS="MILLISECONDS"})(Kt||(l.Unit=Kt={}));l.MetricValueTag="MetricValue";var hi=t=>(0,zt.isTagged)(t,l.MetricValueTag);l.isMetricValue=hi;l.IMetricTag="IMetric";var gi=t=>(0,zt.isTagged)(t,l.IMetricTag);l.isIMetric=gi;rt($t(),l);rt(Gt(),l);rt(Yt(),l)});var Qt=s(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.ANSI=void 0;Re.ANSI={RESET:"\x1B[0m",BOLD:"\x1B[1m",DIM:"\x1B[2m",RED:"\x1B[31m",GREEN:"\x1B[32m",YELLOW:"\x1B[33m",BLUE:"\x1B[34m",MAGENTA:"\x1B[35m",CYAN:"\x1B[36m",WHITE:"\x1B[37m",BRIGHT_RED:"\x1B[91m",BRIGHT_YELLOW:"\x1B[93m",GRAY:"\x1B[90m"}});var Zt=s(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.isLogLevel=N.logLevelOrder=N.LogLevel=void 0;var Y;(function(t){t.UNKNOWN="UNKNOWN",t.INFO="INFO",t.WARN="WARN",t.DEBUG="DEBUG",t.ERROR="ERROR",t.SYS="SYS"})(Y||(N.LogLevel=Y={}));N.logLevelOrder=[Y.DEBUG,Y.INFO,Y.WARN,Y.ERROR,Y.SYS];var pi=t=>typeof t=="string"&&N.logLevelOrder.some(e=>e===t);N.isLogLevel=pi});var kt=s(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0})});var er=s(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.PrettyJsonConsoleLogger=void 0;var g=je(),it=class{log(e,...r){let i=JSON.stringify({level:e,trace:r},null,4),n=`${this.getStyle(e)}${i}${g.ANSI.RESET} `;this.getStream(e)(n)}getStream(e){return e===g.LogLevel.ERROR?console.error:console.log}getStyle(e){switch(e){case g.LogLevel.UNKNOWN:case g.LogLevel.INFO:return`${g.ANSI.MAGENTA}`;case g.LogLevel.DEBUG:return`${g.ANSI.CYAN}`;case g.LogLevel.WARN:return`${g.ANSI.BRIGHT_YELLOW}`;case g.LogLevel.ERROR:return`${g.ANSI.BRIGHT_RED}`;case g.LogLevel.SYS:return`${g.ANSI.DIM}${g.ANSI.BLUE}`}}};Pe.PrettyJsonConsoleLogger=it});var rr=s(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.LogTrace=void 0;var tr=u(),p=je(),nt=class t{logger;traces;defaultLevel;allowedLevels;constructor(e=new p.PrettyJsonConsoleLogger,r=[vi],i=p.LogLevel.INFO,n=bi){this.logger=e,this.traces=r,this.defaultLevel=i,this.allowedLevels=n}traceScope(e){return new t(this.logger,this.traces.concat(e),this.defaultLevel,this.allowedLevels)}trace(e){let{traces:r,level:i}=this.foldTraces(this.traces.concat(e));if(!this.allowedLevels().has(i))return;let n=i===p.LogLevel.UNKNOWN?this.defaultLevel:i;this.logger.log(n,...r)}foldTraces(e){let r=e.map(o=>typeof o=="function"?o():o),i=r.filter(o=>(0,p.isLogLevel)(o)).reduce((o,d)=>Math.max(p.logLevelOrder.indexOf(d),o),-1),n=p.logLevelOrder[i]??p.LogLevel.UNKNOWN,a=r.filter(o=>!(0,p.isLogLevel)(o)).map(o=>typeof o=="object"?`TracedException.Name = ${o.name}, TracedException.Message = ${o.message}, TracedException.Stack = ${o.stack}`:o);return{level:n,traces:a}}};Le.LogTrace=nt;var vi=()=>`TimeStamp = ${new Date().toISOString()}`,mi=(0,tr.memoize)(t=>new Set([p.LogLevel.UNKNOWN,...t?[p.LogLevel.DEBUG]:[],p.LogLevel.INFO,p.LogLevel.WARN,p.LogLevel.ERROR,p.LogLevel.SYS])),bi=()=>mi((0,tr.isDebug)())});var je=s(y=>{"use strict";var _i=y&&y.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ae=y&&y.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&_i(e,t,r)};Object.defineProperty(y,"__esModule",{value:!0});ae(Qt(),y);ae(Zt(),y);ae(kt(),y);ae(er(),y);ae(rr(),y)});var nr=s(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.LogMetricTraceable=R.LogMetricTrace=R.EmbeddedMetricsTraceable=R.LogTraceable=void 0;var A=at(),ce=class t extends A.TraceableImpl{static LogTrace=new A.LogTrace;static of(e){return new t(e,t.LogTrace)}};R.LogTraceable=ce;var ir=t=>e=>{e.length!==0&&t.traceScope(A.LogLevel.SYS).trace(`Metrics = ${JSON.stringify(e)}`)},st=class t extends A.TraceableImpl{static MetricsTrace=new A.MetricsTrace(ir(ce.LogTrace));static of(e,r=t.MetricsTrace){return new t(e,r)}};R.EmbeddedMetricsTraceable=st;var qe=class t{logTrace;metricsTrace;constructor(e,r){this.logTrace=e,this.metricsTrace=r}traceScope(e){return(0,A.isMetricsTraceSupplier)(e)?new t(this.logTrace,this.metricsTrace.traceScope(e)):new t(this.logTrace.traceScope(e),this.metricsTrace)}trace(e){return(0,A.isMetricsTraceSupplier)(e)?(this.metricsTrace.trace(e),this):(this.logTrace.trace(e),this)}};R.LogMetricTrace=qe;var ot=class t extends A.TraceableImpl{static ofLogTraceable(e){let r=new A.MetricsTrace(ir(e.trace));return new t(e.get(),new qe(e.trace,r))}static of(e){let r=ce.of(e);return t.ofLogTraceable(r)}};R.LogMetricTraceable=ot});var sr=s(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.TraceUtil=void 0;var ct=u(),ut=class t{static promiseify(e){return r=>r.flatMapAsync(async i=>i.move(await i.get()).map(e)).get()}static traceResultingEither(e,r=!1){return i=>(e&&i.trace.trace(i.get().fold(n=>r?e.warn:e.failure,n=>e.success)),i.traceScope(n=>n.get().fold(a=>r?ct.LogLevel.WARN:ct.LogLevel.ERROR,a=>ct.LogLevel.INFO)))}static withTrace(e){return r=>r.traceScope(()=>e)}static withMetricTrace(e){return t.withTrace(e)}static withFunctionTrace(e){return t.withTrace(`fn.${e.name}`)}static withClassTrace(e){return t.withTrace(`class.${e.constructor.name}`)}};Ne.TraceUtil=ut});var at=s(O=>{"use strict";var yi=O&&O.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ue=O&&O.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&yi(e,t,r)};Object.defineProperty(O,"__esModule",{value:!0});ue(Vt(),O);ue(we(),O);ue(je(),O);ue(nr(),O);ue(sr(),O)});var or=s(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.getStdoutMany=M.getStdout=M.CmdMetric=void 0;var H=u(),Oi=require("node:child_process");M.CmdMetric=H.Metric.fromName("Exec").asResult();var Mi=(t,e={streamTraceable:[]})=>t.flatMap(H.TraceUtil.withFunctionTrace(M.getStdout)).flatMap(r=>r.traceScope(()=>`Command = ${r.get()}`)).map(r=>{let i=r.get(),n=typeof i=="string"?i:i.join(" "),a=e.clearEnv?e.env:{...process.env,...e.env};return H.Either.fromFailableAsync(new Promise((o,d)=>{let v=(0,Oi.exec)(n,{env:a}),h="";v.stdout?.on("data",B=>{let f=B.toString();h+=f,e.streamTraceable?.includes("stdout")&&r.trace.trace(f)});let k="";v.stderr?.on("data",B=>{let f=B.toString();h+=f,e.streamTraceable?.includes("stderr")&&r.trace.trace(f)}),v.on("exit",B=>{B===0?o({stdout:h,stderr:k}):d(new Error(`exited with non-zero code: ${B}. ${k}`))})}))}).map(H.TraceUtil.promiseify(r=>r.get().mapRight(({stderr:i,stdout:n})=>(i&&r.trace.traceScope(H.LogLevel.DEBUG).trace(`StdErr = ${i}`),n)))).peek(H.TraceUtil.promiseify(H.TraceUtil.traceResultingEither(M.CmdMetric))).get();M.getStdout=Mi;var Ti=(t,e={streamTraceable:[]})=>t.coExtend(r=>r.get()).reduce(async(r,i)=>(await r).joinRightAsync(()=>i.map(a=>(0,M.getStdout)(a,e)).get(),(a,o)=>o.concat(a)),Promise.resolve(H.Either.right([])));M.getStdoutMany=Ti});var ar=s(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.getRequiredEnvVars=P.getRequiredEnv=P.getEnv=void 0;var lt=u(),wi=t=>lt.Optional.from(process.env[t]);P.getEnv=wi;var Si=t=>lt.Either.fromFailable(()=>(0,P.getEnv)(t).get()).mapLeft(()=>new Error(`environment variable "${t}" is required D:`));P.getRequiredEnv=Si;var Ei=t=>{let e=lt.Either.right({}),r=(i,n,a)=>({...i,[n]:a});return t.reduce((i,n)=>i.joinRight((0,P.getRequiredEnv)(n),(a,o)=>r(o,n,a)),e)};P.getRequiredEnvVars=Ei});var ur=s(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.validateExecutionEntries=K.validateIdentifier=void 0;var cr=u(),Ri=t=>/^[a-zA-Z0-9_\-:. \/]+$/.test(t)&&!t.includes("..");K.validateIdentifier=Ri;var Pi=t=>{let e=Object.entries(t).filter(r=>!r.every(i=>typeof i=="string"&&(0,K.validateIdentifier)(i)));return e.length>0?cr.Either.left(e):cr.Either.right(t)};K.validateExecutionEntries=Pi});var lr=s(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.argv=T.getArg=T.isArgKey=void 0;var z=u(),ji=t=>t.startsWith("--");T.isArgKey=ji;var Li=(t,e,r)=>{let i=z.Optional.from(e.findIndex(n=>(0,T.isArgKey)(n)&&n.split("=")[0]===t)).filter(n=>n>=0&&nz.Optional.from(e.at(n)).map(a=>a.includes("=")?a.split("=")[1]:e.at(n+1))).filter(n=>!(0,T.isArgKey)(n)).map(n=>r.present(n)).orSome(()=>r.unspecified).map(n=>z.Either.right(n)).get():z.Optional.from(r.absent).map(n=>z.Either.right(n)).orSome(()=>z.Either.left(new Error(`arg ${t} is not present in arguments list and does not have an 'absent' value`))).get()};T.getArg=Li;var qi=(t,e,r=process.argv.slice(2))=>{let i={present:o=>o},n=o=>{let d=e?.[o]??i;return(0,T.getArg)(o,r,d).mapRight(v=>[o,v])};return t.map(n).reduce((o,d)=>o.flatMap(v=>d.mapRight(([h,k])=>({...v,[h]:k}))),z.Either.right({})).mapRight(o=>o)};T.argv=qi});var dr=s(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.Signals=j.SigTermMetric=j.SigIntMetric=void 0;var I=u();j.SigIntMetric=I.Metric.fromName("SigInt").asResult();j.SigTermMetric=I.Metric.fromName("SigTerm").asResult();var dt=class{static async awaitClose(e){let r=I.Either.right(void 0);return new Promise(i=>{let n=d=>v=>e.flatMap(I.TraceUtil.withMetricTrace(d)).peek(h=>h.trace.trace("closing")).move(I.Optional.from(v).map(h=>I.Either.left(h)).orSome(()=>r).get()).flatMap(I.TraceUtil.traceResultingEither(d)).map(h=>i(h.get())).peek(h=>h.trace.trace("finished")).get(),a=n(j.SigIntMetric),o=n(j.SigTermMetric);process.on("SIGINT",()=>e.flatMap(I.TraceUtil.withTrace("SIGINT")).get().close(a)),process.on("SIGTERM",()=>e.flatMap(I.TraceUtil.withTrace("SIGTERM")).get().close(o))})}};j.Signals=dt});var fr=s(w=>{"use strict";var Ni=w&&w.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),le=w&&w.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ni(e,t,r)};Object.defineProperty(w,"__esModule",{value:!0});le(or(),w);le(ar(),w);le(ur(),w);le(lr(),w);le(dr(),w)});var gr=s(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0})});var pr=s(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.HttpStatusCodes=void 0;Ae.HttpStatusCodes={100:"Continue",101:"Switching Protocols",102:"Processing (WebDAV)",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status (WebDAV)",208:"Already Reported (WebDAV)",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"(Unused)",307:"Temporary Redirect",308:"Permanent Redirect (experimental)",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot (RFC 2324)",420:"Enhance Your Calm (Twitter)",422:"Unprocessable Entity (WebDAV)",423:"Locked (WebDAV)",424:"Failed Dependency (WebDAV)",425:"Reserved for WebDAV",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",444:"No Response (Nginx)",449:"Retry With (Microsoft)",450:"Blocked by Windows Parental Controls (Microsoft)",451:"Unavailable For Legal Reasons",499:"Client Closed Request (Nginx)",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates (Experimental)",507:"Insufficient Storage (WebDAV)",508:"Loop Detected (WebDAV)",509:"Bandwidth Limit Exceeded (Apache)",510:"Not Extended",511:"Network Authentication Required",598:"Network read timeout error",599:"Network connect timeout error"}});var mr=s(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0})});var br=s(D=>{"use strict";var Ai=D&&D.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ft=D&&D.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ai(e,t,r)};Object.defineProperty(D,"__esModule",{value:!0});ft(gr(),D);ft(pr(),D);ft(mr(),D)});var _r=s(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.JsonResponse=U.PenguenoResponse=U.getResponseMetrics=void 0;var de=u(),Ii=(t,e)=>{let r={...t.getResponseHeaders(),...e};return r["Content-Type"]=(r["Content-Type"]??"text/plain")+"; charset=utf-8",r},Di=[0,1,2,3,4,5].map(t=>de.Metric.fromName(`response.${t}xx`).asResult()),Ui=(t,e)=>{let r=Math.floor(t/100);return Di.flatMap((i,n)=>de.Optional.from(n).filter(a=>a===r).map(()=>[i.count.withValue(1)]).flatMap(a=>de.Optional.from(e).map(o=>a.concat(i.time.withValue(o))).orSome(()=>a)).orSome(()=>[i.count.withValue(0)]).get())};U.getResponseMetrics=Ui;var Ie=class{_body;statusText;status;headers;constructor(e,r,i){this._body=r,this.headers=Ii(e.get(),i?.headers??{}),this.status=i.status,this.statusText=i.statusText??de.HttpStatusCodes[this.status],e.trace.trace((0,U.getResponseMetrics)(i.status,e.get().elapsedTimeMs()))}body(){return this._body}};U.PenguenoResponse=Ie;var ht=class extends Ie{constructor(e,r,i){let n={...i,headers:{...i.headers,"Content-Type":"application/json"}};if((0,de.isEither)(r)){super(e,JSON.stringify(r.fold(a=>({error:a,ok:void 0}),a=>({ok:a}))),n);return}super(e,JSON.stringify(Math.floor(n.status/100)>4?{error:r}:{ok:r}),n)}};U.JsonResponse=ht});var yr=s(Q=>{"use strict";var Ci=Q&&Q.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Bi=Q&&Q.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ci(e,t,r)};Object.defineProperty(Q,"__esModule",{value:!0});Bi(_r(),Q)});var Mr=s(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.PenguenoRequest=void 0;var Or=["hewwo :D","hiya cutie","boop!","sending virtual hugs!","stay pawsitive"],Hi=()=>Or[Math.floor(Math.random()*Or.length)],gt=class t{req;id;at;constructor(e,r,i){this.req=e,this.id=r,this.at=i}elapsedTimeMs(e=()=>Date.now()){return e()-this.at.getTime()}getResponseHeaders(){let e=this.id,r=this.at.getTime(),i=Date.now(),n=this.elapsedTimeMs(()=>i),a=Hi();return Object.entries({RequestId:e,RequestReceivedUnix:r,RequestHandleUnix:i,DeltaUnix:n,Hai:a}).reduce((o,[d,v])=>({...o,[d]:v.toString()}),{})}static from(e){let r=crypto.randomUUID();return e.bimap(i=>{let n=i.get(),a=new URL(n.url),{pathname:o}=a,d=`RequestId = ${r}, Method = ${n.method}, Path = ${o}`;return{item:new t(n,r,new Date),trace:d}})}};De.PenguenoRequest=gt});var Tr=s(Z=>{"use strict";var xi=Z&&Z.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Wi=Z&&Z.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&xi(e,t,r)};Object.defineProperty(Z,"__esModule",{value:!0});Wi(Mr(),Z)});var Er=s(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});x.HealthCheckActivityImpl=x.HealthCheckOutput=x.HealthCheckInput=void 0;var X=u(),pt;(function(t){t[t.CHECK=0]="CHECK"})(pt||(x.HealthCheckInput=pt={}));var wr;(function(t){t[t.YAASSSLAYQUEEN=0]="YAASSSLAYQUEEN"})(wr||(x.HealthCheckOutput=wr={}));var Sr=X.Metric.fromName("Health").asResult(),vt=class{check;constructor(e){this.check=e}checkHealth(e){return e.flatMap(X.TraceUtil.withFunctionTrace(this.checkHealth)).flatMap(X.TraceUtil.withMetricTrace(Sr)).flatMap(r=>r.move(pt.CHECK).map(i=>this.check(i))).peek(X.TraceUtil.promiseify(X.TraceUtil.traceResultingEither(Sr))).map(X.TraceUtil.promiseify(r=>{let{status:i,message:n}=r.get().fold(()=>({status:500,message:"err"}),()=>({status:200,message:"ok"}));return new X.JsonResponse(e,n,{status:i})})).get()}};x.HealthCheckActivityImpl=vt});var Pr=s(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.FourOhFourActivityImpl=void 0;var Fi=u(),Rr=["D: meow-t found! your api call ran away!","404-bidden! but like...in a cute way >:3 !",":< your data went on a paw-sible vacation!","uwu~ not found, but found our hearts instead!"],Ji=()=>Rr[Math.floor(Math.random()*Rr.length)],mt=class{fourOhFour(e){return e.move(new Fi.JsonResponse(e,Ji(),{status:404})).map(r=>Promise.resolve(r.get())).get()}};Ue.FourOhFourActivityImpl=mt});var Lr=s(W=>{"use strict";var Vi=W&&W.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),jr=W&&W.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Vi(e,t,r)};Object.defineProperty(W,"__esModule",{value:!0});jr(Er(),W);jr(Pr(),W)});var qr=s(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.requireMethod=void 0;var fe=u(),$i=t=>e=>e.flatMap(fe.TraceUtil.withFunctionTrace(he.requireMethod)).map(r=>{let{req:{method:i}}=r.get();if(!t.includes(i)){let n="that's not how you pet me (\u22DF\uFE4F\u22DE)~";return r.trace.traceScope(fe.LogLevel.WARN).trace(n),fe.Either.left(new fe.PenguenoError(n,405))}return fe.Either.right(i)}).get();he.requireMethod=$i});var Ar=s(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.jsonModel=void 0;var C=u(),Nr=C.Metric.fromName("JsonParse").asResult(),Gi=t=>e=>e.flatMap(C.TraceUtil.withFunctionTrace(ge.jsonModel)).flatMap(C.TraceUtil.withMetricTrace(Nr)).map(r=>C.Either.fromFailableAsync(r.get().req.json()).then(i=>i.mapLeft(n=>(r.trace.traceScope(C.LogLevel.WARN).trace(n),new C.PenguenoError("seems to be invalid JSON (>//<) can you fix?",400))))).flatMapAsync(C.TraceUtil.promiseify(C.TraceUtil.traceResultingEither(Nr))).map(C.TraceUtil.promiseify(r=>r.get().mapRight(i=>r.move(i)).flatMap(t))).get();ge.jsonModel=Gi});var Dr=s(b=>{"use strict";var Yi=b&&b.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Ir=b&&b.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Yi(e,t,r)};Object.defineProperty(b,"__esModule",{value:!0});b.PenguenoError=b.ErrorSource=void 0;var kn=u(),Ce;(function(t){t.USER="WARN",t.SYSTEM="ERROR"})(Ce||(b.ErrorSource=Ce={}));var bt=class extends Error{message;status;source;constructor(e,r){super(e),this.message=e,this.status=r,this.source=Math.floor(r/100)===4?Ce.USER:Ce.SYSTEM}};b.PenguenoError=bt;Ir(qr(),b);Ir(Ar(),b)});var Ur=s(S=>{"use strict";var Ki=S&&S.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),pe=S&&S.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ki(e,t,r)};Object.defineProperty(S,"__esModule",{value:!0});pe(br(),S);pe(yr(),S);pe(Tr(),S);pe(Lr(),S);pe(Dr(),S)});var u=s(E=>{"use strict";var zi=E&&E.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ve=E&&E.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&zi(e,t,r)};Object.defineProperty(E,"__esModule",{value:!0});ve(Rt(),E);ve(Ve(),E);ve(at(),E);ve(fr(),E);ve(Ur(),E)});var _t=Fe(u(),1),Qi=["fetch_code","ci_pipeline","build_docker_image.js","ansible_playbook.js","checkout_ci.js","npm_publish.js"],Zi=t=>typeof t=="string"&&Qi.includes(t),Cr=t=>!!((0,_t.isObject)(t)&&"arguments"in t&&(0,_t.isObject)(t.arguments)&&"type"in t&&Zi(t.type)&&t);var Ot=Fe(u(),1);var yt=class{stages=[];addStage(e){return this.stages.push(e),this}build(){return new He(this.stages)}},Be=class extends yt{remoteUrl;refname;constructor(e=process.env.remote,r=process.env.rev,i=process.env.refname){super(),this.remoteUrl=e,this.refname=i,this.addStage({parallelJobs:[{type:"fetch_code",arguments:{remoteUrl:e,checkout:r,path:this.getSourceDestination()}}]})}getSourceDestination(){return this.remoteUrl.replace(".git","").split("/").at(-1)??"src"}getBranch(){return this.refname.split("refs/heads/").at(1)}};var xe=Fe(u(),1);var He=class t{serialJobs;constructor(e){this.serialJobs=e}serialize(){return JSON.stringify({serialJobs:this.serialJobs})}static from(e){return xe.Either.fromFailable(()=>JSON.parse(e)).flatMap(r=>Br(r)?xe.Either.right(r):xe.Either.left(new Error("oh noes D: its a bad pipewine :(("))).mapRight(r=>new t(r.serialJobs))}};var Xi=t=>(0,Ot.isObject)(t)&&"parallelJobs"in t&&Array.isArray(t.parallelJobs)&&t.parallelJobs.every(e=>Cr(e)),Br=t=>(0,Ot.isObject)(t)&&"serialJobs"in t&&Array.isArray(t.serialJobs)&&t.serialJobs.every(e=>Xi(e));var We=exports&&exports.__assign||function(){return We=Object.assign||function(t){for(var e,r=1,i=arguments.length;r