vexp-cli 2.2.3 → 2.2.4
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/agent-config.js +27 -6
- package/package.json +6 -6
package/dist/agent-config.js
CHANGED
|
@@ -291,8 +291,20 @@ export function configureAgents(workspaceRoot, binaryPath, version, agentFilter,
|
|
|
291
291
|
// Write MCP config for agents with mcpConfigFile (project-level JSON)
|
|
292
292
|
if (detector.mcpConfigFile) {
|
|
293
293
|
const mcpConfigPath = path.join(workspaceRoot, detector.mcpConfigFile);
|
|
294
|
-
const
|
|
295
|
-
|
|
294
|
+
const isKiro = detector.agent === "Kiro";
|
|
295
|
+
// Windsurf and Kiro auto-approve vexp's tools so the agent isn't prompted
|
|
296
|
+
// on every run_pipeline call. Kiro's field is `autoApprove`; others use
|
|
297
|
+
// `alwaysAllow`.
|
|
298
|
+
const alwaysAllow = (detector.agent === "Windsurf" || isKiro) ? VEXP_TOOLS : undefined;
|
|
299
|
+
const approveKey = isKiro ? "autoApprove" : "alwaysAllow";
|
|
300
|
+
// Kiro resolves the MCP `command` via PATH, and a macOS GUI launch has no
|
|
301
|
+
// `node` on PATH — so the `node <mcp-server.cjs>` transport silently fails
|
|
302
|
+
// to start and run_pipeline never appears (the agent then falls back to
|
|
303
|
+
// grep/sed). Point Kiro straight at the vexp binary (`vexp-core mcp`, which
|
|
304
|
+
// reads VEXP_WORKSPACE from env) by withholding mcpServerPath — no `node`
|
|
305
|
+
// needed, an absolute path that always resolves.
|
|
306
|
+
const mcpSrv = isKiro ? undefined : mcpServerPath;
|
|
307
|
+
if (writeMcpConfig(mcpConfigPath, binaryPath, alwaysAllow, mcpSrv, workspaceRoot, approveKey)) {
|
|
296
308
|
mcpConfigs.push(detector.mcpConfigFile);
|
|
297
309
|
}
|
|
298
310
|
}
|
|
@@ -529,8 +541,14 @@ export function configureSelectedAgents(workspaceRoot, binaryPath, version, sele
|
|
|
529
541
|
}
|
|
530
542
|
if (detector.mcpConfigFile) {
|
|
531
543
|
const mcpConfigPath = path.join(workspaceRoot, detector.mcpConfigFile);
|
|
532
|
-
const
|
|
533
|
-
|
|
544
|
+
const isKiro = detector.agent === "Kiro";
|
|
545
|
+
// See configureAgents(): Kiro auto-approves under `autoApprove` and is
|
|
546
|
+
// pointed at the vexp binary (no `node` on macOS GUI PATH) by withholding
|
|
547
|
+
// mcpServerPath.
|
|
548
|
+
const alwaysAllow = (detector.agent === "Windsurf" || isKiro) ? VEXP_TOOLS : undefined;
|
|
549
|
+
const approveKey = isKiro ? "autoApprove" : "alwaysAllow";
|
|
550
|
+
const mcpSrv = isKiro ? undefined : mcpServerPath;
|
|
551
|
+
if (writeMcpConfig(mcpConfigPath, binaryPath, alwaysAllow, mcpSrv, workspaceRoot, approveKey))
|
|
534
552
|
mcpConfigs.push(detector.mcpConfigFile);
|
|
535
553
|
}
|
|
536
554
|
if (detector.agent === "Claude Code") {
|
|
@@ -861,7 +879,10 @@ export function configureAntigravityGlobal(binaryPath, mcpServerPath) {
|
|
|
861
879
|
}
|
|
862
880
|
return writeMcpConfig(path.join(cfgDir, "mcp_config.json"), binaryPath, undefined, mcpServerPath, undefined);
|
|
863
881
|
}
|
|
864
|
-
export function writeMcpConfig(mcpConfigPath, binaryPath, alwaysAllow, mcpServerPath, workspaceRoot
|
|
882
|
+
export function writeMcpConfig(mcpConfigPath, binaryPath, alwaysAllow, mcpServerPath, workspaceRoot,
|
|
883
|
+
// Key under which the auto-approve tool list is written. Cursor/Windsurf use
|
|
884
|
+
// `alwaysAllow`; Kiro uses `autoApprove` (a `.kiro/settings/mcp.json` field).
|
|
885
|
+
approveKey = "alwaysAllow") {
|
|
865
886
|
const read = readJsonConfigSafe(mcpConfigPath);
|
|
866
887
|
if (!read.ok) {
|
|
867
888
|
warnUnparseable(mcpConfigPath);
|
|
@@ -900,7 +921,7 @@ export function writeMcpConfig(mcpConfigPath, binaryPath, alwaysAllow, mcpServer
|
|
|
900
921
|
command: targetCmd,
|
|
901
922
|
args: targetArgs,
|
|
902
923
|
...(targetEnv ? { env: targetEnv } : {}),
|
|
903
|
-
...(alwaysAllow && alwaysAllow.length > 0 ? { alwaysAllow } : {}),
|
|
924
|
+
...(alwaysAllow && alwaysAllow.length > 0 ? { [approveKey]: alwaysAllow } : {}),
|
|
904
925
|
};
|
|
905
926
|
existing.mcpServers = servers;
|
|
906
927
|
fs.mkdirSync(path.dirname(mcpConfigPath), { recursive: true });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vexp-cli",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.4",
|
|
4
4
|
"description": "Vexp — Context Engine for AI Coding Agents. Pre-indexes your codebase into a dependency graph and delivers ranked context to any MCP-compatible agent. 58% lower cost per task, 90% fewer tool calls (SWE-bench Verified). Works with Claude Code, Cursor, Copilot, Windsurf, Codex, Cline, Aider, and 12+ agents. Local-first. Your code never leaves your machine.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
"node": ">=20.0.0"
|
|
101
101
|
},
|
|
102
102
|
"optionalDependencies": {
|
|
103
|
-
"@vexp/core-linux-x64": "2.2.
|
|
104
|
-
"@vexp/core-linux-arm64": "2.2.
|
|
105
|
-
"@vexp/core-darwin-x64": "2.2.
|
|
106
|
-
"@vexp/core-darwin-arm64": "2.2.
|
|
107
|
-
"@vexp/core-win32-x64": "2.2.
|
|
103
|
+
"@vexp/core-linux-x64": "2.2.4",
|
|
104
|
+
"@vexp/core-linux-arm64": "2.2.4",
|
|
105
|
+
"@vexp/core-darwin-x64": "2.2.4",
|
|
106
|
+
"@vexp/core-darwin-arm64": "2.2.4",
|
|
107
|
+
"@vexp/core-win32-x64": "2.2.4"
|
|
108
108
|
}
|
|
109
109
|
}
|