Commit Graph

327 Commits

Author SHA1 Message Date
Igor Šćekić aa0e341d04 Merge pull request #155 from Kilo-Org/add-o11y-phase-1b 2026-02-11 12:46:17 +01:00
Marius 61df9982ee fix(mcp-migrator): use correct project-level filename mcp.json instead of mcp_settings.json (#230)
The Kilocode extension stores project-level MCP settings in
.kilocode/mcp.json, but the migrator was looking for
.kilocode/mcp_settings.json (which is only used for global settings).
This meant local MCP servers were never picked up by the CLI.
2026-02-11 10:25:03 +00:00
Igor Šćekić bc2b7d5ea5 Merge branch 'dev' into add-o11y-phase-1b 2026-02-10 21:03:52 +01:00
John Fawcett 1762590ff4 feat(opencode): add project ID resolution and tracking
refactor(opencode): improve project ID resolution and normalization
Implement logic to resolve a unique project identifier with priority given
to `.kilocode/config.json` and falling back to the git origin remote URL.
The resolved ID is normalized, cached per-instance, and sent as a header
to the Kilo Gateway provider to enable project-specific tracking.
2026-02-10 12:10:00 -06: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
Marius d173377a2b fix: use OAuth accountId for enterprise model list filtering (#193)
Enterprise users logging in via OAuth had their organization ID stored
in auth.accountId but the model fetch code never read it, causing the
model list to be fetched from the personal endpoint instead of the
org-specific endpoint that applies the allow list.
2026-02-09 10:08:19 -05:00
Igor Šćekić cb84cb0439 fix(session): align close reason type and publish turn close reliably
Unify ingest queue and session close reasons via `Session.CloseReason` and
ensure `TurnOpen`/`TurnClose` publishing is awaited; mark close reason as
`error` on unexpected exceptions and handle abort-induced stops correctly.

Add ingest queue tests for stable-key coalescing of session open/close and for
including `?v=1` on flush requests.
2026-02-09 13:58:09 +01:00
Catriel Müller eb213cb635 feat: merge opencode v1.1.52 2026-02-05 16:43:43 -03:00
Catriel Müller e61999fc4b refactor: kilo compat for v1.1.52 2026-02-05 16:16:59 -03:00
Dax Raad 9adcf524e2 core: bundle GitLab auth plugin directly instead of dynamic install
Remove dynamic installation of built-in plugins. GitLab auth is now imported

directly as an internal plugin, eliminating network requests during startup

and simplifying the plugin loading logic.

Removes the need for test mocks since plugins are no longer

dynamically installed at runtime.
2026-02-05 11:29:00 -05:00
Dax Raad 531b1941a0 ci: ensure config test waits for dependencies to complete installation 2026-02-05 10:13:52 -05:00
Catriel Müller f137ce623d feat: merge opencode v1.1.51 2026-02-05 09:50:16 -03:00
Catriel Müller 78da7d7b8d refactor: kilo compat for v1.1.51 2026-02-05 09:45:17 -03:00
Dax 556adad67b fix: wait for dependencies before loading custom tools and plugins (#12227) 2026-02-05 03:25:43 +00:00
Catriel Müller dd7da05bd9 feat: merge opencode v1.1.50 2026-02-04 18:24:00 -03:00
Catriel Müller 1520bd4482 refactor: kilo compat for v1.1.50 2026-02-04 18:07:12 -03:00
Shantur Rathore 0d38e69038 fix(core): skip dependency install in read-only config dirs (#12128) 2026-02-04 14:45:59 -06:00
Catriel Müller 452320af42 feat: merge opencode v1.1.49 2026-02-04 17:06:38 -03:00
Catriel Müller 15ae2b1b1e refactor: kilo compat for v1.1.49 2026-02-04 16:43:32 -03:00
Catriel Müller 1a0b0077dc feat: merge opencode v1.1.48 2026-02-04 14:48:20 -03:00
Catriel Müller b0b442da2c refactor: kilo compat for v1.1.48 2026-02-04 14:43:20 -03:00
Adam 1721c6efdf fix(core): session errors when attachment file not found 2026-02-04 10:21:03 -06: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
Sergiy Dybskiy b942e0b4dc fix: prevent double-prefixing of Bedrock cross-region inference models (#12056) 2026-02-03 23:06:17 -06:00
Łukasz Gładysz 6daa962aaa fix: prioritize OPENCODE_CONFIG_DIR for AGENTS.md (#11536) 2026-02-04 01:35:22 +00:00
Max Leiter 93e060272a fix: prevent memory leaks from AbortController closures (#12024) 2026-02-03 17:51:26 -06:00
Aiden Cline a68fedd4a6 chore: adjust way skill dirs are whitelisted (#12026) 2026-02-03 16:33:36 -06:00
Catriel Müller 88f06392d5 resolve merge conflicts 2026-02-03 19:28:35 -03:00
Catriel Müller 6131bb35e5 refactor: kilo compat for v1.1.43 2026-02-03 18:25:15 -03:00
Idris Gadi 95211a8854 feat(tui): allow theme colors in agent customization (#11444) 2026-02-03 15:09:21 -06:00
Dax 17e62b050f feat: add support for reading skills from .agents/skills directories (#11842)
Co-authored-by: Filip <34747899+neriousy@users.noreply.github.com>
2026-02-03 15:51:54 -05:00
Aiden Cline 857b8a4b56 test: add test for new skill improvements (#11969) 2026-02-03 16:05:10 +00:00
Aiden Cline 3975329629 feat: improve skills, better prompting, fix permission asks after invoking skills, ensure agent knows where scripts/resources are (#11737) 2026-02-03 09:58:31 -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 f27c1a8277 Revert "feat: add Claude extended thinking variants for Kilo Gateway (#86)" (#87)
This reverts commit 38c6b26db9.
2026-02-03 10:22:12 +01:00
Marius 38c6b26db9 feat: add Claude extended thinking variants for Kilo Gateway (#86)
Enable reasoning effort level cycling (Ctrl+T) for Claude models through
Kilo Gateway by:

- Adding @kilocode/kilo-gateway to sdkKey() to use 'openrouter' key for
  provider options
- Adding dedicated variants() case for Claude/Anthropic models with full
  effort levels (none, minimal, low, medium, high, xhigh)
- Supporting grok-3-mini reasoning variants through Kilo Gateway
- Fixing smallOptions() to use correct reasoning.effort format

OpenRouter maps effort levels to budget_tokens percentages:
- xhigh: 95%, high: 80%, medium: 50%, low: 20%, minimal: 10%, none: 0%
2026-02-03 09:42:20 +01:00
Catriel Müller 9ab79857ce Code Agent (#84)
* refactor: rename build agent to code

* refactor: add backward compat for build config
2026-02-03 08:04:27 +01:00
Filip d116c227e0 fix(core): plugins are always reinstalled (#9675) 2026-02-03 00:47:52 -06:00
Kiyoung Chang 3adeed8f97 fix(provider): strip properties/required from non-object types in Gemini schema (#11888) 2026-02-02 23:13:24 -06:00
Aiden Cline 188cc24bfc chore: cleanup external_dir perm logic (#11845) 2026-02-02 16:43:55 -06:00
Aiden Cline aa6b552c39 Revert pr that was mistakenly merged (#11844) 2026-02-02 15:28:02 -06:00
Adam 3b93e8d95c fix(app): added/deleted file status now correctly calculated 2026-02-02 14:24:23 -06:00
Igor Šćekić d06d57c186 Merge pull request #73 from Kilo-Org/add-some-defensive-code-around-getting-org-id 2026-02-02 16:05:10 +01:00
Igor Šćekić b04e8e877c fix(kilo-sessions): handle sync throws in inflight cache
Wrap callback execution in a promise microtask so synchronous errors flow
through the existing `.catch()` and the in-flight entry is reliably cleaned
up. Update tests to await the microtask before asserting call count.
2026-02-02 15:41:37 +01:00
Igor Šćekić 18934825aa test(kilo-sessions): update in-flight cache test for undefined values 2026-02-02 14:49:07 +01:00
Igor Šćekić e815689023 fix(kilo-sessions): await in-flight refresh to avoid stale reads
Always return the in-flight promise when a refresh is running so callers
don’t receive an expired cached value. Preserve the original timestamp
until refresh succeeds and only update it on successful recompute to
avoid masking failed refreshes.
2026-02-02 13:37:08 +01:00
Igor Šćekić 9a4fb8c786 test(kilo-sessions): add in-flight cache behavior tests 2026-02-02 13:24:42 +01:00
Igor Šćekić 960bc15133 test(kilo-sessions): move ingest queue test suite 2026-02-02 13:24:02 +01:00