Commit Graph
4549 Commits
Author SHA1 Message Date
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 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
Alex Alecu 4146932278 Merge remote-tracking branch 'origin/main' into feat/suggest-code-review
# Conflicts:
#	packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
#	packages/opencode/src/kilocode/tool/registry.ts
#	packages/opencode/src/session/processor.ts
#	packages/opencode/src/tool/registry.ts
2026-04-15 10:30:35 +03:00
Christiaan Arnoldus 7d932c347d Merge branch 'main' into session/agent_9864f1dc-ca7c-4243-877b-14d089b66f92 2026-04-15 09:07:22 +02:00
Marian Alexandru Alecu b882d352e6 Merge branch 'main' into fix/internal-skills 2026-04-15 09:45:43 +03:00
Catriel Müller 87ca280011 fix: typechecks 2026-04-14 17:25:37 -03:00
Catriel Müller 1c67e0fe71 resolve merge conflicts 2026-04-14 17:05:48 -03:00
Catriel Müller c9e0060e2a refactor: kilo compat for v1.4.3 2026-04-14 14:46:57 -03:00
Catriel Müller f3bc6e04f4 Merge pull request #8923 from Kilo-Org/imanolmaiztegui/kilo-opencode-v1.4.0
OpenCode v1.4.0
2026-04-14 14:42:45 -03:00
Marian Alexandru Alecu 5b98391dd5 Merge branch 'main' into tui-usage-info 2026-04-14 20:13:07 +03:00
Catriel Müller 7df2904b60 fix: vscode read tool align title 2026-04-14 13:52:10 -03:00
Alex Alecu 316a6473b6 fix(cli): add kilocode_change markers 2026-04-14 19:41:50 +03:00
Imanol Maiztegui 7ccf624a82 feat(vscode): resolve diff content from patch field in UI components
Update DiffVirtualApp and PermissionDiff to reconstruct before/after
content from the patch field when explicit before/after values are not
provided. Export the `text` helper from kilo-ui session-diff and add
`patch` to the PermissionFileDiff type.

In message-v2, refine stripMessageMetadata to only strip oversized
patches (exceeding MAX_DIFF_SIZE) rather than all patches, preserving
small patches so the UI can render inline diffs without additional
fetches.
2026-04-14 18:39:59 +02:00
Alex Alecu c1aca9a0cc fix(cli): log error in catch block 2026-04-14 19:27:13 +03:00
Alex Alecu 7cf2b36ba0 fix(cli): resolve merge conflicts with main 2026-04-14 19:26:28 +03:00
Imanol Maiztegui 4e115bf884 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.4.0 2026-04-14 18:25:59 +02:00
Alex Alecu 0f196e7af6 fix(cli): restore built-in skill registration lost in upstream merge 2026-04-14 18:48:08 +03:00
Christiaan Arnoldus e3455b344f Merge branch 'main' into session/agent_9864f1dc-ca7c-4243-877b-14d089b66f92 2026-04-14 17:41:37 +02:00
Imanol Maiztegui 0208a8880c feat: migrate diff schema to use patch field and consolidate model variant
Replace before/after content fields with unified patch field across
the diff pipeline. WorktreeDiff now generates patch strings via
createTwoFilesPatch, and all consumers (summary stripping, size
checks, content hashing, TUI sync, ingest queue) operate on the
patch field instead of before/after.

Consolidate model variant into the model object, removing the
separate variant field from MessageV2.User, PlanFollowup inject,
and resolveCodeModel interfaces.

Additional changes:
- Add session-diff module export to kilo-ui package
- Remove batch tool (batch.ts deleted)
- Fix WebSocket proxy to convert Uint8Array to ArrayBuffer
- Switch VscodeSessionTurn from useDiffComponent to useFileComponent
- Update SnapshotFileDiff type references in vscode extension
2026-04-14 17:33:06 +02:00
Josh Holmer 08be022cca Merge branch 'main' into tui-usage-info 2026-04-14 10:31:55 -04:00
Alex Alecu d3a7a857f5 fix(cli): whitelist global config dirs in external_directory permissions
Add Global.Path.config and legacy global dirs (~/.kilo, ~/.kilocode) to
the external_directory whitelist so agents can read global config,
commands, and skills without triggering a permission prompt.
2026-04-14 17:30:26 +03:00
Imanol Maiztegui fb48b5eae4 feat(sdk): add before and after fields to WorktreeDiffItem schema
Extend WorktreeDiffItem with `before` and `after` string properties
across the OpenAPI spec, generated TypeScript types, and the Zod
schema in worktree-diff.ts. Both fields are marked as required in
the JSON schema definition.
2026-04-14 16:28:45 +02:00
Marian Alexandru Alecu c36e91f278 Merge pull request #8782 from Kilo-Org/fix/cli-error-boundary-no-renderer
fix(cli): guard ErrorComponent against missing renderer context
2026-04-14 17:26:48 +03:00
Alex Alecu b45811d7ae Merge origin/main and adapt token usage to plugin architecture 2026-04-14 17:20:25 +03:00