cherry-studio/src/main
Luke Galea c9837eaa71
feat: add OpenAI o3 model support with enhanced tool calling (#8253)
* feat: add OpenAI o3 model support with enhanced tool calling

- Add o3 and o3-mini model definitions with reasoning effort support
- Implement o3-compatible strict schema validation for MCP tools
- Add comprehensive o3 schema processing with DRY improvements
- Extract reusable schema processing functions for maintainability
- Add 15+ test cases validating o3 strict mode requirements
- Fix schema composition keyword handling with loop-based approach
- Ensure ALL object schemas have complete required arrays for o3
- Support tool calling with proper o3 schema transformations

This enables OpenAI o3 models to work properly with MCP tool calling
while improving code organization and test coverage.

Signed-off-by: Luke Galea <luke@ideaforge.org>

* Remove redundant reference in HtmlArtifactsPopup.tsx

* refactor: move filterProperties to mcp-schema, fix tests

---------

Signed-off-by: Luke Galea <luke@ideaforge.org>
Co-authored-by: one <wangan.cs@gmail.com>
Co-authored-by: suyao <sy20010504@gmail.com>
2025-08-04 23:19:21 +08:00
..
configs fix[SelectionAssistant]: shift+click behavior in macOS and clipboard behavior in Windows (#8390) 2025-07-23 17:24:26 +08:00
integration/nutstore/sso/lib build: remove sentry integration 2025-04-24 11:48:53 +08:00
knowledge refactor: remove mac ocr 2025-07-31 21:51:16 +08:00
mcpServers fix(inputSchemas): convert input schemas to JSON schema format for consistency across DifyKnowledgeServer and FileSystemServer (#8444) 2025-07-24 10:17:45 +08:00
services feat: add OpenAI o3 model support with enhanced tool calling (#8253) 2025-08-04 23:19:21 +08:00
utils fix: change jschardet to chardet (#8577) 2025-07-29 17:27:36 +08:00
bootstrap.ts refactor: move initAppDataDir function to a new utils module (#8337) 2025-07-21 15:46:14 +08:00
config.ts feat: new ui (#8322) 2025-07-23 14:36:39 +08:00
constant.ts feat: support portable config dir (#5039) 2025-04-24 17:23:56 +08:00
electron.d.ts feat: add the ability to display the application in tray #297 2024-11-09 08:42:09 +08:00
env.d.ts feat: added vite_main_bundle_id config and improved code cleanliness 2024-09-15 10:35:02 +08:00
index.ts feat: enable additional GPU channel features and improve crash reportdetails in renderer (#8819) 2025-08-04 18:45:17 +08:00
ipc.ts feat: support bypass proxy (#8791) 2025-08-04 19:24:28 +08:00