faf-cli 6.11.0 → 6.13.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 +34 -7
- package/dist/cli.js +242 -241
- package/dist/cli.js.map +12 -11
- package/dist/detect/dart.d.ts +29 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +129 -127
- package/dist/index.js.map +10 -8
- 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,151 +1,151 @@
|
|
|
1
|
-
import{createRequire as
|
|
2
|
-
`)}}h.defaultYaml={explicit:!1,version:"1.2"};h.defaultTags={"!!":"tag:yaml.org,2002:"};
|
|
3
|
-
`)?
|
|
1
|
+
import{createRequire as n6}from"node:module";var a6=Object.defineProperty;var I=($,Z)=>()=>(Z||$((Z={exports:{}}).exports,Z),Z.exports);var s6=($)=>$;function i6($,Z){this[$]=s6.bind(null,Z)}var r6=($,Z)=>{for(var U in Z)a6($,U,{get:Z[U],enumerable:!0,configurable:!0,set:i6.bind(Z,U)})};var f0=n6(import.meta.url);var b=I((_8)=>{var O9=Symbol.for("yaml.alias"),p2=Symbol.for("yaml.document"),_$=Symbol.for("yaml.map"),l2=Symbol.for("yaml.pair"),_9=Symbol.for("yaml.scalar"),D$=Symbol.for("yaml.seq"),s=Symbol.for("yaml.node.type"),G8=($)=>!!$&&typeof $==="object"&&$[s]===O9,Y8=($)=>!!$&&typeof $==="object"&&$[s]===p2,B8=($)=>!!$&&typeof $==="object"&&$[s]===_$,V8=($)=>!!$&&typeof $==="object"&&$[s]===l2,d2=($)=>!!$&&typeof $==="object"&&$[s]===_9,W8=($)=>!!$&&typeof $==="object"&&$[s]===D$;function c2($){if($&&typeof $==="object")switch($[s]){case _$:case D$:return!0}return!1}function L8($){if($&&typeof $==="object")switch($[s]){case O9:case _$:case _9:case D$:return!0}return!1}var O8=($)=>(d2($)||c2($))&&!!$.anchor;_8.ALIAS=O9;_8.DOC=p2;_8.MAP=_$;_8.NODE_TYPE=s;_8.PAIR=l2;_8.SCALAR=_9;_8.SEQ=D$;_8.hasAnchor=O8;_8.isAlias=G8;_8.isCollection=c2;_8.isDocument=Y8;_8.isMap=B8;_8.isNode=L8;_8.isPair=V8;_8.isScalar=d2;_8.isSeq=W8});var k0=I((g8)=>{var f=b(),x=Symbol("break visit"),a2=Symbol("skip children"),d=Symbol("remove node");function I$($,Z){let U=s2(Z);if(f.isDocument($)){if(I0(null,$.contents,U,Object.freeze([$]))===d)$.contents=null}else I0(null,$,U,Object.freeze([]))}I$.BREAK=x;I$.SKIP=a2;I$.REMOVE=d;function I0($,Z,U,X){let z=i2($,Z,U,X);if(f.isNode(z)||f.isPair(z))return r2($,X,z),I0($,z,U,X);if(typeof z!=="symbol"){if(f.isCollection(Z)){X=Object.freeze(X.concat(Z));for(let Q=0;Q<Z.items.length;++Q){let J=I0(Q,Z.items[Q],U,X);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(f.isPair(Z)){X=Object.freeze(X.concat(Z));let Q=I0("key",Z.key,U,X);if(Q===x)return x;else if(Q===d)Z.key=null;let J=I0("value",Z.value,U,X);if(J===x)return x;else if(J===d)Z.value=null}}return z}async function R$($,Z){let U=s2(Z);if(f.isDocument($)){if(await R0(null,$.contents,U,Object.freeze([$]))===d)$.contents=null}else await R0(null,$,U,Object.freeze([]))}R$.BREAK=x;R$.SKIP=a2;R$.REMOVE=d;async function R0($,Z,U,X){let z=await i2($,Z,U,X);if(f.isNode(z)||f.isPair(z))return r2($,X,z),R0($,z,U,X);if(typeof z!=="symbol"){if(f.isCollection(Z)){X=Object.freeze(X.concat(Z));for(let Q=0;Q<Z.items.length;++Q){let J=await R0(Q,Z.items[Q],U,X);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(f.isPair(Z)){X=Object.freeze(X.concat(Z));let Q=await R0("key",Z.key,U,X);if(Q===x)return x;else if(Q===d)Z.key=null;let J=await R0("value",Z.value,U,X);if(J===x)return x;else if(J===d)Z.value=null}}return z}function s2($){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 i2($,Z,U,X){if(typeof U==="function")return U($,Z,X);if(f.isMap(Z))return U.Map?.($,Z,X);if(f.isSeq(Z))return U.Seq?.($,Z,X);if(f.isPair(Z))return U.Pair?.($,Z,X);if(f.isScalar(Z))return U.Scalar?.($,Z,X);if(f.isAlias(Z))return U.Alias?.($,Z,X);return}function r2($,Z,U){let X=Z[Z.length-1];if(f.isCollection(X))X.items[$]=U;else if(f.isPair(X))if($==="key")X.key=U;else X.value=U;else if(f.isDocument(X))X.contents=U;else{let z=f.isAlias(X)?"alias":"scalar";throw Error(`Cannot replace node with ${z} parent`)}}g8.visit=I$;g8.visitAsync=R$});var D9=I((k8)=>{var n2=b(),x8=k0(),h8={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},u8=($)=>$.replace(/[!,[\]{}]/g,(Z)=>h8[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]+/),X=U.shift();switch(X){case"%TAG":{if(U.length!==2){if(Z(0,"%TAG directive should contain exactly two parts"),U.length<2)return!1}let[z,Q]=U;return this.tags[z]=Q,!0}case"%YAML":{if(this.yaml.explicit=!0,U.length!==1)return Z(0,"%YAML directive should contain exactly one part"),!1;let[z]=U;if(z==="1.1"||z==="1.2")return this.yaml.version=z,!0;else{let Q=/^\d+\.\d+$/.test(z);return Z(6,`Unsupported YAML version ${z}`,Q),!1}}default:return Z(0,`Unknown directive ${X}`,!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,X]=$.match(/^(.*!)([^!]*)$/s);if(!X)Z(`The ${$} tag has no suffix`);let z=this.tags[U];if(z)try{return z+decodeURIComponent(X)}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+u8($.substring(U.length));return $[0]==="!"?$:`!<${$}>`}toString($){let Z=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],U=Object.entries(this.tags),X;if($&&U.length>0&&n2.isNode($.contents)){let z={};x8.visit($.contents,(Q,J)=>{if(n2.isNode(J)&&J.tag)z[J.tag]=!0}),X=Object.keys(z)}else X=[];for(let[z,Q]of U){if(z==="!!"&&Q==="tag:yaml.org,2002:")continue;if(!$||X.some((J)=>J.startsWith(Q)))Z.push(`%TAG ${z} ${Q}`)}return Z.join(`
|
|
2
|
+
`)}}h.defaultYaml={explicit:!1,version:"1.2"};h.defaultTags={"!!":"tag:yaml.org,2002:"};k8.Directives=h});var M$=I((d8)=>{var o2=b(),m8=k0();function p8($){if(/[\x00-\x19\s,[\]{}]/.test($)){let U=`Anchor must not contain whitespace or control characters: ${JSON.stringify($)}`;throw Error(U)}return!0}function t2($){let Z=new Set;return m8.visit($,{Value(U,X){if(X.anchor)Z.add(X.anchor)}}),Z}function e2($,Z){for(let U=1;;++U){let X=`${$}${U}`;if(!Z.has(X))return X}}function l8($,Z){let U=[],X=new Map,z=null;return{onAnchor:(Q)=>{U.push(Q),z??(z=t2($));let J=e2(Z,z);return z.add(J),J},setAnchors:()=>{for(let Q of U){let J=X.get(Q);if(typeof J==="object"&&J.anchor&&(o2.isScalar(J.node)||o2.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:X}}d8.anchorIsValid=p8;d8.anchorNames=t2;d8.createNodeAnchors=l8;d8.findNewAnchor=e2});var I9=I((r8)=>{function v0($,Z,U,X){if(X&&typeof X==="object")if(Array.isArray(X))for(let z=0,Q=X.length;z<Q;++z){let J=X[z],q=v0($,X,String(z),J);if(q===void 0)delete X[z];else if(q!==J)X[z]=q}else if(X instanceof Map)for(let z of Array.from(X.keys())){let Q=X.get(z),J=v0($,X,z,Q);if(J===void 0)X.delete(z);else if(J!==Q)X.set(z,J)}else if(X instanceof Set)for(let z of Array.from(X)){let Q=v0($,X,z,z);if(Q===void 0)X.delete(z);else if(Q!==z)X.delete(z),X.add(Q)}else for(let[z,Q]of Object.entries(X)){let J=v0($,X,z,Q);if(J===void 0)delete X[z];else if(J!==Q)X[z]=J}return $.call(Z,U,X)}r8.applyReviver=v0});var o=I((t8)=>{var o8=b();function $3($,Z,U){if(Array.isArray($))return $.map((X,z)=>$3(X,String(z),U));if($&&typeof $.toJSON==="function"){if(!U||!o8.hasAnchor($))return $.toJSON(Z,U);let X={aliasCount:0,count:1,res:void 0};U.anchors.set($,X),U.onCreate=(Q)=>{X.res=Q,delete U.onCreate};let z=$.toJSON(Z,U);if(U.onCreate)U.onCreate(z);return z}if(typeof $==="bigint"&&!U?.keep)return Number($);return $}t8.toJS=$3});var P$=I((UZ)=>{var $Z=I9(),Z3=b(),ZZ=o();class U3{constructor($){Object.defineProperty(this,Z3.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:X,reviver:z}={}){if(!Z3.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=ZZ.toJS(this,"",Q);if(typeof X==="function")for(let{count:q,res:H}of Q.anchors.values())X(H,q);return typeof z==="function"?$Z.applyReviver(z,{"":J},"",J):J}}UZ.NodeBase=U3});var m0=I((HZ)=>{var zZ=M$(),QZ=k0(),M0=b(),JZ=P$(),qZ=o();class X3 extends JZ.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=[],QZ.visit($,{Node:(z,Q)=>{if(M0.isAlias(Q)||M0.hasAnchor(Q))U.push(Q)}}),Z)Z.aliasResolveCache=U;let X=void 0;for(let z of U){if(z===this)break;if(z.anchor===this.source)X=z}return X}toJSON($,Z){if(!Z)return{source:this.source};let{anchors:U,doc:X,maxAliasCount:z}=Z,Q=this.resolve(X,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)qZ.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(z>=0){if(J.count+=1,J.aliasCount===0)J.aliasCount=F$(X,Q,U);if(J.count*J.aliasCount>z)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return J.res}toString($,Z,U){let X=`*${this.source}`;if($){if(zZ.anchorIsValid(this.source),$.options.verifyAliasOrder&&!$.anchors.has(this.source)){let z=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(z)}if($.implicitKey)return`${X} `}return X}}function F$($,Z,U){if(M0.isAlias(Z)){let X=Z.resolve($),z=U&&X&&U.get(X);return z?z.count*z.aliasCount:0}else if(M0.isCollection(Z)){let X=0;for(let z of Z.items){let Q=F$($,z,U);if(Q>X)X=Q}return X}else if(M0.isPair(Z)){let X=F$($,Z.key,U),z=F$($,Z.value,U);return Math.max(X,z)}return 1}HZ.Alias=X3});var g=I((LZ)=>{var YZ=b(),BZ=P$(),VZ=o(),WZ=($)=>!$||typeof $!=="function"&&typeof $!=="object";class J0 extends BZ.NodeBase{constructor($){super(YZ.SCALAR);this.value=$}toJSON($,Z){return Z?.keep?this.value:VZ.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";LZ.Scalar=J0;LZ.isScalarValue=WZ});var p0=I((PZ)=>{var DZ=m0(),q0=b(),z3=g(),IZ="tag:yaml.org,2002:";function RZ($,Z,U){if(Z){let X=U.filter((Q)=>Q.tag===Z),z=X.find((Q)=>!Q.format)??X[0];if(!z)throw Error(`Tag ${Z} not found`);return z}return U.find((X)=>X.identify?.($)&&!X.format)}function MZ($,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:X,onAnchor:z,onTagObj:Q,schema:J,sourceObjects:q}=U,H=void 0;if(X&&$&&typeof $==="object")if(H=q.get($),H)return H.anchor??(H.anchor=z($)),new DZ.Alias(H.anchor);else H={anchor:null,node:null},q.set($,H);if(Z?.startsWith("!!"))Z=IZ+Z.slice(2);let G=RZ($,Z,J.tags);if(!G){if($&&typeof $.toJSON==="function")$=$.toJSON();if(!$||typeof $!=="object"){let Y=new z3.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 z3.Scalar($);if(Z)W.tag=Z;else if(!G.default)W.tag=G.tag;if(H)H.node=W;return W}PZ.createNode=MZ});var T$=I((AZ)=>{var TZ=p0(),c=b(),KZ=P$();function R9($,Z,U){let X=U;for(let z=Z.length-1;z>=0;--z){let Q=Z[z];if(typeof Q==="number"&&Number.isInteger(Q)&&Q>=0){let J=[];J[Q]=X,X=J}else X=new Map([[Q,X]])}return TZ.createNode(X,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:$,sourceObjects:new Map})}var Q3=($)=>$==null||typeof $==="object"&&!!$[Symbol.iterator]().next().done;class J3 extends KZ.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(Q3($))this.add(Z);else{let[U,...X]=$,z=this.get(U,!0);if(c.isCollection(z))z.addIn(X,Z);else if(z===void 0&&this.schema)this.set(U,R9(this.schema,X,Z));else throw Error(`Expected YAML collection at ${U}. Remaining path: ${X}`)}}deleteIn($){let[Z,...U]=$;if(U.length===0)return this.delete(Z);let X=this.get(Z,!0);if(c.isCollection(X))return X.deleteIn(U);else throw Error(`Expected YAML collection at ${Z}. Remaining path: ${U}`)}getIn($,Z){let[U,...X]=$,z=this.get(U,!0);if(X.length===0)return!Z&&c.isScalar(z)?z.value:z;else return c.isCollection(z)?z.getIn(X,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 X=this.get(Z,!0);return c.isCollection(X)?X.hasIn(U):!1}setIn($,Z){let[U,...X]=$;if(X.length===0)this.set(U,Z);else{let z=this.get(U,!0);if(c.isCollection(z))z.setIn(X,Z);else if(z===void 0&&this.schema)this.set(U,R9(this.schema,X,Z));else throw Error(`Expected YAML collection at ${U}. Remaining path: ${X}`)}}}AZ.Collection=J3;AZ.collectionFromPath=R9;AZ.isEmptyPath=Q3});var l0=I((SZ)=>{var CZ=($)=>$.replace(/^(?!$)(?: $)?/gm,"#");function M9($,Z){if(/^\n+$/.test($))return $.substring(1);return Z?$.replace(/^(?! *$)/gm,Z):$}var jZ=($,Z,U)=>$.endsWith(`
|
|
3
|
+
`)?M9(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,
|
|
10
|
-
${Z}${$.slice(A+1,
|
|
11
|
-
`);
|
|
12
|
-
`){if(Q-J>
|
|
5
|
+
`+M9(U,Z):($.endsWith(" ")?"":" ")+U;SZ.indentComment=M9;SZ.lineComment=jZ;SZ.stringifyComment=CZ});var H3=I((xZ)=>{function yZ($,Z,U="flow",{indentAtStart:X,lineWidth:z=80,minContentWidth:Q=20,onFold:J,onOverflow:q}={}){if(!z||z<0)return $;if(z<Q)Q=0;let H=Math.max(1+Q,1+z-Z.length);if($.length<=H)return $;let G=[],W={},Y=z-Z.length;if(typeof X==="number")if(X>z-Math.max(2,Q))G.push(0);else Y=z-X;let B=void 0,O=void 0,_=!1,V=-1,L=-1,R=-1;if(U==="block"){if(V=q3($,V,Z.length),V!==-1)Y=V+H}for(let T;T=$[V+=1];){if(U==="quoted"&&T==="\\"){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(T===`
|
|
6
|
+
`){if(U==="block")V=q3($,V,Z.length);Y=V+Z.length+H,B=void 0}else{if(T===" "&&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=T,T=$[V+=1],_=!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 _=!0}O=T}if(_&&q)q();if(G.length===0)return $;if(J)J();let M=$.slice(0,G[0]);for(let T=0;T<G.length;++T){let A=G[T],K=G[T+1]||$.length;if(A===0)M=`
|
|
9
|
+
${Z}${$.slice(0,K)}`;else{if(U==="quoted"&&W[A])M+=`${$[A]}\\`;M+=`
|
|
10
|
+
${Z}${$.slice(A+1,K)}`}}return M}function q3($,Z,U){let X=Z,z=Z+1,Q=$[z];while(Q===" "||Q==="\t")if(Z<z+U)Q=$[++Z];else{do Q=$[++Z];while(Q&&Q!==`
|
|
11
|
+
`);X=Z,z=Z+1,Q=$[z]}return X}xZ.FOLD_BLOCK="block";xZ.FOLD_FLOW="flow";xZ.FOLD_QUOTED="quoted";xZ.foldFlowLines=yZ});var c0=I((dZ)=>{var k=g(),t=H3(),A$=($,Z)=>({indentAtStart:Z?$.indent.length:$.indentAtStart,lineWidth:$.options.lineWidth,minContentWidth:$.options.minContentWidth}),N$=($)=>/^(%|---|\.\.\.)/m.test($);function mZ($,Z,U){if(!Z||Z<0)return!1;let X=Z-U,z=$.length;if(z<=X)return!1;for(let Q=0,J=0;Q<z;++Q)if($[Q]===`
|
|
12
|
+
`){if(Q-J>X)return!0;if(J=Q+1,z-J<=X)return!1}return!0}function d0($,Z){let U=JSON.stringify($);if(Z.options.doubleQuotedAsJSON)return U;let{implicitKey:X}=Z,z=Z.options.doubleQuotedMinMultiLineLength,Q=Z.indent||(N$($)?" ":""),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(X||U[H+2]==='"'||U.length<z)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,
|
|
16
|
-
`)||/[ \t]\n|\n[ \t]/.test($))return
|
|
17
|
-
${U}`)+"'";return Z.implicitKey?
|
|
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,X?J:t.foldFlowLines(J,Q,t.FOLD_QUOTED,A$(Z,!1))}function P9($,Z){if(Z.options.singleQuote===!1||Z.implicitKey&&$.includes(`
|
|
16
|
+
`)||/[ \t]\n|\n[ \t]/.test($))return d0($,Z);let U=Z.indent||(N$($)?" ":""),X="'"+$.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
17
|
+
${U}`)+"'";return Z.implicitKey?X:t.foldFlowLines(X,U,t.FOLD_FLOW,A$(Z,!1))}function P0($,Z){let{singleQuote:U}=Z.options,X;if(U===!1)X=d0;else{let z=$.includes('"'),Q=$.includes("'");if(z&&!Q)X=P9;else if(Q&&!z)X=d0;else X=U?P9:d0}return X($,Z)}var F9;try{F9=new RegExp(`(^|(?<!
|
|
18
18
|
))
|
|
19
19
|
+(?!
|
|
20
|
-
|$)`,"g")}catch{
|
|
20
|
+
|$)`,"g")}catch{F9=/\n+(?!\n|$)/g}function K$({comment:$,type:Z,value:U},X,z,Q){let{blockQuote:J,commentString:q,lineWidth:H}=X.options;if(!J||/\n[\t ]+$/.test(U))return P0(U,X);let G=X.indent||(X.forceBlockIndent||N$(U)?" ":""),W=J==="literal"?!0:J==="folded"||Z===k.Scalar.BLOCK_FOLDED?!1:Z===k.Scalar.BLOCK_LITERAL?!0:!mZ(U,H,G.length);if(!U)return W?`|
|
|
21
21
|
`:`>
|
|
22
|
-
`;let Y,B;for(B=U.length;B>0;--B){let
|
|
23
|
-
`&&
|
|
24
|
-
`);if(
|
|
25
|
-
`)
|
|
26
|
-
`)R=
|
|
27
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${G}`),N=!1,
|
|
28
|
-
${G}${
|
|
29
|
-
${G}${
|
|
30
|
-
`)||W&&/[[\]{},]/.test(Q))return
|
|
31
|
-
`)?
|
|
32
|
-
`))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
|
-
`:"",
|
|
37
|
-
${
|
|
38
|
-
`&&
|
|
22
|
+
`;let Y,B;for(B=U.length;B>0;--B){let K=U[B-1];if(K!==`
|
|
23
|
+
`&&K!=="\t"&&K!==" ")break}let O=U.substring(B),_=O.indexOf(`
|
|
24
|
+
`);if(_===-1)Y="-";else if(U===O||_!==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(F9,`$&${G}`)}let V=!1,L,R=-1;for(L=0;L<U.length;++L){let K=U[L];if(K===" ")V=!0;else if(K===`
|
|
26
|
+
`)R=L;else break}let M=U.substring(0,R<L?R+1:L);if(M)U=U.substring(M.length),M=M.replace(/\n+/g,`$&${G}`);let A=(V?G?"2":"1":"")+Y;if($){if(A+=" "+q($.replace(/ ?[\r\n]+/g," ")),z)z()}if(!W){let K=U.replace(/\n+/g,`
|
|
27
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${G}`),N=!1,C=A$(X,!0);if(J!=="folded"&&Z!==k.Scalar.BLOCK_FOLDED)C.onOverflow=()=>{N=!0};let D=t.foldFlowLines(`${M}${K}${O}`,G,t.FOLD_BLOCK,C);if(!N)return`>${A}
|
|
28
|
+
${G}${D}`}return U=U.replace(/\n+/g,`$&${G}`),`|${A}
|
|
29
|
+
${G}${M}${U}${O}`}function pZ($,Z,U,X){let{type:z,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):K$($,Z,U,X);if(!q&&!W&&z!==k.Scalar.PLAIN&&Q.includes(`
|
|
32
|
+
`))return K$($,Z,U,X);if(N$(Q)){if(H==="")return Z.forceBlockIndent=!0,K$($,Z,U,X);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:_}=Z.doc.schema;if(_.some(B)||O?.some(B))return P0(Q,Z)}return q?Y:t.foldFlowLines(Y,H,t.FOLD_FLOW,A$(Z,!1))}function lZ($,Z,U,X){let{implicitKey:z,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 z||Q?P0(J.value,Z):K$(J,Z,U,X);case k.Scalar.QUOTE_DOUBLE:return d0(J.value,Z);case k.Scalar.QUOTE_SINGLE:return P9(J.value,Z);case k.Scalar.PLAIN:return pZ(J,Z,U,X);default:return null}},G=H(q);if(G===null){let{defaultKeyType:W,defaultStringType:Y}=Z.options,B=z&&W||Y;if(G=H(B),G===null)throw Error(`Unsupported default string type ${B}`)}return G}dZ.stringifyString=lZ});var a0=I((eZ)=>{var aZ=M$(),e=b(),sZ=l0(),iZ=c0();function rZ($,Z){let U=Object.assign({blockQuote:!0,commentString:sZ.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),X;switch(U.collectionStyle){case"block":X=!1;break;case"flow":X=!0;break;default:X=null}return{anchors:new Set,doc:$,flowCollectionPadding:U.flowCollectionPadding?" ":"",indent:"",indentStep:typeof U.indent==="number"?" ".repeat(U.indent):" ",inFlow:X,options:U}}function nZ($,Z){if(Z.tag){let z=$.filter((Q)=>Q.tag===Z.tag);if(z.length>0)return z.find((Q)=>Q.format===Z.format)??z[0]}let U=void 0,X;if(e.isScalar(Z)){X=Z.value;let z=$.filter((Q)=>Q.identify?.(X));if(z.length>1){let Q=z.filter((J)=>J.test);if(Q.length>0)z=Q}U=z.find((Q)=>Q.format===Z.format)??z.find((Q)=>!Q.format)}else X=Z,U=$.find((z)=>z.nodeClass&&X instanceof z.nodeClass);if(!U){let z=X?.constructor?.name??(X===null?"null":typeof X);throw Error(`Tag not resolved for ${z} value`)}return U}function oZ($,Z,{anchors:U,doc:X}){if(!X.directives)return"";let z=[],Q=(e.isScalar($)||e.isCollection($))&&$.anchor;if(Q&&aZ.anchorIsValid(Q))U.add(Q),z.push(`&${Q}`);let J=$.tag??(Z.default?null:Z.tag);if(J)z.push(X.directives.tagString(J));return z.join(" ")}function tZ($,Z,U,X){if(e.isPair($))return $.toString(Z,U,X);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 z=void 0,Q=e.isNode($)?$:Z.doc.createNode($,{onTagObj:(H)=>z=H});z??(z=nZ(Z.doc.schema.tags,Q));let J=oZ(Q,z,Z);if(J.length>0)Z.indentAtStart=(Z.indentAtStart??0)+J.length+1;let q=typeof z.stringify==="function"?z.stringify(Q,Z,U,X):e.isScalar(Q)?iZ.stringifyString(Q,Z,U,X):Q.toString(Z,U,X);if(!J)return q;return e.isScalar(Q)||q[0]==="{"||q[0]==="["?`${J} ${q}`:`${J}
|
|
34
|
+
${Z.indent}${q}`}eZ.createStringifyContext=rZ;eZ.stringify=tZ});var B3=I((X1)=>{var i=b(),G3=g(),Y3=a0(),s0=l0();function U1({key:$,value:Z},U,X,z){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===G3.Scalar.BLOCK_FOLDED||$.type===G3.Scalar.BLOCK_LITERAL:typeof $==="object"));U=Object.assign({},U,{allNullValues:!1,implicitKey:!O&&(Y||!Q),indent:q+H});let _=!1,V=!1,L=Y3.stringify($,U,()=>_=!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(_&&X)X();return L===""?"?":O?`? ${L}`:L}}else if(Q&&!Y||Z==null&&O){if(L=`? ${L}`,B&&!_)L+=s0.lineComment(L,U.indent,G(B));else if(V&&z)z();return L}if(_)B=null;if(O){if(B)L+=s0.lineComment(L,U.indent,G(B));L=`? ${L}
|
|
35
|
+
${q}:`}else if(L=`${L}:`,B)L+=s0.lineComment(L,U.indent,G(B));let R,M,T;if(i.isNode(Z))R=!!Z.spaceBefore,M=Z.commentBefore,T=Z.comment;else if(R=!1,M=null,T=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,K=Y3.stringify(Z,U,()=>A=!0,()=>V=!0),N=" ";if(B||R||M){if(N=R?`
|
|
36
|
+
`:"",M){let C=G(M);N+=`
|
|
37
|
+
${s0.indentComment(C,U.indent)}`}if(K===""&&!U.inFlow){if(N===`
|
|
38
|
+
`&&T)N=`
|
|
39
39
|
|
|
40
40
|
`}else N+=`
|
|
41
|
-
${U.indent}`}else if(!
|
|
42
|
-
`),
|
|
43
|
-
${U.indent}`}}else if(
|
|
44
|
-
`)N="";if(
|
|
41
|
+
${U.indent}`}else if(!O&&i.isCollection(Z)){let C=K[0],D=K.indexOf(`
|
|
42
|
+
`),w=D!==-1,p=U.inFlow??Z.flow??Z.items.length===0;if(w||!p){let l=!1;if(w&&(C==="&"||C==="!")){let E=K.indexOf(" ");if(C==="&"&&E!==-1&&E<D&&K[E+1]==="!")E=K.indexOf(" ",E+1);if(E===-1||D<E)l=!0}if(!l)N=`
|
|
43
|
+
${U.indent}`}}else if(K===""||K[0]===`
|
|
44
|
+
`)N="";if(L+=N+K,U.inFlow){if(A&&X)X()}else if(T&&!A)L+=s0.lineComment(L,U.indent,G(T));else if(V&&z)z();return L}X1.stringifyPair=U1});var T9=I((q1)=>{var V3=f0("process");function Q1($,...Z){if($==="debug")console.log(...Z)}function J1($,Z){if($==="debug"||$==="warn")if(typeof V3.emitWarning==="function")V3.emitWarning(Z);else console.warn(Z)}q1.debug=Q1;q1.warn=J1});var C$=I((B1)=>{var i0=b(),W3=g(),w$="<<",b$={identify:($)=>$===w$||typeof $==="symbol"&&$.description===w$,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new W3.Scalar(Symbol(w$)),{addToJSMap:L3}),stringify:()=>w$},Y1=($,Z)=>(b$.identify(Z)||i0.isScalar(Z)&&(!Z.type||Z.type===W3.Scalar.PLAIN)&&b$.identify(Z.value))&&$?.doc.schema.tags.some((U)=>U.tag===b$.tag&&U.default);function L3($,Z,U){if(U=$&&i0.isAlias(U)?U.resolve($.doc):U,i0.isSeq(U))for(let X of U.items)K9($,Z,X);else if(Array.isArray(U))for(let X of U)K9($,Z,X);else K9($,Z,U)}function K9($,Z,U){let X=$&&i0.isAlias(U)?U.resolve($.doc):U;if(!i0.isMap(X))throw Error("Merge sources must be maps or map aliases");let z=X.toJSON(null,$,Map);for(let[Q,J]of z)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}B1.addMergeToJSMap=L3;B1.isMergeKey=Y1;B1.merge=b$});var N9=I((R1)=>{var O1=T9(),O3=C$(),_1=a0(),_3=b(),A9=o();function D1($,Z,{key:U,value:X}){if(_3.isNode(U)&&U.addToJSMap)U.addToJSMap($,Z,X);else if(O3.isMergeKey($,U))O3.addMergeToJSMap($,Z,X);else{let z=A9.toJS(U,"",$);if(Z instanceof Map)Z.set(z,A9.toJS(X,z,$));else if(Z instanceof Set)Z.add(z);else{let Q=I1(U,z,$),J=A9.toJS(X,Q,$);if(Q in Z)Object.defineProperty(Z,Q,{value:J,writable:!0,enumerable:!0,configurable:!0});else Z[Q]=J}}return Z}function I1($,Z,U){if(Z===null)return"";if(typeof Z!=="object")return String(Z);if(_3.isNode($)&&U?.doc){let X=_1.createStringifyContext(U.doc,{});X.anchors=new Set;for(let Q of U.anchors.keys())X.anchors.add(Q.anchor);X.inFlow=!0,X.inStringifyKey=!0;let z=$.toString(X);if(!U.mapKeyWarned){let Q=JSON.stringify(z);if(Q.length>40)Q=Q.substring(0,36)+'..."';O1.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 z}return JSON.stringify(Z)}R1.addPairToJSMap=D1});var $0=I((K1)=>{var D3=p0(),P1=B3(),F1=N9(),j$=b();function T1($,Z,U){let X=D3.createNode($,void 0,U),z=D3.createNode(Z,void 0,U);return new S$(X,z)}class S${constructor($,Z=null){Object.defineProperty(this,j$.NODE_TYPE,{value:j$.PAIR}),this.key=$,this.value=Z}clone($){let{key:Z,value:U}=this;if(j$.isNode(Z))Z=Z.clone($);if(j$.isNode(U))U=U.clone($);return new S$(Z,U)}toJSON($,Z){let U=Z?.mapAsMap?new Map:{};return F1.addPairToJSMap(Z,U,this)}toString($,Z,U){return $?.doc?P1.stringifyPair(this,$,Z,U):JSON.stringify(this)}}K1.Pair=S$;K1.createPair=T1});var w9=I((j1)=>{var H0=b(),I3=a0(),E$=l0();function w1($,Z,U){return(Z.inFlow??$.flow?C1:b1)($,Z,U)}function b1({comment:$,items:Z},U,{blockItemPrefix:X,flowChars:z,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 _=0;_<Z.length;++_){let V=Z[_],L=null;if(H0.isNode(V)){if(!Y&&V.spaceBefore)B.push("");if(g$(U,B,V.commentBefore,Y),V.comment)L=V.comment}else if(H0.isPair(V)){let M=H0.isNode(V.key)?V.key:null;if(M){if(!Y&&M.spaceBefore)B.push("");g$(U,B,M.commentBefore,Y)}}Y=!1;let R=I3.stringify(V,W,()=>L=null,()=>Y=!0);if(L)R+=E$.lineComment(R,Q,G(L));if(Y&&L)Y=!1;B.push(X+R)}let O;if(B.length===0)O=z.start+z.end;else{O=B[0];for(let _=1;_<B.length;++_){let V=B[_];O+=V?`
|
|
45
45
|
${H}${V}`:`
|
|
46
|
-
`}}if($){if(
|
|
47
|
-
`+
|
|
48
|
-
`)))G=!0;Y.push(R),W=Y.length}let{start:B,end:
|
|
49
|
-
${Q}${
|
|
50
|
-
`;return`${
|
|
51
|
-
${
|
|
52
|
-
`:" ")}return
|
|
53
|
-
${
|
|
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(`
|
|
55
|
-
`))U.push("..."),U.push(
|
|
46
|
+
`}}if($){if(O+=`
|
|
47
|
+
`+E$.indentComment(G($),H),q)q()}else if(Y&&J)J();return O}function C1({items:$},Z,{flowChars:U,itemIndent:X}){let{indent:z,indentStep:Q,flowCollectionPadding:J,options:{commentString:q}}=Z;X+=Q;let H=Object.assign({},Z,{indent:X,inFlow:!0,type:null}),G=!1,W=0,Y=[];for(let _=0;_<$.length;++_){let V=$[_],L=null;if(H0.isNode(V)){if(V.spaceBefore)Y.push("");if(g$(Z,Y,V.commentBefore,!1),V.comment)L=V.comment}else if(H0.isPair(V)){let M=H0.isNode(V.key)?V.key:null;if(M){if(M.spaceBefore)Y.push("");if(g$(Z,Y,M.commentBefore,!1),M.comment)G=!0}let T=H0.isNode(V.value)?V.value:null;if(T){if(T.comment)L=T.comment;if(T.commentBefore)G=!0}else if(V.value==null&&M?.comment)L=M.comment}if(L)G=!0;let R=I3.stringify(V,H,()=>L=null);if(_<$.length-1)R+=",";if(L)R+=E$.lineComment(R,X,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 _=Y.reduce((V,L)=>V+L.length+2,2);G=Z.options.lineWidth>0&&_>Z.options.lineWidth}if(G){let _=B;for(let V of Y)_+=V?`
|
|
49
|
+
${Q}${z}${V}`:`
|
|
50
|
+
`;return`${_}
|
|
51
|
+
${z}${O}`}else return`${B}${J}${Y.join(" ")}${J}${O}`}}function g$({indent:$,options:{commentString:Z}},U,X,z){if(X&&z)X=X.replace(/^\n+/,"");if(X){let Q=E$.indentComment(Z(X),$);U.push(Q.trimStart())}}j1.stringifyCollection=w1});var U0=I((x1)=>{var E1=w9(),g1=N9(),f1=T$(),Z0=b(),f$=$0(),y1=g();function r0($,Z){let U=Z0.isScalar(Z)?Z.value:Z;for(let X of $)if(Z0.isPair(X)){if(X.key===Z||X.key===U)return X;if(Z0.isScalar(X.key)&&X.key.value===U)return X}return}class R3 extends f1.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor($){super(Z0.MAP,$);this.items=[]}static from($,Z,U){let{keepUndefined:X,replacer:z}=U,Q=new this($),J=(q,H)=>{if(typeof z==="function")H=z.call(Z,q,H);else if(Array.isArray(z)&&!z.includes(q))return;if(H!==void 0||X)Q.items.push(f$.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 f$.Pair($,$?.value);else U=new f$.Pair($.key,$.value);let X=r0(this.items,U.key),z=this.schema?.sortMapEntries;if(X){if(!Z)throw Error(`Key ${U.key} already set`);if(Z0.isScalar(X.value)&&y1.isScalarValue(U.value))X.value.value=U.value;else X.value=U.value}else if(z){let Q=this.items.findIndex((J)=>z(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=r0(this.items,$);if(!Z)return!1;return this.items.splice(this.items.indexOf(Z),1).length>0}get($,Z){let X=r0(this.items,$)?.value;return(!Z&&Z0.isScalar(X)?X.value:X)??void 0}has($){return!!r0(this.items,$)}set($,Z){this.add(new f$.Pair($,Z),!0)}toJSON($,Z,U){let X=U?new U:Z?.mapAsMap?new Map:{};if(Z?.onCreate)Z.onCreate(X);for(let z of this.items)g1.addPairToJSMap(Z,X,z);return X}toString($,Z,U){if(!$)return JSON.stringify(this);for(let X of this.items)if(!Z0.isPair(X))throw Error(`Map items must all be pairs; found ${JSON.stringify(X)} instead`);if(!$.allNullValues&&this.hasAllNullValues(!1))$=Object.assign({},$,{allNullValues:!0});return E1.stringifyCollection(this,$,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:$.indent||"",onChompKeep:U,onComment:Z})}}x1.YAMLMap=R3;x1.findPair=r0});var F0=I((m1)=>{var k1=b(),M3=U0(),v1={collection:"map",default:!0,nodeClass:M3.YAMLMap,tag:"tag:yaml.org,2002:map",resolve($,Z){if(!k1.isMap($))Z("Expected a mapping for this tag");return $},createNode:($,Z,U)=>M3.YAMLMap.from($,Z,U)};m1.map=v1});var X0=I((i1)=>{var l1=p0(),d1=w9(),c1=T$(),x$=b(),a1=g(),s1=o();class P3 extends c1.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor($){super(x$.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 X=this.items[U];return!Z&&x$.isScalar(X)?X.value:X}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 X=this.items[U];if(x$.isScalar(X)&&a1.isScalarValue(Z))X.value=Z;else this.items[U]=Z}toJSON($,Z){let U=[];if(Z?.onCreate)Z.onCreate(U);let X=0;for(let z of this.items)U.push(s1.toJS(z,String(X++),Z));return U}toString($,Z,U){if(!$)return JSON.stringify(this);return d1.stringifyCollection(this,$,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:($.indent||"")+" ",onChompKeep:U,onComment:Z})}static from($,Z,U){let{replacer:X}=U,z=new this($);if(Z&&Symbol.iterator in Object(Z)){let Q=0;for(let J of Z){if(typeof X==="function"){let q=Z instanceof Set?J:String(Q++);J=X.call(Z,q,J)}z.items.push(l1.createNode(J,void 0,U))}}return z}}function y$($){let Z=x$.isScalar($)?$.value:$;if(Z&&typeof Z==="string")Z=Number(Z);return typeof Z==="number"&&Number.isInteger(Z)&&Z>=0?Z:null}i1.YAMLSeq=P3});var T0=I((t1)=>{var n1=b(),F3=X0(),o1={collection:"seq",default:!0,nodeClass:F3.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve($,Z){if(!n1.isSeq($))Z("Expected a sequence for this tag");return $},createNode:($,Z,U)=>F3.YAMLSeq.from($,Z,U)};t1.seq=o1});var n0=I((U5)=>{var $5=c0(),Z5={identify:($)=>typeof $==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:($)=>$,stringify($,Z,U,X){return Z=Object.assign({actualString:!0},Z),$5.stringifyString($,Z,U,X)}};U5.string=Z5});var h$=I((z5)=>{var T3=g(),K3={identify:($)=>$==null,createNode:()=>new T3.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new T3.Scalar(null),stringify:({source:$},Z)=>typeof $==="string"&&K3.test.test($)?$:Z.options.nullStr};z5.nullTag=K3});var b9=I((q5)=>{var J5=g(),A3={identify:($)=>typeof $==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:($)=>new J5.Scalar($[0]==="t"||$[0]==="T"),stringify({source:$,value:Z},U){if($&&A3.test.test($)){let X=$[0]==="t"||$[0]==="T";if(Z===X)return $}return Z?U.options.trueStr:U.options.falseStr}};q5.boolTag=A3});var K0=I((Y5)=>{function G5({format:$,minFractionDigits:Z,tag:U,value:X}){if(typeof X==="bigint")return String(X);let z=typeof X==="number"?X:Number(X);if(!isFinite(z))return isNaN(z)?".nan":z<0?"-.inf":".inf";let Q=Object.is(X,-0)?"-0":JSON.stringify(X);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}Y5.stringifyNumber=G5});var j9=I((_5)=>{var V5=g(),C9=K0(),W5={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:C9.stringifyNumber},L5={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():C9.stringifyNumber($)}},O5={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve($){let Z=new V5.Scalar(parseFloat($)),U=$.indexOf(".");if(U!==-1&&$[$.length-1]==="0")Z.minFractionDigits=$.length-U-1;return Z},stringify:C9.stringifyNumber};_5.float=O5;_5.floatExp=L5;_5.floatNaN=W5});var E9=I((T5)=>{var N3=K0(),u$=($)=>typeof $==="bigint"||Number.isInteger($),S9=($,Z,U,{intAsBigInt:X})=>X?BigInt($):parseInt($.substring(Z),U);function w3($,Z,U){let{value:X}=$;if(u$(X)&&X>=0)return U+X.toString(Z);return N3.stringifyNumber($)}var M5={identify:($)=>u$($)&&$>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:($,Z,U)=>S9($,2,8,U),stringify:($)=>w3($,8,"0o")},P5={identify:u$,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:($,Z,U)=>S9($,0,10,U),stringify:N3.stringifyNumber},F5={identify:($)=>u$($)&&$>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:($,Z,U)=>S9($,2,16,U),stringify:($)=>w3($,16,"0x")};T5.int=P5;T5.intHex=F5;T5.intOct=M5});var b3=I((g5)=>{var w5=F0(),b5=h$(),C5=T0(),j5=n0(),S5=b9(),g9=j9(),f9=E9(),E5=[w5.map,C5.seq,j5.string,b5.nullTag,S5.boolTag,f9.intOct,f9.int,f9.intHex,g9.floatNaN,g9.floatExp,g9.float];g5.schema=E5});var j3=I((m5)=>{var y5=g(),x5=F0(),h5=T0();function C3($){return typeof $==="bigint"||Number.isInteger($)}var k$=({value:$})=>JSON.stringify($),u5=[{identify:($)=>typeof $==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:($)=>$,stringify:k$},{identify:($)=>$==null,createNode:()=>new y5.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:k$},{identify:($)=>typeof $==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:($)=>$==="true",stringify:k$},{identify:C3,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:($,Z,{intAsBigInt:U})=>U?BigInt($):parseInt($,10),stringify:({value:$})=>C3($)?$.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:k$}],k5={default:!0,tag:"",test:/^/,resolve($,Z){return Z(`Unresolved plain scalar ${JSON.stringify($)}`),$}},v5=[x5.map,h5.seq].concat(u5,k5);m5.schema=v5});var x9=I((c5)=>{var o0=f0("buffer"),y9=g(),l5=c0(),d5={identify:($)=>$ instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve($,Z){if(typeof o0.Buffer==="function")return o0.Buffer.from($,"base64");else if(typeof atob==="function"){let U=atob($.replace(/[\n\r]/g,"")),X=new Uint8Array(U.length);for(let z=0;z<U.length;++z)X[z]=U.charCodeAt(z);return X}else return Z("This environment does not support reading binary tags; either Buffer or atob is required"),$},stringify({comment:$,type:Z,value:U},X,z,Q){if(!U)return"";let J=U,q;if(typeof o0.Buffer==="function")q=J instanceof o0.Buffer?J.toString("base64"):o0.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=y9.Scalar.BLOCK_LITERAL),Z!==y9.Scalar.QUOTE_DOUBLE){let H=Math.max(X.options.lineWidth-X.indent.length,X.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===y9.Scalar.BLOCK_LITERAL?`
|
|
52
|
+
`:" ")}return l5.stringifyString({comment:$,type:Z,value:q},X,z,Q)}};c5.binary=d5});var m$=I((n5)=>{var v$=b(),h9=$0(),s5=g(),i5=X0();function S3($,Z){if(v$.isSeq($))for(let U=0;U<$.items.length;++U){let X=$.items[U];if(v$.isPair(X))continue;else if(v$.isMap(X)){if(X.items.length>1)Z("Each pair must have its own sequence indicator");let z=X.items[0]||new h9.Pair(new s5.Scalar(null));if(X.commentBefore)z.key.commentBefore=z.key.commentBefore?`${X.commentBefore}
|
|
53
|
+
${z.key.commentBefore}`:X.commentBefore;if(X.comment){let Q=z.value??z.key;Q.comment=Q.comment?`${X.comment}
|
|
54
|
+
${Q.comment}`:X.comment}X=z}$.items[U]=v$.isPair(X)?X:new h9.Pair(X)}else Z("Expected a sequence for this tag");return $}function E3($,Z,U){let{replacer:X}=U,z=new i5.YAMLSeq($);z.tag="tag:yaml.org,2002:pairs";let Q=0;if(Z&&Symbol.iterator in Object(Z))for(let J of Z){if(typeof X==="function")J=X.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;z.items.push(h9.createPair(q,H,U))}return z}var r5={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:S3,createNode:E3};n5.createPairs=E3;n5.pairs=r5;n5.resolvePairs=S3});var k9=I((U7)=>{var g3=b(),u9=o(),t0=U0(),$7=X0(),f3=m$();class G0 extends $7.YAMLSeq{constructor(){super();this.add=t0.YAMLMap.prototype.add.bind(this),this.delete=t0.YAMLMap.prototype.delete.bind(this),this.get=t0.YAMLMap.prototype.get.bind(this),this.has=t0.YAMLMap.prototype.has.bind(this),this.set=t0.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 X of this.items){let z,Q;if(g3.isPair(X))z=u9.toJS(X.key,"",Z),Q=u9.toJS(X.value,z,Z);else z=u9.toJS(X,"",Z);if(U.has(z))throw Error("Ordered maps must not include duplicate keys");U.set(z,Q)}return U}static from($,Z,U){let X=f3.createPairs($,Z,U),z=new this;return z.items=X.items,z}}G0.tag="tag:yaml.org,2002:omap";var Z7={collection:"seq",identify:($)=>$ instanceof Map,nodeClass:G0,default:!1,tag:"tag:yaml.org,2002:omap",resolve($,Z){let U=f3.resolvePairs($,Z),X=[];for(let{key:z}of U.items)if(g3.isScalar(z))if(X.includes(z.value))Z(`Ordered maps must not include duplicate keys: ${z.value}`);else X.push(z.value);return Object.assign(new G0,U)},createNode:($,Z,U)=>G0.from($,Z,U)};U7.YAMLOMap=G0;U7.omap=Z7});var k3=I((Q7)=>{var y3=g();function x3({value:$,source:Z},U){if(Z&&($?h3:u3).test.test(Z))return Z;return $?U.options.trueStr:U.options.falseStr}var h3={identify:($)=>$===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new y3.Scalar(!0),stringify:x3},u3={identify:($)=>$===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new y3.Scalar(!1),stringify:x3};Q7.falseTag=u3;Q7.trueTag=h3});var v3=I((V7)=>{var H7=g(),v9=K0(),G7={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:v9.stringifyNumber},Y7={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():v9.stringifyNumber($)}},B7={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve($){let Z=new H7.Scalar(parseFloat($.replace(/_/g,""))),U=$.indexOf(".");if(U!==-1){let X=$.substring(U+1).replace(/_/g,"");if(X[X.length-1]==="0")Z.minFractionDigits=X.length}return Z},stringify:v9.stringifyNumber};V7.float=B7;V7.floatExp=Y7;V7.floatNaN=G7});var p3=I((M7)=>{var m3=K0(),e0=($)=>typeof $==="bigint"||Number.isInteger($);function p$($,Z,U,{intAsBigInt:X}){let z=$[0];if(z==="-"||z==="+")Z+=1;if($=$.substring(Z).replace(/_/g,""),X){switch(U){case 2:$=`0b${$}`;break;case 8:$=`0o${$}`;break;case 16:$=`0x${$}`;break}let J=BigInt($);return z==="-"?BigInt(-1)*J:J}let Q=parseInt($,U);return z==="-"?-1*Q:Q}function m9($,Z,U){let{value:X}=$;if(e0(X)){let z=X.toString(Z);return X<0?"-"+U+z.substr(1):U+z}return m3.stringifyNumber($)}var _7={identify:e0,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:($,Z,U)=>p$($,2,2,U),stringify:($)=>m9($,2,"0b")},D7={identify:e0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:($,Z,U)=>p$($,1,8,U),stringify:($)=>m9($,8,"0")},I7={identify:e0,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:($,Z,U)=>p$($,0,10,U),stringify:m3.stringifyNumber},R7={identify:e0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:($,Z,U)=>p$($,2,16,U),stringify:($)=>m9($,16,"0x")};M7.int=I7;M7.intBin=_7;M7.intHex=R7;M7.intOct=D7});var p9=I((N7)=>{var c$=b(),l$=$0(),d$=U0();class Y0 extends d$.YAMLMap{constructor($){super($);this.tag=Y0.tag}add($){let Z;if(c$.isPair($))Z=$;else if($&&typeof $==="object"&&"key"in $&&"value"in $&&$.value===null)Z=new l$.Pair($.key,null);else Z=new l$.Pair($,null);if(!d$.findPair(this.items,Z.key))this.items.push(Z)}get($,Z){let U=d$.findPair(this.items,$);return!Z&&c$.isPair(U)?c$.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=d$.findPair(this.items,$);if(U&&!Z)this.items.splice(this.items.indexOf(U),1);else if(!U&&Z)this.items.push(new l$.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:X}=U,z=new this($);if(Z&&Symbol.iterator in Object(Z))for(let Q of Z){if(typeof X==="function")Q=X.call(Z,Q,Q);z.items.push(l$.createPair(Q,null,U))}return z}}Y0.tag="tag:yaml.org,2002:set";var A7={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(c$.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 $}};N7.YAMLSet=Y0;N7.set=A7});var d9=I((E7)=>{var C7=K0();function l9($,Z){let U=$[0],X=U==="-"||U==="+"?$.substring(1):$,z=(J)=>Z?BigInt(J):Number(J),Q=X.replace(/_/g,"").split(":").reduce((J,q)=>J*z(60)+z(q),z(0));return U==="-"?z(-1)*Q:Q}function l3($){let{value:Z}=$,U=(J)=>J;if(typeof Z==="bigint")U=(J)=>BigInt(J);else if(isNaN(Z)||!isFinite(Z))return C7.stringifyNumber($);let X="";if(Z<0)X="-",Z*=U(-1);let z=U(60),Q=[Z%z];if(Z<60)Q.unshift(0);else if(Z=(Z-Q[0])/z,Q.unshift(Z%z),Z>=60)Z=(Z-Q[0])/z,Q.unshift(Z);return X+Q.map((J)=>String(J).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var j7={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})=>l9($,U),stringify:l3},S7={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:($)=>l9($,!1),stringify:l3},d3={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(d3.test);if(!Z)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,U,X,z,Q,J,q]=Z.map(Number),H=Z[7]?Number((Z[7]+"00").substr(1,3)):0,G=Date.UTC(U,X-1,z,Q||0,J||0,q||0,H),W=Z[8];if(W&&W!=="Z"){let Y=l9(W,!1);if(Math.abs(Y)<30)Y*=60;G-=60000*Y}return new Date(G)},stringify:({value:$})=>$?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};E7.floatTime=S7;E7.intTime=j7;E7.timestamp=d3});var a3=I((a7)=>{var x7=F0(),h7=h$(),u7=T0(),k7=n0(),v7=x9(),c3=k3(),c9=v3(),a$=p3(),m7=C$(),p7=k9(),l7=m$(),d7=p9(),a9=d9(),c7=[x7.map,u7.seq,k7.string,h7.nullTag,c3.trueTag,c3.falseTag,a$.intBin,a$.intOct,a$.int,a$.intHex,c9.floatNaN,c9.floatExp,c9.float,v7.binary,m7.merge,p7.omap,l7.pairs,d7.set,a9.intTime,a9.floatTime,a9.timestamp];a7.schema=c7});var U4=I((ZU)=>{var n3=F0(),i7=h$(),o3=T0(),r7=n0(),n7=b9(),s9=j9(),i9=E9(),o7=b3(),t7=j3(),t3=x9(),$$=C$(),e3=k9(),$4=m$(),s3=a3(),Z4=p9(),s$=d9(),i3=new Map([["core",o7.schema],["failsafe",[n3.map,o3.seq,r7.string]],["json",t7.schema],["yaml11",s3.schema],["yaml-1.1",s3.schema]]),r3={binary:t3.binary,bool:n7.boolTag,float:s9.float,floatExp:s9.floatExp,floatNaN:s9.floatNaN,floatTime:s$.floatTime,int:i9.int,intHex:i9.intHex,intOct:i9.intOct,intTime:s$.intTime,map:n3.map,merge:$$.merge,null:i7.nullTag,omap:e3.omap,pairs:$4.pairs,seq:o3.seq,set:Z4.set,timestamp:s$.timestamp},e7={"tag:yaml.org,2002:binary":t3.binary,"tag:yaml.org,2002:merge":$$.merge,"tag:yaml.org,2002:omap":e3.omap,"tag:yaml.org,2002:pairs":$4.pairs,"tag:yaml.org,2002:set":Z4.set,"tag:yaml.org,2002:timestamp":s$.timestamp};function $U($,Z,U){let X=i3.get(Z);if(X&&!$)return U&&!X.includes($$.merge)?X.concat($$.merge):X.slice();let z=X;if(!z)if(Array.isArray($))z=[];else{let Q=Array.from(i3.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 $)z=z.concat(Q);else if(typeof $==="function")z=$(z.slice());if(U)z=z.concat($$.merge);return z.reduce((Q,J)=>{let q=typeof J==="string"?r3[J]:J;if(!q){let H=JSON.stringify(J),G=Object.keys(r3).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},[])}ZU.coreKnownTags=e7;ZU.getTags=$U});var o9=I((HU)=>{var r9=b(),zU=F0(),QU=T0(),JU=n0(),i$=U4(),qU=($,Z)=>$.key<Z.key?-1:$.key>Z.key?1:0;class n9{constructor({compat:$,customTags:Z,merge:U,resolveKnownTags:X,schema:z,sortMapEntries:Q,toStringDefaults:J}){this.compat=Array.isArray($)?i$.getTags($,"compat"):$?i$.getTags(null,$):null,this.name=typeof z==="string"&&z||"core",this.knownTags=X?i$.coreKnownTags:{},this.tags=i$.getTags(Z,this.name,U),this.toStringOptions=J??null,Object.defineProperty(this,r9.MAP,{value:zU.map}),Object.defineProperty(this,r9.SCALAR,{value:JU.string}),Object.defineProperty(this,r9.SEQ,{value:QU.seq}),this.sortMapEntries=typeof Q==="function"?Q:Q===!0?qU:null}clone(){let $=Object.create(n9.prototype,Object.getOwnPropertyDescriptors(this));return $.tags=this.tags.slice(),$}}HU.Schema=n9});var X4=I((VU)=>{var YU=b(),t9=a0(),Z$=l0();function BU($,Z){let U=[],X=Z.directives===!0;if(Z.directives!==!1&&$.directives){let H=$.directives.toString($);if(H)U.push(H),X=!0;else if($.directives.docStart)X=!0}if(X)U.push("---");let z=t9.createStringifyContext($,Z),{commentString:Q}=z.options;if($.commentBefore){if(U.length!==1)U.unshift("");let H=Q($.commentBefore);U.unshift(Z$.indentComment(H,""))}let J=!1,q=null;if($.contents){if(YU.isNode($.contents)){if($.contents.spaceBefore&&X)U.push("");if($.contents.commentBefore){let W=Q($.contents.commentBefore);U.push(Z$.indentComment(W,""))}z.forceBlockIndent=!!$.comment,q=$.contents.comment}let H=q?void 0:()=>J=!0,G=t9.stringify($.contents,z,()=>q=null,H);if(q)G+=Z$.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(t9.stringify($.contents,z));if($.directives?.docEnd)if($.comment){let H=Q($.comment);if(H.includes(`
|
|
55
|
+
`))U.push("..."),U.push(Z$.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(Z$.indentComment(Q(H),""))}}return U.join(`
|
|
56
56
|
`)+`
|
|
57
|
-
`}
|
|
58
|
-
`;J=q+J}if(/[^ ]/.test(J)){let q=1,H=U.linePos[1];if(H?.line===
|
|
57
|
+
`}VU.stringifyDocument=BU});var U$=I((PU)=>{var LU=m0(),A0=T$(),u=b(),OU=$0(),_U=o(),DU=o9(),IU=X4(),e9=M$(),RU=I9(),MU=p0(),$2=D9();class Z2{constructor($,Z,U){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,u.NODE_TYPE,{value:u.DOC});let X=null;if(typeof Z==="function"||Array.isArray(Z))X=Z;else if(U===void 0&&Z)U=Z,Z=void 0;let z=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},U);this.options=z;let{version:Q}=z;if(U?._directives){if(this.directives=U._directives.atDocument(),this.directives.yaml.explicit)Q=this.directives.yaml.version}else this.directives=new $2.Directives({version:Q});this.setSchema(Q,U),this.contents=$===void 0?null:this.createNode($,X,U)}clone(){let $=Object.create(Z2.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=e9.anchorNames(this);$.anchor=!Z||U.has(Z)?e9.findNewAnchor(Z||"a",U):Z}return new LU.Alias($.anchor)}createNode($,Z,U){let X=void 0;if(typeof Z==="function")$=Z.call({"":$},"",$),X=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);X=Z}else if(U===void 0&&Z)U=Z,Z=void 0;let{aliasDuplicateObjects:z,anchorPrefix:Q,flow:J,keepUndefined:q,onTagObj:H,tag:G}=U??{},{onAnchor:W,setAnchors:Y,sourceObjects:B}=e9.createNodeAnchors(this,Q||"a"),O={aliasDuplicateObjects:z??!0,keepUndefined:q??!1,onAnchor:W,onTagObj:H,replacer:X,schema:this.schema,sourceObjects:B},_=MU.createNode($,G,O);if(J&&u.isCollection(_))_.flow=!0;return Y(),_}createPair($,Z,U={}){let X=this.createNode($,null,U),z=this.createNode(Z,null,U);return new OU.Pair(X,z)}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 $2.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 $2.Directives({version:$});U={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;U=null;break;default:{let X=JSON.stringify($);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${X}`)}}if(Z.schema instanceof Object)this.schema=Z.schema;else if(U)this.schema=new DU.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:X,onAnchor:z,reviver:Q}={}){let J={anchors:new Map,doc:this,keep:!$,mapAsMap:U===!0,mapKeyWarned:!1,maxAliasCount:typeof X==="number"?X:100},q=_U.toJS(this.contents,Z??"",J);if(typeof z==="function")for(let{count:H,res:G}of J.anchors.values())z(G,H);return typeof Q==="function"?RU.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 IU.stringifyDocument(this,$)}}function N0($){if(u.isCollection($))return!0;throw Error("Expected a YAML collection as document contents")}PU.Document=Z2});var X$=I((KU)=>{class r$ extends Error{constructor($,Z,U,X){super();this.name=$,this.code=U,this.message=X,this.pos=Z}}class z4 extends r${constructor($,Z,U){super("YAMLParseError",$,Z,U)}}class Q4 extends r${constructor($,Z,U){super("YAMLWarning",$,Z,U)}}var TU=($,Z)=>(U)=>{if(U.pos[0]===-1)return;U.linePos=U.pos.map((q)=>Z.linePos(q));let{line:X,col:z}=U.linePos[0];U.message+=` at line ${X}, column ${z}`;let Q=z-1,J=$.substring(Z.lineStarts[X-1],Z.lineStarts[X]).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(X>1&&/^ *$/.test(J.substring(0,Q))){let q=$.substring(Z.lineStarts[X-2],Z.lineStarts[X-1]);if(q.length>80)q=q.substring(0,79)+`…
|
|
58
|
+
`;J=q+J}if(/[^ ]/.test(J)){let q=1,H=U.linePos[1];if(H?.line===X&&H.col>z)q=Math.max(1,Math.min(H.col-z,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
|
-
`+
|
|
66
|
-
`+N.comment;else G.comment=N.comment;Y=N.end;continue}if(!J&&U.options.strict&&
|
|
67
|
-
`+
|
|
68
|
-
`+
|
|
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
|
+
`}};KU.YAMLError=r$;KU.YAMLParseError=z4;KU.YAMLWarning=Q4;KU.prettifyError=TU});var z$=I((jU)=>{function CU($,{flow:Z,indicator:U,next:X,offset:z,onError:Q,parentIndent:J,startOnNewline:q}){let H=!1,G=q,W=q,Y="",B="",O=!1,_=!1,V=null,L=null,R=null,M=null,T=null,A=null,K=null;for(let D of $){if(_){if(D.type!=="space"&&D.type!=="newline"&&D.type!=="comma")Q(D.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");_=!1}if(V){if(G&&D.type!=="comment"&&D.type!=="newline")Q(V,"TAB_AS_INDENT","Tabs are not allowed as indentation");V=null}switch(D.type){case"space":if(!Z&&(U!=="doc-start"||X?.type!=="flow-collection")&&D.source.includes("\t"))V=D;W=!0;break;case"comment":{if(!W)Q(D,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let w=D.source.substring(1)||" ";if(!Y)Y=w;else Y+=B+w;B="",G=!1;break}case"newline":if(G){if(Y)Y+=D.source;else if(!A||U!=="seq-item-ind")H=!0}else B+=D.source;if(G=!0,O=!0,L||R)M=D;W=!0;break;case"anchor":if(L)Q(D,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(D.source.endsWith(":"))Q(D.offset+D.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);L=D,K??(K=D.offset),G=!1,W=!1,_=!0;break;case"tag":{if(R)Q(D,"MULTIPLE_TAGS","A node can have at most one tag");R=D,K??(K=D.offset),G=!1,W=!1,_=!0;break}case U:if(L||R)Q(D,"BAD_PROP_ORDER",`Anchors and tags must be after the ${D.source} indicator`);if(A)Q(D,"UNEXPECTED_TOKEN",`Unexpected ${D.source} in ${Z??"collection"}`);A=D,G=U==="seq-item-ind"||U==="explicit-key-ind",W=!1;break;case"comma":if(Z){if(T)Q(D,"UNEXPECTED_TOKEN",`Unexpected , in ${Z}`);T=D,G=!1,W=!1;break}default:Q(D,"UNEXPECTED_TOKEN",`Unexpected ${D.type} token`),G=!1,W=!1}}let N=$[$.length-1],C=N?N.offset+N.source.length:z;if(_&&X&&X.type!=="space"&&X.type!=="newline"&&X.type!=="comma"&&(X.type!=="scalar"||X.source!==""))Q(X.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(V&&(G&&V.indent<=J||X?.type==="block-map"||X?.type==="block-seq"))Q(V,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:T,found:A,spaceBefore:H,comment:Y,hasNewline:O,anchor:L,tag:R,newlineAfterProp:M,end:C,start:K??C}}jU.resolveProps=CU});var n$=I((EU)=>{function U2($){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(U2(Z.key)||U2(Z.value))return!0}return!1;default:return!0}}EU.containsNewline=U2});var X2=I((xU)=>{var fU=n$();function yU($,Z,U){if(Z?.type==="flow-collection"){let X=Z.end[0];if(X.indent===$&&(X.source==="]"||X.source==="}")&&fU.containsNewline(Z))U(X,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}xU.flowIndentCheck=yU});var z2=I((kU)=>{var J4=b();function uU($,Z,U){let{uniqueKeys:X}=$.options;if(X===!1)return!1;let z=typeof X==="function"?X:(Q,J)=>Q===J||J4.isScalar(Q)&&J4.isScalar(J)&&Q.value===J.value;return Z.some((Q)=>z(Q.key,U))}kU.mapIncludes=uU});var B4=I((cU)=>{var q4=$0(),mU=U0(),H4=z$(),pU=n$(),G4=X2(),lU=z2(),Y4="All mapping items must start at the same column";function dU({composeNode:$,composeEmptyNode:Z},U,X,z,Q){let q=new(Q?.nodeClass??mU.YAMLMap)(U.schema);if(U.atRoot)U.atRoot=!1;let H=X.offset,G=null;for(let W of X.items){let{start:Y,key:B,sep:O,value:_}=W,V=H4.resolveProps(Y,{indicator:"explicit-key-ind",next:B??O?.[0],offset:H,onError:z,parentIndent:X.indent,startOnNewline:!0}),L=!V.found;if(L){if(B){if(B.type==="block-seq")z(H,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in B&&B.indent!==X.indent)z(H,"BAD_INDENT",Y4)}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||pU.containsNewline(B))z(B??Y[Y.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(V.found?.indent!==X.indent)z(H,"BAD_INDENT",Y4);U.atKey=!0;let R=V.end,M=B?$(U,B,V,z):Z(U,R,Y,null,V,z);if(U.schema.compat)G4.flowIndentCheck(X.indent,B,z);if(U.atKey=!1,lU.mapIncludes(U,q.items,M))z(R,"DUPLICATE_KEY","Map keys must be unique");let T=H4.resolveProps(O??[],{indicator:"map-value-ind",next:_,offset:M.range[2],onError:z,parentIndent:X.indent,startOnNewline:!B||B.type==="block-scalar"});if(H=T.end,T.found){if(L){if(_?.type==="block-map"&&!T.hasNewline)z(H,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(U.options.strict&&V.start<T.found.offset-1024)z(M.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let A=_?$(U,_,T,z):Z(U,H,O,null,T,z);if(U.schema.compat)G4.flowIndentCheck(X.indent,_,z);H=A.range[2];let K=new q4.Pair(M,A);if(U.options.keepSourceTokens)K.srcToken=W;q.items.push(K)}else{if(L)z(M.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(T.comment)if(M.comment)M.comment+=`
|
|
65
|
+
`+T.comment;else M.comment=T.comment;let A=new q4.Pair(M);if(U.options.keepSourceTokens)A.srcToken=W;q.items.push(A)}}if(G&&G<H)z(G,"IMPOSSIBLE","Map comment with trailing content");return q.range=[X.offset,H,G??H],q}cU.resolveBlockMap=dU});var V4=I((oU)=>{var sU=X0(),iU=z$(),rU=X2();function nU({composeNode:$,composeEmptyNode:Z},U,X,z,Q){let q=new(Q?.nodeClass??sU.YAMLSeq)(U.schema);if(U.atRoot)U.atRoot=!1;if(U.atKey)U.atKey=!1;let H=X.offset,G=null;for(let{start:W,value:Y}of X.items){let B=iU.resolveProps(W,{indicator:"seq-item-ind",next:Y,offset:H,onError:z,parentIndent:X.indent,startOnNewline:!0});if(!B.found)if(B.anchor||B.tag||Y)if(Y?.type==="block-seq")z(B.end,"BAD_INDENT","All sequence items must start at the same column");else z(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,z):Z(U,B.end,W,null,B,z);if(U.schema.compat)rU.flowIndentCheck(X.indent,Y,z);H=O.range[2],q.items.push(O)}return q.range=[X.offset,H,G??H],q}oU.resolveBlockSeq=nU});var w0=I(($X)=>{function eU($,Z,U,X){let z="";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)X(q,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let W=H.substring(1)||" ";if(!z)z=W;else z+=J+W;J="";break}case"newline":if(z)J+=H;Q=!0;break;default:X(q,"UNEXPECTED_TOKEN",`Unexpected ${G} at node end`)}Z+=H.length}}return{comment:z,offset:Z}}$X.resolveEnd=eU});var O4=I((GX)=>{var UX=b(),XX=$0(),W4=U0(),zX=X0(),QX=w0(),L4=z$(),JX=n$(),qX=z2(),Q2="Block collections are not allowed within flow collections",J2=($)=>$&&($.type==="block-map"||$.type==="block-seq");function HX({composeNode:$,composeEmptyNode:Z},U,X,z,Q){let J=X.start.source==="{",q=J?"flow map":"flow sequence",G=new(Q?.nodeClass??(J?W4.YAMLMap:zX.YAMLSeq))(U.schema);G.flow=!0;let W=U.atRoot;if(W)U.atRoot=!1;if(U.atKey)U.atKey=!1;let Y=X.offset+X.start.source.length;for(let L=0;L<X.items.length;++L){let R=X.items[L],{start:M,key:T,sep:A,value:K}=R,N=L4.resolveProps(M,{flow:q,indicator:"explicit-key-ind",next:T??A?.[0],offset:Y,onError:z,parentIndent:X.indent,startOnNewline:!1});if(!N.found){if(!N.anchor&&!N.tag&&!A&&!K){if(L===0&&N.comma)z(N.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${q}`);else if(L<X.items.length-1)z(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&&JX.containsNewline(T))z(T,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(L===0){if(N.comma)z(N.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${q}`)}else{if(!N.comma)z(N.start,"MISSING_CHAR",`Missing , between ${q} items`);if(N.comment){let C="";$:for(let D of M)switch(D.type){case"comma":case"space":break;case"comment":C=D.source.substring(1);break $;default:break $}if(C){let D=G.items[G.items.length-1];if(UX.isPair(D))D=D.value??D.key;if(D.comment)D.comment+=`
|
|
67
|
+
`+C;else D.comment=C;N.comment=N.comment.substring(C.length+1)}}}if(!J&&!A&&!N.found){let C=K?$(U,K,N,z):Z(U,N.end,A,null,N,z);if(G.items.push(C),Y=C.range[2],J2(K))z(C.range,"BLOCK_IN_FLOW",Q2)}else{U.atKey=!0;let C=N.end,D=T?$(U,T,N,z):Z(U,C,M,null,N,z);if(J2(T))z(D.range,"BLOCK_IN_FLOW",Q2);U.atKey=!1;let w=L4.resolveProps(A??[],{flow:q,indicator:"map-value-ind",next:K,offset:D.range[2],onError:z,parentIndent:X.indent,startOnNewline:!1});if(w.found){if(!J&&!N.found&&U.options.strict){if(A)for(let E of A){if(E===w.found)break;if(E.type==="newline"){z(E,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(N.start<w.found.offset-1024)z(w.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(K)if("source"in K&&K.source?.[0]===":")z(K,"MISSING_CHAR",`Missing space after : in ${q}`);else z(w.start,"MISSING_CHAR",`Missing , or : between ${q} items`);let p=K?$(U,K,w,z):w.found?Z(U,w.end,A,null,w,z):null;if(p){if(J2(K))z(p.range,"BLOCK_IN_FLOW",Q2)}else if(w.comment)if(D.comment)D.comment+=`
|
|
68
|
+
`+w.comment;else D.comment=w.comment;let l=new XX.Pair(D,p);if(U.options.keepSourceTokens)l.srcToken=R;if(J){let E=G;if(qX.mapIncludes(U,E.items,D))z(C,"DUPLICATE_KEY","Map keys must be unique");E.items.push(l)}else{let E=new W4.YAMLMap(U.schema);E.flow=!0,E.items.push(l);let g0=(p??D).range;E.range=[D.range[0],g0[1],g0[2]],G.items.push(E)}Y=p?p.range[2]:w.end}}let B=J?"}":"]",[O,..._]=X.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(z(Y,W?"MISSING_CHAR":"BAD_INDENT",R),O&&O.source.length!==1)_.unshift(O)}if(_.length>0){let L=QX.resolveEnd(_,V,U.options.strict,z);if(L.comment)if(G.comment)G.comment+=`
|
|
69
|
+
`+L.comment;else G.comment=L.comment;G.range=[X.offset,V,L.offset]}else G.range=[X.offset,V,V];return G}GX.resolveFlowCollection=HX});var _4=I((RX)=>{var BX=b(),VX=g(),WX=U0(),LX=X0(),OX=B4(),_X=V4(),DX=O4();function q2($,Z,U,X,z,Q){let J=U.type==="block-map"?OX.resolveBlockMap($,Z,U,X,Q):U.type==="block-seq"?_X.resolveBlockSeq($,Z,U,X,Q):DX.resolveFlowCollection($,Z,U,X,Q),q=J.constructor;if(z==="!"||z===q.tagName)return J.tag=q.tagName,J;if(z)J.tag=z;return J}function IX($,Z,U,X,z){let Q=X.tag,J=!Q?null:Z.directives.tagName(Q.source,(B)=>z(Q,"TAG_RESOLVE_FAILED",B));if(U.type==="block-seq"){let{anchor:B,newlineAfterProp:O}=X,_=B&&Q?B.offset>Q.offset?B:Q:B??Q;if(_&&(!O||O.offset<_.offset))z(_,"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===WX.YAMLMap.tagName&&q==="map"||J===LX.YAMLSeq.tagName&&q==="seq")return q2($,Z,U,z,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)z(Q,"BAD_COLLECTION_TYPE",`${B.tag} used for ${q} collection, but expects ${B.collection??"scalar"}`,!0);else z(Q,"TAG_RESOLVE_FAILED",`Unresolved tag: ${J}`,!0);return q2($,Z,U,z,J)}}let G=q2($,Z,U,z,J,H),W=H.resolve?.(G,(B)=>z(Q,"TAG_RESOLVE_FAILED",B),Z.options)??G,Y=BX.isNode(W)?W:new VX.Scalar(W);if(Y.range=G.range,Y.tag=J,H?.format)Y.format=H.format;return Y}RX.composeCollection=IX});var G2=I((KX)=>{var H2=g();function PX($,Z,U){let X=Z.offset,z=FX(Z,$.options.strict,U);if(!z)return{value:"",type:null,comment:"",range:[X,X,X]};let Q=z.mode===">"?H2.Scalar.BLOCK_FOLDED:H2.Scalar.BLOCK_LITERAL,J=Z.source?TX(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=z.chomp==="+"&&J.length>0?`
|
|
70
|
+
`.repeat(Math.max(1,J.length-1)):"",L=X+z.length;if(Z.source)L+=Z.source.length;return{value:V,type:Q,comment:z.comment,range:[X,L,L]}}let H=Z.indent+z.indent,G=Z.offset+z.length,W=0;for(let V=0;V<q;++V){let[L,R]=J[V];if(R===""||R==="\r"){if(z.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(z.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 M=R[R.length-1]==="\r";if(M)R=R.slice(0,-1);if(R&&L.length<H){let A=`Block scalar lines must not be less indented than their ${z.indent?"explicit indentation indicator":"first line"}`;U(G-R.length-(M?2:1),"BAD_INDENT",A),L=""}if(Q===H2.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(z.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 _=X+z.length+Z.source.length;return{value:Y,type:Q,comment:z.comment,range:[X,_,_]}}function FX({offset:$,props:Z},U,X){if(Z[0].type!=="block-scalar-header")return X(Z[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:z}=Z[0],Q=z[0],J=0,q="",H=-1;for(let B=1;B<z.length;++B){let O=z[B];if(!q&&(O==="-"||O==="+"))q=O;else{let _=Number(O);if(!J&&_)J=_;else if(H===-1)H=$+B}}if(H!==-1)X(H,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${z}`);let G=!1,W="",Y=z.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)X(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":X(O,"UNEXPECTED_TOKEN",O.message),Y+=O.source.length;break;default:{let _=`Unexpected token in block scalar header: ${O.type}`;X(O,"UNEXPECTED_TOKEN",_);let V=O.source;if(V&&typeof V==="string")Y+=V.length}}}return{mode:Q,indent:J,chomp:q,comment:W,length:Y}}function TX($){let Z=$.split(/\n( *)/),U=Z[0],X=U.match(/^( *)/),Q=[X?.[1]?[X[1],U.slice(X[1].length)]:["",U]];for(let J=1;J<Z.length;J+=2)Q.push([Z[J],Z[J+1]]);return Q}KX.resolveBlockScalar=PX});var B2=I((fX)=>{var Y2=g(),NX=w0();function wX($,Z,U){let{offset:X,type:z,source:Q,end:J}=$,q,H,G=(B,O,_)=>U(X+B,O,_);switch(z){case"scalar":q=Y2.Scalar.PLAIN,H=bX(Q,G);break;case"single-quoted-scalar":q=Y2.Scalar.QUOTE_SINGLE,H=CX(Q,G);break;case"double-quoted-scalar":q=Y2.Scalar.QUOTE_DOUBLE,H=jX(Q,G);break;default:return U($,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${z}`),{value:"",type:null,comment:"",range:[X,X+Q.length,X+Q.length]}}let W=X+Q.length,Y=NX.resolveEnd(J,W,Z,U);return{value:H,type:q,comment:Y.comment,range:[X,W,Y.offset]}}function bX($,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 D4($)}function CX($,Z){if($[$.length-1]!=="'"||$.length===1)Z($.length,"MISSING_CHAR","Missing closing 'quote");return D4($.slice(1,-1)).replace(/''/g,"'")}function D4($){let Z,U;try{Z=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
85
85
|
`,"sy"),U=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
86
|
-
`,"sy")}catch{Z=/(.*?)[ \t]*\r?\n/sy,U=/[ \t]*(.*?)[ \t]*\r?\n/sy}let
|
|
87
|
-
`)
|
|
88
|
-
`;else
|
|
89
|
-
`)continue;if(
|
|
90
|
-
`){let{fold:Q,offset:J}=
|
|
91
|
-
`){Q=$[
|
|
92
|
-
`){Q=$[++
|
|
93
|
-
`&&!(J==="\r"&&$[
|
|
94
|
-
`))U+=
|
|
95
|
-
`||
|
|
96
|
-
`)break;if(
|
|
86
|
+
`,"sy")}catch{Z=/(.*?)[ \t]*\r?\n/sy,U=/[ \t]*(.*?)[ \t]*\r?\n/sy}let X=Z.exec($);if(!X)return $;let z=X[1],Q=" ",J=Z.lastIndex;U.lastIndex=J;while(X=U.exec($)){if(X[1]==="")if(Q===`
|
|
87
|
+
`)z+=Q;else Q=`
|
|
88
|
+
`;else z+=Q+X[1],Q=" ";J=U.lastIndex}let q=/[ \t]*(.*)/sy;return q.lastIndex=J,X=q.exec($),z+Q+(X?.[1]??"")}function jX($,Z){let U="";for(let X=1;X<$.length-1;++X){let z=$[X];if(z==="\r"&&$[X+1]===`
|
|
89
|
+
`)continue;if(z===`
|
|
90
|
+
`){let{fold:Q,offset:J}=SX($,X);U+=Q,X=J}else if(z==="\\"){let Q=$[++X],J=EX[Q];if(J)U+=J;else if(Q===`
|
|
91
|
+
`){Q=$[X+1];while(Q===" "||Q==="\t")Q=$[++X+1]}else if(Q==="\r"&&$[X+1]===`
|
|
92
|
+
`){Q=$[++X+1];while(Q===" "||Q==="\t")Q=$[++X+1]}else if(Q==="x"||Q==="u"||Q==="U"){let q={x:2,u:4,U:8}[Q];U+=gX($,X+1,q,Z),X+=q}else{let q=$.substr(X-1,2);Z(X-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${q}`),U+=q}}else if(z===" "||z==="\t"){let Q=X,J=$[X+1];while(J===" "||J==="\t")J=$[++X+1];if(J!==`
|
|
93
|
+
`&&!(J==="\r"&&$[X+2]===`
|
|
94
|
+
`))U+=X>Q?$.slice(Q,X+1):z}else U+=z}if($[$.length-1]!=='"'||$.length===1)Z($.length,"MISSING_CHAR",'Missing closing "quote');return U}function SX($,Z){let U="",X=$[Z+1];while(X===" "||X==="\t"||X===`
|
|
95
|
+
`||X==="\r"){if(X==="\r"&&$[Z+2]!==`
|
|
96
|
+
`)break;if(X===`
|
|
97
97
|
`)U+=`
|
|
98
|
-
`;Z+=1,
|
|
99
|
-
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function
|
|
98
|
+
`;Z+=1,X=$[Z+1]}if(!U)U=" ";return{fold:U,offset:Z}}var EX={"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 gX($,Z,U,X){let z=$.substr(Z,U),J=z.length===U&&/^[0-9a-fA-F]+$/.test(z)?parseInt(z,16):NaN;if(isNaN(J)){let q=$.substr(Z-2,U+2);return X(Z-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${q}`),q}return String.fromCodePoint(J)}fX.resolveFlowScalar=wX});var R4=I((mX)=>{var B0=b(),I4=g(),xX=G2(),hX=B2();function uX($,Z,U,X){let{value:z,type:Q,comment:J,range:q}=Z.type==="block-scalar"?xX.resolveBlockScalar($,Z,X):hX.resolveFlowScalar(Z,$.options.strict,X),H=U?$.directives.tagName(U.source,(Y)=>X(U,"TAG_RESOLVE_FAILED",Y)):null,G;if($.options.stringKeys&&$.atKey)G=$.schema[B0.SCALAR];else if(H)G=kX($.schema,z,H,U,X);else if(Z.type==="scalar")G=vX($,z,Z,X);else G=$.schema[B0.SCALAR];let W;try{let Y=G.resolve(z,(B)=>X(U??Z,"TAG_RESOLVE_FAILED",B),$.options);W=B0.isScalar(Y)?Y:new I4.Scalar(Y)}catch(Y){let B=Y instanceof Error?Y.message:String(Y);X(U??Z,"TAG_RESOLVE_FAILED",B),W=new I4.Scalar(z)}if(W.range=q,W.source=z,Q)W.type=Q;if(H)W.tag=H;if(G.format)W.format=G.format;if(J)W.comment=J;return W}function kX($,Z,U,X,z){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 z(X,"TAG_RESOLVE_FAILED",`Unresolved tag: ${U}`,U!=="tag:yaml.org,2002:str"),$[B0.SCALAR]}function vX({atKey:$,directives:Z,schema:U},X,z,Q){let J=U.tags.find((q)=>(q.default===!0||$&&q.default==="key")&&q.test?.test(X))||U[B0.SCALAR];if(U.compat){let q=U.compat.find((H)=>H.default&&H.test?.test(X))??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(z,"TAG_RESOLVE_FAILED",W,!0)}}return J}mX.composeScalar=uX});var M4=I((dX)=>{function lX($,Z,U){if(Z){U??(U=Z.length);for(let X=U-1;X>=0;--X){let z=Z[X];switch(z.type){case"space":case"comment":case"newline":$-=z.source.length;continue}z=Z[++X];while(z?.type==="space")$+=z.source.length,z=Z[++X];break}}return $}dX.emptyScalarPosition=lX});var T4=I((eX)=>{var aX=m0(),sX=b(),iX=_4(),P4=R4(),rX=w0(),nX=M4(),oX={composeNode:F4,composeEmptyNode:V2};function F4($,Z,U,X){let z=$.atKey,{spaceBefore:Q,comment:J,anchor:q,tag:H}=U,G,W=!0;switch(Z.type){case"alias":if(G=tX($,Z,X),q||H)X(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=P4.composeScalar($,Z,H,X),q)G.anchor=q.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(G=iX.composeCollection(oX,$,Z,U,X),q)G.anchor=q.source.substring(1);break;default:{let Y=Z.type==="error"?Z.message:`Unsupported token (type: ${Z.type})`;X(Z,"UNEXPECTED_TOKEN",Y),G=V2($,Z.offset,void 0,null,U,X),W=!1}}if(q&&G.anchor==="")X(q,"BAD_ALIAS","Anchor cannot be an empty string");if(z&&$.options.stringKeys&&(!sX.isScalar(G)||typeof G.value!=="string"||G.tag&&G.tag!=="tag:yaml.org,2002:str"))X(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 V2($,Z,U,X,{spaceBefore:z,comment:Q,anchor:J,tag:q,end:H},G){let W={type:"scalar",offset:nX.emptyScalarPosition(Z,U,X),indent:-1,source:""},Y=P4.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(z)Y.spaceBefore=!0;if(Q)Y.comment=Q,Y.range[2]=H;return Y}function tX({options:$},{offset:Z,source:U,end:X},z){let Q=new aX.Alias(U.substring(1));if(Q.source==="")z(Z,"BAD_ALIAS","Alias cannot be an empty string");if(Q.source.endsWith(":"))z(Z+U.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let J=Z+U.length,q=rX.resolveEnd(X,J,$.strict,z);if(Q.range=[Z,J,q.offset],q.comment)Q.comment=q.comment;return Q}eX.composeEmptyNode=V2;eX.composeNode=F4});var A4=I((Jz)=>{var Uz=U$(),K4=T4(),Xz=w0(),zz=z$();function Qz($,Z,{offset:U,start:X,value:z,end:Q},J){let q=Object.assign({_directives:Z},$),H=new Uz.Document(void 0,q),G={atKey:!1,atRoot:!0,directives:H.directives,options:H.options,schema:H.schema},W=zz.resolveProps(X,{indicator:"doc-start",next:z??Q?.[0],offset:U,onError:J,parentIndent:0,startOnNewline:!0});if(W.found){if(H.directives.docStart=!0,z&&(z.type==="block-map"||z.type==="block-seq")&&!W.hasNewline)J(W.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}H.contents=z?K4.composeNode(G,z,W,J):K4.composeEmptyNode(G,W.end,X,null,W,J);let Y=H.contents.range[2],B=Xz.resolveEnd(Q,Y,!1,J);if(B.comment)H.comment=B.comment;return H.range=[U,Y,B.offset],H}Jz.composeDoc=Qz});var W2=I((Wz)=>{var Hz=f0("process"),Gz=D9(),Yz=U$(),Q$=X$(),N4=b(),Bz=A4(),Vz=w0();function J$($){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 w4($){let Z="",U=!1,X=!1;for(let z=0;z<$.length;++z){let Q=$[z];switch(Q[0]){case"#":Z+=(Z===""?"":X?`
|
|
100
100
|
|
|
101
101
|
`:`
|
|
102
|
-
`)+(Q.substring(1)||" "),U=!0,
|
|
103
|
-
${U}`:U;else if(
|
|
104
|
-
${J}`:U}else{let Q=
|
|
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
|
|
102
|
+
`)+(Q.substring(1)||" "),U=!0,X=!1;break;case"%":if($[z+1]?.[0]!=="#")z+=1;U=!1;break;default:if(!U)X=!0;U=!1}}return{comment:Z,afterEmptyLine:X}}class b4{constructor($={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(Z,U,X,z)=>{let Q=J$(Z);if(z)this.warnings.push(new Q$.YAMLWarning(Q,U,X));else this.errors.push(new Q$.YAMLParseError(Q,U,X))},this.directives=new Gz.Directives({version:$.version||"1.2"}),this.options=$}decorate($,Z){let{comment:U,afterEmptyLine:X}=w4(this.prelude);if(U){let z=$.contents;if(Z)$.comment=$.comment?`${$.comment}
|
|
103
|
+
${U}`:U;else if(X||$.directives.docStart||!z)$.commentBefore=U;else if(N4.isCollection(z)&&!z.flow&&z.items.length>0){let Q=z.items[0];if(N4.isPair(Q))Q=Q.key;let J=Q.commentBefore;Q.commentBefore=J?`${U}
|
|
104
|
+
${J}`:U}else{let Q=z.commentBefore;z.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:w4(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose($,Z=!1,U=-1){for(let X of $)yield*this.next(X);yield*this.end(Z,U)}*next($){if(Hz.env.LOG_STREAM)console.dir($,{depth:null});switch($.type){case"directive":this.directives.add($.source,(Z,U,X)=>{let z=J$($);z[0]+=Z,this.onError(z,"BAD_DIRECTIVE",U,X)}),this.prelude.push($.source),this.atDirectives=!0;break;case"document":{let Z=Bz.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 Q$.YAMLParseError(J$($),"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 Q$.YAMLParseError(J$($),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let Z=Vz.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 Q$.YAMLParseError(J$($),"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),X=new Yz.Document(void 0,U);if(this.atDirectives)this.onError(Z,"MISSING_CHAR","Missing directives-end indicator line");X.range=[0,Z,Z],this.decorate(X,!1),yield X}}}Wz.Composer=b4});var S4=I((Fz)=>{var Oz=G2(),_z=B2(),Dz=X$(),C4=c0();function Iz($,Z=!0,U){if($){let X=(z,Q,J)=>{let q=typeof z==="number"?z:Array.isArray(z)?z[0]:z.offset;if(U)U(q,Q,J);else throw new Dz.YAMLParseError([q,q+1],Q,J)};switch($.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return _z.resolveFlowScalar($,Z,X);case"block-scalar":return Oz.resolveBlockScalar({options:{strict:Z}},$,X)}}return null}function Rz($,Z){let{implicitKey:U=!1,indent:X,inFlow:z=!1,offset:Q=-1,type:J="PLAIN"}=Z,q=C4.stringifyString({type:J,value:$},{implicitKey:U,indent:X>0?" ".repeat(X):"",inFlow:z,options:{blockQuote:!0,lineWidth:-1}}),H=Z.end??[{type:"newline",offset:-1,indent:X,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:
|
|
110
|
-
`});return{type:"block-scalar",offset:Q,indent:
|
|
111
|
-
`),
|
|
112
|
-
`;if($.type==="block-scalar"){let Q=$.props[0];if(Q.type!=="block-scalar-header")throw Error("Invalid block scalar header");Q.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:
|
|
114
|
-
`};delete $.items,Object.assign($,{type:U,source:Z,end:[
|
|
109
|
+
`,B=[{type:"block-scalar-header",offset:Q,indent:X,source:W}];if(!j4(B,H))B.push({type:"newline",offset:-1,indent:X,source:`
|
|
110
|
+
`});return{type:"block-scalar",offset:Q,indent:X,props:B,source:Y}}case'"':return{type:"double-quoted-scalar",offset:Q,indent:X,source:q,end:H};case"'":return{type:"single-quoted-scalar",offset:Q,indent:X,source:q,end:H};default:return{type:"scalar",offset:Q,indent:X,source:q,end:H}}}function Mz($,Z,U={}){let{afterKey:X=!1,implicitKey:z=!1,inFlow:Q=!1,type:J}=U,q="indent"in $?$.indent:null;if(X&&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=C4.stringifyString({type:J,value:Z},{implicitKey:z||q===null,indent:q!==null&&q>0?" ".repeat(q):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}});switch(H[0]){case"|":case">":Pz($,H);break;case'"':L2($,H,"double-quoted-scalar");break;case"'":L2($,H,"single-quoted-scalar");break;default:L2($,H,"scalar")}}function Pz($,Z){let U=Z.indexOf(`
|
|
111
|
+
`),X=Z.substring(0,U),z=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=X,$.source=z}else{let{offset:Q}=$,J="indent"in $?$.indent:-1,q=[{type:"block-scalar-header",offset:Q,indent:J,source:X}];if(!j4(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:z})}}function j4($,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 L2($,Z,U){switch($.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":$.type=U,$.source=Z;break;case"block-scalar":{let X=$.props.slice(1),z=Z.length;if($.props[0].type==="block-scalar-header")z-=$.props[0].source.length;for(let Q of X)Q.offset+=z;delete $.props,Object.assign($,{type:U,source:Z,end:X});break}case"block-map":case"block-seq":{let z={type:"newline",offset:$.offset+Z.length,indent:$.indent,source:`
|
|
114
|
+
`};delete $.items,Object.assign($,{type:U,source:Z,end:[z]});break}default:{let X="indent"in $?$.indent:-1,z="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:X,source:Z,end:z})}}}Fz.createScalarToken=Rz;Fz.resolveAsScalar=Iz;Fz.setScalarValue=Mz});var E4=I((wz)=>{var Nz=($)=>("type"in $)?t$($):o$($);function t$($){switch($.type){case"block-scalar":{let Z="";for(let U of $.props)Z+=t$(U);return Z+$.source}case"block-map":case"block-seq":{let Z="";for(let U of $.items)Z+=o$(U);return Z}case"flow-collection":{let Z=$.start.source;for(let U of $.items)Z+=o$(U);for(let U of $.end)Z+=U.source;return Z}case"document":{let Z=o$($);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 o$({start:$,key:Z,sep:U,value:X}){let z="";for(let Q of $)z+=Q.source;if(Z)z+=t$(Z);if(U)for(let Q of U)z+=Q.source;if(X)z+=t$(X);return z}wz.stringify=Nz});var y4=I((jz)=>{var O2=Symbol("break visit"),Cz=Symbol("skip children"),g4=Symbol("remove item");function V0($,Z){if("type"in $&&$.type==="document")$={start:$.start,value:$.value};f4(Object.freeze([]),$,Z)}V0.BREAK=O2;V0.SKIP=Cz;V0.REMOVE=g4;V0.itemAtPath=($,Z)=>{let U=$;for(let[X,z]of Z){let Q=U?.[X];if(Q&&"items"in Q)U=Q.items[z];else return}return U};V0.parentCollection=($,Z)=>{let U=V0.itemAtPath($,Z.slice(0,-1)),X=Z[Z.length-1][0],z=U?.[X];if(z&&"items"in z)return z;throw Error("Parent collection not found")};function f4($,Z,U){let X=U(Z,$);if(typeof X==="symbol")return X;for(let z of["key","value"]){let Q=Z[z];if(Q&&"items"in Q){for(let J=0;J<Q.items.length;++J){let q=f4(Object.freeze($.concat([[z,J]])),Q.items[J],U);if(typeof q==="number")J=q-1;else if(q===O2)return O2;else if(q===g4)Q.items.splice(J,1),J-=1}if(typeof X==="function"&&z==="key")X=X(Z,$)}}return typeof X==="function"?X(Z,$):X}jz.visit=V0});var e$=I((uz)=>{var _2=S4(),Ez=E4(),gz=y4(),D2="\uFEFF",I2="\x02",R2="\x18",M2="\x1F",fz=($)=>!!$&&("items"in $),yz=($)=>!!$&&($.type==="scalar"||$.type==="single-quoted-scalar"||$.type==="double-quoted-scalar"||$.type==="block-scalar");function xz($){switch($){case D2:return"<BOM>";case I2:return"<DOC>";case R2:return"<FLOW_END>";case M2:return"<SCALAR>";default:return JSON.stringify($)}}function hz($){switch($){case D2:return"byte-order-mark";case I2:return"doc-mode";case R2:return"flow-error-end";case M2: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}uz.createScalarToken=_2.createScalarToken;uz.resolveAsScalar=_2.resolveAsScalar;uz.setScalarValue=_2.setScalarValue;uz.stringify=Ez.stringify;uz.visit=gz.visit;uz.BOM=D2;uz.DOCUMENT=I2;uz.FLOW_END=R2;uz.SCALAR=M2;uz.isCollection=fz;uz.isScalar=yz;uz.prettyToken=xz;uz.tokenType=hz});var F2=I(($Q)=>{var q$=e$();function v($){switch($){case void 0:case" ":case`
|
|
117
|
+
`:case"\r":case"\t":return!0;default:return!1}}var x4=new Set("0123456789ABCDEFabcdef"),tz=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),$9=new Set(",[]{}"),ez=new Set(` ,[]{}
|
|
118
|
+
\r `),P2=($)=>!$||ez.has($);class h4{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
|
-
`;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
|
|
121
|
-
`||!
|
|
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 X=this.buffer[U+$+1];if(X===`
|
|
121
|
+
`||!X&&!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]===
|
|
124
|
-
`,this.pos);if(
|
|
125
|
-
`,
|
|
126
|
-
`:$=
|
|
127
|
-
`)break}default:break $}if(!U&&!this.atEnd)return this.setNext("block-scalar");if(Z>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=Z;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let
|
|
128
|
-
`,
|
|
129
|
-
`)U=this.buffer[++
|
|
130
|
-
`&&
|
|
131
|
-
`)U+=1,
|
|
132
|
-
`,
|
|
133
|
-
`){let Q=this.continueScalar(U+1);if(Q===-1)break;U=Math.max(U,Q-2)}}else{if(
|
|
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]===q$.BOM)yield*this.pushCount(1),$=$.substring(1);if($[0]==="%"){let Z=$.length,U=$.indexOf("#");while(U!==-1){let z=$[U-1];if(z===" "||z==="\t"){Z=U-1;break}else U=$.indexOf("#",U+1)}while(!0){let z=$[Z-1];if(z===" "||z==="\t")Z-=1;else break}let X=(yield*this.pushCount(Z))+(yield*this.pushSpaces(!0));return yield*this.pushCount($.length-X),this.pushNewline(),"stream"}if(this.atLineEnd()){let Z=yield*this.pushSpaces(!0);return yield*this.pushCount($.length-Z),yield*this.pushNewline(),"stream"}return yield q$.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(P2),"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 X=this.getLine();if(X===null)return this.setNext("flow");if(U!==-1&&U<this.indentNext&&X[0]!=="#"||U===0&&(X.startsWith("---")||X.startsWith("..."))&&v(X[3])){if(!(U===this.indentNext-1&&this.flowLevel===1&&(X[0]==="]"||X[0]==="}")))return this.flowLevel=0,yield q$.FLOW_END,yield*this.parseLineStart()}let z=0;while(X[z]===",")z+=yield*this.pushCount(1),z+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(z+=yield*this.pushIndicators(),X[z]){case void 0:return"flow";case"#":return yield*this.pushCount(X.length-z),"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(P2),"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 z=0;while(this.buffer[Z-1-z]==="\\")z+=1;if(z%2===0)break;Z=this.buffer.indexOf('"',Z+1)}let U=this.buffer.substring(0,Z),X=U.indexOf(`
|
|
124
|
+
`,this.pos);if(X!==-1){while(X!==-1){let z=this.continueScalar(X+1);if(z===-1)break;X=U.indexOf(`
|
|
125
|
+
`,z)}if(X!==-1)Z=X-(U[X-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 z=this.pos;U=this.buffer[z];++z)switch(U){case" ":Z+=1;break;case`
|
|
126
|
+
`:$=z,Z=0;break;case"\r":{let Q=this.buffer[z+1];if(!Q&&!this.atEnd)return this.setNext("block-scalar");if(Q===`
|
|
127
|
+
`)break}default:break $}if(!U&&!this.atEnd)return this.setNext("block-scalar");if(Z>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=Z;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let z=this.continueScalar($+1);if(z===-1)break;$=this.buffer.indexOf(`
|
|
128
|
+
`,z)}while($!==-1);if($===-1){if(!this.atEnd)return this.setNext("block-scalar");$=this.buffer.length}}let X=$+1;U=this.buffer[X];while(U===" ")U=this.buffer[++X];if(U==="\t"){while(U==="\t"||U===" "||U==="\r"||U===`
|
|
129
|
+
`)U=this.buffer[++X];$=X-1}else if(!this.blockScalarKeep)do{let z=$-1,Q=this.buffer[z];if(Q==="\r")Q=this.buffer[--z];let J=z;while(Q===" ")Q=this.buffer[--z];if(Q===`
|
|
130
|
+
`&&z>=this.pos&&z+1+Z>J)$=z;else break}while(!0);return yield q$.SCALAR,yield*this.pushToIndex($+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let $=this.flowLevel>0,Z=this.pos-1,U=this.pos-1,X;while(X=this.buffer[++U])if(X===":"){let z=this.buffer[U+1];if(v(z)||$&&$9.has(z))break;Z=U}else if(v(X)){let z=this.buffer[U+1];if(X==="\r")if(z===`
|
|
131
|
+
`)U+=1,X=`
|
|
132
|
+
`,z=this.buffer[U+1];else Z=U;if(z==="#"||$&&$9.has(z))break;if(X===`
|
|
133
|
+
`){let Q=this.continueScalar(U+1);if(Q===-1)break;U=Math.max(U,Q-2)}}else{if($&&$9.has(X))break;Z=U}if(!X&&!this.atEnd)return this.setNext("plain-scalar");return yield q$.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(P2))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let $=this.flowLevel>0,Z=this.charAt(1);if(v(Z)||$&&$9.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(tz.has(Z))Z=this.buffer[++$];else if(Z==="%"&&x4.has(this.buffer[$+1])&&x4.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
|
|
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 X=Z-this.pos;if(X>0)yield this.buffer.substr(this.pos,X),this.pos=Z;return X}*pushUntil($){let Z=this.pos,U=this.buffer[Z];while(!$(U))U=this.buffer[++Z];return yield*this.pushToIndex(Z,!1)}}$Q.Lexer=h4});var T2=I((UQ)=>{class u4{constructor(){this.lineStarts=[],this.addNewLine=($)=>this.lineStarts.push($),this.linePos=($)=>{let Z=0,U=this.lineStarts.length;while(Z<U){let z=Z+U>>1;if(this.lineStarts[z]<$)Z=z+1;else U=z}if(this.lineStarts[Z]===$)return{line:Z+1,col:1};if(Z===0)return{line:0,col:$};let X=this.lineStarts[Z-1];return{line:Z,col:$-X+1}}}}UQ.LineCounter=u4});var K2=I((JQ)=>{var zQ=f0("process"),k4=e$(),QQ=F2();function z0($,Z){for(let U=0;U<$.length;++U)if($[U].type===Z)return!0;return!1}function v4($){for(let Z=0;Z<$.length;++Z)switch($[Z].type){case"space":case"comment":case"newline":break;default:return Z}return-1}function p4($){switch($?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Z9($){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 m4($){if($.start.type==="flow-seq-start"){for(let Z of $.items)if(Z.sep&&!Z.value&&!z0(Z.start,"explicit-key-ind")&&!z0(Z.sep,"map-value-ind")){if(Z.key)Z.value=Z.key;if(delete Z.key,p4(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 l4{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 QQ.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=$,zQ.env.LOG_TOKENS)console.log("|",k4.prettyToken($));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=$.length;return}let Z=k4.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")m4(Z);switch(U.type){case"document":U.value=Z;break;case"block-scalar":U.props.push(Z);break;case"block-map":{let X=U.items[U.items.length-1];if(X.value){U.items.push({start:[],key:Z,sep:[]}),this.onKeyLine=!0;return}else if(X.sep)X.value=Z;else{Object.assign(X,{key:Z,sep:[]}),this.onKeyLine=!X.explicitKey;return}break}case"block-seq":{let X=U.items[U.items.length-1];if(X.value)U.items.push({start:[],value:Z});else X.value=Z;break}case"flow-collection":{let X=U.items[U.items.length-1];if(!X||X.value)U.items.push({start:[],key:Z,sep:[]});else if(X.sep)X.value=Z;else Object.assign(X,{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 X=Z.items[Z.items.length-1];if(X&&!X.sep&&!X.value&&X.start.length>0&&v4(X.start)===-1&&(Z.indent===0||X.start.every((z)=>z.type!=="comment"||z.indent<Z.indent))){if(U.type==="document")U.end=X.start;else U.items.push({start:X.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(v4($.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=Z9(this.peek(2)),U=b0(Z),X;if($.end)X=$.end,X.push(this.sourceToken),delete $.end;else X=[this.sourceToken];let z={type:"block-map",offset:$.offset,indent:$.indent,items:[{start:U,key:$,sep:X}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=z}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
|
|
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 X=$.items[$.items.length-2]?.value?.end;if(Array.isArray(X)){Array.prototype.push.apply(X,Z.start),X.push(this.sourceToken),$.items.pop();return}}Z.start.push(this.sourceToken)}return}if(this.indent>=$.indent){let U=!this.onKeyLine&&this.indent===$.indent,X=U&&(Z.sep||Z.explicitKey)&&this.type!=="seq-item-ind",z=[];if(X&&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)z=Z.sep.splice(Q[1])}switch(this.type){case"anchor":case"tag":if(X||Z.value)z.push(this.sourceToken),$.items.push({start:z}),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(X||Z.value)z.push(this.sourceToken),$.items.push({start:z,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(z0(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(z0(Z.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:z,key:null,sep:[this.sourceToken]}]});else if(p4(Z.key)&&!z0(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(z.length>0)Z.sep=Z.sep.concat(z,this.sourceToken);else Z.sep.push(this.sourceToken);else if(!Z.sep)Object.assign(Z,{key:null,sep:[this.sourceToken]});else if(Z.value||X)$.items.push({start:z,key:null,sep:[this.sourceToken]});else if(z0(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(X||Z.value)$.items.push({start:z,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&&!z0(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:z});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 X=$.items[$.items.length-2]?.value?.end;if(Array.isArray(X)){Array.prototype.push.apply(X,Z.start),X.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||z0(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 X=this.flowScalar(this.type);if(!Z||Z.value)$.items.push({start:[],key:X,sep:[]});else if(Z.sep)this.stack.push(X);else Object.assign(Z,{key:X,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 X=Z9(U),z=b0(X);m4($);let Q=$.end.splice(1,$.end.length);Q.push(this.sourceToken);let J={type:"block-map",offset:$.offset,indent:$.indent,items:[{start:z,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=Z9($),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=Z9($),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()}}}JQ.Parser=l4});var i4=I((OQ)=>{var d4=W2(),HQ=U$(),H$=X$(),GQ=T9(),YQ=b(),BQ=T2(),c4=K2();function a4($){let Z=$.prettyErrors!==!1;return{lineCounter:$.lineCounter||Z&&new BQ.LineCounter||null,prettyErrors:Z}}function VQ($,Z={}){let{lineCounter:U,prettyErrors:X}=a4(Z),z=new c4.Parser(U?.addNewLine),Q=new d4.Composer(Z),J=Array.from(Q.compose(z.parse($)));if(X&&U)for(let q of J)q.errors.forEach(H$.prettifyError($,U)),q.warnings.forEach(H$.prettifyError($,U));if(J.length>0)return J;return Object.assign([],{empty:!0},Q.streamInfo())}function s4($,Z={}){let{lineCounter:U,prettyErrors:X}=a4(Z),z=new c4.Parser(U?.addNewLine),Q=new d4.Composer(Z),J=null;for(let q of Q.compose(z.parse($),!0,$.length))if(!J)J=q;else if(J.options.logLevel!=="silent"){J.errors.push(new H$.YAMLParseError(q.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(X&&U)J.errors.forEach(H$.prettifyError($,U)),J.warnings.forEach(H$.prettifyError($,U));return J}function WQ($,Z,U){let X=void 0;if(typeof Z==="function")X=Z;else if(U===void 0&&Z&&typeof Z==="object")U=Z;let z=s4($,U);if(!z)return null;if(z.warnings.forEach((Q)=>GQ.warn(z.options.logLevel,Q)),z.errors.length>0)if(z.options.logLevel!=="silent")throw z.errors[0];else z.errors=[];return z.toJS(Object.assign({reviver:X},U))}function LQ($,Z,U){let X=null;if(typeof Z==="function"||Array.isArray(Z))X=Z;else if(U===void 0&&Z)U=Z;if(typeof U==="string")U=U.length;if(typeof U==="number"){let z=Math.round(U);U=z<1?void 0:z>8?{indent:8}:{indent:z}}if($===void 0){let{keepUndefined:z}=U??Z??{};if(!z)return}if(YQ.isDocument($)&&!X)return $.toString(U);return new HQ.Document($,X,U).toString(U)}OQ.parse=WQ;OQ.parseAllDocuments=VQ;OQ.parseDocument=s4;OQ.stringify=LQ});var y=[{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"}],H9=new Map(y.flatMap(($)=>$.canonical?[[$.path,$],[$.canonical,$]]:[[$.path,$]])),rq=new Map(y.filter(($)=>$.canonical).map(($)=>[$.canonical,$.path])),nq=new Map(y.filter(($)=>$.canonical).map(($)=>[$.path,$.canonical]));function v2($,Z){let U=(z)=>{let Q=z.split("."),J=$;for(let q of Q)if(J&&typeof J==="object"&&q in J)J=J[q];else return;return J},X=U(Z.path);if(X!==void 0)return X;if(Z.canonical)return U(Z.canonical);return}function o6($){return y.filter((Z)=>Z.category===$)}var t6=y.filter(($)=>$.index<=21),e6=y,W$=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 W$.has($.toLowerCase().trim());if(Array.isArray($)&&$.length===0)return!0;if(typeof $==="object"&&Object.keys($).length===0)return!0;return!1}var _0={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 G9=($)=>(Z)=>`\x1B[${$}m${Z}\x1B[0m`,L$=G9("1"),x0=G9("2"),tq=G9("3"),h0={cyan:"#00D4D4",cyanDeep:"#0E8C8C",orange:"#FF6B35"},O$=($)=>`\x1B[38;2;0;212;212m${$}\x1B[0m`,Y9=($)=>`\x1B[38;2;14;140;140m${$}\x1B[0m`,D0=($)=>`\x1B[38;5;208m${$}\x1B[0m`;var a=[{name:"TROPHY",indicator:`${D0("\uD83C\uDFC6")} ${D0("TROPHY")}`,threshold:100},{name:"GOLD",indicator:`${D0(L$("★"))} ${D0("GOLD")}`,threshold:99},{name:"SILVER",indicator:`${O$("◆")} ${O$("SILVER")}`,threshold:95},{name:"BRONZE",indicator:`${Y9("◇")} ${Y9("BRONZE")}`,threshold:85},{name:"GREEN",indicator:`${L$("●")} GREEN`,threshold:70},{name:"YELLOW",indicator:`${x0("●")} YELLOW`,threshold:55},{name:"RED",indicator:`${x0("○")} RED`,threshold:1},{name:"WHITE",indicator:`${x0("♡")}`,threshold:0}];function u0($){for(let Z of a)if($>=Z.threshold)return Z;return a[a.length-1]}function $8($){let Z=u0($),U=a.indexOf(Z);return U>0?a[U-1]:null}var W9={};r6(W9,{validate:()=>U8,sdkVersion:()=>q8,scoreFafb:()=>J8,scoreEnterprise:()=>Z8,score:()=>V9,fafbInfo:()=>Q8,decompile:()=>z8,compile:()=>X8});var B9=null;function n(){if(B9)return B9;try{let $=f0("faf-scoring-kernel");return B9=$,$}catch{throw Error(`faf-scoring-kernel not installed.
|
|
140
140
|
|
|
141
141
|
Run: npm install faf-scoring-kernel
|
|
142
|
-
`)}}function
|
|
143
|
-
`)}function
|
|
142
|
+
`)}}function V9($){return JSON.parse(n().score_faf($))}function Z8($){return JSON.parse(n().score_faf_enterprise($))}function U8($){return n().validate_faf($)}function X8($){return n().compile_fafb($)}function z8($){return JSON.parse(n().decompile_fafb($))}function Q8($){return JSON.parse(n().fafb_info($))}function J8($){return JSON.parse(n().score_fafb($))}function q8(){return n().sdk_version()}function m2($){return{score:$.score,tier:u0($.score),populated:$.populated,empty:$.empty,ignored:$.ignored,active:$.active,total:$.total,slots:$.slots}}function L9($){if(/^\s*app_type:\s*about\s*$/m.test($)){let U=$.match(/^\s+source_score:\s*(\d+)\s*$/m),X=U?parseInt(U[1],10):-1,z=X>=0&&X<=100?X:-1,Q=$.match(/^\s+represents:\s*(\S+)\s*$/m),J=Q?Q[1]:void 0;return{score:z,tier:z>=0?u0(z):a[a.length-1],populated:0,empty:0,ignored:0,active:0,total:0,slots:{},inherited:!0,represents:J}}return m2(V9($))}function H8($){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 X=U.about.source_score;if(typeof X!=="number"||X<0||X>100)Z.push(`about.source_score must be a number 0-100 (got: ${X})`)}}return{valid:Z.length===0,errors:Z}}import{readFileSync as e4,writeFileSync as AG,existsSync as o4}from"fs";import{join as t4,dirname as XJ}from"path";var MQ=W2(),PQ=U$(),FQ=o9(),A2=X$(),TQ=m0(),Q0=b(),KQ=$0(),AQ=g(),NQ=U0(),wQ=X0(),FG=e$(),bQ=F2(),CQ=T2(),jQ=K2(),U9=i4(),r4=k0();var SQ=MQ.Composer,EQ=PQ.Document,gQ=FQ.Schema,fQ=A2.YAMLError,yQ=A2.YAMLParseError,xQ=A2.YAMLWarning,hQ=TQ.Alias,uQ=Q0.isAlias,kQ=Q0.isCollection,vQ=Q0.isDocument,mQ=Q0.isMap,pQ=Q0.isNode,lQ=Q0.isPair,dQ=Q0.isScalar,cQ=Q0.isSeq,aQ=KQ.Pair,sQ=AQ.Scalar,iQ=NQ.YAMLMap,rQ=wQ.YAMLSeq;var nQ=bQ.Lexer,oQ=CQ.LineCounter,tQ=jQ.Parser,G$=U9.parse,eQ=U9.parseAllDocuments,$J=U9.parseDocument,n4=U9.stringify,ZJ=r4.visit,UJ=r4.visitAsync;function zJ($){let Z=e4($,"utf-8");return G$(Z)}function $6($){return e4($,"utf-8")}function Z6($=process.cwd()){let Z=["project.faf",".faf"];for(let X of Z){let z=t4($,X);if(o4(z))return z}let U=XJ($);if(U!==$)for(let X of Z){let z=t4(U,X);if(o4(z))return z}return null}import{writeFileSync as QJ}from"fs";import{join as JJ}from"path";var U6=h0.orange,qJ=h0.cyan,HJ=h0.cyanDeep,GJ="#FF9500",YJ="#FF3B30",BJ="#E6EDF3",VJ="#6E7681",X6={TROPHY:{glyph:"\uD83C\uDFC6",color:U6},GOLD:{glyph:"★",color:U6},SILVER:{glyph:"◆",color:qJ},BRONZE:{glyph:"◇",color:HJ},GREEN:{glyph:"●",color:BJ},YELLOW:{glyph:"●",color:GJ},RED:{glyph:"○",color:YJ},WHITE:{glyph:"♡",color:VJ}};function C0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var z6=["who","what","why","where","when","how"];function X9($){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 Q6($,Z,U="project.faf"){let X=C0($.project?.name??"Project"),z=Z.tier?.name??"WHITE",Q=X6[z]??X6.WHITE,J=Z.inherited?Z.represents?`inherited from ${C0(Z.represents)}`:"inherited":`${Z.score}%`,q=z==="TROPHY"&&!Z.inherited,H=$.human_context??{},G=z6.map((V)=>[V,H[V]]),W=Object.entries(H).filter(([V])=>!z6.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()!==""),_=B.filter(([,V])=>V==="slotignored").length;return`<!DOCTYPE html>
|
|
144
144
|
<html lang="en">
|
|
145
145
|
<head>
|
|
146
146
|
<meta charset="UTF-8">
|
|
147
147
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
148
|
-
<title>${
|
|
148
|
+
<title>${X} — project.faf</title>
|
|
149
149
|
<meta name="description" content="Visual render of project.faf. Generated by faf — humans like visuals, we gave them one.">
|
|
150
150
|
<meta name="robots" content="index,follow">
|
|
151
151
|
<style>
|
|
@@ -180,27 +180,27 @@ footer strong{color:#e6edf3}
|
|
|
180
180
|
<div class="bar"></div>
|
|
181
181
|
<div class="eyebrow">project.faf · visual render</div>
|
|
182
182
|
<header>
|
|
183
|
-
<h1>${
|
|
184
|
-
<span class="badge">${Q.glyph} ${C0(
|
|
183
|
+
<h1>${X}</h1>
|
|
184
|
+
<span class="badge">${Q.glyph} ${C0(z)}</span>
|
|
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${_?` · ${_} slotignored`:""}</p>`}
|
|
189
189
|
|
|
190
190
|
<section>
|
|
191
191
|
<h2>The 6 W's</h2>
|
|
192
|
-
${
|
|
193
|
-
${W.length?
|
|
192
|
+
${X9(G)||'<p class="muted">No human_context yet.</p>'}
|
|
193
|
+
${W.length?X9(W):""}
|
|
194
194
|
</section>
|
|
195
195
|
|
|
196
196
|
<section>
|
|
197
197
|
<h2>Project</h2>
|
|
198
|
-
${
|
|
198
|
+
${X9(Y)||'<p class="muted">—</p>'}
|
|
199
199
|
</section>
|
|
200
200
|
|
|
201
201
|
<section>
|
|
202
202
|
<h2>Stack</h2>
|
|
203
|
-
${
|
|
203
|
+
${O.length?X9(O):'<p class="muted">No active stack slots.</p>'}
|
|
204
204
|
</section>
|
|
205
205
|
|
|
206
206
|
<footer>
|
|
@@ -210,15 +210,17 @@ 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(`
|
|
214
|
-
`).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
|
-
`).
|
|
217
|
-
`),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
|
-
`),
|
|
220
|
-
`)
|
|
221
|
-
`),
|
|
213
|
+
`}function WJ($,Z,U,X="project.faf"){QJ(JJ($,"project.html"),Q6(Z,U,X),"utf-8")}import{writeFileSync as LJ}from"fs";import{join as OJ}from"path";var J6="application/vnd.faf+yaml",_J="https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",DJ=/^[a-zA-Z0-9.-]+\/[a-zA-Z0-9._-]+$/;function H6($){let Z=String($.project?.name??"project").trim();if(Z.includes("/")&&DJ.test(Z))return Z;let U=$.project?.homepage??$.project?.website??$.project?.url,X="local";if(U)try{X=new URL(U).hostname.replace(/^www\./,"").split(".").reverse().join(".")}catch{}let z=Z.replace(/[^a-zA-Z0-9._-]/g,"-").replace(/^-+|-+$/g,"")||"project";return`${X}/${z}`}function IJ($){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 N2($,Z={}){return{faf:Z.fafPointer??"./project.faf",mediaType:J6,iana:`https://www.iana.org/assignments/media-types/${J6}`,deterministic:!0,...Z.scoreEndpoint?{scoreEndpoint:Z.scoreEndpoint}:{},generated:$.generated??Z.now??new Date().toISOString()}}function G6($,Z={}){let U={$schema:_J,name:H6($),version:String($.project?.version??"0.1.0"),description:IJ($)},X=$.project?.name;if(X&&X.length<=100)U.title=X;let z=$.project?.homepage??$.project?.website??$.project?.url;if(z)U.websiteUrl=z;if(Z.remoteUrl)U.remotes=[{type:"streamable-http",url:Z.remoteUrl}];return U._meta={"one.faf/context":N2($,Z)},U}var Y6="io.modelcontextprotocol.registry/publisher-provided",q6=4096;function RJ($,Z={}){let U={"one.faf/context":N2($,Z)},X=new TextEncoder().encode(JSON.stringify(U)).length;if(X>q6)throw Error(`publisher-provided _meta is ${X}B — exceeds the registry ${q6}B cap`);return{[Y6]:U}}function MJ($){return H6($)}function PJ($,Z,U={}){let X=G6(Z,U),z=OJ($,"server-card");return LJ(z,JSON.stringify(X,null,2)+`
|
|
214
|
+
`,"utf-8"),z}var O6="faf-interview/1",j0="(terse — 3-4 words)",w2=[{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}],_6=[{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=[...w2,..._6],D6=new Map(z9.map(($)=>[$.path,$])),FJ=Object.fromEntries(z9.map(($)=>[$.path,$]));function TJ($){let Z=D6.get($);if(Z)return Z.question;let U=H9.get($)??y.find((X)=>X.canonical===$);return U?`${U.description}?`.replace(/\?\?$/,"?"):`${$}?`}function KJ($,Z){return z9.filter((U)=>{let X=U.path.split("."),z=$;for(let Q of X)if(z&&typeof z==="object"&&Q in z)z=z[Q];else{z=void 0;break}if(z==="slotignored")return!1;return Z(z)})}var AJ=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"]),NJ=[["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]],B6=($)=>AJ.has($.toLowerCase().trim()),wJ=/^(?:with|and|or|using|for|to|that|who|whom|whose|the|a|an|in|on|of|via|by|&)$/i;function V6($,Z=5){let U=$.trim().split(/\s+/).filter(Boolean).slice(0,Z);while(U.length&&wJ.test(U[U.length-1].replace(/[.,;:]+$/,"")))U.pop();return U.join(" ")}function I6($){let Z={};if(!$||typeof $!=="string")return Z;let U=$.trim(),X=U.replace(/^[^A-Za-z0-9]+/,"").split(/\s+(?:for|that|which|to)\s+|\s+[—–]\s+|\s-\s|:\s|\.\s|,\s/)[0].trim(),z=V6(X);if(z.split(/\s+/).filter(Boolean).length>=2&&!B6(z))Z.what=z;let Q=NJ.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=V6((J?.[1]||"").trim().replace(/\s+/g," "));if(q&&!B6(q))Z.who=q;return Z}function W6($,Z){let U=$;for(let X of Z.split("."))if(U&&typeof U==="object"&&X in U)U=U[X];else return;return U}function L6($){if(typeof $!=="string")return!1;let Z=$.trim();if(!Z||Z==="slotignored")return!1;return!y0(Z)}function bJ($,Z={}){let U=$&&typeof $==="object"?$:{},X=W6(U,"project.goal"),z=(L6(X)?String(X).trim():"")||(Z.goal??"").trim(),Q=I6(z),J={"project.goal":z||void 0,"human_context.what":Q.what,"human_context.where":Q.where,"human_context.who":Q.who},q=w2.map((Y,B)=>{let O={n:B+1,path:Y.path,header:Y.header,question:Y.question},_=W6(U,Y.path);if(L6(_))return{...O,value:String(_).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:O6,rows:q,filledCount:H,seededCount:G,emptyCount:W,complete:W===0}}import{createHash as M6}from"crypto";var b2="faf-bench/1",CJ={"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 jJ($,Z){return CJ[$]??`What is the project's ${Z.replace(/\s*\(.*\)$/,"").toLowerCase()}?`}var P6=[["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"]],Y$=new Map;P6.forEach(($,Z)=>$.forEach((U)=>Y$.set(U,Z)));var SJ=new Set(["a","an","the","and","or","of","for","to","in","on","with","is","it","its","their","your","via","by","using","use","used"]);function Q9($){return $.toLowerCase().replace(/[^a-z0-9\s.+#-]/g," ").replace(/\.(?=\s|$)/g," ").replace(/\s+/g," ").trim()}function R6($){return Q9($).split(" ").filter((Z)=>Z&&!SJ.has(Z))}function F6($,Z){let U=Q9($),X=Q9(Z);if(!U||!X)return!1;if(U===X)return!0;let z=Y$.get(U);if(z!==void 0&&Y$.get(X)===z)return!0;let Q=R6($);if(Q.length===0)return!1;let J=new Set(R6(Z));return Q.every((q)=>{if(J.has(q))return!0;let H=Y$.get(q);return H!==void 0&&[...J].some((G)=>Y$.get(G)===H)})}function EJ($){let Z=L9($),U=G$($),X=[],z={},Q=0;for(let H of y){if(Z.slots[H.path]!=="populated")continue;let G=v2(U,H);if(typeof G!=="string")continue;let W=G.trim();if(!W||W$.has(W.toLowerCase()))continue;Q+=1,X.push({n:Q,path:H.path,question:jJ(H.path,H.description)}),z[Q]=W}let J=JSON.stringify({v:b2,q:X.map((H)=>[H.path,H.question])}),q=M6("sha256").update(J).digest("hex").slice(0,12);return{version:b2,qsetHash:q,questions:X,answers:z}}function gJ($){return{version:$.version,qsetHash:$.qsetHash,questions:$.questions}}function fJ($,Z){let U=$.questions.map((z)=>{let Q=Z[String(z.n)]??Z[z.path]??"";return{n:z.n,path:z.path,ok:typeof Q==="string"&&Q.trim()!==""&&F6($.answers[z.n],Q)}}),X=$.questions.filter((z)=>!U[z.n-1].ok);return{correct:U.filter((z)=>z.ok).length,total:$.questions.length,misses:X,perQuestion:U}}function yJ($,Z){let U=JSON.stringify({v:$.version,repo:Z??null,qset:$.qsetHash,protocol:$.protocol,cold:$.cold??null,faf:$.faf??null});return{projection:U,hash:M6("sha256").update(U).digest("hex")}}import{existsSync as cJ,readdirSync as K6,readFileSync as aJ}from"fs";import{join as S2,dirname as sJ,extname as iJ,resolve as rJ}from"path";var C2={"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:["Dart"],slots:{packageManager:"pub",mainLanguage:"Dart"},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"]}};import{existsSync as T6,readFileSync as hJ,readdirSync as uJ}from"fs";import{join as j2}from"path";var S0={version:1,_doc:"SINGLE SOURCE of Dart/Flutter detection KNOWLEDGE (A+B hybrid, the Truth-is-faf-cli spec). faf-cli imports this directly; faf-python-sdk vendors a synced copy (phase 2); MCPs consume the SDK (phase 3). To bolster Dart/Flutter support — a new state library, server framework, MCP dep — edit THIS file and every engine inherits it. The thin per-language LOGIC (pubspec parse, app-vs-package heuristic, priority branching) lives in code, not here.",flutterDeps:["flutter"],mcpDeps:["dart_mcp","mcp_server","mcp_dart","dart_mcp_server","mcp"],serverFrameworks:[["serverpod","Serverpod"],["dart_frog","Dart Frog"],["conduit","Conduit"],["angel3_framework","Angel3"],["alfred","Alfred"],["shelf","Shelf"]],stateManagement:[["flutter_riverpod","Riverpod"],["hooks_riverpod","Riverpod"],["riverpod","Riverpod"],["flutter_bloc","Bloc"],["bloc","Bloc"],["provider","Provider"],["get","GetX"],["flutter_mobx","MobX"],["mobx","MobX"],["signals","Signals"]],routing:[["go_router","go_router"],["auto_route","auto_route"]]};var kJ=S0.flutterDeps,vJ=S0.mcpDeps,mJ=S0.serverFrameworks,pJ=S0.stateManagement,lJ=S0.routing;function dJ($){let Z=new Set,U=!1;for(let X of $.split(`
|
|
215
|
+
`)){if(/^(dependencies|dev_dependencies|dependency_overrides):\s*$/.test(X)){U=!0;continue}if(/^\S/.test(X))U=!1;if(U){let z=X.match(/^\s{2}([a-zA-Z0-9_]+):/);if(z)Z.add(z[1].toLowerCase())}}return Z}function J9($){let Z=j2($,"pubspec.yaml");if(!T6(Z))return null;let U;try{U=hJ(Z,"utf-8")}catch{return null}let X=dJ(U),z=(T)=>X.has(T.toLowerCase()),Q=kJ.some(z)||/^flutter:\s*$/m.test(U)||/\bsdk:\s*flutter\b/.test(U),J=vJ.find(z),q=mJ.find(([T])=>z(T)),H=pJ.find(([T])=>z(T)),G=H?H[1]:"",W=lJ.find(([T])=>z(T)),Y=W?W[1]:"",B=z("flutter_test")?"flutter_test":z("test")?"test":"",O=/^executables:\s*$/m.test(U),_=!1;try{_=uJ(j2($,"bin")).some((T)=>T.endsWith(".dart"))}catch{}let V=O||_,L,R="",M;if(Q)if(R="Flutter",T6(j2($,"lib","main.dart"))||/^publish_to:\s*['"]?none\b/m.test(U))L="mobile",M="pubspec.yaml (Flutter app)";else L="library",M="pubspec.yaml (Flutter package)";else if(J)L="mcp",M=`pubspec.yaml + ${J} (Dart MCP server)`;else if(q)L="backend",R=q[1],M=`pubspec.yaml + ${q[0]} (Dart backend)`;else if(V)L="cli",M=O?"pubspec.yaml executables: (Dart CLI)":"pubspec.yaml + bin/*.dart (Dart CLI)";else L="library",M="pubspec.yaml (Dart package)";return{appType:L,isFlutter:Q,framework:R,stateManagement:G,routing:Y,testing:B,found:M}}var nJ=new Set(["node_modules",".git","dist","build","venv",".venv","__pycache__","target","coverage",".next",".svelte-kit","vendor"]),oJ=new Set([".py",".ts",".tsx",".js",".jsx",".svelte",".vue",".rb",".go",".rs",".php",".java",".kt",".swift"]),tJ={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"]},eJ=[["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 $q($,Z){for(let[U,X]of eJ)if(U in $)return X;return Z.length>0?"framework":"config"}function Zq($){try{let Z=JSON.parse(aJ($,"utf-8")),U=["background","content_scripts","action","browser_action","permissions"].some((X)=>(X in Z));if(typeof Z.manifest_version==="number"&&U)return"chrome";return"other"}catch{return"other"}}function Uq($){let Z=[],U=rJ($),X=cJ(S2($,".git"));for(let z=0;z<10;z++){let Q;try{Q=K6(U)}catch{break}for(let q of Q){let H=C2[q];if(!H)continue;if(q==="manifest.json"&&Zq(S2(U,q))!=="chrome")continue;if(q==="pubspec.yaml"){let G=J9(U);if(G){let W={mainLanguage:"Dart",packageManager:"pub"};if(G.isFlutter){if(W.framework="Flutter",G.stateManagement)W.stateManagement=G.stateManagement}else if(G.appType==="backend"&&G.framework)W.backend=G.framework;else if(G.appType==="mcp")W.apiType="MCP";Z.push({slots:W,priority:H.priority,frameworks:G.isFlutter?["Flutter","Dart"]:["Dart"],fileName:q});continue}}Z.push({slots:H.slots||{},priority:H.priority,frameworks:H.frameworks,fileName:q})}if(X&&z===0)break;let J=sJ(U);if(J===U)break;U=J}return Z}function Xq($){let Z=[];for(let U of N6($,2,{count:0})){let X=C2[`*${U}`],z=X?.slots?.mainLanguage;if(z)Z.push({slots:{mainLanguage:z},priority:X.priority,frameworks:X.frameworks})}return Z}function A6($){let Z=[...Uq($),...Xq($)],U={},X={},z=new Set;for(let G of Z){G.frameworks.forEach((W)=>z.add(W));for(let[W,Y]of Object.entries(G.slots))if(Y&&!Y.includes("/")&&(!(W in U)||G.priority>X[W]))U[W]=Y,X[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:$q(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:[...z],confirmedCount:Z.length,discoveredFormats:J,stackSignature:H}}function E2($){let{slotFills:Z}=A6($),U={};for(let[X,z]of Object.entries(Z)){let Q=tJ[X];if(!Q||!z)continue;let[J,q]=Q;if(J==="project")(U.project??={})[q]=z;else(U.stack??={})[q]=z}return U}function N6($,Z,U){let X=new Set;if(Z<0||U.count>400)return X;let z;try{z=K6($,{withFileTypes:!0})}catch{return X}for(let Q of z){if(U.count++>400)break;if(!Q.isDirectory()){let J=iJ(Q.name);if(oJ.has(J))X.add(J);continue}if(nJ.has(Q.name)||Q.name.startsWith("."))continue;for(let J of N6(S2($,Q.name),Z-1,U))X.add(J)}return X}import{existsSync as w6,readFileSync as b6}from"fs";import{join as C6}from"path";function g2($){let Z=zq($),U=Qq($),X={},z=(Q,J)=>{if(J)X[Q]=J};return z("what",Jq(Z,U)),z("who",qq(U)),z("why",Hq(U)),z("where",Gq(Z,U)),z("when",Yq(U)),z("how",Bq(Z,U)),X}function zq($){let Z=C6($,"package.json");if(!w6(Z))return null;try{return JSON.parse(b6(Z,"utf-8"))}catch{return null}}function Qq($){let Z=C6($,"README.md");if(!w6(Z))return"";let U;try{U=b6(Z,"utf-8")}catch{return""}return U.split(`
|
|
216
|
+
`).filter((X)=>!/^\s*\[!\[/.test(X)&&!/^\s*!\[/.test(X)).join(`
|
|
217
|
+
`).replace(/<[^>]+>/g,"").replace(/!\[[^\]]*\]\([^)]*\)/g,"").trim()}function W0($){return $.replace(/\s+/g," ").replace(/[#*`>]/g,"").trim().slice(0,280)}function E0($,Z){let U=new RegExp(`##?\\s+(?:${Z})\\s*\\n+([\\s\\S]+?)(?:\\n\\n|\\n##?|$)`,"i"),X=$.match(U);return X&&X[1]&&X[1].trim().length>20?W0(X[1]):null}function B$($,Z,U=30){for(let X of Z){let z=$.match(X);if(z&&z[1]&&z[1].trim().length>=U)return W0(z[1])}return null}function Jq($,Z){if($?.description&&$.description.length>20)return W0($.description);let U=E0(Z,"Purpose|What|About|Overview|Description");if(U)return U;let X=Z.split(/\n\s*\n/).map((z)=>z.trim()).find((z)=>z.length>30&&!z.startsWith("#"));if(X)return W0(X);return B$(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 qq($){let Z=E0($,"Audience|Who|Who is this for|Who it.s for");if(Z)return Z;return B$($,[/\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 Hq($){let Z=E0($,"Why|Mission|Motivation|Rationale|Vision");if(Z)return Z;return B$($,[/(?:our\s+)?(?:mission|purpose|goal)(?:\s+is)?\s*:?\s*([^.\n]{30,})/i,/(?:built|created|designed)\s+(?:because|to)\s+([^.\n]{30,})/i])}function Gq($,Z){let U=typeof $?.repository==="string"?$.repository:$?.repository?.url;if(U)return W0(U.replace(/^git\+/,"").replace(/\.git$/,""));if($?.homepage)return W0($.homepage);return B$(Z,[/\b(?:deployed|hosted|available|published)\s+(?:on|at|via)\s+([^.\n]{4,80})/i],4)}function Yq($){let Z=E0($,"Timeline|Status|Release|Roadmap");if(Z)return Z;return B$($,[/\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 Bq($,Z){let U=$?.scripts?Object.keys($.scripts):[],X=["start","dev","build"].filter((Q)=>U.includes(Q));if(X.length)return W0(X.map((Q)=>`npm run ${Q}`).join(", "));let z=E0(Z,"Usage|Getting Started|Install|Installation|Quick Start");if(z)return z;return E0(Z,"Architecture|Approach|How it works|Methodology|How")}import{existsSync as F,readFileSync as r,readdirSync as S6}from"fs";import{join as P}from"path";var j6=[{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 Vq($){let Z=P($,"Cargo.toml");if(!F(Z))return null;try{let X=r(Z,"utf-8").match(/^\s*\[package\][\s\S]*?^\s*name\s*=\s*"([^"]+)"/m);return X?X[1]:null}catch{return null}}function Wq($){let Z=P($,"Cargo.toml");if(!F(Z))return!1;try{let U=r(Z,"utf-8");return/^\s*\[\[bin\]\]/m.test(U)}catch{return!1}}function Lq($,Z){if(Z?.keywords?.some((X)=>/^sdk(?:\s|-|$)|\-sdk$/i.test(X)))return'package.json keywords contains "sdk"';if(Z?.name&&/(?:^|[-_/])sdk(?:[-_/]|$)/i.test(Z.name))return`package.json name "${Z.name}" → sdk`;let U=Vq($);if(U&&/(?:^|[-_])sdk(?:[-_]|$)/i.test(U))return`Cargo.toml name "${U}" → sdk`;return null}function Oq($){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 X=P($,U);if(!F(X))continue;try{let z=JSON.parse(r(X,"utf-8"));if(typeof z.manifest_version==="number")return`${U} manifest_version ${z.manifest_version} (browser extension)`}catch{}}return null}function _q($){let Z=/(numpy|pandas|jupyter|scikit-learn|sklearn|pytorch|tensorflow|matplotlib|scipy)/i,U=P($,"pyproject.toml");if(F(U))try{let Q=r(U,"utf-8").match(Z);if(Q)return`pyproject.toml depends on ${Q[1]}`}catch{}let X=P($,"requirements.txt");if(F(X))try{let Q=r(X,"utf-8").match(Z);if(Q)return`requirements.txt contains ${Q[1]}`}catch{}return null}function Dq($,Z){let U=["react-native","expo","@capacitor/core","@ionic/core"];if(Z){for(let X of U)if(Z.dependencies?.[X]||Z.devDependencies?.[X])return`${X} dependency`}if(F(P($,"ios"))&&F(P($,"android")))return"ios/ + android/ dirs";return null}function Iq($,Z){let U=P($,"Cargo.toml");if(F(U))try{let z=r(U,"utf-8");if(/crate-type\s*=\s*\[[^\]]*"cdylib"/.test(z))return'Cargo.toml crate-type = ["cdylib"]';if(/wasm-bindgen|wasm-pack/i.test(z))return"Cargo.toml wasm-bindgen/wasm-pack"}catch{}let X=P($,"build.zig");if(F(X))try{let z=r(X,"utf-8");if(/\.wasm\b|wasm32|setOutputFormat\(\.wasm/i.test(z))return"build.zig wasm target"}catch{}if(Z?.keywords?.some((z)=>/^wasm(?:-|$)|webassembly/i.test(z)))return'package.json keywords contains "wasm"';return null}function Rq($,Z){if(!F(P($,"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((z)=>U[z]))return null}return"index.html (vanilla, no frontend framework)"}function Mq($,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)$/,X=Z.files.some((Q)=>U.test(Q)),z=Z.files.some((Q)=>/\.(md|MD)|examples?\//.test(Q));if(!X&&z)return"package.json files = docs/examples only (no source)"}return null}function Pq($,Z,U){let X=U.find((z)=>z.slug==="astro"||z.slug==="gatsby");if(X)return`${X.name} (static-site framework)`;if(Z?.keywords?.some((z)=>/^(website|marketing|landing|brochure|portfolio)$/i.test(z)))return'package keywords contains "website"/"marketing"/"landing"';return null}function Fq($,Z){if(!Z)return null;let U={...Z.dependencies??{},...Z.devDependencies??{}},X=["@clerk/nextjs","@clerk/clerk-react","next-auth","@auth/core","auth0","@auth0/nextjs-auth0"],z=["stripe","@stripe/stripe-js","lemonsqueezy"],Q=X.some((q)=>U[q]),J=z.some((q)=>U[q]);if(Q&&J)return"auth + payment dependencies";return null}function Tq($,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 X=U.some((Q)=>Q.slug==="mcp"),z=U.some((Q)=>Q.category==="database");if(X&&z&&Z?.dependencies&&Object.keys(Z.dependencies).length>10)return"MCP + database + complex deps (platform shape)";return null}function Kq($,Z){if(!Z?.private)return null;if(!(!!Z.workspaces||F(P($,"pnpm-workspace.yaml"))))return null;return"private workspace + multi-package"}function L0($){let Z=P($,"package.json");if(!F(Z))return null;try{return JSON.parse(r(Z,"utf-8"))}catch{return null}}function Aq($,Z){if(!Z.includes("*"))return F(P($,Z));let U=Z.split("/");if(U.length===1){let q=Z.split("*")[0];try{return S6($).some((H)=>H.startsWith(q))}catch{return!1}}let X=P($,...U.slice(0,-1)),z=U[U.length-1],Q=z.split("*")[0],J=z.split("*")[1]||"";try{return S6(X).some((q)=>q.startsWith(Q)&&q.endsWith(J))}catch{return!1}}function Nq($,Z,U){switch($.type){case"dependency":return!!Z?.dependencies?.[$.key];case"devDependency":return!!Z?.devDependencies?.[$.key];case"file":return Aq(U,$.pattern);default:return!1}}function f2($){let Z=L0($);return j6.map((U)=>{let z=U.signals.filter((Q)=>Nq(Q,Z,$)).length/U.signals.length;return{name:U.name,slug:U.slug,category:U.category,confidence:z}}).filter((U)=>U.confidence>0).sort((U,X)=>X.confidence-U.confidence)}function E6($){let Z=L0($);if(Z?.devDependencies?.typescript||Z?.dependencies?.typescript)return"TypeScript";if(F(P($,"tsconfig.json")))return"TypeScript";if(F(P($,"Cargo.toml")))return"Rust";if(F(P($,"go.mod")))return"Go";if(F(P($,"pyproject.toml"))||F(P($,"setup.py")))return"Python";if(F(P($,"Gemfile")))return"Ruby";if(F(P($,"pom.xml"))||F(P($,"build.gradle")))return"Java";if(F(P($,"Package.swift")))return"Swift";if(F(P($,"build.zig")))return"Zig";if(F(P($,"pubspec.yaml")))return"Dart";if(Z)return"JavaScript";return"Unknown"}function g6($){let Z=L0($),U=f2($),X=[],z=Mq($,Z);if(z)return X.push(z),{type:"documentation",found:X};let Q=Lq($,Z);if(Q)return X.push(Q),{type:"sdk",found:X};let J=Oq($);if(J)return X.push(J),{type:"extension",found:X};let q=Tq($,Z,U);if(q)return X.push(q),{type:"mcpaas",found:X};let H=Fq($,Z);if(H)return X.push(H),{type:"saas",found:X};let G=Iq($,Z);if(G)return X.push(G),{type:"wasm",found:X};let W=J9($);if(W)return X.push(W.found),{type:W.appType,found:X};let Y=Dq($,Z);if(Y)return X.push(Y),{type:"mobile",found:X};if(U.some((D)=>D.slug==="mcp"))return X.push("MCP SDK signal"),{type:"mcp",found:X};if(Z?.bin)return X.push("package.json bin"),{type:"cli",found:X};if(Wq($))return X.push("Cargo.toml [[bin]]"),{type:"cli",found:X};if(F(P($,"build.zig"))){if(X.push("build.zig"),F(P($,"src/main.zig")))return X.push("src/main.zig"),{type:"cli",found:X};if(F(P($,"src/root.zig")))return X.push("src/root.zig"),{type:"library",found:X}}let O=U.some((D)=>D.slug==="svelte"||D.slug==="sveltekit");if(Z?.private===!0&&(F(P($,"pnpm-workspace.yaml"))||Z?.workspaces!==void 0)&&O)return X.push("private workspace","Svelte"),{type:"framework",found:X};if(O)return X.push("Svelte/SvelteKit"),{type:"svelte",found:X};let V=U.some((D)=>D.category==="frontend"),L=U.some((D)=>D.category==="backend");if(Z?.private&&(Z.workspaces||F(P($,"pnpm-workspace.yaml")))&&V&&L)return X.push("private workspace + frontend + backend frameworks"),{type:"enterprise",found:X};let R=Kq($,Z);if(R)return X.push(R),{type:"monorepo-root",found:X};let M=Pq($,Z,U);if(M)return X.push(M),{type:"website",found:X};if(U.some((D)=>D.slug==="nextjs"||D.slug==="nuxt"))return X.push(U.find((D)=>D.slug==="nextjs")?"Next.js":"Nuxt"),{type:"fullstack",found:X};let A=U.some((D)=>D.category==="frontend"),K=U.some((D)=>D.category==="backend");if(A&&K)return X.push("frontend framework","backend framework"),{type:"fullstack",found:X};if(A)return X.push("frontend framework"),{type:"frontend",found:X};if(K)return X.push("backend framework"),{type:"backend",found:X};let N=_q($);if(N)return X.push(N),{type:"data-science",found:X};let C=Rq($,Z);if(C)return X.push(C),{type:"html",found:X};if(Z?.main&&!Z?.bin)return X.push("package.json main (no bin)"),{type:"library",found:X};return X.push("no classifying signals — fallback"),{type:"library",found:X}}function f6($){if(F(P($,"bunfig.toml")))return"Bun";if(F(P($,"deno.json"))||F(P($,"deno.jsonc")))return"Deno";if(L0($))return"Node.js";if(F(P($,"Cargo.toml")))return"Rust";if(F(P($,"go.mod")))return"Go";if(F(P($,"pubspec.yaml")))return"Dart";return"Unknown"}function y6($){if(F(P($,"pubspec.yaml")))return"pub";if(F(P($,"bun.lockb"))||F(P($,"bun.lock")))return"bun";if(F(P($,"pnpm-lock.yaml")))return"pnpm";if(F(P($,"yarn.lock")))return"yarn";if(F(P($,"package-lock.json")))return"npm";return"npm"}function x6($){if(F(P($,".github/workflows")))return"GitHub Actions";if(F(P($,".gitlab-ci.yml")))return"GitLab CI";if(F(P($,".circleci")))return"CircleCI";if(F(P($,"Jenkinsfile")))return"Jenkins";return null}function h6($){if(F(P($,"vercel.json")))return"Vercel";if(F(P($,"netlify.toml")))return"Netlify";if(F(P($,"wrangler.toml")))return"Cloudflare";if(F(P($,"Dockerfile")))return"Docker";if(F(P($,"fly.toml")))return"Fly.io";if(F(P($,"render.yaml")))return"Render";return null}function u6($){let Z=P($,"svelte.config.js");if(!F(Z))return null;try{let X=r(Z,"utf-8").match(/@sveltejs\/adapter-(\w+)/);if(X){let z=X[1];switch(z){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 z}}return null}catch{return null}}function k6($){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(F(P($,"tsconfig.json"))&&Z?.devDependencies?.typescript)return"TypeScript (tsc)";return null}function v6($){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)=>F(P($,U)))}function m6($,Z){let U={};if(Z?.scripts){for(let X of["build","test","lint","dev","start"])if(Z.scripts[X]){let z=F(P($,"bun.lock"))||F(P($,"bun.lockb"))?"bun run":"npm run";U[X]=`${z} ${X}`}}if(F(P($,"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(F(P($,"build.zig"))){if(!U.build)U.build="zig build";if(!U.test)U.test="zig build test"}if(F(P($,"go.mod"))){if(!U.build)U.build="go build ./...";if(!U.test)U.test="go test ./..."}if(F(P($,"pyproject.toml"))||F(P($,"pytest.ini"))){if(!U.test)U.test="pytest"}return U}function p6($,Z,U,X){let z=[];if(X&&X!=="Unknown")z.push(X);let Q=new Set(["frontend","backend","database","build","css","state","monorepo"]);for(let J of U)if(Q.has(J.category))z.push(J.name);if(F(P($,"bunfig.toml")))z.push("Bun");else if(F(P($,"deno.json"))||F(P($,"deno.jsonc")))z.push("Deno");if(z.length<3&&Z?.dependencies){let J=Object.keys(Z.dependencies).slice(0,5);for(let q of J)if(!z.some((H)=>H.toLowerCase().includes(q.toLowerCase())))z.push(q)}return z}function l6($){let Z=L0($),U=f2($),X=E6($),z=g6($),Q=z.type,J=f6($),q=y6($),H=x6($),G=h6($),W=k6($),Y=U.find((j)=>j.category==="frontend"),B=U.find((j)=>j.category==="css"),O=U.find((j)=>j.category==="ui"),_=U.find((j)=>j.category==="state"),V=U.find((j)=>j.category==="backend"),L=U.find((j)=>j.category==="database"),R=_0[Q]||_0.library,M=Q==="framework",T=U.some((j)=>j.slug==="svelte"||j.slug==="sveltekit"),A=M&&T?"svelte":M?null:null,K=Q==="svelte"||A==="svelte",N=K?u6($):null,C=K&&U.some((j)=>j.slug==="sveltekit"),D=new Set(["css_framework","ui_library","database","connection","hosting"]),w={},p=y.filter((j)=>j.path.startsWith("stack."));for(let j of p){let S=j.path.replace("stack.","");if(!R.includes(j.category)){w[S]="slotignored";continue}if(M&&D.has(S)){w[S]="slotignored";continue}switch(S){case"frontend":w[S]=Y?.name??(Q==="cli"?"CLI":"");break;case"css_framework":w[S]=B?.name??"";break;case"ui_library":w[S]=O?.name??"";break;case"state_management":w[S]=K?_?.name??"Runes":_?.name??"";break;case"backend":w[S]=K?C?"SvelteKit":V?.name??"":V?.name??"";break;case"api_type":w[S]=C?"Server Routes":"";break;case"runtime":w[S]=J!=="Unknown"?J:"";break;case"database":w[S]=L?.name??"";break;case"connection":w[S]=L?.name??"";break;case"hosting":if(K&&N)w[S]=N;else w[S]=G??"";break;case"build":w[S]=K?"Vite":W??"";break;case"cicd":w[S]=H??"";break;case"package_manager":w[S]=q;break;default:w[S]="";break}}let l={},E=y.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 g0={name:Z?.name??$.split("/").pop()??"project",goal:Z?.description??"",main_language:X,type:Q};if(M&&A)g0.framework=A;let h2=p6($,Z,U,X),u2=v6($),k2=m6($,Z),V$={faf_version:"2.5.0",project:g0,stack:w,human_context:{who:"",what:Z?.description??"",why:"",where:"",when:"",how:""},monorepo:l,_meta:{found:z.found}};if(h2.length>0)V$.tech_stack=h2;if(u2.length>0)V$.key_files=u2;if(Object.keys(k2).length>0)V$.commands=k2;return V$}import{existsSync as bq,readFileSync as Cq}from"fs";import{join as jq}from"path";var d6={MIN_LENGTH:8,MAX_LENGTH:280},wq=[/^(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<d6.MIN_LENGTH)return!1;if(Z.length>d6.MAX_LENGTH)return!1;if(wq.some((U)=>U.test(Z)))return!1;if(/^[\s|\-*+]/.test(Z))return!1;if(Z.split(`
|
|
218
|
+
`).length>4)return!1;return!0}function Sq($){let Z=$.split(`
|
|
219
|
+
`),U=0;while(U<Z.length&&/^(#\s|$)/.test(Z[U].trim()))U++;while(U<Z.length){let X=Z[U].trim();if(/^\[!\[/.test(X)){U++;continue}if(/^!\[/.test(X)){U++;continue}if(/^<img\s/i.test(X)){U++;continue}if(X===""){U++;continue}break}return Z.slice(U).join(`
|
|
220
|
+
`)}function Eq($){let U=Sq($).split(`
|
|
221
|
+
`),X=[];for(let z of U){let Q=z.trim();if(Q===""){if(X.length>0)break;continue}if(/^(#|>|```|---|\||\s*[-*+]\s|\d+\.\s)/.test(Q))break;if(/^\*\*[^*]+\*\*\s*$/.test(Q)&&X.length===0)continue;X.push(Q)}if(X.length===0)return null;return X.join(" ").trim()}function O0($,Z){let U=$.split(`
|
|
222
|
+
`),X=0;while(X<U.length){let Q=U[X].trim().match(/^(#{1,6})\s+(.+)$/);if(Q&&Z.test(Q[2])){let J=Q[1].length,q=[];X++;while(X<U.length){let H=U[X].trim(),G=H.match(/^(#{1,6})\s+/);if(G&&G[1].length<=J)break;if(H===""){if(q.length>0)break;X++;continue}if(/^(>|```|---|\||\s*[-*+]\s|\d+\.\s)/.test(H))break;q.push(H),X++}if(q.length===0)return null;return q.join(" ").trim()}X++}return null}function gq($){let Z=O0($,/^(use\s+cases?|goal)\b/i);if(Z&&m(Z))return Z;let U=Eq($);if(U&&m(U))return U;return}function fq($){let Z=O0($,/^(about|description|overview|what(\s+is\s+this)?)\b/i);if(Z&&m(Z))return Z;return}function yq($){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 xq($){let Z=O0($,/^(why|motivation|problem|rationale)\b/i);if(Z&&m(Z))return Z;return}function hq($){let Z=O0($,/^(deployment|where(\s+it\s+runs)?|hosting)\b/i);if(Z&&m(Z))return Z;return}function uq($){let Z=O0($,/^(status|history|timeline|since|launched)\b/i);if(Z&&m(Z))return Z;return}function kq($){let Z=O0($,/^(architecture|how(\s+it\s+works)?|approach|design)\b/i);if(Z&&m(Z))return Z;return}function y2($){let Z=["README.md","README.MD","Readme.md","readme.md"],U=null;for(let O of Z){let _=jq($,O);if(bq(_)){U=_;break}}if(!U)return{};let X;try{X=Cq(U,"utf-8")}catch{return{}}let z={},Q=gq(X);if(Q)z.project={goal:Q};let J={},q=fq(X);if(q)J.what=q;let H=yq(X);if(H)J.who=H;let G=xq(X);if(G)J.why=G;let W=hq(X);if(W)J.where=W;let Y=uq(X);if(Y)J.when=Y;let B=kq(X);if(B)J.how=B;if(Object.keys(J).length>0)z.human_context=J;return z}import{existsSync as vq,readFileSync as mq}from"fs";import{join as pq}from"path";function lq($,Z){let U=$.split(`
|
|
223
|
+
`),X=!1;for(let z of U){let Q=z.trim();if(/^\[/.test(Q)){X=Q==="[package]";continue}if(!X)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 x2($){let Z=pq($,"Cargo.toml");if(!vq(Z))return{};let U;try{U=mq(Z,"utf-8")}catch{return{}}let X=lq(U,"description");if(X&&m(X))return{project:{goal:X}};return{}}function dq($,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 c6($){return dq(y2($),x2($))}function cq($){let Z=l6($),U=c6($),X=q9(Z,U);aq(X);let z=q9(X,E2($));return q9(z,{human_context:g2($)})}function aq($){let Z=$.project?.type??"library",U=_0[Z]||_0.library;for(let X of y){if(U.includes(X.category))continue;let[z,Q]=X.path.split(".");if(z==="stack"&&$.stack)$.stack[Q]="slotignored";if(z==="monorepo"&&$.monorepo)$.monorepo[Q]="slotignored"}}function q9($,Z){let U={...$};for(let[X,z]of Object.entries(Z)){let Q=U[X];if(y0(Q))U[X]=z;else if(typeof z==="object"&&z!==null&&!Array.isArray(z)&&typeof Q==="object"&&Q!==null&&!Array.isArray(Q))U[X]=q9(Q,z)}return U}export{PJ as writeServerCard,WJ as writeProjectHtml,H8 as validateFaf,E2 as turboCatSlots,A6 as turboCatScan,o6 as slotsByCategory,I6 as seedSixWsFromGoal,L9 as scoreFafYaml,g2 as relentlessContext,MJ as registryName,RJ as registryMeta,$6 as readFafRaw,zJ as readFaf,TJ as questionForSlot,gJ as publicQuestions,Q9 as normalizeAnswer,W9 as kernel,y0 as isPlaceholder,KJ as interviewForMissing,fJ as gradeAnswers,u0 as getTier,$8 as getNextTier,G6 as generateServerCard,Q6 as generateProjectHtml,Z6 as findFafFile,N2 as fafContextBlock,m2 as enrichScore,EJ as deriveQuestionSet,bJ as buildTableOf8,yJ as buildReceipt,cq as assembleFreshFaf,F6 as answersMatch,a as TIERS,_6 as STACK_INTERVIEW,H9 as SLOT_BY_PATH,y as SLOTS,w2 as SIX_WS_INTERVIEW,Y6 as REGISTRY_PUBLISHER_KEY,W$ as PLACEHOLDERS,O6 as INTERVIEW_VERSION,FJ as INTERVIEW_PATHS,D6 as INTERVIEW_BY_PATH,z9 as INTERVIEW,h0 as FAF_HEX,e6 as ENTERPRISE_SLOTS,b2 as BENCH_VERSION,t6 as BASE_SLOTS,P6 as ALIAS_GROUPS};
|
|
222
224
|
|
|
223
|
-
//# debugId=
|
|
225
|
+
//# debugId=0822C666AF8A5DC564756E2164756E21
|
|
224
226
|
//# sourceMappingURL=index.js.map
|