@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.
- package/README.md +175 -85
- package/dist/config/ConfigurationManager.d.ts +8 -0
- package/dist/config/ConfigurationManager.d.ts.map +1 -1
- package/dist/core/ArgParser.d.ts +3 -2
- package/dist/core/ArgParser.d.ts.map +1 -1
- package/dist/core/ArgParserBase.d.ts +12 -2
- package/dist/core/ArgParserBase.d.ts.map +1 -1
- package/dist/core/types.d.ts +102 -5
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.cjs +551 -943
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.min.mjs +5540 -5771
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +551 -943
- package/dist/index.mjs.map +1 -1
- package/dist/mcp/mcp-integration.d.ts.map +1 -1
- package/dist/mcp/mcp-notifications.d.ts +0 -6
- package/dist/mcp/mcp-notifications.d.ts.map +1 -1
- package/dist/mcp/mcp-prompts.d.ts.map +1 -1
- package/dist/mcp/mcp-resources.d.ts.map +1 -1
- package/dist/mcp/zod-compatibility.d.ts.map +1 -1
- package/dist/testing/fuzzy-tester.d.ts +2 -2
- package/dist/testing/fuzzy-tester.d.ts.map +1 -1
- package/dist/tui/types.d.ts +60 -0
- package/dist/tui/types.d.ts.map +1 -0
- package/dist/utils/debug-utils.d.ts.map +1 -1
- package/package.json +13 -9
- package/dist/ui/App.d.ts +0 -18
- package/dist/ui/App.d.ts.map +0 -1
- package/dist/ui/Component.d.ts +0 -21
- package/dist/ui/Component.d.ts.map +0 -1
- package/dist/ui/Layout.d.ts +0 -19
- package/dist/ui/Layout.d.ts.map +0 -1
- package/dist/ui/Terminal.d.ts +0 -19
- package/dist/ui/Terminal.d.ts.map +0 -1
- package/dist/ui/Theme.d.ts +0 -20
- package/dist/ui/Theme.d.ts.map +0 -1
- package/dist/ui/components/Input.d.ts +0 -21
- package/dist/ui/components/Input.d.ts.map +0 -1
- package/dist/ui/components/List.d.ts +0 -23
- package/dist/ui/components/List.d.ts.map +0 -1
- package/dist/ui/components/ScrollArea.d.ts +0 -19
- package/dist/ui/components/ScrollArea.d.ts.map +0 -1
- package/dist/ui/components/StackNavigator.d.ts +0 -16
- package/dist/ui/components/StackNavigator.d.ts.map +0 -1
- package/dist/ui/index.d.ts +0 -10
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/utils/ansi-utils.d.ts +0 -17
- 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
|
-
|
|
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
|
|
126
|
+
ArgParser includes **OpenTUI v2**, a reactive TUI framework built on SolidJS for building rich terminal applications with minimal boilerplate.
|
|
124
127
|
|
|
125
|
-
|
|
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
|
-
|
|
134
|
-
|
|
135
|
-
|
|
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
|
-
|
|
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
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
195
|
+
render(
|
|
196
|
+
() => (
|
|
197
|
+
<TuiProvider theme="dark">
|
|
198
|
+
<App />
|
|
199
|
+
</TuiProvider>
|
|
200
|
+
),
|
|
201
|
+
{ onDestroy: cleanupTerminal },
|
|
202
|
+
);
|
|
144
203
|
```
|
|
145
204
|
|
|
146
|
-
|
|
205
|
+
### Theme Builder
|
|
147
206
|
|
|
148
|
-
|
|
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
|
-
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
|
|
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
|
-
```
|
|
177
|
-
|
|
178
|
-
|
|
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
|
|
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
|
|
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({
|
|
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
|
|
1145
|
-
|
|
1146
|
-
| `FlagInheritance.NONE`
|
|
1147
|
-
| `FlagInheritance.DirectParentOnly` | `true`
|
|
1148
|
-
| `FlagInheritance.AllParents`
|
|
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"}
|
package/dist/core/ArgParser.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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":"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
|
|
1
|
+
{"version":3,"file":"ArgParser.d.ts","sourceRoot":"","sources":["../../src/core/ArgParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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":"
|
|
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,5 +1,48 @@
|
|
|
1
1
|
import { z, type ZodTypeAny } from "zod";
|
|
2
|
-
export type ArgParserInstance =
|
|
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" | "
|
|
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
|
|
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.
|