@keepur/hive 0.1.10 → 0.2.1

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,148 +1,148 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __hiveCreateRequire } from 'module'; const require = __hiveCreateRequire(import.meta.url);
3
- var Uu=Object.create;var Os=Object.defineProperty;var ju=Object.getOwnPropertyDescriptor;var Yu=Object.getOwnPropertyNames;var Hu=Object.getPrototypeOf,Vu=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 S=(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})},Gu=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Yu(e))!Vu.call(t,i)&&i!==n&&Os(t,i,{get:()=>e[i],enumerable:!(s=ju(e,i))||s.enumerable});return t};var le=(t,e,n)=>(n=t!=null?Uu(Hu(t)):{},Gu(e||!t||!t.__esModule?Os(n,"default",{value:t,enumerable:!0}):n,t));import{existsSync as Wu}from"node:fs";import{resolve as ye}from"node:path";function ht(){return process.env.HIVE_HOME?ye(process.env.HIVE_HOME):Wu(ye(process.cwd(),"hive.yaml"))?process.cwd():ye(Ju,".hive")}function Gr(t){let e=process.env.HIVE_CONFIG||"hive.yaml";return ye(t,e)}function Wr(t){let n=(process.env.HIVE_CONFIG||"hive.yaml").match(/^hive-(.+)\.yaml$/)?.[1];return ye(t,n?`.env-${n}`:".env")}var Ju,P,Y,Ly,Jr,z=L(()=>{"use strict";Ju=process.env.HOME??"/tmp";P=ht(),Y=ye(P,"skills"),Ly=ye(P,".hive"),Jr=ye(import.meta.dirname,"..","seeds")});var O=S(F=>{"use strict";var Ns=Symbol.for("yaml.alias"),Qr=Symbol.for("yaml.document"),cn=Symbol.for("yaml.map"),zr=Symbol.for("yaml.pair"),Ts=Symbol.for("yaml.scalar"),un=Symbol.for("yaml.seq"),ce=Symbol.for("yaml.node.type"),Qu=t=>!!t&&typeof t=="object"&&t[ce]===Ns,zu=t=>!!t&&typeof t=="object"&&t[ce]===Qr,Xu=t=>!!t&&typeof t=="object"&&t[ce]===cn,Zu=t=>!!t&&typeof t=="object"&&t[ce]===zr,Xr=t=>!!t&&typeof t=="object"&&t[ce]===Ts,ef=t=>!!t&&typeof t=="object"&&t[ce]===un;function Zr(t){if(t&&typeof t=="object")switch(t[ce]){case cn:case un:return!0}return!1}function tf(t){if(t&&typeof t=="object")switch(t[ce]){case Ns:case cn:case Ts:case un:return!0}return!1}var nf=t=>(Xr(t)||Zr(t))&&!!t.anchor;F.ALIAS=Ns;F.DOC=Qr;F.MAP=cn;F.NODE_TYPE=ce;F.PAIR=zr;F.SCALAR=Ts;F.SEQ=un;F.hasAnchor=nf;F.isAlias=Qu;F.isCollection=Zr;F.isDocument=zu;F.isMap=Xu;F.isNode=tf;F.isPair=Zu;F.isScalar=Xr;F.isSeq=ef});var mt=S(Ls=>{"use strict";var q=O(),G=Symbol("break visit"),eo=Symbol("skip children"),te=Symbol("remove node");function fn(t,e){let n=to(e);q.isDocument(t)?Ve(null,t.contents,n,Object.freeze([t]))===te&&(t.contents=null):Ve(null,t,n,Object.freeze([]))}fn.BREAK=G;fn.SKIP=eo;fn.REMOVE=te;function Ve(t,e,n,s){let i=no(t,e,n,s);if(q.isNode(i)||q.isPair(i))return so(t,s,i),Ve(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=Ve(r,e.items[r],n,s);if(typeof o=="number")r=o-1;else{if(o===G)return G;o===te&&(e.items.splice(r,1),r-=1)}}}else if(q.isPair(e)){s=Object.freeze(s.concat(e));let r=Ve("key",e.key,n,s);if(r===G)return G;r===te&&(e.key=null);let o=Ve("value",e.value,n,s);if(o===G)return G;o===te&&(e.value=null)}}return i}async function dn(t,e){let n=to(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=G;dn.SKIP=eo;dn.REMOVE=te;async function Ge(t,e,n,s){let i=await no(t,e,n,s);if(q.isNode(i)||q.isPair(i))return so(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===G)return G;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===G)return G;r===te&&(e.key=null);let o=await Ge("value",e.value,n,s);if(o===G)return G;o===te&&(e.value=null)}}return i}function to(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 no(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 so(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=S(ro=>{"use strict";var io=O(),sf=mt(),rf={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},of=t=>t.replace(/[!,[\]{}]/g,e=>rf[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+of(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&&io.isNode(e.contents)){let r={};sf.visit(e.contents,(o,a)=>{io.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:"};ro.Directives=gt});var pn=S(yt=>{"use strict";var oo=O(),af=mt();function lf(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 ao(t){let e=new Set;return af.visit(t,{Value(n,s){s.anchor&&e.add(s.anchor)}}),e}function lo(t,e){for(let n=1;;++n){let s=`${t}${n}`;if(!e.has(s))return s}}function cf(t,e){let n=[],s=new Map,i=null;return{onAnchor:r=>{n.push(r),i??(i=ao(t));let o=lo(e,i);return i.add(o),o},setAnchors:()=>{for(let r of n){let o=s.get(r);if(typeof o=="object"&&o.anchor&&(oo.isScalar(o.node)||oo.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=lf;yt.anchorNames=ao;yt.createNodeAnchors=cf;yt.findNewAnchor=lo});var Ps=S(co=>{"use strict";function St(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=St(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=St(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=St(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=St(t,s,i,r);o===void 0?delete s[i]:o!==r&&(s[i]=o)}return t.call(e,n,s)}co.applyReviver=St});var Se=S(fo=>{"use strict";var uf=O();function uo(t,e,n){if(Array.isArray(t))return t.map((s,i)=>uo(s,String(i),n));if(t&&typeof t.toJSON=="function"){if(!n||!uf.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}fo.toJS=uo});var hn=S(ho=>{"use strict";var ff=Ps(),po=O(),df=Se(),Ms=class{constructor(e){Object.defineProperty(this,po.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(!po.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=df.toJS(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?ff.applyReviver(r,{"":a},"",a):a}};ho.NodeBase=Ms});var wt=S(mo=>{"use strict";var pf=pn(),hf=mt(),We=O(),mf=hn(),gf=Se(),$s=class extends mf.NodeBase{constructor(e){super(We.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=[],hf.visit(e,{Node:(r,o)=>{(We.isAlias(o)||We.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||(gf.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(pf.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(We.isAlias(e)){let s=e.resolve(t),i=n&&s&&n.get(s);return i?i.count*i.aliasCount:0}else if(We.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(We.isPair(e)){let s=mn(t,e.key,n),i=mn(t,e.value,n);return Math.max(s,i)}return 1}mo.Alias=$s});var $=S(Ds=>{"use strict";var yf=O(),Sf=hn(),wf=Se(),vf=t=>!t||typeof t!="function"&&typeof t!="object",we=class extends Sf.NodeBase{constructor(e){super(yf.SCALAR),this.value=e}toJSON(e,n){return n?.keep?this.value:wf.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";Ds.Scalar=we;Ds.isScalarValue=vf});var vt=S(yo=>{"use strict";var bf=wt(),De=O(),go=$(),Ef="tag:yaml.org,2002:";function kf(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 Af(t,e,n){if(De.isDocument(t)&&(t=t.contents),De.isNode(t))return t;if(De.isPair(t)){let u=n.schema[De.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 bf.Alias(l.anchor);l={anchor:null,node:null},a.set(t,l)}e?.startsWith("!!")&&(e=Ef+e.slice(2));let c=kf(t,e,o.tags);if(!c){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let u=new go.Scalar(t);return l&&(l.node=u),u}c=t instanceof Map?o[De.MAP]:Symbol.iterator in Object(t)?o[De.SEQ]:o[De.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 go.Scalar(t);return e?f.tag=e:c.default||(f.tag=c.tag),l&&(l.node=f),f}yo.createNode=Af});var yn=S(gn=>{"use strict";var _f=vt(),ne=O(),If=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 _f.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 So=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,Rs=class extends If.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(So(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=So});var bt=S(Sn=>{"use strict";var Of=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function Ks(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var Nf=(t,e,n)=>t.endsWith(`
5
- `)?Ks(n,e):n.includes(`
3
+ var ff=Object.create;var Ms=Object.defineProperty;var df=Object.getOwnPropertyDescriptor;var pf=Object.getOwnPropertyNames;var hf=Object.getPrototypeOf,mf=Object.prototype.hasOwnProperty;var be=(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 O=(t,e)=>()=>(t&&(e=t(t=0)),e);var S=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Q=(t,e)=>{for(var n in e)Ms(t,n,{get:e[n],enumerable:!0})},gf=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of pf(e))!mf.call(t,i)&&i!==n&&Ms(t,i,{get:()=>e[i],enumerable:!(s=df(e,i))||s.enumerable});return t};var ue=(t,e,n)=>(n=t!=null?ff(hf(t)):{},gf(e||!t||!t.__esModule?Ms(n,"default",{value:t,enumerable:!0}):n,t));import{existsSync as yf}from"node:fs";import{resolve as ne}from"node:path";function fe(){return process.env.HIVE_HOME?ne(process.env.HIVE_HOME):yf(ne(process.cwd(),"hive.yaml"))?process.cwd():ne(Sf,"hive")}function to(t){let e=process.env.HIVE_CONFIG||"hive.yaml";return ne(t,e)}function no(t){let n=(process.env.HIVE_CONFIG||"hive.yaml").match(/^hive-(.+)\.yaml$/)?.[1];return ne(t,n?`.env-${n}`:".env")}var Sf,P,Y,Z,vf,yS,so,G=O(()=>{"use strict";Sf=process.env.HOME??"/tmp";P=fe(),Y=ne(P,"skills"),Z=ne(P,".hive"),vf=ne(P,".hive-state"),yS=ne(vf,"git"),so=ne(import.meta.dirname,"..","seeds")});var N=S(F=>{"use strict";var $s=Symbol.for("yaml.alias"),io=Symbol.for("yaml.document"),cn=Symbol.for("yaml.map"),ro=Symbol.for("yaml.pair"),Ds=Symbol.for("yaml.scalar"),un=Symbol.for("yaml.seq"),de=Symbol.for("yaml.node.type"),wf=t=>!!t&&typeof t=="object"&&t[de]===$s,bf=t=>!!t&&typeof t=="object"&&t[de]===io,Ef=t=>!!t&&typeof t=="object"&&t[de]===cn,kf=t=>!!t&&typeof t=="object"&&t[de]===ro,oo=t=>!!t&&typeof t=="object"&&t[de]===Ds,Af=t=>!!t&&typeof t=="object"&&t[de]===un;function ao(t){if(t&&typeof t=="object")switch(t[de]){case cn:case un:return!0}return!1}function _f(t){if(t&&typeof t=="object")switch(t[de]){case $s:case cn:case Ds:case un:return!0}return!1}var If=t=>(oo(t)||ao(t))&&!!t.anchor;F.ALIAS=$s;F.DOC=io;F.MAP=cn;F.NODE_TYPE=de;F.PAIR=ro;F.SCALAR=Ds;F.SEQ=un;F.hasAnchor=If;F.isAlias=wf;F.isCollection=ao;F.isDocument=bf;F.isMap=Ef;F.isNode=_f;F.isPair=kf;F.isScalar=oo;F.isSeq=Af});var gt=S(qs=>{"use strict";var q=N(),W=Symbol("break visit"),lo=Symbol("skip children"),se=Symbol("remove node");function fn(t,e){let n=co(e);q.isDocument(t)?Je(null,t.contents,n,Object.freeze([t]))===se&&(t.contents=null):Je(null,t,n,Object.freeze([]))}fn.BREAK=W;fn.SKIP=lo;fn.REMOVE=se;function Je(t,e,n,s){let i=uo(t,e,n,s);if(q.isNode(i)||q.isPair(i))return fo(t,s,i),Je(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=Je(r,e.items[r],n,s);if(typeof o=="number")r=o-1;else{if(o===W)return W;o===se&&(e.items.splice(r,1),r-=1)}}}else if(q.isPair(e)){s=Object.freeze(s.concat(e));let r=Je("key",e.key,n,s);if(r===W)return W;r===se&&(e.key=null);let o=Je("value",e.value,n,s);if(o===W)return W;o===se&&(e.value=null)}}return i}async function dn(t,e){let n=co(e);q.isDocument(t)?await Qe(null,t.contents,n,Object.freeze([t]))===se&&(t.contents=null):await Qe(null,t,n,Object.freeze([]))}dn.BREAK=W;dn.SKIP=lo;dn.REMOVE=se;async function Qe(t,e,n,s){let i=await uo(t,e,n,s);if(q.isNode(i)||q.isPair(i))return fo(t,s,i),Qe(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 Qe(r,e.items[r],n,s);if(typeof o=="number")r=o-1;else{if(o===W)return W;o===se&&(e.items.splice(r,1),r-=1)}}}else if(q.isPair(e)){s=Object.freeze(s.concat(e));let r=await Qe("key",e.key,n,s);if(r===W)return W;r===se&&(e.key=null);let o=await Qe("value",e.value,n,s);if(o===W)return W;o===se&&(e.value=null)}}return i}function co(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 uo(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 fo(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`)}}qs.visit=fn;qs.visitAsync=dn});var Rs=S(ho=>{"use strict";var po=N(),Of=gt(),Nf={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Tf=t=>t.replace(/[!,[\]{}]/g,e=>Nf[e]),yt=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+Tf(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&&po.isNode(e.contents)){let r={};Of.visit(e.contents,(o,a)=>{po.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
+ `)}};yt.defaultYaml={explicit:!1,version:"1.2"};yt.defaultTags={"!!":"tag:yaml.org,2002:"};ho.Directives=yt});var pn=S(St=>{"use strict";var mo=N(),Lf=gt();function Cf(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 go(t){let e=new Set;return Lf.visit(t,{Value(n,s){s.anchor&&e.add(s.anchor)}}),e}function yo(t,e){for(let n=1;;++n){let s=`${t}${n}`;if(!e.has(s))return s}}function Pf(t,e){let n=[],s=new Map,i=null;return{onAnchor:r=>{n.push(r),i??(i=go(t));let o=yo(e,i);return i.add(o),o},setAnchors:()=>{for(let r of n){let o=s.get(r);if(typeof o=="object"&&o.anchor&&(mo.isScalar(o.node)||mo.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}}St.anchorIsValid=Cf;St.anchorNames=go;St.createNodeAnchors=Pf;St.findNewAnchor=yo});var Ks=S(So=>{"use strict";function vt(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=vt(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=vt(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=vt(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=vt(t,s,i,r);o===void 0?delete s[i]:o!==r&&(s[i]=o)}return t.call(e,n,s)}So.applyReviver=vt});var Ee=S(wo=>{"use strict";var Mf=N();function vo(t,e,n){if(Array.isArray(t))return t.map((s,i)=>vo(s,String(i),n));if(t&&typeof t.toJSON=="function"){if(!n||!Mf.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}wo.toJS=vo});var hn=S(Eo=>{"use strict";var $f=Ks(),bo=N(),Df=Ee(),xs=class{constructor(e){Object.defineProperty(this,bo.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(!bo.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=Df.toJS(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?$f.applyReviver(r,{"":a},"",a):a}};Eo.NodeBase=xs});var wt=S(ko=>{"use strict";var qf=pn(),Rf=gt(),ze=N(),Kf=hn(),xf=Ee(),Bs=class extends Kf.NodeBase{constructor(e){super(ze.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=[],Rf.visit(e,{Node:(r,o)=>{(ze.isAlias(o)||ze.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||(xf.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(qf.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(ze.isAlias(e)){let s=e.resolve(t),i=n&&s&&n.get(s);return i?i.count*i.aliasCount:0}else if(ze.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(ze.isPair(e)){let s=mn(t,e.key,n),i=mn(t,e.value,n);return Math.max(s,i)}return 1}ko.Alias=Bs});var $=S(Fs=>{"use strict";var Bf=N(),Ff=hn(),Uf=Ee(),jf=t=>!t||typeof t!="function"&&typeof t!="object",ke=class extends Ff.NodeBase{constructor(e){super(Bf.SCALAR),this.value=e}toJSON(e,n){return n?.keep?this.value:Uf.toJS(this.value,e,n)}toString(){return String(this.value)}};ke.BLOCK_FOLDED="BLOCK_FOLDED";ke.BLOCK_LITERAL="BLOCK_LITERAL";ke.PLAIN="PLAIN";ke.QUOTE_DOUBLE="QUOTE_DOUBLE";ke.QUOTE_SINGLE="QUOTE_SINGLE";Fs.Scalar=ke;Fs.isScalarValue=jf});var bt=S(_o=>{"use strict";var Hf=wt(),xe=N(),Ao=$(),Yf="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 Gf(t,e,n){if(xe.isDocument(t)&&(t=t.contents),xe.isNode(t))return t;if(xe.isPair(t)){let u=n.schema[xe.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 Hf.Alias(l.anchor);l={anchor:null,node:null},a.set(t,l)}e?.startsWith("!!")&&(e=Yf+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 Ao.Scalar(t);return l&&(l.node=u),u}c=t instanceof Map?o[xe.MAP]:Symbol.iterator in Object(t)?o[xe.SEQ]:o[xe.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 Ao.Scalar(t);return e?f.tag=e:c.default||(f.tag=c.tag),l&&(l.node=f),f}_o.createNode=Gf});var yn=S(gn=>{"use strict";var Wf=bt(),ie=N(),Jf=hn();function Us(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 Wf.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 Io=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,js=class extends Jf.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=>ie.isNode(s)||ie.isPair(s)?s.clone(e):s),this.range&&(n.range=this.range.slice()),n}addIn(e,n){if(Io(e))this.add(n);else{let[s,...i]=e,r=this.get(s,!0);if(ie.isCollection(r))r.addIn(i,n);else if(r===void 0&&this.schema)this.set(s,Us(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(ie.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&&ie.isScalar(r)?r.value:r:ie.isCollection(r)?r.getIn(i,n):void 0}hasAllNullValues(e){return this.items.every(n=>{if(!ie.isPair(n))return!1;let s=n.value;return s==null||e&&ie.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 ie.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(ie.isCollection(r))r.setIn(i,n);else if(r===void 0&&this.schema)this.set(s,Us(this.schema,i,n));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${i}`)}}};gn.Collection=js;gn.collectionFromPath=Us;gn.isEmptyPath=Io});var Et=S(Sn=>{"use strict";var Qf=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function Hs(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var zf=(t,e,n)=>t.endsWith(`
5
+ `)?Hs(n,e):n.includes(`
6
6
  `)?`
7
- `+Ks(n,e):(t.endsWith(" ")?"":" ")+n;Sn.indentComment=Ks;Sn.lineComment=Nf;Sn.stringifyComment=Of});var vo=S(Et=>{"use strict";var Tf="flow",Bs="block",wn="quoted";function Lf(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,w=-1;n===Bs&&(p=wo(t,p,e.length),p!==-1&&(u=p+l));for(let A;A=t[p+=1];){if(n===wn&&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}w=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
- `&&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===wn){for(;h===" "||h===" ";)h=A,A=t[p+=1],y=!0;let _=p>w+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 b=t.slice(0,c[0]);for(let A=0;A<c.length;++A){let _=c[A],k=c[A+1]||t.length;_===0?b=`
11
- ${e}${t.slice(0,k)}`:(n===wn&&f[_]&&(b+=`${t[_]}\\`),b+=`
12
- ${e}${t.slice(_+1,k)}`)}return b}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=Tf;Et.FOLD_QUOTED=wn;Et.foldFlowLines=Lf});var At=S(bo=>{"use strict";var X=$(),ve=vo(),bn=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),En=t=>/^(%|---|\.\.\.)/m.test(t);function Cf(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)+`
7
+ `+Hs(n,e):(t.endsWith(" ")?"":" ")+n;Sn.indentComment=Hs;Sn.lineComment=zf;Sn.stringifyComment=Qf});var No=S(kt=>{"use strict";var Xf="flow",Ys="block",vn="quoted";function Zf(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,p,y=!1,h=-1,m=-1,w=-1;n===Ys&&(h=Oo(t,h,e.length),h!==-1&&(u=h+l));for(let A;A=t[h+=1];){if(n===vn&&A==="\\"){switch(m=h,t[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}w=h}if(A===`
8
+ `)n===Ys&&(h=Oo(t,h,e.length)),u=h+e.length+l,d=void 0;else{if(A===" "&&p&&p!==" "&&p!==`
9
+ `&&p!==" "){let _=t[h+1];_&&_!==" "&&_!==`
10
+ `&&_!==" "&&(d=h)}if(h>=u)if(d)c.push(d),u=d+l,d=void 0;else if(n===vn){for(;p===" "||p===" ";)p=A,A=t[h+=1],y=!0;let _=h>w+1?h-2:m-1;if(f[_])return t;c.push(_),f[_]=!0,u=_+l,d=void 0}else y=!0}p=A}if(y&&a&&a(),c.length===0)return t;o&&o();let b=t.slice(0,c[0]);for(let A=0;A<c.length;++A){let _=c[A],k=c[A+1]||t.length;_===0?b=`
11
+ ${e}${t.slice(0,k)}`:(n===vn&&f[_]&&(b+=`${t[_]}\\`),b+=`
12
+ ${e}${t.slice(_+1,k)}`)}return b}function Oo(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}kt.FOLD_BLOCK=Ys;kt.FOLD_FLOW=Xf;kt.FOLD_QUOTED=vn;kt.foldFlowLines=Zf});var _t=S(To=>{"use strict";var ee=$(),Ae=No(),bn=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),En=t=>/^(%|---|\.\.\.)/m.test(t);function ed(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 At(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:ve.foldFlowLines(o,r,ve.FOLD_QUOTED,bn(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:ve.foldFlowLines(s,n,ve.FOLD_FLOW,bn(e,!1))}function Je(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(`(^|(?<!
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:Ae.foldFlowLines(o,r,Ae.FOLD_QUOTED,bn(e,!1))}function Vs(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
18
+ `)||/[ \t]\n|\n[ \t]/.test(t))return At(t,e);let n=e.indent||(En(t)?" ":""),s="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
19
+ ${n}`)+"'";return e.implicitKey?s:Ae.foldFlowLines(s,n,Ae.FOLD_FLOW,bn(e,!1))}function Xe(t,e){let{singleQuote:n}=e.options,s;if(n===!1)s=At;else{let i=t.includes('"'),r=t.includes("'");i&&!r?s=Vs:r&&!i?s=At:s=n?Vs:At}return s(t,e)}var Gs;try{Gs=new RegExp(`(^|(?<!
20
20
  ))
21
21
  +(?!
22
- |$)`,"g")}catch{Fs=/\n+(?!\n|$)/g}function vn({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 Je(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:!Cf(n,l,c.length);if(!n)return f?`|
22
+ |$)`,"g")}catch{Gs=/\n+(?!\n|$)/g}function wn({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 Xe(n,s);let c=s.indent||(s.forceBlockIndent||En(n)?" ":""),f=o==="literal"?!0:o==="folded"||e===ee.Scalar.BLOCK_FOLDED?!1:e===ee.Scalar.BLOCK_LITERAL?!0:!ed(n,l,c.length);if(!n)return f?`|
23
23
  `:`>
24
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
- `);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(Fs,`$&${c}`));let p=!1,m,w=-1;for(m=0;m<n.length;++m){let k=n[m];if(k===" ")p=!0;else if(k===`
28
- `)w=m;else break}let b=n.substring(0,w<m?w+1:m);b&&(n=n.substring(b.length),b=b.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=bn(s,!0);o!=="folded"&&e!==X.Scalar.BLOCK_FOLDED&&(N.onOverflow=()=>{I=!0});let E=ve.foldFlowLines(`${b}${k}${h}`,c,ve.FOLD_BLOCK,N);if(!I)return`>${_}
25
+ `&&k!==" "&&k!==" ")break}let p=n.substring(d),y=p.indexOf(`
26
+ `);y===-1?u="-":n===p||y!==p.length-1?(u="+",r&&r()):u="",p&&(n=n.slice(0,-p.length),p[p.length-1]===`
27
+ `&&(p=p.slice(0,-1)),p=p.replace(Gs,`$&${c}`));let h=!1,m,w=-1;for(m=0;m<n.length;++m){let k=n[m];if(k===" ")h=!0;else if(k===`
28
+ `)w=m;else break}let b=n.substring(0,w<m?w+1:m);b&&(n=n.substring(b.length),b=b.replace(/\n+/g,`$&${c}`));let _=(h?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,T=bn(s,!0);o!=="folded"&&e!==ee.Scalar.BLOCK_FOLDED&&(T.onOverflow=()=>{I=!0});let E=Ae.foldFlowLines(`${b}${k}${p}`,c,Ae.FOLD_BLOCK,T);if(!I)return`>${_}
30
30
  ${c}${E}`}return n=n.replace(/\n+/g,`$&${c}`),`|${_}
31
- ${c}${b}${n}${h}`}function Pf(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 Je(r,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return a||f||!r.includes(`
33
- `)?Je(r,e):vn(t,e,n,s);if(!a&&!f&&i!==X.Scalar.PLAIN&&r.includes(`
34
- `))return vn(t,e,n,s);if(En(r)){if(l==="")return e.forceBlockIndent=!0,vn(t,e,n,s);if(a&&l===c)return Je(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 Je(r,e)}return a?u:ve.foldFlowLines(u,l,ve.FOLD_FLOW,bn(e,!1))}function Mf(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?Je(o.value,e):vn(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 Pf(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=Mf});var _t=S(Us=>{"use strict";var $f=pn(),be=O(),Df=bt(),qf=At();function Rf(t,e){let n=Object.assign({blockQuote:!0,commentString:Df.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 Kf(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 Bf(t,e,{anchors:n,doc:s}){if(!s.directives)return"";let i=[],r=(be.isScalar(t)||be.isCollection(t))&&t.anchor;r&&$f.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 xf(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=Kf(e.doc.schema.tags,r));let o=Bf(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)?qf.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}Us.createStringifyContext=Rf;Us.stringify=xf});var _o=S(Ao=>{"use strict";var ue=O(),Eo=$(),ko=_t(),It=bt();function Ff({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===Eo.Scalar.BLOCK_FOLDED||t.type===Eo.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=ko.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 w,b,A;ue.isNode(e)?(w=!!e.spaceBefore,b=e.commentBefore,A=e.comment):(w=!1,b=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=ko.stringify(e,n,()=>_=!0,()=>p=!0),I=" ";if(d||w||b){if(I=w?`
38
- `:"",b){let N=c(b);I+=`
39
- ${It.indentComment(N,n.indent)}`}k===""&&!n.inFlow?I===`
31
+ ${c}${b}${n}${p}`}function td(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 Xe(r,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return a||f||!r.includes(`
33
+ `)?Xe(r,e):wn(t,e,n,s);if(!a&&!f&&i!==ee.Scalar.PLAIN&&r.includes(`
34
+ `))return wn(t,e,n,s);if(En(r)){if(l==="")return e.forceBlockIndent=!0,wn(t,e,n,s);if(a&&l===c)return Xe(r,e)}let u=r.replace(/\n+/g,`$&
35
+ ${l}`);if(o){let d=h=>h.default&&h.tag!=="tag:yaml.org,2002:str"&&h.test?.test(u),{compat:p,tags:y}=e.doc.schema;if(y.some(d)||p?.some(d))return Xe(r,e)}return a?u:Ae.foldFlowLines(u,l,Ae.FOLD_FLOW,bn(e,!1))}function nd(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!==ee.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=ee.Scalar.QUOTE_DOUBLE);let l=f=>{switch(f){case ee.Scalar.BLOCK_FOLDED:case ee.Scalar.BLOCK_LITERAL:return i||r?Xe(o.value,e):wn(o,e,n,s);case ee.Scalar.QUOTE_DOUBLE:return At(o.value,e);case ee.Scalar.QUOTE_SINGLE:return Vs(o.value,e);case ee.Scalar.PLAIN:return td(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}To.stringifyString=nd});var It=S(Ws=>{"use strict";var sd=pn(),_e=N(),id=Et(),rd=_t();function od(t,e){let n=Object.assign({blockQuote:!0,commentString:id.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 ad(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(_e.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 ld(t,e,{anchors:n,doc:s}){if(!s.directives)return"";let i=[],r=(_e.isScalar(t)||_e.isCollection(t))&&t.anchor;r&&sd.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 cd(t,e,n,s){if(_e.isPair(t))return t.toString(e,n,s);if(_e.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=_e.isNode(t)?t:e.doc.createNode(t,{onTagObj:l=>i=l});i??(i=ad(e.doc.schema.tags,r));let o=ld(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):_e.isScalar(r)?rd.stringifyString(r,e,n,s):r.toString(e,n,s);return o?_e.isScalar(r)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
36
+ ${e.indent}${a}`:a}Ws.createStringifyContext=od;Ws.stringify=cd});var Mo=S(Po=>{"use strict";var pe=N(),Lo=$(),Co=It(),Ot=Et();function ud({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=pe.isNode(t)&&t.comment||null;if(u){if(d)throw new Error("With simple keys, key nodes cannot have comments");if(pe.isCollection(t)||!pe.isNode(t)&&typeof t=="object"){let T="With simple keys, collection cannot be used as a key value";throw new Error(T)}}let p=!u&&(!t||d&&e==null&&!n.inFlow||pe.isCollection(t)||(pe.isScalar(t)?t.type===Lo.Scalar.BLOCK_FOLDED||t.type===Lo.Scalar.BLOCK_LITERAL:typeof t=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!p&&(u||!r),indent:a+l});let y=!1,h=!1,m=Co.stringify(t,n,()=>y=!0,()=>h=!0);if(!p&&!n.inFlow&&m.length>1024){if(u)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");p=!0}if(n.inFlow){if(r||e==null)return y&&s&&s(),m===""?"?":p?`? ${m}`:m}else if(r&&!u||e==null&&p)return m=`? ${m}`,d&&!y?m+=Ot.lineComment(m,n.indent,c(d)):h&&i&&i(),m;y&&(d=null),p?(d&&(m+=Ot.lineComment(m,n.indent,c(d))),m=`? ${m}
37
+ ${a}:`):(m=`${m}:`,d&&(m+=Ot.lineComment(m,n.indent,c(d))));let w,b,A;pe.isNode(e)?(w=!!e.spaceBefore,b=e.commentBefore,A=e.comment):(w=!1,b=null,A=null,e&&typeof e=="object"&&(e=o.createNode(e))),n.implicitKey=!1,!p&&!d&&pe.isScalar(e)&&(n.indentAtStart=m.length+1),h=!1,!f&&l.length>=2&&!n.inFlow&&!p&&pe.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(n.indent=n.indent.substring(2));let _=!1,k=Co.stringify(e,n,()=>_=!0,()=>h=!0),I=" ";if(d||w||b){if(I=w?`
38
+ `:"",b){let T=c(b);I+=`
39
+ ${Ot.indentComment(T,n.indent)}`}k===""&&!n.inFlow?I===`
40
40
  `&&A&&(I=`
41
41
 
42
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 He=!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)&&(He=!0)}He||(I=`
43
+ ${n.indent}`}else if(!p&&pe.isCollection(e)){let T=k[0],E=k.indexOf(`
44
+ `),M=E!==-1,we=n.inFlow??e.flow??e.items.length===0;if(M||!we){let We=!1;if(M&&(T==="&"||T==="!")){let D=k.indexOf(" ");T==="&"&&D!==-1&&D<E&&k[D+1]==="!"&&(D=k.indexOf(" ",D+1)),(D===-1||E<D)&&(We=!0)}We||(I=`
45
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}Ao.stringifyPair=Ff});var Ys=S(js=>{"use strict";var Io=ge("process");function Uf(t,...e){t==="debug"&&console.log(...e)}function jf(t,e){(t==="debug"||t==="warn")&&(typeof Io.emitWarning=="function"?Io.emitWarning(e):console.warn(e))}js.debug=Uf;js.warn=jf});var In=S(_n=>{"use strict";var Ot=O(),Oo=$(),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 Oo.Scalar(Symbol(kn)),{addToJSMap:No}),stringify:()=>kn},Yf=(t,e)=>(An.identify(e)||Ot.isScalar(e)&&(!e.type||e.type===Oo.Scalar.PLAIN)&&An.identify(e.value))&&t?.doc.schema.tags.some(n=>n.tag===An.tag&&n.default);function No(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=No;_n.isMergeKey=Yf;_n.merge=An});var Gs=S(Co=>{"use strict";var Hf=Ys(),To=In(),Vf=_t(),Lo=O(),Vs=Se();function Gf(t,e,{key:n,value:s}){if(Lo.isNode(n)&&n.addToJSMap)n.addToJSMap(t,e,s);else if(To.isMergeKey(t,n))To.addMergeToJSMap(t,e,s);else{let i=Vs.toJS(n,"",t);if(e instanceof Map)e.set(i,Vs.toJS(s,i,t));else if(e instanceof Set)e.add(i);else{let r=Wf(n,i,t),o=Vs.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 Wf(t,e,n){if(e===null)return"";if(typeof e!="object")return String(e);if(Lo.isNode(t)&&n?.doc){let s=Vf.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)+'..."'),Hf.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)}Co.addPairToJSMap=Gf});var Ee=S(Ws=>{"use strict";var Po=vt(),Jf=_o(),Qf=Gs(),On=O();function zf(t,e,n){let s=Po.createNode(t,void 0,n),i=Po.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 Qf.addPairToJSMap(n,s,this)}toString(e,n,s){return e?.doc?Jf.stringifyPair(this,e,n,s):JSON.stringify(this)}};Ws.Pair=Nn;Ws.createPair=zf});var Js=S($o=>{"use strict";var qe=O(),Mo=_t(),Tn=bt();function Xf(t,e,n){return(e.inFlow??t.flow?ed: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(qe.isNode(p))!u&&p.spaceBefore&&d.push(""),Ln(n,d,p.commentBefore,u),p.comment&&(m=p.comment);else if(qe.isPair(p)){let b=qe.isNode(p.key)?p.key:null;b&&(!u&&b.spaceBefore&&d.push(""),Ln(n,d,b.commentBefore,u))}u=!1;let w=Mo.stringify(p,f,()=>m=null,()=>u=!0);m&&(w+=Tn.lineComment(w,r,c(m))),u&&m&&(u=!1),d.push(s+w)}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
- ${l}${p}`:`
48
- `}}return t?(h+=`
49
- `+Tn.indentComment(c(t),l),a&&a()):u&&o&&o(),h}function ed({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(qe.isNode(p))p.spaceBefore&&u.push(""),Ln(e,u,p.commentBefore,!1),p.comment&&(m=p.comment);else if(qe.isPair(p)){let b=qe.isNode(p.key)?p.key:null;b&&(b.spaceBefore&&u.push(""),Ln(e,u,b.commentBefore,!1),b.comment&&(c=!0));let A=qe.isNode(p.value)?p.value:null;A?(A.comment&&(m=A.comment),A.commentBefore&&(c=!0)):p.value==null&&b?.comment&&(m=b.comment)}m&&(c=!0);let w=Mo.stringify(p,l,()=>m=null);c||(c=u.length>f||w.includes(`
50
- `)),y<t.length-1?w+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(c||(c=u.reduce((b,A)=>b+A.length+2,2)+(w.length+2)>e.options.lineWidth)),c&&(w+=",")),m&&(w+=Tn.lineComment(w,s,a(m))),u.push(w),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
- ${r}${i}${p}`:`
46
+ `)&&(I="");return m+=I+k,n.inFlow?_&&s&&s():A&&!_?m+=Ot.lineComment(m,n.indent,c(A)):h&&i&&i(),m}Po.stringifyPair=ud});var Qs=S(Js=>{"use strict";var $o=be("process");function fd(t,...e){t==="debug"&&console.log(...e)}function dd(t,e){(t==="debug"||t==="warn")&&(typeof $o.emitWarning=="function"?$o.emitWarning(e):console.warn(e))}Js.debug=fd;Js.warn=dd});var In=S(_n=>{"use strict";var Nt=N(),Do=$(),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 Do.Scalar(Symbol(kn)),{addToJSMap:qo}),stringify:()=>kn},pd=(t,e)=>(An.identify(e)||Nt.isScalar(e)&&(!e.type||e.type===Do.Scalar.PLAIN)&&An.identify(e.value))&&t?.doc.schema.tags.some(n=>n.tag===An.tag&&n.default);function qo(t,e,n){if(n=t&&Nt.isAlias(n)?n.resolve(t.doc):n,Nt.isSeq(n))for(let s of n.items)zs(t,e,s);else if(Array.isArray(n))for(let s of n)zs(t,e,s);else zs(t,e,n)}function zs(t,e,n){let s=t&&Nt.isAlias(n)?n.resolve(t.doc):n;if(!Nt.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=qo;_n.isMergeKey=pd;_n.merge=An});var Zs=S(xo=>{"use strict";var hd=Qs(),Ro=In(),md=It(),Ko=N(),Xs=Ee();function gd(t,e,{key:n,value:s}){if(Ko.isNode(n)&&n.addToJSMap)n.addToJSMap(t,e,s);else if(Ro.isMergeKey(t,n))Ro.addMergeToJSMap(t,e,s);else{let i=Xs.toJS(n,"",t);if(e instanceof Map)e.set(i,Xs.toJS(s,i,t));else if(e instanceof Set)e.add(i);else{let r=yd(n,i,t),o=Xs.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 yd(t,e,n){if(e===null)return"";if(typeof e!="object")return String(e);if(Ko.isNode(t)&&n?.doc){let s=md.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)+'..."'),hd.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)}xo.addPairToJSMap=gd});var Ie=S(ei=>{"use strict";var Bo=bt(),Sd=Mo(),vd=Zs(),On=N();function wd(t,e,n){let s=Bo.createNode(t,void 0,n),i=Bo.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 vd.addPairToJSMap(n,s,this)}toString(e,n,s){return e?.doc?Sd.stringifyPair(this,e,n,s):JSON.stringify(this)}};ei.Pair=Nn;ei.createPair=wd});var ti=S(Uo=>{"use strict";var Be=N(),Fo=It(),Tn=Et();function bd(t,e,n){return(e.inFlow??t.flow?kd:Ed)(t,e,n)}function Ed({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 h=e[y],m=null;if(Be.isNode(h))!u&&h.spaceBefore&&d.push(""),Ln(n,d,h.commentBefore,u),h.comment&&(m=h.comment);else if(Be.isPair(h)){let b=Be.isNode(h.key)?h.key:null;b&&(!u&&b.spaceBefore&&d.push(""),Ln(n,d,b.commentBefore,u))}u=!1;let w=Fo.stringify(h,f,()=>m=null,()=>u=!0);m&&(w+=Tn.lineComment(w,r,c(m))),u&&m&&(u=!1),d.push(s+w)}let p;if(d.length===0)p=i.start+i.end;else{p=d[0];for(let y=1;y<d.length;++y){let h=d[y];p+=h?`
47
+ ${l}${h}`:`
48
+ `}}return t?(p+=`
49
+ `+Tn.indentComment(c(t),l),a&&a()):u&&o&&o(),p}function kd({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 h=t[y],m=null;if(Be.isNode(h))h.spaceBefore&&u.push(""),Ln(e,u,h.commentBefore,!1),h.comment&&(m=h.comment);else if(Be.isPair(h)){let b=Be.isNode(h.key)?h.key:null;b&&(b.spaceBefore&&u.push(""),Ln(e,u,b.commentBefore,!1),b.comment&&(c=!0));let A=Be.isNode(h.value)?h.value:null;A?(A.comment&&(m=A.comment),A.commentBefore&&(c=!0)):h.value==null&&b?.comment&&(m=b.comment)}m&&(c=!0);let w=Fo.stringify(h,l,()=>m=null);c||(c=u.length>f||w.includes(`
50
+ `)),y<t.length-1?w+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(c||(c=u.reduce((b,A)=>b+A.length+2,2)+(w.length+2)>e.options.lineWidth)),c&&(w+=",")),m&&(w+=Tn.lineComment(w,s,a(m))),u.push(w),f=u.length}let{start:d,end:p}=n;if(u.length===0)return d+p;if(!c){let y=u.reduce((h,m)=>h+m.length+2,2);c=e.options.lineWidth>0&&y>e.options.lineWidth}if(c){let y=d;for(let h of u)y+=h?`
51
+ ${r}${i}${h}`:`
52
52
  `;return`${y}
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())}}$o.stringifyCollection=Xf});var Ae=S(zs=>{"use strict";var td=Js(),nd=Gs(),sd=yn(),ke=O(),Cn=Ee(),id=$();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 sd.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)&&id.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)nd.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})),td.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:s,onComment:n})}};zs.YAMLMap=Qs;zs.findPair=Nt});var Qe=S(qo=>{"use strict";var rd=O(),Do=Ae(),od={collection:"map",default:!0,nodeClass:Do.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(t,e){return rd.isMap(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,n)=>Do.YAMLMap.from(t,e,n)};qo.map=od});var _e=S(Ro=>{"use strict";var ad=vt(),ld=Js(),cd=yn(),Mn=O(),ud=$(),fd=Se(),Xs=class extends cd.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)&&ud.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(fd.toJS(r,String(i++),n));return s}toString(e,n,s){return e?ld.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(ad.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}Ro.YAMLSeq=Xs});var ze=S(Bo=>{"use strict";var dd=O(),Ko=_e(),pd={collection:"seq",default:!0,nodeClass:Ko.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(t,e){return dd.isSeq(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,n)=>Ko.YAMLSeq.from(t,e,n)};Bo.seq=pd});var Tt=S(xo=>{"use strict";var hd=At(),md={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),hd.stringifyString(t,e,n,s)}};xo.string=md});var $n=S(jo=>{"use strict";var Fo=$(),Uo={identify:t=>t==null,createNode:()=>new Fo.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Fo.Scalar(null),stringify:({source:t},e)=>typeof t=="string"&&Uo.test.test(t)?t:e.options.nullStr};jo.nullTag=Uo});var Zs=S(Ho=>{"use strict";var gd=$(),Yo={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new gd.Scalar(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},n){if(t&&Yo.test.test(t)){let s=t[0]==="t"||t[0]==="T";if(e===s)return t}return e?n.options.trueStr:n.options.falseStr}};Ho.boolTag=Yo});var Xe=S(Vo=>{"use strict";function yd({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}Vo.stringifyNumber=yd});var ti=S(Dn=>{"use strict";var Sd=$(),ei=Xe(),wd={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},vd={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)}},bd={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 Sd.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=bd;Dn.floatExp=vd;Dn.floatNaN=wd});var si=S(Rn=>{"use strict";var Go=Xe(),qn=t=>typeof t=="bigint"||Number.isInteger(t),ni=(t,e,n,{intAsBigInt:s})=>s?BigInt(t):parseInt(t.substring(e),n);function Wo(t,e,n){let{value:s}=t;return qn(s)&&s>=0?n+s.toString(e):Go.stringifyNumber(t)}var Ed={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=>Wo(t,8,"0o")},kd={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},Ad={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=>Wo(t,16,"0x")};Rn.int=kd;Rn.intHex=Ad;Rn.intOct=Ed});var Qo=S(Jo=>{"use strict";var _d=Qe(),Id=$n(),Od=ze(),Nd=Tt(),Td=Zs(),ii=ti(),ri=si(),Ld=[_d.map,Od.seq,Nd.string,Id.nullTag,Td.boolTag,ri.intOct,ri.int,ri.intHex,ii.floatNaN,ii.floatExp,ii.float];Jo.schema=Ld});var Zo=S(Xo=>{"use strict";var Cd=$(),Pd=Qe(),Md=ze();function zo(t){return typeof t=="bigint"||Number.isInteger(t)}var Kn=({value:t})=>JSON.stringify(t),$d=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:Kn},{identify:t=>t==null,createNode:()=>new Cd.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:zo,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})=>zo(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}],Dd={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},qd=[Pd.map,Md.seq].concat($d,Dd);Xo.schema=qd});var ai=S(ea=>{"use strict";var Lt=ge("buffer"),oi=$(),Rd=At(),Kd={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 Rd.stringifyString({comment:t,type:e,value:a},s,i,r)}};ea.binary=Kd});var Fn=S(xn=>{"use strict";var Bn=O(),li=Ee(),Bd=$(),xd=_e();function ta(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 Bd.Scalar(null));if(s.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${s.commentBefore}
53
+ ${i}${p}`}else return`${d}${o}${u.join(" ")}${o}${p}`}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())}}Uo.stringifyCollection=bd});var Ne=S(si=>{"use strict";var Ad=ti(),_d=Zs(),Id=yn(),Oe=N(),Cn=Ie(),Od=$();function Tt(t,e){let n=Oe.isScalar(e)?e.value:e;for(let s of t)if(Oe.isPair(s)&&(s.key===e||s.key===n||Oe.isScalar(s.key)&&s.key.value===n))return s}var ni=class extends Id.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Oe.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;Oe.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=Tt(this.items,s.key),r=this.schema?.sortMapEntries;if(i){if(!n)throw new Error(`Key ${s.key} already set`);Oe.isScalar(i.value)&&Od.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=Tt(this.items,e);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(e,n){let i=Tt(this.items,e)?.value;return(!n&&Oe.isScalar(i)?i.value:i)??void 0}has(e){return!!Tt(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)_d.addPairToJSMap(n,i,r);return i}toString(e,n,s){if(!e)return JSON.stringify(this);for(let i of this.items)if(!Oe.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})),Ad.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:s,onComment:n})}};si.YAMLMap=ni;si.findPair=Tt});var Ze=S(Ho=>{"use strict";var Nd=N(),jo=Ne(),Td={collection:"map",default:!0,nodeClass:jo.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(t,e){return Nd.isMap(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,n)=>jo.YAMLMap.from(t,e,n)};Ho.map=Td});var Te=S(Yo=>{"use strict";var Ld=bt(),Cd=ti(),Pd=yn(),Mn=N(),Md=$(),$d=Ee(),ii=class extends Pd.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)&&Md.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($d.toJS(r,String(i++),n));return s}toString(e,n,s){return e?Cd.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(Ld.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}Yo.YAMLSeq=ii});var et=S(Go=>{"use strict";var Dd=N(),Vo=Te(),qd={collection:"seq",default:!0,nodeClass:Vo.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(t,e){return Dd.isSeq(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,n)=>Vo.YAMLSeq.from(t,e,n)};Go.seq=qd});var Lt=S(Wo=>{"use strict";var Rd=_t(),Kd={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),Rd.stringifyString(t,e,n,s)}};Wo.string=Kd});var $n=S(zo=>{"use strict";var Jo=$(),Qo={identify:t=>t==null,createNode:()=>new Jo.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Jo.Scalar(null),stringify:({source:t},e)=>typeof t=="string"&&Qo.test.test(t)?t:e.options.nullStr};zo.nullTag=Qo});var ri=S(Zo=>{"use strict";var xd=$(),Xo={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new xd.Scalar(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},n){if(t&&Xo.test.test(t)){let s=t[0]==="t"||t[0]==="T";if(e===s)return t}return e?n.options.trueStr:n.options.falseStr}};Zo.boolTag=Xo});var tt=S(ea=>{"use strict";function Bd({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}ea.stringifyNumber=Bd});var ai=S(Dn=>{"use strict";var Fd=$(),oi=tt(),Ud={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:oi.stringifyNumber},jd={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():oi.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 Fd.Scalar(parseFloat(t)),n=t.indexOf(".");return n!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-n-1),e},stringify:oi.stringifyNumber};Dn.float=Hd;Dn.floatExp=jd;Dn.floatNaN=Ud});var ci=S(Rn=>{"use strict";var ta=tt(),qn=t=>typeof t=="bigint"||Number.isInteger(t),li=(t,e,n,{intAsBigInt:s})=>s?BigInt(t):parseInt(t.substring(e),n);function na(t,e,n){let{value:s}=t;return qn(s)&&s>=0?n+s.toString(e):ta.stringifyNumber(t)}var Yd={identify:t=>qn(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,n)=>li(t,2,8,n),stringify:t=>na(t,8,"0o")},Vd={identify:qn,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,n)=>li(t,0,10,n),stringify:ta.stringifyNumber},Gd={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)=>li(t,2,16,n),stringify:t=>na(t,16,"0x")};Rn.int=Vd;Rn.intHex=Gd;Rn.intOct=Yd});var ia=S(sa=>{"use strict";var Wd=Ze(),Jd=$n(),Qd=et(),zd=Lt(),Xd=ri(),ui=ai(),fi=ci(),Zd=[Wd.map,Qd.seq,zd.string,Jd.nullTag,Xd.boolTag,fi.intOct,fi.int,fi.intHex,ui.floatNaN,ui.floatExp,ui.float];sa.schema=Zd});var aa=S(oa=>{"use strict";var ep=$(),tp=Ze(),np=et();function ra(t){return typeof t=="bigint"||Number.isInteger(t)}var Kn=({value:t})=>JSON.stringify(t),sp=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:Kn},{identify:t=>t==null,createNode:()=>new ep.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:ra,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})=>ra(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}],ip={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},rp=[tp.map,np.seq].concat(sp,ip);oa.schema=rp});var pi=S(la=>{"use strict";var Ct=be("buffer"),di=$(),op=_t(),ap={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof Ct.Buffer=="function")return Ct.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 Ct.Buffer=="function")a=o instanceof Ct.Buffer?o.toString("base64"):Ct.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=di.Scalar.BLOCK_LITERAL),e!==di.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===di.Scalar.BLOCK_LITERAL?`
54
+ `:" ")}return op.stringifyString({comment:t,type:e,value:a},s,i,r)}};la.binary=ap});var Fn=S(Bn=>{"use strict";var xn=N(),hi=Ie(),lp=$(),cp=Te();function ca(t,e){if(xn.isSeq(t))for(let n=0;n<t.items.length;++n){let s=t.items[n];if(!xn.isPair(s)){if(xn.isMap(s)){s.items.length>1&&e("Each pair must have its own sequence indicator");let i=s.items[0]||new hi.Pair(new lp.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]=Bn.isPair(s)?s:new li.Pair(s)}}else e("Expected a sequence for this tag");return t}function na(t,e,n){let{replacer:s}=n,i=new xd.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 Fd={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:ta,createNode:na};xn.createPairs=na;xn.pairs=Fd;xn.resolvePairs=ta});var fi=S(ui=>{"use strict";var sa=O(),ci=Se(),Ct=Ae(),Ud=_e(),ia=Fn(),Re=class t extends Ud.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(sa.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=ia.createPairs(e,n,s),r=new this;return r.items=i.items,r}};Re.tag="tag:yaml.org,2002:omap";var jd={collection:"seq",identify:t=>t instanceof Map,nodeClass:Re,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let n=ia.resolvePairs(t,e),s=[];for(let{key:i}of n.items)sa.isScalar(i)&&(s.includes(i.value)?e(`Ordered maps must not include duplicate keys: ${i.value}`):s.push(i.value));return Object.assign(new Re,n)},createNode:(t,e,n)=>Re.from(t,e,n)};ui.YAMLOMap=Re;ui.omap=jd});var ca=S(di=>{"use strict";var ra=$();function oa({value:t,source:e},n){return e&&(t?aa:la).test.test(e)?e:t?n.options.trueStr:n.options.falseStr}var aa={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 ra.Scalar(!0),stringify:oa},la={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 ra.Scalar(!1),stringify:oa};di.falseTag=la;di.trueTag=aa});var ua=S(Un=>{"use strict";var Yd=$(),pi=Xe(),Hd={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},Vd={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)}},Gd={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 Yd.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=Gd;Un.floatExp=Vd;Un.floatNaN=Hd});var da=S(Mt=>{"use strict";var fa=Xe(),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 fa.stringifyNumber(t)}var Wd={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")},Jd={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")},Qd={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:fa.stringifyNumber},zd={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=Qd;Mt.intBin=Wd;Mt.intHex=zd;Mt.intOct=Jd});var gi=S(mi=>{"use strict";var Vn=O(),Yn=Ee(),Hn=Ae(),Ke=class t extends Hn.YAMLMap{constructor(e){super(e),this.tag=t.tag}add(e){let n;Vn.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&&Vn.isPair(s)?Vn.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}};Ke.tag="tag:yaml.org,2002:set";var Xd={collection:"map",identify:t=>t instanceof Set,nodeClass:Ke,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,n)=>Ke.from(t,e,n),resolve(t,e){if(Vn.isMap(t)){if(t.hasAllNullValues(!0))return Object.assign(new Ke,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};mi.YAMLSet=Ke;mi.set=Xd});var Si=S(Gn=>{"use strict";var Zd=Xe();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 pa(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 ep={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:pa},tp={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:pa},ha={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(ha.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$/,"")??""};Gn.floatTime=tp;Gn.intTime=ep;Gn.timestamp=ha});var ya=S(ga=>{"use strict";var np=Qe(),sp=$n(),ip=ze(),rp=Tt(),op=ai(),ma=ca(),wi=ua(),Wn=da(),ap=In(),lp=fi(),cp=Fn(),up=gi(),vi=Si(),fp=[np.map,ip.seq,rp.string,sp.nullTag,ma.trueTag,ma.falseTag,Wn.intBin,Wn.intOct,Wn.int,Wn.intHex,wi.floatNaN,wi.floatExp,wi.float,op.binary,ap.merge,lp.omap,cp.pairs,up.set,vi.intTime,vi.floatTime,vi.timestamp];ga.schema=fp});var Oa=S(ki=>{"use strict";var ba=Qe(),dp=$n(),Ea=ze(),pp=Tt(),hp=Zs(),bi=ti(),Ei=si(),mp=Qo(),gp=Zo(),ka=ai(),$t=In(),Aa=fi(),_a=Fn(),Sa=ya(),Ia=gi(),Jn=Si(),wa=new Map([["core",mp.schema],["failsafe",[ba.map,Ea.seq,pp.string]],["json",gp.schema],["yaml11",Sa.schema],["yaml-1.1",Sa.schema]]),va={binary:ka.binary,bool:hp.boolTag,float:bi.float,floatExp:bi.floatExp,floatNaN:bi.floatNaN,floatTime:Jn.floatTime,int:Ei.int,intHex:Ei.intHex,intOct:Ei.intOct,intTime:Jn.intTime,map:ba.map,merge:$t.merge,null:dp.nullTag,omap:Aa.omap,pairs:_a.pairs,seq:Ea.seq,set:Ia.set,timestamp:Jn.timestamp},yp={"tag:yaml.org,2002:binary":ka.binary,"tag:yaml.org,2002:merge":$t.merge,"tag:yaml.org,2002:omap":Aa.omap,"tag:yaml.org,2002:pairs":_a.pairs,"tag:yaml.org,2002:set":Ia.set,"tag:yaml.org,2002:timestamp":Jn.timestamp};function Sp(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"?va[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(va).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=yp;ki.getTags=Sp});var Ii=S(Na=>{"use strict";var Ai=O(),wp=Qe(),vp=ze(),bp=Tt(),Qn=Oa(),Ep=(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:wp.map}),Object.defineProperty(this,Ai.SCALAR,{value:bp.string}),Object.defineProperty(this,Ai.SEQ,{value:vp.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?Ep:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};Na.Schema=_i});var La=S(Ta=>{"use strict";var kp=O(),Oi=_t(),Dt=bt();function Ap(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(kp.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(`
56
+ ${r.comment}`:s.comment}s=i}t.items[n]=xn.isPair(s)?s:new hi.Pair(s)}}else e("Expected a sequence for this tag");return t}function ua(t,e,n){let{replacer:s}=n,i=new cp.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(hi.createPair(a,l,n))}return i}var up={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:ca,createNode:ua};Bn.createPairs=ua;Bn.pairs=up;Bn.resolvePairs=ca});var yi=S(gi=>{"use strict";var fa=N(),mi=Ee(),Pt=Ne(),fp=Te(),da=Fn(),Fe=class t extends fp.YAMLSeq{constructor(){super(),this.add=Pt.YAMLMap.prototype.add.bind(this),this.delete=Pt.YAMLMap.prototype.delete.bind(this),this.get=Pt.YAMLMap.prototype.get.bind(this),this.has=Pt.YAMLMap.prototype.has.bind(this),this.set=Pt.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(fa.isPair(i)?(r=mi.toJS(i.key,"",n),o=mi.toJS(i.value,r,n)):r=mi.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=da.createPairs(e,n,s),r=new this;return r.items=i.items,r}};Fe.tag="tag:yaml.org,2002:omap";var dp={collection:"seq",identify:t=>t instanceof Map,nodeClass:Fe,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let n=da.resolvePairs(t,e),s=[];for(let{key:i}of n.items)fa.isScalar(i)&&(s.includes(i.value)?e(`Ordered maps must not include duplicate keys: ${i.value}`):s.push(i.value));return Object.assign(new Fe,n)},createNode:(t,e,n)=>Fe.from(t,e,n)};gi.YAMLOMap=Fe;gi.omap=dp});var ya=S(Si=>{"use strict";var pa=$();function ha({value:t,source:e},n){return e&&(t?ma:ga).test.test(e)?e:t?n.options.trueStr:n.options.falseStr}var ma={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 pa.Scalar(!0),stringify:ha},ga={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 pa.Scalar(!1),stringify:ha};Si.falseTag=ga;Si.trueTag=ma});var Sa=S(Un=>{"use strict";var pp=$(),vi=tt(),hp={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:vi.stringifyNumber},mp={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():vi.stringifyNumber(t)}},gp={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 pp.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:vi.stringifyNumber};Un.float=gp;Un.floatExp=mp;Un.floatNaN=hp});var wa=S($t=>{"use strict";var va=tt(),Mt=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 wi(t,e,n){let{value:s}=t;if(Mt(s)){let i=s.toString(e);return s<0?"-"+n+i.substr(1):n+i}return va.stringifyNumber(t)}var yp={identify:Mt,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=>wi(t,2,"0b")},Sp={identify:Mt,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=>wi(t,8,"0")},vp={identify:Mt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,n)=>jn(t,0,10,n),stringify:va.stringifyNumber},wp={identify:Mt,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=>wi(t,16,"0x")};$t.int=vp;$t.intBin=yp;$t.intHex=wp;$t.intOct=Sp});var Ei=S(bi=>{"use strict";var Vn=N(),Hn=Ie(),Yn=Ne(),Ue=class t extends Yn.YAMLMap{constructor(e){super(e),this.tag=t.tag}add(e){let n;Vn.isPair(e)?n=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?n=new Hn.Pair(e.key,null):n=new Hn.Pair(e,null),Yn.findPair(this.items,n.key)||this.items.push(n)}get(e,n){let s=Yn.findPair(this.items,e);return!n&&Vn.isPair(s)?Vn.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=Yn.findPair(this.items,e);s&&!n?this.items.splice(this.items.indexOf(s),1):!s&&n&&this.items.push(new Hn.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(Hn.createPair(o,null,s));return r}};Ue.tag="tag:yaml.org,2002:set";var bp={collection:"map",identify:t=>t instanceof Set,nodeClass:Ue,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,n)=>Ue.from(t,e,n),resolve(t,e){if(Vn.isMap(t)){if(t.hasAllNullValues(!0))return Object.assign(new Ue,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};bi.YAMLSet=Ue;bi.set=bp});var Ai=S(Gn=>{"use strict";var Ep=tt();function ki(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 ba(t){let{value:e}=t,n=o=>o;if(typeof e=="bigint")n=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return Ep.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 kp={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})=>ki(t,n),stringify:ba},Ap={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=>ki(t,!1),stringify:ba},Ea={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(Ea.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=ki(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$/,"")??""};Gn.floatTime=Ap;Gn.intTime=kp;Gn.timestamp=Ea});var _a=S(Aa=>{"use strict";var _p=Ze(),Ip=$n(),Op=et(),Np=Lt(),Tp=pi(),ka=ya(),_i=Sa(),Wn=wa(),Lp=In(),Cp=yi(),Pp=Fn(),Mp=Ei(),Ii=Ai(),$p=[_p.map,Op.seq,Np.string,Ip.nullTag,ka.trueTag,ka.falseTag,Wn.intBin,Wn.intOct,Wn.int,Wn.intHex,_i.floatNaN,_i.floatExp,_i.float,Tp.binary,Lp.merge,Cp.omap,Pp.pairs,Mp.set,Ii.intTime,Ii.floatTime,Ii.timestamp];Aa.schema=$p});var Da=S(Ti=>{"use strict";var Ta=Ze(),Dp=$n(),La=et(),qp=Lt(),Rp=ri(),Oi=ai(),Ni=ci(),Kp=ia(),xp=aa(),Ca=pi(),Dt=In(),Pa=yi(),Ma=Fn(),Ia=_a(),$a=Ei(),Jn=Ai(),Oa=new Map([["core",Kp.schema],["failsafe",[Ta.map,La.seq,qp.string]],["json",xp.schema],["yaml11",Ia.schema],["yaml-1.1",Ia.schema]]),Na={binary:Ca.binary,bool:Rp.boolTag,float:Oi.float,floatExp:Oi.floatExp,floatNaN:Oi.floatNaN,floatTime:Jn.floatTime,int:Ni.int,intHex:Ni.intHex,intOct:Ni.intOct,intTime:Jn.intTime,map:Ta.map,merge:Dt.merge,null:Dp.nullTag,omap:Pa.omap,pairs:Ma.pairs,seq:La.seq,set:$a.set,timestamp:Jn.timestamp},Bp={"tag:yaml.org,2002:binary":Ca.binary,"tag:yaml.org,2002:merge":Dt.merge,"tag:yaml.org,2002:omap":Pa.omap,"tag:yaml.org,2002:pairs":Ma.pairs,"tag:yaml.org,2002:set":$a.set,"tag:yaml.org,2002:timestamp":Jn.timestamp};function Fp(t,e,n){let s=Oa.get(e);if(s&&!t)return n&&!s.includes(Dt.merge)?s.concat(Dt.merge):s.slice();let i=s;if(!i)if(Array.isArray(t))i=[];else{let r=Array.from(Oa.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(Dt.merge)),i.reduce((r,o)=>{let a=typeof o=="string"?Na[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(Na).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},[])}Ti.coreKnownTags=Bp;Ti.getTags=Fp});var Pi=S(qa=>{"use strict";var Li=N(),Up=Ze(),jp=et(),Hp=Lt(),Qn=Da(),Yp=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0,Ci=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,Li.MAP,{value:Up.map}),Object.defineProperty(this,Li.SCALAR,{value:Hp.string}),Object.defineProperty(this,Li.SEQ,{value:jp.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?Yp:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};qa.Schema=Ci});var Ka=S(Ra=>{"use strict";var Vp=N(),Mi=It(),qt=Et();function Gp(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=Mi.createStringifyContext(t,e),{commentString:r}=i.options;if(t.commentBefore){n.length!==1&&n.unshift("");let l=r(t.commentBefore);n.unshift(qt.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(qt.indentComment(f,""))}i.forceBlockIndent=!!t.comment,a=t.contents.comment}let l=a?void 0:()=>o=!0,c=Mi.stringify(t.contents,i,()=>a=null,l);a&&(c+=qt.lineComment(c,"",r(a))),(c[0]==="|"||c[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${c}`:n.push(c)}else n.push(Mi.stringify(t.contents,i));if(t.directives?.docEnd)if(t.comment){let l=r(t.comment);l.includes(`
57
+ `)?(n.push("..."),n.push(qt.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(qt.indentComment(r(l),"")))}return n.join(`
58
58
  `)+`
59
- `}Ta.stringifyDocument=Ap});var qt=S(Ca=>{"use strict";var _p=wt(),Ze=yn(),J=O(),Ip=Ee(),Op=Se(),Np=Ii(),Tp=La(),Ni=pn(),Lp=Ps(),Cp=vt(),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){et(this.contents)&&this.contents.add(e)}addIn(e,n){et(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 _p.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=b=>typeof b=="number"||b instanceof String||b instanceof Number,w=n.filter(m).map(String);w.length>0&&(n=n.concat(w)),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=Cp.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 Ip.Pair(i,r)}delete(e){return et(this.contents)?this.contents.delete(e):!1}deleteIn(e){return Ze.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):et(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):et(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):et(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 Np.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=Op.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"?Lp.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 Tp.stringifyDocument(this,e)}};function et(t){if(J.isCollection(t))return!0;throw new Error("Expected a YAML collection as document contents")}Ca.Document=Li});var Bt=S(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)}},Pp=(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
+ `}Ra.stringifyDocument=Gp});var Rt=S(xa=>{"use strict";var Wp=wt(),nt=yn(),z=N(),Jp=Ie(),Qp=Ee(),zp=Pi(),Xp=Ka(),$i=pn(),Zp=Ks(),eh=bt(),Di=Rs(),qi=class t{constructor(e,n,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,z.NODE_TYPE,{value:z.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 Di.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,{[z.NODE_TYPE]:{value:z.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=z.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){st(this.contents)&&this.contents.add(e)}addIn(e,n){st(this.contents)&&this.contents.addIn(e,n)}createAlias(e,n){if(!e.anchor){let s=$i.anchorNames(this);e.anchor=!n||s.has(n)?$i.findNewAnchor(n||"a",s):n}return new Wp.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=b=>typeof b=="number"||b instanceof String||b instanceof Number,w=n.filter(m).map(String);w.length>0&&(n=n.concat(w)),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:p}=$i.createNodeAnchors(this,o||"a"),y={aliasDuplicateObjects:r??!0,keepUndefined:l??!1,onAnchor:u,onTagObj:c,replacer:i,schema:this.schema,sourceObjects:p},h=eh.createNode(e,f,y);return a&&z.isCollection(h)&&(h.flow=!0),d(),h}createPair(e,n,s={}){let i=this.createNode(e,null,s),r=this.createNode(n,null,s);return new Jp.Pair(i,r)}delete(e){return st(this.contents)?this.contents.delete(e):!1}deleteIn(e){return nt.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):st(this.contents)?this.contents.deleteIn(e):!1}get(e,n){return z.isCollection(this.contents)?this.contents.get(e,n):void 0}getIn(e,n){return nt.isEmptyPath(e)?!n&&z.isScalar(this.contents)?this.contents.value:this.contents:z.isCollection(this.contents)?this.contents.getIn(e,n):void 0}has(e){return z.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return nt.isEmptyPath(e)?this.contents!==void 0:z.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,n){this.contents==null?this.contents=nt.collectionFromPath(this.schema,[e],n):st(this.contents)&&this.contents.set(e,n)}setIn(e,n){nt.isEmptyPath(e)?this.contents=n:this.contents==null?this.contents=nt.collectionFromPath(this.schema,Array.from(e),n):st(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 Di.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 Di.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 zp.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=Qp.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"?Zp.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 Xp.stringifyDocument(this,e)}};function st(t){if(z.isCollection(t))return!0;throw new Error("Expected a YAML collection as document contents")}xa.Document=qi});var Bt=S(xt=>{"use strict";var Kt=class extends Error{constructor(e,n,s,i){super(),this.name=e,this.code=s,this.message=i,this.pos=n}},Ri=class extends Kt{constructor(e,n,s){super("YAMLParseError",e,n,s)}},Ki=class extends Kt{constructor(e,n,s){super("YAMLWarning",e,n,s)}},th=(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
- `}};Kt.YAMLError=Rt;Kt.YAMLParseError=Ci;Kt.YAMLWarning=Pi;Kt.prettifyError=Pp});var xt=S(Pa=>{"use strict";function Mp(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,w=null,b=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||w)&&(b=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":{w&&r(E,"MULTIPLE_TAGS","A node can have at most one tag"),w=E,k??(k=E.offset),c=!1,f=!1,y=!0;break}case n:(m||w)&&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:w,newlineAfterProp:b,end:N,start:k??N}}Pa.resolveProps=Mp});var zn=S(Ma=>{"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}}Ma.containsNewline=Mi});var $i=S($a=>{"use strict";var $p=zn();function Dp(t,e,n){if(e?.type==="flow-collection"){let s=e.end[0];s.indent===t&&(s.source==="]"||s.source==="}")&&$p.containsNewline(e)&&n(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}$a.flowIndentCheck=Dp});var Di=S(qa=>{"use strict";var Da=O();function qp(t,e,n){let{uniqueKeys:s}=t.options;if(s===!1)return!1;let i=typeof s=="function"?s:(r,o)=>r===o||Da.isScalar(r)&&Da.isScalar(o)&&r.value===o.value;return e.some(r=>i(r.key,n))}qa.mapIncludes=qp});var Ua=S(Fa=>{"use strict";var Ra=Ee(),Rp=Ae(),Ka=xt(),Kp=zn(),Ba=$i(),Bp=Di(),xa="All mapping items must start at the same column";function xp({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=r?.nodeClass??Rp.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=Ka.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",xa)),!p.anchor&&!p.tag&&!h){c=p.end,p.comment&&(a.comment?a.comment+=`
66
- `+p.comment:a.comment=p.comment);continue}(p.newlineAfterProp||Kp.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",xa);n.atKey=!0;let w=p.end,b=d?t(n,d,p,i):e(n,w,u,null,p,i);n.schema.compat&&Ba.flowIndentCheck(s.indent,d,i),n.atKey=!1,Bp.mapIncludes(n,a.items,b)&&i(w,"DUPLICATE_KEY","Map keys must be unique");let A=Ka.resolveProps(h??[],{indicator:"map-value-ind",next:y,offset:b.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(b.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&&Ba.flowIndentCheck(s.indent,y,i),l=_.range[2];let k=new Ra.Pair(b,_);n.options.keepSourceTokens&&(k.srcToken=f),a.items.push(k)}else{m&&i(b.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),A.comment&&(b.comment?b.comment+=`
67
- `+A.comment:b.comment=A.comment);let _=new Ra.Pair(b);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}Fa.resolveBlockMap=xp});var Ya=S(ja=>{"use strict";var Fp=_e(),Up=xt(),jp=$i();function Yp({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=r?.nodeClass??Fp.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=Up.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&&jp.flowIndentCheck(s.indent,u,i),l=h.range[2],a.items.push(h)}return a.range=[s.offset,l,c??l],a}ja.resolveBlockSeq=Yp});var tt=S(Ha=>{"use strict";function Hp(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}}Ha.resolveEnd=Hp});var Ja=S(Wa=>{"use strict";var Vp=O(),Gp=Ee(),Va=Ae(),Wp=_e(),Jp=tt(),Ga=xt(),Qp=zn(),zp=Di(),qi="Block collections are not allowed within flow collections",Ri=t=>t&&(t.type==="block-map"||t.type==="block-seq");function Xp({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=s.start.source==="{",a=o?"flow map":"flow sequence",l=r?.nodeClass??(o?Va.YAMLMap:Wp.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 w=s.items[m],{start:b,key:A,sep:_,value:k}=w,I=Ga.resolveProps(b,{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&&Qp.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 b)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];Vp.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,b,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 He=new Gp.Pair(E,me);if(n.options.keepSourceTokens&&(He.srcToken=w),o){let D=c;zp.mapIncludes(n,D.items,E)&&i(N,"DUPLICATE_KEY","Map keys must be unique"),D.items.push(He)}else{let D=new Va.YAMLMap(n.schema);D.flow=!0,D.items.push(He);let Vr=(me??E).range;D.range=[E.range[0],Vr[1],Vr[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),w=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",w),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}Wa.resolveFlowCollection=Xp});var za=S(Qa=>{"use strict";var Zp=O(),eh=$(),th=Ae(),nh=_e(),sh=Ua(),ih=Ya(),rh=Ja();function Ki(t,e,n,s,i,r){let o=n.type==="block-map"?sh.resolveBlockMap(t,e,n,s,r):n.type==="block-seq"?ih.resolveBlockSeq(t,e,n,s,r):rh.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 oh(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===th.YAMLMap.tagName&&a==="map"||o===nh.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 eh.Scalar(f);return u.range=c.range,u.tag=o,l?.format&&(u.format=l.format),u}Qa.composeCollection=oh});var xi=S(Xa=>{"use strict";var Bi=$();function ah(t,e,n){let s=e.offset,i=lh(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?ch(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
- `.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,w]=o[p];if(w===""||w==="\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+w.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,w]=o[p];c+=m.length+w.length+1;let b=w[w.length-1]==="\r";if(b&&(w=w.slice(0,-1)),w&&m.length<l){let _=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;n(c-w.length-(b?2:1),"BAD_INDENT",_),m=""}r===Bi.Scalar.BLOCK_LITERAL?(u+=d+m.slice(l)+w,d=`
64
+ `}};xt.YAMLError=Kt;xt.YAMLParseError=Ri;xt.YAMLWarning=Ki;xt.prettifyError=th});var Ft=S(Ba=>{"use strict";function nh(t,{flow:e,indicator:n,next:s,offset:i,onError:r,parentIndent:o,startOnNewline:a}){let l=!1,c=a,f=a,u="",d="",p=!1,y=!1,h=null,m=null,w=null,b=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),h&&(c&&E.type!=="comment"&&E.type!=="newline"&&r(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),E.type){case"space":!e&&(n!=="doc-start"||s?.type!=="flow-collection")&&E.source.includes(" ")&&(h=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,p=!0,(m||w)&&(b=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":{w&&r(E,"MULTIPLE_TAGS","A node can have at most one tag"),w=E,k??(k=E.offset),c=!1,f=!1,y=!0;break}case n:(m||w)&&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],T=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"),h&&(c&&h.indent<=o||s?.type==="block-map"||s?.type==="block-seq")&&r(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:A,found:_,spaceBefore:l,comment:u,hasNewline:p,anchor:m,tag:w,newlineAfterProp:b,end:T,start:k??T}}Ba.resolveProps=nh});var zn=S(Fa=>{"use strict";function xi(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(xi(e.key)||xi(e.value))return!0}return!1;default:return!0}}Fa.containsNewline=xi});var Bi=S(Ua=>{"use strict";var sh=zn();function ih(t,e,n){if(e?.type==="flow-collection"){let s=e.end[0];s.indent===t&&(s.source==="]"||s.source==="}")&&sh.containsNewline(e)&&n(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Ua.flowIndentCheck=ih});var Fi=S(Ha=>{"use strict";var ja=N();function rh(t,e,n){let{uniqueKeys:s}=t.options;if(s===!1)return!1;let i=typeof s=="function"?s:(r,o)=>r===o||ja.isScalar(r)&&ja.isScalar(o)&&r.value===o.value;return e.some(r=>i(r.key,n))}Ha.mapIncludes=rh});var Qa=S(Ja=>{"use strict";var Ya=Ie(),oh=Ne(),Va=Ft(),ah=zn(),Ga=Bi(),lh=Fi(),Wa="All mapping items must start at the same column";function ch({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=r?.nodeClass??oh.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:p,value:y}=f,h=Va.resolveProps(u,{indicator:"explicit-key-ind",next:d??p?.[0],offset:l,onError:i,parentIndent:s.indent,startOnNewline:!0}),m=!h.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",Wa)),!h.anchor&&!h.tag&&!p){c=h.end,h.comment&&(a.comment?a.comment+=`
66
+ `+h.comment:a.comment=h.comment);continue}(h.newlineAfterProp||ah.containsNewline(d))&&i(d??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else h.found?.indent!==s.indent&&i(l,"BAD_INDENT",Wa);n.atKey=!0;let w=h.end,b=d?t(n,d,h,i):e(n,w,u,null,h,i);n.schema.compat&&Ga.flowIndentCheck(s.indent,d,i),n.atKey=!1,lh.mapIncludes(n,a.items,b)&&i(w,"DUPLICATE_KEY","Map keys must be unique");let A=Va.resolveProps(p??[],{indicator:"map-value-ind",next:y,offset:b.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&&h.start<A.found.offset-1024&&i(b.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,p,null,A,i);n.schema.compat&&Ga.flowIndentCheck(s.indent,y,i),l=_.range[2];let k=new Ya.Pair(b,_);n.options.keepSourceTokens&&(k.srcToken=f),a.items.push(k)}else{m&&i(b.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),A.comment&&(b.comment?b.comment+=`
67
+ `+A.comment:b.comment=A.comment);let _=new Ya.Pair(b);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}Ja.resolveBlockMap=ch});var Xa=S(za=>{"use strict";var uh=Te(),fh=Ft(),dh=Bi();function ph({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=r?.nodeClass??uh.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=fh.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 p=u?t(n,u,d,i):e(n,d.end,f,null,d,i);n.schema.compat&&dh.flowIndentCheck(s.indent,u,i),l=p.range[2],a.items.push(p)}return a.range=[s.offset,l,c??l],a}za.resolveBlockSeq=ph});var it=S(Za=>{"use strict";function hh(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}}Za.resolveEnd=hh});var sl=S(nl=>{"use strict";var mh=N(),gh=Ie(),el=Ne(),yh=Te(),Sh=it(),tl=Ft(),vh=zn(),wh=Fi(),Ui="Block collections are not allowed within flow collections",ji=t=>t&&(t.type==="block-map"||t.type==="block-seq");function bh({composeNode:t,composeEmptyNode:e},n,s,i,r){let o=s.start.source==="{",a=o?"flow map":"flow sequence",l=r?.nodeClass??(o?el.YAMLMap:yh.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 w=s.items[m],{start:b,key:A,sep:_,value:k}=w,I=tl.resolveProps(b,{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&&vh.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 T="";e:for(let E of b)switch(E.type){case"comma":case"space":break;case"comment":T=E.source.substring(1);break e;default:break e}if(T){let E=c.items[c.items.length-1];mh.isPair(E)&&(E=E.value??E.key),E.comment?E.comment+=`
69
+ `+T:E.comment=T,I.comment=I.comment.substring(T.length+1)}}if(!o&&!_&&!I.found){let T=k?t(n,k,I,i):e(n,I.end,_,null,I,i);c.items.push(T),u=T.range[2],ji(k)&&i(T.range,"BLOCK_IN_FLOW",Ui)}else{n.atKey=!0;let T=I.end,E=A?t(n,A,I,i):e(n,T,b,null,I,i);ji(A)&&i(E.range,"BLOCK_IN_FLOW",Ui),n.atKey=!1;let M=tl.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 we=k?t(n,k,M,i):M.found?e(n,M.end,_,null,M,i):null;we?ji(k)&&i(we.range,"BLOCK_IN_FLOW",Ui):M.comment&&(E.comment?E.comment+=`
70
+ `+M.comment:E.comment=M.comment);let We=new gh.Pair(E,we);if(n.options.keepSourceTokens&&(We.srcToken=w),o){let D=c;wh.mapIncludes(n,D.items,E)&&i(T,"DUPLICATE_KEY","Map keys must be unique"),D.items.push(We)}else{let D=new el.YAMLMap(n.schema);D.flow=!0,D.items.push(We);let eo=(we??E).range;D.range=[E.range[0],eo[1],eo[2]],c.items.push(D)}u=we?we.range[2]:M.end}}let d=o?"}":"]",[p,...y]=s.end,h=u;if(p?.source===d)h=p.offset+p.source.length;else{let m=a[0].toUpperCase()+a.substring(1),w=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",w),p&&p.source.length!==1&&y.unshift(p)}if(y.length>0){let m=Sh.resolveEnd(y,h,n.options.strict,i);m.comment&&(c.comment?c.comment+=`
71
+ `+m.comment:c.comment=m.comment),c.range=[s.offset,h,m.offset]}else c.range=[s.offset,h,h];return c}nl.resolveFlowCollection=bh});var rl=S(il=>{"use strict";var Eh=N(),kh=$(),Ah=Ne(),_h=Te(),Ih=Qa(),Oh=Xa(),Nh=sl();function Hi(t,e,n,s,i,r){let o=n.type==="block-map"?Ih.resolveBlockMap(t,e,n,s,r):n.type==="block-seq"?Oh.resolveBlockSeq(t,e,n,s,r):Nh.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 Th(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:p}=s,y=d&&r?d.offset>r.offset?d:r:d??r;y&&(!p||p.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===Ah.YAMLMap.tagName&&a==="map"||o===_h.YAMLSeq.tagName&&a==="seq")return Hi(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),Hi(t,e,n,i,o)}let c=Hi(t,e,n,i,o,l),f=l.resolve?.(c,d=>i(r,"TAG_RESOLVE_FAILED",d),e.options)??c,u=Eh.isNode(f)?f:new kh.Scalar(f);return u.range=c.range,u.tag=o,l?.format&&(u.format=l.format),u}il.composeCollection=Th});var Vi=S(ol=>{"use strict";var Yi=$();function Lh(t,e,n){let s=e.offset,i=Ch(e,t.options.strict,n);if(!i)return{value:"",type:null,comment:"",range:[s,s,s]};let r=i.mode===">"?Yi.Scalar.BLOCK_FOLDED:Yi.Scalar.BLOCK_LITERAL,o=e.source?Ph(e.source):[],a=o.length;for(let h=o.length-1;h>=0;--h){let m=o[h][1];if(m===""||m==="\r")a=h;else break}if(a===0){let h=i.chomp==="+"&&o.length>0?`
72
+ `.repeat(Math.max(1,o.length-1)):"",m=s+i.length;return e.source&&(m+=e.source.length),{value:h,type:r,comment:i.comment,range:[s,m,m]}}let l=e.indent+i.indent,c=e.offset+i.length,f=0;for(let h=0;h<a;++h){let[m,w]=o[h];if(w===""||w==="\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=h,l===0&&!t.atRoot&&n(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=m.length+w.length+1}for(let h=o.length-1;h>=a;--h)o[h][0].length>l&&(a=h+1);let u="",d="",p=!1;for(let h=0;h<f;++h)u+=o[h][0].slice(l)+`
73
+ `;for(let h=f;h<a;++h){let[m,w]=o[h];c+=m.length+w.length+1;let b=w[w.length-1]==="\r";if(b&&(w=w.slice(0,-1)),w&&m.length<l){let _=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;n(c-w.length-(b?2:1),"BAD_INDENT",_),m=""}r===Yi.Scalar.BLOCK_LITERAL?(u+=d+m.slice(l)+w,d=`
74
74
  `):m.length>l||w[0]===" "?(d===" "?d=`
75
- `:!h&&d===`
75
+ `:!p&&d===`
76
76
  `&&(d=`
77
77
 
78
78
  `),u+=d+m.slice(l)+w,d=`
79
- `,h=!0):w===""?d===`
79
+ `,p=!0):w===""?d===`
80
80
  `?u+=`
81
81
  `:d=`
82
- `:(u+=d+w,d=" ",h=!1)}switch(i.chomp){case"-":break;case"+":for(let p=a;p<o.length;++p)u+=`
83
- `+o[p][0].slice(l);u[u.length-1]!==`
82
+ `:(u+=d+w,d=" ",p=!1)}switch(i.chomp){case"-":break;case"+":for(let h=a;h<o.length;++h)u+=`
83
+ `+o[h][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 lh({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 ch(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}Xa.resolveBlockScalar=ah});var Ui=S(el=>{"use strict";var Fi=$(),uh=tt();function fh(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=dh(r,c);break;case"single-quoted-scalar":a=Fi.Scalar.QUOTE_SINGLE,l=ph(r,c);break;case"double-quoted-scalar":a=Fi.Scalar.QUOTE_DOUBLE,l=hh(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=uh.resolveEnd(o,f,e,n);return{value:l,type:a,comment:u.comment,range:[s,f,u.offset]}}function dh(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}`),Za(t)}function ph(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),Za(t.slice(1,-1)).replace(/''/g,"'")}function Za(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 Ch({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 p=i[d];if(!a&&(p==="-"||p==="+"))a=p;else{let y=Number(p);!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 p=e[d];switch(p.type){case"space":c=!0;case"newline":u+=p.source.length;break;case"comment":n&&!c&&s(p,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),u+=p.source.length,f=p.source.substring(1);break;case"error":s(p,"UNEXPECTED_TOKEN",p.message),u+=p.source.length;break;default:{let y=`Unexpected token in block scalar header: ${p.type}`;s(p,"UNEXPECTED_TOKEN",y);let h=p.source;h&&typeof h=="string"&&(u+=h.length)}}}return{mode:r,indent:o,chomp:a,comment:f,length:u}}function Ph(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}ol.resolveBlockScalar=Lh});var Wi=S(ll=>{"use strict";var Gi=$(),Mh=it();function $h(t,e,n){let{offset:s,type:i,source:r,end:o}=t,a,l,c=(d,p,y)=>n(s+d,p,y);switch(i){case"scalar":a=Gi.Scalar.PLAIN,l=Dh(r,c);break;case"single-quoted-scalar":a=Gi.Scalar.QUOTE_SINGLE,l=qh(r,c);break;case"double-quoted-scalar":a=Gi.Scalar.QUOTE_DOUBLE,l=Rh(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=Mh.resolveEnd(o,f,e,n);return{value:l,type:a,comment:u.comment,range:[s,f,u.offset]}}function Dh(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}`),al(t)}function qh(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),al(t.slice(1,-1)).replace(/''/g,"'")}function al(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 hh(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 Rh(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}=mh(t,s);n+=r,s=o}else if(i==="\\"){let r=t[++s],o=gh[r];if(o)n+=o;else if(r===`
92
+ `){let{fold:r,offset:o}=Kh(t,s);n+=r,s=o}else if(i==="\\"){let r=t[++s],o=xh[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+=yh(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+=Bh(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 mh(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 Kh(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 gh={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 yh(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)}el.resolveFlowScalar=fh});var sl=S(nl=>{"use strict";var Be=O(),tl=$(),Sh=xi(),wh=Ui();function vh(t,e,n,s){let{value:i,type:r,comment:o,range:a}=e.type==="block-scalar"?Sh.resolveBlockScalar(t,e,s):wh.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[Be.SCALAR]:l?c=bh(t.schema,i,l,n,s):e.type==="scalar"?c=Eh(t,i,e,s):c=t.schema[Be.SCALAR];let f;try{let u=c.resolve(i,d=>s(n??e,"TAG_RESOLVE_FAILED",d),t.options);f=Be.isScalar(u)?u:new tl.Scalar(u)}catch(u){let d=u instanceof Error?u.message:String(u);s(n??e,"TAG_RESOLVE_FAILED",d),f=new tl.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 bh(t,e,n,s,i){if(n==="!")return t[Be.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[Be.SCALAR])}function Eh({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[Be.SCALAR];if(n.compat){let a=n.compat.find(l=>l.default&&l.test?.test(s))??n[Be.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}nl.composeScalar=vh});var rl=S(il=>{"use strict";function kh(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}il.emptyScalarPosition=kh});var ll=S(Yi=>{"use strict";var Ah=wt(),_h=O(),Ih=za(),ol=sl(),Oh=tt(),Nh=rl(),Th={composeNode:al,composeEmptyNode:ji};function al(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=Lh(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=ol.composeScalar(t,e,l,s),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=Ih.composeCollection(Th,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&&(!_h.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:Nh.emptyScalarPosition(e,n,s),indent:-1,source:""},u=ol.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 Lh({options:t},{offset:e,source:n,end:s},i){let r=new Ah.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=Oh.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=al});var fl=S(ul=>{"use strict";var Ch=qt(),cl=ll(),Ph=tt(),Mh=xt();function $h(t,e,{offset:n,start:s,value:i,end:r},o){let a=Object.assign({_directives:e},t),l=new Ch.Document(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},f=Mh.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?cl.composeNode(c,i,f,o):cl.composeEmptyNode(c,f.end,s,null,f,o);let u=l.contents.range[2],d=Ph.resolveEnd(r,u,!1,o);return d.comment&&(l.comment=d.comment),l.range=[n,u,d.offset],l}ul.composeDoc=$h});var Vi=S(hl=>{"use strict";var Dh=ge("process"),qh=Cs(),Rh=qt(),Ft=Bt(),dl=O(),Kh=fl(),Bh=tt();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 pl(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 xh={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 Bh(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)}ll.resolveFlowScalar=$h});var fl=S(ul=>{"use strict";var je=N(),cl=$(),Fh=Vi(),Uh=Wi();function jh(t,e,n,s){let{value:i,type:r,comment:o,range:a}=e.type==="block-scalar"?Fh.resolveBlockScalar(t,e,s):Uh.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[je.SCALAR]:l?c=Hh(t.schema,i,l,n,s):e.type==="scalar"?c=Yh(t,i,e,s):c=t.schema[je.SCALAR];let f;try{let u=c.resolve(i,d=>s(n??e,"TAG_RESOLVE_FAILED",d),t.options);f=je.isScalar(u)?u:new cl.Scalar(u)}catch(u){let d=u instanceof Error?u.message:String(u);s(n??e,"TAG_RESOLVE_FAILED",d),f=new cl.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 Hh(t,e,n,s,i){if(n==="!")return t[je.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[je.SCALAR])}function Yh({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[je.SCALAR];if(n.compat){let a=n.compat.find(l=>l.default&&l.test?.test(s))??n[je.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}ul.composeScalar=jh});var pl=S(dl=>{"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}dl.emptyScalarPosition=Vh});var gl=S(Qi=>{"use strict";var Gh=wt(),Wh=N(),Jh=rl(),hl=fl(),Qh=it(),zh=pl(),Xh={composeNode:ml,composeEmptyNode:Ji};function ml(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=Zh(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=hl.composeScalar(t,e,l,s),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=Jh.composeCollection(Xh,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&&(!Wh.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:zh.emptyScalarPosition(e,n,s),indent:-1,source:""},u=hl.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 Zh({options:t},{offset:e,source:n,end:s},i){let r=new Gh.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=Qh.resolveEnd(s,o,t.strict,i);return r.range=[e,o,a.offset],a.comment&&(r.comment=a.comment),r}Qi.composeEmptyNode=Ji;Qi.composeNode=ml});var vl=S(Sl=>{"use strict";var em=Rt(),yl=gl(),tm=it(),nm=Ft();function sm(t,e,{offset:n,start:s,value:i,end:r},o){let a=Object.assign({_directives:e},t),l=new em.Document(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},f=nm.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?yl.composeNode(c,i,f,o):yl.composeEmptyNode(c,f.end,s,null,f,o);let u=l.contents.range[2],d=tm.resolveEnd(r,u,!1,o);return d.comment&&(l.comment=d.comment),l.range=[n,u,d.offset],l}Sl.composeDoc=sm});var Xi=S(El=>{"use strict";var im=be("process"),rm=Rs(),om=Rt(),Ut=Bt(),wl=N(),am=vl(),lm=it();function jt(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 bl(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 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 qh.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,n){let{comment:s,afterEmptyLine:i}=pl(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(dl.isCollection(r)&&!r.flow&&r.items.length>0){let o=r.items[0];dl.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 zi=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,s,i,r)=>{let o=jt(n);r?this.warnings.push(new Ut.YAMLWarning(o,s,i)):this.errors.push(new Ut.YAMLParseError(o,s,i))},this.directives=new rm.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,n){let{comment:s,afterEmptyLine:i}=bl(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(wl.isCollection(r)&&!r.flow&&r.items.length>0){let o=r.items[0];wl.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:pl(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(Dh.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=Kh.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=Bh.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 Rh.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}}};hl.Composer=Hi});var yl=S(Xn=>{"use strict";var xh=xi(),Fh=Ui(),Uh=Bt(),ml=At();function jh(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 Uh.YAMLParseError([a,a+1],r,o)};switch(t.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return Fh.resolveFlowScalar(t,e,s);case"block-scalar":return xh.resolveBlockScalar({options:{strict:e}},t,s)}}return null}function Yh(t,e){let{implicitKey:n=!1,indent:s,inFlow:i=!1,offset:r=-1,type:o="PLAIN"}=e,a=ml.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:bl(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(im.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(n,s,i)=>{let r=jt(e);r[0]+=n,this.onError(r,"BAD_DIRECTIVE",s,i)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let n=am.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 Ut.YAMLParseError(jt(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 Ut.YAMLParseError(jt(e),"UNEXPECTED_TOKEN",s));break}this.doc.directives.docEnd=!0;let n=lm.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 Ut.YAMLParseError(jt(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 om.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}}};El.Composer=zi});var _l=S(Xn=>{"use strict";var cm=Vi(),um=Wi(),fm=Bt(),kl=_t();function dm(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 fm.YAMLParseError([a,a+1],r,o)};switch(t.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return um.resolveFlowScalar(t,e,s);case"block-scalar":return cm.resolveBlockScalar({options:{strict:e}},t,s)}}return null}function pm(t,e){let{implicitKey:n=!1,indent:s,inFlow:i=!1,offset:r=-1,type:o="PLAIN"}=e,a=kl.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 gl(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 Hh(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=ml.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">":Vh(t,l);break;case'"':Gi(t,l,"double-quoted-scalar");break;case"'":Gi(t,l,"single-quoted-scalar");break;default:Gi(t,l,"scalar")}}function Vh(t,e){let n=e.indexOf(`
111
+ `,d=[{type:"block-scalar-header",offset:r,indent:s,source:f}];return Al(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 hm(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=kl.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">":mm(t,l);break;case'"':Zi(t,l,"double-quoted-scalar");break;case"'":Zi(t,l,"single-quoted-scalar");break;default:Zi(t,l,"scalar")}}function mm(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}];gl(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 gl(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 Gi(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=Yh;Xn.resolveAsScalar=jh;Xn.setScalarValue=Hh});var wl=S(Sl=>{"use strict";var Gh=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}Sl.stringify=Gh});var kl=S(El=>{"use strict";var Wi=Symbol("break visit"),Wh=Symbol("skip children"),vl=Symbol("remove item");function xe(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),bl(Object.freeze([]),t,e)}xe.BREAK=Wi;xe.SKIP=Wh;xe.REMOVE=vl;xe.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};xe.parentCollection=(t,e)=>{let n=xe.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===vl&&(r.items.splice(o,1),o-=1)}}typeof s=="function"&&i==="key"&&(s=s(e,t))}}return typeof s=="function"?s(e,t):s}El.visit=xe});var ts=S(W=>{"use strict";var Ji=yl(),Jh=wl(),Qh=kl(),Qi="\uFEFF",zi="",Xi="",Zi="",zh=t=>!!t&&"items"in t,Xh=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 em(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`
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}];Al(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 Al(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 Zi(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=pm;Xn.resolveAsScalar=dm;Xn.setScalarValue=hm});var Ol=S(Il=>{"use strict";var gm=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}Il.stringify=gm});var Cl=S(Ll=>{"use strict";var er=Symbol("break visit"),ym=Symbol("skip children"),Nl=Symbol("remove item");function He(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),Tl(Object.freeze([]),t,e)}He.BREAK=er;He.SKIP=ym;He.REMOVE=Nl;He.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};He.parentCollection=(t,e)=>{let n=He.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 Tl(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=Tl(Object.freeze(t.concat([[i,o]])),r.items[o],n);if(typeof a=="number")o=a-1;else{if(a===er)return er;a===Nl&&(r.items.splice(o,1),o-=1)}}typeof s=="function"&&i==="key"&&(s=s(e,t))}}return typeof s=="function"?s(e,t):s}Ll.visit=He});var ts=S(J=>{"use strict";var tr=_l(),Sm=Ol(),vm=Cl(),nr="\uFEFF",sr="",ir="",rr="",wm=t=>!!t&&"items"in t,bm=t=>!!t&&(t.type==="scalar"||t.type==="single-quoted-scalar"||t.type==="double-quoted-scalar"||t.type==="block-scalar");function Em(t){switch(t){case nr:return"<BOM>";case sr:return"<DOC>";case ir:return"<FLOW_END>";case rr:return"<SCALAR>";default:return JSON.stringify(t)}}function km(t){switch(t){case nr:return"byte-order-mark";case sr:return"doc-mode";case ir:return"flow-error-end";case rr: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=Ji.createScalarToken;W.resolveAsScalar=Ji.resolveAsScalar;W.setScalarValue=Ji.setScalarValue;W.stringify=Jh.stringify;W.visit=Qh.visit;W.BOM=Qi;W.DOCUMENT=zi;W.FLOW_END=Xi;W.SCALAR=Zi;W.isCollection=zh;W.isScalar=Xh;W.prettyToken=Zh;W.tokenType=em});var nr=S(_l=>{"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 Al=new Set("0123456789ABCDEFabcdef"),tm=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),ns=new Set(",[]{}"),nm=new Set(` ,[]{}
120
- \r `),er=t=>!t||nm.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===`
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}J.createScalarToken=tr.createScalarToken;J.resolveAsScalar=tr.resolveAsScalar;J.setScalarValue=tr.setScalarValue;J.stringify=Sm.stringify;J.visit=vm.visit;J.BOM=nr;J.DOCUMENT=sr;J.FLOW_END=ir;J.SCALAR=rr;J.isCollection=wm;J.isScalar=bm;J.prettyToken=Em;J.tokenType=km});var lr=S(Ml=>{"use strict";var Ht=ts();function te(t){switch(t){case void 0:case" ":case`
119
+ `:case"\r":case" ":return!0;default:return!1}}var Pl=new Set("0123456789ABCDEFabcdef"),Am=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),ns=new Set(",[]{}"),_m=new Set(` ,[]{}
120
+ \r `),or=t=>!t||_m.has(t),ar=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==="...")&&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(`
124
+ `||s>=this.indentNext||!n&&!this.atEnd?e+s:-1}if(n==="-"||n==="."){let s=this.buffer.substr(e,3);if((s==="---"||s==="...")&&te(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]===Ht.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 Ht.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==="...")&&te(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&&!te(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===":")&&te(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(or),"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("..."))&&te(i[3]))&&!(s===this.indentNext-1&&this.flowLevel===1&&(i[0]==="]"||i[0]==="}")))return this.flowLevel=0,yield Ht.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(or),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||te(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=>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`
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=>te(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 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===`
132
+ `&&r>=this.pos&&r+1+n>a)e=r;else break}while(!0);return yield Ht.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(te(r)||e&&ns.has(r))break;n=s}else if(te(i)){let r=this.buffer[s+1];if(i==="\r"&&(r===`
133
133
  `?(s+=1,i=`
134
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(tm.has(n))n=this.buffer[++e];else if(n==="%"&&Al.has(this.buffer[e+1])&&Al.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===`
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 Ht.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(or))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let e=this.flowLevel>0,n=this.charAt(1);if(te(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(;!te(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(Am.has(n))n=this.buffer[++e];else if(n==="%"&&Pl.has(this.buffer[e+1])&&Pl.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)}};_l.Lexer=tr});var ir=S(Il=>{"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}}}};Il.LineCounter=sr});var or=S(Cl=>{"use strict";var sm=ge("process"),Ol=ts(),im=nr();function Ie(t,e){for(let n=0;n<t.length;++n)if(t[n].type===e)return!0;return!1}function Nl(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 Ll(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 nt(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 Tl(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,Ll(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 im.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,sm.env.LOG_TOKENS&&console.log("|",Ol.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let n=Ol.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"&&Tl(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&&Nl(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":{Nl(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=nt(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)}};Ml.Lexer=ar});var ur=S($l=>{"use strict";var cr=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=cr});var dr=S(xl=>{"use strict";var Im=be("process"),Dl=ts(),Om=lr();function Le(t,e){for(let n=0;n<t.length;++n)if(t[n].type===e)return!0;return!1}function ql(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 Kl(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 rt(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 Rl(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!Le(e.start,"explicit-key-ind")&&!Le(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Kl(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 fr=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 Om.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,Im.env.LOG_TOKENS&&console.log("|",Dl.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let n=Dl.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"&&Rl(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&&ql(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":{ql(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=rt(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(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(Ll(n.key)&&!Ie(n.sep,"newline")){let o=nt(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=nt(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=nt(i);Tl(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(Le(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(Kl(n.key)&&!Le(n.sep,"newline")){let o=rt(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(Le(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{let o=rt(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]}):Le(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&&!Le(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||Le(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=rt(i);Rl(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=ss(e),s=nt(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=nt(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())}}};Cl.Parser=rr});var ql=S(Ht=>{"use strict";var Pl=Vi(),rm=qt(),Yt=Bt(),om=Ys(),am=O(),lm=ir(),Ml=or();function $l(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new lm.LineCounter||null,prettyErrors:e}}function cm(t,e={}){let{lineCounter:n,prettyErrors:s}=$l(e),i=new Ml.Parser(n?.addNewLine),r=new Pl.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 Dl(t,e={}){let{lineCounter:n,prettyErrors:s}=$l(e),i=new Ml.Parser(n?.addNewLine),r=new Pl.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 um(t,e,n){let s;typeof e=="function"?s=e:n===void 0&&e&&typeof e=="object"&&(n=e);let i=Dl(t,n);if(!i)return null;if(i.warnings.forEach(r=>om.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 fm(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 am.isDocument(t)&&!s?t.toString(n):new rm.Document(t,s,n).toString(n)}Ht.parse=um;Ht.parseAllDocuments=cm;Ht.parseDocument=Dl;Ht.stringify=fm});var fe=S(T=>{"use strict";var dm=Vi(),pm=qt(),hm=Ii(),ar=Bt(),mm=wt(),Oe=O(),gm=Ee(),ym=$(),Sm=Ae(),wm=_e(),vm=ts(),bm=nr(),Em=ir(),km=or(),is=ql(),Rl=mt();T.Composer=dm.Composer;T.Document=pm.Document;T.Schema=hm.Schema;T.YAMLError=ar.YAMLError;T.YAMLParseError=ar.YAMLParseError;T.YAMLWarning=ar.YAMLWarning;T.Alias=mm.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=gm.Pair;T.Scalar=ym.Scalar;T.YAMLMap=Sm.YAMLMap;T.YAMLSeq=wm.YAMLSeq;T.CST=vm;T.Lexer=bm.Lexer;T.LineCounter=Em.LineCounter;T.Parser=km.Parser;T.parse=is.parse;T.parseAllDocuments=is.parseAllDocuments;T.parseDocument=is.parseDocument;T.stringify=is.stringify;T.visit=Rl.visit;T.visitAsync=Rl.visitAsync});import{execFileSync as R}from"node:child_process";import{writeFileSync as Am,unlinkSync as _m}from"node:fs";import{resolve as Im}from"node:path";import{tmpdir as Om}from"node:os";function lr(t){try{return R("which",[t],Vt),!0}catch{return!1}}function Kl(t){try{return R("brew",["list",t],Vt),!0}catch{return!1}}function Nm(t){try{return R("brew",["services","list"],Vt).split(`
142
- `).some(n=>n.startsWith(t)&&n.includes("started"))}catch{return!1}}async function Bl(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 xl(){console.log(`Checking prerequisites...
143
- `);let t=0;for(let e of Tm){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=rt(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=rt(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())}}};xl.Parser=fr});var Hl=S(Vt=>{"use strict";var Bl=Xi(),Nm=Rt(),Yt=Bt(),Tm=Qs(),Lm=N(),Cm=ur(),Fl=dr();function Ul(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new Cm.LineCounter||null,prettyErrors:e}}function Pm(t,e={}){let{lineCounter:n,prettyErrors:s}=Ul(e),i=new Fl.Parser(n?.addNewLine),r=new Bl.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 jl(t,e={}){let{lineCounter:n,prettyErrors:s}=Ul(e),i=new Fl.Parser(n?.addNewLine),r=new Bl.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 Mm(t,e,n){let s;typeof e=="function"?s=e:n===void 0&&e&&typeof e=="object"&&(n=e);let i=jl(t,n);if(!i)return null;if(i.warnings.forEach(r=>Tm.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 $m(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 Lm.isDocument(t)&&!s?t.toString(n):new Nm.Document(t,s,n).toString(n)}Vt.parse=Mm;Vt.parseAllDocuments=Pm;Vt.parseDocument=jl;Vt.stringify=$m});var he=S(L=>{"use strict";var Dm=Xi(),qm=Rt(),Rm=Pi(),pr=Bt(),Km=wt(),Ce=N(),xm=Ie(),Bm=$(),Fm=Ne(),Um=Te(),jm=ts(),Hm=lr(),Ym=ur(),Vm=dr(),is=Hl(),Yl=gt();L.Composer=Dm.Composer;L.Document=qm.Document;L.Schema=Rm.Schema;L.YAMLError=pr.YAMLError;L.YAMLParseError=pr.YAMLParseError;L.YAMLWarning=pr.YAMLWarning;L.Alias=Km.Alias;L.isAlias=Ce.isAlias;L.isCollection=Ce.isCollection;L.isDocument=Ce.isDocument;L.isMap=Ce.isMap;L.isNode=Ce.isNode;L.isPair=Ce.isPair;L.isScalar=Ce.isScalar;L.isSeq=Ce.isSeq;L.Pair=xm.Pair;L.Scalar=Bm.Scalar;L.YAMLMap=Fm.YAMLMap;L.YAMLSeq=Um.YAMLSeq;L.CST=jm;L.Lexer=Hm.Lexer;L.LineCounter=Ym.LineCounter;L.Parser=Vm.Parser;L.parse=is.parse;L.parseAllDocuments=is.parseAllDocuments;L.parseDocument=is.parseDocument;L.stringify=is.stringify;L.visit=Yl.visit;L.visitAsync=Yl.visitAsync});import{execFileSync as R}from"node:child_process";import{writeFileSync as Gm,unlinkSync as Wm}from"node:fs";import{resolve as Jm}from"node:path";import{tmpdir as Qm}from"node:os";function hr(t){try{return R("which",[t],Gt),!0}catch{return!1}}function Vl(t){try{return R("brew",["list",t],Gt),!0}catch{return!1}}function zm(t){try{return R("brew",["services","list"],Gt).split(`
142
+ `).some(n=>n.startsWith(t)&&n.includes("started"))}catch{return!1}}async function Gl(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 Wl(){console.log(`Checking prerequisites...
143
+ `);let t=0;for(let e of Xm){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 Vt,Tm,Fl=L(()=>{"use strict";Vt={encoding:"utf-8",stdio:"pipe"};Tm=[{name:"Xcode CLI Tools",required:!0,check:()=>{try{return R("xcode-select",["-p"],Vt),!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=Im(Om(),"brew-install.sh"),e=R("curl",["-fsSL","https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"],{encoding:"utf-8"});Am(t,e,{mode:493}),R("/bin/bash",[t],{stdio:"inherit"}),_m(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:()=>Nm("mongodb-community"),install:()=>{Kl("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:()=>Bl("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"],Vt);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:()=>Bl("http://127.0.0.1:6333/"),install:()=>{Kl("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 Ul(t){return t!=null&&t!==""&&t!==!1}function jl(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,Ul(cr(e,i))?r:"")),t=t.replace(/\{\{\^([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}([\s\S]*?)\{\{\/\1\}\}/g,(s,i,r)=>(n=!0,Ul(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 Yl=L(()=>{"use strict"});var as={};Q(as,{startDaemon:()=>fr,stopDaemon:()=>dr});import{execFileSync as rs}from"node:child_process";import{existsSync as Gt,readFileSync as Lm,writeFileSync as Cm,mkdirSync as ur,symlinkSync as Pm,unlinkSync as Hl}from"node:fs";import{resolve as de}from"node:path";function Mm(){let t=de(P,process.env.HIVE_CONFIG??"hive.yaml");return Gt(t)?((0,Vl.parse)(Lm(t,"utf-8"))??{}).instance?.id??"hive":"hive"}function os(){return`com.hive.${Mm()}.agent`}function $m(){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=$m(),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=Gt(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,Xm,Jl=O(()=>{"use strict";Gt={encoding:"utf-8",stdio:"pipe"};Xm=[{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:()=>hr("brew"),install:()=>{console.log(" Installing Homebrew...");let t=Jm(Qm(),"brew-install.sh"),e=R("curl",["-fsSL","https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"],{encoding:"utf-8"});Gm(t,e,{mode:493}),R("/bin/bash",[t],{stdio:"inherit"}),Wm(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:()=>zm("mongodb-community"),install:()=>{Vl("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:()=>Gl("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(!hr("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:()=>Gl("http://127.0.0.1:6333/"),install:()=>{Vl("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:()=>hr("gh"),install:()=>{console.log(" Installing gh CLI..."),R("brew",["install","gh"],{stdio:"inherit"})}}]});import{existsSync as rs,mkdirSync as mr,statSync as Zm}from"node:fs";import{execFileSync as Ql}from"node:child_process";import{resolve as Wt,dirname as eg}from"node:path";function zl(t,e,n={}){let s=Wt(e,".hive");if(rs(s))throw new Error(`Engine already populated at ${s}. If this is a resume after an interrupted init, rm -rf ${s} and re-run 'hive init'. populateEngine does not silently overwrite.`);mr(s,{recursive:!0});for(let i of tg){let r=Wt(t,i);if(!rs(r))continue;let o=Wt(s,i);mr(eg(o),{recursive:!0});let a=Zm(r).isDirectory(),l=a?`${r}/`:r,c=a?`${o}/`:o;a&&mr(o,{recursive:!0}),Ql("rsync",["-a",l,c])}n.skipInstall||gr(s)}function gr(t){rs(Wt(t,"package.json"))&&(rs(Wt(t,"node_modules"))||Ql("npm",["install","--omit=dev","--no-audit","--no-fund","--no-progress"],{cwd:t,stdio:"inherit"}))}var tg,Xl=O(()=>{"use strict";tg=["pkg","seeds","templates","scripts/honeypot","install","service","package.json"]});function yr(t,e){let n=e.split("."),s=t;for(let i of n)if(s=s?.[i],s===void 0)return;return s}function Zl(t){return t!=null&&t!==""&&t!==!1}function ec(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,Zl(yr(e,i))?r:"")),t=t.replace(/\{\{\^([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}([\s\S]*?)\{\{\/\1\}\}/g,(s,i,r)=>(n=!0,Zl(yr(e,i))?"":r));return t=t.replace(/\{\{([\w][\w-]*(?:\.[\w][\w-]*)*)\}\}/g,(s,i)=>{let r=yr(e,i);return r===void 0?s:String(r)}),t}var tc=O(()=>{"use strict"});var ls={};Q(ls,{buildPlist:()=>rc,startDaemon:()=>ag,stopDaemon:()=>lg});import{execFileSync as os}from"node:child_process";import{existsSync as Jt,readFileSync as ng,writeFileSync as sg,mkdirSync as Sr,symlinkSync as ig,unlinkSync as nc}from"node:fs";import{resolve as me}from"node:path";function rg(){let t=me(P,process.env.HIVE_CONFIG??"hive.yaml");return Jt(t)?((0,sc.parse)(ng(t,"utf-8"))??{}).instance?.id??"hive":"hive"}function as(){return`com.hive.${rg()}.agent`}function og(){return me(P,"service",`${as()}.plist`)}function ic(){let t=process.env.HOME??"/tmp";return me(t,"Library","LaunchAgents",`${as()}.plist`)}function rc(t){let{label:e,nodePath:n,serverPath:s,hiveHome:i,home:r,pathEnv:o,logsDir:a}=t;return`<?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>
@@ -151,21 +151,21 @@ All prerequisites ready.`)}var Vt,Tm,Fl=L(()=>{"use strict";Vt={encoding:"utf-8"
151
151
 
152
152
  <key>ProgramArguments</key>
153
153
  <array>
154
- <string>${o}</string>
155
- <string>${a}</string>
154
+ <string>${n}</string>
155
+ <string>${s}</string>
156
156
  </array>
157
157
 
158
158
  <key>WorkingDirectory</key>
159
- <string>${P}</string>
159
+ <string>${i}</string>
160
160
 
161
161
  <key>EnvironmentVariables</key>
162
162
  <dict>
163
163
  <key>HIVE_HOME</key>
164
- <string>${P}</string>
164
+ <string>${i}</string>
165
165
  <key>PATH</key>
166
- <string>${c}</string>
166
+ <string>${o}</string>
167
167
  <key>HOME</key>
168
- <string>${l}</string>
168
+ <string>${r}</string>
169
169
  </dict>
170
170
 
171
171
  <key>RunAtLoad</key>
@@ -181,74 +181,74 @@ All prerequisites ready.`)}var Vt,Tm,Fl=L(()=>{"use strict";Vt={encoding:"utf-8"
181
181
  <integer>10</integer>
182
182
 
183
183
  <key>StandardOutPath</key>
184
- <string>${r}/hive.log</string>
184
+ <string>${a}/hive.log</string>
185
185
  <key>StandardErrorPath</key>
186
- <string>${r}/hive.err</string>
186
+ <string>${a}/hive.err</string>
187
187
  </dict>
188
188
  </plist>
189
- `;Cm(n,f),console.log(`Generated plist: ${n}`);let u=de(s,"..");ur(u,{recursive:!0}),Gt(s)&&Hl(s),Pm(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(!Gt(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{Gt(t)&&Hl(t),console.log(`Removed ${t}`)}catch{}}var Vl,Wt=L(()=>{"use strict";Vl=le(fe(),1);z()});var lc={};Q(lc,{runWizard:()=>Km});import{createInterface as Dm}from"node:readline";import{readFileSync as st,writeFileSync as ic,existsSync as H,readdirSync as qm}from"node:fs";import{execFileSync as j}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=>{rc.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 Rm(){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 oc(){if(!H(ls))return{};let t={};for(let e of st(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}`);ic(ls,e.join(`
189
+ `}async function ag(){let t=as(),e=og(),n=ic(),s=me(P,"service"),i=me(P,"logs");Sr(s,{recursive:!0}),Sr(i,{recursive:!0});let r=os("which",["node"],{encoding:"utf-8"}).trim(),o=Jt(me(Z,"pkg","server.min.js"))?me(Z,"pkg","server.min.js"):me(Z,"dist","index.js"),a=process.env.HOME??"/tmp",l=process.env.PATH??"/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin",c=rc({label:t,nodePath:r,serverPath:o,hiveHome:P,home:a,pathEnv:l,logsDir:i});sg(e,c),console.log(`Generated plist: ${e}`);let f=me(n,"..");Sr(f,{recursive:!0}),Jt(n)&&nc(n),ig(e,n);try{os("launchctl",["unload",n],{stdio:"pipe"})}catch{}try{os("launchctl",["load",n],{stdio:"inherit"}),console.log(`Started ${t}`)}catch{throw new Error(`Failed to start ${t}. Check: launchctl list | grep hive`)}}async function lg(){let t=ic(),e=as();if(!Jt(t)){console.log(`No LaunchAgent found for ${e}`);return}try{os("launchctl",["unload",t],{stdio:"inherit"}),console.log(`Stopped ${e}`)}catch{console.error(`Failed to stop ${e}`)}try{Jt(t)&&nc(t),console.log(`Removed ${t}`)}catch{}}var sc,cs=O(()=>{"use strict";sc=ue(he(),1);G()});var wc={};Q(wc,{runWizard:()=>dg});import{createInterface as cg}from"node:readline";import{readFileSync as ot,writeFileSync as gc,existsSync as j,readdirSync as ug}from"node:fs";import{execFileSync as H}from"node:child_process";import{resolve as ge,join as U}from"node:path";import{MongoClient as vr}from"mongodb";function C(t,e=""){let n=e?`${t} [${e}]: `:`${t}: `;return new Promise(s=>{yc.question(n,i=>{s(i.trim()||e)})})}async function x(t,e=!0){return(await C(`${t} (${e?"Y/n":"y/N"})`,e?"y":"n")).toLowerCase().startsWith("y")}function fg(){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 X(t){console.log(""),console.log(`\u2500\u2500 ${t} ${"\u2500".repeat(Math.max(0,44-t.length))}`),console.log("")}function Sc(){if(!j(us))return{};let t={};for(let e of ot(us,"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 Qt(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}`);gc(us,e.join(`
191
191
  `)+`
192
- `)}function ac(){return H(cs)?(0,it.parse)(st(cs,"utf-8"))??{}:{}}function Qt(t){ic(cs,(0,it.stringify)(t))}function Wl(t){return!!(t.business?.name&&t.business?.owner?.name)}function Jl(t){return!!(t.SLACK_APP_TOKEN&&t.SLACK_BOT_TOKEN)}async function Ql(){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 zl(t){return H(Ne(import.meta.dirname,"..","pkg","server.min.js"))?!0:H(Ne(t,"dist","index.js"))}async function Km(t,e,n){ls=U(t,".env"),cs=U(t,"hive.yaml");let s=H(Ne(n,"pkg","server.min.js"));Rm();let i=oc(),r=ac(),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(Wl(r)&&a.push("Business info"),Jl(i)&&a.push("Slack"),await Ql()&&a.push("Agent setup"),zl(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(Wl(r)?(console.log(`Business: ${r.business.name} (${r.business.owner.name}, ${r.business.owner.role})`),await B("Redo business info?",!1)?await Xl(r):console.log(" \u2713 Skipped")):await Xl(r),Jl(i)?(console.log("Slack: \u2713 tokens configured"),await B("Redo Slack setup?",!1)?await Zl(i,n):console.log(" \u2713 Skipped")):await Zl(i,n),ee("Anthropic"),i.ANTHROPIC_API_KEY?(console.log("Anthropic API key: \u2713 configured"),await B("Change it?",!1)?await ec(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 ec(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 w=await C("Line name (e.g. main, personal)"),b=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-${w}`);y[w]={id:b,number:A,label:_},h.push({id:b,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{j("which",["gog"],{stdio:"pipe"}),h=!0,console.log(" \u2713 gog CLI found")}catch{console.log(" gog CLI not found. Installing via Homebrew...");try{j("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=j("gog",["auth","list"],{encoding:"utf-8",stdio:"pipe"}).trim();p&&!p.includes("no accounts")&&(console.log(`
194
- Authenticated accounts:`),console.log(` ${p.replace(/\n/g,`
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(`
192
+ `)}function vc(){return j(fs)?(0,at.parse)(ot(fs,"utf-8"))??{}:{}}function zt(t){gc(fs,(0,at.stringify)(t))}function oc(t){return!!(t.business?.name&&t.business?.owner?.name)}function ac(t){return!!(t.SLACK_APP_TOKEN&&t.SLACK_BOT_TOKEN)}async function lc(){let t=process.env.MONGODB_DB;if(!t)return!1;try{let e=new vr(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 cc(t){return j(ge(import.meta.dirname,"..","pkg","server.min.js"))?!0:j(ge(t,"dist","index.js"))}async function dg(t,e,n){us=U(t,".env"),fs=U(t,"hive.yaml");let s=j(ge(n,"pkg","server.min.js"));fg();let i=Sc(),r=vc(),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(oc(r)&&a.push("Business info"),ac(i)&&a.push("Slack"),await lc()&&a.push("Agent setup"),cc(t)&&a.push("Build"),a.length>0){console.log("Resuming setup. Already completed:");for(let p of a)console.log(` \u2713 ${p}`);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(oc(r)?(console.log(`Business: ${r.business.name} (${r.business.owner.name}, ${r.business.owner.role})`),await x("Redo business info?",!1)?await uc(r):console.log(" \u2713 Skipped")):await uc(r),ac(i)?(console.log("Slack: \u2713 tokens configured"),await x("Redo Slack setup?",!1)?await fc(i,n):console.log(" \u2713 Skipped")):await fc(i,n),X("Anthropic"),i.ANTHROPIC_API_KEY?(console.log("Anthropic API key: \u2713 configured"),await x("Change it?",!1)?await dc(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 x("Use a separate API key instead?",!1)?await dc(i):(console.log(" \u2713 Using existing Claude authentication"),Qt(i))),X("Optional Integrations"),console.log(`These can be added later. Press Enter to skip any.
193
+ `),await x("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 p=[],y={};if(await x("Configure named phone lines?",!1)){let m=!0;for(;m;){let w=await C("Line name (e.g. main, personal)"),b=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-${w}`);y[w]={id:b,number:A,label:_},p.push({id:b,label:_,number:A,slackChannel:k}),m=await x("Add another line?",!1)}}p.length>0&&(r.sms={lines:p}),Object.keys(y).length>0&&(r.quo={lines:y})}if(await x("Enable Google Gmail/Calendar integration?",!1)){let p=!1;try{H("which",["gog"],{stdio:"pipe"}),p=!0,console.log(" \u2713 gog CLI found")}catch{console.log(" gog CLI not found. Installing via Homebrew...");try{H("brew",["install","gog"],{stdio:"inherit"}),p=!0,console.log(" \u2713 gog CLI installed")}catch{console.log(" \u26A0 Failed to install gog. Install manually: brew install gog")}}if(p){try{let h=H("gog",["auth","list"],{encoding:"utf-8",stdio:"pipe"}).trim();h&&!h.includes("no accounts")&&(console.log(`
194
+ Authenticated accounts:`),console.log(` ${h.replace(/\n/g,`
195
+ `)}`))}catch{}if(console.log(""),await x("Authenticate a Google account now?",!0)){let h=!0;for(;h;){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{j("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{j("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=qm(u).filter(y=>H(U(u,y,"plugin.yaml")));if(h.length>0){console.log(`Available plugins:
199
- `);for(let m of h){let w=(0,it.parse)(st(U(u,m,"plugin.yaml"),"utf-8"));console.log(` ${m} \u2014 ${w.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 Ql()?(console.log(`
200
- Chief of Staff agent: \u2713 already set up`),await B("Regenerate agent from template?",!1)?await tc(r):console.log(" \u2713 Skipped")):await tc(r),await Bm(r),ee("Memory (MongoDB)"),await xm(r,e),s||(ee("Build"),zl(t)?(console.log("Build output exists."),await B("Rebuild?",!0)?await nc(n):console.log(" \u2713 Skipped")):await nc(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 sc(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 sc(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(""),rc.close()}async function Xl(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 Zl(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{j("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(st(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{H("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}`)}h=await x("Authenticate another Google account?",!1)}}if(i.GOOGLE_ACCOUNT=await C("Primary Google account for Hive",i.GOOGLE_ACCOUNT||""),i.GOOGLE_ACCOUNT)try{H("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 x("Enable project management integration?",!1)){let p=await C("Which system? (linear / clickup)","");p.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")):p.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.")}Qt(i),zt(r),console.log(`
198
+ \u2713 Configuration saved (.env + hive.yaml)`),X("Plugins");let u=U(t,"plugins");if(j(u)){let p=ug(u).filter(y=>j(U(u,y,"plugin.yaml")));if(p.length>0){console.log(`Available plugins:
199
+ `);for(let m of p){let w=(0,at.parse)(ot(U(u,m,"plugin.yaml"),"utf-8"));console.log(` ${m} \u2014 ${w.description??"(no description)"}`)}console.log("");let y=(r.plugins??[]).join(", ")||"none",h=await C("Which plugins to enable? (comma-separated, or 'none')",y);h.toLowerCase()!=="none"?r.plugins=h.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(zt(r),await lc()?(console.log(`
200
+ Chief of Staff agent: \u2713 already set up`),await x("Regenerate agent from template?",!1)?await pc(r):console.log(" \u2713 Skipped")):await pc(r),await pg(r),X("Memory (MongoDB)"),await hg(r,e),s||(X("Build"),cc(t)?(console.log("Build output exists."),await x("Rebuild?",!0)?await hc(n):console.log(" \u2713 Skipped")):await hc(n)),!s){X("Deploy");let p=U(process.env.HOME??"/tmp","services","hive");j(U(p,"package.json"))?(console.log(`Deploy directory exists: ${p}`),await x("Sync latest build and config?",!0)?await mc(p,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: ${p}`),console.log(""),await x("Set up the deploy directory now?",!0)&&await mc(p,n))}if(s){X("Engine");let p=ge(t,".hive");j(p)?(gr(p),console.log(` \u2713 Engine already populated at ${p} (deps verified)`)):(zl(n,t),console.log(` \u2713 Engine populated at ${p}`))}if(X("Service"),await x("Install Hive as a LaunchAgent (starts on login)?"))try{let{startDaemon:p}=await Promise.resolve().then(()=>(cs(),ls));await p()}catch(p){console.log(` \u26A0 Service installation failed: ${p}`),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(""),yc.close()}async function uc(t){X("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}},zt(t),console.log(`
201
+ \u2713 Business info saved (hive.yaml)`)}async function fc(t,e){X("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{H("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=j(ge(e,"pkg","setup","slack-manifest.yaml"))?ge(e,"pkg","setup","slack-manifest.yaml"):ge(e,"setup","slack-manifest.yaml");if(console.log(ot(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 x("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?)`)}Jt(t);try{t.SLACK_APP_TOKEN&&j("honeypot",["set","SLACK_APP_TOKEN",t.SLACK_APP_TOKEN],{stdio:["pipe","pipe","pipe"]}),t.SLACK_BOT_TOKEN&&j("honeypot",["set","SLACK_BOT_TOKEN",t.SLACK_BOT_TOKEN],{stdio:["pipe","pipe","pipe"]}),t.SLACK_MCP_TOKEN&&j("honeypot",["set","SLACK_MCP_TOKEN",t.SLACK_MCP_TOKEN],{stdio:["pipe","pipe","pipe"]})}catch{}console.log(" \u2713 Slack tokens saved (.env)")}async function ec(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&&j("honeypot",["set","ANTHROPIC_API_KEY",t.ANTHROPIC_API_KEY],{stdio:["pipe","pipe","pipe"]})}catch{}console.log(" \u2713 Anthropic key saved (.env)")}async function tc(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(Jr,"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,it.parse)(st(s,"utf-8"));i.name=e,i.channels=[n];let r=process.env.MONGODB_URI||"mongodb://localhost:27017",a=ac().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 Bm(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.
204
+ \u26A0 Could not validate Slack token (no network?)`)}Qt(t);try{t.SLACK_APP_TOKEN&&H("honeypot",["set","SLACK_APP_TOKEN",t.SLACK_APP_TOKEN],{stdio:["pipe","pipe","pipe"]}),t.SLACK_BOT_TOKEN&&H("honeypot",["set","SLACK_BOT_TOKEN",t.SLACK_BOT_TOKEN],{stdio:["pipe","pipe","pipe"]}),t.SLACK_MCP_TOKEN&&H("honeypot",["set","SLACK_MCP_TOKEN",t.SLACK_MCP_TOKEN],{stdio:["pipe","pipe","pipe"]})}catch{}console.log(" \u2713 Slack tokens saved (.env)")}async function dc(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||""),Qt(t);try{t.ANTHROPIC_API_KEY&&H("honeypot",["set","ANTHROPIC_API_KEY",t.ANTHROPIC_API_KEY],{stdio:["pipe","pipe","pipe"]})}catch{}console.log(" \u2713 Anthropic key saved (.env)")}async function pc(t){X("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},zt(t);let s=ge(so,"chief-of-staff","agent.yaml");if(!j(s)){console.log(` \u26A0 Seed not found: ${s}`),console.log(" You can seed the agent manually later.");return}let i=(0,at.parse)(ot(s,"utf-8"));i.name=e,i.channels=[n];let r=process.env.MONGODB_URI||"mongodb://localhost:27017",a=vc().instance?.id??"hive",l=process.env.MONGODB_DB||`hive_${a}`;try{let c=new vr(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 p=new Date;await u.insertOne({...i,createdAt:p,updatedAt:p,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 pg(t){X("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=oc();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 xm(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
211
+ `),t.constitution.cosCanContactExternal=await x("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")),Qt(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)"),zt(t),console.log(`
213
+ \u2713 Constitution preferences saved (hive.yaml)`)}async function hg(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 vr(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="<!-- SECTION 2: OPERATIONAL -->",f=U(e,"constitution-bootstrap.md.tpl");if(H(f)){let u=st(f,"utf-8"),d=jl(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),w=d.indexOf(c);w===-1?y=d:y=d.slice(0,w)+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 nc(t){console.log(" Compiling TypeScript...");try{j("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 sc(t,e){let{mkdirSync:n}=await import("node:fs");if(H(U(t,"package.json"))){console.log(" Pulling latest...");try{j("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=j("git",["remote","get-url","origin"],{cwd:e,encoding:"utf-8"}).trim();j("git",["clone",a,t],{stdio:"inherit"}),console.log(" \u2713 Repository cloned")}console.log(" Installing production dependencies..."),j("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)&&(j("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 it,ls,cs,rc,cc=L(()=>{"use strict";it=le(fe(),1);Yl();z();ls="",cs="",rc=Dm({input:process.stdin,output:process.stdout})});var fc={};Q(fc,{runSetupWizard:()=>Xm});import{mkdirSync as Fm,existsSync as Te,readFileSync as uc,writeFileSync as Um,readdirSync as jm}from"node:fs";import{resolve as Le,join as rt}from"node:path";import{createInterface as Ym}from"node:readline";import{execFileSync as Hm}from"node:child_process";function Gm(t){try{return Hm("lsof",["-iTCP:"+t,"-sTCP:LISTEN","-t"],{stdio:["ignore","pipe","ignore"],encoding:"utf-8"}).trim().length>0}catch(e){return e.code==="ENOENT",!1}}function Wm(t){let e=new Set,n=Le(t,"services","hive");if(Te(n))for(let s of jm(n)){let i=rt(n,s,"hive.yaml");if(Te(i))try{let o=((0,zt.parse)(uc(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<Vm;r++)if(Gm(s+r)){i=!0;break}if(!i)return s}return 3100}function Jm(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 Qm(t){let e=Ym({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=Jm(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(rt(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)),Fm(o,{recursive:!0});let a=Wm(t),l={instance:{id:i,type:"business",portBase:a},business:{name:n}};return Um(rt(o,"hive.yaml"),(0,zt.stringify)(l)),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(j(f)){let u=ot(f,"utf-8"),d=ec(u,{business:a}),p=await o.findOne({path:"shared/constitution.md"}),y;if(p){let h=p.content.indexOf(c);if(h!==-1){let m=p.content.slice(h),w=d.indexOf(c);w===-1?y=d:y=d.slice(0,w)+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 hc(t){console.log(" Compiling TypeScript...");try{H("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 mc(t,e){let{mkdirSync:n}=await import("node:fs");if(j(U(t,"package.json"))){console.log(" Pulling latest...");try{H("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=ge(t,"..");n(o,{recursive:!0});let a=H("git",["remote","get-url","origin"],{cwd:e,encoding:"utf-8"}).trim();H("git",["clone",a,t],{stdio:"inherit"}),console.log(" \u2713 Repository cloned")}console.log(" Installing production dependencies..."),H("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(j(s)){let{copyFileSync:o}=await import("node:fs");o(s,U(t,".env")),console.log(" \u2713 .env")}let i=U(e,"hive.yaml");if(j(i)){let{copyFileSync:o}=await import("node:fs");o(i,U(t,"hive.yaml")),console.log(" \u2713 hive.yaml")}let r=U(e,"dist");j(r)&&(H("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 at,us,fs,yc,bc=O(()=>{"use strict";at=ue(he(),1);Xl();tc();G();us="",fs="",yc=cg({input:process.stdin,output:process.stdout})});var kc={};Q(kc,{runSetupWizard:()=>Ig});import{mkdirSync as mg,existsSync as Pe,readFileSync as Ec,writeFileSync as gg,readdirSync as yg}from"node:fs";import{resolve as Me,join as lt}from"node:path";import{createInterface as Sg}from"node:readline";import{execFileSync as vg}from"node:child_process";function bg(t){try{return vg("lsof",["-iTCP:"+t,"-sTCP:LISTEN","-t"],{stdio:["ignore","pipe","ignore"],encoding:"utf-8"}).trim().length>0}catch(e){return e.code==="ENOENT",!1}}function Eg(t){let e=new Set,n=Me(t,"services","hive");if(Pe(n))for(let s of yg(n)){let i=lt(n,s,"hive.yaml");if(Pe(i))try{let o=((0,Xt.parse)(Ec(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<wg;r++)if(bg(s+r)){i=!0;break}if(!i)return s}return 3100}function kg(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32)}function wr(t,e,n=""){let s=n?`${e} [${n}]: `:`${e}: `;return new Promise(i=>t.question(s,r=>i(r.trim()||n)))}async function Ag(t){let e=Sg({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 wr(e,"Business name (e.g. your company)");n||(console.error("Business name is required."),process.exit(1));let s=kg(n)||"hive",i=await wr(e,"Instance ID (short slug, used for the mongo db name)",s),r=Me(t,"services","hive",i),o=Me(await wr(e,"Install location",r));Pe(lt(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)),mg(o,{recursive:!0});let a=Eg(t),l={instance:{id:i,type:"business",portBase:a},business:{name:n}};return gg(lt(o,"hive.yaml"),(0,Xt.stringify)(l)),console.log(`
219
219
  \u2713 Created ${o}/hive.yaml (instance.id: ${i}, portBase: ${a})
220
- `),o}finally{e.close()}}function zm(){if(process.env.HIVE_HOME){let e=Le(process.env.HIVE_HOME);return Te(rt(e,"hive.yaml")),e}if(Te(Le(process.cwd(),"hive.yaml")))return process.cwd();let t=ht();return Te(rt(t,"hive.yaml"))?t:null}async function Xm(t){console.log(`
220
+ `),o}finally{e.close()}}function _g(){if(process.env.HIVE_HOME){let e=Me(process.env.HIVE_HOME);return Pe(lt(e,"hive.yaml")),e}if(Pe(Me(process.cwd(),"hive.yaml")))return process.cwd();let t=fe();return Pe(lt(t,"hive.yaml"))?t:null}async function Ig(t){console.log(`
221
221
  Hive Setup Wizard
222
- `),await xl(),console.log("");let e=zm(),n=process.env.HOME??"/tmp",s=e??await Qm(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=rt(s,"hive.yaml");Te(r)&&(((0,zt.parse)(uc(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(()=>(cc(),lc));await o(s,i,t)}var zt,Vm,dc=L(()=>{"use strict";zt=le(fe(),1);z();Fl();Vm=10});var mc={};Q(mc,{showStatus:()=>ng});import{execFileSync as pc}from"node:child_process";import{existsSync as Zm,readFileSync as eg}from"node:fs";import{resolve as tg}from"node:path";async function ng(){console.log(`Hive home: ${P}`);let t=tg(P,process.env.HIVE_CONFIG??"hive.yaml");if(!Zm(t)){console.log("Status: not initialized (run 'hive init')");return}let n=((0,hc.parse)(eg(t,"utf-8"))??{}).instance?.id??"hive",s=`com.hive.${n}.agent`;console.log(`Instance: ${n}`);try{let r=pc("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{pc("mongosh",["--eval","db.runCommand({ping:1})","--quiet"],{encoding:"utf-8",timeout:5e3}),console.log("MongoDB: connected")}catch{console.log("MongoDB: not reachable")}}var hc,gc=L(()=>{"use strict";hc=le(fe(),1);z()});var vc={};Q(vc,{runUpdate:()=>ig});import{execFileSync as yc}from"node:child_process";import{readFileSync as sg}from"node:fs";import{resolve as wc}from"node:path";function Sc(t){try{let e=JSON.parse(sg(wc(t,"package.json"),"utf-8"));return typeof e.version=="string"?e.version:"unknown"}catch{return"unknown"}}async function ig(){let t=yc("npm",["root","-g"],{encoding:"utf-8"}).trim(),e=wc(t,"@keepur","hive"),n=Sc(e);console.log("Stopping Hive..."),await dr(),console.log(`Updating @keepur/hive (current: ${n})...`);try{yc("npm",["update","-g","@keepur/hive"],{stdio:"inherit"})}catch{console.error("Update failed."),process.exit(1)}let s=Sc(e);console.log(n===s?`Already at latest version: ${s}.`:`Updated: ${n} \u2192 ${s}.`),console.log("Restarting Hive..."),await fr(e)}var bc=L(()=>{"use strict";Wt()});import{execFileSync as mr}from"node:child_process";import{existsSync as rg,readFileSync as kc}from"node:fs";import{resolve as og}from"node:path";function Xt(t){try{return mr("which",[t],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}function Ac(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 _c(t){let e=kc(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 Ic(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 Oc(t){try{return process.kill(t,0),!0}catch{return!1}}async function Nc(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 Tc(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 Lc(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 Cc(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 Ec(t){return t.replace(/^~(?=$|\/)/,process.env.HOME??"")}function Pc(t="com.hive.agent"){let e=Ec(`~/Library/LaunchAgents/${t}.plist`);if(!rg(e))return null;let s=kc(e,"utf-8").match(/<key>WorkingDirectory<\/key>\s*<string>([^<]+)<\/string>/);return s?og(Ec(s[1])):null}var Mc=L(()=>{"use strict"});var Bc=S((Cw,pe)=>{var yr=ge("fs"),us=ge("path"),ag=ge("os"),lg=ge("crypto"),$c=["\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 cg(){return $c[Math.floor(Math.random()*$c.length)]}function ot(t){return typeof t=="string"?!["false","0","no","off",""].includes(t.toLowerCase()):!!t}function ug(){return process.stdout.isTTY}function fg(t){return ug()?`\x1B[2m${t}\x1B[0m`:t}var dg=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function pg(t){let e={},n=t.toString();n=n.replace(/\r\n?/mg,`
226
- `);let s;for(;(s=dg.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 hg(t){t=t||{};let e=Kc(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=Rc(t).split(","),i=s.length,r;for(let o=0;o<i;o++)try{let a=s[o].trim(),l=gg(n,a);r=K.decrypt(l.ciphertext,l.key);break}catch(a){if(o+1>=i)throw a}return K.parse(r)}function mg(t){console.error(`\u26A0 ${t}`)}function Zt(t){console.log(`\u2506 ${t}`)}function qc(t){console.log(`\u25C7 ${t}`)}function Rc(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 gg(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 Kc(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 Dc(t){return t[0]==="~"?us.join(ag.homedir(),t.slice(1)):t}function yg(t){let e=ot(process.env.DOTENV_CONFIG_DEBUG||t&&t.debug),n=ot(process.env.DOTENV_CONFIG_QUIET||t&&t.quiet);(e||!n)&&qc("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 Sg(t){let e=us.resolve(process.cwd(),".env"),n="utf8",s=process.env;t&&t.processEnv!=null&&(s=t.processEnv);let i=ot(s.DOTENV_CONFIG_DEBUG||t&&t.debug),r=ot(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=[Dc(t.path)];else{o=[];for(let f of t.path)o.push(Dc(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=ot(s.DOTENV_CONFIG_DEBUG||i),r=ot(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}qc(`injected env (${f}) from ${u.join(",")} ${fg(`// tip: ${cg()}`)}`)}return a?{parsed:l,error:a}:{parsed:l}}function wg(t){if(Rc(t).length===0)return K.configDotenv(t);let e=Kc(t);return e?K._configVault(t):(mg(`you set DOTENV_KEY but you are missing a .env.vault file at ${e}`),K.configDotenv(t))}function vg(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=lg.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 bg(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:Sg,_configVault:yg,_parseVault:hg,config:wg,decrypt:vg,parse:pg,populate:bg};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,xc=L(()=>{"use strict";fs={externalComms:!0,codeTask:!1,codeAccess:!1}});var ds={};Q(ds,{config:()=>Ng});import{readFileSync as Eg,existsSync as Yc,readdirSync as kg,statSync as Ag}from"node:fs";import{resolve as Sr}from"node:path";import{randomUUID as wr}from"node:crypto";import{execFileSync as _g}from"node:child_process";function Fc(t){let e=process.env[t]||Vc(t);if(!e)throw new Error(`Missing required env var: ${t}`);return e}function g(t,e){return process.env[t]||Vc(t)||e}function Og(t){if(t?.length)return t.map(n=>Sr(n.replace(/^~/,process.env.HOME??"/tmp")));let e=Sr(P,"plugins/claude-code");return Yc(e)?kg(e).map(n=>Sr(e,n)).filter(n=>Ag(n).isDirectory()):[]}function Vc(t){if(process.platform!=="darwin")return"";try{return _g("security",["find-generic-password","-s",`hive/${en}/${t}`,"-w"],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{return""}}var jc,Hc,Ig,Uc,v,Bw,en,Ce,Fe,Ng,ps=L(()=>{"use strict";jc=le(Bc(),1),Hc=le(fe(),1);xc();z();Ig=Wr(P);jc.default.config({path:Ig});Uc=Gr(P),v={};Yc(Uc)&&(v=(0,Hc.parse)(Eg(Uc,"utf-8"))??{});Bw=process.env.HOME??"/tmp",en=v.instance?.id??"hive";Ce=v.instance?.portBase??3100,Fe=v.instance?.ports??{},Ng={instance:{id:en,portBase:Ce},business:{name:v.business?.name??g("BUSINESS_NAME",""),description:v.business?.description??"",location:v.business?.location??"",ownerName:v.business?.owner?.name??"",ownerRole:v.business?.owner?.role??""},slack:{appToken:Fc("SLACK_APP_TOKEN"),botToken:Fc("SLACK_BOT_TOKEN"),mcpToken:g("SLACK_MCP_TOKEN",""),auditChannel:g("SLACK_AUDIT_CHANNEL",v.slack?.auditChannel??""),localMcpServer:!!(v.slack?.localMcpServer??!1)},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",v.google?.account??""),client:g("GOG_CLIENT",v.google?.client??""),accounts:v.google?.accounts??{},sharedFolder:g("DRIVE_SHARED_FOLDER",v.google?.sharedFolder??v.googleWorkspace?.sharedFolder??"")},googleWorkspace:{account:g("GWS_ACCOUNT",v.googleWorkspace?.account??""),gwsPath:g("GWS_PATH",""),sharedFolder:g("GWS_SHARED_FOLDER",v.googleWorkspace?.sharedFolder??"")},quo:{apiKey:g("QUO_API_KEY",""),phoneNumberId:g("QUO_PHONE_NUMBER_ID",""),lines:v.quo?.lines??{}},sms:{lines:v.sms?.lines??[]},imessage:{enabled:v.imessage?.enabled??!1,slackChannel:v.imessage?.slackChannel??"imessage",hotWindowMs:v.imessage?.hotWindowMs??3e5,coldIntervalMs:v.imessage?.coldIntervalMs??3e5,hotIntervalMs:v.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",v.resend?.emailDomain??""),businessName:g("RESEND_BUSINESS_NAME",v.resend?.businessName??"")},plugins:v.plugins??[],skillRegistries:v.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(Fe.recall??Ce+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(Fe.background??Ce)),10),authToken:g("BG_TASK_AUTH_TOKEN","")||wr()},slackInternal:{port:parseInt(g("SLACK_INTERNAL_PORT",String(Fe.slackInternal??Ce+6)),10),authToken:g("SLACK_INTERNAL_TOKEN","")||wr()},codeTask:{port:parseInt(g("CODE_TASK_PORT",String(Fe.codeTask??Ce+2)),10),authToken:g("CODE_TASK_AUTH_TOKEN","")||wr(),pluginDirs:Og(v.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(Fe.ws??Ce+3)),10)},beekeeper:{port:parseInt(g("BEEKEEPER_PORT",String(v.beekeeper?.port??8420)),10)},workflow:{enabled:g("WORKFLOW_ENABLED","false")==="true"},adminApi:{port:parseInt(g("ADMIN_API_PORT",String(Fe.adminApi??Ce+4)),10),token:g("ADMIN_API_TOKEN","")},voice:{enabled:!!v.voice?.provider,provider:v.voice?.provider??"",publicUrl:v.voice?.publicUrl??"",phoneNumberId:v.voice?.phoneNumberId??"",assistants:v.voice?.assistants??{},apiKey:g("VAPI_API_KEY",""),serverSecret:g("VAPI_SERVER_SECRET",""),port:parseInt(g("VOICE_PORT",String(Fe.voice??Ce+5)),10)},autonomy:{externalComms:v.autonomy?.externalComms??fs.externalComms,codeTask:v.autonomy?.codeTask??fs.codeTask,codeAccess:v.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(v.memory?.hotBudgetTokens??3e3)),10),sweepIntervalHours:parseFloat(g("MEMORY_SWEEP_INTERVAL_HOURS",String(v.memory?.sweepIntervalHours??6))),hotThreshold:parseFloat(g("MEMORY_HOT_THRESHOLD",String(v.memory?.hotThreshold??.6))),warmThreshold:parseFloat(g("MEMORY_WARM_THRESHOLD",String(v.memory?.warmThreshold??.3))),recencyHalfLifeDays:parseFloat(g("MEMORY_RECENCY_HALF_LIFE_DAYS",String(v.memory?.recencyHalfLifeDays??7))),coldSummaryMinRecords:parseInt(g("MEMORY_COLD_SUMMARY_MIN",String(v.memory?.coldSummaryMinRecords??5)),10),coldRetentionDays:parseInt(g("MEMORY_COLD_RETENTION_DAYS",String(v.memory?.coldRetentionDays??90)),10),purgeRetentionDays:parseInt(g("MEMORY_PURGE_RETENTION_DAYS",String(v.memory?.purgeRetentionDays??7)),10),reflectionMinTurns:parseInt(g("MEMORY_REFLECTION_MIN_TURNS",String(v.memory?.reflectionMinTurns??3)),10)},codeIndex:{enabled:v.codeIndex?.enabled===!0||process.env.CODE_INDEX_ENABLED==="true",scoreThreshold:parseFloat(g("CODE_INDEX_SCORE_THRESHOLD",String(v.codeIndex?.scoreThreshold??.65))),prefetchLimit:parseInt(g("CODE_INDEX_PREFETCH_LIMIT",String(v.codeIndex?.prefetchLimit??8)),10),sessionKnowledge:{enabled:(v.codeIndex?.sessionKnowledge?.enabled??!0)&&process.env.CODE_INDEX_SESSION_KNOWLEDGE!=="false"},repos:v.codeIndex?.repos??{}},events:{retentionDays:parseInt(g("EVENT_RETENTION_DAYS",String(v.events?.retentionDays??30)),10)},activity:{enabled:(v.activity?.enabled??!0)&&process.env.ACTIVITY_LOG_ENABLED!=="false",bufferSize:parseInt(g("ACTIVITY_BUFFER_SIZE",String(v.activity?.bufferSize??200)),10),flushIntervalMs:parseInt(g("ACTIVITY_FLUSH_INTERVAL_MS",String(v.activity?.flushIntervalMs??3e4)),10),retentionDays:parseInt(g("ACTIVITY_RETENTION_DAYS",String(v.activity?.retentionDays??90)),10)},autoDream:{enabled:v.autoDream?.enabled??!0,idleThresholdMinutes:parseInt(g("AUTODREAM_IDLE_THRESHOLD_MINUTES",String(v.autoDream?.idleThresholdMinutes??30)),10),cooldownMinutes:parseInt(g("AUTODREAM_COOLDOWN_MINUTES",String(v.autoDream?.cooldownMinutes??60)),10),similarityThreshold:parseFloat(g("AUTODREAM_SIMILARITY_THRESHOLD",String(v.autoDream?.similarityThreshold??.85))),patternMinCount:parseInt(g("AUTODREAM_PATTERN_MIN_COUNT",String(v.autoDream?.patternMinCount??3)),10),maxClustersPerRun:parseInt(g("AUTODREAM_MAX_CLUSTERS",String(v.autoDream?.maxClustersPerRun??20)),10),maxContradictionPairsPerRun:parseInt(g("AUTODREAM_MAX_CONTRADICTIONS",String(v.autoDream?.maxContradictionPairsPerRun??30)),10),maxPromotionsPerRun:parseInt(g("AUTODREAM_MAX_PROMOTIONS",String(v.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 Wc={};Q(Wc,{runDoctor:()=>Pg});import{resolve as Tg}from"node:path";import{execFileSync as Gc}from"node:child_process";async function Lg(){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 Pg(t={}){let e=!!t.verbose,n=Pc("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=_c(Tg(import.meta.dirname,"../../src/config.ts")),{config:i,error:r}=await Lg(),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:()=>Ac("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=Gc("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 Gc("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?Nc(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?Tc(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?Lc(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=Ic("com.hive.agent");return c.loaded&&c.state==="running"&&c.pid!==null&&Oc(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?Cc(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
- ${Cg[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 Wl(),console.log("");let e=_g(),n=process.env.HOME??"/tmp",s=e??await Ag(n),i=Pe(Me(t,"templates"))?Me(t,"templates"):Me(t,"setup","templates");console.log(`Setup will write config to: ${s}`),console.log(`Templates from: ${i}
223
+ `);let r=lt(s,"hive.yaml");Pe(r)&&(((0,Xt.parse)(Ec(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(()=>(bc(),wc));await o(s,i,t)}var Xt,wg,Ac=O(()=>{"use strict";Xt=ue(he(),1);G();Jl();wg=10});var Oc={};Q(Oc,{showStatus:()=>Lg});import{execFileSync as _c}from"node:child_process";import{existsSync as Og,readFileSync as Ng}from"node:fs";import{resolve as Tg}from"node:path";async function Lg(){console.log(`Hive home: ${P}`);let t=Tg(P,process.env.HIVE_CONFIG??"hive.yaml");if(!Og(t)){console.log("Status: not initialized (run 'hive init')");return}let n=((0,Ic.parse)(Ng(t,"utf-8"))??{}).instance?.id??"hive",s=`com.hive.${n}.agent`;console.log(`Instance: ${n}`);try{let r=_c("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{_c("mongosh",["--eval","db.runCommand({ping:1})","--quiet"],{encoding:"utf-8",timeout:5e3}),console.log("MongoDB: connected")}catch{console.log("MongoDB: not reachable")}}var Ic,Nc=O(()=>{"use strict";Ic=ue(he(),1);G()});import{existsSync as Tc,mkdirSync as Cg,readdirSync as Pg,renameSync as Mg}from"node:fs";import{resolve as ds}from"node:path";function Lc(t=P,e=Z){let n=ds(e,"plugins","node_modules"),s=ds(t,"plugins","node_modules");if(!Tc(n))return{moved:[],skipped:!0};let i=Pg(n);if(i.length===0)return{moved:[],skipped:!0};Cg(s,{recursive:!0});let r=[];for(let o of i){let a=ds(n,o),l=ds(s,o);Tc(l)||(Mg(a,l),r.push(o))}return{moved:r,skipped:!1}}var Cc=O(()=>{"use strict";G()});var Mc={};Q(Mc,{runUpdate:()=>Rg});import{execFileSync as $g}from"node:child_process";import{readFileSync as Dg,existsSync as qg}from"node:fs";import{resolve as br}from"node:path";function Pc(t){try{let e=JSON.parse(Dg(br(t,"package.json"),"utf-8"));return typeof e.version=="string"?e.version:"unknown"}catch{return"unknown"}}async function Rg(t={}){let e=fe(),n=br(e,".hive"),s=br(n,"service","deploy.sh");qg(s)||(console.error(`deploy.sh not found at ${s}.`),console.error("Either the engine isn't populated (.hive/ missing) or this is a dev install."),process.exit(1));let i=Pc(n),r=t.tag??"latest";console.log(`Updating @keepur/hive (current: ${i}, target: ${r})...`);let o=Lc();o.moved.length>0&&console.log(` \u2713 Relocated ${o.moved.length} pre-release plugin(s) from .hive/ to plugins/: ${o.moved.join(", ")}`);let a=["--tag="+r];t.instance&&a.push("--instance="+t.instance);try{$g(s,a,{stdio:"inherit"})}catch{console.error("Update failed. See deploy.sh output above."),process.exit(1)}let l=Pc(n);console.log(i===l?`Already at latest matching tag: ${l}.`:`Updated: ${i} \u2192 ${l}.`)}var $c=O(()=>{"use strict";G();Cc()});var qc={};Q(qc,{runRollback:()=>Bg});import{execFileSync as Kg}from"node:child_process";import{readFileSync as xg,existsSync as Dc}from"node:fs";import{resolve as ps}from"node:path";function Er(t){try{let e=JSON.parse(xg(ps(t,"package.json"),"utf-8"));return typeof e.version=="string"?e.version:"unknown"}catch{return"unknown"}}async function Bg(t={}){let e=fe(),n=ps(e,".hive"),s=ps(e,".hive.prev"),i=ps(n,"service","deploy.sh");Dc(i)||(console.error(`deploy.sh not found at ${i}.`),process.exit(1)),Dc(s)||(console.error(`No previous engine at ${s}. Rollback unavailable.`),process.exit(1));let r=Er(n),o=Er(s),a=t.instance??e.split("/").filter(Boolean).pop()??"default";console.log(`Rolling back ${a}: ${r} \u2192 ${o}`);try{Kg(i,["--rollback",`--instance=${a}`],{stdio:"inherit"})}catch{console.error("Rollback failed. See deploy.sh output above."),process.exit(1)}let l=Er(n);console.log(`Rollback complete: ${l}.`)}var Rc=O(()=>{"use strict";G()});var xc={};Q(xc,{runMigrate:()=>Hg});import{execFileSync as Fg}from"node:child_process";import{resolve as Kc}from"node:path";import{existsSync as Ug}from"node:fs";import{fileURLToPath as jg}from"node:url";async function Hg(t){let e=jg(import.meta.url),n=Kc(e,"..",".."),s=Kc(n,"install","migrate-0.2.sh");Ug(s)||(console.error(`migrate-0.2.sh not found at ${s}`),console.error("Falling back to the standalone: curl https://.../migrate-0.2.sh | bash -s --"),process.exit(1));let i=t.dryRun?["--dry-run",t.instanceDir]:[t.instanceDir];try{Fg("bash",[s,...i],{stdio:"inherit"})}catch{process.exit(1)}}var Bc=O(()=>{"use strict"});import{execFileSync as kr}from"node:child_process";import{existsSync as Yg,readFileSync as Uc}from"node:fs";import{resolve as Vg}from"node:path";function Zt(t){try{return kr("which",[t],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),!0}catch{return!1}}function jc(t){try{return kr("brew",["services","list"],{encoding:"utf-8"}).split(`
225
+ `).some(n=>n.startsWith(t)&&n.includes("started"))}catch{return!1}}async function Ar(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 Hc(t){let e=Uc(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 Yc(t){let e=process.getuid?.();if(e===void 0)return{loaded:!1,state:"unknown",pid:null};try{let n=kr("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 Gc(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 Wc(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 Jc(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 Qc(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 Fc(t){return t.replace(/^~(?=$|\/)/,process.env.HOME??"")}function zc(t="com.hive.agent"){let e=Fc(`~/Library/LaunchAgents/${t}.plist`);if(!Yg(e))return null;let s=Uc(e,"utf-8").match(/<key>WorkingDirectory<\/key>\s*<string>([^<]+)<\/string>/);return s?Vg(Fc(s[1])):null}var Xc=O(()=>{"use strict"});var iu=S((qw,ye)=>{var _r=be("fs"),hs=be("path"),Gg=be("os"),Wg=be("crypto"),Zc=["\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 Jg(){return Zc[Math.floor(Math.random()*Zc.length)]}function ct(t){return typeof t=="string"?!["false","0","no","off",""].includes(t.toLowerCase()):!!t}function Qg(){return process.stdout.isTTY}function zg(t){return Qg()?`\x1B[2m${t}\x1B[0m`:t}var Xg=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function Zg(t){let e={},n=t.toString();n=n.replace(/\r\n?/mg,`
226
+ `);let s;for(;(s=Xg.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 ey(t){t=t||{};let e=su(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=nu(t).split(","),i=s.length,r;for(let o=0;o<i;o++)try{let a=s[o].trim(),l=ny(n,a);r=K.decrypt(l.ciphertext,l.key);break}catch(a){if(o+1>=i)throw a}return K.parse(r)}function ty(t){console.error(`\u26A0 ${t}`)}function en(t){console.log(`\u2506 ${t}`)}function tu(t){console.log(`\u25C7 ${t}`)}function nu(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 ny(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 su(t){let e=null;if(t&&t.path&&t.path.length>0)if(Array.isArray(t.path))for(let n of t.path)_r.existsSync(n)&&(e=n.endsWith(".vault")?n:`${n}.vault`);else e=t.path.endsWith(".vault")?t.path:`${t.path}.vault`;else e=hs.resolve(process.cwd(),".env.vault");return _r.existsSync(e)?e:null}function eu(t){return t[0]==="~"?hs.join(Gg.homedir(),t.slice(1)):t}function sy(t){let e=ct(process.env.DOTENV_CONFIG_DEBUG||t&&t.debug),n=ct(process.env.DOTENV_CONFIG_QUIET||t&&t.quiet);(e||!n)&&tu("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 iy(t){let e=hs.resolve(process.cwd(),".env"),n="utf8",s=process.env;t&&t.processEnv!=null&&(s=t.processEnv);let i=ct(s.DOTENV_CONFIG_DEBUG||t&&t.debug),r=ct(s.DOTENV_CONFIG_QUIET||t&&t.quiet);t&&t.encoding?n=t.encoding:i&&en("no encoding is specified (UTF-8 is used by default)");let o=[e];if(t&&t.path)if(!Array.isArray(t.path))o=[eu(t.path)];else{o=[];for(let f of t.path)o.push(eu(f))}let a,l={};for(let f of o)try{let u=K.parse(_r.readFileSync(f,{encoding:n}));K.populate(l,u,t)}catch(u){i&&en(`failed to load ${f} ${u.message}`),a=u}let c=K.populate(s,l,t);if(i=ct(s.DOTENV_CONFIG_DEBUG||i),r=ct(s.DOTENV_CONFIG_QUIET||r),i||!r){let f=Object.keys(c).length,u=[];for(let d of o)try{let p=hs.relative(process.cwd(),d);u.push(p)}catch(p){i&&en(`failed to load ${d} ${p.message}`),a=p}tu(`injected env (${f}) from ${u.join(",")} ${zg(`// tip: ${Jg()}`)}`)}return a?{parsed:l,error:a}:{parsed:l}}function ry(t){if(nu(t).length===0)return K.configDotenv(t);let e=su(t);return e?K._configVault(t):(ty(`you set DOTENV_KEY but you are missing a .env.vault file at ${e}`),K.configDotenv(t))}function oy(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=Wg.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 ay(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&&en(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:iy,_configVault:sy,_parseVault:ey,config:ry,decrypt:oy,parse:Zg,populate:ay};ye.exports.configDotenv=K.configDotenv;ye.exports._configVault=K._configVault;ye.exports._parseVault=K._parseVault;ye.exports.config=K.config;ye.exports.decrypt=K.decrypt;ye.exports.parse=K.parse;ye.exports.populate=K.populate;ye.exports=K});var ms,ru=O(()=>{"use strict";ms={externalComms:!0,codeTask:!1,codeAccess:!1}});import{execFileSync as ly}from"node:child_process";function ou(t,e){if(process.platform!=="darwin")return"";try{return ly("security",["find-generic-password","-s",`hive/${t}/${e}`,"-w"],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{return""}}var au=O(()=>{"use strict"});var gs={};Q(gs,{config:()=>hy});import{readFileSync as cy,existsSync as fu,readdirSync as uy,statSync as fy}from"node:fs";import{resolve as Ir}from"node:path";import{randomUUID as Or}from"node:crypto";function lu(t){let e=process.env[t]||pu(t);if(!e)throw new Error(`Missing required env var: ${t}`);return e}function g(t,e){return process.env[t]||pu(t)||e}function py(t){if(t?.length)return t.map(n=>Ir(n.replace(/^~/,process.env.HOME??"/tmp")));let e=Ir(Z,"plugins/claude-code");return fu(e)?uy(e).map(n=>Ir(e,n)).filter(n=>fy(n).isDirectory()):[]}var uu,du,dy,cu,v,Vw,tn,pu,$e,Ye,hy,ys=O(()=>{"use strict";uu=ue(iu(),1),du=ue(he(),1);ru();au();G();dy=no(P);uu.default.config({path:dy});cu=to(P),v={};fu(cu)&&(v=(0,du.parse)(cy(cu,"utf-8"))??{});Vw=process.env.HOME??"/tmp",tn=v.instance?.id??"hive",pu=t=>ou(tn,t),$e=v.instance?.portBase??3100,Ye=v.instance?.ports??{},hy={instance:{id:tn,portBase:$e},business:{name:v.business?.name??g("BUSINESS_NAME",""),description:v.business?.description??"",location:v.business?.location??"",ownerName:v.business?.owner?.name??"",ownerRole:v.business?.owner?.role??""},slack:{appToken:lu("SLACK_APP_TOKEN"),botToken:lu("SLACK_BOT_TOKEN"),mcpToken:g("SLACK_MCP_TOKEN",""),auditChannel:g("SLACK_AUDIT_CHANNEL",v.slack?.auditChannel??""),localMcpServer:!!(v.slack?.localMcpServer??!1)},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_${tn}`)},defaultAgent:g("DEFAULT_AGENT","chief-of-staff"),google:{account:g("GOOGLE_ACCOUNT",v.google?.account??""),client:g("GOG_CLIENT",v.google?.client??""),accounts:v.google?.accounts??{},sharedFolder:g("DRIVE_SHARED_FOLDER",v.google?.sharedFolder??v.googleWorkspace?.sharedFolder??"")},googleWorkspace:{account:g("GWS_ACCOUNT",v.googleWorkspace?.account??""),gwsPath:g("GWS_PATH",""),sharedFolder:g("GWS_SHARED_FOLDER",v.googleWorkspace?.sharedFolder??"")},quo:{apiKey:g("QUO_API_KEY",""),phoneNumberId:g("QUO_PHONE_NUMBER_ID",""),lines:v.quo?.lines??{}},sms:{lines:v.sms?.lines??[]},imessage:{enabled:v.imessage?.enabled??!1,slackChannel:v.imessage?.slackChannel??"imessage",hotWindowMs:v.imessage?.hotWindowMs??3e5,coldIntervalMs:v.imessage?.coldIntervalMs??3e5,hotIntervalMs:v.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",v.resend?.emailDomain??""),businessName:g("RESEND_BUSINESS_NAME",v.resend?.businessName??"")},plugins:v.plugins??[],skillRegistries:v.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(Ye.recall??$e+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(Ye.background??$e)),10),authToken:g("BG_TASK_AUTH_TOKEN","")||Or()},slackInternal:{port:parseInt(g("SLACK_INTERNAL_PORT",String(Ye.slackInternal??$e+6)),10),authToken:g("SLACK_INTERNAL_TOKEN","")||Or()},codeTask:{port:parseInt(g("CODE_TASK_PORT",String(Ye.codeTask??$e+2)),10),authToken:g("CODE_TASK_AUTH_TOKEN","")||Or(),pluginDirs:py(v.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(Ye.ws??$e+3)),10)},beekeeper:{port:parseInt(g("BEEKEEPER_PORT",String(v.beekeeper?.port??8420)),10)},workflow:{enabled:g("WORKFLOW_ENABLED","false")==="true"},adminApi:{port:parseInt(g("ADMIN_API_PORT",String(Ye.adminApi??$e+4)),10),token:g("ADMIN_API_TOKEN","")},voice:{enabled:!!v.voice?.provider,provider:v.voice?.provider??"",publicUrl:v.voice?.publicUrl??"",phoneNumberId:v.voice?.phoneNumberId??"",assistants:v.voice?.assistants??{},apiKey:g("VAPI_API_KEY",""),serverSecret:g("VAPI_SERVER_SECRET",""),port:parseInt(g("VOICE_PORT",String(Ye.voice??$e+5)),10)},autonomy:{externalComms:v.autonomy?.externalComms??ms.externalComms,codeTask:v.autonomy?.codeTask??ms.codeTask,codeAccess:v.autonomy?.codeAccess??ms.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)},retention:(()=>{let t=v.retention?.paths??{data:7,"agents/*/scratch":7,"agents/*/feeds":7,"agents/*/playwright":3,"agents/*/reports":0,logs:30},e={};for(let[i,r]of Object.entries(t)){if(typeof r!="number"||!Number.isFinite(r)||r<0)throw new Error(`Invalid retention.paths.${i}: must be a non-negative integer (got ${r})`);e[i]={days:r}}let n=Number(v.retention?.defaults?.days??7);if(!Number.isFinite(n)||n<0)throw new Error(`Invalid retention.defaults.days: ${n}`);let s=parseInt(g("RETENTION_INTERVAL_MS",String(v.retention?.intervalMs??168*36e5)),10);if(!Number.isFinite(s)||s<=0)throw new Error(`Invalid retention.intervalMs: must be a positive integer (got ${s})`);return{enabled:!!(v.retention?.enabled??!1),intervalMs:s,defaultDays:n,paths:e}})(),memory:{hotBudgetTokens:parseInt(g("MEMORY_HOT_BUDGET_TOKENS",String(v.memory?.hotBudgetTokens??3e3)),10),sweepIntervalHours:parseFloat(g("MEMORY_SWEEP_INTERVAL_HOURS",String(v.memory?.sweepIntervalHours??6))),hotThreshold:parseFloat(g("MEMORY_HOT_THRESHOLD",String(v.memory?.hotThreshold??.6))),warmThreshold:parseFloat(g("MEMORY_WARM_THRESHOLD",String(v.memory?.warmThreshold??.3))),recencyHalfLifeDays:parseFloat(g("MEMORY_RECENCY_HALF_LIFE_DAYS",String(v.memory?.recencyHalfLifeDays??7))),coldSummaryMinRecords:parseInt(g("MEMORY_COLD_SUMMARY_MIN",String(v.memory?.coldSummaryMinRecords??5)),10),coldRetentionDays:parseInt(g("MEMORY_COLD_RETENTION_DAYS",String(v.memory?.coldRetentionDays??90)),10),purgeRetentionDays:parseInt(g("MEMORY_PURGE_RETENTION_DAYS",String(v.memory?.purgeRetentionDays??7)),10),reflectionMinTurns:parseInt(g("MEMORY_REFLECTION_MIN_TURNS",String(v.memory?.reflectionMinTurns??3)),10)},codeIndex:{enabled:v.codeIndex?.enabled===!0||process.env.CODE_INDEX_ENABLED==="true",scoreThreshold:parseFloat(g("CODE_INDEX_SCORE_THRESHOLD",String(v.codeIndex?.scoreThreshold??.65))),prefetchLimit:parseInt(g("CODE_INDEX_PREFETCH_LIMIT",String(v.codeIndex?.prefetchLimit??8)),10),sessionKnowledge:{enabled:(v.codeIndex?.sessionKnowledge?.enabled??!0)&&process.env.CODE_INDEX_SESSION_KNOWLEDGE!=="false"},repos:v.codeIndex?.repos??{}},events:{retentionDays:parseInt(g("EVENT_RETENTION_DAYS",String(v.events?.retentionDays??30)),10)},activity:{enabled:(v.activity?.enabled??!0)&&process.env.ACTIVITY_LOG_ENABLED!=="false",bufferSize:parseInt(g("ACTIVITY_BUFFER_SIZE",String(v.activity?.bufferSize??200)),10),flushIntervalMs:parseInt(g("ACTIVITY_FLUSH_INTERVAL_MS",String(v.activity?.flushIntervalMs??3e4)),10),retentionDays:parseInt(g("ACTIVITY_RETENTION_DAYS",String(v.activity?.retentionDays??90)),10)},autoDream:{enabled:v.autoDream?.enabled??!0,idleThresholdMinutes:parseInt(g("AUTODREAM_IDLE_THRESHOLD_MINUTES",String(v.autoDream?.idleThresholdMinutes??30)),10),cooldownMinutes:parseInt(g("AUTODREAM_COOLDOWN_MINUTES",String(v.autoDream?.cooldownMinutes??60)),10),similarityThreshold:parseFloat(g("AUTODREAM_SIMILARITY_THRESHOLD",String(v.autoDream?.similarityThreshold??.85))),patternMinCount:parseInt(g("AUTODREAM_PATTERN_MIN_COUNT",String(v.autoDream?.patternMinCount??3)),10),maxClustersPerRun:parseInt(g("AUTODREAM_MAX_CLUSTERS",String(v.autoDream?.maxClustersPerRun??20)),10),maxContradictionPairsPerRun:parseInt(g("AUTODREAM_MAX_CONTRADICTIONS",String(v.autoDream?.maxContradictionPairsPerRun??30)),10),maxPromotionsPerRun:parseInt(g("AUTODREAM_MAX_PROMOTIONS",String(v.autoDream?.maxPromotionsPerRun??10)),10),maxBudgetUsd:parseFloat(g("AUTODREAM_MAX_BUDGET_USD",String(v.autoDream?.maxBudgetUsd??.1)))},browser:{cdpEndpoint:g("BROWSER_CDP_ENDPOINT","")},tasksDir:{code:g("CODE_TASKS_DIR",`/tmp/${tn}-code-tasks`),background:g("BG_TASKS_DIR",`/tmp/${tn}-bg-tasks`)}}});var mu={};Q(mu,{runDoctor:()=>vy});import{resolve as Ss}from"node:path";import{existsSync as my,readFileSync as gy}from"node:fs";import{execFileSync as hu}from"node:child_process";async function yy(){try{return{config:(await Promise.resolve().then(()=>(ys(),gs))).config,error:null}}catch(t){return{config:null,error:t instanceof Error?t.message:String(t)}}}async function vy(t={}){let e=!!t.verbose,n=zc("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=Hc(Ss(import.meta.dirname,"../../src/config.ts")),{config:i,error:r}=await yy(),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:()=>Zt("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:()=>jc("mongodb-community"),remedy:"brew services start mongodb-community # informational; live reachability is checked under Agents"},{name:"Ollama",group:"prereq",required:!0,test:()=>Ar("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(!Zt("ollama"))return!1;try{let c=hu("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:()=>Ar("http://127.0.0.1:6333/"),remedy:"brew install qdrant && brew services start qdrant"},{name:"gh CLI",group:"prereq",required:!1,test:()=>Zt("gh")},{name:"gog CLI",group:"prereq",required:!1,test:()=>Zt("gog")},{name:"Xcode CLI Tools",group:"prereq",required:!0,test:()=>{try{return hu("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_HOME>/.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_HOME>/.env`})),{name:"MongoDB reachable",group:"agents",required:!0,test:()=>i?Gc(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?Wc(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?Jc(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=Yc("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?Qc(i.slack.botToken):!1,remedy:"Verify SLACK_BOT_TOKEN in .env and that the token still has the expected scopes."},{name:"live plist points at engine entry",group:"services",required:!1,test:async()=>{if(!i)return!0;let c=`com.hive.${i.instance.id}.agent`,f=process.env.HOME??"",u=Ss(f,"Library/LaunchAgents",`${c}.plist`);if(!my(u))return!0;let d=gy(u,"utf-8"),p=Ss(Z,"dist","index.js"),y=Ss(Z,"pkg","server.min.js");return d.includes(p)||d.includes(y)},remedy:"Live plist ProgramArguments does not reference <engineDir>/dist/index.js. Run `hive start --daemon` to regenerate the plist."}],a=!0,l=null;for(let c of o){c.group!==l&&(console.log(`
228
+ ${Sy[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 Cg,Jc=L(()=>{"use strict";Mc();z();Cg={prereq:"Prereqs",config:"Config",agents:"Agents",services:"Services"}});import{readFileSync as Mg,writeFileSync as $g,existsSync as Dg}from"node:fs";import{resolve as qg}from"node:path";function Pe(){return qg(P,process.env.HIVE_CONFIG||"hive.yaml")}function se(t){let e=t??Pe();return Dg(e)?(0,hs.parse)(Mg(e,"utf-8"))??{}:{}}function at(t,e){let n=e??Pe();$g(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(Qc[t]<Qc[Rg])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 Qc,Rg,ie=L(()=>{"use strict";Qc={debug:0,info:1,warn:2,error:3},Rg=process.env.LOG_LEVEL||"info"});import{execFileSync as vr}from"node:child_process";function br(){let t=se(),n=`com.hive.${t.instanceId??t.id??"hive"}.agent`;try{vr("launchctl",["list",n],{stdio:"pipe"})}catch{return!1}let s=vr("id",["-u"],{stdio:"pipe",encoding:"utf-8"}).trim();try{return vr("launchctl",["kickstart","-k",`gui/${s}/${n}`],{stdio:"pipe"}),zc.info("Hive service restarted",{label:n}),!0}catch(i){return zc.warn("Failed to restart hive service",{label:n,error:String(i)}),!1}}var zc,Xc=L(()=>{"use strict";ms();ie();zc=x("hive-restart")});import{readFileSync as Kg}from"node:fs";import{resolve as Zc}from"node:path";function xg(){let t=[Zc(import.meta.dirname,"..","..","package.json"),Zc(import.meta.dirname,"..","package.json")];for(let e of t)try{let n=JSON.parse(Kg(e,"utf-8"));if(n?.name==="@keepur/hive"&&typeof n.hiveApi=="string")return n.hiveApi}catch{continue}return null}var Bg,eu,ys,Er=L(()=>{"use strict";ie();Bg=x("api-version");eu=xg();eu||Bg.warn("Could not read hiveApi from package.json; falling back to 1.0.0");ys=eu??"1.0.0"});function tu(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 Ug.warn("Unrecognized hiveApi range syntax, accepting",{range:t}),!0}var Fg,Ug,nu=L(()=>{"use strict";Fg=le(fe(),1);ie();Er();Ug=x("plugin-loader")});var iu={};Q(iu,{runPlugin:()=>Yg});import{execFileSync as Ss}from"node:child_process";import{existsSync as lt,mkdirSync as jg,readFileSync as Ar}from"node:fs";import{resolve as tn,join as ws}from"node:path";function su(t,e){let n=ws(t,"..","package.json");if(lt(n))try{let i=JSON.parse(Ar(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 Yg(t,e){switch(t){case"add":return Hg(e);case"remove":return Vg(e);case"list":return Gg();default:console.error("Usage: hive plugin <add|list|remove> [package]"),process.exit(1)}}function Hg(t){t||(console.error("Usage: hive plugin add <package-name>"),process.exit(1)),jg(re,{recursive:!0});let e=tn(re,"package.json");lt(e)||Ss("npm",["init","-y"],{cwd:re,stdio:"pipe"}),console.log(`Installing ${t}...`);try{Ss("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=ws(n,"plugin.yaml");lt(s)||(console.error(`Not a valid hive plugin \u2014 no plugin.yaml found in ${t}.`),kr(t),process.exit(1));let i=(0,_r.parse)(Ar(s,"utf-8")),r=i?.hiveApi??i?.["hive-api"];r&&!tu(r,ys)&&(console.error(`Plugin requires hiveApi ${r} but this hive is ${ys}.`),kr(t),process.exit(1));let o=su(s,i),a=Pe(),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)}`),kr(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 Vg(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{Ss("npm",["uninstall",t],{cwd:re,stdio:"pipe"})}catch(i){console.error(`Failed to uninstall ${t}: ${String(i)}`),process.exit(1)}let e=Pe(),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 Gg(){let t=Pe(),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=ws(i,"plugin.yaml"),a=ws(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,_r.parse)(Ar(l,"utf-8")),u=su(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 kr(t){try{Ss("npm",["uninstall",t],{cwd:re,stdio:"pipe"})}catch{}}var _r,re,ru=L(()=>{"use strict";_r=le(fe(),1);z();ms();Xc();Er();nu();re=tn(P,"plugins")});var cu={};Q(cu,{checkoutSha:()=>Pr,findTagForSha:()=>ct,listSkillsInClone:()=>Cr,lsRemoteHead:()=>Lr,partialClone:()=>Tr,shallowClone:()=>Nr,verifyGitAvailable:()=>nn});import{execFileSync as oe}from"node:child_process";import{existsSync as ou,readdirSync as Wg,statSync as Jg,rmSync as Ir,mkdtempSync as au}from"node:fs";import{join as Ue}from"node:path";import{tmpdir as lu}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 Nr(t){let e=au(Ue(lu(),"hive-skill-install-")),n=Ue(e,"repo"),s=()=>{try{Ir(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 Or.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 Tr(t){let e=au(Ue(lu(),"hive-skill-upgrade-")),n=Ue(e,"repo"),s=()=>{try{Ir(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){Or.debug("Blobless clone failed, falling back to full clone",{error:String(r)}),Ir(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 Or.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 Lr(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 Cr(t){let e=Ue(t,"skills");return ou(e)?Wg(e).filter(n=>{try{let s=Ue(e,n);return Jg(s).isDirectory()&&ou(Ue(s,"SKILL.md"))}catch{return!1}}):[]}function Pr(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 Or,sn=L(()=>{"use strict";ie();Or=x("registry-fetch")});function uu(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 fu(t,e){if(t.inlineUrl){let i=Qg(t.inlineUrl);return Mr.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 Mr.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 Mr.debug("resolved default registry",{registryName:s.name,url:s.url}),{name:s.name,url:s.url}}function Qg(t){try{return t.replace(/\.git$/,"").split("/").filter(Boolean).slice(-2).join("-")}catch{return"inline"}}var Mr,du=L(()=>{"use strict";ie();Mr=x("registry-resolver")});import{join as zg}from"node:path";import{readFileSync as Xg}from"node:fs";function pu(t,e){let s=Xg(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 hu(t,e,n){return zg(t,e,"skills",n)}var mu=L(()=>{"use strict"});import{readFileSync as Zg,writeFileSync as ey}from"node:fs";function $r(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=je(f);else if(c==="description")i.description=je(f);else if(c==="workflow")i.workflow=je(f);else if(c==="agents"){let u=f.match(/^\[([^\]]*)\]$/);if(u)i.agents=u[1].split(",").map(d=>je(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(je(d))}else i.agents=[je(f)]}else if(c==="origin")for(i.origin=gu(r,o);o+1<r.length&&r[o+1].match(/^\s+\S/);)o++;else if(c==="author")for(i.author=gu(r,o);o+1<r.length&&r[o+1].match(/^\s+\S/);)o++;o++}return{frontmatter:i,body:s}}function gu(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]]=je(r)}s++}return n}function je(t){return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"):t}function Dr(t,e){let n=[];n.push(`name: ${vs(t.name)}`),n.push(`description: ${vs(t.description)}`);let s=t.agents.join(", ");return n.push(`agents: [${s}]`),t.workflow&&n.push(`workflow: ${vs(t.workflow)}`),t.origin&&(n.push("origin:"),yu(n,t.origin)),t.author&&(n.push("author:"),yu(n,t.author)),`---
230
+ All checks passed.`)}var Sy,gu=O(()=>{"use strict";Xc();G();Sy={prereq:"Prereqs",config:"Config",agents:"Agents",services:"Services"}});import{readFileSync as wy,writeFileSync as by,existsSync as Ey}from"node:fs";import{resolve as ky}from"node:path";function De(){return ky(P,process.env.HIVE_CONFIG||"hive.yaml")}function re(t){let e=t??De();return Ey(e)?(0,vs.parse)(wy(e,"utf-8"))??{}:{}}function ut(t,e){let n=e??De();by(n,(0,vs.stringify)(t,{lineWidth:0}))}var vs,ws=O(()=>{"use strict";vs=ue(he(),1);G()});function bs(t,e,n,s){if(yu[t]<yu[Ay])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 B(t){return{debug:(e,n)=>bs("debug",t,e,n),info:(e,n)=>bs("info",t,e,n),warn:(e,n)=>bs("warn",t,e,n),error:(e,n)=>bs("error",t,e,n)}}var yu,Ay,oe=O(()=>{"use strict";yu={debug:0,info:1,warn:2,error:3},Ay=process.env.LOG_LEVEL||"info"});import{execFileSync as Nr}from"node:child_process";function Tr(){let t=re(),n=`com.hive.${t.instanceId??t.id??"hive"}.agent`;try{Nr("launchctl",["list",n],{stdio:"pipe"})}catch{return!1}let s=Nr("id",["-u"],{stdio:"pipe",encoding:"utf-8"}).trim();try{return Nr("launchctl",["kickstart","-k",`gui/${s}/${n}`],{stdio:"pipe"}),Su.info("Hive service restarted",{label:n}),!0}catch(i){return Su.warn("Failed to restart hive service",{label:n,error:String(i)}),!1}}var Su,vu=O(()=>{"use strict";ws();oe();Su=B("hive-restart")});import{readFileSync as _y}from"node:fs";import{resolve as wu}from"node:path";function Oy(){let t=[wu(import.meta.dirname,"..","..","package.json"),wu(import.meta.dirname,"..","package.json")];for(let e of t)try{let n=JSON.parse(_y(e,"utf-8"));if(n?.name==="@keepur/hive"&&typeof n.hiveApi=="string")return n.hiveApi}catch{continue}return null}var Iy,bu,Es,Lr=O(()=>{"use strict";oe();Iy=B("api-version");bu=Oy();bu||Iy.warn("Could not read hiveApi from package.json; falling back to 1.0.0");Es=bu??"1.0.0"});function Eu(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 Ty.warn("Unrecognized hiveApi range syntax, accepting",{range:t}),!0}var Ny,Ty,ku=O(()=>{"use strict";Ny=ue(he(),1);oe();Lr();Ty=B("plugin-loader")});var _u={};Q(_u,{runPlugin:()=>Cy});import{execFileSync as ks}from"node:child_process";import{existsSync as ft,mkdirSync as Ly,readFileSync as Pr}from"node:fs";import{resolve as nn,join as As}from"node:path";function Au(t,e){let n=As(t,"..","package.json");if(ft(n))try{let i=JSON.parse(Pr(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 Cy(t,e){switch(t){case"add":return Py(e);case"remove":return My(e);case"list":return $y();default:console.error("Usage: hive plugin <add|list|remove> [package]"),process.exit(1)}}function Py(t){t||(console.error("Usage: hive plugin add <package-name>"),process.exit(1)),Ly(ae,{recursive:!0});let e=nn(ae,"package.json");ft(e)||ks("npm",["init","-y"],{cwd:ae,stdio:"pipe"}),console.log(`Installing ${t}...`);try{ks("npm",["install",t],{cwd:ae,stdio:"pipe"})}catch(f){console.error(`Failed to install ${t}: ${String(f)}`),process.exit(1)}let n=nn(ae,"node_modules",t),s=As(n,"plugin.yaml");ft(s)||(console.error(`Not a valid hive plugin \u2014 no plugin.yaml found in ${t}.`),Cr(t),process.exit(1));let i=(0,Mr.parse)(Pr(s,"utf-8")),r=i?.hiveApi??i?.["hive-api"];r&&!Eu(r,Es)&&(console.error(`Plugin requires hiveApi ${r} but this hive is ${Es}.`),Cr(t),process.exit(1));let o=Au(s,i),a=De(),l=re(a);if(l.plugins||(l.plugins=[]),!l.plugins.includes(t)){l.plugins.push(t);try{ut(l,a)}catch(f){console.error(`Failed to update hive.yaml: ${String(f)}`),Cr(t),process.exit(1)}console.log("\u2713 Updated hive.yaml")}let c=Tr();console.log(c?"\u2713 Restarting hive... done":"Start hive to activate the plugin."),console.log(`\u2713 Installed ${t} (v${o}${r?`, hiveApi ${r}`:""})`)}function My(t){t||(console.error("Usage: hive plugin remove <package-name>"),process.exit(1)),ft(ae)||(console.error("No plugins directory found."),process.exit(1)),console.log(`Removing ${t}...`);try{ks("npm",["uninstall",t],{cwd:ae,stdio:"pipe"})}catch(i){console.error(`Failed to uninstall ${t}: ${String(i)}`),process.exit(1)}let e=De(),n=re(e);if(Array.isArray(n.plugins)){let i=n.plugins.indexOf(t);i>=0&&(n.plugins.splice(i,1),ut(n,e),console.log("\u2713 Updated hive.yaml"))}let s=Tr();console.log(s?"\u2713 Restarting hive... done":"Restart hive to complete removal."),console.log(`Removed ${t}`)}function $y(){let t=De(),n=re(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=nn(ae,"node_modules",s),r=nn(ae,s),o=As(i,"plugin.yaml"),a=As(r,"plugin.yaml"),l=null,c=!1;if(ft(o)?l=o:ft(a)&&(l=a,c=!0),!l){console.log(` ${s} \u26A0 not found on disk`);continue}try{let f=(0,Mr.parse)(Pr(l,"utf-8")),u=Au(l,f),d=f?.hiveApi??f?.["hive-api"]??"",p=c?" [in-tree]":"";console.log(` ${s} v${u}${d?` (hiveApi ${d})`:""}${p}`)}catch{console.log(` ${s} \u26A0 failed to read plugin.yaml`)}}}function Cr(t){try{ks("npm",["uninstall",t],{cwd:ae,stdio:"pipe"})}catch{}}var Mr,ae,Iu=O(()=>{"use strict";Mr=ue(he(),1);G();ws();vu();Lr();ku();ae=nn(P,"plugins")});var Lu={};Q(Lu,{checkoutSha:()=>Br,findTagForSha:()=>dt,listSkillsInClone:()=>xr,lsRemoteHead:()=>Kr,partialClone:()=>Rr,shallowClone:()=>qr,verifyGitAvailable:()=>sn});import{execFileSync as le}from"node:child_process";import{existsSync as Ou,readdirSync as Dy,statSync as qy,rmSync as $r,mkdtempSync as Nu}from"node:fs";import{join as Ve}from"node:path";import{tmpdir as Tu}from"node:os";function sn(){try{le("git",["--version"],{stdio:"pipe"})}catch{throw new Error("git is required for skill installation but was not found. Install git and retry.")}}function qr(t){let e=Nu(Ve(Tu(),"hive-skill-install-")),n=Ve(e,"repo"),s=()=>{try{$r(e,{recursive:!0,force:!0})}catch{}};try{le("git",["clone","--depth","1",t,n],{stdio:"pipe",timeout:6e4});let i=le("git",["rev-parse","HEAD"],{cwd:n,stdio:"pipe",encoding:"utf-8"}).trim();return Dr.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 Rr(t){let e=Nu(Ve(Tu(),"hive-skill-upgrade-")),n=Ve(e,"repo"),s=()=>{try{$r(e,{recursive:!0,force:!0})}catch{}};try{try{le("git",["clone","--filter=blob:none","--no-checkout",t,n],{stdio:"pipe",timeout:12e4}),le("git",["checkout","HEAD"],{cwd:n,stdio:"pipe"})}catch(r){Dr.debug("Blobless clone failed, falling back to full clone",{error:String(r)}),$r(n,{recursive:!0,force:!0}),le("git",["clone",t,n],{stdio:"pipe",timeout:12e4})}let i=le("git",["rev-parse","HEAD"],{cwd:n,stdio:"pipe",encoding:"utf-8"}).trim();return Dr.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 Kr(t){let n=le("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 xr(t){let e=Ve(t,"skills");return Ou(e)?Dy(e).filter(n=>{try{let s=Ve(e,n);return qy(s).isDirectory()&&Ou(Ve(s,"SKILL.md"))}catch{return!1}}):[]}function Br(t,e){le("git",["checkout",e],{cwd:t,stdio:"pipe"})}function dt(t,e){try{return le("git",["describe","--tags","--exact-match",e],{cwd:t,stdio:"pipe",encoding:"utf-8"}).trim()||void 0}catch{return}}var Dr,rn=O(()=>{"use strict";oe();Dr=B("registry-fetch")});function Cu(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 Pu(t,e){if(t.inlineUrl){let i=Ry(t.inlineUrl);return Fr.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 Fr.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 Fr.debug("resolved default registry",{registryName:s.name,url:s.url}),{name:s.name,url:s.url}}function Ry(t){try{return t.replace(/\.git$/,"").split("/").filter(Boolean).slice(-2).join("-")}catch{return"inline"}}var Fr,Mu=O(()=>{"use strict";oe();Fr=B("registry-resolver")});import{join as Ky}from"node:path";import{readFileSync as xy}from"node:fs";function $u(t,e){let s=xy(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 Ky(t,e,"skills",n)}var qu=O(()=>{"use strict"});import{readFileSync as By,writeFileSync as Fy}from"node:fs";function Ur(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=Ge(f);else if(c==="description")i.description=Ge(f);else if(c==="workflow")i.workflow=Ge(f);else if(c==="agents"){let u=f.match(/^\[([^\]]*)\]$/);if(u)i.agents=u[1].split(",").map(d=>Ge(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(Ge(d))}else i.agents=[Ge(f)]}else if(c==="origin")for(i.origin=Ru(r,o);o+1<r.length&&r[o+1].match(/^\s+\S/);)o++;else if(c==="author")for(i.author=Ru(r,o);o+1<r.length&&r[o+1].match(/^\s+\S/);)o++;o++}return{frontmatter:i,body:s}}function Ru(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]]=Ge(r)}s++}return n}function Ge(t){return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"):t}function jr(t,e){let n=[];n.push(`name: ${_s(t.name)}`),n.push(`description: ${_s(t.description)}`);let s=t.agents.join(", ");return n.push(`agents: [${s}]`),t.workflow&&n.push(`workflow: ${_s(t.workflow)}`),t.origin&&(n.push("origin:"),Ku(n,t.origin)),t.author&&(n.push("author:"),Ku(n,t.author)),`---
234
234
  ${n.join(`
235
235
  `)}
236
236
  ---
237
- ${e}`}function yu(t,e){for(let[n,s]of Object.entries(e))s!==void 0&&t.push(` ${n}: ${vs(String(s))}`)}function vs(t){return t.includes(":")||t.includes("#")||t.includes('"')?`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:t}function ae(t){let e=Zg(t,"utf-8");return $r(e)}function qr(t,e,n){ey(t,Dr(e,n),"utf-8")}function Su(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 Ku(t,e){for(let[n,s]of Object.entries(e))s!==void 0&&t.push(` ${n}: ${_s(String(s))}`)}function _s(t){return t.includes(":")||t.includes("#")||t.includes('"')?`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:t}function ce(t){let e=By(t,"utf-8");return Ur(e)}function Hr(t,e,n){Fy(t,jr(e,n),"utf-8")}function xu(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 ut=L(()=>{"use strict"});import{createHash as ty}from"node:crypto";import{readdirSync as ny,readFileSync as sy,statSync as iy}from"node:fs";import{join as wu}from"node:path";function rn(t){let e=vu(t).sort(),n=ty("sha256");for(let s=0;s<e.length;s++){s>0&&n.update("\0");let i=wu(t,e[s]),r=sy(i,"utf-8");e[s]==="SKILL.md"?n.update(Su(r)):n.update(r)}return n.digest("hex")}function vu(t,e=""){let n=ny(t),s=[];for(let i of n){let r=wu(t,i),o=e?`${e}/${i}`:i;iy(r).isDirectory()?s.push(...vu(r,o)):s.push(o)}return s}var Rr=L(()=>{"use strict";ut()});import{execFileSync as bs}from"node:child_process";import{existsSync as Es,mkdirSync as Mv,unlinkSync as bu}from"node:fs";import{resolve as Eu,join as ku}from"node:path";function ft(t,e,n,s){let i=Eu(t,".hive","git");if(!Es(i)){on.warn("Instance git not initialized \u2014 skipping state commit");return}let r=ku(i,"state-index.tmp"),o={...process.env,GIT_DIR:i,GIT_WORK_TREE:t,GIT_INDEX_FILE:r},a=(...l)=>bs("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=bs("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)&&bu(r)}catch{}}}function Au(t,e,n){let s=Eu(t,".hive","git");if(!Es(s))return;let i=ku(s,"state-index.tmp"),r={...process.env,GIT_DIR:s,GIT_WORK_TREE:t,GIT_INDEX_FILE:i},o=(...a)=>bs("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=bs("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)&&bu(i)}catch{}}}var on,ks=L(()=>{"use strict";ie();on=x("instance-git")});import{cpSync as ry,existsSync as _u,mkdirSync as oy,readFileSync as Iu,writeFileSync as ay}from"node:fs";import{join as As,relative as ly}from"node:path";function Nu(t,e,n,s){let i=Nr(t);try{let r=As(i.dir,"skills",e);if(!_u(r)){let m=Cr(i.dir);throw new Error(`Skill "${e}" not found in registry ${t}. Available skills: ${m.join(", ")||"(none)"}`)}let o=As(r,"SKILL.md"),a=pu(o,e),c=Iu(o,"utf-8").match(/^---\n([\s\S]*?)\n---/);if(c){let m=c[1].match(/^name:\s*(.+)$/m);m&&m[1].trim()!==e&&Ou.warn("Registry skill name mismatch \u2014 using directory name",{dirName:e,frontmatterName:m[1].trim()})}let f=hu(n,a,e);if(_u(f))throw new Error(`Skill "${e}" is already installed at ${f}. Use "hive skill upgrade ${e}" to update, or "hive skill remove ${e}" first.`);oy(f,{recursive:!0}),ry(r,f,{recursive:!0});let u=rn(f),d=ct(i.dir,i.headSha),{frontmatter:h,body:y}=$r(Iu(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},ay(As(f,"SKILL.md"),Dr(h,y));let p=ly(s,f);return ft(s,[p],`install: ${a}/${e} from ${t}@${i.headSha.slice(0,8)}`),Ou.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 Ou,Tu=L(()=>{"use strict";sn();mu();ut();Rr();ks();ie();Ou=x("skill-install")});import{existsSync as Is,readFileSync as Kr,cpSync as _s,mkdirSync as Lu,readdirSync as cy,statSync as uy}from"node:fs";import{join as V,relative as Br}from"node:path";function xr(t,e){if(!Is(e))return null;for(let n of cy(e)){let s=V(e,n);try{if(!uy(s).isDirectory())continue}catch{continue}let i=V(s,"skills",t);if(Is(V(i,"SKILL.md")))return{path:i,workflow:n}}return null}async function Fr(t,e,n,s){let i=xr(t,e);if(!i)throw new Error(`Skill "${t}" is not installed or is not registry-sourced.`);let{frontmatter:r}=ae(V(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=Lr(o.source),l=o["base-version"];if(a===l)return{name:t,action:"up-to-date",oldVersion:l};let c=Tr(o.source);try{let f=V(c.dir,"skills",t);if(!Is(V(f,"SKILL.md")))return Cu.warn("Skill removed from registry \u2014 keeping installed copy",{name:t,source:o.source}),ft(n,[Br(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(V(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}:{}},qr(V(i.path,"SKILL.md"),N,E);let M=Br(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=Kr(V(i.path,"SKILL.md"),"utf-8"),d=Kr(V(f,"SKILL.md"),"utf-8"),h=V(c.dir,".hive-theirs-copy",t);Lu(h,{recursive:!0}),_s(f,h,{recursive:!0});let y;try{Pr(c.dir,l);let k=V(c.dir,"skills",t,"SKILL.md");Is(k)&&(y=Kr(k,"utf-8"))}catch{}if(await s(u,d,y)==="keep")return{name:t,action:"kept",oldVersion:l};if(!y){let k=V(n,".hive","skill-backups",`${t}-${Date.now()}`);Lu(k,{recursive:!0}),_s(i.path,k,{recursive:!0}),Cu.info("Backed up modified skill before upgrade",{backup:k})}_s(h,i.path,{recursive:!0});let m=rn(i.path),w=ct(c.dir,a),{frontmatter:b,body:A}=ae(V(i.path,"SKILL.md"));b.origin={...b.origin,"base-version":a,"base-content-hash":m,"installed-at":new Date().toISOString(),modified:!1,...w?{"base-tag":w}:{}},qr(V(i.path,"SKILL.md"),b,A);let _=Br(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 Cu,Ur=L(()=>{"use strict";sn();ut();Rr();ks();ie();Cu=x("skill-upgrade")});import{existsSync as Pu,rmSync as Mu,readdirSync as fy}from"node:fs";import{join as jr,relative as dy}from"node:path";async function Du(t,e,n,s={}){let i=xr(t,e);if(!i)throw new Error(`Skill "${t}" is not installed.`);let r=jr(i.path,"SKILL.md");if(Pu(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 $u.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=dy(n,i.path);Mu(i.path,{recursive:!0,force:!0});let a=jr(e,i.workflow,"skills");return Pu(a)&&fy(a).length===0&&Mu(jr(e,i.workflow),{recursive:!0,force:!0}),Au(n,[o],`remove: ${i.workflow}/${t}`),$u.info("Skill removed",{name:t,workflow:i.workflow}),!0}var $u,qu=L(()=>{"use strict";ut();ks();Ur();ie();$u=x("skill-remove")});var Ku={};Q(Ku,{runSkill:()=>my});import{existsSync as he,readdirSync as dt,readFileSync as py,statSync as hy}from"node:fs";import{join as Me}from"node:path";import{createInterface as Ru}from"node:readline";async function my(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=uu(n),r=fu(i,s.skillRegistries),o=Nu(r.url,i.name,Y,P);console.log(`Installed ${o.workflow}/${o.name} (${o.version.slice(0,8)})`);break}case"list":{e.includes("--available")?(nn(),await yy(e)):gy();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(`
239
+ `)+i+r}var pt=O(()=>{"use strict"});import{createHash as Uy}from"node:crypto";import{readdirSync as jy,readFileSync as Hy,statSync as Yy}from"node:fs";import{join as Bu}from"node:path";function on(t){let e=Fu(t).sort(),n=Uy("sha256");for(let s=0;s<e.length;s++){s>0&&n.update("\0");let i=Bu(t,e[s]),r=Hy(i,"utf-8");e[s]==="SKILL.md"?n.update(xu(r)):n.update(r)}return n.digest("hex")}function Fu(t,e=""){let n=jy(t),s=[];for(let i of n){let r=Bu(t,i),o=e?`${e}/${i}`:i;Yy(r).isDirectory()?s.push(...Fu(r,o)):s.push(o)}return s}var Yr=O(()=>{"use strict";pt()});import{execFileSync as Is}from"node:child_process";import{existsSync as Os,mkdirSync as Fb,unlinkSync as ju}from"node:fs";import{join as Hu,resolve as Uu}from"node:path";function Yu(t){let e=Uu(t,".hive-state");return{stateDir:e,gitDir:Uu(e,"git")}}function ht(t,e,n,s){let{gitDir:i}=Yu(t);if(!Os(i)){an.warn("Instance git not initialized \u2014 skipping state commit");return}let r=Hu(i,"state-index.tmp"),o={...process.env,GIT_DIR:i,GIT_WORK_TREE:t,GIT_INDEX_FILE:r},a=(...l)=>Is("git",[...l],{cwd:t,env:o,stdio:"pipe",encoding:"utf-8"}).trim();try{a("read-tree","state");for(let p of e)a("add","--force","--",p);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=Is("git",["commit-tree",l,"-p",c,"-m",n],{env:{...o,...u},encoding:"utf-8"}).trim();a("update-ref","refs/heads/state",d),an.debug("State branch commit",{message:n,files:e.length})}catch(l){an.warn("Failed to commit to state branch",{error:String(l),message:n})}finally{try{Os(r)&&ju(r)}catch{}}}function Vu(t,e,n){let{gitDir:s}=Yu(t);if(!Os(s))return;let i=Hu(s,"state-index.tmp"),r={...process.env,GIT_DIR:s,GIT_WORK_TREE:t,GIT_INDEX_FILE:i},o=(...a)=>Is("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=Is("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),an.debug("State branch removal commit",{message:n})}catch(a){an.warn("Failed to commit removal to state branch",{error:String(a)})}finally{try{Os(i)&&ju(i)}catch{}}}var an,Ns=O(()=>{"use strict";oe();an=B("instance-git")});import{cpSync as Vy,existsSync as Gu,mkdirSync as Gy,readFileSync as Wu,writeFileSync as Wy}from"node:fs";import{join as Ts,relative as Jy}from"node:path";function Qu(t,e,n,s){let i=qr(t);try{let r=Ts(i.dir,"skills",e);if(!Gu(r)){let m=xr(i.dir);throw new Error(`Skill "${e}" not found in registry ${t}. Available skills: ${m.join(", ")||"(none)"}`)}let o=Ts(r,"SKILL.md"),a=$u(o,e),c=Wu(o,"utf-8").match(/^---\n([\s\S]*?)\n---/);if(c){let m=c[1].match(/^name:\s*(.+)$/m);m&&m[1].trim()!==e&&Ju.warn("Registry skill name mismatch \u2014 using directory name",{dirName:e,frontmatterName:m[1].trim()})}let f=Du(n,a,e);if(Gu(f))throw new Error(`Skill "${e}" is already installed at ${f}. Use "hive skill upgrade ${e}" to update, or "hive skill remove ${e}" first.`);Gy(f,{recursive:!0}),Vy(r,f,{recursive:!0});let u=on(f),d=dt(i.dir,i.headSha),{frontmatter:p,body:y}=Ur(Wu(Ts(f,"SKILL.md"),"utf-8"));p.origin={type:"registry",source:t,"base-version":i.headSha,...d?{"base-tag":d}:{},"base-content-hash":u,"installed-at":new Date().toISOString(),modified:!1},Wy(Ts(f,"SKILL.md"),jr(p,y));let h=Jy(s,f);return ht(s,[h],`install: ${a}/${e} from ${t}@${i.headSha.slice(0,8)}`),Ju.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 Ju,zu=O(()=>{"use strict";rn();qu();pt();Yr();Ns();oe();Ju=B("skill-install")});import{existsSync as Cs,readFileSync as Vr,cpSync as Ls,mkdirSync as Xu,readdirSync as Qy,statSync as zy}from"node:fs";import{join as V,relative as Gr}from"node:path";function Wr(t,e){if(!Cs(e))return null;for(let n of Qy(e)){let s=V(e,n);try{if(!zy(s).isDirectory())continue}catch{continue}let i=V(s,"skills",t);if(Cs(V(i,"SKILL.md")))return{path:i,workflow:n}}return null}async function Jr(t,e,n,s){let i=Wr(t,e);if(!i)throw new Error(`Skill "${t}" is not installed or is not registry-sourced.`);let{frontmatter:r}=ce(V(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=Kr(o.source),l=o["base-version"];if(a===l)return{name:t,action:"up-to-date",oldVersion:l};let c=Rr(o.source);try{let f=V(c.dir,"skills",t);if(!Cs(V(f,"SKILL.md")))return Zu.warn("Skill removed from registry \u2014 keeping installed copy",{name:t,source:o.source}),ht(n,[Gr(n,i.path)],`upgrade-check: ${i.workflow}/${t} removed from upstream registry`),{name:t,action:"removed-upstream",oldVersion:l};if(!o.modified){Ls(f,i.path,{recursive:!0});let k=on(i.path),I=dt(c.dir,a),{frontmatter:T,body:E}=ce(V(i.path,"SKILL.md"));T.origin={...T.origin,"base-version":a,"base-content-hash":k,"installed-at":new Date().toISOString(),modified:!1,...I?{"base-tag":I}:{}},Hr(V(i.path,"SKILL.md"),T,E);let M=Gr(n,i.path);return ht(n,[M],`upgrade: ${t} ${l.slice(0,8)} \u2192 ${a.slice(0,8)}`),{name:t,action:"applied",oldVersion:l,newVersion:a}}let u=Vr(V(i.path,"SKILL.md"),"utf-8"),d=Vr(V(f,"SKILL.md"),"utf-8"),p=V(c.dir,".hive-theirs-copy",t);Xu(p,{recursive:!0}),Ls(f,p,{recursive:!0});let y;try{Br(c.dir,l);let k=V(c.dir,"skills",t,"SKILL.md");Cs(k)&&(y=Vr(k,"utf-8"))}catch{}if(await s(u,d,y)==="keep")return{name:t,action:"kept",oldVersion:l};if(!y){let k=V(n,".hive","skill-backups",`${t}-${Date.now()}`);Xu(k,{recursive:!0}),Ls(i.path,k,{recursive:!0}),Zu.info("Backed up modified skill before upgrade",{backup:k})}Ls(p,i.path,{recursive:!0});let m=on(i.path),w=dt(c.dir,a),{frontmatter:b,body:A}=ce(V(i.path,"SKILL.md"));b.origin={...b.origin,"base-version":a,"base-content-hash":m,"installed-at":new Date().toISOString(),modified:!1,...w?{"base-tag":w}:{}},Hr(V(i.path,"SKILL.md"),b,A);let _=Gr(n,i.path);return ht(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 Zu,Qr=O(()=>{"use strict";rn();pt();Yr();Ns();oe();Zu=B("skill-upgrade")});import{existsSync as ef,rmSync as tf,readdirSync as Xy}from"node:fs";import{join as zr,relative as Zy}from"node:path";async function sf(t,e,n,s={}){let i=Wr(t,e);if(!i)throw new Error(`Skill "${t}" is not installed.`);let r=zr(i.path,"SKILL.md");if(ef(r))try{let{frontmatter:l}=ce(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 nf.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=Zy(n,i.path);tf(i.path,{recursive:!0,force:!0});let a=zr(e,i.workflow,"skills");return ef(a)&&Xy(a).length===0&&tf(zr(e,i.workflow),{recursive:!0,force:!0}),Vu(n,[o],`remove: ${i.workflow}/${t}`),nf.info("Skill removed",{name:t,workflow:i.workflow}),!0}var nf,rf=O(()=>{"use strict";pt();Ns();Qr();oe();nf=B("skill-remove")});var af={};Q(af,{runSkill:()=>nS});import{existsSync as Se,readdirSync as mt,readFileSync as eS,statSync as tS}from"node:fs";import{join as qe}from"node:path";import{createInterface as of}from"node:readline";async function nS(t,...e){switch(t){case"add":{sn();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(()=>(ys(),gs)),i=Cu(n),r=Pu(i,s.skillRegistries),o=Qu(r.url,i.name,Y,P);console.log(`Installed ${o.workflow}/${o.name} (${o.version.slice(0,8)})`);break}case"list":{e.includes("--available")?(sn(),await iS(e)):sS();break}case"upgrade":{sn();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=Ru({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 wy(s);else{let i=await Fr(n,Y,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 Du(n,Y,P,{force:s,confirmFn:async o=>{let a=Ru({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)),Sy(n);break}default:console.error("Usage: hive skill <add|list|upgrade|remove|search> [args]"),process.exit(1)}}function gy(){if(!he(Y)){console.log("No skills installed.");return}let t=dt(Y).filter(e=>{try{return hy(Me(Y,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=Me(Y,e,"skills");if(he(n))for(let s of dt(n).sort()){let i=Me(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 yy(t){let{shallowClone:e,listSkillsInClone:n}=await Promise.resolve().then(()=>(sn(),cu)),{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(`
245
+ (Two-way comparison \u2014 base version unreachable)`);let a=of({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 oS(s);else{let i=await Jr(n,Y,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 sf(n,Y,P,{force:s,confirmFn:async o=>{let a=of({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)),rS(n);break}default:console.error("Usage: hive skill <add|list|upgrade|remove|search> [args]"),process.exit(1)}}function sS(){if(!Se(Y)){console.log("No skills installed.");return}let t=mt(Y).filter(e=>{try{return tS(qe(Y,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=qe(Y,e,"skills");if(Se(n))for(let s of mt(n).sort()){let i=qe(n,s,"SKILL.md");if(Se(i))try{let{frontmatter:r}=ce(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 iS(t){let{shallowClone:e,listSkillsInClone:n}=await Promise.resolve().then(()=>(rn(),Lu)),{config:s}=await Promise.resolve().then(()=>(ys(),gs)),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=Me(l.dir,"skills",f,"SKILL.md"),y=py(u,"utf-8").match(/^description:\s*(.+)$/m)?.[1]?.trim()??"";console.log(` ${f.padEnd(30)} ${y}`)}}finally{l.cleanup()}}}function Sy(t){let e=t.toLowerCase(),n=!1;if(he(Y))for(let s of dt(Y)){let i=Me(Y,s,"skills");if(he(i))for(let r of dt(i)){let o=Me(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 wy(t){if(!he(Y)){console.log("No skills installed.");return}let e=[];for(let n of dt(Y)){let s=Me(Y,n,"skills");if(he(s))for(let i of dt(s).sort()){let r=Me(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 Fr(n,Y,P,t);console.log(`${s.name}: ${s.action}`)}catch(s){console.error(`${n}: failed \u2014 ${String(s)}`)}}var Bu=L(()=>{"use strict";sn();du();Tu();Ur();qu();ut();z()});var xu={};Q(xu,{runRegistry:()=>vy});async function vy(t,...e){let n=Pe();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]:by(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 by(t){return t.replace(/\.git$/,"").replace(/\/$/,"").split("/").filter(Boolean).slice(-2).join("-").replace(/^github\.com-/,"")}var Fu=L(()=>{"use strict";ms()});z();import{parseArgs as Ey}from"node:util";import{resolve as $e,join as Yr}from"node:path";import{existsSync as ln,readFileSync as ky,statSync as Ay,readdirSync as _y}from"node:fs";function Iy(){let t=ht();if(ln(Yr(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=$e(n,"services","hive"),i=[];if(ln(s))try{for(let r of _y(s)){let o=Yr(s,r,"hive.yaml");ln(o)&&i.push(Yr(s,r))}}catch{}i.length>0&&(e.push(""),e.push(`Available installs: ${i.join(", ")}`)),console.error(e.join(`
251
- `)),process.exit(1)}var{positionals:Ye,values:pt}=Ey({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}}}),Hr=Ye[0];if(pt.version){let t=JSON.parse(ky($e(import.meta.dirname,"..","package.json"),"utf-8"));console.log(`hive v${t.version}`),process.exit(0)}(pt.help||!Hr)&&(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=qe(l.dir,"skills",f,"SKILL.md"),y=eS(u,"utf-8").match(/^description:\s*(.+)$/m)?.[1]?.trim()??"";console.log(` ${f.padEnd(30)} ${y}`)}}finally{l.cleanup()}}}function rS(t){let e=t.toLowerCase(),n=!1;if(Se(Y))for(let s of mt(Y)){let i=qe(Y,s,"skills");if(Se(i))for(let r of mt(i)){let o=qe(i,r,"SKILL.md");if(Se(o))try{let{frontmatter:a}=ce(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 oS(t){if(!Se(Y)){console.log("No skills installed.");return}let e=[];for(let n of mt(Y)){let s=qe(Y,n,"skills");if(Se(s))for(let i of mt(s).sort()){let r=qe(s,i,"SKILL.md");if(Se(r))try{let{frontmatter:o}=ce(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 Jr(n,Y,P,t);console.log(`${s.name}: ${s.action}`)}catch(s){console.error(`${n}: failed \u2014 ${String(s)}`)}}var lf=O(()=>{"use strict";rn();Mu();zu();Qr();rf();pt();G()});var cf={};Q(cf,{runRegistry:()=>aS});async function aS(t,...e){let n=De();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]:lS(s),o=e.includes("--default"),a=re(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}:{}}),ut(a,n),console.log(`Added registry "${r}" (${s})${o?" [default]":""}`);break}case"list":{let i=re(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=re(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),ut(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 lS(t){return t.replace(/\.git$/,"").replace(/\/$/,"").split("/").filter(Boolean).slice(-2).join("-").replace(/^github\.com-/,"")}var uf=O(()=>{"use strict";ws()});G();import{parseArgs as cS}from"node:util";import{resolve as Ke,join as Xr}from"node:path";import{existsSync as ln,readFileSync as uS,statSync as fS,readdirSync as dS}from"node:fs";function pS(){let t=fe();if(ln(Xr(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=Ke(n,"services","hive"),i=[];if(ln(s))try{for(let r of dS(s)){let o=Xr(s,r,"hive.yaml");ln(o)&&i.push(Xr(s,r))}}catch{}i.length>0&&(e.push(""),e.push(`Available installs: ${i.join(", ")}`)),console.error(e.join(`
251
+ `)),process.exit(1)}var{positionals:Re,values:ve}=cS({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},tag:{type:"string"},instance:{type:"string"}}}),Zr=Re[0];if(ve.version){let t=JSON.parse(uS(Ke(import.meta.dirname,"..","package.json"),"utf-8"));console.log(`hive v${t.version}`),process.exit(0)}(ve.help||!Zr)&&(console.log(`
252
252
  hive \u2014 AI agent platform
253
253
 
254
254
  Usage:
@@ -260,7 +260,9 @@ Commands:
260
260
  start --daemon Install + start as LaunchAgent
261
261
  stop Stop LaunchAgent
262
262
  status Health check
263
- update Stop \u2192 update package \u2192 restart
263
+ update Update engine to latest (or --tag=<tag>) and restart
264
+ rollback Restore the previous engine (.hive.prev) and restart
265
+ migrate-0.2 Migrate a 0.1.x instance dir to the 0.2.0 layout
264
266
  doctor Check prereqs, services, agent health
265
267
  plugin add <pkg> Install a plugin package
266
268
  plugin list List installed plugins
@@ -278,4 +280,4 @@ Options:
278
280
  --config <path> Path to hive.yaml
279
281
  -v, --version Show version
280
282
  -h, --help Show this help
281
- `),process.exit(0));var an=$e(import.meta.dirname,"..");if(pt.config){let t=$e(pt.config);if(ln(t)){let e=Ay(t);process.env.HIVE_HOME=e.isDirectory()?t:$e(t,"..")}else console.error(`Config not found: ${t}`),process.exit(1)}switch(Hr){case"init":{let{runSetupWizard:t}=await Promise.resolve().then(()=>(dc(),fc));await t(an);break}case"start":{let t=Iy();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($e(an,"pkg","server.min.js"))?$e(an,"pkg","server.min.js"):$e(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(()=>(gc(),mc));await t();break}case"update":{let{runUpdate:t}=await Promise.resolve().then(()=>(bc(),vc));await t();break}case"doctor":{let{runDoctor:t}=await Promise.resolve().then(()=>(Jc(),Wc));await t({verbose:!!pt.verbose});break}case"plugin":{let t=Ye[1],e=Ye[2],{runPlugin:n}=await Promise.resolve().then(()=>(ru(),iu));await n(t,e);break}case"skill":{let t=Ye[1],e=Ye.slice(2),{runSkill:n}=await Promise.resolve().then(()=>(Bu(),Ku));await n(t,...e);break}case"registry":{let t=Ye[1],e=Ye.slice(2),{runRegistry:n}=await Promise.resolve().then(()=>(Fu(),xu));await n(t,...e);break}default:console.error(`Unknown command: ${Hr}`),console.error('Run "hive --help" for usage.'),process.exit(1)}
283
+ `),process.exit(0));var Ps=Ke(import.meta.dirname,"..");if(ve.config){let t=Ke(ve.config);if(ln(t)){let e=fS(t);process.env.HIVE_HOME=e.isDirectory()?t:Ke(t,"..")}else console.error(`Config not found: ${t}`),process.exit(1)}switch(Zr){case"init":{let{runSetupWizard:t}=await Promise.resolve().then(()=>(Ac(),kc));await t(Ps);break}case"start":{let t=pS();if(ve.daemon){let{startDaemon:e}=await Promise.resolve().then(()=>(cs(),ls));await e()}else{let{execFileSync:e}=await import("node:child_process"),n=ln(Ke(Ps,"pkg","server.min.js"))?Ke(Ps,"pkg","server.min.js"):Ke(Ps,"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(()=>(cs(),ls));await t();break}case"status":{let{showStatus:t}=await Promise.resolve().then(()=>(Nc(),Oc));await t();break}case"update":{let{runUpdate:t}=await Promise.resolve().then(()=>($c(),Mc));await t({tag:ve.tag,instance:ve.instance});break}case"rollback":{let{runRollback:t}=await Promise.resolve().then(()=>(Rc(),qc));await t({instance:ve.instance});break}case"migrate-0.2":{let t=Re[1];t||(console.error("Usage: hive migrate-0.2 [--dry-run] <instance_dir>"),process.exit(2));let e=process.argv.includes("--dry-run"),{runMigrate:n}=await Promise.resolve().then(()=>(Bc(),xc));await n({instanceDir:t,dryRun:e});break}case"doctor":{let{runDoctor:t}=await Promise.resolve().then(()=>(gu(),mu));await t({verbose:!!ve.verbose});break}case"plugin":{let t=Re[1],e=Re[2],{runPlugin:n}=await Promise.resolve().then(()=>(Iu(),_u));await n(t,e);break}case"skill":{let t=Re[1],e=Re.slice(2),{runSkill:n}=await Promise.resolve().then(()=>(lf(),af));await n(t,...e);break}case"registry":{let t=Re[1],e=Re.slice(2),{runRegistry:n}=await Promise.resolve().then(()=>(uf(),cf));await n(t,...e);break}default:console.error(`Unknown command: ${Zr}`),console.error('Run "hive --help" for usage.'),process.exit(1)}