@alcyone-labs/arg-parser 2.10.3 → 2.11.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.
Files changed (51) hide show
  1. package/README.md +175 -85
  2. package/dist/config/ConfigurationManager.d.ts +8 -0
  3. package/dist/config/ConfigurationManager.d.ts.map +1 -1
  4. package/dist/core/ArgParser.d.ts +3 -2
  5. package/dist/core/ArgParser.d.ts.map +1 -1
  6. package/dist/core/ArgParserBase.d.ts +12 -2
  7. package/dist/core/ArgParserBase.d.ts.map +1 -1
  8. package/dist/core/types.d.ts +102 -5
  9. package/dist/core/types.d.ts.map +1 -1
  10. package/dist/index.cjs +551 -943
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.min.mjs +5540 -5771
  15. package/dist/index.min.mjs.map +1 -1
  16. package/dist/index.mjs +551 -943
  17. package/dist/index.mjs.map +1 -1
  18. package/dist/mcp/mcp-integration.d.ts.map +1 -1
  19. package/dist/mcp/mcp-notifications.d.ts +0 -6
  20. package/dist/mcp/mcp-notifications.d.ts.map +1 -1
  21. package/dist/mcp/mcp-prompts.d.ts.map +1 -1
  22. package/dist/mcp/mcp-resources.d.ts.map +1 -1
  23. package/dist/mcp/zod-compatibility.d.ts.map +1 -1
  24. package/dist/testing/fuzzy-tester.d.ts +2 -2
  25. package/dist/testing/fuzzy-tester.d.ts.map +1 -1
  26. package/dist/tui/types.d.ts +60 -0
  27. package/dist/tui/types.d.ts.map +1 -0
  28. package/dist/utils/debug-utils.d.ts.map +1 -1
  29. package/package.json +13 -9
  30. package/dist/ui/App.d.ts +0 -18
  31. package/dist/ui/App.d.ts.map +0 -1
  32. package/dist/ui/Component.d.ts +0 -21
  33. package/dist/ui/Component.d.ts.map +0 -1
  34. package/dist/ui/Layout.d.ts +0 -19
  35. package/dist/ui/Layout.d.ts.map +0 -1
  36. package/dist/ui/Terminal.d.ts +0 -19
  37. package/dist/ui/Terminal.d.ts.map +0 -1
  38. package/dist/ui/Theme.d.ts +0 -20
  39. package/dist/ui/Theme.d.ts.map +0 -1
  40. package/dist/ui/components/Input.d.ts +0 -21
  41. package/dist/ui/components/Input.d.ts.map +0 -1
  42. package/dist/ui/components/List.d.ts +0 -23
  43. package/dist/ui/components/List.d.ts.map +0 -1
  44. package/dist/ui/components/ScrollArea.d.ts +0 -19
  45. package/dist/ui/components/ScrollArea.d.ts.map +0 -1
  46. package/dist/ui/components/StackNavigator.d.ts +0 -16
  47. package/dist/ui/components/StackNavigator.d.ts.map +0 -1
  48. package/dist/ui/index.d.ts +0 -10
  49. package/dist/ui/index.d.ts.map +0 -1
  50. package/dist/ui/utils/ansi-utils.d.ts +0 -17
  51. package/dist/ui/utils/ansi-utils.d.ts.map +0 -1
package/README.md CHANGED
@@ -7,7 +7,8 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
7
7
  - [Features Overview](#features-overview)
8
8
  - [Installation](#installation)
9
9
  - [Quick Start: The Unified `addTool` API](#quick-start-the-unified-addtool-api)
10
- - [MCP Tool Name Constraints](#mcp-tool-name-constraints)
10
+ - [Working Directory Management for Monorepos](#working-directory-management)
11
+ - [MCP Tool Name Constraints](#mcp-tool-name-constraints)
11
12
  - [How to Run It](#how-to-run-it)
12
13
  - [Setting Up System-Wide CLI Access](#setting-up-system-wide-cli-access)
13
14
  - [OpenTUI: Reactive Rich Terminal Interfaces](#opentui-reactive-rich-terminal-interfaces)
@@ -78,6 +79,8 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
78
79
  - [Typical Errors](#typical-errors)
79
80
  - [System Flags & Configuration](#system-flags--configuration)
80
81
  - [Changelog](#changelog)
82
+ - [v2.11.0](#v2110)
83
+ - [v2.10.3](#v2103)
81
84
  - [v2.10.2](#v2102)
82
85
  - [v2.10.1](#v2101)
83
86
  - [v2.10.0](#v2100)
@@ -120,101 +123,104 @@ A modern, type-safe command line argument parser with built-in MCP (Model Contex
120
123
 
121
124
  ## OpenTUI: Reactive Rich Terminal Interfaces
122
125
 
123
- ArgParser includes **OpenTUI**, a standardized framework for building deep, multi-layered terminal applications with minimal boilerplate. It features a stack-based navigation system (`StackNavigator`), mouse wheel support, and a reactive theming engine.
126
+ ArgParser includes **OpenTUI v2**, a reactive TUI framework built on SolidJS for building rich terminal applications with minimal boilerplate.
124
127
 
125
- ### Core TUI Features
128
+ > 📖 **Full Documentation**: [docs/TUI.md](./docs/TUI.md)
126
129
 
127
130
  - **Standardized Navigation**: `Enter` / `Right` to dive into details, `Esc` / `Left` to go back.
128
131
  - **Reactive Theming**: Cycle through built-in themes (`Default`, `Ocean`, `Monokai`) or create your own.
129
132
  - **Mouse & Scroll Performance**: Built-in SGR mouse reporting support with smooth scrolling and high-performance rendering.
130
133
  - **New Components**: `Label` (Text), `Button` (Interactive), `Card` (Container), `Toast` (Notification).
131
134
  - **Component Based**: Reusable `List`, `ScrollArea`, `Input`, and `SplitLayout` components.
135
+ - **TuiProvider**: Unified provider handling mouse, resize, cleanup, themes, and shortcuts
136
+ - **Virtual Scrolling**: Efficient list rendering with `VirtualList`
137
+ - **Theme System**: 6 built-in themes + `Theme.from().extend()` for custom themes
138
+ - **Slot-based Layouts**: `MasterDetail` with customizable panels
139
+ - **Keyboard + Mouse**: Built-in navigation with useKeyboard and mouse wheel
140
+
141
+ ### Quick Start
142
+
143
+ ```tsx
144
+ import { createSignal } from "solid-js";
145
+ import {
146
+ cleanupTerminal,
147
+ createVirtualListController,
148
+ MasterDetail,
149
+ TuiProvider,
150
+ useTheme,
151
+ useTui,
152
+ VirtualList,
153
+ } from "@alcyone-labs/arg-parser/tui";
154
+ import { render, useKeyboard } from "@opentui/solid";
155
+
156
+ const DATA = [{ id: "1", name: "Item 1" } /* ... */];
157
+
158
+ function App() {
159
+ const { viewportHeight, exit } = useTui();
160
+ const { current: theme, cycle } = useTheme();
161
+ const [idx, setIdx] = createSignal(0);
162
+
163
+ const list = createVirtualListController(
164
+ () => DATA,
165
+ idx,
166
+ setIdx,
167
+ viewportHeight,
168
+ );
132
169
 
133
- ### Component Reference
134
-
135
- #### `App`
170
+ useKeyboard((key) => {
171
+ if (key.name === "q") exit(0);
172
+ if (key.name === "t") cycle();
173
+ if (key.name === "down") list.selectNext();
174
+ if (key.name === "up") list.selectPrevious();
175
+ });
136
176
 
137
- The main entry point for TUI applications. It handles TTY raw mode, mouse reporting, and ensures clean terminal restoration on exit or crash.
177
+ return (
178
+ <MasterDetail
179
+ header="My App"
180
+ breadcrumb={["Items", DATA[idx()]!.name]}
181
+ footer={`↑↓: Navigate | t: Theme (${theme().name}) | q: Quit`}
182
+ master={
183
+ <VirtualList
184
+ items={DATA}
185
+ selectedIndex={idx()}
186
+ viewportHeight={viewportHeight()}
187
+ getLabel={(item) => item.name}
188
+ />
189
+ }
190
+ detail={<text>Selected: {DATA[idx()]!.name}</text>}
191
+ />
192
+ );
193
+ }
138
194
 
139
- ```typescript
140
- const app = new UI.App();
141
- app.run(rootComponent);
142
- // Exit manually
143
- app.stop();
195
+ render(
196
+ () => (
197
+ <TuiProvider theme="dark">
198
+ <App />
199
+ </TuiProvider>
200
+ ),
201
+ { onDestroy: cleanupTerminal },
202
+ );
144
203
  ```
145
204
 
146
- #### `ScrollArea`
205
+ ### Theme Builder
147
206
 
148
- A container for long text blocks with automatic scrollbars and mouse-wheel support.
149
-
150
- - `content`: The text to display (supports ANSI colors).
151
- - `wrapText`: (New in v2.10.2) If true, automatically wraps long lines to fit the area width.
207
+ ```ts
208
+ import { Theme, THEMES } from "@alcyone-labs/arg-parser/tui";
152
209
 
153
- ```typescript
154
- const details = new UI.ScrollArea({
155
- content: "Long text...",
156
- wrapText: true,
210
+ // Built-in: dark, light, monokai, dracula, nord, solarized
211
+ const custom = Theme.from(THEMES.dark).extend({
212
+ name: "my-theme",
213
+ colors: { background: "#1e1e1e", accent: "#ff6b6b" },
157
214
  });
158
215
  ```
159
216
 
160
- #### `StackNavigator`
161
-
162
- Manages a stack of components, perfect for "Drill-down" interfaces.
163
-
164
- - Handles `Esc` and `Left Arrow` automatically to return to the previous view.
165
- - Resizes restore components to the correct dimensions.
166
-
167
- ```typescript
168
- const nav = new UI.StackNavigator({ initialComponent: homeList });
169
- nav.push(detailsView); // Drill down
170
- ```
171
-
172
- #### `ThemeManager`
173
-
174
- Allows real-time theme switching without affecting application logic.
217
+ ### Run Examples
175
218
 
176
- ```typescript
177
- UI.ThemeManager.setTheme("Ocean");
178
- const t = UI.ThemeManager.current;
179
- console.log(t.accent("Statically colored text"));
180
- ```
181
-
182
- ### Quick TUI Example
183
-
184
- ```typescript
185
- import { UI } from "@alcyone-labs/arg-parser";
186
-
187
- const app = new UI.App();
188
-
189
- // Create components
190
- const list = new UI.List({
191
- items: [
192
- { label: "Help", value: "help" },
193
- { label: "Exit", value: "exit" },
194
- ],
195
- onSubmit: (item) => {
196
- if (item.value === "exit") app.stop();
197
- },
198
- });
199
-
200
- const details = new UI.ScrollArea({
201
- content: "Select an item to see more...",
202
- wrapText: true,
203
- });
204
-
205
- // Build layout
206
- const layout = new UI.SplitLayout({
207
- direction: "horizontal",
208
- first: list,
209
- second: details,
210
- splitRatio: 0.3,
211
- });
212
-
213
- app.run(layout);
219
+ ```bash
220
+ bun examples/framework-demo.tsx # Simplified demo
221
+ bun examples/aquaria-trace-viewer.tsx # Full-featured demo
214
222
  ```
215
223
 
216
- For a comprehensive implementation, check out `examples/complex-tui-demo.ts`.
217
-
218
224
  ## Installation
219
225
 
220
226
  ```bash
@@ -1112,7 +1118,7 @@ ArgParser supports flag inheritance for CLI hierarchies. By default, sub-command
1112
1118
 
1113
1119
  #### Basic Inheritance (Snapshot)
1114
1120
 
1115
- Set `inheritParentFlags: true` (or `FlagInheritance.DirectParentOnly`) to inherit flags from the *direct parent* at the moment the sub-command is attached.
1121
+ Set `inheritParentFlags: true` (or `FlagInheritance.DirectParentOnly`) to inherit flags from the _direct parent_ at the moment the sub-command is attached.
1116
1122
 
1117
1123
  > **Note**: This is a snapshot of the parent's flags at the time `.addSubCommand()` is called. If the parent acquires new flags later (e.g., by inheriting from a grandparent), the child will NOT see them unless `FlagInheritance.AllParents` is used.
1118
1124
 
@@ -1123,12 +1129,15 @@ const childParser = new ArgParser({ inheritParentFlags: true });
1123
1129
 
1124
1130
  #### Full Chain Inheritance
1125
1131
 
1126
- For complex hierarchies (e.g. `root -> mid -> leaf`), especially when constructing parsers bottom-up, use `FlagInheritance.AllParents`. This ensures that flags propagate down the entire chain, even if the intermediate parent inherits them *after* the leaf was attached.
1132
+ For complex hierarchies (e.g. `root -> mid -> leaf`), especially when constructing parsers bottom-up, use `FlagInheritance.AllParents`. This ensures that flags propagate down the entire chain, even if the intermediate parent inherits them _after_ the leaf was attached.
1127
1133
 
1128
1134
  ```typescript
1129
1135
  import { ArgParser, FlagInheritance } from "@alcyone-labs/arg-parser";
1130
1136
 
1131
- const root = new ArgParser().addFlag({ name: "root-flag", options: ["--root"] });
1137
+ const root = new ArgParser().addFlag({
1138
+ name: "root-flag",
1139
+ options: ["--root"],
1140
+ });
1132
1141
  const mid = new ArgParser({ inheritParentFlags: FlagInheritance.AllParents });
1133
1142
  const leaf = new ArgParser({ inheritParentFlags: FlagInheritance.AllParents });
1134
1143
 
@@ -1141,11 +1150,11 @@ root.addSubCommand({ name: "mid", parser: mid });
1141
1150
 
1142
1151
  #### Inheritance Options Reference
1143
1152
 
1144
- | Value | Legacy Boolean | Behavior |
1145
- |-------|----------------|----------|
1146
- | `FlagInheritance.NONE` | `false` | No flags are inherited (Default) |
1147
- | `FlagInheritance.DirectParentOnly` | `true` | Inherits from direct parent only (Snapshot) |
1148
- | `FlagInheritance.AllParents` | N/A | Inherits from entire ancestor chain (Recursive Propagation) |
1153
+ | Value | Legacy Boolean | Behavior |
1154
+ | ---------------------------------- | -------------- | ----------------------------------------------------------- |
1155
+ | `FlagInheritance.NONE` | `false` | No flags are inherited (Default) |
1156
+ | `FlagInheritance.DirectParentOnly` | `true` | Inherits from direct parent only (Snapshot) |
1157
+ | `FlagInheritance.AllParents` | N/A | Inherits from entire ancestor chain (Recursive Propagation) |
1149
1158
 
1150
1159
  ### Dynamic Flags (`dynamicRegister`)
1151
1160
 
@@ -1250,7 +1259,7 @@ import { z } from "zod";
1250
1259
 
1251
1260
  // CLI usage (outputSchema ignored): mycli process-file --path /my/file.txt
1252
1261
  // MCP usage (outputSchema provides structure): mycli --s-mcp-serve
1253
- ````
1262
+ ```
1254
1263
 
1255
1264
  #### Predefined Schema Patterns
1256
1265
 
@@ -2292,6 +2301,87 @@ ArgParser includes built-in `--s-*` flags for development, debugging, and config
2292
2301
 
2293
2302
  ## Changelog
2294
2303
 
2304
+ ### v2.11.0
2305
+
2306
+ Working Directory Management & OpenTUI v2 Framework
2307
+
2308
+ #### Working Directory Management (chdir)
2309
+
2310
+ A major new capability for monorepo support and complex project structures:
2311
+
2312
+ - **`setWorkingDirectory` Flag Property**: Designate any flag's value as the effective working directory. When used, `.env` file loading and relative path operations automatically resolve from this directory.
2313
+ - **`rootPath` in Handler Context**: Access the original working directory (where the user ran the command) via `ctx.rootPath`. Perfect for displaying user-friendly paths or resolving user-provided files relative to their PWD.
2314
+ - **Smart `.env` Auto-Discovery**: When used with `--s-with-env`, automatically discovers `.env.local`, `.env.dev`, `.env.test`, or `.env` in the effective working directory (priority order).
2315
+ - **Protected Validation**: Warnings for invalid paths (nonexistent, not a directory) and multiple workspace flags.
2316
+
2317
+ ```typescript
2318
+ const parser = new ArgParser({
2319
+ appName: "Monorepo CLI",
2320
+ handler: async (ctx) => {
2321
+ console.log("Effective cwd:", process.cwd()); // Changed by --workspace
2322
+ console.log("User's cwd:", ctx.rootPath); // Original location
2323
+ },
2324
+ }).addFlag({
2325
+ name: "workspace",
2326
+ options: ["--workspace", "-w"],
2327
+ type: "string",
2328
+ setWorkingDirectory: true, // Makes this flag control the working directory
2329
+ });
2330
+ ```
2331
+
2332
+ See [Working Directory Documentation](./docs/WORKING_DIRECTORY.md) for complete examples.
2333
+
2334
+ #### OpenTUI v2 - Complete TUI Rewrite
2335
+
2336
+ The TUI framework has been completely rewritten using **SolidJS** and **SST's OpenTUI** for a reactive, component-based architecture:
2337
+
2338
+ - **Reactive Components**: `TuiProvider`, `VirtualList`, `MasterDetail`, `Breadcrumb` built on SolidJS signals.
2339
+ - **Unified Provider**: `TuiProvider` handles mouse wheel reporting, terminal resize, TTY cleanup, and theme/shortcut contexts automatically.
2340
+ - **Rich Theme System**: 6 built-in themes (`dark`, `light`, `monokai`, `dracula`, `nord`, `solarized`) with `Theme.from().extend()` for custom themes.
2341
+ - **VirtualList**: Efficient virtualized scrolling with `createVirtualListController` for navigation control.
2342
+ - **Slot-Based Layouts**: `MasterDetail` component with header, breadcrumb, footer, and customizable panel widths.
2343
+ - **Hooks**: `useTui()` for viewport/exit, `useTheme()` for theming, plus mouse and virtual scroll hooks.
2344
+ - **TTY Utilities**: Exported `cleanupTerminal`, `enableMouseReporting`, etc. for custom terminal control.
2345
+
2346
+ ```tsx
2347
+ import {
2348
+ MasterDetail,
2349
+ TuiProvider,
2350
+ useTui,
2351
+ VirtualList,
2352
+ } from "@alcyone-labs/arg-parser/tui";
2353
+ import { render } from "@opentui/solid";
2354
+
2355
+ function App() {
2356
+ const { viewportHeight, exit } = useTui();
2357
+ const [idx, setIdx] = createSignal(0);
2358
+
2359
+ return (
2360
+ <MasterDetail
2361
+ header="My App"
2362
+ master={
2363
+ <VirtualList items={DATA} selectedIndex={idx()} onSelect={setIdx} />
2364
+ }
2365
+ detail={<Details item={DATA[idx()]} />}
2366
+ />
2367
+ );
2368
+ }
2369
+
2370
+ render(() => (
2371
+ <TuiProvider theme="dark" onScroll={(d) => setIdx((i) => i + d)}>
2372
+ <App />
2373
+ </TuiProvider>
2374
+ ));
2375
+ ```
2376
+
2377
+ See [TUI Documentation](./docs/TUI.md) for complete API reference and examples.
2378
+
2379
+ #### Other Improvements
2380
+
2381
+ - **Data-Safe Logging**: Integrated `@alcyone-labs/simple-mcp-logger` for STDOUT-safe logging.
2382
+ - **Bun Configuration**: Added `bunfig.toml` with OpenTUI preload for native JSX support.
2383
+ - **New Examples**: `aquaria-trace-viewer.tsx`, `framework-demo.tsx`, `template-demo.tsx`, `tui-demo-v2.tsx`.
2384
+
2295
2385
  ### v2.10.3
2296
2386
 
2297
2387
  **Flag Inheritance Improvements**
@@ -30,6 +30,14 @@ export declare class ConfigurationManager {
30
30
  * Parses YAML file content (legacy method - now uses plugin system)
31
31
  */
32
32
  parseYamlFile(content: string): Record<string, any>;
33
+ /**
34
+ * Discovers .env files in a specified directory
35
+ * Searches in priority order: .env.local, .env.dev/.env.test, .env
36
+ *
37
+ * @param searchDir - The directory to search for .env files
38
+ * @returns Path to found .env file, or null if none is found
39
+ */
40
+ discoverEnvFile(searchDir: string): string | null;
33
41
  /**
34
42
  * Parses JSON file content
35
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationManager.d.ts","sourceRoot":"","sources":["../../src/config/ConfigurationManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGhE;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,iBAAiB,CAAM;gBAEnB,iBAAiB,EAAE,GAAG;IAOlC;;OAEG;IACI,0BAA0B,IAAI,MAAM;IAwB3C;;OAEG;IACI,mBAAmB,CACxB,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,EAAE,GAAG,EAAE,GACjB,OAAO;IA2BV;;OAEG;IACI,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,GAAG,EAAE,GACjB,IAAI;IAqEP;;OAEG;IACI,WAAW,CAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA+CtB;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA4BzD;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA8E1D;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU1D;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAqC1D;;OAEG;IACI,yBAAyB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,GAAG,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoCtB;;OAEG;IACI,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,GAAG,GAAG;IA4FnE;;OAEG;IACI,sBAAsB,CAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,EAAE;IA2BX;;OAEG;IACI,iBAAiB,CACtB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,MAAM;IA0BT;;OAEG;IACI,kBAAkB,CACvB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,MAAM;IAsCT;;OAEG;IACI,kBAAkB,CACvB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,MAAM;IAaT;;OAEG;IACI,kBAAkB,CACvB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,MAAM;IAsCT;;OAEG;IACH,OAAO,CAAC,aAAa;CAStB"}
1
+ {"version":3,"file":"ConfigurationManager.d.ts","sourceRoot":"","sources":["../../src/config/ConfigurationManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGhE;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,iBAAiB,CAAM;gBAEnB,iBAAiB,EAAE,GAAG;IAOlC;;OAEG;IACI,0BAA0B,IAAI,MAAM;IAwB3C;;OAEG;IACI,mBAAmB,CACxB,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,EAAE,GAAG,EAAE,GACjB,OAAO;IA2BV;;OAEG;IACI,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,GAAG,EAAE,GACjB,IAAI;IAqEP;;OAEG;IACI,WAAW,CAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA+CtB;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA4BzD;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA8E1D;;;;;;OAMG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAwBxD;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAU1D;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAqC1D;;OAEG;IACI,yBAAyB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,GAAG,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoCtB;;OAEG;IACI,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,GAAG,GAAG;IA4FnE;;OAEG;IACI,sBAAsB,CAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,EAAE;IA2BX;;OAEG;IACI,iBAAiB,CACtB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,MAAM;IA0BT;;OAEG;IACI,kBAAkB,CACvB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,MAAM;IAsCT;;OAEG;IACI,kBAAkB,CACvB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,MAAM;IAaT;;OAEG;IACI,kBAAkB,CACvB,KAAK,EAAE,aAAa,EAAE,EACtB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,GAC3B,MAAM;IAsCT;;OAEG;IACH,OAAO,CAAC,aAAa;CAStB"}
@@ -2,6 +2,7 @@ import { type McpLoggerOptions } from "@alcyone-labs/simple-mcp-logger";
2
2
  import type { GenerateMcpToolsOptions, IMcpToolStructure } from "../mcp/mcp-integration";
3
3
  import type { McpLifecycleEvents } from "../mcp/mcp-lifecycle";
4
4
  import { ArgParserBase, type IArgParserParams } from "./ArgParserBase";
5
+ import { type IMcpServerMethods } from "./types";
5
6
  import { type LogPath } from "./log-path-utils";
6
7
  import type { IFlag, IHandlerContext, OutputSchemaConfig } from "./types";
7
8
  import type { Application as ExpressApplication } from "express";
@@ -249,7 +250,7 @@ export type ToolConfig = {
249
250
  * });
250
251
  * ```
251
252
  */
252
- export declare class ArgParser<THandlerReturn = any> extends ArgParserBase<THandlerReturn> {
253
+ export declare class ArgParser<THandlerReturn = any> extends ArgParserBase<THandlerReturn> implements IMcpServerMethods {
253
254
  #private;
254
255
  /** Stored MCP server configuration from withMcp() */
255
256
  private _mcpServerConfig?;
@@ -473,7 +474,7 @@ export declare class ArgParser<THandlerReturn = any> extends ArgParserBase<THand
473
474
  *
474
475
  * // With error handling:
475
476
  * await cli.parseIfExecutedDirectly(import.meta.url).catch((error) => {
476
- * console.error("Fatal error:", error instanceof Error ? error.message : String(error));
477
+ * this.logger.error("Fatal error:", error instanceof Error ? error.message : String(error));
477
478
  * process.exit(1);
478
479
  * });
479
480
  * ```
@@ -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;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;AAEjB,OAAO,KAAK,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjE,YAAY,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3D,CAAC;AAEF,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;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,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,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,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;IACjB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,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;IAwRzE;;;;;;OAMG;IACU,eAAe,CAC1B,UAAU,CAAC,EAAE,aAAa,EAC1B,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,GAAG,CAAC;IA+mBf;;;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;QAClC,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,IAAI,CAAC,EAAE,WAAW,CAAC;KACpB,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;QAClC,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,IAAI,CAAC,EAAE,WAAW,CAAC;KACf,EACN,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC;IAwTH,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;IAItE;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,uBAAuB,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,GAAG,CAAC;IAgDf;;;;;;;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
+ {"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,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EACV,KAAK,EACL,eAAe,EACf,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjE,YAAY,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3D,CAAC;AAEF,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;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,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,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,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;IACjB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,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,CAAE,YAAW,iBAAiB;;IAClE,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;IAoE5C;;;;;OAKG;IACI,UAAU,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IA8BlD;;;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;IAyRzE;;;;;;OAMG;IACU,eAAe,CAC1B,UAAU,CAAC,EAAE,aAAa,EAC1B,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,GAAG,CAAC;IA+mBf;;;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;QAClC,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,IAAI,CAAC,EAAE,WAAW,CAAC;KACpB,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;QAClC,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,IAAI,CAAC,EAAE,WAAW,CAAC;KACf,EACN,WAAW,CAAC,EAAE,uBAAuB,EACrC,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC;IAwTH,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;IAItE;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,uBAAuB,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,GAAG,CAAC;IAgDf;;;;;;;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,7 +1,8 @@
1
1
  import { McpNotificationsManager, type McpChangeType } from "../mcp/mcp-notifications.js";
2
2
  import { McpPromptsManager, type McpPromptConfig } from "../mcp/mcp-prompts.js";
3
3
  import { McpResourcesManager, type McpResourceConfig } from "../mcp/mcp-resources.js";
4
- import type { IFlag, IHandlerContext, ISubCommand, ParseResult, ProcessedFlag, TFlagInheritance, TParsedArgs } from "./types";
4
+ import { type Logger } from "@alcyone-labs/simple-mcp-logger";
5
+ import type { IArgParser, IFlag, IHandlerContext, ISubCommand, ParseResult, ProcessedFlag, TFlagInheritance, TParsedArgs } from "./types";
5
6
  export declare class ArgParserError extends Error {
6
7
  cmdChain: string[];
7
8
  commandChain: string[];
@@ -80,6 +81,11 @@ export interface IArgParserParams<THandlerReturn = any> {
80
81
  * @default false
81
82
  */
82
83
  triggerAutoHelpIfNoHandler?: boolean;
84
+ /**
85
+ * Optional logger instance to use.
86
+ * If not provided, a default one will be created.
87
+ */
88
+ logger?: Logger;
83
89
  }
84
90
  export interface IParseOptions {
85
91
  /**
@@ -131,13 +137,17 @@ type TParsedArgsWithRouting<T = any> = T & {
131
137
  context: IHandlerContext;
132
138
  };
133
139
  };
134
- export declare class ArgParserBase<THandlerReturn = any> {
140
+ export declare class ArgParserBase<THandlerReturn = any> implements IArgParser<THandlerReturn> {
135
141
  #private;
136
142
  constructor(options?: IArgParserParams<THandlerReturn>, initialFlags?: readonly IFlag[]);
137
143
  get flags(): ProcessedFlag[];
138
144
  get flagNames(): string[];
139
145
  getAppName(): string | undefined;
140
146
  getAppCommandName(): string | undefined;
147
+ /**
148
+ * Access to the logger
149
+ */
150
+ get logger(): Logger;
141
151
  getSubCommandName(): string;
142
152
  getDescription(): string | undefined;
143
153
  getAutoExit(): boolean;
@@ -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,5 +1,48 @@
1
1
  import { z, type ZodTypeAny } from "zod";
2
- export type ArgParserInstance = any;
2
+ export type ArgParserInstance = IArgParser;
3
+ /**
4
+ * Interface defining the MCP server methods expected by ArgParserBase.
5
+ * This allows ArgParserBase to use these methods without depending on the concrete ArgParser class.
6
+ */
7
+ export interface IMcpServerMethods {
8
+ createMcpServer(serverInfo?: any, toolOptions?: any, logPath?: any): Promise<any>;
9
+ startMcpServerWithTransport(serverInfo: any, transportType: string, transportOptions: any, toolOptions: any, logPath?: string): Promise<void>;
10
+ startMcpServerWithMultipleTransports(serverInfo: any, transports: any[], toolOptions: any, logPath?: string): Promise<void>;
11
+ getMcpServerConfig(): any;
12
+ }
13
+ /**
14
+ * Interface representing the public API of ArgParser/ArgParserBase.
15
+ */
16
+ export interface IArgParser<THandlerReturn = any> {
17
+ getAppName(): string | undefined;
18
+ getAppCommandName(): string | undefined;
19
+ getSubCommandName(): string;
20
+ getDescription(): string | undefined;
21
+ getAutoExit(): boolean;
22
+ getHandler(): ((ctx: IHandlerContext) => void) | undefined;
23
+ getSubCommands(): Map<string, ISubCommand>;
24
+ get logger(): any;
25
+ get flags(): ProcessedFlag[];
26
+ get flagNames(): string[];
27
+ addFlag(flag: IFlag): this;
28
+ addFlags(flags: readonly IFlag[]): this;
29
+ hasFlag(name: string): boolean;
30
+ getFlagDefinition(name: string): ProcessedFlag | undefined;
31
+ addSubCommand(subCommandConfig: ISubCommand): this;
32
+ getSubCommand(name: string): ISubCommand | undefined;
33
+ parse(processArgs?: string[], options?: any): Promise<any>;
34
+ setHandler(handler: (ctx: IHandlerContext<any, any>) => THandlerReturn | Promise<THandlerReturn>): this;
35
+ helpText(): string;
36
+ printAll(filePath?: string): void;
37
+ getCommandChain(): string[];
38
+ addMcpResource(config: any): this;
39
+ removeMcpResource(name: string): this;
40
+ getMcpResources(): any[];
41
+ addMcpPrompt(config: any): this;
42
+ removeMcpPrompt(name: string): this;
43
+ getMcpPrompts(): any[];
44
+ getMcpServerConfig?(): any;
45
+ }
3
46
  /**
4
47
  * Defines the behavior for flag inheritance in sub-commands.
5
48
  */
@@ -30,8 +73,8 @@ export declare const zodDxtOptionsSchema: z.ZodObject<{
30
73
  string: "string";
31
74
  number: "number";
32
75
  boolean: "boolean";
33
- directory: "directory";
34
76
  file: "file";
77
+ directory: "directory";
35
78
  }>>;
36
79
  multiple: z.ZodOptional<z.ZodBoolean>;
37
80
  min: z.ZodOptional<z.ZodNumber>;
@@ -60,8 +103,8 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
60
103
  string: "string";
61
104
  number: "number";
62
105
  boolean: "boolean";
63
- directory: "directory";
64
106
  file: "file";
107
+ directory: "directory";
65
108
  }>>;
66
109
  multiple: z.ZodOptional<z.ZodBoolean>;
67
110
  min: z.ZodOptional<z.ZodNumber>;
@@ -70,6 +113,7 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
70
113
  title: z.ZodOptional<z.ZodString>;
71
114
  }, z.core.$strict>>;
72
115
  dynamicRegister: z.ZodOptional<z.ZodCustom<DynamicRegisterFn, DynamicRegisterFn>>;
116
+ setWorkingDirectory: z.ZodOptional<z.ZodBoolean>;
73
117
  }, z.core.$strip>, z.ZodTransform<{
74
118
  [key: string]: any;
75
119
  }, {
@@ -89,7 +133,7 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
89
133
  dxtOptions?: {
90
134
  sensitive?: boolean | undefined;
91
135
  localDefault?: string | undefined;
92
- type?: "string" | "number" | "boolean" | "directory" | "file" | undefined;
136
+ type?: "string" | "number" | "boolean" | "file" | "directory" | undefined;
93
137
  multiple?: boolean | undefined;
94
138
  min?: number | undefined;
95
139
  max?: number | undefined;
@@ -97,6 +141,7 @@ export declare const zodFlagSchema: z.ZodPipe<z.ZodObject<{
97
141
  title?: string | undefined;
98
142
  } | undefined;
99
143
  dynamicRegister?: DynamicRegisterFn | undefined;
144
+ setWorkingDirectory?: boolean | undefined;
100
145
  }>>;
101
146
  /**
102
147
  * The raw input type for defining a flag, before Zod processing (aliases, defaults).
@@ -152,6 +197,32 @@ export type IFlag = IFlagCore & {
152
197
  dxtOptions?: IDxtOptions;
153
198
  /** Optional callback to dynamically register additional flags when this flag is present */
154
199
  dynamicRegister?: DynamicRegisterFn;
200
+ /**
201
+ * If true, this flag's value becomes the effective working directory.
202
+ * When set, all file operations (including .env loading) will be relative to this path.
203
+ * Last flag with this property in the command chain wins.
204
+ *
205
+ * @alias chdir
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * .addFlag({
210
+ * name: "workspace",
211
+ * description: "Workspace directory to operate in",
212
+ * options: ["--workspace", "-w"],
213
+ * type: "string",
214
+ * setWorkingDirectory: true,
215
+ * })
216
+ * ```
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * // User runs: my-cli --workspace ./packages/my-app
221
+ * // Effective cwd becomes: /repo/packages/my-app/
222
+ * // All .env files are loaded from: /repo/packages/my-app/
223
+ * ```
224
+ */
225
+ setWorkingDirectory?: boolean;
155
226
  };
156
227
  /**
157
228
  * Context for dynamic flag registration callbacks.
@@ -204,7 +275,7 @@ export type TParsedArgs<TFlags extends readonly ProcessedFlag[]> = {
204
275
  * @template TCurrentCommandArgs Shape of `args` for the current command, derived from its flags.
205
276
  * @template TParentCommandArgs Shape of `parentArgs` from the parent command, if any.
206
277
  */
207
- export type IHandlerContext<TCurrentCommandArgs extends Record<string, any> = Record<string, any>, TParentCommandArgs extends Record<string, any> = Record<string, any>> = {
278
+ export type IHandlerContext<TCurrentCommandArgs = any, TParentCommandArgs = any> = {
208
279
  /** Parsed arguments specific to the current command. */
209
280
  args: TCurrentCommandArgs;
210
281
  /** Parsed arguments from the parent command, if this is a subcommand. */
@@ -227,6 +298,32 @@ export type IHandlerContext<TCurrentCommandArgs extends Record<string, any> = Re
227
298
  * Display the help message for the current command context.
228
299
  */
229
300
  displayHelp: () => void;
301
+ /**
302
+ * The root path from the user's CLI command perspective.
303
+ * This is the original current working directory when the CLI was invoked.
304
+ *
305
+ * Use this when you need to reference paths relative to where the user ran the command,
306
+ * as opposed to the effective working directory (which may have been changed by
307
+ * flags with `setWorkingDirectory`).
308
+ *
309
+ * @example
310
+ * // User runs: my-cli --workspace ./packages/app --input ./data/file.txt
311
+ * // From /repo/ directory
312
+ *
313
+ * // In handler:
314
+ * console.log(ctx.rootPath); // "/repo/" (where user ran command)
315
+ * console.log(process.cwd()); // "/repo/packages/app/" (effective cwd)
316
+ * console.log(ctx.args.input); // "./data/file.txt" (relative to effective cwd)
317
+ *
318
+ * // To resolve ctx.args.input relative to user's cwd:
319
+ * const userInputPath = path.resolve(ctx.rootPath, ctx.args.input);
320
+ */
321
+ rootPath?: string;
322
+ /**
323
+ * Data-safe logger instance.
324
+ * In MCP mode, this logger ensures STDOUT safety by routing logs to STDERR or a file.
325
+ */
326
+ logger: any;
230
327
  };
231
328
  /**
232
329
  * Generic type for the collection of processed flags that an ArgParser instance manages.