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.
Files changed (2) hide show
  1. package/cli.mjs +34 -2
  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 {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "metheus-governance-mcp-cli",
3
- "version": "0.2.41",
3
+ "version": "0.2.42",
4
4
  "description": "Metheus Governance MCP CLI (setup + stdio proxy)",
5
5
  "type": "module",
6
6
  "files": [