@jakerdy/agentica 0.0.4 → 0.0.6
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 +1 -1
- package/dist/cli.js +10 -10
- package/package.json +55 -57
- package/prompts/release.prompt.md +21 -20
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agentica
|
|
2
2
|
|
|
3
|
-
[](https://github.com/jakerdy/agentica/releases/tag/v0.0.6)
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](https://bun.sh)
|
|
6
6
|
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
import{createRequire as eq}from"node:module";var rq=Object.create;var{getPrototypeOf:nq,defineProperty:qq,getOwnPropertyNames:aq}=Object;var tq=Object.prototype.hasOwnProperty;var oq=(q,z,J)=>{J=q!=null?rq(nq(q)):{};let Z=z||!q||!q.__esModule?qq(J,"default",{value:q,enumerable:!0}):J;for(let $ of aq(q))if(!tq.call(Z,$))qq(Z,$,{get:()=>q[$],enumerable:!0});return Z};var I=(q,z)=>()=>(z||q((z={exports:{}}).exports,z),z.exports);var _=eq(import.meta.url);var A=I((q1)=>{class u extends Error{constructor(q,z,J){super(J);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=z,this.exitCode=q,this.nestedError=void 0}}class zq extends u{constructor(q){super(1,"commander.invalidArgument",q);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}q1.CommanderError=u;q1.InvalidArgumentError=zq});var C=I((Q1)=>{var{InvalidArgumentError:Z1}=A();class Jq{constructor(q,z){switch(this.description=z||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,q[0]){case"<":this.required=!0,this._name=q.slice(1,-1);break;case"[":this.required=!1,this._name=q.slice(1,-1);break;default:this.required=!0,this._name=q;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(q,z){if(z===this.defaultValue||!Array.isArray(z))return[q];return z.push(q),z}default(q,z){return this.defaultValue=q,this.defaultValueDescription=z,this}argParser(q){return this.parseArg=q,this}choices(q){return this.argChoices=q.slice(),this.parseArg=(z,J)=>{if(!this.argChoices.includes(z))throw new Z1(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(z,J);return z},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function $1(q){let z=q.name()+(q.variadic===!0?"...":"");return q.required?"<"+z+">":"["+z+"]"}Q1.Argument=Jq;Q1.humanReadableArgName=$1});var g=I((H1)=>{var{humanReadableArgName:B1}=C();class Zq{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(q){this.helpWidth=this.helpWidth??q.helpWidth??80}visibleCommands(q){let z=q.commands.filter((Z)=>!Z._hidden),J=q._getHelpCommand();if(J&&!J._hidden)z.push(J);if(this.sortSubcommands)z.sort((Z,$)=>{return Z.name().localeCompare($.name())});return z}compareOptions(q,z){let J=(Z)=>{return Z.short?Z.short.replace(/^-/,""):Z.long.replace(/^--/,"")};return J(q).localeCompare(J(z))}visibleOptions(q){let z=q.options.filter((Z)=>!Z.hidden),J=q._getHelpOption();if(J&&!J.hidden){let Z=J.short&&q._findOption(J.short),$=J.long&&q._findOption(J.long);if(!Z&&!$)z.push(J);else if(J.long&&!$)z.push(q.createOption(J.long,J.description));else if(J.short&&!Z)z.push(q.createOption(J.short,J.description))}if(this.sortOptions)z.sort(this.compareOptions);return z}visibleGlobalOptions(q){if(!this.showGlobalOptions)return[];let z=[];for(let J=q.parent;J;J=J.parent){let Z=J.options.filter(($)=>!$.hidden);z.push(...Z)}if(this.sortOptions)z.sort(this.compareOptions);return z}visibleArguments(q){if(q._argsDescription)q.registeredArguments.forEach((z)=>{z.description=z.description||q._argsDescription[z.name()]||""});if(q.registeredArguments.find((z)=>z.description))return q.registeredArguments;return[]}subcommandTerm(q){let z=q.registeredArguments.map((J)=>B1(J)).join(" ");return q._name+(q._aliases[0]?"|"+q._aliases[0]:"")+(q.options.length?" [options]":"")+(z?" "+z:"")}optionTerm(q){return q.flags}argumentTerm(q){return q.name()}longestSubcommandTermLength(q,z){return z.visibleCommands(q).reduce((J,Z)=>{return Math.max(J,this.displayWidth(z.styleSubcommandTerm(z.subcommandTerm(Z))))},0)}longestOptionTermLength(q,z){return z.visibleOptions(q).reduce((J,Z)=>{return Math.max(J,this.displayWidth(z.styleOptionTerm(z.optionTerm(Z))))},0)}longestGlobalOptionTermLength(q,z){return z.visibleGlobalOptions(q).reduce((J,Z)=>{return Math.max(J,this.displayWidth(z.styleOptionTerm(z.optionTerm(Z))))},0)}longestArgumentTermLength(q,z){return z.visibleArguments(q).reduce((J,Z)=>{return Math.max(J,this.displayWidth(z.styleArgumentTerm(z.argumentTerm(Z))))},0)}commandUsage(q){let z=q._name;if(q._aliases[0])z=z+"|"+q._aliases[0];let J="";for(let Z=q.parent;Z;Z=Z.parent)J=Z.name()+" "+J;return J+z+" "+q.usage()}commandDescription(q){return q.description()}subcommandDescription(q){return q.summary()||q.description()}optionDescription(q){let z=[];if(q.argChoices)z.push(`choices: ${q.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(q.defaultValue!==void 0){if(q.required||q.optional||q.isBoolean()&&typeof q.defaultValue==="boolean")z.push(`default: ${q.defaultValueDescription||JSON.stringify(q.defaultValue)}`)}if(q.presetArg!==void 0&&q.optional)z.push(`preset: ${JSON.stringify(q.presetArg)}`);if(q.envVar!==void 0)z.push(`env: ${q.envVar}`);if(z.length>0){let J=`(${z.join(", ")})`;if(q.description)return`${q.description} ${J}`;return J}return q.description}argumentDescription(q){let z=[];if(q.argChoices)z.push(`choices: ${q.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(q.defaultValue!==void 0)z.push(`default: ${q.defaultValueDescription||JSON.stringify(q.defaultValue)}`);if(z.length>0){let J=`(${z.join(", ")})`;if(q.description)return`${q.description} ${J}`;return J}return q.description}formatItemList(q,z,J){if(z.length===0)return[];return[J.styleTitle(q),...z,""]}groupItems(q,z,J){let Z=new Map;return q.forEach(($)=>{let Q=J($);if(!Z.has(Q))Z.set(Q,[])}),z.forEach(($)=>{let Q=J($);if(!Z.has(Q))Z.set(Q,[]);Z.get(Q).push($)}),Z}formatHelp(q,z){let J=z.padWidth(q,z),Z=z.helpWidth??80;function $(H,G){return z.formatItem(H,J,G,z)}let Q=[`${z.styleTitle("Usage:")} ${z.styleUsage(z.commandUsage(q))}`,""],X=z.commandDescription(q);if(X.length>0)Q=Q.concat([z.boxWrap(z.styleCommandDescription(X),Z),""]);let Y=z.visibleArguments(q).map((H)=>{return $(z.styleArgumentTerm(z.argumentTerm(H)),z.styleArgumentDescription(z.argumentDescription(H)))});if(Q=Q.concat(this.formatItemList("Arguments:",Y,z)),this.groupItems(q.options,z.visibleOptions(q),(H)=>H.helpGroupHeading??"Options:").forEach((H,G)=>{let
|
|
2
|
+
import{createRequire as eq}from"node:module";var rq=Object.create;var{getPrototypeOf:nq,defineProperty:qq,getOwnPropertyNames:aq}=Object;var tq=Object.prototype.hasOwnProperty;var oq=(q,z,J)=>{J=q!=null?rq(nq(q)):{};let Z=z||!q||!q.__esModule?qq(J,"default",{value:q,enumerable:!0}):J;for(let $ of aq(q))if(!tq.call(Z,$))qq(Z,$,{get:()=>q[$],enumerable:!0});return Z};var I=(q,z)=>()=>(z||q((z={exports:{}}).exports,z),z.exports);var _=eq(import.meta.url);var A=I((q1)=>{class u extends Error{constructor(q,z,J){super(J);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=z,this.exitCode=q,this.nestedError=void 0}}class zq extends u{constructor(q){super(1,"commander.invalidArgument",q);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}q1.CommanderError=u;q1.InvalidArgumentError=zq});var C=I((Q1)=>{var{InvalidArgumentError:Z1}=A();class Jq{constructor(q,z){switch(this.description=z||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,q[0]){case"<":this.required=!0,this._name=q.slice(1,-1);break;case"[":this.required=!1,this._name=q.slice(1,-1);break;default:this.required=!0,this._name=q;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(q,z){if(z===this.defaultValue||!Array.isArray(z))return[q];return z.push(q),z}default(q,z){return this.defaultValue=q,this.defaultValueDescription=z,this}argParser(q){return this.parseArg=q,this}choices(q){return this.argChoices=q.slice(),this.parseArg=(z,J)=>{if(!this.argChoices.includes(z))throw new Z1(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(z,J);return z},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function $1(q){let z=q.name()+(q.variadic===!0?"...":"");return q.required?"<"+z+">":"["+z+"]"}Q1.Argument=Jq;Q1.humanReadableArgName=$1});var g=I((H1)=>{var{humanReadableArgName:B1}=C();class Zq{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(q){this.helpWidth=this.helpWidth??q.helpWidth??80}visibleCommands(q){let z=q.commands.filter((Z)=>!Z._hidden),J=q._getHelpCommand();if(J&&!J._hidden)z.push(J);if(this.sortSubcommands)z.sort((Z,$)=>{return Z.name().localeCompare($.name())});return z}compareOptions(q,z){let J=(Z)=>{return Z.short?Z.short.replace(/^-/,""):Z.long.replace(/^--/,"")};return J(q).localeCompare(J(z))}visibleOptions(q){let z=q.options.filter((Z)=>!Z.hidden),J=q._getHelpOption();if(J&&!J.hidden){let Z=J.short&&q._findOption(J.short),$=J.long&&q._findOption(J.long);if(!Z&&!$)z.push(J);else if(J.long&&!$)z.push(q.createOption(J.long,J.description));else if(J.short&&!Z)z.push(q.createOption(J.short,J.description))}if(this.sortOptions)z.sort(this.compareOptions);return z}visibleGlobalOptions(q){if(!this.showGlobalOptions)return[];let z=[];for(let J=q.parent;J;J=J.parent){let Z=J.options.filter(($)=>!$.hidden);z.push(...Z)}if(this.sortOptions)z.sort(this.compareOptions);return z}visibleArguments(q){if(q._argsDescription)q.registeredArguments.forEach((z)=>{z.description=z.description||q._argsDescription[z.name()]||""});if(q.registeredArguments.find((z)=>z.description))return q.registeredArguments;return[]}subcommandTerm(q){let z=q.registeredArguments.map((J)=>B1(J)).join(" ");return q._name+(q._aliases[0]?"|"+q._aliases[0]:"")+(q.options.length?" [options]":"")+(z?" "+z:"")}optionTerm(q){return q.flags}argumentTerm(q){return q.name()}longestSubcommandTermLength(q,z){return z.visibleCommands(q).reduce((J,Z)=>{return Math.max(J,this.displayWidth(z.styleSubcommandTerm(z.subcommandTerm(Z))))},0)}longestOptionTermLength(q,z){return z.visibleOptions(q).reduce((J,Z)=>{return Math.max(J,this.displayWidth(z.styleOptionTerm(z.optionTerm(Z))))},0)}longestGlobalOptionTermLength(q,z){return z.visibleGlobalOptions(q).reduce((J,Z)=>{return Math.max(J,this.displayWidth(z.styleOptionTerm(z.optionTerm(Z))))},0)}longestArgumentTermLength(q,z){return z.visibleArguments(q).reduce((J,Z)=>{return Math.max(J,this.displayWidth(z.styleArgumentTerm(z.argumentTerm(Z))))},0)}commandUsage(q){let z=q._name;if(q._aliases[0])z=z+"|"+q._aliases[0];let J="";for(let Z=q.parent;Z;Z=Z.parent)J=Z.name()+" "+J;return J+z+" "+q.usage()}commandDescription(q){return q.description()}subcommandDescription(q){return q.summary()||q.description()}optionDescription(q){let z=[];if(q.argChoices)z.push(`choices: ${q.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(q.defaultValue!==void 0){if(q.required||q.optional||q.isBoolean()&&typeof q.defaultValue==="boolean")z.push(`default: ${q.defaultValueDescription||JSON.stringify(q.defaultValue)}`)}if(q.presetArg!==void 0&&q.optional)z.push(`preset: ${JSON.stringify(q.presetArg)}`);if(q.envVar!==void 0)z.push(`env: ${q.envVar}`);if(z.length>0){let J=`(${z.join(", ")})`;if(q.description)return`${q.description} ${J}`;return J}return q.description}argumentDescription(q){let z=[];if(q.argChoices)z.push(`choices: ${q.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(q.defaultValue!==void 0)z.push(`default: ${q.defaultValueDescription||JSON.stringify(q.defaultValue)}`);if(z.length>0){let J=`(${z.join(", ")})`;if(q.description)return`${q.description} ${J}`;return J}return q.description}formatItemList(q,z,J){if(z.length===0)return[];return[J.styleTitle(q),...z,""]}groupItems(q,z,J){let Z=new Map;return q.forEach(($)=>{let Q=J($);if(!Z.has(Q))Z.set(Q,[])}),z.forEach(($)=>{let Q=J($);if(!Z.has(Q))Z.set(Q,[]);Z.get(Q).push($)}),Z}formatHelp(q,z){let J=z.padWidth(q,z),Z=z.helpWidth??80;function $(H,G){return z.formatItem(H,J,G,z)}let Q=[`${z.styleTitle("Usage:")} ${z.styleUsage(z.commandUsage(q))}`,""],X=z.commandDescription(q);if(X.length>0)Q=Q.concat([z.boxWrap(z.styleCommandDescription(X),Z),""]);let Y=z.visibleArguments(q).map((H)=>{return $(z.styleArgumentTerm(z.argumentTerm(H)),z.styleArgumentDescription(z.argumentDescription(H)))});if(Q=Q.concat(this.formatItemList("Arguments:",Y,z)),this.groupItems(q.options,z.visibleOptions(q),(H)=>H.helpGroupHeading??"Options:").forEach((H,G)=>{let E=H.map((N)=>{return $(z.styleOptionTerm(z.optionTerm(N)),z.styleOptionDescription(z.optionDescription(N)))});Q=Q.concat(this.formatItemList(G,E,z))}),z.showGlobalOptions){let H=z.visibleGlobalOptions(q).map((G)=>{return $(z.styleOptionTerm(z.optionTerm(G)),z.styleOptionDescription(z.optionDescription(G)))});Q=Q.concat(this.formatItemList("Global Options:",H,z))}return this.groupItems(q.commands,z.visibleCommands(q),(H)=>H.helpGroup()||"Commands:").forEach((H,G)=>{let E=H.map((N)=>{return $(z.styleSubcommandTerm(z.subcommandTerm(N)),z.styleSubcommandDescription(z.subcommandDescription(N)))});Q=Q.concat(this.formatItemList(G,E,z))}),Q.join(`
|
|
3
3
|
`)}displayWidth(q){return $q(q).length}styleTitle(q){return q}styleUsage(q){return q.split(" ").map((z)=>{if(z==="[options]")return this.styleOptionText(z);if(z==="[command]")return this.styleSubcommandText(z);if(z[0]==="["||z[0]==="<")return this.styleArgumentText(z);return this.styleCommandText(z)}).join(" ")}styleCommandDescription(q){return this.styleDescriptionText(q)}styleOptionDescription(q){return this.styleDescriptionText(q)}styleSubcommandDescription(q){return this.styleDescriptionText(q)}styleArgumentDescription(q){return this.styleDescriptionText(q)}styleDescriptionText(q){return q}styleOptionTerm(q){return this.styleOptionText(q)}styleSubcommandTerm(q){return q.split(" ").map((z)=>{if(z==="[options]")return this.styleOptionText(z);if(z[0]==="["||z[0]==="<")return this.styleArgumentText(z);return this.styleSubcommandText(z)}).join(" ")}styleArgumentTerm(q){return this.styleArgumentText(q)}styleOptionText(q){return q}styleArgumentText(q){return q}styleSubcommandText(q){return q}styleCommandText(q){return q}padWidth(q,z){return Math.max(z.longestOptionTermLength(q,z),z.longestGlobalOptionTermLength(q,z),z.longestSubcommandTermLength(q,z),z.longestArgumentTermLength(q,z))}preformatted(q){return/\n[^\S\r\n]/.test(q)}formatItem(q,z,J,Z){let Q=" ".repeat(2);if(!J)return Q+q;let X=q.padEnd(z+q.length-Z.displayWidth(q)),Y=2,B=(this.helpWidth??80)-z-Y-2,H;if(B<this.minWidthToWrap||Z.preformatted(J))H=J;else H=Z.boxWrap(J,B).replace(/\n/g,`
|
|
4
4
|
`+" ".repeat(z+Y));return Q+X+" ".repeat(Y)+H.replace(/\n/g,`
|
|
5
5
|
${Q}`)}boxWrap(q,z){if(z<this.minWidthToWrap)return q;let J=q.split(/\r\n|\n/),Z=/[\s]*[^\s]+/g,$=[];return J.forEach((Q)=>{let X=Q.match(Z);if(X===null){$.push("");return}let Y=[X.shift()],U=this.displayWidth(Y[0]);X.forEach((B)=>{let H=this.displayWidth(B);if(U+H<=z){Y.push(B),U+=H;return}$.push(Y.join(""));let G=B.trimStart();Y=[G],U=this.displayWidth(G)}),$.push(Y.join(""))}),$.join(`
|
|
@@ -9,32 +9,32 @@ ${Q}`)}boxWrap(q,z){if(z<this.minWidthToWrap)return q;let J=q.split(/\r\n|\n/),Z
|
|
|
9
9
|
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(Z.test(X))throw Error(`${Y}
|
|
10
10
|
- too many short flags`);if($.test(X))throw Error(`${Y}
|
|
11
11
|
- too many long flags`);throw Error(`${Y}
|
|
12
|
-
- unrecognised flag format`)}if(z===void 0&&J===void 0)throw Error(`option creation failed due to no flags found in '${q}'.`);return{shortFlag:z,longFlag:J}}M1.Option=Xq;M1.DualOptions=Yq});var Bq=I((
|
|
12
|
+
- unrecognised flag format`)}if(z===void 0&&J===void 0)throw Error(`option creation failed due to no flags found in '${q}'.`);return{shortFlag:z,longFlag:J}}M1.Option=Xq;M1.DualOptions=Yq});var Bq=I((j1)=>{function R1(q,z){if(Math.abs(q.length-z.length)>3)return Math.max(q.length,z.length);let J=[];for(let Z=0;Z<=q.length;Z++)J[Z]=[Z];for(let Z=0;Z<=z.length;Z++)J[0][Z]=Z;for(let Z=1;Z<=z.length;Z++)for(let $=1;$<=q.length;$++){let Q=1;if(q[$-1]===z[Z-1])Q=0;else Q=1;if(J[$][Z]=Math.min(J[$-1][Z]+1,J[$][Z-1]+1,J[$-1][Z-1]+Q),$>1&&Z>1&&q[$-1]===z[Z-2]&&q[$-2]===z[Z-1])J[$][Z]=Math.min(J[$][Z],J[$-2][Z-2]+1)}return J[q.length][z.length]}function P1(q,z){if(!z||z.length===0)return"";z=Array.from(new Set(z));let J=q.startsWith("--");if(J)q=q.slice(2),z=z.map((X)=>X.slice(2));let Z=[],$=3,Q=0.4;if(z.forEach((X)=>{if(X.length<=1)return;let Y=R1(q,X),U=Math.max(q.length,X.length);if((U-Y)/U>Q){if(Y<$)$=Y,Z=[X];else if(Y===$)Z.push(X)}}),Z.sort((X,Y)=>X.localeCompare(Y)),J)Z=Z.map((X)=>`--${X}`);if(Z.length>1)return`
|
|
13
13
|
(Did you mean one of ${Z.join(", ")}?)`;if(Z.length===1)return`
|
|
14
|
-
(Did you mean ${Z[0]}?)`;return""}
|
|
14
|
+
(Did you mean ${Z[0]}?)`;return""}j1.suggestSimilar=P1});var Kq=I((S1)=>{var N1=_("node:events").EventEmitter,c=_("node:child_process"),j=_("node:path"),b=_("node:fs"),K=_("node:process"),{Argument:I1,humanReadableArgName:D1}=C(),{CommanderError:d}=A(),{Help:E1,stripColor:F1}=g(),{Option:Hq,DualOptions:w1}=m(),{suggestSimilar:Uq}=Bq();class p extends N1{constructor(q){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=q||"",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:(z)=>K.stdout.write(z),writeErr:(z)=>K.stderr.write(z),outputError:(z,J)=>J(z),getOutHelpWidth:()=>K.stdout.isTTY?K.stdout.columns:void 0,getErrHelpWidth:()=>K.stderr.isTTY?K.stderr.columns:void 0,getOutHasColors:()=>l()??(K.stdout.isTTY&&K.stdout.hasColors?.()),getErrHasColors:()=>l()??(K.stderr.isTTY&&K.stderr.hasColors?.()),stripColor:(z)=>F1(z)},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(q){return this._outputConfiguration=q._outputConfiguration,this._helpOption=q._helpOption,this._helpCommand=q._helpCommand,this._helpConfiguration=q._helpConfiguration,this._exitCallback=q._exitCallback,this._storeOptionsAsProperties=q._storeOptionsAsProperties,this._combineFlagAndOptionalValue=q._combineFlagAndOptionalValue,this._allowExcessArguments=q._allowExcessArguments,this._enablePositionalOptions=q._enablePositionalOptions,this._showHelpAfterError=q._showHelpAfterError,this._showSuggestionAfterError=q._showSuggestionAfterError,this}_getCommandAndAncestors(){let q=[];for(let z=this;z;z=z.parent)q.push(z);return q}command(q,z,J){let Z=z,$=J;if(typeof Z==="object"&&Z!==null)$=Z,Z=null;$=$||{};let[,Q,X]=q.match(/([^ ]+) *(.*)/),Y=this.createCommand(Q);if(Z)Y.description(Z),Y._executableHandler=!0;if($.isDefault)this._defaultCommandName=Y._name;if(Y._hidden=!!($.noHelp||$.hidden),Y._executableFile=$.executableFile||null,X)Y.arguments(X);if(this._registerCommand(Y),Y.parent=this,Y.copyInheritedSettings(this),Z)return this;return Y}createCommand(q){return new p(q)}createHelp(){return Object.assign(new E1,this.configureHelp())}configureHelp(q){if(q===void 0)return this._helpConfiguration;return this._helpConfiguration=q,this}configureOutput(q){if(q===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...q},this}showHelpAfterError(q=!0){if(typeof q!=="string")q=!!q;return this._showHelpAfterError=q,this}showSuggestionAfterError(q=!0){return this._showSuggestionAfterError=!!q,this}addCommand(q,z){if(!q._name)throw Error(`Command passed to .addCommand() must have a name
|
|
15
15
|
- specify the name in Command constructor or using .name()`);if(z=z||{},z.isDefault)this._defaultCommandName=q._name;if(z.noHelp||z.hidden)q._hidden=!0;return this._registerCommand(q),q.parent=this,q._checkForBrokenPassThrough(),this}createArgument(q,z){return new I1(q,z)}argument(q,z,J,Z){let $=this.createArgument(q,z);if(typeof J==="function")$.default(Z).argParser(J);else $.default(J);return this.addArgument($),this}arguments(q){return q.trim().split(/ +/).forEach((z)=>{this.argument(z)}),this}addArgument(q){let z=this.registeredArguments.slice(-1)[0];if(z?.variadic)throw Error(`only the last argument can be variadic '${z.name()}'`);if(q.required&&q.defaultValue!==void 0&&q.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${q.name()}'`);return this.registeredArguments.push(q),this}helpCommand(q,z){if(typeof q==="boolean"){if(this._addImplicitHelpCommand=q,q&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let J=q??"help [command]",[,Z,$]=J.match(/([^ ]+) *(.*)/),Q=z??"display help for command",X=this.createCommand(Z);if(X.helpOption(!1),$)X.arguments($);if(Q)X.description(Q);if(this._addImplicitHelpCommand=!0,this._helpCommand=X,q||z)this._initCommandGroup(X);return this}addHelpCommand(q,z){if(typeof q!=="object")return this.helpCommand(q,z),this;return this._addImplicitHelpCommand=!0,this._helpCommand=q,this._initCommandGroup(q),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(q,z){let J=["preSubcommand","preAction","postAction"];if(!J.includes(q))throw Error(`Unexpected value for event passed to hook : '${q}'.
|
|
16
16
|
Expecting one of '${J.join("', '")}'`);if(this._lifeCycleHooks[q])this._lifeCycleHooks[q].push(z);else this._lifeCycleHooks[q]=[z];return this}exitOverride(q){if(q)this._exitCallback=q;else this._exitCallback=(z)=>{if(z.code!=="commander.executeSubCommandAsync")throw z};return this}_exit(q,z,J){if(this._exitCallback)this._exitCallback(new d(q,z,J));K.exit(q)}action(q){let z=(J)=>{let Z=this.registeredArguments.length,$=J.slice(0,Z);if(this._storeOptionsAsProperties)$[Z]=this;else $[Z]=this.opts();return $.push(this),q.apply(this,$)};return this._actionHandler=z,this}createOption(q,z){return new Hq(q,z)}_callParseArg(q,z,J,Z){try{return q.parseArg(z,J)}catch($){if($.code==="commander.invalidArgument"){let Q=`${Z} ${$.message}`;this.error(Q,{exitCode:$.exitCode,code:$.code})}throw $}}_registerOption(q){let z=q.short&&this._findOption(q.short)||q.long&&this._findOption(q.long);if(z){let J=q.long&&this._findOption(q.long)?q.long:q.short;throw Error(`Cannot add option '${q.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${J}'
|
|
17
17
|
- already used by option '${z.flags}'`)}this._initOptionGroup(q),this.options.push(q)}_registerCommand(q){let z=(Z)=>{return[Z.name()].concat(Z.aliases())},J=z(q).find((Z)=>this._findCommand(Z));if(J){let Z=z(this._findCommand(J)).join("|"),$=z(q).join("|");throw Error(`cannot add command '${$}' as already have command '${Z}'`)}this._initCommandGroup(q),this.commands.push(q)}addOption(q){this._registerOption(q);let z=q.name(),J=q.attributeName();if(q.negate){let $=q.long.replace(/^--no-/,"--");if(!this._findOption($))this.setOptionValueWithSource(J,q.defaultValue===void 0?!0:q.defaultValue,"default")}else if(q.defaultValue!==void 0)this.setOptionValueWithSource(J,q.defaultValue,"default");let Z=($,Q,X)=>{if($==null&&q.presetArg!==void 0)$=q.presetArg;let Y=this.getOptionValue(J);if($!==null&&q.parseArg)$=this._callParseArg(q,$,Y,Q);else if($!==null&&q.variadic)$=q._collectValue($,Y);if($==null)if(q.negate)$=!1;else if(q.isBoolean()||q.optional)$=!0;else $="";this.setOptionValueWithSource(J,$,X)};if(this.on("option:"+z,($)=>{let Q=`error: option '${q.flags}' argument '${$}' is invalid.`;Z($,Q,"cli")}),q.envVar)this.on("optionEnv:"+z,($)=>{let Q=`error: option '${q.flags}' value '${$}' from env '${q.envVar}' is invalid.`;Z($,Q,"env")});return this}_optionEx(q,z,J,Z,$){if(typeof z==="object"&&z instanceof Hq)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let Q=this.createOption(z,J);if(Q.makeOptionMandatory(!!q.mandatory),typeof Z==="function")Q.default($).argParser(Z);else if(Z instanceof RegExp){let X=Z;Z=(Y,U)=>{let B=X.exec(Y);return B?B[0]:U},Q.default($).argParser(Z)}else Q.default(Z);return this.addOption(Q)}option(q,z,J,Z){return this._optionEx({},q,z,J,Z)}requiredOption(q,z,J,Z){return this._optionEx({mandatory:!0},q,z,J,Z)}combineFlagAndOptionalValue(q=!0){return this._combineFlagAndOptionalValue=!!q,this}allowUnknownOption(q=!0){return this._allowUnknownOption=!!q,this}allowExcessArguments(q=!0){return this._allowExcessArguments=!!q,this}enablePositionalOptions(q=!0){return this._enablePositionalOptions=!!q,this}passThroughOptions(q=!0){return this._passThroughOptions=!!q,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(q=!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=!!q,this}getOptionValue(q){if(this._storeOptionsAsProperties)return this[q];return this._optionValues[q]}setOptionValue(q,z){return this.setOptionValueWithSource(q,z,void 0)}setOptionValueWithSource(q,z,J){if(this._storeOptionsAsProperties)this[q]=z;else this._optionValues[q]=z;return this._optionValueSources[q]=J,this}getOptionValueSource(q){return this._optionValueSources[q]}getOptionValueSourceWithGlobals(q){let z;return this._getCommandAndAncestors().forEach((J)=>{if(J.getOptionValueSource(q)!==void 0)z=J.getOptionValueSource(q)}),z}_prepareUserArgs(q,z){if(q!==void 0&&!Array.isArray(q))throw Error("first parameter to parse must be array or undefined");if(z=z||{},q===void 0&&z.from===void 0){if(K.versions?.electron)z.from="electron";let Z=K.execArgv??[];if(Z.includes("-e")||Z.includes("--eval")||Z.includes("-p")||Z.includes("--print"))z.from="eval"}if(q===void 0)q=K.argv;this.rawArgs=q.slice();let J;switch(z.from){case void 0:case"node":this._scriptPath=q[1],J=q.slice(2);break;case"electron":if(K.defaultApp)this._scriptPath=q[1],J=q.slice(2);else J=q.slice(1);break;case"user":J=q.slice(0);break;case"eval":J=q.slice(1);break;default:throw Error(`unexpected parse option { from: '${z.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",J}parse(q,z){this._prepareForParse();let J=this._prepareUserArgs(q,z);return this._parseCommand([],J),this}async parseAsync(q,z){this._prepareForParse();let J=this._prepareUserArgs(q,z);return await this._parseCommand([],J),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
18
18
|
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(q,z,J){if(b.existsSync(q))return;let Z=z?`searched for local subcommand relative to directory '${z}'`:"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
|
-
- ${Z}`;throw Error($)}_executeSubCommand(q,z){z=z.slice();let J=!1,Z=[".js",".ts",".tsx",".mjs",".cjs"];function $(B,H){let G=
|
|
21
|
+
- ${Z}`;throw Error($)}_executeSubCommand(q,z){z=z.slice();let J=!1,Z=[".js",".ts",".tsx",".mjs",".cjs"];function $(B,H){let G=j.resolve(B,H);if(b.existsSync(G))return G;if(Z.includes(j.extname(H)))return;let E=Z.find((N)=>b.existsSync(`${G}${N}`));if(E)return`${G}${E}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Q=q._executableFile||`${this._name}-${q._name}`,X=this._executableDir||"";if(this._scriptPath){let B;try{B=b.realpathSync(this._scriptPath)}catch{B=this._scriptPath}X=j.resolve(j.dirname(B),X)}if(X){let B=$(X,Q);if(!B&&!q._executableFile&&this._scriptPath){let H=j.basename(this._scriptPath,j.extname(this._scriptPath));if(H!==this._name)B=$(X,`${H}-${q._name}`)}Q=B||Q}J=Z.includes(j.extname(Q));let Y;if(K.platform!=="win32")if(J)z.unshift(Q),z=Gq(K.execArgv).concat(z),Y=c.spawn(K.argv[0],z,{stdio:"inherit"});else Y=c.spawn(Q,z,{stdio:"inherit"});else this._checkForMissingExecutable(Q,X,q._name),z.unshift(Q),z=Gq(K.execArgv).concat(z),Y=c.spawn(K.execPath,z,{stdio:"inherit"});if(!Y.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((H)=>{K.on(H,()=>{if(Y.killed===!1&&Y.exitCode===null)Y.kill(H)})});let U=this._exitCallback;Y.on("close",(B)=>{if(B=B??1,!U)K.exit(B);else U(new d(B,"commander.executeSubCommandAsync","(close)"))}),Y.on("error",(B)=>{if(B.code==="ENOENT")this._checkForMissingExecutable(Q,X,q._name);else if(B.code==="EACCES")throw Error(`'${Q}' not executable`);if(!U)K.exit(1);else{let H=new d(1,"commander.executeSubCommandAsync","(error)");H.nestedError=B,U(H)}}),this.runningCommand=Y}_dispatchSubcommand(q,z,J){let Z=this._findCommand(q);if(!Z)this.help({error:!0});Z._prepareForParse();let $;return $=this._chainOrCallSubCommandHook($,Z,"preSubcommand"),$=this._chainOrCall($,()=>{if(Z._executableHandler)this._executeSubCommand(Z,z.concat(J));else return Z._parseCommand(z,J)}),$}_dispatchHelpCommand(q){if(!q)this.help();let z=this._findCommand(q);if(z&&!z._executableHandler)z.help();return this._dispatchSubcommand(q,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((q,z)=>{if(q.required&&this.args[z]==null)this.missingArgument(q.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 q=(J,Z,$)=>{let Q=Z;if(Z!==null&&J.parseArg){let X=`error: command-argument value '${Z}' is invalid for argument '${J.name()}'.`;Q=this._callParseArg(J,Z,$,X)}return Q};this._checkNumberOfArguments();let z=[];this.registeredArguments.forEach((J,Z)=>{let $=J.defaultValue;if(J.variadic){if(Z<this.args.length){if($=this.args.slice(Z),J.parseArg)$=$.reduce((Q,X)=>{return q(J,X,Q)},J.defaultValue)}else if($===void 0)$=[]}else if(Z<this.args.length){if($=this.args[Z],J.parseArg)$=q(J,$,J.defaultValue)}z[Z]=$}),this.processedArgs=z}_chainOrCall(q,z){if(q?.then&&typeof q.then==="function")return q.then(()=>z());return z()}_chainOrCallHooks(q,z){let J=q,Z=[];if(this._getCommandAndAncestors().reverse().filter(($)=>$._lifeCycleHooks[z]!==void 0).forEach(($)=>{$._lifeCycleHooks[z].forEach((Q)=>{Z.push({hookedCommand:$,callback:Q})})}),z==="postAction")Z.reverse();return Z.forEach(($)=>{J=this._chainOrCall(J,()=>{return $.callback($.hookedCommand,this)})}),J}_chainOrCallSubCommandHook(q,z,J){let Z=q;if(this._lifeCycleHooks[J]!==void 0)this._lifeCycleHooks[J].forEach(($)=>{Z=this._chainOrCall(Z,()=>{return $(this,z)})});return Z}_parseCommand(q,z){let J=this.parseOptions(z);if(this._parseOptionsEnv(),this._parseOptionsImplied(),q=q.concat(J.operands),z=J.unknown,this.args=q.concat(z),q&&this._findCommand(q[0]))return this._dispatchSubcommand(q[0],q.slice(1),z);if(this._getHelpCommand()&&q[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(q[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(z),this._dispatchSubcommand(this._defaultCommandName,q,z);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 Z=()=>{if(J.unknown.length>0)this.unknownOption(J.unknown[0])},$=`command:${this.name()}`;if(this._actionHandler){Z(),this._processArguments();let Q;if(Q=this._chainOrCallHooks(Q,"preAction"),Q=this._chainOrCall(Q,()=>this._actionHandler(this.processedArgs)),this.parent)Q=this._chainOrCall(Q,()=>{this.parent.emit($,q,z)});return Q=this._chainOrCallHooks(Q,"postAction"),Q}if(this.parent?.listenerCount($))Z(),this._processArguments(),this.parent.emit($,q,z);else if(q.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",q,z);if(this.listenerCount("command:*"))this.emit("command:*",q,z);else if(this.commands.length)this.unknownCommand();else Z(),this._processArguments()}else if(this.commands.length)Z(),this.help({error:!0});else Z(),this._processArguments()}_findCommand(q){if(!q)return;return this.commands.find((z)=>z._name===q||z._aliases.includes(q))}_findOption(q){return this.options.find((z)=>z.is(q))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((q)=>{q.options.forEach((z)=>{if(z.mandatory&&q.getOptionValue(z.attributeName())===void 0)q.missingMandatoryOptionValue(z)})})}_checkForConflictingLocalOptions(){let q=this.options.filter((J)=>{let Z=J.attributeName();if(this.getOptionValue(Z)===void 0)return!1;return this.getOptionValueSource(Z)!=="default"});q.filter((J)=>J.conflictsWith.length>0).forEach((J)=>{let Z=q.find(($)=>J.conflictsWith.includes($.attributeName()));if(Z)this._conflictingOption(J,Z)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((q)=>{q._checkForConflictingLocalOptions()})}parseOptions(q){let z=[],J=[],Z=z;function $(B){return B.length>1&&B[0]==="-"}let Q=(B)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(B))return!1;return!this._getCommandAndAncestors().some((H)=>H.options.map((G)=>G.short).some((G)=>/^-\d$/.test(G)))},X=null,Y=null,U=0;while(U<q.length||Y){let B=Y??q[U++];if(Y=null,B==="--"){if(Z===J)Z.push(B);Z.push(...q.slice(U));break}if(X&&(!$(B)||Q(B))){this.emit(`option:${X.name()}`,B);continue}if(X=null,$(B)){let H=this._findOption(B);if(H){if(H.required){let G=q[U++];if(G===void 0)this.optionMissingArgument(H);this.emit(`option:${H.name()}`,G)}else if(H.optional){let G=null;if(U<q.length&&(!$(q[U])||Q(q[U])))G=q[U++];this.emit(`option:${H.name()}`,G)}else this.emit(`option:${H.name()}`);X=H.variadic?H:null;continue}}if(B.length>2&&B[0]==="-"&&B[1]!=="-"){let H=this._findOption(`-${B[1]}`);if(H){if(H.required||H.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${H.name()}`,B.slice(2));else this.emit(`option:${H.name()}`),Y=`-${B.slice(2)}`;continue}}if(/^--[^=]+=/.test(B)){let H=B.indexOf("="),G=this._findOption(B.slice(0,H));if(G&&(G.required||G.optional)){this.emit(`option:${G.name()}`,B.slice(H+1));continue}}if(Z===z&&$(B)&&!(this.commands.length===0&&Q(B)))Z=J;if((this._enablePositionalOptions||this._passThroughOptions)&&z.length===0&&J.length===0){if(this._findCommand(B)){z.push(B),J.push(...q.slice(U));break}else if(this._getHelpCommand()&&B===this._getHelpCommand().name()){z.push(B,...q.slice(U));break}else if(this._defaultCommandName){J.push(B,...q.slice(U));break}}if(this._passThroughOptions){Z.push(B,...q.slice(U));break}Z.push(B)}return{operands:z,unknown:J}}opts(){if(this._storeOptionsAsProperties){let q={},z=this.options.length;for(let J=0;J<z;J++){let Z=this.options[J].attributeName();q[Z]=Z===this._versionOptionName?this._version:this[Z]}return q}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((q,z)=>Object.assign(q,z.opts()),{})}error(q,z){if(this._outputConfiguration.outputError(`${q}
|
|
22
22
|
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
23
23
|
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
|
24
24
|
`),this.outputHelp({error:!0});let J=z||{},Z=J.exitCode||1,$=J.code||"commander.error";this._exit(Z,$,q)}_parseOptionsEnv(){this.options.forEach((q)=>{if(q.envVar&&q.envVar in K.env){let z=q.attributeName();if(this.getOptionValue(z)===void 0||["default","config","env"].includes(this.getOptionValueSource(z)))if(q.required||q.optional)this.emit(`optionEnv:${q.name()}`,K.env[q.envVar]);else this.emit(`optionEnv:${q.name()}`)}})}_parseOptionsImplied(){let q=new w1(this.options),z=(J)=>{return this.getOptionValue(J)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(J))};this.options.filter((J)=>J.implied!==void 0&&z(J.attributeName())&&q.valueFromOption(this.getOptionValue(J.attributeName()),J)).forEach((J)=>{Object.keys(J.implied).filter((Z)=>!z(Z)).forEach((Z)=>{this.setOptionValueWithSource(Z,J.implied[Z],"implied")})})}missingArgument(q){let z=`error: missing required argument '${q}'`;this.error(z,{code:"commander.missingArgument"})}optionMissingArgument(q){let z=`error: option '${q.flags}' argument missing`;this.error(z,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(q){let z=`error: required option '${q.flags}' not specified`;this.error(z,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(q,z){let J=(Q)=>{let X=Q.attributeName(),Y=this.getOptionValue(X),U=this.options.find((H)=>H.negate&&X===H.attributeName()),B=this.options.find((H)=>!H.negate&&X===H.attributeName());if(U&&(U.presetArg===void 0&&Y===!1||U.presetArg!==void 0&&Y===U.presetArg))return U;return B||Q},Z=(Q)=>{let X=J(Q),Y=X.attributeName();if(this.getOptionValueSource(Y)==="env")return`environment variable '${X.envVar}'`;return`option '${X.flags}'`},$=`error: ${Z(q)} cannot be used with ${Z(z)}`;this.error($,{code:"commander.conflictingOption"})}unknownOption(q){if(this._allowUnknownOption)return;let z="";if(q.startsWith("--")&&this._showSuggestionAfterError){let Z=[],$=this;do{let Q=$.createHelp().visibleOptions($).filter((X)=>X.long).map((X)=>X.long);Z=Z.concat(Q),$=$.parent}while($&&!$._enablePositionalOptions);z=Uq(q,Z)}let J=`error: unknown option '${q}'${z}`;this.error(J,{code:"commander.unknownOption"})}_excessArguments(q){if(this._allowExcessArguments)return;let z=this.registeredArguments.length,J=z===1?"":"s",$=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${z} argument${J} but got ${q.length}.`;this.error($,{code:"commander.excessArguments"})}unknownCommand(){let q=this.args[0],z="";if(this._showSuggestionAfterError){let Z=[];this.createHelp().visibleCommands(this).forEach(($)=>{if(Z.push($.name()),$.alias())Z.push($.alias())}),z=Uq(q,Z)}let J=`error: unknown command '${q}'${z}`;this.error(J,{code:"commander.unknownCommand"})}version(q,z,J){if(q===void 0)return this._version;this._version=q,z=z||"-V, --version",J=J||"output the version number";let Z=this.createOption(z,J);return this._versionOptionName=Z.attributeName(),this._registerOption(Z),this.on("option:"+Z.name(),()=>{this._outputConfiguration.writeOut(`${q}
|
|
25
|
-
`),this._exit(0,"commander.version",q)}),this}description(q,z){if(q===void 0&&z===void 0)return this._description;if(this._description=q,z)this._argsDescription=z;return this}summary(q){if(q===void 0)return this._summary;return this._summary=q,this}alias(q){if(q===void 0)return this._aliases[0];let z=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)z=this.commands[this.commands.length-1];if(q===z._name)throw Error("Command alias can't be the same as its name");let J=this.parent?._findCommand(q);if(J){let Z=[J.name()].concat(J.aliases()).join("|");throw Error(`cannot add alias '${q}' to command '${this.name()}' as already have command '${Z}'`)}return z._aliases.push(q),this}aliases(q){if(q===void 0)return this._aliases;return q.forEach((z)=>this.alias(z)),this}usage(q){if(q===void 0){if(this._usage)return this._usage;let z=this.registeredArguments.map((J)=>{return D1(J)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?z:[]).join(" ")}return this._usage=q,this}name(q){if(q===void 0)return this._name;return this._name=q,this}helpGroup(q){if(q===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=q,this}commandsGroup(q){if(q===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=q,this}optionsGroup(q){if(q===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=q,this}_initOptionGroup(q){if(this._defaultOptionGroup&&!q.helpGroupHeading)q.helpGroup(this._defaultOptionGroup)}_initCommandGroup(q){if(this._defaultCommandGroup&&!q.helpGroup())q.helpGroup(this._defaultCommandGroup)}nameFromFilename(q){return this._name=
|
|
25
|
+
`),this._exit(0,"commander.version",q)}),this}description(q,z){if(q===void 0&&z===void 0)return this._description;if(this._description=q,z)this._argsDescription=z;return this}summary(q){if(q===void 0)return this._summary;return this._summary=q,this}alias(q){if(q===void 0)return this._aliases[0];let z=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)z=this.commands[this.commands.length-1];if(q===z._name)throw Error("Command alias can't be the same as its name");let J=this.parent?._findCommand(q);if(J){let Z=[J.name()].concat(J.aliases()).join("|");throw Error(`cannot add alias '${q}' to command '${this.name()}' as already have command '${Z}'`)}return z._aliases.push(q),this}aliases(q){if(q===void 0)return this._aliases;return q.forEach((z)=>this.alias(z)),this}usage(q){if(q===void 0){if(this._usage)return this._usage;let z=this.registeredArguments.map((J)=>{return D1(J)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?z:[]).join(" ")}return this._usage=q,this}name(q){if(q===void 0)return this._name;return this._name=q,this}helpGroup(q){if(q===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=q,this}commandsGroup(q){if(q===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=q,this}optionsGroup(q){if(q===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=q,this}_initOptionGroup(q){if(this._defaultOptionGroup&&!q.helpGroupHeading)q.helpGroup(this._defaultOptionGroup)}_initCommandGroup(q){if(this._defaultCommandGroup&&!q.helpGroup())q.helpGroup(this._defaultCommandGroup)}nameFromFilename(q){return this._name=j.basename(q,j.extname(q)),this}executableDir(q){if(q===void 0)return this._executableDir;return this._executableDir=q,this}helpInformation(q){let z=this.createHelp(),J=this._getOutputContext(q);z.prepareContext({error:J.error,helpWidth:J.helpWidth,outputHasColors:J.hasColors});let Z=z.formatHelp(this,z);if(J.hasColors)return Z;return this._outputConfiguration.stripColor(Z)}_getOutputContext(q){q=q||{};let z=!!q.error,J,Z,$;if(z)J=(X)=>this._outputConfiguration.writeErr(X),Z=this._outputConfiguration.getErrHasColors(),$=this._outputConfiguration.getErrHelpWidth();else J=(X)=>this._outputConfiguration.writeOut(X),Z=this._outputConfiguration.getOutHasColors(),$=this._outputConfiguration.getOutHelpWidth();return{error:z,write:(X)=>{if(!Z)X=this._outputConfiguration.stripColor(X);return J(X)},hasColors:Z,helpWidth:$}}outputHelp(q){let z;if(typeof q==="function")z=q,q=void 0;let J=this._getOutputContext(q),Z={error:J.error,write:J.write,command:this};this._getCommandAndAncestors().reverse().forEach((Q)=>Q.emit("beforeAllHelp",Z)),this.emit("beforeHelp",Z);let $=this.helpInformation({error:J.error});if(z){if($=z($),typeof $!=="string"&&!Buffer.isBuffer($))throw Error("outputHelp callback must return a string or a Buffer")}if(J.write($),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Z),this._getCommandAndAncestors().forEach((Q)=>Q.emit("afterAllHelp",Z))}helpOption(q,z){if(typeof q==="boolean"){if(q){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(q??"-h, --help",z??"display help for command"),q||z)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(q){return this._helpOption=q,this._initOptionGroup(q),this}help(q){this.outputHelp(q);let z=Number(K.exitCode??0);if(z===0&&q&&typeof q!=="function"&&q.error)z=1;this._exit(z,"commander.help","(outputHelp)")}addHelpText(q,z){let J=["beforeAll","before","after","afterAll"];if(!J.includes(q))throw Error(`Unexpected value for position to addHelpText.
|
|
26
26
|
Expecting one of '${J.join("', '")}'`);let Z=`${q}Help`;return this.on(Z,($)=>{let Q;if(typeof z==="function")Q=z({error:$.error,command:$.command});else Q=z;if(Q)$.write(`${Q}
|
|
27
|
-
`)}),this}_outputHelpIfRequested(q){let z=this._getHelpOption();if(z&&q.find((Z)=>z.is(Z)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function Gq(q){return q.map((z)=>{if(!z.startsWith("--inspect"))return z;let J,Z="127.0.0.1",$="9229",Q;if((Q=z.match(/^(--inspect(-brk)?)$/))!==null)J=Q[1];else if((Q=z.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(J=Q[1],/^\d+$/.test(Q[3]))$=Q[3];else Z=Q[3];else if((Q=z.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)J=Q[1],Z=Q[3],$=Q[4];if(J&&$!=="0")return`${J}=${Z}:${parseInt($)+1}`;return z})}function l(){if(K.env.NO_COLOR||K.env.FORCE_COLOR==="0"||K.env.FORCE_COLOR==="false")return!1;if(K.env.FORCE_COLOR||K.env.CLICOLOR_FORCE!==void 0)return!0;return}S1.Command=p;S1.useColor=l});var Vq=I((k1)=>{var{Argument:Wq}=C(),{Command:i}=Kq(),{CommanderError:O1,InvalidArgumentError:Mq}=A(),{Help:x1}=g(),{Option:Lq}=m();k1.program=new i;k1.createCommand=(q)=>new i(q);k1.createOption=(q,z)=>new Lq(q,z);k1.createArgument=(q,z)=>new Wq(q,z);k1.Command=i;k1.Option=Lq;k1.Argument=Wq;k1.Help=x1;k1.CommanderError=O1;k1.InvalidArgumentError=Mq;k1.InvalidOptionArgumentError=Mq});var Rq=oq(Vq(),1),{program:sz,createCommand:rz,createArgument:nz,createOption:az,CommanderError:tz,InvalidArgumentError:oz,InvalidOptionArgumentError:ez,Command:Pq,Argument:qJ,Option:zJ,Help:JJ}=Rq.default;import{join as R,resolve as cq}from"path";import{writeFileSync as Iz}from"fs";var
|
|
27
|
+
`)}),this}_outputHelpIfRequested(q){let z=this._getHelpOption();if(z&&q.find((Z)=>z.is(Z)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function Gq(q){return q.map((z)=>{if(!z.startsWith("--inspect"))return z;let J,Z="127.0.0.1",$="9229",Q;if((Q=z.match(/^(--inspect(-brk)?)$/))!==null)J=Q[1];else if((Q=z.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(J=Q[1],/^\d+$/.test(Q[3]))$=Q[3];else Z=Q[3];else if((Q=z.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)J=Q[1],Z=Q[3],$=Q[4];if(J&&$!=="0")return`${J}=${Z}:${parseInt($)+1}`;return z})}function l(){if(K.env.NO_COLOR||K.env.FORCE_COLOR==="0"||K.env.FORCE_COLOR==="false")return!1;if(K.env.FORCE_COLOR||K.env.CLICOLOR_FORCE!==void 0)return!0;return}S1.Command=p;S1.useColor=l});var Vq=I((k1)=>{var{Argument:Wq}=C(),{Command:i}=Kq(),{CommanderError:O1,InvalidArgumentError:Mq}=A(),{Help:x1}=g(),{Option:Lq}=m();k1.program=new i;k1.createCommand=(q)=>new i(q);k1.createOption=(q,z)=>new Lq(q,z);k1.createArgument=(q,z)=>new Wq(q,z);k1.Command=i;k1.Option=Lq;k1.Argument=Wq;k1.Help=x1;k1.CommanderError=O1;k1.InvalidArgumentError=Mq;k1.InvalidOptionArgumentError=Mq});var Rq=oq(Vq(),1),{program:sz,createCommand:rz,createArgument:nz,createOption:az,CommanderError:tz,InvalidArgumentError:oz,InvalidOptionArgumentError:ez,Command:Pq,Argument:qJ,Option:zJ,Help:JJ}=Rq.default;import{join as R,resolve as cq}from"path";import{writeFileSync as Iz}from"fs";var jq=(q=0)=>(z)=>`\x1B[${z+q}m`,Tq=(q=0)=>(z)=>`\x1B[${38+q};5;${z}m`,Nq=(q=0)=>(z,J,Z)=>`\x1B[${38+q};2;${z};${J};${Z}m`,M={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},$J=Object.keys(M.modifier),l1=Object.keys(M.color),p1=Object.keys(M.bgColor),QJ=[...l1,...p1];function i1(){let q=new Map;for(let[z,J]of Object.entries(M)){for(let[Z,$]of Object.entries(J))M[Z]={open:`\x1B[${$[0]}m`,close:`\x1B[${$[1]}m`},J[Z]=M[Z],q.set($[0],$[1]);Object.defineProperty(M,z,{value:J,enumerable:!1})}return Object.defineProperty(M,"codes",{value:q,enumerable:!1}),M.color.close="\x1B[39m",M.bgColor.close="\x1B[49m",M.color.ansi=jq(),M.color.ansi256=Tq(),M.color.ansi16m=Nq(),M.bgColor.ansi=jq(10),M.bgColor.ansi256=Tq(10),M.bgColor.ansi16m=Nq(10),Object.defineProperties(M,{rgbToAnsi256:{value(z,J,Z){if(z===J&&J===Z){if(z<8)return 16;if(z>248)return 231;return Math.round((z-8)/247*24)+232}return 16+36*Math.round(z/255*5)+6*Math.round(J/255*5)+Math.round(Z/255*5)},enumerable:!1},hexToRgb:{value(z){let J=/[a-f\d]{6}|[a-f\d]{3}/i.exec(z.toString(16));if(!J)return[0,0,0];let[Z]=J;if(Z.length===3)Z=[...Z].map((Q)=>Q+Q).join("");let $=Number.parseInt(Z,16);return[$>>16&255,$>>8&255,$&255]},enumerable:!1},hexToAnsi256:{value:(z)=>M.rgbToAnsi256(...M.hexToRgb(z)),enumerable:!1},ansi256ToAnsi:{value(z){if(z<8)return 30+z;if(z<16)return 90+(z-8);let J,Z,$;if(z>=232)J=((z-232)*10+8)/255,Z=J,$=J;else{z-=16;let Y=z%36;J=Math.floor(z/36)/5,Z=Math.floor(Y/6)/5,$=Y%6/5}let Q=Math.max(J,Z,$)*2;if(Q===0)return 30;let X=30+(Math.round($)<<2|Math.round(Z)<<1|Math.round(J));if(Q===2)X+=60;return X},enumerable:!1},rgbToAnsi:{value:(z,J,Z)=>M.ansi256ToAnsi(M.rgbToAnsi256(z,J,Z)),enumerable:!1},hexToAnsi:{value:(z)=>M.ansi256ToAnsi(M.hexToAnsi256(z)),enumerable:!1}}),M}var s1=i1(),P=s1;import s from"node:process";import r1 from"node:os";import Iq from"node:tty";function V(q,z=globalThis.Deno?globalThis.Deno.args:s.argv){let J=q.startsWith("-")?"":q.length===1?"-":"--",Z=z.indexOf(J+q),$=z.indexOf("--");return Z!==-1&&($===-1||Z<$)}var{env:L}=s,y;if(V("no-color")||V("no-colors")||V("color=false")||V("color=never"))y=0;else if(V("color")||V("colors")||V("color=true")||V("color=always"))y=1;function n1(){if("FORCE_COLOR"in L){if(L.FORCE_COLOR==="true")return 1;if(L.FORCE_COLOR==="false")return 0;return L.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(L.FORCE_COLOR,10),3)}}function a1(q){if(q===0)return!1;return{level:q,hasBasic:!0,has256:q>=2,has16m:q>=3}}function t1(q,{streamIsTTY:z,sniffFlags:J=!0}={}){let Z=n1();if(Z!==void 0)y=Z;let $=J?y:Z;if($===0)return 0;if(J){if(V("color=16m")||V("color=full")||V("color=truecolor"))return 3;if(V("color=256"))return 2}if("TF_BUILD"in L&&"AGENT_NAME"in L)return 1;if(q&&!z&&$===void 0)return 0;let Q=$||0;if(L.TERM==="dumb")return Q;if(s.platform==="win32"){let X=r1.release().split(".");if(Number(X[0])>=10&&Number(X[2])>=10586)return Number(X[2])>=14931?3:2;return 1}if("CI"in L){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((X)=>(X in L)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((X)=>(X in L))||L.CI_NAME==="codeship")return 1;return Q}if("TEAMCITY_VERSION"in L)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(L.TEAMCITY_VERSION)?1:0;if(L.COLORTERM==="truecolor")return 3;if(L.TERM==="xterm-kitty")return 3;if(L.TERM==="xterm-ghostty")return 3;if(L.TERM==="wezterm")return 3;if("TERM_PROGRAM"in L){let X=Number.parseInt((L.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(L.TERM_PROGRAM){case"iTerm.app":return X>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(L.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(L.TERM))return 1;if("COLORTERM"in L)return 1;return Q}function Dq(q,z={}){let J=t1(q,{streamIsTTY:q&&q.isTTY,...z});return a1(J)}var o1={stdout:Dq({isTTY:Iq.isatty(1)}),stderr:Dq({isTTY:Iq.isatty(2)})},Eq=o1;function Fq(q,z,J){let Z=q.indexOf(z);if(Z===-1)return q;let $=z.length,Q=0,X="";do X+=q.slice(Q,Z)+z+J,Q=Z+$,Z=q.indexOf(z,Q);while(Z!==-1);return X+=q.slice(Q),X}function wq(q,z,J,Z){let $=0,Q="";do{let X=q[Z-1]==="\r";Q+=q.slice($,X?Z-1:Z)+z+(X?`\r
|
|
28
28
|
`:`
|
|
29
29
|
`)+J,$=Z+1,Z=q.indexOf(`
|
|
30
|
-
`,$)}while(Z!==-1);return Q+=q.slice($),Q}var{stdout:Sq,stderr:_q}=Eq,r=Symbol("GENERATOR"),
|
|
31
|
-
`);if(Q!==-1)z=wq(z,$,Z,Q);return Z+z+$};Object.defineProperties(x.prototype,
|
|
30
|
+
`,$)}while(Z!==-1);return Q+=q.slice($),Q}var{stdout:Sq,stderr:_q}=Eq,r=Symbol("GENERATOR"),F=Symbol("STYLER"),O=Symbol("IS_EMPTY"),Aq=["ansi","ansi","ansi256","ansi16m"],w=Object.create(null),e1=(q,z={})=>{if(z.level&&!(Number.isInteger(z.level)&&z.level>=0&&z.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let J=Sq?Sq.level:0;q.level=z.level===void 0?J:z.level};var qz=(q)=>{let z=(...J)=>J.join(" ");return e1(z,q),Object.setPrototypeOf(z,x.prototype),z};function x(q){return qz(q)}Object.setPrototypeOf(x.prototype,Function.prototype);for(let[q,z]of Object.entries(P))w[q]={get(){let J=f(this,a(z.open,z.close,this[F]),this[O]);return Object.defineProperty(this,q,{value:J}),J}};w.visible={get(){let q=f(this,this[F],!0);return Object.defineProperty(this,"visible",{value:q}),q}};var n=(q,z,J,...Z)=>{if(q==="rgb"){if(z==="ansi16m")return P[J].ansi16m(...Z);if(z==="ansi256")return P[J].ansi256(P.rgbToAnsi256(...Z));return P[J].ansi(P.rgbToAnsi(...Z))}if(q==="hex")return n("rgb",z,J,...P.hexToRgb(...Z));return P[J][q](...Z)},zz=["rgb","hex","ansi256"];for(let q of zz){w[q]={get(){let{level:J}=this;return function(...Z){let $=a(n(q,Aq[J],"color",...Z),P.color.close,this[F]);return f(this,$,this[O])}}};let z="bg"+q[0].toUpperCase()+q.slice(1);w[z]={get(){let{level:J}=this;return function(...Z){let $=a(n(q,Aq[J],"bgColor",...Z),P.bgColor.close,this[F]);return f(this,$,this[O])}}}}var Jz=Object.defineProperties(()=>{},{...w,level:{enumerable:!0,get(){return this[r].level},set(q){this[r].level=q}}}),a=(q,z,J)=>{let Z,$;if(J===void 0)Z=q,$=z;else Z=J.openAll+q,$=z+J.closeAll;return{open:q,close:z,openAll:Z,closeAll:$,parent:J}},f=(q,z,J)=>{let Z=(...$)=>Zz(Z,$.length===1?""+$[0]:$.join(" "));return Object.setPrototypeOf(Z,Jz),Z[r]=q,Z[F]=z,Z[O]=J,Z},Zz=(q,z)=>{if(q.level<=0||!z)return q[O]?"":z;let J=q[F];if(J===void 0)return z;let{openAll:Z,closeAll:$}=J;if(z.includes("\x1B"))while(J!==void 0)z=Fq(z,J.close,J.open),J=J.parent;let Q=z.indexOf(`
|
|
31
|
+
`);if(Q!==-1)z=wq(z,$,Z,Q);return Z+z+$};Object.defineProperties(x.prototype,w);var $z=x(),LJ=x({level:_q?_q.level:0});var W=$z;import{mkdirSync as Qz,existsSync as xq,readdirSync as Xz,statSync as Yz,copyFileSync as Bz}from"fs";import{join as Oq,dirname as Hz}from"path";function T(q){if(!xq(q))Qz(q,{recursive:!0})}function D(q){return xq(q)}function t(q,z){T(Hz(z)),Bz(q,z)}function k(q,z){T(z);let J=Xz(q);for(let Z of J){let $=Oq(q,Z),Q=Oq(z,Z);if(Yz($).isDirectory())k($,Q);else t($,Q)}}import{readFileSync as Cq,writeFileSync as bq}from"fs";import{join as v}from"path";var yq=".vscode",Uz="settings.json",Gz="extensions.json",Kz=".agentica/prompts",Wz=".agentica/skills",kq="Upstash.context7-mcp";function fq(q){let z=v(q,yq),J=v(z,Uz);T(z);let Z={};if(D(J)){let Q=Cq(J,"utf-8");try{Z=JSON.parse(Q)}catch(X){throw Error(`Invalid JSON in ${J}: ${X}`)}}Z["chat.promptFilesLocations"]??={},Z["chat.promptFilesLocations"][Kz]=!0,Z["chat.agentSkillsLocations"]??={},Z["chat.agentSkillsLocations"][Wz]=!0;let $=JSON.stringify(Z,null,2);bq(J,$,"utf-8")}function vq(q){let z=v(q,yq),J=v(z,Gz);T(z);let Z={};if(D(J)){let X=Cq(J,"utf-8");try{Z=JSON.parse(X)}catch(Y){throw Error(`Invalid JSON in ${J}: ${Y}`)}}let $=Array.isArray(Z.recommendations)?Z.recommendations:[];if(!$.includes(kq))$.push(kq);Z.recommendations=$;let Q=JSON.stringify(Z,null,2);bq(J,Q,"utf-8")}import{readFileSync as o,writeFileSync as Mz,renameSync as Lz}from"fs";import{join as S}from"path";var Vz="AGENTS.md",Rz="AGENTS.old.md",Pz=`
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
-
`,
|
|
35
|
+
`,jz="globals",Tz="anti-spaghetti.md",Nz="use-agentica.md";function hq(q,z){let J=S(q,Vz),Z=S(q,Rz);if(D(J))Lz(J,Z);let $=S(q,jz),Q=`lang-${z}.md`,X=o(S($,Q),"utf-8"),Y=o(S($,Tz),"utf-8"),U=o(S($,Nz),"utf-8"),B=[X,Y,U].join(Pz);Mz(J,B,"utf-8")}var __dirname="E:\\Dev\\2026-02-15 - Agentica\\src\\commands",Dz=".agentica",uq="prompts",gq="templates",mq="skills",Ez="stacks",Fz="status.md",dq=1,wz=["prompts","templates","architecture","changes","features","release"],Sz=["product.md","structure.md","tech.md"];async function lq(q){console.log(W.blue(`
|
|
36
36
|
\uD83D\uDE80 Инициализация Agentica...
|
|
37
|
-
`));let z=Az(q.stack);if(!z)_z(q.stack);await new pq(q,z).execute()}class pq{options;stack;repoRoot;targetDir;stackDir;agenticaDir;constructor(q,z){this.options=q;this.stack=z;this.repoRoot=Oz(),this.targetDir=this.options.name?cq(process.cwd(),this.options.name):process.cwd(),this.stackDir=R(this.repoRoot,Ez,this.stack.lang,this.stack.type),this.agenticaDir=R(this.targetDir,Dz)}async execute(){this.ensureStackExists(),this.createProjectDirIfNeeded(),this.createAgenticaDirectories(),this.copyPrompts(),this.copyTemplates(),this.copySkills(),this.copyStackTemplateFiles(),this.createStatusFile(),this.composeAgentsFile(),this.updateVSCodeConfiguration(),this.printSuccessMessage()}ensureStackExists(){if(D(this.stackDir))return;console.error(W.red(`❌ Стек не найден: ${this.stack.lang}/${this.stack.type}`)),console.error(W.yellow(` Путь проверки: ${this.stackDir}`)),process.exit(dq)}createProjectDirIfNeeded(){if(!this.options.name)return;
|
|
37
|
+
`));let z=Az(q.stack);if(!z)_z(q.stack);await new pq(q,z).execute()}class pq{options;stack;repoRoot;targetDir;stackDir;agenticaDir;constructor(q,z){this.options=q;this.stack=z;this.repoRoot=Oz(),this.targetDir=this.options.name?cq(process.cwd(),this.options.name):process.cwd(),this.stackDir=R(this.repoRoot,Ez,this.stack.lang,this.stack.type),this.agenticaDir=R(this.targetDir,Dz)}async execute(){this.ensureStackExists(),this.createProjectDirIfNeeded(),this.createAgenticaDirectories(),this.copyPrompts(),this.copyTemplates(),this.copySkills(),this.copyStackTemplateFiles(),this.createStatusFile(),this.composeAgentsFile(),this.updateVSCodeConfiguration(),this.printSuccessMessage()}ensureStackExists(){if(D(this.stackDir))return;console.error(W.red(`❌ Стек не найден: ${this.stack.lang}/${this.stack.type}`)),console.error(W.yellow(` Путь проверки: ${this.stackDir}`)),process.exit(dq)}createProjectDirIfNeeded(){if(!this.options.name)return;T(this.targetDir),console.log(W.green(`✓ Создана директория: ${this.options.name}`))}createAgenticaDirectories(){T(this.agenticaDir),console.log(W.green("✓ Создана .agentica/"));for(let q of wz)T(R(this.agenticaDir,q))}copyPrompts(){let q=R(this.repoRoot,uq),z=R(this.agenticaDir,uq);k(q,z),console.log(W.green("✓ Скопирована prompts/"))}copyTemplates(){let q=R(this.repoRoot,gq),z=R(this.agenticaDir,gq);k(q,z),console.log(W.green("✓ Скопирована templates/"))}copySkills(){let q=R(this.repoRoot,mq),z=R(this.agenticaDir,mq);k(q,z),console.log(W.green("✓ Скопирована skills/"))}copyStackTemplateFiles(){for(let q of Sz){let z=R(this.stackDir,q),J=R(this.agenticaDir,q);t(z,J)}console.log(W.green(`✓ Скопирован шаблон стека: ${this.stack.lang}/${this.stack.type}`))}createStatusFile(){let q=xz(this.stack),z=R(this.agenticaDir,Fz);Iz(z,q,"utf-8"),console.log(W.green("✓ Создан status.md"))}composeAgentsFile(){hq(this.repoRoot,this.stack.lang),console.log(W.green("✓ Сформирован AGENTS.md"))}updateVSCodeConfiguration(){try{fq(this.targetDir),vq(this.targetDir),console.log(W.green("✓ Обновлён .vscode/settings.json")),console.log(W.green("✓ Обновлён .vscode/extensions.json"))}catch(q){console.warn(W.yellow(`⚠ Предупреждение: не удалось обновить настройки VSCode: ${q}`))}}printSuccessMessage(){if(console.log(W.green.bold(`
|
|
38
38
|
✨ Agentica успешно инициализирована!
|
|
39
39
|
`)),console.log(W.cyan("Следующие шаги:")),this.options.name)console.log(W.white(` 1. cd ${this.options.name}`));console.log(W.white(" 2. Открой проект в VSCode: code .")),console.log(W.white(` 3. Начни с промпта /agentica.init в чате Copilot:
|
|
40
40
|
- Опиши свой проект, и стек технологий (после команды)
|
package/package.json
CHANGED
|
@@ -1,57 +1,55 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@jakerdy/agentica",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Spec-driven framework for agent coding with developer-first approach",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"ai",
|
|
7
|
-
"agents",
|
|
8
|
-
"llm",
|
|
9
|
-
"spec-driven",
|
|
10
|
-
"code-generation",
|
|
11
|
-
"architecture",
|
|
12
|
-
"cli",
|
|
13
|
-
"developer-tools"
|
|
14
|
-
],
|
|
15
|
-
"author": "Jak Erdy",
|
|
16
|
-
"license": "MIT",
|
|
17
|
-
"repository": {
|
|
18
|
-
"type": "git",
|
|
19
|
-
"url": "https://github.com/jakerdy/agentica.git"
|
|
20
|
-
},
|
|
21
|
-
"bugs":
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@jakerdy/agentica",
|
|
3
|
+
"version": "0.0.6",
|
|
4
|
+
"description": "Spec-driven framework for agent coding with developer-first approach",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai",
|
|
7
|
+
"agents",
|
|
8
|
+
"llm",
|
|
9
|
+
"spec-driven",
|
|
10
|
+
"code-generation",
|
|
11
|
+
"architecture",
|
|
12
|
+
"cli",
|
|
13
|
+
"developer-tools"
|
|
14
|
+
],
|
|
15
|
+
"author": "Jak Erdy",
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/jakerdy/agentica.git"
|
|
20
|
+
},
|
|
21
|
+
"bugs": "https://github.com/jakerdy/agentica/issues",
|
|
22
|
+
"homepage": "https://github.com/jakerdy/agentica#readme",
|
|
23
|
+
"module": "src/index.ts",
|
|
24
|
+
"main": "dist/cli.js",
|
|
25
|
+
"type": "module",
|
|
26
|
+
"bin": {
|
|
27
|
+
"agentica": "dist/cli.js"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"prompts",
|
|
32
|
+
"templates",
|
|
33
|
+
"stacks",
|
|
34
|
+
"globals",
|
|
35
|
+
"README.md",
|
|
36
|
+
"LICENSE"
|
|
37
|
+
],
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "bun run build.ts",
|
|
40
|
+
"prepublishOnly": "bun run build",
|
|
41
|
+
"typecheck": "tsc --noEmit"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=18.0.0"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@biomejs/biome": "^2.4.2",
|
|
48
|
+
"@types/bun": "latest",
|
|
49
|
+
"typescript": "^5"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"chalk": "^5.6.2",
|
|
53
|
+
"commander": "^14.0.3"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -13,7 +13,7 @@ $ARGUMENTS
|
|
|
13
13
|
|
|
14
14
|
## Цель и принцип работы
|
|
15
15
|
|
|
16
|
-
Твоя задача — подготовить релизный пакет в формате `REL-
|
|
16
|
+
Твоя задача — подготовить релизный пакет в формате `REL-vX.Y.Z`:
|
|
17
17
|
1. Проверить готовность репозитория к релизу.
|
|
18
18
|
2. Вычислить новую версию и собрать черновик `Changelog`.
|
|
19
19
|
3. Сформировать документ релиза по шаблону.
|
|
@@ -33,7 +33,7 @@ $ARGUMENTS
|
|
|
33
33
|
## Топология и размещение файлов
|
|
34
34
|
|
|
35
35
|
Документ релиза хранится в:
|
|
36
|
-
- `.agentica/release/REL-
|
|
36
|
+
- `.agentica/release/REL-vX.Y.Z - <Release Name>.md`
|
|
37
37
|
|
|
38
38
|
Шаблон релиза:
|
|
39
39
|
- `.agentica/templates/release/REL-0000 - Release Name.md`
|
|
@@ -55,9 +55,11 @@ $ARGUMENTS
|
|
|
55
55
|
- `minor`
|
|
56
56
|
- `major`
|
|
57
57
|
2. На основе предыдущей версии вычисли новую семантическую версию (`X.Y.Z`).
|
|
58
|
-
3. Определи новый release id
|
|
59
|
-
|
|
60
|
-
-
|
|
58
|
+
3. Определи новый release id как `REL-vX.Y.Z`.
|
|
59
|
+
4. Обнови версии в манифестах (но не коммить изменения):
|
|
60
|
+
- `package.json` → `version`
|
|
61
|
+
- `pyproject.toml` → `version`
|
|
62
|
+
- и т.д. по стеку проекта.
|
|
61
63
|
|
|
62
64
|
## Фаза 3: Сбор changelog по коммитам
|
|
63
65
|
|
|
@@ -93,7 +95,7 @@ $ARGUMENTS
|
|
|
93
95
|
## Фаза 5: Генерация REL-документа
|
|
94
96
|
|
|
95
97
|
1. Создай новый файл по шаблону:
|
|
96
|
-
- `.agentica/release/REL-
|
|
98
|
+
- `.agentica/release/REL-vX.Y.Z - <Release Name>.md`
|
|
97
99
|
2. Заполни:
|
|
98
100
|
- версию (`previous` → `next`)
|
|
99
101
|
- дату
|
|
@@ -102,22 +104,21 @@ $ARGUMENTS
|
|
|
102
104
|
- stack-oriented release plan
|
|
103
105
|
- блок рисков и блокеров
|
|
104
106
|
|
|
105
|
-
## Фаза 6:
|
|
107
|
+
## Фаза 6: Помощь в публикации
|
|
106
108
|
|
|
107
|
-
|
|
108
|
-
1. Какая версия рассчитана (`from` → `to`).
|
|
109
|
-
2. Где создан REL-документ.
|
|
110
|
-
3. Какие проверки пройдены/провалены/неприменимы.
|
|
111
|
-
4. Точный список команд, которые пользователь должен выполнить для публикации релиза.
|
|
112
|
-
|
|
113
|
-
## Фаза 7: Помощь в публикации (по запросу)
|
|
114
|
-
|
|
115
|
-
Предложи пользователю помощь в публикации релиза. Если он согласится, выполни все необходимые действия перед публикацией:
|
|
109
|
+
Проведи всю предрелизную подготовку, но не выполняй публикацию. Вместо этого:
|
|
116
110
|
1. Апнуть версии в манифестах.
|
|
117
|
-
2.
|
|
118
|
-
3.
|
|
119
|
-
4.
|
|
120
|
-
5.
|
|
111
|
+
2. Обновить Badges в `README.md` (если есть).
|
|
112
|
+
3. Дописать все изменения из черновика changelog в `CHANGELOG.md` (если есть).
|
|
113
|
+
4. Дозаполнить `REL-vX.Y.Z` с реальными командами публикации и инструкциями по запуску, пройтись по всем чеклистам в последний раз.
|
|
114
|
+
5. Выдать короткий отчёт:
|
|
115
|
+
- Какая версия рассчитана (`from` → `to`).
|
|
116
|
+
- Где создан REL-документ.
|
|
117
|
+
- Какие проверки пройдены/провалены/неприменимы.
|
|
118
|
+
- Попроси пользователя проверить, всё ли ОК, и устранить блокеры, если они есть.
|
|
119
|
+
6. Закоммитить изменения с сообщением `chore(release): prepare vX.Y.Z`.
|
|
120
|
+
7. Создать тег `vX.Y.Z` и отправить его в origin.
|
|
121
|
+
8. Написать финальную команду для публикации релиза и дать краткие инструкции по её запуску.
|
|
121
122
|
|
|
122
123
|
## Требования к качеству
|
|
123
124
|
|