metheus-governance-mcp-cli 0.2.18 → 0.2.19
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 +41 -25
- package/package.json +1 -1
package/cli.mjs
CHANGED
|
@@ -388,8 +388,13 @@ function extractStrongWorkspaceCandidateFromRequest(requestObj, toolArgs) {
|
|
|
388
388
|
}
|
|
389
389
|
|
|
390
390
|
function extractWorkspaceCandidateFromRequest(requestObj, toolArgs) {
|
|
391
|
-
|
|
392
|
-
|
|
391
|
+
return firstNonEmptyString([
|
|
392
|
+
extractStrongWorkspaceCandidateFromRequest(requestObj, toolArgs),
|
|
393
|
+
extractWeakWorkspaceCandidateFromRequest(requestObj),
|
|
394
|
+
]);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
function extractWeakWorkspaceCandidateFromRequest(requestObj) {
|
|
393
398
|
const params = safeObject(requestObj?.params);
|
|
394
399
|
const meta = safeObject(params._meta);
|
|
395
400
|
const rawCandidate = firstNonEmptyString([
|
|
@@ -421,8 +426,14 @@ function extractStrongWorkspaceCandidateFromEnv() {
|
|
|
421
426
|
}
|
|
422
427
|
|
|
423
428
|
function extractWorkspaceCandidateFromEnv() {
|
|
424
|
-
|
|
429
|
+
return firstNonEmptyString([
|
|
425
430
|
extractStrongWorkspaceCandidateFromEnv(),
|
|
431
|
+
extractWeakWorkspaceCandidateFromEnv(),
|
|
432
|
+
]);
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
function extractWeakWorkspaceCandidateFromEnv() {
|
|
436
|
+
const rawCandidate = firstNonEmptyString([
|
|
426
437
|
process.env.WORKSPACE_DIR,
|
|
427
438
|
process.env.WORKSPACE_FOLDER,
|
|
428
439
|
process.env.VSCODE_WORKSPACE_FOLDER,
|
|
@@ -434,10 +445,20 @@ function extractWorkspaceCandidateFromEnv() {
|
|
|
434
445
|
}
|
|
435
446
|
|
|
436
447
|
function resolveWorkspaceDirForRequest(defaultWorkspaceDir, requestObj, toolArgs) {
|
|
437
|
-
const
|
|
438
|
-
const
|
|
448
|
+
const strongRequestCandidate = extractStrongWorkspaceCandidateFromRequest(requestObj, toolArgs);
|
|
449
|
+
const strongEnvCandidate = extractStrongWorkspaceCandidateFromEnv();
|
|
450
|
+
const weakRequestCandidate = extractWeakWorkspaceCandidateFromRequest(requestObj);
|
|
451
|
+
const weakEnvCandidate = extractWeakWorkspaceCandidateFromEnv();
|
|
439
452
|
const homeCandidate = firstNonEmptyString([process.env.USERPROFILE, process.env.HOME]);
|
|
440
|
-
for (const rawCandidate of [
|
|
453
|
+
for (const rawCandidate of [
|
|
454
|
+
strongRequestCandidate,
|
|
455
|
+
strongEnvCandidate,
|
|
456
|
+
weakRequestCandidate,
|
|
457
|
+
weakEnvCandidate,
|
|
458
|
+
defaultWorkspaceDir,
|
|
459
|
+
process.cwd(),
|
|
460
|
+
homeCandidate,
|
|
461
|
+
]) {
|
|
441
462
|
const resolved = sanitizeWorkspaceCandidate(rawCandidate);
|
|
442
463
|
if (resolved) return resolved;
|
|
443
464
|
}
|
|
@@ -3793,30 +3814,25 @@ async function runProxy(flags) {
|
|
|
3793
3814
|
}
|
|
3794
3815
|
|
|
3795
3816
|
const { name: toolName, args: toolArgs } = extractToolCall(requestObj);
|
|
3796
|
-
let requestWorkspaceCandidate = "";
|
|
3797
3817
|
let strongRequestWorkspaceCandidate = "";
|
|
3818
|
+
let weakRequestWorkspaceCandidate = "";
|
|
3798
3819
|
let strongEnvWorkspaceCandidate = "";
|
|
3820
|
+
let weakEnvWorkspaceCandidate = "";
|
|
3799
3821
|
if (!args.explicitPinnedWorkspace) {
|
|
3800
3822
|
strongRequestWorkspaceCandidate = extractStrongWorkspaceCandidateFromRequest(requestObj, toolArgs);
|
|
3801
|
-
|
|
3802
|
-
strongRequestWorkspaceCandidate,
|
|
3803
|
-
extractWorkspaceCandidateFromRequest(requestObj, toolArgs),
|
|
3804
|
-
]);
|
|
3823
|
+
weakRequestWorkspaceCandidate = extractWeakWorkspaceCandidateFromRequest(requestObj);
|
|
3805
3824
|
strongEnvWorkspaceCandidate = extractStrongWorkspaceCandidateFromEnv();
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
if (
|
|
3811
|
-
sessionWorkspaceDir =
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
} else if (
|
|
3816
|
-
sessionWorkspaceDir =
|
|
3817
|
-
if (strongEnvWorkspaceCandidate) {
|
|
3818
|
-
sessionWorkspaceTrusted = true;
|
|
3819
|
-
}
|
|
3825
|
+
weakEnvWorkspaceCandidate = extractWeakWorkspaceCandidateFromEnv();
|
|
3826
|
+
if (strongRequestWorkspaceCandidate) {
|
|
3827
|
+
sessionWorkspaceDir = strongRequestWorkspaceCandidate;
|
|
3828
|
+
sessionWorkspaceTrusted = true;
|
|
3829
|
+
} else if (strongEnvWorkspaceCandidate) {
|
|
3830
|
+
sessionWorkspaceDir = strongEnvWorkspaceCandidate;
|
|
3831
|
+
sessionWorkspaceTrusted = true;
|
|
3832
|
+
} else if (weakRequestWorkspaceCandidate) {
|
|
3833
|
+
sessionWorkspaceDir = weakRequestWorkspaceCandidate;
|
|
3834
|
+
} else if (weakEnvWorkspaceCandidate) {
|
|
3835
|
+
sessionWorkspaceDir = weakEnvWorkspaceCandidate;
|
|
3820
3836
|
}
|
|
3821
3837
|
}
|
|
3822
3838
|
const workspaceSignalTrusted =
|