Commit graph

11 commits

Author SHA1 Message Date
Roo Code
4e61f778fe fix: ensure JSON Schema draft 2020-12 compliance for OpenAI-compatible providers
- Update convertToolSchemaForOpenAI in base-provider.ts to use normalizeToolSchema
  which properly converts type arrays (e.g., ["string", "null"]) to anyOf format
  required by JSON Schema draft 2020-12
- Update Cerebras stripUnsupportedSchemaFields to handle anyOf/oneOf/allOf arrays
- Add comprehensive tests for base-provider convertToolSchemaForOpenAI function

Fixes #10320
2025-12-24 05:35:39 +00:00
Daniel
6b141fbb25
fix: disable strict mode for MCP tools to preserve optional parameters (#10220)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-12-22 13:21:31 -05:00
Matt Rubens
0a2d1a41e4
Add NTC support for Cerebras (#9692) 2025-12-01 14:49:53 -05:00
Matt Rubens
bc6fad1f9d
Add native tool calling support to OpenAI-compatible (#9369)
* Add native tool calling support to OpenAI-compatible

* Fix OpenAI strict mode schema validation by adding converter methods to BaseProvider

- Add convertToolsForOpenAI() and convertToolSchemaForOpenAI() methods to BaseProvider
- These methods ensure all properties are in required array and convert nullable types
- Remove line_ranges from required array in read_file tool (converter handles it)
- Update OpenAiHandler and BaseOpenAiCompatibleProvider to use helper methods
- Eliminates code duplication across multiple tool usage sites
- Fixes: OpenAI completion error: 400 Invalid schema for function 'read_file'

---------

Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-18 18:20:51 -05:00
Chris Estreich
9e3b0fd870
Move provider data into @roo-code/types (#4153) 2025-05-30 14:54:48 -07:00
Chris Estreich
e66136f1aa
Add a new @roo-code/types package and use it everywhere (#3912) 2025-05-26 12:06:45 -07:00
Daniel Trugman
78b7455a05
Add metadata to create message (#3832) 2025-05-25 16:14:40 -04:00
Chris Estreich
65cb9244ee
Count tokens worker (#3037)
* Count tokens worker

* Appease knip
2025-04-29 12:29:25 -07:00
Chris Estreich
06db547308
Use a WASM-based tiktoken implementation (#2859)
* Use a WASM-based tiktoken implementation

* Clean up imports
2025-04-25 10:32:35 -07:00
Matt Rubens
7e62d34570 PR cleanup 2025-03-02 02:12:21 -05:00
Matt Rubens
8a1d66732a Infrastructure to support calling token count APIs, starting with Anthropic 2025-03-02 01:47:55 -05:00