@@ -61,13 +61,24 @@ export const OpenAIModels: Record<string, OpenAIModel> = {
6161 [ "gpt-5-nano" ] : { id : "gpt-5-nano" , inputTokenLimit : K400 , outputTokenLimit : K128 , openAIReasoningModel : true }
6262}
6363
64- export const maxInputTokensForModel = ( modelId : string ) =>
65- OpenAIModels . hasOwnProperty ( modelId ) ? OpenAIModels [ modelId ] ?. inputTokenLimit ?? 0 : 0
64+ const normalizeModelId = ( modelId : string ) : string => {
65+ // Strip a trailing date suffix like -YYYY-MM-DD (e.g., gpt-5-nano-2025-02-02 -> gpt-5-nano).
66+ return modelId . replace ( / - \d { 4 } - \d { 2 } - \d { 2 } $ / i, "" )
67+ }
6668
67- export const maxOutputTokensForModel = ( modelId : string ) =>
68- OpenAIModels . hasOwnProperty ( modelId ) ? OpenAIModels [ modelId ] ?. outputTokenLimit ?? 0 : 0
69+ export const maxInputTokensForModel = ( modelId : string ) => {
70+ const baseId = normalizeModelId ( modelId )
71+ return OpenAIModels . hasOwnProperty ( baseId ) ? OpenAIModels [ baseId ] ?. inputTokenLimit ?? 0 : 0
72+ }
6973
70- export const isOpenAIReasoningModel = ( modelId : string ) =>
71- OpenAIModels . hasOwnProperty ( modelId ) ? OpenAIModels [ modelId ] ?. openAIReasoningModel ?? false : false
74+ export const maxOutputTokensForModel = ( modelId : string ) => {
75+ const baseId = normalizeModelId ( modelId )
76+ return OpenAIModels . hasOwnProperty ( baseId ) ? OpenAIModels [ baseId ] ?. outputTokenLimit ?? 0 : 0
77+ }
78+
79+ export const isOpenAIReasoningModel = ( modelId : string ) => {
80+ const baseId = normalizeModelId ( modelId )
81+ return OpenAIModels . hasOwnProperty ( baseId ) ? OpenAIModels [ baseId ] ?. openAIReasoningModel ?? false : false
82+ }
7283
7384export const FALLBACK_OPENAI_MODEL = "gpt-5-nano"
0 commit comments