@bryan-thompson/inspector-assessment-client 1.22.4 → 1.22.8
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/assets/{OAuthCallback-BbYrrLqg.js → OAuthCallback-CfFY9Gl_.js} +1 -1
- package/dist/assets/{OAuthDebugCallback-CbD0kGZX.js → OAuthDebugCallback-B5omwGTS.js} +1 -1
- package/dist/assets/{index-Cg22xU1I.js → index-CRQP7KdJ.js} +4 -4
- package/dist/index.html +1 -1
- package/lib/services/assessment/modules/ToolAnnotationAssessor.d.ts.map +1 -1
- package/lib/services/assessment/modules/ToolAnnotationAssessor.js +20 -20
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { u as useToast, r as reactExports, j as jsxRuntimeExports, p as parseOAuthCallbackParams, g as generateOAuthErrorDescription, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-
|
|
1
|
+
import { u as useToast, r as reactExports, j as jsxRuntimeExports, p as parseOAuthCallbackParams, g as generateOAuthErrorDescription, S as SESSION_KEYS, I as InspectorOAuthClientProvider, a as auth } from "./index-CRQP7KdJ.js";
|
|
2
2
|
const OAuthCallback = ({ onConnect }) => {
|
|
3
3
|
const { toast } = useToast();
|
|
4
4
|
const hasProcessedRef = reactExports.useRef(false);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-
|
|
1
|
+
import { r as reactExports, S as SESSION_KEYS, p as parseOAuthCallbackParams, j as jsxRuntimeExports, g as generateOAuthErrorDescription } from "./index-CRQP7KdJ.js";
|
|
2
2
|
const OAuthDebugCallback = ({ onConnect }) => {
|
|
3
3
|
reactExports.useEffect(() => {
|
|
4
4
|
let isProcessed = false;
|
|
@@ -16320,7 +16320,7 @@ object({
|
|
|
16320
16320
|
token_type_hint: string().optional()
|
|
16321
16321
|
}).strip();
|
|
16322
16322
|
const name = "@bryan-thompson/inspector-assessment-client";
|
|
16323
|
-
const version$1 = "1.22.
|
|
16323
|
+
const version$1 = "1.22.8";
|
|
16324
16324
|
const packageJson = {
|
|
16325
16325
|
name,
|
|
16326
16326
|
version: version$1
|
|
@@ -45352,7 +45352,7 @@ const useTheme = () => {
|
|
|
45352
45352
|
[theme, setThemeWithSideEffect]
|
|
45353
45353
|
);
|
|
45354
45354
|
};
|
|
45355
|
-
const version = "1.22.
|
|
45355
|
+
const version = "1.22.8";
|
|
45356
45356
|
var [createTooltipContext] = createContextScope("Tooltip", [
|
|
45357
45357
|
createPopperScope
|
|
45358
45358
|
]);
|
|
@@ -59266,13 +59266,13 @@ const App = () => {
|
|
|
59266
59266
|
) });
|
|
59267
59267
|
if (window.location.pathname === "/oauth/callback") {
|
|
59268
59268
|
const OAuthCallback = React.lazy(
|
|
59269
|
-
() => __vitePreload(() => import("./OAuthCallback-
|
|
59269
|
+
() => __vitePreload(() => import("./OAuthCallback-CfFY9Gl_.js"), true ? [] : void 0)
|
|
59270
59270
|
);
|
|
59271
59271
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthCallback, { onConnect: onOAuthConnect }) });
|
|
59272
59272
|
}
|
|
59273
59273
|
if (window.location.pathname === "/oauth/callback/debug") {
|
|
59274
59274
|
const OAuthDebugCallback = React.lazy(
|
|
59275
|
-
() => __vitePreload(() => import("./OAuthDebugCallback-
|
|
59275
|
+
() => __vitePreload(() => import("./OAuthDebugCallback-B5omwGTS.js"), true ? [] : void 0)
|
|
59276
59276
|
);
|
|
59277
59277
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(OAuthDebugCallback, { onConnect: onOAuthDebugConnect }) });
|
|
59278
59278
|
}
|
package/dist/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/mcp.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>MCP Inspector</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-CRQP7KdJ.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-DiyPO_Zj.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolAnnotationAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ToolAnnotationAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EAKpB,uBAAuB,EAExB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAK9B,MAAM,8BAA8B,CAAC;AAyXtC;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,eAAe,CAAC,EAAE;QAChB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,EAAE;YACpB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;QACF,oBAAoB,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;KAC7C,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC5C,cAAc,EAAE,OAAO,CAAC;IACxB,2BAA2B,EAAE,4BAA4B,EAAE,CAAC;CAC7D;AAKD,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAC,CAA2B;gBAE1C,MAAM,EAAE,uBAAuB;IAM3C;;OAEG;IACH,qBAAqB,IAAI,wBAAwB,GAAG,SAAS;IAI7D;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAK7C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK/C;;OAEG;IACH,eAAe,IAAI,OAAO;IAO1B;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,wBAAwB,GAAG,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolAnnotationAssessor.d.ts","sourceRoot":"","sources":["../../../../src/services/assessment/modules/ToolAnnotationAssessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EAKpB,uBAAuB,EAExB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAK9B,MAAM,8BAA8B,CAAC;AAyXtC;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,eAAe,CAAC,EAAE;QAChB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,EAAE;YACpB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;QACF,oBAAoB,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAAC;KAC7C,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC5C,cAAc,EAAE,OAAO,CAAC;IACxB,2BAA2B,EAAE,4BAA4B,EAAE,CAAC;CAC7D;AAKD,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAC,CAA2B;gBAE1C,MAAM,EAAE,uBAAuB;IAM3C;;OAEG;IACH,qBAAqB,IAAI,wBAAwB,GAAG,SAAS;IAI7D;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAK7C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK/C;;OAEG;IACH,eAAe,IAAI,OAAO;IAO1B;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,wBAAwB,GAAG,gCAAgC,CAAC;IAyUvE;;OAEG;YACW,0BAA0B;IA+IxC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiCnC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAoFvC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0IlB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IA2DnC;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAyE1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkKrB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA0DjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiDxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA2ChC"}
|
|
@@ -535,6 +535,7 @@ export class ToolAnnotationAssessor extends BaseAssessor {
|
|
|
535
535
|
const toolAnnotations = this.extractAnnotations(tool);
|
|
536
536
|
const alignmentStatus = latestResult.alignmentStatus;
|
|
537
537
|
// Check readOnlyHint mismatch
|
|
538
|
+
// Only emit events when inference is confident enough to contradict explicit annotations
|
|
538
539
|
if (annotations?.readOnlyHint !== undefined &&
|
|
539
540
|
annotations.readOnlyHint !== inferred.expectedReadOnly) {
|
|
540
541
|
if (alignmentStatus === "REVIEW_RECOMMENDED") {
|
|
@@ -553,8 +554,9 @@ export class ToolAnnotationAssessor extends BaseAssessor {
|
|
|
553
554
|
reason: inferred.reason,
|
|
554
555
|
});
|
|
555
556
|
}
|
|
556
|
-
else {
|
|
557
|
-
// Emit misaligned for high-confidence mismatches
|
|
557
|
+
else if (!inferred.isAmbiguous && inferred.confidence !== "low") {
|
|
558
|
+
// Emit misaligned only for medium/high-confidence mismatches
|
|
559
|
+
// When inference is low-confidence/ambiguous, trust explicit annotation
|
|
558
560
|
context.onProgress({
|
|
559
561
|
type: "annotation_misaligned",
|
|
560
562
|
tool: tool.name,
|
|
@@ -568,8 +570,10 @@ export class ToolAnnotationAssessor extends BaseAssessor {
|
|
|
568
570
|
reason: `Tool has readOnlyHint=${annotations.readOnlyHint}, but ${inferred.reason}`,
|
|
569
571
|
});
|
|
570
572
|
}
|
|
573
|
+
// When inference is ambiguous/low-confidence, trust explicit annotation - no event emitted
|
|
571
574
|
}
|
|
572
575
|
// Check destructiveHint mismatch
|
|
576
|
+
// Only emit events when inference is confident enough to contradict explicit annotations
|
|
573
577
|
if (annotations?.destructiveHint !== undefined &&
|
|
574
578
|
annotations.destructiveHint !== inferred.expectedDestructive) {
|
|
575
579
|
if (alignmentStatus === "REVIEW_RECOMMENDED") {
|
|
@@ -588,8 +592,9 @@ export class ToolAnnotationAssessor extends BaseAssessor {
|
|
|
588
592
|
reason: inferred.reason,
|
|
589
593
|
});
|
|
590
594
|
}
|
|
591
|
-
else {
|
|
592
|
-
// Emit misaligned for high-confidence mismatches
|
|
595
|
+
else if (!inferred.isAmbiguous && inferred.confidence !== "low") {
|
|
596
|
+
// Emit misaligned only for medium/high-confidence mismatches
|
|
597
|
+
// When inference is low-confidence/ambiguous, trust explicit annotation
|
|
593
598
|
context.onProgress({
|
|
594
599
|
type: "annotation_misaligned",
|
|
595
600
|
tool: tool.name,
|
|
@@ -603,6 +608,7 @@ export class ToolAnnotationAssessor extends BaseAssessor {
|
|
|
603
608
|
reason: `Tool has destructiveHint=${annotations.destructiveHint}, but ${inferred.reason}`,
|
|
604
609
|
});
|
|
605
610
|
}
|
|
611
|
+
// When inference is ambiguous/low-confidence, trust explicit annotation - no event emitted
|
|
606
612
|
}
|
|
607
613
|
}
|
|
608
614
|
}
|
|
@@ -887,21 +893,13 @@ export class ToolAnnotationAssessor extends BaseAssessor {
|
|
|
887
893
|
const destructiveMismatch = annotations.destructiveHint !== undefined &&
|
|
888
894
|
annotations.destructiveHint !== inferredBehavior.expectedDestructive;
|
|
889
895
|
if (readOnlyMismatch || destructiveMismatch) {
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
}
|
|
898
|
-
if (destructiveMismatch) {
|
|
899
|
-
issues.push(`Review recommended: destructiveHint=${annotations.destructiveHint} may or may not match '${tool.name}' behavior (confidence: ${inferredBehavior.confidence})`);
|
|
900
|
-
recommendations.push(`Verify destructiveHint for ${tool.name}: pattern is ambiguous - manual review recommended`);
|
|
901
|
-
}
|
|
902
|
-
}
|
|
903
|
-
else {
|
|
904
|
-
// High/medium confidence mismatch: MISALIGNED
|
|
896
|
+
// Only flag misalignment for medium/high confidence inference
|
|
897
|
+
// When confidence is low/ambiguous, trust the explicit annotation
|
|
898
|
+
// Note: High-confidence deception detection (exec/install keywords)
|
|
899
|
+
// is handled in the `deception` block above, not here
|
|
900
|
+
if (!inferredBehavior.isAmbiguous &&
|
|
901
|
+
inferredBehavior.confidence !== "low") {
|
|
902
|
+
// Medium/high confidence mismatch: MISALIGNED
|
|
905
903
|
alignmentStatus = "MISALIGNED";
|
|
906
904
|
if (readOnlyMismatch) {
|
|
907
905
|
issues.push(`Potentially misaligned readOnlyHint: set to ${annotations.readOnlyHint}, expected ${inferredBehavior.expectedReadOnly} based on tool name pattern`);
|
|
@@ -912,6 +910,8 @@ export class ToolAnnotationAssessor extends BaseAssessor {
|
|
|
912
910
|
recommendations.push(`Verify destructiveHint for ${tool.name}: currently ${annotations.destructiveHint}, tool name suggests ${inferredBehavior.expectedDestructive}`);
|
|
913
911
|
}
|
|
914
912
|
}
|
|
913
|
+
// When inference is ambiguous/low confidence, trust the explicit annotation
|
|
914
|
+
// and keep alignmentStatus as ALIGNED (no change needed)
|
|
915
915
|
}
|
|
916
916
|
}
|
|
917
917
|
}
|
|
@@ -1203,7 +1203,7 @@ export class ToolAnnotationAssessor extends BaseAssessor {
|
|
|
1203
1203
|
return {
|
|
1204
1204
|
expectedReadOnly: false,
|
|
1205
1205
|
expectedDestructive: false,
|
|
1206
|
-
reason: "Could not infer from name pattern
|
|
1206
|
+
reason: "Could not infer behavior from name pattern",
|
|
1207
1207
|
confidence: "low",
|
|
1208
1208
|
isAmbiguous: true,
|
|
1209
1209
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bryan-thompson/inspector-assessment-client",
|
|
3
|
-
"version": "1.22.
|
|
3
|
+
"version": "1.22.8",
|
|
4
4
|
"description": "Client-side application for the Enhanced MCP Inspector with assessment capabilities",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Bryan Thompson <bryan@triepod.ai>",
|