diff --git a/src/api/providers/__tests__/openai-native.test.ts b/src/api/providers/__tests__/openai-native.test.ts index f1da211..2e9f4f7 100644 --- a/src/api/providers/__tests__/openai-native.test.ts +++ b/src/api/providers/__tests__/openai-native.test.ts @@ -289,6 +289,20 @@ describe("OpenAiNativeHandler", () => { }) }) + it("should complete prompt successfully with o3-mini model", async () => { + handler = new OpenAiNativeHandler({ + apiModelId: "o3-mini", + openAiNativeApiKey: "test-api-key", + }) + + const result = await handler.completePrompt("Test prompt") + expect(result).toBe("Test response") + expect(mockCreate).toHaveBeenCalledWith({ + model: "o3-mini", + messages: [{ role: "user", content: "Test prompt" }], + }) + }) + it("should handle API errors", async () => { mockCreate.mockRejectedValueOnce(new Error("API Error")) await expect(handler.completePrompt("Test prompt")).rejects.toThrow( diff --git a/src/shared/api.ts b/src/shared/api.ts index e5bcda4..7da67fd 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -510,6 +510,14 @@ export type OpenAiNativeModelId = keyof typeof openAiNativeModels export const openAiNativeDefaultModelId: OpenAiNativeModelId = "gpt-4o" export const openAiNativeModels = { // don't support tool use yet + "o3-mini": { + maxTokens: 100_000, + contextWindow: 200_000, + supportsImages: false, + supportsPromptCache: false, + inputPrice: 1.1, + outputPrice: 4.4, + }, o1: { maxTokens: 100_000, contextWindow: 200_000,