@codemieai/code 0.0.35 → 0.0.36
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/agents/codemie-code/agent.d.ts +1 -1
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +2 -2
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/index.js +1 -1
- package/dist/agents/codemie-code/index.js.map +1 -1
- package/dist/agents/codemie-code/prompts.d.ts +1 -1
- package/dist/agents/codemie-code/prompts.d.ts.map +1 -1
- package/dist/agents/codemie-code/skills/core/SkillDiscovery.d.ts.map +1 -0
- package/dist/{skills → agents/codemie-code/skills}/core/SkillDiscovery.js +1 -1
- package/dist/agents/codemie-code/skills/core/SkillDiscovery.js.map +1 -0
- package/dist/agents/codemie-code/skills/core/SkillManager.d.ts.map +1 -0
- package/dist/{skills → agents/codemie-code/skills}/core/SkillManager.js +1 -1
- package/dist/agents/codemie-code/skills/core/SkillManager.js.map +1 -0
- package/dist/agents/codemie-code/skills/core/types.d.ts.map +1 -0
- package/dist/agents/codemie-code/skills/core/types.js.map +1 -0
- package/dist/agents/codemie-code/skills/index.d.ts.map +1 -0
- package/dist/agents/codemie-code/skills/index.js.map +1 -0
- package/dist/agents/codemie-code/skills/utils/content-loader.d.ts.map +1 -0
- package/dist/{skills → agents/codemie-code/skills}/utils/content-loader.js +1 -1
- package/dist/agents/codemie-code/skills/utils/content-loader.js.map +1 -0
- package/dist/agents/codemie-code/skills/utils/frontmatter.d.ts.map +1 -0
- package/dist/agents/codemie-code/skills/utils/frontmatter.js.map +1 -0
- package/dist/agents/codemie-code/skills/utils/pattern-matcher.d.ts.map +1 -0
- package/dist/agents/codemie-code/skills/utils/pattern-matcher.js.map +1 -0
- package/dist/agents/codemie-code/types.d.ts +1 -1
- package/dist/agents/codemie-code/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +8 -0
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/skill.js +1 -1
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +8 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/utils/native-installer.d.ts.map +1 -1
- package/dist/utils/native-installer.js +39 -2
- package/dist/utils/native-installer.js.map +1 -1
- package/dist/utils/windows-path.d.ts +54 -0
- package/dist/utils/windows-path.d.ts.map +1 -0
- package/dist/utils/windows-path.js +347 -0
- package/dist/utils/windows-path.js.map +1 -0
- package/package.json +1 -1
- package/dist/skills/core/SkillDiscovery.d.ts.map +0 -1
- package/dist/skills/core/SkillDiscovery.js.map +0 -1
- package/dist/skills/core/SkillManager.d.ts.map +0 -1
- package/dist/skills/core/SkillManager.js.map +0 -1
- package/dist/skills/core/types.d.ts.map +0 -1
- package/dist/skills/core/types.js.map +0 -1
- package/dist/skills/index.d.ts.map +0 -1
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/utils/content-loader.d.ts.map +0 -1
- package/dist/skills/utils/content-loader.js.map +0 -1
- package/dist/skills/utils/frontmatter.d.ts.map +0 -1
- package/dist/skills/utils/frontmatter.js.map +0 -1
- package/dist/skills/utils/pattern-matcher.d.ts.map +0 -1
- package/dist/skills/utils/pattern-matcher.js.map +0 -1
- /package/dist/{skills → agents/codemie-code/skills}/core/SkillDiscovery.d.ts +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/core/SkillManager.d.ts +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/core/types.d.ts +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/core/types.js +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/index.d.ts +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/index.js +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/utils/content-loader.d.ts +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/utils/frontmatter.d.ts +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/utils/frontmatter.js +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/utils/pattern-matcher.d.ts +0 -0
- /package/dist/{skills → agents/codemie-code/skills}/utils/pattern-matcher.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/cli/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/cli/commands/skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiOpC,wBAAgB,mBAAmB,IAAI,OAAO,CAuL7C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { AgentRegistry } from '../../agents/registry.js';
|
|
3
3
|
import { AgentNotFoundError, getErrorMessage } from '../../utils/errors.js';
|
|
4
|
+
import { logger } from '../../utils/logger.js';
|
|
4
5
|
import * as npm from '../../utils/processes.js';
|
|
5
6
|
import ora from 'ora';
|
|
6
7
|
import chalk from 'chalk';
|
|
@@ -177,8 +178,15 @@ export function createUpdateCommand() {
|
|
|
177
178
|
.description('Update installed AI coding agents')
|
|
178
179
|
.argument('[name]', 'Agent name to update (run without argument for interactive selection)')
|
|
179
180
|
.option('-c, --check', 'Check for available updates without installing')
|
|
181
|
+
.option('--verbose', 'Show detailed update logs for troubleshooting')
|
|
180
182
|
.action(async (name, options) => {
|
|
181
183
|
try {
|
|
184
|
+
// Enable debug mode if --verbose flag is set
|
|
185
|
+
if (options?.verbose) {
|
|
186
|
+
process.env.CODEMIE_DEBUG = 'true';
|
|
187
|
+
logger.debug('Verbose mode enabled');
|
|
188
|
+
console.log(chalk.gray('🔍 Verbose mode enabled - showing detailed logs\n'));
|
|
189
|
+
}
|
|
182
190
|
const checkOnly = options?.check ?? false;
|
|
183
191
|
// Case 1: Update specific agent
|
|
184
192
|
if (name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-installer.d.ts","sourceRoot":"","sources":["../../src/utils/native-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"native-installer.d.ts","sourceRoot":"","sources":["../../src/utils/native-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CACf;AA0JD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CACvC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,qBAAqB,EACpC,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAwI9B"}
|
|
@@ -7,6 +7,7 @@ import { AgentInstallationError } from './errors.js';
|
|
|
7
7
|
import { logger } from './logger.js';
|
|
8
8
|
import { sanitizeLogArgs, sanitizeValue } from './security.js';
|
|
9
9
|
import { isValidSemanticVersion } from './version-utils.js';
|
|
10
|
+
import { ensureCommandInPath } from './windows-path.js';
|
|
10
11
|
/**
|
|
11
12
|
* Detect current platform
|
|
12
13
|
* @returns Platform identifier: 'macOS' | 'windows' | 'linux'
|
|
@@ -114,7 +115,8 @@ async function verifyInstallation(verifyCommand, retries) {
|
|
|
114
115
|
// Gives Windows time to update PATH without excessive wait
|
|
115
116
|
if (attempt < maxRetries) {
|
|
116
117
|
const delayMs = Math.min(Math.pow(2, attempt - 1) * 1000, 4000);
|
|
117
|
-
|
|
118
|
+
// USER FEEDBACK: Show progress during wait
|
|
119
|
+
logger.info(`Waiting for PATH update to propagate (${delayMs / 1000}s)...`);
|
|
118
120
|
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
119
121
|
}
|
|
120
122
|
}
|
|
@@ -176,6 +178,41 @@ export async function installNativeAgent(agentName, installerUrls, version, opti
|
|
|
176
178
|
agentName,
|
|
177
179
|
platform,
|
|
178
180
|
});
|
|
181
|
+
// WINDOWS-SPECIFIC: Auto-fix PATH before verification
|
|
182
|
+
// Use ensureCommandInPath to automatically add command to PATH if missing
|
|
183
|
+
if (platform === 'windows' && options?.verifyCommand) {
|
|
184
|
+
logger.debug('Ensuring command is in Windows PATH', {
|
|
185
|
+
command: options.verifyCommand,
|
|
186
|
+
});
|
|
187
|
+
try {
|
|
188
|
+
const pathResult = await ensureCommandInPath(options.verifyCommand);
|
|
189
|
+
if (pathResult.success) {
|
|
190
|
+
if (pathResult.alreadyInPath) {
|
|
191
|
+
logger.debug('Command directory already in PATH', {
|
|
192
|
+
directory: pathResult.pathAdded,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
else if (pathResult.pathAdded) {
|
|
196
|
+
logger.success(`Automatically added ${options.verifyCommand} to PATH: ${pathResult.pathAdded}`);
|
|
197
|
+
logger.info('PATH updated. Please restart your terminal for changes to take effect.');
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else if (pathResult.error) {
|
|
201
|
+
// PATH fix failed, but installation succeeded
|
|
202
|
+
// Log warning but don't fail installation
|
|
203
|
+
logger.warn('Could not automatically update PATH', {
|
|
204
|
+
error: pathResult.error,
|
|
205
|
+
});
|
|
206
|
+
logger.info(`You may need to manually add ${options.verifyCommand} to your PATH.`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
// PATH utilities failed, but don't fail installation
|
|
211
|
+
logger.debug('ensureCommandInPath failed', {
|
|
212
|
+
error: error instanceof Error ? error.message : String(error),
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
179
216
|
// Verify installation if verify command provided
|
|
180
217
|
let installedVersion = null;
|
|
181
218
|
if (options?.verifyCommand) {
|
|
@@ -188,7 +225,7 @@ export async function installNativeAgent(agentName, installerUrls, version, opti
|
|
|
188
225
|
// Add platform-specific context for troubleshooting
|
|
189
226
|
const isWindows = platform === 'windows';
|
|
190
227
|
const troubleshootingHint = isWindows
|
|
191
|
-
? '
|
|
228
|
+
? 'Restart your terminal to refresh PATH. The installation directory was automatically added to your PATH.'
|
|
192
229
|
: 'Verify that the command is in your PATH.';
|
|
193
230
|
logger.warn('Installation verification failed', {
|
|
194
231
|
agentName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-installer.js","sourceRoot":"","sources":["../../src/utils/native-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"native-installer.js","sourceRoot":"","sources":["../../src/utils/native-installer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA8BxD;;;GAGG;AACH,SAAS,cAAc;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IAChB,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IAClB,CAAC;SAAM,CAAC;QACP,8DAA8D;QAC9D,OAAO,OAAO,CAAC;IAChB,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAC7B,SAAiB,EACjB,aAAoC,EACpC,OAA2B,EAC3B,QAAuC,EACvC,YAAuB;IAEvB,2DAA2D;IAC3D,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAsB,CAC/B,SAAS,EACT,iCAAiC,GAAG,EAAE,CACtC,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,oEAAoE;IACpE,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,IAAI,sBAAsB,CAC/B,SAAS,EACT,4BAA4B,OAAO,uEAAuE,CAC1G,CAAC;QACH,CAAC;IACF,CAAC;IAED,qDAAqD;IACrD,2DAA2D;IAC3D,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACnF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,sBAAsB,CAC/B,SAAS,EACT,0BAA0B,IAAI,qBAAqB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,kCAAkC;IAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,mEAAmE;QACnE,uDAAuD;QACvD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,OAAO,cAAc,GAAG,iCAAiC,UAAU,GAAG,QAAQ,qBAAqB,CAAC;IACrG,CAAC;SAAM,CAAC;QACP,mCAAmC;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,cAAc,GAAG,UAAU,UAAU,GAAG,WAAW,EAAE,CAAC;IAC9D,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,kBAAkB,CAChC,aAAqB,EACrB,OAAgB;IAEhB,2DAA2D;IAC3D,kFAAkF;IAClF,MAAM,SAAS,GAAY,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IACxD,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACJ,MAAM,CAAC,KAAK,CACX,mCAAmC,OAAO,IAAI,UAAU,GAAG,EAC3D,EAAE,OAAO,EAAE,aAAa,EAAE,CAC1B,CAAC;YAEF,uDAAuD;YACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,EAAE;gBACvD,OAAO,EAAE,IAAI,EAAE,qCAAqC;aACpD,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACxC,sEAAsE;gBACtE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACrE,IAAI,YAAY,EAAE,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;wBAClD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;wBACxB,OAAO;qBACP,CAAC,CAAC;oBACH,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CACX,qCAAqC,OAAO,SAAS,EACrD,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAClD,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,2DAA2D;QAC3D,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;YAChE,2CAA2C;YAC3C,MAAM,CAAC,IAAI,CAAC,yCAAyC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC;YAC5E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED,qBAAqB;IACrB,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;QAClE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,UAAU;KACpB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,SAAiB,EACjB,aAAoC,EACpC,OAAgB,EAChB,OAA8B;IAE9B,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,2BAA2B;IAEvE,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;QAClD,SAAS;QACT,QAAQ;QACR,OAAO,EAAE,OAAO,IAAI,QAAQ;KAC5B,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ,0BAA0B;QAC1B,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAE1G,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC3C,SAAS;YACT,QAAQ;YACR,sDAAsD;SACtD,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE;YACtC,OAAO;YACP,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,KAAK,EAAE,IAAI,EAAE,4CAA4C;SACzD,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,8DAA8D;YAC9D,+DAA+D;YAC/D,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,IAAI,sBAAsB,CAC/B,SAAS,EACT,8BAA8B,MAAM,CAAC,IAAI,aAAa,eAAe,EAAE,CACvE,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;YAChD,SAAS;YACT,QAAQ;SACR,CAAC,CAAC;QAEH,sDAAsD;QACtD,0EAA0E;QAC1E,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBACnD,OAAO,EAAE,OAAO,CAAC,aAAa;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC;gBACJ,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAEpE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;wBAC9B,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;4BACjD,SAAS,EAAE,UAAU,CAAC,SAAS;yBAC/B,CAAC,CAAC;oBACJ,CAAC;yBAAM,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;wBACjC,MAAM,CAAC,OAAO,CACb,uBAAuB,OAAO,CAAC,aAAa,aAAa,UAAU,CAAC,SAAS,EAAE,CAC/E,CAAC;wBACF,MAAM,CAAC,IAAI,CACV,wEAAwE,CACxE,CAAC;oBACH,CAAC;gBACF,CAAC;qBAAM,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC7B,8CAA8C;oBAC9C,0CAA0C;oBAC1C,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;wBAClD,KAAK,EAAE,UAAU,CAAC,KAAK;qBACvB,CAAC,CAAC;oBACH,MAAM,CAAC,IAAI,CACV,gCAAgC,OAAO,CAAC,aAAa,gBAAgB,CACrE,CAAC;gBACH,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,qDAAqD;gBACrD,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBAC1C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC7D,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,iDAAiD;QACjD,IAAI,gBAAgB,GAAkB,IAAI,CAAC;QAC3C,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACtC,SAAS;gBACT,aAAa,EAAE,OAAO,CAAC,aAAa;aACpC,CAAC,CAAC;YAEH,gBAAgB,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAEnE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,oDAAoD;gBACpD,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC;gBACzC,MAAM,mBAAmB,GAAG,SAAS;oBACpC,CAAC,CAAC,yGAAyG;oBAC3G,CAAC,CAAC,0CAA0C,CAAC;gBAE9C,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;oBAC/C,SAAS;oBACT,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,QAAQ;oBACR,IAAI,EAAE,mBAAmB;iBACzB,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;oBACrC,SAAS;oBACT,gBAAgB;iBAChB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,6CAA6C;QAC7C,oDAAoD;QACpD,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAE5E,OAAO;YACN,OAAO,EAAE,IAAI;YACb,gBAAgB;YAChB,MAAM,EAAE,eAAyB;SACjC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,qDAAqD;QACrD,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC;QACb,CAAC;QAED,oBAAoB;QACpB,MAAM,IAAI,sBAAsB,CAC/B,SAAS,EACT,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC9E,CAAC;IACH,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Windows PATH management utilities
|
|
3
|
+
* Handles adding CLI tools to Windows PATH environment variable
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Result of PATH update operation
|
|
7
|
+
*/
|
|
8
|
+
export interface PathUpdateResult {
|
|
9
|
+
success: boolean;
|
|
10
|
+
pathAdded?: string;
|
|
11
|
+
error?: string;
|
|
12
|
+
requiresRestart: boolean;
|
|
13
|
+
alreadyInPath?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Find the installation directory of a command on Windows
|
|
17
|
+
* First tries `where` command, then falls back to checking common locations
|
|
18
|
+
*
|
|
19
|
+
* @param command - Command name (e.g., 'claude')
|
|
20
|
+
* @returns Full path to the executable directory or null if not found
|
|
21
|
+
*/
|
|
22
|
+
export declare function findCommandDirectory(command: string): Promise<string | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Check if a directory is in the user's PATH environment variable
|
|
25
|
+
* Queries Windows registry for current PATH value
|
|
26
|
+
*
|
|
27
|
+
* @param directory - Directory path to check
|
|
28
|
+
* @returns true if directory is in PATH
|
|
29
|
+
*/
|
|
30
|
+
export declare function isInUserPath(directory: string): Promise<boolean>;
|
|
31
|
+
/**
|
|
32
|
+
* Add a directory to the user's PATH environment variable on Windows
|
|
33
|
+
* Uses `setx` command to update the registry
|
|
34
|
+
*
|
|
35
|
+
* IMPORTANT: Changes take effect in NEW sessions only. Current session is unaffected.
|
|
36
|
+
*
|
|
37
|
+
* @param directory - Directory path to add to PATH
|
|
38
|
+
* @returns Result with success status and whether restart is required
|
|
39
|
+
*/
|
|
40
|
+
export declare function addToUserPath(directory: string): Promise<PathUpdateResult>;
|
|
41
|
+
/**
|
|
42
|
+
* Attempt to fix PATH for a command that was installed but is not in PATH
|
|
43
|
+
*
|
|
44
|
+
* Workflow:
|
|
45
|
+
* 1. Find where the command was installed (using `where` on the installer's session)
|
|
46
|
+
* 2. Check if that directory is already in user PATH
|
|
47
|
+
* 3. If not, add it using `setx`
|
|
48
|
+
* 4. Return result with instructions for user
|
|
49
|
+
*
|
|
50
|
+
* @param command - Command name (e.g., 'claude')
|
|
51
|
+
* @returns Result with success status and whether restart is required
|
|
52
|
+
*/
|
|
53
|
+
export declare function ensureCommandInPath(command: string): Promise<PathUpdateResult>;
|
|
54
|
+
//# sourceMappingURL=windows-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windows-path.d.ts","sourceRoot":"","sources":["../../src/utils/windows-path.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AA4FD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgClF;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA2CtE;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqHhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuDpF"}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Windows PATH management utilities
|
|
3
|
+
* Handles adding CLI tools to Windows PATH environment variable
|
|
4
|
+
*/
|
|
5
|
+
import { win32 as pathWin32 } from 'path';
|
|
6
|
+
import { existsSync } from 'fs';
|
|
7
|
+
import { exec } from './exec.js';
|
|
8
|
+
import { logger } from './logger.js';
|
|
9
|
+
import { sanitizeLogArgs } from './security.js';
|
|
10
|
+
/**
|
|
11
|
+
* Get Windows System32 directory path
|
|
12
|
+
* Defaults to C:\Windows\System32 if SystemRoot env var not set
|
|
13
|
+
*/
|
|
14
|
+
const getWindowsSystem32 = () => {
|
|
15
|
+
return process.env.SystemRoot
|
|
16
|
+
? `${process.env.SystemRoot}\\System32`
|
|
17
|
+
: 'C:\\Windows\\System32';
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Validate directory path for security
|
|
21
|
+
* Ensures path is absolute and doesn't contain shell metacharacters
|
|
22
|
+
*
|
|
23
|
+
* @param directory - Directory path to validate
|
|
24
|
+
* @returns Normalized path if valid, null if invalid
|
|
25
|
+
*/
|
|
26
|
+
function validateDirectoryPath(directory) {
|
|
27
|
+
try {
|
|
28
|
+
// Normalize path (resolve .., ., etc.)
|
|
29
|
+
const normalizedPath = pathWin32.normalize(directory);
|
|
30
|
+
// Must be absolute path
|
|
31
|
+
if (!pathWin32.isAbsolute(normalizedPath)) {
|
|
32
|
+
logger.debug('Directory path is not absolute', { directory });
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
// SECURITY: Check for shell metacharacters that could enable command injection
|
|
36
|
+
// Windows shell special chars: & | < > ^ ( ) " ; , \n \r
|
|
37
|
+
const dangerousChars = /[&|<>^();,\n\r"]/;
|
|
38
|
+
if (dangerousChars.test(normalizedPath)) {
|
|
39
|
+
logger.warn('Directory path contains dangerous shell metacharacters', {
|
|
40
|
+
directory: normalizedPath
|
|
41
|
+
});
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return normalizedPath;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
logger.debug('Failed to validate directory path', ...sanitizeLogArgs({ directory, error }));
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Check common installation directories for a command
|
|
53
|
+
* Checks standard Windows installation locations without relying on PATH
|
|
54
|
+
*
|
|
55
|
+
* @param command - Command name (e.g., 'claude')
|
|
56
|
+
* @returns Full path to the executable directory or null if not found
|
|
57
|
+
*/
|
|
58
|
+
function checkCommonInstallLocations(command) {
|
|
59
|
+
const userProfile = process.env.USERPROFILE || '';
|
|
60
|
+
const programFiles = process.env.ProgramFiles || 'C:\\Program Files';
|
|
61
|
+
const programFilesX86 = process.env['ProgramFiles(x86)'] || 'C:\\Program Files (x86)';
|
|
62
|
+
const localAppData = process.env.LOCALAPPDATA || `${userProfile}\\AppData\\Local`;
|
|
63
|
+
// Common installation locations for CLI tools on Windows
|
|
64
|
+
const commonLocations = [
|
|
65
|
+
// XDG-style user installation (Claude's preferred location)
|
|
66
|
+
`${userProfile}\\.local\\bin`,
|
|
67
|
+
// AppData Local
|
|
68
|
+
`${localAppData}\\Programs\\${command}`,
|
|
69
|
+
`${localAppData}\\${command}`,
|
|
70
|
+
`${localAppData}\\bin`,
|
|
71
|
+
// Program Files
|
|
72
|
+
`${programFiles}\\${command}`,
|
|
73
|
+
`${programFilesX86}\\${command}`,
|
|
74
|
+
// User-specific npm global
|
|
75
|
+
`${process.env.APPDATA || userProfile}\\npm`,
|
|
76
|
+
];
|
|
77
|
+
const exeName = `${command}.exe`;
|
|
78
|
+
for (const dir of commonLocations) {
|
|
79
|
+
try {
|
|
80
|
+
const exePath = `${dir}\\${exeName}`;
|
|
81
|
+
if (existsSync(exePath)) {
|
|
82
|
+
logger.debug('Found command in common location', { command, directory: dir });
|
|
83
|
+
return dir;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Continue checking other locations
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Find the installation directory of a command on Windows
|
|
94
|
+
* First tries `where` command, then falls back to checking common locations
|
|
95
|
+
*
|
|
96
|
+
* @param command - Command name (e.g., 'claude')
|
|
97
|
+
* @returns Full path to the executable directory or null if not found
|
|
98
|
+
*/
|
|
99
|
+
export async function findCommandDirectory(command) {
|
|
100
|
+
if (process.platform !== 'win32') {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
// SECURITY: Use full path to where.exe to avoid PATH hijacking
|
|
105
|
+
const wherePath = `${getWindowsSystem32()}\\where.exe`;
|
|
106
|
+
const result = await exec(wherePath, [command], { timeout: 5000 });
|
|
107
|
+
if (result.code === 0 && result.stdout) {
|
|
108
|
+
// Parse first line (where command may return multiple results)
|
|
109
|
+
const executablePath = result.stdout.trim().split('\n')[0].trim();
|
|
110
|
+
// Extract directory from full path
|
|
111
|
+
// Example: C:\Users\Username\AppData\Local\Programs\Claude\claude.exe
|
|
112
|
+
// -> C:\Users\Username\AppData\Local\Programs\Claude
|
|
113
|
+
const lastSlashIndex = executablePath.lastIndexOf('\\');
|
|
114
|
+
if (lastSlashIndex !== -1) {
|
|
115
|
+
const directory = executablePath.substring(0, lastSlashIndex);
|
|
116
|
+
logger.debug('Found command via where.exe', { command, directory });
|
|
117
|
+
return directory;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
logger.debug('where.exe failed, trying common locations', ...sanitizeLogArgs({ command, error }));
|
|
123
|
+
}
|
|
124
|
+
// Fallback: Check common installation directories
|
|
125
|
+
// This is crucial for newly installed commands that aren't in PATH yet
|
|
126
|
+
logger.debug('Checking common installation locations', { command });
|
|
127
|
+
return checkCommonInstallLocations(command);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Check if a directory is in the user's PATH environment variable
|
|
131
|
+
* Queries Windows registry for current PATH value
|
|
132
|
+
*
|
|
133
|
+
* @param directory - Directory path to check
|
|
134
|
+
* @returns true if directory is in PATH
|
|
135
|
+
*/
|
|
136
|
+
export async function isInUserPath(directory) {
|
|
137
|
+
if (process.platform !== 'win32') {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
// SECURITY: Validate and normalize directory path
|
|
141
|
+
const normalizedDirectory = validateDirectoryPath(directory);
|
|
142
|
+
if (!normalizedDirectory) {
|
|
143
|
+
logger.debug('Invalid directory path for PATH check', { directory });
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
// SECURITY: Use full path to reg.exe to avoid PATH hijacking
|
|
148
|
+
const regPath = `${getWindowsSystem32()}\\reg.exe`;
|
|
149
|
+
const result = await exec(regPath, [
|
|
150
|
+
'query',
|
|
151
|
+
'HKCU\\Environment',
|
|
152
|
+
'/v',
|
|
153
|
+
'PATH'
|
|
154
|
+
], { timeout: 5000 });
|
|
155
|
+
if (result.code === 0 && result.stdout) {
|
|
156
|
+
// Parse registry output
|
|
157
|
+
// Format: PATH REG_EXPAND_SZ C:\path1;C:\path2;...
|
|
158
|
+
const pathMatch = result.stdout.match(/PATH\s+REG_(?:EXPAND_)?SZ\s+(.+)/i);
|
|
159
|
+
if (pathMatch) {
|
|
160
|
+
const pathValue = pathMatch[1].trim();
|
|
161
|
+
// Normalize paths for comparison (case-insensitive, handle trailing slashes)
|
|
162
|
+
const dirForComparison = normalizedDirectory.toLowerCase().replace(/\\+$/, '');
|
|
163
|
+
const pathEntries = pathValue.split(';').map(p => pathWin32.normalize(p.trim()).toLowerCase().replace(/\\+$/, ''));
|
|
164
|
+
return pathEntries.includes(dirForComparison);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
logger.debug('Failed to check user PATH', ...sanitizeLogArgs({ directory, error }));
|
|
170
|
+
}
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Add a directory to the user's PATH environment variable on Windows
|
|
175
|
+
* Uses `setx` command to update the registry
|
|
176
|
+
*
|
|
177
|
+
* IMPORTANT: Changes take effect in NEW sessions only. Current session is unaffected.
|
|
178
|
+
*
|
|
179
|
+
* @param directory - Directory path to add to PATH
|
|
180
|
+
* @returns Result with success status and whether restart is required
|
|
181
|
+
*/
|
|
182
|
+
export async function addToUserPath(directory) {
|
|
183
|
+
if (process.platform !== 'win32') {
|
|
184
|
+
return {
|
|
185
|
+
success: false,
|
|
186
|
+
error: 'Not Windows platform',
|
|
187
|
+
requiresRestart: false,
|
|
188
|
+
alreadyInPath: false
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
// SECURITY: Validate and normalize directory path
|
|
192
|
+
const normalizedDirectory = validateDirectoryPath(directory);
|
|
193
|
+
if (!normalizedDirectory) {
|
|
194
|
+
return {
|
|
195
|
+
success: false,
|
|
196
|
+
error: 'Invalid directory path: must be absolute and contain no shell metacharacters',
|
|
197
|
+
requiresRestart: false,
|
|
198
|
+
alreadyInPath: false
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
try {
|
|
202
|
+
logger.debug('Adding directory to user PATH', { directory: normalizedDirectory });
|
|
203
|
+
// Get current user PATH
|
|
204
|
+
// SECURITY: Use full path to reg.exe to avoid PATH hijacking
|
|
205
|
+
const regPath = `${getWindowsSystem32()}\\reg.exe`;
|
|
206
|
+
const queryResult = await exec(regPath, [
|
|
207
|
+
'query',
|
|
208
|
+
'HKCU\\Environment',
|
|
209
|
+
'/v',
|
|
210
|
+
'PATH'
|
|
211
|
+
], { timeout: 5000 });
|
|
212
|
+
let currentPath = '';
|
|
213
|
+
if (queryResult.code === 0 && queryResult.stdout) {
|
|
214
|
+
const pathMatch = queryResult.stdout.match(/PATH\s+REG_(?:EXPAND_)?SZ\s+(.+)/i);
|
|
215
|
+
if (pathMatch) {
|
|
216
|
+
currentPath = pathMatch[1].trim();
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// Check for duplicates before adding
|
|
220
|
+
const dirForComparison = normalizedDirectory.toLowerCase().replace(/\\+$/, '');
|
|
221
|
+
const pathEntries = currentPath.split(';').map(p => pathWin32.normalize(p.trim()).toLowerCase().replace(/\\+$/, ''));
|
|
222
|
+
if (pathEntries.includes(dirForComparison)) {
|
|
223
|
+
logger.debug('Directory already in PATH, skipping', { directory: normalizedDirectory });
|
|
224
|
+
return {
|
|
225
|
+
success: true,
|
|
226
|
+
pathAdded: normalizedDirectory,
|
|
227
|
+
requiresRestart: true,
|
|
228
|
+
alreadyInPath: true
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
// Append new directory
|
|
232
|
+
const newPath = currentPath ? `${currentPath};${normalizedDirectory}` : normalizedDirectory;
|
|
233
|
+
// SECURITY: Check setx 1024 character limit
|
|
234
|
+
if (newPath.length > 1024) {
|
|
235
|
+
logger.warn('PATH exceeds setx 1024 character limit', {
|
|
236
|
+
currentLength: newPath.length,
|
|
237
|
+
limit: 1024
|
|
238
|
+
});
|
|
239
|
+
return {
|
|
240
|
+
success: false,
|
|
241
|
+
error: `PATH too long (${newPath.length} chars, limit 1024). Must update PATH manually via Registry Editor or System Properties.`,
|
|
242
|
+
requiresRestart: false,
|
|
243
|
+
alreadyInPath: false
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
// Update PATH using setx
|
|
247
|
+
// SECURITY: Use full path to setx.exe to avoid PATH hijacking
|
|
248
|
+
const setxPath = `${getWindowsSystem32()}\\setx.exe`;
|
|
249
|
+
const setxResult = await exec(setxPath, ['PATH', newPath], { timeout: 10000 });
|
|
250
|
+
if (setxResult.code === 0) {
|
|
251
|
+
logger.debug('Successfully added to PATH', { directory: normalizedDirectory });
|
|
252
|
+
return {
|
|
253
|
+
success: true,
|
|
254
|
+
pathAdded: normalizedDirectory,
|
|
255
|
+
requiresRestart: true,
|
|
256
|
+
alreadyInPath: false
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
const errorMsg = setxResult.stderr || setxResult.stdout || 'Unknown error';
|
|
261
|
+
logger.warn('Failed to update PATH with setx', {
|
|
262
|
+
directory: normalizedDirectory,
|
|
263
|
+
error: errorMsg
|
|
264
|
+
});
|
|
265
|
+
return {
|
|
266
|
+
success: false,
|
|
267
|
+
error: `setx failed: ${errorMsg}`,
|
|
268
|
+
requiresRestart: false,
|
|
269
|
+
alreadyInPath: false
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
catch (error) {
|
|
274
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
275
|
+
logger.error('Failed to add to user PATH', ...sanitizeLogArgs({
|
|
276
|
+
directory: normalizedDirectory,
|
|
277
|
+
error: errorMsg
|
|
278
|
+
}));
|
|
279
|
+
return {
|
|
280
|
+
success: false,
|
|
281
|
+
error: errorMsg,
|
|
282
|
+
requiresRestart: false,
|
|
283
|
+
alreadyInPath: false
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Attempt to fix PATH for a command that was installed but is not in PATH
|
|
289
|
+
*
|
|
290
|
+
* Workflow:
|
|
291
|
+
* 1. Find where the command was installed (using `where` on the installer's session)
|
|
292
|
+
* 2. Check if that directory is already in user PATH
|
|
293
|
+
* 3. If not, add it using `setx`
|
|
294
|
+
* 4. Return result with instructions for user
|
|
295
|
+
*
|
|
296
|
+
* @param command - Command name (e.g., 'claude')
|
|
297
|
+
* @returns Result with success status and whether restart is required
|
|
298
|
+
*/
|
|
299
|
+
export async function ensureCommandInPath(command) {
|
|
300
|
+
if (process.platform !== 'win32') {
|
|
301
|
+
return {
|
|
302
|
+
success: false,
|
|
303
|
+
error: 'Not Windows platform',
|
|
304
|
+
requiresRestart: false,
|
|
305
|
+
alreadyInPath: false
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
logger.debug('Ensuring command is in PATH', { command });
|
|
309
|
+
// Step 1: Try to find where the command was installed
|
|
310
|
+
// This works if the installer added it to the SYSTEM path or current session
|
|
311
|
+
const installDir = await findCommandDirectory(command);
|
|
312
|
+
if (!installDir) {
|
|
313
|
+
// Command not found anywhere, installation may have failed
|
|
314
|
+
logger.warn('Command not found in any PATH', { command });
|
|
315
|
+
return {
|
|
316
|
+
success: false,
|
|
317
|
+
error: `Could not locate ${command} installation directory`,
|
|
318
|
+
requiresRestart: false,
|
|
319
|
+
alreadyInPath: false
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
logger.debug('Found command installation directory', {
|
|
323
|
+
command,
|
|
324
|
+
directory: installDir
|
|
325
|
+
});
|
|
326
|
+
// Step 2: Check if already in user PATH
|
|
327
|
+
const alreadyInPath = await isInUserPath(installDir);
|
|
328
|
+
if (alreadyInPath) {
|
|
329
|
+
logger.debug('Command directory already in user PATH', {
|
|
330
|
+
command,
|
|
331
|
+
directory: installDir
|
|
332
|
+
});
|
|
333
|
+
return {
|
|
334
|
+
success: true,
|
|
335
|
+
pathAdded: installDir,
|
|
336
|
+
requiresRestart: true, // Still need restart even if already in registry
|
|
337
|
+
alreadyInPath: true
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
// Step 3: Add to PATH
|
|
341
|
+
logger.info('Adding command to user PATH', {
|
|
342
|
+
command,
|
|
343
|
+
directory: installDir
|
|
344
|
+
});
|
|
345
|
+
return await addToUserPath(installDir);
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=windows-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windows-path.js","sourceRoot":"","sources":["../../src/utils/windows-path.ts"],"names":[],"mappings":"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"}
|