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