metheus-governance-mcp-cli 0.2.41 → 0.2.42
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 +34 -2
- package/package.json +1 -1
package/cli.mjs
CHANGED
|
@@ -676,9 +676,21 @@ function resolveWorkspaceDirForRequest(defaultWorkspaceDir, requestObj, toolArgs
|
|
|
676
676
|
const weakRequestCandidate = extractWeakWorkspaceCandidateFromRequest(requestObj);
|
|
677
677
|
const weakEnvCandidate = extractWeakWorkspaceCandidateFromEnv();
|
|
678
678
|
const homeCandidate = firstNonEmptyString([process.env.USERPROFILE, process.env.HOME]);
|
|
679
|
+
const strongEnvResolved = sanitizeWorkspaceCandidate(strongEnvCandidate);
|
|
680
|
+
const strongRequestResolved = sanitizeWorkspaceCandidate(strongRequestCandidate);
|
|
681
|
+
const weakRequestResolved = sanitizeWorkspaceCandidate(weakRequestCandidate);
|
|
682
|
+
|
|
683
|
+
if (strongRequestResolved) {
|
|
684
|
+
return strongRequestResolved;
|
|
685
|
+
}
|
|
686
|
+
if (strongEnvResolved) {
|
|
687
|
+
return strongEnvResolved;
|
|
688
|
+
}
|
|
689
|
+
if (weakRequestResolved) {
|
|
690
|
+
return weakRequestResolved;
|
|
691
|
+
}
|
|
692
|
+
|
|
679
693
|
const localPreferredCandidates = [
|
|
680
|
-
strongRequestCandidate,
|
|
681
|
-
weakRequestCandidate,
|
|
682
694
|
defaultWorkspaceDir,
|
|
683
695
|
process.cwd(),
|
|
684
696
|
];
|
|
@@ -5250,6 +5262,26 @@ function runSelftest(flags = {}) {
|
|
|
5250
5262
|
keptExistingOk,
|
|
5251
5263
|
`input=${suspicious} recovered=${keptExisting || "(none)"}`,
|
|
5252
5264
|
);
|
|
5265
|
+
|
|
5266
|
+
const originalWorkspaceEnv = process.env.METHEUS_WORKSPACE_DIR;
|
|
5267
|
+
const forcedEnvWorkspace = path.join(tempRoot, "forced-workspace");
|
|
5268
|
+
const defaultWorkspace = path.join(tempRoot, "default-workspace");
|
|
5269
|
+
fs.mkdirSync(forcedEnvWorkspace, { recursive: true });
|
|
5270
|
+
fs.mkdirSync(defaultWorkspace, { recursive: true });
|
|
5271
|
+
process.env.METHEUS_WORKSPACE_DIR = forcedEnvWorkspace;
|
|
5272
|
+
const resolvedByEnvPriority = resolveWorkspaceDirForRequest(defaultWorkspace, {}, {});
|
|
5273
|
+
if (typeof originalWorkspaceEnv === "string") {
|
|
5274
|
+
process.env.METHEUS_WORKSPACE_DIR = originalWorkspaceEnv;
|
|
5275
|
+
} else {
|
|
5276
|
+
delete process.env.METHEUS_WORKSPACE_DIR;
|
|
5277
|
+
}
|
|
5278
|
+
const envPriorityOk =
|
|
5279
|
+
normalizedPathForCompare(resolvedByEnvPriority) === normalizedPathForCompare(forcedEnvWorkspace);
|
|
5280
|
+
push(
|
|
5281
|
+
"workspace_env_priority_over_default",
|
|
5282
|
+
envPriorityOk,
|
|
5283
|
+
`env=${forcedEnvWorkspace} default=${defaultWorkspace} resolved=${resolvedByEnvPriority || "(none)"}`,
|
|
5284
|
+
);
|
|
5253
5285
|
} catch (err) {
|
|
5254
5286
|
push("workspace_env_guard_test_setup", false, String(err?.message || err));
|
|
5255
5287
|
} finally {
|