MCPcopy Index your code
hub / github.com/TanStack/ai / main

Function main

scripts/fetch-openrouter-models.ts:83–115  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

81}
82
83async function main() {
84 console.log(`Fetching models from ${API_URL}...`)
85 const response = await fetch(API_URL, {
86 signal: AbortSignal.timeout(30_000),
87 })
88
89 if (!response.ok) {
90 throw new Error(
91 `Failed to fetch models: ${response.status} ${response.statusText}`,
92 )
93 }
94
95 const json = (await response.json()) as { data: Array<ApiModel> }
96 const allModels = json.data
97
98 const validModels = allModels.filter(isValidModel)
99 const skipped = allModels.length - validModels.length
100 if (skipped > 0) {
101 console.log(
102 `Skipped ${skipped} models missing required fields (id, name, context_length, architecture, pricing, top_provider)`,
103 )
104 }
105
106 validModels.sort((a, b) => a.id.localeCompare(b.id))
107
108 await writeFile(
109 OUTPUT_PATH,
110 JSON.stringify(validModels, null, 2) + '\n',
111 'utf-8',
112 )
113 console.log(`Fetched ${validModels.length} models`)
114 console.log(`Written to ${OUTPUT_PATH}`)
115}
116
117main().catch((error) => {
118 console.error(error)

Callers 1

Calls 3

logMethod · 0.80
jsonMethod · 0.80
fetchFunction · 0.50

Tested by

no test coverage detected