feat(ai): derive generated model types from JSON
This commit is contained in:
@@ -2,191 +2,7 @@
|
||||
// Do not edit manually - run 'npm run generate-models' to update
|
||||
|
||||
import values from "./data/openai.json" with { type: "json" };
|
||||
import type { Model } from "../types.ts";
|
||||
import { flattenModelCatalog, type ModelCatalog } from "../model-catalog.ts";
|
||||
|
||||
export const OPENAI_MODELS = values as {
|
||||
"gpt-4": Model<"openai-responses"> & {
|
||||
id: "gpt-4";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4-turbo": Model<"openai-responses"> & {
|
||||
id: "gpt-4-turbo";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4.1": Model<"openai-responses"> & {
|
||||
id: "gpt-4.1";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4.1-mini": Model<"openai-responses"> & {
|
||||
id: "gpt-4.1-mini";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4.1-nano": Model<"openai-responses"> & {
|
||||
id: "gpt-4.1-nano";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4o": Model<"openai-responses"> & {
|
||||
id: "gpt-4o";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4o-2024-05-13": Model<"openai-responses"> & {
|
||||
id: "gpt-4o-2024-05-13";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4o-2024-08-06": Model<"openai-responses"> & {
|
||||
id: "gpt-4o-2024-08-06";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4o-2024-11-20": Model<"openai-responses"> & {
|
||||
id: "gpt-4o-2024-11-20";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-4o-mini": Model<"openai-responses"> & {
|
||||
id: "gpt-4o-mini";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5": Model<"openai-responses"> & {
|
||||
id: "gpt-5";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5-chat-latest": Model<"openai-responses"> & {
|
||||
id: "gpt-5-chat-latest";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5-codex": Model<"openai-responses"> & {
|
||||
id: "gpt-5-codex";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5-mini": Model<"openai-responses"> & {
|
||||
id: "gpt-5-mini";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5-nano": Model<"openai-responses"> & {
|
||||
id: "gpt-5-nano";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5-pro": Model<"openai-responses"> & {
|
||||
id: "gpt-5-pro";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.1": Model<"openai-responses"> & {
|
||||
id: "gpt-5.1";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.1-chat-latest": Model<"openai-responses"> & {
|
||||
id: "gpt-5.1-chat-latest";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.1-codex": Model<"openai-responses"> & {
|
||||
id: "gpt-5.1-codex";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.1-codex-max": Model<"openai-responses"> & {
|
||||
id: "gpt-5.1-codex-max";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.1-codex-mini": Model<"openai-responses"> & {
|
||||
id: "gpt-5.1-codex-mini";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.2": Model<"openai-responses"> & {
|
||||
id: "gpt-5.2";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.2-chat-latest": Model<"openai-responses"> & {
|
||||
id: "gpt-5.2-chat-latest";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.2-codex": Model<"openai-responses"> & {
|
||||
id: "gpt-5.2-codex";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.2-pro": Model<"openai-responses"> & {
|
||||
id: "gpt-5.2-pro";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.3-chat-latest": Model<"openai-responses"> & {
|
||||
id: "gpt-5.3-chat-latest";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.3-codex": Model<"openai-responses"> & {
|
||||
id: "gpt-5.3-codex";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.3-codex-spark": Model<"openai-responses"> & {
|
||||
id: "gpt-5.3-codex-spark";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.4": Model<"openai-responses"> & {
|
||||
id: "gpt-5.4";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.4-mini": Model<"openai-responses"> & {
|
||||
id: "gpt-5.4-mini";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.4-nano": Model<"openai-responses"> & {
|
||||
id: "gpt-5.4-nano";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.4-pro": Model<"openai-responses"> & {
|
||||
id: "gpt-5.4-pro";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.5": Model<"openai-responses"> & {
|
||||
id: "gpt-5.5";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.5-pro": Model<"openai-responses"> & {
|
||||
id: "gpt-5.5-pro";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.6-luna": Model<"openai-responses"> & {
|
||||
id: "gpt-5.6-luna";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.6-sol": Model<"openai-responses"> & {
|
||||
id: "gpt-5.6-sol";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-5.6-terra": Model<"openai-responses"> & {
|
||||
id: "gpt-5.6-terra";
|
||||
provider: "openai";
|
||||
};
|
||||
"gpt-realtime-2.1": Model<"openai-responses"> & {
|
||||
id: "gpt-realtime-2.1";
|
||||
provider: "openai";
|
||||
};
|
||||
"o1": Model<"openai-responses"> & {
|
||||
id: "o1";
|
||||
provider: "openai";
|
||||
};
|
||||
"o1-pro": Model<"openai-responses"> & {
|
||||
id: "o1-pro";
|
||||
provider: "openai";
|
||||
};
|
||||
"o3": Model<"openai-responses"> & {
|
||||
id: "o3";
|
||||
provider: "openai";
|
||||
};
|
||||
"o3-deep-research": Model<"openai-responses"> & {
|
||||
id: "o3-deep-research";
|
||||
provider: "openai";
|
||||
};
|
||||
"o3-mini": Model<"openai-responses"> & {
|
||||
id: "o3-mini";
|
||||
provider: "openai";
|
||||
};
|
||||
"o3-pro": Model<"openai-responses"> & {
|
||||
id: "o3-pro";
|
||||
provider: "openai";
|
||||
};
|
||||
"o4-mini": Model<"openai-responses"> & {
|
||||
id: "o4-mini";
|
||||
provider: "openai";
|
||||
};
|
||||
"o4-mini-deep-research": Model<"openai-responses"> & {
|
||||
id: "o4-mini-deep-research";
|
||||
provider: "openai";
|
||||
};
|
||||
};
|
||||
export const OPENAI_MODELS: ModelCatalog<typeof values, "openai"> =
|
||||
flattenModelCatalog("openai", values);
|
||||
|
||||
Reference in New Issue
Block a user