@codehourra/llm-iwiki 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,514 @@
1
+ #!/usr/bin/env bun
2
+ // @bun
3
+ var E=(s,_)=>()=>(_||s((_={exports:{}}).exports,_),_.exports);var __=import.meta.require;var Y=E((ew)=>{var o_=Symbol.for("yaml.alias"),YT=Symbol.for("yaml.document"),u_=Symbol.for("yaml.map"),zT=Symbol.for("yaml.pair"),su=Symbol.for("yaml.scalar"),T_=Symbol.for("yaml.seq"),p=Symbol.for("yaml.node.type"),pw=(s)=>!!s&&typeof s==="object"&&s[p]===o_,mw=(s)=>!!s&&typeof s==="object"&&s[p]===YT,cw=(s)=>!!s&&typeof s==="object"&&s[p]===u_,kw=(s)=>!!s&&typeof s==="object"&&s[p]===zT,BT=(s)=>!!s&&typeof s==="object"&&s[p]===su,xw=(s)=>!!s&&typeof s==="object"&&s[p]===T_;function GT(s){if(s&&typeof s==="object")switch(s[p]){case u_:case T_:return!0}return!1}function tw(s){if(s&&typeof s==="object")switch(s[p]){case o_:case u_:case su:case T_:return!0}return!1}var vw=(s)=>(BT(s)||GT(s))&&!!s.anchor;ew.ALIAS=o_;ew.DOC=YT;ew.MAP=u_;ew.NODE_TYPE=p;ew.PAIR=zT;ew.SCALAR=su;ew.SEQ=T_;ew.hasAnchor=vw;ew.isAlias=pw;ew.isCollection=GT;ew.isDocument=mw;ew.isMap=cw;ew.isNode=tw;ew.isPair=kw;ew.isScalar=BT;ew.isSeq=xw});var Gs=E((Xf)=>{var j=Y(),V=Symbol("break visit"),WT=Symbol("skip children"),K=Symbol("remove node");function i_(s,_){let u=jT(_);if(j.isDocument(s)){if(Ns(null,s.contents,u,Object.freeze([s]))===K)s.contents=null}else Ns(null,s,u,Object.freeze([]))}i_.BREAK=V;i_.SKIP=WT;i_.REMOVE=K;function Ns(s,_,u,T){let i=JT(s,_,u,T);if(j.isNode(i)||j.isPair(i))return ZT(s,T,i),Ns(s,i,u,T);if(typeof i!=="symbol"){if(j.isCollection(_)){T=Object.freeze(T.concat(_));for(let $=0;$<_.items.length;++$){let w=Ns($,_.items[$],u,T);if(typeof w==="number")$=w-1;else if(w===V)return V;else if(w===K)_.items.splice($,1),$-=1}}else if(j.isPair(_)){T=Object.freeze(T.concat(_));let $=Ns("key",_.key,u,T);if($===V)return V;else if($===K)_.key=null;let w=Ns("value",_.value,u,T);if(w===V)return V;else if(w===K)_.value=null}}return i}async function $_(s,_){let u=jT(_);if(j.isDocument(s)){if(await Xs(null,s.contents,u,Object.freeze([s]))===K)s.contents=null}else await Xs(null,s,u,Object.freeze([]))}$_.BREAK=V;$_.SKIP=WT;$_.REMOVE=K;async function Xs(s,_,u,T){let i=await JT(s,_,u,T);if(j.isNode(i)||j.isPair(i))return ZT(s,T,i),Xs(s,i,u,T);if(typeof i!=="symbol"){if(j.isCollection(_)){T=Object.freeze(T.concat(_));for(let $=0;$<_.items.length;++$){let w=await Xs($,_.items[$],u,T);if(typeof w==="number")$=w-1;else if(w===V)return V;else if(w===K)_.items.splice($,1),$-=1}}else if(j.isPair(_)){T=Object.freeze(T.concat(_));let $=await Xs("key",_.key,u,T);if($===V)return V;else if($===K)_.key=null;let w=await Xs("value",_.value,u,T);if(w===V)return V;else if(w===K)_.value=null}}return i}function jT(s){if(typeof s==="object"&&(s.Collection||s.Node||s.Value))return Object.assign({Alias:s.Node,Map:s.Node,Scalar:s.Node,Seq:s.Node},s.Value&&{Map:s.Value,Scalar:s.Value,Seq:s.Value},s.Collection&&{Map:s.Collection,Seq:s.Collection},s);return s}function JT(s,_,u,T){if(typeof u==="function")return u(s,_,T);if(j.isMap(_))return u.Map?.(s,_,T);if(j.isSeq(_))return u.Seq?.(s,_,T);if(j.isPair(_))return u.Pair?.(s,_,T);if(j.isScalar(_))return u.Scalar?.(s,_,T);if(j.isAlias(_))return u.Alias?.(s,_,T);return}function ZT(s,_,u){let T=_[_.length-1];if(j.isCollection(T))T.items[s]=u;else if(j.isPair(T))if(s==="key")T.key=u;else T.value=u;else if(j.isDocument(T))T.contents=u;else{let i=j.isAlias(T)?"alias":"scalar";throw Error(`Cannot replace node with ${i} parent`)}}Xf.visit=i_;Xf.visitAsync=$_});var _u=E((Df)=>{var MT=Y(),rf=Gs(),Af={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Pf=(s)=>s.replace(/[!,[\]{}]/g,(_)=>Af[_]);class b{constructor(s,_){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},b.defaultYaml,s),this.tags=Object.assign({},b.defaultTags,_)}clone(){let s=new b(this.yaml,this.tags);return s.docStart=this.docStart,s}atDocument(){let s=new b(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:b.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},b.defaultTags);break}return s}add(s,_){if(this.atNextDocument)this.yaml={explicit:b.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},b.defaultTags),this.atNextDocument=!1;let u=s.trim().split(/[ \t]+/),T=u.shift();switch(T){case"%TAG":{if(u.length!==2){if(_(0,"%TAG directive should contain exactly two parts"),u.length<2)return!1}let[i,$]=u;return this.tags[i]=$,!0}case"%YAML":{if(this.yaml.explicit=!0,u.length!==1)return _(0,"%YAML directive should contain exactly one part"),!1;let[i]=u;if(i==="1.1"||i==="1.2")return this.yaml.version=i,!0;else{let $=/^\d+\.\d+$/.test(i);return _(6,`Unsupported YAML version ${i}`,$),!1}}default:return _(0,`Unknown directive ${T}`,!0),!1}}tagName(s,_){if(s==="!")return"!";if(s[0]!=="!")return _(`Not a valid tag: ${s}`),null;if(s[1]==="<"){let $=s.slice(2,-1);if($==="!"||$==="!!")return _(`Verbatim tags aren't resolved, so ${s} is invalid.`),null;if(s[s.length-1]!==">")_("Verbatim tags must end with a >");return $}let[,u,T]=s.match(/^(.*!)([^!]*)$/s);if(!T)_(`The ${s} tag has no suffix`);let i=this.tags[u];if(i)try{return i+decodeURIComponent(T)}catch($){return _(String($)),null}if(u==="!")return s;return _(`Could not resolve tag: ${s}`),null}tagString(s){for(let[_,u]of Object.entries(this.tags))if(s.startsWith(u))return _+Pf(s.substring(u.length));return s[0]==="!"?s:`!<${s}>`}toString(s){let _=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],u=Object.entries(this.tags),T;if(s&&u.length>0&&MT.isNode(s.contents)){let i={};rf.visit(s.contents,($,w)=>{if(MT.isNode(w)&&w.tag)i[w.tag]=!0}),T=Object.keys(i)}else T=[];for(let[i,$]of u){if(i==="!!"&&$==="tag:yaml.org,2002:")continue;if(!s||T.some((w)=>w.startsWith($)))_.push(`%TAG ${i} ${$}`)}return _.join(`
4
+ `)}}b.defaultYaml={explicit:!1,version:"1.2"};b.defaultTags={"!!":"tag:yaml.org,2002:"};Df.Directives=b});var w_=E((Bf)=>{var QT=Y(),Hf=Gs();function Yf(s){if(/[\x00-\x19\s,[\]{}]/.test(s)){let u=`Anchor must not contain whitespace or control characters: ${JSON.stringify(s)}`;throw Error(u)}return!0}function VT(s){let _=new Set;return Hf.visit(s,{Value(u,T){if(T.anchor)_.add(T.anchor)}}),_}function bT(s,_){for(let u=1;;++u){let T=`${s}${u}`;if(!_.has(T))return T}}function zf(s,_){let u=[],T=new Map,i=null;return{onAnchor:($)=>{u.push($),i??(i=VT(s));let w=bT(_,i);return i.add(w),w},setAnchors:()=>{for(let $ of u){let w=T.get($);if(typeof w==="object"&&w.anchor&&(QT.isScalar(w.node)||QT.isCollection(w.node)))w.node.anchor=w.anchor;else{let f=Error("Failed to resolve repeated object (this should not happen)");throw f.source=$,f}}},sourceObjects:T}}Bf.anchorIsValid=Yf;Bf.anchorNames=VT;Bf.createNodeAnchors=zf;Bf.findNewAnchor=bT});var uu=E((Zf)=>{function Ws(s,_,u,T){if(T&&typeof T==="object")if(Array.isArray(T))for(let i=0,$=T.length;i<$;++i){let w=T[i],f=Ws(s,T,String(i),w);if(f===void 0)delete T[i];else if(f!==w)T[i]=f}else if(T instanceof Map)for(let i of Array.from(T.keys())){let $=T.get(i),w=Ws(s,T,i,$);if(w===void 0)T.delete(i);else if(w!==$)T.set(i,w)}else if(T instanceof Set)for(let i of Array.from(T)){let $=Ws(s,T,i,i);if($===void 0)T.delete(i);else if($!==i)T.delete(i),T.add($)}else for(let[i,$]of Object.entries(T)){let w=Ws(s,T,i,$);if(w===void 0)delete T[i];else if(w!==$)T[i]=w}return s.call(_,u,T)}Zf.applyReviver=Ws});var x=E((Vf)=>{var Qf=Y();function CT(s,_,u){if(Array.isArray(s))return s.map((T,i)=>CT(T,String(i),u));if(s&&typeof s.toJSON==="function"){if(!u||!Qf.hasAnchor(s))return s.toJSON(_,u);let T={aliasCount:0,count:1,res:void 0};u.anchors.set(s,T),u.onCreate=($)=>{T.res=$,delete u.onCreate};let i=s.toJSON(_,u);if(u.onCreate)u.onCreate(i);return i}if(typeof s==="bigint"&&!u?.keep)return Number(s);return s}Vf.toJS=CT});var f_=E((lf)=>{var Cf=uu(),nT=Y(),nf=x();class lT{constructor(s){Object.defineProperty(this,nT.NODE_TYPE,{value:s})}clone(){let s=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)s.range=this.range.slice();return s}toJS(s,{mapAsMap:_,maxAliasCount:u,onAnchor:T,reviver:i}={}){if(!nT.isDocument(s))throw TypeError("A document argument is required");let $={anchors:new Map,doc:s,keep:!0,mapAsMap:_===!0,mapKeyWarned:!1,maxAliasCount:typeof u==="number"?u:100},w=nf.toJS(this,"",$);if(typeof T==="function")for(let{count:f,res:g}of $.anchors.values())T(g,f);return typeof i==="function"?Cf.applyReviver(i,{"":w},"",w):w}}lf.NodeBase=lT});var js=E((pf)=>{var Kf=w_(),yf=Gs(),Es=Y(),af=f_(),hf=x();class dT extends af.NodeBase{constructor(s){super(Es.ALIAS);this.source=s,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(s,_){if(_?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");let u;if(_?.aliasResolveCache)u=_.aliasResolveCache;else if(u=[],yf.visit(s,{Node:(i,$)=>{if(Es.isAlias($)||Es.hasAnchor($))u.push($)}}),_)_.aliasResolveCache=u;let T=void 0;for(let i of u){if(i===this)break;if(i.anchor===this.source)T=i}return T}toJSON(s,_){if(!_)return{source:this.source};let{anchors:u,doc:T,maxAliasCount:i}=_,$=this.resolve(T,_);if(!$){let f=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(f)}let w=u.get($);if(!w)hf.toJS($,null,_),w=u.get($);if(w?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0){if(w.count+=1,w.aliasCount===0)w.aliasCount=g_(T,$,u);if(w.count*w.aliasCount>i)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return w.res}toString(s,_,u){let T=`*${this.source}`;if(s){if(Kf.anchorIsValid(this.source),s.options.verifyAliasOrder&&!s.anchors.has(this.source)){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(i)}if(s.implicitKey)return`${T} `}return T}}function g_(s,_,u){if(Es.isAlias(_)){let T=_.resolve(s),i=u&&T&&u.get(T);return i?i.count*i.aliasCount:0}else if(Es.isCollection(_)){let T=0;for(let i of _.items){let $=g_(s,i,u);if($>T)T=$}return T}else if(Es.isPair(_)){let T=g_(s,_.key,u),i=g_(s,_.value,u);return Math.max(T,i)}return 1}pf.Alias=dT});var B=E((vf)=>{var cf=Y(),kf=f_(),xf=x(),tf=(s)=>!s||typeof s!=="function"&&typeof s!=="object";class ws extends kf.NodeBase{constructor(s){super(cf.SCALAR);this.value=s}toJSON(s,_){return _?.keep?this.value:xf.toJS(this.value,s,_)}toString(){return String(this.value)}}ws.BLOCK_FOLDED="BLOCK_FOLDED";ws.BLOCK_LITERAL="BLOCK_LITERAL";ws.PLAIN="PLAIN";ws.QUOTE_DOUBLE="QUOTE_DOUBLE";ws.QUOTE_SINGLE="QUOTE_SINGLE";vf.Scalar=ws;vf.isScalarValue=tf});var Js=E((ig)=>{var sg=js(),fs=Y(),KT=B(),_g="tag:yaml.org,2002:";function ug(s,_,u){if(_){let T=u.filter(($)=>$.tag===_),i=T.find(($)=>!$.format)??T[0];if(!i)throw Error(`Tag ${_} not found`);return i}return u.find((T)=>T.identify?.(s)&&!T.format)}function Tg(s,_,u){if(fs.isDocument(s))s=s.contents;if(fs.isNode(s))return s;if(fs.isPair(s)){let L=u.schema[fs.MAP].createNode?.(u.schema,null,u);return L.items.push(s),L}if(s instanceof String||s instanceof Number||s instanceof Boolean||typeof BigInt<"u"&&s instanceof BigInt)s=s.valueOf();let{aliasDuplicateObjects:T,onAnchor:i,onTagObj:$,schema:w,sourceObjects:f}=u,g=void 0;if(T&&s&&typeof s==="object")if(g=f.get(s),g)return g.anchor??(g.anchor=i(s)),new sg.Alias(g.anchor);else g={anchor:null,node:null},f.set(s,g);if(_?.startsWith("!!"))_=_g+_.slice(2);let R=ug(s,_,w.tags);if(!R){if(s&&typeof s.toJSON==="function")s=s.toJSON();if(!s||typeof s!=="object"){let L=new KT.Scalar(s);if(g)g.node=L;return L}R=s instanceof Map?w[fs.MAP]:(Symbol.iterator in Object(s))?w[fs.SEQ]:w[fs.MAP]}if($)$(R),delete u.onTagObj;let O=R?.createNode?R.createNode(u.schema,s,u):typeof R?.nodeClass?.from==="function"?R.nodeClass.from(u.schema,s,u):new KT.Scalar(s);if(_)O.tag=_;else if(!R.default)O.tag=R.tag;if(g)g.node=O;return O}ig.createNode=Tg});var R_=E((gg)=>{var wg=Js(),y=Y(),fg=f_();function Tu(s,_,u){let T=u;for(let i=_.length-1;i>=0;--i){let $=_[i];if(typeof $==="number"&&Number.isInteger($)&&$>=0){let w=[];w[$]=T,T=w}else T=new Map([[$,T]])}return wg.createNode(T,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:s,sourceObjects:new Map})}var yT=(s)=>s==null||typeof s==="object"&&!!s[Symbol.iterator]().next().done;class aT extends fg.NodeBase{constructor(s,_){super(s);Object.defineProperty(this,"schema",{value:_,configurable:!0,enumerable:!1,writable:!0})}clone(s){let _=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(s)_.schema=s;if(_.items=_.items.map((u)=>y.isNode(u)||y.isPair(u)?u.clone(s):u),this.range)_.range=this.range.slice();return _}addIn(s,_){if(yT(s))this.add(_);else{let[u,...T]=s,i=this.get(u,!0);if(y.isCollection(i))i.addIn(T,_);else if(i===void 0&&this.schema)this.set(u,Tu(this.schema,T,_));else throw Error(`Expected YAML collection at ${u}. Remaining path: ${T}`)}}deleteIn(s){let[_,...u]=s;if(u.length===0)return this.delete(_);let T=this.get(_,!0);if(y.isCollection(T))return T.deleteIn(u);else throw Error(`Expected YAML collection at ${_}. Remaining path: ${u}`)}getIn(s,_){let[u,...T]=s,i=this.get(u,!0);if(T.length===0)return!_&&y.isScalar(i)?i.value:i;else return y.isCollection(i)?i.getIn(T,_):void 0}hasAllNullValues(s){return this.items.every((_)=>{if(!y.isPair(_))return!1;let u=_.value;return u==null||s&&y.isScalar(u)&&u.value==null&&!u.commentBefore&&!u.comment&&!u.tag})}hasIn(s){let[_,...u]=s;if(u.length===0)return this.has(_);let T=this.get(_,!0);return y.isCollection(T)?T.hasIn(u):!1}setIn(s,_){let[u,...T]=s;if(T.length===0)this.set(u,_);else{let i=this.get(u,!0);if(y.isCollection(i))i.setIn(T,_);else if(i===void 0&&this.schema)this.set(u,Tu(this.schema,T,_));else throw Error(`Expected YAML collection at ${u}. Remaining path: ${T}`)}}}gg.Collection=aT;gg.collectionFromPath=Tu;gg.isEmptyPath=yT});var Zs=E((Ug)=>{var Sg=(s)=>s.replace(/^(?!$)(?: $)?/gm,"#");function iu(s,_){if(/^\n+$/.test(s))return s.substring(1);return _?s.replace(/^(?! *$)/gm,_):s}var Og=(s,_,u)=>s.endsWith(`
5
+ `)?iu(u,_):u.includes(`
6
+ `)?`
7
+ `+iu(u,_):(s.endsWith(" ")?"":" ")+u;Ug.indentComment=iu;Ug.lineComment=Og;Ug.stringifyComment=Sg});var pT=E((rg)=>{function qg(s,_,u="flow",{indentAtStart:T,lineWidth:i=80,minContentWidth:$=20,onFold:w,onOverflow:f}={}){if(!i||i<0)return s;if(i<$)$=0;let g=Math.max(1+$,1+i-_.length);if(s.length<=g)return s;let R=[],O={},L=i-_.length;if(typeof T==="number")if(T>i-Math.max(2,$))R.push(0);else L=i-T;let I=void 0,U=void 0,X=!1,S=-1,N=-1,q=-1;if(u==="block"){if(S=hT(s,S,_.length),S!==-1)L=S+g}for(let P;P=s[S+=1];){if(u==="quoted"&&P==="\\"){switch(N=S,s[S+1]){case"x":S+=3;break;case"u":S+=5;break;case"U":S+=9;break;default:S+=1}q=S}if(P===`
8
+ `){if(u==="block")S=hT(s,S,_.length);L=S+_.length+g,I=void 0}else{if(P===" "&&U&&U!==" "&&U!==`
9
+ `&&U!=="\t"){let D=s[S+1];if(D&&D!==" "&&D!==`
10
+ `&&D!=="\t")I=S}if(S>=L)if(I)R.push(I),L=I+g,I=void 0;else if(u==="quoted"){while(U===" "||U==="\t")U=P,P=s[S+=1],X=!0;let D=S>q+1?S-2:N-1;if(O[D])return s;R.push(D),O[D]=!0,L=D+g,I=void 0}else X=!0}U=P}if(X&&f)f();if(R.length===0)return s;if(w)w();let A=s.slice(0,R[0]);for(let P=0;P<R.length;++P){let D=R[P],F=R[P+1]||s.length;if(D===0)A=`
11
+ ${_}${s.slice(0,F)}`;else{if(u==="quoted"&&O[D])A+=`${s[D]}\\`;A+=`
12
+ ${_}${s.slice(D+1,F)}`}}return A}function hT(s,_,u){let T=_,i=_+1,$=s[i];while($===" "||$==="\t")if(_<i+u)$=s[++_];else{do $=s[++_];while($&&$!==`
13
+ `);T=_,i=_+1,$=s[i]}return T}rg.FOLD_BLOCK="block";rg.FOLD_FLOW="flow";rg.FOLD_QUOTED="quoted";rg.foldFlowLines=qg});var Qs=E((Bg)=>{var l=B(),t=pT(),I_=(s,_)=>({indentAtStart:_?s.indent.length:s.indentAtStart,lineWidth:s.options.lineWidth,minContentWidth:s.options.minContentWidth}),S_=(s)=>/^(%|---|\.\.\.)/m.test(s);function Hg(s,_,u){if(!_||_<0)return!1;let T=_-u,i=s.length;if(i<=T)return!1;for(let $=0,w=0;$<i;++$)if(s[$]===`
14
+ `){if($-w>T)return!0;if(w=$+1,i-w<=T)return!1}return!0}function Ms(s,_){let u=JSON.stringify(s);if(_.options.doubleQuotedAsJSON)return u;let{implicitKey:T}=_,i=_.options.doubleQuotedMinMultiLineLength,$=_.indent||(S_(s)?" ":""),w="",f=0;for(let g=0,R=u[g];R;R=u[++g]){if(R===" "&&u[g+1]==="\\"&&u[g+2]==="n")w+=u.slice(f,g)+"\\ ",g+=1,f=g,R="\\";if(R==="\\")switch(u[g+1]){case"u":{w+=u.slice(f,g);let O=u.substr(g+2,4);switch(O){case"0000":w+="\\0";break;case"0007":w+="\\a";break;case"000b":w+="\\v";break;case"001b":w+="\\e";break;case"0085":w+="\\N";break;case"00a0":w+="\\_";break;case"2028":w+="\\L";break;case"2029":w+="\\P";break;default:if(O.substr(0,2)==="00")w+="\\x"+O.substr(2);else w+=u.substr(g,6)}g+=5,f=g+1}break;case"n":if(T||u[g+2]==='"'||u.length<i)g+=1;else{w+=u.slice(f,g)+`
15
+
16
+ `;while(u[g+2]==="\\"&&u[g+3]==="n"&&u[g+4]!=='"')w+=`
17
+ `,g+=2;if(w+=$,u[g+2]===" ")w+="\\";g+=1,f=g+1}break;default:g+=1}}return w=f?w+u.slice(f):u,T?w:t.foldFlowLines(w,$,t.FOLD_QUOTED,I_(_,!1))}function $u(s,_){if(_.options.singleQuote===!1||_.implicitKey&&s.includes(`
18
+ `)||/[ \t]\n|\n[ \t]/.test(s))return Ms(s,_);let u=_.indent||(S_(s)?" ":""),T="'"+s.replace(/'/g,"''").replace(/\n+/g,`$&
19
+ ${u}`)+"'";return _.implicitKey?T:t.foldFlowLines(T,u,t.FOLD_FLOW,I_(_,!1))}function qs(s,_){let{singleQuote:u}=_.options,T;if(u===!1)T=Ms;else{let i=s.includes('"'),$=s.includes("'");if(i&&!$)T=$u;else if($&&!i)T=Ms;else T=u?$u:Ms}return T(s,_)}var wu;try{wu=new RegExp(`(^|(?<!
20
+ ))
21
+ +(?!
22
+ |$)`,"g")}catch{wu=/\n+(?!\n|$)/g}function L_({comment:s,type:_,value:u},T,i,$){let{blockQuote:w,commentString:f,lineWidth:g}=T.options;if(!w||/\n[\t ]+$/.test(u))return qs(u,T);let R=T.indent||(T.forceBlockIndent||S_(u)?" ":""),O=w==="literal"?!0:w==="folded"||_===l.Scalar.BLOCK_FOLDED?!1:_===l.Scalar.BLOCK_LITERAL?!0:!Hg(u,g,R.length);if(!u)return O?`|
23
+ `:`>
24
+ `;let L,I;for(I=u.length;I>0;--I){let F=u[I-1];if(F!==`
25
+ `&&F!=="\t"&&F!==" ")break}let U=u.substring(I),X=U.indexOf(`
26
+ `);if(X===-1)L="-";else if(u===U||X!==U.length-1){if(L="+",$)$()}else L="";if(U){if(u=u.slice(0,-U.length),U[U.length-1]===`
27
+ `)U=U.slice(0,-1);U=U.replace(wu,`$&${R}`)}let S=!1,N,q=-1;for(N=0;N<u.length;++N){let F=u[N];if(F===" ")S=!0;else if(F===`
28
+ `)q=N;else break}let A=u.substring(0,q<N?q+1:N);if(A)u=u.substring(A.length),A=A.replace(/\n+/g,`$&${R}`);let D=(S?R?"2":"1":"")+L;if(s){if(D+=" "+f(s.replace(/ ?[\r\n]+/g," ")),i)i()}if(!O){let F=u.replace(/\n+/g,`
29
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${R}`),H=!1,z=I_(T,!0);if(w!=="folded"&&_!==l.Scalar.BLOCK_FOLDED)z.onOverflow=()=>{H=!0};let r=t.foldFlowLines(`${A}${F}${U}`,R,t.FOLD_BLOCK,z);if(!H)return`>${D}
30
+ ${R}${r}`}return u=u.replace(/\n+/g,`$&${R}`),`|${D}
31
+ ${R}${A}${u}${U}`}function Yg(s,_,u,T){let{type:i,value:$}=s,{actualString:w,implicitKey:f,indent:g,indentStep:R,inFlow:O}=_;if(f&&$.includes(`
32
+ `)||O&&/[[\]{},]/.test($))return qs($,_);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test($))return f||O||!$.includes(`
33
+ `)?qs($,_):L_(s,_,u,T);if(!f&&!O&&i!==l.Scalar.PLAIN&&$.includes(`
34
+ `))return L_(s,_,u,T);if(S_($)){if(g==="")return _.forceBlockIndent=!0,L_(s,_,u,T);else if(f&&g===R)return qs($,_)}let L=$.replace(/\n+/g,`$&
35
+ ${g}`);if(w){let I=(S)=>S.default&&S.tag!=="tag:yaml.org,2002:str"&&S.test?.test(L),{compat:U,tags:X}=_.doc.schema;if(X.some(I)||U?.some(I))return qs($,_)}return f?L:t.foldFlowLines(L,g,t.FOLD_FLOW,I_(_,!1))}function zg(s,_,u,T){let{implicitKey:i,inFlow:$}=_,w=typeof s.value==="string"?s:Object.assign({},s,{value:String(s.value)}),{type:f}=s;if(f!==l.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(w.value))f=l.Scalar.QUOTE_DOUBLE}let g=(O)=>{switch(O){case l.Scalar.BLOCK_FOLDED:case l.Scalar.BLOCK_LITERAL:return i||$?qs(w.value,_):L_(w,_,u,T);case l.Scalar.QUOTE_DOUBLE:return Ms(w.value,_);case l.Scalar.QUOTE_SINGLE:return $u(w.value,_);case l.Scalar.PLAIN:return Yg(w,_,u,T);default:return null}},R=g(f);if(R===null){let{defaultKeyType:O,defaultStringType:L}=_.options,I=i&&O||L;if(R=g(I),R===null)throw Error(`Unsupported default string type ${I}`)}return R}Bg.stringifyString=zg});var Vs=E((bg)=>{var Wg=w_(),v=Y(),jg=Zs(),Jg=Qs();function Zg(s,_){let u=Object.assign({blockQuote:!0,commentString:jg.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},s.schema.toStringOptions,_),T;switch(u.collectionStyle){case"block":T=!1;break;case"flow":T=!0;break;default:T=null}return{anchors:new Set,doc:s,flowCollectionPadding:u.flowCollectionPadding?" ":"",indent:"",indentStep:typeof u.indent==="number"?" ".repeat(u.indent):" ",inFlow:T,options:u}}function Mg(s,_){if(_.tag){let i=s.filter(($)=>$.tag===_.tag);if(i.length>0)return i.find(($)=>$.format===_.format)??i[0]}let u=void 0,T;if(v.isScalar(_)){T=_.value;let i=s.filter(($)=>$.identify?.(T));if(i.length>1){let $=i.filter((w)=>w.test);if($.length>0)i=$}u=i.find(($)=>$.format===_.format)??i.find(($)=>!$.format)}else T=_,u=s.find((i)=>i.nodeClass&&T instanceof i.nodeClass);if(!u){let i=T?.constructor?.name??(T===null?"null":typeof T);throw Error(`Tag not resolved for ${i} value`)}return u}function Qg(s,_,{anchors:u,doc:T}){if(!T.directives)return"";let i=[],$=(v.isScalar(s)||v.isCollection(s))&&s.anchor;if($&&Wg.anchorIsValid($))u.add($),i.push(`&${$}`);let w=s.tag??(_.default?null:_.tag);if(w)i.push(T.directives.tagString(w));return i.join(" ")}function Vg(s,_,u,T){if(v.isPair(s))return s.toString(_,u,T);if(v.isAlias(s)){if(_.doc.directives)return s.toString(_);if(_.resolvedAliases?.has(s))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(_.resolvedAliases)_.resolvedAliases.add(s);else _.resolvedAliases=new Set([s]);s=s.resolve(_.doc)}}let i=void 0,$=v.isNode(s)?s:_.doc.createNode(s,{onTagObj:(g)=>i=g});i??(i=Mg(_.doc.schema.tags,$));let w=Qg($,i,_);if(w.length>0)_.indentAtStart=(_.indentAtStart??0)+w.length+1;let f=typeof i.stringify==="function"?i.stringify($,_,u,T):v.isScalar($)?Jg.stringifyString($,_,u,T):$.toString(_,u,T);if(!w)return f;return v.isScalar($)||f[0]==="{"||f[0]==="["?`${w} ${f}`:`${w}
36
+ ${_.indent}${f}`}bg.createStringifyContext=Zg;bg.stringify=Vg});var kT=E((dg)=>{var m=Y(),mT=B(),cT=Vs(),bs=Zs();function lg({key:s,value:_},u,T,i){let{allNullValues:$,doc:w,indent:f,indentStep:g,options:{commentString:R,indentSeq:O,simpleKeys:L}}=u,I=m.isNode(s)&&s.comment||null;if(L){if(I)throw Error("With simple keys, key nodes cannot have comments");if(m.isCollection(s)||!m.isNode(s)&&typeof s==="object")throw Error("With simple keys, collection cannot be used as a key value")}let U=!L&&(!s||I&&_==null&&!u.inFlow||m.isCollection(s)||(m.isScalar(s)?s.type===mT.Scalar.BLOCK_FOLDED||s.type===mT.Scalar.BLOCK_LITERAL:typeof s==="object"));u=Object.assign({},u,{allNullValues:!1,implicitKey:!U&&(L||!$),indent:f+g});let X=!1,S=!1,N=cT.stringify(s,u,()=>X=!0,()=>S=!0);if(!U&&!u.inFlow&&N.length>1024){if(L)throw Error("With simple keys, single line scalar must not span more than 1024 characters");U=!0}if(u.inFlow){if($||_==null){if(X&&T)T();return N===""?"?":U?`? ${N}`:N}}else if($&&!L||_==null&&U){if(N=`? ${N}`,I&&!X)N+=bs.lineComment(N,u.indent,R(I));else if(S&&i)i();return N}if(X)I=null;if(U){if(I)N+=bs.lineComment(N,u.indent,R(I));N=`? ${N}
37
+ ${f}:`}else if(N=`${N}:`,I)N+=bs.lineComment(N,u.indent,R(I));let q,A,P;if(m.isNode(_))q=!!_.spaceBefore,A=_.commentBefore,P=_.comment;else if(q=!1,A=null,P=null,_&&typeof _==="object")_=w.createNode(_);if(u.implicitKey=!1,!U&&!I&&m.isScalar(_))u.indentAtStart=N.length+1;if(S=!1,!O&&g.length>=2&&!u.inFlow&&!U&&m.isSeq(_)&&!_.flow&&!_.tag&&!_.anchor)u.indent=u.indent.substring(2);let D=!1,F=cT.stringify(_,u,()=>D=!0,()=>S=!0),H=" ";if(I||q||A){if(H=q?`
38
+ `:"",A){let z=R(A);H+=`
39
+ ${bs.indentComment(z,u.indent)}`}if(F===""&&!u.inFlow){if(H===`
40
+ `&&P)H=`
41
+
42
+ `}else H+=`
43
+ ${u.indent}`}else if(!U&&m.isCollection(_)){let z=F[0],r=F.indexOf(`
44
+ `),G=r!==-1,k=u.inFlow??_.flow??_.items.length===0;if(G||!k){let Us=!1;if(G&&(z==="&"||z==="!")){let W=F.indexOf(" ");if(z==="&"&&W!==-1&&W<r&&F[W+1]==="!")W=F.indexOf(" ",W+1);if(W===-1||r<W)Us=!0}if(!Us)H=`
45
+ ${u.indent}`}}else if(F===""||F[0]===`
46
+ `)H="";if(N+=H+F,u.inFlow){if(D&&T)T()}else if(P&&!D)N+=bs.lineComment(N,u.indent,R(P));else if(S&&i)i();return N}dg.stringifyPair=lg});var fu=E((hg)=>{var xT=__("process");function yg(s,..._){if(s==="debug")console.log(..._)}function ag(s,_){if(s==="debug"||s==="warn")if(typeof xT.emitWarning==="function")xT.emitWarning(_);else console.warn(_)}hg.debug=yg;hg.warn=ag});var X_=E((kg)=>{var N_=Y(),tT=B(),O_="<<",U_={identify:(s)=>s===O_||typeof s==="symbol"&&s.description===O_,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new tT.Scalar(Symbol(O_)),{addToJSMap:vT}),stringify:()=>O_},cg=(s,_)=>(U_.identify(_)||N_.isScalar(_)&&(!_.type||_.type===tT.Scalar.PLAIN)&&U_.identify(_.value))&&s?.doc.schema.tags.some((u)=>u.tag===U_.tag&&u.default);function vT(s,_,u){let T=eT(s,u);if(N_.isSeq(T))for(let i of T.items)gu(s,_,i);else if(Array.isArray(T))for(let i of T)gu(s,_,i);else gu(s,_,T)}function gu(s,_,u){let T=eT(s,u);if(!N_.isMap(T))throw Error("Merge sources must be maps or map aliases");let i=T.toJSON(null,s,Map);for(let[$,w]of i)if(_ instanceof Map){if(!_.has($))_.set($,w)}else if(_ instanceof Set)_.add($);else if(!Object.prototype.hasOwnProperty.call(_,$))Object.defineProperty(_,$,{value:w,writable:!0,enumerable:!0,configurable:!0});return _}function eT(s,_){return s&&N_.isAlias(_)?_.resolve(s.doc,s):_}kg.addMergeToJSMap=vT;kg.isMergeKey=cg;kg.merge=U_});var Lu=E((uR)=>{var eg=fu(),oT=X_(),og=Vs(),si=Y(),Ru=x();function sR(s,_,{key:u,value:T}){if(si.isNode(u)&&u.addToJSMap)u.addToJSMap(s,_,T);else if(oT.isMergeKey(s,u))oT.addMergeToJSMap(s,_,T);else{let i=Ru.toJS(u,"",s);if(_ instanceof Map)_.set(i,Ru.toJS(T,i,s));else if(_ instanceof Set)_.add(i);else{let $=_R(u,i,s),w=Ru.toJS(T,$,s);if($ in _)Object.defineProperty(_,$,{value:w,writable:!0,enumerable:!0,configurable:!0});else _[$]=w}}return _}function _R(s,_,u){if(_===null)return"";if(typeof _!=="object")return String(_);if(si.isNode(s)&&u?.doc){let T=og.createStringifyContext(u.doc,{});T.anchors=new Set;for(let $ of u.anchors.keys())T.anchors.add($.anchor);T.inFlow=!0,T.inStringifyKey=!0;let i=s.toString(T);if(!u.mapKeyWarned){let $=JSON.stringify(i);if($.length>40)$=$.substring(0,36)+'..."';eg.warn(u.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${$}. Set mapAsMap: true to use object keys.`),u.mapKeyWarned=!0}return i}return JSON.stringify(_)}uR.addPairToJSMap=sR});var e=E((fR)=>{var _i=Js(),iR=kT(),$R=Lu(),E_=Y();function wR(s,_,u){let T=_i.createNode(s,void 0,u),i=_i.createNode(_,void 0,u);return new q_(T,i)}class q_{constructor(s,_=null){Object.defineProperty(this,E_.NODE_TYPE,{value:E_.PAIR}),this.key=s,this.value=_}clone(s){let{key:_,value:u}=this;if(E_.isNode(_))_=_.clone(s);if(E_.isNode(u))u=u.clone(s);return new q_(_,u)}toJSON(s,_){let u=_?.mapAsMap?new Map:{};return $R.addPairToJSMap(_,u,this)}toString(s,_,u){return s?.doc?iR.stringifyPair(this,s,_,u):JSON.stringify(this)}}fR.Pair=q_;fR.createPair=wR});var Iu=E((OR)=>{var gs=Y(),ui=Vs(),r_=Zs();function LR(s,_,u){return(_.inFlow??s.flow?SR:IR)(s,_,u)}function IR({comment:s,items:_},u,{blockItemPrefix:T,flowChars:i,itemIndent:$,onChompKeep:w,onComment:f}){let{indent:g,options:{commentString:R}}=u,O=Object.assign({},u,{indent:$,type:null}),L=!1,I=[];for(let X=0;X<_.length;++X){let S=_[X],N=null;if(gs.isNode(S)){if(!L&&S.spaceBefore)I.push("");if(A_(u,I,S.commentBefore,L),S.comment)N=S.comment}else if(gs.isPair(S)){let A=gs.isNode(S.key)?S.key:null;if(A){if(!L&&A.spaceBefore)I.push("");A_(u,I,A.commentBefore,L)}}L=!1;let q=ui.stringify(S,O,()=>N=null,()=>L=!0);if(N)q+=r_.lineComment(q,$,R(N));if(L&&N)L=!1;I.push(T+q)}let U;if(I.length===0)U=i.start+i.end;else{U=I[0];for(let X=1;X<I.length;++X){let S=I[X];U+=S?`
47
+ ${g}${S}`:`
48
+ `}}if(s){if(U+=`
49
+ `+r_.indentComment(R(s),g),f)f()}else if(L&&w)w();return U}function SR({items:s},_,{flowChars:u,itemIndent:T}){let{indent:i,indentStep:$,flowCollectionPadding:w,options:{commentString:f}}=_;T+=$;let g=Object.assign({},_,{indent:T,inFlow:!0,type:null}),R=!1,O=0,L=[];for(let X=0;X<s.length;++X){let S=s[X],N=null;if(gs.isNode(S)){if(S.spaceBefore)L.push("");if(A_(_,L,S.commentBefore,!1),S.comment)N=S.comment}else if(gs.isPair(S)){let A=gs.isNode(S.key)?S.key:null;if(A){if(A.spaceBefore)L.push("");if(A_(_,L,A.commentBefore,!1),A.comment)R=!0}let P=gs.isNode(S.value)?S.value:null;if(P){if(P.comment)N=P.comment;if(P.commentBefore)R=!0}else if(S.value==null&&A?.comment)N=A.comment}if(N)R=!0;let q=ui.stringify(S,g,()=>N=null);if(R||(R=L.length>O||q.includes(`
50
+ `)),X<s.length-1)q+=",";else if(_.options.trailingComma){if(_.options.lineWidth>0)R||(R=L.reduce((A,P)=>A+P.length+2,2)+(q.length+2)>_.options.lineWidth);if(R)q+=","}if(N)q+=r_.lineComment(q,T,f(N));L.push(q),O=L.length}let{start:I,end:U}=u;if(L.length===0)return I+U;else{if(!R){let X=L.reduce((S,N)=>S+N.length+2,2);R=_.options.lineWidth>0&&X>_.options.lineWidth}if(R){let X=I;for(let S of L)X+=S?`
51
+ ${$}${i}${S}`:`
52
+ `;return`${X}
53
+ ${i}${U}`}else return`${I}${w}${L.join(" ")}${w}${U}`}}function A_({indent:s,options:{commentString:_}},u,T,i){if(T&&i)T=T.replace(/^\n+/,"");if(T){let $=r_.indentComment(_(T),s);u.push($.trimStart())}}OR.stringifyCollection=LR});var ss=E((rR)=>{var NR=Iu(),XR=Lu(),ER=R_(),o=Y(),P_=e(),qR=B();function Cs(s,_){let u=o.isScalar(_)?_.value:_;for(let T of s)if(o.isPair(T)){if(T.key===_||T.key===u)return T;if(o.isScalar(T.key)&&T.key.value===u)return T}return}class Ti extends ER.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(s){super(o.MAP,s);this.items=[]}static from(s,_,u){let{keepUndefined:T,replacer:i}=u,$=new this(s),w=(f,g)=>{if(typeof i==="function")g=i.call(_,f,g);else if(Array.isArray(i)&&!i.includes(f))return;if(g!==void 0||T)$.items.push(P_.createPair(f,g,u))};if(_ instanceof Map)for(let[f,g]of _)w(f,g);else if(_&&typeof _==="object")for(let f of Object.keys(_))w(f,_[f]);if(typeof s.sortMapEntries==="function")$.items.sort(s.sortMapEntries);return $}add(s,_){let u;if(o.isPair(s))u=s;else if(!s||typeof s!=="object"||!("key"in s))u=new P_.Pair(s,s?.value);else u=new P_.Pair(s.key,s.value);let T=Cs(this.items,u.key),i=this.schema?.sortMapEntries;if(T){if(!_)throw Error(`Key ${u.key} already set`);if(o.isScalar(T.value)&&qR.isScalarValue(u.value))T.value.value=u.value;else T.value=u.value}else if(i){let $=this.items.findIndex((w)=>i(u,w)<0);if($===-1)this.items.push(u);else this.items.splice($,0,u)}else this.items.push(u)}delete(s){let _=Cs(this.items,s);if(!_)return!1;return this.items.splice(this.items.indexOf(_),1).length>0}get(s,_){let T=Cs(this.items,s)?.value;return(!_&&o.isScalar(T)?T.value:T)??void 0}has(s){return!!Cs(this.items,s)}set(s,_){this.add(new P_.Pair(s,_),!0)}toJSON(s,_,u){let T=u?new u:_?.mapAsMap?new Map:{};if(_?.onCreate)_.onCreate(T);for(let i of this.items)XR.addPairToJSMap(_,T,i);return T}toString(s,_,u){if(!s)return JSON.stringify(this);for(let T of this.items)if(!o.isPair(T))throw Error(`Map items must all be pairs; found ${JSON.stringify(T)} instead`);if(!s.allNullValues&&this.hasAllNullValues(!1))s=Object.assign({},s,{allNullValues:!0});return NR.stringifyCollection(this,s,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:s.indent||"",onChompKeep:u,onComment:_})}}rR.YAMLMap=Ti;rR.findPair=Cs});var rs=E((HR)=>{var DR=Y(),ii=ss(),FR={collection:"map",default:!0,nodeClass:ii.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(s,_){if(!DR.isMap(s))_("Expected a mapping for this tag");return s},createNode:(s,_,u)=>ii.YAMLMap.from(s,_,u)};HR.map=FR});var _s=E((JR)=>{var zR=Js(),BR=Iu(),GR=R_(),F_=Y(),WR=B(),jR=x();class $i extends GR.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(s){super(F_.SEQ,s);this.items=[]}add(s){this.items.push(s)}delete(s){let _=D_(s);if(typeof _!=="number")return!1;return this.items.splice(_,1).length>0}get(s,_){let u=D_(s);if(typeof u!=="number")return;let T=this.items[u];return!_&&F_.isScalar(T)?T.value:T}has(s){let _=D_(s);return typeof _==="number"&&_<this.items.length}set(s,_){let u=D_(s);if(typeof u!=="number")throw Error(`Expected a valid index, not ${s}.`);let T=this.items[u];if(F_.isScalar(T)&&WR.isScalarValue(_))T.value=_;else this.items[u]=_}toJSON(s,_){let u=[];if(_?.onCreate)_.onCreate(u);let T=0;for(let i of this.items)u.push(jR.toJS(i,String(T++),_));return u}toString(s,_,u){if(!s)return JSON.stringify(this);return BR.stringifyCollection(this,s,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(s.indent||"")+" ",onChompKeep:u,onComment:_})}static from(s,_,u){let{replacer:T}=u,i=new this(s);if(_&&Symbol.iterator in Object(_)){let $=0;for(let w of _){if(typeof T==="function"){let f=_ instanceof Set?w:String($++);w=T.call(_,f,w)}i.items.push(zR.createNode(w,void 0,u))}}return i}}function D_(s){let _=F_.isScalar(s)?s.value:s;if(_&&typeof _==="string")_=Number(_);return typeof _==="number"&&Number.isInteger(_)&&_>=0?_:null}JR.YAMLSeq=$i});var As=E((VR)=>{var MR=Y(),wi=_s(),QR={collection:"seq",default:!0,nodeClass:wi.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(s,_){if(!MR.isSeq(s))_("Expected a sequence for this tag");return s},createNode:(s,_,u)=>wi.YAMLSeq.from(s,_,u)};VR.seq=QR});var ns=E((lR)=>{var CR=Qs(),nR={identify:(s)=>typeof s==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(s)=>s,stringify(s,_,u,T){return _=Object.assign({actualString:!0},_),CR.stringifyString(s,_,u,T)}};lR.string=nR});var H_=E((KR)=>{var fi=B(),gi={identify:(s)=>s==null,createNode:()=>new fi.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new fi.Scalar(null),stringify:({source:s},_)=>typeof s==="string"&&gi.test.test(s)?s:_.options.nullStr};KR.nullTag=gi});var Su=E((hR)=>{var aR=B(),Ri={identify:(s)=>typeof s==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(s)=>new aR.Scalar(s[0]==="t"||s[0]==="T"),stringify({source:s,value:_},u){if(s&&Ri.test.test(s)){let T=s[0]==="t"||s[0]==="T";if(_===T)return s}return _?u.options.trueStr:u.options.falseStr}};hR.boolTag=Ri});var Ps=E((cR)=>{function mR({format:s,minFractionDigits:_,tag:u,value:T}){if(typeof T==="bigint")return String(T);let i=typeof T==="number"?T:Number(T);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let $=Object.is(T,-0)?"-0":JSON.stringify(T);if(!s&&_&&(!u||u==="tag:yaml.org,2002:float")&&/^-?\d/.test($)&&!$.includes("e")){let w=$.indexOf(".");if(w<0)w=$.length,$+=".";let f=_-($.length-w-1);while(f-- >0)$+="0"}return $}cR.stringifyNumber=mR});var Uu=E((oR)=>{var xR=B(),Ou=Ps(),tR={identify:(s)=>typeof s==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(s)=>s.slice(-3).toLowerCase()==="nan"?NaN:s[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Ou.stringifyNumber},vR={identify:(s)=>typeof s==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(s)=>parseFloat(s),stringify(s){let _=Number(s.value);return isFinite(_)?_.toExponential():Ou.stringifyNumber(s)}},eR={identify:(s)=>typeof s==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(s){let _=new xR.Scalar(parseFloat(s)),u=s.indexOf(".");if(u!==-1&&s[s.length-1]==="0")_.minFractionDigits=s.length-u-1;return _},stringify:Ou.stringifyNumber};oR.float=eR;oR.floatExp=vR;oR.floatNaN=tR});var Xu=E((wL)=>{var Li=Ps(),Y_=(s)=>typeof s==="bigint"||Number.isInteger(s),Nu=(s,_,u,{intAsBigInt:T})=>T?BigInt(s):parseInt(s.substring(_),u);function Ii(s,_,u){let{value:T}=s;if(Y_(T)&&T>=0)return u+T.toString(_);return Li.stringifyNumber(s)}var TL={identify:(s)=>Y_(s)&&s>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(s,_,u)=>Nu(s,2,8,u),stringify:(s)=>Ii(s,8,"0o")},iL={identify:Y_,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(s,_,u)=>Nu(s,0,10,u),stringify:Li.stringifyNumber},$L={identify:(s)=>Y_(s)&&s>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(s,_,u)=>Nu(s,2,16,u),stringify:(s)=>Ii(s,16,"0x")};wL.int=iL;wL.intHex=$L;wL.intOct=TL});var Si=E((XL)=>{var LL=rs(),IL=H_(),SL=As(),OL=ns(),UL=Su(),Eu=Uu(),qu=Xu(),NL=[LL.map,SL.seq,OL.string,IL.nullTag,UL.boolTag,qu.intOct,qu.int,qu.intHex,Eu.floatNaN,Eu.floatExp,Eu.float];XL.schema=NL});var Ui=E((HL)=>{var qL=B(),rL=rs(),AL=As();function Oi(s){return typeof s==="bigint"||Number.isInteger(s)}var z_=({value:s})=>JSON.stringify(s),PL=[{identify:(s)=>typeof s==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(s)=>s,stringify:z_},{identify:(s)=>s==null,createNode:()=>new qL.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:z_},{identify:(s)=>typeof s==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(s)=>s==="true",stringify:z_},{identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(s,_,{intAsBigInt:u})=>u?BigInt(s):parseInt(s,10),stringify:({value:s})=>Oi(s)?s.toString():JSON.stringify(s)},{identify:(s)=>typeof s==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(s)=>parseFloat(s),stringify:z_}],DL={default:!0,tag:"",test:/^/,resolve(s,_){return _(`Unresolved plain scalar ${JSON.stringify(s)}`),s}},FL=[rL.map,AL.seq].concat(PL,DL);HL.schema=FL});var Au=E((GL)=>{var ls=__("buffer"),ru=B(),zL=Qs(),BL={identify:(s)=>s instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(s,_){if(typeof ls.Buffer==="function")return ls.Buffer.from(s,"base64");else if(typeof atob==="function"){let u=atob(s.replace(/[\n\r]/g,"")),T=new Uint8Array(u.length);for(let i=0;i<u.length;++i)T[i]=u.charCodeAt(i);return T}else return _("This environment does not support reading binary tags; either Buffer or atob is required"),s},stringify({comment:s,type:_,value:u},T,i,$){if(!u)return"";let w=u,f;if(typeof ls.Buffer==="function")f=w instanceof ls.Buffer?w.toString("base64"):ls.Buffer.from(w.buffer).toString("base64");else if(typeof btoa==="function"){let g="";for(let R=0;R<w.length;++R)g+=String.fromCharCode(w[R]);f=btoa(g)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(_??(_=ru.Scalar.BLOCK_LITERAL),_!==ru.Scalar.QUOTE_DOUBLE){let g=Math.max(T.options.lineWidth-T.indent.length,T.options.minContentWidth),R=Math.ceil(f.length/g),O=Array(R);for(let L=0,I=0;L<R;++L,I+=g)O[L]=f.substr(I,g);f=O.join(_===ru.Scalar.BLOCK_LITERAL?`
54
+ `:" ")}return zL.stringifyString({comment:s,type:_,value:f},T,i,$)}};GL.binary=BL});var G_=E((ML)=>{var B_=Y(),Pu=e(),jL=B(),JL=_s();function Ni(s,_){if(B_.isSeq(s))for(let u=0;u<s.items.length;++u){let T=s.items[u];if(B_.isPair(T))continue;else if(B_.isMap(T)){if(T.items.length>1)_("Each pair must have its own sequence indicator");let i=T.items[0]||new Pu.Pair(new jL.Scalar(null));if(T.commentBefore)i.key.commentBefore=i.key.commentBefore?`${T.commentBefore}
55
+ ${i.key.commentBefore}`:T.commentBefore;if(T.comment){let $=i.value??i.key;$.comment=$.comment?`${T.comment}
56
+ ${$.comment}`:T.comment}T=i}s.items[u]=B_.isPair(T)?T:new Pu.Pair(T)}else _("Expected a sequence for this tag");return s}function Xi(s,_,u){let{replacer:T}=u,i=new JL.YAMLSeq(s);i.tag="tag:yaml.org,2002:pairs";let $=0;if(_&&Symbol.iterator in Object(_))for(let w of _){if(typeof T==="function")w=T.call(_,String($++),w);let f,g;if(Array.isArray(w))if(w.length===2)f=w[0],g=w[1];else throw TypeError(`Expected [key, value] tuple: ${w}`);else if(w&&w instanceof Object){let R=Object.keys(w);if(R.length===1)f=R[0],g=w[f];else throw TypeError(`Expected tuple with one key, not ${R.length} keys`)}else f=w;i.items.push(Pu.createPair(f,g,u))}return i}var ZL={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Ni,createNode:Xi};ML.createPairs=Xi;ML.pairs=ZL;ML.resolvePairs=Ni});var Fu=E((lL)=>{var Ei=Y(),Du=x(),ds=ss(),CL=_s(),qi=G_();class Rs extends CL.YAMLSeq{constructor(){super();this.add=ds.YAMLMap.prototype.add.bind(this),this.delete=ds.YAMLMap.prototype.delete.bind(this),this.get=ds.YAMLMap.prototype.get.bind(this),this.has=ds.YAMLMap.prototype.has.bind(this),this.set=ds.YAMLMap.prototype.set.bind(this),this.tag=Rs.tag}toJSON(s,_){if(!_)return super.toJSON(s);let u=new Map;if(_?.onCreate)_.onCreate(u);for(let T of this.items){let i,$;if(Ei.isPair(T))i=Du.toJS(T.key,"",_),$=Du.toJS(T.value,i,_);else i=Du.toJS(T,"",_);if(u.has(i))throw Error("Ordered maps must not include duplicate keys");u.set(i,$)}return u}static from(s,_,u){let T=qi.createPairs(s,_,u),i=new this;return i.items=T.items,i}}Rs.tag="tag:yaml.org,2002:omap";var nL={collection:"seq",identify:(s)=>s instanceof Map,nodeClass:Rs,default:!1,tag:"tag:yaml.org,2002:omap",resolve(s,_){let u=qi.resolvePairs(s,_),T=[];for(let{key:i}of u.items)if(Ei.isScalar(i))if(T.includes(i.value))_(`Ordered maps must not include duplicate keys: ${i.value}`);else T.push(i.value);return Object.assign(new Rs,u)},createNode:(s,_,u)=>Rs.from(s,_,u)};lL.YAMLOMap=Rs;lL.omap=nL});var Fi=E((yL)=>{var ri=B();function Ai({value:s,source:_},u){if(_&&(s?Pi:Di).test.test(_))return _;return s?u.options.trueStr:u.options.falseStr}var Pi={identify:(s)=>s===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new ri.Scalar(!0),stringify:Ai},Di={identify:(s)=>s===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new ri.Scalar(!1),stringify:Ai};yL.falseTag=Di;yL.trueTag=Pi});var Hi=E((xL)=>{var pL=B(),Hu=Ps(),mL={identify:(s)=>typeof s==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(s)=>s.slice(-3).toLowerCase()==="nan"?NaN:s[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Hu.stringifyNumber},cL={identify:(s)=>typeof s==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(s)=>parseFloat(s.replace(/_/g,"")),stringify(s){let _=Number(s.value);return isFinite(_)?_.toExponential():Hu.stringifyNumber(s)}},kL={identify:(s)=>typeof s==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(s){let _=new pL.Scalar(parseFloat(s.replace(/_/g,""))),u=s.indexOf(".");if(u!==-1){let T=s.substring(u+1).replace(/_/g,"");if(T[T.length-1]==="0")_.minFractionDigits=T.length}return _},stringify:Hu.stringifyNumber};xL.float=kL;xL.floatExp=cL;xL.floatNaN=mL});var zi=E((T0)=>{var Yi=Ps(),Ks=(s)=>typeof s==="bigint"||Number.isInteger(s);function W_(s,_,u,{intAsBigInt:T}){let i=s[0];if(i==="-"||i==="+")_+=1;if(s=s.substring(_).replace(/_/g,""),T){switch(u){case 2:s=`0b${s}`;break;case 8:s=`0o${s}`;break;case 16:s=`0x${s}`;break}let w=BigInt(s);return i==="-"?BigInt(-1)*w:w}let $=parseInt(s,u);return i==="-"?-1*$:$}function Yu(s,_,u){let{value:T}=s;if(Ks(T)){let i=T.toString(_);return T<0?"-"+u+i.substr(1):u+i}return Yi.stringifyNumber(s)}var oL={identify:Ks,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(s,_,u)=>W_(s,2,2,u),stringify:(s)=>Yu(s,2,"0b")},s0={identify:Ks,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(s,_,u)=>W_(s,1,8,u),stringify:(s)=>Yu(s,8,"0")},_0={identify:Ks,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(s,_,u)=>W_(s,0,10,u),stringify:Yi.stringifyNumber},u0={identify:Ks,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(s,_,u)=>W_(s,2,16,u),stringify:(s)=>Yu(s,16,"0x")};T0.int=_0;T0.intBin=oL;T0.intHex=u0;T0.intOct=s0});var zu=E((R0)=>{var Z_=Y(),j_=e(),J_=ss();class Ls extends J_.YAMLMap{constructor(s){super(s);this.tag=Ls.tag}add(s){let _;if(Z_.isPair(s))_=s;else if(s&&typeof s==="object"&&"key"in s&&"value"in s&&s.value===null)_=new j_.Pair(s.key,null);else _=new j_.Pair(s,null);if(!J_.findPair(this.items,_.key))this.items.push(_)}get(s,_){let u=J_.findPair(this.items,s);return!_&&Z_.isPair(u)?Z_.isScalar(u.key)?u.key.value:u.key:u}set(s,_){if(typeof _!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof _}`);let u=J_.findPair(this.items,s);if(u&&!_)this.items.splice(this.items.indexOf(u),1);else if(!u&&_)this.items.push(new j_.Pair(s))}toJSON(s,_){return super.toJSON(s,_,Set)}toString(s,_,u){if(!s)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},s,{allNullValues:!0}),_,u);else throw Error("Set items must all have null values")}static from(s,_,u){let{replacer:T}=u,i=new this(s);if(_&&Symbol.iterator in Object(_))for(let $ of _){if(typeof T==="function")$=T.call(_,$,$);i.items.push(j_.createPair($,null,u))}return i}}Ls.tag="tag:yaml.org,2002:set";var g0={collection:"map",identify:(s)=>s instanceof Set,nodeClass:Ls,default:!1,tag:"tag:yaml.org,2002:set",createNode:(s,_,u)=>Ls.from(s,_,u),resolve(s,_){if(Z_.isMap(s))if(s.hasAllNullValues(!0))return Object.assign(new Ls,s);else _("Set items must all have null values");else _("Expected a mapping for this tag");return s}};R0.YAMLSet=Ls;R0.set=g0});var Gu=E((N0)=>{var S0=Ps();function Bu(s,_){let u=s[0],T=u==="-"||u==="+"?s.substring(1):s,i=(w)=>_?BigInt(w):Number(w),$=T.replace(/_/g,"").split(":").reduce((w,f)=>w*i(60)+i(f),i(0));return u==="-"?i(-1)*$:$}function Bi(s){let{value:_}=s,u=(w)=>w;if(typeof _==="bigint")u=(w)=>BigInt(w);else if(isNaN(_)||!isFinite(_))return S0.stringifyNumber(s);let T="";if(_<0)T="-",_*=u(-1);let i=u(60),$=[_%i];if(_<60)$.unshift(0);else if(_=(_-$[0])/i,$.unshift(_%i),_>=60)_=(_-$[0])/i,$.unshift(_);return T+$.map((w)=>String(w).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var O0={identify:(s)=>typeof s==="bigint"||Number.isInteger(s),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(s,_,{intAsBigInt:u})=>Bu(s,u),stringify:Bi},U0={identify:(s)=>typeof s==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(s)=>Bu(s,!1),stringify:Bi},Gi={identify:(s)=>s 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(s){let _=s.match(Gi.test);if(!_)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,u,T,i,$,w,f]=_.map(Number),g=_[7]?Number((_[7]+"00").substr(1,3)):0,R=Date.UTC(u,T-1,i,$||0,w||0,f||0,g),O=_[8];if(O&&O!=="Z"){let L=Bu(O,!1);if(Math.abs(L)<30)L*=60;R-=60000*L}return new Date(R)},stringify:({value:s})=>s?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};N0.floatTime=U0;N0.intTime=O0;N0.timestamp=Gi});var ji=E((W0)=>{var r0=rs(),A0=H_(),P0=As(),D0=ns(),F0=Au(),Wi=Fi(),Wu=Hi(),M_=zi(),H0=X_(),Y0=Fu(),z0=G_(),B0=zu(),ju=Gu(),G0=[r0.map,P0.seq,D0.string,A0.nullTag,Wi.trueTag,Wi.falseTag,M_.intBin,M_.intOct,M_.int,M_.intHex,Wu.floatNaN,Wu.floatExp,Wu.float,F0.binary,H0.merge,Y0.omap,z0.pairs,B0.set,ju.intTime,ju.floatTime,ju.timestamp];W0.schema=G0});var di=E((n0)=>{var Qi=rs(),J0=H_(),Vi=As(),Z0=ns(),M0=Su(),Ju=Uu(),Zu=Xu(),Q0=Si(),V0=Ui(),bi=Au(),ys=X_(),Ci=Fu(),ni=G_(),Ji=ji(),li=zu(),Q_=Gu(),Zi=new Map([["core",Q0.schema],["failsafe",[Qi.map,Vi.seq,Z0.string]],["json",V0.schema],["yaml11",Ji.schema],["yaml-1.1",Ji.schema]]),Mi={binary:bi.binary,bool:M0.boolTag,float:Ju.float,floatExp:Ju.floatExp,floatNaN:Ju.floatNaN,floatTime:Q_.floatTime,int:Zu.int,intHex:Zu.intHex,intOct:Zu.intOct,intTime:Q_.intTime,map:Qi.map,merge:ys.merge,null:J0.nullTag,omap:Ci.omap,pairs:ni.pairs,seq:Vi.seq,set:li.set,timestamp:Q_.timestamp},b0={"tag:yaml.org,2002:binary":bi.binary,"tag:yaml.org,2002:merge":ys.merge,"tag:yaml.org,2002:omap":Ci.omap,"tag:yaml.org,2002:pairs":ni.pairs,"tag:yaml.org,2002:set":li.set,"tag:yaml.org,2002:timestamp":Q_.timestamp};function C0(s,_,u){let T=Zi.get(_);if(T&&!s)return u&&!T.includes(ys.merge)?T.concat(ys.merge):T.slice();let i=T;if(!i)if(Array.isArray(s))i=[];else{let $=Array.from(Zi.keys()).filter((w)=>w!=="yaml11").map((w)=>JSON.stringify(w)).join(", ");throw Error(`Unknown schema "${_}"; use one of ${$} or define customTags array`)}if(Array.isArray(s))for(let $ of s)i=i.concat($);else if(typeof s==="function")i=s(i.slice());if(u)i=i.concat(ys.merge);return i.reduce(($,w)=>{let f=typeof w==="string"?Mi[w]:w;if(!f){let g=JSON.stringify(w),R=Object.keys(Mi).map((O)=>JSON.stringify(O)).join(", ");throw Error(`Unknown custom tag ${g}; use one of ${R}`)}if(!$.includes(f))$.push(f);return $},[])}n0.coreKnownTags=b0;n0.getTags=C0});var Vu=E((p0)=>{var Mu=Y(),K0=rs(),y0=As(),a0=ns(),V_=di(),h0=(s,_)=>s.key<_.key?-1:s.key>_.key?1:0;class Qu{constructor({compat:s,customTags:_,merge:u,resolveKnownTags:T,schema:i,sortMapEntries:$,toStringDefaults:w}){this.compat=Array.isArray(s)?V_.getTags(s,"compat"):s?V_.getTags(null,s):null,this.name=typeof i==="string"&&i||"core",this.knownTags=T?V_.coreKnownTags:{},this.tags=V_.getTags(_,this.name,u),this.toStringOptions=w??null,Object.defineProperty(this,Mu.MAP,{value:K0.map}),Object.defineProperty(this,Mu.SCALAR,{value:a0.string}),Object.defineProperty(this,Mu.SEQ,{value:y0.seq}),this.sortMapEntries=typeof $==="function"?$:$===!0?h0:null}clone(){let s=Object.create(Qu.prototype,Object.getOwnPropertyDescriptors(this));return s.tags=this.tags.slice(),s}}p0.Schema=Qu});var Ki=E((x0)=>{var c0=Y(),bu=Vs(),as=Zs();function k0(s,_){let u=[],T=_.directives===!0;if(_.directives!==!1&&s.directives){let g=s.directives.toString(s);if(g)u.push(g),T=!0;else if(s.directives.docStart)T=!0}if(T)u.push("---");let i=bu.createStringifyContext(s,_),{commentString:$}=i.options;if(s.commentBefore){if(u.length!==1)u.unshift("");let g=$(s.commentBefore);u.unshift(as.indentComment(g,""))}let w=!1,f=null;if(s.contents){if(c0.isNode(s.contents)){if(s.contents.spaceBefore&&T)u.push("");if(s.contents.commentBefore){let O=$(s.contents.commentBefore);u.push(as.indentComment(O,""))}i.forceBlockIndent=!!s.comment,f=s.contents.comment}let g=f?void 0:()=>w=!0,R=bu.stringify(s.contents,i,()=>f=null,g);if(f)R+=as.lineComment(R,"",$(f));if((R[0]==="|"||R[0]===">")&&u[u.length-1]==="---")u[u.length-1]=`--- ${R}`;else u.push(R)}else u.push(bu.stringify(s.contents,i));if(s.directives?.docEnd)if(s.comment){let g=$(s.comment);if(g.includes(`
57
+ `))u.push("..."),u.push(as.indentComment(g,""));else u.push(`... ${g}`)}else u.push("...");else{let g=s.comment;if(g&&w)g=g.replace(/^\n+/,"");if(g){if((!w||f)&&u[u.length-1]!=="")u.push("");u.push(as.indentComment($(g),""))}}return u.join(`
58
+ `)+`
59
+ `}x0.stringifyDocument=k0});var hs=E((iI)=>{var v0=js(),Ds=R_(),C=Y(),e0=e(),o0=x(),sI=Vu(),_I=Ki(),Cu=w_(),uI=uu(),TI=Js(),nu=_u();class lu{constructor(s,_,u){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,C.NODE_TYPE,{value:C.DOC});let T=null;if(typeof _==="function"||Array.isArray(_))T=_;else if(u===void 0&&_)u=_,_=void 0;let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},u);this.options=i;let{version:$}=i;if(u?._directives){if(this.directives=u._directives.atDocument(),this.directives.yaml.explicit)$=this.directives.yaml.version}else this.directives=new nu.Directives({version:$});this.setSchema($,u),this.contents=s===void 0?null:this.createNode(s,T,u)}clone(){let s=Object.create(lu.prototype,{[C.NODE_TYPE]:{value:C.DOC}});if(s.commentBefore=this.commentBefore,s.comment=this.comment,s.errors=this.errors.slice(),s.warnings=this.warnings.slice(),s.options=Object.assign({},this.options),this.directives)s.directives=this.directives.clone();if(s.schema=this.schema.clone(),s.contents=C.isNode(this.contents)?this.contents.clone(s.schema):this.contents,this.range)s.range=this.range.slice();return s}add(s){if(Fs(this.contents))this.contents.add(s)}addIn(s,_){if(Fs(this.contents))this.contents.addIn(s,_)}createAlias(s,_){if(!s.anchor){let u=Cu.anchorNames(this);s.anchor=!_||u.has(_)?Cu.findNewAnchor(_||"a",u):_}return new v0.Alias(s.anchor)}createNode(s,_,u){let T=void 0;if(typeof _==="function")s=_.call({"":s},"",s),T=_;else if(Array.isArray(_)){let S=(q)=>typeof q==="number"||q instanceof String||q instanceof Number,N=_.filter(S).map(String);if(N.length>0)_=_.concat(N);T=_}else if(u===void 0&&_)u=_,_=void 0;let{aliasDuplicateObjects:i,anchorPrefix:$,flow:w,keepUndefined:f,onTagObj:g,tag:R}=u??{},{onAnchor:O,setAnchors:L,sourceObjects:I}=Cu.createNodeAnchors(this,$||"a"),U={aliasDuplicateObjects:i??!0,keepUndefined:f??!1,onAnchor:O,onTagObj:g,replacer:T,schema:this.schema,sourceObjects:I},X=TI.createNode(s,R,U);if(w&&C.isCollection(X))X.flow=!0;return L(),X}createPair(s,_,u={}){let T=this.createNode(s,null,u),i=this.createNode(_,null,u);return new e0.Pair(T,i)}delete(s){return Fs(this.contents)?this.contents.delete(s):!1}deleteIn(s){if(Ds.isEmptyPath(s)){if(this.contents==null)return!1;return this.contents=null,!0}return Fs(this.contents)?this.contents.deleteIn(s):!1}get(s,_){return C.isCollection(this.contents)?this.contents.get(s,_):void 0}getIn(s,_){if(Ds.isEmptyPath(s))return!_&&C.isScalar(this.contents)?this.contents.value:this.contents;return C.isCollection(this.contents)?this.contents.getIn(s,_):void 0}has(s){return C.isCollection(this.contents)?this.contents.has(s):!1}hasIn(s){if(Ds.isEmptyPath(s))return this.contents!==void 0;return C.isCollection(this.contents)?this.contents.hasIn(s):!1}set(s,_){if(this.contents==null)this.contents=Ds.collectionFromPath(this.schema,[s],_);else if(Fs(this.contents))this.contents.set(s,_)}setIn(s,_){if(Ds.isEmptyPath(s))this.contents=_;else if(this.contents==null)this.contents=Ds.collectionFromPath(this.schema,Array.from(s),_);else if(Fs(this.contents))this.contents.setIn(s,_)}setSchema(s,_={}){if(typeof s==="number")s=String(s);let u;switch(s){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new nu.Directives({version:"1.1"});u={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=s;else this.directives=new nu.Directives({version:s});u={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;u=null;break;default:{let T=JSON.stringify(s);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${T}`)}}if(_.schema instanceof Object)this.schema=_.schema;else if(u)this.schema=new sI.Schema(Object.assign(u,_));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:s,jsonArg:_,mapAsMap:u,maxAliasCount:T,onAnchor:i,reviver:$}={}){let w={anchors:new Map,doc:this,keep:!s,mapAsMap:u===!0,mapKeyWarned:!1,maxAliasCount:typeof T==="number"?T:100},f=o0.toJS(this.contents,_??"",w);if(typeof i==="function")for(let{count:g,res:R}of w.anchors.values())i(R,g);return typeof $==="function"?uI.applyReviver($,{"":f},"",f):f}toJSON(s,_){return this.toJS({json:!0,jsonArg:s,mapAsMap:!1,onAnchor:_})}toString(s={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in s&&(!Number.isInteger(s.indent)||Number(s.indent)<=0)){let _=JSON.stringify(s.indent);throw Error(`"indent" option must be a positive integer, not ${_}`)}return _I.stringifyDocument(this,s)}}function Fs(s){if(C.isCollection(s))return!0;throw Error("Expected a YAML collection as document contents")}iI.Document=lu});var ps=E((fI)=>{class b_ extends Error{constructor(s,_,u,T){super();this.name=s,this.code=u,this.message=T,this.pos=_}}class yi extends b_{constructor(s,_,u){super("YAMLParseError",s,_,u)}}class ai extends b_{constructor(s,_,u){super("YAMLWarning",s,_,u)}}var wI=(s,_)=>(u)=>{if(u.pos[0]===-1)return;u.linePos=u.pos.map((f)=>_.linePos(f));let{line:T,col:i}=u.linePos[0];u.message+=` at line ${T}, column ${i}`;let $=i-1,w=s.substring(_.lineStarts[T-1],_.lineStarts[T]).replace(/[\n\r]+$/,"");if($>=60&&w.length>80){let f=Math.min($-39,w.length-79);w="\u2026"+w.substring(f),$-=f-1}if(w.length>80)w=w.substring(0,79)+"\u2026";if(T>1&&/^ *$/.test(w.substring(0,$))){let f=s.substring(_.lineStarts[T-2],_.lineStarts[T-1]);if(f.length>80)f=f.substring(0,79)+`\u2026
60
+ `;w=f+w}if(/[^ ]/.test(w)){let f=1,g=u.linePos[1];if(g?.line===T&&g.col>i)f=Math.max(1,Math.min(g.col-i,80-$));let R=" ".repeat($)+"^".repeat(f);u.message+=`:
61
+
62
+ ${w}
63
+ ${R}
64
+ `}};fI.YAMLError=b_;fI.YAMLParseError=yi;fI.YAMLWarning=ai;fI.prettifyError=wI});var ms=E((OI)=>{function SI(s,{flow:_,indicator:u,next:T,offset:i,onError:$,parentIndent:w,startOnNewline:f}){let g=!1,R=f,O=f,L="",I="",U=!1,X=!1,S=null,N=null,q=null,A=null,P=null,D=null,F=null;for(let r of s){if(X){if(r.type!=="space"&&r.type!=="newline"&&r.type!=="comma")$(r.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");X=!1}if(S){if(R&&r.type!=="comment"&&r.type!=="newline")$(S,"TAB_AS_INDENT","Tabs are not allowed as indentation");S=null}switch(r.type){case"space":if(!_&&(u!=="doc-start"||T?.type!=="flow-collection")&&r.source.includes("\t"))S=r;O=!0;break;case"comment":{if(!O)$(r,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let G=r.source.substring(1)||" ";if(!L)L=G;else L+=I+G;I="",R=!1;break}case"newline":if(R){if(L)L+=r.source;else if(!D||u!=="seq-item-ind")g=!0}else I+=r.source;if(R=!0,U=!0,N||q)A=r;O=!0;break;case"anchor":if(N)$(r,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(r.source.endsWith(":"))$(r.offset+r.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);N=r,F??(F=r.offset),R=!1,O=!1,X=!0;break;case"tag":{if(q)$(r,"MULTIPLE_TAGS","A node can have at most one tag");q=r,F??(F=r.offset),R=!1,O=!1,X=!0;break}case u:if(N||q)$(r,"BAD_PROP_ORDER",`Anchors and tags must be after the ${r.source} indicator`);if(D)$(r,"UNEXPECTED_TOKEN",`Unexpected ${r.source} in ${_??"collection"}`);D=r,R=u==="seq-item-ind"||u==="explicit-key-ind",O=!1;break;case"comma":if(_){if(P)$(r,"UNEXPECTED_TOKEN",`Unexpected , in ${_}`);P=r,R=!1,O=!1;break}default:$(r,"UNEXPECTED_TOKEN",`Unexpected ${r.type} token`),R=!1,O=!1}}let H=s[s.length-1],z=H?H.offset+H.source.length:i;if(X&&T&&T.type!=="space"&&T.type!=="newline"&&T.type!=="comma"&&(T.type!=="scalar"||T.source!==""))$(T.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(S&&(R&&S.indent<=w||T?.type==="block-map"||T?.type==="block-seq"))$(S,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:P,found:D,spaceBefore:g,comment:L,hasNewline:U,anchor:N,tag:q,newlineAfterProp:A,end:z,start:F??z}}OI.resolveProps=SI});var C_=E((NI)=>{function du(s){if(!s)return null;switch(s.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(s.source.includes(`
65
+ `))return!0;if(s.end){for(let _ of s.end)if(_.type==="newline")return!0}return!1;case"flow-collection":for(let _ of s.items){for(let u of _.start)if(u.type==="newline")return!0;if(_.sep){for(let u of _.sep)if(u.type==="newline")return!0}if(du(_.key)||du(_.value))return!0}return!1;default:return!0}}NI.containsNewline=du});var Ku=E((rI)=>{var EI=C_();function qI(s,_,u){if(_?.type==="flow-collection"){let T=_.end[0];if(T.indent===s&&(T.source==="]"||T.source==="}")&&EI.containsNewline(_))u(T,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}rI.flowIndentCheck=qI});var yu=E((DI)=>{var hi=Y();function PI(s,_,u){let{uniqueKeys:T}=s.options;if(T===!1)return!1;let i=typeof T==="function"?T:($,w)=>$===w||hi.isScalar($)&&hi.isScalar(w)&&$.value===w.value;return _.some(($)=>i($.key,u))}DI.mapIncludes=PI});var xi=E((GI)=>{var pi=e(),HI=ss(),mi=ms(),YI=C_(),ci=Ku(),zI=yu(),ki="All mapping items must start at the same column";function BI({composeNode:s,composeEmptyNode:_},u,T,i,$){let f=new($?.nodeClass??HI.YAMLMap)(u.schema);if(u.atRoot)u.atRoot=!1;let g=T.offset,R=null;for(let O of T.items){let{start:L,key:I,sep:U,value:X}=O,S=mi.resolveProps(L,{indicator:"explicit-key-ind",next:I??U?.[0],offset:g,onError:i,parentIndent:T.indent,startOnNewline:!0}),N=!S.found;if(N){if(I){if(I.type==="block-seq")i(g,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in I&&I.indent!==T.indent)i(g,"BAD_INDENT",ki)}if(!S.anchor&&!S.tag&&!U){if(R=S.end,S.comment)if(f.comment)f.comment+=`
66
+ `+S.comment;else f.comment=S.comment;continue}if(S.newlineAfterProp||YI.containsNewline(I))i(I??L[L.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(S.found?.indent!==T.indent)i(g,"BAD_INDENT",ki);u.atKey=!0;let q=S.end,A=I?s(u,I,S,i):_(u,q,L,null,S,i);if(u.schema.compat)ci.flowIndentCheck(T.indent,I,i);if(u.atKey=!1,zI.mapIncludes(u,f.items,A))i(q,"DUPLICATE_KEY","Map keys must be unique");let P=mi.resolveProps(U??[],{indicator:"map-value-ind",next:X,offset:A.range[2],onError:i,parentIndent:T.indent,startOnNewline:!I||I.type==="block-scalar"});if(g=P.end,P.found){if(N){if(X?.type==="block-map"&&!P.hasNewline)i(g,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(u.options.strict&&S.start<P.found.offset-1024)i(A.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let D=X?s(u,X,P,i):_(u,g,U,null,P,i);if(u.schema.compat)ci.flowIndentCheck(T.indent,X,i);g=D.range[2];let F=new pi.Pair(A,D);if(u.options.keepSourceTokens)F.srcToken=O;f.items.push(F)}else{if(N)i(A.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(P.comment)if(A.comment)A.comment+=`
67
+ `+P.comment;else A.comment=P.comment;let D=new pi.Pair(A);if(u.options.keepSourceTokens)D.srcToken=O;f.items.push(D)}}if(R&&R<g)i(R,"IMPOSSIBLE","Map comment with trailing content");return f.range=[T.offset,g,R??g],f}GI.resolveBlockMap=BI});var ti=E((QI)=>{var jI=_s(),JI=ms(),ZI=Ku();function MI({composeNode:s,composeEmptyNode:_},u,T,i,$){let f=new($?.nodeClass??jI.YAMLSeq)(u.schema);if(u.atRoot)u.atRoot=!1;if(u.atKey)u.atKey=!1;let g=T.offset,R=null;for(let{start:O,value:L}of T.items){let I=JI.resolveProps(O,{indicator:"seq-item-ind",next:L,offset:g,onError:i,parentIndent:T.indent,startOnNewline:!0});if(!I.found)if(I.anchor||I.tag||L)if(L?.type==="block-seq")i(I.end,"BAD_INDENT","All sequence items must start at the same column");else i(g,"MISSING_CHAR","Sequence item without - indicator");else{if(R=I.end,I.comment)f.comment=I.comment;continue}let U=L?s(u,L,I,i):_(u,I.end,O,null,I,i);if(u.schema.compat)ZI.flowIndentCheck(T.indent,L,i);g=U.range[2],f.items.push(U)}return f.range=[T.offset,g,R??g],f}QI.resolveBlockSeq=MI});var Hs=E((CI)=>{function bI(s,_,u,T){let i="";if(s){let $=!1,w="";for(let f of s){let{source:g,type:R}=f;switch(R){case"space":$=!0;break;case"comment":{if(u&&!$)T(f,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let O=g.substring(1)||" ";if(!i)i=O;else i+=w+O;w="";break}case"newline":if(i)w+=g;$=!0;break;default:T(f,"UNEXPECTED_TOKEN",`Unexpected ${R} at node end`)}_+=g.length}}return{comment:i,offset:_}}CI.resolveEnd=bI});var oi=E((mI)=>{var lI=Y(),dI=e(),vi=ss(),KI=_s(),yI=Hs(),ei=ms(),aI=C_(),hI=yu(),au="Block collections are not allowed within flow collections",hu=(s)=>s&&(s.type==="block-map"||s.type==="block-seq");function pI({composeNode:s,composeEmptyNode:_},u,T,i,$){let w=T.start.source==="{",f=w?"flow map":"flow sequence",R=new($?.nodeClass??(w?vi.YAMLMap:KI.YAMLSeq))(u.schema);R.flow=!0;let O=u.atRoot;if(O)u.atRoot=!1;if(u.atKey)u.atKey=!1;let L=T.offset+T.start.source.length;for(let N=0;N<T.items.length;++N){let q=T.items[N],{start:A,key:P,sep:D,value:F}=q,H=ei.resolveProps(A,{flow:f,indicator:"explicit-key-ind",next:P??D?.[0],offset:L,onError:i,parentIndent:T.indent,startOnNewline:!1});if(!H.found){if(!H.anchor&&!H.tag&&!D&&!F){if(N===0&&H.comma)i(H.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${f}`);else if(N<T.items.length-1)i(H.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${f}`);if(H.comment)if(R.comment)R.comment+=`
68
+ `+H.comment;else R.comment=H.comment;L=H.end;continue}if(!w&&u.options.strict&&aI.containsNewline(P))i(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(N===0){if(H.comma)i(H.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${f}`)}else{if(!H.comma)i(H.start,"MISSING_CHAR",`Missing , between ${f} items`);if(H.comment){let z="";s:for(let r of A)switch(r.type){case"comma":case"space":break;case"comment":z=r.source.substring(1);break s;default:break s}if(z){let r=R.items[R.items.length-1];if(lI.isPair(r))r=r.value??r.key;if(r.comment)r.comment+=`
69
+ `+z;else r.comment=z;H.comment=H.comment.substring(z.length+1)}}}if(!w&&!D&&!H.found){let z=F?s(u,F,H,i):_(u,H.end,D,null,H,i);if(R.items.push(z),L=z.range[2],hu(F))i(z.range,"BLOCK_IN_FLOW",au)}else{u.atKey=!0;let z=H.end,r=P?s(u,P,H,i):_(u,z,A,null,H,i);if(hu(P))i(r.range,"BLOCK_IN_FLOW",au);u.atKey=!1;let G=ei.resolveProps(D??[],{flow:f,indicator:"map-value-ind",next:F,offset:r.range[2],onError:i,parentIndent:T.indent,startOnNewline:!1});if(G.found){if(!w&&!H.found&&u.options.strict){if(D)for(let W of D){if(W===G.found)break;if(W.type==="newline"){i(W,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(H.start<G.found.offset-1024)i(G.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(F)if("source"in F&&F.source?.[0]===":")i(F,"MISSING_CHAR",`Missing space after : in ${f}`);else i(G.start,"MISSING_CHAR",`Missing , or : between ${f} items`);let k=F?s(u,F,G,i):G.found?_(u,G.end,D,null,G,i):null;if(k){if(hu(F))i(k.range,"BLOCK_IN_FLOW",au)}else if(G.comment)if(r.comment)r.comment+=`
70
+ `+G.comment;else r.comment=G.comment;let Us=new dI.Pair(r,k);if(u.options.keepSourceTokens)Us.srcToken=q;if(w){let W=R;if(hI.mapIncludes(u,W.items,r))i(z,"DUPLICATE_KEY","Map keys must be unique");W.items.push(Us)}else{let W=new vi.YAMLMap(u.schema);W.flow=!0,W.items.push(Us);let HT=(k??r).range;W.range=[r.range[0],HT[1],HT[2]],R.items.push(W)}L=k?k.range[2]:G.end}}let I=w?"}":"]",[U,...X]=T.end,S=L;if(U?.source===I)S=U.offset+U.source.length;else{let N=f[0].toUpperCase()+f.substring(1),q=O?`${N} must end with a ${I}`:`${N} in block collection must be sufficiently indented and end with a ${I}`;if(i(L,O?"MISSING_CHAR":"BAD_INDENT",q),U&&U.source.length!==1)X.unshift(U)}if(X.length>0){let N=yI.resolveEnd(X,S,u.options.strict,i);if(N.comment)if(R.comment)R.comment+=`
71
+ `+N.comment;else R.comment=N.comment;R.range=[T.offset,S,N.offset]}else R.range=[T.offset,S,S];return R}mI.resolveFlowCollection=pI});var s$=E((uS)=>{var kI=Y(),xI=B(),tI=ss(),vI=_s(),eI=xi(),oI=ti(),sS=oi();function pu(s,_,u,T,i,$){let w=u.type==="block-map"?eI.resolveBlockMap(s,_,u,T,$):u.type==="block-seq"?oI.resolveBlockSeq(s,_,u,T,$):sS.resolveFlowCollection(s,_,u,T,$),f=w.constructor;if(i==="!"||i===f.tagName)return w.tag=f.tagName,w;if(i)w.tag=i;return w}function _S(s,_,u,T,i){let $=T.tag,w=!$?null:_.directives.tagName($.source,(I)=>i($,"TAG_RESOLVE_FAILED",I));if(u.type==="block-seq"){let{anchor:I,newlineAfterProp:U}=T,X=I&&$?I.offset>$.offset?I:$:I??$;if(X&&(!U||U.offset<X.offset))i(X,"MISSING_CHAR","Missing newline after block sequence props")}let f=u.type==="block-map"?"map":u.type==="block-seq"?"seq":u.start.source==="{"?"map":"seq";if(!$||!w||w==="!"||w===tI.YAMLMap.tagName&&f==="map"||w===vI.YAMLSeq.tagName&&f==="seq")return pu(s,_,u,i,w);let g=_.schema.tags.find((I)=>I.tag===w&&I.collection===f);if(!g){let I=_.schema.knownTags[w];if(I?.collection===f)_.schema.tags.push(Object.assign({},I,{default:!1})),g=I;else{if(I)i($,"BAD_COLLECTION_TYPE",`${I.tag} used for ${f} collection, but expects ${I.collection??"scalar"}`,!0);else i($,"TAG_RESOLVE_FAILED",`Unresolved tag: ${w}`,!0);return pu(s,_,u,i,w)}}let R=pu(s,_,u,i,w,g),O=g.resolve?.(R,(I)=>i($,"TAG_RESOLVE_FAILED",I),_.options)??R,L=kI.isNode(O)?O:new xI.Scalar(O);if(L.range=R.range,L.tag=w,g?.format)L.format=g.format;return L}uS.composeCollection=_S});var cu=E((fS)=>{var mu=B();function iS(s,_,u){let T=_.offset,i=$S(_,s.options.strict,u);if(!i)return{value:"",type:null,comment:"",range:[T,T,T]};let $=i.mode===">"?mu.Scalar.BLOCK_FOLDED:mu.Scalar.BLOCK_LITERAL,w=_.source?wS(_.source):[],f=w.length;for(let S=w.length-1;S>=0;--S){let N=w[S][1];if(N===""||N==="\r")f=S;else break}if(f===0){let S=i.chomp==="+"&&w.length>0?`
72
+ `.repeat(Math.max(1,w.length-1)):"",N=T+i.length;if(_.source)N+=_.source.length;return{value:S,type:$,comment:i.comment,range:[T,N,N]}}let g=_.indent+i.indent,R=_.offset+i.length,O=0;for(let S=0;S<f;++S){let[N,q]=w[S];if(q===""||q==="\r"){if(i.indent===0&&N.length>g)g=N.length}else{if(N.length<g)u(R+N.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(i.indent===0)g=N.length;if(O=S,g===0&&!s.atRoot)u(R,"BAD_INDENT","Block scalar values in collections must be indented");break}R+=N.length+q.length+1}for(let S=w.length-1;S>=f;--S)if(w[S][0].length>g)f=S+1;let L="",I="",U=!1;for(let S=0;S<O;++S)L+=w[S][0].slice(g)+`
73
+ `;for(let S=O;S<f;++S){let[N,q]=w[S];R+=N.length+q.length+1;let A=q[q.length-1]==="\r";if(A)q=q.slice(0,-1);if(q&&N.length<g){let D=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;u(R-q.length-(A?2:1),"BAD_INDENT",D),N=""}if($===mu.Scalar.BLOCK_LITERAL)L+=I+N.slice(g)+q,I=`
74
+ `;else if(N.length>g||q[0]==="\t"){if(I===" ")I=`
75
+ `;else if(!U&&I===`
76
+ `)I=`
77
+
78
+ `;L+=I+N.slice(g)+q,I=`
79
+ `,U=!0}else if(q==="")if(I===`
80
+ `)L+=`
81
+ `;else I=`
82
+ `;else L+=I+q,I=" ",U=!1}switch(i.chomp){case"-":break;case"+":for(let S=f;S<w.length;++S)L+=`
83
+ `+w[S][0].slice(g);if(L[L.length-1]!==`
84
+ `)L+=`
85
+ `;break;default:L+=`
86
+ `}let X=T+i.length+_.source.length;return{value:L,type:$,comment:i.comment,range:[T,X,X]}}function $S({offset:s,props:_},u,T){if(_[0].type!=="block-scalar-header")return T(_[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=_[0],$=i[0],w=0,f="",g=-1;for(let I=1;I<i.length;++I){let U=i[I];if(!f&&(U==="-"||U==="+"))f=U;else{let X=Number(U);if(!w&&X)w=X;else if(g===-1)g=s+I}}if(g!==-1)T(g,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let R=!1,O="",L=i.length;for(let I=1;I<_.length;++I){let U=_[I];switch(U.type){case"space":R=!0;case"newline":L+=U.source.length;break;case"comment":if(u&&!R)T(U,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");L+=U.source.length,O=U.source.substring(1);break;case"error":T(U,"UNEXPECTED_TOKEN",U.message),L+=U.source.length;break;default:{let X=`Unexpected token in block scalar header: ${U.type}`;T(U,"UNEXPECTED_TOKEN",X);let S=U.source;if(S&&typeof S==="string")L+=S.length}}}return{mode:$,indent:w,chomp:f,comment:O,length:L}}function wS(s){let _=s.split(/\n( *)/),u=_[0],T=u.match(/^( *)/),$=[T?.[1]?[T[1],u.slice(T[1].length)]:["",u]];for(let w=1;w<_.length;w+=2)$.push([_[w],_[w+1]]);return $}fS.resolveBlockScalar=iS});var xu=E((ES)=>{var ku=B(),RS=Hs();function LS(s,_,u){let{offset:T,type:i,source:$,end:w}=s,f,g,R=(I,U,X)=>u(T+I,U,X);switch(i){case"scalar":f=ku.Scalar.PLAIN,g=IS($,R);break;case"single-quoted-scalar":f=ku.Scalar.QUOTE_SINGLE,g=SS($,R);break;case"double-quoted-scalar":f=ku.Scalar.QUOTE_DOUBLE,g=OS($,R);break;default:return u(s,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[T,T+$.length,T+$.length]}}let O=T+$.length,L=RS.resolveEnd(w,O,_,u);return{value:g,type:f,comment:L.comment,range:[T,O,L.offset]}}function IS(s,_){let u="";switch(s[0]){case"\t":u="a tab character";break;case",":u="flow indicator character ,";break;case"%":u="directive indicator character %";break;case"|":case">":{u=`block scalar indicator ${s[0]}`;break}case"@":case"`":{u=`reserved character ${s[0]}`;break}}if(u)_(0,"BAD_SCALAR_START",`Plain value cannot start with ${u}`);return _$(s)}function SS(s,_){if(s[s.length-1]!=="'"||s.length===1)_(s.length,"MISSING_CHAR","Missing closing 'quote");return _$(s.slice(1,-1)).replace(/''/g,"'")}function _$(s){let _,u;try{_=new RegExp(`(.*?)(?<![ ])[ ]*\r?
87
+ `,"sy"),u=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
88
+ `,"sy")}catch{_=/(.*?)[ \t]*\r?\n/sy,u=/[ \t]*(.*?)[ \t]*\r?\n/sy}let T=_.exec(s);if(!T)return s;let i=T[1],$=" ",w=_.lastIndex;u.lastIndex=w;while(T=u.exec(s)){if(T[1]==="")if($===`
89
+ `)i+=$;else $=`
90
+ `;else i+=$+T[1],$=" ";w=u.lastIndex}let f=/[ \t]*(.*)/sy;return f.lastIndex=w,T=f.exec(s),i+$+(T?.[1]??"")}function OS(s,_){let u="";for(let T=1;T<s.length-1;++T){let i=s[T];if(i==="\r"&&s[T+1]===`
91
+ `)continue;if(i===`
92
+ `){let{fold:$,offset:w}=US(s,T);u+=$,T=w}else if(i==="\\"){let $=s[++T],w=NS[$];if(w)u+=w;else if($===`
93
+ `){$=s[T+1];while($===" "||$==="\t")$=s[++T+1]}else if($==="\r"&&s[T+1]===`
94
+ `){$=s[++T+1];while($===" "||$==="\t")$=s[++T+1]}else if($==="x"||$==="u"||$==="U"){let f=$==="x"?2:$==="u"?4:8;u+=XS(s,T+1,f,_),T+=f}else{let f=s.substr(T-1,2);_(T-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${f}`),u+=f}}else if(i===" "||i==="\t"){let $=T,w=s[T+1];while(w===" "||w==="\t")w=s[++T+1];if(w!==`
95
+ `&&!(w==="\r"&&s[T+2]===`
96
+ `))u+=T>$?s.slice($,T+1):i}else u+=i}if(s[s.length-1]!=='"'||s.length===1)_(s.length,"MISSING_CHAR",'Missing closing "quote');return u}function US(s,_){let u="",T=s[_+1];while(T===" "||T==="\t"||T===`
97
+ `||T==="\r"){if(T==="\r"&&s[_+2]!==`
98
+ `)break;if(T===`
99
+ `)u+=`
100
+ `;_+=1,T=s[_+1]}if(!u)u=" ";return{fold:u,offset:_}}var NS={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
101
+ `,r:"\r",t:"\t",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function XS(s,_,u,T){let i=s.substr(_,u),w=i.length===u&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(w)}catch{let f=s.substr(_-2,u+2);return T(_-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${f}`),f}}ES.resolveFlowScalar=LS});var T$=E((HS)=>{var Is=Y(),u$=B(),rS=cu(),AS=xu();function PS(s,_,u,T){let{value:i,type:$,comment:w,range:f}=_.type==="block-scalar"?rS.resolveBlockScalar(s,_,T):AS.resolveFlowScalar(_,s.options.strict,T),g=u?s.directives.tagName(u.source,(L)=>T(u,"TAG_RESOLVE_FAILED",L)):null,R;if(s.options.stringKeys&&s.atKey)R=s.schema[Is.SCALAR];else if(g)R=DS(s.schema,i,g,u,T);else if(_.type==="scalar")R=FS(s,i,_,T);else R=s.schema[Is.SCALAR];let O;try{let L=R.resolve(i,(I)=>T(u??_,"TAG_RESOLVE_FAILED",I),s.options);O=Is.isScalar(L)?L:new u$.Scalar(L)}catch(L){let I=L instanceof Error?L.message:String(L);T(u??_,"TAG_RESOLVE_FAILED",I),O=new u$.Scalar(i)}if(O.range=f,O.source=i,$)O.type=$;if(g)O.tag=g;if(R.format)O.format=R.format;if(w)O.comment=w;return O}function DS(s,_,u,T,i){if(u==="!")return s[Is.SCALAR];let $=[];for(let f of s.tags)if(!f.collection&&f.tag===u)if(f.default&&f.test)$.push(f);else return f;for(let f of $)if(f.test?.test(_))return f;let w=s.knownTags[u];if(w&&!w.collection)return s.tags.push(Object.assign({},w,{default:!1,test:void 0})),w;return i(T,"TAG_RESOLVE_FAILED",`Unresolved tag: ${u}`,u!=="tag:yaml.org,2002:str"),s[Is.SCALAR]}function FS({atKey:s,directives:_,schema:u},T,i,$){let w=u.tags.find((f)=>(f.default===!0||s&&f.default==="key")&&f.test?.test(T))||u[Is.SCALAR];if(u.compat){let f=u.compat.find((g)=>g.default&&g.test?.test(T))??u[Is.SCALAR];if(w.tag!==f.tag){let g=_.tagString(w.tag),R=_.tagString(f.tag),O=`Value may be parsed as either ${g} or ${R}`;$(i,"TAG_RESOLVE_FAILED",O,!0)}}return w}HS.composeScalar=PS});var i$=E((BS)=>{function zS(s,_,u){if(_){u??(u=_.length);for(let T=u-1;T>=0;--T){let i=_[T];switch(i.type){case"space":case"comment":case"newline":s-=i.source.length;continue}i=_[++T];while(i?.type==="space")s+=i.source.length,i=_[++T];break}}return s}BS.emptyScalarPosition=zS});var f$=E((bS)=>{var WS=js(),jS=Y(),JS=s$(),$$=T$(),ZS=Hs(),MS=i$(),QS={composeNode:w$,composeEmptyNode:tu};function w$(s,_,u,T){let i=s.atKey,{spaceBefore:$,comment:w,anchor:f,tag:g}=u,R,O=!0;switch(_.type){case"alias":if(R=VS(s,_,T),f||g)T(_,"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(R=$$.composeScalar(s,_,g,T),f)R.anchor=f.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if(R=JS.composeCollection(QS,s,_,u,T),f)R.anchor=f.source.substring(1)}catch(L){let I=L instanceof Error?L.message:String(L);T(_,"RESOURCE_EXHAUSTION",I)}break;default:{let L=_.type==="error"?_.message:`Unsupported token (type: ${_.type})`;T(_,"UNEXPECTED_TOKEN",L),O=!1}}if(R??(R=tu(s,_.offset,void 0,null,u,T)),f&&R.anchor==="")T(f,"BAD_ALIAS","Anchor cannot be an empty string");if(i&&s.options.stringKeys&&(!jS.isScalar(R)||typeof R.value!=="string"||R.tag&&R.tag!=="tag:yaml.org,2002:str"))T(g??_,"NON_STRING_KEY","With stringKeys, all keys must be strings");if($)R.spaceBefore=!0;if(w)if(_.type==="scalar"&&_.source==="")R.comment=w;else R.commentBefore=w;if(s.options.keepSourceTokens&&O)R.srcToken=_;return R}function tu(s,_,u,T,{spaceBefore:i,comment:$,anchor:w,tag:f,end:g},R){let O={type:"scalar",offset:MS.emptyScalarPosition(_,u,T),indent:-1,source:""},L=$$.composeScalar(s,O,f,R);if(w){if(L.anchor=w.source.substring(1),L.anchor==="")R(w,"BAD_ALIAS","Anchor cannot be an empty string")}if(i)L.spaceBefore=!0;if($)L.comment=$,L.range[2]=g;return L}function VS({options:s},{offset:_,source:u,end:T},i){let $=new WS.Alias(u.substring(1));if($.source==="")i(_,"BAD_ALIAS","Alias cannot be an empty string");if($.source.endsWith(":"))i(_+u.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let w=_+u.length,f=ZS.resolveEnd(T,w,s.strict,i);if($.range=[_,w,f.offset],f.comment)$.comment=f.comment;return $}bS.composeEmptyNode=tu;bS.composeNode=w$});var R$=E((aS)=>{var lS=hs(),g$=f$(),dS=Hs(),KS=ms();function yS(s,_,{offset:u,start:T,value:i,end:$},w){let f=Object.assign({_directives:_},s),g=new lS.Document(void 0,f),R={atKey:!1,atRoot:!0,directives:g.directives,options:g.options,schema:g.schema},O=KS.resolveProps(T,{indicator:"doc-start",next:i??$?.[0],offset:u,onError:w,parentIndent:0,startOnNewline:!0});if(O.found){if(g.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!O.hasNewline)w(O.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}g.contents=i?g$.composeNode(R,i,O,w):g$.composeEmptyNode(R,O.end,T,null,O,w);let L=g.contents.range[2],I=dS.resolveEnd($,L,!1,w);if(I.comment)g.comment=I.comment;return g.range=[u,L,I.offset],g}aS.composeDoc=yS});var vu=E((tS)=>{var pS=__("process"),mS=_u(),cS=hs(),cs=ps(),L$=Y(),kS=R$(),xS=Hs();function ks(s){if(typeof s==="number")return[s,s+1];if(Array.isArray(s))return s.length===2?s:[s[0],s[1]];let{offset:_,source:u}=s;return[_,_+(typeof u==="string"?u.length:1)]}function I$(s){let _="",u=!1,T=!1;for(let i=0;i<s.length;++i){let $=s[i];switch($[0]){case"#":_+=(_===""?"":T?`
102
+
103
+ `:`
104
+ `)+($.substring(1)||" "),u=!0,T=!1;break;case"%":if(s[i+1]?.[0]!=="#")i+=1;u=!1;break;default:if(!u)T=!0;u=!1}}return{comment:_,afterEmptyLine:T}}class S${constructor(s={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(_,u,T,i)=>{let $=ks(_);if(i)this.warnings.push(new cs.YAMLWarning($,u,T));else this.errors.push(new cs.YAMLParseError($,u,T))},this.directives=new mS.Directives({version:s.version||"1.2"}),this.options=s}decorate(s,_){let{comment:u,afterEmptyLine:T}=I$(this.prelude);if(u){let i=s.contents;if(_)s.comment=s.comment?`${s.comment}
105
+ ${u}`:u;else if(T||s.directives.docStart||!i)s.commentBefore=u;else if(L$.isCollection(i)&&!i.flow&&i.items.length>0){let $=i.items[0];if(L$.isPair($))$=$.key;let w=$.commentBefore;$.commentBefore=w?`${u}
106
+ ${w}`:u}else{let $=i.commentBefore;i.commentBefore=$?`${u}
107
+ ${$}`:u}}if(_){for(let i=0;i<this.errors.length;++i)s.errors.push(this.errors[i]);for(let i=0;i<this.warnings.length;++i)s.warnings.push(this.warnings[i])}else s.errors=this.errors,s.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:I$(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(s,_=!1,u=-1){for(let T of s)yield*this.next(T);yield*this.end(_,u)}*next(s){if(pS.env.LOG_STREAM)console.dir(s,{depth:null});switch(s.type){case"directive":this.directives.add(s.source,(_,u,T)=>{let i=ks(s);i[0]+=_,this.onError(i,"BAD_DIRECTIVE",u,T)}),this.prelude.push(s.source),this.atDirectives=!0;break;case"document":{let _=kS.composeDoc(this.options,this.directives,s,this.onError);if(this.atDirectives&&!_.directives.docStart)this.onError(s,"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(s.source);break;case"error":{let _=s.source?`${s.message}: ${JSON.stringify(s.source)}`:s.message,u=new cs.YAMLParseError(ks(s),"UNEXPECTED_TOKEN",_);if(this.atDirectives||!this.doc)this.errors.push(u);else this.doc.errors.push(u);break}case"doc-end":{if(!this.doc){this.errors.push(new cs.YAMLParseError(ks(s),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let _=xS.resolveEnd(s.end,s.offset+s.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),_.comment){let u=this.doc.comment;this.doc.comment=u?`${u}
108
+ ${_.comment}`:_.comment}this.doc.range[2]=_.offset;break}default:this.errors.push(new cs.YAMLParseError(ks(s),"UNEXPECTED_TOKEN",`Unsupported token ${s.type}`))}}*end(s=!1,_=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(s){let u=Object.assign({_directives:this.directives},this.options),T=new cS.Document(void 0,u);if(this.atDirectives)this.onError(_,"MISSING_CHAR","Missing directives-end indicator line");T.range=[0,_,_],this.decorate(T,!1),yield T}}}tS.Composer=S$});var N$=E(($O)=>{var eS=cu(),oS=xu(),sO=ps(),O$=Qs();function _O(s,_=!0,u){if(s){let T=(i,$,w)=>{let f=typeof i==="number"?i:Array.isArray(i)?i[0]:i.offset;if(u)u(f,$,w);else throw new sO.YAMLParseError([f,f+1],$,w)};switch(s.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return oS.resolveFlowScalar(s,_,T);case"block-scalar":return eS.resolveBlockScalar({options:{strict:_}},s,T)}}return null}function uO(s,_){let{implicitKey:u=!1,indent:T,inFlow:i=!1,offset:$=-1,type:w="PLAIN"}=_,f=O$.stringifyString({type:w,value:s},{implicitKey:u,indent:T>0?" ".repeat(T):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),g=_.end??[{type:"newline",offset:-1,indent:T,source:`
109
+ `}];switch(f[0]){case"|":case">":{let R=f.indexOf(`
110
+ `),O=f.substring(0,R),L=f.substring(R+1)+`
111
+ `,I=[{type:"block-scalar-header",offset:$,indent:T,source:O}];if(!U$(I,g))I.push({type:"newline",offset:-1,indent:T,source:`
112
+ `});return{type:"block-scalar",offset:$,indent:T,props:I,source:L}}case'"':return{type:"double-quoted-scalar",offset:$,indent:T,source:f,end:g};case"'":return{type:"single-quoted-scalar",offset:$,indent:T,source:f,end:g};default:return{type:"scalar",offset:$,indent:T,source:f,end:g}}}function TO(s,_,u={}){let{afterKey:T=!1,implicitKey:i=!1,inFlow:$=!1,type:w}=u,f="indent"in s?s.indent:null;if(T&&typeof f==="number")f+=2;if(!w)switch(s.type){case"single-quoted-scalar":w="QUOTE_SINGLE";break;case"double-quoted-scalar":w="QUOTE_DOUBLE";break;case"block-scalar":{let R=s.props[0];if(R.type!=="block-scalar-header")throw Error("Invalid block scalar header");w=R.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:w="PLAIN"}let g=O$.stringifyString({type:w,value:_},{implicitKey:i||f===null,indent:f!==null&&f>0?" ".repeat(f):"",inFlow:$,options:{blockQuote:!0,lineWidth:-1}});switch(g[0]){case"|":case">":iO(s,g);break;case'"':eu(s,g,"double-quoted-scalar");break;case"'":eu(s,g,"single-quoted-scalar");break;default:eu(s,g,"scalar")}}function iO(s,_){let u=_.indexOf(`
113
+ `),T=_.substring(0,u),i=_.substring(u+1)+`
114
+ `;if(s.type==="block-scalar"){let $=s.props[0];if($.type!=="block-scalar-header")throw Error("Invalid block scalar header");$.source=T,s.source=i}else{let{offset:$}=s,w="indent"in s?s.indent:-1,f=[{type:"block-scalar-header",offset:$,indent:w,source:T}];if(!U$(f,"end"in s?s.end:void 0))f.push({type:"newline",offset:-1,indent:w,source:`
115
+ `});for(let g of Object.keys(s))if(g!=="type"&&g!=="offset")delete s[g];Object.assign(s,{type:"block-scalar",indent:w,props:f,source:i})}}function U$(s,_){if(_)for(let u of _)switch(u.type){case"space":case"comment":s.push(u);break;case"newline":return s.push(u),!0}return!1}function eu(s,_,u){switch(s.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":s.type=u,s.source=_;break;case"block-scalar":{let T=s.props.slice(1),i=_.length;if(s.props[0].type==="block-scalar-header")i-=s.props[0].source.length;for(let $ of T)$.offset+=i;delete s.props,Object.assign(s,{type:u,source:_,end:T});break}case"block-map":case"block-seq":{let i={type:"newline",offset:s.offset+_.length,indent:s.indent,source:`
116
+ `};delete s.items,Object.assign(s,{type:u,source:_,end:[i]});break}default:{let T="indent"in s?s.indent:-1,i="end"in s&&Array.isArray(s.end)?s.end.filter(($)=>$.type==="space"||$.type==="comment"||$.type==="newline"):[];for(let $ of Object.keys(s))if($!=="type"&&$!=="offset")delete s[$];Object.assign(s,{type:u,indent:T,source:_,end:i})}}}$O.createScalarToken=uO;$O.resolveAsScalar=_O;$O.setScalarValue=TO});var X$=E((LO)=>{var RO=(s)=>("type"in s)?l_(s):n_(s);function l_(s){switch(s.type){case"block-scalar":{let _="";for(let u of s.props)_+=l_(u);return _+s.source}case"block-map":case"block-seq":{let _="";for(let u of s.items)_+=n_(u);return _}case"flow-collection":{let _=s.start.source;for(let u of s.items)_+=n_(u);for(let u of s.end)_+=u.source;return _}case"document":{let _=n_(s);if(s.end)for(let u of s.end)_+=u.source;return _}default:{let _=s.source;if("end"in s&&s.end)for(let u of s.end)_+=u.source;return _}}}function n_({start:s,key:_,sep:u,value:T}){let i="";for(let $ of s)i+=$.source;if(_)i+=l_(_);if(u)for(let $ of u)i+=$.source;if(T)i+=l_(T);return i}LO.stringify=RO});var r$=E((OO)=>{var ou=Symbol("break visit"),SO=Symbol("skip children"),E$=Symbol("remove item");function Ss(s,_){if("type"in s&&s.type==="document")s={start:s.start,value:s.value};q$(Object.freeze([]),s,_)}Ss.BREAK=ou;Ss.SKIP=SO;Ss.REMOVE=E$;Ss.itemAtPath=(s,_)=>{let u=s;for(let[T,i]of _){let $=u?.[T];if($&&"items"in $)u=$.items[i];else return}return u};Ss.parentCollection=(s,_)=>{let u=Ss.itemAtPath(s,_.slice(0,-1)),T=_[_.length-1][0],i=u?.[T];if(i&&"items"in i)return i;throw Error("Parent collection not found")};function q$(s,_,u){let T=u(_,s);if(typeof T==="symbol")return T;for(let i of["key","value"]){let $=_[i];if($&&"items"in $){for(let w=0;w<$.items.length;++w){let f=q$(Object.freeze(s.concat([[i,w]])),$.items[w],u);if(typeof f==="number")w=f-1;else if(f===ou)return ou;else if(f===E$)$.items.splice(w,1),w-=1}if(typeof T==="function"&&i==="key")T=T(_,s)}}return typeof T==="function"?T(_,s):T}OO.visit=Ss});var d_=E((PO)=>{var sT=N$(),NO=X$(),XO=r$(),_T="\uFEFF",uT="\x02",TT="\x18",iT="\x1F",EO=(s)=>!!s&&("items"in s),qO=(s)=>!!s&&(s.type==="scalar"||s.type==="single-quoted-scalar"||s.type==="double-quoted-scalar"||s.type==="block-scalar");function rO(s){switch(s){case _T:return"<BOM>";case uT:return"<DOC>";case TT:return"<FLOW_END>";case iT:return"<SCALAR>";default:return JSON.stringify(s)}}function AO(s){switch(s){case _T:return"byte-order-mark";case uT:return"doc-mode";case TT:return"flow-error-end";case iT: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(s[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}PO.createScalarToken=sT.createScalarToken;PO.resolveAsScalar=sT.resolveAsScalar;PO.setScalarValue=sT.setScalarValue;PO.stringify=NO.stringify;PO.visit=XO.visit;PO.BOM=_T;PO.DOCUMENT=uT;PO.FLOW_END=TT;PO.SCALAR=iT;PO.isCollection=EO;PO.isScalar=qO;PO.prettyToken=rO;PO.tokenType=AO});var wT=E((CO)=>{var xs=d_();function d(s){switch(s){case void 0:case" ":case`
119
+ `:case"\r":case"\t":return!0;default:return!1}}var A$=new Set("0123456789ABCDEFabcdef"),VO=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),K_=new Set(",[]{}"),bO=new Set(` ,[]{}
120
+ \r `),$T=(s)=>!s||bO.has(s);class P${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(s,_=!1){if(s){if(typeof s!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+s:s,this.lineEndPos=null}this.atEnd=!_;let u=this.next??"stream";while(u&&(_||this.hasChars(1)))u=yield*this.parseNext(u)}atLineEnd(){let s=this.pos,_=this.buffer[s];while(_===" "||_==="\t")_=this.buffer[++s];if(!_||_==="#"||_===`
121
+ `)return!0;if(_==="\r")return this.buffer[s+1]===`
122
+ `;return!1}charAt(s){return this.buffer[this.pos+s]}continueScalar(s){let _=this.buffer[s];if(this.indentNext>0){let u=0;while(_===" ")_=this.buffer[++u+s];if(_==="\r"){let T=this.buffer[u+s+1];if(T===`
123
+ `||!T&&!this.atEnd)return s+u+1}return _===`
124
+ `||u>=this.indentNext||!_&&!this.atEnd?s+u:-1}if(_==="-"||_==="."){let u=this.buffer.substr(s,3);if((u==="---"||u==="...")&&d(this.buffer[s+3]))return-1}return s}getLine(){let s=this.lineEndPos;if(typeof s!=="number"||s!==-1&&s<this.pos)s=this.buffer.indexOf(`
125
+ `,this.pos),this.lineEndPos=s;if(s===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[s-1]==="\r")s-=1;return this.buffer.substring(this.pos,s)}hasChars(s){return this.pos+s<=this.buffer.length}setNext(s){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=s,null}peek(s){return this.buffer.substr(this.pos,s)}*parseNext(s){switch(s){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 s=this.getLine();if(s===null)return this.setNext("stream");if(s[0]===xs.BOM)yield*this.pushCount(1),s=s.substring(1);if(s[0]==="%"){let _=s.length,u=s.indexOf("#");while(u!==-1){let i=s[u-1];if(i===" "||i==="\t"){_=u-1;break}else u=s.indexOf("#",u+1)}while(!0){let i=s[_-1];if(i===" "||i==="\t")_-=1;else break}let T=(yield*this.pushCount(_))+(yield*this.pushSpaces(!0));return yield*this.pushCount(s.length-T),this.pushNewline(),"stream"}if(this.atLineEnd()){let _=yield*this.pushSpaces(!0);return yield*this.pushCount(s.length-_),yield*this.pushNewline(),"stream"}return yield xs.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let s=this.charAt(0);if(!s&&!this.atEnd)return this.setNext("line-start");if(s==="-"||s==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let _=this.peek(3);if((_==="---"||_==="...")&&d(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&&!d(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[s,_]=this.peek(2);if(!_&&!this.atEnd)return this.setNext("block-start");if((s==="-"||s==="?"||s===":")&&d(_)){let u=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=u,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let s=this.getLine();if(s===null)return this.setNext("doc");let _=yield*this.pushIndicators();switch(s[_]){case"#":yield*this.pushCount(s.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($T),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return _+=yield*this.parseBlockScalarHeader(),_+=yield*this.pushSpaces(!0),yield*this.pushCount(s.length-_),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let s,_,u=-1;do{if(s=yield*this.pushNewline(),s>0)_=yield*this.pushSpaces(!1),this.indentValue=u=_;else _=0;_+=yield*this.pushSpaces(!0)}while(s+_>0);let T=this.getLine();if(T===null)return this.setNext("flow");if(u!==-1&&u<this.indentNext&&T[0]!=="#"||u===0&&(T.startsWith("---")||T.startsWith("..."))&&d(T[3])){if(!(u===this.indentNext-1&&this.flowLevel===1&&(T[0]==="]"||T[0]==="}")))return this.flowLevel=0,yield xs.FLOW_END,yield*this.parseLineStart()}let i=0;while(T[i]===",")i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(i+=yield*this.pushIndicators(),T[i]){case void 0:return"flow";case"#":return yield*this.pushCount(T.length-i),"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($T),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let $=this.charAt(1);if(this.flowKey||d($)||$===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let s=this.charAt(0),_=this.buffer.indexOf(s,this.pos+1);if(s==="'")while(_!==-1&&this.buffer[_+1]==="'")_=this.buffer.indexOf("'",_+2);else while(_!==-1){let i=0;while(this.buffer[_-1-i]==="\\")i+=1;if(i%2===0)break;_=this.buffer.indexOf('"',_+1)}let u=this.buffer.substring(0,_),T=u.indexOf(`
126
+ `,this.pos);if(T!==-1){while(T!==-1){let i=this.continueScalar(T+1);if(i===-1)break;T=u.indexOf(`
127
+ `,i)}if(T!==-1)_=T-(u[T-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 s=this.pos;while(!0){let _=this.buffer[++s];if(_==="+")this.blockScalarKeep=!0;else if(_>"0"&&_<="9")this.blockScalarIndent=Number(_)-1;else if(_!=="-")break}return yield*this.pushUntil((_)=>d(_)||_==="#")}*parseBlockScalar(){let s=this.pos-1,_=0,u;s:for(let i=this.pos;u=this.buffer[i];++i)switch(u){case" ":_+=1;break;case`
128
+ `:s=i,_=0;break;case"\r":{let $=this.buffer[i+1];if(!$&&!this.atEnd)return this.setNext("block-scalar");if($===`
129
+ `)break}default:break s}if(!u&&!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 i=this.continueScalar(s+1);if(i===-1)break;s=this.buffer.indexOf(`
130
+ `,i)}while(s!==-1);if(s===-1){if(!this.atEnd)return this.setNext("block-scalar");s=this.buffer.length}}let T=s+1;u=this.buffer[T];while(u===" ")u=this.buffer[++T];if(u==="\t"){while(u==="\t"||u===" "||u==="\r"||u===`
131
+ `)u=this.buffer[++T];s=T-1}else if(!this.blockScalarKeep)do{let i=s-1,$=this.buffer[i];if($==="\r")$=this.buffer[--i];let w=i;while($===" ")$=this.buffer[--i];if($===`
132
+ `&&i>=this.pos&&i+1+_>w)s=i;else break}while(!0);return yield xs.SCALAR,yield*this.pushToIndex(s+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let s=this.flowLevel>0,_=this.pos-1,u=this.pos-1,T;while(T=this.buffer[++u])if(T===":"){let i=this.buffer[u+1];if(d(i)||s&&K_.has(i))break;_=u}else if(d(T)){let i=this.buffer[u+1];if(T==="\r")if(i===`
133
+ `)u+=1,T=`
134
+ `,i=this.buffer[u+1];else _=u;if(i==="#"||s&&K_.has(i))break;if(T===`
135
+ `){let $=this.continueScalar(u+1);if($===-1)break;u=Math.max(u,$-2)}}else{if(s&&K_.has(T))break;_=u}if(!T&&!this.atEnd)return this.setNext("plain-scalar");return yield xs.SCALAR,yield*this.pushToIndex(_+1,!0),s?"flow":"doc"}*pushCount(s){if(s>0)return yield this.buffer.substr(this.pos,s),this.pos+=s,s;return 0}*pushToIndex(s,_){let u=this.buffer.slice(this.pos,s);if(u)return yield u,this.pos+=u.length,u.length;else if(_)yield"";return 0}*pushIndicators(){let s=0;s:while(!0){switch(this.charAt(0)){case"!":s+=yield*this.pushTag(),s+=yield*this.pushSpaces(!0);continue s;case"&":s+=yield*this.pushUntil($T),s+=yield*this.pushSpaces(!0);continue s;case"-":case"?":case":":{let _=this.flowLevel>0,u=this.charAt(1);if(d(u)||_&&K_.has(u)){if(!_)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;s+=yield*this.pushCount(1),s+=yield*this.pushSpaces(!0);continue s}}}break s}return s}*pushTag(){if(this.charAt(1)==="<"){let s=this.pos+2,_=this.buffer[s];while(!d(_)&&_!==">")_=this.buffer[++s];return yield*this.pushToIndex(_===">"?s+1:s,!1)}else{let s=this.pos+1,_=this.buffer[s];while(_)if(VO.has(_))_=this.buffer[++s];else if(_==="%"&&A$.has(this.buffer[s+1])&&A$.has(this.buffer[s+2]))_=this.buffer[s+=3];else break;return yield*this.pushToIndex(s,!1)}}*pushNewline(){let s=this.buffer[this.pos];if(s===`
136
+ `)return yield*this.pushCount(1);else if(s==="\r"&&this.charAt(1)===`
137
+ `)return yield*this.pushCount(2);else return 0}*pushSpaces(s){let _=this.pos-1,u;do u=this.buffer[++_];while(u===" "||s&&u==="\t");let T=_-this.pos;if(T>0)yield this.buffer.substr(this.pos,T),this.pos=_;return T}*pushUntil(s){let _=this.pos,u=this.buffer[_];while(!s(u))u=this.buffer[++_];return yield*this.pushToIndex(_,!1)}}CO.Lexer=P$});var fT=E((lO)=>{class D${constructor(){this.lineStarts=[],this.addNewLine=(s)=>this.lineStarts.push(s),this.linePos=(s)=>{let _=0,u=this.lineStarts.length;while(_<u){let i=_+u>>1;if(this.lineStarts[i]<s)_=i+1;else u=i}if(this.lineStarts[_]===s)return{line:_+1,col:1};if(_===0)return{line:0,col:s};let T=this.lineStarts[_-1];return{line:_,col:s-T+1}}}}lO.LineCounter=D$});var gT=E((aO)=>{var KO=__("process"),F$=d_(),yO=wT();function us(s,_){for(let u=0;u<s.length;++u)if(s[u].type===_)return!0;return!1}function H$(s){for(let _=0;_<s.length;++_)switch(s[_].type){case"space":case"comment":case"newline":break;default:return _}return-1}function z$(s){switch(s?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function y_(s){switch(s.type){case"document":return s.start;case"block-map":{let _=s.items[s.items.length-1];return _.sep??_.start}case"block-seq":return s.items[s.items.length-1].start;default:return[]}}function Ys(s){if(s.length===0)return[];let _=s.length;s:while(--_>=0)switch(s[_].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break s}while(s[++_]?.type==="space");return s.splice(_,s.length)}function a_(s,_){if(_.length<1e5)Array.prototype.push.apply(s,_);else for(let u=0;u<_.length;++u)s.push(_[u])}function Y$(s){if(s.start.type==="flow-seq-start"){for(let _ of s.items)if(_.sep&&!_.value&&!us(_.start,"explicit-key-ind")&&!us(_.sep,"map-value-ind")){if(_.key)_.value=_.key;if(delete _.key,z$(_.value))if(_.value.end)a_(_.value.end,_.sep);else _.value.end=_.sep;else a_(_.start,_.sep);delete _.sep}}}class B${constructor(s){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new yO.Lexer,this.onNewLine=s}*parse(s,_=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let u of this.lexer.lex(s,_))yield*this.next(u);if(!_)yield*this.end()}*next(s){if(this.source=s,KO.env.LOG_TOKENS)console.log("|",F$.prettyToken(s));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=s.length;return}let _=F$.tokenType(s);if(!_){let u=`Not a YAML token: ${s}`;yield*this.pop({type:"error",offset:this.offset,message:u,source:s}),this.offset+=s.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+s.length);break;case"space":if(this.atNewLine&&s[0]===" ")this.indent+=s.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=s.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=s.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 s=this.peek(1);if(this.type==="doc-end"&&s?.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(!s)return yield*this.stream();switch(s.type){case"document":return yield*this.document(s);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(s);case"block-scalar":return yield*this.blockScalar(s);case"block-map":return yield*this.blockMap(s);case"block-seq":return yield*this.blockSequence(s);case"flow-collection":return yield*this.flowCollection(s);case"doc-end":return yield*this.documentEnd(s)}yield*this.pop()}peek(s){return this.stack[this.stack.length-s]}*pop(s){let _=s??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 u=this.peek(1);if(_.type==="block-scalar")_.indent="indent"in u?u.indent:0;else if(_.type==="flow-collection"&&u.type==="document")_.indent=0;if(_.type==="flow-collection")Y$(_);switch(u.type){case"document":u.value=_;break;case"block-scalar":u.props.push(_);break;case"block-map":{let T=u.items[u.items.length-1];if(T.value){u.items.push({start:[],key:_,sep:[]}),this.onKeyLine=!0;return}else if(T.sep)T.value=_;else{Object.assign(T,{key:_,sep:[]}),this.onKeyLine=!T.explicitKey;return}break}case"block-seq":{let T=u.items[u.items.length-1];if(T.value)u.items.push({start:[],value:_});else T.value=_;break}case"flow-collection":{let T=u.items[u.items.length-1];if(!T||T.value)u.items.push({start:[],key:_,sep:[]});else if(T.sep)T.value=_;else Object.assign(T,{key:_,sep:[]});return}default:yield*this.pop(),yield*this.pop(_)}if((u.type==="document"||u.type==="block-map"||u.type==="block-seq")&&(_.type==="block-map"||_.type==="block-seq")){let T=_.items[_.items.length-1];if(T&&!T.sep&&!T.value&&T.start.length>0&&H$(T.start)===-1&&(_.indent===0||T.start.every((i)=>i.type!=="comment"||i.indent<_.indent))){if(u.type==="document")u.end=T.start;else u.items.push({start:T.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 s={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")s.start.push(this.sourceToken);this.stack.push(s);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(s){if(s.value)return yield*this.lineEnd(s);switch(this.type){case"doc-start":{if(H$(s.start)!==-1)yield*this.pop(),yield*this.step();else s.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":s.start.push(this.sourceToken);return}let _=this.startBlockValue(s);if(_)this.stack.push(_);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(s){if(this.type==="map-value-ind"){let _=y_(this.peek(2)),u=Ys(_),T;if(s.end)T=s.end,T.push(this.sourceToken),delete s.end;else T=[this.sourceToken];let i={type:"block-map",offset:s.offset,indent:s.indent,items:[{start:u,key:s,sep:T}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(s)}*blockScalar(s){switch(this.type){case"space":case"comment":case"newline":s.props.push(this.sourceToken);return;case"scalar":if(s.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(s){let _=s.items[s.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,_.value){let u="end"in _.value?_.value.end:void 0;if((Array.isArray(u)?u[u.length-1]:void 0)?.type==="comment")u?.push(this.sourceToken);else s.items.push({start:[this.sourceToken]})}else if(_.sep)_.sep.push(this.sourceToken);else _.start.push(this.sourceToken);return;case"space":case"comment":if(_.value)s.items.push({start:[this.sourceToken]});else if(_.sep)_.sep.push(this.sourceToken);else{if(this.atIndentedComment(_.start,s.indent)){let T=s.items[s.items.length-2]?.value?.end;if(Array.isArray(T)){a_(T,_.start),T.push(this.sourceToken),s.items.pop();return}}_.start.push(this.sourceToken)}return}if(this.indent>=s.indent){let u=!this.onKeyLine&&this.indent===s.indent,T=u&&(_.sep||_.explicitKey)&&this.type!=="seq-item-ind",i=[];if(T&&_.sep&&!_.value){let $=[];for(let w=0;w<_.sep.length;++w){let f=_.sep[w];switch(f.type){case"newline":$.push(w);break;case"space":break;case"comment":if(f.indent>s.indent)$.length=0;break;default:$.length=0}}if($.length>=2)i=_.sep.splice($[1])}switch(this.type){case"anchor":case"tag":if(T||_.value)i.push(this.sourceToken),s.items.push({start:i}),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(T||_.value)i.push(this.sourceToken),s.items.push({start:i,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(us(_.start,"newline"))Object.assign(_,{key:null,sep:[this.sourceToken]});else{let $=Ys(_.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:$,key:null,sep:[this.sourceToken]}]})}else if(_.value)s.items.push({start:[],key:null,sep:[this.sourceToken]});else if(us(_.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(z$(_.key)&&!us(_.sep,"newline")){let $=Ys(_.start),w=_.key,f=_.sep;f.push(this.sourceToken),delete _.key,delete _.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:$,key:w,sep:f}]})}else if(i.length>0)_.sep=_.sep.concat(i,this.sourceToken);else _.sep.push(this.sourceToken);else if(!_.sep)Object.assign(_,{key:null,sep:[this.sourceToken]});else if(_.value||T)s.items.push({start:i,key:null,sep:[this.sourceToken]});else if(us(_.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 $=this.flowScalar(this.type);if(T||_.value)s.items.push({start:i,key:$,sep:[]}),this.onKeyLine=!0;else if(_.sep)this.stack.push($);else Object.assign(_,{key:$,sep:[]}),this.onKeyLine=!0;return}default:{let $=this.startBlockValue(s);if($){if($.type==="block-seq"){if(!_.explicitKey&&_.sep&&!us(_.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(u)s.items.push({start:i});this.stack.push($);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(s){let _=s.items[s.items.length-1];switch(this.type){case"newline":if(_.value){let u="end"in _.value?_.value.end:void 0;if((Array.isArray(u)?u[u.length-1]:void 0)?.type==="comment")u?.push(this.sourceToken);else s.items.push({start:[this.sourceToken]})}else _.start.push(this.sourceToken);return;case"space":case"comment":if(_.value)s.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(_.start,s.indent)){let T=s.items[s.items.length-2]?.value?.end;if(Array.isArray(T)){a_(T,_.start),T.push(this.sourceToken),s.items.pop();return}}_.start.push(this.sourceToken)}return;case"anchor":case"tag":if(_.value||this.indent<=s.indent)break;_.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==s.indent)break;if(_.value||us(_.start,"seq-item-ind"))s.items.push({start:[this.sourceToken]});else _.start.push(this.sourceToken);return}if(this.indent>s.indent){let u=this.startBlockValue(s);if(u){this.stack.push(u);return}}yield*this.pop(),yield*this.step()}*flowCollection(s){let _=s.items[s.items.length-1];if(this.type==="flow-error-end"){let u;do yield*this.pop(),u=this.peek(1);while(u?.type==="flow-collection")}else if(s.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!_||_.sep)s.items.push({start:[this.sourceToken]});else _.start.push(this.sourceToken);return;case"map-value-ind":if(!_||_.value)s.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)s.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 T=this.flowScalar(this.type);if(!_||_.value)s.items.push({start:[],key:T,sep:[]});else if(_.sep)this.stack.push(T);else Object.assign(_,{key:T,sep:[]});return}case"flow-map-end":case"flow-seq-end":s.end.push(this.sourceToken);return}let u=this.startBlockValue(s);if(u)this.stack.push(u);else yield*this.pop(),yield*this.step()}else{let u=this.peek(2);if(u.type==="block-map"&&(this.type==="map-value-ind"&&u.indent===s.indent||this.type==="newline"&&!u.items[u.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&u.type!=="flow-collection"){let T=y_(u),i=Ys(T);Y$(s);let $=s.end.splice(1,s.end.length);$.push(this.sourceToken);let w={type:"block-map",offset:s.offset,indent:s.indent,items:[{start:i,key:s,sep:$}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=w}else yield*this.lineEnd(s)}}flowScalar(s){if(this.onNewLine){let _=this.source.indexOf(`
140
+ `)+1;while(_!==0)this.onNewLine(this.offset+_),_=this.source.indexOf(`
141
+ `,_)+1}return{type:s,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(s){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 _=y_(s),u=Ys(_);return u.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:u,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let _=y_(s),u=Ys(_);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:u,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(s,_){if(this.type!=="comment")return!1;if(this.indent<=_)return!1;return s.every((u)=>u.type==="newline"||u.type==="space")}*documentEnd(s){if(this.type!=="doc-mode"){if(s.end)s.end.push(this.sourceToken);else s.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(s){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(s.end)s.end.push(this.sourceToken);else s.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}aO.Parser=B$});var Z$=E((eO)=>{var G$=vu(),pO=hs(),ts=ps(),mO=fu(),cO=Y(),kO=fT(),W$=gT();function j$(s){let _=s.prettyErrors!==!1;return{lineCounter:s.lineCounter||_&&new kO.LineCounter||null,prettyErrors:_}}function xO(s,_={}){let{lineCounter:u,prettyErrors:T}=j$(_),i=new W$.Parser(u?.addNewLine),$=new G$.Composer(_),w=Array.from($.compose(i.parse(s)));if(T&&u)for(let f of w)f.errors.forEach(ts.prettifyError(s,u)),f.warnings.forEach(ts.prettifyError(s,u));if(w.length>0)return w;return Object.assign([],{empty:!0},$.streamInfo())}function J$(s,_={}){let{lineCounter:u,prettyErrors:T}=j$(_),i=new W$.Parser(u?.addNewLine),$=new G$.Composer(_),w=null;for(let f of $.compose(i.parse(s),!0,s.length))if(!w)w=f;else if(w.options.logLevel!=="silent"){w.errors.push(new ts.YAMLParseError(f.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(T&&u)w.errors.forEach(ts.prettifyError(s,u)),w.warnings.forEach(ts.prettifyError(s,u));return w}function tO(s,_,u){let T=void 0;if(typeof _==="function")T=_;else if(u===void 0&&_&&typeof _==="object")u=_;let i=J$(s,u);if(!i)return null;if(i.warnings.forEach(($)=>mO.warn(i.options.logLevel,$)),i.errors.length>0)if(i.options.logLevel!=="silent")throw i.errors[0];else i.errors=[];return i.toJS(Object.assign({reviver:T},u))}function vO(s,_,u){let T=null;if(typeof _==="function"||Array.isArray(_))T=_;else if(u===void 0&&_)u=_;if(typeof u==="string")u=u.length;if(typeof u==="number"){let i=Math.round(u);u=i<1?void 0:i>8?{indent:8}:{indent:i}}if(s===void 0){let{keepUndefined:i}=u??_??{};if(!i)return}if(cO.isDocument(s)&&!T)return s.toString(u);return new pO.Document(s,T,u).toString(u)}eO.parse=tO;eO.parseAllDocuments=xO;eO.parseDocument=J$;eO.stringify=vO});import{existsSync as DT,mkdirSync as e_,readFileSync as dw,writeFileSync as FT}from"fs";import{dirname as Kw,isAbsolute as OX,join as yw,resolve as UX}from"path";var TU=vu(),iU=hs(),$U=Vu(),RT=ps(),wU=js(),Ts=Y(),fU=e(),gU=B(),RU=ss(),LU=_s(),QE=d_(),IU=wT(),SU=fT(),OU=gT(),h_=Z$(),M$=Gs();var UU=TU.Composer,NU=iU.Document,XU=$U.Schema,EU=RT.YAMLError,qU=RT.YAMLParseError,rU=RT.YAMLWarning,AU=wU.Alias,PU=Ts.isAlias,DU=Ts.isCollection,FU=Ts.isDocument,HU=Ts.isMap,YU=Ts.isNode,zU=Ts.isPair,BU=Ts.isScalar,GU=Ts.isSeq,WU=fU.Pair,jU=gU.Scalar,JU=RU.YAMLMap,ZU=LU.YAMLSeq;var MU=IU.Lexer,QU=SU.LineCounter,VU=OU.Parser,p_=h_.parse,bU=h_.parseAllDocuments,CU=h_.parseDocument,LT=h_.stringify,nU=M$.visit,lU=M$.visitAsync;var dU=new Set(["none","low","medium","high"]),KU=new Set(["low","medium","high"]);function m_(s,_){if(!s||typeof s!=="object"||Array.isArray(s))throw Error(`${_} must be an object`);return s}function c(s,_,u=_){let T=s[_];if(typeof T!=="string"||T.trim()==="")throw Error(`Missing required string: ${u}`);return T}function Q$(s){if(!("confidence"in s))return null;let _=s.confidence;if(typeof _!=="string"||!KU.has(_))throw Error(`Invalid confidence: ${String(_)}`);return _}function V$(s){let _=m_(p_(s),"summaries.yaml"),u=c(_,"project_id");if(!Array.isArray(_.summaries))throw Error("summaries must be an array");return{projectId:u,summaries:_.summaries.map((T,i)=>{let $=`summaries[${i}]`,w=m_(T,`summaries[${i}]`),f=c(w,"value",`${$}.value`);if(!dU.has(f))throw Error(`Invalid summary value: ${f}`);return Q$(w),{sessionId:c(w,"session_id",`${$}.session_id`),title:c(w,"title",`${$}.title`),value:f,summaryMarkdown:c(w,"summary_markdown",`${$}.summary_markdown`),metadata:w}})}}function b$(s){let _=m_(p_(s),"experiences.yaml"),u=c(_,"project_id");if(!Array.isArray(_.experiences))throw Error("experiences must be an array");return{projectId:u,experiences:_.experiences.map((T,i)=>{let $=`experiences[${i}]`,w=m_(T,$),f=w.source_sessions;if(!Array.isArray(f)||f.some((R)=>typeof R!=="string"))throw Error(`experiences[${i}].source_sessions must be a string array`);let g=Q$(w);return{title:c(w,"title",`${$}.title`),slug:typeof w.slug==="string"?w.slug:null,summary:c(w,"summary",`${$}.summary`),bodyMarkdown:c(w,"body_markdown",`${$}.body_markdown`),sourceSessions:f,confidence:g,metadata:w}})}}import{existsSync as C$,readFileSync as n$,writeFileSync as yU}from"fs";var aU={"obsidian.vault":"obsidian_vault",obsidian_vault:"obsidian_vault"};function hU(s){let _={};for(let u of s.split(`
142
+ `)){let T=u.trim();if(T===""||T.startsWith("#")||T.startsWith("["))continue;let i=T.match(/^([\w.]+)\s*=\s*(.*)$/);if(!i)continue;let $=i[1],w=i[2].trim();if(w.startsWith('"')&&w.endsWith('"')||w.startsWith("'")&&w.endsWith("'"))w=w.slice(1,-1);_[$]=w}return _}function IT(s){if(!C$(s))return{obsidianVault:null};let u=hU(n$(s,"utf8")).obsidian_vault;return{obsidianVault:u&&u.trim()!==""?u:null}}function l$(s,_,u){let T=aU[_];if(!T)throw Error(`Unknown config key: ${_}. Supported: obsidian.vault`);let $=(C$(s)?n$(s,"utf8"):"").split(`
143
+ `),w=`${T} = "${u}"`,f=!1,g=$.map((R)=>{if(R.trim().startsWith(`${T} `)||R.trim().startsWith(`${T}=`))return f=!0,w;return R});if(!f)g.push(w);return yU(s,`${g.filter((R,O)=>!(R===""&&O===g.length-1)).join(`
144
+ `)}
145
+ `),T}import{Database as pU}from"bun:sqlite";import{mkdirSync as mU}from"fs";import{dirname as cU}from"path";function Z(s){return mU(cU(s),{recursive:!0}),new pU(s)}function M(s){s.exec(`
146
+ PRAGMA journal_mode = WAL;
147
+
148
+ CREATE TABLE IF NOT EXISTS projects (
149
+ id TEXT PRIMARY KEY,
150
+ canonical_name TEXT NOT NULL,
151
+ display_name TEXT,
152
+ slug TEXT NOT NULL,
153
+ canonical_repo_url TEXT,
154
+ provider TEXT,
155
+ identity_source TEXT NOT NULL,
156
+ created_at TEXT NOT NULL,
157
+ updated_at TEXT NOT NULL
158
+ );
159
+
160
+ CREATE TABLE IF NOT EXISTS project_checkouts (
161
+ id TEXT PRIMARY KEY,
162
+ project_id TEXT NOT NULL,
163
+ local_path TEXT NOT NULL,
164
+ git_root TEXT,
165
+ remote_url TEXT,
166
+ canonical_remote_url TEXT,
167
+ current_branch TEXT,
168
+ first_seen_at TEXT NOT NULL,
169
+ last_seen_at TEXT NOT NULL
170
+ );
171
+
172
+ CREATE TABLE IF NOT EXISTS project_aliases (
173
+ id TEXT PRIMARY KEY,
174
+ project_id TEXT NOT NULL,
175
+ alias_type TEXT NOT NULL,
176
+ alias_value TEXT NOT NULL
177
+ );
178
+
179
+ CREATE TABLE IF NOT EXISTS sources (
180
+ id TEXT PRIMARY KEY,
181
+ name TEXT NOT NULL,
182
+ enabled INTEGER NOT NULL,
183
+ scan_paths TEXT,
184
+ config_json TEXT,
185
+ last_sync_at TEXT
186
+ );
187
+
188
+ CREATE TABLE IF NOT EXISTS sessions (
189
+ id TEXT PRIMARY KEY,
190
+ source_id TEXT NOT NULL,
191
+ source_session_id TEXT NOT NULL,
192
+ project_id TEXT,
193
+ checkout_id TEXT,
194
+ raw_project_path TEXT,
195
+ raw_path TEXT,
196
+ title TEXT,
197
+ message_count INTEGER NOT NULL,
198
+ content_hash TEXT NOT NULL,
199
+ status TEXT NOT NULL,
200
+ created_at TEXT,
201
+ updated_at TEXT,
202
+ first_seen_at TEXT NOT NULL,
203
+ last_seen_at TEXT NOT NULL,
204
+ UNIQUE(source_id, source_session_id, raw_path)
205
+ );
206
+
207
+ CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions (project_id);
208
+
209
+ CREATE TABLE IF NOT EXISTS messages (
210
+ id TEXT PRIMARY KEY,
211
+ session_id TEXT NOT NULL,
212
+ role TEXT NOT NULL,
213
+ content TEXT NOT NULL,
214
+ timestamp TEXT,
215
+ tokens_in INTEGER DEFAULT 0,
216
+ tokens_out INTEGER DEFAULT 0,
217
+ seq_order INTEGER NOT NULL,
218
+ content_hash TEXT NOT NULL
219
+ );
220
+
221
+ CREATE INDEX IF NOT EXISTS idx_messages_session ON messages (session_id);
222
+
223
+ CREATE TABLE IF NOT EXISTS session_summaries (
224
+ id TEXT PRIMARY KEY,
225
+ session_id TEXT NOT NULL,
226
+ project_id TEXT NOT NULL,
227
+ title TEXT NOT NULL,
228
+ value TEXT NOT NULL,
229
+ summary_markdown TEXT NOT NULL,
230
+ metadata_json TEXT,
231
+ created_at TEXT NOT NULL,
232
+ updated_at TEXT NOT NULL
233
+ );
234
+
235
+ CREATE TABLE IF NOT EXISTS experience_candidates (
236
+ id TEXT PRIMARY KEY,
237
+ project_id TEXT NOT NULL,
238
+ proposed_title TEXT NOT NULL,
239
+ proposed_slug TEXT NOT NULL,
240
+ proposed_body_markdown TEXT NOT NULL,
241
+ source_sessions_json TEXT NOT NULL,
242
+ confidence TEXT,
243
+ status TEXT NOT NULL,
244
+ created_at TEXT NOT NULL
245
+ );
246
+
247
+ CREATE TABLE IF NOT EXISTS experiences (
248
+ id TEXT PRIMARY KEY,
249
+ project_id TEXT,
250
+ title TEXT NOT NULL,
251
+ slug TEXT NOT NULL,
252
+ problem_type TEXT,
253
+ solution_type TEXT,
254
+ tech_stack_json TEXT,
255
+ summary TEXT,
256
+ body_markdown TEXT NOT NULL,
257
+ confidence TEXT,
258
+ status TEXT NOT NULL,
259
+ created_at TEXT NOT NULL,
260
+ updated_at TEXT NOT NULL,
261
+ UNIQUE(project_id, slug)
262
+ );
263
+
264
+ CREATE TABLE IF NOT EXISTS session_experience_links (
265
+ session_id TEXT NOT NULL,
266
+ experience_id TEXT NOT NULL,
267
+ relation TEXT NOT NULL,
268
+ PRIMARY KEY (session_id, experience_id)
269
+ );
270
+
271
+ CREATE TABLE IF NOT EXISTS obsidian_notes (
272
+ id TEXT PRIMARY KEY,
273
+ note_type TEXT NOT NULL,
274
+ entity_id TEXT NOT NULL,
275
+ file_path TEXT NOT NULL,
276
+ managed_hash TEXT,
277
+ frontmatter_hash TEXT,
278
+ last_exported_at TEXT,
279
+ last_seen_mtime TEXT,
280
+ conflict_status TEXT NOT NULL,
281
+ UNIQUE(note_type, entity_id)
282
+ );
283
+ `)}import{spawnSync as kU}from"child_process";import{existsSync as xU}from"fs";import{basename as tU,resolve as K$}from"path";function vU(s){return s.trim().replace(/\/+$/,"").replace(/^ssh:\/\/git@([^/]+)\//,"$1/").replace(/^git@([^:]+):/,"$1/").replace(/^https?:\/\//,"").replace(/\.git$/,"")}function ST(s){return s.normalize("NFKD").replace(/[^\w\s./-]/g,"").trim().toLowerCase().replace(/[\s._/]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||"project"}function d$(s,_){let u=kU("git",_,{cwd:s,encoding:"utf8"});if(u.status!==0)return null;return u.stdout.trim()||null}function y$(s){let _=d$(s,["rev-parse","--show-toplevel"]),u=d$(s,["config","--get","remote.origin.url"]),T=u?vU(u):null,i=T??tU(_??s),$=ST(i);return{id:`proj_${Bun.hash(T??_??s).toString(16)}`,canonicalName:i,slug:$,canonicalRepoUrl:T,identitySource:T?"git_remote":"path"}}function a$(s,_){let u=new Date().toISOString();return s.query(`
284
+ INSERT INTO projects (id, canonical_name, display_name, slug, canonical_repo_url, provider, identity_source, created_at, updated_at)
285
+ VALUES ($id, $canonicalName, NULL, $slug, $canonicalRepoUrl, NULL, $identitySource, $now, $now)
286
+ ON CONFLICT(id) DO UPDATE SET
287
+ canonical_name = excluded.canonical_name,
288
+ slug = excluded.slug,
289
+ canonical_repo_url = excluded.canonical_repo_url,
290
+ identity_source = excluded.identity_source,
291
+ updated_at = excluded.updated_at
292
+ `).run({$id:_.id,$canonicalName:_.canonicalName,$slug:_.slug,$canonicalRepoUrl:_.canonicalRepoUrl,$identitySource:_.identitySource,$now:u}),c_(s,_.id)}function is(s,_){let u=K$(_);if(!xU(u))throw Error(`Path does not exist: ${u}`);return a$(s,y$(u))}function h$(s,_){let u=K$(_);return a$(s,y$(u))}function OT(s,_,u){let T=new Date().toISOString();if(s.query("UPDATE projects SET display_name = $displayName, updated_at = $now WHERE id = $projectId").run({$displayName:u,$projectId:_,$now:T}).changes===0)throw Error(`Project not found: ${_}`);return c_(s,_)}function p$(s){return s.query(`
293
+ SELECT
294
+ p.id,
295
+ p.canonical_name,
296
+ p.display_name,
297
+ p.slug,
298
+ p.canonical_repo_url,
299
+ p.identity_source,
300
+ COUNT(s.id) AS session_count,
301
+ MAX(s.last_seen_at) AS last_seen_at
302
+ FROM projects p
303
+ LEFT JOIN sessions s ON s.project_id = p.id
304
+ GROUP BY p.id
305
+ ORDER BY session_count DESC, p.canonical_name ASC
306
+ `).all().map((u)=>({id:u.id,canonicalName:u.canonical_name,displayName:u.display_name,slug:u.slug,canonicalRepoUrl:u.canonical_repo_url,identitySource:u.identity_source,sessionCount:u.session_count,lastSeenAt:u.last_seen_at}))}function c_(s,_){let u=s.query("SELECT * FROM projects WHERE id = ?").get(_);if(!u)throw Error(`Project not found: ${_}`);return{id:u.id,canonicalName:u.canonical_name,displayName:u.display_name,slug:u.slug,canonicalRepoUrl:u.canonical_repo_url,identitySource:u.identity_source}}var eU=`## \u8F93\u51FA\u683C\u5F0F
307
+
308
+ \u57FA\u4E8E\u4E0B\u9762\u8FD9\u4E9B\u4F1A\u8BDD\u6458\u8981\uFF0C\u63D0\u70BC\u51FA\u53EF\u590D\u7528\u7684\u9879\u76EE\u7ECF\u9A8C\uFF0C\u751F\u6210 \`experiences.yaml\` \u5199\u5165
309
+ \`.llm-iwiki/tasks/experiences.yaml\`\uFF0C\u518D\u8FD0\u884C \`llm-iwiki experiences propose\`\u3002
310
+
311
+ \`\`\`yaml
312
+ project_id: <\u89C1\u4E0B\u65B9 project_id>
313
+ experiences:
314
+ - title: <\u7ECF\u9A8C\u6807\u9898>
315
+ slug: <\u53EF\u9009\uFF0C\u7A33\u5B9A\u77ED\u6807\u8BC6>
316
+ summary: |
317
+ \u4E00\u53E5\u8BDD\u8BF4\u660E\u8FD9\u6761\u7ECF\u9A8C\u3002
318
+ body_markdown: |
319
+ ## \u80CC\u666F
320
+ ## \u65B9\u6848
321
+ ## \u7ED3\u8BBA
322
+ source_sessions:
323
+ - <\u76F8\u5173 session_id>
324
+ confidence: low | medium | high
325
+ \`\`\`
326
+
327
+ \u8981\u6C42\uFF1A
328
+ - \u4E00\u6761\u7ECF\u9A8C\u53EF\u4EE5\u805A\u5408\u591A\u4E2A\u4F1A\u8BDD\uFF0C\u6309\u4E3B\u9898\u5F52\u7EB3\uFF0C\u4E0D\u8981\u9010\u4F1A\u8BDD\u590D\u8FF0\u3002
329
+ - \`source_sessions\` \u586B\u5199\u8BE5\u7ECF\u9A8C\u6765\u81EA\u54EA\u4E9B session_id\u3002`;function oU(s,_,u){let T=u==="changed-summaries"?"AND value IN ('medium', 'high')":"";return s.query(`
330
+ SELECT session_id, title, value, summary_markdown
331
+ FROM session_summaries
332
+ WHERE project_id = ? ${T}
333
+ ORDER BY updated_at DESC
334
+ `).all(_)}function m$(s,_,u){let i=oU(s,_,u).map((w)=>[`### ${w.session_id} \u2014 ${w.title}`,`- value: ${w.value}`,"",w.summary_markdown].join(`
335
+ `));return{markdown:["# Experiences Task","",`project_id: ${_}`,`scope: ${u}`,`summaries: ${i.length}`,"",eU,"","---","",i.join(`
336
+
337
+ ---
338
+
339
+ `),""].join(`
340
+ `),summaryCount:i.length}}function c$(s){return Bun.hash(s).toString(16)}function k$(s,_){let u=new Date().toISOString(),T=0;return s.transaction(()=>{for(let $ of _.experiences){let w=$.slug&&$.slug.trim()!==""?$.slug:ST($.title),f=`cand_${c$(`${_.projectId}\x00${w}`)}`;s.query(`
341
+ INSERT INTO experience_candidates (
342
+ id, project_id, proposed_title, proposed_slug, proposed_body_markdown, source_sessions_json, confidence, status, created_at
343
+ ) VALUES ($id, $projectId, $title, $slug, $body, $sources, $confidence, 'proposed', $now)
344
+ ON CONFLICT(id) DO UPDATE SET
345
+ proposed_title = excluded.proposed_title,
346
+ proposed_body_markdown = excluded.proposed_body_markdown,
347
+ source_sessions_json = excluded.source_sessions_json,
348
+ confidence = excluded.confidence
349
+ `).run({$id:f,$projectId:_.projectId,$title:$.title,$slug:w,$body:$.bodyMarkdown,$sources:JSON.stringify($.sourceSessions),$confidence:$.confidence,$now:u}),T+=1}})(),{written:T}}function x$(s,_){if(_)return s.query("SELECT id, project_id, proposed_title, proposed_slug, confidence, status, source_sessions_json, created_at FROM experience_candidates WHERE project_id = ? ORDER BY created_at DESC").all(_);return s.query("SELECT id, project_id, proposed_title, proposed_slug, confidence, status, source_sessions_json, created_at FROM experience_candidates ORDER BY created_at DESC").all()}function t$(s,_){let u=s.query("SELECT project_id, proposed_title, proposed_slug, proposed_body_markdown, confidence, source_sessions_json FROM experience_candidates WHERE id = ?").get(_);if(!u)throw Error(`Experience candidate not found: ${_}`);let T=[];try{let f=JSON.parse(u.source_sessions_json);if(Array.isArray(f))T=f.filter((g)=>typeof g==="string")}catch{T=[]}let i=new Date().toISOString(),$=`exp_${c$(`${u.project_id}\x00${u.proposed_slug}`)}`;return s.transaction(()=>{s.query(`
350
+ INSERT INTO experiences (
351
+ id, project_id, title, slug, body_markdown, confidence, status, created_at, updated_at
352
+ ) VALUES ($id, $projectId, $title, $slug, $body, $confidence, 'accepted', $now, $now)
353
+ ON CONFLICT(project_id, slug) DO UPDATE SET
354
+ title = excluded.title,
355
+ body_markdown = excluded.body_markdown,
356
+ confidence = excluded.confidence,
357
+ status = 'accepted',
358
+ updated_at = excluded.updated_at
359
+ `).run({$id:$,$projectId:u.project_id,$title:u.proposed_title,$slug:u.proposed_slug,$body:u.proposed_body_markdown,$confidence:u.confidence,$now:i});let g=s.query("SELECT id FROM experiences WHERE project_id = ? AND slug = ?").get(u.project_id,u.proposed_slug)?.id??$;for(let R of T)s.query(`
360
+ INSERT INTO session_experience_links (session_id, experience_id, relation)
361
+ VALUES (?, ?, 'source')
362
+ ON CONFLICT(session_id, experience_id) DO NOTHING
363
+ `).run(R,g);s.query("UPDATE experience_candidates SET status = 'accepted' WHERE id = ?").run(_)})(),{experienceId:$,slug:u.proposed_slug,linkedSessions:T.length}}function v$(s,_){if(s.query("UPDATE experience_candidates SET status = 'rejected' WHERE id = ?").run(_).changes===0)throw Error(`Experience candidate not found: ${_}`)}import{existsSync as o$,mkdirSync as sN,readFileSync as sw,writeFileSync as e$}from"fs";import{dirname as _N,join as vs}from"path";var x_="<!-- aiwiki:managed:start -->",_w="<!-- aiwiki:managed:end -->";function t_(s){return Bun.hash(s).toString(16)}function NT(s){let _=s.replace(/[\\/:*?"<>|]/g," ").replace(/\s+/g," ").trim().slice(0,80);return _===""?"untitled":_}function uN(s){let _=LT(s.frontmatter).trimEnd(),u=s.userSectionHeading??"## \u6211\u7684\u8865\u5145";return["---",_,"---","",`# ${s.title}`,"",x_,s.managedBody.trim(),_w,"",u,"",""].join(`
364
+ `)}function uw(s){let _=s.indexOf(x_),u=s.indexOf(_w);if(_===-1||u===-1||u<_)return null;return{before:s.slice(0,_+x_.length),managed:s.slice(_+x_.length,u).trim(),after:s.slice(u)}}function TN(s,_){return`${s.before}
365
+ ${_.trim()}
366
+ ${s.after}`}function iN(s,_,u){return s.query("SELECT managed_hash, file_path FROM obsidian_notes WHERE note_type = ? AND entity_id = ?").get(_,u)}function k_(s,_,u,T,i,$){s.query(`
367
+ INSERT INTO obsidian_notes (id, note_type, entity_id, file_path, managed_hash, frontmatter_hash, last_exported_at, conflict_status)
368
+ VALUES ($id, $noteType, $entityId, $filePath, $managedHash, NULL, $now, $conflictStatus)
369
+ ON CONFLICT(note_type, entity_id) DO UPDATE SET
370
+ file_path = excluded.file_path,
371
+ managed_hash = excluded.managed_hash,
372
+ last_exported_at = excluded.last_exported_at,
373
+ conflict_status = excluded.conflict_status
374
+ `).run({$id:`note_${t_(`${_.noteType}\x00${_.entityId}`)}`,$noteType:_.noteType,$entityId:_.entityId,$filePath:u,$managedHash:T,$conflictStatus:i,$now:$})}function UT(s,_,u,T,i){let $=vs(_,u.relPath),w=t_(u.managedBody.trim());if(!o$($))return sN(_N($),{recursive:!0}),e$($,uN(u)),k_(s,u,$,w,"clean",i),"created";let f=sw($,"utf8"),g=uw(f);if(!g)return k_(s,u,$,w,"no_managed_block",i),"conflict";let R=t_(g.managed),O=iN(s,u.noteType,u.entityId),L=!O||O.managed_hash!==R;if(L&&!T.force)return k_(s,u,$,O?.managed_hash??R,"managed_conflict",i),"conflict";return e$($,TN(g,u.managedBody)),k_(s,u,$,w,"clean",i),L?"forced":"updated"}function $N(s){return NT(s.displayName??s.canonicalName??s.slug)}function Tw(s,_,u,T){let i=new Date().toISOString(),$={created:0,updated:0,forced:0,conflicts:[]},w=$N(u),f=vs("LLM-iWiki","Projects",w),g=u.displayName??u.canonicalName,R=(S,N)=>{if(S==="created")$.created+=1;else if(S==="updated")$.updated+=1;else if(S==="forced")$.forced+=1;else $.conflicts.push(N)},O=s.query(`
375
+ SELECT id, session_id, title, value, summary_markdown, updated_at
376
+ FROM session_summaries WHERE project_id = ? ORDER BY updated_at DESC
377
+ `).all(u.id);for(let S of O){let N=vs(f,"Sessions",`${NT(S.title)}.md`),q={noteType:"session-summary",entityId:S.id,relPath:N,title:S.title,managedBody:S.summary_markdown,frontmatter:{type:"session-summary",aiwiki_id:S.id,aiwiki_project_id:u.id,project:g,session_id:S.session_id,value:S.value,updated_at:S.updated_at??i}};R(UT(s,_,q,T,i),N)}let L=s.query(`
378
+ SELECT id, title, slug, body_markdown, confidence, status, updated_at
379
+ FROM experiences WHERE project_id = ? AND status = 'accepted' ORDER BY updated_at DESC
380
+ `).all(u.id);for(let S of L){let N=vs(f,"Experiences",`${NT(S.slug||S.title)}.md`),q=s.query("SELECT session_id FROM session_experience_links WHERE experience_id = ?").all(S.id).map((P)=>P.session_id),A={noteType:"experience",entityId:S.id,relPath:N,title:S.title,managedBody:S.body_markdown,frontmatter:{type:"experience",aiwiki_id:S.id,aiwiki_project_id:u.id,project:g,slug:S.slug,confidence:S.confidence,status:S.status,source_sessions:q,updated_at:S.updated_at}};R(UT(s,_,A,T,i),N)}let I=vs(f,"Project Summary.md"),U=[`- canonical: \`${u.canonicalName}\``,u.canonicalRepoUrl?`- repo: ${u.canonicalRepoUrl}`:null,`- session summaries: ${O.length}`,`- experiences: ${L.length}`].filter((S)=>S!=null).join(`
381
+ `),X={noteType:"project-summary",entityId:u.id,relPath:I,title:g,managedBody:U,frontmatter:{type:"project-summary",aiwiki_project_id:u.id,project:g,canonical_repo_url:u.canonicalRepoUrl,updated_at:i}};return R(UT(s,_,X,T,i),I),$}function iw(s){let _=s.query("SELECT note_type, entity_id, file_path, managed_hash FROM obsidian_notes ORDER BY file_path ASC").all(),u=[],T=0;for(let i of _){let $;if(!o$(i.file_path))$="missing";else{let w=uw(sw(i.file_path,"utf8"));if(!w)$="no_managed_block";else if(i.managed_hash&&t_(w.managed)===i.managed_hash)$="clean";else $="drift"}if($==="clean")T+=1;else u.push({noteType:i.note_type,entityId:i.entity_id,filePath:i.file_path,status:$})}return{total:_.length,clean:T,entries:u}}import{homedir as wN}from"os";import{join as XT,resolve as fN}from"path";function J(s=wN()){let _=XT(s,".llm-iwiki");return{homeDir:s,configDir:_,configFile:XT(_,"config.toml"),databaseFile:XT(_,"llm-iwiki.db")}}function ET(s){return fN(s,".llm-iwiki","tasks")}function $w(s){return{id:s.id,sourceId:s.source_id,sourceSessionId:s.source_session_id,title:s.title,messageCount:s.message_count,status:s.status,rawProjectPath:s.raw_project_path,updatedAt:s.updated_at,lastSeenAt:s.last_seen_at}}function gN(s,_,u=100){return s.query(`
382
+ SELECT id, source_id, source_session_id, title, message_count, status, raw_project_path, updated_at, last_seen_at
383
+ FROM sessions
384
+ WHERE project_id = ?
385
+ ORDER BY COALESCE(updated_at, last_seen_at) DESC
386
+ LIMIT ?
387
+ `).all(_,u).map($w)}function ww(s,_){return s.query("SELECT role, content FROM messages WHERE session_id = ? ORDER BY seq_order ASC").all(_)}function fw(s,_,u){let T=u==="changed"?"AND status IN ('new', 'changed')":"";return s.query(`
388
+ SELECT id, source_id, source_session_id, title, message_count, status, raw_project_path, updated_at, last_seen_at
389
+ FROM sessions
390
+ WHERE project_id = ? ${T}
391
+ ORDER BY COALESCE(updated_at, last_seen_at) DESC
392
+ `).all(_).map($w)}function gw(s,_){return{sources:s.query(`
393
+ SELECT source_id, COUNT(*) AS session_count
394
+ FROM sessions
395
+ WHERE project_id = ?
396
+ GROUP BY source_id
397
+ ORDER BY session_count DESC
398
+ `).all(_).map((T)=>({source:T.source_id,sessionCount:T.session_count})),sessions:gN(s,_)}}import{existsSync as RN,mkdirSync as LN,writeFileSync as Rw}from"fs";import{dirname as IN,join as SN}from"path";var Lw=["codex","claude-code","cursor"],ON={codex:"Codex","claude-code":"Claude Code",cursor:"Cursor"},UN=[{directory:"aiwiki-after-session",content:"---\nname: aiwiki-after-session\ndescription: Capture session knowledge into llm-iwiki summaries, experiences, and Obsidian export after project work.\n---\n\n# AIWiki After Session\n\nUse this skill after a meaningful coding or design session in the current project.\n\n## Steps\n\n1. Sync the current project:\n ```bash\n llm-iwiki sync --project .\n ```\n2. Prepare changed summaries:\n ```bash\n llm-iwiki summarize prepare changed --project . --out .llm-iwiki/tasks/summaries-task.md\n ```\n3. Generate `.llm-iwiki/tasks/summaries.yaml` from the prepared task.\n4. Apply the summaries:\n ```bash\n llm-iwiki summarize apply --project . --file .llm-iwiki/tasks/summaries.yaml\n ```\n5. Prepare experience proposals from changed summaries:\n ```bash\n llm-iwiki experiences prepare --project . --from changed-summaries --out .llm-iwiki/tasks/experiences-task.md\n ```\n6. Generate `.llm-iwiki/tasks/experiences.yaml` from the prepared task.\n7. Propose the experiences:\n ```bash\n llm-iwiki experiences propose --project . --file .llm-iwiki/tasks/experiences.yaml\n ```\n8. Export project knowledge to Obsidian:\n ```bash\n llm-iwiki obsidian export --project .\n ```\n"},{directory:"aiwiki-before-debug",content:`---
399
+ name: aiwiki-before-debug
400
+ description: Search project memory before debugging so related history is visible before changing code.
401
+ ---
402
+
403
+ # AIWiki Before Debug
404
+
405
+ Use this skill before investigating a bug, failure, error message, or confusing behavior.
406
+
407
+ ## Steps
408
+
409
+ 1. Search the full project knowledge index:
410
+ \`\`\`bash
411
+ llm-iwiki search "<error or topic>" --project . --index all
412
+ \`\`\`
413
+ 2. Read any related summaries, experiences, or prior decisions before editing code.
414
+ 3. Report whether related history was found, and name the most relevant item when it was found.
415
+ `},{directory:"aiwiki-project-retrospective",content:`---
416
+ name: aiwiki-project-retrospective
417
+ description: Review recent project knowledge and extract retrospective themes from llm-iwiki.
418
+ ---
419
+
420
+ # AIWiki Project Retrospective
421
+
422
+ Use this skill when preparing a project retrospective or looking for recent repeated lessons.
423
+
424
+ ## Steps
425
+
426
+ 1. Prepare a retrospective from recent project history:
427
+ \`\`\`bash
428
+ llm-iwiki experiences prepare --project . --from all-recent --since 30d --out .llm-iwiki/tasks/retrospective-task.md
429
+ \`\`\`
430
+ 2. Review the prepared task for repeated themes, unresolved questions, and process improvements.
431
+ 3. Capture any accepted learnings through the normal llm-iwiki experience proposal flow.
432
+ `}];function NN(s,_){if(!_)return s;return`${s}
433
+ ## Tool Target
434
+
435
+ This skill is initialized for ${ON[_]}.
436
+ `}function XN(s){return s instanceof Error&&"code"in s&&s.code==="EEXIST"}function Iw(s){let _=[],u=[];for(let T of UN){let i=SN(s.cwd,".agents","skills",T.directory,"SKILL.md");if(RN(i)&&!s.force){u.push(i);continue}if(_.push(i),s.dryRun)continue;LN(IN(i),{recursive:!0});let $=NN(T.content,s.target);if(s.force){Rw(i,$);continue}try{Rw(i,$,{flag:"wx"})}catch(w){if(!XN(w))throw w;_.pop(),u.push(i)}}return{written:_,skipped:u}}var EN={maxPerMessage:1200,maxMessages:60};function qN(s){return s.replace(/[ \t]+\n/g,`
437
+ `).replace(/\n{3,}/g,`
438
+
439
+ `).trim()}function rN(s,_){let u=qN(s);if(u.length<=_)return u;return`${u.slice(0,_)}
440
+ \u2026[truncated ${u.length-_} chars]`}function Sw(s,_={}){let u={...EN,..._},T=s.filter((f)=>f.content.trim()!==""),i=T,$="";if(T.length>u.maxMessages){let f=Math.ceil(u.maxMessages*0.6),g=u.maxMessages-f;i=[...T.slice(0,f),...T.slice(T.length-g)],$=`
441
+ \u2026[omitted ${T.length-u.maxMessages} middle messages]
442
+ `}let w=[];return i.forEach((f,g)=>{if($&&g===Math.ceil(u.maxMessages*0.6))w.push($);let R=f.role==="user"?"User":f.role==="assistant"?"Assistant":f.role;w.push(`**${R}:** ${rN(f.content,u.maxPerMessage)}`)}),w.join(`
443
+
444
+ `)}var AN="## \u8F93\u51FA\u683C\u5F0F\n\n\u8BF7\u9605\u8BFB\u4E0B\u9762\u6BCF\u4E2A\u4F1A\u8BDD\u7684\u538B\u7F29\u8BB0\u5F55\uFF0C\u4E3A\u6709\u4EF7\u503C\u7684\u4F1A\u8BDD\u751F\u6210\u4E00\u4EFD `summaries.yaml`\uFF0C\u5199\u5165\n`.llm-iwiki/tasks/summaries.yaml`\uFF0C\u518D\u8FD0\u884C `llm-iwiki summarize apply`\u3002\n\n```yaml\nproject_id: <\u89C1\u4E0B\u65B9 project_id>\nsummaries:\n - session_id: <\u4F1A\u8BDD\u7684 session_id\uFF0C\u539F\u6837\u7167\u6284>\n title: <\u4E00\u53E5\u8BDD\u6807\u9898>\n value: none | low | medium | high\n summary_markdown: |\n \u7528 Markdown \u6982\u62EC\u8FD9\u6B21\u4F1A\u8BDD\u89E3\u51B3\u4E86\u4EC0\u4E48\u95EE\u9898\u3001\u5173\u952E\u51B3\u7B56\u3001\u7ED3\u8BBA\u3002\n```\n\n\u8981\u6C42\uFF1A\n- `value` \u8868\u793A\u8FD9\u6B21\u4F1A\u8BDD\u7684\u6C89\u6DC0\u4EF7\u503C\uFF0C`medium` / `high` \u4F1A\u8FDB\u5165\u7ECF\u9A8C\u63D0\u53D6\u3002\n- `session_id` \u5FC5\u987B\u4E0E\u4E0B\u9762\u7ED9\u51FA\u7684\u5B8C\u5168\u4E00\u81F4\u3002\n- \u6CA1\u6709\u4EF7\u503C\u7684\u4F1A\u8BDD\u53EF\u4EE5\u7701\u7565\uFF0C\u4E0D\u5FC5\u6BCF\u4E2A\u90FD\u5199\u3002";function Ow(s,_,u){let T=fw(s,_,u),i=[];for(let w of T){let f=ww(s,w.id);if(f.length===0)continue;let g=Sw(f);i.push([`### ${w.id}`,`- source: ${w.sourceId}`,`- title: ${w.title??"(\u65E0\u6807\u9898)"}`,`- messages: ${w.messageCount}`,"",g].join(`
445
+ `))}return{markdown:["# Summaries Task","",`project_id: ${_}`,`scope: ${u}`,`sessions: ${i.length}`,"",AN,"","---","",i.join(`
446
+
447
+ ---
448
+
449
+ `),""].join(`
450
+ `),sessionCount:i.length}}function PN(s){return Bun.hash(s).toString(16)}function Uw(s,_){let u=new Date().toISOString(),T=0,i=[];return s.transaction(()=>{for(let w of _.summaries){let f=s.query("SELECT project_id FROM sessions WHERE id = ?").get(w.sessionId);if(!f){i.push(w.sessionId);continue}s.query(`
451
+ INSERT INTO session_summaries (id, session_id, project_id, title, value, summary_markdown, metadata_json, created_at, updated_at)
452
+ VALUES ($id, $sessionId, $projectId, $title, $value, $summaryMarkdown, $metadata, $now, $now)
453
+ ON CONFLICT(id) DO UPDATE SET
454
+ title = excluded.title,
455
+ value = excluded.value,
456
+ summary_markdown = excluded.summary_markdown,
457
+ metadata_json = excluded.metadata_json,
458
+ updated_at = excluded.updated_at
459
+ `).run({$id:`sum_${PN(w.sessionId)}`,$sessionId:w.sessionId,$projectId:f.project_id??_.projectId,$title:w.title,$value:w.value,$summaryMarkdown:w.summaryMarkdown,$metadata:JSON.stringify(w.metadata),$now:u}),T+=1}})(),{written:T,skipped:i}}import{existsSync as Ew,readdirSync as Xw,readFileSync as YN,realpathSync as zN,statSync as BN}from"fs";import{basename as GN,join as v_}from"path";import{tmpdir as DN}from"os";var Nw=120,FN=["/tmp/","/private/tmp/","/var/folders/","/private/var/folders/"];function a(s){if(!s)return!1;let _=DN();if(s===_)return!0;let u=s.endsWith("/")?s:`${s}/`;return[...FN,`${_}/`].some((i)=>u.startsWith(i))}function es(s){return s.length>Nw?`${s.slice(0,Nw)}\u2026`:s}function HN(s){for(let _ of s.split(`
460
+ `)){let u=_.trim();if(u===""||/^[-=*#>`~]+$/.test(u))continue;return u}return null}function h(s){for(let _ of s){if(_.role!=="user")continue;let u=HN(_.content);if(u)return es(u)}return null}function zs(s){if(typeof s==="string")return s;if(Array.isArray(s))return s.map((_)=>{if(typeof _==="string")return _;if(_&&typeof _==="object"){let u=_;if(typeof u.text==="string")return u.text;return JSON.stringify(u)}return String(_)}).join(`
461
+ `).trim();if(s==null)return"";return JSON.stringify(s)}var qw=[".claude/projects",".claude-internal/projects"];function WN(s){let u=YN(s,"utf8").split(`
462
+ `),T=[],i=null,$=null;for(let f of u){let g=f.trim();if(g==="")continue;let R;try{R=JSON.parse(g)}catch{continue}if(typeof R.sessionId==="string"&&!$)$=R.sessionId;if(typeof R.cwd==="string"&&!i)i=R.cwd;let O=R.type;if(O!=="user"&&O!=="assistant")continue;if(R.isSidechain===!0)continue;let L=R.message;if(!L||typeof L!=="object")continue;let I=L,U=typeof I.role==="string"?I.role:O,X=zs(I.content);if(X.trim()==="")continue;T.push({role:U,content:X,timestamp:typeof R.timestamp==="string"?R.timestamp:null})}if(T.length===0)return null;if(a(i))return null;$??=GN(s).replace(/\.jsonl$/,"");let w=T.map((f)=>f.timestamp).filter((f)=>f!=null);return{sourceSessionId:$,rawPath:s,rawProjectPath:i,title:h(T),createdAt:w[0]??null,updatedAt:w[w.length-1]??null,messages:T}}function jN(s){let _=[],u=new Set;for(let T of qw){let i=v_(s,T);if(!Ew(i))continue;let $;try{$=zN(i)}catch{$=i}if(u.has($))continue;u.add($);for(let w of Xw(i,{withFileTypes:!0})){if(!w.isDirectory())continue;let f=v_(i,w.name);for(let g of Xw(f,{withFileTypes:!0}))if(g.isFile()&&g.name.endsWith(".jsonl"))_.push(v_(f,g.name))}}return _}var rw={id:"claude-code",name:"Claude Code",detect(s){return qw.some((_)=>Ew(v_(s,_)))},collect(s){let _=[];for(let u of jN(s))try{if(!BN(u).isFile())continue;let T=WN(u);if(T)_.push(T)}catch{continue}return _}};import{existsSync as Pw,readdirSync as Dw,readFileSync as JN,statSync as ZN}from"fs";import{join as $s}from"path";var MN="Library/Application Support",QN=["CodeBuddyExtension","CodeBuddy CN"];function Fw(s,_,u=0){if(u>6)return;let T;try{T=Dw(s,{withFileTypes:!0})}catch{return}for(let i of T){if(!i.isDirectory())continue;let $=$s(s,i.name);if(i.name==="history")_.push($);else if(i.name!=="messages")Fw($,_,u+1)}}function qT(s){try{return JSON.parse(JN(s,"utf8"))}catch{return null}}function VN(s){if(typeof s!=="string")return zs(s);let _=s.trim();if(_.startsWith("{")||_.startsWith("["))try{let u=JSON.parse(_);if(u&&typeof u==="object"&&"content"in u)return zs(u.content);return zs(u)}catch{return s}return s}function bN(s){let _=s.match(/Workspace Folder:\s*(.+)/);if(!_)return null;let u=_[1].trim();return u===""?null:u}function CN(s,_,u){let T=qT($s(s,"index.json"));if(!T?.messages)return null;let i=[],$=null;for(let f of T.messages){let g=qT($s(s,"messages",`${f.id}.json`));if(!g)continue;let R=f.role??g.role??"user";if(R!=="user"&&R!=="assistant")continue;let O=VN(g.message);if(O.trim()==="")continue;if(!$&&R==="user")$=bN(O);i.push({role:R,content:O,timestamp:null})}if(i.length===0)return null;if(a($))return null;let w=u.name&&u.name.trim()!==""?es(u.name.trim()):h(i);return{sourceSessionId:_,rawPath:s,rawProjectPath:$,title:w,createdAt:u.createdAt??null,updatedAt:u.lastMessageAt??null,messages:i}}function nN(s,_){for(let u of Dw(s,{withFileTypes:!0})){if(!u.isDirectory())continue;let T=$s(s,u.name),i=qT($s(T,"index.json"));if(!i?.conversations?.length)continue;for(let $ of i.conversations){if(!$.id)continue;let w=$s(T,$.id);if(!Pw(w))continue;try{let f=CN(w,$.id,$);if(f)_.push(f)}catch{continue}}}}function Aw(s){return QN.map((_)=>$s(s,MN,_)).filter((_)=>Pw(_))}var Hw={id:"codebuddy",name:"CodeBuddy",detect(s){return Aw(s).length>0},collect(s){let _=[],u=new Set;for(let T of Aw(s)){let i=[];Fw($s(T,"Data"),i);for(let $ of i){try{if(!ZN($).isDirectory())continue}catch{continue}nN($,_)}}return _.filter((T)=>{if(u.has(T.sourceSessionId))return!1;return u.add(T.sourceSessionId),!0})}};import{existsSync as Yw,readdirSync as lN,readFileSync as dN,realpathSync as KN,statSync as yN}from"fs";import{basename as aN,join as rT}from"path";var zw=[".codex/sessions",".codex-internal/sessions"];function hN(s){return s.replace(/\[REQ:[0-9a-f-]+\]/gi,"").replace(/\[AMP_DONE:[0-9a-f-]+\]/gi,"").trim()}function Bw(s,_){for(let u of lN(s,{withFileTypes:!0})){let T=rT(s,u.name);if(u.isDirectory())Bw(T,_);else if(u.isFile()&&u.name.startsWith("rollout-")&&u.name.endsWith(".jsonl"))_.push(T)}}function pN(s){let _=dN(s,"utf8"),u=[],T=null,i=null,$=null;for(let f of _.split(`
463
+ `)){let g=f.trim();if(g==="")continue;let R;try{R=JSON.parse(g)}catch{continue}let O=R.payload;if(!O||typeof O!=="object")continue;let L=O,I=typeof R.timestamp==="string"?R.timestamp:null;if(R.type==="session_meta"){if(typeof L.id==="string")i=L.id;if(typeof L.cwd==="string")T=L.cwd;if(typeof L.timestamp==="string")$=L.timestamp;continue}if(R.type!=="event_msg")continue;let U=L.type;if(U!=="user_message"&&U!=="agent_message")continue;if(typeof L.message!=="string")continue;let X=hN(L.message);if(X==="")continue;u.push({role:U==="user_message"?"user":"assistant",content:X,timestamp:I})}if(u.length===0)return null;if(a(T))return null;i??=aN(s).replace(/\.jsonl$/,"");let w=u.map((f)=>f.timestamp).filter((f)=>f!=null);return{sourceSessionId:i,rawPath:s,rawProjectPath:T,title:h(u),createdAt:$??w[0]??null,updatedAt:w[w.length-1]??null,messages:u}}function mN(s){let _=[],u=new Set;for(let T of zw){let i=rT(s,T);if(!Yw(i))continue;let $;try{$=KN(i)}catch{$=i}if(u.has($))continue;u.add($),Bw(i,_)}return _}var Gw={id:"codex",name:"Codex",detect(s){return zw.some((_)=>Yw(rT(s,_)))},collect(s){let _=[];for(let u of mN(s))try{if(!yN(u).isFile())continue;let T=pN(u);if(T)_.push(T)}catch{continue}return _}};import{Database as cN}from"bun:sqlite";import{existsSync as os,readdirSync as kN,readFileSync as xN}from"fs";import{join as Os}from"path";var Ww="Library/Application Support/Cursor/User";function AT(s){if(typeof s!=="number"||!Number.isFinite(s))return null;let _=new Date(s);return Number.isNaN(_.getTime())?null:_.toISOString()}function tN(s){if(!s.startsWith("file://"))return null;try{return decodeURIComponent(s.replace(/^file:\/\//,"")).replace(/\/+$/,"")}catch{return null}}function jw(s){try{return new cN(s,{readonly:!0})}catch{return null}}function vN(s){let _=new Map,u=Os(s,"workspaceStorage");if(!os(u))return _;for(let T of kN(u,{withFileTypes:!0})){if(!T.isDirectory())continue;let i=Os(u,T.name),$=null,w=Os(i,"workspace.json");if(os(w))try{let R=JSON.parse(xN(w,"utf8"));if(typeof R.folder==="string")$=tN(R.folder)}catch{}let f=Os(i,"state.vscdb");if(!os(f))continue;let g=jw(f);if(!g)continue;try{let R=g.query("SELECT value FROM ItemTable WHERE key = ?").get("composer.composerData");if(!R)continue;let O=JSON.parse(R.value);for(let L of O.allComposers??[]){let I=L.composerId;if(typeof I!=="string")continue;if(_.has(I))continue;_.set(I,{cwd:$,name:typeof L.name==="string"?L.name:null,createdAt:AT(L.createdAt),updatedAt:AT(L.lastUpdatedAt)})}}catch{}finally{g.close()}}return _}function eN(s,_,u,T){let i=s.query("SELECT value FROM cursorDiskKV WHERE key = ?").get(`composerData:${u}`);if(!i)return null;let $;try{$=JSON.parse(i.value)}catch{return null}let w=$.fullConversationHeadersOnly??[];if(w.length===0)return null;let f=s.query("SELECT value FROM cursorDiskKV WHERE key = ?"),g=[];for(let L of w){if(L.type!==1&&L.type!==2)continue;let I=f.get(`bubbleId:${u}:${L.bubbleId}`);if(!I)continue;let U;try{U=JSON.parse(I.value)}catch{continue}let X=typeof U.text==="string"?U.text.trim():"";if(X==="")continue;g.push({role:L.type===1?"user":"assistant",content:X,timestamp:null})}if(g.length===0)return null;if(a(T.cwd))return null;let R=T.name??$.name??null,O=R&&R.trim()!==""?es(R.trim()):h(g);return{sourceSessionId:u,rawPath:`${_}#${u}`,rawProjectPath:T.cwd,title:O,createdAt:T.createdAt??AT($.createdAt),updatedAt:T.updatedAt,messages:g}}var Jw={id:"cursor",name:"Cursor",detect(s){return os(Os(s,Ww,"globalStorage","state.vscdb"))},collect(s){let _=Os(s,Ww),u=Os(_,"globalStorage","state.vscdb");if(!os(u))return[];let T=vN(_);if(T.size===0)return[];let i=jw(u);if(!i)return[];let $=[];try{for(let[w,f]of T)try{let g=eN(i,u,w,f);if(g)$.push(g)}catch{continue}}finally{i.close()}return $}};import{existsSync as s_,readdirSync as Zw,readFileSync as Vw,realpathSync as oN,statSync as sX}from"fs";import{basename as bw,dirname as Mw,join as Bs}from"path";var _X=[".gemini-internal",".gemini"];function uX(s){let _=new Map,u=Bs(s,"projects.json");if(!s_(u))return _;try{let T=JSON.parse(Vw(u,"utf8"));for(let[i,$]of Object.entries(T.projects??{}))if(typeof $==="string"&&!_.has($))_.set($,i)}catch{}return _}function TX(s){let _=s.trim();return _.startsWith("/")&&!_.includes(`
464
+ `)&&_.length<256}function iX(s,_,u){let T;try{T=JSON.parse(Vw(s,"utf8"))}catch{return null}let i=[];for(let f of T.messages??[]){if(f.type!=="user"&&f.type!=="gemini")continue;let g=typeof f.content==="string"?f.content:"";if(g.trim()==="")continue;i.push({role:f.type==="user"?"user":"assistant",content:g,timestamp:typeof f.timestamp==="string"?f.timestamp:null})}if(i.length===0)return null;let $=u.get(_)??null;if(!$){let f=i.find((g)=>g.role==="user");if(f&&TX(f.content))$=f.content.trim().replace(/\/+$/,"")}if(a($))return null;let w=i.map((f)=>f.timestamp).filter((f)=>f!=null);return{sourceSessionId:T.sessionId??bw(s).replace(/\.json$/,""),rawPath:s,rawProjectPath:$,title:h(i),createdAt:T.startTime??w[0]??null,updatedAt:T.lastUpdated??w[w.length-1]??null,messages:i}}function Qw(s){let _=new Set;for(let u of _X){let T=Bs(s,u);if(!s_(T))continue;let i;try{i=oN(T)}catch{i=T}if(_.has(i))continue;return _.add(i),T}return null}function $X(s){let _=Bs(s,"tmp");if(!s_(_))return[];let u=[];for(let T of Zw(_,{withFileTypes:!0})){if(!T.isDirectory())continue;let i=Bs(_,T.name,"chats");if(!s_(i))continue;for(let $ of Zw(i,{withFileTypes:!0}))if($.isFile()&&$.name.startsWith("session-")&&$.name.endsWith(".json"))u.push(Bs(i,$.name))}return u}var Cw={id:"gemini",name:"Gemini",detect(s){let _=Qw(s);return _!=null&&s_(Bs(_,"tmp"))},collect(s){let _=Qw(s);if(!_)return[];let u=uX(_),T=[];for(let i of $X(_))try{if(!sX(i).isFile())continue;let $=bw(Mw(Mw(i))),w=iX(i,$,u);if(w)T.push(w)}catch{continue}return T}};var nw=[rw,Gw,Jw,Cw,Hw];function PT(s){return Bun.hash(s).toString(16)}function wX(s,_){return`ses_${PT(`${s}\x00${_.sourceSessionId}\x00${_.rawPath}`)}`}function fX(s,_){return PT(`${s}\x00${_}`)}function gX(s){return PT(`${s.length}\x00${s.join("\x00")}`)}function RX(s,_,u){s.query(`
465
+ INSERT INTO sources (id, name, enabled, scan_paths, config_json, last_sync_at)
466
+ VALUES ($id, $name, 1, NULL, NULL, $now)
467
+ ON CONFLICT(id) DO UPDATE SET
468
+ name = excluded.name,
469
+ last_sync_at = excluded.last_sync_at
470
+ `).run({$id:_.id,$name:_.name,$now:u})}function LX(s,_){if(!_)return null;try{return h$(s,_).id}catch{return null}}function IX(s,_,u,T,i){let $=wX(_.id,u),w=u.messages.map((I)=>fX(I.role,I.content)),f=gX(w),g=LX(s,u.rawProjectPath),R=s.query("SELECT content_hash, first_seen_at FROM sessions WHERE id = ?").get($);if(R&&R.content_hash===f)return s.query("UPDATE sessions SET project_id = $projectId, status = $status, last_seen_at = $now WHERE id = $id").run({$projectId:g,$status:"unchanged",$now:T,$id:$}),i.unchanged+=1,$;let O=R?"changed":"new",L=R?.first_seen_at??T;if(s.query(`
471
+ INSERT INTO sessions (
472
+ id, source_id, source_session_id, project_id, checkout_id, raw_project_path, raw_path,
473
+ title, message_count, content_hash, status, created_at, updated_at, first_seen_at, last_seen_at
474
+ ) VALUES (
475
+ $id, $sourceId, $sourceSessionId, $projectId, NULL, $rawProjectPath, $rawPath,
476
+ $title, $messageCount, $contentHash, $status, $createdAt, $updatedAt, $firstSeenAt, $now
477
+ )
478
+ ON CONFLICT(id) DO UPDATE SET
479
+ project_id = excluded.project_id,
480
+ raw_project_path = excluded.raw_project_path,
481
+ title = excluded.title,
482
+ message_count = excluded.message_count,
483
+ content_hash = excluded.content_hash,
484
+ status = excluded.status,
485
+ created_at = excluded.created_at,
486
+ updated_at = excluded.updated_at,
487
+ last_seen_at = excluded.last_seen_at
488
+ `).run({$id:$,$sourceId:_.id,$sourceSessionId:u.sourceSessionId,$projectId:g,$rawProjectPath:u.rawProjectPath,$rawPath:u.rawPath,$title:u.title,$messageCount:u.messages.length,$contentHash:f,$status:O,$createdAt:u.createdAt,$updatedAt:u.updatedAt,$firstSeenAt:L,$now:T}),s.query("DELETE FROM messages WHERE session_id = ?").run($),u.messages.forEach((I,U)=>{s.query(`
489
+ INSERT INTO messages (id, session_id, role, content, timestamp, seq_order, content_hash)
490
+ VALUES ($id, $sessionId, $role, $content, $timestamp, $seqOrder, $contentHash)
491
+ `).run({$id:`msg_${$}_${U}`,$sessionId:$,$role:I.role,$content:I.content,$timestamp:I.timestamp,$seqOrder:U,$contentHash:w[U]})}),O==="new")i.new+=1;else i.changed+=1;return $}function SX(s,_,u,T,i){let $=s.query("SELECT id FROM sessions WHERE source_id = ? AND status != 'source_missing'").all(_);for(let w of $){if(u.has(w.id))continue;s.query("UPDATE sessions SET status = $status, last_seen_at = $now WHERE id = $id").run({$status:"source_missing",$now:T,$id:w.id}),i.sourceMissing+=1}}function lw(s,_){let u=new Date().toISOString(),T=[];for(let i of nw){if(!i.detect(_.homeDir))continue;RX(s,i,u);let $={source:i.id,new:0,changed:0,unchanged:0,sourceMissing:0,total:0},w=i.collect(_.homeDir),f=new Set;s.transaction(()=>{for(let R of w){if(_.projectFilter&&R.rawProjectPath!==_.projectFilter)continue;let O=IX(s,i,R,u,$);f.add(O),$.total+=1}if(!_.projectFilter)SX(s,i.id,f,u,$)})(),T.push($)}return{bySource:T}}var aw=`llm-iwiki
492
+
493
+ Usage:
494
+ llm-iwiki init
495
+ llm-iwiki doctor
496
+ llm-iwiki sync [--project <path>]
497
+ llm-iwiki projects list
498
+ llm-iwiki projects resolve <path>
499
+ llm-iwiki projects inspect <path-or-project-id>
500
+ llm-iwiki projects rename <path-or-project-id> <display-name>
501
+ llm-iwiki summarize prepare [changed|all] --project <path> [--out <file>]
502
+ llm-iwiki summarize apply --project <path> --file <summaries.yaml>
503
+ llm-iwiki experiences prepare --project <path> [--from changed-summaries|all-recent] [--out <file>]
504
+ llm-iwiki experiences propose --project <path> --file <experiences.yaml>
505
+ llm-iwiki experiences candidates [--project <path>]
506
+ llm-iwiki experiences accept <candidate-id>
507
+ llm-iwiki experiences reject <candidate-id>
508
+ llm-iwiki obsidian export [--project <path>] [--vault <dir>] [--force]
509
+ llm-iwiki obsidian check
510
+ llm-iwiki config show
511
+ llm-iwiki config set <key> <value>
512
+ llm-iwiki skills init [--target codex|claude-code|cursor] [--force] [--dry-run]
513
+ `;function Q(s,_){return OX(_)?_:UX(s,_)}function n(s,_){let u=s.indexOf(_);if(u===-1)return null;let T=s[u+1];if(!T||T.startsWith("--"))return null;return T}async function hw(s,_){if(s.length===0||s[0]==="--help"||s[0]==="-h")return _.stdout(aw),0;if(s[0]==="init"){let u=J(_.homeDir);if(e_(u.configDir,{recursive:!0}),!DT(u.configFile))FT(u.configFile,`obsidian_vault = ""
514
+ `);let T=Z(u.databaseFile);try{M(T)}finally{T.close()}return _.stdout(`Initialized llm-iwiki at ${u.configDir}`),0}if(s[0]==="doctor"){let u=J(_.homeDir);if(!DT(u.configFile))return _.stderr("llm-iwiki is not initialized. Run: llm-iwiki init"),1;if(!DT(u.databaseFile))return _.stderr("llm-iwiki database is missing. Run: llm-iwiki init"),1;let T=Z(u.databaseFile);try{M(T)}finally{T.close()}return _.stdout(`config: ${u.configFile}`),_.stdout(`database: ${u.databaseFile}`),_.stdout("status: ok"),0}if(s[0]==="sync"){let u=n(s,"--project"),T=J(_.homeDir),i=Z(T.databaseFile);try{M(i);let $=lw(i,{homeDir:_.homeDir??T.homeDir,projectFilter:u?Q(_.cwd,u):null});if($.bySource.length===0)return _.stdout("No collectors detected on this machine."),0;for(let w of $.bySource)_.stdout(`${w.source}: ${w.total} sessions (new ${w.new}, changed ${w.changed}, unchanged ${w.unchanged}, missing ${w.sourceMissing})`);return 0}catch($){return _.stderr($ instanceof Error?$.message:String($)),1}finally{i.close()}}if(s[0]==="projects"&&s[1]==="list"){let u=J(_.homeDir),T=Z(u.databaseFile);try{M(T);let i=p$(T);if(i.length===0)return _.stdout("No projects yet. Run: llm-iwiki sync"),0;for(let $ of i){let w=$.displayName??$.canonicalName;_.stdout(`${$.id} ${$.sessionCount} sessions ${w}`)}return 0}finally{T.close()}}if(s[0]==="projects"&&s[1]==="inspect"){let u=s[2];if(!u)return _.stderr("Usage: llm-iwiki projects inspect <path-or-project-id>"),1;let T=J(_.homeDir),i=Z(T.databaseFile);try{M(i);let $=u.startsWith("proj_")?c_(i,u):is(i,Q(_.cwd,u)),w=gw(i,$.id);if(_.stdout(`project: ${$.displayName??$.canonicalName}`),_.stdout(`id: ${$.id}`),$.canonicalRepoUrl)_.stdout(`repo: ${$.canonicalRepoUrl}`);_.stdout(`sources: ${w.sources.map((f)=>`${f.source}(${f.sessionCount})`).join(", ")||"none"}`),_.stdout(`sessions: ${w.sessions.length}`);for(let f of w.sessions)_.stdout(` [${f.sourceId}] ${f.title??f.sourceSessionId} (${f.messageCount} msgs, ${f.status})`);return 0}catch($){return _.stderr($ instanceof Error?$.message:String($)),1}finally{i.close()}}if(s[0]==="projects"&&s[1]==="resolve"){let u=s[2]??_.cwd,T=J(_.homeDir),i=Z(T.databaseFile);try{M(i);let $=is(i,Q(_.cwd,u));return _.stdout(JSON.stringify($,null,2)),0}catch($){return _.stderr($ instanceof Error?$.message:String($)),1}finally{i.close()}}if(s[0]==="projects"&&s[1]==="rename"){let u=s[2],T=s[3];if(!u||!T)return _.stderr("Usage: llm-iwiki projects rename <path-or-project-id> <display-name>"),1;let i=J(_.homeDir),$=Z(i.databaseFile);try{M($);let w=u.startsWith("proj_")?OT($,u,T):OT($,is($,Q(_.cwd,u)).id,T);return _.stdout(JSON.stringify(w,null,2)),0}catch(w){return _.stderr(w instanceof Error?w.message:String(w)),1}finally{$.close()}}if(s[0]==="summarize"&&s[1]==="prepare"){let u=s[2]&&!s[2].startsWith("--")?s[2]:"changed";if(u!=="changed"&&u!=="all")return _.stderr("Usage: llm-iwiki summarize prepare [changed|all] --project <path> [--out <file>]"),1;let T=Q(_.cwd,n(s,"--project")??_.cwd),i=n(s,"--out")??yw(ET(T),"summaries-task.md"),$=J(_.homeDir),w=Z($.databaseFile);try{M(w);let f=is(w,T),g=Ow(w,f.id,u);return e_(Kw(Q(_.cwd,i)),{recursive:!0}),FT(Q(_.cwd,i),g.markdown),_.stdout(`prepared summaries task: ${g.sessionCount} sessions -> ${i}`),0}catch(f){return _.stderr(f instanceof Error?f.message:String(f)),1}finally{w.close()}}if(s[0]==="summarize"&&s[1]==="apply"){let u=n(s,"--file");if(!u)return _.stderr("Usage: llm-iwiki summarize apply --project <path> --file <summaries.yaml>"),1;let T=J(_.homeDir),i=Z(T.databaseFile);try{M(i);let $=V$(dw(Q(_.cwd,u),"utf8")),w=Uw(i,$);if(_.stdout(`applied summaries: ${w.written}`),w.skipped.length>0)_.stdout(`skipped (unknown session): ${w.skipped.length}`);return 0}catch($){return _.stderr($ instanceof Error?$.message:String($)),1}finally{i.close()}}if(s[0]==="experiences"&&s[1]==="prepare"){let u=n(s,"--from")??"changed-summaries";if(u!=="changed-summaries"&&u!=="all-recent")return _.stderr("Invalid --from. Use changed-summaries or all-recent."),1;let T=Q(_.cwd,n(s,"--project")??_.cwd),i=n(s,"--out")??yw(ET(T),"experiences-task.md"),$=J(_.homeDir),w=Z($.databaseFile);try{M(w);let f=is(w,T),g=m$(w,f.id,u);return e_(Kw(Q(_.cwd,i)),{recursive:!0}),FT(Q(_.cwd,i),g.markdown),_.stdout(`prepared experiences task: ${g.summaryCount} summaries -> ${i}`),0}catch(f){return _.stderr(f instanceof Error?f.message:String(f)),1}finally{w.close()}}if(s[0]==="experiences"&&s[1]==="propose"){let u=n(s,"--file");if(!u)return _.stderr("Usage: llm-iwiki experiences propose --project <path> --file <experiences.yaml>"),1;let T=J(_.homeDir),i=Z(T.databaseFile);try{M(i);let $=b$(dw(Q(_.cwd,u),"utf8")),w=k$(i,$);return _.stdout(`proposed experiences: ${w.written}`),0}catch($){return _.stderr($ instanceof Error?$.message:String($)),1}finally{i.close()}}if(s[0]==="experiences"&&s[1]==="candidates"){let u=n(s,"--project"),T=J(_.homeDir),i=Z(T.databaseFile);try{M(i);let $=u?is(i,Q(_.cwd,u)).id:null,w=x$(i,$);if(w.length===0)return _.stdout("No experience candidates. Run: llm-iwiki experiences propose"),0;for(let f of w)_.stdout(`${f.id} [${f.status}] ${f.confidence??"-"} ${f.proposed_title}`);return 0}catch($){return _.stderr($ instanceof Error?$.message:String($)),1}finally{i.close()}}if(s[0]==="experiences"&&(s[1]==="accept"||s[1]==="reject")){let u=s[2];if(!u)return _.stderr(`Usage: llm-iwiki experiences ${s[1]} <candidate-id>`),1;let T=J(_.homeDir),i=Z(T.databaseFile);try{if(M(i),s[1]==="accept"){let $=t$(i,u);_.stdout(`accepted: ${$.experienceId} (${$.slug}), linked sessions: ${$.linkedSessions}`)}else v$(i,u),_.stdout(`rejected: ${u}`);return 0}catch($){return _.stderr($ instanceof Error?$.message:String($)),1}finally{i.close()}}if(s[0]==="config"&&s[1]==="show"){let u=J(_.homeDir),T=IT(u.configFile);return _.stdout(`config: ${u.configFile}`),_.stdout(`obsidian.vault: ${T.obsidianVault??"(unset)"}`),0}if(s[0]==="config"&&s[1]==="set"){let u=s[2],T=s[3];if(!u||T===void 0)return _.stderr("Usage: llm-iwiki config set <key> <value>"),1;let i=J(_.homeDir);e_(i.configDir,{recursive:!0});try{let $=l$(i.configFile,u,T);return _.stdout(`set ${$} = ${T}`),0}catch($){return _.stderr($ instanceof Error?$.message:String($)),1}}if(s[0]==="obsidian"&&s[1]==="export"){let u=J(_.homeDir),T=n(s,"--vault"),i=T?Q(_.cwd,T):IT(u.configFile).obsidianVault;if(!i)return _.stderr("No Obsidian vault configured. Run: llm-iwiki config set obsidian.vault <dir>"),1;let $=Q(_.cwd,n(s,"--project")??_.cwd),w=s.includes("--force"),f=Z(u.databaseFile);try{M(f);let g=is(f,$),R=Tw(f,i,g,{force:w});_.stdout(`vault: ${i}`),_.stdout(`exported: created ${R.created}, updated ${R.updated}, forced ${R.forced}, conflicts ${R.conflicts.length}`);for(let O of R.conflicts)_.stdout(` conflict (skipped): ${O}`);if(R.conflicts.length>0&&!w)_.stdout("Re-run with --force to overwrite managed blocks of conflicting notes.");return 0}catch(g){return _.stderr(g instanceof Error?g.message:String(g)),1}finally{f.close()}}if(s[0]==="obsidian"&&s[1]==="check"){let u=J(_.homeDir),T=Z(u.databaseFile);try{M(T);let i=iw(T);_.stdout(`notes: ${i.total}, clean: ${i.clean}, needs attention: ${i.entries.length}`);for(let $ of i.entries)_.stdout(` ${$.status}: ${$.filePath}`);return 0}finally{T.close()}}if(s[0]==="skills"&&s[1]==="init"){let u=n(s,"--target");if(s.includes("--target")&&!u)return _.stderr("Invalid --target. Use codex, claude-code, or cursor."),1;if(u&&!Lw.includes(u))return _.stderr("Invalid --target. Use codex, claude-code, or cursor."),1;let T=u,i=Iw({cwd:_.cwd,target:T,force:s.includes("--force"),dryRun:s.includes("--dry-run")});return _.stdout(`skills written: ${i.written.length}`),_.stdout(`skills skipped: ${i.skipped.length}`),0}return _.stderr(`Unknown command: ${s.join(" ")}`),_.stderr(aw),1}var NX=await hw(process.argv.slice(2),{cwd:process.cwd(),stdout:console.log,stderr:console.error});process.exit(NX);