Skip to content

v1.7.3

Choose a tag to compare

@gitcommitshow gitcommitshow released this 21 Mar 16:56
2f64968

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." } });
}