Julius Marmingerm some aliases116c8c58 months agoHistory
57 lines · 2.0 KB · TypeScript
RawDownload
import { Schema } from "effect";import { ProviderKind } from "./orchestration"; export const CODEX_REASONING_EFFORT_OPTIONS = ["xhigh", "high", "medium", "low"] as const;export type CodexReasoningEffort = (typeof CODEX_REASONING_EFFORT_OPTIONS)[number]; export const CodexModelOptions = Schema.Struct({  reasoningEffort: Schema.optional(Schema.Literals(CODEX_REASONING_EFFORT_OPTIONS)),  fastMode: Schema.optional(Schema.Boolean),});export type CodexModelOptions = typeof CodexModelOptions.Type; export const ProviderModelOptions = Schema.Struct({  codex: Schema.optional(CodexModelOptions),});export type ProviderModelOptions = typeof ProviderModelOptions.Type; type ModelOption = {  readonly slug: string;  readonly name: string;}; export const MODEL_OPTIONS_BY_PROVIDER = {  codex: [    { slug: "gpt-5.4", name: "GPT-5.4" },    { slug: "gpt-5.3-codex", name: "GPT-5.3 Codex" },    { slug: "gpt-5.3-codex-spark", name: "GPT-5.3 Codex Spark" },    { slug: "gpt-5.2-codex", name: "GPT-5.2 Codex" },    { slug: "gpt-5.2", name: "GPT-5.2" },  ],} as const satisfies Record<ProviderKind, readonly ModelOption[]>;export type ModelOptionsByProvider = typeof MODEL_OPTIONS_BY_PROVIDER; type BuiltInModelSlug = ModelOptionsByProvider[ProviderKind][number]["slug"];export type ModelSlug = BuiltInModelSlug | (string & {}); export const DEFAULT_MODEL_BY_PROVIDER = {  codex: "gpt-5.4",} as const satisfies Record<ProviderKind, ModelSlug>; export const MODEL_SLUG_ALIASES_BY_PROVIDER = {  codex: {    "5.4": "gpt-5.4",    "5.3": "gpt-5.3-codex",    "gpt-5.3": "gpt-5.3-codex",    "5.3-spark": "gpt-5.3-codex-spark",    "gpt-5.3-spark": "gpt-5.3-codex-spark",  },} as const satisfies Record<ProviderKind, Record<string, ModelSlug>>; export const REASONING_EFFORT_OPTIONS_BY_PROVIDER = {  codex: CODEX_REASONING_EFFORT_OPTIONS,} as const satisfies Record<ProviderKind, readonly CodexReasoningEffort[]>; export const DEFAULT_REASONING_EFFORT_BY_PROVIDER = {  codex: "high",} as const satisfies Record<ProviderKind, CodexReasoningEffort | null>;