Commit Graph

199 Commits

Author SHA1 Message Date
kiloconnect[bot] 7ba2fbdabc fix: restore Claude tool call ID normalization from upstream
The normalizeMessages function in transform.ts was missing a block that
normalizes tool call IDs for Claude models. This block exists in the
upstream OpenCode repo but was inadvertently removed in our fork.

The normalization replaces any characters that are not alphanumeric,
underscore, or hyphen with underscores in toolCallId fields. This
prevents Claude from rejecting messages with tool call IDs containing
invalid characters.
2026-02-25 13:53:25 +00:00
Kevin van Dijk ccf97cbed1 Resolve merge conflicts 2026-02-24 18:16:17 +01:00
Kevin van Dijk ae62fff98d Resolve merge conflicts 2026-02-23 20:12:28 +01:00
Kevin van Dijk d6e6016e91 Resolve merge conflicts 2026-02-23 18:19:57 +01:00
Kevin van Dijk 8edb49ac1d Resolve merge conflicts 2026-02-23 16:30:46 +01:00
Kevin van Dijk 58995d9591 Resolve merge conflicts 2026-02-23 16:11:57 +01:00
Kevin van Dijk 7ac4e68dc8 Resolve merge conflicts 2026-02-23 13:54:54 +01:00
Christiaan Arnoldus ec45711257 Apply suggestion from @kiloconnect[bot]
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-02-22 17:03:15 +01:00
Christiaan Arnoldus 71e8658f0a Allow reasoning for Claude models on the Kilo gateway and restore preserved reasoning 2026-02-20 16:33:17 +01:00
opencode-agent[bot] 686dd330a0 chore: generate 2026-02-19 22:19:09 +00:00
tctev 193013a44d feat(opencode): support adaptive thinking for claude sonnet 4.6 (#14283)
Co-authored-by: tctev <224793535+tctev@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-19 16:17:57 -06:00
Aiden Cline 7e35d0c610 core: bump ai sdk packages for google, google vertex, anthropic, bedrock, and provider utils (#14318) 2026-02-19 12:35:51 -06:00
Aiden Cline 5364ab74a2 tweak: add support for medium reasoning w/ gemini 3.1 (#14316) 2026-02-19 12:00:56 -06:00
Kevin van Dijk 6f9f7443ef Resolve merge conflicts 2026-02-18 13:26:43 +01:00
dpuyosa afd0716cbd feat(opencode): Add Venice support in temperature, topP, topK and smallOption (#13553) 2026-02-15 22:24:24 -06:00
Aiden Cline 839c5cda12 fix: ensure anthropic models on OR also have variant support (#13498) 2026-02-14 14:30:07 -06:00
Aiden Cline 933a491ade fix: ensure vercel variants pass amazon models under bedrock key (#13631) 2026-02-14 13:18:52 -06:00
Aiden Cline 759ec104b6 fix vercel gateway variants (#13541)
Co-authored-by: Benjamin Woodruff <github@benjam.info>"
2026-02-14 12:32:29 -06:00
Marius d97fb9a6da fix: revert Claude reasoning additions for Kilo Gateway (#305)
Disable reasoning for Claude models via Kilo Gateway until the
OpenRouter AI SDK is upgraded to v2.x (which includes the fix for
reasoning_details duplication - OpenRouterTeam/ai-sdk-provider#344).

Changes:
- Remove hardcoded reasoning effort for Claude in options()
- Return empty variants for Claude in variants()
- Remove Claude-specific reasoning.effort in smallOptions()
- Keep thinking/reasoning block stripping code (prevents corrupt
  reasoning_details from being sent back to the API)
- Caching continues to work via model.api.id matching

Fixes #303
2026-02-13 10:38:01 +01:00
Aiden Cline 0d90a22f90 feat: update some ai sdk packages and uuse adaptive reasoning for opus 4.6 on vertex/bedrock/anthropic (#13439) 2026-02-13 00:56:11 -06:00
Christiaan Arnoldus 5714cbcaa7 Apply suggestion from @chrarnoldus 2026-02-12 10:13:30 +01:00
Christiaan Arnoldus 6400e30760 Apply suggestions from code review 2026-02-12 10:13:17 +01:00
kiloconnect[bot] 67e7abfff6 Re-enable prompt caching for Kilo Gateway and OpenRouter
Previously prompt caching via applyCaching() was disabled for both
OpenRouter and Kilo Gateway to avoid modifying thinking blocks. PR #270
re-enabled it for Kilo Gateway only. This change re-enables it for both
providers by including isOpenRouterOrKilo in the caching condition.

Thinking block stripping still applies to both providers before caching
is applied, so the original concern about modified thinking blocks is
addressed.
2026-02-12 09:07:29 +00:00
Catriel Müller 1eedad9213 Refactor publish workflow and environment variables (#261)
* feat: changelog generation

* refactor: rename all ENV variables to KILO prefix

* refactor: publish rework

* refactor: publish rework

* refactor: unify git commiter action

* refactor: add all kilobots to the team
2026-02-12 09:00:51 +01:00
dpuyosa bf5a01edd9 feat(opencode): Venice Add automatic variant generation for Venice models (#12106) 2026-02-11 20:21:29 -06:00
Catriel Müller 52588386a4 feat: merge opencode v1.1.57 2026-02-11 14:26:25 -03:00
Aiden Cline 0fd6f365be fix(core): ensure compaction is more reliable, add reserve token buffer to ensure that input window has enough room to compact (#12924)
Co-authored-by: James Lal <james@littlebearlabs.io>
2026-02-10 19:55:22 -06:00
Catriel Müller f8131c2e00 feat: merge opencode v1.1.54 2026-02-10 22:10:03 -03:00
Marius 337c05849b fix: use 'max' instead of 'xhigh' as highest reasoning effort for Anthropic models on Kilo Gateway (#213)
* fix: use 'max' instead of 'xhigh' as highest reasoning effort for Anthropic models on Kilo Gateway

Anthropic's native effort levels are low/medium/high/max, not xhigh.
The upstream merge replaced the Kilo-specific effort mapping with
OPENAI_EFFORTS which uses xhigh. This restores 'max' as the
user-facing variant name while mapping it to 'xhigh' on the wire
for OpenRouter API compatibility.

* fix: clarify comment about OpenRouter effort naming vs Anthropic naming
2026-02-10 11:47:14 -03:00
kiloconnect[bot] 025dbcb4df fix: use object-based reasoning format for Codex models with Kilo provider (#206)
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-02-10 10:41:12 +00:00
Catriel Müller 50121e0e20 feat: merge opencode v1.1.53 2026-02-09 13:07:23 -03:00
Aiden Cline 99ea1351ce tweak: add new ContextOverflowError type (#12777) 2026-02-08 23:54:01 -06:00
fgonzalezurriola d40dffb854 fix(provider): remove obsolete copilot model enablement instructions (#12739) 2026-02-08 22:43:52 -06:00
AdJIa 0cd52f830c fix: enable thinking for all reasoning models on alibaba-cn (DashScope) (#12772)
Co-authored-by: lujia <lujiax@zmn.cn>
2026-02-08 22:42:23 -06:00
Ivan Gonzalez a25cd2da72 feat(opencode): use reasoning summary auto for gpt-5 models that are not chat (#12502) 2026-02-06 13:19:14 -06:00
Catriel Müller eb213cb635 feat: merge opencode v1.1.52 2026-02-05 16:43:43 -03:00
Marius 390b479fcd Add kilo provider model configuration (#148) 2026-02-05 20:13:01 +01:00
Aiden Cline 2f78705f6e tweak: update transforms for gpt-5.3 (#12325) 2026-02-05 12:49:40 -06:00
Catriel Müller dd7da05bd9 feat: merge opencode v1.1.50 2026-02-04 18:24:00 -03:00
Catriel Müller 452320af42 feat: merge opencode v1.1.49 2026-02-04 17:06:38 -03:00
Tom d1686661c0 fix: ensure kimi-for-coding plan has thinking on by default for k2p5 (#12147) 2026-02-04 12:39:22 -06:00
Catriel Müller 1a0b0077dc feat: merge opencode v1.1.48 2026-02-04 14:48:20 -03:00
Catriel Müller a3cdff968c Merge branch 'dev' into catrielmuller/kilo-opencode-v1.1.43 2026-02-04 13:15:59 +01:00
Marius 452ab52d47 feat: enable reasoning for Claude models via Kilo Gateway (#101)
* feat: enable reasoning for Claude models via Kilo Gateway

Enable extended thinking/reasoning support for Claude models when using
Kilo Gateway (OpenRouter-based). This includes:

- Add Kilo Gateway to OpenRouter SDK key mapping
- Skip toolCallId normalization for OpenRouter/Kilo to preserve thinking blocks
- Strip thinking/reasoning blocks from messages before sending to avoid
  Anthropic API signature validation errors (blocks must be unchanged)
- Skip caching for OpenRouter/Kilo to avoid modifying thinking blocks
- Add Claude-specific reasoning effort variants for Kilo Gateway
- Enable default medium reasoning effort for Claude via Kilo Gateway
- Add proper smallOptions handling for Claude vs other models

The key insight is that Anthropic's API requires thinking blocks to be
EXACTLY unchanged with valid signatures. Since our storage reconstructs
messages, we strip thinking blocks (already shown to user) rather than
risk signature validation failures.

* fix: drop empty messages after stripping thinking blocks
2026-02-04 12:19:02 +01:00
Catriel Müller 88f06392d5 resolve merge conflicts 2026-02-03 19:28:35 -03:00
Aiden Cline b7b734f51f fix: ensure mcp tools are sanitized (#11984) 2026-02-03 12:22:00 -06:00
neavo 54e14c1a17 fix: exclude k2p5 from reasoning variants (#11918) 2026-02-03 09:26:37 -06:00
Muhammad Mugni Hadi 3741516fe3 fix: handle nested array items for Gemini schema validation (#11952) 2026-02-03 09:24:52 -06:00
Marius e871803ff8 fix: use reasoningEffort instead of nested reasoning object for Kilo Gateway (#89) 2026-02-03 11:16:52 +01:00
Marius 70aba4ff96 fix: include encrypted reasoning content for GPT models via Kilo Gateway (#88)
GPT models accessed through Kilo Gateway were missing the
'include: ["reasoning.encrypted_content"]' option, causing
organization_id mismatch errors when encrypted reasoning content
was passed back in multi-turn conversations.

- Add reasoningSummary and include options to effortVariants for Kilo Gateway
- Extend options() condition to include @kilocode/kilo-gateway npm package
2026-02-03 10:45:43 +01:00