@agent-inspect/mcp-server 6.17.6 → 6.17.7

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/README.md CHANGED
@@ -5,6 +5,8 @@ Read-only MCP server for the **local coding-agent debug loop**: list runs, summa
5
5
 
6
6
  **Support level:** Preview — see [SUPPORT-LEVELS.md](https://github.com/rajudandigam/agent-inspect/blob/main/docs/SUPPORT-LEVELS.md).
7
7
 
8
+ [![agent-inspect MCP server](https://glama.ai/mcp/servers/rajudandigam/agent-inspect/badges/score.svg)](https://glama.ai/mcp/servers/rajudandigam/agent-inspect)
9
+
8
10
  ## When to use
9
11
 
10
12
  - Let Cursor, Claude Code, Codex, Gemini, or other MCP clients inspect local `.agent-inspect/` evidence
@@ -1840,29 +1840,30 @@ async function searchTraces(metas, options) {
1840
1840
  }
1841
1841
  function matchRunLevel(m, opts) {
1842
1842
  if (opts.stepTypeFilter || opts.toolQuery) return [];
1843
- const out = [];
1843
+ if (opts.statusFilter && m.status !== opts.statusFilter) return [];
1844
+ if (opts.nameQuery && !nameMatches(m.name ?? m.runId, opts.nameQuery)) {
1845
+ return [];
1846
+ }
1847
+ if (opts.durationFilter && !durationMatches(m.durationMs, opts.durationFilter)) {
1848
+ return [];
1849
+ }
1844
1850
  const fields = [];
1845
- if (opts.statusFilter && m.status === opts.statusFilter) {
1846
- fields.push("run.status");
1847
- }
1848
- if (opts.nameQuery && nameMatches(m.name ?? m.runId, opts.nameQuery)) {
1849
- fields.push("run.name");
1850
- }
1851
- if (opts.durationFilter && durationMatches(m.durationMs, opts.durationFilter)) {
1852
- fields.push("run.durationMs");
1853
- }
1854
- if (fields.length === 0) return out;
1855
- out.push({
1856
- runId: m.runId,
1857
- runName: m.name,
1858
- runStatus: m.status,
1859
- timestamp: m.startedAt,
1860
- durationMs: m.durationMs,
1861
- matchReason: `run match: ${fields.join(", ")}`,
1862
- matchedFields: fields,
1863
- filePath: m.filePath
1864
- });
1865
- return out;
1851
+ if (opts.statusFilter) fields.push("run.status");
1852
+ if (opts.nameQuery) fields.push("run.name");
1853
+ if (opts.durationFilter) fields.push("run.durationMs");
1854
+ if (fields.length === 0) return [];
1855
+ return [
1856
+ {
1857
+ runId: m.runId,
1858
+ runName: m.name,
1859
+ runStatus: m.status,
1860
+ timestamp: m.startedAt,
1861
+ durationMs: m.durationMs,
1862
+ matchReason: `run match: ${fields.join(", ")}`,
1863
+ matchedFields: fields,
1864
+ filePath: m.filePath
1865
+ }
1866
+ ];
1866
1867
  }
1867
1868
  function matchStepLevel(m, events, opts) {
1868
1869
  const out = [];
@@ -3155,7 +3156,11 @@ var DEFAULT_SECRET_PATTERNS = [
3155
3156
  { id: "openai-key", pattern: /sk-[A-Za-z0-9_-]{16,}/ },
3156
3157
  { id: "aws-access-key", pattern: /AKIA[0-9A-Z]{16}/ },
3157
3158
  { id: "github-token", pattern: /gh[opsu]_[A-Za-z0-9_]{20,}/ },
3158
- { id: "key-value-secret", pattern: /(api[_-]?key|token|password|secret)=\S{8,}/i }
3159
+ // Keep in sync with packages/redact/src/key-value-secret.ts (KEY_VALUE_SECRET_PATTERN_SOURCE).
3160
+ {
3161
+ id: "key-value-secret",
3162
+ pattern: /\b(?:api[_-]?key|internal[_-]?token|access[_-]?token|auth[_-]?token|password|secret|token)=([^\s"'\\]{8,})/i
3163
+ }
3159
3164
  ];
3160
3165
  function compareStrings(a, b) {
3161
3166
  return (a ?? "").localeCompare(b ?? "");
@@ -6732,6 +6737,17 @@ function isCredentialSensitiveKey2(key, sensitiveKeys) {
6732
6737
  return false;
6733
6738
  }
6734
6739
 
6740
+ // packages/redact/src/key-value-secret.ts
6741
+ var KEY_VALUE_SECRET_PATTERN_SOURCE = String.raw`\b(?:api[_-]?key|internal[_-]?token|access[_-]?token|auth[_-]?token|password|secret|token)=([^\s"'\\]{8,})`;
6742
+ var KEY_VALUE_SECRET_PATTERN = new RegExp(
6743
+ KEY_VALUE_SECRET_PATTERN_SOURCE,
6744
+ "i"
6745
+ );
6746
+ function valueContainsKeyValueSecret(value) {
6747
+ KEY_VALUE_SECRET_PATTERN.lastIndex = 0;
6748
+ return KEY_VALUE_SECRET_PATTERN.test(value);
6749
+ }
6750
+
6735
6751
  // packages/redact/src/index.ts
6736
6752
  var DEFAULT_REDACT_KEYS2 = [
6737
6753
  "authorization",
@@ -6938,6 +6954,15 @@ var credentialDetectors = [
6938
6954
  pattern: /-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*-----END [A-Z ]*PRIVATE KEY-----/,
6939
6955
  severity: "error"
6940
6956
  }),
6957
+ {
6958
+ id: "value.keyValueSecret",
6959
+ severity: "error",
6960
+ matchKind: "value",
6961
+ detect(input) {
6962
+ if (typeof input.value !== "string") return [];
6963
+ return valueContainsKeyValueSecret(input.value) ? [{ action: "replace", severity: "error", matchKind: "value" }] : [];
6964
+ }
6965
+ },
6941
6966
  {
6942
6967
  id: "value.creditCard",
6943
6968
  severity: "error",
@@ -8003,5 +8028,5 @@ async function runReadOnlyMcpServer(options = {}) {
8003
8028
  }
8004
8029
 
8005
8030
  export { MCP_MAX_REQUEST_BYTES, MCP_PROTOCOL_VERSION, READ_ONLY_TOOLS, callReadOnlyTool, createMcpServerContext, handleMcpProtocolLine, runReadOnlyMcpServer };
8006
- //# sourceMappingURL=chunk-GMXH2CU3.mjs.map
8007
- //# sourceMappingURL=chunk-GMXH2CU3.mjs.map
8031
+ //# sourceMappingURL=chunk-JIUZAVIK.mjs.map
8032
+ //# sourceMappingURL=chunk-JIUZAVIK.mjs.map