Commit graph

6099 commits

Author SHA1 Message Date
roomote[bot]
ee19904b29
feat: migrate PostHog client to ph.roocode.com (#9402)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-19 14:44:22 -05:00
Daniel
61fc39176d
fix: preserve user images in native tool call results (#9401) 2025-11-19 14:39:17 -05:00
github-actions[bot]
18c4d1ac41
Changeset version bump (#9384)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-19 00:04:54 -05:00
Matt Rubens
ce5479a4ca
Release v3.33.1 (#9383) 2025-11-19 00:00:32 -05:00
Hannes Rudolph
840f421673
Fix Gemini thought signature validation and token counting errors (#9380)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-18 23:30:10 -05:00
Daniel
89068c4ff9
fix: Include nativeArgs in tool repetition detection (#9377)
* fix: Include nativeArgs in tool repetition detection

Fixes false positive 'stuck in a loop' error for native protocol tools
like read_file that store parameters in nativeArgs instead of params.

Previously, the ToolRepetitionDetector only compared the params object,
which was empty for native protocol tools. This caused all read_file
calls to appear identical, triggering false loop detection even when
reading different files.

Changes:
- Updated serializeToolUse() to include nativeArgs in comparison
- Added comprehensive tests for native protocol scenarios
- Maintains backward compatibility with XML protocol tools

Closes: Issue reported in Discord about read_file loop detection

* Try to use safe-stable-stringify in the tool repetition detector

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-18 21:20:29 -05:00
roomote[bot]
7c079453dc
feat: add toolProtocol property to PostHog tool usage telemetry (#9374)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-18 20:29:58 -05:00
Daniel
271d01bada
fix: Update tools to return structured JSON for native protocol (#9373) 2025-11-18 20:01:15 -05:00
Hannes Rudolph
55e9c880d0
fix: gemini maxOutputTokens and reasoning config (#9375)
* fix: gemini maxOutputTokens and reasoning config

* test: tighten gemini reasoning typings
2025-11-18 19:52:50 -05:00
Daniel
0d72471956
fix: ensure no XML parsing when protocol is native (#9371)
* fix: ensure no XML parsing when protocol is native

* refactor: remove redundant non-null assertions
2025-11-18 18:30:57 -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
Daniel
b0c254cf5a
fix: exclude XML tool examples from MODES section when native protocol enabled (#9367) 2025-11-18 15:48:37 -05:00
Chris Estreich
045c2d6b3b
Retry eval tasks if API instability detected (#9365) 2025-11-18 11:45:54 -08:00
Daniel
1fa12f6aa6
fix: resolve native tool protocol race condition causing 400 errors (#9363) 2025-11-18 13:43:10 -05:00
github-actions[bot]
67b6a8bb76
Changeset version bump (#9362)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-18 12:31:51 -05:00
Matt Rubens
bb31b04dba
chore: add changeset and announcement for v3.33.0 (#9360) 2025-11-18 12:26:41 -05:00
Matt Rubens
f455493af0
Remove the Roo model defaults (#9340) 2025-11-18 12:14:38 -05:00
Daniel
4bfd0709e4
fix: pass tool protocol parameter to lineCountTruncationError (#9358) 2025-11-18 11:29:19 -05:00
Hannes Rudolph
9538d82333
Add Gemini 3 Pro Preview model (#9357) 2025-11-18 11:29:10 -05:00
Hannes Rudolph
f8d6e12aa7
feat: enable native tool calling for openai-native provider (#9348)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-18 11:01:04 -05:00
Daniel
f5d3ac0e23
fix: sync parser state with profile/model changes (#9355) 2025-11-18 09:44:16 -05:00
Hannes Rudolph
f7c2e8d164
Improve Google Gemini defaults, temperature, and cost reporting (#9327) 2025-11-17 23:38:38 -07:00
roomote[bot]
aa2a17fce3
feat: update cloud agent CTA to point to setup page (#9338)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-18 01:29:32 -05:00
roomote[bot]
78ea1f1466
fix: use VSCode theme color for outline button borders (#9336)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Bruno Bergher <bruno@roocode.com>
2025-11-18 01:28:56 -05:00
Matt Rubens
c4f1ce5f91
Fix the type of the list files recursive parameter (#9337) 2025-11-18 01:00:37 -05:00
Matt Rubens
dbaaef756e
Remove experimental setting for native tool calls (#9333) 2025-11-17 23:37:36 -05:00
Daniel
c5b18c1581
feat: add tool protocol selector to advanced settings (#9324)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-17 22:53:58 -05:00
Daniel
e742511d90
fix: prevent infinite loop when attempt_completion succeeds (#9325) 2025-11-17 18:24:48 -05:00
Matt Rubens
3091506942
Release: v1.86.0 (#9323) 2025-11-17 15:25:18 -05:00
Matt Rubens
51352824b5
Add max git status files to evals settings (#9322) 2025-11-17 15:24:15 -05:00
Hannes Rudolph
cbd26dfeb9
feat: Move Import/Export to Modes view toolbar (#8686) Cleanup of Mode Edit view (#9077) 2025-11-17 14:19:03 -05:00
Daniel
3631a02c8b
feat: add git status to environment details (#9310) 2025-11-17 14:10:32 -05:00
Daniel
fc19e7620b
fix: preserve tool blocks for native protocol in conversation history (#9319) 2025-11-17 14:07:17 -05:00
roomote[bot]
0e51a1ab9b
fix: Replace broken badgen.net badges with shields.io (#9318)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-17 14:03:28 -05:00
Matt Rubens
3e0bd0ea55
Move the native tool call toggle to experimental settings (#9297)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-17 09:41:30 -05:00
Bruno Bergher
7a06902dd8
web: Roo Code Cloud Provider pricing page and changes elsewhere (#9195)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-16 00:25:37 -05:00
Daniel
744f4bd4c8
feat: implement dynamic tool protocol resolution with proper precedence hierarchy (#9286)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-15 14:35:04 -05:00
Matt Rubens
4e316e0de8
Fix duplicate import (#9281) 2025-11-15 09:08:48 -05:00
Daniel
bc99f41a51
fix: prevent duplicate tool_result blocks in native tool protocol (#9248) 2025-11-14 23:04:02 -05:00
Daniel
375351616d
fix: format tool responses for native protocol (#9270)
* fix: format tool responses for native protocol

- Add toolResultFormatting utilities for protocol detection
- ReadFileTool now builds both XML and native formats
- Native format returns clean, readable text without XML tags
- Legacy conversation history conversion is protocol-aware
- All tests passing (55 total)

* refactor: use isNativeProtocol from @roo-code/types

Remove duplicate implementation and import from types package instead
2025-11-14 22:43:56 -05:00
Daniel
0a305310e5
refactor: centralize toolProtocol configuration checks (#9279)
* refactor: centralize toolProtocol configuration checks

- Created src/utils/toolProtocol.ts with getToolProtocolFromSettings() utility
- Replaced all direct vscode.workspace.getConfiguration() calls with centralized utility
- Updated 6 files to use the new utility function
- All tests pass and TypeScript compilation succeeds

* refactor: use isNativeProtocol function from types package
2025-11-14 20:24:40 -05:00
github-actions[bot]
64b1b62f5f
Changeset version bump (#9280)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-14 20:07:17 -05:00
Matt Rubens
924d815929
Release v3.32.1 (#9278) 2025-11-14 20:03:43 -05:00
Daniel
b2f204f123
Disable XML parser for native tool protocol (#9277) 2025-11-14 19:53:22 -05:00
Daniel
44b96f9d10
feat(openai-native): add abort controller for request cancellation (#9276) 2025-11-14 19:38:30 -05:00
Daniel
93c6d97017
Fix duplicate tool blocks causing 'tool has already been used' error (#9275) 2025-11-14 19:37:40 -05:00
Daniel
1b196461f3
fix: prevent duplicate tool_result blocks in native protocol mode for read_file (#9272)
When read_file encountered errors (e.g., file not found), it would call
handleError() which internally calls pushToolResult(), then continue to
call pushToolResult() again with the final XML. In native protocol mode,
this created two tool_result blocks with the same tool_call_id, causing
400 errors on subsequent API calls.

This fix replaces handleError() with task.say() for error notifications.
The agent still receives error details through the XML in the single
final pushToolResult() call.

This change works for both protocols:
- Native: Only one tool_result per tool_call_id (fixes duplicate issue)
- XML: Only one text block with complete XML (cleaner than before)

Agent visibility preserved: Errors are included in the XML response
sent to the agent via pushToolResult().

Tests: All 44 tests passing. Updated test to verify say() is called.
2025-11-14 17:47:39 -05:00
Hannes Rudolph
4a9ff8f4ef
[FIX] Fix OpenAI Native handling of encrypted reasoning blocks to prevent error when condensing (#9263) 2025-11-14 12:54:15 -05:00
github-actions[bot]
da461182ae
Changeset version bump (#9265)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-14 01:40:26 -05:00
Matt Rubens
37337fd958
Release v3.32.0 (#9264) 2025-11-14 01:36:13 -05:00