metheus-governance-mcp-cli 0.2.42 → 0.2.43
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/cli.mjs +27 -3
- package/package.json +1 -1
package/cli.mjs
CHANGED
|
@@ -683,12 +683,18 @@ function resolveWorkspaceDirForRequest(defaultWorkspaceDir, requestObj, toolArgs
|
|
|
683
683
|
if (strongRequestResolved) {
|
|
684
684
|
return strongRequestResolved;
|
|
685
685
|
}
|
|
686
|
-
if (strongEnvResolved) {
|
|
687
|
-
return strongEnvResolved;
|
|
688
|
-
}
|
|
689
686
|
if (weakRequestResolved) {
|
|
687
|
+
// Prefer client-provided current workspace over fallback env, unless request resolves to home.
|
|
688
|
+
if (isHomeWorkspaceRoot(weakRequestResolved)) {
|
|
689
|
+
if (strongEnvResolved && !isHomeWorkspaceRoot(strongEnvResolved)) {
|
|
690
|
+
return strongEnvResolved;
|
|
691
|
+
}
|
|
692
|
+
}
|
|
690
693
|
return weakRequestResolved;
|
|
691
694
|
}
|
|
695
|
+
if (strongEnvResolved) {
|
|
696
|
+
return strongEnvResolved;
|
|
697
|
+
}
|
|
692
698
|
|
|
693
699
|
const localPreferredCandidates = [
|
|
694
700
|
defaultWorkspaceDir,
|
|
@@ -5266,10 +5272,21 @@ function runSelftest(flags = {}) {
|
|
|
5266
5272
|
const originalWorkspaceEnv = process.env.METHEUS_WORKSPACE_DIR;
|
|
5267
5273
|
const forcedEnvWorkspace = path.join(tempRoot, "forced-workspace");
|
|
5268
5274
|
const defaultWorkspace = path.join(tempRoot, "default-workspace");
|
|
5275
|
+
const weakRequestWorkspace = path.join(tempRoot, "weak-request-workspace");
|
|
5269
5276
|
fs.mkdirSync(forcedEnvWorkspace, { recursive: true });
|
|
5270
5277
|
fs.mkdirSync(defaultWorkspace, { recursive: true });
|
|
5278
|
+
fs.mkdirSync(weakRequestWorkspace, { recursive: true });
|
|
5271
5279
|
process.env.METHEUS_WORKSPACE_DIR = forcedEnvWorkspace;
|
|
5272
5280
|
const resolvedByEnvPriority = resolveWorkspaceDirForRequest(defaultWorkspace, {}, {});
|
|
5281
|
+
const resolvedByWeakRequestPriority = resolveWorkspaceDirForRequest(
|
|
5282
|
+
defaultWorkspace,
|
|
5283
|
+
{
|
|
5284
|
+
params: {
|
|
5285
|
+
cwd: weakRequestWorkspace,
|
|
5286
|
+
},
|
|
5287
|
+
},
|
|
5288
|
+
{},
|
|
5289
|
+
);
|
|
5273
5290
|
if (typeof originalWorkspaceEnv === "string") {
|
|
5274
5291
|
process.env.METHEUS_WORKSPACE_DIR = originalWorkspaceEnv;
|
|
5275
5292
|
} else {
|
|
@@ -5282,6 +5299,13 @@ function runSelftest(flags = {}) {
|
|
|
5282
5299
|
envPriorityOk,
|
|
5283
5300
|
`env=${forcedEnvWorkspace} default=${defaultWorkspace} resolved=${resolvedByEnvPriority || "(none)"}`,
|
|
5284
5301
|
);
|
|
5302
|
+
const weakRequestPriorityOk =
|
|
5303
|
+
normalizedPathForCompare(resolvedByWeakRequestPriority) === normalizedPathForCompare(weakRequestWorkspace);
|
|
5304
|
+
push(
|
|
5305
|
+
"workspace_weak_request_priority_over_env",
|
|
5306
|
+
weakRequestPriorityOk,
|
|
5307
|
+
`request=${weakRequestWorkspace} env=${forcedEnvWorkspace} resolved=${resolvedByWeakRequestPriority || "(none)"}`,
|
|
5308
|
+
);
|
|
5285
5309
|
} catch (err) {
|
|
5286
5310
|
push("workspace_env_guard_test_setup", false, String(err?.message || err));
|
|
5287
5311
|
} finally {
|