Commit graph

3577 commits

Author SHA1 Message Date
davincidreams
9062273ef5 feat(swarm-p5): file-backed mailbox for cross-process workers
FileMailbox implements IMailboxService using a JSON file per agent
with proper-lockfile for concurrent-write safety. Polling replaces
the EventEmitter used by InMemoryMailbox.

- FileMailbox: ~/<baseDir>/<safe-agentId>.json, 500ms poll interval
- Race-safe inbox creation via exclusive O_EXCL write (flag "wx")
- MailboxManager: createFileMailbox(sessionId, baseDir?) alongside
  existing createMailbox(); map type widened to IMailboxService

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 08:05:22 -04:00
davincidreams
28ab0add31 chore: remove unused RooCodeEventName import from presentAssistantMessage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 07:29:25 -04:00
davincidreams
a49d9614b0 feat(swarm-p4): leader permission bridge for concurrent worker tool approval
Workers that are running concurrently (parent still alive in task Map)
now route tool-approval through LeaderPermissionBridge instead of
surfacing a UI prompt on the hidden worker task.

- LeaderPermissionBridge: module-level singleton, register/submit/dialog
- presentAssistantMessage: intercept askApproval for concurrent workers
- ClineProvider: register showWorkerPermissionDialog on construction
- events/task.ts: PermissionRequested + PermissionResolved event types

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 07:26:45 -04:00
davincidreams
4705627fe4 feat(swarm-p3): in-process mailbox + idle worker loop
Infrastructure:
- IMailboxService interface (abstraction over in-process and future file backends)
- InMemoryMailbox: EventEmitter-based, instant delivery, configurable timeout fallback
- MailboxManager: per-session mailbox lifecycle + assignTask/shutdownWorker/
  waitForNextMessage/notifyIdle helpers

Events:
- WorkerIdle [sessionId, taskId] — emitted when a persistent worker finishes a turn
- WorkerShutdown [sessionId, taskId] — emitted when a worker receives shutdown_request

Idle loop (opt-in via persistent:true on spawnConcurrentChildren):
- spawnConcurrentChildren gains persistent?: boolean param; creates/destroys mailbox
- AttemptCompletionTool concurrent path: if session has an active mailbox, sends
  idle_notification and awaits task_assignment or shutdown_request (5-min safety
  timeout). On task_assignment: pushes new task context and returns "reassigned"
  so the LLM loop continues without resolving the parent Promise. On shutdown or
  timeout: resolves normally. TaskCompleted is NOT emitted for reassigned workers.
- DelegationProvider interface gains swarmRegistry, mailboxManager, emit fields

Public API on ClineProvider:
- assignTaskToWorker(sessionId, workerId, message): sends task_assignment
- shutdownWorkers(sessionId): broadcasts shutdown_request to all session workers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 07:08:40 -04:00
davincidreams
10b6690672 feat(swarm-p2): agent identity, SwarmRegistry, and color dots for concurrent workers
- packages/types/src/swarm.ts: AgentColorName, AgentIdentity, SwarmSession,
  TeammateMessage stubs (P3)
- packages/types/src/history.ts: add swarmSessionId, agentId, agentName,
  agentColor, isSwarmLeader fields to HistoryItem schema
- packages/types/src/events.ts: add SwarmSessionStarted, SwarmSessionEnded,
  WorkerRegistered events to RooCodeEventName, rooCodeEventsSchema, taskEventSchema
- packages/types/src/task.ts: add swarm events to TaskProviderEvents so ClineProvider
  emit calls are properly typed
- src/core/swarm/SwarmRegistry.ts: round-robin color assignment, session lifecycle
- ClineProvider: add SwarmRegistry field; spawnConcurrentChildren now creates a
  session, assigns agentName/agentColor/agentId to each worker's HistoryItem,
  marks parent as isSwarmLeader, emits SwarmSessionStarted/WorkerRegistered/
  SwarmSessionEnded; accepts optional role field in task spec
- RunTeamPhaseTool: pass role through to spawnConcurrentChildren
- SubtaskRow: render 8px color dot (with tooltip showing agentName) when
  agentColor is set on a history item

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 06:57:39 -04:00
davincidreams
c2a549a1dc feat(teams): add run_team_phase tool and TeamsManager for phased multi-agent workflows
Implements the Atlas-Agent-Teams pattern for Roo-Code:
- TeamConfig JSON schema in packages/types (slug, phases, agents, conventions)
- TeamsManager scans .roo/teams/*.json and caches configs
- RunTeamPhaseTool executes one phase: concurrent via spawnConcurrentChildren,
  sequential single via delegateParentAndOpenChild, sequential multiple via queue drain
- LLM schema (run_team_phase.ts) with orchestrator loop description
- Wired into ClineProvider (init, getTeamConfig, dispose), TOOL_GROUPS.modes,
  TOOL_DISPLAY_NAMES, NativeToolArgs, toolParamNames, and presentAssistantMessage
- Sample .roo/teams/fullstack.json: discovery (concurrent) → implementation → review

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 06:29:24 -04:00
davincidreams
5aecb08211 fix(swarm): schema, mode-switch race, abortOnChildFailure for concurrent spawn
Three targeted fixes:

1. Tool schema: add concurrent and abortOnChildFailure params to
   spawn_parallel_tasks so the LLM can discover and use them. Update
   description to explain sequential vs concurrent trade-offs.

2. Mode-switch race: spawnConcurrentChildren was using tasks.map(async)
   which ran all handleModeSwitch calls concurrently, causing each child
   to read whatever mode happened to win the race. Rewrite to a sequential
   for-loop for setup (mode switch + createTask), then a tight sync loop
   for all child.start() calls so execution is still concurrent.

3. abortOnChildFailure for concurrent mode: when a child rejects and the
   flag is set, immediately abort all sibling tasks via removeClineFromStack
   and reject their completion Promises. Previously this flag was only
   wired for the sequential queue-drain path.

Add 7 unit tests covering: aggregated results, serialised mode switches,
simultaneous start ordering, per-child error collection, sibling abort,
event emission, and worktree creation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 05:07:43 -04:00
davincidreams
862d263cb8 feat(swarm-p1): replace clineStack with tasks Map + concurrent spawn path
Replace the LIFO `clineStack: Task[]` with a flat `tasks: Map<string, Task>`
(+ `focusedTaskId`, `leaderTaskId`, `childCompletionHandlers`) so multiple
tasks can be registered simultaneously — the prerequisite for true concurrent
fan-out.

Key changes:
- ClineProvider: swap all 19 clineStack usages; add `getTaskById()`,
  `spawnConcurrentChildren()`, `resolveChildCompletion()`
- SpawnParallelTasksTool: add `concurrent?: boolean` flag; concurrent path
  awaits Promise.all via spawnConcurrentChildren instead of queue drain
- AttemptCompletionTool: detect concurrent vs sequential by checking whether
  parent is still alive in the tasks map; route to resolveChildCompletion
  (concurrent) or reopenParentFromDelegation (sequential)
- Tests: update three spec files that accessed clineStack directly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 03:05:14 -04:00
davincidreams
11b0bdef9d feat: parallel task introspection, orphan detection, error handling, and telemetry
- Introspection API: add ParallelTaskStatus type and getParallelTaskStatus() on
  TaskProviderLike so callers can list active child, queued tasks, and completed
  results (with errors) for any task ID
- Worktree orphan detection: detectAndCleanOrphanedWorktrees() scans history on
  startup, emits telemetry for each find, and offers a VS Code cleanup prompt
- Error propagation: reopenParentFromDelegation accepts childFailed flag; when
  abortOnChildFailure is set on the parent the remaining parallel queue is
  abandoned and partial results returned immediately
- abortOnChildFailure option: SpawnParallelTasksTool forwards the flag through
  delegation so callers can opt into fail-fast queue behaviour
- Worktree naming: worktree paths and branches now embed the last 8 chars of the
  parent task ID (e.g. project-a1b2c3d4) instead of a random suffix, making
  manual inspection easy
- Telemetry: six new events — WORKTREE_CREATED, WORKTREE_DELETED,
  WORKTREE_ORPHAN_DETECTED, PARALLEL_TASK_SPAWNED, PARALLEL_TASK_COMPLETED,
  PARALLEL_TASK_CHILD_FAILED — with matching TelemetryService capture methods
- error field on parallelResults items and abortOnChildFailure on HistoryItem
  schema so failure context survives process restarts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 02:23:38 -04:00
davincidreams
be83bb6698 feat: port Claude Code CLI features and add parallel agent/worktree support
- Port session memory compaction, microcompact, hooks system, and
  prompt-too-long retry from the Claude Code CLI source
- Add spawn_parallel_tasks tool with serial queue drain fan-out pattern
- Add worktree isolation: new_task/spawn_parallel_tasks accept a worktree
  param; ClineProvider creates/cleans up git worktrees per child task
- Add completionPayload: attempt_completion result parsed as JSON and
  aggregated across parallel tasks for structured fan-in
- Fix workspacePath priority so explicit override always wins over parent
- Emit TaskSpawned event from delegateParentAndOpenChild
- Scope MCP hub to per-task workspacePath for worktree-aware mcp.json
- Fix microCompact bugs: touched flag, off-by-one threshold, keepRecent:0
- Fix lazy OutputChannel init in hooks executor to avoid test failures
- Fix pre-existing lint warnings across src, packages/cloud, webview-ui

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 23:50:56 -04:00
davincidreams
9d5887ba31 chore: replace extension icon with custom Moo Code branding 2026-04-23 10:11:47 -04:00
davincidreams
f43d5edd74 fix: update cloud tests and package.json URLs
- Update all cloud package tests to match no-op implementations
- All 171 tests now pass
- Update src/package.json repository URL and homepage to point to actual fork
2026-04-23 09:27:21 -04:00
davincidreams
2fc7798424 feat: make fork standalone as Moo Code
- Strip all telemetry (PostHog, cloud telemetry) - no data leaves the machine

- Disable all cloud features (auth, settings sync, sharing, Roo provider)

- Rebrand extension: roo-cline -> moo-code, RooVeterinaryInc -> moo-code

- Update all commands, settings, views to moo-code.* prefix

- Remove upstream CI/CD workflows (marketplace publish, nightly, website)

- Rewrite README, PRIVACY, CONTRIBUTING, SECURITY docs

- Build verified: bin/moo-code-3.52.1.vsix (31.44 MB)
2026-04-23 08:20:11 -04:00
Chiranjeevisantosh Madugundi
2bb826039b
feat(chat): add previous checkpoint navigation controls and i18n (#12139)
Some checks are pending
Code QA Roo Code / check-translations (push) Waiting to run
Code QA Roo Code / knip (push) Waiting to run
Code QA Roo Code / compile (push) Waiting to run
Code QA Roo Code / platform-unit-test (ubuntu-latest) (push) Waiting to run
Code QA Roo Code / platform-unit-test (windows-latest) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Nightly Publish / publish-nightly (push) Waiting to run
2026-04-20 16:12:10 -06:00
Chiranjeevisantosh Madugundi
3e202ebf5b
feat(vertex): add Claude Opus 4.7 support (#12135) 2026-04-20 11:42:10 -06:00
github-actions[bot]
8b12f21439
Changeset version bump (#12110)
Some checks are pending
Code QA Roo Code / check-translations (push) Waiting to run
Code QA Roo Code / knip (push) Waiting to run
Code QA Roo Code / compile (push) Waiting to run
Code QA Roo Code / platform-unit-test (ubuntu-latest) (push) Waiting to run
Code QA Roo Code / platform-unit-test (windows-latest) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Nightly Publish / publish-nightly (push) Waiting to run
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-04-13 16:57:35 -06:00
github-actions[bot]
9cfaf38d8a
Changeset version bump (#12085)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
2026-04-08 15:16:12 -06:00
Ronald
92a1be40df
fix: Qwen Bad Request 400 (#12067) (#12083) 2026-04-08 14:34:45 -06:00
Hannes Rudolph
5b93bc7dc3
Release v3.52.0 (#12082) 2026-04-08 14:33:47 -06:00
Enrico Carlesso
5432fa2689
feat: migrate xAI provider to Responses API with reusable transform utils (#11962)
Co-authored-by: Enrico Carlesso <ecarlesso@twitter.com>
Co-authored-by: Roo Code <roomote@roocode.com>
2026-04-08 11:38:13 -06:00
Ksandr
eafed9705c
Fix/minimax context window and models (#12069) 2026-04-08 08:44:36 -06:00
Kamil Jopek
c3cae397a1
feat: add Poe as an AI provider (#12015)
Some checks failed
Code QA Roo Code / platform-unit-test (ubuntu-latest) (push) Has been cancelled
Code QA Roo Code / platform-unit-test (windows-latest) (push) Has been cancelled
Code QA Roo Code / knip (push) Has been cancelled
Code QA Roo Code / compile (push) Has been cancelled
Code QA Roo Code / check-translations (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Nightly Publish / publish-nightly (push) Has been cancelled
2026-04-05 23:37:29 -04:00
Peter Dave Hello
137d3f4fd8
Add OpenAI GPT-5.4 mini and nano models (#11946) 2026-03-18 22:27:26 -06:00
github-actions[bot]
44fd975b17
Changeset version bump
changeset version bump

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-07 19:36:55 -07:00
cscvenkatmadurai
0892455db2
feat(bedrock): add Cohere Embed v4 model and improve credential handling (Fixes #11823) (#11824)
feat(bedrock): add Cohere Embed v4 model and improve credential handling

- Add cohere.embed-v4:0 (1536-dim) to Bedrock embedding model profiles
- Add v4-specific request format (embedding_types: ["float"]) and response
  parsing (embeddings.float[0]) in BedrockEmbedder
- Replace fromEnv() with fromNodeProviderChain() for default credential
  chain when no AWS profile is specified, supporting SSO, IMDS, ECS, and
  other credential sources with built-in memoization
- Add unit tests for Cohere v4 request/response handling, credential
  provider selection, and v3 regression coverage

Fixes #11823
2026-03-05 18:45:17 -07:00
github-actions[bot]
5eec588653
Changeset version bump (#11731)
changeset version bump

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-05 15:18:22 -07:00
Hannes Rudolph
58c535319e
Release v3.51.0 (#11870)
chore: add changeset for v3.51.0
2026-03-05 14:58:45 -07:00
Peter Dave Hello
0612739ba1
Add OpenAI GPT-5.3 chat latest and GPT-5.4 model support (#11848) 2026-03-05 14:15:55 -07:00
AJ Juaire
52ce796e42
feat: add ROO_ACTIVE env variable to terminal env settings (#11862) 2026-03-04 17:23:52 -07:00
John Richmond
7dc83a522e
Allow selecting a specific shell (#11851)
* Allow selecting a specific shell

Add --terminal-shell CLI flag to specify which shell ExecaTerminalProcess
uses for inline command execution. The shell path is validated at the CLI
layer and passed through the standard settings mechanism (BaseTerminal
static getter/setter), matching how all other CLI terminal settings flow
through the system.

* test(cli): make shell path access test cross-platform
2026-03-03 23:31:34 -08:00
Hannes Rudolph
459f27015d
fix: prevent redundant skill reloading in conversation (#11838) 2026-03-02 16:47:19 -07:00
Hannes Rudolph
af1e12c76d
feat: expose skills as slash commands with skill fallback execution (#11834)
Co-authored-by: Roo Code <roomote@roocode.com>
2026-03-02 15:10:32 -07:00
Chris Estreich
7ea91fa79e
fix(cli): ignore model-provided timeout in CLI runtime (#11835)
In CLI runtime, stdin harnesses expect command lifetime to be governed
solely by commandExecutionTimeout (user setting), not model-provided
background timeouts. Extract resolveAgentTimeoutMs() and return 0 when
ROO_CLI_RUNTIME=1.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:25:31 -08:00
Chris Estreich
e6ad7949d6
Fix stdin-stream cancel race and add integration test suite (#11817)
Add stdin stream integration tests and fix startup cancel race
2026-03-01 22:27:01 -08:00
Chris Estreich
ec979585e8
Fix stdin stream queued messages and command output streaming (#11814)
Fix stdin stream queue handling and command output streaming
2026-03-01 19:53:59 -08:00
Daniel
a7c8275e85
fix: forward task configuration through stdin-prompt-stream (#11778)
fix: forward task configuration through stdin-prompt-stream protocol

The stdin-prompt-stream `start` command only accepted `prompt` — any
`configuration` passed via the cloud worker's StartNewTask was silently
dropped. This meant custom modes (e.g. `ask-artifacts`), disabled tools,
and other task-level settings never reached the extension when running
via the CLI harness.

Changes:
- Add optional `configuration` field to the `start` stdin command
- Parse and forward it in `runStdinStreamMode`
- Thread it through `ExtensionHost.runTask` → `newTask` webview message
  → `ClineProvider.createTask` (which already calls `setValues`)
- Add `taskConfiguration` field to `WebviewMessage` type

Backward-compatible: older CLIs ignore the extra field; older workers
that don't send `configuration` trigger no change in behavior.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: cte <cestreich@gmail.com>
2026-02-26 21:41:14 -08:00
Chris Estreich
efbba9e8d5
Fix cli task resumption (#11739) 2026-02-25 01:24:05 -08:00
Chris Estreich
70cbc716e8
fix(cli): streaming deltas, task ID propagation, cancel recovery, and misc fixes (#11736)
* fix(cli): streaming deltas, task ID propagation, cancel recovery, and misc fixes

- Stream tool_use ask messages (command, tool, mcp) as structured deltas
  instead of full snapshots in json-event-emitter
- Generate task ID upfront and propagate through runTask/createTask so
  currentTaskId is available in extension state immediately
- Wait for resumable state after cancel before processing follow-up
  messages to prevent race conditions in stdin-stream
- Add ROO_CODE_DISABLE_TELEMETRY=1 env var to disable cloud telemetry
- Provide valid empty JSON Schema for custom tools without parameters
  to fix strict-mode API validation
- Skip paths outside cwd in RooProtectedController to avoid RangeError
- Silently handle abort during exponential backoff retry countdown
- Enable customTools experiment in extension host

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: add start() to TaskStub in single-open-invariant test

The ClineProvider.createTask change to call task.start() after
addClineToStack requires the test's TaskStub mock to have this method.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:29:50 -08:00
Peter Dave Hello
2541449924
Add OpenAI's GPT-5.3-Codex model support (#11728)
* Add OpenAI's GPT-5.3-Codex model support

Reference:
- https://openai.com/index/introducing-gpt-5-3-codex/
- https://developers.openai.com/api/docs/models/gpt-5.3-codex

* chore: add changeset for GPT-5.3-Codex support

* fix: rename CodeAccordian to CodeAccordion in FileChangesPanel

---------

Co-authored-by: Hannes Rudolph <hrudolph@gmail.com>
Co-authored-by: Robot Tom <bot@example.com>
2026-02-24 14:46:27 -07:00
Peter Dave Hello
d0e72b7b3e
Fix spelling/grammar and casing inconsistencies (#11485) 2026-02-24 14:22:22 -07:00
github-actions[bot]
aca95ccd04
Changeset version bump (#11672)
* changeset version bump

* Revise CHANGELOG for recent version updates

Updated changelog for versions 3.50.4 to 3.48.0, including new features, fixes, and improvements.

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-02-21 17:25:27 -05:00
roomote[bot]
62a7bd7354
feat: add MiniMax M2.5 model (#11458)
* feat: add MiniMax M2.5 model and set as default

* fix: update MiniMax M2.5 contextWindow to 204_800

* Delete .changeset/add-minimax-m25.md

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2026-02-20 22:34:18 -05:00
github-actions[bot]
ae09ee5a64
Changeset version bump (#11642)
changeset version bump

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 12:16:35 -07:00
github-actions[bot]
2991bc9a39
Changeset version bump (#11634)
changeset version bump

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 10:47:38 -07:00
roomote[bot]
93415c7204
fix: correct Vertex AI claude-sonnet-4-6 model ID (#11626)
fix: correct Vertex AI claude-sonnet-4-6 model ID by removing date suffix

Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-20 10:46:58 -07:00
pugazhendhi-m
4288b0a72f
feat: restore Unbound as a provider (#11624)
* feat: restore Unbound as a provider

* Adds translations

* fix: add unbound to ClineProvider test expectations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:37:13 -07:00
roomote[bot]
b34678488e
fix: prevent git templates from leaking into shadow checkpoint repos (#8629)
Pass --template="" to git init and strip GIT_TEMPLATE_DIR from the
environment so system/user git hooks and other template files never
get copied into the shadow repository used for checkpoints.

Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-20 08:39:10 -07:00
RussellZager
618aa6652b
Inline terminal rendering parity with the VSCode Terminal (#11361)
* fix: render ANSI escape codes in inline terminal output

Fixes #10699

## Problem
The inline terminal output displayed raw ANSI bracket codes ([1m, [32m, etc.)
instead of rendering colors and formatting. This was caused by:
1. Backend: strip-ansi removing the ESC byte but leaving bracket remnants
2. Frontend: CodeBlock/Shiki having no ANSI rendering capability

## Solution
1. Backend: Replace strip-ansi with targeted removal of only VSCode shell
   integration sequences (OSC 633/133), preserving standard ANSI SGR codes
2. Frontend: Add new TerminalOutput component using ansi-to-html library
   that converts ANSI sequences to styled HTML spans
3. Map ANSI colors to VSCode terminal theme CSS variables for consistent
   theming across light/dark themes

## Testing
- Verified XSS prevention (escapeXML: true)
- Verified theme compatibility
- Added unit tests for both backend and frontend changes
- Updated existing tests to expect ANSI codes in output

Bundle size impact: ~3KB gzipped (ansi-to-html library)

Co-authored-by: Zman771 <605281+Zman771@users.noreply.github.com>

* fix: add eslint-disable for intentional ANSI control regex

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Zman771 <605281+Zman771@users.noreply.github.com>
Co-authored-by: Russell Zager <rzager@google.com>
2026-02-20 00:19:56 -07:00
roomote[bot]
27095553ca
fix(bedrock): enable prompt caching for custom ARN and default to ON (#11373)
* fix(bedrock): enable prompt caching for custom ARN and default to ON

- Set supportsPromptCache to true for custom-arn model info in useSelectedModel.ts
- Change awsUsePromptCache default from false to true using nullish coalescing
- Add tests for custom-arn prompt caching support

Closes #10846

* fix(bedrock): align backend awsUsePromptCache default with UI (?? true)

The backend treated undefined awsUsePromptCache as falsy (OFF) while the
UI checkbox defaulted to true via nullish coalescing. This caused the UI
to show prompt caching as ON but the backend to keep it OFF for new users.

Apply the same ?? true default in the backend so both sides agree.

---------

Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-20 00:06:52 -07:00
github-actions[bot]
3a7a01f2f7
Changeset version bump (#11623)
changeset version bump

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-19 23:56:40 -07:00