{"_id":"@airegistry/vercel-gateway","_rev":"4-32314bfbd548df01c16185c95d90d958","name":"@airegistry/vercel-gateway","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.3":{"name":"@airegistry/vercel-gateway","version":"0.0.3","author":{"name":"Francisco Moretti","email":"franciscoemoretti@gmail.com"},"license":"MIT","_id":"@airegistry/vercel-gateway@0.0.3","maintainers":[{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"}],"homepage":"https://ai-registry.app","bugs":{"url":"https://github.com/FranciscoMoretti/ai-registry/issues"},"dist":{"shasum":"d494d6f85530d6a6d5a1627bec8536145d602320","tarball":"https://registry.npmjs.org/@airegistry/vercel-gateway/-/vercel-gateway-0.0.3.tgz","fileCount":6,"integrity":"sha512-qWWsZjntZeppKdXRGkVm4wDtxBd9K9FwRtpmAwQhaWO6X6taVKxJzGv/mGcaOVKYzAqzGXdls1D5QswHqDW86A==","signatures":[{"sig":"MEQCIG8288hFa+m0uG4PZ6lXc3TKOZkOdnX2DfJSrwDCxdzJAiAkKo8psfG+e/yuDQv+PIR0duprklvR9wBvC01dynO3zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174800},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"67b8b81cb9e2742b4f0e903a8b98a10d26636132","scripts":{"test":"vitest run","build":"tsup","test:ui":"vitest --ui run","test:coverage":"vitest --coverage run"},"_npmUser":{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"},"repository":{"url":"git+https://github.com/FranciscoMoretti/ai-registry.git","type":"git","directory":"packages/vercel-gateway"},"_npmVersion":"10.9.3","description":"Data for all the models in Vercel AI Gateway","directories":{},"_nodeVersion":"22.20.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","@vitest/coverage-v8":"^3.2.4","@vitejs/plugin-react":"^5.0.2"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/vercel-gateway_0.0.3_1761119044695_0.07543774652793367","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@airegistry/vercel-gateway","version":"0.0.4","author":{"name":"Francisco Moretti","email":"franciscoemoretti@gmail.com"},"license":"MIT","_id":"@airegistry/vercel-gateway@0.0.4","maintainers":[{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"}],"homepage":"https://ai-registry.app","bugs":{"url":"https://github.com/FranciscoMoretti/ai-registry/issues"},"dist":{"shasum":"5733c31595b9b5b9e83275d92ced96cac86a3594","tarball":"https://registry.npmjs.org/@airegistry/vercel-gateway/-/vercel-gateway-0.0.4.tgz","fileCount":7,"integrity":"sha512-Nng8UO5eftOmTN1F/aQbcxtP8+dDWsWrfWT+TM20CMBIQ685Uv7fIunyVRcqs5hAk6v429ig3i6jIGvYMqt4Rw==","signatures":[{"sig":"MEUCIQDdnvgzZAdr79P2Z05Fg7C3H3fCHcMgA/XWcjr1VHTgzgIgLVgMKeNe8TVcMcYhHh80R8KmKlTF9ExMayJvgge8rJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182667},"main":"./dist/index.js","type":"module","_from":"file:airegistry-vercel-gateway-0.0.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:ui":"vitest --ui run","check-types":"tsc --noEmit","test:coverage":"vitest --coverage run"},"_npmUser":{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"},"_resolved":"/tmp/b5a6b133ed543eacaf2c429ecdcd5d2f/airegistry-vercel-gateway-0.0.4.tgz","_integrity":"sha512-Nng8UO5eftOmTN1F/aQbcxtP8+dDWsWrfWT+TM20CMBIQ685Uv7fIunyVRcqs5hAk6v429ig3i6jIGvYMqt4Rw==","repository":{"url":"git+https://github.com/FranciscoMoretti/ai-registry.git","type":"git","directory":"packages/vercel-gateway"},"_npmVersion":"10.9.4","description":"Data for all the models in Vercel AI Gateway","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.1.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","@vitest/coverage-v8":"^3.2.4","@vitejs/plugin-react":"^5.0.2"},"_npmOperationalInternal":{"tmp":"tmp/vercel-gateway_0.0.4_1763065971831_0.8883766772840056","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@airegistry/vercel-gateway","version":"0.0.5","author":{"name":"Francisco Moretti","email":"franciscoemoretti@gmail.com"},"license":"MIT","_id":"@airegistry/vercel-gateway@0.0.5","maintainers":[{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"}],"homepage":"https://ai-registry.app","bugs":{"url":"https://github.com/FranciscoMoretti/ai-registry/issues"},"dist":{"shasum":"e3085c41068e54e92a2fd967dcf276f29472e5f0","tarball":"https://registry.npmjs.org/@airegistry/vercel-gateway/-/vercel-gateway-0.0.5.tgz","fileCount":7,"integrity":"sha512-TnoBCO9Izigosd1EZtc5HK+TXOV4qRSnOHc+mAj7xaG2kiqCWYuEIPMXi3Rt0U7WzlYzoO0C0GF6oa5zvOBSBg==","signatures":[{"sig":"MEYCIQDSnucdIb/6+ZIPhv+widDTSaNOsDUGDyaAB+UDWnD8sgIhAI3INMR/ClM27tqFZ3I5vxXPtjLx+RgFHEaCsBJ9FkEl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187781},"main":"./dist/index.js","type":"module","_from":"file:airegistry-vercel-gateway-0.0.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:ui":"vitest --ui run","check-types":"tsc --noEmit","test:coverage":"vitest --coverage run"},"_npmUser":{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"},"_resolved":"/tmp/6a89bb3d13638f6a1c4152b0667855fd/airegistry-vercel-gateway-0.0.5.tgz","_integrity":"sha512-TnoBCO9Izigosd1EZtc5HK+TXOV4qRSnOHc+mAj7xaG2kiqCWYuEIPMXi3Rt0U7WzlYzoO0C0GF6oa5zvOBSBg==","repository":{"url":"git+https://github.com/FranciscoMoretti/ai-registry.git","type":"git","directory":"packages/vercel-gateway"},"_npmVersion":"10.9.4","description":"Data for all the models in Vercel AI Gateway","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.1.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.2.4","@vitest/coverage-v8":"^3.2.4","@vitejs/plugin-react":"^5.0.2"},"_npmOperationalInternal":{"tmp":"tmp/vercel-gateway_0.0.5_1763494880711_0.7045896001576575","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@airegistry/vercel-gateway","version":"0.0.6","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"homepage":"https://ai-registry.app","repository":{"type":"git","url":"git+https://github.com/FranciscoMoretti/ai-registry.git","directory":"packages/vercel-gateway"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"author":{"name":"Francisco Moretti","email":"franciscoemoretti@gmail.com"},"license":"MIT","description":"Data for all the models in Vercel AI Gateway","devDependencies":{"@vitejs/plugin-react":"^5.0.2","@vitest/coverage-v8":"^3.2.4","tsup":"^8.5.0","vitest":"^3.2.4"},"dependencies":{"zod":"^4.1.12"},"scripts":{"dev":"tsup --watch","build":"tsup","test":"vitest run","test:ui":"vitest --ui run","test:coverage":"vitest --coverage run","check-types":"tsc --noEmit"},"_id":"@airegistry/vercel-gateway@0.0.6","bugs":{"url":"https://github.com/FranciscoMoretti/ai-registry/issues"},"_integrity":"sha512-aSkGATdM4JXnH9Roqur12NEjGFSzR5gd7oUD6sCq9lhxlythhMahjz5Pf/CqdP1vqJPSqOwuCOgZXlELtAGaHQ==","_resolved":"/tmp/d6b6e7b1f7654e97ec8068e176692235/airegistry-vercel-gateway-0.0.6.tgz","_from":"file:airegistry-vercel-gateway-0.0.6.tgz","_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-aSkGATdM4JXnH9Roqur12NEjGFSzR5gd7oUD6sCq9lhxlythhMahjz5Pf/CqdP1vqJPSqOwuCOgZXlELtAGaHQ==","shasum":"0764d04e2de8a9a82e9f0fb0e87648e5ec6130ed","tarball":"https://registry.npmjs.org/@airegistry/vercel-gateway/-/vercel-gateway-0.0.6.tgz","fileCount":7,"unpackedSize":187781,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEqJncklr0L49wcb00H5R3w2Ke/6dcSlLX19SgmFc7UvAiEAgyJMcpMYL8KmTTEliVMM9FGi1VB+jUwNYlRClb+xlqw="}]},"_npmUser":{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"},"directories":{},"maintainers":[{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vercel-gateway_0.0.6_1763495464056_0.8670114160525377"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-22T07:44:04.595Z","modified":"2025-11-18T19:51:04.449Z","0.0.3":"2025-10-22T07:44:04.883Z","0.0.4":"2025-11-13T20:32:52.034Z","0.0.5":"2025-11-18T19:41:20.884Z","0.0.6":"2025-11-18T19:51:04.241Z"},"bugs":{"url":"https://github.com/FranciscoMoretti/ai-registry/issues"},"author":{"name":"Francisco Moretti","email":"franciscoemoretti@gmail.com"},"license":"MIT","homepage":"https://ai-registry.app","repository":{"type":"git","url":"git+https://github.com/FranciscoMoretti/ai-registry.git","directory":"packages/vercel-gateway"},"description":"Data for all the models in Vercel AI Gateway","maintainers":[{"name":"franciscomoretti","email":"franciscoemoretti@gmail.com"}],"readme":"# @airegistry/vercel-gateway\n\nTyped model registry and helpers for the Vercel AI Gateway. Gives you a stable set of `ProviderId`, `ModelId`, rich `ModelDefinition` metadata (context window, pricing, modalities, tags), and small utilities for working with model ids.\n\n## Install\n\n```bash\nnpm i @airegistry/vercel-gateway\n```\n\n## Quick start\n\n```ts\nimport {\n  allModels,\n  getModelDefinition,\n  providers,\n  getModelAndProvider,\n  type ModelId,\n  type ProviderId,\n} from \"@airegistry/vercel-gateway\";\n\n// list providers\nproviders; // readonly ProviderId[]\n\n// list all model definitions\nallModels; // ModelDefinition[]\n\n// look up one model by id\nconst def = getModelDefinition(\"openai/gpt-4o\" satisfies ModelId);\ndef.context_window; // number\ndef.pricing.input; // string price per token\n\n// split a model id\ngetModelAndProvider(\"openai/gpt-4o\"); // { provider: \"openai\", model: \"gpt-4o\" }\n```\n\n## Exports\n\n- **types**: `ModelId`, `ProviderId`, `ModelDefinition`\n- **lists**: `providers: readonly ProviderId[]`\n- **data**:\n  - `allModels: ModelDefinition[]` (alias of `modelDefinitions`)\n  - `modelDefinitionMap: Map<ModelId, ModelDefinition>`\n  - `getModelDefinition(modelId): ModelDefinition`\n- **utils**: `getModelAndProvider(modelId | ImageModelId)` → `{ provider, model }`\n- Also re-exports image model data when available: `imageModelsData`, `type ImageModelData`\n\n## ModelDefinition shape\n\nEach entry merges generated gateway data with extra metadata:\n\n```ts\ntype ModelDefinition = {\n  id: ModelId;\n  owned_by: ProviderId;\n  name: string;\n  description: string;\n  type: \"language\" | \"embedding\";\n  tags?: (\n    | \"file-input\"\n    | \"image-generation\"\n    | \"implicit-caching\"\n    | \"reasoning\"\n    | \"tool-use\"\n    | \"vision\"\n  )[];\n  context_window: number;\n  max_tokens: number;\n  pricing: {\n    input: string;\n    output: string;\n    input_cache_read?: string;\n    input_cache_write?: string;\n  };\n  reasoning: boolean;\n  toolCall: boolean;\n  input: {\n    image: boolean;\n    text: boolean;\n    pdf: boolean;\n    video: boolean;\n    audio: boolean;\n  };\n  output: { image: boolean; text: boolean; audio: boolean };\n  // plus extra fields like releaseDate\n};\n```\n\n## Notes\n\n- All exports are fully typed. Unknown model ids throw in `getModelDefinition`.\n- IDs follow the `provider/model` convention; use `getModelAndProvider` to parse.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}