@alcyone-labs/arg-parser 2.4.2 → 2.6.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 CHANGED
@@ -25,7 +25,9 @@ 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)
30
+ - [DXT Package User Configuration & Path Handling](#dxt-package-user-configuration--path-handling)
29
31
  - [Hierarchical CLIs (Sub-Commands)](#hierarchical-clis-sub-commands)
30
32
  - [MCP Exposure Control](#mcp-exposure-control)
31
33
  - [Flag Inheritance (`inheritParentFlags`)](#flag-inheritance-inheritparentflags)
@@ -69,6 +71,10 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
69
71
  - [Typical Errors](#typical-errors)
70
72
  - [System Flags & Configuration](#system-flags--configuration)
71
73
  - [Changelog](#changelog)
74
+ - [v2.6.0](#v260)
75
+ - [v2.5.0](#v250)
76
+ - [v2.4.2](#v242)
77
+ - [v2.4.1](#v241)
72
78
  - [v2.4.0](#v240)
73
79
  - [v2.3.0](#v230)
74
80
  - [v2.2.1](#v221)
@@ -82,69 +88,6 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
82
88
  - [Backlog](#backlog)
83
89
  - [(known) Bugs / DX improvement points](#known-bugs--dx-improvement-points)
84
90
 
85
- - [Features Overview](#features-overview)
86
- - [Installation](#installation)
87
- - [Quick Start: The Unified `addTool` API](#quick-start-the-unified-addtool-api)
88
- - [How to Run It](#how-to-run-it)
89
- - [Setting Up System-Wide CLI Access](#setting-up-system-wide-cli-access)
90
- - [Parsing Command-Line Arguments](#parsing-command-line-arguments)
91
- - [Automatic Argument Detection](#automatic-argument-detection)
92
- - [Cannonical Usage Pattern](#cannonical-usage-pattern)
93
- - [Top-level await](#top-level-await)
94
- - [Promise-based parsing](#promise-based-parsing)
95
- - [Migrating from v1.x to the v2.0 `addTool` API](#migrating-from-v1x-to-the-v20-addtool-api)
96
- - [Before v2.0: Separate Definitions](#before-v20-separate-definitions)
97
- - [After v2.0: The Unified `addTool()` Method](#after-v20-the-unified-addtool-method)
98
- - [Core Concepts](#core-concepts)
99
- - [Defining Flags](#defining-flags)
100
- - [Type Handling and Validation](#type-handling-and-validation)
101
- - [Supported Type Formats](#supported-type-formats)
102
- - [Runtime Type Validation](#runtime-type-validation)
103
- - [Automatic Type Processing](#automatic-type-processing)
104
- - [Async Custom Parser Support](#async-custom-parser-support)
105
- - [Type Conversion Examples](#type-conversion-examples)
106
- - [Hierarchical CLIs (Sub-Commands)](#hierarchical-clis-sub-commands)
107
- - [MCP Exposure Control](#mcp-exposure-control)
108
- - [Flag Inheritance (`inheritParentFlags`)](#flag-inheritance-inheritparentflags)
109
- - [MCP & Claude Desktop Integration](#mcp--claude-desktop-integration)
110
- - [Output Schema Support](#output-schema-support)
111
- - [Basic Usage](#basic-usage)
112
- - [Predefined Schema Patterns](#predefined-schema-patterns)
113
- - [Custom Zod Schemas](#custom-zod-schemas)
114
- - [MCP Version Compatibility](#mcp-version-compatibility)
115
- - [Automatic Error Handling](#automatic-error-handling)
116
- - [Writing Effective MCP Tool Descriptions](#writing-effective-mcp-tool-descriptions)
117
- - [Best Practices for Tool Descriptions](#best-practices-for-tool-descriptions)
118
- - [Complete Example: Well-Documented Tool](#complete-example-well-documented-tool)
119
- - [Parameter Description Guidelines](#parameter-description-guidelines)
120
- - [Common Pitfalls to Avoid](#common-pitfalls-to-avoid)
121
- - [Automatic MCP Server Mode (`--s-mcp-serve`)](#automatic-mcp-server-mode---s-mcp-serve)
122
- - [MCP Transports](#mcp-transports)
123
- - [MCP Log Path Configuration](#mcp-log-path-configuration)
124
- - [MCP Resources - Real-Time Data Feeds](#mcp-resources---real-time-data-feeds) ⭐
125
- - [Automatic Console Safety](#automatic-console-safety)
126
- - [Generating DXT Packages (`--s-build-dxt`)](#generating-dxt-packages---s-build-dxt)
127
- - [Logo Configuration](#logo-configuration)
128
- - [Supported Logo Sources](#supported-logo-sources)
129
- - [How DXT Generation Works](#how-dxt-generation-works)
130
- - [DXT Bundling Strategies](#dxt-bundling-strategies)
131
- - [Standard Approach (Recommended for Most Projects)](#standard-approach-recommended-for-most-projects)
132
- - [Native Dependencies Approach](#native-dependencies-approach)
133
- - [Typical Errors](#typical-errors)
134
- - [System Flags & Configuration](#system-flags--configuration)
135
- - [Changelog](#changelog)
136
- - [v2.3.0](#v230)
137
- - [v2.2.1](#v221)
138
- - [v2.2.0](#v220)
139
- - [v2.1.1](#v211)
140
- - [v2.1.0](#v210)
141
- - [v2.0.0](#v200)
142
- - [v1.3.0](#v130)
143
- - [v1.2.0](#v120)
144
- - [v1.1.0](#v110)
145
- - [Backlog](#backlog)
146
- - [(known) Bugs / DX improvement points](#known-bugs--dx-improvement-points)
147
-
148
91
  ## Features Overview
149
92
 
150
93
  - **Unified Tool Architecture**: Define tools once with `addTool()` and they automatically function as both CLI subcommands and MCP tools.
@@ -447,7 +390,7 @@ const cli = ArgParser.withMcp({
447
390
  // parse() is async and works with both sync and async handlers
448
391
  async function main() {
449
392
  try {
450
- // Option 1: Auto-detection (NEW) - convenient for simple scripts
393
+ // Option 1: Auto-detection - convenient for simple scripts
451
394
  const result = await cli.parse();
452
395
 
453
396
  // Option 2: Explicit arguments - full control
@@ -604,7 +547,14 @@ Flags are defined using the `IFlag` interface within the `flags` array of a tool
604
547
  interface IFlag {
605
548
  name: string; // Internal name (e.g., 'verbose')
606
549
  options: string[]; // Command-line options (e.g., ['--verbose', '-v'])
607
- type: "string" | "number" | "boolean" | "array" | "object" | Function;
550
+ type:
551
+ | "string"
552
+ | "number"
553
+ | "boolean"
554
+ | "array"
555
+ | "object"
556
+ | Function
557
+ | ZodSchema;
608
558
  description?: string; // Help text
609
559
  mandatory?: boolean | ((args: any) => boolean); // Whether the flag is required
610
560
  defaultValue?: any; // Default value if not provided
@@ -613,9 +563,153 @@ interface IFlag {
613
563
  validate?: (value: any, parsedArgs?: any) => boolean | string | void; // Custom validation function
614
564
  allowMultiple?: boolean; // Allow the flag to be provided multiple times
615
565
  env?: string; // Links the flag to an environment variable for DXT packages, will automatically generate user_config entries in the DXT manifest and fill the flag value to the ENV value if found (process.env)
566
+ dxtOptions?: DxtOptions; // Customizes how this flag appears in DXT package user_config
567
+ }
568
+
569
+ interface DxtOptions {
570
+ type?: "string" | "directory" | "file" | "boolean" | "number"; // UI input type in Claude Desktop
571
+ title?: string; // Display name in Claude Desktop (defaults to formatted flag name)
572
+ sensitive?: boolean; // Whether to hide the value in UI (defaults to true for security)
573
+ default?: any; // Default value for the user_config entry
574
+ min?: number; // Minimum value (for number types)
575
+ max?: number; // Maximum value (for number types)
576
+ }
577
+ ```
578
+
579
+ ### DXT Package User Configuration & Path Handling
580
+
581
+ ArgParser v2.5.0 introduces comprehensive DXT (Desktop Extension Toolkit) support with rich user interfaces, automatic path resolution, and context-aware development tools.
582
+
583
+ #### Enhanced dxtOptions
584
+
585
+ When generating DXT packages with `--s-build-dxt`, you can create rich user configuration interfaces using `dxtOptions`:
586
+
587
+ ```typescript
588
+ import { ArgParser, DxtPathResolver } from "@alcyone-labs/arg-parser";
589
+
590
+ const parser = new ArgParser()
591
+ .withMcp({
592
+ name: "file-processor",
593
+ version: "1.0.0",
594
+ logPath: "${HOME}/logs/file-processor.log", // DXT variables supported!
595
+ })
596
+ .addFlag({
597
+ name: "input-file",
598
+ description: "File to process",
599
+ type: "string",
600
+ mandatory: true,
601
+ dxtOptions: {
602
+ type: "file",
603
+ title: "Select Input File",
604
+ },
605
+ })
606
+ .addFlag({
607
+ name: "output-dir",
608
+ description: "Output directory for processed files",
609
+ type: "string",
610
+ dxtOptions: {
611
+ type: "directory",
612
+ localDefault: "${DOCUMENTS}/processed-files", // Smart defaults with DXT variables
613
+ title: "Output Directory",
614
+ },
615
+ })
616
+ .addFlag({
617
+ name: "api-key",
618
+ description: "API authentication key",
619
+ type: "string",
620
+ env: "API_KEY",
621
+ dxtOptions: {
622
+ type: "string",
623
+ sensitive: true, // Excluded from DXT manifest for security
624
+ title: "API Key",
625
+ },
626
+ })
627
+ .addFlag({
628
+ name: "quality",
629
+ description: "Processing quality (1-100)",
630
+ type: "number",
631
+ dxtOptions: {
632
+ type: "number",
633
+ min: 1,
634
+ max: 100,
635
+ localDefault: 85,
636
+ title: "Quality (%)",
637
+ },
638
+ })
639
+ .addFlag({
640
+ name: "parallel",
641
+ description: "Enable parallel processing",
642
+ type: "boolean",
643
+ dxtOptions: {
644
+ type: "boolean",
645
+ localDefault: true,
646
+ title: "Parallel Processing",
647
+ },
648
+ });
649
+ ```
650
+
651
+ #### DXT Variables & Path Resolution
652
+
653
+ ArgParser automatically resolves paths based on your runtime environment:
654
+
655
+ ```typescript
656
+ // DXT variables work everywhere - in flags, MCP config, and code
657
+ const logPath = "${HOME}/logs/app.log";
658
+ const configPath = "${DOCUMENTS}/myapp/config.json";
659
+ const resourcePath = "${__dirname}/templates/default.hbs";
660
+
661
+ // Helper functions for common patterns
662
+ const userDataPath = DxtPathResolver.createUserDataPath("cache.db");
663
+ const tempPath = DxtPathResolver.createTempPath("processing.tmp");
664
+ const configPath = DxtPathResolver.createConfigPath("settings.json");
665
+
666
+ // Context detection
667
+ const context = DxtPathResolver.detectContext();
668
+ if (context.isDxt) {
669
+ console.log("Running in DXT environment");
670
+ } else {
671
+ console.log("Running in development");
616
672
  }
617
673
  ```
618
674
 
675
+ **Supported DXT Variables:**
676
+
677
+ - `${HOME}` - User's home directory
678
+ - `${DOCUMENTS}` - Documents folder
679
+ - `${DOWNLOADS}` - Downloads folder
680
+ - `${DESKTOP}` - Desktop folder
681
+ - `${__dirname}` - Entry point directory (DXT package root in DXT)
682
+ - `${pathSeparator}` - Platform-specific path separator
683
+ - `${DXT_DIR}` - DXT package directory (DXT only)
684
+ - `${EXTENSION_DIR}` - Extension root directory (DXT only)
685
+
686
+ #### dxtOptions Properties
687
+
688
+ | Property | Type | Description |
689
+ | -------------- | ------------------------------------------------------------ | ------------------------------------------------ |
690
+ | `type` | `'string' \| 'file' \| 'directory' \| 'boolean' \| 'number'` | UI component type |
691
+ | `sensitive` | `boolean` | Mark as sensitive (excluded from manifest) |
692
+ | `localDefault` | `string \| number \| boolean` | Default for development (supports DXT variables) |
693
+ | `multiple` | `boolean` | Allow multiple values |
694
+ | `min` / `max` | `number` | Validation constraints |
695
+ | `title` | `string` | Custom display name |
696
+
697
+ #### Security & Best Practices
698
+
699
+ - **Sensitive Data**: Use `sensitive: true` for passwords, API keys, tokens
700
+ - **Smart Defaults**: Use DXT variables in `localDefault` for portable paths
701
+ - **Type Safety**: Match `dxtOptions.type` with flag `type` for validation
702
+ - **Cross-Platform**: Use `${pathSeparator}` for platform-independent paths
703
+
704
+ #### Comprehensive Documentation
705
+
706
+ For detailed guides and examples:
707
+
708
+ - **[DXT Path Handling Guide](./docs/DXT_PATH_HANDLING.md)** - Complete path resolution guide
709
+ - **[dxtOptions API Documentation](./docs/DXT_OPTIONS_API.md)** - Full API reference with examples
710
+ - **[DXT Migration Guide](./docs/DXT_MIGRATION.md)** - Migrate existing applications
711
+ - **[DXT Practical Examples](./docs/DXT_EXAMPLES.md)** - Real-world usage patterns
712
+
619
713
  ### Type Handling and Validation
620
714
 
621
715
  ArgParser provides **strong typing** for flag definitions with comprehensive validation at both compile-time and runtime. The `type` property accepts multiple formats and ensures type safety throughout your application.
@@ -756,6 +850,79 @@ const result = await parser.parse(process.argv.slice(2));
756
850
  // Async custom parser functions
757
851
  --config "./settings.json" → parsed JSON from file (async)
758
852
  --user-id "123" → user data from API (async)
853
+
854
+ // Zod schema validation (structured JSON)
855
+ --config '{"host":"localhost","port":5432}' → validated object
856
+ --deployment '{"env":"prod","region":"us-east-1"}' → validated object
857
+ ```
858
+
859
+ #### Zod Schema Flags (Structured JSON Validation)
860
+
861
+ **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:
862
+
863
+ ```typescript
864
+ import { z } from "zod";
865
+
866
+ const DatabaseConfigSchema = z.object({
867
+ host: z.string().describe("Database host address"),
868
+ port: z.number().min(1).max(65535).describe("Database port number"),
869
+ credentials: z.object({
870
+ username: z.string().describe("Database username"),
871
+ password: z.string().describe("Database password"),
872
+ }),
873
+ ssl: z.boolean().optional().describe("Enable SSL connection"),
874
+ });
875
+
876
+ const cli = ArgParser.withMcp({
877
+ appName: "Database CLI",
878
+ appCommandName: "db-cli",
879
+ }).addTool({
880
+ name: "connect",
881
+ description: "Connect to database with structured configuration",
882
+ flags: [
883
+ {
884
+ name: "config",
885
+ options: ["--config", "-c"],
886
+ type: DatabaseConfigSchema, // 🎉 Zod schema as type!
887
+ description: "Database configuration as JSON object",
888
+ mandatory: true,
889
+ },
890
+ ],
891
+ handler: async (ctx) => {
892
+ // ctx.args.config is fully typed and validated!
893
+ const { host, port, credentials, ssl } = ctx.args.config;
894
+ console.log(`Connecting to ${host}:${port} as ${credentials.username}`);
895
+ return { success: true };
896
+ },
897
+ });
898
+
899
+ // CLI usage with JSON validation:
900
+ // db-cli connect --config '{"host":"localhost","port":5432,"credentials":{"username":"admin","password":"secret"},"ssl":true}'
901
+
902
+ // MCP usage: Generates proper JSON Schema for MCP clients
903
+ // db-cli --s-mcp-serve
904
+ ```
905
+
906
+ **Example with Complex Nested Schema:**
907
+
908
+ ```typescript
909
+ const DeploymentSchema = z.object({
910
+ environment: z.enum(["dev", "staging", "prod"]),
911
+ region: z.string(),
912
+ scaling: z.object({
913
+ minInstances: z.number().min(1),
914
+ maxInstances: z.number().min(1),
915
+ targetCpu: z.number().min(10).max(100),
916
+ }),
917
+ monitoring: z.object({
918
+ enabled: z.boolean(),
919
+ alertEmail: z.string().email().optional(),
920
+ metrics: z.array(z.string()),
921
+ }),
922
+ });
923
+
924
+ // This generates comprehensive JSON Schema for MCP clients
925
+ // while providing full validation and type safety for CLI usage
759
926
  ```
760
927
 
761
928
  ### Hierarchical CLIs (Sub-Commands)
@@ -1329,9 +1496,9 @@ const cli = ArgParser.withMcp({
1329
1496
  ctx.logger.mcpError(`Shutting down: ${ctx.reason}`);
1330
1497
  await cleanupResources();
1331
1498
  await closeDatabase();
1332
- }
1333
- }
1334
- }
1499
+ },
1500
+ },
1501
+ },
1335
1502
  });
1336
1503
  ```
1337
1504
 
@@ -1344,6 +1511,7 @@ const cli = ArgParser.withMcp({
1344
1511
  **Context Properties:**
1345
1512
 
1346
1513
  Each lifecycle event receives a context object with:
1514
+
1347
1515
  - `getFlag(name)`: Access parsed CLI flags and environment variables
1348
1516
  - `logger`: MCP-compliant logger instance for the current context
1349
1517
  - `serverInfo`: Server information (name, version, description)
@@ -1746,6 +1914,54 @@ ArgParser includes built-in `--s-*` flags for development, debugging, and config
1746
1914
 
1747
1915
  ## Changelog
1748
1916
 
1917
+ ### v2.6.0
1918
+
1919
+ **Feat**
1920
+
1921
+ **DXT**:
1922
+
1923
+ - Improve how paths and dynamic variables are handled when bundling into a DXT, to improve compatibility and reduce paths that will fail in a sandbox when the CLI / MCP expects path available on the system. Dynamic path resolution with `${VARIABLE}` syntax supporting `${HOME}`, `${DOCUMENTS}`, `${__dirname}`, `${DXT_DIR}`, and more. Context-aware path resolution with `DxtPathResolver.createUserDataPath()`, `createTempPath()`, `createConfigPath()`.
1924
+ - Add new IFlag.dxtOption set of options for each flag to allow finer control on how the flags are perceived on the DXT manifest / Claude Desktop.
1925
+
1926
+ Read more her: [DXT Package User Configuration & Path Handling](#dxt-package-user-configuration--path-handling)
1927
+
1928
+ **Fixes and Changes**
1929
+
1930
+ **DXT**:
1931
+
1932
+ - Improve handling of sensitive env variable, they were previously always showing as sensitive.
1933
+
1934
+ **Known Limitations**
1935
+
1936
+ **DXT**:
1937
+
1938
+ The DXT bundling / packing / unpacking / launching process is notoriously early and brittle. There are many reasons something is not working, but **MOST** importantly it will not work if:
1939
+
1940
+ 1. You are bundling a package in a mono-repo (you will need to temporarily create a pnpm-workspace.yaml file for example to break the hierarchy)
1941
+ 2. You do _not_ hard-install your node_modules as detailed in the documentation (it will only work if the node_modules are hard installed)
1942
+ 3. In some cases if your CLI entrypoint does not run a main loop (see documentation for working examples)
1943
+ 4. If you use PATH-dependent variables (for example relying on ~/.config/path/to/some.json). This has been addressed in v2.6.0, but you have to make sure you use the correct patterns (see documentation)
1944
+
1945
+ ### v2.5.0
1946
+
1947
+ **Feat**
1948
+
1949
+ - **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.
1950
+ - **Improved MCP Tool Documentation**: Zod schema descriptions automatically become MCP tool parameter documentation
1951
+
1952
+ ### v2.4.2
1953
+
1954
+ **Fixes and Changes**
1955
+
1956
+ - add missing MCP lifecycle event documentation
1957
+ - fix the behavior of the withMcp() options.mcp.log that was not working as expected
1958
+
1959
+ ### v2.4.1
1960
+
1961
+ **Fixes and Changes**
1962
+
1963
+ - switch to NPM version of @alcyone-labs/modelcontextprotocol-sdk to freeze the dependency and avoid side-effects
1964
+
1749
1965
  ### v2.4.0
1750
1966
 
1751
1967
  **Feat**
@@ -1754,7 +1970,7 @@ ArgParser includes built-in `--s-*` flags for development, debugging, and config
1754
1970
  - MCP client now sanitizes the method names to ensure spec-compliants MCP behavior, names that collision will be logged
1755
1971
  - There were some use-cases where the DXT bundling failed, this new release addresses all of them, namely:
1756
1972
  1. Output structure will match that of the input so relative files (for example DB migrations) will work
1757
- 2.
1973
+ 2. Deeper folder structure was previously not working
1758
1974
  - DXT bundling now supports including resources via options: `{dxt: {include: ['TSDown blob-like paths']}`
1759
1975
  - Logger was improved to support log level via `options:{ log: {} }` so you can set it to level: 'debug' and the MCP log will contain 100% of the console output, logPath setting was not impacted
1760
1976
 
@@ -1848,8 +2064,8 @@ Make sure to clearly identify if you need to include the node_modules or not. In
1848
2064
  - [x] Upgrade to Zod/V4 (V4 does not support functions well, this will take more time, not a priority)
1849
2065
  - [ ] Add System flags to args.systemArgs
1850
2066
  - [ ] Improve flag options collision prevention
1851
- - [ ] Add support for locales / translations
1852
2067
  - [ ] (potentially) add support for fully typed parsed output, this has proven very challenging
2068
+ - [ ] Add support for locales / translations
1853
2069
 
1854
2070
  ### (known) Bugs / DX improvement points
1855
2071
 
@@ -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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"}
@@ -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;IAyC5C,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,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIhD,IAAI,KAAK,IAAI,aAAa,EAAE,CAE3B;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,CAExB;CACF"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Context information for path resolution
3
+ */
4
+ export interface IPathContext {
5
+ /** Whether the code is running in a DXT environment */
6
+ isDxt: boolean;
7
+ /** DXT extension directory (when running in DXT) */
8
+ extensionDir?: string;
9
+ /** User's home directory */
10
+ userHome?: string;
11
+ /** Current working directory */
12
+ cwd?: string;
13
+ /** Entry point directory */
14
+ entryDir?: string;
15
+ }
16
+ /**
17
+ * Configuration for DXT variable substitution
18
+ */
19
+ export interface IDxtVariableConfig {
20
+ /** Custom variable values to override defaults */
21
+ customVariables?: Record<string, string>;
22
+ /** Whether to allow undefined variables (default: false) */
23
+ allowUndefined?: boolean;
24
+ }
25
+ /**
26
+ * DXT-aware path resolver with context detection and variable substitution
27
+ */
28
+ export declare class DxtPathResolver {
29
+ private static _cachedContext;
30
+ /**
31
+ * Detects the current execution context
32
+ * @param forceRefresh - Force refresh of cached context
33
+ * @returns Path context information
34
+ */
35
+ static detectContext(forceRefresh?: boolean): IPathContext;
36
+ /**
37
+ * Checks if the current environment is a DXT environment
38
+ * @returns True if running in DXT, false otherwise
39
+ */
40
+ static isDxtEnvironment(): boolean;
41
+ /**
42
+ * Detects the DXT extension directory
43
+ * @returns DXT extension directory path or undefined
44
+ */
45
+ private static detectDxtExtensionDir;
46
+ /**
47
+ * Resolves a path with DXT variable substitution
48
+ * @param inputPath - Path that may contain DXT variables
49
+ * @param context - Optional context (will be detected if not provided)
50
+ * @param config - Optional configuration for variable substitution
51
+ * @returns Resolved absolute path
52
+ */
53
+ static resolvePath(inputPath: string, context?: IPathContext, config?: IDxtVariableConfig): string;
54
+ /**
55
+ * Substitutes DXT variables in a path string
56
+ * @param inputPath - Path containing variables like ${HOME}, ${__dirname}, etc.
57
+ * @param context - Path context
58
+ * @param config - Variable substitution configuration
59
+ * @returns Path with variables substituted
60
+ */
61
+ static substituteVariables(inputPath: string, context: IPathContext, config?: IDxtVariableConfig): string;
62
+ /**
63
+ * Creates a path for user data storage
64
+ * @param filename - Name of the file or subdirectory
65
+ * @param context - Optional context (will be detected if not provided)
66
+ * @returns Absolute path for user data
67
+ */
68
+ static createUserDataPath(filename: string, context?: IPathContext): string;
69
+ /**
70
+ * Creates a path for temporary files
71
+ * @param filename - Name of the temporary file
72
+ * @param context - Optional context (will be detected if not provided)
73
+ * @returns Absolute path for temporary file
74
+ */
75
+ static createTempPath(filename: string, context?: IPathContext): string;
76
+ /**
77
+ * Creates a path for configuration files
78
+ * @param filename - Name of the configuration file
79
+ * @param context - Optional context (will be detected if not provided)
80
+ * @returns Absolute path for configuration file
81
+ */
82
+ static createConfigPath(filename: string, context?: IPathContext): string;
83
+ /**
84
+ * Gets the application name for directory creation
85
+ * @param context - Path context
86
+ * @returns Application name or default
87
+ */
88
+ private static getAppName;
89
+ /**
90
+ * Ensures a directory exists, creating it if necessary
91
+ * @param dirPath - Directory path to ensure
92
+ * @returns True if directory exists or was created successfully
93
+ */
94
+ static ensureDirectory(dirPath: string): boolean;
95
+ /**
96
+ * Clears the cached context (useful for testing)
97
+ */
98
+ static clearCache(): void;
99
+ }
100
+ //# sourceMappingURL=dxt-path-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dxt-path-resolver.d.ts","sourceRoot":"","sources":["../../src/core/dxt-path-resolver.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,KAAK,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,cAAc,CAA6B;IAE1D;;;;OAIG;WACW,aAAa,CAAC,YAAY,UAAQ,GAAG,YAAY;IA0B/D;;;OAGG;WACW,gBAAgB,IAAI,OAAO;IAwCzC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA6BpC;;;;;;OAMG;WACW,WAAW,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,YAAY,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,MAAM;IAmBT;;;;;;OAMG;WACW,mBAAmB,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,MAAM;IAuDT;;;;;OAKG;WACW,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;IAgBlF;;;;;OAKG;WACW,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;IAc9E;;;;;OAKG;WACW,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM;IAgBhF;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAezB;;;;OAIG;WACW,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAYvD;;OAEG;WACW,UAAU,IAAI,IAAI;CAGjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"log-path-utils.d.ts","sourceRoot":"","sources":["../../src/core/log-path-utils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CA0BhD;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAMzE;AAYD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CAkER;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAKzD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAKvD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}
1
+ {"version":3,"file":"log-path-utils.d.ts","sourceRoot":"","sources":["../../src/core/log-path-utils.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CA0BhD;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAMzE;AAYD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CAiFR;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAKzD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAKvD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}