{"record":{"id":"f34bce171ea88ede","repo":"diegosouzapw/OmniRoute","slug":"json-error-failedfetchmcpaudit","errorCode":null,"errorMessage":"${json.error} || failedFetchMcpAudit","messagePattern":"(.+?) \\|\\| failedFetchMcpAudit","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/app/(dashboard)/dashboard/audit/McpAuditTab.tsx","lineNumber":74,"sourceCode":"  }, []);\n\n  useEffect(() => {\n    void fetchStats();\n  }, [fetchStats]);\n\n  const fetchAudit = useCallback(async () => {\n    setLoading(true);\n    try {\n      const params = new URLSearchParams();\n      params.set(\"limit\", String(MCP_PAGE_SIZE));\n      params.set(\"offset\", String(offset));\n      if (toolFilter) params.set(\"tool\", toolFilter);\n      if (successFilter !== \"all\") params.set(\"success\", successFilter);\n\n      const response = await fetch(`/api/mcp/audit?${params.toString()}`);\n      const json = await response.json().catch(() => ({}));\n      if (!response.ok) {\n        throw new Error(json.error || t(\"failedFetchMcpAudit\"));\n      }\n\n      setData({\n        entries: Array.isArray(json.entries) ? json.entries : [],\n        total: Number(json.total || 0),\n        limit: Number(json.limit || MCP_PAGE_SIZE),\n        offset: Number(json.offset || offset),\n      });\n    } finally {\n      setLoading(false);\n    }\n  }, [offset, successFilter, t, toolFilter]);\n\n  useEffect(() => {\n    void fetchAudit();\n  }, [fetchAudit]);\n\n  return (","sourceCodeStart":56,"sourceCodeEnd":92,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/app/(dashboard)/dashboard/audit/McpAuditTab.tsx#L56-L92","documentation":"Error \"${json.error} || failedFetchMcpAudit\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/app/(dashboard)/dashboard/audit/McpAuditTab.tsx:74 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}