@alcyone-labs/arg-parser 2.7.2 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/ArgParserBase.d.ts +6 -0
- package/dist/core/ArgParserBase.d.ts.map +1 -1
- package/dist/core/FlagManager.d.ts +1 -0
- package/dist/core/FlagManager.d.ts.map +1 -1
- package/dist/core/types.d.ts +20 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.cjs +178 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.min.mjs +3712 -3586
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +178 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -98,6 +98,12 @@ export interface IParseOptions {
|
|
|
98
98
|
* @internal
|
|
99
99
|
*/
|
|
100
100
|
isMcp?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Internal: when true, this parse call is only for dynamic flag preloading for help
|
|
103
|
+
* Suppresses side effects and handler execution
|
|
104
|
+
* @internal
|
|
105
|
+
*/
|
|
106
|
+
dynamicHelpPreload?: boolean;
|
|
101
107
|
/**
|
|
102
108
|
* When true, automatically executes the CLI if the script is being run directly (not imported).
|
|
103
109
|
* When false, disables auto-execution detection even if importMetaUrl is provided.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgParserBase.d.ts","sourceRoot":"","sources":["../../src/core/ArgParserBase.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,EACb,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EACV,KAAK,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,qBAAa,cAAe,SAAQ,KAAK;IAI9B,QAAQ,EAAE,MAAM,EAAE;IAHpB,YAAY,EAAE,MAAM,EAAE,CAAC;gBAE5B,OAAO,EAAE,MAAM,EACR,QAAQ,GAAE,MAAM,EAAO;CAMjC;AAED,MAAM,WAAW,gBAAgB,CAAC,cAAc,GAAG,GAAG;IACpD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CACR,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,KAC3B,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,sBAAsB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC;CACpE,CAAC;AAOF,qBAAa,aAAa,CAAC,cAAc,GAAG,GAAG;;
|
|
1
|
+
{"version":3,"file":"ArgParserBase.d.ts","sourceRoot":"","sources":["../../src/core/ArgParserBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export declare class FlagManager {
|
|
|
9
9
|
_setProcessedFlagForInheritance(processedFlag: ProcessedFlag): this;
|
|
10
10
|
addFlags(flags: readonly IFlag[]): this;
|
|
11
11
|
hasFlag(name: string): boolean;
|
|
12
|
+
removeFlag(name: string): boolean;
|
|
12
13
|
getFlag(name: string): ProcessedFlag | undefined;
|
|
13
14
|
get flags(): ProcessedFlag[];
|
|
14
15
|
get flagNames(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlagManager.d.ts","sourceRoot":"","sources":["../../src/core/FlagManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD,qBAAa,WAAW;;gBAKpB,OAAO,GAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAO,EAClD,YAAY,GAAE,SAAS,KAAK,EAAO;IAMrC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,aAAa;IA0C5C,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAoB1B,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAQnE,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,GAAG,IAAI;IAOvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIhD,IAAI,KAAK,IAAI,aAAa,EAAE,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;CACF"}
|
|
1
|
+
{"version":3,"file":"FlagManager.d.ts","sourceRoot":"","sources":["../../src/core/FlagManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD,qBAAa,WAAW;;gBAKpB,OAAO,GAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAO,EAClD,YAAY,GAAE,SAAS,KAAK,EAAO;IAMrC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,aAAa;IA0C5C,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAoB1B,+BAA+B,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAQnE,QAAQ,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,GAAG,IAAI;IAOvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIhD,IAAI,KAAK,IAAI,aAAa,EAAE,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;CACF"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -48,6 +48,7 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
|
|
|
48
48
|
default: z.ZodOptional<z.ZodAny>;
|
|
49
49
|
title: z.ZodOptional<z.ZodString>;
|
|
50
50
|
}, z.core.$strict>>;
|
|
51
|
+
dynamicRegister: z.ZodOptional<z.ZodCustom<DynamicRegisterFn, DynamicRegisterFn>>;
|
|
51
52
|
}, z.core.$strip>, z.ZodTransform<{
|
|
52
53
|
[key: string]: any;
|
|
53
54
|
}, {
|
|
@@ -73,6 +74,7 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
|
|
|
73
74
|
default?: any;
|
|
74
75
|
title?: string | undefined;
|
|
75
76
|
} | undefined;
|
|
77
|
+
dynamicRegister?: DynamicRegisterFn | undefined;
|
|
76
78
|
}>>;
|
|
77
79
|
/**
|
|
78
80
|
* The raw input type for defining a flag, before Zod processing (aliases, defaults).
|
|
@@ -126,7 +128,24 @@ export type IFlag = IFlagCore & {
|
|
|
126
128
|
env?: string | string[];
|
|
127
129
|
/** DXT-specific configuration options for enhanced DXT manifest generation */
|
|
128
130
|
dxtOptions?: IDxtOptions;
|
|
131
|
+
/** Optional callback to dynamically register additional flags when this flag is present */
|
|
132
|
+
dynamicRegister?: DynamicRegisterFn;
|
|
129
133
|
};
|
|
134
|
+
/**
|
|
135
|
+
* Context for dynamic flag registration callbacks.
|
|
136
|
+
*/
|
|
137
|
+
export type DynamicRegisterContext = {
|
|
138
|
+
value: any | any[];
|
|
139
|
+
argsSoFar: Record<string, any>;
|
|
140
|
+
parser: ArgParserInstance;
|
|
141
|
+
processArgs: string[];
|
|
142
|
+
forHelp?: boolean;
|
|
143
|
+
registerFlags: (flags: readonly IFlag[]) => void;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Function signature for dynamic flag loader/registrar.
|
|
147
|
+
*/
|
|
148
|
+
export type DynamicRegisterFn = (ctx: DynamicRegisterContext) => Promise<readonly IFlag[] | void> | readonly IFlag[] | void;
|
|
130
149
|
/**
|
|
131
150
|
* A more refined type for a flag after it has been fully processed by ArgParser,
|
|
132
151
|
* particularly its `type` property and validation/enum/mandatory functions.
|
|
@@ -137,6 +156,7 @@ export type ProcessedFlag = Omit<ProcessedFlagCore, "validate" | "enum" | "manda
|
|
|
137
156
|
enum?: any[];
|
|
138
157
|
mandatory?: boolean | ((parsedArgs: TParsedArgs<ProcessedFlag[]>) => boolean);
|
|
139
158
|
env?: string | string[];
|
|
159
|
+
dynamicRegister?: DynamicRegisterFn;
|
|
140
160
|
};
|
|
141
161
|
/**
|
|
142
162
|
* Resolves the TypeScript type from a flag's `type` definition.
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAKzC,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -31,7 +31,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
31
31
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
32
32
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
33
33
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
34
|
-
var __flags, _throwForDuplicateFlags, _appName, _appCommandName, _subCommandName, _parameters, _handler, _throwForDuplicateFlags2, _description, _handleErrors, _autoExit, _parentParser, _lastParseResult, _inheritParentFlags, _subCommands, _flagManager, _dxtGenerator, _configurationManager, _fuzzyMode, _mcpResourcesManager, _mcpPromptsManager, _mcpNotificationsManager, _ArgParserBase_instances, _identifyCommandChainAndParsers_fn, _handleGlobalChecks_fn, _validateMandatoryFlags_fn, _applyDefaultValues_fn, _prepareAndExecuteHandler_fn, parseFlags_fn, _enableFuzzyMode_fn, displayErrorAndExit_fn, _printRecursiveToConsole_fn, _buildRecursiveString_fn, _buildRecursiveJson_fn, _handleSaveToEnvFlag_fn, _handleBuildDxtFlag_fn, _handleMcpServeFlag_fn, _resolveLoggerConfigForServe_fn, _getMcpServerConfiguration_fn, _startUnifiedMcpServer_fn, _findAllMcpSubCommands_fn, _parseMcpTransportOptions_fn, _ArgParser_instances, _resolveLoggerConfig_fn, registerToolAsSubCommand_fn, _startSingleTransport_fn, processAsyncHandlerPromise_fn, _hasDate, _hasTime, _offset;
|
|
34
|
+
var __flags, _throwForDuplicateFlags, _appName, _appCommandName, _subCommandName, _parameters, _handler, _throwForDuplicateFlags2, _description, _handleErrors, _autoExit, _parentParser, _lastParseResult, _inheritParentFlags, _subCommands, _flagManager, _dxtGenerator, _configurationManager, _fuzzyMode, _dynamicFlagNames, _mcpResourcesManager, _mcpPromptsManager, _mcpNotificationsManager, _ArgParserBase_instances, registerDynamicFlags_fn, resetDynamicFlagsRecursive_fn, _preloadDynamicFlagsForHelp_fn, _identifyCommandChainAndParsers_fn, _handleGlobalChecks_fn, _validateMandatoryFlags_fn, _applyDefaultValues_fn, _prepareAndExecuteHandler_fn, parseFlags_fn, _enableFuzzyMode_fn, displayErrorAndExit_fn, _printRecursiveToConsole_fn, _buildRecursiveString_fn, _buildRecursiveJson_fn, _handleSaveToEnvFlag_fn, _handleBuildDxtFlag_fn, _handleMcpServeFlag_fn, _resolveLoggerConfigForServe_fn, _getMcpServerConfiguration_fn, _startUnifiedMcpServer_fn, _findAllMcpSubCommands_fn, _parseMcpTransportOptions_fn, _ArgParser_instances, _resolveLoggerConfig_fn, registerToolAsSubCommand_fn, _startSingleTransport_fn, processAsyncHandlerPromise_fn, _hasDate, _hasTime, _offset;
|
|
35
35
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
36
36
|
const fs = require("node:fs");
|
|
37
37
|
const path = require("node:path");
|
|
@@ -1077,13 +1077,17 @@ class ConfigurationManager {
|
|
|
1077
1077
|
}
|
|
1078
1078
|
}
|
|
1079
1079
|
const zodDxtOptionsSchema = zod.z.object({
|
|
1080
|
-
sensitive: zod.z.boolean().optional().describe(
|
|
1080
|
+
sensitive: zod.z.boolean().optional().describe(
|
|
1081
|
+
"Whether this field should be marked as sensitive in DXT user_config"
|
|
1082
|
+
),
|
|
1081
1083
|
localDefault: zod.z.string().optional().describe("Default value specific to DXT sandbox environment"),
|
|
1082
1084
|
type: zod.z.enum(["string", "directory", "file", "boolean", "number"]).optional().describe("DXT input type - determines UI component in DXT clients"),
|
|
1083
1085
|
multiple: zod.z.boolean().optional().describe("Allow multiple values (for arrays)"),
|
|
1084
1086
|
min: zod.z.number().optional().describe("Minimum value (for number type)"),
|
|
1085
1087
|
max: zod.z.number().optional().describe("Maximum value (for number type)"),
|
|
1086
|
-
default: zod.z.any().optional().describe(
|
|
1088
|
+
default: zod.z.any().optional().describe(
|
|
1089
|
+
"DXT-specific default value (overrides localDefault if provided)"
|
|
1090
|
+
),
|
|
1087
1091
|
title: zod.z.string().optional().describe("Custom title for the user_config field")
|
|
1088
1092
|
}).strict().refine(
|
|
1089
1093
|
(data2) => {
|
|
@@ -1171,7 +1175,12 @@ const zodFlagSchema = zod.z.object({
|
|
|
1171
1175
|
env: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional().describe(
|
|
1172
1176
|
"Environment variables that should be set from this flag's value in DXT packages."
|
|
1173
1177
|
),
|
|
1174
|
-
dxtOptions: zodDxtOptionsSchema.optional().describe(
|
|
1178
|
+
dxtOptions: zodDxtOptionsSchema.optional().describe(
|
|
1179
|
+
"DXT-specific configuration options for enhanced DXT manifest generation"
|
|
1180
|
+
),
|
|
1181
|
+
dynamicRegister: zod.z.custom((val) => typeof val === "function").optional().describe(
|
|
1182
|
+
"Optional callback that can register additional flags dynamically when this flag is present."
|
|
1183
|
+
)
|
|
1175
1184
|
}).transform((obj) => {
|
|
1176
1185
|
const newObj = { ...obj };
|
|
1177
1186
|
if ("default" in newObj && newObj["default"] !== void 0 && !("defaultValue" in newObj)) {
|
|
@@ -3674,6 +3683,9 @@ const _FlagManager = class _FlagManager {
|
|
|
3674
3683
|
hasFlag(name) {
|
|
3675
3684
|
return __privateGet(this, __flags).has(name);
|
|
3676
3685
|
}
|
|
3686
|
+
removeFlag(name) {
|
|
3687
|
+
return __privateGet(this, __flags).delete(name);
|
|
3688
|
+
}
|
|
3677
3689
|
getFlag(name) {
|
|
3678
3690
|
return __privateGet(this, __flags).get(name);
|
|
3679
3691
|
}
|
|
@@ -3720,6 +3732,8 @@ const _ArgParserBase = class _ArgParserBase {
|
|
|
3720
3732
|
__privateAdd(this, _dxtGenerator);
|
|
3721
3733
|
__privateAdd(this, _configurationManager);
|
|
3722
3734
|
__privateAdd(this, _fuzzyMode, false);
|
|
3735
|
+
// Track dynamically added flags so we can clean them between parses
|
|
3736
|
+
__privateAdd(this, _dynamicFlagNames, /* @__PURE__ */ new Set());
|
|
3723
3737
|
// MCP-related managers
|
|
3724
3738
|
__privateAdd(this, _mcpResourcesManager, new McpResourcesManager());
|
|
3725
3739
|
__privateAdd(this, _mcpPromptsManager, new McpPromptsManager());
|
|
@@ -3835,10 +3849,14 @@ const _ArgParserBase = class _ArgParserBase {
|
|
|
3835
3849
|
value = flag["type"].parse(parsedJson);
|
|
3836
3850
|
} catch (error) {
|
|
3837
3851
|
if (error instanceof SyntaxError) {
|
|
3838
|
-
throw new Error(
|
|
3852
|
+
throw new Error(
|
|
3853
|
+
`Invalid JSON for flag '${flag["name"]}': ${error.message}`
|
|
3854
|
+
);
|
|
3839
3855
|
} else {
|
|
3840
3856
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
3841
|
-
throw new Error(
|
|
3857
|
+
throw new Error(
|
|
3858
|
+
`Validation failed for flag '${flag["name"]}': ${errorMessage}`
|
|
3859
|
+
);
|
|
3842
3860
|
}
|
|
3843
3861
|
}
|
|
3844
3862
|
} else {
|
|
@@ -3979,9 +3997,13 @@ const _ArgParserBase = class _ArgParserBase {
|
|
|
3979
3997
|
debug.log("ArgParserBase.parse() called with args:", processArgs);
|
|
3980
3998
|
const shouldCheckAutoExecution = (options == null ? void 0 : options.importMetaUrl) && (options == null ? void 0 : options.autoExecute) !== false;
|
|
3981
3999
|
if (shouldCheckAutoExecution) {
|
|
3982
|
-
const isDirectExecution = _ArgParserBase.isExecutedDirectly(
|
|
4000
|
+
const isDirectExecution = _ArgParserBase.isExecutedDirectly(
|
|
4001
|
+
options.importMetaUrl
|
|
4002
|
+
);
|
|
3983
4003
|
if (!isDirectExecution) {
|
|
3984
|
-
debug.log(
|
|
4004
|
+
debug.log(
|
|
4005
|
+
"Auto-execution enabled but script is imported, skipping execution"
|
|
4006
|
+
);
|
|
3985
4007
|
return {};
|
|
3986
4008
|
}
|
|
3987
4009
|
}
|
|
@@ -3994,6 +4016,7 @@ const _ArgParserBase = class _ArgParserBase {
|
|
|
3994
4016
|
);
|
|
3995
4017
|
}
|
|
3996
4018
|
}
|
|
4019
|
+
__privateMethod(this, _ArgParserBase_instances, resetDynamicFlagsRecursive_fn).call(this);
|
|
3997
4020
|
const originalProcessArgs = [...processArgs];
|
|
3998
4021
|
const shouldPreventExecution = typeof process !== "undefined" && (process.env["ARGPARSER_FUZZY_MODE"] === "true" || process.argv && process.argv.includes("--s-enable-fuzzy") && !processArgs.includes("--s-enable-fuzzy")) && !(options == null ? void 0 : options.skipHelpHandling);
|
|
3999
4022
|
if (shouldPreventExecution) {
|
|
@@ -4247,7 +4270,9 @@ ${cyan("Flags:")}
|
|
|
4247
4270
|
if (properties2.length <= 4) {
|
|
4248
4271
|
typeDetails.push(`Properties: ${properties2.join(", ")}`);
|
|
4249
4272
|
} else {
|
|
4250
|
-
typeDetails.push(
|
|
4273
|
+
typeDetails.push(
|
|
4274
|
+
`Properties: ${properties2.slice(0, 4).join(", ")}, ... (${properties2.length} total)`
|
|
4275
|
+
);
|
|
4251
4276
|
}
|
|
4252
4277
|
}
|
|
4253
4278
|
}
|
|
@@ -4429,10 +4454,62 @@ _flagManager = new WeakMap();
|
|
|
4429
4454
|
_dxtGenerator = new WeakMap();
|
|
4430
4455
|
_configurationManager = new WeakMap();
|
|
4431
4456
|
_fuzzyMode = new WeakMap();
|
|
4457
|
+
_dynamicFlagNames = new WeakMap();
|
|
4432
4458
|
_mcpResourcesManager = new WeakMap();
|
|
4433
4459
|
_mcpPromptsManager = new WeakMap();
|
|
4434
4460
|
_mcpNotificationsManager = new WeakMap();
|
|
4435
4461
|
_ArgParserBase_instances = new WeakSet();
|
|
4462
|
+
// Register flags coming from dynamic loaders and track them for cleanup
|
|
4463
|
+
registerDynamicFlags_fn = function(flags) {
|
|
4464
|
+
if (!Array.isArray(flags) || flags.length === 0) return;
|
|
4465
|
+
for (const flag of flags) {
|
|
4466
|
+
const name = flag["name"];
|
|
4467
|
+
const existed = __privateGet(this, _flagManager).hasFlag(name);
|
|
4468
|
+
__privateGet(this, _flagManager).addFlag(flag);
|
|
4469
|
+
if (!existed) __privateGet(this, _dynamicFlagNames).add(name);
|
|
4470
|
+
}
|
|
4471
|
+
};
|
|
4472
|
+
// Remove dynamically registered flags on this parser and all sub-parsers
|
|
4473
|
+
resetDynamicFlagsRecursive_fn = function(parser = this) {
|
|
4474
|
+
var _a;
|
|
4475
|
+
for (const name of __privateGet(parser, _dynamicFlagNames)) {
|
|
4476
|
+
__privateGet(parser, _flagManager).removeFlag(name);
|
|
4477
|
+
}
|
|
4478
|
+
__privateGet(parser, _dynamicFlagNames).clear();
|
|
4479
|
+
for (const [, sub] of __privateGet(parser, _subCommands)) {
|
|
4480
|
+
if (sub && sub.parser instanceof _ArgParserBase) {
|
|
4481
|
+
__privateMethod(_a = sub.parser, _ArgParserBase_instances, resetDynamicFlagsRecursive_fn).call(_a);
|
|
4482
|
+
}
|
|
4483
|
+
}
|
|
4484
|
+
};
|
|
4485
|
+
_preloadDynamicFlagsForHelp_fn = async function(processArgs) {
|
|
4486
|
+
var _a;
|
|
4487
|
+
let currentParser = this;
|
|
4488
|
+
let remaining = [...processArgs];
|
|
4489
|
+
while (true) {
|
|
4490
|
+
let subIndex = -1;
|
|
4491
|
+
for (let i = 0; i < remaining.length; i++) {
|
|
4492
|
+
if (__privateGet(currentParser, _subCommands).has(remaining[i])) {
|
|
4493
|
+
subIndex = i;
|
|
4494
|
+
break;
|
|
4495
|
+
}
|
|
4496
|
+
}
|
|
4497
|
+
const segment = subIndex === -1 ? remaining : remaining.slice(0, subIndex);
|
|
4498
|
+
try {
|
|
4499
|
+
await __privateMethod(_a = currentParser, _ArgParserBase_instances, parseFlags_fn).call(_a, segment, {
|
|
4500
|
+
skipHelpHandling: true,
|
|
4501
|
+
dynamicHelpPreload: true
|
|
4502
|
+
});
|
|
4503
|
+
} catch {
|
|
4504
|
+
}
|
|
4505
|
+
if (subIndex === -1) break;
|
|
4506
|
+
const nextName = remaining[subIndex];
|
|
4507
|
+
const sub = __privateGet(currentParser, _subCommands).get(nextName);
|
|
4508
|
+
if (!sub || !(sub.parser instanceof _ArgParserBase)) break;
|
|
4509
|
+
currentParser = sub.parser;
|
|
4510
|
+
remaining = remaining.slice(subIndex + 1);
|
|
4511
|
+
}
|
|
4512
|
+
};
|
|
4436
4513
|
_identifyCommandChainAndParsers_fn = function(argsToParse, currentParser, commandChainSoFar, parserChainSoFar) {
|
|
4437
4514
|
let subCommandIndex = -1;
|
|
4438
4515
|
let subCommandName = null;
|
|
@@ -4678,6 +4755,7 @@ _handleGlobalChecks_fn = async function(processArgs, options) {
|
|
|
4678
4755
|
(arg) => helpOptions.includes(arg)
|
|
4679
4756
|
);
|
|
4680
4757
|
if (helpRequested) {
|
|
4758
|
+
await __privateMethod(this, _ArgParserBase_instances, _preloadDynamicFlagsForHelp_fn).call(this, processArgs);
|
|
4681
4759
|
console.log(identifiedFinalParser.helpText());
|
|
4682
4760
|
return this._handleExit(0, "Help displayed", "help");
|
|
4683
4761
|
}
|
|
@@ -4802,8 +4880,95 @@ _prepareAndExecuteHandler_fn = function(handlerToExecute, finalArgs, skipHandler
|
|
|
4802
4880
|
}
|
|
4803
4881
|
};
|
|
4804
4882
|
parseFlags_fn = async function(args, options) {
|
|
4805
|
-
var _a, _b;
|
|
4806
|
-
|
|
4883
|
+
var _a, _b, _c;
|
|
4884
|
+
let flags = __privateGet(this, _flagManager).flags;
|
|
4885
|
+
const dynamicCandidates = flags.filter(
|
|
4886
|
+
(f) => typeof f["dynamicRegister"] === "function"
|
|
4887
|
+
);
|
|
4888
|
+
if (dynamicCandidates.length > 0) {
|
|
4889
|
+
const loaderOutput = Object.fromEntries(
|
|
4890
|
+
dynamicCandidates.map((f) => [
|
|
4891
|
+
f["name"],
|
|
4892
|
+
f["allowMultiple"] ? [] : void 0
|
|
4893
|
+
])
|
|
4894
|
+
);
|
|
4895
|
+
const tmpConsumed = /* @__PURE__ */ new Set();
|
|
4896
|
+
for (const flagToCheck of dynamicCandidates) {
|
|
4897
|
+
if (flagToCheck["allowLigature"] && !flagToCheck["flagOnly"]) {
|
|
4898
|
+
const regex = magicRegexp.createRegExp(
|
|
4899
|
+
magicRegexp.anyOf(
|
|
4900
|
+
...flagToCheck["options"].map((option) => `${option}=`)
|
|
4901
|
+
),
|
|
4902
|
+
magicRegexp.oneOrMore(magicRegexp.char).groupedAs("arg")
|
|
4903
|
+
);
|
|
4904
|
+
for (let i = 0; i < args.length; i++) {
|
|
4905
|
+
if (tmpConsumed.has(i)) continue;
|
|
4906
|
+
const matches = regex.exec(`${args[i]}`);
|
|
4907
|
+
if ((_a = matches == null ? void 0 : matches.groups) == null ? void 0 : _a["arg"]) {
|
|
4908
|
+
await this._addToOutput(
|
|
4909
|
+
flagToCheck,
|
|
4910
|
+
matches.groups["arg"],
|
|
4911
|
+
loaderOutput,
|
|
4912
|
+
options
|
|
4913
|
+
);
|
|
4914
|
+
tmpConsumed.add(i);
|
|
4915
|
+
if (!flagToCheck["allowMultiple"]) break;
|
|
4916
|
+
}
|
|
4917
|
+
}
|
|
4918
|
+
}
|
|
4919
|
+
}
|
|
4920
|
+
for (const flagToCheck of dynamicCandidates) {
|
|
4921
|
+
for (let index2 = 0; index2 < args.length; index2++) {
|
|
4922
|
+
if (tmpConsumed.has(index2)) continue;
|
|
4923
|
+
const value = args[index2];
|
|
4924
|
+
const nextIndex = index2 + 1;
|
|
4925
|
+
const nextValueExists = nextIndex < args.length;
|
|
4926
|
+
const nextValue = nextValueExists ? args[nextIndex] : void 0;
|
|
4927
|
+
const nextValueIsFlag = typeof nextValue === "string" && nextValue.startsWith("-");
|
|
4928
|
+
if (flagToCheck["options"].includes(value)) {
|
|
4929
|
+
tmpConsumed.add(index2);
|
|
4930
|
+
if (flagToCheck["flagOnly"]) {
|
|
4931
|
+
await this._addToOutput(flagToCheck, true, loaderOutput, options);
|
|
4932
|
+
} else if (nextValueExists && !nextValueIsFlag) {
|
|
4933
|
+
await this._addToOutput(
|
|
4934
|
+
flagToCheck,
|
|
4935
|
+
nextValue,
|
|
4936
|
+
loaderOutput,
|
|
4937
|
+
options
|
|
4938
|
+
);
|
|
4939
|
+
tmpConsumed.add(nextIndex);
|
|
4940
|
+
} else if (flagToCheck["type"] === Boolean) {
|
|
4941
|
+
await this._addToOutput(flagToCheck, true, loaderOutput, options);
|
|
4942
|
+
}
|
|
4943
|
+
if (!flagToCheck["allowMultiple"]) break;
|
|
4944
|
+
}
|
|
4945
|
+
}
|
|
4946
|
+
}
|
|
4947
|
+
for (const flagToCheck of dynamicCandidates) {
|
|
4948
|
+
const val = loaderOutput[flagToCheck["name"]];
|
|
4949
|
+
const hasValue = flagToCheck["allowMultiple"] ? Array.isArray(val) && val.length > 0 : val !== void 0;
|
|
4950
|
+
if (!hasValue) continue;
|
|
4951
|
+
const registerFlags = (newFlags) => {
|
|
4952
|
+
if (Array.isArray(newFlags) && newFlags.length) {
|
|
4953
|
+
__privateMethod(this, _ArgParserBase_instances, registerDynamicFlags_fn).call(this, newFlags);
|
|
4954
|
+
}
|
|
4955
|
+
};
|
|
4956
|
+
const dyn = flagToCheck["dynamicRegister"];
|
|
4957
|
+
if (typeof dyn === "function") {
|
|
4958
|
+
const maybe = dyn({
|
|
4959
|
+
value: val,
|
|
4960
|
+
argsSoFar: loaderOutput,
|
|
4961
|
+
parser: this,
|
|
4962
|
+
processArgs: args,
|
|
4963
|
+
forHelp: !!(options == null ? void 0 : options.dynamicHelpPreload),
|
|
4964
|
+
registerFlags
|
|
4965
|
+
});
|
|
4966
|
+
const awaited = maybe && typeof maybe.then === "function" ? await maybe : maybe;
|
|
4967
|
+
if (Array.isArray(awaited)) registerFlags(awaited);
|
|
4968
|
+
}
|
|
4969
|
+
}
|
|
4970
|
+
flags = __privateGet(this, _flagManager).flags;
|
|
4971
|
+
}
|
|
4807
4972
|
const output = Object.fromEntries(
|
|
4808
4973
|
flags.map((flag) => [
|
|
4809
4974
|
flag["name"],
|
|
@@ -4823,10 +4988,10 @@ parseFlags_fn = async function(args, options) {
|
|
|
4823
4988
|
if (consumedIndices.has(i)) continue;
|
|
4824
4989
|
const itemToCheck = args[i];
|
|
4825
4990
|
const matches = regex.exec(`${itemToCheck}`);
|
|
4826
|
-
if ((
|
|
4991
|
+
if ((_b = matches == null ? void 0 : matches.groups) == null ? void 0 : _b["arg"]) {
|
|
4827
4992
|
await this._addToOutput(
|
|
4828
4993
|
flagToCheck,
|
|
4829
|
-
(
|
|
4994
|
+
(_c = matches == null ? void 0 : matches.groups) == null ? void 0 : _c["arg"],
|
|
4830
4995
|
output,
|
|
4831
4996
|
options
|
|
4832
4997
|
);
|