vigthoria-cli 1.11.36 → 1.11.37
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/utils/tools.js +20 -4
- package/package.json +1 -1
package/dist/utils/tools.js
CHANGED
|
@@ -2549,6 +2549,21 @@ export class AgenticTools {
|
|
|
2549
2549
|
if (!candidate) {
|
|
2550
2550
|
return candidate;
|
|
2551
2551
|
}
|
|
2552
|
+
const redactedWorkspaceAliases = [
|
|
2553
|
+
'www/[internal]/',
|
|
2554
|
+
'var/www/[internal]/',
|
|
2555
|
+
'/var/www/[internal]/',
|
|
2556
|
+
'[internal]/',
|
|
2557
|
+
];
|
|
2558
|
+
for (const alias of redactedWorkspaceAliases) {
|
|
2559
|
+
if (candidate.startsWith(alias)) {
|
|
2560
|
+
candidate = candidate.slice(alias.length);
|
|
2561
|
+
break;
|
|
2562
|
+
}
|
|
2563
|
+
}
|
|
2564
|
+
if (candidate === 'www/[internal]' || candidate === 'var/www/[internal]' || candidate === '/var/www/[internal]' || candidate === '[internal]') {
|
|
2565
|
+
return '';
|
|
2566
|
+
}
|
|
2552
2567
|
const normalizedRootNoSlash = workspaceRootPosix.replace(/^\//, '');
|
|
2553
2568
|
const prefixes = [
|
|
2554
2569
|
`${workspaceRootPosix}/`,
|
|
@@ -2568,13 +2583,14 @@ export class AgenticTools {
|
|
|
2568
2583
|
}
|
|
2569
2584
|
return candidate.replace(/^\//, '');
|
|
2570
2585
|
};
|
|
2571
|
-
// Resolve the full path
|
|
2586
|
+
// Resolve the full path after removing workspace aliases emitted by remote models.
|
|
2587
|
+
const safeInput = stripWorkspacePrefix(normalizedInput);
|
|
2572
2588
|
let resolvedPath;
|
|
2573
|
-
if (path.isAbsolute(
|
|
2574
|
-
resolvedPath = path.normalize(
|
|
2589
|
+
if (path.isAbsolute(safeInput)) {
|
|
2590
|
+
resolvedPath = path.normalize(safeInput);
|
|
2575
2591
|
}
|
|
2576
2592
|
else {
|
|
2577
|
-
resolvedPath = path.normalize(path.join(this.cwd,
|
|
2593
|
+
resolvedPath = path.normalize(path.join(this.cwd, safeInput));
|
|
2578
2594
|
}
|
|
2579
2595
|
// SECURITY CHECK: Ensure path is within workspace
|
|
2580
2596
|
if (!resolvedPath.startsWith(workspaceRoot + path.sep) && resolvedPath !== workspaceRoot) {
|