@alcyone-labs/arg-parser 2.8.0 → 2.8.2
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 +159 -73
- package/dist/core/ArgParserBase.d.ts.map +1 -1
- package/dist/core/types.d.ts +2 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.cjs +30 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.min.mjs +382 -359
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +30 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,6 +31,8 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
|
|
|
31
31
|
- [Hierarchical CLIs (Sub-Commands)](#hierarchical-clis-sub-commands)
|
|
32
32
|
- [MCP Exposure Control](#mcp-exposure-control)
|
|
33
33
|
- [Flag Inheritance (`inheritParentFlags`)](#flag-inheritance-inheritparentflags)
|
|
34
|
+
- [Dynamic Flags (`dynamicRegister`)](#dynamic-flags-dynamicregister)
|
|
35
|
+
|
|
34
36
|
- [MCP & Claude Desktop Integration](#mcp--claude-desktop-integration)
|
|
35
37
|
- [Output Schema Support](#output-schema-support)
|
|
36
38
|
- [Basic Usage](#basic-usage)
|
|
@@ -74,6 +76,8 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
|
|
|
74
76
|
- [Typical Errors](#typical-errors)
|
|
75
77
|
- [System Flags & Configuration](#system-flags--configuration)
|
|
76
78
|
- [Changelog](#changelog)
|
|
79
|
+
- [v2.8.2](#v282)
|
|
80
|
+
- [v2.8.1](#v281)
|
|
77
81
|
- [v2.7.2](#v272)
|
|
78
82
|
- [v2.7.0](#v270)
|
|
79
83
|
- [v2.6.0](#v260)
|
|
@@ -90,6 +94,7 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
|
|
|
90
94
|
- [v1.3.0](#v130)
|
|
91
95
|
- [v1.2.0](#v120)
|
|
92
96
|
- [v1.1.0](#v110)
|
|
97
|
+
|
|
93
98
|
- [Backlog](#backlog)
|
|
94
99
|
- [(known) Bugs / DX improvement points](#known-bugs--dx-improvement-points)
|
|
95
100
|
|
|
@@ -354,13 +359,18 @@ const cli = ArgParser.withMcp({
|
|
|
354
359
|
});
|
|
355
360
|
|
|
356
361
|
// Now, this will NOT automatically execute the parser if the script is imported, but will execute if called directly:
|
|
357
|
-
await cli
|
|
358
|
-
|
|
359
|
-
|
|
362
|
+
await cli
|
|
363
|
+
.parse(undefined, {
|
|
364
|
+
importMetaUrl: import.meta.url,
|
|
365
|
+
})
|
|
366
|
+
.catch(handleError);
|
|
360
367
|
|
|
361
368
|
// Or, using the manual APIs:
|
|
362
369
|
await cli.parseIfExecutedDirectly(import.meta.url).catch((error) => {
|
|
363
|
-
console.error(
|
|
370
|
+
console.error(
|
|
371
|
+
"Fatal error:",
|
|
372
|
+
error instanceof Error ? error.message : String(error),
|
|
373
|
+
);
|
|
364
374
|
process.exit(1);
|
|
365
375
|
});
|
|
366
376
|
```
|
|
@@ -986,6 +996,49 @@ const childParser = new ArgParser({ inheritParentFlags: true }).addFlags([
|
|
|
986
996
|
parentParser.addSubCommand({ name: "deploy", parser: childParser });
|
|
987
997
|
```
|
|
988
998
|
|
|
999
|
+
### Dynamic Flags (`dynamicRegister`)
|
|
1000
|
+
|
|
1001
|
+
Register flags at runtime from another flag's value (e.g., load a manifest and add flags programmatically). This works in normal runs and when showing `--help`.
|
|
1002
|
+
|
|
1003
|
+
- Two-phase parsing: loader flags run first, can register more flags, then parsing continues with the full set
|
|
1004
|
+
- Help preload: when `--help` is present, dynamic loaders run to show complete help (no command handlers execute)
|
|
1005
|
+
- Cleanup: dynamic flags are removed between parses (no accumulation)
|
|
1006
|
+
- Async-friendly: loaders can be async (e.g., `fs.readFile`)
|
|
1007
|
+
|
|
1008
|
+
```ts
|
|
1009
|
+
import { readFile } from "node:fs/promises";
|
|
1010
|
+
import { ArgParser } from "@alcyone-labs/arg-parser";
|
|
1011
|
+
|
|
1012
|
+
const cli = new ArgParser().addFlags([
|
|
1013
|
+
{
|
|
1014
|
+
name: "manifest",
|
|
1015
|
+
options: ["-w", "--manifest"],
|
|
1016
|
+
type: "string",
|
|
1017
|
+
description: "Path to manifest.json that defines extra flags",
|
|
1018
|
+
dynamicRegister: async ({ value, registerFlags }) => {
|
|
1019
|
+
const json = JSON.parse(await readFile(value, "utf8"));
|
|
1020
|
+
if (Array.isArray(json.flags)) {
|
|
1021
|
+
// Each entry should be a valid IFlag
|
|
1022
|
+
registerFlags(json.flags);
|
|
1023
|
+
}
|
|
1024
|
+
},
|
|
1025
|
+
},
|
|
1026
|
+
]);
|
|
1027
|
+
|
|
1028
|
+
// Examples:
|
|
1029
|
+
// my-cli -w manifest.json --help → help includes dynamic flags
|
|
1030
|
+
// my-cli -w manifest.json --foo bar → dynamic flag "--foo" parsed/validated normally
|
|
1031
|
+
```
|
|
1032
|
+
|
|
1033
|
+
Notes:
|
|
1034
|
+
|
|
1035
|
+
- Inherited behavior works normally: if loader lives on a parent parser and children use `inheritParentFlags`, dynamic flags will be visible to children
|
|
1036
|
+
- For heavy loaders, implement app-level caching inside your `dynamicRegister` (e.g., memoize by absolute path + mtime); library-level caching may be added later
|
|
1037
|
+
|
|
1038
|
+
parentParser.addSubCommand({ name: "deploy", parser: childParser });
|
|
1039
|
+
|
|
1040
|
+
````
|
|
1041
|
+
|
|
989
1042
|
---
|
|
990
1043
|
|
|
991
1044
|
## MCP & Claude Desktop Integration
|
|
@@ -1040,7 +1093,7 @@ import { z } from "zod";
|
|
|
1040
1093
|
|
|
1041
1094
|
// CLI usage (outputSchema ignored): mycli process-file --path /my/file.txt
|
|
1042
1095
|
// MCP usage (outputSchema provides structure): mycli --s-mcp-serve
|
|
1043
|
-
|
|
1096
|
+
````
|
|
1044
1097
|
|
|
1045
1098
|
#### Predefined Schema Patterns
|
|
1046
1099
|
|
|
@@ -1322,35 +1375,37 @@ CORS is often required when connecting a Web UI to an MCP server over HTTP.
|
|
|
1322
1375
|
```ts
|
|
1323
1376
|
import type { McpTransportConfig } from "@alcyone-labs/arg-parser";
|
|
1324
1377
|
|
|
1325
|
-
const defaultTransports: McpTransportConfig[] = [
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1378
|
+
const defaultTransports: McpTransportConfig[] = [
|
|
1379
|
+
{
|
|
1380
|
+
type: "streamable-http",
|
|
1381
|
+
port: 3002,
|
|
1382
|
+
path: "/api/mcp",
|
|
1383
|
+
cors: {
|
|
1384
|
+
origins: ["http://localhost:5173", /^https?:\/\/example\.com$/],
|
|
1385
|
+
methods: ["GET", "POST", "OPTIONS"],
|
|
1386
|
+
headers: ["Content-Type", "Authorization", "MCP-Session-Id"],
|
|
1387
|
+
exposedHeaders: ["MCP-Session-Id"],
|
|
1388
|
+
credentials: true,
|
|
1389
|
+
maxAge: 600,
|
|
1390
|
+
},
|
|
1391
|
+
auth: {
|
|
1392
|
+
required: true,
|
|
1393
|
+
scheme: "jwt", // or "bearer"
|
|
1394
|
+
// Bearer allowlist:
|
|
1395
|
+
// allowedTokens: ["token1","token2"],
|
|
1396
|
+
// JWT verification (HS256):
|
|
1397
|
+
// jwt: { algorithms: ["HS256"], secret: process.env.JWT_SECRET },
|
|
1398
|
+
// JWT verification (RS256 with static public key):
|
|
1399
|
+
// jwt: { algorithms: ["RS256"], publicKey: process.env.RS256_PUBLIC_KEY },
|
|
1400
|
+
// JWT verification (RS256 with dynamic JWKS):
|
|
1401
|
+
// jwt: { algorithms: ["RS256"], getPublicKey: async (header)=>{ /* fetch JWKS and return PEM */ } },
|
|
1402
|
+
publicPaths: ["/health"],
|
|
1403
|
+
protectedPaths: undefined, // if set, only listed paths require auth
|
|
1404
|
+
// Optional custom validator to add extra checks
|
|
1405
|
+
validator: async (req, token) => true,
|
|
1406
|
+
},
|
|
1352
1407
|
},
|
|
1353
|
-
|
|
1408
|
+
];
|
|
1354
1409
|
```
|
|
1355
1410
|
|
|
1356
1411
|
- CLI flags (JSON strings):
|
|
@@ -1374,6 +1429,7 @@ httpServer: {
|
|
|
1374
1429
|
```
|
|
1375
1430
|
|
|
1376
1431
|
See examples:
|
|
1432
|
+
|
|
1377
1433
|
- examples/streamable-http/secure-mcp.ts (HS256)
|
|
1378
1434
|
- examples/streamable-http/rs256-mcp.ts (RS256)
|
|
1379
1435
|
- examples/streamable-http/jwks-mcp.ts (JWKS)
|
|
@@ -1400,9 +1456,12 @@ export type CorsOptions = {
|
|
|
1400
1456
|
```ts
|
|
1401
1457
|
export type JwtVerifyOptions = {
|
|
1402
1458
|
algorithms?: ("HS256" | "RS256")[];
|
|
1403
|
-
secret?: string;
|
|
1404
|
-
publicKey?: string;
|
|
1405
|
-
getPublicKey?: (
|
|
1459
|
+
secret?: string; // HS256
|
|
1460
|
+
publicKey?: string; // RS256 static
|
|
1461
|
+
getPublicKey?: (
|
|
1462
|
+
header: Record<string, unknown>,
|
|
1463
|
+
payload: Record<string, unknown>,
|
|
1464
|
+
) => Promise<string> | string; // RS256 dynamic
|
|
1406
1465
|
audience?: string | string[];
|
|
1407
1466
|
issuer?: string | string[];
|
|
1408
1467
|
clockToleranceSec?: number;
|
|
@@ -1412,10 +1471,13 @@ export type AuthOptions = {
|
|
|
1412
1471
|
required?: boolean; // default true for MCP endpoint
|
|
1413
1472
|
scheme?: "bearer" | "jwt";
|
|
1414
1473
|
allowedTokens?: string[]; // simple bearer allowlist
|
|
1415
|
-
validator?: (
|
|
1474
|
+
validator?: (
|
|
1475
|
+
req: any,
|
|
1476
|
+
token: string | undefined,
|
|
1477
|
+
) => boolean | Promise<boolean>;
|
|
1416
1478
|
jwt?: JwtVerifyOptions;
|
|
1417
|
-
publicPaths?: string[];
|
|
1418
|
-
protectedPaths?: string[];
|
|
1479
|
+
publicPaths?: string[]; // paths that skip auth
|
|
1480
|
+
protectedPaths?: string[]; // if provided, only these paths require auth
|
|
1419
1481
|
customMiddleware?: (req: any, res: any, next: any) => any; // full control hook
|
|
1420
1482
|
};
|
|
1421
1483
|
```
|
|
@@ -1429,17 +1491,17 @@ export type HttpServerOptions = {
|
|
|
1429
1491
|
```
|
|
1430
1492
|
|
|
1431
1493
|
Notes:
|
|
1432
|
-
|
|
1494
|
+
|
|
1495
|
+
- When credentials are true, Access-Control-Allow-Origin echoes the request Origin rather than using "\*".
|
|
1433
1496
|
- You can manage CORS for non-MCP routes in configureExpress.
|
|
1434
1497
|
- Use publicPaths to allow some routes without auth; use protectedPaths to only require auth for certain routes.
|
|
1435
1498
|
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
// LEGACY: logPath: '/var/log/my-mcp-server.log' // Still works
|
|
1499
|
+
log: {
|
|
1500
|
+
level: 'debug', // Capture all log levels
|
|
1501
|
+
logToFile: '/var/log/my-mcp-server.log',
|
|
1502
|
+
prefix: 'MyTool'
|
|
1503
|
+
}
|
|
1504
|
+
// LEGACY: logPath: '/var/log/my-mcp-server.log' // Still works
|
|
1443
1505
|
}
|
|
1444
1506
|
|
|
1445
1507
|
### Adding custom HTTP routes (e.g., /health)
|
|
@@ -1451,10 +1513,18 @@ const cli = ArgParser.withMcp({
|
|
|
1451
1513
|
mcp: {
|
|
1452
1514
|
serverInfo: { name: "my-mcp", version: "1.0.0" },
|
|
1453
1515
|
defaultTransports: [
|
|
1454
|
-
{
|
|
1516
|
+
{
|
|
1517
|
+
type: "streamable-http",
|
|
1518
|
+
port: 3002,
|
|
1519
|
+
path: "/api/mcp",
|
|
1520
|
+
auth: { required: true, publicPaths: ["/health"] },
|
|
1521
|
+
},
|
|
1455
1522
|
],
|
|
1456
|
-
httpServer: {
|
|
1457
|
-
|
|
1523
|
+
httpServer: {
|
|
1524
|
+
configureExpress: (app) =>
|
|
1525
|
+
app.get("/health", (_req, res) => res.json({ ok: true })),
|
|
1526
|
+
},
|
|
1527
|
+
},
|
|
1458
1528
|
});
|
|
1459
1529
|
```
|
|
1460
1530
|
|
|
@@ -1464,29 +1534,30 @@ const cli = ArgParser.withMcp({
|
|
|
1464
1534
|
### Multiple transports and improved logging
|
|
1465
1535
|
|
|
1466
1536
|
const cli = ArgParser.withMcp({
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1537
|
+
appName: 'multi-tool',
|
|
1538
|
+
appCommandName: 'multi-tool',
|
|
1539
|
+
mcp: {
|
|
1540
|
+
// NEW: improved logging configuration
|
|
1541
|
+
log: {
|
|
1542
|
+
level: 'info',
|
|
1543
|
+
logToFile: './logs/multi-tool-mcp.log',
|
|
1544
|
+
prefix: 'MultiTool'
|
|
1545
|
+
},
|
|
1546
|
+
serverInfo: {
|
|
1547
|
+
name: 'multi-tool-mcp',
|
|
1548
|
+
version: '1.0.0'
|
|
1549
|
+
},
|
|
1550
|
+
transports: [
|
|
1551
|
+
// Can be a single string...
|
|
1552
|
+
"stdio",
|
|
1553
|
+
// or one of the other transport types supported by @modelcontextprotocol/sdk
|
|
1554
|
+
{ type: "sse", port: 3000, host: "0.0.0.0" },
|
|
1555
|
+
{ type: "websocket", port: 3001, path: "/ws" }
|
|
1556
|
+
]
|
|
1557
|
+
}
|
|
1488
1558
|
});
|
|
1489
|
-
|
|
1559
|
+
|
|
1560
|
+
````
|
|
1490
1561
|
|
|
1491
1562
|
### MCP Logging Configuration
|
|
1492
1563
|
|
|
@@ -1510,7 +1581,7 @@ const parser = ArgParser.withMcp({
|
|
|
1510
1581
|
},
|
|
1511
1582
|
},
|
|
1512
1583
|
});
|
|
1513
|
-
|
|
1584
|
+
````
|
|
1514
1585
|
|
|
1515
1586
|
**Available log levels**: `"debug"` | `"info"` | `"warn"` | `"error"` | `"silent"`
|
|
1516
1587
|
|
|
@@ -2064,6 +2135,21 @@ ArgParser includes built-in `--s-*` flags for development, debugging, and config
|
|
|
2064
2135
|
|
|
2065
2136
|
## Changelog
|
|
2066
2137
|
|
|
2138
|
+
### v2.8.2
|
|
2139
|
+
|
|
2140
|
+
- UX: Help shows example values via `valueHint` for non-boolean flags; repeatable flags display 'Multiple values allowed (repeat flag)' with example; examples use `valueHint` when present.
|
|
2141
|
+
- Types: Added `IFlag.valueHint?: string`; accepted by `zodFlagSchema`; included in processed flags; supported in manifest-driven dynamic flags.
|
|
2142
|
+
- Examples: `examples/core/dynamic-flags-demo.ts` updated to demonstrate `valueHint` for `--url`.
|
|
2143
|
+
|
|
2144
|
+
### v2.8.1
|
|
2145
|
+
|
|
2146
|
+
- Feature: Dynamic flags via `IFlag.dynamicRegister(ctx)` to register additional flags at runtime (e.g., from a manifest file)
|
|
2147
|
+
- Help: `--help` preloads dynamic flags without executing handlers; help output includes both static and dynamic flags
|
|
2148
|
+
- Flow: Two-phase parsing (load dynamic flags → re-parse with full flag set)
|
|
2149
|
+
- Cleanup: Dynamically registered flags are reset between parses to avoid accumulation
|
|
2150
|
+
- Types: Exported `DynamicRegisterContext` and `DynamicRegisterFn`
|
|
2151
|
+
- Internal: `FlagManager.removeFlag(name)` to support cleanup
|
|
2152
|
+
|
|
2067
2153
|
### v2.7.2
|
|
2068
2154
|
|
|
2069
2155
|
**Feat**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgParserBase.d.ts","sourceRoot":"","sources":["../../src/core/ArgParserBase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ArgParserBase.d.ts","sourceRoot":"","sources":["../../src/core/ArgParserBase.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
|
|
|
24
24
|
allowLigature: z.ZodDefault<z.ZodBoolean>;
|
|
25
25
|
allowMultiple: z.ZodDefault<z.ZodBoolean>;
|
|
26
26
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
27
|
+
valueHint: z.ZodOptional<z.ZodString>;
|
|
27
28
|
options: z.ZodArray<z.ZodString>;
|
|
28
29
|
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
29
30
|
type: z.ZodDefault<z.ZodUnion<readonly [z.ZodAny, z.ZodAny, z.ZodAny, z.ZodAny, z.ZodAny, z.ZodCustom<(value: string) => any | Promise<any>, (value: string) => any | Promise<any>>, z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>, z.ZodString]>>;
|
|
@@ -59,6 +60,7 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
|
|
|
59
60
|
type: any;
|
|
60
61
|
flagOnly: boolean;
|
|
61
62
|
description?: string | string[] | undefined;
|
|
63
|
+
valueHint?: string | undefined;
|
|
62
64
|
defaultValue?: any;
|
|
63
65
|
mandatory?: boolean | ((value?: any, parsedArgs?: any) => boolean) | undefined;
|
|
64
66
|
validate?: ((value?: any, parsedArgs?: any) => boolean | string | void | Promise<boolean | string | void>) | undefined;
|
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;;;;;;;;;;;;;;;kBAyD7B,CAAC;AAEJ,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -1114,6 +1114,7 @@ const zodFlagSchema = zod.z.object({
|
|
|
1114
1114
|
"Allow passing the same flag multiple times, e.g., `-f val1 -f val2` results in an array."
|
|
1115
1115
|
),
|
|
1116
1116
|
description: zod.z.union([zod.z.string(), zod.z.array(zod.z.string())]).optional().describe("Textual description for help messages."),
|
|
1117
|
+
valueHint: zod.z.string().optional().describe("Hint/example value shown in help and examples."),
|
|
1117
1118
|
options: zod.z.array(zod.z.string().min(1)).min(1, "Flag must have at least one option (e.g., ['-f', '--flag'])").describe("Array of option strings, e.g., ['-f', '--flag']."),
|
|
1118
1119
|
defaultValue: zod.z.any().optional().describe("Default value if the flag is not provided."),
|
|
1119
1120
|
type: zod.z.union([
|
|
@@ -4291,6 +4292,35 @@ ${cyan("Flags:")}
|
|
|
4291
4292
|
typeName = flag["type"];
|
|
4292
4293
|
}
|
|
4293
4294
|
metaLines.push(`Type: ${typeName}`);
|
|
4295
|
+
{
|
|
4296
|
+
let isRepeatable = false;
|
|
4297
|
+
try {
|
|
4298
|
+
if (typeof flag["type"] === "function" && flag["type"].name === "Array") {
|
|
4299
|
+
isRepeatable = true;
|
|
4300
|
+
}
|
|
4301
|
+
const anyType = flag["type"];
|
|
4302
|
+
if (anyType && typeof anyType === "object" && anyType._def && anyType._def.typeName === "ZodArray") {
|
|
4303
|
+
isRepeatable = true;
|
|
4304
|
+
}
|
|
4305
|
+
if (flag["allowMultiple"]) isRepeatable = true;
|
|
4306
|
+
} catch {
|
|
4307
|
+
}
|
|
4308
|
+
const primaryOpt = flag["options"].find((o) => o.startsWith("--")) ?? flag["options"][0];
|
|
4309
|
+
const valueHint = flag["valueHint"];
|
|
4310
|
+
if (!flag["flagOnly"]) {
|
|
4311
|
+
if (isRepeatable) {
|
|
4312
|
+
metaLines.push("Multiple values allowed (repeat flag)");
|
|
4313
|
+
const v1 = valueHint ?? "value1";
|
|
4314
|
+
const v2 = valueHint ?? "value2";
|
|
4315
|
+
metaLines.push(
|
|
4316
|
+
`Example: ${primaryOpt} ${v1} ${primaryOpt} ${v2}`
|
|
4317
|
+
);
|
|
4318
|
+
} else {
|
|
4319
|
+
const v = valueHint ?? "value";
|
|
4320
|
+
metaLines.push(`Example: ${primaryOpt} ${v}`);
|
|
4321
|
+
}
|
|
4322
|
+
}
|
|
4323
|
+
}
|
|
4294
4324
|
if (typeDetails.length > 0) {
|
|
4295
4325
|
metaLines.push(...typeDetails);
|
|
4296
4326
|
}
|