generate.ts 905 B

1234567891011121314151617181920212223
  1. import path from "path"
  2. import { fileURLToPath } from "url"
  3. const __filename = fileURLToPath(import.meta.url)
  4. const __dirname = path.dirname(__filename)
  5. const dir = path.resolve(__dirname, "..")
  6. process.chdir(dir)
  7. const modelsUrl = process.env.KILO_MODELS_URL || "https://models.dev"
  8. // Fetch and generate models.dev snapshot
  9. const modelsData = process.env.MODELS_DEV_API_JSON
  10. ? await Bun.file(process.env.MODELS_DEV_API_JSON).text()
  11. : await fetch(`${modelsUrl}/api.json`).then((x) => x.text())
  12. await Bun.write(
  13. path.join(dir, "src/provider/models-snapshot.js"),
  14. `// @ts-nocheck\n// Auto-generated by build.ts - do not edit\nexport const snapshot = ${modelsData}\n`,
  15. )
  16. await Bun.write(
  17. path.join(dir, "src/provider/models-snapshot.d.ts"),
  18. `// Auto-generated by build.ts - do not edit\nexport declare const snapshot: Record<string, unknown>\n`,
  19. )
  20. console.log("Generated models-snapshot.js")