agent-skill-manager 1.6.2 → 1.7.0

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.
@@ -1,21 +1,161 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- import{a as N,c as w,d as L0,e as o,f as E0,g as I0,h as n,i as C0,j as X,k as W0,l as R0,m as t,n as w0,o as y0,p as x0,q as R,r as l,s as N0,u as S0,v as D0,w as i}from"./chunk-z33xk2hv.js";import{A as H,B as H0,C as g,D as m,E as _,F as T0,x as T,y as L,z as A0}from"./chunk-t7727aqn.js";import{execFile as P0}from"child_process";import{promisify as v0}from"util";import{mkdtemp as h0,readdir as e,readFile as D,rm as S,cp as u0,access as u,stat as a,lstat as m0,symlink as c0,mkdir as d0}from"fs/promises";import{join as E,relative as p0}from"path";import{tmpdir as g0}from"os";var r=v0(P0),o0=/^[a-zA-Z0-9_-]+$/,n0=/^[a-zA-Z0-9._-]+$/,t0=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/,s=128,l0=/^https?:\/\/github\.com\/([^/]+)\/([^/]+?)(?:\/tree\/(.+))?\/?$/;function $0($){let Q=l0.exec($);if(Q){let[,W,M,B]=Q,O=M.endsWith(".git")?M.slice(0,-4):M;$=`github:${W}/${O}${B?`#${B}`:""}`}if(!$.startsWith("github:"))throw Error(`Invalid source format. Got: "${$}"
3
+ import{a as T0,c as X0,d as s1,e as J2,f as n1,g as r1,h as H2,i as o1,j as T,k as v1,l as t1,m as Y2,n as e1,o as q4,p as $4,q as U0,r as B2,s as Z4,u as U4,v as X4,w as V2}from"./chunk-ghqb5qqv.js";import{A as c1,B as v,C as a1,D as G2,E as cq,F as x,G as i1,x as d,y as F,z as y}from"./chunk-wdjcav1v.js";var P=F((S4)=>{var iq=Symbol.for("yaml.alias"),P2=Symbol.for("yaml.document"),Zq=Symbol.for("yaml.map"),N2=Symbol.for("yaml.pair"),sq=Symbol.for("yaml.scalar"),Uq=Symbol.for("yaml.seq"),c=Symbol.for("yaml.node.type"),D4=(q)=>!!q&&typeof q==="object"&&q[c]===iq,w4=(q)=>!!q&&typeof q==="object"&&q[c]===P2,P4=(q)=>!!q&&typeof q==="object"&&q[c]===Zq,N4=(q)=>!!q&&typeof q==="object"&&q[c]===N2,j2=(q)=>!!q&&typeof q==="object"&&q[c]===sq,j4=(q)=>!!q&&typeof q==="object"&&q[c]===Uq;function C2(q){if(q&&typeof q==="object")switch(q[c]){case Zq:case Uq:return!0}return!1}function C4(q){if(q&&typeof q==="object")switch(q[c]){case iq:case Zq:case sq:case Uq:return!0}return!1}var b4=(q)=>(j2(q)||C2(q))&&!!q.anchor;S4.ALIAS=iq;S4.DOC=P2;S4.MAP=Zq;S4.NODE_TYPE=c;S4.PAIR=N2;S4.SCALAR=sq;S4.SEQ=Uq;S4.hasAnchor=b4;S4.isAlias=D4;S4.isCollection=C2;S4.isDocument=w4;S4.isMap=P4;S4.isNode=C4;S4.isPair=N4;S4.isScalar=j2;S4.isSeq=j4});var P0=F((s4)=>{var E=P(),f=Symbol("break visit"),b2=Symbol("skip children"),m=Symbol("remove node");function Xq(q,$){let Z=S2($);if(E.isDocument(q)){if(O0(null,q.contents,Z,Object.freeze([q]))===m)q.contents=null}else O0(null,q,Z,Object.freeze([]))}Xq.BREAK=f;Xq.SKIP=b2;Xq.REMOVE=m;function O0(q,$,Z,U){let X=E2(q,$,Z,U);if(E.isNode(X)||E.isPair(X))return f2(q,U,X),O0(q,X,Z,U);if(typeof X!=="symbol"){if(E.isCollection($)){U=Object.freeze(U.concat($));for(let Q=0;Q<$.items.length;++Q){let z=O0(Q,$.items[Q],Z,U);if(typeof z==="number")Q=z-1;else if(z===f)return f;else if(z===m)$.items.splice(Q,1),Q-=1}}else if(E.isPair($)){U=Object.freeze(U.concat($));let Q=O0("key",$.key,Z,U);if(Q===f)return f;else if(Q===m)$.key=null;let z=O0("value",$.value,Z,U);if(z===f)return f;else if(z===m)$.value=null}}return X}async function Qq(q,$){let Z=S2($);if(E.isDocument(q)){if(await _0(null,q.contents,Z,Object.freeze([q]))===m)q.contents=null}else await _0(null,q,Z,Object.freeze([]))}Qq.BREAK=f;Qq.SKIP=b2;Qq.REMOVE=m;async function _0(q,$,Z,U){let X=await E2(q,$,Z,U);if(E.isNode(X)||E.isPair(X))return f2(q,U,X),_0(q,X,Z,U);if(typeof X!=="symbol"){if(E.isCollection($)){U=Object.freeze(U.concat($));for(let Q=0;Q<$.items.length;++Q){let z=await _0(Q,$.items[Q],Z,U);if(typeof z==="number")Q=z-1;else if(z===f)return f;else if(z===m)$.items.splice(Q,1),Q-=1}}else if(E.isPair($)){U=Object.freeze(U.concat($));let Q=await _0("key",$.key,Z,U);if(Q===f)return f;else if(Q===m)$.key=null;let z=await _0("value",$.value,Z,U);if(z===f)return f;else if(z===m)$.value=null}}return X}function S2(q){if(typeof q==="object"&&(q.Collection||q.Node||q.Value))return Object.assign({Alias:q.Node,Map:q.Node,Scalar:q.Node,Seq:q.Node},q.Value&&{Map:q.Value,Scalar:q.Value,Seq:q.Value},q.Collection&&{Map:q.Collection,Seq:q.Collection},q);return q}function E2(q,$,Z,U){if(typeof Z==="function")return Z(q,$,U);if(E.isMap($))return Z.Map?.(q,$,U);if(E.isSeq($))return Z.Seq?.(q,$,U);if(E.isPair($))return Z.Pair?.(q,$,U);if(E.isScalar($))return Z.Scalar?.(q,$,U);if(E.isAlias($))return Z.Alias?.(q,$,U);return}function f2(q,$,Z){let U=$[$.length-1];if(E.isCollection(U))U.items[q]=Z;else if(E.isPair(U))if(q==="key")U.key=Z;else U.value=Z;else if(E.isDocument(U))U.contents=Z;else{let X=E.isAlias(U)?"alias":"scalar";throw Error(`Cannot replace node with ${X} parent`)}}s4.visit=Xq;s4.visitAsync=Qq});var nq=F((q8)=>{var y2=P(),o4=P0(),t4={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},e4=(q)=>q.replace(/[!,[\]{}]/g,($)=>t4[$]);class g{constructor(q,$){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},g.defaultYaml,q),this.tags=Object.assign({},g.defaultTags,$)}clone(){let q=new g(this.yaml,this.tags);return q.docStart=this.docStart,q}atDocument(){let q=new g(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:g.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},g.defaultTags);break}return q}add(q,$){if(this.atNextDocument)this.yaml={explicit:g.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},g.defaultTags),this.atNextDocument=!1;let Z=q.trim().split(/[ \t]+/),U=Z.shift();switch(U){case"%TAG":{if(Z.length!==2){if($(0,"%TAG directive should contain exactly two parts"),Z.length<2)return!1}let[X,Q]=Z;return this.tags[X]=Q,!0}case"%YAML":{if(this.yaml.explicit=!0,Z.length!==1)return $(0,"%YAML directive should contain exactly one part"),!1;let[X]=Z;if(X==="1.1"||X==="1.2")return this.yaml.version=X,!0;else{let Q=/^\d+\.\d+$/.test(X);return $(6,`Unsupported YAML version ${X}`,Q),!1}}default:return $(0,`Unknown directive ${U}`,!0),!1}}tagName(q,$){if(q==="!")return"!";if(q[0]!=="!")return $(`Not a valid tag: ${q}`),null;if(q[1]==="<"){let Q=q.slice(2,-1);if(Q==="!"||Q==="!!")return $(`Verbatim tags aren't resolved, so ${q} is invalid.`),null;if(q[q.length-1]!==">")$("Verbatim tags must end with a >");return Q}let[,Z,U]=q.match(/^(.*!)([^!]*)$/s);if(!U)$(`The ${q} tag has no suffix`);let X=this.tags[Z];if(X)try{return X+decodeURIComponent(U)}catch(Q){return $(String(Q)),null}if(Z==="!")return q;return $(`Could not resolve tag: ${q}`),null}tagString(q){for(let[$,Z]of Object.entries(this.tags))if(q.startsWith(Z))return $+e4(q.substring(Z.length));return q[0]==="!"?q:`!<${q}>`}toString(q){let $=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],Z=Object.entries(this.tags),U;if(q&&Z.length>0&&y2.isNode(q.contents)){let X={};o4.visit(q.contents,(Q,z)=>{if(y2.isNode(z)&&z.tag)X[z.tag]=!0}),U=Object.keys(X)}else U=[];for(let[X,Q]of Z){if(X==="!!"&&Q==="tag:yaml.org,2002:")continue;if(!q||U.some((z)=>z.startsWith(Q)))$.push(`%TAG ${X} ${Q}`)}return $.join(`
4
+ `)}}g.defaultYaml={explicit:!1,version:"1.2"};g.defaultTags={"!!":"tag:yaml.org,2002:"};q8.Directives=g});var zq=F((Q8)=>{var x2=P(),Z8=P0();function U8(q){if(/[\x00-\x19\s,[\]{}]/.test(q)){let Z=`Anchor must not contain whitespace or control characters: ${JSON.stringify(q)}`;throw Error(Z)}return!0}function g2(q){let $=new Set;return Z8.visit(q,{Value(Z,U){if(U.anchor)$.add(U.anchor)}}),$}function h2(q,$){for(let Z=1;;++Z){let U=`${q}${Z}`;if(!$.has(U))return U}}function X8(q,$){let Z=[],U=new Map,X=null;return{onAnchor:(Q)=>{Z.push(Q),X??(X=g2(q));let z=h2($,X);return X.add(z),z},setAnchors:()=>{for(let Q of Z){let z=U.get(Q);if(typeof z==="object"&&z.anchor&&(x2.isScalar(z.node)||x2.isCollection(z.node)))z.node.anchor=z.anchor;else{let G=Error("Failed to resolve repeated object (this should not happen)");throw G.source=Q,G}}},sourceObjects:U}}Q8.anchorIsValid=U8;Q8.anchorNames=g2;Q8.createNodeAnchors=X8;Q8.findNewAnchor=h2});var rq=F((Y8)=>{function N0(q,$,Z,U){if(U&&typeof U==="object")if(Array.isArray(U))for(let X=0,Q=U.length;X<Q;++X){let z=U[X],G=N0(q,U,String(X),z);if(G===void 0)delete U[X];else if(G!==z)U[X]=G}else if(U instanceof Map)for(let X of Array.from(U.keys())){let Q=U.get(X),z=N0(q,U,X,Q);if(z===void 0)U.delete(X);else if(z!==Q)U.set(X,z)}else if(U instanceof Set)for(let X of Array.from(U)){let Q=N0(q,U,X,X);if(Q===void 0)U.delete(X);else if(Q!==X)U.delete(X),U.add(Q)}else for(let[X,Q]of Object.entries(U)){let z=N0(q,U,X,Q);if(z===void 0)delete U[X];else if(z!==Q)U[X]=z}return q.call($,Z,U)}Y8.applyReviver=N0});var s=F((W8)=>{var V8=P();function k2(q,$,Z){if(Array.isArray(q))return q.map((U,X)=>k2(U,String(X),Z));if(q&&typeof q.toJSON==="function"){if(!Z||!V8.hasAnchor(q))return q.toJSON($,Z);let U={aliasCount:0,count:1,res:void 0};Z.anchors.set(q,U),Z.onCreate=(Q)=>{U.res=Q,delete Z.onCreate};let X=q.toJSON($,Z);if(Z.onCreate)Z.onCreate(X);return X}if(typeof q==="bigint"&&!Z?.keep)return Number(q);return q}W8.toJS=k2});var Gq=F((I8)=>{var O8=rq(),u2=P(),_8=s();class v2{constructor(q){Object.defineProperty(this,u2.NODE_TYPE,{value:q})}clone(){let q=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)q.range=this.range.slice();return q}toJS(q,{mapAsMap:$,maxAliasCount:Z,onAnchor:U,reviver:X}={}){if(!u2.isDocument(q))throw TypeError("A document argument is required");let Q={anchors:new Map,doc:q,keep:!0,mapAsMap:$===!0,mapKeyWarned:!1,maxAliasCount:typeof Z==="number"?Z:100},z=_8.toJS(this,"",Q);if(typeof U==="function")for(let{count:G,res:J}of Q.anchors.values())U(J,G);return typeof X==="function"?O8.applyReviver(X,{"":z},"",z):z}}I8.NodeBase=v2});var j0=F((K8)=>{var F8=zq(),R8=P0(),I0=P(),A8=Gq(),M8=s();class m2 extends A8.NodeBase{constructor(q){super(I0.ALIAS);this.source=q,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(q,$){let Z;if($?.aliasResolveCache)Z=$.aliasResolveCache;else if(Z=[],R8.visit(q,{Node:(X,Q)=>{if(I0.isAlias(Q)||I0.hasAnchor(Q))Z.push(Q)}}),$)$.aliasResolveCache=Z;let U=void 0;for(let X of Z){if(X===this)break;if(X.anchor===this.source)U=X}return U}toJSON(q,$){if(!$)return{source:this.source};let{anchors:Z,doc:U,maxAliasCount:X}=$,Q=this.resolve(U,$);if(!Q){let G=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(G)}let z=Z.get(Q);if(!z)M8.toJS(Q,null,$),z=Z.get(Q);if(z?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(X>=0){if(z.count+=1,z.aliasCount===0)z.aliasCount=Jq(U,Q,Z);if(z.count*z.aliasCount>X)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return z.res}toString(q,$,Z){let U=`*${this.source}`;if(q){if(F8.anchorIsValid(this.source),q.options.verifyAliasOrder&&!q.anchors.has(this.source)){let X=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(X)}if(q.implicitKey)return`${U} `}return U}}function Jq(q,$,Z){if(I0.isAlias($)){let U=$.resolve(q),X=Z&&U&&Z.get(U);return X?X.count*X.aliasCount:0}else if(I0.isCollection($)){let U=0;for(let X of $.items){let Q=Jq(q,X,Z);if(Q>U)U=Q}return U}else if(I0.isPair($)){let U=Jq(q,$.key,Z),X=Jq(q,$.value,Z);return Math.max(U,X)}return 1}K8.Alias=m2});var C=F((C8)=>{var w8=P(),P8=Gq(),N8=s(),j8=(q)=>!q||typeof q!=="function"&&typeof q!=="object";class Q0 extends P8.NodeBase{constructor(q){super(w8.SCALAR);this.value=q}toJSON(q,$){return $?.keep?this.value:N8.toJS(this.value,q,$)}toString(){return String(this.value)}}Q0.BLOCK_FOLDED="BLOCK_FOLDED";Q0.BLOCK_LITERAL="BLOCK_LITERAL";Q0.PLAIN="PLAIN";Q0.QUOTE_DOUBLE="QUOTE_DOUBLE";Q0.QUOTE_SINGLE="QUOTE_SINGLE";C8.Scalar=Q0;C8.isScalarValue=j8});var C0=F((g8)=>{var E8=j0(),z0=P(),p2=C(),f8="tag:yaml.org,2002:";function y8(q,$,Z){if($){let U=Z.filter((Q)=>Q.tag===$),X=U.find((Q)=>!Q.format)??U[0];if(!X)throw Error(`Tag ${$} not found`);return X}return Z.find((U)=>U.identify?.(q)&&!U.format)}function x8(q,$,Z){if(z0.isDocument(q))q=q.contents;if(z0.isNode(q))return q;if(z0.isPair(q)){let Y=Z.schema[z0.MAP].createNode?.(Z.schema,null,Z);return Y.items.push(q),Y}if(q instanceof String||q instanceof Number||q instanceof Boolean||typeof BigInt<"u"&&q instanceof BigInt)q=q.valueOf();let{aliasDuplicateObjects:U,onAnchor:X,onTagObj:Q,schema:z,sourceObjects:G}=Z,J=void 0;if(U&&q&&typeof q==="object")if(J=G.get(q),J)return J.anchor??(J.anchor=X(q)),new E8.Alias(J.anchor);else J={anchor:null,node:null},G.set(q,J);if($?.startsWith("!!"))$=f8+$.slice(2);let H=y8(q,$,z.tags);if(!H){if(q&&typeof q.toJSON==="function")q=q.toJSON();if(!q||typeof q!=="object"){let Y=new p2.Scalar(q);if(J)J.node=Y;return Y}H=q instanceof Map?z[z0.MAP]:(Symbol.iterator in Object(q))?z[z0.SEQ]:z[z0.MAP]}if(Q)Q(H),delete Z.onTagObj;let W=H?.createNode?H.createNode(Z.schema,q,Z):typeof H?.nodeClass?.from==="function"?H.nodeClass.from(Z.schema,q,Z):new p2.Scalar(q);if($)W.tag=$;else if(!H.default)W.tag=H.tag;if(J)J.node=W;return W}g8.createNode=x8});var Hq=F((v8)=>{var k8=C0(),p=P(),u8=Gq();function oq(q,$,Z){let U=Z;for(let X=$.length-1;X>=0;--X){let Q=$[X];if(typeof Q==="number"&&Number.isInteger(Q)&&Q>=0){let z=[];z[Q]=U,U=z}else U=new Map([[Q,U]])}return k8.createNode(U,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:q,sourceObjects:new Map})}var d2=(q)=>q==null||typeof q==="object"&&!!q[Symbol.iterator]().next().done;class l2 extends u8.NodeBase{constructor(q,$){super(q);Object.defineProperty(this,"schema",{value:$,configurable:!0,enumerable:!1,writable:!0})}clone(q){let $=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(q)$.schema=q;if($.items=$.items.map((Z)=>p.isNode(Z)||p.isPair(Z)?Z.clone(q):Z),this.range)$.range=this.range.slice();return $}addIn(q,$){if(d2(q))this.add($);else{let[Z,...U]=q,X=this.get(Z,!0);if(p.isCollection(X))X.addIn(U,$);else if(X===void 0&&this.schema)this.set(Z,oq(this.schema,U,$));else throw Error(`Expected YAML collection at ${Z}. Remaining path: ${U}`)}}deleteIn(q){let[$,...Z]=q;if(Z.length===0)return this.delete($);let U=this.get($,!0);if(p.isCollection(U))return U.deleteIn(Z);else throw Error(`Expected YAML collection at ${$}. Remaining path: ${Z}`)}getIn(q,$){let[Z,...U]=q,X=this.get(Z,!0);if(U.length===0)return!$&&p.isScalar(X)?X.value:X;else return p.isCollection(X)?X.getIn(U,$):void 0}hasAllNullValues(q){return this.items.every(($)=>{if(!p.isPair($))return!1;let Z=$.value;return Z==null||q&&p.isScalar(Z)&&Z.value==null&&!Z.commentBefore&&!Z.comment&&!Z.tag})}hasIn(q){let[$,...Z]=q;if(Z.length===0)return this.has($);let U=this.get($,!0);return p.isCollection(U)?U.hasIn(Z):!1}setIn(q,$){let[Z,...U]=q;if(U.length===0)this.set(Z,$);else{let X=this.get(Z,!0);if(p.isCollection(X))X.setIn(U,$);else if(X===void 0&&this.schema)this.set(Z,oq(this.schema,U,$));else throw Error(`Expected YAML collection at ${Z}. Remaining path: ${U}`)}}}v8.Collection=l2;v8.collectionFromPath=oq;v8.isEmptyPath=d2});var b0=F((a8)=>{var l8=(q)=>q.replace(/^(?!$)(?: $)?/gm,"#");function tq(q,$){if(/^\n+$/.test(q))return q.substring(1);return $?q.replace(/^(?! *$)/gm,$):q}var c8=(q,$,Z)=>q.endsWith(`
5
+ `)?tq(Z,$):Z.includes(`
6
+ `)?`
7
+ `+tq(Z,$):(q.endsWith(" ")?"":" ")+Z;a8.indentComment=tq;a8.lineComment=c8;a8.stringifyComment=l8});var a2=F((o8)=>{function r8(q,$,Z="flow",{indentAtStart:U,lineWidth:X=80,minContentWidth:Q=20,onFold:z,onOverflow:G}={}){if(!X||X<0)return q;if(X<Q)Q=0;let J=Math.max(1+Q,1+X-$.length);if(q.length<=J)return q;let H=[],W={},Y=X-$.length;if(typeof U==="number")if(U>X-Math.max(2,Q))H.push(0);else Y=X-U;let B=void 0,_=void 0,O=!1,V=-1,I=-1,L=-1;if(Z==="block"){if(V=c2(q,V,$.length),V!==-1)Y=V+J}for(let M;M=q[V+=1];){if(Z==="quoted"&&M==="\\"){switch(I=V,q[V+1]){case"x":V+=3;break;case"u":V+=5;break;case"U":V+=9;break;default:V+=1}L=V}if(M===`
8
+ `){if(Z==="block")V=c2(q,V,$.length);Y=V+$.length+J,B=void 0}else{if(M===" "&&_&&_!==" "&&_!==`
9
+ `&&_!=="\t"){let K=q[V+1];if(K&&K!==" "&&K!==`
10
+ `&&K!=="\t")B=V}if(V>=Y)if(B)H.push(B),Y=B+J,B=void 0;else if(Z==="quoted"){while(_===" "||_==="\t")_=M,M=q[V+=1],O=!0;let K=V>L+1?V-2:I-1;if(W[K])return q;H.push(K),W[K]=!0,Y=K+J,B=void 0}else O=!0}_=M}if(O&&G)G();if(H.length===0)return q;if(z)z();let A=q.slice(0,H[0]);for(let M=0;M<H.length;++M){let K=H[M],D=H[M+1]||q.length;if(K===0)A=`
11
+ ${$}${q.slice(0,D)}`;else{if(Z==="quoted"&&W[K])A+=`${q[K]}\\`;A+=`
12
+ ${$}${q.slice(K+1,D)}`}}return A}function c2(q,$,Z){let U=$,X=$+1,Q=q[X];while(Q===" "||Q==="\t")if($<X+Z)Q=q[++$];else{do Q=q[++$];while(Q&&Q!==`
13
+ `);U=$,X=$+1,Q=q[X]}return U}o8.FOLD_BLOCK="block";o8.FOLD_FLOW="flow";o8.FOLD_QUOTED="quoted";o8.foldFlowLines=r8});var E0=F((QZ)=>{var k=C(),n=a2(),Bq=(q,$)=>({indentAtStart:$?q.indent.length:q.indentAtStart,lineWidth:q.options.lineWidth,minContentWidth:q.options.minContentWidth}),Vq=(q)=>/^(%|---|\.\.\.)/m.test(q);function ZZ(q,$,Z){if(!$||$<0)return!1;let U=$-Z,X=q.length;if(X<=U)return!1;for(let Q=0,z=0;Q<X;++Q)if(q[Q]===`
14
+ `){if(Q-z>U)return!0;if(z=Q+1,X-z<=U)return!1}return!0}function S0(q,$){let Z=JSON.stringify(q);if($.options.doubleQuotedAsJSON)return Z;let{implicitKey:U}=$,X=$.options.doubleQuotedMinMultiLineLength,Q=$.indent||(Vq(q)?" ":""),z="",G=0;for(let J=0,H=Z[J];H;H=Z[++J]){if(H===" "&&Z[J+1]==="\\"&&Z[J+2]==="n")z+=Z.slice(G,J)+"\\ ",J+=1,G=J,H="\\";if(H==="\\")switch(Z[J+1]){case"u":{z+=Z.slice(G,J);let W=Z.substr(J+2,4);switch(W){case"0000":z+="\\0";break;case"0007":z+="\\a";break;case"000b":z+="\\v";break;case"001b":z+="\\e";break;case"0085":z+="\\N";break;case"00a0":z+="\\_";break;case"2028":z+="\\L";break;case"2029":z+="\\P";break;default:if(W.substr(0,2)==="00")z+="\\x"+W.substr(2);else z+=Z.substr(J,6)}J+=5,G=J+1}break;case"n":if(U||Z[J+2]==='"'||Z.length<X)J+=1;else{z+=Z.slice(G,J)+`
15
+
16
+ `;while(Z[J+2]==="\\"&&Z[J+3]==="n"&&Z[J+4]!=='"')z+=`
17
+ `,J+=2;if(z+=Q,Z[J+2]===" ")z+="\\";J+=1,G=J+1}break;default:J+=1}}return z=G?z+Z.slice(G):Z,U?z:n.foldFlowLines(z,Q,n.FOLD_QUOTED,Bq($,!1))}function eq(q,$){if($.options.singleQuote===!1||$.implicitKey&&q.includes(`
18
+ `)||/[ \t]\n|\n[ \t]/.test(q))return S0(q,$);let Z=$.indent||(Vq(q)?" ":""),U="'"+q.replace(/'/g,"''").replace(/\n+/g,`$&
19
+ ${Z}`)+"'";return $.implicitKey?U:n.foldFlowLines(U,Z,n.FOLD_FLOW,Bq($,!1))}function L0(q,$){let{singleQuote:Z}=$.options,U;if(Z===!1)U=S0;else{let X=q.includes('"'),Q=q.includes("'");if(X&&!Q)U=eq;else if(Q&&!X)U=S0;else U=Z?eq:S0}return U(q,$)}var q$;try{q$=new RegExp(`(^|(?<!
20
+ ))
21
+ +(?!
22
+ |$)`,"g")}catch{q$=/\n+(?!\n|$)/g}function Yq({comment:q,type:$,value:Z},U,X,Q){let{blockQuote:z,commentString:G,lineWidth:J}=U.options;if(!z||/\n[\t ]+$/.test(Z))return L0(Z,U);let H=U.indent||(U.forceBlockIndent||Vq(Z)?" ":""),W=z==="literal"?!0:z==="folded"||$===k.Scalar.BLOCK_FOLDED?!1:$===k.Scalar.BLOCK_LITERAL?!0:!ZZ(Z,J,H.length);if(!Z)return W?`|
23
+ `:`>
24
+ `;let Y,B;for(B=Z.length;B>0;--B){let D=Z[B-1];if(D!==`
25
+ `&&D!=="\t"&&D!==" ")break}let _=Z.substring(B),O=_.indexOf(`
26
+ `);if(O===-1)Y="-";else if(Z===_||O!==_.length-1){if(Y="+",Q)Q()}else Y="";if(_){if(Z=Z.slice(0,-_.length),_[_.length-1]===`
27
+ `)_=_.slice(0,-1);_=_.replace(q$,`$&${H}`)}let V=!1,I,L=-1;for(I=0;I<Z.length;++I){let D=Z[I];if(D===" ")V=!0;else if(D===`
28
+ `)L=I;else break}let A=Z.substring(0,L<I?L+1:I);if(A)Z=Z.substring(A.length),A=A.replace(/\n+/g,`$&${H}`);let K=(V?H?"2":"1":"")+Y;if(q){if(K+=" "+G(q.replace(/ ?[\r\n]+/g," ")),X)X()}if(!W){let D=Z.replace(/\n+/g,`
29
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${H}`),w=!1,N=Bq(U,!0);if(z!=="folded"&&$!==k.Scalar.BLOCK_FOLDED)N.onOverflow=()=>{w=!0};let R=n.foldFlowLines(`${A}${D}${_}`,H,n.FOLD_BLOCK,N);if(!w)return`>${K}
30
+ ${H}${R}`}return Z=Z.replace(/\n+/g,`$&${H}`),`|${K}
31
+ ${H}${A}${Z}${_}`}function UZ(q,$,Z,U){let{type:X,value:Q}=q,{actualString:z,implicitKey:G,indent:J,indentStep:H,inFlow:W}=$;if(G&&Q.includes(`
32
+ `)||W&&/[[\]{},]/.test(Q))return L0(Q,$);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Q))return G||W||!Q.includes(`
33
+ `)?L0(Q,$):Yq(q,$,Z,U);if(!G&&!W&&X!==k.Scalar.PLAIN&&Q.includes(`
34
+ `))return Yq(q,$,Z,U);if(Vq(Q)){if(J==="")return $.forceBlockIndent=!0,Yq(q,$,Z,U);else if(G&&J===H)return L0(Q,$)}let Y=Q.replace(/\n+/g,`$&
35
+ ${J}`);if(z){let B=(V)=>V.default&&V.tag!=="tag:yaml.org,2002:str"&&V.test?.test(Y),{compat:_,tags:O}=$.doc.schema;if(O.some(B)||_?.some(B))return L0(Q,$)}return G?Y:n.foldFlowLines(Y,J,n.FOLD_FLOW,Bq($,!1))}function XZ(q,$,Z,U){let{implicitKey:X,inFlow:Q}=$,z=typeof q.value==="string"?q:Object.assign({},q,{value:String(q.value)}),{type:G}=q;if(G!==k.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(z.value))G=k.Scalar.QUOTE_DOUBLE}let J=(W)=>{switch(W){case k.Scalar.BLOCK_FOLDED:case k.Scalar.BLOCK_LITERAL:return X||Q?L0(z.value,$):Yq(z,$,Z,U);case k.Scalar.QUOTE_DOUBLE:return S0(z.value,$);case k.Scalar.QUOTE_SINGLE:return eq(z.value,$);case k.Scalar.PLAIN:return UZ(z,$,Z,U);default:return null}},H=J(G);if(H===null){let{defaultKeyType:W,defaultStringType:Y}=$.options,B=X&&W||Y;if(H=J(B),H===null)throw Error(`Unsupported default string type ${B}`)}return H}QZ.stringifyString=XZ});var f0=F((TZ)=>{var GZ=zq(),r=P(),JZ=b0(),HZ=E0();function YZ(q,$){let Z=Object.assign({blockQuote:!0,commentString:JZ.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,trueStr:"true",verifyAliasOrder:!0},q.schema.toStringOptions,$),U;switch(Z.collectionStyle){case"block":U=!1;break;case"flow":U=!0;break;default:U=null}return{anchors:new Set,doc:q,flowCollectionPadding:Z.flowCollectionPadding?" ":"",indent:"",indentStep:typeof Z.indent==="number"?" ".repeat(Z.indent):" ",inFlow:U,options:Z}}function BZ(q,$){if($.tag){let X=q.filter((Q)=>Q.tag===$.tag);if(X.length>0)return X.find((Q)=>Q.format===$.format)??X[0]}let Z=void 0,U;if(r.isScalar($)){U=$.value;let X=q.filter((Q)=>Q.identify?.(U));if(X.length>1){let Q=X.filter((z)=>z.test);if(Q.length>0)X=Q}Z=X.find((Q)=>Q.format===$.format)??X.find((Q)=>!Q.format)}else U=$,Z=q.find((X)=>X.nodeClass&&U instanceof X.nodeClass);if(!Z){let X=U?.constructor?.name??(U===null?"null":typeof U);throw Error(`Tag not resolved for ${X} value`)}return Z}function VZ(q,$,{anchors:Z,doc:U}){if(!U.directives)return"";let X=[],Q=(r.isScalar(q)||r.isCollection(q))&&q.anchor;if(Q&&GZ.anchorIsValid(Q))Z.add(Q),X.push(`&${Q}`);let z=q.tag??($.default?null:$.tag);if(z)X.push(U.directives.tagString(z));return X.join(" ")}function WZ(q,$,Z,U){if(r.isPair(q))return q.toString($,Z,U);if(r.isAlias(q)){if($.doc.directives)return q.toString($);if($.resolvedAliases?.has(q))throw TypeError("Cannot stringify circular structure without alias nodes");else{if($.resolvedAliases)$.resolvedAliases.add(q);else $.resolvedAliases=new Set([q]);q=q.resolve($.doc)}}let X=void 0,Q=r.isNode(q)?q:$.doc.createNode(q,{onTagObj:(J)=>X=J});X??(X=BZ($.doc.schema.tags,Q));let z=VZ(Q,X,$);if(z.length>0)$.indentAtStart=($.indentAtStart??0)+z.length+1;let G=typeof X.stringify==="function"?X.stringify(Q,$,Z,U):r.isScalar(Q)?HZ.stringifyString(Q,$,Z,U):Q.toString($,Z,U);if(!z)return G;return r.isScalar(Q)||G[0]==="{"||G[0]==="["?`${z} ${G}`:`${z}
36
+ ${$.indent}${G}`}TZ.createStringifyContext=YZ;TZ.stringify=WZ});var n2=F((LZ)=>{var a=P(),i2=C(),s2=f0(),y0=b0();function IZ({key:q,value:$},Z,U,X){let{allNullValues:Q,doc:z,indent:G,indentStep:J,options:{commentString:H,indentSeq:W,simpleKeys:Y}}=Z,B=a.isNode(q)&&q.comment||null;if(Y){if(B)throw Error("With simple keys, key nodes cannot have comments");if(a.isCollection(q)||!a.isNode(q)&&typeof q==="object")throw Error("With simple keys, collection cannot be used as a key value")}let _=!Y&&(!q||B&&$==null&&!Z.inFlow||a.isCollection(q)||(a.isScalar(q)?q.type===i2.Scalar.BLOCK_FOLDED||q.type===i2.Scalar.BLOCK_LITERAL:typeof q==="object"));Z=Object.assign({},Z,{allNullValues:!1,implicitKey:!_&&(Y||!Q),indent:G+J});let O=!1,V=!1,I=s2.stringify(q,Z,()=>O=!0,()=>V=!0);if(!_&&!Z.inFlow&&I.length>1024){if(Y)throw Error("With simple keys, single line scalar must not span more than 1024 characters");_=!0}if(Z.inFlow){if(Q||$==null){if(O&&U)U();return I===""?"?":_?`? ${I}`:I}}else if(Q&&!Y||$==null&&_){if(I=`? ${I}`,B&&!O)I+=y0.lineComment(I,Z.indent,H(B));else if(V&&X)X();return I}if(O)B=null;if(_){if(B)I+=y0.lineComment(I,Z.indent,H(B));I=`? ${I}
37
+ ${G}:`}else if(I=`${I}:`,B)I+=y0.lineComment(I,Z.indent,H(B));let L,A,M;if(a.isNode($))L=!!$.spaceBefore,A=$.commentBefore,M=$.comment;else if(L=!1,A=null,M=null,$&&typeof $==="object")$=z.createNode($);if(Z.implicitKey=!1,!_&&!B&&a.isScalar($))Z.indentAtStart=I.length+1;if(V=!1,!W&&J.length>=2&&!Z.inFlow&&!_&&a.isSeq($)&&!$.flow&&!$.tag&&!$.anchor)Z.indent=Z.indent.substring(2);let K=!1,D=s2.stringify($,Z,()=>K=!0,()=>V=!0),w=" ";if(B||L||A){if(w=L?`
38
+ `:"",A){let N=H(A);w+=`
39
+ ${y0.indentComment(N,Z.indent)}`}if(D===""&&!Z.inFlow){if(w===`
40
+ `&&M)w=`
41
+
42
+ `}else w+=`
43
+ ${Z.indent}`}else if(!_&&a.isCollection($)){let N=D[0],R=D.indexOf(`
44
+ `),b=R!==-1,i=Z.inFlow??$.flow??$.items.length===0;if(b||!i){let W0=!1;if(b&&(N==="&"||N==="!")){let S=D.indexOf(" ");if(N==="&"&&S!==-1&&S<R&&D[S+1]==="!")S=D.indexOf(" ",S+1);if(S===-1||R<S)W0=!0}if(!W0)w=`
45
+ ${Z.indent}`}}else if(D===""||D[0]===`
46
+ `)w="";if(I+=w+D,Z.inFlow){if(K&&U)U()}else if(M&&!K)I+=y0.lineComment(I,Z.indent,H(M));else if(V&&X)X();return I}LZ.stringifyPair=IZ});var $$=F((MZ)=>{var r2=y("process");function RZ(q,...$){if(q==="debug")console.log(...$)}function AZ(q,$){if(q==="debug"||q==="warn")if(typeof r2.emitWarning==="function")r2.emitWarning($);else console.warn($)}MZ.debug=RZ;MZ.warn=AZ});var Oq=F((PZ)=>{var x0=P(),o2=C(),Wq="<<",Tq={identify:(q)=>q===Wq||typeof q==="symbol"&&q.description===Wq,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new o2.Scalar(Symbol(Wq)),{addToJSMap:t2}),stringify:()=>Wq},wZ=(q,$)=>(Tq.identify($)||x0.isScalar($)&&(!$.type||$.type===o2.Scalar.PLAIN)&&Tq.identify($.value))&&q?.doc.schema.tags.some((Z)=>Z.tag===Tq.tag&&Z.default);function t2(q,$,Z){if(Z=q&&x0.isAlias(Z)?Z.resolve(q.doc):Z,x0.isSeq(Z))for(let U of Z.items)Z$(q,$,U);else if(Array.isArray(Z))for(let U of Z)Z$(q,$,U);else Z$(q,$,Z)}function Z$(q,$,Z){let U=q&&x0.isAlias(Z)?Z.resolve(q.doc):Z;if(!x0.isMap(U))throw Error("Merge sources must be maps or map aliases");let X=U.toJSON(null,q,Map);for(let[Q,z]of X)if($ instanceof Map){if(!$.has(Q))$.set(Q,z)}else if($ instanceof Set)$.add(Q);else if(!Object.prototype.hasOwnProperty.call($,Q))Object.defineProperty($,Q,{value:z,writable:!0,enumerable:!0,configurable:!0});return $}PZ.addMergeToJSMap=t2;PZ.isMergeKey=wZ;PZ.merge=Tq});var X$=F((yZ)=>{var bZ=$$(),e2=Oq(),SZ=f0(),q9=P(),U$=s();function EZ(q,$,{key:Z,value:U}){if(q9.isNode(Z)&&Z.addToJSMap)Z.addToJSMap(q,$,U);else if(e2.isMergeKey(q,Z))e2.addMergeToJSMap(q,$,U);else{let X=U$.toJS(Z,"",q);if($ instanceof Map)$.set(X,U$.toJS(U,X,q));else if($ instanceof Set)$.add(X);else{let Q=fZ(Z,X,q),z=U$.toJS(U,Q,q);if(Q in $)Object.defineProperty($,Q,{value:z,writable:!0,enumerable:!0,configurable:!0});else $[Q]=z}}return $}function fZ(q,$,Z){if($===null)return"";if(typeof $!=="object")return String($);if(q9.isNode(q)&&Z?.doc){let U=SZ.createStringifyContext(Z.doc,{});U.anchors=new Set;for(let Q of Z.anchors.keys())U.anchors.add(Q.anchor);U.inFlow=!0,U.inStringifyKey=!0;let X=q.toString(U);if(!Z.mapKeyWarned){let Q=JSON.stringify(X);if(Q.length>40)Q=Q.substring(0,36)+'..."';bZ.warn(Z.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${Q}. Set mapAsMap: true to use object keys.`),Z.mapKeyWarned=!0}return X}return JSON.stringify($)}yZ.addPairToJSMap=EZ});var o=F((uZ)=>{var $9=C0(),gZ=n2(),hZ=X$(),_q=P();function kZ(q,$,Z){let U=$9.createNode(q,void 0,Z),X=$9.createNode($,void 0,Z);return new Iq(U,X)}class Iq{constructor(q,$=null){Object.defineProperty(this,_q.NODE_TYPE,{value:_q.PAIR}),this.key=q,this.value=$}clone(q){let{key:$,value:Z}=this;if(_q.isNode($))$=$.clone(q);if(_q.isNode(Z))Z=Z.clone(q);return new Iq($,Z)}toJSON(q,$){let Z=$?.mapAsMap?new Map:{};return hZ.addPairToJSMap($,Z,this)}toString(q,$,Z){return q?.doc?gZ.stringifyPair(this,q,$,Z):JSON.stringify(this)}}uZ.Pair=Iq;uZ.createPair=kZ});var Q$=F((cZ)=>{var G0=P(),Z9=f0(),Lq=b0();function pZ(q,$,Z){return($.inFlow??q.flow?lZ:dZ)(q,$,Z)}function dZ({comment:q,items:$},Z,{blockItemPrefix:U,flowChars:X,itemIndent:Q,onChompKeep:z,onComment:G}){let{indent:J,options:{commentString:H}}=Z,W=Object.assign({},Z,{indent:Q,type:null}),Y=!1,B=[];for(let O=0;O<$.length;++O){let V=$[O],I=null;if(G0.isNode(V)){if(!Y&&V.spaceBefore)B.push("");if(Fq(Z,B,V.commentBefore,Y),V.comment)I=V.comment}else if(G0.isPair(V)){let A=G0.isNode(V.key)?V.key:null;if(A){if(!Y&&A.spaceBefore)B.push("");Fq(Z,B,A.commentBefore,Y)}}Y=!1;let L=Z9.stringify(V,W,()=>I=null,()=>Y=!0);if(I)L+=Lq.lineComment(L,Q,H(I));if(Y&&I)Y=!1;B.push(U+L)}let _;if(B.length===0)_=X.start+X.end;else{_=B[0];for(let O=1;O<B.length;++O){let V=B[O];_+=V?`
47
+ ${J}${V}`:`
48
+ `}}if(q){if(_+=`
49
+ `+Lq.indentComment(H(q),J),G)G()}else if(Y&&z)z();return _}function lZ({items:q},$,{flowChars:Z,itemIndent:U}){let{indent:X,indentStep:Q,flowCollectionPadding:z,options:{commentString:G}}=$;U+=Q;let J=Object.assign({},$,{indent:U,inFlow:!0,type:null}),H=!1,W=0,Y=[];for(let O=0;O<q.length;++O){let V=q[O],I=null;if(G0.isNode(V)){if(V.spaceBefore)Y.push("");if(Fq($,Y,V.commentBefore,!1),V.comment)I=V.comment}else if(G0.isPair(V)){let A=G0.isNode(V.key)?V.key:null;if(A){if(A.spaceBefore)Y.push("");if(Fq($,Y,A.commentBefore,!1),A.comment)H=!0}let M=G0.isNode(V.value)?V.value:null;if(M){if(M.comment)I=M.comment;if(M.commentBefore)H=!0}else if(V.value==null&&A?.comment)I=A.comment}if(I)H=!0;let L=Z9.stringify(V,J,()=>I=null);if(O<q.length-1)L+=",";if(I)L+=Lq.lineComment(L,U,G(I));if(!H&&(Y.length>W||L.includes(`
50
+ `)))H=!0;Y.push(L),W=Y.length}let{start:B,end:_}=Z;if(Y.length===0)return B+_;else{if(!H){let O=Y.reduce((V,I)=>V+I.length+2,2);H=$.options.lineWidth>0&&O>$.options.lineWidth}if(H){let O=B;for(let V of Y)O+=V?`
51
+ ${Q}${X}${V}`:`
52
+ `;return`${O}
53
+ ${X}${_}`}else return`${B}${z}${Y.join(" ")}${z}${_}`}}function Fq({indent:q,options:{commentString:$}},Z,U,X){if(U&&X)U=U.replace(/^\n+/,"");if(U){let Q=Lq.indentComment($(U),q);Z.push(Q.trimStart())}}cZ.stringifyCollection=pZ});var e=F((oZ)=>{var iZ=Q$(),sZ=X$(),nZ=Hq(),t=P(),Rq=o(),rZ=C();function g0(q,$){let Z=t.isScalar($)?$.value:$;for(let U of q)if(t.isPair(U)){if(U.key===$||U.key===Z)return U;if(t.isScalar(U.key)&&U.key.value===Z)return U}return}class U9 extends nZ.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(q){super(t.MAP,q);this.items=[]}static from(q,$,Z){let{keepUndefined:U,replacer:X}=Z,Q=new this(q),z=(G,J)=>{if(typeof X==="function")J=X.call($,G,J);else if(Array.isArray(X)&&!X.includes(G))return;if(J!==void 0||U)Q.items.push(Rq.createPair(G,J,Z))};if($ instanceof Map)for(let[G,J]of $)z(G,J);else if($&&typeof $==="object")for(let G of Object.keys($))z(G,$[G]);if(typeof q.sortMapEntries==="function")Q.items.sort(q.sortMapEntries);return Q}add(q,$){let Z;if(t.isPair(q))Z=q;else if(!q||typeof q!=="object"||!("key"in q))Z=new Rq.Pair(q,q?.value);else Z=new Rq.Pair(q.key,q.value);let U=g0(this.items,Z.key),X=this.schema?.sortMapEntries;if(U){if(!$)throw Error(`Key ${Z.key} already set`);if(t.isScalar(U.value)&&rZ.isScalarValue(Z.value))U.value.value=Z.value;else U.value=Z.value}else if(X){let Q=this.items.findIndex((z)=>X(Z,z)<0);if(Q===-1)this.items.push(Z);else this.items.splice(Q,0,Z)}else this.items.push(Z)}delete(q){let $=g0(this.items,q);if(!$)return!1;return this.items.splice(this.items.indexOf($),1).length>0}get(q,$){let U=g0(this.items,q)?.value;return(!$&&t.isScalar(U)?U.value:U)??void 0}has(q){return!!g0(this.items,q)}set(q,$){this.add(new Rq.Pair(q,$),!0)}toJSON(q,$,Z){let U=Z?new Z:$?.mapAsMap?new Map:{};if($?.onCreate)$.onCreate(U);for(let X of this.items)sZ.addPairToJSMap($,U,X);return U}toString(q,$,Z){if(!q)return JSON.stringify(this);for(let U of this.items)if(!t.isPair(U))throw Error(`Map items must all be pairs; found ${JSON.stringify(U)} instead`);if(!q.allNullValues&&this.hasAllNullValues(!1))q=Object.assign({},q,{allNullValues:!0});return iZ.stringifyCollection(this,q,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:q.indent||"",onChompKeep:Z,onComment:$})}}oZ.YAMLMap=U9;oZ.findPair=g0});var F0=F((Z5)=>{var q5=P(),X9=e(),$5={collection:"map",default:!0,nodeClass:X9.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(q,$){if(!q5.isMap(q))$("Expected a mapping for this tag");return q},createNode:(q,$,Z)=>X9.YAMLMap.from(q,$,Z)};Z5.map=$5});var q0=F((H5)=>{var X5=C0(),Q5=Q$(),z5=Hq(),Mq=P(),G5=C(),J5=s();class Q9 extends z5.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(q){super(Mq.SEQ,q);this.items=[]}add(q){this.items.push(q)}delete(q){let $=Aq(q);if(typeof $!=="number")return!1;return this.items.splice($,1).length>0}get(q,$){let Z=Aq(q);if(typeof Z!=="number")return;let U=this.items[Z];return!$&&Mq.isScalar(U)?U.value:U}has(q){let $=Aq(q);return typeof $==="number"&&$<this.items.length}set(q,$){let Z=Aq(q);if(typeof Z!=="number")throw Error(`Expected a valid index, not ${q}.`);let U=this.items[Z];if(Mq.isScalar(U)&&G5.isScalarValue($))U.value=$;else this.items[Z]=$}toJSON(q,$){let Z=[];if($?.onCreate)$.onCreate(Z);let U=0;for(let X of this.items)Z.push(J5.toJS(X,String(U++),$));return Z}toString(q,$,Z){if(!q)return JSON.stringify(this);return Q5.stringifyCollection(this,q,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(q.indent||"")+" ",onChompKeep:Z,onComment:$})}static from(q,$,Z){let{replacer:U}=Z,X=new this(q);if($&&Symbol.iterator in Object($)){let Q=0;for(let z of $){if(typeof U==="function"){let G=$ instanceof Set?z:String(Q++);z=U.call($,G,z)}X.items.push(X5.createNode(z,void 0,Z))}}return X}}function Aq(q){let $=Mq.isScalar(q)?q.value:q;if($&&typeof $==="string")$=Number($);return typeof $==="number"&&Number.isInteger($)&&$>=0?$:null}H5.YAMLSeq=Q9});var R0=F((W5)=>{var B5=P(),z9=q0(),V5={collection:"seq",default:!0,nodeClass:z9.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(q,$){if(!B5.isSeq(q))$("Expected a sequence for this tag");return q},createNode:(q,$,Z)=>z9.YAMLSeq.from(q,$,Z)};W5.seq=V5});var h0=F((I5)=>{var O5=E0(),_5={identify:(q)=>typeof q==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(q)=>q,stringify(q,$,Z,U){return $=Object.assign({actualString:!0},$),O5.stringifyString(q,$,Z,U)}};I5.string=_5});var Kq=F((F5)=>{var G9=C(),J9={identify:(q)=>q==null,createNode:()=>new G9.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new G9.Scalar(null),stringify:({source:q},$)=>typeof q==="string"&&J9.test.test(q)?q:$.options.nullStr};F5.nullTag=J9});var z$=F((M5)=>{var A5=C(),H9={identify:(q)=>typeof q==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(q)=>new A5.Scalar(q[0]==="t"||q[0]==="T"),stringify({source:q,value:$},Z){if(q&&H9.test.test(q)){let U=q[0]==="t"||q[0]==="T";if($===U)return q}return $?Z.options.trueStr:Z.options.falseStr}};M5.boolTag=H9});var A0=F((w5)=>{function D5({format:q,minFractionDigits:$,tag:Z,value:U}){if(typeof U==="bigint")return String(U);let X=typeof U==="number"?U:Number(U);if(!isFinite(X))return isNaN(X)?".nan":X<0?"-.inf":".inf";let Q=Object.is(U,-0)?"-0":JSON.stringify(U);if(!q&&$&&(!Z||Z==="tag:yaml.org,2002:float")&&/^\d/.test(Q)){let z=Q.indexOf(".");if(z<0)z=Q.length,Q+=".";let G=$-(Q.length-z-1);while(G-- >0)Q+="0"}return Q}w5.stringifyNumber=D5});var J$=F((S5)=>{var N5=C(),G$=A0(),j5={identify:(q)=>typeof q==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(q)=>q.slice(-3).toLowerCase()==="nan"?NaN:q[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:G$.stringifyNumber},C5={identify:(q)=>typeof q==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(q)=>parseFloat(q),stringify(q){let $=Number(q.value);return isFinite($)?$.toExponential():G$.stringifyNumber(q)}},b5={identify:(q)=>typeof q==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(q){let $=new N5.Scalar(parseFloat(q)),Z=q.indexOf(".");if(Z!==-1&&q[q.length-1]==="0")$.minFractionDigits=q.length-Z-1;return $},stringify:G$.stringifyNumber};S5.float=b5;S5.floatExp=C5;S5.floatNaN=j5});var Y$=F((k5)=>{var Y9=A0(),Dq=(q)=>typeof q==="bigint"||Number.isInteger(q),H$=(q,$,Z,{intAsBigInt:U})=>U?BigInt(q):parseInt(q.substring($),Z);function B9(q,$,Z){let{value:U}=q;if(Dq(U)&&U>=0)return Z+U.toString($);return Y9.stringifyNumber(q)}var x5={identify:(q)=>Dq(q)&&q>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(q,$,Z)=>H$(q,2,8,Z),stringify:(q)=>B9(q,8,"0o")},g5={identify:Dq,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(q,$,Z)=>H$(q,0,10,Z),stringify:Y9.stringifyNumber},h5={identify:(q)=>Dq(q)&&q>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(q,$,Z)=>H$(q,2,16,Z),stringify:(q)=>B9(q,16,"0x")};k5.int=g5;k5.intHex=h5;k5.intOct=x5});var V9=F((s5)=>{var p5=F0(),d5=Kq(),l5=R0(),c5=h0(),a5=z$(),B$=J$(),V$=Y$(),i5=[p5.map,l5.seq,c5.string,d5.nullTag,a5.boolTag,V$.intOct,V$.int,V$.intHex,B$.floatNaN,B$.floatExp,B$.float];s5.schema=i5});var T9=F((Z6)=>{var r5=C(),o5=F0(),t5=R0();function W9(q){return typeof q==="bigint"||Number.isInteger(q)}var wq=({value:q})=>JSON.stringify(q),e5=[{identify:(q)=>typeof q==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(q)=>q,stringify:wq},{identify:(q)=>q==null,createNode:()=>new r5.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:wq},{identify:(q)=>typeof q==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(q)=>q==="true",stringify:wq},{identify:W9,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(q,$,{intAsBigInt:Z})=>Z?BigInt(q):parseInt(q,10),stringify:({value:q})=>W9(q)?q.toString():JSON.stringify(q)},{identify:(q)=>typeof q==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(q)=>parseFloat(q),stringify:wq}],q6={default:!0,tag:"",test:/^/,resolve(q,$){return $(`Unresolved plain scalar ${JSON.stringify(q)}`),q}},$6=[o5.map,t5.seq].concat(e5,q6);Z6.schema=$6});var T$=F((z6)=>{var k0=y("buffer"),W$=C(),X6=E0(),Q6={identify:(q)=>q instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(q,$){if(typeof k0.Buffer==="function")return k0.Buffer.from(q,"base64");else if(typeof atob==="function"){let Z=atob(q.replace(/[\n\r]/g,"")),U=new Uint8Array(Z.length);for(let X=0;X<Z.length;++X)U[X]=Z.charCodeAt(X);return U}else return $("This environment does not support reading binary tags; either Buffer or atob is required"),q},stringify({comment:q,type:$,value:Z},U,X,Q){if(!Z)return"";let z=Z,G;if(typeof k0.Buffer==="function")G=z instanceof k0.Buffer?z.toString("base64"):k0.Buffer.from(z.buffer).toString("base64");else if(typeof btoa==="function"){let J="";for(let H=0;H<z.length;++H)J+=String.fromCharCode(z[H]);G=btoa(J)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if($??($=W$.Scalar.BLOCK_LITERAL),$!==W$.Scalar.QUOTE_DOUBLE){let J=Math.max(U.options.lineWidth-U.indent.length,U.options.minContentWidth),H=Math.ceil(G.length/J),W=Array(H);for(let Y=0,B=0;Y<H;++Y,B+=J)W[Y]=G.substr(B,J);G=W.join($===W$.Scalar.BLOCK_LITERAL?`
54
+ `:" ")}return X6.stringifyString({comment:q,type:$,value:G},U,X,Q)}};z6.binary=Q6});var Nq=F((B6)=>{var Pq=P(),O$=o(),J6=C(),H6=q0();function O9(q,$){if(Pq.isSeq(q))for(let Z=0;Z<q.items.length;++Z){let U=q.items[Z];if(Pq.isPair(U))continue;else if(Pq.isMap(U)){if(U.items.length>1)$("Each pair must have its own sequence indicator");let X=U.items[0]||new O$.Pair(new J6.Scalar(null));if(U.commentBefore)X.key.commentBefore=X.key.commentBefore?`${U.commentBefore}
55
+ ${X.key.commentBefore}`:U.commentBefore;if(U.comment){let Q=X.value??X.key;Q.comment=Q.comment?`${U.comment}
56
+ ${Q.comment}`:U.comment}U=X}q.items[Z]=Pq.isPair(U)?U:new O$.Pair(U)}else $("Expected a sequence for this tag");return q}function _9(q,$,Z){let{replacer:U}=Z,X=new H6.YAMLSeq(q);X.tag="tag:yaml.org,2002:pairs";let Q=0;if($&&Symbol.iterator in Object($))for(let z of $){if(typeof U==="function")z=U.call($,String(Q++),z);let G,J;if(Array.isArray(z))if(z.length===2)G=z[0],J=z[1];else throw TypeError(`Expected [key, value] tuple: ${z}`);else if(z&&z instanceof Object){let H=Object.keys(z);if(H.length===1)G=H[0],J=z[G];else throw TypeError(`Expected tuple with one key, not ${H.length} keys`)}else G=z;X.items.push(O$.createPair(G,J,Z))}return X}var Y6={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:O9,createNode:_9};B6.createPairs=_9;B6.pairs=Y6;B6.resolvePairs=O9});var I$=F((I6)=>{var I9=P(),_$=s(),u0=e(),O6=q0(),L9=Nq();class J0 extends O6.YAMLSeq{constructor(){super();this.add=u0.YAMLMap.prototype.add.bind(this),this.delete=u0.YAMLMap.prototype.delete.bind(this),this.get=u0.YAMLMap.prototype.get.bind(this),this.has=u0.YAMLMap.prototype.has.bind(this),this.set=u0.YAMLMap.prototype.set.bind(this),this.tag=J0.tag}toJSON(q,$){if(!$)return super.toJSON(q);let Z=new Map;if($?.onCreate)$.onCreate(Z);for(let U of this.items){let X,Q;if(I9.isPair(U))X=_$.toJS(U.key,"",$),Q=_$.toJS(U.value,X,$);else X=_$.toJS(U,"",$);if(Z.has(X))throw Error("Ordered maps must not include duplicate keys");Z.set(X,Q)}return Z}static from(q,$,Z){let U=L9.createPairs(q,$,Z),X=new this;return X.items=U.items,X}}J0.tag="tag:yaml.org,2002:omap";var _6={collection:"seq",identify:(q)=>q instanceof Map,nodeClass:J0,default:!1,tag:"tag:yaml.org,2002:omap",resolve(q,$){let Z=L9.resolvePairs(q,$),U=[];for(let{key:X}of Z.items)if(I9.isScalar(X))if(U.includes(X.value))$(`Ordered maps must not include duplicate keys: ${X.value}`);else U.push(X.value);return Object.assign(new J0,Z)},createNode:(q,$,Z)=>J0.from(q,$,Z)};I6.YAMLOMap=J0;I6.omap=_6});var K9=F((R6)=>{var F9=C();function R9({value:q,source:$},Z){if($&&(q?A9:M9).test.test($))return $;return q?Z.options.trueStr:Z.options.falseStr}var A9={identify:(q)=>q===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new F9.Scalar(!0),stringify:R9},M9={identify:(q)=>q===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new F9.Scalar(!1),stringify:R9};R6.falseTag=M9;R6.trueTag=A9});var D9=F((N6)=>{var K6=C(),L$=A0(),D6={identify:(q)=>typeof q==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(q)=>q.slice(-3).toLowerCase()==="nan"?NaN:q[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:L$.stringifyNumber},w6={identify:(q)=>typeof q==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(q)=>parseFloat(q.replace(/_/g,"")),stringify(q){let $=Number(q.value);return isFinite($)?$.toExponential():L$.stringifyNumber(q)}},P6={identify:(q)=>typeof q==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(q){let $=new K6.Scalar(parseFloat(q.replace(/_/g,""))),Z=q.indexOf(".");if(Z!==-1){let U=q.substring(Z+1).replace(/_/g,"");if(U[U.length-1]==="0")$.minFractionDigits=U.length}return $},stringify:L$.stringifyNumber};N6.float=P6;N6.floatExp=w6;N6.floatNaN=D6});var P9=F((x6)=>{var w9=A0(),v0=(q)=>typeof q==="bigint"||Number.isInteger(q);function jq(q,$,Z,{intAsBigInt:U}){let X=q[0];if(X==="-"||X==="+")$+=1;if(q=q.substring($).replace(/_/g,""),U){switch(Z){case 2:q=`0b${q}`;break;case 8:q=`0o${q}`;break;case 16:q=`0x${q}`;break}let z=BigInt(q);return X==="-"?BigInt(-1)*z:z}let Q=parseInt(q,Z);return X==="-"?-1*Q:Q}function F$(q,$,Z){let{value:U}=q;if(v0(U)){let X=U.toString($);return U<0?"-"+Z+X.substr(1):Z+X}return w9.stringifyNumber(q)}var S6={identify:v0,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(q,$,Z)=>jq(q,2,2,Z),stringify:(q)=>F$(q,2,"0b")},E6={identify:v0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(q,$,Z)=>jq(q,1,8,Z),stringify:(q)=>F$(q,8,"0")},f6={identify:v0,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(q,$,Z)=>jq(q,0,10,Z),stringify:w9.stringifyNumber},y6={identify:v0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(q,$,Z)=>jq(q,2,16,Z),stringify:(q)=>F$(q,16,"0x")};x6.int=f6;x6.intBin=S6;x6.intHex=y6;x6.intOct=E6});var R$=F((m6)=>{var Sq=P(),Cq=o(),bq=e();class H0 extends bq.YAMLMap{constructor(q){super(q);this.tag=H0.tag}add(q){let $;if(Sq.isPair(q))$=q;else if(q&&typeof q==="object"&&"key"in q&&"value"in q&&q.value===null)$=new Cq.Pair(q.key,null);else $=new Cq.Pair(q,null);if(!bq.findPair(this.items,$.key))this.items.push($)}get(q,$){let Z=bq.findPair(this.items,q);return!$&&Sq.isPair(Z)?Sq.isScalar(Z.key)?Z.key.value:Z.key:Z}set(q,$){if(typeof $!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof $}`);let Z=bq.findPair(this.items,q);if(Z&&!$)this.items.splice(this.items.indexOf(Z),1);else if(!Z&&$)this.items.push(new Cq.Pair(q))}toJSON(q,$){return super.toJSON(q,$,Set)}toString(q,$,Z){if(!q)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},q,{allNullValues:!0}),$,Z);else throw Error("Set items must all have null values")}static from(q,$,Z){let{replacer:U}=Z,X=new this(q);if($&&Symbol.iterator in Object($))for(let Q of $){if(typeof U==="function")Q=U.call($,Q,Q);X.items.push(Cq.createPair(Q,null,Z))}return X}}H0.tag="tag:yaml.org,2002:set";var v6={collection:"map",identify:(q)=>q instanceof Set,nodeClass:H0,default:!1,tag:"tag:yaml.org,2002:set",createNode:(q,$,Z)=>H0.from(q,$,Z),resolve(q,$){if(Sq.isMap(q))if(q.hasAllNullValues(!0))return Object.assign(new H0,q);else $("Set items must all have null values");else $("Expected a mapping for this tag");return q}};m6.YAMLSet=H0;m6.set=v6});var M$=F((i6)=>{var l6=A0();function A$(q,$){let Z=q[0],U=Z==="-"||Z==="+"?q.substring(1):q,X=(z)=>$?BigInt(z):Number(z),Q=U.replace(/_/g,"").split(":").reduce((z,G)=>z*X(60)+X(G),X(0));return Z==="-"?X(-1)*Q:Q}function N9(q){let{value:$}=q,Z=(z)=>z;if(typeof $==="bigint")Z=(z)=>BigInt(z);else if(isNaN($)||!isFinite($))return l6.stringifyNumber(q);let U="";if($<0)U="-",$*=Z(-1);let X=Z(60),Q=[$%X];if($<60)Q.unshift(0);else if($=($-Q[0])/X,Q.unshift($%X),$>=60)$=($-Q[0])/X,Q.unshift($);return U+Q.map((z)=>String(z).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var c6={identify:(q)=>typeof q==="bigint"||Number.isInteger(q),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(q,$,{intAsBigInt:Z})=>A$(q,Z),stringify:N9},a6={identify:(q)=>typeof q==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(q)=>A$(q,!1),stringify:N9},j9={identify:(q)=>q 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(q){let $=q.match(j9.test);if(!$)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,Z,U,X,Q,z,G]=$.map(Number),J=$[7]?Number(($[7]+"00").substr(1,3)):0,H=Date.UTC(Z,U-1,X,Q||0,z||0,G||0,J),W=$[8];if(W&&W!=="Z"){let Y=A$(W,!1);if(Math.abs(Y)<30)Y*=60;H-=60000*Y}return new Date(H)},stringify:({value:q})=>q?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};i6.floatTime=a6;i6.intTime=c6;i6.timestamp=j9});var b9=F((GU)=>{var o6=F0(),t6=Kq(),e6=R0(),qU=h0(),$U=T$(),C9=K9(),K$=D9(),Eq=P9(),ZU=Oq(),UU=I$(),XU=Nq(),QU=R$(),D$=M$(),zU=[o6.map,e6.seq,qU.string,t6.nullTag,C9.trueTag,C9.falseTag,Eq.intBin,Eq.intOct,Eq.int,Eq.intHex,K$.floatNaN,K$.floatExp,K$.float,$U.binary,ZU.merge,UU.omap,XU.pairs,QU.set,D$.intTime,D$.floatTime,D$.timestamp];GU.schema=zU});var v9=F((_U)=>{var y9=F0(),HU=Kq(),x9=R0(),YU=h0(),BU=z$(),w$=J$(),P$=Y$(),VU=V9(),WU=T9(),g9=T$(),m0=Oq(),h9=I$(),k9=Nq(),S9=b9(),u9=R$(),fq=M$(),E9=new Map([["core",VU.schema],["failsafe",[y9.map,x9.seq,YU.string]],["json",WU.schema],["yaml11",S9.schema],["yaml-1.1",S9.schema]]),f9={binary:g9.binary,bool:BU.boolTag,float:w$.float,floatExp:w$.floatExp,floatNaN:w$.floatNaN,floatTime:fq.floatTime,int:P$.int,intHex:P$.intHex,intOct:P$.intOct,intTime:fq.intTime,map:y9.map,merge:m0.merge,null:HU.nullTag,omap:h9.omap,pairs:k9.pairs,seq:x9.seq,set:u9.set,timestamp:fq.timestamp},TU={"tag:yaml.org,2002:binary":g9.binary,"tag:yaml.org,2002:merge":m0.merge,"tag:yaml.org,2002:omap":h9.omap,"tag:yaml.org,2002:pairs":k9.pairs,"tag:yaml.org,2002:set":u9.set,"tag:yaml.org,2002:timestamp":fq.timestamp};function OU(q,$,Z){let U=E9.get($);if(U&&!q)return Z&&!U.includes(m0.merge)?U.concat(m0.merge):U.slice();let X=U;if(!X)if(Array.isArray(q))X=[];else{let Q=Array.from(E9.keys()).filter((z)=>z!=="yaml11").map((z)=>JSON.stringify(z)).join(", ");throw Error(`Unknown schema "${$}"; use one of ${Q} or define customTags array`)}if(Array.isArray(q))for(let Q of q)X=X.concat(Q);else if(typeof q==="function")X=q(X.slice());if(Z)X=X.concat(m0.merge);return X.reduce((Q,z)=>{let G=typeof z==="string"?f9[z]:z;if(!G){let J=JSON.stringify(z),H=Object.keys(f9).map((W)=>JSON.stringify(W)).join(", ");throw Error(`Unknown custom tag ${J}; use one of ${H}`)}if(!Q.includes(G))Q.push(G);return Q},[])}_U.coreKnownTags=TU;_U.getTags=OU});var C$=F((KU)=>{var N$=P(),FU=F0(),RU=R0(),AU=h0(),yq=v9(),MU=(q,$)=>q.key<$.key?-1:q.key>$.key?1:0;class j${constructor({compat:q,customTags:$,merge:Z,resolveKnownTags:U,schema:X,sortMapEntries:Q,toStringDefaults:z}){this.compat=Array.isArray(q)?yq.getTags(q,"compat"):q?yq.getTags(null,q):null,this.name=typeof X==="string"&&X||"core",this.knownTags=U?yq.coreKnownTags:{},this.tags=yq.getTags($,this.name,Z),this.toStringOptions=z??null,Object.defineProperty(this,N$.MAP,{value:FU.map}),Object.defineProperty(this,N$.SCALAR,{value:AU.string}),Object.defineProperty(this,N$.SEQ,{value:RU.seq}),this.sortMapEntries=typeof Q==="function"?Q:Q===!0?MU:null}clone(){let q=Object.create(j$.prototype,Object.getOwnPropertyDescriptors(this));return q.tags=this.tags.slice(),q}}KU.Schema=j$});var m9=F((NU)=>{var wU=P(),b$=f0(),p0=b0();function PU(q,$){let Z=[],U=$.directives===!0;if($.directives!==!1&&q.directives){let J=q.directives.toString(q);if(J)Z.push(J),U=!0;else if(q.directives.docStart)U=!0}if(U)Z.push("---");let X=b$.createStringifyContext(q,$),{commentString:Q}=X.options;if(q.commentBefore){if(Z.length!==1)Z.unshift("");let J=Q(q.commentBefore);Z.unshift(p0.indentComment(J,""))}let z=!1,G=null;if(q.contents){if(wU.isNode(q.contents)){if(q.contents.spaceBefore&&U)Z.push("");if(q.contents.commentBefore){let W=Q(q.contents.commentBefore);Z.push(p0.indentComment(W,""))}X.forceBlockIndent=!!q.comment,G=q.contents.comment}let J=G?void 0:()=>z=!0,H=b$.stringify(q.contents,X,()=>G=null,J);if(G)H+=p0.lineComment(H,"",Q(G));if((H[0]==="|"||H[0]===">")&&Z[Z.length-1]==="---")Z[Z.length-1]=`--- ${H}`;else Z.push(H)}else Z.push(b$.stringify(q.contents,X));if(q.directives?.docEnd)if(q.comment){let J=Q(q.comment);if(J.includes(`
57
+ `))Z.push("..."),Z.push(p0.indentComment(J,""));else Z.push(`... ${J}`)}else Z.push("...");else{let J=q.comment;if(J&&z)J=J.replace(/^\n+/,"");if(J){if((!z||G)&&Z[Z.length-1]!=="")Z.push("");Z.push(p0.indentComment(Q(J),""))}}return Z.join(`
58
+ `)+`
59
+ `}NU.stringifyDocument=PU});var d0=F((gU)=>{var CU=j0(),M0=Hq(),h=P(),bU=o(),SU=s(),EU=C$(),fU=m9(),S$=zq(),yU=rq(),xU=C0(),E$=nq();class f${constructor(q,$,Z){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,h.NODE_TYPE,{value:h.DOC});let U=null;if(typeof $==="function"||Array.isArray($))U=$;else if(Z===void 0&&$)Z=$,$=void 0;let X=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},Z);this.options=X;let{version:Q}=X;if(Z?._directives){if(this.directives=Z._directives.atDocument(),this.directives.yaml.explicit)Q=this.directives.yaml.version}else this.directives=new E$.Directives({version:Q});this.setSchema(Q,Z),this.contents=q===void 0?null:this.createNode(q,U,Z)}clone(){let q=Object.create(f$.prototype,{[h.NODE_TYPE]:{value:h.DOC}});if(q.commentBefore=this.commentBefore,q.comment=this.comment,q.errors=this.errors.slice(),q.warnings=this.warnings.slice(),q.options=Object.assign({},this.options),this.directives)q.directives=this.directives.clone();if(q.schema=this.schema.clone(),q.contents=h.isNode(this.contents)?this.contents.clone(q.schema):this.contents,this.range)q.range=this.range.slice();return q}add(q){if(K0(this.contents))this.contents.add(q)}addIn(q,$){if(K0(this.contents))this.contents.addIn(q,$)}createAlias(q,$){if(!q.anchor){let Z=S$.anchorNames(this);q.anchor=!$||Z.has($)?S$.findNewAnchor($||"a",Z):$}return new CU.Alias(q.anchor)}createNode(q,$,Z){let U=void 0;if(typeof $==="function")q=$.call({"":q},"",q),U=$;else if(Array.isArray($)){let V=(L)=>typeof L==="number"||L instanceof String||L instanceof Number,I=$.filter(V).map(String);if(I.length>0)$=$.concat(I);U=$}else if(Z===void 0&&$)Z=$,$=void 0;let{aliasDuplicateObjects:X,anchorPrefix:Q,flow:z,keepUndefined:G,onTagObj:J,tag:H}=Z??{},{onAnchor:W,setAnchors:Y,sourceObjects:B}=S$.createNodeAnchors(this,Q||"a"),_={aliasDuplicateObjects:X??!0,keepUndefined:G??!1,onAnchor:W,onTagObj:J,replacer:U,schema:this.schema,sourceObjects:B},O=xU.createNode(q,H,_);if(z&&h.isCollection(O))O.flow=!0;return Y(),O}createPair(q,$,Z={}){let U=this.createNode(q,null,Z),X=this.createNode($,null,Z);return new bU.Pair(U,X)}delete(q){return K0(this.contents)?this.contents.delete(q):!1}deleteIn(q){if(M0.isEmptyPath(q)){if(this.contents==null)return!1;return this.contents=null,!0}return K0(this.contents)?this.contents.deleteIn(q):!1}get(q,$){return h.isCollection(this.contents)?this.contents.get(q,$):void 0}getIn(q,$){if(M0.isEmptyPath(q))return!$&&h.isScalar(this.contents)?this.contents.value:this.contents;return h.isCollection(this.contents)?this.contents.getIn(q,$):void 0}has(q){return h.isCollection(this.contents)?this.contents.has(q):!1}hasIn(q){if(M0.isEmptyPath(q))return this.contents!==void 0;return h.isCollection(this.contents)?this.contents.hasIn(q):!1}set(q,$){if(this.contents==null)this.contents=M0.collectionFromPath(this.schema,[q],$);else if(K0(this.contents))this.contents.set(q,$)}setIn(q,$){if(M0.isEmptyPath(q))this.contents=$;else if(this.contents==null)this.contents=M0.collectionFromPath(this.schema,Array.from(q),$);else if(K0(this.contents))this.contents.setIn(q,$)}setSchema(q,$={}){if(typeof q==="number")q=String(q);let Z;switch(q){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new E$.Directives({version:"1.1"});Z={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=q;else this.directives=new E$.Directives({version:q});Z={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;Z=null;break;default:{let U=JSON.stringify(q);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${U}`)}}if($.schema instanceof Object)this.schema=$.schema;else if(Z)this.schema=new EU.Schema(Object.assign(Z,$));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:q,jsonArg:$,mapAsMap:Z,maxAliasCount:U,onAnchor:X,reviver:Q}={}){let z={anchors:new Map,doc:this,keep:!q,mapAsMap:Z===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},G=SU.toJS(this.contents,$??"",z);if(typeof X==="function")for(let{count:J,res:H}of z.anchors.values())X(H,J);return typeof Q==="function"?yU.applyReviver(Q,{"":G},"",G):G}toJSON(q,$){return this.toJS({json:!0,jsonArg:q,mapAsMap:!1,onAnchor:$})}toString(q={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in q&&(!Number.isInteger(q.indent)||Number(q.indent)<=0)){let $=JSON.stringify(q.indent);throw Error(`"indent" option must be a positive integer, not ${$}`)}return fU.stringifyDocument(this,q)}}function K0(q){if(h.isCollection(q))return!0;throw Error("Expected a YAML collection as document contents")}gU.Document=f$});var l0=F((uU)=>{class xq extends Error{constructor(q,$,Z,U){super();this.name=q,this.code=Z,this.message=U,this.pos=$}}class p9 extends xq{constructor(q,$,Z){super("YAMLParseError",q,$,Z)}}class d9 extends xq{constructor(q,$,Z){super("YAMLWarning",q,$,Z)}}var kU=(q,$)=>(Z)=>{if(Z.pos[0]===-1)return;Z.linePos=Z.pos.map((G)=>$.linePos(G));let{line:U,col:X}=Z.linePos[0];Z.message+=` at line ${U}, column ${X}`;let Q=X-1,z=q.substring($.lineStarts[U-1],$.lineStarts[U]).replace(/[\n\r]+$/,"");if(Q>=60&&z.length>80){let G=Math.min(Q-39,z.length-79);z="…"+z.substring(G),Q-=G-1}if(z.length>80)z=z.substring(0,79)+"…";if(U>1&&/^ *$/.test(z.substring(0,Q))){let G=q.substring($.lineStarts[U-2],$.lineStarts[U-1]);if(G.length>80)G=G.substring(0,79)+`…
60
+ `;z=G+z}if(/[^ ]/.test(z)){let G=1,J=Z.linePos[1];if(J?.line===U&&J.col>X)G=Math.max(1,Math.min(J.col-X,80-Q));let H=" ".repeat(Q)+"^".repeat(G);Z.message+=`:
61
+
62
+ ${z}
63
+ ${H}
64
+ `}};uU.YAMLError=xq;uU.YAMLParseError=p9;uU.YAMLWarning=d9;uU.prettifyError=kU});var c0=F((cU)=>{function lU(q,{flow:$,indicator:Z,next:U,offset:X,onError:Q,parentIndent:z,startOnNewline:G}){let J=!1,H=G,W=G,Y="",B="",_=!1,O=!1,V=null,I=null,L=null,A=null,M=null,K=null,D=null;for(let R of q){if(O){if(R.type!=="space"&&R.type!=="newline"&&R.type!=="comma")Q(R.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");O=!1}if(V){if(H&&R.type!=="comment"&&R.type!=="newline")Q(V,"TAB_AS_INDENT","Tabs are not allowed as indentation");V=null}switch(R.type){case"space":if(!$&&(Z!=="doc-start"||U?.type!=="flow-collection")&&R.source.includes("\t"))V=R;W=!0;break;case"comment":{if(!W)Q(R,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let b=R.source.substring(1)||" ";if(!Y)Y=b;else Y+=B+b;B="",H=!1;break}case"newline":if(H){if(Y)Y+=R.source;else if(!K||Z!=="seq-item-ind")J=!0}else B+=R.source;if(H=!0,_=!0,I||L)A=R;W=!0;break;case"anchor":if(I)Q(R,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(R.source.endsWith(":"))Q(R.offset+R.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);I=R,D??(D=R.offset),H=!1,W=!1,O=!0;break;case"tag":{if(L)Q(R,"MULTIPLE_TAGS","A node can have at most one tag");L=R,D??(D=R.offset),H=!1,W=!1,O=!0;break}case Z:if(I||L)Q(R,"BAD_PROP_ORDER",`Anchors and tags must be after the ${R.source} indicator`);if(K)Q(R,"UNEXPECTED_TOKEN",`Unexpected ${R.source} in ${$??"collection"}`);K=R,H=Z==="seq-item-ind"||Z==="explicit-key-ind",W=!1;break;case"comma":if($){if(M)Q(R,"UNEXPECTED_TOKEN",`Unexpected , in ${$}`);M=R,H=!1,W=!1;break}default:Q(R,"UNEXPECTED_TOKEN",`Unexpected ${R.type} token`),H=!1,W=!1}}let w=q[q.length-1],N=w?w.offset+w.source.length:X;if(O&&U&&U.type!=="space"&&U.type!=="newline"&&U.type!=="comma"&&(U.type!=="scalar"||U.source!==""))Q(U.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(V&&(H&&V.indent<=z||U?.type==="block-map"||U?.type==="block-seq"))Q(V,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:M,found:K,spaceBefore:J,comment:Y,hasNewline:_,anchor:I,tag:L,newlineAfterProp:A,end:N,start:D??N}}cU.resolveProps=lU});var gq=F((iU)=>{function y$(q){if(!q)return null;switch(q.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(q.source.includes(`
65
+ `))return!0;if(q.end){for(let $ of q.end)if($.type==="newline")return!0}return!1;case"flow-collection":for(let $ of q.items){for(let Z of $.start)if(Z.type==="newline")return!0;if($.sep){for(let Z of $.sep)if(Z.type==="newline")return!0}if(y$($.key)||y$($.value))return!0}return!1;default:return!0}}iU.containsNewline=y$});var x$=F((oU)=>{var nU=gq();function rU(q,$,Z){if($?.type==="flow-collection"){let U=$.end[0];if(U.indent===q&&(U.source==="]"||U.source==="}")&&nU.containsNewline($))Z(U,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}oU.flowIndentCheck=rU});var g$=F((qX)=>{var l9=P();function eU(q,$,Z){let{uniqueKeys:U}=q.options;if(U===!1)return!1;let X=typeof U==="function"?U:(Q,z)=>Q===z||l9.isScalar(Q)&&l9.isScalar(z)&&Q.value===z.value;return $.some((Q)=>X(Q.key,Z))}qX.mapIncludes=eU});var n9=F((zX)=>{var c9=o(),ZX=e(),a9=c0(),UX=gq(),i9=x$(),XX=g$(),s9="All mapping items must start at the same column";function QX({composeNode:q,composeEmptyNode:$},Z,U,X,Q){let G=new(Q?.nodeClass??ZX.YAMLMap)(Z.schema);if(Z.atRoot)Z.atRoot=!1;let J=U.offset,H=null;for(let W of U.items){let{start:Y,key:B,sep:_,value:O}=W,V=a9.resolveProps(Y,{indicator:"explicit-key-ind",next:B??_?.[0],offset:J,onError:X,parentIndent:U.indent,startOnNewline:!0}),I=!V.found;if(I){if(B){if(B.type==="block-seq")X(J,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in B&&B.indent!==U.indent)X(J,"BAD_INDENT",s9)}if(!V.anchor&&!V.tag&&!_){if(H=V.end,V.comment)if(G.comment)G.comment+=`
66
+ `+V.comment;else G.comment=V.comment;continue}if(V.newlineAfterProp||UX.containsNewline(B))X(B??Y[Y.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(V.found?.indent!==U.indent)X(J,"BAD_INDENT",s9);Z.atKey=!0;let L=V.end,A=B?q(Z,B,V,X):$(Z,L,Y,null,V,X);if(Z.schema.compat)i9.flowIndentCheck(U.indent,B,X);if(Z.atKey=!1,XX.mapIncludes(Z,G.items,A))X(L,"DUPLICATE_KEY","Map keys must be unique");let M=a9.resolveProps(_??[],{indicator:"map-value-ind",next:O,offset:A.range[2],onError:X,parentIndent:U.indent,startOnNewline:!B||B.type==="block-scalar"});if(J=M.end,M.found){if(I){if(O?.type==="block-map"&&!M.hasNewline)X(J,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(Z.options.strict&&V.start<M.found.offset-1024)X(A.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let K=O?q(Z,O,M,X):$(Z,J,_,null,M,X);if(Z.schema.compat)i9.flowIndentCheck(U.indent,O,X);J=K.range[2];let D=new c9.Pair(A,K);if(Z.options.keepSourceTokens)D.srcToken=W;G.items.push(D)}else{if(I)X(A.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(M.comment)if(A.comment)A.comment+=`
67
+ `+M.comment;else A.comment=M.comment;let K=new c9.Pair(A);if(Z.options.keepSourceTokens)K.srcToken=W;G.items.push(K)}}if(H&&H<J)X(H,"IMPOSSIBLE","Map comment with trailing content");return G.range=[U.offset,J,H??J],G}zX.resolveBlockMap=QX});var r9=F((VX)=>{var JX=q0(),HX=c0(),YX=x$();function BX({composeNode:q,composeEmptyNode:$},Z,U,X,Q){let G=new(Q?.nodeClass??JX.YAMLSeq)(Z.schema);if(Z.atRoot)Z.atRoot=!1;if(Z.atKey)Z.atKey=!1;let J=U.offset,H=null;for(let{start:W,value:Y}of U.items){let B=HX.resolveProps(W,{indicator:"seq-item-ind",next:Y,offset:J,onError:X,parentIndent:U.indent,startOnNewline:!0});if(!B.found)if(B.anchor||B.tag||Y)if(Y?.type==="block-seq")X(B.end,"BAD_INDENT","All sequence items must start at the same column");else X(J,"MISSING_CHAR","Sequence item without - indicator");else{if(H=B.end,B.comment)G.comment=B.comment;continue}let _=Y?q(Z,Y,B,X):$(Z,B.end,W,null,B,X);if(Z.schema.compat)YX.flowIndentCheck(U.indent,Y,X);J=_.range[2],G.items.push(_)}return G.range=[U.offset,J,H??J],G}VX.resolveBlockSeq=BX});var D0=F((OX)=>{function TX(q,$,Z,U){let X="";if(q){let Q=!1,z="";for(let G of q){let{source:J,type:H}=G;switch(H){case"space":Q=!0;break;case"comment":{if(Z&&!Q)U(G,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let W=J.substring(1)||" ";if(!X)X=W;else X+=z+W;z="";break}case"newline":if(X)z+=J;Q=!0;break;default:U(G,"UNEXPECTED_TOKEN",`Unexpected ${H} at node end`)}$+=J.length}}return{comment:X,offset:$}}OX.resolveEnd=TX});var e9=F((DX)=>{var IX=P(),LX=o(),o9=e(),FX=q0(),RX=D0(),t9=c0(),AX=gq(),MX=g$(),h$="Block collections are not allowed within flow collections",k$=(q)=>q&&(q.type==="block-map"||q.type==="block-seq");function KX({composeNode:q,composeEmptyNode:$},Z,U,X,Q){let z=U.start.source==="{",G=z?"flow map":"flow sequence",H=new(Q?.nodeClass??(z?o9.YAMLMap:FX.YAMLSeq))(Z.schema);H.flow=!0;let W=Z.atRoot;if(W)Z.atRoot=!1;if(Z.atKey)Z.atKey=!1;let Y=U.offset+U.start.source.length;for(let I=0;I<U.items.length;++I){let L=U.items[I],{start:A,key:M,sep:K,value:D}=L,w=t9.resolveProps(A,{flow:G,indicator:"explicit-key-ind",next:M??K?.[0],offset:Y,onError:X,parentIndent:U.indent,startOnNewline:!1});if(!w.found){if(!w.anchor&&!w.tag&&!K&&!D){if(I===0&&w.comma)X(w.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${G}`);else if(I<U.items.length-1)X(w.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${G}`);if(w.comment)if(H.comment)H.comment+=`
68
+ `+w.comment;else H.comment=w.comment;Y=w.end;continue}if(!z&&Z.options.strict&&AX.containsNewline(M))X(M,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(I===0){if(w.comma)X(w.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${G}`)}else{if(!w.comma)X(w.start,"MISSING_CHAR",`Missing , between ${G} items`);if(w.comment){let N="";q:for(let R of A)switch(R.type){case"comma":case"space":break;case"comment":N=R.source.substring(1);break q;default:break q}if(N){let R=H.items[H.items.length-1];if(IX.isPair(R))R=R.value??R.key;if(R.comment)R.comment+=`
69
+ `+N;else R.comment=N;w.comment=w.comment.substring(N.length+1)}}}if(!z&&!K&&!w.found){let N=D?q(Z,D,w,X):$(Z,w.end,K,null,w,X);if(H.items.push(N),Y=N.range[2],k$(D))X(N.range,"BLOCK_IN_FLOW",h$)}else{Z.atKey=!0;let N=w.end,R=M?q(Z,M,w,X):$(Z,N,A,null,w,X);if(k$(M))X(R.range,"BLOCK_IN_FLOW",h$);Z.atKey=!1;let b=t9.resolveProps(K??[],{flow:G,indicator:"map-value-ind",next:D,offset:R.range[2],onError:X,parentIndent:U.indent,startOnNewline:!1});if(b.found){if(!z&&!w.found&&Z.options.strict){if(K)for(let S of K){if(S===b.found)break;if(S.type==="newline"){X(S,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(w.start<b.found.offset-1024)X(b.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(D)if("source"in D&&D.source?.[0]===":")X(D,"MISSING_CHAR",`Missing space after : in ${G}`);else X(b.start,"MISSING_CHAR",`Missing , or : between ${G} items`);let i=D?q(Z,D,b,X):b.found?$(Z,b.end,K,null,b,X):null;if(i){if(k$(D))X(i.range,"BLOCK_IN_FLOW",h$)}else if(b.comment)if(R.comment)R.comment+=`
70
+ `+b.comment;else R.comment=b.comment;let W0=new LX.Pair(R,i);if(Z.options.keepSourceTokens)W0.srcToken=L;if(z){let S=H;if(MX.mapIncludes(Z,S.items,R))X(N,"DUPLICATE_KEY","Map keys must be unique");S.items.push(W0)}else{let S=new o9.YAMLMap(Z.schema);S.flow=!0,S.items.push(W0);let W2=(i??R).range;S.range=[R.range[0],W2[1],W2[2]],H.items.push(S)}Y=i?i.range[2]:b.end}}let B=z?"}":"]",[_,...O]=U.end,V=Y;if(_?.source===B)V=_.offset+_.source.length;else{let I=G[0].toUpperCase()+G.substring(1),L=W?`${I} must end with a ${B}`:`${I} in block collection must be sufficiently indented and end with a ${B}`;if(X(Y,W?"MISSING_CHAR":"BAD_INDENT",L),_&&_.source.length!==1)O.unshift(_)}if(O.length>0){let I=RX.resolveEnd(O,V,Z.options.strict,X);if(I.comment)if(H.comment)H.comment+=`
71
+ `+I.comment;else H.comment=I.comment;H.range=[U.offset,V,I.offset]}else H.range=[U.offset,V,V];return H}DX.resolveFlowCollection=KX});var q1=F((yX)=>{var PX=P(),NX=C(),jX=e(),CX=q0(),bX=n9(),SX=r9(),EX=e9();function u$(q,$,Z,U,X,Q){let z=Z.type==="block-map"?bX.resolveBlockMap(q,$,Z,U,Q):Z.type==="block-seq"?SX.resolveBlockSeq(q,$,Z,U,Q):EX.resolveFlowCollection(q,$,Z,U,Q),G=z.constructor;if(X==="!"||X===G.tagName)return z.tag=G.tagName,z;if(X)z.tag=X;return z}function fX(q,$,Z,U,X){let Q=U.tag,z=!Q?null:$.directives.tagName(Q.source,(B)=>X(Q,"TAG_RESOLVE_FAILED",B));if(Z.type==="block-seq"){let{anchor:B,newlineAfterProp:_}=U,O=B&&Q?B.offset>Q.offset?B:Q:B??Q;if(O&&(!_||_.offset<O.offset))X(O,"MISSING_CHAR","Missing newline after block sequence props")}let G=Z.type==="block-map"?"map":Z.type==="block-seq"?"seq":Z.start.source==="{"?"map":"seq";if(!Q||!z||z==="!"||z===jX.YAMLMap.tagName&&G==="map"||z===CX.YAMLSeq.tagName&&G==="seq")return u$(q,$,Z,X,z);let J=$.schema.tags.find((B)=>B.tag===z&&B.collection===G);if(!J){let B=$.schema.knownTags[z];if(B?.collection===G)$.schema.tags.push(Object.assign({},B,{default:!1})),J=B;else{if(B)X(Q,"BAD_COLLECTION_TYPE",`${B.tag} used for ${G} collection, but expects ${B.collection??"scalar"}`,!0);else X(Q,"TAG_RESOLVE_FAILED",`Unresolved tag: ${z}`,!0);return u$(q,$,Z,X,z)}}let H=u$(q,$,Z,X,z,J),W=J.resolve?.(H,(B)=>X(Q,"TAG_RESOLVE_FAILED",B),$.options)??H,Y=PX.isNode(W)?W:new NX.Scalar(W);if(Y.range=H.range,Y.tag=z,J?.format)Y.format=J.format;return Y}yX.composeCollection=fX});var m$=F((uX)=>{var v$=C();function gX(q,$,Z){let U=$.offset,X=hX($,q.options.strict,Z);if(!X)return{value:"",type:null,comment:"",range:[U,U,U]};let Q=X.mode===">"?v$.Scalar.BLOCK_FOLDED:v$.Scalar.BLOCK_LITERAL,z=$.source?kX($.source):[],G=z.length;for(let V=z.length-1;V>=0;--V){let I=z[V][1];if(I===""||I==="\r")G=V;else break}if(G===0){let V=X.chomp==="+"&&z.length>0?`
72
+ `.repeat(Math.max(1,z.length-1)):"",I=U+X.length;if($.source)I+=$.source.length;return{value:V,type:Q,comment:X.comment,range:[U,I,I]}}let J=$.indent+X.indent,H=$.offset+X.length,W=0;for(let V=0;V<G;++V){let[I,L]=z[V];if(L===""||L==="\r"){if(X.indent===0&&I.length>J)J=I.length}else{if(I.length<J)Z(H+I.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(X.indent===0)J=I.length;if(W=V,J===0&&!q.atRoot)Z(H,"BAD_INDENT","Block scalar values in collections must be indented");break}H+=I.length+L.length+1}for(let V=z.length-1;V>=G;--V)if(z[V][0].length>J)G=V+1;let Y="",B="",_=!1;for(let V=0;V<W;++V)Y+=z[V][0].slice(J)+`
73
+ `;for(let V=W;V<G;++V){let[I,L]=z[V];H+=I.length+L.length+1;let A=L[L.length-1]==="\r";if(A)L=L.slice(0,-1);if(L&&I.length<J){let K=`Block scalar lines must not be less indented than their ${X.indent?"explicit indentation indicator":"first line"}`;Z(H-L.length-(A?2:1),"BAD_INDENT",K),I=""}if(Q===v$.Scalar.BLOCK_LITERAL)Y+=B+I.slice(J)+L,B=`
74
+ `;else if(I.length>J||L[0]==="\t"){if(B===" ")B=`
75
+ `;else if(!_&&B===`
76
+ `)B=`
77
+
78
+ `;Y+=B+I.slice(J)+L,B=`
79
+ `,_=!0}else if(L==="")if(B===`
80
+ `)Y+=`
81
+ `;else B=`
82
+ `;else Y+=B+L,B=" ",_=!1}switch(X.chomp){case"-":break;case"+":for(let V=G;V<z.length;++V)Y+=`
83
+ `+z[V][0].slice(J);if(Y[Y.length-1]!==`
84
+ `)Y+=`
85
+ `;break;default:Y+=`
86
+ `}let O=U+X.length+$.source.length;return{value:Y,type:Q,comment:X.comment,range:[U,O,O]}}function hX({offset:q,props:$},Z,U){if($[0].type!=="block-scalar-header")return U($[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:X}=$[0],Q=X[0],z=0,G="",J=-1;for(let B=1;B<X.length;++B){let _=X[B];if(!G&&(_==="-"||_==="+"))G=_;else{let O=Number(_);if(!z&&O)z=O;else if(J===-1)J=q+B}}if(J!==-1)U(J,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${X}`);let H=!1,W="",Y=X.length;for(let B=1;B<$.length;++B){let _=$[B];switch(_.type){case"space":H=!0;case"newline":Y+=_.source.length;break;case"comment":if(Z&&!H)U(_,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");Y+=_.source.length,W=_.source.substring(1);break;case"error":U(_,"UNEXPECTED_TOKEN",_.message),Y+=_.source.length;break;default:{let O=`Unexpected token in block scalar header: ${_.type}`;U(_,"UNEXPECTED_TOKEN",O);let V=_.source;if(V&&typeof V==="string")Y+=V.length}}}return{mode:Q,indent:z,chomp:G,comment:W,length:Y}}function kX(q){let $=q.split(/\n( *)/),Z=$[0],U=Z.match(/^( *)/),Q=[U?.[1]?[U[1],Z.slice(U[1].length)]:["",Z]];for(let z=1;z<$.length;z+=2)Q.push([$[z],$[z+1]]);return Q}uX.resolveBlockScalar=gX});var d$=F((nX)=>{var p$=C(),mX=D0();function pX(q,$,Z){let{offset:U,type:X,source:Q,end:z}=q,G,J,H=(B,_,O)=>Z(U+B,_,O);switch(X){case"scalar":G=p$.Scalar.PLAIN,J=dX(Q,H);break;case"single-quoted-scalar":G=p$.Scalar.QUOTE_SINGLE,J=lX(Q,H);break;case"double-quoted-scalar":G=p$.Scalar.QUOTE_DOUBLE,J=cX(Q,H);break;default:return Z(q,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${X}`),{value:"",type:null,comment:"",range:[U,U+Q.length,U+Q.length]}}let W=U+Q.length,Y=mX.resolveEnd(z,W,$,Z);return{value:J,type:G,comment:Y.comment,range:[U,W,Y.offset]}}function dX(q,$){let Z="";switch(q[0]){case"\t":Z="a tab character";break;case",":Z="flow indicator character ,";break;case"%":Z="directive indicator character %";break;case"|":case">":{Z=`block scalar indicator ${q[0]}`;break}case"@":case"`":{Z=`reserved character ${q[0]}`;break}}if(Z)$(0,"BAD_SCALAR_START",`Plain value cannot start with ${Z}`);return $1(q)}function lX(q,$){if(q[q.length-1]!=="'"||q.length===1)$(q.length,"MISSING_CHAR","Missing closing 'quote");return $1(q.slice(1,-1)).replace(/''/g,"'")}function $1(q){let $,Z;try{$=new RegExp(`(.*?)(?<![ ])[ ]*\r?
87
+ `,"sy"),Z=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
88
+ `,"sy")}catch{$=/(.*?)[ \t]*\r?\n/sy,Z=/[ \t]*(.*?)[ \t]*\r?\n/sy}let U=$.exec(q);if(!U)return q;let X=U[1],Q=" ",z=$.lastIndex;Z.lastIndex=z;while(U=Z.exec(q)){if(U[1]==="")if(Q===`
89
+ `)X+=Q;else Q=`
90
+ `;else X+=Q+U[1],Q=" ";z=Z.lastIndex}let G=/[ \t]*(.*)/sy;return G.lastIndex=z,U=G.exec(q),X+Q+(U?.[1]??"")}function cX(q,$){let Z="";for(let U=1;U<q.length-1;++U){let X=q[U];if(X==="\r"&&q[U+1]===`
91
+ `)continue;if(X===`
92
+ `){let{fold:Q,offset:z}=aX(q,U);Z+=Q,U=z}else if(X==="\\"){let Q=q[++U],z=iX[Q];if(z)Z+=z;else if(Q===`
93
+ `){Q=q[U+1];while(Q===" "||Q==="\t")Q=q[++U+1]}else if(Q==="\r"&&q[U+1]===`
94
+ `){Q=q[++U+1];while(Q===" "||Q==="\t")Q=q[++U+1]}else if(Q==="x"||Q==="u"||Q==="U"){let G={x:2,u:4,U:8}[Q];Z+=sX(q,U+1,G,$),U+=G}else{let G=q.substr(U-1,2);$(U-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${G}`),Z+=G}}else if(X===" "||X==="\t"){let Q=U,z=q[U+1];while(z===" "||z==="\t")z=q[++U+1];if(z!==`
95
+ `&&!(z==="\r"&&q[U+2]===`
96
+ `))Z+=U>Q?q.slice(Q,U+1):X}else Z+=X}if(q[q.length-1]!=='"'||q.length===1)$(q.length,"MISSING_CHAR",'Missing closing "quote');return Z}function aX(q,$){let Z="",U=q[$+1];while(U===" "||U==="\t"||U===`
97
+ `||U==="\r"){if(U==="\r"&&q[$+2]!==`
98
+ `)break;if(U===`
99
+ `)Z+=`
100
+ `;$+=1,U=q[$+1]}if(!Z)Z=" ";return{fold:Z,offset:$}}var iX={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
101
+ `,r:"\r",t:"\t",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function sX(q,$,Z,U){let X=q.substr($,Z),z=X.length===Z&&/^[0-9a-fA-F]+$/.test(X)?parseInt(X,16):NaN;if(isNaN(z)){let G=q.substr($-2,Z+2);return U($-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${G}`),G}return String.fromCodePoint(z)}nX.resolveFlowScalar=pX});var U1=F((Z3)=>{var Y0=P(),Z1=C(),oX=m$(),tX=d$();function eX(q,$,Z,U){let{value:X,type:Q,comment:z,range:G}=$.type==="block-scalar"?oX.resolveBlockScalar(q,$,U):tX.resolveFlowScalar($,q.options.strict,U),J=Z?q.directives.tagName(Z.source,(Y)=>U(Z,"TAG_RESOLVE_FAILED",Y)):null,H;if(q.options.stringKeys&&q.atKey)H=q.schema[Y0.SCALAR];else if(J)H=q3(q.schema,X,J,Z,U);else if($.type==="scalar")H=$3(q,X,$,U);else H=q.schema[Y0.SCALAR];let W;try{let Y=H.resolve(X,(B)=>U(Z??$,"TAG_RESOLVE_FAILED",B),q.options);W=Y0.isScalar(Y)?Y:new Z1.Scalar(Y)}catch(Y){let B=Y instanceof Error?Y.message:String(Y);U(Z??$,"TAG_RESOLVE_FAILED",B),W=new Z1.Scalar(X)}if(W.range=G,W.source=X,Q)W.type=Q;if(J)W.tag=J;if(H.format)W.format=H.format;if(z)W.comment=z;return W}function q3(q,$,Z,U,X){if(Z==="!")return q[Y0.SCALAR];let Q=[];for(let G of q.tags)if(!G.collection&&G.tag===Z)if(G.default&&G.test)Q.push(G);else return G;for(let G of Q)if(G.test?.test($))return G;let z=q.knownTags[Z];if(z&&!z.collection)return q.tags.push(Object.assign({},z,{default:!1,test:void 0})),z;return X(U,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Z}`,Z!=="tag:yaml.org,2002:str"),q[Y0.SCALAR]}function $3({atKey:q,directives:$,schema:Z},U,X,Q){let z=Z.tags.find((G)=>(G.default===!0||q&&G.default==="key")&&G.test?.test(U))||Z[Y0.SCALAR];if(Z.compat){let G=Z.compat.find((J)=>J.default&&J.test?.test(U))??Z[Y0.SCALAR];if(z.tag!==G.tag){let J=$.tagString(z.tag),H=$.tagString(G.tag),W=`Value may be parsed as either ${J} or ${H}`;Q(X,"TAG_RESOLVE_FAILED",W,!0)}}return z}Z3.composeScalar=eX});var X1=F((Q3)=>{function X3(q,$,Z){if($){Z??(Z=$.length);for(let U=Z-1;U>=0;--U){let X=$[U];switch(X.type){case"space":case"comment":case"newline":q-=X.source.length;continue}X=$[++U];while(X?.type==="space")q+=X.source.length,X=$[++U];break}}return q}Q3.emptyScalarPosition=X3});var G1=F((T3)=>{var G3=j0(),J3=P(),H3=q1(),Q1=U1(),Y3=D0(),B3=X1(),V3={composeNode:z1,composeEmptyNode:l$};function z1(q,$,Z,U){let X=q.atKey,{spaceBefore:Q,comment:z,anchor:G,tag:J}=Z,H,W=!0;switch($.type){case"alias":if(H=W3(q,$,U),G||J)U($,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(H=Q1.composeScalar(q,$,J,U),G)H.anchor=G.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(H=H3.composeCollection(V3,q,$,Z,U),G)H.anchor=G.source.substring(1);break;default:{let Y=$.type==="error"?$.message:`Unsupported token (type: ${$.type})`;U($,"UNEXPECTED_TOKEN",Y),H=l$(q,$.offset,void 0,null,Z,U),W=!1}}if(G&&H.anchor==="")U(G,"BAD_ALIAS","Anchor cannot be an empty string");if(X&&q.options.stringKeys&&(!J3.isScalar(H)||typeof H.value!=="string"||H.tag&&H.tag!=="tag:yaml.org,2002:str"))U(J??$,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(Q)H.spaceBefore=!0;if(z)if($.type==="scalar"&&$.source==="")H.comment=z;else H.commentBefore=z;if(q.options.keepSourceTokens&&W)H.srcToken=$;return H}function l$(q,$,Z,U,{spaceBefore:X,comment:Q,anchor:z,tag:G,end:J},H){let W={type:"scalar",offset:B3.emptyScalarPosition($,Z,U),indent:-1,source:""},Y=Q1.composeScalar(q,W,G,H);if(z){if(Y.anchor=z.source.substring(1),Y.anchor==="")H(z,"BAD_ALIAS","Anchor cannot be an empty string")}if(X)Y.spaceBefore=!0;if(Q)Y.comment=Q,Y.range[2]=J;return Y}function W3({options:q},{offset:$,source:Z,end:U},X){let Q=new G3.Alias(Z.substring(1));if(Q.source==="")X($,"BAD_ALIAS","Alias cannot be an empty string");if(Q.source.endsWith(":"))X($+Z.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let z=$+Z.length,G=Y3.resolveEnd(U,z,q.strict,X);if(Q.range=[$,z,G.offset],G.comment)Q.comment=G.comment;return Q}T3.composeEmptyNode=l$;T3.composeNode=z1});var H1=F((A3)=>{var I3=d0(),J1=G1(),L3=D0(),F3=c0();function R3(q,$,{offset:Z,start:U,value:X,end:Q},z){let G=Object.assign({_directives:$},q),J=new I3.Document(void 0,G),H={atKey:!1,atRoot:!0,directives:J.directives,options:J.options,schema:J.schema},W=F3.resolveProps(U,{indicator:"doc-start",next:X??Q?.[0],offset:Z,onError:z,parentIndent:0,startOnNewline:!0});if(W.found){if(J.directives.docStart=!0,X&&(X.type==="block-map"||X.type==="block-seq")&&!W.hasNewline)z(W.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}J.contents=X?J1.composeNode(H,X,W,z):J1.composeEmptyNode(H,W.end,U,null,W,z);let Y=J.contents.range[2],B=L3.resolveEnd(Q,Y,!1,z);if(B.comment)J.comment=B.comment;return J.range=[Z,Y,B.offset],J}A3.composeDoc=R3});var c$=F((j3)=>{var K3=y("process"),D3=nq(),w3=d0(),a0=l0(),Y1=P(),P3=H1(),N3=D0();function i0(q){if(typeof q==="number")return[q,q+1];if(Array.isArray(q))return q.length===2?q:[q[0],q[1]];let{offset:$,source:Z}=q;return[$,$+(typeof Z==="string"?Z.length:1)]}function B1(q){let $="",Z=!1,U=!1;for(let X=0;X<q.length;++X){let Q=q[X];switch(Q[0]){case"#":$+=($===""?"":U?`
102
+
103
+ `:`
104
+ `)+(Q.substring(1)||" "),Z=!0,U=!1;break;case"%":if(q[X+1]?.[0]!=="#")X+=1;Z=!1;break;default:if(!Z)U=!0;Z=!1}}return{comment:$,afterEmptyLine:U}}class V1{constructor(q={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=($,Z,U,X)=>{let Q=i0($);if(X)this.warnings.push(new a0.YAMLWarning(Q,Z,U));else this.errors.push(new a0.YAMLParseError(Q,Z,U))},this.directives=new D3.Directives({version:q.version||"1.2"}),this.options=q}decorate(q,$){let{comment:Z,afterEmptyLine:U}=B1(this.prelude);if(Z){let X=q.contents;if($)q.comment=q.comment?`${q.comment}
105
+ ${Z}`:Z;else if(U||q.directives.docStart||!X)q.commentBefore=Z;else if(Y1.isCollection(X)&&!X.flow&&X.items.length>0){let Q=X.items[0];if(Y1.isPair(Q))Q=Q.key;let z=Q.commentBefore;Q.commentBefore=z?`${Z}
106
+ ${z}`:Z}else{let Q=X.commentBefore;X.commentBefore=Q?`${Z}
107
+ ${Q}`:Z}}if($)Array.prototype.push.apply(q.errors,this.errors),Array.prototype.push.apply(q.warnings,this.warnings);else q.errors=this.errors,q.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:B1(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(q,$=!1,Z=-1){for(let U of q)yield*this.next(U);yield*this.end($,Z)}*next(q){if(K3.env.LOG_STREAM)console.dir(q,{depth:null});switch(q.type){case"directive":this.directives.add(q.source,($,Z,U)=>{let X=i0(q);X[0]+=$,this.onError(X,"BAD_DIRECTIVE",Z,U)}),this.prelude.push(q.source),this.atDirectives=!0;break;case"document":{let $=P3.composeDoc(this.options,this.directives,q,this.onError);if(this.atDirectives&&!$.directives.docStart)this.onError(q,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate($,!1),this.doc)yield this.doc;this.doc=$,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(q.source);break;case"error":{let $=q.source?`${q.message}: ${JSON.stringify(q.source)}`:q.message,Z=new a0.YAMLParseError(i0(q),"UNEXPECTED_TOKEN",$);if(this.atDirectives||!this.doc)this.errors.push(Z);else this.doc.errors.push(Z);break}case"doc-end":{if(!this.doc){this.errors.push(new a0.YAMLParseError(i0(q),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let $=N3.resolveEnd(q.end,q.offset+q.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),$.comment){let Z=this.doc.comment;this.doc.comment=Z?`${Z}
108
+ ${$.comment}`:$.comment}this.doc.range[2]=$.offset;break}default:this.errors.push(new a0.YAMLParseError(i0(q),"UNEXPECTED_TOKEN",`Unsupported token ${q.type}`))}}*end(q=!1,$=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(q){let Z=Object.assign({_directives:this.directives},this.options),U=new w3.Document(void 0,Z);if(this.atDirectives)this.onError($,"MISSING_CHAR","Missing directives-end indicator line");U.range=[0,$,$],this.decorate(U,!1),yield U}}}j3.Composer=V1});var O1=F((h3)=>{var b3=m$(),S3=d$(),E3=l0(),W1=E0();function f3(q,$=!0,Z){if(q){let U=(X,Q,z)=>{let G=typeof X==="number"?X:Array.isArray(X)?X[0]:X.offset;if(Z)Z(G,Q,z);else throw new E3.YAMLParseError([G,G+1],Q,z)};switch(q.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return S3.resolveFlowScalar(q,$,U);case"block-scalar":return b3.resolveBlockScalar({options:{strict:$}},q,U)}}return null}function y3(q,$){let{implicitKey:Z=!1,indent:U,inFlow:X=!1,offset:Q=-1,type:z="PLAIN"}=$,G=W1.stringifyString({type:z,value:q},{implicitKey:Z,indent:U>0?" ".repeat(U):"",inFlow:X,options:{blockQuote:!0,lineWidth:-1}}),J=$.end??[{type:"newline",offset:-1,indent:U,source:`
109
+ `}];switch(G[0]){case"|":case">":{let H=G.indexOf(`
110
+ `),W=G.substring(0,H),Y=G.substring(H+1)+`
111
+ `,B=[{type:"block-scalar-header",offset:Q,indent:U,source:W}];if(!T1(B,J))B.push({type:"newline",offset:-1,indent:U,source:`
112
+ `});return{type:"block-scalar",offset:Q,indent:U,props:B,source:Y}}case'"':return{type:"double-quoted-scalar",offset:Q,indent:U,source:G,end:J};case"'":return{type:"single-quoted-scalar",offset:Q,indent:U,source:G,end:J};default:return{type:"scalar",offset:Q,indent:U,source:G,end:J}}}function x3(q,$,Z={}){let{afterKey:U=!1,implicitKey:X=!1,inFlow:Q=!1,type:z}=Z,G="indent"in q?q.indent:null;if(U&&typeof G==="number")G+=2;if(!z)switch(q.type){case"single-quoted-scalar":z="QUOTE_SINGLE";break;case"double-quoted-scalar":z="QUOTE_DOUBLE";break;case"block-scalar":{let H=q.props[0];if(H.type!=="block-scalar-header")throw Error("Invalid block scalar header");z=H.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:z="PLAIN"}let J=W1.stringifyString({type:z,value:$},{implicitKey:X||G===null,indent:G!==null&&G>0?" ".repeat(G):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}});switch(J[0]){case"|":case">":g3(q,J);break;case'"':a$(q,J,"double-quoted-scalar");break;case"'":a$(q,J,"single-quoted-scalar");break;default:a$(q,J,"scalar")}}function g3(q,$){let Z=$.indexOf(`
113
+ `),U=$.substring(0,Z),X=$.substring(Z+1)+`
114
+ `;if(q.type==="block-scalar"){let Q=q.props[0];if(Q.type!=="block-scalar-header")throw Error("Invalid block scalar header");Q.source=U,q.source=X}else{let{offset:Q}=q,z="indent"in q?q.indent:-1,G=[{type:"block-scalar-header",offset:Q,indent:z,source:U}];if(!T1(G,"end"in q?q.end:void 0))G.push({type:"newline",offset:-1,indent:z,source:`
115
+ `});for(let J of Object.keys(q))if(J!=="type"&&J!=="offset")delete q[J];Object.assign(q,{type:"block-scalar",indent:z,props:G,source:X})}}function T1(q,$){if($)for(let Z of $)switch(Z.type){case"space":case"comment":q.push(Z);break;case"newline":return q.push(Z),!0}return!1}function a$(q,$,Z){switch(q.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":q.type=Z,q.source=$;break;case"block-scalar":{let U=q.props.slice(1),X=$.length;if(q.props[0].type==="block-scalar-header")X-=q.props[0].source.length;for(let Q of U)Q.offset+=X;delete q.props,Object.assign(q,{type:Z,source:$,end:U});break}case"block-map":case"block-seq":{let X={type:"newline",offset:q.offset+$.length,indent:q.indent,source:`
116
+ `};delete q.items,Object.assign(q,{type:Z,source:$,end:[X]});break}default:{let U="indent"in q?q.indent:-1,X="end"in q&&Array.isArray(q.end)?q.end.filter((Q)=>Q.type==="space"||Q.type==="comment"||Q.type==="newline"):[];for(let Q of Object.keys(q))if(Q!=="type"&&Q!=="offset")delete q[Q];Object.assign(q,{type:Z,indent:U,source:$,end:X})}}}h3.createScalarToken=y3;h3.resolveAsScalar=f3;h3.setScalarValue=x3});var _1=F((p3)=>{var m3=(q)=>("type"in q)?kq(q):hq(q);function kq(q){switch(q.type){case"block-scalar":{let $="";for(let Z of q.props)$+=kq(Z);return $+q.source}case"block-map":case"block-seq":{let $="";for(let Z of q.items)$+=hq(Z);return $}case"flow-collection":{let $=q.start.source;for(let Z of q.items)$+=hq(Z);for(let Z of q.end)$+=Z.source;return $}case"document":{let $=hq(q);if(q.end)for(let Z of q.end)$+=Z.source;return $}default:{let $=q.source;if("end"in q&&q.end)for(let Z of q.end)$+=Z.source;return $}}}function hq({start:q,key:$,sep:Z,value:U}){let X="";for(let Q of q)X+=Q.source;if($)X+=kq($);if(Z)for(let Q of Z)X+=Q.source;if(U)X+=kq(U);return X}p3.stringify=m3});var F1=F((c3)=>{var i$=Symbol("break visit"),l3=Symbol("skip children"),I1=Symbol("remove item");function B0(q,$){if("type"in q&&q.type==="document")q={start:q.start,value:q.value};L1(Object.freeze([]),q,$)}B0.BREAK=i$;B0.SKIP=l3;B0.REMOVE=I1;B0.itemAtPath=(q,$)=>{let Z=q;for(let[U,X]of $){let Q=Z?.[U];if(Q&&"items"in Q)Z=Q.items[X];else return}return Z};B0.parentCollection=(q,$)=>{let Z=B0.itemAtPath(q,$.slice(0,-1)),U=$[$.length-1][0],X=Z?.[U];if(X&&"items"in X)return X;throw Error("Parent collection not found")};function L1(q,$,Z){let U=Z($,q);if(typeof U==="symbol")return U;for(let X of["key","value"]){let Q=$[X];if(Q&&"items"in Q){for(let z=0;z<Q.items.length;++z){let G=L1(Object.freeze(q.concat([[X,z]])),Q.items[z],Z);if(typeof G==="number")z=G-1;else if(G===i$)return i$;else if(G===I1)Q.items.splice(z,1),z-=1}if(typeof U==="function"&&X==="key")U=U($,q)}}return typeof U==="function"?U($,q):U}c3.visit=B0});var uq=F((e3)=>{var s$=O1(),i3=_1(),s3=F1(),n$="\uFEFF",r$="\x02",o$="\x18",t$="\x1F",n3=(q)=>!!q&&("items"in q),r3=(q)=>!!q&&(q.type==="scalar"||q.type==="single-quoted-scalar"||q.type==="double-quoted-scalar"||q.type==="block-scalar");function o3(q){switch(q){case n$:return"<BOM>";case r$:return"<DOC>";case o$:return"<FLOW_END>";case t$:return"<SCALAR>";default:return JSON.stringify(q)}}function t3(q){switch(q){case n$:return"byte-order-mark";case r$:return"doc-mode";case o$:return"flow-error-end";case t$:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
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(q[0]){case" ":case"\t":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}e3.createScalarToken=s$.createScalarToken;e3.resolveAsScalar=s$.resolveAsScalar;e3.setScalarValue=s$.setScalarValue;e3.stringify=i3.stringify;e3.visit=s3.visit;e3.BOM=n$;e3.DOCUMENT=r$;e3.FLOW_END=o$;e3.SCALAR=t$;e3.isCollection=n3;e3.isScalar=r3;e3.prettyToken=o3;e3.tokenType=t3});var q2=F((O7)=>{var s0=uq();function u(q){switch(q){case void 0:case" ":case`
119
+ `:case"\r":case"\t":return!0;default:return!1}}var R1=new Set("0123456789ABCDEFabcdef"),W7=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),vq=new Set(",[]{}"),T7=new Set(` ,[]{}
120
+ \r `),e$=(q)=>!q||T7.has(q);class A1{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(q,$=!1){if(q){if(typeof q!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+q:q,this.lineEndPos=null}this.atEnd=!$;let Z=this.next??"stream";while(Z&&($||this.hasChars(1)))Z=yield*this.parseNext(Z)}atLineEnd(){let q=this.pos,$=this.buffer[q];while($===" "||$==="\t")$=this.buffer[++q];if(!$||$==="#"||$===`
121
+ `)return!0;if($==="\r")return this.buffer[q+1]===`
122
+ `;return!1}charAt(q){return this.buffer[this.pos+q]}continueScalar(q){let $=this.buffer[q];if(this.indentNext>0){let Z=0;while($===" ")$=this.buffer[++Z+q];if($==="\r"){let U=this.buffer[Z+q+1];if(U===`
123
+ `||!U&&!this.atEnd)return q+Z+1}return $===`
124
+ `||Z>=this.indentNext||!$&&!this.atEnd?q+Z:-1}if($==="-"||$==="."){let Z=this.buffer.substr(q,3);if((Z==="---"||Z==="...")&&u(this.buffer[q+3]))return-1}return q}getLine(){let q=this.lineEndPos;if(typeof q!=="number"||q!==-1&&q<this.pos)q=this.buffer.indexOf(`
125
+ `,this.pos),this.lineEndPos=q;if(q===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[q-1]==="\r")q-=1;return this.buffer.substring(this.pos,q)}hasChars(q){return this.pos+q<=this.buffer.length}setNext(q){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=q,null}peek(q){return this.buffer.substr(this.pos,q)}*parseNext(q){switch(q){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 q=this.getLine();if(q===null)return this.setNext("stream");if(q[0]===s0.BOM)yield*this.pushCount(1),q=q.substring(1);if(q[0]==="%"){let $=q.length,Z=q.indexOf("#");while(Z!==-1){let X=q[Z-1];if(X===" "||X==="\t"){$=Z-1;break}else Z=q.indexOf("#",Z+1)}while(!0){let X=q[$-1];if(X===" "||X==="\t")$-=1;else break}let U=(yield*this.pushCount($))+(yield*this.pushSpaces(!0));return yield*this.pushCount(q.length-U),this.pushNewline(),"stream"}if(this.atLineEnd()){let $=yield*this.pushSpaces(!0);return yield*this.pushCount(q.length-$),yield*this.pushNewline(),"stream"}return yield s0.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let q=this.charAt(0);if(!q&&!this.atEnd)return this.setNext("line-start");if(q==="-"||q==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let $=this.peek(3);if(($==="---"||$==="...")&&u(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,$==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!u(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[q,$]=this.peek(2);if(!$&&!this.atEnd)return this.setNext("block-start");if((q==="-"||q==="?"||q===":")&&u($)){let Z=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=Z,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let q=this.getLine();if(q===null)return this.setNext("doc");let $=yield*this.pushIndicators();switch(q[$]){case"#":yield*this.pushCount(q.length-$);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(e$),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return $+=yield*this.parseBlockScalarHeader(),$+=yield*this.pushSpaces(!0),yield*this.pushCount(q.length-$),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let q,$,Z=-1;do{if(q=yield*this.pushNewline(),q>0)$=yield*this.pushSpaces(!1),this.indentValue=Z=$;else $=0;$+=yield*this.pushSpaces(!0)}while(q+$>0);let U=this.getLine();if(U===null)return this.setNext("flow");if(Z!==-1&&Z<this.indentNext&&U[0]!=="#"||Z===0&&(U.startsWith("---")||U.startsWith("..."))&&u(U[3])){if(!(Z===this.indentNext-1&&this.flowLevel===1&&(U[0]==="]"||U[0]==="}")))return this.flowLevel=0,yield s0.FLOW_END,yield*this.parseLineStart()}let X=0;while(U[X]===",")X+=yield*this.pushCount(1),X+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(X+=yield*this.pushIndicators(),U[X]){case void 0:return"flow";case"#":return yield*this.pushCount(U.length-X),"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(e$),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let Q=this.charAt(1);if(this.flowKey||u(Q)||Q===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let q=this.charAt(0),$=this.buffer.indexOf(q,this.pos+1);if(q==="'")while($!==-1&&this.buffer[$+1]==="'")$=this.buffer.indexOf("'",$+2);else while($!==-1){let X=0;while(this.buffer[$-1-X]==="\\")X+=1;if(X%2===0)break;$=this.buffer.indexOf('"',$+1)}let Z=this.buffer.substring(0,$),U=Z.indexOf(`
126
+ `,this.pos);if(U!==-1){while(U!==-1){let X=this.continueScalar(U+1);if(X===-1)break;U=Z.indexOf(`
127
+ `,X)}if(U!==-1)$=U-(Z[U-1]==="\r"?2:1)}if($===-1){if(!this.atEnd)return this.setNext("quoted-scalar");$=this.buffer.length}return yield*this.pushToIndex($+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let q=this.pos;while(!0){let $=this.buffer[++q];if($==="+")this.blockScalarKeep=!0;else if($>"0"&&$<="9")this.blockScalarIndent=Number($)-1;else if($!=="-")break}return yield*this.pushUntil(($)=>u($)||$==="#")}*parseBlockScalar(){let q=this.pos-1,$=0,Z;q:for(let X=this.pos;Z=this.buffer[X];++X)switch(Z){case" ":$+=1;break;case`
128
+ `:q=X,$=0;break;case"\r":{let Q=this.buffer[X+1];if(!Q&&!this.atEnd)return this.setNext("block-scalar");if(Q===`
129
+ `)break}default:break q}if(!Z&&!this.atEnd)return this.setNext("block-scalar");if($>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=$;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let X=this.continueScalar(q+1);if(X===-1)break;q=this.buffer.indexOf(`
130
+ `,X)}while(q!==-1);if(q===-1){if(!this.atEnd)return this.setNext("block-scalar");q=this.buffer.length}}let U=q+1;Z=this.buffer[U];while(Z===" ")Z=this.buffer[++U];if(Z==="\t"){while(Z==="\t"||Z===" "||Z==="\r"||Z===`
131
+ `)Z=this.buffer[++U];q=U-1}else if(!this.blockScalarKeep)do{let X=q-1,Q=this.buffer[X];if(Q==="\r")Q=this.buffer[--X];let z=X;while(Q===" ")Q=this.buffer[--X];if(Q===`
132
+ `&&X>=this.pos&&X+1+$>z)q=X;else break}while(!0);return yield s0.SCALAR,yield*this.pushToIndex(q+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let q=this.flowLevel>0,$=this.pos-1,Z=this.pos-1,U;while(U=this.buffer[++Z])if(U===":"){let X=this.buffer[Z+1];if(u(X)||q&&vq.has(X))break;$=Z}else if(u(U)){let X=this.buffer[Z+1];if(U==="\r")if(X===`
133
+ `)Z+=1,U=`
134
+ `,X=this.buffer[Z+1];else $=Z;if(X==="#"||q&&vq.has(X))break;if(U===`
135
+ `){let Q=this.continueScalar(Z+1);if(Q===-1)break;Z=Math.max(Z,Q-2)}}else{if(q&&vq.has(U))break;$=Z}if(!U&&!this.atEnd)return this.setNext("plain-scalar");return yield s0.SCALAR,yield*this.pushToIndex($+1,!0),q?"flow":"doc"}*pushCount(q){if(q>0)return yield this.buffer.substr(this.pos,q),this.pos+=q,q;return 0}*pushToIndex(q,$){let Z=this.buffer.slice(this.pos,q);if(Z)return yield Z,this.pos+=Z.length,Z.length;else if($)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(e$))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let q=this.flowLevel>0,$=this.charAt(1);if(u($)||q&&vq.has($)){if(!q)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let q=this.pos+2,$=this.buffer[q];while(!u($)&&$!==">")$=this.buffer[++q];return yield*this.pushToIndex($===">"?q+1:q,!1)}else{let q=this.pos+1,$=this.buffer[q];while($)if(W7.has($))$=this.buffer[++q];else if($==="%"&&R1.has(this.buffer[q+1])&&R1.has(this.buffer[q+2]))$=this.buffer[q+=3];else break;return yield*this.pushToIndex(q,!1)}}*pushNewline(){let q=this.buffer[this.pos];if(q===`
136
+ `)return yield*this.pushCount(1);else if(q==="\r"&&this.charAt(1)===`
137
+ `)return yield*this.pushCount(2);else return 0}*pushSpaces(q){let $=this.pos-1,Z;do Z=this.buffer[++$];while(Z===" "||q&&Z==="\t");let U=$-this.pos;if(U>0)yield this.buffer.substr(this.pos,U),this.pos=$;return U}*pushUntil(q){let $=this.pos,Z=this.buffer[$];while(!q(Z))Z=this.buffer[++$];return yield*this.pushToIndex($,!1)}}O7.Lexer=A1});var $2=F((I7)=>{class M1{constructor(){this.lineStarts=[],this.addNewLine=(q)=>this.lineStarts.push(q),this.linePos=(q)=>{let $=0,Z=this.lineStarts.length;while($<Z){let X=$+Z>>1;if(this.lineStarts[X]<q)$=X+1;else Z=X}if(this.lineStarts[$]===q)return{line:$+1,col:1};if($===0)return{line:0,col:q};let U=this.lineStarts[$-1];return{line:$,col:q-U+1}}}}I7.LineCounter=M1});var Z2=F((A7)=>{var F7=y("process"),K1=uq(),R7=q2();function $0(q,$){for(let Z=0;Z<q.length;++Z)if(q[Z].type===$)return!0;return!1}function D1(q){for(let $=0;$<q.length;++$)switch(q[$].type){case"space":case"comment":case"newline":break;default:return $}return-1}function P1(q){switch(q?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function mq(q){switch(q.type){case"document":return q.start;case"block-map":{let $=q.items[q.items.length-1];return $.sep??$.start}case"block-seq":return q.items[q.items.length-1].start;default:return[]}}function w0(q){if(q.length===0)return[];let $=q.length;q:while(--$>=0)switch(q[$].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break q}while(q[++$]?.type==="space");return q.splice($,q.length)}function w1(q){if(q.start.type==="flow-seq-start"){for(let $ of q.items)if($.sep&&!$.value&&!$0($.start,"explicit-key-ind")&&!$0($.sep,"map-value-ind")){if($.key)$.value=$.key;if(delete $.key,P1($.value))if($.value.end)Array.prototype.push.apply($.value.end,$.sep);else $.value.end=$.sep;else Array.prototype.push.apply($.start,$.sep);delete $.sep}}}class N1{constructor(q){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new R7.Lexer,this.onNewLine=q}*parse(q,$=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let Z of this.lexer.lex(q,$))yield*this.next(Z);if(!$)yield*this.end()}*next(q){if(this.source=q,F7.env.LOG_TOKENS)console.log("|",K1.prettyToken(q));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=q.length;return}let $=K1.tokenType(q);if(!$){let Z=`Not a YAML token: ${q}`;yield*this.pop({type:"error",offset:this.offset,message:Z,source:q}),this.offset+=q.length}else if($==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=$,yield*this.step(),$){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+q.length);break;case"space":if(this.atNewLine&&q[0]===" ")this.indent+=q.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=q.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=q.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let q=this.peek(1);if(this.type==="doc-end"&&q?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!q)return yield*this.stream();switch(q.type){case"document":return yield*this.document(q);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(q);case"block-scalar":return yield*this.blockScalar(q);case"block-map":return yield*this.blockMap(q);case"block-seq":return yield*this.blockSequence(q);case"flow-collection":return yield*this.flowCollection(q);case"doc-end":return yield*this.documentEnd(q)}yield*this.pop()}peek(q){return this.stack[this.stack.length-q]}*pop(q){let $=q??this.stack.pop();if(!$)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield $;else{let Z=this.peek(1);if($.type==="block-scalar")$.indent="indent"in Z?Z.indent:0;else if($.type==="flow-collection"&&Z.type==="document")$.indent=0;if($.type==="flow-collection")w1($);switch(Z.type){case"document":Z.value=$;break;case"block-scalar":Z.props.push($);break;case"block-map":{let U=Z.items[Z.items.length-1];if(U.value){Z.items.push({start:[],key:$,sep:[]}),this.onKeyLine=!0;return}else if(U.sep)U.value=$;else{Object.assign(U,{key:$,sep:[]}),this.onKeyLine=!U.explicitKey;return}break}case"block-seq":{let U=Z.items[Z.items.length-1];if(U.value)Z.items.push({start:[],value:$});else U.value=$;break}case"flow-collection":{let U=Z.items[Z.items.length-1];if(!U||U.value)Z.items.push({start:[],key:$,sep:[]});else if(U.sep)U.value=$;else Object.assign(U,{key:$,sep:[]});return}default:yield*this.pop(),yield*this.pop($)}if((Z.type==="document"||Z.type==="block-map"||Z.type==="block-seq")&&($.type==="block-map"||$.type==="block-seq")){let U=$.items[$.items.length-1];if(U&&!U.sep&&!U.value&&U.start.length>0&&D1(U.start)===-1&&($.indent===0||U.start.every((X)=>X.type!=="comment"||X.indent<$.indent))){if(Z.type==="document")Z.end=U.start;else Z.items.push({start:U.start});$.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 q={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")q.start.push(this.sourceToken);this.stack.push(q);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(q){if(q.value)return yield*this.lineEnd(q);switch(this.type){case"doc-start":{if(D1(q.start)!==-1)yield*this.pop(),yield*this.step();else q.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":q.start.push(this.sourceToken);return}let $=this.startBlockValue(q);if($)this.stack.push($);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(q){if(this.type==="map-value-ind"){let $=mq(this.peek(2)),Z=w0($),U;if(q.end)U=q.end,U.push(this.sourceToken),delete q.end;else U=[this.sourceToken];let X={type:"block-map",offset:q.offset,indent:q.indent,items:[{start:Z,key:q,sep:U}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=X}else yield*this.lineEnd(q)}*blockScalar(q){switch(this.type){case"space":case"comment":case"newline":q.props.push(this.sourceToken);return;case"scalar":if(q.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let $=this.source.indexOf(`
138
+ `)+1;while($!==0)this.onNewLine(this.offset+$),$=this.source.indexOf(`
139
+ `,$)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(q){let $=q.items[q.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,$.value){let Z="end"in $.value?$.value.end:void 0;if((Array.isArray(Z)?Z[Z.length-1]:void 0)?.type==="comment")Z?.push(this.sourceToken);else q.items.push({start:[this.sourceToken]})}else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"space":case"comment":if($.value)q.items.push({start:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else{if(this.atIndentedComment($.start,q.indent)){let U=q.items[q.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,$.start),U.push(this.sourceToken),q.items.pop();return}}$.start.push(this.sourceToken)}return}if(this.indent>=q.indent){let Z=!this.onKeyLine&&this.indent===q.indent,U=Z&&($.sep||$.explicitKey)&&this.type!=="seq-item-ind",X=[];if(U&&$.sep&&!$.value){let Q=[];for(let z=0;z<$.sep.length;++z){let G=$.sep[z];switch(G.type){case"newline":Q.push(z);break;case"space":break;case"comment":if(G.indent>q.indent)Q.length=0;break;default:Q.length=0}}if(Q.length>=2)X=$.sep.splice(Q[1])}switch(this.type){case"anchor":case"tag":if(U||$.value)X.push(this.sourceToken),q.items.push({start:X}),this.onKeyLine=!0;else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"explicit-key-ind":if(!$.sep&&!$.explicitKey)$.start.push(this.sourceToken),$.explicitKey=!0;else if(U||$.value)X.push(this.sourceToken),q.items.push({start:X,explicitKey:!0});else 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($.explicitKey)if(!$.sep)if($0($.start,"newline"))Object.assign($,{key:null,sep:[this.sourceToken]});else{let Q=w0($.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]})}else if($.value)q.items.push({start:[],key:null,sep:[this.sourceToken]});else if($0($.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:X,key:null,sep:[this.sourceToken]}]});else if(P1($.key)&&!$0($.sep,"newline")){let Q=w0($.start),z=$.key,G=$.sep;G.push(this.sourceToken),delete $.key,delete $.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:z,sep:G}]})}else if(X.length>0)$.sep=$.sep.concat(X,this.sourceToken);else $.sep.push(this.sourceToken);else if(!$.sep)Object.assign($,{key:null,sep:[this.sourceToken]});else if($.value||U)q.items.push({start:X,key:null,sep:[this.sourceToken]});else if($0($.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else $.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Q=this.flowScalar(this.type);if(U||$.value)q.items.push({start:X,key:Q,sep:[]}),this.onKeyLine=!0;else if($.sep)this.stack.push(Q);else Object.assign($,{key:Q,sep:[]}),this.onKeyLine=!0;return}default:{let Q=this.startBlockValue(q);if(Q){if(Q.type==="block-seq"){if(!$.explicitKey&&$.sep&&!$0($.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 if(Z)q.items.push({start:X});this.stack.push(Q);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(q){let $=q.items[q.items.length-1];switch(this.type){case"newline":if($.value){let Z="end"in $.value?$.value.end:void 0;if((Array.isArray(Z)?Z[Z.length-1]:void 0)?.type==="comment")Z?.push(this.sourceToken);else q.items.push({start:[this.sourceToken]})}else $.start.push(this.sourceToken);return;case"space":case"comment":if($.value)q.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment($.start,q.indent)){let U=q.items[q.items.length-2]?.value?.end;if(Array.isArray(U)){Array.prototype.push.apply(U,$.start),U.push(this.sourceToken),q.items.pop();return}}$.start.push(this.sourceToken)}return;case"anchor":case"tag":if($.value||this.indent<=q.indent)break;$.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==q.indent)break;if($.value||$0($.start,"seq-item-ind"))q.items.push({start:[this.sourceToken]});else $.start.push(this.sourceToken);return}if(this.indent>q.indent){let Z=this.startBlockValue(q);if(Z){this.stack.push(Z);return}}yield*this.pop(),yield*this.step()}*flowCollection(q){let $=q.items[q.items.length-1];if(this.type==="flow-error-end"){let Z;do yield*this.pop(),Z=this.peek(1);while(Z?.type==="flow-collection")}else if(q.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!$||$.sep)q.items.push({start:[this.sourceToken]});else $.start.push(this.sourceToken);return;case"map-value-ind":if(!$||$.value)q.items.push({start:[],key:null,sep:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else Object.assign($,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!$||$.value)q.items.push({start:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let U=this.flowScalar(this.type);if(!$||$.value)q.items.push({start:[],key:U,sep:[]});else if($.sep)this.stack.push(U);else Object.assign($,{key:U,sep:[]});return}case"flow-map-end":case"flow-seq-end":q.end.push(this.sourceToken);return}let Z=this.startBlockValue(q);if(Z)this.stack.push(Z);else yield*this.pop(),yield*this.step()}else{let Z=this.peek(2);if(Z.type==="block-map"&&(this.type==="map-value-ind"&&Z.indent===q.indent||this.type==="newline"&&!Z.items[Z.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&Z.type!=="flow-collection"){let U=mq(Z),X=w0(U);w1(q);let Q=q.end.splice(1,q.end.length);Q.push(this.sourceToken);let z={type:"block-map",offset:q.offset,indent:q.indent,items:[{start:X,key:q,sep:Q}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=z}else yield*this.lineEnd(q)}}flowScalar(q){if(this.onNewLine){let $=this.source.indexOf(`
140
+ `)+1;while($!==0)this.onNewLine(this.offset+$),$=this.source.indexOf(`
141
+ `,$)+1}return{type:q,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(q){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 $=mq(q),Z=w0($);return Z.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Z,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let $=mq(q),Z=w0($);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Z,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(q,$){if(this.type!=="comment")return!1;if(this.indent<=$)return!1;return q.every((Z)=>Z.type==="newline"||Z.type==="space")}*documentEnd(q){if(this.type!=="doc-mode"){if(q.end)q.end.push(this.sourceToken);else q.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(q){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;case"space":case"comment":default:if(q.end)q.end.push(this.sourceToken);else q.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}A7.Parser=N1});var E1=F((b7)=>{var j1=c$(),K7=d0(),n0=l0(),D7=$$(),w7=P(),P7=$2(),C1=Z2();function b1(q){let $=q.prettyErrors!==!1;return{lineCounter:q.lineCounter||$&&new P7.LineCounter||null,prettyErrors:$}}function N7(q,$={}){let{lineCounter:Z,prettyErrors:U}=b1($),X=new C1.Parser(Z?.addNewLine),Q=new j1.Composer($),z=Array.from(Q.compose(X.parse(q)));if(U&&Z)for(let G of z)G.errors.forEach(n0.prettifyError(q,Z)),G.warnings.forEach(n0.prettifyError(q,Z));if(z.length>0)return z;return Object.assign([],{empty:!0},Q.streamInfo())}function S1(q,$={}){let{lineCounter:Z,prettyErrors:U}=b1($),X=new C1.Parser(Z?.addNewLine),Q=new j1.Composer($),z=null;for(let G of Q.compose(X.parse(q),!0,q.length))if(!z)z=G;else if(z.options.logLevel!=="silent"){z.errors.push(new n0.YAMLParseError(G.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(U&&Z)z.errors.forEach(n0.prettifyError(q,Z)),z.warnings.forEach(n0.prettifyError(q,Z));return z}function j7(q,$,Z){let U=void 0;if(typeof $==="function")U=$;else if(Z===void 0&&$&&typeof $==="object")Z=$;let X=S1(q,Z);if(!X)return null;if(X.warnings.forEach((Q)=>D7.warn(X.options.logLevel,Q)),X.errors.length>0)if(X.options.logLevel!=="silent")throw X.errors[0];else X.errors=[];return X.toJS(Object.assign({reviver:U},Z))}function C7(q,$,Z){let U=null;if(typeof $==="function"||Array.isArray($))U=$;else if(Z===void 0&&$)Z=$;if(typeof Z==="string")Z=Z.length;if(typeof Z==="number"){let X=Math.round(Z);Z=X<1?void 0:X>8?{indent:8}:{indent:X}}if(q===void 0){let{keepUndefined:X}=Z??$??{};if(!X)return}if(w7.isDocument(q)&&!U)return q.toString(Z);return new K7.Document(q,U,Z).toString(Z)}b7.parse=j7;b7.parseAllDocuments=N7;b7.parseDocument=S1;b7.stringify=C7});import{execFile as J4}from"child_process";import{promisify as H4}from"util";import{mkdtemp as Y4,readdir as O2,readFile as o0,rm as r0,cp as B4,access as lq,stat as _2,lstat as V4,symlink as W4,mkdir as T4}from"fs/promises";import{join as l,relative as O4}from"path";import{tmpdir as _4}from"os";var I2=H4(J4),I4=/^[a-zA-Z0-9_-]+$/,L4=/^[a-zA-Z0-9._-]+$/,F4=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/,T2=128,R4=/^https?:\/\/github\.com\/([^/]+)\/([^/]+?)(?:\/tree\/(.+))?\/?$/;function L2(q){let $=R4.exec(q);if($){let[,W,Y,B]=$,_=Y.endsWith(".git")?Y.slice(0,-4):Y;q=`github:${W}/${_}${B?`#${B}`:""}`}if(!q.startsWith("github:"))throw Error(`Invalid source format. Got: "${q}"
4
142
  Supported formats:
5
143
  github:owner/repo[#ref]
6
- https://github.com/owner/repo`);let K=$.slice(7),q=K.indexOf("#"),Z,z=null;if(q!==-1){if(Z=K.slice(0,q),z=K.slice(q+1),!z)throw Error("Invalid source: ref cannot be empty after #")}else Z=K;let Y=Z.indexOf("/");if(Y===-1)throw Error(`Invalid source: format must be github:owner/repo. Got: "${$}"`);let U=Z.slice(0,Y),V=Z.slice(Y+1);if(!U)throw Error("Invalid source: owner cannot be empty");if(!V)throw Error("Invalid source: repo cannot be empty");if(!o0.test(U))throw Error(`Invalid source: owner contains invalid characters: "${U}". Allowed: [a-zA-Z0-9_-]`);if(!n0.test(V))throw Error(`Invalid source: repo contains invalid characters: "${V}". Allowed: [a-zA-Z0-9._-]`);let J={owner:U,repo:V,ref:z,cloneUrl:`https://github.com/${U}/${V}.git`};return H(`install: parsed source -> owner=${U} repo=${V} ref=${z}`),J}function b($){if(!$)throw Error("Invalid skill name: name cannot be empty");if($.includes("\x00"))throw Error("Invalid skill name: contains unsafe characters (null byte)");if($.includes(".."))throw Error("Invalid skill name: contains unsafe characters (..)");if($.includes("/")||$.includes("\\"))throw Error("Invalid skill name: contains unsafe characters (path separator)");if($.startsWith("."))throw Error("Invalid skill name: must not start with a dot");if($.length>s)throw Error(`Invalid skill name: exceeds maximum length of ${s} characters`);if(!t0.test($))throw Error(`Invalid skill name: "${$}" does not match allowed pattern [a-zA-Z0-9][a-zA-Z0-9._-]*`);return $}async function Q0(){try{await r("git",["--version"]),H("install: git available")}catch{throw Error("git is required for installing skills. Install git from https://git-scm.com")}}async function Z0($){H(`install: cloning ${$.cloneUrl}${$.ref?` (ref: ${$.ref})`:""}`);let Q=await h0(E(g0(),"asm-install-")),K=["clone","--depth","1"];if($.ref)K.push("--branch",$.ref);K.push($.cloneUrl,Q);try{await r("git",K,{timeout:60000})}catch(q){await f(Q);let Z=q.killed?"Clone timed out after 60 seconds":`Clone failed: ${q.stderr||q.message}`;throw Error(Z)}return Q}async function k($){let Q=E($,"SKILL.md"),K;try{K=await D(Q,"utf-8")}catch{throw Error("Not a valid skill: SKILL.md not found in repository root")}let q=N(K),Z=$.split("/").pop()||"unknown",z=q.name||Z,Y=q.version||"0.0.0";return H(`install: validated skill "${z}" v${Y}`),{name:z,version:Y,description:(q.description||"").replace(/\s*\n\s*/g," ").trim()}}async function K0($,Q=3){let K=[];async function q(Z,z,Y){let U;try{U=await e(Z)}catch{return}for(let V of U){if(V===".git"||V==="node_modules")continue;let J=E(Z,V);try{if(!(await a(J)).isDirectory())continue}catch{continue}let W=z?`${z}/${V}`:V,M=Y+1,B=E(J,"SKILL.md");try{let O=await D(B,"utf-8"),G=N(O);K.push({relPath:W,name:G.name||V,version:G.version||"0.0.0",description:(G.description||"").replace(/\s*\n\s*/g," ").trim()})}catch{if(M<Q)await q(J,W,M)}}}return await q($,"",0),K.sort((Z,z)=>Z.name.localeCompare(z.name)),K}var i0=[{category:"Shell commands",pattern:/\b(bash|sh\s+-c)\b/},{category:"Shell commands",pattern:/\bexec\(/},{category:"Shell commands",pattern:/\bchild_process\b/},{category:"Shell commands",pattern:/\bBun\.spawn\b/},{category:"Code execution",pattern:/\beval\(/},{category:"Code execution",pattern:/\bFunction\(/},{category:"Code execution",pattern:/\bnew\s+Function\b/},{category:"Credentials",pattern:/\b(API_KEY|SECRET|TOKEN|PASSWORD)\s*[=:]/},{category:"External URLs",pattern:/https?:\/\//}],s0=new Set([".png",".jpg",".jpeg",".gif",".ico",".bmp",".webp",".mp3",".mp4",".wav",".avi",".mov",".zip",".tar",".gz",".bz2",".7z",".exe",".dll",".so",".dylib",".woff",".woff2",".ttf",".eot",".pdf",".doc",".docx"]);async function e0($){let Q=[];async function K(q,Z){let z;try{z=await e(q)}catch{return}for(let Y of z){if(Y===".git")continue;if(Y==="node_modules")continue;let U=E(q,Y),V=Z?`${Z}/${Y}`:Y;try{let J=await a(U);if(J.isDirectory())await K(U,V);else if(J.isFile()){let W=Y.includes(".")?`.${Y.split(".").pop().toLowerCase()}`:"";if(s0.has(W))continue;if(J.size>524288)continue;try{let M=await D(U,"utf-8");Q.push({relPath:V,content:M})}catch{}}}catch{continue}}}return await K($,""),Q}async function q0($){let Q=[],K=await e0($);for(let{relPath:q,content:Z}of K){let z=Z.split(`
7
- `);for(let Y=0;Y<z.length;Y++)for(let{category:U,pattern:V}of i0)if(V.test(z[Y])){let J=z[Y].trim();Q.push({category:U,file:q,line:Y+1,match:J.length>100?J.slice(0,100)+"…":J})}}return Q}async function c($){let Q=`github:${$.source.owner}/${$.source.repo}${$.source.ref?`#${$.source.ref}`:""}`;if($.force)try{await u($.targetDir),await S($.targetDir,{recursive:!0,force:!0})}catch{}let K=$.sourceDir;try{await u0(K,$.targetDir,{recursive:!0})}catch(U){throw Error(`Failed to install: ${U.message}`)}let q=E($.targetDir,".git");try{await S(q,{recursive:!0,force:!0})}catch{}H(`install: copied files to ${$.targetDir}`);let Z=E($.targetDir,"SKILL.md");try{await u(Z)}catch{throw Error("Installation verification failed: SKILL.md not found at target")}let z=await D(Z,"utf-8"),Y=N(z);return{success:!0,path:$.targetDir,name:Y.name||$.skillName,version:Y.version||"0.0.0",provider:$.providerLabel,source:Q}}async function X0($,Q){let K=await c($);for(let q of Q){if(q.name===$.providerName)continue;let Z=m(q.global),z=E(Z,$.skillName);await d0(Z,{recursive:!0});try{if((await m0(z)).isSymbolicLink())await S(z);else{H(`install: skipping ${z} — existing non-symlink directory`);continue}}catch{}let Y=p0(Z,$.targetDir);await c0(Y,z,"dir"),H(`install: symlinked ${z} -> ${Y}`)}return K.provider=`All (${Q.map((q)=>q.label).join(", ")})`,K}async function f($){try{await S($,{recursive:!0,force:!0})}catch{}}async function P($,Q,K){let q=$.providers.filter((Y)=>Y.enabled);if(q.length===0)throw Error("No providers are enabled. Enable a provider in your config.");if(Q==="all")return{provider:q.find((U)=>U.name==="agents")||q[0],allProviders:q};if(Q){let Y=$.providers.find((U)=>U.name===Q);if(!Y){let U=$.providers.map((V)=>V.name).join(", ");throw Error(`Unknown provider: "${Q}". Valid providers: ${U}, all`)}if(!Y.enabled)throw Error(`Provider "${Q}" is disabled. Enable it in your config or choose another provider.`);return{provider:Y,allProviders:null}}if(q.length===1)return{provider:q[0],allProviders:null};if(!K){let Y=q.map((U)=>U.name).join(", ");throw Error(`--provider is required in non-interactive mode. Available: ${Y}, all`)}console.error(`
8
- Select a provider:`);for(let Y=0;Y<q.length;Y++)console.error(` ${Y+1}) ${q[Y].label} (${q[Y].name})`);console.error(` ${q.length+1}) All providers (shared .agents/skills/ + symlinks)`),process.stderr.write(`
9
- Enter number: `);let Z=await new Promise((Y)=>{let U="";process.stdin.setEncoding("utf-8"),process.stdin.on("data",(V)=>{if(U+=V,U.includes(`
10
- `))process.stdin.removeAllListeners("data"),process.stdin.pause(),Y(U.trim())}),process.stdin.resume()}),z=parseInt(Z,10)-1;if(z===q.length)return{provider:q.find((U)=>U.name==="agents")||q[0],allProviders:q};if(isNaN(z)||z<0||z>=q.length)throw Error("Invalid selection. Aborting.");return{provider:q[z],allProviders:null}}function Y0($,Q,K,q,Z,z){let Y=m(Z.global),U=E(Y,q);return{source:$,tempDir:Q,sourceDir:K,targetDir:U,skillName:q,force:z,providerName:Z.name,providerLabel:Z.label}}async function z0($,Q){try{if(await u($),H(`install: target ${$} — conflict (exists)${Q?", force overwrite":""}`),!Q)throw Error(`Skill already exists at: ${$}
11
- Use --force to overwrite.`)}catch(K){if(K.message?.includes("--force"))throw K;H(`install: target ${$} — no conflict`)}}import{readFile as a0}from"fs/promises";import{join as r0}from"path";var U0=500;function $1($){let Q=$.split(`
12
- `),K=!1,q=!1;for(let Z of Q){if(Z.trim()==="---")if(!K){K=!0;continue}else{q=!0;continue}if(q&&Z.trim().length>0)return!0}return!1}async function V0($){let Q=[];if(!$.description||$.description.trim()==="")Q.push({category:"missing-description",message:"Skill has no description in SKILL.md frontmatter"});if(!$.version||$.version==="0.0.0")Q.push({category:"missing-version",message:"Skill has no version (or default 0.0.0) in SKILL.md frontmatter"});try{let q=r0($.path,"SKILL.md"),Z=await a0(q,"utf-8");if(!$1(Z))Q.push({category:"empty-body",message:"SKILL.md contains only frontmatter with no body content"})}catch{}let K=$.fileCount;if(K!==void 0&&K>U0)Q.push({category:"high-file-count",message:`Skill has ${K} files (threshold: ${U0})`});return Q}function J0($){let Q=$.map((K)=>({name:K.name,version:K.version,dirName:K.dirName,provider:K.provider,scope:K.scope,path:K.path,isSymlink:K.isSymlink,symlinkTarget:K.symlinkTarget}));return{version:1,exportedAt:new Date().toISOString(),skills:Q}}import{mkdir as Q1,writeFile as Z1,access as K1}from"fs/promises";import{join as q1}from"path";function X1($){return`---
13
- name: ${$}
144
+ https://github.com/owner/repo`);let Z=q.slice(7),U=Z.indexOf("#"),X,Q=null;if(U!==-1){if(X=Z.slice(0,U),Q=Z.slice(U+1),!Q)throw Error("Invalid source: ref cannot be empty after #")}else X=Z;let z=X.indexOf("/");if(z===-1)throw Error(`Invalid source: format must be github:owner/repo. Got: "${q}"`);let G=X.slice(0,z),J=X.slice(z+1);if(!G)throw Error("Invalid source: owner cannot be empty");if(!J)throw Error("Invalid source: repo cannot be empty");if(!I4.test(G))throw Error(`Invalid source: owner contains invalid characters: "${G}". Allowed: [a-zA-Z0-9_-]`);if(!L4.test(J))throw Error(`Invalid source: repo contains invalid characters: "${J}". Allowed: [a-zA-Z0-9._-]`);let H={owner:G,repo:J,ref:Q,cloneUrl:`https://github.com/${G}/${J}.git`};return v(`install: parsed source -> owner=${G} repo=${J} ref=${Q}`),H}function t0(q){if(!q)throw Error("Invalid skill name: name cannot be empty");if(q.includes("\x00"))throw Error("Invalid skill name: contains unsafe characters (null byte)");if(q.includes(".."))throw Error("Invalid skill name: contains unsafe characters (..)");if(q.includes("/")||q.includes("\\"))throw Error("Invalid skill name: contains unsafe characters (path separator)");if(q.startsWith("."))throw Error("Invalid skill name: must not start with a dot");if(q.length>T2)throw Error(`Invalid skill name: exceeds maximum length of ${T2} characters`);if(!F4.test(q))throw Error(`Invalid skill name: "${q}" does not match allowed pattern [a-zA-Z0-9][a-zA-Z0-9._-]*`);return q}async function F2(){try{await I2("git",["--version"]),v("install: git available")}catch{throw Error("git is required for installing skills. Install git from https://git-scm.com")}}async function R2(q){v(`install: cloning ${q.cloneUrl}${q.ref?` (ref: ${q.ref})`:""}`);let $=await Y4(l(_4(),"asm-install-")),Z=["clone","--depth","1"];if(q.ref)Z.push("--branch",q.ref);Z.push(q.cloneUrl,$);try{await I2("git",Z,{timeout:60000})}catch(U){await qq($);let X=U.killed?"Clone timed out after 60 seconds":`Clone failed: ${U.stderr||U.message}`;throw Error(X)}return $}async function e0(q){let $=l(q,"SKILL.md"),Z;try{Z=await o0($,"utf-8")}catch{throw Error("Not a valid skill: SKILL.md not found in repository root")}let U=T0(Z),X=q.split("/").pop()||"unknown",Q=U.name||X,z=U.version||"0.0.0";return v(`install: validated skill "${Q}" v${z}`),{name:Q,version:z,description:(U.description||"").replace(/\s*\n\s*/g," ").trim()}}async function A2(q,$=3){let Z=[];async function U(X,Q,z){let G;try{G=await O2(X)}catch{return}for(let J of G){if(J===".git"||J==="node_modules")continue;let H=l(X,J);try{if(!(await _2(H)).isDirectory())continue}catch{continue}let W=Q?`${Q}/${J}`:J,Y=z+1,B=l(H,"SKILL.md");try{let _=await o0(B,"utf-8"),O=T0(_);Z.push({relPath:W,name:O.name||J,version:O.version||"0.0.0",description:(O.description||"").replace(/\s*\n\s*/g," ").trim()})}catch{if(Y<$)await U(H,W,Y)}}}return await U(q,"",0),Z.sort((X,Q)=>X.name.localeCompare(Q.name)),Z}var A4=[{category:"Shell commands",pattern:/\b(bash|sh\s+-c)\b/},{category:"Shell commands",pattern:/\bexec\(/},{category:"Shell commands",pattern:/\bchild_process\b/},{category:"Shell commands",pattern:/\bBun\.spawn\b/},{category:"Code execution",pattern:/\beval\(/},{category:"Code execution",pattern:/\bFunction\(/},{category:"Code execution",pattern:/\bnew\s+Function\b/},{category:"Credentials",pattern:/\b(API_KEY|SECRET|TOKEN|PASSWORD)\s*[=:]/},{category:"External URLs",pattern:/https?:\/\//}],M4=new Set([".png",".jpg",".jpeg",".gif",".ico",".bmp",".webp",".mp3",".mp4",".wav",".avi",".mov",".zip",".tar",".gz",".bz2",".7z",".exe",".dll",".so",".dylib",".woff",".woff2",".ttf",".eot",".pdf",".doc",".docx"]);async function K4(q){let $=[];async function Z(U,X){let Q;try{Q=await O2(U)}catch{return}for(let z of Q){if(z===".git")continue;if(z==="node_modules")continue;let G=l(U,z),J=X?`${X}/${z}`:z;try{let H=await _2(G);if(H.isDirectory())await Z(G,J);else if(H.isFile()){let W=z.includes(".")?`.${z.split(".").pop().toLowerCase()}`:"";if(M4.has(W))continue;if(H.size>524288)continue;try{let Y=await o0(G,"utf-8");$.push({relPath:J,content:Y})}catch{}}}catch{continue}}}return await Z(q,""),$}async function M2(q){let $=[],Z=await K4(q);for(let{relPath:U,content:X}of Z){let Q=X.split(`
145
+ `);for(let z=0;z<Q.length;z++)for(let{category:G,pattern:J}of A4)if(J.test(Q[z])){let H=Q[z].trim();$.push({category:G,file:U,line:z+1,match:H.length>100?H.slice(0,100)+"…":H})}}return $}async function aq(q){let $=`github:${q.source.owner}/${q.source.repo}${q.source.ref?`#${q.source.ref}`:""}`;if(q.force)try{await lq(q.targetDir),await r0(q.targetDir,{recursive:!0,force:!0})}catch{}let Z=q.sourceDir;try{await B4(Z,q.targetDir,{recursive:!0})}catch(G){throw Error(`Failed to install: ${G.message}`)}let U=l(q.targetDir,".git");try{await r0(U,{recursive:!0,force:!0})}catch{}v(`install: copied files to ${q.targetDir}`);let X=l(q.targetDir,"SKILL.md");try{await lq(X)}catch{throw Error("Installation verification failed: SKILL.md not found at target")}let Q=await o0(X,"utf-8"),z=T0(Q);return{success:!0,path:q.targetDir,name:z.name||q.skillName,version:z.version||"0.0.0",provider:q.providerLabel,source:$}}async function K2(q,$){let Z=await aq(q);for(let U of $){if(U.name===q.providerName)continue;let X=cq(U.global),Q=l(X,q.skillName);await T4(X,{recursive:!0});try{if((await V4(Q)).isSymbolicLink())await r0(Q);else{v(`install: skipping ${Q} — existing non-symlink directory`);continue}}catch{}let z=O4(X,q.targetDir);await W4(z,Q,"dir"),v(`install: symlinked ${Q} -> ${z}`)}return Z.provider=`All (${$.map((U)=>U.label).join(", ")})`,Z}async function qq(q){try{await r0(q,{recursive:!0,force:!0})}catch{}}async function $q(q,$,Z){let U=q.providers.filter((z)=>z.enabled);if(U.length===0)throw Error("No providers are enabled. Enable a provider in your config.");if($==="all")return{provider:U.find((G)=>G.name==="agents")||U[0],allProviders:U};if($){let z=q.providers.find((G)=>G.name===$);if(!z){let G=q.providers.map((J)=>J.name).join(", ");throw Error(`Unknown provider: "${$}". Valid providers: ${G}, all`)}if(!z.enabled)throw Error(`Provider "${$}" is disabled. Enable it in your config or choose another provider.`);return{provider:z,allProviders:null}}if(U.length===1)return{provider:U[0],allProviders:null};if(!Z){let z=U.map((G)=>G.name).join(", ");throw Error(`--provider is required in non-interactive mode. Available: ${z}, all`)}console.error(`
146
+ Select a provider:`);for(let z=0;z<U.length;z++)console.error(` ${z+1}) ${U[z].label} (${U[z].name})`);console.error(` ${U.length+1}) All providers (shared .agents/skills/ + symlinks)`),process.stderr.write(`
147
+ Enter number: `);let X=await new Promise((z)=>{let G="";process.stdin.setEncoding("utf-8"),process.stdin.on("data",(J)=>{if(G+=J,G.includes(`
148
+ `))process.stdin.removeAllListeners("data"),process.stdin.pause(),z(G.trim())}),process.stdin.resume()}),Q=parseInt(X,10)-1;if(Q===U.length)return{provider:U.find((G)=>G.name==="agents")||U[0],allProviders:U};if(isNaN(Q)||Q<0||Q>=U.length)throw Error("Invalid selection. Aborting.");return{provider:U[Q],allProviders:null}}function D2(q,$,Z,U,X,Q){let z=cq(X.global),G=l(z,U);return{source:q,tempDir:$,sourceDir:Z,targetDir:G,skillName:U,force:Q,providerName:X.name,providerLabel:X.label}}async function w2(q,$){try{if(await lq(q),v(`install: target ${q} — conflict (exists)${$?", force overwrite":""}`),!$)throw Error(`Skill already exists at: ${q}
149
+ Use --force to overwrite.`)}catch(Z){if(Z.message?.includes("--force"))throw Z;v(`install: target ${q} — no conflict`)}}import{readFile as FQ}from"fs/promises";import{join as RQ}from"path";var x7=c$(),g7=d0(),h7=C$(),U2=l0(),k7=j0(),Z0=P(),u7=o(),v7=C(),m7=e(),p7=q0(),hG=uq(),d7=q2(),l7=$2(),c7=Z2(),pq=E1(),f1=P0();var a7=x7.Composer,i7=g7.Document,s7=h7.Schema,n7=U2.YAMLError,r7=U2.YAMLParseError,o7=U2.YAMLWarning,t7=k7.Alias,e7=Z0.isAlias,qQ=Z0.isCollection,$Q=Z0.isDocument,ZQ=Z0.isMap,UQ=Z0.isNode,XQ=Z0.isPair,QQ=Z0.isScalar,zQ=Z0.isSeq,GQ=u7.Pair,JQ=v7.Scalar,HQ=m7.YAMLMap,YQ=p7.YAMLSeq;var BQ=d7.Lexer,VQ=l7.LineCounter,WQ=c7.Parser,X2=pq.parse,TQ=pq.parseAllDocuments,OQ=pq.parseDocument,_Q=pq.stringify,IQ=f1.visit,LQ=f1.visitAsync;var y1=500;function AQ(q){let $=q.split(`
150
+ `),Z=!1,U=!1;for(let X of $){if(X.trim()==="---")if(!Z){Z=!0;continue}else{U=!0;continue}if(U&&X.trim().length>0)return!0}return!1}function MQ(q){let $=q.split(`
151
+ `),Z=-1;for(let U=0;U<$.length;U++)if($[U].trim()==="---")if(Z===-1)Z=U+1;else return $.slice(Z,U).join(`
152
+ `);return null}function KQ(q){let $=MQ(q);if($===null)return null;try{return X2($),null}catch(Z){return Z.message||"invalid YAML"}}async function x1(q){let $=[];if(!q.description||q.description.trim()==="")$.push({category:"missing-description",message:"Skill has no description in SKILL.md frontmatter"});if(!q.version||q.version==="0.0.0")$.push({category:"missing-version",message:"Skill has no version (or default 0.0.0) in SKILL.md frontmatter"});try{let U=RQ(q.path,"SKILL.md"),X=await FQ(U,"utf-8");if(!AQ(X))$.push({category:"empty-body",message:"SKILL.md contains only frontmatter with no body content"});let Q=KQ(X);if(Q)$.push({category:"invalid-yaml",message:`SKILL.md has invalid YAML frontmatter: ${Q}`})}catch{}let Z=q.fileCount;if(Z!==void 0&&Z>y1)$.push({category:"high-file-count",message:`Skill has ${Z} files (threshold: ${y1})`});return $}function g1(q){let $=q.map((Z)=>({name:Z.name,version:Z.version,dirName:Z.dirName,provider:Z.provider,scope:Z.scope,path:Z.path,isSymlink:Z.isSymlink,symlinkTarget:Z.symlinkTarget}));return{version:1,exportedAt:new Date().toISOString(),skills:$}}import{mkdir as DQ,writeFile as wQ,access as PQ}from"fs/promises";import{join as NQ}from"path";function jQ(q){return`---
153
+ name: ${q}
14
154
  version: 0.1.0
15
155
  description: ""
16
156
  ---
17
157
 
18
- # ${$}
158
+ # ${q}
19
159
 
20
160
  Describe what this skill does here. This content will be loaded by the AI agent
21
161
  as instructions for when and how to use this skill.
@@ -27,16 +167,16 @@ as instructions for when and how to use this skill.
27
167
  ## Instructions
28
168
 
29
169
  - Step-by-step instructions for the agent
30
- `}async function G0($,Q){await Q1(Q,{recursive:!0});let K=q1(Q,"SKILL.md"),q=X1($);await Z1(K,q,"utf-8")}async function M0($){try{return await K1($),!0}catch{return!1}}import{readdir as Y1,stat as z1}from"fs/promises";import{join as U1}from"path";async function V1($){let Q=0;try{let q=(await Y1($,{recursive:!0})).map(async(z)=>{try{let Y=await z1(U1($,z));if(Y.isFile())return Y.size}catch{}return 0});Q=(await Promise.all(q)).reduce((z,Y)=>z+Y,0)}catch{}return Q}async function j0($,Q){let K={},q={global:0,project:0},Z={},z=$.map(async(V)=>{K[V.provider]=(K[V.provider]||0)+1,q[V.scope]++;let J=await V1(V.path);return Z[V.path]=J,J}),U=(await Promise.all(z)).reduce((V,J)=>V+J,0);return{totalSkills:$.length,byProvider:K,byScope:q,totalDiskBytes:U,perSkillDiskBytes:Z,duplicateGroups:Q.duplicateGroups.length,duplicateInstances:Q.totalDuplicateInstances}}function J1($){if($<1024)return`${$} B`;if($<1048576)return`${($/1024).toFixed(1)} KB`;if($<1073741824)return`${($/1048576).toFixed(1)} MB`;return`${($/1073741824).toFixed(1)} GB`}function d($,Q,K=20){let q=Math.round($/Q*K),Z=K-q;return X.green("#".repeat(q))+X.dim("-".repeat(Z))}var B0={claude:"Claude Code",codex:"Codex",openclaw:"OpenClaw",agents:"Agents"};function F0($){let Q=[];Q.push(""),Q.push(X.blueBold(" Skill Statistics")),Q.push(X.dim(" "+"-".repeat(20))),Q.push(""),Q.push(` ${X.bold("Total:")} ${X.cyan(String($.totalSkills))} skills`),Q.push(` ${X.bold("Disk:")} ${X.cyan(J1($.totalDiskBytes))}`),Q.push(""),Q.push(X.bold(" By Provider"));let K=Object.entries($.byProvider).sort((V,J)=>J[1]-V[1]),q=Math.max(...K.map(([,V])=>V)),Z=Math.max(...K.map(([V])=>(B0[V]||V).length));for(let[V,J]of K){let W=B0[V]||V,M=W0(V,W.padEnd(Z)),B=String(J).padStart(4);Q.push(` ${M} ${B} ${d(J,q)}`)}Q.push(""),Q.push(X.bold(" By Scope"));let z=Math.max($.byScope.global,$.byScope.project),Y=String($.byScope.global).padStart(4),U=String($.byScope.project).padStart(4);if(Q.push(` ${"global ".padEnd(Z)} ${Y} ${d($.byScope.global,z)}`),Q.push(` ${"project".padEnd(Z)} ${U} ${d($.byScope.project,z)}`),Q.push(""),Q.push(X.bold(" Duplicates")),$.duplicateGroups>0)Q.push(` ${X.yellow(`${$.duplicateGroups} group(s), ${$.duplicateInstances} total instance(s)`)}`),Q.push(X.dim(` Run ${X.bold("asm audit")} to review`));else Q.push(` ${X.green("None")}`);return Q.push(""),Q.join(`
31
- `)}import{access as G1,lstat as M1,readFile as B1,rm as W1,symlink as j1}from"fs/promises";import{join as O0}from"path";async function _0($){let Q;try{Q=await M1($)}catch{throw Error(`Path does not exist: ${$}`)}if(!Q.isDirectory())throw Error(`Path is not a directory: ${$}`);let K=O0($,"SKILL.md"),q;try{q=await B1(K,"utf-8")}catch{throw Error(`No SKILL.md found in ${$}`)}let Z=N(q);if(!Z.name)throw Error(`Invalid SKILL.md in ${$}: missing "name" in frontmatter`);return{name:Z.name,version:Z.version||"0.0.0"}}async function v($,Q,K,q){let Z=O0(Q,K),z=!1;try{await G1(Z),z=!0}catch{}if(z){if(!q)throw Error(`Target already exists: ${Z}. Use --force to overwrite.`);await W1(Z,{recursive:!0,force:!0})}await j1($,Z,"dir")}function F1($){let Q=$.slice(2),K={command:null,subcommand:null,positional:[],flags:{help:!1,version:!1,json:!1,yes:!1,noColor:!1,scope:"both",sort:"name",provider:null,name:null,force:!1,path:null,all:!1,verbose:!1,flat:!1}},q=0;while(q<Q.length){let Z=Q[q];if(Z==="--help"||Z==="-h")K.flags.help=!0;else if(Z==="--version"||Z==="-v")K.flags.version=!0;else if(Z==="--json")K.flags.json=!0;else if(Z==="--yes"||Z==="-y")K.flags.yes=!0;else if(Z==="--no-color")K.flags.noColor=!0;else if(Z==="--scope"||Z==="-s"){q++;let z=Q[q];if(z==="global"||z==="project"||z==="both")K.flags.scope=z;else j(`Invalid scope: "${z}". Must be global, project, or both.`),process.exit(2)}else if(Z==="--sort"){q++;let z=Q[q];if(z==="name"||z==="version"||z==="location")K.flags.sort=z;else j(`Invalid sort: "${z}". Must be name, version, or location.`),process.exit(2)}else if(Z==="--provider"||Z==="-p")q++,K.flags.provider=Q[q]||null;else if(Z==="--name")q++,K.flags.name=Q[q]||null;else if(Z==="--force"||Z==="-f")K.flags.force=!0;else if(Z==="--path")q++,K.flags.path=Q[q]||null;else if(Z==="--all")K.flags.all=!0;else if(Z==="--verbose"||Z==="-V")K.flags.verbose=!0;else if(Z==="--flat")K.flags.flat=!0;else if(Z.startsWith("-"))j(`Unknown option: ${Z}`),console.error('Run "asm --help" for usage.'),process.exit(2);else if(!K.command)K.command=Z;else if(!K.subcommand)K.subcommand=Z;else K.positional.push(Z);q++}return K}function j($){console.error(X.red(`Error: ${$}`))}function O1(){console.log(`${X.blueBold("agent-skill-manager")} (${X.bold("asm")}) ${i}
170
+ `}async function h1(q,$){await DQ($,{recursive:!0});let Z=NQ($,"SKILL.md"),U=jQ(q);await wQ(Z,U,"utf-8")}async function k1(q){try{return await PQ(q),!0}catch{return!1}}import{readdir as CQ,stat as bQ}from"fs/promises";import{join as SQ}from"path";async function EQ(q){let $=0;try{let U=(await CQ(q,{recursive:!0})).map(async(Q)=>{try{let z=await bQ(SQ(q,Q));if(z.isFile())return z.size}catch{}return 0});$=(await Promise.all(U)).reduce((Q,z)=>Q+z,0)}catch{}return $}async function m1(q,$){let Z={},U={global:0,project:0},X={},Q=q.map(async(J)=>{Z[J.provider]=(Z[J.provider]||0)+1,U[J.scope]++;let H=await EQ(J.path);return X[J.path]=H,H}),G=(await Promise.all(Q)).reduce((J,H)=>J+H,0);return{totalSkills:q.length,byProvider:Z,byScope:U,totalDiskBytes:G,perSkillDiskBytes:X,duplicateGroups:$.duplicateGroups.length,duplicateInstances:$.totalDuplicateInstances}}function fQ(q){if(q<1024)return`${q} B`;if(q<1048576)return`${(q/1024).toFixed(1)} KB`;if(q<1073741824)return`${(q/1048576).toFixed(1)} MB`;return`${(q/1073741824).toFixed(1)} GB`}function Q2(q,$,Z=20){let U=Math.round(q/$*Z),X=Z-U;return T.green("#".repeat(U))+T.dim("-".repeat(X))}var u1={claude:"Claude Code",codex:"Codex",openclaw:"OpenClaw",agents:"Agents"};function p1(q){let $=[];$.push(""),$.push(T.blueBold(" Skill Statistics")),$.push(T.dim(" "+"-".repeat(20))),$.push(""),$.push(` ${T.bold("Total:")} ${T.cyan(String(q.totalSkills))} skills`),$.push(` ${T.bold("Disk:")} ${T.cyan(fQ(q.totalDiskBytes))}`),$.push(""),$.push(T.bold(" By Provider"));let Z=Object.entries(q.byProvider).sort((J,H)=>H[1]-J[1]),U=Math.max(...Z.map(([,J])=>J)),X=Math.max(...Z.map(([J])=>(u1[J]||J).length));for(let[J,H]of Z){let W=u1[J]||J,Y=v1(J,W.padEnd(X)),B=String(H).padStart(4);$.push(` ${Y} ${B} ${Q2(H,U)}`)}$.push(""),$.push(T.bold(" By Scope"));let Q=Math.max(q.byScope.global,q.byScope.project),z=String(q.byScope.global).padStart(4),G=String(q.byScope.project).padStart(4);if($.push(` ${"global ".padEnd(X)} ${z} ${Q2(q.byScope.global,Q)}`),$.push(` ${"project".padEnd(X)} ${G} ${Q2(q.byScope.project,Q)}`),$.push(""),$.push(T.bold(" Duplicates")),q.duplicateGroups>0)$.push(` ${T.yellow(`${q.duplicateGroups} group(s), ${q.duplicateInstances} total instance(s)`)}`),$.push(T.dim(` Run ${T.bold("asm audit")} to review`));else $.push(` ${T.green("None")}`);return $.push(""),$.join(`
171
+ `)}import{access as yQ,lstat as xQ,readFile as gQ,rm as hQ,symlink as kQ}from"fs/promises";import{join as d1}from"path";async function l1(q){let $;try{$=await xQ(q)}catch{throw Error(`Path does not exist: ${q}`)}if(!$.isDirectory())throw Error(`Path is not a directory: ${q}`);let Z=d1(q,"SKILL.md"),U;try{U=await gQ(Z,"utf-8")}catch{throw Error(`No SKILL.md found in ${q}`)}let X=T0(U);if(!X.name)throw Error(`Invalid SKILL.md in ${q}: missing "name" in frontmatter`);return{name:X.name,version:X.version||"0.0.0"}}async function dq(q,$,Z,U){let X=d1($,Z),Q=!1;try{await yQ(X),Q=!0}catch{}if(Q){if(!U)throw Error(`Target already exists: ${X}. Use --force to overwrite.`);await hQ(X,{recursive:!0,force:!0})}await kQ(q,X,"dir")}function uQ(q){let $=q.slice(2),Z={command:null,subcommand:null,positional:[],flags:{help:!1,version:!1,json:!1,yes:!1,noColor:!1,scope:"both",sort:"name",provider:null,name:null,force:!1,path:null,all:!1,verbose:!1,flat:!1}},U=0;while(U<$.length){let X=$[U];if(X==="--help"||X==="-h")Z.flags.help=!0;else if(X==="--version"||X==="-v")Z.flags.version=!0;else if(X==="--json")Z.flags.json=!0;else if(X==="--yes"||X==="-y")Z.flags.yes=!0;else if(X==="--no-color")Z.flags.noColor=!0;else if(X==="--scope"||X==="-s"){U++;let Q=$[U];if(Q==="global"||Q==="project"||Q==="both")Z.flags.scope=Q;else j(`Invalid scope: "${Q}". Must be global, project, or both.`),process.exit(2)}else if(X==="--sort"){U++;let Q=$[U];if(Q==="name"||Q==="version"||Q==="location")Z.flags.sort=Q;else j(`Invalid sort: "${Q}". Must be name, version, or location.`),process.exit(2)}else if(X==="--provider"||X==="-p")U++,Z.flags.provider=$[U]||null;else if(X==="--name")U++,Z.flags.name=$[U]||null;else if(X==="--force"||X==="-f")Z.flags.force=!0;else if(X==="--path")U++,Z.flags.path=$[U]||null;else if(X==="--all")Z.flags.all=!0;else if(X==="--verbose"||X==="-V")Z.flags.verbose=!0;else if(X==="--flat")Z.flags.flat=!0;else if(X.startsWith("-"))j(`Unknown option: ${X}`),console.error('Run "asm --help" for usage.'),process.exit(2);else if(!Z.command)Z.command=X;else if(!Z.subcommand)Z.subcommand=X;else Z.positional.push(X);U++}return Z}function j(q){console.error(T.red(`Error: ${q}`))}function vQ(){console.log(`${T.blueBold("agent-skill-manager")} (${T.bold("asm")}) ${V2}
32
172
 
33
173
  Interactive TUI and CLI for managing installed skills for AI coding agents.
34
174
 
35
- ${X.bold("Usage:")}
175
+ ${T.bold("Usage:")}
36
176
  asm Launch interactive TUI
37
177
  asm <command> [options] Run a CLI command
38
178
 
39
- ${X.bold("Commands:")}
179
+ ${T.bold("Commands:")}
40
180
  list List all discovered skills
41
181
  search <query> Search skills by name/description/provider
42
182
  inspect <skill-name> Show detailed info for a skill
@@ -52,7 +192,7 @@ ${X.bold("Commands:")}
52
192
  config reset Reset config to defaults
53
193
  config edit Open config in $EDITOR
54
194
 
55
- ${X.bold("Global Options:")}
195
+ ${T.bold("Global Options:")}
56
196
  -h, --help Show help for any command
57
197
  -v, --version Print version and exit
58
198
  --json Output as JSON (list, search, inspect)
@@ -62,12 +202,12 @@ ${X.bold("Global Options:")}
62
202
  --sort <field> Sort by: name, version, or location (default: name)
63
203
  --flat Show one row per provider instance (list, search)
64
204
  -y, --yes Skip confirmation prompts
65
- -V, --verbose Show debug output`)}function _1(){console.log(`${X.bold("Usage:")} asm list [options]
205
+ -V, --verbose Show debug output`)}function mQ(){console.log(`${T.bold("Usage:")} asm list [options]
66
206
 
67
207
  List all discovered skills. By default, skills installed across multiple
68
208
  providers are grouped into a single row with provider badges.
69
209
 
70
- ${X.bold("Options:")}
210
+ ${T.bold("Options:")}
71
211
  --sort <field> Sort by: name, version, or location (default: name)
72
212
  -s, --scope <s> Filter: global, project, or both (default: both)
73
213
  -p, --provider <p> Filter by provider (claude, codex, openclaw, agents)
@@ -76,18 +216,18 @@ ${X.bold("Options:")}
76
216
  --no-color Disable ANSI colors
77
217
  -V, --verbose Show debug output
78
218
 
79
- ${X.bold("Examples:")}
80
- asm list ${X.dim("List all skills (grouped)")}
81
- asm list --flat ${X.dim("One row per provider instance")}
82
- asm list -p claude ${X.dim("Only Claude Code skills")}
83
- asm list -s project ${X.dim("Only project-scoped skills")}
84
- asm list --sort version ${X.dim("Sort by version")}
85
- asm list --json ${X.dim("Output as JSON")}`)}function A1(){console.log(`${X.bold("Usage:")} asm search <query> [options]
219
+ ${T.bold("Examples:")}
220
+ asm list ${T.dim("List all skills (grouped)")}
221
+ asm list --flat ${T.dim("One row per provider instance")}
222
+ asm list -p claude ${T.dim("Only Claude Code skills")}
223
+ asm list -s project ${T.dim("Only project-scoped skills")}
224
+ asm list --sort version ${T.dim("Sort by version")}
225
+ asm list --json ${T.dim("Output as JSON")}`)}function pQ(){console.log(`${T.bold("Usage:")} asm search <query> [options]
86
226
 
87
227
  Search skills by name, description, or provider. Matching terms are
88
228
  highlighted in the output.
89
229
 
90
- ${X.bold("Options:")}
230
+ ${T.bold("Options:")}
91
231
  --sort <field> Sort by: name, version, or location (default: name)
92
232
  -s, --scope <s> Filter: global, project, or both (default: both)
93
233
  -p, --provider <p> Filter by provider (claude, codex, openclaw, agents)
@@ -96,87 +236,87 @@ ${X.bold("Options:")}
96
236
  --no-color Disable ANSI colors
97
237
  -V, --verbose Show debug output
98
238
 
99
- ${X.bold("Examples:")}
100
- asm search code ${X.dim("Search for 'code' in all fields")}
101
- asm search review -p claude ${X.dim("Search within Claude Code only")}
102
- asm search "test" -s global ${X.dim("Search global skills only")}
103
- asm search openspec --json ${X.dim("Output matches as JSON")}`)}function H1(){console.log(`${X.bold("Usage:")} asm inspect <skill-name> [options]
239
+ ${T.bold("Examples:")}
240
+ asm search code ${T.dim("Search for 'code' in all fields")}
241
+ asm search review -p claude ${T.dim("Search within Claude Code only")}
242
+ asm search "test" -s global ${T.dim("Search global skills only")}
243
+ asm search openspec --json ${T.dim("Output matches as JSON")}`)}function dQ(){console.log(`${T.bold("Usage:")} asm inspect <skill-name> [options]
104
244
 
105
245
  Show detailed information for a skill. The <skill-name> is the directory name.
106
246
  Shows version, description, file count, and all provider installations.
107
247
 
108
- ${X.bold("Options:")}
248
+ ${T.bold("Options:")}
109
249
  -s, --scope <s> Filter: global, project, or both (default: both)
110
250
  --json Output as JSON object
111
251
  --no-color Disable ANSI colors
112
252
  -V, --verbose Show debug output
113
253
 
114
- ${X.bold("Examples:")}
115
- asm inspect code-review ${X.dim("Show details for code-review")}
116
- asm inspect code-review --json ${X.dim("Output as JSON")}
117
- asm inspect code-review -s global ${X.dim("Global installations only")}`)}function T1(){console.log(`${X.bold("Usage:")} asm uninstall <skill-name> [options]
254
+ ${T.bold("Examples:")}
255
+ asm inspect code-review ${T.dim("Show details for code-review")}
256
+ asm inspect code-review --json ${T.dim("Output as JSON")}
257
+ asm inspect code-review -s global ${T.dim("Global installations only")}`)}function lQ(){console.log(`${T.bold("Usage:")} asm uninstall <skill-name> [options]
118
258
 
119
259
  Remove a skill and its associated rule files. Shows a removal plan
120
260
  before proceeding and asks for confirmation.
121
261
 
122
- ${X.bold("Options:")}
262
+ ${T.bold("Options:")}
123
263
  -y, --yes Skip confirmation prompt
124
264
  -s, --scope <s> Filter: global, project, or both (default: both)
125
265
  --no-color Disable ANSI colors
126
266
  -V, --verbose Show debug output
127
267
 
128
- ${X.bold("Examples:")}
129
- asm uninstall code-review ${X.dim("Remove with confirmation")}
130
- asm uninstall code-review -y ${X.dim("Remove without confirmation")}
131
- asm uninstall code-review -s project ${X.dim("Remove project copy only")}`)}function L1(){console.log(`${X.bold("Usage:")} asm audit [subcommand] [options]
268
+ ${T.bold("Examples:")}
269
+ asm uninstall code-review ${T.dim("Remove with confirmation")}
270
+ asm uninstall code-review -y ${T.dim("Remove without confirmation")}
271
+ asm uninstall code-review -s project ${T.dim("Remove project copy only")}`)}function cQ(){console.log(`${T.bold("Usage:")} asm audit [subcommand] [options]
132
272
 
133
273
  Detect and optionally remove duplicate skills. Duplicate detection
134
274
  considers both directory names and SKILL.md frontmatter names.
135
275
 
136
- ${X.bold("Subcommands:")}
276
+ ${T.bold("Subcommands:")}
137
277
  duplicates Find duplicate skills (default)
138
278
 
139
- ${X.bold("Options:")}
279
+ ${T.bold("Options:")}
140
280
  --json Output as JSON
141
281
  -y, --yes Auto-remove duplicates, keeping one instance per group
142
282
  --no-color Disable ANSI colors
143
283
  -V, --verbose Show debug output
144
284
 
145
- ${X.bold("Examples:")}
146
- asm audit ${X.dim("Find duplicates")}
147
- asm audit -y ${X.dim("Auto-remove duplicates")}
148
- asm audit --json ${X.dim("Output as JSON")}`)}function E1(){console.log(`${X.bold("Usage:")} asm config <subcommand>
285
+ ${T.bold("Examples:")}
286
+ asm audit ${T.dim("Find duplicates")}
287
+ asm audit -y ${T.dim("Auto-remove duplicates")}
288
+ asm audit --json ${T.dim("Output as JSON")}`)}function aQ(){console.log(`${T.bold("Usage:")} asm config <subcommand>
149
289
 
150
290
  Manage configuration. Config is stored at ~/.config/agent-skill-manager/.
151
291
 
152
- ${X.bold("Subcommands:")}
292
+ ${T.bold("Subcommands:")}
153
293
  show Print current config as JSON
154
294
  path Print config file path
155
295
  reset Reset config to defaults (with confirmation)
156
296
  edit Open config in $EDITOR
157
297
 
158
- ${X.bold("Options:")}
298
+ ${T.bold("Options:")}
159
299
  -V, --verbose Show debug output
160
300
 
161
- ${X.bold("Examples:")}
162
- asm config show ${X.dim("View current config")}
163
- asm config edit ${X.dim("Edit in $EDITOR")}
164
- asm config reset -y ${X.dim("Reset without confirmation")}`)}async function b0($){for(let Q of $)Q.warnings=await V0(Q)}async function I1($){if($.flags.help){_1();return}let Q=await _(),K=await w(Q,$.flags.scope);if($.flags.provider&&$.command==="list")K=K.filter((Z)=>Z.provider===$.flags.provider);await b0(K);let q=o(K,$.flags.sort);if($.flags.json)console.log(R(q));else if($.flags.flat){let Z=t(q),z=q.filter((Y)=>Y.warnings&&Y.warnings.length>0);if(z.length>0)Z+=`
165
- ${X.yellow(`${z.length} skill${z.length===1?"":"s"} with warnings -- use --json for details`)}`;console.log(Z)}else console.log(w0(q))}async function C1($){if($.flags.help){A1();return}let Q=$.subcommand;if(!Q)j("Missing required argument: <query>"),console.error('Run "asm search --help" for usage.'),process.exit(2);let K=await _(),q=await w(K,$.flags.scope);if($.flags.provider)q=q.filter((Y)=>Y.provider===$.flags.provider);let Z=L0(q,Q),z=o(Z,$.flags.sort);if($.flags.json)console.log(R(z));else if($.flags.flat)console.log(t(z));else console.log(y0(z,Q))}async function R1($){if($.flags.help){H1();return}let Q=$.subcommand;if(!Q)j("Missing required argument: <skill-name>"),console.error('Run "asm inspect --help" for usage.'),process.exit(2);let K=await _(),Z=(await w(K,$.flags.scope)).filter((z)=>z.dirName===Q);if(Z.length===0)j(`Skill "${Q}" not found.`),console.error(X.dim(`Try ${X.bold("asm list")} to see all skills or ${X.bold(`asm search "${Q}"`)} to search.`)),process.exit(1);if(await b0(Z),$.flags.json)console.log(R(Z.length===1?Z[0]:Z));else console.log(await x0(Z))}async function w1($){if($.flags.help){T1();return}let Q=$.subcommand;if(!Q)j("Missing required argument: <skill-name>"),console.error('Run "asm uninstall --help" for usage.'),process.exit(2);let K=await _(),q=await w(K,$.flags.scope),Z=I0(Q,q,K),z=await C0(Z);if(z.length===0)j(`Skill "${Q}" not found or nothing to remove.`),process.exit(1);console.error(X.bold("Removal plan:"));for(let U of z)console.error(` ${X.red("•")} ${R0(U)}`);if(!$.flags.yes){if(!process.stdin.isTTY)j("Cannot prompt for confirmation in non-interactive mode. Use --yes to skip."),process.exit(2);process.stderr.write(`
166
- ${X.bold("Proceed with removal?")} [y/N] `);let U=await x();if(U.toLowerCase()!=="y"&&U.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}let Y=await n(Z);for(let U of Y)console.error(U);console.error(X.green(`
167
- Done.`))}function x(){return new Promise(($)=>{let Q="",K=!1;function q(){process.stdin.removeListener("data",z),process.stdin.removeListener("end",Y),process.stdin.pause(),clearTimeout(U)}function Z(V){if(K)return;K=!0,q(),$(V)}function z(V){if(Q+=V,Q.includes(`
168
- `))Z(Q.trim())}function Y(){Z(Q.trim())}let U=setTimeout(()=>{Z(Q.trim())},30000);process.stdin.setEncoding("utf-8"),process.stdin.on("data",z),process.stdin.on("end",Y),process.stdin.resume()})}async function y1($){if($.flags.help){L1();return}let Q=$.subcommand??"duplicates";if(Q!=="duplicates")j(`Unknown audit subcommand: "${Q}". Use: duplicates`),process.exit(2);let K=await _(),q=await w(K,"both"),Z=l(q);if($.flags.json){console.log(D0(Z));return}if(console.log(S0(Z)),$.flags.yes&&Z.duplicateGroups.length>0){console.error(X.bold(`
169
- Auto-removing duplicates...`));for(let z of Z.duplicateGroups){let Y=N0(z.instances);for(let U=1;U<Y.length;U++){let V=Y[U],J=E0(V,K),W=await n(J);for(let M of W)console.error(M)}}console.error(X.green(`
170
- Done.`))}}async function x1($){if($.flags.help){E1();return}let Q=$.subcommand;if(!Q)j("Missing subcommand. Use: show, path, reset, or edit."),console.error('Run "asm config --help" for usage.'),process.exit(2);switch(Q){case"show":{let K=await _();console.log(R(K));break}case"path":{console.log(g());break}case"reset":{if(!$.flags.yes){if(!process.stdin.isTTY)j("Cannot prompt for confirmation in non-interactive mode. Use --yes to skip."),process.exit(2);process.stderr.write(`${X.bold("Reset config to defaults?")} [y/N] `);let q=await x();if(q.toLowerCase()!=="y"&&q.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}let K=H0();await T0(K),console.error(X.green("Config reset to defaults."));break}case"edit":{let K=process.env.VISUAL||process.env.EDITOR||"vi",q=g();await _();let{spawn:Z}=await import("child_process");await new Promise((z,Y)=>{let U=Z(K,[q],{stdio:"inherit"});U.on("close",()=>z()),U.on("error",Y)});break}default:j(`Unknown config subcommand: "${Q}". Use: show, path, reset, or edit.`),process.exit(2)}}function N1(){console.log(`${X.bold("Usage:")} asm install <source> [options]
301
+ ${T.bold("Examples:")}
302
+ asm config show ${T.dim("View current config")}
303
+ asm config edit ${T.dim("Edit in $EDITOR")}
304
+ asm config reset -y ${T.dim("Reset without confirmation")}`)}async function Q4(q){for(let $ of q)$.warnings=await x1($)}async function iQ(q){if(q.flags.help){mQ();return}let $=await x(),Z=await X0($,q.flags.scope);if(q.flags.provider&&q.command==="list")Z=Z.filter((X)=>X.provider===q.flags.provider);await Q4(Z);let U=J2(Z,q.flags.sort);if(q.flags.json)console.log(U0(U));else if(q.flags.flat){let X=Y2(U),Q=U.filter((z)=>z.warnings&&z.warnings.length>0);if(Q.length>0)X+=`
305
+ ${T.yellow(`${Q.length} skill${Q.length===1?"":"s"} with warnings -- use --json for details`)}`;console.log(X)}else console.log(e1(U))}async function sQ(q){if(q.flags.help){pQ();return}let $=q.subcommand;if(!$)j("Missing required argument: <query>"),console.error('Run "asm search --help" for usage.'),process.exit(2);let Z=await x(),U=await X0(Z,q.flags.scope);if(q.flags.provider)U=U.filter((z)=>z.provider===q.flags.provider);let X=s1(U,$),Q=J2(X,q.flags.sort);if(q.flags.json)console.log(U0(Q));else if(q.flags.flat)console.log(Y2(Q));else console.log(q4(Q,$))}async function nQ(q){if(q.flags.help){dQ();return}let $=q.subcommand;if(!$)j("Missing required argument: <skill-name>"),console.error('Run "asm inspect --help" for usage.'),process.exit(2);let Z=await x(),X=(await X0(Z,q.flags.scope)).filter((Q)=>Q.dirName===$);if(X.length===0)j(`Skill "${$}" not found.`),console.error(T.dim(`Try ${T.bold("asm list")} to see all skills or ${T.bold(`asm search "${$}"`)} to search.`)),process.exit(1);if(await Q4(X),q.flags.json)console.log(U0(X.length===1?X[0]:X));else console.log(await $4(X))}async function rQ(q){if(q.flags.help){lQ();return}let $=q.subcommand;if(!$)j("Missing required argument: <skill-name>"),console.error('Run "asm uninstall --help" for usage.'),process.exit(2);let Z=await x(),U=await X0(Z,q.flags.scope),X=r1($,U,Z),Q=await o1(X);if(Q.length===0)j(`Skill "${$}" not found or nothing to remove.`),process.exit(1);console.error(T.bold("Removal plan:"));for(let G of Q)console.error(` ${T.red("•")} ${t1(G)}`);if(!q.flags.yes){if(!process.stdin.isTTY)j("Cannot prompt for confirmation in non-interactive mode. Use --yes to skip."),process.exit(2);process.stderr.write(`
306
+ ${T.bold("Proceed with removal?")} [y/N] `);let G=await V0();if(G.toLowerCase()!=="y"&&G.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}let z=await H2(X);for(let G of z)console.error(G);console.error(T.green(`
307
+ Done.`))}function V0(){return new Promise((q)=>{let $="",Z=!1;function U(){process.stdin.removeListener("data",Q),process.stdin.removeListener("end",z),process.stdin.pause(),clearTimeout(G)}function X(J){if(Z)return;Z=!0,U(),q(J)}function Q(J){if($+=J,$.includes(`
308
+ `))X($.trim())}function z(){X($.trim())}let G=setTimeout(()=>{X($.trim())},30000);process.stdin.setEncoding("utf-8"),process.stdin.on("data",Q),process.stdin.on("end",z),process.stdin.resume()})}async function oQ(q){if(q.flags.help){cQ();return}let $=q.subcommand??"duplicates";if($!=="duplicates")j(`Unknown audit subcommand: "${$}". Use: duplicates`),process.exit(2);let Z=await x(),U=await X0(Z,"both"),X=B2(U);if(q.flags.json){console.log(X4(X));return}if(console.log(U4(X)),q.flags.yes&&X.duplicateGroups.length>0){console.error(T.bold(`
309
+ Auto-removing duplicates...`));for(let Q of X.duplicateGroups){let z=Z4(Q.instances);for(let G=1;G<z.length;G++){let J=z[G],H=n1(J,Z),W=await H2(H);for(let Y of W)console.error(Y)}}console.error(T.green(`
310
+ Done.`))}}async function tQ(q){if(q.flags.help){aQ();return}let $=q.subcommand;if(!$)j("Missing subcommand. Use: show, path, reset, or edit."),console.error('Run "asm config --help" for usage.'),process.exit(2);switch($){case"show":{let Z=await x();console.log(U0(Z));break}case"path":{console.log(G2());break}case"reset":{if(!q.flags.yes){if(!process.stdin.isTTY)j("Cannot prompt for confirmation in non-interactive mode. Use --yes to skip."),process.exit(2);process.stderr.write(`${T.bold("Reset config to defaults?")} [y/N] `);let U=await V0();if(U.toLowerCase()!=="y"&&U.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}let Z=a1();await i1(Z),console.error(T.green("Config reset to defaults."));break}case"edit":{let Z=process.env.VISUAL||process.env.EDITOR||"vi",U=G2();await x();let{spawn:X}=await import("child_process");await new Promise((Q,z)=>{let G=X(Z,[U],{stdio:"inherit"});G.on("close",()=>Q()),G.on("error",z)});break}default:j(`Unknown config subcommand: "${$}". Use: show, path, reset, or edit.`),process.exit(2)}}function eQ(){console.log(`${T.bold("Usage:")} asm install <source> [options]
171
311
 
172
312
  Install a skill from a GitHub repository.
173
313
 
174
- ${X.bold("Source Format:")}
314
+ ${T.bold("Source Format:")}
175
315
  github:owner/repo Install from default branch
176
316
  github:owner/repo#ref Install from specific branch or tag
177
317
  https://github.com/owner/repo Install via HTTPS URL
178
318
 
179
- ${X.bold("Options:")}
319
+ ${T.bold("Options:")}
180
320
  -p, --provider <name> Target provider (claude, codex, openclaw, agents, all)
181
321
  Use "all" to install to all providers (shared + symlinks)
182
322
  --name <name> Override skill directory name
@@ -188,82 +328,82 @@ ${X.bold("Options:")}
188
328
  --no-color Disable ANSI colors
189
329
  -V, --verbose Show debug output
190
330
 
191
- ${X.bold("Single-skill repo:")}
331
+ ${T.bold("Single-skill repo:")}
192
332
  asm install github:user/my-skill
193
333
  asm install github:user/my-skill#v1.0.0 -p claude
194
334
  asm install https://github.com/user/my-skill
195
- asm install github:user/my-skill -p all ${X.dim("(install to all providers)")}
335
+ asm install github:user/my-skill -p all ${T.dim("(install to all providers)")}
196
336
 
197
- ${X.bold("Multi-skill repo:")}
337
+ ${T.bold("Multi-skill repo:")}
198
338
  asm install github:user/skills --path skills/code-review
199
339
  asm install github:user/skills --all -p claude -y
200
- asm install github:user/skills --all -p all -y ${X.dim("(all skills, all providers)")}
340
+ asm install github:user/skills --all -p all -y ${T.dim("(all skills, all providers)")}
201
341
  asm install https://github.com/user/skills --all
202
- asm install github:user/skills ${X.dim("(interactive picker)")}`)}async function p($,Q,K,q,Z,z,Y,U,V,J){let W=await k(Z),M=J!==void 0,B=await q0(Z),O=Z===q?null:Z.split("/").pop(),G=z||O||K.repo,A=b(G),I=Y0(K,q,Z,A,U,$.flags.force);if(await z0(I.targetDir,I.force),M){let F=`[${J.index}/${J.total}]`,y=B.length>0?` ${X.yellow(`(${B.length} warning${B.length>1?"s":""})`)}`:"";console.error(`${X.dim(F)} ${X.bold(W.name)} v${W.version}${y}`)}else{if(console.error(`Found skill: ${W.name} v${W.version}`),console.error(`
203
- ${X.bold("Install preview:")}`),console.error(` Name: ${W.name}`),console.error(` Version: ${W.version}`),W.description)console.error(` Description: ${W.description}`);if(console.error(` Source: ${Q}`),V)console.error(` Provider: All (${V.map((F)=>F.label).join(", ")})`),console.error(` Primary: ${U.label} (${U.name})`),console.error(` Symlinks: ${V.filter((F)=>F.name!==U.name).map((F)=>F.label).join(", ")}`);else console.error(` Provider: ${U.label} (${U.name})`);if(console.error(` Target: ${I.targetDir}`),B.length>0){console.error(`
204
- ${X.yellow(X.bold("Security warnings:"))}`);let F=new Map;for(let y of B){let C=F.get(y.category)||[];C.push(y),F.set(y.category,C)}for(let[y,C]of F){console.error(`
205
- ${X.yellow(`[${y}]`)} (${C.length} match${C.length>1?"es":""})`);for(let h of C.slice(0,5))console.error(` ${X.dim(h.file)}:${h.line} -- ${h.match}`);if(C.length>5)console.error(` ... and ${C.length-5} more`)}}if(!$.flags.yes&&!$.flags.all){if(!process.stdin.isTTY)j("Cannot prompt for confirmation in non-interactive mode. Use --yes to skip."),process.exit(2);process.stderr.write(`
206
- ${X.bold("Proceed with installation?")} [y/N] `);let F=await x();if(F.toLowerCase()!=="y"&&F.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}}if(!M)console.error(`
207
- Installing to ${I.targetDir}...`);if(V)return await X0(I,V);return await c(I)}async function S1($){if($.flags.help){N1();return}let Q=$.subcommand;if(!Q)j("Missing required argument: <source>"),console.error('Run "asm install --help" for usage.'),process.exit(2);let K=null,q=()=>{if(K)f(K).finally(()=>process.exit(1));else process.exit(1)};process.on("SIGINT",q),process.on("SIGTERM",q);try{let Z=$0(Q);console.error(`Parsing source: ${Q}`),await Q0(),console.error(`Cloning ${Z.cloneUrl}${Z.ref?` (ref: ${Z.ref})`:""}...`),K=await Z0(Z);let z=await _(),{provider:Y,allProviders:U}=await P(z,$.flags.provider,!!process.stdin.isTTY),{join:V}=await import("path"),J=[];if($.flags.path){let W=V(K,$.flags.path);try{await k(W)}catch{throw Error(`No SKILL.md found at path "${$.flags.path}" in the repository.`)}let M=await p($,Q,Z,K,W,$.flags.name,z,Y,U);J.push(M)}else{let W=!1;try{await k(K),W=!0}catch{}if(W){let M=await p($,Q,Z,K,K,$.flags.name,z,Y,U);J.push(M)}else{console.error("No SKILL.md at repository root. Scanning for skills...");let M=await K0(K);if(M.length===0)throw Error("No skills found in this repository. Skills must have a SKILL.md file.");console.error(`Found ${M.length} skill(s):
208
- `);for(let G=0;G<M.length;G++)if(console.error(` ${X.bold(`${G+1})`)} ${M[G].name} v${M[G].version} ${X.dim(`(${M[G].relPath})`)}`),M[G].description)console.error(` ${M[G].description}`);let B;if($.flags.all){if(B=M.map((G)=>G.relPath),console.error(`
209
- Installing all ${B.length} skills...`),!$.flags.yes){if(!process.stdin.isTTY)j("Cannot prompt for confirmation in non-interactive mode. Use --yes to skip."),process.exit(2);process.stderr.write(`
210
- ${X.bold(`Install all ${B.length} skills?`)} [y/N] `);let G=await x();if(G.toLowerCase()!=="y"&&G.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}}else if(process.stdin.isTTY){process.stderr.write(`
211
- Enter skill number (or "all"): `);let G=await x();if(G.toLowerCase()==="all")B=M.map((A)=>A.relPath);else{let A=parseInt(G,10)-1;if(isNaN(A)||A<0||A>=M.length)throw Error("Invalid selection. Aborting.");B=[M[A].relPath]}}else j(`Repository contains ${M.length} skills. Use --path <subdir> to pick one or --all to install all.
342
+ asm install github:user/skills ${T.dim("(interactive picker)")}`)}async function z2(q,$,Z,U,X,Q,z,G,J,H){let W=await e0(X),Y=H!==void 0,B=await M2(X),_=X===U?null:X.split("/").pop(),O=Q||_||Z.repo,V=t0(O),I=D2(Z,U,X,V,G,q.flags.force);if(await w2(I.targetDir,I.force),Y){let L=`[${H.index}/${H.total}]`,A=B.length>0?` ${T.yellow(`(${B.length} warning${B.length>1?"s":""})`)}`:"";console.error(`${T.dim(L)} ${T.bold(W.name)} v${W.version}${A}`)}else{if(console.error(`Found skill: ${W.name} v${W.version}`),console.error(`
343
+ ${T.bold("Install preview:")}`),console.error(` Name: ${W.name}`),console.error(` Version: ${W.version}`),W.description)console.error(` Description: ${W.description}`);if(console.error(` Source: ${$}`),J)console.error(` Provider: All (${J.map((L)=>L.label).join(", ")})`),console.error(` Primary: ${G.label} (${G.name})`),console.error(` Symlinks: ${J.filter((L)=>L.name!==G.name).map((L)=>L.label).join(", ")}`);else console.error(` Provider: ${G.label} (${G.name})`);if(console.error(` Target: ${I.targetDir}`),B.length>0){console.error(`
344
+ ${T.yellow(T.bold("Security warnings:"))}`);let L=new Map;for(let A of B){let M=L.get(A.category)||[];M.push(A),L.set(A.category,M)}for(let[A,M]of L){console.error(`
345
+ ${T.yellow(`[${A}]`)} (${M.length} match${M.length>1?"es":""})`);for(let K of M.slice(0,5))console.error(` ${T.dim(K.file)}:${K.line} -- ${K.match}`);if(M.length>5)console.error(` ... and ${M.length-5} more`)}}if(!q.flags.yes&&!q.flags.all){if(!process.stdin.isTTY)j("Cannot prompt for confirmation in non-interactive mode. Use --yes to skip."),process.exit(2);process.stderr.write(`
346
+ ${T.bold("Proceed with installation?")} [y/N] `);let L=await V0();if(L.toLowerCase()!=="y"&&L.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}}if(!Y)console.error(`
347
+ Installing to ${I.targetDir}...`);if(J)return await K2(I,J);return await aq(I)}async function qz(q){if(q.flags.help){eQ();return}let $=q.subcommand;if(!$)j("Missing required argument: <source>"),console.error('Run "asm install --help" for usage.'),process.exit(2);let Z=null,U=()=>{if(Z)qq(Z).finally(()=>process.exit(1));else process.exit(1)};process.on("SIGINT",U),process.on("SIGTERM",U);try{let X=L2($);console.error(`Parsing source: ${$}`),await F2(),console.error(`Cloning ${X.cloneUrl}${X.ref?` (ref: ${X.ref})`:""}...`),Z=await R2(X);let Q=await x(),{provider:z,allProviders:G}=await $q(Q,q.flags.provider,!!process.stdin.isTTY),{join:J}=await import("path"),H=[];if(q.flags.path){let W=J(Z,q.flags.path);try{await e0(W)}catch{throw Error(`No SKILL.md found at path "${q.flags.path}" in the repository.`)}let Y=await z2(q,$,X,Z,W,q.flags.name,Q,z,G);H.push(Y)}else{let W=!1;try{await e0(Z),W=!0}catch{}if(W){let Y=await z2(q,$,X,Z,Z,q.flags.name,Q,z,G);H.push(Y)}else{console.error("No SKILL.md at repository root. Scanning for skills...");let Y=await A2(Z);if(Y.length===0)throw Error("No skills found in this repository. Skills must have a SKILL.md file.");console.error(`Found ${Y.length} skill(s):
348
+ `);for(let O=0;O<Y.length;O++)if(console.error(` ${T.bold(`${O+1})`)} ${Y[O].name} v${Y[O].version} ${T.dim(`(${Y[O].relPath})`)}`),Y[O].description)console.error(` ${Y[O].description}`);let B;if(q.flags.all){if(B=Y.map((O)=>O.relPath),console.error(`
349
+ Installing all ${B.length} skills...`),!q.flags.yes){if(!process.stdin.isTTY)j("Cannot prompt for confirmation in non-interactive mode. Use --yes to skip."),process.exit(2);process.stderr.write(`
350
+ ${T.bold(`Install all ${B.length} skills?`)} [y/N] `);let O=await V0();if(O.toLowerCase()!=="y"&&O.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}}else if(process.stdin.isTTY){process.stderr.write(`
351
+ Enter skill number (or "all"): `);let O=await V0();if(O.toLowerCase()==="all")B=Y.map((V)=>V.relPath);else{let V=parseInt(O,10)-1;if(isNaN(V)||V<0||V>=Y.length)throw Error("Invalid selection. Aborting.");B=[Y[V].relPath]}}else j(`Repository contains ${Y.length} skills. Use --path <subdir> to pick one or --all to install all.
212
352
  Available skills:
213
- ${M.map((G)=>` --path ${G.relPath}`).join(`
353
+ ${Y.map((O)=>` --path ${O.relPath}`).join(`
214
354
  `)}`),process.exit(2);if(B.length>1){if(console.error(`
215
- ${X.bold("Install settings:")}`),console.error(` Source: ${Q}`),U)console.error(` Provider: All (${U.map((G)=>G.label).join(", ")})`),console.error(` Primary: ${Y.label} (${Y.name})`),console.error(` Symlinks: ${U.filter((G)=>G.name!==Y.name).map((G)=>G.label).join(", ")}`);else console.error(` Provider: ${Y.label} (${Y.name})`);console.error("")}let O=[];for(let G=0;G<B.length;G++){let A=B[G],I=V(K,A);try{let F=await p($,Q,Z,K,I,B.length===1?$.flags.name:null,z,Y,U,B.length>1?{index:G+1,total:B.length}:void 0);J.push(F)}catch(F){if(O.push(A),console.error(X.red(` x Failed: ${A} -- ${F.message}`)),B.length===1)throw F}}if(B.length>1&&O.length>0){console.error(`
216
- ${X.yellow(`${O.length} skill(s) failed to install:`)}`);for(let G of O)console.error(` - ${G}`)}}}if(process.removeListener("SIGINT",q),process.removeListener("SIGTERM",q),$.flags.json)console.log(JSON.stringify(J.length===1?J[0]:J,null,2));else if(J.length===1)console.error(X.green(`
217
- Done! Installed "${J[0].name}" to ${J[0].path}`));else console.error(`
218
- ${X.green(`Done! Installed ${J.length} skill(s) successfully.`)}`)}catch(Z){if(process.removeListener("SIGINT",q),process.removeListener("SIGTERM",q),$.flags.json)console.log(JSON.stringify({success:!1,error:Z.message},null,2));else j(Z.message);process.exit(1)}finally{if(K)await f(K)}}function D1(){console.log(`${X.bold("Usage:")} asm export [options]
355
+ ${T.bold("Install settings:")}`),console.error(` Source: ${$}`),G)console.error(` Provider: All (${G.map((O)=>O.label).join(", ")})`),console.error(` Primary: ${z.label} (${z.name})`),console.error(` Symlinks: ${G.filter((O)=>O.name!==z.name).map((O)=>O.label).join(", ")}`);else console.error(` Provider: ${z.label} (${z.name})`);console.error("")}let _=[];for(let O=0;O<B.length;O++){let V=B[O],I=J(Z,V);try{let L=await z2(q,$,X,Z,I,B.length===1?q.flags.name:null,Q,z,G,B.length>1?{index:O+1,total:B.length}:void 0);H.push(L)}catch(L){if(_.push(V),console.error(T.red(` x Failed: ${V} -- ${L.message}`)),B.length===1)throw L}}if(B.length>1&&_.length>0){console.error(`
356
+ ${T.yellow(`${_.length} skill(s) failed to install:`)}`);for(let O of _)console.error(` - ${O}`)}}}if(process.removeListener("SIGINT",U),process.removeListener("SIGTERM",U),q.flags.json)console.log(JSON.stringify(H.length===1?H[0]:H,null,2));else if(H.length===1)console.error(T.green(`
357
+ Done! Installed "${H[0].name}" to ${H[0].path}`));else console.error(`
358
+ ${T.green(`Done! Installed ${H.length} skill(s) successfully.`)}`)}catch(X){if(process.removeListener("SIGINT",U),process.removeListener("SIGTERM",U),q.flags.json)console.log(JSON.stringify({success:!1,error:X.message},null,2));else j(X.message);process.exit(1)}finally{if(Z)await qq(Z)}}function $z(){console.log(`${T.bold("Usage:")} asm export [options]
219
359
 
220
360
  Export skill inventory as a portable JSON manifest. Useful for backup,
221
361
  sharing, or scripting.
222
362
 
223
- ${X.bold("Options:")}
363
+ ${T.bold("Options:")}
224
364
  -s, --scope <s> Filter: global, project, or both (default: both)
225
365
  --no-color Disable ANSI colors
226
366
  -V, --verbose Show debug output
227
367
 
228
- ${X.bold("Examples:")}
229
- asm export ${X.dim("Export all skills")}
230
- asm export -s global ${X.dim("Export global skills only")}
231
- asm export > skills.json ${X.dim("Save to file")}`)}async function b1($){if($.flags.help){D1();return}let Q=await _(),K=await w(Q,$.flags.scope),q=J0(K);console.log(JSON.stringify(q,null,2))}function k1(){console.log(`${X.bold("Usage:")} asm init <name> [options]
368
+ ${T.bold("Examples:")}
369
+ asm export ${T.dim("Export all skills")}
370
+ asm export -s global ${T.dim("Export global skills only")}
371
+ asm export > skills.json ${T.dim("Save to file")}`)}async function Zz(q){if(q.flags.help){$z();return}let $=await x(),Z=await X0($,q.flags.scope),U=g1(Z);console.log(JSON.stringify(U,null,2))}function Uz(){console.log(`${T.bold("Usage:")} asm init <name> [options]
232
372
 
233
373
  Scaffold a new skill directory with a SKILL.md template. Creates a
234
374
  ready-to-edit skill in the target provider's skill folder.
235
375
 
236
- ${X.bold("Options:")}
376
+ ${T.bold("Options:")}
237
377
  -p, --provider <name> Target provider (claude, codex, openclaw, agents)
238
378
  --path <dir> Scaffold in specified directory instead of provider path
239
379
  -f, --force Overwrite if skill already exists
240
380
  --no-color Disable ANSI colors
241
381
  -V, --verbose Show debug output
242
382
 
243
- ${X.bold("Examples:")}
244
- asm init my-skill ${X.dim("Scaffold (interactive provider)")}
245
- asm init my-skill -p claude ${X.dim("Scaffold in Claude Code")}
246
- asm init my-skill --path ./skills ${X.dim("Scaffold in custom directory")}`)}async function f1($){if($.flags.help){k1();return}let Q=$.subcommand;if(!Q)j("Missing required argument: <name>"),console.error('Run "asm init --help" for usage.'),process.exit(2);let K=b(Q),q;if($.flags.path){let{resolve:Z}=await import("path");q=Z($.flags.path)}else{let Z=await _(),{provider:z}=await P(Z,$.flags.provider,!!process.stdin.isTTY),{join:Y}=await import("path"),{resolveProviderPath:U}=await import("./chunk-t7727aqn.js"),V=U(Z.providers.find((J)=>J.name===z.name).global);q=Y(V,K)}if(await M0(q)){if(!$.flags.force){if(!process.stdin.isTTY)j(`Directory already exists: ${q}. Use --force to overwrite.`),process.exit(2);process.stderr.write(`${X.yellow(`Directory already exists: ${q}`)}
247
- ${X.bold("Overwrite?")} [y/N] `);let Z=await x();if(Z.toLowerCase()!=="y"&&Z.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}}await G0(K,q),console.error(X.green(`Done! Created skill "${K}" at ${q}`))}function P1(){console.log(`${X.bold("Usage:")} asm stats [options]
383
+ ${T.bold("Examples:")}
384
+ asm init my-skill ${T.dim("Scaffold (interactive provider)")}
385
+ asm init my-skill -p claude ${T.dim("Scaffold in Claude Code")}
386
+ asm init my-skill --path ./skills ${T.dim("Scaffold in custom directory")}`)}async function Xz(q){if(q.flags.help){Uz();return}let $=q.subcommand;if(!$)j("Missing required argument: <name>"),console.error('Run "asm init --help" for usage.'),process.exit(2);let Z=t0($),U;if(q.flags.path){let{resolve:X}=await import("path");U=X(q.flags.path)}else{let X=await x(),{provider:Q}=await $q(X,q.flags.provider,!!process.stdin.isTTY),{join:z}=await import("path"),{resolveProviderPath:G}=await import("./chunk-wdjcav1v.js"),J=G(X.providers.find((H)=>H.name===Q.name).global);U=z(J,Z)}if(await k1(U)){if(!q.flags.force){if(!process.stdin.isTTY)j(`Directory already exists: ${U}. Use --force to overwrite.`),process.exit(2);process.stderr.write(`${T.yellow(`Directory already exists: ${U}`)}
387
+ ${T.bold("Overwrite?")} [y/N] `);let X=await V0();if(X.toLowerCase()!=="y"&&X.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0)}}await h1(Z,U),console.error(T.green(`Done! Created skill "${Z}" at ${U}`))}function Qz(){console.log(`${T.bold("Usage:")} asm stats [options]
248
388
 
249
389
  Show aggregate skill metrics with provider distribution charts,
250
390
  scope breakdown, disk usage, and duplicate summary.
251
391
 
252
- ${X.bold("Options:")}
392
+ ${T.bold("Options:")}
253
393
  --json Output as JSON
254
394
  -s, --scope <s> Filter: global, project, or both (default: both)
255
395
  --no-color Disable ANSI colors
256
396
  -V, --verbose Show debug output
257
397
 
258
- ${X.bold("Examples:")}
259
- asm stats ${X.dim("Show full dashboard")}
260
- asm stats -s global ${X.dim("Global skills only")}
261
- asm stats --json ${X.dim("Output raw data as JSON")}`)}async function v1($){if($.flags.help){P1();return}let Q=await _(),K=await w(Q,$.flags.scope);if(K.length===0){console.log("No skills found.");return}let q=l(K),Z=await j0(K,q);if($.flags.json)if(!$.flags.verbose){let{perSkillDiskBytes:z,...Y}=Z;console.log(R(Y))}else console.log(R(Z));else console.log(F0(Z))}function h1(){console.log(`${X.bold("Usage:")} asm link <path> [options]
398
+ ${T.bold("Examples:")}
399
+ asm stats ${T.dim("Show full dashboard")}
400
+ asm stats -s global ${T.dim("Global skills only")}
401
+ asm stats --json ${T.dim("Output raw data as JSON")}`)}async function zz(q){if(q.flags.help){Qz();return}let $=await x(),Z=await X0($,q.flags.scope);if(Z.length===0){console.log("No skills found.");return}let U=B2(Z),X=await m1(Z,U);if(q.flags.json)if(!q.flags.verbose){let{perSkillDiskBytes:Q,...z}=X;console.log(U0(z))}else console.log(U0(X));else console.log(p1(X))}function Gz(){console.log(`${T.bold("Usage:")} asm link <path> [options]
262
402
 
263
403
  Symlink a local skill directory into an agent's skill folder. Useful
264
404
  for local development — changes to the source are reflected immediately.
265
405
 
266
- ${X.bold("Options:")}
406
+ ${T.bold("Options:")}
267
407
  -p, --provider <name> Target provider (claude, codex, openclaw, agents)
268
408
  --name <name> Override symlink name (default: directory basename)
269
409
  -f, --force Overwrite if target already exists
@@ -271,8 +411,8 @@ ${X.bold("Options:")}
271
411
  --no-color Disable ANSI colors
272
412
  -V, --verbose Show debug output
273
413
 
274
- ${X.bold("Examples:")}
275
- asm link ./my-skill ${X.dim("Link (interactive provider)")}
276
- asm link ./my-skill -p claude ${X.dim("Link to Claude Code")}
277
- asm link ./my-skill --name alias ${X.dim("Link with custom name")}`)}async function u1($){if($.flags.help){h1();return}let Q=$.subcommand;if(!Q)j("Missing required argument: <path>"),console.error('Run "asm link --help" for usage.'),process.exit(2);let{resolve:K,basename:q}=await import("path"),Z=K(Q),z=await _0(Z),Y=$.flags.name?b($.flags.name):q(Z),U=await _(),{provider:V}=await P(U,$.flags.provider,!!process.stdin.isTTY),{resolveProviderPath:J}=await import("./chunk-t7727aqn.js"),W=J(U.providers.find((O)=>O.name===V.name).global),{join:M}=await import("path"),B=M(W,Y);if(!$.flags.force){let O=!1;try{let{access:G}=await import("fs/promises");await G(B),O=!0}catch{}if(O){if(!process.stdin.isTTY)j(`Target already exists: ${B}. Use --force to overwrite.`),process.exit(2);process.stderr.write(`${X.yellow(`Target already exists: ${B}`)}
278
- ${X.bold("Overwrite?")} [y/N] `);let G=await x();if(G.toLowerCase()!=="y"&&G.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0);await v(Z,W,Y,!0)}else await v(Z,W,Y,!1)}else await v(Z,W,Y,!0);if($.flags.json)console.log(R({success:!0,name:Y,symlinkPath:B,targetPath:Z}));else console.error(X.green(`Done! Linked "${Y}" -> ${Z}`)),console.error(` Symlink: ${B}`),console.error(X.dim(` If you move or delete the source, run "asm uninstall ${Y}" to clean up.`))}async function k0($){let Q=F1($);if(Q.flags.noColor)globalThis.__CLI_NO_COLOR=!0;if(Q.flags.verbose)A0(!0);if(Q.flags.version){console.log(`asm ${i}`);return}if(!Q.command&&Q.flags.help){O1();return}if(!Q.command)return;switch(Q.command){case"list":await I1(Q);break;case"search":await C1(Q);break;case"inspect":await R1(Q);break;case"uninstall":await w1(Q);break;case"audit":await y1(Q);break;case"install":await S1(Q);break;case"config":await x1(Q);break;case"export":await b1(Q);break;case"init":await f1(Q);break;case"stats":await v1(Q);break;case"link":await u1(Q);break;default:j(`Unknown command: "${Q.command}"`),console.error('Run "asm --help" for usage.'),process.exit(2)}}function f0($){let Q=$.slice(2);if(Q.length===0)return!1;let K=["list","search","inspect","uninstall","audit","config","install","export","init","stats","link"],q=Q[0];if(K.includes(q))return!0;if(q==="--help"||q==="-h")return!0;if(q==="--version"||q==="-v")return!0;if(q.startsWith("-")||q.length>0)return!0;return!1}if(f0(process.argv))await k0(process.argv);else await import("./chunk-np9dyaew.js");
414
+ ${T.bold("Examples:")}
415
+ asm link ./my-skill ${T.dim("Link (interactive provider)")}
416
+ asm link ./my-skill -p claude ${T.dim("Link to Claude Code")}
417
+ asm link ./my-skill --name alias ${T.dim("Link with custom name")}`)}async function Jz(q){if(q.flags.help){Gz();return}let $=q.subcommand;if(!$)j("Missing required argument: <path>"),console.error('Run "asm link --help" for usage.'),process.exit(2);let{resolve:Z,basename:U}=await import("path"),X=Z($),Q=await l1(X),z=q.flags.name?t0(q.flags.name):U(X),G=await x(),{provider:J}=await $q(G,q.flags.provider,!!process.stdin.isTTY),{resolveProviderPath:H}=await import("./chunk-wdjcav1v.js"),W=H(G.providers.find((_)=>_.name===J.name).global),{join:Y}=await import("path"),B=Y(W,z);if(!q.flags.force){let _=!1;try{let{access:O}=await import("fs/promises");await O(B),_=!0}catch{}if(_){if(!process.stdin.isTTY)j(`Target already exists: ${B}. Use --force to overwrite.`),process.exit(2);process.stderr.write(`${T.yellow(`Target already exists: ${B}`)}
418
+ ${T.bold("Overwrite?")} [y/N] `);let O=await V0();if(O.toLowerCase()!=="y"&&O.toLowerCase()!=="yes")console.error("Aborted."),process.exit(0);await dq(X,W,z,!0)}else await dq(X,W,z,!1)}else await dq(X,W,z,!0);if(q.flags.json)console.log(U0({success:!0,name:z,symlinkPath:B,targetPath:X}));else console.error(T.green(`Done! Linked "${z}" -> ${X}`)),console.error(` Symlink: ${B}`),console.error(T.dim(` If you move or delete the source, run "asm uninstall ${z}" to clean up.`))}async function z4(q){let $=uQ(q);if($.flags.noColor)globalThis.__CLI_NO_COLOR=!0;if($.flags.verbose)c1(!0);if($.flags.version){console.log(`asm ${V2}`);return}if(!$.command&&$.flags.help){vQ();return}if(!$.command)return;switch($.command){case"list":await iQ($);break;case"search":await sQ($);break;case"inspect":await nQ($);break;case"uninstall":await rQ($);break;case"audit":await oQ($);break;case"install":await qz($);break;case"config":await tQ($);break;case"export":await Zz($);break;case"init":await Xz($);break;case"stats":await zz($);break;case"link":await Jz($);break;default:j(`Unknown command: "${$.command}"`),console.error('Run "asm --help" for usage.'),process.exit(2)}}function G4(q){let $=q.slice(2);if($.length===0)return!1;let Z=["list","search","inspect","uninstall","audit","config","install","export","init","stats","link"],U=$[0];if(Z.includes(U))return!0;if(U==="--help"||U==="-h")return!0;if(U==="--version"||U==="-v")return!0;if(U.startsWith("-")||U.length>0)return!0;return!1}if(G4(process.argv))await z4(process.argv);else await import("./chunk-bgkcwkcs.js");