Commit graph

38 commits

Author SHA1 Message Date
Ton Hoang Nguyen (Bill)
342ee70fb4
Feat: Adding Gemini tools - URL Context and Grounding with Google Search (#5959)
* feat: Adding more settings and control over Gemini

- with topP, topK, maxOutputTokens
- allow users to enable URL context and Grounding Research

* feat: Adding parameter titles and descriptions + translation to all languages

* feat: adding more translations

* feat: adding `contextLimit` implementation from `maxContextWindow` PR + working with profile-specific thresholding

* feat: max value for context limit to model's limit + converting description and titles to settings for translation purposes

* feat: all languages translated

* feat: changing profile-specific threshold in context management setting will also change in Gemini context management

- sync between Context Management Settting <-> Gemini Context Management with regards to thresholding

* feat: max value of maxOutputTokens is model's maxTokens + adding more tests

* feat: improve unit tests and adding `data-testid` to slider and checkbox components

* fix: small changes in geminiContextManagement descriptions + minor fix

* fix: Switching from "Gemini Context Management" to "Token Management

- better naming and correct purpose

* fix: input field showed NaN -> annoying UX

* fix: Removing redundant "tokens" after the "set context limit"'s checkbox + removing the lengthy description

* fix: Changing the translation to be consistent with the english one

* fix: more translations

* fix: translations

* fix: removing contextLimit and token management related code

- due to the decision in: https://github.com/RooCodeInc/Roo-Code/issues/3717

* fix: removing `contextLimit` test and removing token management in translations

* fix: changing from `Advanced Features` to `Tools` to be consistent with Gemini docs/AI studio

* fix: adding `try-catch` block for `generateContentStream`

* feat: Include citations + improved type safety

* feat: adding citation for streams (generateContextStream)

* fix: set default values for `topP`, `topK` and `maxOutputTokens`

* fix: changing UI/UX according to the review/feedback from `daniel-lxs`

* fix: updating the `Gemini.spec.tsx` unit test

- testing when it is hidden
- testing when users click on the collapsible trigger and model configuration appears

* fix: more changes from the feedback/review from `daniel-lxs`

* fix: adding sources at the end of the stream to preserve

* fix: change the description for grounding with google search and url context

* fix: adding translations

* fix: removing redundant extra translations - a mistake made by the agent

* fix: remove duplicate translation keys in geminiSections and geminiParameters

- Fixed duplicate keys in 13 localization files (es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, tr, vi)
- Removed second occurrence of geminiSections and geminiParameters keys
- Kept first occurrence which contains more comprehensive descriptions
- All JSON files validated for syntax correctness
- Translation completeness verified with missing translations script

Resolves duplicate key issue identified in PR #4895

* fix: delete topK, topP and maxOutputTokens from Gemini

* fix: deleting topK, topP and maxOutputTokens from translations/locales

* fix: adjust spacing between labels and descriptions + sentence casing

* fix: adding maxOutputTokens back and removing unknown type

* fix: internalizing error Gemini error message

* fix: updating tests in Gemini and Vertex to adjust to the new error logging

* fix: address PR review feedback for Gemini tools feature

- Fix Hindi translation grammatical error in settings.json
- Internationalize 'Sources:' string and error messages in gemini.ts
- Add comprehensive error scenario tests to gemini-handler.spec.ts
- Remove unused currentModelId prop from Gemini component
- Update all locale files with new translation keys

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-27 14:34:55 -04:00
Matt Rubens
8334f0869f
Update the max_tokens fallback logic in the sliding window (#5993) 2025-07-21 22:26:39 -04:00
SannidhyaSah
7392f14e44
feat: add profile-specific context condensing thresholds (#4456)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-06-20 23:02:04 -04:00
Chris Estreich
62c3914034
Farewell jest (#4607)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-06-16 21:39:45 -07:00
Chris Estreich
7820b7517a
Roo Code Cloud (#4069)
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com>
2025-05-28 20:43:30 -07:00
Canyon Robins
2e5a1a8e1d
[Condense] Skip condense and show error if the context grows (#4061)
* [Condense] Skip condense and show error if the context grows

* update tests

* changeset

* nit: error should be nonempty

* update translations

* add more errors

* add more test cases

* update translations

* pipe error back from truncate code

* add condense_context_error ClineMessage

* fixes

* translations
2025-05-28 15:55:07 -04:00
Chris Estreich
e66136f1aa
Add a new @roo-code/types package and use it everywhere (#3912) 2025-05-26 12:06:45 -07:00
SannidhyaSah
d149d65e14
Feature/condensing enhancements (#3826)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
Co-authored-by: Your Name <you@example.com>
2025-05-22 17:26:46 -04:00
Canyon Robins
8df7f450e3
[Condense] Add isAutomaticTrigger to condense telemetry (#3798) 2025-05-21 13:02:54 -07:00
Canyon Robins
d7ae811a45
[Condense] Track telemetry for condense and truncate operations (#3796)
* [Condense] Track telemetry for condense and truncate operations

* update tests

* test fix nits
2025-05-21 12:49:43 -07:00
Canyon Robins
1fe65364ee
[Condense] Add a slider for the context condense threshold (#3790)
* [Condense] Add a slider for the context condense threshold

* slider UI

* condense if we reach the threshold

* fixes

* test typing fixes

* add more truncate tests

* changeset

* update translations

* fix missing type
2025-05-21 12:10:00 -07:00
Canyon Robins
c3716f1107
[Condense] Add a button to condense the task context (#3623)
* [Condense] Add a button to condense the task context

* wip

* wip

* wip

* bring back delete size

* account for the system prompt in the context

* update tests to use systemPrompt

* add type

* translations

* nit

* update tests

* filter to the current task

* nit

* refactor

* nit

* non interactive option

* simplify chat summary UI

* changeset

* nit

* fix check-types

* throw
2025-05-20 13:47:02 -07:00
Canyon Robins
29e055ccb9 camelCase 2025-05-19 20:26:06 -07:00
Canyon Robins
01bdc53eb1 update sliding-window tests 2025-05-19 19:37:26 -07:00
Canyon Robins
0fb8075d8c nit 2025-05-19 19:15:38 -07:00
Canyon Robins
65f7f350ea account for system prompt when estimating new context size 2025-05-19 18:28:30 -07:00
Canyon Robins
603d2eface [Condense Context] Track metrics around context condensing and show in UI 2025-05-19 17:36:17 -07:00
Canyon Robins
7c1185ed33
[Condense] Condense messages with an LLM rather than truncating (#3582)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-05-14 16:44:01 -04:00
Chris Estreich
cb29e9d56f
Remove ModelInfo objects from settings (#2939) 2025-04-25 15:23: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
Chris Estreich
3322e08cb7
Relax provider profiles schema and log parse error to PostHog (#2139)
* Relax provider profiles schema and log parse error to PostHog

* Create wise-moose-shop.md

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-30 23:07:34 -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
Matt Rubens
a0684454a2 Add a dynamic token buffer 2025-03-01 10:10:24 -05:00
Matt Rubens
764d963c10 Add a 5k token buffer before the end of the context window 2025-03-01 08:49:10 -05:00
Chris Estreich
481d613bc8 Estimate the number of tokens in the last message for sliding window math 2025-02-28 21:34:53 -08:00
Chris Estreich
5e53d00ebc Allow control over maxTokens for thinking models 2025-02-26 14:23:11 -08:00
Matt Rubens
8ec903dd8d Fix typo 2025-02-25 17:58:04 -05:00
Matt Rubens
d8cafbc67e Simplify the context truncation math 2025-02-25 15:29:56 -05:00
cte
6245aa7629 Add tests 2025-02-24 15:40:31 -08:00
cte
1d67f88aba Sliding window fix 2025-02-24 15:09:46 -08:00
Nissa Seru
98c8cc9624 Updated sliding window logic to be inverse of trigger criteria 2025-02-05 04:53:21 -05:00
Nissa Seru
3492f79f37 Remove unnecessary variable, add JSDocs 2025-02-02 02:56:30 -05:00
Matt Rubens
fef95e10b8 Fix type 2025-02-02 01:34:45 -05:00
Matt Rubens
9da39e42e1 Fix conflict 2025-02-02 01:23:45 -05:00
Nissa Seru
d154d059a6 Enable separate config for truncation for models without context caching 2025-01-31 06:17:20 -05:00
Mark Percival
93e70c62f1
Chore: Prettier for consistant formatting (#794)
* Chore: Pretier for consistant formatting

- TODO: This PR needs to be updated by Saoud after he runs `npm install` & `npm format:fix` and commits the results of the prettier changes.

* Revert prettier config

* Run npm install

* Fix prettier config and ignore package lock

* Run format

---------

Co-authored-by: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com>
2024-11-21 13:13:54 -08:00
Saoud Rizwan
40f7942801 Refactor out of utils 2024-09-24 11:45:12 -04:00