Commit Graph

15567 Commits

Author SHA1 Message Date
kirillk 0a4aa192aa feat(jetbrains): switch generated HTTP client from Moshi to kotlinx.serialization
Upgrade openapi-generator 7.12.0 → 7.21.0 and switch the generated API
client serialization library from Moshi to kotlinx.serialization to unify
with the RPC DTOs in shared/ which already use kotlinx.

- Extract PrepareLocalCliTask to buildSrc/ to fix Gradle configuration
  cache error (non-static inner class)
- Remove moshi/moshi-kotlin deps, add kotlinx-serialization-json
- Map bare number types to kotlin.Double (avoids BigDecimal + @Contextual)
- Rewrite fixGeneratedApi task for 7 kotlinx codegen bugs: boolean const
  enums, double-parens on HashMap classes, private Double constructor,
  missing @Contextual on Any, nullable OkHttp body, AnySerializer for
  dynamic JSON, and empty anyOf wrapper classes replaced with JsonElement
2026-04-12 17:41:25 -04:00
kirillk c2d6a0a08d fix(jetbrains): move findBun into PrepareLocalCliTask to avoid non-static inner class error 2026-04-12 15:45:27 -04:00
kirillk 8a617ee8dc fix(jetbrains): resolve bun path for Gradle daemon, fix Config.model deserialization
Add findBun() to build.gradle.kts to probe common install locations
(/opt/homebrew/bin, ~/.bun/bin, etc.) so localCli task works even
when Gradle daemon's PATH doesn't include bun.

Fix Config.model and Config.small_model deserialization: the spec
defines these as anyOf[string, null] but codegen produced empty wrapper
classes. Extend fixGeneratedApi to delete ConfigModel/ConfigSmallModel
and replace field types with kotlin.String?.

Add response body logging on fetch failures for easier debugging.
2026-04-12 15:43:53 -04:00
kirillk 600f4df93b feat(jetbrains): add KiloAppState with loading phase, retry, and error details
Introduce KiloAppState lifecycle: Disconnected → Connecting → Loading →
Ready → Error. Config and notifications are required (retried 3×),
profile 401 is treated as not-logged-in (not an error).

Each failed fetch captures HTTP status code and error detail from
ClientException/ServerException. The tool window displays granular
loading progress per resource and detailed error information including
HTTP status and response messages.
2026-04-12 15:29:47 -04:00
kirillk a729eaba1a fix(jetbrains): centralize lifecycle mutex and fix reconnection issues
Lift concurrency control to KiloBackendAppService with a single Mutex
that serializes connect/restart/reinstall/reconnect. Remove Mutex and
Deferred from KiloBackendCliManager. Add onReconnect callback to
KiloConnectionService so dead-process restarts go through the mutex.

Fix process leak on startup timeout by killing orphaned CLI processes
in the catch block. Skip redundant reconnects when already connected.
2026-04-12 14:55:14 -04:00
kirillk dafe3b5510 refactor(jetbrains): make frontend KiloAppService app-level
Promote KiloAppService from project-level to app-level service since
it holds no project state. Change watch() to pass raw ConnectionStateDto
instead of pre-formatted text, letting callers handle EDT scheduling
and display conversion.
2026-04-12 14:39:55 -04:00
kirillk 6a0ba29db1 refactor(jetbrains): rename KiloProjectRpcApi to KiloAppRpcApi, remove ProjectId
The RPC API is entirely project-neutral — all operations delegate to
the app-level KiloBackendAppService. Remove the unused ProjectId
parameter from all methods and rename to KiloAppRpcApi to reflect this.

Move health() from KiloBackendProjectService to KiloBackendAppService
and have the RPC impl delegate directly to the app service.
2026-04-12 14:13:56 -04:00
kirillk 4aa3ad7661 refactor(jetbrains): reorganize frontend and RPC packages
Move backend RPC classes to ai.kilocode.backend.rpc. Move frontend
classes to ai.kilocode.client with subpackages for actions and plugin.
Rename frontend KiloApiService to KiloAppService. Update XML
registrations to match new fully-qualified class names.
2026-04-12 14:01:26 -04:00
kirillk 49367eb351 refactor(jetbrains): rename backend classes to KiloBackend* prefix and move to backend package
Rename server package to ai.kilocode.backend and apply consistent
KiloBackend* prefix: KiloBackendAppService, KiloBackendCliManager,
KiloBackendConnectionService, KiloBackendHttpClients,
KiloBackendProjectService.
2026-04-12 13:57:24 -04:00
kirillk 4b41cbf0da feat(jetbrains): add KiloAppService as single app-level orchestrator
Introduce KiloAppService that owns ServerManager and
KiloConnectionService as plain classes instead of separate services.
On CLI connect, it loads global data (profile, config, notifications)
in parallel and routes SSE events for config reloads.

KiloProjectService now delegates to KiloAppService instead of
KiloConnectionService directly.
2026-04-12 13:53:12 -04:00
kirillk aaf87a228a fix: auto-generate JetBrains CLI resources for runIde 2026-04-10 13:10:35 -04:00
Kirill Kalishev 6987d7701c Merge pull request #8697 from Kilo-Org/acute-jingle
feat(jetbrains): lifecycle control, generated API client, dual HTTP clients, project-scoped RPC
2026-04-10 11:43:11 -04:00
Kirill Kalishev ddd2c2c8c0 Merge branch 'main' into acute-jingle 2026-04-10 10:43:10 -04:00
kirillk 7942a7a5b2 chore: remove .kilo from gitignore 2026-04-10 10:27:43 -04:00
Marius 5605ea49fb fix(cli): default image input to true for OpenAI-compatible providers (#8729)
Models fetched via the OpenAI-compatible /v1/models endpoint had image
support hardcoded to false because the endpoint provides no capability
metadata. This matches the legacy extension behavior (supportsImages:
true) for custom providers while leaving all other provider defaults
untouched.
2026-04-10 14:49:56 +02:00
Marius ca1f9a3c18 fix(vscode): improve @ file mention results with open tabs and active editor priority (#8727)
The @ mention dropdown showed directories instead of files on empty query, limited
results to 10, and only reordered (not injected) open tabs. Now requests files-only
with a higher limit, injects open editor tabs at the top (active file first), and
filters by query. Closes #8709
2026-04-10 14:20:33 +02:00
Marius 52f315285e docs(kilo-docs): document Agent Manager sections feature (#8728)
Add user-facing documentation for the worktree sections/folders feature
covering creation, assignment, renaming, colors, reordering, collapsing,
and deletion.
2026-04-10 14:19:14 +02:00
Marius bf8e8f4684 fix(vscode): ignore confirmed command transport errors (#8722)
* fix(vscode): ignore confirmed command transport errors

* fix(vscode): scope command confirmations to pending sends

* fix(vscode): centralize confirmation cleanup

* chore(vscode): keep provider under line cap
2026-04-10 13:37:33 +02:00
Marius 05474353fd refactor(agent-manager): extract worktree importer (#8725)
* refactor(agent-manager): extract worktree importer

* test(agent-manager): keep provider line cap
2026-04-10 13:37:00 +02:00
Joshua Lambert 358263c5a1 docs(kilo-docs): document asking the agent to configure kilo.json (#8706)
* docs(kilo-docs): document asking the agent to configure kilo.json

* Apply suggestion from @lambertjosh

* docs: restore original intro line on settings page
2026-04-10 13:19:50 +02:00
Marius ed7c990dfd perf(vscode): fix IPC metadata bloat in slim-metadata slimmers (#8721)
slimPatch and slimMultiedit used `...meta` spreads that leaked heavy
fields (metadata.diff up to 158KB, files[].before/after ~128KB each)
through to the VS Code webview on every session switch. Replace with
explicit allowlist construction matching the pattern slimEdit/slimWrite
already used.

Add size-based guardrail tests that inject unknown heavy fields into
each tool's metadata and assert the slimmed output stays under 10KB.
This catches future upstream changes regardless of field names.

Add a runtime warning in slimPart (non-production) when slimmed state
exceeds 50KB so regressions surface during development.
2026-04-10 13:13:13 +02:00
Marius 161ecd0a5e ci(vscode): run lint in extension workflow (#8723) 2026-04-10 12:29:52 +02:00
Marius 0ff74fd52f fix(vscode): restore prompt focus after model selection (#8717)
* fix(vscode): restore prompt focus after model selection

* fix(vscode): scope aggressive prompt refocus
2026-04-10 12:01:04 +02:00
Marius 2a5c0793a1 feat(agent-manager): match new worktree dialog prompt pills to sidebar (#8713)
The New Worktree dialog prompt input now mirrors the sidebar chat
exactly: mode selector, model selector, thinking effort (reasoning),
and a reset button — in the same order with the same defaults.

- Extract ThinkingSelectorBase from ThinkingSelector for reuse outside
  session context (same pattern as ModelSelectorBase/ModeSwitcherBase)
- Initialize model/variant/agent from session defaults instead of null
- Show reset button only when model differs from config default
- Hide model/thinking/reset pills in compare mode (each session uses
  its model's default variant)
- Extract message-files and continue-worktree helpers from
  KiloProvider to fix pre-existing lint cap violations
- Extract onRequestState from AgentManagerProvider.onMessage to fix
  pre-existing complexity violation
- Remove orphaned open-sessions.ts (dead code flagged by knip)
2026-04-10 12:00:47 +02:00
Marius 24589dba3a Refactor Agent Manager worktree diff controller (#8716)
* refactor(agent-manager): extract worktree diff controller

* chore(vscode): remove unused agent manager helper

* test(agent-manager): relax provider line cap
2026-04-10 09:34:26 +00:00
kilo-code-bot[bot] 8388c1f88d docs: add concise PR description guidelines to AGENTS.md (#8710)
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-04-10 11:01:47 +02:00
Christiaan Arnoldus aed6996ba7 Merge pull request #8688 from Kilo-Org/docs/update-gateway-models-and-byok
docs: update gateway models and BYOK documentation
2026-04-10 10:15:19 +02:00
Marius f1a3471020 fix(agent-manager): preserve section ordering state (#8680) 2026-04-10 07:14:30 +00:00
kiloconnect[bot] e40a3666cb docs(kilo-docs): add NVIDIA trial terms disclaimer for free Nemotron model 2026-04-10 07:09:19 +00:00
Christiaan Arnoldus 82806484f9 Merge branch 'main' into docs/update-gateway-models-and-byok 2026-04-10 09:04:38 +02:00
Christiaan Arnoldus 9457f4f77b Merge pull request #8682 from Kilo-Org/docs/auto-balanced-qwen36
docs(kilo-docs): switch Auto Balanced docs to GPT 5.3 Codex
2026-04-10 09:03:25 +02:00
Ricardo Fiorani 6fa7d3dd00 fix: wrong doc config instruction for custom providers baseURL (#8627)
* fix: wrong doc config instruction for custom providers baseURL

* Update packages/kilo-docs/pages/ai-providers/lmstudio.md

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>

---------

Co-authored-by: kilo-code-bot[bot] <240665456+kilo-code-bot[bot]@users.noreply.github.com>
2026-04-10 07:00:53 +00:00
Joshua Lambert e4582f1ab7 Merge pull request #8546 from Kilo-Org/docs/mcp-ask-permissions
docs(kilo-docs): document MCP tool permission levels and cross-link from related pages
2026-04-10 02:57:45 -04:00
Joshua Lambert f6251ac7fe Merge branch 'main' into docs/auto-balanced-qwen36 2026-04-10 02:48:42 -04:00
Joshua Lambert c03945790e Apply suggestion from @lambertjosh 2026-04-10 02:46:47 -04:00
Joshua Lambert afad45f8c9 Apply suggestion from @lambertjosh 2026-04-10 02:40:14 -04:00
Josh Lambert e80bd61cc0 docs(kilo-docs): fix broken auto-model anchors in auto-model-tiers.md 2026-04-10 02:39:01 -04:00
Joshua Lambert f20061ebc2 Apply suggestion from @lambertjosh 2026-04-10 02:36:24 -04:00
Josh Lambert d94135958f docs(kilo-docs): mention extension shows resolved model and cost on expand 2026-04-10 02:32:23 -04:00
Josh Lambert 31f4413720 docs(kilo-docs): move gateway link under how it works, convert tier sections to bullets 2026-04-10 02:28:52 -04:00
Josh Lambert d6fef9f68a docs(kilo-docs): add tier goal descriptions, explain free tier, remove redundancy 2026-04-10 02:20:14 -04:00
Josh Lambert 1f90d2eab2 docs(kilo-docs): replace inline mode-to-model tables with links to gateway docs 2026-04-10 02:16:33 -04:00
Josh Lambert 648793328d docs(kilo-docs): fix stale references to multi-model balanced routing 2026-04-10 02:11:57 -04:00
Joshua Lambert 7ae4c4ee0a Merge branch 'main' into docs/mcp-ask-permissions 2026-04-10 01:51:48 -04:00
Josh Lambert 22a4c23354 docs: revert using-in-kilo-code.md changes, fix cross-link anchors 2026-04-10 01:44:21 -04:00
Josh Lambert 90c6bf99fb docs: make using-in-kilo-code the source of truth for MCP tool permissions, cross-link from other pages 2026-04-10 01:42:19 -04:00
Josh Lambert 738e949fd1 docs(kilo-docs): fix rule precedence (last match wins), use realistic GitHub MCP examples, restore VSCode tab 2026-04-10 01:28:54 -04:00
Josh Lambert a1eaae2b03 docs(kilo-docs): consolidate MCP tool permissions into auto-approving-actions page 2026-04-10 01:02:45 -04:00
kilo-maintainer[bot] 10bb4d11ee release: v7.2.3 v7.2.3 2026-04-10 04:24:44 +00:00
Catriel Müller 57a2ae3661 Merge pull request #8700 from Kilo-Org/catrielmuller/pre-release-implementation
fix: align pre-release version publishing
2026-04-10 01:10:42 -03:00