claude-multi 0.2.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/CHANGELOG.md ADDED
@@ -0,0 +1,49 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.2.0] - 2025-01-XX
9
+
10
+ ### Added
11
+ - **Windows Support**: Full cross-platform support for Windows
12
+ - Generates `.cmd` batch wrapper scripts on Windows
13
+ - Uses `where` command instead of `which` on Windows
14
+ - Default binary path set to `%APPDATA%\npm` on Windows
15
+ - Skips Unix-specific `chmod` operations on Windows
16
+ - **Cross-platform CI**: GitHub Actions now tests on Ubuntu, Windows, and macOS
17
+ - **Platform Documentation**: Added platform-specific notes and Windows PATH setup guide
18
+ - **Test Suite**: Added comprehensive tests for wrapper script generation on all platforms
19
+
20
+ ### Changed
21
+ - Binary naming convention: Windows wrappers now use `.cmd` extension (e.g., `claude-test.cmd`)
22
+ - Improved `getClaudePath()` to handle platform-specific path detection
23
+ - Enhanced wrapper generation to create appropriate script types per platform
24
+
25
+ ### Fixed
26
+ - TypeScript strict null checks in config.ts
27
+ - Windows compatibility issues with shebang and chmod operations
28
+
29
+ ## [0.1.0] - 2025-01-XX
30
+
31
+ ### Added
32
+ - Initial release
33
+ - Basic instance management (add, remove, list, info)
34
+ - Wrapper script generation for multiple Claude Code instances
35
+ - Interactive and non-interactive modes for creating instances
36
+ - Settings and config copying from default Claude installation
37
+ - MCP (Model Context Protocol) server configuration support
38
+ - Version checking and update commands
39
+ - CI/CD workflows for automated testing and npm publishing
40
+
41
+ ### Features
42
+ - Create isolated Claude Code instances with custom aliases
43
+ - Copy settings, plugins, and MCP configurations between instances
44
+ - Manage multiple instances simultaneously
45
+ - Support for custom config and binary paths
46
+ - Command-line interface built with Commander.js
47
+
48
+ [0.2.0]: https://github.com/hmziqrs/claude-multi/compare/v0.1.0...v0.2.0
49
+ [0.1.0]: https://github.com/hmziqrs/claude-multi/releases/tag/v0.1.0
package/README.md ADDED
@@ -0,0 +1,242 @@
1
+ # claude-multi
2
+
3
+ > Manage multiple Claude Code instances with different aliases and configurations
4
+
5
+ ## Why?
6
+
7
+ Claude Code supports multiple AI providers (Anthropic, GLM, Minimax), but switching between them requires manually editing config files. **claude-multi** solves this by creating isolated instances with different aliases and config paths.
8
+
9
+ ## Features
10
+
11
+ - 🔄 **Multiple Instances**: Run different Claude Code configs simultaneously
12
+ - 🎯 **Simple CLI**: Easy-to-use commands for managing instances
13
+ - 🔒 **Isolated Configs**: Each instance has its own settings and history
14
+ - ✅ **Legal**: Uses wrapper scripts, no code modification
15
+ - 🚀 **Auto-sync**: Always uses the latest official Claude Code
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ # Install dependencies
21
+ bun install
22
+
23
+ # Build the project
24
+ bun run build
25
+
26
+ # Install globally (optional)
27
+ npm link
28
+ ```
29
+
30
+ ### Windows Setup
31
+
32
+ On Windows, ensure `%APPDATA%\npm` is in your PATH to use the wrapper commands:
33
+
34
+ ```cmd
35
+ # Check if npm directory is in PATH
36
+ echo %PATH%
37
+
38
+ # Add to PATH if needed (PowerShell as Administrator)
39
+ [Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:APPDATA\npm", "User")
40
+ ```
41
+
42
+ After adding to PATH, restart your terminal for changes to take effect.
43
+
44
+ ## Usage
45
+
46
+ ### Create instances
47
+
48
+ ```bash
49
+ # Create instance (interactive - prompts for copying settings)
50
+ claude-multi add glm
51
+
52
+ # Create instance with custom config path
53
+ claude-multi add work --config ~/configs/claude-work
54
+
55
+ # Create instance with custom binary path
56
+ claude-multi add minimax --binary ~/.local/bin/claude-minimax
57
+
58
+ # Non-interactive modes
59
+ claude-multi add glm --copy-settings # Copy only settings.json
60
+ claude-multi add glm --copy-all # Copy all files (settings, CLAUDE.md, plugins)
61
+ claude-multi add glm --skip-prompts # Start fresh, no prompts
62
+ ```
63
+
64
+ **Interactive prompt options:**
65
+ - **Nothing - start fresh**: Empty config directory
66
+ - **Only settings.json**: Copy your settings (API keys, preferences)
67
+ - **All files**: Copy settings, CLAUDE.md, plugins, etc. (excludes history, debug logs)
68
+
69
+ ### Use instances
70
+
71
+ Each instance gets its own command:
72
+
73
+ ```bash
74
+ claude-glm # Uses ~/.claude-glm config
75
+ claude-work # Uses ~/configs/claude-work
76
+ claude-minimax # Uses ~/.claude-minimax config
77
+ claude # Original command, uses ~/.claude
78
+ ```
79
+
80
+ ### Manage instances
81
+
82
+ ```bash
83
+ # List all instances
84
+ claude-multi list
85
+
86
+ # Show instance details
87
+ claude-multi info glm
88
+
89
+ # Remove instance
90
+ claude-multi remove glm
91
+
92
+ # Remove without confirmation
93
+ claude-multi remove glm --force
94
+ ```
95
+
96
+ ### Version management
97
+
98
+ ```bash
99
+ # Check for updates
100
+ claude-multi version
101
+
102
+ # Update Claude Code to latest
103
+ claude-multi update
104
+ ```
105
+
106
+ ## How It Works
107
+
108
+ `claude-multi` creates wrapper scripts that set the `CLAUDE_CONFIG_DIR` environment variable before calling the original `claude` binary:
109
+
110
+ ```javascript
111
+ #!/usr/bin/env node
112
+ process.env.CLAUDE_CONFIG_DIR = "/Users/you/.claude-glm"
113
+ import("/usr/local/bin/claude")
114
+ ```
115
+
116
+ This approach:
117
+ - ✅ Doesn't modify Anthropic's code (legal)
118
+ - ✅ Uses official Claude Code (no forking)
119
+ - ✅ Auto-syncs with upstream (no version tracking needed)
120
+ - ✅ Simple and maintainable
121
+
122
+ ## Use Cases
123
+
124
+ ### Personal + Work
125
+ ```bash
126
+ claude-multi add personal
127
+ claude-multi add work
128
+
129
+ claude-personal # Personal projects
130
+ claude-work # Work projects
131
+ ```
132
+
133
+ ### Paid + Free Providers
134
+ ```bash
135
+ claude-multi add anthropic # Paid subscription
136
+ claude-multi add glm # Free GLM API
137
+
138
+ claude-anthropic # High-quality, paid
139
+ claude-glm # Free tier
140
+ ```
141
+
142
+ ### Multiple Environments
143
+ ```bash
144
+ claude-multi add prod
145
+ claude-multi add staging
146
+ claude-multi add dev
147
+
148
+ # Different configs for each
149
+ ```
150
+
151
+ ## Development
152
+
153
+ ```bash
154
+ # Install dependencies
155
+ bun install
156
+
157
+ # Run in dev mode
158
+ bun run dev
159
+
160
+ # Build
161
+ bun run build
162
+
163
+ # Test
164
+ bun run dev add test --binary ./test-bin/claude-test
165
+ bun run dev list
166
+ bun run dev remove test --force
167
+ ```
168
+
169
+ ## Requirements
170
+
171
+ - Node.js >= 18
172
+ - Bun (for development)
173
+ - `@anthropic-ai/claude-code` installed globally
174
+
175
+ ## Platform Support
176
+
177
+ **claude-multi** supports all major operating systems:
178
+
179
+ - ✅ **Linux**: Fully supported
180
+ - ✅ **macOS**: Fully supported
181
+ - ✅ **Windows**: Fully supported
182
+
183
+ ### Platform-Specific Notes
184
+
185
+ **Windows:**
186
+ - Wrapper scripts are created as `.cmd` batch files
187
+ - Binary path defaults to `%APPDATA%\npm`
188
+ - Example: `claude-glm.cmd` instead of `claude-glm`
189
+
190
+ **Unix/Linux/macOS:**
191
+ - Wrapper scripts are Node.js scripts with shebangs
192
+ - Binary path defaults to `~/.local/bin`
193
+ - Scripts are automatically marked as executable
194
+
195
+ ## Project Structure
196
+
197
+ ```
198
+ claude-multi/
199
+ ├── src/
200
+ │ ├── cli.ts # Main CLI interface
201
+ │ ├── config.ts # Instance config management
202
+ │ ├── wrapper.ts # Wrapper script generation
203
+ │ └── version.ts # Version checking
204
+ ├── docs/
205
+ │ └── raw-plan.md # Detailed implementation plan
206
+ ├── package.json
207
+ └── README.md
208
+ ```
209
+
210
+ ## Configuration
211
+
212
+ Instance metadata is stored in `~/.claude-multi/config.json`:
213
+
214
+ ```json
215
+ {
216
+ "instances": [
217
+ {
218
+ "name": "glm",
219
+ "configDir": "/Users/you/.claude-glm",
220
+ "binaryPath": "/usr/local/bin/claude-glm",
221
+ "createdAt": "2025-11-02T03:57:41.000Z"
222
+ }
223
+ ],
224
+ "version": "1.0.0"
225
+ }
226
+ ```
227
+
228
+ ## CI/CD
229
+
230
+ - **CI**: Runs on PRs and pushes to master (Node 20.x)
231
+ - **Publish**: Auto-publishes to npm when version tags are pushed
232
+ - **Requirements**: `NPM_TOKEN` secret configured in GitHub
233
+
234
+ ## License
235
+
236
+ MIT
237
+
238
+ ## Credits
239
+
240
+ Built with [Bun](https://bun.sh) and [Commander.js](https://github.com/tj/commander.js)
241
+
242
+ Wrapper for [@anthropic-ai/claude-code](https://www.npmjs.com/package/@anthropic-ai/claude-code)
package/ROADMAP.md ADDED
@@ -0,0 +1,104 @@
1
+ # Claude Multi - Project Roadmap
2
+
3
+ ## Overview
4
+ Claude Multi is a CLI tool for managing multiple Claude Code instances with different aliases and configurations. This roadmap outlines planned features and improvements.
5
+
6
+ ## ✅ Completed Features
7
+
8
+ ### Cross-Platform Support (v0.2.0)
9
+ **Status**: ✅ Completed
10
+
11
+ - **Windows Support**: Full support for Windows platform
12
+ - `.cmd` batch wrapper generation
13
+ - Platform-specific path detection (`where` vs `which`)
14
+ - Proper handling of Windows-specific paths (`%APPDATA%\npm`)
15
+ - Skip Unix-specific operations (chmod) on Windows
16
+
17
+ - **macOS Support**: Full support for macOS platform
18
+ - Native shebang-based wrapper scripts
19
+ - `~/.local/bin` default path
20
+
21
+ - **Linux Support**: Full support for Linux distributions
22
+ - Native shebang-based wrapper scripts
23
+ - `~/.local/bin` default path
24
+
25
+ - **Cross-Platform CI**: GitHub Actions testing on all three platforms
26
+ - **Test Coverage**: Comprehensive unit tests for platform-specific behavior
27
+
28
+ ## 🚀 Priority Features
29
+
30
+ ### 1. Basic Backup & Restore
31
+ **Goal**: Simple way to export/import configs without ongoing sync maintenance
32
+
33
+ #### Features:
34
+ - **Archive Export/Import**:
35
+ ```bash
36
+ claude-multi backup export <file.tar.gz> # Archive selected instances + metadata
37
+ claude-multi backup import <file.tar.gz> # Restore into local config dirs
38
+ ```
39
+ - **Scope**: Local archives only; no cloud providers, encryption, or auto-sync
40
+ - **Manifest**: Include a small JSON manifest describing included instances
41
+
42
+ ### 2. Enhanced Interactive Mode
43
+ **Goal**: More powerful and user-friendly interactive interface
44
+
45
+ #### Features:
46
+ - **Simplified Interface**:
47
+ - Clean list view of all instances
48
+ - Basic status indicators
49
+ - Easy navigation without complex filtering
50
+
51
+ ## 🔧 Quality of Life Improvements
52
+
53
+ ### 3. Shell Integration
54
+ **Goal**: Seamless terminal experience
55
+
56
+ #### Features:
57
+ - **Auto-completion**:
58
+ - Bash/Zsh completion scripts
59
+ - Context-aware suggestions
60
+ - Instance name completion
61
+
62
+ - **Shell Aliases**:
63
+ - Quick access to favorite instances
64
+ - Custom shortcuts for common operations
65
+ - Environment-specific configurations
66
+
67
+ - **Prompt Integration**:
68
+ - (Future consideration) Optional prompt snippet showing last used instance
69
+
70
+ ### 4. Configuration Management
71
+ **Goal**: Advanced configuration handling
72
+
73
+ #### Features:
74
+ - **Global Defaults**:
75
+ - Preferred paths and settings
76
+ - Environment-specific overrides
77
+
78
+ - **Validation**:
79
+ - Configuration schema validation
80
+ - Cross-instance consistency checks
81
+ - Migration guides for breaking changes
82
+
83
+ - **Settings Inheritance**:
84
+ - Global settings inheritance
85
+ - Instance-specific customizations
86
+
87
+ ## 🔧 Technical Considerations
88
+
89
+ ### Configuration Storage
90
+ - Keep config JSON lean; validate shape before save
91
+ - Use atomic writes when updating config metadata
92
+
93
+ ### Performance
94
+ - Keep operations synchronous and fast; avoid premature abstractions
95
+ - Only load instance details when needed in interactive mode
96
+
97
+ ### Error Handling
98
+ - Graceful degradation for missing dependencies
99
+ - Clear error messages with suggested fixes
100
+ - Prefer manual fixes over automatic mutation of user files
101
+
102
+ ### Security
103
+ - Respect CLAUDE_CONFIG_DIR permissions; do not handle secrets directly
104
+ - Leave credential storage to Claude Code
package/bun.lock ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "lockfileVersion": 1,
3
+ "configVersion": 0,
4
+ "workspaces": {
5
+ "": {
6
+ "name": "cc-forks",
7
+ "dependencies": {
8
+ "chalk": "^5.3.0",
9
+ "commander": "^12.0.0",
10
+ "prompts": "^2.4.2",
11
+ },
12
+ "devDependencies": {
13
+ "@types/node": "^20.0.0",
14
+ "@types/prompts": "^2.4.9",
15
+ "bun-types": "latest",
16
+ },
17
+ "peerDependencies": {
18
+ "@anthropic-ai/claude-code": ">=2.0.0",
19
+ },
20
+ },
21
+ },
22
+ "packages": {
23
+ "@anthropic-ai/claude-code": ["@anthropic-ai/claude-code@2.0.31", "", { "optionalDependencies": { "@img/sharp-darwin-arm64": "^0.33.5", "@img/sharp-darwin-x64": "^0.33.5", "@img/sharp-linux-arm": "^0.33.5", "@img/sharp-linux-arm64": "^0.33.5", "@img/sharp-linux-x64": "^0.33.5", "@img/sharp-win32-x64": "^0.33.5" }, "bin": { "claude": "cli.js" } }, "sha512-UiWopkOqZD5EHoDa8jmkT4AOVtvGWjfCOZ+hGlDqbBY5D0hia6kRDgizLsIvMRqnQr1pBAPCpyeWhH/WndaT/A=="],
24
+
25
+ "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.0.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ=="],
26
+
27
+ "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.0.4" }, "os": "darwin", "cpu": "x64" }, "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q=="],
28
+
29
+ "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="],
30
+
31
+ "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="],
32
+
33
+ "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.0.5", "", { "os": "linux", "cpu": "arm" }, "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="],
34
+
35
+ "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="],
36
+
37
+ "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="],
38
+
39
+ "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.0.5" }, "os": "linux", "cpu": "arm" }, "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ=="],
40
+
41
+ "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA=="],
42
+
43
+ "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA=="],
44
+
45
+ "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="],
46
+
47
+ "@types/node": ["@types/node@20.19.24", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA=="],
48
+
49
+ "@types/prompts": ["@types/prompts@2.4.9", "", { "dependencies": { "@types/node": "*", "kleur": "^3.0.3" } }, "sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA=="],
50
+
51
+ "@types/react": ["@types/react@19.2.2", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA=="],
52
+
53
+ "bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="],
54
+
55
+ "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="],
56
+
57
+ "commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="],
58
+
59
+ "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
60
+
61
+ "kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="],
62
+
63
+ "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="],
64
+
65
+ "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
66
+
67
+ "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
68
+
69
+ "@types/prompts/@types/node": ["@types/node@24.9.2", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA=="],
70
+
71
+ "bun-types/@types/node": ["@types/node@24.9.2", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA=="],
72
+
73
+ "@types/prompts/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
74
+
75
+ "bun-types/@types/node/undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
76
+ }
77
+ }