Commit graph

6914 commits

Author SHA1 Message Date
Roo Code
8cf93a786f fix(web-evals): lift Fraunces/IBM Plex Sans font setup to shared evals layout
Move --font-display and --font-body CSS variable declarations from
workers/page.tsx into a new evals/layout.tsx so all evals sub-pages
(methodology, workers, workers/[roleId], etc.) inherit the font
variables without duplicating the setup.
2026-02-13 03:39:25 +00:00
Michael Preuss
b3fb878c71 Fix workers-v2 redirect util imports 2026-02-12 19:20:50 -08:00
Michael Preuss
d91c035e99 Make workers outcomes-first canonical; redirect v2; refresh methodology 2026-02-12 19:20:02 -08:00
Michael Preuss
310b10cdc2 feat: eval-evolution work in progress - recommendations and workers UI 2026-02-12 12:07:14 -08:00
Michael Preuss
3a6eaf8e07 style(web-evals): remove tilde prefix from dollar amounts 2026-02-11 20:04:26 -08:00
Michael Preuss
514dadfe47 fix(web-evals): pluralize team members text and increase card row gap 2026-02-11 20:00:59 -08:00
Michael Preuss
6c849fb8c3 refactor(web-evals): generalize methodology roles section for scalability 2026-02-11 19:57:58 -08:00
Michael Preuss
bf55aa0103 feat(web-evals): add scatter plot charts (value map + capability timeline)
- Add "Value Map: Salary vs Interview Score" scatter to comparison page
  - Dots colored by tier, sized by success rate
  - Sweet Spot quadrant highlight (upper-left)
  - Respects existing provider/success-rate filters
- Add "AI Coding Capability Over Time" scatter to landing page
  - 10 models from Jun 2025 to Feb 2026
  - Dots colored by provider, sized by cost efficiency
  - Dashed trend line showing upward trajectory
- Add MODEL_TIMELINE data to mock-recommendations.ts
2026-02-11 19:53:10 -08:00
Michael Preuss
336a6726f9 fix(web-evals): improve comparison chart bar spacing and height 2026-02-11 19:44:30 -08:00
Michael Preuss
baf0d5c3b7 feat(web-evals): redesign comparison page with glass-morphism and role themes
- Atmospheric header with role-colored blur gradients
- Glass-morphism containers for chart, filters, and export
- Styled language toggle pills with role color accents
- Themed provider checkboxes and success rate slider
- Custom chart tooltip with backdrop blur
- Export buttons with press feedback
- framer-motion scroll-triggered animations
- Bottom navigation with pill-style links
- Role themes: reviewer (violet) and autonomous (cyan) added to candidates page
2026-02-11 19:39:45 -08:00
Michael Preuss
5a57ccf8f8 feat(web-evals): add AI Engineer Talent Marketplace (Sprint 1)
- Add 5 engineer roles: Junior, Senior, Staff, Architecture Reviewer, Autonomous Agent
- Build role selection landing page with hiring metaphor at /evals/workers
- Build candidate rankings page with tiered recommendations at /evals/workers/[roleId]
- Build candidate comparison page with Recharts charts at /evals/workers/[roleId]/compare
- Build "How We Interview" methodology page at /evals/methodology
- Add mock data with real eval scores from 27 model runs
- Implement "Hire This Engineer" CTA linking to Roo Code Cloud
- Implement "Configure Extension" CTA with clipboard copy
- Per-language score breakdowns (Go, Java, JS, Python, Rust)
- Daily salary pricing (80 tasks/agent/day estimate)
- framer-motion animations, glass-morphism design, role color themes
- Tone-of-voice compliance (no em dashes, no hype, workflow-first copy)
- vscode:// deep link design doc at plans/vscode-deep-link-design.md
2026-02-11 19:32:09 -08:00
MP
417abeb691 Update apps/web-roo-code/public/llms-full.txt
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2026-02-11 15:46:24 -08:00
Roo Code
f458e5e03b feat(web): add llms.txt and llms-full.txt for Answer Engine Optimization 2026-02-11 15:46:24 -08:00
Daniel
b51af98278
fix: make delegation reopen flow Roo v2-native (#11418) 2026-02-11 16:38:57 -05:00
Hannes Rudolph
b759b92f01
refactor: remove built-in skills and built-in skills mechanism (#11414) 2026-02-11 14:32:57 -07:00
Hannes Rudolph
d2c52c9e09
chore: clean up repo-facing mode rules (#11410) 2026-02-11 12:15:55 -07:00
Daniel
e6f0e79c38
feat: implement ModelMessage storage layer with AI SDK response messages (#11409)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-11 13:58:39 -05:00
Matt Rubens
dcb33c47ad
Revert "feat: wire RooMessage storage into Task.ts and all providers" (#11394) 2026-02-10 23:57:42 -05:00
Daniel
a7ba3b5af5
feat: wire RooMessage storage into Task.ts and all providers (#11386) 2026-02-10 21:25:48 -07:00
Hannes Rudolph
4e659b459d
refactor: remove footgun prompting (file-based system prompt override) (#11387) 2026-02-10 18:32:01 -07:00
Hannes Rudolph
5800363903
refactor: delete orphaned per-provider caching transform files (#11388) 2026-02-10 17:39:45 -07:00
Hannes Rudolph
8a69e9e04d
feat: rename search_and_replace tool to edit and unify edit-family UI (#11296) 2026-02-10 17:32:35 -07:00
Hannes Rudolph
097f648349
fix: resolve chat scroll anchoring and task-switch scroll race condit… (#11385) 2026-02-10 16:40:13 -07:00
Hannes Rudolph
8d57da8bc8
roofactor: Migrate Roo provider to AI SDK (#11383) 2026-02-10 16:16:32 -07:00
Hannes Rudolph
08a96af22c
fix: harden command auto-approval against inline JS false positives (#11382) 2026-02-10 14:44:10 -07:00
Daniel
50e5d98f5b
feat: RooMessage type system and storage layer for ModelMessage migration (#11380)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-10 16:41:35 -05:00
Danger Mouse
4438fdadc6
Second Quick Fix for Azure Foundry (#11374) 2026-02-10 10:39:55 -07:00
roomote[bot]
b971fe1a63
fix: preserve pasted images in chatbox during chat activity (#11375)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-10 12:37:41 -05:00
Daniel
cdd1a4dabf
refactor: migrate NativeOllamaHandler to AI SDK (#11355) 2026-02-10 10:36:28 -07:00
Hannes Rudolph
4272a69726
refactor: unify Gemini/Vertex error handling via handleAiSdkError() (#11364) 2026-02-10 11:19:37 -05:00
SannidhyaSah
ff89965f59
fix: prevent chat history loss during cloud/settings navigation (#11371) (#11372)
Co-authored-by: Sannidhya <sann@Sannidhyas-MacBook-Pro.local>
2026-02-10 10:41:53 -05:00
Hannes Rudolph
d4cf3211e7
fix: avoid zsh process-substitution false positives in assignments (#11365) 2026-02-10 10:01:48 -05:00
0xMink
7df1a18ccb
fix(editor): make tab close best-effort in DiffViewProvider.open (#11363) 2026-02-10 09:52:30 -05:00
0xMink
c1a8767adc
fix(checkpoints): canonicalize core.worktree comparison to prevent Windows path mismatch failures (#11346) 2026-02-10 09:51:38 -05:00
Chris Estreich
b02924530c
Fix task resumption in the API module (#11369) 2026-02-10 00:28:17 -08:00
Daniel
5773af8ddd
feat: Refactor OpenRouter provider to use Vercel AI SDK (#10778)
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
2026-02-09 20:50:33 -07:00
Hannes Rudolph
2f9849071d
fix: surface actual API error messages instead of generic NoOutputGeneratedError (#11359) 2026-02-09 19:47:04 -07:00
Hannes Rudolph
938e6994a2
refactor: migrate Qwen Code provider to AI SDK (#11356)
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
2026-02-09 18:45:27 -07:00
Hannes Rudolph
b6bf829ad9
feat: migrate MiniMax provider to AI SDK (#11357) 2026-02-09 18:33:22 -07:00
Hannes Rudolph
b7d6e4933d
refactor: migrate OpenAI Codex to AI SDK and use Responses API instructions field (#11352) 2026-02-09 16:50:40 -07:00
Daniel
34a278e9a2
feat: migrate VercelAiGatewayHandler to AI SDK (#11353) 2026-02-09 18:50:21 -05:00
Daniel
a4914c438c
feat: migrate OpenAiHandler to AI SDK (#11351)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-09 18:49:34 -05:00
Daniel
7a38b99232
feat: migrate Requesty provider to AI SDK (@requesty/ai-sdk) (#11350) 2026-02-09 16:29:32 -07:00
Hannes Rudolph
f51e91ac76
fix: prevent double notification sound playback (#11283) 2026-02-09 16:17:36 -07:00
Hannes Rudolph
7da429da19
Revert "feat: add task header highlight for visual status indication" (#11349)
Revert "feat: add task header highlight for visual status indication (#11305)"

This reverts commit 5313cb503a.
2026-02-09 15:29:10 -07:00
Daniel
c74acf36ef
feat: migrate LiteLLM provider to AI SDK (@ai-sdk/openai-compatible) (#11348)
* feat: migrate LiteLLM provider to AI SDK (@ai-sdk/openai-compatible)

- Replace raw OpenAI SDK (RouterProvider) with Vercel AI SDK's
  createOpenAICompatible via OpenAICompatibleHandler base class
- Retain dynamic model fetching from LiteLLM server via /v1/model/info
- Use centralized getModelMaxOutputTokens() to cap output tokens at 20%
  of context window, preventing overflow errors
- Remove LiteLLM-specific workarounds (Gemini thought signature injection,
  prompt cache control headers) now handled by the proxy or AI SDK
- Rewrite tests to mock AI SDK (streamText, generateText) instead of
  raw OpenAI SDK

* fix: call fetchModel() in completePrompt() before execution

Addresses review feedback - completePrompt() now fetches models
before executing to ensure correct model info for token limits,
matching the behavior of createMessage().
2026-02-09 15:20:42 -07:00
roomote[bot]
70775f0ec1
fix: make removeClineFromStack() delegation-aware to prevent orphaned parent tasks (#11302)
* fix: make removeClineFromStack() delegation-aware to prevent orphaned parent tasks

When a delegated child task is removed via removeClineFromStack() (e.g., Clear
Task, navigate to history, start new task), the parent task was left orphaned
in "delegated" status with a stale awaitingChildId. This made the parent
unresumable without manual history repair.

This fix captures parentTaskId and childTaskId before abort/dispose, then
repairs the parent metadata (status -> active, clear awaitingChildId) when
the popped task is a delegated child and awaitingChildId matches.

Parent lookup + updateTaskHistory are wrapped in try/catch so failures are
non-fatal (logged but do not block the pop).

Closes #11301

* fix: add skipDelegationRepair opt-out to removeClineFromStack() for nested delegation

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-09 16:54:13 -05:00
Daniel
bb86eb8651
refactor: migrate LM Studio provider to Vercel AI SDK (#11347)
* refactor: migrate LM Studio provider to Vercel AI SDK

Migrate LmStudioHandler from raw OpenAI SDK to Vercel AI SDK via
OpenAICompatibleHandler base class.

Changes:
- Extend OpenAICompatibleHandler instead of BaseProvider
- Use createOpenAICompatible from @ai-sdk/openai-compatible
- Use streamText/generateText from ai package
- Add extractReasoningMiddleware for <think> tag extraction parity
- Pass draft_model via providerOptions for speculative decoding
- Remove unused getLmStudioModels function (active version in fetchers/)
- Update all tests to mock AI SDK instead of OpenAI SDK

* fix: wrap completePrompt with handleAiSdkError for consistent error handling

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-09 16:47:49 -05:00
Daniel
24039c78b5
refactor: migrate AnthropicVertexHandler to AI SDK (#11345)
Replace @anthropic-ai/vertex-sdk with @ai-sdk/google-vertex/anthropic,
using streamText/generateText from the Vercel AI SDK for consistent
provider behavior.

Changes:
- Use createVertexAnthropic from @ai-sdk/google-vertex/anthropic
- Use streamText/generateText instead of direct Anthropic API calls
- Add AI SDK transform utilities for message/tool conversion
- Handle cache control via AI SDK providerOptions
- Handle thinking/reasoning via providerOptions.anthropic.thinking
- Add thought signature and redacted thinking block tracking
- Set isAiSdkProvider() to return true
- Remove unused deps: @anthropic-ai/vertex-sdk, google-auth-library
- Rewrite tests to mock AI SDK instead of @anthropic-ai/vertex-sdk
2026-02-09 16:11:42 -05:00
Danger Mouse
571be71005
Pr 11144 (#11315)
* Latest main branch snapshot from API

* feat: add dedicated Azure OpenAI provider using @ai-sdk/azure package

* feat: add Azure provider UI component and translations

* feat: add Azure provider translations for all locales

* chore: add missing Azure placeholder translations

* Delete .changeset/azure-ai-sdk-migration.md

* fix: add Azure provider validation for onboarding workflow

- Add azureApiKey to SECRET_STATE_KEYS for proper configuration detection
- Add Azure validation case in validateModelsAndKeysProvided
- Add validation translations for azureResourceName and azureDeploymentName across all 18 locales

This fixes the issue where the Finish button does nothing when setting up Azure provider in the onboarding workflow.

* feat(azure): add model metadata, model picker, rename to Azure AI Foundry

- Add static model metadata for 29 Azure models (from models.dev)
  with Roo-specific flags (reasoning, tools, verbosity) matching
  openAiNativeModels
- Add model picker dropdown to Azure provider settings for model
  capability detection (context window, max tokens, pricing)
- Rename provider label from 'Azure OpenAI' to 'Azure AI Foundry'
  across all 18 locales
- Make API key optional (supports Azure managed identity / Entra ID)
- Update default API version from 2024-08-01-preview to 2025-04-01-preview
- Fix maxOutputTokens validation (filter invalid values <= 0)
- Handler separates deployment name (API calls) from model ID
  (capability lookup) with azureDefaultModelInfo (gpt-4o) fallback
- Remove unhelpful 'Get Azure AI Foundry Access' button
- Prevent stale model IDs from other providers carrying over
- Suppress validation errors on fresh provider selection

* fix(azure): add missing isAiSdkProvider() override for reasoning block preservation

* Azure Fixes for Hannes

* Quick Fix for Respones API Only (for Hannes)

* fix: use explicit azureOpenAiDefaultApiVersion fallback when apiVersion is empty

Addresses review feedback: the UI placeholder shows '2025-04-01-preview' via
azureOpenAiDefaultApiVersion, so the handler should use the same constant as
fallback instead of silently deferring to the SDK's internal default.

* fix: remove stale Cerebras references (retired provider)

* fix: add missing retiredProviderMessage translations for all locales

* fix: do not map promptCacheMissTokens to cacheWriteTokens for Azure

Azure uses OpenAI-compatible caching which does not report cache write
tokens separately. promptCacheMissTokens represents tokens NOT found in
cache (processed from scratch), not tokens written to cache. This aligns
the Azure handler with the OpenAI native handler behavior.

---------

Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: daniel-lxs <ricciodaniel98@gmail.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-02-09 14:11:12 -07:00