Commit graph

6126 commits

Author SHA1 Message Date
Daniel
999ea686ab
fix: resolve apply_diff performance regression from PR #9456 (#9474) 2025-11-21 17:31:47 -05:00
Hannes Rudolph
ee93530076
Browser Use 2.0 (#8941)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-21 17:26:15 -05:00
Matt Rubens
8472bbb43b
Improvements to base openai compatible (#9462)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-21 16:42:19 -05:00
Daniel
a65e7807b1
fix: add fallback to yield tool calls regardless of finish_reason (#9476) 2025-11-21 16:04:38 -05:00
Matt Rubens
852e293610
Release: v1.87.0 (#9477) 2025-11-21 12:15:01 -05:00
github-actions[bot]
038f830bf6
Changeset version bump (#9460)
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-20 23:23:10 -05:00
Matt Rubens
7977782d87
chore: add changeset for v3.33.3 (#9459) 2025-11-20 23:18:37 -05:00
Daniel
a49e81f37c
fix: improve search and replace symbol parsing (#9456) 2025-11-20 23:05:14 -05:00
Daniel
905181810e
feat: implement Minimax as Anthropic-compatible provider (#9455) 2025-11-20 22:53:00 -05:00
Daniel
3da6f81fac
fix: improve markdown formatting and add reasoning support (#9458) 2025-11-20 22:52:35 -05:00
Daniel
08027ad4fa
fix: send tool_result blocks for skipped tools in native protocol (#9457) 2025-11-20 22:52:27 -05:00
Daniel
5c5a893b50
Fix preserveReasoning flag to control API reasoning inclusion (#9453)
* feat: store reasoning in conversation history for all providers

* refactor: address review feedback

- Move comments inside else block
- Combine reasoning checks into single if block
- Make comments more concise

* refactor: make comments more concise

* Fix preserveReasoning flag to control API reasoning inclusion

Changes:
1. Removed hardcoded <think> tag logic in streaming
   - Previously hardcoded reasoning into assistant message text
   - Now passes reasoning to addToApiConversationHistory as parameter

2. Updated buildCleanConversationHistory to respect preserveReasoning flag
   - When preserveReasoning: true → reasoning block included in API requests
   - When preserveReasoning: false/undefined → reasoning stripped from API
   - Reasoning stored in history for all cases

3. Added temporary debug logs to base-openai-compatible-provider.ts
   - Shows preserveReasoning flag value
   - Logs reasoning blocks in incoming messages
   - Logs <think> tags in converted messages sent to API

* Fix: Use api.getModel() directly instead of cachedStreamingModel

Addresses review comment: cachedStreamingModel is set during streaming but
buildCleanConversationHistory is called before streaming starts. Using the
cached value could cause stale model info when switching models between requests.

Now directly uses this.api.getModel().info.preserveReasoning to ensure we
always check the current model's flag, not a potentially stale cached value.

* Clean up comments in Task.ts

Removed outdated comment regarding model's preserveReasoning flag.

* fix: remove unnecessary reasoningBlock variable in task reasoning logic
2025-11-20 20:31:49 -05:00
Daniel
7715158d51
Store reasoning in conversation history for all providers (#9451) 2025-11-20 19:59:53 -05:00
roomote[bot]
d389771d75
chore: update tar-fs to 3.1.1 via pnpm override (#9450)
Co-authored-by: Roo Code <roomote@roocode.com>
2025-11-20 15:16:30 -08:00
John Richmond
341863f8cd
Update glob to ^11.1.0 (#9449) 2025-11-20 14:45:02 -08:00
Daniel
97cdc41937
fix: prevent duplicate environment_details when resuming cancelled tasks (#9442)
- Filter out complete environment_details blocks before appending fresh ones
- Check for both opening and closing tags to ensure we're matching complete blocks
- Prevents stale environment data from being kept during task resume
- Add tests to verify deduplication logic and edge cases
2025-11-20 17:03:02 -05:00
roomote[bot]
1589cc1849
feat: add Google Gemini 3 Pro Image Preview to image generation models (#9440)
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-20 14:19:37 -05:00
Hannes Rudolph
f7d6daedff
Fix OpenAI Native parallel tool calls for native protocol (#9433)
Fixes an issue where using the OpenAI Native provider together with Native Tool Calling could cause OpenAI’s Responses API to fail with errors like:
2025-11-20 09:38:33 -07:00
Matt Rubens
1201b0fd8d
Revert "Fix Marketplace crash by removing wildcard activation event" (#9432) 2025-11-20 10:49:41 -05:00
Hannes Rudolph
6a98ffb817
Fix Marketplace crash by removing wildcard activation event (#9423) 2025-11-20 10:29:07 -05:00
Daniel
0851769450
Improve read_file tool description with examples (#9422)
* Improve read_file tool description with examples

- Add explicit JSON structure documentation
- Include three concrete examples (single file, with line ranges, multiple files)
- Clarify that 'path' is required and 'line_ranges' is optional
- Better explain line range format (1-based inclusive)

This addresses agent confusion by providing clear examples similar to the XML tool definition.

* Make read_file tool dynamic based on partialReadsEnabled setting

- Convert read_file from static export to createReadFileTool() factory function
- Add getNativeTools() function that accepts partialReadsEnabled parameter
- Create buildNativeToolsArray() helper to encapsulate tool building logic
- Update Task.ts to build native tools dynamically using maxReadFileLine setting
- When partialReadsEnabled is false, line_ranges parameter is excluded from schema
- Examples and descriptions adjust based on whether line ranges are supported

This matches the behavior of the XML tool definition which dynamically adjusts
its documentation based on settings, reducing confusion for agents.
2025-11-20 07:21:48 -05:00
github-actions[bot]
4ae0fc5f02
Changeset version bump (#9421)
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-20 00:00:36 -05:00
Matt Rubens
783b6b1bd0
Release v3.33.2 (#9420) 2025-11-19 23:56:08 -05:00
Matt Rubens
575b09f834
Show zero price for free models (#9419) 2025-11-19 23:18:38 -05:00
Daniel
5260123689
perf: reduce excessive getModel() calls & implement disk cache fallback (#9410) 2025-11-19 23:13:39 -05:00
John Richmond
f1bf4360fc
Add a RCC credit balance display (#9386)
* Add a RCC credit balance display

* Replace the provider docs with the balance when logged in

* PR feedback

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-11-19 21:36:19 -05:00
Hannes Rudolph
e618d881d6
feat: enable native tool calling for gemini provider (#9343)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2025-11-19 16:14:24 -05:00
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