faf-cli 6.11.0 → 6.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -4
- package/dist/cli.js +50 -50
- package/dist/cli.js.map +7 -7
- package/dist/index.d.ts +2 -0
- package/dist/index.js +93 -92
- package/dist/index.js.map +6 -5
- package/dist/interop/servercard.d.ts +61 -0
- package/dist/interrogate/cargo.d.ts +1 -1
- package/dist/interrogate/readme.d.ts +1 -1
- package/package.json +4 -3
- package/project.faf +1 -1
package/dist/index.js
CHANGED
|
@@ -1,126 +1,126 @@
|
|
|
1
|
-
import{createRequire as
|
|
2
|
-
`)}}h.defaultYaml={explicit:!1,version:"1.2"};h.defaultTags={"!!":"tag:yaml.org,2002:"};
|
|
3
|
-
`)?
|
|
1
|
+
import{createRequire as a8}from"node:module";var p8=Object.defineProperty;var _=($,Z)=>()=>(Z||$((Z={exports:{}}).exports,Z),Z.exports);var l8=($)=>$;function d8($,Z){this[$]=l8.bind(null,Z)}var c8=($,Z)=>{for(var U in Z)p8($,U,{get:Z[U],enumerable:!0,configurable:!0,set:d8.bind(Z,U)})};var g0=a8(import.meta.url);var C=_((VZ)=>{var W9=Symbol.for("yaml.alias"),k2=Symbol.for("yaml.document"),O$=Symbol.for("yaml.map"),v2=Symbol.for("yaml.pair"),L9=Symbol.for("yaml.scalar"),D$=Symbol.for("yaml.seq"),s=Symbol.for("yaml.node.type"),QZ=($)=>!!$&&typeof $==="object"&&$[s]===W9,JZ=($)=>!!$&&typeof $==="object"&&$[s]===k2,qZ=($)=>!!$&&typeof $==="object"&&$[s]===O$,HZ=($)=>!!$&&typeof $==="object"&&$[s]===v2,m2=($)=>!!$&&typeof $==="object"&&$[s]===L9,GZ=($)=>!!$&&typeof $==="object"&&$[s]===D$;function p2($){if($&&typeof $==="object")switch($[s]){case O$:case D$:return!0}return!1}function YZ($){if($&&typeof $==="object")switch($[s]){case W9:case O$:case L9:case D$:return!0}return!1}var BZ=($)=>(m2($)||p2($))&&!!$.anchor;VZ.ALIAS=W9;VZ.DOC=k2;VZ.MAP=O$;VZ.NODE_TYPE=s;VZ.PAIR=v2;VZ.SCALAR=L9;VZ.SEQ=D$;VZ.hasAnchor=BZ;VZ.isAlias=QZ;VZ.isCollection=p2;VZ.isDocument=JZ;VZ.isMap=qZ;VZ.isNode=YZ;VZ.isPair=HZ;VZ.isScalar=m2;VZ.isSeq=GZ});var u0=_((CZ)=>{var y=C(),x=Symbol("break visit"),l2=Symbol("skip children"),d=Symbol("remove node");function _$($,Z){let U=d2(Z);if(y.isDocument($)){if(I0(null,$.contents,U,Object.freeze([$]))===d)$.contents=null}else I0(null,$,U,Object.freeze([]))}_$.BREAK=x;_$.SKIP=l2;_$.REMOVE=d;function I0($,Z,U,z){let X=c2($,Z,U,z);if(y.isNode(X)||y.isPair(X))return a2($,z,X),I0($,X,U,z);if(typeof X!=="symbol"){if(y.isCollection(Z)){z=Object.freeze(z.concat(Z));for(let Q=0;Q<Z.items.length;++Q){let J=I0(Q,Z.items[Q],U,z);if(typeof J==="number")Q=J-1;else if(J===x)return x;else if(J===d)Z.items.splice(Q,1),Q-=1}}else if(y.isPair(Z)){z=Object.freeze(z.concat(Z));let Q=I0("key",Z.key,U,z);if(Q===x)return x;else if(Q===d)Z.key=null;let J=I0("value",Z.value,U,z);if(J===x)return x;else if(J===d)Z.value=null}}return X}async function I$($,Z){let U=d2(Z);if(y.isDocument($)){if(await R0(null,$.contents,U,Object.freeze([$]))===d)$.contents=null}else await R0(null,$,U,Object.freeze([]))}I$.BREAK=x;I$.SKIP=l2;I$.REMOVE=d;async function R0($,Z,U,z){let X=await c2($,Z,U,z);if(y.isNode(X)||y.isPair(X))return a2($,z,X),R0($,X,U,z);if(typeof X!=="symbol"){if(y.isCollection(Z)){z=Object.freeze(z.concat(Z));for(let Q=0;Q<Z.items.length;++Q){let J=await R0(Q,Z.items[Q],U,z);if(typeof J==="number")Q=J-1;else if(J===x)return x;else if(J===d)Z.items.splice(Q,1),Q-=1}}else if(y.isPair(Z)){z=Object.freeze(z.concat(Z));let Q=await R0("key",Z.key,U,z);if(Q===x)return x;else if(Q===d)Z.key=null;let J=await R0("value",Z.value,U,z);if(J===x)return x;else if(J===d)Z.value=null}}return X}function d2($){if(typeof $==="object"&&($.Collection||$.Node||$.Value))return Object.assign({Alias:$.Node,Map:$.Node,Scalar:$.Node,Seq:$.Node},$.Value&&{Map:$.Value,Scalar:$.Value,Seq:$.Value},$.Collection&&{Map:$.Collection,Seq:$.Collection},$);return $}function c2($,Z,U,z){if(typeof U==="function")return U($,Z,z);if(y.isMap(Z))return U.Map?.($,Z,z);if(y.isSeq(Z))return U.Seq?.($,Z,z);if(y.isPair(Z))return U.Pair?.($,Z,z);if(y.isScalar(Z))return U.Scalar?.($,Z,z);if(y.isAlias(Z))return U.Alias?.($,Z,z);return}function a2($,Z,U){let z=Z[Z.length-1];if(y.isCollection(z))z.items[$]=U;else if(y.isPair(z))if($==="key")z.key=U;else z.value=U;else if(y.isDocument(z))z.contents=U;else{let X=y.isAlias(z)?"alias":"scalar";throw Error(`Cannot replace node with ${X} parent`)}}CZ.visit=_$;CZ.visitAsync=I$});var O9=_((fZ)=>{var s2=C(),EZ=u0(),gZ={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},yZ=($)=>$.replace(/[!,[\]{}]/g,(Z)=>gZ[Z]);class h{constructor($,Z){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},h.defaultYaml,$),this.tags=Object.assign({},h.defaultTags,Z)}clone(){let $=new h(this.yaml,this.tags);return $.docStart=this.docStart,$}atDocument(){let $=new h(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:h.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},h.defaultTags);break}return $}add($,Z){if(this.atNextDocument)this.yaml={explicit:h.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},h.defaultTags),this.atNextDocument=!1;let U=$.trim().split(/[ \t]+/),z=U.shift();switch(z){case"%TAG":{if(U.length!==2){if(Z(0,"%TAG directive should contain exactly two parts"),U.length<2)return!1}let[X,Q]=U;return this.tags[X]=Q,!0}case"%YAML":{if(this.yaml.explicit=!0,U.length!==1)return Z(0,"%YAML directive should contain exactly one part"),!1;let[X]=U;if(X==="1.1"||X==="1.2")return this.yaml.version=X,!0;else{let Q=/^\d+\.\d+$/.test(X);return Z(6,`Unsupported YAML version ${X}`,Q),!1}}default:return Z(0,`Unknown directive ${z}`,!0),!1}}tagName($,Z){if($==="!")return"!";if($[0]!=="!")return Z(`Not a valid tag: ${$}`),null;if($[1]==="<"){let Q=$.slice(2,-1);if(Q==="!"||Q==="!!")return Z(`Verbatim tags aren't resolved, so ${$} is invalid.`),null;if($[$.length-1]!==">")Z("Verbatim tags must end with a >");return Q}let[,U,z]=$.match(/^(.*!)([^!]*)$/s);if(!z)Z(`The ${$} tag has no suffix`);let X=this.tags[U];if(X)try{return X+decodeURIComponent(z)}catch(Q){return Z(String(Q)),null}if(U==="!")return $;return Z(`Could not resolve tag: ${$}`),null}tagString($){for(let[Z,U]of Object.entries(this.tags))if($.startsWith(U))return Z+yZ($.substring(U.length));return $[0]==="!"?$:`!<${$}>`}toString($){let Z=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],U=Object.entries(this.tags),z;if($&&U.length>0&&s2.isNode($.contents)){let X={};EZ.visit($.contents,(Q,J)=>{if(s2.isNode(J)&&J.tag)X[J.tag]=!0}),z=Object.keys(X)}else z=[];for(let[X,Q]of U){if(X==="!!"&&Q==="tag:yaml.org,2002:")continue;if(!$||z.some((J)=>J.startsWith(Q)))Z.push(`%TAG ${X} ${Q}`)}return Z.join(`
|
|
2
|
+
`)}}h.defaultYaml={explicit:!1,version:"1.2"};h.defaultTags={"!!":"tag:yaml.org,2002:"};fZ.Directives=h});var R$=_((vZ)=>{var i2=C(),hZ=u0();function uZ($){if(/[\x00-\x19\s,[\]{}]/.test($)){let U=`Anchor must not contain whitespace or control characters: ${JSON.stringify($)}`;throw Error(U)}return!0}function r2($){let Z=new Set;return hZ.visit($,{Value(U,z){if(z.anchor)Z.add(z.anchor)}}),Z}function n2($,Z){for(let U=1;;++U){let z=`${$}${U}`;if(!Z.has(z))return z}}function kZ($,Z){let U=[],z=new Map,X=null;return{onAnchor:(Q)=>{U.push(Q),X??(X=r2($));let J=n2(Z,X);return X.add(J),J},setAnchors:()=>{for(let Q of U){let J=z.get(Q);if(typeof J==="object"&&J.anchor&&(i2.isScalar(J.node)||i2.isCollection(J.node)))J.node.anchor=J.anchor;else{let q=Error("Failed to resolve repeated object (this should not happen)");throw q.source=Q,q}}},sourceObjects:z}}vZ.anchorIsValid=uZ;vZ.anchorNames=r2;vZ.createNodeAnchors=kZ;vZ.findNewAnchor=n2});var D9=_((cZ)=>{function k0($,Z,U,z){if(z&&typeof z==="object")if(Array.isArray(z))for(let X=0,Q=z.length;X<Q;++X){let J=z[X],q=k0($,z,String(X),J);if(q===void 0)delete z[X];else if(q!==J)z[X]=q}else if(z instanceof Map)for(let X of Array.from(z.keys())){let Q=z.get(X),J=k0($,z,X,Q);if(J===void 0)z.delete(X);else if(J!==Q)z.set(X,J)}else if(z instanceof Set)for(let X of Array.from(z)){let Q=k0($,z,X,X);if(Q===void 0)z.delete(X);else if(Q!==X)z.delete(X),z.add(Q)}else for(let[X,Q]of Object.entries(z)){let J=k0($,z,X,Q);if(J===void 0)delete z[X];else if(J!==Q)z[X]=J}return $.call(Z,U,z)}cZ.applyReviver=k0});var o=_((iZ)=>{var sZ=C();function o2($,Z,U){if(Array.isArray($))return $.map((z,X)=>o2(z,String(X),U));if($&&typeof $.toJSON==="function"){if(!U||!sZ.hasAnchor($))return $.toJSON(Z,U);let z={aliasCount:0,count:1,res:void 0};U.anchors.set($,z),U.onCreate=(Q)=>{z.res=Q,delete U.onCreate};let X=$.toJSON(Z,U);if(U.onCreate)U.onCreate(X);return X}if(typeof $==="bigint"&&!U?.keep)return Number($);return $}iZ.toJS=o2});var M$=_((tZ)=>{var nZ=D9(),t2=C(),oZ=o();class e2{constructor($){Object.defineProperty(this,t2.NODE_TYPE,{value:$})}clone(){let $=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)$.range=this.range.slice();return $}toJS($,{mapAsMap:Z,maxAliasCount:U,onAnchor:z,reviver:X}={}){if(!t2.isDocument($))throw TypeError("A document argument is required");let Q={anchors:new Map,doc:$,keep:!0,mapAsMap:Z===!0,mapKeyWarned:!1,maxAliasCount:typeof U==="number"?U:100},J=oZ.toJS(this,"",Q);if(typeof z==="function")for(let{count:q,res:H}of Q.anchors.values())z(H,q);return typeof X==="function"?nZ.applyReviver(X,{"":J},"",J):J}}tZ.NodeBase=e2});var v0=_((X3)=>{var $3=R$(),Z3=u0(),M0=C(),U3=M$(),z3=o();class $4 extends U3.NodeBase{constructor($){super(M0.ALIAS);this.source=$,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve($,Z){let U;if(Z?.aliasResolveCache)U=Z.aliasResolveCache;else if(U=[],Z3.visit($,{Node:(X,Q)=>{if(M0.isAlias(Q)||M0.hasAnchor(Q))U.push(Q)}}),Z)Z.aliasResolveCache=U;let z=void 0;for(let X of U){if(X===this)break;if(X.anchor===this.source)z=X}return z}toJSON($,Z){if(!Z)return{source:this.source};let{anchors:U,doc:z,maxAliasCount:X}=Z,Q=this.resolve(z,Z);if(!Q){let q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(q)}let J=U.get(Q);if(!J)z3.toJS(Q,null,Z),J=U.get(Q);if(J?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(X>=0){if(J.count+=1,J.aliasCount===0)J.aliasCount=P$(z,Q,U);if(J.count*J.aliasCount>X)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return J.res}toString($,Z,U){let z=`*${this.source}`;if($){if($3.anchorIsValid(this.source),$.options.verifyAliasOrder&&!$.anchors.has(this.source)){let X=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(X)}if($.implicitKey)return`${z} `}return z}}function P$($,Z,U){if(M0.isAlias(Z)){let z=Z.resolve($),X=U&&z&&U.get(z);return X?X.count*X.aliasCount:0}else if(M0.isCollection(Z)){let z=0;for(let X of Z.items){let Q=P$($,X,U);if(Q>z)z=Q}return z}else if(M0.isPair(Z)){let z=P$($,Z.key,U),X=P$($,Z.value,U);return Math.max(z,X)}return 1}X3.Alias=$4});var g=_((Y3)=>{var J3=C(),q3=M$(),H3=o(),G3=($)=>!$||typeof $!=="function"&&typeof $!=="object";class J0 extends q3.NodeBase{constructor($){super(J3.SCALAR);this.value=$}toJSON($,Z){return Z?.keep?this.value:H3.toJS(this.value,$,Z)}toString(){return String(this.value)}}J0.BLOCK_FOLDED="BLOCK_FOLDED";J0.BLOCK_LITERAL="BLOCK_LITERAL";J0.PLAIN="PLAIN";J0.QUOTE_DOUBLE="QUOTE_DOUBLE";J0.QUOTE_SINGLE="QUOTE_SINGLE";Y3.Scalar=J0;Y3.isScalarValue=G3});var m0=_((_3)=>{var W3=v0(),q0=C(),Z4=g(),L3="tag:yaml.org,2002:";function O3($,Z,U){if(Z){let z=U.filter((Q)=>Q.tag===Z),X=z.find((Q)=>!Q.format)??z[0];if(!X)throw Error(`Tag ${Z} not found`);return X}return U.find((z)=>z.identify?.($)&&!z.format)}function D3($,Z,U){if(q0.isDocument($))$=$.contents;if(q0.isNode($))return $;if(q0.isPair($)){let Y=U.schema[q0.MAP].createNode?.(U.schema,null,U);return Y.items.push($),Y}if($ instanceof String||$ instanceof Number||$ instanceof Boolean||typeof BigInt<"u"&&$ instanceof BigInt)$=$.valueOf();let{aliasDuplicateObjects:z,onAnchor:X,onTagObj:Q,schema:J,sourceObjects:q}=U,H=void 0;if(z&&$&&typeof $==="object")if(H=q.get($),H)return H.anchor??(H.anchor=X($)),new W3.Alias(H.anchor);else H={anchor:null,node:null},q.set($,H);if(Z?.startsWith("!!"))Z=L3+Z.slice(2);let G=O3($,Z,J.tags);if(!G){if($&&typeof $.toJSON==="function")$=$.toJSON();if(!$||typeof $!=="object"){let Y=new Z4.Scalar($);if(H)H.node=Y;return Y}G=$ instanceof Map?J[q0.MAP]:(Symbol.iterator in Object($))?J[q0.SEQ]:J[q0.MAP]}if(Q)Q(G),delete U.onTagObj;let W=G?.createNode?G.createNode(U.schema,$,U):typeof G?.nodeClass?.from==="function"?G.nodeClass.from(U.schema,$,U):new Z4.Scalar($);if(Z)W.tag=Z;else if(!G.default)W.tag=G.tag;if(H)H.node=W;return W}_3.createNode=D3});var T$=_((P3)=>{var R3=m0(),c=C(),M3=M$();function _9($,Z,U){let z=U;for(let X=Z.length-1;X>=0;--X){let Q=Z[X];if(typeof Q==="number"&&Number.isInteger(Q)&&Q>=0){let J=[];J[Q]=z,z=J}else z=new Map([[Q,z]])}return R3.createNode(z,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:$,sourceObjects:new Map})}var U4=($)=>$==null||typeof $==="object"&&!!$[Symbol.iterator]().next().done;class z4 extends M3.NodeBase{constructor($,Z){super($);Object.defineProperty(this,"schema",{value:Z,configurable:!0,enumerable:!1,writable:!0})}clone($){let Z=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if($)Z.schema=$;if(Z.items=Z.items.map((U)=>c.isNode(U)||c.isPair(U)?U.clone($):U),this.range)Z.range=this.range.slice();return Z}addIn($,Z){if(U4($))this.add(Z);else{let[U,...z]=$,X=this.get(U,!0);if(c.isCollection(X))X.addIn(z,Z);else if(X===void 0&&this.schema)this.set(U,_9(this.schema,z,Z));else throw Error(`Expected YAML collection at ${U}. Remaining path: ${z}`)}}deleteIn($){let[Z,...U]=$;if(U.length===0)return this.delete(Z);let z=this.get(Z,!0);if(c.isCollection(z))return z.deleteIn(U);else throw Error(`Expected YAML collection at ${Z}. Remaining path: ${U}`)}getIn($,Z){let[U,...z]=$,X=this.get(U,!0);if(z.length===0)return!Z&&c.isScalar(X)?X.value:X;else return c.isCollection(X)?X.getIn(z,Z):void 0}hasAllNullValues($){return this.items.every((Z)=>{if(!c.isPair(Z))return!1;let U=Z.value;return U==null||$&&c.isScalar(U)&&U.value==null&&!U.commentBefore&&!U.comment&&!U.tag})}hasIn($){let[Z,...U]=$;if(U.length===0)return this.has(Z);let z=this.get(Z,!0);return c.isCollection(z)?z.hasIn(U):!1}setIn($,Z){let[U,...z]=$;if(z.length===0)this.set(U,Z);else{let X=this.get(U,!0);if(c.isCollection(X))X.setIn(z,Z);else if(X===void 0&&this.schema)this.set(U,_9(this.schema,z,Z));else throw Error(`Expected YAML collection at ${U}. Remaining path: ${z}`)}}}P3.Collection=z4;P3.collectionFromPath=_9;P3.isEmptyPath=U4});var p0=_((w3)=>{var A3=($)=>$.replace(/^(?!$)(?: $)?/gm,"#");function I9($,Z){if(/^\n+$/.test($))return $.substring(1);return Z?$.replace(/^(?! *$)/gm,Z):$}var N3=($,Z,U)=>$.endsWith(`
|
|
3
|
+
`)?I9(U,Z):U.includes(`
|
|
4
4
|
`)?`
|
|
5
|
-
`+
|
|
6
|
-
`){if(U==="block")V=
|
|
7
|
-
`&&
|
|
8
|
-
`&&A!=="\t")B=V}if(V>=Y)if(B)G.push(B),Y=B+H,B=void 0;else if(U==="quoted"){while(
|
|
9
|
-
${Z}${$.slice(0,F)}`;else{if(U==="quoted"&&W[A])
|
|
10
|
-
${Z}${$.slice(A+1,F)}`}}return
|
|
11
|
-
`);z=Z,X=Z+1,Q=$[X]}return z}
|
|
5
|
+
`+I9(U,Z):($.endsWith(" ")?"":" ")+U;w3.indentComment=I9;w3.lineComment=N3;w3.stringifyComment=A3});var Q4=_((E3)=>{function S3($,Z,U="flow",{indentAtStart:z,lineWidth:X=80,minContentWidth:Q=20,onFold:J,onOverflow:q}={}){if(!X||X<0)return $;if(X<Q)Q=0;let H=Math.max(1+Q,1+X-Z.length);if($.length<=H)return $;let G=[],W={},Y=X-Z.length;if(typeof z==="number")if(z>X-Math.max(2,Q))G.push(0);else Y=X-z;let B=void 0,O=void 0,D=!1,V=-1,L=-1,R=-1;if(U==="block"){if(V=X4($,V,Z.length),V!==-1)Y=V+H}for(let K;K=$[V+=1];){if(U==="quoted"&&K==="\\"){switch(L=V,$[V+1]){case"x":V+=3;break;case"u":V+=5;break;case"U":V+=9;break;default:V+=1}R=V}if(K===`
|
|
6
|
+
`){if(U==="block")V=X4($,V,Z.length);Y=V+Z.length+H,B=void 0}else{if(K===" "&&O&&O!==" "&&O!==`
|
|
7
|
+
`&&O!=="\t"){let A=$[V+1];if(A&&A!==" "&&A!==`
|
|
8
|
+
`&&A!=="\t")B=V}if(V>=Y)if(B)G.push(B),Y=B+H,B=void 0;else if(U==="quoted"){while(O===" "||O==="\t")O=K,K=$[V+=1],D=!0;let A=V>R+1?V-2:L-1;if(W[A])return $;G.push(A),W[A]=!0,Y=A+H,B=void 0}else D=!0}O=K}if(D&&q)q();if(G.length===0)return $;if(J)J();let T=$.slice(0,G[0]);for(let K=0;K<G.length;++K){let A=G[K],F=G[K+1]||$.length;if(A===0)T=`
|
|
9
|
+
${Z}${$.slice(0,F)}`;else{if(U==="quoted"&&W[A])T+=`${$[A]}\\`;T+=`
|
|
10
|
+
${Z}${$.slice(A+1,F)}`}}return T}function X4($,Z,U){let z=Z,X=Z+1,Q=$[X];while(Q===" "||Q==="\t")if(Z<X+U)Q=$[++Z];else{do Q=$[++Z];while(Q&&Q!==`
|
|
11
|
+
`);z=Z,X=Z+1,Q=$[X]}return z}E3.FOLD_BLOCK="block";E3.FOLD_FLOW="flow";E3.FOLD_QUOTED="quoted";E3.foldFlowLines=S3});var d0=_((v3)=>{var k=g(),t=Q4(),K$=($,Z)=>({indentAtStart:Z?$.indent.length:$.indentAtStart,lineWidth:$.options.lineWidth,minContentWidth:$.options.minContentWidth}),A$=($)=>/^(%|---|\.\.\.)/m.test($);function h3($,Z,U){if(!Z||Z<0)return!1;let z=Z-U,X=$.length;if(X<=z)return!1;for(let Q=0,J=0;Q<X;++Q)if($[Q]===`
|
|
12
12
|
`){if(Q-J>z)return!0;if(J=Q+1,X-J<=z)return!1}return!0}function l0($,Z){let U=JSON.stringify($);if(Z.options.doubleQuotedAsJSON)return U;let{implicitKey:z}=Z,X=Z.options.doubleQuotedMinMultiLineLength,Q=Z.indent||(A$($)?" ":""),J="",q=0;for(let H=0,G=U[H];G;G=U[++H]){if(G===" "&&U[H+1]==="\\"&&U[H+2]==="n")J+=U.slice(q,H)+"\\ ",H+=1,q=H,G="\\";if(G==="\\")switch(U[H+1]){case"u":{J+=U.slice(q,H);let W=U.substr(H+2,4);switch(W){case"0000":J+="\\0";break;case"0007":J+="\\a";break;case"000b":J+="\\v";break;case"001b":J+="\\e";break;case"0085":J+="\\N";break;case"00a0":J+="\\_";break;case"2028":J+="\\L";break;case"2029":J+="\\P";break;default:if(W.substr(0,2)==="00")J+="\\x"+W.substr(2);else J+=U.substr(H,6)}H+=5,q=H+1}break;case"n":if(z||U[H+2]==='"'||U.length<X)H+=1;else{J+=U.slice(q,H)+`
|
|
13
13
|
|
|
14
14
|
`;while(U[H+2]==="\\"&&U[H+3]==="n"&&U[H+4]!=='"')J+=`
|
|
15
|
-
`,H+=2;if(J+=Q,U[H+2]===" ")J+="\\";H+=1,q=H+1}break;default:H+=1}}return J=q?J+U.slice(q):U,z?J:t.foldFlowLines(J,Q,t.FOLD_QUOTED,K$(Z,!1))}function
|
|
15
|
+
`,H+=2;if(J+=Q,U[H+2]===" ")J+="\\";H+=1,q=H+1}break;default:H+=1}}return J=q?J+U.slice(q):U,z?J:t.foldFlowLines(J,Q,t.FOLD_QUOTED,K$(Z,!1))}function R9($,Z){if(Z.options.singleQuote===!1||Z.implicitKey&&$.includes(`
|
|
16
16
|
`)||/[ \t]\n|\n[ \t]/.test($))return l0($,Z);let U=Z.indent||(A$($)?" ":""),z="'"+$.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
17
|
-
${U}`)+"'";return Z.implicitKey?z:t.foldFlowLines(z,U,t.FOLD_FLOW,K$(Z,!1))}function
|
|
17
|
+
${U}`)+"'";return Z.implicitKey?z:t.foldFlowLines(z,U,t.FOLD_FLOW,K$(Z,!1))}function P0($,Z){let{singleQuote:U}=Z.options,z;if(U===!1)z=l0;else{let X=$.includes('"'),Q=$.includes("'");if(X&&!Q)z=R9;else if(Q&&!X)z=l0;else z=U?R9:l0}return z($,Z)}var M9;try{M9=new RegExp(`(^|(?<!
|
|
18
18
|
))
|
|
19
19
|
+(?!
|
|
20
|
-
|$)`,"g")}catch{
|
|
20
|
+
|$)`,"g")}catch{M9=/\n+(?!\n|$)/g}function F$({comment:$,type:Z,value:U},z,X,Q){let{blockQuote:J,commentString:q,lineWidth:H}=z.options;if(!J||/\n[\t ]+$/.test(U))return P0(U,z);let G=z.indent||(z.forceBlockIndent||A$(U)?" ":""),W=J==="literal"?!0:J==="folded"||Z===k.Scalar.BLOCK_FOLDED?!1:Z===k.Scalar.BLOCK_LITERAL?!0:!h3(U,H,G.length);if(!U)return W?`|
|
|
21
21
|
`:`>
|
|
22
22
|
`;let Y,B;for(B=U.length;B>0;--B){let F=U[B-1];if(F!==`
|
|
23
|
-
`&&F!=="\t"&&F!==" ")break}let
|
|
24
|
-
`);if(
|
|
25
|
-
`)
|
|
26
|
-
`)R=
|
|
27
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${G}`),N=!1,w=K$(z,!0);if(J!=="folded"&&Z!==k.Scalar.BLOCK_FOLDED)w.onOverflow=()=>{N=!0};let
|
|
28
|
-
${G}${
|
|
29
|
-
${G}${
|
|
30
|
-
`)||W&&/[[\]{},]/.test(Q))return
|
|
31
|
-
`)?
|
|
32
|
-
`))return F$($,Z,U,z);if(A$(Q)){if(H==="")return Z.forceBlockIndent=!0,F$($,Z,U,z);else if(q&&H===G)return
|
|
33
|
-
${H}`);if(J){let B=(V)=>V.default&&V.tag!=="tag:yaml.org,2002:str"&&V.test?.test(Y),{compat:
|
|
34
|
-
${Z.indent}${q}`}
|
|
35
|
-
${q}:`}else if(
|
|
36
|
-
`:"",
|
|
23
|
+
`&&F!=="\t"&&F!==" ")break}let O=U.substring(B),D=O.indexOf(`
|
|
24
|
+
`);if(D===-1)Y="-";else if(U===O||D!==O.length-1){if(Y="+",Q)Q()}else Y="";if(O){if(U=U.slice(0,-O.length),O[O.length-1]===`
|
|
25
|
+
`)O=O.slice(0,-1);O=O.replace(M9,`$&${G}`)}let V=!1,L,R=-1;for(L=0;L<U.length;++L){let F=U[L];if(F===" ")V=!0;else if(F===`
|
|
26
|
+
`)R=L;else break}let T=U.substring(0,R<L?R+1:L);if(T)U=U.substring(T.length),T=T.replace(/\n+/g,`$&${G}`);let A=(V?G?"2":"1":"")+Y;if($){if(A+=" "+q($.replace(/ ?[\r\n]+/g," ")),X)X()}if(!W){let F=U.replace(/\n+/g,`
|
|
27
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${G}`),N=!1,w=K$(z,!0);if(J!=="folded"&&Z!==k.Scalar.BLOCK_FOLDED)w.onOverflow=()=>{N=!0};let P=t.foldFlowLines(`${T}${F}${O}`,G,t.FOLD_BLOCK,w);if(!N)return`>${A}
|
|
28
|
+
${G}${P}`}return U=U.replace(/\n+/g,`$&${G}`),`|${A}
|
|
29
|
+
${G}${T}${U}${O}`}function u3($,Z,U,z){let{type:X,value:Q}=$,{actualString:J,implicitKey:q,indent:H,indentStep:G,inFlow:W}=Z;if(q&&Q.includes(`
|
|
30
|
+
`)||W&&/[[\]{},]/.test(Q))return P0(Q,Z);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Q))return q||W||!Q.includes(`
|
|
31
|
+
`)?P0(Q,Z):F$($,Z,U,z);if(!q&&!W&&X!==k.Scalar.PLAIN&&Q.includes(`
|
|
32
|
+
`))return F$($,Z,U,z);if(A$(Q)){if(H==="")return Z.forceBlockIndent=!0,F$($,Z,U,z);else if(q&&H===G)return P0(Q,Z)}let Y=Q.replace(/\n+/g,`$&
|
|
33
|
+
${H}`);if(J){let B=(V)=>V.default&&V.tag!=="tag:yaml.org,2002:str"&&V.test?.test(Y),{compat:O,tags:D}=Z.doc.schema;if(D.some(B)||O?.some(B))return P0(Q,Z)}return q?Y:t.foldFlowLines(Y,H,t.FOLD_FLOW,K$(Z,!1))}function k3($,Z,U,z){let{implicitKey:X,inFlow:Q}=Z,J=typeof $.value==="string"?$:Object.assign({},$,{value:String($.value)}),{type:q}=$;if(q!==k.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(J.value))q=k.Scalar.QUOTE_DOUBLE}let H=(W)=>{switch(W){case k.Scalar.BLOCK_FOLDED:case k.Scalar.BLOCK_LITERAL:return X||Q?P0(J.value,Z):F$(J,Z,U,z);case k.Scalar.QUOTE_DOUBLE:return l0(J.value,Z);case k.Scalar.QUOTE_SINGLE:return R9(J.value,Z);case k.Scalar.PLAIN:return u3(J,Z,U,z);default:return null}},G=H(q);if(G===null){let{defaultKeyType:W,defaultStringType:Y}=Z.options,B=X&&W||Y;if(G=H(B),G===null)throw Error(`Unsupported default string type ${B}`)}return G}v3.stringifyString=k3});var c0=_((r3)=>{var p3=R$(),e=C(),l3=p0(),d3=d0();function c3($,Z){let U=Object.assign({blockQuote:!0,commentString:l3.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},$.schema.toStringOptions,Z),z;switch(U.collectionStyle){case"block":z=!1;break;case"flow":z=!0;break;default:z=null}return{anchors:new Set,doc:$,flowCollectionPadding:U.flowCollectionPadding?" ":"",indent:"",indentStep:typeof U.indent==="number"?" ".repeat(U.indent):" ",inFlow:z,options:U}}function a3($,Z){if(Z.tag){let X=$.filter((Q)=>Q.tag===Z.tag);if(X.length>0)return X.find((Q)=>Q.format===Z.format)??X[0]}let U=void 0,z;if(e.isScalar(Z)){z=Z.value;let X=$.filter((Q)=>Q.identify?.(z));if(X.length>1){let Q=X.filter((J)=>J.test);if(Q.length>0)X=Q}U=X.find((Q)=>Q.format===Z.format)??X.find((Q)=>!Q.format)}else z=Z,U=$.find((X)=>X.nodeClass&&z instanceof X.nodeClass);if(!U){let X=z?.constructor?.name??(z===null?"null":typeof z);throw Error(`Tag not resolved for ${X} value`)}return U}function s3($,Z,{anchors:U,doc:z}){if(!z.directives)return"";let X=[],Q=(e.isScalar($)||e.isCollection($))&&$.anchor;if(Q&&p3.anchorIsValid(Q))U.add(Q),X.push(`&${Q}`);let J=$.tag??(Z.default?null:Z.tag);if(J)X.push(z.directives.tagString(J));return X.join(" ")}function i3($,Z,U,z){if(e.isPair($))return $.toString(Z,U,z);if(e.isAlias($)){if(Z.doc.directives)return $.toString(Z);if(Z.resolvedAliases?.has($))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(Z.resolvedAliases)Z.resolvedAliases.add($);else Z.resolvedAliases=new Set([$]);$=$.resolve(Z.doc)}}let X=void 0,Q=e.isNode($)?$:Z.doc.createNode($,{onTagObj:(H)=>X=H});X??(X=a3(Z.doc.schema.tags,Q));let J=s3(Q,X,Z);if(J.length>0)Z.indentAtStart=(Z.indentAtStart??0)+J.length+1;let q=typeof X.stringify==="function"?X.stringify(Q,Z,U,z):e.isScalar(Q)?d3.stringifyString(Q,Z,U,z):Q.toString(Z,U,z);if(!J)return q;return e.isScalar(Q)||q[0]==="{"||q[0]==="["?`${J} ${q}`:`${J}
|
|
34
|
+
${Z.indent}${q}`}r3.createStringifyContext=c3;r3.stringify=i3});var H4=_((e3)=>{var i=C(),J4=g(),q4=c0(),a0=p0();function t3({key:$,value:Z},U,z,X){let{allNullValues:Q,doc:J,indent:q,indentStep:H,options:{commentString:G,indentSeq:W,simpleKeys:Y}}=U,B=i.isNode($)&&$.comment||null;if(Y){if(B)throw Error("With simple keys, key nodes cannot have comments");if(i.isCollection($)||!i.isNode($)&&typeof $==="object")throw Error("With simple keys, collection cannot be used as a key value")}let O=!Y&&(!$||B&&Z==null&&!U.inFlow||i.isCollection($)||(i.isScalar($)?$.type===J4.Scalar.BLOCK_FOLDED||$.type===J4.Scalar.BLOCK_LITERAL:typeof $==="object"));U=Object.assign({},U,{allNullValues:!1,implicitKey:!O&&(Y||!Q),indent:q+H});let D=!1,V=!1,L=q4.stringify($,U,()=>D=!0,()=>V=!0);if(!O&&!U.inFlow&&L.length>1024){if(Y)throw Error("With simple keys, single line scalar must not span more than 1024 characters");O=!0}if(U.inFlow){if(Q||Z==null){if(D&&z)z();return L===""?"?":O?`? ${L}`:L}}else if(Q&&!Y||Z==null&&O){if(L=`? ${L}`,B&&!D)L+=a0.lineComment(L,U.indent,G(B));else if(V&&X)X();return L}if(D)B=null;if(O){if(B)L+=a0.lineComment(L,U.indent,G(B));L=`? ${L}
|
|
35
|
+
${q}:`}else if(L=`${L}:`,B)L+=a0.lineComment(L,U.indent,G(B));let R,T,K;if(i.isNode(Z))R=!!Z.spaceBefore,T=Z.commentBefore,K=Z.comment;else if(R=!1,T=null,K=null,Z&&typeof Z==="object")Z=J.createNode(Z);if(U.implicitKey=!1,!O&&!B&&i.isScalar(Z))U.indentAtStart=L.length+1;if(V=!1,!W&&H.length>=2&&!U.inFlow&&!O&&i.isSeq(Z)&&!Z.flow&&!Z.tag&&!Z.anchor)U.indent=U.indent.substring(2);let A=!1,F=q4.stringify(Z,U,()=>A=!0,()=>V=!0),N=" ";if(B||R||T){if(N=R?`
|
|
36
|
+
`:"",T){let w=G(T);N+=`
|
|
37
37
|
${a0.indentComment(w,U.indent)}`}if(F===""&&!U.inFlow){if(N===`
|
|
38
38
|
`&&K)N=`
|
|
39
39
|
|
|
40
40
|
`}else N+=`
|
|
41
|
-
${U.indent}`}else if(!
|
|
42
|
-
`),b=
|
|
41
|
+
${U.indent}`}else if(!O&&i.isCollection(Z)){let w=F[0],P=F.indexOf(`
|
|
42
|
+
`),b=P!==-1,p=U.inFlow??Z.flow??Z.items.length===0;if(b||!p){let l=!1;if(b&&(w==="&"||w==="!")){let E=F.indexOf(" ");if(w==="&"&&E!==-1&&E<P&&F[E+1]==="!")E=F.indexOf(" ",E+1);if(E===-1||P<E)l=!0}if(!l)N=`
|
|
43
43
|
${U.indent}`}}else if(F===""||F[0]===`
|
|
44
|
-
`)N="";if(
|
|
44
|
+
`)N="";if(L+=N+F,U.inFlow){if(A&&z)z()}else if(K&&!A)L+=a0.lineComment(L,U.indent,G(K));else if(V&&X)X();return L}e3.stringifyPair=t3});var P9=_((z5)=>{var G4=g0("process");function Z5($,...Z){if($==="debug")console.log(...Z)}function U5($,Z){if($==="debug"||$==="warn")if(typeof G4.emitWarning==="function")G4.emitWarning(Z);else console.warn(Z)}z5.debug=Z5;z5.warn=U5});var b$=_((q5)=>{var s0=C(),Y4=g(),N$="<<",w$={identify:($)=>$===N$||typeof $==="symbol"&&$.description===N$,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Y4.Scalar(Symbol(N$)),{addToJSMap:B4}),stringify:()=>N$},J5=($,Z)=>(w$.identify(Z)||s0.isScalar(Z)&&(!Z.type||Z.type===Y4.Scalar.PLAIN)&&w$.identify(Z.value))&&$?.doc.schema.tags.some((U)=>U.tag===w$.tag&&U.default);function B4($,Z,U){if(U=$&&s0.isAlias(U)?U.resolve($.doc):U,s0.isSeq(U))for(let z of U.items)T9($,Z,z);else if(Array.isArray(U))for(let z of U)T9($,Z,z);else T9($,Z,U)}function T9($,Z,U){let z=$&&s0.isAlias(U)?U.resolve($.doc):U;if(!s0.isMap(z))throw Error("Merge sources must be maps or map aliases");let X=z.toJSON(null,$,Map);for(let[Q,J]of X)if(Z instanceof Map){if(!Z.has(Q))Z.set(Q,J)}else if(Z instanceof Set)Z.add(Q);else if(!Object.prototype.hasOwnProperty.call(Z,Q))Object.defineProperty(Z,Q,{value:J,writable:!0,enumerable:!0,configurable:!0});return Z}q5.addMergeToJSMap=B4;q5.isMergeKey=J5;q5.merge=w$});var K9=_((O5)=>{var B5=P9(),V4=b$(),V5=c0(),W4=C(),F9=o();function W5($,Z,{key:U,value:z}){if(W4.isNode(U)&&U.addToJSMap)U.addToJSMap($,Z,z);else if(V4.isMergeKey($,U))V4.addMergeToJSMap($,Z,z);else{let X=F9.toJS(U,"",$);if(Z instanceof Map)Z.set(X,F9.toJS(z,X,$));else if(Z instanceof Set)Z.add(X);else{let Q=L5(U,X,$),J=F9.toJS(z,Q,$);if(Q in Z)Object.defineProperty(Z,Q,{value:J,writable:!0,enumerable:!0,configurable:!0});else Z[Q]=J}}return Z}function L5($,Z,U){if(Z===null)return"";if(typeof Z!=="object")return String(Z);if(W4.isNode($)&&U?.doc){let z=V5.createStringifyContext(U.doc,{});z.anchors=new Set;for(let Q of U.anchors.keys())z.anchors.add(Q.anchor);z.inFlow=!0,z.inStringifyKey=!0;let X=$.toString(z);if(!U.mapKeyWarned){let Q=JSON.stringify(X);if(Q.length>40)Q=Q.substring(0,36)+'..."';B5.warn(U.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${Q}. Set mapAsMap: true to use object keys.`),U.mapKeyWarned=!0}return X}return JSON.stringify(Z)}O5.addPairToJSMap=W5});var $0=_((M5)=>{var L4=m0(),_5=H4(),I5=K9(),C$=C();function R5($,Z,U){let z=L4.createNode($,void 0,U),X=L4.createNode(Z,void 0,U);return new j$(z,X)}class j${constructor($,Z=null){Object.defineProperty(this,C$.NODE_TYPE,{value:C$.PAIR}),this.key=$,this.value=Z}clone($){let{key:Z,value:U}=this;if(C$.isNode(Z))Z=Z.clone($);if(C$.isNode(U))U=U.clone($);return new j$(Z,U)}toJSON($,Z){let U=Z?.mapAsMap?new Map:{};return I5.addPairToJSMap(Z,U,this)}toString($,Z,U){return $?.doc?_5.stringifyPair(this,$,Z,U):JSON.stringify(this)}}M5.Pair=j$;M5.createPair=R5});var A9=_((N5)=>{var H0=C(),O4=c0(),S$=p0();function F5($,Z,U){return(Z.inFlow??$.flow?A5:K5)($,Z,U)}function K5({comment:$,items:Z},U,{blockItemPrefix:z,flowChars:X,itemIndent:Q,onChompKeep:J,onComment:q}){let{indent:H,options:{commentString:G}}=U,W=Object.assign({},U,{indent:Q,type:null}),Y=!1,B=[];for(let D=0;D<Z.length;++D){let V=Z[D],L=null;if(H0.isNode(V)){if(!Y&&V.spaceBefore)B.push("");if(E$(U,B,V.commentBefore,Y),V.comment)L=V.comment}else if(H0.isPair(V)){let T=H0.isNode(V.key)?V.key:null;if(T){if(!Y&&T.spaceBefore)B.push("");E$(U,B,T.commentBefore,Y)}}Y=!1;let R=O4.stringify(V,W,()=>L=null,()=>Y=!0);if(L)R+=S$.lineComment(R,Q,G(L));if(Y&&L)Y=!1;B.push(z+R)}let O;if(B.length===0)O=X.start+X.end;else{O=B[0];for(let D=1;D<B.length;++D){let V=B[D];O+=V?`
|
|
45
45
|
${H}${V}`:`
|
|
46
|
-
`}}if($){if(
|
|
47
|
-
`+S$.indentComment(G($),H),q)q()}else if(Y&&J)J();return
|
|
48
|
-
`)))G=!0;Y.push(R),W=Y.length}let{start:B,end:
|
|
46
|
+
`}}if($){if(O+=`
|
|
47
|
+
`+S$.indentComment(G($),H),q)q()}else if(Y&&J)J();return O}function A5({items:$},Z,{flowChars:U,itemIndent:z}){let{indent:X,indentStep:Q,flowCollectionPadding:J,options:{commentString:q}}=Z;z+=Q;let H=Object.assign({},Z,{indent:z,inFlow:!0,type:null}),G=!1,W=0,Y=[];for(let D=0;D<$.length;++D){let V=$[D],L=null;if(H0.isNode(V)){if(V.spaceBefore)Y.push("");if(E$(Z,Y,V.commentBefore,!1),V.comment)L=V.comment}else if(H0.isPair(V)){let T=H0.isNode(V.key)?V.key:null;if(T){if(T.spaceBefore)Y.push("");if(E$(Z,Y,T.commentBefore,!1),T.comment)G=!0}let K=H0.isNode(V.value)?V.value:null;if(K){if(K.comment)L=K.comment;if(K.commentBefore)G=!0}else if(V.value==null&&T?.comment)L=T.comment}if(L)G=!0;let R=O4.stringify(V,H,()=>L=null);if(D<$.length-1)R+=",";if(L)R+=S$.lineComment(R,z,q(L));if(!G&&(Y.length>W||R.includes(`
|
|
48
|
+
`)))G=!0;Y.push(R),W=Y.length}let{start:B,end:O}=U;if(Y.length===0)return B+O;else{if(!G){let D=Y.reduce((V,L)=>V+L.length+2,2);G=Z.options.lineWidth>0&&D>Z.options.lineWidth}if(G){let D=B;for(let V of Y)D+=V?`
|
|
49
49
|
${Q}${X}${V}`:`
|
|
50
|
-
`;return`${
|
|
51
|
-
${X}${
|
|
52
|
-
`:" ")}return
|
|
50
|
+
`;return`${D}
|
|
51
|
+
${X}${O}`}else return`${B}${J}${Y.join(" ")}${J}${O}`}}function E$({indent:$,options:{commentString:Z}},U,z,X){if(z&&X)z=z.replace(/^\n+/,"");if(z){let Q=S$.indentComment(Z(z),$);U.push(Q.trimStart())}}N5.stringifyCollection=F5});var U0=_((E5)=>{var b5=A9(),C5=K9(),j5=T$(),Z0=C(),g$=$0(),S5=g();function i0($,Z){let U=Z0.isScalar(Z)?Z.value:Z;for(let z of $)if(Z0.isPair(z)){if(z.key===Z||z.key===U)return z;if(Z0.isScalar(z.key)&&z.key.value===U)return z}return}class D4 extends j5.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor($){super(Z0.MAP,$);this.items=[]}static from($,Z,U){let{keepUndefined:z,replacer:X}=U,Q=new this($),J=(q,H)=>{if(typeof X==="function")H=X.call(Z,q,H);else if(Array.isArray(X)&&!X.includes(q))return;if(H!==void 0||z)Q.items.push(g$.createPair(q,H,U))};if(Z instanceof Map)for(let[q,H]of Z)J(q,H);else if(Z&&typeof Z==="object")for(let q of Object.keys(Z))J(q,Z[q]);if(typeof $.sortMapEntries==="function")Q.items.sort($.sortMapEntries);return Q}add($,Z){let U;if(Z0.isPair($))U=$;else if(!$||typeof $!=="object"||!("key"in $))U=new g$.Pair($,$?.value);else U=new g$.Pair($.key,$.value);let z=i0(this.items,U.key),X=this.schema?.sortMapEntries;if(z){if(!Z)throw Error(`Key ${U.key} already set`);if(Z0.isScalar(z.value)&&S5.isScalarValue(U.value))z.value.value=U.value;else z.value=U.value}else if(X){let Q=this.items.findIndex((J)=>X(U,J)<0);if(Q===-1)this.items.push(U);else this.items.splice(Q,0,U)}else this.items.push(U)}delete($){let Z=i0(this.items,$);if(!Z)return!1;return this.items.splice(this.items.indexOf(Z),1).length>0}get($,Z){let z=i0(this.items,$)?.value;return(!Z&&Z0.isScalar(z)?z.value:z)??void 0}has($){return!!i0(this.items,$)}set($,Z){this.add(new g$.Pair($,Z),!0)}toJSON($,Z,U){let z=U?new U:Z?.mapAsMap?new Map:{};if(Z?.onCreate)Z.onCreate(z);for(let X of this.items)C5.addPairToJSMap(Z,z,X);return z}toString($,Z,U){if(!$)return JSON.stringify(this);for(let z of this.items)if(!Z0.isPair(z))throw Error(`Map items must all be pairs; found ${JSON.stringify(z)} instead`);if(!$.allNullValues&&this.hasAllNullValues(!1))$=Object.assign({},$,{allNullValues:!0});return b5.stringifyCollection(this,$,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:$.indent||"",onChompKeep:U,onComment:Z})}}E5.YAMLMap=D4;E5.findPair=i0});var T0=_((h5)=>{var f5=C(),_4=U0(),x5={collection:"map",default:!0,nodeClass:_4.YAMLMap,tag:"tag:yaml.org,2002:map",resolve($,Z){if(!f5.isMap($))Z("Expected a mapping for this tag");return $},createNode:($,Z,U)=>_4.YAMLMap.from($,Z,U)};h5.map=x5});var z0=_((d5)=>{var k5=m0(),v5=A9(),m5=T$(),f$=C(),p5=g(),l5=o();class I4 extends m5.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor($){super(f$.SEQ,$);this.items=[]}add($){this.items.push($)}delete($){let Z=y$($);if(typeof Z!=="number")return!1;return this.items.splice(Z,1).length>0}get($,Z){let U=y$($);if(typeof U!=="number")return;let z=this.items[U];return!Z&&f$.isScalar(z)?z.value:z}has($){let Z=y$($);return typeof Z==="number"&&Z<this.items.length}set($,Z){let U=y$($);if(typeof U!=="number")throw Error(`Expected a valid index, not ${$}.`);let z=this.items[U];if(f$.isScalar(z)&&p5.isScalarValue(Z))z.value=Z;else this.items[U]=Z}toJSON($,Z){let U=[];if(Z?.onCreate)Z.onCreate(U);let z=0;for(let X of this.items)U.push(l5.toJS(X,String(z++),Z));return U}toString($,Z,U){if(!$)return JSON.stringify(this);return v5.stringifyCollection(this,$,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:($.indent||"")+" ",onChompKeep:U,onComment:Z})}static from($,Z,U){let{replacer:z}=U,X=new this($);if(Z&&Symbol.iterator in Object(Z)){let Q=0;for(let J of Z){if(typeof z==="function"){let q=Z instanceof Set?J:String(Q++);J=z.call(Z,q,J)}X.items.push(k5.createNode(J,void 0,U))}}return X}}function y$($){let Z=f$.isScalar($)?$.value:$;if(Z&&typeof Z==="string")Z=Number(Z);return typeof Z==="number"&&Number.isInteger(Z)&&Z>=0?Z:null}d5.YAMLSeq=I4});var F0=_((i5)=>{var a5=C(),R4=z0(),s5={collection:"seq",default:!0,nodeClass:R4.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve($,Z){if(!a5.isSeq($))Z("Expected a sequence for this tag");return $},createNode:($,Z,U)=>R4.YAMLSeq.from($,Z,U)};i5.seq=s5});var r0=_((t5)=>{var n5=d0(),o5={identify:($)=>typeof $==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:($)=>$,stringify($,Z,U,z){return Z=Object.assign({actualString:!0},Z),n5.stringifyString($,Z,U,z)}};t5.string=o5});var x$=_(($1)=>{var M4=g(),P4={identify:($)=>$==null,createNode:()=>new M4.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new M4.Scalar(null),stringify:({source:$},Z)=>typeof $==="string"&&P4.test.test($)?$:Z.options.nullStr};$1.nullTag=P4});var N9=_((z1)=>{var U1=g(),T4={identify:($)=>typeof $==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:($)=>new U1.Scalar($[0]==="t"||$[0]==="T"),stringify({source:$,value:Z},U){if($&&T4.test.test($)){let z=$[0]==="t"||$[0]==="T";if(Z===z)return $}return Z?U.options.trueStr:U.options.falseStr}};z1.boolTag=T4});var K0=_((J1)=>{function Q1({format:$,minFractionDigits:Z,tag:U,value:z}){if(typeof z==="bigint")return String(z);let X=typeof z==="number"?z:Number(z);if(!isFinite(X))return isNaN(X)?".nan":X<0?"-.inf":".inf";let Q=Object.is(z,-0)?"-0":JSON.stringify(z);if(!$&&Z&&(!U||U==="tag:yaml.org,2002:float")&&/^\d/.test(Q)){let J=Q.indexOf(".");if(J<0)J=Q.length,Q+=".";let q=Z-(Q.length-J-1);while(q-- >0)Q+="0"}return Q}J1.stringifyNumber=Q1});var b9=_((V1)=>{var H1=g(),w9=K0(),G1={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:($)=>$.slice(-3).toLowerCase()==="nan"?NaN:$[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:w9.stringifyNumber},Y1={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:($)=>parseFloat($),stringify($){let Z=Number($.value);return isFinite(Z)?Z.toExponential():w9.stringifyNumber($)}},B1={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve($){let Z=new H1.Scalar(parseFloat($)),U=$.indexOf(".");if(U!==-1&&$[$.length-1]==="0")Z.minFractionDigits=$.length-U-1;return Z},stringify:w9.stringifyNumber};V1.float=B1;V1.floatExp=Y1;V1.floatNaN=G1});var j9=_((R1)=>{var F4=K0(),h$=($)=>typeof $==="bigint"||Number.isInteger($),C9=($,Z,U,{intAsBigInt:z})=>z?BigInt($):parseInt($.substring(Z),U);function K4($,Z,U){let{value:z}=$;if(h$(z)&&z>=0)return U+z.toString(Z);return F4.stringifyNumber($)}var D1={identify:($)=>h$($)&&$>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:($,Z,U)=>C9($,2,8,U),stringify:($)=>K4($,8,"0o")},_1={identify:h$,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:($,Z,U)=>C9($,0,10,U),stringify:F4.stringifyNumber},I1={identify:($)=>h$($)&&$>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:($,Z,U)=>C9($,2,16,U),stringify:($)=>K4($,16,"0x")};R1.int=_1;R1.intHex=I1;R1.intOct=D1});var A4=_((C1)=>{var F1=T0(),K1=x$(),A1=F0(),N1=r0(),w1=N9(),S9=b9(),E9=j9(),b1=[F1.map,A1.seq,N1.string,K1.nullTag,w1.boolTag,E9.intOct,E9.int,E9.intHex,S9.floatNaN,S9.floatExp,S9.float];C1.schema=b1});var w4=_((h1)=>{var S1=g(),E1=T0(),g1=F0();function N4($){return typeof $==="bigint"||Number.isInteger($)}var u$=({value:$})=>JSON.stringify($),y1=[{identify:($)=>typeof $==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:($)=>$,stringify:u$},{identify:($)=>$==null,createNode:()=>new S1.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:u$},{identify:($)=>typeof $==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:($)=>$==="true",stringify:u$},{identify:N4,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:($,Z,{intAsBigInt:U})=>U?BigInt($):parseInt($,10),stringify:({value:$})=>N4($)?$.toString():JSON.stringify($)},{identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:($)=>parseFloat($),stringify:u$}],f1={default:!0,tag:"",test:/^/,resolve($,Z){return Z(`Unresolved plain scalar ${JSON.stringify($)}`),$}},x1=[E1.map,g1.seq].concat(y1,f1);h1.schema=x1});var y9=_((m1)=>{var n0=g0("buffer"),g9=g(),k1=d0(),v1={identify:($)=>$ instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve($,Z){if(typeof n0.Buffer==="function")return n0.Buffer.from($,"base64");else if(typeof atob==="function"){let U=atob($.replace(/[\n\r]/g,"")),z=new Uint8Array(U.length);for(let X=0;X<U.length;++X)z[X]=U.charCodeAt(X);return z}else return Z("This environment does not support reading binary tags; either Buffer or atob is required"),$},stringify({comment:$,type:Z,value:U},z,X,Q){if(!U)return"";let J=U,q;if(typeof n0.Buffer==="function")q=J instanceof n0.Buffer?J.toString("base64"):n0.Buffer.from(J.buffer).toString("base64");else if(typeof btoa==="function"){let H="";for(let G=0;G<J.length;++G)H+=String.fromCharCode(J[G]);q=btoa(H)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(Z??(Z=g9.Scalar.BLOCK_LITERAL),Z!==g9.Scalar.QUOTE_DOUBLE){let H=Math.max(z.options.lineWidth-z.indent.length,z.options.minContentWidth),G=Math.ceil(q.length/H),W=Array(G);for(let Y=0,B=0;Y<G;++Y,B+=H)W[Y]=q.substr(B,H);q=W.join(Z===g9.Scalar.BLOCK_LITERAL?`
|
|
52
|
+
`:" ")}return k1.stringifyString({comment:$,type:Z,value:q},z,X,Q)}};m1.binary=v1});var v$=_((a1)=>{var k$=C(),f9=$0(),l1=g(),d1=z0();function b4($,Z){if(k$.isSeq($))for(let U=0;U<$.items.length;++U){let z=$.items[U];if(k$.isPair(z))continue;else if(k$.isMap(z)){if(z.items.length>1)Z("Each pair must have its own sequence indicator");let X=z.items[0]||new f9.Pair(new l1.Scalar(null));if(z.commentBefore)X.key.commentBefore=X.key.commentBefore?`${z.commentBefore}
|
|
53
53
|
${X.key.commentBefore}`:z.commentBefore;if(z.comment){let Q=X.value??X.key;Q.comment=Q.comment?`${z.comment}
|
|
54
|
-
${Q.comment}`:z.comment}z=X}$.items[U]=k$.isPair(z)?z:new f2.Pair(z)}else Z("Expected a sequence for this tag");return $}function b4($,Z,U){let{replacer:z}=U,X=new uU.YAMLSeq($);X.tag="tag:yaml.org,2002:pairs";let Q=0;if(Z&&Symbol.iterator in Object(Z))for(let J of Z){if(typeof z==="function")J=z.call(Z,String(Q++),J);let q,H;if(Array.isArray(J))if(J.length===2)q=J[0],H=J[1];else throw TypeError(`Expected [key, value] tuple: ${J}`);else if(J&&J instanceof Object){let G=Object.keys(J);if(G.length===1)q=G[0],H=J[q];else throw TypeError(`Expected tuple with one key, not ${G.length} keys`)}else q=J;X.items.push(f2.createPair(q,H,U))}return X}var kU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:w4,createNode:b4};vU.createPairs=b4;vU.pairs=kU;vU.resolvePairs=w4});var h2=_((aU)=>{var C4=C(),x2=o(),o0=U0(),dU=z0(),j4=v$();class G0 extends dU.YAMLSeq{constructor(){super();this.add=o0.YAMLMap.prototype.add.bind(this),this.delete=o0.YAMLMap.prototype.delete.bind(this),this.get=o0.YAMLMap.prototype.get.bind(this),this.has=o0.YAMLMap.prototype.has.bind(this),this.set=o0.YAMLMap.prototype.set.bind(this),this.tag=G0.tag}toJSON($,Z){if(!Z)return super.toJSON($);let U=new Map;if(Z?.onCreate)Z.onCreate(U);for(let z of this.items){let X,Q;if(C4.isPair(z))X=x2.toJS(z.key,"",Z),Q=x2.toJS(z.value,X,Z);else X=x2.toJS(z,"",Z);if(U.has(X))throw Error("Ordered maps must not include duplicate keys");U.set(X,Q)}return U}static from($,Z,U){let z=j4.createPairs($,Z,U),X=new this;return X.items=z.items,X}}G0.tag="tag:yaml.org,2002:omap";var cU={collection:"seq",identify:($)=>$ instanceof Map,nodeClass:G0,default:!1,tag:"tag:yaml.org,2002:omap",resolve($,Z){let U=j4.resolvePairs($,Z),z=[];for(let{key:X}of U.items)if(C4.isScalar(X))if(z.includes(X.value))Z(`Ordered maps must not include duplicate keys: ${X.value}`);else z.push(X.value);return Object.assign(new G0,U)},createNode:($,Z,U)=>G0.from($,Z,U)};aU.YAMLOMap=G0;aU.omap=cU});var f4=_((rU)=>{var S4=g();function E4({value:$,source:Z},U){if(Z&&($?g4:y4).test.test(Z))return Z;return $?U.options.trueStr:U.options.falseStr}var g4={identify:($)=>$===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new S4.Scalar(!0),stringify:E4},y4={identify:($)=>$===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new S4.Scalar(!1),stringify:E4};rU.falseTag=y4;rU.trueTag=g4});var x4=_((U1)=>{var tU=g(),u2=K0(),eU={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:($)=>$.slice(-3).toLowerCase()==="nan"?NaN:$[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:u2.stringifyNumber},$1={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:($)=>parseFloat($.replace(/_/g,"")),stringify($){let Z=Number($.value);return isFinite(Z)?Z.toExponential():u2.stringifyNumber($)}},Z1={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve($){let Z=new tU.Scalar(parseFloat($.replace(/_/g,""))),U=$.indexOf(".");if(U!==-1){let z=$.substring(U+1).replace(/_/g,"");if(z[z.length-1]==="0")Z.minFractionDigits=z.length}return Z},stringify:u2.stringifyNumber};U1.float=Z1;U1.floatExp=$1;U1.floatNaN=eU});var u4=_((Y1)=>{var h4=K0(),t0=($)=>typeof $==="bigint"||Number.isInteger($);function m$($,Z,U,{intAsBigInt:z}){let X=$[0];if(X==="-"||X==="+")Z+=1;if($=$.substring(Z).replace(/_/g,""),z){switch(U){case 2:$=`0b${$}`;break;case 8:$=`0o${$}`;break;case 16:$=`0x${$}`;break}let J=BigInt($);return X==="-"?BigInt(-1)*J:J}let Q=parseInt($,U);return X==="-"?-1*Q:Q}function k2($,Z,U){let{value:z}=$;if(t0(z)){let X=z.toString(Z);return z<0?"-"+U+X.substr(1):U+X}return h4.stringifyNumber($)}var J1={identify:t0,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:($,Z,U)=>m$($,2,2,U),stringify:($)=>k2($,2,"0b")},q1={identify:t0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:($,Z,U)=>m$($,1,8,U),stringify:($)=>k2($,8,"0")},H1={identify:t0,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:($,Z,U)=>m$($,0,10,U),stringify:h4.stringifyNumber},G1={identify:t0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:($,Z,U)=>m$($,2,16,U),stringify:($)=>k2($,16,"0x")};Y1.int=H1;Y1.intBin=J1;Y1.intHex=G1;Y1.intOct=q1});var v2=_((O1)=>{var d$=C(),p$=$0(),l$=U0();class Y0 extends l$.YAMLMap{constructor($){super($);this.tag=Y0.tag}add($){let Z;if(d$.isPair($))Z=$;else if($&&typeof $==="object"&&"key"in $&&"value"in $&&$.value===null)Z=new p$.Pair($.key,null);else Z=new p$.Pair($,null);if(!l$.findPair(this.items,Z.key))this.items.push(Z)}get($,Z){let U=l$.findPair(this.items,$);return!Z&&d$.isPair(U)?d$.isScalar(U.key)?U.key.value:U.key:U}set($,Z){if(typeof Z!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof Z}`);let U=l$.findPair(this.items,$);if(U&&!Z)this.items.splice(this.items.indexOf(U),1);else if(!U&&Z)this.items.push(new p$.Pair($))}toJSON($,Z){return super.toJSON($,Z,Set)}toString($,Z,U){if(!$)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},$,{allNullValues:!0}),Z,U);else throw Error("Set items must all have null values")}static from($,Z,U){let{replacer:z}=U,X=new this($);if(Z&&Symbol.iterator in Object(Z))for(let Q of Z){if(typeof z==="function")Q=z.call(Z,Q,Q);X.items.push(p$.createPair(Q,null,U))}return X}}Y0.tag="tag:yaml.org,2002:set";var L1={collection:"map",identify:($)=>$ instanceof Set,nodeClass:Y0,default:!1,tag:"tag:yaml.org,2002:set",createNode:($,Z,U)=>Y0.from($,Z,U),resolve($,Z){if(d$.isMap($))if($.hasAllNullValues(!0))return Object.assign(new Y0,$);else Z("Set items must all have null values");else Z("Expected a mapping for this tag");return $}};O1.YAMLSet=Y0;O1.set=L1});var p2=_((P1)=>{var R1=K0();function m2($,Z){let U=$[0],z=U==="-"||U==="+"?$.substring(1):$,X=(J)=>Z?BigInt(J):Number(J),Q=z.replace(/_/g,"").split(":").reduce((J,q)=>J*X(60)+X(q),X(0));return U==="-"?X(-1)*Q:Q}function k4($){let{value:Z}=$,U=(J)=>J;if(typeof Z==="bigint")U=(J)=>BigInt(J);else if(isNaN(Z)||!isFinite(Z))return R1.stringifyNumber($);let z="";if(Z<0)z="-",Z*=U(-1);let X=U(60),Q=[Z%X];if(Z<60)Q.unshift(0);else if(Z=(Z-Q[0])/X,Q.unshift(Z%X),Z>=60)Z=(Z-Q[0])/X,Q.unshift(Z);return z+Q.map((J)=>String(J).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var M1={identify:($)=>typeof $==="bigint"||Number.isInteger($),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:($,Z,{intAsBigInt:U})=>m2($,U),stringify:k4},T1={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:($)=>m2($,!1),stringify:k4},v4={identify:($)=>$ 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($){let Z=$.match(v4.test);if(!Z)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,U,z,X,Q,J,q]=Z.map(Number),H=Z[7]?Number((Z[7]+"00").substr(1,3)):0,G=Date.UTC(U,z-1,X,Q||0,J||0,q||0,H),W=Z[8];if(W&&W!=="Z"){let Y=m2(W,!1);if(Math.abs(Y)<30)Y*=60;G-=60000*Y}return new Date(G)},stringify:({value:$})=>$?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};P1.floatTime=T1;P1.intTime=M1;P1.timestamp=v4});var p4=_((x1)=>{var N1=P0(),w1=x$(),b1=F0(),C1=r0(),j1=y2(),m4=f4(),l2=x4(),c$=u4(),S1=b$(),E1=h2(),g1=v$(),y1=v2(),d2=p2(),f1=[N1.map,b1.seq,C1.string,w1.nullTag,m4.trueTag,m4.falseTag,c$.intBin,c$.intOct,c$.int,c$.intHex,l2.floatNaN,l2.floatExp,l2.float,j1.binary,S1.merge,E1.omap,g1.pairs,y1.set,d2.intTime,d2.floatTime,d2.timestamp];x1.schema=f1});var t4=_((c1)=>{var a4=P0(),u1=x$(),s4=F0(),k1=r0(),v1=N2(),c2=b2(),a2=j2(),m1=K4(),p1=N4(),i4=y2(),e0=b$(),r4=h2(),n4=v$(),l4=p4(),o4=v2(),a$=p2(),d4=new Map([["core",m1.schema],["failsafe",[a4.map,s4.seq,k1.string]],["json",p1.schema],["yaml11",l4.schema],["yaml-1.1",l4.schema]]),c4={binary:i4.binary,bool:v1.boolTag,float:c2.float,floatExp:c2.floatExp,floatNaN:c2.floatNaN,floatTime:a$.floatTime,int:a2.int,intHex:a2.intHex,intOct:a2.intOct,intTime:a$.intTime,map:a4.map,merge:e0.merge,null:u1.nullTag,omap:r4.omap,pairs:n4.pairs,seq:s4.seq,set:o4.set,timestamp:a$.timestamp},l1={"tag:yaml.org,2002:binary":i4.binary,"tag:yaml.org,2002:merge":e0.merge,"tag:yaml.org,2002:omap":r4.omap,"tag:yaml.org,2002:pairs":n4.pairs,"tag:yaml.org,2002:set":o4.set,"tag:yaml.org,2002:timestamp":a$.timestamp};function d1($,Z,U){let z=d4.get(Z);if(z&&!$)return U&&!z.includes(e0.merge)?z.concat(e0.merge):z.slice();let X=z;if(!X)if(Array.isArray($))X=[];else{let Q=Array.from(d4.keys()).filter((J)=>J!=="yaml11").map((J)=>JSON.stringify(J)).join(", ");throw Error(`Unknown schema "${Z}"; use one of ${Q} or define customTags array`)}if(Array.isArray($))for(let Q of $)X=X.concat(Q);else if(typeof $==="function")X=$(X.slice());if(U)X=X.concat(e0.merge);return X.reduce((Q,J)=>{let q=typeof J==="string"?c4[J]:J;if(!q){let H=JSON.stringify(J),G=Object.keys(c4).map((W)=>JSON.stringify(W)).join(", ");throw Error(`Unknown custom tag ${H}; use one of ${G}`)}if(!Q.includes(q))Q.push(q);return Q},[])}c1.coreKnownTags=l1;c1.getTags=d1});var r2=_((t1)=>{var s2=C(),i1=P0(),r1=F0(),n1=r0(),s$=t4(),o1=($,Z)=>$.key<Z.key?-1:$.key>Z.key?1:0;class i2{constructor({compat:$,customTags:Z,merge:U,resolveKnownTags:z,schema:X,sortMapEntries:Q,toStringDefaults:J}){this.compat=Array.isArray($)?s$.getTags($,"compat"):$?s$.getTags(null,$):null,this.name=typeof X==="string"&&X||"core",this.knownTags=z?s$.coreKnownTags:{},this.tags=s$.getTags(Z,this.name,U),this.toStringOptions=J??null,Object.defineProperty(this,s2.MAP,{value:i1.map}),Object.defineProperty(this,s2.SCALAR,{value:n1.string}),Object.defineProperty(this,s2.SEQ,{value:r1.seq}),this.sortMapEntries=typeof Q==="function"?Q:Q===!0?o1:null}clone(){let $=Object.create(i2.prototype,Object.getOwnPropertyDescriptors(this));return $.tags=this.tags.slice(),$}}t1.Schema=i2});var e4=_((U7)=>{var $7=C(),n2=c0(),$$=p0();function Z7($,Z){let U=[],z=Z.directives===!0;if(Z.directives!==!1&&$.directives){let H=$.directives.toString($);if(H)U.push(H),z=!0;else if($.directives.docStart)z=!0}if(z)U.push("---");let X=n2.createStringifyContext($,Z),{commentString:Q}=X.options;if($.commentBefore){if(U.length!==1)U.unshift("");let H=Q($.commentBefore);U.unshift($$.indentComment(H,""))}let J=!1,q=null;if($.contents){if($7.isNode($.contents)){if($.contents.spaceBefore&&z)U.push("");if($.contents.commentBefore){let W=Q($.contents.commentBefore);U.push($$.indentComment(W,""))}X.forceBlockIndent=!!$.comment,q=$.contents.comment}let H=q?void 0:()=>J=!0,G=n2.stringify($.contents,X,()=>q=null,H);if(q)G+=$$.lineComment(G,"",Q(q));if((G[0]==="|"||G[0]===">")&&U[U.length-1]==="---")U[U.length-1]=`--- ${G}`;else U.push(G)}else U.push(n2.stringify($.contents,X));if($.directives?.docEnd)if($.comment){let H=Q($.comment);if(H.includes(`
|
|
54
|
+
${Q.comment}`:z.comment}z=X}$.items[U]=k$.isPair(z)?z:new f9.Pair(z)}else Z("Expected a sequence for this tag");return $}function C4($,Z,U){let{replacer:z}=U,X=new d1.YAMLSeq($);X.tag="tag:yaml.org,2002:pairs";let Q=0;if(Z&&Symbol.iterator in Object(Z))for(let J of Z){if(typeof z==="function")J=z.call(Z,String(Q++),J);let q,H;if(Array.isArray(J))if(J.length===2)q=J[0],H=J[1];else throw TypeError(`Expected [key, value] tuple: ${J}`);else if(J&&J instanceof Object){let G=Object.keys(J);if(G.length===1)q=G[0],H=J[q];else throw TypeError(`Expected tuple with one key, not ${G.length} keys`)}else q=J;X.items.push(f9.createPair(q,H,U))}return X}var c1={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:b4,createNode:C4};a1.createPairs=C4;a1.pairs=c1;a1.resolvePairs=b4});var h9=_((t1)=>{var j4=C(),x9=o(),o0=U0(),n1=z0(),S4=v$();class G0 extends n1.YAMLSeq{constructor(){super();this.add=o0.YAMLMap.prototype.add.bind(this),this.delete=o0.YAMLMap.prototype.delete.bind(this),this.get=o0.YAMLMap.prototype.get.bind(this),this.has=o0.YAMLMap.prototype.has.bind(this),this.set=o0.YAMLMap.prototype.set.bind(this),this.tag=G0.tag}toJSON($,Z){if(!Z)return super.toJSON($);let U=new Map;if(Z?.onCreate)Z.onCreate(U);for(let z of this.items){let X,Q;if(j4.isPair(z))X=x9.toJS(z.key,"",Z),Q=x9.toJS(z.value,X,Z);else X=x9.toJS(z,"",Z);if(U.has(X))throw Error("Ordered maps must not include duplicate keys");U.set(X,Q)}return U}static from($,Z,U){let z=S4.createPairs($,Z,U),X=new this;return X.items=z.items,X}}G0.tag="tag:yaml.org,2002:omap";var o1={collection:"seq",identify:($)=>$ instanceof Map,nodeClass:G0,default:!1,tag:"tag:yaml.org,2002:omap",resolve($,Z){let U=S4.resolvePairs($,Z),z=[];for(let{key:X}of U.items)if(j4.isScalar(X))if(z.includes(X.value))Z(`Ordered maps must not include duplicate keys: ${X.value}`);else z.push(X.value);return Object.assign(new G0,U)},createNode:($,Z,U)=>G0.from($,Z,U)};t1.YAMLOMap=G0;t1.omap=o1});var x4=_((Z7)=>{var E4=g();function g4({value:$,source:Z},U){if(Z&&($?y4:f4).test.test(Z))return Z;return $?U.options.trueStr:U.options.falseStr}var y4={identify:($)=>$===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new E4.Scalar(!0),stringify:g4},f4={identify:($)=>$===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new E4.Scalar(!1),stringify:g4};Z7.falseTag=f4;Z7.trueTag=y4});var h4=_((H7)=>{var X7=g(),u9=K0(),Q7={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:($)=>$.slice(-3).toLowerCase()==="nan"?NaN:$[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:u9.stringifyNumber},J7={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:($)=>parseFloat($.replace(/_/g,"")),stringify($){let Z=Number($.value);return isFinite(Z)?Z.toExponential():u9.stringifyNumber($)}},q7={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve($){let Z=new X7.Scalar(parseFloat($.replace(/_/g,""))),U=$.indexOf(".");if(U!==-1){let z=$.substring(U+1).replace(/_/g,"");if(z[z.length-1]==="0")Z.minFractionDigits=z.length}return Z},stringify:u9.stringifyNumber};H7.float=q7;H7.floatExp=J7;H7.floatNaN=Q7});var k4=_((D7)=>{var u4=K0(),t0=($)=>typeof $==="bigint"||Number.isInteger($);function m$($,Z,U,{intAsBigInt:z}){let X=$[0];if(X==="-"||X==="+")Z+=1;if($=$.substring(Z).replace(/_/g,""),z){switch(U){case 2:$=`0b${$}`;break;case 8:$=`0o${$}`;break;case 16:$=`0x${$}`;break}let J=BigInt($);return X==="-"?BigInt(-1)*J:J}let Q=parseInt($,U);return X==="-"?-1*Q:Q}function k9($,Z,U){let{value:z}=$;if(t0(z)){let X=z.toString(Z);return z<0?"-"+U+X.substr(1):U+X}return u4.stringifyNumber($)}var V7={identify:t0,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:($,Z,U)=>m$($,2,2,U),stringify:($)=>k9($,2,"0b")},W7={identify:t0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:($,Z,U)=>m$($,1,8,U),stringify:($)=>k9($,8,"0")},L7={identify:t0,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:($,Z,U)=>m$($,0,10,U),stringify:u4.stringifyNumber},O7={identify:t0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:($,Z,U)=>m$($,2,16,U),stringify:($)=>k9($,16,"0x")};D7.int=L7;D7.intBin=V7;D7.intHex=O7;D7.intOct=W7});var v9=_((T7)=>{var d$=C(),p$=$0(),l$=U0();class Y0 extends l$.YAMLMap{constructor($){super($);this.tag=Y0.tag}add($){let Z;if(d$.isPair($))Z=$;else if($&&typeof $==="object"&&"key"in $&&"value"in $&&$.value===null)Z=new p$.Pair($.key,null);else Z=new p$.Pair($,null);if(!l$.findPair(this.items,Z.key))this.items.push(Z)}get($,Z){let U=l$.findPair(this.items,$);return!Z&&d$.isPair(U)?d$.isScalar(U.key)?U.key.value:U.key:U}set($,Z){if(typeof Z!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof Z}`);let U=l$.findPair(this.items,$);if(U&&!Z)this.items.splice(this.items.indexOf(U),1);else if(!U&&Z)this.items.push(new p$.Pair($))}toJSON($,Z){return super.toJSON($,Z,Set)}toString($,Z,U){if(!$)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},$,{allNullValues:!0}),Z,U);else throw Error("Set items must all have null values")}static from($,Z,U){let{replacer:z}=U,X=new this($);if(Z&&Symbol.iterator in Object(Z))for(let Q of Z){if(typeof z==="function")Q=z.call(Z,Q,Q);X.items.push(p$.createPair(Q,null,U))}return X}}Y0.tag="tag:yaml.org,2002:set";var P7={collection:"map",identify:($)=>$ instanceof Set,nodeClass:Y0,default:!1,tag:"tag:yaml.org,2002:set",createNode:($,Z,U)=>Y0.from($,Z,U),resolve($,Z){if(d$.isMap($))if($.hasAllNullValues(!0))return Object.assign(new Y0,$);else Z("Set items must all have null values");else Z("Expected a mapping for this tag");return $}};T7.YAMLSet=Y0;T7.set=P7});var p9=_((b7)=>{var A7=K0();function m9($,Z){let U=$[0],z=U==="-"||U==="+"?$.substring(1):$,X=(J)=>Z?BigInt(J):Number(J),Q=z.replace(/_/g,"").split(":").reduce((J,q)=>J*X(60)+X(q),X(0));return U==="-"?X(-1)*Q:Q}function v4($){let{value:Z}=$,U=(J)=>J;if(typeof Z==="bigint")U=(J)=>BigInt(J);else if(isNaN(Z)||!isFinite(Z))return A7.stringifyNumber($);let z="";if(Z<0)z="-",Z*=U(-1);let X=U(60),Q=[Z%X];if(Z<60)Q.unshift(0);else if(Z=(Z-Q[0])/X,Q.unshift(Z%X),Z>=60)Z=(Z-Q[0])/X,Q.unshift(Z);return z+Q.map((J)=>String(J).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var N7={identify:($)=>typeof $==="bigint"||Number.isInteger($),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:($,Z,{intAsBigInt:U})=>m9($,U),stringify:v4},w7={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:($)=>m9($,!1),stringify:v4},m4={identify:($)=>$ 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($){let Z=$.match(m4.test);if(!Z)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,U,z,X,Q,J,q]=Z.map(Number),H=Z[7]?Number((Z[7]+"00").substr(1,3)):0,G=Date.UTC(U,z-1,X,Q||0,J||0,q||0,H),W=Z[8];if(W&&W!=="Z"){let Y=m9(W,!1);if(Math.abs(Y)<30)Y*=60;G-=60000*Y}return new Date(G)},stringify:({value:$})=>$?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};b7.floatTime=w7;b7.intTime=N7;b7.timestamp=m4});var l4=_((p7)=>{var E7=T0(),g7=x$(),y7=F0(),f7=r0(),x7=y9(),p4=x4(),l9=h4(),c$=k4(),h7=b$(),u7=h9(),k7=v$(),v7=v9(),d9=p9(),m7=[E7.map,y7.seq,f7.string,g7.nullTag,p4.trueTag,p4.falseTag,c$.intBin,c$.intOct,c$.int,c$.intHex,l9.floatNaN,l9.floatExp,l9.float,x7.binary,h7.merge,u7.omap,k7.pairs,v7.set,d9.intTime,d9.floatTime,d9.timestamp];p7.schema=m7});var e4=_((o7)=>{var s4=T0(),d7=x$(),i4=F0(),c7=r0(),a7=N9(),c9=b9(),a9=j9(),s7=A4(),i7=w4(),r4=y9(),e0=b$(),n4=h9(),o4=v$(),d4=l4(),t4=v9(),a$=p9(),c4=new Map([["core",s7.schema],["failsafe",[s4.map,i4.seq,c7.string]],["json",i7.schema],["yaml11",d4.schema],["yaml-1.1",d4.schema]]),a4={binary:r4.binary,bool:a7.boolTag,float:c9.float,floatExp:c9.floatExp,floatNaN:c9.floatNaN,floatTime:a$.floatTime,int:a9.int,intHex:a9.intHex,intOct:a9.intOct,intTime:a$.intTime,map:s4.map,merge:e0.merge,null:d7.nullTag,omap:n4.omap,pairs:o4.pairs,seq:i4.seq,set:t4.set,timestamp:a$.timestamp},r7={"tag:yaml.org,2002:binary":r4.binary,"tag:yaml.org,2002:merge":e0.merge,"tag:yaml.org,2002:omap":n4.omap,"tag:yaml.org,2002:pairs":o4.pairs,"tag:yaml.org,2002:set":t4.set,"tag:yaml.org,2002:timestamp":a$.timestamp};function n7($,Z,U){let z=c4.get(Z);if(z&&!$)return U&&!z.includes(e0.merge)?z.concat(e0.merge):z.slice();let X=z;if(!X)if(Array.isArray($))X=[];else{let Q=Array.from(c4.keys()).filter((J)=>J!=="yaml11").map((J)=>JSON.stringify(J)).join(", ");throw Error(`Unknown schema "${Z}"; use one of ${Q} or define customTags array`)}if(Array.isArray($))for(let Q of $)X=X.concat(Q);else if(typeof $==="function")X=$(X.slice());if(U)X=X.concat(e0.merge);return X.reduce((Q,J)=>{let q=typeof J==="string"?a4[J]:J;if(!q){let H=JSON.stringify(J),G=Object.keys(a4).map((W)=>JSON.stringify(W)).join(", ");throw Error(`Unknown custom tag ${H}; use one of ${G}`)}if(!Q.includes(q))Q.push(q);return Q},[])}o7.coreKnownTags=r7;o7.getTags=n7});var r9=_((XU)=>{var s9=C(),$U=T0(),ZU=F0(),UU=r0(),s$=e4(),zU=($,Z)=>$.key<Z.key?-1:$.key>Z.key?1:0;class i9{constructor({compat:$,customTags:Z,merge:U,resolveKnownTags:z,schema:X,sortMapEntries:Q,toStringDefaults:J}){this.compat=Array.isArray($)?s$.getTags($,"compat"):$?s$.getTags(null,$):null,this.name=typeof X==="string"&&X||"core",this.knownTags=z?s$.coreKnownTags:{},this.tags=s$.getTags(Z,this.name,U),this.toStringOptions=J??null,Object.defineProperty(this,s9.MAP,{value:$U.map}),Object.defineProperty(this,s9.SCALAR,{value:UU.string}),Object.defineProperty(this,s9.SEQ,{value:ZU.seq}),this.sortMapEntries=typeof Q==="function"?Q:Q===!0?zU:null}clone(){let $=Object.create(i9.prototype,Object.getOwnPropertyDescriptors(this));return $.tags=this.tags.slice(),$}}XU.Schema=i9});var $6=_((HU)=>{var JU=C(),n9=c0(),$$=p0();function qU($,Z){let U=[],z=Z.directives===!0;if(Z.directives!==!1&&$.directives){let H=$.directives.toString($);if(H)U.push(H),z=!0;else if($.directives.docStart)z=!0}if(z)U.push("---");let X=n9.createStringifyContext($,Z),{commentString:Q}=X.options;if($.commentBefore){if(U.length!==1)U.unshift("");let H=Q($.commentBefore);U.unshift($$.indentComment(H,""))}let J=!1,q=null;if($.contents){if(JU.isNode($.contents)){if($.contents.spaceBefore&&z)U.push("");if($.contents.commentBefore){let W=Q($.contents.commentBefore);U.push($$.indentComment(W,""))}X.forceBlockIndent=!!$.comment,q=$.contents.comment}let H=q?void 0:()=>J=!0,G=n9.stringify($.contents,X,()=>q=null,H);if(q)G+=$$.lineComment(G,"",Q(q));if((G[0]==="|"||G[0]===">")&&U[U.length-1]==="---")U[U.length-1]=`--- ${G}`;else U.push(G)}else U.push(n9.stringify($.contents,X));if($.directives?.docEnd)if($.comment){let H=Q($.comment);if(H.includes(`
|
|
55
55
|
`))U.push("..."),U.push($$.indentComment(H,""));else U.push(`... ${H}`)}else U.push("...");else{let H=$.comment;if(H&&J)H=H.replace(/^\n+/,"");if(H){if((!J||q)&&U[U.length-1]!=="")U.push("");U.push($$.indentComment(Q(H),""))}}return U.join(`
|
|
56
56
|
`)+`
|
|
57
|
-
`}
|
|
57
|
+
`}HU.stringifyDocument=qU});var Z$=_((_U)=>{var YU=v0(),A0=T$(),u=C(),BU=$0(),VU=o(),WU=r9(),LU=$6(),o9=R$(),OU=D9(),DU=m0(),t9=O9();class e9{constructor($,Z,U){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,u.NODE_TYPE,{value:u.DOC});let z=null;if(typeof Z==="function"||Array.isArray(Z))z=Z;else if(U===void 0&&Z)U=Z,Z=void 0;let X=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},U);this.options=X;let{version:Q}=X;if(U?._directives){if(this.directives=U._directives.atDocument(),this.directives.yaml.explicit)Q=this.directives.yaml.version}else this.directives=new t9.Directives({version:Q});this.setSchema(Q,U),this.contents=$===void 0?null:this.createNode($,z,U)}clone(){let $=Object.create(e9.prototype,{[u.NODE_TYPE]:{value:u.DOC}});if($.commentBefore=this.commentBefore,$.comment=this.comment,$.errors=this.errors.slice(),$.warnings=this.warnings.slice(),$.options=Object.assign({},this.options),this.directives)$.directives=this.directives.clone();if($.schema=this.schema.clone(),$.contents=u.isNode(this.contents)?this.contents.clone($.schema):this.contents,this.range)$.range=this.range.slice();return $}add($){if(N0(this.contents))this.contents.add($)}addIn($,Z){if(N0(this.contents))this.contents.addIn($,Z)}createAlias($,Z){if(!$.anchor){let U=o9.anchorNames(this);$.anchor=!Z||U.has(Z)?o9.findNewAnchor(Z||"a",U):Z}return new YU.Alias($.anchor)}createNode($,Z,U){let z=void 0;if(typeof Z==="function")$=Z.call({"":$},"",$),z=Z;else if(Array.isArray(Z)){let V=(R)=>typeof R==="number"||R instanceof String||R instanceof Number,L=Z.filter(V).map(String);if(L.length>0)Z=Z.concat(L);z=Z}else if(U===void 0&&Z)U=Z,Z=void 0;let{aliasDuplicateObjects:X,anchorPrefix:Q,flow:J,keepUndefined:q,onTagObj:H,tag:G}=U??{},{onAnchor:W,setAnchors:Y,sourceObjects:B}=o9.createNodeAnchors(this,Q||"a"),O={aliasDuplicateObjects:X??!0,keepUndefined:q??!1,onAnchor:W,onTagObj:H,replacer:z,schema:this.schema,sourceObjects:B},D=DU.createNode($,G,O);if(J&&u.isCollection(D))D.flow=!0;return Y(),D}createPair($,Z,U={}){let z=this.createNode($,null,U),X=this.createNode(Z,null,U);return new BU.Pair(z,X)}delete($){return N0(this.contents)?this.contents.delete($):!1}deleteIn($){if(A0.isEmptyPath($)){if(this.contents==null)return!1;return this.contents=null,!0}return N0(this.contents)?this.contents.deleteIn($):!1}get($,Z){return u.isCollection(this.contents)?this.contents.get($,Z):void 0}getIn($,Z){if(A0.isEmptyPath($))return!Z&&u.isScalar(this.contents)?this.contents.value:this.contents;return u.isCollection(this.contents)?this.contents.getIn($,Z):void 0}has($){return u.isCollection(this.contents)?this.contents.has($):!1}hasIn($){if(A0.isEmptyPath($))return this.contents!==void 0;return u.isCollection(this.contents)?this.contents.hasIn($):!1}set($,Z){if(this.contents==null)this.contents=A0.collectionFromPath(this.schema,[$],Z);else if(N0(this.contents))this.contents.set($,Z)}setIn($,Z){if(A0.isEmptyPath($))this.contents=Z;else if(this.contents==null)this.contents=A0.collectionFromPath(this.schema,Array.from($),Z);else if(N0(this.contents))this.contents.setIn($,Z)}setSchema($,Z={}){if(typeof $==="number")$=String($);let U;switch($){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new t9.Directives({version:"1.1"});U={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=$;else this.directives=new t9.Directives({version:$});U={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;U=null;break;default:{let z=JSON.stringify($);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${z}`)}}if(Z.schema instanceof Object)this.schema=Z.schema;else if(U)this.schema=new WU.Schema(Object.assign(U,Z));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:$,jsonArg:Z,mapAsMap:U,maxAliasCount:z,onAnchor:X,reviver:Q}={}){let J={anchors:new Map,doc:this,keep:!$,mapAsMap:U===!0,mapKeyWarned:!1,maxAliasCount:typeof z==="number"?z:100},q=VU.toJS(this.contents,Z??"",J);if(typeof X==="function")for(let{count:H,res:G}of J.anchors.values())X(G,H);return typeof Q==="function"?OU.applyReviver(Q,{"":q},"",q):q}toJSON($,Z){return this.toJS({json:!0,jsonArg:$,mapAsMap:!1,onAnchor:Z})}toString($={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in $&&(!Number.isInteger($.indent)||Number($.indent)<=0)){let Z=JSON.stringify($.indent);throw Error(`"indent" option must be a positive integer, not ${Z}`)}return LU.stringifyDocument(this,$)}}function N0($){if(u.isCollection($))return!0;throw Error("Expected a YAML collection as document contents")}_U.Document=e9});var U$=_((MU)=>{class i$ extends Error{constructor($,Z,U,z){super();this.name=$,this.code=U,this.message=z,this.pos=Z}}class Z6 extends i${constructor($,Z,U){super("YAMLParseError",$,Z,U)}}class U6 extends i${constructor($,Z,U){super("YAMLWarning",$,Z,U)}}var RU=($,Z)=>(U)=>{if(U.pos[0]===-1)return;U.linePos=U.pos.map((q)=>Z.linePos(q));let{line:z,col:X}=U.linePos[0];U.message+=` at line ${z}, column ${X}`;let Q=X-1,J=$.substring(Z.lineStarts[z-1],Z.lineStarts[z]).replace(/[\n\r]+$/,"");if(Q>=60&&J.length>80){let q=Math.min(Q-39,J.length-79);J="…"+J.substring(q),Q-=q-1}if(J.length>80)J=J.substring(0,79)+"…";if(z>1&&/^ *$/.test(J.substring(0,Q))){let q=$.substring(Z.lineStarts[z-2],Z.lineStarts[z-1]);if(q.length>80)q=q.substring(0,79)+`…
|
|
58
58
|
`;J=q+J}if(/[^ ]/.test(J)){let q=1,H=U.linePos[1];if(H?.line===z&&H.col>X)q=Math.max(1,Math.min(H.col-X,80-Q));let G=" ".repeat(Q)+"^".repeat(q);U.message+=`:
|
|
59
59
|
|
|
60
60
|
${J}
|
|
61
61
|
${G}
|
|
62
|
-
`}};
|
|
63
|
-
`))return!0;if($.end){for(let Z of $.end)if(Z.type==="newline")return!0}return!1;case"flow-collection":for(let Z of $.items){for(let U of Z.start)if(U.type==="newline")return!0;if(Z.sep){for(let U of Z.sep)if(U.type==="newline")return!0}if($
|
|
64
|
-
`+V.comment;else q.comment=V.comment;continue}if(V.newlineAfterProp||
|
|
65
|
-
`+K.comment;else
|
|
66
|
-
`+N.comment;else G.comment=N.comment;Y=N.end;continue}if(!J&&U.options.strict&&
|
|
67
|
-
`+w;else
|
|
68
|
-
`+b.comment;else
|
|
69
|
-
`+
|
|
70
|
-
`.repeat(Math.max(1,J.length-1)):"",
|
|
71
|
-
`;for(let V=W;V<q;++V){let[
|
|
72
|
-
`;else if(
|
|
73
|
-
`;else if(!
|
|
62
|
+
`}};MU.YAMLError=i$;MU.YAMLParseError=Z6;MU.YAMLWarning=U6;MU.prettifyError=RU});var z$=_((NU)=>{function AU($,{flow:Z,indicator:U,next:z,offset:X,onError:Q,parentIndent:J,startOnNewline:q}){let H=!1,G=q,W=q,Y="",B="",O=!1,D=!1,V=null,L=null,R=null,T=null,K=null,A=null,F=null;for(let P of $){if(D){if(P.type!=="space"&&P.type!=="newline"&&P.type!=="comma")Q(P.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");D=!1}if(V){if(G&&P.type!=="comment"&&P.type!=="newline")Q(V,"TAB_AS_INDENT","Tabs are not allowed as indentation");V=null}switch(P.type){case"space":if(!Z&&(U!=="doc-start"||z?.type!=="flow-collection")&&P.source.includes("\t"))V=P;W=!0;break;case"comment":{if(!W)Q(P,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let b=P.source.substring(1)||" ";if(!Y)Y=b;else Y+=B+b;B="",G=!1;break}case"newline":if(G){if(Y)Y+=P.source;else if(!A||U!=="seq-item-ind")H=!0}else B+=P.source;if(G=!0,O=!0,L||R)T=P;W=!0;break;case"anchor":if(L)Q(P,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(P.source.endsWith(":"))Q(P.offset+P.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);L=P,F??(F=P.offset),G=!1,W=!1,D=!0;break;case"tag":{if(R)Q(P,"MULTIPLE_TAGS","A node can have at most one tag");R=P,F??(F=P.offset),G=!1,W=!1,D=!0;break}case U:if(L||R)Q(P,"BAD_PROP_ORDER",`Anchors and tags must be after the ${P.source} indicator`);if(A)Q(P,"UNEXPECTED_TOKEN",`Unexpected ${P.source} in ${Z??"collection"}`);A=P,G=U==="seq-item-ind"||U==="explicit-key-ind",W=!1;break;case"comma":if(Z){if(K)Q(P,"UNEXPECTED_TOKEN",`Unexpected , in ${Z}`);K=P,G=!1,W=!1;break}default:Q(P,"UNEXPECTED_TOKEN",`Unexpected ${P.type} token`),G=!1,W=!1}}let N=$[$.length-1],w=N?N.offset+N.source.length:X;if(D&&z&&z.type!=="space"&&z.type!=="newline"&&z.type!=="comma"&&(z.type!=="scalar"||z.source!==""))Q(z.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(V&&(G&&V.indent<=J||z?.type==="block-map"||z?.type==="block-seq"))Q(V,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:K,found:A,spaceBefore:H,comment:Y,hasNewline:O,anchor:L,tag:R,newlineAfterProp:T,end:w,start:F??w}}NU.resolveProps=AU});var r$=_((bU)=>{function $2($){if(!$)return null;switch($.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if($.source.includes(`
|
|
63
|
+
`))return!0;if($.end){for(let Z of $.end)if(Z.type==="newline")return!0}return!1;case"flow-collection":for(let Z of $.items){for(let U of Z.start)if(U.type==="newline")return!0;if(Z.sep){for(let U of Z.sep)if(U.type==="newline")return!0}if($2(Z.key)||$2(Z.value))return!0}return!1;default:return!0}}bU.containsNewline=$2});var Z2=_((EU)=>{var jU=r$();function SU($,Z,U){if(Z?.type==="flow-collection"){let z=Z.end[0];if(z.indent===$&&(z.source==="]"||z.source==="}")&&jU.containsNewline(Z))U(z,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}EU.flowIndentCheck=SU});var U2=_((fU)=>{var z6=C();function yU($,Z,U){let{uniqueKeys:z}=$.options;if(z===!1)return!1;let X=typeof z==="function"?z:(Q,J)=>Q===J||z6.isScalar(Q)&&z6.isScalar(J)&&Q.value===J.value;return Z.some((Q)=>X(Q.key,U))}fU.mapIncludes=yU});var H6=_((mU)=>{var X6=$0(),hU=U0(),Q6=z$(),uU=r$(),J6=Z2(),kU=U2(),q6="All mapping items must start at the same column";function vU({composeNode:$,composeEmptyNode:Z},U,z,X,Q){let q=new(Q?.nodeClass??hU.YAMLMap)(U.schema);if(U.atRoot)U.atRoot=!1;let H=z.offset,G=null;for(let W of z.items){let{start:Y,key:B,sep:O,value:D}=W,V=Q6.resolveProps(Y,{indicator:"explicit-key-ind",next:B??O?.[0],offset:H,onError:X,parentIndent:z.indent,startOnNewline:!0}),L=!V.found;if(L){if(B){if(B.type==="block-seq")X(H,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in B&&B.indent!==z.indent)X(H,"BAD_INDENT",q6)}if(!V.anchor&&!V.tag&&!O){if(G=V.end,V.comment)if(q.comment)q.comment+=`
|
|
64
|
+
`+V.comment;else q.comment=V.comment;continue}if(V.newlineAfterProp||uU.containsNewline(B))X(B??Y[Y.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(V.found?.indent!==z.indent)X(H,"BAD_INDENT",q6);U.atKey=!0;let R=V.end,T=B?$(U,B,V,X):Z(U,R,Y,null,V,X);if(U.schema.compat)J6.flowIndentCheck(z.indent,B,X);if(U.atKey=!1,kU.mapIncludes(U,q.items,T))X(R,"DUPLICATE_KEY","Map keys must be unique");let K=Q6.resolveProps(O??[],{indicator:"map-value-ind",next:D,offset:T.range[2],onError:X,parentIndent:z.indent,startOnNewline:!B||B.type==="block-scalar"});if(H=K.end,K.found){if(L){if(D?.type==="block-map"&&!K.hasNewline)X(H,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(U.options.strict&&V.start<K.found.offset-1024)X(T.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let A=D?$(U,D,K,X):Z(U,H,O,null,K,X);if(U.schema.compat)J6.flowIndentCheck(z.indent,D,X);H=A.range[2];let F=new X6.Pair(T,A);if(U.options.keepSourceTokens)F.srcToken=W;q.items.push(F)}else{if(L)X(T.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(K.comment)if(T.comment)T.comment+=`
|
|
65
|
+
`+K.comment;else T.comment=K.comment;let A=new X6.Pair(T);if(U.options.keepSourceTokens)A.srcToken=W;q.items.push(A)}}if(G&&G<H)X(G,"IMPOSSIBLE","Map comment with trailing content");return q.range=[z.offset,H,G??H],q}mU.resolveBlockMap=vU});var G6=_((sU)=>{var lU=z0(),dU=z$(),cU=Z2();function aU({composeNode:$,composeEmptyNode:Z},U,z,X,Q){let q=new(Q?.nodeClass??lU.YAMLSeq)(U.schema);if(U.atRoot)U.atRoot=!1;if(U.atKey)U.atKey=!1;let H=z.offset,G=null;for(let{start:W,value:Y}of z.items){let B=dU.resolveProps(W,{indicator:"seq-item-ind",next:Y,offset:H,onError:X,parentIndent:z.indent,startOnNewline:!0});if(!B.found)if(B.anchor||B.tag||Y)if(Y?.type==="block-seq")X(B.end,"BAD_INDENT","All sequence items must start at the same column");else X(H,"MISSING_CHAR","Sequence item without - indicator");else{if(G=B.end,B.comment)q.comment=B.comment;continue}let O=Y?$(U,Y,B,X):Z(U,B.end,W,null,B,X);if(U.schema.compat)cU.flowIndentCheck(z.indent,Y,X);H=O.range[2],q.items.push(O)}return q.range=[z.offset,H,G??H],q}sU.resolveBlockSeq=aU});var w0=_((nU)=>{function rU($,Z,U,z){let X="";if($){let Q=!1,J="";for(let q of $){let{source:H,type:G}=q;switch(G){case"space":Q=!0;break;case"comment":{if(U&&!Q)z(q,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let W=H.substring(1)||" ";if(!X)X=W;else X+=J+W;J="";break}case"newline":if(X)J+=H;Q=!0;break;default:z(q,"UNEXPECTED_TOKEN",`Unexpected ${G} at node end`)}Z+=H.length}}return{comment:X,offset:Z}}nU.resolveEnd=rU});var V6=_((Qz)=>{var tU=C(),eU=$0(),Y6=U0(),$z=z0(),Zz=w0(),B6=z$(),Uz=r$(),zz=U2(),z2="Block collections are not allowed within flow collections",X2=($)=>$&&($.type==="block-map"||$.type==="block-seq");function Xz({composeNode:$,composeEmptyNode:Z},U,z,X,Q){let J=z.start.source==="{",q=J?"flow map":"flow sequence",G=new(Q?.nodeClass??(J?Y6.YAMLMap:$z.YAMLSeq))(U.schema);G.flow=!0;let W=U.atRoot;if(W)U.atRoot=!1;if(U.atKey)U.atKey=!1;let Y=z.offset+z.start.source.length;for(let L=0;L<z.items.length;++L){let R=z.items[L],{start:T,key:K,sep:A,value:F}=R,N=B6.resolveProps(T,{flow:q,indicator:"explicit-key-ind",next:K??A?.[0],offset:Y,onError:X,parentIndent:z.indent,startOnNewline:!1});if(!N.found){if(!N.anchor&&!N.tag&&!A&&!F){if(L===0&&N.comma)X(N.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${q}`);else if(L<z.items.length-1)X(N.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${q}`);if(N.comment)if(G.comment)G.comment+=`
|
|
66
|
+
`+N.comment;else G.comment=N.comment;Y=N.end;continue}if(!J&&U.options.strict&&Uz.containsNewline(K))X(K,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(L===0){if(N.comma)X(N.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${q}`)}else{if(!N.comma)X(N.start,"MISSING_CHAR",`Missing , between ${q} items`);if(N.comment){let w="";$:for(let P of T)switch(P.type){case"comma":case"space":break;case"comment":w=P.source.substring(1);break $;default:break $}if(w){let P=G.items[G.items.length-1];if(tU.isPair(P))P=P.value??P.key;if(P.comment)P.comment+=`
|
|
67
|
+
`+w;else P.comment=w;N.comment=N.comment.substring(w.length+1)}}}if(!J&&!A&&!N.found){let w=F?$(U,F,N,X):Z(U,N.end,A,null,N,X);if(G.items.push(w),Y=w.range[2],X2(F))X(w.range,"BLOCK_IN_FLOW",z2)}else{U.atKey=!0;let w=N.end,P=K?$(U,K,N,X):Z(U,w,T,null,N,X);if(X2(K))X(P.range,"BLOCK_IN_FLOW",z2);U.atKey=!1;let b=B6.resolveProps(A??[],{flow:q,indicator:"map-value-ind",next:F,offset:P.range[2],onError:X,parentIndent:z.indent,startOnNewline:!1});if(b.found){if(!J&&!N.found&&U.options.strict){if(A)for(let E of A){if(E===b.found)break;if(E.type==="newline"){X(E,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(N.start<b.found.offset-1024)X(b.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(F)if("source"in F&&F.source?.[0]===":")X(F,"MISSING_CHAR",`Missing space after : in ${q}`);else X(b.start,"MISSING_CHAR",`Missing , or : between ${q} items`);let p=F?$(U,F,b,X):b.found?Z(U,b.end,A,null,b,X):null;if(p){if(X2(F))X(p.range,"BLOCK_IN_FLOW",z2)}else if(b.comment)if(P.comment)P.comment+=`
|
|
68
|
+
`+b.comment;else P.comment=b.comment;let l=new eU.Pair(P,p);if(U.options.keepSourceTokens)l.srcToken=R;if(J){let E=G;if(zz.mapIncludes(U,E.items,P))X(w,"DUPLICATE_KEY","Map keys must be unique");E.items.push(l)}else{let E=new Y6.YAMLMap(U.schema);E.flow=!0,E.items.push(l);let E0=(p??P).range;E.range=[P.range[0],E0[1],E0[2]],G.items.push(E)}Y=p?p.range[2]:b.end}}let B=J?"}":"]",[O,...D]=z.end,V=Y;if(O?.source===B)V=O.offset+O.source.length;else{let L=q[0].toUpperCase()+q.substring(1),R=W?`${L} must end with a ${B}`:`${L} in block collection must be sufficiently indented and end with a ${B}`;if(X(Y,W?"MISSING_CHAR":"BAD_INDENT",R),O&&O.source.length!==1)D.unshift(O)}if(D.length>0){let L=Zz.resolveEnd(D,V,U.options.strict,X);if(L.comment)if(G.comment)G.comment+=`
|
|
69
|
+
`+L.comment;else G.comment=L.comment;G.range=[z.offset,V,L.offset]}else G.range=[z.offset,V,V];return G}Qz.resolveFlowCollection=Xz});var W6=_((Oz)=>{var qz=C(),Hz=g(),Gz=U0(),Yz=z0(),Bz=H6(),Vz=G6(),Wz=V6();function Q2($,Z,U,z,X,Q){let J=U.type==="block-map"?Bz.resolveBlockMap($,Z,U,z,Q):U.type==="block-seq"?Vz.resolveBlockSeq($,Z,U,z,Q):Wz.resolveFlowCollection($,Z,U,z,Q),q=J.constructor;if(X==="!"||X===q.tagName)return J.tag=q.tagName,J;if(X)J.tag=X;return J}function Lz($,Z,U,z,X){let Q=z.tag,J=!Q?null:Z.directives.tagName(Q.source,(B)=>X(Q,"TAG_RESOLVE_FAILED",B));if(U.type==="block-seq"){let{anchor:B,newlineAfterProp:O}=z,D=B&&Q?B.offset>Q.offset?B:Q:B??Q;if(D&&(!O||O.offset<D.offset))X(D,"MISSING_CHAR","Missing newline after block sequence props")}let q=U.type==="block-map"?"map":U.type==="block-seq"?"seq":U.start.source==="{"?"map":"seq";if(!Q||!J||J==="!"||J===Gz.YAMLMap.tagName&&q==="map"||J===Yz.YAMLSeq.tagName&&q==="seq")return Q2($,Z,U,X,J);let H=Z.schema.tags.find((B)=>B.tag===J&&B.collection===q);if(!H){let B=Z.schema.knownTags[J];if(B?.collection===q)Z.schema.tags.push(Object.assign({},B,{default:!1})),H=B;else{if(B)X(Q,"BAD_COLLECTION_TYPE",`${B.tag} used for ${q} collection, but expects ${B.collection??"scalar"}`,!0);else X(Q,"TAG_RESOLVE_FAILED",`Unresolved tag: ${J}`,!0);return Q2($,Z,U,X,J)}}let G=Q2($,Z,U,X,J,H),W=H.resolve?.(G,(B)=>X(Q,"TAG_RESOLVE_FAILED",B),Z.options)??G,Y=qz.isNode(W)?W:new Hz.Scalar(W);if(Y.range=G.range,Y.tag=J,H?.format)Y.format=H.format;return Y}Oz.composeCollection=Lz});var q2=_((Mz)=>{var J2=g();function _z($,Z,U){let z=Z.offset,X=Iz(Z,$.options.strict,U);if(!X)return{value:"",type:null,comment:"",range:[z,z,z]};let Q=X.mode===">"?J2.Scalar.BLOCK_FOLDED:J2.Scalar.BLOCK_LITERAL,J=Z.source?Rz(Z.source):[],q=J.length;for(let V=J.length-1;V>=0;--V){let L=J[V][1];if(L===""||L==="\r")q=V;else break}if(q===0){let V=X.chomp==="+"&&J.length>0?`
|
|
70
|
+
`.repeat(Math.max(1,J.length-1)):"",L=z+X.length;if(Z.source)L+=Z.source.length;return{value:V,type:Q,comment:X.comment,range:[z,L,L]}}let H=Z.indent+X.indent,G=Z.offset+X.length,W=0;for(let V=0;V<q;++V){let[L,R]=J[V];if(R===""||R==="\r"){if(X.indent===0&&L.length>H)H=L.length}else{if(L.length<H)U(G+L.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(X.indent===0)H=L.length;if(W=V,H===0&&!$.atRoot)U(G,"BAD_INDENT","Block scalar values in collections must be indented");break}G+=L.length+R.length+1}for(let V=J.length-1;V>=q;--V)if(J[V][0].length>H)q=V+1;let Y="",B="",O=!1;for(let V=0;V<W;++V)Y+=J[V][0].slice(H)+`
|
|
71
|
+
`;for(let V=W;V<q;++V){let[L,R]=J[V];G+=L.length+R.length+1;let T=R[R.length-1]==="\r";if(T)R=R.slice(0,-1);if(R&&L.length<H){let A=`Block scalar lines must not be less indented than their ${X.indent?"explicit indentation indicator":"first line"}`;U(G-R.length-(T?2:1),"BAD_INDENT",A),L=""}if(Q===J2.Scalar.BLOCK_LITERAL)Y+=B+L.slice(H)+R,B=`
|
|
72
|
+
`;else if(L.length>H||R[0]==="\t"){if(B===" ")B=`
|
|
73
|
+
`;else if(!O&&B===`
|
|
74
74
|
`)B=`
|
|
75
75
|
|
|
76
|
-
`;Y+=B+
|
|
77
|
-
`,
|
|
76
|
+
`;Y+=B+L.slice(H)+R,B=`
|
|
77
|
+
`,O=!0}else if(R==="")if(B===`
|
|
78
78
|
`)Y+=`
|
|
79
79
|
`;else B=`
|
|
80
|
-
`;else Y+=B+R,B=" ",
|
|
80
|
+
`;else Y+=B+R,B=" ",O=!1}switch(X.chomp){case"-":break;case"+":for(let V=q;V<J.length;++V)Y+=`
|
|
81
81
|
`+J[V][0].slice(H);if(Y[Y.length-1]!==`
|
|
82
82
|
`)Y+=`
|
|
83
83
|
`;break;default:Y+=`
|
|
84
|
-
`}let
|
|
84
|
+
`}let D=z+X.length+Z.source.length;return{value:Y,type:Q,comment:X.comment,range:[z,D,D]}}function Iz({offset:$,props:Z},U,z){if(Z[0].type!=="block-scalar-header")return z(Z[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:X}=Z[0],Q=X[0],J=0,q="",H=-1;for(let B=1;B<X.length;++B){let O=X[B];if(!q&&(O==="-"||O==="+"))q=O;else{let D=Number(O);if(!J&&D)J=D;else if(H===-1)H=$+B}}if(H!==-1)z(H,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${X}`);let G=!1,W="",Y=X.length;for(let B=1;B<Z.length;++B){let O=Z[B];switch(O.type){case"space":G=!0;case"newline":Y+=O.source.length;break;case"comment":if(U&&!G)z(O,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");Y+=O.source.length,W=O.source.substring(1);break;case"error":z(O,"UNEXPECTED_TOKEN",O.message),Y+=O.source.length;break;default:{let D=`Unexpected token in block scalar header: ${O.type}`;z(O,"UNEXPECTED_TOKEN",D);let V=O.source;if(V&&typeof V==="string")Y+=V.length}}}return{mode:Q,indent:J,chomp:q,comment:W,length:Y}}function Rz($){let Z=$.split(/\n( *)/),U=Z[0],z=U.match(/^( *)/),Q=[z?.[1]?[z[1],U.slice(z[1].length)]:["",U]];for(let J=1;J<Z.length;J+=2)Q.push([Z[J],Z[J+1]]);return Q}Mz.resolveBlockScalar=_z});var G2=_((jz)=>{var H2=g(),Tz=w0();function Fz($,Z,U){let{offset:z,type:X,source:Q,end:J}=$,q,H,G=(B,O,D)=>U(z+B,O,D);switch(X){case"scalar":q=H2.Scalar.PLAIN,H=Kz(Q,G);break;case"single-quoted-scalar":q=H2.Scalar.QUOTE_SINGLE,H=Az(Q,G);break;case"double-quoted-scalar":q=H2.Scalar.QUOTE_DOUBLE,H=Nz(Q,G);break;default:return U($,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${X}`),{value:"",type:null,comment:"",range:[z,z+Q.length,z+Q.length]}}let W=z+Q.length,Y=Tz.resolveEnd(J,W,Z,U);return{value:H,type:q,comment:Y.comment,range:[z,W,Y.offset]}}function Kz($,Z){let U="";switch($[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 ${$[0]}`;break}case"@":case"`":{U=`reserved character ${$[0]}`;break}}if(U)Z(0,"BAD_SCALAR_START",`Plain value cannot start with ${U}`);return L6($)}function Az($,Z){if($[$.length-1]!=="'"||$.length===1)Z($.length,"MISSING_CHAR","Missing closing 'quote");return L6($.slice(1,-1)).replace(/''/g,"'")}function L6($){let Z,U;try{Z=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
85
85
|
`,"sy"),U=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
86
86
|
`,"sy")}catch{Z=/(.*?)[ \t]*\r?\n/sy,U=/[ \t]*(.*?)[ \t]*\r?\n/sy}let z=Z.exec($);if(!z)return $;let X=z[1],Q=" ",J=Z.lastIndex;U.lastIndex=J;while(z=U.exec($)){if(z[1]==="")if(Q===`
|
|
87
87
|
`)X+=Q;else Q=`
|
|
88
|
-
`;else X+=Q+z[1],Q=" ";J=U.lastIndex}let q=/[ \t]*(.*)/sy;return q.lastIndex=J,z=q.exec($),X+Q+(z?.[1]??"")}function
|
|
88
|
+
`;else X+=Q+z[1],Q=" ";J=U.lastIndex}let q=/[ \t]*(.*)/sy;return q.lastIndex=J,z=q.exec($),X+Q+(z?.[1]??"")}function Nz($,Z){let U="";for(let z=1;z<$.length-1;++z){let X=$[z];if(X==="\r"&&$[z+1]===`
|
|
89
89
|
`)continue;if(X===`
|
|
90
|
-
`){let{fold:Q,offset:J}=
|
|
90
|
+
`){let{fold:Q,offset:J}=wz($,z);U+=Q,z=J}else if(X==="\\"){let Q=$[++z],J=bz[Q];if(J)U+=J;else if(Q===`
|
|
91
91
|
`){Q=$[z+1];while(Q===" "||Q==="\t")Q=$[++z+1]}else if(Q==="\r"&&$[z+1]===`
|
|
92
|
-
`){Q=$[++z+1];while(Q===" "||Q==="\t")Q=$[++z+1]}else if(Q==="x"||Q==="u"||Q==="U"){let q={x:2,u:4,U:8}[Q];U+=
|
|
92
|
+
`){Q=$[++z+1];while(Q===" "||Q==="\t")Q=$[++z+1]}else if(Q==="x"||Q==="u"||Q==="U"){let q={x:2,u:4,U:8}[Q];U+=Cz($,z+1,q,Z),z+=q}else{let q=$.substr(z-1,2);Z(z-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${q}`),U+=q}}else if(X===" "||X==="\t"){let Q=z,J=$[z+1];while(J===" "||J==="\t")J=$[++z+1];if(J!==`
|
|
93
93
|
`&&!(J==="\r"&&$[z+2]===`
|
|
94
|
-
`))U+=z>Q?$.slice(Q,z+1):X}else U+=X}if($[$.length-1]!=='"'||$.length===1)Z($.length,"MISSING_CHAR",'Missing closing "quote');return U}function
|
|
94
|
+
`))U+=z>Q?$.slice(Q,z+1):X}else U+=X}if($[$.length-1]!=='"'||$.length===1)Z($.length,"MISSING_CHAR",'Missing closing "quote');return U}function wz($,Z){let U="",z=$[Z+1];while(z===" "||z==="\t"||z===`
|
|
95
95
|
`||z==="\r"){if(z==="\r"&&$[Z+2]!==`
|
|
96
96
|
`)break;if(z===`
|
|
97
97
|
`)U+=`
|
|
98
|
-
`;Z+=1,z=$[Z+1]}if(!U)U=" ";return{fold:U,offset:Z}}var
|
|
99
|
-
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function
|
|
98
|
+
`;Z+=1,z=$[Z+1]}if(!U)U=" ";return{fold:U,offset:Z}}var bz={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
99
|
+
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Cz($,Z,U,z){let X=$.substr(Z,U),J=X.length===U&&/^[0-9a-fA-F]+$/.test(X)?parseInt(X,16):NaN;if(isNaN(J)){let q=$.substr(Z-2,U+2);return z(Z-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${q}`),q}return String.fromCodePoint(J)}jz.resolveFlowScalar=Fz});var D6=_((hz)=>{var B0=C(),O6=g(),Ez=q2(),gz=G2();function yz($,Z,U,z){let{value:X,type:Q,comment:J,range:q}=Z.type==="block-scalar"?Ez.resolveBlockScalar($,Z,z):gz.resolveFlowScalar(Z,$.options.strict,z),H=U?$.directives.tagName(U.source,(Y)=>z(U,"TAG_RESOLVE_FAILED",Y)):null,G;if($.options.stringKeys&&$.atKey)G=$.schema[B0.SCALAR];else if(H)G=fz($.schema,X,H,U,z);else if(Z.type==="scalar")G=xz($,X,Z,z);else G=$.schema[B0.SCALAR];let W;try{let Y=G.resolve(X,(B)=>z(U??Z,"TAG_RESOLVE_FAILED",B),$.options);W=B0.isScalar(Y)?Y:new O6.Scalar(Y)}catch(Y){let B=Y instanceof Error?Y.message:String(Y);z(U??Z,"TAG_RESOLVE_FAILED",B),W=new O6.Scalar(X)}if(W.range=q,W.source=X,Q)W.type=Q;if(H)W.tag=H;if(G.format)W.format=G.format;if(J)W.comment=J;return W}function fz($,Z,U,z,X){if(U==="!")return $[B0.SCALAR];let Q=[];for(let q of $.tags)if(!q.collection&&q.tag===U)if(q.default&&q.test)Q.push(q);else return q;for(let q of Q)if(q.test?.test(Z))return q;let J=$.knownTags[U];if(J&&!J.collection)return $.tags.push(Object.assign({},J,{default:!1,test:void 0})),J;return X(z,"TAG_RESOLVE_FAILED",`Unresolved tag: ${U}`,U!=="tag:yaml.org,2002:str"),$[B0.SCALAR]}function xz({atKey:$,directives:Z,schema:U},z,X,Q){let J=U.tags.find((q)=>(q.default===!0||$&&q.default==="key")&&q.test?.test(z))||U[B0.SCALAR];if(U.compat){let q=U.compat.find((H)=>H.default&&H.test?.test(z))??U[B0.SCALAR];if(J.tag!==q.tag){let H=Z.tagString(J.tag),G=Z.tagString(q.tag),W=`Value may be parsed as either ${H} or ${G}`;Q(X,"TAG_RESOLVE_FAILED",W,!0)}}return J}hz.composeScalar=yz});var _6=_((vz)=>{function kz($,Z,U){if(Z){U??(U=Z.length);for(let z=U-1;z>=0;--z){let X=Z[z];switch(X.type){case"space":case"comment":case"newline":$-=X.source.length;continue}X=Z[++z];while(X?.type==="space")$+=X.source.length,X=Z[++z];break}}return $}vz.emptyScalarPosition=kz});var M6=_((rz)=>{var pz=v0(),lz=C(),dz=W6(),I6=D6(),cz=w0(),az=_6(),sz={composeNode:R6,composeEmptyNode:Y2};function R6($,Z,U,z){let X=$.atKey,{spaceBefore:Q,comment:J,anchor:q,tag:H}=U,G,W=!0;switch(Z.type){case"alias":if(G=iz($,Z,z),q||H)z(Z,"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(G=I6.composeScalar($,Z,H,z),q)G.anchor=q.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(G=dz.composeCollection(sz,$,Z,U,z),q)G.anchor=q.source.substring(1);break;default:{let Y=Z.type==="error"?Z.message:`Unsupported token (type: ${Z.type})`;z(Z,"UNEXPECTED_TOKEN",Y),G=Y2($,Z.offset,void 0,null,U,z),W=!1}}if(q&&G.anchor==="")z(q,"BAD_ALIAS","Anchor cannot be an empty string");if(X&&$.options.stringKeys&&(!lz.isScalar(G)||typeof G.value!=="string"||G.tag&&G.tag!=="tag:yaml.org,2002:str"))z(H??Z,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(Q)G.spaceBefore=!0;if(J)if(Z.type==="scalar"&&Z.source==="")G.comment=J;else G.commentBefore=J;if($.options.keepSourceTokens&&W)G.srcToken=Z;return G}function Y2($,Z,U,z,{spaceBefore:X,comment:Q,anchor:J,tag:q,end:H},G){let W={type:"scalar",offset:az.emptyScalarPosition(Z,U,z),indent:-1,source:""},Y=I6.composeScalar($,W,q,G);if(J){if(Y.anchor=J.source.substring(1),Y.anchor==="")G(J,"BAD_ALIAS","Anchor cannot be an empty string")}if(X)Y.spaceBefore=!0;if(Q)Y.comment=Q,Y.range[2]=H;return Y}function iz({options:$},{offset:Z,source:U,end:z},X){let Q=new pz.Alias(U.substring(1));if(Q.source==="")X(Z,"BAD_ALIAS","Alias cannot be an empty string");if(Q.source.endsWith(":"))X(Z+U.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let J=Z+U.length,q=cz.resolveEnd(z,J,$.strict,X);if(Q.range=[Z,J,q.offset],q.comment)Q.comment=q.comment;return Q}rz.composeEmptyNode=Y2;rz.composeNode=R6});var T6=_((UX)=>{var tz=Z$(),P6=M6(),ez=w0(),$X=z$();function ZX($,Z,{offset:U,start:z,value:X,end:Q},J){let q=Object.assign({_directives:Z},$),H=new tz.Document(void 0,q),G={atKey:!1,atRoot:!0,directives:H.directives,options:H.options,schema:H.schema},W=$X.resolveProps(z,{indicator:"doc-start",next:X??Q?.[0],offset:U,onError:J,parentIndent:0,startOnNewline:!0});if(W.found){if(H.directives.docStart=!0,X&&(X.type==="block-map"||X.type==="block-seq")&&!W.hasNewline)J(W.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}H.contents=X?P6.composeNode(G,X,W,J):P6.composeEmptyNode(G,W.end,z,null,W,J);let Y=H.contents.range[2],B=ez.resolveEnd(Q,Y,!1,J);if(B.comment)H.comment=B.comment;return H.range=[U,Y,B.offset],H}UX.composeDoc=ZX});var B2=_((GX)=>{var XX=g0("process"),QX=O9(),JX=Z$(),X$=U$(),F6=C(),qX=T6(),HX=w0();function Q$($){if(typeof $==="number")return[$,$+1];if(Array.isArray($))return $.length===2?$:[$[0],$[1]];let{offset:Z,source:U}=$;return[Z,Z+(typeof U==="string"?U.length:1)]}function K6($){let Z="",U=!1,z=!1;for(let X=0;X<$.length;++X){let Q=$[X];switch(Q[0]){case"#":Z+=(Z===""?"":z?`
|
|
100
100
|
|
|
101
101
|
`:`
|
|
102
|
-
`)+(Q.substring(1)||" "),U=!0,z=!1;break;case"%":if($[X+1]?.[0]!=="#")X+=1;U=!1;break;default:if(!U)z=!0;U=!1}}return{comment:Z,afterEmptyLine:z}}class
|
|
103
|
-
${U}`:U;else if(z||$.directives.docStart||!X)$.commentBefore=U;else if(
|
|
102
|
+
`)+(Q.substring(1)||" "),U=!0,z=!1;break;case"%":if($[X+1]?.[0]!=="#")X+=1;U=!1;break;default:if(!U)z=!0;U=!1}}return{comment:Z,afterEmptyLine:z}}class A6{constructor($={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(Z,U,z,X)=>{let Q=Q$(Z);if(X)this.warnings.push(new X$.YAMLWarning(Q,U,z));else this.errors.push(new X$.YAMLParseError(Q,U,z))},this.directives=new QX.Directives({version:$.version||"1.2"}),this.options=$}decorate($,Z){let{comment:U,afterEmptyLine:z}=K6(this.prelude);if(U){let X=$.contents;if(Z)$.comment=$.comment?`${$.comment}
|
|
103
|
+
${U}`:U;else if(z||$.directives.docStart||!X)$.commentBefore=U;else if(F6.isCollection(X)&&!X.flow&&X.items.length>0){let Q=X.items[0];if(F6.isPair(Q))Q=Q.key;let J=Q.commentBefore;Q.commentBefore=J?`${U}
|
|
104
104
|
${J}`:U}else{let Q=X.commentBefore;X.commentBefore=Q?`${U}
|
|
105
|
-
${Q}`:U}}if(Z)Array.prototype.push.apply($.errors,this.errors),Array.prototype.push.apply($.warnings,this.warnings);else $.errors=this.errors,$.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:
|
|
106
|
-
${Z.comment}`:Z.comment}this.doc.range[2]=Z.offset;break}default:this.errors.push(new X$.YAMLParseError(Q$($),"UNEXPECTED_TOKEN",`Unsupported token ${$.type}`))}}*end($=!1,Z=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if($){let U=Object.assign({_directives:this.directives},this.options),z=new
|
|
105
|
+
${Q}`:U}}if(Z)Array.prototype.push.apply($.errors,this.errors),Array.prototype.push.apply($.warnings,this.warnings);else $.errors=this.errors,$.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:K6(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose($,Z=!1,U=-1){for(let z of $)yield*this.next(z);yield*this.end(Z,U)}*next($){if(XX.env.LOG_STREAM)console.dir($,{depth:null});switch($.type){case"directive":this.directives.add($.source,(Z,U,z)=>{let X=Q$($);X[0]+=Z,this.onError(X,"BAD_DIRECTIVE",U,z)}),this.prelude.push($.source),this.atDirectives=!0;break;case"document":{let Z=qX.composeDoc(this.options,this.directives,$,this.onError);if(this.atDirectives&&!Z.directives.docStart)this.onError($,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(Z,!1),this.doc)yield this.doc;this.doc=Z,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push($.source);break;case"error":{let Z=$.source?`${$.message}: ${JSON.stringify($.source)}`:$.message,U=new X$.YAMLParseError(Q$($),"UNEXPECTED_TOKEN",Z);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 X$.YAMLParseError(Q$($),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let Z=HX.resolveEnd($.end,$.offset+$.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),Z.comment){let U=this.doc.comment;this.doc.comment=U?`${U}
|
|
106
|
+
${Z.comment}`:Z.comment}this.doc.range[2]=Z.offset;break}default:this.errors.push(new X$.YAMLParseError(Q$($),"UNEXPECTED_TOKEN",`Unsupported token ${$.type}`))}}*end($=!1,Z=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if($){let U=Object.assign({_directives:this.directives},this.options),z=new JX.Document(void 0,U);if(this.atDirectives)this.onError(Z,"MISSING_CHAR","Missing directives-end indicator line");z.range=[0,Z,Z],this.decorate(z,!1),yield z}}}GX.Composer=A6});var b6=_((IX)=>{var BX=q2(),VX=G2(),WX=U$(),N6=d0();function LX($,Z=!0,U){if($){let z=(X,Q,J)=>{let q=typeof X==="number"?X:Array.isArray(X)?X[0]:X.offset;if(U)U(q,Q,J);else throw new WX.YAMLParseError([q,q+1],Q,J)};switch($.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return VX.resolveFlowScalar($,Z,z);case"block-scalar":return BX.resolveBlockScalar({options:{strict:Z}},$,z)}}return null}function OX($,Z){let{implicitKey:U=!1,indent:z,inFlow:X=!1,offset:Q=-1,type:J="PLAIN"}=Z,q=N6.stringifyString({type:J,value:$},{implicitKey:U,indent:z>0?" ".repeat(z):"",inFlow:X,options:{blockQuote:!0,lineWidth:-1}}),H=Z.end??[{type:"newline",offset:-1,indent:z,source:`
|
|
107
107
|
`}];switch(q[0]){case"|":case">":{let G=q.indexOf(`
|
|
108
108
|
`),W=q.substring(0,G),Y=q.substring(G+1)+`
|
|
109
|
-
`,B=[{type:"block-scalar-header",offset:Q,indent:z,source:W}];if(!
|
|
110
|
-
`});return{type:"block-scalar",offset:Q,indent:z,props:B,source:Y}}case'"':return{type:"double-quoted-scalar",offset:Q,indent:z,source:q,end:H};case"'":return{type:"single-quoted-scalar",offset:Q,indent:z,source:q,end:H};default:return{type:"scalar",offset:Q,indent:z,source:q,end:H}}}function
|
|
109
|
+
`,B=[{type:"block-scalar-header",offset:Q,indent:z,source:W}];if(!w6(B,H))B.push({type:"newline",offset:-1,indent:z,source:`
|
|
110
|
+
`});return{type:"block-scalar",offset:Q,indent:z,props:B,source:Y}}case'"':return{type:"double-quoted-scalar",offset:Q,indent:z,source:q,end:H};case"'":return{type:"single-quoted-scalar",offset:Q,indent:z,source:q,end:H};default:return{type:"scalar",offset:Q,indent:z,source:q,end:H}}}function DX($,Z,U={}){let{afterKey:z=!1,implicitKey:X=!1,inFlow:Q=!1,type:J}=U,q="indent"in $?$.indent:null;if(z&&typeof q==="number")q+=2;if(!J)switch($.type){case"single-quoted-scalar":J="QUOTE_SINGLE";break;case"double-quoted-scalar":J="QUOTE_DOUBLE";break;case"block-scalar":{let G=$.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");J=G.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:J="PLAIN"}let H=N6.stringifyString({type:J,value:Z},{implicitKey:X||q===null,indent:q!==null&&q>0?" ".repeat(q):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}});switch(H[0]){case"|":case">":_X($,H);break;case'"':V2($,H,"double-quoted-scalar");break;case"'":V2($,H,"single-quoted-scalar");break;default:V2($,H,"scalar")}}function _X($,Z){let U=Z.indexOf(`
|
|
111
111
|
`),z=Z.substring(0,U),X=Z.substring(U+1)+`
|
|
112
|
-
`;if($.type==="block-scalar"){let Q=$.props[0];if(Q.type!=="block-scalar-header")throw Error("Invalid block scalar header");Q.source=z,$.source=X}else{let{offset:Q}=$,J="indent"in $?$.indent:-1,q=[{type:"block-scalar-header",offset:Q,indent:J,source:z}];if(!
|
|
113
|
-
`});for(let H of Object.keys($))if(H!=="type"&&H!=="offset")delete $[H];Object.assign($,{type:"block-scalar",indent:J,props:q,source:X})}}function
|
|
114
|
-
`};delete $.items,Object.assign($,{type:U,source:Z,end:[X]});break}default:{let z="indent"in $?$.indent:-1,X="end"in $&&Array.isArray($.end)?$.end.filter((Q)=>Q.type==="space"||Q.type==="comment"||Q.type==="newline"):[];for(let Q of Object.keys($))if(Q!=="type"&&Q!=="offset")delete $[Q];Object.assign($,{type:U,indent:z,source:Z,end:X})}}}
|
|
112
|
+
`;if($.type==="block-scalar"){let Q=$.props[0];if(Q.type!=="block-scalar-header")throw Error("Invalid block scalar header");Q.source=z,$.source=X}else{let{offset:Q}=$,J="indent"in $?$.indent:-1,q=[{type:"block-scalar-header",offset:Q,indent:J,source:z}];if(!w6(q,"end"in $?$.end:void 0))q.push({type:"newline",offset:-1,indent:J,source:`
|
|
113
|
+
`});for(let H of Object.keys($))if(H!=="type"&&H!=="offset")delete $[H];Object.assign($,{type:"block-scalar",indent:J,props:q,source:X})}}function w6($,Z){if(Z)for(let U of Z)switch(U.type){case"space":case"comment":$.push(U);break;case"newline":return $.push(U),!0}return!1}function V2($,Z,U){switch($.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":$.type=U,$.source=Z;break;case"block-scalar":{let z=$.props.slice(1),X=Z.length;if($.props[0].type==="block-scalar-header")X-=$.props[0].source.length;for(let Q of z)Q.offset+=X;delete $.props,Object.assign($,{type:U,source:Z,end:z});break}case"block-map":case"block-seq":{let X={type:"newline",offset:$.offset+Z.length,indent:$.indent,source:`
|
|
114
|
+
`};delete $.items,Object.assign($,{type:U,source:Z,end:[X]});break}default:{let z="indent"in $?$.indent:-1,X="end"in $&&Array.isArray($.end)?$.end.filter((Q)=>Q.type==="space"||Q.type==="comment"||Q.type==="newline"):[];for(let Q of Object.keys($))if(Q!=="type"&&Q!=="offset")delete $[Q];Object.assign($,{type:U,indent:z,source:Z,end:X})}}}IX.createScalarToken=OX;IX.resolveAsScalar=LX;IX.setScalarValue=DX});var C6=_((FX)=>{var TX=($)=>("type"in $)?o$($):n$($);function o$($){switch($.type){case"block-scalar":{let Z="";for(let U of $.props)Z+=o$(U);return Z+$.source}case"block-map":case"block-seq":{let Z="";for(let U of $.items)Z+=n$(U);return Z}case"flow-collection":{let Z=$.start.source;for(let U of $.items)Z+=n$(U);for(let U of $.end)Z+=U.source;return Z}case"document":{let Z=n$($);if($.end)for(let U of $.end)Z+=U.source;return Z}default:{let Z=$.source;if("end"in $&&$.end)for(let U of $.end)Z+=U.source;return Z}}}function n$({start:$,key:Z,sep:U,value:z}){let X="";for(let Q of $)X+=Q.source;if(Z)X+=o$(Z);if(U)for(let Q of U)X+=Q.source;if(z)X+=o$(z);return X}FX.stringify=TX});var E6=_((NX)=>{var W2=Symbol("break visit"),AX=Symbol("skip children"),j6=Symbol("remove item");function V0($,Z){if("type"in $&&$.type==="document")$={start:$.start,value:$.value};S6(Object.freeze([]),$,Z)}V0.BREAK=W2;V0.SKIP=AX;V0.REMOVE=j6;V0.itemAtPath=($,Z)=>{let U=$;for(let[z,X]of Z){let Q=U?.[z];if(Q&&"items"in Q)U=Q.items[X];else return}return U};V0.parentCollection=($,Z)=>{let U=V0.itemAtPath($,Z.slice(0,-1)),z=Z[Z.length-1][0],X=U?.[z];if(X&&"items"in X)return X;throw Error("Parent collection not found")};function S6($,Z,U){let z=U(Z,$);if(typeof z==="symbol")return z;for(let X of["key","value"]){let Q=Z[X];if(Q&&"items"in Q){for(let J=0;J<Q.items.length;++J){let q=S6(Object.freeze($.concat([[X,J]])),Q.items[J],U);if(typeof q==="number")J=q-1;else if(q===W2)return W2;else if(q===j6)Q.items.splice(J,1),J-=1}if(typeof z==="function"&&X==="key")z=z(Z,$)}}return typeof z==="function"?z(Z,$):z}NX.visit=V0});var t$=_((yX)=>{var L2=b6(),bX=C6(),CX=E6(),O2="\uFEFF",D2="\x02",_2="\x18",I2="\x1F",jX=($)=>!!$&&("items"in $),SX=($)=>!!$&&($.type==="scalar"||$.type==="single-quoted-scalar"||$.type==="double-quoted-scalar"||$.type==="block-scalar");function EX($){switch($){case O2:return"<BOM>";case D2:return"<DOC>";case _2:return"<FLOW_END>";case I2:return"<SCALAR>";default:return JSON.stringify($)}}function gX($){switch($){case O2:return"byte-order-mark";case D2:return"doc-mode";case _2:return"flow-error-end";case I2:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
115
115
|
`:case`\r
|
|
116
|
-
`: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($[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}
|
|
117
|
-
`:case"\r":case"\t":return!0;default:return!1}}var
|
|
118
|
-
\r `),
|
|
116
|
+
`: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($[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}yX.createScalarToken=L2.createScalarToken;yX.resolveAsScalar=L2.resolveAsScalar;yX.setScalarValue=L2.setScalarValue;yX.stringify=bX.stringify;yX.visit=CX.visit;yX.BOM=O2;yX.DOCUMENT=D2;yX.FLOW_END=_2;yX.SCALAR=I2;yX.isCollection=jX;yX.isScalar=SX;yX.prettyToken=EX;yX.tokenType=gX});var M2=_((nX)=>{var J$=t$();function v($){switch($){case void 0:case" ":case`
|
|
117
|
+
`:case"\r":case"\t":return!0;default:return!1}}var g6=new Set("0123456789ABCDEFabcdef"),iX=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),e$=new Set(",[]{}"),rX=new Set(` ,[]{}
|
|
118
|
+
\r `),R2=($)=>!$||rX.has($);class y6{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($,Z=!1){if($){if(typeof $!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+$:$,this.lineEndPos=null}this.atEnd=!Z;let U=this.next??"stream";while(U&&(Z||this.hasChars(1)))U=yield*this.parseNext(U)}atLineEnd(){let $=this.pos,Z=this.buffer[$];while(Z===" "||Z==="\t")Z=this.buffer[++$];if(!Z||Z==="#"||Z===`
|
|
119
119
|
`)return!0;if(Z==="\r")return this.buffer[$+1]===`
|
|
120
120
|
`;return!1}charAt($){return this.buffer[this.pos+$]}continueScalar($){let Z=this.buffer[$];if(this.indentNext>0){let U=0;while(Z===" ")Z=this.buffer[++U+$];if(Z==="\r"){let z=this.buffer[U+$+1];if(z===`
|
|
121
121
|
`||!z&&!this.atEnd)return $+U+1}return Z===`
|
|
122
122
|
`||U>=this.indentNext||!Z&&!this.atEnd?$+U:-1}if(Z==="-"||Z==="."){let U=this.buffer.substr($,3);if((U==="---"||U==="...")&&v(this.buffer[$+3]))return-1}return $}getLine(){let $=this.lineEndPos;if(typeof $!=="number"||$!==-1&&$<this.pos)$=this.buffer.indexOf(`
|
|
123
|
-
`,this.pos),this.lineEndPos=$;if($===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[$-1]==="\r")$-=1;return this.buffer.substring(this.pos,$)}hasChars($){return this.pos+$<=this.buffer.length}setNext($){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=$,null}peek($){return this.buffer.substr(this.pos,$)}*parseNext($){switch($){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 $=this.getLine();if($===null)return this.setNext("stream");if($[0]===J$.BOM)yield*this.pushCount(1),$=$.substring(1);if($[0]==="%"){let Z=$.length,U=$.indexOf("#");while(U!==-1){let X=$[U-1];if(X===" "||X==="\t"){Z=U-1;break}else U=$.indexOf("#",U+1)}while(!0){let X=$[Z-1];if(X===" "||X==="\t")Z-=1;else break}let z=(yield*this.pushCount(Z))+(yield*this.pushSpaces(!0));return yield*this.pushCount($.length-z),this.pushNewline(),"stream"}if(this.atLineEnd()){let Z=yield*this.pushSpaces(!0);return yield*this.pushCount($.length-Z),yield*this.pushNewline(),"stream"}return yield J$.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let $=this.charAt(0);if(!$&&!this.atEnd)return this.setNext("line-start");if($==="-"||$==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let Z=this.peek(3);if((Z==="---"||Z==="...")&&v(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,Z==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!v(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[$,Z]=this.peek(2);if(!Z&&!this.atEnd)return this.setNext("block-start");if(($==="-"||$==="?"||$===":")&&v(Z)){let U=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=U,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let $=this.getLine();if($===null)return this.setNext("doc");let Z=yield*this.pushIndicators();switch($[Z]){case"#":yield*this.pushCount($.length-Z);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(
|
|
123
|
+
`,this.pos),this.lineEndPos=$;if($===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[$-1]==="\r")$-=1;return this.buffer.substring(this.pos,$)}hasChars($){return this.pos+$<=this.buffer.length}setNext($){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=$,null}peek($){return this.buffer.substr(this.pos,$)}*parseNext($){switch($){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 $=this.getLine();if($===null)return this.setNext("stream");if($[0]===J$.BOM)yield*this.pushCount(1),$=$.substring(1);if($[0]==="%"){let Z=$.length,U=$.indexOf("#");while(U!==-1){let X=$[U-1];if(X===" "||X==="\t"){Z=U-1;break}else U=$.indexOf("#",U+1)}while(!0){let X=$[Z-1];if(X===" "||X==="\t")Z-=1;else break}let z=(yield*this.pushCount(Z))+(yield*this.pushSpaces(!0));return yield*this.pushCount($.length-z),this.pushNewline(),"stream"}if(this.atLineEnd()){let Z=yield*this.pushSpaces(!0);return yield*this.pushCount($.length-Z),yield*this.pushNewline(),"stream"}return yield J$.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let $=this.charAt(0);if(!$&&!this.atEnd)return this.setNext("line-start");if($==="-"||$==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let Z=this.peek(3);if((Z==="---"||Z==="...")&&v(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,Z==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!v(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[$,Z]=this.peek(2);if(!Z&&!this.atEnd)return this.setNext("block-start");if(($==="-"||$==="?"||$===":")&&v(Z)){let U=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=U,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let $=this.getLine();if($===null)return this.setNext("doc");let Z=yield*this.pushIndicators();switch($[Z]){case"#":yield*this.pushCount($.length-Z);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(R2),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return Z+=yield*this.parseBlockScalarHeader(),Z+=yield*this.pushSpaces(!0),yield*this.pushCount($.length-Z),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let $,Z,U=-1;do{if($=yield*this.pushNewline(),$>0)Z=yield*this.pushSpaces(!1),this.indentValue=U=Z;else Z=0;Z+=yield*this.pushSpaces(!0)}while($+Z>0);let z=this.getLine();if(z===null)return this.setNext("flow");if(U!==-1&&U<this.indentNext&&z[0]!=="#"||U===0&&(z.startsWith("---")||z.startsWith("..."))&&v(z[3])){if(!(U===this.indentNext-1&&this.flowLevel===1&&(z[0]==="]"||z[0]==="}")))return this.flowLevel=0,yield J$.FLOW_END,yield*this.parseLineStart()}let X=0;while(z[X]===",")X+=yield*this.pushCount(1),X+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(X+=yield*this.pushIndicators(),z[X]){case void 0:return"flow";case"#":return yield*this.pushCount(z.length-X),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(R2),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let Q=this.charAt(1);if(this.flowKey||v(Q)||Q===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let $=this.charAt(0),Z=this.buffer.indexOf($,this.pos+1);if($==="'")while(Z!==-1&&this.buffer[Z+1]==="'")Z=this.buffer.indexOf("'",Z+2);else while(Z!==-1){let X=0;while(this.buffer[Z-1-X]==="\\")X+=1;if(X%2===0)break;Z=this.buffer.indexOf('"',Z+1)}let U=this.buffer.substring(0,Z),z=U.indexOf(`
|
|
124
124
|
`,this.pos);if(z!==-1){while(z!==-1){let X=this.continueScalar(z+1);if(X===-1)break;z=U.indexOf(`
|
|
125
125
|
`,X)}if(z!==-1)Z=z-(U[z-1]==="\r"?2:1)}if(Z===-1){if(!this.atEnd)return this.setNext("quoted-scalar");Z=this.buffer.length}return yield*this.pushToIndex(Z+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let $=this.pos;while(!0){let Z=this.buffer[++$];if(Z==="+")this.blockScalarKeep=!0;else if(Z>"0"&&Z<="9")this.blockScalarIndent=Number(Z)-1;else if(Z!=="-")break}return yield*this.pushUntil((Z)=>v(Z)||Z==="#")}*parseBlockScalar(){let $=this.pos-1,Z=0,U;$:for(let X=this.pos;U=this.buffer[X];++X)switch(U){case" ":Z+=1;break;case`
|
|
126
126
|
`:$=X,Z=0;break;case"\r":{let Q=this.buffer[X+1];if(!Q&&!this.atEnd)return this.setNext("block-scalar");if(Q===`
|
|
@@ -130,17 +130,17 @@ ${Z.comment}`:Z.comment}this.doc.range[2]=Z.offset;break}default:this.errors.pus
|
|
|
130
130
|
`&&X>=this.pos&&X+1+Z>J)$=X;else break}while(!0);return yield J$.SCALAR,yield*this.pushToIndex($+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let $=this.flowLevel>0,Z=this.pos-1,U=this.pos-1,z;while(z=this.buffer[++U])if(z===":"){let X=this.buffer[U+1];if(v(X)||$&&e$.has(X))break;Z=U}else if(v(z)){let X=this.buffer[U+1];if(z==="\r")if(X===`
|
|
131
131
|
`)U+=1,z=`
|
|
132
132
|
`,X=this.buffer[U+1];else Z=U;if(X==="#"||$&&e$.has(X))break;if(z===`
|
|
133
|
-
`){let Q=this.continueScalar(U+1);if(Q===-1)break;U=Math.max(U,Q-2)}}else{if($&&e$.has(z))break;Z=U}if(!z&&!this.atEnd)return this.setNext("plain-scalar");return yield J$.SCALAR,yield*this.pushToIndex(Z+1,!0),$?"flow":"doc"}*pushCount($){if($>0)return yield this.buffer.substr(this.pos,$),this.pos+=$,$;return 0}*pushToIndex($,Z){let U=this.buffer.slice(this.pos,$);if(U)return yield U,this.pos+=U.length,U.length;else if(Z)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(
|
|
133
|
+
`){let Q=this.continueScalar(U+1);if(Q===-1)break;U=Math.max(U,Q-2)}}else{if($&&e$.has(z))break;Z=U}if(!z&&!this.atEnd)return this.setNext("plain-scalar");return yield J$.SCALAR,yield*this.pushToIndex(Z+1,!0),$?"flow":"doc"}*pushCount($){if($>0)return yield this.buffer.substr(this.pos,$),this.pos+=$,$;return 0}*pushToIndex($,Z){let U=this.buffer.slice(this.pos,$);if(U)return yield U,this.pos+=U.length,U.length;else if(Z)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(R2))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let $=this.flowLevel>0,Z=this.charAt(1);if(v(Z)||$&&e$.has(Z)){if(!$)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let $=this.pos+2,Z=this.buffer[$];while(!v(Z)&&Z!==">")Z=this.buffer[++$];return yield*this.pushToIndex(Z===">"?$+1:$,!1)}else{let $=this.pos+1,Z=this.buffer[$];while(Z)if(iX.has(Z))Z=this.buffer[++$];else if(Z==="%"&&g6.has(this.buffer[$+1])&&g6.has(this.buffer[$+2]))Z=this.buffer[$+=3];else break;return yield*this.pushToIndex($,!1)}}*pushNewline(){let $=this.buffer[this.pos];if($===`
|
|
134
134
|
`)return yield*this.pushCount(1);else if($==="\r"&&this.charAt(1)===`
|
|
135
|
-
`)return yield*this.pushCount(2);else return 0}*pushSpaces($){let Z=this.pos-1,U;do U=this.buffer[++Z];while(U===" "||$&&U==="\t");let z=Z-this.pos;if(z>0)yield this.buffer.substr(this.pos,z),this.pos=Z;return z}*pushUntil($){let Z=this.pos,U=this.buffer[Z];while(!$(U))U=this.buffer[++Z];return yield*this.pushToIndex(Z,!1)}}
|
|
135
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces($){let Z=this.pos-1,U;do U=this.buffer[++Z];while(U===" "||$&&U==="\t");let z=Z-this.pos;if(z>0)yield this.buffer.substr(this.pos,z),this.pos=Z;return z}*pushUntil($){let Z=this.pos,U=this.buffer[Z];while(!$(U))U=this.buffer[++Z];return yield*this.pushToIndex(Z,!1)}}nX.Lexer=y6});var P2=_((tX)=>{class f6{constructor(){this.lineStarts=[],this.addNewLine=($)=>this.lineStarts.push($),this.linePos=($)=>{let Z=0,U=this.lineStarts.length;while(Z<U){let X=Z+U>>1;if(this.lineStarts[X]<$)Z=X+1;else U=X}if(this.lineStarts[Z]===$)return{line:Z+1,col:1};if(Z===0)return{line:0,col:$};let z=this.lineStarts[Z-1];return{line:Z,col:$-z+1}}}}tX.LineCounter=f6});var T2=_((UQ)=>{var $Q=g0("process"),x6=t$(),ZQ=M2();function X0($,Z){for(let U=0;U<$.length;++U)if($[U].type===Z)return!0;return!1}function h6($){for(let Z=0;Z<$.length;++Z)switch($[Z].type){case"space":case"comment":case"newline":break;default:return Z}return-1}function k6($){switch($?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function $9($){switch($.type){case"document":return $.start;case"block-map":{let Z=$.items[$.items.length-1];return Z.sep??Z.start}case"block-seq":return $.items[$.items.length-1].start;default:return[]}}function b0($){if($.length===0)return[];let Z=$.length;$:while(--Z>=0)switch($[Z].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break $}while($[++Z]?.type==="space");return $.splice(Z,$.length)}function u6($){if($.start.type==="flow-seq-start"){for(let Z of $.items)if(Z.sep&&!Z.value&&!X0(Z.start,"explicit-key-ind")&&!X0(Z.sep,"map-value-ind")){if(Z.key)Z.value=Z.key;if(delete Z.key,k6(Z.value))if(Z.value.end)Array.prototype.push.apply(Z.value.end,Z.sep);else Z.value.end=Z.sep;else Array.prototype.push.apply(Z.start,Z.sep);delete Z.sep}}}class v6{constructor($){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new ZQ.Lexer,this.onNewLine=$}*parse($,Z=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let U of this.lexer.lex($,Z))yield*this.next(U);if(!Z)yield*this.end()}*next($){if(this.source=$,$Q.env.LOG_TOKENS)console.log("|",x6.prettyToken($));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=$.length;return}let Z=x6.tokenType($);if(!Z){let U=`Not a YAML token: ${$}`;yield*this.pop({type:"error",offset:this.offset,message:U,source:$}),this.offset+=$.length}else if(Z==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=Z,yield*this.step(),Z){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+$.length);break;case"space":if(this.atNewLine&&$[0]===" ")this.indent+=$.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=$.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=$.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 $=this.peek(1);if(this.type==="doc-end"&&$?.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(!$)return yield*this.stream();switch($.type){case"document":return yield*this.document($);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar($);case"block-scalar":return yield*this.blockScalar($);case"block-map":return yield*this.blockMap($);case"block-seq":return yield*this.blockSequence($);case"flow-collection":return yield*this.flowCollection($);case"doc-end":return yield*this.documentEnd($)}yield*this.pop()}peek($){return this.stack[this.stack.length-$]}*pop($){let Z=$??this.stack.pop();if(!Z)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield Z;else{let U=this.peek(1);if(Z.type==="block-scalar")Z.indent="indent"in U?U.indent:0;else if(Z.type==="flow-collection"&&U.type==="document")Z.indent=0;if(Z.type==="flow-collection")u6(Z);switch(U.type){case"document":U.value=Z;break;case"block-scalar":U.props.push(Z);break;case"block-map":{let z=U.items[U.items.length-1];if(z.value){U.items.push({start:[],key:Z,sep:[]}),this.onKeyLine=!0;return}else if(z.sep)z.value=Z;else{Object.assign(z,{key:Z,sep:[]}),this.onKeyLine=!z.explicitKey;return}break}case"block-seq":{let z=U.items[U.items.length-1];if(z.value)U.items.push({start:[],value:Z});else z.value=Z;break}case"flow-collection":{let z=U.items[U.items.length-1];if(!z||z.value)U.items.push({start:[],key:Z,sep:[]});else if(z.sep)z.value=Z;else Object.assign(z,{key:Z,sep:[]});return}default:yield*this.pop(),yield*this.pop(Z)}if((U.type==="document"||U.type==="block-map"||U.type==="block-seq")&&(Z.type==="block-map"||Z.type==="block-seq")){let z=Z.items[Z.items.length-1];if(z&&!z.sep&&!z.value&&z.start.length>0&&h6(z.start)===-1&&(Z.indent===0||z.start.every((X)=>X.type!=="comment"||X.indent<Z.indent))){if(U.type==="document")U.end=z.start;else U.items.push({start:z.start});Z.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 $={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")$.start.push(this.sourceToken);this.stack.push($);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document($){if($.value)return yield*this.lineEnd($);switch(this.type){case"doc-start":{if(h6($.start)!==-1)yield*this.pop(),yield*this.step();else $.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":$.start.push(this.sourceToken);return}let Z=this.startBlockValue($);if(Z)this.stack.push(Z);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar($){if(this.type==="map-value-ind"){let Z=$9(this.peek(2)),U=b0(Z),z;if($.end)z=$.end,z.push(this.sourceToken),delete $.end;else z=[this.sourceToken];let X={type:"block-map",offset:$.offset,indent:$.indent,items:[{start:U,key:$,sep:z}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=X}else yield*this.lineEnd($)}*blockScalar($){switch(this.type){case"space":case"comment":case"newline":$.props.push(this.sourceToken);return;case"scalar":if($.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let Z=this.source.indexOf(`
|
|
136
136
|
`)+1;while(Z!==0)this.onNewLine(this.offset+Z),Z=this.source.indexOf(`
|
|
137
|
-
`,Z)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap($){let Z=$.items[$.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,Z.value){let U="end"in Z.value?Z.value.end:void 0;if((Array.isArray(U)?U[U.length-1]:void 0)?.type==="comment")U?.push(this.sourceToken);else $.items.push({start:[this.sourceToken]})}else if(Z.sep)Z.sep.push(this.sourceToken);else Z.start.push(this.sourceToken);return;case"space":case"comment":if(Z.value)$.items.push({start:[this.sourceToken]});else if(Z.sep)Z.sep.push(this.sourceToken);else{if(this.atIndentedComment(Z.start,$.indent)){let z=$.items[$.items.length-2]?.value?.end;if(Array.isArray(z)){Array.prototype.push.apply(z,Z.start),z.push(this.sourceToken),$.items.pop();return}}Z.start.push(this.sourceToken)}return}if(this.indent>=$.indent){let U=!this.onKeyLine&&this.indent===$.indent,z=U&&(Z.sep||Z.explicitKey)&&this.type!=="seq-item-ind",X=[];if(z&&Z.sep&&!Z.value){let Q=[];for(let J=0;J<Z.sep.length;++J){let q=Z.sep[J];switch(q.type){case"newline":Q.push(J);break;case"space":break;case"comment":if(q.indent>$.indent)Q.length=0;break;default:Q.length=0}}if(Q.length>=2)X=Z.sep.splice(Q[1])}switch(this.type){case"anchor":case"tag":if(z||Z.value)X.push(this.sourceToken),$.items.push({start:X}),this.onKeyLine=!0;else if(Z.sep)Z.sep.push(this.sourceToken);else Z.start.push(this.sourceToken);return;case"explicit-key-ind":if(!Z.sep&&!Z.explicitKey)Z.start.push(this.sourceToken),Z.explicitKey=!0;else if(z||Z.value)X.push(this.sourceToken),$.items.push({start:X,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(Z.explicitKey)if(!Z.sep)if(X0(Z.start,"newline"))Object.assign(Z,{key:null,sep:[this.sourceToken]});else{let Q=b0(Z.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]})}else if(Z.value)$.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X0(Z.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:X,key:null,sep:[this.sourceToken]}]});else if(
|
|
137
|
+
`,Z)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap($){let Z=$.items[$.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,Z.value){let U="end"in Z.value?Z.value.end:void 0;if((Array.isArray(U)?U[U.length-1]:void 0)?.type==="comment")U?.push(this.sourceToken);else $.items.push({start:[this.sourceToken]})}else if(Z.sep)Z.sep.push(this.sourceToken);else Z.start.push(this.sourceToken);return;case"space":case"comment":if(Z.value)$.items.push({start:[this.sourceToken]});else if(Z.sep)Z.sep.push(this.sourceToken);else{if(this.atIndentedComment(Z.start,$.indent)){let z=$.items[$.items.length-2]?.value?.end;if(Array.isArray(z)){Array.prototype.push.apply(z,Z.start),z.push(this.sourceToken),$.items.pop();return}}Z.start.push(this.sourceToken)}return}if(this.indent>=$.indent){let U=!this.onKeyLine&&this.indent===$.indent,z=U&&(Z.sep||Z.explicitKey)&&this.type!=="seq-item-ind",X=[];if(z&&Z.sep&&!Z.value){let Q=[];for(let J=0;J<Z.sep.length;++J){let q=Z.sep[J];switch(q.type){case"newline":Q.push(J);break;case"space":break;case"comment":if(q.indent>$.indent)Q.length=0;break;default:Q.length=0}}if(Q.length>=2)X=Z.sep.splice(Q[1])}switch(this.type){case"anchor":case"tag":if(z||Z.value)X.push(this.sourceToken),$.items.push({start:X}),this.onKeyLine=!0;else if(Z.sep)Z.sep.push(this.sourceToken);else Z.start.push(this.sourceToken);return;case"explicit-key-ind":if(!Z.sep&&!Z.explicitKey)Z.start.push(this.sourceToken),Z.explicitKey=!0;else if(z||Z.value)X.push(this.sourceToken),$.items.push({start:X,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(Z.explicitKey)if(!Z.sep)if(X0(Z.start,"newline"))Object.assign(Z,{key:null,sep:[this.sourceToken]});else{let Q=b0(Z.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]})}else if(Z.value)$.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X0(Z.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:X,key:null,sep:[this.sourceToken]}]});else if(k6(Z.key)&&!X0(Z.sep,"newline")){let Q=b0(Z.start),J=Z.key,q=Z.sep;q.push(this.sourceToken),delete Z.key,delete Z.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:J,sep:q}]})}else if(X.length>0)Z.sep=Z.sep.concat(X,this.sourceToken);else Z.sep.push(this.sourceToken);else if(!Z.sep)Object.assign(Z,{key:null,sep:[this.sourceToken]});else if(Z.value||z)$.items.push({start:X,key:null,sep:[this.sourceToken]});else if(X0(Z.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else Z.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Q=this.flowScalar(this.type);if(z||Z.value)$.items.push({start:X,key:Q,sep:[]}),this.onKeyLine=!0;else if(Z.sep)this.stack.push(Q);else Object.assign(Z,{key:Q,sep:[]}),this.onKeyLine=!0;return}default:{let Q=this.startBlockValue($);if(Q){if(Q.type==="block-seq"){if(!Z.explicitKey&&Z.sep&&!X0(Z.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)$.items.push({start:X});this.stack.push(Q);return}}}}yield*this.pop(),yield*this.step()}*blockSequence($){let Z=$.items[$.items.length-1];switch(this.type){case"newline":if(Z.value){let U="end"in Z.value?Z.value.end:void 0;if((Array.isArray(U)?U[U.length-1]:void 0)?.type==="comment")U?.push(this.sourceToken);else $.items.push({start:[this.sourceToken]})}else Z.start.push(this.sourceToken);return;case"space":case"comment":if(Z.value)$.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(Z.start,$.indent)){let z=$.items[$.items.length-2]?.value?.end;if(Array.isArray(z)){Array.prototype.push.apply(z,Z.start),z.push(this.sourceToken),$.items.pop();return}}Z.start.push(this.sourceToken)}return;case"anchor":case"tag":if(Z.value||this.indent<=$.indent)break;Z.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==$.indent)break;if(Z.value||X0(Z.start,"seq-item-ind"))$.items.push({start:[this.sourceToken]});else Z.start.push(this.sourceToken);return}if(this.indent>$.indent){let U=this.startBlockValue($);if(U){this.stack.push(U);return}}yield*this.pop(),yield*this.step()}*flowCollection($){let Z=$.items[$.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($.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!Z||Z.sep)$.items.push({start:[this.sourceToken]});else Z.start.push(this.sourceToken);return;case"map-value-ind":if(!Z||Z.value)$.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Z.sep)Z.sep.push(this.sourceToken);else Object.assign(Z,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!Z||Z.value)$.items.push({start:[this.sourceToken]});else if(Z.sep)Z.sep.push(this.sourceToken);else Z.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let z=this.flowScalar(this.type);if(!Z||Z.value)$.items.push({start:[],key:z,sep:[]});else if(Z.sep)this.stack.push(z);else Object.assign(Z,{key:z,sep:[]});return}case"flow-map-end":case"flow-seq-end":$.end.push(this.sourceToken);return}let U=this.startBlockValue($);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===$.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 z=$9(U),X=b0(z);u6($);let Q=$.end.splice(1,$.end.length);Q.push(this.sourceToken);let J={type:"block-map",offset:$.offset,indent:$.indent,items:[{start:X,key:$,sep:Q}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=J}else yield*this.lineEnd($)}}flowScalar($){if(this.onNewLine){let Z=this.source.indexOf(`
|
|
138
138
|
`)+1;while(Z!==0)this.onNewLine(this.offset+Z),Z=this.source.indexOf(`
|
|
139
|
-
`,Z)+1}return{type:$,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue($){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 Z=$
|
|
139
|
+
`,Z)+1}return{type:$,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue($){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 Z=$9($),U=b0(Z);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 Z=$9($),U=b0(Z);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:U,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment($,Z){if(this.type!=="comment")return!1;if(this.indent<=Z)return!1;return $.every((U)=>U.type==="newline"||U.type==="space")}*documentEnd($){if(this.type!=="doc-mode"){if($.end)$.end.push(this.sourceToken);else $.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd($){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($.end)$.end.push(this.sourceToken);else $.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}UQ.Parser=v6});var c6=_((BQ)=>{var m6=B2(),XQ=Z$(),q$=U$(),QQ=P9(),JQ=C(),qQ=P2(),p6=T2();function l6($){let Z=$.prettyErrors!==!1;return{lineCounter:$.lineCounter||Z&&new qQ.LineCounter||null,prettyErrors:Z}}function HQ($,Z={}){let{lineCounter:U,prettyErrors:z}=l6(Z),X=new p6.Parser(U?.addNewLine),Q=new m6.Composer(Z),J=Array.from(Q.compose(X.parse($)));if(z&&U)for(let q of J)q.errors.forEach(q$.prettifyError($,U)),q.warnings.forEach(q$.prettifyError($,U));if(J.length>0)return J;return Object.assign([],{empty:!0},Q.streamInfo())}function d6($,Z={}){let{lineCounter:U,prettyErrors:z}=l6(Z),X=new p6.Parser(U?.addNewLine),Q=new m6.Composer(Z),J=null;for(let q of Q.compose(X.parse($),!0,$.length))if(!J)J=q;else if(J.options.logLevel!=="silent"){J.errors.push(new q$.YAMLParseError(q.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(z&&U)J.errors.forEach(q$.prettifyError($,U)),J.warnings.forEach(q$.prettifyError($,U));return J}function GQ($,Z,U){let z=void 0;if(typeof Z==="function")z=Z;else if(U===void 0&&Z&&typeof Z==="object")U=Z;let X=d6($,U);if(!X)return null;if(X.warnings.forEach((Q)=>QQ.warn(X.options.logLevel,Q)),X.errors.length>0)if(X.options.logLevel!=="silent")throw X.errors[0];else X.errors=[];return X.toJS(Object.assign({reviver:z},U))}function YQ($,Z,U){let z=null;if(typeof Z==="function"||Array.isArray(Z))z=Z;else if(U===void 0&&Z)U=Z;if(typeof U==="string")U=U.length;if(typeof U==="number"){let X=Math.round(U);U=X<1?void 0:X>8?{indent:8}:{indent:X}}if($===void 0){let{keepUndefined:X}=U??Z??{};if(!X)return}if(JQ.isDocument($)&&!z)return $.toString(U);return new XQ.Document($,z,U).toString(U)}BQ.parse=GQ;BQ.parseAllDocuments=HQ;BQ.parseDocument=d6;BQ.stringify=YQ});var f=[{index:1,path:"project.name",description:"Project name",category:"project"},{index:2,path:"project.goal",description:"Goal (use case)",category:"project"},{index:3,path:"project.main_language",description:"Primary language",category:"project"},{index:4,path:"human_context.who",description:"Who is this for?",category:"human"},{index:5,path:"human_context.what",description:"What are they building",category:"human"},{index:6,path:"human_context.why",description:"Why does it exist",category:"human"},{index:7,path:"human_context.where",description:"Where does it run",category:"human"},{index:8,path:"human_context.when",description:"When was it started / timeline",category:"human"},{index:9,path:"human_context.how",description:"How is it built",category:"human"},{index:10,path:"stack.frontend",canonical:"stack.framework",description:"Framework (React, Svelte, etc.)",category:"frontend"},{index:11,path:"stack.css_framework",canonical:"stack.css",description:"CSS framework",category:"frontend"},{index:12,path:"stack.ui_library",description:"UI component library",category:"frontend"},{index:13,path:"stack.state_management",canonical:"stack.state",description:"State management",category:"frontend"},{index:14,path:"stack.backend",description:"Backend framework",category:"backend"},{index:15,path:"stack.api_type",canonical:"stack.api",description:"API style (REST, GraphQL, etc.)",category:"backend"},{index:16,path:"stack.runtime",description:"Runtime (Node, Bun, Python, etc.)",category:"backend"},{index:17,path:"stack.database",canonical:"stack.db",description:"Database",category:"backend"},{index:18,path:"stack.connection",description:"Connection method (Prisma, etc.)",category:"backend"},{index:19,path:"stack.hosting",description:"Hosting platform",category:"universal"},{index:20,path:"stack.build",description:"Build tool",category:"universal"},{index:21,path:"stack.cicd",description:"CI/CD",category:"universal"},{index:22,path:"stack.monorepo_tool",description:"Monorepo tool",category:"enterprise_infra"},{index:23,path:"stack.package_manager",canonical:"stack.pkg_manager",description:"Package manager",category:"enterprise_infra"},{index:24,path:"stack.workspaces",description:"Workspace configuration",category:"enterprise_infra"},{index:25,path:"monorepo.packages_count",description:"Number of packages",category:"enterprise_infra"},{index:26,path:"monorepo.build_orchestrator",description:"Build orchestration tool",category:"enterprise_infra"},{index:27,path:"stack.admin",description:"Admin panel",category:"enterprise_app"},{index:28,path:"stack.cache",description:"Caching layer",category:"enterprise_app"},{index:29,path:"stack.search",description:"Search engine",category:"enterprise_app"},{index:30,path:"stack.storage",description:"Object storage",category:"enterprise_app"},{index:31,path:"monorepo.versioning_strategy",description:"Version strategy",category:"enterprise_ops"},{index:32,path:"monorepo.shared_configs",description:"Shared configs",category:"enterprise_ops"},{index:33,path:"monorepo.remote_cache",description:"Remote build cache",category:"enterprise_ops"}],J9=new Map(f.flatMap(($)=>$.canonical?[[$.path,$],[$.canonical,$]]:[[$.path,$]])),xq=new Map(f.filter(($)=>$.canonical).map(($)=>[$.canonical,$.path])),hq=new Map(f.filter(($)=>$.canonical).map(($)=>[$.path,$.canonical]));function h2($,Z){let U=(X)=>{let Q=X.split("."),J=$;for(let q of Q)if(J&&typeof J==="object"&&q in J)J=J[q];else return;return J},z=U(Z.path);if(z!==void 0)return z;if(Z.canonical)return U(Z.canonical);return}function s8($){return f.filter((Z)=>Z.category===$)}var i8=f.filter(($)=>$.index<=21),r8=f,V$=new Set(["describe your project goal","development teams","cloud platform","null","none","unknown","n/a","not applicable"]);function y0($){if($===null||$===void 0||$==="")return!0;if(typeof $==="string")return V$.has($.toLowerCase().trim());if(Array.isArray($)&&$.length===0)return!0;if(typeof $==="object"&&Object.keys($).length===0)return!0;return!1}var D0={about:[],documentation:["project","human"],intent:["project","human"],encyclopedia:["project","human"],cli:["project","human","universal"],library:["project","human","universal"],sdk:["project","human","universal"],wasm:["project","human","universal"],html:["project","human","universal"],"server-card":["project","human","universal"],frontend:["project","frontend","human","universal"],website:["project","frontend","human","universal"],mobile:["project","frontend","human","universal"],extension:["project","frontend","human","universal"],mcp:["project","backend","human","universal"],backend:["project","backend","universal","human"],"data-science":["project","backend","human","universal"],fullstack:["project","frontend","backend","universal","human"],svelte:["project","frontend","backend","universal","human"],framework:["project","frontend","backend","universal","human"],"monorepo-root":["project","human","enterprise_infra","enterprise_app","enterprise_ops"],mcpaas:["project","backend","universal","human","enterprise_app","enterprise_ops"],saas:["project","frontend","backend","universal","human","enterprise_app"],enterprise:["project","frontend","backend","universal","human","enterprise_infra","enterprise_app","enterprise_ops"]};var q9=($)=>(Z)=>`\x1B[${$}m${Z}\x1B[0m`,W$=q9("1"),f0=q9("2"),kq=q9("3"),x0={cyan:"#00D4D4",cyanDeep:"#0E8C8C",orange:"#FF6B35"},L$=($)=>`\x1B[38;2;0;212;212m${$}\x1B[0m`,H9=($)=>`\x1B[38;2;14;140;140m${$}\x1B[0m`,_0=($)=>`\x1B[38;5;208m${$}\x1B[0m`;var a=[{name:"TROPHY",indicator:`${_0("\uD83C\uDFC6")} ${_0("TROPHY")}`,threshold:100},{name:"GOLD",indicator:`${_0(W$("★"))} ${_0("GOLD")}`,threshold:99},{name:"SILVER",indicator:`${L$("◆")} ${L$("SILVER")}`,threshold:95},{name:"BRONZE",indicator:`${H9("◇")} ${H9("BRONZE")}`,threshold:85},{name:"GREEN",indicator:`${W$("●")} GREEN`,threshold:70},{name:"YELLOW",indicator:`${f0("●")} YELLOW`,threshold:55},{name:"RED",indicator:`${f0("○")} RED`,threshold:1},{name:"WHITE",indicator:`${f0("♡")}`,threshold:0}];function h0($){for(let Z of a)if($>=Z.threshold)return Z;return a[a.length-1]}function n8($){let Z=h0($),U=a.indexOf(Z);return U>0?a[U-1]:null}var B9={};c8(B9,{validate:()=>t8,sdkVersion:()=>zZ,scoreFafb:()=>UZ,scoreEnterprise:()=>o8,score:()=>Y9,fafbInfo:()=>ZZ,decompile:()=>$Z,compile:()=>e8});var G9=null;function n(){if(G9)return G9;try{let $=g0("faf-scoring-kernel");return G9=$,$}catch{throw Error(`faf-scoring-kernel not installed.
|
|
140
140
|
|
|
141
141
|
Run: npm install faf-scoring-kernel
|
|
142
|
-
`)}}function
|
|
143
|
-
`)}function
|
|
142
|
+
`)}}function Y9($){return JSON.parse(n().score_faf($))}function o8($){return JSON.parse(n().score_faf_enterprise($))}function t8($){return n().validate_faf($)}function e8($){return n().compile_fafb($)}function $Z($){return JSON.parse(n().decompile_fafb($))}function ZZ($){return JSON.parse(n().fafb_info($))}function UZ($){return JSON.parse(n().score_fafb($))}function zZ(){return n().sdk_version()}function u2($){return{score:$.score,tier:h0($.score),populated:$.populated,empty:$.empty,ignored:$.ignored,active:$.active,total:$.total,slots:$.slots}}function V9($){if(/^\s*app_type:\s*about\s*$/m.test($)){let U=$.match(/^\s+source_score:\s*(\d+)\s*$/m),z=U?parseInt(U[1],10):-1,X=z>=0&&z<=100?z:-1,Q=$.match(/^\s+represents:\s*(\S+)\s*$/m),J=Q?Q[1]:void 0;return{score:X,tier:X>=0?h0(X):a[a.length-1],populated:0,empty:0,ignored:0,active:0,total:0,slots:{},inherited:!0,represents:J}}return u2(Y9($))}function XZ($){let Z=[];if(!$||typeof $!=="object")return Z.push("File is not a valid YAML mapping"),{valid:!1,errors:Z};let U=$;if(!U.faf_version)Z.push("Missing required field: faf_version");if(!U.project?.name)Z.push("Missing required field: project.name");if(U.app_type==="about"){if(!U.about?.represents)Z.push("app_type 'about' requires about.represents (owner/repo of the source codebase)");else if(!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(U.about.represents))Z.push(`about.represents must be "owner/repo" format (got: ${U.about.represents})`);if(U.about?.source_score!==void 0){let z=U.about.source_score;if(typeof z!=="number"||z<0||z>100)Z.push(`about.source_score must be a number 0-100 (got: ${z})`)}}return{valid:Z.length===0,errors:Z}}import{readFileSync as n6,writeFileSync as VG,existsSync as i6}from"fs";import{join as r6,dirname as eQ}from"path";var DQ=B2(),_Q=Z$(),IQ=r9(),F2=U$(),RQ=v0(),Q0=C(),MQ=$0(),PQ=g(),TQ=U0(),FQ=z0(),GG=t$(),KQ=M2(),AQ=P2(),NQ=T2(),Z9=c6(),a6=u0();var wQ=DQ.Composer,bQ=_Q.Document,CQ=IQ.Schema,jQ=F2.YAMLError,SQ=F2.YAMLParseError,EQ=F2.YAMLWarning,gQ=RQ.Alias,yQ=Q0.isAlias,fQ=Q0.isCollection,xQ=Q0.isDocument,hQ=Q0.isMap,uQ=Q0.isNode,kQ=Q0.isPair,vQ=Q0.isScalar,mQ=Q0.isSeq,pQ=MQ.Pair,lQ=PQ.Scalar,dQ=TQ.YAMLMap,cQ=FQ.YAMLSeq;var aQ=KQ.Lexer,sQ=AQ.LineCounter,iQ=NQ.Parser,H$=Z9.parse,rQ=Z9.parseAllDocuments,nQ=Z9.parseDocument,s6=Z9.stringify,oQ=a6.visit,tQ=a6.visitAsync;function $J($){let Z=n6($,"utf-8");return H$(Z)}function o6($){return n6($,"utf-8")}function t6($=process.cwd()){let Z=["project.faf",".faf"];for(let z of Z){let X=r6($,z);if(i6(X))return X}let U=eQ($);if(U!==$)for(let z of Z){let X=r6(U,z);if(i6(X))return X}return null}import{writeFileSync as ZJ}from"fs";import{join as UJ}from"path";var e6=x0.orange,zJ=x0.cyan,XJ=x0.cyanDeep,QJ="#FF9500",JJ="#FF3B30",qJ="#E6EDF3",HJ="#6E7681",$8={TROPHY:{glyph:"\uD83C\uDFC6",color:e6},GOLD:{glyph:"★",color:e6},SILVER:{glyph:"◆",color:zJ},BRONZE:{glyph:"◇",color:XJ},GREEN:{glyph:"●",color:qJ},YELLOW:{glyph:"●",color:QJ},RED:{glyph:"○",color:JJ},WHITE:{glyph:"♡",color:HJ}};function C0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var Z8=["who","what","why","where","when","how"];function U9($){return $.filter(([,Z])=>Z!==void 0&&Z!==null&&String(Z).trim()!=="").map(([Z,U])=>`<div class="row"><div class="k">${C0(Z)}</div><div class="v">${C0(U)}</div></div>`).join(`
|
|
143
|
+
`)}function U8($,Z,U="project.faf"){let z=C0($.project?.name??"Project"),X=Z.tier?.name??"WHITE",Q=$8[X]??$8.WHITE,J=Z.inherited?Z.represents?`inherited from ${C0(Z.represents)}`:"inherited":`${Z.score}%`,q=X==="TROPHY"&&!Z.inherited,H=$.human_context??{},G=Z8.map((V)=>[V,H[V]]),W=Object.entries(H).filter(([V])=>!Z8.includes(V)),Y=[["goal",$.project?.goal],["main_language",$.project?.main_language],["type",$.project?.type],["framework",$.project?.framework],["faf_version",$.faf_version]],B=Object.entries($.stack??{}),O=B.filter(([,V])=>V&&V!=="slotignored"&&String(V).trim()!==""),D=B.filter(([,V])=>V==="slotignored").length;return`<!DOCTYPE html>
|
|
144
144
|
<html lang="en">
|
|
145
145
|
<head>
|
|
146
146
|
<meta charset="UTF-8">
|
|
@@ -185,22 +185,22 @@ footer strong{color:#e6edf3}
|
|
|
185
185
|
<span class="score">${J}</span>
|
|
186
186
|
</header>
|
|
187
187
|
<div class="meter"><span></span></div>
|
|
188
|
-
${q?'<p class="award statline"><span class="awd-pre">✅ All Required slots filled.</span> <span class="awd-win">100% Trophy \uD83C\uDFC6 Awarded</span></p>':`<p class="muted statline">${Z.populated}/${Z.active} slots populated · ${Z.total} total${
|
|
188
|
+
${q?'<p class="award statline"><span class="awd-pre">✅ All Required slots filled.</span> <span class="awd-win">100% Trophy \uD83C\uDFC6 Awarded</span></p>':`<p class="muted statline">${Z.populated}/${Z.active} slots populated · ${Z.total} total${D?` · ${D} slotignored`:""}</p>`}
|
|
189
189
|
|
|
190
190
|
<section>
|
|
191
191
|
<h2>The 6 W's</h2>
|
|
192
|
-
${
|
|
193
|
-
${W.length?
|
|
192
|
+
${U9(G)||'<p class="muted">No human_context yet.</p>'}
|
|
193
|
+
${W.length?U9(W):""}
|
|
194
194
|
</section>
|
|
195
195
|
|
|
196
196
|
<section>
|
|
197
197
|
<h2>Project</h2>
|
|
198
|
-
${
|
|
198
|
+
${U9(Y)||'<p class="muted">—</p>'}
|
|
199
199
|
</section>
|
|
200
200
|
|
|
201
201
|
<section>
|
|
202
202
|
<h2>Stack</h2>
|
|
203
|
-
${
|
|
203
|
+
${O.length?U9(O):'<p class="muted">No active stack slots.</p>'}
|
|
204
204
|
</section>
|
|
205
205
|
|
|
206
206
|
<footer>
|
|
@@ -210,15 +210,16 @@ Rendered on-demand from your current <strong>${C0(U)}</strong><br>
|
|
|
210
210
|
</div>
|
|
211
211
|
</body>
|
|
212
212
|
</html>
|
|
213
|
-
`}function zJ($,Z,U,z="project.faf"){rQ(nQ($,"project.html"),Z8(Z,U,z),"utf-8")}var J8="faf-interview/1",j0="(terse — 3-4 words)",K9=[{path:"project.name",question:"What is the name of this project?",header:"Name",type:"text",required:!0},{path:"project.goal",question:"What does this project do? (one sentence)",header:"Goal",type:"text",required:!0},{path:"human_context.who",question:`Who is this for? ${j0}`,header:"Who",type:"text",required:!0},{path:"human_context.what",question:`What are they building? ${j0}`,header:"What",type:"text",required:!0},{path:"human_context.why",question:`Why does it exist? ${j0}`,header:"Why",type:"text",required:!0},{path:"human_context.where",question:`Where does it run or ship? ${j0}`,header:"Where",type:"text",required:!0},{path:"human_context.when",question:`When — timeline or stage? ${j0}`,header:"When",type:"text",required:!0},{path:"human_context.how",question:`How is it built or used? ${j0}`,header:"How",type:"text",required:!0}],q8=[{path:"project.main_language",question:"What is the primary programming language?",header:"Language",type:"select",required:!0,options:[{label:"TypeScript",value:"TypeScript",description:"JavaScript with types"},{label:"JavaScript",value:"JavaScript",description:"Vanilla JS or Node.js"},{label:"Python",value:"Python",description:"Python 3.x"},{label:"Rust",value:"Rust",description:"Systems programming"},{label:"Go",value:"Go",description:"Golang"},{label:"Other",value:"Other",description:"Specify manually"}]},{path:"stack.frontend",question:"What frontend framework does it use?",header:"Frontend",type:"select",required:!1,options:[{label:"React",value:"React",description:"React.js"},{label:"Vue",value:"Vue",description:"Vue.js"},{label:"Svelte",value:"Svelte",description:"Svelte/SvelteKit"},{label:"Next.js",value:"Next.js",description:"React framework"},{label:"None",value:"None",description:"No frontend"},{label:"Other",value:"Other",description:"Specify manually"}]},{path:"stack.backend",question:"What backend framework does it use?",header:"Backend",type:"select",required:!1,options:[{label:"Express",value:"Express",description:"Node.js Express"},{label:"Fastify",value:"Fastify",description:"Node.js Fastify"},{label:"Django",value:"Django",description:"Python Django"},{label:"FastAPI",value:"FastAPI",description:"Python FastAPI"},{label:"None",value:"None",description:"No backend"},{label:"Other",value:"Other",description:"Specify manually"}]},{path:"stack.database",question:"What database does it use?",header:"Database",type:"select",required:!1,options:[{label:"PostgreSQL",value:"PostgreSQL",description:"Postgres"},{label:"MySQL",value:"MySQL",description:"MySQL/MariaDB"},{label:"SQLite",value:"SQLite",description:"Embedded SQL"},{label:"MongoDB",value:"MongoDB",description:"Document store"},{label:"None",value:"None",description:"No database"},{label:"Other",value:"Other",description:"Specify manually"}]},{path:"stack.runtime",question:"What runtime does it run on?",header:"Runtime",type:"text",required:!1},{path:"stack.hosting",question:"Where is it hosted or distributed?",header:"Hosting",type:"text",required:!1},{path:"stack.build",question:"What is the build tool?",header:"Build",type:"text",required:!1},{path:"stack.cicd",question:"What CI/CD does it use?",header:"CI/CD",type:"text",required:!1}],z2=[...K9,...q8],H8=new Map(z2.map(($)=>[$.path,$])),XJ=Object.fromEntries(z2.map(($)=>[$.path,$]));function QJ($){let Z=H8.get($);if(Z)return Z.question;let U=J2.get($)??f.find((z)=>z.canonical===$);return U?`${U.description}?`.replace(/\?\?$/,"?"):`${$}?`}function JJ($,Z){return z2.filter((U)=>{let z=U.path.split("."),X=$;for(let Q of z)if(X&&typeof X==="object"&&Q in X)X=X[Q];else{X=void 0;break}if(X==="slotignored")return!1;return Z(X)})}var qJ=new Set(["developers","development teams","development team","teams","development","cloud platform","web platform","platform","best practices","improve development efficiency","development efficiency","modern development practices","modern development","test-driven development","production/stable","production","stable","app","project","tool"]),HJ=[["npm",/\bnpm\b/i],["PyPI",/\bpypi\b/i],["crates.io",/\bcrates\.io\b/i],["Homebrew",/\bhomebrew\b/i],["Docker",/\bdocker\b/i],["Cloudflare",/\bcloudflare\b/i],["Vercel",/\bvercel\b/i],["Netlify",/\bnetlify\b/i],["AWS",/\baws\b/i],["Cloud Run",/\bcloud run\b/i],["edge",/\bedge\b/i],["browser",/\bbrowser\b/i],["WASM",/\bwasm\b/i],["GitHub",/\bgithub\b/i],["MCP Registry",/\bmcp registry\b/i],["Chrome Web Store",/\bchrome web store\b/i],["Smithery",/\bsmithery\b/i]],U8=($)=>qJ.has($.toLowerCase().trim()),GJ=/^(?:with|and|or|using|for|to|that|who|whom|whose|the|a|an|in|on|of|via|by|&)$/i;function z8($,Z=5){let U=$.trim().split(/\s+/).filter(Boolean).slice(0,Z);while(U.length&&GJ.test(U[U.length-1].replace(/[.,;:]+$/,"")))U.pop();return U.join(" ")}function G8($){let Z={};if(!$||typeof $!=="string")return Z;let U=$.trim(),z=U.replace(/^[^A-Za-z0-9]+/,"").split(/\s+(?:for|that|which|to)\s+|\s+[—–]\s+|\s-\s|:\s|\.\s|,\s/)[0].trim(),X=z8(z);if(X.split(/\s+/).filter(Boolean).length>=2&&!U8(X))Z.what=X;let Q=HJ.filter(([,H])=>H.test(U)).map(([H])=>H);if(Q.length)Z.where=Q.slice(0,4).join(", ");let J=U.match(/\bfor ((?:[A-Za-z][\w./+-]* )?(?:any |all )?(?:developers?|teams?|engineers?|builders?|users?|integrators?)\b[^.,;:—]*)/i),q=z8((J?.[1]||"").trim().replace(/\s+/g," "));if(q&&!U8(q))Z.who=q;return Z}function X8($,Z){let U=$;for(let z of Z.split("."))if(U&&typeof U==="object"&&z in U)U=U[z];else return;return U}function Q8($){if(typeof $!=="string")return!1;let Z=$.trim();if(!Z||Z==="slotignored")return!1;return!y0(Z)}function YJ($,Z={}){let U=$&&typeof $==="object"?$:{},z=X8(U,"project.goal"),X=(Q8(z)?String(z).trim():"")||(Z.goal??"").trim(),Q=G8(X),J={"project.goal":X||void 0,"human_context.what":Q.what,"human_context.where":Q.where,"human_context.who":Q.who},q=K9.map((Y,B)=>{let L={n:B+1,path:Y.path,header:Y.header,question:Y.question},O=X8(U,Y.path);if(Q8(O))return{...L,value:String(O).trim(),status:"filled",seeded:!1};let V=J[Y.path];if(V)return{...L,value:V,status:"seeded",seeded:!0};return{...L,value:"",status:"empty",seeded:!1}}),H=q.filter((Y)=>Y.status==="filled").length,G=q.filter((Y)=>Y.status==="seeded").length,W=q.filter((Y)=>Y.status==="empty").length;return{version:J8,rows:q,filledCount:H,seededCount:G,emptyCount:W,complete:W===0}}import{createHash as B8}from"crypto";var A9="faf-bench/1",BJ={"project.name":"What is the project's name?","project.goal":"What is the project's goal — what is it for?","project.main_language":"What is the primary programming language?","human_context.who":"Who is this project for?","human_context.what":"What are they building?","human_context.why":"Why does this project exist?","human_context.where":"Where does it run or get distributed?","human_context.when":"When — what is the project's timeline or stage?","human_context.how":"How is it built or used?"};function VJ($,Z){return BJ[$]??`What is the project's ${Z.replace(/\s*\(.*\)$/,"").toLowerCase()}?`}var V8=[["typescript","ts"],["javascript","js"],["python","py","python3"],["node","nodejs","node js","node.js"],["github actions","gh actions","actions"],["postgresql","postgres","pg"],["kubernetes","k8s"],["npm","npm registry"],["cloudflare workers","cf workers","workers"],["google cloud run","cloud run","gcp cloud run"]],G$=new Map;V8.forEach(($,Z)=>$.forEach((U)=>G$.set(U,Z)));var WJ=new Set(["a","an","the","and","or","of","for","to","in","on","with","is","it","its","their","your","via","by","using","use","used"]);function X2($){return $.toLowerCase().replace(/[^a-z0-9\s.+#-]/g," ").replace(/\.(?=\s|$)/g," ").replace(/\s+/g," ").trim()}function Y8($){return X2($).split(" ").filter((Z)=>Z&&!WJ.has(Z))}function W8($,Z){let U=X2($),z=X2(Z);if(!U||!z)return!1;if(U===z)return!0;let X=G$.get(U);if(X!==void 0&&G$.get(z)===X)return!0;let Q=Y8($);if(Q.length===0)return!1;let J=new Set(Y8(Z));return Q.every((q)=>{if(J.has(q))return!0;let H=G$.get(q);return H!==void 0&&[...J].some((G)=>G$.get(G)===H)})}function DJ($){let Z=V2($),U=H$($),z=[],X={},Q=0;for(let H of f){if(Z.slots[H.path]!=="populated")continue;let G=x9(U,H);if(typeof G!=="string")continue;let W=G.trim();if(!W||V$.has(W.toLowerCase()))continue;Q+=1,z.push({n:Q,path:H.path,question:VJ(H.path,H.description)}),X[Q]=W}let J=JSON.stringify({v:A9,q:z.map((H)=>[H.path,H.question])}),q=B8("sha256").update(J).digest("hex").slice(0,12);return{version:A9,qsetHash:q,questions:z,answers:X}}function LJ($){return{version:$.version,qsetHash:$.qsetHash,questions:$.questions}}function OJ($,Z){let U=$.questions.map((X)=>{let Q=Z[String(X.n)]??Z[X.path]??"";return{n:X.n,path:X.path,ok:typeof Q==="string"&&Q.trim()!==""&&W8($.answers[X.n],Q)}}),z=$.questions.filter((X)=>!U[X.n-1].ok);return{correct:U.filter((X)=>X.ok).length,total:$.questions.length,misses:z,perQuestion:U}}function _J($,Z){let U=JSON.stringify({v:$.version,repo:Z??null,qset:$.qsetHash,protocol:$.protocol,cold:$.cold??null,faf:$.faf??null});return{projection:U,hash:B8("sha256").update(U).digest("hex")}}import{existsSync as IJ,readdirSync as D8,readFileSync as RJ}from"fs";import{join as w9,dirname as MJ,extname as TJ,resolve as PJ}from"path";var N9={"package.json":{frameworks:["Node.js","JavaScript","TypeScript"],slots:{packageManager:"npm/yarn/pnpm",mainLanguage:"JavaScript/TypeScript"},priority:35,intelligence:"ultra-high"},"README.md":{frameworks:[],slots:{targetUser:"developers",coreProblem:"understanding project",missionPurpose:"project documentation"},priority:25,intelligence:"high"},"requirements.txt":{frameworks:["Python"],slots:{packageManager:"pip",mainLanguage:"Python"},priority:35,intelligence:"ultra-high"},Pipfile:{frameworks:["Python"],slots:{packageManager:"pipenv",mainLanguage:"Python"},priority:35,intelligence:"ultra-high"},"pyproject.toml":{frameworks:["Python"],slots:{mainLanguage:"Python",runtime:"Python",backend:"Python"},priority:36,intelligence:"ultra-high"},Gemfile:{frameworks:["Ruby","Rails"],slots:{packageManager:"bundler",mainLanguage:"Ruby"},priority:35,intelligence:"ultra-high"},"composer.json":{frameworks:["PHP","Laravel","Symfony"],slots:{packageManager:"composer",mainLanguage:"PHP"},priority:35,intelligence:"ultra-high"},"Cargo.toml":{frameworks:["Rust"],slots:{packageManager:"cargo",mainLanguage:"Rust",buildTool:"cargo"},priority:36,intelligence:"ultra-high"},"go.mod":{frameworks:["Go"],slots:{packageManager:"go modules",mainLanguage:"Go",buildTool:"go build"},priority:36,intelligence:"ultra-high"},"pubspec.yaml":{frameworks:["Flutter","Dart"],slots:{packageManager:"pub",mainLanguage:"Dart",framework:"Flutter"},priority:35,intelligence:"ultra-high"},"pom.xml":{frameworks:["Java","Spring","Maven"],slots:{packageManager:"maven",mainLanguage:"Java",buildTool:"maven"},priority:35,intelligence:"ultra-high"},"build.gradle":{frameworks:["Java","Kotlin","Spring","Gradle"],slots:{packageManager:"gradle",mainLanguage:"Java/Kotlin",buildTool:"gradle"},priority:35,intelligence:"ultra-high"},"next.config.js":{frameworks:["Next.js"],slots:{framework:"Next.js",runtime:"Node.js",buildTool:"Next.js",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"next.config.mjs":{frameworks:["Next.js"],slots:{framework:"Next.js",runtime:"Node.js",buildTool:"Next.js",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"next.config.ts":{frameworks:["Next.js 13+"],slots:{framework:"Next.js 13+",runtime:"Node.js",buildTool:"Next.js",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"nuxt.config.js":{frameworks:["Nuxt 2"],slots:{framework:"Nuxt 2",runtime:"Node.js",buildTool:"Nuxt",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"nuxt.config.ts":{frameworks:["Nuxt 3"],slots:{framework:"Nuxt 3",runtime:"Node.js",buildTool:"Nuxt",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"svelte.config.js":{frameworks:["SvelteKit"],slots:{framework:"SvelteKit",buildTool:"Vite",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"angular.json":{frameworks:["Angular"],slots:{framework:"Angular",buildTool:"Angular CLI",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"manifest.json":{frameworks:["Chrome Extension","Browser Extension"],slots:{framework:"Chrome Extension",runtime:"Chrome/Browser",mainLanguage:"JavaScript",hosting:"Chrome Web Store",apiType:"Chrome APIs"},priority:35,intelligence:"ultra-high",confirmWith:["popup.html","background.js","content.js"]},"vue.config.js":{frameworks:["Vue"],slots:{framework:"Vue",buildTool:"Vue CLI",mainLanguage:"JavaScript"},priority:30,intelligence:"high"},"remix.config.js":{frameworks:["Remix"],slots:{framework:"Remix",runtime:"Node.js",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"gatsby-config.js":{frameworks:["Gatsby"],slots:{framework:"Gatsby",buildTool:"Gatsby",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"gatsby-config.ts":{frameworks:["Gatsby"],slots:{framework:"Gatsby",buildTool:"Gatsby",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"astro.config.mjs":{frameworks:["Astro"],slots:{framework:"Astro",buildTool:"Vite",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"redwood.toml":{frameworks:["RedwoodJS"],slots:{framework:"RedwoodJS",buildTool:"Webpack",mainLanguage:"JavaScript/TypeScript",server:"Node.js",database:"Prisma"},priority:30,intelligence:"high"},"blitz.config.ts":{frameworks:["Blitz.js"],slots:{framework:"Blitz.js",buildTool:"Next.js",mainLanguage:"TypeScript",server:"Node.js",database:"Prisma"},priority:30,intelligence:"high"},"qwik.config.ts":{frameworks:["Qwik"],slots:{framework:"Qwik",buildTool:"Vite",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"manage.py":{frameworks:["Django"],slots:{framework:"Django",backend:"Django",mainLanguage:"Python",server:"Django",apiType:"Django Views"},priority:30,intelligence:"high"},artisan:{frameworks:["Laravel"],slots:{framework:"Laravel",backend:"Laravel",mainLanguage:"PHP",server:"PHP",apiType:"Laravel Routes"},priority:30,intelligence:"high"},"mix.exs":{frameworks:["Phoenix","Elixir"],slots:{framework:"Phoenix",backend:"Phoenix",mainLanguage:"Elixir",server:"BEAM"},priority:30,intelligence:"high"},"nest-cli.json":{frameworks:["NestJS"],slots:{framework:"NestJS",backend:"NestJS",mainLanguage:"TypeScript",server:"Node.js",apiType:"REST API"},priority:30,intelligence:"high"},"strapi.config.js":{frameworks:["Strapi"],slots:{backend:"Strapi",apiType:"REST API",database:"Required",server:"Node.js"},priority:30,intelligence:"high"},Dockerfile:{frameworks:["Docker"],slots:{hosting:"Docker",connection:"Containerized"},priority:30,intelligence:"high"},"docker-compose.yml":{frameworks:["Docker Compose"],slots:{hosting:"Docker",connection:"Multi-container"},priority:30,intelligence:"high"},"docker-compose.yaml":{frameworks:["Docker Compose"],slots:{hosting:"Docker",connection:"Multi-container"},priority:30,intelligence:"high"},"kubernetes.yml":{frameworks:["Kubernetes"],slots:{hosting:"Kubernetes",connection:"Orchestrated"},priority:30,intelligence:"high"},"k8s.yaml":{frameworks:["Kubernetes"],slots:{hosting:"Kubernetes",connection:"Orchestrated"},priority:30,intelligence:"high"},"vercel.json":{frameworks:["Vercel"],slots:{hosting:"Vercel",cicd:"Vercel"},priority:30,intelligence:"high"},"netlify.toml":{frameworks:["Netlify"],slots:{hosting:"Netlify",cicd:"Netlify"},priority:30,intelligence:"high"},"render.yaml":{frameworks:["Render"],slots:{hosting:"Render",cicd:"Render"},priority:30,intelligence:"high"},"fly.toml":{frameworks:["Fly.io"],slots:{hosting:"Fly.io",cicd:"Fly.io"},priority:30,intelligence:"high"},"railway.json":{frameworks:["Railway"],slots:{hosting:"Railway",cicd:"Railway"},priority:30,intelligence:"high"},"railway.toml":{frameworks:["Railway"],slots:{hosting:"Railway",cicd:"Railway"},priority:30,intelligence:"high"},"app.yaml":{frameworks:["Google App Engine"],slots:{hosting:"Google Cloud",cicd:"Google Cloud"},priority:30,intelligence:"high"},Procfile:{frameworks:["Heroku"],slots:{hosting:"Heroku",cicd:"Heroku"},priority:30,intelligence:"high"},"vite.config.js":{frameworks:["Vite"],slots:{buildTool:"Vite"},priority:25,intelligence:"medium"},"vite.config.ts":{frameworks:["Vite"],slots:{buildTool:"Vite",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"webpack.config.js":{frameworks:["Webpack"],slots:{buildTool:"Webpack"},priority:25,intelligence:"medium"},"rollup.config.js":{frameworks:["Rollup"],slots:{buildTool:"Rollup"},priority:25,intelligence:"medium"},"esbuild.config.js":{frameworks:["esbuild"],slots:{buildTool:"esbuild"},priority:25,intelligence:"medium"},"parcel.config.js":{frameworks:["Parcel"],slots:{buildTool:"Parcel"},priority:25,intelligence:"medium"},"snowpack.config.js":{frameworks:["Snowpack"],slots:{buildTool:"Snowpack"},priority:25,intelligence:"medium"},"tsconfig.json":{frameworks:["TypeScript"],slots:{mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"jsconfig.json":{frameworks:["JavaScript"],slots:{mainLanguage:"JavaScript"},priority:20,intelligence:"medium"},"babel.config.js":{frameworks:["Babel"],slots:{buildTool:"Babel"},priority:20,intelligence:"medium"},".babelrc":{frameworks:["Babel"],slots:{buildTool:"Babel"},priority:20,intelligence:"medium"},"jest.config.js":{frameworks:["Jest"],slots:{cicd:"Jest"},priority:25,intelligence:"medium"},"jest.config.ts":{frameworks:["Jest"],slots:{cicd:"Jest",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"vitest.config.ts":{frameworks:["Vitest"],slots:{cicd:"Vitest",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"cypress.config.js":{frameworks:["Cypress"],slots:{cicd:"Cypress"},priority:25,intelligence:"medium"},"playwright.config.ts":{frameworks:["Playwright"],slots:{cicd:"Playwright",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"karma.conf.js":{frameworks:["Karma"],slots:{cicd:"Karma"},priority:20,intelligence:"medium"},"mocha.opts":{frameworks:["Mocha"],slots:{cicd:"Mocha"},priority:20,intelligence:"medium"},".rspec":{frameworks:["RSpec"],slots:{cicd:"RSpec",mainLanguage:"Ruby"},priority:25,intelligence:"medium"},"pytest.ini":{frameworks:["Pytest"],slots:{cicd:"Pytest",mainLanguage:"Python"},priority:25,intelligence:"medium"},"phpunit.xml":{frameworks:["PHPUnit"],slots:{cicd:"PHPUnit",mainLanguage:"PHP"},priority:25,intelligence:"medium"},"schema.prisma":{frameworks:["Prisma"],slots:{database:"Prisma ORM",connection:"Prisma"},priority:25,intelligence:"medium"},"drizzle.config.ts":{frameworks:["Drizzle"],slots:{database:"Drizzle ORM",connection:"Drizzle",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"ormconfig.js":{frameworks:["TypeORM"],slots:{database:"TypeORM",connection:"TypeORM"},priority:25,intelligence:"medium"},"knexfile.js":{frameworks:["Knex.js"],slots:{database:"Knex.js",connection:"Knex.js"},priority:25,intelligence:"medium"},"sequelize.config.js":{frameworks:["Sequelize"],slots:{database:"Sequelize",connection:"Sequelize"},priority:25,intelligence:"medium"},"alembic.ini":{frameworks:["Alembic"],slots:{database:"Alembic",mainLanguage:"Python"},priority:25,intelligence:"medium"},".github/workflows":{frameworks:["GitHub Actions"],slots:{cicd:"GitHub Actions"},priority:25,intelligence:"medium"},".gitlab-ci.yml":{frameworks:["GitLab CI"],slots:{cicd:"GitLab CI"},priority:25,intelligence:"medium"},Jenkinsfile:{frameworks:["Jenkins"],slots:{cicd:"Jenkins"},priority:25,intelligence:"medium"},".circleci/config.yml":{frameworks:["CircleCI"],slots:{cicd:"CircleCI"},priority:25,intelligence:"medium"},".travis.yml":{frameworks:["Travis CI"],slots:{cicd:"Travis CI"},priority:25,intelligence:"medium"},"azure-pipelines.yml":{frameworks:["Azure DevOps"],slots:{cicd:"Azure DevOps"},priority:25,intelligence:"medium"},"bitbucket-pipelines.yml":{frameworks:["Bitbucket Pipelines"],slots:{cicd:"Bitbucket Pipelines"},priority:25,intelligence:"medium"},"tailwind.config.js":{frameworks:["Tailwind CSS"],slots:{cssFramework:"Tailwind CSS"},priority:20,intelligence:"medium"},"tailwind.config.ts":{frameworks:["Tailwind CSS"],slots:{cssFramework:"Tailwind CSS",mainLanguage:"TypeScript"},priority:20,intelligence:"medium"},"postcss.config.js":{frameworks:["PostCSS"],slots:{cssFramework:"PostCSS"},priority:20,intelligence:"medium"},"uno.config.ts":{frameworks:["UnoCSS"],slots:{cssFramework:"UnoCSS",mainLanguage:"TypeScript"},priority:20,intelligence:"medium"},"styled-components.config.js":{frameworks:["styled-components"],slots:{cssFramework:"styled-components",uiLibrary:"styled-components"},priority:20,intelligence:"medium"},"emotion.config.js":{frameworks:["Emotion"],slots:{cssFramework:"Emotion",uiLibrary:"Emotion"},priority:20,intelligence:"medium"},"metro.config.js":{frameworks:["React Native"],slots:{framework:"React Native",mainLanguage:"JavaScript"},priority:25,intelligence:"medium"},"expo.config.js":{frameworks:["Expo"],slots:{framework:"React Native",buildTool:"Expo"},priority:25,intelligence:"medium"},"app.json":{frameworks:["React Native","Expo"],slots:{framework:"React Native"},priority:20,intelligence:"medium",confirmWith:["expo"]},"capacitor.config.ts":{frameworks:["Capacitor"],slots:{framework:"Capacitor",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"ionic.config.json":{frameworks:["Ionic"],slots:{framework:"Ionic",uiLibrary:"Ionic"},priority:25,intelligence:"medium"},"nx.json":{frameworks:["Nx"],slots:{buildTool:"Nx"},priority:25,intelligence:"medium"},"turbo.json":{frameworks:["Turborepo"],slots:{buildTool:"Turborepo"},priority:25,intelligence:"medium"},"lerna.json":{frameworks:["Lerna"],slots:{buildTool:"Lerna"},priority:25,intelligence:"medium"},"rush.json":{frameworks:["Rush"],slots:{buildTool:"Rush"},priority:25,intelligence:"medium"},"pnpm-workspace.yaml":{frameworks:["pnpm workspaces"],slots:{packageManager:"pnpm",buildTool:"pnpm workspaces"},priority:25,intelligence:"medium"},"*.svelte":{frameworks:["Svelte","SvelteKit"],slots:{framework:"Svelte"},priority:15,intelligence:"low"},"*.vue":{frameworks:["Vue"],slots:{framework:"Vue"},priority:15,intelligence:"low"},"*.jsx":{frameworks:["React"],slots:{framework:"React",mainLanguage:"JavaScript"},priority:15,intelligence:"low"},"*.ts":{frameworks:["TypeScript"],slots:{mainLanguage:"TypeScript"},priority:15,intelligence:"low"},"*.tsx":{frameworks:["React","TypeScript"],slots:{framework:"React",mainLanguage:"TypeScript"},priority:15,intelligence:"low"},"*.py":{frameworks:["Python"],slots:{mainLanguage:"Python"},priority:15,intelligence:"low"},"*.rb":{frameworks:["Ruby"],slots:{mainLanguage:"Ruby"},priority:15,intelligence:"low"},"*.php":{frameworks:["PHP"],slots:{mainLanguage:"PHP"},priority:15,intelligence:"low"},"*.java":{frameworks:["Java"],slots:{mainLanguage:"Java"},priority:15,intelligence:"low"},"*.kt":{frameworks:["Kotlin"],slots:{mainLanguage:"Kotlin"},priority:15,intelligence:"low"},"*.swift":{frameworks:["Swift"],slots:{mainLanguage:"Swift"},priority:15,intelligence:"low"},"*.go":{frameworks:["Go"],slots:{mainLanguage:"Go"},priority:15,intelligence:"low"},"*.rs":{frameworks:["Rust"],slots:{mainLanguage:"Rust"},priority:15,intelligence:"low"},"*.dart":{frameworks:["Flutter","Dart"],slots:{mainLanguage:"Dart"},priority:15,intelligence:"low"},"*.ex":{frameworks:["Elixir"],slots:{mainLanguage:"Elixir"},priority:15,intelligence:"low"},"*.exs":{frameworks:["Elixir"],slots:{mainLanguage:"Elixir"},priority:15,intelligence:"low"},"*.scala":{frameworks:["Scala"],slots:{mainLanguage:"Scala"},priority:15,intelligence:"low"},"*.clj":{frameworks:["Clojure"],slots:{mainLanguage:"Clojure"},priority:15,intelligence:"low"},"*.lua":{frameworks:["Lua"],slots:{mainLanguage:"Lua"},priority:15,intelligence:"low"},"*.r":{frameworks:["R"],slots:{mainLanguage:"R"},priority:15,intelligence:"low"},"*.R":{frameworks:["R"],slots:{mainLanguage:"R"},priority:15,intelligence:"low"},"*.jl":{frameworks:["Julia"],slots:{mainLanguage:"Julia"},priority:15,intelligence:"low"},"*.nim":{frameworks:["Nim"],slots:{mainLanguage:"Nim"},priority:15,intelligence:"low"},"*.zig":{frameworks:["Zig"],slots:{mainLanguage:"Zig"},priority:15,intelligence:"low"},"build.zig":{frameworks:["Zig"],slots:{packageManager:"Zig Package Manager",mainLanguage:"Zig",buildTool:"zig build",framework:"Zig",build:"zig build"},priority:35,intelligence:"ultra-high"},"openapi.json":{frameworks:["OpenAPI"],slots:{apiType:"REST API",backend:"API Server"},priority:30,intelligence:"high"},"openapi.yaml":{frameworks:["OpenAPI"],slots:{apiType:"REST API",backend:"API Server"},priority:30,intelligence:"high"},"swagger.json":{frameworks:["Swagger"],slots:{apiType:"REST API",backend:"API Server"},priority:30,intelligence:"high"},"graphql.schema":{frameworks:["GraphQL"],slots:{apiType:"GraphQL",backend:"GraphQL Server"},priority:30,intelligence:"high"},"schema.graphql":{frameworks:["GraphQL"],slots:{apiType:"GraphQL",backend:"GraphQL Server"},priority:30,intelligence:"high"},".graphqlconfig":{frameworks:["GraphQL"],slots:{apiType:"GraphQL"},priority:25,intelligence:"medium"},"redux.config.js":{frameworks:["Redux"],slots:{stateManagement:"Redux"},priority:20,intelligence:"medium"},"mobx.config.js":{frameworks:["MobX"],slots:{stateManagement:"MobX"},priority:20,intelligence:"medium"},"vuex.config.js":{frameworks:["Vuex"],slots:{stateManagement:"Vuex",framework:"Vue"},priority:20,intelligence:"medium"},"pinia.config.js":{frameworks:["Pinia"],slots:{stateManagement:"Pinia",framework:"Vue"},priority:20,intelligence:"medium"},"zustand.config.js":{frameworks:["Zustand"],slots:{stateManagement:"Zustand"},priority:20,intelligence:"medium"},".eslintrc.js":{frameworks:["ESLint"],slots:{},priority:15,intelligence:"low"},".eslintrc.json":{frameworks:["ESLint"],slots:{},priority:15,intelligence:"low"},".prettierrc":{frameworks:["Prettier"],slots:{},priority:15,intelligence:"low"},".prettierrc.json":{frameworks:["Prettier"],slots:{},priority:15,intelligence:"low"},"biome.json":{frameworks:["Biome"],slots:{},priority:15,intelligence:"low"},".editorconfig":{frameworks:["EditorConfig"],slots:{},priority:10,intelligence:"low"},"serverless.yml":{frameworks:["Serverless Framework"],slots:{hosting:"AWS Lambda/Azure/GCP",backend:"Serverless",apiType:"API Gateway"},priority:30,intelligence:"high"},"serverless.yaml":{frameworks:["Serverless Framework"],slots:{hosting:"AWS Lambda/Azure/GCP",backend:"Serverless",apiType:"API Gateway"},priority:30,intelligence:"high"},"sam.yaml":{frameworks:["AWS SAM"],slots:{hosting:"AWS Lambda",backend:"AWS SAM",cicd:"AWS SAM CLI"},priority:30,intelligence:"high"},"template.yaml":{frameworks:["AWS SAM","CloudFormation"],slots:{hosting:"AWS",backend:"AWS SAM/CloudFormation",cicd:"AWS"},priority:25,intelligence:"medium",confirmWith:["samconfig.toml"]},"amplify.yml":{frameworks:["AWS Amplify"],slots:{hosting:"AWS Amplify",backend:"AWS Amplify",cicd:"AWS Amplify"},priority:30,intelligence:"high"},Podfile:{frameworks:["CocoaPods","iOS"],slots:{packageManager:"CocoaPods",mainLanguage:"Swift/Objective-C",framework:"iOS Native"},priority:30,intelligence:"high"},"build.gradle.kts":{frameworks:["Gradle Kotlin DSL","Android","Kotlin"],slots:{packageManager:"Gradle",mainLanguage:"Kotlin",buildTool:"Gradle Kotlin DSL",framework:"Android"},priority:30,intelligence:"high"},"*.ipynb":{frameworks:["Jupyter","Python"],slots:{mainLanguage:"Python",framework:"Jupyter Notebook"},priority:30,intelligence:"high"},MLproject:{frameworks:["MLflow"],slots:{mainLanguage:"Python",framework:"MLflow",backend:"MLflow",cicd:"MLflow"},priority:30,intelligence:"high"},"dvc.yaml":{frameworks:["DVC","Data Version Control"],slots:{mainLanguage:"Python",framework:"DVC",cicd:"DVC Pipelines"},priority:30,intelligence:"high"},"dvc.lock":{frameworks:["DVC"],slots:{framework:"DVC"},priority:20,intelligence:"medium"},"wrangler.toml":{frameworks:["Cloudflare Workers","Cloudflare"],slots:{hosting:"Cloudflare Workers",backend:"Cloudflare Workers",runtime:"V8 Isolates"},priority:30,intelligence:"high"},"deno.json":{frameworks:["Deno"],slots:{runtime:"Deno",mainLanguage:"TypeScript",packageManager:"Deno"},priority:30,intelligence:"high"},"bun.lockb":{frameworks:["Bun"],slots:{runtime:"Bun",packageManager:"Bun",mainLanguage:"TypeScript/JavaScript"},priority:30,intelligence:"high"},"codecov.yml":{frameworks:["Codecov"],slots:{cicd:"Codecov"},priority:25,intelligence:"high"},"dependabot.yml":{frameworks:["Dependabot","GitHub"],slots:{cicd:"Dependabot"},priority:25,intelligence:"high"},"renovate.json":{frameworks:["Renovate"],slots:{cicd:"Renovate"},priority:25,intelligence:"high"},Makefile:{frameworks:["Make","GNU Make"],slots:{buildTool:"Make"},priority:30,intelligence:"high"},"CMakeLists.txt":{frameworks:["CMake","C","C++"],slots:{buildTool:"CMake",mainLanguage:"C/C++"},priority:30,intelligence:"high"},"meson.build":{frameworks:["Meson","C","C++"],slots:{buildTool:"Meson",mainLanguage:"C/C++"},priority:30,intelligence:"high"},"*.c":{frameworks:["C"],slots:{mainLanguage:"C"},priority:30,intelligence:"high"},"*.cpp":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:30,intelligence:"high"},"*.cc":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:30,intelligence:"high"},"*.cxx":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:25,intelligence:"high"},"*.h":{frameworks:["C","C++"],slots:{mainLanguage:"C/C++"},priority:25,intelligence:"high"},"*.hpp":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:25,intelligence:"high"},"*.hxx":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:20,intelligence:"medium"},".env":{frameworks:[],slots:{},priority:20,intelligence:"medium"},".env.example":{frameworks:[],slots:{},priority:25,intelligence:"high"},".env.local":{frameworks:[],slots:{},priority:20,intelligence:"medium"},".env.development":{frameworks:[],slots:{},priority:20,intelligence:"medium"},".env.production":{frameworks:[],slots:{},priority:20,intelligence:"medium"},"skaffold.yaml":{frameworks:["Skaffold","Kubernetes"],slots:{hosting:"Kubernetes",cicd:"Skaffold"},priority:30,intelligence:"high"},"Chart.yaml":{frameworks:["Helm","Kubernetes"],slots:{hosting:"Kubernetes",backend:"Helm"},priority:30,intelligence:"high"},"values.yaml":{frameworks:["Helm","Kubernetes"],slots:{hosting:"Kubernetes"},priority:25,intelligence:"high",confirmWith:["Chart.yaml"]},"pulumi.yaml":{frameworks:["Pulumi"],slots:{hosting:"Cloud",cicd:"Pulumi"},priority:30,intelligence:"high"},"Pulumi.yaml":{frameworks:["Pulumi"],slots:{hosting:"Cloud",cicd:"Pulumi"},priority:30,intelligence:"high"},"terragrunt.hcl":{frameworks:["Terragrunt","Terraform"],slots:{hosting:"Cloud",cicd:"Terragrunt"},priority:30,intelligence:"high"},"ansible.yml":{frameworks:["Ansible"],slots:{cicd:"Ansible"},priority:30,intelligence:"high"},"playbook.yml":{frameworks:["Ansible"],slots:{cicd:"Ansible"},priority:25,intelligence:"high"},"*.cs":{frameworks:["C#",".NET","Unity"],slots:{mainLanguage:"C#"},priority:30,intelligence:"high"},"*.m":{frameworks:["Objective-C","iOS"],slots:{mainLanguage:"Objective-C"},priority:25,intelligence:"high"},".nvmrc":{frameworks:["Node.js","nvm"],slots:{runtime:"Node.js"},priority:25,intelligence:"high"},".tool-versions":{frameworks:["asdf"],slots:{},priority:25,intelligence:"high"},".ruby-version":{frameworks:["Ruby","rbenv"],slots:{mainLanguage:"Ruby",runtime:"Ruby"},priority:25,intelligence:"high"},".python-version":{frameworks:["Python","pyenv"],slots:{mainLanguage:"Python",runtime:"Python"},priority:25,intelligence:"high"},".dockerignore":{frameworks:["Docker"],slots:{},priority:20,intelligence:"medium"},".gitattributes":{frameworks:["Git"],slots:{},priority:15,intelligence:"low"},".npmrc":{frameworks:["npm","Node.js"],slots:{packageManager:"npm"},priority:20,intelligence:"medium"},"sonar-project.properties":{frameworks:["SonarQube","SonarCloud"],slots:{cicd:"SonarQube"},priority:25,intelligence:"high"},"*.fs":{frameworks:["F#",".NET"],slots:{mainLanguage:"F#"},priority:25,intelligence:"high"},"*.mm":{frameworks:["Objective-C++","iOS","macOS"],slots:{mainLanguage:"Objective-C++"},priority:25,intelligence:"high"},"build.zig.zon":{frameworks:["Zig"],slots:{mainLanguage:"Zig",packageManager:"Zig Package Manager",buildTool:"zig build"},priority:35,intelligence:"ultra-high"},"gleam.toml":{frameworks:["Gleam","BEAM","Erlang"],slots:{mainLanguage:"Gleam",runtime:"BEAM",packageManager:"Gleam"},priority:30,intelligence:"high"},"bunfig.toml":{frameworks:["Bun"],slots:{runtime:"Bun",packageManager:"Bun",buildTool:"Bun"},priority:30,intelligence:"high"},"mise.toml":{frameworks:["mise"],slots:{},priority:25,intelligence:"high"},".mise.toml":{frameworks:["mise"],slots:{},priority:25,intelligence:"high"},"manifest.toml":{frameworks:["Flox","Nix"],slots:{},priority:25,intelligence:"high",confirmWith:[".flox"]},justfile:{frameworks:["Just"],slots:{buildTool:"Just"},priority:25,intelligence:"high"},".pre-commit-config.yaml":{frameworks:["pre-commit"],slots:{cicd:"pre-commit"},priority:25,intelligence:"high"},"CLAUDE.md":{frameworks:["Claude Code"],slots:{},priority:30,intelligence:"high",confirmWith:[".claude"]}};var FJ=new Set(["node_modules",".git","dist","build","venv",".venv","__pycache__","target","coverage",".next",".svelte-kit","vendor"]),KJ=new Set([".py",".ts",".tsx",".js",".jsx",".svelte",".vue",".rb",".go",".rs",".php",".java",".kt",".swift"]),AJ={mainLanguage:["project","main_language"],main_language:["project","main_language"],framework:["stack","frontend"],cssFramework:["stack","css_framework"],css:["stack","css_framework"],uiLibrary:["stack","ui_library"],ui_library:["stack","ui_library"],stateManagement:["stack","state_management"],state:["stack","state_management"],backend:["stack","backend"],apiType:["stack","api_type"],api:["stack","api_type"],runtime:["stack","runtime"],database:["stack","database"],db:["stack","database"],connection:["stack","connection"],hosting:["stack","hosting"],buildTool:["stack","build"],build_tool:["stack","build"],build:["stack","build"],packageManager:["stack","package_manager"],pkg_manager:["stack","package_manager"],cicd:["stack","cicd"]},NJ=[["packageManager","package-manager"],["pkg_manager","package-manager"],["mainLanguage","language"],["main_language","language"],["framework","framework"],["backend","backend"],["database","database"],["db","database"],["cicd","ci-cd"],["hosting","hosting"],["buildTool","build"],["build_tool","build"],["build","build"],["runtime","runtime"],["cssFramework","css"],["css","css"],["uiLibrary","ui-library"],["stateManagement","state-management"],["apiType","api"],["api","api"]];function wJ($,Z){for(let[U,z]of NJ)if(U in $)return z;return Z.length>0?"framework":"config"}function bJ($){try{let Z=JSON.parse(RJ($,"utf-8")),U=["background","content_scripts","action","browser_action","permissions"].some((z)=>(z in Z));if(typeof Z.manifest_version==="number"&&U)return"chrome";return"other"}catch{return"other"}}function CJ($){let Z=[],U=PJ($),z=IJ(w9($,".git"));for(let X=0;X<10;X++){let Q;try{Q=D8(U)}catch{break}for(let q of Q){let H=N9[q];if(!H)continue;if(q==="manifest.json"&&bJ(w9(U,q))!=="chrome")continue;Z.push({slots:H.slots||{},priority:H.priority,frameworks:H.frameworks,fileName:q})}if(z&&X===0)break;let J=MJ(U);if(J===U)break;U=J}return Z}function jJ($){let Z=[];for(let U of O8($,2,{count:0})){let z=N9[`*${U}`],X=z?.slots?.mainLanguage;if(X)Z.push({slots:{mainLanguage:X},priority:z.priority,frameworks:z.frameworks})}return Z}function L8($){let Z=[...CJ($),...jJ($)],U={},z={},X=new Set;for(let G of Z){G.frameworks.forEach((W)=>X.add(W));for(let[W,Y]of Object.entries(G.slots))if(Y&&!Y.includes("/")&&(!(W in U)||G.priority>z[W]))U[W]=Y,z[W]=G.priority}let Q=new Map;for(let G of Z){if(!G.fileName)continue;if(!Q.has(G.fileName))Q.set(G.fileName,{fileName:G.fileName,category:wJ(G.slots,G.frameworks),priority:G.priority})}let J=[...Q.values()].sort((G,W)=>W.priority-G.priority||G.fileName.localeCompare(W.fileName)),q=[];if(U.mainLanguage)q.push(U.mainLanguage.toLowerCase());if(U.framework)q.push(U.framework.toLowerCase());let H=q.length>0?q.join("-"):"unknown-stack";return{slotFills:U,frameworks:[...X],confirmedCount:Z.length,discoveredFormats:J,stackSignature:H}}function b9($){let{slotFills:Z}=L8($),U={};for(let[z,X]of Object.entries(Z)){let Q=AJ[z];if(!Q||!X)continue;let[J,q]=Q;if(J==="project")(U.project??={})[q]=X;else(U.stack??={})[q]=X}return U}function O8($,Z,U){let z=new Set;if(Z<0||U.count>400)return z;let X;try{X=D8($,{withFileTypes:!0})}catch{return z}for(let Q of X){if(U.count++>400)break;if(!Q.isDirectory()){let J=TJ(Q.name);if(KJ.has(J))z.add(J);continue}if(FJ.has(Q.name)||Q.name.startsWith("."))continue;for(let J of O8(w9($,Q.name),Z-1,U))z.add(J)}return z}import{existsSync as _8,readFileSync as I8}from"fs";import{join as R8}from"path";function C9($){let Z=SJ($),U=EJ($),z={},X=(Q,J)=>{if(J)z[Q]=J};return X("what",gJ(Z,U)),X("who",yJ(U)),X("why",fJ(U)),X("where",xJ(Z,U)),X("when",hJ(U)),X("how",uJ(Z,U)),z}function SJ($){let Z=R8($,"package.json");if(!_8(Z))return null;try{return JSON.parse(I8(Z,"utf-8"))}catch{return null}}function EJ($){let Z=R8($,"README.md");if(!_8(Z))return"";let U;try{U=I8(Z,"utf-8")}catch{return""}return U.split(`
|
|
213
|
+
`}function GJ($,Z,U,z="project.faf"){ZJ(UJ($,"project.html"),U8(Z,U,z),"utf-8")}import{writeFileSync as YJ}from"fs";import{join as BJ}from"path";var z8="application/vnd.faf+yaml",VJ="https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",WJ=/^[a-zA-Z0-9.-]+\/[a-zA-Z0-9._-]+$/;function Q8($){let Z=String($.project?.name??"project").trim();if(Z.includes("/")&&WJ.test(Z))return Z;let U=$.project?.homepage??$.project?.website??$.project?.url,z="local";if(U)try{z=new URL(U).hostname.replace(/^www\./,"").split(".").reverse().join(".")}catch{}let X=Z.replace(/[^a-zA-Z0-9._-]/g,"-").replace(/^-+|-+$/g,"")||"project";return`${z}/${X}`}function LJ($){let Z=String($.project?.goal??$.context??$.project?.name??"MCP server").replace(/\s+/g," ").trim();if(!Z)return"MCP server";return Z.length<=100?Z:Z.slice(0,97).trimEnd()+"..."}function K2($,Z={}){return{faf:Z.fafPointer??"./project.faf",mediaType:z8,iana:`https://www.iana.org/assignments/media-types/${z8}`,deterministic:!0,...Z.scoreEndpoint?{scoreEndpoint:Z.scoreEndpoint}:{},generated:$.generated??Z.now??new Date().toISOString()}}function J8($,Z={}){let U={$schema:VJ,name:Q8($),version:String($.project?.version??"0.1.0"),description:LJ($)},z=$.project?.name;if(z&&z.length<=100)U.title=z;let X=$.project?.homepage??$.project?.website??$.project?.url;if(X)U.websiteUrl=X;if(Z.remoteUrl)U.remotes=[{type:"streamable-http",url:Z.remoteUrl}];return U._meta={"one.faf/context":K2($,Z)},U}var q8="io.modelcontextprotocol.registry/publisher-provided",X8=4096;function OJ($,Z={}){let U={"one.faf/context":K2($,Z)},z=new TextEncoder().encode(JSON.stringify(U)).length;if(z>X8)throw Error(`publisher-provided _meta is ${z}B — exceeds the registry ${X8}B cap`);return{[q8]:U}}function DJ($){return Q8($)}function _J($,Z,U={}){let z=J8(Z,U),X=BJ($,"server-card");return YJ(X,JSON.stringify(z,null,2)+`
|
|
214
|
+
`,"utf-8"),X}var V8="faf-interview/1",j0="(terse — 3-4 words)",A2=[{path:"project.name",question:"What is the name of this project?",header:"Name",type:"text",required:!0},{path:"project.goal",question:"What does this project do? (one sentence)",header:"Goal",type:"text",required:!0},{path:"human_context.who",question:`Who is this for? ${j0}`,header:"Who",type:"text",required:!0},{path:"human_context.what",question:`What are they building? ${j0}`,header:"What",type:"text",required:!0},{path:"human_context.why",question:`Why does it exist? ${j0}`,header:"Why",type:"text",required:!0},{path:"human_context.where",question:`Where does it run or ship? ${j0}`,header:"Where",type:"text",required:!0},{path:"human_context.when",question:`When — timeline or stage? ${j0}`,header:"When",type:"text",required:!0},{path:"human_context.how",question:`How is it built or used? ${j0}`,header:"How",type:"text",required:!0}],W8=[{path:"project.main_language",question:"What is the primary programming language?",header:"Language",type:"select",required:!0,options:[{label:"TypeScript",value:"TypeScript",description:"JavaScript with types"},{label:"JavaScript",value:"JavaScript",description:"Vanilla JS or Node.js"},{label:"Python",value:"Python",description:"Python 3.x"},{label:"Rust",value:"Rust",description:"Systems programming"},{label:"Go",value:"Go",description:"Golang"},{label:"Other",value:"Other",description:"Specify manually"}]},{path:"stack.frontend",question:"What frontend framework does it use?",header:"Frontend",type:"select",required:!1,options:[{label:"React",value:"React",description:"React.js"},{label:"Vue",value:"Vue",description:"Vue.js"},{label:"Svelte",value:"Svelte",description:"Svelte/SvelteKit"},{label:"Next.js",value:"Next.js",description:"React framework"},{label:"None",value:"None",description:"No frontend"},{label:"Other",value:"Other",description:"Specify manually"}]},{path:"stack.backend",question:"What backend framework does it use?",header:"Backend",type:"select",required:!1,options:[{label:"Express",value:"Express",description:"Node.js Express"},{label:"Fastify",value:"Fastify",description:"Node.js Fastify"},{label:"Django",value:"Django",description:"Python Django"},{label:"FastAPI",value:"FastAPI",description:"Python FastAPI"},{label:"None",value:"None",description:"No backend"},{label:"Other",value:"Other",description:"Specify manually"}]},{path:"stack.database",question:"What database does it use?",header:"Database",type:"select",required:!1,options:[{label:"PostgreSQL",value:"PostgreSQL",description:"Postgres"},{label:"MySQL",value:"MySQL",description:"MySQL/MariaDB"},{label:"SQLite",value:"SQLite",description:"Embedded SQL"},{label:"MongoDB",value:"MongoDB",description:"Document store"},{label:"None",value:"None",description:"No database"},{label:"Other",value:"Other",description:"Specify manually"}]},{path:"stack.runtime",question:"What runtime does it run on?",header:"Runtime",type:"text",required:!1},{path:"stack.hosting",question:"Where is it hosted or distributed?",header:"Hosting",type:"text",required:!1},{path:"stack.build",question:"What is the build tool?",header:"Build",type:"text",required:!1},{path:"stack.cicd",question:"What CI/CD does it use?",header:"CI/CD",type:"text",required:!1}],z9=[...A2,...W8],L8=new Map(z9.map(($)=>[$.path,$])),IJ=Object.fromEntries(z9.map(($)=>[$.path,$]));function RJ($){let Z=L8.get($);if(Z)return Z.question;let U=J9.get($)??f.find((z)=>z.canonical===$);return U?`${U.description}?`.replace(/\?\?$/,"?"):`${$}?`}function MJ($,Z){return z9.filter((U)=>{let z=U.path.split("."),X=$;for(let Q of z)if(X&&typeof X==="object"&&Q in X)X=X[Q];else{X=void 0;break}if(X==="slotignored")return!1;return Z(X)})}var PJ=new Set(["developers","development teams","development team","teams","development","cloud platform","web platform","platform","best practices","improve development efficiency","development efficiency","modern development practices","modern development","test-driven development","production/stable","production","stable","app","project","tool"]),TJ=[["npm",/\bnpm\b/i],["PyPI",/\bpypi\b/i],["crates.io",/\bcrates\.io\b/i],["Homebrew",/\bhomebrew\b/i],["Docker",/\bdocker\b/i],["Cloudflare",/\bcloudflare\b/i],["Vercel",/\bvercel\b/i],["Netlify",/\bnetlify\b/i],["AWS",/\baws\b/i],["Cloud Run",/\bcloud run\b/i],["edge",/\bedge\b/i],["browser",/\bbrowser\b/i],["WASM",/\bwasm\b/i],["GitHub",/\bgithub\b/i],["MCP Registry",/\bmcp registry\b/i],["Chrome Web Store",/\bchrome web store\b/i],["Smithery",/\bsmithery\b/i]],H8=($)=>PJ.has($.toLowerCase().trim()),FJ=/^(?:with|and|or|using|for|to|that|who|whom|whose|the|a|an|in|on|of|via|by|&)$/i;function G8($,Z=5){let U=$.trim().split(/\s+/).filter(Boolean).slice(0,Z);while(U.length&&FJ.test(U[U.length-1].replace(/[.,;:]+$/,"")))U.pop();return U.join(" ")}function O8($){let Z={};if(!$||typeof $!=="string")return Z;let U=$.trim(),z=U.replace(/^[^A-Za-z0-9]+/,"").split(/\s+(?:for|that|which|to)\s+|\s+[—–]\s+|\s-\s|:\s|\.\s|,\s/)[0].trim(),X=G8(z);if(X.split(/\s+/).filter(Boolean).length>=2&&!H8(X))Z.what=X;let Q=TJ.filter(([,H])=>H.test(U)).map(([H])=>H);if(Q.length)Z.where=Q.slice(0,4).join(", ");let J=U.match(/\bfor ((?:[A-Za-z][\w./+-]* )?(?:any |all )?(?:developers?|teams?|engineers?|builders?|users?|integrators?)\b[^.,;:—]*)/i),q=G8((J?.[1]||"").trim().replace(/\s+/g," "));if(q&&!H8(q))Z.who=q;return Z}function Y8($,Z){let U=$;for(let z of Z.split("."))if(U&&typeof U==="object"&&z in U)U=U[z];else return;return U}function B8($){if(typeof $!=="string")return!1;let Z=$.trim();if(!Z||Z==="slotignored")return!1;return!y0(Z)}function KJ($,Z={}){let U=$&&typeof $==="object"?$:{},z=Y8(U,"project.goal"),X=(B8(z)?String(z).trim():"")||(Z.goal??"").trim(),Q=O8(X),J={"project.goal":X||void 0,"human_context.what":Q.what,"human_context.where":Q.where,"human_context.who":Q.who},q=A2.map((Y,B)=>{let O={n:B+1,path:Y.path,header:Y.header,question:Y.question},D=Y8(U,Y.path);if(B8(D))return{...O,value:String(D).trim(),status:"filled",seeded:!1};let V=J[Y.path];if(V)return{...O,value:V,status:"seeded",seeded:!0};return{...O,value:"",status:"empty",seeded:!1}}),H=q.filter((Y)=>Y.status==="filled").length,G=q.filter((Y)=>Y.status==="seeded").length,W=q.filter((Y)=>Y.status==="empty").length;return{version:V8,rows:q,filledCount:H,seededCount:G,emptyCount:W,complete:W===0}}import{createHash as _8}from"crypto";var N2="faf-bench/1",AJ={"project.name":"What is the project's name?","project.goal":"What is the project's goal — what is it for?","project.main_language":"What is the primary programming language?","human_context.who":"Who is this project for?","human_context.what":"What are they building?","human_context.why":"Why does this project exist?","human_context.where":"Where does it run or get distributed?","human_context.when":"When — what is the project's timeline or stage?","human_context.how":"How is it built or used?"};function NJ($,Z){return AJ[$]??`What is the project's ${Z.replace(/\s*\(.*\)$/,"").toLowerCase()}?`}var I8=[["typescript","ts"],["javascript","js"],["python","py","python3"],["node","nodejs","node js","node.js"],["github actions","gh actions","actions"],["postgresql","postgres","pg"],["kubernetes","k8s"],["npm","npm registry"],["cloudflare workers","cf workers","workers"],["google cloud run","cloud run","gcp cloud run"]],G$=new Map;I8.forEach(($,Z)=>$.forEach((U)=>G$.set(U,Z)));var wJ=new Set(["a","an","the","and","or","of","for","to","in","on","with","is","it","its","their","your","via","by","using","use","used"]);function X9($){return $.toLowerCase().replace(/[^a-z0-9\s.+#-]/g," ").replace(/\.(?=\s|$)/g," ").replace(/\s+/g," ").trim()}function D8($){return X9($).split(" ").filter((Z)=>Z&&!wJ.has(Z))}function R8($,Z){let U=X9($),z=X9(Z);if(!U||!z)return!1;if(U===z)return!0;let X=G$.get(U);if(X!==void 0&&G$.get(z)===X)return!0;let Q=D8($);if(Q.length===0)return!1;let J=new Set(D8(Z));return Q.every((q)=>{if(J.has(q))return!0;let H=G$.get(q);return H!==void 0&&[...J].some((G)=>G$.get(G)===H)})}function bJ($){let Z=V9($),U=H$($),z=[],X={},Q=0;for(let H of f){if(Z.slots[H.path]!=="populated")continue;let G=h2(U,H);if(typeof G!=="string")continue;let W=G.trim();if(!W||V$.has(W.toLowerCase()))continue;Q+=1,z.push({n:Q,path:H.path,question:NJ(H.path,H.description)}),X[Q]=W}let J=JSON.stringify({v:N2,q:z.map((H)=>[H.path,H.question])}),q=_8("sha256").update(J).digest("hex").slice(0,12);return{version:N2,qsetHash:q,questions:z,answers:X}}function CJ($){return{version:$.version,qsetHash:$.qsetHash,questions:$.questions}}function jJ($,Z){let U=$.questions.map((X)=>{let Q=Z[String(X.n)]??Z[X.path]??"";return{n:X.n,path:X.path,ok:typeof Q==="string"&&Q.trim()!==""&&R8($.answers[X.n],Q)}}),z=$.questions.filter((X)=>!U[X.n-1].ok);return{correct:U.filter((X)=>X.ok).length,total:$.questions.length,misses:z,perQuestion:U}}function SJ($,Z){let U=JSON.stringify({v:$.version,repo:Z??null,qset:$.qsetHash,protocol:$.protocol,cold:$.cold??null,faf:$.faf??null});return{projection:U,hash:_8("sha256").update(U).digest("hex")}}import{existsSync as EJ,readdirSync as M8,readFileSync as gJ}from"fs";import{join as b2,dirname as yJ,extname as fJ,resolve as xJ}from"path";var w2={"package.json":{frameworks:["Node.js","JavaScript","TypeScript"],slots:{packageManager:"npm/yarn/pnpm",mainLanguage:"JavaScript/TypeScript"},priority:35,intelligence:"ultra-high"},"README.md":{frameworks:[],slots:{targetUser:"developers",coreProblem:"understanding project",missionPurpose:"project documentation"},priority:25,intelligence:"high"},"requirements.txt":{frameworks:["Python"],slots:{packageManager:"pip",mainLanguage:"Python"},priority:35,intelligence:"ultra-high"},Pipfile:{frameworks:["Python"],slots:{packageManager:"pipenv",mainLanguage:"Python"},priority:35,intelligence:"ultra-high"},"pyproject.toml":{frameworks:["Python"],slots:{mainLanguage:"Python",runtime:"Python",backend:"Python"},priority:36,intelligence:"ultra-high"},Gemfile:{frameworks:["Ruby","Rails"],slots:{packageManager:"bundler",mainLanguage:"Ruby"},priority:35,intelligence:"ultra-high"},"composer.json":{frameworks:["PHP","Laravel","Symfony"],slots:{packageManager:"composer",mainLanguage:"PHP"},priority:35,intelligence:"ultra-high"},"Cargo.toml":{frameworks:["Rust"],slots:{packageManager:"cargo",mainLanguage:"Rust",buildTool:"cargo"},priority:36,intelligence:"ultra-high"},"go.mod":{frameworks:["Go"],slots:{packageManager:"go modules",mainLanguage:"Go",buildTool:"go build"},priority:36,intelligence:"ultra-high"},"pubspec.yaml":{frameworks:["Flutter","Dart"],slots:{packageManager:"pub",mainLanguage:"Dart",framework:"Flutter"},priority:35,intelligence:"ultra-high"},"pom.xml":{frameworks:["Java","Spring","Maven"],slots:{packageManager:"maven",mainLanguage:"Java",buildTool:"maven"},priority:35,intelligence:"ultra-high"},"build.gradle":{frameworks:["Java","Kotlin","Spring","Gradle"],slots:{packageManager:"gradle",mainLanguage:"Java/Kotlin",buildTool:"gradle"},priority:35,intelligence:"ultra-high"},"next.config.js":{frameworks:["Next.js"],slots:{framework:"Next.js",runtime:"Node.js",buildTool:"Next.js",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"next.config.mjs":{frameworks:["Next.js"],slots:{framework:"Next.js",runtime:"Node.js",buildTool:"Next.js",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"next.config.ts":{frameworks:["Next.js 13+"],slots:{framework:"Next.js 13+",runtime:"Node.js",buildTool:"Next.js",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"nuxt.config.js":{frameworks:["Nuxt 2"],slots:{framework:"Nuxt 2",runtime:"Node.js",buildTool:"Nuxt",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"nuxt.config.ts":{frameworks:["Nuxt 3"],slots:{framework:"Nuxt 3",runtime:"Node.js",buildTool:"Nuxt",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"svelte.config.js":{frameworks:["SvelteKit"],slots:{framework:"SvelteKit",buildTool:"Vite",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"angular.json":{frameworks:["Angular"],slots:{framework:"Angular",buildTool:"Angular CLI",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"manifest.json":{frameworks:["Chrome Extension","Browser Extension"],slots:{framework:"Chrome Extension",runtime:"Chrome/Browser",mainLanguage:"JavaScript",hosting:"Chrome Web Store",apiType:"Chrome APIs"},priority:35,intelligence:"ultra-high",confirmWith:["popup.html","background.js","content.js"]},"vue.config.js":{frameworks:["Vue"],slots:{framework:"Vue",buildTool:"Vue CLI",mainLanguage:"JavaScript"},priority:30,intelligence:"high"},"remix.config.js":{frameworks:["Remix"],slots:{framework:"Remix",runtime:"Node.js",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"gatsby-config.js":{frameworks:["Gatsby"],slots:{framework:"Gatsby",buildTool:"Gatsby",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"gatsby-config.ts":{frameworks:["Gatsby"],slots:{framework:"Gatsby",buildTool:"Gatsby",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"astro.config.mjs":{frameworks:["Astro"],slots:{framework:"Astro",buildTool:"Vite",mainLanguage:"JavaScript",server:"Node.js"},priority:30,intelligence:"high"},"redwood.toml":{frameworks:["RedwoodJS"],slots:{framework:"RedwoodJS",buildTool:"Webpack",mainLanguage:"JavaScript/TypeScript",server:"Node.js",database:"Prisma"},priority:30,intelligence:"high"},"blitz.config.ts":{frameworks:["Blitz.js"],slots:{framework:"Blitz.js",buildTool:"Next.js",mainLanguage:"TypeScript",server:"Node.js",database:"Prisma"},priority:30,intelligence:"high"},"qwik.config.ts":{frameworks:["Qwik"],slots:{framework:"Qwik",buildTool:"Vite",mainLanguage:"TypeScript",server:"Node.js"},priority:30,intelligence:"high"},"manage.py":{frameworks:["Django"],slots:{framework:"Django",backend:"Django",mainLanguage:"Python",server:"Django",apiType:"Django Views"},priority:30,intelligence:"high"},artisan:{frameworks:["Laravel"],slots:{framework:"Laravel",backend:"Laravel",mainLanguage:"PHP",server:"PHP",apiType:"Laravel Routes"},priority:30,intelligence:"high"},"mix.exs":{frameworks:["Phoenix","Elixir"],slots:{framework:"Phoenix",backend:"Phoenix",mainLanguage:"Elixir",server:"BEAM"},priority:30,intelligence:"high"},"nest-cli.json":{frameworks:["NestJS"],slots:{framework:"NestJS",backend:"NestJS",mainLanguage:"TypeScript",server:"Node.js",apiType:"REST API"},priority:30,intelligence:"high"},"strapi.config.js":{frameworks:["Strapi"],slots:{backend:"Strapi",apiType:"REST API",database:"Required",server:"Node.js"},priority:30,intelligence:"high"},Dockerfile:{frameworks:["Docker"],slots:{hosting:"Docker",connection:"Containerized"},priority:30,intelligence:"high"},"docker-compose.yml":{frameworks:["Docker Compose"],slots:{hosting:"Docker",connection:"Multi-container"},priority:30,intelligence:"high"},"docker-compose.yaml":{frameworks:["Docker Compose"],slots:{hosting:"Docker",connection:"Multi-container"},priority:30,intelligence:"high"},"kubernetes.yml":{frameworks:["Kubernetes"],slots:{hosting:"Kubernetes",connection:"Orchestrated"},priority:30,intelligence:"high"},"k8s.yaml":{frameworks:["Kubernetes"],slots:{hosting:"Kubernetes",connection:"Orchestrated"},priority:30,intelligence:"high"},"vercel.json":{frameworks:["Vercel"],slots:{hosting:"Vercel",cicd:"Vercel"},priority:30,intelligence:"high"},"netlify.toml":{frameworks:["Netlify"],slots:{hosting:"Netlify",cicd:"Netlify"},priority:30,intelligence:"high"},"render.yaml":{frameworks:["Render"],slots:{hosting:"Render",cicd:"Render"},priority:30,intelligence:"high"},"fly.toml":{frameworks:["Fly.io"],slots:{hosting:"Fly.io",cicd:"Fly.io"},priority:30,intelligence:"high"},"railway.json":{frameworks:["Railway"],slots:{hosting:"Railway",cicd:"Railway"},priority:30,intelligence:"high"},"railway.toml":{frameworks:["Railway"],slots:{hosting:"Railway",cicd:"Railway"},priority:30,intelligence:"high"},"app.yaml":{frameworks:["Google App Engine"],slots:{hosting:"Google Cloud",cicd:"Google Cloud"},priority:30,intelligence:"high"},Procfile:{frameworks:["Heroku"],slots:{hosting:"Heroku",cicd:"Heroku"},priority:30,intelligence:"high"},"vite.config.js":{frameworks:["Vite"],slots:{buildTool:"Vite"},priority:25,intelligence:"medium"},"vite.config.ts":{frameworks:["Vite"],slots:{buildTool:"Vite",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"webpack.config.js":{frameworks:["Webpack"],slots:{buildTool:"Webpack"},priority:25,intelligence:"medium"},"rollup.config.js":{frameworks:["Rollup"],slots:{buildTool:"Rollup"},priority:25,intelligence:"medium"},"esbuild.config.js":{frameworks:["esbuild"],slots:{buildTool:"esbuild"},priority:25,intelligence:"medium"},"parcel.config.js":{frameworks:["Parcel"],slots:{buildTool:"Parcel"},priority:25,intelligence:"medium"},"snowpack.config.js":{frameworks:["Snowpack"],slots:{buildTool:"Snowpack"},priority:25,intelligence:"medium"},"tsconfig.json":{frameworks:["TypeScript"],slots:{mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"jsconfig.json":{frameworks:["JavaScript"],slots:{mainLanguage:"JavaScript"},priority:20,intelligence:"medium"},"babel.config.js":{frameworks:["Babel"],slots:{buildTool:"Babel"},priority:20,intelligence:"medium"},".babelrc":{frameworks:["Babel"],slots:{buildTool:"Babel"},priority:20,intelligence:"medium"},"jest.config.js":{frameworks:["Jest"],slots:{cicd:"Jest"},priority:25,intelligence:"medium"},"jest.config.ts":{frameworks:["Jest"],slots:{cicd:"Jest",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"vitest.config.ts":{frameworks:["Vitest"],slots:{cicd:"Vitest",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"cypress.config.js":{frameworks:["Cypress"],slots:{cicd:"Cypress"},priority:25,intelligence:"medium"},"playwright.config.ts":{frameworks:["Playwright"],slots:{cicd:"Playwright",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"karma.conf.js":{frameworks:["Karma"],slots:{cicd:"Karma"},priority:20,intelligence:"medium"},"mocha.opts":{frameworks:["Mocha"],slots:{cicd:"Mocha"},priority:20,intelligence:"medium"},".rspec":{frameworks:["RSpec"],slots:{cicd:"RSpec",mainLanguage:"Ruby"},priority:25,intelligence:"medium"},"pytest.ini":{frameworks:["Pytest"],slots:{cicd:"Pytest",mainLanguage:"Python"},priority:25,intelligence:"medium"},"phpunit.xml":{frameworks:["PHPUnit"],slots:{cicd:"PHPUnit",mainLanguage:"PHP"},priority:25,intelligence:"medium"},"schema.prisma":{frameworks:["Prisma"],slots:{database:"Prisma ORM",connection:"Prisma"},priority:25,intelligence:"medium"},"drizzle.config.ts":{frameworks:["Drizzle"],slots:{database:"Drizzle ORM",connection:"Drizzle",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"ormconfig.js":{frameworks:["TypeORM"],slots:{database:"TypeORM",connection:"TypeORM"},priority:25,intelligence:"medium"},"knexfile.js":{frameworks:["Knex.js"],slots:{database:"Knex.js",connection:"Knex.js"},priority:25,intelligence:"medium"},"sequelize.config.js":{frameworks:["Sequelize"],slots:{database:"Sequelize",connection:"Sequelize"},priority:25,intelligence:"medium"},"alembic.ini":{frameworks:["Alembic"],slots:{database:"Alembic",mainLanguage:"Python"},priority:25,intelligence:"medium"},".github/workflows":{frameworks:["GitHub Actions"],slots:{cicd:"GitHub Actions"},priority:25,intelligence:"medium"},".gitlab-ci.yml":{frameworks:["GitLab CI"],slots:{cicd:"GitLab CI"},priority:25,intelligence:"medium"},Jenkinsfile:{frameworks:["Jenkins"],slots:{cicd:"Jenkins"},priority:25,intelligence:"medium"},".circleci/config.yml":{frameworks:["CircleCI"],slots:{cicd:"CircleCI"},priority:25,intelligence:"medium"},".travis.yml":{frameworks:["Travis CI"],slots:{cicd:"Travis CI"},priority:25,intelligence:"medium"},"azure-pipelines.yml":{frameworks:["Azure DevOps"],slots:{cicd:"Azure DevOps"},priority:25,intelligence:"medium"},"bitbucket-pipelines.yml":{frameworks:["Bitbucket Pipelines"],slots:{cicd:"Bitbucket Pipelines"},priority:25,intelligence:"medium"},"tailwind.config.js":{frameworks:["Tailwind CSS"],slots:{cssFramework:"Tailwind CSS"},priority:20,intelligence:"medium"},"tailwind.config.ts":{frameworks:["Tailwind CSS"],slots:{cssFramework:"Tailwind CSS",mainLanguage:"TypeScript"},priority:20,intelligence:"medium"},"postcss.config.js":{frameworks:["PostCSS"],slots:{cssFramework:"PostCSS"},priority:20,intelligence:"medium"},"uno.config.ts":{frameworks:["UnoCSS"],slots:{cssFramework:"UnoCSS",mainLanguage:"TypeScript"},priority:20,intelligence:"medium"},"styled-components.config.js":{frameworks:["styled-components"],slots:{cssFramework:"styled-components",uiLibrary:"styled-components"},priority:20,intelligence:"medium"},"emotion.config.js":{frameworks:["Emotion"],slots:{cssFramework:"Emotion",uiLibrary:"Emotion"},priority:20,intelligence:"medium"},"metro.config.js":{frameworks:["React Native"],slots:{framework:"React Native",mainLanguage:"JavaScript"},priority:25,intelligence:"medium"},"expo.config.js":{frameworks:["Expo"],slots:{framework:"React Native",buildTool:"Expo"},priority:25,intelligence:"medium"},"app.json":{frameworks:["React Native","Expo"],slots:{framework:"React Native"},priority:20,intelligence:"medium",confirmWith:["expo"]},"capacitor.config.ts":{frameworks:["Capacitor"],slots:{framework:"Capacitor",mainLanguage:"TypeScript"},priority:25,intelligence:"medium"},"ionic.config.json":{frameworks:["Ionic"],slots:{framework:"Ionic",uiLibrary:"Ionic"},priority:25,intelligence:"medium"},"nx.json":{frameworks:["Nx"],slots:{buildTool:"Nx"},priority:25,intelligence:"medium"},"turbo.json":{frameworks:["Turborepo"],slots:{buildTool:"Turborepo"},priority:25,intelligence:"medium"},"lerna.json":{frameworks:["Lerna"],slots:{buildTool:"Lerna"},priority:25,intelligence:"medium"},"rush.json":{frameworks:["Rush"],slots:{buildTool:"Rush"},priority:25,intelligence:"medium"},"pnpm-workspace.yaml":{frameworks:["pnpm workspaces"],slots:{packageManager:"pnpm",buildTool:"pnpm workspaces"},priority:25,intelligence:"medium"},"*.svelte":{frameworks:["Svelte","SvelteKit"],slots:{framework:"Svelte"},priority:15,intelligence:"low"},"*.vue":{frameworks:["Vue"],slots:{framework:"Vue"},priority:15,intelligence:"low"},"*.jsx":{frameworks:["React"],slots:{framework:"React",mainLanguage:"JavaScript"},priority:15,intelligence:"low"},"*.ts":{frameworks:["TypeScript"],slots:{mainLanguage:"TypeScript"},priority:15,intelligence:"low"},"*.tsx":{frameworks:["React","TypeScript"],slots:{framework:"React",mainLanguage:"TypeScript"},priority:15,intelligence:"low"},"*.py":{frameworks:["Python"],slots:{mainLanguage:"Python"},priority:15,intelligence:"low"},"*.rb":{frameworks:["Ruby"],slots:{mainLanguage:"Ruby"},priority:15,intelligence:"low"},"*.php":{frameworks:["PHP"],slots:{mainLanguage:"PHP"},priority:15,intelligence:"low"},"*.java":{frameworks:["Java"],slots:{mainLanguage:"Java"},priority:15,intelligence:"low"},"*.kt":{frameworks:["Kotlin"],slots:{mainLanguage:"Kotlin"},priority:15,intelligence:"low"},"*.swift":{frameworks:["Swift"],slots:{mainLanguage:"Swift"},priority:15,intelligence:"low"},"*.go":{frameworks:["Go"],slots:{mainLanguage:"Go"},priority:15,intelligence:"low"},"*.rs":{frameworks:["Rust"],slots:{mainLanguage:"Rust"},priority:15,intelligence:"low"},"*.dart":{frameworks:["Flutter","Dart"],slots:{mainLanguage:"Dart"},priority:15,intelligence:"low"},"*.ex":{frameworks:["Elixir"],slots:{mainLanguage:"Elixir"},priority:15,intelligence:"low"},"*.exs":{frameworks:["Elixir"],slots:{mainLanguage:"Elixir"},priority:15,intelligence:"low"},"*.scala":{frameworks:["Scala"],slots:{mainLanguage:"Scala"},priority:15,intelligence:"low"},"*.clj":{frameworks:["Clojure"],slots:{mainLanguage:"Clojure"},priority:15,intelligence:"low"},"*.lua":{frameworks:["Lua"],slots:{mainLanguage:"Lua"},priority:15,intelligence:"low"},"*.r":{frameworks:["R"],slots:{mainLanguage:"R"},priority:15,intelligence:"low"},"*.R":{frameworks:["R"],slots:{mainLanguage:"R"},priority:15,intelligence:"low"},"*.jl":{frameworks:["Julia"],slots:{mainLanguage:"Julia"},priority:15,intelligence:"low"},"*.nim":{frameworks:["Nim"],slots:{mainLanguage:"Nim"},priority:15,intelligence:"low"},"*.zig":{frameworks:["Zig"],slots:{mainLanguage:"Zig"},priority:15,intelligence:"low"},"build.zig":{frameworks:["Zig"],slots:{packageManager:"Zig Package Manager",mainLanguage:"Zig",buildTool:"zig build",framework:"Zig",build:"zig build"},priority:35,intelligence:"ultra-high"},"openapi.json":{frameworks:["OpenAPI"],slots:{apiType:"REST API",backend:"API Server"},priority:30,intelligence:"high"},"openapi.yaml":{frameworks:["OpenAPI"],slots:{apiType:"REST API",backend:"API Server"},priority:30,intelligence:"high"},"swagger.json":{frameworks:["Swagger"],slots:{apiType:"REST API",backend:"API Server"},priority:30,intelligence:"high"},"graphql.schema":{frameworks:["GraphQL"],slots:{apiType:"GraphQL",backend:"GraphQL Server"},priority:30,intelligence:"high"},"schema.graphql":{frameworks:["GraphQL"],slots:{apiType:"GraphQL",backend:"GraphQL Server"},priority:30,intelligence:"high"},".graphqlconfig":{frameworks:["GraphQL"],slots:{apiType:"GraphQL"},priority:25,intelligence:"medium"},"redux.config.js":{frameworks:["Redux"],slots:{stateManagement:"Redux"},priority:20,intelligence:"medium"},"mobx.config.js":{frameworks:["MobX"],slots:{stateManagement:"MobX"},priority:20,intelligence:"medium"},"vuex.config.js":{frameworks:["Vuex"],slots:{stateManagement:"Vuex",framework:"Vue"},priority:20,intelligence:"medium"},"pinia.config.js":{frameworks:["Pinia"],slots:{stateManagement:"Pinia",framework:"Vue"},priority:20,intelligence:"medium"},"zustand.config.js":{frameworks:["Zustand"],slots:{stateManagement:"Zustand"},priority:20,intelligence:"medium"},".eslintrc.js":{frameworks:["ESLint"],slots:{},priority:15,intelligence:"low"},".eslintrc.json":{frameworks:["ESLint"],slots:{},priority:15,intelligence:"low"},".prettierrc":{frameworks:["Prettier"],slots:{},priority:15,intelligence:"low"},".prettierrc.json":{frameworks:["Prettier"],slots:{},priority:15,intelligence:"low"},"biome.json":{frameworks:["Biome"],slots:{},priority:15,intelligence:"low"},".editorconfig":{frameworks:["EditorConfig"],slots:{},priority:10,intelligence:"low"},"serverless.yml":{frameworks:["Serverless Framework"],slots:{hosting:"AWS Lambda/Azure/GCP",backend:"Serverless",apiType:"API Gateway"},priority:30,intelligence:"high"},"serverless.yaml":{frameworks:["Serverless Framework"],slots:{hosting:"AWS Lambda/Azure/GCP",backend:"Serverless",apiType:"API Gateway"},priority:30,intelligence:"high"},"sam.yaml":{frameworks:["AWS SAM"],slots:{hosting:"AWS Lambda",backend:"AWS SAM",cicd:"AWS SAM CLI"},priority:30,intelligence:"high"},"template.yaml":{frameworks:["AWS SAM","CloudFormation"],slots:{hosting:"AWS",backend:"AWS SAM/CloudFormation",cicd:"AWS"},priority:25,intelligence:"medium",confirmWith:["samconfig.toml"]},"amplify.yml":{frameworks:["AWS Amplify"],slots:{hosting:"AWS Amplify",backend:"AWS Amplify",cicd:"AWS Amplify"},priority:30,intelligence:"high"},Podfile:{frameworks:["CocoaPods","iOS"],slots:{packageManager:"CocoaPods",mainLanguage:"Swift/Objective-C",framework:"iOS Native"},priority:30,intelligence:"high"},"build.gradle.kts":{frameworks:["Gradle Kotlin DSL","Android","Kotlin"],slots:{packageManager:"Gradle",mainLanguage:"Kotlin",buildTool:"Gradle Kotlin DSL",framework:"Android"},priority:30,intelligence:"high"},"*.ipynb":{frameworks:["Jupyter","Python"],slots:{mainLanguage:"Python",framework:"Jupyter Notebook"},priority:30,intelligence:"high"},MLproject:{frameworks:["MLflow"],slots:{mainLanguage:"Python",framework:"MLflow",backend:"MLflow",cicd:"MLflow"},priority:30,intelligence:"high"},"dvc.yaml":{frameworks:["DVC","Data Version Control"],slots:{mainLanguage:"Python",framework:"DVC",cicd:"DVC Pipelines"},priority:30,intelligence:"high"},"dvc.lock":{frameworks:["DVC"],slots:{framework:"DVC"},priority:20,intelligence:"medium"},"wrangler.toml":{frameworks:["Cloudflare Workers","Cloudflare"],slots:{hosting:"Cloudflare Workers",backend:"Cloudflare Workers",runtime:"V8 Isolates"},priority:30,intelligence:"high"},"deno.json":{frameworks:["Deno"],slots:{runtime:"Deno",mainLanguage:"TypeScript",packageManager:"Deno"},priority:30,intelligence:"high"},"bun.lockb":{frameworks:["Bun"],slots:{runtime:"Bun",packageManager:"Bun",mainLanguage:"TypeScript/JavaScript"},priority:30,intelligence:"high"},"codecov.yml":{frameworks:["Codecov"],slots:{cicd:"Codecov"},priority:25,intelligence:"high"},"dependabot.yml":{frameworks:["Dependabot","GitHub"],slots:{cicd:"Dependabot"},priority:25,intelligence:"high"},"renovate.json":{frameworks:["Renovate"],slots:{cicd:"Renovate"},priority:25,intelligence:"high"},Makefile:{frameworks:["Make","GNU Make"],slots:{buildTool:"Make"},priority:30,intelligence:"high"},"CMakeLists.txt":{frameworks:["CMake","C","C++"],slots:{buildTool:"CMake",mainLanguage:"C/C++"},priority:30,intelligence:"high"},"meson.build":{frameworks:["Meson","C","C++"],slots:{buildTool:"Meson",mainLanguage:"C/C++"},priority:30,intelligence:"high"},"*.c":{frameworks:["C"],slots:{mainLanguage:"C"},priority:30,intelligence:"high"},"*.cpp":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:30,intelligence:"high"},"*.cc":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:30,intelligence:"high"},"*.cxx":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:25,intelligence:"high"},"*.h":{frameworks:["C","C++"],slots:{mainLanguage:"C/C++"},priority:25,intelligence:"high"},"*.hpp":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:25,intelligence:"high"},"*.hxx":{frameworks:["C++"],slots:{mainLanguage:"C++"},priority:20,intelligence:"medium"},".env":{frameworks:[],slots:{},priority:20,intelligence:"medium"},".env.example":{frameworks:[],slots:{},priority:25,intelligence:"high"},".env.local":{frameworks:[],slots:{},priority:20,intelligence:"medium"},".env.development":{frameworks:[],slots:{},priority:20,intelligence:"medium"},".env.production":{frameworks:[],slots:{},priority:20,intelligence:"medium"},"skaffold.yaml":{frameworks:["Skaffold","Kubernetes"],slots:{hosting:"Kubernetes",cicd:"Skaffold"},priority:30,intelligence:"high"},"Chart.yaml":{frameworks:["Helm","Kubernetes"],slots:{hosting:"Kubernetes",backend:"Helm"},priority:30,intelligence:"high"},"values.yaml":{frameworks:["Helm","Kubernetes"],slots:{hosting:"Kubernetes"},priority:25,intelligence:"high",confirmWith:["Chart.yaml"]},"pulumi.yaml":{frameworks:["Pulumi"],slots:{hosting:"Cloud",cicd:"Pulumi"},priority:30,intelligence:"high"},"Pulumi.yaml":{frameworks:["Pulumi"],slots:{hosting:"Cloud",cicd:"Pulumi"},priority:30,intelligence:"high"},"terragrunt.hcl":{frameworks:["Terragrunt","Terraform"],slots:{hosting:"Cloud",cicd:"Terragrunt"},priority:30,intelligence:"high"},"ansible.yml":{frameworks:["Ansible"],slots:{cicd:"Ansible"},priority:30,intelligence:"high"},"playbook.yml":{frameworks:["Ansible"],slots:{cicd:"Ansible"},priority:25,intelligence:"high"},"*.cs":{frameworks:["C#",".NET","Unity"],slots:{mainLanguage:"C#"},priority:30,intelligence:"high"},"*.m":{frameworks:["Objective-C","iOS"],slots:{mainLanguage:"Objective-C"},priority:25,intelligence:"high"},".nvmrc":{frameworks:["Node.js","nvm"],slots:{runtime:"Node.js"},priority:25,intelligence:"high"},".tool-versions":{frameworks:["asdf"],slots:{},priority:25,intelligence:"high"},".ruby-version":{frameworks:["Ruby","rbenv"],slots:{mainLanguage:"Ruby",runtime:"Ruby"},priority:25,intelligence:"high"},".python-version":{frameworks:["Python","pyenv"],slots:{mainLanguage:"Python",runtime:"Python"},priority:25,intelligence:"high"},".dockerignore":{frameworks:["Docker"],slots:{},priority:20,intelligence:"medium"},".gitattributes":{frameworks:["Git"],slots:{},priority:15,intelligence:"low"},".npmrc":{frameworks:["npm","Node.js"],slots:{packageManager:"npm"},priority:20,intelligence:"medium"},"sonar-project.properties":{frameworks:["SonarQube","SonarCloud"],slots:{cicd:"SonarQube"},priority:25,intelligence:"high"},"*.fs":{frameworks:["F#",".NET"],slots:{mainLanguage:"F#"},priority:25,intelligence:"high"},"*.mm":{frameworks:["Objective-C++","iOS","macOS"],slots:{mainLanguage:"Objective-C++"},priority:25,intelligence:"high"},"build.zig.zon":{frameworks:["Zig"],slots:{mainLanguage:"Zig",packageManager:"Zig Package Manager",buildTool:"zig build"},priority:35,intelligence:"ultra-high"},"gleam.toml":{frameworks:["Gleam","BEAM","Erlang"],slots:{mainLanguage:"Gleam",runtime:"BEAM",packageManager:"Gleam"},priority:30,intelligence:"high"},"bunfig.toml":{frameworks:["Bun"],slots:{runtime:"Bun",packageManager:"Bun",buildTool:"Bun"},priority:30,intelligence:"high"},"mise.toml":{frameworks:["mise"],slots:{},priority:25,intelligence:"high"},".mise.toml":{frameworks:["mise"],slots:{},priority:25,intelligence:"high"},"manifest.toml":{frameworks:["Flox","Nix"],slots:{},priority:25,intelligence:"high",confirmWith:[".flox"]},justfile:{frameworks:["Just"],slots:{buildTool:"Just"},priority:25,intelligence:"high"},".pre-commit-config.yaml":{frameworks:["pre-commit"],slots:{cicd:"pre-commit"},priority:25,intelligence:"high"},"CLAUDE.md":{frameworks:["Claude Code"],slots:{},priority:30,intelligence:"high",confirmWith:[".claude"]}};var hJ=new Set(["node_modules",".git","dist","build","venv",".venv","__pycache__","target","coverage",".next",".svelte-kit","vendor"]),uJ=new Set([".py",".ts",".tsx",".js",".jsx",".svelte",".vue",".rb",".go",".rs",".php",".java",".kt",".swift"]),kJ={mainLanguage:["project","main_language"],main_language:["project","main_language"],framework:["stack","frontend"],cssFramework:["stack","css_framework"],css:["stack","css_framework"],uiLibrary:["stack","ui_library"],ui_library:["stack","ui_library"],stateManagement:["stack","state_management"],state:["stack","state_management"],backend:["stack","backend"],apiType:["stack","api_type"],api:["stack","api_type"],runtime:["stack","runtime"],database:["stack","database"],db:["stack","database"],connection:["stack","connection"],hosting:["stack","hosting"],buildTool:["stack","build"],build_tool:["stack","build"],build:["stack","build"],packageManager:["stack","package_manager"],pkg_manager:["stack","package_manager"],cicd:["stack","cicd"]},vJ=[["packageManager","package-manager"],["pkg_manager","package-manager"],["mainLanguage","language"],["main_language","language"],["framework","framework"],["backend","backend"],["database","database"],["db","database"],["cicd","ci-cd"],["hosting","hosting"],["buildTool","build"],["build_tool","build"],["build","build"],["runtime","runtime"],["cssFramework","css"],["css","css"],["uiLibrary","ui-library"],["stateManagement","state-management"],["apiType","api"],["api","api"]];function mJ($,Z){for(let[U,z]of vJ)if(U in $)return z;return Z.length>0?"framework":"config"}function pJ($){try{let Z=JSON.parse(gJ($,"utf-8")),U=["background","content_scripts","action","browser_action","permissions"].some((z)=>(z in Z));if(typeof Z.manifest_version==="number"&&U)return"chrome";return"other"}catch{return"other"}}function lJ($){let Z=[],U=xJ($),z=EJ(b2($,".git"));for(let X=0;X<10;X++){let Q;try{Q=M8(U)}catch{break}for(let q of Q){let H=w2[q];if(!H)continue;if(q==="manifest.json"&&pJ(b2(U,q))!=="chrome")continue;Z.push({slots:H.slots||{},priority:H.priority,frameworks:H.frameworks,fileName:q})}if(z&&X===0)break;let J=yJ(U);if(J===U)break;U=J}return Z}function dJ($){let Z=[];for(let U of T8($,2,{count:0})){let z=w2[`*${U}`],X=z?.slots?.mainLanguage;if(X)Z.push({slots:{mainLanguage:X},priority:z.priority,frameworks:z.frameworks})}return Z}function P8($){let Z=[...lJ($),...dJ($)],U={},z={},X=new Set;for(let G of Z){G.frameworks.forEach((W)=>X.add(W));for(let[W,Y]of Object.entries(G.slots))if(Y&&!Y.includes("/")&&(!(W in U)||G.priority>z[W]))U[W]=Y,z[W]=G.priority}let Q=new Map;for(let G of Z){if(!G.fileName)continue;if(!Q.has(G.fileName))Q.set(G.fileName,{fileName:G.fileName,category:mJ(G.slots,G.frameworks),priority:G.priority})}let J=[...Q.values()].sort((G,W)=>W.priority-G.priority||G.fileName.localeCompare(W.fileName)),q=[];if(U.mainLanguage)q.push(U.mainLanguage.toLowerCase());if(U.framework)q.push(U.framework.toLowerCase());let H=q.length>0?q.join("-"):"unknown-stack";return{slotFills:U,frameworks:[...X],confirmedCount:Z.length,discoveredFormats:J,stackSignature:H}}function C2($){let{slotFills:Z}=P8($),U={};for(let[z,X]of Object.entries(Z)){let Q=kJ[z];if(!Q||!X)continue;let[J,q]=Q;if(J==="project")(U.project??={})[q]=X;else(U.stack??={})[q]=X}return U}function T8($,Z,U){let z=new Set;if(Z<0||U.count>400)return z;let X;try{X=M8($,{withFileTypes:!0})}catch{return z}for(let Q of X){if(U.count++>400)break;if(!Q.isDirectory()){let J=fJ(Q.name);if(uJ.has(J))z.add(J);continue}if(hJ.has(Q.name)||Q.name.startsWith("."))continue;for(let J of T8(b2($,Q.name),Z-1,U))z.add(J)}return z}import{existsSync as F8,readFileSync as K8}from"fs";import{join as A8}from"path";function j2($){let Z=cJ($),U=aJ($),z={},X=(Q,J)=>{if(J)z[Q]=J};return X("what",sJ(Z,U)),X("who",iJ(U)),X("why",rJ(U)),X("where",nJ(Z,U)),X("when",oJ(U)),X("how",tJ(Z,U)),z}function cJ($){let Z=A8($,"package.json");if(!F8(Z))return null;try{return JSON.parse(K8(Z,"utf-8"))}catch{return null}}function aJ($){let Z=A8($,"README.md");if(!F8(Z))return"";let U;try{U=K8(Z,"utf-8")}catch{return""}return U.split(`
|
|
214
215
|
`).filter((z)=>!/^\s*\[!\[/.test(z)&&!/^\s*!\[/.test(z)).join(`
|
|
215
|
-
`).replace(/<[^>]+>/g,"").replace(/!\[[^\]]*\]\([^)]*\)/g,"").trim()}function W0($){return $.replace(/\s+/g," ").replace(/[#*`>]/g,"").trim().slice(0,280)}function S0($,Z){let U=new RegExp(`##?\\s+(?:${Z})\\s*\\n+([\\s\\S]+?)(?:\\n\\n|\\n##?|$)`,"i"),z=$.match(U);return z&&z[1]&&z[1].trim().length>20?W0(z[1]):null}function Y$($,Z,U=30){for(let z of Z){let X=$.match(z);if(X&&X[1]&&X[1].trim().length>=U)return W0(X[1])}return null}function gJ($,Z){if($?.description&&$.description.length>20)return W0($.description);let U=S0(Z,"Purpose|What|About|Overview|Description");if(U)return U;let z=Z.split(/\n\s*\n/).map((X)=>X.trim()).find((X)=>X.length>30&&!X.startsWith("#"));if(z)return W0(z);return Y$(Z,[/(?:core|main|primary)\s+(?:problem|challenge)(?:\s+is)?\s*:?\s*([^.\n]{30,})/i,/solves?\s+(?:the\s+)?(?:problem\s+of\s+)?([^.\n]{30,})/i])}function yJ($){let Z=S0($,"Audience|Who|Who is this for|Who it.s for");if(Z)return Z;return Y$($,[/\b(?:designed|built|made)\s+for\s+((?:developers?|teams?|engineers?|builders?|founders?)[^.\n]{0,80})/i,/\bfor\s+((?:developers?|teams?|engineers?|builders?|founders?)[^.\n]{0,80})/i],8)}function fJ($){let Z=S0($,"Why|Mission|Motivation|Rationale|Vision");if(Z)return Z;return Y$($,[/(?:our\s+)?(?:mission|purpose|goal)(?:\s+is)?\s*:?\s*([^.\n]{30,})/i,/(?:built|created|designed)\s+(?:because|to)\s+([^.\n]{30,})/i])}function xJ($,Z){let U=typeof $?.repository==="string"?$.repository:$?.repository?.url;if(U)return W0(U.replace(/^git\+/,"").replace(/\.git$/,""));if($?.homepage)return W0($.homepage);return Y$(Z,[/\b(?:deployed|hosted|available|published)\s+(?:on|at|via)\s+([^.\n]{4,80})/i],4)}function hJ($){let Z=S0($,"Timeline|Status|Release|Roadmap");if(Z)return Z;return Y$($,[/\b(production\s+since\s+[^.\n]{4,60})/i,/\b((?:in\s+)?(?:production|beta|alpha|development)\s+since\s+[^.\n]{4,60})/i,/\bsince\s+((?:[A-Z][a-z]+\s+)?\d{4}[^.\n]{0,40})/],4)}function uJ($,Z){let U=$?.scripts?Object.keys($.scripts):[],z=["start","dev","build"].filter((Q)=>U.includes(Q));if(z.length)return W0(z.map((Q)=>`npm run ${Q}`).join(", "));let X=S0(Z,"Usage|Getting Started|Install|Installation|Quick Start");if(X)return X;return S0(Z,"Architecture|Approach|How it works|Methodology|How")}import{existsSync as M,readFileSync as r,readdirSync as T8}from"fs";import{join as I}from"path";var M8=[{name:"Next.js",slug:"nextjs",category:"frontend",signals:[{type:"dependency",key:"next"},{type:"file",pattern:"next.config.*"}]},{name:"React",slug:"react",category:"frontend",signals:[{type:"dependency",key:"react"}]},{name:"SvelteKit",slug:"sveltekit",category:"frontend",signals:[{type:"dependency",key:"@sveltejs/kit"},{type:"file",pattern:"svelte.config.*"}]},{name:"Svelte",slug:"svelte",category:"frontend",signals:[{type:"dependency",key:"svelte"},{type:"devDependency",key:"svelte"}]},{name:"Vue.js",slug:"vue",category:"frontend",signals:[{type:"dependency",key:"vue"}]},{name:"Nuxt",slug:"nuxt",category:"frontend",signals:[{type:"dependency",key:"nuxt"},{type:"file",pattern:"nuxt.config.*"}]},{name:"Angular",slug:"angular",category:"frontend",signals:[{type:"dependency",key:"@angular/core"},{type:"file",pattern:"angular.json"}]},{name:"Astro",slug:"astro",category:"frontend",signals:[{type:"dependency",key:"astro"},{type:"file",pattern:"astro.config.*"}]},{name:"Solid",slug:"solid",category:"frontend",signals:[{type:"dependency",key:"solid-js"}]},{name:"Remix",slug:"remix",category:"frontend",signals:[{type:"dependency",key:"@remix-run/react"}]},{name:"Gatsby",slug:"gatsby",category:"frontend",signals:[{type:"dependency",key:"gatsby"},{type:"file",pattern:"gatsby-config.*"}]},{name:"Qwik",slug:"qwik",category:"frontend",signals:[{type:"dependency",key:"@builder.io/qwik"}]},{name:"Vercel (SvelteKit)",slug:"adapter-vercel",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-vercel"},{type:"devDependency",key:"@sveltejs/adapter-vercel"}]},{name:"Node (SvelteKit)",slug:"adapter-node",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-node"},{type:"devDependency",key:"@sveltejs/adapter-node"}]},{name:"Static (SvelteKit)",slug:"adapter-static",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-static"},{type:"devDependency",key:"@sveltejs/adapter-static"}]},{name:"Cloudflare (SvelteKit)",slug:"adapter-cloudflare",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-cloudflare"},{type:"devDependency",key:"@sveltejs/adapter-cloudflare"}]},{name:"Netlify (SvelteKit)",slug:"adapter-netlify",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-netlify"},{type:"devDependency",key:"@sveltejs/adapter-netlify"}]},{name:"Tailwind CSS",slug:"tailwind",category:"css",signals:[{type:"dependency",key:"tailwindcss"},{type:"devDependency",key:"tailwindcss"},{type:"file",pattern:"tailwind.config.*"}]},{name:"Bootstrap",slug:"bootstrap",category:"css",signals:[{type:"dependency",key:"bootstrap"}]},{name:"Styled Components",slug:"styled-components",category:"css",signals:[{type:"dependency",key:"styled-components"}]},{name:"shadcn/ui",slug:"shadcn",category:"ui",signals:[{type:"file",pattern:"components.json"},{type:"dependency",key:"@radix-ui/react-dialog"}]},{name:"Material UI",slug:"mui",category:"ui",signals:[{type:"dependency",key:"@mui/material"}]},{name:"Chakra UI",slug:"chakra",category:"ui",signals:[{type:"dependency",key:"@chakra-ui/react"}]},{name:"Ant Design",slug:"antd",category:"ui",signals:[{type:"dependency",key:"antd"}]},{name:"Redux",slug:"redux",category:"state",signals:[{type:"dependency",key:"@reduxjs/toolkit"}]},{name:"Zustand",slug:"zustand",category:"state",signals:[{type:"dependency",key:"zustand"}]},{name:"Jotai",slug:"jotai",category:"state",signals:[{type:"dependency",key:"jotai"}]},{name:"Pinia",slug:"pinia",category:"state",signals:[{type:"dependency",key:"pinia"}]},{name:"Express",slug:"express",category:"backend",signals:[{type:"dependency",key:"express"}]},{name:"Fastify",slug:"fastify",category:"backend",signals:[{type:"dependency",key:"fastify"}]},{name:"Hono",slug:"hono",category:"backend",signals:[{type:"dependency",key:"hono"}]},{name:"Elysia",slug:"elysia",category:"backend",signals:[{type:"dependency",key:"elysia"}]},{name:"NestJS",slug:"nestjs",category:"backend",signals:[{type:"dependency",key:"@nestjs/core"}]},{name:"Koa",slug:"koa",category:"backend",signals:[{type:"dependency",key:"koa"}]},{name:"Django",slug:"django",category:"backend",signals:[{type:"file",pattern:"manage.py"},{type:"file",pattern:"settings.py"}]},{name:"Flask",slug:"flask",category:"backend",signals:[{type:"file",pattern:"app.py"}]},{name:"FastAPI",slug:"fastapi",category:"backend",signals:[{type:"file",pattern:"main.py"}]},{name:"Rails",slug:"rails",category:"backend",signals:[{type:"file",pattern:"Gemfile"},{type:"file",pattern:"config/routes.rb"}]},{name:"Spring Boot",slug:"spring",category:"backend",signals:[{type:"file",pattern:"pom.xml"},{type:"file",pattern:"build.gradle"}]},{name:"Prisma",slug:"prisma",category:"database",signals:[{type:"dependency",key:"prisma"},{type:"devDependency",key:"prisma"},{type:"file",pattern:"prisma/schema.prisma"}]},{name:"Drizzle",slug:"drizzle",category:"database",signals:[{type:"dependency",key:"drizzle-orm"},{type:"file",pattern:"drizzle.config.*"}]},{name:"TypeORM",slug:"typeorm",category:"database",signals:[{type:"dependency",key:"typeorm"}]},{name:"Mongoose",slug:"mongoose",category:"database",signals:[{type:"dependency",key:"mongoose"}]},{name:"Vite",slug:"vite",category:"build",signals:[{type:"dependency",key:"vite"},{type:"devDependency",key:"vite"},{type:"file",pattern:"vite.config.*"}]},{name:"webpack",slug:"webpack",category:"build",signals:[{type:"dependency",key:"webpack"},{type:"devDependency",key:"webpack"},{type:"file",pattern:"webpack.config.*"}]},{name:"esbuild",slug:"esbuild",category:"build",signals:[{type:"dependency",key:"esbuild"},{type:"devDependency",key:"esbuild"}]},{name:"Turbopack",slug:"turbopack",category:"build",signals:[{type:"file",pattern:"turbo.json"}]},{name:"Jest",slug:"jest",category:"testing",signals:[{type:"devDependency",key:"jest"},{type:"file",pattern:"jest.config.*"}]},{name:"Vitest",slug:"vitest",category:"testing",signals:[{type:"devDependency",key:"vitest"}]},{name:"Playwright",slug:"playwright",category:"testing",signals:[{type:"devDependency",key:"@playwright/test"},{type:"file",pattern:"playwright.config.*"}]},{name:"Cypress",slug:"cypress",category:"testing",signals:[{type:"devDependency",key:"cypress"},{type:"file",pattern:"cypress.config.*"}]},{name:"Turborepo",slug:"turborepo",category:"monorepo",signals:[{type:"devDependency",key:"turbo"},{type:"file",pattern:"turbo.json"}]},{name:"Nx",slug:"nx",category:"monorepo",signals:[{type:"devDependency",key:"nx"},{type:"file",pattern:"nx.json"}]},{name:"Lerna",slug:"lerna",category:"monorepo",signals:[{type:"devDependency",key:"lerna"},{type:"file",pattern:"lerna.json"}]},{name:"MCP SDK",slug:"mcp",category:"ai",signals:[{type:"dependency",key:"@modelcontextprotocol/sdk"}]},{name:"Anthropic SDK",slug:"anthropic",category:"ai",signals:[{type:"dependency",key:"@anthropic-ai/sdk"}]},{name:"OpenAI SDK",slug:"openai",category:"ai",signals:[{type:"dependency",key:"openai"}]},{name:"LangChain",slug:"langchain",category:"ai",signals:[{type:"dependency",key:"langchain"}]},{name:"Vercel",slug:"vercel",category:"hosting",signals:[{type:"file",pattern:"vercel.json"}]},{name:"Netlify",slug:"netlify",category:"hosting",signals:[{type:"file",pattern:"netlify.toml"}]},{name:"Docker",slug:"docker",category:"hosting",signals:[{type:"file",pattern:"Dockerfile"},{type:"file",pattern:"docker-compose.yml"}]},{name:"Cloudflare Workers",slug:"cloudflare",category:"hosting",signals:[{type:"file",pattern:"wrangler.toml"},{type:"dependency",key:"wrangler"}]},{name:"GitHub Actions",slug:"github-actions",category:"cicd",signals:[{type:"file",pattern:".github/workflows/*.yml"}]},{name:"Commander.js",slug:"commander",category:"cli",signals:[{type:"dependency",key:"commander"}]}];function kJ($){let Z=I($,"Cargo.toml");if(!M(Z))return null;try{let z=r(Z,"utf-8").match(/^\s*\[package\][\s\S]*?^\s*name\s*=\s*"([^"]+)"/m);return z?z[1]:null}catch{return null}}function vJ($){let Z=I($,"Cargo.toml");if(!M(Z))return!1;try{let U=r(Z,"utf-8");return/^\s*\[\[bin\]\]/m.test(U)}catch{return!1}}function mJ($,Z){if(Z?.keywords?.some((z)=>/^sdk(?:\s|-|$)|\-sdk$/i.test(z)))return'package.json keywords contains "sdk"';if(Z?.name&&/(?:^|[-_/])sdk(?:[-_/]|$)/i.test(Z.name))return`package.json name "${Z.name}" → sdk`;let U=kJ($);if(U&&/(?:^|[-_])sdk(?:[-_]|$)/i.test(U))return`Cargo.toml name "${U}" → sdk`;return null}function pJ($){let Z=["manifest.json","public/manifest.json","src/manifest.json","app/manifest.json","extension/manifest.json","dist/manifest.json"];for(let U of Z){let z=I($,U);if(!M(z))continue;try{let X=JSON.parse(r(z,"utf-8"));if(typeof X.manifest_version==="number")return`${U} manifest_version ${X.manifest_version} (browser extension)`}catch{}}return null}function lJ($){let Z=/(numpy|pandas|jupyter|scikit-learn|sklearn|pytorch|tensorflow|matplotlib|scipy)/i,U=I($,"pyproject.toml");if(M(U))try{let Q=r(U,"utf-8").match(Z);if(Q)return`pyproject.toml depends on ${Q[1]}`}catch{}let z=I($,"requirements.txt");if(M(z))try{let Q=r(z,"utf-8").match(Z);if(Q)return`requirements.txt contains ${Q[1]}`}catch{}return null}function dJ($,Z){let U=["react-native","expo","@capacitor/core","@ionic/core"];if(Z){for(let z of U)if(Z.dependencies?.[z]||Z.devDependencies?.[z])return`${z} dependency`}if(M(I($,"pubspec.yaml")))return"pubspec.yaml (Flutter)";if(M(I($,"ios"))&&M(I($,"android")))return"ios/ + android/ dirs";return null}function cJ($,Z){let U=I($,"Cargo.toml");if(M(U))try{let X=r(U,"utf-8");if(/crate-type\s*=\s*\[[^\]]*"cdylib"/.test(X))return'Cargo.toml crate-type = ["cdylib"]';if(/wasm-bindgen|wasm-pack/i.test(X))return"Cargo.toml wasm-bindgen/wasm-pack"}catch{}let z=I($,"build.zig");if(M(z))try{let X=r(z,"utf-8");if(/\.wasm\b|wasm32|setOutputFormat\(\.wasm/i.test(X))return"build.zig wasm target"}catch{}if(Z?.keywords?.some((X)=>/^wasm(?:-|$)|webassembly/i.test(X)))return'package.json keywords contains "wasm"';return null}function aJ($,Z){if(!M(I($,"index.html")))return null;if(Z?.dependencies||Z?.devDependencies){let U={...Z.dependencies??{},...Z.devDependencies??{}};if(["react","vue","svelte","@sveltejs/kit","next","nuxt","astro","gatsby","solid-js","qwik"].some((X)=>U[X]))return null}return"index.html (vanilla, no frontend framework)"}function sJ($,Z){if(Z?.name&&/specification|^@.*\/spec/i.test(Z.name))return`package name "${Z.name}" → documentation`;if(Z?.keywords?.some((U)=>/^(specification|format-spec|standard)$/i.test(U)))return'package keywords contains "specification"';if(Z?.files&&Z.files.length>0){let U=/^(dist|src|lib|build|bin)\/|\.(js|ts|tsx|jsx|mjs|cjs|py|rs|go)$/,z=Z.files.some((Q)=>U.test(Q)),X=Z.files.some((Q)=>/\.(md|MD)|examples?\//.test(Q));if(!z&&X)return"package.json files = docs/examples only (no source)"}return null}function iJ($,Z,U){let z=U.find((X)=>X.slug==="astro"||X.slug==="gatsby");if(z)return`${z.name} (static-site framework)`;if(Z?.keywords?.some((X)=>/^(website|marketing|landing|brochure|portfolio)$/i.test(X)))return'package keywords contains "website"/"marketing"/"landing"';return null}function rJ($,Z){if(!Z)return null;let U={...Z.dependencies??{},...Z.devDependencies??{}},z=["@clerk/nextjs","@clerk/clerk-react","next-auth","@auth/core","auth0","@auth0/nextjs-auth0"],X=["stripe","@stripe/stripe-js","lemonsqueezy"],Q=z.some((q)=>U[q]),J=X.some((q)=>U[q]);if(Q&&J)return"auth + payment dependencies";return null}function nJ($,Z,U){if(Z?.keywords?.some((Q)=>/mcpaas/i.test(Q)))return'package keywords contains "mcpaas"';if(Z?.name&&/mcpaas/i.test(Z.name))return`package name "${Z.name}" → mcpaas`;let z=U.some((Q)=>Q.slug==="mcp"),X=U.some((Q)=>Q.category==="database");if(z&&X&&Z?.dependencies&&Object.keys(Z.dependencies).length>10)return"MCP + database + complex deps (platform shape)";return null}function oJ($,Z){if(!Z?.private)return null;if(!(!!Z.workspaces||M(I($,"pnpm-workspace.yaml"))))return null;return"private workspace + multi-package"}function D0($){let Z=I($,"package.json");if(!M(Z))return null;try{return JSON.parse(r(Z,"utf-8"))}catch{return null}}function tJ($,Z){if(!Z.includes("*"))return M(I($,Z));let U=Z.split("/");if(U.length===1){let q=Z.split("*")[0];try{return T8($).some((H)=>H.startsWith(q))}catch{return!1}}let z=I($,...U.slice(0,-1)),X=U[U.length-1],Q=X.split("*")[0],J=X.split("*")[1]||"";try{return T8(z).some((q)=>q.startsWith(Q)&&q.endsWith(J))}catch{return!1}}function eJ($,Z,U){switch($.type){case"dependency":return!!Z?.dependencies?.[$.key];case"devDependency":return!!Z?.devDependencies?.[$.key];case"file":return tJ(U,$.pattern);default:return!1}}function j9($){let Z=D0($);return M8.map((U)=>{let X=U.signals.filter((Q)=>eJ(Q,Z,$)).length/U.signals.length;return{name:U.name,slug:U.slug,category:U.category,confidence:X}}).filter((U)=>U.confidence>0).sort((U,z)=>z.confidence-U.confidence)}function P8($){let Z=D0($);if(Z?.devDependencies?.typescript||Z?.dependencies?.typescript)return"TypeScript";if(M(I($,"tsconfig.json")))return"TypeScript";if(M(I($,"Cargo.toml")))return"Rust";if(M(I($,"go.mod")))return"Go";if(M(I($,"pyproject.toml"))||M(I($,"setup.py")))return"Python";if(M(I($,"Gemfile")))return"Ruby";if(M(I($,"pom.xml"))||M(I($,"build.gradle")))return"Java";if(M(I($,"Package.swift")))return"Swift";if(M(I($,"build.zig")))return"Zig";if(Z)return"JavaScript";return"Unknown"}function F8($){let Z=D0($),U=j9($),z=[],X=sJ($,Z);if(X)return z.push(X),{type:"documentation",found:z};let Q=mJ($,Z);if(Q)return z.push(Q),{type:"sdk",found:z};let J=pJ($);if(J)return z.push(J),{type:"extension",found:z};let q=nJ($,Z,U);if(q)return z.push(q),{type:"mcpaas",found:z};let H=rJ($,Z);if(H)return z.push(H),{type:"saas",found:z};let G=cJ($,Z);if(G)return z.push(G),{type:"wasm",found:z};let W=dJ($,Z);if(W)return z.push(W),{type:"mobile",found:z};if(U.some((w)=>w.slug==="mcp"))return z.push("MCP SDK signal"),{type:"mcp",found:z};if(Z?.bin)return z.push("package.json bin"),{type:"cli",found:z};if(vJ($))return z.push("Cargo.toml [[bin]]"),{type:"cli",found:z};if(M(I($,"build.zig"))){if(z.push("build.zig"),M(I($,"src/main.zig")))return z.push("src/main.zig"),{type:"cli",found:z};if(M(I($,"src/root.zig")))return z.push("src/root.zig"),{type:"library",found:z}}let B=U.some((w)=>w.slug==="svelte"||w.slug==="sveltekit");if(Z?.private===!0&&(M(I($,"pnpm-workspace.yaml"))||Z?.workspaces!==void 0)&&B)return z.push("private workspace","Svelte"),{type:"framework",found:z};if(B)return z.push("Svelte/SvelteKit"),{type:"svelte",found:z};let O=U.some((w)=>w.category==="frontend"),V=U.some((w)=>w.category==="backend");if(Z?.private&&(Z.workspaces||M(I($,"pnpm-workspace.yaml")))&&O&&V)return z.push("private workspace + frontend + backend frameworks"),{type:"enterprise",found:z};let D=oJ($,Z);if(D)return z.push(D),{type:"monorepo-root",found:z};let R=iJ($,Z,U);if(R)return z.push(R),{type:"website",found:z};if(U.some((w)=>w.slug==="nextjs"||w.slug==="nuxt"))return z.push(U.find((w)=>w.slug==="nextjs")?"Next.js":"Nuxt"),{type:"fullstack",found:z};let K=U.some((w)=>w.category==="frontend"),A=U.some((w)=>w.category==="backend");if(K&&A)return z.push("frontend framework","backend framework"),{type:"fullstack",found:z};if(K)return z.push("frontend framework"),{type:"frontend",found:z};if(A)return z.push("backend framework"),{type:"backend",found:z};let F=lJ($);if(F)return z.push(F),{type:"data-science",found:z};let N=aJ($,Z);if(N)return z.push(N),{type:"html",found:z};if(Z?.main&&!Z?.bin)return z.push("package.json main (no bin)"),{type:"library",found:z};return z.push("no classifying signals — fallback"),{type:"library",found:z}}function K8($){if(M(I($,"bunfig.toml")))return"Bun";if(M(I($,"deno.json"))||M(I($,"deno.jsonc")))return"Deno";if(D0($))return"Node.js";if(M(I($,"Cargo.toml")))return"Rust";if(M(I($,"go.mod")))return"Go";return"Unknown"}function A8($){if(M(I($,"bun.lockb"))||M(I($,"bun.lock")))return"bun";if(M(I($,"pnpm-lock.yaml")))return"pnpm";if(M(I($,"yarn.lock")))return"yarn";if(M(I($,"package-lock.json")))return"npm";return"npm"}function N8($){if(M(I($,".github/workflows")))return"GitHub Actions";if(M(I($,".gitlab-ci.yml")))return"GitLab CI";if(M(I($,".circleci")))return"CircleCI";if(M(I($,"Jenkinsfile")))return"Jenkins";return null}function w8($){if(M(I($,"vercel.json")))return"Vercel";if(M(I($,"netlify.toml")))return"Netlify";if(M(I($,"wrangler.toml")))return"Cloudflare";if(M(I($,"Dockerfile")))return"Docker";if(M(I($,"fly.toml")))return"Fly.io";if(M(I($,"render.yaml")))return"Render";return null}function b8($){let Z=I($,"svelte.config.js");if(!M(Z))return null;try{let z=r(Z,"utf-8").match(/@sveltejs\/adapter-(\w+)/);if(z){let X=z[1];switch(X){case"vercel":return"Vercel";case"node":return"Node";case"static":return"Static";case"cloudflare":return"Cloudflare";case"netlify":return"Netlify";case"auto":return"Auto";default:return X}}return null}catch{return null}}function C8($){let Z=D0($);if(Z?.devDependencies?.vite||Z?.dependencies?.vite)return"Vite";if(Z?.devDependencies?.webpack||Z?.dependencies?.webpack)return"webpack";if(Z?.devDependencies?.esbuild||Z?.dependencies?.esbuild)return"esbuild";if(M(I($,"tsconfig.json"))&&Z?.devDependencies?.typescript)return"TypeScript (tsc)";return null}function j8($){return["package.json","Cargo.toml","pyproject.toml","go.mod","build.zig","build.zig.zon","src/index.ts","src/index.js","src/main.ts","src/cli.ts","src/main.rs","src/lib.rs","src/main.zig","src/root.zig","src/__init__.py","main.py","__main__.py","main.go","cmd/main.go","README.md","SPECIFICATION.md","BINARY-FORMAT.md","tsconfig.json","wrangler.toml","vercel.json"].filter((U)=>M(I($,U)))}function S8($,Z){let U={};if(Z?.scripts){for(let z of["build","test","lint","dev","start"])if(Z.scripts[z]){let X=M(I($,"bun.lock"))||M(I($,"bun.lockb"))?"bun run":"npm run";U[z]=`${X} ${z}`}}if(M(I($,"Cargo.toml"))){if(!U.build)U.build="cargo build --release";if(!U.test)U.test="cargo test";if(!U.lint)U.lint="cargo clippy"}if(M(I($,"build.zig"))){if(!U.build)U.build="zig build";if(!U.test)U.test="zig build test"}if(M(I($,"go.mod"))){if(!U.build)U.build="go build ./...";if(!U.test)U.test="go test ./..."}if(M(I($,"pyproject.toml"))||M(I($,"pytest.ini"))){if(!U.test)U.test="pytest"}return U}function E8($,Z,U,z){let X=[];if(z&&z!=="Unknown")X.push(z);let Q=new Set(["frontend","backend","database","build","css","state","monorepo"]);for(let J of U)if(Q.has(J.category))X.push(J.name);if(M(I($,"bunfig.toml")))X.push("Bun");else if(M(I($,"deno.json"))||M(I($,"deno.jsonc")))X.push("Deno");if(X.length<3&&Z?.dependencies){let J=Object.keys(Z.dependencies).slice(0,5);for(let q of J)if(!X.some((H)=>H.toLowerCase().includes(q.toLowerCase())))X.push(q)}return X}function g8($){let Z=D0($),U=j9($),z=P8($),X=F8($),Q=X.type,J=K8($),q=A8($),H=N8($),G=w8($),W=C8($),Y=U.find((j)=>j.category==="frontend"),B=U.find((j)=>j.category==="css"),L=U.find((j)=>j.category==="ui"),O=U.find((j)=>j.category==="state"),V=U.find((j)=>j.category==="backend"),D=U.find((j)=>j.category==="database"),R=O0[Q]||O0.library,P=Q==="framework",K=U.some((j)=>j.slug==="svelte"||j.slug==="sveltekit"),A=P&&K?"svelte":P?null:null,F=Q==="svelte"||A==="svelte",N=F?b8($):null,w=F&&U.some((j)=>j.slug==="sveltekit"),T=new Set(["css_framework","ui_library","database","connection","hosting"]),b={},p=f.filter((j)=>j.path.startsWith("stack."));for(let j of p){let S=j.path.replace("stack.","");if(!R.includes(j.category)){b[S]="slotignored";continue}if(P&&T.has(S)){b[S]="slotignored";continue}switch(S){case"frontend":b[S]=Y?.name??(Q==="cli"?"CLI":"");break;case"css_framework":b[S]=B?.name??"";break;case"ui_library":b[S]=L?.name??"";break;case"state_management":b[S]=F?O?.name??"Runes":O?.name??"";break;case"backend":b[S]=F?w?"SvelteKit":V?.name??"":V?.name??"";break;case"api_type":b[S]=w?"Server Routes":"";break;case"runtime":b[S]=J!=="Unknown"?J:"";break;case"database":b[S]=D?.name??"";break;case"connection":b[S]=D?.name??"";break;case"hosting":if(F&&N)b[S]=N;else b[S]=G??"";break;case"build":b[S]=F?"Vite":W??"";break;case"cicd":b[S]=H??"";break;case"package_manager":b[S]=q;break;default:b[S]="";break}}let l={},E=f.filter((j)=>j.path.startsWith("monorepo."));for(let j of E){let S=j.path.replace("monorepo.","");if(!R.includes(j.category))l[S]="slotignored";else l[S]=""}let E0={name:Z?.name??$.split("/").pop()??"project",goal:Z?.description??"",main_language:z,type:Q};if(P&&A)E0.framework=A;let g9=E8($,Z,U,z),y9=j8($),f9=S8($,Z),B$={faf_version:"2.5.0",project:E0,stack:b,human_context:{who:"",what:Z?.description??"",why:"",where:"",when:"",how:""},monorepo:l,_meta:{found:X.found}};if(g9.length>0)B$.tech_stack=g9;if(y9.length>0)B$.key_files=y9;if(Object.keys(f9).length>0)B$.commands=f9;return B$}import{existsSync as Zq,readFileSync as Uq}from"fs";import{join as zq}from"path";var y8={MIN_LENGTH:8,MAX_LENGTH:280},$q=[/^(see|see\s+the?)\s+readme/i,/^(tbd|todo|fixme|coming\s+soon)\b/i,/^(software|application|app|project|tool|library|framework)\.?$/i,/^(for\s+users|for\s+developers)\.?$/i,/^(description|goal|name|title)\.?$/i,/^lorem\s+ipsum/i,/^example(\s+\w+)?\.?$/i];function m($){let Z=$.trim();if(Z.length<y8.MIN_LENGTH)return!1;if(Z.length>y8.MAX_LENGTH)return!1;if($q.some((U)=>U.test(Z)))return!1;if(/^[\s|\-*+]/.test(Z))return!1;if(Z.split(`
|
|
216
|
-
`).length>4)return!1;return!0}function
|
|
216
|
+
`).replace(/<[^>]+>/g,"").replace(/!\[[^\]]*\]\([^)]*\)/g,"").trim()}function W0($){return $.replace(/\s+/g," ").replace(/[#*`>]/g,"").trim().slice(0,280)}function S0($,Z){let U=new RegExp(`##?\\s+(?:${Z})\\s*\\n+([\\s\\S]+?)(?:\\n\\n|\\n##?|$)`,"i"),z=$.match(U);return z&&z[1]&&z[1].trim().length>20?W0(z[1]):null}function Y$($,Z,U=30){for(let z of Z){let X=$.match(z);if(X&&X[1]&&X[1].trim().length>=U)return W0(X[1])}return null}function sJ($,Z){if($?.description&&$.description.length>20)return W0($.description);let U=S0(Z,"Purpose|What|About|Overview|Description");if(U)return U;let z=Z.split(/\n\s*\n/).map((X)=>X.trim()).find((X)=>X.length>30&&!X.startsWith("#"));if(z)return W0(z);return Y$(Z,[/(?:core|main|primary)\s+(?:problem|challenge)(?:\s+is)?\s*:?\s*([^.\n]{30,})/i,/solves?\s+(?:the\s+)?(?:problem\s+of\s+)?([^.\n]{30,})/i])}function iJ($){let Z=S0($,"Audience|Who|Who is this for|Who it.s for");if(Z)return Z;return Y$($,[/\b(?:designed|built|made)\s+for\s+((?:developers?|teams?|engineers?|builders?|founders?)[^.\n]{0,80})/i,/\bfor\s+((?:developers?|teams?|engineers?|builders?|founders?)[^.\n]{0,80})/i],8)}function rJ($){let Z=S0($,"Why|Mission|Motivation|Rationale|Vision");if(Z)return Z;return Y$($,[/(?:our\s+)?(?:mission|purpose|goal)(?:\s+is)?\s*:?\s*([^.\n]{30,})/i,/(?:built|created|designed)\s+(?:because|to)\s+([^.\n]{30,})/i])}function nJ($,Z){let U=typeof $?.repository==="string"?$.repository:$?.repository?.url;if(U)return W0(U.replace(/^git\+/,"").replace(/\.git$/,""));if($?.homepage)return W0($.homepage);return Y$(Z,[/\b(?:deployed|hosted|available|published)\s+(?:on|at|via)\s+([^.\n]{4,80})/i],4)}function oJ($){let Z=S0($,"Timeline|Status|Release|Roadmap");if(Z)return Z;return Y$($,[/\b(production\s+since\s+[^.\n]{4,60})/i,/\b((?:in\s+)?(?:production|beta|alpha|development)\s+since\s+[^.\n]{4,60})/i,/\bsince\s+((?:[A-Z][a-z]+\s+)?\d{4}[^.\n]{0,40})/],4)}function tJ($,Z){let U=$?.scripts?Object.keys($.scripts):[],z=["start","dev","build"].filter((Q)=>U.includes(Q));if(z.length)return W0(z.map((Q)=>`npm run ${Q}`).join(", "));let X=S0(Z,"Usage|Getting Started|Install|Installation|Quick Start");if(X)return X;return S0(Z,"Architecture|Approach|How it works|Methodology|How")}import{existsSync as M,readFileSync as r,readdirSync as w8}from"fs";import{join as I}from"path";var N8=[{name:"Next.js",slug:"nextjs",category:"frontend",signals:[{type:"dependency",key:"next"},{type:"file",pattern:"next.config.*"}]},{name:"React",slug:"react",category:"frontend",signals:[{type:"dependency",key:"react"}]},{name:"SvelteKit",slug:"sveltekit",category:"frontend",signals:[{type:"dependency",key:"@sveltejs/kit"},{type:"file",pattern:"svelte.config.*"}]},{name:"Svelte",slug:"svelte",category:"frontend",signals:[{type:"dependency",key:"svelte"},{type:"devDependency",key:"svelte"}]},{name:"Vue.js",slug:"vue",category:"frontend",signals:[{type:"dependency",key:"vue"}]},{name:"Nuxt",slug:"nuxt",category:"frontend",signals:[{type:"dependency",key:"nuxt"},{type:"file",pattern:"nuxt.config.*"}]},{name:"Angular",slug:"angular",category:"frontend",signals:[{type:"dependency",key:"@angular/core"},{type:"file",pattern:"angular.json"}]},{name:"Astro",slug:"astro",category:"frontend",signals:[{type:"dependency",key:"astro"},{type:"file",pattern:"astro.config.*"}]},{name:"Solid",slug:"solid",category:"frontend",signals:[{type:"dependency",key:"solid-js"}]},{name:"Remix",slug:"remix",category:"frontend",signals:[{type:"dependency",key:"@remix-run/react"}]},{name:"Gatsby",slug:"gatsby",category:"frontend",signals:[{type:"dependency",key:"gatsby"},{type:"file",pattern:"gatsby-config.*"}]},{name:"Qwik",slug:"qwik",category:"frontend",signals:[{type:"dependency",key:"@builder.io/qwik"}]},{name:"Vercel (SvelteKit)",slug:"adapter-vercel",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-vercel"},{type:"devDependency",key:"@sveltejs/adapter-vercel"}]},{name:"Node (SvelteKit)",slug:"adapter-node",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-node"},{type:"devDependency",key:"@sveltejs/adapter-node"}]},{name:"Static (SvelteKit)",slug:"adapter-static",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-static"},{type:"devDependency",key:"@sveltejs/adapter-static"}]},{name:"Cloudflare (SvelteKit)",slug:"adapter-cloudflare",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-cloudflare"},{type:"devDependency",key:"@sveltejs/adapter-cloudflare"}]},{name:"Netlify (SvelteKit)",slug:"adapter-netlify",category:"hosting",signals:[{type:"dependency",key:"@sveltejs/adapter-netlify"},{type:"devDependency",key:"@sveltejs/adapter-netlify"}]},{name:"Tailwind CSS",slug:"tailwind",category:"css",signals:[{type:"dependency",key:"tailwindcss"},{type:"devDependency",key:"tailwindcss"},{type:"file",pattern:"tailwind.config.*"}]},{name:"Bootstrap",slug:"bootstrap",category:"css",signals:[{type:"dependency",key:"bootstrap"}]},{name:"Styled Components",slug:"styled-components",category:"css",signals:[{type:"dependency",key:"styled-components"}]},{name:"shadcn/ui",slug:"shadcn",category:"ui",signals:[{type:"file",pattern:"components.json"},{type:"dependency",key:"@radix-ui/react-dialog"}]},{name:"Material UI",slug:"mui",category:"ui",signals:[{type:"dependency",key:"@mui/material"}]},{name:"Chakra UI",slug:"chakra",category:"ui",signals:[{type:"dependency",key:"@chakra-ui/react"}]},{name:"Ant Design",slug:"antd",category:"ui",signals:[{type:"dependency",key:"antd"}]},{name:"Redux",slug:"redux",category:"state",signals:[{type:"dependency",key:"@reduxjs/toolkit"}]},{name:"Zustand",slug:"zustand",category:"state",signals:[{type:"dependency",key:"zustand"}]},{name:"Jotai",slug:"jotai",category:"state",signals:[{type:"dependency",key:"jotai"}]},{name:"Pinia",slug:"pinia",category:"state",signals:[{type:"dependency",key:"pinia"}]},{name:"Express",slug:"express",category:"backend",signals:[{type:"dependency",key:"express"}]},{name:"Fastify",slug:"fastify",category:"backend",signals:[{type:"dependency",key:"fastify"}]},{name:"Hono",slug:"hono",category:"backend",signals:[{type:"dependency",key:"hono"}]},{name:"Elysia",slug:"elysia",category:"backend",signals:[{type:"dependency",key:"elysia"}]},{name:"NestJS",slug:"nestjs",category:"backend",signals:[{type:"dependency",key:"@nestjs/core"}]},{name:"Koa",slug:"koa",category:"backend",signals:[{type:"dependency",key:"koa"}]},{name:"Django",slug:"django",category:"backend",signals:[{type:"file",pattern:"manage.py"},{type:"file",pattern:"settings.py"}]},{name:"Flask",slug:"flask",category:"backend",signals:[{type:"file",pattern:"app.py"}]},{name:"FastAPI",slug:"fastapi",category:"backend",signals:[{type:"file",pattern:"main.py"}]},{name:"Rails",slug:"rails",category:"backend",signals:[{type:"file",pattern:"Gemfile"},{type:"file",pattern:"config/routes.rb"}]},{name:"Spring Boot",slug:"spring",category:"backend",signals:[{type:"file",pattern:"pom.xml"},{type:"file",pattern:"build.gradle"}]},{name:"Prisma",slug:"prisma",category:"database",signals:[{type:"dependency",key:"prisma"},{type:"devDependency",key:"prisma"},{type:"file",pattern:"prisma/schema.prisma"}]},{name:"Drizzle",slug:"drizzle",category:"database",signals:[{type:"dependency",key:"drizzle-orm"},{type:"file",pattern:"drizzle.config.*"}]},{name:"TypeORM",slug:"typeorm",category:"database",signals:[{type:"dependency",key:"typeorm"}]},{name:"Mongoose",slug:"mongoose",category:"database",signals:[{type:"dependency",key:"mongoose"}]},{name:"Vite",slug:"vite",category:"build",signals:[{type:"dependency",key:"vite"},{type:"devDependency",key:"vite"},{type:"file",pattern:"vite.config.*"}]},{name:"webpack",slug:"webpack",category:"build",signals:[{type:"dependency",key:"webpack"},{type:"devDependency",key:"webpack"},{type:"file",pattern:"webpack.config.*"}]},{name:"esbuild",slug:"esbuild",category:"build",signals:[{type:"dependency",key:"esbuild"},{type:"devDependency",key:"esbuild"}]},{name:"Turbopack",slug:"turbopack",category:"build",signals:[{type:"file",pattern:"turbo.json"}]},{name:"Jest",slug:"jest",category:"testing",signals:[{type:"devDependency",key:"jest"},{type:"file",pattern:"jest.config.*"}]},{name:"Vitest",slug:"vitest",category:"testing",signals:[{type:"devDependency",key:"vitest"}]},{name:"Playwright",slug:"playwright",category:"testing",signals:[{type:"devDependency",key:"@playwright/test"},{type:"file",pattern:"playwright.config.*"}]},{name:"Cypress",slug:"cypress",category:"testing",signals:[{type:"devDependency",key:"cypress"},{type:"file",pattern:"cypress.config.*"}]},{name:"Turborepo",slug:"turborepo",category:"monorepo",signals:[{type:"devDependency",key:"turbo"},{type:"file",pattern:"turbo.json"}]},{name:"Nx",slug:"nx",category:"monorepo",signals:[{type:"devDependency",key:"nx"},{type:"file",pattern:"nx.json"}]},{name:"Lerna",slug:"lerna",category:"monorepo",signals:[{type:"devDependency",key:"lerna"},{type:"file",pattern:"lerna.json"}]},{name:"MCP SDK",slug:"mcp",category:"ai",signals:[{type:"dependency",key:"@modelcontextprotocol/sdk"}]},{name:"Anthropic SDK",slug:"anthropic",category:"ai",signals:[{type:"dependency",key:"@anthropic-ai/sdk"}]},{name:"OpenAI SDK",slug:"openai",category:"ai",signals:[{type:"dependency",key:"openai"}]},{name:"LangChain",slug:"langchain",category:"ai",signals:[{type:"dependency",key:"langchain"}]},{name:"Vercel",slug:"vercel",category:"hosting",signals:[{type:"file",pattern:"vercel.json"}]},{name:"Netlify",slug:"netlify",category:"hosting",signals:[{type:"file",pattern:"netlify.toml"}]},{name:"Docker",slug:"docker",category:"hosting",signals:[{type:"file",pattern:"Dockerfile"},{type:"file",pattern:"docker-compose.yml"}]},{name:"Cloudflare Workers",slug:"cloudflare",category:"hosting",signals:[{type:"file",pattern:"wrangler.toml"},{type:"dependency",key:"wrangler"}]},{name:"GitHub Actions",slug:"github-actions",category:"cicd",signals:[{type:"file",pattern:".github/workflows/*.yml"}]},{name:"Commander.js",slug:"commander",category:"cli",signals:[{type:"dependency",key:"commander"}]}];function eJ($){let Z=I($,"Cargo.toml");if(!M(Z))return null;try{let z=r(Z,"utf-8").match(/^\s*\[package\][\s\S]*?^\s*name\s*=\s*"([^"]+)"/m);return z?z[1]:null}catch{return null}}function $q($){let Z=I($,"Cargo.toml");if(!M(Z))return!1;try{let U=r(Z,"utf-8");return/^\s*\[\[bin\]\]/m.test(U)}catch{return!1}}function Zq($,Z){if(Z?.keywords?.some((z)=>/^sdk(?:\s|-|$)|\-sdk$/i.test(z)))return'package.json keywords contains "sdk"';if(Z?.name&&/(?:^|[-_/])sdk(?:[-_/]|$)/i.test(Z.name))return`package.json name "${Z.name}" → sdk`;let U=eJ($);if(U&&/(?:^|[-_])sdk(?:[-_]|$)/i.test(U))return`Cargo.toml name "${U}" → sdk`;return null}function Uq($){let Z=["manifest.json","public/manifest.json","src/manifest.json","app/manifest.json","extension/manifest.json","dist/manifest.json"];for(let U of Z){let z=I($,U);if(!M(z))continue;try{let X=JSON.parse(r(z,"utf-8"));if(typeof X.manifest_version==="number")return`${U} manifest_version ${X.manifest_version} (browser extension)`}catch{}}return null}function zq($){let Z=/(numpy|pandas|jupyter|scikit-learn|sklearn|pytorch|tensorflow|matplotlib|scipy)/i,U=I($,"pyproject.toml");if(M(U))try{let Q=r(U,"utf-8").match(Z);if(Q)return`pyproject.toml depends on ${Q[1]}`}catch{}let z=I($,"requirements.txt");if(M(z))try{let Q=r(z,"utf-8").match(Z);if(Q)return`requirements.txt contains ${Q[1]}`}catch{}return null}function Xq($,Z){let U=["react-native","expo","@capacitor/core","@ionic/core"];if(Z){for(let z of U)if(Z.dependencies?.[z]||Z.devDependencies?.[z])return`${z} dependency`}if(M(I($,"pubspec.yaml")))return"pubspec.yaml (Flutter)";if(M(I($,"ios"))&&M(I($,"android")))return"ios/ + android/ dirs";return null}function Qq($,Z){let U=I($,"Cargo.toml");if(M(U))try{let X=r(U,"utf-8");if(/crate-type\s*=\s*\[[^\]]*"cdylib"/.test(X))return'Cargo.toml crate-type = ["cdylib"]';if(/wasm-bindgen|wasm-pack/i.test(X))return"Cargo.toml wasm-bindgen/wasm-pack"}catch{}let z=I($,"build.zig");if(M(z))try{let X=r(z,"utf-8");if(/\.wasm\b|wasm32|setOutputFormat\(\.wasm/i.test(X))return"build.zig wasm target"}catch{}if(Z?.keywords?.some((X)=>/^wasm(?:-|$)|webassembly/i.test(X)))return'package.json keywords contains "wasm"';return null}function Jq($,Z){if(!M(I($,"index.html")))return null;if(Z?.dependencies||Z?.devDependencies){let U={...Z.dependencies??{},...Z.devDependencies??{}};if(["react","vue","svelte","@sveltejs/kit","next","nuxt","astro","gatsby","solid-js","qwik"].some((X)=>U[X]))return null}return"index.html (vanilla, no frontend framework)"}function qq($,Z){if(Z?.name&&/specification|^@.*\/spec/i.test(Z.name))return`package name "${Z.name}" → documentation`;if(Z?.keywords?.some((U)=>/^(specification|format-spec|standard)$/i.test(U)))return'package keywords contains "specification"';if(Z?.files&&Z.files.length>0){let U=/^(dist|src|lib|build|bin)\/|\.(js|ts|tsx|jsx|mjs|cjs|py|rs|go)$/,z=Z.files.some((Q)=>U.test(Q)),X=Z.files.some((Q)=>/\.(md|MD)|examples?\//.test(Q));if(!z&&X)return"package.json files = docs/examples only (no source)"}return null}function Hq($,Z,U){let z=U.find((X)=>X.slug==="astro"||X.slug==="gatsby");if(z)return`${z.name} (static-site framework)`;if(Z?.keywords?.some((X)=>/^(website|marketing|landing|brochure|portfolio)$/i.test(X)))return'package keywords contains "website"/"marketing"/"landing"';return null}function Gq($,Z){if(!Z)return null;let U={...Z.dependencies??{},...Z.devDependencies??{}},z=["@clerk/nextjs","@clerk/clerk-react","next-auth","@auth/core","auth0","@auth0/nextjs-auth0"],X=["stripe","@stripe/stripe-js","lemonsqueezy"],Q=z.some((q)=>U[q]),J=X.some((q)=>U[q]);if(Q&&J)return"auth + payment dependencies";return null}function Yq($,Z,U){if(Z?.keywords?.some((Q)=>/mcpaas/i.test(Q)))return'package keywords contains "mcpaas"';if(Z?.name&&/mcpaas/i.test(Z.name))return`package name "${Z.name}" → mcpaas`;let z=U.some((Q)=>Q.slug==="mcp"),X=U.some((Q)=>Q.category==="database");if(z&&X&&Z?.dependencies&&Object.keys(Z.dependencies).length>10)return"MCP + database + complex deps (platform shape)";return null}function Bq($,Z){if(!Z?.private)return null;if(!(!!Z.workspaces||M(I($,"pnpm-workspace.yaml"))))return null;return"private workspace + multi-package"}function L0($){let Z=I($,"package.json");if(!M(Z))return null;try{return JSON.parse(r(Z,"utf-8"))}catch{return null}}function Vq($,Z){if(!Z.includes("*"))return M(I($,Z));let U=Z.split("/");if(U.length===1){let q=Z.split("*")[0];try{return w8($).some((H)=>H.startsWith(q))}catch{return!1}}let z=I($,...U.slice(0,-1)),X=U[U.length-1],Q=X.split("*")[0],J=X.split("*")[1]||"";try{return w8(z).some((q)=>q.startsWith(Q)&&q.endsWith(J))}catch{return!1}}function Wq($,Z,U){switch($.type){case"dependency":return!!Z?.dependencies?.[$.key];case"devDependency":return!!Z?.devDependencies?.[$.key];case"file":return Vq(U,$.pattern);default:return!1}}function S2($){let Z=L0($);return N8.map((U)=>{let X=U.signals.filter((Q)=>Wq(Q,Z,$)).length/U.signals.length;return{name:U.name,slug:U.slug,category:U.category,confidence:X}}).filter((U)=>U.confidence>0).sort((U,z)=>z.confidence-U.confidence)}function b8($){let Z=L0($);if(Z?.devDependencies?.typescript||Z?.dependencies?.typescript)return"TypeScript";if(M(I($,"tsconfig.json")))return"TypeScript";if(M(I($,"Cargo.toml")))return"Rust";if(M(I($,"go.mod")))return"Go";if(M(I($,"pyproject.toml"))||M(I($,"setup.py")))return"Python";if(M(I($,"Gemfile")))return"Ruby";if(M(I($,"pom.xml"))||M(I($,"build.gradle")))return"Java";if(M(I($,"Package.swift")))return"Swift";if(M(I($,"build.zig")))return"Zig";if(Z)return"JavaScript";return"Unknown"}function C8($){let Z=L0($),U=S2($),z=[],X=qq($,Z);if(X)return z.push(X),{type:"documentation",found:z};let Q=Zq($,Z);if(Q)return z.push(Q),{type:"sdk",found:z};let J=Uq($);if(J)return z.push(J),{type:"extension",found:z};let q=Yq($,Z,U);if(q)return z.push(q),{type:"mcpaas",found:z};let H=Gq($,Z);if(H)return z.push(H),{type:"saas",found:z};let G=Qq($,Z);if(G)return z.push(G),{type:"wasm",found:z};let W=Xq($,Z);if(W)return z.push(W),{type:"mobile",found:z};if(U.some((w)=>w.slug==="mcp"))return z.push("MCP SDK signal"),{type:"mcp",found:z};if(Z?.bin)return z.push("package.json bin"),{type:"cli",found:z};if($q($))return z.push("Cargo.toml [[bin]]"),{type:"cli",found:z};if(M(I($,"build.zig"))){if(z.push("build.zig"),M(I($,"src/main.zig")))return z.push("src/main.zig"),{type:"cli",found:z};if(M(I($,"src/root.zig")))return z.push("src/root.zig"),{type:"library",found:z}}let B=U.some((w)=>w.slug==="svelte"||w.slug==="sveltekit");if(Z?.private===!0&&(M(I($,"pnpm-workspace.yaml"))||Z?.workspaces!==void 0)&&B)return z.push("private workspace","Svelte"),{type:"framework",found:z};if(B)return z.push("Svelte/SvelteKit"),{type:"svelte",found:z};let D=U.some((w)=>w.category==="frontend"),V=U.some((w)=>w.category==="backend");if(Z?.private&&(Z.workspaces||M(I($,"pnpm-workspace.yaml")))&&D&&V)return z.push("private workspace + frontend + backend frameworks"),{type:"enterprise",found:z};let L=Bq($,Z);if(L)return z.push(L),{type:"monorepo-root",found:z};let R=Hq($,Z,U);if(R)return z.push(R),{type:"website",found:z};if(U.some((w)=>w.slug==="nextjs"||w.slug==="nuxt"))return z.push(U.find((w)=>w.slug==="nextjs")?"Next.js":"Nuxt"),{type:"fullstack",found:z};let K=U.some((w)=>w.category==="frontend"),A=U.some((w)=>w.category==="backend");if(K&&A)return z.push("frontend framework","backend framework"),{type:"fullstack",found:z};if(K)return z.push("frontend framework"),{type:"frontend",found:z};if(A)return z.push("backend framework"),{type:"backend",found:z};let F=zq($);if(F)return z.push(F),{type:"data-science",found:z};let N=Jq($,Z);if(N)return z.push(N),{type:"html",found:z};if(Z?.main&&!Z?.bin)return z.push("package.json main (no bin)"),{type:"library",found:z};return z.push("no classifying signals — fallback"),{type:"library",found:z}}function j8($){if(M(I($,"bunfig.toml")))return"Bun";if(M(I($,"deno.json"))||M(I($,"deno.jsonc")))return"Deno";if(L0($))return"Node.js";if(M(I($,"Cargo.toml")))return"Rust";if(M(I($,"go.mod")))return"Go";return"Unknown"}function S8($){if(M(I($,"bun.lockb"))||M(I($,"bun.lock")))return"bun";if(M(I($,"pnpm-lock.yaml")))return"pnpm";if(M(I($,"yarn.lock")))return"yarn";if(M(I($,"package-lock.json")))return"npm";return"npm"}function E8($){if(M(I($,".github/workflows")))return"GitHub Actions";if(M(I($,".gitlab-ci.yml")))return"GitLab CI";if(M(I($,".circleci")))return"CircleCI";if(M(I($,"Jenkinsfile")))return"Jenkins";return null}function g8($){if(M(I($,"vercel.json")))return"Vercel";if(M(I($,"netlify.toml")))return"Netlify";if(M(I($,"wrangler.toml")))return"Cloudflare";if(M(I($,"Dockerfile")))return"Docker";if(M(I($,"fly.toml")))return"Fly.io";if(M(I($,"render.yaml")))return"Render";return null}function y8($){let Z=I($,"svelte.config.js");if(!M(Z))return null;try{let z=r(Z,"utf-8").match(/@sveltejs\/adapter-(\w+)/);if(z){let X=z[1];switch(X){case"vercel":return"Vercel";case"node":return"Node";case"static":return"Static";case"cloudflare":return"Cloudflare";case"netlify":return"Netlify";case"auto":return"Auto";default:return X}}return null}catch{return null}}function f8($){let Z=L0($);if(Z?.devDependencies?.vite||Z?.dependencies?.vite)return"Vite";if(Z?.devDependencies?.webpack||Z?.dependencies?.webpack)return"webpack";if(Z?.devDependencies?.esbuild||Z?.dependencies?.esbuild)return"esbuild";if(M(I($,"tsconfig.json"))&&Z?.devDependencies?.typescript)return"TypeScript (tsc)";return null}function x8($){return["package.json","Cargo.toml","pyproject.toml","go.mod","build.zig","build.zig.zon","src/index.ts","src/index.js","src/main.ts","src/cli.ts","src/main.rs","src/lib.rs","src/main.zig","src/root.zig","src/__init__.py","main.py","__main__.py","main.go","cmd/main.go","README.md","SPECIFICATION.md","BINARY-FORMAT.md","tsconfig.json","wrangler.toml","vercel.json"].filter((U)=>M(I($,U)))}function h8($,Z){let U={};if(Z?.scripts){for(let z of["build","test","lint","dev","start"])if(Z.scripts[z]){let X=M(I($,"bun.lock"))||M(I($,"bun.lockb"))?"bun run":"npm run";U[z]=`${X} ${z}`}}if(M(I($,"Cargo.toml"))){if(!U.build)U.build="cargo build --release";if(!U.test)U.test="cargo test";if(!U.lint)U.lint="cargo clippy"}if(M(I($,"build.zig"))){if(!U.build)U.build="zig build";if(!U.test)U.test="zig build test"}if(M(I($,"go.mod"))){if(!U.build)U.build="go build ./...";if(!U.test)U.test="go test ./..."}if(M(I($,"pyproject.toml"))||M(I($,"pytest.ini"))){if(!U.test)U.test="pytest"}return U}function u8($,Z,U,z){let X=[];if(z&&z!=="Unknown")X.push(z);let Q=new Set(["frontend","backend","database","build","css","state","monorepo"]);for(let J of U)if(Q.has(J.category))X.push(J.name);if(M(I($,"bunfig.toml")))X.push("Bun");else if(M(I($,"deno.json"))||M(I($,"deno.jsonc")))X.push("Deno");if(X.length<3&&Z?.dependencies){let J=Object.keys(Z.dependencies).slice(0,5);for(let q of J)if(!X.some((H)=>H.toLowerCase().includes(q.toLowerCase())))X.push(q)}return X}function k8($){let Z=L0($),U=S2($),z=b8($),X=C8($),Q=X.type,J=j8($),q=S8($),H=E8($),G=g8($),W=f8($),Y=U.find((j)=>j.category==="frontend"),B=U.find((j)=>j.category==="css"),O=U.find((j)=>j.category==="ui"),D=U.find((j)=>j.category==="state"),V=U.find((j)=>j.category==="backend"),L=U.find((j)=>j.category==="database"),R=D0[Q]||D0.library,T=Q==="framework",K=U.some((j)=>j.slug==="svelte"||j.slug==="sveltekit"),A=T&&K?"svelte":T?null:null,F=Q==="svelte"||A==="svelte",N=F?y8($):null,w=F&&U.some((j)=>j.slug==="sveltekit"),P=new Set(["css_framework","ui_library","database","connection","hosting"]),b={},p=f.filter((j)=>j.path.startsWith("stack."));for(let j of p){let S=j.path.replace("stack.","");if(!R.includes(j.category)){b[S]="slotignored";continue}if(T&&P.has(S)){b[S]="slotignored";continue}switch(S){case"frontend":b[S]=Y?.name??(Q==="cli"?"CLI":"");break;case"css_framework":b[S]=B?.name??"";break;case"ui_library":b[S]=O?.name??"";break;case"state_management":b[S]=F?D?.name??"Runes":D?.name??"";break;case"backend":b[S]=F?w?"SvelteKit":V?.name??"":V?.name??"";break;case"api_type":b[S]=w?"Server Routes":"";break;case"runtime":b[S]=J!=="Unknown"?J:"";break;case"database":b[S]=L?.name??"";break;case"connection":b[S]=L?.name??"";break;case"hosting":if(F&&N)b[S]=N;else b[S]=G??"";break;case"build":b[S]=F?"Vite":W??"";break;case"cicd":b[S]=H??"";break;case"package_manager":b[S]=q;break;default:b[S]="";break}}let l={},E=f.filter((j)=>j.path.startsWith("monorepo."));for(let j of E){let S=j.path.replace("monorepo.","");if(!R.includes(j.category))l[S]="slotignored";else l[S]=""}let E0={name:Z?.name??$.split("/").pop()??"project",goal:Z?.description??"",main_language:z,type:Q};if(T&&A)E0.framework=A;let y2=u8($,Z,U,z),f2=x8($),x2=h8($,Z),B$={faf_version:"2.5.0",project:E0,stack:b,human_context:{who:"",what:Z?.description??"",why:"",where:"",when:"",how:""},monorepo:l,_meta:{found:X.found}};if(y2.length>0)B$.tech_stack=y2;if(f2.length>0)B$.key_files=f2;if(Object.keys(x2).length>0)B$.commands=x2;return B$}import{existsSync as Oq,readFileSync as Dq}from"fs";import{join as _q}from"path";var v8={MIN_LENGTH:8,MAX_LENGTH:280},Lq=[/^(see|see\s+the?)\s+readme/i,/^(tbd|todo|fixme|coming\s+soon)\b/i,/^(software|application|app|project|tool|library|framework)\.?$/i,/^(for\s+users|for\s+developers)\.?$/i,/^(description|goal|name|title)\.?$/i,/^lorem\s+ipsum/i,/^example(\s+\w+)?\.?$/i];function m($){let Z=$.trim();if(Z.length<v8.MIN_LENGTH)return!1;if(Z.length>v8.MAX_LENGTH)return!1;if(Lq.some((U)=>U.test(Z)))return!1;if(/^[\s|\-*+]/.test(Z))return!1;if(Z.split(`
|
|
217
|
+
`).length>4)return!1;return!0}function Iq($){let Z=$.split(`
|
|
217
218
|
`),U=0;while(U<Z.length&&/^(#\s|$)/.test(Z[U].trim()))U++;while(U<Z.length){let z=Z[U].trim();if(/^\[!\[/.test(z)){U++;continue}if(/^!\[/.test(z)){U++;continue}if(/^<img\s/i.test(z)){U++;continue}if(z===""){U++;continue}break}return Z.slice(U).join(`
|
|
218
|
-
`)}function
|
|
219
|
-
`),z=[];for(let X of U){let Q=X.trim();if(Q===""){if(z.length>0)break;continue}if(/^(#|>|```|---|\||\s*[-*+]\s|\d+\.\s)/.test(Q))break;if(/^\*\*[^*]+\*\*\s*$/.test(Q)&&z.length===0)continue;z.push(Q)}if(z.length===0)return null;return z.join(" ").trim()}function
|
|
220
|
-
`),z=0;while(z<U.length){let Q=U[z].trim().match(/^(#{1,6})\s+(.+)$/);if(Q&&Z.test(Q[2])){let J=Q[1].length,q=[];z++;while(z<U.length){let H=U[z].trim(),G=H.match(/^(#{1,6})\s+/);if(G&&G[1].length<=J)break;if(H===""){if(q.length>0)break;z++;continue}if(/^(>|```|---|\||\s*[-*+]\s|\d+\.\s)/.test(H))break;q.push(H),z++}if(q.length===0)return null;return q.join(" ").trim()}z++}return null}function
|
|
221
|
-
`),z=!1;for(let X of U){let Q=X.trim();if(/^\[/.test(Q)){z=Q==="[package]";continue}if(!z)continue;let J=Q.match(new RegExp(`^${Z}\\s*=\\s*(.+)$`));if(J){let q=J[1].trim();q=q.replace(/\s*#.*$/,"").trim();let H=q.match(/^"((?:[^"\\]|\\.)*)"$/)||q.match(/^'((?:[^'\\]|\\.)*)'$/);if(H)return H[1];return q}}return null}function
|
|
219
|
+
`)}function Rq($){let U=Iq($).split(`
|
|
220
|
+
`),z=[];for(let X of U){let Q=X.trim();if(Q===""){if(z.length>0)break;continue}if(/^(#|>|```|---|\||\s*[-*+]\s|\d+\.\s)/.test(Q))break;if(/^\*\*[^*]+\*\*\s*$/.test(Q)&&z.length===0)continue;z.push(Q)}if(z.length===0)return null;return z.join(" ").trim()}function O0($,Z){let U=$.split(`
|
|
221
|
+
`),z=0;while(z<U.length){let Q=U[z].trim().match(/^(#{1,6})\s+(.+)$/);if(Q&&Z.test(Q[2])){let J=Q[1].length,q=[];z++;while(z<U.length){let H=U[z].trim(),G=H.match(/^(#{1,6})\s+/);if(G&&G[1].length<=J)break;if(H===""){if(q.length>0)break;z++;continue}if(/^(>|```|---|\||\s*[-*+]\s|\d+\.\s)/.test(H))break;q.push(H),z++}if(q.length===0)return null;return q.join(" ").trim()}z++}return null}function Mq($){let Z=O0($,/^(use\s+cases?|goal)\b/i);if(Z&&m(Z))return Z;let U=Rq($);if(U&&m(U))return U;return}function Pq($){let Z=O0($,/^(about|description|overview|what(\s+is\s+this)?)\b/i);if(Z&&m(Z))return Z;return}function Tq($){let Z=O0($,/^(audience|users?|for\s+whom|who(\s+is\s+this\s+for)?)\b/i);if(Z&&m(Z))return Z;return}function Fq($){let Z=O0($,/^(why|motivation|problem|rationale)\b/i);if(Z&&m(Z))return Z;return}function Kq($){let Z=O0($,/^(deployment|where(\s+it\s+runs)?|hosting)\b/i);if(Z&&m(Z))return Z;return}function Aq($){let Z=O0($,/^(status|history|timeline|since|launched)\b/i);if(Z&&m(Z))return Z;return}function Nq($){let Z=O0($,/^(architecture|how(\s+it\s+works)?|approach|design)\b/i);if(Z&&m(Z))return Z;return}function E2($){let Z=["README.md","README.MD","Readme.md","readme.md"],U=null;for(let O of Z){let D=_q($,O);if(Oq(D)){U=D;break}}if(!U)return{};let z;try{z=Dq(U,"utf-8")}catch{return{}}let X={},Q=Mq(z);if(Q)X.project={goal:Q};let J={},q=Pq(z);if(q)J.what=q;let H=Tq(z);if(H)J.who=H;let G=Fq(z);if(G)J.why=G;let W=Kq(z);if(W)J.where=W;let Y=Aq(z);if(Y)J.when=Y;let B=Nq(z);if(B)J.how=B;if(Object.keys(J).length>0)X.human_context=J;return X}import{existsSync as wq,readFileSync as bq}from"fs";import{join as Cq}from"path";function jq($,Z){let U=$.split(`
|
|
222
|
+
`),z=!1;for(let X of U){let Q=X.trim();if(/^\[/.test(Q)){z=Q==="[package]";continue}if(!z)continue;let J=Q.match(new RegExp(`^${Z}\\s*=\\s*(.+)$`));if(J){let q=J[1].trim();q=q.replace(/\s*#.*$/,"").trim();let H=q.match(/^"((?:[^"\\]|\\.)*)"$/)||q.match(/^'((?:[^'\\]|\\.)*)'$/);if(H)return H[1];return q}}return null}function g2($){let Z=Cq($,"Cargo.toml");if(!wq(Z))return{};let U;try{U=bq(Z,"utf-8")}catch{return{}}let z=jq(U,"description");if(z&&m(z))return{project:{goal:z}};return{}}function Sq($,Z){let U={project:{...Z.project??{},...$.project??{}},human_context:{...Z.human_context??{},...$.human_context??{}}};if(U.project&&Object.keys(U.project).length===0)delete U.project;if(U.human_context&&Object.keys(U.human_context).length===0)delete U.human_context;return U}function m8($){return Sq(E2($),g2($))}function Eq($){let Z=k8($),U=m8($),z=Q9(Z,U);gq(z);let X=Q9(z,C2($));return Q9(X,{human_context:j2($)})}function gq($){let Z=$.project?.type??"library",U=D0[Z]||D0.library;for(let z of f){if(U.includes(z.category))continue;let[X,Q]=z.path.split(".");if(X==="stack"&&$.stack)$.stack[Q]="slotignored";if(X==="monorepo"&&$.monorepo)$.monorepo[Q]="slotignored"}}function Q9($,Z){let U={...$};for(let[z,X]of Object.entries(Z)){let Q=U[z];if(y0(Q))U[z]=X;else if(typeof X==="object"&&X!==null&&!Array.isArray(X)&&typeof Q==="object"&&Q!==null&&!Array.isArray(Q))U[z]=Q9(Q,X)}return U}export{_J as writeServerCard,GJ as writeProjectHtml,XZ as validateFaf,C2 as turboCatSlots,P8 as turboCatScan,s8 as slotsByCategory,O8 as seedSixWsFromGoal,V9 as scoreFafYaml,j2 as relentlessContext,DJ as registryName,OJ as registryMeta,o6 as readFafRaw,$J as readFaf,RJ as questionForSlot,CJ as publicQuestions,X9 as normalizeAnswer,B9 as kernel,y0 as isPlaceholder,MJ as interviewForMissing,jJ as gradeAnswers,h0 as getTier,n8 as getNextTier,J8 as generateServerCard,U8 as generateProjectHtml,t6 as findFafFile,K2 as fafContextBlock,u2 as enrichScore,bJ as deriveQuestionSet,KJ as buildTableOf8,SJ as buildReceipt,Eq as assembleFreshFaf,R8 as answersMatch,a as TIERS,W8 as STACK_INTERVIEW,J9 as SLOT_BY_PATH,f as SLOTS,A2 as SIX_WS_INTERVIEW,q8 as REGISTRY_PUBLISHER_KEY,V$ as PLACEHOLDERS,V8 as INTERVIEW_VERSION,IJ as INTERVIEW_PATHS,L8 as INTERVIEW_BY_PATH,z9 as INTERVIEW,x0 as FAF_HEX,r8 as ENTERPRISE_SLOTS,N2 as BENCH_VERSION,i8 as BASE_SLOTS,I8 as ALIAS_GROUPS};
|
|
222
223
|
|
|
223
|
-
//# debugId=
|
|
224
|
+
//# debugId=E2F3369D5D8791B464756E2164756E21
|
|
224
225
|
//# sourceMappingURL=index.js.map
|