Repository navigation
v1.7.3
1.7.3 (2026-03-21)
Bug Fixes
- change openai default model to gpt5nano (#95) (78b640e)
- refactor chat function parameters and error handling #94
Unified error handling
import { ResilientLLM, ResilientLLMError } from "resilient-llm";
try {
const llm = new ResilientLLM();
const out = await llm.chat(messages);
res.json({ content: out.content, metadata: out.metadata });
} catch (e: unknown) {
if (e instanceof ResilientLLMError) {
switch (e.code) {
case "JSON_PARSE_ERROR":
case "JSON_MODE_FAILURE":
case "SCHEMA_MISMATCH":
res.status(422).json({ error: { code: e.code, message: e.message } });
break;
case "PROVIDER_RATE_LIMIT":
res.status(429).json({ error: { code: e.code, message: e.message, retryable: true } });
break;
case "PROVIDER_UNAUTHORIZED":
case "PROVIDER_FORBIDDEN":
res.status(401).json({ error: { code: e.code, message: e.message } });
break;
default:
res.status(502).json({ error: { code: e.code, message: e.message, retryable: e.retryable } });
}
return;
}
res.status(500).json({ error: { code: "INTERNAL", message: "Unexpected error." } });
}