| name | exa-advanced-troubleshooting |
| description | Apply advanced debugging techniques for hard-to-diagnose Exa issues.
Use when standard troubleshooting fails, investigating latency spikes,
or preparing evidence bundles for Exa support escalation.
Trigger with phrases like "exa hard bug", "exa mystery error",
"exa deep debug", "difficult exa issue", "exa latency spike".
|
| allowed-tools | Read, Grep, Bash(curl:*), Bash(node:*), Bash(tcpdump:*) |
| version | 1.11.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","exa","debugging","advanced"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Exa Advanced Troubleshooting
Overview
Deep debugging for complex Exa issues: latency spikes, intermittent failures, result quality degradation, and content retrieval failures. All Exa error responses include a requestId — always capture it.
Instructions
Step 1: Layer-by-Layer Diagnostics
import Exa from "exa-js";
interface DiagnosticResult {
layer: string;
success: boolean;
latencyMs: number;
details: string;
}
async function diagnoseExa(): Promise<DiagnosticResult[]> {
const results: DiagnosticResult[] = [];
const exa = new Exa(process.env.EXA_API_KEY);
let start = performance.now();
try {
const resp = await fetch("https://api.exa.ai", { method: "HEAD" });
results.push({
layer: "network",
success: true,
latencyMs: performance.now() - start,
: ,
});
} (: ) {
results.({
: ,
: ,
: performance.() - start,
: err.,
});
results;
}
start = performance.();
{
exa.(, { : });
results.({
: ,
: ,
: performance.() - start,
: ,
});
} (: ) {
results.({
: ,
: ,
: performance.() - start,
: ,
});
(err. === || err. === ) results;
}
start = performance.();
{
r = exa.(, {
: ,
: ,
});
results.({
: ,
: ,
: performance.() - start,
: ,
});
} (: ) {
results.({
: ,
: ,
: performance.() - start,
: ,
});
}
start = performance.();
{
r = exa.(, {
: ,
: { : },
: { : },
});
hasText = !!r.[]?.;
hasHighlights = !!r.[]?.?.;
results.({
: ,
: hasText,
: performance.() - start,
: ,
});
} (: ) {
results.({
: ,
: ,
: performance.() - start,
: ,
});
}
start = performance.();
{
r = exa.(, { : });
results.({
: ,
: r.. > ,
: performance.() - start,
: ,
});
} (: ) {
results.({
: ,
: ,
: performance.() - start,
: ,
});
}
results;
}
results = ();
.();
( r results) {
icon = r. ? : ;
.();
}