@alcyone-labs/arg-parser 2.4.1 → 2.5.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/README.md +159 -2
- package/dist/core/ArgParser.d.ts.map +1 -1
- package/dist/core/ArgParserBase.d.ts.map +1 -1
- package/dist/core/types.d.ts +4 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.cjs +87 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.min.mjs +504 -445
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +87 -11
- package/dist/index.mjs.map +1 -1
- package/dist/mcp/mcp-integration.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,6 +25,7 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
|
|
|
25
25
|
- [Runtime Type Validation](#runtime-type-validation)
|
|
26
26
|
- [Automatic Type Processing](#automatic-type-processing)
|
|
27
27
|
- [Async Custom Parser Support](#async-custom-parser-support)
|
|
28
|
+
- [Zod Schema Flags (Structured JSON Validation)](#zod-schema-flags-structured-json-validation)
|
|
28
29
|
- [Type Conversion Examples](#type-conversion-examples)
|
|
29
30
|
- [Hierarchical CLIs (Sub-Commands)](#hierarchical-clis-sub-commands)
|
|
30
31
|
- [MCP Exposure Control](#mcp-exposure-control)
|
|
@@ -49,6 +50,7 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
|
|
|
49
50
|
- [Configuration Priority](#configuration-priority)
|
|
50
51
|
- [Configuration Merging](#configuration-merging)
|
|
51
52
|
- [Path Resolution Options](#path-resolution-options)
|
|
53
|
+
- [MCP Lifecycle Events](#mcp-lifecycle-events)
|
|
52
54
|
- [MCP Resources - Real-Time Data Feeds](#mcp-resources---real-time-data-feeds)
|
|
53
55
|
- [Basic Resource Setup](#basic-resource-setup)
|
|
54
56
|
- [URI Templates with Dynamic Parameters](#uri-templates-with-dynamic-parameters)
|
|
@@ -68,6 +70,9 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
|
|
|
68
70
|
- [Typical Errors](#typical-errors)
|
|
69
71
|
- [System Flags & Configuration](#system-flags--configuration)
|
|
70
72
|
- [Changelog](#changelog)
|
|
73
|
+
- [v2.5.0](#v250)
|
|
74
|
+
- [v2.4.2](#v242)
|
|
75
|
+
- [v2.4.1](#v241)
|
|
71
76
|
- [v2.4.0](#v240)
|
|
72
77
|
- [v2.3.0](#v230)
|
|
73
78
|
- [v2.2.1](#v221)
|
|
@@ -101,6 +106,7 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
|
|
|
101
106
|
- [Runtime Type Validation](#runtime-type-validation)
|
|
102
107
|
- [Automatic Type Processing](#automatic-type-processing)
|
|
103
108
|
- [Async Custom Parser Support](#async-custom-parser-support)
|
|
109
|
+
- [Zod Schema Flags (Structured JSON Validation)](#zod-schema-flags-structured-json-validation)
|
|
104
110
|
- [Type Conversion Examples](#type-conversion-examples)
|
|
105
111
|
- [Hierarchical CLIs (Sub-Commands)](#hierarchical-clis-sub-commands)
|
|
106
112
|
- [MCP Exposure Control](#mcp-exposure-control)
|
|
@@ -446,7 +452,7 @@ const cli = ArgParser.withMcp({
|
|
|
446
452
|
// parse() is async and works with both sync and async handlers
|
|
447
453
|
async function main() {
|
|
448
454
|
try {
|
|
449
|
-
// Option 1: Auto-detection
|
|
455
|
+
// Option 1: Auto-detection - convenient for simple scripts
|
|
450
456
|
const result = await cli.parse();
|
|
451
457
|
|
|
452
458
|
// Option 2: Explicit arguments - full control
|
|
@@ -603,7 +609,7 @@ Flags are defined using the `IFlag` interface within the `flags` array of a tool
|
|
|
603
609
|
interface IFlag {
|
|
604
610
|
name: string; // Internal name (e.g., 'verbose')
|
|
605
611
|
options: string[]; // Command-line options (e.g., ['--verbose', '-v'])
|
|
606
|
-
type: "string" | "number" | "boolean" | "array" | "object" | Function;
|
|
612
|
+
type: "string" | "number" | "boolean" | "array" | "object" | Function | ZodSchema;
|
|
607
613
|
description?: string; // Help text
|
|
608
614
|
mandatory?: boolean | ((args: any) => boolean); // Whether the flag is required
|
|
609
615
|
defaultValue?: any; // Default value if not provided
|
|
@@ -755,6 +761,79 @@ const result = await parser.parse(process.argv.slice(2));
|
|
|
755
761
|
// Async custom parser functions
|
|
756
762
|
--config "./settings.json" → parsed JSON from file (async)
|
|
757
763
|
--user-id "123" → user data from API (async)
|
|
764
|
+
|
|
765
|
+
// Zod schema validation (structured JSON)
|
|
766
|
+
--config '{"host":"localhost","port":5432}' → validated object
|
|
767
|
+
--deployment '{"env":"prod","region":"us-east-1"}' → validated object
|
|
768
|
+
```
|
|
769
|
+
|
|
770
|
+
#### Zod Schema Flags (Structured JSON Validation)
|
|
771
|
+
|
|
772
|
+
**Since v2.5.0** - You can now use Zod schemas as flag types for structured JSON input with automatic validation and proper MCP JSON Schema generation:
|
|
773
|
+
|
|
774
|
+
```typescript
|
|
775
|
+
import { z } from "zod";
|
|
776
|
+
|
|
777
|
+
const DatabaseConfigSchema = z.object({
|
|
778
|
+
host: z.string().describe("Database host address"),
|
|
779
|
+
port: z.number().min(1).max(65535).describe("Database port number"),
|
|
780
|
+
credentials: z.object({
|
|
781
|
+
username: z.string().describe("Database username"),
|
|
782
|
+
password: z.string().describe("Database password"),
|
|
783
|
+
}),
|
|
784
|
+
ssl: z.boolean().optional().describe("Enable SSL connection"),
|
|
785
|
+
});
|
|
786
|
+
|
|
787
|
+
const cli = ArgParser.withMcp({
|
|
788
|
+
appName: "Database CLI",
|
|
789
|
+
appCommandName: "db-cli",
|
|
790
|
+
}).addTool({
|
|
791
|
+
name: "connect",
|
|
792
|
+
description: "Connect to database with structured configuration",
|
|
793
|
+
flags: [
|
|
794
|
+
{
|
|
795
|
+
name: "config",
|
|
796
|
+
options: ["--config", "-c"],
|
|
797
|
+
type: DatabaseConfigSchema, // 🎉 Zod schema as type!
|
|
798
|
+
description: "Database configuration as JSON object",
|
|
799
|
+
mandatory: true,
|
|
800
|
+
},
|
|
801
|
+
],
|
|
802
|
+
handler: async (ctx) => {
|
|
803
|
+
// ctx.args.config is fully typed and validated!
|
|
804
|
+
const { host, port, credentials, ssl } = ctx.args.config;
|
|
805
|
+
console.log(`Connecting to ${host}:${port} as ${credentials.username}`);
|
|
806
|
+
return { success: true };
|
|
807
|
+
},
|
|
808
|
+
});
|
|
809
|
+
|
|
810
|
+
// CLI usage with JSON validation:
|
|
811
|
+
// db-cli connect --config '{"host":"localhost","port":5432,"credentials":{"username":"admin","password":"secret"},"ssl":true}'
|
|
812
|
+
|
|
813
|
+
// MCP usage: Generates proper JSON Schema for MCP clients
|
|
814
|
+
// db-cli --s-mcp-serve
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
**Example with Complex Nested Schema:**
|
|
818
|
+
|
|
819
|
+
```typescript
|
|
820
|
+
const DeploymentSchema = z.object({
|
|
821
|
+
environment: z.enum(["dev", "staging", "prod"]),
|
|
822
|
+
region: z.string(),
|
|
823
|
+
scaling: z.object({
|
|
824
|
+
minInstances: z.number().min(1),
|
|
825
|
+
maxInstances: z.number().min(1),
|
|
826
|
+
targetCpu: z.number().min(10).max(100),
|
|
827
|
+
}),
|
|
828
|
+
monitoring: z.object({
|
|
829
|
+
enabled: z.boolean(),
|
|
830
|
+
alertEmail: z.string().email().optional(),
|
|
831
|
+
metrics: z.array(z.string()),
|
|
832
|
+
}),
|
|
833
|
+
});
|
|
834
|
+
|
|
835
|
+
// This generates comprehensive JSON Schema for MCP clients
|
|
836
|
+
// while providing full validation and type safety for CLI usage
|
|
758
837
|
```
|
|
759
838
|
|
|
760
839
|
### Hierarchical CLIs (Sub-Commands)
|
|
@@ -1292,6 +1371,64 @@ const parser = ArgParser.withMcp({
|
|
|
1292
1371
|
|
|
1293
1372
|
The CLI flag always takes precedence, allowing users to override the developer's programmatic configuration when needed. By default, relative paths resolve relative to the application's entry point, making logs predictably located near DXT packages.
|
|
1294
1373
|
|
|
1374
|
+
### MCP Lifecycle Events
|
|
1375
|
+
|
|
1376
|
+
ArgParser MCP servers support lifecycle events that allow you to perform initialization, cleanup, and other operations at specific points in the MCP protocol flow. These events are particularly useful for database connections, resource setup, and graceful shutdown procedures.
|
|
1377
|
+
|
|
1378
|
+
```typescript
|
|
1379
|
+
const cli = ArgParser.withMcp({
|
|
1380
|
+
appName: "Database CLI",
|
|
1381
|
+
appCommandName: "db-cli",
|
|
1382
|
+
mcp: {
|
|
1383
|
+
serverInfo: { name: "database-server", version: "1.0.0" },
|
|
1384
|
+
lifecycle: {
|
|
1385
|
+
onInitialize: async (ctx) => {
|
|
1386
|
+
// Called when client sends "initialize" request
|
|
1387
|
+
// Perfect for database connections, resource setup
|
|
1388
|
+
ctx.logger.mcpError("Initializing server...");
|
|
1389
|
+
|
|
1390
|
+
const dbUrl = ctx.getFlag("database_url");
|
|
1391
|
+
if (dbUrl) {
|
|
1392
|
+
await connectToDatabase(dbUrl);
|
|
1393
|
+
ctx.logger.mcpError("Database connected successfully");
|
|
1394
|
+
}
|
|
1395
|
+
},
|
|
1396
|
+
|
|
1397
|
+
onInitialized: async (ctx) => {
|
|
1398
|
+
// Called when client sends "initialized" notification
|
|
1399
|
+
// Server is ready for normal operations
|
|
1400
|
+
ctx.logger.mcpError("Server ready for requests");
|
|
1401
|
+
await startBackgroundTasks();
|
|
1402
|
+
},
|
|
1403
|
+
|
|
1404
|
+
onShutdown: async (ctx) => {
|
|
1405
|
+
// Called during server shutdown
|
|
1406
|
+
// Perfect for cleanup, closing connections
|
|
1407
|
+
ctx.logger.mcpError(`Shutting down: ${ctx.reason}`);
|
|
1408
|
+
await cleanupResources();
|
|
1409
|
+
await closeDatabase();
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
});
|
|
1414
|
+
```
|
|
1415
|
+
|
|
1416
|
+
**Lifecycle Events:**
|
|
1417
|
+
|
|
1418
|
+
- **`onInitialize`**: Called when a client sends an "initialize" request. Ideal for database connections, resource initialization, configuration validation, and authentication setup.
|
|
1419
|
+
- **`onInitialized`**: Called when a client sends an "initialized" notification, indicating the client is ready for normal operations. Perfect for final setup steps and background task initialization.
|
|
1420
|
+
- **`onShutdown`**: Called when the MCP server is shutting down. Essential for cleanup, resource disposal, and graceful shutdown procedures.
|
|
1421
|
+
|
|
1422
|
+
**Context Properties:**
|
|
1423
|
+
|
|
1424
|
+
Each lifecycle event receives a context object with:
|
|
1425
|
+
- `getFlag(name)`: Access parsed CLI flags and environment variables
|
|
1426
|
+
- `logger`: MCP-compliant logger instance for the current context
|
|
1427
|
+
- `serverInfo`: Server information (name, version, description)
|
|
1428
|
+
- `clientInfo`: Client information (available in onInitialize and onInitialized)
|
|
1429
|
+
- `protocolVersion`: MCP protocol version being used
|
|
1430
|
+
- `reason`: Shutdown reason (only in onShutdown: "client_disconnect", "server_shutdown", "error", "signal")
|
|
1431
|
+
|
|
1295
1432
|
### MCP Resources - Real-Time Data Feeds
|
|
1296
1433
|
|
|
1297
1434
|
MCP Resources enable your CLI tools to provide **real-time, subscription-based data feeds** to AI assistants. Unlike tools (which are called once), resources can be subscribed to and provide live updates when data changes.
|
|
@@ -1687,6 +1824,26 @@ ArgParser includes built-in `--s-*` flags for development, debugging, and config
|
|
|
1687
1824
|
|
|
1688
1825
|
## Changelog
|
|
1689
1826
|
|
|
1827
|
+
### v2.5.0
|
|
1828
|
+
|
|
1829
|
+
**Feat**
|
|
1830
|
+
|
|
1831
|
+
- **Zod Schema Flags**: You can now use Zod schemas as flag types for structured JSON input validation. This enables complex object validation with automatic JSON Schema generation for MCP clients while maintaining full type safety and CLI compatibility.
|
|
1832
|
+
- **Improved MCP Tool Documentation**: Zod schema descriptions automatically become MCP tool parameter documentation
|
|
1833
|
+
|
|
1834
|
+
### v2.4.2
|
|
1835
|
+
|
|
1836
|
+
**Fixes and Changes**
|
|
1837
|
+
|
|
1838
|
+
- add missing MCP lifecycle event documentation
|
|
1839
|
+
- fix the behavior of the withMcp() options.mcp.log that was not working as expected
|
|
1840
|
+
|
|
1841
|
+
### v2.4.1
|
|
1842
|
+
|
|
1843
|
+
**Fixes and Changes**
|
|
1844
|
+
|
|
1845
|
+
- switch to NPM version of @alcyone-labs/modelcontextprotocol-sdk to freeze the dependency and avoid side-effects
|
|
1846
|
+
|
|
1690
1847
|
### v2.4.0
|
|
1691
1848
|
|
|
1692
1849
|
**Feat**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgParser.d.ts","sourceRoot":"","sources":["../../src/core/ArgParser.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ArgParser.d.ts","sourceRoot":"","sources":["../../src/core/ArgParser.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAW/D,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EACV,KAAK,EACL,eAAe,EACf,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,iBAAiB,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,MAAM,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACzC,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,8CAA8C;IAC9C,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACzC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,iDAAiD;IACjD,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,wCAAwC;IACxC,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,cAAc,GAAG,GAAG,IAC7C,gBAAgB,CAAC,cAAc,CAAC,GAAG;IACjC,wCAAwC;IACxC,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,uBAAuB,CAAC,cAAc,GAAG,GAAG,IACtD,cAAc,CAAC,cAAc,CAAC,CAAC;AAEjC;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,oCAAoC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC;IACxB,oCAAoC;IACpC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACtD,gGAAgG;IAChG,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,SAAS,CACpB,cAAc,GAAG,GAAG,CACpB,SAAQ,aAAa,CAAC,cAAc,CAAC;;IACrC,qDAAqD;IACrD,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAE5C,wCAAwC;IACxC,OAAO,CAAC,SAAS,CAAyC;IAE1D,+BAA+B;IAC/B,OAAO,CAAC,MAAM,CAAsC;IAEpD,+BAA+B;IAC/B,OAAO,CAAC,oBAAoB,CAAC,CAA2B;IACxD,OAAO,CAAC,gBAAgB,CAAoD;IAC5E,OAAO,CAAC,yBAAyB,CAAC,CAEsB;IAExD,kDAAkD;IAClD,OAAO,CAAC,mBAAmB,CAAwC;IAEnE;;;OAGG;IACI,kBAAkB,IAAI,gBAAgB,GAAG,SAAS;IAqFzD;;;;OAIG;IACI,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAK/D;;;;;OAKG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAK1E;;;;OAIG;IACI,sBAAsB,CAC3B,OAAO,GACH,OAAO,GACP,MAAM,cAAc,SAAS,EAAE,oBAA2B,GAC7D,IAAI;IAKP;;;;OAIG;IACI,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKnD;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;;;;;;OAOG;IACI,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAwE5C;;;;;OAKG;IACI,UAAU,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IAgDlD;;;OAGG;IACI,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAI1C;;;;OAIG;IACI,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;IAIhD;;;;OAIG;IACI,WAAW,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG;QACrD,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB;IA4BD;;;;;OAKG;IACI,cAAc,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG;QACxD,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB;IAUD;;;OAGG;IACI,mBAAmB,IAAI;QAC5B,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB;IAuCD;;;;;;OAMG;IACU,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,GAAQ,GACb,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IA6BF;;;;OAIG;IACI,UAAU,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,iBAAiB,EAAE;IAqRzE;;;;;;OAMG;IACU,eAAe,CAC1B,UAAU,CAAC,EAAE,aAAa,EAC1B,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,GAAG,CAAC;IA4lBf;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAenC;;;;;OAKG;IACU,cAAc,CACzB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,EACD,WAAW,CAAC,EAAE,uBAAuB,GACpC,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;OAMG;IACU,oCAAoC,CAC/C,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,EACD,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,iBAAiB,CAAC;QAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kBAAkB,CAAC,EAAE,MAAM,MAAM,CAAC;KACnC,CAAC,EACF,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;;;OAOG;IACU,2BAA2B,CACtC,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,EACD,aAAa,EAAE,OAAO,GAAG,KAAK,GAAG,iBAAiB,EAClD,gBAAgB,GAAE;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kBAAkB,CAAC,EAAE,MAAM,MAAM,CAAC;KAC9B,EACN,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC;IAuJH,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA2BvE;;;;OAIG;IACI,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG;IAuB9D;;;;;OAKG;IACI,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA4CtE;;;;;;;OAOG;IACI,gBAAgB,CACrB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,UAAU,EAAE,aAAa,EACzB,OAAO,CAAC,EAAE,oBAAoB,GAAG;QAAE,WAAW,CAAC,EAAE,uBAAuB,CAAA;KAAE,GACzE,IAAI;IAEP;;;;;;;OAOG;IACI,gBAAgB,CACrB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,UAAU,EAAE,aAAa,EACzB,WAAW,CAAC,EAAE,uBAAuB,GACpC,IAAI;IAqLP;;;;;;;;OAQG;WACW,OAAO,CAAC,CAAC,GAAG,GAAG,EAC3B,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,YAAY,CAAC,EAAE,SAAS,KAAK,EAAE,GAC9B,SAAS,CAAC,CAAC,CAAC;IAoBf;;;OAGG;WACW,MAAM,CAAC,CAAC,GAAG,GAAG,EAC1B,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,EACxD,YAAY,CAAC,EAAE,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GAC5D,SAAS,CAAC,CAAC,CAAC;IASf;;;OAGG;WACW,UAAU,CAAC,CAAC,GAAG,GAAG,EAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,EACxD,YAAY,CAAC,EAAE,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GAC5D,SAAS,CAAC,CAAC,CAAC;WASD,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;CA+B7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArgParserBase.d.ts","sourceRoot":"","sources":["../../src/core/ArgParserBase.ts"],"names":[],"mappings":"AAMA,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;CACjB;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;;gBA+B3C,OAAO,GAAE,gBAAgB,CAAC,cAAc,CAAM,EAC9C,YAAY,CAAC,EAAE,SAAS,KAAK,EAAE;IAoEjC,IAAI,KAAK,IAAI,aAAa,EAAE,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;IAEM,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAIvC,iBAAiB,IAAI,MAAM;IAI3B,cAAc,IAAI,MAAM,GAAG,SAAS;IAIpC,WAAW,IAAI,OAAO;IAI7B;;;OAGG;IACH,OAAO,CAAC,WAAW;IA0BZ,UAAU,IAAI,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,SAAS;IAI1D,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;YAInC,YAAY;
|
|
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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
1
|
+
import { z, type ZodTypeAny } from "zod";
|
|
2
2
|
export type ArgParserInstance = any;
|
|
3
3
|
export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
|
|
4
4
|
name: z.ZodString;
|
|
@@ -7,7 +7,7 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
|
|
|
7
7
|
description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
8
8
|
options: z.ZodArray<z.ZodString>;
|
|
9
9
|
defaultValue: z.ZodOptional<z.ZodAny>;
|
|
10
|
-
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.ZodString]>>;
|
|
10
|
+
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]>>;
|
|
11
11
|
mandatory: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodCustom<(value?: any, parsedArgs?: any) => boolean, (value?: any, parsedArgs?: any) => boolean>]>>;
|
|
12
12
|
flagOnly: z.ZodDefault<z.ZodBoolean>;
|
|
13
13
|
validate: z.ZodOptional<z.ZodCustom<(value?: any, parsedArgs?: any) => boolean | string | void | Promise<boolean | string | void>, (value?: any, parsedArgs?: any) => boolean | string | void | Promise<boolean | string | void>>>;
|
|
@@ -37,7 +37,7 @@ export type IFlagCore = z.input<typeof zodFlagSchema>;
|
|
|
37
37
|
* The type of the `type` property in a ProcessedFlagCore object.
|
|
38
38
|
* This represents all valid forms the `type` property can take after Zod processing.
|
|
39
39
|
*/
|
|
40
|
-
export type TParsedArgsTypeFromFlagDef = StringConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor | ((value: string) => any) | ((value: string) => Promise<any>) | "string" | "number" | "boolean" | "array" | "object";
|
|
40
|
+
export type TParsedArgsTypeFromFlagDef = StringConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor | ((value: string) => any) | ((value: string) => Promise<any>) | ZodTypeAny | "string" | "number" | "boolean" | "array" | "object";
|
|
41
41
|
/**
|
|
42
42
|
* The core type of a flag after Zod processing (defaults applied, aliases resolved),
|
|
43
43
|
* but before some properties are made more specific (like `type` constructor to actual type).
|
|
@@ -72,7 +72,7 @@ export type ProcessedFlag = Omit<ProcessedFlagCore, "validate" | "enum" | "manda
|
|
|
72
72
|
/**
|
|
73
73
|
* Resolves the TypeScript type from a flag's `type` definition.
|
|
74
74
|
*/
|
|
75
|
-
export type ResolveType<T extends TParsedArgsTypeFromFlagDef> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends ArrayConstructor ? any[] : T extends ObjectConstructor ? Record<string, any> : T extends "string" ? string : T extends "number" ? number : T extends "boolean" ? boolean : T extends "array" ? any[] : T extends "object" ? Record<string, any> : T extends (value: string) => infer R ? R : any;
|
|
75
|
+
export type ResolveType<T extends TParsedArgsTypeFromFlagDef> = T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends ArrayConstructor ? any[] : T extends ObjectConstructor ? Record<string, any> : T extends ZodTypeAny ? z.infer<T> : T extends "string" ? string : T extends "number" ? number : T extends "boolean" ? boolean : T extends "array" ? any[] : T extends "object" ? Record<string, any> : T extends (value: string) => infer R ? R : any;
|
|
76
76
|
/**
|
|
77
77
|
* Extracts the final TypeScript type for a flag's value based on its definition,
|
|
78
78
|
* considering `flagOnly` and `allowMultiple` properties.
|
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,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -1111,6 +1111,11 @@ const zodFlagSchema = zod.z.object({
|
|
|
1111
1111
|
"Must be a custom parser function"
|
|
1112
1112
|
),
|
|
1113
1113
|
// Custom parser function (value: string) => any | Promise<any>
|
|
1114
|
+
zod.z.custom(
|
|
1115
|
+
(val) => val && typeof val === "object" && val._def,
|
|
1116
|
+
"Must be a Zod schema"
|
|
1117
|
+
),
|
|
1118
|
+
// Zod schema for structured JSON validation
|
|
1114
1119
|
zod.z.string().refine(
|
|
1115
1120
|
// String literal types
|
|
1116
1121
|
(value) => ["boolean", "string", "number", "array", "object"].includes(
|
|
@@ -1121,7 +1126,7 @@ const zodFlagSchema = zod.z.object({
|
|
|
1121
1126
|
}
|
|
1122
1127
|
)
|
|
1123
1128
|
]).default("string").describe(
|
|
1124
|
-
"Expected data type (constructor
|
|
1129
|
+
"Expected data type (constructor, string literal, custom parser function, or Zod schema). Defaults to 'string'."
|
|
1125
1130
|
),
|
|
1126
1131
|
mandatory: zod.z.union([
|
|
1127
1132
|
zod.z.boolean(),
|
|
@@ -1153,6 +1158,9 @@ const zodFlagSchema = zod.z.object({
|
|
|
1153
1158
|
return newObj;
|
|
1154
1159
|
});
|
|
1155
1160
|
function getJsonSchemaTypeFromFlag(flagType) {
|
|
1161
|
+
if (flagType && typeof flagType === "object" && flagType._def) {
|
|
1162
|
+
return "object";
|
|
1163
|
+
}
|
|
1156
1164
|
if (typeof flagType === "function") {
|
|
1157
1165
|
if (flagType === String) return "string";
|
|
1158
1166
|
if (flagType === Number) return "number";
|
|
@@ -3379,7 +3387,21 @@ const _ArgParserBase = class _ArgParserBase {
|
|
|
3379
3387
|
const result = flag["type"](value);
|
|
3380
3388
|
value = result && typeof result.then === "function" ? await result : result;
|
|
3381
3389
|
} else if (typeof flag["type"] === "object") {
|
|
3382
|
-
|
|
3390
|
+
if (flag["type"] && flag["type"]._def) {
|
|
3391
|
+
try {
|
|
3392
|
+
const parsedJson = typeof value === "string" ? JSON.parse(value) : value;
|
|
3393
|
+
value = flag["type"].parse(parsedJson);
|
|
3394
|
+
} catch (error) {
|
|
3395
|
+
if (error instanceof SyntaxError) {
|
|
3396
|
+
throw new Error(`Invalid JSON for flag '${flag["name"]}': ${error.message}`);
|
|
3397
|
+
} else {
|
|
3398
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
3399
|
+
throw new Error(`Validation failed for flag '${flag["name"]}': ${errorMessage}`);
|
|
3400
|
+
}
|
|
3401
|
+
}
|
|
3402
|
+
} else {
|
|
3403
|
+
value = new flag["type"](value);
|
|
3404
|
+
}
|
|
3383
3405
|
}
|
|
3384
3406
|
if (flag["enum"] && flag["enum"].length > 0) {
|
|
3385
3407
|
const allowedValues = flag["enum"].map((v) => typeof v === "string" ? `'${v}'` : v).join(", ");
|
|
@@ -3751,7 +3773,28 @@ ${cyan("Flags:")}
|
|
|
3751
3773
|
const descriptionLines = Array.isArray(flag["description"]) ? flag["description"] : [flag["description"]];
|
|
3752
3774
|
const metaLines = [];
|
|
3753
3775
|
let typeName = "unknown";
|
|
3754
|
-
|
|
3776
|
+
let typeDetails = [];
|
|
3777
|
+
if (flag["type"] && typeof flag["type"] === "object" && flag["type"]._def) {
|
|
3778
|
+
typeName = "JSON object";
|
|
3779
|
+
try {
|
|
3780
|
+
const zodSchema = flag["type"];
|
|
3781
|
+
const def = zodSchema._def;
|
|
3782
|
+
if (def.shape) {
|
|
3783
|
+
const shape = typeof def.shape === "function" ? def.shape() : def.shape;
|
|
3784
|
+
const properties2 = Object.keys(shape);
|
|
3785
|
+
if (properties2.length > 0) {
|
|
3786
|
+
if (properties2.length <= 4) {
|
|
3787
|
+
typeDetails.push(`Properties: ${properties2.join(", ")}`);
|
|
3788
|
+
} else {
|
|
3789
|
+
typeDetails.push(`Properties: ${properties2.slice(0, 4).join(", ")}, ... (${properties2.length} total)`);
|
|
3790
|
+
}
|
|
3791
|
+
}
|
|
3792
|
+
}
|
|
3793
|
+
typeDetails.push("Expected: JSON string");
|
|
3794
|
+
} catch (error) {
|
|
3795
|
+
typeDetails.push("Expected: JSON string");
|
|
3796
|
+
}
|
|
3797
|
+
} else if (typeof flag["type"] === "function") {
|
|
3755
3798
|
typeName = flag["type"].name || "custom function";
|
|
3756
3799
|
if (typeName === "Boolean") typeName = "boolean";
|
|
3757
3800
|
if (typeName === "String") typeName = "string";
|
|
@@ -3762,6 +3805,9 @@ ${cyan("Flags:")}
|
|
|
3762
3805
|
typeName = flag["type"];
|
|
3763
3806
|
}
|
|
3764
3807
|
metaLines.push(`Type: ${typeName}`);
|
|
3808
|
+
if (typeDetails.length > 0) {
|
|
3809
|
+
metaLines.push(...typeDetails);
|
|
3810
|
+
}
|
|
3765
3811
|
if (flag["flagOnly"]) {
|
|
3766
3812
|
metaLines.push("Flag only (no value expected)");
|
|
3767
3813
|
}
|
|
@@ -4514,7 +4560,9 @@ _buildRecursiveString_fn = function(parser, level, visited = /* @__PURE__ */ new
|
|
|
4514
4560
|
`${flagIndent} Description: ${Array.isArray(flag["description"]) ? flag["description"].join(" | ") : flag["description"]}`
|
|
4515
4561
|
);
|
|
4516
4562
|
let typeName = "unknown";
|
|
4517
|
-
if (typeof flag["type"] === "
|
|
4563
|
+
if (flag["type"] && typeof flag["type"] === "object" && flag["type"]._def) {
|
|
4564
|
+
typeName = "Zod schema";
|
|
4565
|
+
} else if (typeof flag["type"] === "function") {
|
|
4518
4566
|
typeName = flag["type"].name || "custom function";
|
|
4519
4567
|
} else if (typeof flag["type"] === "string") {
|
|
4520
4568
|
typeName = flag["type"];
|
|
@@ -4581,7 +4629,9 @@ _buildRecursiveJson_fn = function(parser, visited = /* @__PURE__ */ new Set()) {
|
|
|
4581
4629
|
config.flags = flags.map((flag) => {
|
|
4582
4630
|
var _a;
|
|
4583
4631
|
let typeName = "unknown";
|
|
4584
|
-
if (typeof flag["type"] === "
|
|
4632
|
+
if (flag["type"] && typeof flag["type"] === "object" && flag["type"]._def) {
|
|
4633
|
+
typeName = "Zod schema";
|
|
4634
|
+
} else if (typeof flag["type"] === "function") {
|
|
4585
4635
|
typeName = flag["type"].name || "custom function";
|
|
4586
4636
|
} else if (typeof flag["type"] === "string") {
|
|
4587
4637
|
typeName = flag["type"];
|
|
@@ -4652,7 +4702,7 @@ _handleMcpServeFlag_fn = async function(processArgs, _mcpServeIndex) {
|
|
|
4652
4702
|
debug.log("Transport options parsed:", JSON.stringify(transportOptions));
|
|
4653
4703
|
const mcpServerConfig = __privateMethod(this, _ArgParserBase_instances, _getMcpServerConfiguration_fn).call(this);
|
|
4654
4704
|
debug.log("Got MCP server config:", JSON.stringify(mcpServerConfig));
|
|
4655
|
-
const effectiveLogPath = transportOptions.logPath || (mcpServerConfig == null ? void 0 : mcpServerConfig.logPath) || "./logs/mcp.log";
|
|
4705
|
+
const effectiveLogPath = transportOptions.logPath || ((mcpServerConfig == null ? void 0 : mcpServerConfig.log) && typeof mcpServerConfig.log === "object" ? mcpServerConfig.log.logToFile : null) || (mcpServerConfig == null ? void 0 : mcpServerConfig.logPath) || "./logs/mcp.log";
|
|
4656
4706
|
debug.log("Effective log path:", effectiveLogPath);
|
|
4657
4707
|
const resolvedLogPath = resolveLogPath(effectiveLogPath);
|
|
4658
4708
|
debug.log("Resolved log path:", resolvedLogPath);
|
|
@@ -4742,7 +4792,7 @@ _handleMcpServeFlag_fn = async function(processArgs, _mcpServeIndex) {
|
|
|
4742
4792
|
/**
|
|
4743
4793
|
* Resolve logger configuration for MCP serve with proper priority
|
|
4744
4794
|
* @param mcpServerConfig MCP server configuration
|
|
4745
|
-
* @param resolvedLogPath Resolved log path from CLI flags
|
|
4795
|
+
* @param resolvedLogPath Resolved log path from CLI flags and config priority
|
|
4746
4796
|
* @returns Logger configuration object or string path
|
|
4747
4797
|
*/
|
|
4748
4798
|
_resolveLoggerConfigForServe_fn = function(mcpServerConfig, resolvedLogPath) {
|
|
@@ -4762,7 +4812,7 @@ _resolveLoggerConfigForServe_fn = function(mcpServerConfig, resolvedLogPath) {
|
|
|
4762
4812
|
// Default level for backward compatibility
|
|
4763
4813
|
mcpMode: true,
|
|
4764
4814
|
...mcpServerConfig.log,
|
|
4765
|
-
// Use
|
|
4815
|
+
// Use the resolved path which respects the proper priority order
|
|
4766
4816
|
logToFile: resolvedLogPath
|
|
4767
4817
|
};
|
|
4768
4818
|
}
|
|
@@ -5004,6 +5054,25 @@ function createMcpErrorResponse(error) {
|
|
|
5004
5054
|
};
|
|
5005
5055
|
}
|
|
5006
5056
|
function convertFlagToJsonSchemaProperty(flag) {
|
|
5057
|
+
if (flag.type && typeof flag.type === "object" && flag.type._def) {
|
|
5058
|
+
const zodSchema = flag.type;
|
|
5059
|
+
try {
|
|
5060
|
+
const property2 = zod.z.toJSONSchema(zodSchema);
|
|
5061
|
+
if (flag.description) {
|
|
5062
|
+
property2.description = flag.description;
|
|
5063
|
+
}
|
|
5064
|
+
const isRequired2 = !!(flag.mandatory || flag.required);
|
|
5065
|
+
return { property: property2, isRequired: isRequired2 };
|
|
5066
|
+
} catch (error) {
|
|
5067
|
+
console.warn(`Failed to convert Zod schema to JSON Schema for flag '${flag.name}':`, error);
|
|
5068
|
+
const property2 = {
|
|
5069
|
+
type: "object",
|
|
5070
|
+
description: flag.description || `${flag.name} parameter (Zod schema)`
|
|
5071
|
+
};
|
|
5072
|
+
const isRequired2 = !!(flag.mandatory || flag.required);
|
|
5073
|
+
return { property: property2, isRequired: isRequired2 };
|
|
5074
|
+
}
|
|
5075
|
+
}
|
|
5007
5076
|
const property = {
|
|
5008
5077
|
type: getJsonSchemaTypeFromFlag(flag.type),
|
|
5009
5078
|
description: flag.description || `${flag.name} parameter`
|
|
@@ -5110,8 +5179,11 @@ function extractSimplifiedResponse(mcpResponse) {
|
|
|
5110
5179
|
};
|
|
5111
5180
|
}
|
|
5112
5181
|
function mapArgParserFlagToZodSchema(flag) {
|
|
5113
|
-
let zodSchema = zod.z.string();
|
|
5114
5182
|
const flagTypeOpt = flag["type"];
|
|
5183
|
+
if (flagTypeOpt && typeof flagTypeOpt === "object" && flagTypeOpt._def) {
|
|
5184
|
+
return flagTypeOpt;
|
|
5185
|
+
}
|
|
5186
|
+
let zodSchema = zod.z.string();
|
|
5115
5187
|
let typeName;
|
|
5116
5188
|
if (typeof flagTypeOpt === "function") {
|
|
5117
5189
|
typeName = flagTypeOpt.name.toLowerCase().replace("constructor", "");
|
|
@@ -6423,9 +6495,13 @@ Migration guide: https://github.com/alcyone-labs/arg-parser/blob/main/docs/MCP-M
|
|
|
6423
6495
|
});
|
|
6424
6496
|
const parsedArgs = (parsedResult == null ? void 0 : parsedResult.args) || parsedResult || {};
|
|
6425
6497
|
lifecycleManager.setParsedArgs(parsedArgs);
|
|
6426
|
-
logger.mcpError(
|
|
6498
|
+
logger.mcpError(
|
|
6499
|
+
`Lifecycle manager initialized with parsed args: ${Object.keys(parsedArgs).join(", ")}`
|
|
6500
|
+
);
|
|
6427
6501
|
} catch (parseError) {
|
|
6428
|
-
logger.mcpError(
|
|
6502
|
+
logger.mcpError(
|
|
6503
|
+
`Warning: Could not parse arguments for lifecycle manager: ${parseError instanceof Error ? parseError.message : String(parseError)}`
|
|
6504
|
+
);
|
|
6429
6505
|
}
|
|
6430
6506
|
const originalConnect = server.connect.bind(server);
|
|
6431
6507
|
server.connect = async (transport) => {
|