models() {
    if (!fs.existsSync(this.cacheModelPath)) return {};
    return safeJsonParse(
      fs.readFileSync(this.cacheModelPath, { encoding: "utf-8" }),
      {}
    );
  }
Novita has various models that never return `finish_reasons` and thus leave the stream open
which causes issues in subsequent messages. This timeout value forces us to close the stream after
x milliseconds. This is a configurable value via the NOVITA_LLM_TIMEOUT_MS value
@returns {number} The timeout value in milliseconds (default: 500)