Commit Graph

5652 Commits

Author SHA1 Message Date
Imanol Maiztegui faebb41b74 Merge pull request #9034 from Kilo-Org/imanol/snapshot
Add heap snapshot command to VSCode extension
2026-04-16 13:49:09 +02:00
Catriel Müller 28aebeb157 Merge pull request #8986 from Kilo-Org/catrielmuller/fix-memory-webfetch-test
fix: Flaky tests
2026-04-16 08:31:29 -03:00
Imanol Maiztegui 71852f2466 feat(vscode): add heap snapshot command for bundled CLI
Introduce a "Take Heap Snapshot" command in the VS Code Command Palette
that triggers the bundled CLI process to write a V8 heap snapshot to the
log directory. This includes:

- New server route POST /kilocode/heap/snapshot in opencode
- HeapSnapshot module using node:v8 writeHeapSnapshot
- VS Code command registration and client-side fetch logic
- Generated SDK types and client methods for the new endpoint
2026-04-16 12:58:37 +02:00
kiloconnect[bot] 0885367a3d fix(cli): add pnpm-lock.yaml and yarn.lock to .kilo/.gitignore
The .gitignore generated in .kilo/ config directories was missing
pnpm-lock.yaml and yarn.lock patterns, causing these lockfiles to
appear as untracked files in users' projects.
2026-04-16 09:28:46 +00:00
kilo-maintainer[bot] 3f68303a0a release: v7.2.10 2026-04-15 20:10:59 +00:00
Christiaan Arnoldus 8cf01acd8e Merge pull request #9003 from Kilo-Org/fix/restore-model-prompt-system-prompt
fix(cli): restore model.prompt-based system prompt selection
2026-04-15 21:54:00 +02:00
kilo-maintainer[bot] 114f9a2db2 release: v7.2.9 2026-04-15 19:47:08 +00:00
kiloconnect[bot] a7478fc3f9 test(cli): add tests for model.prompt-based system prompt selection
Verifies that SystemPrompt.provider() respects the prompt property
set by the Kilo gateway, and that it takes precedence over the
model.api.id-based heuristic fallback.
2026-04-15 19:44:45 +00:00
kiloconnect[bot] 2c25720ec3 fix(cli): restore model.prompt-based system prompt selection
The switch(model.prompt) block in SystemPrompt.provider() was
accidentally dropped during merge conflict resolution in fa2c979ac.
This meant the prompt property set by the Kilo gateway (e.g. codex,
anthropic, beast) was stored on the model but never read, causing all
Kilo-routed models to fall back to model.api.id string matching.
2026-04-15 19:29:17 +00:00
kilo-maintainer[bot] 41ffb3a3aa release: v7.2.8 2026-04-15 19:11:48 +00:00
Catriel Müller d039bdf6c3 feat: test runner 2026-04-15 15:11:33 -03:00
kilo-maintainer[bot] a476e19a88 release: v7.2.7 2026-04-15 17:05:20 +00:00
Catriel Müller 3faed47516 fix: fix git test 2026-04-15 13:51:05 -03:00
Marius d4ab3331c8 revert: remove suggest tool feature (#8994)
Reverts PR #6404 (feat: suggest code review tool) and PR #8988 (fix: dismiss suggestions on new message).
2026-04-15 16:13:42 +00:00
Marius ae8e7b6e1c test(cli): skip flaky "prompt submitted during active run" test (#8992)
The test has a timeout contradiction: inner poll allows 5s but
it.live timeout is 3s. Fails on slow CI runners. Tracked in #8990.
2026-04-15 17:58:18 +02:00
Marius 2f9467ee3e fix(cli): mock getGitContext in commit-message tests to fix Linux CI flake (#8989)
Tests relied on real git operations in temp directories which failed
silently on Linux CI runners, causing all 12 tests to see no staged files.
2026-04-15 15:34:39 +00:00
Marian Alexandru Alecu e030824473 Merge branch 'main' into fix/suggest-dismiss-on-new-message 2026-04-15 18:10:42 +03:00
Alex Alecu 3b96485dc1 fix(cli): dismiss suggestions on new message to prevent stuck session 2026-04-15 17:47:25 +03:00
Catriel Müller 090d1f01a0 fix: memory test 2026-04-15 11:28:21 -03:00
Marius ccf1ad245e chore(sdk): regenerate api client (#8980) 2026-04-15 16:14:34 +02:00
Marius c584eec1db fix(cli): remap child session references on fork to prevent subagent state leaks (#8956)
* fix(cli): remap child session references on fork to prevent subagent state leaks

When forking a session, task tool parts referencing child sessions were
copied verbatim, causing both original and forked sessions to share the
same subagent references. This led to SSE events and permission prompts
leaking across sessions in the Agent Manager.

* fix: remove redundant recursive remapChildren call

Session.fork() already calls remapChildren via the hook, so the explicit
recursive call inside remapChildren was double-forking nested descendants.
2026-04-15 11:12:35 -03:00
Marius 581bbbb319 feat(cli,vscode): add custom commit message prompt setting (#8974)
* feat(cli,vscode): add custom commit message prompt setting

Support user-configurable system prompt for AI commit message generation.
Adds a dedicated Commit Message tab in VS Code settings with a toggle
to override the built-in conventional commits prompt.

* fix: add missing kilocode_change annotation and fix i18n formatting

* refactor: move Config reading to route handler, add textarea max-height

Move kilo-specific Config.get() from shared generate.ts to the route
handler. The generator now accepts an optional prompt param instead.
Cap textarea height at 300px with scroll for long prompts.

* fix: resolve annotation gaps and prompt clear serialization bug

Add kilocode_change markers to JSDoc comment and extend block to
cover the generateCommitMessage call. Use empty string instead of
undefined when clearing the prompt so JSON serialization persists
the removal to disk.

* refactor(cli): move commit-message module to kilocode paths

Move src/commit-message/ to src/kilocode/commit-message/, route to
src/kilocode/server/routes/, and tests to test/kilocode/commit-message/.
Extract CommitMessageSchema to KilocodeConfig and reference it from
the main Config.Info. Removes all kilocode_change markers from moved
files since they are now in exempt paths.

* test(cli): fix moved commit-message tests
2026-04-15 16:09:05 +02:00
Marian Alexandru Alecu e8fd495708 Merge pull request #8972 from Kilo-Org/kilocode-auto-approve-permissions
fix(cli): fix disable auto-approve leaving stale config and UI
2026-04-15 16:49:39 +03:00
Marian Alexandru Alecu 6b77077167 Merge pull request #8971 from Kilo-Org/kilocode-worktree-session-list
fix(cli): worktree session list shows all worktrees
2026-04-15 16:47:18 +03:00
Marian Alexandru Alecu 5f7954c43f Merge pull request #6404 from Kilo-Org/feat/suggest-code-review
feat: Suggest code review after implementation
2026-04-15 15:30:29 +03:00
Alex Alecu 723344530b refactor(cli): move test to kilocode dir 2026-04-15 15:10:42 +03:00
Alex Alecu 5062339220 docs(cli): clarify stripNulls jsdoc 2026-04-15 15:09:33 +03:00
Alex Alecu 3fd8357af4 fix(cli): propagate suggestion accept failure to remote clients 2026-04-15 14:59:09 +03:00
Alex Alecu ef435ebba1 fix(cli): restrict suggest tool to code-review-only
Narrow suggest tool prompts so the LLM only uses it to offer local
code review, not generic next steps like committing, pushing, or
running tests.
2026-04-15 14:53:36 +03:00
Alex Alecu e937894829 fix(cli): fix type errors from accept return type 2026-04-15 14:42:13 +03:00
Alex Alecu c61846b618 fix(cli): return 404 when suggestion accept no-ops 2026-04-15 14:35:21 +03:00
Alex Alecu 61c0105565 fix(cli): reject promise on invalid action index 2026-04-15 14:35:21 +03:00
Alex Alecu 1b5832ce3f fix(cli): limit concurrent git processes for untracked files 2026-04-15 14:35:21 +03:00
Alex Alecu 3d74441b7e fix(cli): delete only nested sentinel to preserve other wildcard rules 2026-04-15 14:31:39 +03:00
Alex Alecu 624be2310d fix(cli): fix disable auto-approve leaving stale config and UI 2026-04-15 14:09:24 +03:00
Marius 9dd1f631b4 revert: restore patch fields for diff compatibility (#8970)
Reverts #8967 and #8953. OpenCode is migrating to use patch strings as
the primary diff transport — dropping them breaks forward compatibility
with upstream's SessionReview rendering pipeline, which falls back to
patch when before/after are absent.
2026-04-15 13:05:44 +02:00
Alex Alecu 74288ef0c2 fix(cli): worktree session list ignoring SDK-injected directory filter
The SDK rewrite interceptor injects directory=<cwd> into every GET request.
The experimental session list endpoint was passing this to listGlobal even
when worktrees=true, restricting results to only the current directory.
Skip the directory filter when worktrees is active so all worktree sessions
are returned. Add regression test that includes directory in query params.
2026-04-15 13:54:49 +03:00
Christiaan Arnoldus cada8a95bc Fix typecheck 2026-04-15 11:55:17 +02:00
Christiaan Arnoldus ee66ba1984 Merge branch 'main' into session/agent_9864f1dc-ca7c-4243-877b-14d089b66f92 2026-04-15 11:49:58 +02:00
Christiaan Arnoldus e01716a2d8 Pick variants from the model 2026-04-15 11:48:57 +02:00
Marian Alexandru Alecu 9df0dbea22 Merge branch 'main' into feat/suggest-code-review 2026-04-15 12:48:31 +03:00
Alex Alecu ee12fb5283 fix(cli): skip output truncation for suggest tool to fix test failures 2026-04-15 12:07:12 +03:00
Alex Alecu 543660bc8d fix(cli): parallelize git diff for untracked files in review
Sequential git diff --no-index per untracked file was slow in repos
with many untracked files (e.g. after build or codegen). Run all
diffs concurrently with Promise.all.
2026-04-15 11:56:48 +03:00
Marius 22806d4966 fix(cli): avoid worktree diff patch generation (#8953) 2026-04-15 10:41:00 +02:00
Marius 7939a021cb fix(cli): re-apply dead-stream detection to SSE endpoints to prevent memory leak on Windows (#8952)
* fix(cli): re-apply dead-stream detection to SSE endpoints to prevent memory leak on Windows

The upstream OpenCode v1.3.0 merge rewrote SSE routes with AsyncQueue but
dropped our dead-stream detection. On Windows, stream.onAbort() may never
fire after client disconnect (IOCP delays TCP RST detection), leaking a
GlobalBus listener, heartbeat interval, and AsyncQueue per dead connection.
Wrap writeSSE in try/catch to clean up eagerly on write failure.

* fix(cli): log dead-stream cleanup in SSE endpoints
2026-04-15 10:40:20 +02:00
Marian Alexandru Alecu bab81482a9 Merge branch 'main' into feat/suggest-code-review 2026-04-15 11:40:13 +03:00
Marian Alexandru Alecu 5182ea6a44 Merge pull request #8919 from Kilo-Org/fix/internal-skills
fix(cli): restore built-in skill registration
2026-04-15 11:35:36 +03:00
Marius 9a0f30ecbd chore(cli): untrack models-snapshot files (#8947)
These files are already in .gitignore but were committed before the
rule was added. Remove them from tracking so the gitignore takes
effect and build-generated changes stop appearing in diffs.
2026-04-15 07:59:51 +00:00
Marian Alexandru Alecu c22eee3aba Merge branch 'main' into feat/suggest-code-review 2026-04-15 10:42:13 +03:00
Marian Alexandru Alecu b0a658ed11 Merge pull request #8671 from Kilo-Org/fix/skill-read-config-protection
fix(cli): stop config protection from blocking skill reads
2026-04-15 10:38:04 +03:00