Commit Graph

17427 Commits

Author SHA1 Message Date
Alex Alecu ec5ac2e19f fix(vscode,cli): make plan_exit "Continue here" work again
Restore custom: false on the plan follow-up question — the "Type your own answer" row was redundant because the main prompt already routes typed text as a question reply. Auto-submit single-question single-select option picks in the VS Code QuestionDock so the button behaves like the TUI instead of silently waiting for a second Submit click.
2026-04-20 17:16:48 +03:00
Marius 18442f695d feat(vscode): support sidebar message forks (#9244)
* feat(vscode): support sidebar message forks

* fix(vscode): type sidebar fork message
2026-04-20 13:54:28 +00:00
Marius 2b17a7b4e8 fix: persist custom provider model and variant deletions (#9239)
* fix: persist custom provider model and variant deletions

The CLI config.update endpoint deep-merges its payload with existing
global config, so removing a model or reasoning variant from a custom
provider in the UI had no effect on disk. Save payloads now emit null
sentinels for removed IDs, and the Provider schema accepts nullable
record values so stripNulls can delete them during the merge.

Closes #9186

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-20 13:05:49 +00:00
Marius 6f17bb753b fix(vscode,ui): keep user scroll position while session is busy (#9236)
* fix(vscode,ui): keep user scroll position while session is busy

Virtua's measurement-driven resize events race ahead of the debounced
user-scroll detection in createAutoScroll, snapping the viewport back
to the bottom while the user is mid-gesture. The QuestionDock's focus
call on mount also triggers the browser's focus-into-view behavior,
which yanks the view down whenever the user has scrolled up.

Fixes #9198

* fix(ui): guard recentlyInteracted against initial lastInteraction=0
2026-04-20 14:58:12 +02:00
Marius 4d85c23268 Add message-level Agent Manager session forks (#9207)
* feat(agent-manager): fork sessions from user messages

* fix(agent-manager): handle unassigned message forks

* test(vscode): register chat tool overrides

* fix(vscode): make tool overrides idempotent

* chore: update kilo-vscode visual regression baselines

* test(vscode): revert chat story override registration

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-20 14:48:55 +02:00
Marius d79b92fd38 docs: fix agentskills.io link to avoid 308 redirect (#9233) 2026-04-20 14:30:05 +02:00
Marius acd5798d99 fix(vscode): route worktree sessions to correct tab (#9208)
Ensure Agent Manager pushes worktree session state before generic sessionCreated messages and reconciles local tabs against worktree ownership so forked, continued, and newly-created worktree sessions do not appear in Local. Fixes #8983.
2026-04-20 12:12:53 +00:00
kilo-maintainer[bot] e0dbb123c2 chore: update nix node_modules hashes 2026-04-20 12:00:20 +00:00
Imanol Maiztegui 22267986b2 Merge pull request #9205 from Kilo-Org/imanolmaiztegui/kilo-opencode-v1.4.6
OpenCode v1.4.6
2026-04-20 13:45:58 +02:00
Catriel Müller aa85570713 Merge pull request #7960 from Kilo-Org/catrielmuller/kiloclaw-vscode
feat(vscode): add KiloClaw chat panel to VS Code extension
2026-04-20 08:42:43 -03:00
Marian Alexandru Alecu 81e623bba7 Merge pull request #9204 from Kilo-Org/fix/agent-manager-local-diff-no-remote
fix(vscode): restore review diff in repos with no remote
2026-04-20 14:37:06 +03:00
github-actions[bot] e4a23842f6 chore: update kilo-vscode visual regression baselines 2026-04-20 11:22:13 +00:00
Catriel Müller ad75f65b9c Merge branch 'main' into catrielmuller/kiloclaw-vscode 2026-04-20 08:20:04 -03:00
Alex Alecu edb1b9a5e4 fix(vscode): restore review revert-file action in repos with no remote
Clicking 'revert file' in the Agent Manager review panel silently did
nothing when the repo had no remote and no tracking branch. The diff
view worked because it defensively searched for a local candidate
branch, but the revert path ran merge-base against the placeholder HEAD
and turned into a no-op for committed feature changes.
2026-04-20 14:18:11 +03:00
Catriel Müller 35a122ce80 refactor: address connection 2026-04-20 08:11:49 -03:00
Evgeny Shurakov 214496f679 Merge pull request #8494 from Kilo-Org/eshurakov/nebula-chauffeur
Sessions - Add session_status ingest message for status tracking
2026-04-20 13:06:45 +02:00
Marian Alexandru Alecu 521490b5b8 Merge pull request #9199 from Kilo-Org/fix/suggest-tool-stuck-session
fix(cli): release session busy state while suggest tool waits
2026-04-20 14:04:17 +03:00
Alex Alecu 58fd32937d test(cli): pin suggest tool session-status behavior to prevent stuck-busy regression
Lock in that a session with an open suggestion reports as idle (so reopening VS Code or switching worktrees does not show it stuck/running), that accepting flips it back to busy without an idle flash, and that a dismissed suggestion leaves it idle for the run loop to resume cleanly.
2026-04-20 13:57:14 +03:00
Marius eda6f8a19e fix(kilo-docs): update ChatGPT pricing link (#9221) 2026-04-20 10:56:54 +00:00
Imanol Maiztegui 126132d8da refactor(snapshot): inline kilo snapshot helpers and remove dedicated module
Move worktree-scoped gitdir construction, ACP guard logic, and diff
caching directly into the core snapshot service, eliminating the
separate kilocode/snapshot module. This reduces indirection and keeps
all snapshot concerns co-located in a single file.
2026-04-20 12:55:36 +02:00
Evgeny Shurakov 93e7ddb39e fix(cli): coalesce status sync retries 2026-04-20 12:04:07 +02:00
Marius 1c2826c440 chore: untrack generated .kilo and .kilocode lockfiles (#9200)
* chore: untrack generated .kilo and .kilocode lockfiles

`kilo serve` regenerates `.kilo/package-lock.json` and `.kilocode/package-lock.json` (plus `node_modules/`) on every run -- see `Config.install` in `packages/opencode/src/config/config.ts:1406` -- but they were accidentally committed in the upstream alignment merge `7fb55e45f1`, so every run dirtied the working tree. Untrack them and add explicit root `.gitignore` rules so they stay ignored even if the per-directory `.gitignore` the CLI writes is removed. `.kilo/run-script` stays tracked -- it's a project dev helper, not a generated artifact.

* chore: rely on generated config dir ignores

The CLI already writes .gitignore files inside .kilo and .kilocode before installing config dependencies. Keep the PR focused on untracking the accidentally committed lockfiles instead of duplicating those generated ignore rules at the repo root.
2026-04-20 11:59:22 +02:00
Imanol Maiztegui e98fab3a59 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.4.6 2026-04-20 11:39:24 +02:00
github-actions[bot] 8fd68332f5 chore: update kilo-vscode visual regression baselines 2026-04-20 09:35:43 +00:00
Imanol Maiztegui 7e27cd0add chore(cli): sort dependencies alphabetically in package.json 2026-04-20 11:31:07 +02:00
Alex Alecu 12e35d9a74 fix(vscode): honor explicit stale base in resolveBase 2026-04-20 12:07:12 +03:00
Imanol Maiztegui aa4deb520c resolve merge conflicts 2026-04-20 11:04:03 +02:00
Alex Alecu f975708348 fix(vscode): restore review diff in repos with no remote 2026-04-20 11:52:51 +03:00
kilo-maintainer[bot] accf90a17f chore: update nix node_modules hashes 2026-04-20 08:46:36 +00:00
Imanol Maiztegui c4a516f3cf refactor: kilo compat for v1.4.6 2026-04-20 10:45:43 +02:00
Evgeny Shurakov ba6970bf23 fix(cli): time out status derive to prevent stuck chain entries
If deriveAndSyncStatus hangs, the per-session promise chain would never
drain and map entries would accumulate. Wrap the derive with a 3s timeout
so stuck work fails fast, is logged, and the existing cleanup runs.
2026-04-20 10:45:29 +02:00
Christiaan Arnoldus 93a32009e2 Merge pull request #9170 from Kilo-Org/update-bedrock-vertex-anthropic-providers
chore: update @ai-sdk/amazon-bedrock to 4.0.96 and @ai-sdk/google-vertex to 4.0.112
2026-04-20 10:30:37 +02:00
Alex Alecu 973e3f912f fix(cli): restore busy state when suggestion is accepted 2026-04-20 11:25:53 +03:00
Alex Alecu 7a1388d8d5 fix(cli): release session busy state while suggest tool waits for user
The suggest tool blocks on a promise that only resolves when the user accepts or dismisses a suggestion. While blocked, the runner stayed in Running state and the session status remained busy — if the suggestion was never answered (e.g. VS Code was closed), the session was stuck forever and follow-up prompts appeared queued.

Mark the session idle while awaiting the user's response; the loop will set it back to busy when the suggestion resolves and processing continues.

Fixes #9150
2026-04-20 11:11:19 +03:00
Marius 0ace2f960f fix(vscode): preserve older messages when paginating virtualized chat (#9194)
The fill() helper that repairs pages starting with an assistant turn
kept only the user-turn suffix of each older page, so earlier messages
fetched mid-stitch were dropped while the pagination cursor still
advanced past them. That made the top of the virtualized history land
after the real first message.
Keep the full older page when stitching partial turns so fill()
terminates naturally once a user message reaches the top, and add a
regression test covering multi-page fills.
2026-04-20 10:09:38 +02:00
kiloconnect[bot] a8cbb7bcd5 chore: merge main and resolve conflicts 2026-04-20 07:59:37 +00:00
Marius 7038ce0612 fix(vscode): keep queued messages pinned at the bottom (#9195)
* fix(vscode): keep queued messages pinned at the bottom

Queued follow-up user messages were being rendered inline inside the
conversation history, so tool output for an earlier turn could appear
under a later queued message. Render queued turns in a separate stack
beneath the virtualized history and group assistant messages by
parentID so late-arriving tool output stays attached to its turn.

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-20 09:52:09 +02:00
Josh Holmer 7db99c37eb fix: re-prevent plan file corruption for OpenAI models by preserving write tool (#9188) 2026-04-20 09:46:33 +02:00
Marian Alexandru Alecu bec6b03d4c Merge pull request #9193 from Kilo-Org/extreme-cauliflower
docs(cli): require final summary before local review suggestion
2026-04-20 10:40:00 +03:00
Marius 60709fd015 fix(vscode): hide duplicate preview text while editing custom question answer (#9129)
The question tool's custom answer option showed the user's input twice — once as a preview description inside the option button, and again in the input field below. Hide the preview while the input form is open so only the live input is visible.
2026-04-20 09:30:48 +02:00
Marius 61ec925c50 fix(vscode): restore chat turn spacing broken by virtualizer (#9141)
The prior spacing fix (#9025) relied on flex `gap` on `.message-list-content`,
but #8911 introduced virtua's `Virtualizer` which positions items absolutely
based on measured box size — so `gap` no longer applies between turns. The
missing spacing was most visible when the last assistant part was a sub-agent's
expanded task tool (two bordered boxes with 0px between them). Bake the 12px
into each turn's own padding so virtua measures it as part of the item height.
2026-04-20 10:29:50 +03:00
Marius 42922b65d2 docs(kilo-docs): add agent manager workflows guide (#9148)
* docs(kilo-docs): add agent manager workflows guide

* docs(kilo-docs): use 'parent branch' instead of 'main' for worktree merges
2026-04-20 09:27:41 +02:00
marius-kilocode f025e34b6a docs(cli): require final summary before local review suggestion 2026-04-20 09:26:34 +02:00
Evgeny Shurakov 193839329b feat(sessions): add session_status ingest message for status tracking 2026-04-20 09:13:17 +02:00
Joshua Lambert 08a21d7969 Merge pull request #9160 from Kilo-Org/fix/smoke-test-draft-release
ci: resolve draft release assets via API in smoke-test
2026-04-19 23:34:23 -04:00
Joshua Lambert a2ddeba4a4 Merge pull request #9177 from Kilo-Org/docs/context-condensing-accurate-defaults
docs: document actual compaction defaults and triggers
2026-04-19 11:03:44 -04:00
Josh Lambert 70b38bc179 docs(kilo-docs): clarify reserved buffer behavior per model type
compaction.reserved only applies when a model declares a separate
input limit. For models with just a single context window, the reserve
is derived from the output cap instead.
2026-04-18 23:48:18 -04:00
Josh Lambert b296b8f797 docs(kilo-docs): rewrite trigger rules in prose 2026-04-18 20:59:43 -04:00
Josh Lambert 2dabf6821f docs(kilo-docs): drop defensive framing in compaction trigger section 2026-04-18 20:57:10 -04:00
Josh Lambert 8b5b9a52e9 docs(kilo-docs): document actual compaction defaults and triggers
Replaces the vague 'usableWindow' language with the real formula
(context_window - ~20K reserve), documents the /compact slash command
and task-header button, adds env-var overrides, and lists the correct
default values.
2026-04-18 20:54:08 -04:00