()
| 1436 | // Removed isResponsesApiModel method as ALL models now use the Responses API |
| 1437 | |
| 1438 | override getModel() { |
| 1439 | const modelId = this.options.apiModelId |
| 1440 | |
| 1441 | const id = |
| 1442 | modelId && modelId in openAiNativeModels ? (modelId as OpenAiNativeModelId) : openAiNativeDefaultModelId |
| 1443 | |
| 1444 | const info: ModelInfo = openAiNativeModels[id] |
| 1445 | |
| 1446 | const params = getModelParams({ |
| 1447 | format: "openai", |
| 1448 | modelId: id, |
| 1449 | model: info, |
| 1450 | settings: this.options, |
| 1451 | defaultTemperature: OPENAI_NATIVE_DEFAULT_TEMPERATURE, |
| 1452 | }) |
| 1453 | |
| 1454 | // Reasoning effort inclusion is handled by getModelParams/getOpenAiReasoning. |
| 1455 | // Do not re-compute or filter efforts here. |
| 1456 | |
| 1457 | // The o3 models are named like "o3-mini-[reasoning-effort]", which are |
| 1458 | // not valid model ids, so we need to strip the suffix. |
| 1459 | return { id: id.startsWith("o3-mini") ? "o3-mini" : id, info, ...params, verbosity: params.verbosity } |
| 1460 | } |
| 1461 | |
| 1462 | /** |
| 1463 | * Extracts encrypted_content and id from the first reasoning item in the output array. |
no test coverage detected