@keepur/hive 0.1.3 → 0.1.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/pkg/cli.min.js CHANGED
@@ -1,76 +1,76 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __hiveCreateRequire } from 'module'; const require = __hiveCreateRequire(import.meta.url);
3
- var Ku=Object.create;var _s=Object.defineProperty;var Bu=Object.getOwnPropertyDescriptor;var xu=Object.getOwnPropertyNames;var Fu=Object.getPrototypeOf,Uu=Object.prototype.hasOwnProperty;var ge=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var L=(t,e)=>()=>(t&&(e=t(t=0)),e);var w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Q=(t,e)=>{for(var n in e)_s(t,n,{get:e[n],enumerable:!0})},ju=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of xu(e))!Uu.call(t,i)&&i!==n&&_s(t,i,{get:()=>e[i],enumerable:!(s=Bu(e,i))||s.enumerable});return t};var le=(t,e,n)=>(n=t!=null?Ku(Fu(t)):{},ju(e||!t||!t.__esModule?_s(n,"default",{value:t,enumerable:!0}):n,t));var I=w(F=>{"use strict";var Os=Symbol.for("yaml.alias"),Yr=Symbol.for("yaml.document"),on=Symbol.for("yaml.map"),Hr=Symbol.for("yaml.pair"),Is=Symbol.for("yaml.scalar"),an=Symbol.for("yaml.seq"),ce=Symbol.for("yaml.node.type"),Yu=t=>!!t&&typeof t=="object"&&t[ce]===Os,Hu=t=>!!t&&typeof t=="object"&&t[ce]===Yr,Gu=t=>!!t&&typeof t=="object"&&t[ce]===on,Vu=t=>!!t&&typeof t=="object"&&t[ce]===Hr,Gr=t=>!!t&&typeof t=="object"&&t[ce]===Is,Wu=t=>!!t&&typeof t=="object"&&t[ce]===an;function Vr(t){if(t&&typeof t=="object")switch(t[ce]){case on:case an:return!0}return!1}function Ju(t){if(t&&typeof t=="object")switch(t[ce]){case Os:case on:case Is:case an:return!0}return!1}var Qu=t=>(Gr(t)||Vr(t))&&!!t.anchor;F.ALIAS=Os;F.DOC=Yr;F.MAP=on;F.NODE_TYPE=ce;F.PAIR=Hr;F.SCALAR=Is;F.SEQ=an;F.hasAnchor=Qu;F.isAlias=Yu;F.isCollection=Vr;F.isDocument=Hu;F.isMap=Gu;F.isNode=Ju;F.isPair=Vu;F.isScalar=Gr;F.isSeq=Wu});var pt=w(Ts=>{"use strict";var q=I(),V=Symbol("break visit"),Wr=Symbol("skip children"),ee=Symbol("remove node");function ln(t,e){let n=Jr(e);q.isDocument(t)?Ye(null,t.contents,n,Object.freeze([t]))===ee&&(t.contents=null):Ye(null,t,n,Object.freeze([]))}ln.BREAK=V;ln.SKIP=Wr;ln.REMOVE=ee;function Ye(t,e,n,s){let i=Qr(t,e,n,s);if(q.isNode(i)||q.isPair(i))return zr(t,s,i),Ye(t,i,n,s);if(typeof i!="symbol"){if(q.isCollection(e)){s=Object.freeze(s.concat(e));for(let r=0;r<e.items.length;++r){let o=Ye(r,e.items[r],n,s);if(typeof o=="number")r=o-1;else{if(o===V)return V;o===ee&&(e.items.splice(r,1),r-=1)}}}else if(q.isPair(e)){s=Object.freeze(s.concat(e));let r=Ye("key",e.key,n,s);if(r===V)return V;r===ee&&(e.key=null);let o=Ye("value",e.value,n,s);if(o===V)return V;o===ee&&(e.value=null)}}return i}async function cn(t,e){let n=Jr(e);q.isDocument(t)?await He(null,t.contents,n,Object.freeze([t]))===ee&&(t.contents=null):await He(null,t,n,Object.freeze([]))}cn.BREAK=V;cn.SKIP=Wr;cn.REMOVE=ee;async function He(t,e,n,s){let i=await Qr(t,e,n,s);if(q.isNode(i)||q.isPair(i))return zr(t,s,i),He(t,i,n,s);if(typeof i!="symbol"){if(q.isCollection(e)){s=Object.freeze(s.concat(e));for(let r=0;r<e.items.length;++r){let o=await He(r,e.items[r],n,s);if(typeof o=="number")r=o-1;else{if(o===V)return V;o===ee&&(e.items.splice(r,1),r-=1)}}}else if(q.isPair(e)){s=Object.freeze(s.concat(e));let r=await He("key",e.key,n,s);if(r===V)return V;r===ee&&(e.key=null);let o=await He("value",e.value,n,s);if(o===V)return V;o===ee&&(e.value=null)}}return i}function Jr(t){return typeof t=="object"&&(t.Collection||t.Node||t.Value)?Object.assign({Alias:t.Node,Map:t.Node,Scalar:t.Node,Seq:t.Node},t.Value&&{Map:t.Value,Scalar:t.Value,Seq:t.Value},t.Collection&&{Map:t.Collection,Seq:t.Collection},t):t}function Qr(t,e,n,s){if(typeof n=="function")return n(t,e,s);if(q.isMap(e))return n.Map?.(t,e,s);if(q.isSeq(e))return n.Seq?.(t,e,s);if(q.isPair(e))return n.Pair?.(t,e,s);if(q.isScalar(e))return n.Scalar?.(t,e,s);if(q.isAlias(e))return n.Alias?.(t,e,s)}function zr(t,e,n){let s=e[e.length-1];if(q.isCollection(s))s.items[t]=n;else if(q.isPair(s))t==="key"?s.key=n:s.value=n;else if(q.isDocument(s))s.contents=n;else{let i=q.isAlias(s)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}Ts.visit=ln;Ts.visitAsync=cn});var Ns=w(Zr=>{"use strict";var Xr=I(),zu=pt(),Xu={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Zu=t=>t.replace(/[!,[\]{}]/g,e=>Xu[e]),ht=class t{constructor(e,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,e),this.tags=Object.assign({},t.defaultTags,n)}clone(){let e=new t(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new t(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:t.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},t.defaultTags);break}return e}add(e,n){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let s=e.trim().split(/[ \t]+/),i=s.shift();switch(i){case"%TAG":{if(s.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;let[r,o]=s;return this.tags[r]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,s.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;let[r]=s;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{let o=/^\d+\.\d+$/.test(r);return n(6,`Unsupported YAML version ${r}`,o),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,n){if(e==="!")return"!";if(e[0]!=="!")return n(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(n(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&n("Verbatim tags must end with a >"),o)}let[,s,i]=e.match(/^(.*!)([^!]*)$/s);i||n(`The ${e} tag has no suffix`);let r=this.tags[s];if(r)try{return r+decodeURIComponent(i)}catch(o){return n(String(o)),null}return s==="!"?e:(n(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[n,s]of Object.entries(this.tags))if(e.startsWith(s))return n+Zu(e.substring(s.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],s=Object.entries(this.tags),i;if(e&&s.length>0&&Xr.isNode(e.contents)){let r={};zu.visit(e.contents,(o,a)=>{Xr.isNode(a)&&a.tag&&(r[a.tag]=!0)}),i=Object.keys(r)}else i=[];for(let[r,o]of s)r==="!!"&&o==="tag:yaml.org,2002:"||(!e||i.some(a=>a.startsWith(o)))&&n.push(`%TAG ${r} ${o}`);return n.join(`
4
- `)}};ht.defaultYaml={explicit:!1,version:"1.2"};ht.defaultTags={"!!":"tag:yaml.org,2002:"};Zr.Directives=ht});var un=w(mt=>{"use strict";var eo=I(),ef=pt();function tf(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(n)}return!0}function to(t){let e=new Set;return ef.visit(t,{Value(n,s){s.anchor&&e.add(s.anchor)}}),e}function no(t,e){for(let n=1;;++n){let s=`${t}${n}`;if(!e.has(s))return s}}function nf(t,e){let n=[],s=new Map,i=null;return{onAnchor:r=>{n.push(r),i??(i=to(t));let o=no(e,i);return i.add(o),o},setAnchors:()=>{for(let r of n){let o=s.get(r);if(typeof o=="object"&&o.anchor&&(eo.isScalar(o.node)||eo.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:s}}mt.anchorIsValid=tf;mt.anchorNames=to;mt.createNodeAnchors=nf;mt.findNewAnchor=no});var Ls=w(so=>{"use strict";function gt(t,e,n,s){if(s&&typeof s=="object")if(Array.isArray(s))for(let i=0,r=s.length;i<r;++i){let o=s[i],a=gt(t,s,String(i),o);a===void 0?delete s[i]:a!==o&&(s[i]=a)}else if(s instanceof Map)for(let i of Array.from(s.keys())){let r=s.get(i),o=gt(t,s,i,r);o===void 0?s.delete(i):o!==r&&s.set(i,o)}else if(s instanceof Set)for(let i of Array.from(s)){let r=gt(t,s,i,i);r===void 0?s.delete(i):r!==i&&(s.delete(i),s.add(r))}else for(let[i,r]of Object.entries(s)){let o=gt(t,s,i,r);o===void 0?delete s[i]:o!==r&&(s[i]=o)}return t.call(e,n,s)}so.applyReviver=gt});var ye=w(ro=>{"use strict";var sf=I();function io(t,e,n){if(Array.isArray(t))return t.map((s,i)=>io(s,String(i),n));if(t&&typeof t.toJSON=="function"){if(!n||!sf.hasAnchor(t))return t.toJSON(e,n);let s={aliasCount:0,count:1,res:void 0};n.anchors.set(t,s),n.onCreate=r=>{s.res=r,delete n.onCreate};let i=t.toJSON(e,n);return n.onCreate&&n.onCreate(i),i}return typeof t=="bigint"&&!n?.keep?Number(t):t}ro.toJS=io});var fn=w(ao=>{"use strict";var rf=Ls(),oo=I(),of=ye(),Cs=class{constructor(e){Object.defineProperty(this,oo.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:n,maxAliasCount:s,onAnchor:i,reviver:r}={}){if(!oo.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},a=of.toJS(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?rf.applyReviver(r,{"":a},"",a):a}};ao.NodeBase=Cs});var yt=w(lo=>{"use strict";var af=un(),lf=pt(),Ge=I(),cf=fn(),uf=ye(),Ps=class extends cf.NodeBase{constructor(e){super(Ge.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,n){let s;n?.aliasResolveCache?s=n.aliasResolveCache:(s=[],lf.visit(e,{Node:(r,o)=>{(Ge.isAlias(o)||Ge.hasAnchor(o))&&s.push(o)}}),n&&(n.aliasResolveCache=s));let i;for(let r of s){if(r===this)break;r.anchor===this.source&&(i=r)}return i}toJSON(e,n){if(!n)return{source:this.source};let{anchors:s,doc:i,maxAliasCount:r}=n,o=this.resolve(i,n);if(!o){let l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let a=s.get(o);if(a||(uf.toJS(o,null,n),a=s.get(o)),a?.res===void 0){let l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(r>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=dn(i,o,s)),a.count*a.aliasCount>r)){let l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return a.res}toString(e,n,s){let i=`*${this.source}`;if(e){if(af.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(e.implicitKey)return`${i} `}return i}};function dn(t,e,n){if(Ge.isAlias(e)){let s=e.resolve(t),i=n&&s&&n.get(s);return i?i.count*i.aliasCount:0}else if(Ge.isCollection(e)){let s=0;for(let i of e.items){let r=dn(t,i,n);r>s&&(s=r)}return s}else if(Ge.isPair(e)){let s=dn(t,e.key,n),i=dn(t,e.value,n);return Math.max(s,i)}return 1}lo.Alias=Ps});var $=w(Ms=>{"use strict";var ff=I(),df=fn(),pf=ye(),hf=t=>!t||typeof t!="function"&&typeof t!="object",we=class extends df.NodeBase{constructor(e){super(ff.SCALAR),this.value=e}toJSON(e,n){return n?.keep?this.value:pf.toJS(this.value,e,n)}toString(){return String(this.value)}};we.BLOCK_FOLDED="BLOCK_FOLDED";we.BLOCK_LITERAL="BLOCK_LITERAL";we.PLAIN="PLAIN";we.QUOTE_DOUBLE="QUOTE_DOUBLE";we.QUOTE_SINGLE="QUOTE_SINGLE";Ms.Scalar=we;Ms.isScalarValue=hf});var wt=w(uo=>{"use strict";var mf=yt(),Ce=I(),co=$(),gf="tag:yaml.org,2002:";function yf(t,e,n){if(e){let s=n.filter(r=>r.tag===e),i=s.find(r=>!r.format)??s[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return n.find(s=>s.identify?.(t)&&!s.format)}function wf(t,e,n){if(Ce.isDocument(t)&&(t=t.contents),Ce.isNode(t))return t;if(Ce.isPair(t)){let u=n.schema[Ce.MAP].createNode?.(n.schema,null,n);return u.items.push(t),u}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:s,onAnchor:i,onTagObj:r,schema:o,sourceObjects:a}=n,l;if(s&&t&&typeof t=="object"){if(l=a.get(t),l)return l.anchor??(l.anchor=i(t)),new mf.Alias(l.anchor);l={anchor:null,node:null},a.set(t,l)}e?.startsWith("!!")&&(e=gf+e.slice(2));let c=yf(t,e,o.tags);if(!c){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let u=new co.Scalar(t);return l&&(l.node=u),u}c=t instanceof Map?o[Ce.MAP]:Symbol.iterator in Object(t)?o[Ce.SEQ]:o[Ce.MAP]}r&&(r(c),delete n.onTagObj);let f=c?.createNode?c.createNode(n.schema,t,n):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(n.schema,t,n):new co.Scalar(t);return e?f.tag=e:c.default||(f.tag=c.tag),l&&(l.node=f),f}uo.createNode=wf});var hn=w(pn=>{"use strict";var Sf=wt(),te=I(),bf=fn();function $s(t,e,n){let s=n;for(let i=e.length-1;i>=0;--i){let r=e[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){let o=[];o[r]=s,s=o}else s=new Map([[r,s]])}return Sf.createNode(s,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var fo=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,Ds=class extends bf.NodeBase{constructor(e,n){super(e),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(e){let n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(n.schema=e),n.items=n.items.map(s=>te.isNode(s)||te.isPair(s)?s.clone(e):s),this.range&&(n.range=this.range.slice()),n}addIn(e,n){if(fo(e))this.add(n);else{let[s,...i]=e,r=this.get(s,!0);if(te.isCollection(r))r.addIn(i,n);else if(r===void 0&&this.schema)this.set(s,$s(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}deleteIn(e){let[n,...s]=e;if(s.length===0)return this.delete(n);let i=this.get(n,!0);if(te.isCollection(i))return i.deleteIn(s);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}getIn(e,n){let[s,...i]=e,r=this.get(s,!0);return i.length===0?!n&&te.isScalar(r)?r.value:r:te.isCollection(r)?r.getIn(i,n):void 0}hasAllNullValues(e){return this.items.every(n=>{if(!te.isPair(n))return!1;let s=n.value;return s==null||e&&te.isScalar(s)&&s.value==null&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[n,...s]=e;if(s.length===0)return this.has(n);let i=this.get(n,!0);return te.isCollection(i)?i.hasIn(s):!1}setIn(e,n){let[s,...i]=e;if(i.length===0)this.set(s,n);else{let r=this.get(s,!0);if(te.isCollection(r))r.setIn(i,n);else if(r===void 0&&this.schema)this.set(s,$s(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}};pn.Collection=Ds;pn.collectionFromPath=$s;pn.isEmptyPath=fo});var St=w(mn=>{"use strict";var vf=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function qs(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var kf=(t,e,n)=>t.endsWith(`
5
- `)?qs(n,e):n.includes(`
3
+ var xu=Object.create;var Os=Object.defineProperty;var Fu=Object.getOwnPropertyDescriptor;var Uu=Object.getOwnPropertyNames;var ju=Object.getPrototypeOf,Yu=Object.prototype.hasOwnProperty;var ge=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var L=(t,e)=>()=>(t&&(e=t(t=0)),e);var w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Q=(t,e)=>{for(var n in e)Os(t,n,{get:e[n],enumerable:!0})},Hu=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Uu(e))!Yu.call(t,i)&&i!==n&&Os(t,i,{get:()=>e[i],enumerable:!(s=Fu(e,i))||s.enumerable});return t};var le=(t,e,n)=>(n=t!=null?xu(ju(t)):{},Hu(e||!t||!t.__esModule?Os(n,"default",{value:t,enumerable:!0}):n,t));import{existsSync as Gu}from"node:fs";import{resolve as ye}from"node:path";function ht(){return process.env.HIVE_HOME?ye(process.env.HIVE_HOME):Gu(ye(process.cwd(),"hive.yaml"))?process.cwd():ye(Vu,".hive")}function Gr(t){let e=process.env.HIVE_CONFIG||"hive.yaml";return ye(t,e)}function Vr(t){let n=(process.env.HIVE_CONFIG||"hive.yaml").match(/^hive-(.+)\.yaml$/)?.[1];return ye(t,n?`.env-${n}`:".env")}var Vu,P,j,Ny,Wr,z=L(()=>{"use strict";Vu=process.env.HOME??"/tmp";P=ht(),j=ye(P,"skills"),Ny=ye(P,".hive"),Wr=ye(import.meta.dirname,"..","seeds")});var O=w(F=>{"use strict";var Ns=Symbol.for("yaml.alias"),Jr=Symbol.for("yaml.document"),cn=Symbol.for("yaml.map"),Qr=Symbol.for("yaml.pair"),Ts=Symbol.for("yaml.scalar"),un=Symbol.for("yaml.seq"),ce=Symbol.for("yaml.node.type"),Wu=t=>!!t&&typeof t=="object"&&t[ce]===Ns,Ju=t=>!!t&&typeof t=="object"&&t[ce]===Jr,Qu=t=>!!t&&typeof t=="object"&&t[ce]===cn,zu=t=>!!t&&typeof t=="object"&&t[ce]===Qr,zr=t=>!!t&&typeof t=="object"&&t[ce]===Ts,Xu=t=>!!t&&typeof t=="object"&&t[ce]===un;function Xr(t){if(t&&typeof t=="object")switch(t[ce]){case cn:case un:return!0}return!1}function Zu(t){if(t&&typeof t=="object")switch(t[ce]){case Ns:case cn:case Ts:case un:return!0}return!1}var ef=t=>(zr(t)||Xr(t))&&!!t.anchor;F.ALIAS=Ns;F.DOC=Jr;F.MAP=cn;F.NODE_TYPE=ce;F.PAIR=Qr;F.SCALAR=Ts;F.SEQ=un;F.hasAnchor=ef;F.isAlias=Wu;F.isCollection=Xr;F.isDocument=Ju;F.isMap=Qu;F.isNode=Zu;F.isPair=zu;F.isScalar=zr;F.isSeq=Xu});var mt=w(Ls=>{"use strict";var q=O(),V=Symbol("break visit"),Zr=Symbol("skip children"),te=Symbol("remove node");function fn(t,e){let n=eo(e);q.isDocument(t)?He(null,t.contents,n,Object.freeze([t]))===te&&(t.contents=null):He(null,t,n,Object.freeze([]))}fn.BREAK=V;fn.SKIP=Zr;fn.REMOVE=te;function He(t,e,n,s){let i=to(t,e,n,s);if(q.isNode(i)||q.isPair(i))return no(t,s,i),He(t,i,n,s);if(typeof i!="symbol"){if(q.isCollection(e)){s=Object.freeze(s.concat(e));for(let r=0;r<e.items.length;++r){let o=He(r,e.items[r],n,s);if(typeof o=="number")r=o-1;else{if(o===V)return V;o===te&&(e.items.splice(r,1),r-=1)}}}else if(q.isPair(e)){s=Object.freeze(s.concat(e));let r=He("key",e.key,n,s);if(r===V)return V;r===te&&(e.key=null);let o=He("value",e.value,n,s);if(o===V)return V;o===te&&(e.value=null)}}return i}async function dn(t,e){let n=eo(e);q.isDocument(t)?await Ge(null,t.contents,n,Object.freeze([t]))===te&&(t.contents=null):await Ge(null,t,n,Object.freeze([]))}dn.BREAK=V;dn.SKIP=Zr;dn.REMOVE=te;async function Ge(t,e,n,s){let i=await to(t,e,n,s);if(q.isNode(i)||q.isPair(i))return no(t,s,i),Ge(t,i,n,s);if(typeof i!="symbol"){if(q.isCollection(e)){s=Object.freeze(s.concat(e));for(let r=0;r<e.items.length;++r){let o=await Ge(r,e.items[r],n,s);if(typeof o=="number")r=o-1;else{if(o===V)return V;o===te&&(e.items.splice(r,1),r-=1)}}}else if(q.isPair(e)){s=Object.freeze(s.concat(e));let r=await Ge("key",e.key,n,s);if(r===V)return V;r===te&&(e.key=null);let o=await Ge("value",e.value,n,s);if(o===V)return V;o===te&&(e.value=null)}}return i}function eo(t){return typeof t=="object"&&(t.Collection||t.Node||t.Value)?Object.assign({Alias:t.Node,Map:t.Node,Scalar:t.Node,Seq:t.Node},t.Value&&{Map:t.Value,Scalar:t.Value,Seq:t.Value},t.Collection&&{Map:t.Collection,Seq:t.Collection},t):t}function to(t,e,n,s){if(typeof n=="function")return n(t,e,s);if(q.isMap(e))return n.Map?.(t,e,s);if(q.isSeq(e))return n.Seq?.(t,e,s);if(q.isPair(e))return n.Pair?.(t,e,s);if(q.isScalar(e))return n.Scalar?.(t,e,s);if(q.isAlias(e))return n.Alias?.(t,e,s)}function no(t,e,n){let s=e[e.length-1];if(q.isCollection(s))s.items[t]=n;else if(q.isPair(s))t==="key"?s.key=n:s.value=n;else if(q.isDocument(s))s.contents=n;else{let i=q.isAlias(s)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}Ls.visit=fn;Ls.visitAsync=dn});var Cs=w(io=>{"use strict";var so=O(),tf=mt(),nf={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},sf=t=>t.replace(/[!,[\]{}]/g,e=>nf[e]),gt=class t{constructor(e,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,e),this.tags=Object.assign({},t.defaultTags,n)}clone(){let e=new t(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new t(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:t.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},t.defaultTags);break}return e}add(e,n){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let s=e.trim().split(/[ \t]+/),i=s.shift();switch(i){case"%TAG":{if(s.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;let[r,o]=s;return this.tags[r]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,s.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;let[r]=s;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{let o=/^\d+\.\d+$/.test(r);return n(6,`Unsupported YAML version ${r}`,o),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,n){if(e==="!")return"!";if(e[0]!=="!")return n(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(n(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&n("Verbatim tags must end with a >"),o)}let[,s,i]=e.match(/^(.*!)([^!]*)$/s);i||n(`The ${e} tag has no suffix`);let r=this.tags[s];if(r)try{return r+decodeURIComponent(i)}catch(o){return n(String(o)),null}return s==="!"?e:(n(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[n,s]of Object.entries(this.tags))if(e.startsWith(s))return n+sf(e.substring(s.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],s=Object.entries(this.tags),i;if(e&&s.length>0&&so.isNode(e.contents)){let r={};tf.visit(e.contents,(o,a)=>{so.isNode(a)&&a.tag&&(r[a.tag]=!0)}),i=Object.keys(r)}else i=[];for(let[r,o]of s)r==="!!"&&o==="tag:yaml.org,2002:"||(!e||i.some(a=>a.startsWith(o)))&&n.push(`%TAG ${r} ${o}`);return n.join(`
4
+ `)}};gt.defaultYaml={explicit:!1,version:"1.2"};gt.defaultTags={"!!":"tag:yaml.org,2002:"};io.Directives=gt});var pn=w(yt=>{"use strict";var ro=O(),rf=mt();function of(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(n)}return!0}function oo(t){let e=new Set;return rf.visit(t,{Value(n,s){s.anchor&&e.add(s.anchor)}}),e}function ao(t,e){for(let n=1;;++n){let s=`${t}${n}`;if(!e.has(s))return s}}function af(t,e){let n=[],s=new Map,i=null;return{onAnchor:r=>{n.push(r),i??(i=oo(t));let o=ao(e,i);return i.add(o),o},setAnchors:()=>{for(let r of n){let o=s.get(r);if(typeof o=="object"&&o.anchor&&(ro.isScalar(o.node)||ro.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:s}}yt.anchorIsValid=of;yt.anchorNames=oo;yt.createNodeAnchors=af;yt.findNewAnchor=ao});var Ps=w(lo=>{"use strict";function wt(t,e,n,s){if(s&&typeof s=="object")if(Array.isArray(s))for(let i=0,r=s.length;i<r;++i){let o=s[i],a=wt(t,s,String(i),o);a===void 0?delete s[i]:a!==o&&(s[i]=a)}else if(s instanceof Map)for(let i of Array.from(s.keys())){let r=s.get(i),o=wt(t,s,i,r);o===void 0?s.delete(i):o!==r&&s.set(i,o)}else if(s instanceof Set)for(let i of Array.from(s)){let r=wt(t,s,i,i);r===void 0?s.delete(i):r!==i&&(s.delete(i),s.add(r))}else for(let[i,r]of Object.entries(s)){let o=wt(t,s,i,r);o===void 0?delete s[i]:o!==r&&(s[i]=o)}return t.call(e,n,s)}lo.applyReviver=wt});var we=w(uo=>{"use strict";var lf=O();function co(t,e,n){if(Array.isArray(t))return t.map((s,i)=>co(s,String(i),n));if(t&&typeof t.toJSON=="function"){if(!n||!lf.hasAnchor(t))return t.toJSON(e,n);let s={aliasCount:0,count:1,res:void 0};n.anchors.set(t,s),n.onCreate=r=>{s.res=r,delete n.onCreate};let i=t.toJSON(e,n);return n.onCreate&&n.onCreate(i),i}return typeof t=="bigint"&&!n?.keep?Number(t):t}uo.toJS=co});var hn=w(po=>{"use strict";var cf=Ps(),fo=O(),uf=we(),Ms=class{constructor(e){Object.defineProperty(this,fo.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:n,maxAliasCount:s,onAnchor:i,reviver:r}={}){if(!fo.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},a=uf.toJS(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?cf.applyReviver(r,{"":a},"",a):a}};po.NodeBase=Ms});var St=w(ho=>{"use strict";var ff=pn(),df=mt(),Ve=O(),pf=hn(),hf=we(),$s=class extends pf.NodeBase{constructor(e){super(Ve.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,n){let s;n?.aliasResolveCache?s=n.aliasResolveCache:(s=[],df.visit(e,{Node:(r,o)=>{(Ve.isAlias(o)||Ve.hasAnchor(o))&&s.push(o)}}),n&&(n.aliasResolveCache=s));let i;for(let r of s){if(r===this)break;r.anchor===this.source&&(i=r)}return i}toJSON(e,n){if(!n)return{source:this.source};let{anchors:s,doc:i,maxAliasCount:r}=n,o=this.resolve(i,n);if(!o){let l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let a=s.get(o);if(a||(hf.toJS(o,null,n),a=s.get(o)),a?.res===void 0){let l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(r>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=mn(i,o,s)),a.count*a.aliasCount>r)){let l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return a.res}toString(e,n,s){let i=`*${this.source}`;if(e){if(ff.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(e.implicitKey)return`${i} `}return i}};function mn(t,e,n){if(Ve.isAlias(e)){let s=e.resolve(t),i=n&&s&&n.get(s);return i?i.count*i.aliasCount:0}else if(Ve.isCollection(e)){let s=0;for(let i of e.items){let r=mn(t,i,n);r>s&&(s=r)}return s}else if(Ve.isPair(e)){let s=mn(t,e.key,n),i=mn(t,e.value,n);return Math.max(s,i)}return 1}ho.Alias=$s});var $=w(Ds=>{"use strict";var mf=O(),gf=hn(),yf=we(),wf=t=>!t||typeof t!="function"&&typeof t!="object",Se=class extends gf.NodeBase{constructor(e){super(mf.SCALAR),this.value=e}toJSON(e,n){return n?.keep?this.value:yf.toJS(this.value,e,n)}toString(){return String(this.value)}};Se.BLOCK_FOLDED="BLOCK_FOLDED";Se.BLOCK_LITERAL="BLOCK_LITERAL";Se.PLAIN="PLAIN";Se.QUOTE_DOUBLE="QUOTE_DOUBLE";Se.QUOTE_SINGLE="QUOTE_SINGLE";Ds.Scalar=Se;Ds.isScalarValue=wf});var bt=w(go=>{"use strict";var Sf=St(),$e=O(),mo=$(),bf="tag:yaml.org,2002:";function vf(t,e,n){if(e){let s=n.filter(r=>r.tag===e),i=s.find(r=>!r.format)??s[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return n.find(s=>s.identify?.(t)&&!s.format)}function Ef(t,e,n){if($e.isDocument(t)&&(t=t.contents),$e.isNode(t))return t;if($e.isPair(t)){let u=n.schema[$e.MAP].createNode?.(n.schema,null,n);return u.items.push(t),u}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:s,onAnchor:i,onTagObj:r,schema:o,sourceObjects:a}=n,l;if(s&&t&&typeof t=="object"){if(l=a.get(t),l)return l.anchor??(l.anchor=i(t)),new Sf.Alias(l.anchor);l={anchor:null,node:null},a.set(t,l)}e?.startsWith("!!")&&(e=bf+e.slice(2));let c=vf(t,e,o.tags);if(!c){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let u=new mo.Scalar(t);return l&&(l.node=u),u}c=t instanceof Map?o[$e.MAP]:Symbol.iterator in Object(t)?o[$e.SEQ]:o[$e.MAP]}r&&(r(c),delete n.onTagObj);let f=c?.createNode?c.createNode(n.schema,t,n):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(n.schema,t,n):new mo.Scalar(t);return e?f.tag=e:c.default||(f.tag=c.tag),l&&(l.node=f),f}go.createNode=Ef});var yn=w(gn=>{"use strict";var kf=bt(),ne=O(),Af=hn();function qs(t,e,n){let s=n;for(let i=e.length-1;i>=0;--i){let r=e[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){let o=[];o[r]=s,s=o}else s=new Map([[r,s]])}return kf.createNode(s,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var yo=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,Rs=class extends Af.NodeBase{constructor(e,n){super(e),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(e){let n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(n.schema=e),n.items=n.items.map(s=>ne.isNode(s)||ne.isPair(s)?s.clone(e):s),this.range&&(n.range=this.range.slice()),n}addIn(e,n){if(yo(e))this.add(n);else{let[s,...i]=e,r=this.get(s,!0);if(ne.isCollection(r))r.addIn(i,n);else if(r===void 0&&this.schema)this.set(s,qs(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}deleteIn(e){let[n,...s]=e;if(s.length===0)return this.delete(n);let i=this.get(n,!0);if(ne.isCollection(i))return i.deleteIn(s);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}getIn(e,n){let[s,...i]=e,r=this.get(s,!0);return i.length===0?!n&&ne.isScalar(r)?r.value:r:ne.isCollection(r)?r.getIn(i,n):void 0}hasAllNullValues(e){return this.items.every(n=>{if(!ne.isPair(n))return!1;let s=n.value;return s==null||e&&ne.isScalar(s)&&s.value==null&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[n,...s]=e;if(s.length===0)return this.has(n);let i=this.get(n,!0);return ne.isCollection(i)?i.hasIn(s):!1}setIn(e,n){let[s,...i]=e;if(i.length===0)this.set(s,n);else{let r=this.get(s,!0);if(ne.isCollection(r))r.setIn(i,n);else if(r===void 0&&this.schema)this.set(s,qs(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}};gn.Collection=Rs;gn.collectionFromPath=qs;gn.isEmptyPath=yo});var vt=w(wn=>{"use strict";var _f=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function Ks(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var If=(t,e,n)=>t.endsWith(`
5
+ `)?Ks(n,e):n.includes(`
6
6
  `)?`
7
- `+qs(n,e):(t.endsWith(" ")?"":" ")+n;mn.indentComment=qs;mn.lineComment=kf;mn.stringifyComment=vf});var ho=w(bt=>{"use strict";var Ef="flow",Rs="block",gn="quoted";function Af(t,e,n="flow",{indentAtStart:s,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:a}={}){if(!i||i<0)return t;i<r&&(r=0);let l=Math.max(1+r,1+i-e.length);if(t.length<=l)return t;let c=[],f={},u=i-e.length;typeof s=="number"&&(s>i-Math.max(2,r)?c.push(0):u=i-s);let d,h,y=!1,p=-1,m=-1,S=-1;n===Rs&&(p=po(t,p,e.length),p!==-1&&(u=p+l));for(let A;A=t[p+=1];){if(n===gn&&A==="\\"){switch(m=p,t[p+1]){case"x":p+=3;break;case"u":p+=5;break;case"U":p+=9;break;default:p+=1}S=p}if(A===`
8
- `)n===Rs&&(p=po(t,p,e.length)),u=p+e.length+l,d=void 0;else{if(A===" "&&h&&h!==" "&&h!==`
7
+ `+Ks(n,e):(t.endsWith(" ")?"":" ")+n;wn.indentComment=Ks;wn.lineComment=If;wn.stringifyComment=_f});var So=w(Et=>{"use strict";var Of="flow",Bs="block",Sn="quoted";function Nf(t,e,n="flow",{indentAtStart:s,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:a}={}){if(!i||i<0)return t;i<r&&(r=0);let l=Math.max(1+r,1+i-e.length);if(t.length<=l)return t;let c=[],f={},u=i-e.length;typeof s=="number"&&(s>i-Math.max(2,r)?c.push(0):u=i-s);let d,h,y=!1,p=-1,m=-1,S=-1;n===Bs&&(p=wo(t,p,e.length),p!==-1&&(u=p+l));for(let A;A=t[p+=1];){if(n===Sn&&A==="\\"){switch(m=p,t[p+1]){case"x":p+=3;break;case"u":p+=5;break;case"U":p+=9;break;default:p+=1}S=p}if(A===`
8
+ `)n===Bs&&(p=wo(t,p,e.length)),u=p+e.length+l,d=void 0;else{if(A===" "&&h&&h!==" "&&h!==`
9
9
  `&&h!==" "){let _=t[p+1];_&&_!==" "&&_!==`
10
- `&&_!==" "&&(d=p)}if(p>=u)if(d)c.push(d),u=d+l,d=void 0;else if(n===gn){for(;h===" "||h===" ";)h=A,A=t[p+=1],y=!0;let _=p>S+1?p-2:m-1;if(f[_])return t;c.push(_),f[_]=!0,u=_+l,d=void 0}else y=!0}h=A}if(y&&a&&a(),c.length===0)return t;o&&o();let v=t.slice(0,c[0]);for(let A=0;A<c.length;++A){let _=c[A],E=c[A+1]||t.length;_===0?v=`
11
- ${e}${t.slice(0,E)}`:(n===gn&&f[_]&&(v+=`${t[_]}\\`),v+=`
12
- ${e}${t.slice(_+1,E)}`)}return v}function po(t,e,n){let s=e,i=e+1,r=t[i];for(;r===" "||r===" ";)if(e<i+n)r=t[++e];else{do r=t[++e];while(r&&r!==`
13
- `);s=e,i=e+1,r=t[i]}return s}bt.FOLD_BLOCK=Rs;bt.FOLD_FLOW=Ef;bt.FOLD_QUOTED=gn;bt.foldFlowLines=Af});var kt=w(mo=>{"use strict";var z=$(),Se=ho(),wn=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),Sn=t=>/^(%|---|\.\.\.)/m.test(t);function _f(t,e,n){if(!e||e<0)return!1;let s=e-n,i=t.length;if(i<=s)return!1;for(let r=0,o=0;r<i;++r)if(t[r]===`
14
- `){if(r-o>s)return!0;if(o=r+1,i-o<=s)return!1}return!0}function vt(t,e){let n=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return n;let{implicitKey:s}=e,i=e.options.doubleQuotedMinMultiLineLength,r=e.indent||(Sn(t)?" ":""),o="",a=0;for(let l=0,c=n[l];c;c=n[++l])if(c===" "&&n[l+1]==="\\"&&n[l+2]==="n"&&(o+=n.slice(a,l)+"\\ ",l+=1,a=l,c="\\"),c==="\\")switch(n[l+1]){case"u":{o+=n.slice(a,l);let f=n.substr(l+2,4);switch(f){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:f.substr(0,2)==="00"?o+="\\x"+f.substr(2):o+=n.substr(l,6)}l+=5,a=l+1}break;case"n":if(s||n[l+2]==='"'||n.length<i)l+=1;else{for(o+=n.slice(a,l)+`
10
+ `&&_!==" "&&(d=p)}if(p>=u)if(d)c.push(d),u=d+l,d=void 0;else if(n===Sn){for(;h===" "||h===" ";)h=A,A=t[p+=1],y=!0;let _=p>S+1?p-2:m-1;if(f[_])return t;c.push(_),f[_]=!0,u=_+l,d=void 0}else y=!0}h=A}if(y&&a&&a(),c.length===0)return t;o&&o();let v=t.slice(0,c[0]);for(let A=0;A<c.length;++A){let _=c[A],k=c[A+1]||t.length;_===0?v=`
11
+ ${e}${t.slice(0,k)}`:(n===Sn&&f[_]&&(v+=`${t[_]}\\`),v+=`
12
+ ${e}${t.slice(_+1,k)}`)}return v}function wo(t,e,n){let s=e,i=e+1,r=t[i];for(;r===" "||r===" ";)if(e<i+n)r=t[++e];else{do r=t[++e];while(r&&r!==`
13
+ `);s=e,i=e+1,r=t[i]}return s}Et.FOLD_BLOCK=Bs;Et.FOLD_FLOW=Of;Et.FOLD_QUOTED=Sn;Et.foldFlowLines=Nf});var At=w(bo=>{"use strict";var X=$(),be=So(),vn=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),En=t=>/^(%|---|\.\.\.)/m.test(t);function Tf(t,e,n){if(!e||e<0)return!1;let s=e-n,i=t.length;if(i<=s)return!1;for(let r=0,o=0;r<i;++r)if(t[r]===`
14
+ `){if(r-o>s)return!0;if(o=r+1,i-o<=s)return!1}return!0}function kt(t,e){let n=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return n;let{implicitKey:s}=e,i=e.options.doubleQuotedMinMultiLineLength,r=e.indent||(En(t)?" ":""),o="",a=0;for(let l=0,c=n[l];c;c=n[++l])if(c===" "&&n[l+1]==="\\"&&n[l+2]==="n"&&(o+=n.slice(a,l)+"\\ ",l+=1,a=l,c="\\"),c==="\\")switch(n[l+1]){case"u":{o+=n.slice(a,l);let f=n.substr(l+2,4);switch(f){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:f.substr(0,2)==="00"?o+="\\x"+f.substr(2):o+=n.substr(l,6)}l+=5,a=l+1}break;case"n":if(s||n[l+2]==='"'||n.length<i)l+=1;else{for(o+=n.slice(a,l)+`
15
15
 
16
16
  `;n[l+2]==="\\"&&n[l+3]==="n"&&n[l+4]!=='"';)o+=`
17
- `,l+=2;o+=r,n[l+2]===" "&&(o+="\\"),l+=1,a=l+1}break;default:l+=1}return o=a?o+n.slice(a):n,s?o:Se.foldFlowLines(o,r,Se.FOLD_QUOTED,wn(e,!1))}function Ks(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
18
- `)||/[ \t]\n|\n[ \t]/.test(t))return vt(t,e);let n=e.indent||(Sn(t)?" ":""),s="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
19
- ${n}`)+"'";return e.implicitKey?s:Se.foldFlowLines(s,n,Se.FOLD_FLOW,wn(e,!1))}function Ve(t,e){let{singleQuote:n}=e.options,s;if(n===!1)s=vt;else{let i=t.includes('"'),r=t.includes("'");i&&!r?s=Ks:r&&!i?s=vt:s=n?Ks:vt}return s(t,e)}var Bs;try{Bs=new RegExp(`(^|(?<!
17
+ `,l+=2;o+=r,n[l+2]===" "&&(o+="\\"),l+=1,a=l+1}break;default:l+=1}return o=a?o+n.slice(a):n,s?o:be.foldFlowLines(o,r,be.FOLD_QUOTED,vn(e,!1))}function xs(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
18
+ `)||/[ \t]\n|\n[ \t]/.test(t))return kt(t,e);let n=e.indent||(En(t)?" ":""),s="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
19
+ ${n}`)+"'";return e.implicitKey?s:be.foldFlowLines(s,n,be.FOLD_FLOW,vn(e,!1))}function We(t,e){let{singleQuote:n}=e.options,s;if(n===!1)s=kt;else{let i=t.includes('"'),r=t.includes("'");i&&!r?s=xs:r&&!i?s=kt:s=n?xs:kt}return s(t,e)}var Fs;try{Fs=new RegExp(`(^|(?<!
20
20
  ))
21
21
  +(?!
22
- |$)`,"g")}catch{Bs=/\n+(?!\n|$)/g}function yn({comment:t,type:e,value:n},s,i,r){let{blockQuote:o,commentString:a,lineWidth:l}=s.options;if(!o||/\n[\t ]+$/.test(n))return Ve(n,s);let c=s.indent||(s.forceBlockIndent||Sn(n)?" ":""),f=o==="literal"?!0:o==="folded"||e===z.Scalar.BLOCK_FOLDED?!1:e===z.Scalar.BLOCK_LITERAL?!0:!_f(n,l,c.length);if(!n)return f?`|
22
+ |$)`,"g")}catch{Fs=/\n+(?!\n|$)/g}function bn({comment:t,type:e,value:n},s,i,r){let{blockQuote:o,commentString:a,lineWidth:l}=s.options;if(!o||/\n[\t ]+$/.test(n))return We(n,s);let c=s.indent||(s.forceBlockIndent||En(n)?" ":""),f=o==="literal"?!0:o==="folded"||e===X.Scalar.BLOCK_FOLDED?!1:e===X.Scalar.BLOCK_LITERAL?!0:!Tf(n,l,c.length);if(!n)return f?`|
23
23
  `:`>
24
- `;let u,d;for(d=n.length;d>0;--d){let E=n[d-1];if(E!==`
25
- `&&E!==" "&&E!==" ")break}let h=n.substring(d),y=h.indexOf(`
24
+ `;let u,d;for(d=n.length;d>0;--d){let k=n[d-1];if(k!==`
25
+ `&&k!==" "&&k!==" ")break}let h=n.substring(d),y=h.indexOf(`
26
26
  `);y===-1?u="-":n===h||y!==h.length-1?(u="+",r&&r()):u="",h&&(n=n.slice(0,-h.length),h[h.length-1]===`
27
- `&&(h=h.slice(0,-1)),h=h.replace(Bs,`$&${c}`));let p=!1,m,S=-1;for(m=0;m<n.length;++m){let E=n[m];if(E===" ")p=!0;else if(E===`
28
- `)S=m;else break}let v=n.substring(0,S<m?S+1:m);v&&(n=n.substring(v.length),v=v.replace(/\n+/g,`$&${c}`));let _=(p?c?"2":"1":"")+u;if(t&&(_+=" "+a(t.replace(/ ?[\r\n]+/g," ")),i&&i()),!f){let E=n.replace(/\n+/g,`
29
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${c}`),O=!1,T=wn(s,!0);o!=="folded"&&e!==z.Scalar.BLOCK_FOLDED&&(T.onOverflow=()=>{O=!0});let k=Se.foldFlowLines(`${v}${E}${h}`,c,Se.FOLD_BLOCK,T);if(!O)return`>${_}
30
- ${c}${k}`}return n=n.replace(/\n+/g,`$&${c}`),`|${_}
31
- ${c}${v}${n}${h}`}function Of(t,e,n,s){let{type:i,value:r}=t,{actualString:o,implicitKey:a,indent:l,indentStep:c,inFlow:f}=e;if(a&&r.includes(`
32
- `)||f&&/[[\]{},]/.test(r))return Ve(r,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return a||f||!r.includes(`
33
- `)?Ve(r,e):yn(t,e,n,s);if(!a&&!f&&i!==z.Scalar.PLAIN&&r.includes(`
34
- `))return yn(t,e,n,s);if(Sn(r)){if(l==="")return e.forceBlockIndent=!0,yn(t,e,n,s);if(a&&l===c)return Ve(r,e)}let u=r.replace(/\n+/g,`$&
35
- ${l}`);if(o){let d=p=>p.default&&p.tag!=="tag:yaml.org,2002:str"&&p.test?.test(u),{compat:h,tags:y}=e.doc.schema;if(y.some(d)||h?.some(d))return Ve(r,e)}return a?u:Se.foldFlowLines(u,l,Se.FOLD_FLOW,wn(e,!1))}function If(t,e,n,s){let{implicitKey:i,inFlow:r}=e,o=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:a}=t;a!==z.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=z.Scalar.QUOTE_DOUBLE);let l=f=>{switch(f){case z.Scalar.BLOCK_FOLDED:case z.Scalar.BLOCK_LITERAL:return i||r?Ve(o.value,e):yn(o,e,n,s);case z.Scalar.QUOTE_DOUBLE:return vt(o.value,e);case z.Scalar.QUOTE_SINGLE:return Ks(o.value,e);case z.Scalar.PLAIN:return Of(o,e,n,s);default:return null}},c=l(a);if(c===null){let{defaultKeyType:f,defaultStringType:u}=e.options,d=i&&f||u;if(c=l(d),c===null)throw new Error(`Unsupported default string type ${d}`)}return c}mo.stringifyString=If});var Et=w(xs=>{"use strict";var Tf=un(),be=I(),Nf=St(),Lf=kt();function Cf(t,e){let n=Object.assign({blockQuote:!0,commentString:Nf.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e),s;switch(n.collectionStyle){case"block":s=!1;break;case"flow":s=!0;break;default:s=null}return{anchors:new Set,doc:t,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:s,options:n}}function Pf(t,e){if(e.tag){let i=t.filter(r=>r.tag===e.tag);if(i.length>0)return i.find(r=>r.format===e.format)??i[0]}let n,s;if(be.isScalar(e)){s=e.value;let i=t.filter(r=>r.identify?.(s));if(i.length>1){let r=i.filter(o=>o.test);r.length>0&&(i=r)}n=i.find(r=>r.format===e.format)??i.find(r=>!r.format)}else s=e,n=t.find(i=>i.nodeClass&&s instanceof i.nodeClass);if(!n){let i=s?.constructor?.name??(s===null?"null":typeof s);throw new Error(`Tag not resolved for ${i} value`)}return n}function Mf(t,e,{anchors:n,doc:s}){if(!s.directives)return"";let i=[],r=(be.isScalar(t)||be.isCollection(t))&&t.anchor;r&&Tf.anchorIsValid(r)&&(n.add(r),i.push(`&${r}`));let o=t.tag??(e.default?null:e.tag);return o&&i.push(s.directives.tagString(o)),i.join(" ")}function $f(t,e,n,s){if(be.isPair(t))return t.toString(e,n,s);if(be.isAlias(t)){if(e.doc.directives)return t.toString(e);if(e.resolvedAliases?.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let i,r=be.isNode(t)?t:e.doc.createNode(t,{onTagObj:l=>i=l});i??(i=Pf(e.doc.schema.tags,r));let o=Mf(r,i,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof i.stringify=="function"?i.stringify(r,e,n,s):be.isScalar(r)?Lf.stringifyString(r,e,n,s):r.toString(e,n,s);return o?be.isScalar(r)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
36
- ${e.indent}${a}`:a}xs.createStringifyContext=Cf;xs.stringify=$f});var So=w(wo=>{"use strict";var ue=I(),go=$(),yo=Et(),At=St();function Df({key:t,value:e},n,s,i){let{allNullValues:r,doc:o,indent:a,indentStep:l,options:{commentString:c,indentSeq:f,simpleKeys:u}}=n,d=ue.isNode(t)&&t.comment||null;if(u){if(d)throw new Error("With simple keys, key nodes cannot have comments");if(ue.isCollection(t)||!ue.isNode(t)&&typeof t=="object"){let T="With simple keys, collection cannot be used as a key value";throw new Error(T)}}let h=!u&&(!t||d&&e==null&&!n.inFlow||ue.isCollection(t)||(ue.isScalar(t)?t.type===go.Scalar.BLOCK_FOLDED||t.type===go.Scalar.BLOCK_LITERAL:typeof t=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!h&&(u||!r),indent:a+l});let y=!1,p=!1,m=yo.stringify(t,n,()=>y=!0,()=>p=!0);if(!h&&!n.inFlow&&m.length>1024){if(u)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");h=!0}if(n.inFlow){if(r||e==null)return y&&s&&s(),m===""?"?":h?`? ${m}`:m}else if(r&&!u||e==null&&h)return m=`? ${m}`,d&&!y?m+=At.lineComment(m,n.indent,c(d)):p&&i&&i(),m;y&&(d=null),h?(d&&(m+=At.lineComment(m,n.indent,c(d))),m=`? ${m}
37
- ${a}:`):(m=`${m}:`,d&&(m+=At.lineComment(m,n.indent,c(d))));let S,v,A;ue.isNode(e)?(S=!!e.spaceBefore,v=e.commentBefore,A=e.comment):(S=!1,v=null,A=null,e&&typeof e=="object"&&(e=o.createNode(e))),n.implicitKey=!1,!h&&!d&&ue.isScalar(e)&&(n.indentAtStart=m.length+1),p=!1,!f&&l.length>=2&&!n.inFlow&&!h&&ue.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(n.indent=n.indent.substring(2));let _=!1,E=yo.stringify(e,n,()=>_=!0,()=>p=!0),O=" ";if(d||S||v){if(O=S?`
38
- `:"",v){let T=c(v);O+=`
39
- ${At.indentComment(T,n.indent)}`}E===""&&!n.inFlow?O===`
40
- `&&A&&(O=`
27
+ `&&(h=h.slice(0,-1)),h=h.replace(Fs,`$&${c}`));let p=!1,m,S=-1;for(m=0;m<n.length;++m){let k=n[m];if(k===" ")p=!0;else if(k===`
28
+ `)S=m;else break}let v=n.substring(0,S<m?S+1:m);v&&(n=n.substring(v.length),v=v.replace(/\n+/g,`$&${c}`));let _=(p?c?"2":"1":"")+u;if(t&&(_+=" "+a(t.replace(/ ?[\r\n]+/g," ")),i&&i()),!f){let k=n.replace(/\n+/g,`
29
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${c}`),I=!1,N=vn(s,!0);o!=="folded"&&e!==X.Scalar.BLOCK_FOLDED&&(N.onOverflow=()=>{I=!0});let E=be.foldFlowLines(`${v}${k}${h}`,c,be.FOLD_BLOCK,N);if(!I)return`>${_}
30
+ ${c}${E}`}return n=n.replace(/\n+/g,`$&${c}`),`|${_}
31
+ ${c}${v}${n}${h}`}function Lf(t,e,n,s){let{type:i,value:r}=t,{actualString:o,implicitKey:a,indent:l,indentStep:c,inFlow:f}=e;if(a&&r.includes(`
32
+ `)||f&&/[[\]{},]/.test(r))return We(r,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return a||f||!r.includes(`
33
+ `)?We(r,e):bn(t,e,n,s);if(!a&&!f&&i!==X.Scalar.PLAIN&&r.includes(`
34
+ `))return bn(t,e,n,s);if(En(r)){if(l==="")return e.forceBlockIndent=!0,bn(t,e,n,s);if(a&&l===c)return We(r,e)}let u=r.replace(/\n+/g,`$&
35
+ ${l}`);if(o){let d=p=>p.default&&p.tag!=="tag:yaml.org,2002:str"&&p.test?.test(u),{compat:h,tags:y}=e.doc.schema;if(y.some(d)||h?.some(d))return We(r,e)}return a?u:be.foldFlowLines(u,l,be.FOLD_FLOW,vn(e,!1))}function Cf(t,e,n,s){let{implicitKey:i,inFlow:r}=e,o=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:a}=t;a!==X.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=X.Scalar.QUOTE_DOUBLE);let l=f=>{switch(f){case X.Scalar.BLOCK_FOLDED:case X.Scalar.BLOCK_LITERAL:return i||r?We(o.value,e):bn(o,e,n,s);case X.Scalar.QUOTE_DOUBLE:return kt(o.value,e);case X.Scalar.QUOTE_SINGLE:return xs(o.value,e);case X.Scalar.PLAIN:return Lf(o,e,n,s);default:return null}},c=l(a);if(c===null){let{defaultKeyType:f,defaultStringType:u}=e.options,d=i&&f||u;if(c=l(d),c===null)throw new Error(`Unsupported default string type ${d}`)}return c}bo.stringifyString=Cf});var _t=w(Us=>{"use strict";var Pf=pn(),ve=O(),Mf=vt(),$f=At();function Df(t,e){let n=Object.assign({blockQuote:!0,commentString:Mf.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e),s;switch(n.collectionStyle){case"block":s=!1;break;case"flow":s=!0;break;default:s=null}return{anchors:new Set,doc:t,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:s,options:n}}function qf(t,e){if(e.tag){let i=t.filter(r=>r.tag===e.tag);if(i.length>0)return i.find(r=>r.format===e.format)??i[0]}let n,s;if(ve.isScalar(e)){s=e.value;let i=t.filter(r=>r.identify?.(s));if(i.length>1){let r=i.filter(o=>o.test);r.length>0&&(i=r)}n=i.find(r=>r.format===e.format)??i.find(r=>!r.format)}else s=e,n=t.find(i=>i.nodeClass&&s instanceof i.nodeClass);if(!n){let i=s?.constructor?.name??(s===null?"null":typeof s);throw new Error(`Tag not resolved for ${i} value`)}return n}function Rf(t,e,{anchors:n,doc:s}){if(!s.directives)return"";let i=[],r=(ve.isScalar(t)||ve.isCollection(t))&&t.anchor;r&&Pf.anchorIsValid(r)&&(n.add(r),i.push(`&${r}`));let o=t.tag??(e.default?null:e.tag);return o&&i.push(s.directives.tagString(o)),i.join(" ")}function Kf(t,e,n,s){if(ve.isPair(t))return t.toString(e,n,s);if(ve.isAlias(t)){if(e.doc.directives)return t.toString(e);if(e.resolvedAliases?.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let i,r=ve.isNode(t)?t:e.doc.createNode(t,{onTagObj:l=>i=l});i??(i=qf(e.doc.schema.tags,r));let o=Rf(r,i,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof i.stringify=="function"?i.stringify(r,e,n,s):ve.isScalar(r)?$f.stringifyString(r,e,n,s):r.toString(e,n,s);return o?ve.isScalar(r)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
36
+ ${e.indent}${a}`:a}Us.createStringifyContext=Df;Us.stringify=Kf});var Ao=w(ko=>{"use strict";var ue=O(),vo=$(),Eo=_t(),It=vt();function Bf({key:t,value:e},n,s,i){let{allNullValues:r,doc:o,indent:a,indentStep:l,options:{commentString:c,indentSeq:f,simpleKeys:u}}=n,d=ue.isNode(t)&&t.comment||null;if(u){if(d)throw new Error("With simple keys, key nodes cannot have comments");if(ue.isCollection(t)||!ue.isNode(t)&&typeof t=="object"){let N="With simple keys, collection cannot be used as a key value";throw new Error(N)}}let h=!u&&(!t||d&&e==null&&!n.inFlow||ue.isCollection(t)||(ue.isScalar(t)?t.type===vo.Scalar.BLOCK_FOLDED||t.type===vo.Scalar.BLOCK_LITERAL:typeof t=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!h&&(u||!r),indent:a+l});let y=!1,p=!1,m=Eo.stringify(t,n,()=>y=!0,()=>p=!0);if(!h&&!n.inFlow&&m.length>1024){if(u)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");h=!0}if(n.inFlow){if(r||e==null)return y&&s&&s(),m===""?"?":h?`? ${m}`:m}else if(r&&!u||e==null&&h)return m=`? ${m}`,d&&!y?m+=It.lineComment(m,n.indent,c(d)):p&&i&&i(),m;y&&(d=null),h?(d&&(m+=It.lineComment(m,n.indent,c(d))),m=`? ${m}
37
+ ${a}:`):(m=`${m}:`,d&&(m+=It.lineComment(m,n.indent,c(d))));let S,v,A;ue.isNode(e)?(S=!!e.spaceBefore,v=e.commentBefore,A=e.comment):(S=!1,v=null,A=null,e&&typeof e=="object"&&(e=o.createNode(e))),n.implicitKey=!1,!h&&!d&&ue.isScalar(e)&&(n.indentAtStart=m.length+1),p=!1,!f&&l.length>=2&&!n.inFlow&&!h&&ue.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(n.indent=n.indent.substring(2));let _=!1,k=Eo.stringify(e,n,()=>_=!0,()=>p=!0),I=" ";if(d||S||v){if(I=S?`
38
+ `:"",v){let N=c(v);I+=`
39
+ ${It.indentComment(N,n.indent)}`}k===""&&!n.inFlow?I===`
40
+ `&&A&&(I=`
41
41
 
42
- `):O+=`
43
- ${n.indent}`}else if(!h&&ue.isCollection(e)){let T=E[0],k=E.indexOf(`
44
- `),M=k!==-1,me=n.inFlow??e.flow??e.items.length===0;if(M||!me){let je=!1;if(M&&(T==="&"||T==="!")){let D=E.indexOf(" ");T==="&"&&D!==-1&&D<k&&E[D+1]==="!"&&(D=E.indexOf(" ",D+1)),(D===-1||k<D)&&(je=!0)}je||(O=`
45
- ${n.indent}`)}}else(E===""||E[0]===`
46
- `)&&(O="");return m+=O+E,n.inFlow?_&&s&&s():A&&!_?m+=At.lineComment(m,n.indent,c(A)):p&&i&&i(),m}wo.stringifyPair=Df});var Us=w(Fs=>{"use strict";var bo=ge("process");function qf(t,...e){t==="debug"&&console.log(...e)}function Rf(t,e){(t==="debug"||t==="warn")&&(typeof bo.emitWarning=="function"?bo.emitWarning(e):console.warn(e))}Fs.debug=qf;Fs.warn=Rf});var En=w(kn=>{"use strict";var _t=I(),vo=$(),bn="<<",vn={identify:t=>t===bn||typeof t=="symbol"&&t.description===bn,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new vo.Scalar(Symbol(bn)),{addToJSMap:ko}),stringify:()=>bn},Kf=(t,e)=>(vn.identify(e)||_t.isScalar(e)&&(!e.type||e.type===vo.Scalar.PLAIN)&&vn.identify(e.value))&&t?.doc.schema.tags.some(n=>n.tag===vn.tag&&n.default);function ko(t,e,n){if(n=t&&_t.isAlias(n)?n.resolve(t.doc):n,_t.isSeq(n))for(let s of n.items)js(t,e,s);else if(Array.isArray(n))for(let s of n)js(t,e,s);else js(t,e,n)}function js(t,e,n){let s=t&&_t.isAlias(n)?n.resolve(t.doc):n;if(!_t.isMap(s))throw new Error("Merge sources must be maps or map aliases");let i=s.toJSON(null,t,Map);for(let[r,o]of i)e instanceof Map?e.has(r)||e.set(r,o):e instanceof Set?e.add(r):Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}kn.addMergeToJSMap=ko;kn.isMergeKey=Kf;kn.merge=vn});var Hs=w(_o=>{"use strict";var Bf=Us(),Eo=En(),xf=Et(),Ao=I(),Ys=ye();function Ff(t,e,{key:n,value:s}){if(Ao.isNode(n)&&n.addToJSMap)n.addToJSMap(t,e,s);else if(Eo.isMergeKey(t,n))Eo.addMergeToJSMap(t,e,s);else{let i=Ys.toJS(n,"",t);if(e instanceof Map)e.set(i,Ys.toJS(s,i,t));else if(e instanceof Set)e.add(i);else{let r=Uf(n,i,t),o=Ys.toJS(s,r,t);r in e?Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[r]=o}}return e}function Uf(t,e,n){if(e===null)return"";if(typeof e!="object")return String(e);if(Ao.isNode(t)&&n?.doc){let s=xf.createStringifyContext(n.doc,{});s.anchors=new Set;for(let r of n.anchors.keys())s.anchors.add(r.anchor);s.inFlow=!0,s.inStringifyKey=!0;let i=t.toString(s);if(!n.mapKeyWarned){let r=JSON.stringify(i);r.length>40&&(r=r.substring(0,36)+'..."'),Bf.warn(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return i}return JSON.stringify(e)}_o.addPairToJSMap=Ff});var ve=w(Gs=>{"use strict";var Oo=wt(),jf=So(),Yf=Hs(),An=I();function Hf(t,e,n){let s=Oo.createNode(t,void 0,n),i=Oo.createNode(e,void 0,n);return new _n(s,i)}var _n=class t{constructor(e,n=null){Object.defineProperty(this,An.NODE_TYPE,{value:An.PAIR}),this.key=e,this.value=n}clone(e){let{key:n,value:s}=this;return An.isNode(n)&&(n=n.clone(e)),An.isNode(s)&&(s=s.clone(e)),new t(n,s)}toJSON(e,n){let s=n?.mapAsMap?new Map:{};return Yf.addPairToJSMap(n,s,this)}toString(e,n,s){return e?.doc?jf.stringifyPair(this,e,n,s):JSON.stringify(this)}};Gs.Pair=_n;Gs.createPair=Hf});var Vs=w(To=>{"use strict";var Pe=I(),Io=Et(),On=St();function Gf(t,e,n){return(e.inFlow??t.flow?Wf:Vf)(t,e,n)}function Vf({comment:t,items:e},n,{blockItemPrefix:s,flowChars:i,itemIndent:r,onChompKeep:o,onComment:a}){let{indent:l,options:{commentString:c}}=n,f=Object.assign({},n,{indent:r,type:null}),u=!1,d=[];for(let y=0;y<e.length;++y){let p=e[y],m=null;if(Pe.isNode(p))!u&&p.spaceBefore&&d.push(""),In(n,d,p.commentBefore,u),p.comment&&(m=p.comment);else if(Pe.isPair(p)){let v=Pe.isNode(p.key)?p.key:null;v&&(!u&&v.spaceBefore&&d.push(""),In(n,d,v.commentBefore,u))}u=!1;let S=Io.stringify(p,f,()=>m=null,()=>u=!0);m&&(S+=On.lineComment(S,r,c(m))),u&&m&&(u=!1),d.push(s+S)}let h;if(d.length===0)h=i.start+i.end;else{h=d[0];for(let y=1;y<d.length;++y){let p=d[y];h+=p?`
42
+ `):I+=`
43
+ ${n.indent}`}else if(!h&&ue.isCollection(e)){let N=k[0],E=k.indexOf(`
44
+ `),M=E!==-1,me=n.inFlow??e.flow??e.items.length===0;if(M||!me){let Ye=!1;if(M&&(N==="&"||N==="!")){let D=k.indexOf(" ");N==="&"&&D!==-1&&D<E&&k[D+1]==="!"&&(D=k.indexOf(" ",D+1)),(D===-1||E<D)&&(Ye=!0)}Ye||(I=`
45
+ ${n.indent}`)}}else(k===""||k[0]===`
46
+ `)&&(I="");return m+=I+k,n.inFlow?_&&s&&s():A&&!_?m+=It.lineComment(m,n.indent,c(A)):p&&i&&i(),m}ko.stringifyPair=Bf});var Ys=w(js=>{"use strict";var _o=ge("process");function xf(t,...e){t==="debug"&&console.log(...e)}function Ff(t,e){(t==="debug"||t==="warn")&&(typeof _o.emitWarning=="function"?_o.emitWarning(e):console.warn(e))}js.debug=xf;js.warn=Ff});var In=w(_n=>{"use strict";var Ot=O(),Io=$(),kn="<<",An={identify:t=>t===kn||typeof t=="symbol"&&t.description===kn,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Io.Scalar(Symbol(kn)),{addToJSMap:Oo}),stringify:()=>kn},Uf=(t,e)=>(An.identify(e)||Ot.isScalar(e)&&(!e.type||e.type===Io.Scalar.PLAIN)&&An.identify(e.value))&&t?.doc.schema.tags.some(n=>n.tag===An.tag&&n.default);function Oo(t,e,n){if(n=t&&Ot.isAlias(n)?n.resolve(t.doc):n,Ot.isSeq(n))for(let s of n.items)Hs(t,e,s);else if(Array.isArray(n))for(let s of n)Hs(t,e,s);else Hs(t,e,n)}function Hs(t,e,n){let s=t&&Ot.isAlias(n)?n.resolve(t.doc):n;if(!Ot.isMap(s))throw new Error("Merge sources must be maps or map aliases");let i=s.toJSON(null,t,Map);for(let[r,o]of i)e instanceof Map?e.has(r)||e.set(r,o):e instanceof Set?e.add(r):Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}_n.addMergeToJSMap=Oo;_n.isMergeKey=Uf;_n.merge=An});var Vs=w(Lo=>{"use strict";var jf=Ys(),No=In(),Yf=_t(),To=O(),Gs=we();function Hf(t,e,{key:n,value:s}){if(To.isNode(n)&&n.addToJSMap)n.addToJSMap(t,e,s);else if(No.isMergeKey(t,n))No.addMergeToJSMap(t,e,s);else{let i=Gs.toJS(n,"",t);if(e instanceof Map)e.set(i,Gs.toJS(s,i,t));else if(e instanceof Set)e.add(i);else{let r=Gf(n,i,t),o=Gs.toJS(s,r,t);r in e?Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[r]=o}}return e}function Gf(t,e,n){if(e===null)return"";if(typeof e!="object")return String(e);if(To.isNode(t)&&n?.doc){let s=Yf.createStringifyContext(n.doc,{});s.anchors=new Set;for(let r of n.anchors.keys())s.anchors.add(r.anchor);s.inFlow=!0,s.inStringifyKey=!0;let i=t.toString(s);if(!n.mapKeyWarned){let r=JSON.stringify(i);r.length>40&&(r=r.substring(0,36)+'..."'),jf.warn(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return i}return JSON.stringify(e)}Lo.addPairToJSMap=Hf});var Ee=w(Ws=>{"use strict";var Co=bt(),Vf=Ao(),Wf=Vs(),On=O();function Jf(t,e,n){let s=Co.createNode(t,void 0,n),i=Co.createNode(e,void 0,n);return new Nn(s,i)}var Nn=class t{constructor(e,n=null){Object.defineProperty(this,On.NODE_TYPE,{value:On.PAIR}),this.key=e,this.value=n}clone(e){let{key:n,value:s}=this;return On.isNode(n)&&(n=n.clone(e)),On.isNode(s)&&(s=s.clone(e)),new t(n,s)}toJSON(e,n){let s=n?.mapAsMap?new Map:{};return Wf.addPairToJSMap(n,s,this)}toString(e,n,s){return e?.doc?Vf.stringifyPair(this,e,n,s):JSON.stringify(this)}};Ws.Pair=Nn;Ws.createPair=Jf});var Js=w(Mo=>{"use strict";var De=O(),Po=_t(),Tn=vt();function Qf(t,e,n){return(e.inFlow??t.flow?Xf:zf)(t,e,n)}function zf({comment:t,items:e},n,{blockItemPrefix:s,flowChars:i,itemIndent:r,onChompKeep:o,onComment:a}){let{indent:l,options:{commentString:c}}=n,f=Object.assign({},n,{indent:r,type:null}),u=!1,d=[];for(let y=0;y<e.length;++y){let p=e[y],m=null;if(De.isNode(p))!u&&p.spaceBefore&&d.push(""),Ln(n,d,p.commentBefore,u),p.comment&&(m=p.comment);else if(De.isPair(p)){let v=De.isNode(p.key)?p.key:null;v&&(!u&&v.spaceBefore&&d.push(""),Ln(n,d,v.commentBefore,u))}u=!1;let S=Po.stringify(p,f,()=>m=null,()=>u=!0);m&&(S+=Tn.lineComment(S,r,c(m))),u&&m&&(u=!1),d.push(s+S)}let h;if(d.length===0)h=i.start+i.end;else{h=d[0];for(let y=1;y<d.length;++y){let p=d[y];h+=p?`
47
47
  ${l}${p}`:`
48
48
  `}}return t?(h+=`
49
- `+On.indentComment(c(t),l),a&&a()):u&&o&&o(),h}function Wf({items:t},e,{flowChars:n,itemIndent:s}){let{indent:i,indentStep:r,flowCollectionPadding:o,options:{commentString:a}}=e;s+=r;let l=Object.assign({},e,{indent:s,inFlow:!0,type:null}),c=!1,f=0,u=[];for(let y=0;y<t.length;++y){let p=t[y],m=null;if(Pe.isNode(p))p.spaceBefore&&u.push(""),In(e,u,p.commentBefore,!1),p.comment&&(m=p.comment);else if(Pe.isPair(p)){let v=Pe.isNode(p.key)?p.key:null;v&&(v.spaceBefore&&u.push(""),In(e,u,v.commentBefore,!1),v.comment&&(c=!0));let A=Pe.isNode(p.value)?p.value:null;A?(A.comment&&(m=A.comment),A.commentBefore&&(c=!0)):p.value==null&&v?.comment&&(m=v.comment)}m&&(c=!0);let S=Io.stringify(p,l,()=>m=null);c||(c=u.length>f||S.includes(`
50
- `)),y<t.length-1?S+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(c||(c=u.reduce((v,A)=>v+A.length+2,2)+(S.length+2)>e.options.lineWidth)),c&&(S+=",")),m&&(S+=On.lineComment(S,s,a(m))),u.push(S),f=u.length}let{start:d,end:h}=n;if(u.length===0)return d+h;if(!c){let y=u.reduce((p,m)=>p+m.length+2,2);c=e.options.lineWidth>0&&y>e.options.lineWidth}if(c){let y=d;for(let p of u)y+=p?`
49
+ `+Tn.indentComment(c(t),l),a&&a()):u&&o&&o(),h}function Xf({items:t},e,{flowChars:n,itemIndent:s}){let{indent:i,indentStep:r,flowCollectionPadding:o,options:{commentString:a}}=e;s+=r;let l=Object.assign({},e,{indent:s,inFlow:!0,type:null}),c=!1,f=0,u=[];for(let y=0;y<t.length;++y){let p=t[y],m=null;if(De.isNode(p))p.spaceBefore&&u.push(""),Ln(e,u,p.commentBefore,!1),p.comment&&(m=p.comment);else if(De.isPair(p)){let v=De.isNode(p.key)?p.key:null;v&&(v.spaceBefore&&u.push(""),Ln(e,u,v.commentBefore,!1),v.comment&&(c=!0));let A=De.isNode(p.value)?p.value:null;A?(A.comment&&(m=A.comment),A.commentBefore&&(c=!0)):p.value==null&&v?.comment&&(m=v.comment)}m&&(c=!0);let S=Po.stringify(p,l,()=>m=null);c||(c=u.length>f||S.includes(`
50
+ `)),y<t.length-1?S+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(c||(c=u.reduce((v,A)=>v+A.length+2,2)+(S.length+2)>e.options.lineWidth)),c&&(S+=",")),m&&(S+=Tn.lineComment(S,s,a(m))),u.push(S),f=u.length}let{start:d,end:h}=n;if(u.length===0)return d+h;if(!c){let y=u.reduce((p,m)=>p+m.length+2,2);c=e.options.lineWidth>0&&y>e.options.lineWidth}if(c){let y=d;for(let p of u)y+=p?`
51
51
  ${r}${i}${p}`:`
52
52
  `;return`${y}
53
- ${i}${h}`}else return`${d}${o}${u.join(" ")}${o}${h}`}function In({indent:t,options:{commentString:e}},n,s,i){if(s&&i&&(s=s.replace(/^\n+/,"")),s){let r=On.indentComment(e(s),t);n.push(r.trimStart())}}To.stringifyCollection=Gf});var Ee=w(Js=>{"use strict";var Jf=Vs(),Qf=Hs(),zf=hn(),ke=I(),Tn=ve(),Xf=$();function Ot(t,e){let n=ke.isScalar(e)?e.value:e;for(let s of t)if(ke.isPair(s)&&(s.key===e||s.key===n||ke.isScalar(s.key)&&s.key.value===n))return s}var Ws=class extends zf.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(ke.MAP,e),this.items=[]}static from(e,n,s){let{keepUndefined:i,replacer:r}=s,o=new this(e),a=(l,c)=>{if(typeof r=="function")c=r.call(n,l,c);else if(Array.isArray(r)&&!r.includes(l))return;(c!==void 0||i)&&o.items.push(Tn.createPair(l,c,s))};if(n instanceof Map)for(let[l,c]of n)a(l,c);else if(n&&typeof n=="object")for(let l of Object.keys(n))a(l,n[l]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,n){let s;ke.isPair(e)?s=e:!e||typeof e!="object"||!("key"in e)?s=new Tn.Pair(e,e?.value):s=new Tn.Pair(e.key,e.value);let i=Ot(this.items,s.key),r=this.schema?.sortMapEntries;if(i){if(!n)throw new Error(`Key ${s.key} already set`);ke.isScalar(i.value)&&Xf.isScalarValue(s.value)?i.value.value=s.value:i.value=s.value}else if(r){let o=this.items.findIndex(a=>r(s,a)<0);o===-1?this.items.push(s):this.items.splice(o,0,s)}else this.items.push(s)}delete(e){let n=Ot(this.items,e);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(e,n){let i=Ot(this.items,e)?.value;return(!n&&ke.isScalar(i)?i.value:i)??void 0}has(e){return!!Ot(this.items,e)}set(e,n){this.add(new Tn.Pair(e,n),!0)}toJSON(e,n,s){let i=s?new s:n?.mapAsMap?new Map:{};n?.onCreate&&n.onCreate(i);for(let r of this.items)Qf.addPairToJSMap(n,i,r);return i}toString(e,n,s){if(!e)return JSON.stringify(this);for(let i of this.items)if(!ke.isPair(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Jf.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:s,onComment:n})}};Js.YAMLMap=Ws;Js.findPair=Ot});var We=w(Lo=>{"use strict";var Zf=I(),No=Ee(),ed={collection:"map",default:!0,nodeClass:No.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(t,e){return Zf.isMap(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,n)=>No.YAMLMap.from(t,e,n)};Lo.map=ed});var Ae=w(Co=>{"use strict";var td=wt(),nd=Vs(),sd=hn(),Ln=I(),id=$(),rd=ye(),Qs=class extends sd.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Ln.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let n=Nn(e);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(e,n){let s=Nn(e);if(typeof s!="number")return;let i=this.items[s];return!n&&Ln.isScalar(i)?i.value:i}has(e){let n=Nn(e);return typeof n=="number"&&n<this.items.length}set(e,n){let s=Nn(e);if(typeof s!="number")throw new Error(`Expected a valid index, not ${e}.`);let i=this.items[s];Ln.isScalar(i)&&id.isScalarValue(n)?i.value=n:this.items[s]=n}toJSON(e,n){let s=[];n?.onCreate&&n.onCreate(s);let i=0;for(let r of this.items)s.push(rd.toJS(r,String(i++),n));return s}toString(e,n,s){return e?nd.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:s,onComment:n}):JSON.stringify(this)}static from(e,n,s){let{replacer:i}=s,r=new this(e);if(n&&Symbol.iterator in Object(n)){let o=0;for(let a of n){if(typeof i=="function"){let l=n instanceof Set?a:String(o++);a=i.call(n,l,a)}r.items.push(td.createNode(a,void 0,s))}}return r}};function Nn(t){let e=Ln.isScalar(t)?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}Co.YAMLSeq=Qs});var Je=w(Mo=>{"use strict";var od=I(),Po=Ae(),ad={collection:"seq",default:!0,nodeClass:Po.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(t,e){return od.isSeq(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,n)=>Po.YAMLSeq.from(t,e,n)};Mo.seq=ad});var It=w($o=>{"use strict";var ld=kt(),cd={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,n,s){return e=Object.assign({actualString:!0},e),ld.stringifyString(t,e,n,s)}};$o.string=cd});var Cn=w(Ro=>{"use strict";var Do=$(),qo={identify:t=>t==null,createNode:()=>new Do.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Do.Scalar(null),stringify:({source:t},e)=>typeof t=="string"&&qo.test.test(t)?t:e.options.nullStr};Ro.nullTag=qo});var zs=w(Bo=>{"use strict";var ud=$(),Ko={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new ud.Scalar(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},n){if(t&&Ko.test.test(t)){let s=t[0]==="t"||t[0]==="T";if(e===s)return t}return e?n.options.trueStr:n.options.falseStr}};Bo.boolTag=Ko});var Qe=w(xo=>{"use strict";function fd({format:t,minFractionDigits:e,tag:n,value:s}){if(typeof s=="bigint")return String(s);let i=typeof s=="number"?s:Number(s);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(s,-0)?"-0":JSON.stringify(s);if(!t&&e&&(!n||n==="tag:yaml.org,2002:float")&&/^\d/.test(r)){let o=r.indexOf(".");o<0&&(o=r.length,r+=".");let a=e-(r.length-o-1);for(;a-- >0;)r+="0"}return r}xo.stringifyNumber=fd});var Zs=w(Pn=>{"use strict";var dd=$(),Xs=Qe(),pd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Xs.stringifyNumber},hd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Xs.stringifyNumber(t)}},md={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(t){let e=new dd.Scalar(parseFloat(t)),n=t.indexOf(".");return n!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-n-1),e},stringify:Xs.stringifyNumber};Pn.float=md;Pn.floatExp=hd;Pn.floatNaN=pd});var ti=w($n=>{"use strict";var Fo=Qe(),Mn=t=>typeof t=="bigint"||Number.isInteger(t),ei=(t,e,n,{intAsBigInt:s})=>s?BigInt(t):parseInt(t.substring(e),n);function Uo(t,e,n){let{value:s}=t;return Mn(s)&&s>=0?n+s.toString(e):Fo.stringifyNumber(t)}var gd={identify:t=>Mn(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,n)=>ei(t,2,8,n),stringify:t=>Uo(t,8,"0o")},yd={identify:Mn,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,n)=>ei(t,0,10,n),stringify:Fo.stringifyNumber},wd={identify:t=>Mn(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,n)=>ei(t,2,16,n),stringify:t=>Uo(t,16,"0x")};$n.int=yd;$n.intHex=wd;$n.intOct=gd});var Yo=w(jo=>{"use strict";var Sd=We(),bd=Cn(),vd=Je(),kd=It(),Ed=zs(),ni=Zs(),si=ti(),Ad=[Sd.map,vd.seq,kd.string,bd.nullTag,Ed.boolTag,si.intOct,si.int,si.intHex,ni.floatNaN,ni.floatExp,ni.float];jo.schema=Ad});var Vo=w(Go=>{"use strict";var _d=$(),Od=We(),Id=Je();function Ho(t){return typeof t=="bigint"||Number.isInteger(t)}var Dn=({value:t})=>JSON.stringify(t),Td=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:Dn},{identify:t=>t==null,createNode:()=>new _d.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Dn},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:Dn},{identify:Ho,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:n})=>n?BigInt(t):parseInt(t,10),stringify:({value:t})=>Ho(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:Dn}],Nd={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},Ld=[Od.map,Id.seq].concat(Td,Nd);Go.schema=Ld});var ri=w(Wo=>{"use strict";var Tt=ge("buffer"),ii=$(),Cd=kt(),Pd={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof Tt.Buffer=="function")return Tt.Buffer.from(t,"base64");if(typeof atob=="function"){let n=atob(t.replace(/[\n\r]/g,"")),s=new Uint8Array(n.length);for(let i=0;i<n.length;++i)s[i]=n.charCodeAt(i);return s}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),t},stringify({comment:t,type:e,value:n},s,i,r){if(!n)return"";let o=n,a;if(typeof Tt.Buffer=="function")a=o instanceof Tt.Buffer?o.toString("base64"):Tt.Buffer.from(o.buffer).toString("base64");else if(typeof btoa=="function"){let l="";for(let c=0;c<o.length;++c)l+=String.fromCharCode(o[c]);a=btoa(l)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=ii.Scalar.BLOCK_LITERAL),e!==ii.Scalar.QUOTE_DOUBLE){let l=Math.max(s.options.lineWidth-s.indent.length,s.options.minContentWidth),c=Math.ceil(a.length/l),f=new Array(c);for(let u=0,d=0;u<c;++u,d+=l)f[u]=a.substr(d,l);a=f.join(e===ii.Scalar.BLOCK_LITERAL?`
54
- `:" ")}return Cd.stringifyString({comment:t,type:e,value:a},s,i,r)}};Wo.binary=Pd});var Kn=w(Rn=>{"use strict";var qn=I(),oi=ve(),Md=$(),$d=Ae();function Jo(t,e){if(qn.isSeq(t))for(let n=0;n<t.items.length;++n){let s=t.items[n];if(!qn.isPair(s)){if(qn.isMap(s)){s.items.length>1&&e("Each pair must have its own sequence indicator");let i=s.items[0]||new oi.Pair(new Md.Scalar(null));if(s.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${s.commentBefore}
53
+ ${i}${h}`}else return`${d}${o}${u.join(" ")}${o}${h}`}function Ln({indent:t,options:{commentString:e}},n,s,i){if(s&&i&&(s=s.replace(/^\n+/,"")),s){let r=Tn.indentComment(e(s),t);n.push(r.trimStart())}}Mo.stringifyCollection=Qf});var Ae=w(zs=>{"use strict";var Zf=Js(),ed=Vs(),td=yn(),ke=O(),Cn=Ee(),nd=$();function Nt(t,e){let n=ke.isScalar(e)?e.value:e;for(let s of t)if(ke.isPair(s)&&(s.key===e||s.key===n||ke.isScalar(s.key)&&s.key.value===n))return s}var Qs=class extends td.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(ke.MAP,e),this.items=[]}static from(e,n,s){let{keepUndefined:i,replacer:r}=s,o=new this(e),a=(l,c)=>{if(typeof r=="function")c=r.call(n,l,c);else if(Array.isArray(r)&&!r.includes(l))return;(c!==void 0||i)&&o.items.push(Cn.createPair(l,c,s))};if(n instanceof Map)for(let[l,c]of n)a(l,c);else if(n&&typeof n=="object")for(let l of Object.keys(n))a(l,n[l]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,n){let s;ke.isPair(e)?s=e:!e||typeof e!="object"||!("key"in e)?s=new Cn.Pair(e,e?.value):s=new Cn.Pair(e.key,e.value);let i=Nt(this.items,s.key),r=this.schema?.sortMapEntries;if(i){if(!n)throw new Error(`Key ${s.key} already set`);ke.isScalar(i.value)&&nd.isScalarValue(s.value)?i.value.value=s.value:i.value=s.value}else if(r){let o=this.items.findIndex(a=>r(s,a)<0);o===-1?this.items.push(s):this.items.splice(o,0,s)}else this.items.push(s)}delete(e){let n=Nt(this.items,e);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(e,n){let i=Nt(this.items,e)?.value;return(!n&&ke.isScalar(i)?i.value:i)??void 0}has(e){return!!Nt(this.items,e)}set(e,n){this.add(new Cn.Pair(e,n),!0)}toJSON(e,n,s){let i=s?new s:n?.mapAsMap?new Map:{};n?.onCreate&&n.onCreate(i);for(let r of this.items)ed.addPairToJSMap(n,i,r);return i}toString(e,n,s){if(!e)return JSON.stringify(this);for(let i of this.items)if(!ke.isPair(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Zf.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:s,onComment:n})}};zs.YAMLMap=Qs;zs.findPair=Nt});var Je=w(Do=>{"use strict";var sd=O(),$o=Ae(),id={collection:"map",default:!0,nodeClass:$o.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(t,e){return sd.isMap(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,n)=>$o.YAMLMap.from(t,e,n)};Do.map=id});var _e=w(qo=>{"use strict";var rd=bt(),od=Js(),ad=yn(),Mn=O(),ld=$(),cd=we(),Xs=class extends ad.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Mn.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let n=Pn(e);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(e,n){let s=Pn(e);if(typeof s!="number")return;let i=this.items[s];return!n&&Mn.isScalar(i)?i.value:i}has(e){let n=Pn(e);return typeof n=="number"&&n<this.items.length}set(e,n){let s=Pn(e);if(typeof s!="number")throw new Error(`Expected a valid index, not ${e}.`);let i=this.items[s];Mn.isScalar(i)&&ld.isScalarValue(n)?i.value=n:this.items[s]=n}toJSON(e,n){let s=[];n?.onCreate&&n.onCreate(s);let i=0;for(let r of this.items)s.push(cd.toJS(r,String(i++),n));return s}toString(e,n,s){return e?od.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:s,onComment:n}):JSON.stringify(this)}static from(e,n,s){let{replacer:i}=s,r=new this(e);if(n&&Symbol.iterator in Object(n)){let o=0;for(let a of n){if(typeof i=="function"){let l=n instanceof Set?a:String(o++);a=i.call(n,l,a)}r.items.push(rd.createNode(a,void 0,s))}}return r}};function Pn(t){let e=Mn.isScalar(t)?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}qo.YAMLSeq=Xs});var Qe=w(Ko=>{"use strict";var ud=O(),Ro=_e(),fd={collection:"seq",default:!0,nodeClass:Ro.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(t,e){return ud.isSeq(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,n)=>Ro.YAMLSeq.from(t,e,n)};Ko.seq=fd});var Tt=w(Bo=>{"use strict";var dd=At(),pd={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,n,s){return e=Object.assign({actualString:!0},e),dd.stringifyString(t,e,n,s)}};Bo.string=pd});var $n=w(Uo=>{"use strict";var xo=$(),Fo={identify:t=>t==null,createNode:()=>new xo.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new xo.Scalar(null),stringify:({source:t},e)=>typeof t=="string"&&Fo.test.test(t)?t:e.options.nullStr};Uo.nullTag=Fo});var Zs=w(Yo=>{"use strict";var hd=$(),jo={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new hd.Scalar(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},n){if(t&&jo.test.test(t)){let s=t[0]==="t"||t[0]==="T";if(e===s)return t}return e?n.options.trueStr:n.options.falseStr}};Yo.boolTag=jo});var ze=w(Ho=>{"use strict";function md({format:t,minFractionDigits:e,tag:n,value:s}){if(typeof s=="bigint")return String(s);let i=typeof s=="number"?s:Number(s);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(s,-0)?"-0":JSON.stringify(s);if(!t&&e&&(!n||n==="tag:yaml.org,2002:float")&&/^\d/.test(r)){let o=r.indexOf(".");o<0&&(o=r.length,r+=".");let a=e-(r.length-o-1);for(;a-- >0;)r+="0"}return r}Ho.stringifyNumber=md});var ti=w(Dn=>{"use strict";var gd=$(),ei=ze(),yd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:ei.stringifyNumber},wd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():ei.stringifyNumber(t)}},Sd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(t){let e=new gd.Scalar(parseFloat(t)),n=t.indexOf(".");return n!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-n-1),e},stringify:ei.stringifyNumber};Dn.float=Sd;Dn.floatExp=wd;Dn.floatNaN=yd});var si=w(Rn=>{"use strict";var Go=ze(),qn=t=>typeof t=="bigint"||Number.isInteger(t),ni=(t,e,n,{intAsBigInt:s})=>s?BigInt(t):parseInt(t.substring(e),n);function Vo(t,e,n){let{value:s}=t;return qn(s)&&s>=0?n+s.toString(e):Go.stringifyNumber(t)}var bd={identify:t=>qn(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,n)=>ni(t,2,8,n),stringify:t=>Vo(t,8,"0o")},vd={identify:qn,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,n)=>ni(t,0,10,n),stringify:Go.stringifyNumber},Ed={identify:t=>qn(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,n)=>ni(t,2,16,n),stringify:t=>Vo(t,16,"0x")};Rn.int=vd;Rn.intHex=Ed;Rn.intOct=bd});var Jo=w(Wo=>{"use strict";var kd=Je(),Ad=$n(),_d=Qe(),Id=Tt(),Od=Zs(),ii=ti(),ri=si(),Nd=[kd.map,_d.seq,Id.string,Ad.nullTag,Od.boolTag,ri.intOct,ri.int,ri.intHex,ii.floatNaN,ii.floatExp,ii.float];Wo.schema=Nd});var Xo=w(zo=>{"use strict";var Td=$(),Ld=Je(),Cd=Qe();function Qo(t){return typeof t=="bigint"||Number.isInteger(t)}var Kn=({value:t})=>JSON.stringify(t),Pd=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:Kn},{identify:t=>t==null,createNode:()=>new Td.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Kn},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:Kn},{identify:Qo,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:n})=>n?BigInt(t):parseInt(t,10),stringify:({value:t})=>Qo(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:Kn}],Md={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},$d=[Ld.map,Cd.seq].concat(Pd,Md);zo.schema=$d});var ai=w(Zo=>{"use strict";var Lt=ge("buffer"),oi=$(),Dd=At(),qd={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof Lt.Buffer=="function")return Lt.Buffer.from(t,"base64");if(typeof atob=="function"){let n=atob(t.replace(/[\n\r]/g,"")),s=new Uint8Array(n.length);for(let i=0;i<n.length;++i)s[i]=n.charCodeAt(i);return s}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),t},stringify({comment:t,type:e,value:n},s,i,r){if(!n)return"";let o=n,a;if(typeof Lt.Buffer=="function")a=o instanceof Lt.Buffer?o.toString("base64"):Lt.Buffer.from(o.buffer).toString("base64");else if(typeof btoa=="function"){let l="";for(let c=0;c<o.length;++c)l+=String.fromCharCode(o[c]);a=btoa(l)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=oi.Scalar.BLOCK_LITERAL),e!==oi.Scalar.QUOTE_DOUBLE){let l=Math.max(s.options.lineWidth-s.indent.length,s.options.minContentWidth),c=Math.ceil(a.length/l),f=new Array(c);for(let u=0,d=0;u<c;++u,d+=l)f[u]=a.substr(d,l);a=f.join(e===oi.Scalar.BLOCK_LITERAL?`
54
+ `:" ")}return Dd.stringifyString({comment:t,type:e,value:a},s,i,r)}};Zo.binary=qd});var Fn=w(xn=>{"use strict";var Bn=O(),li=Ee(),Rd=$(),Kd=_e();function ea(t,e){if(Bn.isSeq(t))for(let n=0;n<t.items.length;++n){let s=t.items[n];if(!Bn.isPair(s)){if(Bn.isMap(s)){s.items.length>1&&e("Each pair must have its own sequence indicator");let i=s.items[0]||new li.Pair(new Rd.Scalar(null));if(s.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${s.commentBefore}
55
55
  ${i.key.commentBefore}`:s.commentBefore),s.comment){let r=i.value??i.key;r.comment=r.comment?`${s.comment}
56
- ${r.comment}`:s.comment}s=i}t.items[n]=qn.isPair(s)?s:new oi.Pair(s)}}else e("Expected a sequence for this tag");return t}function Qo(t,e,n){let{replacer:s}=n,i=new $d.YAMLSeq(t);i.tag="tag:yaml.org,2002:pairs";let r=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof s=="function"&&(o=s.call(e,String(r++),o));let a,l;if(Array.isArray(o))if(o.length===2)a=o[0],l=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let c=Object.keys(o);if(c.length===1)a=c[0],l=o[a];else throw new TypeError(`Expected tuple with one key, not ${c.length} keys`)}else a=o;i.items.push(oi.createPair(a,l,n))}return i}var Dd={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Jo,createNode:Qo};Rn.createPairs=Qo;Rn.pairs=Dd;Rn.resolvePairs=Jo});var ci=w(li=>{"use strict";var zo=I(),ai=ye(),Nt=Ee(),qd=Ae(),Xo=Kn(),Me=class t extends qd.YAMLSeq{constructor(){super(),this.add=Nt.YAMLMap.prototype.add.bind(this),this.delete=Nt.YAMLMap.prototype.delete.bind(this),this.get=Nt.YAMLMap.prototype.get.bind(this),this.has=Nt.YAMLMap.prototype.has.bind(this),this.set=Nt.YAMLMap.prototype.set.bind(this),this.tag=t.tag}toJSON(e,n){if(!n)return super.toJSON(e);let s=new Map;n?.onCreate&&n.onCreate(s);for(let i of this.items){let r,o;if(zo.isPair(i)?(r=ai.toJS(i.key,"",n),o=ai.toJS(i.value,r,n)):r=ai.toJS(i,"",n),s.has(r))throw new Error("Ordered maps must not include duplicate keys");s.set(r,o)}return s}static from(e,n,s){let i=Xo.createPairs(e,n,s),r=new this;return r.items=i.items,r}};Me.tag="tag:yaml.org,2002:omap";var Rd={collection:"seq",identify:t=>t instanceof Map,nodeClass:Me,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let n=Xo.resolvePairs(t,e),s=[];for(let{key:i}of n.items)zo.isScalar(i)&&(s.includes(i.value)?e(`Ordered maps must not include duplicate keys: ${i.value}`):s.push(i.value));return Object.assign(new Me,n)},createNode:(t,e,n)=>Me.from(t,e,n)};li.YAMLOMap=Me;li.omap=Rd});var sa=w(ui=>{"use strict";var Zo=$();function ea({value:t,source:e},n){return e&&(t?ta:na).test.test(e)?e:t?n.options.trueStr:n.options.falseStr}var ta={identify:t=>t===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Zo.Scalar(!0),stringify:ea},na={identify:t=>t===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Zo.Scalar(!1),stringify:ea};ui.falseTag=na;ui.trueTag=ta});var ia=w(Bn=>{"use strict";var Kd=$(),fi=Qe(),Bd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:fi.stringifyNumber},xd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():fi.stringifyNumber(t)}},Fd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(t){let e=new Kd.Scalar(parseFloat(t.replace(/_/g,""))),n=t.indexOf(".");if(n!==-1){let s=t.substring(n+1).replace(/_/g,"");s[s.length-1]==="0"&&(e.minFractionDigits=s.length)}return e},stringify:fi.stringifyNumber};Bn.float=Fd;Bn.floatExp=xd;Bn.floatNaN=Bd});var oa=w(Ct=>{"use strict";var ra=Qe(),Lt=t=>typeof t=="bigint"||Number.isInteger(t);function xn(t,e,n,{intAsBigInt:s}){let i=t[0];if((i==="-"||i==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),s){switch(n){case 2:t=`0b${t}`;break;case 8:t=`0o${t}`;break;case 16:t=`0x${t}`;break}let o=BigInt(t);return i==="-"?BigInt(-1)*o:o}let r=parseInt(t,n);return i==="-"?-1*r:r}function di(t,e,n){let{value:s}=t;if(Lt(s)){let i=s.toString(e);return s<0?"-"+n+i.substr(1):n+i}return ra.stringifyNumber(t)}var Ud={identify:Lt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,n)=>xn(t,2,2,n),stringify:t=>di(t,2,"0b")},jd={identify:Lt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,n)=>xn(t,1,8,n),stringify:t=>di(t,8,"0")},Yd={identify:Lt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,n)=>xn(t,0,10,n),stringify:ra.stringifyNumber},Hd={identify:Lt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,n)=>xn(t,2,16,n),stringify:t=>di(t,16,"0x")};Ct.int=Yd;Ct.intBin=Ud;Ct.intHex=Hd;Ct.intOct=jd});var hi=w(pi=>{"use strict";var jn=I(),Fn=ve(),Un=Ee(),$e=class t extends Un.YAMLMap{constructor(e){super(e),this.tag=t.tag}add(e){let n;jn.isPair(e)?n=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?n=new Fn.Pair(e.key,null):n=new Fn.Pair(e,null),Un.findPair(this.items,n.key)||this.items.push(n)}get(e,n){let s=Un.findPair(this.items,e);return!n&&jn.isPair(s)?jn.isScalar(s.key)?s.key.value:s.key:s}set(e,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);let s=Un.findPair(this.items,e);s&&!n?this.items.splice(this.items.indexOf(s),1):!s&&n&&this.items.push(new Fn.Pair(e))}toJSON(e,n){return super.toJSON(e,n,Set)}toString(e,n,s){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),n,s);throw new Error("Set items must all have null values")}static from(e,n,s){let{replacer:i}=s,r=new this(e);if(n&&Symbol.iterator in Object(n))for(let o of n)typeof i=="function"&&(o=i.call(n,o,o)),r.items.push(Fn.createPair(o,null,s));return r}};$e.tag="tag:yaml.org,2002:set";var Gd={collection:"map",identify:t=>t instanceof Set,nodeClass:$e,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,n)=>$e.from(t,e,n),resolve(t,e){if(jn.isMap(t)){if(t.hasAllNullValues(!0))return Object.assign(new $e,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};pi.YAMLSet=$e;pi.set=Gd});var gi=w(Yn=>{"use strict";var Vd=Qe();function mi(t,e){let n=t[0],s=n==="-"||n==="+"?t.substring(1):t,i=o=>e?BigInt(o):Number(o),r=s.replace(/_/g,"").split(":").reduce((o,a)=>o*i(60)+i(a),i(0));return n==="-"?i(-1)*r:r}function aa(t){let{value:e}=t,n=o=>o;if(typeof e=="bigint")n=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return Vd.stringifyNumber(t);let s="";e<0&&(s="-",e*=n(-1));let i=n(60),r=[e%i];return e<60?r.unshift(0):(e=(e-r[0])/i,r.unshift(e%i),e>=60&&(e=(e-r[0])/i,r.unshift(e))),s+r.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Wd={identify:t=>typeof t=="bigint"||Number.isInteger(t),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(t,e,{intAsBigInt:n})=>mi(t,n),stringify:aa},Jd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:t=>mi(t,!1),stringify:aa},la={identify:t=>t instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(t){let e=t.match(la.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,n,s,i,r,o,a]=e.map(Number),l=e[7]?Number((e[7]+"00").substr(1,3)):0,c=Date.UTC(n,s-1,i,r||0,o||0,a||0,l),f=e[8];if(f&&f!=="Z"){let u=mi(f,!1);Math.abs(u)<30&&(u*=60),c-=6e4*u}return new Date(c)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Yn.floatTime=Jd;Yn.intTime=Wd;Yn.timestamp=la});var fa=w(ua=>{"use strict";var Qd=We(),zd=Cn(),Xd=Je(),Zd=It(),ep=ri(),ca=sa(),yi=ia(),Hn=oa(),tp=En(),np=ci(),sp=Kn(),ip=hi(),wi=gi(),rp=[Qd.map,Xd.seq,Zd.string,zd.nullTag,ca.trueTag,ca.falseTag,Hn.intBin,Hn.intOct,Hn.int,Hn.intHex,yi.floatNaN,yi.floatExp,yi.float,ep.binary,tp.merge,np.omap,sp.pairs,ip.set,wi.intTime,wi.floatTime,wi.timestamp];ua.schema=rp});var va=w(vi=>{"use strict";var ma=We(),op=Cn(),ga=Je(),ap=It(),lp=zs(),Si=Zs(),bi=ti(),cp=Yo(),up=Vo(),ya=ri(),Pt=En(),wa=ci(),Sa=Kn(),da=fa(),ba=hi(),Gn=gi(),pa=new Map([["core",cp.schema],["failsafe",[ma.map,ga.seq,ap.string]],["json",up.schema],["yaml11",da.schema],["yaml-1.1",da.schema]]),ha={binary:ya.binary,bool:lp.boolTag,float:Si.float,floatExp:Si.floatExp,floatNaN:Si.floatNaN,floatTime:Gn.floatTime,int:bi.int,intHex:bi.intHex,intOct:bi.intOct,intTime:Gn.intTime,map:ma.map,merge:Pt.merge,null:op.nullTag,omap:wa.omap,pairs:Sa.pairs,seq:ga.seq,set:ba.set,timestamp:Gn.timestamp},fp={"tag:yaml.org,2002:binary":ya.binary,"tag:yaml.org,2002:merge":Pt.merge,"tag:yaml.org,2002:omap":wa.omap,"tag:yaml.org,2002:pairs":Sa.pairs,"tag:yaml.org,2002:set":ba.set,"tag:yaml.org,2002:timestamp":Gn.timestamp};function dp(t,e,n){let s=pa.get(e);if(s&&!t)return n&&!s.includes(Pt.merge)?s.concat(Pt.merge):s.slice();let i=s;if(!i)if(Array.isArray(t))i=[];else{let r=Array.from(pa.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${r} or define customTags array`)}if(Array.isArray(t))for(let r of t)i=i.concat(r);else typeof t=="function"&&(i=t(i.slice()));return n&&(i=i.concat(Pt.merge)),i.reduce((r,o)=>{let a=typeof o=="string"?ha[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(ha).map(f=>JSON.stringify(f)).join(", ");throw new Error(`Unknown custom tag ${l}; use one of ${c}`)}return r.includes(a)||r.push(a),r},[])}vi.coreKnownTags=fp;vi.getTags=dp});var Ai=w(ka=>{"use strict";var ki=I(),pp=We(),hp=Je(),mp=It(),Vn=va(),gp=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0,Ei=class t{constructor({compat:e,customTags:n,merge:s,resolveKnownTags:i,schema:r,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?Vn.getTags(e,"compat"):e?Vn.getTags(null,e):null,this.name=typeof r=="string"&&r||"core",this.knownTags=i?Vn.coreKnownTags:{},this.tags=Vn.getTags(n,this.name,s),this.toStringOptions=a??null,Object.defineProperty(this,ki.MAP,{value:pp.map}),Object.defineProperty(this,ki.SCALAR,{value:mp.string}),Object.defineProperty(this,ki.SEQ,{value:hp.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?gp:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};ka.Schema=Ei});var Aa=w(Ea=>{"use strict";var yp=I(),_i=Et(),Mt=St();function wp(t,e){let n=[],s=e.directives===!0;if(e.directives!==!1&&t.directives){let l=t.directives.toString(t);l?(n.push(l),s=!0):t.directives.docStart&&(s=!0)}s&&n.push("---");let i=_i.createStringifyContext(t,e),{commentString:r}=i.options;if(t.commentBefore){n.length!==1&&n.unshift("");let l=r(t.commentBefore);n.unshift(Mt.indentComment(l,""))}let o=!1,a=null;if(t.contents){if(yp.isNode(t.contents)){if(t.contents.spaceBefore&&s&&n.push(""),t.contents.commentBefore){let f=r(t.contents.commentBefore);n.push(Mt.indentComment(f,""))}i.forceBlockIndent=!!t.comment,a=t.contents.comment}let l=a?void 0:()=>o=!0,c=_i.stringify(t.contents,i,()=>a=null,l);a&&(c+=Mt.lineComment(c,"",r(a))),(c[0]==="|"||c[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${c}`:n.push(c)}else n.push(_i.stringify(t.contents,i));if(t.directives?.docEnd)if(t.comment){let l=r(t.comment);l.includes(`
57
- `)?(n.push("..."),n.push(Mt.indentComment(l,""))):n.push(`... ${l}`)}else n.push("...");else{let l=t.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&n[n.length-1]!==""&&n.push(""),n.push(Mt.indentComment(r(l),"")))}return n.join(`
56
+ ${r.comment}`:s.comment}s=i}t.items[n]=Bn.isPair(s)?s:new li.Pair(s)}}else e("Expected a sequence for this tag");return t}function ta(t,e,n){let{replacer:s}=n,i=new Kd.YAMLSeq(t);i.tag="tag:yaml.org,2002:pairs";let r=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof s=="function"&&(o=s.call(e,String(r++),o));let a,l;if(Array.isArray(o))if(o.length===2)a=o[0],l=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let c=Object.keys(o);if(c.length===1)a=c[0],l=o[a];else throw new TypeError(`Expected tuple with one key, not ${c.length} keys`)}else a=o;i.items.push(li.createPair(a,l,n))}return i}var Bd={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:ea,createNode:ta};xn.createPairs=ta;xn.pairs=Bd;xn.resolvePairs=ea});var fi=w(ui=>{"use strict";var na=O(),ci=we(),Ct=Ae(),xd=_e(),sa=Fn(),qe=class t extends xd.YAMLSeq{constructor(){super(),this.add=Ct.YAMLMap.prototype.add.bind(this),this.delete=Ct.YAMLMap.prototype.delete.bind(this),this.get=Ct.YAMLMap.prototype.get.bind(this),this.has=Ct.YAMLMap.prototype.has.bind(this),this.set=Ct.YAMLMap.prototype.set.bind(this),this.tag=t.tag}toJSON(e,n){if(!n)return super.toJSON(e);let s=new Map;n?.onCreate&&n.onCreate(s);for(let i of this.items){let r,o;if(na.isPair(i)?(r=ci.toJS(i.key,"",n),o=ci.toJS(i.value,r,n)):r=ci.toJS(i,"",n),s.has(r))throw new Error("Ordered maps must not include duplicate keys");s.set(r,o)}return s}static from(e,n,s){let i=sa.createPairs(e,n,s),r=new this;return r.items=i.items,r}};qe.tag="tag:yaml.org,2002:omap";var Fd={collection:"seq",identify:t=>t instanceof Map,nodeClass:qe,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let n=sa.resolvePairs(t,e),s=[];for(let{key:i}of n.items)na.isScalar(i)&&(s.includes(i.value)?e(`Ordered maps must not include duplicate keys: ${i.value}`):s.push(i.value));return Object.assign(new qe,n)},createNode:(t,e,n)=>qe.from(t,e,n)};ui.YAMLOMap=qe;ui.omap=Fd});var la=w(di=>{"use strict";var ia=$();function ra({value:t,source:e},n){return e&&(t?oa:aa).test.test(e)?e:t?n.options.trueStr:n.options.falseStr}var oa={identify:t=>t===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new ia.Scalar(!0),stringify:ra},aa={identify:t=>t===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new ia.Scalar(!1),stringify:ra};di.falseTag=aa;di.trueTag=oa});var ca=w(Un=>{"use strict";var Ud=$(),pi=ze(),jd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:pi.stringifyNumber},Yd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():pi.stringifyNumber(t)}},Hd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(t){let e=new Ud.Scalar(parseFloat(t.replace(/_/g,""))),n=t.indexOf(".");if(n!==-1){let s=t.substring(n+1).replace(/_/g,"");s[s.length-1]==="0"&&(e.minFractionDigits=s.length)}return e},stringify:pi.stringifyNumber};Un.float=Hd;Un.floatExp=Yd;Un.floatNaN=jd});var fa=w(Mt=>{"use strict";var ua=ze(),Pt=t=>typeof t=="bigint"||Number.isInteger(t);function jn(t,e,n,{intAsBigInt:s}){let i=t[0];if((i==="-"||i==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),s){switch(n){case 2:t=`0b${t}`;break;case 8:t=`0o${t}`;break;case 16:t=`0x${t}`;break}let o=BigInt(t);return i==="-"?BigInt(-1)*o:o}let r=parseInt(t,n);return i==="-"?-1*r:r}function hi(t,e,n){let{value:s}=t;if(Pt(s)){let i=s.toString(e);return s<0?"-"+n+i.substr(1):n+i}return ua.stringifyNumber(t)}var Gd={identify:Pt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,n)=>jn(t,2,2,n),stringify:t=>hi(t,2,"0b")},Vd={identify:Pt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,n)=>jn(t,1,8,n),stringify:t=>hi(t,8,"0")},Wd={identify:Pt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,n)=>jn(t,0,10,n),stringify:ua.stringifyNumber},Jd={identify:Pt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,n)=>jn(t,2,16,n),stringify:t=>hi(t,16,"0x")};Mt.int=Wd;Mt.intBin=Gd;Mt.intHex=Jd;Mt.intOct=Vd});var gi=w(mi=>{"use strict";var Gn=O(),Yn=Ee(),Hn=Ae(),Re=class t extends Hn.YAMLMap{constructor(e){super(e),this.tag=t.tag}add(e){let n;Gn.isPair(e)?n=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?n=new Yn.Pair(e.key,null):n=new Yn.Pair(e,null),Hn.findPair(this.items,n.key)||this.items.push(n)}get(e,n){let s=Hn.findPair(this.items,e);return!n&&Gn.isPair(s)?Gn.isScalar(s.key)?s.key.value:s.key:s}set(e,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);let s=Hn.findPair(this.items,e);s&&!n?this.items.splice(this.items.indexOf(s),1):!s&&n&&this.items.push(new Yn.Pair(e))}toJSON(e,n){return super.toJSON(e,n,Set)}toString(e,n,s){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),n,s);throw new Error("Set items must all have null values")}static from(e,n,s){let{replacer:i}=s,r=new this(e);if(n&&Symbol.iterator in Object(n))for(let o of n)typeof i=="function"&&(o=i.call(n,o,o)),r.items.push(Yn.createPair(o,null,s));return r}};Re.tag="tag:yaml.org,2002:set";var Qd={collection:"map",identify:t=>t instanceof Set,nodeClass:Re,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,n)=>Re.from(t,e,n),resolve(t,e){if(Gn.isMap(t)){if(t.hasAllNullValues(!0))return Object.assign(new Re,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};mi.YAMLSet=Re;mi.set=Qd});var wi=w(Vn=>{"use strict";var zd=ze();function yi(t,e){let n=t[0],s=n==="-"||n==="+"?t.substring(1):t,i=o=>e?BigInt(o):Number(o),r=s.replace(/_/g,"").split(":").reduce((o,a)=>o*i(60)+i(a),i(0));return n==="-"?i(-1)*r:r}function da(t){let{value:e}=t,n=o=>o;if(typeof e=="bigint")n=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return zd.stringifyNumber(t);let s="";e<0&&(s="-",e*=n(-1));let i=n(60),r=[e%i];return e<60?r.unshift(0):(e=(e-r[0])/i,r.unshift(e%i),e>=60&&(e=(e-r[0])/i,r.unshift(e))),s+r.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Xd={identify:t=>typeof t=="bigint"||Number.isInteger(t),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(t,e,{intAsBigInt:n})=>yi(t,n),stringify:da},Zd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:t=>yi(t,!1),stringify:da},pa={identify:t=>t instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(t){let e=t.match(pa.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,n,s,i,r,o,a]=e.map(Number),l=e[7]?Number((e[7]+"00").substr(1,3)):0,c=Date.UTC(n,s-1,i,r||0,o||0,a||0,l),f=e[8];if(f&&f!=="Z"){let u=yi(f,!1);Math.abs(u)<30&&(u*=60),c-=6e4*u}return new Date(c)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Vn.floatTime=Zd;Vn.intTime=Xd;Vn.timestamp=pa});var ga=w(ma=>{"use strict";var ep=Je(),tp=$n(),np=Qe(),sp=Tt(),ip=ai(),ha=la(),Si=ca(),Wn=fa(),rp=In(),op=fi(),ap=Fn(),lp=gi(),bi=wi(),cp=[ep.map,np.seq,sp.string,tp.nullTag,ha.trueTag,ha.falseTag,Wn.intBin,Wn.intOct,Wn.int,Wn.intHex,Si.floatNaN,Si.floatExp,Si.float,ip.binary,rp.merge,op.omap,ap.pairs,lp.set,bi.intTime,bi.floatTime,bi.timestamp];ma.schema=cp});var Ia=w(ki=>{"use strict";var ba=Je(),up=$n(),va=Qe(),fp=Tt(),dp=Zs(),vi=ti(),Ei=si(),pp=Jo(),hp=Xo(),Ea=ai(),$t=In(),ka=fi(),Aa=Fn(),ya=ga(),_a=gi(),Jn=wi(),wa=new Map([["core",pp.schema],["failsafe",[ba.map,va.seq,fp.string]],["json",hp.schema],["yaml11",ya.schema],["yaml-1.1",ya.schema]]),Sa={binary:Ea.binary,bool:dp.boolTag,float:vi.float,floatExp:vi.floatExp,floatNaN:vi.floatNaN,floatTime:Jn.floatTime,int:Ei.int,intHex:Ei.intHex,intOct:Ei.intOct,intTime:Jn.intTime,map:ba.map,merge:$t.merge,null:up.nullTag,omap:ka.omap,pairs:Aa.pairs,seq:va.seq,set:_a.set,timestamp:Jn.timestamp},mp={"tag:yaml.org,2002:binary":Ea.binary,"tag:yaml.org,2002:merge":$t.merge,"tag:yaml.org,2002:omap":ka.omap,"tag:yaml.org,2002:pairs":Aa.pairs,"tag:yaml.org,2002:set":_a.set,"tag:yaml.org,2002:timestamp":Jn.timestamp};function gp(t,e,n){let s=wa.get(e);if(s&&!t)return n&&!s.includes($t.merge)?s.concat($t.merge):s.slice();let i=s;if(!i)if(Array.isArray(t))i=[];else{let r=Array.from(wa.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${r} or define customTags array`)}if(Array.isArray(t))for(let r of t)i=i.concat(r);else typeof t=="function"&&(i=t(i.slice()));return n&&(i=i.concat($t.merge)),i.reduce((r,o)=>{let a=typeof o=="string"?Sa[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(Sa).map(f=>JSON.stringify(f)).join(", ");throw new Error(`Unknown custom tag ${l}; use one of ${c}`)}return r.includes(a)||r.push(a),r},[])}ki.coreKnownTags=mp;ki.getTags=gp});var Ii=w(Oa=>{"use strict";var Ai=O(),yp=Je(),wp=Qe(),Sp=Tt(),Qn=Ia(),bp=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0,_i=class t{constructor({compat:e,customTags:n,merge:s,resolveKnownTags:i,schema:r,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?Qn.getTags(e,"compat"):e?Qn.getTags(null,e):null,this.name=typeof r=="string"&&r||"core",this.knownTags=i?Qn.coreKnownTags:{},this.tags=Qn.getTags(n,this.name,s),this.toStringOptions=a??null,Object.defineProperty(this,Ai.MAP,{value:yp.map}),Object.defineProperty(this,Ai.SCALAR,{value:Sp.string}),Object.defineProperty(this,Ai.SEQ,{value:wp.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?bp:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};Oa.Schema=_i});var Ta=w(Na=>{"use strict";var vp=O(),Oi=_t(),Dt=vt();function Ep(t,e){let n=[],s=e.directives===!0;if(e.directives!==!1&&t.directives){let l=t.directives.toString(t);l?(n.push(l),s=!0):t.directives.docStart&&(s=!0)}s&&n.push("---");let i=Oi.createStringifyContext(t,e),{commentString:r}=i.options;if(t.commentBefore){n.length!==1&&n.unshift("");let l=r(t.commentBefore);n.unshift(Dt.indentComment(l,""))}let o=!1,a=null;if(t.contents){if(vp.isNode(t.contents)){if(t.contents.spaceBefore&&s&&n.push(""),t.contents.commentBefore){let f=r(t.contents.commentBefore);n.push(Dt.indentComment(f,""))}i.forceBlockIndent=!!t.comment,a=t.contents.comment}let l=a?void 0:()=>o=!0,c=Oi.stringify(t.contents,i,()=>a=null,l);a&&(c+=Dt.lineComment(c,"",r(a))),(c[0]==="|"||c[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${c}`:n.push(c)}else n.push(Oi.stringify(t.contents,i));if(t.directives?.docEnd)if(t.comment){let l=r(t.comment);l.includes(`
57
+ `)?(n.push("..."),n.push(Dt.indentComment(l,""))):n.push(`... ${l}`)}else n.push("...");else{let l=t.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&n[n.length-1]!==""&&n.push(""),n.push(Dt.indentComment(r(l),"")))}return n.join(`
58
58
  `)+`
59
- `}Ea.stringifyDocument=wp});var $t=w(_a=>{"use strict";var Sp=yt(),ze=hn(),J=I(),bp=ve(),vp=ye(),kp=Ai(),Ep=Aa(),Oi=un(),Ap=Ls(),_p=wt(),Ii=Ns(),Ti=class t{constructor(e,n,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,J.NODE_TYPE,{value:J.DOC});let i=null;typeof n=="function"||Array.isArray(n)?i=n:s===void 0&&n&&(s=n,n=void 0);let r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},s);this.options=r;let{version:o}=r;s?._directives?(this.directives=s._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Ii.Directives({version:o}),this.setSchema(o,s),this.contents=e===void 0?null:this.createNode(e,i,s)}clone(){let e=Object.create(t.prototype,{[J.NODE_TYPE]:{value:J.DOC}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=J.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Xe(this.contents)&&this.contents.add(e)}addIn(e,n){Xe(this.contents)&&this.contents.addIn(e,n)}createAlias(e,n){if(!e.anchor){let s=Oi.anchorNames(this);e.anchor=!n||s.has(n)?Oi.findNewAnchor(n||"a",s):n}return new Sp.Alias(e.anchor)}createNode(e,n,s){let i;if(typeof n=="function")e=n.call({"":e},"",e),i=n;else if(Array.isArray(n)){let m=v=>typeof v=="number"||v instanceof String||v instanceof Number,S=n.filter(m).map(String);S.length>0&&(n=n.concat(S)),i=n}else s===void 0&&n&&(s=n,n=void 0);let{aliasDuplicateObjects:r,anchorPrefix:o,flow:a,keepUndefined:l,onTagObj:c,tag:f}=s??{},{onAnchor:u,setAnchors:d,sourceObjects:h}=Oi.createNodeAnchors(this,o||"a"),y={aliasDuplicateObjects:r??!0,keepUndefined:l??!1,onAnchor:u,onTagObj:c,replacer:i,schema:this.schema,sourceObjects:h},p=_p.createNode(e,f,y);return a&&J.isCollection(p)&&(p.flow=!0),d(),p}createPair(e,n,s={}){let i=this.createNode(e,null,s),r=this.createNode(n,null,s);return new bp.Pair(i,r)}delete(e){return Xe(this.contents)?this.contents.delete(e):!1}deleteIn(e){return ze.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):Xe(this.contents)?this.contents.deleteIn(e):!1}get(e,n){return J.isCollection(this.contents)?this.contents.get(e,n):void 0}getIn(e,n){return ze.isEmptyPath(e)?!n&&J.isScalar(this.contents)?this.contents.value:this.contents:J.isCollection(this.contents)?this.contents.getIn(e,n):void 0}has(e){return J.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return ze.isEmptyPath(e)?this.contents!==void 0:J.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,n){this.contents==null?this.contents=ze.collectionFromPath(this.schema,[e],n):Xe(this.contents)&&this.contents.set(e,n)}setIn(e,n){ze.isEmptyPath(e)?this.contents=n:this.contents==null?this.contents=ze.collectionFromPath(this.schema,Array.from(e),n):Xe(this.contents)&&this.contents.setIn(e,n)}setSchema(e,n={}){typeof e=="number"&&(e=String(e));let s;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Ii.Directives({version:"1.1"}),s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Ii.Directives({version:e}),s={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,s=null;break;default:{let i=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(s)this.schema=new kp.Schema(Object.assign(s,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:n,mapAsMap:s,maxAliasCount:i,onAnchor:r,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},l=vp.toJS(this.contents,n??"",a);if(typeof r=="function")for(let{count:c,res:f}of a.anchors.values())r(f,c);return typeof o=="function"?Ap.applyReviver(o,{"":l},"",l):l}toJSON(e,n){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:n})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let n=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${n}`)}return Ep.stringifyDocument(this,e)}};function Xe(t){if(J.isCollection(t))return!0;throw new Error("Expected a YAML collection as document contents")}_a.Document=Ti});var Rt=w(qt=>{"use strict";var Dt=class extends Error{constructor(e,n,s,i){super(),this.name=e,this.code=s,this.message=i,this.pos=n}},Ni=class extends Dt{constructor(e,n,s){super("YAMLParseError",e,n,s)}},Li=class extends Dt{constructor(e,n,s){super("YAMLWarning",e,n,s)}},Op=(t,e)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(a=>e.linePos(a));let{line:s,col:i}=n.linePos[0];n.message+=` at line ${s}, column ${i}`;let r=i-1,o=t.substring(e.lineStarts[s-1],e.lineStarts[s]).replace(/[\n\r]+$/,"");if(r>=60&&o.length>80){let a=Math.min(r-39,o.length-79);o="\u2026"+o.substring(a),r-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),s>1&&/^ *$/.test(o.substring(0,r))){let a=t.substring(e.lineStarts[s-2],e.lineStarts[s-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
59
+ `}Na.stringifyDocument=Ep});var qt=w(La=>{"use strict";var kp=St(),Xe=yn(),J=O(),Ap=Ee(),_p=we(),Ip=Ii(),Op=Ta(),Ni=pn(),Np=Ps(),Tp=bt(),Ti=Cs(),Li=class t{constructor(e,n,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,J.NODE_TYPE,{value:J.DOC});let i=null;typeof n=="function"||Array.isArray(n)?i=n:s===void 0&&n&&(s=n,n=void 0);let r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},s);this.options=r;let{version:o}=r;s?._directives?(this.directives=s._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Ti.Directives({version:o}),this.setSchema(o,s),this.contents=e===void 0?null:this.createNode(e,i,s)}clone(){let e=Object.create(t.prototype,{[J.NODE_TYPE]:{value:J.DOC}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=J.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Ze(this.contents)&&this.contents.add(e)}addIn(e,n){Ze(this.contents)&&this.contents.addIn(e,n)}createAlias(e,n){if(!e.anchor){let s=Ni.anchorNames(this);e.anchor=!n||s.has(n)?Ni.findNewAnchor(n||"a",s):n}return new kp.Alias(e.anchor)}createNode(e,n,s){let i;if(typeof n=="function")e=n.call({"":e},"",e),i=n;else if(Array.isArray(n)){let m=v=>typeof v=="number"||v instanceof String||v instanceof Number,S=n.filter(m).map(String);S.length>0&&(n=n.concat(S)),i=n}else s===void 0&&n&&(s=n,n=void 0);let{aliasDuplicateObjects:r,anchorPrefix:o,flow:a,keepUndefined:l,onTagObj:c,tag:f}=s??{},{onAnchor:u,setAnchors:d,sourceObjects:h}=Ni.createNodeAnchors(this,o||"a"),y={aliasDuplicateObjects:r??!0,keepUndefined:l??!1,onAnchor:u,onTagObj:c,replacer:i,schema:this.schema,sourceObjects:h},p=Tp.createNode(e,f,y);return a&&J.isCollection(p)&&(p.flow=!0),d(),p}createPair(e,n,s={}){let i=this.createNode(e,null,s),r=this.createNode(n,null,s);return new Ap.Pair(i,r)}delete(e){return Ze(this.contents)?this.contents.delete(e):!1}deleteIn(e){return Xe.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):Ze(this.contents)?this.contents.deleteIn(e):!1}get(e,n){return J.isCollection(this.contents)?this.contents.get(e,n):void 0}getIn(e,n){return Xe.isEmptyPath(e)?!n&&J.isScalar(this.contents)?this.contents.value:this.contents:J.isCollection(this.contents)?this.contents.getIn(e,n):void 0}has(e){return J.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return Xe.isEmptyPath(e)?this.contents!==void 0:J.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,n){this.contents==null?this.contents=Xe.collectionFromPath(this.schema,[e],n):Ze(this.contents)&&this.contents.set(e,n)}setIn(e,n){Xe.isEmptyPath(e)?this.contents=n:this.contents==null?this.contents=Xe.collectionFromPath(this.schema,Array.from(e),n):Ze(this.contents)&&this.contents.setIn(e,n)}setSchema(e,n={}){typeof e=="number"&&(e=String(e));let s;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Ti.Directives({version:"1.1"}),s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Ti.Directives({version:e}),s={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,s=null;break;default:{let i=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(s)this.schema=new Ip.Schema(Object.assign(s,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:n,mapAsMap:s,maxAliasCount:i,onAnchor:r,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},l=_p.toJS(this.contents,n??"",a);if(typeof r=="function")for(let{count:c,res:f}of a.anchors.values())r(f,c);return typeof o=="function"?Np.applyReviver(o,{"":l},"",l):l}toJSON(e,n){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:n})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let n=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${n}`)}return Op.stringifyDocument(this,e)}};function Ze(t){if(J.isCollection(t))return!0;throw new Error("Expected a YAML collection as document contents")}La.Document=Li});var Bt=w(Kt=>{"use strict";var Rt=class extends Error{constructor(e,n,s,i){super(),this.name=e,this.code=s,this.message=i,this.pos=n}},Ci=class extends Rt{constructor(e,n,s){super("YAMLParseError",e,n,s)}},Pi=class extends Rt{constructor(e,n,s){super("YAMLWarning",e,n,s)}},Lp=(t,e)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(a=>e.linePos(a));let{line:s,col:i}=n.linePos[0];n.message+=` at line ${s}, column ${i}`;let r=i-1,o=t.substring(e.lineStarts[s-1],e.lineStarts[s]).replace(/[\n\r]+$/,"");if(r>=60&&o.length>80){let a=Math.min(r-39,o.length-79);o="\u2026"+o.substring(a),r-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),s>1&&/^ *$/.test(o.substring(0,r))){let a=t.substring(e.lineStarts[s-2],e.lineStarts[s-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
60
60
  `),o=a+o}if(/[^ ]/.test(o)){let a=1,l=n.linePos[1];l?.line===s&&l.col>i&&(a=Math.max(1,Math.min(l.col-i,80-r)));let c=" ".repeat(r)+"^".repeat(a);n.message+=`:
61
61
 
62
62
  ${o}
63
63
  ${c}
64
- `}};qt.YAMLError=Dt;qt.YAMLParseError=Ni;qt.YAMLWarning=Li;qt.prettifyError=Op});var Kt=w(Oa=>{"use strict";function Ip(t,{flow:e,indicator:n,next:s,offset:i,onError:r,parentIndent:o,startOnNewline:a}){let l=!1,c=a,f=a,u="",d="",h=!1,y=!1,p=null,m=null,S=null,v=null,A=null,_=null,E=null;for(let k of t)switch(y&&(k.type!=="space"&&k.type!=="newline"&&k.type!=="comma"&&r(k.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),y=!1),p&&(c&&k.type!=="comment"&&k.type!=="newline"&&r(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),p=null),k.type){case"space":!e&&(n!=="doc-start"||s?.type!=="flow-collection")&&k.source.includes(" ")&&(p=k),f=!0;break;case"comment":{f||r(k,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let M=k.source.substring(1)||" ";u?u+=d+M:u=M,d="",c=!1;break}case"newline":c?u?u+=k.source:(!_||n!=="seq-item-ind")&&(l=!0):d+=k.source,c=!0,h=!0,(m||S)&&(v=k),f=!0;break;case"anchor":m&&r(k,"MULTIPLE_ANCHORS","A node can have at most one anchor"),k.source.endsWith(":")&&r(k.offset+k.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),m=k,E??(E=k.offset),c=!1,f=!1,y=!0;break;case"tag":{S&&r(k,"MULTIPLE_TAGS","A node can have at most one tag"),S=k,E??(E=k.offset),c=!1,f=!1,y=!0;break}case n:(m||S)&&r(k,"BAD_PROP_ORDER",`Anchors and tags must be after the ${k.source} indicator`),_&&r(k,"UNEXPECTED_TOKEN",`Unexpected ${k.source} in ${e??"collection"}`),_=k,c=n==="seq-item-ind"||n==="explicit-key-ind",f=!1;break;case"comma":if(e){A&&r(k,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),A=k,c=!1,f=!1;break}default:r(k,"UNEXPECTED_TOKEN",`Unexpected ${k.type} token`),c=!1,f=!1}let O=t[t.length-1],T=O?O.offset+O.source.length:i;return y&&s&&s.type!=="space"&&s.type!=="newline"&&s.type!=="comma"&&(s.type!=="scalar"||s.source!=="")&&r(s.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p&&(c&&p.indent<=o||s?.type==="block-map"||s?.type==="block-seq")&&r(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:A,found:_,spaceBefore:l,comment:u,hasNewline:h,anchor:m,tag:S,newlineAfterProp:v,end:T,start:E??T}}Oa.resolveProps=Ip});var Wn=w(Ia=>{"use strict";function Ci(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes(`
65
- `))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let n of e.start)if(n.type==="newline")return!0;if(e.sep){for(let n of e.sep)if(n.type==="newline")return!0}if(Ci(e.key)||Ci(e.value))return!0}return!1;default:return!0}}Ia.containsNewline=Ci});var Pi=w(Ta=>{"use strict";var Tp=Wn();function Np(t,e,n){if(e?.type==="flow-collection"){let s=e.end[0];s.indent===t&&(s.source==="]"||s.source==="}")&&Tp.containsNewline(e)&&n(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Ta.flowIndentCheck=Np});var Mi=w(La=>{"use strict";var Na=I();function Lp(t,e,n){let{uniqueKeys:s}=t.options;if(s===!1)return!1;let i=typeof s=="function"?s:(r,o)=>r===o||Na.isScalar(r)&&Na.isScalar(o)&&r.value===o.value;return e.some(r=>i(r.key,n))}La.mapIncludes=Lp});var qa=w(Da=>{"use strict";var Ca=ve(),Cp=Ee(),Pa=Kt(),Pp=Wn(),Ma=Pi(),Mp=Mi(),$a="All mapping items must start at the same column";function $p({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=r?.nodeClass??Cp.YAMLMap,a=new o(n.schema);n.atRoot&&(n.atRoot=!1);let l=s.offset,c=null;for(let f of s.items){let{start:u,key:d,sep:h,value:y}=f,p=Pa.resolveProps(u,{indicator:"explicit-key-ind",next:d??h?.[0],offset:l,onError:i,parentIndent:s.indent,startOnNewline:!0}),m=!p.found;if(m){if(d&&(d.type==="block-seq"?i(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in d&&d.indent!==s.indent&&i(l,"BAD_INDENT",$a)),!p.anchor&&!p.tag&&!h){c=p.end,p.comment&&(a.comment?a.comment+=`
66
- `+p.comment:a.comment=p.comment);continue}(p.newlineAfterProp||Pp.containsNewline(d))&&i(d??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else p.found?.indent!==s.indent&&i(l,"BAD_INDENT",$a);n.atKey=!0;let S=p.end,v=d?t(n,d,p,i):e(n,S,u,null,p,i);n.schema.compat&&Ma.flowIndentCheck(s.indent,d,i),n.atKey=!1,Mp.mapIncludes(n,a.items,v)&&i(S,"DUPLICATE_KEY","Map keys must be unique");let A=Pa.resolveProps(h??[],{indicator:"map-value-ind",next:y,offset:v.range[2],onError:i,parentIndent:s.indent,startOnNewline:!d||d.type==="block-scalar"});if(l=A.end,A.found){m&&(y?.type==="block-map"&&!A.hasNewline&&i(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&p.start<A.found.offset-1024&&i(v.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let _=y?t(n,y,A,i):e(n,l,h,null,A,i);n.schema.compat&&Ma.flowIndentCheck(s.indent,y,i),l=_.range[2];let E=new Ca.Pair(v,_);n.options.keepSourceTokens&&(E.srcToken=f),a.items.push(E)}else{m&&i(v.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),A.comment&&(v.comment?v.comment+=`
67
- `+A.comment:v.comment=A.comment);let _=new Ca.Pair(v);n.options.keepSourceTokens&&(_.srcToken=f),a.items.push(_)}}return c&&c<l&&i(c,"IMPOSSIBLE","Map comment with trailing content"),a.range=[s.offset,l,c??l],a}Da.resolveBlockMap=$p});var Ka=w(Ra=>{"use strict";var Dp=Ae(),qp=Kt(),Rp=Pi();function Kp({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=r?.nodeClass??Dp.YAMLSeq,a=new o(n.schema);n.atRoot&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let l=s.offset,c=null;for(let{start:f,value:u}of s.items){let d=qp.resolveProps(f,{indicator:"seq-item-ind",next:u,offset:l,onError:i,parentIndent:s.indent,startOnNewline:!0});if(!d.found)if(d.anchor||d.tag||u)u?.type==="block-seq"?i(d.end,"BAD_INDENT","All sequence items must start at the same column"):i(l,"MISSING_CHAR","Sequence item without - indicator");else{c=d.end,d.comment&&(a.comment=d.comment);continue}let h=u?t(n,u,d,i):e(n,d.end,f,null,d,i);n.schema.compat&&Rp.flowIndentCheck(s.indent,u,i),l=h.range[2],a.items.push(h)}return a.range=[s.offset,l,c??l],a}Ra.resolveBlockSeq=Kp});var Ze=w(Ba=>{"use strict";function Bp(t,e,n,s){let i="";if(t){let r=!1,o="";for(let a of t){let{source:l,type:c}=a;switch(c){case"space":r=!0;break;case"comment":{n&&!r&&s(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let f=l.substring(1)||" ";i?i+=o+f:i=f,o="";break}case"newline":i&&(o+=l),r=!0;break;default:s(a,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}e+=l.length}}return{comment:i,offset:e}}Ba.resolveEnd=Bp});var ja=w(Ua=>{"use strict";var xp=I(),Fp=ve(),xa=Ee(),Up=Ae(),jp=Ze(),Fa=Kt(),Yp=Wn(),Hp=Mi(),$i="Block collections are not allowed within flow collections",Di=t=>t&&(t.type==="block-map"||t.type==="block-seq");function Gp({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=s.start.source==="{",a=o?"flow map":"flow sequence",l=r?.nodeClass??(o?xa.YAMLMap:Up.YAMLSeq),c=new l(n.schema);c.flow=!0;let f=n.atRoot;f&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let u=s.offset+s.start.source.length;for(let m=0;m<s.items.length;++m){let S=s.items[m],{start:v,key:A,sep:_,value:E}=S,O=Fa.resolveProps(v,{flow:a,indicator:"explicit-key-ind",next:A??_?.[0],offset:u,onError:i,parentIndent:s.indent,startOnNewline:!1});if(!O.found){if(!O.anchor&&!O.tag&&!_&&!E){m===0&&O.comma?i(O.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):m<s.items.length-1&&i(O.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),O.comment&&(c.comment?c.comment+=`
68
- `+O.comment:c.comment=O.comment),u=O.end;continue}!o&&n.options.strict&&Yp.containsNewline(A)&&i(A,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(m===0)O.comma&&i(O.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(O.comma||i(O.start,"MISSING_CHAR",`Missing , between ${a} items`),O.comment){let T="";e:for(let k of v)switch(k.type){case"comma":case"space":break;case"comment":T=k.source.substring(1);break e;default:break e}if(T){let k=c.items[c.items.length-1];xp.isPair(k)&&(k=k.value??k.key),k.comment?k.comment+=`
69
- `+T:k.comment=T,O.comment=O.comment.substring(T.length+1)}}if(!o&&!_&&!O.found){let T=E?t(n,E,O,i):e(n,O.end,_,null,O,i);c.items.push(T),u=T.range[2],Di(E)&&i(T.range,"BLOCK_IN_FLOW",$i)}else{n.atKey=!0;let T=O.end,k=A?t(n,A,O,i):e(n,T,v,null,O,i);Di(A)&&i(k.range,"BLOCK_IN_FLOW",$i),n.atKey=!1;let M=Fa.resolveProps(_??[],{flow:a,indicator:"map-value-ind",next:E,offset:k.range[2],onError:i,parentIndent:s.indent,startOnNewline:!1});if(M.found){if(!o&&!O.found&&n.options.strict){if(_)for(let D of _){if(D===M.found)break;if(D.type==="newline"){i(D,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}O.start<M.found.offset-1024&&i(M.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else E&&("source"in E&&E.source?.[0]===":"?i(E,"MISSING_CHAR",`Missing space after : in ${a}`):i(M.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let me=E?t(n,E,M,i):M.found?e(n,M.end,_,null,M,i):null;me?Di(E)&&i(me.range,"BLOCK_IN_FLOW",$i):M.comment&&(k.comment?k.comment+=`
70
- `+M.comment:k.comment=M.comment);let je=new Fp.Pair(k,me);if(n.options.keepSourceTokens&&(je.srcToken=S),o){let D=c;Hp.mapIncludes(n,D.items,k)&&i(T,"DUPLICATE_KEY","Map keys must be unique"),D.items.push(je)}else{let D=new xa.YAMLMap(n.schema);D.flow=!0,D.items.push(je);let jr=(me??k).range;D.range=[k.range[0],jr[1],jr[2]],c.items.push(D)}u=me?me.range[2]:M.end}}let d=o?"}":"]",[h,...y]=s.end,p=u;if(h?.source===d)p=h.offset+h.source.length;else{let m=a[0].toUpperCase()+a.substring(1),S=f?`${m} must end with a ${d}`:`${m} in block collection must be sufficiently indented and end with a ${d}`;i(u,f?"MISSING_CHAR":"BAD_INDENT",S),h&&h.source.length!==1&&y.unshift(h)}if(y.length>0){let m=jp.resolveEnd(y,p,n.options.strict,i);m.comment&&(c.comment?c.comment+=`
71
- `+m.comment:c.comment=m.comment),c.range=[s.offset,p,m.offset]}else c.range=[s.offset,p,p];return c}Ua.resolveFlowCollection=Gp});var Ha=w(Ya=>{"use strict";var Vp=I(),Wp=$(),Jp=Ee(),Qp=Ae(),zp=qa(),Xp=Ka(),Zp=ja();function qi(t,e,n,s,i,r){let o=n.type==="block-map"?zp.resolveBlockMap(t,e,n,s,r):n.type==="block-seq"?Xp.resolveBlockSeq(t,e,n,s,r):Zp.resolveFlowCollection(t,e,n,s,r),a=o.constructor;return i==="!"||i===a.tagName?(o.tag=a.tagName,o):(i&&(o.tag=i),o)}function eh(t,e,n,s,i){let r=s.tag,o=r?e.directives.tagName(r.source,d=>i(r,"TAG_RESOLVE_FAILED",d)):null;if(n.type==="block-seq"){let{anchor:d,newlineAfterProp:h}=s,y=d&&r?d.offset>r.offset?d:r:d??r;y&&(!h||h.offset<y.offset)&&i(y,"MISSING_CHAR","Missing newline after block sequence props")}let a=n.type==="block-map"?"map":n.type==="block-seq"?"seq":n.start.source==="{"?"map":"seq";if(!r||!o||o==="!"||o===Jp.YAMLMap.tagName&&a==="map"||o===Qp.YAMLSeq.tagName&&a==="seq")return qi(t,e,n,i,o);let l=e.schema.tags.find(d=>d.tag===o&&d.collection===a);if(!l){let d=e.schema.knownTags[o];if(d?.collection===a)e.schema.tags.push(Object.assign({},d,{default:!1})),l=d;else return d?i(r,"BAD_COLLECTION_TYPE",`${d.tag} used for ${a} collection, but expects ${d.collection??"scalar"}`,!0):i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),qi(t,e,n,i,o)}let c=qi(t,e,n,i,o,l),f=l.resolve?.(c,d=>i(r,"TAG_RESOLVE_FAILED",d),e.options)??c,u=Vp.isNode(f)?f:new Wp.Scalar(f);return u.range=c.range,u.tag=o,l?.format&&(u.format=l.format),u}Ya.composeCollection=eh});var Ki=w(Ga=>{"use strict";var Ri=$();function th(t,e,n){let s=e.offset,i=nh(e,t.options.strict,n);if(!i)return{value:"",type:null,comment:"",range:[s,s,s]};let r=i.mode===">"?Ri.Scalar.BLOCK_FOLDED:Ri.Scalar.BLOCK_LITERAL,o=e.source?sh(e.source):[],a=o.length;for(let p=o.length-1;p>=0;--p){let m=o[p][1];if(m===""||m==="\r")a=p;else break}if(a===0){let p=i.chomp==="+"&&o.length>0?`
64
+ `}};Kt.YAMLError=Rt;Kt.YAMLParseError=Ci;Kt.YAMLWarning=Pi;Kt.prettifyError=Lp});var xt=w(Ca=>{"use strict";function Cp(t,{flow:e,indicator:n,next:s,offset:i,onError:r,parentIndent:o,startOnNewline:a}){let l=!1,c=a,f=a,u="",d="",h=!1,y=!1,p=null,m=null,S=null,v=null,A=null,_=null,k=null;for(let E of t)switch(y&&(E.type!=="space"&&E.type!=="newline"&&E.type!=="comma"&&r(E.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),y=!1),p&&(c&&E.type!=="comment"&&E.type!=="newline"&&r(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),p=null),E.type){case"space":!e&&(n!=="doc-start"||s?.type!=="flow-collection")&&E.source.includes(" ")&&(p=E),f=!0;break;case"comment":{f||r(E,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let M=E.source.substring(1)||" ";u?u+=d+M:u=M,d="",c=!1;break}case"newline":c?u?u+=E.source:(!_||n!=="seq-item-ind")&&(l=!0):d+=E.source,c=!0,h=!0,(m||S)&&(v=E),f=!0;break;case"anchor":m&&r(E,"MULTIPLE_ANCHORS","A node can have at most one anchor"),E.source.endsWith(":")&&r(E.offset+E.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),m=E,k??(k=E.offset),c=!1,f=!1,y=!0;break;case"tag":{S&&r(E,"MULTIPLE_TAGS","A node can have at most one tag"),S=E,k??(k=E.offset),c=!1,f=!1,y=!0;break}case n:(m||S)&&r(E,"BAD_PROP_ORDER",`Anchors and tags must be after the ${E.source} indicator`),_&&r(E,"UNEXPECTED_TOKEN",`Unexpected ${E.source} in ${e??"collection"}`),_=E,c=n==="seq-item-ind"||n==="explicit-key-ind",f=!1;break;case"comma":if(e){A&&r(E,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),A=E,c=!1,f=!1;break}default:r(E,"UNEXPECTED_TOKEN",`Unexpected ${E.type} token`),c=!1,f=!1}let I=t[t.length-1],N=I?I.offset+I.source.length:i;return y&&s&&s.type!=="space"&&s.type!=="newline"&&s.type!=="comma"&&(s.type!=="scalar"||s.source!=="")&&r(s.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p&&(c&&p.indent<=o||s?.type==="block-map"||s?.type==="block-seq")&&r(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:A,found:_,spaceBefore:l,comment:u,hasNewline:h,anchor:m,tag:S,newlineAfterProp:v,end:N,start:k??N}}Ca.resolveProps=Cp});var zn=w(Pa=>{"use strict";function Mi(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes(`
65
+ `))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let n of e.start)if(n.type==="newline")return!0;if(e.sep){for(let n of e.sep)if(n.type==="newline")return!0}if(Mi(e.key)||Mi(e.value))return!0}return!1;default:return!0}}Pa.containsNewline=Mi});var $i=w(Ma=>{"use strict";var Pp=zn();function Mp(t,e,n){if(e?.type==="flow-collection"){let s=e.end[0];s.indent===t&&(s.source==="]"||s.source==="}")&&Pp.containsNewline(e)&&n(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Ma.flowIndentCheck=Mp});var Di=w(Da=>{"use strict";var $a=O();function $p(t,e,n){let{uniqueKeys:s}=t.options;if(s===!1)return!1;let i=typeof s=="function"?s:(r,o)=>r===o||$a.isScalar(r)&&$a.isScalar(o)&&r.value===o.value;return e.some(r=>i(r.key,n))}Da.mapIncludes=$p});var Fa=w(xa=>{"use strict";var qa=Ee(),Dp=Ae(),Ra=xt(),qp=zn(),Ka=$i(),Rp=Di(),Ba="All mapping items must start at the same column";function Kp({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=r?.nodeClass??Dp.YAMLMap,a=new o(n.schema);n.atRoot&&(n.atRoot=!1);let l=s.offset,c=null;for(let f of s.items){let{start:u,key:d,sep:h,value:y}=f,p=Ra.resolveProps(u,{indicator:"explicit-key-ind",next:d??h?.[0],offset:l,onError:i,parentIndent:s.indent,startOnNewline:!0}),m=!p.found;if(m){if(d&&(d.type==="block-seq"?i(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in d&&d.indent!==s.indent&&i(l,"BAD_INDENT",Ba)),!p.anchor&&!p.tag&&!h){c=p.end,p.comment&&(a.comment?a.comment+=`
66
+ `+p.comment:a.comment=p.comment);continue}(p.newlineAfterProp||qp.containsNewline(d))&&i(d??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else p.found?.indent!==s.indent&&i(l,"BAD_INDENT",Ba);n.atKey=!0;let S=p.end,v=d?t(n,d,p,i):e(n,S,u,null,p,i);n.schema.compat&&Ka.flowIndentCheck(s.indent,d,i),n.atKey=!1,Rp.mapIncludes(n,a.items,v)&&i(S,"DUPLICATE_KEY","Map keys must be unique");let A=Ra.resolveProps(h??[],{indicator:"map-value-ind",next:y,offset:v.range[2],onError:i,parentIndent:s.indent,startOnNewline:!d||d.type==="block-scalar"});if(l=A.end,A.found){m&&(y?.type==="block-map"&&!A.hasNewline&&i(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&p.start<A.found.offset-1024&&i(v.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let _=y?t(n,y,A,i):e(n,l,h,null,A,i);n.schema.compat&&Ka.flowIndentCheck(s.indent,y,i),l=_.range[2];let k=new qa.Pair(v,_);n.options.keepSourceTokens&&(k.srcToken=f),a.items.push(k)}else{m&&i(v.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),A.comment&&(v.comment?v.comment+=`
67
+ `+A.comment:v.comment=A.comment);let _=new qa.Pair(v);n.options.keepSourceTokens&&(_.srcToken=f),a.items.push(_)}}return c&&c<l&&i(c,"IMPOSSIBLE","Map comment with trailing content"),a.range=[s.offset,l,c??l],a}xa.resolveBlockMap=Kp});var ja=w(Ua=>{"use strict";var Bp=_e(),xp=xt(),Fp=$i();function Up({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=r?.nodeClass??Bp.YAMLSeq,a=new o(n.schema);n.atRoot&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let l=s.offset,c=null;for(let{start:f,value:u}of s.items){let d=xp.resolveProps(f,{indicator:"seq-item-ind",next:u,offset:l,onError:i,parentIndent:s.indent,startOnNewline:!0});if(!d.found)if(d.anchor||d.tag||u)u?.type==="block-seq"?i(d.end,"BAD_INDENT","All sequence items must start at the same column"):i(l,"MISSING_CHAR","Sequence item without - indicator");else{c=d.end,d.comment&&(a.comment=d.comment);continue}let h=u?t(n,u,d,i):e(n,d.end,f,null,d,i);n.schema.compat&&Fp.flowIndentCheck(s.indent,u,i),l=h.range[2],a.items.push(h)}return a.range=[s.offset,l,c??l],a}Ua.resolveBlockSeq=Up});var et=w(Ya=>{"use strict";function jp(t,e,n,s){let i="";if(t){let r=!1,o="";for(let a of t){let{source:l,type:c}=a;switch(c){case"space":r=!0;break;case"comment":{n&&!r&&s(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let f=l.substring(1)||" ";i?i+=o+f:i=f,o="";break}case"newline":i&&(o+=l),r=!0;break;default:s(a,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}e+=l.length}}return{comment:i,offset:e}}Ya.resolveEnd=jp});var Wa=w(Va=>{"use strict";var Yp=O(),Hp=Ee(),Ha=Ae(),Gp=_e(),Vp=et(),Ga=xt(),Wp=zn(),Jp=Di(),qi="Block collections are not allowed within flow collections",Ri=t=>t&&(t.type==="block-map"||t.type==="block-seq");function Qp({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=s.start.source==="{",a=o?"flow map":"flow sequence",l=r?.nodeClass??(o?Ha.YAMLMap:Gp.YAMLSeq),c=new l(n.schema);c.flow=!0;let f=n.atRoot;f&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let u=s.offset+s.start.source.length;for(let m=0;m<s.items.length;++m){let S=s.items[m],{start:v,key:A,sep:_,value:k}=S,I=Ga.resolveProps(v,{flow:a,indicator:"explicit-key-ind",next:A??_?.[0],offset:u,onError:i,parentIndent:s.indent,startOnNewline:!1});if(!I.found){if(!I.anchor&&!I.tag&&!_&&!k){m===0&&I.comma?i(I.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):m<s.items.length-1&&i(I.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),I.comment&&(c.comment?c.comment+=`
68
+ `+I.comment:c.comment=I.comment),u=I.end;continue}!o&&n.options.strict&&Wp.containsNewline(A)&&i(A,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(m===0)I.comma&&i(I.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(I.comma||i(I.start,"MISSING_CHAR",`Missing , between ${a} items`),I.comment){let N="";e:for(let E of v)switch(E.type){case"comma":case"space":break;case"comment":N=E.source.substring(1);break e;default:break e}if(N){let E=c.items[c.items.length-1];Yp.isPair(E)&&(E=E.value??E.key),E.comment?E.comment+=`
69
+ `+N:E.comment=N,I.comment=I.comment.substring(N.length+1)}}if(!o&&!_&&!I.found){let N=k?t(n,k,I,i):e(n,I.end,_,null,I,i);c.items.push(N),u=N.range[2],Ri(k)&&i(N.range,"BLOCK_IN_FLOW",qi)}else{n.atKey=!0;let N=I.end,E=A?t(n,A,I,i):e(n,N,v,null,I,i);Ri(A)&&i(E.range,"BLOCK_IN_FLOW",qi),n.atKey=!1;let M=Ga.resolveProps(_??[],{flow:a,indicator:"map-value-ind",next:k,offset:E.range[2],onError:i,parentIndent:s.indent,startOnNewline:!1});if(M.found){if(!o&&!I.found&&n.options.strict){if(_)for(let D of _){if(D===M.found)break;if(D.type==="newline"){i(D,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}I.start<M.found.offset-1024&&i(M.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else k&&("source"in k&&k.source?.[0]===":"?i(k,"MISSING_CHAR",`Missing space after : in ${a}`):i(M.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let me=k?t(n,k,M,i):M.found?e(n,M.end,_,null,M,i):null;me?Ri(k)&&i(me.range,"BLOCK_IN_FLOW",qi):M.comment&&(E.comment?E.comment+=`
70
+ `+M.comment:E.comment=M.comment);let Ye=new Hp.Pair(E,me);if(n.options.keepSourceTokens&&(Ye.srcToken=S),o){let D=c;Jp.mapIncludes(n,D.items,E)&&i(N,"DUPLICATE_KEY","Map keys must be unique"),D.items.push(Ye)}else{let D=new Ha.YAMLMap(n.schema);D.flow=!0,D.items.push(Ye);let Hr=(me??E).range;D.range=[E.range[0],Hr[1],Hr[2]],c.items.push(D)}u=me?me.range[2]:M.end}}let d=o?"}":"]",[h,...y]=s.end,p=u;if(h?.source===d)p=h.offset+h.source.length;else{let m=a[0].toUpperCase()+a.substring(1),S=f?`${m} must end with a ${d}`:`${m} in block collection must be sufficiently indented and end with a ${d}`;i(u,f?"MISSING_CHAR":"BAD_INDENT",S),h&&h.source.length!==1&&y.unshift(h)}if(y.length>0){let m=Vp.resolveEnd(y,p,n.options.strict,i);m.comment&&(c.comment?c.comment+=`
71
+ `+m.comment:c.comment=m.comment),c.range=[s.offset,p,m.offset]}else c.range=[s.offset,p,p];return c}Va.resolveFlowCollection=Qp});var Qa=w(Ja=>{"use strict";var zp=O(),Xp=$(),Zp=Ae(),eh=_e(),th=Fa(),nh=ja(),sh=Wa();function Ki(t,e,n,s,i,r){let o=n.type==="block-map"?th.resolveBlockMap(t,e,n,s,r):n.type==="block-seq"?nh.resolveBlockSeq(t,e,n,s,r):sh.resolveFlowCollection(t,e,n,s,r),a=o.constructor;return i==="!"||i===a.tagName?(o.tag=a.tagName,o):(i&&(o.tag=i),o)}function ih(t,e,n,s,i){let r=s.tag,o=r?e.directives.tagName(r.source,d=>i(r,"TAG_RESOLVE_FAILED",d)):null;if(n.type==="block-seq"){let{anchor:d,newlineAfterProp:h}=s,y=d&&r?d.offset>r.offset?d:r:d??r;y&&(!h||h.offset<y.offset)&&i(y,"MISSING_CHAR","Missing newline after block sequence props")}let a=n.type==="block-map"?"map":n.type==="block-seq"?"seq":n.start.source==="{"?"map":"seq";if(!r||!o||o==="!"||o===Zp.YAMLMap.tagName&&a==="map"||o===eh.YAMLSeq.tagName&&a==="seq")return Ki(t,e,n,i,o);let l=e.schema.tags.find(d=>d.tag===o&&d.collection===a);if(!l){let d=e.schema.knownTags[o];if(d?.collection===a)e.schema.tags.push(Object.assign({},d,{default:!1})),l=d;else return d?i(r,"BAD_COLLECTION_TYPE",`${d.tag} used for ${a} collection, but expects ${d.collection??"scalar"}`,!0):i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),Ki(t,e,n,i,o)}let c=Ki(t,e,n,i,o,l),f=l.resolve?.(c,d=>i(r,"TAG_RESOLVE_FAILED",d),e.options)??c,u=zp.isNode(f)?f:new Xp.Scalar(f);return u.range=c.range,u.tag=o,l?.format&&(u.format=l.format),u}Ja.composeCollection=ih});var xi=w(za=>{"use strict";var Bi=$();function rh(t,e,n){let s=e.offset,i=oh(e,t.options.strict,n);if(!i)return{value:"",type:null,comment:"",range:[s,s,s]};let r=i.mode===">"?Bi.Scalar.BLOCK_FOLDED:Bi.Scalar.BLOCK_LITERAL,o=e.source?ah(e.source):[],a=o.length;for(let p=o.length-1;p>=0;--p){let m=o[p][1];if(m===""||m==="\r")a=p;else break}if(a===0){let p=i.chomp==="+"&&o.length>0?`
72
72
  `.repeat(Math.max(1,o.length-1)):"",m=s+i.length;return e.source&&(m+=e.source.length),{value:p,type:r,comment:i.comment,range:[s,m,m]}}let l=e.indent+i.indent,c=e.offset+i.length,f=0;for(let p=0;p<a;++p){let[m,S]=o[p];if(S===""||S==="\r")i.indent===0&&m.length>l&&(l=m.length);else{m.length<l&&n(c+m.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),i.indent===0&&(l=m.length),f=p,l===0&&!t.atRoot&&n(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=m.length+S.length+1}for(let p=o.length-1;p>=a;--p)o[p][0].length>l&&(a=p+1);let u="",d="",h=!1;for(let p=0;p<f;++p)u+=o[p][0].slice(l)+`
73
- `;for(let p=f;p<a;++p){let[m,S]=o[p];c+=m.length+S.length+1;let v=S[S.length-1]==="\r";if(v&&(S=S.slice(0,-1)),S&&m.length<l){let _=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;n(c-S.length-(v?2:1),"BAD_INDENT",_),m=""}r===Ri.Scalar.BLOCK_LITERAL?(u+=d+m.slice(l)+S,d=`
73
+ `;for(let p=f;p<a;++p){let[m,S]=o[p];c+=m.length+S.length+1;let v=S[S.length-1]==="\r";if(v&&(S=S.slice(0,-1)),S&&m.length<l){let _=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;n(c-S.length-(v?2:1),"BAD_INDENT",_),m=""}r===Bi.Scalar.BLOCK_LITERAL?(u+=d+m.slice(l)+S,d=`
74
74
  `):m.length>l||S[0]===" "?(d===" "?d=`
75
75
  `:!h&&d===`
76
76
  `&&(d=`
@@ -83,66 +83,66 @@ ${c}
83
83
  `+o[p][0].slice(l);u[u.length-1]!==`
84
84
  `&&(u+=`
85
85
  `);break;default:u+=`
86
- `}let y=s+i.length+e.source.length;return{value:u,type:r,comment:i.comment,range:[s,y,y]}}function nh({offset:t,props:e},n,s){if(e[0].type!=="block-scalar-header")return s(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=e[0],r=i[0],o=0,a="",l=-1;for(let d=1;d<i.length;++d){let h=i[d];if(!a&&(h==="-"||h==="+"))a=h;else{let y=Number(h);!o&&y?o=y:l===-1&&(l=t+d)}}l!==-1&&s(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,f="",u=i.length;for(let d=1;d<e.length;++d){let h=e[d];switch(h.type){case"space":c=!0;case"newline":u+=h.source.length;break;case"comment":n&&!c&&s(h,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),u+=h.source.length,f=h.source.substring(1);break;case"error":s(h,"UNEXPECTED_TOKEN",h.message),u+=h.source.length;break;default:{let y=`Unexpected token in block scalar header: ${h.type}`;s(h,"UNEXPECTED_TOKEN",y);let p=h.source;p&&typeof p=="string"&&(u+=p.length)}}}return{mode:r,indent:o,chomp:a,comment:f,length:u}}function sh(t){let e=t.split(/\n( *)/),n=e[0],s=n.match(/^( *)/),r=[s?.[1]?[s[1],n.slice(s[1].length)]:["",n]];for(let o=1;o<e.length;o+=2)r.push([e[o],e[o+1]]);return r}Ga.resolveBlockScalar=th});var xi=w(Wa=>{"use strict";var Bi=$(),ih=Ze();function rh(t,e,n){let{offset:s,type:i,source:r,end:o}=t,a,l,c=(d,h,y)=>n(s+d,h,y);switch(i){case"scalar":a=Bi.Scalar.PLAIN,l=oh(r,c);break;case"single-quoted-scalar":a=Bi.Scalar.QUOTE_SINGLE,l=ah(r,c);break;case"double-quoted-scalar":a=Bi.Scalar.QUOTE_DOUBLE,l=lh(r,c);break;default:return n(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[s,s+r.length,s+r.length]}}let f=s+r.length,u=ih.resolveEnd(o,f,e,n);return{value:l,type:a,comment:u.comment,range:[s,f,u.offset]}}function oh(t,e){let n="";switch(t[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":{n=`block scalar indicator ${t[0]}`;break}case"@":case"`":{n=`reserved character ${t[0]}`;break}}return n&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),Va(t)}function ah(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),Va(t.slice(1,-1)).replace(/''/g,"'")}function Va(t){let e,n;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
86
+ `}let y=s+i.length+e.source.length;return{value:u,type:r,comment:i.comment,range:[s,y,y]}}function oh({offset:t,props:e},n,s){if(e[0].type!=="block-scalar-header")return s(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=e[0],r=i[0],o=0,a="",l=-1;for(let d=1;d<i.length;++d){let h=i[d];if(!a&&(h==="-"||h==="+"))a=h;else{let y=Number(h);!o&&y?o=y:l===-1&&(l=t+d)}}l!==-1&&s(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,f="",u=i.length;for(let d=1;d<e.length;++d){let h=e[d];switch(h.type){case"space":c=!0;case"newline":u+=h.source.length;break;case"comment":n&&!c&&s(h,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),u+=h.source.length,f=h.source.substring(1);break;case"error":s(h,"UNEXPECTED_TOKEN",h.message),u+=h.source.length;break;default:{let y=`Unexpected token in block scalar header: ${h.type}`;s(h,"UNEXPECTED_TOKEN",y);let p=h.source;p&&typeof p=="string"&&(u+=p.length)}}}return{mode:r,indent:o,chomp:a,comment:f,length:u}}function ah(t){let e=t.split(/\n( *)/),n=e[0],s=n.match(/^( *)/),r=[s?.[1]?[s[1],n.slice(s[1].length)]:["",n]];for(let o=1;o<e.length;o+=2)r.push([e[o],e[o+1]]);return r}za.resolveBlockScalar=rh});var Ui=w(Za=>{"use strict";var Fi=$(),lh=et();function ch(t,e,n){let{offset:s,type:i,source:r,end:o}=t,a,l,c=(d,h,y)=>n(s+d,h,y);switch(i){case"scalar":a=Fi.Scalar.PLAIN,l=uh(r,c);break;case"single-quoted-scalar":a=Fi.Scalar.QUOTE_SINGLE,l=fh(r,c);break;case"double-quoted-scalar":a=Fi.Scalar.QUOTE_DOUBLE,l=dh(r,c);break;default:return n(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[s,s+r.length,s+r.length]}}let f=s+r.length,u=lh.resolveEnd(o,f,e,n);return{value:l,type:a,comment:u.comment,range:[s,f,u.offset]}}function uh(t,e){let n="";switch(t[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":{n=`block scalar indicator ${t[0]}`;break}case"@":case"`":{n=`reserved character ${t[0]}`;break}}return n&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),Xa(t)}function fh(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),Xa(t.slice(1,-1)).replace(/''/g,"'")}function Xa(t){let e,n;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
87
87
  `,"sy"),n=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
88
88
  `,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,n=/[ \t]*(.*?)[ \t]*\r?\n/sy}let s=e.exec(t);if(!s)return t;let i=s[1],r=" ",o=e.lastIndex;for(n.lastIndex=o;s=n.exec(t);)s[1]===""?r===`
89
89
  `?i+=r:r=`
90
- `:(i+=r+s[1],r=" "),o=n.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=o,s=a.exec(t),i+r+(s?.[1]??"")}function lh(t,e){let n="";for(let s=1;s<t.length-1;++s){let i=t[s];if(!(i==="\r"&&t[s+1]===`
90
+ `:(i+=r+s[1],r=" "),o=n.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=o,s=a.exec(t),i+r+(s?.[1]??"")}function dh(t,e){let n="";for(let s=1;s<t.length-1;++s){let i=t[s];if(!(i==="\r"&&t[s+1]===`
91
91
  `))if(i===`
92
- `){let{fold:r,offset:o}=ch(t,s);n+=r,s=o}else if(i==="\\"){let r=t[++s],o=uh[r];if(o)n+=o;else if(r===`
92
+ `){let{fold:r,offset:o}=ph(t,s);n+=r,s=o}else if(i==="\\"){let r=t[++s],o=hh[r];if(o)n+=o;else if(r===`
93
93
  `)for(r=t[s+1];r===" "||r===" ";)r=t[++s+1];else if(r==="\r"&&t[s+1]===`
94
- `)for(r=t[++s+1];r===" "||r===" ";)r=t[++s+1];else if(r==="x"||r==="u"||r==="U"){let a={x:2,u:4,U:8}[r];n+=fh(t,s+1,a,e),s+=a}else{let a=t.substr(s-1,2);e(s-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),n+=a}}else if(i===" "||i===" "){let r=s,o=t[s+1];for(;o===" "||o===" ";)o=t[++s+1];o!==`
94
+ `)for(r=t[++s+1];r===" "||r===" ";)r=t[++s+1];else if(r==="x"||r==="u"||r==="U"){let a={x:2,u:4,U:8}[r];n+=mh(t,s+1,a,e),s+=a}else{let a=t.substr(s-1,2);e(s-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),n+=a}}else if(i===" "||i===" "){let r=s,o=t[s+1];for(;o===" "||o===" ";)o=t[++s+1];o!==`
95
95
  `&&!(o==="\r"&&t[s+2]===`
96
- `)&&(n+=s>r?t.slice(r,s+1):i)}else n+=i}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),n}function ch(t,e){let n="",s=t[e+1];for(;(s===" "||s===" "||s===`
96
+ `)&&(n+=s>r?t.slice(r,s+1):i)}else n+=i}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),n}function ph(t,e){let n="",s=t[e+1];for(;(s===" "||s===" "||s===`
97
97
  `||s==="\r")&&!(s==="\r"&&t[e+2]!==`
98
98
  `);)s===`
99
99
  `&&(n+=`
100
- `),e+=1,s=t[e+1];return n||(n=" "),{fold:n,offset:e}}var uh={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
101
- `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function fh(t,e,n,s){let i=t.substr(e,n),o=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;if(isNaN(o)){let a=t.substr(e-2,n+2);return s(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}Wa.resolveFlowScalar=rh});var za=w(Qa=>{"use strict";var De=I(),Ja=$(),dh=Ki(),ph=xi();function hh(t,e,n,s){let{value:i,type:r,comment:o,range:a}=e.type==="block-scalar"?dh.resolveBlockScalar(t,e,s):ph.resolveFlowScalar(e,t.options.strict,s),l=n?t.directives.tagName(n.source,u=>s(n,"TAG_RESOLVE_FAILED",u)):null,c;t.options.stringKeys&&t.atKey?c=t.schema[De.SCALAR]:l?c=mh(t.schema,i,l,n,s):e.type==="scalar"?c=gh(t,i,e,s):c=t.schema[De.SCALAR];let f;try{let u=c.resolve(i,d=>s(n??e,"TAG_RESOLVE_FAILED",d),t.options);f=De.isScalar(u)?u:new Ja.Scalar(u)}catch(u){let d=u instanceof Error?u.message:String(u);s(n??e,"TAG_RESOLVE_FAILED",d),f=new Ja.Scalar(i)}return f.range=a,f.source=i,r&&(f.type=r),l&&(f.tag=l),c.format&&(f.format=c.format),o&&(f.comment=o),f}function mh(t,e,n,s,i){if(n==="!")return t[De.SCALAR];let r=[];for(let a of t.tags)if(!a.collection&&a.tag===n)if(a.default&&a.test)r.push(a);else return a;for(let a of r)if(a.test?.test(e))return a;let o=t.knownTags[n];return o&&!o.collection?(t.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),t[De.SCALAR])}function gh({atKey:t,directives:e,schema:n},s,i,r){let o=n.tags.find(a=>(a.default===!0||t&&a.default==="key")&&a.test?.test(s))||n[De.SCALAR];if(n.compat){let a=n.compat.find(l=>l.default&&l.test?.test(s))??n[De.SCALAR];if(o.tag!==a.tag){let l=e.tagString(o.tag),c=e.tagString(a.tag),f=`Value may be parsed as either ${l} or ${c}`;r(i,"TAG_RESOLVE_FAILED",f,!0)}}return o}Qa.composeScalar=hh});var Za=w(Xa=>{"use strict";function yh(t,e,n){if(e){n??(n=e.length);for(let s=n-1;s>=0;--s){let i=e[s];switch(i.type){case"space":case"comment":case"newline":t-=i.source.length;continue}for(i=e[++s];i?.type==="space";)t+=i.source.length,i=e[++s];break}}return t}Xa.emptyScalarPosition=yh});var nl=w(Ui=>{"use strict";var wh=yt(),Sh=I(),bh=Ha(),el=za(),vh=Ze(),kh=Za(),Eh={composeNode:tl,composeEmptyNode:Fi};function tl(t,e,n,s){let i=t.atKey,{spaceBefore:r,comment:o,anchor:a,tag:l}=n,c,f=!0;switch(e.type){case"alias":c=Ah(t,e,s),(a||l)&&s(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=el.composeScalar(t,e,l,s),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=bh.composeCollection(Eh,t,e,n,s),a&&(c.anchor=a.source.substring(1))}catch(u){let d=u instanceof Error?u.message:String(u);s(e,"RESOURCE_EXHAUSTION",d)}break;default:{let u=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;s(e,"UNEXPECTED_TOKEN",u),f=!1}}return c??(c=Fi(t,e.offset,void 0,null,n,s)),a&&c.anchor===""&&s(a,"BAD_ALIAS","Anchor cannot be an empty string"),i&&t.options.stringKeys&&(!Sh.isScalar(c)||typeof c.value!="string"||c.tag&&c.tag!=="tag:yaml.org,2002:str")&&s(l??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),r&&(c.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?c.comment=o:c.commentBefore=o),t.options.keepSourceTokens&&f&&(c.srcToken=e),c}function Fi(t,e,n,s,{spaceBefore:i,comment:r,anchor:o,tag:a,end:l},c){let f={type:"scalar",offset:kh.emptyScalarPosition(e,n,s),indent:-1,source:""},u=el.composeScalar(t,f,a,c);return o&&(u.anchor=o.source.substring(1),u.anchor===""&&c(o,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(u.spaceBefore=!0),r&&(u.comment=r,u.range[2]=l),u}function Ah({options:t},{offset:e,source:n,end:s},i){let r=new wh.Alias(n.substring(1));r.source===""&&i(e,"BAD_ALIAS","Alias cannot be an empty string"),r.source.endsWith(":")&&i(e+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+n.length,a=vh.resolveEnd(s,o,t.strict,i);return r.range=[e,o,a.offset],a.comment&&(r.comment=a.comment),r}Ui.composeEmptyNode=Fi;Ui.composeNode=tl});var rl=w(il=>{"use strict";var _h=$t(),sl=nl(),Oh=Ze(),Ih=Kt();function Th(t,e,{offset:n,start:s,value:i,end:r},o){let a=Object.assign({_directives:e},t),l=new _h.Document(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},f=Ih.resolveProps(s,{indicator:"doc-start",next:i??r?.[0],offset:n,onError:o,parentIndent:0,startOnNewline:!0});f.found&&(l.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!f.hasNewline&&o(f.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=i?sl.composeNode(c,i,f,o):sl.composeEmptyNode(c,f.end,s,null,f,o);let u=l.contents.range[2],d=Oh.resolveEnd(r,u,!1,o);return d.comment&&(l.comment=d.comment),l.range=[n,u,d.offset],l}il.composeDoc=Th});var Yi=w(ll=>{"use strict";var Nh=ge("process"),Lh=Ns(),Ch=$t(),Bt=Rt(),ol=I(),Ph=rl(),Mh=Ze();function xt(t){if(typeof t=="number")return[t,t+1];if(Array.isArray(t))return t.length===2?t:[t[0],t[1]];let{offset:e,source:n}=t;return[e,e+(typeof n=="string"?n.length:1)]}function al(t){let e="",n=!1,s=!1;for(let i=0;i<t.length;++i){let r=t[i];switch(r[0]){case"#":e+=(e===""?"":s?`
100
+ `),e+=1,s=t[e+1];return n||(n=" "),{fold:n,offset:e}}var hh={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
101
+ `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function mh(t,e,n,s){let i=t.substr(e,n),o=i.length===n&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;if(isNaN(o)){let a=t.substr(e-2,n+2);return s(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}Za.resolveFlowScalar=ch});var nl=w(tl=>{"use strict";var Ke=O(),el=$(),gh=xi(),yh=Ui();function wh(t,e,n,s){let{value:i,type:r,comment:o,range:a}=e.type==="block-scalar"?gh.resolveBlockScalar(t,e,s):yh.resolveFlowScalar(e,t.options.strict,s),l=n?t.directives.tagName(n.source,u=>s(n,"TAG_RESOLVE_FAILED",u)):null,c;t.options.stringKeys&&t.atKey?c=t.schema[Ke.SCALAR]:l?c=Sh(t.schema,i,l,n,s):e.type==="scalar"?c=bh(t,i,e,s):c=t.schema[Ke.SCALAR];let f;try{let u=c.resolve(i,d=>s(n??e,"TAG_RESOLVE_FAILED",d),t.options);f=Ke.isScalar(u)?u:new el.Scalar(u)}catch(u){let d=u instanceof Error?u.message:String(u);s(n??e,"TAG_RESOLVE_FAILED",d),f=new el.Scalar(i)}return f.range=a,f.source=i,r&&(f.type=r),l&&(f.tag=l),c.format&&(f.format=c.format),o&&(f.comment=o),f}function Sh(t,e,n,s,i){if(n==="!")return t[Ke.SCALAR];let r=[];for(let a of t.tags)if(!a.collection&&a.tag===n)if(a.default&&a.test)r.push(a);else return a;for(let a of r)if(a.test?.test(e))return a;let o=t.knownTags[n];return o&&!o.collection?(t.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),t[Ke.SCALAR])}function bh({atKey:t,directives:e,schema:n},s,i,r){let o=n.tags.find(a=>(a.default===!0||t&&a.default==="key")&&a.test?.test(s))||n[Ke.SCALAR];if(n.compat){let a=n.compat.find(l=>l.default&&l.test?.test(s))??n[Ke.SCALAR];if(o.tag!==a.tag){let l=e.tagString(o.tag),c=e.tagString(a.tag),f=`Value may be parsed as either ${l} or ${c}`;r(i,"TAG_RESOLVE_FAILED",f,!0)}}return o}tl.composeScalar=wh});var il=w(sl=>{"use strict";function vh(t,e,n){if(e){n??(n=e.length);for(let s=n-1;s>=0;--s){let i=e[s];switch(i.type){case"space":case"comment":case"newline":t-=i.source.length;continue}for(i=e[++s];i?.type==="space";)t+=i.source.length,i=e[++s];break}}return t}sl.emptyScalarPosition=vh});var al=w(Yi=>{"use strict";var Eh=St(),kh=O(),Ah=Qa(),rl=nl(),_h=et(),Ih=il(),Oh={composeNode:ol,composeEmptyNode:ji};function ol(t,e,n,s){let i=t.atKey,{spaceBefore:r,comment:o,anchor:a,tag:l}=n,c,f=!0;switch(e.type){case"alias":c=Nh(t,e,s),(a||l)&&s(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=rl.composeScalar(t,e,l,s),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=Ah.composeCollection(Oh,t,e,n,s),a&&(c.anchor=a.source.substring(1))}catch(u){let d=u instanceof Error?u.message:String(u);s(e,"RESOURCE_EXHAUSTION",d)}break;default:{let u=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;s(e,"UNEXPECTED_TOKEN",u),f=!1}}return c??(c=ji(t,e.offset,void 0,null,n,s)),a&&c.anchor===""&&s(a,"BAD_ALIAS","Anchor cannot be an empty string"),i&&t.options.stringKeys&&(!kh.isScalar(c)||typeof c.value!="string"||c.tag&&c.tag!=="tag:yaml.org,2002:str")&&s(l??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),r&&(c.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?c.comment=o:c.commentBefore=o),t.options.keepSourceTokens&&f&&(c.srcToken=e),c}function ji(t,e,n,s,{spaceBefore:i,comment:r,anchor:o,tag:a,end:l},c){let f={type:"scalar",offset:Ih.emptyScalarPosition(e,n,s),indent:-1,source:""},u=rl.composeScalar(t,f,a,c);return o&&(u.anchor=o.source.substring(1),u.anchor===""&&c(o,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(u.spaceBefore=!0),r&&(u.comment=r,u.range[2]=l),u}function Nh({options:t},{offset:e,source:n,end:s},i){let r=new Eh.Alias(n.substring(1));r.source===""&&i(e,"BAD_ALIAS","Alias cannot be an empty string"),r.source.endsWith(":")&&i(e+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+n.length,a=_h.resolveEnd(s,o,t.strict,i);return r.range=[e,o,a.offset],a.comment&&(r.comment=a.comment),r}Yi.composeEmptyNode=ji;Yi.composeNode=ol});var ul=w(cl=>{"use strict";var Th=qt(),ll=al(),Lh=et(),Ch=xt();function Ph(t,e,{offset:n,start:s,value:i,end:r},o){let a=Object.assign({_directives:e},t),l=new Th.Document(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},f=Ch.resolveProps(s,{indicator:"doc-start",next:i??r?.[0],offset:n,onError:o,parentIndent:0,startOnNewline:!0});f.found&&(l.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!f.hasNewline&&o(f.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=i?ll.composeNode(c,i,f,o):ll.composeEmptyNode(c,f.end,s,null,f,o);let u=l.contents.range[2],d=Lh.resolveEnd(r,u,!1,o);return d.comment&&(l.comment=d.comment),l.range=[n,u,d.offset],l}cl.composeDoc=Ph});var Gi=w(pl=>{"use strict";var Mh=ge("process"),$h=Cs(),Dh=qt(),Ft=Bt(),fl=O(),qh=ul(),Rh=et();function Ut(t){if(typeof t=="number")return[t,t+1];if(Array.isArray(t))return t.length===2?t:[t[0],t[1]];let{offset:e,source:n}=t;return[e,e+(typeof n=="string"?n.length:1)]}function dl(t){let e="",n=!1,s=!1;for(let i=0;i<t.length;++i){let r=t[i];switch(r[0]){case"#":e+=(e===""?"":s?`
102
102
 
103
103
  `:`
104
- `)+(r.substring(1)||" "),n=!0,s=!1;break;case"%":t[i+1]?.[0]!=="#"&&(i+=1),n=!1;break;default:n||(s=!0),n=!1}}return{comment:e,afterEmptyLine:s}}var ji=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,s,i,r)=>{let o=xt(n);r?this.warnings.push(new Bt.YAMLWarning(o,s,i)):this.errors.push(new Bt.YAMLParseError(o,s,i))},this.directives=new Lh.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,n){let{comment:s,afterEmptyLine:i}=al(this.prelude);if(s){let r=e.contents;if(n)e.comment=e.comment?`${e.comment}
105
- ${s}`:s;else if(i||e.directives.docStart||!r)e.commentBefore=s;else if(ol.isCollection(r)&&!r.flow&&r.items.length>0){let o=r.items[0];ol.isPair(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${s}
104
+ `)+(r.substring(1)||" "),n=!0,s=!1;break;case"%":t[i+1]?.[0]!=="#"&&(i+=1),n=!1;break;default:n||(s=!0),n=!1}}return{comment:e,afterEmptyLine:s}}var Hi=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,s,i,r)=>{let o=Ut(n);r?this.warnings.push(new Ft.YAMLWarning(o,s,i)):this.errors.push(new Ft.YAMLParseError(o,s,i))},this.directives=new $h.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,n){let{comment:s,afterEmptyLine:i}=dl(this.prelude);if(s){let r=e.contents;if(n)e.comment=e.comment?`${e.comment}
105
+ ${s}`:s;else if(i||e.directives.docStart||!r)e.commentBefore=s;else if(fl.isCollection(r)&&!r.flow&&r.items.length>0){let o=r.items[0];fl.isPair(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${s}
106
106
  ${a}`:s}else{let o=r.commentBefore;r.commentBefore=o?`${s}
107
- ${o}`:s}}n?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:al(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,n=!1,s=-1){for(let i of e)yield*this.next(i);yield*this.end(n,s)}*next(e){switch(Nh.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(n,s,i)=>{let r=xt(e);r[0]+=n,this.onError(r,"BAD_DIRECTIVE",s,i)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let n=Ph.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let n=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,s=new Bt.YAMLParseError(xt(e),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){let s="Unexpected doc-end without preceding document";this.errors.push(new Bt.YAMLParseError(xt(e),"UNEXPECTED_TOKEN",s));break}this.doc.directives.docEnd=!0;let n=Mh.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){let s=this.doc.comment;this.doc.comment=s?`${s}
108
- ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new Bt.YAMLParseError(xt(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let s=Object.assign({_directives:this.directives},this.options),i=new Ch.Document(void 0,s);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,n,n],this.decorate(i,!1),yield i}}};ll.Composer=ji});var fl=w(Jn=>{"use strict";var $h=Ki(),Dh=xi(),qh=Rt(),cl=kt();function Rh(t,e=!0,n){if(t){let s=(i,r,o)=>{let a=typeof i=="number"?i:Array.isArray(i)?i[0]:i.offset;if(n)n(a,r,o);else throw new qh.YAMLParseError([a,a+1],r,o)};switch(t.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return Dh.resolveFlowScalar(t,e,s);case"block-scalar":return $h.resolveBlockScalar({options:{strict:e}},t,s)}}return null}function Kh(t,e){let{implicitKey:n=!1,indent:s,inFlow:i=!1,offset:r=-1,type:o="PLAIN"}=e,a=cl.stringifyString({type:o,value:t},{implicitKey:n,indent:s>0?" ".repeat(s):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),l=e.end??[{type:"newline",offset:-1,indent:s,source:`
107
+ ${o}`:s}}n?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:dl(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,n=!1,s=-1){for(let i of e)yield*this.next(i);yield*this.end(n,s)}*next(e){switch(Mh.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(n,s,i)=>{let r=Ut(e);r[0]+=n,this.onError(r,"BAD_DIRECTIVE",s,i)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let n=qh.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let n=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,s=new Ft.YAMLParseError(Ut(e),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){let s="Unexpected doc-end without preceding document";this.errors.push(new Ft.YAMLParseError(Ut(e),"UNEXPECTED_TOKEN",s));break}this.doc.directives.docEnd=!0;let n=Rh.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){let s=this.doc.comment;this.doc.comment=s?`${s}
108
+ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new Ft.YAMLParseError(Ut(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let s=Object.assign({_directives:this.directives},this.options),i=new Dh.Document(void 0,s);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,n,n],this.decorate(i,!1),yield i}}};pl.Composer=Hi});var gl=w(Xn=>{"use strict";var Kh=xi(),Bh=Ui(),xh=Bt(),hl=At();function Fh(t,e=!0,n){if(t){let s=(i,r,o)=>{let a=typeof i=="number"?i:Array.isArray(i)?i[0]:i.offset;if(n)n(a,r,o);else throw new xh.YAMLParseError([a,a+1],r,o)};switch(t.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return Bh.resolveFlowScalar(t,e,s);case"block-scalar":return Kh.resolveBlockScalar({options:{strict:e}},t,s)}}return null}function Uh(t,e){let{implicitKey:n=!1,indent:s,inFlow:i=!1,offset:r=-1,type:o="PLAIN"}=e,a=hl.stringifyString({type:o,value:t},{implicitKey:n,indent:s>0?" ".repeat(s):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),l=e.end??[{type:"newline",offset:-1,indent:s,source:`
109
109
  `}];switch(a[0]){case"|":case">":{let c=a.indexOf(`
110
110
  `),f=a.substring(0,c),u=a.substring(c+1)+`
111
- `,d=[{type:"block-scalar-header",offset:r,indent:s,source:f}];return ul(d,l)||d.push({type:"newline",offset:-1,indent:s,source:`
112
- `}),{type:"block-scalar",offset:r,indent:s,props:d,source:u}}case'"':return{type:"double-quoted-scalar",offset:r,indent:s,source:a,end:l};case"'":return{type:"single-quoted-scalar",offset:r,indent:s,source:a,end:l};default:return{type:"scalar",offset:r,indent:s,source:a,end:l}}}function Bh(t,e,n={}){let{afterKey:s=!1,implicitKey:i=!1,inFlow:r=!1,type:o}=n,a="indent"in t?t.indent:null;if(s&&typeof a=="number"&&(a+=2),!o)switch(t.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let c=t.props[0];if(c.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=c.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let l=cl.stringifyString({type:o,value:e},{implicitKey:i||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:r,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":xh(t,l);break;case'"':Hi(t,l,"double-quoted-scalar");break;case"'":Hi(t,l,"single-quoted-scalar");break;default:Hi(t,l,"scalar")}}function xh(t,e){let n=e.indexOf(`
111
+ `,d=[{type:"block-scalar-header",offset:r,indent:s,source:f}];return ml(d,l)||d.push({type:"newline",offset:-1,indent:s,source:`
112
+ `}),{type:"block-scalar",offset:r,indent:s,props:d,source:u}}case'"':return{type:"double-quoted-scalar",offset:r,indent:s,source:a,end:l};case"'":return{type:"single-quoted-scalar",offset:r,indent:s,source:a,end:l};default:return{type:"scalar",offset:r,indent:s,source:a,end:l}}}function jh(t,e,n={}){let{afterKey:s=!1,implicitKey:i=!1,inFlow:r=!1,type:o}=n,a="indent"in t?t.indent:null;if(s&&typeof a=="number"&&(a+=2),!o)switch(t.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let c=t.props[0];if(c.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=c.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let l=hl.stringifyString({type:o,value:e},{implicitKey:i||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:r,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":Yh(t,l);break;case'"':Vi(t,l,"double-quoted-scalar");break;case"'":Vi(t,l,"single-quoted-scalar");break;default:Vi(t,l,"scalar")}}function Yh(t,e){let n=e.indexOf(`
113
113
  `),s=e.substring(0,n),i=e.substring(n+1)+`
114
- `;if(t.type==="block-scalar"){let r=t.props[0];if(r.type!=="block-scalar-header")throw new Error("Invalid block scalar header");r.source=s,t.source=i}else{let{offset:r}=t,o="indent"in t?t.indent:-1,a=[{type:"block-scalar-header",offset:r,indent:o,source:s}];ul(a,"end"in t?t.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:`
115
- `});for(let l of Object.keys(t))l!=="type"&&l!=="offset"&&delete t[l];Object.assign(t,{type:"block-scalar",indent:o,props:a,source:i})}}function ul(t,e){if(e)for(let n of e)switch(n.type){case"space":case"comment":t.push(n);break;case"newline":return t.push(n),!0}return!1}function Hi(t,e,n){switch(t.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":t.type=n,t.source=e;break;case"block-scalar":{let s=t.props.slice(1),i=e.length;t.props[0].type==="block-scalar-header"&&(i-=t.props[0].source.length);for(let r of s)r.offset+=i;delete t.props,Object.assign(t,{type:n,source:e,end:s});break}case"block-map":case"block-seq":{let i={type:"newline",offset:t.offset+e.length,indent:t.indent,source:`
116
- `};delete t.items,Object.assign(t,{type:n,source:e,end:[i]});break}default:{let s="indent"in t?t.indent:-1,i="end"in t&&Array.isArray(t.end)?t.end.filter(r=>r.type==="space"||r.type==="comment"||r.type==="newline"):[];for(let r of Object.keys(t))r!=="type"&&r!=="offset"&&delete t[r];Object.assign(t,{type:n,indent:s,source:e,end:i})}}}Jn.createScalarToken=Kh;Jn.resolveAsScalar=Rh;Jn.setScalarValue=Bh});var pl=w(dl=>{"use strict";var Fh=t=>"type"in t?zn(t):Qn(t);function zn(t){switch(t.type){case"block-scalar":{let e="";for(let n of t.props)e+=zn(n);return e+t.source}case"block-map":case"block-seq":{let e="";for(let n of t.items)e+=Qn(n);return e}case"flow-collection":{let e=t.start.source;for(let n of t.items)e+=Qn(n);for(let n of t.end)e+=n.source;return e}case"document":{let e=Qn(t);if(t.end)for(let n of t.end)e+=n.source;return e}default:{let e=t.source;if("end"in t&&t.end)for(let n of t.end)e+=n.source;return e}}}function Qn({start:t,key:e,sep:n,value:s}){let i="";for(let r of t)i+=r.source;if(e&&(i+=zn(e)),n)for(let r of n)i+=r.source;return s&&(i+=zn(s)),i}dl.stringify=Fh});var yl=w(gl=>{"use strict";var Gi=Symbol("break visit"),Uh=Symbol("skip children"),hl=Symbol("remove item");function qe(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),ml(Object.freeze([]),t,e)}qe.BREAK=Gi;qe.SKIP=Uh;qe.REMOVE=hl;qe.itemAtPath=(t,e)=>{let n=t;for(let[s,i]of e){let r=n?.[s];if(r&&"items"in r)n=r.items[i];else return}return n};qe.parentCollection=(t,e)=>{let n=qe.itemAtPath(t,e.slice(0,-1)),s=e[e.length-1][0],i=n?.[s];if(i&&"items"in i)return i;throw new Error("Parent collection not found")};function ml(t,e,n){let s=n(e,t);if(typeof s=="symbol")return s;for(let i of["key","value"]){let r=e[i];if(r&&"items"in r){for(let o=0;o<r.items.length;++o){let a=ml(Object.freeze(t.concat([[i,o]])),r.items[o],n);if(typeof a=="number")o=a-1;else{if(a===Gi)return Gi;a===hl&&(r.items.splice(o,1),o-=1)}}typeof s=="function"&&i==="key"&&(s=s(e,t))}}return typeof s=="function"?s(e,t):s}gl.visit=qe});var Xn=w(W=>{"use strict";var Vi=fl(),jh=pl(),Yh=yl(),Wi="\uFEFF",Ji="",Qi="",zi="",Hh=t=>!!t&&"items"in t,Gh=t=>!!t&&(t.type==="scalar"||t.type==="single-quoted-scalar"||t.type==="double-quoted-scalar"||t.type==="block-scalar");function Vh(t){switch(t){case Wi:return"<BOM>";case Ji:return"<DOC>";case Qi:return"<FLOW_END>";case zi:return"<SCALAR>";default:return JSON.stringify(t)}}function Wh(t){switch(t){case Wi:return"byte-order-mark";case Ji:return"doc-mode";case Qi:return"flow-error-end";case zi:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
114
+ `;if(t.type==="block-scalar"){let r=t.props[0];if(r.type!=="block-scalar-header")throw new Error("Invalid block scalar header");r.source=s,t.source=i}else{let{offset:r}=t,o="indent"in t?t.indent:-1,a=[{type:"block-scalar-header",offset:r,indent:o,source:s}];ml(a,"end"in t?t.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:`
115
+ `});for(let l of Object.keys(t))l!=="type"&&l!=="offset"&&delete t[l];Object.assign(t,{type:"block-scalar",indent:o,props:a,source:i})}}function ml(t,e){if(e)for(let n of e)switch(n.type){case"space":case"comment":t.push(n);break;case"newline":return t.push(n),!0}return!1}function Vi(t,e,n){switch(t.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":t.type=n,t.source=e;break;case"block-scalar":{let s=t.props.slice(1),i=e.length;t.props[0].type==="block-scalar-header"&&(i-=t.props[0].source.length);for(let r of s)r.offset+=i;delete t.props,Object.assign(t,{type:n,source:e,end:s});break}case"block-map":case"block-seq":{let i={type:"newline",offset:t.offset+e.length,indent:t.indent,source:`
116
+ `};delete t.items,Object.assign(t,{type:n,source:e,end:[i]});break}default:{let s="indent"in t?t.indent:-1,i="end"in t&&Array.isArray(t.end)?t.end.filter(r=>r.type==="space"||r.type==="comment"||r.type==="newline"):[];for(let r of Object.keys(t))r!=="type"&&r!=="offset"&&delete t[r];Object.assign(t,{type:n,indent:s,source:e,end:i})}}}Xn.createScalarToken=Uh;Xn.resolveAsScalar=Fh;Xn.setScalarValue=jh});var wl=w(yl=>{"use strict";var Hh=t=>"type"in t?es(t):Zn(t);function es(t){switch(t.type){case"block-scalar":{let e="";for(let n of t.props)e+=es(n);return e+t.source}case"block-map":case"block-seq":{let e="";for(let n of t.items)e+=Zn(n);return e}case"flow-collection":{let e=t.start.source;for(let n of t.items)e+=Zn(n);for(let n of t.end)e+=n.source;return e}case"document":{let e=Zn(t);if(t.end)for(let n of t.end)e+=n.source;return e}default:{let e=t.source;if("end"in t&&t.end)for(let n of t.end)e+=n.source;return e}}}function Zn({start:t,key:e,sep:n,value:s}){let i="";for(let r of t)i+=r.source;if(e&&(i+=es(e)),n)for(let r of n)i+=r.source;return s&&(i+=es(s)),i}yl.stringify=Hh});var El=w(vl=>{"use strict";var Wi=Symbol("break visit"),Gh=Symbol("skip children"),Sl=Symbol("remove item");function Be(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),bl(Object.freeze([]),t,e)}Be.BREAK=Wi;Be.SKIP=Gh;Be.REMOVE=Sl;Be.itemAtPath=(t,e)=>{let n=t;for(let[s,i]of e){let r=n?.[s];if(r&&"items"in r)n=r.items[i];else return}return n};Be.parentCollection=(t,e)=>{let n=Be.itemAtPath(t,e.slice(0,-1)),s=e[e.length-1][0],i=n?.[s];if(i&&"items"in i)return i;throw new Error("Parent collection not found")};function bl(t,e,n){let s=n(e,t);if(typeof s=="symbol")return s;for(let i of["key","value"]){let r=e[i];if(r&&"items"in r){for(let o=0;o<r.items.length;++o){let a=bl(Object.freeze(t.concat([[i,o]])),r.items[o],n);if(typeof a=="number")o=a-1;else{if(a===Wi)return Wi;a===Sl&&(r.items.splice(o,1),o-=1)}}typeof s=="function"&&i==="key"&&(s=s(e,t))}}return typeof s=="function"?s(e,t):s}vl.visit=Be});var ts=w(W=>{"use strict";var Ji=gl(),Vh=wl(),Wh=El(),Qi="\uFEFF",zi="",Xi="",Zi="",Jh=t=>!!t&&"items"in t,Qh=t=>!!t&&(t.type==="scalar"||t.type==="single-quoted-scalar"||t.type==="double-quoted-scalar"||t.type==="block-scalar");function zh(t){switch(t){case Qi:return"<BOM>";case zi:return"<DOC>";case Xi:return"<FLOW_END>";case Zi:return"<SCALAR>";default:return JSON.stringify(t)}}function Xh(t){switch(t){case Qi:return"byte-order-mark";case zi:return"doc-mode";case Xi:return"flow-error-end";case Zi:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
117
117
  `:case`\r
118
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(t[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}W.createScalarToken=Vi.createScalarToken;W.resolveAsScalar=Vi.resolveAsScalar;W.setScalarValue=Vi.setScalarValue;W.stringify=jh.stringify;W.visit=Yh.visit;W.BOM=Wi;W.DOCUMENT=Ji;W.FLOW_END=Qi;W.SCALAR=zi;W.isCollection=Hh;W.isScalar=Gh;W.prettyToken=Vh;W.tokenType=Wh});var er=w(Sl=>{"use strict";var Ft=Xn();function X(t){switch(t){case void 0:case" ":case`
119
- `:case"\r":case" ":return!0;default:return!1}}var wl=new Set("0123456789ABCDEFabcdef"),Jh=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Zn=new Set(",[]{}"),Qh=new Set(` ,[]{}
120
- \r `),Xi=t=>!t||Qh.has(t),Zi=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,n=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!n;let s=this.next??"stream";for(;s&&(n||this.hasChars(1));)s=yield*this.parseNext(s)}atLineEnd(){let e=this.pos,n=this.buffer[e];for(;n===" "||n===" ";)n=this.buffer[++e];return!n||n==="#"||n===`
118
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(t[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}W.createScalarToken=Ji.createScalarToken;W.resolveAsScalar=Ji.resolveAsScalar;W.setScalarValue=Ji.setScalarValue;W.stringify=Vh.stringify;W.visit=Wh.visit;W.BOM=Qi;W.DOCUMENT=zi;W.FLOW_END=Xi;W.SCALAR=Zi;W.isCollection=Jh;W.isScalar=Qh;W.prettyToken=zh;W.tokenType=Xh});var nr=w(Al=>{"use strict";var jt=ts();function Z(t){switch(t){case void 0:case" ":case`
119
+ `:case"\r":case" ":return!0;default:return!1}}var kl=new Set("0123456789ABCDEFabcdef"),Zh=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),ns=new Set(",[]{}"),em=new Set(` ,[]{}
120
+ \r `),er=t=>!t||em.has(t),tr=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,n=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!n;let s=this.next??"stream";for(;s&&(n||this.hasChars(1));)s=yield*this.parseNext(s)}atLineEnd(){let e=this.pos,n=this.buffer[e];for(;n===" "||n===" ";)n=this.buffer[++e];return!n||n==="#"||n===`
121
121
  `?!0:n==="\r"?this.buffer[e+1]===`
122
122
  `:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let n=this.buffer[e];if(this.indentNext>0){let s=0;for(;n===" ";)n=this.buffer[++s+e];if(n==="\r"){let i=this.buffer[s+e+1];if(i===`
123
123
  `||!i&&!this.atEnd)return e+s+1}return n===`
124
- `||s>=this.indentNext||!n&&!this.atEnd?e+s:-1}if(n==="-"||n==="."){let s=this.buffer.substr(e,3);if((s==="---"||s==="...")&&X(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
125
- `,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===Ft.BOM&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let n=e.length,s=e.indexOf("#");for(;s!==-1;){let r=e[s-1];if(r===" "||r===" "){n=s-1;break}else s=e.indexOf("#",s+1)}for(;;){let r=e[n-1];if(r===" "||r===" ")n-=1;else break}let i=(yield*this.pushCount(n))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-i),this.pushNewline(),"stream"}if(this.atLineEnd()){let n=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-n),yield*this.pushNewline(),"stream"}return yield Ft.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let n=this.peek(3);if((n==="---"||n==="...")&&X(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,n==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!X(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,n]=this.peek(2);if(!n&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&X(n)){let s=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=s,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(e[n]){case"#":yield*this.pushCount(e.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Xi),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,n,s=-1;do e=yield*this.pushNewline(),e>0?(n=yield*this.pushSpaces(!1),this.indentValue=s=n):n=0,n+=yield*this.pushSpaces(!0);while(e+n>0);let i=this.getLine();if(i===null)return this.setNext("flow");if((s!==-1&&s<this.indentNext&&i[0]!=="#"||s===0&&(i.startsWith("---")||i.startsWith("..."))&&X(i[3]))&&!(s===this.indentNext-1&&this.flowLevel===1&&(i[0]==="]"||i[0]==="}")))return this.flowLevel=0,yield Ft.FLOW_END,yield*this.parseLineStart();let r=0;for(;i[r]===",";)r+=yield*this.pushCount(1),r+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(r+=yield*this.pushIndicators(),i[r]){case void 0:return"flow";case"#":return yield*this.pushCount(i.length-r),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Xi),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||X(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),n=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;n!==-1&&this.buffer[n+1]==="'";)n=this.buffer.indexOf("'",n+2);else for(;n!==-1;){let r=0;for(;this.buffer[n-1-r]==="\\";)r+=1;if(r%2===0)break;n=this.buffer.indexOf('"',n+1)}let s=this.buffer.substring(0,n),i=s.indexOf(`
124
+ `||s>=this.indentNext||!n&&!this.atEnd?e+s:-1}if(n==="-"||n==="."){let s=this.buffer.substr(e,3);if((s==="---"||s==="...")&&Z(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
125
+ `,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===jt.BOM&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let n=e.length,s=e.indexOf("#");for(;s!==-1;){let r=e[s-1];if(r===" "||r===" "){n=s-1;break}else s=e.indexOf("#",s+1)}for(;;){let r=e[n-1];if(r===" "||r===" ")n-=1;else break}let i=(yield*this.pushCount(n))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-i),this.pushNewline(),"stream"}if(this.atLineEnd()){let n=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-n),yield*this.pushNewline(),"stream"}return yield jt.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let n=this.peek(3);if((n==="---"||n==="...")&&Z(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,n==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Z(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,n]=this.peek(2);if(!n&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&Z(n)){let s=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=s,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(e[n]){case"#":yield*this.pushCount(e.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(er),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,n,s=-1;do e=yield*this.pushNewline(),e>0?(n=yield*this.pushSpaces(!1),this.indentValue=s=n):n=0,n+=yield*this.pushSpaces(!0);while(e+n>0);let i=this.getLine();if(i===null)return this.setNext("flow");if((s!==-1&&s<this.indentNext&&i[0]!=="#"||s===0&&(i.startsWith("---")||i.startsWith("..."))&&Z(i[3]))&&!(s===this.indentNext-1&&this.flowLevel===1&&(i[0]==="]"||i[0]==="}")))return this.flowLevel=0,yield jt.FLOW_END,yield*this.parseLineStart();let r=0;for(;i[r]===",";)r+=yield*this.pushCount(1),r+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(r+=yield*this.pushIndicators(),i[r]){case void 0:return"flow";case"#":return yield*this.pushCount(i.length-r),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(er),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||Z(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),n=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;n!==-1&&this.buffer[n+1]==="'";)n=this.buffer.indexOf("'",n+2);else for(;n!==-1;){let r=0;for(;this.buffer[n-1-r]==="\\";)r+=1;if(r%2===0)break;n=this.buffer.indexOf('"',n+1)}let s=this.buffer.substring(0,n),i=s.indexOf(`
126
126
  `,this.pos);if(i!==-1){for(;i!==-1;){let r=this.continueScalar(i+1);if(r===-1)break;i=s.indexOf(`
127
- `,r)}i!==-1&&(n=i-(s[i-1]==="\r"?2:1))}if(n===-1){if(!this.atEnd)return this.setNext("quoted-scalar");n=this.buffer.length}return yield*this.pushToIndex(n+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let n=this.buffer[++e];if(n==="+")this.blockScalarKeep=!0;else if(n>"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>X(n)||n==="#")}*parseBlockScalar(){let e=this.pos-1,n=0,s;e:for(let r=this.pos;s=this.buffer[r];++r)switch(s){case" ":n+=1;break;case`
127
+ `,r)}i!==-1&&(n=i-(s[i-1]==="\r"?2:1))}if(n===-1){if(!this.atEnd)return this.setNext("quoted-scalar");n=this.buffer.length}return yield*this.pushToIndex(n+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let n=this.buffer[++e];if(n==="+")this.blockScalarKeep=!0;else if(n>"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>Z(n)||n==="#")}*parseBlockScalar(){let e=this.pos-1,n=0,s;e:for(let r=this.pos;s=this.buffer[r];++r)switch(s){case" ":n+=1;break;case`
128
128
  `:e=r,n=0;break;case"\r":{let o=this.buffer[r+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`
129
129
  `)break}default:break e}if(!s&&!this.atEnd)return this.setNext("block-scalar");if(n>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=n:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let r=this.continueScalar(e+1);if(r===-1)break;e=this.buffer.indexOf(`
130
130
  `,r)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let i=e+1;for(s=this.buffer[i];s===" ";)s=this.buffer[++i];if(s===" "){for(;s===" "||s===" "||s==="\r"||s===`
131
131
  `;)s=this.buffer[++i];e=i-1}else if(!this.blockScalarKeep)do{let r=e-1,o=this.buffer[r];o==="\r"&&(o=this.buffer[--r]);let a=r;for(;o===" ";)o=this.buffer[--r];if(o===`
132
- `&&r>=this.pos&&r+1+n>a)e=r;else break}while(!0);return yield Ft.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,n=this.pos-1,s=this.pos-1,i;for(;i=this.buffer[++s];)if(i===":"){let r=this.buffer[s+1];if(X(r)||e&&Zn.has(r))break;n=s}else if(X(i)){let r=this.buffer[s+1];if(i==="\r"&&(r===`
132
+ `&&r>=this.pos&&r+1+n>a)e=r;else break}while(!0);return yield jt.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,n=this.pos-1,s=this.pos-1,i;for(;i=this.buffer[++s];)if(i===":"){let r=this.buffer[s+1];if(Z(r)||e&&ns.has(r))break;n=s}else if(Z(i)){let r=this.buffer[s+1];if(i==="\r"&&(r===`
133
133
  `?(s+=1,i=`
134
- `,r=this.buffer[s+1]):n=s),r==="#"||e&&Zn.has(r))break;if(i===`
135
- `){let o=this.continueScalar(s+1);if(o===-1)break;s=Math.max(s,o-2)}}else{if(e&&Zn.has(i))break;n=s}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield Ft.SCALAR,yield*this.pushToIndex(n+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,n){let s=this.buffer.slice(this.pos,e);return s?(yield s,this.pos+=s.length,s.length):(n&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(Xi))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let e=this.flowLevel>0,n=this.charAt(1);if(X(n)||e&&Zn.has(n))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,n=this.buffer[e];for(;!X(n)&&n!==">";)n=this.buffer[++e];return yield*this.pushToIndex(n===">"?e+1:e,!1)}else{let e=this.pos+1,n=this.buffer[e];for(;n;)if(Jh.has(n))n=this.buffer[++e];else if(n==="%"&&wl.has(this.buffer[e+1])&&wl.has(this.buffer[e+2]))n=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
134
+ `,r=this.buffer[s+1]):n=s),r==="#"||e&&ns.has(r))break;if(i===`
135
+ `){let o=this.continueScalar(s+1);if(o===-1)break;s=Math.max(s,o-2)}}else{if(e&&ns.has(i))break;n=s}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield jt.SCALAR,yield*this.pushToIndex(n+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,n){let s=this.buffer.slice(this.pos,e);return s?(yield s,this.pos+=s.length,s.length):(n&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(er))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let e=this.flowLevel>0,n=this.charAt(1);if(Z(n)||e&&ns.has(n))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,n=this.buffer[e];for(;!Z(n)&&n!==">";)n=this.buffer[++e];return yield*this.pushToIndex(n===">"?e+1:e,!1)}else{let e=this.pos+1,n=this.buffer[e];for(;n;)if(Zh.has(n))n=this.buffer[++e];else if(n==="%"&&kl.has(this.buffer[e+1])&&kl.has(this.buffer[e+2]))n=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
136
136
  `?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===`
137
- `?yield*this.pushCount(2):0}*pushSpaces(e){let n=this.pos-1,s;do s=this.buffer[++n];while(s===" "||e&&s===" ");let i=n-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=n),i}*pushUntil(e){let n=this.pos,s=this.buffer[n];for(;!e(s);)s=this.buffer[++n];return yield*this.pushToIndex(n,!1)}};Sl.Lexer=Zi});var nr=w(bl=>{"use strict";var tr=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let n=0,s=this.lineStarts.length;for(;n<s;){let r=n+s>>1;this.lineStarts[r]<e?n=r+1:s=r}if(this.lineStarts[n]===e)return{line:n+1,col:1};if(n===0)return{line:0,col:e};let i=this.lineStarts[n-1];return{line:n,col:e-i+1}}}};bl.LineCounter=tr});var ir=w(_l=>{"use strict";var zh=ge("process"),vl=Xn(),Xh=er();function _e(t,e){for(let n=0;n<t.length;++n)if(t[n].type===e)return!0;return!1}function kl(t){for(let e=0;e<t.length;++e)switch(t[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function Al(t){switch(t?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function es(t){switch(t.type){case"document":return t.start;case"block-map":{let e=t.items[t.items.length-1];return e.sep??e.start}case"block-seq":return t.items[t.items.length-1].start;default:return[]}}function et(t){if(t.length===0)return[];let e=t.length;e:for(;--e>=0;)switch(t[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;t[++e]?.type==="space";);return t.splice(e,t.length)}function El(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!_e(e.start,"explicit-key-ind")&&!_e(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Al(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var sr=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Xh.Lexer,this.onNewLine=e}*parse(e,n=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let s of this.lexer.lex(e,n))yield*this.next(s);n||(yield*this.end())}*next(e){if(this.source=e,zh.env.LOG_TOKENS&&console.log("|",vl.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let n=vl.tokenType(e);if(n)if(n==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=n,yield*this.step(),n){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let s=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:s,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let n=e??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{let s=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in s?s.indent:0:n.type==="flow-collection"&&s.type==="document"&&(n.indent=0),n.type==="flow-collection"&&El(n),s.type){case"document":s.value=n;break;case"block-scalar":s.props.push(n);break;case"block-map":{let i=s.items[s.items.length-1];if(i.value){s.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=n;else{Object.assign(i,{key:n,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{let i=s.items[s.items.length-1];i.value?s.items.push({start:[],value:n}):i.value=n;break}case"flow-collection":{let i=s.items[s.items.length-1];!i||i.value?s.items.push({start:[],key:n,sep:[]}):i.sep?i.value=n:Object.assign(i,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((s.type==="document"||s.type==="block-map"||s.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){let i=n.items[n.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&kl(i.start)===-1&&(n.indent===0||i.start.every(r=>r.type!=="comment"||r.indent<n.indent))&&(s.type==="document"?s.end=i.start:s.items.push({start:i.start}),n.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{kl(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let n=es(this.peek(2)),s=et(n),i;e.end?(i=e.end,i.push(this.sourceToken),delete e.end):i=[this.sourceToken];let r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let n=this.source.indexOf(`
137
+ `?yield*this.pushCount(2):0}*pushSpaces(e){let n=this.pos-1,s;do s=this.buffer[++n];while(s===" "||e&&s===" ");let i=n-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=n),i}*pushUntil(e){let n=this.pos,s=this.buffer[n];for(;!e(s);)s=this.buffer[++n];return yield*this.pushToIndex(n,!1)}};Al.Lexer=tr});var ir=w(_l=>{"use strict";var sr=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let n=0,s=this.lineStarts.length;for(;n<s;){let r=n+s>>1;this.lineStarts[r]<e?n=r+1:s=r}if(this.lineStarts[n]===e)return{line:n+1,col:1};if(n===0)return{line:0,col:e};let i=this.lineStarts[n-1];return{line:n,col:e-i+1}}}};_l.LineCounter=sr});var or=w(Ll=>{"use strict";var tm=ge("process"),Il=ts(),nm=nr();function Ie(t,e){for(let n=0;n<t.length;++n)if(t[n].type===e)return!0;return!1}function Ol(t){for(let e=0;e<t.length;++e)switch(t[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function Tl(t){switch(t?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function ss(t){switch(t.type){case"document":return t.start;case"block-map":{let e=t.items[t.items.length-1];return e.sep??e.start}case"block-seq":return t.items[t.items.length-1].start;default:return[]}}function tt(t){if(t.length===0)return[];let e=t.length;e:for(;--e>=0;)switch(t[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;t[++e]?.type==="space";);return t.splice(e,t.length)}function Nl(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!Ie(e.start,"explicit-key-ind")&&!Ie(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Tl(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var rr=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new nm.Lexer,this.onNewLine=e}*parse(e,n=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let s of this.lexer.lex(e,n))yield*this.next(s);n||(yield*this.end())}*next(e){if(this.source=e,tm.env.LOG_TOKENS&&console.log("|",Il.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let n=Il.tokenType(e);if(n)if(n==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=n,yield*this.step(),n){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let s=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:s,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let n=e??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{let s=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in s?s.indent:0:n.type==="flow-collection"&&s.type==="document"&&(n.indent=0),n.type==="flow-collection"&&Nl(n),s.type){case"document":s.value=n;break;case"block-scalar":s.props.push(n);break;case"block-map":{let i=s.items[s.items.length-1];if(i.value){s.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=n;else{Object.assign(i,{key:n,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{let i=s.items[s.items.length-1];i.value?s.items.push({start:[],value:n}):i.value=n;break}case"flow-collection":{let i=s.items[s.items.length-1];!i||i.value?s.items.push({start:[],key:n,sep:[]}):i.sep?i.value=n:Object.assign(i,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((s.type==="document"||s.type==="block-map"||s.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){let i=n.items[n.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&Ol(i.start)===-1&&(n.indent===0||i.start.every(r=>r.type!=="comment"||r.indent<n.indent))&&(s.type==="document"?s.end=i.start:s.items.push({start:i.start}),n.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{Ol(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let n=ss(this.peek(2)),s=tt(n),i;e.end?(i=e.end,i.push(this.sourceToken),delete e.end):i=[this.sourceToken];let r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let n=this.source.indexOf(`
138
138
  `)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
139
- `,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let n=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){let s="end"in n.value?n.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)e.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else{if(this.atIndentedComment(n.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Array.prototype.push.apply(i,n.start),i.push(this.sourceToken),e.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let s=!this.onKeyLine&&this.indent===e.indent,i=s&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind",r=[];if(i&&n.sep&&!n.value){let o=[];for(let a=0;a<n.sep.length;++a){let l=n.sep[a];switch(l.type){case"newline":o.push(a);break;case"space":break;case"comment":l.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(r=n.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":i||n.value?(r.push(this.sourceToken),e.items.push({start:r}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):i||n.value?(r.push(this.sourceToken),e.items.push({start:r,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(_e(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]});else if(Al(n.key)&&!_e(n.sep,"newline")){let o=et(n.start),a=n.key,l=n.sep;l.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:l}]})}else r.length>0?n.sep=n.sep.concat(r,this.sourceToken):n.sep.push(this.sourceToken);else if(_e(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{let o=et(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||i?e.items.push({start:r,key:null,sep:[this.sourceToken]}):_e(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);i||n.value?(e.items.push({start:r,key:o,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(o):(Object.assign(n,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!n.explicitKey&&n.sep&&!_e(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else s&&e.items.push({start:r});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let n=e.items[e.items.length-1];switch(this.type){case"newline":if(n.value){let s="end"in n.value?n.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Array.prototype.push.apply(i,n.start),i.push(this.sourceToken),e.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=e.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;n.value||_e(n.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>e.indent){let s=this.startBlockValue(e);if(s){this.stack.push(s);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let n=e.items[e.items.length-1];if(this.type==="flow-error-end"){let s;do yield*this.pop(),s=this.peek(1);while(s?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?e.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?e.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);!n||n.value?e.items.push({start:[],key:i,sep:[]}):n.sep?this.stack.push(i):Object.assign(n,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{let s=this.peek(2);if(s.type==="block-map"&&(this.type==="map-value-ind"&&s.indent===e.indent||this.type==="newline"&&!s.items[s.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&s.type!=="flow-collection"){let i=es(s),r=et(i);El(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:r,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let n=this.source.indexOf(`
139
+ `,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let n=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){let s="end"in n.value?n.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)e.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else{if(this.atIndentedComment(n.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Array.prototype.push.apply(i,n.start),i.push(this.sourceToken),e.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let s=!this.onKeyLine&&this.indent===e.indent,i=s&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind",r=[];if(i&&n.sep&&!n.value){let o=[];for(let a=0;a<n.sep.length;++a){let l=n.sep[a];switch(l.type){case"newline":o.push(a);break;case"space":break;case"comment":l.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(r=n.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":i||n.value?(r.push(this.sourceToken),e.items.push({start:r}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):i||n.value?(r.push(this.sourceToken),e.items.push({start:r,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Ie(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]});else if(Tl(n.key)&&!Ie(n.sep,"newline")){let o=tt(n.start),a=n.key,l=n.sep;l.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:l}]})}else r.length>0?n.sep=n.sep.concat(r,this.sourceToken):n.sep.push(this.sourceToken);else if(Ie(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{let o=tt(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||i?e.items.push({start:r,key:null,sep:[this.sourceToken]}):Ie(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);i||n.value?(e.items.push({start:r,key:o,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(o):(Object.assign(n,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!n.explicitKey&&n.sep&&!Ie(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else s&&e.items.push({start:r});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let n=e.items[e.items.length-1];switch(this.type){case"newline":if(n.value){let s="end"in n.value?n.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Array.prototype.push.apply(i,n.start),i.push(this.sourceToken),e.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=e.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;n.value||Ie(n.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>e.indent){let s=this.startBlockValue(e);if(s){this.stack.push(s);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let n=e.items[e.items.length-1];if(this.type==="flow-error-end"){let s;do yield*this.pop(),s=this.peek(1);while(s?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?e.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?e.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);!n||n.value?e.items.push({start:[],key:i,sep:[]}):n.sep?this.stack.push(i):Object.assign(n,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{let s=this.peek(2);if(s.type==="block-map"&&(this.type==="map-value-ind"&&s.indent===e.indent||this.type==="newline"&&!s.items[s.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&s.type!=="flow-collection"){let i=ss(s),r=tt(i);Nl(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:r,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let n=this.source.indexOf(`
140
140
  `)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
141
- `,n)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let n=es(e),s=et(n);return s.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let n=es(e),s=et(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,n){return this.type!=="comment"||this.indent<=n?!1:e.every(s=>s.type==="newline"||s.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};_l.Parser=sr});var Ll=w(jt=>{"use strict";var Ol=Yi(),Zh=$t(),Ut=Rt(),em=Us(),tm=I(),nm=nr(),Il=ir();function Tl(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new nm.LineCounter||null,prettyErrors:e}}function sm(t,e={}){let{lineCounter:n,prettyErrors:s}=Tl(e),i=new Il.Parser(n?.addNewLine),r=new Ol.Composer(e),o=Array.from(r.compose(i.parse(t)));if(s&&n)for(let a of o)a.errors.forEach(Ut.prettifyError(t,n)),a.warnings.forEach(Ut.prettifyError(t,n));return o.length>0?o:Object.assign([],{empty:!0},r.streamInfo())}function Nl(t,e={}){let{lineCounter:n,prettyErrors:s}=Tl(e),i=new Il.Parser(n?.addNewLine),r=new Ol.Composer(e),o=null;for(let a of r.compose(i.parse(t),!0,t.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Ut.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return s&&n&&(o.errors.forEach(Ut.prettifyError(t,n)),o.warnings.forEach(Ut.prettifyError(t,n))),o}function im(t,e,n){let s;typeof e=="function"?s=e:n===void 0&&e&&typeof e=="object"&&(n=e);let i=Nl(t,n);if(!i)return null;if(i.warnings.forEach(r=>em.warn(i.options.logLevel,r)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:s},n))}function rm(t,e,n){let s=null;if(typeof e=="function"||Array.isArray(e)?s=e:n===void 0&&e&&(n=e),typeof n=="string"&&(n=n.length),typeof n=="number"){let i=Math.round(n);n=i<1?void 0:i>8?{indent:8}:{indent:i}}if(t===void 0){let{keepUndefined:i}=n??e??{};if(!i)return}return tm.isDocument(t)&&!s?t.toString(n):new Zh.Document(t,s,n).toString(n)}jt.parse=im;jt.parseAllDocuments=sm;jt.parseDocument=Nl;jt.stringify=rm});var fe=w(N=>{"use strict";var om=Yi(),am=$t(),lm=Ai(),rr=Rt(),cm=yt(),Oe=I(),um=ve(),fm=$(),dm=Ee(),pm=Ae(),hm=Xn(),mm=er(),gm=nr(),ym=ir(),ts=Ll(),Cl=pt();N.Composer=om.Composer;N.Document=am.Document;N.Schema=lm.Schema;N.YAMLError=rr.YAMLError;N.YAMLParseError=rr.YAMLParseError;N.YAMLWarning=rr.YAMLWarning;N.Alias=cm.Alias;N.isAlias=Oe.isAlias;N.isCollection=Oe.isCollection;N.isDocument=Oe.isDocument;N.isMap=Oe.isMap;N.isNode=Oe.isNode;N.isPair=Oe.isPair;N.isScalar=Oe.isScalar;N.isSeq=Oe.isSeq;N.Pair=um.Pair;N.Scalar=fm.Scalar;N.YAMLMap=dm.YAMLMap;N.YAMLSeq=pm.YAMLSeq;N.CST=hm;N.Lexer=mm.Lexer;N.LineCounter=gm.LineCounter;N.Parser=ym.Parser;N.parse=ts.parse;N.parseAllDocuments=ts.parseAllDocuments;N.parseDocument=ts.parseDocument;N.stringify=ts.stringify;N.visit=Cl.visit;N.visitAsync=Cl.visitAsync});import{existsSync as wm}from"node:fs";import{resolve as Ie}from"node:path";function or(){return process.env.HIVE_HOME?Ie(process.env.HIVE_HOME):wm(Ie(process.cwd(),"hive.yaml"))?process.cwd():Ie(Sm,".hive")}function Pl(t){let e=process.env.HIVE_CONFIG||"hive.yaml";return Ie(t,e)}function Ml(t){let n=(process.env.HIVE_CONFIG||"hive.yaml").match(/^hive-(.+)\.yaml$/)?.[1];return Ie(t,n?`.env-${n}`:".env")}var Sm,P,j,Kw,$l,ne=L(()=>{"use strict";Sm=process.env.HOME??"/tmp";P=or(),j=Ie(P,"skills"),Kw=Ie(P,".hive"),$l=Ie(import.meta.dirname,"..","seeds")});import{execFileSync as R}from"node:child_process";import{writeFileSync as bm,unlinkSync as vm}from"node:fs";import{resolve as km}from"node:path";import{tmpdir as Em}from"node:os";function ar(t){try{return R("which",[t],Yt),!0}catch{return!1}}function Dl(t){try{return R("brew",["list",t],Yt),!0}catch{return!1}}function Am(t){try{return R("brew",["services","list"],Yt).split(`
142
- `).some(n=>n.startsWith(t)&&n.includes("started"))}catch{return!1}}async function ql(t,e=1500){try{let n=new AbortController,s=setTimeout(()=>n.abort(),e),i=await fetch(t,{signal:n.signal});return clearTimeout(s),i.ok}catch{return!1}}async function Rl(){console.log(`Checking prerequisites...
143
- `);let t=0;for(let e of _m){let n=e.required?"":" (optional)";if(await e.check()){console.log(` \u2713 ${e.name}${n}`);continue}console.log(` \u2717 ${e.name}${n} \u2014 installing...`);try{e.install(),await e.check()?console.log(` \u2713 ${e.name} \u2014 installed`):e.required&&(console.error(` \u2717 ${e.name} \u2014 install failed`),t++)}catch(s){e.required?(console.error(` \u2717 ${e.name} \u2014 install failed: ${s}`),t++):console.log(` \u25CB ${e.name} \u2014 skipped (install failed)`)}}t>0&&(console.error(`
141
+ `,n)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let n=ss(e),s=tt(n);return s.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let n=ss(e),s=tt(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,n){return this.type!=="comment"||this.indent<=n?!1:e.every(s=>s.type==="newline"||s.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};Ll.Parser=rr});var Dl=w(Ht=>{"use strict";var Cl=Gi(),sm=qt(),Yt=Bt(),im=Ys(),rm=O(),om=ir(),Pl=or();function Ml(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new om.LineCounter||null,prettyErrors:e}}function am(t,e={}){let{lineCounter:n,prettyErrors:s}=Ml(e),i=new Pl.Parser(n?.addNewLine),r=new Cl.Composer(e),o=Array.from(r.compose(i.parse(t)));if(s&&n)for(let a of o)a.errors.forEach(Yt.prettifyError(t,n)),a.warnings.forEach(Yt.prettifyError(t,n));return o.length>0?o:Object.assign([],{empty:!0},r.streamInfo())}function $l(t,e={}){let{lineCounter:n,prettyErrors:s}=Ml(e),i=new Pl.Parser(n?.addNewLine),r=new Cl.Composer(e),o=null;for(let a of r.compose(i.parse(t),!0,t.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Yt.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return s&&n&&(o.errors.forEach(Yt.prettifyError(t,n)),o.warnings.forEach(Yt.prettifyError(t,n))),o}function lm(t,e,n){let s;typeof e=="function"?s=e:n===void 0&&e&&typeof e=="object"&&(n=e);let i=$l(t,n);if(!i)return null;if(i.warnings.forEach(r=>im.warn(i.options.logLevel,r)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:s},n))}function cm(t,e,n){let s=null;if(typeof e=="function"||Array.isArray(e)?s=e:n===void 0&&e&&(n=e),typeof n=="string"&&(n=n.length),typeof n=="number"){let i=Math.round(n);n=i<1?void 0:i>8?{indent:8}:{indent:i}}if(t===void 0){let{keepUndefined:i}=n??e??{};if(!i)return}return rm.isDocument(t)&&!s?t.toString(n):new sm.Document(t,s,n).toString(n)}Ht.parse=lm;Ht.parseAllDocuments=am;Ht.parseDocument=$l;Ht.stringify=cm});var fe=w(T=>{"use strict";var um=Gi(),fm=qt(),dm=Ii(),ar=Bt(),pm=St(),Oe=O(),hm=Ee(),mm=$(),gm=Ae(),ym=_e(),wm=ts(),Sm=nr(),bm=ir(),vm=or(),is=Dl(),ql=mt();T.Composer=um.Composer;T.Document=fm.Document;T.Schema=dm.Schema;T.YAMLError=ar.YAMLError;T.YAMLParseError=ar.YAMLParseError;T.YAMLWarning=ar.YAMLWarning;T.Alias=pm.Alias;T.isAlias=Oe.isAlias;T.isCollection=Oe.isCollection;T.isDocument=Oe.isDocument;T.isMap=Oe.isMap;T.isNode=Oe.isNode;T.isPair=Oe.isPair;T.isScalar=Oe.isScalar;T.isSeq=Oe.isSeq;T.Pair=hm.Pair;T.Scalar=mm.Scalar;T.YAMLMap=gm.YAMLMap;T.YAMLSeq=ym.YAMLSeq;T.CST=wm;T.Lexer=Sm.Lexer;T.LineCounter=bm.LineCounter;T.Parser=vm.Parser;T.parse=is.parse;T.parseAllDocuments=is.parseAllDocuments;T.parseDocument=is.parseDocument;T.stringify=is.stringify;T.visit=ql.visit;T.visitAsync=ql.visitAsync});import{execFileSync as R}from"node:child_process";import{writeFileSync as Em,unlinkSync as km}from"node:fs";import{resolve as Am}from"node:path";import{tmpdir as _m}from"node:os";function lr(t){try{return R("which",[t],Gt),!0}catch{return!1}}function Rl(t){try{return R("brew",["list",t],Gt),!0}catch{return!1}}function Im(t){try{return R("brew",["services","list"],Gt).split(`
142
+ `).some(n=>n.startsWith(t)&&n.includes("started"))}catch{return!1}}async function Kl(t,e=1500){try{let n=new AbortController,s=setTimeout(()=>n.abort(),e),i=await fetch(t,{signal:n.signal});return clearTimeout(s),i.ok}catch{return!1}}async function Bl(){console.log(`Checking prerequisites...
143
+ `);let t=0;for(let e of Om){let n=e.required?"":" (optional)";if(await e.check()){console.log(` \u2713 ${e.name}${n}`);continue}console.log(` \u2717 ${e.name}${n} \u2014 installing...`);try{e.install(),await e.check()?console.log(` \u2713 ${e.name} \u2014 installed`):e.required&&(console.error(` \u2717 ${e.name} \u2014 install failed`),t++)}catch(s){e.required?(console.error(` \u2717 ${e.name} \u2014 install failed: ${s}`),t++):console.log(` \u25CB ${e.name} \u2014 skipped (install failed)`)}}t>0&&(console.error(`
144
144
  ${t} required prerequisite(s) failed. Fix and re-run 'hive init'.`),process.exit(1)),console.log(`
145
- All prerequisites ready.`)}var Yt,_m,Kl=L(()=>{"use strict";Yt={encoding:"utf-8",stdio:"pipe"};_m=[{name:"Xcode CLI Tools",required:!0,check:()=>{try{return R("xcode-select",["-p"],Yt),!0}catch{return!1}},install:()=>{console.log(" Installing Xcode CLI Tools (this opens a system dialog)..."),R("xcode-select",["--install"],{stdio:"inherit"}),console.log(" Complete the installation dialog, then re-run 'hive init'."),process.exit(0)}},{name:"Homebrew",required:!0,check:()=>ar("brew"),install:()=>{console.log(" Installing Homebrew...");let t=km(Em(),"brew-install.sh"),e=R("curl",["-fsSL","https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"],{encoding:"utf-8"});bm(t,e,{mode:493}),R("/bin/bash",[t],{stdio:"inherit"}),vm(t)}},{name:"Node.js >= 22",required:!0,check:()=>parseInt(process.versions.node.split(".")[0])>=22,install:()=>{console.log(" Installing Node.js via Homebrew..."),R("brew",["install","node"],{stdio:"inherit"})}},{name:"MongoDB",required:!0,check:()=>Am("mongodb-community"),install:()=>{Dl("mongodb-community")||(console.log(" Tapping mongodb/brew..."),R("brew",["tap","mongodb/brew"],{stdio:"inherit"}),console.log(" Installing mongodb-community..."),R("brew",["install","mongodb-community"],{stdio:"inherit"})),console.log(" Starting MongoDB..."),R("brew",["services","start","mongodb-community"],{stdio:"inherit"})}},{name:"Ollama",required:!0,check:()=>ql("http://127.0.0.1:11434/api/tags"),install:()=>{console.log(" Installing Ollama..."),R("brew",["install","ollama"],{stdio:"inherit"}),R("brew",["services","start","ollama"],{stdio:"inherit"})}},{name:"Ollama models (bge-large, gemma4:e4b)",required:!0,check:()=>{if(!ar("ollama"))return!1;try{let t=R("ollama",["list"],Yt);return t.includes("bge-large")&&t.includes("gemma4:e4b")}catch{return!1}},install:()=>{console.log(" \u26A0 Pulling Ollama models \u2014 ~10 GB total, several minutes on first run."),console.log(" Pulling bge-large (~670 MB)..."),R("ollama",["pull","bge-large"],{stdio:"inherit"}),console.log(" Pulling gemma4:e4b (~9.6 GB)..."),R("ollama",["pull","gemma4:e4b"],{stdio:"inherit"})}},{name:"Qdrant",required:!0,check:()=>ql("http://127.0.0.1:6333/"),install:()=>{Dl("qdrant")||(console.log(" Installing Qdrant..."),R("brew",["install","qdrant/tap/qdrant"],{stdio:"inherit"})),console.log(" Starting Qdrant..."),R("brew",["services","start","qdrant"],{stdio:"inherit"})}},{name:"gh CLI",required:!1,check:()=>ar("gh"),install:()=>{console.log(" Installing gh CLI..."),R("brew",["install","gh"],{stdio:"inherit"})}}]});function lr(t,e){let n=e.split("."),s=t;for(let i of n)if(s=s?.[i],s===void 0)return;return s}function Bl(t){return t!=null&&t!==""&&t!==!1}function xl(t,e){let n=!0;for(;n;)n=!1,t=t.replace(/\{\{#([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}([\s\S]*?)\{\{\/\1\}\}/g,(s,i,r)=>i==="sms_section"?s:(n=!0,Bl(lr(e,i))?r:"")),t=t.replace(/\{\{\^([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}([\s\S]*?)\{\{\/\1\}\}/g,(s,i,r)=>(n=!0,Bl(lr(e,i))?"":r));return t=t.replace(/\{\{([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}/g,(s,i)=>{let r=lr(e,i);return r===void 0?s:String(r)}),t}var Fl=L(()=>{"use strict"});var is={};Q(is,{startDaemon:()=>ur,stopDaemon:()=>fr});import{execFileSync as ns}from"node:child_process";import{existsSync as Ht,readFileSync as Om,writeFileSync as Im,mkdirSync as cr,symlinkSync as Tm,unlinkSync as Ul}from"node:fs";import{resolve as de}from"node:path";function Nm(){let t=de(P,process.env.HIVE_CONFIG??"hive.yaml");return Ht(t)?((0,jl.parse)(Om(t,"utf-8"))??{}).instance?.id??"hive":"hive"}function ss(){return`com.hive.${Nm()}.agent`}function Lm(){return de(P,"service",`${ss()}.plist`)}function Yl(){let t=process.env.HOME??"/tmp";return de(t,"Library","LaunchAgents",`${ss()}.plist`)}async function ur(t){let e=ss(),n=Lm(),s=Yl(),i=de(P,"service"),r=de(P,"logs");cr(i,{recursive:!0}),cr(r,{recursive:!0});let o=ns("which",["node"],{encoding:"utf-8"}).trim(),a=Ht(de(t,"pkg","server.min.js"))?de(t,"pkg","server.min.js"):de(t,"dist","index.js"),l=process.env.HOME??"/tmp",c=process.env.PATH??"/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",f=`<?xml version="1.0" encoding="UTF-8"?>
145
+ All prerequisites ready.`)}var Gt,Om,xl=L(()=>{"use strict";Gt={encoding:"utf-8",stdio:"pipe"};Om=[{name:"Xcode CLI Tools",required:!0,check:()=>{try{return R("xcode-select",["-p"],Gt),!0}catch{return!1}},install:()=>{console.log(" Installing Xcode CLI Tools (this opens a system dialog)..."),R("xcode-select",["--install"],{stdio:"inherit"}),console.log(" Complete the installation dialog, then re-run 'hive init'."),process.exit(0)}},{name:"Homebrew",required:!0,check:()=>lr("brew"),install:()=>{console.log(" Installing Homebrew...");let t=Am(_m(),"brew-install.sh"),e=R("curl",["-fsSL","https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"],{encoding:"utf-8"});Em(t,e,{mode:493}),R("/bin/bash",[t],{stdio:"inherit"}),km(t)}},{name:"Node.js >= 22",required:!0,check:()=>parseInt(process.versions.node.split(".")[0])>=22,install:()=>{console.log(" Installing Node.js via Homebrew..."),R("brew",["install","node"],{stdio:"inherit"})}},{name:"MongoDB",required:!0,check:()=>Im("mongodb-community"),install:()=>{Rl("mongodb-community")||(console.log(" Tapping mongodb/brew..."),R("brew",["tap","mongodb/brew"],{stdio:"inherit"}),console.log(" Installing mongodb-community..."),R("brew",["install","mongodb-community"],{stdio:"inherit"})),console.log(" Starting MongoDB..."),R("brew",["services","start","mongodb-community"],{stdio:"inherit"})}},{name:"Ollama",required:!0,check:()=>Kl("http://127.0.0.1:11434/api/tags"),install:()=>{console.log(" Installing Ollama..."),R("brew",["install","ollama"],{stdio:"inherit"}),R("brew",["services","start","ollama"],{stdio:"inherit"})}},{name:"Ollama models (bge-large, gemma4:e4b)",required:!0,check:()=>{if(!lr("ollama"))return!1;try{let t=R("ollama",["list"],Gt);return t.includes("bge-large")&&t.includes("gemma4:e4b")}catch{return!1}},install:()=>{console.log(" \u26A0 Pulling Ollama models \u2014 ~10 GB total, several minutes on first run."),console.log(" Pulling bge-large (~670 MB)..."),R("ollama",["pull","bge-large"],{stdio:"inherit"}),console.log(" Pulling gemma4:e4b (~9.6 GB)..."),R("ollama",["pull","gemma4:e4b"],{stdio:"inherit"})}},{name:"Qdrant",required:!0,check:()=>Kl("http://127.0.0.1:6333/"),install:()=>{Rl("qdrant")||(console.log(" Installing Qdrant..."),R("brew",["install","qdrant/tap/qdrant"],{stdio:"inherit"})),console.log(" Starting Qdrant..."),R("brew",["services","start","qdrant"],{stdio:"inherit"})}},{name:"gh CLI",required:!1,check:()=>lr("gh"),install:()=>{console.log(" Installing gh CLI..."),R("brew",["install","gh"],{stdio:"inherit"})}}]});function cr(t,e){let n=e.split("."),s=t;for(let i of n)if(s=s?.[i],s===void 0)return;return s}function Fl(t){return t!=null&&t!==""&&t!==!1}function Ul(t,e){let n=!0;for(;n;)n=!1,t=t.replace(/\{\{#([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}([\s\S]*?)\{\{\/\1\}\}/g,(s,i,r)=>i==="sms_section"?s:(n=!0,Fl(cr(e,i))?r:"")),t=t.replace(/\{\{\^([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}([\s\S]*?)\{\{\/\1\}\}/g,(s,i,r)=>(n=!0,Fl(cr(e,i))?"":r));return t=t.replace(/\{\{([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}/g,(s,i)=>{let r=cr(e,i);return r===void 0?s:String(r)}),t}var jl=L(()=>{"use strict"});var as={};Q(as,{startDaemon:()=>fr,stopDaemon:()=>dr});import{execFileSync as rs}from"node:child_process";import{existsSync as Vt,readFileSync as Nm,writeFileSync as Tm,mkdirSync as ur,symlinkSync as Lm,unlinkSync as Yl}from"node:fs";import{resolve as de}from"node:path";function Cm(){let t=de(P,process.env.HIVE_CONFIG??"hive.yaml");return Vt(t)?((0,Hl.parse)(Nm(t,"utf-8"))??{}).instance?.id??"hive":"hive"}function os(){return`com.hive.${Cm()}.agent`}function Pm(){return de(P,"service",`${os()}.plist`)}function Gl(){let t=process.env.HOME??"/tmp";return de(t,"Library","LaunchAgents",`${os()}.plist`)}async function fr(t){let e=os(),n=Pm(),s=Gl(),i=de(P,"service"),r=de(P,"logs");ur(i,{recursive:!0}),ur(r,{recursive:!0});let o=rs("which",["node"],{encoding:"utf-8"}).trim(),a=Vt(de(t,"pkg","server.min.js"))?de(t,"pkg","server.min.js"):de(t,"dist","index.js"),l=process.env.HOME??"/tmp",c=process.env.PATH??"/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",f=`<?xml version="1.0" encoding="UTF-8"?>
146
146
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
147
147
  <plist version="1.0">
148
148
  <dict>
@@ -186,68 +186,69 @@ All prerequisites ready.`)}var Yt,_m,Kl=L(()=>{"use strict";Yt={encoding:"utf-8"
186
186
  <string>${r}/hive.err</string>
187
187
  </dict>
188
188
  </plist>
189
- `;Im(n,f),console.log(`Generated plist: ${n}`);let u=de(s,"..");cr(u,{recursive:!0}),Ht(s)&&Ul(s),Tm(n,s);try{ns("launchctl",["unload",s],{stdio:"pipe"})}catch{}try{ns("launchctl",["load",s],{stdio:"inherit"}),console.log(`Started ${e}`)}catch{throw new Error(`Failed to start ${e}. Check: launchctl list | grep hive`)}}async function fr(){let t=Yl(),e=ss();if(!Ht(t)){console.log(`No LaunchAgent found for ${e}`);return}try{ns("launchctl",["unload",t],{stdio:"inherit"}),console.log(`Stopped ${e}`)}catch{console.error(`Failed to stop ${e}`)}try{Ht(t)&&Ul(t),console.log(`Removed ${t}`)}catch{}}var jl,Gt=L(()=>{"use strict";jl=le(fe(),1);ne()});var rc={};Q(rc,{runWizard:()=>$m});import{createInterface as Cm}from"node:readline";import{readFileSync as tt,writeFileSync as tc,existsSync as H,readdirSync as Pm}from"node:fs";import{execFileSync as Y}from"node:child_process";import{resolve as Te,join as U}from"node:path";import{MongoClient as dr}from"mongodb";function C(t,e=""){let n=e?`${t} [${e}]: `:`${t}: `;return new Promise(s=>{nc.question(n,i=>{s(i.trim()||e)})})}async function B(t,e=!0){return(await C(`${t} (${e?"Y/n":"y/N"})`,e?"y":"n")).toLowerCase().startsWith("y")}function Mm(){console.log(""),console.log("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),console.log("\u2551 Hive Setup Wizard \u2551"),console.log("\u2551 Multi-Agent Slack Orchestration Framework \u2551"),console.log("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),console.log("")}function Z(t){console.log(""),console.log(`\u2500\u2500 ${t} ${"\u2500".repeat(Math.max(0,44-t.length))}`),console.log("")}function sc(){if(!H(rs))return{};let t={};for(let e of tt(rs,"utf-8").split(`
190
- `)){let n=e.trim();if(!n||n.startsWith("#"))continue;let s=n.indexOf("=");if(s===-1)continue;let i=n.slice(0,s),r=n.slice(s+1);t[i]=r}return t}function Vt(t){let e=["# Hive environment \u2014 generated by setup wizard","# Secrets and API keys. Do not commit this file.",""],n=[{header:"# Slack",keys:["SLACK_APP_TOKEN","SLACK_BOT_TOKEN","SLACK_MCP_TOKEN"]},{header:"# Anthropic",keys:["ANTHROPIC_API_KEY"]},{header:"# SMS (Quo/OpenPhone)",keys:["QUO_API_KEY","QUO_PHONE_NUMBER_ID"]},{header:"# Google",keys:["GOOGLE_ACCOUNT"]},{header:"# Project Management",keys:["LINEAR_API_KEY","CLICKUP_API_TOKEN"]},{header:"# External Communications",keys:["EXTERNAL_COMMS_ENABLED"]}],s=new Set;for(let i of n){let r=[];for(let o of i.keys){s.add(o);let a=t[o];a?r.push(`${o}=${a}`):r.push(`# ${o}=`)}r.some(o=>!o.startsWith("#"))&&(e.push(i.header),e.push(...r),e.push(""))}for(let[i,r]of Object.entries(t))!s.has(i)&&r&&e.push(`${i}=${r}`);tc(rs,e.join(`
189
+ `;Tm(n,f),console.log(`Generated plist: ${n}`);let u=de(s,"..");ur(u,{recursive:!0}),Vt(s)&&Yl(s),Lm(n,s);try{rs("launchctl",["unload",s],{stdio:"pipe"})}catch{}try{rs("launchctl",["load",s],{stdio:"inherit"}),console.log(`Started ${e}`)}catch{throw new Error(`Failed to start ${e}. Check: launchctl list | grep hive`)}}async function dr(){let t=Gl(),e=os();if(!Vt(t)){console.log(`No LaunchAgent found for ${e}`);return}try{rs("launchctl",["unload",t],{stdio:"inherit"}),console.log(`Stopped ${e}`)}catch{console.error(`Failed to stop ${e}`)}try{Vt(t)&&Yl(t),console.log(`Removed ${t}`)}catch{}}var Hl,Wt=L(()=>{"use strict";Hl=le(fe(),1);z()});var ac={};Q(ac,{runWizard:()=>qm});import{createInterface as Mm}from"node:readline";import{readFileSync as nt,writeFileSync as sc,existsSync as H,readdirSync as $m}from"node:fs";import{execFileSync as Y}from"node:child_process";import{resolve as Ne,join as U}from"node:path";import{MongoClient as pr}from"mongodb";function C(t,e=""){let n=e?`${t} [${e}]: `:`${t}: `;return new Promise(s=>{ic.question(n,i=>{s(i.trim()||e)})})}async function B(t,e=!0){return(await C(`${t} (${e?"Y/n":"y/N"})`,e?"y":"n")).toLowerCase().startsWith("y")}function Dm(){console.log(""),console.log("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),console.log("\u2551 Hive Setup Wizard \u2551"),console.log("\u2551 Multi-Agent Slack Orchestration Framework \u2551"),console.log("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),console.log("")}function ee(t){console.log(""),console.log(`\u2500\u2500 ${t} ${"\u2500".repeat(Math.max(0,44-t.length))}`),console.log("")}function rc(){if(!H(ls))return{};let t={};for(let e of nt(ls,"utf-8").split(`
190
+ `)){let n=e.trim();if(!n||n.startsWith("#"))continue;let s=n.indexOf("=");if(s===-1)continue;let i=n.slice(0,s),r=n.slice(s+1);t[i]=r}return t}function Jt(t){let e=["# Hive environment \u2014 generated by setup wizard","# Secrets and API keys. Do not commit this file.",""],n=[{header:"# Slack",keys:["SLACK_APP_TOKEN","SLACK_BOT_TOKEN","SLACK_MCP_TOKEN"]},{header:"# Anthropic",keys:["ANTHROPIC_API_KEY"]},{header:"# SMS (Quo/OpenPhone)",keys:["QUO_API_KEY","QUO_PHONE_NUMBER_ID"]},{header:"# Google",keys:["GOOGLE_ACCOUNT"]},{header:"# Project Management",keys:["LINEAR_API_KEY","CLICKUP_API_TOKEN"]},{header:"# External Communications",keys:["EXTERNAL_COMMS_ENABLED"]}],s=new Set;for(let i of n){let r=[];for(let o of i.keys){s.add(o);let a=t[o];a?r.push(`${o}=${a}`):r.push(`# ${o}=`)}r.some(o=>!o.startsWith("#"))&&(e.push(i.header),e.push(...r),e.push(""))}for(let[i,r]of Object.entries(t))!s.has(i)&&r&&e.push(`${i}=${r}`);sc(ls,e.join(`
191
191
  `)+`
192
- `)}function ic(){return H(os)?(0,nt.parse)(tt(os,"utf-8"))??{}:{}}function Wt(t){tc(os,(0,nt.stringify)(t))}function Hl(t){return!!(t.business?.name&&t.business?.owner?.name)}function Gl(t){return!!(t.SLACK_APP_TOKEN&&t.SLACK_BOT_TOKEN)}async function Vl(){let t=process.env.MONGODB_DB;if(!t)return!1;try{let e=new dr(process.env.MONGODB_URI??"mongodb://localhost:27017");await e.connect();let s=await e.db(t).collection("agent_definitions").findOne({_id:"chief-of-staff"});return await e.close(),!!s}catch{return!1}}function Wl(t){return H(Te(import.meta.dirname,"..","pkg","server.min.js"))?!0:H(Te(t,"dist","index.js"))}async function $m(t,e,n){rs=U(t,".env"),os=U(t,"hive.yaml");let s=H(Te(n,"pkg","server.min.js"));Mm();let i=sc(),r=ic(),o=r.instance?.id;o||(console.error("Error: hive.yaml is missing instance.id. Re-run 'hive init'."),process.exit(1)),process.env.MONGODB_DB||(process.env.MONGODB_DB=`hive_${o}`);let a=[];if(Hl(r)&&a.push("Business info"),Gl(i)&&a.push("Slack"),await Vl()&&a.push("Agent setup"),Wl(t)&&a.push("Build"),a.length>0){console.log("Resuming setup. Already completed:");for(let h of a)console.log(` \u2713 ${h}`);console.log("")}else console.log("This wizard will configure Hive for your business."),console.log("Progress is saved after each section \u2014 you can quit and resume anytime."),console.log(""),await C("Press Enter to begin...");if(Hl(r)?(console.log(`Business: ${r.business.name} (${r.business.owner.name}, ${r.business.owner.role})`),await B("Redo business info?",!1)?await Jl(r):console.log(" \u2713 Skipped")):await Jl(r),Gl(i)?(console.log("Slack: \u2713 tokens configured"),await B("Redo Slack setup?",!1)?await Ql(i,n):console.log(" \u2713 Skipped")):await Ql(i,n),Z("Anthropic"),i.ANTHROPIC_API_KEY?(console.log("Anthropic API key: \u2713 configured"),await B("Change it?",!1)?await zl(i):console.log(" \u2713 Skipped")):(console.log("Your Claude CLI session is already authenticated \u2014 Hive's Agent SDK"),console.log("will use that automatically. No API key needed."),console.log(""),await B("Use a separate API key instead?",!1)?await zl(i):(console.log(" \u2713 Using existing Claude authentication"),Vt(i))),Z("Optional Integrations"),console.log(`These can be added later. Press Enter to skip any.
193
- `),await B("Enable SMS via Quo (OpenPhone)?",!1)){console.log("Get your API key from: Quo workspace settings \u2192 API tab"),i.QUO_API_KEY=await C("Quo API Key",i.QUO_API_KEY||""),i.QUO_PHONE_NUMBER_ID=await C("Default Phone Number ID (PNxxx)",i.QUO_PHONE_NUMBER_ID||"");let h=[],y={};if(await B("Configure named phone lines?",!1)){let m=!0;for(;m;){let S=await C("Line name (e.g. main, personal)"),v=await C("Phone Number ID (PNxxx)"),A=await C("Phone number (e.g. (555) 123-4567)"),_=await C("Label (e.g. Jane's Line)"),E=await C("Slack channel for incoming SMS",`sms-${S}`);y[S]={id:v,number:A,label:_},h.push({id:v,label:_,number:A,slackChannel:E}),m=await B("Add another line?",!1)}}h.length>0&&(r.sms={lines:h}),Object.keys(y).length>0&&(r.quo={lines:y})}if(await B("Enable Google Gmail/Calendar integration?",!1)){let h=!1;try{Y("which",["gog"],{stdio:"pipe"}),h=!0,console.log(" \u2713 gog CLI found")}catch{console.log(" gog CLI not found. Installing via Homebrew...");try{Y("brew",["install","gog"],{stdio:"inherit"}),h=!0,console.log(" \u2713 gog CLI installed")}catch{console.log(" \u26A0 Failed to install gog. Install manually: brew install gog")}}if(h){try{let p=Y("gog",["auth","list"],{encoding:"utf-8",stdio:"pipe"}).trim();p&&!p.includes("no accounts")&&(console.log(`
192
+ `)}function oc(){return H(cs)?(0,st.parse)(nt(cs,"utf-8"))??{}:{}}function Qt(t){sc(cs,(0,st.stringify)(t))}function Vl(t){return!!(t.business?.name&&t.business?.owner?.name)}function Wl(t){return!!(t.SLACK_APP_TOKEN&&t.SLACK_BOT_TOKEN)}async function Jl(){let t=process.env.MONGODB_DB;if(!t)return!1;try{let e=new pr(process.env.MONGODB_URI??"mongodb://localhost:27017");await e.connect();let s=await e.db(t).collection("agent_definitions").findOne({_id:"chief-of-staff"});return await e.close(),!!s}catch{return!1}}function Ql(t){return H(Ne(import.meta.dirname,"..","pkg","server.min.js"))?!0:H(Ne(t,"dist","index.js"))}async function qm(t,e,n){ls=U(t,".env"),cs=U(t,"hive.yaml");let s=H(Ne(n,"pkg","server.min.js"));Dm();let i=rc(),r=oc(),o=r.instance?.id;o||(console.error("Error: hive.yaml is missing instance.id. Re-run 'hive init'."),process.exit(1)),process.env.MONGODB_DB||(process.env.MONGODB_DB=`hive_${o}`);let a=[];if(Vl(r)&&a.push("Business info"),Wl(i)&&a.push("Slack"),await Jl()&&a.push("Agent setup"),Ql(t)&&a.push("Build"),a.length>0){console.log("Resuming setup. Already completed:");for(let h of a)console.log(` \u2713 ${h}`);console.log("")}else console.log("This wizard will configure Hive for your business."),console.log("Progress is saved after each section \u2014 you can quit and resume anytime."),console.log(""),await C("Press Enter to begin...");if(Vl(r)?(console.log(`Business: ${r.business.name} (${r.business.owner.name}, ${r.business.owner.role})`),await B("Redo business info?",!1)?await zl(r):console.log(" \u2713 Skipped")):await zl(r),Wl(i)?(console.log("Slack: \u2713 tokens configured"),await B("Redo Slack setup?",!1)?await Xl(i,n):console.log(" \u2713 Skipped")):await Xl(i,n),ee("Anthropic"),i.ANTHROPIC_API_KEY?(console.log("Anthropic API key: \u2713 configured"),await B("Change it?",!1)?await Zl(i):console.log(" \u2713 Skipped")):(console.log("Your Claude CLI session is already authenticated \u2014 Hive's Agent SDK"),console.log("will use that automatically. No API key needed."),console.log(""),await B("Use a separate API key instead?",!1)?await Zl(i):(console.log(" \u2713 Using existing Claude authentication"),Jt(i))),ee("Optional Integrations"),console.log(`These can be added later. Press Enter to skip any.
193
+ `),await B("Enable SMS via Quo (OpenPhone)?",!1)){console.log("Get your API key from: Quo workspace settings \u2192 API tab"),i.QUO_API_KEY=await C("Quo API Key",i.QUO_API_KEY||""),i.QUO_PHONE_NUMBER_ID=await C("Default Phone Number ID (PNxxx)",i.QUO_PHONE_NUMBER_ID||"");let h=[],y={};if(await B("Configure named phone lines?",!1)){let m=!0;for(;m;){let S=await C("Line name (e.g. main, personal)"),v=await C("Phone Number ID (PNxxx)"),A=await C("Phone number (e.g. (555) 123-4567)"),_=await C("Label (e.g. Jane's Line)"),k=await C("Slack channel for incoming SMS",`sms-${S}`);y[S]={id:v,number:A,label:_},h.push({id:v,label:_,number:A,slackChannel:k}),m=await B("Add another line?",!1)}}h.length>0&&(r.sms={lines:h}),Object.keys(y).length>0&&(r.quo={lines:y})}if(await B("Enable Google Gmail/Calendar integration?",!1)){let h=!1;try{Y("which",["gog"],{stdio:"pipe"}),h=!0,console.log(" \u2713 gog CLI found")}catch{console.log(" gog CLI not found. Installing via Homebrew...");try{Y("brew",["install","gog"],{stdio:"inherit"}),h=!0,console.log(" \u2713 gog CLI installed")}catch{console.log(" \u26A0 Failed to install gog. Install manually: brew install gog")}}if(h){try{let p=Y("gog",["auth","list"],{encoding:"utf-8",stdio:"pipe"}).trim();p&&!p.includes("no accounts")&&(console.log(`
194
194
  Authenticated accounts:`),console.log(` ${p.replace(/\n/g,`
195
195
  `)}`))}catch{}if(console.log(""),await B("Authenticate a Google account now?",!0)){let p=!0;for(;p;){let m=await C("Google account email");console.log(`
196
196
  Opening browser for ${m}...`),console.log(` Complete the OAuth flow in your browser, then come back here.
197
- `);try{Y("gog",["auth","add",m],{stdio:"inherit"}),console.log(` \u2713 ${m} authenticated`)}catch{console.log(` \u26A0 Authentication failed for ${m}. You can retry later: gog auth add ${m}`)}p=await B("Authenticate another Google account?",!1)}}if(i.GOOGLE_ACCOUNT=await C("Primary Google account for Hive",i.GOOGLE_ACCOUNT||""),i.GOOGLE_ACCOUNT)try{Y("gog",["gmail","search","is:unread","-a",i.GOOGLE_ACCOUNT,"--json","--results-only","--no-input"],{encoding:"utf-8",timeout:15e3}),console.log(` \u2713 Gmail access verified for ${i.GOOGLE_ACCOUNT}`)}catch{console.log(" \u26A0 Could not verify Gmail access \u2014 check authentication later")}}}if(await B("Enable project management integration?",!1)){let h=await C("Which system? (linear / clickup)","");h.toLowerCase().startsWith("l")?(i.LINEAR_API_KEY=await C("Linear API Key",i.LINEAR_API_KEY||""),console.log(" Get it from: Linear \u2192 Settings \u2192 API \u2192 Personal API Keys")):h.toLowerCase().startsWith("c")?(i.CLICKUP_API_TOKEN=await C("ClickUp API Token",i.CLICKUP_API_TOKEN||""),console.log(" Get it from: ClickUp \u2192 Settings \u2192 Apps \u2192 API Token")):console.log(" Skipped \u2014 you can configure this in .env later.")}Vt(i),Wt(r),console.log(`
198
- \u2713 Configuration saved (.env + hive.yaml)`),Z("Plugins");let u=U(t,"plugins");if(H(u)){let h=Pm(u).filter(y=>H(U(u,y,"plugin.yaml")));if(h.length>0){console.log(`Available plugins:
199
- `);for(let m of h){let S=(0,nt.parse)(tt(U(u,m,"plugin.yaml"),"utf-8"));console.log(` ${m} \u2014 ${S.description??"(no description)"}`)}console.log("");let y=(r.plugins??[]).join(", ")||"none",p=await C("Which plugins to enable? (comma-separated, or 'none')",y);p.toLowerCase()!=="none"?r.plugins=p.split(",").map(m=>m.trim()).filter(Boolean):r.plugins=[]}else console.log("No plugins found in plugins/ directory."),r.plugins=[]}else console.log("No plugins/ directory found."),r.plugins=[];if(Wt(r),await Vl()?(console.log(`
200
- Chief of Staff agent: \u2713 already set up`),await B("Regenerate agent from template?",!1)?await Xl(r):console.log(" \u2713 Skipped")):await Xl(r),await Dm(r),Z("Memory (MongoDB)"),await qm(r,e),s||(Z("Build"),Wl(t)?(console.log("Build output exists."),await B("Rebuild?",!0)?await Zl(n):console.log(" \u2713 Skipped")):await Zl(n)),!s){Z("Deploy");let h=U(process.env.HOME??"/tmp","services","hive");H(U(h,"package.json"))?(console.log(`Deploy directory exists: ${h}`),await B("Sync latest build and config?",!0)?await ec(h,n):console.log(" \u2713 Skipped")):(console.log("Hive runs from a separate deploy directory (not this dev repo)."),console.log(` Dev: ${n}`),console.log(` Deploy: ${h}`),console.log(""),await B("Set up the deploy directory now?",!0)&&await ec(h,n))}if(Z("Service"),await B("Install Hive as a LaunchAgent (starts on login)?"))try{let{startDaemon:h}=await Promise.resolve().then(()=>(Gt(),is));await h(n)}catch(h){console.log(` \u26A0 Service installation failed: ${h}`),console.log(" You can start manually: hive start")}console.log(""),console.log("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),console.log("\u2551 Hive is ready! \u2551"),console.log("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),console.log(""),console.log("Quick reference:"),console.log(` Config dir: ${t}`),console.log(" Start: hive start"),console.log(" Daemon: hive start --daemon"),console.log(" Stop: hive stop"),console.log(" Health: hive doctor"),s||console.log(` Dev mode: npm run dev (from ${n})`),console.log(""),console.log("Your chief-of-staff agent is stored in the agent_definitions collection."),console.log("Additional agents can be created through the chief of staff."),console.log(""),nc.close()}async function Jl(t){Z("Your Business");let e=await C("Business name",t.business?.name||""),n=await C("What does your business do? (one sentence)",t.business?.description||""),s=await C("Location (city, state)",t.business?.location||""),i=await C("Timezone (e.g. America/New_York)",t.business?.timezone||""),r=await C("Business hours (e.g. 9 AM - 5 PM)",t.business?.businessHours||"9 AM - 5 PM"),o=await C("Your name",t.business?.owner?.name||""),a=await C("Your role",t.business?.owner?.role||"CEO");t.business={name:e,description:n,...s?{location:s}:{},...i?{timezone:i}:{},businessHours:r,owner:{name:o,role:a}},Wt(t),console.log(`
201
- \u2713 Business info saved (hive.yaml)`)}async function Ql(t,e){Z("Slack App Setup"),console.log("You need a Slack app with Socket Mode enabled."),console.log(""),console.log("1. Go to: https://api.slack.com/apps");try{Y("open",["https://api.slack.com/apps"],{stdio:"pipe"})}catch{}console.log('2. Click "Create New App" \u2192 "From a manifest"'),console.log("3. Select your workspace"),console.log("4. Choose YAML format and paste this manifest:"),console.log(""),console.log("\u2500\u2500\u2500 Copy everything below this line \u2500\u2500\u2500");let n=H(Te(e,"pkg","setup","slack-manifest.yaml"))?Te(e,"pkg","setup","slack-manifest.yaml"):Te(e,"setup","slack-manifest.yaml");if(console.log(tt(n,"utf-8")),console.log("\u2500\u2500\u2500 Copy everything above this line \u2500\u2500\u2500"),console.log(""),console.log('5. Click "Create"'),console.log('6. Go to "Install App" \u2192 Install to workspace'),console.log(""),await C("Press Enter when your app is created and installed..."),console.log(""),console.log("Now collect your tokens:"),console.log(""),console.log('App-Level Token: Go to "Basic Information" \u2192 "App-Level Tokens"'),console.log(' \u2192 "Generate Token and Scopes" \u2192 add scope "connections:write"'),t.SLACK_APP_TOKEN=await C("App-Level Token (xapp-...)",t.SLACK_APP_TOKEN||""),console.log(""),console.log('Bot Token: Go to "OAuth & Permissions" \u2192 "Bot User OAuth Token"'),t.SLACK_BOT_TOKEN=await C("Bot Token (xoxb-...)",t.SLACK_BOT_TOKEN||""),console.log(""),await B("Do you have a Slack MCP user token (xoxp-...)? (for Slack search)",!1)&&(t.SLACK_MCP_TOKEN=await C("Slack MCP Token (xoxp-...)",t.SLACK_MCP_TOKEN||"")),t.SLACK_APP_TOKEN&&t.SLACK_BOT_TOKEN)try{let r=await(await fetch("https://slack.com/api/auth.test",{headers:{Authorization:`Bearer ${t.SLACK_BOT_TOKEN}`}})).json();r.ok?console.log(`
197
+ `);try{Y("gog",["auth","add",m],{stdio:"inherit"}),console.log(` \u2713 ${m} authenticated`)}catch{console.log(` \u26A0 Authentication failed for ${m}. You can retry later: gog auth add ${m}`)}p=await B("Authenticate another Google account?",!1)}}if(i.GOOGLE_ACCOUNT=await C("Primary Google account for Hive",i.GOOGLE_ACCOUNT||""),i.GOOGLE_ACCOUNT)try{Y("gog",["gmail","search","is:unread","-a",i.GOOGLE_ACCOUNT,"--json","--results-only","--no-input"],{encoding:"utf-8",timeout:15e3}),console.log(` \u2713 Gmail access verified for ${i.GOOGLE_ACCOUNT}`)}catch{console.log(" \u26A0 Could not verify Gmail access \u2014 check authentication later")}}}if(await B("Enable project management integration?",!1)){let h=await C("Which system? (linear / clickup)","");h.toLowerCase().startsWith("l")?(i.LINEAR_API_KEY=await C("Linear API Key",i.LINEAR_API_KEY||""),console.log(" Get it from: Linear \u2192 Settings \u2192 API \u2192 Personal API Keys")):h.toLowerCase().startsWith("c")?(i.CLICKUP_API_TOKEN=await C("ClickUp API Token",i.CLICKUP_API_TOKEN||""),console.log(" Get it from: ClickUp \u2192 Settings \u2192 Apps \u2192 API Token")):console.log(" Skipped \u2014 you can configure this in .env later.")}Jt(i),Qt(r),console.log(`
198
+ \u2713 Configuration saved (.env + hive.yaml)`),ee("Plugins");let u=U(t,"plugins");if(H(u)){let h=$m(u).filter(y=>H(U(u,y,"plugin.yaml")));if(h.length>0){console.log(`Available plugins:
199
+ `);for(let m of h){let S=(0,st.parse)(nt(U(u,m,"plugin.yaml"),"utf-8"));console.log(` ${m} \u2014 ${S.description??"(no description)"}`)}console.log("");let y=(r.plugins??[]).join(", ")||"none",p=await C("Which plugins to enable? (comma-separated, or 'none')",y);p.toLowerCase()!=="none"?r.plugins=p.split(",").map(m=>m.trim()).filter(Boolean):r.plugins=[]}else console.log("No plugins found in plugins/ directory."),r.plugins=[]}else console.log("No plugins/ directory found."),r.plugins=[];if(Qt(r),await Jl()?(console.log(`
200
+ Chief of Staff agent: \u2713 already set up`),await B("Regenerate agent from template?",!1)?await ec(r):console.log(" \u2713 Skipped")):await ec(r),await Rm(r),ee("Memory (MongoDB)"),await Km(r,e),s||(ee("Build"),Ql(t)?(console.log("Build output exists."),await B("Rebuild?",!0)?await tc(n):console.log(" \u2713 Skipped")):await tc(n)),!s){ee("Deploy");let h=U(process.env.HOME??"/tmp","services","hive");H(U(h,"package.json"))?(console.log(`Deploy directory exists: ${h}`),await B("Sync latest build and config?",!0)?await nc(h,n):console.log(" \u2713 Skipped")):(console.log("Hive runs from a separate deploy directory (not this dev repo)."),console.log(` Dev: ${n}`),console.log(` Deploy: ${h}`),console.log(""),await B("Set up the deploy directory now?",!0)&&await nc(h,n))}if(ee("Service"),await B("Install Hive as a LaunchAgent (starts on login)?"))try{let{startDaemon:h}=await Promise.resolve().then(()=>(Wt(),as));await h(n)}catch(h){console.log(` \u26A0 Service installation failed: ${h}`),console.log(" You can start manually: hive start")}console.log(""),console.log("\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"),console.log("\u2551 Hive is ready! \u2551"),console.log("\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"),console.log(""),console.log("Quick reference:"),console.log(` Config dir: ${t}`),console.log(" Start: hive start"),console.log(" Daemon: hive start --daemon"),console.log(" Stop: hive stop"),console.log(" Health: hive doctor"),s||console.log(` Dev mode: npm run dev (from ${n})`),console.log(""),console.log("Your chief-of-staff agent is stored in the agent_definitions collection."),console.log("Additional agents can be created through the chief of staff."),console.log(""),ic.close()}async function zl(t){ee("Your Business");let e=await C("Business name",t.business?.name||""),n=await C("What does your business do? (one sentence)",t.business?.description||""),s=await C("Location (city, state)",t.business?.location||""),i=await C("Timezone (e.g. America/New_York)",t.business?.timezone||""),r=await C("Business hours (e.g. 9 AM - 5 PM)",t.business?.businessHours||"9 AM - 5 PM"),o=await C("Your name",t.business?.owner?.name||""),a=await C("Your role",t.business?.owner?.role||"CEO");t.business={name:e,description:n,...s?{location:s}:{},...i?{timezone:i}:{},businessHours:r,owner:{name:o,role:a}},Qt(t),console.log(`
201
+ \u2713 Business info saved (hive.yaml)`)}async function Xl(t,e){ee("Slack App Setup"),console.log("You need a Slack app with Socket Mode enabled."),console.log(""),console.log("1. Go to: https://api.slack.com/apps");try{Y("open",["https://api.slack.com/apps"],{stdio:"pipe"})}catch{}console.log('2. Click "Create New App" \u2192 "From a manifest"'),console.log("3. Select your workspace"),console.log("4. Choose YAML format and paste this manifest:"),console.log(""),console.log("\u2500\u2500\u2500 Copy everything below this line \u2500\u2500\u2500");let n=H(Ne(e,"pkg","setup","slack-manifest.yaml"))?Ne(e,"pkg","setup","slack-manifest.yaml"):Ne(e,"setup","slack-manifest.yaml");if(console.log(nt(n,"utf-8")),console.log("\u2500\u2500\u2500 Copy everything above this line \u2500\u2500\u2500"),console.log(""),console.log('5. Click "Create"'),console.log('6. Go to "Install App" \u2192 Install to workspace'),console.log(""),await C("Press Enter when your app is created and installed..."),console.log(""),console.log("Now collect your tokens:"),console.log(""),console.log('App-Level Token: Go to "Basic Information" \u2192 "App-Level Tokens"'),console.log(' \u2192 "Generate Token and Scopes" \u2192 add scope "connections:write"'),t.SLACK_APP_TOKEN=await C("App-Level Token (xapp-...)",t.SLACK_APP_TOKEN||""),console.log(""),console.log('Bot Token: Go to "OAuth & Permissions" \u2192 "Bot User OAuth Token"'),t.SLACK_BOT_TOKEN=await C("Bot Token (xoxb-...)",t.SLACK_BOT_TOKEN||""),console.log(""),await B("Do you have a Slack MCP user token (xoxp-...)? (for Slack search)",!1)&&(t.SLACK_MCP_TOKEN=await C("Slack MCP Token (xoxp-...)",t.SLACK_MCP_TOKEN||"")),t.SLACK_APP_TOKEN&&t.SLACK_BOT_TOKEN)try{let r=await(await fetch("https://slack.com/api/auth.test",{headers:{Authorization:`Bearer ${t.SLACK_BOT_TOKEN}`}})).json();r.ok?console.log(`
202
202
  \u2713 Slack connected as: ${r.user} in ${r.team}`):(console.log(`
203
203
  \u26A0 Slack token test failed: ${r.error}`),console.log(" You can fix this in .env later."))}catch{console.log(`
204
- \u26A0 Could not validate Slack token (no network?)`)}Vt(t);try{t.SLACK_APP_TOKEN&&Y("honeypot",["set","SLACK_APP_TOKEN",t.SLACK_APP_TOKEN],{stdio:["pipe","pipe","pipe"]}),t.SLACK_BOT_TOKEN&&Y("honeypot",["set","SLACK_BOT_TOKEN",t.SLACK_BOT_TOKEN],{stdio:["pipe","pipe","pipe"]})}catch{}console.log(" \u2713 Slack tokens saved (.env)")}async function zl(t){console.log("Get your API key from: https://console.anthropic.com/settings/keys"),console.log(""),t.ANTHROPIC_API_KEY=await C("Anthropic API Key (sk-ant-...)",t.ANTHROPIC_API_KEY||""),Vt(t);try{t.ANTHROPIC_API_KEY&&Y("honeypot",["set","ANTHROPIC_API_KEY",t.ANTHROPIC_API_KEY],{stdio:["pipe","pipe","pipe"]})}catch{}console.log(" \u2713 Anthropic key saved (.env)")}async function Xl(t){Z("Chief of Staff Agent"),console.log("Hive starts with a Chief of Staff \u2014 your primary agent."),console.log(`Additional agents are created through it as needed.
205
- `);let e=await C("Name your Chief of Staff","Chief"),n=await C("Slack channel for your CoS",`agent-${e.toLowerCase()}`);t.agents||(t.agents={}),t.agents["chief-of-staff"]={name:e},Wt(t);let s=Te($l,"chief-of-staff","agent.yaml");if(!H(s)){console.log(` \u26A0 Seed not found: ${s}`),console.log(" You can seed the agent manually later.");return}let i=(0,nt.parse)(tt(s,"utf-8"));i.name=e,i.channels=[n];let r=process.env.MONGODB_URI||"mongodb://localhost:27017",a=ic().instance?.id??"hive",l=process.env.MONGODB_DB||`hive_${a}`;try{let c=new dr(r);await c.connect();let u=c.db(l).collection("agent_definitions");if(await u.findOne({_id:i._id}))console.log(` Agent "${i._id}" already exists in DB \u2014 updating name and channel.`),await u.updateOne({_id:i._id},{$set:{name:e,channels:[n],updatedAt:new Date,updatedBy:"setup-wizard"}});else{let h=new Date;await u.insertOne({...i,createdAt:h,updatedAt:h,updatedBy:"setup-wizard"})}await c.close(),console.log(` \u2713 ${e} (Chief of Staff) seeded to MongoDB`)}catch(c){console.log(` \u26A0 Failed to seed agent: ${c}`),console.log(" Make sure MongoDB is running (brew services start mongodb-community)")}}async function Dm(t){Z("Constitution \u2014 Chief of Staff Permissions");let e=t.agents?.["chief-of-staff"]?.name??"Chief of Staff",n=t.business?.owner?.name??"you",s=Object.keys(t.agents??{}).length>1;console.log("The constitution defines what your agents can and can't do."),console.log(`Since ${e} is your only agent right now, we need to decide`),console.log(`what permissions to grant.
204
+ \u26A0 Could not validate Slack token (no network?)`)}Jt(t);try{t.SLACK_APP_TOKEN&&Y("honeypot",["set","SLACK_APP_TOKEN",t.SLACK_APP_TOKEN],{stdio:["pipe","pipe","pipe"]}),t.SLACK_BOT_TOKEN&&Y("honeypot",["set","SLACK_BOT_TOKEN",t.SLACK_BOT_TOKEN],{stdio:["pipe","pipe","pipe"]})}catch{}console.log(" \u2713 Slack tokens saved (.env)")}async function Zl(t){console.log("Get your API key from: https://console.anthropic.com/settings/keys"),console.log(""),t.ANTHROPIC_API_KEY=await C("Anthropic API Key (sk-ant-...)",t.ANTHROPIC_API_KEY||""),Jt(t);try{t.ANTHROPIC_API_KEY&&Y("honeypot",["set","ANTHROPIC_API_KEY",t.ANTHROPIC_API_KEY],{stdio:["pipe","pipe","pipe"]})}catch{}console.log(" \u2713 Anthropic key saved (.env)")}async function ec(t){ee("Chief of Staff Agent"),console.log("Hive starts with a Chief of Staff \u2014 your primary agent."),console.log(`Additional agents are created through it as needed.
205
+ `);let e=await C("Name your Chief of Staff","Chief"),n=await C("Slack channel for your CoS",`agent-${e.toLowerCase()}`);t.agents||(t.agents={}),t.agents["chief-of-staff"]={name:e},Qt(t);let s=Ne(Wr,"chief-of-staff","agent.yaml");if(!H(s)){console.log(` \u26A0 Seed not found: ${s}`),console.log(" You can seed the agent manually later.");return}let i=(0,st.parse)(nt(s,"utf-8"));i.name=e,i.channels=[n];let r=process.env.MONGODB_URI||"mongodb://localhost:27017",a=oc().instance?.id??"hive",l=process.env.MONGODB_DB||`hive_${a}`;try{let c=new pr(r);await c.connect();let u=c.db(l).collection("agent_definitions");if(await u.findOne({_id:i._id}))console.log(` Agent "${i._id}" already exists in DB \u2014 updating name and channel.`),await u.updateOne({_id:i._id},{$set:{name:e,channels:[n],updatedAt:new Date,updatedBy:"setup-wizard"}});else{let h=new Date;await u.insertOne({...i,createdAt:h,updatedAt:h,updatedBy:"setup-wizard"})}await c.close(),console.log(` \u2713 ${e} (Chief of Staff) seeded to MongoDB`)}catch(c){console.log(` \u26A0 Failed to seed agent: ${c}`),console.log(" Make sure MongoDB is running (brew services start mongodb-community)")}}async function Rm(t){ee("Constitution \u2014 Chief of Staff Permissions");let e=t.agents?.["chief-of-staff"]?.name??"Chief of Staff",n=t.business?.owner?.name??"you",s=Object.keys(t.agents??{}).length>1;console.log("The constitution defines what your agents can and can't do."),console.log(`Since ${e} is your only agent right now, we need to decide`),console.log(`what permissions to grant.
206
206
  `),t.constitution||(t.constitution={}),console.log("\u2500\u2500 Agent definitions (agent_definitions collection)"),console.log(`${e} can create new agents, edit their personality and config,`),console.log(`and manage the team roster.
207
207
  `),t.constitution.cosCanManageAgents=!0,console.log(` \u2713 ${e} can manage agent definitions
208
208
  `),console.log(`
209
209
  \u2500\u2500 External communications (email, SMS)`),console.log("This is a hard gate \u2014 when off, email and SMS tools are completely"),console.log(`removed from all agents. Not just a policy, they literally can't send.
210
210
  `),console.log("Default: OFF. You can enable later by setting EXTERNAL_COMMS_ENABLED=true"),console.log(`in .env and restarting Hive.
211
- `),t.constitution.cosCanContactExternal=await B("Enable external communications now?",!1);let i=sc();t.constitution.cosCanContactExternal?(i.EXTERNAL_COMMS_ENABLED="true",console.log(" \u2713 External comms enabled \u2014 email/SMS tools available"),console.log(` (sensitive topics still escalate to ${n} per constitution)`)):(i.EXTERNAL_COMMS_ENABLED="",console.log(" \u2717 External comms disabled \u2014 no agent can send email or SMS"),console.log(" To enable later: set EXTERNAL_COMMS_ENABLED=true in .env")),Vt(i),console.log(`
212
- \u2500\u2500 Summary \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500`),console.log(" Agent management: \u2713 yes"),console.log(` External communications: ${t.constitution.cosCanContactExternal?"\u2713 yes":"\u2717 no"}`),console.log(" Hive build & deploy: \u2717 no (external provisioning only)"),console.log(" Hive source code: \u2717 no (external provisioning only)"),Wt(t),console.log(`
213
- \u2713 Constitution preferences saved (hive.yaml)`)}async function qm(t,e){let n=process.env.MONGODB_URI||"mongodb://localhost:27017",s=process.env.MONGODB_DB;console.log("Seeding shared memory to MongoDB...");try{let i=new dr(n);await i.connect();let o=i.db(s).collection("memory");await o.createIndex({path:1},{unique:!0});let a=t.business??{},l=[`# Business Context
211
+ `),t.constitution.cosCanContactExternal=await B("Enable external communications now?",!1);let i=rc();t.constitution.cosCanContactExternal?(i.EXTERNAL_COMMS_ENABLED="true",console.log(" \u2713 External comms enabled \u2014 email/SMS tools available"),console.log(` (sensitive topics still escalate to ${n} per constitution)`)):(i.EXTERNAL_COMMS_ENABLED="",console.log(" \u2717 External comms disabled \u2014 no agent can send email or SMS"),console.log(" To enable later: set EXTERNAL_COMMS_ENABLED=true in .env")),Jt(i),console.log(`
212
+ \u2500\u2500 Summary \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500`),console.log(" Agent management: \u2713 yes"),console.log(` External communications: ${t.constitution.cosCanContactExternal?"\u2713 yes":"\u2717 no"}`),console.log(" Hive build & deploy: \u2717 no (external provisioning only)"),console.log(" Hive source code: \u2717 no (external provisioning only)"),Qt(t),console.log(`
213
+ \u2713 Constitution preferences saved (hive.yaml)`)}async function Km(t,e){let n=process.env.MONGODB_URI||"mongodb://localhost:27017",s=process.env.MONGODB_DB;console.log("Seeding shared memory to MongoDB...");try{let i=new pr(n);await i.connect();let o=i.db(s).collection("memory");await o.createIndex({path:1},{unique:!0});let a=t.business??{},l=[`# Business Context
214
214
  `,`**Company:** ${a.name??""}`,`**About:** ${a.description??""}`,a.location?`**Location:** ${a.location}`:"",a.timezone?`**Timezone:** ${a.timezone}`:"",a.businessHours?`**Business Hours:** ${a.businessHours}${a.timezone?` (${a.timezone})`:""}`:"",`**Owner:** ${a.owner?.name??""} (${a.owner?.role??""})`,"","## Additional Context","(Add more details about your business here \u2014 products, services, team, etc.)"].filter(Boolean).join(`
215
- `);await o.updateOne({path:"shared/business-context.md"},{$set:{content:l,updatedAt:new Date,updatedBy:"setup-wizard"}},{upsert:!0}),console.log(" \u2713 shared/business-context.md");let c=U(e,"constitution.md.tpl");if(H(c)){let f=tt(c,"utf-8"),u={};for(let[y,p]of Object.entries(t.agents??{}))u[y]=p.name??y;let h=xl(f,{business:a,team:u});await o.updateOne({path:"shared/constitution.md"},{$set:{content:h,updatedAt:new Date,updatedBy:"setup-wizard"}},{upsert:!0}),console.log(" \u2713 shared/constitution.md")}await i.close(),console.log(" \u2713 Memory seeded to MongoDB")}catch(i){console.log(` \u26A0 Failed to seed memory: ${i}`),console.log(" Make sure MongoDB is running (brew services start mongodb-community)")}}async function Zl(t){console.log(" Compiling TypeScript...");try{Y("npm",["run","build"],{cwd:t,stdio:"pipe"}),console.log(" \u2713 Build complete")}catch(e){console.log(" \u26A0 Build failed:"),console.log(String(e))}}async function ec(t,e){let{mkdirSync:n}=await import("node:fs");if(H(U(t,"package.json"))){console.log(" Pulling latest...");try{Y("git",["pull","--ff-only"],{cwd:t,stdio:"inherit"})}catch{console.log(" \u26A0 git pull failed \u2014 continuing with existing code")}}else{console.log(" Cloning repository...");let o=Te(t,"..");n(o,{recursive:!0});let a=Y("git",["remote","get-url","origin"],{cwd:e,encoding:"utf-8"}).trim();Y("git",["clone",a,t],{stdio:"inherit"}),console.log(" \u2713 Repository cloned")}console.log(" Installing production dependencies..."),Y("npm",["install","--omit=dev"],{cwd:t,stdio:"pipe"}),console.log(" \u2713 Dependencies installed"),console.log(" Syncing config and build output...");let s=U(e,".env");if(H(s)){let{copyFileSync:o}=await import("node:fs");o(s,U(t,".env")),console.log(" \u2713 .env")}let i=U(e,"hive.yaml");if(H(i)){let{copyFileSync:o}=await import("node:fs");o(i,U(t,"hive.yaml")),console.log(" \u2713 hive.yaml")}let r=U(e,"dist");H(r)&&(Y("rsync",["-a","--delete",`${r}/`,`${U(t,"dist")}/`],{stdio:"pipe"}),console.log(" \u2713 dist/")),n(U(t,"logs"),{recursive:!0}),console.log(`
216
- \u2713 Deploy directory ready: ${t}`)}var nt,rs,os,nc,oc=L(()=>{"use strict";nt=le(fe(),1);Fl();ne();rs="",os="",nc=Cm({input:process.stdin,output:process.stdout})});var ac={};Q(ac,{runSetupWizard:()=>Ym});import{mkdirSync as Rm,existsSync as st,readFileSync as Km,writeFileSync as Bm}from"node:fs";import{resolve as Re,join as Jt}from"node:path";import{createInterface as xm}from"node:readline";function Fm(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32)}function pr(t,e,n=""){let s=n?`${e} [${n}]: `:`${e}: `;return new Promise(i=>t.question(s,r=>i(r.trim()||n)))}async function Um(t){let e=xm({input:process.stdin,output:process.stdout});try{console.log(`\u2500\u2500 Where to install \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
217
- `);let n=await pr(e,"Business name (e.g. your company)");n||(console.error("Business name is required."),process.exit(1));let s=Fm(n)||"hive",i=await pr(e,"Instance ID (short slug, used for the mongo db name)",s),r=Re(t,"services","hive",i),o=Re(await pr(e,"Install location",r));st(Jt(o,"hive.yaml"))&&(console.error(`
218
- An existing hive install was found at ${o}. Aborting to avoid clobbering.`),console.error(`If you want to reconfigure that instance, run: hive init --config ${o}/hive.yaml`),process.exit(1)),Rm(o,{recursive:!0});let a={instance:{id:i,type:"business"},ports:{ws:3200,bgTask:3201},business:{name:n}};return Bm(Jt(o,"hive.yaml"),(0,as.stringify)(a)),console.log(`
219
- \u2713 Created ${o}/hive.yaml (instance.id: ${i})
220
- `),o}finally{e.close()}}function jm(){if(process.env.HIVE_HOME){let e=Re(process.env.HIVE_HOME);return st(Jt(e,"hive.yaml")),e}if(st(Re(process.cwd(),"hive.yaml")))return process.cwd();let t=or();return st(Jt(t,"hive.yaml"))?t:null}async function Ym(t){console.log(`
215
+ `);await o.updateOne({path:"shared/business-context.md"},{$set:{content:l,updatedAt:new Date,updatedBy:"setup-wizard"}},{upsert:!0}),console.log(" \u2713 shared/business-context.md");let c="<!-- SECTION 2: OPERATIONAL -->",f=U(e,"constitution-bootstrap.md.tpl");if(H(f)){let u=nt(f,"utf-8"),d=Ul(u,{business:a}),h=await o.findOne({path:"shared/constitution.md"}),y;if(h){let p=h.content.indexOf(c);if(p!==-1){let m=h.content.slice(p),S=d.indexOf(c);S===-1?y=d:y=d.slice(0,S)+m}else y=d}else y=d;await o.updateOne({path:"shared/constitution.md"},{$set:{content:y,updatedAt:new Date,updatedBy:"setup-wizard"}},{upsert:!0}),console.log(" \u2713 shared/constitution.md")}await i.close(),console.log(" \u2713 Memory seeded to MongoDB")}catch(i){console.log(` \u26A0 Failed to seed memory: ${i}`),console.log(" Make sure MongoDB is running (brew services start mongodb-community)")}}async function tc(t){console.log(" Compiling TypeScript...");try{Y("npm",["run","build"],{cwd:t,stdio:"pipe"}),console.log(" \u2713 Build complete")}catch(e){console.log(" \u26A0 Build failed:"),console.log(String(e))}}async function nc(t,e){let{mkdirSync:n}=await import("node:fs");if(H(U(t,"package.json"))){console.log(" Pulling latest...");try{Y("git",["pull","--ff-only"],{cwd:t,stdio:"inherit"})}catch{console.log(" \u26A0 git pull failed \u2014 continuing with existing code")}}else{console.log(" Cloning repository...");let o=Ne(t,"..");n(o,{recursive:!0});let a=Y("git",["remote","get-url","origin"],{cwd:e,encoding:"utf-8"}).trim();Y("git",["clone",a,t],{stdio:"inherit"}),console.log(" \u2713 Repository cloned")}console.log(" Installing production dependencies..."),Y("npm",["install","--omit=dev"],{cwd:t,stdio:"pipe"}),console.log(" \u2713 Dependencies installed"),console.log(" Syncing config and build output...");let s=U(e,".env");if(H(s)){let{copyFileSync:o}=await import("node:fs");o(s,U(t,".env")),console.log(" \u2713 .env")}let i=U(e,"hive.yaml");if(H(i)){let{copyFileSync:o}=await import("node:fs");o(i,U(t,"hive.yaml")),console.log(" \u2713 hive.yaml")}let r=U(e,"dist");H(r)&&(Y("rsync",["-a","--delete",`${r}/`,`${U(t,"dist")}/`],{stdio:"pipe"}),console.log(" \u2713 dist/")),n(U(t,"logs"),{recursive:!0}),console.log(`
216
+ \u2713 Deploy directory ready: ${t}`)}var st,ls,cs,ic,lc=L(()=>{"use strict";st=le(fe(),1);jl();z();ls="",cs="",ic=Mm({input:process.stdin,output:process.stdout})});var uc={};Q(uc,{runSetupWizard:()=>Qm});import{mkdirSync as Bm,existsSync as Te,readFileSync as cc,writeFileSync as xm,readdirSync as Fm}from"node:fs";import{resolve as Le,join as it}from"node:path";import{createInterface as Um}from"node:readline";import{execFileSync as jm}from"node:child_process";function Hm(t){try{return jm("lsof",["-iTCP:"+t,"-sTCP:LISTEN","-t"],{stdio:["ignore","pipe","ignore"],encoding:"utf-8"}).trim().length>0}catch(e){return e.code==="ENOENT",!1}}function Gm(t){let e=new Set,n=Le(t,"services","hive");if(Te(n))for(let s of Fm(n)){let i=it(n,s,"hive.yaml");if(Te(i))try{let o=((0,zt.parse)(cc(i,"utf-8"))??{})?.instance?.portBase;e.add(typeof o=="number"?o:3100)}catch{}}for(let s=3100;s<3900;s+=100){if(e.has(s))continue;let i=!1;for(let r=0;r<Ym;r++)if(Hm(s+r)){i=!0;break}if(!i)return s}return 3100}function Vm(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32)}function hr(t,e,n=""){let s=n?`${e} [${n}]: `:`${e}: `;return new Promise(i=>t.question(s,r=>i(r.trim()||n)))}async function Wm(t){let e=Um({input:process.stdin,output:process.stdout});try{console.log(`\u2500\u2500 Where to install \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
217
+ `);let n=await hr(e,"Business name (e.g. your company)");n||(console.error("Business name is required."),process.exit(1));let s=Vm(n)||"hive",i=await hr(e,"Instance ID (short slug, used for the mongo db name)",s),r=Le(t,"services","hive",i),o=Le(await hr(e,"Install location",r));Te(it(o,"hive.yaml"))&&(console.error(`
218
+ An existing hive install was found at ${o}. Aborting to avoid clobbering.`),console.error(`If you want to reconfigure that instance, run: hive init --config ${o}/hive.yaml`),process.exit(1)),Bm(o,{recursive:!0});let a=Gm(t),l={instance:{id:i,type:"business",portBase:a},business:{name:n}};return xm(it(o,"hive.yaml"),(0,zt.stringify)(l)),console.log(`
219
+ \u2713 Created ${o}/hive.yaml (instance.id: ${i}, portBase: ${a})
220
+ `),o}finally{e.close()}}function Jm(){if(process.env.HIVE_HOME){let e=Le(process.env.HIVE_HOME);return Te(it(e,"hive.yaml")),e}if(Te(Le(process.cwd(),"hive.yaml")))return process.cwd();let t=ht();return Te(it(t,"hive.yaml"))?t:null}async function Qm(t){console.log(`
221
221
  Hive Setup Wizard
222
- `),await Rl(),console.log("");let e=jm(),n=process.env.HOME??"/tmp",s=e??await Um(n),i=st(Re(t,"templates"))?Re(t,"templates"):Re(t,"setup","templates");console.log(`Setup will write config to: ${s}`),console.log(`Templates from: ${i}
223
- `);let r=Jt(s,"hive.yaml");st(r)&&(((0,as.parse)(Km(r,"utf-8"))??{}).instance?.id||(console.error(`Error: ${r} is missing instance.id. Delete it and run 'hive init' again.`),process.exit(1))),process.env.HIVE_HOME=s;let{runWizard:o}=await Promise.resolve().then(()=>(oc(),rc));await o(s,i,t)}var as,lc=L(()=>{"use strict";as=le(fe(),1);ne();Kl()});var fc={};Q(fc,{showStatus:()=>Wm});import{execFileSync as cc}from"node:child_process";import{existsSync as Hm,readFileSync as Gm}from"node:fs";import{resolve as Vm}from"node:path";async function Wm(){console.log(`Hive home: ${P}`);let t=Vm(P,process.env.HIVE_CONFIG??"hive.yaml");if(!Hm(t)){console.log("Status: not initialized (run 'hive init')");return}let n=((0,uc.parse)(Gm(t,"utf-8"))??{}).instance?.id??"hive",s=`com.hive.${n}.agent`;console.log(`Instance: ${n}`);try{let r=cc("launchctl",["list"],{encoding:"utf-8"}).split(`
224
- `).find(o=>o.includes(s));if(r){let o=r.trim().split(/\s+/),a=o[0],l=o[1];console.log(`Service: running (PID ${a}, last exit ${l})`)}else console.log("Service: not running")}catch{console.log("Service: unknown (could not query launchctl)")}try{cc("mongosh",["--eval","db.runCommand({ping:1})","--quiet"],{encoding:"utf-8",timeout:5e3}),console.log("MongoDB: connected")}catch{console.log("MongoDB: not reachable")}}var uc,dc=L(()=>{"use strict";uc=le(fe(),1);ne()});var hc={};Q(hc,{runUpdate:()=>Qm});import{execFileSync as pc}from"node:child_process";import{resolve as Jm}from"node:path";async function Qm(){console.log("Stopping Hive..."),await fr(),console.log("Updating @keepur/hive...");try{pc("npm",["update","-g","@keepur/hive"],{stdio:"inherit"}),console.log("Update complete.")}catch{console.error("Update failed."),process.exit(1)}let t=pc("npm",["root","-g"],{encoding:"utf-8"}).trim(),e=Jm(t,"@keepur","hive");console.log("Restarting Hive..."),await ur(e)}var mc=L(()=>{"use strict";Gt()});import{execFileSync as hr}from"node:child_process";import{existsSync as zm,readFileSync as yc}from"node:fs";import{resolve as Xm}from"node:path";function Qt(t){try{return hr("which",[t],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}function wc(t){try{return hr("brew",["services","list"],{encoding:"utf-8"}).split(`
225
- `).some(n=>n.startsWith(t)&&n.includes("started"))}catch{return!1}}async function mr(t,e=1500){try{let n=new AbortController,s=setTimeout(()=>n.abort(),e),i=await fetch(t,{signal:n.signal});return clearTimeout(s),i.ok}catch{return!1}}function Sc(t){let e=yc(t,"utf-8"),n=new Set;for(let s of e.matchAll(/\brequired\(\s*"([A-Z0-9_]+)"\s*\)/g))n.add(s[1]);return[...n].sort()}function bc(t){let e=process.getuid?.();if(e===void 0)return{loaded:!1,state:"unknown",pid:null};try{let n=hr("launchctl",["print",`gui/${e}/${t}`],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),s=n.match(/state\s*=\s*([^\n]+?)\s*$/m),i=n.match(/pid\s*=\s*(\d+)/),r=s?.[1];return{loaded:!0,state:r==="running"?"running":r==="not running"?"not running":"unknown",pid:i?parseInt(i[1],10):null}}catch{return{loaded:!1,state:"unknown",pid:null}}}function vc(t){try{return process.kill(t,0),!0}catch{return!1}}async function kc(t,e,n=2e3){let{MongoClient:s}=await import("mongodb"),i=new s(t,{serverSelectionTimeoutMS:n});try{return await i.connect(),await i.db(e).command({ping:1}),!0}catch{return!1}finally{await i.close().catch(()=>{})}}async function Ec(t,e){let{MongoClient:n}=await import("mongodb"),s=new n(t,{serverSelectionTimeoutMS:2e3});try{return await s.connect(),await s.db(e).collection("agent_definitions").estimatedDocumentCount()>0}catch{return!1}finally{await s.close().catch(()=>{})}}async function Ac(t,e,n){let{MongoClient:s}=await import("mongodb"),i=new s(t,{serverSelectionTimeoutMS:2e3});try{return await i.connect(),await i.db(e).collection("agent_definitions").findOne({id:n})!==null}catch{return!1}finally{await i.close().catch(()=>{})}}async function _c(t){if(!t)return!1;let{WebClient:e}=await import("@slack/web-api");try{return(await new e(t).auth.test()).ok===!0}catch{return!1}}function gc(t){return t.replace(/^~(?=$|\/)/,process.env.HOME??"")}function Oc(t="com.hive.agent"){let e=gc(`~/Library/LaunchAgents/${t}.plist`);if(!zm(e))return null;let s=yc(e,"utf-8").match(/<key>WorkingDirectory<\/key>\s*<string>([^<]+)<\/string>/);return s?Xm(gc(s[1])):null}var Ic=L(()=>{"use strict"});var Mc=w((SS,pe)=>{var gr=ge("fs"),ls=ge("path"),Zm=ge("os"),eg=ge("crypto"),Tc=["\u25C8 encrypted .env [www.dotenvx.com]","\u25C8 secrets for agents [www.dotenvx.com]","\u2301 auth for agents [www.vestauth.com]","\u2318 custom filepath { path: '/custom/path/.env' }","\u2318 enable debugging { debug: true }","\u2318 override existing { override: true }","\u2318 suppress logs { quiet: true }","\u2318 multiple files { path: ['.env.local', '.env'] }"];function tg(){return Tc[Math.floor(Math.random()*Tc.length)]}function it(t){return typeof t=="string"?!["false","0","no","off",""].includes(t.toLowerCase()):!!t}function ng(){return process.stdout.isTTY}function sg(t){return ng()?`\x1B[2m${t}\x1B[0m`:t}var ig=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function rg(t){let e={},n=t.toString();n=n.replace(/\r\n?/mg,`
226
- `);let s;for(;(s=ig.exec(n))!=null;){let i=s[1],r=s[2]||"";r=r.trim();let o=r[0];r=r.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),o==='"'&&(r=r.replace(/\\n/g,`
227
- `),r=r.replace(/\\r/g,"\r")),e[i]=r}return e}function og(t){t=t||{};let e=Pc(t);t.path=e;let n=K.configDotenv(t);if(!n.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);throw o.code="MISSING_DATA",o}let s=Cc(t).split(","),i=s.length,r;for(let o=0;o<i;o++)try{let a=s[o].trim(),l=lg(n,a);r=K.decrypt(l.ciphertext,l.key);break}catch(a){if(o+1>=i)throw a}return K.parse(r)}function ag(t){console.error(`\u26A0 ${t}`)}function zt(t){console.log(`\u2506 ${t}`)}function Lc(t){console.log(`\u25C7 ${t}`)}function Cc(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function lg(t,e){let n;try{n=new URL(e)}catch(a){if(a.code==="ERR_INVALID_URL"){let l=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw l.code="INVALID_DOTENV_KEY",l}throw a}let s=n.password;if(!s){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let i=n.searchParams.get("environment");if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let r=`DOTENV_VAULT_${i.toUpperCase()}`,o=t.parsed[r];if(!o){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${r} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:o,key:s}}function Pc(t){let e=null;if(t&&t.path&&t.path.length>0)if(Array.isArray(t.path))for(let n of t.path)gr.existsSync(n)&&(e=n.endsWith(".vault")?n:`${n}.vault`);else e=t.path.endsWith(".vault")?t.path:`${t.path}.vault`;else e=ls.resolve(process.cwd(),".env.vault");return gr.existsSync(e)?e:null}function Nc(t){return t[0]==="~"?ls.join(Zm.homedir(),t.slice(1)):t}function cg(t){let e=it(process.env.DOTENV_CONFIG_DEBUG||t&&t.debug),n=it(process.env.DOTENV_CONFIG_QUIET||t&&t.quiet);(e||!n)&&Lc("loading env from encrypted .env.vault");let s=K._parseVault(t),i=process.env;return t&&t.processEnv!=null&&(i=t.processEnv),K.populate(i,s,t),{parsed:s}}function ug(t){let e=ls.resolve(process.cwd(),".env"),n="utf8",s=process.env;t&&t.processEnv!=null&&(s=t.processEnv);let i=it(s.DOTENV_CONFIG_DEBUG||t&&t.debug),r=it(s.DOTENV_CONFIG_QUIET||t&&t.quiet);t&&t.encoding?n=t.encoding:i&&zt("no encoding is specified (UTF-8 is used by default)");let o=[e];if(t&&t.path)if(!Array.isArray(t.path))o=[Nc(t.path)];else{o=[];for(let f of t.path)o.push(Nc(f))}let a,l={};for(let f of o)try{let u=K.parse(gr.readFileSync(f,{encoding:n}));K.populate(l,u,t)}catch(u){i&&zt(`failed to load ${f} ${u.message}`),a=u}let c=K.populate(s,l,t);if(i=it(s.DOTENV_CONFIG_DEBUG||i),r=it(s.DOTENV_CONFIG_QUIET||r),i||!r){let f=Object.keys(c).length,u=[];for(let d of o)try{let h=ls.relative(process.cwd(),d);u.push(h)}catch(h){i&&zt(`failed to load ${d} ${h.message}`),a=h}Lc(`injected env (${f}) from ${u.join(",")} ${sg(`// tip: ${tg()}`)}`)}return a?{parsed:l,error:a}:{parsed:l}}function fg(t){if(Cc(t).length===0)return K.configDotenv(t);let e=Pc(t);return e?K._configVault(t):(ag(`you set DOTENV_KEY but you are missing a .env.vault file at ${e}`),K.configDotenv(t))}function dg(t,e){let n=Buffer.from(e.slice(-64),"hex"),s=Buffer.from(t,"base64"),i=s.subarray(0,12),r=s.subarray(-16);s=s.subarray(12,-16);try{let o=eg.createDecipheriv("aes-256-gcm",n,i);return o.setAuthTag(r),`${o.update(s)}${o.final()}`}catch(o){let a=o instanceof RangeError,l=o.message==="Invalid key length",c=o.message==="Unsupported state or unable to authenticate data";if(a||l){let f=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw f.code="INVALID_DOTENV_KEY",f}else if(c){let f=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw f.code="DECRYPTION_FAILED",f}else throw o}}function pg(t,e,n={}){let s=!!(n&&n.debug),i=!!(n&&n.override),r={};if(typeof e!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(e))Object.prototype.hasOwnProperty.call(t,o)?(i===!0&&(t[o]=e[o],r[o]=e[o]),s&&zt(i===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):(t[o]=e[o],r[o]=e[o]);return r}var K={configDotenv:ug,_configVault:cg,_parseVault:og,config:fg,decrypt:dg,parse:rg,populate:pg};pe.exports.configDotenv=K.configDotenv;pe.exports._configVault=K._configVault;pe.exports._parseVault=K._parseVault;pe.exports.config=K.config;pe.exports.decrypt=K.decrypt;pe.exports.parse=K.parse;pe.exports.populate=K.populate;pe.exports=K});var cs,$c=L(()=>{"use strict";cs={externalComms:!0,codeTask:!1,codeAccess:!1}});var us={};Q(us,{config:()=>bg});import{readFileSync as hg,existsSync as Bc,readdirSync as mg,statSync as gg}from"node:fs";import{resolve as yr}from"node:path";import{randomUUID as Dc}from"node:crypto";import{execFileSync as yg}from"node:child_process";function qc(t){let e=process.env[t]||Fc(t);if(!e)throw new Error(`Missing required env var: ${t}`);return e}function g(t,e){return process.env[t]||Fc(t)||e}function Sg(t){if(t?.length)return t.map(n=>yr(n.replace(/^~/,process.env.HOME??"/tmp")));let e=yr(P,"plugins/claude-code");return Bc(e)?mg(e).map(n=>yr(e,n)).filter(n=>gg(n).isDirectory()):[]}function Fc(t){if(process.platform!=="darwin")return"";try{return yg("security",["find-generic-password","-s",`hive/${Xt}/${t}`,"-w"],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{return""}}var Kc,xc,wg,Rc,b,IS,Xt,Ke,rt,bg,fs=L(()=>{"use strict";Kc=le(Mc(),1),xc=le(fe(),1);$c();ne();wg=Ml(P);Kc.default.config({path:wg});Rc=Pl(P),b={};Bc(Rc)&&(b=(0,xc.parse)(hg(Rc,"utf-8"))??{});IS=process.env.HOME??"/tmp",Xt=b.instance?.id??"hive";Ke=b.instance?.portBase??3100,rt=b.instance?.ports??{},bg={instance:{id:Xt,portBase:Ke},business:{name:b.business?.name??g("BUSINESS_NAME",""),description:b.business?.description??"",location:b.business?.location??"",ownerName:b.business?.owner?.name??"",ownerRole:b.business?.owner?.role??""},slack:{appToken:qc("SLACK_APP_TOKEN"),botToken:qc("SLACK_BOT_TOKEN"),mcpToken:g("SLACK_MCP_TOKEN",""),auditChannel:g("SLACK_AUDIT_CHANNEL",b.slack?.auditChannel??"")},slackJasper:{appToken:g("SLACK_JASPER_APP_TOKEN",""),botToken:g("SLACK_JASPER_BOT_TOKEN",""),mcpToken:g("SLACK_JASPER_MCP_TOKEN","")},anthropic:{apiKey:g("ANTHROPIC_API_KEY","")},linear:{apiKey:g("LINEAR_API_KEY",""),teamId:g("LINEAR_TEAM_ID","")},clickup:{apiToken:g("CLICKUP_API_TOKEN","")},github:{repo:g("GITHUB_REPO",""),token:g("GH_TOKEN","")},brave:{apiKey:g("BRAVE_API_KEY","")},taskLedger:{apiUrl:g("TASK_LEDGER_API_URL","http://localhost:3002"),agentKeys:Object.fromEntries(Object.entries(process.env).filter(([t])=>t.startsWith("TASK_LEDGER_KEY_")).map(([t,e])=>[t.replace("TASK_LEDGER_KEY_","").toLowerCase().replace(/_/g,"-"),e])),apiKey:g("TASK_LEDGER_API_KEY","")},mongo:{uri:g("MONGODB_URI","mongodb://localhost:27017"),dbName:g("MONGODB_DB",`hive_${Xt}`)},defaultAgent:g("DEFAULT_AGENT","chief-of-staff"),google:{account:g("GOOGLE_ACCOUNT",b.google?.account??""),client:g("GOG_CLIENT",b.google?.client??""),accounts:b.google?.accounts??{},sharedFolder:g("DRIVE_SHARED_FOLDER",b.google?.sharedFolder??b.googleWorkspace?.sharedFolder??"")},googleWorkspace:{account:g("GWS_ACCOUNT",b.googleWorkspace?.account??""),gwsPath:g("GWS_PATH",""),sharedFolder:g("GWS_SHARED_FOLDER",b.googleWorkspace?.sharedFolder??"")},quo:{apiKey:g("QUO_API_KEY",""),phoneNumberId:g("QUO_PHONE_NUMBER_ID",""),lines:b.quo?.lines??{}},sms:{lines:b.sms?.lines??[]},imessage:{enabled:b.imessage?.enabled??!1,slackChannel:b.imessage?.slackChannel??"imessage",hotWindowMs:b.imessage?.hotWindowMs??3e5,coldIntervalMs:b.imessage?.coldIntervalMs??3e5,hotIntervalMs:b.imessage?.hotIntervalMs??1e4},resend:{apiKey:g("RESEND_API_KEY",""),fromAddress:g("RESEND_FROM_ADDRESS",""),defaultCc:g("RESEND_DEFAULT_CC",""),defaultBcc:g("RESEND_DEFAULT_BCC",""),emailDomain:g("RESEND_EMAIL_DOMAIN",b.resend?.emailDomain??""),businessName:g("RESEND_BUSINESS_NAME",b.resend?.businessName??"")},plugins:b.plugins??[],skillRegistries:b.skillRegistries??[{name:"keepur-default",url:"https://github.com/keepur/hive-skills",default:!0}],gemini:{apiKey:g("GEMINI_API_KEY",""),visionModel:g("GEMINI_VISION_MODEL","gemini-2.5-flash")},permits:{mongoUri:g("PERMITS_MONGO_URI","mongodb://localhost:27017/permits")},recall:{apiKey:g("RECALL_API_KEY",""),region:g("RECALL_API_REGION","us-west-2"),monitorPort:parseInt(g("MEETING_MONITOR_PORT",String(rt.recall??Ke+1)),10),monitorPublicUrl:g("MEETING_MONITOR_PUBLIC_URL",""),webhookSecret:g("RECALL_WEBHOOK_SECRET","")},scheduler:{heartbeatIntervalMs:parseInt(g("HEARTBEAT_INTERVAL_MS","120000"),10)},background:{port:parseInt(g("BG_TASK_PORT",String(rt.background??Ke)),10),authToken:g("BG_TASK_AUTH_TOKEN","")||Dc()},codeTask:{port:parseInt(g("CODE_TASK_PORT",String(rt.codeTask??Ke+2)),10),authToken:g("CODE_TASK_AUTH_TOKEN","")||Dc(),pluginDirs:Sg(b.codeTask?.pluginDirs),defaultModel:g("CODE_TASK_MODEL","claude-sonnet-4-6"),defaultMaxTurns:parseInt(g("CODE_TASK_MAX_TURNS","100"),10),defaultMaxBudget:parseFloat(g("CODE_TASK_MAX_BUDGET","5.00")),maxConcurrent:parseInt(g("CODE_TASK_MAX_CONCURRENT","2"),10),maxLifetimeMs:parseInt(g("CODE_TASK_MAX_LIFETIME_MS",String(480*60*1e3)),10),staleGraceMs:parseInt(g("CODE_TASK_STALE_GRACE_MS",String(1800*1e3)),10)},ws:{enabled:g("WS_ENABLED","false")==="true",port:parseInt(g("WS_PORT",String(rt.ws??Ke+3)),10)},beekeeper:{port:parseInt(g("BEEKEEPER_PORT",String(b.beekeeper?.port??8420)),10)},workflow:{enabled:g("WORKFLOW_ENABLED","false")==="true"},adminApi:{port:parseInt(g("ADMIN_API_PORT",String(rt.adminApi??Ke+4)),10),token:g("ADMIN_API_TOKEN","")},voice:{enabled:!!b.voice?.provider,provider:b.voice?.provider??"",publicUrl:b.voice?.publicUrl??"",phoneNumberId:b.voice?.phoneNumberId??"",assistants:b.voice?.assistants??{},apiKey:g("VAPI_API_KEY",""),serverSecret:g("VAPI_SERVER_SECRET",""),port:parseInt(g("VOICE_PORT",String(rt.voice??Ke+5)),10)},autonomy:{externalComms:b.autonomy?.externalComms??cs.externalComms,codeTask:b.autonomy?.codeTask??cs.codeTask,codeAccess:b.autonomy?.codeAccess??cs.codeAccess},modelRouter:{enabled:g("MODEL_ROUTER_ENABLED","true")==="true",model:g("MODEL_ROUTER_MODEL","claude-haiku-4-5-20251001"),timeoutMs:parseInt(g("MODEL_ROUTER_TIMEOUT_MS","8000"),10)},sweeper:{intervalMs:parseInt(g("SWEEPER_INTERVAL_MS","300000"),10),threadTtlMs:parseInt(g("SWEEPER_THREAD_TTL_MS","86400000"),10),taskFileTtlMs:parseInt(g("SWEEPER_TASK_FILE_TTL_MS","604800000"),10),meetingSessionTtlMs:parseInt(g("SWEEPER_MEETING_TTL_MS","3600000"),10),cacheTtlMs:parseInt(g("SWEEPER_CACHE_TTL_MS","3600000"),10),retryMaxAttempts:parseInt(g("SWEEPER_RETRY_MAX_ATTEMPTS","3"),10),retryBaseDelayMs:parseInt(g("SWEEPER_RETRY_BASE_DELAY_MS","30000"),10)},memory:{hotBudgetTokens:parseInt(g("MEMORY_HOT_BUDGET_TOKENS",String(b.memory?.hotBudgetTokens??3e3)),10),sweepIntervalHours:parseFloat(g("MEMORY_SWEEP_INTERVAL_HOURS",String(b.memory?.sweepIntervalHours??6))),hotThreshold:parseFloat(g("MEMORY_HOT_THRESHOLD",String(b.memory?.hotThreshold??.6))),warmThreshold:parseFloat(g("MEMORY_WARM_THRESHOLD",String(b.memory?.warmThreshold??.3))),recencyHalfLifeDays:parseFloat(g("MEMORY_RECENCY_HALF_LIFE_DAYS",String(b.memory?.recencyHalfLifeDays??7))),coldSummaryMinRecords:parseInt(g("MEMORY_COLD_SUMMARY_MIN",String(b.memory?.coldSummaryMinRecords??5)),10),coldRetentionDays:parseInt(g("MEMORY_COLD_RETENTION_DAYS",String(b.memory?.coldRetentionDays??90)),10),purgeRetentionDays:parseInt(g("MEMORY_PURGE_RETENTION_DAYS",String(b.memory?.purgeRetentionDays??7)),10),reflectionMinTurns:parseInt(g("MEMORY_REFLECTION_MIN_TURNS",String(b.memory?.reflectionMinTurns??3)),10)},codeIndex:{enabled:b.codeIndex?.enabled===!0||process.env.CODE_INDEX_ENABLED==="true",scoreThreshold:parseFloat(g("CODE_INDEX_SCORE_THRESHOLD",String(b.codeIndex?.scoreThreshold??.65))),prefetchLimit:parseInt(g("CODE_INDEX_PREFETCH_LIMIT",String(b.codeIndex?.prefetchLimit??8)),10),sessionKnowledge:{enabled:(b.codeIndex?.sessionKnowledge?.enabled??!0)&&process.env.CODE_INDEX_SESSION_KNOWLEDGE!=="false"},repos:b.codeIndex?.repos??{}},events:{retentionDays:parseInt(g("EVENT_RETENTION_DAYS",String(b.events?.retentionDays??30)),10)},activity:{enabled:(b.activity?.enabled??!0)&&process.env.ACTIVITY_LOG_ENABLED!=="false",bufferSize:parseInt(g("ACTIVITY_BUFFER_SIZE",String(b.activity?.bufferSize??200)),10),flushIntervalMs:parseInt(g("ACTIVITY_FLUSH_INTERVAL_MS",String(b.activity?.flushIntervalMs??3e4)),10),retentionDays:parseInt(g("ACTIVITY_RETENTION_DAYS",String(b.activity?.retentionDays??90)),10)},autoDream:{enabled:b.autoDream?.enabled??!0,idleThresholdMinutes:parseInt(g("AUTODREAM_IDLE_THRESHOLD_MINUTES",String(b.autoDream?.idleThresholdMinutes??30)),10),cooldownMinutes:parseInt(g("AUTODREAM_COOLDOWN_MINUTES",String(b.autoDream?.cooldownMinutes??60)),10),similarityThreshold:parseFloat(g("AUTODREAM_SIMILARITY_THRESHOLD",String(b.autoDream?.similarityThreshold??.85))),patternMinCount:parseInt(g("AUTODREAM_PATTERN_MIN_COUNT",String(b.autoDream?.patternMinCount??3)),10),maxClustersPerRun:parseInt(g("AUTODREAM_MAX_CLUSTERS",String(b.autoDream?.maxClustersPerRun??20)),10),maxContradictionPairsPerRun:parseInt(g("AUTODREAM_MAX_CONTRADICTIONS",String(b.autoDream?.maxContradictionPairsPerRun??30)),10),maxPromotionsPerRun:parseInt(g("AUTODREAM_MAX_PROMOTIONS",String(b.autoDream?.maxPromotionsPerRun??10)),10)},browser:{cdpEndpoint:g("BROWSER_CDP_ENDPOINT","")},tasksDir:{code:g("CODE_TASKS_DIR",`/tmp/${Xt}-code-tasks`),background:g("BG_TASKS_DIR",`/tmp/${Xt}-bg-tasks`)}}});var jc={};Q(jc,{runDoctor:()=>Ag});import{resolve as vg}from"node:path";import{execFileSync as Uc}from"node:child_process";async function kg(){try{return{config:(await Promise.resolve().then(()=>(fs(),us))).config,error:null}}catch(t){return{config:null,error:t instanceof Error?t.message:String(t)}}}async function Ag(t={}){let e=!!t.verbose,n=Oc("com.hive.agent");console.log("hive doctor"),console.log(` cwd: ${process.cwd()}`),console.log(` hive home: ${P}`),console.log(` service path: ${n??"(LaunchAgent plist not found)"}`),console.log("");let s=Sc(vg(import.meta.dirname,"../../src/config.ts")),{config:i,error:r}=await kg(),o=[{name:"Node.js >= 22",group:"prereq",required:!0,test:()=>parseInt(process.versions.node.split(".")[0])>=22,remedy:"Install Node 22+: brew install node@22 && brew link --overwrite node@22"},{name:"Homebrew",group:"prereq",required:!0,test:()=>Qt("brew"),remedy:'Install: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"'},{name:"MongoDB (brew services)",group:"prereq",required:!0,test:()=>wc("mongodb-community"),remedy:"brew services start mongodb-community # informational; live reachability is checked under Agents"},{name:"Ollama",group:"prereq",required:!0,test:()=>mr("http://127.0.0.1:11434/api/tags"),remedy:"brew install ollama && brew services start ollama"},{name:"Ollama models (bge-large, gemma4:e4b)",group:"prereq",required:!0,test:()=>{if(!Qt("ollama"))return!1;try{let c=Uc("ollama",["list"],{encoding:"utf-8"});return c.includes("bge-large")&&c.includes("gemma4:e4b")}catch{return!1}},remedy:"ollama pull bge-large && ollama pull gemma4:e4b"},{name:"Qdrant",group:"prereq",required:!0,test:()=>mr("http://127.0.0.1:6333/"),remedy:"brew install qdrant && brew services start qdrant"},{name:"gh CLI",group:"prereq",required:!1,test:()=>Qt("gh")},{name:"gog CLI",group:"prereq",required:!1,test:()=>Qt("gog")},{name:"Xcode CLI Tools",group:"prereq",required:!0,test:()=>{try{return Uc("xcode-select",["-p"],{encoding:"utf-8"}),!0}catch{return!1}},remedy:"xcode-select --install"},{name:"config loads (hive.yaml + required env)",group:"config",required:!0,test:()=>i!==null,remedy:r?`config.ts threw: ${r}. Set missing env vars in ~/.hive/.env and ensure hive.yaml exists.`:"Check hive.yaml at the hive home and run `hive init` if missing."},...s.map(c=>({name:`env: ${c}`,group:"config",required:!0,test:()=>!!process.env[c],remedy:`Set ${c} in ~/.hive/.env`})),{name:"MongoDB reachable",group:"agents",required:!0,test:()=>i?kc(i.mongo.uri,i.mongo.dbName):!1,remedy:"Start Mongo (`brew services start mongodb-community`) and verify MONGODB_URI."},{name:"At least one agent exists",group:"agents",required:!0,test:()=>i?Ec(i.mongo.uri,i.mongo.dbName):!1,remedy:"Run `npm run setup:seeds` to import plugin agent seeds."},{name:`default agent exists${i?` (${i.defaultAgent})`:""}`,group:"agents",required:!0,test:()=>i?Ac(i.mongo.uri,i.mongo.dbName,i.defaultAgent):!1,remedy:i?`Set DEFAULT_AGENT to an existing agent id or seed '${i.defaultAgent}'.`:"Config failed to load \u2014 see Config group."},{name:"LaunchAgent com.hive.agent running",group:"services",required:!0,test:()=>{let c=bc("com.hive.agent");return c.loaded&&c.state==="running"&&c.pid!==null&&vc(c.pid)},remedy:(()=>{let c=process.getuid?.()??0;return`launchctl bootstrap gui/${c} ~/Library/LaunchAgents/com.hive.agent.plist && launchctl kickstart -k gui/${c}/com.hive.agent`})()},{name:"Slack auth.test",group:"services",required:!0,test:()=>i?_c(i.slack.botToken):!1,remedy:"Verify SLACK_BOT_TOKEN in .env and that the token still has the expected scopes."}],a=!0,l=null;for(let c of o){c.group!==l&&(console.log(`
228
- ${Eg[c.group]}`),l=c.group);let f=await c.test(),u=f?"\u2713":c.required?"\u2717":"\u25CB",d=c.required?"":" (optional)";console.log(` ${u} ${c.name}${d}`),!f&&e&&c.remedy&&console.log(` \u2192 ${c.remedy}`),!f&&c.required&&(a=!1)}a||(console.log(`
222
+ `),await Bl(),console.log("");let e=Jm(),n=process.env.HOME??"/tmp",s=e??await Wm(n),i=Te(Le(t,"templates"))?Le(t,"templates"):Le(t,"setup","templates");console.log(`Setup will write config to: ${s}`),console.log(`Templates from: ${i}
223
+ `);let r=it(s,"hive.yaml");Te(r)&&(((0,zt.parse)(cc(r,"utf-8"))??{}).instance?.id||(console.error(`Error: ${r} is missing instance.id. Delete it and run 'hive init' again.`),process.exit(1))),process.env.HIVE_HOME=s;let{runWizard:o}=await Promise.resolve().then(()=>(lc(),ac));await o(s,i,t)}var zt,Ym,fc=L(()=>{"use strict";zt=le(fe(),1);z();xl();Ym=10});var hc={};Q(hc,{showStatus:()=>eg});import{execFileSync as dc}from"node:child_process";import{existsSync as zm,readFileSync as Xm}from"node:fs";import{resolve as Zm}from"node:path";async function eg(){console.log(`Hive home: ${P}`);let t=Zm(P,process.env.HIVE_CONFIG??"hive.yaml");if(!zm(t)){console.log("Status: not initialized (run 'hive init')");return}let n=((0,pc.parse)(Xm(t,"utf-8"))??{}).instance?.id??"hive",s=`com.hive.${n}.agent`;console.log(`Instance: ${n}`);try{let r=dc("launchctl",["list"],{encoding:"utf-8"}).split(`
224
+ `).find(o=>o.includes(s));if(r){let o=r.trim().split(/\s+/),a=o[0],l=o[1];console.log(`Service: running (PID ${a}, last exit ${l})`)}else console.log("Service: not running")}catch{console.log("Service: unknown (could not query launchctl)")}try{dc("mongosh",["--eval","db.runCommand({ping:1})","--quiet"],{encoding:"utf-8",timeout:5e3}),console.log("MongoDB: connected")}catch{console.log("MongoDB: not reachable")}}var pc,mc=L(()=>{"use strict";pc=le(fe(),1);z()});var yc={};Q(yc,{runUpdate:()=>ng});import{execFileSync as gc}from"node:child_process";import{resolve as tg}from"node:path";async function ng(){console.log("Stopping Hive..."),await dr(),console.log("Updating @keepur/hive...");try{gc("npm",["update","-g","@keepur/hive"],{stdio:"inherit"}),console.log("Update complete.")}catch{console.error("Update failed."),process.exit(1)}let t=gc("npm",["root","-g"],{encoding:"utf-8"}).trim(),e=tg(t,"@keepur","hive");console.log("Restarting Hive..."),await fr(e)}var wc=L(()=>{"use strict";Wt()});import{execFileSync as mr}from"node:child_process";import{existsSync as sg,readFileSync as bc}from"node:fs";import{resolve as ig}from"node:path";function Xt(t){try{return mr("which",[t],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}function vc(t){try{return mr("brew",["services","list"],{encoding:"utf-8"}).split(`
225
+ `).some(n=>n.startsWith(t)&&n.includes("started"))}catch{return!1}}async function gr(t,e=1500){try{let n=new AbortController,s=setTimeout(()=>n.abort(),e),i=await fetch(t,{signal:n.signal});return clearTimeout(s),i.ok}catch{return!1}}function Ec(t){let e=bc(t,"utf-8"),n=new Set;for(let s of e.matchAll(/\brequired\(\s*"([A-Z0-9_]+)"\s*\)/g))n.add(s[1]);return[...n].sort()}function kc(t){let e=process.getuid?.();if(e===void 0)return{loaded:!1,state:"unknown",pid:null};try{let n=mr("launchctl",["print",`gui/${e}/${t}`],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),s=n.match(/state\s*=\s*([^\n]+?)\s*$/m),i=n.match(/pid\s*=\s*(\d+)/),r=s?.[1];return{loaded:!0,state:r==="running"?"running":r==="not running"?"not running":"unknown",pid:i?parseInt(i[1],10):null}}catch{return{loaded:!1,state:"unknown",pid:null}}}function Ac(t){try{return process.kill(t,0),!0}catch{return!1}}async function _c(t,e,n=2e3){let{MongoClient:s}=await import("mongodb"),i=new s(t,{serverSelectionTimeoutMS:n});try{return await i.connect(),await i.db(e).command({ping:1}),!0}catch{return!1}finally{await i.close().catch(()=>{})}}async function Ic(t,e){let{MongoClient:n}=await import("mongodb"),s=new n(t,{serverSelectionTimeoutMS:2e3});try{return await s.connect(),await s.db(e).collection("agent_definitions").estimatedDocumentCount()>0}catch{return!1}finally{await s.close().catch(()=>{})}}async function Oc(t,e,n){let{MongoClient:s}=await import("mongodb"),i=new s(t,{serverSelectionTimeoutMS:2e3});try{return await i.connect(),await i.db(e).collection("agent_definitions").findOne({id:n})!==null}catch{return!1}finally{await i.close().catch(()=>{})}}async function Nc(t){if(!t)return!1;let{WebClient:e}=await import("@slack/web-api");try{return(await new e(t).auth.test()).ok===!0}catch{return!1}}function Sc(t){return t.replace(/^~(?=$|\/)/,process.env.HOME??"")}function Tc(t="com.hive.agent"){let e=Sc(`~/Library/LaunchAgents/${t}.plist`);if(!sg(e))return null;let s=bc(e,"utf-8").match(/<key>WorkingDirectory<\/key>\s*<string>([^<]+)<\/string>/);return s?ig(Sc(s[1])):null}var Lc=L(()=>{"use strict"});var qc=w((NS,pe)=>{var yr=ge("fs"),us=ge("path"),rg=ge("os"),og=ge("crypto"),Cc=["\u25C8 encrypted .env [www.dotenvx.com]","\u25C8 secrets for agents [www.dotenvx.com]","\u2301 auth for agents [www.vestauth.com]","\u2318 custom filepath { path: '/custom/path/.env' }","\u2318 enable debugging { debug: true }","\u2318 override existing { override: true }","\u2318 suppress logs { quiet: true }","\u2318 multiple files { path: ['.env.local', '.env'] }"];function ag(){return Cc[Math.floor(Math.random()*Cc.length)]}function rt(t){return typeof t=="string"?!["false","0","no","off",""].includes(t.toLowerCase()):!!t}function lg(){return process.stdout.isTTY}function cg(t){return lg()?`\x1B[2m${t}\x1B[0m`:t}var ug=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function fg(t){let e={},n=t.toString();n=n.replace(/\r\n?/mg,`
226
+ `);let s;for(;(s=ug.exec(n))!=null;){let i=s[1],r=s[2]||"";r=r.trim();let o=r[0];r=r.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),o==='"'&&(r=r.replace(/\\n/g,`
227
+ `),r=r.replace(/\\r/g,"\r")),e[i]=r}return e}function dg(t){t=t||{};let e=Dc(t);t.path=e;let n=K.configDotenv(t);if(!n.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);throw o.code="MISSING_DATA",o}let s=$c(t).split(","),i=s.length,r;for(let o=0;o<i;o++)try{let a=s[o].trim(),l=hg(n,a);r=K.decrypt(l.ciphertext,l.key);break}catch(a){if(o+1>=i)throw a}return K.parse(r)}function pg(t){console.error(`\u26A0 ${t}`)}function Zt(t){console.log(`\u2506 ${t}`)}function Mc(t){console.log(`\u25C7 ${t}`)}function $c(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function hg(t,e){let n;try{n=new URL(e)}catch(a){if(a.code==="ERR_INVALID_URL"){let l=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw l.code="INVALID_DOTENV_KEY",l}throw a}let s=n.password;if(!s){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let i=n.searchParams.get("environment");if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let r=`DOTENV_VAULT_${i.toUpperCase()}`,o=t.parsed[r];if(!o){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${r} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:o,key:s}}function Dc(t){let e=null;if(t&&t.path&&t.path.length>0)if(Array.isArray(t.path))for(let n of t.path)yr.existsSync(n)&&(e=n.endsWith(".vault")?n:`${n}.vault`);else e=t.path.endsWith(".vault")?t.path:`${t.path}.vault`;else e=us.resolve(process.cwd(),".env.vault");return yr.existsSync(e)?e:null}function Pc(t){return t[0]==="~"?us.join(rg.homedir(),t.slice(1)):t}function mg(t){let e=rt(process.env.DOTENV_CONFIG_DEBUG||t&&t.debug),n=rt(process.env.DOTENV_CONFIG_QUIET||t&&t.quiet);(e||!n)&&Mc("loading env from encrypted .env.vault");let s=K._parseVault(t),i=process.env;return t&&t.processEnv!=null&&(i=t.processEnv),K.populate(i,s,t),{parsed:s}}function gg(t){let e=us.resolve(process.cwd(),".env"),n="utf8",s=process.env;t&&t.processEnv!=null&&(s=t.processEnv);let i=rt(s.DOTENV_CONFIG_DEBUG||t&&t.debug),r=rt(s.DOTENV_CONFIG_QUIET||t&&t.quiet);t&&t.encoding?n=t.encoding:i&&Zt("no encoding is specified (UTF-8 is used by default)");let o=[e];if(t&&t.path)if(!Array.isArray(t.path))o=[Pc(t.path)];else{o=[];for(let f of t.path)o.push(Pc(f))}let a,l={};for(let f of o)try{let u=K.parse(yr.readFileSync(f,{encoding:n}));K.populate(l,u,t)}catch(u){i&&Zt(`failed to load ${f} ${u.message}`),a=u}let c=K.populate(s,l,t);if(i=rt(s.DOTENV_CONFIG_DEBUG||i),r=rt(s.DOTENV_CONFIG_QUIET||r),i||!r){let f=Object.keys(c).length,u=[];for(let d of o)try{let h=us.relative(process.cwd(),d);u.push(h)}catch(h){i&&Zt(`failed to load ${d} ${h.message}`),a=h}Mc(`injected env (${f}) from ${u.join(",")} ${cg(`// tip: ${ag()}`)}`)}return a?{parsed:l,error:a}:{parsed:l}}function yg(t){if($c(t).length===0)return K.configDotenv(t);let e=Dc(t);return e?K._configVault(t):(pg(`you set DOTENV_KEY but you are missing a .env.vault file at ${e}`),K.configDotenv(t))}function wg(t,e){let n=Buffer.from(e.slice(-64),"hex"),s=Buffer.from(t,"base64"),i=s.subarray(0,12),r=s.subarray(-16);s=s.subarray(12,-16);try{let o=og.createDecipheriv("aes-256-gcm",n,i);return o.setAuthTag(r),`${o.update(s)}${o.final()}`}catch(o){let a=o instanceof RangeError,l=o.message==="Invalid key length",c=o.message==="Unsupported state or unable to authenticate data";if(a||l){let f=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw f.code="INVALID_DOTENV_KEY",f}else if(c){let f=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw f.code="DECRYPTION_FAILED",f}else throw o}}function Sg(t,e,n={}){let s=!!(n&&n.debug),i=!!(n&&n.override),r={};if(typeof e!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(e))Object.prototype.hasOwnProperty.call(t,o)?(i===!0&&(t[o]=e[o],r[o]=e[o]),s&&Zt(i===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):(t[o]=e[o],r[o]=e[o]);return r}var K={configDotenv:gg,_configVault:mg,_parseVault:dg,config:yg,decrypt:wg,parse:fg,populate:Sg};pe.exports.configDotenv=K.configDotenv;pe.exports._configVault=K._configVault;pe.exports._parseVault=K._parseVault;pe.exports.config=K.config;pe.exports.decrypt=K.decrypt;pe.exports.parse=K.parse;pe.exports.populate=K.populate;pe.exports=K});var fs,Rc=L(()=>{"use strict";fs={externalComms:!0,codeTask:!1,codeAccess:!1}});var ds={};Q(ds,{config:()=>Ig});import{readFileSync as bg,existsSync as Uc,readdirSync as vg,statSync as Eg}from"node:fs";import{resolve as wr}from"node:path";import{randomUUID as Kc}from"node:crypto";import{execFileSync as kg}from"node:child_process";function Bc(t){let e=process.env[t]||Yc(t);if(!e)throw new Error(`Missing required env var: ${t}`);return e}function g(t,e){return process.env[t]||Yc(t)||e}function _g(t){if(t?.length)return t.map(n=>wr(n.replace(/^~/,process.env.HOME??"/tmp")));let e=wr(P,"plugins/claude-code");return Uc(e)?vg(e).map(n=>wr(e,n)).filter(n=>Eg(n).isDirectory()):[]}function Yc(t){if(process.platform!=="darwin")return"";try{return kg("security",["find-generic-password","-s",`hive/${en}/${t}`,"-w"],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{return""}}var Fc,jc,Ag,xc,b,qS,en,xe,ot,Ig,ps=L(()=>{"use strict";Fc=le(qc(),1),jc=le(fe(),1);Rc();z();Ag=Vr(P);Fc.default.config({path:Ag});xc=Gr(P),b={};Uc(xc)&&(b=(0,jc.parse)(bg(xc,"utf-8"))??{});qS=process.env.HOME??"/tmp",en=b.instance?.id??"hive";xe=b.instance?.portBase??3100,ot=b.instance?.ports??{},Ig={instance:{id:en,portBase:xe},business:{name:b.business?.name??g("BUSINESS_NAME",""),description:b.business?.description??"",location:b.business?.location??"",ownerName:b.business?.owner?.name??"",ownerRole:b.business?.owner?.role??""},slack:{appToken:Bc("SLACK_APP_TOKEN"),botToken:Bc("SLACK_BOT_TOKEN"),mcpToken:g("SLACK_MCP_TOKEN",""),auditChannel:g("SLACK_AUDIT_CHANNEL",b.slack?.auditChannel??"")},anthropic:{apiKey:g("ANTHROPIC_API_KEY","")},linear:{apiKey:g("LINEAR_API_KEY",""),teamId:g("LINEAR_TEAM_ID","")},clickup:{apiToken:g("CLICKUP_API_TOKEN","")},github:{repo:g("GITHUB_REPO",""),token:g("GH_TOKEN","")},brave:{apiKey:g("BRAVE_API_KEY","")},taskLedger:{apiUrl:g("TASK_LEDGER_API_URL","http://localhost:3002"),agentKeys:Object.fromEntries(Object.entries(process.env).filter(([t])=>t.startsWith("TASK_LEDGER_KEY_")).map(([t,e])=>[t.replace("TASK_LEDGER_KEY_","").toLowerCase().replace(/_/g,"-"),e])),apiKey:g("TASK_LEDGER_API_KEY","")},mongo:{uri:g("MONGODB_URI","mongodb://localhost:27017"),dbName:g("MONGODB_DB",`hive_${en}`)},defaultAgent:g("DEFAULT_AGENT","chief-of-staff"),google:{account:g("GOOGLE_ACCOUNT",b.google?.account??""),client:g("GOG_CLIENT",b.google?.client??""),accounts:b.google?.accounts??{},sharedFolder:g("DRIVE_SHARED_FOLDER",b.google?.sharedFolder??b.googleWorkspace?.sharedFolder??"")},googleWorkspace:{account:g("GWS_ACCOUNT",b.googleWorkspace?.account??""),gwsPath:g("GWS_PATH",""),sharedFolder:g("GWS_SHARED_FOLDER",b.googleWorkspace?.sharedFolder??"")},quo:{apiKey:g("QUO_API_KEY",""),phoneNumberId:g("QUO_PHONE_NUMBER_ID",""),lines:b.quo?.lines??{}},sms:{lines:b.sms?.lines??[]},imessage:{enabled:b.imessage?.enabled??!1,slackChannel:b.imessage?.slackChannel??"imessage",hotWindowMs:b.imessage?.hotWindowMs??3e5,coldIntervalMs:b.imessage?.coldIntervalMs??3e5,hotIntervalMs:b.imessage?.hotIntervalMs??1e4},resend:{apiKey:g("RESEND_API_KEY",""),fromAddress:g("RESEND_FROM_ADDRESS",""),defaultCc:g("RESEND_DEFAULT_CC",""),defaultBcc:g("RESEND_DEFAULT_BCC",""),emailDomain:g("RESEND_EMAIL_DOMAIN",b.resend?.emailDomain??""),businessName:g("RESEND_BUSINESS_NAME",b.resend?.businessName??"")},plugins:b.plugins??[],skillRegistries:b.skillRegistries??[{name:"keepur-default",url:"https://github.com/keepur/hive-skills",default:!0}],gemini:{apiKey:g("GEMINI_API_KEY",""),visionModel:g("GEMINI_VISION_MODEL","gemini-2.5-flash")},permits:{mongoUri:g("PERMITS_MONGO_URI","mongodb://localhost:27017/permits")},recall:{apiKey:g("RECALL_API_KEY",""),region:g("RECALL_API_REGION","us-west-2"),monitorPort:parseInt(g("MEETING_MONITOR_PORT",String(ot.recall??xe+1)),10),monitorPublicUrl:g("MEETING_MONITOR_PUBLIC_URL",""),webhookSecret:g("RECALL_WEBHOOK_SECRET","")},scheduler:{heartbeatIntervalMs:parseInt(g("HEARTBEAT_INTERVAL_MS","120000"),10)},background:{port:parseInt(g("BG_TASK_PORT",String(ot.background??xe)),10),authToken:g("BG_TASK_AUTH_TOKEN","")||Kc()},codeTask:{port:parseInt(g("CODE_TASK_PORT",String(ot.codeTask??xe+2)),10),authToken:g("CODE_TASK_AUTH_TOKEN","")||Kc(),pluginDirs:_g(b.codeTask?.pluginDirs),defaultModel:g("CODE_TASK_MODEL","claude-sonnet-4-6"),defaultMaxTurns:parseInt(g("CODE_TASK_MAX_TURNS","100"),10),defaultMaxBudget:parseFloat(g("CODE_TASK_MAX_BUDGET","5.00")),maxConcurrent:parseInt(g("CODE_TASK_MAX_CONCURRENT","2"),10),maxLifetimeMs:parseInt(g("CODE_TASK_MAX_LIFETIME_MS",String(480*60*1e3)),10),staleGraceMs:parseInt(g("CODE_TASK_STALE_GRACE_MS",String(1800*1e3)),10)},ws:{enabled:g("WS_ENABLED","false")==="true",port:parseInt(g("WS_PORT",String(ot.ws??xe+3)),10)},beekeeper:{port:parseInt(g("BEEKEEPER_PORT",String(b.beekeeper?.port??8420)),10)},workflow:{enabled:g("WORKFLOW_ENABLED","false")==="true"},adminApi:{port:parseInt(g("ADMIN_API_PORT",String(ot.adminApi??xe+4)),10),token:g("ADMIN_API_TOKEN","")},voice:{enabled:!!b.voice?.provider,provider:b.voice?.provider??"",publicUrl:b.voice?.publicUrl??"",phoneNumberId:b.voice?.phoneNumberId??"",assistants:b.voice?.assistants??{},apiKey:g("VAPI_API_KEY",""),serverSecret:g("VAPI_SERVER_SECRET",""),port:parseInt(g("VOICE_PORT",String(ot.voice??xe+5)),10)},autonomy:{externalComms:b.autonomy?.externalComms??fs.externalComms,codeTask:b.autonomy?.codeTask??fs.codeTask,codeAccess:b.autonomy?.codeAccess??fs.codeAccess},modelRouter:{enabled:g("MODEL_ROUTER_ENABLED","true")==="true",model:g("MODEL_ROUTER_MODEL","claude-haiku-4-5-20251001"),timeoutMs:parseInt(g("MODEL_ROUTER_TIMEOUT_MS","8000"),10)},sweeper:{intervalMs:parseInt(g("SWEEPER_INTERVAL_MS","300000"),10),threadTtlMs:parseInt(g("SWEEPER_THREAD_TTL_MS","86400000"),10),taskFileTtlMs:parseInt(g("SWEEPER_TASK_FILE_TTL_MS","604800000"),10),meetingSessionTtlMs:parseInt(g("SWEEPER_MEETING_TTL_MS","3600000"),10),cacheTtlMs:parseInt(g("SWEEPER_CACHE_TTL_MS","3600000"),10),retryMaxAttempts:parseInt(g("SWEEPER_RETRY_MAX_ATTEMPTS","3"),10),retryBaseDelayMs:parseInt(g("SWEEPER_RETRY_BASE_DELAY_MS","30000"),10)},memory:{hotBudgetTokens:parseInt(g("MEMORY_HOT_BUDGET_TOKENS",String(b.memory?.hotBudgetTokens??3e3)),10),sweepIntervalHours:parseFloat(g("MEMORY_SWEEP_INTERVAL_HOURS",String(b.memory?.sweepIntervalHours??6))),hotThreshold:parseFloat(g("MEMORY_HOT_THRESHOLD",String(b.memory?.hotThreshold??.6))),warmThreshold:parseFloat(g("MEMORY_WARM_THRESHOLD",String(b.memory?.warmThreshold??.3))),recencyHalfLifeDays:parseFloat(g("MEMORY_RECENCY_HALF_LIFE_DAYS",String(b.memory?.recencyHalfLifeDays??7))),coldSummaryMinRecords:parseInt(g("MEMORY_COLD_SUMMARY_MIN",String(b.memory?.coldSummaryMinRecords??5)),10),coldRetentionDays:parseInt(g("MEMORY_COLD_RETENTION_DAYS",String(b.memory?.coldRetentionDays??90)),10),purgeRetentionDays:parseInt(g("MEMORY_PURGE_RETENTION_DAYS",String(b.memory?.purgeRetentionDays??7)),10),reflectionMinTurns:parseInt(g("MEMORY_REFLECTION_MIN_TURNS",String(b.memory?.reflectionMinTurns??3)),10)},codeIndex:{enabled:b.codeIndex?.enabled===!0||process.env.CODE_INDEX_ENABLED==="true",scoreThreshold:parseFloat(g("CODE_INDEX_SCORE_THRESHOLD",String(b.codeIndex?.scoreThreshold??.65))),prefetchLimit:parseInt(g("CODE_INDEX_PREFETCH_LIMIT",String(b.codeIndex?.prefetchLimit??8)),10),sessionKnowledge:{enabled:(b.codeIndex?.sessionKnowledge?.enabled??!0)&&process.env.CODE_INDEX_SESSION_KNOWLEDGE!=="false"},repos:b.codeIndex?.repos??{}},events:{retentionDays:parseInt(g("EVENT_RETENTION_DAYS",String(b.events?.retentionDays??30)),10)},activity:{enabled:(b.activity?.enabled??!0)&&process.env.ACTIVITY_LOG_ENABLED!=="false",bufferSize:parseInt(g("ACTIVITY_BUFFER_SIZE",String(b.activity?.bufferSize??200)),10),flushIntervalMs:parseInt(g("ACTIVITY_FLUSH_INTERVAL_MS",String(b.activity?.flushIntervalMs??3e4)),10),retentionDays:parseInt(g("ACTIVITY_RETENTION_DAYS",String(b.activity?.retentionDays??90)),10)},autoDream:{enabled:b.autoDream?.enabled??!0,idleThresholdMinutes:parseInt(g("AUTODREAM_IDLE_THRESHOLD_MINUTES",String(b.autoDream?.idleThresholdMinutes??30)),10),cooldownMinutes:parseInt(g("AUTODREAM_COOLDOWN_MINUTES",String(b.autoDream?.cooldownMinutes??60)),10),similarityThreshold:parseFloat(g("AUTODREAM_SIMILARITY_THRESHOLD",String(b.autoDream?.similarityThreshold??.85))),patternMinCount:parseInt(g("AUTODREAM_PATTERN_MIN_COUNT",String(b.autoDream?.patternMinCount??3)),10),maxClustersPerRun:parseInt(g("AUTODREAM_MAX_CLUSTERS",String(b.autoDream?.maxClustersPerRun??20)),10),maxContradictionPairsPerRun:parseInt(g("AUTODREAM_MAX_CONTRADICTIONS",String(b.autoDream?.maxContradictionPairsPerRun??30)),10),maxPromotionsPerRun:parseInt(g("AUTODREAM_MAX_PROMOTIONS",String(b.autoDream?.maxPromotionsPerRun??10)),10)},browser:{cdpEndpoint:g("BROWSER_CDP_ENDPOINT","")},tasksDir:{code:g("CODE_TASKS_DIR",`/tmp/${en}-code-tasks`),background:g("BG_TASKS_DIR",`/tmp/${en}-bg-tasks`)}}});var Gc={};Q(Gc,{runDoctor:()=>Lg});import{resolve as Og}from"node:path";import{execFileSync as Hc}from"node:child_process";async function Ng(){try{return{config:(await Promise.resolve().then(()=>(ps(),ds))).config,error:null}}catch(t){return{config:null,error:t instanceof Error?t.message:String(t)}}}async function Lg(t={}){let e=!!t.verbose,n=Tc("com.hive.agent");console.log("hive doctor"),console.log(` cwd: ${process.cwd()}`),console.log(` hive home: ${P}`),console.log(` service path: ${n??"(LaunchAgent plist not found)"}`),console.log("");let s=Ec(Og(import.meta.dirname,"../../src/config.ts")),{config:i,error:r}=await Ng(),o=[{name:"Node.js >= 22",group:"prereq",required:!0,test:()=>parseInt(process.versions.node.split(".")[0])>=22,remedy:"Install Node 22+: brew install node@22 && brew link --overwrite node@22"},{name:"Homebrew",group:"prereq",required:!0,test:()=>Xt("brew"),remedy:'Install: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"'},{name:"MongoDB (brew services)",group:"prereq",required:!0,test:()=>vc("mongodb-community"),remedy:"brew services start mongodb-community # informational; live reachability is checked under Agents"},{name:"Ollama",group:"prereq",required:!0,test:()=>gr("http://127.0.0.1:11434/api/tags"),remedy:"brew install ollama && brew services start ollama"},{name:"Ollama models (bge-large, gemma4:e4b)",group:"prereq",required:!0,test:()=>{if(!Xt("ollama"))return!1;try{let c=Hc("ollama",["list"],{encoding:"utf-8"});return c.includes("bge-large")&&c.includes("gemma4:e4b")}catch{return!1}},remedy:"ollama pull bge-large && ollama pull gemma4:e4b"},{name:"Qdrant",group:"prereq",required:!0,test:()=>gr("http://127.0.0.1:6333/"),remedy:"brew install qdrant && brew services start qdrant"},{name:"gh CLI",group:"prereq",required:!1,test:()=>Xt("gh")},{name:"gog CLI",group:"prereq",required:!1,test:()=>Xt("gog")},{name:"Xcode CLI Tools",group:"prereq",required:!0,test:()=>{try{return Hc("xcode-select",["-p"],{encoding:"utf-8"}),!0}catch{return!1}},remedy:"xcode-select --install"},{name:"config loads (hive.yaml + required env)",group:"config",required:!0,test:()=>i!==null,remedy:r?`config.ts threw: ${r}. Set missing env vars in ~/.hive/.env and ensure hive.yaml exists.`:"Check hive.yaml at the hive home and run `hive init` if missing."},...s.map(c=>({name:`env: ${c}`,group:"config",required:!0,test:()=>!!process.env[c],remedy:`Set ${c} in ~/.hive/.env`})),{name:"MongoDB reachable",group:"agents",required:!0,test:()=>i?_c(i.mongo.uri,i.mongo.dbName):!1,remedy:"Start Mongo (`brew services start mongodb-community`) and verify MONGODB_URI."},{name:"At least one agent exists",group:"agents",required:!0,test:()=>i?Ic(i.mongo.uri,i.mongo.dbName):!1,remedy:"Run `npm run setup:seeds` to import plugin agent seeds."},{name:`default agent exists${i?` (${i.defaultAgent})`:""}`,group:"agents",required:!0,test:()=>i?Oc(i.mongo.uri,i.mongo.dbName,i.defaultAgent):!1,remedy:i?`Set DEFAULT_AGENT to an existing agent id or seed '${i.defaultAgent}'.`:"Config failed to load \u2014 see Config group."},{name:"LaunchAgent com.hive.agent running",group:"services",required:!0,test:()=>{let c=kc("com.hive.agent");return c.loaded&&c.state==="running"&&c.pid!==null&&Ac(c.pid)},remedy:(()=>{let c=process.getuid?.()??0;return`launchctl bootstrap gui/${c} ~/Library/LaunchAgents/com.hive.agent.plist && launchctl kickstart -k gui/${c}/com.hive.agent`})()},{name:"Slack auth.test",group:"services",required:!0,test:()=>i?Nc(i.slack.botToken):!1,remedy:"Verify SLACK_BOT_TOKEN in .env and that the token still has the expected scopes."}],a=!0,l=null;for(let c of o){c.group!==l&&(console.log(`
228
+ ${Tg[c.group]}`),l=c.group);let f=await c.test(),u=f?"\u2713":c.required?"\u2717":"\u25CB",d=c.required?"":" (optional)";console.log(` ${u} ${c.name}${d}`),!f&&e&&c.remedy&&console.log(` \u2192 ${c.remedy}`),!f&&c.required&&(a=!1)}a||(console.log(`
229
229
  Some required checks failed. Run with --verbose for remedy hints.`),process.exit(1)),console.log(`
230
- All checks passed.`)}var Eg,Yc=L(()=>{"use strict";Ic();ne();Eg={prereq:"Prereqs",config:"Config",agents:"Agents",services:"Services"}});import{readFileSync as _g,writeFileSync as Og,existsSync as Ig}from"node:fs";import{resolve as Tg}from"node:path";function Ne(){return Tg(P,process.env.HIVE_CONFIG||"hive.yaml")}function se(t){let e=t??Ne();return Ig(e)?(0,ds.parse)(_g(e,"utf-8"))??{}:{}}function ot(t,e){let n=e??Ne();Og(n,(0,ds.stringify)(t,{lineWidth:0}))}var ds,ps=L(()=>{"use strict";ds=le(fe(),1);ne()});function hs(t,e,n,s){if(Hc[t]<Hc[Ng])return;let i={ts:new Date().toISOString(),level:t,component:e,msg:n,...s};(t==="error"?process.stderr:process.stdout).write(JSON.stringify(i)+`
231
- `)}function x(t){return{debug:(e,n)=>hs("debug",t,e,n),info:(e,n)=>hs("info",t,e,n),warn:(e,n)=>hs("warn",t,e,n),error:(e,n)=>hs("error",t,e,n)}}var Hc,Ng,ie=L(()=>{"use strict";Hc={debug:0,info:1,warn:2,error:3},Ng=process.env.LOG_LEVEL||"info"});import{execFileSync as wr}from"node:child_process";function Sr(){let t=se(),n=`com.hive.${t.instanceId??t.id??"hive"}.agent`;try{wr("launchctl",["list",n],{stdio:"pipe"})}catch{return!1}let s=wr("id",["-u"],{stdio:"pipe",encoding:"utf-8"}).trim();try{return wr("launchctl",["kickstart","-k",`gui/${s}/${n}`],{stdio:"pipe"}),Gc.info("Hive service restarted",{label:n}),!0}catch(i){return Gc.warn("Failed to restart hive service",{label:n,error:String(i)}),!1}}var Gc,Vc=L(()=>{"use strict";ps();ie();Gc=x("hive-restart")});import{readFileSync as Lg}from"node:fs";import{resolve as Wc}from"node:path";function Pg(){let t=[Wc(import.meta.dirname,"..","..","package.json"),Wc(import.meta.dirname,"..","package.json")];for(let e of t)try{let n=JSON.parse(Lg(e,"utf-8"));if(n?.name==="@keepur/hive"&&typeof n.hiveApi=="string")return n.hiveApi}catch{continue}return null}var Cg,Jc,ms,br=L(()=>{"use strict";ie();Cg=x("api-version");Jc=Pg();Jc||Cg.warn("Could not read hiveApi from package.json; falling back to 1.0.0");ms=Jc??"1.0.0"});function Qc(t,e){let n=t.trim();if(n===e)return!0;if(n.startsWith("^")){let s=n.slice(1).split(".").map(Number),i=e.split(".").map(Number);return!(s.length<1||i.length<1||s[0]!==i[0]||(i[1]??0)<(s[1]??0)||(i[1]??0)===(s[1]??0)&&(i[2]??0)<(s[2]??0))}return $g.warn("Unrecognized hiveApi range syntax, accepting",{range:t}),!0}var Mg,$g,zc=L(()=>{"use strict";Mg=le(fe(),1);ie();br();$g=x("plugin-loader")});var Zc={};Q(Zc,{runPlugin:()=>qg});import{execFileSync as gs}from"node:child_process";import{existsSync as at,mkdirSync as Dg,readFileSync as kr}from"node:fs";import{resolve as Zt,join as ys}from"node:path";function Xc(t,e){let n=ys(t,"..","package.json");if(at(n))try{let i=JSON.parse(kr(n,"utf-8"));if(typeof i?.version=="string")return i.version}catch{}let s=e;return typeof s?.version=="string"?s.version:"unknown"}async function qg(t,e){switch(t){case"add":return Rg(e);case"remove":return Kg(e);case"list":return Bg();default:console.error("Usage: hive plugin <add|list|remove> [package]"),process.exit(1)}}function Rg(t){t||(console.error("Usage: hive plugin add <package-name>"),process.exit(1)),Dg(re,{recursive:!0});let e=Zt(re,"package.json");at(e)||gs("npm",["init","-y"],{cwd:re,stdio:"pipe"}),console.log(`Installing ${t}...`);try{gs("npm",["install",t],{cwd:re,stdio:"pipe"})}catch(f){console.error(`Failed to install ${t}: ${String(f)}`),process.exit(1)}let n=Zt(re,"node_modules",t),s=ys(n,"plugin.yaml");at(s)||(console.error(`Not a valid hive plugin \u2014 no plugin.yaml found in ${t}.`),vr(t),process.exit(1));let i=(0,Er.parse)(kr(s,"utf-8")),r=i?.hiveApi??i?.["hive-api"];r&&!Qc(r,ms)&&(console.error(`Plugin requires hiveApi ${r} but this hive is ${ms}.`),vr(t),process.exit(1));let o=Xc(s,i),a=Ne(),l=se(a);if(l.plugins||(l.plugins=[]),!l.plugins.includes(t)){l.plugins.push(t);try{ot(l,a)}catch(f){console.error(`Failed to update hive.yaml: ${String(f)}`),vr(t),process.exit(1)}console.log("\u2713 Updated hive.yaml")}let c=Sr();console.log(c?"\u2713 Restarting hive... done":"Start hive to activate the plugin."),console.log(`\u2713 Installed ${t} (v${o}${r?`, hiveApi ${r}`:""})`)}function Kg(t){t||(console.error("Usage: hive plugin remove <package-name>"),process.exit(1)),at(re)||(console.error("No plugins directory found."),process.exit(1)),console.log(`Removing ${t}...`);try{gs("npm",["uninstall",t],{cwd:re,stdio:"pipe"})}catch(i){console.error(`Failed to uninstall ${t}: ${String(i)}`),process.exit(1)}let e=Ne(),n=se(e);if(Array.isArray(n.plugins)){let i=n.plugins.indexOf(t);i>=0&&(n.plugins.splice(i,1),ot(n,e),console.log("\u2713 Updated hive.yaml"))}let s=Sr();console.log(s?"\u2713 Restarting hive... done":"Restart hive to complete removal."),console.log(`Removed ${t}`)}function Bg(){let t=Ne(),n=se(t).plugins??[];if(n.length===0){console.log("No plugins configured in hive.yaml.");return}console.log(`Installed plugins:
232
- `);for(let s of n){let i=Zt(re,"node_modules",s),r=Zt(re,s),o=ys(i,"plugin.yaml"),a=ys(r,"plugin.yaml"),l=null,c=!1;if(at(o)?l=o:at(a)&&(l=a,c=!0),!l){console.log(` ${s} \u26A0 not found on disk`);continue}try{let f=(0,Er.parse)(kr(l,"utf-8")),u=Xc(l,f),d=f?.hiveApi??f?.["hive-api"]??"",h=c?" [in-tree]":"";console.log(` ${s} v${u}${d?` (hiveApi ${d})`:""}${h}`)}catch{console.log(` ${s} \u26A0 failed to read plugin.yaml`)}}}function vr(t){try{gs("npm",["uninstall",t],{cwd:re,stdio:"pipe"})}catch{}}var Er,re,eu=L(()=>{"use strict";Er=le(fe(),1);ne();ps();Vc();br();zc();re=Zt(P,"plugins")});var iu={};Q(iu,{checkoutSha:()=>Lr,findTagForSha:()=>lt,listSkillsInClone:()=>Nr,lsRemoteHead:()=>Tr,partialClone:()=>Ir,shallowClone:()=>Or,verifyGitAvailable:()=>en});import{execFileSync as oe}from"node:child_process";import{existsSync as tu,readdirSync as xg,statSync as Fg,rmSync as Ar,mkdtempSync as nu}from"node:fs";import{join as Be}from"node:path";import{tmpdir as su}from"node:os";function en(){try{oe("git",["--version"],{stdio:"pipe"})}catch{throw new Error("git is required for skill installation but was not found. Install git and retry.")}}function Or(t){let e=nu(Be(su(),"hive-skill-install-")),n=Be(e,"repo"),s=()=>{try{Ar(e,{recursive:!0,force:!0})}catch{}};try{oe("git",["clone","--depth","1",t,n],{stdio:"pipe",timeout:6e4});let i=oe("git",["rev-parse","HEAD"],{cwd:n,stdio:"pipe",encoding:"utf-8"}).trim();return _r.debug("Shallow clone complete",{url:t,headSha:i}),{dir:n,headSha:i,cleanup:s}}catch(i){throw s(),new Error(`registry fetch failed: ${String(i)}`)}}function Ir(t){let e=nu(Be(su(),"hive-skill-upgrade-")),n=Be(e,"repo"),s=()=>{try{Ar(e,{recursive:!0,force:!0})}catch{}};try{try{oe("git",["clone","--filter=blob:none","--no-checkout",t,n],{stdio:"pipe",timeout:12e4}),oe("git",["checkout","HEAD"],{cwd:n,stdio:"pipe"})}catch(r){_r.debug("Blobless clone failed, falling back to full clone",{error:String(r)}),Ar(n,{recursive:!0,force:!0}),oe("git",["clone",t,n],{stdio:"pipe",timeout:12e4})}let i=oe("git",["rev-parse","HEAD"],{cwd:n,stdio:"pipe",encoding:"utf-8"}).trim();return _r.debug("Partial clone complete",{url:t,headSha:i}),{dir:n,headSha:i,cleanup:s}}catch(i){throw s(),new Error(`registry fetch failed: ${String(i)}`)}}function Tr(t){let n=oe("git",["ls-remote",t,"HEAD"],{stdio:"pipe",encoding:"utf-8",timeout:3e4}).trim().split(" ")[0];if(!n)throw new Error(`Could not determine HEAD for ${t}`);return n}function Nr(t){let e=Be(t,"skills");return tu(e)?xg(e).filter(n=>{try{let s=Be(e,n);return Fg(s).isDirectory()&&tu(Be(s,"SKILL.md"))}catch{return!1}}):[]}function Lr(t,e){oe("git",["checkout",e],{cwd:t,stdio:"pipe"})}function lt(t,e){try{return oe("git",["describe","--tags","--exact-match",e],{cwd:t,stdio:"pipe",encoding:"utf-8"}).trim()||void 0}catch{return}}var _r,tn=L(()=>{"use strict";ie();_r=x("registry-fetch")});function ru(t){if(t.includes("#skills/")){let n=t.indexOf("#skills/"),s=t.slice(0,n);return{name:t.slice(n+8),inlineUrl:s}}let e=t.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/(?:tree|blob)\/[^/]+\/skills\/([^/]+)/);if(e)return{name:e[3],inlineUrl:`https://github.com/${e[1]}/${e[2]}`};if(t.includes(":")&&!t.includes("://")){let n=t.indexOf(":"),s=t.slice(0,n);return{name:t.slice(n+1),registryName:s}}return{name:t}}function ou(t,e){if(t.inlineUrl){let i=Ug(t.inlineUrl);return Cr.debug("resolved inline registry",{inlineUrl:t.inlineUrl,name:i}),{name:i,url:t.inlineUrl}}if(t.registryName){let i=e.find(r=>r.name===t.registryName);if(!i)throw new Error(`Unknown registry: "${t.registryName}". Configured registries: ${e.map(r=>r.name).join(", ")}`);return Cr.debug("resolved named registry",{registryName:t.registryName,url:i.url}),{name:i.name,url:i.url}}let n={name:"keepur-default",url:"https://github.com/keepur/hive-skills"},s=e.find(i=>i.default)??e[0]??n;return Cr.debug("resolved default registry",{registryName:s.name,url:s.url}),{name:s.name,url:s.url}}function Ug(t){try{return t.replace(/\.git$/,"").split("/").filter(Boolean).slice(-2).join("-")}catch{return"inline"}}var Cr,au=L(()=>{"use strict";ie();Cr=x("registry-resolver")});import{join as jg}from"node:path";import{readFileSync as Yg}from"node:fs";function lu(t,e){let s=Yg(t,"utf-8").match(/^---\n([\s\S]*?)\n---/);if(!s)return e;let i=s[1].match(/^workflow:\s*(.+)$/m);return i?i[1].trim():e}function cu(t,e,n){return jg(t,e,"skills",n)}var uu=L(()=>{"use strict"});import{readFileSync as Hg,writeFileSync as Gg}from"node:fs";function Pr(t){let e=t.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);if(!e)throw new Error("No YAML frontmatter found");let n=e[1],s=e[2],i={name:"",description:"",agents:[]},r=n.split(`
233
- `),o=0;for(;o<r.length;){let a=r[o];if(a.trim()===""){o++;continue}let l=a.match(/^(\w[\w-]*):\s*(.*)/);if(!l){o++;continue}let c=l[1],f=l[2].trim();if(c==="name")i.name=xe(f);else if(c==="description")i.description=xe(f);else if(c==="workflow")i.workflow=xe(f);else if(c==="agents"){let u=f.match(/^\[([^\]]*)\]$/);if(u)i.agents=u[1].split(",").map(d=>xe(d.trim())).filter(d=>d.length>0);else if(f==="")for(i.agents=[];o+1<r.length&&r[o+1].match(/^\s+-\s+/);){o++;let d=r[o].replace(/^\s+-\s+/,"").trim();i.agents.push(xe(d))}else i.agents=[xe(f)]}else if(c==="origin")for(i.origin=fu(r,o);o+1<r.length&&r[o+1].match(/^\s+\S/);)o++;else if(c==="author")for(i.author=fu(r,o);o+1<r.length&&r[o+1].match(/^\s+\S/);)o++;o++}return{frontmatter:i,body:s}}function fu(t,e){let n={},s=e+1;for(;s<t.length&&t[s].match(/^\s+\S/);){let i=t[s].match(/^\s+([\w][\w-]*):\s*(.*)/);if(i){let r=i[2].trim();r==="true"?n[i[1]]=!0:r==="false"?n[i[1]]=!1:n[i[1]]=xe(r)}s++}return n}function xe(t){return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"):t}function Mr(t,e){let n=[];n.push(`name: ${ws(t.name)}`),n.push(`description: ${ws(t.description)}`);let s=t.agents.join(", ");return n.push(`agents: [${s}]`),t.workflow&&n.push(`workflow: ${ws(t.workflow)}`),t.origin&&(n.push("origin:"),du(n,t.origin)),t.author&&(n.push("author:"),du(n,t.author)),`---
230
+ All checks passed.`)}var Tg,Vc=L(()=>{"use strict";Lc();z();Tg={prereq:"Prereqs",config:"Config",agents:"Agents",services:"Services"}});import{readFileSync as Cg,writeFileSync as Pg,existsSync as Mg}from"node:fs";import{resolve as $g}from"node:path";function Ce(){return $g(P,process.env.HIVE_CONFIG||"hive.yaml")}function se(t){let e=t??Ce();return Mg(e)?(0,hs.parse)(Cg(e,"utf-8"))??{}:{}}function at(t,e){let n=e??Ce();Pg(n,(0,hs.stringify)(t,{lineWidth:0}))}var hs,ms=L(()=>{"use strict";hs=le(fe(),1);z()});function gs(t,e,n,s){if(Wc[t]<Wc[Dg])return;let i={ts:new Date().toISOString(),level:t,component:e,msg:n,...s};(t==="error"?process.stderr:process.stdout).write(JSON.stringify(i)+`
231
+ `)}function x(t){return{debug:(e,n)=>gs("debug",t,e,n),info:(e,n)=>gs("info",t,e,n),warn:(e,n)=>gs("warn",t,e,n),error:(e,n)=>gs("error",t,e,n)}}var Wc,Dg,ie=L(()=>{"use strict";Wc={debug:0,info:1,warn:2,error:3},Dg=process.env.LOG_LEVEL||"info"});import{execFileSync as Sr}from"node:child_process";function br(){let t=se(),n=`com.hive.${t.instanceId??t.id??"hive"}.agent`;try{Sr("launchctl",["list",n],{stdio:"pipe"})}catch{return!1}let s=Sr("id",["-u"],{stdio:"pipe",encoding:"utf-8"}).trim();try{return Sr("launchctl",["kickstart","-k",`gui/${s}/${n}`],{stdio:"pipe"}),Jc.info("Hive service restarted",{label:n}),!0}catch(i){return Jc.warn("Failed to restart hive service",{label:n,error:String(i)}),!1}}var Jc,Qc=L(()=>{"use strict";ms();ie();Jc=x("hive-restart")});import{readFileSync as qg}from"node:fs";import{resolve as zc}from"node:path";function Kg(){let t=[zc(import.meta.dirname,"..","..","package.json"),zc(import.meta.dirname,"..","package.json")];for(let e of t)try{let n=JSON.parse(qg(e,"utf-8"));if(n?.name==="@keepur/hive"&&typeof n.hiveApi=="string")return n.hiveApi}catch{continue}return null}var Rg,Xc,ys,vr=L(()=>{"use strict";ie();Rg=x("api-version");Xc=Kg();Xc||Rg.warn("Could not read hiveApi from package.json; falling back to 1.0.0");ys=Xc??"1.0.0"});function Zc(t,e){let n=t.trim();if(n===e)return!0;if(n.startsWith("^")){let s=n.slice(1).split(".").map(Number),i=e.split(".").map(Number);return!(s.length<1||i.length<1||s[0]!==i[0]||(i[1]??0)<(s[1]??0)||(i[1]??0)===(s[1]??0)&&(i[2]??0)<(s[2]??0))}return xg.warn("Unrecognized hiveApi range syntax, accepting",{range:t}),!0}var Bg,xg,eu=L(()=>{"use strict";Bg=le(fe(),1);ie();vr();xg=x("plugin-loader")});var nu={};Q(nu,{runPlugin:()=>Ug});import{execFileSync as ws}from"node:child_process";import{existsSync as lt,mkdirSync as Fg,readFileSync as kr}from"node:fs";import{resolve as tn,join as Ss}from"node:path";function tu(t,e){let n=Ss(t,"..","package.json");if(lt(n))try{let i=JSON.parse(kr(n,"utf-8"));if(typeof i?.version=="string")return i.version}catch{}let s=e;return typeof s?.version=="string"?s.version:"unknown"}async function Ug(t,e){switch(t){case"add":return jg(e);case"remove":return Yg(e);case"list":return Hg();default:console.error("Usage: hive plugin <add|list|remove> [package]"),process.exit(1)}}function jg(t){t||(console.error("Usage: hive plugin add <package-name>"),process.exit(1)),Fg(re,{recursive:!0});let e=tn(re,"package.json");lt(e)||ws("npm",["init","-y"],{cwd:re,stdio:"pipe"}),console.log(`Installing ${t}...`);try{ws("npm",["install",t],{cwd:re,stdio:"pipe"})}catch(f){console.error(`Failed to install ${t}: ${String(f)}`),process.exit(1)}let n=tn(re,"node_modules",t),s=Ss(n,"plugin.yaml");lt(s)||(console.error(`Not a valid hive plugin \u2014 no plugin.yaml found in ${t}.`),Er(t),process.exit(1));let i=(0,Ar.parse)(kr(s,"utf-8")),r=i?.hiveApi??i?.["hive-api"];r&&!Zc(r,ys)&&(console.error(`Plugin requires hiveApi ${r} but this hive is ${ys}.`),Er(t),process.exit(1));let o=tu(s,i),a=Ce(),l=se(a);if(l.plugins||(l.plugins=[]),!l.plugins.includes(t)){l.plugins.push(t);try{at(l,a)}catch(f){console.error(`Failed to update hive.yaml: ${String(f)}`),Er(t),process.exit(1)}console.log("\u2713 Updated hive.yaml")}let c=br();console.log(c?"\u2713 Restarting hive... done":"Start hive to activate the plugin."),console.log(`\u2713 Installed ${t} (v${o}${r?`, hiveApi ${r}`:""})`)}function Yg(t){t||(console.error("Usage: hive plugin remove <package-name>"),process.exit(1)),lt(re)||(console.error("No plugins directory found."),process.exit(1)),console.log(`Removing ${t}...`);try{ws("npm",["uninstall",t],{cwd:re,stdio:"pipe"})}catch(i){console.error(`Failed to uninstall ${t}: ${String(i)}`),process.exit(1)}let e=Ce(),n=se(e);if(Array.isArray(n.plugins)){let i=n.plugins.indexOf(t);i>=0&&(n.plugins.splice(i,1),at(n,e),console.log("\u2713 Updated hive.yaml"))}let s=br();console.log(s?"\u2713 Restarting hive... done":"Restart hive to complete removal."),console.log(`Removed ${t}`)}function Hg(){let t=Ce(),n=se(t).plugins??[];if(n.length===0){console.log("No plugins configured in hive.yaml.");return}console.log(`Installed plugins:
232
+ `);for(let s of n){let i=tn(re,"node_modules",s),r=tn(re,s),o=Ss(i,"plugin.yaml"),a=Ss(r,"plugin.yaml"),l=null,c=!1;if(lt(o)?l=o:lt(a)&&(l=a,c=!0),!l){console.log(` ${s} \u26A0 not found on disk`);continue}try{let f=(0,Ar.parse)(kr(l,"utf-8")),u=tu(l,f),d=f?.hiveApi??f?.["hive-api"]??"",h=c?" [in-tree]":"";console.log(` ${s} v${u}${d?` (hiveApi ${d})`:""}${h}`)}catch{console.log(` ${s} \u26A0 failed to read plugin.yaml`)}}}function Er(t){try{ws("npm",["uninstall",t],{cwd:re,stdio:"pipe"})}catch{}}var Ar,re,su=L(()=>{"use strict";Ar=le(fe(),1);z();ms();Qc();vr();eu();re=tn(P,"plugins")});var au={};Q(au,{checkoutSha:()=>Cr,findTagForSha:()=>ct,listSkillsInClone:()=>Lr,lsRemoteHead:()=>Tr,partialClone:()=>Nr,shallowClone:()=>Or,verifyGitAvailable:()=>nn});import{execFileSync as oe}from"node:child_process";import{existsSync as iu,readdirSync as Gg,statSync as Vg,rmSync as _r,mkdtempSync as ru}from"node:fs";import{join as Fe}from"node:path";import{tmpdir as ou}from"node:os";function nn(){try{oe("git",["--version"],{stdio:"pipe"})}catch{throw new Error("git is required for skill installation but was not found. Install git and retry.")}}function Or(t){let e=ru(Fe(ou(),"hive-skill-install-")),n=Fe(e,"repo"),s=()=>{try{_r(e,{recursive:!0,force:!0})}catch{}};try{oe("git",["clone","--depth","1",t,n],{stdio:"pipe",timeout:6e4});let i=oe("git",["rev-parse","HEAD"],{cwd:n,stdio:"pipe",encoding:"utf-8"}).trim();return Ir.debug("Shallow clone complete",{url:t,headSha:i}),{dir:n,headSha:i,cleanup:s}}catch(i){throw s(),new Error(`registry fetch failed: ${String(i)}`)}}function Nr(t){let e=ru(Fe(ou(),"hive-skill-upgrade-")),n=Fe(e,"repo"),s=()=>{try{_r(e,{recursive:!0,force:!0})}catch{}};try{try{oe("git",["clone","--filter=blob:none","--no-checkout",t,n],{stdio:"pipe",timeout:12e4}),oe("git",["checkout","HEAD"],{cwd:n,stdio:"pipe"})}catch(r){Ir.debug("Blobless clone failed, falling back to full clone",{error:String(r)}),_r(n,{recursive:!0,force:!0}),oe("git",["clone",t,n],{stdio:"pipe",timeout:12e4})}let i=oe("git",["rev-parse","HEAD"],{cwd:n,stdio:"pipe",encoding:"utf-8"}).trim();return Ir.debug("Partial clone complete",{url:t,headSha:i}),{dir:n,headSha:i,cleanup:s}}catch(i){throw s(),new Error(`registry fetch failed: ${String(i)}`)}}function Tr(t){let n=oe("git",["ls-remote",t,"HEAD"],{stdio:"pipe",encoding:"utf-8",timeout:3e4}).trim().split(" ")[0];if(!n)throw new Error(`Could not determine HEAD for ${t}`);return n}function Lr(t){let e=Fe(t,"skills");return iu(e)?Gg(e).filter(n=>{try{let s=Fe(e,n);return Vg(s).isDirectory()&&iu(Fe(s,"SKILL.md"))}catch{return!1}}):[]}function Cr(t,e){oe("git",["checkout",e],{cwd:t,stdio:"pipe"})}function ct(t,e){try{return oe("git",["describe","--tags","--exact-match",e],{cwd:t,stdio:"pipe",encoding:"utf-8"}).trim()||void 0}catch{return}}var Ir,sn=L(()=>{"use strict";ie();Ir=x("registry-fetch")});function lu(t){if(t.includes("#skills/")){let n=t.indexOf("#skills/"),s=t.slice(0,n);return{name:t.slice(n+8),inlineUrl:s}}let e=t.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+)\/(?:tree|blob)\/[^/]+\/skills\/([^/]+)/);if(e)return{name:e[3],inlineUrl:`https://github.com/${e[1]}/${e[2]}`};if(t.includes(":")&&!t.includes("://")){let n=t.indexOf(":"),s=t.slice(0,n);return{name:t.slice(n+1),registryName:s}}return{name:t}}function cu(t,e){if(t.inlineUrl){let i=Wg(t.inlineUrl);return Pr.debug("resolved inline registry",{inlineUrl:t.inlineUrl,name:i}),{name:i,url:t.inlineUrl}}if(t.registryName){let i=e.find(r=>r.name===t.registryName);if(!i)throw new Error(`Unknown registry: "${t.registryName}". Configured registries: ${e.map(r=>r.name).join(", ")}`);return Pr.debug("resolved named registry",{registryName:t.registryName,url:i.url}),{name:i.name,url:i.url}}let n={name:"keepur-default",url:"https://github.com/keepur/hive-skills"},s=e.find(i=>i.default)??e[0]??n;return Pr.debug("resolved default registry",{registryName:s.name,url:s.url}),{name:s.name,url:s.url}}function Wg(t){try{return t.replace(/\.git$/,"").split("/").filter(Boolean).slice(-2).join("-")}catch{return"inline"}}var Pr,uu=L(()=>{"use strict";ie();Pr=x("registry-resolver")});import{join as Jg}from"node:path";import{readFileSync as Qg}from"node:fs";function fu(t,e){let s=Qg(t,"utf-8").match(/^---\n([\s\S]*?)\n---/);if(!s)return e;let i=s[1].match(/^workflow:\s*(.+)$/m);return i?i[1].trim():e}function du(t,e,n){return Jg(t,e,"skills",n)}var pu=L(()=>{"use strict"});import{readFileSync as zg,writeFileSync as Xg}from"node:fs";function Mr(t){let e=t.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);if(!e)throw new Error("No YAML frontmatter found");let n=e[1],s=e[2],i={name:"",description:"",agents:[]},r=n.split(`
233
+ `),o=0;for(;o<r.length;){let a=r[o];if(a.trim()===""){o++;continue}let l=a.match(/^(\w[\w-]*):\s*(.*)/);if(!l){o++;continue}let c=l[1],f=l[2].trim();if(c==="name")i.name=Ue(f);else if(c==="description")i.description=Ue(f);else if(c==="workflow")i.workflow=Ue(f);else if(c==="agents"){let u=f.match(/^\[([^\]]*)\]$/);if(u)i.agents=u[1].split(",").map(d=>Ue(d.trim())).filter(d=>d.length>0);else if(f==="")for(i.agents=[];o+1<r.length&&r[o+1].match(/^\s+-\s+/);){o++;let d=r[o].replace(/^\s+-\s+/,"").trim();i.agents.push(Ue(d))}else i.agents=[Ue(f)]}else if(c==="origin")for(i.origin=hu(r,o);o+1<r.length&&r[o+1].match(/^\s+\S/);)o++;else if(c==="author")for(i.author=hu(r,o);o+1<r.length&&r[o+1].match(/^\s+\S/);)o++;o++}return{frontmatter:i,body:s}}function hu(t,e){let n={},s=e+1;for(;s<t.length&&t[s].match(/^\s+\S/);){let i=t[s].match(/^\s+([\w][\w-]*):\s*(.*)/);if(i){let r=i[2].trim();r==="true"?n[i[1]]=!0:r==="false"?n[i[1]]=!1:n[i[1]]=Ue(r)}s++}return n}function Ue(t){return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"):t}function $r(t,e){let n=[];n.push(`name: ${bs(t.name)}`),n.push(`description: ${bs(t.description)}`);let s=t.agents.join(", ");return n.push(`agents: [${s}]`),t.workflow&&n.push(`workflow: ${bs(t.workflow)}`),t.origin&&(n.push("origin:"),mu(n,t.origin)),t.author&&(n.push("author:"),mu(n,t.author)),`---
234
234
  ${n.join(`
235
235
  `)}
236
236
  ---
237
- ${e}`}function du(t,e){for(let[n,s]of Object.entries(e))s!==void 0&&t.push(` ${n}: ${ws(String(s))}`)}function ws(t){return t.includes(":")||t.includes("#")||t.includes('"')?`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:t}function ae(t){let e=Hg(t,"utf-8");return Pr(e)}function $r(t,e,n){Gg(t,Mr(e,n),"utf-8")}function pu(t){let e=t.match(/^(---\n)([\s\S]*?)(\n---\n?)([\s\S]*)$/);if(!e)return t;let n=e[1],s=e[2],i=e[3],r=e[4],o=s.split(`
237
+ ${e}`}function mu(t,e){for(let[n,s]of Object.entries(e))s!==void 0&&t.push(` ${n}: ${bs(String(s))}`)}function bs(t){return t.includes(":")||t.includes("#")||t.includes('"')?`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:t}function ae(t){let e=zg(t,"utf-8");return Mr(e)}function Dr(t,e,n){Xg(t,$r(e,n),"utf-8")}function gu(t){let e=t.match(/^(---\n)([\s\S]*?)(\n---\n?)([\s\S]*)$/);if(!e)return t;let n=e[1],s=e[2],i=e[3],r=e[4],o=s.split(`
238
238
  `),a=[],l=!1;for(let c of o){if(l){if(c.match(/^\s+\S/))continue;l=!1}if(c.match(/^origin:\s*$/)){l=!0;continue}c.match(/^origin:\s+\S/)||a.push(c)}return n+a.join(`
239
- `)+i+r}var ct=L(()=>{"use strict"});import{createHash as Vg}from"node:crypto";import{readdirSync as Wg,readFileSync as Jg,statSync as Qg}from"node:fs";import{join as hu}from"node:path";function nn(t){let e=mu(t).sort(),n=Vg("sha256");for(let s=0;s<e.length;s++){s>0&&n.update("\0");let i=hu(t,e[s]),r=Jg(i,"utf-8");e[s]==="SKILL.md"?n.update(pu(r)):n.update(r)}return n.digest("hex")}function mu(t,e=""){let n=Wg(t),s=[];for(let i of n){let r=hu(t,i),o=e?`${e}/${i}`:i;Qg(r).isDirectory()?s.push(...mu(r,o)):s.push(o)}return s}var Dr=L(()=>{"use strict";ct()});import{execFileSync as Ss}from"node:child_process";import{existsSync as bs,mkdirSync as vb,unlinkSync as gu}from"node:fs";import{resolve as yu,join as wu}from"node:path";function ut(t,e,n,s){let i=yu(t,".hive","git");if(!bs(i)){sn.warn("Instance git not initialized \u2014 skipping state commit");return}let r=wu(i,"state-index.tmp"),o={...process.env,GIT_DIR:i,GIT_WORK_TREE:t,GIT_INDEX_FILE:r},a=(...l)=>Ss("git",[...l],{cwd:t,env:o,stdio:"pipe",encoding:"utf-8"}).trim();try{a("read-tree","state");for(let h of e)a("add","--force","--",h);try{a("rm","--cached","--ignore-unmatch","-r","--","**/.DS_Store")}catch{}let l=a("write-tree"),c=a("rev-parse","state"),f=a("rev-parse","state^{tree}");if(l===f)return;let u=s?{GIT_AUTHOR_NAME:s,GIT_AUTHOR_EMAIL:`${s}@hive`,GIT_COMMITTER_NAME:s,GIT_COMMITTER_EMAIL:`${s}@hive`}:{GIT_AUTHOR_NAME:"hive",GIT_AUTHOR_EMAIL:"hive@localhost",GIT_COMMITTER_NAME:"hive",GIT_COMMITTER_EMAIL:"hive@localhost"},d=Ss("git",["commit-tree",l,"-p",c,"-m",n],{env:{...o,...u},encoding:"utf-8"}).trim();a("update-ref","refs/heads/state",d),sn.debug("State branch commit",{message:n,files:e.length})}catch(l){sn.warn("Failed to commit to state branch",{error:String(l),message:n})}finally{try{bs(r)&&gu(r)}catch{}}}function Su(t,e,n){let s=yu(t,".hive","git");if(!bs(s))return;let i=wu(s,"state-index.tmp"),r={...process.env,GIT_DIR:s,GIT_WORK_TREE:t,GIT_INDEX_FILE:i},o=(...a)=>Ss("git",[...a],{cwd:t,env:r,stdio:"pipe",encoding:"utf-8"}).trim();try{o("read-tree","state");for(let u of e)try{o("rm","-r","--cached","--",u)}catch{}let a=o("write-tree"),l=o("rev-parse","state"),c=o("rev-parse","state^{tree}");if(a===c)return;let f=Ss("git",["commit-tree",a,"-p",l,"-m",n],{env:{...r,GIT_AUTHOR_NAME:"hive",GIT_AUTHOR_EMAIL:"hive@localhost",GIT_COMMITTER_NAME:"hive",GIT_COMMITTER_EMAIL:"hive@localhost"},encoding:"utf-8"}).trim();o("update-ref","refs/heads/state",f),sn.debug("State branch removal commit",{message:n})}catch(a){sn.warn("Failed to commit removal to state branch",{error:String(a)})}finally{try{bs(i)&&gu(i)}catch{}}}var sn,vs=L(()=>{"use strict";ie();sn=x("instance-git")});import{cpSync as zg,existsSync as bu,mkdirSync as Xg,readFileSync as vu,writeFileSync as Zg}from"node:fs";import{join as ks,relative as ey}from"node:path";function Eu(t,e,n,s){let i=Or(t);try{let r=ks(i.dir,"skills",e);if(!bu(r)){let m=Nr(i.dir);throw new Error(`Skill "${e}" not found in registry ${t}. Available skills: ${m.join(", ")||"(none)"}`)}let o=ks(r,"SKILL.md"),a=lu(o,e),c=vu(o,"utf-8").match(/^---\n([\s\S]*?)\n---/);if(c){let m=c[1].match(/^name:\s*(.+)$/m);m&&m[1].trim()!==e&&ku.warn("Registry skill name mismatch \u2014 using directory name",{dirName:e,frontmatterName:m[1].trim()})}let f=cu(n,a,e);if(bu(f))throw new Error(`Skill "${e}" is already installed at ${f}. Use "hive skill upgrade ${e}" to update, or "hive skill remove ${e}" first.`);Xg(f,{recursive:!0}),zg(r,f,{recursive:!0});let u=nn(f),d=lt(i.dir,i.headSha),{frontmatter:h,body:y}=Pr(vu(ks(f,"SKILL.md"),"utf-8"));h.origin={type:"registry",source:t,"base-version":i.headSha,...d?{"base-tag":d}:{},"base-content-hash":u,"installed-at":new Date().toISOString(),modified:!1},Zg(ks(f,"SKILL.md"),Mr(h,y));let p=ey(s,f);return ut(s,[p],`install: ${a}/${e} from ${t}@${i.headSha.slice(0,8)}`),ku.info("Skill installed",{name:e,workflow:a,version:i.headSha.slice(0,8)}),{name:e,workflow:a,targetPath:f,version:i.headSha}}finally{i.cleanup()}}var ku,Au=L(()=>{"use strict";tn();uu();ct();Dr();vs();ie();ku=x("skill-install")});import{existsSync as As,readFileSync as qr,cpSync as Es,mkdirSync as _u,readdirSync as ty,statSync as ny}from"node:fs";import{join as G,relative as Rr}from"node:path";function Kr(t,e){if(!As(e))return null;for(let n of ty(e)){let s=G(e,n);try{if(!ny(s).isDirectory())continue}catch{continue}let i=G(s,"skills",t);if(As(G(i,"SKILL.md")))return{path:i,workflow:n}}return null}async function Br(t,e,n,s){let i=Kr(t,e);if(!i)throw new Error(`Skill "${t}" is not installed or is not registry-sourced.`);let{frontmatter:r}=ae(G(i.path,"SKILL.md")),o=r.origin;if(!o||o.type!=="registry"||!o.source||!o["base-version"])throw new Error(`Skill "${t}" has no registry origin metadata.`);let a=Tr(o.source),l=o["base-version"];if(a===l)return{name:t,action:"up-to-date",oldVersion:l};let c=Ir(o.source);try{let f=G(c.dir,"skills",t);if(!As(G(f,"SKILL.md")))return Ou.warn("Skill removed from registry \u2014 keeping installed copy",{name:t,source:o.source}),ut(n,[Rr(n,i.path)],`upgrade-check: ${i.workflow}/${t} removed from upstream registry`),{name:t,action:"removed-upstream",oldVersion:l};if(!o.modified){Es(f,i.path,{recursive:!0});let E=nn(i.path),O=lt(c.dir,a),{frontmatter:T,body:k}=ae(G(i.path,"SKILL.md"));T.origin={...T.origin,"base-version":a,"base-content-hash":E,"installed-at":new Date().toISOString(),modified:!1,...O?{"base-tag":O}:{}},$r(G(i.path,"SKILL.md"),T,k);let M=Rr(n,i.path);return ut(n,[M],`upgrade: ${t} ${l.slice(0,8)} \u2192 ${a.slice(0,8)}`),{name:t,action:"applied",oldVersion:l,newVersion:a}}let u=qr(G(i.path,"SKILL.md"),"utf-8"),d=qr(G(f,"SKILL.md"),"utf-8"),h=G(c.dir,".hive-theirs-copy",t);_u(h,{recursive:!0}),Es(f,h,{recursive:!0});let y;try{Lr(c.dir,l);let E=G(c.dir,"skills",t,"SKILL.md");As(E)&&(y=qr(E,"utf-8"))}catch{}if(await s(u,d,y)==="keep")return{name:t,action:"kept",oldVersion:l};if(!y){let E=G(n,".hive","skill-backups",`${t}-${Date.now()}`);_u(E,{recursive:!0}),Es(i.path,E,{recursive:!0}),Ou.info("Backed up modified skill before upgrade",{backup:E})}Es(h,i.path,{recursive:!0});let m=nn(i.path),S=lt(c.dir,a),{frontmatter:v,body:A}=ae(G(i.path,"SKILL.md"));v.origin={...v.origin,"base-version":a,"base-content-hash":m,"installed-at":new Date().toISOString(),modified:!1,...S?{"base-tag":S}:{}},$r(G(i.path,"SKILL.md"),v,A);let _=Rr(n,i.path);return ut(n,[_],`upgrade: ${t} ${l.slice(0,8)} \u2192 ${a.slice(0,8)} (took upstream)`),{name:t,action:"taken",oldVersion:l,newVersion:a}}finally{c.cleanup()}}var Ou,xr=L(()=>{"use strict";tn();ct();Dr();vs();ie();Ou=x("skill-upgrade")});import{existsSync as Iu,rmSync as Tu,readdirSync as sy}from"node:fs";import{join as Fr,relative as iy}from"node:path";async function Lu(t,e,n,s={}){let i=Kr(t,e);if(!i)throw new Error(`Skill "${t}" is not installed.`);let r=Fr(i.path,"SKILL.md");if(Iu(r))try{let{frontmatter:l}=ae(r);if((l.origin?.modified===!0||l.origin?.type==="agent-authored")&&!s.force){let f=`Warning: ${i.workflow}/${t} has local modifications that will be removed. Your changes are preserved in git history on the 'state' branch. Proceed?`;if(s.confirmFn){if(!await s.confirmFn(f))return Nu.info("Skill removal aborted by user",{name:t}),!1}else return console.log(f),console.log("Use --force to skip this prompt."),!1}}catch{}let o=iy(n,i.path);Tu(i.path,{recursive:!0,force:!0});let a=Fr(e,i.workflow,"skills");return Iu(a)&&sy(a).length===0&&Tu(Fr(e,i.workflow),{recursive:!0,force:!0}),Su(n,[o],`remove: ${i.workflow}/${t}`),Nu.info("Skill removed",{name:t,workflow:i.workflow}),!0}var Nu,Cu=L(()=>{"use strict";ct();vs();xr();ie();Nu=x("skill-remove")});var Mu={};Q(Mu,{runSkill:()=>ay});import{existsSync as he,readdirSync as ft,readFileSync as ry,statSync as oy}from"node:fs";import{join as Le}from"node:path";import{createInterface as Pu}from"node:readline";async function ay(t,...e){switch(t){case"add":{en();let n=e[0];n||(console.error("Usage: hive skill add <name|registry:name|url#skills/name>"),process.exit(1));let{config:s}=await Promise.resolve().then(()=>(fs(),us)),i=ru(n),r=ou(i,s.skillRegistries),o=Eu(r.url,i.name,j,P);console.log(`Installed ${o.workflow}/${o.name} (${o.version.slice(0,8)})`);break}case"list":{e.includes("--available")?(en(),await cy(e)):ly();break}case"upgrade":{en();let n=e[0];n||(console.error("Usage: hive skill upgrade <name|--all>"),process.exit(1));let s=async(i,r,o)=>{console.log(`
239
+ `)+i+r}var ut=L(()=>{"use strict"});import{createHash as Zg}from"node:crypto";import{readdirSync as ey,readFileSync as ty,statSync as ny}from"node:fs";import{join as yu}from"node:path";function rn(t){let e=wu(t).sort(),n=Zg("sha256");for(let s=0;s<e.length;s++){s>0&&n.update("\0");let i=yu(t,e[s]),r=ty(i,"utf-8");e[s]==="SKILL.md"?n.update(gu(r)):n.update(r)}return n.digest("hex")}function wu(t,e=""){let n=ey(t),s=[];for(let i of n){let r=yu(t,i),o=e?`${e}/${i}`:i;ny(r).isDirectory()?s.push(...wu(r,o)):s.push(o)}return s}var qr=L(()=>{"use strict";ut()});import{execFileSync as vs}from"node:child_process";import{existsSync as Es,mkdirSync as Lb,unlinkSync as Su}from"node:fs";import{resolve as bu,join as vu}from"node:path";function ft(t,e,n,s){let i=bu(t,".hive","git");if(!Es(i)){on.warn("Instance git not initialized \u2014 skipping state commit");return}let r=vu(i,"state-index.tmp"),o={...process.env,GIT_DIR:i,GIT_WORK_TREE:t,GIT_INDEX_FILE:r},a=(...l)=>vs("git",[...l],{cwd:t,env:o,stdio:"pipe",encoding:"utf-8"}).trim();try{a("read-tree","state");for(let h of e)a("add","--force","--",h);try{a("rm","--cached","--ignore-unmatch","-r","--","**/.DS_Store")}catch{}let l=a("write-tree"),c=a("rev-parse","state"),f=a("rev-parse","state^{tree}");if(l===f)return;let u=s?{GIT_AUTHOR_NAME:s,GIT_AUTHOR_EMAIL:`${s}@hive`,GIT_COMMITTER_NAME:s,GIT_COMMITTER_EMAIL:`${s}@hive`}:{GIT_AUTHOR_NAME:"hive",GIT_AUTHOR_EMAIL:"hive@localhost",GIT_COMMITTER_NAME:"hive",GIT_COMMITTER_EMAIL:"hive@localhost"},d=vs("git",["commit-tree",l,"-p",c,"-m",n],{env:{...o,...u},encoding:"utf-8"}).trim();a("update-ref","refs/heads/state",d),on.debug("State branch commit",{message:n,files:e.length})}catch(l){on.warn("Failed to commit to state branch",{error:String(l),message:n})}finally{try{Es(r)&&Su(r)}catch{}}}function Eu(t,e,n){let s=bu(t,".hive","git");if(!Es(s))return;let i=vu(s,"state-index.tmp"),r={...process.env,GIT_DIR:s,GIT_WORK_TREE:t,GIT_INDEX_FILE:i},o=(...a)=>vs("git",[...a],{cwd:t,env:r,stdio:"pipe",encoding:"utf-8"}).trim();try{o("read-tree","state");for(let u of e)try{o("rm","-r","--cached","--",u)}catch{}let a=o("write-tree"),l=o("rev-parse","state"),c=o("rev-parse","state^{tree}");if(a===c)return;let f=vs("git",["commit-tree",a,"-p",l,"-m",n],{env:{...r,GIT_AUTHOR_NAME:"hive",GIT_AUTHOR_EMAIL:"hive@localhost",GIT_COMMITTER_NAME:"hive",GIT_COMMITTER_EMAIL:"hive@localhost"},encoding:"utf-8"}).trim();o("update-ref","refs/heads/state",f),on.debug("State branch removal commit",{message:n})}catch(a){on.warn("Failed to commit removal to state branch",{error:String(a)})}finally{try{Es(i)&&Su(i)}catch{}}}var on,ks=L(()=>{"use strict";ie();on=x("instance-git")});import{cpSync as sy,existsSync as ku,mkdirSync as iy,readFileSync as Au,writeFileSync as ry}from"node:fs";import{join as As,relative as oy}from"node:path";function Iu(t,e,n,s){let i=Or(t);try{let r=As(i.dir,"skills",e);if(!ku(r)){let m=Lr(i.dir);throw new Error(`Skill "${e}" not found in registry ${t}. Available skills: ${m.join(", ")||"(none)"}`)}let o=As(r,"SKILL.md"),a=fu(o,e),c=Au(o,"utf-8").match(/^---\n([\s\S]*?)\n---/);if(c){let m=c[1].match(/^name:\s*(.+)$/m);m&&m[1].trim()!==e&&_u.warn("Registry skill name mismatch \u2014 using directory name",{dirName:e,frontmatterName:m[1].trim()})}let f=du(n,a,e);if(ku(f))throw new Error(`Skill "${e}" is already installed at ${f}. Use "hive skill upgrade ${e}" to update, or "hive skill remove ${e}" first.`);iy(f,{recursive:!0}),sy(r,f,{recursive:!0});let u=rn(f),d=ct(i.dir,i.headSha),{frontmatter:h,body:y}=Mr(Au(As(f,"SKILL.md"),"utf-8"));h.origin={type:"registry",source:t,"base-version":i.headSha,...d?{"base-tag":d}:{},"base-content-hash":u,"installed-at":new Date().toISOString(),modified:!1},ry(As(f,"SKILL.md"),$r(h,y));let p=oy(s,f);return ft(s,[p],`install: ${a}/${e} from ${t}@${i.headSha.slice(0,8)}`),_u.info("Skill installed",{name:e,workflow:a,version:i.headSha.slice(0,8)}),{name:e,workflow:a,targetPath:f,version:i.headSha}}finally{i.cleanup()}}var _u,Ou=L(()=>{"use strict";sn();pu();ut();qr();ks();ie();_u=x("skill-install")});import{existsSync as Is,readFileSync as Rr,cpSync as _s,mkdirSync as Nu,readdirSync as ay,statSync as ly}from"node:fs";import{join as G,relative as Kr}from"node:path";function Br(t,e){if(!Is(e))return null;for(let n of ay(e)){let s=G(e,n);try{if(!ly(s).isDirectory())continue}catch{continue}let i=G(s,"skills",t);if(Is(G(i,"SKILL.md")))return{path:i,workflow:n}}return null}async function xr(t,e,n,s){let i=Br(t,e);if(!i)throw new Error(`Skill "${t}" is not installed or is not registry-sourced.`);let{frontmatter:r}=ae(G(i.path,"SKILL.md")),o=r.origin;if(!o||o.type!=="registry"||!o.source||!o["base-version"])throw new Error(`Skill "${t}" has no registry origin metadata.`);let a=Tr(o.source),l=o["base-version"];if(a===l)return{name:t,action:"up-to-date",oldVersion:l};let c=Nr(o.source);try{let f=G(c.dir,"skills",t);if(!Is(G(f,"SKILL.md")))return Tu.warn("Skill removed from registry \u2014 keeping installed copy",{name:t,source:o.source}),ft(n,[Kr(n,i.path)],`upgrade-check: ${i.workflow}/${t} removed from upstream registry`),{name:t,action:"removed-upstream",oldVersion:l};if(!o.modified){_s(f,i.path,{recursive:!0});let k=rn(i.path),I=ct(c.dir,a),{frontmatter:N,body:E}=ae(G(i.path,"SKILL.md"));N.origin={...N.origin,"base-version":a,"base-content-hash":k,"installed-at":new Date().toISOString(),modified:!1,...I?{"base-tag":I}:{}},Dr(G(i.path,"SKILL.md"),N,E);let M=Kr(n,i.path);return ft(n,[M],`upgrade: ${t} ${l.slice(0,8)} \u2192 ${a.slice(0,8)}`),{name:t,action:"applied",oldVersion:l,newVersion:a}}let u=Rr(G(i.path,"SKILL.md"),"utf-8"),d=Rr(G(f,"SKILL.md"),"utf-8"),h=G(c.dir,".hive-theirs-copy",t);Nu(h,{recursive:!0}),_s(f,h,{recursive:!0});let y;try{Cr(c.dir,l);let k=G(c.dir,"skills",t,"SKILL.md");Is(k)&&(y=Rr(k,"utf-8"))}catch{}if(await s(u,d,y)==="keep")return{name:t,action:"kept",oldVersion:l};if(!y){let k=G(n,".hive","skill-backups",`${t}-${Date.now()}`);Nu(k,{recursive:!0}),_s(i.path,k,{recursive:!0}),Tu.info("Backed up modified skill before upgrade",{backup:k})}_s(h,i.path,{recursive:!0});let m=rn(i.path),S=ct(c.dir,a),{frontmatter:v,body:A}=ae(G(i.path,"SKILL.md"));v.origin={...v.origin,"base-version":a,"base-content-hash":m,"installed-at":new Date().toISOString(),modified:!1,...S?{"base-tag":S}:{}},Dr(G(i.path,"SKILL.md"),v,A);let _=Kr(n,i.path);return ft(n,[_],`upgrade: ${t} ${l.slice(0,8)} \u2192 ${a.slice(0,8)} (took upstream)`),{name:t,action:"taken",oldVersion:l,newVersion:a}}finally{c.cleanup()}}var Tu,Fr=L(()=>{"use strict";sn();ut();qr();ks();ie();Tu=x("skill-upgrade")});import{existsSync as Lu,rmSync as Cu,readdirSync as cy}from"node:fs";import{join as Ur,relative as uy}from"node:path";async function Mu(t,e,n,s={}){let i=Br(t,e);if(!i)throw new Error(`Skill "${t}" is not installed.`);let r=Ur(i.path,"SKILL.md");if(Lu(r))try{let{frontmatter:l}=ae(r);if((l.origin?.modified===!0||l.origin?.type==="agent-authored")&&!s.force){let f=`Warning: ${i.workflow}/${t} has local modifications that will be removed. Your changes are preserved in git history on the 'state' branch. Proceed?`;if(s.confirmFn){if(!await s.confirmFn(f))return Pu.info("Skill removal aborted by user",{name:t}),!1}else return console.log(f),console.log("Use --force to skip this prompt."),!1}}catch{}let o=uy(n,i.path);Cu(i.path,{recursive:!0,force:!0});let a=Ur(e,i.workflow,"skills");return Lu(a)&&cy(a).length===0&&Cu(Ur(e,i.workflow),{recursive:!0,force:!0}),Eu(n,[o],`remove: ${i.workflow}/${t}`),Pu.info("Skill removed",{name:t,workflow:i.workflow}),!0}var Pu,$u=L(()=>{"use strict";ut();ks();Fr();ie();Pu=x("skill-remove")});var qu={};Q(qu,{runSkill:()=>py});import{existsSync as he,readdirSync as dt,readFileSync as fy,statSync as dy}from"node:fs";import{join as Pe}from"node:path";import{createInterface as Du}from"node:readline";async function py(t,...e){switch(t){case"add":{nn();let n=e[0];n||(console.error("Usage: hive skill add <name|registry:name|url#skills/name>"),process.exit(1));let{config:s}=await Promise.resolve().then(()=>(ps(),ds)),i=lu(n),r=cu(i,s.skillRegistries),o=Iu(r.url,i.name,j,P);console.log(`Installed ${o.workflow}/${o.name} (${o.version.slice(0,8)})`);break}case"list":{e.includes("--available")?(nn(),await my(e)):hy();break}case"upgrade":{nn();let n=e[0];n||(console.error("Usage: hive skill upgrade <name|--all>"),process.exit(1));let s=async(i,r,o)=>{console.log(`
240
240
  --- Your version (installed) ---`),console.log(i.slice(0,500)+(i.length>500?`
241
241
  ...`:"")),console.log(`
242
242
  --- Upstream version (registry) ---`),console.log(r.slice(0,500)+(r.length>500?`
243
243
  ...`:"")),console.log(o?`
244
244
  (Three-way diff available)`:`
245
- (Two-way comparison \u2014 base version unreachable)`);let a=Pu({input:process.stdin,output:process.stdout}),l=await new Promise(c=>{a.question(`
246
- [k]eep your version or [t]ake upstream? `,c)});return a.close(),l.toLowerCase().startsWith("t")?"take":"keep"};if(n==="--all")await fy(s);else{let i=await Br(n,j,P,s);console.log(`${i.name}: ${i.action}`)}break}case"remove":{let n=e[0];n||(console.error("Usage: hive skill remove <name> [--force]"),process.exit(1));let s=e.includes("--force");await Lu(n,j,P,{force:s,confirmFn:async o=>{let a=Pu({input:process.stdin,output:process.stdout}),l=await new Promise(c=>{a.question(`${o} [y/N] `,c)});return a.close(),l.toLowerCase()==="y"}})&&console.log(`Removed ${n}`);break}case"search":{let n=e[0];n||(console.error("Usage: hive skill search <query>"),process.exit(1)),uy(n);break}default:console.error("Usage: hive skill <add|list|upgrade|remove|search> [args]"),process.exit(1)}}function ly(){if(!he(j)){console.log("No skills installed.");return}let t=ft(j).filter(e=>{try{return oy(Le(j,e)).isDirectory()}catch{return!1}});if(t.length===0){console.log("No skills installed.");return}console.log(`Installed skills:
247
- `);for(let e of t.sort()){let n=Le(j,e,"skills");if(he(n))for(let s of ft(n).sort()){let i=Le(n,s,"SKILL.md");if(he(i))try{let{frontmatter:r}=ae(i),o=r.origin?.type??"unknown",a=r.origin?.modified!==void 0?String(r.origin.modified):"-";console.log(` ${s.padEnd(25)} ${e.padEnd(20)} ${o.padEnd(15)} ${a}`)}catch{console.log(` ${s.padEnd(25)} ${e.padEnd(20)} ${"?".padEnd(15)} ?`)}}}}async function cy(t){let{shallowClone:e,listSkillsInClone:n}=await Promise.resolve().then(()=>(tn(),iu)),{config:s}=await Promise.resolve().then(()=>(fs(),us)),i=t.indexOf("--from"),r=i>=0?t[i+1]:void 0,o=r?[{name:r,url:s.skillRegistries.find(a=>a.name===r)?.url??r}]:s.skillRegistries;for(let a of o){console.log(`
245
+ (Two-way comparison \u2014 base version unreachable)`);let a=Du({input:process.stdin,output:process.stdout}),l=await new Promise(c=>{a.question(`
246
+ [k]eep your version or [t]ake upstream? `,c)});return a.close(),l.toLowerCase().startsWith("t")?"take":"keep"};if(n==="--all")await yy(s);else{let i=await xr(n,j,P,s);console.log(`${i.name}: ${i.action}`)}break}case"remove":{let n=e[0];n||(console.error("Usage: hive skill remove <name> [--force]"),process.exit(1));let s=e.includes("--force");await Mu(n,j,P,{force:s,confirmFn:async o=>{let a=Du({input:process.stdin,output:process.stdout}),l=await new Promise(c=>{a.question(`${o} [y/N] `,c)});return a.close(),l.toLowerCase()==="y"}})&&console.log(`Removed ${n}`);break}case"search":{let n=e[0];n||(console.error("Usage: hive skill search <query>"),process.exit(1)),gy(n);break}default:console.error("Usage: hive skill <add|list|upgrade|remove|search> [args]"),process.exit(1)}}function hy(){if(!he(j)){console.log("No skills installed.");return}let t=dt(j).filter(e=>{try{return dy(Pe(j,e)).isDirectory()}catch{return!1}});if(t.length===0){console.log("No skills installed.");return}console.log(`Installed skills:
247
+ `);for(let e of t.sort()){let n=Pe(j,e,"skills");if(he(n))for(let s of dt(n).sort()){let i=Pe(n,s,"SKILL.md");if(he(i))try{let{frontmatter:r}=ae(i),o=r.origin?.type??"unknown",a=r.origin?.modified!==void 0?String(r.origin.modified):"-";console.log(` ${s.padEnd(25)} ${e.padEnd(20)} ${o.padEnd(15)} ${a}`)}catch{console.log(` ${s.padEnd(25)} ${e.padEnd(20)} ${"?".padEnd(15)} ?`)}}}}async function my(t){let{shallowClone:e,listSkillsInClone:n}=await Promise.resolve().then(()=>(sn(),au)),{config:s}=await Promise.resolve().then(()=>(ps(),ds)),i=t.indexOf("--from"),r=i>=0?t[i+1]:void 0,o=r?[{name:r,url:s.skillRegistries.find(a=>a.name===r)?.url??r}]:s.skillRegistries;for(let a of o){console.log(`
248
248
  Registry: ${a.name} (${a.url})
249
- `);let l=e(a.url);try{let c=n(l.dir);if(c.length===0){console.log(" (no skills)");continue}for(let f of c.sort()){let u=Le(l.dir,"skills",f,"SKILL.md"),y=ry(u,"utf-8").match(/^description:\s*(.+)$/m)?.[1]?.trim()??"";console.log(` ${f.padEnd(30)} ${y}`)}}finally{l.cleanup()}}}function uy(t){let e=t.toLowerCase(),n=!1;if(he(j))for(let s of ft(j)){let i=Le(j,s,"skills");if(he(i))for(let r of ft(i)){let o=Le(i,r,"SKILL.md");if(he(o))try{let{frontmatter:a}=ae(o);(r.toLowerCase().includes(e)||(a.description??"").toLowerCase().includes(e))&&(console.log(` ${r} (${s}) \u2014 ${a.description??""}`),n=!0)}catch{}}}n||console.log("No matching skills found.")}async function fy(t){if(!he(j)){console.log("No skills installed.");return}let e=[];for(let n of ft(j)){let s=Le(j,n,"skills");if(he(s))for(let i of ft(s).sort()){let r=Le(s,i,"SKILL.md");if(he(r))try{let{frontmatter:o}=ae(r);o.origin?.type==="registry"&&e.push(i)}catch{}}}if(e.length===0){console.log("No registry-sourced skills to upgrade.");return}for(let n of e)try{let s=await Br(n,j,P,t);console.log(`${s.name}: ${s.action}`)}catch(s){console.error(`${n}: failed \u2014 ${String(s)}`)}}var $u=L(()=>{"use strict";tn();au();Au();xr();Cu();ct();ne()});var Du={};Q(Du,{runRegistry:()=>dy});async function dy(t,...e){let n=Ne();switch(t){case"add":{let s=e[0];s||(console.error("Usage: hive registry add <url> [--as <name>] [--default]"),process.exit(1));let i=e.indexOf("--as"),r=i>=0&&e[i+1]?e[i+1]:py(s),o=e.includes("--default"),a=se(n);if(a.skillRegistries||(a.skillRegistries=[]),a.skillRegistries.some(l=>l.name===r)&&(console.error(`Registry "${r}" already exists.`),process.exit(1)),o)for(let l of a.skillRegistries)delete l.default;a.skillRegistries.push({name:r,url:s,...o?{default:!0}:{}}),ot(a,n),console.log(`Added registry "${r}" (${s})${o?" [default]":""}`);break}case"list":{let i=se(n).skillRegistries??[];if(i.length===0){console.log("No registries configured. Using built-in default: https://github.com/keepur/hive-skills");return}console.log(`Configured registries:
250
- `);for(let r of i){let o=r.default?" (default)":"";console.log(` ${r.name}${o}`),console.log(` ${r.url}`)}break}case"remove":{let s=e[0];s||(console.error("Usage: hive registry remove <name>"),process.exit(1));let i=se(n);i.skillRegistries||(console.error("No registries configured."),process.exit(1));let r=i.skillRegistries.findIndex(o=>o.name===s);r<0&&(console.error(`Registry "${s}" not found.`),process.exit(1)),i.skillRegistries.splice(r,1),ot(i,n),console.log(`Removed registry "${s}". Installed skills from this registry are unaffected.`);break}default:console.error("Usage: hive registry <add|list|remove>"),process.exit(1)}}function py(t){return t.replace(/\.git$/,"").replace(/\/$/,"").split("/").filter(Boolean).slice(-2).join("-").replace(/^github\.com-/,"")}var qu=L(()=>{"use strict";ps()});import{parseArgs as hy}from"node:util";import{resolve as Ue}from"node:path";import{existsSync as Ru,readFileSync as my,statSync as gy}from"node:fs";var{positionals:Fe,values:dt}=hy({allowPositionals:!0,options:{help:{type:"boolean",short:"h",default:!1},daemon:{type:"boolean",default:!1},config:{type:"string"},version:{type:"boolean",short:"v",default:!1},verbose:{type:"boolean",default:!1}}}),Ur=Fe[0];if(dt.version){let t=JSON.parse(my(Ue(import.meta.dirname,"..","package.json"),"utf-8"));console.log(`hive v${t.version}`),process.exit(0)}(dt.help||!Ur)&&(console.log(`
249
+ `);let l=e(a.url);try{let c=n(l.dir);if(c.length===0){console.log(" (no skills)");continue}for(let f of c.sort()){let u=Pe(l.dir,"skills",f,"SKILL.md"),y=fy(u,"utf-8").match(/^description:\s*(.+)$/m)?.[1]?.trim()??"";console.log(` ${f.padEnd(30)} ${y}`)}}finally{l.cleanup()}}}function gy(t){let e=t.toLowerCase(),n=!1;if(he(j))for(let s of dt(j)){let i=Pe(j,s,"skills");if(he(i))for(let r of dt(i)){let o=Pe(i,r,"SKILL.md");if(he(o))try{let{frontmatter:a}=ae(o);(r.toLowerCase().includes(e)||(a.description??"").toLowerCase().includes(e))&&(console.log(` ${r} (${s}) \u2014 ${a.description??""}`),n=!0)}catch{}}}n||console.log("No matching skills found.")}async function yy(t){if(!he(j)){console.log("No skills installed.");return}let e=[];for(let n of dt(j)){let s=Pe(j,n,"skills");if(he(s))for(let i of dt(s).sort()){let r=Pe(s,i,"SKILL.md");if(he(r))try{let{frontmatter:o}=ae(r);o.origin?.type==="registry"&&e.push(i)}catch{}}}if(e.length===0){console.log("No registry-sourced skills to upgrade.");return}for(let n of e)try{let s=await xr(n,j,P,t);console.log(`${s.name}: ${s.action}`)}catch(s){console.error(`${n}: failed \u2014 ${String(s)}`)}}var Ru=L(()=>{"use strict";sn();uu();Ou();Fr();$u();ut();z()});var Ku={};Q(Ku,{runRegistry:()=>wy});async function wy(t,...e){let n=Ce();switch(t){case"add":{let s=e[0];s||(console.error("Usage: hive registry add <url> [--as <name>] [--default]"),process.exit(1));let i=e.indexOf("--as"),r=i>=0&&e[i+1]?e[i+1]:Sy(s),o=e.includes("--default"),a=se(n);if(a.skillRegistries||(a.skillRegistries=[]),a.skillRegistries.some(l=>l.name===r)&&(console.error(`Registry "${r}" already exists.`),process.exit(1)),o)for(let l of a.skillRegistries)delete l.default;a.skillRegistries.push({name:r,url:s,...o?{default:!0}:{}}),at(a,n),console.log(`Added registry "${r}" (${s})${o?" [default]":""}`);break}case"list":{let i=se(n).skillRegistries??[];if(i.length===0){console.log("No registries configured. Using built-in default: https://github.com/keepur/hive-skills");return}console.log(`Configured registries:
250
+ `);for(let r of i){let o=r.default?" (default)":"";console.log(` ${r.name}${o}`),console.log(` ${r.url}`)}break}case"remove":{let s=e[0];s||(console.error("Usage: hive registry remove <name>"),process.exit(1));let i=se(n);i.skillRegistries||(console.error("No registries configured."),process.exit(1));let r=i.skillRegistries.findIndex(o=>o.name===s);r<0&&(console.error(`Registry "${s}" not found.`),process.exit(1)),i.skillRegistries.splice(r,1),at(i,n),console.log(`Removed registry "${s}". Installed skills from this registry are unaffected.`);break}default:console.error("Usage: hive registry <add|list|remove>"),process.exit(1)}}function Sy(t){return t.replace(/\.git$/,"").replace(/\/$/,"").split("/").filter(Boolean).slice(-2).join("-").replace(/^github\.com-/,"")}var Bu=L(()=>{"use strict";ms()});z();import{parseArgs as by}from"node:util";import{resolve as Me,join as jr}from"node:path";import{existsSync as ln,readFileSync as vy,statSync as Ey,readdirSync as ky}from"node:fs";function Ay(){let t=ht();if(ln(jr(t,"hive.yaml")))return t;let e=[`No Hive install found at ${t}.`," Run `hive init` to set up a new instance, or"," pass --config <path/to/hive.yaml> to use an existing one, or"," set HIVE_HOME to an existing install directory."],n=process.env.HOME??"/tmp",s=Me(n,"services","hive"),i=[];if(ln(s))try{for(let r of ky(s)){let o=jr(s,r,"hive.yaml");ln(o)&&i.push(jr(s,r))}}catch{}i.length>0&&(e.push(""),e.push(`Available installs: ${i.join(", ")}`)),console.error(e.join(`
251
+ `)),process.exit(1)}var{positionals:je,values:pt}=by({allowPositionals:!0,options:{help:{type:"boolean",short:"h",default:!1},daemon:{type:"boolean",default:!1},config:{type:"string"},version:{type:"boolean",short:"v",default:!1},verbose:{type:"boolean",default:!1}}}),Yr=je[0];if(pt.version){let t=JSON.parse(vy(Me(import.meta.dirname,"..","package.json"),"utf-8"));console.log(`hive v${t.version}`),process.exit(0)}(pt.help||!Yr)&&(console.log(`
251
252
  hive \u2014 AI agent platform
252
253
 
253
254
  Usage:
@@ -277,4 +278,4 @@ Options:
277
278
  --config <path> Path to hive.yaml
278
279
  -v, --version Show version
279
280
  -h, --help Show this help
280
- `),process.exit(0));var rn=Ue(import.meta.dirname,"..");if(dt.config){let t=Ue(dt.config);if(Ru(t)){let e=gy(t);process.env.HIVE_HOME=e.isDirectory()?t:Ue(t,"..")}else console.error(`Config not found: ${t}`),process.exit(1)}switch(Ur){case"init":{let{runSetupWizard:t}=await Promise.resolve().then(()=>(lc(),ac));await t(rn);break}case"start":{if(dt.daemon){let{startDaemon:t}=await Promise.resolve().then(()=>(Gt(),is));await t(rn)}else{let{execFileSync:t}=await import("node:child_process"),e=Ru(Ue(rn,"pkg","server.min.js"))?Ue(rn,"pkg","server.min.js"):Ue(rn,"dist","index.js");t(process.execPath,[e],{stdio:"inherit",env:{...process.env,HIVE_HOME:process.env.HIVE_HOME??""}})}break}case"stop":{let{stopDaemon:t}=await Promise.resolve().then(()=>(Gt(),is));await t();break}case"status":{let{showStatus:t}=await Promise.resolve().then(()=>(dc(),fc));await t();break}case"update":{let{runUpdate:t}=await Promise.resolve().then(()=>(mc(),hc));await t();break}case"doctor":{let{runDoctor:t}=await Promise.resolve().then(()=>(Yc(),jc));await t({verbose:!!dt.verbose});break}case"plugin":{let t=Fe[1],e=Fe[2],{runPlugin:n}=await Promise.resolve().then(()=>(eu(),Zc));await n(t,e);break}case"skill":{let t=Fe[1],e=Fe.slice(2),{runSkill:n}=await Promise.resolve().then(()=>($u(),Mu));await n(t,...e);break}case"registry":{let t=Fe[1],e=Fe.slice(2),{runRegistry:n}=await Promise.resolve().then(()=>(qu(),Du));await n(t,...e);break}default:console.error(`Unknown command: ${Ur}`),console.error('Run "hive --help" for usage.'),process.exit(1)}
281
+ `),process.exit(0));var an=Me(import.meta.dirname,"..");if(pt.config){let t=Me(pt.config);if(ln(t)){let e=Ey(t);process.env.HIVE_HOME=e.isDirectory()?t:Me(t,"..")}else console.error(`Config not found: ${t}`),process.exit(1)}switch(Yr){case"init":{let{runSetupWizard:t}=await Promise.resolve().then(()=>(fc(),uc));await t(an);break}case"start":{let t=Ay();if(pt.daemon){let{startDaemon:e}=await Promise.resolve().then(()=>(Wt(),as));await e(an)}else{let{execFileSync:e}=await import("node:child_process"),n=ln(Me(an,"pkg","server.min.js"))?Me(an,"pkg","server.min.js"):Me(an,"dist","index.js");e(process.execPath,[n],{stdio:"inherit",env:{...process.env,HIVE_HOME:t}})}break}case"stop":{let{stopDaemon:t}=await Promise.resolve().then(()=>(Wt(),as));await t();break}case"status":{let{showStatus:t}=await Promise.resolve().then(()=>(mc(),hc));await t();break}case"update":{let{runUpdate:t}=await Promise.resolve().then(()=>(wc(),yc));await t();break}case"doctor":{let{runDoctor:t}=await Promise.resolve().then(()=>(Vc(),Gc));await t({verbose:!!pt.verbose});break}case"plugin":{let t=je[1],e=je[2],{runPlugin:n}=await Promise.resolve().then(()=>(su(),nu));await n(t,e);break}case"skill":{let t=je[1],e=je.slice(2),{runSkill:n}=await Promise.resolve().then(()=>(Ru(),qu));await n(t,...e);break}case"registry":{let t=je[1],e=je.slice(2),{runRegistry:n}=await Promise.resolve().then(()=>(Bu(),Ku));await n(t,...e);break}default:console.error(`Unknown command: ${Yr}`),console.error('Run "hive --help" for usage.'),process.exit(1)}