faf-cli 6.0.15 → 6.0.16
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 +7 -1
- package/dist/cli.js +158 -158
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,113 +1,113 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as H3}from"node:module";var eY=Object.create;var{getPrototypeOf:$3,defineProperty:
|
|
3
|
-
`)}displayWidth($){return
|
|
2
|
+
import{createRequire as H3}from"node:module";var eY=Object.create;var{getPrototypeOf:$3,defineProperty:FX,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?FX(J,"default",{value:$,enumerable:!0}):J;for(let G of X3($))if(!J3.call(z,G))FX(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 IX=($,X)=>{for(var J in X)FX($,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 N6=A((U3)=>{class EX 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 Z9 extends EX{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}U3.CommanderError=EX;U3.InvalidArgumentError=Z9});var u2=A((N3)=>{var{InvalidArgumentError:K3}=N6();class C9{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=C9;N3.humanReadableArgName=M3});var SX=A((L3)=>{var{humanReadableArgName:O3}=u2();class P9{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,B){return X.formatItem(U,J,B,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,B)=>{let V=U.map((N)=>{return q(X.styleOptionTerm(X.optionTerm(N)),X.styleOptionDescription(X.optionDescription(N)))});Y=Y.concat(this.formatItemList(B,V,X))}),X.showGlobalOptions){let U=X.visibleGlobalOptions($).map((B)=>{return q(X.styleOptionTerm(X.optionTerm(B)),X.styleOptionDescription(X.optionDescription(B)))});Y=Y.concat(this.formatItemList("Global Options:",U,X))}return this.groupItems($.commands,X.visibleCommands($),(U)=>U.helpGroup()||"Commands:").forEach((U,B)=>{let V=U.map((N)=>{return q(X.styleSubcommandTerm(X.subcommandTerm(N)),X.styleSubcommandDescription(X.subcommandDescription(N)))});Y=Y.concat(this.formatItemList(B,V,X))}),Y.join(`
|
|
3
|
+
`)}displayWidth($){return b9($).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
|
|
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 B=H.trimStart();G=[B],W=this.displayWidth(B)}),q.push(G.join(""))}),q.join(`
|
|
6
|
+
`)}}function b9($){let X=/\x1b\[\d*(;\d*)*m/g;return $.replace(X,"")}L3.Help=P9;L3.stripColor=b9});var jX=A((I3)=>{var{InvalidArgumentError:_3}=N6();class k9{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 f9(this.name().replace(/^no-/,""));return f9(this.name())}helpGroup($){return this.helpGroupHeading=$,this}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class x9{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 f9($){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}
|
|
10
10
|
- too many short flags`);if(q.test(z))throw Error(`${G}
|
|
11
11
|
- too many long flags`);throw Error(`${G}
|
|
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=
|
|
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=k9;I3.DualOptions=x9});var y9=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
|
|
14
|
+
(Did you mean ${Q[0]}?)`;return""}Z3.suggestSimilar=T3});var u9=A((g3)=>{var P3=W$("node:events").EventEmitter,TX=W$("node:child_process"),q0=W$("node:path"),m2=W$("node:fs"),s=W$("node:process"),{Argument:b3,humanReadableArgName:f3}=u2(),{CommanderError:ZX}=N6(),{Help:k3,stripColor:x3}=SX(),{Option:g9,DualOptions:y3}=jX(),{suggestSimilar:v9}=y9();class PX 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:()=>CX()??(s.stdout.isTTY&&s.stdout.hasColors?.()),getErrHasColors:()=>CX()??(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 PX($)}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
|
|
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(
|
|
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 ZX($,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 g9($,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 g9)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
|
+
- 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(m2.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 B=q0.resolve(H,U);if(m2.existsSync(B))return B;if(Q.includes(q0.extname(U)))return;let V=Q.find((N)=>m2.existsSync(`${B}${N}`));if(V)return`${B}${V}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Y=$._executableFile||`${this._name}-${$._name}`,z=this._executableDir||"";if(this._scriptPath){let H;try{H=m2.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=h9(s.execArgv).concat(X),G=TX.spawn(s.argv[0],X,{stdio:"inherit"});else G=TX.spawn(Y,X,{stdio:"inherit"});else this._checkForMissingExecutable(Y,z,$._name),X.unshift(Y),X=h9(s.execArgv).concat(X),G=TX.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 ZX(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 ZX(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((B)=>B.short).some((B)=>/^-\d$/.test(B)))},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 B=$[W++];if(B===void 0)this.optionMissingArgument(U);this.emit(`option:${U.name()}`,B)}else if(U.optional){let B=null;if(W<$.length&&(!q($[W])||Y($[W])))B=$[W++];this.emit(`option:${U.name()}`,B)}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("="),B=this._findOption(H.slice(0,U));if(B&&(B.required||B.optional)){this.emit(`option:${B.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 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=
|
|
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=v9($,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=v9($,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
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
|
|
28
|
-
`)}}k$.defaultYaml={explicit:!1,version:"1.2"};k$.defaultTags={"!!":"tag:yaml.org,2002:"};Cz.Directives=k$});var
|
|
29
|
-
`)?
|
|
27
|
+
`)}),this}_outputHelpIfRequested($){let X=this._getHelpOption();if(X&&$.find((Q)=>X.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function h9($){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 CX(){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=PX;g3.useColor=CX});var d9=A((l3)=>{var{Argument:m9}=u2(),{Command:bX}=u9(),{CommanderError:u3,InvalidArgumentError:l9}=N6(),{Help:m3}=SX(),{Option:c9}=jX();l3.program=new bX;l3.createCommand=($)=>new bX($);l3.createOption=($,X)=>new c9($,X);l3.createArgument=($,X)=>new m9($,X);l3.Command=bX;l3.Option=c9;l3.Argument=m9;l3.Help=m3;l3.CommanderError=u3;l3.InvalidArgumentError=l9;l3.InvalidOptionArgumentError=l9});var i=A((Gz)=>{var fX=Symbol.for("yaml.alias"),i9=Symbol.for("yaml.document"),l2=Symbol.for("yaml.map"),n9=Symbol.for("yaml.pair"),kX=Symbol.for("yaml.scalar"),c2=Symbol.for("yaml.seq"),Y0=Symbol.for("yaml.node.type"),$z=($)=>!!$&&typeof $==="object"&&$[Y0]===fX,Xz=($)=>!!$&&typeof $==="object"&&$[Y0]===i9,Jz=($)=>!!$&&typeof $==="object"&&$[Y0]===l2,Qz=($)=>!!$&&typeof $==="object"&&$[Y0]===n9,r9=($)=>!!$&&typeof $==="object"&&$[Y0]===kX,qz=($)=>!!$&&typeof $==="object"&&$[Y0]===c2;function a9($){if($&&typeof $==="object")switch($[Y0]){case l2:case c2:return!0}return!1}function Yz($){if($&&typeof $==="object")switch($[Y0]){case fX:case l2:case kX:case c2:return!0}return!1}var zz=($)=>(r9($)||a9($))&&!!$.anchor;Gz.ALIAS=fX;Gz.DOC=i9;Gz.MAP=l2;Gz.NODE_TYPE=Y0;Gz.PAIR=n9;Gz.SCALAR=kX;Gz.SEQ=c2;Gz.hasAnchor=zz;Gz.isAlias=$z;Gz.isCollection=a9;Gz.isDocument=Xz;Gz.isMap=Jz;Gz.isNode=Yz;Gz.isPair=Qz;Gz.isScalar=r9;Gz.isSeq=qz});var w6=A((Iz)=>{var D$=i(),E$=Symbol("break visit"),s9=Symbol("skip children"),a$=Symbol("remove node");function d2($,X){let J=o9(X);if(D$.isDocument($)){if(M8(null,$.contents,J,Object.freeze([$]))===a$)$.contents=null}else M8(null,$,J,Object.freeze([]))}d2.BREAK=E$;d2.SKIP=s9;d2.REMOVE=a$;function M8($,X,J,Q){let q=t9($,X,J,Q);if(D$.isNode(q)||D$.isPair(q))return e9($,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 p2($,X){let J=o9(X);if(D$.isDocument($)){if(await N8(null,$.contents,J,Object.freeze([$]))===a$)$.contents=null}else await N8(null,$,J,Object.freeze([]))}p2.BREAK=E$;p2.SKIP=s9;p2.REMOVE=a$;async function N8($,X,J,Q){let q=await t9($,X,J,Q);if(D$.isNode(q)||D$.isPair(q))return e9($,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 o9($){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 t9($,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 e9($,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=d2;Iz.visitAsync=p2});var xX=A((Cz)=>{var $J=i(),jz=w6(),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&&$J.isNode($.contents)){let q={};jz.visit($.contents,(Y,z)=>{if($J.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 i2=A((xz)=>{var XJ=i(),bz=w6();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 JJ($){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=JJ($));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&&(XJ.isScalar(z.node)||XJ.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=JJ;xz.createNodeAnchors=kz;xz.findNewAnchor=QJ});var yX=A((uz)=>{function D6($,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=D6($,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=D6($,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=D6($,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=D6($,Q,q,Y);if(z===void 0)delete Q[q];else if(z!==Y)Q[q]=z}return $.call(X,J,Q)}uz.applyReviver=D6});var D0=A((cz)=>{var lz=i();function qJ($,X,J){if(Array.isArray($))return $.map((Q,q)=>qJ(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=qJ});var n2=A((nz)=>{var pz=yX(),YJ=i(),iz=D0();class zJ{constructor($){Object.defineProperty(this,YJ.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(!YJ.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=zJ});var O6=A((ez)=>{var az=i2(),sz=w6(),w8=i(),oz=n2(),tz=D0();class GJ 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=r2(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 r2($,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=r2($,q,J);if(Y>Q)Q=Y}return Q}else if(w8.isPair(X)){let Q=r2($,X.key,J),q=r2($,X.value,J);return Math.max(Q,q)}return 1}ez.Alias=GJ});var M$=A((YG)=>{var XG=i(),JG=n2(),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 L6=A((BG)=>{var WG=O6(),d0=i(),WJ=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 B=J.schema[d0.MAP].createNode?.(J.schema,null,J);return B.items.push($),B}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 B=new WJ.Scalar($);if(W)W.node=B;return B}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 WJ.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 a2=A((wG)=>{var MG=L6(),s$=i(),NG=n2();function gX($,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 HJ=($)=>$==null||typeof $==="object"&&!!$[Symbol.iterator]().next().done;class UJ 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(HJ($))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,gX(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,gX(this.schema,Q,X));else throw Error(`Expected YAML collection at ${J}. Remaining path: ${Q}`)}}}wG.Collection=UJ;wG.collectionFromPath=gX;wG.isEmptyPath=HJ});var R6=A((_G)=>{var RG=($)=>$.replace(/^(?!$)(?: $)?/gm,"#");function vX($,X){if(/^\n+$/.test($))return $.substring(1);return X?$.replace(/^(?! *$)/gm,X):$}var AG=($,X,J)=>$.endsWith(`
|
|
29
|
+
`)?vX(J,X):J.includes(`
|
|
30
30
|
`)?`
|
|
31
|
-
`+
|
|
32
|
-
`){if(J==="block")M=
|
|
31
|
+
`+vX(J,X):($.endsWith(" ")?"":" ")+J;_G.indentComment=vX;_G.lineComment=AG;_G.stringifyComment=RG});var BJ=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={},B=q-X.length;if(typeof Q==="number")if(Q>q-Math.max(2,Y))H.push(0);else B=q-Q;let V=void 0,N=void 0,O=!1,M=-1,D=-1,F=-1;if(J==="block"){if(M=VJ($,M,X.length),M!==-1)B=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=VJ($,M,X.length);B=M+X.length+W,V=void 0}else{if(P===" "&&N&&N!==" "&&N!==`
|
|
33
33
|
`&&N!=="\t"){let f=$[M+1];if(f&&f!==" "&&f!==`
|
|
34
|
-
`&&f!=="\t")
|
|
35
|
-
${X}${$.slice(0,
|
|
36
|
-
${X}${$.slice(f+1,
|
|
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
|
|
38
|
-
`){if(Y-z>Q)return!0;if(z=Y+1,q-z<=Q)return!1}return!0}function
|
|
34
|
+
`&&f!=="\t")V=M}if(M>=B)if(V)H.push(V),B=V+W,V=void 0;else if(J==="quoted"){while(N===" "||N==="\t")N=P,P=$[M+=1],O=!0;let f=M>F+1?M-2:D-1;if(U[f])return $;H.push(f),U[f]=!0,B=f+W,V=void 0}else O=!0}N=P}if(O&&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],h=H[P+1]||$.length;if(f===0)T=`
|
|
35
|
+
${X}${$.slice(0,h)}`;else{if(J==="quoted"&&U[f])T+=`${$[f]}\\`;T+=`
|
|
36
|
+
${X}${$.slice(f+1,h)}`}}return T}function VJ($,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
|
+
`);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 _6=A((xG)=>{var v$=M$(),O0=BJ(),o2=($,X)=>({indentAtStart:X?$.indent.length:$.indentAtStart,lineWidth:$.options.lineWidth,minContentWidth:$.options.minContentWidth}),t2=($)=>/^(%|---|\.\.\.)/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
|
+
`){if(Y-z>Q)return!0;if(z=Y+1,q-z<=Q)return!1}return!0}function A6($,X){let J=JSON.stringify($);if(X.options.doubleQuotedAsJSON)return J;let{implicitKey:Q}=X,q=X.options.doubleQuotedMinMultiLineLength,Y=X.indent||(t2($)?" ":""),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,
|
|
42
|
-
`)||/[ \t]\n|\n[ \t]/.test($))return
|
|
43
|
-
${J}`)+"'";return X.implicitKey?Q:O0.foldFlowLines(Q,J,O0.FOLD_FLOW,
|
|
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,o2(X,!1))}function hX($,X){if(X.options.singleQuote===!1||X.implicitKey&&$.includes(`
|
|
42
|
+
`)||/[ \t]\n|\n[ \t]/.test($))return A6($,X);let J=X.indent||(t2($)?" ":""),Q="'"+$.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
43
|
+
${J}`)+"'";return X.implicitKey?Q:O0.foldFlowLines(Q,J,O0.FOLD_FLOW,o2(X,!1))}function D8($,X){let{singleQuote:J}=X.options,Q;if(J===!1)Q=A6;else{let q=$.includes('"'),Y=$.includes("'");if(q&&!Y)Q=hX;else if(Y&&!q)Q=A6;else Q=J?hX:A6}return Q($,X)}var uX;try{uX=new RegExp(`(^|(?<!
|
|
44
44
|
))
|
|
45
45
|
+(?!
|
|
46
|
-
|$)`,"g")}catch{
|
|
46
|
+
|$)`,"g")}catch{uX=/\n+(?!\n|$)/g}function s2({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||t2(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 V
|
|
49
|
-
`&&
|
|
50
|
-
`);if(
|
|
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}`),
|
|
48
|
+
`;let B,V;for(V=J.length;V>0;--V){let h=J[V-1];if(h!==`
|
|
49
|
+
`&&h!=="\t"&&h!==" ")break}let N=J.substring(V),O=N.indexOf(`
|
|
50
|
+
`);if(O===-1)B="-";else if(J===N||O!==N.length-1){if(B="+",Y)Y()}else B="";if(N){if(J=J.slice(0,-N.length),N[N.length-1]===`
|
|
51
|
+
`)N=N.slice(0,-1);N=N.replace(uX,`$&${H}`)}let M=!1,D,F=-1;for(D=0;D<J.length;++D){let h=J[D];if(h===" ")M=!0;else if(h===`
|
|
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":"")+B;if($){if(f+=" "+G($.replace(/ ?[\r\n]+/g," ")),q)q()}if(!U){let h=J.replace(/\n+/g,`
|
|
53
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${H}`),y=!1,a=o2(Q,!0);if(z!=="folded"&&X!==v$.Scalar.BLOCK_FOLDED)a.onOverflow=()=>{y=!0};let S=O0.foldFlowLines(`${T}${h}${N}`,H,O0.FOLD_BLOCK,a);if(!y)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
|
-
`)?D8(Y,X):
|
|
58
|
-
`))return
|
|
59
|
-
${W}`);if(z){let
|
|
60
|
-
${X.indent}${G}`}dG.createStringifyContext=uG;dG.stringify=cG});var
|
|
61
|
-
${G}:`}else if(D=`${D}:`,
|
|
62
|
-
`:"",T){let a=H(T);
|
|
63
|
-
${
|
|
64
|
-
`&&P)
|
|
65
|
-
|
|
66
|
-
`}else
|
|
67
|
-
${J.indent}`}else if(!N&&z0.isCollection(X)){let a=
|
|
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$=
|
|
69
|
-
${J.indent}`}}else if(
|
|
70
|
-
`)
|
|
57
|
+
`)?D8(Y,X):s2($,X,J,Q);if(!G&&!U&&q!==v$.Scalar.PLAIN&&Y.includes(`
|
|
58
|
+
`))return s2($,X,J,Q);if(t2(Y)){if(W==="")return X.forceBlockIndent=!0,s2($,X,J,Q);else if(G&&W===H)return D8(Y,X)}let B=Y.replace(/\n+/g,`$&
|
|
59
|
+
${W}`);if(z){let V=(M)=>M.default&&M.tag!=="tag:yaml.org,2002:str"&&M.test?.test(B),{compat:N,tags:O}=X.doc.schema;if(O.some(V)||N?.some(V))return D8(Y,X)}return G?B:O0.foldFlowLines(B,W,O0.FOLD_FLOW,o2(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):s2(z,X,J,Q);case v$.Scalar.QUOTE_DOUBLE:return A6(z.value,X);case v$.Scalar.QUOTE_SINGLE:return hX(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:B}=X.options,V=q&&U||B;if(H=W(V),H===null)throw Error(`Unsupported default string type ${V}`)}return H}xG.stringifyString=kG});var F6=A((dG)=>{var gG=i2(),L0=i(),vG=R6(),hG=_6();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 NJ=A((rG)=>{var z0=i(),KJ=M$(),MJ=F6(),I6=R6();function nG({key:$,value:X},J,Q,q){let{allNullValues:Y,doc:z,indent:G,indentStep:W,options:{commentString:H,indentSeq:U,simpleKeys:B}}=J,V=z0.isNode($)&&$.comment||null;if(B){if(V)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=!B&&(!$||V&&X==null&&!J.inFlow||z0.isCollection($)||(z0.isScalar($)?$.type===KJ.Scalar.BLOCK_FOLDED||$.type===KJ.Scalar.BLOCK_LITERAL:typeof $==="object"));J=Object.assign({},J,{allNullValues:!1,implicitKey:!N&&(B||!Y),indent:G+W});let O=!1,M=!1,D=MJ.stringify($,J,()=>O=!0,()=>M=!0);if(!N&&!J.inFlow&&D.length>1024){if(B)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(O&&Q)Q();return D===""?"?":N?`? ${D}`:D}}else if(Y&&!B||X==null&&N){if(D=`? ${D}`,V&&!O)D+=I6.lineComment(D,J.indent,H(V));else if(M&&q)q();return D}if(O)V=null;if(N){if(V)D+=I6.lineComment(D,J.indent,H(V));D=`? ${D}
|
|
61
|
+
${G}:`}else if(D=`${D}:`,V)D+=I6.lineComment(D,J.indent,H(V));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&&!V&&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,h=MJ.stringify(X,J,()=>f=!0,()=>M=!0),y=" ";if(V||F||T){if(y=F?`
|
|
62
|
+
`:"",T){let a=H(T);y+=`
|
|
63
|
+
${I6.indentComment(a,J.indent)}`}if(h===""&&!J.inFlow){if(y===`
|
|
64
|
+
`&&P)y=`
|
|
65
|
+
|
|
66
|
+
`}else y+=`
|
|
67
|
+
${J.indent}`}else if(!N&&z0.isCollection(X)){let a=h[0],S=h.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$=h.indexOf(" ");if(a==="&"&&V$!==-1&&V$<S&&h[V$+1]==="!")V$=h.indexOf(" ",V$+1);if(V$===-1||S<V$)p=!0}if(!p)y=`
|
|
69
|
+
${J.indent}`}}else if(h===""||h[0]===`
|
|
70
|
+
`)y="";if(D+=y+h,J.inFlow){if(f&&Q)Q()}else if(P&&!f)D+=I6.lineComment(D,J.indent,H(P));else if(M&&q)q();return D}rG.stringifyPair=nG});var mX=A((tG)=>{var wJ=W$("process");function sG($,...X){if($==="debug")console.log(...X)}function oG($,X){if($==="debug"||$==="warn")if(typeof wJ.emitWarning==="function")wJ.emitWarning(X);else console.warn(X)}tG.debug=sG;tG.warn=oG});var X5=A((JW)=>{var E6=i(),DJ=M$(),e2="<<",$5={identify:($)=>$===e2||typeof $==="symbol"&&$.description===e2,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new DJ.Scalar(Symbol(e2)),{addToJSMap:OJ}),stringify:()=>e2},XW=($,X)=>($5.identify(X)||E6.isScalar(X)&&(!X.type||X.type===DJ.Scalar.PLAIN)&&$5.identify(X.value))&&$?.doc.schema.tags.some((J)=>J.tag===$5.tag&&J.default);function OJ($,X,J){if(J=$&&E6.isAlias(J)?J.resolve($.doc):J,E6.isSeq(J))for(let Q of J.items)lX($,X,Q);else if(Array.isArray(J))for(let Q of J)lX($,X,Q);else lX($,X,J)}function lX($,X,J){let Q=$&&E6.isAlias(J)?J.resolve($.doc):J;if(!E6.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=OJ;JW.isMergeKey=XW;JW.merge=$5});var dX=A((UW)=>{var zW=mX(),LJ=X5(),GW=F6(),RJ=i(),cX=D0();function WW($,X,{key:J,value:Q}){if(RJ.isNode(J)&&J.addToJSMap)J.addToJSMap($,X,Q);else if(LJ.isMergeKey($,J))LJ.addMergeToJSMap($,X,Q);else{let q=cX.toJS(J,"",$);if(X instanceof Map)X.set(q,cX.toJS(Q,q,$));else if(X instanceof Set)X.add(q);else{let Y=HW(J,q,$),z=cX.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(RJ.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 AJ=L6(),BW=NJ(),KW=dX(),J5=i();function MW($,X,J){let Q=AJ.createNode($,void 0,J),q=AJ.createNode(X,void 0,J);return new Q5(Q,q)}class Q5{constructor($,X=null){Object.defineProperty(this,J5.NODE_TYPE,{value:J5.PAIR}),this.key=$,this.value=X}clone($){let{key:X,value:J}=this;if(J5.isNode(X))X=X.clone($);if(J5.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 pX=A((AW)=>{var p0=i(),_J=F6(),q5=R6();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}),B=!1,V=[];for(let O=0;O<X.length;++O){let M=X[O],D=null;if(p0.isNode(M)){if(!B&&M.spaceBefore)V.push("");if(Y5(J,V,M.commentBefore,B),M.comment)D=M.comment}else if(p0.isPair(M)){let T=p0.isNode(M.key)?M.key:null;if(T){if(!B&&T.spaceBefore)V.push("");Y5(J,V,T.commentBefore,B)}}B=!1;let F=_J.stringify(M,U,()=>D=null,()=>B=!0);if(D)F+=q5.lineComment(F,Y,H(D));if(B&&D)B=!1;V.push(Q+F)}let N;if(V.length===0)N=q.start+q.end;else{N=V[0];for(let O=1;O<V.length;++O){let M=V[O];N+=M?`
|
|
71
71
|
${W}${M}`:`
|
|
72
72
|
`}}if($){if(N+=`
|
|
73
|
-
`+
|
|
74
|
-
`)),
|
|
73
|
+
`+q5.indentComment(H($),W),G)G()}else if(B&&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,B=[];for(let O=0;O<$.length;++O){let M=$[O],D=null;if(p0.isNode(M)){if(M.spaceBefore)B.push("");if(Y5(X,B,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)B.push("");if(Y5(X,B,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=_J.stringify(M,W,()=>D=null);if(H||(H=B.length>U||F.includes(`
|
|
74
|
+
`)),O<$.length-1)F+=",";else if(X.options.trailingComma){if(X.options.lineWidth>0)H||(H=B.reduce((T,P)=>T+P.length+2,2)+(F.length+2)>X.options.lineWidth);if(H)F+=","}if(D)F+=q5.lineComment(F,Q,G(D));B.push(F),U=B.length}let{start:V,end:N}=J;if(B.length===0)return V+N;else{if(!H){let O=B.reduce((M,D)=>M+D.length+2,2);H=X.options.lineWidth>0&&O>X.options.lineWidth}if(H){let O=V;for(let M of B)O+=M?`
|
|
75
75
|
${Y}${q}${M}`:`
|
|
76
|
-
`;return`${
|
|
77
|
-
${q}${N}`}else return`${
|
|
78
|
-
`:" ")}return kH.stringifyString({comment:$,type:X,value:G},Q,q,Y)}};yH.binary=xH});var
|
|
76
|
+
`;return`${O}
|
|
77
|
+
${q}${N}`}else return`${V}${z}${B.join(" ")}${z}${N}`}}function Y5({indent:$,options:{commentString:X}},J,Q,q){if(Q&&q)Q=Q.replace(/^\n+/,"");if(Q){let Y=q5.indentComment(X(Q),$);J.push(Y.trimStart())}}AW.stringifyCollection=OW});var _0=A((jW)=>{var FW=pX(),IW=dX(),EW=a2(),A0=i(),z5=R0(),SW=M$();function S6($,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 FJ 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(z5.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 z5.Pair($,$?.value);else J=new z5.Pair($.key,$.value);let Q=S6(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=S6(this.items,$);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get($,X){let Q=S6(this.items,$)?.value;return(!X&&A0.isScalar(Q)?Q.value:Q)??void 0}has($){return!!S6(this.items,$)}set($,X){this.add(new z5.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=FJ;jW.findPair=S6});var O8=A((bW)=>{var CW=i(),IJ=_0(),PW={collection:"map",default:!0,nodeClass:IJ.YAMLMap,tag:"tag:yaml.org,2002:map",resolve($,X){if(!CW.isMap($))X("Expected a mapping for this tag");return $},createNode:($,X,J)=>IJ.YAMLMap.from($,X,J)};bW.map=PW});var F0=A((hW)=>{var kW=L6(),xW=pX(),yW=a2(),W5=i(),gW=M$(),vW=D0();class EJ extends yW.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor($){super(W5.SEQ,$);this.items=[]}add($){this.items.push($)}delete($){let X=G5($);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get($,X){let J=G5($);if(typeof J!=="number")return;let Q=this.items[J];return!X&&W5.isScalar(Q)?Q.value:Q}has($){let X=G5($);return typeof X==="number"&&X<this.items.length}set($,X){let J=G5($);if(typeof J!=="number")throw Error(`Expected a valid index, not ${$}.`);let Q=this.items[J];if(W5.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 G5($){let X=W5.isScalar($)?$.value:$;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}hW.YAMLSeq=EJ});var L8=A((cW)=>{var mW=i(),SJ=F0(),lW={collection:"seq",default:!0,nodeClass:SJ.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve($,X){if(!mW.isSeq($))X("Expected a sequence for this tag");return $},createNode:($,X,J)=>SJ.YAMLSeq.from($,X,J)};cW.seq=lW});var j6=A((nW)=>{var pW=_6(),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 H5=A((aW)=>{var jJ=M$(),TJ={identify:($)=>$==null,createNode:()=>new jJ.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new jJ.Scalar(null),stringify:({source:$},X)=>typeof $==="string"&&TJ.test.test($)?$:X.options.nullStr};aW.nullTag=TJ});var iX=A((tW)=>{var oW=M$(),ZJ={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($&&ZJ.test.test($)){let Q=$[0]==="t"||$[0]==="T";if(X===Q)return $}return X?J.options.trueStr:J.options.falseStr}};tW.boolTag=ZJ});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 rX=A((GH)=>{var QH=M$(),nX=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:nX.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():nX.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:nX.stringifyNumber};GH.float=zH;GH.floatExp=YH;GH.floatNaN=qH});var sX=A((MH)=>{var CJ=R8(),U5=($)=>typeof $==="bigint"||Number.isInteger($),aX=($,X,J,{intAsBigInt:Q})=>Q?BigInt($):parseInt($.substring(X),J);function PJ($,X,J){let{value:Q}=$;if(U5(Q)&&Q>=0)return J+Q.toString(X);return CJ.stringifyNumber($)}var VH={identify:($)=>U5($)&&$>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:($,X,J)=>aX($,2,8,J),stringify:($)=>PJ($,8,"0o")},BH={identify:U5,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:($,X,J)=>aX($,0,10,J),stringify:CJ.stringifyNumber},KH={identify:($)=>U5($)&&$>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:($,X,J)=>aX($,2,16,J),stringify:($)=>PJ($,16,"0x")};MH.int=BH;MH.intHex=KH;MH.intOct=VH});var bJ=A((IH)=>{var OH=O8(),LH=H5(),RH=L8(),AH=j6(),_H=iX(),oX=rX(),tX=sX(),FH=[OH.map,RH.seq,AH.string,LH.nullTag,_H.boolTag,tX.intOct,tX.int,tX.intHex,oX.floatNaN,oX.floatExp,oX.float];IH.schema=FH});var kJ=A((bH)=>{var SH=M$(),jH=O8(),TH=L8();function fJ($){return typeof $==="bigint"||Number.isInteger($)}var V5=({value:$})=>JSON.stringify($),ZH=[{identify:($)=>typeof $==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:($)=>$,stringify:V5},{identify:($)=>$==null,createNode:()=>new SH.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:V5},{identify:($)=>typeof $==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:($)=>$==="true",stringify:V5},{identify:fJ,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:($,X,{intAsBigInt:J})=>J?BigInt($):parseInt($,10),stringify:({value:$})=>fJ($)?$.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:V5}],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 $4=A((yH)=>{var T6=W$("buffer"),eX=M$(),kH=_6(),xH={identify:($)=>$ instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve($,X){if(typeof T6.Buffer==="function")return T6.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 T6.Buffer==="function")G=z instanceof T6.Buffer?z.toString("base64"):T6.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=eX.Scalar.BLOCK_LITERAL),X!==eX.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 B=0,V=0;B<H;++B,V+=W)U[B]=G.substr(V,W);G=U.join(X===eX.Scalar.BLOCK_LITERAL?`
|
|
78
|
+
`:" ")}return kH.stringifyString({comment:$,type:X,value:G},Q,q,Y)}};yH.binary=xH});var K5=A((mH)=>{var B5=i(),X4=R0(),vH=M$(),hH=F0();function xJ($,X){if(B5.isSeq($))for(let J=0;J<$.items.length;++J){let Q=$.items[J];if(B5.isPair(Q))continue;else if(B5.isMap(Q)){if(Q.items.length>1)X("Each pair must have its own sequence indicator");let q=Q.items[0]||new X4.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]=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
|
-
`))J.push("..."),J.push(
|
|
80
|
+
${Y.comment}`:Q.comment}Q=q}$.items[J]=B5.isPair(Q)?Q:new X4.Pair(Q)}else X("Expected a sequence for this tag");return $}function yJ($,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(X4.createPair(G,W,J))}return q}var uH={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:xJ,createNode:yJ};mH.createPairs=yJ;mH.pairs=uH;mH.resolvePairs=xJ});var Q4=A((nH)=>{var gJ=i(),J4=D0(),Z6=_0(),pH=F0(),vJ=K5();class i0 extends pH.YAMLSeq{constructor(){super();this.add=Z6.YAMLMap.prototype.add.bind(this),this.delete=Z6.YAMLMap.prototype.delete.bind(this),this.get=Z6.YAMLMap.prototype.get.bind(this),this.has=Z6.YAMLMap.prototype.has.bind(this),this.set=Z6.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(gJ.isPair(Q))q=J4.toJS(Q.key,"",X),Y=J4.toJS(Q.value,q,X);else q=J4.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=vJ.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=vJ.resolvePairs($,X),Q=[];for(let{key:q}of J.items)if(gJ.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 cJ=A((sH)=>{var hJ=M$();function uJ({value:$,source:X},J){if(X&&($?mJ:lJ).test.test(X))return X;return $?J.options.trueStr:J.options.falseStr}var mJ={identify:($)=>$===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new hJ.Scalar(!0),stringify:uJ},lJ={identify:($)=>$===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new hJ.Scalar(!1),stringify:uJ};sH.falseTag=lJ;sH.trueTag=mJ});var dJ=A((QU)=>{var eH=M$(),q4=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:q4.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():q4.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:q4.stringifyNumber};QU.float=JU;QU.floatExp=XU;QU.floatNaN=$U});var iJ=A((VU)=>{var pJ=R8(),C6=($)=>typeof $==="bigint"||Number.isInteger($);function M5($,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 Y4($,X,J){let{value:Q}=$;if(C6(Q)){let q=Q.toString(X);return Q<0?"-"+J+q.substr(1):J+q}return pJ.stringifyNumber($)}var GU={identify:C6,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:($,X,J)=>M5($,2,2,J),stringify:($)=>Y4($,2,"0b")},WU={identify:C6,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:($,X,J)=>M5($,1,8,J),stringify:($)=>Y4($,8,"0")},HU={identify:C6,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:($,X,J)=>M5($,0,10,J),stringify:pJ.stringifyNumber},UU={identify:C6,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:($,X,J)=>M5($,2,16,J),stringify:($)=>Y4($,16,"0x")};VU.int=HU;VU.intBin=GU;VU.intHex=UU;VU.intOct=WU});var z4=A((DU)=>{var D5=i(),N5=R0(),w5=_0();class n0 extends w5.YAMLMap{constructor($){super($);this.tag=n0.tag}add($){let X;if(D5.isPair($))X=$;else if($&&typeof $==="object"&&"key"in $&&"value"in $&&$.value===null)X=new N5.Pair($.key,null);else X=new N5.Pair($,null);if(!w5.findPair(this.items,X.key))this.items.push(X)}get($,X){let J=w5.findPair(this.items,$);return!X&&D5.isPair(J)?D5.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=w5.findPair(this.items,$);if(J&&!X)this.items.splice(this.items.indexOf(J),1);else if(!J&&X)this.items.push(new N5.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(N5.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(D5.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 W4=A((FU)=>{var RU=R8();function G4($,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 nJ($){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})=>G4($,J),stringify:nJ},_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:($)=>G4($,!1),stringify:nJ},rJ={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(rJ.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=G4(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=rJ});var sJ=A((gU)=>{var jU=O8(),TU=H5(),ZU=L8(),CU=j6(),PU=$4(),aJ=cJ(),H4=dJ(),O5=iJ(),bU=X5(),fU=Q4(),kU=K5(),xU=z4(),U4=W4(),yU=[jU.map,ZU.seq,CU.string,TU.nullTag,aJ.trueTag,aJ.falseTag,O5.intBin,O5.intOct,O5.int,O5.intHex,H4.floatNaN,H4.floatExp,H4.float,PU.binary,bU.merge,fU.omap,kU.pairs,xU.set,U4.intTime,U4.floatTime,U4.timestamp];gU.schema=yU});var z1=A((iU)=>{var $1=O8(),hU=H5(),X1=L8(),uU=j6(),mU=iX(),V4=rX(),B4=sX(),lU=bJ(),cU=kJ(),J1=$4(),P6=X5(),Q1=Q4(),q1=K5(),oJ=sJ(),Y1=z4(),L5=W4(),tJ=new Map([["core",lU.schema],["failsafe",[$1.map,X1.seq,uU.string]],["json",cU.schema],["yaml11",oJ.schema],["yaml-1.1",oJ.schema]]),eJ={binary:J1.binary,bool:mU.boolTag,float:V4.float,floatExp:V4.floatExp,floatNaN:V4.floatNaN,floatTime:L5.floatTime,int:B4.int,intHex:B4.intHex,intOct:B4.intOct,intTime:L5.intTime,map:$1.map,merge:P6.merge,null:hU.nullTag,omap:Q1.omap,pairs:q1.pairs,seq:X1.seq,set:Y1.set,timestamp:L5.timestamp},dU={"tag:yaml.org,2002:binary":J1.binary,"tag:yaml.org,2002:merge":P6.merge,"tag:yaml.org,2002:omap":Q1.omap,"tag:yaml.org,2002:pairs":q1.pairs,"tag:yaml.org,2002:set":Y1.set,"tag:yaml.org,2002:timestamp":L5.timestamp};function pU($,X,J){let Q=tJ.get(X);if(Q&&!$)return J&&!Q.includes(P6.merge)?Q.concat(P6.merge):Q.slice();let q=Q;if(!q)if(Array.isArray($))q=[];else{let Y=Array.from(tJ.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(P6.merge);return q.reduce((Y,z)=>{let G=typeof z==="string"?eJ[z]:z;if(!G){let W=JSON.stringify(z),H=Object.keys(eJ).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 N4=A((eU)=>{var K4=i(),aU=O8(),sU=L8(),oU=j6(),R5=z1(),tU=($,X)=>$.key<X.key?-1:$.key>X.key?1:0;class M4{constructor({compat:$,customTags:X,merge:J,resolveKnownTags:Q,schema:q,sortMapEntries:Y,toStringDefaults:z}){this.compat=Array.isArray($)?R5.getTags($,"compat"):$?R5.getTags(null,$):null,this.name=typeof q==="string"&&q||"core",this.knownTags=Q?R5.coreKnownTags:{},this.tags=R5.getTags(X,this.name,J),this.toStringOptions=z??null,Object.defineProperty(this,K4.MAP,{value:aU.map}),Object.defineProperty(this,K4.SCALAR,{value:oU.string}),Object.defineProperty(this,K4.SEQ,{value:sU.seq}),this.sortMapEntries=typeof Y==="function"?Y:Y===!0?tU:null}clone(){let $=Object.create(M4.prototype,Object.getOwnPropertyDescriptors(this));return $.tags=this.tags.slice(),$}}eU.Schema=M4});var G1=A((QV)=>{var XV=i(),w4=F6(),b6=R6();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=w4.createStringifyContext($,X),{commentString:Y}=q.options;if($.commentBefore){if(J.length!==1)J.unshift("");let W=Y($.commentBefore);J.unshift(b6.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(b6.indentComment(U,""))}q.forceBlockIndent=!!$.comment,G=$.contents.comment}let W=G?void 0:()=>z=!0,H=w4.stringify($.contents,q,()=>G=null,W);if(G)H+=b6.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(w4.stringify($.contents,q));if($.directives?.docEnd)if($.comment){let W=Y($.comment);if(W.includes(`
|
|
81
|
+
`))J.push("..."),J.push(b6.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(b6.indentComment(Y(W),""))}}return J.join(`
|
|
82
82
|
`)+`
|
|
83
|
-
`}QV.stringifyDocument=JV});var
|
|
83
|
+
`}QV.stringifyDocument=JV});var f6=A((BV)=>{var YV=O6(),A8=a2(),x$=i(),zV=R0(),GV=D0(),WV=N4(),HV=G1(),D4=i2(),UV=yX(),VV=L6(),O4=xX();class L4{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 O4.Directives({version:Y});this.setSchema(Y,J),this.contents=$===void 0?null:this.createNode($,Q,J)}clone(){let $=Object.create(L4.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=D4.anchorNames(this);$.anchor=!X||J.has(X)?D4.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:B,sourceObjects:V}=D4.createNodeAnchors(this,Y||"a"),N={aliasDuplicateObjects:q??!0,keepUndefined:G??!1,onAnchor:U,onTagObj:W,replacer:Q,schema:this.schema,sourceObjects:V},O=VV.createNode($,H,N);if(z&&x$.isCollection(O))O.flow=!0;return B(),O}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 O4.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 O4.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=L4});var k6=A((NV)=>{class A5 extends Error{constructor($,X,J,Q){super();this.name=$,this.code=J,this.message=Q,this.pos=X}}class W1 extends A5{constructor($,X,J){super("YAMLParseError",$,X,J)}}class H1 extends A5{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(
|
|
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
|
|
92
|
-
`+
|
|
93
|
-
`+a;else S.comment=a;
|
|
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
|
|
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
|
|
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===
|
|
98
|
-
`;else if(D.length>W||F[0]==="\t"){if(
|
|
99
|
-
`;else if(!N&&
|
|
100
|
-
`)
|
|
101
|
-
|
|
102
|
-
`;V
|
|
103
|
-
`,N=!0}else if(F==="")if(
|
|
104
|
-
`)
|
|
105
|
-
`;else
|
|
106
|
-
`;else V
|
|
107
|
-
`+z[M][0].slice(W);if(
|
|
108
|
-
`)
|
|
109
|
-
`;break;default:
|
|
110
|
-
`}let
|
|
88
|
+
`}};NV.YAMLError=A5;NV.YAMLParseError=W1;NV.YAMLWarning=H1;NV.prettifyError=MV});var x6=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,B="",V="",N=!1,O=!1,M=null,D=null,F=null,T=null,P=null,f=null,h=null;for(let S of $){if(O){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");O=!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(!B)B=G$;else B+=V+G$;V="",H=!1;break}case"newline":if(H){if(B)B+=S.source;else if(!f||J!=="seq-item-ind")W=!0}else V+=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,h??(h=S.offset),H=!1,U=!1,O=!0;break;case"tag":{if(F)Y(S,"MULTIPLE_TAGS","A node can have at most one tag");F=S,h??(h=S.offset),H=!1,U=!1,O=!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 y=$[$.length-1],a=y?y.offset+y.source.length:q;if(O&&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:B,hasNewline:N,anchor:D,tag:F,newlineAfterProp:T,end:a,start:h??a}}AV.resolveProps=RV});var _5=A((FV)=>{function R4($){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(R4(X.key)||R4(X.value))return!0}return!1;default:return!0}}FV.containsNewline=R4});var A4=A((jV)=>{var EV=_5();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 _4=A((CV)=>{var U1=i();function ZV($,X,J){let{uniqueKeys:Q}=$.options;if(Q===!1)return!1;let q=typeof Q==="function"?Q:(Y,z)=>Y===z||U1.isScalar(Y)&&U1.isScalar(z)&&Y.value===z.value;return X.some((Y)=>q(Y.key,J))}CV.mapIncludes=ZV});var N1=A((yV)=>{var V1=R0(),bV=_0(),B1=x6(),fV=_5(),K1=A4(),kV=_4(),M1="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:B,key:V,sep:N,value:O}=U,M=B1.resolveProps(B,{indicator:"explicit-key-ind",next:V??N?.[0],offset:W,onError:q,parentIndent:Q.indent,startOnNewline:!0}),D=!M.found;if(D){if(V){if(V.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 V&&V.indent!==Q.indent)q(W,"BAD_INDENT",M1)}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(V))q(V??B[B.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",M1);J.atKey=!0;let F=M.end,T=V?$(J,V,M,q):X(J,F,B,null,M,q);if(J.schema.compat)K1.flowIndentCheck(Q.indent,V,q);if(J.atKey=!1,kV.mapIncludes(J,G.items,T))q(F,"DUPLICATE_KEY","Map keys must be unique");let P=B1.resolveProps(N??[],{indicator:"map-value-ind",next:O,offset:T.range[2],onError:q,parentIndent:Q.indent,startOnNewline:!V||V.type==="block-scalar"});if(W=P.end,P.found){if(D){if(O?.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=O?$(J,O,P,q):X(J,W,N,null,P,q);if(J.schema.compat)K1.flowIndentCheck(Q.indent,O,q);W=f.range[2];let h=new V1.Pair(T,f);if(J.options.keepSourceTokens)h.srcToken=U;G.items.push(h)}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 V1.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 w1=A((lV)=>{var vV=F0(),hV=x6(),uV=A4();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:B}of Q.items){let V=hV.resolveProps(U,{indicator:"seq-item-ind",next:B,offset:W,onError:q,parentIndent:Q.indent,startOnNewline:!0});if(!V.found)if(V.anchor||V.tag||B)if(B?.type==="block-seq")q(V.end,"BAD_INDENT","All sequence items must start at the same column");else q(W,"MISSING_CHAR","Sequence item without - indicator");else{if(H=V.end,V.comment)G.comment=V.comment;continue}let N=B?$(J,B,V,q):X(J,V.end,U,null,V,q);if(J.schema.compat)uV.flowIndentCheck(Q.indent,B,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 L1=A(($B)=>{var nV=i(),rV=R0(),D1=_0(),aV=F0(),sV=F8(),O1=x6(),oV=_5(),tV=_4(),F4="Block collections are not allowed within flow collections",I4=($)=>$&&($.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?D1.YAMLMap:aV.YAMLSeq))(J.schema);H.flow=!0;let U=J.atRoot;if(U)J.atRoot=!1;if(J.atKey)J.atKey=!1;let B=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:h}=F,y=O1.resolveProps(T,{flow:G,indicator:"explicit-key-ind",next:P??f?.[0],offset:B,onError:q,parentIndent:Q.indent,startOnNewline:!1});if(!y.found){if(!y.anchor&&!y.tag&&!f&&!h){if(D===0&&y.comma)q(y.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${G}`);else if(D<Q.items.length-1)q(y.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${G}`);if(y.comment)if(H.comment)H.comment+=`
|
|
92
|
+
`+y.comment;else H.comment=y.comment;B=y.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(y.comma)q(y.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${G}`)}else{if(!y.comma)q(y.start,"MISSING_CHAR",`Missing , between ${G} items`);if(y.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;y.comment=y.comment.substring(a.length+1)}}}if(!z&&!f&&!y.found){let a=h?$(J,h,y,q):X(J,y.end,f,null,y,q);if(H.items.push(a),B=a.range[2],I4(h))q(a.range,"BLOCK_IN_FLOW",F4)}else{J.atKey=!0;let a=y.end,S=P?$(J,P,y,q):X(J,a,T,null,y,q);if(I4(P))q(S.range,"BLOCK_IN_FLOW",F4);J.atKey=!1;let G$=O1.resolveProps(f??[],{flow:G,indicator:"map-value-ind",next:h,offset:S.range[2],onError:q,parentIndent:Q.indent,startOnNewline:!1});if(G$.found){if(!z&&!y.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(y.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(h)if("source"in h&&h.source?.[0]===":")q(h,"MISSING_CHAR",`Missing space after : in ${G}`);else q(G$.start,"MISSING_CHAR",`Missing , or : between ${G} items`);let r$=h?$(J,h,G$,q):G$.found?X(J,G$.end,f,null,G$,q):null;if(r$){if(I4(h))q(r$.range,"BLOCK_IN_FLOW",F4)}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 D1.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$)}B=r$?r$.range[2]:G$.end}}let V=z?"}":"]",[N,...O]=Q.end,M=B;if(N?.source===V)M=N.offset+N.source.length;else{let D=G[0].toUpperCase()+G.substring(1),F=U?`${D} must end with a ${V}`:`${D} in block collection must be sufficiently indented and end with a ${V}`;if(q(B,U?"MISSING_CHAR":"BAD_INDENT",F),N&&N.source.length!==1)O.unshift(N)}if(O.length>0){let D=sV.resolveEnd(O,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 R1=A((UB)=>{var JB=i(),QB=M$(),qB=_0(),YB=F0(),zB=N1(),GB=w1(),WB=L1();function E4($,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,(V)=>q(Y,"TAG_RESOLVE_FAILED",V));if(J.type==="block-seq"){let{anchor:V,newlineAfterProp:N}=Q,O=V&&Y?V.offset>Y.offset?V:Y:V??Y;if(O&&(!N||N.offset<O.offset))q(O,"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 E4($,X,J,q,z);let W=X.schema.tags.find((V)=>V.tag===z&&V.collection===G);if(!W){let V=X.schema.knownTags[z];if(V?.collection===G)X.schema.tags.push(Object.assign({},V,{default:!1})),W=V;else{if(V)q(Y,"BAD_COLLECTION_TYPE",`${V.tag} used for ${G} collection, but expects ${V.collection??"scalar"}`,!0);else q(Y,"TAG_RESOLVE_FAILED",`Unresolved tag: ${z}`,!0);return E4($,X,J,q,z)}}let H=E4($,X,J,q,z,W),U=W.resolve?.(H,(V)=>q(Y,"TAG_RESOLVE_FAILED",V),X.options)??H,B=JB.isNode(U)?U:new QB.Scalar(U);if(B.range=H.range,B.tag=z,W?.format)B.format=W.format;return B}UB.composeCollection=HB});var j4=A((NB)=>{var S4=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===">"?S4.Scalar.BLOCK_FOLDED:S4.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 B="",V="",N=!1;for(let M=0;M<U;++M)B+=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===S4.Scalar.BLOCK_LITERAL)B+=V+D.slice(W)+F,V=`
|
|
98
|
+
`;else if(D.length>W||F[0]==="\t"){if(V===" ")V=`
|
|
99
|
+
`;else if(!N&&V===`
|
|
100
|
+
`)V=`
|
|
101
|
+
|
|
102
|
+
`;B+=V+D.slice(W)+F,V=`
|
|
103
|
+
`,N=!0}else if(F==="")if(V===`
|
|
104
|
+
`)B+=`
|
|
105
|
+
`;else V=`
|
|
106
|
+
`;else B+=V+F,V=" ",N=!1}switch(q.chomp){case"-":break;case"+":for(let M=G;M<z.length;++M)B+=`
|
|
107
|
+
`+z[M][0].slice(W);if(B[B.length-1]!==`
|
|
108
|
+
`)B+=`
|
|
109
|
+
`;break;default:B+=`
|
|
110
|
+
`}let O=Q+q.length+X.source.length;return{value:B,type:Y,comment:q.comment,range:[Q,O,O]}}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 V=1;V<q.length;++V){let N=q[V];if(!G&&(N==="-"||N==="+"))G=N;else{let O=Number(N);if(!z&&O)z=O;else if(W===-1)W=$+V}}if(W!==-1)Q(W,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${q}`);let H=!1,U="",B=q.length;for(let V=1;V<X.length;++V){let N=X[V];switch(N.type){case"space":H=!0;case"newline":B+=N.source.length;break;case"comment":if(J&&!H)Q(N,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");B+=N.source.length,U=N.source.substring(1);break;case"error":Q(N,"UNEXPECTED_TOKEN",N.message),B+=N.source.length;break;default:{let O=`Unexpected token in block scalar header: ${N.type}`;Q(N,"UNEXPECTED_TOKEN",O);let M=N.source;if(M&&typeof M==="string")B+=M.length}}}return{mode:Y,indent:z,chomp:G,comment:U,length:B}}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 Z4=A((EB)=>{var T4=M$(),DB=F8();function OB($,X,J){let{offset:Q,type:q,source:Y,end:z}=$,G,W,H=(V,N,O)=>J(Q+V,N,O);switch(q){case"scalar":G=T4.Scalar.PLAIN,W=LB(Y,H);break;case"single-quoted-scalar":G=T4.Scalar.QUOTE_SINGLE,W=RB(Y,H);break;case"double-quoted-scalar":G=T4.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,B=DB.resolveEnd(z,U,X,J);return{value:W,type:G,comment:B.comment,range:[Q,U,B.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 A1($)}function RB($,X){if($[$.length-1]!=="'"||$.length===1)X($.length,"MISSING_CHAR","Missing closing 'quote");return A1($.slice(1,-1)).replace(/''/g,"'")}function A1($){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,60 +122,60 @@ ${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
|
|
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 F1=A((bB)=>{var r0=i(),_1=M$(),jB=j4(),TB=Z4();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,(B)=>Q(J,"TAG_RESOLVE_FAILED",B)):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 B=H.resolve(q,(V)=>Q(J??X,"TAG_RESOLVE_FAILED",V),$.options);U=r0.isScalar(B)?B:new _1.Scalar(B)}catch(B){let V=B instanceof Error?B.message:String(B);Q(J??X,"TAG_RESOLVE_FAILED",V),U=new _1.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 I1=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 j1=A((dB)=>{var gB=O6(),vB=i(),hB=R1(),E1=F1(),uB=F8(),mB=I1(),lB={composeNode:S1,composeEmptyNode:C4};function S1($,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=E1.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(B){let V=B instanceof Error?B.message:String(B);Q(X,"RESOURCE_EXHAUSTION",V)}break;default:{let B=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;Q(X,"UNEXPECTED_TOKEN",B),U=!1}}if(H??(H=C4($,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 C4($,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:""},B=E1.composeScalar($,U,G,H);if(z){if(B.anchor=z.source.substring(1),B.anchor==="")H(z,"BAD_ALIAS","Anchor cannot be an empty string")}if(q)B.spaceBefore=!0;if(Y)B.comment=Y,B.range[2]=W;return B}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=C4;dB.composeNode=S1});var Z1=A((oB)=>{var nB=f6(),T1=j1(),rB=F8(),aB=x6();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?T1.composeNode(H,q,U,z):T1.composeEmptyNode(H,U.end,Q,null,U,z);let B=W.contents.range[2],V=rB.resolveEnd(Y,B,!1,z);if(V.comment)W.comment=V.comment;return W.range=[J,B,V.offset],W}oB.composeDoc=sB});var P4=A((qK)=>{var eB=W$("process"),$K=xX(),XK=f6(),y6=k6(),C1=i(),JK=Z1(),QK=F8();function g6($){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 P1($){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
|
-
`)+(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
|
|
129
|
-
${J}`:J;else if(Q||$.directives.docStart||!q)$.commentBefore=J;else if(
|
|
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 b1{constructor($={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,J,Q,q)=>{let Y=g6(X);if(q)this.warnings.push(new y6.YAMLWarning(Y,J,Q));else this.errors.push(new y6.YAMLParseError(Y,J,Q))},this.directives=new $K.Directives({version:$.version||"1.2"}),this.options=$}decorate($,X){let{comment:J,afterEmptyLine:Q}=P1(this.prelude);if(J){let q=$.contents;if(X)$.comment=$.comment?`${$.comment}
|
|
129
|
+
${J}`:J;else if(Q||$.directives.docStart||!q)$.commentBefore=J;else if(C1.isCollection(q)&&!q.flow&&q.items.length>0){let Y=q.items[0];if(C1.isPair(Y))Y=Y.key;let z=Y.commentBefore;Y.commentBefore=z?`${J}
|
|
130
130
|
${z}`:J}else{let Y=q.commentBefore;q.commentBefore=Y?`${J}
|
|
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:
|
|
132
|
-
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new
|
|
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:P1(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=g6($);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 y6.YAMLParseError(g6($),"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 y6.YAMLParseError(g6($),"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
|
+
${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new y6.YAMLParseError(g6($),"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=b1});var x1=A((KK)=>{var zK=j4(),GK=Z4(),WK=k6(),f1=_6();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=f1.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),B=G.substring(H+1)+`
|
|
135
|
+
`,V=[{type:"block-scalar-header",offset:Y,indent:Q,source:U}];if(!k1(V,W))V.push({type:"newline",offset:-1,indent:Q,source:`
|
|
136
|
+
`});return{type:"block-scalar",offset:Y,indent:Q,props:V,source:B}}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=f1.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'"':b4($,W,"double-quoted-scalar");break;case"'":b4($,W,"single-quoted-scalar");break;default:b4($,W,"scalar")}}function BK($,X){let J=X.indexOf(`
|
|
137
137
|
`),Q=X.substring(0,J),q=X.substring(J+1)+`
|
|
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(!
|
|
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
|
|
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
|
|
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(!k1(G,"end"in $?$.end:void 0))G.push({type:"newline",offset:-1,indent:z,source:`
|
|
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 k1($,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 b4($,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 y1=A((OK)=>{var DK=($)=>("type"in $)?I5($):F5($);function I5($){switch($.type){case"block-scalar":{let X="";for(let J of $.props)X+=I5(J);return X+$.source}case"block-map":case"block-seq":{let X="";for(let J of $.items)X+=F5(J);return X}case"flow-collection":{let X=$.start.source;for(let J of $.items)X+=F5(J);for(let J of $.end)X+=J.source;return X}case"document":{let X=F5($);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 F5({start:$,key:X,sep:J,value:Q}){let q="";for(let Y of $)q+=Y.source;if(X)q+=I5(X);if(J)for(let Y of J)q+=Y.source;if(Q)q+=I5(Q);return q}OK.stringify=DK});var h1=A((AK)=>{var f4=Symbol("break visit"),RK=Symbol("skip children"),g1=Symbol("remove item");function a0($,X){if("type"in $&&$.type==="document")$={start:$.start,value:$.value};v1(Object.freeze([]),$,X)}a0.BREAK=f4;a0.SKIP=RK;a0.REMOVE=g1;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 v1($,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=v1(Object.freeze($.concat([[q,z]])),Y.items[z],J);if(typeof G==="number")z=G-1;else if(G===f4)return f4;else if(G===g1)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 E5=A((ZK)=>{var k4=x1(),FK=y1(),IK=h1(),x4="\uFEFF",y4="\x02",g4="\x18",v4="\x1F",EK=($)=>!!$&&("items"in $),SK=($)=>!!$&&($.type==="scalar"||$.type==="single-quoted-scalar"||$.type==="double-quoted-scalar"||$.type==="block-scalar");function jK($){switch($){case x4:return"<BOM>";case y4:return"<DOC>";case g4:return"<FLOW_END>";case v4:return"<SCALAR>";default:return JSON.stringify($)}}function TK($){switch($){case x4:return"byte-order-mark";case y4:return"doc-mode";case g4:return"flow-error-end";case v4: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=
|
|
143
|
-
`:case"\r":case"\t":return!0;default:return!1}}var
|
|
144
|
-
\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=k4.createScalarToken;ZK.resolveAsScalar=k4.resolveAsScalar;ZK.setScalarValue=k4.setScalarValue;ZK.stringify=FK.stringify;ZK.visit=IK.visit;ZK.BOM=x4;ZK.DOCUMENT=y4;ZK.FLOW_END=g4;ZK.SCALAR=v4;ZK.isCollection=EK;ZK.isScalar=SK;ZK.prettyToken=jK;ZK.tokenType=TK});var u4=A((pK)=>{var v6=E5();function h$($){switch($){case void 0:case" ":case`
|
|
143
|
+
`:case"\r":case"\t":return!0;default:return!1}}var u1=new Set("0123456789ABCDEFabcdef"),cK=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),S5=new Set(",[]{}"),dK=new Set(` ,[]{}
|
|
144
|
+
\r `),h4=($)=>!$||dK.has($);class m1{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===`
|
|
147
147
|
`||!Q&&!this.atEnd)return $+J+1}return X===`
|
|
148
148
|
`||J>=this.indentNext||!X&&!this.atEnd?$+J:-1}if(X==="-"||X==="."){let J=this.buffer.substr($,3);if((J==="---"||J==="...")&&h$(this.buffer[$+3]))return-1}return $}getLine(){let $=this.lineEndPos;if(typeof $!=="number"||$!==-1&&$<this.pos)$=this.buffer.indexOf(`
|
|
149
|
-
`,this.pos),this.lineEndPos=$;if($===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[$-1]==="\r")$-=1;return this.buffer.substring(this.pos,$)}hasChars($){return this.pos+$<=this.buffer.length}setNext($){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=$,null}peek($){return this.buffer.substr(this.pos,$)}*parseNext($){switch($){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let $=this.getLine();if($===null)return this.setNext("stream");if($[0]===
|
|
149
|
+
`,this.pos),this.lineEndPos=$;if($===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[$-1]==="\r")$-=1;return this.buffer.substring(this.pos,$)}hasChars($){return this.pos+$<=this.buffer.length}setNext($){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=$,null}peek($){return this.buffer.substr(this.pos,$)}*parseNext($){switch($){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let $=this.getLine();if($===null)return this.setNext("stream");if($[0]===v6.BOM)yield*this.pushCount(1),$=$.substring(1);if($[0]==="%"){let X=$.length,J=$.indexOf("#");while(J!==-1){let q=$[J-1];if(q===" "||q==="\t"){X=J-1;break}else J=$.indexOf("#",J+1)}while(!0){let q=$[X-1];if(q===" "||q==="\t")X-=1;else break}let Q=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount($.length-Q),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount($.length-X),yield*this.pushNewline(),"stream"}return yield v6.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let $=this.charAt(0);if(!$&&!this.atEnd)return this.setNext("line-start");if($==="-"||$==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&h$(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,X==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!h$(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[$,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if(($==="-"||$==="?"||$===":")&&h$(X)){let J=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=J,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let $=this.getLine();if($===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch($[X]){case"#":yield*this.pushCount($.length-X);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(h4),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount($.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let $,X,J=-1;do{if($=yield*this.pushNewline(),$>0)X=yield*this.pushSpaces(!1),this.indentValue=J=X;else X=0;X+=yield*this.pushSpaces(!0)}while($+X>0);let Q=this.getLine();if(Q===null)return this.setNext("flow");if(J!==-1&&J<this.indentNext&&Q[0]!=="#"||J===0&&(Q.startsWith("---")||Q.startsWith("..."))&&h$(Q[3])){if(!(J===this.indentNext-1&&this.flowLevel===1&&(Q[0]==="]"||Q[0]==="}")))return this.flowLevel=0,yield v6.FLOW_END,yield*this.parseLineStart()}let q=0;while(Q[q]===",")q+=yield*this.pushCount(1),q+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(q+=yield*this.pushIndicators(),Q[q]){case void 0:return"flow";case"#":return yield*this.pushCount(Q.length-q),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(h4),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let Y=this.charAt(1);if(this.flowKey||h$(Y)||Y===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let $=this.charAt(0),X=this.buffer.indexOf($,this.pos+1);if($==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let q=0;while(this.buffer[X-1-q]==="\\")q+=1;if(q%2===0)break;X=this.buffer.indexOf('"',X+1)}let J=this.buffer.substring(0,X),Q=J.indexOf(`
|
|
150
150
|
`,this.pos);if(Q!==-1){while(Q!==-1){let q=this.continueScalar(Q+1);if(q===-1)break;Q=J.indexOf(`
|
|
151
151
|
`,q)}if(Q!==-1)X=Q-(J[Q-1]==="\r"?2:1)}if(X===-1){if(!this.atEnd)return this.setNext("quoted-scalar");X=this.buffer.length}return yield*this.pushToIndex(X+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let $=this.pos;while(!0){let X=this.buffer[++$];if(X==="+")this.blockScalarKeep=!0;else if(X>"0"&&X<="9")this.blockScalarIndent=Number(X)-1;else if(X!=="-")break}return yield*this.pushUntil((X)=>h$(X)||X==="#")}*parseBlockScalar(){let $=this.pos-1,X=0,J;$:for(let q=this.pos;J=this.buffer[q];++q)switch(J){case" ":X+=1;break;case`
|
|
152
152
|
`:$=q,X=0;break;case"\r":{let Y=this.buffer[q+1];if(!Y&&!this.atEnd)return this.setNext("block-scalar");if(Y===`
|
|
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
|
|
156
|
+
`&&q>=this.pos&&q+1+X>z)$=q;else break}while(!0);return yield v6.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)||$&&S5.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==="#"||$&&S5.has(q))break;if(Q===`
|
|
159
|
+
`){let Y=this.continueScalar(J+1);if(Y===-1)break;J=Math.max(J,Y-2)}}else{if($&&S5.has(Q))break;X=J}if(!Q&&!this.atEnd)return this.setNext("plain-scalar");return yield v6.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(h4))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let $=this.flowLevel>0,X=this.charAt(1);if(h$(X)||$&&S5.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==="%"&&u1.has(this.buffer[$+1])&&u1.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=
|
|
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=m1});var m4=A((nK)=>{class l1{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=l1});var l4=A((oK)=>{var aK=W$("process"),c1=E5(),sK=u4();function I0($,X){for(let J=0;J<$.length;++J)if($[J].type===X)return!0;return!1}function d1($){for(let X=0;X<$.length;++X)switch($[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function i1($){switch($?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function j5($){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 p1($){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,i1(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 n1{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("|",c1.prettyToken($));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=$.length;return}let X=c1.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")p1(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&&d1(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(d1($.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=j5(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(
|
|
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(i1(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=j5(J),q=I8(Q);p1($);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=j5($),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=j5($),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=n1});var t1=A((zM)=>{var r1=P4(),eK=f6(),h6=k6(),$M=mX(),XM=i(),JM=m4(),a1=l4();function s1($){let X=$.prettyErrors!==!1;return{lineCounter:$.lineCounter||X&&new JM.LineCounter||null,prettyErrors:X}}function QM($,X={}){let{lineCounter:J,prettyErrors:Q}=s1(X),q=new a1.Parser(J?.addNewLine),Y=new r1.Composer(X),z=Array.from(Y.compose(q.parse($)));if(Q&&J)for(let G of z)G.errors.forEach(h6.prettifyError($,J)),G.warnings.forEach(h6.prettifyError($,J));if(z.length>0)return z;return Object.assign([],{empty:!0},Y.streamInfo())}function o1($,X={}){let{lineCounter:J,prettyErrors:Q}=s1(X),q=new a1.Parser(J?.addNewLine),Y=new r1.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 h6.YAMLParseError(G.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Q&&J)z.errors.forEach(h6.prettifyError($,J)),z.warnings.forEach(h6.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=o1($,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=o1;zM.stringify=YM});var VM,BM,KM,c4,MM,E0,NM,wM,DM,OM,_R,LM,RM,AM,T5,e1,_M,FM,IM,EM,SM,jM,TM,ZM,CM,PM,bM,fM,kM,xM,yM,gM,vM,hM,uM,mM,lM,cM,u6,dM,pM,d4,iM,nM;var p4=b(()=>{VM=P4(),BM=f6(),KM=N4(),c4=k6(),MM=O6(),E0=i(),NM=R0(),wM=M$(),DM=_0(),OM=F0(),_R=E5(),LM=u4(),RM=m4(),AM=l4(),T5=t1(),e1=w6();_M=VM.Composer,FM=BM.Document,IM=KM.Schema,EM=c4.YAMLError,SM=c4.YAMLParseError,jM=c4.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,u6=T5.parse,dM=T5.parseAllDocuments,pM=T5.parseDocument,d4=T5.stringify,iM=e1.visit,nM=e1.visitAsync});import{readFileSync as XQ,writeFileSync as rM,existsSync as $Q}from"fs";function $$($){let X=XQ($,"utf-8");return u6(X)}function Q$($,X){let J=d4(X,{lineWidth:0});rM($,J,"utf-8")}function e($){return XQ($,"utf-8")}function n($=process.cwd()){let X=["project.faf",".faf"];for(let Q of X){let q=`${$}/${Q}`;if($Q(q))return q}let J=$.replace(/\/[^/]+$/,"");if(J!==$)for(let Q of X){let q=`${J}/${Q}`;if($Q(q))return q}return null}var B$=b(()=>{p4()});var YQ=A(($N,qQ)=>{var __dirname="/Users/wolfejam/FAF/cli/node_modules/faf-scoring-kernel",JQ={};JQ.__wbindgen_placeholder__=$N;var Z5=null;function E8(){if(Z5===null||Z5.byteLength===0)Z5=new Uint8Array(o.memory.buffer);return Z5}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,m6=new TextEncoder;if(!("encodeInto"in m6))m6.encodeInto=function($,X){let J=m6.encode($);return X.set(J),{read:$.length,written:J.length}};function C5($,X,J){if(J===void 0){let G=m6.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=m6.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=C5($,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=C5($,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 i4($,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=i4($,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=i4($,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=C5($,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=C5($,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=i4($,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,JQ).exports;o.__wbindgen_start()});function l6(){if(!n4)try{n4=YQ()}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 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
|
|
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
|
-
`)}}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
|
|
172
|
-
`,"\r"]);C0.NEWLINE_REGEXP=/\r\n|[\n\r]/g});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
|
|
174
|
-
`);J.enqueue(Y)}catch(Q){J.error(Q)}},async cancel(){await X.return?.()}})}}});async function
|
|
175
|
-
${Y.map((
|
|
168
|
+
`)}return n4}function H$($){return JSON.parse(l6().score_faf($))}function zQ($){return l6().validate_faf($)}function GQ($){return l6().compile_fafb($)}function WQ($){return JSON.parse(l6().decompile_fafb($))}function HQ(){return l6().sdk_version()}var n4=null;var r4=($)=>(X)=>`\x1B[${$}m${X}\x1B[0m`,C,w,TR,R=($)=>`\x1B[38;2;0;212;212m${$}\x1B[0m`,o0=($)=>`\x1B[38;5;208m${$}\x1B[0m`;var t=b(()=>{C=r4("1"),w=r4("2"),TR=r4("3")});function P5($){return $.indicator}function UQ($){for(let X of a4)if($>=X.threshold)return X;return a4[a4.length-1]}var a4;var b5=b(()=>{t();a4=[{name:"TROPHY",indicator:`${o0("\uD83C\uDFC6")} ${o0("TROPHY")}`,threshold:100},{name:"GOLD",indicator:`${o0(C("★"))} ${o0("GOLD")}`,threshold:99},{name:"SILVER",indicator:`${R("◆")} ${R("SILVER")}`,threshold:95},{name:"BRONZE",indicator:`${R("◇")} ${R("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:UQ($.score),populated:$.populated,empty:$.empty,ignored:$.ignored,active:$.active,total:$.total,slots:$.slots}}var u$=b(()=>{b5()});function N$($,X,J=!1){let Q=P5($.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"?R("●"):J==="slotignored"?w("—"):w("○");console.log(` ${Q} ${J==="slotignored"?w(X):X}`)}}var t$=b(()=>{b5();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"],"api-platform":["project","frontend","backend","universal","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 VQ;var BQ=b(()=>{VQ=[{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 g,readFileSync as Z8,readdirSync as KQ}from"fs";import{join as k}from"path";function S0($){let X=k($,"package.json");if(!g(X))return null;try{return JSON.parse(Z8(X,"utf-8"))}catch{return null}}function MQ($){let X=S0($);if(X?.name)return{name:X.name,description:X.description};let J=k($,"pyproject.toml");if(g(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=k($,"Cargo.toml");if(g(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 g(k($,X));let J=X.split("/");if(J.length===1){let G=X.split("*")[0];try{return KQ($).some((W)=>W.startsWith(G))}catch{return!1}}let Q=k($,...J.slice(0,-1)),q=J[J.length-1],Y=q.split("*")[0],z=q.split("*")[1]||"";try{return KQ(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=k($,"pyproject.toml");if(!g(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=k($,"Cargo.toml");if(!g(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 s4($){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=VQ.map((H)=>{let B=H.signals.filter((V)=>MN(V,Y,$)).length/H.signals.length;return{name:H.name,slug:H.slug,category:H.category,confidence:B}}).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 NQ($){let X=S0($);if(X?.devDependencies?.typescript||X?.dependencies?.typescript)return"TypeScript";if(g(k($,"tsconfig.json")))return"TypeScript";if(g(k($,"index.html"))||g(k($,"index.htm")))return"HTML";if(g(k($,"Cargo.toml")))return"Rust";if(g(k($,"go.mod")))return"Go";if(g(k($,"pyproject.toml"))||g(k($,"setup.py")))return"Python";if(g(k($,"Gemfile")))return"Ruby";if(g(k($,"pom.xml"))||g(k($,"build.gradle")))return"Java";if(g(k($,"Package.swift")))return"Swift";if(g(k($,"build.zig")))return"Zig";if(X)return"JavaScript";return"Unknown"}function wQ($){let X=S0($),J=s4($);if(J.some((O)=>O.category==="mcp"))return"mcp";if(X?.bin)return"cli";let q=J.some((O)=>O.slug==="svelte"||O.slug==="sveltekit");if(X?.private===!0&&(g(k($,"pnpm-workspace.yaml"))||X?.workspaces!==void 0)&&q)return"framework";if(q)return"svelte";if(J.some((O)=>O.slug==="nextjs"||O.slug==="nuxt"))return"fullstack";let G=g(k($,"index.html"))||g(k($,"index.htm")),W=g(k($,"404.html"))||g(k($,"about.html"))||g(k($,"contact.html")),H=g(k($,"api")),U=g(k($,"vercel.json")),B=g(k($,"wrangler.toml"))||g(k($,"wrangler.jsonc"));if(H&&(G||U||B))return"api-platform";let V=J.some((O)=>O.category==="frontend"),N=J.some((O)=>O.category==="backend");if(V&&N)return"fullstack";if((G||W)&&!N)return"static-site";if(V)return"frontend";if(N)return"backend";if(X?.main&&!X?.bin)return"library";return"library"}function DQ($){if(g(k($,"bunfig.toml")))return"Bun";if(g(k($,"deno.json"))||g(k($,"deno.jsonc")))return"Deno";if(S0($))return"Node.js";if(g(k($,"Cargo.toml")))return"Rust";if(g(k($,"go.mod")))return"Go";return"Unknown"}function OQ($){if(g(k($,"bun.lockb"))||g(k($,"bun.lock")))return"bun";if(g(k($,"pnpm-lock.yaml")))return"pnpm";if(g(k($,"yarn.lock")))return"yarn";if(g(k($,"package-lock.json")))return"npm";return"npm"}function LQ($){if(g(k($,".github/workflows")))return"GitHub Actions";if(g(k($,".gitlab-ci.yml")))return"GitLab CI";if(g(k($,".circleci")))return"CircleCI";if(g(k($,"Jenkinsfile")))return"Jenkins";return null}function RQ($){if(g(k($,"vercel.json")))return"Vercel";if(g(k($,"netlify.toml")))return"Netlify";if(g(k($,"wrangler.toml")))return"Cloudflare";if(g(k($,"Dockerfile")))return"Docker";if(g(k($,"fly.toml")))return"Fly.io";if(g(k($,"render.yaml")))return"Render";return null}function AQ($){let X=k($,"svelte.config.js");if(!g(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 _Q($){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(g(k($,"tsconfig.json"))&&X?.devDependencies?.typescript)return"TypeScript (tsc)";return null}var FQ=b(()=>{BQ()});function C8($){let X=S0($),J=s4($),Q=NQ($),q=wQ($),Y=DQ($),z=OQ($),G=LQ($),W=RQ($),H=_Q($),U=J.find((X$)=>X$.category==="frontend"),B=J.find((X$)=>X$.category==="css"),V=J.find((X$)=>X$.category==="ui"),N=J.find((X$)=>X$.category==="state"),O=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",h=f?J.find((X$)=>X$.category==="mcp"):null,y=h?.slug??null,a=q==="svelte"||P==="svelte",S=a?AQ($):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]=B?.name??"";break;case"ui_library":if(q==="static-site")p[r]="Vanilla JS";else p[r]=V?.name??"";break;case"state_management":p[r]=a?N?.name??"Runes":N?.name??"";break;case"backend":if(f&&h)p[r]=h.name;else if(q==="static-site")p[r]="Static";else if(a)p[r]=G$?"SvelteKit":O?.name??"";else p[r]=O?.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 T9=MQ($),_X={name:T9?.name??$.split("/").pop()??"project",goal:T9?.description??"",main_language:Q,type:q};if(F&&P)_X.framework=P;if(f&&y)_X.framework=y;return{faf_version:"3.0",project:_X,stack:p,human_context:{who:"",what:X?.description??"",why:"",where:"",when:"",how:""},monorepo:B8}}var f5=b(()=>{G0();FQ()});var SQ={};IX(SQ,{autoCommand:()=>o4});import{existsSync as ON}from"fs";import{join as LN}from"path";function o4(){let $=process.cwd(),X=LN($,"project.faf"),J=C8($);if(ON(X)){let Y=$$(X),z=EQ(Y,J);Q$(X,z),console.log(`${R("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(`${R("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 EQ($,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]=EQ(J[Q]??{},q);return J}var t4=b(()=>{f5();B$();u$();t$();t();G0()});var cQ=A((j_,cN)=>{cN.exports={name:"faf-cli",version:"6.0.16",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 G7=A((BF,Jq)=>{var Xq=W$("fs"),z7;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(z7===void 0)z7=tN()||eN();return z7}});var Yq=A((KF,W7)=>{var $w=W$("os"),Xw=W$("fs"),Qq=G7(),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__)W7.exports=qq;else W7.exports=qq()});var Gq=A((MF,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((NF,Kq)=>{var __dirname="/Users/wolfejam/FAF/cli/node_modules/open",Jw=W$("path"),Qw=W$("child_process"),{promises:v5,constants:Bq}=W$("fs"),g5=Yq(),qw=G7(),U7=Gq(),Wq=Jw.join(__dirname,"xdg-open"),{platform:P8,arch:Hq}=process,Yw=()=>{try{return v5.statSync("/run/.containerenv"),!0}catch{return!1}},H7;function zw(){if(H7===void 0)H7=Yw()||qw();return H7}var Gw=(()=>{let X;return async function(){if(X)return X;let J="/etc/wsl.conf",Q=!1;try{await v5.access(J,Bq.F_OK),Q=!0}catch{}if(!Q)return"/mnt/";let q=await v5.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},h5=async($)=>{if($={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...$},Array.isArray($.app))return Uq($.app,(G)=>h5({...$,app:G}));let{name:X,arguments:J=[]}=$.app||{};if(J=[...J],Array.isArray(X))return Uq(X,(G)=>h5({...$,app:{name:G,arguments:J}}));let Q,q=[],Y={};if(P8==="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(P8==="win32"||g5&&!zw()&&!X){let G=await Gw();if(Q=g5?`${G}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:`${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`,q.push("-NoProfile","-NonInteractive","–ExecutionPolicy","Bypass","-EncodedCommand"),!g5)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 v5.access(Wq,Bq.X_OK),W=!0}catch{}Q=process.versions.electron||P8==="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(P8==="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},V7=($,X)=>{if(typeof $!=="string")throw TypeError("Expected a `target`");return h5({...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 h5({...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 B7({[P8]:$},{wsl:X}){if(X&&g5)return Vq(X);if(!$)throw Error(`${P8} is not supported`);return Vq($)}var u5={};U7(u5,"chrome",()=>B7({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"]}}));U7(u5,"firefox",()=>B7({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));U7(u5,"edge",()=>B7({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));V7.apps=u5;V7.openApp=Ww;Kq.exports=V7});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 K7=function(){let{crypto:$}=globalThis;if($?.randomUUID)return K7=$.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 s6=($)=>{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,b8,f8,k8,x8,y8,g8,v8,h8,u8;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:s6(X)});let q=X;if($===400)return new f8($,q,J,Q);if($===401)return new k8($,q,J,Q);if($===403)return new x8($,q,J,Q);if($===404)return new y8($,q,J,Q);if($===409)return new g8($,q,J,Q);if($===422)return new v8($,q,J,Q);if($===429)return new h8($,q,J,Q);if($>=500)return new u8($,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}};b8=class b8 extends T0{constructor({message:$}={}){super({message:$??"Request timed out."})}};f8=class f8 extends w${};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${}});function m5($){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($)},M7=($)=>(M7=Array.isArray,M7($)),N7,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},l5=($)=>{try{return JSON.parse($)}catch(X){return}};var e0=b(()=>{T$();jw=/^[a-z][a-z0-9+.-]*:/i,N7=M7});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 w7=()=>{};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 D7(...$){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 c5($){let X=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return D7({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 o6($){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 t6($){let X;return(yq??(X=new globalThis.TextEncoder,yq=X.encode.bind(X)))($)}function O7($){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"?t6($):$;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(O7(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=O7(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
|
+
`)}}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 L7=b(()=>{W0();Z$=new WeakMap,C$=new WeakMap;C0.NEWLINE_CHARS=new Set([`
|
|
172
|
+
`,"\r"]);C0.NEWLINE_REGEXP=/\r\n|[\n\r]/g});function e6(){}function d5($,X,J){if(!X||p5[$]>p5[J])return e6;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:d5("error",X,J),warn:d5("warn",X,J),info:d5("info",X,J),debug:d5("debug",X,J)};return uq.set(X,[J,q]),q}var p5,R7=($,X,J)=>{if(!$)return;if(Eq(p5,$))return $;L$(J).warn(`${X} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(p5))}`);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 i5=b(()=>{e0();p5={off:0,error:200,warn:300,info:400,debug:500};kw={error:e6,warn:e6,info:e6,debug:e6},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=o6($.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"?t6(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 $2,P$;var A7=b(()=>{W0();T$();L7();e0();i5();T$();P$=class P${constructor($,X,J){this.iterator=$,$2.set(this,void 0),this.controller=X,I(this,$2,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,l5(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=o6($);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)}[($2=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,$2,"f")),new P$(()=>Q(X),this.controller,K(this,$2,"f"))]}toReadableStream(){let $=this,X;return D7({async start(){X=$[Symbol.asyncIterator]()},async pull(J){try{let{value:Q,done:q}=await X.next();if(q)return J.close();let Y=t6(JSON.stringify(Q)+`
|
|
174
|
+
`);J.enqueue(Y)}catch(Q){J.error(Q)}},async cancel(){await X.return?.()}})}}});async function n5($,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 V=await J.json();return _7(V,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 _7($,X){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:X.headers.get("request-id"),enumerable:!1})}var F7=b(()=>{A7();i5()});var X2,P0;var r5=b(()=>{W0();F7();P0=class P0 extends Promise{constructor($,X,J=n5){super((Q)=>{Q(null)});this.responsePromise=X,this.parseResponse=J,X2.set(this,void 0),I(this,X2,$,"f")}_thenUnwrap($){return new P0(K(this,X2,"f"),this.responsePromise,async(X,J)=>_7($(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,X2,"f"),$));return this.parsedPromise}then($,X){return this.parse().then($,X)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}};X2=new WeakMap});var a5,I7,J2,m$,Q2;var e$=b(()=>{W0();T$();F7();r5();e0();I7=class I7{constructor($,X,J,Q){a5.set(this,void 0),I(this,a5,$,"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,a5,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(a5=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let X of $.getPaginatedItems())yield X}};J2=class J2 extends P0{constructor($,X,J){super($,X,async(Q,q)=>new J(Q,q.response,await n5(Q,q),q.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let X of $)yield X}};m$=class m$ extends I7{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:{...m5(this.options.query),before_id:X}}}let $=this.last_id;if(!$)return null;return{...this.options,query:{...m5(this.options.query),after_id:$}}}};Q2=class Q2 extends I7{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:{...m5(this.options.query),page:$}}}}});function $8($,X,J){return S7(),new File($,X??"unknown_file",J)}function q2($,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 S7=()=>{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`.":""))}},j7=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function",m8=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])=>E7(Q,q,Y,J))),Q},mw=($)=>$ instanceof Blob&&("name"in $),E7=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()],q2(J,Q),q))}else if(j7(J))$.append(X,$8([await new Response(c5(J)).blob()],q2(J,Q)));else if(mw(J))$.append(X,$8([J],q2(J,Q),{type:J.type}));else if(Array.isArray(J))await Promise.all(J.map((q)=>E7($,X+"[]",q,Q)));else if(typeof J==="object")await Promise.all(Object.entries(J).map(([q,Y])=>E7($,`${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 l8=b(()=>{lq=new WeakMap});async function Y2($,X,J){if(S7(),$=await $,X||(X=q2($,!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 T7(q),X,J)}let Q=await T7($);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 T7($){let X=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)X.push($);else if(cq($))X.push($ instanceof Blob?$:await $.arrayBuffer());else if(j7($))for await(let J of $)X.push(...await T7(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(()=>{l8();l8()});var Z7=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(N7($))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=N7(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,u=($)=>{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 s5($){return typeof $==="object"&&$!==null&&z2 in $}function C7($,X){let J=new Set;if($){for(let Q of $)if(s5(Q))J.add(Q[z2])}if(X)for(let Q of X){if(s5(Q))J.add(Q[z2]);if(Array.isArray(Q.content)){for(let q of Q.content)if(s5(q))J.add(q[z2])}}return Array.from(J)}function o5($,X){let J=C7($,X);if(J.length===0)return{};return{"x-stainless-helper":J.join(", ")}}function nq($){if(s5($))return{"x-stainless-helper":$[z2]};return{}}var z2;var G2=b(()=>{z2=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,B,V)=>{if(/[?#]/.test(B))q=!0;let N=Q[V],O=(q?encodeURIComponent:$)(""+N);if(V!==Q.length&&(N==null||typeof N==="object"&&N.toString===Object.getPrototypeOf(Object.getPrototypeOf(N.hasOwnProperty??rq)??rq)?.toString))O=N+"",Y.push({start:U.length+B.length,length:O.length,error:`Value of type ${Object.prototype.toString.call(N).slice(8,-1)} is not a valid path parameter`});return U+B+(V===Q.length?"":O)},""),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,B)=>U.start-B.start),Y.length>0){let U=0,B=Y.reduce((V,N)=>{let O=" ".repeat(N.start-U),M="^".repeat(N.length);return U=N.start+N.length,V+O+M},"");throw new j(`Path parameters result in path with invalid segments:
|
|
175
|
+
${Y.map((V)=>V.error).join(`
|
|
176
176
|
`)}
|
|
177
177
|
${z}
|
|
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:
|
|
178
|
+
${B}`)}return z},J$;var b0=b(()=>{T$();rq=Object.freeze(Object.create(null)),J$=nw(aq)});var W2;var P7=b(()=>{e$();b$();G2();l8();b0();W2=class W2 extends q${list($={},X){let{betas:J,...Q}=$??{};return this._client.getAPIList("/v1/files",m$,{query:Q,...X,headers:u([{"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:u([{"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:u([{"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:u([{"anthropic-beta":[...Q??[],"files-api-2025-04-14"].toString()},J?.headers])})}upload($,X){let{betas:J,...Q}=$;return this._client.post("/v1/files",m8({body:Q,...X,headers:u([{"anthropic-beta":[...J??[],"files-api-2025-04-14"].toString()},nq(Q.file),X?.headers])},this._client))}}});var H2;var b7=b(()=>{e$();b$();b0();H2=class H2 extends q${retrieve($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/models/${$}?beta=true`,{...J,headers:u([{...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:u([{...J?.toString()!=null?{"anthropic-beta":J?.toString()}:void 0},X?.headers])})}}});var c8=b(()=>{T$()});var t5;var f7=b(()=>{t5={"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 k7($,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 x7($,X,J)}function x7($,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 y7=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},d8=($)=>{if($.length===0)return $;let X=$[$.length-1];switch(X.type){case"separator":return $=$.slice(0,$.length-1),d8($);break;case"number":let J=X.value[X.value.length-1];if(J==="."||J==="-")return $=$.slice(0,$.length-1),d8($);case"string":let Q=$[$.length-2];if(Q?.type==="delimiter")return $=$.slice(0,$.length-1),d8($);else if(Q?.type==="brace"&&Q.value==="{")return $=$.slice(0,$.length-1),d8($);break;case"delimiter":return $=$.slice(0,$.length-1),d8($);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},e5=($)=>JSON.parse(ew(tw(d8(ow($)))));var g7=()=>{};var v7=b(()=>{A7()});function $Y($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}function XY($){}var y$,f0,p8,U2,$X,V2,B2,XX,K2,V0,M2,JX,QX,X8,qX,YX,N2,h7,oq,zX,u7,m7,l7,tq,eq="__json_buf",w2;var JY=b(()=>{W0();g7();c8();v7();y7();w2=class w2{constructor($,X){y$.add(this),this.messages=[],this.receivedMessages=[],f0.set(this,void 0),p8.set(this,null),this.controller=new AbortController,U2.set(this,void 0),$X.set(this,()=>{}),V2.set(this,()=>{}),B2.set(this,void 0),XX.set(this,()=>{}),K2.set(this,()=>{}),V0.set(this,{}),M2.set(this,!1),JX.set(this,!1),QX.set(this,!1),X8.set(this,!1),qX.set(this,void 0),YX.set(this,void 0),N2.set(this,void 0),zX.set(this,(J)=>{if(I(this,JX,!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,U2,new Promise((J,Q)=>{I(this,$X,J,"f"),I(this,V2,Q,"f")}),"f"),I(this,B2,new Promise((J,Q)=>{I(this,XX,J,"f"),I(this,K2,Q,"f")}),"f"),K(this,U2,"f").catch(()=>{}),K(this,B2,"f").catch(()=>{}),I(this,p8,$,"f"),I(this,N2,X?.logger??console,"f")}get response(){return K(this,qX,"f")}get request_id(){return K(this,YX,"f")}async withResponse(){I(this,X8,!0,"f");let $=await K(this,U2,"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 w2(null);return X._run(()=>X._fromReadableStream($)),X}static createMessage($,X,J,{logger:Q}={}){let q=new w2(X,{logger:Q});for(let Y of X.messages)q._addMessageParam(Y);return I(q,p8,{...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,zX,"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",u7).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",m7).call(this,G);if(z.controller.signal?.aborted)throw new A$;K(this,y$,"m",l7).call(this)}finally{if(Q&&q)Q.removeEventListener("abort",q)}}_connected($){if(this.ended)return;I(this,qX,$,"f"),I(this,YX,$?.headers.get("request-id"),"f"),K(this,$X,"f").call(this,$),this._emit("connect")}get ended(){return K(this,M2,"f")}get errored(){return K(this,JX,"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,B2,"f")}get currentMessage(){return K(this,f0,"f")}async finalMessage(){return await this.done(),K(this,y$,"m",h7).call(this)}async finalText(){return await this.done(),K(this,y$,"m",oq).call(this)}_emit($,...X){if(K(this,M2,"f"))return;if($==="end")I(this,M2,!0,"f"),K(this,XX,"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,V2,"f").call(this,Q),K(this,K2,"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,V2,"f").call(this,Q),K(this,K2,"f").call(this,Q),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",K(this,y$,"m",h7).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",u7).call(this),this._connected(null);let q=P$.fromReadableStream($,this.controller);for await(let Y of q)K(this,y$,"m",m7).call(this,Y);if(q.controller.signal?.aborted)throw new A$;K(this,y$,"m",l7).call(this)}finally{if(J&&Q)J.removeEventListener("abort",Q)}}[(f0=new WeakMap,p8=new WeakMap,U2=new WeakMap,$X=new WeakMap,V2=new WeakMap,B2=new WeakMap,XX=new WeakMap,K2=new WeakMap,V0=new WeakMap,M2=new WeakMap,JX=new WeakMap,QX=new WeakMap,X8=new WeakMap,qX=new WeakMap,YX=new WeakMap,N2=new WeakMap,zX=new WeakMap,y$=new WeakSet,h7=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(" ")},u7=function(){if(this.ended)return;I(this,f0,void 0,"f")},m7=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(k7(J,K(this,p8,"f"),{logger:K(this,N2,"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}},l7=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"),k7(X,K(this,p8,"f"),{logger:K(this,N2,"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=e5(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,zX,"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 i8;var GX=b(()=>{i8=class i8 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
|
|
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=
|
|
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 i8?z.content:`Error: ${z instanceof Error?z.message:String(z)}`,is_error:!0}}}))}}var D2,n8,J8,O$,O2,f$,B0,k0,L2,YY,c7,R2;var d7=b(()=>{W0();GX();T$();b$();G2();R2=class R2{constructor($,X,J){D2.add(this),this.client=$,n8.set(this,!1),J8.set(this,!1),O$.set(this,void 0),O2.set(this,void 0),f$.set(this,void 0),B0.set(this,void 0),k0.set(this,void 0),L2.set(this,0),I(this,O$,{params:{...X,messages:structuredClone(X.messages)}},"f");let q=["BetaToolRunner",...C7(X.tools,X.messages)].join(", ");I(this,O2,{...J,headers:u([{"x-stainless-helper":q},J?.headers])},"f"),I(this,k0,zY(),"f")}async*[(n8=new WeakMap,J8=new WeakMap,O$=new WeakMap,O2=new WeakMap,f$=new WeakMap,B0=new WeakMap,k0=new WeakMap,L2=new WeakMap,D2=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,n8,"f"))throw new j("Cannot iterate over a consumed stream");I(this,n8,!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,L2,"f")>=K(this,O$,"f").params.max_iterations)break;I(this,J8,!1,"f"),I(this,B0,void 0,"f"),I(this,L2,($=K(this,L2,"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,O2,"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,O2,"f")),"f"),yield K(this,f$,"f");if(!await K(this,D2,"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,D2,"m",c7).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,n8,!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,D2,"m",c7).call(this,$)}done(){return K(this,k0,"f").promise}async runUntilDone(){if(!K(this,n8,"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)}};c7=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 r8;var p7=b(()=>{T$();L7();r8=class r8{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 r8(o6($.body),X)}}});var A2;var i7=b(()=>{e$();b$();p7();c8();b0();A2=class A2 extends q${create($,X){let{betas:J,...Q}=$;return this._client.post("/v1/messages/batches?beta=true",{body:Q,...X,headers:u([{"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:u([{"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:u([{"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:u([{"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:u([{"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:u([{"anthropic-beta":[...q??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},J?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Y,z)=>r8.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 n7=b(()=>{c8();f7();b$();G2();y7();JY();d7();GX();i7();i7();d7();GX();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 A2(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=t5[q.model]??void 0;Y=this._client.calculateNonstreamingTimeout(q.max_tokens,G)}let z=o5(q.tools,q.messages);return this._client.post("/v1/messages?beta=true",{body:q,timeout:Y??600000,...X,headers:u([{...Q?.toString()!=null?{"anthropic-beta":Q?.toString()}:void 0},z,X?.headers]),stream:J.stream??!1})}parse($,X){return X={...X,headers:u([{"anthropic-beta":[...$.betas??[],"structured-outputs-2025-12-15"].toString()},X?.headers])},this.create($,X).then((J)=>x7(J,$,{logger:this._client.logger??console}))}stream($,X){return w2.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:u([{"anthropic-beta":[...Q??[],"token-counting-2024-11-01"].toString()},X?.headers])})}toolRunner($,X){return new R2(this._client,$,X)}};x0.Batches=A2;x0.BetaToolRunner=R2;x0.ToolError=i8});var _2;var r7=b(()=>{e$();b$();l8();b0();_2=class _2 extends q${create($,X={},J){let{betas:Q,...q}=X??{};return this._client.post(J$`/v1/skills/${$}/versions?beta=true`,m8({body:q,...J,headers:u([{"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:u([{"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:u([{"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:u([{"anthropic-beta":[...q??[],"skills-2025-10-02"].toString()},J?.headers])})}}});var a8;var a7=b(()=>{r7();r7();e$();b$();l8();b0();a8=class a8 extends q${constructor(){super(...arguments);this.versions=new _2(this._client)}create($={},X){let{betas:J,...Q}=$??{};return this._client.post("/v1/skills?beta=true",m8({body:Q,...X,headers:u([{"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:u([{"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:u([{"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:u([{"anthropic-beta":[...Q??[],"skills-2025-10-02"].toString()},J?.headers])})}};a8.Versions=_2});var $0;var s7=b(()=>{P7();P7();b7();b7();n7();n7();a7();a7();$0=class $0 extends q${constructor(){super(...arguments);this.models=new H2(this._client),this.messages=new x0(this._client),this.files=new W2(this._client),this.skills=new a8(this._client)}};$0.Models=H2;$0.Messages=x0;$0.Files=W2;$0.Skills=a8});var s8;var o7=b(()=>{b$();s8=class s8 extends q${create($,X){let{betas:J,...Q}=$;return this._client.post("/v1/complete",{body:Q,timeout:this._client._options.timeout??600000,...X,headers:u([{...J?.toString()!=null?{"anthropic-beta":J?.toString()}:void 0},X?.headers]),stream:$.stream??!1})}}});function HY($){return $?.output_config?.format}function t7($,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 e7($,X,J)}function e7($,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 $9=b(()=>{T$()});function KY($){return $.type==="tool_use"||$.type==="server_tool_use"}function MY($){}var g$,y0,o8,F2,WX,I2,E2,HX,S2,K0,j2,UX,VX,Q8,BX,KX,T2,X9,UY,J9,Q9,q9,Y9,VY,BY="__json_buf",Z2;var NY=b(()=>{W0();c8();v7();g7();$9();Z2=class Z2{constructor($,X){g$.add(this),this.messages=[],this.receivedMessages=[],y0.set(this,void 0),o8.set(this,null),this.controller=new AbortController,F2.set(this,void 0),WX.set(this,()=>{}),I2.set(this,()=>{}),E2.set(this,void 0),HX.set(this,()=>{}),S2.set(this,()=>{}),K0.set(this,{}),j2.set(this,!1),UX.set(this,!1),VX.set(this,!1),Q8.set(this,!1),BX.set(this,void 0),KX.set(this,void 0),T2.set(this,void 0),J9.set(this,(J)=>{if(I(this,UX,!0,"f"),H0(J))J=new A$;if(J instanceof A$)return I(this,VX,!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,F2,new Promise((J,Q)=>{I(this,WX,J,"f"),I(this,I2,Q,"f")}),"f"),I(this,E2,new Promise((J,Q)=>{I(this,HX,J,"f"),I(this,S2,Q,"f")}),"f"),K(this,F2,"f").catch(()=>{}),K(this,E2,"f").catch(()=>{}),I(this,o8,$,"f"),I(this,T2,X?.logger??console,"f")}get response(){return K(this,BX,"f")}get request_id(){return K(this,KX,"f")}async withResponse(){I(this,Q8,!0,"f");let $=await K(this,F2,"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 Z2(null);return X._run(()=>X._fromReadableStream($)),X}static createMessage($,X,J,{logger:Q}={}){let q=new Z2(X,{logger:Q});for(let Y of X.messages)q._addMessageParam(Y);return I(q,o8,{...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,J9,"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",q9).call(this,G);if(z.controller.signal?.aborted)throw new A$;K(this,g$,"m",Y9).call(this)}finally{if(Q&&q)Q.removeEventListener("abort",q)}}_connected($){if(this.ended)return;I(this,BX,$,"f"),I(this,KX,$?.headers.get("request-id"),"f"),K(this,WX,"f").call(this,$),this._emit("connect")}get ended(){return K(this,j2,"f")}get errored(){return K(this,UX,"f")}get aborted(){return K(this,VX,"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,E2,"f")}get currentMessage(){return K(this,y0,"f")}async finalMessage(){return await this.done(),K(this,g$,"m",X9).call(this)}async finalText(){return await this.done(),K(this,g$,"m",UY).call(this)}_emit($,...X){if(K(this,j2,"f"))return;if($==="end")I(this,j2,!0,"f"),K(this,HX,"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,I2,"f").call(this,Q),K(this,S2,"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,I2,"f").call(this,Q),K(this,S2,"f").call(this,Q),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",K(this,g$,"m",X9).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",q9).call(this,Y);if(q.controller.signal?.aborted)throw new A$;K(this,g$,"m",Y9).call(this)}finally{if(J&&Q)J.removeEventListener("abort",Q)}}[(y0=new WeakMap,o8=new WeakMap,F2=new WeakMap,WX=new WeakMap,I2=new WeakMap,E2=new WeakMap,HX=new WeakMap,S2=new WeakMap,K0=new WeakMap,j2=new WeakMap,UX=new WeakMap,VX=new WeakMap,Q8=new WeakMap,BX=new WeakMap,KX=new WeakMap,T2=new WeakMap,J9=new WeakMap,g$=new WeakSet,X9=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")},q9=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(t7(J,K(this,o8,"f"),{logger:K(this,T2,"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}},Y9=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"),t7(X,K(this,o8,"f"),{logger:K(this,T2,"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=e5(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 C2;var z9=b(()=>{e$();b$();p7();c8();b0();C2=class C2 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:u([{Accept:"application/binary"},X?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Q,q)=>r8.fromResponse(q.response,q.controller))}}});var q8,wY,WD;var G9=b(()=>{b$();G2();NY();$9();z9();z9();f7();q8=class q8 extends q${constructor(){super(...arguments);this.batches=new C2(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=t5[$.model]??void 0;J=this._client.calculateNonstreamingTimeout($.max_tokens,q)}let Q=o5($.tools,$.messages);return this._client.post("/v1/messages",{body:$,timeout:J??600000,...X,headers:u([Q,X?.headers]),stream:$.stream??!1})}parse($,X){return this.create($,X).then((J)=>e7(J,$,{logger:this._client.logger??console}))}stream($,X){return Z2.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=C2});var t8;var W9=b(()=>{e$();b$();b0();t8=class t8 extends q${retrieve($,X={},J){let{betas:Q}=X??{};return this._client.get(J$`/v1/models/${$}`,{...J,headers:u([{...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:u([{...J?.toString()!=null?{"anthropic-beta":J?.toString()}:void 0},X?.headers])})}}});var DY=b(()=>{s7();o7();G9();W9();pq()});var P2=($)=>{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:$=P2("ANTHROPIC_BASE_URL"),apiKey:X=P2("ANTHROPIC_API_KEY")??null,authToken:J=P2("ANTHROPIC_AUTH_TOKEN")??null,...Q}={}){H9.add(this),MX.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,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
|
|
209
|
+
`);this.baseURL=q.baseURL,this.timeout=q.timeout??U9.DEFAULT_TIMEOUT,this.logger=q.logger??console;let Y="warn";this.logLevel=Y,this.logLevel=R7(q.logLevel,"ClientOptions.logLevel",this)??R7(P2("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??Y,this.fetchOptions=q.fetchOptions,this.maxRetries=q.maxRetries??2,this.fetch=q.fetch??fq(),I(this,MX,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 u([await this.apiKeyAuth($),await this.bearerAuth($)])}async apiKeyAuth($){if(this.apiKey==null)return;return u([{"X-Api-Key":this.apiKey}])}async bearerAuth($){if(this.authToken==null)return;return u([{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-${K7()}`}makeStatusError($,X,J,Q){return w$.generate($,X,J,Q)}buildURL($,X,J){let Q=!K(this,H9,"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(s6),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 b8;throw new T0({cause:V})}let O=[...V.headers.entries()].filter(([D])=>D==="request-id").map(([D,F])=>", "+D+": "+JSON.stringify(F)).join(""),M=`[${W}${H}${O}] ${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 y=`retrying, ${X} attempts remaining`;return await kq(V.body),L$(this).info(`${M} - ${y}`),L$(this).debug(`[${W}] response error (${y})`,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((y)=>s6(y).message),P=l5(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 J2(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=u([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=u([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:c5($)};else return K(this,MX,"f").call(this,{body:$,headers:J})}}var H9,U9,MX,OY,V9="\\n\\nHuman:",B9="\\n\\nAssistant:",g0;var K9=b(()=>{W0();e0();w7();T$();e$();Z7();DY();r5();o7();W9();s7();G9();w7();b$();i5();e0();U9=Y$,MX=new WeakMap,H9=new WeakSet,OY=function(){return this.baseURL!=="https://api.anthropic.com"};Y$.Anthropic=U9;Y$.HUMAN_PROMPT=V9;Y$.AI_PROMPT=B9;Y$.DEFAULT_TIMEOUT=600000;Y$.AnthropicError=j;Y$.APIError=w$;Y$.APIConnectionError=T0;Y$.APIConnectionTimeoutError=b8;Y$.APIUserAbortError=A$;Y$.NotFoundError=y8;Y$.ConflictError=g8;Y$.RateLimitError=h8;Y$.BadRequestError=f8;Y$.AuthenticationError=k8;Y$.InternalServerError=u8;Y$.PermissionDeniedError=x8;Y$.UnprocessableEntityError=v8;Y$.toFile=Y2;g0=class g0 extends Y${constructor(){super(...arguments);this.completions=new s8(this),this.messages=new q8(this),this.models=new t8(this),this.beta=new $0(this)}};g0.Completions=s8;g0.Messages=q8;g0.Models=t8;g0.Beta=$0});var LY={};IX(LY,{toFile:()=>Y2,default:()=>g0,UnprocessableEntityError:()=>v8,RateLimitError:()=>h8,PermissionDeniedError:()=>x8,PagePromise:()=>J2,NotFoundError:()=>y8,InternalServerError:()=>u8,HUMAN_PROMPT:()=>V9,ConflictError:()=>g8,BaseAnthropic:()=>Y$,BadRequestError:()=>f8,AuthenticationError:()=>k8,AnthropicError:()=>j,Anthropic:()=>g0,APIUserAbortError:()=>A$,APIPromise:()=>P0,APIError:()=>w$,APIConnectionTimeoutError:()=>b8,APIConnectionError:()=>T0,AI_PROMPT:()=>B9});var RY=b(()=>{K9();Z7();r5();K9();e$();T$()});var p9=z3(d9(),1),{program:rO,createCommand:aO,createArgument:sO,createOption:oO,CommanderError:tO,InvalidArgumentError:eO,InvalidOptionArgumentError:$L,Command:K8,Argument:XL,Option:JL,Help:QL}=p9.default;B$();u$();t$();b5();t();function c6($,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=e(J),q=H$(Q),Y=U$(q);if(X.json){console.log(JSON.stringify(Y,null,2));return}if(X.status){console.log(`${
|
|
212
|
-
run ${C("'faf go'")} to fill empty slots`))}
|
|
213
|
-
`)}function
|
|
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(`${P5(Y.tier)} ${C(`${Y.score}%`)}`);return}N$(Y,J,X.verbose)}f5();B$();u$();t$();t();import{existsSync as DN}from"fs";import{join as IQ}from"path";function d6($={}){let X=process.cwd(),J=$.output?$.output.endsWith(".faf")?$.output:IQ(X,$.output):IQ(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(`${R("created")} ${J}`),N$(Y,J),Y.score<100)console.log(w(`
|
|
212
|
+
run ${C("'faf go'")} to fill empty slots`))}t4();B$();import{existsSync as t0,statSync as x5}from"fs";import{join as X7}from"path";import{readFileSync as RN,writeFileSync as AN,existsSync as _N,statSync as OA}from"fs";import{join as jQ}from"path";var TQ="CLAUDE.md",FN="STATUS: BI-SYNC ACTIVE";function e4($){let X=jQ($,TQ);if(!_N(X))return null;return RN(X,"utf-8")}function $7($,X){let J=jQ($,TQ);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 ZQ($){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 B=H.replace(/_/g," ").replace(/\b\w/g,(V)=>V.toUpperCase());z.push(`**${B}:** ${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
|
+
`)}function CQ($,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 k5($){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 PQ($,X){IN(EN($,"MEMORY.md"),X,"utf-8")}u$();t$();t();function p6($={}){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=
|
|
219
|
+
Run 'faf init' to create one.`),process.exit(2);let Q=X7(X,"CLAUDE.md"),q=X7(X,"MEMORY.md"),Y=$.direction??"auto";if(Y==="auto")bQ(J,Q,X);else if(Y==="push")fQ(J,X);else if(Y==="pull")J7(J,Q);if(kQ(J,q,X),$.watch)console.log(w("watching for changes... (Ctrl+C to stop)")),jN(J,Q,q,X)}function bQ($,X,J){let Q=x5($).mtimeMs,q=t0(X)?x5(X).mtimeMs:0;if(!t0(X)||Q>q)fQ($,J);else J7($,X)}function fQ($,X){let J=X7(X,"CLAUDE.md"),Q=$$($);if(t0(J)){let z=e4(X);if(z){let{content:G,changed:W}=CQ(z,Q);if(W)$7(X,G),console.log(`${R("◆")} sync .faf → CLAUDE.md (stamped) ${w("← bi-sync")}`);else console.log(`${R("◆")} sync CLAUDE.md up-to-date ${w("← bi-sync")}`)}J7($,J);return}let q=ZQ(Q);$7(X,q),console.log(`${R("◆")} sync .faf → CLAUDE.md (created) ${w("← bi-sync")}`);let Y=U$(H$(e($)));N$(Y,$)}function J7($,X){let J=e4(X.replace("/CLAUDE.md",""));if(!J){console.error("CLAUDE.md not found.");return}let Q=k5(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(`${R("◆")} sync CLAUDE.md → .faf ${w("← bi-sync")}`);let Y=U$(H$(e($)));N$(Y,$)}function kQ($,X,J){let Q=$$($),q=x5($).mtimeMs,Y=t0(X)?x5(X).mtimeMs:0;if(!t0(X)||q>Y){let z=SN(Q);PQ(J,z),console.log(`${R("◆")} sync .faf → MEMORY.md ${w("← tri-sync")}`)}else console.log(`${R("◆")} 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(()=>{
|
|
221
|
+
`}function jN($,X,J,Q){let{watch:q}=W$("fs"),Y=null,z=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{console.log(w("change detected...")),bQ($,X,Q),kQ($,J,Q)},200)};if(q($,z),t0(X))q(X,z);if(t0(J))q(J,z)}B$();t();import{writeFileSync as TN}from"fs";function xQ($,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=e(J),q=
|
|
223
|
+
Run 'faf init' to create one.`),process.exit(2);let Q=e(J),q=GQ(Q),Y=X.output??J.replace(/\.faf$/,".fafb");TN(Y,q),console.log(`${R("compiled")} ${Y} ${w(`(${q.length} bytes)`)}`)}import{readFileSync as ZN}from"fs";function yQ($,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=WQ(J);console.log(JSON.stringify(Q,null,2))}B$();function gQ($){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=$$(J),q=
|
|
225
|
+
Run 'faf init' to create one.`),process.exit(2);let Q=$$(J),q=gQ(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(!zQ(Y))console.log(`${C("invalid yaml")} ${J}`),process.exit(3);console.log(`${R("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
|
-
`)}function
|
|
228
|
-
`)}function
|
|
229
|
-
`)}function
|
|
227
|
+
`)}function vQ($,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
|
+
`)}function hQ($,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 uQ($,X){yN(gN($,"GEMINI.md"),vN(X),"utf-8")}t();function i6($={}){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=$$(X),q=$.all||!$.agents&&!$.cursor&&!$.gemini&&!$.conductor;if(q||$.agents)
|
|
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)vQ(J,Q),console.log(" AGENTS.md");if(q||$.cursor)hQ(J,Q),console.log(" .cursorrules");if(q||$.gemini)uQ(J,Q),console.log(" GEMINI.md");console.log(`${R("exported")} ${w(`from ${X}`)}`)}f5();B$();u$();t$();t();import{mkdirSync as hN,rmSync as uN}from"fs";import{join as mQ}from"path";import{execSync as mN}from"child_process";import{tmpdir as lN}from"os";function lQ($){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=
|
|
234
|
-
`);let $=new Map;for(let X of
|
|
233
|
+
Usage: faf git <url>`),process.exit(1);let X=$.endsWith(".git")?$:`${$}.git`,J=mQ(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=mQ(process.cwd(),"project.faf");Q$(q,Q),console.log(`${R("created")} ${q}`);let Y=e(q),z=U$(H$(Y));N$(z,q)}finally{uN(J,{recursive:!0,force:!0})}}t();function dQ($={}){if($.version||Object.keys($).length===0)dN()}function dN(){let $=cQ();console.log(`${R(C("faf"))} v${$.version}`),console.log(w(`kernel ${HQ()} IANA application/vnd.faf+yaml`))}var n6=[{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 pQ(){console.log(`${R("formats")} ${w("— supported file types")}
|
|
234
|
+
`);let $=new Map;for(let X of n6){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(` ${n6.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 iQ(){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(`${R("cleared")} ${X} cached director${X===1?"y":"ies"}`);else console.log(w("nothing to clear"))}B$();function nQ($={}){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=$$(X);console.log(JSON.stringify(J,null,2))}else{let J=e(X);console.log(J)}}B$();G0();t();function
|
|
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 rQ(){let $=n();if(!$)console.error(`Error: project.faf not found
|
|
237
237
|
|
|
238
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
|
|
239
|
+
`))}B$();t();import{existsSync as aN,statSync as aQ}from"fs";import{join as sN}from"path";var oN=["CLAUDE.md","AGENTS.md",".cursorrules","GEMINI.md"];function sQ(){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(
|
|
243
|
-
run ${C("'faf sync'")} to resolve drift`))}function
|
|
241
|
+
Run 'faf init' to create one.`),process.exit(2);let X=process.cwd(),J=aQ($).mtimeMs;console.log(`${R("drift")} ${w("— context file sync status")}
|
|
242
|
+
`),console.log(` ${C(".faf")} ${w(q7(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=aQ(Y).mtimeMs,G=z-J;if(Math.abs(G)<1000)console.log(` ${R("●")} ${q} ${w("in sync")}`);else if(G>0)console.log(` ${C("!")} ${q} ${C("newer")} ${w(q7(z))}`),Q++;else console.log(` ${w("○")} ${q} ${w("older")} ${w(q7(z))}`),Q++}if(Q>0)console.log(w(`
|
|
243
|
+
run ${C("'faf sync'")} to resolve drift`))}function q7($){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 oQ($,X){if(!$||X===void 0)console.error(`Usage: faf edit <path> <value>
|
|
244
244
|
|
|
245
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=$$(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(`${
|
|
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(`${R("updated")} ${$} ${w("→")} ${X}`)}B$();import{existsSync as y5,readFileSync as Y7}from"fs";import{join as r6}from"path";t();function tQ(){let $=process.cwd(),X=[],J={faf_version:"3.0",project:{}},Q=r6($,"CLAUDE.md");if(y5(Q)){let W=Y7(Q,"utf-8"),H=k5(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=r6($,"AGENTS.md");if(y5(q)){let W=Y7(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=r6($,"GEMINI.md");if(y5(Y)){let W=Y7(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=r6($,".cursorrules");if(y5(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(`${R("◆")} recover merged into ${G}`)}else{let W=r6($,"project.faf");Q$(W,J),console.log(`${R("◆")} recover created ${W}`)}console.log(w(` sources: ${X.join(", ")}`))}B$();t();var a6="3.0";function eQ($={}){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=$$(X),Q=J.faf_version??"unknown";if(Q===
|
|
250
|
-
`),console.log(` Status: ${$?o0(C("PRO")):C("Free")}`),console.log(""),!$)console.log(w(" Upgrade: faf pro activate"))}function Uw(){console.log(`${
|
|
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(` ${
|
|
249
|
+
Run 'faf init' to create one.`),process.exit(2);let J=$$(X),Q=J.faf_version??"unknown";if(Q===a6){console.log(`${R("◆")} migrate already at v${a6}`);return}if(J.faf_version=a6,!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(`${R("◆")} migrate ${w("(dry run)")} v${Q} → v${a6}`),console.log(w(` would update ${X}`));return}Q$(X,J),console.log(`${R("◆")} migrate v${Q} → v${a6}`),console.log(w(` updated ${X}`))}function $q(){return process.env.FAF_PRO==="1"||process.env.FAF_PRO==="true"}t();function Nq($){if($==="features")Uw();else if($==="activate")Vw();else Hw()}function Hw(){let $=$q();if(console.log(`${R("pro")} ${w("— FAF Pro status")}
|
|
250
|
+
`),console.log(` Status: ${$?o0(C("PRO")):C("Free")}`),console.log(""),!$)console.log(w(" Upgrade: faf pro activate"))}function Uw(){console.log(`${R("pro")} ${w("— Pro features")}
|
|
251
|
+
`);let $=[["tri-sync",".faf ↔ CLAUDE.md ↔ MEMORY.md — free for developers"],["enterprise slots","33-slot scoring (slots 22-33)"],["advanced analytics","Drift tracking & team metrics"]];for(let[X,J]of $)console.log(` ${R("◆")} ${C(X)} ${w("—")} ${J}`);console.log("")}function Vw(){console.log(`${R("pro")} ${w("— activate")}
|
|
252
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=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(`${
|
|
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(`${R("◆")} 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$();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(`${
|
|
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(`${R("demo")} ${w("— FAF in action")}
|
|
258
258
|
`);let X=`faf_version: "3.0"
|
|
259
259
|
project:
|
|
260
260
|
name: acme-app
|
|
@@ -282,23 +282,23 @@ human_context:
|
|
|
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
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(`${
|
|
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=
|
|
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(`${R("slots")} ${w(`— ${Y.length} match${Y.length===1?"":"es"}`)}
|
|
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=n6.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(`${R("formats")} ${w(`— ${Y.length} match${Y.length===1?"":"es"}`)}
|
|
287
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=$$(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(`${
|
|
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(`${R("◆")} 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=$$(X),z=I$.filter((
|
|
292
|
-
`));let G=Ow({input:process.stdin,output:process.stdout}),W=(
|
|
293
|
-
session saved. Resume with: faf go --resume`));break}if(
|
|
294
|
-
${
|
|
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((V)=>{let N=Iw(Y,V.path);return j8(N)&&N!=="slotignored"});if(z.length===0){console.log(`${R("◆")} go all slots populated`);let V=U$(H$(e(X)));N$(V,X);return}console.log(`${R("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=(V)=>new Promise((N)=>G.question(V,N)),H=0,U=z.slice(q);for(let V=0;V<U.length;V++){let N=U[V],O=await W(` ${C(`#${N.index}`)} ${N.description} ${w(`(${N.path})`)}: `);if(O.toLowerCase()==="quit"){let M={slotIndex:q+V,fafPath:X};Rw(Q,JSON.stringify(M),"utf-8"),console.log(w(`
|
|
293
|
+
session saved. Resume with: faf go --resume`));break}if(O.toLowerCase()==="skip"||O.trim()==="")continue;Ew(Y,N.path,O.trim()),H++}if(G.close(),H>0)Q$(X,Y),console.log(`
|
|
294
|
+
${R("◆")} go filled ${H} slot${H===1?"":"s"}`);let B=U$(H$(e(X)));if(N$(B,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(`${R("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
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=$$($),J=e($),Q=I$.filter((W)=>{let H=UD(X,W.path);return j8(H)&&H!=="slotignored"});if(Q.length===0){console.log(`${
|
|
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(`${R("◆")} ai enhance all slots populated`);return}console.log(`${R("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,18 +308,18 @@ 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
|
-
${
|
|
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 B of Q){let V=H[B.path];if(V&&typeof V==="string")VD(X,B.path,V),console.log(` ${R("●")} ${B.path} ${w("←")} ${V}`),U++}if(U>0){Q$($,X),console.log(`
|
|
312
|
+
${R("◆")} ai enhance filled ${U} slot${U===1?"":"s"}`);let B=U$(H$(e($)));N$(B,$)}}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=e($);console.log(`${
|
|
314
|
+
Run 'faf init' to create one.`),process.exit(2);let X=e($);console.log(`${R("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$();
|
|
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(!
|
|
318
|
+
Be concise. One line per suggestion.`}]});console.log(""),console.log(Q.content[0].text)}B$();p4();t();import{existsSync as M9,readFileSync as N9,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(`${R("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(!M9($))console.error(`Error: path not found: ${$}`),process.exit(2);let X={faf_version:"3.0",project:{}};if(M9($)&&$.endsWith(".json")){let q=JSON.parse(N9($,"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(M9($)&&($.endsWith(".yml")||$.endsWith(".yaml"))){let q=u6(N9($,"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(N9(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(`${R("◆")} conductor import merged into ${Q}`)}else{let q=FY(J,"project.faf");Q$(q,X),console.log(`${R("◆")} 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=$$($),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
|
|
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(
|
|
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 NX,writeFileSync as w9,existsSync as e8,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 D9{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(!e8(this.claudeSkillsDir))return;let $=l$(this.claudeSkillsDir,"skills.json");if(!e8($))return;let X=JSON.parse(NX($,"utf-8")),J=JSON.parse(NX(l$(SY(jY(import.meta.url)),"../../package.json"),"utf-8"));X.requirements["faf-cli"]=`>=${J.version}`,X.lastSync=new Date().toISOString(),w9($,JSON.stringify(X,null,2))}async syncToLocation($){if(!e8($))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=NX(l$(X,Y),"utf-8"),G=this.parseCommandFile(z,Y);if(G)q.skills.push(G),await this.createSkillFileInDir(G,z,$)}w9(l$($,"index.json"),JSON.stringify(q,null,2))}parseCommandFile($,X){let J=$.split(`
|
|
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(!e8(Q))EY(Q,{recursive:!0});let Y=X.split("---").slice(2).join("---").trim(),z=`---
|
|
323
323
|
name: ${$.name}
|
|
324
324
|
description: ${$.description}${$["argument-hint"]?`
|
|
325
325
|
argument-hint: ${$["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
|
-
`;
|
|
345
|
+
`;w9(l$(Q,"SKILL.md"),z)}async checkIntegration(){if(!e8(this.fafSkillsDir))return!1;let $=l$(this.fafSkillsDir,"index.json");if(!e8($))return!1;try{let X=JSON.parse(NX($,"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
|
-
`}}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
|
|
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(" ")+`
|
|
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 D9;if($.bestPractices){console.log(X.getBestPractices());return}if($.check){if(await X.checkIntegration())console.log(`${R("✓")} Claude Code integration is properly configured`);else console.log(`${R("◆")} Claude Code integration needs setup`),console.log(` Run ${C("faf claude-sync")} to configure`);return}console.log(`${R("◆")} Syncing with Claude Code...`);try{await X.syncSkills(),console.log(`${R("✓")} 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(`${R("\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 wX}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=[wX($,"../../../skills/faf"),wX($,"../../skills/faf"),wX($,"../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=wX(AD(),".claude","skills","faf");if(console.log(`${R("◆")} Installing FAF skills for Claude Code...`),bY(Q)){console.log(`${R("!")} 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(`${R("✓")} 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 O9{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$={};IX(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:()=>L9,object:()=>HO,number:()=>cY,nullable:()=>SO,null:()=>QO,never:()=>zO,nativeEnum:()=>_O,nan:()=>tD,map:()=>wO,makeIssue:()=>b2,literal:()=>RO,lazy:()=>LO,late:()=>sD,isValid:()=>v0,isDirty:()=>OX,isAsync:()=>X6,isAborted:()=>DX,intersection:()=>KO,instanceof:()=>oD,getParsedType:()=>X0,getErrorMap:()=>$6,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:()=>k2,ZodUnknown:()=>h0,ZodUnion:()=>G6,ZodUndefined:()=>Y6,ZodType:()=>l,ZodTuple:()=>Q0,ZodTransformer:()=>n$,ZodSymbol:()=>f2,ZodString:()=>c$,ZodSet:()=>H8,ZodSchema:()=>l,ZodRecord:()=>x2,ZodReadonly:()=>M6,ZodPromise:()=>U8,ZodPipeline:()=>v2,ZodParsedType:()=>_,ZodOptional:()=>p$,ZodObject:()=>z$,ZodNumber:()=>u0,ZodNullable:()=>w0,ZodNull:()=>z6,ZodNever:()=>J0,ZodNativeEnum:()=>V6,ZodNaN:()=>g2,ZodMap:()=>y2,ZodLiteral:()=>U6,ZodLazy:()=>H6,ZodIssueCode:()=>L,ZodIntersection:()=>W6,ZodFunction:()=>Q6,ZodFirstPartyTypeKind:()=>v,ZodError:()=>S$,ZodEnum:()=>l0,ZodEffects:()=>n$,ZodDiscriminatedUnion:()=>LX,ZodDefault:()=>B6,ZodDate:()=>G8,ZodCatch:()=>K6,ZodBranded:()=>RX,ZodBoolean:()=>q6,ZodBigInt:()=>m0,ZodArray:()=>d$,ZodAny:()=>W8,Schema:()=>l,ParseStatus:()=>_$,OK:()=>F$,NEVER:()=>fO,INVALID:()=>x,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 L9;(function($){$.mergeShapes=(X,J)=>{return{...X,...J}}})(L9||(L9={}));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 L=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 L.invalid_type:if($.received===_.undefined)J="Required";else J=`Expected ${$.expected}, received ${$.received}`;break;case L.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify($.expected,d.jsonStringifyReplacer)}`;break;case L.unrecognized_keys:J=`Unrecognized key(s) in object: ${d.joinValues($.keys,", ")}`;break;case L.invalid_union:J="Invalid input";break;case L.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${d.joinValues($.options)}`;break;case L.invalid_enum_value:J=`Invalid enum value. Expected ${d.joinValues($.options)}, received '${$.received}'`;break;case L.invalid_arguments:J="Invalid function arguments";break;case L.invalid_return_type:J="Invalid function return type";break;case L.invalid_date:J="Invalid date";break;case L.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 L.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 L.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 L.custom:J="Invalid input";break;case L.invalid_intersection_types:J="Intersection results could not be merged";break;case L.not_multiple_of:J=`Number must be a multiple of ${$.multipleOf}`;break;case L.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 $6(){return kY}var b2=($)=>{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=$6(),Q=b2({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 x;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 x;if(Y.status==="aborted")return x;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 x=Object.freeze({status:"aborted"}),z8=($)=>({status:"dirty",value:$}),F$=($)=>({status:"valid",value:$}),DX=($)=>$.status==="aborted",OX=($)=>$.status==="dirty",v0=($)=>$.status==="valid",X6=($)=>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(X6(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(X6(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:L.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:v.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 G6.create([this,$],this._def)}and($){return W6.create(this,$,this._def)}transform($){return new n$({...m(this._def),schema:this,typeName:v.ZodEffects,effect:{type:"transform",transform:$}})}default($){let X=typeof $==="function"?$:()=>$;return new B6({...m(this._def),innerType:this,defaultValue:X,typeName:v.ZodDefault})}brand(){return new RX({typeName:v.ZodBranded,type:this,...m(this._def)})}catch($){let X=typeof $==="function"?$:()=>$;return new K6({...m(this._def),innerType:this,catchValue:X,typeName:v.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return v2.create(this,$)}readonly(){return M6.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})+$",R9,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:L.invalid_type,expected:_.string,received:q.parsedType}),x}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:L.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:L.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:L.too_big,maximum:q.value,type:"string",inclusive:!0,exact:!0,message:q.message});else if(z)E(Q,{code:L.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:L.invalid_string,message:q.message}),J.dirty()}else if(q.kind==="emoji"){if(!R9)R9=new RegExp(yD,"u");if(!R9.test($.data))Q=this._getOrReturnCtx($,Q),E(Q,{validation:"emoji",code:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:L.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:v.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:L.invalid_type,expected:_.number,received:q.parsedType}),x}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:L.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:L.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:L.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:L.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:L.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:v.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:L.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:L.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:L.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:L.invalid_type,expected:_.bigint,received:X.parsedType}),x}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:v.ZodBigInt,coerce:$?.coerce??!1,...m($)})};class q6 extends l{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==_.boolean){let J=this._getOrReturnCtx($);return E(J,{code:L.invalid_type,expected:_.boolean,received:J.parsedType}),x}return F$($.data)}}q6.create=($)=>{return new q6({typeName:v.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:L.invalid_type,expected:_.date,received:q.parsedType}),x}if(Number.isNaN($.data.getTime())){let q=this._getOrReturnCtx($);return E(q,{code:L.invalid_date}),x}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:L.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:L.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:v.ZodDate,...m($)})};class f2 extends l{_parse($){if(this._getType($)!==_.symbol){let J=this._getOrReturnCtx($);return E(J,{code:L.invalid_type,expected:_.symbol,received:J.parsedType}),x}return F$($.data)}}f2.create=($)=>{return new f2({typeName:v.ZodSymbol,...m($)})};class Y6 extends l{_parse($){if(this._getType($)!==_.undefined){let J=this._getOrReturnCtx($);return E(J,{code:L.invalid_type,expected:_.undefined,received:J.parsedType}),x}return F$($.data)}}Y6.create=($)=>{return new Y6({typeName:v.ZodUndefined,...m($)})};class z6 extends l{_parse($){if(this._getType($)!==_.null){let J=this._getOrReturnCtx($);return E(J,{code:L.invalid_type,expected:_.null,received:J.parsedType}),x}return F$($.data)}}z6.create=($)=>{return new z6({typeName:v.ZodNull,...m($)})};class W8 extends l{constructor(){super(...arguments);this._any=!0}_parse($){return F$($.data)}}W8.create=($)=>{return new W8({typeName:v.ZodAny,...m($)})};class h0 extends l{constructor(){super(...arguments);this._unknown=!0}_parse($){return F$($.data)}}h0.create=($)=>{return new h0({typeName:v.ZodUnknown,...m($)})};class J0 extends l{_parse($){let X=this._getOrReturnCtx($);return E(X,{code:L.invalid_type,expected:_.never,received:X.parsedType}),x}}J0.create=($)=>{return new J0({typeName:v.ZodNever,...m($)})};class k2 extends l{_parse($){if(this._getType($)!==_.undefined){let J=this._getOrReturnCtx($);return E(J,{code:L.invalid_type,expected:_.void,received:J.parsedType}),x}return F$($.data)}}k2.create=($)=>{return new k2({typeName:v.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:L.invalid_type,expected:_.array,received:X.parsedType}),x;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?L.too_big:L.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:L.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:L.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:v.ZodArray,...m(X)})};function J6($){if($ instanceof z$){let X={};for(let J in $.shape){let Q=$.shape[J];X[J]=p$.create(J6(Q))}return new z$({...$._def,shape:()=>X})}else if($ instanceof d$)return new d$({...$._def,type:J6($.element)});else if($ instanceof p$)return p$.create(J6($.unwrap()));else if($ instanceof w0)return w0.create(J6($.unwrap()));else if($ instanceof Q0)return Q0.create($.items.map((X)=>J6(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:L.invalid_type,expected:_.object,received:W.parsedType}),x}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:L.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:v.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 J6(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:v.ZodObject,...m(X)})};z$.strictCreate=($,X)=>{return new z$({shape:()=>$,unknownKeys:"strict",catchall:J0.create(),typeName:v.ZodObject,...m(X)})};z$.lazycreate=($,X)=>{return new z$({shape:$,unknownKeys:"strip",catchall:J0.create(),typeName:v.ZodObject,...m(X)})};class G6 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:L.invalid_union,unionErrors:Y}),x}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:L.invalid_union,unionErrors:z}),x}}get options(){return this._def.options}}G6.create=($,X)=>{return new G6({options:$,typeName:v.ZodUnion,...m(X)})};var N0=($)=>{if($ instanceof H6)return N0($.schema);else if($ instanceof n$)return N0($.innerType());else if($ instanceof U6)return[$.value];else if($ instanceof l0)return $.options;else if($ instanceof V6)return d.objectValues($.enum);else if($ instanceof B6)return N0($._def.innerType);else if($ instanceof Y6)return[void 0];else if($ instanceof z6)return[null];else if($ instanceof p$)return[void 0,...N0($.unwrap())];else if($ instanceof w0)return[null,...N0($.unwrap())];else if($ instanceof RX)return N0($.unwrap());else if($ instanceof M6)return N0($.unwrap());else if($ instanceof K6)return N0($._def.innerType);else return[]};class LX extends l{_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==_.object)return E(X,{code:L.invalid_type,expected:_.object,received:X.parsedType}),x;let J=this.discriminator,Q=X.data[J],q=this.optionsMap.get(Q);if(!q)return E(X,{code:L.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),x;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 LX({typeName:v.ZodDiscriminatedUnion,discriminator:$,options:X,optionsMap:Q,...m(J)})}}function A9($,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=A9($[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=A9(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 W6 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($),Q=(q,Y)=>{if(DX(q)||DX(Y))return x;let z=A9(q.value,Y.value);if(!z.valid)return E(J,{code:L.invalid_intersection_types}),x;if(OX(q)||OX(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}))}}W6.create=($,X,J)=>{return new W6({left:$,right:X,typeName:v.ZodIntersection,...m(J)})};class Q0 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.array)return E(J,{code:L.invalid_type,expected:_.array,received:J.parsedType}),x;if(J.data.length<this._def.items.length)return E(J,{code:L.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;if(!this._def.rest&&J.data.length>this._def.items.length)E(J,{code:L.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:v.ZodTuple,rest:null,...m(X)})};class x2 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:L.invalid_type,expected:_.object,received:J.parsedType}),x;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 x2({keyType:$,valueType:X,typeName:v.ZodRecord,...m(J)});return new x2({keyType:c$.create(),valueType:$,typeName:v.ZodRecord,...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!==_.map)return E(J,{code:L.invalid_type,expected:_.map,received:J.parsedType}),x;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 x;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 x;if(W.status==="dirty"||H.status==="dirty")X.dirty();z.set(W.value,H.value)}return{status:X.value,value:z}}}}y2.create=($,X,J)=>{return new y2({valueType:X,keyType:$,typeName:v.ZodMap,...m(J)})};class H8 extends l{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==_.set)return E(J,{code:L.invalid_type,expected:_.set,received:J.parsedType}),x;let Q=this._def;if(Q.minSize!==null){if(J.data.size<Q.minSize.value)E(J,{code:L.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:L.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 x;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:v.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:L.invalid_type,expected:_.function,received:X.parsedType}),x;function J(z,G){return b2({data:z,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,$6(),M0].filter((W)=>!!W),issueData:{code:L.invalid_arguments,argumentsError:G}})}function Q(z,G){return b2({data:z,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,$6(),M0].filter((W)=>!!W),issueData:{code:L.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:v.ZodFunction,...m(J)})}}class H6 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})}}H6.create=($,X)=>{return new H6({getter:$,typeName:v.ZodLazy,...m(X)})};class U6 extends l{_parse($){if($.data!==this._def.value){let X=this._getOrReturnCtx($);return E(X,{received:X.data,code:L.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:$.data}}get value(){return this._def.value}}U6.create=($,X)=>{return new U6({value:$,typeName:v.ZodLiteral,...m(X)})};function uY($,X){return new l0({values:$,typeName:v.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:L.invalid_type}),x}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:L.invalid_enum_value,options:J}),x}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 V6 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:L.invalid_type}),x}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:L.invalid_enum_value,options:Q}),x}return F$($.data)}get enum(){return this._def.values}}V6.create=($,X)=>{return new V6({values:$,typeName:v.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:L.invalid_type,expected:_.promise,received:X.parsedType}),x;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:v.ZodPromise,...m(X)})};class n$ extends l{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===v.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 x;let G=await this._def.schema._parseAsync({data:z,path:J.path,parent:J});if(G.status==="aborted")return x;if(G.status==="dirty")return z8(G.value);if(X.value==="dirty")return z8(G.value);return G});else{if(X.value==="aborted")return x;let z=this._def.schema._parseSync({data:Y,path:J.path,parent:J});if(z.status==="aborted")return x;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 x;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 x;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 x;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 x;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:v.ZodEffects,effect:X,...m(J)})};n$.createWithPreprocess=($,X,J)=>{return new n$({schema:X,effect:{type:"preprocess",transform:$},typeName:v.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:v.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:v.ZodNullable,...m(X)})};class B6 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}}B6.create=($,X)=>{return new B6({innerType:$,typeName:v.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...m(X)})};class K6 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(X6(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}}K6.create=($,X)=>{return new K6({innerType:$,typeName:v.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...m(X)})};class g2 extends l{_parse($){if(this._getType($)!==_.nan){let J=this._getOrReturnCtx($);return E(J,{code:L.invalid_type,expected:_.nan,received:J.parsedType}),x}return{status:"valid",value:$.data}}}g2.create=($)=>{return new g2({typeName:v.ZodNaN,...m($)})};var aD=Symbol("zod_brand");class RX 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 v2 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 x;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 x;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 v2({in:$,out:X,typeName:v.ZodPipeline})}}class M6 extends l{_parse($){let X=this._def.innerType._parse($),J=(Q)=>{if(v0(Q))Q.value=Object.freeze(Q.value);return Q};return X6(X)?X.then((Q)=>J(Q)):J(X)}unwrap(){return this._def.innerType}}M6.create=($,X)=>{return new M6({innerType:$,typeName:v.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},v;(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"})(v||(v={}));var oD=($,X={message:`Input not instance of ${$.name}`})=>mY((J)=>J instanceof $,X),lY=c$.create,cY=u0.create,tD=g2.create,eD=m0.create,dY=q6.create,$O=G8.create,XO=f2.create,JO=Y6.create,QO=z6.create,qO=W8.create,YO=h0.create,zO=J0.create,GO=k2.create,WO=d$.create,HO=z$.create,UO=z$.strictCreate,VO=G6.create,BO=LX.create,KO=W6.create,MO=Q0.create,NO=x2.create,wO=y2.create,DO=H8.create,OO=Q6.create,LO=H6.create,RO=U6.create,AO=l0.create,_O=V6.create,FO=U8.create,IO=n$.create,EO=p$.create,SO=w0.create,jO=n$.createWithPreprocess,TO=v2.create,ZO=()=>lY().optional(),CO=()=>cY().optional(),PO=()=>dY().optional(),bO={string:($)=>c$.create({...$,coerce:!0}),number:($)=>u0.create({...$,coerce:!0}),boolean:($)=>q6.create({...$,coerce:!0}),bigint:($)=>m0.create({...$,coerce:!0}),date:($)=>G8.create({...$,coerce:!0})};var fO=x;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 _9 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
|
|
381
|
-
`);for(let T of F)if(T.includes("empty")&&T.includes("○")){let P=T.match(/([a-z_]+\.[a-z_]+)/);if(P)
|
|
382
|
-
`};try{await
|
|
383
|
-
`};try{await
|
|
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);
|
|
380
|
+
`};try{await c6($.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,B=W?W[1]:"UNKNOWN",V=H?parseInt(H[1]):0,N=H?parseInt(H[2]):0,O=[],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)O.push(P[1])}}let D={score:U,tier:B,populated:V,total:N,empty:O,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 F9 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=(...B)=>{Y+=B.join(" ")+`
|
|
382
|
+
`};try{await d6({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 I9 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=(...V)=>{Q+=V.join(" ")+`
|
|
383
|
+
`};try{await p6({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 E9{registry=new O9;config;constructor($){this.config=$,this.initializeTools()}initializeTools(){let $=[new _9,new F9,new I9];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 S9{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 h2{static preToolUse=async($)=>{let X=S9.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",h2.preToolUse),$.register("post-edit",h2.postEdit),$.register("session-start",h2.sessionStart),$.register("session-end",h2.sessionEnd),$}import{existsSync as aY}from"fs";import{join as sY}from"path";class j9{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 E9({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(`${R("!")} Unknown permission level: ${$.permission}`);return}console.log(`${R("◆")} Testing Claude Code MCP Native Integration...`),console.log(`${w(" Working Directory:")} ${X}`),console.log(`${w(" Permission Level:")} ${J}`),console.log("");let Q=new j9({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(`${R("✗")} Error: ${Y.content[0].text}`);else console.log(`${R("✓")} 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(`${R("→")} 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(` ${R("✗")} ${G.content[0].text.split("\\n")[0]}`);else console.log(` ${R("✓")} Success`)}catch(z){console.log(` ${R("✗")} ${z instanceof Error?z.message:String(z)}`)}}}await Q.finalizeSession(),console.log(`${R("✓")} 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(`${R("✗")} 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(($)=>d6($));c.command("auto").description("Zero to 100% in one command").action(()=>o4());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)=>c6($,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(($)=>p6($));c.command("compile [file]").description("Compile .faf to .fafb binary").option("--output <path>","Output path").action(($,X)=>xQ($,X));c.command("decompile <file>").description("Decompile .fafb to JSON").option("--output <path>","Output path").action(($,X)=>yQ($,X));c.command("git <url>").description("Instant .faf from any GitHub repo").action(($)=>lQ($));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(($)=>i6($));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(($)=>dQ($));c.command("formats").description("Show supported formats").action(()=>pQ());c.command("clear").description("Clear cached data").action(()=>iQ());c.command("convert").description("Convert .faf to other formats").option("--json","Output as JSON").action(($)=>nQ($));c.command("context").description("Generate context output").action(()=>rQ());c.command("drift").description("Check context drift").action(()=>sQ());c.command("edit <path> <value>").description("Edit .faf fields").action(($,X)=>oQ($,X));c.command("recover").description("Recover .faf from context files").action(()=>tQ());c.command("migrate").description("Migrate .faf to latest version").option("--dry-run","Preview changes without writing").action(($)=>eQ($));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(()=>p6());c.command("status",{hidden:!0}).action(()=>c6(void 0,{status:!0}));c.command("agents",{hidden:!0}).action(()=>i6({agents:!0}));c.command("cursor",{hidden:!0}).action(()=>i6({cursor:!0}));c.command("gemini",{hidden:!0}).action(()=>i6({gemini:!0}));c.command("validate [file]",{hidden:!0}).action(($,X)=>Q7($,X));c.command("yolo",{hidden:!0}).action(()=>d6({yolo:!0}));if(process.argv.length<=2){let{autoCommand:$}=await Promise.resolve().then(() => (t4(),SQ));await $(),process.exit(0)}c.parse(process.argv);
|