faf-cli 6.0.14 → 6.0.15
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 +2 -0
- package/dist/cli.js +132 -132
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as H3}from"node:module";var eY=Object.create;var{getPrototypeOf:$3,defineProperty:
|
|
2
|
+
import{createRequire as H3}from"node:module";var eY=Object.create;var{getPrototypeOf:$3,defineProperty:IX,getOwnPropertyNames:X3}=Object;var J3=Object.prototype.hasOwnProperty;function Q3($){return this[$]}var q3,Y3,z3=($,X,J)=>{var Q=$!=null&&typeof $==="object";if(Q){var q=X?q3??=new WeakMap:Y3??=new WeakMap,Y=q.get($);if(Y)return Y}J=$!=null?eY($3($)):{};let z=X||!$||!$.__esModule?IX(J,"default",{value:$,enumerable:!0}):J;for(let G of X3($))if(!J3.call(z,G))IX(z,G,{get:Q3.bind($,G),enumerable:!0});if(Q)q.set($,z);return z};var A=($,X)=>()=>(X||$((X={exports:{}}).exports,X),X.exports);var G3=($)=>$;function W3($,X){this[$]=G3.bind(null,X)}var EX=($,X)=>{for(var J in X)IX($,J,{get:X[J],enumerable:!0,configurable:!0,set:W3.bind(X,J)})};var b=($,X)=>()=>($&&(X=$($=0)),X);var W$=H3(import.meta.url);var w6=A((U3)=>{class SX extends Error{constructor($,X,J){super(J);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=X,this.exitCode=$,this.nestedError=void 0}}class C9 extends SX{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}U3.CommanderError=SX;U3.InvalidArgumentError=C9});var m2=A((N3)=>{var{InvalidArgumentError:K3}=w6();class P9{constructor($,X){switch(this.description=X||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue($,X){if(X===this.defaultValue||!Array.isArray(X))return[$];return X.push($),X}default($,X){return this.defaultValue=$,this.defaultValueDescription=X,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(X,J)=>{if(!this.argChoices.includes(X))throw new K3(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(X,J);return X},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function M3($){let X=$.name()+($.variadic===!0?"...":"");return $.required?"<"+X+">":"["+X+"]"}N3.Argument=P9;N3.humanReadableArgName=M3});var jX=A((L3)=>{var{humanReadableArgName:O3}=m2();class b9{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let X=$.commands.filter((Q)=>!Q._hidden),J=$._getHelpCommand();if(J&&!J._hidden)X.push(J);if(this.sortSubcommands)X.sort((Q,q)=>{return Q.name().localeCompare(q.name())});return X}compareOptions($,X){let J=(Q)=>{return Q.short?Q.short.replace(/^-/,""):Q.long.replace(/^--/,"")};return J($).localeCompare(J(X))}visibleOptions($){let X=$.options.filter((Q)=>!Q.hidden),J=$._getHelpOption();if(J&&!J.hidden){let Q=J.short&&$._findOption(J.short),q=J.long&&$._findOption(J.long);if(!Q&&!q)X.push(J);else if(J.long&&!q)X.push($.createOption(J.long,J.description));else if(J.short&&!Q)X.push($.createOption(J.short,J.description))}if(this.sortOptions)X.sort(this.compareOptions);return X}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let X=[];for(let J=$.parent;J;J=J.parent){let Q=J.options.filter((q)=>!q.hidden);X.push(...Q)}if(this.sortOptions)X.sort(this.compareOptions);return X}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((X)=>{X.description=X.description||$._argsDescription[X.name()]||""});if($.registeredArguments.find((X)=>X.description))return $.registeredArguments;return[]}subcommandTerm($){let X=$.registeredArguments.map((J)=>O3(J)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(X?" "+X:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,X){return X.visibleCommands($).reduce((J,Q)=>{return Math.max(J,this.displayWidth(X.styleSubcommandTerm(X.subcommandTerm(Q))))},0)}longestOptionTermLength($,X){return X.visibleOptions($).reduce((J,Q)=>{return Math.max(J,this.displayWidth(X.styleOptionTerm(X.optionTerm(Q))))},0)}longestGlobalOptionTermLength($,X){return X.visibleGlobalOptions($).reduce((J,Q)=>{return Math.max(J,this.displayWidth(X.styleOptionTerm(X.optionTerm(Q))))},0)}longestArgumentTermLength($,X){return X.visibleArguments($).reduce((J,Q)=>{return Math.max(J,this.displayWidth(X.styleArgumentTerm(X.argumentTerm(Q))))},0)}commandUsage($){let X=$._name;if($._aliases[0])X=X+"|"+$._aliases[0];let J="";for(let Q=$.parent;Q;Q=Q.parent)J=Q.name()+" "+J;return J+X+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let X=[];if($.argChoices)X.push(`choices: ${$.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")X.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)X.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)X.push(`env: ${$.envVar}`);if(X.length>0){let J=`(${X.join(", ")})`;if($.description)return`${$.description} ${J}`;return J}return $.description}argumentDescription($){let X=[];if($.argChoices)X.push(`choices: ${$.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if($.defaultValue!==void 0)X.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(X.length>0){let J=`(${X.join(", ")})`;if($.description)return`${$.description} ${J}`;return J}return $.description}formatItemList($,X,J){if(X.length===0)return[];return[J.styleTitle($),...X,""]}groupItems($,X,J){let Q=new Map;return $.forEach((q)=>{let Y=J(q);if(!Q.has(Y))Q.set(Y,[])}),X.forEach((q)=>{let Y=J(q);if(!Q.has(Y))Q.set(Y,[]);Q.get(Y).push(q)}),Q}formatHelp($,X){let J=X.padWidth($,X),Q=X.helpWidth??80;function q(U,V){return X.formatItem(U,J,V,X)}let Y=[`${X.styleTitle("Usage:")} ${X.styleUsage(X.commandUsage($))}`,""],z=X.commandDescription($);if(z.length>0)Y=Y.concat([X.boxWrap(X.styleCommandDescription(z),Q),""]);let G=X.visibleArguments($).map((U)=>{return q(X.styleArgumentTerm(X.argumentTerm(U)),X.styleArgumentDescription(X.argumentDescription(U)))});if(Y=Y.concat(this.formatItemList("Arguments:",G,X)),this.groupItems($.options,X.visibleOptions($),(U)=>U.helpGroupHeading??"Options:").forEach((U,V)=>{let B=U.map((N)=>{return q(X.styleOptionTerm(X.optionTerm(N)),X.styleOptionDescription(X.optionDescription(N)))});Y=Y.concat(this.formatItemList(V,B,X))}),X.showGlobalOptions){let U=X.visibleGlobalOptions($).map((V)=>{return q(X.styleOptionTerm(X.optionTerm(V)),X.styleOptionDescription(X.optionDescription(V)))});Y=Y.concat(this.formatItemList("Global Options:",U,X))}return this.groupItems($.commands,X.visibleCommands($),(U)=>U.helpGroup()||"Commands:").forEach((U,V)=>{let B=U.map((N)=>{return q(X.styleSubcommandTerm(X.subcommandTerm(N)),X.styleSubcommandDescription(X.subcommandDescription(N)))});Y=Y.concat(this.formatItemList(V,B,X))}),Y.join(`
|
|
3
3
|
`)}displayWidth($){return f9($).length}styleTitle($){return $}styleUsage($){return $.split(" ").map((X)=>{if(X==="[options]")return this.styleOptionText(X);if(X==="[command]")return this.styleSubcommandText(X);if(X[0]==="["||X[0]==="<")return this.styleArgumentText(X);return this.styleCommandText(X)}).join(" ")}styleCommandDescription($){return this.styleDescriptionText($)}styleOptionDescription($){return this.styleDescriptionText($)}styleSubcommandDescription($){return this.styleDescriptionText($)}styleArgumentDescription($){return this.styleDescriptionText($)}styleDescriptionText($){return $}styleOptionTerm($){return this.styleOptionText($)}styleSubcommandTerm($){return $.split(" ").map((X)=>{if(X==="[options]")return this.styleOptionText(X);if(X[0]==="["||X[0]==="<")return this.styleArgumentText(X);return this.styleSubcommandText(X)}).join(" ")}styleArgumentTerm($){return this.styleArgumentText($)}styleOptionText($){return $}styleArgumentText($){return $}styleSubcommandText($){return $}styleCommandText($){return $}padWidth($,X){return Math.max(X.longestOptionTermLength($,X),X.longestGlobalOptionTermLength($,X),X.longestSubcommandTermLength($,X),X.longestArgumentTermLength($,X))}preformatted($){return/\n[^\S\r\n]/.test($)}formatItem($,X,J,Q){let Y=" ".repeat(2);if(!J)return Y+$;let z=$.padEnd(X+$.length-Q.displayWidth($)),G=2,H=(this.helpWidth??80)-X-G-2,U;if(H<this.minWidthToWrap||Q.preformatted(J))U=J;else U=Q.boxWrap(J,H).replace(/\n/g,`
|
|
4
4
|
`+" ".repeat(X+G));return Y+z+" ".repeat(G)+U.replace(/\n/g,`
|
|
5
|
-
${Y}`)}boxWrap($,X){if(X<this.minWidthToWrap)return $;let J=$.split(/\r\n|\n/),Q=/[\s]*[^\s]+/g,q=[];return J.forEach((Y)=>{let z=Y.match(Q);if(z===null){q.push("");return}let G=[z.shift()],W=this.displayWidth(G[0]);z.forEach((H)=>{let U=this.displayWidth(H);if(W+U<=X){G.push(H),W+=U;return}q.push(G.join(""));let
|
|
6
|
-
`)}}function f9($){let X=/\x1b\[\d*(;\d*)*m/g;return $.replace(X,"")}L3.Help=b9;L3.stripColor=f9});var
|
|
5
|
+
${Y}`)}boxWrap($,X){if(X<this.minWidthToWrap)return $;let J=$.split(/\r\n|\n/),Q=/[\s]*[^\s]+/g,q=[];return J.forEach((Y)=>{let z=Y.match(Q);if(z===null){q.push("");return}let G=[z.shift()],W=this.displayWidth(G[0]);z.forEach((H)=>{let U=this.displayWidth(H);if(W+U<=X){G.push(H),W+=U;return}q.push(G.join(""));let V=H.trimStart();G=[V],W=this.displayWidth(V)}),q.push(G.join(""))}),q.join(`
|
|
6
|
+
`)}}function f9($){let X=/\x1b\[\d*(;\d*)*m/g;return $.replace(X,"")}L3.Help=b9;L3.stripColor=f9});var TX=A((I3)=>{var{InvalidArgumentError:_3}=w6();class x9{constructor($,X){this.flags=$,this.description=X||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let J=F3($);if(this.short=J.shortFlag,this.long=J.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default($,X){return this.defaultValue=$,this.defaultValueDescription=X,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let X=$;if(typeof $==="string")X={[$]:!0};return this.implied=Object.assign(this.implied||{},X),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_collectValue($,X){if(X===this.defaultValue||!Array.isArray(X))return[$];return X.push($),X}choices($){return this.argChoices=$.slice(),this.parseArg=(X,J)=>{if(!this.argChoices.includes(X))throw new _3(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(X,J);return X},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return k9(this.name().replace(/^no-/,""));return k9(this.name())}helpGroup($){return this.helpGroupHeading=$,this}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class y9{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((X)=>{if(X.negate)this.negativeOptions.set(X.attributeName(),X);else this.positiveOptions.set(X.attributeName(),X)}),this.negativeOptions.forEach((X,J)=>{if(this.positiveOptions.has(J))this.dualOptions.add(J)})}valueFromOption($,X){let J=X.attributeName();if(!this.dualOptions.has(J))return!0;let Q=this.negativeOptions.get(J).presetArg,q=Q!==void 0?Q:!1;return X.negate===(q===$)}}function k9($){return $.split("-").reduce((X,J)=>{return X+J[0].toUpperCase()+J.slice(1)})}function F3($){let X,J,Q=/^-[^-]$/,q=/^--[^-]/,Y=$.split(/[ |,]+/).concat("guard");if(Q.test(Y[0]))X=Y.shift();if(q.test(Y[0]))J=Y.shift();if(!X&&Q.test(Y[0]))X=Y.shift();if(!X&&q.test(Y[0]))X=J,J=Y.shift();if(Y[0].startsWith("-")){let z=Y[0],G=`option creation failed due to '${z}' in option flags '${$}'`;if(/^-[^-][^-]/.test(z))throw Error(`${G}
|
|
7
7
|
- a short flag is a single dash and a single character
|
|
8
8
|
- either use a single dash and a single character (for a short flag)
|
|
9
9
|
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(Q.test(z))throw Error(`${G}
|
|
@@ -11,103 +11,103 @@ ${Y}`)}boxWrap($,X){if(X<this.minWidthToWrap)return $;let J=$.split(/\r\n|\n/),Q
|
|
|
11
11
|
- too many long flags`);throw Error(`${G}
|
|
12
12
|
- unrecognised flag format`)}if(X===void 0&&J===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:X,longFlag:J}}I3.Option=x9;I3.DualOptions=y9});var g9=A((Z3)=>{function j3($,X){if(Math.abs($.length-X.length)>3)return Math.max($.length,X.length);let J=[];for(let Q=0;Q<=$.length;Q++)J[Q]=[Q];for(let Q=0;Q<=X.length;Q++)J[0][Q]=Q;for(let Q=1;Q<=X.length;Q++)for(let q=1;q<=$.length;q++){let Y=1;if($[q-1]===X[Q-1])Y=0;else Y=1;if(J[q][Q]=Math.min(J[q-1][Q]+1,J[q][Q-1]+1,J[q-1][Q-1]+Y),q>1&&Q>1&&$[q-1]===X[Q-2]&&$[q-2]===X[Q-1])J[q][Q]=Math.min(J[q][Q],J[q-2][Q-2]+1)}return J[$.length][X.length]}function T3($,X){if(!X||X.length===0)return"";X=Array.from(new Set(X));let J=$.startsWith("--");if(J)$=$.slice(2),X=X.map((z)=>z.slice(2));let Q=[],q=3,Y=0.4;if(X.forEach((z)=>{if(z.length<=1)return;let G=j3($,z),W=Math.max($.length,z.length);if((W-G)/W>Y){if(G<q)q=G,Q=[z];else if(G===q)Q.push(z)}}),Q.sort((z,G)=>z.localeCompare(G)),J)Q=Q.map((z)=>`--${z}`);if(Q.length>1)return`
|
|
13
13
|
(Did you mean one of ${Q.join(", ")}?)`;if(Q.length===1)return`
|
|
14
|
-
(Did you mean ${Q[0]}?)`;return""}Z3.suggestSimilar=T3});var m9=A((g3)=>{var P3=W$("node:events").EventEmitter,
|
|
14
|
+
(Did you mean ${Q[0]}?)`;return""}Z3.suggestSimilar=T3});var m9=A((g3)=>{var P3=W$("node:events").EventEmitter,ZX=W$("node:child_process"),q0=W$("node:path"),l2=W$("node:fs"),s=W$("node:process"),{Argument:b3,humanReadableArgName:f3}=m2(),{CommanderError:CX}=w6(),{Help:k3,stripColor:x3}=jX(),{Option:v9,DualOptions:y3}=TX(),{suggestSimilar:h9}=g9();class bX extends P3{constructor($){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=$||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(X)=>s.stdout.write(X),writeErr:(X)=>s.stderr.write(X),outputError:(X,J)=>J(X),getOutHelpWidth:()=>s.stdout.isTTY?s.stdout.columns:void 0,getErrHelpWidth:()=>s.stderr.isTTY?s.stderr.columns:void 0,getOutHasColors:()=>PX()??(s.stdout.isTTY&&s.stdout.hasColors?.()),getErrHasColors:()=>PX()??(s.stderr.isTTY&&s.stderr.hasColors?.()),stripColor:(X)=>x3(X)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let X=this;X;X=X.parent)$.push(X);return $}command($,X,J){let Q=X,q=J;if(typeof Q==="object"&&Q!==null)q=Q,Q=null;q=q||{};let[,Y,z]=$.match(/([^ ]+) *(.*)/),G=this.createCommand(Y);if(Q)G.description(Q),G._executableHandler=!0;if(q.isDefault)this._defaultCommandName=G._name;if(G._hidden=!!(q.noHelp||q.hidden),G._executableFile=q.executableFile||null,z)G.arguments(z);if(this._registerCommand(G),G.parent=this,G.copyInheritedSettings(this),Q)return this;return G}createCommand($){return new bX($)}createHelp(){return Object.assign(new k3,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...$},this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,X){if(!$._name)throw Error(`Command passed to .addCommand() must have a name
|
|
15
15
|
- specify the name in Command constructor or using .name()`);if(X=X||{},X.isDefault)this._defaultCommandName=$._name;if(X.noHelp||X.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,X){return new b3($,X)}argument($,X,J,Q){let q=this.createArgument($,X);if(typeof J==="function")q.default(Q).argParser(J);else q.default(J);return this.addArgument(q),this}arguments($){return $.trim().split(/ +/).forEach((X)=>{this.argument(X)}),this}addArgument($){let X=this.registeredArguments.slice(-1)[0];if(X?.variadic)throw Error(`only the last argument can be variadic '${X.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,X){if(typeof $==="boolean"){if(this._addImplicitHelpCommand=$,$&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let J=$??"help [command]",[,Q,q]=J.match(/([^ ]+) *(.*)/),Y=X??"display help for command",z=this.createCommand(Q);if(z.helpOption(!1),q)z.arguments(q);if(Y)z.description(Y);if(this._addImplicitHelpCommand=!0,this._helpCommand=z,$||X)this._initCommandGroup(z);return this}addHelpCommand($,X){if(typeof $!=="object")return this.helpCommand($,X),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this._initCommandGroup($),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,X){let J=["preSubcommand","preAction","postAction"];if(!J.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'.
|
|
16
|
-
Expecting one of '${J.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(X);else this._lifeCycleHooks[$]=[X];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(X)=>{if(X.code!=="commander.executeSubCommandAsync")throw X};return this}_exit($,X,J){if(this._exitCallback)this._exitCallback(new
|
|
17
|
-
- already used by option '${X.flags}'`)}this._initOptionGroup($),this.options.push($)}_registerCommand($){let X=(Q)=>{return[Q.name()].concat(Q.aliases())},J=X($).find((Q)=>this._findCommand(Q));if(J){let Q=X(this._findCommand(J)).join("|"),q=X($).join("|");throw Error(`cannot add command '${q}' as already have command '${Q}'`)}this._initCommandGroup($),this.commands.push($)}addOption($){this._registerOption($);let X=$.name(),J=$.attributeName();if($.negate){let q=$.long.replace(/^--no-/,"--");if(!this._findOption(q))this.setOptionValueWithSource(J,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(J,$.defaultValue,"default");let Q=(q,Y,z)=>{if(q==null&&$.presetArg!==void 0)q=$.presetArg;let G=this.getOptionValue(J);if(q!==null&&$.parseArg)q=this._callParseArg($,q,G,Y);else if(q!==null&&$.variadic)q=$._collectValue(q,G);if(q==null)if($.negate)q=!1;else if($.isBoolean()||$.optional)q=!0;else q="";this.setOptionValueWithSource(J,q,z)};if(this.on("option:"+X,(q)=>{let Y=`error: option '${$.flags}' argument '${q}' is invalid.`;Q(q,Y,"cli")}),$.envVar)this.on("optionEnv:"+X,(q)=>{let Y=`error: option '${$.flags}' value '${q}' from env '${$.envVar}' is invalid.`;Q(q,Y,"env")});return this}_optionEx($,X,J,Q,q){if(typeof X==="object"&&X instanceof v9)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let Y=this.createOption(X,J);if(Y.makeOptionMandatory(!!$.mandatory),typeof Q==="function")Y.default(q).argParser(Q);else if(Q instanceof RegExp){let z=Q;Q=(G,W)=>{let H=z.exec(G);return H?H[0]:W},Y.default(q).argParser(Q)}else Y.default(Q);return this.addOption(Y)}option($,X,J,Q){return this._optionEx({},$,X,J,Q)}requiredOption($,X,J,Q){return this._optionEx({mandatory:!0},$,X,J,Q)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,X){return this.setOptionValueWithSource($,X,void 0)}setOptionValueWithSource($,X,J){if(this._storeOptionsAsProperties)this[$]=X;else this._optionValues[$]=X;return this._optionValueSources[$]=J,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let X;return this._getCommandAndAncestors().forEach((J)=>{if(J.getOptionValueSource($)!==void 0)X=J.getOptionValueSource($)}),X}_prepareUserArgs($,X){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(X=X||{},$===void 0&&X.from===void 0){if(
|
|
16
|
+
Expecting one of '${J.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(X);else this._lifeCycleHooks[$]=[X];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(X)=>{if(X.code!=="commander.executeSubCommandAsync")throw X};return this}_exit($,X,J){if(this._exitCallback)this._exitCallback(new CX($,X,J));s.exit($)}action($){let X=(J)=>{let Q=this.registeredArguments.length,q=J.slice(0,Q);if(this._storeOptionsAsProperties)q[Q]=this;else q[Q]=this.opts();return q.push(this),$.apply(this,q)};return this._actionHandler=X,this}createOption($,X){return new v9($,X)}_callParseArg($,X,J,Q){try{return $.parseArg(X,J)}catch(q){if(q.code==="commander.invalidArgument"){let Y=`${Q} ${q.message}`;this.error(Y,{exitCode:q.exitCode,code:q.code})}throw q}}_registerOption($){let X=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(X){let J=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${J}'
|
|
17
|
+
- already used by option '${X.flags}'`)}this._initOptionGroup($),this.options.push($)}_registerCommand($){let X=(Q)=>{return[Q.name()].concat(Q.aliases())},J=X($).find((Q)=>this._findCommand(Q));if(J){let Q=X(this._findCommand(J)).join("|"),q=X($).join("|");throw Error(`cannot add command '${q}' as already have command '${Q}'`)}this._initCommandGroup($),this.commands.push($)}addOption($){this._registerOption($);let X=$.name(),J=$.attributeName();if($.negate){let q=$.long.replace(/^--no-/,"--");if(!this._findOption(q))this.setOptionValueWithSource(J,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(J,$.defaultValue,"default");let Q=(q,Y,z)=>{if(q==null&&$.presetArg!==void 0)q=$.presetArg;let G=this.getOptionValue(J);if(q!==null&&$.parseArg)q=this._callParseArg($,q,G,Y);else if(q!==null&&$.variadic)q=$._collectValue(q,G);if(q==null)if($.negate)q=!1;else if($.isBoolean()||$.optional)q=!0;else q="";this.setOptionValueWithSource(J,q,z)};if(this.on("option:"+X,(q)=>{let Y=`error: option '${$.flags}' argument '${q}' is invalid.`;Q(q,Y,"cli")}),$.envVar)this.on("optionEnv:"+X,(q)=>{let Y=`error: option '${$.flags}' value '${q}' from env '${$.envVar}' is invalid.`;Q(q,Y,"env")});return this}_optionEx($,X,J,Q,q){if(typeof X==="object"&&X instanceof v9)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let Y=this.createOption(X,J);if(Y.makeOptionMandatory(!!$.mandatory),typeof Q==="function")Y.default(q).argParser(Q);else if(Q instanceof RegExp){let z=Q;Q=(G,W)=>{let H=z.exec(G);return H?H[0]:W},Y.default(q).argParser(Q)}else Y.default(Q);return this.addOption(Y)}option($,X,J,Q){return this._optionEx({},$,X,J,Q)}requiredOption($,X,J,Q){return this._optionEx({mandatory:!0},$,X,J,Q)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties($=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,X){return this.setOptionValueWithSource($,X,void 0)}setOptionValueWithSource($,X,J){if(this._storeOptionsAsProperties)this[$]=X;else this._optionValues[$]=X;return this._optionValueSources[$]=J,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let X;return this._getCommandAndAncestors().forEach((J)=>{if(J.getOptionValueSource($)!==void 0)X=J.getOptionValueSource($)}),X}_prepareUserArgs($,X){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(X=X||{},$===void 0&&X.from===void 0){if(s.versions?.electron)X.from="electron";let Q=s.execArgv??[];if(Q.includes("-e")||Q.includes("--eval")||Q.includes("-p")||Q.includes("--print"))X.from="eval"}if($===void 0)$=s.argv;this.rawArgs=$.slice();let J;switch(X.from){case void 0:case"node":this._scriptPath=$[1],J=$.slice(2);break;case"electron":if(s.defaultApp)this._scriptPath=$[1],J=$.slice(2);else J=$.slice(1);break;case"user":J=$.slice(0);break;case"eval":J=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${X.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",J}parse($,X){this._prepareForParse();let J=this._prepareUserArgs($,X);return this._parseCommand([],J),this}async parseAsync($,X){this._prepareForParse();let J=this._prepareUserArgs($,X);return await this._parseCommand([],J),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
18
18
|
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable($,X,J){if(l2.existsSync($))return;let Q=X?`searched for local subcommand relative to directory '${X}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",q=`'${$}' does not exist
|
|
19
19
|
- if '${J}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
20
20
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
21
|
-
- ${Q}`;throw Error(q)}_executeSubCommand($,X){X=X.slice();let J=!1,Q=[".js",".ts",".tsx",".mjs",".cjs"];function q(H,U){let
|
|
21
|
+
- ${Q}`;throw Error(q)}_executeSubCommand($,X){X=X.slice();let J=!1,Q=[".js",".ts",".tsx",".mjs",".cjs"];function q(H,U){let V=q0.resolve(H,U);if(l2.existsSync(V))return V;if(Q.includes(q0.extname(U)))return;let B=Q.find((N)=>l2.existsSync(`${V}${N}`));if(B)return`${V}${B}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Y=$._executableFile||`${this._name}-${$._name}`,z=this._executableDir||"";if(this._scriptPath){let H;try{H=l2.realpathSync(this._scriptPath)}catch{H=this._scriptPath}z=q0.resolve(q0.dirname(H),z)}if(z){let H=q(z,Y);if(!H&&!$._executableFile&&this._scriptPath){let U=q0.basename(this._scriptPath,q0.extname(this._scriptPath));if(U!==this._name)H=q(z,`${U}-${$._name}`)}Y=H||Y}J=Q.includes(q0.extname(Y));let G;if(s.platform!=="win32")if(J)X.unshift(Y),X=u9(s.execArgv).concat(X),G=ZX.spawn(s.argv[0],X,{stdio:"inherit"});else G=ZX.spawn(Y,X,{stdio:"inherit"});else this._checkForMissingExecutable(Y,z,$._name),X.unshift(Y),X=u9(s.execArgv).concat(X),G=ZX.spawn(s.execPath,X,{stdio:"inherit"});if(!G.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((U)=>{s.on(U,()=>{if(G.killed===!1&&G.exitCode===null)G.kill(U)})});let W=this._exitCallback;G.on("close",(H)=>{if(H=H??1,!W)s.exit(H);else W(new CX(H,"commander.executeSubCommandAsync","(close)"))}),G.on("error",(H)=>{if(H.code==="ENOENT")this._checkForMissingExecutable(Y,z,$._name);else if(H.code==="EACCES")throw Error(`'${Y}' not executable`);if(!W)s.exit(1);else{let U=new CX(1,"commander.executeSubCommandAsync","(error)");U.nestedError=H,W(U)}}),this.runningCommand=G}_dispatchSubcommand($,X,J){let Q=this._findCommand($);if(!Q)this.help({error:!0});Q._prepareForParse();let q;return q=this._chainOrCallSubCommandHook(q,Q,"preSubcommand"),q=this._chainOrCall(q,()=>{if(Q._executableHandler)this._executeSubCommand(Q,X.concat(J));else return Q._parseCommand(X,J)}),q}_dispatchHelpCommand($){if(!$)this.help();let X=this._findCommand($);if(X&&!X._executableHandler)X.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,X)=>{if($.required&&this.args[X]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(J,Q,q)=>{let Y=Q;if(Q!==null&&J.parseArg){let z=`error: command-argument value '${Q}' is invalid for argument '${J.name()}'.`;Y=this._callParseArg(J,Q,q,z)}return Y};this._checkNumberOfArguments();let X=[];this.registeredArguments.forEach((J,Q)=>{let q=J.defaultValue;if(J.variadic){if(Q<this.args.length){if(q=this.args.slice(Q),J.parseArg)q=q.reduce((Y,z)=>{return $(J,z,Y)},J.defaultValue)}else if(q===void 0)q=[]}else if(Q<this.args.length){if(q=this.args[Q],J.parseArg)q=$(J,q,J.defaultValue)}X[Q]=q}),this.processedArgs=X}_chainOrCall($,X){if($?.then&&typeof $.then==="function")return $.then(()=>X());return X()}_chainOrCallHooks($,X){let J=$,Q=[];if(this._getCommandAndAncestors().reverse().filter((q)=>q._lifeCycleHooks[X]!==void 0).forEach((q)=>{q._lifeCycleHooks[X].forEach((Y)=>{Q.push({hookedCommand:q,callback:Y})})}),X==="postAction")Q.reverse();return Q.forEach((q)=>{J=this._chainOrCall(J,()=>{return q.callback(q.hookedCommand,this)})}),J}_chainOrCallSubCommandHook($,X,J){let Q=$;if(this._lifeCycleHooks[J]!==void 0)this._lifeCycleHooks[J].forEach((q)=>{Q=this._chainOrCall(Q,()=>{return q(this,X)})});return Q}_parseCommand($,X){let J=this.parseOptions(X);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(J.operands),X=J.unknown,this.args=$.concat(X),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),X);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(X),this._dispatchSubcommand(this._defaultCommandName,$,X);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(J.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Q=()=>{if(J.unknown.length>0)this.unknownOption(J.unknown[0])},q=`command:${this.name()}`;if(this._actionHandler){Q(),this._processArguments();let Y;if(Y=this._chainOrCallHooks(Y,"preAction"),Y=this._chainOrCall(Y,()=>this._actionHandler(this.processedArgs)),this.parent)Y=this._chainOrCall(Y,()=>{this.parent.emit(q,$,X)});return Y=this._chainOrCallHooks(Y,"postAction"),Y}if(this.parent?.listenerCount(q))Q(),this._processArguments(),this.parent.emit(q,$,X);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,X);if(this.listenerCount("command:*"))this.emit("command:*",$,X);else if(this.commands.length)this.unknownCommand();else Q(),this._processArguments()}else if(this.commands.length)Q(),this.help({error:!0});else Q(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((X)=>X._name===$||X._aliases.includes($))}_findOption($){return this.options.find((X)=>X.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((X)=>{if(X.mandatory&&$.getOptionValue(X.attributeName())===void 0)$.missingMandatoryOptionValue(X)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((J)=>{let Q=J.attributeName();if(this.getOptionValue(Q)===void 0)return!1;return this.getOptionValueSource(Q)!=="default"});$.filter((J)=>J.conflictsWith.length>0).forEach((J)=>{let Q=$.find((q)=>J.conflictsWith.includes(q.attributeName()));if(Q)this._conflictingOption(J,Q)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let X=[],J=[],Q=X;function q(H){return H.length>1&&H[0]==="-"}let Y=(H)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(H))return!1;return!this._getCommandAndAncestors().some((U)=>U.options.map((V)=>V.short).some((V)=>/^-\d$/.test(V)))},z=null,G=null,W=0;while(W<$.length||G){let H=G??$[W++];if(G=null,H==="--"){if(Q===J)Q.push(H);Q.push(...$.slice(W));break}if(z&&(!q(H)||Y(H))){this.emit(`option:${z.name()}`,H);continue}if(z=null,q(H)){let U=this._findOption(H);if(U){if(U.required){let V=$[W++];if(V===void 0)this.optionMissingArgument(U);this.emit(`option:${U.name()}`,V)}else if(U.optional){let V=null;if(W<$.length&&(!q($[W])||Y($[W])))V=$[W++];this.emit(`option:${U.name()}`,V)}else this.emit(`option:${U.name()}`);z=U.variadic?U:null;continue}}if(H.length>2&&H[0]==="-"&&H[1]!=="-"){let U=this._findOption(`-${H[1]}`);if(U){if(U.required||U.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${U.name()}`,H.slice(2));else this.emit(`option:${U.name()}`),G=`-${H.slice(2)}`;continue}}if(/^--[^=]+=/.test(H)){let U=H.indexOf("="),V=this._findOption(H.slice(0,U));if(V&&(V.required||V.optional)){this.emit(`option:${V.name()}`,H.slice(U+1));continue}}if(Q===X&&q(H)&&!(this.commands.length===0&&Y(H)))Q=J;if((this._enablePositionalOptions||this._passThroughOptions)&&X.length===0&&J.length===0){if(this._findCommand(H)){X.push(H),J.push(...$.slice(W));break}else if(this._getHelpCommand()&&H===this._getHelpCommand().name()){X.push(H,...$.slice(W));break}else if(this._defaultCommandName){J.push(H,...$.slice(W));break}}if(this._passThroughOptions){Q.push(H,...$.slice(W));break}Q.push(H)}return{operands:X,unknown:J}}opts(){if(this._storeOptionsAsProperties){let $={},X=this.options.length;for(let J=0;J<X;J++){let Q=this.options[J].attributeName();$[Q]=Q===this._versionOptionName?this._version:this[Q]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,X)=>Object.assign($,X.opts()),{})}error($,X){if(this._outputConfiguration.outputError(`${$}
|
|
22
22
|
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
23
23
|
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
|
24
|
-
`),this.outputHelp({error:!0});let J=X||{},Q=J.exitCode||1,q=J.code||"commander.error";this._exit(Q,q,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in
|
|
25
|
-
`),this._exit(0,"commander.version",$)}),this}description($,X){if($===void 0&&X===void 0)return this._description;if(this._description=$,X)this._argsDescription=X;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let X=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)X=this.commands[this.commands.length-1];if($===X._name)throw Error("Command alias can't be the same as its name");let J=this.parent?._findCommand($);if(J){let Q=[J.name()].concat(J.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${Q}'`)}return X._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((X)=>this.alias(X)),this}usage($){if($===void 0){if(this._usage)return this._usage;let X=this.registeredArguments.map((J)=>{return f3(J)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?X:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}helpGroup($){if($===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=$,this}commandsGroup($){if($===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=$,this}optionsGroup($){if($===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=$,this}_initOptionGroup($){if(this._defaultOptionGroup&&!$.helpGroupHeading)$.helpGroup(this._defaultOptionGroup)}_initCommandGroup($){if(this._defaultCommandGroup&&!$.helpGroup())$.helpGroup(this._defaultCommandGroup)}nameFromFilename($){return this._name=q0.basename($,q0.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let X=this.createHelp(),J=this._getOutputContext($);X.prepareContext({error:J.error,helpWidth:J.helpWidth,outputHasColors:J.hasColors});let Q=X.formatHelp(this,X);if(J.hasColors)return Q;return this._outputConfiguration.stripColor(Q)}_getOutputContext($){$=$||{};let X=!!$.error,J,Q,q;if(X)J=(z)=>this._outputConfiguration.writeErr(z),Q=this._outputConfiguration.getErrHasColors(),q=this._outputConfiguration.getErrHelpWidth();else J=(z)=>this._outputConfiguration.writeOut(z),Q=this._outputConfiguration.getOutHasColors(),q=this._outputConfiguration.getOutHelpWidth();return{error:X,write:(z)=>{if(!Q)z=this._outputConfiguration.stripColor(z);return J(z)},hasColors:Q,helpWidth:q}}outputHelp($){let X;if(typeof $==="function")X=$,$=void 0;let J=this._getOutputContext($),Q={error:J.error,write:J.write,command:this};this._getCommandAndAncestors().reverse().forEach((Y)=>Y.emit("beforeAllHelp",Q)),this.emit("beforeHelp",Q);let q=this.helpInformation({error:J.error});if(X){if(q=X(q),typeof q!=="string"&&!Buffer.isBuffer(q))throw Error("outputHelp callback must return a string or a Buffer")}if(J.write(q),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Q),this._getCommandAndAncestors().forEach((Y)=>Y.emit("afterAllHelp",Q))}helpOption($,X){if(typeof $==="boolean"){if($){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption($??"-h, --help",X??"display help for command"),$||X)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this._initOptionGroup($),this}help($){this.outputHelp($);let X=Number(
|
|
24
|
+
`),this.outputHelp({error:!0});let J=X||{},Q=J.exitCode||1,q=J.code||"commander.error";this._exit(Q,q,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in s.env){let X=$.attributeName();if(this.getOptionValue(X)===void 0||["default","config","env"].includes(this.getOptionValueSource(X)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,s.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new y3(this.options),X=(J)=>{return this.getOptionValue(J)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(J))};this.options.filter((J)=>J.implied!==void 0&&X(J.attributeName())&&$.valueFromOption(this.getOptionValue(J.attributeName()),J)).forEach((J)=>{Object.keys(J.implied).filter((Q)=>!X(Q)).forEach((Q)=>{this.setOptionValueWithSource(Q,J.implied[Q],"implied")})})}missingArgument($){let X=`error: missing required argument '${$}'`;this.error(X,{code:"commander.missingArgument"})}optionMissingArgument($){let X=`error: option '${$.flags}' argument missing`;this.error(X,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let X=`error: required option '${$.flags}' not specified`;this.error(X,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,X){let J=(Y)=>{let z=Y.attributeName(),G=this.getOptionValue(z),W=this.options.find((U)=>U.negate&&z===U.attributeName()),H=this.options.find((U)=>!U.negate&&z===U.attributeName());if(W&&(W.presetArg===void 0&&G===!1||W.presetArg!==void 0&&G===W.presetArg))return W;return H||Y},Q=(Y)=>{let z=J(Y),G=z.attributeName();if(this.getOptionValueSource(G)==="env")return`environment variable '${z.envVar}'`;return`option '${z.flags}'`},q=`error: ${Q($)} cannot be used with ${Q(X)}`;this.error(q,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let X="";if($.startsWith("--")&&this._showSuggestionAfterError){let Q=[],q=this;do{let Y=q.createHelp().visibleOptions(q).filter((z)=>z.long).map((z)=>z.long);Q=Q.concat(Y),q=q.parent}while(q&&!q._enablePositionalOptions);X=h9($,Q)}let J=`error: unknown option '${$}'${X}`;this.error(J,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let X=this.registeredArguments.length,J=X===1?"":"s",q=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${X} argument${J} but got ${$.length}.`;this.error(q,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],X="";if(this._showSuggestionAfterError){let Q=[];this.createHelp().visibleCommands(this).forEach((q)=>{if(Q.push(q.name()),q.alias())Q.push(q.alias())}),X=h9($,Q)}let J=`error: unknown command '${$}'${X}`;this.error(J,{code:"commander.unknownCommand"})}version($,X,J){if($===void 0)return this._version;this._version=$,X=X||"-V, --version",J=J||"output the version number";let Q=this.createOption(X,J);return this._versionOptionName=Q.attributeName(),this._registerOption(Q),this.on("option:"+Q.name(),()=>{this._outputConfiguration.writeOut(`${$}
|
|
25
|
+
`),this._exit(0,"commander.version",$)}),this}description($,X){if($===void 0&&X===void 0)return this._description;if(this._description=$,X)this._argsDescription=X;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let X=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)X=this.commands[this.commands.length-1];if($===X._name)throw Error("Command alias can't be the same as its name");let J=this.parent?._findCommand($);if(J){let Q=[J.name()].concat(J.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${Q}'`)}return X._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((X)=>this.alias(X)),this}usage($){if($===void 0){if(this._usage)return this._usage;let X=this.registeredArguments.map((J)=>{return f3(J)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?X:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}helpGroup($){if($===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=$,this}commandsGroup($){if($===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=$,this}optionsGroup($){if($===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=$,this}_initOptionGroup($){if(this._defaultOptionGroup&&!$.helpGroupHeading)$.helpGroup(this._defaultOptionGroup)}_initCommandGroup($){if(this._defaultCommandGroup&&!$.helpGroup())$.helpGroup(this._defaultCommandGroup)}nameFromFilename($){return this._name=q0.basename($,q0.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let X=this.createHelp(),J=this._getOutputContext($);X.prepareContext({error:J.error,helpWidth:J.helpWidth,outputHasColors:J.hasColors});let Q=X.formatHelp(this,X);if(J.hasColors)return Q;return this._outputConfiguration.stripColor(Q)}_getOutputContext($){$=$||{};let X=!!$.error,J,Q,q;if(X)J=(z)=>this._outputConfiguration.writeErr(z),Q=this._outputConfiguration.getErrHasColors(),q=this._outputConfiguration.getErrHelpWidth();else J=(z)=>this._outputConfiguration.writeOut(z),Q=this._outputConfiguration.getOutHasColors(),q=this._outputConfiguration.getOutHelpWidth();return{error:X,write:(z)=>{if(!Q)z=this._outputConfiguration.stripColor(z);return J(z)},hasColors:Q,helpWidth:q}}outputHelp($){let X;if(typeof $==="function")X=$,$=void 0;let J=this._getOutputContext($),Q={error:J.error,write:J.write,command:this};this._getCommandAndAncestors().reverse().forEach((Y)=>Y.emit("beforeAllHelp",Q)),this.emit("beforeHelp",Q);let q=this.helpInformation({error:J.error});if(X){if(q=X(q),typeof q!=="string"&&!Buffer.isBuffer(q))throw Error("outputHelp callback must return a string or a Buffer")}if(J.write(q),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Q),this._getCommandAndAncestors().forEach((Y)=>Y.emit("afterAllHelp",Q))}helpOption($,X){if(typeof $==="boolean"){if($){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption($??"-h, --help",X??"display help for command"),$||X)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this._initOptionGroup($),this}help($){this.outputHelp($);let X=Number(s.exitCode??0);if(X===0&&$&&typeof $!=="function"&&$.error)X=1;this._exit(X,"commander.help","(outputHelp)")}addHelpText($,X){let J=["beforeAll","before","after","afterAll"];if(!J.includes($))throw Error(`Unexpected value for position to addHelpText.
|
|
26
26
|
Expecting one of '${J.join("', '")}'`);let Q=`${$}Help`;return this.on(Q,(q)=>{let Y;if(typeof X==="function")Y=X({error:q.error,command:q.command});else Y=X;if(Y)q.write(`${Y}
|
|
27
|
-
`)}),this}_outputHelpIfRequested($){let X=this._getHelpOption();if(X&&$.find((Q)=>X.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function u9($){return $.map((X)=>{if(!X.startsWith("--inspect"))return X;let J,Q="127.0.0.1",q="9229",Y;if((Y=X.match(/^(--inspect(-brk)?)$/))!==null)J=Y[1];else if((Y=X.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(J=Y[1],/^\d+$/.test(Y[3]))q=Y[3];else Q=Y[3];else if((Y=X.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)J=Y[1],Q=Y[3],q=Y[4];if(J&&q!=="0")return`${J}=${Q}:${parseInt(q)+1}`;return X})}function
|
|
28
|
-
`)}}k$.defaultYaml={explicit:!1,version:"1.2"};k$.defaultTags={"!!":"tag:yaml.org,2002:"};Cz.Directives=k$});var n2=A((xz)=>{var JJ=
|
|
29
|
-
`)?
|
|
27
|
+
`)}),this}_outputHelpIfRequested($){let X=this._getHelpOption();if(X&&$.find((Q)=>X.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function u9($){return $.map((X)=>{if(!X.startsWith("--inspect"))return X;let J,Q="127.0.0.1",q="9229",Y;if((Y=X.match(/^(--inspect(-brk)?)$/))!==null)J=Y[1];else if((Y=X.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(J=Y[1],/^\d+$/.test(Y[3]))q=Y[3];else Q=Y[3];else if((Y=X.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)J=Y[1],Q=Y[3],q=Y[4];if(J&&q!=="0")return`${J}=${Q}:${parseInt(q)+1}`;return X})}function PX(){if(s.env.NO_COLOR||s.env.FORCE_COLOR==="0"||s.env.FORCE_COLOR==="false")return!1;if(s.env.FORCE_COLOR||s.env.CLICOLOR_FORCE!==void 0)return!0;return}g3.Command=bX;g3.useColor=PX});var p9=A((l3)=>{var{Argument:l9}=m2(),{Command:fX}=m9(),{CommanderError:u3,InvalidArgumentError:c9}=w6(),{Help:m3}=jX(),{Option:d9}=TX();l3.program=new fX;l3.createCommand=($)=>new fX($);l3.createOption=($,X)=>new d9($,X);l3.createArgument=($,X)=>new l9($,X);l3.Command=fX;l3.Option=d9;l3.Argument=l9;l3.Help=m3;l3.CommanderError=u3;l3.InvalidArgumentError=c9;l3.InvalidOptionArgumentError=c9});var i=A((Gz)=>{var kX=Symbol.for("yaml.alias"),n9=Symbol.for("yaml.document"),c2=Symbol.for("yaml.map"),r9=Symbol.for("yaml.pair"),xX=Symbol.for("yaml.scalar"),d2=Symbol.for("yaml.seq"),Y0=Symbol.for("yaml.node.type"),$z=($)=>!!$&&typeof $==="object"&&$[Y0]===kX,Xz=($)=>!!$&&typeof $==="object"&&$[Y0]===n9,Jz=($)=>!!$&&typeof $==="object"&&$[Y0]===c2,Qz=($)=>!!$&&typeof $==="object"&&$[Y0]===r9,a9=($)=>!!$&&typeof $==="object"&&$[Y0]===xX,qz=($)=>!!$&&typeof $==="object"&&$[Y0]===d2;function s9($){if($&&typeof $==="object")switch($[Y0]){case c2:case d2:return!0}return!1}function Yz($){if($&&typeof $==="object")switch($[Y0]){case kX:case c2:case xX:case d2:return!0}return!1}var zz=($)=>(a9($)||s9($))&&!!$.anchor;Gz.ALIAS=kX;Gz.DOC=n9;Gz.MAP=c2;Gz.NODE_TYPE=Y0;Gz.PAIR=r9;Gz.SCALAR=xX;Gz.SEQ=d2;Gz.hasAnchor=zz;Gz.isAlias=$z;Gz.isCollection=s9;Gz.isDocument=Xz;Gz.isMap=Jz;Gz.isNode=Yz;Gz.isPair=Qz;Gz.isScalar=a9;Gz.isSeq=qz});var D6=A((Iz)=>{var D$=i(),E$=Symbol("break visit"),o9=Symbol("skip children"),a$=Symbol("remove node");function p2($,X){let J=t9(X);if(D$.isDocument($)){if(M8(null,$.contents,J,Object.freeze([$]))===a$)$.contents=null}else M8(null,$,J,Object.freeze([]))}p2.BREAK=E$;p2.SKIP=o9;p2.REMOVE=a$;function M8($,X,J,Q){let q=e9($,X,J,Q);if(D$.isNode(q)||D$.isPair(q))return $J($,Q,q),M8($,q,J,Q);if(typeof q!=="symbol"){if(D$.isCollection(X)){Q=Object.freeze(Q.concat(X));for(let Y=0;Y<X.items.length;++Y){let z=M8(Y,X.items[Y],J,Q);if(typeof z==="number")Y=z-1;else if(z===E$)return E$;else if(z===a$)X.items.splice(Y,1),Y-=1}}else if(D$.isPair(X)){Q=Object.freeze(Q.concat(X));let Y=M8("key",X.key,J,Q);if(Y===E$)return E$;else if(Y===a$)X.key=null;let z=M8("value",X.value,J,Q);if(z===E$)return E$;else if(z===a$)X.value=null}}return q}async function i2($,X){let J=t9(X);if(D$.isDocument($)){if(await N8(null,$.contents,J,Object.freeze([$]))===a$)$.contents=null}else await N8(null,$,J,Object.freeze([]))}i2.BREAK=E$;i2.SKIP=o9;i2.REMOVE=a$;async function N8($,X,J,Q){let q=await e9($,X,J,Q);if(D$.isNode(q)||D$.isPair(q))return $J($,Q,q),N8($,q,J,Q);if(typeof q!=="symbol"){if(D$.isCollection(X)){Q=Object.freeze(Q.concat(X));for(let Y=0;Y<X.items.length;++Y){let z=await N8(Y,X.items[Y],J,Q);if(typeof z==="number")Y=z-1;else if(z===E$)return E$;else if(z===a$)X.items.splice(Y,1),Y-=1}}else if(D$.isPair(X)){Q=Object.freeze(Q.concat(X));let Y=await N8("key",X.key,J,Q);if(Y===E$)return E$;else if(Y===a$)X.key=null;let z=await N8("value",X.value,J,Q);if(z===E$)return E$;else if(z===a$)X.value=null}}return q}function t9($){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 e9($,X,J,Q){if(typeof J==="function")return J($,X,Q);if(D$.isMap(X))return J.Map?.($,X,Q);if(D$.isSeq(X))return J.Seq?.($,X,Q);if(D$.isPair(X))return J.Pair?.($,X,Q);if(D$.isScalar(X))return J.Scalar?.($,X,Q);if(D$.isAlias(X))return J.Alias?.($,X,Q);return}function $J($,X,J){let Q=X[X.length-1];if(D$.isCollection(Q))Q.items[$]=J;else if(D$.isPair(Q))if($==="key")Q.key=J;else Q.value=J;else if(D$.isDocument(Q))Q.contents=J;else{let q=D$.isAlias(Q)?"alias":"scalar";throw Error(`Cannot replace node with ${q} parent`)}}Iz.visit=p2;Iz.visitAsync=i2});var yX=A((Cz)=>{var XJ=i(),jz=D6(),Tz={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Zz=($)=>$.replace(/[!,[\]{}]/g,(X)=>Tz[X]);class k${constructor($,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},k$.defaultYaml,$),this.tags=Object.assign({},k$.defaultTags,X)}clone(){let $=new k$(this.yaml,this.tags);return $.docStart=this.docStart,$}atDocument(){let $=new k$(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:k$.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},k$.defaultTags);break}return $}add($,X){if(this.atNextDocument)this.yaml={explicit:k$.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},k$.defaultTags),this.atNextDocument=!1;let J=$.trim().split(/[ \t]+/),Q=J.shift();switch(Q){case"%TAG":{if(J.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),J.length<2)return!1}let[q,Y]=J;return this.tags[q]=Y,!0}case"%YAML":{if(this.yaml.explicit=!0,J.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[q]=J;if(q==="1.1"||q==="1.2")return this.yaml.version=q,!0;else{let Y=/^\d+\.\d+$/.test(q);return X(6,`Unsupported YAML version ${q}`,Y),!1}}default:return X(0,`Unknown directive ${Q}`,!0),!1}}tagName($,X){if($==="!")return"!";if($[0]!=="!")return X(`Not a valid tag: ${$}`),null;if($[1]==="<"){let Y=$.slice(2,-1);if(Y==="!"||Y==="!!")return X(`Verbatim tags aren't resolved, so ${$} is invalid.`),null;if($[$.length-1]!==">")X("Verbatim tags must end with a >");return Y}let[,J,Q]=$.match(/^(.*!)([^!]*)$/s);if(!Q)X(`The ${$} tag has no suffix`);let q=this.tags[J];if(q)try{return q+decodeURIComponent(Q)}catch(Y){return X(String(Y)),null}if(J==="!")return $;return X(`Could not resolve tag: ${$}`),null}tagString($){for(let[X,J]of Object.entries(this.tags))if($.startsWith(J))return X+Zz($.substring(J.length));return $[0]==="!"?$:`!<${$}>`}toString($){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],J=Object.entries(this.tags),Q;if($&&J.length>0&&XJ.isNode($.contents)){let q={};jz.visit($.contents,(Y,z)=>{if(XJ.isNode(z)&&z.tag)q[z.tag]=!0}),Q=Object.keys(q)}else Q=[];for(let[q,Y]of J){if(q==="!!"&&Y==="tag:yaml.org,2002:")continue;if(!$||Q.some((z)=>z.startsWith(Y)))X.push(`%TAG ${q} ${Y}`)}return X.join(`
|
|
28
|
+
`)}}k$.defaultYaml={explicit:!1,version:"1.2"};k$.defaultTags={"!!":"tag:yaml.org,2002:"};Cz.Directives=k$});var n2=A((xz)=>{var JJ=i(),bz=D6();function fz($){if(/[\x00-\x19\s,[\]{}]/.test($)){let J=`Anchor must not contain whitespace or control characters: ${JSON.stringify($)}`;throw Error(J)}return!0}function QJ($){let X=new Set;return bz.visit($,{Value(J,Q){if(Q.anchor)X.add(Q.anchor)}}),X}function qJ($,X){for(let J=1;;++J){let Q=`${$}${J}`;if(!X.has(Q))return Q}}function kz($,X){let J=[],Q=new Map,q=null;return{onAnchor:(Y)=>{J.push(Y),q??(q=QJ($));let z=qJ(X,q);return q.add(z),z},setAnchors:()=>{for(let Y of J){let z=Q.get(Y);if(typeof z==="object"&&z.anchor&&(JJ.isScalar(z.node)||JJ.isCollection(z.node)))z.node.anchor=z.anchor;else{let G=Error("Failed to resolve repeated object (this should not happen)");throw G.source=Y,G}}},sourceObjects:Q}}xz.anchorIsValid=fz;xz.anchorNames=QJ;xz.createNodeAnchors=kz;xz.findNewAnchor=qJ});var gX=A((uz)=>{function O6($,X,J,Q){if(Q&&typeof Q==="object")if(Array.isArray(Q))for(let q=0,Y=Q.length;q<Y;++q){let z=Q[q],G=O6($,Q,String(q),z);if(G===void 0)delete Q[q];else if(G!==z)Q[q]=G}else if(Q instanceof Map)for(let q of Array.from(Q.keys())){let Y=Q.get(q),z=O6($,Q,q,Y);if(z===void 0)Q.delete(q);else if(z!==Y)Q.set(q,z)}else if(Q instanceof Set)for(let q of Array.from(Q)){let Y=O6($,Q,q,q);if(Y===void 0)Q.delete(q);else if(Y!==q)Q.delete(q),Q.add(Y)}else for(let[q,Y]of Object.entries(Q)){let z=O6($,Q,q,Y);if(z===void 0)delete Q[q];else if(z!==Y)Q[q]=z}return $.call(X,J,Q)}uz.applyReviver=O6});var D0=A((cz)=>{var lz=i();function YJ($,X,J){if(Array.isArray($))return $.map((Q,q)=>YJ(Q,String(q),J));if($&&typeof $.toJSON==="function"){if(!J||!lz.hasAnchor($))return $.toJSON(X,J);let Q={aliasCount:0,count:1,res:void 0};J.anchors.set($,Q),J.onCreate=(Y)=>{Q.res=Y,delete J.onCreate};let q=$.toJSON(X,J);if(J.onCreate)J.onCreate(q);return q}if(typeof $==="bigint"&&!J?.keep)return Number($);return $}cz.toJS=YJ});var r2=A((nz)=>{var pz=gX(),zJ=i(),iz=D0();class GJ{constructor($){Object.defineProperty(this,zJ.NODE_TYPE,{value:$})}clone(){let $=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)$.range=this.range.slice();return $}toJS($,{mapAsMap:X,maxAliasCount:J,onAnchor:Q,reviver:q}={}){if(!zJ.isDocument($))throw TypeError("A document argument is required");let Y={anchors:new Map,doc:$,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof J==="number"?J:100},z=iz.toJS(this,"",Y);if(typeof Q==="function")for(let{count:G,res:W}of Y.anchors.values())Q(W,G);return typeof q==="function"?pz.applyReviver(q,{"":z},"",z):z}}nz.NodeBase=GJ});var L6=A((ez)=>{var az=n2(),sz=D6(),w8=i(),oz=r2(),tz=D0();class WJ extends oz.NodeBase{constructor($){super(w8.ALIAS);this.source=$,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve($,X){let J;if(X?.aliasResolveCache)J=X.aliasResolveCache;else if(J=[],sz.visit($,{Node:(q,Y)=>{if(w8.isAlias(Y)||w8.hasAnchor(Y))J.push(Y)}}),X)X.aliasResolveCache=J;let Q=void 0;for(let q of J){if(q===this)break;if(q.anchor===this.source)Q=q}return Q}toJSON($,X){if(!X)return{source:this.source};let{anchors:J,doc:Q,maxAliasCount:q}=X,Y=this.resolve(Q,X);if(!Y){let G=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(G)}let z=J.get(Y);if(!z)tz.toJS(Y,null,X),z=J.get(Y);if(z?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(q>=0){if(z.count+=1,z.aliasCount===0)z.aliasCount=a2(Q,Y,J);if(z.count*z.aliasCount>q)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return z.res}toString($,X,J){let Q=`*${this.source}`;if($){if(az.anchorIsValid(this.source),$.options.verifyAliasOrder&&!$.anchors.has(this.source)){let q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(q)}if($.implicitKey)return`${Q} `}return Q}}function a2($,X,J){if(w8.isAlias(X)){let Q=X.resolve($),q=J&&Q&&J.get(Q);return q?q.count*q.aliasCount:0}else if(w8.isCollection(X)){let Q=0;for(let q of X.items){let Y=a2($,q,J);if(Y>Q)Q=Y}return Q}else if(w8.isPair(X)){let Q=a2($,X.key,J),q=a2($,X.value,J);return Math.max(Q,q)}return 1}ez.Alias=WJ});var M$=A((YG)=>{var XG=i(),JG=r2(),QG=D0(),qG=($)=>!$||typeof $!=="function"&&typeof $!=="object";class c0 extends JG.NodeBase{constructor($){super(XG.SCALAR);this.value=$}toJSON($,X){return X?.keep?this.value:QG.toJS(this.value,$,X)}toString(){return String(this.value)}}c0.BLOCK_FOLDED="BLOCK_FOLDED";c0.BLOCK_LITERAL="BLOCK_LITERAL";c0.PLAIN="PLAIN";c0.QUOTE_DOUBLE="QUOTE_DOUBLE";c0.QUOTE_SINGLE="QUOTE_SINGLE";YG.Scalar=c0;YG.isScalarValue=qG});var R6=A((BG)=>{var WG=L6(),d0=i(),HJ=M$(),HG="tag:yaml.org,2002:";function UG($,X,J){if(X){let Q=J.filter((Y)=>Y.tag===X),q=Q.find((Y)=>!Y.format)??Q[0];if(!q)throw Error(`Tag ${X} not found`);return q}return J.find((Q)=>Q.identify?.($)&&!Q.format)}function VG($,X,J){if(d0.isDocument($))$=$.contents;if(d0.isNode($))return $;if(d0.isPair($)){let V=J.schema[d0.MAP].createNode?.(J.schema,null,J);return V.items.push($),V}if($ instanceof String||$ instanceof Number||$ instanceof Boolean||typeof BigInt<"u"&&$ instanceof BigInt)$=$.valueOf();let{aliasDuplicateObjects:Q,onAnchor:q,onTagObj:Y,schema:z,sourceObjects:G}=J,W=void 0;if(Q&&$&&typeof $==="object")if(W=G.get($),W)return W.anchor??(W.anchor=q($)),new WG.Alias(W.anchor);else W={anchor:null,node:null},G.set($,W);if(X?.startsWith("!!"))X=HG+X.slice(2);let H=UG($,X,z.tags);if(!H){if($&&typeof $.toJSON==="function")$=$.toJSON();if(!$||typeof $!=="object"){let V=new HJ.Scalar($);if(W)W.node=V;return V}H=$ instanceof Map?z[d0.MAP]:(Symbol.iterator in Object($))?z[d0.SEQ]:z[d0.MAP]}if(Y)Y(H),delete J.onTagObj;let U=H?.createNode?H.createNode(J.schema,$,J):typeof H?.nodeClass?.from==="function"?H.nodeClass.from(J.schema,$,J):new HJ.Scalar($);if(X)U.tag=X;else if(!H.default)U.tag=H.tag;if(W)W.node=U;return U}BG.createNode=VG});var s2=A((wG)=>{var MG=R6(),s$=i(),NG=r2();function vX($,X,J){let Q=J;for(let q=X.length-1;q>=0;--q){let Y=X[q];if(typeof Y==="number"&&Number.isInteger(Y)&&Y>=0){let z=[];z[Y]=Q,Q=z}else Q=new Map([[Y,Q]])}return MG.createNode(Q,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:$,sourceObjects:new Map})}var UJ=($)=>$==null||typeof $==="object"&&!!$[Symbol.iterator]().next().done;class VJ extends NG.NodeBase{constructor($,X){super($);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone($){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if($)X.schema=$;if(X.items=X.items.map((J)=>s$.isNode(J)||s$.isPair(J)?J.clone($):J),this.range)X.range=this.range.slice();return X}addIn($,X){if(UJ($))this.add(X);else{let[J,...Q]=$,q=this.get(J,!0);if(s$.isCollection(q))q.addIn(Q,X);else if(q===void 0&&this.schema)this.set(J,vX(this.schema,Q,X));else throw Error(`Expected YAML collection at ${J}. Remaining path: ${Q}`)}}deleteIn($){let[X,...J]=$;if(J.length===0)return this.delete(X);let Q=this.get(X,!0);if(s$.isCollection(Q))return Q.deleteIn(J);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${J}`)}getIn($,X){let[J,...Q]=$,q=this.get(J,!0);if(Q.length===0)return!X&&s$.isScalar(q)?q.value:q;else return s$.isCollection(q)?q.getIn(Q,X):void 0}hasAllNullValues($){return this.items.every((X)=>{if(!s$.isPair(X))return!1;let J=X.value;return J==null||$&&s$.isScalar(J)&&J.value==null&&!J.commentBefore&&!J.comment&&!J.tag})}hasIn($){let[X,...J]=$;if(J.length===0)return this.has(X);let Q=this.get(X,!0);return s$.isCollection(Q)?Q.hasIn(J):!1}setIn($,X){let[J,...Q]=$;if(Q.length===0)this.set(J,X);else{let q=this.get(J,!0);if(s$.isCollection(q))q.setIn(Q,X);else if(q===void 0&&this.schema)this.set(J,vX(this.schema,Q,X));else throw Error(`Expected YAML collection at ${J}. Remaining path: ${Q}`)}}}wG.Collection=VJ;wG.collectionFromPath=vX;wG.isEmptyPath=UJ});var A6=A((_G)=>{var RG=($)=>$.replace(/^(?!$)(?: $)?/gm,"#");function hX($,X){if(/^\n+$/.test($))return $.substring(1);return X?$.replace(/^(?! *$)/gm,X):$}var AG=($,X,J)=>$.endsWith(`
|
|
29
|
+
`)?hX(J,X):J.includes(`
|
|
30
30
|
`)?`
|
|
31
|
-
`+
|
|
32
|
-
`){if(J==="block")M=BJ($,M,X.length);
|
|
31
|
+
`+hX(J,X):($.endsWith(" ")?"":" ")+J;_G.indentComment=hX;_G.lineComment=AG;_G.stringifyComment=RG});var KJ=A((jG)=>{function SG($,X,J="flow",{indentAtStart:Q,lineWidth:q=80,minContentWidth:Y=20,onFold:z,onOverflow:G}={}){if(!q||q<0)return $;if(q<Y)Y=0;let W=Math.max(1+Y,1+q-X.length);if($.length<=W)return $;let H=[],U={},V=q-X.length;if(typeof Q==="number")if(Q>q-Math.max(2,Y))H.push(0);else V=q-Q;let B=void 0,N=void 0,R=!1,M=-1,D=-1,F=-1;if(J==="block"){if(M=BJ($,M,X.length),M!==-1)V=M+W}for(let P;P=$[M+=1];){if(J==="quoted"&&P==="\\"){switch(D=M,$[M+1]){case"x":M+=3;break;case"u":M+=5;break;case"U":M+=9;break;default:M+=1}F=M}if(P===`
|
|
32
|
+
`){if(J==="block")M=BJ($,M,X.length);V=M+X.length+W,B=void 0}else{if(P===" "&&N&&N!==" "&&N!==`
|
|
33
33
|
`&&N!=="\t"){let f=$[M+1];if(f&&f!==" "&&f!==`
|
|
34
|
-
`&&f!=="\t")
|
|
34
|
+
`&&f!=="\t")B=M}if(M>=V)if(B)H.push(B),V=B+W,B=void 0;else if(J==="quoted"){while(N===" "||N==="\t")N=P,P=$[M+=1],R=!0;let f=M>F+1?M-2:D-1;if(U[f])return $;H.push(f),U[f]=!0,V=f+W,B=void 0}else R=!0}N=P}if(R&&G)G();if(H.length===0)return $;if(z)z();let T=$.slice(0,H[0]);for(let P=0;P<H.length;++P){let f=H[P],g=H[P+1]||$.length;if(f===0)T=`
|
|
35
35
|
${X}${$.slice(0,g)}`;else{if(J==="quoted"&&U[f])T+=`${$[f]}\\`;T+=`
|
|
36
36
|
${X}${$.slice(f+1,g)}`}}return T}function BJ($,X,J){let Q=X,q=X+1,Y=$[q];while(Y===" "||Y==="\t")if(X<q+J)Y=$[++X];else{do Y=$[++X];while(Y&&Y!==`
|
|
37
37
|
`);Q=X,q=X+1,Y=$[q]}return Q}jG.FOLD_BLOCK="block";jG.FOLD_FLOW="flow";jG.FOLD_QUOTED="quoted";jG.foldFlowLines=SG});var F6=A((xG)=>{var v$=M$(),O0=KJ(),t2=($,X)=>({indentAtStart:X?$.indent.length:$.indentAtStart,lineWidth:$.options.lineWidth,minContentWidth:$.options.minContentWidth}),e2=($)=>/^(%|---|\.\.\.)/m.test($);function bG($,X,J){if(!X||X<0)return!1;let Q=X-J,q=$.length;if(q<=Q)return!1;for(let Y=0,z=0;Y<q;++Y)if($[Y]===`
|
|
38
38
|
`){if(Y-z>Q)return!0;if(z=Y+1,q-z<=Q)return!1}return!0}function _6($,X){let J=JSON.stringify($);if(X.options.doubleQuotedAsJSON)return J;let{implicitKey:Q}=X,q=X.options.doubleQuotedMinMultiLineLength,Y=X.indent||(e2($)?" ":""),z="",G=0;for(let W=0,H=J[W];H;H=J[++W]){if(H===" "&&J[W+1]==="\\"&&J[W+2]==="n")z+=J.slice(G,W)+"\\ ",W+=1,G=W,H="\\";if(H==="\\")switch(J[W+1]){case"u":{z+=J.slice(G,W);let U=J.substr(W+2,4);switch(U){case"0000":z+="\\0";break;case"0007":z+="\\a";break;case"000b":z+="\\v";break;case"001b":z+="\\e";break;case"0085":z+="\\N";break;case"00a0":z+="\\_";break;case"2028":z+="\\L";break;case"2029":z+="\\P";break;default:if(U.substr(0,2)==="00")z+="\\x"+U.substr(2);else z+=J.substr(W,6)}W+=5,G=W+1}break;case"n":if(Q||J[W+2]==='"'||J.length<q)W+=1;else{z+=J.slice(G,W)+`
|
|
39
39
|
|
|
40
40
|
`;while(J[W+2]==="\\"&&J[W+3]==="n"&&J[W+4]!=='"')z+=`
|
|
41
|
-
`,W+=2;if(z+=Y,J[W+2]===" ")z+="\\";W+=1,G=W+1}break;default:W+=1}}return z=G?z+J.slice(G):J,Q?z:O0.foldFlowLines(z,Y,O0.FOLD_QUOTED,t2(X,!1))}function
|
|
41
|
+
`,W+=2;if(z+=Y,J[W+2]===" ")z+="\\";W+=1,G=W+1}break;default:W+=1}}return z=G?z+J.slice(G):J,Q?z:O0.foldFlowLines(z,Y,O0.FOLD_QUOTED,t2(X,!1))}function uX($,X){if(X.options.singleQuote===!1||X.implicitKey&&$.includes(`
|
|
42
42
|
`)||/[ \t]\n|\n[ \t]/.test($))return _6($,X);let J=X.indent||(e2($)?" ":""),Q="'"+$.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
43
|
-
${J}`)+"'";return X.implicitKey?Q:O0.foldFlowLines(Q,J,O0.FOLD_FLOW,t2(X,!1))}function D8($,X){let{singleQuote:J}=X.options,Q;if(J===!1)Q=_6;else{let q=$.includes('"'),Y=$.includes("'");if(q&&!Y)Q=
|
|
43
|
+
${J}`)+"'";return X.implicitKey?Q:O0.foldFlowLines(Q,J,O0.FOLD_FLOW,t2(X,!1))}function D8($,X){let{singleQuote:J}=X.options,Q;if(J===!1)Q=_6;else{let q=$.includes('"'),Y=$.includes("'");if(q&&!Y)Q=uX;else if(Y&&!q)Q=_6;else Q=J?uX:_6}return Q($,X)}var mX;try{mX=new RegExp(`(^|(?<!
|
|
44
44
|
))
|
|
45
45
|
+(?!
|
|
46
|
-
|$)`,"g")}catch{
|
|
46
|
+
|$)`,"g")}catch{mX=/\n+(?!\n|$)/g}function o2({comment:$,type:X,value:J},Q,q,Y){let{blockQuote:z,commentString:G,lineWidth:W}=Q.options;if(!z||/\n[\t ]+$/.test(J))return D8(J,Q);let H=Q.indent||(Q.forceBlockIndent||e2(J)?" ":""),U=z==="literal"?!0:z==="folded"||X===v$.Scalar.BLOCK_FOLDED?!1:X===v$.Scalar.BLOCK_LITERAL?!0:!bG(J,W,H.length);if(!J)return U?`|
|
|
47
47
|
`:`>
|
|
48
|
-
`;let B
|
|
49
|
-
`&&g!=="\t"&&g!==" ")break}let N=J.substring(
|
|
50
|
-
`);if(R===-1)
|
|
51
|
-
`)N=N.slice(0,-1);N=N.replace(
|
|
52
|
-
`)F=D;else break}let T=J.substring(0,F<D?F+1:D);if(T)J=J.substring(T.length),T=T.replace(/\n+/g,`$&${H}`);let f=(M?H?"2":"1":"")+
|
|
53
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${H}`),x=!1,
|
|
48
|
+
`;let V,B;for(B=J.length;B>0;--B){let g=J[B-1];if(g!==`
|
|
49
|
+
`&&g!=="\t"&&g!==" ")break}let N=J.substring(B),R=N.indexOf(`
|
|
50
|
+
`);if(R===-1)V="-";else if(J===N||R!==N.length-1){if(V="+",Y)Y()}else V="";if(N){if(J=J.slice(0,-N.length),N[N.length-1]===`
|
|
51
|
+
`)N=N.slice(0,-1);N=N.replace(mX,`$&${H}`)}let M=!1,D,F=-1;for(D=0;D<J.length;++D){let g=J[D];if(g===" ")M=!0;else if(g===`
|
|
52
|
+
`)F=D;else break}let T=J.substring(0,F<D?F+1:D);if(T)J=J.substring(T.length),T=T.replace(/\n+/g,`$&${H}`);let f=(M?H?"2":"1":"")+V;if($){if(f+=" "+G($.replace(/ ?[\r\n]+/g," ")),q)q()}if(!U){let g=J.replace(/\n+/g,`
|
|
53
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${H}`),x=!1,a=t2(Q,!0);if(z!=="folded"&&X!==v$.Scalar.BLOCK_FOLDED)a.onOverflow=()=>{x=!0};let S=O0.foldFlowLines(`${T}${g}${N}`,H,O0.FOLD_BLOCK,a);if(!x)return`>${f}
|
|
54
54
|
${H}${S}`}return J=J.replace(/\n+/g,`$&${H}`),`|${f}
|
|
55
55
|
${H}${T}${J}${N}`}function fG($,X,J,Q){let{type:q,value:Y}=$,{actualString:z,implicitKey:G,indent:W,indentStep:H,inFlow:U}=X;if(G&&Y.includes(`
|
|
56
56
|
`)||U&&/[[\]{},]/.test(Y))return D8(Y,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Y))return G||U||!Y.includes(`
|
|
57
57
|
`)?D8(Y,X):o2($,X,J,Q);if(!G&&!U&&q!==v$.Scalar.PLAIN&&Y.includes(`
|
|
58
|
-
`))return o2($,X,J,Q);if(e2(Y)){if(W==="")return X.forceBlockIndent=!0,o2($,X,J,Q);else if(G&&W===H)return D8(Y,X)}let
|
|
59
|
-
${W}`);if(z){let
|
|
60
|
-
${X.indent}${G}`}dG.createStringifyContext=uG;dG.stringify=cG});var wJ=A((rG)=>{var z0=
|
|
61
|
-
${G}:`}else if(D=`${D}:`,
|
|
62
|
-
`:"",T){let
|
|
63
|
-
${E6.indentComment(
|
|
58
|
+
`))return o2($,X,J,Q);if(e2(Y)){if(W==="")return X.forceBlockIndent=!0,o2($,X,J,Q);else if(G&&W===H)return D8(Y,X)}let V=Y.replace(/\n+/g,`$&
|
|
59
|
+
${W}`);if(z){let B=(M)=>M.default&&M.tag!=="tag:yaml.org,2002:str"&&M.test?.test(V),{compat:N,tags:R}=X.doc.schema;if(R.some(B)||N?.some(B))return D8(Y,X)}return G?V:O0.foldFlowLines(V,W,O0.FOLD_FLOW,t2(X,!1))}function kG($,X,J,Q){let{implicitKey:q,inFlow:Y}=X,z=typeof $.value==="string"?$:Object.assign({},$,{value:String($.value)}),{type:G}=$;if(G!==v$.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(z.value))G=v$.Scalar.QUOTE_DOUBLE}let W=(U)=>{switch(U){case v$.Scalar.BLOCK_FOLDED:case v$.Scalar.BLOCK_LITERAL:return q||Y?D8(z.value,X):o2(z,X,J,Q);case v$.Scalar.QUOTE_DOUBLE:return _6(z.value,X);case v$.Scalar.QUOTE_SINGLE:return uX(z.value,X);case v$.Scalar.PLAIN:return fG(z,X,J,Q);default:return null}},H=W(G);if(H===null){let{defaultKeyType:U,defaultStringType:V}=X.options,B=q&&U||V;if(H=W(B),H===null)throw Error(`Unsupported default string type ${B}`)}return H}xG.stringifyString=kG});var I6=A((dG)=>{var gG=n2(),L0=i(),vG=A6(),hG=F6();function uG($,X){let J=Object.assign({blockQuote:!0,commentString:vG.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},$.schema.toStringOptions,X),Q;switch(J.collectionStyle){case"block":Q=!1;break;case"flow":Q=!0;break;default:Q=null}return{anchors:new Set,doc:$,flowCollectionPadding:J.flowCollectionPadding?" ":"",indent:"",indentStep:typeof J.indent==="number"?" ".repeat(J.indent):" ",inFlow:Q,options:J}}function mG($,X){if(X.tag){let q=$.filter((Y)=>Y.tag===X.tag);if(q.length>0)return q.find((Y)=>Y.format===X.format)??q[0]}let J=void 0,Q;if(L0.isScalar(X)){Q=X.value;let q=$.filter((Y)=>Y.identify?.(Q));if(q.length>1){let Y=q.filter((z)=>z.test);if(Y.length>0)q=Y}J=q.find((Y)=>Y.format===X.format)??q.find((Y)=>!Y.format)}else Q=X,J=$.find((q)=>q.nodeClass&&Q instanceof q.nodeClass);if(!J){let q=Q?.constructor?.name??(Q===null?"null":typeof Q);throw Error(`Tag not resolved for ${q} value`)}return J}function lG($,X,{anchors:J,doc:Q}){if(!Q.directives)return"";let q=[],Y=(L0.isScalar($)||L0.isCollection($))&&$.anchor;if(Y&&gG.anchorIsValid(Y))J.add(Y),q.push(`&${Y}`);let z=$.tag??(X.default?null:X.tag);if(z)q.push(Q.directives.tagString(z));return q.join(" ")}function cG($,X,J,Q){if(L0.isPair($))return $.toString(X,J,Q);if(L0.isAlias($)){if(X.doc.directives)return $.toString(X);if(X.resolvedAliases?.has($))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add($);else X.resolvedAliases=new Set([$]);$=$.resolve(X.doc)}}let q=void 0,Y=L0.isNode($)?$:X.doc.createNode($,{onTagObj:(W)=>q=W});q??(q=mG(X.doc.schema.tags,Y));let z=lG(Y,q,X);if(z.length>0)X.indentAtStart=(X.indentAtStart??0)+z.length+1;let G=typeof q.stringify==="function"?q.stringify(Y,X,J,Q):L0.isScalar(Y)?hG.stringifyString(Y,X,J,Q):Y.toString(X,J,Q);if(!z)return G;return L0.isScalar(Y)||G[0]==="{"||G[0]==="["?`${z} ${G}`:`${z}
|
|
60
|
+
${X.indent}${G}`}dG.createStringifyContext=uG;dG.stringify=cG});var wJ=A((rG)=>{var z0=i(),MJ=M$(),NJ=I6(),E6=A6();function nG({key:$,value:X},J,Q,q){let{allNullValues:Y,doc:z,indent:G,indentStep:W,options:{commentString:H,indentSeq:U,simpleKeys:V}}=J,B=z0.isNode($)&&$.comment||null;if(V){if(B)throw Error("With simple keys, key nodes cannot have comments");if(z0.isCollection($)||!z0.isNode($)&&typeof $==="object")throw Error("With simple keys, collection cannot be used as a key value")}let N=!V&&(!$||B&&X==null&&!J.inFlow||z0.isCollection($)||(z0.isScalar($)?$.type===MJ.Scalar.BLOCK_FOLDED||$.type===MJ.Scalar.BLOCK_LITERAL:typeof $==="object"));J=Object.assign({},J,{allNullValues:!1,implicitKey:!N&&(V||!Y),indent:G+W});let R=!1,M=!1,D=NJ.stringify($,J,()=>R=!0,()=>M=!0);if(!N&&!J.inFlow&&D.length>1024){if(V)throw Error("With simple keys, single line scalar must not span more than 1024 characters");N=!0}if(J.inFlow){if(Y||X==null){if(R&&Q)Q();return D===""?"?":N?`? ${D}`:D}}else if(Y&&!V||X==null&&N){if(D=`? ${D}`,B&&!R)D+=E6.lineComment(D,J.indent,H(B));else if(M&&q)q();return D}if(R)B=null;if(N){if(B)D+=E6.lineComment(D,J.indent,H(B));D=`? ${D}
|
|
61
|
+
${G}:`}else if(D=`${D}:`,B)D+=E6.lineComment(D,J.indent,H(B));let F,T,P;if(z0.isNode(X))F=!!X.spaceBefore,T=X.commentBefore,P=X.comment;else if(F=!1,T=null,P=null,X&&typeof X==="object")X=z.createNode(X);if(J.implicitKey=!1,!N&&!B&&z0.isScalar(X))J.indentAtStart=D.length+1;if(M=!1,!U&&W.length>=2&&!J.inFlow&&!N&&z0.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)J.indent=J.indent.substring(2);let f=!1,g=NJ.stringify(X,J,()=>f=!0,()=>M=!0),x=" ";if(B||F||T){if(x=F?`
|
|
62
|
+
`:"",T){let a=H(T);x+=`
|
|
63
|
+
${E6.indentComment(a,J.indent)}`}if(g===""&&!J.inFlow){if(x===`
|
|
64
64
|
`&&P)x=`
|
|
65
65
|
|
|
66
66
|
`}else x+=`
|
|
67
|
-
${J.indent}`}else if(!N&&z0.isCollection(X)){let
|
|
68
|
-
`),G$=S!==-1,r$=J.inFlow??X.flow??X.items.length===0;if(G$||!r$){let
|
|
67
|
+
${J.indent}`}else if(!N&&z0.isCollection(X)){let a=g[0],S=g.indexOf(`
|
|
68
|
+
`),G$=S!==-1,r$=J.inFlow??X.flow??X.items.length===0;if(G$||!r$){let p=!1;if(G$&&(a==="&"||a==="!")){let V$=g.indexOf(" ");if(a==="&"&&V$!==-1&&V$<S&&g[V$+1]==="!")V$=g.indexOf(" ",V$+1);if(V$===-1||S<V$)p=!0}if(!p)x=`
|
|
69
69
|
${J.indent}`}}else if(g===""||g[0]===`
|
|
70
|
-
`)x="";if(D+=x+g,J.inFlow){if(f&&Q)Q()}else if(P&&!f)D+=E6.lineComment(D,J.indent,H(P));else if(M&&q)q();return D}rG.stringifyPair=nG});var
|
|
70
|
+
`)x="";if(D+=x+g,J.inFlow){if(f&&Q)Q()}else if(P&&!f)D+=E6.lineComment(D,J.indent,H(P));else if(M&&q)q();return D}rG.stringifyPair=nG});var lX=A((tG)=>{var DJ=W$("process");function sG($,...X){if($==="debug")console.log(...X)}function oG($,X){if($==="debug"||$==="warn")if(typeof DJ.emitWarning==="function")DJ.emitWarning(X);else console.warn(X)}tG.debug=sG;tG.warn=oG});var J5=A((JW)=>{var S6=i(),OJ=M$(),$5="<<",X5={identify:($)=>$===$5||typeof $==="symbol"&&$.description===$5,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new OJ.Scalar(Symbol($5)),{addToJSMap:LJ}),stringify:()=>$5},XW=($,X)=>(X5.identify(X)||S6.isScalar(X)&&(!X.type||X.type===OJ.Scalar.PLAIN)&&X5.identify(X.value))&&$?.doc.schema.tags.some((J)=>J.tag===X5.tag&&J.default);function LJ($,X,J){if(J=$&&S6.isAlias(J)?J.resolve($.doc):J,S6.isSeq(J))for(let Q of J.items)cX($,X,Q);else if(Array.isArray(J))for(let Q of J)cX($,X,Q);else cX($,X,J)}function cX($,X,J){let Q=$&&S6.isAlias(J)?J.resolve($.doc):J;if(!S6.isMap(Q))throw Error("Merge sources must be maps or map aliases");let q=Q.toJSON(null,$,Map);for(let[Y,z]of q)if(X instanceof Map){if(!X.has(Y))X.set(Y,z)}else if(X instanceof Set)X.add(Y);else if(!Object.prototype.hasOwnProperty.call(X,Y))Object.defineProperty(X,Y,{value:z,writable:!0,enumerable:!0,configurable:!0});return X}JW.addMergeToJSMap=LJ;JW.isMergeKey=XW;JW.merge=X5});var pX=A((UW)=>{var zW=lX(),RJ=J5(),GW=I6(),AJ=i(),dX=D0();function WW($,X,{key:J,value:Q}){if(AJ.isNode(J)&&J.addToJSMap)J.addToJSMap($,X,Q);else if(RJ.isMergeKey($,J))RJ.addMergeToJSMap($,X,Q);else{let q=dX.toJS(J,"",$);if(X instanceof Map)X.set(q,dX.toJS(Q,q,$));else if(X instanceof Set)X.add(q);else{let Y=HW(J,q,$),z=dX.toJS(Q,Y,$);if(Y in X)Object.defineProperty(X,Y,{value:z,writable:!0,enumerable:!0,configurable:!0});else X[Y]=z}}return X}function HW($,X,J){if(X===null)return"";if(typeof X!=="object")return String(X);if(AJ.isNode($)&&J?.doc){let Q=GW.createStringifyContext(J.doc,{});Q.anchors=new Set;for(let Y of J.anchors.keys())Q.anchors.add(Y.anchor);Q.inFlow=!0,Q.inStringifyKey=!0;let q=$.toString(Q);if(!J.mapKeyWarned){let Y=JSON.stringify(q);if(Y.length>40)Y=Y.substring(0,36)+'..."';zW.warn(J.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${Y}. Set mapAsMap: true to use object keys.`),J.mapKeyWarned=!0}return q}return JSON.stringify(X)}UW.addPairToJSMap=WW});var R0=A((NW)=>{var _J=R6(),BW=wJ(),KW=pX(),Q5=i();function MW($,X,J){let Q=_J.createNode($,void 0,J),q=_J.createNode(X,void 0,J);return new q5(Q,q)}class q5{constructor($,X=null){Object.defineProperty(this,Q5.NODE_TYPE,{value:Q5.PAIR}),this.key=$,this.value=X}clone($){let{key:X,value:J}=this;if(Q5.isNode(X))X=X.clone($);if(Q5.isNode(J))J=J.clone($);return new q5(X,J)}toJSON($,X){let J=X?.mapAsMap?new Map:{};return KW.addPairToJSMap(X,J,this)}toString($,X,J){return $?.doc?BW.stringifyPair(this,$,X,J):JSON.stringify(this)}}NW.Pair=q5;NW.createPair=MW});var iX=A((AW)=>{var p0=i(),FJ=I6(),Y5=A6();function OW($,X,J){return(X.inFlow??$.flow?RW:LW)($,X,J)}function LW({comment:$,items:X},J,{blockItemPrefix:Q,flowChars:q,itemIndent:Y,onChompKeep:z,onComment:G}){let{indent:W,options:{commentString:H}}=J,U=Object.assign({},J,{indent:Y,type:null}),V=!1,B=[];for(let R=0;R<X.length;++R){let M=X[R],D=null;if(p0.isNode(M)){if(!V&&M.spaceBefore)B.push("");if(z5(J,B,M.commentBefore,V),M.comment)D=M.comment}else if(p0.isPair(M)){let T=p0.isNode(M.key)?M.key:null;if(T){if(!V&&T.spaceBefore)B.push("");z5(J,B,T.commentBefore,V)}}V=!1;let F=FJ.stringify(M,U,()=>D=null,()=>V=!0);if(D)F+=Y5.lineComment(F,Y,H(D));if(V&&D)V=!1;B.push(Q+F)}let N;if(B.length===0)N=q.start+q.end;else{N=B[0];for(let R=1;R<B.length;++R){let M=B[R];N+=M?`
|
|
71
71
|
${W}${M}`:`
|
|
72
72
|
`}}if($){if(N+=`
|
|
73
|
-
`+
|
|
74
|
-
`)),R<$.length-1)F+=",";else if(X.options.trailingComma){if(X.options.lineWidth>0)H||(H=
|
|
73
|
+
`+Y5.indentComment(H($),W),G)G()}else if(V&&z)z();return N}function RW({items:$},X,{flowChars:J,itemIndent:Q}){let{indent:q,indentStep:Y,flowCollectionPadding:z,options:{commentString:G}}=X;Q+=Y;let W=Object.assign({},X,{indent:Q,inFlow:!0,type:null}),H=!1,U=0,V=[];for(let R=0;R<$.length;++R){let M=$[R],D=null;if(p0.isNode(M)){if(M.spaceBefore)V.push("");if(z5(X,V,M.commentBefore,!1),M.comment)D=M.comment}else if(p0.isPair(M)){let T=p0.isNode(M.key)?M.key:null;if(T){if(T.spaceBefore)V.push("");if(z5(X,V,T.commentBefore,!1),T.comment)H=!0}let P=p0.isNode(M.value)?M.value:null;if(P){if(P.comment)D=P.comment;if(P.commentBefore)H=!0}else if(M.value==null&&T?.comment)D=T.comment}if(D)H=!0;let F=FJ.stringify(M,W,()=>D=null);if(H||(H=V.length>U||F.includes(`
|
|
74
|
+
`)),R<$.length-1)F+=",";else if(X.options.trailingComma){if(X.options.lineWidth>0)H||(H=V.reduce((T,P)=>T+P.length+2,2)+(F.length+2)>X.options.lineWidth);if(H)F+=","}if(D)F+=Y5.lineComment(F,Q,G(D));V.push(F),U=V.length}let{start:B,end:N}=J;if(V.length===0)return B+N;else{if(!H){let R=V.reduce((M,D)=>M+D.length+2,2);H=X.options.lineWidth>0&&R>X.options.lineWidth}if(H){let R=B;for(let M of V)R+=M?`
|
|
75
75
|
${Y}${q}${M}`:`
|
|
76
76
|
`;return`${R}
|
|
77
|
-
${q}${N}`}else return`${
|
|
78
|
-
`:" ")}return kH.stringifyString({comment:$,type:X,value:G},Q,q,Y)}};yH.binary=xH});var
|
|
77
|
+
${q}${N}`}else return`${B}${z}${V.join(" ")}${z}${N}`}}function z5({indent:$,options:{commentString:X}},J,Q,q){if(Q&&q)Q=Q.replace(/^\n+/,"");if(Q){let Y=Y5.indentComment(X(Q),$);J.push(Y.trimStart())}}AW.stringifyCollection=OW});var _0=A((jW)=>{var FW=iX(),IW=pX(),EW=s2(),A0=i(),G5=R0(),SW=M$();function j6($,X){let J=A0.isScalar(X)?X.value:X;for(let Q of $)if(A0.isPair(Q)){if(Q.key===X||Q.key===J)return Q;if(A0.isScalar(Q.key)&&Q.key.value===J)return Q}return}class IJ extends EW.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor($){super(A0.MAP,$);this.items=[]}static from($,X,J){let{keepUndefined:Q,replacer:q}=J,Y=new this($),z=(G,W)=>{if(typeof q==="function")W=q.call(X,G,W);else if(Array.isArray(q)&&!q.includes(G))return;if(W!==void 0||Q)Y.items.push(G5.createPair(G,W,J))};if(X instanceof Map)for(let[G,W]of X)z(G,W);else if(X&&typeof X==="object")for(let G of Object.keys(X))z(G,X[G]);if(typeof $.sortMapEntries==="function")Y.items.sort($.sortMapEntries);return Y}add($,X){let J;if(A0.isPair($))J=$;else if(!$||typeof $!=="object"||!("key"in $))J=new G5.Pair($,$?.value);else J=new G5.Pair($.key,$.value);let Q=j6(this.items,J.key),q=this.schema?.sortMapEntries;if(Q){if(!X)throw Error(`Key ${J.key} already set`);if(A0.isScalar(Q.value)&&SW.isScalarValue(J.value))Q.value.value=J.value;else Q.value=J.value}else if(q){let Y=this.items.findIndex((z)=>q(J,z)<0);if(Y===-1)this.items.push(J);else this.items.splice(Y,0,J)}else this.items.push(J)}delete($){let X=j6(this.items,$);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get($,X){let Q=j6(this.items,$)?.value;return(!X&&A0.isScalar(Q)?Q.value:Q)??void 0}has($){return!!j6(this.items,$)}set($,X){this.add(new G5.Pair($,X),!0)}toJSON($,X,J){let Q=J?new J:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(Q);for(let q of this.items)IW.addPairToJSMap(X,Q,q);return Q}toString($,X,J){if(!$)return JSON.stringify(this);for(let Q of this.items)if(!A0.isPair(Q))throw Error(`Map items must all be pairs; found ${JSON.stringify(Q)} instead`);if(!$.allNullValues&&this.hasAllNullValues(!1))$=Object.assign({},$,{allNullValues:!0});return FW.stringifyCollection(this,$,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:$.indent||"",onChompKeep:J,onComment:X})}}jW.YAMLMap=IJ;jW.findPair=j6});var O8=A((bW)=>{var CW=i(),EJ=_0(),PW={collection:"map",default:!0,nodeClass:EJ.YAMLMap,tag:"tag:yaml.org,2002:map",resolve($,X){if(!CW.isMap($))X("Expected a mapping for this tag");return $},createNode:($,X,J)=>EJ.YAMLMap.from($,X,J)};bW.map=PW});var F0=A((hW)=>{var kW=R6(),xW=iX(),yW=s2(),H5=i(),gW=M$(),vW=D0();class SJ extends yW.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor($){super(H5.SEQ,$);this.items=[]}add($){this.items.push($)}delete($){let X=W5($);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get($,X){let J=W5($);if(typeof J!=="number")return;let Q=this.items[J];return!X&&H5.isScalar(Q)?Q.value:Q}has($){let X=W5($);return typeof X==="number"&&X<this.items.length}set($,X){let J=W5($);if(typeof J!=="number")throw Error(`Expected a valid index, not ${$}.`);let Q=this.items[J];if(H5.isScalar(Q)&&gW.isScalarValue(X))Q.value=X;else this.items[J]=X}toJSON($,X){let J=[];if(X?.onCreate)X.onCreate(J);let Q=0;for(let q of this.items)J.push(vW.toJS(q,String(Q++),X));return J}toString($,X,J){if(!$)return JSON.stringify(this);return xW.stringifyCollection(this,$,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:($.indent||"")+" ",onChompKeep:J,onComment:X})}static from($,X,J){let{replacer:Q}=J,q=new this($);if(X&&Symbol.iterator in Object(X)){let Y=0;for(let z of X){if(typeof Q==="function"){let G=X instanceof Set?z:String(Y++);z=Q.call(X,G,z)}q.items.push(kW.createNode(z,void 0,J))}}return q}}function W5($){let X=H5.isScalar($)?$.value:$;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}hW.YAMLSeq=SJ});var L8=A((cW)=>{var mW=i(),jJ=F0(),lW={collection:"seq",default:!0,nodeClass:jJ.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve($,X){if(!mW.isSeq($))X("Expected a sequence for this tag");return $},createNode:($,X,J)=>jJ.YAMLSeq.from($,X,J)};cW.seq=lW});var T6=A((nW)=>{var pW=F6(),iW={identify:($)=>typeof $==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:($)=>$,stringify($,X,J,Q){return X=Object.assign({actualString:!0},X),pW.stringifyString($,X,J,Q)}};nW.string=iW});var U5=A((aW)=>{var TJ=M$(),ZJ={identify:($)=>$==null,createNode:()=>new TJ.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new TJ.Scalar(null),stringify:({source:$},X)=>typeof $==="string"&&ZJ.test.test($)?$:X.options.nullStr};aW.nullTag=ZJ});var nX=A((tW)=>{var oW=M$(),CJ={identify:($)=>typeof $==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:($)=>new oW.Scalar($[0]==="t"||$[0]==="T"),stringify({source:$,value:X},J){if($&&CJ.test.test($)){let Q=$[0]==="t"||$[0]==="T";if(X===Q)return $}return X?J.options.trueStr:J.options.falseStr}};tW.boolTag=CJ});var R8=A((XH)=>{function $H({format:$,minFractionDigits:X,tag:J,value:Q}){if(typeof Q==="bigint")return String(Q);let q=typeof Q==="number"?Q:Number(Q);if(!isFinite(q))return isNaN(q)?".nan":q<0?"-.inf":".inf";let Y=Object.is(Q,-0)?"-0":JSON.stringify(Q);if(!$&&X&&(!J||J==="tag:yaml.org,2002:float")&&/^\d/.test(Y)){let z=Y.indexOf(".");if(z<0)z=Y.length,Y+=".";let G=X-(Y.length-z-1);while(G-- >0)Y+="0"}return Y}XH.stringifyNumber=$H});var aX=A((GH)=>{var QH=M$(),rX=R8(),qH={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:rX.stringifyNumber},YH={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 X=Number($.value);return isFinite(X)?X.toExponential():rX.stringifyNumber($)}},zH={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve($){let X=new QH.Scalar(parseFloat($)),J=$.indexOf(".");if(J!==-1&&$[$.length-1]==="0")X.minFractionDigits=$.length-J-1;return X},stringify:rX.stringifyNumber};GH.float=zH;GH.floatExp=YH;GH.floatNaN=qH});var oX=A((MH)=>{var PJ=R8(),V5=($)=>typeof $==="bigint"||Number.isInteger($),sX=($,X,J,{intAsBigInt:Q})=>Q?BigInt($):parseInt($.substring(X),J);function bJ($,X,J){let{value:Q}=$;if(V5(Q)&&Q>=0)return J+Q.toString(X);return PJ.stringifyNumber($)}var VH={identify:($)=>V5($)&&$>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:($,X,J)=>sX($,2,8,J),stringify:($)=>bJ($,8,"0o")},BH={identify:V5,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:($,X,J)=>sX($,0,10,J),stringify:PJ.stringifyNumber},KH={identify:($)=>V5($)&&$>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:($,X,J)=>sX($,2,16,J),stringify:($)=>bJ($,16,"0x")};MH.int=BH;MH.intHex=KH;MH.intOct=VH});var fJ=A((IH)=>{var OH=O8(),LH=U5(),RH=L8(),AH=T6(),_H=nX(),tX=aX(),eX=oX(),FH=[OH.map,RH.seq,AH.string,LH.nullTag,_H.boolTag,eX.intOct,eX.int,eX.intHex,tX.floatNaN,tX.floatExp,tX.float];IH.schema=FH});var xJ=A((bH)=>{var SH=M$(),jH=O8(),TH=L8();function kJ($){return typeof $==="bigint"||Number.isInteger($)}var B5=({value:$})=>JSON.stringify($),ZH=[{identify:($)=>typeof $==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:($)=>$,stringify:B5},{identify:($)=>$==null,createNode:()=>new SH.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:B5},{identify:($)=>typeof $==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:($)=>$==="true",stringify:B5},{identify:kJ,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:($,X,{intAsBigInt:J})=>J?BigInt($):parseInt($,10),stringify:({value:$})=>kJ($)?$.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:B5}],CH={default:!0,tag:"",test:/^/,resolve($,X){return X(`Unresolved plain scalar ${JSON.stringify($)}`),$}},PH=[jH.map,TH.seq].concat(ZH,CH);bH.schema=PH});var X4=A((yH)=>{var Z6=W$("buffer"),$4=M$(),kH=F6(),xH={identify:($)=>$ instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve($,X){if(typeof Z6.Buffer==="function")return Z6.Buffer.from($,"base64");else if(typeof atob==="function"){let J=atob($.replace(/[\n\r]/g,"")),Q=new Uint8Array(J.length);for(let q=0;q<J.length;++q)Q[q]=J.charCodeAt(q);return Q}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),$},stringify({comment:$,type:X,value:J},Q,q,Y){if(!J)return"";let z=J,G;if(typeof Z6.Buffer==="function")G=z instanceof Z6.Buffer?z.toString("base64"):Z6.Buffer.from(z.buffer).toString("base64");else if(typeof btoa==="function"){let W="";for(let H=0;H<z.length;++H)W+=String.fromCharCode(z[H]);G=btoa(W)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=$4.Scalar.BLOCK_LITERAL),X!==$4.Scalar.QUOTE_DOUBLE){let W=Math.max(Q.options.lineWidth-Q.indent.length,Q.options.minContentWidth),H=Math.ceil(G.length/W),U=Array(H);for(let V=0,B=0;V<H;++V,B+=W)U[V]=G.substr(B,W);G=U.join(X===$4.Scalar.BLOCK_LITERAL?`
|
|
78
|
+
`:" ")}return kH.stringifyString({comment:$,type:X,value:G},Q,q,Y)}};yH.binary=xH});var M5=A((mH)=>{var K5=i(),J4=R0(),vH=M$(),hH=F0();function yJ($,X){if(K5.isSeq($))for(let J=0;J<$.items.length;++J){let Q=$.items[J];if(K5.isPair(Q))continue;else if(K5.isMap(Q)){if(Q.items.length>1)X("Each pair must have its own sequence indicator");let q=Q.items[0]||new J4.Pair(new vH.Scalar(null));if(Q.commentBefore)q.key.commentBefore=q.key.commentBefore?`${Q.commentBefore}
|
|
79
79
|
${q.key.commentBefore}`:Q.commentBefore;if(Q.comment){let Y=q.value??q.key;Y.comment=Y.comment?`${Q.comment}
|
|
80
|
-
${Y.comment}`:Q.comment}Q=q}$.items[J]=KX.isPair(Q)?Q:new J4.Pair(Q)}else X("Expected a sequence for this tag");return $}function gJ($,X,J){let{replacer:Q}=J,q=new hH.YAMLSeq($);q.tag="tag:yaml.org,2002:pairs";let Y=0;if(X&&Symbol.iterator in Object(X))for(let z of X){if(typeof Q==="function")z=Q.call(X,String(Y++),z);let G,W;if(Array.isArray(z))if(z.length===2)G=z[0],W=z[1];else throw TypeError(`Expected [key, value] tuple: ${z}`);else if(z&&z instanceof Object){let H=Object.keys(z);if(H.length===1)G=H[0],W=z[G];else throw TypeError(`Expected tuple with one key, not ${H.length} keys`)}else G=z;q.items.push(J4.createPair(G,W,J))}return q}var uH={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:yJ,createNode:gJ};mH.createPairs=gJ;mH.pairs=uH;mH.resolvePairs=yJ});var q4=A((nH)=>{var vJ=p(),Q4=D0(),C6=_0(),pH=F0(),hJ=MX();class i0 extends pH.YAMLSeq{constructor(){super();this.add=C6.YAMLMap.prototype.add.bind(this),this.delete=C6.YAMLMap.prototype.delete.bind(this),this.get=C6.YAMLMap.prototype.get.bind(this),this.has=C6.YAMLMap.prototype.has.bind(this),this.set=C6.YAMLMap.prototype.set.bind(this),this.tag=i0.tag}toJSON($,X){if(!X)return super.toJSON($);let J=new Map;if(X?.onCreate)X.onCreate(J);for(let Q of this.items){let q,Y;if(vJ.isPair(Q))q=Q4.toJS(Q.key,"",X),Y=Q4.toJS(Q.value,q,X);else q=Q4.toJS(Q,"",X);if(J.has(q))throw Error("Ordered maps must not include duplicate keys");J.set(q,Y)}return J}static from($,X,J){let Q=hJ.createPairs($,X,J),q=new this;return q.items=Q.items,q}}i0.tag="tag:yaml.org,2002:omap";var iH={collection:"seq",identify:($)=>$ instanceof Map,nodeClass:i0,default:!1,tag:"tag:yaml.org,2002:omap",resolve($,X){let J=hJ.resolvePairs($,X),Q=[];for(let{key:q}of J.items)if(vJ.isScalar(q))if(Q.includes(q.value))X(`Ordered maps must not include duplicate keys: ${q.value}`);else Q.push(q.value);return Object.assign(new i0,J)},createNode:($,X,J)=>i0.from($,X,J)};nH.YAMLOMap=i0;nH.omap=iH});var dJ=A((aH)=>{var uJ=M$();function mJ({value:$,source:X},J){if(X&&($?lJ:cJ).test.test(X))return X;return $?J.options.trueStr:J.options.falseStr}var lJ={identify:($)=>$===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new uJ.Scalar(!0),stringify:mJ},cJ={identify:($)=>$===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new uJ.Scalar(!1),stringify:mJ};aH.falseTag=cJ;aH.trueTag=lJ});var pJ=A((QU)=>{var eH=M$(),Y4=R8(),$U={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:Y4.stringifyNumber},XU={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 X=Number($.value);return isFinite(X)?X.toExponential():Y4.stringifyNumber($)}},JU={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve($){let X=new eH.Scalar(parseFloat($.replace(/_/g,""))),J=$.indexOf(".");if(J!==-1){let Q=$.substring(J+1).replace(/_/g,"");if(Q[Q.length-1]==="0")X.minFractionDigits=Q.length}return X},stringify:Y4.stringifyNumber};QU.float=JU;QU.floatExp=XU;QU.floatNaN=$U});var nJ=A((VU)=>{var iJ=R8(),P6=($)=>typeof $==="bigint"||Number.isInteger($);function NX($,X,J,{intAsBigInt:Q}){let q=$[0];if(q==="-"||q==="+")X+=1;if($=$.substring(X).replace(/_/g,""),Q){switch(J){case 2:$=`0b${$}`;break;case 8:$=`0o${$}`;break;case 16:$=`0x${$}`;break}let z=BigInt($);return q==="-"?BigInt(-1)*z:z}let Y=parseInt($,J);return q==="-"?-1*Y:Y}function z4($,X,J){let{value:Q}=$;if(P6(Q)){let q=Q.toString(X);return Q<0?"-"+J+q.substr(1):J+q}return iJ.stringifyNumber($)}var GU={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:($,X,J)=>NX($,2,2,J),stringify:($)=>z4($,2,"0b")},WU={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:($,X,J)=>NX($,1,8,J),stringify:($)=>z4($,8,"0")},HU={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:($,X,J)=>NX($,0,10,J),stringify:iJ.stringifyNumber},UU={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:($,X,J)=>NX($,2,16,J),stringify:($)=>z4($,16,"0x")};VU.int=HU;VU.intBin=GU;VU.intHex=UU;VU.intOct=WU});var G4=A((DU)=>{var OX=p(),wX=R0(),DX=_0();class n0 extends DX.YAMLMap{constructor($){super($);this.tag=n0.tag}add($){let X;if(OX.isPair($))X=$;else if($&&typeof $==="object"&&"key"in $&&"value"in $&&$.value===null)X=new wX.Pair($.key,null);else X=new wX.Pair($,null);if(!DX.findPair(this.items,X.key))this.items.push(X)}get($,X){let J=DX.findPair(this.items,$);return!X&&OX.isPair(J)?OX.isScalar(J.key)?J.key.value:J.key:J}set($,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let J=DX.findPair(this.items,$);if(J&&!X)this.items.splice(this.items.indexOf(J),1);else if(!J&&X)this.items.push(new wX.Pair($))}toJSON($,X){return super.toJSON($,X,Set)}toString($,X,J){if(!$)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},$,{allNullValues:!0}),X,J);else throw Error("Set items must all have null values")}static from($,X,J){let{replacer:Q}=J,q=new this($);if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof Q==="function")Y=Q.call(X,Y,Y);q.items.push(wX.createPair(Y,null,J))}return q}}n0.tag="tag:yaml.org,2002:set";var wU={collection:"map",identify:($)=>$ instanceof Set,nodeClass:n0,default:!1,tag:"tag:yaml.org,2002:set",createNode:($,X,J)=>n0.from($,X,J),resolve($,X){if(OX.isMap($))if($.hasAllNullValues(!0))return Object.assign(new n0,$);else X("Set items must all have null values");else X("Expected a mapping for this tag");return $}};DU.YAMLSet=n0;DU.set=wU});var H4=A((FU)=>{var RU=R8();function W4($,X){let J=$[0],Q=J==="-"||J==="+"?$.substring(1):$,q=(z)=>X?BigInt(z):Number(z),Y=Q.replace(/_/g,"").split(":").reduce((z,G)=>z*q(60)+q(G),q(0));return J==="-"?q(-1)*Y:Y}function rJ($){let{value:X}=$,J=(z)=>z;if(typeof X==="bigint")J=(z)=>BigInt(z);else if(isNaN(X)||!isFinite(X))return RU.stringifyNumber($);let Q="";if(X<0)Q="-",X*=J(-1);let q=J(60),Y=[X%q];if(X<60)Y.unshift(0);else if(X=(X-Y[0])/q,Y.unshift(X%q),X>=60)X=(X-Y[0])/q,Y.unshift(X);return Q+Y.map((z)=>String(z).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var AU={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:($,X,{intAsBigInt:J})=>W4($,J),stringify:rJ},_U={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:($)=>W4($,!1),stringify:rJ},sJ={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 X=$.match(sJ.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,J,Q,q,Y,z,G]=X.map(Number),W=X[7]?Number((X[7]+"00").substr(1,3)):0,H=Date.UTC(J,Q-1,q,Y||0,z||0,G||0,W),U=X[8];if(U&&U!=="Z"){let B=W4(U,!1);if(Math.abs(B)<30)B*=60;H-=60000*B}return new Date(H)},stringify:({value:$})=>$?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};FU.floatTime=_U;FU.intTime=AU;FU.timestamp=sJ});var oJ=A((gU)=>{var jU=O8(),TU=UX(),ZU=L8(),CU=T6(),PU=X4(),aJ=dJ(),U4=pJ(),LX=nJ(),bU=JX(),fU=q4(),kU=MX(),xU=G4(),V4=H4(),yU=[jU.map,ZU.seq,CU.string,TU.nullTag,aJ.trueTag,aJ.falseTag,LX.intBin,LX.intOct,LX.int,LX.intHex,U4.floatNaN,U4.floatExp,U4.float,PU.binary,bU.merge,fU.omap,kU.pairs,xU.set,V4.intTime,V4.floatTime,V4.timestamp];gU.schema=yU});var G1=A((iU)=>{var X1=O8(),hU=UX(),J1=L8(),uU=T6(),mU=n5(),B4=s5(),K4=o5(),lU=fJ(),cU=xJ(),Q1=X4(),b6=JX(),q1=q4(),Y1=MX(),tJ=oJ(),z1=G4(),RX=H4(),eJ=new Map([["core",lU.schema],["failsafe",[X1.map,J1.seq,uU.string]],["json",cU.schema],["yaml11",tJ.schema],["yaml-1.1",tJ.schema]]),$1={binary:Q1.binary,bool:mU.boolTag,float:B4.float,floatExp:B4.floatExp,floatNaN:B4.floatNaN,floatTime:RX.floatTime,int:K4.int,intHex:K4.intHex,intOct:K4.intOct,intTime:RX.intTime,map:X1.map,merge:b6.merge,null:hU.nullTag,omap:q1.omap,pairs:Y1.pairs,seq:J1.seq,set:z1.set,timestamp:RX.timestamp},dU={"tag:yaml.org,2002:binary":Q1.binary,"tag:yaml.org,2002:merge":b6.merge,"tag:yaml.org,2002:omap":q1.omap,"tag:yaml.org,2002:pairs":Y1.pairs,"tag:yaml.org,2002:set":z1.set,"tag:yaml.org,2002:timestamp":RX.timestamp};function pU($,X,J){let Q=eJ.get(X);if(Q&&!$)return J&&!Q.includes(b6.merge)?Q.concat(b6.merge):Q.slice();let q=Q;if(!q)if(Array.isArray($))q=[];else{let Y=Array.from(eJ.keys()).filter((z)=>z!=="yaml11").map((z)=>JSON.stringify(z)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${Y} or define customTags array`)}if(Array.isArray($))for(let Y of $)q=q.concat(Y);else if(typeof $==="function")q=$(q.slice());if(J)q=q.concat(b6.merge);return q.reduce((Y,z)=>{let G=typeof z==="string"?$1[z]:z;if(!G){let W=JSON.stringify(z),H=Object.keys($1).map((U)=>JSON.stringify(U)).join(", ");throw Error(`Unknown custom tag ${W}; use one of ${H}`)}if(!Y.includes(G))Y.push(G);return Y},[])}iU.coreKnownTags=dU;iU.getTags=pU});var w4=A((eU)=>{var M4=p(),sU=O8(),aU=L8(),oU=T6(),AX=G1(),tU=($,X)=>$.key<X.key?-1:$.key>X.key?1:0;class N4{constructor({compat:$,customTags:X,merge:J,resolveKnownTags:Q,schema:q,sortMapEntries:Y,toStringDefaults:z}){this.compat=Array.isArray($)?AX.getTags($,"compat"):$?AX.getTags(null,$):null,this.name=typeof q==="string"&&q||"core",this.knownTags=Q?AX.coreKnownTags:{},this.tags=AX.getTags(X,this.name,J),this.toStringOptions=z??null,Object.defineProperty(this,M4.MAP,{value:sU.map}),Object.defineProperty(this,M4.SCALAR,{value:oU.string}),Object.defineProperty(this,M4.SEQ,{value:aU.seq}),this.sortMapEntries=typeof Y==="function"?Y:Y===!0?tU:null}clone(){let $=Object.create(N4.prototype,Object.getOwnPropertyDescriptors(this));return $.tags=this.tags.slice(),$}}eU.Schema=N4});var W1=A((QV)=>{var XV=p(),D4=I6(),f6=A6();function JV($,X){let J=[],Q=X.directives===!0;if(X.directives!==!1&&$.directives){let W=$.directives.toString($);if(W)J.push(W),Q=!0;else if($.directives.docStart)Q=!0}if(Q)J.push("---");let q=D4.createStringifyContext($,X),{commentString:Y}=q.options;if($.commentBefore){if(J.length!==1)J.unshift("");let W=Y($.commentBefore);J.unshift(f6.indentComment(W,""))}let z=!1,G=null;if($.contents){if(XV.isNode($.contents)){if($.contents.spaceBefore&&Q)J.push("");if($.contents.commentBefore){let U=Y($.contents.commentBefore);J.push(f6.indentComment(U,""))}q.forceBlockIndent=!!$.comment,G=$.contents.comment}let W=G?void 0:()=>z=!0,H=D4.stringify($.contents,q,()=>G=null,W);if(G)H+=f6.lineComment(H,"",Y(G));if((H[0]==="|"||H[0]===">")&&J[J.length-1]==="---")J[J.length-1]=`--- ${H}`;else J.push(H)}else J.push(D4.stringify($.contents,q));if($.directives?.docEnd)if($.comment){let W=Y($.comment);if(W.includes(`
|
|
80
|
+
${Y.comment}`:Q.comment}Q=q}$.items[J]=K5.isPair(Q)?Q:new J4.Pair(Q)}else X("Expected a sequence for this tag");return $}function gJ($,X,J){let{replacer:Q}=J,q=new hH.YAMLSeq($);q.tag="tag:yaml.org,2002:pairs";let Y=0;if(X&&Symbol.iterator in Object(X))for(let z of X){if(typeof Q==="function")z=Q.call(X,String(Y++),z);let G,W;if(Array.isArray(z))if(z.length===2)G=z[0],W=z[1];else throw TypeError(`Expected [key, value] tuple: ${z}`);else if(z&&z instanceof Object){let H=Object.keys(z);if(H.length===1)G=H[0],W=z[G];else throw TypeError(`Expected tuple with one key, not ${H.length} keys`)}else G=z;q.items.push(J4.createPair(G,W,J))}return q}var uH={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:yJ,createNode:gJ};mH.createPairs=gJ;mH.pairs=uH;mH.resolvePairs=yJ});var q4=A((nH)=>{var vJ=i(),Q4=D0(),C6=_0(),pH=F0(),hJ=M5();class i0 extends pH.YAMLSeq{constructor(){super();this.add=C6.YAMLMap.prototype.add.bind(this),this.delete=C6.YAMLMap.prototype.delete.bind(this),this.get=C6.YAMLMap.prototype.get.bind(this),this.has=C6.YAMLMap.prototype.has.bind(this),this.set=C6.YAMLMap.prototype.set.bind(this),this.tag=i0.tag}toJSON($,X){if(!X)return super.toJSON($);let J=new Map;if(X?.onCreate)X.onCreate(J);for(let Q of this.items){let q,Y;if(vJ.isPair(Q))q=Q4.toJS(Q.key,"",X),Y=Q4.toJS(Q.value,q,X);else q=Q4.toJS(Q,"",X);if(J.has(q))throw Error("Ordered maps must not include duplicate keys");J.set(q,Y)}return J}static from($,X,J){let Q=hJ.createPairs($,X,J),q=new this;return q.items=Q.items,q}}i0.tag="tag:yaml.org,2002:omap";var iH={collection:"seq",identify:($)=>$ instanceof Map,nodeClass:i0,default:!1,tag:"tag:yaml.org,2002:omap",resolve($,X){let J=hJ.resolvePairs($,X),Q=[];for(let{key:q}of J.items)if(vJ.isScalar(q))if(Q.includes(q.value))X(`Ordered maps must not include duplicate keys: ${q.value}`);else Q.push(q.value);return Object.assign(new i0,J)},createNode:($,X,J)=>i0.from($,X,J)};nH.YAMLOMap=i0;nH.omap=iH});var dJ=A((sH)=>{var uJ=M$();function mJ({value:$,source:X},J){if(X&&($?lJ:cJ).test.test(X))return X;return $?J.options.trueStr:J.options.falseStr}var lJ={identify:($)=>$===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new uJ.Scalar(!0),stringify:mJ},cJ={identify:($)=>$===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new uJ.Scalar(!1),stringify:mJ};sH.falseTag=cJ;sH.trueTag=lJ});var pJ=A((QU)=>{var eH=M$(),Y4=R8(),$U={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:Y4.stringifyNumber},XU={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 X=Number($.value);return isFinite(X)?X.toExponential():Y4.stringifyNumber($)}},JU={identify:($)=>typeof $==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve($){let X=new eH.Scalar(parseFloat($.replace(/_/g,""))),J=$.indexOf(".");if(J!==-1){let Q=$.substring(J+1).replace(/_/g,"");if(Q[Q.length-1]==="0")X.minFractionDigits=Q.length}return X},stringify:Y4.stringifyNumber};QU.float=JU;QU.floatExp=XU;QU.floatNaN=$U});var nJ=A((VU)=>{var iJ=R8(),P6=($)=>typeof $==="bigint"||Number.isInteger($);function N5($,X,J,{intAsBigInt:Q}){let q=$[0];if(q==="-"||q==="+")X+=1;if($=$.substring(X).replace(/_/g,""),Q){switch(J){case 2:$=`0b${$}`;break;case 8:$=`0o${$}`;break;case 16:$=`0x${$}`;break}let z=BigInt($);return q==="-"?BigInt(-1)*z:z}let Y=parseInt($,J);return q==="-"?-1*Y:Y}function z4($,X,J){let{value:Q}=$;if(P6(Q)){let q=Q.toString(X);return Q<0?"-"+J+q.substr(1):J+q}return iJ.stringifyNumber($)}var GU={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:($,X,J)=>N5($,2,2,J),stringify:($)=>z4($,2,"0b")},WU={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:($,X,J)=>N5($,1,8,J),stringify:($)=>z4($,8,"0")},HU={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:($,X,J)=>N5($,0,10,J),stringify:iJ.stringifyNumber},UU={identify:P6,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:($,X,J)=>N5($,2,16,J),stringify:($)=>z4($,16,"0x")};VU.int=HU;VU.intBin=GU;VU.intHex=UU;VU.intOct=WU});var G4=A((DU)=>{var O5=i(),w5=R0(),D5=_0();class n0 extends D5.YAMLMap{constructor($){super($);this.tag=n0.tag}add($){let X;if(O5.isPair($))X=$;else if($&&typeof $==="object"&&"key"in $&&"value"in $&&$.value===null)X=new w5.Pair($.key,null);else X=new w5.Pair($,null);if(!D5.findPair(this.items,X.key))this.items.push(X)}get($,X){let J=D5.findPair(this.items,$);return!X&&O5.isPair(J)?O5.isScalar(J.key)?J.key.value:J.key:J}set($,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let J=D5.findPair(this.items,$);if(J&&!X)this.items.splice(this.items.indexOf(J),1);else if(!J&&X)this.items.push(new w5.Pair($))}toJSON($,X){return super.toJSON($,X,Set)}toString($,X,J){if(!$)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},$,{allNullValues:!0}),X,J);else throw Error("Set items must all have null values")}static from($,X,J){let{replacer:Q}=J,q=new this($);if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof Q==="function")Y=Q.call(X,Y,Y);q.items.push(w5.createPair(Y,null,J))}return q}}n0.tag="tag:yaml.org,2002:set";var wU={collection:"map",identify:($)=>$ instanceof Set,nodeClass:n0,default:!1,tag:"tag:yaml.org,2002:set",createNode:($,X,J)=>n0.from($,X,J),resolve($,X){if(O5.isMap($))if($.hasAllNullValues(!0))return Object.assign(new n0,$);else X("Set items must all have null values");else X("Expected a mapping for this tag");return $}};DU.YAMLSet=n0;DU.set=wU});var H4=A((FU)=>{var RU=R8();function W4($,X){let J=$[0],Q=J==="-"||J==="+"?$.substring(1):$,q=(z)=>X?BigInt(z):Number(z),Y=Q.replace(/_/g,"").split(":").reduce((z,G)=>z*q(60)+q(G),q(0));return J==="-"?q(-1)*Y:Y}function rJ($){let{value:X}=$,J=(z)=>z;if(typeof X==="bigint")J=(z)=>BigInt(z);else if(isNaN(X)||!isFinite(X))return RU.stringifyNumber($);let Q="";if(X<0)Q="-",X*=J(-1);let q=J(60),Y=[X%q];if(X<60)Y.unshift(0);else if(X=(X-Y[0])/q,Y.unshift(X%q),X>=60)X=(X-Y[0])/q,Y.unshift(X);return Q+Y.map((z)=>String(z).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var AU={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:($,X,{intAsBigInt:J})=>W4($,J),stringify:rJ},_U={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:($)=>W4($,!1),stringify:rJ},aJ={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 X=$.match(aJ.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,J,Q,q,Y,z,G]=X.map(Number),W=X[7]?Number((X[7]+"00").substr(1,3)):0,H=Date.UTC(J,Q-1,q,Y||0,z||0,G||0,W),U=X[8];if(U&&U!=="Z"){let V=W4(U,!1);if(Math.abs(V)<30)V*=60;H-=60000*V}return new Date(H)},stringify:({value:$})=>$?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};FU.floatTime=_U;FU.intTime=AU;FU.timestamp=aJ});var oJ=A((gU)=>{var jU=O8(),TU=U5(),ZU=L8(),CU=T6(),PU=X4(),sJ=dJ(),U4=pJ(),L5=nJ(),bU=J5(),fU=q4(),kU=M5(),xU=G4(),V4=H4(),yU=[jU.map,ZU.seq,CU.string,TU.nullTag,sJ.trueTag,sJ.falseTag,L5.intBin,L5.intOct,L5.int,L5.intHex,U4.floatNaN,U4.floatExp,U4.float,PU.binary,bU.merge,fU.omap,kU.pairs,xU.set,V4.intTime,V4.floatTime,V4.timestamp];gU.schema=yU});var G1=A((iU)=>{var X1=O8(),hU=U5(),J1=L8(),uU=T6(),mU=nX(),B4=aX(),K4=oX(),lU=fJ(),cU=xJ(),Q1=X4(),b6=J5(),q1=q4(),Y1=M5(),tJ=oJ(),z1=G4(),R5=H4(),eJ=new Map([["core",lU.schema],["failsafe",[X1.map,J1.seq,uU.string]],["json",cU.schema],["yaml11",tJ.schema],["yaml-1.1",tJ.schema]]),$1={binary:Q1.binary,bool:mU.boolTag,float:B4.float,floatExp:B4.floatExp,floatNaN:B4.floatNaN,floatTime:R5.floatTime,int:K4.int,intHex:K4.intHex,intOct:K4.intOct,intTime:R5.intTime,map:X1.map,merge:b6.merge,null:hU.nullTag,omap:q1.omap,pairs:Y1.pairs,seq:J1.seq,set:z1.set,timestamp:R5.timestamp},dU={"tag:yaml.org,2002:binary":Q1.binary,"tag:yaml.org,2002:merge":b6.merge,"tag:yaml.org,2002:omap":q1.omap,"tag:yaml.org,2002:pairs":Y1.pairs,"tag:yaml.org,2002:set":z1.set,"tag:yaml.org,2002:timestamp":R5.timestamp};function pU($,X,J){let Q=eJ.get(X);if(Q&&!$)return J&&!Q.includes(b6.merge)?Q.concat(b6.merge):Q.slice();let q=Q;if(!q)if(Array.isArray($))q=[];else{let Y=Array.from(eJ.keys()).filter((z)=>z!=="yaml11").map((z)=>JSON.stringify(z)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${Y} or define customTags array`)}if(Array.isArray($))for(let Y of $)q=q.concat(Y);else if(typeof $==="function")q=$(q.slice());if(J)q=q.concat(b6.merge);return q.reduce((Y,z)=>{let G=typeof z==="string"?$1[z]:z;if(!G){let W=JSON.stringify(z),H=Object.keys($1).map((U)=>JSON.stringify(U)).join(", ");throw Error(`Unknown custom tag ${W}; use one of ${H}`)}if(!Y.includes(G))Y.push(G);return Y},[])}iU.coreKnownTags=dU;iU.getTags=pU});var w4=A((eU)=>{var M4=i(),aU=O8(),sU=L8(),oU=T6(),A5=G1(),tU=($,X)=>$.key<X.key?-1:$.key>X.key?1:0;class N4{constructor({compat:$,customTags:X,merge:J,resolveKnownTags:Q,schema:q,sortMapEntries:Y,toStringDefaults:z}){this.compat=Array.isArray($)?A5.getTags($,"compat"):$?A5.getTags(null,$):null,this.name=typeof q==="string"&&q||"core",this.knownTags=Q?A5.coreKnownTags:{},this.tags=A5.getTags(X,this.name,J),this.toStringOptions=z??null,Object.defineProperty(this,M4.MAP,{value:aU.map}),Object.defineProperty(this,M4.SCALAR,{value:oU.string}),Object.defineProperty(this,M4.SEQ,{value:sU.seq}),this.sortMapEntries=typeof Y==="function"?Y:Y===!0?tU:null}clone(){let $=Object.create(N4.prototype,Object.getOwnPropertyDescriptors(this));return $.tags=this.tags.slice(),$}}eU.Schema=N4});var W1=A((QV)=>{var XV=i(),D4=I6(),f6=A6();function JV($,X){let J=[],Q=X.directives===!0;if(X.directives!==!1&&$.directives){let W=$.directives.toString($);if(W)J.push(W),Q=!0;else if($.directives.docStart)Q=!0}if(Q)J.push("---");let q=D4.createStringifyContext($,X),{commentString:Y}=q.options;if($.commentBefore){if(J.length!==1)J.unshift("");let W=Y($.commentBefore);J.unshift(f6.indentComment(W,""))}let z=!1,G=null;if($.contents){if(XV.isNode($.contents)){if($.contents.spaceBefore&&Q)J.push("");if($.contents.commentBefore){let U=Y($.contents.commentBefore);J.push(f6.indentComment(U,""))}q.forceBlockIndent=!!$.comment,G=$.contents.comment}let W=G?void 0:()=>z=!0,H=D4.stringify($.contents,q,()=>G=null,W);if(G)H+=f6.lineComment(H,"",Y(G));if((H[0]==="|"||H[0]===">")&&J[J.length-1]==="---")J[J.length-1]=`--- ${H}`;else J.push(H)}else J.push(D4.stringify($.contents,q));if($.directives?.docEnd)if($.comment){let W=Y($.comment);if(W.includes(`
|
|
81
81
|
`))J.push("..."),J.push(f6.indentComment(W,""));else J.push(`... ${W}`)}else J.push("...");else{let W=$.comment;if(W&&z)W=W.replace(/^\n+/,"");if(W){if((!z||G)&&J[J.length-1]!=="")J.push("");J.push(f6.indentComment(Y(W),""))}}return J.join(`
|
|
82
82
|
`)+`
|
|
83
|
-
`}QV.stringifyDocument=JV});var k6=A((BV)=>{var YV=L6(),A8=
|
|
83
|
+
`}QV.stringifyDocument=JV});var k6=A((BV)=>{var YV=L6(),A8=s2(),x$=i(),zV=R0(),GV=D0(),WV=w4(),HV=W1(),O4=n2(),UV=gX(),VV=R6(),L4=yX();class R4{constructor($,X,J){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,x$.NODE_TYPE,{value:x$.DOC});let Q=null;if(typeof X==="function"||Array.isArray(X))Q=X;else if(J===void 0&&X)J=X,X=void 0;let q=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},J);this.options=q;let{version:Y}=q;if(J?._directives){if(this.directives=J._directives.atDocument(),this.directives.yaml.explicit)Y=this.directives.yaml.version}else this.directives=new L4.Directives({version:Y});this.setSchema(Y,J),this.contents=$===void 0?null:this.createNode($,Q,J)}clone(){let $=Object.create(R4.prototype,{[x$.NODE_TYPE]:{value:x$.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=x$.isNode(this.contents)?this.contents.clone($.schema):this.contents,this.range)$.range=this.range.slice();return $}add($){if(_8(this.contents))this.contents.add($)}addIn($,X){if(_8(this.contents))this.contents.addIn($,X)}createAlias($,X){if(!$.anchor){let J=O4.anchorNames(this);$.anchor=!X||J.has(X)?O4.findNewAnchor(X||"a",J):X}return new YV.Alias($.anchor)}createNode($,X,J){let Q=void 0;if(typeof X==="function")$=X.call({"":$},"",$),Q=X;else if(Array.isArray(X)){let M=(F)=>typeof F==="number"||F instanceof String||F instanceof Number,D=X.filter(M).map(String);if(D.length>0)X=X.concat(D);Q=X}else if(J===void 0&&X)J=X,X=void 0;let{aliasDuplicateObjects:q,anchorPrefix:Y,flow:z,keepUndefined:G,onTagObj:W,tag:H}=J??{},{onAnchor:U,setAnchors:V,sourceObjects:B}=O4.createNodeAnchors(this,Y||"a"),N={aliasDuplicateObjects:q??!0,keepUndefined:G??!1,onAnchor:U,onTagObj:W,replacer:Q,schema:this.schema,sourceObjects:B},R=VV.createNode($,H,N);if(z&&x$.isCollection(R))R.flow=!0;return V(),R}createPair($,X,J={}){let Q=this.createNode($,null,J),q=this.createNode(X,null,J);return new zV.Pair(Q,q)}delete($){return _8(this.contents)?this.contents.delete($):!1}deleteIn($){if(A8.isEmptyPath($)){if(this.contents==null)return!1;return this.contents=null,!0}return _8(this.contents)?this.contents.deleteIn($):!1}get($,X){return x$.isCollection(this.contents)?this.contents.get($,X):void 0}getIn($,X){if(A8.isEmptyPath($))return!X&&x$.isScalar(this.contents)?this.contents.value:this.contents;return x$.isCollection(this.contents)?this.contents.getIn($,X):void 0}has($){return x$.isCollection(this.contents)?this.contents.has($):!1}hasIn($){if(A8.isEmptyPath($))return this.contents!==void 0;return x$.isCollection(this.contents)?this.contents.hasIn($):!1}set($,X){if(this.contents==null)this.contents=A8.collectionFromPath(this.schema,[$],X);else if(_8(this.contents))this.contents.set($,X)}setIn($,X){if(A8.isEmptyPath($))this.contents=X;else if(this.contents==null)this.contents=A8.collectionFromPath(this.schema,Array.from($),X);else if(_8(this.contents))this.contents.setIn($,X)}setSchema($,X={}){if(typeof $==="number")$=String($);let J;switch($){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new L4.Directives({version:"1.1"});J={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=$;else this.directives=new L4.Directives({version:$});J={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;J=null;break;default:{let Q=JSON.stringify($);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${Q}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(J)this.schema=new WV.Schema(Object.assign(J,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:$,jsonArg:X,mapAsMap:J,maxAliasCount:Q,onAnchor:q,reviver:Y}={}){let z={anchors:new Map,doc:this,keep:!$,mapAsMap:J===!0,mapKeyWarned:!1,maxAliasCount:typeof Q==="number"?Q:100},G=GV.toJS(this.contents,X??"",z);if(typeof q==="function")for(let{count:W,res:H}of z.anchors.values())q(H,W);return typeof Y==="function"?UV.applyReviver(Y,{"":G},"",G):G}toJSON($,X){return this.toJS({json:!0,jsonArg:$,mapAsMap:!1,onAnchor:X})}toString($={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in $&&(!Number.isInteger($.indent)||Number($.indent)<=0)){let X=JSON.stringify($.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return HV.stringifyDocument(this,$)}}function _8($){if(x$.isCollection($))return!0;throw Error("Expected a YAML collection as document contents")}BV.Document=R4});var x6=A((NV)=>{class _5 extends Error{constructor($,X,J,Q){super();this.name=$,this.code=J,this.message=Q,this.pos=X}}class H1 extends _5{constructor($,X,J){super("YAMLParseError",$,X,J)}}class U1 extends _5{constructor($,X,J){super("YAMLWarning",$,X,J)}}var MV=($,X)=>(J)=>{if(J.pos[0]===-1)return;J.linePos=J.pos.map((G)=>X.linePos(G));let{line:Q,col:q}=J.linePos[0];J.message+=` at line ${Q}, column ${q}`;let Y=q-1,z=$.substring(X.lineStarts[Q-1],X.lineStarts[Q]).replace(/[\n\r]+$/,"");if(Y>=60&&z.length>80){let G=Math.min(Y-39,z.length-79);z="…"+z.substring(G),Y-=G-1}if(z.length>80)z=z.substring(0,79)+"…";if(Q>1&&/^ *$/.test(z.substring(0,Y))){let G=$.substring(X.lineStarts[Q-2],X.lineStarts[Q-1]);if(G.length>80)G=G.substring(0,79)+`…
|
|
84
84
|
`;z=G+z}if(/[^ ]/.test(z)){let G=1,W=J.linePos[1];if(W?.line===Q&&W.col>q)G=Math.max(1,Math.min(W.col-q,80-Y));let H=" ".repeat(Y)+"^".repeat(G);J.message+=`:
|
|
85
85
|
|
|
86
86
|
${z}
|
|
87
87
|
${H}
|
|
88
|
-
`}};NV.YAMLError=
|
|
89
|
-
`))return!0;if($.end){for(let X of $.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of $.items){for(let J of X.start)if(J.type==="newline")return!0;if(X.sep){for(let J of X.sep)if(J.type==="newline")return!0}if(A4(X.key)||A4(X.value))return!0}return!1;default:return!0}}FV.containsNewline=A4});var _4=A((jV)=>{var EV=
|
|
90
|
-
`+M.comment;else G.comment=M.comment;continue}if(M.newlineAfterProp||fV.containsNewline(
|
|
91
|
-
`+P.comment;else T.comment=P.comment;let f=new B1.Pair(T);if(J.options.keepSourceTokens)f.srcToken=U;G.items.push(f)}}if(H&&H<W)q(H,"IMPOSSIBLE","Map comment with trailing content");return G.range=[Q.offset,W,H??W],G}yV.resolveBlockMap=xV});var D1=A((lV)=>{var vV=F0(),hV=y6(),uV=_4();function mV({composeNode:$,composeEmptyNode:X},J,Q,q,Y){let G=new(Y?.nodeClass??vV.YAMLSeq)(J.schema);if(J.atRoot)J.atRoot=!1;if(J.atKey)J.atKey=!1;let W=Q.offset,H=null;for(let{start:U,value:
|
|
92
|
-
`+x.comment;else H.comment=x.comment;
|
|
93
|
-
`+
|
|
94
|
-
`+G$.comment;else S.comment=G$.comment;let
|
|
95
|
-
`+D.comment;else H.comment=D.comment;H.range=[Q.offset,M,D.offset]}else H.range=[Q.offset,M,M];return H}$B.resolveFlowCollection=eV});var A1=A((UB)=>{var JB=
|
|
96
|
-
`.repeat(Math.max(1,z.length-1)):"",D=Q+q.length;if(X.source)D+=X.source.length;return{value:M,type:Y,comment:q.comment,range:[Q,D,D]}}let W=X.indent+q.indent,H=X.offset+q.length,U=0;for(let M=0;M<G;++M){let[D,F]=z[M];if(F===""||F==="\r"){if(q.indent===0&&D.length>W)W=D.length}else{if(D.length<W)J(H+D.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(q.indent===0)W=D.length;if(U=M,W===0&&!$.atRoot)J(H,"BAD_INDENT","Block scalar values in collections must be indented");break}H+=D.length+F.length+1}for(let M=z.length-1;M>=G;--M)if(z[M][0].length>W)G=M+1;let
|
|
97
|
-
`;for(let M=U;M<G;++M){let[D,F]=z[M];H+=D.length+F.length+1;let T=F[F.length-1]==="\r";if(T)F=F.slice(0,-1);if(F&&D.length<W){let f=`Block scalar lines must not be less indented than their ${q.indent?"explicit indentation indicator":"first line"}`;J(H-F.length-(T?2:1),"BAD_INDENT",f),D=""}if(Y===j4.Scalar.BLOCK_LITERAL)B
|
|
98
|
-
`;else if(D.length>W||F[0]==="\t"){if(
|
|
99
|
-
`;else if(!N&&
|
|
100
|
-
`)
|
|
101
|
-
|
|
102
|
-
`;B
|
|
103
|
-
`,N=!0}else if(F==="")if(
|
|
104
|
-
`)
|
|
105
|
-
`;else
|
|
106
|
-
`;else B
|
|
107
|
-
`+z[M][0].slice(W);if(
|
|
108
|
-
`)
|
|
109
|
-
`;break;default:
|
|
110
|
-
`}let R=Q+q.length+X.source.length;return{value:
|
|
88
|
+
`}};NV.YAMLError=_5;NV.YAMLParseError=H1;NV.YAMLWarning=U1;NV.prettifyError=MV});var y6=A((AV)=>{function RV($,{flow:X,indicator:J,next:Q,offset:q,onError:Y,parentIndent:z,startOnNewline:G}){let W=!1,H=G,U=G,V="",B="",N=!1,R=!1,M=null,D=null,F=null,T=null,P=null,f=null,g=null;for(let S of $){if(R){if(S.type!=="space"&&S.type!=="newline"&&S.type!=="comma")Y(S.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");R=!1}if(M){if(H&&S.type!=="comment"&&S.type!=="newline")Y(M,"TAB_AS_INDENT","Tabs are not allowed as indentation");M=null}switch(S.type){case"space":if(!X&&(J!=="doc-start"||Q?.type!=="flow-collection")&&S.source.includes("\t"))M=S;U=!0;break;case"comment":{if(!U)Y(S,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let G$=S.source.substring(1)||" ";if(!V)V=G$;else V+=B+G$;B="",H=!1;break}case"newline":if(H){if(V)V+=S.source;else if(!f||J!=="seq-item-ind")W=!0}else B+=S.source;if(H=!0,N=!0,D||F)T=S;U=!0;break;case"anchor":if(D)Y(S,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(S.source.endsWith(":"))Y(S.offset+S.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);D=S,g??(g=S.offset),H=!1,U=!1,R=!0;break;case"tag":{if(F)Y(S,"MULTIPLE_TAGS","A node can have at most one tag");F=S,g??(g=S.offset),H=!1,U=!1,R=!0;break}case J:if(D||F)Y(S,"BAD_PROP_ORDER",`Anchors and tags must be after the ${S.source} indicator`);if(f)Y(S,"UNEXPECTED_TOKEN",`Unexpected ${S.source} in ${X??"collection"}`);f=S,H=J==="seq-item-ind"||J==="explicit-key-ind",U=!1;break;case"comma":if(X){if(P)Y(S,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);P=S,H=!1,U=!1;break}default:Y(S,"UNEXPECTED_TOKEN",`Unexpected ${S.type} token`),H=!1,U=!1}}let x=$[$.length-1],a=x?x.offset+x.source.length:q;if(R&&Q&&Q.type!=="space"&&Q.type!=="newline"&&Q.type!=="comma"&&(Q.type!=="scalar"||Q.source!==""))Y(Q.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(M&&(H&&M.indent<=z||Q?.type==="block-map"||Q?.type==="block-seq"))Y(M,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:P,found:f,spaceBefore:W,comment:V,hasNewline:N,anchor:D,tag:F,newlineAfterProp:T,end:a,start:g??a}}AV.resolveProps=RV});var F5=A((FV)=>{function A4($){if(!$)return null;switch($.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if($.source.includes(`
|
|
89
|
+
`))return!0;if($.end){for(let X of $.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of $.items){for(let J of X.start)if(J.type==="newline")return!0;if(X.sep){for(let J of X.sep)if(J.type==="newline")return!0}if(A4(X.key)||A4(X.value))return!0}return!1;default:return!0}}FV.containsNewline=A4});var _4=A((jV)=>{var EV=F5();function SV($,X,J){if(X?.type==="flow-collection"){let Q=X.end[0];if(Q.indent===$&&(Q.source==="]"||Q.source==="}")&&EV.containsNewline(X))J(Q,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}jV.flowIndentCheck=SV});var F4=A((CV)=>{var V1=i();function ZV($,X,J){let{uniqueKeys:Q}=$.options;if(Q===!1)return!1;let q=typeof Q==="function"?Q:(Y,z)=>Y===z||V1.isScalar(Y)&&V1.isScalar(z)&&Y.value===z.value;return X.some((Y)=>q(Y.key,J))}CV.mapIncludes=ZV});var w1=A((yV)=>{var B1=R0(),bV=_0(),K1=y6(),fV=F5(),M1=_4(),kV=F4(),N1="All mapping items must start at the same column";function xV({composeNode:$,composeEmptyNode:X},J,Q,q,Y){let G=new(Y?.nodeClass??bV.YAMLMap)(J.schema);if(J.atRoot)J.atRoot=!1;let W=Q.offset,H=null;for(let U of Q.items){let{start:V,key:B,sep:N,value:R}=U,M=K1.resolveProps(V,{indicator:"explicit-key-ind",next:B??N?.[0],offset:W,onError:q,parentIndent:Q.indent,startOnNewline:!0}),D=!M.found;if(D){if(B){if(B.type==="block-seq")q(W,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in B&&B.indent!==Q.indent)q(W,"BAD_INDENT",N1)}if(!M.anchor&&!M.tag&&!N){if(H=M.end,M.comment)if(G.comment)G.comment+=`
|
|
90
|
+
`+M.comment;else G.comment=M.comment;continue}if(M.newlineAfterProp||fV.containsNewline(B))q(B??V[V.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(M.found?.indent!==Q.indent)q(W,"BAD_INDENT",N1);J.atKey=!0;let F=M.end,T=B?$(J,B,M,q):X(J,F,V,null,M,q);if(J.schema.compat)M1.flowIndentCheck(Q.indent,B,q);if(J.atKey=!1,kV.mapIncludes(J,G.items,T))q(F,"DUPLICATE_KEY","Map keys must be unique");let P=K1.resolveProps(N??[],{indicator:"map-value-ind",next:R,offset:T.range[2],onError:q,parentIndent:Q.indent,startOnNewline:!B||B.type==="block-scalar"});if(W=P.end,P.found){if(D){if(R?.type==="block-map"&&!P.hasNewline)q(W,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(J.options.strict&&M.start<P.found.offset-1024)q(T.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let f=R?$(J,R,P,q):X(J,W,N,null,P,q);if(J.schema.compat)M1.flowIndentCheck(Q.indent,R,q);W=f.range[2];let g=new B1.Pair(T,f);if(J.options.keepSourceTokens)g.srcToken=U;G.items.push(g)}else{if(D)q(T.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(P.comment)if(T.comment)T.comment+=`
|
|
91
|
+
`+P.comment;else T.comment=P.comment;let f=new B1.Pair(T);if(J.options.keepSourceTokens)f.srcToken=U;G.items.push(f)}}if(H&&H<W)q(H,"IMPOSSIBLE","Map comment with trailing content");return G.range=[Q.offset,W,H??W],G}yV.resolveBlockMap=xV});var D1=A((lV)=>{var vV=F0(),hV=y6(),uV=_4();function mV({composeNode:$,composeEmptyNode:X},J,Q,q,Y){let G=new(Y?.nodeClass??vV.YAMLSeq)(J.schema);if(J.atRoot)J.atRoot=!1;if(J.atKey)J.atKey=!1;let W=Q.offset,H=null;for(let{start:U,value:V}of Q.items){let B=hV.resolveProps(U,{indicator:"seq-item-ind",next:V,offset:W,onError:q,parentIndent:Q.indent,startOnNewline:!0});if(!B.found)if(B.anchor||B.tag||V)if(V?.type==="block-seq")q(B.end,"BAD_INDENT","All sequence items must start at the same column");else q(W,"MISSING_CHAR","Sequence item without - indicator");else{if(H=B.end,B.comment)G.comment=B.comment;continue}let N=V?$(J,V,B,q):X(J,B.end,U,null,B,q);if(J.schema.compat)uV.flowIndentCheck(Q.indent,V,q);W=N.range[2],G.items.push(N)}return G.range=[Q.offset,W,H??W],G}lV.resolveBlockSeq=mV});var F8=A((pV)=>{function dV($,X,J,Q){let q="";if($){let Y=!1,z="";for(let G of $){let{source:W,type:H}=G;switch(H){case"space":Y=!0;break;case"comment":{if(J&&!Y)Q(G,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let U=W.substring(1)||" ";if(!q)q=U;else q+=z+U;z="";break}case"newline":if(q)z+=W;Y=!0;break;default:Q(G,"UNEXPECTED_TOKEN",`Unexpected ${H} at node end`)}X+=W.length}}return{comment:q,offset:X}}pV.resolveEnd=dV});var R1=A(($B)=>{var nV=i(),rV=R0(),O1=_0(),aV=F0(),sV=F8(),L1=y6(),oV=F5(),tV=F4(),I4="Block collections are not allowed within flow collections",E4=($)=>$&&($.type==="block-map"||$.type==="block-seq");function eV({composeNode:$,composeEmptyNode:X},J,Q,q,Y){let z=Q.start.source==="{",G=z?"flow map":"flow sequence",H=new(Y?.nodeClass??(z?O1.YAMLMap:aV.YAMLSeq))(J.schema);H.flow=!0;let U=J.atRoot;if(U)J.atRoot=!1;if(J.atKey)J.atKey=!1;let V=Q.offset+Q.start.source.length;for(let D=0;D<Q.items.length;++D){let F=Q.items[D],{start:T,key:P,sep:f,value:g}=F,x=L1.resolveProps(T,{flow:G,indicator:"explicit-key-ind",next:P??f?.[0],offset:V,onError:q,parentIndent:Q.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!f&&!g){if(D===0&&x.comma)q(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${G}`);else if(D<Q.items.length-1)q(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${G}`);if(x.comment)if(H.comment)H.comment+=`
|
|
92
|
+
`+x.comment;else H.comment=x.comment;V=x.end;continue}if(!z&&J.options.strict&&oV.containsNewline(P))q(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(D===0){if(x.comma)q(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${G}`)}else{if(!x.comma)q(x.start,"MISSING_CHAR",`Missing , between ${G} items`);if(x.comment){let a="";$:for(let S of T)switch(S.type){case"comma":case"space":break;case"comment":a=S.source.substring(1);break $;default:break $}if(a){let S=H.items[H.items.length-1];if(nV.isPair(S))S=S.value??S.key;if(S.comment)S.comment+=`
|
|
93
|
+
`+a;else S.comment=a;x.comment=x.comment.substring(a.length+1)}}}if(!z&&!f&&!x.found){let a=g?$(J,g,x,q):X(J,x.end,f,null,x,q);if(H.items.push(a),V=a.range[2],E4(g))q(a.range,"BLOCK_IN_FLOW",I4)}else{J.atKey=!0;let a=x.end,S=P?$(J,P,x,q):X(J,a,T,null,x,q);if(E4(P))q(S.range,"BLOCK_IN_FLOW",I4);J.atKey=!1;let G$=L1.resolveProps(f??[],{flow:G,indicator:"map-value-ind",next:g,offset:S.range[2],onError:q,parentIndent:Q.indent,startOnNewline:!1});if(G$.found){if(!z&&!x.found&&J.options.strict){if(f)for(let V$ of f){if(V$===G$.found)break;if(V$.type==="newline"){q(V$,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(x.start<G$.found.offset-1024)q(G$.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(g)if("source"in g&&g.source?.[0]===":")q(g,"MISSING_CHAR",`Missing space after : in ${G}`);else q(G$.start,"MISSING_CHAR",`Missing , or : between ${G} items`);let r$=g?$(J,g,G$,q):G$.found?X(J,G$.end,f,null,G$,q):null;if(r$){if(E4(g))q(r$.range,"BLOCK_IN_FLOW",I4)}else if(G$.comment)if(S.comment)S.comment+=`
|
|
94
|
+
`+G$.comment;else S.comment=G$.comment;let p=new rV.Pair(S,r$);if(J.options.keepSourceTokens)p.srcToken=F;if(z){let V$=H;if(tV.mapIncludes(J,V$.items,S))q(a,"DUPLICATE_KEY","Map keys must be unique");V$.items.push(p)}else{let V$=new O1.YAMLMap(J.schema);V$.flow=!0,V$.items.push(p);let B8=(r$??S).range;V$.range=[S.range[0],B8[1],B8[2]],H.items.push(V$)}V=r$?r$.range[2]:G$.end}}let B=z?"}":"]",[N,...R]=Q.end,M=V;if(N?.source===B)M=N.offset+N.source.length;else{let D=G[0].toUpperCase()+G.substring(1),F=U?`${D} must end with a ${B}`:`${D} in block collection must be sufficiently indented and end with a ${B}`;if(q(V,U?"MISSING_CHAR":"BAD_INDENT",F),N&&N.source.length!==1)R.unshift(N)}if(R.length>0){let D=sV.resolveEnd(R,M,J.options.strict,q);if(D.comment)if(H.comment)H.comment+=`
|
|
95
|
+
`+D.comment;else H.comment=D.comment;H.range=[Q.offset,M,D.offset]}else H.range=[Q.offset,M,M];return H}$B.resolveFlowCollection=eV});var A1=A((UB)=>{var JB=i(),QB=M$(),qB=_0(),YB=F0(),zB=w1(),GB=D1(),WB=R1();function S4($,X,J,Q,q,Y){let z=J.type==="block-map"?zB.resolveBlockMap($,X,J,Q,Y):J.type==="block-seq"?GB.resolveBlockSeq($,X,J,Q,Y):WB.resolveFlowCollection($,X,J,Q,Y),G=z.constructor;if(q==="!"||q===G.tagName)return z.tag=G.tagName,z;if(q)z.tag=q;return z}function HB($,X,J,Q,q){let Y=Q.tag,z=!Y?null:X.directives.tagName(Y.source,(B)=>q(Y,"TAG_RESOLVE_FAILED",B));if(J.type==="block-seq"){let{anchor:B,newlineAfterProp:N}=Q,R=B&&Y?B.offset>Y.offset?B:Y:B??Y;if(R&&(!N||N.offset<R.offset))q(R,"MISSING_CHAR","Missing newline after block sequence props")}let G=J.type==="block-map"?"map":J.type==="block-seq"?"seq":J.start.source==="{"?"map":"seq";if(!Y||!z||z==="!"||z===qB.YAMLMap.tagName&&G==="map"||z===YB.YAMLSeq.tagName&&G==="seq")return S4($,X,J,q,z);let W=X.schema.tags.find((B)=>B.tag===z&&B.collection===G);if(!W){let B=X.schema.knownTags[z];if(B?.collection===G)X.schema.tags.push(Object.assign({},B,{default:!1})),W=B;else{if(B)q(Y,"BAD_COLLECTION_TYPE",`${B.tag} used for ${G} collection, but expects ${B.collection??"scalar"}`,!0);else q(Y,"TAG_RESOLVE_FAILED",`Unresolved tag: ${z}`,!0);return S4($,X,J,q,z)}}let H=S4($,X,J,q,z,W),U=W.resolve?.(H,(B)=>q(Y,"TAG_RESOLVE_FAILED",B),X.options)??H,V=JB.isNode(U)?U:new QB.Scalar(U);if(V.range=H.range,V.tag=z,W?.format)V.format=W.format;return V}UB.composeCollection=HB});var T4=A((NB)=>{var j4=M$();function BB($,X,J){let Q=X.offset,q=KB(X,$.options.strict,J);if(!q)return{value:"",type:null,comment:"",range:[Q,Q,Q]};let Y=q.mode===">"?j4.Scalar.BLOCK_FOLDED:j4.Scalar.BLOCK_LITERAL,z=X.source?MB(X.source):[],G=z.length;for(let M=z.length-1;M>=0;--M){let D=z[M][1];if(D===""||D==="\r")G=M;else break}if(G===0){let M=q.chomp==="+"&&z.length>0?`
|
|
96
|
+
`.repeat(Math.max(1,z.length-1)):"",D=Q+q.length;if(X.source)D+=X.source.length;return{value:M,type:Y,comment:q.comment,range:[Q,D,D]}}let W=X.indent+q.indent,H=X.offset+q.length,U=0;for(let M=0;M<G;++M){let[D,F]=z[M];if(F===""||F==="\r"){if(q.indent===0&&D.length>W)W=D.length}else{if(D.length<W)J(H+D.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(q.indent===0)W=D.length;if(U=M,W===0&&!$.atRoot)J(H,"BAD_INDENT","Block scalar values in collections must be indented");break}H+=D.length+F.length+1}for(let M=z.length-1;M>=G;--M)if(z[M][0].length>W)G=M+1;let V="",B="",N=!1;for(let M=0;M<U;++M)V+=z[M][0].slice(W)+`
|
|
97
|
+
`;for(let M=U;M<G;++M){let[D,F]=z[M];H+=D.length+F.length+1;let T=F[F.length-1]==="\r";if(T)F=F.slice(0,-1);if(F&&D.length<W){let f=`Block scalar lines must not be less indented than their ${q.indent?"explicit indentation indicator":"first line"}`;J(H-F.length-(T?2:1),"BAD_INDENT",f),D=""}if(Y===j4.Scalar.BLOCK_LITERAL)V+=B+D.slice(W)+F,B=`
|
|
98
|
+
`;else if(D.length>W||F[0]==="\t"){if(B===" ")B=`
|
|
99
|
+
`;else if(!N&&B===`
|
|
100
|
+
`)B=`
|
|
101
|
+
|
|
102
|
+
`;V+=B+D.slice(W)+F,B=`
|
|
103
|
+
`,N=!0}else if(F==="")if(B===`
|
|
104
|
+
`)V+=`
|
|
105
|
+
`;else B=`
|
|
106
|
+
`;else V+=B+F,B=" ",N=!1}switch(q.chomp){case"-":break;case"+":for(let M=G;M<z.length;++M)V+=`
|
|
107
|
+
`+z[M][0].slice(W);if(V[V.length-1]!==`
|
|
108
|
+
`)V+=`
|
|
109
|
+
`;break;default:V+=`
|
|
110
|
+
`}let R=Q+q.length+X.source.length;return{value:V,type:Y,comment:q.comment,range:[Q,R,R]}}function KB({offset:$,props:X},J,Q){if(X[0].type!=="block-scalar-header")return Q(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:q}=X[0],Y=q[0],z=0,G="",W=-1;for(let B=1;B<q.length;++B){let N=q[B];if(!G&&(N==="-"||N==="+"))G=N;else{let R=Number(N);if(!z&&R)z=R;else if(W===-1)W=$+B}}if(W!==-1)Q(W,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${q}`);let H=!1,U="",V=q.length;for(let B=1;B<X.length;++B){let N=X[B];switch(N.type){case"space":H=!0;case"newline":V+=N.source.length;break;case"comment":if(J&&!H)Q(N,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");V+=N.source.length,U=N.source.substring(1);break;case"error":Q(N,"UNEXPECTED_TOKEN",N.message),V+=N.source.length;break;default:{let R=`Unexpected token in block scalar header: ${N.type}`;Q(N,"UNEXPECTED_TOKEN",R);let M=N.source;if(M&&typeof M==="string")V+=M.length}}}return{mode:Y,indent:z,chomp:G,comment:U,length:V}}function MB($){let X=$.split(/\n( *)/),J=X[0],Q=J.match(/^( *)/),Y=[Q?.[1]?[Q[1],J.slice(Q[1].length)]:["",J]];for(let z=1;z<X.length;z+=2)Y.push([X[z],X[z+1]]);return Y}NB.resolveBlockScalar=BB});var C4=A((EB)=>{var Z4=M$(),DB=F8();function OB($,X,J){let{offset:Q,type:q,source:Y,end:z}=$,G,W,H=(B,N,R)=>J(Q+B,N,R);switch(q){case"scalar":G=Z4.Scalar.PLAIN,W=LB(Y,H);break;case"single-quoted-scalar":G=Z4.Scalar.QUOTE_SINGLE,W=RB(Y,H);break;case"double-quoted-scalar":G=Z4.Scalar.QUOTE_DOUBLE,W=AB(Y,H);break;default:return J($,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${q}`),{value:"",type:null,comment:"",range:[Q,Q+Y.length,Q+Y.length]}}let U=Q+Y.length,V=DB.resolveEnd(z,U,X,J);return{value:W,type:G,comment:V.comment,range:[Q,U,V.offset]}}function LB($,X){let J="";switch($[0]){case"\t":J="a tab character";break;case",":J="flow indicator character ,";break;case"%":J="directive indicator character %";break;case"|":case">":{J=`block scalar indicator ${$[0]}`;break}case"@":case"`":{J=`reserved character ${$[0]}`;break}}if(J)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${J}`);return _1($)}function RB($,X){if($[$.length-1]!=="'"||$.length===1)X($.length,"MISSING_CHAR","Missing closing 'quote");return _1($.slice(1,-1)).replace(/''/g,"'")}function _1($){let X,J;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
111
111
|
`,"sy"),J=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
112
112
|
`,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,J=/[ \t]*(.*?)[ \t]*\r?\n/sy}let Q=X.exec($);if(!Q)return $;let q=Q[1],Y=" ",z=X.lastIndex;J.lastIndex=z;while(Q=J.exec($)){if(Q[1]==="")if(Y===`
|
|
113
113
|
`)q+=Y;else Y=`
|
|
@@ -122,7 +122,7 @@ ${H}
|
|
|
122
122
|
`)break;if(Q===`
|
|
123
123
|
`)J+=`
|
|
124
124
|
`;X+=1,Q=$[X+1]}if(!J)J=" ";return{fold:J,offset:X}}var FB={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
125
|
-
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function IB($,X,J,Q){let q=$.substr(X,J),z=q.length===J&&/^[0-9a-fA-F]+$/.test(q)?parseInt(q,16):NaN;if(isNaN(z)){let G=$.substr(X-2,J+2);return Q(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${G}`),G}return String.fromCodePoint(z)}EB.resolveFlowScalar=OB});var I1=A((bB)=>{var r0=
|
|
125
|
+
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function IB($,X,J,Q){let q=$.substr(X,J),z=q.length===J&&/^[0-9a-fA-F]+$/.test(q)?parseInt(q,16):NaN;if(isNaN(z)){let G=$.substr(X-2,J+2);return Q(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${G}`),G}return String.fromCodePoint(z)}EB.resolveFlowScalar=OB});var I1=A((bB)=>{var r0=i(),F1=M$(),jB=T4(),TB=C4();function ZB($,X,J,Q){let{value:q,type:Y,comment:z,range:G}=X.type==="block-scalar"?jB.resolveBlockScalar($,X,Q):TB.resolveFlowScalar(X,$.options.strict,Q),W=J?$.directives.tagName(J.source,(V)=>Q(J,"TAG_RESOLVE_FAILED",V)):null,H;if($.options.stringKeys&&$.atKey)H=$.schema[r0.SCALAR];else if(W)H=CB($.schema,q,W,J,Q);else if(X.type==="scalar")H=PB($,q,X,Q);else H=$.schema[r0.SCALAR];let U;try{let V=H.resolve(q,(B)=>Q(J??X,"TAG_RESOLVE_FAILED",B),$.options);U=r0.isScalar(V)?V:new F1.Scalar(V)}catch(V){let B=V instanceof Error?V.message:String(V);Q(J??X,"TAG_RESOLVE_FAILED",B),U=new F1.Scalar(q)}if(U.range=G,U.source=q,Y)U.type=Y;if(W)U.tag=W;if(H.format)U.format=H.format;if(z)U.comment=z;return U}function CB($,X,J,Q,q){if(J==="!")return $[r0.SCALAR];let Y=[];for(let G of $.tags)if(!G.collection&&G.tag===J)if(G.default&&G.test)Y.push(G);else return G;for(let G of Y)if(G.test?.test(X))return G;let z=$.knownTags[J];if(z&&!z.collection)return $.tags.push(Object.assign({},z,{default:!1,test:void 0})),z;return q(Q,"TAG_RESOLVE_FAILED",`Unresolved tag: ${J}`,J!=="tag:yaml.org,2002:str"),$[r0.SCALAR]}function PB({atKey:$,directives:X,schema:J},Q,q,Y){let z=J.tags.find((G)=>(G.default===!0||$&&G.default==="key")&&G.test?.test(Q))||J[r0.SCALAR];if(J.compat){let G=J.compat.find((W)=>W.default&&W.test?.test(Q))??J[r0.SCALAR];if(z.tag!==G.tag){let W=X.tagString(z.tag),H=X.tagString(G.tag),U=`Value may be parsed as either ${W} or ${H}`;Y(q,"TAG_RESOLVE_FAILED",U,!0)}}return z}bB.composeScalar=ZB});var E1=A((xB)=>{function kB($,X,J){if(X){J??(J=X.length);for(let Q=J-1;Q>=0;--Q){let q=X[Q];switch(q.type){case"space":case"comment":case"newline":$-=q.source.length;continue}q=X[++Q];while(q?.type==="space")$+=q.source.length,q=X[++Q];break}}return $}xB.emptyScalarPosition=kB});var T1=A((dB)=>{var gB=L6(),vB=i(),hB=A1(),S1=I1(),uB=F8(),mB=E1(),lB={composeNode:j1,composeEmptyNode:P4};function j1($,X,J,Q){let q=$.atKey,{spaceBefore:Y,comment:z,anchor:G,tag:W}=J,H,U=!0;switch(X.type){case"alias":if(H=cB($,X,Q),G||W)Q(X,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(H=S1.composeScalar($,X,W,Q),G)H.anchor=G.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if(H=hB.composeCollection(lB,$,X,J,Q),G)H.anchor=G.source.substring(1)}catch(V){let B=V instanceof Error?V.message:String(V);Q(X,"RESOURCE_EXHAUSTION",B)}break;default:{let V=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;Q(X,"UNEXPECTED_TOKEN",V),U=!1}}if(H??(H=P4($,X.offset,void 0,null,J,Q)),G&&H.anchor==="")Q(G,"BAD_ALIAS","Anchor cannot be an empty string");if(q&&$.options.stringKeys&&(!vB.isScalar(H)||typeof H.value!=="string"||H.tag&&H.tag!=="tag:yaml.org,2002:str"))Q(W??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(Y)H.spaceBefore=!0;if(z)if(X.type==="scalar"&&X.source==="")H.comment=z;else H.commentBefore=z;if($.options.keepSourceTokens&&U)H.srcToken=X;return H}function P4($,X,J,Q,{spaceBefore:q,comment:Y,anchor:z,tag:G,end:W},H){let U={type:"scalar",offset:mB.emptyScalarPosition(X,J,Q),indent:-1,source:""},V=S1.composeScalar($,U,G,H);if(z){if(V.anchor=z.source.substring(1),V.anchor==="")H(z,"BAD_ALIAS","Anchor cannot be an empty string")}if(q)V.spaceBefore=!0;if(Y)V.comment=Y,V.range[2]=W;return V}function cB({options:$},{offset:X,source:J,end:Q},q){let Y=new gB.Alias(J.substring(1));if(Y.source==="")q(X,"BAD_ALIAS","Alias cannot be an empty string");if(Y.source.endsWith(":"))q(X+J.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let z=X+J.length,G=uB.resolveEnd(Q,z,$.strict,q);if(Y.range=[X,z,G.offset],G.comment)Y.comment=G.comment;return Y}dB.composeEmptyNode=P4;dB.composeNode=j1});var C1=A((oB)=>{var nB=k6(),Z1=T1(),rB=F8(),aB=y6();function sB($,X,{offset:J,start:Q,value:q,end:Y},z){let G=Object.assign({_directives:X},$),W=new nB.Document(void 0,G),H={atKey:!1,atRoot:!0,directives:W.directives,options:W.options,schema:W.schema},U=aB.resolveProps(Q,{indicator:"doc-start",next:q??Y?.[0],offset:J,onError:z,parentIndent:0,startOnNewline:!0});if(U.found){if(W.directives.docStart=!0,q&&(q.type==="block-map"||q.type==="block-seq")&&!U.hasNewline)z(U.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}W.contents=q?Z1.composeNode(H,q,U,z):Z1.composeEmptyNode(H,U.end,Q,null,U,z);let V=W.contents.range[2],B=rB.resolveEnd(Y,V,!1,z);if(B.comment)W.comment=B.comment;return W.range=[J,V,B.offset],W}oB.composeDoc=sB});var b4=A((qK)=>{var eB=W$("process"),$K=yX(),XK=k6(),g6=x6(),P1=i(),JK=C1(),QK=F8();function v6($){if(typeof $==="number")return[$,$+1];if(Array.isArray($))return $.length===2?$:[$[0],$[1]];let{offset:X,source:J}=$;return[X,X+(typeof J==="string"?J.length:1)]}function b1($){let X="",J=!1,Q=!1;for(let q=0;q<$.length;++q){let Y=$[q];switch(Y[0]){case"#":X+=(X===""?"":Q?`
|
|
126
126
|
|
|
127
127
|
`:`
|
|
128
128
|
`)+(Y.substring(1)||" "),J=!0,Q=!1;break;case"%":if($[q+1]?.[0]!=="#")q+=1;J=!1;break;default:if(!J)Q=!0;J=!1}}return{comment:X,afterEmptyLine:Q}}class f1{constructor($={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,J,Q,q)=>{let Y=v6(X);if(q)this.warnings.push(new g6.YAMLWarning(Y,J,Q));else this.errors.push(new g6.YAMLParseError(Y,J,Q))},this.directives=new $K.Directives({version:$.version||"1.2"}),this.options=$}decorate($,X){let{comment:J,afterEmptyLine:Q}=b1(this.prelude);if(J){let q=$.contents;if(X)$.comment=$.comment?`${$.comment}
|
|
@@ -131,16 +131,16 @@ ${z}`:J}else{let Y=q.commentBefore;q.commentBefore=Y?`${J}
|
|
|
131
131
|
${Y}`:J}}if(X)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:b1(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose($,X=!1,J=-1){for(let Q of $)yield*this.next(Q);yield*this.end(X,J)}*next($){if(eB.env.LOG_STREAM)console.dir($,{depth:null});switch($.type){case"directive":this.directives.add($.source,(X,J,Q)=>{let q=v6($);q[0]+=X,this.onError(q,"BAD_DIRECTIVE",J,Q)}),this.prelude.push($.source),this.atDirectives=!0;break;case"document":{let X=JK.composeDoc(this.options,this.directives,$,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError($,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(X,!1),this.doc)yield this.doc;this.doc=X,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push($.source);break;case"error":{let X=$.source?`${$.message}: ${JSON.stringify($.source)}`:$.message,J=new g6.YAMLParseError(v6($),"UNEXPECTED_TOKEN",X);if(this.atDirectives||!this.doc)this.errors.push(J);else this.doc.errors.push(J);break}case"doc-end":{if(!this.doc){this.errors.push(new g6.YAMLParseError(v6($),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=QK.resolveEnd($.end,$.offset+$.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),X.comment){let J=this.doc.comment;this.doc.comment=J?`${J}
|
|
132
132
|
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new g6.YAMLParseError(v6($),"UNEXPECTED_TOKEN",`Unsupported token ${$.type}`))}}*end($=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if($){let J=Object.assign({_directives:this.directives},this.options),Q=new XK.Document(void 0,J);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");Q.range=[0,X,X],this.decorate(Q,!1),yield Q}}}qK.Composer=f1});var y1=A((KK)=>{var zK=T4(),GK=C4(),WK=x6(),k1=F6();function HK($,X=!0,J){if($){let Q=(q,Y,z)=>{let G=typeof q==="number"?q:Array.isArray(q)?q[0]:q.offset;if(J)J(G,Y,z);else throw new WK.YAMLParseError([G,G+1],Y,z)};switch($.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return GK.resolveFlowScalar($,X,Q);case"block-scalar":return zK.resolveBlockScalar({options:{strict:X}},$,Q)}}return null}function UK($,X){let{implicitKey:J=!1,indent:Q,inFlow:q=!1,offset:Y=-1,type:z="PLAIN"}=X,G=k1.stringifyString({type:z,value:$},{implicitKey:J,indent:Q>0?" ".repeat(Q):"",inFlow:q,options:{blockQuote:!0,lineWidth:-1}}),W=X.end??[{type:"newline",offset:-1,indent:Q,source:`
|
|
133
133
|
`}];switch(G[0]){case"|":case">":{let H=G.indexOf(`
|
|
134
|
-
`),U=G.substring(0,H),
|
|
135
|
-
`,
|
|
136
|
-
`});return{type:"block-scalar",offset:Y,indent:Q,props:
|
|
134
|
+
`),U=G.substring(0,H),V=G.substring(H+1)+`
|
|
135
|
+
`,B=[{type:"block-scalar-header",offset:Y,indent:Q,source:U}];if(!x1(B,W))B.push({type:"newline",offset:-1,indent:Q,source:`
|
|
136
|
+
`});return{type:"block-scalar",offset:Y,indent:Q,props:B,source:V}}case'"':return{type:"double-quoted-scalar",offset:Y,indent:Q,source:G,end:W};case"'":return{type:"single-quoted-scalar",offset:Y,indent:Q,source:G,end:W};default:return{type:"scalar",offset:Y,indent:Q,source:G,end:W}}}function VK($,X,J={}){let{afterKey:Q=!1,implicitKey:q=!1,inFlow:Y=!1,type:z}=J,G="indent"in $?$.indent:null;if(Q&&typeof G==="number")G+=2;if(!z)switch($.type){case"single-quoted-scalar":z="QUOTE_SINGLE";break;case"double-quoted-scalar":z="QUOTE_DOUBLE";break;case"block-scalar":{let H=$.props[0];if(H.type!=="block-scalar-header")throw Error("Invalid block scalar header");z=H.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:z="PLAIN"}let W=k1.stringifyString({type:z,value:X},{implicitKey:q||G===null,indent:G!==null&&G>0?" ".repeat(G):"",inFlow:Y,options:{blockQuote:!0,lineWidth:-1}});switch(W[0]){case"|":case">":BK($,W);break;case'"':f4($,W,"double-quoted-scalar");break;case"'":f4($,W,"single-quoted-scalar");break;default:f4($,W,"scalar")}}function BK($,X){let J=X.indexOf(`
|
|
137
137
|
`),Q=X.substring(0,J),q=X.substring(J+1)+`
|
|
138
138
|
`;if($.type==="block-scalar"){let Y=$.props[0];if(Y.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y.source=Q,$.source=q}else{let{offset:Y}=$,z="indent"in $?$.indent:-1,G=[{type:"block-scalar-header",offset:Y,indent:z,source:Q}];if(!x1(G,"end"in $?$.end:void 0))G.push({type:"newline",offset:-1,indent:z,source:`
|
|
139
139
|
`});for(let W of Object.keys($))if(W!=="type"&&W!=="offset")delete $[W];Object.assign($,{type:"block-scalar",indent:z,props:G,source:q})}}function x1($,X){if(X)for(let J of X)switch(J.type){case"space":case"comment":$.push(J);break;case"newline":return $.push(J),!0}return!1}function f4($,X,J){switch($.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":$.type=J,$.source=X;break;case"block-scalar":{let Q=$.props.slice(1),q=X.length;if($.props[0].type==="block-scalar-header")q-=$.props[0].source.length;for(let Y of Q)Y.offset+=q;delete $.props,Object.assign($,{type:J,source:X,end:Q});break}case"block-map":case"block-seq":{let q={type:"newline",offset:$.offset+X.length,indent:$.indent,source:`
|
|
140
|
-
`};delete $.items,Object.assign($,{type:J,source:X,end:[q]});break}default:{let Q="indent"in $?$.indent:-1,q="end"in $&&Array.isArray($.end)?$.end.filter((Y)=>Y.type==="space"||Y.type==="comment"||Y.type==="newline"):[];for(let Y of Object.keys($))if(Y!=="type"&&Y!=="offset")delete $[Y];Object.assign($,{type:J,indent:Q,source:X,end:q})}}}KK.createScalarToken=UK;KK.resolveAsScalar=HK;KK.setScalarValue=VK});var g1=A((OK)=>{var DK=($)=>("type"in $)?
|
|
140
|
+
`};delete $.items,Object.assign($,{type:J,source:X,end:[q]});break}default:{let Q="indent"in $?$.indent:-1,q="end"in $&&Array.isArray($.end)?$.end.filter((Y)=>Y.type==="space"||Y.type==="comment"||Y.type==="newline"):[];for(let Y of Object.keys($))if(Y!=="type"&&Y!=="offset")delete $[Y];Object.assign($,{type:J,indent:Q,source:X,end:q})}}}KK.createScalarToken=UK;KK.resolveAsScalar=HK;KK.setScalarValue=VK});var g1=A((OK)=>{var DK=($)=>("type"in $)?E5($):I5($);function E5($){switch($.type){case"block-scalar":{let X="";for(let J of $.props)X+=E5(J);return X+$.source}case"block-map":case"block-seq":{let X="";for(let J of $.items)X+=I5(J);return X}case"flow-collection":{let X=$.start.source;for(let J of $.items)X+=I5(J);for(let J of $.end)X+=J.source;return X}case"document":{let X=I5($);if($.end)for(let J of $.end)X+=J.source;return X}default:{let X=$.source;if("end"in $&&$.end)for(let J of $.end)X+=J.source;return X}}}function I5({start:$,key:X,sep:J,value:Q}){let q="";for(let Y of $)q+=Y.source;if(X)q+=E5(X);if(J)for(let Y of J)q+=Y.source;if(Q)q+=E5(Q);return q}OK.stringify=DK});var u1=A((AK)=>{var k4=Symbol("break visit"),RK=Symbol("skip children"),v1=Symbol("remove item");function a0($,X){if("type"in $&&$.type==="document")$={start:$.start,value:$.value};h1(Object.freeze([]),$,X)}a0.BREAK=k4;a0.SKIP=RK;a0.REMOVE=v1;a0.itemAtPath=($,X)=>{let J=$;for(let[Q,q]of X){let Y=J?.[Q];if(Y&&"items"in Y)J=Y.items[q];else return}return J};a0.parentCollection=($,X)=>{let J=a0.itemAtPath($,X.slice(0,-1)),Q=X[X.length-1][0],q=J?.[Q];if(q&&"items"in q)return q;throw Error("Parent collection not found")};function h1($,X,J){let Q=J(X,$);if(typeof Q==="symbol")return Q;for(let q of["key","value"]){let Y=X[q];if(Y&&"items"in Y){for(let z=0;z<Y.items.length;++z){let G=h1(Object.freeze($.concat([[q,z]])),Y.items[z],J);if(typeof G==="number")z=G-1;else if(G===k4)return k4;else if(G===v1)Y.items.splice(z,1),z-=1}if(typeof Q==="function"&&q==="key")Q=Q(X,$)}}return typeof Q==="function"?Q(X,$):Q}AK.visit=a0});var S5=A((ZK)=>{var x4=y1(),FK=g1(),IK=u1(),y4="\uFEFF",g4="\x02",v4="\x18",h4="\x1F",EK=($)=>!!$&&("items"in $),SK=($)=>!!$&&($.type==="scalar"||$.type==="single-quoted-scalar"||$.type==="double-quoted-scalar"||$.type==="block-scalar");function jK($){switch($){case y4:return"<BOM>";case g4:return"<DOC>";case v4:return"<FLOW_END>";case h4:return"<SCALAR>";default:return JSON.stringify($)}}function TK($){switch($){case y4:return"byte-order-mark";case g4:return"doc-mode";case v4:return"flow-error-end";case h4:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
141
141
|
`:case`\r
|
|
142
|
-
`: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}ZK.createScalarToken=x4.createScalarToken;ZK.resolveAsScalar=x4.resolveAsScalar;ZK.setScalarValue=x4.setScalarValue;ZK.stringify=FK.stringify;ZK.visit=IK.visit;ZK.BOM=y4;ZK.DOCUMENT=g4;ZK.FLOW_END=v4;ZK.SCALAR=h4;ZK.isCollection=EK;ZK.isScalar=SK;ZK.prettyToken=jK;ZK.tokenType=TK});var m4=A((pK)=>{var h6=
|
|
143
|
-
`:case"\r":case"\t":return!0;default:return!1}}var m1=new Set("0123456789ABCDEFabcdef"),cK=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),
|
|
142
|
+
`: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}ZK.createScalarToken=x4.createScalarToken;ZK.resolveAsScalar=x4.resolveAsScalar;ZK.setScalarValue=x4.setScalarValue;ZK.stringify=FK.stringify;ZK.visit=IK.visit;ZK.BOM=y4;ZK.DOCUMENT=g4;ZK.FLOW_END=v4;ZK.SCALAR=h4;ZK.isCollection=EK;ZK.isScalar=SK;ZK.prettyToken=jK;ZK.tokenType=TK});var m4=A((pK)=>{var h6=S5();function h$($){switch($){case void 0:case" ":case`
|
|
143
|
+
`:case"\r":case"\t":return!0;default:return!1}}var m1=new Set("0123456789ABCDEFabcdef"),cK=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),j5=new Set(",[]{}"),dK=new Set(` ,[]{}
|
|
144
144
|
\r `),u4=($)=>!$||dK.has($);class l1{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($,X=!1){if($){if(typeof $!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+$:$,this.lineEndPos=null}this.atEnd=!X;let J=this.next??"stream";while(J&&(X||this.hasChars(1)))J=yield*this.parseNext(J)}atLineEnd(){let $=this.pos,X=this.buffer[$];while(X===" "||X==="\t")X=this.buffer[++$];if(!X||X==="#"||X===`
|
|
145
145
|
`)return!0;if(X==="\r")return this.buffer[$+1]===`
|
|
146
146
|
`;return!1}charAt($){return this.buffer[this.pos+$]}continueScalar($){let X=this.buffer[$];if(this.indentNext>0){let J=0;while(X===" ")X=this.buffer[++J+$];if(X==="\r"){let Q=this.buffer[J+$+1];if(Q===`
|
|
@@ -153,29 +153,29 @@ ${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.pus
|
|
|
153
153
|
`)break}default:break $}if(!J&&!this.atEnd)return this.setNext("block-scalar");if(X>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=X;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let q=this.continueScalar($+1);if(q===-1)break;$=this.buffer.indexOf(`
|
|
154
154
|
`,q)}while($!==-1);if($===-1){if(!this.atEnd)return this.setNext("block-scalar");$=this.buffer.length}}let Q=$+1;J=this.buffer[Q];while(J===" ")J=this.buffer[++Q];if(J==="\t"){while(J==="\t"||J===" "||J==="\r"||J===`
|
|
155
155
|
`)J=this.buffer[++Q];$=Q-1}else if(!this.blockScalarKeep)do{let q=$-1,Y=this.buffer[q];if(Y==="\r")Y=this.buffer[--q];let z=q;while(Y===" ")Y=this.buffer[--q];if(Y===`
|
|
156
|
-
`&&q>=this.pos&&q+1+X>z)$=q;else break}while(!0);return yield h6.SCALAR,yield*this.pushToIndex($+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let $=this.flowLevel>0,X=this.pos-1,J=this.pos-1,Q;while(Q=this.buffer[++J])if(Q===":"){let q=this.buffer[J+1];if(h$(q)||$&&
|
|
156
|
+
`&&q>=this.pos&&q+1+X>z)$=q;else break}while(!0);return yield h6.SCALAR,yield*this.pushToIndex($+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let $=this.flowLevel>0,X=this.pos-1,J=this.pos-1,Q;while(Q=this.buffer[++J])if(Q===":"){let q=this.buffer[J+1];if(h$(q)||$&&j5.has(q))break;X=J}else if(h$(Q)){let q=this.buffer[J+1];if(Q==="\r")if(q===`
|
|
157
157
|
`)J+=1,Q=`
|
|
158
|
-
`,q=this.buffer[J+1];else X=J;if(q==="#"||$&&
|
|
159
|
-
`){let Y=this.continueScalar(J+1);if(Y===-1)break;J=Math.max(J,Y-2)}}else{if($&&
|
|
158
|
+
`,q=this.buffer[J+1];else X=J;if(q==="#"||$&&j5.has(q))break;if(Q===`
|
|
159
|
+
`){let Y=this.continueScalar(J+1);if(Y===-1)break;J=Math.max(J,Y-2)}}else{if($&&j5.has(Q))break;X=J}if(!Q&&!this.atEnd)return this.setNext("plain-scalar");return yield h6.SCALAR,yield*this.pushToIndex(X+1,!0),$?"flow":"doc"}*pushCount($){if($>0)return yield this.buffer.substr(this.pos,$),this.pos+=$,$;return 0}*pushToIndex($,X){let J=this.buffer.slice(this.pos,$);if(J)return yield J,this.pos+=J.length,J.length;else if(X)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(u4))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let $=this.flowLevel>0,X=this.charAt(1);if(h$(X)||$&&j5.has(X)){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,X=this.buffer[$];while(!h$(X)&&X!==">")X=this.buffer[++$];return yield*this.pushToIndex(X===">"?$+1:$,!1)}else{let $=this.pos+1,X=this.buffer[$];while(X)if(cK.has(X))X=this.buffer[++$];else if(X==="%"&&m1.has(this.buffer[$+1])&&m1.has(this.buffer[$+2]))X=this.buffer[$+=3];else break;return yield*this.pushToIndex($,!1)}}*pushNewline(){let $=this.buffer[this.pos];if($===`
|
|
160
160
|
`)return yield*this.pushCount(1);else if($==="\r"&&this.charAt(1)===`
|
|
161
|
-
`)return yield*this.pushCount(2);else return 0}*pushSpaces($){let X=this.pos-1,J;do J=this.buffer[++X];while(J===" "||$&&J==="\t");let Q=X-this.pos;if(Q>0)yield this.buffer.substr(this.pos,Q),this.pos=X;return Q}*pushUntil($){let X=this.pos,J=this.buffer[X];while(!$(J))J=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}pK.Lexer=l1});var l4=A((nK)=>{class c1{constructor(){this.lineStarts=[],this.addNewLine=($)=>this.lineStarts.push($),this.linePos=($)=>{let X=0,J=this.lineStarts.length;while(X<J){let q=X+J>>1;if(this.lineStarts[q]<$)X=q+1;else J=q}if(this.lineStarts[X]===$)return{line:X+1,col:1};if(X===0)return{line:0,col:$};let Q=this.lineStarts[X-1];return{line:X,col:$-Q+1}}}}nK.LineCounter=c1});var c4=A((oK)=>{var
|
|
161
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces($){let X=this.pos-1,J;do J=this.buffer[++X];while(J===" "||$&&J==="\t");let Q=X-this.pos;if(Q>0)yield this.buffer.substr(this.pos,Q),this.pos=X;return Q}*pushUntil($){let X=this.pos,J=this.buffer[X];while(!$(J))J=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}pK.Lexer=l1});var l4=A((nK)=>{class c1{constructor(){this.lineStarts=[],this.addNewLine=($)=>this.lineStarts.push($),this.linePos=($)=>{let X=0,J=this.lineStarts.length;while(X<J){let q=X+J>>1;if(this.lineStarts[q]<$)X=q+1;else J=q}if(this.lineStarts[X]===$)return{line:X+1,col:1};if(X===0)return{line:0,col:$};let Q=this.lineStarts[X-1];return{line:X,col:$-Q+1}}}}nK.LineCounter=c1});var c4=A((oK)=>{var aK=W$("process"),d1=S5(),sK=m4();function I0($,X){for(let J=0;J<$.length;++J)if($[J].type===X)return!0;return!1}function p1($){for(let X=0;X<$.length;++X)switch($[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function n1($){switch($?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function T5($){switch($.type){case"document":return $.start;case"block-map":{let X=$.items[$.items.length-1];return X.sep??X.start}case"block-seq":return $.items[$.items.length-1].start;default:return[]}}function I8($){if($.length===0)return[];let X=$.length;$:while(--X>=0)switch($[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break $}while($[++X]?.type==="space");return $.splice(X,$.length)}function i1($){if($.start.type==="flow-seq-start"){for(let X of $.items)if(X.sep&&!X.value&&!I0(X.start,"explicit-key-ind")&&!I0(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,n1(X.value))if(X.value.end)Array.prototype.push.apply(X.value.end,X.sep);else X.value.end=X.sep;else Array.prototype.push.apply(X.start,X.sep);delete X.sep}}}class r1{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 sK.Lexer,this.onNewLine=$}*parse($,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let J of this.lexer.lex($,X))yield*this.next(J);if(!X)yield*this.end()}*next($){if(this.source=$,aK.env.LOG_TOKENS)console.log("|",d1.prettyToken($));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=$.length;return}let X=d1.tokenType($);if(!X){let J=`Not a YAML token: ${$}`;yield*this.pop({type:"error",offset:this.offset,message:J,source:$}),this.offset+=$.length}else if(X==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=X,yield*this.step(),X){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 X=$??this.stack.pop();if(!X)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield X;else{let J=this.peek(1);if(X.type==="block-scalar")X.indent="indent"in J?J.indent:0;else if(X.type==="flow-collection"&&J.type==="document")X.indent=0;if(X.type==="flow-collection")i1(X);switch(J.type){case"document":J.value=X;break;case"block-scalar":J.props.push(X);break;case"block-map":{let Q=J.items[J.items.length-1];if(Q.value){J.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(Q.sep)Q.value=X;else{Object.assign(Q,{key:X,sep:[]}),this.onKeyLine=!Q.explicitKey;return}break}case"block-seq":{let Q=J.items[J.items.length-1];if(Q.value)J.items.push({start:[],value:X});else Q.value=X;break}case"flow-collection":{let Q=J.items[J.items.length-1];if(!Q||Q.value)J.items.push({start:[],key:X,sep:[]});else if(Q.sep)Q.value=X;else Object.assign(Q,{key:X,sep:[]});return}default:yield*this.pop(),yield*this.pop(X)}if((J.type==="document"||J.type==="block-map"||J.type==="block-seq")&&(X.type==="block-map"||X.type==="block-seq")){let Q=X.items[X.items.length-1];if(Q&&!Q.sep&&!Q.value&&Q.start.length>0&&p1(Q.start)===-1&&(X.indent===0||Q.start.every((q)=>q.type!=="comment"||q.indent<X.indent))){if(J.type==="document")J.end=Q.start;else J.items.push({start:Q.start});X.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(p1($.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 X=this.startBlockValue($);if(X)this.stack.push(X);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 X=T5(this.peek(2)),J=I8(X),Q;if($.end)Q=$.end,Q.push(this.sourceToken),delete $.end;else Q=[this.sourceToken];let q={type:"block-map",offset:$.offset,indent:$.indent,items:[{start:J,key:$,sep:Q}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=q}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 X=this.source.indexOf(`
|
|
162
162
|
`)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
|
|
163
|
-
`,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap($){let X=$.items[$.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let J="end"in X.value?X.value.end:void 0;if((Array.isArray(J)?J[J.length-1]:void 0)?.type==="comment")J?.push(this.sourceToken);else $.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)$.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,$.indent)){let Q=$.items[$.items.length-2]?.value?.end;if(Array.isArray(Q)){Array.prototype.push.apply(Q,X.start),Q.push(this.sourceToken),$.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=$.indent){let J=!this.onKeyLine&&this.indent===$.indent,Q=J&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",q=[];if(Q&&X.sep&&!X.value){let Y=[];for(let z=0;z<X.sep.length;++z){let G=X.sep[z];switch(G.type){case"newline":Y.push(z);break;case"space":break;case"comment":if(G.indent>$.indent)Y.length=0;break;default:Y.length=0}}if(Y.length>=2)q=X.sep.splice(Y[1])}switch(this.type){case"anchor":case"tag":if(Q||X.value)q.push(this.sourceToken),$.items.push({start:q}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(Q||X.value)q.push(this.sourceToken),$.items.push({start:q,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(X.explicitKey)if(!X.sep)if(I0(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let Y=I8(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Y,key:null,sep:[this.sourceToken]}]})}else if(X.value)$.items.push({start:[],key:null,sep:[this.sourceToken]});else if(I0(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]});else if(n1(X.key)&&!I0(X.sep,"newline")){let Y=I8(X.start),z=X.key,G=X.sep;G.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Y,key:z,sep:G}]})}else if(q.length>0)X.sep=X.sep.concat(q,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||Q)$.items.push({start:q,key:null,sep:[this.sourceToken]});else if(I0(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Y=this.flowScalar(this.type);if(Q||X.value)$.items.push({start:q,key:Y,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(Y);else Object.assign(X,{key:Y,sep:[]}),this.onKeyLine=!0;return}default:{let Y=this.startBlockValue($);if(Y){if(Y.type==="block-seq"){if(!X.explicitKey&&X.sep&&!I0(X.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(J)$.items.push({start:q});this.stack.push(Y);return}}}}yield*this.pop(),yield*this.step()}*blockSequence($){let X=$.items[$.items.length-1];switch(this.type){case"newline":if(X.value){let J="end"in X.value?X.value.end:void 0;if((Array.isArray(J)?J[J.length-1]:void 0)?.type==="comment")J?.push(this.sourceToken);else $.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)$.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,$.indent)){let Q=$.items[$.items.length-2]?.value?.end;if(Array.isArray(Q)){Array.prototype.push.apply(Q,X.start),Q.push(this.sourceToken),$.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=$.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==$.indent)break;if(X.value||I0(X.start,"seq-item-ind"))$.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>$.indent){let J=this.startBlockValue($);if(J){this.stack.push(J);return}}yield*this.pop(),yield*this.step()}*flowCollection($){let X=$.items[$.items.length-1];if(this.type==="flow-error-end"){let J;do yield*this.pop(),J=this.peek(1);while(J?.type==="flow-collection")}else if($.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)$.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)$.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)$.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Q=this.flowScalar(this.type);if(!X||X.value)$.items.push({start:[],key:Q,sep:[]});else if(X.sep)this.stack.push(Q);else Object.assign(X,{key:Q,sep:[]});return}case"flow-map-end":case"flow-seq-end":$.end.push(this.sourceToken);return}let J=this.startBlockValue($);if(J)this.stack.push(J);else yield*this.pop(),yield*this.step()}else{let J=this.peek(2);if(J.type==="block-map"&&(this.type==="map-value-ind"&&J.indent===$.indent||this.type==="newline"&&!J.items[J.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&J.type!=="flow-collection"){let Q=
|
|
163
|
+
`,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap($){let X=$.items[$.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let J="end"in X.value?X.value.end:void 0;if((Array.isArray(J)?J[J.length-1]:void 0)?.type==="comment")J?.push(this.sourceToken);else $.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)$.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,$.indent)){let Q=$.items[$.items.length-2]?.value?.end;if(Array.isArray(Q)){Array.prototype.push.apply(Q,X.start),Q.push(this.sourceToken),$.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=$.indent){let J=!this.onKeyLine&&this.indent===$.indent,Q=J&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",q=[];if(Q&&X.sep&&!X.value){let Y=[];for(let z=0;z<X.sep.length;++z){let G=X.sep[z];switch(G.type){case"newline":Y.push(z);break;case"space":break;case"comment":if(G.indent>$.indent)Y.length=0;break;default:Y.length=0}}if(Y.length>=2)q=X.sep.splice(Y[1])}switch(this.type){case"anchor":case"tag":if(Q||X.value)q.push(this.sourceToken),$.items.push({start:q}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(Q||X.value)q.push(this.sourceToken),$.items.push({start:q,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(X.explicitKey)if(!X.sep)if(I0(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let Y=I8(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Y,key:null,sep:[this.sourceToken]}]})}else if(X.value)$.items.push({start:[],key:null,sep:[this.sourceToken]});else if(I0(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]});else if(n1(X.key)&&!I0(X.sep,"newline")){let Y=I8(X.start),z=X.key,G=X.sep;G.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Y,key:z,sep:G}]})}else if(q.length>0)X.sep=X.sep.concat(q,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||Q)$.items.push({start:q,key:null,sep:[this.sourceToken]});else if(I0(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Y=this.flowScalar(this.type);if(Q||X.value)$.items.push({start:q,key:Y,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(Y);else Object.assign(X,{key:Y,sep:[]}),this.onKeyLine=!0;return}default:{let Y=this.startBlockValue($);if(Y){if(Y.type==="block-seq"){if(!X.explicitKey&&X.sep&&!I0(X.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(J)$.items.push({start:q});this.stack.push(Y);return}}}}yield*this.pop(),yield*this.step()}*blockSequence($){let X=$.items[$.items.length-1];switch(this.type){case"newline":if(X.value){let J="end"in X.value?X.value.end:void 0;if((Array.isArray(J)?J[J.length-1]:void 0)?.type==="comment")J?.push(this.sourceToken);else $.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)$.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,$.indent)){let Q=$.items[$.items.length-2]?.value?.end;if(Array.isArray(Q)){Array.prototype.push.apply(Q,X.start),Q.push(this.sourceToken),$.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=$.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==$.indent)break;if(X.value||I0(X.start,"seq-item-ind"))$.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>$.indent){let J=this.startBlockValue($);if(J){this.stack.push(J);return}}yield*this.pop(),yield*this.step()}*flowCollection($){let X=$.items[$.items.length-1];if(this.type==="flow-error-end"){let J;do yield*this.pop(),J=this.peek(1);while(J?.type==="flow-collection")}else if($.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)$.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)$.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)$.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Q=this.flowScalar(this.type);if(!X||X.value)$.items.push({start:[],key:Q,sep:[]});else if(X.sep)this.stack.push(Q);else Object.assign(X,{key:Q,sep:[]});return}case"flow-map-end":case"flow-seq-end":$.end.push(this.sourceToken);return}let J=this.startBlockValue($);if(J)this.stack.push(J);else yield*this.pop(),yield*this.step()}else{let J=this.peek(2);if(J.type==="block-map"&&(this.type==="map-value-ind"&&J.indent===$.indent||this.type==="newline"&&!J.items[J.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&J.type!=="flow-collection"){let Q=T5(J),q=I8(Q);i1($);let Y=$.end.splice(1,$.end.length);Y.push(this.sourceToken);let z={type:"block-map",offset:$.offset,indent:$.indent,items:[{start:q,key:$,sep:Y}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=z}else yield*this.lineEnd($)}}flowScalar($){if(this.onNewLine){let X=this.source.indexOf(`
|
|
164
164
|
`)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
|
|
165
|
-
`,X)+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 X=
|
|
165
|
+
`,X)+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 X=T5($),J=I8(X);return J.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=T5($),J=I8(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment($,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return $.every((J)=>J.type==="newline"||J.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()}}}oK.Parser=r1});var e1=A((zM)=>{var a1=b4(),eK=k6(),u6=x6(),$M=lX(),XM=i(),JM=l4(),s1=c4();function o1($){let X=$.prettyErrors!==!1;return{lineCounter:$.lineCounter||X&&new JM.LineCounter||null,prettyErrors:X}}function QM($,X={}){let{lineCounter:J,prettyErrors:Q}=o1(X),q=new s1.Parser(J?.addNewLine),Y=new a1.Composer(X),z=Array.from(Y.compose(q.parse($)));if(Q&&J)for(let G of z)G.errors.forEach(u6.prettifyError($,J)),G.warnings.forEach(u6.prettifyError($,J));if(z.length>0)return z;return Object.assign([],{empty:!0},Y.streamInfo())}function t1($,X={}){let{lineCounter:J,prettyErrors:Q}=o1(X),q=new s1.Parser(J?.addNewLine),Y=new a1.Composer(X),z=null;for(let G of Y.compose(q.parse($),!0,$.length))if(!z)z=G;else if(z.options.logLevel!=="silent"){z.errors.push(new u6.YAMLParseError(G.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Q&&J)z.errors.forEach(u6.prettifyError($,J)),z.warnings.forEach(u6.prettifyError($,J));return z}function qM($,X,J){let Q=void 0;if(typeof X==="function")Q=X;else if(J===void 0&&X&&typeof X==="object")J=X;let q=t1($,J);if(!q)return null;if(q.warnings.forEach((Y)=>$M.warn(q.options.logLevel,Y)),q.errors.length>0)if(q.options.logLevel!=="silent")throw q.errors[0];else q.errors=[];return q.toJS(Object.assign({reviver:Q},J))}function YM($,X,J){let Q=null;if(typeof X==="function"||Array.isArray(X))Q=X;else if(J===void 0&&X)J=X;if(typeof J==="string")J=J.length;if(typeof J==="number"){let q=Math.round(J);J=q<1?void 0:q>8?{indent:8}:{indent:q}}if($===void 0){let{keepUndefined:q}=J??X??{};if(!q)return}if(XM.isDocument($)&&!Q)return $.toString(J);return new eK.Document($,Q,J).toString(J)}zM.parse=qM;zM.parseAllDocuments=QM;zM.parseDocument=t1;zM.stringify=YM});var VM,BM,KM,d4,MM,E0,NM,wM,DM,OM,_R,LM,RM,AM,Z5,$Q,_M,FM,IM,EM,SM,jM,TM,ZM,CM,PM,bM,fM,kM,xM,yM,gM,vM,hM,uM,mM,lM,cM,m6,dM,pM,p4,iM,nM;var i4=b(()=>{VM=b4(),BM=k6(),KM=w4(),d4=x6(),MM=L6(),E0=i(),NM=R0(),wM=M$(),DM=_0(),OM=F0(),_R=S5(),LM=m4(),RM=l4(),AM=c4(),Z5=e1(),$Q=D6();_M=VM.Composer,FM=BM.Document,IM=KM.Schema,EM=d4.YAMLError,SM=d4.YAMLParseError,jM=d4.YAMLWarning,TM=MM.Alias,ZM=E0.isAlias,CM=E0.isCollection,PM=E0.isDocument,bM=E0.isMap,fM=E0.isNode,kM=E0.isPair,xM=E0.isScalar,yM=E0.isSeq,gM=NM.Pair,vM=wM.Scalar,hM=DM.YAMLMap,uM=OM.YAMLSeq,mM=LM.Lexer,lM=RM.LineCounter,cM=AM.Parser,m6=Z5.parse,dM=Z5.parseAllDocuments,pM=Z5.parseDocument,p4=Z5.stringify,iM=$Q.visit,nM=$Q.visitAsync});import{readFileSync as JQ,writeFileSync as rM,existsSync as XQ}from"fs";function $$($){let X=JQ($,"utf-8");return m6(X)}function Q$($,X){let J=p4(X,{lineWidth:0});rM($,J,"utf-8")}function e($){return JQ($,"utf-8")}function n($=process.cwd()){let X=["project.faf",".faf"];for(let Q of X){let q=`${$}/${Q}`;if(XQ(q))return q}let J=$.replace(/\/[^/]+$/,"");if(J!==$)for(let Q of X){let q=`${J}/${Q}`;if(XQ(q))return q}return null}var B$=b(()=>{i4()});var zQ=A(($N,YQ)=>{var __dirname="/Users/wolfejam/FAF/cli/node_modules/faf-scoring-kernel",QQ={};QQ.__wbindgen_placeholder__=$N;var C5=null;function E8(){if(C5===null||C5.byteLength===0)C5=new Uint8Array(o.memory.buffer);return C5}var qQ=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});qQ.decode();function aM($,X){return qQ.decode(E8().subarray($,$+X))}function s0($,X){return $=$>>>0,aM($,X)}$N.sdk_version=function(){let $,X;try{let J=o.sdk_version();return $=J[0],X=J[1],s0(J[0],J[1])}finally{o.__wbindgen_free($,X,1)}};var o$=0,l6=new TextEncoder;if(!("encodeInto"in l6))l6.encodeInto=function($,X){let J=l6.encode($);return X.set(J),{read:$.length,written:J.length}};function P5($,X,J){if(J===void 0){let G=l6.encode($),W=X(G.length,1)>>>0;return E8().subarray(W,W+G.length).set(G),o$=G.length,W}let Q=$.length,q=X(Q,1)>>>0,Y=E8(),z=0;for(;z<Q;z++){let G=$.charCodeAt(z);if(G>127)break;Y[q+z]=G}if(z!==Q){if(z!==0)$=$.slice(z);q=J(q,Q,Q=z+$.length*3,1)>>>0;let G=E8().subarray(q+z,q+Q),W=l6.encodeInto($,G);z+=W.written,q=J(q,Q,z,1)>>>0}return o$=z,q}function S8($){let X=o.__wbindgen_externrefs.get($);return o.__externref_table_dealloc($),X}$N.score_faf_enterprise=function($){let X,J;try{let Y=P5($,o.__wbindgen_malloc,o.__wbindgen_realloc),z=o$,G=o.score_faf_enterprise(Y,z);var Q=G[0],q=G[1];if(G[3])throw Q=0,q=0,S8(G[2]);return X=Q,J=q,s0(Q,q)}finally{o.__wbindgen_free(X,J,1)}};$N.score_faf=function($){let X,J;try{let Y=P5($,o.__wbindgen_malloc,o.__wbindgen_realloc),z=o$,G=o.score_faf(Y,z);var Q=G[0],q=G[1];if(G[3])throw Q=0,q=0,S8(G[2]);return X=Q,J=q,s0(Q,q)}finally{o.__wbindgen_free(X,J,1)}};function n4($,X){let J=X($.length*1,1)>>>0;return E8().set($,J/1),o$=$.length,J}$N.decompile_fafb=function($){let X,J;try{let Y=n4($,o.__wbindgen_malloc),z=o$,G=o.decompile_fafb(Y,z);var Q=G[0],q=G[1];if(G[3])throw Q=0,q=0,S8(G[2]);return X=Q,J=q,s0(Q,q)}finally{o.__wbindgen_free(X,J,1)}};$N.score_fafb=function($){let X,J;try{let Y=n4($,o.__wbindgen_malloc),z=o$,G=o.score_fafb(Y,z);var Q=G[0],q=G[1];if(G[3])throw Q=0,q=0,S8(G[2]);return X=Q,J=q,s0(Q,q)}finally{o.__wbindgen_free(X,J,1)}};$N.validate_faf=function($){let X=P5($,o.__wbindgen_malloc,o.__wbindgen_realloc),J=o$;return o.validate_faf(X,J)!==0};function sM($,X){return $=$>>>0,E8().subarray($/1,$/1+X)}$N.compile_fafb=function($){let X=P5($,o.__wbindgen_malloc,o.__wbindgen_realloc),J=o$,Q=o.compile_fafb(X,J);if(Q[3])throw S8(Q[2]);var q=sM(Q[0],Q[1]).slice();return o.__wbindgen_free(Q[0],Q[1]*1,1),q};$N.fafb_info=function($){let X,J;try{let Y=n4($,o.__wbindgen_malloc),z=o$,G=o.fafb_info(Y,z);var Q=G[0],q=G[1];if(G[3])throw Q=0,q=0,S8(G[2]);return X=Q,J=q,s0(Q,q)}finally{o.__wbindgen_free(X,J,1)}};$N.__wbindgen_cast_2241b6af4c4b2941=function($,X){return s0($,X)};$N.__wbindgen_init_externref_table=function(){let $=o.__wbindgen_externrefs,X=$.grow(4);$.set(0,void 0),$.set(X+0,void 0),$.set(X+1,null),$.set(X+2,!0),$.set(X+3,!1)};var oM=`${__dirname}/faf_wasm_sdk_bg.wasm`,tM=W$("fs").readFileSync(oM),eM=new WebAssembly.Module(tM),o=$N.__wasm=new WebAssembly.Instance(eM,QQ).exports;o.__wbindgen_start()});function c6(){if(!r4)try{r4=zQ()}catch{throw Error(`faf-scoring-kernel not installed.
|
|
166
166
|
|
|
167
167
|
Run: npm install faf-scoring-kernel
|
|
168
|
-
`)}return r4}function H$($){return JSON.parse(c6().score_faf($))}function GQ($){return c6().validate_faf($)}function WQ($){return c6().compile_fafb($)}function HQ($){return JSON.parse(c6().decompile_fafb($))}function UQ(){return c6().sdk_version()}var r4=null;var s4=($)=>(X)=>`\x1B[${$}m${X}\x1B[0m`,C,w,TR,L=($)=>`\x1B[38;2;0;212;212m${$}\x1B[0m`,o0=($)=>`\x1B[38;5;208m${$}\x1B[0m`;var a=b(()=>{C=s4("1"),w=s4("2"),TR=s4("3")});function bX($){return $.indicator}function VQ($){for(let X of a4)if($>=X.threshold)return X;return a4[a4.length-1]}var a4;var fX=b(()=>{a();a4=[{name:"TROPHY",indicator:`${o0("\uD83C\uDFC6")} ${o0("TROPHY")}`,threshold:100},{name:"GOLD",indicator:`${o0(C("★"))} ${o0("GOLD")}`,threshold:99},{name:"SILVER",indicator:`${L("◆")} ${L("SILVER")}`,threshold:95},{name:"BRONZE",indicator:`${L("◇")} ${L("BRONZE")}`,threshold:85},{name:"GREEN",indicator:`${C("●")} GREEN`,threshold:70},{name:"YELLOW",indicator:`${w("●")} YELLOW`,threshold:55},{name:"RED",indicator:`${w("○")} RED`,threshold:1},{name:"WHITE",indicator:`${w("♡")}`,threshold:0}]});function U$($){return{score:$.score,tier:VQ($.score),populated:$.populated,empty:$.empty,ignored:$.ignored,active:$.active,total:$.total,slots:$.slots}}var u$=b(()=>{fX()});function N$($,X,J=!1){let Q=bX($.tier),q=C(`${$.score}%`);if(console.log(`${Q} ${q} ${w(`${$.populated}/${$.active} slots`)} ${w("—")} ${X}`),$.tier.name!=="TROPHY"&&$.empty>0)console.log(w(` ${$.empty} empty`));if(J)console.log(""),VN($)}function VN($){for(let[X,J]of Object.entries($.slots)){let Q=J==="populated"?L("●"):J==="slotignored"?w("—"):w("○");console.log(` ${Q} ${J==="slotignored"?w(X):X}`)}}var t$=b(()=>{fX();a()});function j8($){if($===null||$===void 0||$==="")return!0;if(typeof $==="string")return BN.has($.toLowerCase().trim());if(Array.isArray($)&&$.length===0)return!0;if(typeof $==="object"&&Object.keys($).length===0)return!0;return!1}var I$,dR,pR,BN,T8;var G0=b(()=>{I$=[{index:1,path:"project.name",description:"Project name",category:"project"},{index:2,path:"project.goal",description:"What the project does",category:"project"},{index:3,path:"project.main_language",description:"Primary language",category:"project"},{index:4,path:"human_context.who",description:"Who is building this",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",description:"Framework (React, Svelte, etc.)",category:"frontend"},{index:11,path:"stack.css_framework",description:"CSS framework",category:"frontend"},{index:12,path:"stack.ui_library",description:"UI component library",category:"frontend"},{index:13,path:"stack.state_management",description:"State management",category:"frontend"},{index:14,path:"stack.backend",description:"Backend framework",category:"backend"},{index:15,path:"stack.api_type",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",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",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"}],dR=new Map(I$.map(($)=>[$.path,$])),pR=I$.filter(($)=>$.index<=21),BN=new Set(["describe your project goal","development teams","cloud platform","null","none","unknown","n/a","not applicable"]);T8={cli:["project","human"],library:["project","human"],mcp:["project","backend","universal","human"],backend:["project","backend","universal","human"],"data-science":["project","backend","human"],frontend:["project","frontend","human"],fullstack:["project","frontend","backend","universal","human"],svelte:["project","frontend","backend","universal","human"],framework:["project","frontend","backend","universal","human"],enterprise:["project","frontend","backend","universal","human","enterprise_infra","enterprise_app","enterprise_ops"]}});var BQ;var KQ=b(()=>{BQ=[{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:"FastAPI",slug:"fastapi",category:"backend",signals:[{type:"dependency",key:"fastapi"}]},{name:"Django",slug:"django",category:"backend",signals:[{type:"dependency",key:"django"},{type:"file",pattern:"manage.py"}]},{name:"Flask",slug:"flask",category:"backend",signals:[{type:"dependency",key:"flask"},{type:"file",pattern:"app.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:"SQLAlchemy",slug:"sqlalchemy",category:"database",signals:[{type:"dependency",key:"sqlalchemy"}]},{name:"Tortoise ORM",slug:"tortoise",category:"database",signals:[{type:"dependency",key:"tortoise-orm"}]},{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 (TS)",slug:"mcp-sdk-ts",category:"mcp",signals:[{type:"dependency",key:"@modelcontextprotocol/sdk"}]},{name:"FastMCP",slug:"fastmcp",category:"mcp",signals:[{type:"dependency",key:"fastmcp"}]},{name:"MCP SDK (Python)",slug:"mcp-sdk-py",category:"mcp",signals:[{type:"dependency",key:"mcp"}]},{name:"rmcp",slug:"rmcp",category:"mcp",signals:[{type:"dependency",key:"rmcp"}]},{name:"MCP Go",slug:"mcp-go",category:"mcp",signals:[{type:"dependency",key:"github.com/mark3labs/mcp-go"}]},{name:"MCP .NET",slug:"mcp-dotnet",category:"mcp",signals:[{type:"dependency",key:"ModelContextProtocol"}]},{name:"FastMCP (TS)",slug:"fastmcp-ts",category:"mcp",signals:[{type:"dependency",key:"@fastmcp/server"}]},{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"}]}]});import{existsSync as m,readFileSync as Z8,readdirSync as MQ}from"fs";import{join as u}from"path";function S0($){let X=u($,"package.json");if(!m(X))return null;try{return JSON.parse(Z8(X,"utf-8"))}catch{return null}}function NQ($){let X=S0($);if(X?.name)return{name:X.name,description:X.description};let J=u($,"pyproject.toml");if(m(J))try{let q=Z8(J,"utf-8"),Y=q.match(/^\s*name\s*=\s*"([^"]+)"/m),z=q.match(/^\s*description\s*=\s*"([^"]+)"/m);if(Y)return{name:Y[1],description:z?.[1]}}catch{}let Q=u($,"Cargo.toml");if(m(Q))try{let q=Z8(Q,"utf-8"),Y=q.match(/^\s*name\s*=\s*"([^"]+)"/m),z=q.match(/^\s*description\s*=\s*"([^"]+)"/m);if(Y)return{name:Y[1],description:z?.[1]}}catch{}return null}function KN($,X){if(!X.includes("*"))return m(u($,X));let J=X.split("/");if(J.length===1){let G=X.split("*")[0];try{return MQ($).some((W)=>W.startsWith(G))}catch{return!1}}let Q=u($,...J.slice(0,-1)),q=J[J.length-1],Y=q.split("*")[0],z=q.split("*")[1]||"";try{return MQ(Q).some((G)=>G.startsWith(Y)&&G.endsWith(z))}catch{return!1}}function MN($,X,J){switch($.type){case"dependency":return!!X?.dependencies?.[$.key];case"devDependency":return!!X?.devDependencies?.[$.key];case"file":return KN(J,$.pattern);default:return!1}}function NN($){let X=u($,"pyproject.toml");if(!m(X))return{};try{let J=Z8(X,"utf-8"),Q={},q=J.match(/dependencies\s*=\s*\[([\s\S]*)\]/);if(q){let Y=q[1].match(/"([^"]+)"/g)||[];for(let z of Y){let G=z.replace(/"/g,"").replace(/\[.*/,"").split(/[>=<]/)[0].trim().toLowerCase();if(G)Q[G]="*"}}return Q}catch{return{}}}function wN($){let X=u($,"Cargo.toml");if(!m(X))return{};try{let J=Z8(X,"utf-8"),Q={},q=J.match(/\[dependencies\]([\s\S]*?)(?:\[|$)/);if(q){let Y=q[1].split(`
|
|
169
|
-
`);for(let z of Y){let G=z.match(/^\s*([a-zA-Z_-]+)\s*=/);if(G)Q[G[1].toLowerCase()]="*"}}return Q}catch{return{}}}function o4($){let X=S0($),J=NN($),Q=wN($),q={...J,...Q},Y=X?{...X,dependencies:{...X.dependencies,...q}}:Object.keys(q).length>0?{dependencies:q}:null,z=BQ.map((H)=>{let
|
|
170
|
-
run ${C("'faf go'")} to reach 100%`))}function SQ($,X){let J={...$};for(let[Q,q]of Object.entries(X))if(!(Q in J)||J[Q]===null||J[Q]===void 0)J[Q]=q;else if(typeof q==="object"&&q!==null&&!Array.isArray(q))J[Q]=SQ(J[Q]??{},q);return J}var e4=b(()=>{kX();B$();u$();t$();a();G0()});var dQ=A((Z_,cN)=>{cN.exports={name:"faf-cli",version:"6.0.14",description:"Persistent AI Context Standard — project DNA for AI. IANA-registered. Anthropic-approved.",type:"module",icon:"https://faf.one/orange-smiley.svg",logo:"https://faf.one/orange-smiley.svg",main:"dist/index.js",bin:{faf:"dist/cli.js","faf-cli":"dist/cli.js"},exports:{".":{bun:"./src/index.ts",default:"./dist/index.js"}},files:["dist/**/*","skills/**/*","README.md","LICENSE","project.faf"],scripts:{dev:"bun run src/cli.ts",build:"bun build src/cli.ts --outfile dist/cli.js --target=node --minify && bun build src/index.ts --outfile dist/index.js --target=node --minify",compile:"bun build src/cli.ts --compile --bytecode --minify --outfile faf","compile:all":"bun build src/cli.ts --compile --target=bun-darwin-arm64 --outfile faf-darwin-arm64 && bun build src/cli.ts --compile --target=bun-darwin-x64 --outfile faf-darwin-x64 && bun build src/cli.ts --compile --target=bun-linux-x64 --outfile faf-linux-x64 && bun build src/cli.ts --compile --target=bun-windows-x64 --outfile faf-windows-x64.exe",test:"bun test","test:watch":"bun test --watch",lint:"eslint src/**/*.ts",format:"prettier --write 'src/**/*.ts'",prepublishOnly:"bun run build","test:coverage":"bun test --coverage",typecheck:"bun --bun tsc --noEmit"},keywords:["faf","ai-context","project-dna","bi-sync","cli","claude","gemini","cursor","mcp","model-context-protocol","persistent-context","ai-readiness","foundational"],author:"wolfejam <wolfejam@faf.one>",license:"MIT",repository:{type:"git",url:"git+https://github.com/Wolfe-Jam/faf-cli.git"},homepage:"https://faf.one",bugs:{url:"https://github.com/Wolfe-Jam/faf-cli/issues"},dependencies:{commander:"^14.0.3","faf-scoring-kernel":"^2.0.3",open:"8.4.2",yaml:"^2.8.3",zod:"^3.25.76"},optionalDependencies:{"@anthropic-ai/sdk":"^0.74.0"},devDependencies:{"@types/node":"^22.19.17","@typescript-eslint/eslint-plugin":"^8.58.0","@typescript-eslint/parser":"^8.58.0",eslint:"^9.39.4",prettier:"^3.8.1",typescript:"^5.9.3","typescript-eslint":"^8.58.0"},engines:{node:">=18.0.0"},publishConfig:{access:"public"}}});var W7=A((KF,Jq)=>{var Xq=W$("fs"),G7;function tN(){try{return Xq.statSync("/.dockerenv"),!0}catch($){return!1}}function eN(){try{return Xq.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch($){return!1}}Jq.exports=()=>{if(G7===void 0)G7=tN()||eN();return G7}});var Yq=A((MF,H7)=>{var $w=W$("os"),Xw=W$("fs"),Qq=W7(),qq=()=>{if(process.platform!=="linux")return!1;if($w.release().toLowerCase().includes("microsoft")){if(Qq())return!1;return!0}try{return Xw.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Qq():!1}catch($){return!1}};if(process.env.__IS_WSL_TEST__)H7.exports=qq;else H7.exports=qq()});var Gq=A((NF,zq)=>{zq.exports=($,X,J)=>{let Q=(q)=>Object.defineProperty($,X,{value:q,enumerable:!0,writable:!0});return Object.defineProperty($,X,{configurable:!0,enumerable:!0,get(){let q=J();return Q(q),q},set(q){Q(q)}}),$}});var Mq=A((wF,Kq)=>{var __dirname="/Users/wolfejam/FAF/cli/node_modules/open",Jw=W$("path"),Qw=W$("child_process"),{promises:hX,constants:Bq}=W$("fs"),vX=Yq(),qw=W7(),V7=Gq(),Wq=Jw.join(__dirname,"xdg-open"),{platform:b8,arch:Hq}=process,Yw=()=>{try{return hX.statSync("/run/.containerenv"),!0}catch{return!1}},U7;function zw(){if(U7===void 0)U7=Yw()||qw();return U7}var Gw=(()=>{let X;return async function(){if(X)return X;let J="/etc/wsl.conf",Q=!1;try{await hX.access(J,Bq.F_OK),Q=!0}catch{}if(!Q)return"/mnt/";let q=await hX.readFile(J,{encoding:"utf8"}),Y=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(q);if(!Y)return"/mnt/";return X=Y.groups.mountPoint.trim(),X=X.endsWith("/")?X:`${X}/`,X}})(),Uq=async($,X)=>{let J;for(let Q of $)try{return await X(Q)}catch(q){J=q}throw J},uX=async($)=>{if($={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...$},Array.isArray($.app))return Uq($.app,(G)=>uX({...$,app:G}));let{name:X,arguments:J=[]}=$.app||{};if(J=[...J],Array.isArray(X))return Uq(X,(G)=>uX({...$,app:{name:G,arguments:J}}));let Q,q=[],Y={};if(b8==="darwin"){if(Q="open",$.wait)q.push("--wait-apps");if($.background)q.push("--background");if($.newInstance)q.push("--new");if(X)q.push("-a",X)}else if(b8==="win32"||vX&&!zw()&&!X){let G=await Gw();if(Q=vX?`${G}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:`${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`,q.push("-NoProfile","-NonInteractive","–ExecutionPolicy","Bypass","-EncodedCommand"),!vX)Y.windowsVerbatimArguments=!0;let W=["Start"];if($.wait)W.push("-Wait");if(X){if(W.push(`"\`"${X}\`""`,"-ArgumentList"),$.target)J.unshift($.target)}else if($.target)W.push(`"${$.target}"`);if(J.length>0)J=J.map((H)=>`"\`"${H}\`""`),W.push(J.join(","));$.target=Buffer.from(W.join(" "),"utf16le").toString("base64")}else{if(X)Q=X;else{let G=!__dirname||__dirname==="/",W=!1;try{await hX.access(Wq,Bq.X_OK),W=!0}catch{}Q=process.versions.electron||b8==="android"||G||!W?"xdg-open":Wq}if(J.length>0)q.push(...J);if(!$.wait)Y.stdio="ignore",Y.detached=!0}if($.target)q.push($.target);if(b8==="darwin"&&J.length>0)q.push("--args",...J);let z=Qw.spawn(Q,q,Y);if($.wait)return new Promise((G,W)=>{z.once("error",W),z.once("close",(H)=>{if(!$.allowNonzeroExitCode&&H>0){W(Error(`Exited with code ${H}`));return}G(z)})});return z.unref(),z},B7=($,X)=>{if(typeof $!=="string")throw TypeError("Expected a `target`");return uX({...X,target:$})},Ww=($,X)=>{if(typeof $!=="string")throw TypeError("Expected a `name`");let{arguments:J=[]}=X||{};if(J!==void 0&&J!==null&&!Array.isArray(J))throw TypeError("Expected `appArguments` as Array type");return uX({...X,app:{name:$,arguments:J}})};function Vq($){if(typeof $==="string"||Array.isArray($))return $;let{[Hq]:X}=$;if(!X)throw Error(`${Hq} is not supported`);return X}function K7({[b8]:$},{wsl:X}){if(X&&vX)return Vq(X);if(!$)throw Error(`${b8} is not supported`);return Vq($)}var mX={};V7(mX,"chrome",()=>K7({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));V7(mX,"firefox",()=>K7({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));V7(mX,"edge",()=>K7({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));B7.apps=mX;B7.openApp=Ww;Kq.exports=B7});function I($,X,J,Q,q){if(Q==="m")throw TypeError("Private method is not writable");if(Q==="a"&&!q)throw TypeError("Private accessor was defined without a setter");if(typeof X==="function"?$!==X||!q:!X.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Q==="a"?q.call($,J):q?q.value=J:X.set($,J),J}function K($,X,J,Q){if(J==="a"&&!Q)throw TypeError("Private accessor was defined without a getter");if(typeof X==="function"?$!==X||!Q:!X.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?Q:J==="a"?Q.call($):Q?Q.value:X.get($)}var W0=()=>{};var M7=function(){let{crypto:$}=globalThis;if($?.randomUUID)return M7=$.randomUUID.bind($),$.randomUUID();let X=new Uint8Array(1),J=$?()=>$.getRandomValues(X)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(Q)=>(+Q^J()&15>>+Q/4).toString(16))};function H0($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var o6=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let X=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)X.stack=$.stack;if($.cause&&!X.cause)X.cause=$.cause;if($.name)X.name=$.name;return X}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};var j,w$,A$,T0,f8,k8,x8,y8,g8,v8,h8,u8,m8;var T$=b(()=>{j=class j extends Error{};w$=class w$ extends j{constructor($,X,J,Q){super(`${w$.makeMessage($,X,J)}`);this.status=$,this.headers=Q,this.requestID=Q?.get("request-id"),this.error=X}static makeMessage($,X,J){let Q=X?.message?typeof X.message==="string"?X.message:JSON.stringify(X.message):X?JSON.stringify(X):J;if($&&Q)return`${$} ${Q}`;if($)return`${$} status code (no body)`;if(Q)return Q;return"(no status code or body)"}static generate($,X,J,Q){if(!$||!Q)return new T0({message:J,cause:o6(X)});let q=X;if($===400)return new k8($,q,J,Q);if($===401)return new x8($,q,J,Q);if($===403)return new y8($,q,J,Q);if($===404)return new g8($,q,J,Q);if($===409)return new v8($,q,J,Q);if($===422)return new h8($,q,J,Q);if($===429)return new u8($,q,J,Q);if($>=500)return new m8($,q,J,Q);return new w$($,q,J,Q)}};A$=class A$ extends w${constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}};T0=class T0 extends w${constructor({message:$,cause:X}){super(void 0,void 0,$||"Connection error.",void 0);if(X)this.cause=X}};f8=class f8 extends T0{constructor({message:$}={}){super({message:$??"Request timed out."})}};k8=class k8 extends w${};x8=class x8 extends w${};y8=class y8 extends w${};g8=class g8 extends w${};v8=class v8 extends w${};h8=class h8 extends w${};u8=class u8 extends w${};m8=class m8 extends w${}});function lX($){if(typeof $!=="object")return{};return $??{}}function Iq($){if(!$)return!0;for(let X in $)return!1;return!0}function Eq($,X){return Object.prototype.hasOwnProperty.call($,X)}var jw,Fq=($)=>{return jw.test($)},N7=($)=>(N7=Array.isArray,N7($)),w7,Sq=($,X)=>{if(typeof X!=="number"||!Number.isInteger(X))throw new j(`${$} must be an integer`);if(X<0)throw new j(`${$} must be a positive integer`);return X},cX=($)=>{try{return JSON.parse($)}catch(X){return}};var e0=b(()=>{T$();jw=/^[a-z][a-z0-9+.-]*:/i,w7=N7});var jq=($)=>new Promise((X)=>setTimeout(X,$));var Z0="0.74.0";function Tw(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}function Cw(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:X,pattern:J}of $){let Q=J.exec(navigator.userAgent);if(Q){let q=Q[1]||0,Y=Q[2]||0,z=Q[3]||0;return{browser:X,version:`${q}.${Y}.${z}`}}}return null}var Pq=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"},Zw=()=>{let $=Tw();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":Zq(Deno.build.os),"X-Stainless-Arch":Tq(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":Zq(globalThis.process.platform??"unknown"),"X-Stainless-Arch":Tq(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let X=Cw();if(X)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${X.browser}`,"X-Stainless-Runtime-Version":X.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}},Tq=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},Zq=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},Cq,bq=()=>{return Cq??(Cq=Zw())};var D7=()=>{};function fq(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function O7(...$){let X=globalThis.ReadableStream;if(typeof X>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new X(...$)}function dX($){let X=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return O7({start(){},async pull(J){let{done:Q,value:q}=await X.next();if(Q)J.close();else J.enqueue(q)},async cancel(){await X.return?.()}})}function t6($){if($[Symbol.asyncIterator])return $;let X=$.getReader();return{async next(){try{let J=await X.read();if(J?.done)X.releaseLock();return J}catch(J){throw X.releaseLock(),J}},async return(){let J=X.cancel();return X.releaseLock(),await J,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function kq($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let X=$.getReader(),J=X.cancel();X.releaseLock(),await J}var xq=({headers:$,body:X})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(X)}};function vq($){let X=0;for(let q of $)X+=q.length;let J=new Uint8Array(X),Q=0;for(let q of $)J.set(q,Q),Q+=q.length;return J}function e6($){let X;return(yq??(X=new globalThis.TextEncoder,yq=X.encode.bind(X)))($)}function L7($){let X;return(gq??(X=new globalThis.TextDecoder,gq=X.decode.bind(X)))($)}var yq,gq;class C0{constructor(){Z$.set(this,void 0),C$.set(this,void 0),I(this,Z$,new Uint8Array,"f"),I(this,C$,null,"f")}decode($){if($==null)return[];let X=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?e6($):$;I(this,Z$,vq([K(this,Z$,"f"),X]),"f");let J=[],Q;while((Q=fw(K(this,Z$,"f"),K(this,C$,"f")))!=null){if(Q.carriage&&K(this,C$,"f")==null){I(this,C$,Q.index,"f");continue}if(K(this,C$,"f")!=null&&(Q.index!==K(this,C$,"f")+1||Q.carriage)){J.push(L7(K(this,Z$,"f").subarray(0,K(this,C$,"f")-1))),I(this,Z$,K(this,Z$,"f").subarray(K(this,C$,"f")),"f"),I(this,C$,null,"f");continue}let q=K(this,C$,"f")!==null?Q.preceding-1:Q.preceding,Y=L7(K(this,Z$,"f").subarray(0,q));J.push(Y),I(this,Z$,K(this,Z$,"f").subarray(Q.index),"f"),I(this,C$,null,"f")}return J}flush(){if(!K(this,Z$,"f").length)return[];return this.decode(`
|
|
168
|
+
`)}return r4}function H$($){return JSON.parse(c6().score_faf($))}function GQ($){return c6().validate_faf($)}function WQ($){return c6().compile_fafb($)}function HQ($){return JSON.parse(c6().decompile_fafb($))}function UQ(){return c6().sdk_version()}var r4=null;var a4=($)=>(X)=>`\x1B[${$}m${X}\x1B[0m`,C,w,TR,L=($)=>`\x1B[38;2;0;212;212m${$}\x1B[0m`,o0=($)=>`\x1B[38;5;208m${$}\x1B[0m`;var t=b(()=>{C=a4("1"),w=a4("2"),TR=a4("3")});function b5($){return $.indicator}function VQ($){for(let X of s4)if($>=X.threshold)return X;return s4[s4.length-1]}var s4;var f5=b(()=>{t();s4=[{name:"TROPHY",indicator:`${o0("\uD83C\uDFC6")} ${o0("TROPHY")}`,threshold:100},{name:"GOLD",indicator:`${o0(C("★"))} ${o0("GOLD")}`,threshold:99},{name:"SILVER",indicator:`${L("◆")} ${L("SILVER")}`,threshold:95},{name:"BRONZE",indicator:`${L("◇")} ${L("BRONZE")}`,threshold:85},{name:"GREEN",indicator:`${C("●")} GREEN`,threshold:70},{name:"YELLOW",indicator:`${w("●")} YELLOW`,threshold:55},{name:"RED",indicator:`${w("○")} RED`,threshold:1},{name:"WHITE",indicator:`${w("♡")}`,threshold:0}]});function U$($){return{score:$.score,tier:VQ($.score),populated:$.populated,empty:$.empty,ignored:$.ignored,active:$.active,total:$.total,slots:$.slots}}var u$=b(()=>{f5()});function N$($,X,J=!1){let Q=b5($.tier),q=C(`${$.score}%`);if(console.log(`${Q} ${q} ${w(`${$.populated}/${$.active} slots`)} ${w("—")} ${X}`),$.tier.name!=="TROPHY"&&$.empty>0)console.log(w(` ${$.empty} empty`));if(J)console.log(""),VN($)}function VN($){for(let[X,J]of Object.entries($.slots)){let Q=J==="populated"?L("●"):J==="slotignored"?w("—"):w("○");console.log(` ${Q} ${J==="slotignored"?w(X):X}`)}}var t$=b(()=>{f5();t()});function j8($){if($===null||$===void 0||$==="")return!0;if(typeof $==="string")return BN.has($.toLowerCase().trim());if(Array.isArray($)&&$.length===0)return!0;if(typeof $==="object"&&Object.keys($).length===0)return!0;return!1}var I$,dR,pR,BN,T8;var G0=b(()=>{I$=[{index:1,path:"project.name",description:"Project name",category:"project"},{index:2,path:"project.goal",description:"What the project does",category:"project"},{index:3,path:"project.main_language",description:"Primary language",category:"project"},{index:4,path:"human_context.who",description:"Who is building this",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",description:"Framework (React, Svelte, etc.)",category:"frontend"},{index:11,path:"stack.css_framework",description:"CSS framework",category:"frontend"},{index:12,path:"stack.ui_library",description:"UI component library",category:"frontend"},{index:13,path:"stack.state_management",description:"State management",category:"frontend"},{index:14,path:"stack.backend",description:"Backend framework",category:"backend"},{index:15,path:"stack.api_type",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",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",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"}],dR=new Map(I$.map(($)=>[$.path,$])),pR=I$.filter(($)=>$.index<=21),BN=new Set(["describe your project goal","development teams","cloud platform","null","none","unknown","n/a","not applicable"]);T8={cli:["project","human"],library:["project","human"],"static-site":["project","frontend","human"],mcp:["project","backend","universal","human"],backend:["project","backend","universal","human"],"data-science":["project","backend","human"],frontend:["project","frontend","human"],fullstack:["project","frontend","backend","universal","human"],svelte:["project","frontend","backend","universal","human"],framework:["project","frontend","backend","universal","human"],enterprise:["project","frontend","backend","universal","human","enterprise_infra","enterprise_app","enterprise_ops"]}});var BQ;var KQ=b(()=>{BQ=[{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:"FastAPI",slug:"fastapi",category:"backend",signals:[{type:"dependency",key:"fastapi"}]},{name:"Django",slug:"django",category:"backend",signals:[{type:"dependency",key:"django"},{type:"file",pattern:"manage.py"}]},{name:"Flask",slug:"flask",category:"backend",signals:[{type:"dependency",key:"flask"},{type:"file",pattern:"app.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:"SQLAlchemy",slug:"sqlalchemy",category:"database",signals:[{type:"dependency",key:"sqlalchemy"}]},{name:"Tortoise ORM",slug:"tortoise",category:"database",signals:[{type:"dependency",key:"tortoise-orm"}]},{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 (TS)",slug:"mcp-sdk-ts",category:"mcp",signals:[{type:"dependency",key:"@modelcontextprotocol/sdk"}]},{name:"FastMCP",slug:"fastmcp",category:"mcp",signals:[{type:"dependency",key:"fastmcp"}]},{name:"MCP SDK (Python)",slug:"mcp-sdk-py",category:"mcp",signals:[{type:"dependency",key:"mcp"}]},{name:"rmcp",slug:"rmcp",category:"mcp",signals:[{type:"dependency",key:"rmcp"}]},{name:"MCP Go",slug:"mcp-go",category:"mcp",signals:[{type:"dependency",key:"github.com/mark3labs/mcp-go"}]},{name:"MCP .NET",slug:"mcp-dotnet",category:"mcp",signals:[{type:"dependency",key:"ModelContextProtocol"}]},{name:"FastMCP (TS)",slug:"fastmcp-ts",category:"mcp",signals:[{type:"dependency",key:"@fastmcp/server"}]},{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"}]}]});import{existsSync as u,readFileSync as Z8,readdirSync as MQ}from"fs";import{join as v}from"path";function S0($){let X=v($,"package.json");if(!u(X))return null;try{return JSON.parse(Z8(X,"utf-8"))}catch{return null}}function NQ($){let X=S0($);if(X?.name)return{name:X.name,description:X.description};let J=v($,"pyproject.toml");if(u(J))try{let q=Z8(J,"utf-8"),Y=q.match(/^\s*name\s*=\s*"([^"]+)"/m),z=q.match(/^\s*description\s*=\s*"([^"]+)"/m);if(Y)return{name:Y[1],description:z?.[1]}}catch{}let Q=v($,"Cargo.toml");if(u(Q))try{let q=Z8(Q,"utf-8"),Y=q.match(/^\s*name\s*=\s*"([^"]+)"/m),z=q.match(/^\s*description\s*=\s*"([^"]+)"/m);if(Y)return{name:Y[1],description:z?.[1]}}catch{}return null}function KN($,X){if(!X.includes("*"))return u(v($,X));let J=X.split("/");if(J.length===1){let G=X.split("*")[0];try{return MQ($).some((W)=>W.startsWith(G))}catch{return!1}}let Q=v($,...J.slice(0,-1)),q=J[J.length-1],Y=q.split("*")[0],z=q.split("*")[1]||"";try{return MQ(Q).some((G)=>G.startsWith(Y)&&G.endsWith(z))}catch{return!1}}function MN($,X,J){switch($.type){case"dependency":return!!X?.dependencies?.[$.key];case"devDependency":return!!X?.devDependencies?.[$.key];case"file":return KN(J,$.pattern);default:return!1}}function NN($){let X=v($,"pyproject.toml");if(!u(X))return{};try{let J=Z8(X,"utf-8"),Q={},q=J.match(/dependencies\s*=\s*\[([\s\S]*)\]/);if(q){let Y=q[1].match(/"([^"]+)"/g)||[];for(let z of Y){let G=z.replace(/"/g,"").replace(/\[.*/,"").split(/[>=<]/)[0].trim().toLowerCase();if(G)Q[G]="*"}}return Q}catch{return{}}}function wN($){let X=v($,"Cargo.toml");if(!u(X))return{};try{let J=Z8(X,"utf-8"),Q={},q=J.match(/\[dependencies\]([\s\S]*?)(?:\[|$)/);if(q){let Y=q[1].split(`
|
|
169
|
+
`);for(let z of Y){let G=z.match(/^\s*([a-zA-Z_-]+)\s*=/);if(G)Q[G[1].toLowerCase()]="*"}}return Q}catch{return{}}}function o4($){let X=S0($),J=NN($),Q=wN($),q={...J,...Q},Y=X?{...X,dependencies:{...X.dependencies,...q}}:Object.keys(q).length>0?{dependencies:q}:null,z=BQ.map((H)=>{let V=H.signals.filter((B)=>MN(B,Y,$)).length/H.signals.length;return{name:H.name,slug:H.slug,category:H.category,confidence:V}}).filter((H)=>H.confidence>0).sort((H,U)=>U.confidence-H.confidence),G=new Set(z.map((H)=>H.slug)),W=new Set;if(G.has("nextjs"))W.add("react");if(G.has("nuxt"))W.add("vue");if(G.has("sveltekit"))W.add("svelte");return z.filter((H)=>!W.has(H.slug))}function wQ($){let X=S0($);if(X?.devDependencies?.typescript||X?.dependencies?.typescript)return"TypeScript";if(u(v($,"tsconfig.json")))return"TypeScript";if(u(v($,"index.html"))||u(v($,"index.htm")))return"HTML";if(u(v($,"Cargo.toml")))return"Rust";if(u(v($,"go.mod")))return"Go";if(u(v($,"pyproject.toml"))||u(v($,"setup.py")))return"Python";if(u(v($,"Gemfile")))return"Ruby";if(u(v($,"pom.xml"))||u(v($,"build.gradle")))return"Java";if(u(v($,"Package.swift")))return"Swift";if(u(v($,"build.zig")))return"Zig";if(X)return"JavaScript";return"Unknown"}function DQ($){let X=S0($),J=o4($);if(J.some((V)=>V.category==="mcp"))return"mcp";if(X?.bin)return"cli";let q=J.some((V)=>V.slug==="svelte"||V.slug==="sveltekit");if(X?.private===!0&&(u(v($,"pnpm-workspace.yaml"))||X?.workspaces!==void 0)&&q)return"framework";if(q)return"svelte";if(J.some((V)=>V.slug==="nextjs"||V.slug==="nuxt"))return"fullstack";let G=u(v($,"index.html"))||u(v($,"index.htm")),W=u(v($,"404.html"))||u(v($,"about.html"))||u(v($,"contact.html")),H=J.some((V)=>V.category==="frontend"),U=J.some((V)=>V.category==="backend");if(H&&U)return"fullstack";if((G||W)&&!U)return"static-site";if(H)return"frontend";if(U)return"backend";if(X?.main&&!X?.bin)return"library";return"library"}function OQ($){if(u(v($,"bunfig.toml")))return"Bun";if(u(v($,"deno.json"))||u(v($,"deno.jsonc")))return"Deno";if(S0($))return"Node.js";if(u(v($,"Cargo.toml")))return"Rust";if(u(v($,"go.mod")))return"Go";return"Unknown"}function LQ($){if(u(v($,"bun.lockb"))||u(v($,"bun.lock")))return"bun";if(u(v($,"pnpm-lock.yaml")))return"pnpm";if(u(v($,"yarn.lock")))return"yarn";if(u(v($,"package-lock.json")))return"npm";return"npm"}function RQ($){if(u(v($,".github/workflows")))return"GitHub Actions";if(u(v($,".gitlab-ci.yml")))return"GitLab CI";if(u(v($,".circleci")))return"CircleCI";if(u(v($,"Jenkinsfile")))return"Jenkins";return null}function AQ($){if(u(v($,"vercel.json")))return"Vercel";if(u(v($,"netlify.toml")))return"Netlify";if(u(v($,"wrangler.toml")))return"Cloudflare";if(u(v($,"Dockerfile")))return"Docker";if(u(v($,"fly.toml")))return"Fly.io";if(u(v($,"render.yaml")))return"Render";return null}function _Q($){let X=v($,"svelte.config.js");if(!u(X))return null;try{let Q=Z8(X,"utf-8").match(/@sveltejs\/adapter-(\w+)/);if(Q){let q=Q[1];switch(q){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 q}}return null}catch{return null}}function FQ($){let X=S0($);if(X?.devDependencies?.vite||X?.dependencies?.vite)return"Vite";if(X?.devDependencies?.webpack||X?.dependencies?.webpack)return"webpack";if(X?.devDependencies?.esbuild||X?.dependencies?.esbuild)return"esbuild";if(u(v($,"tsconfig.json"))&&X?.devDependencies?.typescript)return"TypeScript (tsc)";return null}var IQ=b(()=>{KQ()});function C8($){let X=S0($),J=o4($),Q=wQ($),q=DQ($),Y=OQ($),z=LQ($),G=RQ($),W=AQ($),H=FQ($),U=J.find((X$)=>X$.category==="frontend"),V=J.find((X$)=>X$.category==="css"),B=J.find((X$)=>X$.category==="ui"),N=J.find((X$)=>X$.category==="state"),R=J.find((X$)=>X$.category==="backend"),M=J.find((X$)=>X$.category==="database"),D=T8[q]||T8.library,F=q==="framework",T=J.some((X$)=>X$.slug==="svelte"||X$.slug==="sveltekit"),P=F&&T?"svelte":F?null:null,f=q==="mcp",g=f?J.find((X$)=>X$.category==="mcp"):null,x=g?.slug??null,a=q==="svelte"||P==="svelte",S=a?_Q($):null,G$=a&&J.some((X$)=>X$.slug==="sveltekit"),r$=new Set(["css_framework","ui_library","database","connection","hosting"]),p={},V$=I$.filter((X$)=>X$.path.startsWith("stack."));for(let X$ of V$){let r=X$.path.replace("stack.","");if(!D.includes(X$.category)){p[r]="slotignored";continue}if(F&&r$.has(r)){p[r]="slotignored";continue}switch(r){case"frontend":if(q==="static-site")p[r]="Vanilla HTML";else p[r]=U?.name??(q==="cli"?"CLI":"");break;case"css_framework":if(q==="static-site")p[r]="Vanilla CSS";else p[r]=V?.name??"";break;case"ui_library":if(q==="static-site")p[r]="Vanilla JS";else p[r]=B?.name??"";break;case"state_management":p[r]=a?N?.name??"Runes":N?.name??"";break;case"backend":if(f&&g)p[r]=g.name;else if(q==="static-site")p[r]="Static";else if(a)p[r]=G$?"SvelteKit":R?.name??"";else p[r]=R?.name??"";break;case"api_type":if(f)p[r]="MCP (stdio/SSE)";else if(G$)p[r]="Server Routes";else p[r]="";break;case"runtime":if(q==="static-site")p[r]="Browser";else p[r]=Y!=="Unknown"?Y:"";break;case"database":p[r]=M?.name??"";break;case"connection":p[r]=M?.name??"";break;case"hosting":if(a&&S)p[r]=S;else if(q==="static-site"&&W)p[r]=`${W} (detected)`;else p[r]=W??"";break;case"build":p[r]=a?"Vite":H??"";break;case"cicd":if(q==="static-site"&&G)p[r]=`${G} (detected)`;else p[r]=G??"";break;case"package_manager":p[r]=z;break;default:p[r]="";break}}let B8={},tY=I$.filter((X$)=>X$.path.startsWith("monorepo."));for(let X$ of tY){let r=X$.path.replace("monorepo.","");if(!D.includes(X$.category))B8[r]="slotignored";else B8[r]=""}let Z9=NQ($),FX={name:Z9?.name??$.split("/").pop()??"project",goal:Z9?.description??"",main_language:Q,type:q};if(F&&P)FX.framework=P;if(f&&x)FX.framework=x;return{faf_version:"3.0",project:FX,stack:p,human_context:{who:"",what:X?.description??"",why:"",where:"",when:"",how:""},monorepo:B8}}var k5=b(()=>{G0();IQ()});var jQ={};EX(jQ,{autoCommand:()=>t4});import{existsSync as ON}from"fs";import{join as LN}from"path";function t4(){let $=process.cwd(),X=LN($,"project.faf"),J=C8($);if(ON(X)){let Y=$$(X),z=SQ(Y,J);Q$(X,z),console.log(`${L("updated")} ${X}`)}else{let Y=J.project?.type??"library",z=T8[Y]||T8.library;for(let G of I$)if(!z.includes(G.category)){let[W,H]=G.path.split(".");if(W==="stack"&&J.stack)J.stack[H]="slotignored";if(W==="monorepo"&&J.monorepo)J.monorepo[H]="slotignored"}Q$(X,J),console.log(`${L("created")} ${X}`)}let Q=e(X),q=U$(H$(Q));if(N$(q,X),q.score<100)console.log(w(`
|
|
170
|
+
run ${C("'faf go'")} to reach 100%`))}function SQ($,X){let J={...$};for(let[Q,q]of Object.entries(X))if(!(Q in J)||J[Q]===null||J[Q]===void 0)J[Q]=q;else if(typeof q==="object"&&q!==null&&!Array.isArray(q))J[Q]=SQ(J[Q]??{},q);return J}var e4=b(()=>{k5();B$();u$();t$();t();G0()});var dQ=A((Z_,cN)=>{cN.exports={name:"faf-cli",version:"6.0.15",description:"51,582+ downloads | Claude Code Skills | Persistent AI Context Standard — project DNA for AI. IANA-registered. Anthropic-approved.",type:"module",icon:"https://faf.one/orange-smiley.svg",logo:"https://faf.one/orange-smiley.svg",main:"dist/index.js",bin:{faf:"dist/cli.js","faf-cli":"dist/cli.js"},exports:{".":{bun:"./src/index.ts",default:"./dist/index.js"}},files:["dist/**/*","skills/**/*","README.md","LICENSE","project.faf"],scripts:{dev:"bun run src/cli.ts",build:"bun build src/cli.ts --outfile dist/cli.js --target=node --minify && bun build src/index.ts --outfile dist/index.js --target=node --minify",compile:"bun build src/cli.ts --compile --bytecode --minify --outfile faf","compile:all":"bun build src/cli.ts --compile --target=bun-darwin-arm64 --outfile faf-darwin-arm64 && bun build src/cli.ts --compile --target=bun-darwin-x64 --outfile faf-darwin-x64 && bun build src/cli.ts --compile --target=bun-linux-x64 --outfile faf-linux-x64 && bun build src/cli.ts --compile --target=bun-windows-x64 --outfile faf-windows-x64.exe",test:"bun test","test:watch":"bun test --watch",lint:"eslint src/**/*.ts",format:"prettier --write 'src/**/*.ts'",prepublishOnly:"bun run build","test:coverage":"bun test --coverage",typecheck:"bun --bun tsc --noEmit"},keywords:["faf","ai-context","project-dna","bi-sync","cli","claude","gemini","cursor","mcp","model-context-protocol","persistent-context","ai-readiness","foundational"],author:"wolfejam <wolfejam@faf.one>",license:"MIT",repository:{type:"git",url:"git+https://github.com/Wolfe-Jam/faf-cli.git"},homepage:"https://faf.one",bugs:{url:"https://github.com/Wolfe-Jam/faf-cli/issues"},dependencies:{commander:"^14.0.3","faf-scoring-kernel":"^2.0.3",open:"8.4.2",yaml:"^2.8.3",zod:"^3.25.76"},optionalDependencies:{"@anthropic-ai/sdk":"^0.74.0"},devDependencies:{"@types/node":"^22.19.17","@typescript-eslint/eslint-plugin":"^8.58.0","@typescript-eslint/parser":"^8.58.0",eslint:"^9.39.4",prettier:"^3.8.1",typescript:"^5.9.3","typescript-eslint":"^8.58.0"},engines:{node:">=18.0.0"},publishConfig:{access:"public"}}});var W7=A((KF,Jq)=>{var Xq=W$("fs"),G7;function tN(){try{return Xq.statSync("/.dockerenv"),!0}catch($){return!1}}function eN(){try{return Xq.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch($){return!1}}Jq.exports=()=>{if(G7===void 0)G7=tN()||eN();return G7}});var Yq=A((MF,H7)=>{var $w=W$("os"),Xw=W$("fs"),Qq=W7(),qq=()=>{if(process.platform!=="linux")return!1;if($w.release().toLowerCase().includes("microsoft")){if(Qq())return!1;return!0}try{return Xw.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Qq():!1}catch($){return!1}};if(process.env.__IS_WSL_TEST__)H7.exports=qq;else H7.exports=qq()});var Gq=A((NF,zq)=>{zq.exports=($,X,J)=>{let Q=(q)=>Object.defineProperty($,X,{value:q,enumerable:!0,writable:!0});return Object.defineProperty($,X,{configurable:!0,enumerable:!0,get(){let q=J();return Q(q),q},set(q){Q(q)}}),$}});var Mq=A((wF,Kq)=>{var __dirname="/Users/wolfejam/FAF/cli/node_modules/open",Jw=W$("path"),Qw=W$("child_process"),{promises:h5,constants:Bq}=W$("fs"),v5=Yq(),qw=W7(),V7=Gq(),Wq=Jw.join(__dirname,"xdg-open"),{platform:b8,arch:Hq}=process,Yw=()=>{try{return h5.statSync("/run/.containerenv"),!0}catch{return!1}},U7;function zw(){if(U7===void 0)U7=Yw()||qw();return U7}var Gw=(()=>{let X;return async function(){if(X)return X;let J="/etc/wsl.conf",Q=!1;try{await h5.access(J,Bq.F_OK),Q=!0}catch{}if(!Q)return"/mnt/";let q=await h5.readFile(J,{encoding:"utf8"}),Y=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(q);if(!Y)return"/mnt/";return X=Y.groups.mountPoint.trim(),X=X.endsWith("/")?X:`${X}/`,X}})(),Uq=async($,X)=>{let J;for(let Q of $)try{return await X(Q)}catch(q){J=q}throw J},u5=async($)=>{if($={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...$},Array.isArray($.app))return Uq($.app,(G)=>u5({...$,app:G}));let{name:X,arguments:J=[]}=$.app||{};if(J=[...J],Array.isArray(X))return Uq(X,(G)=>u5({...$,app:{name:G,arguments:J}}));let Q,q=[],Y={};if(b8==="darwin"){if(Q="open",$.wait)q.push("--wait-apps");if($.background)q.push("--background");if($.newInstance)q.push("--new");if(X)q.push("-a",X)}else if(b8==="win32"||v5&&!zw()&&!X){let G=await Gw();if(Q=v5?`${G}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:`${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`,q.push("-NoProfile","-NonInteractive","–ExecutionPolicy","Bypass","-EncodedCommand"),!v5)Y.windowsVerbatimArguments=!0;let W=["Start"];if($.wait)W.push("-Wait");if(X){if(W.push(`"\`"${X}\`""`,"-ArgumentList"),$.target)J.unshift($.target)}else if($.target)W.push(`"${$.target}"`);if(J.length>0)J=J.map((H)=>`"\`"${H}\`""`),W.push(J.join(","));$.target=Buffer.from(W.join(" "),"utf16le").toString("base64")}else{if(X)Q=X;else{let G=!__dirname||__dirname==="/",W=!1;try{await h5.access(Wq,Bq.X_OK),W=!0}catch{}Q=process.versions.electron||b8==="android"||G||!W?"xdg-open":Wq}if(J.length>0)q.push(...J);if(!$.wait)Y.stdio="ignore",Y.detached=!0}if($.target)q.push($.target);if(b8==="darwin"&&J.length>0)q.push("--args",...J);let z=Qw.spawn(Q,q,Y);if($.wait)return new Promise((G,W)=>{z.once("error",W),z.once("close",(H)=>{if(!$.allowNonzeroExitCode&&H>0){W(Error(`Exited with code ${H}`));return}G(z)})});return z.unref(),z},B7=($,X)=>{if(typeof $!=="string")throw TypeError("Expected a `target`");return u5({...X,target:$})},Ww=($,X)=>{if(typeof $!=="string")throw TypeError("Expected a `name`");let{arguments:J=[]}=X||{};if(J!==void 0&&J!==null&&!Array.isArray(J))throw TypeError("Expected `appArguments` as Array type");return u5({...X,app:{name:$,arguments:J}})};function Vq($){if(typeof $==="string"||Array.isArray($))return $;let{[Hq]:X}=$;if(!X)throw Error(`${Hq} is not supported`);return X}function K7({[b8]:$},{wsl:X}){if(X&&v5)return Vq(X);if(!$)throw Error(`${b8} is not supported`);return Vq($)}var m5={};V7(m5,"chrome",()=>K7({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));V7(m5,"firefox",()=>K7({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));V7(m5,"edge",()=>K7({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));B7.apps=m5;B7.openApp=Ww;Kq.exports=B7});function I($,X,J,Q,q){if(Q==="m")throw TypeError("Private method is not writable");if(Q==="a"&&!q)throw TypeError("Private accessor was defined without a setter");if(typeof X==="function"?$!==X||!q:!X.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Q==="a"?q.call($,J):q?q.value=J:X.set($,J),J}function K($,X,J,Q){if(J==="a"&&!Q)throw TypeError("Private accessor was defined without a getter");if(typeof X==="function"?$!==X||!Q:!X.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return J==="m"?Q:J==="a"?Q.call($):Q?Q.value:X.get($)}var W0=()=>{};var M7=function(){let{crypto:$}=globalThis;if($?.randomUUID)return M7=$.randomUUID.bind($),$.randomUUID();let X=new Uint8Array(1),J=$?()=>$.getRandomValues(X)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(Q)=>(+Q^J()&15>>+Q/4).toString(16))};function H0($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var o6=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let X=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)X.stack=$.stack;if($.cause&&!X.cause)X.cause=$.cause;if($.name)X.name=$.name;return X}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};var j,w$,A$,T0,f8,k8,x8,y8,g8,v8,h8,u8,m8;var T$=b(()=>{j=class j extends Error{};w$=class w$ extends j{constructor($,X,J,Q){super(`${w$.makeMessage($,X,J)}`);this.status=$,this.headers=Q,this.requestID=Q?.get("request-id"),this.error=X}static makeMessage($,X,J){let Q=X?.message?typeof X.message==="string"?X.message:JSON.stringify(X.message):X?JSON.stringify(X):J;if($&&Q)return`${$} ${Q}`;if($)return`${$} status code (no body)`;if(Q)return Q;return"(no status code or body)"}static generate($,X,J,Q){if(!$||!Q)return new T0({message:J,cause:o6(X)});let q=X;if($===400)return new k8($,q,J,Q);if($===401)return new x8($,q,J,Q);if($===403)return new y8($,q,J,Q);if($===404)return new g8($,q,J,Q);if($===409)return new v8($,q,J,Q);if($===422)return new h8($,q,J,Q);if($===429)return new u8($,q,J,Q);if($>=500)return new m8($,q,J,Q);return new w$($,q,J,Q)}};A$=class A$ extends w${constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}};T0=class T0 extends w${constructor({message:$,cause:X}){super(void 0,void 0,$||"Connection error.",void 0);if(X)this.cause=X}};f8=class f8 extends T0{constructor({message:$}={}){super({message:$??"Request timed out."})}};k8=class k8 extends w${};x8=class x8 extends w${};y8=class y8 extends w${};g8=class g8 extends w${};v8=class v8 extends w${};h8=class h8 extends w${};u8=class u8 extends w${};m8=class m8 extends w${}});function l5($){if(typeof $!=="object")return{};return $??{}}function Iq($){if(!$)return!0;for(let X in $)return!1;return!0}function Eq($,X){return Object.prototype.hasOwnProperty.call($,X)}var jw,Fq=($)=>{return jw.test($)},N7=($)=>(N7=Array.isArray,N7($)),w7,Sq=($,X)=>{if(typeof X!=="number"||!Number.isInteger(X))throw new j(`${$} must be an integer`);if(X<0)throw new j(`${$} must be a positive integer`);return X},c5=($)=>{try{return JSON.parse($)}catch(X){return}};var e0=b(()=>{T$();jw=/^[a-z][a-z0-9+.-]*:/i,w7=N7});var jq=($)=>new Promise((X)=>setTimeout(X,$));var Z0="0.74.0";function Tw(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}function Cw(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:X,pattern:J}of $){let Q=J.exec(navigator.userAgent);if(Q){let q=Q[1]||0,Y=Q[2]||0,z=Q[3]||0;return{browser:X,version:`${q}.${Y}.${z}`}}}return null}var Pq=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"},Zw=()=>{let $=Tw();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":Zq(Deno.build.os),"X-Stainless-Arch":Tq(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":Zq(globalThis.process.platform??"unknown"),"X-Stainless-Arch":Tq(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let X=Cw();if(X)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${X.browser}`,"X-Stainless-Runtime-Version":X.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Z0,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}},Tq=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},Zq=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},Cq,bq=()=>{return Cq??(Cq=Zw())};var D7=()=>{};function fq(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function O7(...$){let X=globalThis.ReadableStream;if(typeof X>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new X(...$)}function d5($){let X=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return O7({start(){},async pull(J){let{done:Q,value:q}=await X.next();if(Q)J.close();else J.enqueue(q)},async cancel(){await X.return?.()}})}function t6($){if($[Symbol.asyncIterator])return $;let X=$.getReader();return{async next(){try{let J=await X.read();if(J?.done)X.releaseLock();return J}catch(J){throw X.releaseLock(),J}},async return(){let J=X.cancel();return X.releaseLock(),await J,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function kq($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let X=$.getReader(),J=X.cancel();X.releaseLock(),await J}var xq=({headers:$,body:X})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(X)}};function vq($){let X=0;for(let q of $)X+=q.length;let J=new Uint8Array(X),Q=0;for(let q of $)J.set(q,Q),Q+=q.length;return J}function e6($){let X;return(yq??(X=new globalThis.TextEncoder,yq=X.encode.bind(X)))($)}function L7($){let X;return(gq??(X=new globalThis.TextDecoder,gq=X.decode.bind(X)))($)}var yq,gq;class C0{constructor(){Z$.set(this,void 0),C$.set(this,void 0),I(this,Z$,new Uint8Array,"f"),I(this,C$,null,"f")}decode($){if($==null)return[];let X=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?e6($):$;I(this,Z$,vq([K(this,Z$,"f"),X]),"f");let J=[],Q;while((Q=fw(K(this,Z$,"f"),K(this,C$,"f")))!=null){if(Q.carriage&&K(this,C$,"f")==null){I(this,C$,Q.index,"f");continue}if(K(this,C$,"f")!=null&&(Q.index!==K(this,C$,"f")+1||Q.carriage)){J.push(L7(K(this,Z$,"f").subarray(0,K(this,C$,"f")-1))),I(this,Z$,K(this,Z$,"f").subarray(K(this,C$,"f")),"f"),I(this,C$,null,"f");continue}let q=K(this,C$,"f")!==null?Q.preceding-1:Q.preceding,Y=L7(K(this,Z$,"f").subarray(0,q));J.push(Y),I(this,Z$,K(this,Z$,"f").subarray(Q.index),"f"),I(this,C$,null,"f")}return J}flush(){if(!K(this,Z$,"f").length)return[];return this.decode(`
|
|
171
171
|
`)}}function fw($,X){for(let q=X??0;q<$.length;q++){if($[q]===10)return{preceding:q,index:q+1,carriage:!1};if($[q]===13)return{preceding:q,index:q+1,carriage:!0}}return null}function hq($){for(let Q=0;Q<$.length-1;Q++){if($[Q]===10&&$[Q+1]===10)return Q+2;if($[Q]===13&&$[Q+1]===13)return Q+2;if($[Q]===13&&$[Q+1]===10&&Q+3<$.length&&$[Q+2]===13&&$[Q+3]===10)return Q+4}return-1}var Z$,C$;var R7=b(()=>{W0();Z$=new WeakMap,C$=new WeakMap;C0.NEWLINE_CHARS=new Set([`
|
|
172
|
-
`,"\r"]);C0.NEWLINE_REGEXP=/\r\n|[\n\r]/g});function $2(){}function
|
|
173
|
-
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],q}if(this.chunks.push($),$.startsWith(":"))return null;let[X,J,Q]=gw($,":");if(Q.startsWith(" "))Q=Q.substring(1);if(X==="event")this.event=Q;else if(X==="data")this.data.push(Q);return null}}function gw($,X){let J=$.indexOf(X);if(J!==-1)return[$.substring(0,J),X,$.substring(J+X.length)];return[$,"",""]}var X2,P$;var _7=b(()=>{W0();T$();R7();e0();
|
|
174
|
-
`);J.enqueue(Y)}catch(Q){J.error(Q)}},async cancel(){await X.return?.()}})}}});async function
|
|
175
|
-
${Y.map((
|
|
172
|
+
`,"\r"]);C0.NEWLINE_REGEXP=/\r\n|[\n\r]/g});function $2(){}function p5($,X,J){if(!X||i5[$]>i5[J])return $2;else return X[$].bind(X)}function L$($){let X=$.logger,J=$.logLevel??"off";if(!X)return kw;let Q=uq.get(X);if(Q&&Q[0]===J)return Q[1];let q={error:p5("error",X,J),warn:p5("warn",X,J),info:p5("info",X,J),debug:p5("debug",X,J)};return uq.set(X,[J,q]),q}var i5,A7=($,X,J)=>{if(!$)return;if(Eq(i5,$))return $;L$(J).warn(`${X} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(i5))}`);return},kw,uq,U0=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([X,J])=>[X,X.toLowerCase()==="x-api-key"||X.toLowerCase()==="authorization"||X.toLowerCase()==="cookie"||X.toLowerCase()==="set-cookie"?"***":J]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var n5=b(()=>{e0();i5={off:0,error:200,warn:300,info:400,debug:500};kw={error:$2,warn:$2,info:$2,debug:$2},uq=new WeakMap});async function*xw($,X){if(!$.body){if(X.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new j("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new j("Attempted to iterate over a response with no body")}let J=new mq,Q=new C0,q=t6($.body);for await(let Y of yw(q))for(let z of Q.decode(Y)){let G=J.decode(z);if(G)yield G}for(let Y of Q.flush()){let z=J.decode(Y);if(z)yield z}}async function*yw($){let X=new Uint8Array;for await(let J of $){if(J==null)continue;let Q=J instanceof ArrayBuffer?new Uint8Array(J):typeof J==="string"?e6(J):J,q=new Uint8Array(X.length+Q.length);q.set(X),q.set(Q,X.length),X=q;let Y;while((Y=hq(X))!==-1)yield X.slice(0,Y),X=X.slice(Y)}if(X.length>0)yield X}class mq{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let q={event:this.event,data:this.data.join(`
|
|
173
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],q}if(this.chunks.push($),$.startsWith(":"))return null;let[X,J,Q]=gw($,":");if(Q.startsWith(" "))Q=Q.substring(1);if(X==="event")this.event=Q;else if(X==="data")this.data.push(Q);return null}}function gw($,X){let J=$.indexOf(X);if(J!==-1)return[$.substring(0,J),X,$.substring(J+X.length)];return[$,"",""]}var X2,P$;var _7=b(()=>{W0();T$();R7();e0();n5();T$();P$=class P${constructor($,X,J){this.iterator=$,X2.set(this,void 0),this.controller=X,I(this,X2,J,"f")}static fromSSEResponse($,X,J){let Q=!1,q=J?L$(J):console;async function*Y(){if(Q)throw new j("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Q=!0;let z=!1;try{for await(let G of xw($,X)){if(G.event==="completion")try{yield JSON.parse(G.data)}catch(W){throw q.error("Could not parse message into JSON:",G.data),q.error("From chunk:",G.raw),W}if(G.event==="message_start"||G.event==="message_delta"||G.event==="message_stop"||G.event==="content_block_start"||G.event==="content_block_delta"||G.event==="content_block_stop")try{yield JSON.parse(G.data)}catch(W){throw q.error("Could not parse message into JSON:",G.data),q.error("From chunk:",G.raw),W}if(G.event==="ping")continue;if(G.event==="error")throw new w$(void 0,c5(G.data)??G.data,void 0,$.headers)}z=!0}catch(G){if(H0(G))return;throw G}finally{if(!z)X.abort()}}return new P$(Y,X,J)}static fromReadableStream($,X,J){let Q=!1;async function*q(){let z=new C0,G=t6($);for await(let W of G)for(let H of z.decode(W))yield H;for(let W of z.flush())yield W}async function*Y(){if(Q)throw new j("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Q=!0;let z=!1;try{for await(let G of q()){if(z)continue;if(G)yield JSON.parse(G)}z=!0}catch(G){if(H0(G))return;throw G}finally{if(!z)X.abort()}}return new P$(Y,X,J)}[(X2=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],X=[],J=this.iterator(),Q=(q)=>{return{next:()=>{if(q.length===0){let Y=J.next();$.push(Y),X.push(Y)}return q.shift()}}};return[new P$(()=>Q($),this.controller,K(this,X2,"f")),new P$(()=>Q(X),this.controller,K(this,X2,"f"))]}toReadableStream(){let $=this,X;return O7({async start(){X=$[Symbol.asyncIterator]()},async pull(J){try{let{value:Q,done:q}=await X.next();if(q)return J.close();let Y=e6(JSON.stringify(Q)+`
|
|
174
|
+
`);J.enqueue(Y)}catch(Q){J.error(Q)}},async cancel(){await X.return?.()}})}}});async function r5($,X){let{response:J,requestLogID:Q,retryOfRequestLogID:q,startTime:Y}=X,z=await(async()=>{if(X.options.stream){if(L$($).debug("response",J.status,J.url,J.headers,J.body),X.options.__streamClass)return X.options.__streamClass.fromSSEResponse(J,X.controller);return P$.fromSSEResponse(J,X.controller)}if(J.status===204)return null;if(X.options.__binaryResponse)return J;let W=J.headers.get("content-type")?.split(";")[0]?.trim();if(W?.includes("application/json")||W?.endsWith("+json")){if(J.headers.get("content-length")==="0")return;let B=await J.json();return F7(B,J)}return await J.text()})();return L$($).debug(`[${Q}] response parsed`,U0({retryOfRequestLogID:q,url:J.url,status:J.status,body:z,durationMs:Date.now()-Y})),z}function F7($,X){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:X.headers.get("request-id"),enumerable:!1})}var I7=b(()=>{_7();n5()});var J2,P0;var a5=b(()=>{W0();I7();P0=class P0 extends Promise{constructor($,X,J=r5){super((Q)=>{Q(null)});this.responsePromise=X,this.parseResponse=J,J2.set(this,void 0),I(this,J2,$,"f")}_thenUnwrap($){return new P0(K(this,J2,"f"),this.responsePromise,async(X,J)=>F7($(await this.parseResponse(X,J),J),J.response))}asResponse(){return this.responsePromise.then(($)=>$.response)}async withResponse(){let[$,X]=await Promise.all([this.parse(),this.asResponse()]);return{data:$,response:X,request_id:X.headers.get("request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(($)=>this.parseResponse(K(this,J2,"f"),$));return this.parsedPromise}then($,X){return this.parse().then($,X)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}};J2=new WeakMap});var s5,E7,Q2,m$,q2;var e$=b(()=>{W0();T$();I7();a5();e0();E7=class E7{constructor($,X,J,Q){s5.set(this,void 0),I(this,s5,$,"f"),this.options=Q,this.response=X,this.body=J}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageRequestOptions()!=null}async getNextPage(){let $=this.nextPageRequestOptions();if(!$)throw new j("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await K(this,s5,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(s5=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let X of $.getPaginatedItems())yield X}};Q2=class Q2 extends P0{constructor($,X,J){super($,X,async(Q,q)=>new J(Q,q.response,await r5(Q,q),q.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let X of $)yield X}};m$=class m$ extends E7{constructor($,X,J,Q){super($,X,J,Q);this.data=J.data||[],this.has_more=J.has_more||!1,this.first_id=J.first_id||null,this.last_id=J.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let X=this.first_id;if(!X)return null;return{...this.options,query:{...l5(this.options.query),before_id:X}}}let $=this.last_id;if(!$)return null;return{...this.options,query:{...l5(this.options.query),after_id:$}}}};q2=class q2 extends E7{constructor($,X,J,Q){super($,X,J,Q);this.data=J.data||[],this.has_more=J.has_more||!1,this.next_page=J.next_page||null}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.next_page;if(!$)return null;return{...this.options,query:{...l5(this.options.query),page:$}}}}});function $8($,X,J){return j7(),new File($,X??"unknown_file",J)}function Y2($,X){let J=typeof $==="object"&&$!==null&&(("name"in $)&&$.name&&String($.name)||("url"in $)&&$.url&&String($.url)||("filename"in $)&&$.filename&&String($.filename)||("path"in $)&&$.path&&String($.path))||"";return X?J.split(/[\\/]/).pop()||void 0:J}function hw($){let X=typeof $==="function"?$:$.fetch,J=lq.get(X);if(J)return J;let Q=(async()=>{try{let q="Response"in X?X.Response:(await X("data:,")).constructor,Y=new FormData;if(Y.toString()===await new q(Y).text())return!1;return!0}catch{return!0}})();return lq.set(X,Q),Q}var j7=()=>{if(typeof File>"u"){let{process:$}=globalThis,X=typeof $?.versions?.node==="string"&&parseInt($.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(X?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}},T7=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function",l8=async($,X,J=!0)=>{return{...$,body:await uw($.body,X,J)}},lq,uw=async($,X,J=!0)=>{if(!await hw(X))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let Q=new FormData;return await Promise.all(Object.entries($||{}).map(([q,Y])=>S7(Q,q,Y,J))),Q},mw=($)=>$ instanceof Blob&&("name"in $),S7=async($,X,J,Q)=>{if(J===void 0)return;if(J==null)throw TypeError(`Received null for "${X}"; to pass null in FormData, you must use the string 'null'`);if(typeof J==="string"||typeof J==="number"||typeof J==="boolean")$.append(X,String(J));else if(J instanceof Response){let q={},Y=J.headers.get("Content-Type");if(Y)q={type:Y};$.append(X,$8([await J.blob()],Y2(J,Q),q))}else if(T7(J))$.append(X,$8([await new Response(d5(J)).blob()],Y2(J,Q)));else if(mw(J))$.append(X,$8([J],Y2(J,Q),{type:J.type}));else if(Array.isArray(J))await Promise.all(J.map((q)=>S7($,X+"[]",q,Q)));else if(typeof J==="object")await Promise.all(Object.entries(J).map(([q,Y])=>S7($,`${X}[${q}]`,Y,Q)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${J} instead`)};var c8=b(()=>{lq=new WeakMap});async function z2($,X,J){if(j7(),$=await $,X||(X=Y2($,!0)),lw($)){if($ instanceof File&&X==null&&J==null)return $;return $8([await $.arrayBuffer()],X??$.name,{type:$.type,lastModified:$.lastModified,...J})}if(cw($)){let q=await $.blob();return X||(X=new URL($.url).pathname.split(/[\\/]/).pop()),$8(await Z7(q),X,J)}let Q=await Z7($);if(!J?.type){let q=Q.find((Y)=>typeof Y==="object"&&("type"in Y)&&Y.type);if(typeof q==="string")J={...J,type:q}}return $8(Q,X,J)}async function Z7($){let X=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)X.push($);else if(cq($))X.push($ instanceof Blob?$:await $.arrayBuffer());else if(T7($))for await(let J of $)X.push(...await Z7(J));else{let J=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${J?`; constructor: ${J}`:""}${dw($)}`)}return X}function dw($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((J)=>`"${J}"`).join(", ")}]`}var cq=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",lw=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&cq($),cw=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";var dq=b(()=>{c8();c8()});var C7=b(()=>{dq()});var pq=()=>{};class q${constructor($){this._client=$}}function*iw($){if(!$)return;if(iq in $){let{values:Q,nulls:q}=$;yield*Q.entries();for(let Y of q)yield[Y,null];return}let X=!1,J;if($ instanceof Headers)J=$.entries();else if(w7($))J=$;else X=!0,J=Object.entries($??{});for(let Q of J){let q=Q[0];if(typeof q!=="string")throw TypeError("expected header name to be a string");let Y=w7(Q[1])?Q[1]:[Q[1]],z=!1;for(let G of Y){if(G===void 0)continue;if(X&&!z)z=!0,yield[q,null];yield[q,G]}}}var iq,h=($)=>{let X=new Headers,J=new Set;for(let Q of $){let q=new Set;for(let[Y,z]of iw(Q)){let G=Y.toLowerCase();if(!q.has(G))X.delete(Y),q.add(G);if(z===null)X.delete(Y),J.add(G);else X.append(Y,z),J.delete(G)}}return{[iq]:!0,values:X,nulls:J}};var b$=b(()=>{e0();iq=Symbol.for("brand.privateNullableHeaders")});function o5($){return typeof $==="object"&&$!==null&&G2 in $}function P7($,X){let J=new Set;if($){for(let Q of $)if(o5(Q))J.add(Q[G2])}if(X)for(let Q of X){if(o5(Q))J.add(Q[G2]);if(Array.isArray(Q.content)){for(let q of Q.content)if(o5(q))J.add(q[G2])}}return Array.from(J)}function t5($,X){let J=P7($,X);if(J.length===0)return{};return{"x-stainless-helper":J.join(", ")}}function nq($){if(o5($))return{"x-stainless-helper":$[G2]};return{}}var G2;var W2=b(()=>{G2=Symbol("anthropic.sdk.stainlessHelper")});function aq($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var rq,nw=($=aq)=>function(J,...Q){if(J.length===1)return J[0];let q=!1,Y=[],z=J.reduce((U,V,B)=>{if(/[?#]/.test(V))q=!0;let N=Q[B],R=(q?encodeURIComponent:$)(""+N);if(B!==Q.length&&(N==null||typeof N==="object"&&N.toString===Object.getPrototypeOf(Object.getPrototypeOf(N.hasOwnProperty??rq)??rq)?.toString))R=N+"",Y.push({start:U.length+V.length,length:R.length,error:`Value of type ${Object.prototype.toString.call(N).slice(8,-1)} is not a valid path parameter`});return U+V+(B===Q.length?"":R)},""),G=z.split(/[?#]/,1)[0],W=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,H;while((H=W.exec(G))!==null)Y.push({start:H.index,length:H[0].length,error:`Value "${H[0]}" can't be safely passed as a path parameter`});if(Y.sort((U,V)=>U.start-V.start),Y.length>0){let U=0,V=Y.reduce((B,N)=>{let R=" ".repeat(N.start-U),M="^".repeat(N.length);return U=N.start+N.length,B+R+M},"");throw new j(`Path parameters result in path with invalid segments:
|
|
175
|
+
${Y.map((B)=>B.error).join(`
|
|
176
176
|
`)}
|
|
177
177
|
${z}
|
|
178
|
-
${B}`)}return z},J$;var b0=b(()=>{T$();rq=Object.freeze(Object.create(null)),J$=nw(sq)});var H2;var b7=b(()=>{e$();b$();W2();c8();b0();H2=class H2 extends q${list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/files",m$,{query:Q,...X,headers:v([{"anthropic-beta":[...J??[],"files-api-2025-04-14"].toString()},X?.headers])})}delete($,X={},J){let{betas:Q}=X??{};return this._client.delete(J$`/v1/files/${$}`,{...J,headers:v([{"anthropic-beta":[...Q??[],"files-api-2025-04-14"].toString()},J?.headers])})}download($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/files/${$}/content`,{...J,headers:v([{"anthropic-beta":[...Q??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},J?.headers]),__binaryResponse:!0})}retrieveMetadata($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/files/${$}`,{...J,headers:v([{"anthropic-beta":[...Q??[],"files-api-2025-04-14"].toString()},J?.headers])})}upload($,X){let{betas:J,...Q}=$;return this._client.post("/v1/files",l8({body:Q,...X,headers:v([{"anthropic-beta":[...J??[],"files-api-2025-04-14"].toString()},nq(Q.file),X?.headers])},this._client))}}});var U2;var f7=b(()=>{e$();b$();b0();U2=class U2 extends q${retrieve($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/models/${$}?beta=true`,{...J,headers:v([{...Q?.toString()!=null?{"anthropic-beta":Q?.toString()}:void 0},J?.headers])})}list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/models?beta=true",m$,{query:Q,...X,headers:v([{...J?.toString()!=null?{"anthropic-beta":J?.toString()}:void 0},X?.headers])})}}});var d8=b(()=>{T$()});var eX;var k7=b(()=>{eX={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192}});function aq($){return $?.output_format??$?.output_config?.format}function x7($,X,J){let Q=aq(X);if(!X||!("parse"in(Q??{})))return{...$,content:$.content.map((q)=>{if(q.type==="text"){let Y=Object.defineProperty({...q},"parsed_output",{value:null,enumerable:!1});return Object.defineProperty(Y,"parsed",{get(){return J.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null},enumerable:!1})}return q}),parsed_output:null};return y7($,X,J)}function y7($,X,J){let Q=null,q=$.content.map((Y)=>{if(Y.type==="text"){let z=aw(X,Y.text);if(Q===null)Q=z;let G=Object.defineProperty({...Y},"parsed_output",{value:z,enumerable:!1});return Object.defineProperty(G,"parsed",{get(){return J.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),z},enumerable:!1})}return Y});return{...$,content:q,parsed_output:Q}}function aw($,X){let J=aq($);if(J?.type!=="json_schema")return null;try{if("parse"in J)return J.parse(X);return JSON.parse(X)}catch(Q){throw new j(`Failed to parse structured output: ${Q}`)}}var g7=b(()=>{T$()});var ow=($)=>{let X=0,J=[];while(X<$.length){let Q=$[X];if(Q==="\\"){X++;continue}if(Q==="{"){J.push({type:"brace",value:"{"}),X++;continue}if(Q==="}"){J.push({type:"brace",value:"}"}),X++;continue}if(Q==="["){J.push({type:"paren",value:"["}),X++;continue}if(Q==="]"){J.push({type:"paren",value:"]"}),X++;continue}if(Q===":"){J.push({type:"separator",value:":"}),X++;continue}if(Q===","){J.push({type:"delimiter",value:","}),X++;continue}if(Q==='"'){let G="",W=!1;Q=$[++X];while(Q!=='"'){if(X===$.length){W=!0;break}if(Q==="\\"){if(X++,X===$.length){W=!0;break}G+=Q+$[X],Q=$[++X]}else G+=Q,Q=$[++X]}if(Q=$[++X],!W)J.push({type:"string",value:G});continue}if(Q&&/\s/.test(Q)){X++;continue}let Y=/[0-9]/;if(Q&&Y.test(Q)||Q==="-"||Q==="."){let G="";if(Q==="-")G+=Q,Q=$[++X];while(Q&&Y.test(Q)||Q===".")G+=Q,Q=$[++X];J.push({type:"number",value:G});continue}let z=/[a-z]/i;if(Q&&z.test(Q)){let G="";while(Q&&z.test(Q)){if(X===$.length)break;G+=Q,Q=$[++X]}if(G=="true"||G=="false"||G==="null")J.push({type:"name",value:G});else{X++;continue}continue}X++}return J},p8=($)=>{if($.length===0)return $;let X=$[$.length-1];switch(X.type){case"separator":return $=$.slice(0,$.length-1),p8($);break;case"number":let J=X.value[X.value.length-1];if(J==="."||J==="-")return $=$.slice(0,$.length-1),p8($);case"string":let Q=$[$.length-2];if(Q?.type==="delimiter")return $=$.slice(0,$.length-1),p8($);else if(Q?.type==="brace"&&Q.value==="{")return $=$.slice(0,$.length-1),p8($);break;case"delimiter":return $=$.slice(0,$.length-1),p8($);break}return $},tw=($)=>{let X=[];if($.map((J)=>{if(J.type==="brace")if(J.value==="{")X.push("}");else X.splice(X.lastIndexOf("}"),1);if(J.type==="paren")if(J.value==="[")X.push("]");else X.splice(X.lastIndexOf("]"),1)}),X.length>0)X.reverse().map((J)=>{if(J==="}")$.push({type:"brace",value:"}"});else if(J==="]")$.push({type:"paren",value:"]"})});return $},ew=($)=>{let X="";return $.map((J)=>{switch(J.type){case"string":X+='"'+J.value+'"';break;default:X+=J.value;break}}),X},$5=($)=>JSON.parse(ew(tw(p8(ow($)))));var v7=()=>{};var h7=b(()=>{_7()});function $Y($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}function XY($){}var y$,f0,i8,V2,X5,B2,K2,J5,M2,V0,N2,Q5,q5,X8,Y5,z5,w2,u7,oq,G5,m7,l7,c7,tq,eq="__json_buf",D2;var JY=b(()=>{W0();v7();d8();h7();g7();D2=class D2{constructor($,X){y$.add(this),this.messages=[],this.receivedMessages=[],f0.set(this,void 0),i8.set(this,null),this.controller=new AbortController,V2.set(this,void 0),X5.set(this,()=>{}),B2.set(this,()=>{}),K2.set(this,void 0),J5.set(this,()=>{}),M2.set(this,()=>{}),V0.set(this,{}),N2.set(this,!1),Q5.set(this,!1),q5.set(this,!1),X8.set(this,!1),Y5.set(this,void 0),z5.set(this,void 0),w2.set(this,void 0),G5.set(this,(J)=>{if(I(this,Q5,!0,"f"),H0(J))J=new A$;if(J instanceof A$)return I(this,q5,!0,"f"),this._emit("abort",J);if(J instanceof j)return this._emit("error",J);if(J instanceof Error){let Q=new j(J.message);return Q.cause=J,this._emit("error",Q)}return this._emit("error",new j(String(J)))}),I(this,V2,new Promise((J,Q)=>{I(this,X5,J,"f"),I(this,B2,Q,"f")}),"f"),I(this,K2,new Promise((J,Q)=>{I(this,J5,J,"f"),I(this,M2,Q,"f")}),"f"),K(this,V2,"f").catch(()=>{}),K(this,K2,"f").catch(()=>{}),I(this,i8,$,"f"),I(this,w2,X?.logger??console,"f")}get response(){return K(this,Y5,"f")}get request_id(){return K(this,z5,"f")}async withResponse(){I(this,X8,!0,"f");let $=await K(this,V2,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let X=new D2(null);return X._run(()=>X._fromReadableStream($)),X}static createMessage($,X,J,{logger:Q}={}){let q=new D2(X,{logger:Q});for(let Y of X.messages)q._addMessageParam(Y);return I(q,i8,{...X,stream:!0},"f"),q._run(()=>q._createMessage($,{...X,stream:!0},{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),q}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},K(this,G5,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,X=!0){if(this.receivedMessages.push($),X)this._emit("message",$)}async _createMessage($,X,J){let Q=J?.signal,q;if(Q){if(Q.aborted)this.controller.abort();q=this.controller.abort.bind(this.controller),Q.addEventListener("abort",q)}try{K(this,y$,"m",m7).call(this);let{response:Y,data:z}=await $.create({...X,stream:!0},{...J,signal:this.controller.signal}).withResponse();this._connected(Y);for await(let G of z)K(this,y$,"m",l7).call(this,G);if(z.controller.signal?.aborted)throw new A$;K(this,y$,"m",c7).call(this)}finally{if(Q&&q)Q.removeEventListener("abort",q)}}_connected($){if(this.ended)return;I(this,Y5,$,"f"),I(this,z5,$?.headers.get("request-id"),"f"),K(this,X5,"f").call(this,$),this._emit("connect")}get ended(){return K(this,N2,"f")}get errored(){return K(this,Q5,"f")}get aborted(){return K(this,q5,"f")}abort(){this.controller.abort()}on($,X){return(K(this,V0,"f")[$]||(K(this,V0,"f")[$]=[])).push({listener:X}),this}off($,X){let J=K(this,V0,"f")[$];if(!J)return this;let Q=J.findIndex((q)=>q.listener===X);if(Q>=0)J.splice(Q,1);return this}once($,X){return(K(this,V0,"f")[$]||(K(this,V0,"f")[$]=[])).push({listener:X,once:!0}),this}emitted($){return new Promise((X,J)=>{if(I(this,X8,!0,"f"),$!=="error")this.once("error",J);this.once($,X)})}async done(){I(this,X8,!0,"f"),await K(this,K2,"f")}get currentMessage(){return K(this,f0,"f")}async finalMessage(){return await this.done(),K(this,y$,"m",u7).call(this)}async finalText(){return await this.done(),K(this,y$,"m",oq).call(this)}_emit($,...X){if(K(this,N2,"f"))return;if($==="end")I(this,N2,!0,"f"),K(this,J5,"f").call(this);let J=K(this,V0,"f")[$];if(J)K(this,V0,"f")[$]=J.filter((Q)=>!Q.once),J.forEach(({listener:Q})=>Q(...X));if($==="abort"){let Q=X[0];if(!K(this,X8,"f")&&!J?.length)Promise.reject(Q);K(this,B2,"f").call(this,Q),K(this,M2,"f").call(this,Q),this._emit("end");return}if($==="error"){let Q=X[0];if(!K(this,X8,"f")&&!J?.length)Promise.reject(Q);K(this,B2,"f").call(this,Q),K(this,M2,"f").call(this,Q),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",K(this,y$,"m",u7).call(this))}async _fromReadableStream($,X){let J=X?.signal,Q;if(J){if(J.aborted)this.controller.abort();Q=this.controller.abort.bind(this.controller),J.addEventListener("abort",Q)}try{K(this,y$,"m",m7).call(this),this._connected(null);let q=P$.fromReadableStream($,this.controller);for await(let Y of q)K(this,y$,"m",l7).call(this,Y);if(q.controller.signal?.aborted)throw new A$;K(this,y$,"m",c7).call(this)}finally{if(J&&Q)J.removeEventListener("abort",Q)}}[(f0=new WeakMap,i8=new WeakMap,V2=new WeakMap,X5=new WeakMap,B2=new WeakMap,K2=new WeakMap,J5=new WeakMap,M2=new WeakMap,V0=new WeakMap,N2=new WeakMap,Q5=new WeakMap,q5=new WeakMap,X8=new WeakMap,Y5=new WeakMap,z5=new WeakMap,w2=new WeakMap,G5=new WeakMap,y$=new WeakSet,u7=function(){if(this.receivedMessages.length===0)throw new j("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},oq=function(){if(this.receivedMessages.length===0)throw new j("stream ended without producing a Message with role=assistant");let X=this.receivedMessages.at(-1).content.filter((J)=>J.type==="text").map((J)=>J.text);if(X.length===0)throw new j("stream ended without producing a content block with type=text");return X.join(" ")},m7=function(){if(this.ended)return;I(this,f0,void 0,"f")},l7=function(X){if(this.ended)return;let J=K(this,y$,"m",tq).call(this,X);switch(this._emit("streamEvent",X,J),X.type){case"content_block_delta":{let Q=J.content.at(-1);switch(X.delta.type){case"text_delta":{if(Q.type==="text")this._emit("text",X.delta.text,Q.text||"");break}case"citations_delta":{if(Q.type==="text")this._emit("citation",X.delta.citation,Q.citations??[]);break}case"input_json_delta":{if($Y(Q)&&Q.input)this._emit("inputJson",X.delta.partial_json,Q.input);break}case"thinking_delta":{if(Q.type==="thinking")this._emit("thinking",X.delta.thinking,Q.thinking);break}case"signature_delta":{if(Q.type==="thinking")this._emit("signature",Q.signature);break}case"compaction_delta":{if(Q.type==="compaction"&&Q.content)this._emit("compaction",Q.content);break}default:XY(X.delta)}break}case"message_stop":{this._addMessageParam(J),this._addMessage(x7(J,K(this,i8,"f"),{logger:K(this,w2,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",J.content.at(-1));break}case"message_start":{I(this,f0,J,"f");break}case"content_block_start":case"message_delta":break}},c7=function(){if(this.ended)throw new j("stream has ended, this shouldn't happen");let X=K(this,f0,"f");if(!X)throw new j("request ended without sending any chunks");return I(this,f0,void 0,"f"),x7(X,K(this,i8,"f"),{logger:K(this,w2,"f")})},tq=function(X){let J=K(this,f0,"f");if(X.type==="message_start"){if(J)throw new j(`Unexpected event order, got ${X.type} before receiving "message_stop"`);return X.message}if(!J)throw new j(`Unexpected event order, got ${X.type} before "message_start"`);switch(X.type){case"message_stop":return J;case"message_delta":if(J.container=X.delta.container,J.stop_reason=X.delta.stop_reason,J.stop_sequence=X.delta.stop_sequence,J.usage.output_tokens=X.usage.output_tokens,J.context_management=X.context_management,X.usage.input_tokens!=null)J.usage.input_tokens=X.usage.input_tokens;if(X.usage.cache_creation_input_tokens!=null)J.usage.cache_creation_input_tokens=X.usage.cache_creation_input_tokens;if(X.usage.cache_read_input_tokens!=null)J.usage.cache_read_input_tokens=X.usage.cache_read_input_tokens;if(X.usage.server_tool_use!=null)J.usage.server_tool_use=X.usage.server_tool_use;if(X.usage.iterations!=null)J.usage.iterations=X.usage.iterations;return J;case"content_block_start":return J.content.push(X.content_block),J;case"content_block_delta":{let Q=J.content.at(X.index);switch(X.delta.type){case"text_delta":{if(Q?.type==="text")J.content[X.index]={...Q,text:(Q.text||"")+X.delta.text};break}case"citations_delta":{if(Q?.type==="text")J.content[X.index]={...Q,citations:[...Q.citations??[],X.delta.citation]};break}case"input_json_delta":{if(Q&&$Y(Q)){let q=Q[eq]||"";q+=X.delta.partial_json;let Y={...Q};if(Object.defineProperty(Y,eq,{value:q,enumerable:!1,writable:!0}),q)try{Y.input=$5(q)}catch(z){let G=new j(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${z}. JSON: ${q}`);K(this,G5,"f").call(this,G)}J.content[X.index]=Y}break}case"thinking_delta":{if(Q?.type==="thinking")J.content[X.index]={...Q,thinking:Q.thinking+X.delta.thinking};break}case"signature_delta":{if(Q?.type==="thinking")J.content[X.index]={...Q,signature:X.delta.signature};break}case"compaction_delta":{if(Q?.type==="compaction")J.content[X.index]={...Q,content:(Q.content||"")+X.delta.content};break}default:XY(X.delta)}return J}case"content_block_stop":return J}},Symbol.asyncIterator)](){let $=[],X=[],J=!1;return this.on("streamEvent",(Q)=>{let q=X.shift();if(q)q.resolve(Q);else $.push(Q)}),this.on("end",()=>{J=!0;for(let Q of X)Q.resolve(void 0);X.length=0}),this.on("abort",(Q)=>{J=!0;for(let q of X)q.reject(Q);X.length=0}),this.on("error",(Q)=>{J=!0;for(let q of X)q.reject(Q);X.length=0}),{next:async()=>{if(!$.length){if(J)return{value:void 0,done:!0};return new Promise((q,Y)=>X.push({resolve:q,reject:Y})).then((q)=>q?{value:q,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new P$(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}});var n8;var W5=b(()=>{n8=class n8 extends Error{constructor($){let X=typeof $==="string"?$:$.map((J)=>{if(J.type==="text")return J.text;return`[${J.type}]`}).join(" ");super(X);this.name="ToolError",this.content=$}}});var QY=1e5,qY=`You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
|
|
178
|
+
${V}`)}return z},J$;var b0=b(()=>{T$();rq=Object.freeze(Object.create(null)),J$=nw(aq)});var H2;var b7=b(()=>{e$();b$();W2();c8();b0();H2=class H2 extends q${list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/files",m$,{query:Q,...X,headers:h([{"anthropic-beta":[...J??[],"files-api-2025-04-14"].toString()},X?.headers])})}delete($,X={},J){let{betas:Q}=X??{};return this._client.delete(J$`/v1/files/${$}`,{...J,headers:h([{"anthropic-beta":[...Q??[],"files-api-2025-04-14"].toString()},J?.headers])})}download($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/files/${$}/content`,{...J,headers:h([{"anthropic-beta":[...Q??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},J?.headers]),__binaryResponse:!0})}retrieveMetadata($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/files/${$}`,{...J,headers:h([{"anthropic-beta":[...Q??[],"files-api-2025-04-14"].toString()},J?.headers])})}upload($,X){let{betas:J,...Q}=$;return this._client.post("/v1/files",l8({body:Q,...X,headers:h([{"anthropic-beta":[...J??[],"files-api-2025-04-14"].toString()},nq(Q.file),X?.headers])},this._client))}}});var U2;var f7=b(()=>{e$();b$();b0();U2=class U2 extends q${retrieve($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/models/${$}?beta=true`,{...J,headers:h([{...Q?.toString()!=null?{"anthropic-beta":Q?.toString()}:void 0},J?.headers])})}list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/models?beta=true",m$,{query:Q,...X,headers:h([{...J?.toString()!=null?{"anthropic-beta":J?.toString()}:void 0},X?.headers])})}}});var d8=b(()=>{T$()});var e5;var k7=b(()=>{e5={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192}});function sq($){return $?.output_format??$?.output_config?.format}function x7($,X,J){let Q=sq(X);if(!X||!("parse"in(Q??{})))return{...$,content:$.content.map((q)=>{if(q.type==="text"){let Y=Object.defineProperty({...q},"parsed_output",{value:null,enumerable:!1});return Object.defineProperty(Y,"parsed",{get(){return J.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null},enumerable:!1})}return q}),parsed_output:null};return y7($,X,J)}function y7($,X,J){let Q=null,q=$.content.map((Y)=>{if(Y.type==="text"){let z=sw(X,Y.text);if(Q===null)Q=z;let G=Object.defineProperty({...Y},"parsed_output",{value:z,enumerable:!1});return Object.defineProperty(G,"parsed",{get(){return J.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),z},enumerable:!1})}return Y});return{...$,content:q,parsed_output:Q}}function sw($,X){let J=sq($);if(J?.type!=="json_schema")return null;try{if("parse"in J)return J.parse(X);return JSON.parse(X)}catch(Q){throw new j(`Failed to parse structured output: ${Q}`)}}var g7=b(()=>{T$()});var ow=($)=>{let X=0,J=[];while(X<$.length){let Q=$[X];if(Q==="\\"){X++;continue}if(Q==="{"){J.push({type:"brace",value:"{"}),X++;continue}if(Q==="}"){J.push({type:"brace",value:"}"}),X++;continue}if(Q==="["){J.push({type:"paren",value:"["}),X++;continue}if(Q==="]"){J.push({type:"paren",value:"]"}),X++;continue}if(Q===":"){J.push({type:"separator",value:":"}),X++;continue}if(Q===","){J.push({type:"delimiter",value:","}),X++;continue}if(Q==='"'){let G="",W=!1;Q=$[++X];while(Q!=='"'){if(X===$.length){W=!0;break}if(Q==="\\"){if(X++,X===$.length){W=!0;break}G+=Q+$[X],Q=$[++X]}else G+=Q,Q=$[++X]}if(Q=$[++X],!W)J.push({type:"string",value:G});continue}if(Q&&/\s/.test(Q)){X++;continue}let Y=/[0-9]/;if(Q&&Y.test(Q)||Q==="-"||Q==="."){let G="";if(Q==="-")G+=Q,Q=$[++X];while(Q&&Y.test(Q)||Q===".")G+=Q,Q=$[++X];J.push({type:"number",value:G});continue}let z=/[a-z]/i;if(Q&&z.test(Q)){let G="";while(Q&&z.test(Q)){if(X===$.length)break;G+=Q,Q=$[++X]}if(G=="true"||G=="false"||G==="null")J.push({type:"name",value:G});else{X++;continue}continue}X++}return J},p8=($)=>{if($.length===0)return $;let X=$[$.length-1];switch(X.type){case"separator":return $=$.slice(0,$.length-1),p8($);break;case"number":let J=X.value[X.value.length-1];if(J==="."||J==="-")return $=$.slice(0,$.length-1),p8($);case"string":let Q=$[$.length-2];if(Q?.type==="delimiter")return $=$.slice(0,$.length-1),p8($);else if(Q?.type==="brace"&&Q.value==="{")return $=$.slice(0,$.length-1),p8($);break;case"delimiter":return $=$.slice(0,$.length-1),p8($);break}return $},tw=($)=>{let X=[];if($.map((J)=>{if(J.type==="brace")if(J.value==="{")X.push("}");else X.splice(X.lastIndexOf("}"),1);if(J.type==="paren")if(J.value==="[")X.push("]");else X.splice(X.lastIndexOf("]"),1)}),X.length>0)X.reverse().map((J)=>{if(J==="}")$.push({type:"brace",value:"}"});else if(J==="]")$.push({type:"paren",value:"]"})});return $},ew=($)=>{let X="";return $.map((J)=>{switch(J.type){case"string":X+='"'+J.value+'"';break;default:X+=J.value;break}}),X},$X=($)=>JSON.parse(ew(tw(p8(ow($)))));var v7=()=>{};var h7=b(()=>{_7()});function $Y($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}function XY($){}var y$,f0,i8,V2,XX,B2,K2,JX,M2,V0,N2,QX,qX,X8,YX,zX,w2,u7,oq,GX,m7,l7,c7,tq,eq="__json_buf",D2;var JY=b(()=>{W0();v7();d8();h7();g7();D2=class D2{constructor($,X){y$.add(this),this.messages=[],this.receivedMessages=[],f0.set(this,void 0),i8.set(this,null),this.controller=new AbortController,V2.set(this,void 0),XX.set(this,()=>{}),B2.set(this,()=>{}),K2.set(this,void 0),JX.set(this,()=>{}),M2.set(this,()=>{}),V0.set(this,{}),N2.set(this,!1),QX.set(this,!1),qX.set(this,!1),X8.set(this,!1),YX.set(this,void 0),zX.set(this,void 0),w2.set(this,void 0),GX.set(this,(J)=>{if(I(this,QX,!0,"f"),H0(J))J=new A$;if(J instanceof A$)return I(this,qX,!0,"f"),this._emit("abort",J);if(J instanceof j)return this._emit("error",J);if(J instanceof Error){let Q=new j(J.message);return Q.cause=J,this._emit("error",Q)}return this._emit("error",new j(String(J)))}),I(this,V2,new Promise((J,Q)=>{I(this,XX,J,"f"),I(this,B2,Q,"f")}),"f"),I(this,K2,new Promise((J,Q)=>{I(this,JX,J,"f"),I(this,M2,Q,"f")}),"f"),K(this,V2,"f").catch(()=>{}),K(this,K2,"f").catch(()=>{}),I(this,i8,$,"f"),I(this,w2,X?.logger??console,"f")}get response(){return K(this,YX,"f")}get request_id(){return K(this,zX,"f")}async withResponse(){I(this,X8,!0,"f");let $=await K(this,V2,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let X=new D2(null);return X._run(()=>X._fromReadableStream($)),X}static createMessage($,X,J,{logger:Q}={}){let q=new D2(X,{logger:Q});for(let Y of X.messages)q._addMessageParam(Y);return I(q,i8,{...X,stream:!0},"f"),q._run(()=>q._createMessage($,{...X,stream:!0},{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),q}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},K(this,GX,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,X=!0){if(this.receivedMessages.push($),X)this._emit("message",$)}async _createMessage($,X,J){let Q=J?.signal,q;if(Q){if(Q.aborted)this.controller.abort();q=this.controller.abort.bind(this.controller),Q.addEventListener("abort",q)}try{K(this,y$,"m",m7).call(this);let{response:Y,data:z}=await $.create({...X,stream:!0},{...J,signal:this.controller.signal}).withResponse();this._connected(Y);for await(let G of z)K(this,y$,"m",l7).call(this,G);if(z.controller.signal?.aborted)throw new A$;K(this,y$,"m",c7).call(this)}finally{if(Q&&q)Q.removeEventListener("abort",q)}}_connected($){if(this.ended)return;I(this,YX,$,"f"),I(this,zX,$?.headers.get("request-id"),"f"),K(this,XX,"f").call(this,$),this._emit("connect")}get ended(){return K(this,N2,"f")}get errored(){return K(this,QX,"f")}get aborted(){return K(this,qX,"f")}abort(){this.controller.abort()}on($,X){return(K(this,V0,"f")[$]||(K(this,V0,"f")[$]=[])).push({listener:X}),this}off($,X){let J=K(this,V0,"f")[$];if(!J)return this;let Q=J.findIndex((q)=>q.listener===X);if(Q>=0)J.splice(Q,1);return this}once($,X){return(K(this,V0,"f")[$]||(K(this,V0,"f")[$]=[])).push({listener:X,once:!0}),this}emitted($){return new Promise((X,J)=>{if(I(this,X8,!0,"f"),$!=="error")this.once("error",J);this.once($,X)})}async done(){I(this,X8,!0,"f"),await K(this,K2,"f")}get currentMessage(){return K(this,f0,"f")}async finalMessage(){return await this.done(),K(this,y$,"m",u7).call(this)}async finalText(){return await this.done(),K(this,y$,"m",oq).call(this)}_emit($,...X){if(K(this,N2,"f"))return;if($==="end")I(this,N2,!0,"f"),K(this,JX,"f").call(this);let J=K(this,V0,"f")[$];if(J)K(this,V0,"f")[$]=J.filter((Q)=>!Q.once),J.forEach(({listener:Q})=>Q(...X));if($==="abort"){let Q=X[0];if(!K(this,X8,"f")&&!J?.length)Promise.reject(Q);K(this,B2,"f").call(this,Q),K(this,M2,"f").call(this,Q),this._emit("end");return}if($==="error"){let Q=X[0];if(!K(this,X8,"f")&&!J?.length)Promise.reject(Q);K(this,B2,"f").call(this,Q),K(this,M2,"f").call(this,Q),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",K(this,y$,"m",u7).call(this))}async _fromReadableStream($,X){let J=X?.signal,Q;if(J){if(J.aborted)this.controller.abort();Q=this.controller.abort.bind(this.controller),J.addEventListener("abort",Q)}try{K(this,y$,"m",m7).call(this),this._connected(null);let q=P$.fromReadableStream($,this.controller);for await(let Y of q)K(this,y$,"m",l7).call(this,Y);if(q.controller.signal?.aborted)throw new A$;K(this,y$,"m",c7).call(this)}finally{if(J&&Q)J.removeEventListener("abort",Q)}}[(f0=new WeakMap,i8=new WeakMap,V2=new WeakMap,XX=new WeakMap,B2=new WeakMap,K2=new WeakMap,JX=new WeakMap,M2=new WeakMap,V0=new WeakMap,N2=new WeakMap,QX=new WeakMap,qX=new WeakMap,X8=new WeakMap,YX=new WeakMap,zX=new WeakMap,w2=new WeakMap,GX=new WeakMap,y$=new WeakSet,u7=function(){if(this.receivedMessages.length===0)throw new j("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},oq=function(){if(this.receivedMessages.length===0)throw new j("stream ended without producing a Message with role=assistant");let X=this.receivedMessages.at(-1).content.filter((J)=>J.type==="text").map((J)=>J.text);if(X.length===0)throw new j("stream ended without producing a content block with type=text");return X.join(" ")},m7=function(){if(this.ended)return;I(this,f0,void 0,"f")},l7=function(X){if(this.ended)return;let J=K(this,y$,"m",tq).call(this,X);switch(this._emit("streamEvent",X,J),X.type){case"content_block_delta":{let Q=J.content.at(-1);switch(X.delta.type){case"text_delta":{if(Q.type==="text")this._emit("text",X.delta.text,Q.text||"");break}case"citations_delta":{if(Q.type==="text")this._emit("citation",X.delta.citation,Q.citations??[]);break}case"input_json_delta":{if($Y(Q)&&Q.input)this._emit("inputJson",X.delta.partial_json,Q.input);break}case"thinking_delta":{if(Q.type==="thinking")this._emit("thinking",X.delta.thinking,Q.thinking);break}case"signature_delta":{if(Q.type==="thinking")this._emit("signature",Q.signature);break}case"compaction_delta":{if(Q.type==="compaction"&&Q.content)this._emit("compaction",Q.content);break}default:XY(X.delta)}break}case"message_stop":{this._addMessageParam(J),this._addMessage(x7(J,K(this,i8,"f"),{logger:K(this,w2,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",J.content.at(-1));break}case"message_start":{I(this,f0,J,"f");break}case"content_block_start":case"message_delta":break}},c7=function(){if(this.ended)throw new j("stream has ended, this shouldn't happen");let X=K(this,f0,"f");if(!X)throw new j("request ended without sending any chunks");return I(this,f0,void 0,"f"),x7(X,K(this,i8,"f"),{logger:K(this,w2,"f")})},tq=function(X){let J=K(this,f0,"f");if(X.type==="message_start"){if(J)throw new j(`Unexpected event order, got ${X.type} before receiving "message_stop"`);return X.message}if(!J)throw new j(`Unexpected event order, got ${X.type} before "message_start"`);switch(X.type){case"message_stop":return J;case"message_delta":if(J.container=X.delta.container,J.stop_reason=X.delta.stop_reason,J.stop_sequence=X.delta.stop_sequence,J.usage.output_tokens=X.usage.output_tokens,J.context_management=X.context_management,X.usage.input_tokens!=null)J.usage.input_tokens=X.usage.input_tokens;if(X.usage.cache_creation_input_tokens!=null)J.usage.cache_creation_input_tokens=X.usage.cache_creation_input_tokens;if(X.usage.cache_read_input_tokens!=null)J.usage.cache_read_input_tokens=X.usage.cache_read_input_tokens;if(X.usage.server_tool_use!=null)J.usage.server_tool_use=X.usage.server_tool_use;if(X.usage.iterations!=null)J.usage.iterations=X.usage.iterations;return J;case"content_block_start":return J.content.push(X.content_block),J;case"content_block_delta":{let Q=J.content.at(X.index);switch(X.delta.type){case"text_delta":{if(Q?.type==="text")J.content[X.index]={...Q,text:(Q.text||"")+X.delta.text};break}case"citations_delta":{if(Q?.type==="text")J.content[X.index]={...Q,citations:[...Q.citations??[],X.delta.citation]};break}case"input_json_delta":{if(Q&&$Y(Q)){let q=Q[eq]||"";q+=X.delta.partial_json;let Y={...Q};if(Object.defineProperty(Y,eq,{value:q,enumerable:!1,writable:!0}),q)try{Y.input=$X(q)}catch(z){let G=new j(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${z}. JSON: ${q}`);K(this,GX,"f").call(this,G)}J.content[X.index]=Y}break}case"thinking_delta":{if(Q?.type==="thinking")J.content[X.index]={...Q,thinking:Q.thinking+X.delta.thinking};break}case"signature_delta":{if(Q?.type==="thinking")J.content[X.index]={...Q,signature:X.delta.signature};break}case"compaction_delta":{if(Q?.type==="compaction")J.content[X.index]={...Q,content:(Q.content||"")+X.delta.content};break}default:XY(X.delta)}return J}case"content_block_stop":return J}},Symbol.asyncIterator)](){let $=[],X=[],J=!1;return this.on("streamEvent",(Q)=>{let q=X.shift();if(q)q.resolve(Q);else $.push(Q)}),this.on("end",()=>{J=!0;for(let Q of X)Q.resolve(void 0);X.length=0}),this.on("abort",(Q)=>{J=!0;for(let q of X)q.reject(Q);X.length=0}),this.on("error",(Q)=>{J=!0;for(let q of X)q.reject(Q);X.length=0}),{next:async()=>{if(!$.length){if(J)return{value:void 0,done:!0};return new Promise((q,Y)=>X.push({resolve:q,reject:Y})).then((q)=>q?{value:q,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new P$(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}});var n8;var WX=b(()=>{n8=class n8 extends Error{constructor($){let X=typeof $==="string"?$:$.map((J)=>{if(J.type==="text")return J.text;return`[${J.type}]`}).join(" ");super(X);this.name="ToolError",this.content=$}}});var QY=1e5,qY=`You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
|
|
179
179
|
1. Task Overview
|
|
180
180
|
The user's core request and success criteria
|
|
181
181
|
Any clarifications or constraints they specified
|
|
@@ -197,64 +197,64 @@ User preferences or style requirements
|
|
|
197
197
|
Domain-specific details that aren't obvious
|
|
198
198
|
Any promises made to the user
|
|
199
199
|
Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
|
|
200
|
-
Wrap your summary in <summary></summary> tags.`;function zY(){let $,X;return{promise:new Promise((Q,q)=>{$=Q,X=q}),resolve:$,reject:X}}async function $D($,X=$.messages.at(-1)){if(!X||X.role!=="assistant"||!X.content||typeof X.content==="string")return null;let J=X.content.filter((q)=>q.type==="tool_use");if(J.length===0)return null;return{role:"user",content:await Promise.all(J.map(async(q)=>{let Y=$.tools.find((z)=>("name"in z?z.name:z.mcp_server_name)===q.name);if(!Y||!("run"in Y))return{type:"tool_result",tool_use_id:q.id,content:`Error: Tool '${q.name}' not found`,is_error:!0};try{let z=q.input;if("parse"in Y&&Y.parse)z=Y.parse(z);let G=await Y.run(z);return{type:"tool_result",tool_use_id:q.id,content:G}}catch(z){return{type:"tool_result",tool_use_id:q.id,content:z instanceof n8?z.content:`Error: ${z instanceof Error?z.message:String(z)}`,is_error:!0}}}))}}var O2,r8,J8,O$,L2,f$,B0,k0,R2,YY,d7,A2;var p7=b(()=>{W0();
|
|
201
|
-
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);if(q.model in JD&&q.thinking&&q.thinking.type==="enabled")console.warn(`Using Claude with ${q.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);let Y=this._client._options.timeout;if(!q.stream&&Y==null){let G=eX[q.model]??void 0;Y=this._client.calculateNonstreamingTimeout(q.max_tokens,G)}let z=tX(q.tools,q.messages);return this._client.post("/v1/messages?beta=true",{body:q,timeout:Y??600000,...X,headers:v([{...Q?.toString()!=null?{"anthropic-beta":Q?.toString()}:void 0},z,X?.headers]),stream:J.stream??!1})}parse($,X){return X={...X,headers:v([{"anthropic-beta":[...$.betas??[],"structured-outputs-2025-12-15"].toString()},X?.headers])},this.create($,X).then((J)=>y7(J,$,{logger:this._client.logger??console}))}stream($,X){return D2.createMessage(this,$,X)}countTokens($,X){let J=WY($),{betas:Q,...q}=J;return this._client.post("/v1/messages/count_tokens?beta=true",{body:q,...X,headers:v([{"anthropic-beta":[...Q??[],"token-counting-2024-11-01"].toString()},X?.headers])})}toolRunner($,X){return new A2(this._client,$,X)}};x0.Batches=_2;x0.BetaToolRunner=A2;x0.ToolError=n8});var F2;var s7=b(()=>{e$();b$();c8();b0();F2=class F2 extends q${create($,X={},J){let{betas:Q,...q}=X??{};return this._client.post(J$`/v1/skills/${$}/versions?beta=true`,l8({body:q,...J,headers:v([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])},this._client))}retrieve($,X,J){let{skill_id:Q,betas:q}=X;return this._client.get(J$`/v1/skills/${Q}/versions/${$}?beta=true`,{...J,headers:v([{"anthropic-beta":[...q??[],"skills-2025-10-02"].toString()},J?.headers])})}list($,X={},J){let{betas:Q,...q}=X??{};return this._client.getAPIList(J$`/v1/skills/${$}/versions?beta=true`,q2,{query:q,...J,headers:v([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])})}delete($,X,J){let{skill_id:Q,betas:q}=X;return this._client.delete(J$`/v1/skills/${Q}/versions/${$}?beta=true`,{...J,headers:v([{"anthropic-beta":[...q??[],"skills-2025-10-02"].toString()},J?.headers])})}}});var a8;var a7=b(()=>{s7();s7();e$();b$();c8();b0();a8=class a8 extends q${constructor(){super(...arguments);this.versions=new F2(this._client)}create($={},X){let{betas:J,...Q}=$??{};return this._client.post("/v1/skills?beta=true",l8({body:Q,...X,headers:v([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])},this._client,!1))}retrieve($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/skills/${$}?beta=true`,{...J,headers:v([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])})}list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/skills?beta=true",q2,{query:Q,...X,headers:v([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])})}delete($,X={},J){let{betas:Q}=X??{};return this._client.delete(J$`/v1/skills/${$}?beta=true`,{...J,headers:v([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])})}};a8.Versions=F2});var $0;var o7=b(()=>{b7();b7();f7();f7();r7();r7();a7();a7();$0=class $0 extends q${constructor(){super(...arguments);this.models=new U2(this._client),this.messages=new x0(this._client),this.files=new H2(this._client),this.skills=new a8(this._client)}};$0.Models=U2;$0.Messages=x0;$0.Files=H2;$0.Skills=a8});var o8;var t7=b(()=>{b$();o8=class o8 extends q${create($,X){let{betas:J,...Q}=$;return this._client.post("/v1/complete",{body:Q,timeout:this._client._options.timeout??600000,...X,headers:v([{...J?.toString()!=null?{"anthropic-beta":J?.toString()}:void 0},X?.headers]),stream:$.stream??!1})}}});function HY($){return $?.output_config?.format}function e7($,X,J){let Q=HY(X);if(!X||!("parse"in(Q??{})))return{...$,content:$.content.map((q)=>{if(q.type==="text")return Object.defineProperty({...q},"parsed_output",{value:null,enumerable:!1});return q}),parsed_output:null};return $9($,X,J)}function $9($,X,J){let Q=null,q=$.content.map((Y)=>{if(Y.type==="text"){let z=zD(X,Y.text);if(Q===null)Q=z;return Object.defineProperty({...Y},"parsed_output",{value:z,enumerable:!1})}return Y});return{...$,content:q,parsed_output:Q}}function zD($,X){let J=HY($);if(J?.type!=="json_schema")return null;try{if("parse"in J)return J.parse(X);return JSON.parse(X)}catch(Q){throw new j(`Failed to parse structured output: ${Q}`)}}var X9=b(()=>{T$()});function KY($){return $.type==="tool_use"||$.type==="server_tool_use"}function MY($){}var g$,y0,t8,I2,H5,E2,S2,U5,j2,K0,T2,V5,B5,Q8,K5,M5,Z2,J9,UY,Q9,q9,Y9,z9,VY,BY="__json_buf",C2;var NY=b(()=>{W0();d8();h7();v7();X9();C2=class C2{constructor($,X){g$.add(this),this.messages=[],this.receivedMessages=[],y0.set(this,void 0),t8.set(this,null),this.controller=new AbortController,I2.set(this,void 0),H5.set(this,()=>{}),E2.set(this,()=>{}),S2.set(this,void 0),U5.set(this,()=>{}),j2.set(this,()=>{}),K0.set(this,{}),T2.set(this,!1),V5.set(this,!1),B5.set(this,!1),Q8.set(this,!1),K5.set(this,void 0),M5.set(this,void 0),Z2.set(this,void 0),Q9.set(this,(J)=>{if(I(this,V5,!0,"f"),H0(J))J=new A$;if(J instanceof A$)return I(this,B5,!0,"f"),this._emit("abort",J);if(J instanceof j)return this._emit("error",J);if(J instanceof Error){let Q=new j(J.message);return Q.cause=J,this._emit("error",Q)}return this._emit("error",new j(String(J)))}),I(this,I2,new Promise((J,Q)=>{I(this,H5,J,"f"),I(this,E2,Q,"f")}),"f"),I(this,S2,new Promise((J,Q)=>{I(this,U5,J,"f"),I(this,j2,Q,"f")}),"f"),K(this,I2,"f").catch(()=>{}),K(this,S2,"f").catch(()=>{}),I(this,t8,$,"f"),I(this,Z2,X?.logger??console,"f")}get response(){return K(this,K5,"f")}get request_id(){return K(this,M5,"f")}async withResponse(){I(this,Q8,!0,"f");let $=await K(this,I2,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let X=new C2(null);return X._run(()=>X._fromReadableStream($)),X}static createMessage($,X,J,{logger:Q}={}){let q=new C2(X,{logger:Q});for(let Y of X.messages)q._addMessageParam(Y);return I(q,t8,{...X,stream:!0},"f"),q._run(()=>q._createMessage($,{...X,stream:!0},{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),q}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},K(this,Q9,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,X=!0){if(this.receivedMessages.push($),X)this._emit("message",$)}async _createMessage($,X,J){let Q=J?.signal,q;if(Q){if(Q.aborted)this.controller.abort();q=this.controller.abort.bind(this.controller),Q.addEventListener("abort",q)}try{K(this,g$,"m",q9).call(this);let{response:Y,data:z}=await $.create({...X,stream:!0},{...J,signal:this.controller.signal}).withResponse();this._connected(Y);for await(let G of z)K(this,g$,"m",Y9).call(this,G);if(z.controller.signal?.aborted)throw new A$;K(this,g$,"m",z9).call(this)}finally{if(Q&&q)Q.removeEventListener("abort",q)}}_connected($){if(this.ended)return;I(this,K5,$,"f"),I(this,M5,$?.headers.get("request-id"),"f"),K(this,H5,"f").call(this,$),this._emit("connect")}get ended(){return K(this,T2,"f")}get errored(){return K(this,V5,"f")}get aborted(){return K(this,B5,"f")}abort(){this.controller.abort()}on($,X){return(K(this,K0,"f")[$]||(K(this,K0,"f")[$]=[])).push({listener:X}),this}off($,X){let J=K(this,K0,"f")[$];if(!J)return this;let Q=J.findIndex((q)=>q.listener===X);if(Q>=0)J.splice(Q,1);return this}once($,X){return(K(this,K0,"f")[$]||(K(this,K0,"f")[$]=[])).push({listener:X,once:!0}),this}emitted($){return new Promise((X,J)=>{if(I(this,Q8,!0,"f"),$!=="error")this.once("error",J);this.once($,X)})}async done(){I(this,Q8,!0,"f"),await K(this,S2,"f")}get currentMessage(){return K(this,y0,"f")}async finalMessage(){return await this.done(),K(this,g$,"m",J9).call(this)}async finalText(){return await this.done(),K(this,g$,"m",UY).call(this)}_emit($,...X){if(K(this,T2,"f"))return;if($==="end")I(this,T2,!0,"f"),K(this,U5,"f").call(this);let J=K(this,K0,"f")[$];if(J)K(this,K0,"f")[$]=J.filter((Q)=>!Q.once),J.forEach(({listener:Q})=>Q(...X));if($==="abort"){let Q=X[0];if(!K(this,Q8,"f")&&!J?.length)Promise.reject(Q);K(this,E2,"f").call(this,Q),K(this,j2,"f").call(this,Q),this._emit("end");return}if($==="error"){let Q=X[0];if(!K(this,Q8,"f")&&!J?.length)Promise.reject(Q);K(this,E2,"f").call(this,Q),K(this,j2,"f").call(this,Q),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",K(this,g$,"m",J9).call(this))}async _fromReadableStream($,X){let J=X?.signal,Q;if(J){if(J.aborted)this.controller.abort();Q=this.controller.abort.bind(this.controller),J.addEventListener("abort",Q)}try{K(this,g$,"m",q9).call(this),this._connected(null);let q=P$.fromReadableStream($,this.controller);for await(let Y of q)K(this,g$,"m",Y9).call(this,Y);if(q.controller.signal?.aborted)throw new A$;K(this,g$,"m",z9).call(this)}finally{if(J&&Q)J.removeEventListener("abort",Q)}}[(y0=new WeakMap,t8=new WeakMap,I2=new WeakMap,H5=new WeakMap,E2=new WeakMap,S2=new WeakMap,U5=new WeakMap,j2=new WeakMap,K0=new WeakMap,T2=new WeakMap,V5=new WeakMap,B5=new WeakMap,Q8=new WeakMap,K5=new WeakMap,M5=new WeakMap,Z2=new WeakMap,Q9=new WeakMap,g$=new WeakSet,J9=function(){if(this.receivedMessages.length===0)throw new j("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},UY=function(){if(this.receivedMessages.length===0)throw new j("stream ended without producing a Message with role=assistant");let X=this.receivedMessages.at(-1).content.filter((J)=>J.type==="text").map((J)=>J.text);if(X.length===0)throw new j("stream ended without producing a content block with type=text");return X.join(" ")},q9=function(){if(this.ended)return;I(this,y0,void 0,"f")},Y9=function(X){if(this.ended)return;let J=K(this,g$,"m",VY).call(this,X);switch(this._emit("streamEvent",X,J),X.type){case"content_block_delta":{let Q=J.content.at(-1);switch(X.delta.type){case"text_delta":{if(Q.type==="text")this._emit("text",X.delta.text,Q.text||"");break}case"citations_delta":{if(Q.type==="text")this._emit("citation",X.delta.citation,Q.citations??[]);break}case"input_json_delta":{if(KY(Q)&&Q.input)this._emit("inputJson",X.delta.partial_json,Q.input);break}case"thinking_delta":{if(Q.type==="thinking")this._emit("thinking",X.delta.thinking,Q.thinking);break}case"signature_delta":{if(Q.type==="thinking")this._emit("signature",Q.signature);break}default:MY(X.delta)}break}case"message_stop":{this._addMessageParam(J),this._addMessage(e7(J,K(this,t8,"f"),{logger:K(this,Z2,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",J.content.at(-1));break}case"message_start":{I(this,y0,J,"f");break}case"content_block_start":case"message_delta":break}},z9=function(){if(this.ended)throw new j("stream has ended, this shouldn't happen");let X=K(this,y0,"f");if(!X)throw new j("request ended without sending any chunks");return I(this,y0,void 0,"f"),e7(X,K(this,t8,"f"),{logger:K(this,Z2,"f")})},VY=function(X){let J=K(this,y0,"f");if(X.type==="message_start"){if(J)throw new j(`Unexpected event order, got ${X.type} before receiving "message_stop"`);return X.message}if(!J)throw new j(`Unexpected event order, got ${X.type} before "message_start"`);switch(X.type){case"message_stop":return J;case"message_delta":if(J.stop_reason=X.delta.stop_reason,J.stop_sequence=X.delta.stop_sequence,J.usage.output_tokens=X.usage.output_tokens,X.usage.input_tokens!=null)J.usage.input_tokens=X.usage.input_tokens;if(X.usage.cache_creation_input_tokens!=null)J.usage.cache_creation_input_tokens=X.usage.cache_creation_input_tokens;if(X.usage.cache_read_input_tokens!=null)J.usage.cache_read_input_tokens=X.usage.cache_read_input_tokens;if(X.usage.server_tool_use!=null)J.usage.server_tool_use=X.usage.server_tool_use;return J;case"content_block_start":return J.content.push({...X.content_block}),J;case"content_block_delta":{let Q=J.content.at(X.index);switch(X.delta.type){case"text_delta":{if(Q?.type==="text")J.content[X.index]={...Q,text:(Q.text||"")+X.delta.text};break}case"citations_delta":{if(Q?.type==="text")J.content[X.index]={...Q,citations:[...Q.citations??[],X.delta.citation]};break}case"input_json_delta":{if(Q&&KY(Q)){let q=Q[BY]||"";q+=X.delta.partial_json;let Y={...Q};if(Object.defineProperty(Y,BY,{value:q,enumerable:!1,writable:!0}),q)Y.input=$5(q);J.content[X.index]=Y}break}case"thinking_delta":{if(Q?.type==="thinking")J.content[X.index]={...Q,thinking:Q.thinking+X.delta.thinking};break}case"signature_delta":{if(Q?.type==="thinking")J.content[X.index]={...Q,signature:X.delta.signature};break}default:MY(X.delta)}return J}case"content_block_stop":return J}},Symbol.asyncIterator)](){let $=[],X=[],J=!1;return this.on("streamEvent",(Q)=>{let q=X.shift();if(q)q.resolve(Q);else $.push(Q)}),this.on("end",()=>{J=!0;for(let Q of X)Q.resolve(void 0);X.length=0}),this.on("abort",(Q)=>{J=!0;for(let q of X)q.reject(Q);X.length=0}),this.on("error",(Q)=>{J=!0;for(let q of X)q.reject(Q);X.length=0}),{next:async()=>{if(!$.length){if(J)return{value:void 0,done:!0};return new Promise((q,Y)=>X.push({resolve:q,reject:Y})).then((q)=>q?{value:q,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new P$(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}});var P2;var G9=b(()=>{e$();b$();i7();d8();b0();P2=class P2 extends q${create($,X){return this._client.post("/v1/messages/batches",{body:$,...X})}retrieve($,X){return this._client.get(J$`/v1/messages/batches/${$}`,X)}list($={},X){return this._client.getAPIList("/v1/messages/batches",m$,{query:$,...X})}delete($,X){return this._client.delete(J$`/v1/messages/batches/${$}`,X)}cancel($,X){return this._client.post(J$`/v1/messages/batches/${$}/cancel`,X)}async results($,X){let J=await this.retrieve($);if(!J.results_url)throw new j(`No batch \`results_url\`; Has it finished processing? ${J.processing_status} - ${J.id}`);return this._client.get(J.results_url,{...X,headers:v([{Accept:"application/binary"},X?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Q,q)=>s8.fromResponse(q.response,q.controller))}}});var q8,wY,WD;var W9=b(()=>{b$();W2();NY();X9();G9();G9();k7();q8=class q8 extends q${constructor(){super(...arguments);this.batches=new P2(this._client)}create($,X){if($.model in wY)console.warn(`The model '${$.model}' is deprecated and will reach end-of-life on ${wY[$.model]}
|
|
202
|
-
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);if($.model in WD&&$.thinking&&$.thinking.type==="enabled")console.warn(`Using Claude with ${$.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);let J=this._client._options.timeout;if(!$.stream&&J==null){let q=
|
|
200
|
+
Wrap your summary in <summary></summary> tags.`;function zY(){let $,X;return{promise:new Promise((Q,q)=>{$=Q,X=q}),resolve:$,reject:X}}async function $D($,X=$.messages.at(-1)){if(!X||X.role!=="assistant"||!X.content||typeof X.content==="string")return null;let J=X.content.filter((q)=>q.type==="tool_use");if(J.length===0)return null;return{role:"user",content:await Promise.all(J.map(async(q)=>{let Y=$.tools.find((z)=>("name"in z?z.name:z.mcp_server_name)===q.name);if(!Y||!("run"in Y))return{type:"tool_result",tool_use_id:q.id,content:`Error: Tool '${q.name}' not found`,is_error:!0};try{let z=q.input;if("parse"in Y&&Y.parse)z=Y.parse(z);let G=await Y.run(z);return{type:"tool_result",tool_use_id:q.id,content:G}}catch(z){return{type:"tool_result",tool_use_id:q.id,content:z instanceof n8?z.content:`Error: ${z instanceof Error?z.message:String(z)}`,is_error:!0}}}))}}var O2,r8,J8,O$,L2,f$,B0,k0,R2,YY,d7,A2;var p7=b(()=>{W0();WX();T$();b$();W2();A2=class A2{constructor($,X,J){O2.add(this),this.client=$,r8.set(this,!1),J8.set(this,!1),O$.set(this,void 0),L2.set(this,void 0),f$.set(this,void 0),B0.set(this,void 0),k0.set(this,void 0),R2.set(this,0),I(this,O$,{params:{...X,messages:structuredClone(X.messages)}},"f");let q=["BetaToolRunner",...P7(X.tools,X.messages)].join(", ");I(this,L2,{...J,headers:h([{"x-stainless-helper":q},J?.headers])},"f"),I(this,k0,zY(),"f")}async*[(r8=new WeakMap,J8=new WeakMap,O$=new WeakMap,L2=new WeakMap,f$=new WeakMap,B0=new WeakMap,k0=new WeakMap,R2=new WeakMap,O2=new WeakSet,YY=async function(){let X=K(this,O$,"f").params.compactionControl;if(!X||!X.enabled)return!1;let J=0;if(K(this,f$,"f")!==void 0)try{let W=await K(this,f$,"f");J=W.usage.input_tokens+(W.usage.cache_creation_input_tokens??0)+(W.usage.cache_read_input_tokens??0)+W.usage.output_tokens}catch{return!1}let Q=X.contextTokenThreshold??QY;if(J<Q)return!1;let q=X.model??K(this,O$,"f").params.model,Y=X.summaryPrompt??qY,z=K(this,O$,"f").params.messages;if(z[z.length-1].role==="assistant"){let W=z[z.length-1];if(Array.isArray(W.content)){let H=W.content.filter((U)=>U.type!=="tool_use");if(H.length===0)z.pop();else W.content=H}}let G=await this.client.beta.messages.create({model:q,messages:[...z,{role:"user",content:[{type:"text",text:Y}]}],max_tokens:K(this,O$,"f").params.max_tokens},{headers:{"x-stainless-helper":"compaction"}});if(G.content[0]?.type!=="text")throw new j("Expected text response for compaction");return K(this,O$,"f").params.messages=[{role:"user",content:G.content}],!0},Symbol.asyncIterator)](){var $;if(K(this,r8,"f"))throw new j("Cannot iterate over a consumed stream");I(this,r8,!0,"f"),I(this,J8,!0,"f"),I(this,B0,void 0,"f");try{while(!0){let X;try{if(K(this,O$,"f").params.max_iterations&&K(this,R2,"f")>=K(this,O$,"f").params.max_iterations)break;I(this,J8,!1,"f"),I(this,B0,void 0,"f"),I(this,R2,($=K(this,R2,"f"),$++,$),"f"),I(this,f$,void 0,"f");let{max_iterations:J,compactionControl:Q,...q}=K(this,O$,"f").params;if(q.stream)X=this.client.beta.messages.stream({...q},K(this,L2,"f")),I(this,f$,X.finalMessage(),"f"),K(this,f$,"f").catch(()=>{}),yield X;else I(this,f$,this.client.beta.messages.create({...q,stream:!1},K(this,L2,"f")),"f"),yield K(this,f$,"f");if(!await K(this,O2,"m",YY).call(this)){if(!K(this,J8,"f")){let{role:G,content:W}=await K(this,f$,"f");K(this,O$,"f").params.messages.push({role:G,content:W})}let z=await K(this,O2,"m",d7).call(this,K(this,O$,"f").params.messages.at(-1));if(z)K(this,O$,"f").params.messages.push(z);else if(!K(this,J8,"f"))break}}finally{if(X)X.abort()}}if(!K(this,f$,"f"))throw new j("ToolRunner concluded without a message from the server");K(this,k0,"f").resolve(await K(this,f$,"f"))}catch(X){throw I(this,r8,!1,"f"),K(this,k0,"f").promise.catch(()=>{}),K(this,k0,"f").reject(X),I(this,k0,zY(),"f"),X}}setMessagesParams($){if(typeof $==="function")K(this,O$,"f").params=$(K(this,O$,"f").params);else K(this,O$,"f").params=$;I(this,J8,!0,"f"),I(this,B0,void 0,"f")}async generateToolResponse(){let $=await K(this,f$,"f")??this.params.messages.at(-1);if(!$)return null;return K(this,O2,"m",d7).call(this,$)}done(){return K(this,k0,"f").promise}async runUntilDone(){if(!K(this,r8,"f"))for await(let $ of this);return this.done()}get params(){return K(this,O$,"f").params}pushMessages(...$){this.setMessagesParams((X)=>({...X,messages:[...X.messages,...$]}))}then($,X){return this.runUntilDone().then($,X)}};d7=async function(X){if(K(this,B0,"f")!==void 0)return K(this,B0,"f");return I(this,B0,$D(K(this,O$,"f").params,X),"f"),K(this,B0,"f")}});var a8;var i7=b(()=>{T$();R7();a8=class a8{constructor($,X){this.iterator=$,this.controller=X}async*decoder(){let $=new C0;for await(let X of this.iterator)for(let J of $.decode(X))yield JSON.parse(J);for(let X of $.flush())yield JSON.parse(X)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse($,X){if(!$.body){if(X.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new j("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new j("Attempted to iterate over a response with no body")}return new a8(t6($.body),X)}}});var _2;var n7=b(()=>{e$();b$();i7();d8();b0();_2=class _2 extends q${create($,X){let{betas:J,...Q}=$;return this._client.post("/v1/messages/batches?beta=true",{body:Q,...X,headers:h([{"anthropic-beta":[...J??[],"message-batches-2024-09-24"].toString()},X?.headers])})}retrieve($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/messages/batches/${$}?beta=true`,{...J,headers:h([{"anthropic-beta":[...Q??[],"message-batches-2024-09-24"].toString()},J?.headers])})}list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/messages/batches?beta=true",m$,{query:Q,...X,headers:h([{"anthropic-beta":[...J??[],"message-batches-2024-09-24"].toString()},X?.headers])})}delete($,X={},J){let{betas:Q}=X??{};return this._client.delete(J$`/v1/messages/batches/${$}?beta=true`,{...J,headers:h([{"anthropic-beta":[...Q??[],"message-batches-2024-09-24"].toString()},J?.headers])})}cancel($,X={},J){let{betas:Q}=X??{};return this._client.post(J$`/v1/messages/batches/${$}/cancel?beta=true`,{...J,headers:h([{"anthropic-beta":[...Q??[],"message-batches-2024-09-24"].toString()},J?.headers])})}async results($,X={},J){let Q=await this.retrieve($);if(!Q.results_url)throw new j(`No batch \`results_url\`; Has it finished processing? ${Q.processing_status} - ${Q.id}`);let{betas:q}=X??{};return this._client.get(Q.results_url,{...J,headers:h([{"anthropic-beta":[...q??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},J?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Y,z)=>a8.fromResponse(z.response,z.controller))}}});function WY($){if(!$.output_format)return $;if($.output_config?.format)throw new j("Both output_format and output_config.format were provided. Please use only output_config.format (output_format is deprecated).");let{output_format:X,...J}=$;return{...J,output_config:{...$.output_config,format:X}}}var GY,JD,x0;var r7=b(()=>{d8();k7();b$();W2();g7();JY();p7();WX();n7();n7();p7();WX();GY={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026"},JD=["claude-opus-4-6"];x0=class x0 extends q${constructor(){super(...arguments);this.batches=new _2(this._client)}create($,X){let J=WY($),{betas:Q,...q}=J;if(q.model in GY)console.warn(`The model '${q.model}' is deprecated and will reach end-of-life on ${GY[q.model]}
|
|
201
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);if(q.model in JD&&q.thinking&&q.thinking.type==="enabled")console.warn(`Using Claude with ${q.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);let Y=this._client._options.timeout;if(!q.stream&&Y==null){let G=e5[q.model]??void 0;Y=this._client.calculateNonstreamingTimeout(q.max_tokens,G)}let z=t5(q.tools,q.messages);return this._client.post("/v1/messages?beta=true",{body:q,timeout:Y??600000,...X,headers:h([{...Q?.toString()!=null?{"anthropic-beta":Q?.toString()}:void 0},z,X?.headers]),stream:J.stream??!1})}parse($,X){return X={...X,headers:h([{"anthropic-beta":[...$.betas??[],"structured-outputs-2025-12-15"].toString()},X?.headers])},this.create($,X).then((J)=>y7(J,$,{logger:this._client.logger??console}))}stream($,X){return D2.createMessage(this,$,X)}countTokens($,X){let J=WY($),{betas:Q,...q}=J;return this._client.post("/v1/messages/count_tokens?beta=true",{body:q,...X,headers:h([{"anthropic-beta":[...Q??[],"token-counting-2024-11-01"].toString()},X?.headers])})}toolRunner($,X){return new A2(this._client,$,X)}};x0.Batches=_2;x0.BetaToolRunner=A2;x0.ToolError=n8});var F2;var a7=b(()=>{e$();b$();c8();b0();F2=class F2 extends q${create($,X={},J){let{betas:Q,...q}=X??{};return this._client.post(J$`/v1/skills/${$}/versions?beta=true`,l8({body:q,...J,headers:h([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])},this._client))}retrieve($,X,J){let{skill_id:Q,betas:q}=X;return this._client.get(J$`/v1/skills/${Q}/versions/${$}?beta=true`,{...J,headers:h([{"anthropic-beta":[...q??[],"skills-2025-10-02"].toString()},J?.headers])})}list($,X={},J){let{betas:Q,...q}=X??{};return this._client.getAPIList(J$`/v1/skills/${$}/versions?beta=true`,q2,{query:q,...J,headers:h([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])})}delete($,X,J){let{skill_id:Q,betas:q}=X;return this._client.delete(J$`/v1/skills/${Q}/versions/${$}?beta=true`,{...J,headers:h([{"anthropic-beta":[...q??[],"skills-2025-10-02"].toString()},J?.headers])})}}});var s8;var s7=b(()=>{a7();a7();e$();b$();c8();b0();s8=class s8 extends q${constructor(){super(...arguments);this.versions=new F2(this._client)}create($={},X){let{betas:J,...Q}=$??{};return this._client.post("/v1/skills?beta=true",l8({body:Q,...X,headers:h([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])},this._client,!1))}retrieve($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/skills/${$}?beta=true`,{...J,headers:h([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])})}list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/skills?beta=true",q2,{query:Q,...X,headers:h([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])})}delete($,X={},J){let{betas:Q}=X??{};return this._client.delete(J$`/v1/skills/${$}?beta=true`,{...J,headers:h([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])})}};s8.Versions=F2});var $0;var o7=b(()=>{b7();b7();f7();f7();r7();r7();s7();s7();$0=class $0 extends q${constructor(){super(...arguments);this.models=new U2(this._client),this.messages=new x0(this._client),this.files=new H2(this._client),this.skills=new s8(this._client)}};$0.Models=U2;$0.Messages=x0;$0.Files=H2;$0.Skills=s8});var o8;var t7=b(()=>{b$();o8=class o8 extends q${create($,X){let{betas:J,...Q}=$;return this._client.post("/v1/complete",{body:Q,timeout:this._client._options.timeout??600000,...X,headers:h([{...J?.toString()!=null?{"anthropic-beta":J?.toString()}:void 0},X?.headers]),stream:$.stream??!1})}}});function HY($){return $?.output_config?.format}function e7($,X,J){let Q=HY(X);if(!X||!("parse"in(Q??{})))return{...$,content:$.content.map((q)=>{if(q.type==="text")return Object.defineProperty({...q},"parsed_output",{value:null,enumerable:!1});return q}),parsed_output:null};return $9($,X,J)}function $9($,X,J){let Q=null,q=$.content.map((Y)=>{if(Y.type==="text"){let z=zD(X,Y.text);if(Q===null)Q=z;return Object.defineProperty({...Y},"parsed_output",{value:z,enumerable:!1})}return Y});return{...$,content:q,parsed_output:Q}}function zD($,X){let J=HY($);if(J?.type!=="json_schema")return null;try{if("parse"in J)return J.parse(X);return JSON.parse(X)}catch(Q){throw new j(`Failed to parse structured output: ${Q}`)}}var X9=b(()=>{T$()});function KY($){return $.type==="tool_use"||$.type==="server_tool_use"}function MY($){}var g$,y0,t8,I2,HX,E2,S2,UX,j2,K0,T2,VX,BX,Q8,KX,MX,Z2,J9,UY,Q9,q9,Y9,z9,VY,BY="__json_buf",C2;var NY=b(()=>{W0();d8();h7();v7();X9();C2=class C2{constructor($,X){g$.add(this),this.messages=[],this.receivedMessages=[],y0.set(this,void 0),t8.set(this,null),this.controller=new AbortController,I2.set(this,void 0),HX.set(this,()=>{}),E2.set(this,()=>{}),S2.set(this,void 0),UX.set(this,()=>{}),j2.set(this,()=>{}),K0.set(this,{}),T2.set(this,!1),VX.set(this,!1),BX.set(this,!1),Q8.set(this,!1),KX.set(this,void 0),MX.set(this,void 0),Z2.set(this,void 0),Q9.set(this,(J)=>{if(I(this,VX,!0,"f"),H0(J))J=new A$;if(J instanceof A$)return I(this,BX,!0,"f"),this._emit("abort",J);if(J instanceof j)return this._emit("error",J);if(J instanceof Error){let Q=new j(J.message);return Q.cause=J,this._emit("error",Q)}return this._emit("error",new j(String(J)))}),I(this,I2,new Promise((J,Q)=>{I(this,HX,J,"f"),I(this,E2,Q,"f")}),"f"),I(this,S2,new Promise((J,Q)=>{I(this,UX,J,"f"),I(this,j2,Q,"f")}),"f"),K(this,I2,"f").catch(()=>{}),K(this,S2,"f").catch(()=>{}),I(this,t8,$,"f"),I(this,Z2,X?.logger??console,"f")}get response(){return K(this,KX,"f")}get request_id(){return K(this,MX,"f")}async withResponse(){I(this,Q8,!0,"f");let $=await K(this,I2,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let X=new C2(null);return X._run(()=>X._fromReadableStream($)),X}static createMessage($,X,J,{logger:Q}={}){let q=new C2(X,{logger:Q});for(let Y of X.messages)q._addMessageParam(Y);return I(q,t8,{...X,stream:!0},"f"),q._run(()=>q._createMessage($,{...X,stream:!0},{...J,headers:{...J?.headers,"X-Stainless-Helper-Method":"stream"}})),q}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},K(this,Q9,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,X=!0){if(this.receivedMessages.push($),X)this._emit("message",$)}async _createMessage($,X,J){let Q=J?.signal,q;if(Q){if(Q.aborted)this.controller.abort();q=this.controller.abort.bind(this.controller),Q.addEventListener("abort",q)}try{K(this,g$,"m",q9).call(this);let{response:Y,data:z}=await $.create({...X,stream:!0},{...J,signal:this.controller.signal}).withResponse();this._connected(Y);for await(let G of z)K(this,g$,"m",Y9).call(this,G);if(z.controller.signal?.aborted)throw new A$;K(this,g$,"m",z9).call(this)}finally{if(Q&&q)Q.removeEventListener("abort",q)}}_connected($){if(this.ended)return;I(this,KX,$,"f"),I(this,MX,$?.headers.get("request-id"),"f"),K(this,HX,"f").call(this,$),this._emit("connect")}get ended(){return K(this,T2,"f")}get errored(){return K(this,VX,"f")}get aborted(){return K(this,BX,"f")}abort(){this.controller.abort()}on($,X){return(K(this,K0,"f")[$]||(K(this,K0,"f")[$]=[])).push({listener:X}),this}off($,X){let J=K(this,K0,"f")[$];if(!J)return this;let Q=J.findIndex((q)=>q.listener===X);if(Q>=0)J.splice(Q,1);return this}once($,X){return(K(this,K0,"f")[$]||(K(this,K0,"f")[$]=[])).push({listener:X,once:!0}),this}emitted($){return new Promise((X,J)=>{if(I(this,Q8,!0,"f"),$!=="error")this.once("error",J);this.once($,X)})}async done(){I(this,Q8,!0,"f"),await K(this,S2,"f")}get currentMessage(){return K(this,y0,"f")}async finalMessage(){return await this.done(),K(this,g$,"m",J9).call(this)}async finalText(){return await this.done(),K(this,g$,"m",UY).call(this)}_emit($,...X){if(K(this,T2,"f"))return;if($==="end")I(this,T2,!0,"f"),K(this,UX,"f").call(this);let J=K(this,K0,"f")[$];if(J)K(this,K0,"f")[$]=J.filter((Q)=>!Q.once),J.forEach(({listener:Q})=>Q(...X));if($==="abort"){let Q=X[0];if(!K(this,Q8,"f")&&!J?.length)Promise.reject(Q);K(this,E2,"f").call(this,Q),K(this,j2,"f").call(this,Q),this._emit("end");return}if($==="error"){let Q=X[0];if(!K(this,Q8,"f")&&!J?.length)Promise.reject(Q);K(this,E2,"f").call(this,Q),K(this,j2,"f").call(this,Q),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",K(this,g$,"m",J9).call(this))}async _fromReadableStream($,X){let J=X?.signal,Q;if(J){if(J.aborted)this.controller.abort();Q=this.controller.abort.bind(this.controller),J.addEventListener("abort",Q)}try{K(this,g$,"m",q9).call(this),this._connected(null);let q=P$.fromReadableStream($,this.controller);for await(let Y of q)K(this,g$,"m",Y9).call(this,Y);if(q.controller.signal?.aborted)throw new A$;K(this,g$,"m",z9).call(this)}finally{if(J&&Q)J.removeEventListener("abort",Q)}}[(y0=new WeakMap,t8=new WeakMap,I2=new WeakMap,HX=new WeakMap,E2=new WeakMap,S2=new WeakMap,UX=new WeakMap,j2=new WeakMap,K0=new WeakMap,T2=new WeakMap,VX=new WeakMap,BX=new WeakMap,Q8=new WeakMap,KX=new WeakMap,MX=new WeakMap,Z2=new WeakMap,Q9=new WeakMap,g$=new WeakSet,J9=function(){if(this.receivedMessages.length===0)throw new j("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},UY=function(){if(this.receivedMessages.length===0)throw new j("stream ended without producing a Message with role=assistant");let X=this.receivedMessages.at(-1).content.filter((J)=>J.type==="text").map((J)=>J.text);if(X.length===0)throw new j("stream ended without producing a content block with type=text");return X.join(" ")},q9=function(){if(this.ended)return;I(this,y0,void 0,"f")},Y9=function(X){if(this.ended)return;let J=K(this,g$,"m",VY).call(this,X);switch(this._emit("streamEvent",X,J),X.type){case"content_block_delta":{let Q=J.content.at(-1);switch(X.delta.type){case"text_delta":{if(Q.type==="text")this._emit("text",X.delta.text,Q.text||"");break}case"citations_delta":{if(Q.type==="text")this._emit("citation",X.delta.citation,Q.citations??[]);break}case"input_json_delta":{if(KY(Q)&&Q.input)this._emit("inputJson",X.delta.partial_json,Q.input);break}case"thinking_delta":{if(Q.type==="thinking")this._emit("thinking",X.delta.thinking,Q.thinking);break}case"signature_delta":{if(Q.type==="thinking")this._emit("signature",Q.signature);break}default:MY(X.delta)}break}case"message_stop":{this._addMessageParam(J),this._addMessage(e7(J,K(this,t8,"f"),{logger:K(this,Z2,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",J.content.at(-1));break}case"message_start":{I(this,y0,J,"f");break}case"content_block_start":case"message_delta":break}},z9=function(){if(this.ended)throw new j("stream has ended, this shouldn't happen");let X=K(this,y0,"f");if(!X)throw new j("request ended without sending any chunks");return I(this,y0,void 0,"f"),e7(X,K(this,t8,"f"),{logger:K(this,Z2,"f")})},VY=function(X){let J=K(this,y0,"f");if(X.type==="message_start"){if(J)throw new j(`Unexpected event order, got ${X.type} before receiving "message_stop"`);return X.message}if(!J)throw new j(`Unexpected event order, got ${X.type} before "message_start"`);switch(X.type){case"message_stop":return J;case"message_delta":if(J.stop_reason=X.delta.stop_reason,J.stop_sequence=X.delta.stop_sequence,J.usage.output_tokens=X.usage.output_tokens,X.usage.input_tokens!=null)J.usage.input_tokens=X.usage.input_tokens;if(X.usage.cache_creation_input_tokens!=null)J.usage.cache_creation_input_tokens=X.usage.cache_creation_input_tokens;if(X.usage.cache_read_input_tokens!=null)J.usage.cache_read_input_tokens=X.usage.cache_read_input_tokens;if(X.usage.server_tool_use!=null)J.usage.server_tool_use=X.usage.server_tool_use;return J;case"content_block_start":return J.content.push({...X.content_block}),J;case"content_block_delta":{let Q=J.content.at(X.index);switch(X.delta.type){case"text_delta":{if(Q?.type==="text")J.content[X.index]={...Q,text:(Q.text||"")+X.delta.text};break}case"citations_delta":{if(Q?.type==="text")J.content[X.index]={...Q,citations:[...Q.citations??[],X.delta.citation]};break}case"input_json_delta":{if(Q&&KY(Q)){let q=Q[BY]||"";q+=X.delta.partial_json;let Y={...Q};if(Object.defineProperty(Y,BY,{value:q,enumerable:!1,writable:!0}),q)Y.input=$X(q);J.content[X.index]=Y}break}case"thinking_delta":{if(Q?.type==="thinking")J.content[X.index]={...Q,thinking:Q.thinking+X.delta.thinking};break}case"signature_delta":{if(Q?.type==="thinking")J.content[X.index]={...Q,signature:X.delta.signature};break}default:MY(X.delta)}return J}case"content_block_stop":return J}},Symbol.asyncIterator)](){let $=[],X=[],J=!1;return this.on("streamEvent",(Q)=>{let q=X.shift();if(q)q.resolve(Q);else $.push(Q)}),this.on("end",()=>{J=!0;for(let Q of X)Q.resolve(void 0);X.length=0}),this.on("abort",(Q)=>{J=!0;for(let q of X)q.reject(Q);X.length=0}),this.on("error",(Q)=>{J=!0;for(let q of X)q.reject(Q);X.length=0}),{next:async()=>{if(!$.length){if(J)return{value:void 0,done:!0};return new Promise((q,Y)=>X.push({resolve:q,reject:Y})).then((q)=>q?{value:q,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new P$(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}});var P2;var G9=b(()=>{e$();b$();i7();d8();b0();P2=class P2 extends q${create($,X){return this._client.post("/v1/messages/batches",{body:$,...X})}retrieve($,X){return this._client.get(J$`/v1/messages/batches/${$}`,X)}list($={},X){return this._client.getAPIList("/v1/messages/batches",m$,{query:$,...X})}delete($,X){return this._client.delete(J$`/v1/messages/batches/${$}`,X)}cancel($,X){return this._client.post(J$`/v1/messages/batches/${$}/cancel`,X)}async results($,X){let J=await this.retrieve($);if(!J.results_url)throw new j(`No batch \`results_url\`; Has it finished processing? ${J.processing_status} - ${J.id}`);return this._client.get(J.results_url,{...X,headers:h([{Accept:"application/binary"},X?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Q,q)=>a8.fromResponse(q.response,q.controller))}}});var q8,wY,WD;var W9=b(()=>{b$();W2();NY();X9();G9();G9();k7();q8=class q8 extends q${constructor(){super(...arguments);this.batches=new P2(this._client)}create($,X){if($.model in wY)console.warn(`The model '${$.model}' is deprecated and will reach end-of-life on ${wY[$.model]}
|
|
202
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);if($.model in WD&&$.thinking&&$.thinking.type==="enabled")console.warn(`Using Claude with ${$.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);let J=this._client._options.timeout;if(!$.stream&&J==null){let q=e5[$.model]??void 0;J=this._client.calculateNonstreamingTimeout($.max_tokens,q)}let Q=t5($.tools,$.messages);return this._client.post("/v1/messages",{body:$,timeout:J??600000,...X,headers:h([Q,X?.headers]),stream:$.stream??!1})}parse($,X){return this.create($,X).then((J)=>$9(J,$,{logger:this._client.logger??console}))}stream($,X){return C2.createMessage(this,$,X,{logger:this._client.logger??console})}countTokens($,X){return this._client.post("/v1/messages/count_tokens",{body:$,...X})}};wY={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026","claude-3-5-haiku-latest":"February 19th, 2026","claude-3-5-haiku-20241022":"February 19th, 2026"},WD=["claude-opus-4-6"];q8.Batches=P2});var e8;var H9=b(()=>{e$();b$();b0();e8=class e8 extends q${retrieve($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/models/${$}`,{...J,headers:h([{...Q?.toString()!=null?{"anthropic-beta":Q?.toString()}:void 0},J?.headers])})}list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/models",m$,{query:Q,...X,headers:h([{...J?.toString()!=null?{"anthropic-beta":J?.toString()}:void 0},X?.headers])})}}});var DY=b(()=>{o7();t7();W9();H9();pq()});var b2=($)=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[$]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.($)?.trim();return};class Y${constructor({baseURL:$=b2("ANTHROPIC_BASE_URL"),apiKey:X=b2("ANTHROPIC_API_KEY")??null,authToken:J=b2("ANTHROPIC_AUTH_TOKEN")??null,...Q}={}){U9.add(this),NX.set(this,void 0);let q={apiKey:X,authToken:J,...Q,baseURL:$||"https://api.anthropic.com"};if(!q.dangerouslyAllowBrowser&&Pq())throw new j(`It looks like you're running in a browser-like environment.
|
|
203
203
|
|
|
204
204
|
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
205
205
|
If you understand the risks and have appropriate mitigations in place,
|
|
206
206
|
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
207
207
|
|
|
208
208
|
new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
|
|
209
|
-
`);this.baseURL=q.baseURL,this.timeout=q.timeout??V9.DEFAULT_TIMEOUT,this.logger=q.logger??console;let Y="warn";this.logLevel=Y,this.logLevel=A7(q.logLevel,"ClientOptions.logLevel",this)??A7(b2("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??Y,this.fetchOptions=q.fetchOptions,this.maxRetries=q.maxRetries??2,this.fetch=q.fetch??fq(),I(this,N5,xq,"f"),this._options=q,this.apiKey=typeof X==="string"?X:null,this.authToken=J}withOptions($){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:X}){if($.get("x-api-key")||$.get("authorization"))return;if(this.apiKey&&$.get("x-api-key"))return;if(X.has("x-api-key"))return;if(this.authToken&&$.get("authorization"))return;if(X.has("authorization"))return;throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}async authHeaders($){return v([await this.apiKeyAuth($),await this.bearerAuth($)])}async apiKeyAuth($){if(this.apiKey==null)return;return v([{"X-Api-Key":this.apiKey}])}async bearerAuth($){if(this.authToken==null)return;return v([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery($){return Object.entries($).filter(([X,J])=>typeof J<"u").map(([X,J])=>{if(typeof J==="string"||typeof J==="number"||typeof J==="boolean")return`${encodeURIComponent(X)}=${encodeURIComponent(J)}`;if(J===null)return`${encodeURIComponent(X)}=`;throw new j(`Cannot stringify type ${typeof J}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${Z0}`}defaultIdempotencyKey(){return`stainless-node-retry-${M7()}`}makeStatusError($,X,J,Q){return w$.generate($,X,J,Q)}buildURL($,X,J){let Q=!K(this,U9,"m",OY).call(this)&&J||this.baseURL,q=Fq($)?new URL($):new URL(Q+(Q.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),Y=this.defaultQuery();if(!Iq(Y))X={...Y,...X};if(typeof X==="object"&&X&&!Array.isArray(X))q.search=this.stringifyQuery(X);return q.toString()}_calculateNonstreamingTimeout($){if(3600*$/128000>600)throw new j("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 600000}async prepareOptions($){}async prepareRequest($,{url:X,options:J}){}get($,X){return this.methodRequest("get",$,X)}post($,X){return this.methodRequest("post",$,X)}patch($,X){return this.methodRequest("patch",$,X)}put($,X){return this.methodRequest("put",$,X)}delete($,X){return this.methodRequest("delete",$,X)}methodRequest($,X,J){return this.request(Promise.resolve(J).then((Q)=>{return{method:$,path:X,...Q}}))}request($,X=null){return new P0(this,this.makeRequest($,X,void 0))}async makeRequest($,X,J){let Q=await $,q=Q.maxRetries??this.maxRetries;if(X==null)X=q;await this.prepareOptions(Q);let{req:Y,url:z,timeout:G}=await this.buildRequest(Q,{retryCount:q-X});await this.prepareRequest(Y,{url:z,options:Q});let W="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),H=J===void 0?"":`, retryOf: ${J}`,U=Date.now();if(L$(this).debug(`[${W}] sending request`,U0({retryOfRequestLogID:J,method:Q.method,url:z,options:Q,headers:Y.headers})),Q.signal?.aborted)throw new A$;let B=new AbortController,V=await this.fetchWithTimeout(z,Y,G,B).catch(o6),N=Date.now();if(V instanceof globalThis.Error){let D=`retrying, ${X} attempts remaining`;if(Q.signal?.aborted)throw new A$;let F=H0(V)||/timed? ?out/i.test(String(V)+("cause"in V?String(V.cause):""));if(X)return L$(this).info(`[${W}] connection ${F?"timed out":"failed"} - ${D}`),L$(this).debug(`[${W}] connection ${F?"timed out":"failed"} (${D})`,U0({retryOfRequestLogID:J,url:z,durationMs:N-U,message:V.message})),this.retryRequest(Q,X,J??W);if(L$(this).info(`[${W}] connection ${F?"timed out":"failed"} - error; no more retries left`),L$(this).debug(`[${W}] connection ${F?"timed out":"failed"} (error; no more retries left)`,U0({retryOfRequestLogID:J,url:z,durationMs:N-U,message:V.message})),F)throw new f8;throw new T0({cause:V})}let R=[...V.headers.entries()].filter(([D])=>D==="request-id").map(([D,F])=>", "+D+": "+JSON.stringify(F)).join(""),M=`[${W}${H}${R}] ${Y.method} ${z} ${V.ok?"succeeded":"failed"} with status ${V.status} in ${N-U}ms`;if(!V.ok){let D=await this.shouldRetry(V);if(X&&D){let x=`retrying, ${X} attempts remaining`;return await kq(V.body),L$(this).info(`${M} - ${x}`),L$(this).debug(`[${W}] response error (${x})`,U0({retryOfRequestLogID:J,url:V.url,status:V.status,headers:V.headers,durationMs:N-U})),this.retryRequest(Q,X,J??W,V.headers)}let F=D?"error; no more retries left":"error; not retryable";L$(this).info(`${M} - ${F}`);let T=await V.text().catch((x)=>o6(x).message),P=cX(T),f=P?void 0:T;throw L$(this).debug(`[${W}] response error (${F})`,U0({retryOfRequestLogID:J,url:V.url,status:V.status,headers:V.headers,message:f,durationMs:Date.now()-U})),this.makeStatusError(V.status,P,f,V.headers)}return L$(this).info(M),L$(this).debug(`[${W}] response start`,U0({retryOfRequestLogID:J,url:V.url,status:V.status,headers:V.headers,durationMs:N-U})),{response:V,options:Q,controller:B,requestLogID:W,retryOfRequestLogID:J,startTime:U}}getAPIList($,X,J){return this.requestAPIList(X,J&&"then"in J?J.then((Q)=>({method:"get",path:$,...Q})):{method:"get",path:$,...J})}requestAPIList($,X){let J=this.makeRequest(X,null,void 0);return new Q2(this,J,$)}async fetchWithTimeout($,X,J,Q){let{signal:q,method:Y,...z}=X||{},G=this._makeAbort(Q);if(q)q.addEventListener("abort",G,{once:!0});let W=setTimeout(G,J),H=globalThis.ReadableStream&&z.body instanceof globalThis.ReadableStream||typeof z.body==="object"&&z.body!==null&&Symbol.asyncIterator in z.body,U={signal:Q.signal,...H?{duplex:"half"}:{},method:"GET",...z};if(Y)U.method=Y.toUpperCase();try{return await this.fetch.call(void 0,$,U)}finally{clearTimeout(W)}}async shouldRetry($){let X=$.headers.get("x-should-retry");if(X==="true")return!0;if(X==="false")return!1;if($.status===408)return!0;if($.status===409)return!0;if($.status===429)return!0;if($.status>=500)return!0;return!1}async retryRequest($,X,J,Q){let q,Y=Q?.get("retry-after-ms");if(Y){let G=parseFloat(Y);if(!Number.isNaN(G))q=G}let z=Q?.get("retry-after");if(z&&!q){let G=parseFloat(z);if(!Number.isNaN(G))q=G*1000;else q=Date.parse(z)-Date.now()}if(!(q&&0<=q&&q<60000)){let G=$.maxRetries??this.maxRetries;q=this.calculateDefaultRetryTimeoutMillis(X,G)}return await jq(q),this.makeRequest($,X-1,J)}calculateDefaultRetryTimeoutMillis($,X){let q=X-$,Y=Math.min(0.5*Math.pow(2,q),8),z=1-Math.random()*0.25;return Y*z*1000}calculateNonstreamingTimeout($,X){if(3600000*$/128000>600000||X!=null&&$>X)throw new j("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 600000}async buildRequest($,{retryCount:X=0}={}){let J={...$},{method:Q,path:q,query:Y,defaultBaseURL:z}=J,G=this.buildURL(q,Y,z);if("timeout"in J)Sq("timeout",J.timeout);J.timeout=J.timeout??this.timeout;let{bodyHeaders:W,body:H}=this.buildBody({options:J}),U=await this.buildHeaders({options:$,method:Q,bodyHeaders:W,retryCount:X});return{req:{method:Q,headers:U,...J.signal&&{signal:J.signal},...globalThis.ReadableStream&&H instanceof globalThis.ReadableStream&&{duplex:"half"},...H&&{body:H},...this.fetchOptions??{},...J.fetchOptions??{}},url:G,timeout:J.timeout}}async buildHeaders({options:$,method:X,bodyHeaders:J,retryCount:Q}){let q={};if(this.idempotencyHeader&&X!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();q[this.idempotencyHeader]=$.idempotencyKey}let Y=v([q,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(Q),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...bq(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders($),this._options.defaultHeaders,J,$.headers]);return this.validateHeaders(Y),Y.values}_makeAbort($){return()=>$.abort()}buildBody({options:{body:$,headers:X}}){if(!$)return{bodyHeaders:void 0,body:void 0};let J=v([X]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&J.values.has("content-type")||globalThis.Blob&&$ instanceof globalThis.Blob||$ instanceof FormData||$ instanceof URLSearchParams||globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:$};else if(typeof $==="object"&&((Symbol.asyncIterator in $)||(Symbol.iterator in $)&&("next"in $)&&typeof $.next==="function"))return{bodyHeaders:void 0,body:dX($)};else return K(this,N5,"f").call(this,{body:$,headers:J})}}var U9,V9,N5,OY,B9="\\n\\nHuman:",K9="\\n\\nAssistant:",g0;var M9=b(()=>{W0();e0();D7();T$();e$();C7();DY();sX();t7();H9();o7();W9();D7();b$();nX();e0();V9=Y$,N5=new WeakMap,U9=new WeakSet,OY=function(){return this.baseURL!=="https://api.anthropic.com"};Y$.Anthropic=V9;Y$.HUMAN_PROMPT=B9;Y$.AI_PROMPT=K9;Y$.DEFAULT_TIMEOUT=600000;Y$.AnthropicError=j;Y$.APIError=w$;Y$.APIConnectionError=T0;Y$.APIConnectionTimeoutError=f8;Y$.APIUserAbortError=A$;Y$.NotFoundError=g8;Y$.ConflictError=v8;Y$.RateLimitError=u8;Y$.BadRequestError=k8;Y$.AuthenticationError=x8;Y$.InternalServerError=m8;Y$.PermissionDeniedError=y8;Y$.UnprocessableEntityError=h8;Y$.toFile=z2;g0=class g0 extends Y${constructor(){super(...arguments);this.completions=new o8(this),this.messages=new q8(this),this.models=new e8(this),this.beta=new $0(this)}};g0.Completions=o8;g0.Messages=q8;g0.Models=e8;g0.Beta=$0});var LY={};E5(LY,{toFile:()=>z2,default:()=>g0,UnprocessableEntityError:()=>h8,RateLimitError:()=>u8,PermissionDeniedError:()=>y8,PagePromise:()=>Q2,NotFoundError:()=>g8,InternalServerError:()=>m8,HUMAN_PROMPT:()=>B9,ConflictError:()=>v8,BaseAnthropic:()=>Y$,BadRequestError:()=>k8,AuthenticationError:()=>x8,AnthropicError:()=>j,Anthropic:()=>g0,APIUserAbortError:()=>A$,APIPromise:()=>P0,APIError:()=>w$,APIConnectionTimeoutError:()=>f8,APIConnectionError:()=>T0,AI_PROMPT:()=>K9});var RY=b(()=>{M9();C7();sX();M9();e$();T$()});var i9=z3(p9(),1),{program:rO,createCommand:sO,createArgument:aO,createOption:oO,CommanderError:tO,InvalidArgumentError:eO,InvalidOptionArgumentError:$L,Command:K8,Argument:XL,Option:JL,Help:QL}=i9.default;B$();u$();t$();fX();a();function d6($,X={}){let J=$??i();if(!J)console.error(`Error: project.faf not found
|
|
209
|
+
`);this.baseURL=q.baseURL,this.timeout=q.timeout??V9.DEFAULT_TIMEOUT,this.logger=q.logger??console;let Y="warn";this.logLevel=Y,this.logLevel=A7(q.logLevel,"ClientOptions.logLevel",this)??A7(b2("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??Y,this.fetchOptions=q.fetchOptions,this.maxRetries=q.maxRetries??2,this.fetch=q.fetch??fq(),I(this,NX,xq,"f"),this._options=q,this.apiKey=typeof X==="string"?X:null,this.authToken=J}withOptions($){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:X}){if($.get("x-api-key")||$.get("authorization"))return;if(this.apiKey&&$.get("x-api-key"))return;if(X.has("x-api-key"))return;if(this.authToken&&$.get("authorization"))return;if(X.has("authorization"))return;throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}async authHeaders($){return h([await this.apiKeyAuth($),await this.bearerAuth($)])}async apiKeyAuth($){if(this.apiKey==null)return;return h([{"X-Api-Key":this.apiKey}])}async bearerAuth($){if(this.authToken==null)return;return h([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery($){return Object.entries($).filter(([X,J])=>typeof J<"u").map(([X,J])=>{if(typeof J==="string"||typeof J==="number"||typeof J==="boolean")return`${encodeURIComponent(X)}=${encodeURIComponent(J)}`;if(J===null)return`${encodeURIComponent(X)}=`;throw new j(`Cannot stringify type ${typeof J}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${Z0}`}defaultIdempotencyKey(){return`stainless-node-retry-${M7()}`}makeStatusError($,X,J,Q){return w$.generate($,X,J,Q)}buildURL($,X,J){let Q=!K(this,U9,"m",OY).call(this)&&J||this.baseURL,q=Fq($)?new URL($):new URL(Q+(Q.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),Y=this.defaultQuery();if(!Iq(Y))X={...Y,...X};if(typeof X==="object"&&X&&!Array.isArray(X))q.search=this.stringifyQuery(X);return q.toString()}_calculateNonstreamingTimeout($){if(3600*$/128000>600)throw new j("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 600000}async prepareOptions($){}async prepareRequest($,{url:X,options:J}){}get($,X){return this.methodRequest("get",$,X)}post($,X){return this.methodRequest("post",$,X)}patch($,X){return this.methodRequest("patch",$,X)}put($,X){return this.methodRequest("put",$,X)}delete($,X){return this.methodRequest("delete",$,X)}methodRequest($,X,J){return this.request(Promise.resolve(J).then((Q)=>{return{method:$,path:X,...Q}}))}request($,X=null){return new P0(this,this.makeRequest($,X,void 0))}async makeRequest($,X,J){let Q=await $,q=Q.maxRetries??this.maxRetries;if(X==null)X=q;await this.prepareOptions(Q);let{req:Y,url:z,timeout:G}=await this.buildRequest(Q,{retryCount:q-X});await this.prepareRequest(Y,{url:z,options:Q});let W="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),H=J===void 0?"":`, retryOf: ${J}`,U=Date.now();if(L$(this).debug(`[${W}] sending request`,U0({retryOfRequestLogID:J,method:Q.method,url:z,options:Q,headers:Y.headers})),Q.signal?.aborted)throw new A$;let V=new AbortController,B=await this.fetchWithTimeout(z,Y,G,V).catch(o6),N=Date.now();if(B instanceof globalThis.Error){let D=`retrying, ${X} attempts remaining`;if(Q.signal?.aborted)throw new A$;let F=H0(B)||/timed? ?out/i.test(String(B)+("cause"in B?String(B.cause):""));if(X)return L$(this).info(`[${W}] connection ${F?"timed out":"failed"} - ${D}`),L$(this).debug(`[${W}] connection ${F?"timed out":"failed"} (${D})`,U0({retryOfRequestLogID:J,url:z,durationMs:N-U,message:B.message})),this.retryRequest(Q,X,J??W);if(L$(this).info(`[${W}] connection ${F?"timed out":"failed"} - error; no more retries left`),L$(this).debug(`[${W}] connection ${F?"timed out":"failed"} (error; no more retries left)`,U0({retryOfRequestLogID:J,url:z,durationMs:N-U,message:B.message})),F)throw new f8;throw new T0({cause:B})}let R=[...B.headers.entries()].filter(([D])=>D==="request-id").map(([D,F])=>", "+D+": "+JSON.stringify(F)).join(""),M=`[${W}${H}${R}] ${Y.method} ${z} ${B.ok?"succeeded":"failed"} with status ${B.status} in ${N-U}ms`;if(!B.ok){let D=await this.shouldRetry(B);if(X&&D){let x=`retrying, ${X} attempts remaining`;return await kq(B.body),L$(this).info(`${M} - ${x}`),L$(this).debug(`[${W}] response error (${x})`,U0({retryOfRequestLogID:J,url:B.url,status:B.status,headers:B.headers,durationMs:N-U})),this.retryRequest(Q,X,J??W,B.headers)}let F=D?"error; no more retries left":"error; not retryable";L$(this).info(`${M} - ${F}`);let T=await B.text().catch((x)=>o6(x).message),P=c5(T),f=P?void 0:T;throw L$(this).debug(`[${W}] response error (${F})`,U0({retryOfRequestLogID:J,url:B.url,status:B.status,headers:B.headers,message:f,durationMs:Date.now()-U})),this.makeStatusError(B.status,P,f,B.headers)}return L$(this).info(M),L$(this).debug(`[${W}] response start`,U0({retryOfRequestLogID:J,url:B.url,status:B.status,headers:B.headers,durationMs:N-U})),{response:B,options:Q,controller:V,requestLogID:W,retryOfRequestLogID:J,startTime:U}}getAPIList($,X,J){return this.requestAPIList(X,J&&"then"in J?J.then((Q)=>({method:"get",path:$,...Q})):{method:"get",path:$,...J})}requestAPIList($,X){let J=this.makeRequest(X,null,void 0);return new Q2(this,J,$)}async fetchWithTimeout($,X,J,Q){let{signal:q,method:Y,...z}=X||{},G=this._makeAbort(Q);if(q)q.addEventListener("abort",G,{once:!0});let W=setTimeout(G,J),H=globalThis.ReadableStream&&z.body instanceof globalThis.ReadableStream||typeof z.body==="object"&&z.body!==null&&Symbol.asyncIterator in z.body,U={signal:Q.signal,...H?{duplex:"half"}:{},method:"GET",...z};if(Y)U.method=Y.toUpperCase();try{return await this.fetch.call(void 0,$,U)}finally{clearTimeout(W)}}async shouldRetry($){let X=$.headers.get("x-should-retry");if(X==="true")return!0;if(X==="false")return!1;if($.status===408)return!0;if($.status===409)return!0;if($.status===429)return!0;if($.status>=500)return!0;return!1}async retryRequest($,X,J,Q){let q,Y=Q?.get("retry-after-ms");if(Y){let G=parseFloat(Y);if(!Number.isNaN(G))q=G}let z=Q?.get("retry-after");if(z&&!q){let G=parseFloat(z);if(!Number.isNaN(G))q=G*1000;else q=Date.parse(z)-Date.now()}if(!(q&&0<=q&&q<60000)){let G=$.maxRetries??this.maxRetries;q=this.calculateDefaultRetryTimeoutMillis(X,G)}return await jq(q),this.makeRequest($,X-1,J)}calculateDefaultRetryTimeoutMillis($,X){let q=X-$,Y=Math.min(0.5*Math.pow(2,q),8),z=1-Math.random()*0.25;return Y*z*1000}calculateNonstreamingTimeout($,X){if(3600000*$/128000>600000||X!=null&&$>X)throw new j("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 600000}async buildRequest($,{retryCount:X=0}={}){let J={...$},{method:Q,path:q,query:Y,defaultBaseURL:z}=J,G=this.buildURL(q,Y,z);if("timeout"in J)Sq("timeout",J.timeout);J.timeout=J.timeout??this.timeout;let{bodyHeaders:W,body:H}=this.buildBody({options:J}),U=await this.buildHeaders({options:$,method:Q,bodyHeaders:W,retryCount:X});return{req:{method:Q,headers:U,...J.signal&&{signal:J.signal},...globalThis.ReadableStream&&H instanceof globalThis.ReadableStream&&{duplex:"half"},...H&&{body:H},...this.fetchOptions??{},...J.fetchOptions??{}},url:G,timeout:J.timeout}}async buildHeaders({options:$,method:X,bodyHeaders:J,retryCount:Q}){let q={};if(this.idempotencyHeader&&X!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();q[this.idempotencyHeader]=$.idempotencyKey}let Y=h([q,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(Q),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...bq(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders($),this._options.defaultHeaders,J,$.headers]);return this.validateHeaders(Y),Y.values}_makeAbort($){return()=>$.abort()}buildBody({options:{body:$,headers:X}}){if(!$)return{bodyHeaders:void 0,body:void 0};let J=h([X]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&J.values.has("content-type")||globalThis.Blob&&$ instanceof globalThis.Blob||$ instanceof FormData||$ instanceof URLSearchParams||globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:$};else if(typeof $==="object"&&((Symbol.asyncIterator in $)||(Symbol.iterator in $)&&("next"in $)&&typeof $.next==="function"))return{bodyHeaders:void 0,body:d5($)};else return K(this,NX,"f").call(this,{body:$,headers:J})}}var U9,V9,NX,OY,B9="\\n\\nHuman:",K9="\\n\\nAssistant:",g0;var M9=b(()=>{W0();e0();D7();T$();e$();C7();DY();a5();t7();H9();o7();W9();D7();b$();n5();e0();V9=Y$,NX=new WeakMap,U9=new WeakSet,OY=function(){return this.baseURL!=="https://api.anthropic.com"};Y$.Anthropic=V9;Y$.HUMAN_PROMPT=B9;Y$.AI_PROMPT=K9;Y$.DEFAULT_TIMEOUT=600000;Y$.AnthropicError=j;Y$.APIError=w$;Y$.APIConnectionError=T0;Y$.APIConnectionTimeoutError=f8;Y$.APIUserAbortError=A$;Y$.NotFoundError=g8;Y$.ConflictError=v8;Y$.RateLimitError=u8;Y$.BadRequestError=k8;Y$.AuthenticationError=x8;Y$.InternalServerError=m8;Y$.PermissionDeniedError=y8;Y$.UnprocessableEntityError=h8;Y$.toFile=z2;g0=class g0 extends Y${constructor(){super(...arguments);this.completions=new o8(this),this.messages=new q8(this),this.models=new e8(this),this.beta=new $0(this)}};g0.Completions=o8;g0.Messages=q8;g0.Models=e8;g0.Beta=$0});var LY={};EX(LY,{toFile:()=>z2,default:()=>g0,UnprocessableEntityError:()=>h8,RateLimitError:()=>u8,PermissionDeniedError:()=>y8,PagePromise:()=>Q2,NotFoundError:()=>g8,InternalServerError:()=>m8,HUMAN_PROMPT:()=>B9,ConflictError:()=>v8,BaseAnthropic:()=>Y$,BadRequestError:()=>k8,AuthenticationError:()=>x8,AnthropicError:()=>j,Anthropic:()=>g0,APIUserAbortError:()=>A$,APIPromise:()=>P0,APIError:()=>w$,APIConnectionTimeoutError:()=>f8,APIConnectionError:()=>T0,AI_PROMPT:()=>K9});var RY=b(()=>{M9();C7();a5();M9();e$();T$()});var i9=z3(p9(),1),{program:rO,createCommand:aO,createArgument:sO,createOption:oO,CommanderError:tO,InvalidArgumentError:eO,InvalidOptionArgumentError:$L,Command:K8,Argument:XL,Option:JL,Help:QL}=i9.default;B$();u$();t$();f5();t();function d6($,X={}){let J=$??n();if(!J)console.error(`Error: project.faf not found
|
|
210
210
|
|
|
211
|
-
Run 'faf init' to create one.`),process.exit(2);let Q=
|
|
212
|
-
run ${C("'faf go'")} to fill empty slots`))}e4();B$();import{existsSync as t0,statSync as
|
|
211
|
+
Run 'faf init' to create one.`),process.exit(2);let Q=e(J),q=H$(Q),Y=U$(q);if(X.json){console.log(JSON.stringify(Y,null,2));return}if(X.status){console.log(`${b5(Y.tier)} ${C(`${Y.score}%`)}`);return}N$(Y,J,X.verbose)}k5();B$();u$();t$();t();import{existsSync as DN}from"fs";import{join as EQ}from"path";function p6($={}){let X=process.cwd(),J=$.output?$.output.endsWith(".faf")?$.output:EQ(X,$.output):EQ(X,"project.faf");if(DN(J)&&!$.force)console.error(`project.faf already exists. Use ${C("--force")} to overwrite.`),process.exit(1);let Q=C8(X);Q$(J,Q);let q=e(J),Y=U$(H$(q));if(console.log(`${L("created")} ${J}`),N$(Y,J),Y.score<100)console.log(w(`
|
|
212
|
+
run ${C("'faf go'")} to fill empty slots`))}e4();B$();import{existsSync as t0,statSync as y5}from"fs";import{join as J7}from"path";import{readFileSync as RN,writeFileSync as AN,existsSync as _N,statSync as OA}from"fs";import{join as TQ}from"path";var ZQ="CLAUDE.md",FN="STATUS: BI-SYNC ACTIVE";function $7($){let X=TQ($,ZQ);if(!_N(X))return null;return RN(X,"utf-8")}function X7($,X){let J=TQ($,ZQ);AN(J,X,"utf-8")}function j0($){return`<!-- faf: ${[$.project?.name,$.project?.main_language,$.project?.goal].filter(Boolean).map((J)=>String(J).trim()).join(" | ")} -->`}function CQ($){let X=[],J=$.project?.name??"Project",Q=$.project?.main_language??"",q=$.project?.goal??"";if(X.push(j0($)),X.push(""),X.push(`# CLAUDE.md — ${J}`),X.push(""),q)X.push("## What This Is"),X.push(""),X.push(q),X.push("");let Y=$.stack??{},z=[];if(Q)z.push(`**Language:** ${Q}`);for(let[H,U]of Object.entries(Y))if(U&&U!=="slotignored"&&String(U).trim()){let V=H.replace(/_/g," ").replace(/\b\w/g,(B)=>B.toUpperCase());z.push(`**${V}:** ${U}`)}if(z.length>0){X.push("## Stack"),X.push("");for(let H of z)X.push(`- ${H}`);X.push("")}let G=$.human_context??{},W=[["Who",G.who],["What",G.what],["Why",G.why],["Where",G.where],["When",G.when],["How",G.how]].filter(([H,U])=>U&&String(U).trim());if(W.length>0){X.push("## Context"),X.push("");for(let[H,U]of W)X.push(`- **${H}:** ${U}`);X.push("")}return X.push("---"),X.push(""),X.push(`*${FN} — ${new Date().toISOString()}*`),X.push(""),X.join(`
|
|
213
213
|
`)}function PQ($,X){let J=j0(X),Q=$.split(`
|
|
214
214
|
`);if(Q[0]?.startsWith("<!-- faf:")){if(Q[0]===J)return{content:$,changed:!1};return Q[0]=J,{content:Q.join(`
|
|
215
215
|
`),changed:!0}}return{content:`${J}
|
|
216
216
|
|
|
217
|
-
${$}`,changed:!0}}function
|
|
217
|
+
${$}`,changed:!0}}function x5($){let X={project:{}},J=$.match(/^# CLAUDE\.md\s*[—–-]\s*(.+)$/m);if(J)X.project.name=J[1].trim();if(!X.project.name){let Y=$.match(/\*\*Name:\*\*\s*(.+)/);if(Y)X.project.name=Y[1].trim()}let Q=$.match(/## What This Is\s*\n\s*\n(.+)/);if(Q)X.project.goal=Q[1].trim();if(!X.project.goal){let Y=$.match(/\*\*What Building:\*\*\s*(.+)/);if(Y)X.project.goal=Y[1].trim()}let q=$.match(/\*\*Language:\*\*\s*(.+)/);if(q)X.project.main_language=q[1].trim();if(!X.project.main_language){let Y=$.match(/\*\*Main Language:\*\*\s*(.+)/);if(Y)X.project.main_language=Y[1].trim()}return X}import{readFileSync as _A,writeFileSync as IN,existsSync as FA}from"fs";import{join as EN}from"path";function bQ($,X){IN(EN($,"MEMORY.md"),X,"utf-8")}u$();t$();t();function P8(){return process.env.FAF_PRO==="1"||process.env.FAF_PRO==="true"}function i6($={}){let X=process.cwd(),J=n(X);if(!J)console.error(`Error: project.faf not found
|
|
218
218
|
|
|
219
|
-
Run 'faf init' to create one.`),process.exit(2);let Q=J7(X,"CLAUDE.md"),q=J7(X,"MEMORY.md"),Y=$.direction??"auto";if(Y==="auto")fQ(J,Q,X);else if(Y==="push")kQ(J,X);else if(Y==="pull")Q7(J,Q);if(P8())xQ(J,q,X);if($.watch)console.log(w("watching for changes... (Ctrl+C to stop)")),jN(J,Q,q,X)}function fQ($,X,J){let Q=
|
|
219
|
+
Run 'faf init' to create one.`),process.exit(2);let Q=J7(X,"CLAUDE.md"),q=J7(X,"MEMORY.md"),Y=$.direction??"auto";if(Y==="auto")fQ(J,Q,X);else if(Y==="push")kQ(J,X);else if(Y==="pull")Q7(J,Q);if(P8())xQ(J,q,X);if($.watch)console.log(w("watching for changes... (Ctrl+C to stop)")),jN(J,Q,q,X)}function fQ($,X,J){let Q=y5($).mtimeMs,q=t0(X)?y5(X).mtimeMs:0;if(!t0(X)||Q>q)kQ($,J);else Q7($,X)}function kQ($,X){let J=J7(X,"CLAUDE.md"),Q=$$($);if(t0(J)){let z=$7(X);if(z){let{content:G,changed:W}=PQ(z,Q);if(W)X7(X,G),console.log(`${L("◆")} sync .faf → CLAUDE.md (stamped) ${w("← bi-sync")}`);else console.log(`${L("◆")} sync CLAUDE.md up-to-date ${w("← bi-sync")}`)}Q7($,J);return}let q=CQ(Q);X7(X,q),console.log(`${L("◆")} sync .faf → CLAUDE.md (created) ${w("← bi-sync")}`);let Y=U$(H$(e($)));N$(Y,$)}function Q7($,X){let J=$7(X.replace("/CLAUDE.md",""));if(!J){console.error("CLAUDE.md not found.");return}let Q=x5(J),q=$$($);if(Q.project?.name)q.project={...q.project,name:Q.project.name};if(Q.project?.goal)q.project={...q.project,goal:Q.project.goal};if(Q.project?.main_language)q.project={...q.project,main_language:Q.project.main_language};Q$($,q),console.log(`${L("◆")} sync CLAUDE.md → .faf ${w("← bi-sync")}`);let Y=U$(H$(e($)));N$(Y,$)}function xQ($,X,J){let Q=$$($),q=y5($).mtimeMs,Y=t0(X)?y5(X).mtimeMs:0;if(!t0(X)||q>Y){let z=SN(Q);bQ(J,z),console.log(`${L("◆")} sync .faf → MEMORY.md ${w("← tri-sync")}`)}else console.log(`${L("◆")} sync MEMORY.md → .faf ${w("← tri-sync")}`)}function SN($){let X=$.project??{},J=[`# ${X.name??"Project"} — Memory Topics`,"","> Generated by faf sync (tri-sync)",""];if(X.name)J.push(`- **Project:** ${X.name}`);if(X.goal)J.push(`- **Goal:** ${X.goal}`);if(X.main_language)J.push(`- **Language:** ${X.main_language}`);if(X.type)J.push(`- **Type:** ${X.type}`);return`${J.join(`
|
|
220
220
|
`)}
|
|
221
|
-
`}function jN($,X,J,Q){let{watch:q}=W$("fs"),Y=null,z=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{if(console.log(w("change detected...")),fQ($,X,Q),P8())xQ($,J,Q)},200)};if(q($,z),t0(X))q(X,z);if(P8()&&t0(J))q(J,z)}B$();
|
|
221
|
+
`}function jN($,X,J,Q){let{watch:q}=W$("fs"),Y=null,z=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{if(console.log(w("change detected...")),fQ($,X,Q),P8())xQ($,J,Q)},200)};if(q($,z),t0(X))q(X,z);if(P8()&&t0(J))q(J,z)}B$();t();import{writeFileSync as TN}from"fs";function yQ($,X={}){let J=$??n();if(!J)console.error(`Error: project.faf not found
|
|
222
222
|
|
|
223
|
-
Run 'faf init' to create one.`),process.exit(2);let Q=
|
|
223
|
+
Run 'faf init' to create one.`),process.exit(2);let Q=e(J),q=WQ(Q),Y=X.output??J.replace(/\.faf$/,".fafb");TN(Y,q),console.log(`${L("compiled")} ${Y} ${w(`(${q.length} bytes)`)}`)}import{readFileSync as ZN}from"fs";function gQ($,X={}){if(!$)console.error("Error: Please specify a .fafb file to decompile."),process.exit(1);let J=new Uint8Array(ZN($));if(String.fromCharCode(J[0],J[1],J[2],J[3])!=="FAFB")console.error("Error: Not a valid .fafb file (missing FAFB magic bytes)."),process.exit(3);let Q=HQ(J);console.log(JSON.stringify(Q,null,2))}B$();function vQ($){let X=[];if(!$||typeof $!=="object")return X.push("File is not a valid YAML mapping"),{valid:!1,errors:X};let J=$;if(!J.faf_version)X.push("Missing required field: faf_version");if(!J.project?.name)X.push("Missing required field: project.name");return{valid:X.length===0,errors:X}}u$();t$();t();function q7($,X={}){let J=$??n();if(!J)console.error(`Error: project.faf not found
|
|
224
224
|
|
|
225
|
-
Run 'faf init' to create one.`),process.exit(2);let Q
|
|
225
|
+
Run 'faf init' to create one.`),process.exit(2);let Q=$$(J),q=vQ(Q);if(!q.valid){console.log(`${C("invalid")} ${J}`);for(let G of q.errors)console.log(` ${w("x")} ${G}`);process.exit(3)}let Y=e(J);if(!GQ(Y))console.log(`${C("invalid yaml")} ${J}`),process.exit(3);console.log(`${L("valid")} ${J}`);let z=U$(H$(Y));if(N$(z,J),X.strict&&z.score<100)console.log(w(`
|
|
226
226
|
--strict requires 100%`)),process.exit(1)}B$();import{writeFileSync as CN}from"fs";import{join as PN}from"path";function bN($){let X=[];if(X.push(j0($)),X.push(""),X.push(`# AGENTS.md — ${$.project?.name??"Project"}`),X.push(""),X.push("> Auto-generated from project.faf — do not edit directly"),X.push(""),X.push("## Project Context"),X.push(""),$.project?.name)X.push(`- **Name:** ${$.project.name}`);if($.project?.goal)X.push(`- **Goal:** ${$.project.goal}`);if($.project?.main_language)X.push(`- **Language:** ${$.project.main_language}`);if(X.push(""),X.push("## Stack"),X.push(""),$.stack){for(let[J,Q]of Object.entries($.stack))if(Q&&Q!=="slotignored"&&Q!=="")X.push(`- **${J}:** ${Q}`)}if($.human_context){X.push(""),X.push("## Human Context"),X.push("");for(let[J,Q]of Object.entries($.human_context))if(Q&&Q!=="")X.push(`- **${J}:** ${Q}`)}return X.push(""),X.join(`
|
|
227
227
|
`)}function hQ($,X){CN(PN($,"AGENTS.md"),bN(X),"utf-8")}import{writeFileSync as fN}from"fs";import{join as kN}from"path";function xN($){let X=[];if(X.push(j0($)),X.push(""),X.push("# .cursorrules"),X.push(`# Auto-generated from project.faf — ${$.project?.name??"Project"}`),X.push(""),$.project?.main_language)X.push(`language: ${$.project.main_language}`);if($.stack){X.push(""),X.push("# Stack");for(let[J,Q]of Object.entries($.stack))if(Q&&Q!=="slotignored"&&Q!=="")X.push(`# ${J}: ${Q}`)}return X.push(""),X.join(`
|
|
228
228
|
`)}function uQ($,X){fN(kN($,".cursorrules"),xN(X),"utf-8")}import{writeFileSync as yN}from"fs";import{join as gN}from"path";function vN($){let X=[];if(X.push(j0($)),X.push(""),X.push(`# GEMINI.md — ${$.project?.name??"Project"}`),X.push(""),X.push("> Auto-generated from project.faf"),X.push(""),$.project?.name)X.push(`Project: ${$.project.name}`);if($.project?.goal)X.push(`Goal: ${$.project.goal}`);if($.project?.main_language)X.push(`Language: ${$.project.main_language}`);if($.stack){X.push(""),X.push("## Stack");for(let[J,Q]of Object.entries($.stack))if(Q&&Q!=="slotignored"&&Q!=="")X.push(`- ${J}: ${Q}`)}return X.push(""),X.join(`
|
|
229
|
-
`)}function mQ($,X){yN(gN($,"GEMINI.md"),vN(X),"utf-8")}
|
|
229
|
+
`)}function mQ($,X){yN(gN($,"GEMINI.md"),vN(X),"utf-8")}t();function n6($={}){let X=n();if(!X)console.error(`Error: project.faf not found
|
|
230
230
|
|
|
231
|
-
Run 'faf init' to create one.`),process.exit(2);let J=process.cwd(),Q
|
|
231
|
+
Run 'faf init' to create one.`),process.exit(2);let J=process.cwd(),Q=$$(X),q=$.all||!$.agents&&!$.cursor&&!$.gemini&&!$.conductor;if(q||$.agents)hQ(J,Q),console.log(" AGENTS.md");if(q||$.cursor)uQ(J,Q),console.log(" .cursorrules");if(q||$.gemini)mQ(J,Q),console.log(" GEMINI.md");console.log(`${L("exported")} ${w(`from ${X}`)}`)}k5();B$();u$();t$();t();import{mkdirSync as hN,rmSync as uN}from"fs";import{join as lQ}from"path";import{execSync as mN}from"child_process";import{tmpdir as lN}from"os";function cQ($){if(!$)console.error(`Error: Please provide a GitHub URL.
|
|
232
232
|
|
|
233
|
-
Usage: faf git <url>`),process.exit(1);let X=$.endsWith(".git")?$:`${$}.git`,J=lQ(lN(),`faf-git-${Date.now()}`);hN(J,{recursive:!0});try{console.log(w(`cloning ${$}...`)),mN(`git clone --depth 1 ${X} ${J}`,{stdio:"pipe"});let Q=C8(J),q=lQ(process.cwd(),"project.faf");Q$(q,Q),console.log(`${L("created")} ${q}`);let Y=
|
|
234
|
-
`);let $=new Map;for(let X of r6){let J=$.get(X.category)??[];J.push(X),$.set(X.category,J)}for(let[X,J]of $){console.log(` ${C(X)}`);for(let Q of J)console.log(` ${Q.name} ${w(Q.extensions.join(", "))}`);console.log()}console.log(w(` ${r6.length} formats across ${$.size} categories`))}
|
|
233
|
+
Usage: faf git <url>`),process.exit(1);let X=$.endsWith(".git")?$:`${$}.git`,J=lQ(lN(),`faf-git-${Date.now()}`);hN(J,{recursive:!0});try{console.log(w(`cloning ${$}...`)),mN(`git clone --depth 1 ${X} ${J}`,{stdio:"pipe"});let Q=C8(J),q=lQ(process.cwd(),"project.faf");Q$(q,Q),console.log(`${L("created")} ${q}`);let Y=e(q),z=U$(H$(Y));N$(z,q)}finally{uN(J,{recursive:!0,force:!0})}}t();function pQ($={}){if($.version||Object.keys($).length===0)dN()}function dN(){let $=dQ();console.log(`${L(C("faf"))} v${$.version}`),console.log(w(`kernel ${UQ()} IANA application/vnd.faf+yaml`))}var r6=[{name:"HTML",extensions:[".html",".htm"],category:"web"},{name:"CSS",extensions:[".css"],category:"web"},{name:"JavaScript",extensions:[".js",".mjs",".cjs"],category:"web"},{name:"TypeScript",extensions:[".ts",".tsx",".mts",".cts"],category:"web"},{name:"JSX",extensions:[".jsx"],category:"web"},{name:"Vue",extensions:[".vue"],category:"web"},{name:"Svelte",extensions:[".svelte"],category:"web"},{name:"Astro",extensions:[".astro"],category:"web"},{name:"JSON",extensions:[".json"],category:"data"},{name:"YAML",extensions:[".yml",".yaml"],category:"data"},{name:"TOML",extensions:[".toml"],category:"data"},{name:"XML",extensions:[".xml"],category:"data"},{name:"CSV",extensions:[".csv"],category:"data"},{name:"INI",extensions:[".ini",".cfg"],category:"config"},{name:"Env",extensions:[".env"],category:"config"},{name:"Dockerfile",extensions:["Dockerfile"],category:"config"},{name:"Rust",extensions:[".rs"],category:"systems"},{name:"Go",extensions:[".go"],category:"systems"},{name:"C",extensions:[".c",".h"],category:"systems"},{name:"C++",extensions:[".cpp",".cc",".hpp"],category:"systems"},{name:"Zig",extensions:[".zig"],category:"systems"},{name:"Python",extensions:[".py"],category:"scripting"},{name:"Ruby",extensions:[".rb"],category:"scripting"},{name:"Shell",extensions:[".sh",".bash",".zsh"],category:"scripting"},{name:"Lua",extensions:[".lua"],category:"scripting"},{name:"Java",extensions:[".java"],category:"jvm"},{name:"Kotlin",extensions:[".kt",".kts"],category:"jvm"},{name:"Scala",extensions:[".scala"],category:"jvm"},{name:"C#",extensions:[".cs"],category:"dotnet"},{name:"F#",extensions:[".fs"],category:"dotnet"},{name:"Swift",extensions:[".swift"],category:"mobile"},{name:"Dart",extensions:[".dart"],category:"mobile"},{name:"Markdown",extensions:[".md",".mdx"],category:"docs"},{name:"LaTeX",extensions:[".tex"],category:"docs"},{name:"reStructuredText",extensions:[".rst"],category:"docs"},{name:"FAF",extensions:[".faf"],category:"faf"},{name:"FAFb",extensions:[".fafb"],category:"faf"}];t();function iQ(){console.log(`${L("formats")} ${w("— supported file types")}
|
|
234
|
+
`);let $=new Map;for(let X of r6){let J=$.get(X.category)??[];J.push(X),$.set(X.category,J)}for(let[X,J]of $){console.log(` ${C(X)}`);for(let Q of J)console.log(` ${Q.name} ${w(Q.extensions.join(", "))}`);console.log()}console.log(w(` ${r6.length} formats across ${$.size} categories`))}t();import{readdirSync as pN,rmSync as iN}from"fs";import{tmpdir as nN}from"os";import{join as rN}from"path";function nQ(){let $=nN(),X=0;try{let J=pN($);for(let Q of J)if(Q.startsWith("faf-git-"))iN(rN($,Q),{recursive:!0,force:!0}),X++}catch{}if(X>0)console.log(`${L("cleared")} ${X} cached director${X===1?"y":"ies"}`);else console.log(w("nothing to clear"))}B$();function rQ($={}){let X=n();if(!X)console.error(`Error: project.faf not found
|
|
235
235
|
|
|
236
|
-
Run 'faf init' to create one.`),process.exit(2);if($.json){let J
|
|
236
|
+
Run 'faf init' to create one.`),process.exit(2);if($.json){let J=$$(X);console.log(JSON.stringify(J,null,2))}else{let J=e(X);console.log(J)}}B$();G0();t();function aQ(){let $=n();if(!$)console.error(`Error: project.faf not found
|
|
237
237
|
|
|
238
|
-
Run 'faf init' to create one.`),process.exit(2);let X
|
|
239
|
-
`))}B$();
|
|
238
|
+
Run 'faf init' to create one.`),process.exit(2);let X=$$($),J=[];for(let Q of I$){let[q,Y]=Q.path.split("."),G=X[q]?.[Y];if(j8(G)||G==="slotignored")continue;J.push(`${Q.path}: ${G}`)}if(J.length===0){console.log(w("no populated slots"));return}console.log(J.join(`
|
|
239
|
+
`))}B$();t();import{existsSync as aN,statSync as sQ}from"fs";import{join as sN}from"path";var oN=["CLAUDE.md","AGENTS.md",".cursorrules","GEMINI.md"];function oQ(){let $=n();if(!$)console.error(`Error: project.faf not found
|
|
240
240
|
|
|
241
|
-
Run 'faf init' to create one.`),process.exit(2);let X=process.cwd(),J=
|
|
242
|
-
`),console.log(` ${C(".faf")} ${w(Y7(J))}`);let Q=0;for(let q of oN){let Y=
|
|
243
|
-
run ${C("'faf sync'")} to resolve drift`))}function Y7($){let X=Date.now()-$,J=Math.floor(X/1000);if(J<60)return`${J}s ago`;let Q=Math.floor(J/60);if(Q<60)return`${Q}m ago`;let q=Math.floor(Q/60);if(q<24)return`${q}h ago`;return`${Math.floor(q/24)}d ago`}B$();
|
|
241
|
+
Run 'faf init' to create one.`),process.exit(2);let X=process.cwd(),J=sQ($).mtimeMs;console.log(`${L("drift")} ${w("— context file sync status")}
|
|
242
|
+
`),console.log(` ${C(".faf")} ${w(Y7(J))}`);let Q=0;for(let q of oN){let Y=sN(X,q);if(!aN(Y)){console.log(` ${w("○")} ${q} ${w("missing")}`);continue}let z=sQ(Y).mtimeMs,G=z-J;if(Math.abs(G)<1000)console.log(` ${L("●")} ${q} ${w("in sync")}`);else if(G>0)console.log(` ${C("!")} ${q} ${C("newer")} ${w(Y7(z))}`),Q++;else console.log(` ${w("○")} ${q} ${w("older")} ${w(Y7(z))}`),Q++}if(Q>0)console.log(w(`
|
|
243
|
+
run ${C("'faf sync'")} to resolve drift`))}function Y7($){let X=Date.now()-$,J=Math.floor(X/1000);if(J<60)return`${J}s ago`;let Q=Math.floor(J/60);if(Q<60)return`${Q}m ago`;let q=Math.floor(Q/60);if(q<24)return`${q}h ago`;return`${Math.floor(q/24)}d ago`}B$();t();function tQ($,X){if(!$||X===void 0)console.error(`Usage: faf edit <path> <value>
|
|
244
244
|
|
|
245
|
-
Example: faf edit project.name "My Project"`),process.exit(1);let J=
|
|
245
|
+
Example: faf edit project.name "My Project"`),process.exit(1);let J=n();if(!J)console.error(`Error: project.faf not found
|
|
246
246
|
|
|
247
|
-
Run 'faf init' to create one.`),process.exit(2);let Q
|
|
247
|
+
Run 'faf init' to create one.`),process.exit(2);let Q=$$(J),q=$.split(".");if(q.length!==2)console.error("Error: path must be section.field (e.g. project.name)"),process.exit(1);let[Y,z]=q;if(!Q[Y]||typeof Q[Y]!=="object")Q[Y]={};Q[Y][z]=X,Q$(J,Q),console.log(`${L("updated")} ${$} ${w("→")} ${X}`)}B$();import{existsSync as g5,readFileSync as z7}from"fs";import{join as a6}from"path";t();function eQ(){let $=process.cwd(),X=[],J={faf_version:"3.0",project:{}},Q=a6($,"CLAUDE.md");if(g5(Q)){let W=z7(Q,"utf-8"),H=x5(W);if(H.project?.name)J.project.name=H.project.name;if(H.project?.goal)J.project.goal=H.project.goal;if(H.project?.main_language)J.project.main_language=H.project.main_language;X.push("CLAUDE.md")}let q=a6($,"AGENTS.md");if(g5(q)){let W=z7(q,"utf-8");if(!J.project.name){let H=W.match(/^#\s+(.+)/m);if(H)J.project.name=H[1].trim()}X.push("AGENTS.md")}let Y=a6($,"GEMINI.md");if(g5(Y)){let W=z7(Y,"utf-8");if(!J.project.name){let H=W.match(/^#\s+(.+)/m);if(H)J.project.name=H[1].trim()}X.push("GEMINI.md")}let z=a6($,".cursorrules");if(g5(z))X.push(".cursorrules");if(X.length===0)console.error("No context files found (CLAUDE.md, AGENTS.md, GEMINI.md, .cursorrules)."),process.exit(2);let G=n($);if(G){let W=$$(G);if(!W.project)W.project={};if(J.project.name&&!W.project.name)W.project.name=J.project.name;if(J.project.goal&&!W.project.goal)W.project.goal=J.project.goal;if(J.project.main_language&&!W.project.main_language)W.project.main_language=J.project.main_language;Q$(G,W),console.log(`${L("◆")} recover merged into ${G}`)}else{let W=a6($,"project.faf");Q$(W,J),console.log(`${L("◆")} recover created ${W}`)}console.log(w(` sources: ${X.join(", ")}`))}B$();t();var s6="3.0";function $q($={}){let X=n();if(!X)console.error(`Error: project.faf not found
|
|
248
248
|
|
|
249
|
-
Run 'faf init' to create one.`),process.exit(2);let J
|
|
249
|
+
Run 'faf init' to create one.`),process.exit(2);let J=$$(X),Q=J.faf_version??"unknown";if(Q===s6){console.log(`${L("◆")} migrate already at v${s6}`);return}if(J.faf_version=s6,!J.project)J.project={};if(!J.stack)J.stack={};if(!J.human_context)J.human_context={};if(!J.monorepo)J.monorepo={};if($.dryRun){console.log(`${L("◆")} migrate ${w("(dry run)")} v${Q} → v${s6}`),console.log(w(` would update ${X}`));return}Q$(X,J),console.log(`${L("◆")} migrate v${Q} → v${s6}`),console.log(w(` updated ${X}`))}t();function Nq($){if($==="features")Uw();else if($==="activate")Vw();else Hw()}function Hw(){let $=P8();if(console.log(`${L("pro")} ${w("— FAF Pro status")}
|
|
250
250
|
`),console.log(` Status: ${$?o0(C("PRO")):C("Free")}`),console.log(""),!$)console.log(w(" Upgrade: faf pro activate"))}function Uw(){console.log(`${L("pro")} ${w("— Pro features")}
|
|
251
251
|
`);let $=[["tri-sync",".faf ↔ CLAUDE.md ↔ MEMORY.md"],["enterprise slots","33-slot scoring (slots 22-33)"],["advanced analytics","Drift tracking & team metrics"]];for(let[X,J]of $)console.log(` ${L("◆")} ${C(X)} ${w("—")} ${J}`);console.log("")}function Vw(){console.log(`${L("pro")} ${w("— activate")}
|
|
252
|
-
`),console.log(" Set FAF_PRO=1 in your environment to enable Pro features."),console.log(""),console.log(w(" export FAF_PRO=1")),console.log("");try{Mq()("https://faf.one/pro")}catch{console.log(w(" Visit: https://faf.one/pro"))}}B$();
|
|
252
|
+
`),console.log(" Set FAF_PRO=1 in your environment to enable Pro features."),console.log(""),console.log(w(" export FAF_PRO=1")),console.log("");try{Mq()("https://faf.one/pro")}catch{console.log(w(" Visit: https://faf.one/pro"))}}B$();t();import{gzipSync as Bw}from"zlib";function wq($={}){let X=n();if(!X)console.error(`Error: project.faf not found
|
|
253
253
|
|
|
254
|
-
Run 'faf init' to create one.`),process.exit(2);let J=
|
|
254
|
+
Run 'faf init' to create one.`),process.exit(2);let J=e(X),q=Bw(Buffer.from(J)).toString("base64url");if($.raw){console.log(q);return}let Y=`https://faf.one/share?d=${q}`;if(console.log(`${L("◆")} share ${w(X)}
|
|
255
255
|
`),console.log(` ${Y}`),$.copy)try{let{execSync:z}=W$("child_process"),G=process.platform;if(G==="darwin")z("pbcopy",{input:Y});else if(G==="linux")z("xclip -selection clipboard",{input:Y});console.log(w(`
|
|
256
256
|
copied to clipboard`))}catch{console.log(w(`
|
|
257
|
-
copy failed — install xclip or pbcopy`))}}B$();u$();t$();
|
|
257
|
+
copy failed — install xclip or pbcopy`))}}B$();u$();t$();t();import{mkdirSync as Kw,writeFileSync as Mw,rmSync as Nw}from"fs";import{tmpdir as ww}from"os";import{join as Dq}from"path";function Oq(){let $=Dq(ww(),`faf-demo-${Date.now()}`);Kw($,{recursive:!0}),console.log(`${L("demo")} ${w("— FAF in action")}
|
|
258
258
|
`);let X=`faf_version: "3.0"
|
|
259
259
|
project:
|
|
260
260
|
name: acme-app
|
|
@@ -281,24 +281,24 @@ human_context:
|
|
|
281
281
|
when: "2026"
|
|
282
282
|
how: Agile sprints with CI/CD
|
|
283
283
|
`,J=Dq($,"project.faf");Mw(J,X),console.log(` ${C("1.")} Created sample project.faf`),console.log(w(` ${J}
|
|
284
|
-
`)),console.log(` ${C("2.")} Scoring...`);let Q=U$(H$(
|
|
285
|
-
${w(' Demo complete. Run "faf init" in your project to get started.')}`)}G0();
|
|
284
|
+
`)),console.log(` ${C("2.")} Scoring...`);let Q=U$(H$(e(J)));console.log(""),N$(Q,"project.faf",!0),Nw($,{recursive:!0,force:!0}),console.log(`
|
|
285
|
+
${w(' Demo complete. Run "faf init" in your project to get started.')}`)}G0();t();function Lq($,X={}){if(!$)console.error("Usage: faf search <keyword>"),process.exit(2);let J=$.toLowerCase(),Q=!X.slots&&!X.formats,q=0;if(Q||X.slots){let Y=I$.filter((z)=>z.path.toLowerCase().includes(J)||z.description.toLowerCase().includes(J)||z.category.toLowerCase().includes(J));if(Y.length>0){console.log(`${L("slots")} ${w(`— ${Y.length} match${Y.length===1?"":"es"}`)}
|
|
286
286
|
`);for(let z of Y)console.log(` ${C(`#${z.index}`)} ${z.path} ${w("—")} ${z.description} ${w(`[${z.category}]`)}`);console.log(""),q+=Y.length}}if(Q||X.formats){let Y=r6.filter((z)=>z.name.toLowerCase().includes(J)||z.extensions.some((G)=>G.toLowerCase().includes(J))||z.category.toLowerCase().includes(J));if(Y.length>0){console.log(`${L("formats")} ${w(`— ${Y.length} match${Y.length===1?"":"es"}`)}
|
|
287
|
-
`);for(let z of Y)console.log(` ${C(z.name)} ${w(z.extensions.join(", "))} ${w(`[${z.category}]`)}`);console.log(""),q+=Y.length}}if(q===0)console.log(w(` No results for "${$}"`))}B$();u$();
|
|
287
|
+
`);for(let z of Y)console.log(` ${C(z.name)} ${w(z.extensions.join(", "))} ${w(`[${z.category}]`)}`);console.log(""),q+=Y.length}}if(q===0)console.log(w(` No results for "${$}"`))}B$();u$();t();import{writeFileSync as Dw}from"fs";function Rq($={}){let X=n();if(!X)console.error(`Error: project.faf not found
|
|
288
288
|
|
|
289
|
-
Run 'faf init' to create one.`),process.exit(2);let J
|
|
289
|
+
Run 'faf init' to create one.`),process.exit(2);let J=$$(X),Q=e(X),q=U$(H$(Q)),Y={taf_version:"1.0.0",generated:new Date().toISOString(),source:X,project:J.project?.name??"unknown",faf_version:J.faf_version??"unknown",score:q.score,tier:q.tier.name,populated:q.populated,active:q.active,total:q.total,slots:q.slots},z=JSON.stringify(Y,null,2);if($.output)Dw($.output,z,"utf-8"),console.log(`${L("◆")} taf receipt written to ${$.output}`);else console.log(z)}B$();G0();G0();u$();t$();t();import{createInterface as Ow}from"readline";import{existsSync as Aq,readFileSync as Lw,writeFileSync as Rw,unlinkSync as Aw}from"fs";import{join as _w}from"path";var Fw=".faf-session.json";function Iw($,X){let J=X.split("."),Q=$;for(let q of J){if(Q===null||Q===void 0||typeof Q!=="object")return;Q=Q[q]}return Q}function Ew($,X,J){let Q=X.split("."),q=$;for(let Y=0;Y<Q.length-1;Y++){if(!q[Q[Y]]||typeof q[Q[Y]]!=="object")q[Q[Y]]={};q=q[Q[Y]]}q[Q[Q.length-1]]=J}async function _q($={}){let X=n();if(!X)console.error(`Error: project.faf not found
|
|
290
290
|
|
|
291
|
-
Run 'faf init' to create one.`),process.exit(2);let J=process.cwd(),Q=_w(J,Fw),q=0;if($.resume&&Aq(Q))try{q=JSON.parse(Lw(Q,"utf-8")).slotIndex,console.log(w(` resuming from slot #${q+1}`))}catch{}let Y
|
|
292
|
-
`));let G=Ow({input:process.stdin,output:process.stdout}),W=(
|
|
291
|
+
Run 'faf init' to create one.`),process.exit(2);let J=process.cwd(),Q=_w(J,Fw),q=0;if($.resume&&Aq(Q))try{q=JSON.parse(Lw(Q,"utf-8")).slotIndex,console.log(w(` resuming from slot #${q+1}`))}catch{}let Y=$$(X),z=I$.filter((B)=>{let N=Iw(Y,B.path);return j8(N)&&N!=="slotignored"});if(z.length===0){console.log(`${L("◆")} go all slots populated`);let B=U$(H$(e(X)));N$(B,X);return}console.log(`${L("go")} ${w("— guided interview")}`),console.log(w(` ${z.length} empty slots. Enter a value, "skip" to skip, or "quit" to stop.
|
|
292
|
+
`));let G=Ow({input:process.stdin,output:process.stdout}),W=(B)=>new Promise((N)=>G.question(B,N)),H=0,U=z.slice(q);for(let B=0;B<U.length;B++){let N=U[B],R=await W(` ${C(`#${N.index}`)} ${N.description} ${w(`(${N.path})`)}: `);if(R.toLowerCase()==="quit"){let M={slotIndex:q+B,fafPath:X};Rw(Q,JSON.stringify(M),"utf-8"),console.log(w(`
|
|
293
293
|
session saved. Resume with: faf go --resume`));break}if(R.toLowerCase()==="skip"||R.trim()==="")continue;Ew(Y,N.path,R.trim()),H++}if(G.close(),H>0)Q$(X,Y),console.log(`
|
|
294
|
-
${L("◆")} go filled ${H} slot${H===1?"":"s"}`);let
|
|
294
|
+
${L("◆")} go filled ${H} slot${H===1?"":"s"}`);let V=U$(H$(e(X)));if(N$(V,X),Aq(Q))try{Aw(Q)}catch{}}B$();G0();G0();u$();t$();t();function UD($,X){let J=X.split("."),Q=$;for(let q of J){if(Q===null||Q===void 0||typeof Q!=="object")return;Q=Q[q]}return Q}function VD($,X,J){let Q=X.split("."),q=$;for(let Y=0;Y<Q.length-1;Y++){if(!q[Q[Y]]||typeof q[Q[Y]]!=="object")q[Q[Y]]={};q=q[Q[Y]]}q[Q[Q.length-1]]=J}async function AY($){if($==="analyze")await KD();else if($==="enhance")await BD();else console.log(`${L("ai")} ${w("— AI-powered features")}
|
|
295
295
|
`),console.log(` ${C("faf ai enhance")} ${w("— fill empty slots via Claude")}`),console.log(` ${C("faf ai analyze")} ${w("— get improvement suggestions")}`),console.log(""),console.log(w(" Requires ANTHROPIC_API_KEY environment variable."))}async function _Y(){let $=process.env.ANTHROPIC_API_KEY;if(!$)console.error(`Error: ANTHROPIC_API_KEY not set.
|
|
296
296
|
|
|
297
297
|
export ANTHROPIC_API_KEY=sk-...`),process.exit(2);try{let{default:X}=await Promise.resolve().then(() => (RY(),LY));return new X({apiKey:$})}catch{console.error(`Error: @anthropic-ai/sdk not installed.
|
|
298
298
|
|
|
299
|
-
npm install @anthropic-ai/sdk`),process.exit(2)}}async function BD(){let $=
|
|
299
|
+
npm install @anthropic-ai/sdk`),process.exit(2)}}async function BD(){let $=n();if(!$)console.error(`Error: project.faf not found
|
|
300
300
|
|
|
301
|
-
Run 'faf init' to create one.`),process.exit(2);let X
|
|
301
|
+
Run 'faf init' to create one.`),process.exit(2);let X=$$($),J=e($),Q=I$.filter((W)=>{let H=UD(X,W.path);return j8(H)&&H!=="slotignored"});if(Q.length===0){console.log(`${L("◆")} ai enhance all slots populated`);return}console.log(`${L("ai")} enhance ${w(`filling ${Q.length} empty slots...`)}`);let q=await _Y(),Y=Q.map((W)=>`- ${W.path}: ${W.description}`).join(`
|
|
302
302
|
`),z=`Given this project .faf file:
|
|
303
303
|
|
|
304
304
|
${J}
|
|
@@ -308,17 +308,17 @@ Fill in these empty slots with reasonable values based on the project context. R
|
|
|
308
308
|
Empty slots:
|
|
309
309
|
${Y}
|
|
310
310
|
|
|
311
|
-
Respond with ONLY valid JSON, no markdown fences.`,G=await q.messages.create({model:"claude-haiku-4-5-20251001",max_tokens:1024,messages:[{role:"user",content:z}]});try{let W=G.content[0].text,H=JSON.parse(W),U=0;for(let
|
|
312
|
-
${L("◆")} ai enhance filled ${U} slot${U===1?"":"s"}`);let
|
|
311
|
+
Respond with ONLY valid JSON, no markdown fences.`,G=await q.messages.create({model:"claude-haiku-4-5-20251001",max_tokens:1024,messages:[{role:"user",content:z}]});try{let W=G.content[0].text,H=JSON.parse(W),U=0;for(let V of Q){let B=H[V.path];if(B&&typeof B==="string")VD(X,V.path,B),console.log(` ${L("●")} ${V.path} ${w("←")} ${B}`),U++}if(U>0){Q$($,X),console.log(`
|
|
312
|
+
${L("◆")} ai enhance filled ${U} slot${U===1?"":"s"}`);let V=U$(H$(e($)));N$(V,$)}}catch{console.error("Error: Could not parse AI response.")}}async function KD(){let $=n();if(!$)console.error(`Error: project.faf not found
|
|
313
313
|
|
|
314
|
-
Run 'faf init' to create one.`),process.exit(2);let X=
|
|
314
|
+
Run 'faf init' to create one.`),process.exit(2);let X=e($);console.log(`${L("ai")} analyze ${w("getting suggestions...")}`);let Q=await(await _Y()).messages.create({model:"claude-haiku-4-5-20251001",max_tokens:1024,messages:[{role:"user",content:`Analyze this .faf project context file and provide 3-5 specific suggestions for improvement. Focus on completeness, accuracy, and best practices.
|
|
315
315
|
|
|
316
316
|
${X}
|
|
317
317
|
|
|
318
|
-
Be concise. One line per suggestion.`}]});console.log(""),console.log(Q.content[0].text)}B$();i4();
|
|
319
|
-
`),console.log(` ${C("faf conductor import <path>")} ${w("— import conductor config into .faf")}`),console.log(` ${C("faf conductor export")} ${w("— generate conductor config from .faf")}`)}function ND($){if(!$)console.error("Usage: faf conductor import <path>"),process.exit(2);if(!N9($))console.error(`Error: path not found: ${$}`),process.exit(2);let X={faf_version:"3.0",project:{}};if(N9($)&&$.endsWith(".json")){let q=JSON.parse(w9($,"utf-8"));if(q.name)X.project.name=q.name;if(q.description)X.project.goal=q.description;if(q.language)X.project.main_language=q.language}else if(N9($)&&($.endsWith(".yml")||$.endsWith(".yaml"))){let q=m6(w9($,"utf-8"));if(q.name)X.project.name=q.name;if(q.description)X.project.goal=q.description;if(q.language)X.project.main_language=q.language}else try{let q=MD($);for(let Y of q){let z=FY($,Y);if(Y.endsWith(".json"))try{let G=JSON.parse(w9(z,"utf-8"));if(G.name&&!X.project.name)X.project.name=G.name;if(G.description&&!X.project.goal)X.project.goal=G.description}catch{}}}catch{console.error(`Error: could not read directory: ${$}`),process.exit(2)}let J=process.cwd(),Q=
|
|
318
|
+
Be concise. One line per suggestion.`}]});console.log(""),console.log(Q.content[0].text)}B$();i4();t();import{existsSync as N9,readFileSync as w9,readdirSync as MD}from"fs";import{join as FY}from"path";function IY($,X){if($==="import")ND(X);else if($==="export")wD();else console.log(`${L("conductor")} ${w("— conductor integration")}
|
|
319
|
+
`),console.log(` ${C("faf conductor import <path>")} ${w("— import conductor config into .faf")}`),console.log(` ${C("faf conductor export")} ${w("— generate conductor config from .faf")}`)}function ND($){if(!$)console.error("Usage: faf conductor import <path>"),process.exit(2);if(!N9($))console.error(`Error: path not found: ${$}`),process.exit(2);let X={faf_version:"3.0",project:{}};if(N9($)&&$.endsWith(".json")){let q=JSON.parse(w9($,"utf-8"));if(q.name)X.project.name=q.name;if(q.description)X.project.goal=q.description;if(q.language)X.project.main_language=q.language}else if(N9($)&&($.endsWith(".yml")||$.endsWith(".yaml"))){let q=m6(w9($,"utf-8"));if(q.name)X.project.name=q.name;if(q.description)X.project.goal=q.description;if(q.language)X.project.main_language=q.language}else try{let q=MD($);for(let Y of q){let z=FY($,Y);if(Y.endsWith(".json"))try{let G=JSON.parse(w9(z,"utf-8"));if(G.name&&!X.project.name)X.project.name=G.name;if(G.description&&!X.project.goal)X.project.goal=G.description}catch{}}}catch{console.error(`Error: could not read directory: ${$}`),process.exit(2)}let J=process.cwd(),Q=n(J);if(Q){let q=$$(Q);if(!q.project)q.project={};if(X.project.name&&!q.project.name)q.project.name=X.project.name;if(X.project.goal&&!q.project.goal)q.project.goal=X.project.goal;if(X.project.main_language&&!q.project.main_language)q.project.main_language=X.project.main_language;Q$(Q,q),console.log(`${L("◆")} conductor import merged into ${Q}`)}else{let q=FY(J,"project.faf");Q$(q,X),console.log(`${L("◆")} conductor import created ${q}`)}}function wD(){let $=n();if(!$)console.error(`Error: project.faf not found
|
|
320
320
|
|
|
321
|
-
Run 'faf init' to create one.`),process.exit(2);let X
|
|
321
|
+
Run 'faf init' to create one.`),process.exit(2);let X=$$($),J={name:X.project?.name??"",description:X.project?.goal??"",language:X.project?.main_language??"",stack:X.stack??{}};console.log(JSON.stringify(J,null,2))}import{readFileSync as wX,writeFileSync as D9,existsSync as $6,mkdirSync as EY}from"fs";import{join as l$,dirname as SY}from"path";import{fileURLToPath as jY}from"url";import{homedir as TY}from"os";class O9{skillsDir=l$(TY(),".config","claude-code","skills");fafSkillsDir=l$(this.skillsDir,"faf-commands");claudeSkillsDir=l$(TY(),".claude","skills","faf");async syncSkills(){await this.syncToLocation(this.fafSkillsDir),await this.syncToClaudeDir()}async syncToClaudeDir(){if(!$6(this.claudeSkillsDir))return;let $=l$(this.claudeSkillsDir,"skills.json");if(!$6($))return;let X=JSON.parse(wX($,"utf-8")),J=JSON.parse(wX(l$(SY(jY(import.meta.url)),"../../package.json"),"utf-8"));X.requirements["faf-cli"]=`>=${J.version}`,X.lastSync=new Date().toISOString(),D9($,JSON.stringify(X,null,2))}async syncToLocation($){if(!$6($))EY($,{recursive:!0});let X=l$(SY(jY(import.meta.url)),"../../commands"),{readdirSync:J}=await import("fs"),Q=J(X).filter((Y)=>Y.startsWith("faf-")&&Y.endsWith(".md")),q={version:"1.0.0",skills:[],preferences:{conciseDescriptions:!0,functionalLanguage:!0,minimalEmojis:!0}};for(let Y of Q){let z=wX(l$(X,Y),"utf-8"),G=this.parseCommandFile(z,Y);if(G)q.skills.push(G),await this.createSkillFileInDir(G,z,$)}D9(l$($,"index.json"),JSON.stringify(q,null,2))}parseCommandFile($,X){let J=$.split(`
|
|
322
322
|
`),Q="",q="";for(let z of J){if(z.startsWith("description:"))Q=z.replace("description:","").trim();if(z.startsWith("argument-hint:"))q=z.replace("argument-hint:","").trim()}if(!Q)return null;return{name:X.replace(".md",""),description:Q,...q&&q!=="None"?{"argument-hint":q}:{}}}async createSkillFileInDir($,X,J){let Q=l$(J,$.name);if(!$6(Q))EY(Q,{recursive:!0});let Y=X.split("---").slice(2).join("---").trim(),z=`---
|
|
323
323
|
name: ${$.name}
|
|
324
324
|
description: ${$.description}${$["argument-hint"]?`
|
|
@@ -342,7 +342,7 @@ This skill is automatically synced from faf-cli v6 commands.
|
|
|
342
342
|
\`\`\`
|
|
343
343
|
/${$.name}${$["argument-hint"]&&$["argument-hint"]!=="None"?" ["+$["argument-hint"]+"]":""}
|
|
344
344
|
\`\`\`
|
|
345
|
-
`;D9(l$(Q,"SKILL.md"),z)}async checkIntegration(){if(!$6(this.fafSkillsDir))return!1;let $=l$(this.fafSkillsDir,"index.json");if(!$6($))return!1;try{let X=JSON.parse(
|
|
345
|
+
`;D9(l$(Q,"SKILL.md"),z)}async checkIntegration(){if(!$6(this.fafSkillsDir))return!1;let $=l$(this.fafSkillsDir,"index.json");if(!$6($))return!1;try{let X=JSON.parse(wX($,"utf-8"));return X.version&&Array.isArray(X.skills)}catch{return!1}}getBestPractices(){return`
|
|
346
346
|
Claude Code Integration Best Practices for faf-cli:
|
|
347
347
|
|
|
348
348
|
1. **Command Descriptions**
|
|
@@ -374,11 +374,11 @@ Claude Code Integration Best Practices for faf-cli:
|
|
|
374
374
|
- Version descriptions properly
|
|
375
375
|
- Test in Claude Code after changes
|
|
376
376
|
- Keep skills directory clean
|
|
377
|
-
`}}
|
|
378
|
-
Try running: ${C("bun scripts/bun-update.ts")}`),process.exit(1)}),J.on("exit",(Q)=>{if(Q!==0)process.exit(Q||1)})})}a();import{existsSync as bY,cpSync as RD}from"fs";import{join as D5}from"path";import{homedir as AD}from"os";import{fileURLToPath as _D}from"url";import{dirname as FD}from"path";async function fY(){let $=FD(_D(import.meta.url)),X,J=[D5($,"../../../skills/faf"),D5($,"../../skills/faf"),D5($,"../skills/faf")];for(let q of J)if(bY(q)){X=q;break}if(!X){console.log(`${w(" Skills package not found in distribution")}`),console.log(`${w(" Checked:")} ${J.join(", ")}`),console.log(`${w(" Run")} ${C("faf claude-sync")} ${w("to generate skills from commands")}`);return}let Q=D5(AD(),".claude","skills","faf");if(console.log(`${L("◆")} Installing FAF skills for Claude Code...`),bY(Q)){console.log(`${L("!")} FAF skills already installed at ${w(Q)}`),console.log(" To reinstall, first remove the existing directory");return}try{RD(X,Q,{recursive:!0}),console.log(`${L("✓")} Installed FAF skills to ~/.claude/skills/faf/`),console.log(""),console.log("Available skills:"),console.log(` ${C("/faf-champion")} - Achieve 100% AI-readiness score`),console.log(` ${C("/faf-quickstart")} - Initialize FAF context in seconds`),console.log(` ${C("/faf-sync-master")} - Keep .faf and CLAUDE.md in sync`),console.log(""),console.log(w(" Restart Claude Code to see the new skills"))}catch(q){console.error("Failed to install skills:",q),process.exit(1)}}class L9{tools=new Map;register($){if(this.tools.has($.name))throw Error(`Tool '${$.name}' already registered`);this.tools.set($.name,$)}get($){return this.tools.get($)}list(){return Array.from(this.tools.values())}listByPermission($){return this.list().filter((X)=>X.permission===$)}listByRisk($){return this.list().filter((X)=>X.risk===$)}}class Y8{tags=["faf","ai-context"];validate($){let X=this.schema.safeParse($);if(!X.success)throw Error(`Invalid input for ${this.name}: ${X.error.message}`);return X.data}canExecute($){let X=["plan","standard","auto","bypass"],J=X.indexOf(this.permission);return X.indexOf($.permissionMode)>=J}}var R$={};E5(R$,{void:()=>GO,util:()=>d,unknown:()=>YO,union:()=>VO,undefined:()=>JO,tuple:()=>MO,transformer:()=>IO,symbol:()=>XO,string:()=>lY,strictObject:()=>UO,setErrorMap:()=>SD,set:()=>DO,record:()=>NO,quotelessJson:()=>ID,promise:()=>FO,preprocess:()=>jO,pipeline:()=>TO,ostring:()=>ZO,optional:()=>EO,onumber:()=>CO,oboolean:()=>PO,objectUtil:()=>R9,object:()=>HO,number:()=>cY,nullable:()=>SO,null:()=>QO,never:()=>zO,nativeEnum:()=>_O,nan:()=>tD,map:()=>wO,makeIssue:()=>f2,literal:()=>RO,lazy:()=>LO,late:()=>aD,isValid:()=>v0,isDirty:()=>L5,isAsync:()=>J6,isAborted:()=>O5,intersection:()=>KO,instanceof:()=>oD,getParsedType:()=>X0,getErrorMap:()=>X6,function:()=>OO,enum:()=>AO,effect:()=>IO,discriminatedUnion:()=>BO,defaultErrorMap:()=>M0,datetimeRegex:()=>hY,date:()=>$O,custom:()=>mY,coerce:()=>bO,boolean:()=>dY,bigint:()=>eD,array:()=>WO,any:()=>qO,addIssueToContext:()=>E,ZodVoid:()=>x2,ZodUnknown:()=>h0,ZodUnion:()=>W6,ZodUndefined:()=>z6,ZodType:()=>l,ZodTuple:()=>Q0,ZodTransformer:()=>n$,ZodSymbol:()=>k2,ZodString:()=>c$,ZodSet:()=>H8,ZodSchema:()=>l,ZodRecord:()=>y2,ZodReadonly:()=>N6,ZodPromise:()=>U8,ZodPipeline:()=>h2,ZodParsedType:()=>_,ZodOptional:()=>p$,ZodObject:()=>z$,ZodNumber:()=>u0,ZodNullable:()=>w0,ZodNull:()=>G6,ZodNever:()=>J0,ZodNativeEnum:()=>B6,ZodNaN:()=>v2,ZodMap:()=>g2,ZodLiteral:()=>V6,ZodLazy:()=>U6,ZodIssueCode:()=>O,ZodIntersection:()=>H6,ZodFunction:()=>q6,ZodFirstPartyTypeKind:()=>y,ZodError:()=>S$,ZodEnum:()=>l0,ZodEffects:()=>n$,ZodDiscriminatedUnion:()=>R5,ZodDefault:()=>K6,ZodDate:()=>G8,ZodCatch:()=>M6,ZodBranded:()=>A5,ZodBoolean:()=>Y6,ZodBigInt:()=>m0,ZodArray:()=>d$,ZodAny:()=>W8,Schema:()=>l,ParseStatus:()=>_$,OK:()=>F$,NEVER:()=>fO,INVALID:()=>k,EMPTY_PATH:()=>jD,DIRTY:()=>z8,BRAND:()=>sD});var d;(function($){$.assertEqual=(q)=>{};function X(q){}$.assertIs=X;function J(q){throw Error()}$.assertNever=J,$.arrayToEnum=(q)=>{let Y={};for(let z of q)Y[z]=z;return Y},$.getValidEnumValues=(q)=>{let Y=$.objectKeys(q).filter((G)=>typeof q[q[G]]!=="number"),z={};for(let G of Y)z[G]=q[G];return $.objectValues(z)},$.objectValues=(q)=>{return $.objectKeys(q).map(function(Y){return q[Y]})},$.objectKeys=typeof Object.keys==="function"?(q)=>Object.keys(q):(q)=>{let Y=[];for(let z in q)if(Object.prototype.hasOwnProperty.call(q,z))Y.push(z);return Y},$.find=(q,Y)=>{for(let z of q)if(Y(z))return z;return},$.isInteger=typeof Number.isInteger==="function"?(q)=>Number.isInteger(q):(q)=>typeof q==="number"&&Number.isFinite(q)&&Math.floor(q)===q;function Q(q,Y=" | "){return q.map((z)=>typeof z==="string"?`'${z}'`:z).join(Y)}$.joinValues=Q,$.jsonStringifyReplacer=(q,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(d||(d={}));var R9;(function($){$.mergeShapes=(X,J)=>{return{...X,...J}}})(R9||(R9={}));var _=d.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),X0=($)=>{switch(typeof $){case"undefined":return _.undefined;case"string":return _.string;case"number":return Number.isNaN($)?_.nan:_.number;case"boolean":return _.boolean;case"function":return _.function;case"bigint":return _.bigint;case"symbol":return _.symbol;case"object":if(Array.isArray($))return _.array;if($===null)return _.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return _.promise;if(typeof Map<"u"&&$ instanceof Map)return _.map;if(typeof Set<"u"&&$ instanceof Set)return _.set;if(typeof Date<"u"&&$ instanceof Date)return _.date;return _.object;default:return _.unknown}};var O=d.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ID=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class S$ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=$}format($){let X=$||function(q){return q.message},J={_errors:[]},Q=(q)=>{for(let Y of q.issues)if(Y.code==="invalid_union")Y.unionErrors.map(Q);else if(Y.code==="invalid_return_type")Q(Y.returnTypeError);else if(Y.code==="invalid_arguments")Q(Y.argumentsError);else if(Y.path.length===0)J._errors.push(X(Y));else{let z=J,G=0;while(G<Y.path.length){let W=Y.path[G];if(G!==Y.path.length-1)z[W]=z[W]||{_errors:[]};else z[W]=z[W]||{_errors:[]},z[W]._errors.push(X(Y));z=z[W],G++}}};return Q(this),J}static assert($){if(!($ instanceof S$))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,d.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(X)=>X.message){let X={},J=[];for(let Q of this.issues)if(Q.path.length>0){let q=Q.path[0];X[q]=X[q]||[],X[q].push($(Q))}else J.push($(Q));return{formErrors:J,fieldErrors:X}}get formErrors(){return this.flatten()}}S$.create=($)=>{return new S$($)};var ED=($,X)=>{let J;switch($.code){case O.invalid_type:if($.received===_.undefined)J="Required";else J=`Expected ${$.expected}, received ${$.received}`;break;case O.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify($.expected,d.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:J=`Unrecognized key(s) in object: ${d.joinValues($.keys,", ")}`;break;case O.invalid_union:J="Invalid input";break;case O.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${d.joinValues($.options)}`;break;case O.invalid_enum_value:J=`Invalid enum value. Expected ${d.joinValues($.options)}, received '${$.received}'`;break;case O.invalid_arguments:J="Invalid function arguments";break;case O.invalid_return_type:J="Invalid function return type";break;case O.invalid_date:J="Invalid date";break;case O.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(J=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)J=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)J=`Invalid input: must end with "${$.validation.endsWith}"`;else d.assertNever($.validation);else if($.validation!=="regex")J=`Invalid ${$.validation}`;else J="Invalid";break;case O.too_small:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else J="Invalid input";break;case O.too_big:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")J=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else J="Invalid input";break;case O.custom:J="Invalid input";break;case O.invalid_intersection_types:J="Intersection results could not be merged";break;case O.not_multiple_of:J=`Number must be a multiple of ${$.multipleOf}`;break;case O.not_finite:J="Number must be finite";break;default:J=X.defaultError,d.assertNever($)}return{message:J}},M0=ED;var kY=M0;function SD($){kY=$}function X6(){return kY}var f2=($)=>{let{data:X,path:J,errorMaps:Q,issueData:q}=$,Y=[...J,...q.path||[]],z={...q,path:Y};if(q.message!==void 0)return{...q,path:Y,message:q.message};let G="",W=Q.filter((H)=>!!H).slice().reverse();for(let H of W)G=H(z,{data:X,defaultError:G}).message;return{...q,path:Y,message:G}},jD=[];function E($,X){let J=X6(),Q=f2({issueData:X,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J,J===M0?void 0:M0].filter((q)=>!!q)});$.common.issues.push(Q)}class _${constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,X){let J=[];for(let Q of X){if(Q.status==="aborted")return k;if(Q.status==="dirty")$.dirty();J.push(Q.value)}return{status:$.value,value:J}}static async mergeObjectAsync($,X){let J=[];for(let Q of X){let q=await Q.key,Y=await Q.value;J.push({key:q,value:Y})}return _$.mergeObjectSync($,J)}static mergeObjectSync($,X){let J={};for(let Q of X){let{key:q,value:Y}=Q;if(q.status==="aborted")return k;if(Y.status==="aborted")return k;if(q.status==="dirty")$.dirty();if(Y.status==="dirty")$.dirty();if(q.value!=="__proto__"&&(typeof Y.value<"u"||Q.alwaysSet))J[q.value]=Y.value}return{status:$.value,value:J}}}var k=Object.freeze({status:"aborted"}),z8=($)=>({status:"dirty",value:$}),F$=($)=>({status:"valid",value:$}),O5=($)=>$.status==="aborted",L5=($)=>$.status==="dirty",v0=($)=>$.status==="valid",J6=($)=>typeof Promise<"u"&&$ instanceof Promise;var Z;(function($){$.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},$.toString=(X)=>typeof X==="string"?X:X?.message})(Z||(Z={}));class i${constructor($,X,J,Q){this._cachedPath=[],this.parent=$,this.data=X,this._path=J,this._key=Q}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var xY=($,X)=>{if(v0(X))return{success:!0,data:X.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new S$($.common.issues);return this._error=J,this._error}}}};function h($){if(!$)return{};let{errorMap:X,invalid_type_error:J,required_error:Q,description:q}=$;if(X&&(J||Q))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:q};return{errorMap:(z,G)=>{let{message:W}=$;if(z.code==="invalid_enum_value")return{message:W??G.defaultError};if(typeof G.data>"u")return{message:W??Q??G.defaultError};if(z.code!=="invalid_type")return{message:G.defaultError};return{message:W??J??G.defaultError}},description:q}}class l{get description(){return this._def.description}_getType($){return X0($.data)}_getOrReturnCtx($,X){return X||{common:$.parent.common,data:$.data,parsedType:X0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new _$,ctx:{common:$.parent.common,data:$.data,parsedType:X0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let X=this._parse($);if(J6(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync($){let X=this._parse($);return Promise.resolve(X)}parse($,X){let J=this.safeParse($,X);if(J.success)return J.data;throw J.error}safeParse($,X){let J={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:X0($)},Q=this._parseSync({data:$,path:J.path,parent:J});return xY(J,Q)}"~validate"($){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:X0($)};if(!this["~standard"].async)try{let J=this._parseSync({data:$,path:[],parent:X});return v0(J)?{value:J.value}:{issues:X.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:X}).then((J)=>v0(J)?{value:J.value}:{issues:X.common.issues})}async parseAsync($,X){let J=await this.safeParseAsync($,X);if(J.success)return J.data;throw J.error}async safeParseAsync($,X){let J={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:X0($)},Q=this._parse({data:$,path:J.path,parent:J}),q=await(J6(Q)?Q:Promise.resolve(Q));return xY(J,q)}refine($,X){let J=(Q)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(Q);else return X};return this._refinement((Q,q)=>{let Y=$(Q),z=()=>q.addIssue({code:O.custom,...J(Q)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((G)=>{if(!G)return z(),!1;else return!0});if(!Y)return z(),!1;else return!0})}refinement($,X){return this._refinement((J,Q)=>{if(!$(J))return Q.addIssue(typeof X==="function"?X(J,Q):X),!1;else return!0})}_refinement($){return new n$({schema:this,typeName:y.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return p$.create(this,this._def)}nullable(){return w0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return d$.create(this)}promise(){return U8.create(this,this._def)}or($){return W6.create([this,$],this._def)}and($){return H6.create(this,$,this._def)}transform($){return new n$({...h(this._def),schema:this,typeName:y.ZodEffects,effect:{type:"transform",transform:$}})}default($){let X=typeof $==="function"?$:()=>$;return new K6({...h(this._def),innerType:this,defaultValue:X,typeName:y.ZodDefault})}brand(){return new A5({typeName:y.ZodBranded,type:this,...h(this._def)})}catch($){let X=typeof $==="function"?$:()=>$;return new M6({...h(this._def),innerType:this,catchValue:X,typeName:y.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return h2.create(this,$)}readonly(){return N6.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var TD=/^c[^\s-]{8,}$/i,ZD=/^[0-9a-z]+$/,CD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,PD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,bD=/^[a-z0-9_-]{21}$/i,fD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,kD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,xD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,yD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",A9,gD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,vD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,hD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,uD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,gY="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",cD=new RegExp(`^${gY}$`);function vY($){let X="[0-5]\\d";if($.precision)X=`${X}\\.\\d{${$.precision}}`;else if($.precision==null)X=`${X}(\\.\\d+)?`;let J=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${J}`}function dD($){return new RegExp(`^${vY($)}$`)}function hY($){let X=`${gY}T${vY($)}`,J=[];if(J.push($.local?"Z?":"Z"),$.offset)J.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${J.join("|")})`,new RegExp(`^${X}$`)}function pD($,X){if((X==="v4"||!X)&&gD.test($))return!0;if((X==="v6"||!X)&&hD.test($))return!0;return!1}function iD($,X){if(!fD.test($))return!1;try{let[J]=$.split(".");if(!J)return!1;let Q=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),q=JSON.parse(atob(Q));if(typeof q!=="object"||q===null)return!1;if("typ"in q&&q?.typ!=="JWT")return!1;if(!q.alg)return!1;if(X&&q.alg!==X)return!1;return!0}catch{return!1}}function nD($,X){if((X==="v4"||!X)&&vD.test($))return!0;if((X==="v6"||!X)&&uD.test($))return!0;return!1}class c$ extends l{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==_.string){let q=this._getOrReturnCtx($);return E(q,{code:O.invalid_type,expected:_.string,received:q.parsedType}),k}let J=new _$,Q=void 0;for(let q of this._def.checks)if(q.kind==="min"){if($.data.length<q.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:O.too_small,minimum:q.value,type:"string",inclusive:!0,exact:!1,message:q.message}),J.dirty()}else if(q.kind==="max"){if($.data.length>q.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:O.too_big,maximum:q.value,type:"string",inclusive:!0,exact:!1,message:q.message}),J.dirty()}else if(q.kind==="length"){let Y=$.data.length>q.value,z=$.data.length<q.value;if(Y||z){if(Q=this._getOrReturnCtx($,Q),Y)E(Q,{code:O.too_big,maximum:q.value,type:"string",inclusive:!0,exact:!0,message:q.message});else if(z)E(Q,{code:O.too_small,minimum:q.value,type:"string",inclusive:!0,exact:!0,message:q.message});J.dirty()}}else if(q.kind==="email"){if(!xD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"email",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="emoji"){if(!A9)A9=new RegExp(yD,"u");if(!A9.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"emoji",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="uuid"){if(!PD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"uuid",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="nanoid"){if(!bD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"nanoid",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="cuid"){if(!TD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"cuid",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="cuid2"){if(!ZD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"cuid2",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="ulid"){if(!CD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"ulid",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="url")try{new URL($.data)}catch{Q=this._getOrReturnCtx($,Q),E(Q,{validation:"url",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="regex"){if(q.regex.lastIndex=0,!q.regex.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"regex",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="trim")$.data=$.data.trim();else if(q.kind==="includes"){if(!$.data.includes(q.value,q.position))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:{includes:q.value,position:q.position},message:q.message}),J.dirty()}else if(q.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(q.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(q.kind==="startsWith"){if(!$.data.startsWith(q.value))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:{startsWith:q.value},message:q.message}),J.dirty()}else if(q.kind==="endsWith"){if(!$.data.endsWith(q.value))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:{endsWith:q.value},message:q.message}),J.dirty()}else if(q.kind==="datetime"){if(!hY(q).test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:"datetime",message:q.message}),J.dirty()}else if(q.kind==="date"){if(!cD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:"date",message:q.message}),J.dirty()}else if(q.kind==="time"){if(!dD(q).test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:"time",message:q.message}),J.dirty()}else if(q.kind==="duration"){if(!kD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"duration",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="ip"){if(!pD($.data,q.version))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"ip",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="jwt"){if(!iD($.data,q.alg))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"jwt",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="cidr"){if(!nD($.data,q.version))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"cidr",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="base64"){if(!mD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"base64",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="base64url"){if(!lD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"base64url",code:O.invalid_string,message:q.message}),J.dirty()}else d.assertNever(q);return{status:J.value,value:$.data}}_regex($,X,J){return this.refinement((Q)=>$.test(Q),{validation:X,code:O.invalid_string,...Z.errToObj(J)})}_addCheck($){return new c$({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...Z.errToObj($)})}url($){return this._addCheck({kind:"url",...Z.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...Z.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...Z.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...Z.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...Z.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...Z.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...Z.errToObj($)})}base64($){return this._addCheck({kind:"base64",...Z.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...Z.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...Z.errToObj($)})}ip($){return this._addCheck({kind:"ip",...Z.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...Z.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...Z.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...Z.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...Z.errToObj($)})}regex($,X){return this._addCheck({kind:"regex",regex:$,...Z.errToObj(X)})}includes($,X){return this._addCheck({kind:"includes",value:$,position:X?.position,...Z.errToObj(X?.message)})}startsWith($,X){return this._addCheck({kind:"startsWith",value:$,...Z.errToObj(X)})}endsWith($,X){return this._addCheck({kind:"endsWith",value:$,...Z.errToObj(X)})}min($,X){return this._addCheck({kind:"min",value:$,...Z.errToObj(X)})}max($,X){return this._addCheck({kind:"max",value:$,...Z.errToObj(X)})}length($,X){return this._addCheck({kind:"length",value:$,...Z.errToObj(X)})}nonempty($){return this.min(1,Z.errToObj($))}trim(){return new c$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new c$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new c$({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxLength(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}}c$.create=($)=>{return new c$({checks:[],typeName:y.ZodString,coerce:$?.coerce??!1,...h($)})};function rD($,X){let J=($.toString().split(".")[1]||"").length,Q=(X.toString().split(".")[1]||"").length,q=J>Q?J:Q,Y=Number.parseInt($.toFixed(q).replace(".","")),z=Number.parseInt(X.toFixed(q).replace(".",""));return Y%z/10**q}class u0 extends l{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==_.number){let q=this._getOrReturnCtx($);return E(q,{code:O.invalid_type,expected:_.number,received:q.parsedType}),k}let J=void 0,Q=new _$;for(let q of this._def.checks)if(q.kind==="int"){if(!d.isInteger($.data))J=this._getOrReturnCtx($,J),E(J,{code:O.invalid_type,expected:"integer",received:"float",message:q.message}),Q.dirty()}else if(q.kind==="min"){if(q.inclusive?$.data<q.value:$.data<=q.value)J=this._getOrReturnCtx($,J),E(J,{code:O.too_small,minimum:q.value,type:"number",inclusive:q.inclusive,exact:!1,message:q.message}),Q.dirty()}else if(q.kind==="max"){if(q.inclusive?$.data>q.value:$.data>=q.value)J=this._getOrReturnCtx($,J),E(J,{code:O.too_big,maximum:q.value,type:"number",inclusive:q.inclusive,exact:!1,message:q.message}),Q.dirty()}else if(q.kind==="multipleOf"){if(rD($.data,q.value)!==0)J=this._getOrReturnCtx($,J),E(J,{code:O.not_multiple_of,multipleOf:q.value,message:q.message}),Q.dirty()}else if(q.kind==="finite"){if(!Number.isFinite($.data))J=this._getOrReturnCtx($,J),E(J,{code:O.not_finite,message:q.message}),Q.dirty()}else d.assertNever(q);return{status:Q.value,value:$.data}}gte($,X){return this.setLimit("min",$,!0,Z.toString(X))}gt($,X){return this.setLimit("min",$,!1,Z.toString(X))}lte($,X){return this.setLimit("max",$,!0,Z.toString(X))}lt($,X){return this.setLimit("max",$,!1,Z.toString(X))}setLimit($,X,J,Q){return new u0({...this._def,checks:[...this._def.checks,{kind:$,value:X,inclusive:J,message:Z.toString(Q)}]})}_addCheck($){return new u0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:Z.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Z.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Z.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Z.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Z.toString($)})}multipleOf($,X){return this._addCheck({kind:"multipleOf",value:$,message:Z.toString(X)})}finite($){return this._addCheck({kind:"finite",message:Z.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Z.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Z.toString($)})}get minValue(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxValue(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&d.isInteger($.value))}get isFinite(){let $=null,X=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if(X===null||J.value>X)X=J.value}else if(J.kind==="max"){if($===null||J.value<$)$=J.value}return Number.isFinite(X)&&Number.isFinite($)}}u0.create=($)=>{return new u0({checks:[],typeName:y.ZodNumber,coerce:$?.coerce||!1,...h($)})};class m0 extends l{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==_.bigint)return this._getInvalidInput($);let J=void 0,Q=new _$;for(let q of this._def.checks)if(q.kind==="min"){if(q.inclusive?$.data<q.value:$.data<=q.value)J=this._getOrReturnCtx($,J),E(J,{code:O.too_small,type:"bigint",minimum:q.value,inclusive:q.inclusive,message:q.message}),Q.dirty()}else if(q.kind==="max"){if(q.inclusive?$.data>q.value:$.data>=q.value)J=this._getOrReturnCtx($,J),E(J,{code:O.too_big,type:"bigint",maximum:q.value,inclusive:q.inclusive,message:q.message}),Q.dirty()}else if(q.kind==="multipleOf"){if($.data%q.value!==BigInt(0))J=this._getOrReturnCtx($,J),E(J,{code:O.not_multiple_of,multipleOf:q.value,message:q.message}),Q.dirty()}else d.assertNever(q);return{status:Q.value,value:$.data}}_getInvalidInput($){let X=this._getOrReturnCtx($);return E(X,{code:O.invalid_type,expected:_.bigint,received:X.parsedType}),k}gte($,X){return this.setLimit("min",$,!0,Z.toString(X))}gt($,X){return this.setLimit("min",$,!1,Z.toString(X))}lte($,X){return this.setLimit("max",$,!0,Z.toString(X))}lt($,X){return this.setLimit("max",$,!1,Z.toString(X))}setLimit($,X,J,Q){return new m0({...this._def,checks:[...this._def.checks,{kind:$,value:X,inclusive:J,message:Z.toString(Q)}]})}_addCheck($){return new m0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Z.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Z.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Z.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Z.toString($)})}multipleOf($,X){return this._addCheck({kind:"multipleOf",value:$,message:Z.toString(X)})}get minValue(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxValue(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}}m0.create=($)=>{return new m0({checks:[],typeName:y.ZodBigInt,coerce:$?.coerce??!1,...h($)})};class Y6 extends l{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==_.boolean){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.boolean,received:J.parsedType}),k}return F$($.data)}}Y6.create=($)=>{return new Y6({typeName:y.ZodBoolean,coerce:$?.coerce||!1,...h($)})};class G8 extends l{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==_.date){let q=this._getOrReturnCtx($);return E(q,{code:O.invalid_type,expected:_.date,received:q.parsedType}),k}if(Number.isNaN($.data.getTime())){let q=this._getOrReturnCtx($);return E(q,{code:O.invalid_date}),k}let J=new _$,Q=void 0;for(let q of this._def.checks)if(q.kind==="min"){if($.data.getTime()<q.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:O.too_small,message:q.message,inclusive:!0,exact:!1,minimum:q.value,type:"date"}),J.dirty()}else if(q.kind==="max"){if($.data.getTime()>q.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:O.too_big,message:q.message,inclusive:!0,exact:!1,maximum:q.value,type:"date"}),J.dirty()}else d.assertNever(q);return{status:J.value,value:new Date($.data.getTime())}}_addCheck($){return new G8({...this._def,checks:[...this._def.checks,$]})}min($,X){return this._addCheck({kind:"min",value:$.getTime(),message:Z.toString(X)})}max($,X){return this._addCheck({kind:"max",value:$.getTime(),message:Z.toString(X)})}get minDate(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $!=null?new Date($):null}}G8.create=($)=>{return new G8({checks:[],coerce:$?.coerce||!1,typeName:y.ZodDate,...h($)})};class k2 extends l{_parse($){if(this._getType($)!==_.symbol){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.symbol,received:J.parsedType}),k}return F$($.data)}}k2.create=($)=>{return new k2({typeName:y.ZodSymbol,...h($)})};class z6 extends l{_parse($){if(this._getType($)!==_.undefined){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.undefined,received:J.parsedType}),k}return F$($.data)}}z6.create=($)=>{return new z6({typeName:y.ZodUndefined,...h($)})};class G6 extends l{_parse($){if(this._getType($)!==_.null){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.null,received:J.parsedType}),k}return F$($.data)}}G6.create=($)=>{return new G6({typeName:y.ZodNull,...h($)})};class W8 extends l{constructor(){super(...arguments);this._any=!0}_parse($){return F$($.data)}}W8.create=($)=>{return new W8({typeName:y.ZodAny,...h($)})};class h0 extends l{constructor(){super(...arguments);this._unknown=!0}_parse($){return F$($.data)}}h0.create=($)=>{return new h0({typeName:y.ZodUnknown,...h($)})};class J0 extends l{_parse($){let X=this._getOrReturnCtx($);return E(X,{code:O.invalid_type,expected:_.never,received:X.parsedType}),k}}J0.create=($)=>{return new J0({typeName:y.ZodNever,...h($)})};class x2 extends l{_parse($){if(this._getType($)!==_.undefined){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.void,received:J.parsedType}),k}return F$($.data)}}x2.create=($)=>{return new x2({typeName:y.ZodVoid,...h($)})};class d$ extends l{_parse($){let{ctx:X,status:J}=this._processInputParams($),Q=this._def;if(X.parsedType!==_.array)return E(X,{code:O.invalid_type,expected:_.array,received:X.parsedType}),k;if(Q.exactLength!==null){let Y=X.data.length>Q.exactLength.value,z=X.data.length<Q.exactLength.value;if(Y||z)E(X,{code:Y?O.too_big:O.too_small,minimum:z?Q.exactLength.value:void 0,maximum:Y?Q.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Q.exactLength.message}),J.dirty()}if(Q.minLength!==null){if(X.data.length<Q.minLength.value)E(X,{code:O.too_small,minimum:Q.minLength.value,type:"array",inclusive:!0,exact:!1,message:Q.minLength.message}),J.dirty()}if(Q.maxLength!==null){if(X.data.length>Q.maxLength.value)E(X,{code:O.too_big,maximum:Q.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Q.maxLength.message}),J.dirty()}if(X.common.async)return Promise.all([...X.data].map((Y,z)=>{return Q.type._parseAsync(new i$(X,Y,X.path,z))})).then((Y)=>{return _$.mergeArray(J,Y)});let q=[...X.data].map((Y,z)=>{return Q.type._parseSync(new i$(X,Y,X.path,z))});return _$.mergeArray(J,q)}get element(){return this._def.type}min($,X){return new d$({...this._def,minLength:{value:$,message:Z.toString(X)}})}max($,X){return new d$({...this._def,maxLength:{value:$,message:Z.toString(X)}})}length($,X){return new d$({...this._def,exactLength:{value:$,message:Z.toString(X)}})}nonempty($){return this.min(1,$)}}d$.create=($,X)=>{return new d$({type:$,minLength:null,maxLength:null,exactLength:null,typeName:y.ZodArray,...h(X)})};function Q6($){if($ instanceof z$){let X={};for(let J in $.shape){let Q=$.shape[J];X[J]=p$.create(Q6(Q))}return new z$({...$._def,shape:()=>X})}else if($ instanceof d$)return new d$({...$._def,type:Q6($.element)});else if($ instanceof p$)return p$.create(Q6($.unwrap()));else if($ instanceof w0)return w0.create(Q6($.unwrap()));else if($ instanceof Q0)return Q0.create($.items.map((X)=>Q6(X)));else return $}class z$ extends l{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),X=d.objectKeys($);return this._cached={shape:$,keys:X},this._cached}_parse($){if(this._getType($)!==_.object){let W=this._getOrReturnCtx($);return E(W,{code:O.invalid_type,expected:_.object,received:W.parsedType}),k}let{status:J,ctx:Q}=this._processInputParams($),{shape:q,keys:Y}=this._getCached(),z=[];if(!(this._def.catchall instanceof J0&&this._def.unknownKeys==="strip")){for(let W in Q.data)if(!Y.includes(W))z.push(W)}let G=[];for(let W of Y){let H=q[W],U=Q.data[W];G.push({key:{status:"valid",value:W},value:H._parse(new i$(Q,U,Q.path,W)),alwaysSet:W in Q.data})}if(this._def.catchall instanceof J0){let W=this._def.unknownKeys;if(W==="passthrough")for(let H of z)G.push({key:{status:"valid",value:H},value:{status:"valid",value:Q.data[H]}});else if(W==="strict"){if(z.length>0)E(Q,{code:O.unrecognized_keys,keys:z}),J.dirty()}else if(W==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let W=this._def.catchall;for(let H of z){let U=Q.data[H];G.push({key:{status:"valid",value:H},value:W._parse(new i$(Q,U,Q.path,H)),alwaysSet:H in Q.data})}}if(Q.common.async)return Promise.resolve().then(async()=>{let W=[];for(let H of G){let U=await H.key,B=await H.value;W.push({key:U,value:B,alwaysSet:H.alwaysSet})}return W}).then((W)=>{return _$.mergeObjectSync(J,W)});else return _$.mergeObjectSync(J,G)}get shape(){return this._def.shape()}strict($){return Z.errToObj,new z$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(X,J)=>{let Q=this._def.errorMap?.(X,J).message??J.defaultError;if(X.code==="unrecognized_keys")return{message:Z.errToObj($).message??Q};return{message:Q}}}:{}})}strip(){return new z$({...this._def,unknownKeys:"strip"})}passthrough(){return new z$({...this._def,unknownKeys:"passthrough"})}extend($){return new z$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new z$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:y.ZodObject})}setKey($,X){return this.augment({[$]:X})}catchall($){return new z$({...this._def,catchall:$})}pick($){let X={};for(let J of d.objectKeys($))if($[J]&&this.shape[J])X[J]=this.shape[J];return new z$({...this._def,shape:()=>X})}omit($){let X={};for(let J of d.objectKeys(this.shape))if(!$[J])X[J]=this.shape[J];return new z$({...this._def,shape:()=>X})}deepPartial(){return Q6(this)}partial($){let X={};for(let J of d.objectKeys(this.shape)){let Q=this.shape[J];if($&&!$[J])X[J]=Q;else X[J]=Q.optional()}return new z$({...this._def,shape:()=>X})}required($){let X={};for(let J of d.objectKeys(this.shape))if($&&!$[J])X[J]=this.shape[J];else{let q=this.shape[J];while(q instanceof p$)q=q._def.innerType;X[J]=q}return new z$({...this._def,shape:()=>X})}keyof(){return uY(d.objectKeys(this.shape))}}z$.create=($,X)=>{return new z$({shape:()=>$,unknownKeys:"strip",catchall:J0.create(),typeName:y.ZodObject,...h(X)})};z$.strictCreate=($,X)=>{return new z$({shape:()=>$,unknownKeys:"strict",catchall:J0.create(),typeName:y.ZodObject,...h(X)})};z$.lazycreate=($,X)=>{return new z$({shape:$,unknownKeys:"strip",catchall:J0.create(),typeName:y.ZodObject,...h(X)})};class W6 extends l{_parse($){let{ctx:X}=this._processInputParams($),J=this._def.options;function Q(q){for(let z of q)if(z.result.status==="valid")return z.result;for(let z of q)if(z.result.status==="dirty")return X.common.issues.push(...z.ctx.common.issues),z.result;let Y=q.map((z)=>new S$(z.ctx.common.issues));return E(X,{code:O.invalid_union,unionErrors:Y}),k}if(X.common.async)return Promise.all(J.map(async(q)=>{let Y={...X,common:{...X.common,issues:[]},parent:null};return{result:await q._parseAsync({data:X.data,path:X.path,parent:Y}),ctx:Y}})).then(Q);else{let q=void 0,Y=[];for(let G of J){let W={...X,common:{...X.common,issues:[]},parent:null},H=G._parseSync({data:X.data,path:X.path,parent:W});if(H.status==="valid")return H;else if(H.status==="dirty"&&!q)q={result:H,ctx:W};if(W.common.issues.length)Y.push(W.common.issues)}if(q)return X.common.issues.push(...q.ctx.common.issues),q.result;let z=Y.map((G)=>new S$(G));return E(X,{code:O.invalid_union,unionErrors:z}),k}}get options(){return this._def.options}}W6.create=($,X)=>{return new W6({options:$,typeName:y.ZodUnion,...h(X)})};var N0=($)=>{if($ instanceof U6)return N0($.schema);else if($ instanceof n$)return N0($.innerType());else if($ instanceof V6)return[$.value];else if($ instanceof l0)return $.options;else if($ instanceof B6)return d.objectValues($.enum);else if($ instanceof K6)return N0($._def.innerType);else if($ instanceof z6)return[void 0];else if($ instanceof G6)return[null];else if($ instanceof p$)return[void 0,...N0($.unwrap())];else if($ instanceof w0)return[null,...N0($.unwrap())];else if($ instanceof A5)return N0($.unwrap());else if($ instanceof N6)return N0($.unwrap());else if($ instanceof M6)return N0($._def.innerType);else return[]};class R5 extends l{_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==_.object)return E(X,{code:O.invalid_type,expected:_.object,received:X.parsedType}),k;let J=this.discriminator,Q=X.data[J],q=this.optionsMap.get(Q);if(!q)return E(X,{code:O.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),k;if(X.common.async)return q._parseAsync({data:X.data,path:X.path,parent:X});else return q._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,X,J){let Q=new Map;for(let q of X){let Y=N0(q.shape[$]);if(!Y.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let z of Y){if(Q.has(z))throw Error(`Discriminator property ${String($)} has duplicate value ${String(z)}`);Q.set(z,q)}}return new R5({typeName:y.ZodDiscriminatedUnion,discriminator:$,options:X,optionsMap:Q,...h(J)})}}function _9($,X){let J=X0($),Q=X0(X);if($===X)return{valid:!0,data:$};else if(J===_.object&&Q===_.object){let q=d.objectKeys(X),Y=d.objectKeys($).filter((G)=>q.indexOf(G)!==-1),z={...$,...X};for(let G of Y){let W=_9($[G],X[G]);if(!W.valid)return{valid:!1};z[G]=W.data}return{valid:!0,data:z}}else if(J===_.array&&Q===_.array){if($.length!==X.length)return{valid:!1};let q=[];for(let Y=0;Y<$.length;Y++){let z=$[Y],G=X[Y],W=_9(z,G);if(!W.valid)return{valid:!1};q.push(W.data)}return{valid:!0,data:q}}else if(J===_.date&&Q===_.date&&+$===+X)return{valid:!0,data:$};else return{valid:!1}}class H6 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($),Q=(q,Y)=>{if(O5(q)||O5(Y))return k;let z=_9(q.value,Y.value);if(!z.valid)return E(J,{code:O.invalid_intersection_types}),k;if(L5(q)||L5(Y))X.dirty();return{status:X.value,value:z.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([q,Y])=>Q(q,Y));else return Q(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}H6.create=($,X,J)=>{return new H6({left:$,right:X,typeName:y.ZodIntersection,...h(J)})};class Q0 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.array)return E(J,{code:O.invalid_type,expected:_.array,received:J.parsedType}),k;if(J.data.length<this._def.items.length)return E(J,{code:O.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),k;if(!this._def.rest&&J.data.length>this._def.items.length)E(J,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let q=[...J.data].map((Y,z)=>{let G=this._def.items[z]||this._def.rest;if(!G)return null;return G._parse(new i$(J,Y,J.path,z))}).filter((Y)=>!!Y);if(J.common.async)return Promise.all(q).then((Y)=>{return _$.mergeArray(X,Y)});else return _$.mergeArray(X,q)}get items(){return this._def.items}rest($){return new Q0({...this._def,rest:$})}}Q0.create=($,X)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Q0({items:$,typeName:y.ZodTuple,rest:null,...h(X)})};class y2 extends l{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.object)return E(J,{code:O.invalid_type,expected:_.object,received:J.parsedType}),k;let Q=[],q=this._def.keyType,Y=this._def.valueType;for(let z in J.data)Q.push({key:q._parse(new i$(J,z,J.path,z)),value:Y._parse(new i$(J,J.data[z],J.path,z)),alwaysSet:z in J.data});if(J.common.async)return _$.mergeObjectAsync(X,Q);else return _$.mergeObjectSync(X,Q)}get element(){return this._def.valueType}static create($,X,J){if(X instanceof l)return new y2({keyType:$,valueType:X,typeName:y.ZodRecord,...h(J)});return new y2({keyType:c$.create(),valueType:$,typeName:y.ZodRecord,...h(X)})}}class g2 extends l{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.map)return E(J,{code:O.invalid_type,expected:_.map,received:J.parsedType}),k;let Q=this._def.keyType,q=this._def.valueType,Y=[...J.data.entries()].map(([z,G],W)=>{return{key:Q._parse(new i$(J,z,J.path,[W,"key"])),value:q._parse(new i$(J,G,J.path,[W,"value"]))}});if(J.common.async){let z=new Map;return Promise.resolve().then(async()=>{for(let G of Y){let W=await G.key,H=await G.value;if(W.status==="aborted"||H.status==="aborted")return k;if(W.status==="dirty"||H.status==="dirty")X.dirty();z.set(W.value,H.value)}return{status:X.value,value:z}})}else{let z=new Map;for(let G of Y){let{key:W,value:H}=G;if(W.status==="aborted"||H.status==="aborted")return k;if(W.status==="dirty"||H.status==="dirty")X.dirty();z.set(W.value,H.value)}return{status:X.value,value:z}}}}g2.create=($,X,J)=>{return new g2({valueType:X,keyType:$,typeName:y.ZodMap,...h(J)})};class H8 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.set)return E(J,{code:O.invalid_type,expected:_.set,received:J.parsedType}),k;let Q=this._def;if(Q.minSize!==null){if(J.data.size<Q.minSize.value)E(J,{code:O.too_small,minimum:Q.minSize.value,type:"set",inclusive:!0,exact:!1,message:Q.minSize.message}),X.dirty()}if(Q.maxSize!==null){if(J.data.size>Q.maxSize.value)E(J,{code:O.too_big,maximum:Q.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Q.maxSize.message}),X.dirty()}let q=this._def.valueType;function Y(G){let W=new Set;for(let H of G){if(H.status==="aborted")return k;if(H.status==="dirty")X.dirty();W.add(H.value)}return{status:X.value,value:W}}let z=[...J.data.values()].map((G,W)=>q._parse(new i$(J,G,J.path,W)));if(J.common.async)return Promise.all(z).then((G)=>Y(G));else return Y(z)}min($,X){return new H8({...this._def,minSize:{value:$,message:Z.toString(X)}})}max($,X){return new H8({...this._def,maxSize:{value:$,message:Z.toString(X)}})}size($,X){return this.min($,X).max($,X)}nonempty($){return this.min(1,$)}}H8.create=($,X)=>{return new H8({valueType:$,minSize:null,maxSize:null,typeName:y.ZodSet,...h(X)})};class q6 extends l{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==_.function)return E(X,{code:O.invalid_type,expected:_.function,received:X.parsedType}),k;function J(z,G){return f2({data:z,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,X6(),M0].filter((W)=>!!W),issueData:{code:O.invalid_arguments,argumentsError:G}})}function Q(z,G){return f2({data:z,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,X6(),M0].filter((W)=>!!W),issueData:{code:O.invalid_return_type,returnTypeError:G}})}let q={errorMap:X.common.contextualErrorMap},Y=X.data;if(this._def.returns instanceof U8){let z=this;return F$(async function(...G){let W=new S$([]),H=await z._def.args.parseAsync(G,q).catch((V)=>{throw W.addIssue(J(G,V)),W}),U=await Reflect.apply(Y,this,H);return await z._def.returns._def.type.parseAsync(U,q).catch((V)=>{throw W.addIssue(Q(U,V)),W})})}else{let z=this;return F$(function(...G){let W=z._def.args.safeParse(G,q);if(!W.success)throw new S$([J(G,W.error)]);let H=Reflect.apply(Y,this,W.data),U=z._def.returns.safeParse(H,q);if(!U.success)throw new S$([Q(H,U.error)]);return U.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new q6({...this._def,args:Q0.create($).rest(h0.create())})}returns($){return new q6({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,X,J){return new q6({args:$?$:Q0.create([]).rest(h0.create()),returns:X||h0.create(),typeName:y.ZodFunction,...h(J)})}}class U6 extends l{get schema(){return this._def.getter()}_parse($){let{ctx:X}=this._processInputParams($);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}U6.create=($,X)=>{return new U6({getter:$,typeName:y.ZodLazy,...h(X)})};class V6 extends l{_parse($){if($.data!==this._def.value){let X=this._getOrReturnCtx($);return E(X,{received:X.data,code:O.invalid_literal,expected:this._def.value}),k}return{status:"valid",value:$.data}}get value(){return this._def.value}}V6.create=($,X)=>{return new V6({value:$,typeName:y.ZodLiteral,...h(X)})};function uY($,X){return new l0({values:$,typeName:y.ZodEnum,...h(X)})}class l0 extends l{_parse($){if(typeof $.data!=="string"){let X=this._getOrReturnCtx($),J=this._def.values;return E(X,{expected:d.joinValues(J),received:X.parsedType,code:O.invalid_type}),k}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let X=this._getOrReturnCtx($),J=this._def.values;return E(X,{received:X.data,code:O.invalid_enum_value,options:J}),k}return F$($.data)}get options(){return this._def.values}get enum(){let $={};for(let X of this._def.values)$[X]=X;return $}get Values(){let $={};for(let X of this._def.values)$[X]=X;return $}get Enum(){let $={};for(let X of this._def.values)$[X]=X;return $}extract($,X=this._def){return l0.create($,{...this._def,...X})}exclude($,X=this._def){return l0.create(this.options.filter((J)=>!$.includes(J)),{...this._def,...X})}}l0.create=uY;class B6 extends l{_parse($){let X=d.getValidEnumValues(this._def.values),J=this._getOrReturnCtx($);if(J.parsedType!==_.string&&J.parsedType!==_.number){let Q=d.objectValues(X);return E(J,{expected:d.joinValues(Q),received:J.parsedType,code:O.invalid_type}),k}if(!this._cache)this._cache=new Set(d.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let Q=d.objectValues(X);return E(J,{received:J.data,code:O.invalid_enum_value,options:Q}),k}return F$($.data)}get enum(){return this._def.values}}B6.create=($,X)=>{return new B6({values:$,typeName:y.ZodNativeEnum,...h(X)})};class U8 extends l{unwrap(){return this._def.type}_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==_.promise&&X.common.async===!1)return E(X,{code:O.invalid_type,expected:_.promise,received:X.parsedType}),k;let J=X.parsedType===_.promise?X.data:Promise.resolve(X.data);return F$(J.then((Q)=>{return this._def.type.parseAsync(Q,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}U8.create=($,X)=>{return new U8({type:$,typeName:y.ZodPromise,...h(X)})};class n$ extends l{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===y.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:X,ctx:J}=this._processInputParams($),Q=this._def.effect||null,q={addIssue:(Y)=>{if(E(J,Y),Y.fatal)X.abort();else X.dirty()},get path(){return J.path}};if(q.addIssue=q.addIssue.bind(q),Q.type==="preprocess"){let Y=Q.transform(J.data,q);if(J.common.async)return Promise.resolve(Y).then(async(z)=>{if(X.value==="aborted")return k;let G=await this._def.schema._parseAsync({data:z,path:J.path,parent:J});if(G.status==="aborted")return k;if(G.status==="dirty")return z8(G.value);if(X.value==="dirty")return z8(G.value);return G});else{if(X.value==="aborted")return k;let z=this._def.schema._parseSync({data:Y,path:J.path,parent:J});if(z.status==="aborted")return k;if(z.status==="dirty")return z8(z.value);if(X.value==="dirty")return z8(z.value);return z}}if(Q.type==="refinement"){let Y=(z)=>{let G=Q.refinement(z,q);if(J.common.async)return Promise.resolve(G);if(G instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return z};if(J.common.async===!1){let z=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(z.status==="aborted")return k;if(z.status==="dirty")X.dirty();return Y(z.value),{status:X.value,value:z.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((z)=>{if(z.status==="aborted")return k;if(z.status==="dirty")X.dirty();return Y(z.value).then(()=>{return{status:X.value,value:z.value}})})}if(Q.type==="transform")if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!v0(Y))return k;let z=Q.transform(Y.value,q);if(z instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:z}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(!v0(Y))return k;return Promise.resolve(Q.transform(Y.value,q)).then((z)=>({status:X.value,value:z}))});d.assertNever(Q)}}n$.create=($,X,J)=>{return new n$({schema:$,typeName:y.ZodEffects,effect:X,...h(J)})};n$.createWithPreprocess=($,X,J)=>{return new n$({schema:X,effect:{type:"preprocess",transform:$},typeName:y.ZodEffects,...h(J)})};class p$ extends l{_parse($){if(this._getType($)===_.undefined)return F$(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}p$.create=($,X)=>{return new p$({innerType:$,typeName:y.ZodOptional,...h(X)})};class w0 extends l{_parse($){if(this._getType($)===_.null)return F$(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}w0.create=($,X)=>{return new w0({innerType:$,typeName:y.ZodNullable,...h(X)})};class K6 extends l{_parse($){let{ctx:X}=this._processInputParams($),J=X.data;if(X.parsedType===_.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}K6.create=($,X)=>{return new K6({innerType:$,typeName:y.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...h(X)})};class M6 extends l{_parse($){let{ctx:X}=this._processInputParams($),J={...X,common:{...X.common,issues:[]}},Q=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(J6(Q))return Q.then((q)=>{return{status:"valid",value:q.status==="valid"?q.value:this._def.catchValue({get error(){return new S$(J.common.issues)},input:J.data})}});else return{status:"valid",value:Q.status==="valid"?Q.value:this._def.catchValue({get error(){return new S$(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}M6.create=($,X)=>{return new M6({innerType:$,typeName:y.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...h(X)})};class v2 extends l{_parse($){if(this._getType($)!==_.nan){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.nan,received:J.parsedType}),k}return{status:"valid",value:$.data}}}v2.create=($)=>{return new v2({typeName:y.ZodNaN,...h($)})};var sD=Symbol("zod_brand");class A5 extends l{_parse($){let{ctx:X}=this._processInputParams($),J=X.data;return this._def.type._parse({data:J,path:X.path,parent:X})}unwrap(){return this._def.type}}class h2 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.common.async)return(async()=>{let q=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(q.status==="aborted")return k;if(q.status==="dirty")return X.dirty(),z8(q.value);else return this._def.out._parseAsync({data:q.value,path:J.path,parent:J})})();else{let Q=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(Q.status==="aborted")return k;if(Q.status==="dirty")return X.dirty(),{status:"dirty",value:Q.value};else return this._def.out._parseSync({data:Q.value,path:J.path,parent:J})}}static create($,X){return new h2({in:$,out:X,typeName:y.ZodPipeline})}}class N6 extends l{_parse($){let X=this._def.innerType._parse($),J=(Q)=>{if(v0(Q))Q.value=Object.freeze(Q.value);return Q};return J6(X)?X.then((Q)=>J(Q)):J(X)}unwrap(){return this._def.innerType}}N6.create=($,X)=>{return new N6({innerType:$,typeName:y.ZodReadonly,...h(X)})};function yY($,X){let J=typeof $==="function"?$(X):typeof $==="string"?{message:$}:$;return typeof J==="string"?{message:J}:J}function mY($,X={},J){if($)return W8.create().superRefine((Q,q)=>{let Y=$(Q);if(Y instanceof Promise)return Y.then((z)=>{if(!z){let G=yY(X,Q),W=G.fatal??J??!0;q.addIssue({code:"custom",...G,fatal:W})}});if(!Y){let z=yY(X,Q),G=z.fatal??J??!0;q.addIssue({code:"custom",...z,fatal:G})}return});return W8.create()}var aD={object:z$.lazycreate},y;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(y||(y={}));var oD=($,X={message:`Input not instance of ${$.name}`})=>mY((J)=>J instanceof $,X),lY=c$.create,cY=u0.create,tD=v2.create,eD=m0.create,dY=Y6.create,$O=G8.create,XO=k2.create,JO=z6.create,QO=G6.create,qO=W8.create,YO=h0.create,zO=J0.create,GO=x2.create,WO=d$.create,HO=z$.create,UO=z$.strictCreate,VO=W6.create,BO=R5.create,KO=H6.create,MO=Q0.create,NO=y2.create,wO=g2.create,DO=H8.create,OO=q6.create,LO=U6.create,RO=V6.create,AO=l0.create,_O=B6.create,FO=U8.create,IO=n$.create,EO=p$.create,SO=w0.create,jO=n$.createWithPreprocess,TO=h2.create,ZO=()=>lY().optional(),CO=()=>cY().optional(),PO=()=>dY().optional(),bO={string:($)=>c$.create({...$,coerce:!0}),number:($)=>u0.create({...$,coerce:!0}),boolean:($)=>Y6.create({...$,coerce:!0}),bigint:($)=>m0.create({...$,coerce:!0}),date:($)=>G8.create({...$,coerce:!0})};var fO=k;var kO=R$.object({file:R$.string().optional().describe("Path to .faf file to score (defaults to project.faf)"),verbose:R$.boolean().optional().default(!1).describe("Show detailed slot breakdown"),status:R$.boolean().optional().default(!1).describe("Compact one-liner output"),json:R$.boolean().optional().default(!1).describe("Output as JSON")});class F9 extends Y8{name="faf_score";description="Score AI-readiness of .faf file (0-100%)";permission="plan";risk="safe";schema=kO;tags=["faf","ai-context","scoring","read-only"];async execute($,X){let J=Date.now();try{let Q="",q=null,Y=console.log,z=console.error;console.log=(...F)=>{Q+=F.join(" ")+`
|
|
377
|
+
`}}t();function ZY(){return new K8("claude-sync").description("Sync faf commands with Claude Code integration").option("--check","Check integration status only").option("--best-practices","Show Claude Code integration best practices").action(async($)=>{let X=new O9;if($.bestPractices){console.log(X.getBestPractices());return}if($.check){if(await X.checkIntegration())console.log(`${L("✓")} Claude Code integration is properly configured`);else console.log(`${L("◆")} Claude Code integration needs setup`),console.log(` Run ${C("faf claude-sync")} to configure`);return}console.log(`${L("◆")} Syncing with Claude Code...`);try{await X.syncSkills(),console.log(`${L("✓")} Skills synced to ~/.config/claude-code/skills/faf-commands/`),console.log(w(" Restart Claude Code to see updated slash commands"))}catch(J){console.error("Failed to sync:",J),process.exit(1)}})}t();import{spawn as DD}from"child_process";import{join as CY,dirname as OD}from"path";import{fileURLToPath as LD}from"url";function PY(){return new K8("bun-update").alias("update").description("Update Bun runtime and dependencies").action(async()=>{console.log(`${L("\uD83C\uDFCE️")} Running Bun update routine...`);let $=OD(LD(import.meta.url)),X=CY($,"../../scripts/bun-update.ts"),J=DD("bun",[X],{stdio:"inherit",cwd:CY($,"../..")});J.on("error",(Q)=>{console.error(`Failed to run update: ${Q.message}`),console.log(`
|
|
378
|
+
Try running: ${C("bun scripts/bun-update.ts")}`),process.exit(1)}),J.on("exit",(Q)=>{if(Q!==0)process.exit(Q||1)})})}t();import{existsSync as bY,cpSync as RD}from"fs";import{join as DX}from"path";import{homedir as AD}from"os";import{fileURLToPath as _D}from"url";import{dirname as FD}from"path";async function fY(){let $=FD(_D(import.meta.url)),X,J=[DX($,"../../../skills/faf"),DX($,"../../skills/faf"),DX($,"../skills/faf")];for(let q of J)if(bY(q)){X=q;break}if(!X){console.log(`${w(" Skills package not found in distribution")}`),console.log(`${w(" Checked:")} ${J.join(", ")}`),console.log(`${w(" Run")} ${C("faf claude-sync")} ${w("to generate skills from commands")}`);return}let Q=DX(AD(),".claude","skills","faf");if(console.log(`${L("◆")} Installing FAF skills for Claude Code...`),bY(Q)){console.log(`${L("!")} FAF skills already installed at ${w(Q)}`),console.log(" To reinstall, first remove the existing directory");return}try{RD(X,Q,{recursive:!0}),console.log(`${L("✓")} Installed FAF skills to ~/.claude/skills/faf/`),console.log(""),console.log("Available skills:"),console.log(` ${C("/faf-champion")} - Achieve 100% AI-readiness score`),console.log(` ${C("/faf-quickstart")} - Initialize FAF context in seconds`),console.log(` ${C("/faf-sync-master")} - Keep .faf and CLAUDE.md in sync`),console.log(""),console.log(w(" Restart Claude Code to see the new skills"))}catch(q){console.error("Failed to install skills:",q),process.exit(1)}}class L9{tools=new Map;register($){if(this.tools.has($.name))throw Error(`Tool '${$.name}' already registered`);this.tools.set($.name,$)}get($){return this.tools.get($)}list(){return Array.from(this.tools.values())}listByPermission($){return this.list().filter((X)=>X.permission===$)}listByRisk($){return this.list().filter((X)=>X.risk===$)}}class Y8{tags=["faf","ai-context"];validate($){let X=this.schema.safeParse($);if(!X.success)throw Error(`Invalid input for ${this.name}: ${X.error.message}`);return X.data}canExecute($){let X=["plan","standard","auto","bypass"],J=X.indexOf(this.permission);return X.indexOf($.permissionMode)>=J}}var R$={};EX(R$,{void:()=>GO,util:()=>d,unknown:()=>YO,union:()=>VO,undefined:()=>JO,tuple:()=>MO,transformer:()=>IO,symbol:()=>XO,string:()=>lY,strictObject:()=>UO,setErrorMap:()=>SD,set:()=>DO,record:()=>NO,quotelessJson:()=>ID,promise:()=>FO,preprocess:()=>jO,pipeline:()=>TO,ostring:()=>ZO,optional:()=>EO,onumber:()=>CO,oboolean:()=>PO,objectUtil:()=>R9,object:()=>HO,number:()=>cY,nullable:()=>SO,null:()=>QO,never:()=>zO,nativeEnum:()=>_O,nan:()=>tD,map:()=>wO,makeIssue:()=>f2,literal:()=>RO,lazy:()=>LO,late:()=>sD,isValid:()=>v0,isDirty:()=>LX,isAsync:()=>J6,isAborted:()=>OX,intersection:()=>KO,instanceof:()=>oD,getParsedType:()=>X0,getErrorMap:()=>X6,function:()=>OO,enum:()=>AO,effect:()=>IO,discriminatedUnion:()=>BO,defaultErrorMap:()=>M0,datetimeRegex:()=>hY,date:()=>$O,custom:()=>mY,coerce:()=>bO,boolean:()=>dY,bigint:()=>eD,array:()=>WO,any:()=>qO,addIssueToContext:()=>E,ZodVoid:()=>x2,ZodUnknown:()=>h0,ZodUnion:()=>W6,ZodUndefined:()=>z6,ZodType:()=>l,ZodTuple:()=>Q0,ZodTransformer:()=>n$,ZodSymbol:()=>k2,ZodString:()=>c$,ZodSet:()=>H8,ZodSchema:()=>l,ZodRecord:()=>y2,ZodReadonly:()=>N6,ZodPromise:()=>U8,ZodPipeline:()=>h2,ZodParsedType:()=>_,ZodOptional:()=>p$,ZodObject:()=>z$,ZodNumber:()=>u0,ZodNullable:()=>w0,ZodNull:()=>G6,ZodNever:()=>J0,ZodNativeEnum:()=>B6,ZodNaN:()=>v2,ZodMap:()=>g2,ZodLiteral:()=>V6,ZodLazy:()=>U6,ZodIssueCode:()=>O,ZodIntersection:()=>H6,ZodFunction:()=>q6,ZodFirstPartyTypeKind:()=>y,ZodError:()=>S$,ZodEnum:()=>l0,ZodEffects:()=>n$,ZodDiscriminatedUnion:()=>RX,ZodDefault:()=>K6,ZodDate:()=>G8,ZodCatch:()=>M6,ZodBranded:()=>AX,ZodBoolean:()=>Y6,ZodBigInt:()=>m0,ZodArray:()=>d$,ZodAny:()=>W8,Schema:()=>l,ParseStatus:()=>_$,OK:()=>F$,NEVER:()=>fO,INVALID:()=>k,EMPTY_PATH:()=>jD,DIRTY:()=>z8,BRAND:()=>aD});var d;(function($){$.assertEqual=(q)=>{};function X(q){}$.assertIs=X;function J(q){throw Error()}$.assertNever=J,$.arrayToEnum=(q)=>{let Y={};for(let z of q)Y[z]=z;return Y},$.getValidEnumValues=(q)=>{let Y=$.objectKeys(q).filter((G)=>typeof q[q[G]]!=="number"),z={};for(let G of Y)z[G]=q[G];return $.objectValues(z)},$.objectValues=(q)=>{return $.objectKeys(q).map(function(Y){return q[Y]})},$.objectKeys=typeof Object.keys==="function"?(q)=>Object.keys(q):(q)=>{let Y=[];for(let z in q)if(Object.prototype.hasOwnProperty.call(q,z))Y.push(z);return Y},$.find=(q,Y)=>{for(let z of q)if(Y(z))return z;return},$.isInteger=typeof Number.isInteger==="function"?(q)=>Number.isInteger(q):(q)=>typeof q==="number"&&Number.isFinite(q)&&Math.floor(q)===q;function Q(q,Y=" | "){return q.map((z)=>typeof z==="string"?`'${z}'`:z).join(Y)}$.joinValues=Q,$.jsonStringifyReplacer=(q,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(d||(d={}));var R9;(function($){$.mergeShapes=(X,J)=>{return{...X,...J}}})(R9||(R9={}));var _=d.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),X0=($)=>{switch(typeof $){case"undefined":return _.undefined;case"string":return _.string;case"number":return Number.isNaN($)?_.nan:_.number;case"boolean":return _.boolean;case"function":return _.function;case"bigint":return _.bigint;case"symbol":return _.symbol;case"object":if(Array.isArray($))return _.array;if($===null)return _.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return _.promise;if(typeof Map<"u"&&$ instanceof Map)return _.map;if(typeof Set<"u"&&$ instanceof Set)return _.set;if(typeof Date<"u"&&$ instanceof Date)return _.date;return _.object;default:return _.unknown}};var O=d.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ID=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class S$ extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=$}format($){let X=$||function(q){return q.message},J={_errors:[]},Q=(q)=>{for(let Y of q.issues)if(Y.code==="invalid_union")Y.unionErrors.map(Q);else if(Y.code==="invalid_return_type")Q(Y.returnTypeError);else if(Y.code==="invalid_arguments")Q(Y.argumentsError);else if(Y.path.length===0)J._errors.push(X(Y));else{let z=J,G=0;while(G<Y.path.length){let W=Y.path[G];if(G!==Y.path.length-1)z[W]=z[W]||{_errors:[]};else z[W]=z[W]||{_errors:[]},z[W]._errors.push(X(Y));z=z[W],G++}}};return Q(this),J}static assert($){if(!($ instanceof S$))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,d.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(X)=>X.message){let X={},J=[];for(let Q of this.issues)if(Q.path.length>0){let q=Q.path[0];X[q]=X[q]||[],X[q].push($(Q))}else J.push($(Q));return{formErrors:J,fieldErrors:X}}get formErrors(){return this.flatten()}}S$.create=($)=>{return new S$($)};var ED=($,X)=>{let J;switch($.code){case O.invalid_type:if($.received===_.undefined)J="Required";else J=`Expected ${$.expected}, received ${$.received}`;break;case O.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify($.expected,d.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:J=`Unrecognized key(s) in object: ${d.joinValues($.keys,", ")}`;break;case O.invalid_union:J="Invalid input";break;case O.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${d.joinValues($.options)}`;break;case O.invalid_enum_value:J=`Invalid enum value. Expected ${d.joinValues($.options)}, received '${$.received}'`;break;case O.invalid_arguments:J="Invalid function arguments";break;case O.invalid_return_type:J="Invalid function return type";break;case O.invalid_date:J="Invalid date";break;case O.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(J=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)J=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)J=`Invalid input: must end with "${$.validation.endsWith}"`;else d.assertNever($.validation);else if($.validation!=="regex")J=`Invalid ${$.validation}`;else J="Invalid";break;case O.too_small:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else J="Invalid input";break;case O.too_big:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")J=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else J="Invalid input";break;case O.custom:J="Invalid input";break;case O.invalid_intersection_types:J="Intersection results could not be merged";break;case O.not_multiple_of:J=`Number must be a multiple of ${$.multipleOf}`;break;case O.not_finite:J="Number must be finite";break;default:J=X.defaultError,d.assertNever($)}return{message:J}},M0=ED;var kY=M0;function SD($){kY=$}function X6(){return kY}var f2=($)=>{let{data:X,path:J,errorMaps:Q,issueData:q}=$,Y=[...J,...q.path||[]],z={...q,path:Y};if(q.message!==void 0)return{...q,path:Y,message:q.message};let G="",W=Q.filter((H)=>!!H).slice().reverse();for(let H of W)G=H(z,{data:X,defaultError:G}).message;return{...q,path:Y,message:G}},jD=[];function E($,X){let J=X6(),Q=f2({issueData:X,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J,J===M0?void 0:M0].filter((q)=>!!q)});$.common.issues.push(Q)}class _${constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,X){let J=[];for(let Q of X){if(Q.status==="aborted")return k;if(Q.status==="dirty")$.dirty();J.push(Q.value)}return{status:$.value,value:J}}static async mergeObjectAsync($,X){let J=[];for(let Q of X){let q=await Q.key,Y=await Q.value;J.push({key:q,value:Y})}return _$.mergeObjectSync($,J)}static mergeObjectSync($,X){let J={};for(let Q of X){let{key:q,value:Y}=Q;if(q.status==="aborted")return k;if(Y.status==="aborted")return k;if(q.status==="dirty")$.dirty();if(Y.status==="dirty")$.dirty();if(q.value!=="__proto__"&&(typeof Y.value<"u"||Q.alwaysSet))J[q.value]=Y.value}return{status:$.value,value:J}}}var k=Object.freeze({status:"aborted"}),z8=($)=>({status:"dirty",value:$}),F$=($)=>({status:"valid",value:$}),OX=($)=>$.status==="aborted",LX=($)=>$.status==="dirty",v0=($)=>$.status==="valid",J6=($)=>typeof Promise<"u"&&$ instanceof Promise;var Z;(function($){$.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},$.toString=(X)=>typeof X==="string"?X:X?.message})(Z||(Z={}));class i${constructor($,X,J,Q){this._cachedPath=[],this.parent=$,this.data=X,this._path=J,this._key=Q}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var xY=($,X)=>{if(v0(X))return{success:!0,data:X.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new S$($.common.issues);return this._error=J,this._error}}}};function m($){if(!$)return{};let{errorMap:X,invalid_type_error:J,required_error:Q,description:q}=$;if(X&&(J||Q))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:q};return{errorMap:(z,G)=>{let{message:W}=$;if(z.code==="invalid_enum_value")return{message:W??G.defaultError};if(typeof G.data>"u")return{message:W??Q??G.defaultError};if(z.code!=="invalid_type")return{message:G.defaultError};return{message:W??J??G.defaultError}},description:q}}class l{get description(){return this._def.description}_getType($){return X0($.data)}_getOrReturnCtx($,X){return X||{common:$.parent.common,data:$.data,parsedType:X0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new _$,ctx:{common:$.parent.common,data:$.data,parsedType:X0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let X=this._parse($);if(J6(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync($){let X=this._parse($);return Promise.resolve(X)}parse($,X){let J=this.safeParse($,X);if(J.success)return J.data;throw J.error}safeParse($,X){let J={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:X0($)},Q=this._parseSync({data:$,path:J.path,parent:J});return xY(J,Q)}"~validate"($){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:X0($)};if(!this["~standard"].async)try{let J=this._parseSync({data:$,path:[],parent:X});return v0(J)?{value:J.value}:{issues:X.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:X}).then((J)=>v0(J)?{value:J.value}:{issues:X.common.issues})}async parseAsync($,X){let J=await this.safeParseAsync($,X);if(J.success)return J.data;throw J.error}async safeParseAsync($,X){let J={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:X0($)},Q=this._parse({data:$,path:J.path,parent:J}),q=await(J6(Q)?Q:Promise.resolve(Q));return xY(J,q)}refine($,X){let J=(Q)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(Q);else return X};return this._refinement((Q,q)=>{let Y=$(Q),z=()=>q.addIssue({code:O.custom,...J(Q)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((G)=>{if(!G)return z(),!1;else return!0});if(!Y)return z(),!1;else return!0})}refinement($,X){return this._refinement((J,Q)=>{if(!$(J))return Q.addIssue(typeof X==="function"?X(J,Q):X),!1;else return!0})}_refinement($){return new n$({schema:this,typeName:y.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return p$.create(this,this._def)}nullable(){return w0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return d$.create(this)}promise(){return U8.create(this,this._def)}or($){return W6.create([this,$],this._def)}and($){return H6.create(this,$,this._def)}transform($){return new n$({...m(this._def),schema:this,typeName:y.ZodEffects,effect:{type:"transform",transform:$}})}default($){let X=typeof $==="function"?$:()=>$;return new K6({...m(this._def),innerType:this,defaultValue:X,typeName:y.ZodDefault})}brand(){return new AX({typeName:y.ZodBranded,type:this,...m(this._def)})}catch($){let X=typeof $==="function"?$:()=>$;return new M6({...m(this._def),innerType:this,catchValue:X,typeName:y.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return h2.create(this,$)}readonly(){return N6.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var TD=/^c[^\s-]{8,}$/i,ZD=/^[0-9a-z]+$/,CD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,PD=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,bD=/^[a-z0-9_-]{21}$/i,fD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,kD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,xD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,yD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",A9,gD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,vD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,hD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,uD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,gY="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",cD=new RegExp(`^${gY}$`);function vY($){let X="[0-5]\\d";if($.precision)X=`${X}\\.\\d{${$.precision}}`;else if($.precision==null)X=`${X}(\\.\\d+)?`;let J=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${J}`}function dD($){return new RegExp(`^${vY($)}$`)}function hY($){let X=`${gY}T${vY($)}`,J=[];if(J.push($.local?"Z?":"Z"),$.offset)J.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${J.join("|")})`,new RegExp(`^${X}$`)}function pD($,X){if((X==="v4"||!X)&&gD.test($))return!0;if((X==="v6"||!X)&&hD.test($))return!0;return!1}function iD($,X){if(!fD.test($))return!1;try{let[J]=$.split(".");if(!J)return!1;let Q=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),q=JSON.parse(atob(Q));if(typeof q!=="object"||q===null)return!1;if("typ"in q&&q?.typ!=="JWT")return!1;if(!q.alg)return!1;if(X&&q.alg!==X)return!1;return!0}catch{return!1}}function nD($,X){if((X==="v4"||!X)&&vD.test($))return!0;if((X==="v6"||!X)&&uD.test($))return!0;return!1}class c$ extends l{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==_.string){let q=this._getOrReturnCtx($);return E(q,{code:O.invalid_type,expected:_.string,received:q.parsedType}),k}let J=new _$,Q=void 0;for(let q of this._def.checks)if(q.kind==="min"){if($.data.length<q.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:O.too_small,minimum:q.value,type:"string",inclusive:!0,exact:!1,message:q.message}),J.dirty()}else if(q.kind==="max"){if($.data.length>q.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:O.too_big,maximum:q.value,type:"string",inclusive:!0,exact:!1,message:q.message}),J.dirty()}else if(q.kind==="length"){let Y=$.data.length>q.value,z=$.data.length<q.value;if(Y||z){if(Q=this._getOrReturnCtx($,Q),Y)E(Q,{code:O.too_big,maximum:q.value,type:"string",inclusive:!0,exact:!0,message:q.message});else if(z)E(Q,{code:O.too_small,minimum:q.value,type:"string",inclusive:!0,exact:!0,message:q.message});J.dirty()}}else if(q.kind==="email"){if(!xD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"email",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="emoji"){if(!A9)A9=new RegExp(yD,"u");if(!A9.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"emoji",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="uuid"){if(!PD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"uuid",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="nanoid"){if(!bD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"nanoid",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="cuid"){if(!TD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"cuid",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="cuid2"){if(!ZD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"cuid2",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="ulid"){if(!CD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"ulid",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="url")try{new URL($.data)}catch{Q=this._getOrReturnCtx($,Q),E(Q,{validation:"url",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="regex"){if(q.regex.lastIndex=0,!q.regex.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"regex",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="trim")$.data=$.data.trim();else if(q.kind==="includes"){if(!$.data.includes(q.value,q.position))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:{includes:q.value,position:q.position},message:q.message}),J.dirty()}else if(q.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(q.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(q.kind==="startsWith"){if(!$.data.startsWith(q.value))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:{startsWith:q.value},message:q.message}),J.dirty()}else if(q.kind==="endsWith"){if(!$.data.endsWith(q.value))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:{endsWith:q.value},message:q.message}),J.dirty()}else if(q.kind==="datetime"){if(!hY(q).test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:"datetime",message:q.message}),J.dirty()}else if(q.kind==="date"){if(!cD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:"date",message:q.message}),J.dirty()}else if(q.kind==="time"){if(!dD(q).test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{code:O.invalid_string,validation:"time",message:q.message}),J.dirty()}else if(q.kind==="duration"){if(!kD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"duration",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="ip"){if(!pD($.data,q.version))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"ip",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="jwt"){if(!iD($.data,q.alg))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"jwt",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="cidr"){if(!nD($.data,q.version))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"cidr",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="base64"){if(!mD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"base64",code:O.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="base64url"){if(!lD.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"base64url",code:O.invalid_string,message:q.message}),J.dirty()}else d.assertNever(q);return{status:J.value,value:$.data}}_regex($,X,J){return this.refinement((Q)=>$.test(Q),{validation:X,code:O.invalid_string,...Z.errToObj(J)})}_addCheck($){return new c$({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...Z.errToObj($)})}url($){return this._addCheck({kind:"url",...Z.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...Z.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...Z.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...Z.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...Z.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...Z.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...Z.errToObj($)})}base64($){return this._addCheck({kind:"base64",...Z.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...Z.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...Z.errToObj($)})}ip($){return this._addCheck({kind:"ip",...Z.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...Z.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...Z.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...Z.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...Z.errToObj($)})}regex($,X){return this._addCheck({kind:"regex",regex:$,...Z.errToObj(X)})}includes($,X){return this._addCheck({kind:"includes",value:$,position:X?.position,...Z.errToObj(X?.message)})}startsWith($,X){return this._addCheck({kind:"startsWith",value:$,...Z.errToObj(X)})}endsWith($,X){return this._addCheck({kind:"endsWith",value:$,...Z.errToObj(X)})}min($,X){return this._addCheck({kind:"min",value:$,...Z.errToObj(X)})}max($,X){return this._addCheck({kind:"max",value:$,...Z.errToObj(X)})}length($,X){return this._addCheck({kind:"length",value:$,...Z.errToObj(X)})}nonempty($){return this.min(1,Z.errToObj($))}trim(){return new c$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new c$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new c$({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxLength(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}}c$.create=($)=>{return new c$({checks:[],typeName:y.ZodString,coerce:$?.coerce??!1,...m($)})};function rD($,X){let J=($.toString().split(".")[1]||"").length,Q=(X.toString().split(".")[1]||"").length,q=J>Q?J:Q,Y=Number.parseInt($.toFixed(q).replace(".","")),z=Number.parseInt(X.toFixed(q).replace(".",""));return Y%z/10**q}class u0 extends l{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==_.number){let q=this._getOrReturnCtx($);return E(q,{code:O.invalid_type,expected:_.number,received:q.parsedType}),k}let J=void 0,Q=new _$;for(let q of this._def.checks)if(q.kind==="int"){if(!d.isInteger($.data))J=this._getOrReturnCtx($,J),E(J,{code:O.invalid_type,expected:"integer",received:"float",message:q.message}),Q.dirty()}else if(q.kind==="min"){if(q.inclusive?$.data<q.value:$.data<=q.value)J=this._getOrReturnCtx($,J),E(J,{code:O.too_small,minimum:q.value,type:"number",inclusive:q.inclusive,exact:!1,message:q.message}),Q.dirty()}else if(q.kind==="max"){if(q.inclusive?$.data>q.value:$.data>=q.value)J=this._getOrReturnCtx($,J),E(J,{code:O.too_big,maximum:q.value,type:"number",inclusive:q.inclusive,exact:!1,message:q.message}),Q.dirty()}else if(q.kind==="multipleOf"){if(rD($.data,q.value)!==0)J=this._getOrReturnCtx($,J),E(J,{code:O.not_multiple_of,multipleOf:q.value,message:q.message}),Q.dirty()}else if(q.kind==="finite"){if(!Number.isFinite($.data))J=this._getOrReturnCtx($,J),E(J,{code:O.not_finite,message:q.message}),Q.dirty()}else d.assertNever(q);return{status:Q.value,value:$.data}}gte($,X){return this.setLimit("min",$,!0,Z.toString(X))}gt($,X){return this.setLimit("min",$,!1,Z.toString(X))}lte($,X){return this.setLimit("max",$,!0,Z.toString(X))}lt($,X){return this.setLimit("max",$,!1,Z.toString(X))}setLimit($,X,J,Q){return new u0({...this._def,checks:[...this._def.checks,{kind:$,value:X,inclusive:J,message:Z.toString(Q)}]})}_addCheck($){return new u0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:Z.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:Z.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:Z.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:Z.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:Z.toString($)})}multipleOf($,X){return this._addCheck({kind:"multipleOf",value:$,message:Z.toString(X)})}finite($){return this._addCheck({kind:"finite",message:Z.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:Z.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:Z.toString($)})}get minValue(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxValue(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&d.isInteger($.value))}get isFinite(){let $=null,X=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if(X===null||J.value>X)X=J.value}else if(J.kind==="max"){if($===null||J.value<$)$=J.value}return Number.isFinite(X)&&Number.isFinite($)}}u0.create=($)=>{return new u0({checks:[],typeName:y.ZodNumber,coerce:$?.coerce||!1,...m($)})};class m0 extends l{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==_.bigint)return this._getInvalidInput($);let J=void 0,Q=new _$;for(let q of this._def.checks)if(q.kind==="min"){if(q.inclusive?$.data<q.value:$.data<=q.value)J=this._getOrReturnCtx($,J),E(J,{code:O.too_small,type:"bigint",minimum:q.value,inclusive:q.inclusive,message:q.message}),Q.dirty()}else if(q.kind==="max"){if(q.inclusive?$.data>q.value:$.data>=q.value)J=this._getOrReturnCtx($,J),E(J,{code:O.too_big,type:"bigint",maximum:q.value,inclusive:q.inclusive,message:q.message}),Q.dirty()}else if(q.kind==="multipleOf"){if($.data%q.value!==BigInt(0))J=this._getOrReturnCtx($,J),E(J,{code:O.not_multiple_of,multipleOf:q.value,message:q.message}),Q.dirty()}else d.assertNever(q);return{status:Q.value,value:$.data}}_getInvalidInput($){let X=this._getOrReturnCtx($);return E(X,{code:O.invalid_type,expected:_.bigint,received:X.parsedType}),k}gte($,X){return this.setLimit("min",$,!0,Z.toString(X))}gt($,X){return this.setLimit("min",$,!1,Z.toString(X))}lte($,X){return this.setLimit("max",$,!0,Z.toString(X))}lt($,X){return this.setLimit("max",$,!1,Z.toString(X))}setLimit($,X,J,Q){return new m0({...this._def,checks:[...this._def.checks,{kind:$,value:X,inclusive:J,message:Z.toString(Q)}]})}_addCheck($){return new m0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:Z.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:Z.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:Z.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:Z.toString($)})}multipleOf($,X){return this._addCheck({kind:"multipleOf",value:$,message:Z.toString(X)})}get minValue(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxValue(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}}m0.create=($)=>{return new m0({checks:[],typeName:y.ZodBigInt,coerce:$?.coerce??!1,...m($)})};class Y6 extends l{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==_.boolean){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.boolean,received:J.parsedType}),k}return F$($.data)}}Y6.create=($)=>{return new Y6({typeName:y.ZodBoolean,coerce:$?.coerce||!1,...m($)})};class G8 extends l{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==_.date){let q=this._getOrReturnCtx($);return E(q,{code:O.invalid_type,expected:_.date,received:q.parsedType}),k}if(Number.isNaN($.data.getTime())){let q=this._getOrReturnCtx($);return E(q,{code:O.invalid_date}),k}let J=new _$,Q=void 0;for(let q of this._def.checks)if(q.kind==="min"){if($.data.getTime()<q.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:O.too_small,message:q.message,inclusive:!0,exact:!1,minimum:q.value,type:"date"}),J.dirty()}else if(q.kind==="max"){if($.data.getTime()>q.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:O.too_big,message:q.message,inclusive:!0,exact:!1,maximum:q.value,type:"date"}),J.dirty()}else d.assertNever(q);return{status:J.value,value:new Date($.data.getTime())}}_addCheck($){return new G8({...this._def,checks:[...this._def.checks,$]})}min($,X){return this._addCheck({kind:"min",value:$.getTime(),message:Z.toString(X)})}max($,X){return this._addCheck({kind:"max",value:$.getTime(),message:Z.toString(X)})}get minDate(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $!=null?new Date($):null}}G8.create=($)=>{return new G8({checks:[],coerce:$?.coerce||!1,typeName:y.ZodDate,...m($)})};class k2 extends l{_parse($){if(this._getType($)!==_.symbol){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.symbol,received:J.parsedType}),k}return F$($.data)}}k2.create=($)=>{return new k2({typeName:y.ZodSymbol,...m($)})};class z6 extends l{_parse($){if(this._getType($)!==_.undefined){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.undefined,received:J.parsedType}),k}return F$($.data)}}z6.create=($)=>{return new z6({typeName:y.ZodUndefined,...m($)})};class G6 extends l{_parse($){if(this._getType($)!==_.null){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.null,received:J.parsedType}),k}return F$($.data)}}G6.create=($)=>{return new G6({typeName:y.ZodNull,...m($)})};class W8 extends l{constructor(){super(...arguments);this._any=!0}_parse($){return F$($.data)}}W8.create=($)=>{return new W8({typeName:y.ZodAny,...m($)})};class h0 extends l{constructor(){super(...arguments);this._unknown=!0}_parse($){return F$($.data)}}h0.create=($)=>{return new h0({typeName:y.ZodUnknown,...m($)})};class J0 extends l{_parse($){let X=this._getOrReturnCtx($);return E(X,{code:O.invalid_type,expected:_.never,received:X.parsedType}),k}}J0.create=($)=>{return new J0({typeName:y.ZodNever,...m($)})};class x2 extends l{_parse($){if(this._getType($)!==_.undefined){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.void,received:J.parsedType}),k}return F$($.data)}}x2.create=($)=>{return new x2({typeName:y.ZodVoid,...m($)})};class d$ extends l{_parse($){let{ctx:X,status:J}=this._processInputParams($),Q=this._def;if(X.parsedType!==_.array)return E(X,{code:O.invalid_type,expected:_.array,received:X.parsedType}),k;if(Q.exactLength!==null){let Y=X.data.length>Q.exactLength.value,z=X.data.length<Q.exactLength.value;if(Y||z)E(X,{code:Y?O.too_big:O.too_small,minimum:z?Q.exactLength.value:void 0,maximum:Y?Q.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Q.exactLength.message}),J.dirty()}if(Q.minLength!==null){if(X.data.length<Q.minLength.value)E(X,{code:O.too_small,minimum:Q.minLength.value,type:"array",inclusive:!0,exact:!1,message:Q.minLength.message}),J.dirty()}if(Q.maxLength!==null){if(X.data.length>Q.maxLength.value)E(X,{code:O.too_big,maximum:Q.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Q.maxLength.message}),J.dirty()}if(X.common.async)return Promise.all([...X.data].map((Y,z)=>{return Q.type._parseAsync(new i$(X,Y,X.path,z))})).then((Y)=>{return _$.mergeArray(J,Y)});let q=[...X.data].map((Y,z)=>{return Q.type._parseSync(new i$(X,Y,X.path,z))});return _$.mergeArray(J,q)}get element(){return this._def.type}min($,X){return new d$({...this._def,minLength:{value:$,message:Z.toString(X)}})}max($,X){return new d$({...this._def,maxLength:{value:$,message:Z.toString(X)}})}length($,X){return new d$({...this._def,exactLength:{value:$,message:Z.toString(X)}})}nonempty($){return this.min(1,$)}}d$.create=($,X)=>{return new d$({type:$,minLength:null,maxLength:null,exactLength:null,typeName:y.ZodArray,...m(X)})};function Q6($){if($ instanceof z$){let X={};for(let J in $.shape){let Q=$.shape[J];X[J]=p$.create(Q6(Q))}return new z$({...$._def,shape:()=>X})}else if($ instanceof d$)return new d$({...$._def,type:Q6($.element)});else if($ instanceof p$)return p$.create(Q6($.unwrap()));else if($ instanceof w0)return w0.create(Q6($.unwrap()));else if($ instanceof Q0)return Q0.create($.items.map((X)=>Q6(X)));else return $}class z$ extends l{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),X=d.objectKeys($);return this._cached={shape:$,keys:X},this._cached}_parse($){if(this._getType($)!==_.object){let W=this._getOrReturnCtx($);return E(W,{code:O.invalid_type,expected:_.object,received:W.parsedType}),k}let{status:J,ctx:Q}=this._processInputParams($),{shape:q,keys:Y}=this._getCached(),z=[];if(!(this._def.catchall instanceof J0&&this._def.unknownKeys==="strip")){for(let W in Q.data)if(!Y.includes(W))z.push(W)}let G=[];for(let W of Y){let H=q[W],U=Q.data[W];G.push({key:{status:"valid",value:W},value:H._parse(new i$(Q,U,Q.path,W)),alwaysSet:W in Q.data})}if(this._def.catchall instanceof J0){let W=this._def.unknownKeys;if(W==="passthrough")for(let H of z)G.push({key:{status:"valid",value:H},value:{status:"valid",value:Q.data[H]}});else if(W==="strict"){if(z.length>0)E(Q,{code:O.unrecognized_keys,keys:z}),J.dirty()}else if(W==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let W=this._def.catchall;for(let H of z){let U=Q.data[H];G.push({key:{status:"valid",value:H},value:W._parse(new i$(Q,U,Q.path,H)),alwaysSet:H in Q.data})}}if(Q.common.async)return Promise.resolve().then(async()=>{let W=[];for(let H of G){let U=await H.key,V=await H.value;W.push({key:U,value:V,alwaysSet:H.alwaysSet})}return W}).then((W)=>{return _$.mergeObjectSync(J,W)});else return _$.mergeObjectSync(J,G)}get shape(){return this._def.shape()}strict($){return Z.errToObj,new z$({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(X,J)=>{let Q=this._def.errorMap?.(X,J).message??J.defaultError;if(X.code==="unrecognized_keys")return{message:Z.errToObj($).message??Q};return{message:Q}}}:{}})}strip(){return new z$({...this._def,unknownKeys:"strip"})}passthrough(){return new z$({...this._def,unknownKeys:"passthrough"})}extend($){return new z$({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new z$({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:y.ZodObject})}setKey($,X){return this.augment({[$]:X})}catchall($){return new z$({...this._def,catchall:$})}pick($){let X={};for(let J of d.objectKeys($))if($[J]&&this.shape[J])X[J]=this.shape[J];return new z$({...this._def,shape:()=>X})}omit($){let X={};for(let J of d.objectKeys(this.shape))if(!$[J])X[J]=this.shape[J];return new z$({...this._def,shape:()=>X})}deepPartial(){return Q6(this)}partial($){let X={};for(let J of d.objectKeys(this.shape)){let Q=this.shape[J];if($&&!$[J])X[J]=Q;else X[J]=Q.optional()}return new z$({...this._def,shape:()=>X})}required($){let X={};for(let J of d.objectKeys(this.shape))if($&&!$[J])X[J]=this.shape[J];else{let q=this.shape[J];while(q instanceof p$)q=q._def.innerType;X[J]=q}return new z$({...this._def,shape:()=>X})}keyof(){return uY(d.objectKeys(this.shape))}}z$.create=($,X)=>{return new z$({shape:()=>$,unknownKeys:"strip",catchall:J0.create(),typeName:y.ZodObject,...m(X)})};z$.strictCreate=($,X)=>{return new z$({shape:()=>$,unknownKeys:"strict",catchall:J0.create(),typeName:y.ZodObject,...m(X)})};z$.lazycreate=($,X)=>{return new z$({shape:$,unknownKeys:"strip",catchall:J0.create(),typeName:y.ZodObject,...m(X)})};class W6 extends l{_parse($){let{ctx:X}=this._processInputParams($),J=this._def.options;function Q(q){for(let z of q)if(z.result.status==="valid")return z.result;for(let z of q)if(z.result.status==="dirty")return X.common.issues.push(...z.ctx.common.issues),z.result;let Y=q.map((z)=>new S$(z.ctx.common.issues));return E(X,{code:O.invalid_union,unionErrors:Y}),k}if(X.common.async)return Promise.all(J.map(async(q)=>{let Y={...X,common:{...X.common,issues:[]},parent:null};return{result:await q._parseAsync({data:X.data,path:X.path,parent:Y}),ctx:Y}})).then(Q);else{let q=void 0,Y=[];for(let G of J){let W={...X,common:{...X.common,issues:[]},parent:null},H=G._parseSync({data:X.data,path:X.path,parent:W});if(H.status==="valid")return H;else if(H.status==="dirty"&&!q)q={result:H,ctx:W};if(W.common.issues.length)Y.push(W.common.issues)}if(q)return X.common.issues.push(...q.ctx.common.issues),q.result;let z=Y.map((G)=>new S$(G));return E(X,{code:O.invalid_union,unionErrors:z}),k}}get options(){return this._def.options}}W6.create=($,X)=>{return new W6({options:$,typeName:y.ZodUnion,...m(X)})};var N0=($)=>{if($ instanceof U6)return N0($.schema);else if($ instanceof n$)return N0($.innerType());else if($ instanceof V6)return[$.value];else if($ instanceof l0)return $.options;else if($ instanceof B6)return d.objectValues($.enum);else if($ instanceof K6)return N0($._def.innerType);else if($ instanceof z6)return[void 0];else if($ instanceof G6)return[null];else if($ instanceof p$)return[void 0,...N0($.unwrap())];else if($ instanceof w0)return[null,...N0($.unwrap())];else if($ instanceof AX)return N0($.unwrap());else if($ instanceof N6)return N0($.unwrap());else if($ instanceof M6)return N0($._def.innerType);else return[]};class RX extends l{_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==_.object)return E(X,{code:O.invalid_type,expected:_.object,received:X.parsedType}),k;let J=this.discriminator,Q=X.data[J],q=this.optionsMap.get(Q);if(!q)return E(X,{code:O.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),k;if(X.common.async)return q._parseAsync({data:X.data,path:X.path,parent:X});else return q._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,X,J){let Q=new Map;for(let q of X){let Y=N0(q.shape[$]);if(!Y.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let z of Y){if(Q.has(z))throw Error(`Discriminator property ${String($)} has duplicate value ${String(z)}`);Q.set(z,q)}}return new RX({typeName:y.ZodDiscriminatedUnion,discriminator:$,options:X,optionsMap:Q,...m(J)})}}function _9($,X){let J=X0($),Q=X0(X);if($===X)return{valid:!0,data:$};else if(J===_.object&&Q===_.object){let q=d.objectKeys(X),Y=d.objectKeys($).filter((G)=>q.indexOf(G)!==-1),z={...$,...X};for(let G of Y){let W=_9($[G],X[G]);if(!W.valid)return{valid:!1};z[G]=W.data}return{valid:!0,data:z}}else if(J===_.array&&Q===_.array){if($.length!==X.length)return{valid:!1};let q=[];for(let Y=0;Y<$.length;Y++){let z=$[Y],G=X[Y],W=_9(z,G);if(!W.valid)return{valid:!1};q.push(W.data)}return{valid:!0,data:q}}else if(J===_.date&&Q===_.date&&+$===+X)return{valid:!0,data:$};else return{valid:!1}}class H6 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($),Q=(q,Y)=>{if(OX(q)||OX(Y))return k;let z=_9(q.value,Y.value);if(!z.valid)return E(J,{code:O.invalid_intersection_types}),k;if(LX(q)||LX(Y))X.dirty();return{status:X.value,value:z.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([q,Y])=>Q(q,Y));else return Q(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}H6.create=($,X,J)=>{return new H6({left:$,right:X,typeName:y.ZodIntersection,...m(J)})};class Q0 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.array)return E(J,{code:O.invalid_type,expected:_.array,received:J.parsedType}),k;if(J.data.length<this._def.items.length)return E(J,{code:O.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),k;if(!this._def.rest&&J.data.length>this._def.items.length)E(J,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let q=[...J.data].map((Y,z)=>{let G=this._def.items[z]||this._def.rest;if(!G)return null;return G._parse(new i$(J,Y,J.path,z))}).filter((Y)=>!!Y);if(J.common.async)return Promise.all(q).then((Y)=>{return _$.mergeArray(X,Y)});else return _$.mergeArray(X,q)}get items(){return this._def.items}rest($){return new Q0({...this._def,rest:$})}}Q0.create=($,X)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Q0({items:$,typeName:y.ZodTuple,rest:null,...m(X)})};class y2 extends l{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.object)return E(J,{code:O.invalid_type,expected:_.object,received:J.parsedType}),k;let Q=[],q=this._def.keyType,Y=this._def.valueType;for(let z in J.data)Q.push({key:q._parse(new i$(J,z,J.path,z)),value:Y._parse(new i$(J,J.data[z],J.path,z)),alwaysSet:z in J.data});if(J.common.async)return _$.mergeObjectAsync(X,Q);else return _$.mergeObjectSync(X,Q)}get element(){return this._def.valueType}static create($,X,J){if(X instanceof l)return new y2({keyType:$,valueType:X,typeName:y.ZodRecord,...m(J)});return new y2({keyType:c$.create(),valueType:$,typeName:y.ZodRecord,...m(X)})}}class g2 extends l{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.map)return E(J,{code:O.invalid_type,expected:_.map,received:J.parsedType}),k;let Q=this._def.keyType,q=this._def.valueType,Y=[...J.data.entries()].map(([z,G],W)=>{return{key:Q._parse(new i$(J,z,J.path,[W,"key"])),value:q._parse(new i$(J,G,J.path,[W,"value"]))}});if(J.common.async){let z=new Map;return Promise.resolve().then(async()=>{for(let G of Y){let W=await G.key,H=await G.value;if(W.status==="aborted"||H.status==="aborted")return k;if(W.status==="dirty"||H.status==="dirty")X.dirty();z.set(W.value,H.value)}return{status:X.value,value:z}})}else{let z=new Map;for(let G of Y){let{key:W,value:H}=G;if(W.status==="aborted"||H.status==="aborted")return k;if(W.status==="dirty"||H.status==="dirty")X.dirty();z.set(W.value,H.value)}return{status:X.value,value:z}}}}g2.create=($,X,J)=>{return new g2({valueType:X,keyType:$,typeName:y.ZodMap,...m(J)})};class H8 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.set)return E(J,{code:O.invalid_type,expected:_.set,received:J.parsedType}),k;let Q=this._def;if(Q.minSize!==null){if(J.data.size<Q.minSize.value)E(J,{code:O.too_small,minimum:Q.minSize.value,type:"set",inclusive:!0,exact:!1,message:Q.minSize.message}),X.dirty()}if(Q.maxSize!==null){if(J.data.size>Q.maxSize.value)E(J,{code:O.too_big,maximum:Q.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Q.maxSize.message}),X.dirty()}let q=this._def.valueType;function Y(G){let W=new Set;for(let H of G){if(H.status==="aborted")return k;if(H.status==="dirty")X.dirty();W.add(H.value)}return{status:X.value,value:W}}let z=[...J.data.values()].map((G,W)=>q._parse(new i$(J,G,J.path,W)));if(J.common.async)return Promise.all(z).then((G)=>Y(G));else return Y(z)}min($,X){return new H8({...this._def,minSize:{value:$,message:Z.toString(X)}})}max($,X){return new H8({...this._def,maxSize:{value:$,message:Z.toString(X)}})}size($,X){return this.min($,X).max($,X)}nonempty($){return this.min(1,$)}}H8.create=($,X)=>{return new H8({valueType:$,minSize:null,maxSize:null,typeName:y.ZodSet,...m(X)})};class q6 extends l{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==_.function)return E(X,{code:O.invalid_type,expected:_.function,received:X.parsedType}),k;function J(z,G){return f2({data:z,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,X6(),M0].filter((W)=>!!W),issueData:{code:O.invalid_arguments,argumentsError:G}})}function Q(z,G){return f2({data:z,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,X6(),M0].filter((W)=>!!W),issueData:{code:O.invalid_return_type,returnTypeError:G}})}let q={errorMap:X.common.contextualErrorMap},Y=X.data;if(this._def.returns instanceof U8){let z=this;return F$(async function(...G){let W=new S$([]),H=await z._def.args.parseAsync(G,q).catch((B)=>{throw W.addIssue(J(G,B)),W}),U=await Reflect.apply(Y,this,H);return await z._def.returns._def.type.parseAsync(U,q).catch((B)=>{throw W.addIssue(Q(U,B)),W})})}else{let z=this;return F$(function(...G){let W=z._def.args.safeParse(G,q);if(!W.success)throw new S$([J(G,W.error)]);let H=Reflect.apply(Y,this,W.data),U=z._def.returns.safeParse(H,q);if(!U.success)throw new S$([Q(H,U.error)]);return U.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new q6({...this._def,args:Q0.create($).rest(h0.create())})}returns($){return new q6({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,X,J){return new q6({args:$?$:Q0.create([]).rest(h0.create()),returns:X||h0.create(),typeName:y.ZodFunction,...m(J)})}}class U6 extends l{get schema(){return this._def.getter()}_parse($){let{ctx:X}=this._processInputParams($);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}U6.create=($,X)=>{return new U6({getter:$,typeName:y.ZodLazy,...m(X)})};class V6 extends l{_parse($){if($.data!==this._def.value){let X=this._getOrReturnCtx($);return E(X,{received:X.data,code:O.invalid_literal,expected:this._def.value}),k}return{status:"valid",value:$.data}}get value(){return this._def.value}}V6.create=($,X)=>{return new V6({value:$,typeName:y.ZodLiteral,...m(X)})};function uY($,X){return new l0({values:$,typeName:y.ZodEnum,...m(X)})}class l0 extends l{_parse($){if(typeof $.data!=="string"){let X=this._getOrReturnCtx($),J=this._def.values;return E(X,{expected:d.joinValues(J),received:X.parsedType,code:O.invalid_type}),k}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let X=this._getOrReturnCtx($),J=this._def.values;return E(X,{received:X.data,code:O.invalid_enum_value,options:J}),k}return F$($.data)}get options(){return this._def.values}get enum(){let $={};for(let X of this._def.values)$[X]=X;return $}get Values(){let $={};for(let X of this._def.values)$[X]=X;return $}get Enum(){let $={};for(let X of this._def.values)$[X]=X;return $}extract($,X=this._def){return l0.create($,{...this._def,...X})}exclude($,X=this._def){return l0.create(this.options.filter((J)=>!$.includes(J)),{...this._def,...X})}}l0.create=uY;class B6 extends l{_parse($){let X=d.getValidEnumValues(this._def.values),J=this._getOrReturnCtx($);if(J.parsedType!==_.string&&J.parsedType!==_.number){let Q=d.objectValues(X);return E(J,{expected:d.joinValues(Q),received:J.parsedType,code:O.invalid_type}),k}if(!this._cache)this._cache=new Set(d.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let Q=d.objectValues(X);return E(J,{received:J.data,code:O.invalid_enum_value,options:Q}),k}return F$($.data)}get enum(){return this._def.values}}B6.create=($,X)=>{return new B6({values:$,typeName:y.ZodNativeEnum,...m(X)})};class U8 extends l{unwrap(){return this._def.type}_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==_.promise&&X.common.async===!1)return E(X,{code:O.invalid_type,expected:_.promise,received:X.parsedType}),k;let J=X.parsedType===_.promise?X.data:Promise.resolve(X.data);return F$(J.then((Q)=>{return this._def.type.parseAsync(Q,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}U8.create=($,X)=>{return new U8({type:$,typeName:y.ZodPromise,...m(X)})};class n$ extends l{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===y.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:X,ctx:J}=this._processInputParams($),Q=this._def.effect||null,q={addIssue:(Y)=>{if(E(J,Y),Y.fatal)X.abort();else X.dirty()},get path(){return J.path}};if(q.addIssue=q.addIssue.bind(q),Q.type==="preprocess"){let Y=Q.transform(J.data,q);if(J.common.async)return Promise.resolve(Y).then(async(z)=>{if(X.value==="aborted")return k;let G=await this._def.schema._parseAsync({data:z,path:J.path,parent:J});if(G.status==="aborted")return k;if(G.status==="dirty")return z8(G.value);if(X.value==="dirty")return z8(G.value);return G});else{if(X.value==="aborted")return k;let z=this._def.schema._parseSync({data:Y,path:J.path,parent:J});if(z.status==="aborted")return k;if(z.status==="dirty")return z8(z.value);if(X.value==="dirty")return z8(z.value);return z}}if(Q.type==="refinement"){let Y=(z)=>{let G=Q.refinement(z,q);if(J.common.async)return Promise.resolve(G);if(G instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return z};if(J.common.async===!1){let z=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(z.status==="aborted")return k;if(z.status==="dirty")X.dirty();return Y(z.value),{status:X.value,value:z.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((z)=>{if(z.status==="aborted")return k;if(z.status==="dirty")X.dirty();return Y(z.value).then(()=>{return{status:X.value,value:z.value}})})}if(Q.type==="transform")if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!v0(Y))return k;let z=Q.transform(Y.value,q);if(z instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:z}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(!v0(Y))return k;return Promise.resolve(Q.transform(Y.value,q)).then((z)=>({status:X.value,value:z}))});d.assertNever(Q)}}n$.create=($,X,J)=>{return new n$({schema:$,typeName:y.ZodEffects,effect:X,...m(J)})};n$.createWithPreprocess=($,X,J)=>{return new n$({schema:X,effect:{type:"preprocess",transform:$},typeName:y.ZodEffects,...m(J)})};class p$ extends l{_parse($){if(this._getType($)===_.undefined)return F$(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}p$.create=($,X)=>{return new p$({innerType:$,typeName:y.ZodOptional,...m(X)})};class w0 extends l{_parse($){if(this._getType($)===_.null)return F$(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}w0.create=($,X)=>{return new w0({innerType:$,typeName:y.ZodNullable,...m(X)})};class K6 extends l{_parse($){let{ctx:X}=this._processInputParams($),J=X.data;if(X.parsedType===_.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}K6.create=($,X)=>{return new K6({innerType:$,typeName:y.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...m(X)})};class M6 extends l{_parse($){let{ctx:X}=this._processInputParams($),J={...X,common:{...X.common,issues:[]}},Q=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(J6(Q))return Q.then((q)=>{return{status:"valid",value:q.status==="valid"?q.value:this._def.catchValue({get error(){return new S$(J.common.issues)},input:J.data})}});else return{status:"valid",value:Q.status==="valid"?Q.value:this._def.catchValue({get error(){return new S$(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}M6.create=($,X)=>{return new M6({innerType:$,typeName:y.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...m(X)})};class v2 extends l{_parse($){if(this._getType($)!==_.nan){let J=this._getOrReturnCtx($);return E(J,{code:O.invalid_type,expected:_.nan,received:J.parsedType}),k}return{status:"valid",value:$.data}}}v2.create=($)=>{return new v2({typeName:y.ZodNaN,...m($)})};var aD=Symbol("zod_brand");class AX extends l{_parse($){let{ctx:X}=this._processInputParams($),J=X.data;return this._def.type._parse({data:J,path:X.path,parent:X})}unwrap(){return this._def.type}}class h2 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.common.async)return(async()=>{let q=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(q.status==="aborted")return k;if(q.status==="dirty")return X.dirty(),z8(q.value);else return this._def.out._parseAsync({data:q.value,path:J.path,parent:J})})();else{let Q=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(Q.status==="aborted")return k;if(Q.status==="dirty")return X.dirty(),{status:"dirty",value:Q.value};else return this._def.out._parseSync({data:Q.value,path:J.path,parent:J})}}static create($,X){return new h2({in:$,out:X,typeName:y.ZodPipeline})}}class N6 extends l{_parse($){let X=this._def.innerType._parse($),J=(Q)=>{if(v0(Q))Q.value=Object.freeze(Q.value);return Q};return J6(X)?X.then((Q)=>J(Q)):J(X)}unwrap(){return this._def.innerType}}N6.create=($,X)=>{return new N6({innerType:$,typeName:y.ZodReadonly,...m(X)})};function yY($,X){let J=typeof $==="function"?$(X):typeof $==="string"?{message:$}:$;return typeof J==="string"?{message:J}:J}function mY($,X={},J){if($)return W8.create().superRefine((Q,q)=>{let Y=$(Q);if(Y instanceof Promise)return Y.then((z)=>{if(!z){let G=yY(X,Q),W=G.fatal??J??!0;q.addIssue({code:"custom",...G,fatal:W})}});if(!Y){let z=yY(X,Q),G=z.fatal??J??!0;q.addIssue({code:"custom",...z,fatal:G})}return});return W8.create()}var sD={object:z$.lazycreate},y;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(y||(y={}));var oD=($,X={message:`Input not instance of ${$.name}`})=>mY((J)=>J instanceof $,X),lY=c$.create,cY=u0.create,tD=v2.create,eD=m0.create,dY=Y6.create,$O=G8.create,XO=k2.create,JO=z6.create,QO=G6.create,qO=W8.create,YO=h0.create,zO=J0.create,GO=x2.create,WO=d$.create,HO=z$.create,UO=z$.strictCreate,VO=W6.create,BO=RX.create,KO=H6.create,MO=Q0.create,NO=y2.create,wO=g2.create,DO=H8.create,OO=q6.create,LO=U6.create,RO=V6.create,AO=l0.create,_O=B6.create,FO=U8.create,IO=n$.create,EO=p$.create,SO=w0.create,jO=n$.createWithPreprocess,TO=h2.create,ZO=()=>lY().optional(),CO=()=>cY().optional(),PO=()=>dY().optional(),bO={string:($)=>c$.create({...$,coerce:!0}),number:($)=>u0.create({...$,coerce:!0}),boolean:($)=>Y6.create({...$,coerce:!0}),bigint:($)=>m0.create({...$,coerce:!0}),date:($)=>G8.create({...$,coerce:!0})};var fO=k;var kO=R$.object({file:R$.string().optional().describe("Path to .faf file to score (defaults to project.faf)"),verbose:R$.boolean().optional().default(!1).describe("Show detailed slot breakdown"),status:R$.boolean().optional().default(!1).describe("Compact one-liner output"),json:R$.boolean().optional().default(!1).describe("Output as JSON")});class F9 extends Y8{name="faf_score";description="Score AI-readiness of .faf file (0-100%)";permission="plan";risk="safe";schema=kO;tags=["faf","ai-context","scoring","read-only"];async execute($,X){let J=Date.now();try{let Q="",q=null,Y=console.log,z=console.error;console.log=(...F)=>{Q+=F.join(" ")+`
|
|
379
379
|
`},console.error=(...F)=>{Q+=F.join(" ")+`
|
|
380
|
-
`};try{await d6($.file,{verbose:$.verbose,status:$.status,json:$.json})}finally{console.log=Y,console.error=z}let G=Q.match(/(\d+)%/),W=Q.match(/(RED|YELLOW|GREEN|SILVER|GOLD|TROPHY)/),H=Q.match(/(\d+)\/(\d+) slots/),U=G?parseInt(G[1]):0,
|
|
381
|
-
`);for(let T of F)if(T.includes("empty")&&T.includes("○")){let P=T.match(/([a-z_]+\.[a-z_]+)/);if(P)R.push(P[1])}}let D={score:U,tier:
|
|
382
|
-
`};try{await p6({yolo:$.yolo||$.quick,force:$.force,output:$.output})}finally{console.log=z}let G=Y.includes("created"),W=Y.includes("updated"),H=Y.match(/(\d+)%/),U={created:G||!q,file:Q,score:H?parseInt(H[1]):0,overwritten:q&&$.force};if(Y.includes("TypeScript"))U.detectedLanguage="TypeScript";else if(Y.includes("JavaScript"))U.detectedLanguage="JavaScript";else if(Y.includes("Python"))U.detectedLanguage="Python";if(X.telemetry)console.log(`[MCP] faf_init executed in ${Date.now()-J}ms`);return U}catch(Y){throw Error(`Failed to initialize FAF file: ${Y instanceof Error?Y.message:String(Y)}`)}}canExecute($){if(!super.canExecute($))return!1;let X=iY($.workingDirectory,"project.faf");if($.permissionMode==="plan"&&pY(X))return!1;return!0}}var yO=R$.object({watch:R$.boolean().optional().default(!1).describe("Watch for changes and sync continuously"),direction:R$.enum(["auto","push","pull"]).optional().default("auto").describe("Force sync direction")});class E9 extends Y8{name="faf_sync";description="Bi-directional sync between .faf and CLAUDE.md files";permission="auto";risk="low";schema=yO;tags=["faf","ai-context","synchronization","file-modification"];async execute($,X){let J=Date.now();if(X.dryRun)return{synced:!1,direction:"none",files:{faf:"project.faf",claude:"CLAUDE.md"},lastModified:{},changes:[],watchMode:!1};try{let Q="",q=console.log;console.log=(...
|
|
380
|
+
`};try{await d6($.file,{verbose:$.verbose,status:$.status,json:$.json})}finally{console.log=Y,console.error=z}let G=Q.match(/(\d+)%/),W=Q.match(/(RED|YELLOW|GREEN|SILVER|GOLD|TROPHY)/),H=Q.match(/(\d+)\/(\d+) slots/),U=G?parseInt(G[1]):0,V=W?W[1]:"UNKNOWN",B=H?parseInt(H[1]):0,N=H?parseInt(H[2]):0,R=[],M=[];if($.verbose&&Q.includes("empty")){let F=Q.split(`
|
|
381
|
+
`);for(let T of F)if(T.includes("empty")&&T.includes("○")){let P=T.match(/([a-z_]+\.[a-z_]+)/);if(P)R.push(P[1])}}let D={score:U,tier:V,populated:B,total:N,empty:R,ignored:M,file:$.file||"project.faf"};if($.json)D.raw=q;if(X.telemetry)console.log(`[MCP] faf_score executed in ${Date.now()-J}ms`);return D}catch(Q){throw Error(`Failed to score FAF file: ${Q instanceof Error?Q.message:String(Q)}`)}}canExecute($){return!0}}import{existsSync as pY}from"fs";import{join as iY}from"path";var xO=R$.object({yolo:R$.boolean().optional().default(!1).describe("Quick init with sensible defaults"),quick:R$.boolean().optional().default(!1).describe("Alias for --yolo"),force:R$.boolean().optional().default(!1).describe("Overwrite existing project.faf"),output:R$.string().optional().describe("Output path for generated .faf file")});class I9 extends Y8{name="faf_init";description="Initialize .faf file for current project";permission="standard";risk="low";schema=xO;tags=["faf","ai-context","initialization","file-creation"];async execute($,X){let J=Date.now(),Q=$.output||iY(X.workingDirectory,"project.faf"),q=pY(Q);if(q&&!$.force&&!X.dryRun)throw Error(`File ${Q} already exists. Use force: true to overwrite.`);if(X.dryRun)return{created:!1,file:Q,score:0,overwritten:!1};try{let Y="",z=console.log;console.log=(...V)=>{Y+=V.join(" ")+`
|
|
382
|
+
`};try{await p6({yolo:$.yolo||$.quick,force:$.force,output:$.output})}finally{console.log=z}let G=Y.includes("created"),W=Y.includes("updated"),H=Y.match(/(\d+)%/),U={created:G||!q,file:Q,score:H?parseInt(H[1]):0,overwritten:q&&$.force};if(Y.includes("TypeScript"))U.detectedLanguage="TypeScript";else if(Y.includes("JavaScript"))U.detectedLanguage="JavaScript";else if(Y.includes("Python"))U.detectedLanguage="Python";if(X.telemetry)console.log(`[MCP] faf_init executed in ${Date.now()-J}ms`);return U}catch(Y){throw Error(`Failed to initialize FAF file: ${Y instanceof Error?Y.message:String(Y)}`)}}canExecute($){if(!super.canExecute($))return!1;let X=iY($.workingDirectory,"project.faf");if($.permissionMode==="plan"&&pY(X))return!1;return!0}}var yO=R$.object({watch:R$.boolean().optional().default(!1).describe("Watch for changes and sync continuously"),direction:R$.enum(["auto","push","pull"]).optional().default("auto").describe("Force sync direction")});class E9 extends Y8{name="faf_sync";description="Bi-directional sync between .faf and CLAUDE.md files";permission="auto";risk="low";schema=yO;tags=["faf","ai-context","synchronization","file-modification"];async execute($,X){let J=Date.now();if(X.dryRun)return{synced:!1,direction:"none",files:{faf:"project.faf",claude:"CLAUDE.md"},lastModified:{},changes:[],watchMode:!1};try{let Q="",q=console.log;console.log=(...B)=>{Q+=B.join(" ")+`
|
|
383
383
|
`};try{await i6({watch:$.watch,direction:$.direction})}finally{console.log=q}let Y=Q.includes("→ CLAUDE.md"),z=Q.includes("← project.faf"),G=Q.includes("synced")||Q.includes("updated"),W="none";if(Y)W="push";else if(z)W="pull";let H=[],U=Q.split(`
|
|
384
|
-
`);for(let V of U)if(V.includes("updated")||V.includes("created")||V.includes("synced"))H.push(V.trim());let B={synced:G,direction:W,files:{faf:"project.faf",claude:"CLAUDE.md"},lastModified:{},changes:H,watchMode:$.watch};if(X.telemetry)console.log(`[MCP] faf_sync executed in ${Date.now()-J}ms`);return B}catch(Q){throw Error(`Failed to sync FAF files: ${Q instanceof Error?Q.message:String(Q)}`)}}canExecute($){if(!super.canExecute($))return!1;if($.permissionMode==="plan")return!1;return!0}}class S9{registry=new L9;config;constructor($){this.config=$,this.initializeTools()}initializeTools(){let $=[new F9,new I9,new E9];for(let X of $)this.registry.register(X)}async listTools(){return this.registry.list().map(($)=>({name:$.name,description:$.description,inputSchema:$.schema,permissions:[$.permission,$.risk],tags:$.tags}))}async callTool($,X){let J=this.registry.get($);if(!J)return{content:[{type:"text",text:`Tool '${$}' not found`}],isError:!0};try{let Q={workingDirectory:this.config.workingDirectory,userId:this.config.userId,sessionId:this.config.sessionId,permissionMode:this.config.permissionMode,dryRun:this.config.dryRun,telemetry:this.config.telemetryEnabled};if(!J.canExecute(Q))return{content:[{type:"text",text:`Tool '${$}' cannot execute with current permissions (${this.config.permissionMode})`}],isError:!0};let q=J.validate(X),Y=await J.execute(q,Q);return{content:[{type:"text",text:JSON.stringify(Y,null,2)}]}}catch(Q){return{content:[{type:"text",text:`Error executing tool '${$}': ${Q instanceof Error?Q.message:String(Q)}`}],isError:!0}}}getToolsByPermission($){return this.registry.listByPermission($)}async getInfo(){let $=this.registry.list(),X=[...new Set($.map((G)=>G.permission))],{readFileSync:J}=await import("fs"),{dirname:Q,join:q}=await import("path"),{fileURLToPath:Y}=await import("url"),z="unknown";try{z=JSON.parse(J(q(Q(Y(import.meta.url)),"../../package.json"),"utf-8")).version}catch{z="dev"}return{name:"claude-faf-mcp",version:z,description:"Foundational AI-Context Format tools for Claude Code",tools:$.length,permissions:X}}async requestPermissionElevation($,X){let J=this.registry.get($);if(!J)return!1;if(J.risk==="safe"&&X<="standard")return!0;return!1}}class j9{static classify($,X={}){if(this.isReadOnly($,X))return{permission:"plan",risk:"safe",reasons:["Read-only operation","No file modifications"],allowAutoApproval:!0,requiresConfirmation:!1};if(this.isSafeConfig($,X))return{permission:"auto",risk:"low",reasons:["Safe configuration change","Limited scope"],allowAutoApproval:!0,requiresConfirmation:!1};if(this.isFileOperation($,X)){let J=X.force||X.overwrite;return{permission:"standard",risk:J?"medium":"low",reasons:["File operation",J?"May overwrite existing files":"Creates new files"],allowAutoApproval:!1,requiresConfirmation:!0}}if(this.isHighRisk($,X))return{permission:"bypass",risk:"high",reasons:["High-risk operation","Requires manual approval"],allowAutoApproval:!1,requiresConfirmation:!0};return{permission:"standard",risk:"medium",reasons:["Unknown operation type","Requires confirmation"],allowAutoApproval:!1,requiresConfirmation:!0}}static isReadOnly($,X){if(["faf_score","faf_info","faf_formats","faf_check","faf_validate"].includes($))return!0;if(X.dryRun||X.validate||X.check)return!0;return!1}static isSafeConfig($,X){if(["faf_sync","faf_export","faf_convert"].includes($))return!0;return!1}static isFileOperation($,X){if(["faf_init","faf_auto","faf_edit","faf_migrate"].includes($))return!0;if(X.output||X.write||X.save)return!0;return!1}static isHighRisk($,X){if(["faf_compile","faf_execute","faf_deploy"].includes($))return!0;if(X.execute||X.deploy||X.publish)return!0;if(X.force&&(X.overwrite||X.delete))return!0;return!1}static getRequiredPermission($,X){let J=$.permission;if(X.hasExistingFiles&&J==="standard")J="auto";if(X.isProduction&&J<"standard")J="standard";return J}static shouldConfirm($,X){if($.requiresConfirmation)return!0;let J=["plan","standard","auto","bypass"],Q=J.indexOf(X),q=J.indexOf($.permission);return Q<q}}class nY{handlers=new Map;register($,X){if(!this.handlers.has($))this.handlers.set($,[]);this.handlers.get($).push(X)}async execute($,X){let J=this.handlers.get($)||[];for(let Q of J){let q=await Q(X);if(q.action==="deny"||q.action==="ask")return q;if(q.action==="defer")continue;if(q.modifiedInput)X.input=q.modifiedInput}return{action:"allow"}}}class u2{static preToolUse=async($)=>{let X=j9.classify($.toolName,$.input),J=["plan","standard","auto","bypass"],Q=J.indexOf(X.permission);if(!(J.indexOf($.context.permissionMode)>=Q))return{action:"deny",reason:`Insufficient permissions. Required: ${X.permission}, Current: ${$.context.permissionMode}`};if(X.risk==="high"&&!$.context.dryRun)return{action:"ask",reason:`High-risk operation detected: ${X.reasons.join(", ")}`};if($.input.force&&$.toolName==="faf_init")return{action:"ask",reason:"This will overwrite existing project.faf file"};return{action:"allow"}};static postEdit=async($)=>{let X=[".ts",".js",".py",".md",".json",".yaml",".toml"],J=$.metadata?.fileName||"";if(!X.some((q)=>J.endsWith(q)))return{action:"allow"};if(J!=="project.faf"&&J!=="CLAUDE.md")try{return{action:"allow",additionalContext:"Triggered auto-sync of project context due to file changes"}}catch(q){return{action:"allow",reason:"Auto-sync failed but continuing"}}return{action:"allow"}};static sessionStart=async($)=>{let X=$.metadata?.hasProjectFaf||!1,J=$.metadata?.hasClaude||!1;if(!X&&!J)return{action:"allow",additionalContext:"No FAF context detected. Run /faf-quickstart to initialize AI-ready project context."};if(X&&J)return{action:"allow",additionalContext:"FAF bi-sync active. Context automatically synchronized between .faf and CLAUDE.md."};return{action:"allow"}};static sessionEnd=async($)=>{if($.metadata?.hasIncompleteInterview)return{action:"allow",additionalContext:'FAF interview state saved. Resume with "faf go --resume"'};return{action:"allow",additionalContext:"FAF session state preserved for next interaction"}}}function rY(){let $=new nY;return $.register("pre-tool-use",u2.preToolUse),$.register("post-edit",u2.postEdit),$.register("session-start",u2.sessionStart),$.register("session-end",u2.sessionEnd),$}import{existsSync as sY}from"fs";import{join as aY}from"path";class T9{server;hooks;config;constructor($){if(this.config={workingDirectory:$.workingDirectory,permissionMode:$.permissionMode||"standard",telemetryEnabled:$.telemetryEnabled??!0,sessionId:$.sessionId||this.generateSessionId(),userId:$.userId||"anonymous",dryRun:$.dryRun??!1,enableHooks:$.enableHooks??!0},this.server=new S9({permissionMode:this.config.permissionMode,telemetryEnabled:this.config.telemetryEnabled,workingDirectory:this.config.workingDirectory,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun}),this.config.enableHooks)this.hooks=rY(),this.initializeSession()}getServer(){return this.server}async executeTool($,X){if(this.hooks){let Q=await this.hooks.execute("pre-tool-use",{toolName:$,input:X,context:{workingDirectory:this.config.workingDirectory,permissionMode:this.config.permissionMode,telemetry:this.config.telemetryEnabled,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun}});if(Q.action==="deny")throw Error(`Tool execution denied: ${Q.reason}`);if(Q.action==="ask")console.log(`⚠️ Confirmation required: ${Q.reason}`);if(Q.modifiedInput)X=Q.modifiedInput}let J=await this.server.callTool($,X);if(this.hooks&&!J.isError)await this.hooks.execute("post-tool-use",{toolName:$,input:X,context:{workingDirectory:this.config.workingDirectory,permissionMode:this.config.permissionMode,telemetry:this.config.telemetryEnabled,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun},metadata:{result:J}});return J}async getAvailableTools(){return(await this.server.listTools()).filter((X)=>{let J=X.permissions[0];return this.hasPermission(J)})}hasPermission($){let X=["plan","standard","auto","bypass"],J=X.indexOf(this.config.permissionMode),Q=X.indexOf($);return J>=Q}async initializeSession(){if(!this.hooks)return;let $=sY(aY(this.config.workingDirectory,"project.faf")),X=sY(aY(this.config.workingDirectory,"CLAUDE.md"));await this.hooks.execute("session-start",{toolName:"session_init",input:{},context:{workingDirectory:this.config.workingDirectory,permissionMode:this.config.permissionMode,telemetry:this.config.telemetryEnabled,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun},metadata:{hasProjectFaf:$,hasClaude:X}})}async finalizeSession(){if(!this.hooks)return;await this.hooks.execute("session-end",{toolName:"session_end",input:{},context:{workingDirectory:this.config.workingDirectory,permissionMode:this.config.permissionMode,telemetry:this.config.telemetryEnabled,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun},metadata:{hasIncompleteInterview:!1}})}generateSessionId(){return`faf_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}async getStatus(){let $=await this.server.getInfo(),X=await this.getAvailableTools();return{server:$,hooks:!!this.hooks,permissions:this.config.permissionMode,tools:X.length,session:this.config.sessionId}}}a();async function oY($={}){let X=process.cwd(),J="standard";if($.permission)switch($.permission.toLowerCase()){case"plan":J="plan";break;case"standard":J="standard";break;case"auto":J="auto";break;case"bypass":J="bypass";break;default:console.log(`${L("!")} Unknown permission level: ${$.permission}`);return}console.log(`${L("◆")} Testing Claude Code MCP Native Integration...`),console.log(`${w(" Working Directory:")} ${X}`),console.log(`${w(" Permission Level:")} ${J}`),console.log("");let Q=new T9({workingDirectory:X,permissionMode:J,dryRun:$.dryRun||!1,enableHooks:$.hooks!==!1,telemetryEnabled:!0});try{if($.status){let q=await Q.getStatus();console.log(`${C("Integration Status:")}`),console.log(` Server: ${q.server.name} v${q.server.version}`),console.log(` Tools Available: ${q.tools}`),console.log(` Hooks Enabled: ${q.hooks?"Yes":"No"}`),console.log(` Permission Mode: ${q.permissions}`),console.log(` Session ID: ${q.session}`),console.log("")}if($.tool){console.log(`${C("Testing Tool:")} ${$.tool}`);let q={};if($.tool==="faf_score")q={verbose:!0};else if($.tool==="faf_init")q={yolo:!0,dryRun:$.dryRun};else if($.tool==="faf_sync")q={direction:"auto"};let Y=await Q.executeTool($.tool,q);if(Y.isError)console.log(`${L("✗")} Error: ${Y.content[0].text}`);else console.log(`${L("✓")} Success:`),console.log(Y.content[0].text);console.log("")}else{let q=await Q.getAvailableTools();console.log(`${C("Available Tools:")}`);for(let Y of q){let z=Y.permissions.join(", "),G=Y.tags.join(", ");console.log(` ${C(Y.name)} - ${Y.description}`),console.log(` ${w("Permissions:")} ${z}`),console.log(` ${w("Tags:")} ${G}`)}console.log("");for(let Y of q.slice(0,2)){console.log(`${L("→")} Testing ${Y.name}...`);try{let z={};if(Y.name==="faf_score")z={status:!0};else if(Y.name==="faf_init")z={yolo:!0,dryRun:!0};else if(Y.name==="faf_sync")z={direction:"auto"};let G=await Q.executeTool(Y.name,z);if(G.isError)console.log(` ${L("✗")} ${G.content[0].text.split("\\n")[0]}`);else console.log(` ${L("✓")} Success`)}catch(z){console.log(` ${L("✗")} ${z instanceof Error?z.message:String(z)}`)}}}await Q.finalizeSession(),console.log(`${L("✓")} MCP integration test completed`),console.log(""),console.log(`${w("Next steps:")}`),console.log(` • Run ${C("faf claude-sync")} to sync with Claude Code skills`),console.log(` • Use ${C("/faf-champion")} skill in Claude Code for guided setup`),console.log(` • Configure ${C("claude.json")} for team-wide MCP integration`)}catch(q){console.error(`${L("✗")} MCP test failed:`,q),process.exit(1)}}import{readFileSync as gO}from"fs";var{version:vO}=JSON.parse(gO(new URL("../package.json",import.meta.url),"utf8")),c=new K8;c.name("faf").description("Foundational AI-Context Format — project DNA for any AI").version(vO,"-v, --version");c.command("init").description("Create .faf from your project").option("--yolo","Quick init with sensible defaults").option("--quick","Alias for --yolo").option("--force","Overwrite existing project.faf").option("--output <path>","Output path").action(($)=>p6($));c.command("auto").description("Zero to 100% in one command").action(()=>t4());c.command("go").description("Guided interview to gold code").option("--resume","Resume previous session").action(($)=>_q($));c.command("score [file]").description("Score a .faf file").option("--verbose","Show slot breakdown").option("--status","Compact one-liner output").option("--json","Output as JSON").action(($,X)=>d6($,X));c.command("sync").description(".faf ↔ CLAUDE.md (bi-sync, mtime auto-direction)").option("--watch","Watch for changes").option("--direction <dir>","Force direction: auto|push|pull","auto").action(($)=>i6($));c.command("compile [file]").description("Compile .faf to .fafb binary").option("--output <path>","Output path").action(($,X)=>yQ($,X));c.command("decompile <file>").description("Decompile .fafb to JSON").option("--output <path>","Output path").action(($,X)=>gQ($,X));c.command("git <url>").description("Instant .faf from any GitHub repo").action(($)=>cQ($));c.command("export").description("Export context files from .faf").option("--agents","Generate AGENTS.md").option("--cursor","Generate .cursorrules").option("--gemini","Generate GEMINI.md").option("--conductor","Generate conductor config").option("--all","Generate all formats").action(($)=>n6($));c.command("check [file]").description("Validate .faf file").option("--strict","Require 100% score").option("--fix","Auto-fix issues").option("--doctor","Full diagnostic").option("--trust","Verify trust chain").action(($,X)=>q7($,X));c.command("info").description("Show version and system info").option("--version","Show version").option("--faq","Show FAQ").option("--index","Show command index").option("--stacks","Show supported stacks").action(($)=>pQ($));c.command("formats").description("Show supported formats").action(()=>iQ());c.command("clear").description("Clear cached data").action(()=>nQ());c.command("convert").description("Convert .faf to other formats").option("--json","Output as JSON").action(($)=>rQ($));c.command("context").description("Generate context output").action(()=>sQ());c.command("drift").description("Check context drift").action(()=>oQ());c.command("edit <path> <value>").description("Edit .faf fields").action(($,X)=>tQ($,X));c.command("recover").description("Recover .faf from context files").action(()=>eQ());c.command("migrate").description("Migrate .faf to latest version").option("--dry-run","Preview changes without writing").action(($)=>$q($));c.command("pro [subcommand]").description("Pro features & licensing").action(($)=>Nq($));c.command("share").description("Share .faf via URL").option("--copy","Copy to clipboard").option("--raw","Output encoded string only").action(($)=>wq($));c.command("demo").description("Demo walkthrough").action(()=>Oq());c.command("search <query>").description("Search slots and formats").option("--slots","Search slots only").option("--formats","Search formats only").action(($,X)=>Lq($,X));c.command("taf").description("Test Archive Format receipt").option("--output <path>","Write receipt to file").action(($)=>Rq($));c.command("ai [subcommand]").description("AI-powered features (enhance|analyze)").action(($)=>AY($));c.command("conductor [subcommand] [path]").description("Conductor integration").action(($,X)=>IY($,X));c.addCommand(ZY());c.addCommand(PY());c.command("skills-install").description("Install FAF skills package for Claude Code").action(()=>fY());c.command("mcp-test").description("Test Claude Code MCP native integration").option("--permission <level>","Permission level (plan|standard|auto|bypass)","standard").option("--tool <name>","Test specific tool").option("--dry-run","Dry run mode").option("--no-hooks","Disable hooks").option("--status","Show integration status").action(($)=>oY($));c.command("bi-sync",{hidden:!0}).action(()=>i6());c.command("status",{hidden:!0}).action(()=>d6(void 0,{status:!0}));c.command("agents",{hidden:!0}).action(()=>n6({agents:!0}));c.command("cursor",{hidden:!0}).action(()=>n6({cursor:!0}));c.command("gemini",{hidden:!0}).action(()=>n6({gemini:!0}));c.command("validate [file]",{hidden:!0}).action(($,X)=>q7($,X));c.command("yolo",{hidden:!0}).action(()=>p6({yolo:!0}));if(process.argv.length<=2){let{autoCommand:$}=await Promise.resolve().then(() => (e4(),jQ));await $(),process.exit(0)}c.parse(process.argv);
|
|
384
|
+
`);for(let B of U)if(B.includes("updated")||B.includes("created")||B.includes("synced"))H.push(B.trim());let V={synced:G,direction:W,files:{faf:"project.faf",claude:"CLAUDE.md"},lastModified:{},changes:H,watchMode:$.watch};if(X.telemetry)console.log(`[MCP] faf_sync executed in ${Date.now()-J}ms`);return V}catch(Q){throw Error(`Failed to sync FAF files: ${Q instanceof Error?Q.message:String(Q)}`)}}canExecute($){if(!super.canExecute($))return!1;if($.permissionMode==="plan")return!1;return!0}}class S9{registry=new L9;config;constructor($){this.config=$,this.initializeTools()}initializeTools(){let $=[new F9,new I9,new E9];for(let X of $)this.registry.register(X)}async listTools(){return this.registry.list().map(($)=>({name:$.name,description:$.description,inputSchema:$.schema,permissions:[$.permission,$.risk],tags:$.tags}))}async callTool($,X){let J=this.registry.get($);if(!J)return{content:[{type:"text",text:`Tool '${$}' not found`}],isError:!0};try{let Q={workingDirectory:this.config.workingDirectory,userId:this.config.userId,sessionId:this.config.sessionId,permissionMode:this.config.permissionMode,dryRun:this.config.dryRun,telemetry:this.config.telemetryEnabled};if(!J.canExecute(Q))return{content:[{type:"text",text:`Tool '${$}' cannot execute with current permissions (${this.config.permissionMode})`}],isError:!0};let q=J.validate(X),Y=await J.execute(q,Q);return{content:[{type:"text",text:JSON.stringify(Y,null,2)}]}}catch(Q){return{content:[{type:"text",text:`Error executing tool '${$}': ${Q instanceof Error?Q.message:String(Q)}`}],isError:!0}}}getToolsByPermission($){return this.registry.listByPermission($)}async getInfo(){let $=this.registry.list(),X=[...new Set($.map((G)=>G.permission))],{readFileSync:J}=await import("fs"),{dirname:Q,join:q}=await import("path"),{fileURLToPath:Y}=await import("url"),z="unknown";try{z=JSON.parse(J(q(Q(Y(import.meta.url)),"../../package.json"),"utf-8")).version}catch{z="dev"}return{name:"claude-faf-mcp",version:z,description:"Foundational AI-Context Format tools for Claude Code",tools:$.length,permissions:X}}async requestPermissionElevation($,X){let J=this.registry.get($);if(!J)return!1;if(J.risk==="safe"&&X<="standard")return!0;return!1}}class j9{static classify($,X={}){if(this.isReadOnly($,X))return{permission:"plan",risk:"safe",reasons:["Read-only operation","No file modifications"],allowAutoApproval:!0,requiresConfirmation:!1};if(this.isSafeConfig($,X))return{permission:"auto",risk:"low",reasons:["Safe configuration change","Limited scope"],allowAutoApproval:!0,requiresConfirmation:!1};if(this.isFileOperation($,X)){let J=X.force||X.overwrite;return{permission:"standard",risk:J?"medium":"low",reasons:["File operation",J?"May overwrite existing files":"Creates new files"],allowAutoApproval:!1,requiresConfirmation:!0}}if(this.isHighRisk($,X))return{permission:"bypass",risk:"high",reasons:["High-risk operation","Requires manual approval"],allowAutoApproval:!1,requiresConfirmation:!0};return{permission:"standard",risk:"medium",reasons:["Unknown operation type","Requires confirmation"],allowAutoApproval:!1,requiresConfirmation:!0}}static isReadOnly($,X){if(["faf_score","faf_info","faf_formats","faf_check","faf_validate"].includes($))return!0;if(X.dryRun||X.validate||X.check)return!0;return!1}static isSafeConfig($,X){if(["faf_sync","faf_export","faf_convert"].includes($))return!0;return!1}static isFileOperation($,X){if(["faf_init","faf_auto","faf_edit","faf_migrate"].includes($))return!0;if(X.output||X.write||X.save)return!0;return!1}static isHighRisk($,X){if(["faf_compile","faf_execute","faf_deploy"].includes($))return!0;if(X.execute||X.deploy||X.publish)return!0;if(X.force&&(X.overwrite||X.delete))return!0;return!1}static getRequiredPermission($,X){let J=$.permission;if(X.hasExistingFiles&&J==="standard")J="auto";if(X.isProduction&&J<"standard")J="standard";return J}static shouldConfirm($,X){if($.requiresConfirmation)return!0;let J=["plan","standard","auto","bypass"],Q=J.indexOf(X),q=J.indexOf($.permission);return Q<q}}class nY{handlers=new Map;register($,X){if(!this.handlers.has($))this.handlers.set($,[]);this.handlers.get($).push(X)}async execute($,X){let J=this.handlers.get($)||[];for(let Q of J){let q=await Q(X);if(q.action==="deny"||q.action==="ask")return q;if(q.action==="defer")continue;if(q.modifiedInput)X.input=q.modifiedInput}return{action:"allow"}}}class u2{static preToolUse=async($)=>{let X=j9.classify($.toolName,$.input),J=["plan","standard","auto","bypass"],Q=J.indexOf(X.permission);if(!(J.indexOf($.context.permissionMode)>=Q))return{action:"deny",reason:`Insufficient permissions. Required: ${X.permission}, Current: ${$.context.permissionMode}`};if(X.risk==="high"&&!$.context.dryRun)return{action:"ask",reason:`High-risk operation detected: ${X.reasons.join(", ")}`};if($.input.force&&$.toolName==="faf_init")return{action:"ask",reason:"This will overwrite existing project.faf file"};return{action:"allow"}};static postEdit=async($)=>{let X=[".ts",".js",".py",".md",".json",".yaml",".toml"],J=$.metadata?.fileName||"";if(!X.some((q)=>J.endsWith(q)))return{action:"allow"};if(J!=="project.faf"&&J!=="CLAUDE.md")try{return{action:"allow",additionalContext:"Triggered auto-sync of project context due to file changes"}}catch(q){return{action:"allow",reason:"Auto-sync failed but continuing"}}return{action:"allow"}};static sessionStart=async($)=>{let X=$.metadata?.hasProjectFaf||!1,J=$.metadata?.hasClaude||!1;if(!X&&!J)return{action:"allow",additionalContext:"No FAF context detected. Run /faf-quickstart to initialize AI-ready project context."};if(X&&J)return{action:"allow",additionalContext:"FAF bi-sync active. Context automatically synchronized between .faf and CLAUDE.md."};return{action:"allow"}};static sessionEnd=async($)=>{if($.metadata?.hasIncompleteInterview)return{action:"allow",additionalContext:'FAF interview state saved. Resume with "faf go --resume"'};return{action:"allow",additionalContext:"FAF session state preserved for next interaction"}}}function rY(){let $=new nY;return $.register("pre-tool-use",u2.preToolUse),$.register("post-edit",u2.postEdit),$.register("session-start",u2.sessionStart),$.register("session-end",u2.sessionEnd),$}import{existsSync as aY}from"fs";import{join as sY}from"path";class T9{server;hooks;config;constructor($){if(this.config={workingDirectory:$.workingDirectory,permissionMode:$.permissionMode||"standard",telemetryEnabled:$.telemetryEnabled??!0,sessionId:$.sessionId||this.generateSessionId(),userId:$.userId||"anonymous",dryRun:$.dryRun??!1,enableHooks:$.enableHooks??!0},this.server=new S9({permissionMode:this.config.permissionMode,telemetryEnabled:this.config.telemetryEnabled,workingDirectory:this.config.workingDirectory,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun}),this.config.enableHooks)this.hooks=rY(),this.initializeSession()}getServer(){return this.server}async executeTool($,X){if(this.hooks){let Q=await this.hooks.execute("pre-tool-use",{toolName:$,input:X,context:{workingDirectory:this.config.workingDirectory,permissionMode:this.config.permissionMode,telemetry:this.config.telemetryEnabled,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun}});if(Q.action==="deny")throw Error(`Tool execution denied: ${Q.reason}`);if(Q.action==="ask")console.log(`⚠️ Confirmation required: ${Q.reason}`);if(Q.modifiedInput)X=Q.modifiedInput}let J=await this.server.callTool($,X);if(this.hooks&&!J.isError)await this.hooks.execute("post-tool-use",{toolName:$,input:X,context:{workingDirectory:this.config.workingDirectory,permissionMode:this.config.permissionMode,telemetry:this.config.telemetryEnabled,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun},metadata:{result:J}});return J}async getAvailableTools(){return(await this.server.listTools()).filter((X)=>{let J=X.permissions[0];return this.hasPermission(J)})}hasPermission($){let X=["plan","standard","auto","bypass"],J=X.indexOf(this.config.permissionMode),Q=X.indexOf($);return J>=Q}async initializeSession(){if(!this.hooks)return;let $=aY(sY(this.config.workingDirectory,"project.faf")),X=aY(sY(this.config.workingDirectory,"CLAUDE.md"));await this.hooks.execute("session-start",{toolName:"session_init",input:{},context:{workingDirectory:this.config.workingDirectory,permissionMode:this.config.permissionMode,telemetry:this.config.telemetryEnabled,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun},metadata:{hasProjectFaf:$,hasClaude:X}})}async finalizeSession(){if(!this.hooks)return;await this.hooks.execute("session-end",{toolName:"session_end",input:{},context:{workingDirectory:this.config.workingDirectory,permissionMode:this.config.permissionMode,telemetry:this.config.telemetryEnabled,sessionId:this.config.sessionId,userId:this.config.userId,dryRun:this.config.dryRun},metadata:{hasIncompleteInterview:!1}})}generateSessionId(){return`faf_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}async getStatus(){let $=await this.server.getInfo(),X=await this.getAvailableTools();return{server:$,hooks:!!this.hooks,permissions:this.config.permissionMode,tools:X.length,session:this.config.sessionId}}}t();async function oY($={}){let X=process.cwd(),J="standard";if($.permission)switch($.permission.toLowerCase()){case"plan":J="plan";break;case"standard":J="standard";break;case"auto":J="auto";break;case"bypass":J="bypass";break;default:console.log(`${L("!")} Unknown permission level: ${$.permission}`);return}console.log(`${L("◆")} Testing Claude Code MCP Native Integration...`),console.log(`${w(" Working Directory:")} ${X}`),console.log(`${w(" Permission Level:")} ${J}`),console.log("");let Q=new T9({workingDirectory:X,permissionMode:J,dryRun:$.dryRun||!1,enableHooks:$.hooks!==!1,telemetryEnabled:!0});try{if($.status){let q=await Q.getStatus();console.log(`${C("Integration Status:")}`),console.log(` Server: ${q.server.name} v${q.server.version}`),console.log(` Tools Available: ${q.tools}`),console.log(` Hooks Enabled: ${q.hooks?"Yes":"No"}`),console.log(` Permission Mode: ${q.permissions}`),console.log(` Session ID: ${q.session}`),console.log("")}if($.tool){console.log(`${C("Testing Tool:")} ${$.tool}`);let q={};if($.tool==="faf_score")q={verbose:!0};else if($.tool==="faf_init")q={yolo:!0,dryRun:$.dryRun};else if($.tool==="faf_sync")q={direction:"auto"};let Y=await Q.executeTool($.tool,q);if(Y.isError)console.log(`${L("✗")} Error: ${Y.content[0].text}`);else console.log(`${L("✓")} Success:`),console.log(Y.content[0].text);console.log("")}else{let q=await Q.getAvailableTools();console.log(`${C("Available Tools:")}`);for(let Y of q){let z=Y.permissions.join(", "),G=Y.tags.join(", ");console.log(` ${C(Y.name)} - ${Y.description}`),console.log(` ${w("Permissions:")} ${z}`),console.log(` ${w("Tags:")} ${G}`)}console.log("");for(let Y of q.slice(0,2)){console.log(`${L("→")} Testing ${Y.name}...`);try{let z={};if(Y.name==="faf_score")z={status:!0};else if(Y.name==="faf_init")z={yolo:!0,dryRun:!0};else if(Y.name==="faf_sync")z={direction:"auto"};let G=await Q.executeTool(Y.name,z);if(G.isError)console.log(` ${L("✗")} ${G.content[0].text.split("\\n")[0]}`);else console.log(` ${L("✓")} Success`)}catch(z){console.log(` ${L("✗")} ${z instanceof Error?z.message:String(z)}`)}}}await Q.finalizeSession(),console.log(`${L("✓")} MCP integration test completed`),console.log(""),console.log(`${w("Next steps:")}`),console.log(` • Run ${C("faf claude-sync")} to sync with Claude Code skills`),console.log(` • Use ${C("/faf-champion")} skill in Claude Code for guided setup`),console.log(` • Configure ${C("claude.json")} for team-wide MCP integration`)}catch(q){console.error(`${L("✗")} MCP test failed:`,q),process.exit(1)}}import{readFileSync as gO}from"fs";var{version:vO}=JSON.parse(gO(new URL("../package.json",import.meta.url),"utf8")),c=new K8;c.name("faf").description("Foundational AI-Context Format — project DNA for any AI").version(vO,"-v, --version");c.command("init").description("Create .faf from your project").option("--yolo","Quick init with sensible defaults").option("--quick","Alias for --yolo").option("--force","Overwrite existing project.faf").option("--output <path>","Output path").action(($)=>p6($));c.command("auto").description("Zero to 100% in one command").action(()=>t4());c.command("go").description("Guided interview to gold code").option("--resume","Resume previous session").action(($)=>_q($));c.command("score [file]").description("Score a .faf file").option("--verbose","Show slot breakdown").option("--status","Compact one-liner output").option("--json","Output as JSON").action(($,X)=>d6($,X));c.command("sync").description(".faf ↔ CLAUDE.md (bi-sync, mtime auto-direction)").option("--watch","Watch for changes").option("--direction <dir>","Force direction: auto|push|pull","auto").action(($)=>i6($));c.command("compile [file]").description("Compile .faf to .fafb binary").option("--output <path>","Output path").action(($,X)=>yQ($,X));c.command("decompile <file>").description("Decompile .fafb to JSON").option("--output <path>","Output path").action(($,X)=>gQ($,X));c.command("git <url>").description("Instant .faf from any GitHub repo").action(($)=>cQ($));c.command("export").description("Export context files from .faf").option("--agents","Generate AGENTS.md").option("--cursor","Generate .cursorrules").option("--gemini","Generate GEMINI.md").option("--conductor","Generate conductor config").option("--all","Generate all formats").action(($)=>n6($));c.command("check [file]").description("Validate .faf file").option("--strict","Require 100% score").option("--fix","Auto-fix issues").option("--doctor","Full diagnostic").option("--trust","Verify trust chain").action(($,X)=>q7($,X));c.command("info").description("Show version and system info").option("--version","Show version").option("--faq","Show FAQ").option("--index","Show command index").option("--stacks","Show supported stacks").action(($)=>pQ($));c.command("formats").description("Show supported formats").action(()=>iQ());c.command("clear").description("Clear cached data").action(()=>nQ());c.command("convert").description("Convert .faf to other formats").option("--json","Output as JSON").action(($)=>rQ($));c.command("context").description("Generate context output").action(()=>aQ());c.command("drift").description("Check context drift").action(()=>oQ());c.command("edit <path> <value>").description("Edit .faf fields").action(($,X)=>tQ($,X));c.command("recover").description("Recover .faf from context files").action(()=>eQ());c.command("migrate").description("Migrate .faf to latest version").option("--dry-run","Preview changes without writing").action(($)=>$q($));c.command("pro [subcommand]").description("Pro features & licensing").action(($)=>Nq($));c.command("share").description("Share .faf via URL").option("--copy","Copy to clipboard").option("--raw","Output encoded string only").action(($)=>wq($));c.command("demo").description("Demo walkthrough").action(()=>Oq());c.command("search <query>").description("Search slots and formats").option("--slots","Search slots only").option("--formats","Search formats only").action(($,X)=>Lq($,X));c.command("taf").description("Test Archive Format receipt").option("--output <path>","Write receipt to file").action(($)=>Rq($));c.command("ai [subcommand]").description("AI-powered features (enhance|analyze)").action(($)=>AY($));c.command("conductor [subcommand] [path]").description("Conductor integration").action(($,X)=>IY($,X));c.addCommand(ZY());c.addCommand(PY());c.command("skills-install").description("Install FAF skills package for Claude Code").action(()=>fY());c.command("mcp-test").description("Test Claude Code MCP native integration").option("--permission <level>","Permission level (plan|standard|auto|bypass)","standard").option("--tool <name>","Test specific tool").option("--dry-run","Dry run mode").option("--no-hooks","Disable hooks").option("--status","Show integration status").action(($)=>oY($));c.command("bi-sync",{hidden:!0}).action(()=>i6());c.command("status",{hidden:!0}).action(()=>d6(void 0,{status:!0}));c.command("agents",{hidden:!0}).action(()=>n6({agents:!0}));c.command("cursor",{hidden:!0}).action(()=>n6({cursor:!0}));c.command("gemini",{hidden:!0}).action(()=>n6({gemini:!0}));c.command("validate [file]",{hidden:!0}).action(($,X)=>q7($,X));c.command("yolo",{hidden:!0}).action(()=>p6({yolo:!0}));if(process.argv.length<=2){let{autoCommand:$}=await Promise.resolve().then(() => (e4(),jQ));await $(),process.exit(0)}c.parse(process.argv);
|