Commit graph

7041 commits

Author SHA1 Message Date
Roo Code
8f50b83fb2 fix: remove double schema processing, redundant stream flag, add URL image support 2026-04-07 18:41:35 +00:00
Roo Code
69511334dc fix: restore getModelParams, use base class tool conversion, add cacheWriteTokens, simplify completePrompt 2026-03-20 00:14:40 +00:00
Roo Code
059b0db6c3 fix: address review issues in xAI Responses API migration
- Use base provider convertToolSchemaForOpenAI() for tool schema hardening
- Handle MCP tools with isMcpTool() (strict: false for MCP, true otherwise)
- Respect metadata.tool_choice instead of always using "auto"
- Add parallel_tool_calls pass-through from metadata
- Fix assistant string content to use output_text format (not input_text)
- Remove unused modelInfo param from createUsageNormalizer
- Add cacheWriteTokens extraction to usage normalizer
- Fix test() -> it() inconsistency in xai.spec.ts
- Update tests to match all changes
2026-03-20 00:04:02 +00:00
Enrico Carlesso
03fb47c27f feat: migrate xAI provider to Responses API with reusable transform utilities
Migrate the xAI provider from the deprecated Chat Completions API to the
Responses API, add grok-4.20 as the new default model, and introduce shared
transform utilities for Responses API that other providers can adopt.

New shared utilities (src/api/transform/):
- responses-api-stream.ts: processResponsesApiStream() handles core
  Responses API stream events (text, reasoning, tool calls, usage) and
  createUsageNormalizer() provides configurable token/cost extraction.
  Designed for reuse by openai-native, openai-codex, or any future
  Responses API provider.
- responses-api-input.ts: convertToResponsesApiInput() converts directly
  from Anthropic message format to Responses API input format, avoiding
  the intermediate Chat Completions conversion step. Handles input_text,
  input_image, function_call, and function_call_output mappings.

xAI provider (src/api/providers/xai.ts):
- Switch from client.chat.completions.create() to client.responses.create()
- Use shared transform utilities for stream handling and input conversion
- Enable reasoning traces via include: ["reasoning.encrypted_content"]
- System prompt via instructions field, store: false for privacy
- completePrompt() also migrated to Responses API

Model updates (packages/types/src/providers/xai.ts):
- Add grok-4.20 as the new default model (2M context, $2/$6 pricing)
- Remove grok-4.20-beta-0309-reasoning and grok-4.20-beta-0309-non-reasoning
2026-03-19 16:10:54 -07:00
Peter Dave Hello
137d3f4fd8
Add OpenAI GPT-5.4 mini and nano models (#11946) 2026-03-18 22:27:26 -06:00
Enrico Carlesso
08f3a2bb39
feat: add xAI grok-4.20 models and update default (Fixes #11955) (#11956) 2026-03-18 22:25:20 -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
roomote-v0[bot]
4ab1d81f55
Release v3.51.1
chore: add changeset for v3.51.1

Co-authored-by: Roo Code <roomote@roocode.com>
2026-03-07 19:17:54 -07:00
roomote-v0[bot]
7ae9c4efd2
feat: add gpt-5.4 to ChatGPT Plus/Pro (Codex) model catalog (#11876) 2026-03-07 19:00:39 -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
Niklas Volcz
0e56afc764
Add Gemini 3.1 Pro customtools model to Vertex AI provider (#11857) 2026-03-05 15:21:12 -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
Chris Estreich
3e237e6061
chore(cli): prepare release v0.1.17 (#11860) 2026-03-04 12:27:57 -08:00
Chris Estreich
0b0b33e6a2
feat(cli): support --create-with-session-id and UUID session validation (#11859)
feat(cli): add create-with-session-id support

rename public task id flag to --create-with-session-id

validate session ids as UUIDs for create/resume and stdin start.taskId

add integration coverage for create+resume loading correct session
2026-03-04 10:32:16 -08:00
Chris Estreich
0db51d8bfa
chore(cli): prepare release v0.1.16 (#11852) 2026-03-03 23:37:56 -08: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
Chris Estreich
9a58f76299
Add CLI integration coverage for stdin stream routing/race invariants (#11846)
Add integration coverage for stdin stream routing and race invariants
2026-03-02 23:11:54 -08:00
Chris Estreich
f9da48f73a
chore(cli): prepare release v0.1.15 (#11845) 2026-03-02 23:05:05 -08:00
Chris Estreich
06afe4206b
Fix CLI follow-up routing after completion asks (#11844)
Fix stdin follow-up routing for completion asks in CLI stream mode
2026-03-02 22:52:39 -08:00
Chris Estreich
02598bc4a5
chore(cli): prepare release v0.1.14 (#11843) 2026-03-02 21:54:26 -08:00
Chris Estreich
d0480360cb
cli: ensure full command output is streamed before done (#11842) 2026-03-02 21:50:18 -08:00
Hannes Rudolph
459f27015d
fix: prevent redundant skill reloading in conversation (#11838) 2026-03-02 16:47:19 -07:00
Hannes Rudolph
d6611f8f69
chore(cli): prepare release v0.1.13 (#11837)
* chore(cli): prepare release v0.1.13

* Update CHANGELOG.md

---------

Co-authored-by: Chris Estreich <cestreich@gmail.com>
2026-03-02 14:50:33 -08: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
ce73d05646
Release: v1.115.0 (#11833)
chore: bump version to v1.115.0
2026-03-02 13:35:52 -08:00
Chris Estreich
3c7544c104
chore(cli): prepare release v0.1.12 (#11836) 2026-03-02 13:34:19 -08: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
941e6de743
chore(cli): prepare release v0.1.11 (#11832) 2026-03-02 12:59:23 -08:00
Chris Estreich
95ea01f9a5
feat(cli): support images in stdin stream commands (#11831)
feat(cli): support images in stdin stream start and message commands

Add optional `images` field (array of base64 data URIs) to the `start` and
`message` CLI stdin stream commands, allowing callers to attach images to
prompts. The images are validated, forwarded through the extension host, and
included in queued messages.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:57:21 -08:00
Chris Estreich
5a4ab2b13f
Fix upgrade version detection (#11829) 2026-03-02 09:43:40 -08:00
Chris Estreich
b00c260dc0
Release: v1.114.0 (#11822)
chore: bump version to v1.114.0
2026-03-02 00:13:15 -08:00
Chris Estreich
737edbc5ab
chore(cli): prepare release v0.1.10 (#11821) 2026-03-02 00:07:27 -08:00
Chris Estreich
eb2147148e
feat(cli): include exitCode in command tool_result events (#11820)
Propagate the command exit code through the JSON event emitter so CLI
consumers can distinguish between successful and failed command
executions without parsing output text.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 00:03:05 -08:00
Chris Estreich
7118a14188
Fix knip checks (#11819) 2026-03-01 23:21:13 -08:00
Chris Estreich
571cae2368
chore(cli): prepare release v0.1.9 (#11818) 2026-03-01 22:28:49 -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
a7cebac2d8
chore(cli): prepare release v0.1.8 (#11816) 2026-03-01 19:59:18 -08:00
Chris Estreich
787f02e526
Increase command execution timeout (#11815) 2026-03-01 19:56:16 -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
Chris Estreich
b75f484663
chore(cli): prepare release v0.1.7 (#11812) 2026-03-01 12:03:56 -08:00
Chris Estreich
52d606bab3
Handle stdin-stream control-flow errors gracefully (#11811) 2026-03-01 12:01:40 -08:00
roomote[bot]
193053110b
fix: remove Netflix logo from homepage (#11787)
fix: remove Netflix logo from homepage company logos

Co-authored-by: Roo Code <roomote@roocode.com>
2026-02-27 12:19:25 -08:00
Chris Estreich
54721a3155
Release: v1.113.0 (#11782)
chore: bump version to v1.113.0
2026-02-26 22:26:23 -08:00
Chris Estreich
b55409c0b0
Add cli types (#11781) 2026-02-26 22:06:55 -08:00
Chris Estreich
50c8101754
chore(cli): prepare release v0.1.6 (#11780) 2026-02-26 21:45:27 -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
81047a65b6
fix(cli): scope sessions and resume flags to current workspace (#11774)
fix(cli): scope sessions to current workspace
2026-02-26 21:32:23 -08:00