@wonderwhy-er/desktop-commander 0.2.18-alpha.8 → 0.2.19
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/dist/setup-claude-server.js +31 -71
- package/dist/setup.log +191 -0
- package/dist/test-setup.js +14 -0
- package/dist/utils/feature-flags.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -1
|
@@ -207,74 +207,43 @@ function detectShell() {
|
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
// Function to get the package spec that was used to run this script
|
|
210
|
-
function getPackageSpec() {
|
|
211
|
-
//
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
debug(`[DEBUG getPackageSpec] process.argv: ${JSON.stringify(process.argv)}`);
|
|
216
|
-
debug(`[DEBUG getPackageSpec] __dirname: ${__dirname}`);
|
|
217
|
-
debug(`[DEBUG getPackageSpec] __filename: ${__filename}`);
|
|
218
|
-
|
|
219
|
-
// Strategy: Check multiple sources to detect the version
|
|
220
|
-
// 1. Check process.argv[1] which contains the actual script path
|
|
221
|
-
// 2. Check package.json in the script's directory
|
|
222
|
-
// 3. Fall back to @latest for stable, keep version for pre-release
|
|
223
|
-
|
|
224
|
-
// Method 1: Check the script path (process.argv[1] or __dirname)
|
|
225
|
-
// npx extracts packages to: ~/.npm/_npx/<hash>/node_modules/@scope/package-name/
|
|
226
|
-
// The actual script path will contain this structure
|
|
227
|
-
const scriptPath = __dirname;
|
|
228
|
-
debug('[DEBUG getPackageSpec] Checking script path for version...');
|
|
229
|
-
|
|
230
|
-
// Look for node_modules/@wonderwhy-er/desktop-commander in the path
|
|
231
|
-
// This works because npx extracts to a predictable location
|
|
232
|
-
const nodeModulesMatch = scriptPath.match(/node_modules\/@wonderwhy-er\/desktop-commander/);
|
|
233
|
-
if (nodeModulesMatch) {
|
|
234
|
-
debug('[DEBUG getPackageSpec] Script is in node_modules, reading package.json...');
|
|
210
|
+
function getPackageSpec(versionArg = null) {
|
|
211
|
+
// If explicit version/tag argument provided, use it
|
|
212
|
+
// Usage: npx @wonderwhy-er/desktop-commander setup alpha
|
|
213
|
+
if (versionArg) {
|
|
214
|
+
return `@wonderwhy-er/desktop-commander@${versionArg}`;
|
|
235
215
|
}
|
|
236
216
|
|
|
237
|
-
//
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
if (
|
|
248
|
-
|
|
249
|
-
if (version.includes('alpha') || version.includes('beta') || version.includes('rc')) {
|
|
250
|
-
const spec = `@wonderwhy-er/desktop-commander@${version}`;
|
|
251
|
-
debug(`[DEBUG getPackageSpec] ✓ Using pre-release version: ${spec}`);
|
|
252
|
-
return spec;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
// For stable versions, use @latest tag
|
|
256
|
-
debug('[DEBUG getPackageSpec] ✓ Stable version, using @latest');
|
|
257
|
-
return '@wonderwhy-er/desktop-commander@latest';
|
|
217
|
+
// Check if running via npx - look for the package spec in process.argv
|
|
218
|
+
// e.g., npx @wonderwhy-er/desktop-commander@0.2.18-alpha setup
|
|
219
|
+
const argv = process.argv;
|
|
220
|
+
|
|
221
|
+
// Look for the package name in argv
|
|
222
|
+
for (let i = 0; i < argv.length; i++) {
|
|
223
|
+
const arg = argv[i];
|
|
224
|
+
if (arg.includes('@wonderwhy-er/desktop-commander')) {
|
|
225
|
+
// Extract just the package spec (e.g., @wonderwhy-er/desktop-commander@0.2.18-alpha)
|
|
226
|
+
const match = arg.match(/(@wonderwhy-er\/desktop-commander(@[^\/\s]+)?)/);
|
|
227
|
+
if (match) {
|
|
228
|
+
return match[1];
|
|
258
229
|
}
|
|
259
|
-
} else {
|
|
260
|
-
debug('[DEBUG getPackageSpec] ✗ package.json not found');
|
|
261
230
|
}
|
|
262
|
-
} catch (error) {
|
|
263
|
-
debug(`[DEBUG getPackageSpec] ✗ Error reading package.json: ${error.message}`);
|
|
264
231
|
}
|
|
265
232
|
|
|
266
|
-
// Fallback
|
|
267
|
-
debug('[DEBUG getPackageSpec] ⚠ Falling back to @latest');
|
|
233
|
+
// Fallback to @latest if we can't detect
|
|
268
234
|
return '@wonderwhy-er/desktop-commander@latest';
|
|
269
235
|
}
|
|
270
236
|
|
|
237
|
+
function isNPX() {
|
|
238
|
+
return process.env.npm_lifecycle_event === 'npx' ||
|
|
239
|
+
process.env.npm_execpath?.includes('npx') ||
|
|
240
|
+
process.env._?.includes('npx') ||
|
|
241
|
+
import.meta.url.includes('node_modules');
|
|
242
|
+
}
|
|
271
243
|
// Function to determine execution context
|
|
272
244
|
function getExecutionContext() {
|
|
273
245
|
// Check if running from npx
|
|
274
|
-
const isNpx =
|
|
275
|
-
process.env.npm_execpath?.includes('npx') ||
|
|
276
|
-
process.env._?.includes('npx') ||
|
|
277
|
-
import.meta.url.includes('node_modules');
|
|
246
|
+
const isNpx = isNPX();
|
|
278
247
|
|
|
279
248
|
// Check if installed globally
|
|
280
249
|
const isGlobal = process.env.npm_config_global === 'true' ||
|
|
@@ -674,6 +643,9 @@ async function restartClaude() {
|
|
|
674
643
|
|
|
675
644
|
// Main function to export for ESM compatibility
|
|
676
645
|
export default async function setup() {
|
|
646
|
+
// Parse command line arguments for version/tag
|
|
647
|
+
const versionArg = process.argv[3]; // argv[0]=node, argv[1]=script, argv[2]=version/tag
|
|
648
|
+
|
|
677
649
|
// Add tracking for setup function entry
|
|
678
650
|
await trackEvent('npx_setup_function_started');
|
|
679
651
|
|
|
@@ -772,9 +744,7 @@ export default async function setup() {
|
|
|
772
744
|
const configPrepStep = addSetupStep('prepare_server_config');
|
|
773
745
|
|
|
774
746
|
// Determine if running through npx or locally
|
|
775
|
-
const isNpx =
|
|
776
|
-
process.stderr.write(`\n[SETUP] import.meta.url: ${import.meta.url}\n`);
|
|
777
|
-
process.stderr.write(`[SETUP] isNpx: ${isNpx}\n`);
|
|
747
|
+
const isNpx = isNPX();
|
|
778
748
|
await trackEvent('npx_setup_execution_mode', { isNpx });
|
|
779
749
|
|
|
780
750
|
// Fix Windows path handling for npx execution
|
|
@@ -792,7 +762,7 @@ export default async function setup() {
|
|
|
792
762
|
"DEBUG": "*"
|
|
793
763
|
};
|
|
794
764
|
|
|
795
|
-
const packageSpec = getPackageSpec();
|
|
765
|
+
const packageSpec = getPackageSpec(versionArg);
|
|
796
766
|
serverConfig = {
|
|
797
767
|
"command": isWindows ? "node.exe" : "node",
|
|
798
768
|
"args": [
|
|
@@ -828,15 +798,13 @@ export default async function setup() {
|
|
|
828
798
|
} else {
|
|
829
799
|
// Standard configuration without debug
|
|
830
800
|
if (isNpx) {
|
|
831
|
-
const packageSpec = getPackageSpec();
|
|
832
|
-
process.stderr.write(`\n[SETUP] Creating config with package spec: ${packageSpec}\n`);
|
|
801
|
+
const packageSpec = getPackageSpec(versionArg);
|
|
833
802
|
serverConfig = {
|
|
834
803
|
"command": isWindows ? "npx.cmd" : "npx",
|
|
835
804
|
"args": [
|
|
836
805
|
packageSpec
|
|
837
806
|
]
|
|
838
807
|
};
|
|
839
|
-
process.stderr.write(`[SETUP] serverConfig.args: ${JSON.stringify(serverConfig.args)}\n`);
|
|
840
808
|
await trackEvent('npx_setup_config_standard_npx', { packageSpec });
|
|
841
809
|
} else {
|
|
842
810
|
// For local installation, use absolute path to handle Windows properly
|
|
@@ -874,16 +842,8 @@ export default async function setup() {
|
|
|
874
842
|
// Add or update the terminal server config with the proper name "desktop-commander"
|
|
875
843
|
config.mcpServers["desktop-commander"] = serverConfig;
|
|
876
844
|
|
|
877
|
-
process.stderr.write('\n[SETUP] Writing config to Claude:\n');
|
|
878
|
-
process.stderr.write(`[SETUP] desktop-commander args: ${JSON.stringify(config.mcpServers["desktop-commander"].args)}\n`);
|
|
879
|
-
|
|
880
845
|
// Write the updated config back
|
|
881
846
|
writeFileSync(claudeConfigPath, JSON.stringify(config, null, 2), 'utf8');
|
|
882
|
-
|
|
883
|
-
// Verify what was written
|
|
884
|
-
const writtenConfig = JSON.parse(readFileSync(claudeConfigPath, 'utf8'));
|
|
885
|
-
process.stderr.write(`[SETUP] Verified written args: ${JSON.stringify(writtenConfig.mcpServers["desktop-commander"].args)}\n\n`);
|
|
886
|
-
|
|
887
847
|
updateSetupStep(updateConfigStep, 'completed');
|
|
888
848
|
await trackEvent('npx_setup_update_config');
|
|
889
849
|
} catch (updateError) {
|
package/dist/setup.log
CHANGED
|
@@ -82,3 +82,194 @@ The server is available as "desktop-commander" in Claude's MCP server list
|
|
|
82
82
|
2025-10-22T15:22:46.665Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
83
83
|
|
|
84
84
|
|
|
85
|
+
2025-10-23T10:10:37.029Z - ✅ Desktop Commander MCP v0.2.18-alpha.13 successfully added to Claude’s configuration.
|
|
86
|
+
2025-10-23T10:10:37.030Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
87
|
+
2025-10-23T10:10:40.163Z -
|
|
88
|
+
✅ Claude has been restarted automatically!
|
|
89
|
+
2025-10-23T10:10:40.184Z -
|
|
90
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
91
|
+
|
|
92
|
+
2025-10-23T10:10:40.184Z -
|
|
93
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
94
|
+
2025-10-23T10:10:40.184Z - Future updates will install automatically — no need to run this setup again.
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
2025-10-23T10:10:40.184Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
2025-10-23T10:10:40.184Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
2025-10-23T10:10:40.184Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
2025-10-23T10:11:28.520Z - ✅ Desktop Commander MCP v0.2.18-alpha.13 successfully added to Claude’s configuration.
|
|
107
|
+
2025-10-23T10:11:28.520Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
108
|
+
2025-10-23T10:11:31.626Z -
|
|
109
|
+
✅ Claude has been restarted automatically!
|
|
110
|
+
2025-10-23T10:11:31.645Z -
|
|
111
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
112
|
+
|
|
113
|
+
2025-10-23T10:11:31.645Z -
|
|
114
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
115
|
+
2025-10-23T10:11:31.645Z - Future updates will install automatically — no need to run this setup again.
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
2025-10-23T10:11:31.645Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
2025-10-23T10:11:31.645Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
2025-10-23T10:11:31.645Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
2025-10-23T10:19:51.580Z - ✅ Desktop Commander MCP v0.2.18-alpha.13 successfully added to Claude’s configuration.
|
|
128
|
+
2025-10-23T10:19:51.580Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
129
|
+
2025-10-23T10:19:54.733Z -
|
|
130
|
+
✅ Claude has been restarted automatically!
|
|
131
|
+
2025-10-23T10:19:54.755Z -
|
|
132
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
133
|
+
|
|
134
|
+
2025-10-23T10:19:54.755Z -
|
|
135
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
136
|
+
2025-10-23T10:19:54.756Z - Future updates will install automatically — no need to run this setup again.
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
2025-10-23T10:19:54.756Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
2025-10-23T10:19:54.756Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
2025-10-23T10:19:54.756Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
2025-10-23T10:20:46.785Z - ✅ Desktop Commander MCP v0.2.18-alpha.13 successfully added to Claude’s configuration.
|
|
149
|
+
2025-10-23T10:20:46.785Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
150
|
+
2025-10-23T10:20:49.891Z -
|
|
151
|
+
✅ Claude has been restarted automatically!
|
|
152
|
+
2025-10-23T10:20:49.913Z -
|
|
153
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
154
|
+
|
|
155
|
+
2025-10-23T10:20:49.913Z -
|
|
156
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
157
|
+
2025-10-23T10:20:49.913Z - Future updates will install automatically — no need to run this setup again.
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
2025-10-23T10:20:49.913Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
2025-10-23T10:20:49.913Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
2025-10-23T10:20:49.913Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
2025-10-23T10:23:37.739Z - ✅ Desktop Commander MCP v0.2.18-alpha.14 successfully added to Claude’s configuration.
|
|
170
|
+
2025-10-23T10:23:37.739Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
171
|
+
2025-10-23T10:23:40.846Z -
|
|
172
|
+
✅ Claude has been restarted automatically!
|
|
173
|
+
2025-10-23T10:23:40.867Z -
|
|
174
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
175
|
+
|
|
176
|
+
2025-10-23T10:23:40.867Z -
|
|
177
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
178
|
+
2025-10-23T10:23:40.867Z - Future updates will install automatically — no need to run this setup again.
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
2025-10-23T10:23:40.867Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
2025-10-23T10:23:40.867Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
2025-10-23T10:23:40.867Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
2025-10-23T10:39:56.359Z - ✅ Desktop Commander MCP v0.2.18-alpha.15 successfully added to Claude’s configuration.
|
|
191
|
+
2025-10-23T10:39:56.360Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
192
|
+
2025-10-23T10:39:59.526Z -
|
|
193
|
+
✅ Claude has been restarted automatically!
|
|
194
|
+
2025-10-23T10:39:59.567Z -
|
|
195
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
196
|
+
|
|
197
|
+
2025-10-23T10:39:59.567Z -
|
|
198
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
199
|
+
2025-10-23T10:39:59.567Z - Future updates will install automatically — no need to run this setup again.
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
2025-10-23T10:39:59.567Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
2025-10-23T10:39:59.567Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
2025-10-23T10:39:59.567Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
2025-10-23T10:57:55.850Z - ✅ Desktop Commander MCP v0.2.18-alpha.15 successfully added to Claude’s configuration.
|
|
212
|
+
2025-10-23T10:57:55.851Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
213
|
+
2025-10-23T10:57:59.008Z -
|
|
214
|
+
✅ Claude has been restarted automatically!
|
|
215
|
+
2025-10-23T10:57:59.051Z -
|
|
216
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
217
|
+
|
|
218
|
+
2025-10-23T10:57:59.052Z -
|
|
219
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
220
|
+
2025-10-23T10:57:59.052Z - Future updates will install automatically — no need to run this setup again.
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
2025-10-23T10:57:59.052Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
2025-10-23T10:57:59.052Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
2025-10-23T10:57:59.052Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
2025-10-23T11:06:27.679Z - ERROR: Command args:
|
|
233
|
+
2025-10-23T11:06:32.852Z - ✅ Desktop Commander MCP v0.2.18-alpha.16 successfully added to Claude’s configuration.
|
|
234
|
+
2025-10-23T11:06:32.852Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
235
|
+
2025-10-23T11:06:36.008Z -
|
|
236
|
+
✅ Claude has been restarted automatically!
|
|
237
|
+
2025-10-23T11:06:36.050Z -
|
|
238
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
239
|
+
|
|
240
|
+
2025-10-23T11:06:36.050Z -
|
|
241
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
242
|
+
2025-10-23T11:06:36.050Z - Future updates will install automatically — no need to run this setup again.
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
2025-10-23T11:06:36.050Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
2025-10-23T11:06:36.050Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
2025-10-23T11:06:36.050Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
2025-10-23T11:17:02.302Z - ERROR: Command args:
|
|
255
|
+
2025-10-23T11:17:02.385Z - ✅ Desktop Commander MCP v0.2.18-alpha.16 successfully added to Claude’s configuration.
|
|
256
|
+
2025-10-23T11:17:02.385Z - Configuration location: /Users/fiberta/Library/Application Support/Claude/claude_desktop_config.json
|
|
257
|
+
2025-10-23T11:17:05.568Z -
|
|
258
|
+
✅ Claude has been restarted automatically!
|
|
259
|
+
2025-10-23T11:17:05.612Z -
|
|
260
|
+
✅ Installation successfully completed! Thank you for using Desktop Commander!
|
|
261
|
+
|
|
262
|
+
2025-10-23T11:17:05.612Z -
|
|
263
|
+
The server is available as "desktop-commander" in Claude's MCP server list
|
|
264
|
+
2025-10-23T11:17:05.612Z - Future updates will install automatically — no need to run this setup again.
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
2025-10-23T11:17:05.612Z - 🤔 Need help or have feedback? Happy to jump on a quick call:
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
2025-10-23T11:17:05.612Z - https://calendar.app.google/SHMNZN5MJznJWC5A7
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
2025-10-23T11:17:05.613Z - or join our community: https://discord.com/invite/kQ27sNnZr7
|
|
274
|
+
|
|
275
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// Test what argv looks like when called as a bin script
|
|
4
|
+
console.log('=== Test Script Argv ===');
|
|
5
|
+
console.log('process.argv:');
|
|
6
|
+
process.argv.forEach((arg, index) => {
|
|
7
|
+
console.log(` ${index}: "${arg}"`);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
const versionArg2 = process.argv[2];
|
|
11
|
+
const versionArg3 = process.argv[3];
|
|
12
|
+
|
|
13
|
+
console.log('\nUsing argv[2]:', versionArg2);
|
|
14
|
+
console.log('Using argv[3]:', versionArg3);
|
|
@@ -7,7 +7,7 @@ class FeatureFlagManager {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
this.flags = {};
|
|
9
9
|
this.lastFetch = 0;
|
|
10
|
-
this.cacheMaxAge = 30 * 60 * 1000;
|
|
10
|
+
this.cacheMaxAge = 30 * 60 * 1000;
|
|
11
11
|
this.refreshInterval = null;
|
|
12
12
|
const configDir = path.dirname(CONFIG_FILE);
|
|
13
13
|
this.cachePath = path.join(configDir, 'feature-flags.json');
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "0.2.
|
|
1
|
+
export declare const VERSION = "0.2.19";
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.2.
|
|
1
|
+
export const VERSION = '0.2.19';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wonderwhy-er/desktop-commander",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.19",
|
|
4
4
|
"description": "MCP server for terminal operations and file editing",
|
|
5
5
|
"mcpName": "io.github.wonderwhy-er/desktop-commander",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"clean": "shx rm -rf dist",
|
|
40
40
|
"test": "npm run build && node test/run-all-tests.js",
|
|
41
41
|
"test:debug": "node --inspect test/run-all-tests.js",
|
|
42
|
+
"validate:tools": "npm run build && node scripts/validate-tools-sync.js",
|
|
42
43
|
"link:local": "npm run build && npm link",
|
|
43
44
|
"unlink:local": "npm unlink",
|
|
44
45
|
"inspector": "npx @modelcontextprotocol/inspector dist/index.js",
|