static promptWindowLimit(modelName) {
    const cacheModelPath = path.resolve(cacheFolder, "models.json");
    const availableModels = fs.existsSync(cacheModelPath)
      ? safeJsonParse(
          fs.readFileSync(cacheModelPath, { encoding: "utf-8" }),
          {}
        )
      : {};
    return availableModels[modelName]?.maxLength || 4096;
  }
OpenRouter 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 OPENROUTER_TIMEOUT_MS value
@returns {number} The timeout value in milliseconds (default: 500)