Commit Graph

5940 Commits

Author SHA1 Message Date
Alex Alecu c032fc2021 fix(cli): cap per-turn compaction attempts to stop infinite busy loop
When every compaction round still overflowed the model context, SessionPrompt.runLoop would keep calling compaction forever and report the turn as completed. Cap attempts at three per turn and surface exhaustion as a ContextOverflowError on the assistant message with TurnClose reason=error.
2026-04-22 09:54:11 +03:00
Kirill Kalishev 2a963723cc Merge pull request #9280 from Kilo-Org/quilted-titanosaurus
fix(cli): restore model descriptions in expanded model picker
2026-04-21 16:34:58 -04:00
Marian Alexandru Alecu ed665ed960 Merge pull request #9300 from Kilo-Org/fix/plan-in-agent-manager
fix(agent-manager): start-new-session tab on slow handover
2026-04-21 17:38:47 +03:00
kilo-maintainer[bot] ba98c5c402 release: v7.2.17 2026-04-21 14:28:13 +00:00
Alex Alecu 925606ce5a fix(cli): clear pending on errors 2026-04-21 16:54:16 +03:00
Alex Alecu 2f6109a5a2 fix(cli): guard follow-up loop start 2026-04-21 16:33:05 +03:00
Evgeny Shurakov c0e9ab46b3 Merge pull request #9313 from Kilo-Org/eshurakov/cli-dev-local-script
Cli - Add dev:local script for isolated local development
2026-04-21 14:17:43 +02:00
Evgeny Shurakov a8803476f5 feat(cli): add dev:local script with isolated XDG dirs and local endpoints 2026-04-21 13:49:55 +02:00
Alex Alecu b6b6802dd4 fix(cli): keep follow-up session busy during handover
Mark new plan follow-up sessions busy as soon as the tab opens so the UI
shows work is still in progress while the handover summary is generated.
Clear the temporary busy state if that pre-loop handover phase is aborted
or fails before the normal prompt loop takes over.
2026-04-21 14:46:06 +03:00
Alex Alecu e696fe6ea4 fix(cli): inject plan message immediately, append handover in-place
Show the plan text right away in the new session tab without waiting
for the handover LLM call. The message part is created with plan+todos
as soon as the session opens; the handover section is upserted onto the
same part once the slow LLM call resolves.
2026-04-21 13:28:48 +03:00
Christiaan Arnoldus b99e7ff513 Apply suggestion from @chrarnoldus 2026-04-21 12:24:46 +02:00
kiloconnect[bot] e28bbd6ee9 Merge remote-tracking branch 'origin/main' into feat/ling 2026-04-21 09:51:41 +00:00
kiloconnect[bot] 85dd7e091b refactor: share isLing helper via kilocode/model-match, add multilingual exclusion 2026-04-21 09:43:57 +00:00
kiloconnect[bot] eb4ef74600 refactor: replace broad ling startsWith with isLing helper excluding kling/bling/spelling 2026-04-21 09:33:23 +00:00
kiloconnect[bot] fe34c0bfe6 fix: use startsWith for ling model detection and add ling to openapi prompt enum 2026-04-21 09:04:34 +00:00
Alex Alecu 0d0dabe598 fix(cli): start-new-session tab on slow plan handover
Create the follow-up session before running the handover LLM call so
the extension's pendingFollowup SSE gate fires inside its 30s TTL. The
handover and todos are now injected into the already-live session
after it resolves, instead of blocking session creation.
2026-04-21 11:50:13 +03:00
kiloconnect[bot] 2df50796b6 chore: add kilocode_change annotations to ling model changes 2026-04-21 08:07:34 +00:00
Christiaan Arnoldus 20c4962541 Merge branch 'main' into feat/ling 2026-04-21 10:02:31 +02:00
Christiaan Arnoldus f0bc029662 Merge branch 'main' into bash-optional-description 2026-04-21 10:00:07 +02:00
Marian Alexandru Alecu 60a1f3c36d Merge pull request #9246 from Kilo-Org/fix/plan-followup-translations
feat(i18n): translate plan follow-up options
2026-04-21 09:57:23 +03:00
kirillk eb6f89ef34 fix(cli): restore model descriptions in expanded model picker
patchModelsDevModel was not including the options field in its return
value, so the Object.assign in fromModelsDevModel left options as {} and
discarded the description fetched from the Kilo Gateway API.
2026-04-20 17:48:08 -04:00
kiloconnect[bot] e6310c5292 fix(cli): add alibaba to kiloProviderOptions thinking translation 2026-04-20 19:19:42 +00:00
kiloconnect[bot] e7ac4d5512 Merge remote-tracking branch 'origin/main' into bash-optional-description
# Conflicts:
#	packages/opencode/src/tool/bash.ts
2026-04-20 15:30:04 +00:00
Alex Alecu 00ad8f9c87 Merge remote-tracking branch 'origin/main' into fix/plan-followup-translations
# Conflicts:
#	packages/kilo-vscode/tests/unit/question-dock-utils.test.ts
#	packages/kilo-vscode/webview-ui/src/components/chat/QuestionDock.tsx
#	packages/kilo-vscode/webview-ui/src/components/chat/question-dock-utils.ts
#	packages/opencode/src/kilocode/plan-followup.ts
#	packages/opencode/test/kilocode/plan-followup.test.ts
2026-04-20 18:09:05 +03:00
kiloconnect[bot] 34e16b3622 Merge remote-tracking branch 'origin/main' into add-alibaba-provider 2026-04-20 15:02:20 +00:00
Alex Alecu df44d3847d fix(cli): keep older queued prompts hidden on retarget 2026-04-20 17:26:54 +03:00
Alex Alecu b25843962d fix(cli): restore "Type your own answer" on plan follow-up in TUI
When the plan agent pauses for the follow-up question, CLI users had no
way to send a free-text reply: the main prompt input is hidden while a
blocking question is active, and the "Type your own answer" row was
being forced off to avoid duplicating the VS Code prompt input. CLI now
shows the custom-answer row again, while VS Code keeps it hidden.
2026-04-20 17:16:48 +03:00
Alex Alecu 64e2f096c4 fix(cli): make plan follow-up "Continue here" continue the loop
The prompt queue's scope() hid the user message injected by
PlanFollowup.inject() because its ID was newer than the queue target,
so the loop saw the same plan_exit messages and re-asked the question
in an infinite cycle. Retarget the queue after inject so the new
message is visible on the next iteration.
2026-04-20 17:16:48 +03:00
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
Alex Alecu c529142d72 feat(i18n): translate plan_exit follow-up options in the VS Code sidebar
Add optional `labelKey`/`descriptionKey` to Question.Option and `questionKey`/`headerKey` to Question.Info, annotated with `kilocode_change` markers. Populate these keys from the plan follow-up so the "Ready to implement?" question, "Start new session", and "Continue here" buttons render in the sidebar language while the canonical English labels remain on the reply wire (unchanged server-side matching).
2026-04-20 16:15:06 +03: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
Alex Alecu f970d34278 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 14:56:40 +03: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
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
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
Imanol Maiztegui 7e27cd0add chore(cli): sort dependencies alphabetically in package.json 2026-04-20 11:31:07 +02:00
Imanol Maiztegui aa4deb520c resolve merge conflicts 2026-04-20 11:04:03 +02: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
kiloconnect[bot] 8b90eec6d0 feat(gateway): add Alibaba as supported AI SDK provider 2026-04-20 08:43:03 +00:00
Alex Alecu 973e3f912f fix(cli): restore busy state when suggestion is accepted 2026-04-20 11:25:53 +03:00
tangxinyao f13b635dcf feat: use model.api.id rather than model.id as the id 2026-04-20 16:21:45 +08: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
kiloconnect[bot] a8cbb7bcd5 chore: merge main and resolve conflicts 2026-04-20 07:59:37 +00:00
Tang Xinyao c2e0bbbbb3 Merge branch 'main' into feat/ling 2026-04-20 15:48:53 +08: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